SubDir HAIKU_TOP src kits package solver libsolv ;

# add-on implementing a libsolv based BSolver

local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
	on $(architectureObject) {

		UseBuildFeatureHeaders libsolv ;

		local libsolvHeaders
			= [ BuildFeatureAttribute libsolv : headers : path ] ;
		UseHeaders [ FDirName $(libsolvHeaders) solv ] ;

		AddResources $(libsolv) :
			LibsolvSolver.rdef
			;

		UsePrivateHeaders shared ;

		SharedLibrary
			[ MultiArchDefaultGristFiles libpackage-add-on-libsolv.so ]
			:
			LibsolvSolver.cpp
			:
			package
			[ BuildFeatureAttribute libsolv : libraries ]
			be [ TargetLibstdc++ ]
		;

		if $(TARGET_PACKAGING_ARCH) != x86_gcc2 {
			# External headers use the C++20 reserved keyword `requires`
			ObjectC++Flags LibsolvSolver.cpp : -Wno-error=c++20-compat ;
		}

		Includes [ FGristFiles LibsolvSolver.cpp ]
			: [ BuildFeatureAttribute libsolv : headers ] ;
	}
}
