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 11SubDirC++Flags [ FDefines _BSD_SOURCE=1 ] ; 12 13local architectureObject ; 14for architectureObject in [ MultiArchSubDirSetup ] { 15 on $(architectureObject) { 16 local sslSources ; 17 local md5Sources ; 18 19 UsePrivateSystemHeaders ; 20 21 if [ FIsBuildFeatureEnabled openssl ] { 22 SubDirC++Flags -DOPENSSL_ENABLED ; 23 UseBuildFeatureHeaders openssl ; 24 sslSources = SSL.cpp ; 25 md5Sources = ; 26 Includes [ FGristFiles $(sslSources) SecureSocket.cpp 27 HttpAuthentication.cpp Certificate.cpp ] 28 : [ BuildFeatureAttribute openssl : headers ] ; 29 # Dependency needed to trigger downloading/unzipping the package 30 # before compiling the files. 31 SetupFeatureObjectsDir ssl ; 32 } else { 33 # As we don't have md5 from ssl, use our own 34 md5Sources = md5.c ; 35 SetupFeatureObjectsDir no-ssl ; 36 } 37 38 SharedLibrary [ MultiArchDefaultGristFiles libbnetapi.so ] : 39 DynamicBuffer.cpp 40 NetEndpoint.cpp 41 NetAddress.cpp 42 NetBuffer.cpp 43 NetDebug.cpp 44 45 $(sslSources) 46 Certificate.cpp 47 48 NetworkAddress.cpp 49 NetworkAddressResolver.cpp 50 NetworkCookie.cpp 51 NetworkCookieJar.cpp 52 NetworkDevice.cpp 53 NetworkInterface.cpp 54 NetworkRoster.cpp 55 NetworkRoute.cpp 56 NetworkSettings.cpp 57 58 AbstractSocket.cpp 59 DatagramSocket.cpp 60 ProxySecureSocket.cpp 61 SecureSocket.cpp 62 Socket.cpp 63 SocketMessenger.cpp 64 65 # TODO: another add-on for file:// (a much simpler one) 66 FileRequest.cpp 67 68 # TODO: another add-on for gopher:// 69 GopherRequest.cpp 70 71 # TODO: The HTTP stuff should all go into an add-on. It needs 72 # linking against libcrypto.so and only the add-on should link 73 # against it. 74 DataRequest.cpp 75 HttpAuthentication.cpp 76 HttpHeaders.cpp 77 HttpForm.cpp 78 HttpRequest.cpp 79 HttpResult.cpp 80 HttpTime.cpp 81 82 notifications.cpp 83 84 $(md5Sources) 85 86 NetworkRequest.cpp 87 UrlContext.cpp 88 UrlProtocolAsynchronousListener.cpp 89 UrlProtocolDispatchingListener.cpp 90 UrlProtocolListener.cpp 91 UrlProtocolRoster.cpp 92 UrlRequest.cpp 93 UrlResult.cpp 94 UrlSynchronousRequest.cpp 95 96 : 97 be shared $(TARGET_NETWORK_LIBS) [ TargetLibstdc++ ] 98 [ TargetLibsupc++ ] [ BuildFeatureAttribute openssl : libraries ] 99 [ BuildFeatureAttribute icu : libraries ] 100 ; 101 } 102} 103