Use libstdc++, libsupc++ and libgcc from gcc_syslibs.
* Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so from the gcc_syslibs build feature for everything except x86_gcc2. * Use libgcc_s.so from the gcc_syslibs build feature for everything but x86_gcc2 (which still carries libgcc as part of libroot.so). * Drop filtering of libgcc objects for libroot, as that is no longer necessary since we're only using libgcc-as-single-object for libroot with x86_gcc2, where the filtered object file doesn't exist. Should the objects that used to be filtered cause any problems as part of libgcc_s.so, we can always filter them as part of the gcc build. * Use libsupc++.so from the gcc_syslibs build feature for everything but x86_gcc2. * Adjust all Jamfiles accordingly. * Deactivate building of faked libstdc++.so for non-x86-gcc2. For x86_gcc2, we still build libstdc++.so from the sources in the Haiku source tree as part of the Haiku build . * Put gcc_syslibs package onto the image, when needed.
This commit is contained in:
@@ -48,9 +48,11 @@ rule KernelLd
|
||||
# libsupc++ is opt-out.
|
||||
local libs ;
|
||||
if ! [ on $(1) return $(HAIKU_NO_LIBSUPC++) ] {
|
||||
libs += $(TARGET_KERNEL_LIBSUPC++) ;
|
||||
libs += [ TargetKernelLibsupc++ true ] ;
|
||||
Depends $(1) : [ TargetKernelLibsupc++ ] ;
|
||||
}
|
||||
LINKLIBS on $(1) = $(libs) $(TARGET_KERNEL_LIBGCC) ;
|
||||
LINKLIBS on $(1) = $(libs) [ TargetKernelLibgcc true ] ;
|
||||
Depends $(1) : [ TargetKernelLibgcc ] ;
|
||||
|
||||
HAIKU_TARGET_IS_EXECUTABLE on $(1) = 1 ;
|
||||
|
||||
@@ -119,7 +121,8 @@ rule KernelAddon
|
||||
if $(PLATFORM) = haiku {
|
||||
kernel = <nogrist>kernel.so ;
|
||||
beginGlue = $(HAIKU_KERNEL_ADDON_BEGIN_GLUE_CODE) ;
|
||||
endGlue = $(HAIKU_KERNEL_ADDON_END_GLUE_CODE) ;
|
||||
endGlue
|
||||
= [ TargetKernelLibgcc ] $(HAIKU_KERNEL_ADDON_END_GLUE_CODE) ;
|
||||
} else if $(PLATFORM) = haiku_host {
|
||||
kernel = /boot/develop/lib/x86/kernel.so ;
|
||||
beginGlue = $(HAIKU_KERNEL_ADDON_BEGIN_GLUE_CODE) ;
|
||||
|
||||
Reference in New Issue
Block a user