SubDir HAIKU_TOP src add-ons kernel file_systems packagefs ;


UseLibraryHeaders zlib ;
UsePrivateKernelHeaders ;
UsePrivateHeaders shared storage ;


HAIKU_PACKAGE_FS_SOURCES =
	AttributeCookie.cpp
	AttributeDirectoryCookie.cpp
	AttributeIndex.cpp
	AutoPackageAttributes.cpp
	BlockBufferCacheKernel.cpp
	DebugSupport.cpp
	Dependency.cpp
	Directory.cpp
	EmptyAttributeDirectoryCookie.cpp
	GlobalFactory.cpp
	Index.cpp
	IndexedAttributeOwner.cpp
	kernel_interface.cpp
	LastModifiedIndex.cpp
	NameIndex.cpp
	Node.cpp
	NodeListener.cpp
	OldUnpackingNodeAttributes.cpp
	Query.cpp
	Package.cpp
	PackageDirectory.cpp
	PackageDomain.cpp
	PackageFile.cpp
	PackageFSRoot.cpp
	PackageLeafNode.cpp
	PackageLinkDirectory.cpp
	PackageLinksDirectory.cpp
	PackageLinksListener.cpp
	PackageLinkSymlink.cpp
	PackageNode.cpp
	PackageNodeAttribute.cpp
	PackageSymlink.cpp
	Resolvable.cpp
	ResolvableFamily.cpp
	SizeIndex.cpp
	UnpackingAttributeCookie.cpp
	UnpackingAttributeDirectoryCookie.cpp
	UnpackingDirectory.cpp
	UnpackingLeafNode.cpp
	UnpackingNode.cpp
	Version.cpp
	Volume.cpp
;

HAIKU_PACKAGE_FS_SHARED_SOURCES =
	QueryParserUtils.cpp
;

HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES =
	BlockBufferCacheImpl.cpp
	BufferCache.cpp
	CachedBuffer.cpp
	DataOutput.cpp
	DataReader.cpp
	ErrorOutput.cpp
	FDDataReader.cpp
	PackageContentHandler.cpp
	PackageData.cpp
	PackageDataReader.cpp
	PackageEntry.cpp
	PackageEntryAttribute.cpp
	PackageReaderImpl.cpp
	ReaderImplBase.cpp

	# compression
	ZlibCompressionBase.cpp
	ZlibDecompressor.cpp
;


local libSharedSources =
	NaturalCompare.cpp
;


KernelAddon packagefs
	:
	$(HAIKU_PACKAGE_FS_SOURCES)
	$(HAIKU_PACKAGE_FS_SHARED_SOURCES)
	$(HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES)
	$(libSharedSources)

	: $(HAIKU_STATIC_LIBSUPC++) libz.a
;


SEARCH on [ FGristFiles $(HAIKU_PACKAGE_FS_SHARED_SOURCES) ]
	+= [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems shared ] ;
SEARCH on [ FGristFiles $(HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES) ]
	+= [ FDirName $(HAIKU_TOP) src kits package hpkg ] ;
SEARCH on [ FGristFiles $(libSharedSources) ]
	+= [ FDirName $(HAIKU_TOP) src kits shared ] ;


HaikuSubInclude userland ;
