2013/8/18 Ingo Weinhold <ingo_weinhold@xxxxxx>: > On 08/17/2013 03:28 PM, Axel Dörfler wrote: >> x86 would be the architecture, efi the platform. Since I'm pretty rusty >> when it comes to the build system, I don't know how exactly you would do >> this just for the boot loader. >> In any case, you are supposed to specify HAIKU_BOOT_PLATFORM=efi when >> building either when calling jam or in your user build config. >> There is (AFAIK) no way to use the "configure" script to do this yet. > > > Indeed. If you need to compile the boot loader for x86-64, then I think it > would be easiest, if you built a x86-64 Haiku, since the build system knows > only one compiler ATM. Ah, that clarifies a lot. We probably want an UEFI app distributed on all x86 images so we can install the EFI bootloader, maybe the efi platform should be a prebuilt package and the target built manually. > A few comments regarding your Jamfile: > This adds the paths to the main include search paths, not the system include > search paths. If headers are only needed locally, please put them with the > sources. There's also a UsePrivateHeaders which expects paths relative to > headers/private, so it may be preferable to use those here. Ah, that explains when to use UsePrivateHeaders. >> SubDirCcFlags -fno-pic -D_KERNEL_MODE ; > > > Why _KERNEL_MODE? I copy pasted it from somewhere, probably just so I'd have an example of setting flags and defines. >> local efi_glue_src = > > > While there are no official coding guidelines for Jam code, I'd suggest to > stick with the guidelines for C/C++ for local variables. Ok, I'll clean it up when I get it into something that runs. > I assume the target arch macro is required by the EFI sources/headers? The > preferred way to define macros is to add them to the DEFINES variable > (without the "-D"). Yes, IIRC it is used in one or two headers. Can probably be cleaned a bit later on. I think I know enough now to get an UEFI app building with Jam. Thanks. Fredrik Holmqvist, TQH