From 66a7f29f59a4b9a9d014f77aeeb64f27a479200a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Wed, 15 Jan 2014 22:41:27 +0100 Subject: [PATCH] x86_64: include the "32" dir when targeting 32-bit * helps with building boot loader with GCC 4.8 --- build/jam/BootRules | 5 +++++ configure | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/build/jam/BootRules b/build/jam/BootRules index de5f677844..82dda79291 100644 --- a/build/jam/BootRules +++ b/build/jam/BootRules @@ -15,6 +15,11 @@ rule SetupBoot SourceSysHdrs $(sources) : $(TARGET_PRIVATE_KERNEL_HEADERS) ; } + if $(HAIKU_BOOT_C++_HEADERS_DIR_$(TARGET_PACKAGING_ARCH)) { + SourceSysHdrs $(sources) : + $(HAIKU_BOOT_C++_HEADERS_DIR_$(TARGET_PACKAGING_ARCH)) ; + } + local object ; for object in $(objects) { # add boot flags for the object diff --git a/configure b/configure index c7f9a1a883..3812c785c6 100755 --- a/configure +++ b/configure @@ -315,11 +315,19 @@ standard_gcc_settings() local bootLibgcc local bootLibSupCxx + local bootCxxHeaders case $gccMachine in x86_64-*) - # Boot loader is 32-bit, need the 32-bit libs. + # Boot loader is 32-bit, need the 32-bit libs and c++ config bootLibgcc=`$gcc -m32 -print-libgcc-file-name` bootLibSupCxx=`$gcc -m32 -print-file-name=libsupc++.a` + + local headersBase=$gccdir/../../../.. + local headers=$headersBase/$gccMachine/include/c++/$gccRawVersion + if [ ! -d $headers ]; then + headers=$headersBase/include/c++/$gccRawVersion + fi + bootCxxHeaders="$headers/$gccMachine/32" ;; *) bootLibgcc=$libgcc @@ -360,6 +368,7 @@ standard_gcc_settings() set_variable HAIKU_KERNEL_LIBGCC_$targetArch $kernelLibgcc set_variable HAIKU_CXX_HEADERS_DIR_$targetArch "$cxxHeaders" set_variable HAIKU_BOOT_LIBGCC_$targetArch $bootLibgcc + set_variable HAIKU_BOOT_CXX_HEADERS_DIR_$targetArch "$bootCxxHeaders" set_variable HAIKU_USE_GCC_GRAPHITE_$targetArch $useGraphite standard_gcc_settings_targetArch=$targetArch @@ -922,6 +931,7 @@ for targetArch in $HAIKU_PACKAGING_ARCHS; do variables=" HAIKU_GCC_HEADERS_DIR HAIKU_GCC_HEADERS_DIR HAIKU_C++_HEADERS_DIR HAIKU_CXX_HEADERS_DIR + HAIKU_BOOT_C++_HEADERS_DIR HAIKU_BOOT_CXX_HEADERS_DIR HAIKU_GCC_LIBGCC_OBJECTS HAIKU_GCC_LIBGCC_OBJECTS " set -- $variables