xref: /haiku/src/build/libroot/Jamfile (revision cfc3fa87da824bdf593eb8b817a83b6376e77935)
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 kernel ] : true ;
7UseHeaders [ FDirName $(HAIKU_TOP) headers build os interface ] : true ;
8UseHeaders [ FDirName $(HAIKU_TOP) headers build os storage ] : true ;
9UseHeaders [ FDirName $(HAIKU_TOP) headers build os support ] : true ;
10
11UseHeaders [ FDirName $(HAIKU_TOP) headers build private kernel ] : true ;
12
13{
14	local defines = [ FDefines
15		HAIKU_BUILD_ATTRIBUTES_DIR="\\\"$(HAIKU_BUILD_ATTRIBUTES_DIR)\\\""
16	] ;
17	SubDirCcFlags $(defines) ;
18	SubDirC++Flags $(defines) ;
19}
20
21# locate the library
22MakeLocate libroot_build.so : $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ;
23
24# darwin already has strlcpy and strlcat in libSystem
25local strlSources ;
26if $(HOST_PLATFORM) != darwin {
27	strlSources = strlcpy.c strlcat.c ;
28}
29
30local hostPlatformSources ;
31if $(HOST_PLATFORM) = freebsd {
32	hostPlatformSources = fs_freebsd.cpp ;
33}
34
35local librootSources =
36	atomic.cpp
37	byteorder.cpp
38	errors.cpp
39	fs.cpp
40	fs_attr.cpp
41	fs_descriptors.cpp
42	misc.cpp
43	sem.cpp
44	thread.cpp
45
46	$(hostPlatformSources)
47
48	$(strlSources)
49	strnlen.c
50;
51
52BuildPlatformSharedLibrary libroot_build.so :
53	$(librootSources)
54	:
55	$(HOST_LIBSUPC++) $(HOST_LIBSTDC++)
56;
57
58BuildPlatformStaticLibrary libroot_build.a :
59	:
60	[ FGristFiles $(librootSources:S=$(SUFOBJ)) ]
61;
62
63SEARCH on [ FGristFiles $(strlSources) strnlen.c ]
64	= [ FDirName $(HAIKU_TOP) src system libroot posix string ] ;
65