# This file contains setup for features that can optionally be used for the # build. For features that require downloading a zip file from somewhere it is # likely the same file use for an optional package. # SSL # Automatically enable the SSL feature, when the optional OpenSSL optional # package is enabled. if [ IsOptionalHaikuImagePackageAdded OpenSSL ] { HAIKU_BUILD_FEATURE_SSL = 1 ; } local baseURL = http://haiku-files.org/files/optional-packages ; HAIKU_OPENSSL_PACKAGE = openssl-1.0.0-r1a2-x86-gcc2-2010-04-22-a.zip ; HAIKU_OPENSSL_URL = $(baseURL)/$(HAIKU_OPENSSL_PACKAGE) ; if $(HAIKU_BUILD_FEATURE_SSL) { if $(TARGET_ARCH) != x86 { Echo "SSL build feature not available for $(TARGET_ARCH)" ; } else { # Download the zip archive. local zipFile = [ DownloadFile $(HAIKU_OPENSSL_PACKAGE) : $(HAIKU_OPENSSL_URL) ] ; # zip file and output directory HAIKU_OPENSSL_ZIP_FILE = $(zipFile) ; HAIKU_OPENSSL_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR) $(HAIKU_OPENSSL_PACKAGE:B) ] ; # extract headers and libraries HAIKU_OPENSSL_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_OPENSSL_DIR) : common/include/ : $(zipFile) ] ; HAIKU_OPENSSL_LIBS = [ ExtractArchive $(HAIKU_OPENSSL_DIR) : common/lib/libcrypto.so common/lib/libssl.so : $(zipFile) ] ; HAIKU_OPENSSL_ENABLED = 1 ; HAIKU_OPENSSL_HEADERS = [ FDirName $(HAIKU_OPENSSL_DIR) common include ] ; } } # ICU # Note ICU isn't actually optional, but is still an external package HAIKU_ICU_GCC_2_PACKAGE = icu-4.4.1-x86-gcc2-2010-07-26.zip ; HAIKU_ICU_GCC_4_PACKAGE = icu-4.4.1-x86-gcc4-2010-07-26.zip ; HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.4.1-2010-07-26.zip ; if $(TARGET_ARCH) != x86 { Echo "ICU not available for $(TARGET_ARCH)" ; } else { local icu_package ; if $(HAIKU_GCC_VERSION[1]) = 2 { icu_package = $(HAIKU_ICU_GCC_2_PACKAGE) ; } else { icu_package = $(HAIKU_ICU_GCC_4_PACKAGE) ; } local zipFile = [ DownloadFile $(icu_package) : $(baseURL)/$(icu_package) ] ; # zip file and output directory HAIKU_ICU_ZIP_FILE = $(zipFile) ; HAIKU_ICU_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR) $(icu_package:B) ] ; # extract libraries HAIKU_ICU_LIBS = [ ExtractArchive $(HAIKU_ICU_DIR) : libicudata.so.44 libicui18n.so.44 libicuio.so.44 libicule.so.44 libiculx.so.44 libicutu.so.44 libicuuc.so.44 : $(zipFile) ] ; } # zip file and output directory HAIKU_ICU_DEVEL_ZIP_FILE = [ DownloadFile $(HAIKU_ICU_DEVEL_PACKAGE) : $(baseURL)/$(HAIKU_ICU_DEVEL_PACKAGE) ] ; HAIKU_ICU_DEVEL_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR) $(HAIKU_ICU_DEVEL_PACKAGE:B) ] ; # extract headers HAIKU_ICU_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_ICU_DEVEL_DIR) : develop/headers/3rdparty : $(HAIKU_ICU_DEVEL_ZIP_FILE) ] ; HAIKU_ICU_HEADERS = [ FDirName $(HAIKU_ICU_DEVEL_DIR) develop headers 3rdparty ] ;