x86_64: include the "32" dir when targeting 32-bit

* helps with building boot loader with GCC 4.8
This commit is contained in:
Jérôme Duval 2014-01-15 22:41:27 +01:00
parent 00b65b2d7b
commit 66a7f29f59
2 changed files with 16 additions and 1 deletions

View File

@ -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

12
configure vendored
View File

@ -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