build: Use libroot_build on Haiku.
Previously we just used the system libroot, which of course meant that when libroot's ABI changed, the build broke. Now we use the full libroot_build that we do on non-Haiku platforms. The logic for "BeOS-compatible but not Haiku" does not really apply anymore, so it has been gutted where appropriate (and libhaikucompat has been decoupled from the build.) The only caveat here is the change to Errors.h -- we really should be using the system's one where I included the one from the tree, but for whatever reason, GCC2 refused to handle the #include_next properly. Fixes the build breakage of Haiku-on-Haiku by my prior commits (sorry).
This commit is contained in:
@@ -417,6 +417,10 @@ HOST_BUILD_COMPATIBILITY_LIB_DIR = [ FDirName $(HOST_OBJECT_BASE_DIR) lib ] ;
|
||||
# also removes the attributes.
|
||||
HOST_RM_ATTRS_TARGET = ;
|
||||
|
||||
HOST_LIBROOT = libroot_build_function_remapper.a libroot_build.so ;
|
||||
HOST_STATIC_LIBROOT = libroot_build_function_remapper.a libroot_build.a ;
|
||||
HOST_LIBBE = libbe_build.so ;
|
||||
|
||||
if $(HOST_PLATFORM_BEOS_COMPATIBLE) {
|
||||
# the C++ standard and support libraries
|
||||
if $(HOST_GCC_VERSION[1]) < 3 {
|
||||
@@ -427,9 +431,6 @@ if $(HOST_PLATFORM_BEOS_COMPATIBLE) {
|
||||
HOST_LIBSUPC++ = supc++ ;
|
||||
}
|
||||
|
||||
HOST_LIBROOT = root ;
|
||||
HOST_STATIC_LIBROOT = $(HOST_LIBROOT) ;
|
||||
HOST_LIBBE = libbe_build.so ;
|
||||
HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR
|
||||
= "export LIBRARY_PATH=$LIBRARY_PATH:$(HOST_BUILD_COMPATIBILITY_LIB_DIR)" ;
|
||||
HOST_PTHREAD_LINKFLAGS = ;
|
||||
@@ -440,15 +441,9 @@ if $(HOST_PLATFORM_BEOS_COMPATIBLE) {
|
||||
HaikuBuildCompatibility.h ] ;
|
||||
HOST_CCFLAGS += $(compatibilityHeader) ;
|
||||
HOST_C++FLAGS += $(compatibilityHeader) ;
|
||||
|
||||
# compatibility library
|
||||
HOST_HAIKU_COMPATIBILITY_LIBS = libhaikucompat.a ;
|
||||
} else {
|
||||
HOST_LINKFLAGS += -lm ;
|
||||
HOST_LIBSTDC++ = stdc++ ;
|
||||
HOST_LIBROOT = libroot_build_function_remapper.a libroot_build.so ;
|
||||
HOST_STATIC_LIBROOT = libroot_build_function_remapper.a libroot_build.a ;
|
||||
HOST_LIBBE = libbe_build.so ;
|
||||
if $(HOST_PLATFORM) = cygwin {
|
||||
HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR
|
||||
= "export PATH=$PATH:$(HOST_BUILD_COMPATIBILITY_LIB_DIR)" ;
|
||||
|
||||
@@ -650,11 +650,9 @@ rule BuildPlatformMain
|
||||
USES_BE_API on $(objects) = $(usesBeAPI) ;
|
||||
|
||||
# add the build libroot
|
||||
if ! $(HOST_PLATFORM_BEOS_COMPATIBLE) {
|
||||
local libroot = [ on $(target) return $(HOST_LIBROOT) ] ;
|
||||
Depends $(target) : $(libroot) ;
|
||||
NEEDLIBS on $(target) += $(libroot) ;
|
||||
}
|
||||
local libroot = [ on $(target) return $(HOST_LIBROOT) ] ;
|
||||
Depends $(target) : $(libroot) ;
|
||||
NEEDLIBS on $(target) += $(libroot) ;
|
||||
}
|
||||
|
||||
Main $(target) : $(sources) ;
|
||||
|
||||
Reference in New Issue
Block a user