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 compat ] 7 : true ; 8UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_wlan ] : true ; 9UseHeaders [ FDirName $(HAIKU_TOP) headers os add-ons network_settings ] 10 : true ; 11 12SubDirC++Flags [ FDefines _BSD_SOURCE=1 ] ; 13 14local architectureObject ; 15for architectureObject in [ MultiArchSubDirSetup ] { 16 on $(architectureObject) { 17 local sslSources ; 18 local md5Sources ; 19 20 UsePrivateSystemHeaders ; 21 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 } 38 39 SharedLibrary [ MultiArchDefaultGristFiles libbnetapi.so ] : 40 init.cpp 41 DynamicBuffer.cpp 42 NetEndpoint.cpp 43 NetAddress.cpp 44 NetBuffer.cpp 45 NetDebug.cpp 46 47 $(sslSources) 48 Certificate.cpp 49 50 NetworkAddress.cpp 51 NetworkAddressResolver.cpp 52 NetworkCookie.cpp 53 NetworkCookieJar.cpp 54 NetworkDevice.cpp 55 NetworkInterface.cpp 56 NetworkRoster.cpp 57 NetworkRoute.cpp 58 NetworkSettings.cpp 59 60 AbstractSocket.cpp 61 DatagramSocket.cpp 62 ProxySecureSocket.cpp 63 SecureSocket.cpp 64 Socket.cpp 65 SocketMessenger.cpp 66 67 # TODO: another add-on for file:// (a much simpler one) 68 FileRequest.cpp 69 70 # TODO: another add-on for gopher:// 71 GopherRequest.cpp 72 73 # TODO: The HTTP stuff should all go into an add-on. It needs 74 # linking against libcrypto.so and only the add-on should link 75 # against it. 76 DataRequest.cpp 77 HttpAuthentication.cpp 78 HttpHeaders.cpp 79 HttpForm.cpp 80 HttpRequest.cpp 81 HttpResult.cpp 82 HttpTime.cpp 83 84 notifications.cpp 85 86 $(md5Sources) 87 88 NetworkRequest.cpp 89 UrlContext.cpp 90 UrlProtocolAsynchronousListener.cpp 91 UrlProtocolDispatchingListener.cpp 92 UrlProtocolListener.cpp 93 UrlProtocolRoster.cpp 94 UrlRequest.cpp 95 UrlResult.cpp 96 UrlSynchronousRequest.cpp 97 98 : 99 be shared $(TARGET_NETWORK_LIBS) [ TargetLibstdc++ ] 100 [ TargetLibsupc++ ] [ BuildFeatureAttribute openssl : libraries ] 101 [ BuildFeatureAttribute icu : libraries ] 102 ; 103 } 104} 105