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) ; 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 ; local object ;
for object in $(objects) { for object in $(objects) {
# add boot flags for the object # add boot flags for the object

12
configure vendored
View File

@ -315,11 +315,19 @@ standard_gcc_settings()
local bootLibgcc local bootLibgcc
local bootLibSupCxx local bootLibSupCxx
local bootCxxHeaders
case $gccMachine in case $gccMachine in
x86_64-*) 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` bootLibgcc=`$gcc -m32 -print-libgcc-file-name`
bootLibSupCxx=`$gcc -m32 -print-file-name=libsupc++.a` 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 bootLibgcc=$libgcc
@ -360,6 +368,7 @@ standard_gcc_settings()
set_variable HAIKU_KERNEL_LIBGCC_$targetArch $kernelLibgcc set_variable HAIKU_KERNEL_LIBGCC_$targetArch $kernelLibgcc
set_variable HAIKU_CXX_HEADERS_DIR_$targetArch "$cxxHeaders" set_variable HAIKU_CXX_HEADERS_DIR_$targetArch "$cxxHeaders"
set_variable HAIKU_BOOT_LIBGCC_$targetArch $bootLibgcc set_variable HAIKU_BOOT_LIBGCC_$targetArch $bootLibgcc
set_variable HAIKU_BOOT_CXX_HEADERS_DIR_$targetArch "$bootCxxHeaders"
set_variable HAIKU_USE_GCC_GRAPHITE_$targetArch $useGraphite set_variable HAIKU_USE_GCC_GRAPHITE_$targetArch $useGraphite
standard_gcc_settings_targetArch=$targetArch standard_gcc_settings_targetArch=$targetArch
@ -922,6 +931,7 @@ for targetArch in $HAIKU_PACKAGING_ARCHS; do
variables=" variables="
HAIKU_GCC_HEADERS_DIR HAIKU_GCC_HEADERS_DIR HAIKU_GCC_HEADERS_DIR HAIKU_GCC_HEADERS_DIR
HAIKU_C++_HEADERS_DIR HAIKU_CXX_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 HAIKU_GCC_LIBGCC_OBJECTS HAIKU_GCC_LIBGCC_OBJECTS
" "
set -- $variables set -- $variables