haiku/build/jam/OptionalBuildFeatures

95 lines
2.6 KiB
Plaintext
Raw Normal View History

# 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
local isHybridBuild ;
if $(HAIKU_ADD_ALTERNATIVE_GCC_LIBS) = 1
&& $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR) {
isHybridBuild = 1 ;
}
if $(HAIKU_GCC_VERSION[1]) < 4 && !isHybridBuild) {
HAIKU_ICU_PACKAGE = icu-4.4.1-r1a2-x86-gcc2-2010-07-13-b.zip ;
} else {
HAIKU_ICU_PACKAGE = icu-4.4.1-r1a2-x86-gcc4-2010-07-13-b.zip ;
}
HAIKU_ICU_URL = $(baseURL)/$(HAIKU_ICU_PACKAGE) ;
if $(TARGET_ARCH) != x86 {
Echo "ICU not available for $(TARGET_ARCH)" ;
} else {
local zipFile = [ DownloadFile $(HAIKU_ICU_PACKAGE) : $(HAIKU_ICU_URL) ] ;
# zip file and output directory
HAIKU_ICU_ZIP_FILE = $(zipFile) ;
HAIKU_ICU_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
$(HAIKU_ICU_PACKAGE:B) ] ;
# extract headers and libraries
# HAIKU_ICU_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_ICU_DIR)
# : common/include/ : $(zipFile) ] ;
HAIKU_ICU_LIBS = [ ExtractArchive $(HAIKU_ICU_DIR)
:
system/lib/libicudata.so.44
system/lib/libicui18n.so.44
system/lib/libicuio.so.44
system/lib/libicule.so.44
system/lib/libiculx.so.44
system/lib/libicutu.so.44
system/lib/libicuuc.so.44
: $(zipFile)
] ;
HAIKU_ICU_HEADERS
= [ FDirName $(HAIKU_ICU_DIR) common include ] ;
}