xref: /haiku/src/kits/network/libnetapi/Jamfile (revision 29f8805f6c70f1c819eb58ac2220647d8e40d6e7)
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 ;
10local md5Sources ;
11if [ FIsBuildFeatureEnabled openssl ] {
12	SubDirC++Flags -DOPENSSL_ENABLED ;
13	UseBuildFeatureHeaders openssl ;
14	sslSources = SSL.cpp ;
15	md5Sources = ;
16	Includes [ FGristFiles $(sslSources) SecureSocket.cpp
17			HttpAuthentication.cpp ]
18		: [ BuildFeatureAttribute openssl : headers ] ;
19		# Dependency needed to trigger downloading/unzipping the package before
20		# compiling the files.
21	SetupFeatureObjectsDir ssl ;
22} else {
23	# As we don't have md5 from ssl, use our own
24	md5Sources = md5.c ;
25	SetupFeatureObjectsDir no-ssl ;
26}
27
28SharedLibrary libbnetapi.so :
29	init.cpp
30	DynamicBuffer.cpp
31	NetEndpoint.cpp
32	NetAddress.cpp
33	NetBuffer.cpp
34	NetDebug.cpp
35
36	$(sslSources)
37
38	NetworkAddress.cpp
39	NetworkAddressResolver.cpp
40	NetworkCookie.cpp
41	NetworkCookieJar.cpp
42	NetworkDevice.cpp
43	NetworkInterface.cpp
44	NetworkRoster.cpp
45
46	AbstractSocket.cpp
47	DatagramSocket.cpp
48	Socket.cpp
49	SecureSocket.cpp
50
51	# TODO: The HTTP stuff should all go into an add-on. It needs linking
52	# against libcrypto.so and only the add-on should link against it.
53	# Building of the commented out files has not been completely tested after
54	# integrating the code from the GSoC 2010 "Services Kit" project and doing
55	# some renaming of types, constants and methods.
56	HttpAuthentication.cpp
57	HttpHeaders.cpp
58	HttpForm.cpp
59	HttpTime.cpp
60
61	$(md5Sources)
62
63	Url.cpp
64	UrlContext.cpp
65	UrlProtocol.cpp
66	UrlProtocolAsynchronousListener.cpp
67	UrlProtocolDispatchingListener.cpp
68	UrlProtocolHttp.cpp # TODO: -> add-on, See above.
69	UrlProtocolListener.cpp
70	UrlRequest.cpp
71	UrlResult.cpp
72	UrlSynchronousRequest.cpp
73
74	:
75	be $(TARGET_NETWORK_LIBS) $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++)
76	[ BuildFeatureAttribute openssl : libraries ]
77	libshared.a
78;
79