xref: /haiku/src/add-ons/kernel/file_systems/packagefs/Jamfile (revision 1deede7388b04dbeec5af85cae7164735ea9e70d)
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	CachedDataReader.cpp
39	Dependency.cpp
40	Directory.cpp
41	EmptyAttributeDirectoryCookie.cpp
42	Index.cpp
43	IndexedAttributeOwner.cpp
44	kernel_interface.cpp
45	LastModifiedIndex.cpp
46	NameIndex.cpp
47	Node.cpp
48	NodeListener.cpp
49	OldUnpackingNodeAttributes.cpp
50	Query.cpp
51	Package.cpp
52	PackageDirectory.cpp
53	PackageFile.cpp
54	PackageFSRoot.cpp
55	PackageLeafNode.cpp
56	PackageLinkDirectory.cpp
57	PackageLinksDirectory.cpp
58	PackageLinksListener.cpp
59	PackageLinkSymlink.cpp
60	PackageNode.cpp
61	PackageNodeAttribute.cpp
62	PackagesDirectory.cpp
63	PackageSettings.cpp
64	PackageSymlink.cpp
65	Resolvable.cpp
66	ResolvableFamily.cpp
67	SizeIndex.cpp
68	String.cpp
69	StringConstants.cpp
70	StringPool.cpp
71	UnpackingAttributeCookie.cpp
72	UnpackingAttributeDirectoryCookie.cpp
73	UnpackingDirectory.cpp
74	UnpackingLeafNode.cpp
75	UnpackingNode.cpp
76	Version.cpp
77	Volume.cpp
78;
79
80HAIKU_PACKAGE_FS_SHARED_SOURCES =
81	QueryParserUtils.cpp
82	DebugSupport.cpp
83;
84
85HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES =
86	DataReader.cpp
87	ErrorOutput.cpp
88	FDDataReader.cpp
89	HPKGDefs.cpp
90	PackageContentHandler.cpp
91	PackageData.cpp
92	PackageDataReader.cpp
93	PackageEntry.cpp
94	PackageEntryAttribute.cpp
95	PackageFileHeapAccessorBase.cpp
96	PackageFileHeapReader.cpp
97	PackageReaderImpl.cpp
98	ReaderImplBase.cpp
99;
100
101Includes [ FGristFiles ZlibCompressionAlgorithm.cpp ]
102	: [ BuildFeatureAttribute zlib : headers ] ;
103
104local libSharedSources =
105	NaturalCompare.cpp
106;
107
108local storageKitSources =
109	FdIO.cpp
110;
111
112local supportKitSources =
113	CompressionAlgorithm.cpp
114	ZlibCompressionAlgorithm.cpp
115	$(zstdSources)
116;
117
118KernelAddon packagefs
119	:
120	$(HAIKU_PACKAGE_FS_SOURCES)
121	$(HAIKU_PACKAGE_FS_SHARED_SOURCES)
122	$(HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES)
123	$(libSharedSources)
124	$(storageKitSources)
125	$(supportKitSources)
126
127	: kernel_libz.a $(zstdKernelLib)
128;
129
130
131SEARCH on [ FGristFiles $(HAIKU_PACKAGE_FS_SHARED_SOURCES) ]
132	+= [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems shared ] ;
133SEARCH on [ FGristFiles $(HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES) ]
134	+= [ FDirName $(HAIKU_TOP) src kits package hpkg ] ;
135SEARCH on [ FGristFiles $(libSharedSources) ]
136	+= [ FDirName $(HAIKU_TOP) src build libshared ] ;
137SEARCH on [ FGristFiles $(storageKitSources) ]
138	+= [ FDirName $(HAIKU_TOP) src kits storage ] ;
139SEARCH on [ FGristFiles $(supportKitSources) ]
140	+= [ FDirName $(HAIKU_TOP) src kits support ] ;
141