1SubDir HAIKU_TOP src system boot loader file_systems packagefs ;
2
3UsePrivateHeaders kernel shared storage support ;
4UseBuildFeatureHeaders zlib ;
5UseBuildFeatureHeaders zstd ;
6
7if [ FIsBuildFeatureEnabled zstd ] {
8	DEFINES += ZSTD_ENABLED ;
9}
10
11local kernelC++Header = [ FDirName $(HAIKU_TOP) headers private kernel util
12	kernel_cpp.h ] ;
13
14SubDirC++Flags -fno-rtti -include $(kernelC++Header) ;
15
16local platform ;
17for platform in [ MultiBootSubDirSetup ] {
18	on $(platform) {
19		UsePrivateHeaders [ FDirName kernel boot platform $(TARGET_BOOT_PLATFORM) ] ;
20
21		SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package ] ;
22		SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package hpkg ] ;
23		SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits storage ] ;
24		SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits support ] ;
25
26		BootStaticLibrary [ MultiBootGristFiles boot_packagefs ] :
27			packagefs.cpp
28			PackageSettingsItem.cpp
29
30			# package kit/hpkg
31			DataReader.cpp
32			ErrorOutput.cpp
33			FDDataReader.cpp
34			PackageContentHandler.cpp
35			PackageData.cpp
36			PackageDataReader.cpp
37			PackageEntry.cpp
38			PackageEntryAttribute.cpp
39			PackageFileHeapAccessorBase.cpp
40			PackageFileHeapReader.cpp
41			PackageReaderImpl.cpp
42			ReaderImplBase.cpp
43
44			# storage kit
45			FdIO.cpp
46
47			# support kit
48			CompressionAlgorithm.cpp
49			ZlibCompressionAlgorithm.cpp
50			ZstdCompressionAlgorithm.cpp
51		;
52
53		Includes [ FGristFiles ZlibCompressionAlgorithm.cpp ]
54			: [ BuildFeatureAttribute zlib : headers ] ;
55		Includes [ FGristFiles ZstdCompressionAlgorithm.cpp ]
56			: [ BuildFeatureAttribute zstd : headers ] ;
57	}
58}
59