xref: /haiku/src/build/libroot/Jamfile (revision c80809a3ab0b0a2ce53ea861a2b00ace24ff452d)
1SubDir HAIKU_TOP src build libroot ;
2
3UseHeaders [ FDirName $(HAIKU_TOP) headers build ] : true ;
4UseHeaders [ FDirName $(HAIKU_TOP) headers build os ] : true ;
5UseHeaders [ FDirName $(HAIKU_TOP) headers build os app ] : true ;
6UseHeaders [ FDirName $(HAIKU_TOP) headers build os drivers ] : true ;
7UseHeaders [ FDirName $(HAIKU_TOP) headers build os kernel ] : true ;
8UseHeaders [ FDirName $(HAIKU_TOP) headers build os interface ] : true ;
9UseHeaders [ FDirName $(HAIKU_TOP) headers build os storage ] : true ;
10UseHeaders [ FDirName $(HAIKU_TOP) headers build os support ] : true ;
11
12UsePrivateBuildHeaders kernel ;
13
14{
15	local defines = [ FDefines
16		HAIKU_BUILD_ATTRIBUTES_DIR="\\\"$(HAIKU_BUILD_ATTRIBUTES_DIR)\\\""
17	] ;
18	SubDirCcFlags $(defines) ;
19	SubDirC++Flags $(defines) ;
20}
21
22DEFINES += KMESSAGE_CONTAINER_ONLY ;
23ObjectC++Flags KMessage.cpp : $(HOST_BE_API_C++FLAGS) ;
24
25# locate the library
26MakeLocate libroot_build.so : $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ;
27
28# darwin already has strlcpy and strlcat in libSystem
29local strlSources ;
30if $(HOST_PLATFORM) != darwin {
31	strlSources = strlcpy.c strlcat.c ;
32}
33
34if $(HOST_PLATFORM) = cygwin || $(HOST_PLATFORM) = sunos {
35	strlSources += stpcpy.c strcasestr.c ;
36}
37
38local hostPlatformSources ;
39if $(HOST_PLATFORM) = freebsd {
40	hostPlatformSources = fs_freebsd.cpp ;
41}
42
43local librootSources =
44	atomic.cpp
45	byteorder.cpp
46	errors.cpp
47	fs.cpp
48	fs_attr.cpp
49	fs_descriptors.cpp
50	misc.cpp
51	sem.cpp
52	thread.cpp
53
54	$(hostPlatformSources)
55
56	$(strlSources)
57	strnlen.c
58
59	KMessage.cpp
60;
61
62BuildPlatformSharedLibrary libroot_build.so :
63	$(librootSources)
64	:
65	$(HOST_LIBSUPC++) $(HOST_LIBSTDC++)
66;
67
68BuildPlatformStaticLibrary libroot_build.a :
69	:
70	[ FGristFiles $(librootSources:S=$(SUFOBJ)) ]
71;
72
73SEARCH on [ FGristFiles $(strlSources) strnlen.c ]
74	= [ FDirName $(HAIKU_TOP) src system libroot posix string ] ;
75SEARCH on [ FGristFiles KMessage.cpp ]
76    = [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;
77