1SubDir HAIKU_TOP src kits network libnetapi ; 2 3UsePrivateHeaders app net shared 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 ; 9 10local architectureObject ; 11for architectureObject in [ MultiArchSubDirSetup ] { 12 on $(architectureObject) { 13 local sslSources ; 14 local md5Sources ; 15 16 UsePrivateSystemHeaders ; 17 18 if [ FIsBuildFeatureEnabled openssl ] { 19 SubDirC++Flags -DOPENSSL_ENABLED ; 20 UseBuildFeatureHeaders openssl ; 21 sslSources = SSL.cpp ; 22 md5Sources = ; 23 Includes [ FGristFiles $(sslSources) SecureSocket.cpp 24 HttpAuthentication.cpp Certificate.cpp ] 25 : [ BuildFeatureAttribute openssl : headers ] ; 26 # Dependency needed to trigger downloading/unzipping the package before 27 # compiling the files. 28 SetupFeatureObjectsDir ssl ; 29 } else { 30 # As we don't have md5 from ssl, use our own 31 md5Sources = md5.c ; 32 SetupFeatureObjectsDir no-ssl ; 33 } 34 35 # BUrl uses ICU to perform IDNA conversions (unicode domain names) 36 UseBuildFeatureHeaders icu ; 37 Includes [ FGristFiles Url.cpp ] 38 : [ BuildFeatureAttribute icu : headers ] ; 39 40 SharedLibrary [ MultiArchDefaultGristFiles libbnetapi.so ] : 41 init.cpp 42 DynamicBuffer.cpp 43 NetEndpoint.cpp 44 NetAddress.cpp 45 NetBuffer.cpp 46 NetDebug.cpp 47 48 $(sslSources) 49 Certificate.cpp 50 51 NetworkAddress.cpp 52 NetworkAddressResolver.cpp 53 NetworkCookie.cpp 54 NetworkCookieJar.cpp 55 NetworkDevice.cpp 56 NetworkInterface.cpp 57 NetworkRoster.cpp 58 RouteSupport.cpp 59 60 AbstractSocket.cpp 61 DatagramSocket.cpp 62 Socket.cpp 63 SecureSocket.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 getifaddrs.cpp 83 notifications.cpp 84 85 $(md5Sources) 86 87 NetworkRequest.cpp 88 Url.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 $(TARGET_NETWORK_LIBS) [ TargetLibstdc++ ] [ TargetLibsupc++ ] 100 [ BuildFeatureAttribute openssl : libraries ] 101 [ BuildFeatureAttribute icu : libraries ] 102 [ MultiArchDefaultGristFiles libshared.a ] 103 ; 104 } 105} 106