SubDir HAIKU_TOP src kits package solver libsolv ;

# add-on implementing a libsolv based BSolver

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

		UseHeaders [ FDirName $(HAIKU_TOP) src libs libsolv ] : true ;
		UseHeaders [ FDirName $(HAIKU_TOP) src libs libsolv solv ] ;
		UsePrivateHeaders shared ;

		AddResources $(libsolv) :
			LibsolvSolver.rdef
			;

		SharedLibrary
			[ MultiArchDefaultGristFiles libpackage-add-on-libsolv.so ]
			:
			LibsolvSolver.cpp
			:
			package
			[ MultiArchDefaultGristFiles libsolv.a libsolvext.a ]
			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 ;
		}
	}
}
