xref: /haiku/src/build/libpackage/Jamfile (revision efafab643ce980e3f3c916795ed302599f6b4f66)
1SubDir HAIKU_TOP src build libpackage ;
2
3UsePrivateBuildHeaders kernel package shared libroot storage support ;
4
5UseHeaders [ FDirName $(HAIKU_TOP) headers os net ] : true ;
6
7SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package ] ;
8SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package hpkg ] ;
9SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package hpkg v1 ] ;
10SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package manager ] ;
11SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package solver ] ;
12
13USES_BE_API on libpackage_build.so = true ;
14LINKFLAGS on libpackage_build.so += $(HOST_PTHREAD_LINKFLAGS) ;
15
16
17{
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) ;
30}
31
32
33HPKG_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
66
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
78;
79
80# locate the library
81MakeLocate libpackage_build.so : $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ;
82
83BuildPlatformSharedLibrary libpackage_build.so
84	:
85	ActivateRepositoryCacheJob.cpp
86	ActivateRepositoryConfigJob.cpp
87	ActivationTransaction.cpp
88	AddRepositoryRequest.cpp
89	Attributes.cpp
90	ChecksumAccessors.cpp
91	CommitTransactionResult.cpp
92	Context.cpp
93	DownloadFileRequest.cpp
94	DropRepositoryRequest.cpp
95	FetchFileJob.cpp
96	InstallationLocationInfo.cpp
97	Job.cpp
98	PackageInfo.cpp
99	PackageInfoContentHandler.cpp
100	PackageInfoParser.cpp
101	PackageInfoSet.cpp
102	PackageResolvable.cpp
103	PackageResolvableExpression.cpp
104	PackageRoster.cpp
105	PackageVersion.cpp
106	RefreshRepositoryRequest.cpp
107	RemoveRepositoryJob.cpp
108	RepositoryCache.cpp
109	RepositoryConfig.cpp
110	RepositoryInfo.cpp
111	Request.cpp
112	TempfileManager.cpp
113	User.cpp
114	ValidateChecksumJob.cpp
115
116	$(HPKG_SOURCES)
117
118	# hpkg, but only libpackage
119	NoErrorOutput.cpp
120	StandardErrorOutput.cpp
121
122	# manager
123	Exceptions.cpp
124	RepositoryBuilder.cpp
125
126	# solver
127	Solver.cpp
128	SolverPackage.cpp
129	SolverPackageSpecifier.cpp
130	SolverPackageSpecifierList.cpp
131	SolverProblem.cpp
132	SolverProblemSolution.cpp
133	SolverRepository.cpp
134	SolverResult.cpp
135	:
136	libshared_build.a $(HOST_LIBBE) $(HOST_LIBSTDC++)
137;
138
139HaikuSubInclude solver ;
140