ca9e5772c3
Library names are now mapped for all targets but "host" (not only for "haiku") -- added one more level of indirection to achieve that. (TARGET_LIBRARY_NAME_MAP -> *_LIBRARY_NAME_MAP_*). * Renamed build/HaikuBuildCompatibility.h to BeOSBuildCompatibility.h (auto-included when compiling something that uses the Be API for platform "host" on anon-BeOS platform), and introduced build/HaikuBuildCompatibility.h, which can be included when compiling something that can be built for both, Haiku and BeOS compatible platforms. * Introduced libhaikucompat.a, a library that adds a few functions existing under Haiku, but not under BeOS. * New rule AddSubDirSupportedPlatforms. * Renamed libopenbeos.so to libbe_haiku.so. * Introduced new target platform "libbe_test", which is basically equivalent to a BeOS compatible host platform target, with the exception, that instead of the host platform's libbe.so a special build of Haiku's libbe.so (libbe_haiku.so (formerly known as libopenbeos.so)) is used. Furthermore Haiku's public app, interface, storage, and support kit headers are used when compiling. This replaces the less nice way in which the test app server and applications for this test environment were built. When building for platform "libbe_test", the library name "be" is autotranslated to "libbe_haiku.so". Thus most applications don't need special fiddling when them building them for the app server test environment; usually an "AddSubDirSupportedPlatforms libbe_test ;" will suffice. * Reduced the dependencies of <syscalls.h> and fixed problems caused by this (e.g. source files not including the needed headers directly). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14749 a95241bf-73f2-0310-859d-f6bbb57e9c96
96 lines
2.7 KiB
Plaintext
96 lines
2.7 KiB
Plaintext
SubDir HAIKU_TOP src kits ;
|
|
|
|
# If defined allows to run applications without the registrar
|
|
# -- for development only, of course.
|
|
if $(RUN_WITHOUT_REGISTRAR) {
|
|
local defines = [ FDefines RUN_WITHOUT_REGISTRAR ] ;
|
|
SubDirCcFlags $(defines) ;
|
|
SubDirC++Flags $(defines) ;
|
|
}
|
|
|
|
# If defined allows to run applications without the app server
|
|
# -- needed until the app server runs on our kernel.
|
|
RUN_WITHOUT_APP_SERVER ?= 0 ;
|
|
if $(RUN_WITHOUT_APP_SERVER) != 0 {
|
|
local defines = [ FDefines RUN_WITHOUT_APP_SERVER ] ;
|
|
SubDirCcFlags $(defines) ;
|
|
SubDirC++Flags $(defines) ;
|
|
}
|
|
|
|
UsePrivateHeaders [ FDirName kernel util ] ; # For KMessage.h
|
|
UsePrivateHeaders syslog_daemon ; # For syslog.cpp
|
|
|
|
# Build our libbe.so
|
|
|
|
AddResources libbe.so : libbe_version.rdef ;
|
|
|
|
SharedLibrary libbe.so :
|
|
KMessage.cpp
|
|
:
|
|
<libbe>app_kit.o
|
|
<libbe>interface_kit.o
|
|
<libbe>storage_kit.o
|
|
<libbe>storage_diskdevice_kit.o
|
|
<libbe>support_kit.o
|
|
|
|
libroot.so # make sure it links against our libroot.so
|
|
$(TARGET_LIBSTDC++)
|
|
;
|
|
|
|
# Build libbe_haiku.so
|
|
|
|
SetSupportedPlatformsForTarget libbe_haiku.so : libbe_test ;
|
|
|
|
if $(TARGET_PLATFORM) = libbe_test {
|
|
local syslog = [ FGristFiles syslog.o ] ;
|
|
# Remove _NO_INLINE_ASM from the defines for syslog.cpp. Otherwise we get
|
|
# references to tls_get/set() etc. that don't exist under BeOS.
|
|
TARGET_DEFINES on $(syslog)
|
|
= [ on $(syslog) FFilter $(TARGET_DEFINES) : _NO_INLINE_ASM ] ;
|
|
|
|
# We need to use our <syslog.h>, because the syslog() prototype differs
|
|
# from the BeOS one.
|
|
TARGET_DEFINES on $(syslog) += _SYS_LOG_H ;
|
|
TARGET_C++FLAGS on $(syslog) = [ on $(syslog) return $(TARGET_C++FLAGS) ]
|
|
-include [ FDirName $(HAIKU_TOP) headers posix syslog.h ] ;
|
|
}
|
|
|
|
SharedLibrary libbe_haiku.so :
|
|
KMessage.cpp
|
|
syslog.cpp
|
|
:
|
|
<libbe>app_kit.o
|
|
<libbe>interface_kit.o
|
|
<libbe>storage_kit.o
|
|
<libbe>support_kit.o
|
|
|
|
libbeadapter.so
|
|
net
|
|
$(TARGET_LIBSTDC++)
|
|
;
|
|
|
|
SEARCH on [ FGristFiles KMessage.cpp ]
|
|
= [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;
|
|
|
|
SEARCH on [ FGristFiles syslog.cpp ]
|
|
= [ FDirName $(HAIKU_TOP) src system libroot posix ] ;
|
|
|
|
|
|
SubInclude HAIKU_TOP src kits app ;
|
|
SubInclude HAIKU_TOP src kits debug ;
|
|
SubInclude HAIKU_TOP src kits device ;
|
|
SubInclude HAIKU_TOP src kits game ;
|
|
SubInclude HAIKU_TOP src kits interface ;
|
|
SubInclude HAIKU_TOP src kits mail ;
|
|
SubInclude HAIKU_TOP src kits media ;
|
|
SubInclude HAIKU_TOP src kits midi ;
|
|
SubInclude HAIKU_TOP src kits midi2 ;
|
|
SubInclude HAIKU_TOP src kits network ;
|
|
SubInclude HAIKU_TOP src kits opengl ;
|
|
SubInclude HAIKU_TOP src kits screensaver ;
|
|
SubInclude HAIKU_TOP src kits storage ;
|
|
SubInclude HAIKU_TOP src kits support ;
|
|
SubInclude HAIKU_TOP src kits textencoding ;
|
|
SubInclude HAIKU_TOP src kits tracker ;
|
|
SubInclude HAIKU_TOP src kits translation ;
|