SubDir TOP haiku-on-genode kits support ;


#SEARCH_SOURCE += $(HAIKU_TOP)/src/kits/_libroot ;  # find Architecture.cpp
#	# xxx should be in eg private/support instead of _libroot ..?
#SEARCH_SOURCE += $(HAIKU_TOP)/src/kits/private/textencoding ;  # find character_sets.cpp ..etc

SetupHeadersHoG ;
UsePrivateHeaders app interface storage support ;  # find MessagePrivate.h, utf8_functions.h, StringPrivate.h, etc
SubDirHdrs $(TOP)/haiku-on-genode/headers/private ;  # find binary_compatibility/Support.h


HaikuKit support_kit.a :
#	Architecture.cpp
	Base64.cpp  # needed by kits/mail/mail_encoding.cpp
#	Beep.cpp
#	BlockCache.cpp
#	BufferedDataIO.cpp
#	BufferIO.cpp
	DataIO.cpp
#	DataPositionIOWrapper.cpp
	Flattenable.cpp
#	Job.cpp
#	JobQueue.cpp
	List.cpp
	Locker.cpp
	PointerList.cpp
	Referenceable.cpp
	String.cpp
	StringList.cpp
#	ZstdCompressionAlgorithm.cpp
#	
#	# private/textencoding/: (where else to put it than in support/):
#	character_sets.cpp
#	utf8_conversions.cpp
#	CharacterSet.cpp
#	CharacterSetRoster.cpp
	;


# Tests:
# the SupportKit is a fairly low-level kit, but some of its classes
# (below) do require linking against other kits, not just against
# lower-level layers of code.
#

if $(LayerLevel) >= 5
{
	HaikuKit support_kit.a :
		Archivable.cpp  # requires app/Roster etc ?
		ArchivingManagers.cpp  # requires app/Message
		ByteOrder.cpp  # requires app/Messenger
		#++ (not in orig jamfile)
#		Debug.cpp
		StopWatch.cpp
		;
}

if $(LayerLevel) >= 7
{
	HaikuKit support_kit.a :
		Url.cpp  # requires Archivable, app/Message, storage/Path
		;
}

if $(LayerLevel) >= 8
{
	HaikuKit support_kit.a :
		DateTime.cpp
		;
}

if $(LayerLevel) >= 9
{
	HaikuKit support_kit.a :
		CompressionAlgorithm.cpp
		ZlibCompressionAlgorithm.cpp
		;

	# find zlib.h :
	ObjectHdrs ZlibCompressionAlgorithm.cpp :
		$(GenodeRepos)/../contrib/$(Contrib_zlib)/include/zlib
		;
}


# needed to find asm_defs.h :
#ObjectHdrs ByteOrder.cpp :
#	$(somevarhere)/genode-haiku/haiku-on-genode/headers/private/system/arch/x86_64
#	;

