SubDir HAIKU_TOP src add-ons kernel network ppp shared libkernelppp ;

SetSubDirSupportedPlatformsBeOSCompatible ;

if $(TARGET_PLATFORM) != haiku {
	UseHeaders [ FStandardOSHeaders ] : true ;
		# Needed for the atomic_add64() prototype. :-/
	UseHeaders [ FDirName $(HAIKU_TOP) headers posix ] : true ;
		# We need the public network headers also when not compiling for Haiku.
		# Unfortunately we get more than we want, namely all POSIX headers.
}

UsePrivateHeaders net ;
UsePrivateHeaders [ FDirName kernel ] ;
UsePrivateHeaders [ FDirName kernel util ] ;
UseHeaders [ FDirName $(HAIKU_TOP) src add-ons kernel network ppp shared
	libkernelppp headers ] : true ;


{
	SubDirC++Flags -fno-rtti ;
}


KernelStaticLibrary libkernelppp.a :
	atomic.S
	kernel_cpp.cpp
	
	KPPPConfigurePacket.cpp
	KPPPDevice.cpp
	KPPPInterface.cpp
	KPPPLayer.cpp
	KPPPLCP.cpp
	KPPPLCPExtension.cpp
	KPPPOptionHandler.cpp
	KPPPProtocol.cpp
	KPPPReportManager.cpp
	KPPPStateMachine.cpp
	KPPPUtils.cpp
	Locker.cpp
	settings_tools.cpp
	
	# integrated modules
	_KPPPMRUHandler.cpp
	_KPPPAuthenticationHandler.cpp
	_KPPPPFCHandler.cpp
	: -fno-pic
;

SEARCH on [ FGristFiles kernel_cpp.cpp ]
	= [ FDirName $(HAIKU_TOP) src system kernel util ] ;
SEARCH on [ FGristFiles Locker.cpp ]
	= [ FDirName $(HAIKU_TOP) src system kernel disk_device_manager ] ;
SEARCH on [ FGristFiles atomic.S ]
	= [ FDirName $(HAIKU_TOP) src system libroot os arch $(TARGET_ARCH) ] ;
