From ebb78dd9b70b96e75a2763014c579e3973f3179b Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Thu, 13 Jun 2013 16:43:40 +0200 Subject: [PATCH] Update openssl package Also use the new build feature rules --- build/jam/BuildFeatures | 58 ++++++++----------- build/jam/OptionalPackages | 3 + .../inbound_protocols/pop3/Jamfile | 10 ++-- .../outbound_protocols/smtp/Jamfile | 9 +-- src/bin/network/wget/Jamfile | 8 +-- src/kits/mail/Jamfile | 9 +-- src/kits/network/libnetapi/Jamfile | 12 ++-- 7 files changed, 53 insertions(+), 56 deletions(-) diff --git a/build/jam/BuildFeatures b/build/jam/BuildFeatures index cc4de9143a..ad98eb19c7 100644 --- a/build/jam/BuildFeatures +++ b/build/jam/BuildFeatures @@ -24,44 +24,32 @@ if [ IsOptionalHaikuImagePackageAdded OpenSSL ] { HAIKU_BUILD_FEATURE_SSL = 1 ; } -if $(HAIKU_GCC_VERSION[1]) >= 4 { - if $(TARGET_ARCH) = x86_64 { - HAIKU_OPENSSL_PACKAGE = openssl-1.0.0j-x86_64-2012-12-18.zip ; - } else { - HAIKU_OPENSSL_PACKAGE = openssl-1.0.0j-r1a4-x86-gcc4-2012-08-29.zip ; - } -} else { - HAIKU_OPENSSL_PACKAGE = openssl-1.0.0j-1-x86_gcc2.hpkg ; -} - -HAIKU_OPENSSL_URL = $(hpkgBaseURL)/$(HAIKU_OPENSSL_PACKAGE) ; - if $(HAIKU_BUILD_FEATURE_SSL) { - if $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 { - # Download the package. - local zipFile = [ DownloadFile $(HAIKU_OPENSSL_PACKAGE) - : $(HAIKU_OPENSSL_URL) ] ; + if $(TARGET_ARCH) in x86 x86_64 { + if $(HAIKU_GCC_VERSION[1]) >= 4 { + if $(TARGET_ARCH) = x86_64 { + HAIKU_OPENSSL_PACKAGE = openssl-1.0.0j-x86_64-2012-12-18.zip ; + } else { + HAIKU_OPENSSL_PACKAGE + = openssl-1.0.0j-r1a4-x86-gcc4-2012-08-29.zip ; + } + } else { + HAIKU_OPENSSL_PACKAGE = openssl-1.0.0j-2-x86_gcc2.hpkg ; + HAIKU_OPENSSL_DEVEL_PACKAGE = openssl_devel-1.0.0j-2-x86_gcc2.hpkg ; + } - # zip file and output directory - HAIKU_OPENSSL_ZIP_FILE = $(zipFile) ; - HAIKU_OPENSSL_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR) - $(HAIKU_OPENSSL_PACKAGE:B) ] ; + HAIKU_OPENSSL_URL = $(hpkgBaseURL)/$(HAIKU_OPENSSL_PACKAGE) ; + HAIKU_OPENSSL_DEVEL_URL + = $(hpkgBaseURL)/$(HAIKU_OPENSSL_DEVEL_PACKAGE) ; - # extract headers and libraries - HAIKU_OPENSSL_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_OPENSSL_DIR) - : develop/headers/ : $(zipFile) : extracted-openssl - ] ; - - HAIKU_OPENSSL_LIBS = [ ExtractArchive $(HAIKU_OPENSSL_DIR) - : - develop/lib/libcrypto.so - develop/lib/libssl.so - : $(zipFile) - : extracted-openssl - ] ; - - HAIKU_OPENSSL_HEADERS - = [ FDirName $(HAIKU_OPENSSL_DIR) develop/headers ] ; + ExtractBuildFeatureArchives openssl : + file: base $(HAIKU_OPENSSL_URL) + runtime: lib + file: devel $(HAIKU_OPENSSL_DEVEL_URL) + depends: base + libraries: develop/lib/libcrypto.so develop/lib/libssl.so + headers: develop/headers + ; EnableBuildFeatures openssl ; } else { diff --git a/build/jam/OptionalPackages b/build/jam/OptionalPackages index 6b91d17613..d5817a25cd 100644 --- a/build/jam/OptionalPackages +++ b/build/jam/OptionalPackages @@ -1478,6 +1478,9 @@ if [ IsOptionalHaikuImagePackageAdded OpenSSH ] { if [ IsOptionalHaikuImagePackageAdded OpenSSL ] { if $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 { InstallOptionalHaikuImagePackage $(HAIKU_OPENSSL_URL) ; + if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ] { + InstallOptionalHaikuImagePackage $(HAIKU_OPENSSL_DEVEL_URL) ; + } } else { Echo "No optional package OpenSSL available for $(TARGET_ARCH)" ; } diff --git a/src/add-ons/mail_daemon/inbound_protocols/pop3/Jamfile b/src/add-ons/mail_daemon/inbound_protocols/pop3/Jamfile index 51644d27b6..432cb4b0a1 100644 --- a/src/add-ons/mail_daemon/inbound_protocols/pop3/Jamfile +++ b/src/add-ons/mail_daemon/inbound_protocols/pop3/Jamfile @@ -17,10 +17,11 @@ local sources = ; # use OpenSSL, if enabled -if $(HAIKU_BUILD_FEATURE_OPENSSL_ENABLED) { +if [ FIsBuildFeatureEnabled openssl ] { SubDirC++Flags -DUSE_SSL ; - SubDirSysHdrs $(HAIKU_OPENSSL_HEADERS) ; - Includes [ FGristFiles $(sources) ] : $(HAIKU_OPENSSL_HEADERS_DEPENDENCY) ; + UseBuildFeatureHeaders openssl ; + Includes [ FGristFiles $(sources) ] + : [ BuildFeatureAttribute openssl : headers ] ; # Dependency needed to trigger downloading/unzipping the package before # compiling the files. SetupFeatureObjectsDir ssl ; @@ -33,7 +34,8 @@ AddResources POP3 : POP3.rdef ; Addon POP3 : $(sources) : be libbnetapi.so libmail.so $(HAIKU_LOCALE_LIBS) - $(HAIKU_OPENSSL_LIBS) $(TARGET_LIBSUPC++) $(TARGET_NETWORK_LIBS) + [ BuildFeatureAttribute openssl : libraries ] $(TARGET_LIBSUPC++) + $(TARGET_NETWORK_LIBS) ; Package haiku-maildaemon-cvs : diff --git a/src/add-ons/mail_daemon/outbound_protocols/smtp/Jamfile b/src/add-ons/mail_daemon/outbound_protocols/smtp/Jamfile index 425d4ad838..41f742f6ab 100644 --- a/src/add-ons/mail_daemon/outbound_protocols/smtp/Jamfile +++ b/src/add-ons/mail_daemon/outbound_protocols/smtp/Jamfile @@ -13,10 +13,11 @@ local sources = ; # use OpenSSL, if enabled -if $(HAIKU_BUILD_FEATURE_OPENSSL_ENABLED) { +if [ FIsBuildFeatureEnabled openssl ] { SubDirC++Flags -DUSE_SSL ; - SubDirSysHdrs $(HAIKU_OPENSSL_HEADERS) ; - Includes [ FGristFiles $(sources) ] : $(HAIKU_OPENSSL_HEADERS_DEPENDENCY) ; + UseBuildFeatureHeaders openssl ; + Includes [ FGristFiles $(sources) ] + : [ BuildFeatureAttribute openssl : headers ] ; # Dependency needed to trigger downloading/unzipping the package before # compiling the files. SetupFeatureObjectsDir ssl ; @@ -29,7 +30,7 @@ AddResources SMTP : SMTP.rdef ; Addon SMTP : $(sources) : be libmail.so $(TARGET_NETWORK_LIBS) $(TARGET_LIBSTDC++) - $(HAIKU_LOCALE_LIBS) $(HAIKU_OPENSSL_LIBS) + $(HAIKU_LOCALE_LIBS) [ BuildFeatureAttribute openssl : libraries ] ; DoCatalogs SMTP : diff --git a/src/bin/network/wget/Jamfile b/src/bin/network/wget/Jamfile index a9d1f7b0ac..efc1ed2982 100644 --- a/src/bin/network/wget/Jamfile +++ b/src/bin/network/wget/Jamfile @@ -12,12 +12,12 @@ SubDirSysHdrs [ FDirName $(SUBDIR) md5 ] ; # use OpenSSL, if enabled local sslSources ; -if $(HAIKU_BUILD_FEATURE_OPENSSL_ENABLED) { +if [ FIsBuildFeatureEnabled openssl ] { SubDirCcFlags -DHAVE_LIBSSL ; - SubDirSysHdrs $(HAIKU_OPENSSL_HEADERS) ; + UseBuildFeatureHeaders openssl ; sslSources = openssl.c ; Includes [ FGristFiles $(sslSources) ] - : $(HAIKU_OPENSSL_HEADERS_DEPENDENCY) ; + : [ BuildFeatureAttribute openssl : headers ] ; # Dependency needed to trigger downloading/unzipping the package before # compiling the files. SetupFeatureObjectsDir ssl ; @@ -75,5 +75,5 @@ BinCommand wget : xmalloc.c xalloc-die.c $(sslSources) - : $(TARGET_NETWORK_LIBS) $(HAIKU_OPENSSL_LIBS) + : $(TARGET_NETWORK_LIBS) [ BuildFeatureAttribute openssl : libraries ] ; diff --git a/src/kits/mail/Jamfile b/src/kits/mail/Jamfile index cbe5947953..a053f84cff 100644 --- a/src/kits/mail/Jamfile +++ b/src/kits/mail/Jamfile @@ -36,10 +36,11 @@ local sources = # use OpenSSL, if enabled -if $(HAIKU_BUILD_FEATURE_OPENSSL_ENABLED) { +if [ FIsBuildFeatureEnabled openssl ] { SubDirC++Flags -DUSE_SSL ; - SubDirSysHdrs $(HAIKU_OPENSSL_HEADERS) ; - Includes [ FGristFiles $(sources) ] : $(HAIKU_OPENSSL_HEADERS_DEPENDENCY) ; + UseBuildFeatureHeaders openssl ; + Includes [ FGristFiles $(sources) ] + : [ BuildFeatureAttribute openssl : headers ] ; # Dependency needed to trigger downloading/unzipping the package before # compiling the files. SetupFeatureObjectsDir ssl ; @@ -56,7 +57,7 @@ SharedLibrary libmail.so : $(TARGET_LIBSTDC++) $(TARGET_NETWORK_LIBS) $(TARGET_SELECT_UNAME_ETC_LIB) - $(HAIKU_OPENSSL_LIBS) + [ BuildFeatureAttribute openssl : libraries ] $(HAIKU_LOCALE_LIBS) ; diff --git a/src/kits/network/libnetapi/Jamfile b/src/kits/network/libnetapi/Jamfile index 5d09f54b75..e2d7252bd9 100644 --- a/src/kits/network/libnetapi/Jamfile +++ b/src/kits/network/libnetapi/Jamfile @@ -8,13 +8,14 @@ UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_wlan ] : true ; local sslSources ; local md5Sources ; -if $(HAIKU_BUILD_FEATURE_OPENSSL_ENABLED) { +if [ FIsBuildFeatureEnabled openssl ] { SubDirC++Flags -DOPENSSL_ENABLED ; - SubDirSysHdrs $(HAIKU_OPENSSL_HEADERS) ; + UseBuildFeatureHeaders openssl ; sslSources = SSL.cpp ; md5Sources = ; - Includes [ FGristFiles $(sslSources) SecureSocket.cpp HttpAuthentication.cpp ] - : $(HAIKU_OPENSSL_HEADERS_DEPENDENCY) ; + Includes [ FGristFiles $(sslSources) SecureSocket.cpp + HttpAuthentication.cpp ] + : [ BuildFeatureAttribute openssl : headers ] ; # Dependency needed to trigger downloading/unzipping the package before # compiling the files. SetupFeatureObjectsDir ssl ; @@ -71,6 +72,7 @@ SharedLibrary libbnetapi.so : UrlSynchronousRequest.cpp : - be $(TARGET_NETWORK_LIBS) $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++) $(HAIKU_OPENSSL_LIBS) + be $(TARGET_NETWORK_LIBS) $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++) + [ BuildFeatureAttribute openssl : libraries ] libshared.a ;