# 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 ] ;
	}
}
