vfs: check userland buffers before reading them.
[haiku.git] / src / build / libpackage / Jamfile
blobc15d1c385fa8b593fca7d16830e99d24235b31d0
1 SubDir HAIKU_TOP src build libpackage ;
3 UsePrivateBuildHeaders kernel package shared libroot storage support ;
5 UseHeaders [ FDirName $(HAIKU_TOP) headers os net ] : true ;
7 SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package ] ;
8 SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package hpkg ] ;
9 SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package hpkg v1 ] ;
10 SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package manager ] ;
11 SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package solver ] ;
13 USES_BE_API on libpackage_build.so = true ;
14 LINKFLAGS on libpackage_build.so += $(HOST_PTHREAD_LINKFLAGS) ;
18         # The package writer needs to know where the license files are located.
19         local dataDir = [ FDirName $(HAIKU_TOP) data system data ] ;
20         # The directory path we compile in must be absolute. If it isn't prepend
21         # pwd.
22         local defines ;
23         if ! [ Match "(^/.*)" : $(dataDir) ] {
24                 dataDir = `pwd`/$(dataDir) ;
25         }
26         local defines = [ FDefines
27                 \"HAIKU_BUILD_SYSTEM_DATA_DIRECTORY="\\\"$(dataDir)\\\""\"
28         ] ;
29         ObjectC++Flags PackageWriterImpl.cpp : $(defines) ;
33 HPKG_SOURCES =
34         AttributeDataReader.cpp
35         BlockBufferPool.cpp
36         BlockBufferPoolImpl.cpp
37         BlockBufferPoolNoLock.cpp
38         BufferPool.cpp
39         PoolBuffer.cpp
40         DataReader.cpp
41         ErrorOutput.cpp
42         FDDataReader.cpp
43         GlobalWritableFileInfo.cpp
44         HPKGDefs.cpp
45         PackageContentHandler.cpp
46         PackageData.cpp
47         PackageDataReader.cpp
48         PackageEntry.cpp
49         PackageEntryAttribute.cpp
50         PackageFileHeapAccessorBase.cpp
51         PackageFileHeapReader.cpp
52         PackageFileHeapWriter.cpp
53         PackageReader.cpp
54         PackageReaderImpl.cpp
55         PackageWriter.cpp
56         PackageWriterImpl.cpp
57         ReaderImplBase.cpp
58         RepositoryContentHandler.cpp
59         RepositoryReader.cpp
60         RepositoryReaderImpl.cpp
61         RepositoryWriter.cpp
62         RepositoryWriterImpl.cpp
63         Strings.cpp
64         UserSettingsFileInfo.cpp
65         WriterImplBase.cpp
67         # V1 support
68         HPKGDefsV1.cpp
69         PackageContentHandlerV1.cpp
70         PackageDataReaderV1.cpp
71         PackageDataV1.cpp
72         PackageEntryAttributeV1.cpp
73         PackageEntryV1.cpp
74         PackageInfoContentHandlerV1.cpp
75         PackageReaderImplV1.cpp
76         PackageReaderV1.cpp
77         ReaderImplBaseV1.cpp
80 # TODO: remove this hack once gcc2 has -iquote implemented
81 if $(HOST_PLATFORM) = haiku_host &&  $(HOST_GCC_VERSION[1]) < 3 {
82         local locations = common/non-packaged common system ;
83         SourceHdrs FetchFileJob.cpp : /boot/$(locations)/develop/headers/curl ;
86 # locate the library
87 MakeLocate libpackage_build.so : $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ;
89 BuildPlatformSharedLibrary libpackage_build.so
90         :
91         ActivateRepositoryCacheJob.cpp
92         ActivateRepositoryConfigJob.cpp
93         ActivationTransaction.cpp
94         AddRepositoryRequest.cpp
95         Attributes.cpp
96         ChecksumAccessors.cpp
97         CommitTransactionResult.cpp
98         Context.cpp
99         DownloadFileRequest.cpp
100         DropRepositoryRequest.cpp
101         FetchFileJob.cpp
102         InstallationLocationInfo.cpp
103         Job.cpp
104         PackageInfo.cpp
105         PackageInfoContentHandler.cpp
106         PackageInfoParser.cpp
107         PackageInfoSet.cpp
108         PackageResolvable.cpp
109         PackageResolvableExpression.cpp
110         PackageRoster.cpp
111         PackageVersion.cpp
112         RefreshRepositoryRequest.cpp
113         RemoveRepositoryJob.cpp
114         RepositoryCache.cpp
115         RepositoryConfig.cpp
116         RepositoryInfo.cpp
117         Request.cpp
118         TempfileManager.cpp
119         User.cpp
120         ValidateChecksumJob.cpp
122         $(HPKG_SOURCES)
124         # hpkg, but only libpackage
125         NoErrorOutput.cpp
126         StandardErrorOutput.cpp
128         # manager
129         Exceptions.cpp
130         RepositoryBuilder.cpp
132         # solver
133         Solver.cpp
134         SolverPackage.cpp
135         SolverPackageSpecifier.cpp
136         SolverPackageSpecifierList.cpp
137         SolverProblem.cpp
138         SolverProblemSolution.cpp
139         SolverRepository.cpp
140         SolverResult.cpp
141         :
142         libshared_build.a $(HOST_LIBBE) curl $(HOST_LIBSTDC++)
145 HaikuSubInclude solver ;