xref: /haiku/src/kits/network/libnetapi/Jamfile (revision 909af08f4328301fbdef1ffb41f566c3b5bec0c7)
1SubDir HAIKU_TOP src kits network libnetapi ;
2
3UsePrivateHeaders app net shared storage support ;
4UsePrivateHeaders locale shared ;
5
6UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network ] : true ;
7UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_wlan ] : true ;
8UseHeaders [ FDirName $(HAIKU_TOP) headers os add-ons network_settings ]
9	: true ;
10
11local architectureObject ;
12for architectureObject in [ MultiArchSubDirSetup ] {
13	on $(architectureObject) {
14		local architecture = $(TARGET_PACKAGING_ARCH) ;
15
16		UsePrivateSystemHeaders ;
17
18		if [ FIsBuildFeatureEnabled openssl ] {
19			SubDirC++Flags -DOPENSSL_ENABLED -DOPENSSL_API_COMPAT=10101 -DOPENSSL_NO_DEPRECATED=1 ;
20			UseBuildFeatureHeaders openssl ;
21			Includes [ FGristFiles SecureSocket.cpp
22					HttpAuthentication.cpp Certificate.cpp ]
23				: [ BuildFeatureAttribute openssl : headers ] ;
24				# Dependency needed to trigger downloading/unzipping the package
25				# before compiling the files.
26			SetupFeatureObjectsDir ssl ;
27		} else {
28			SetupFeatureObjectsDir no-ssl ;
29		}
30
31		SharedLibrary [ MultiArchDefaultGristFiles libbnetapi.so ] :
32			DynamicBuffer.cpp
33			NetEndpoint.cpp
34			NetAddress.cpp
35			NetBuffer.cpp
36			NetDebug.cpp
37
38			Certificate.cpp
39
40			NetworkAddress.cpp
41			NetworkAddressResolver.cpp
42			NetworkDevice.cpp
43			NetworkInterface.cpp
44			NetworkRoster.cpp
45			NetworkRoute.cpp
46			NetworkSettings.cpp
47
48			AbstractSocket.cpp
49			DatagramSocket.cpp
50			ProxySecureSocket.cpp
51			SecureSocket.cpp
52			Socket.cpp
53			SocketMessenger.cpp
54
55			notifications.cpp
56
57			:
58			be shared $(TARGET_NETWORK_LIBS) [ TargetLibstdc++ ]
59			[ TargetLibsupc++ ] [ BuildFeatureAttribute openssl : libraries ]
60			[ BuildFeatureAttribute icu : libraries ]
61			;
62	}
63}
64