added 1 changeset to branch 'refs/remotes/tqh-github/efi' old head: 734235c8e9d7ff53970372f1cb0109a0a498061a new head: 90d9a253af4e6d0af2fe083cbeba02ca46ee661f overview: https://github.com/tqh/haiku/compare/734235c...90d9a25 ---------------------------------------------------------------------------- 90d9a25: Make use of HAIKU_BOOT_PLATFORM to build EFI boot platform. Moving from proof of concept EFI building to a proper boot platform. * Fix missing paranthesis in if case in BuildSetup. * Adding efi setup of compiler flags in BuildSetup * Remove efi compiler flags from efi Jamfile. You now build haiku.efi by passing -sHAIKU_BOOT_PLATFORM=efi to jam: jam -sHAIKU_BOOT_PLATFORM=efi haiku.efi Coming up, more work to be a proper boot platform.. [ Fredrik Holmqvist <fredrik.holmqvist@xxxxxxxxx> ] ---------------------------------------------------------------------------- Commit: 90d9a253af4e6d0af2fe083cbeba02ca46ee661f Author: Fredrik Holmqvist <fredrik.holmqvist@xxxxxxxxx> Date: Sat Sep 7 12:11:41 2013 UTC ---------------------------------------------------------------------------- 2 files changed, 8 insertions(+), 13 deletions(-) build/jam/BuildSetup | 9 ++++++++- src/system/boot/platform/efi/Jamfile | 12 ------------ ---------------------------------------------------------------------------- diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup index 057d528..bace451 100644 --- a/build/jam/BuildSetup +++ b/build/jam/BuildSetup @@ -419,7 +419,7 @@ switch $(HAIKU_ARCH) { HAIKU_KERNEL_PIC_LINKFLAGS += -z max-page-size=0x1000 ; HAIKU_KERNEL_ADDON_LINKFLAGS += -z max-page-size=0x1000 ; - if $HAIKU_BOOT_PLATFORM = bios_ia32 { + if $(HAIKU_BOOT_PLATFORM) = bios_ia32 { # Bootloader is 32-bit. HAIKU_BOOT_LINKFLAGS += -m elf_i386_haiku ; HAIKU_BOOT_CCFLAGS += -m32 -march=pentium ; @@ -432,6 +432,13 @@ switch $(HAIKU_ARCH) { } } +if $(HAIKU_BOOT_PLATFORM) = efi { + HAIKU_BOOT_CCFLAGS += -fno-stack-protector -fPIC -fshort-wchar -mno-red-zone + -maccumulate-outgoing-args ; + HAIKU_BOOT_C++FLAGS += -fno-stack-protector -fPIC -fshort-wchar -mno-red-zone + -maccumulate-outgoing-args ; +} + # If the environment variable HAIKU_INCLUDE_PATENTED_CODE is defined, we # define an equally named macro to the variable value. Some components use the # macro to allow compilation of code known to implemented patented ideas and/or diff --git a/src/system/boot/platform/efi/Jamfile b/src/system/boot/platform/efi/Jamfile index 15dcfb0..45cef95 100644 --- a/src/system/boot/platform/efi/Jamfile +++ b/src/system/boot/platform/efi/Jamfile @@ -12,10 +12,6 @@ UsePrivateHeaders [ FDirName kernel boot platform efi arch $(TARGET_ARCH) ] ; SubDirC++Flags $(defines) -fno-rtti ; } -local TARGET_BOOT_CCFLAGS = ; -local TARGET_BOOT_C++FLAGS = ; -local TARGET_BOOT_LINKFLAGS = ; - local efi_glue_src = relocation_func.cpp start_func.S @@ -24,14 +20,6 @@ local efi_glue_src = BootMergeObject boot_platform_efi.o : start.c $(efi_glue_src) - : - -fPIC - -fshort-wchar - -ffreestanding - -fno-stack-protector - -m64 - -mno-red-zone - -maccumulate-outgoing-args ; BootLd haiku_efi_bootloader.so