⛏️ index : haiku.git

SubDir HAIKU_TOP src kits package ;

AddResources libpackage.so : libpackage.rdef ;

UsePrivateHeaders
	app
	kernel
	netservices
	shared
	libroot
	storage
	support
	;
UsePrivateSystemHeaders ;

HPKG_SOURCES =
	AttributeDataReader.cpp
	BlockBufferPool.cpp
	BlockBufferPoolImpl.cpp
	BlockBufferPoolNoLock.cpp
	BufferPool.cpp
	CommitTransactionResult.cpp
	DataReader.cpp
	ErrorOutput.cpp
	FDDataReader.cpp
	GlobalWritableFileInfo.cpp
	HPKGDefs.cpp
	PackageContentHandler.cpp
	PackageData.cpp
	PackageDataReader.cpp
	PackageEntry.cpp
	PackageEntryAttribute.cpp
	PackageFileHeapAccessorBase.cpp
	PackageFileHeapReader.cpp
	PackageFileHeapWriter.cpp
	PackageReader.cpp
	PackageReaderImpl.cpp
	PackageWriter.cpp
	PackageWriterImpl.cpp
	PoolBuffer.cpp
	ReaderImplBase.cpp
	RepositoryContentHandler.cpp
	RepositoryReader.cpp
	RepositoryReaderImpl.cpp
	RepositoryWriter.cpp
	RepositoryWriterImpl.cpp
	Strings.cpp
	UserSettingsFileInfo.cpp
	WriterImplBase.cpp

	# V1 support
	HPKGDefsV1.cpp
	PackageContentHandlerV1.cpp
	PackageDataReaderV1.cpp
	PackageDataV1.cpp
	PackageEntryAttributeV1.cpp
	PackageEntryV1.cpp
	PackageInfoContentHandlerV1.cpp
	PackageReaderImplV1.cpp
	PackageReaderV1.cpp
	ReaderImplBaseV1.cpp
	;

local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
	on $(architectureObject) {
		SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package hpkg ] ;
		SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package hpkg v1 ] ;
		SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package manager ] ;
		SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package solver ] ;

		SharedLibrary [ MultiArchDefaultGristFiles libpackage.so ]
			:
			ActivateRepositoryCacheJob.cpp
			ActivateRepositoryConfigJob.cpp
			ActivationTransaction.cpp
			AddRepositoryRequest.cpp
			Attributes.cpp
			ChecksumAccessors.cpp
			Context.cpp
			DaemonClient.cpp
			DownloadFileRequest.cpp
			DropRepositoryRequest.cpp
			FetchFileJob.cpp
			FetchUtils.cpp
			InstallationLocationInfo.cpp
			Job.cpp
			PackageInfo.cpp
			PackageInfoContentHandler.cpp
			PackageInfoParser.cpp
			PackageInfoSet.cpp
			PackageResolvable.cpp
			PackageResolvableExpression.cpp
			PackageRoster.cpp
			PackageVersion.cpp
			PathFinder.cpp
			RefreshRepositoryRequest.cpp
			RemoveRepositoryJob.cpp
			RepositoryCache.cpp
			RepositoryConfig.cpp
			RepositoryInfo.cpp
			Request.cpp
			TempfileManager.cpp
			User.cpp
			ValidateChecksumJob.cpp

			$(HPKG_SOURCES)

			# hpkg, but only libpackage
			NoErrorOutput.cpp
			StandardErrorOutput.cpp

			# manager
			Exceptions.cpp
			PackageManager.cpp
			RepositoryBuilder.cpp

			# solver
			Solver.cpp
			SolverPackage.cpp
			SolverPackageSpecifier.cpp
			SolverPackageSpecifierList.cpp
			SolverProblem.cpp
			SolverProblemSolution.cpp
			SolverRepository.cpp
			SolverResult.cpp
			:
			shared
			bnetapi
			be localestub
			[ MultiArchDefaultGristFiles libnetservices.a ]
			[ TargetLibstdc++ ]
			$(TARGET_NETWORK_LIBS)
			;
	}
}


SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package manager ] ;

DoCatalogs libpackage.so :
	x-vnd.Haiku-libpackage
	:
	PackageManager.cpp
	RefreshRepositoryRequest.cpp
;

HaikuSubInclude solver ;