btrfs: Attempt to fix GCC2 build.
[haiku.git] / src / build / libroot / Jamfile
blobf146d85b870f3aa10fce06d0cb71718604330793
1 SubDir HAIKU_TOP src build libroot ;
3 UseHeaders [ FDirName $(HAIKU_TOP) headers build ] : true ;
4 UseHeaders [ FDirName $(HAIKU_TOP) headers build os ] : true ;
5 UseHeaders [ FDirName $(HAIKU_TOP) headers build os app ] : true ;
6 UseHeaders [ FDirName $(HAIKU_TOP) headers build os drivers ] : true ;
7 UseHeaders [ FDirName $(HAIKU_TOP) headers build os kernel ] : true ;
8 UseHeaders [ FDirName $(HAIKU_TOP) headers build os interface ] : true ;
9 UseHeaders [ FDirName $(HAIKU_TOP) headers build os storage ] : true ;
10 UseHeaders [ FDirName $(HAIKU_TOP) headers build os support ] : true ;
12 UsePrivateBuildHeaders kernel libroot system ;
15         local defines = [ FDefines
16                 HAIKU_BUILD_ATTRIBUTES_DIR="\\\"$(HAIKU_BUILD_ATTRIBUTES_DIR)\\\""
17                 _HAIKU_BUILD_DONT_REMAP_FD_FUNCTIONS=1
18         ] ;
19         SubDirCcFlags $(defines) ;
20         SubDirC++Flags $(defines) ;
22         defines = [ FDefines
23                 HAIKU_BUILD_GENERATED_DIRECTORY="\\\"$(HAIKU_OUTPUT_DIR)\\\""
24         ] ;
25         ObjectC++Flags find_directory.cpp : $(defines) ;
27         defines = [ FDefines BUILDING_HAIKU_ERROR_MAPPER=1 ] ;
28         ObjectC++Flags errors.cpp : $(defines) ;
30         defines = [ FDefines KMESSAGE_CONTAINER_ONLY=1 ] ;
31         ObjectC++Flags KMessage.cpp : $(defines) ;
34 # locate the library
35 MakeLocate libroot_build.so : $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ;
37 # darwin already has strlcpy and strlcat in libSystem
38 local strlSources ;
39 if $(HOST_PLATFORM) != darwin {
40         strlSources = strlcpy.c strlcat.c ;
43 if $(HOST_PLATFORM) = cygwin || $(HOST_PLATFORM) = sunos {
44         strlSources += stpcpy.c strcasestr.c ;
47 local hostPlatformSources ;
48 if $(HOST_PLATFORM) = freebsd {
49         hostPlatformSources = fs_freebsd.cpp ;
52 if $(HOST_PLATFORM) = darwin {
53         hostPlatformSources = fs_darwin.cpp ;
56 local librootSources =
57         atomic.cpp
58         byteorder.cpp
59         errors.cpp
60         find_directory.cpp
61         fs.cpp
62         fs_attr.cpp
63         fs_descriptors.cpp
64         misc.cpp
65         sem.cpp
66         thread.cpp
67         SHA256.cpp
69         $(hostPlatformSources)
71         driver_settings.cpp
73         $(strlSources)
74         strnlen.cpp
76         KMessage.cpp
79 USES_BE_API on [ FGristFiles $(librootSources:S=$(SUFOBJ)) ] = true ;
81 BuildPlatformSharedLibrary libroot_build.so :
82         $(librootSources)
83         :
84         $(HOST_LIBSUPC++) $(HOST_LIBSTDC++)
87 # TODO: This doesn't work with the function remapping.
88 BuildPlatformStaticLibrary libroot_build.a :
89         :
90         [ FGristFiles $(librootSources:S=$(SUFOBJ)) ]
93 USES_BE_API on [ FGristFiles function_remapper$(SUFOBJ) ] = true ;
95 BuildPlatformStaticLibraryPIC libroot_build_function_remapper.a :
96         function_remapper.cpp
99 SEARCH on [ FGristFiles driver_settings.cpp ]
100         = [ FDirName $(HAIKU_TOP) src system libroot os ] ;
101 SEARCH on [ FGristFiles $(strlSources) strnlen.cpp ]
102         = [ FDirName $(HAIKU_TOP) src system libroot posix string ] ;
103 SEARCH on [ FGristFiles SHA256.cpp ]
104         = [ FDirName $(HAIKU_TOP) src system libroot posix crypt ] ;
105 SEARCH on [ FGristFiles KMessage.cpp ]
106     = [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;