tcp: Fix 64 bit build with debugging features enabled.
[haiku.git] / src / kits / network / libnetapi / Jamfile
bloba0d606c171bfc20be073079c367182ed1d83a779
1 SubDir HAIKU_TOP src kits network libnetapi ;
3 UsePrivateHeaders app net shared storage support ;
4 UsePrivateHeaders locale shared ;
6 UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ]
7         : true ;
8 UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_wlan ] : true ;
9 UseHeaders [ FDirName $(HAIKU_TOP) headers os add-ons network_settings ]
10         : true ;
12 SubDirC++Flags [ FDefines _BSD_SOURCE=1 ] ;
14 local architectureObject ;
15 for architectureObject in [ MultiArchSubDirSetup ] {
16         on $(architectureObject) {
17                 local sslSources ;
18                 local md5Sources ;
20                 UsePrivateSystemHeaders ;
22                 if [ FIsBuildFeatureEnabled openssl ] {
23                         SubDirC++Flags -DOPENSSL_ENABLED ;
24                         UseBuildFeatureHeaders openssl ;
25                         sslSources = SSL.cpp ;
26                         md5Sources = ;
27                         Includes [ FGristFiles $(sslSources) SecureSocket.cpp
28                                         HttpAuthentication.cpp Certificate.cpp ]
29                                 : [ BuildFeatureAttribute openssl : headers ] ;
30                                 # Dependency needed to trigger downloading/unzipping the package
31                                 # before compiling the files.
32                         SetupFeatureObjectsDir ssl ;
33                 } else {
34                         # As we don't have md5 from ssl, use our own
35                         md5Sources = md5.c ;
36                         SetupFeatureObjectsDir no-ssl ;
37                 }
39                 # BUrl uses ICU to perform IDNA conversions (unicode domain names)
40                 UseBuildFeatureHeaders icu ;
41                 Includes [ FGristFiles Url.cpp ]
42                         : [ BuildFeatureAttribute icu : headers ] ;
44                 SharedLibrary [ MultiArchDefaultGristFiles libbnetapi.so ] :
45                         init.cpp
46                         DynamicBuffer.cpp
47                         NetEndpoint.cpp
48                         NetAddress.cpp
49                         NetBuffer.cpp
50                         NetDebug.cpp
52                         $(sslSources)
53                         Certificate.cpp
55                         NetworkAddress.cpp
56                         NetworkAddressResolver.cpp
57                         NetworkCookie.cpp
58                         NetworkCookieJar.cpp
59                         NetworkDevice.cpp
60                         NetworkInterface.cpp
61                         NetworkRoster.cpp
62                         NetworkRoute.cpp
63                         NetworkSettings.cpp
65                         AbstractSocket.cpp
66                         DatagramSocket.cpp
67                         Socket.cpp
68                         SecureSocket.cpp
70                         # TODO: another add-on for file:// (a much simpler one)
71                         FileRequest.cpp
73                         # TODO: another add-on for gopher://
74                         GopherRequest.cpp
76                         # TODO: The HTTP stuff should all go into an add-on. It needs
77                         # linking against libcrypto.so and only the add-on should link
78                         # against it.
79                         DataRequest.cpp
80                         HttpAuthentication.cpp
81                         HttpHeaders.cpp
82                         HttpForm.cpp
83                         HttpRequest.cpp
84                         HttpResult.cpp
85                         HttpTime.cpp
87                         notifications.cpp
89                         $(md5Sources)
91                         NetworkRequest.cpp
92                         Url.cpp
93                         UrlContext.cpp
94                         UrlProtocolAsynchronousListener.cpp
95                         UrlProtocolDispatchingListener.cpp
96                         UrlProtocolListener.cpp
97                         UrlProtocolRoster.cpp
98                         UrlRequest.cpp
99                         UrlResult.cpp
100                         UrlSynchronousRequest.cpp
102                         :
103                         be $(TARGET_NETWORK_LIBS) [ TargetLibstdc++ ] [ TargetLibsupc++ ]
104                         [ BuildFeatureAttribute openssl : libraries ]
105                         [ BuildFeatureAttribute icu : libraries ]
106                         [ MultiArchDefaultGristFiles libshared.a ]
107                         ;
108         }