SubDir HAIKU_TOP src system libnetwork ;

UsePrivateHeaders libroot net shared ;
UseHeaders [ FDirName $(HAIKU_TOP) headers compatibility bsd ] : true ;

local services = [ FGristFiles services ] ;
SEARCH on $(services) = [ FDirName $(SUBDIR) netresolv defaults ] ;

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

		UsePrivateSystemHeaders ;

		local libnetwork = [ MultiArchDefaultGristFiles libnetwork.so ] ;
		SharedLibrary $(libnetwork) :
			init.cpp
			interfaces.cpp
			gethostbyname.c
			getifaddrs.cpp
			socket.cpp
			r5_compatibility.cpp
			:
			<netresolv!$(architecture)>netresolv.o
			<$(architecture)>posix_musl_network.o
			[ MultiArchDefaultGristFiles libutil.a libbsd.so ]
			[ TargetLibsupc++ ]
			;

		AddFileDataAttribute $(libnetwork) : services : string : $(services) ;
	}
}

SubInclude HAIKU_TOP src system libnetwork musl ;
SubInclude HAIKU_TOP src system libnetwork netresolv ;
