1SubDir HAIKU_TOP src kits network libnetapi ;
2
3UsePrivateHeaders net shared ;
4
5UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ]
6	: true ;
7UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_wlan ] : true ;
8
9local sslSources ;
10if $(HAIKU_BUILD_FEATURE_OPENSSL_ENABLED) {
11	SubDirC++Flags -DOPENSSL_ENABLED ;
12	SubDirSysHdrs $(HAIKU_OPENSSL_HEADERS) ;
13	sslSources = SSL.cpp ;
14	Includes [ FGristFiles $(sslSources) SecureSocket.cpp ]
15		: $(HAIKU_OPENSSL_HEADERS_DEPENDENCY) ;
16		# Dependency needed to trigger downloading/unzipping the package before
17		# compiling the files.
18	SetupFeatureObjectsDir ssl ;
19} else {
20	SetupFeatureObjectsDir no-ssl ;
21}
22
23SharedLibrary libbnetapi.so :
24	init.cpp
25	DynamicBuffer.cpp
26	NetEndpoint.cpp
27	NetAddress.cpp
28	NetBuffer.cpp
29	NetDebug.cpp
30
31	$(sslSources)
32
33	NetworkAddress.cpp
34	NetworkAddressResolver.cpp
35	NetworkCookie.cpp
36	NetworkCookieJar.cpp
37	NetworkDevice.cpp
38	NetworkInterface.cpp
39	NetworkRoster.cpp
40
41	AbstractSocket.cpp
42	DatagramSocket.cpp
43	Socket.cpp
44	SecureSocket.cpp
45
46	# TODO: The HTTP stuff should all go into an add-on. It needs linking
47	# against libcrypto.so and only the add-on should link against it.
48	# Building of the commented out files has not been completely tested after
49	# integrating the code from the GSoC 2010 "Services Kit" project and doing
50	# some renaming of types, constants and methods.
51#	HttpAuthentication.cpp
52#	HttpHeaders.cpp
53#	HttpForm.cpp
54	HttpTime.cpp
55
56	Url.cpp
57	UrlContext.cpp
58#	UrlProtocol.cpp
59#	UrlProtocolAsynchronousListener.cpp
60#	UrlProtocolDispatchingListener.cpp
61#	UrlProtocolHttp.cpp # TODO: -> add-on, See above.
62#	UrlProtocolListener.cpp
63#	UrlRequest.cpp
64#	UrlResult.cpp
65#	UrlSynchronousRequest.cpp
66
67	:
68	be $(TARGET_NETWORK_LIBS) $(TARGET_LIBSUPC++) $(HAIKU_OPENSSL_LIBS)
69	libshared.a
70;
71