Use libbe_build also on Haiku
This means the build tools will no longer be built against the host platform's libbe, which avoids compatibility problems -- e.g. an older Haiku host libbe may not have certain features the build tools require -- and also makes the build behave more similiar on Haiku and other platforms. The host libroot dependency still remains and is not easy to get rid of. Also remove some bits of BeOS/Dano/Zeta build support.
This commit is contained in:
+3
-37
@@ -1,6 +1,5 @@
|
||||
SubDir HAIKU_TOP src tools ;
|
||||
|
||||
UseHeaders [ FDirName $(HAIKU_TOP) headers build ] : true ;
|
||||
UsePrivateBuildHeaders app storage ;
|
||||
|
||||
SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src/bin ] ;
|
||||
@@ -22,16 +21,6 @@ local tools =
|
||||
|
||||
USES_BE_API on $(tools) = true ;
|
||||
|
||||
# TODO: temporary kludge
|
||||
local libHaikuCompat ;
|
||||
if $(HOST_PLATFORM) in r5 bone dano {
|
||||
ObjectC++Flags database_support.cpp UpdateMimeInfoThread.cpp
|
||||
MimeUpdateThread.cpp
|
||||
: -include [ FDirName $(HAIKU_TOP) headers build
|
||||
HaikuBuildCompatibility.h ] ;
|
||||
libHaikuCompat = libhaikucompat_build.a ;
|
||||
}
|
||||
|
||||
BuildPlatformMain <build>catattr : catattr.cpp : $(HOST_LIBBE) ;
|
||||
|
||||
UsePrivateObjectHeaders copyattr.cpp : shared : : true ;
|
||||
@@ -55,34 +44,11 @@ BuildPlatformMain <build>generate_boot_screen :
|
||||
|
||||
BuildPlatformMain <build>listattr : listattr.cpp : $(HOST_LIBBE) ;
|
||||
|
||||
if $(HOST_PLATFORM_BEOS_COMPATIBLE) {
|
||||
AddResources <build>mimeset : mimeset.rdef ;
|
||||
}
|
||||
|
||||
local mimesetSources =
|
||||
mimeset.cpp
|
||||
# Mime.cpp
|
||||
# UpdateMimeInfoThread.cpp
|
||||
# MimeUpdateThread.cpp
|
||||
;
|
||||
|
||||
if $(HOST_PLATFORM) = haiku_host {
|
||||
mimesetSources += AppFileInfo.cpp ;
|
||||
}
|
||||
|
||||
BuildPlatformMain <build>mimeset :
|
||||
$(mimesetSources)
|
||||
: $(HOST_LIBBE) $(HOST_LIBSTDC++) $(HOST_LIBSUPC++) $(libHaikuCompat)
|
||||
mimeset.cpp
|
||||
: $(HOST_LIBBE) $(HOST_LIBSTDC++) $(HOST_LIBSUPC++)
|
||||
;
|
||||
|
||||
if $(HOST_PLATFORM_BEOS_COMPATIBLE) {
|
||||
SEARCH on [ FGristFiles AppFileInfo.cpp ]
|
||||
= [ FDirName $(HAIKU_TOP) src build libbe storage ] ;
|
||||
|
||||
SourceSysHdrs AppFileInfo.cpp UpdateMimeInfoThread.cpp
|
||||
: [ FDirName $(HAIKU_TOP) headers build os storage ] ;
|
||||
}
|
||||
|
||||
BuildPlatformMain <build>mkindex : mkindex.cpp : $(HOST_LIBBE) ;
|
||||
|
||||
BuildPlatformMain <build>rm_attrs_tmp : rm_attrs.cpp
|
||||
@@ -101,7 +67,7 @@ BuildPlatformMain <build>settype : settype.cpp : $(HOST_LIBBE)
|
||||
$(HOST_LIBSTDC++) $(HOST_LIBSUPC++) ;
|
||||
|
||||
BuildPlatformMain <build>setversion : setversion.cpp : $(HOST_LIBBE)
|
||||
$(HOST_LIBSTDC++) $(HOST_LIBSUPC++) $(libHaikuCompat) ;
|
||||
$(HOST_LIBSTDC++) $(HOST_LIBSUPC++) ;
|
||||
|
||||
BuildPlatformMain <build>xres : xres.cpp : $(HOST_LIBBE) $(HOST_LIBSTDC++)
|
||||
$(HOST_LIBSUPC++) ;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
SubDir HAIKU_TOP src tools keymap ;
|
||||
|
||||
UseHeaders [ FDirName $(HAIKU_TOP) headers build ] : true ;
|
||||
UsePrivateBuildHeaders shared storage ;
|
||||
|
||||
SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src bin keymap ] ;
|
||||
@@ -8,23 +7,17 @@ SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src bin keymap ] ;
|
||||
USES_BE_API on <build>keymap = true ;
|
||||
|
||||
local regexSources ;
|
||||
local storageSources ;
|
||||
|
||||
if $(HOST_PLATFORM) = cygwin || $(HOST_PLATFORM) = sunos {
|
||||
UseHeaders [ FDirName $(HAIKU_TOP) src system libroot posix glibc regex ] ;
|
||||
SubDirCcFlags -D__USE_GNU -DHAVE_STDBOOL_H ;
|
||||
regexSources = regex.c ;
|
||||
}
|
||||
if $(HOST_PLATFORM) = haiku_host {
|
||||
# those are missing from early Haiku builds
|
||||
storageSources = FileIO.cpp ;
|
||||
}
|
||||
|
||||
BuildPlatformMain <build>keymap :
|
||||
main.cpp
|
||||
Keymap.cpp
|
||||
$(regexSources)
|
||||
$(storageSources)
|
||||
: libshared_build.a $(HOST_LIBSTDC++) $(HOST_LIBSUPC++)
|
||||
;
|
||||
|
||||
@@ -32,6 +25,3 @@ LinkAgainst <build>keymap : $(HOST_LIBBE) ;
|
||||
|
||||
SEARCH on [ FGristFiles $(regexSources) ]
|
||||
= [ FDirName $(HAIKU_TOP) src system libroot posix glibc regex ] ;
|
||||
|
||||
SEARCH on [ FGristFiles $(storageSources) ]
|
||||
= [ FDirName $(HAIKU_TOP) src kits storage ] ;
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
SubDir HAIKU_TOP src tools package ;
|
||||
|
||||
# TODO: Hack to make things build on Haiku. The right solution is to build
|
||||
# libbe_build and friends on Haiku as well and use the exact same build
|
||||
# environment as on other systems.
|
||||
if $(HOST_PLATFORM) = haiku_host {
|
||||
UseHeaders [ FDirName $(HAIKU_TOP) headers build ] : true ;
|
||||
UseHeaders [ FDirName $(HAIKU_TOP) headers build os ] : true ;
|
||||
}
|
||||
|
||||
UsePrivateBuildHeaders shared kernel ;
|
||||
|
||||
SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src bin package ] ;
|
||||
|
||||
@@ -15,19 +15,9 @@ SubDirC++Flags -include $(r5Compatibility) ;
|
||||
BuildPlatformStaticLibrary <build>librdef.a :
|
||||
compile.cpp decompile.cpp lexer.l parser.y rdef.cpp ;
|
||||
|
||||
# On BeOS incompatible platforms we implicitly link against libroot_build.so,
|
||||
# which does already include the strl*() routines.
|
||||
local strlSources ;
|
||||
if $(HOST_PLATFORM_BEOS_COMPATIBLE) {
|
||||
strlSources = strlcpy.c strlcat.c ;
|
||||
}
|
||||
|
||||
BuildPlatformMain <build>rc :
|
||||
rc.cpp
|
||||
|
||||
# these two are needed for R5 only
|
||||
$(strlSources)
|
||||
|
||||
: <build>librdef.a $(HOST_LIBSTDC++) $(HOST_LIBBE) $(HOST_LIBSUPC++)
|
||||
;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user