1SubDir HAIKU_TOP src kits network libnetapi ; 2 3UsePrivateHeaders app 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 architectureObject ; 10for architectureObject in [ MultiArchSubDirSetup ] { 11 on $(architectureObject) { 12 UseBuildFeatureHeaders zlib ; 13 14 local sslSources ; 15 local md5Sources ; 16 17 Includes [ FGristFiles $(HPKG_SOURCES) ] 18 : [ BuildFeatureAttribute zlib : headers ] ; 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 before 31 # 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 RouteSupport.cpp 58 59 AbstractSocket.cpp 60 DatagramSocket.cpp 61 Socket.cpp 62 SecureSocket.cpp 63 64 # TODO: The HTTP stuff should all go into an add-on. It needs 65 # linking against libcrypto.so and only the add-on should link 66 # against it. 67 DataRequest.cpp 68 HttpAuthentication.cpp 69 HttpHeaders.cpp 70 HttpForm.cpp 71 HttpRequest.cpp 72 HttpResult.cpp 73 HttpTime.cpp 74 75 # TODO: another add-on for file:// (a much simpler one) 76 FileRequest.cpp 77 78 notifications.cpp 79 80 $(md5Sources) 81 82 Url.cpp 83 UrlContext.cpp 84 UrlProtocolAsynchronousListener.cpp 85 UrlProtocolDispatchingListener.cpp 86 UrlProtocolListener.cpp 87 UrlProtocolRoster.cpp 88 UrlRequest.cpp 89 UrlResult.cpp 90 UrlSynchronousRequest.cpp 91 92 : 93 be $(TARGET_NETWORK_LIBS) $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++) 94 [ BuildFeatureAttribute openssl : libraries ] 95 [ BuildFeatureAttribute zlib : library ] 96 [ MultiArchDefaultGristFiles libshared.a ] 97 ; 98 } 99} 100