xref: /haiku/src/add-ons/kernel/file_systems/packagefs/Jamfile (revision 427edfcf0ddc74fc461c9355484d33fd4b027b70)
1SubDir HAIKU_TOP src add-ons kernel file_systems packagefs ;
2
3
4UseBuildFeatureHeaders zlib ;
5UsePrivateKernelHeaders ;
6UsePrivateHeaders package shared storage support file_systems ;
7
8local zstdSources ;
9local zstdKernelLib ;
10
11if [ FIsBuildFeatureEnabled zstd ] {
12	zstdSources = ZstdCompressionAlgorithm.cpp ;
13	zstdKernelLib = kernel_libzstd.a ;
14	UseBuildFeatureHeaders zstd ;
15	Includes [ FGristFiles $(zstdSources) ]
16		: [ BuildFeatureAttribute zstd : headers ] ;
17	SubDirC++Flags -DZSTD_ENABLED ;
18}
19
20local subDirs =
21	indices
22	nodes
23	package
24	package_links
25	resolvables
26	util
27	volume
28;
29SEARCH_SOURCE += $(subDirs:D=$(SUBDIR)) ;
30
31
32HAIKU_PACKAGE_FS_SOURCES =
33	AttributeCookie.cpp
34	AttributeDirectoryCookie.cpp
35	AttributeIndex.cpp
36	AutoPackageAttributeDirectoryCookie.cpp
37	AutoPackageAttributes.cpp
38	BlockBufferPoolKernel.cpp
39	CachedDataReader.cpp
40	Dependency.cpp
41	Directory.cpp
42	EmptyAttributeDirectoryCookie.cpp
43	GlobalFactory.cpp
44	Index.cpp
45	IndexedAttributeOwner.cpp
46	kernel_interface.cpp
47	LastModifiedIndex.cpp
48	NameIndex.cpp
49	Node.cpp
50	NodeListener.cpp
51	OldUnpackingNodeAttributes.cpp
52	Query.cpp
53	Package.cpp
54	PackageDirectory.cpp
55	PackageFile.cpp
56	PackageFSRoot.cpp
57	PackageLeafNode.cpp
58	PackageLinkDirectory.cpp
59	PackageLinksDirectory.cpp
60	PackageLinksListener.cpp
61	PackageLinkSymlink.cpp
62	PackageNode.cpp
63	PackageNodeAttribute.cpp
64	PackagesDirectory.cpp
65	PackageSettings.cpp
66	PackageSymlink.cpp
67	Resolvable.cpp
68	ResolvableFamily.cpp
69	SizeIndex.cpp
70	String.cpp
71	StringConstants.cpp
72	StringPool.cpp
73	UnpackingAttributeCookie.cpp
74	UnpackingAttributeDirectoryCookie.cpp
75	UnpackingDirectory.cpp
76	UnpackingLeafNode.cpp
77	UnpackingNode.cpp
78	Version.cpp
79	Volume.cpp
80;
81
82HAIKU_PACKAGE_FS_SHARED_SOURCES =
83	QueryParserUtils.cpp
84	DebugSupport.cpp
85;
86
87HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES =
88	BlockBufferPoolImpl.cpp
89	BufferPool.cpp
90	DataReader.cpp
91	ErrorOutput.cpp
92	FDDataReader.cpp
93	HPKGDefs.cpp
94	PoolBuffer.cpp
95	PackageContentHandler.cpp
96	PackageData.cpp
97	PackageDataReader.cpp
98	PackageEntry.cpp
99	PackageEntryAttribute.cpp
100	PackageFileHeapAccessorBase.cpp
101	PackageFileHeapReader.cpp
102	PackageReaderImpl.cpp
103	ReaderImplBase.cpp
104;
105
106HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES_V1 =
107	HPKGDefsV1.cpp
108	PackageContentHandlerV1.cpp
109	PackageDataV1.cpp
110	PackageDataReaderV1.cpp
111	PackageEntryV1.cpp
112	PackageEntryAttributeV1.cpp
113	PackageReaderImplV1.cpp
114	ReaderImplBaseV1.cpp
115;
116
117Includes [ FGristFiles ZlibCompressionAlgorithm.cpp ]
118	: [ BuildFeatureAttribute zlib : headers ] ;
119
120local libSharedSources =
121	NaturalCompare.cpp
122;
123
124local storageKitSources =
125	FdIO.cpp
126;
127
128local supportKitSources =
129	CompressionAlgorithm.cpp
130	ZlibCompressionAlgorithm.cpp
131	$(zstdSources)
132;
133
134KernelAddon packagefs
135	:
136	$(HAIKU_PACKAGE_FS_SOURCES)
137	$(HAIKU_PACKAGE_FS_SHARED_SOURCES)
138	$(HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES)
139	$(HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES_V1)
140	$(libSharedSources)
141	$(storageKitSources)
142	$(supportKitSources)
143
144	: kernel_libz.a $(zstdKernelLib)
145;
146
147
148SEARCH on [ FGristFiles $(HAIKU_PACKAGE_FS_SHARED_SOURCES) ]
149	+= [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems shared ] ;
150SEARCH on [ FGristFiles $(HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES) ]
151	+= [ FDirName $(HAIKU_TOP) src kits package hpkg ] ;
152SEARCH on [ FGristFiles $(HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES_V1) ]
153	+= [ FDirName $(HAIKU_TOP) src kits package hpkg v1 ] ;
154SEARCH on [ FGristFiles $(libSharedSources) ]
155	+= [ FDirName $(HAIKU_TOP) src build libshared ] ;
156SEARCH on [ FGristFiles $(storageKitSources) ]
157	+= [ FDirName $(HAIKU_TOP) src kits storage ] ;
158SEARCH on [ FGristFiles $(supportKitSources) ]
159	+= [ FDirName $(HAIKU_TOP) src kits support ] ;
160