Removal of non-Haiku target platform logic from build system (part 1.)

Following recent changes to use libroot_build on Haiku also, it is now
actually impossible to build Haiku components on non-Haiku platforms
(BeOS R5, Dan0, BONE, Zeta), so we can remove any logic related to this.

This is only the first part; still to be removed are:
 * SetSubDirSupportedPlatformsBeOSCompatible
 * HOST_PLATFORM_BEOS_COMPATIBLE
 * TARGET_PLATFORM_BEOS_COMPATIBLE
This commit is contained in:
Augustin Cavalier
2017-12-31 16:14:22 -05:00
parent 1446507ce3
commit 8a9e1e0d4a
55 changed files with 33 additions and 434 deletions
+18 -83
View File
@@ -402,8 +402,7 @@ HOST_PRIVATE_KERNEL_HEADERS = ;
HOST_PRIVATE_SYSTEM_HEADERS = ;
# under BeOS use copyattr instead of cp
if $(HOST_PLATFORM_BEOS_COMPATIBLE)
{
if $(HOST_PLATFORM_BEOS_COMPATIBLE) {
CP = copyattr --data ;
}
@@ -531,14 +530,6 @@ if $(HOST_PLATFORM_HAIKU_COMPATIBLE) {
HOST_NETWORK_LIBS = network ;
HOST_NETAPI_LIB = bnetapi ;
HOST_SELECT_UNAME_ETC_LIB = ; # libroot
} else if $(HOST_PLATFORM_BONE_COMPATIBLE) {
HOST_NETWORK_LIBS = socket bind ;
HOST_NETAPI_LIB = bnetapi ;
HOST_SELECT_UNAME_ETC_LIB = ; # libroot
} else if $(HOST_PLATFORM_BEOS_COMPATIBLE) {
HOST_NETWORK_LIBS = net ;
HOST_NETAPI_LIB = netapi ;
HOST_SELECT_UNAME_ETC_LIB = net ;
} else if $(HOST_PLATFORM) = "sunos" {
HOST_NETWORK_LIBS = xnet ;
HOST_NETAPI_LIB = ;
@@ -601,7 +592,7 @@ HOST_BE_API_HEADERS =
[ FDirName $(HAIKU_TOP) headers build os support ]
[ FDirName $(HAIKU_TOP) headers build private ]
;
if ! $(HOST_PLATFORM_BEOS_COMPATIBLE) {
if ! $(HOST_PLATFORM_HAIKU_COMPATIBLE) {
HOST_BE_API_CCFLAGS = -include BeOSBuildCompatibility.h ;
HOST_BE_API_C++FLAGS = $(HOST_BE_API_CCFLAGS) ;
}
@@ -613,15 +604,6 @@ if ! $(HOST_PLATFORM_BEOS_COMPATIBLE) {
# check the target platform compatibility
SetPlatformCompatibilityFlagVariables TARGET_PLATFORM : TARGET : target ;
# check the compatibility between host and target platform
if $(TARGET_PLATFORM) != haiku {
if ! $(HOST_PLATFORM_($(TARGET_PLATFORM))_COMPATIBLE) {
Exit ERROR: The host platform is not compatible with target platform
$(TARGET_PLATFORM). ;
}
}
# Haiku architecture is undefined on host-only builds
# set here to host arch to prevent recusive loops.
if $(HAIKU_HOST_BUILD_ONLY) = 1 {
@@ -680,68 +662,36 @@ local archDependentBuildVars =
DEBUG_$(HAIKU_DEBUG_LEVELS)_OBJECT_DIR
;
if $(TARGET_PLATFORM) = haiku {
local var ;
for var in $(buildVars) {
TARGET_$(var) = $(HAIKU_$(var)) ;
}
# target platform setup
local var ;
for var in $(buildVars) {
TARGET_$(var) = $(HAIKU_$(var)) ;
}
for var in $(archDependentBuildVars)_$(TARGET_PACKAGING_ARCHS) {
TARGET_$(var) = $(HAIKU_$(var)) ;
}
for var in $(archDependentBuildVars)_$(TARGET_PACKAGING_ARCHS) {
TARGET_$(var) = $(HAIKU_$(var)) ;
}
TARGET_BOOT_LIBGCC = $(HAIKU_BOOT_LIBGCC_$(TARGET_PACKAGING_ARCH)) ;
TARGET_BOOT_LIBSUPC++ = $(HAIKU_BOOT_LIBSUPC++_$(TARGET_PACKAGING_ARCH)) ;
TARGET_BOOT_LIBGCC = $(HAIKU_BOOT_LIBGCC_$(TARGET_PACKAGING_ARCH)) ;
TARGET_BOOT_LIBSUPC++ = $(HAIKU_BOOT_LIBSUPC++_$(TARGET_PACKAGING_ARCH)) ;
TARGET_BOOT_PLATFORM ?= $(HAIKU_BOOT_PLATFORM) ;
TARGET_BOOT_PLATFORM ?= $(HAIKU_BOOT_PLATFORM) ;
local architecture ;
for architecture in $(TARGET_PACKAGING_ARCHS) {
TARGET_DEFINES_$(architecture) = $(HAIKU_DEFINES_$(architecture)) ;
TARGET_LIBRARY_NAME_MAP_$(architecture)
= HAIKU_LIBRARY_NAME_MAP_$(architecture) ;
}
} else {
local var ;
for var in $(buildVars) {
TARGET_$(var) = $(HOST_$(var)) ;
}
for var in $(archDependentBuildVars) {
TARGET_$(var)_$(TARGET_PACKAGING_ARCH) = $(HOST_$(var)) ;
}
TARGET_BOOT_LIBGCC = ;
TARGET_BOOT_LIBSUPC++ = ;
TARGET_BOOT_PLATFORM = ;
TARGET_DEFINES_$(TARGET_PACKAGING_ARCH) = ;
# all flags are in TARGET_DEFINES
TARGET_LIBRARY_NAME_MAP_$(TARGET_PACKAGING_ARCH) = HOST_LIBRARY_NAME_MAP ;
local architecture ;
for architecture in $(TARGET_PACKAGING_ARCHS) {
TARGET_DEFINES_$(architecture) = $(HAIKU_DEFINES_$(architecture)) ;
TARGET_LIBRARY_NAME_MAP_$(architecture)
= HAIKU_LIBRARY_NAME_MAP_$(architecture) ;
}
# define macro, for identifying the platform
switch $(TARGET_PLATFORM) {
case r5 : TARGET_DEFINES += HAIKU_TARGET_PLATFORM_BEOS ;
case bone : TARGET_DEFINES += HAIKU_TARGET_PLATFORM_BONE ;
case dano : TARGET_DEFINES += HAIKU_TARGET_PLATFORM_DANO ;
case haiku_host : TARGET_DEFINES += HAIKU_TARGET_PLATFORM_HAIKU ;
case haiku : TARGET_DEFINES += HAIKU_TARGET_PLATFORM_HAIKU ;
case linux : TARGET_DEFINES += HAIKU_TARGET_PLATFORM_LINUX ;
case freebsd : TARGET_DEFINES += HAIKU_TARGET_PLATFORM_FREEBSD ;
case darwin : TARGET_DEFINES += HAIKU_TARGET_PLATFORM_DARWIN ;
case cygwin : TARGET_DEFINES += HAIKU_TARGET_PLATFORM_CYGWIN ;
case sunos : TARGET_DEFINES += HAIKU_TARGET_PLATFORM_SUNOS ;
case libbe_test : TARGET_DEFINES += HAIKU_TARGET_PLATFORM_LIBBE_TEST ;
}
# define macro, for identifying the host platform
switch $(HOST_PLATFORM) {
case r5 : HOST_DEFINES += HAIKU_HOST_PLATFORM_BEOS ;
case bone : HOST_DEFINES += HAIKU_HOST_PLATFORM_BONE ;
case dano : HOST_DEFINES += HAIKU_HOST_PLATFORM_DANO ;
case haiku_host : HOST_DEFINES += HAIKU_HOST_PLATFORM_HAIKU ;
case linux : HOST_DEFINES += HAIKU_HOST_PLATFORM_LINUX ;
case freebsd : HOST_DEFINES += HAIKU_HOST_PLATFORM_FREEBSD ;
@@ -761,21 +711,6 @@ HOST_DEFINES += HAIKU_PACKAGING_ARCH=\\\"$(HAIKU_PACKAGING_ARCH)\\\" ;
#pragma mark -
# In case we build for a BeOS compatible platform, but not for Haiku, we
# include the HaikuBuildCompatibility.h header and link against
# libhaikucompat.a.
if ! $(TARGET_PLATFORM_HAIKU_COMPATIBLE) && $(TARGET_PLATFORM_BEOS_COMPATIBLE) {
# headers and flags
local compatibilityHeader = -include [ FDirName $(HAIKU_TOP) headers build
HaikuBuildCompatibility.h ] ;
TARGET_CCFLAGS_$(TARGET_PACKAGING_ARCH) += $(compatibilityHeader) ;
TARGET_C++FLAGS_$(TARGET_PACKAGING_ARCH) += $(compatibilityHeader) ;
# compatibility library
TARGET_HAIKU_COMPATIBILITY_LIBS = libhaikucompat.a ;
}
# special target libbe_test
if $(TARGET_PLATFORM) = libbe_test {