2009-04-08 14:07:17 +04:00
|
|
|
# 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 ;
|
|
|
|
}
|
|
|
|
|
2010-11-22 16:06:36 +03:00
|
|
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
2011-09-10 02:27:08 +04:00
|
|
|
HAIKU_OPENSSL_PACKAGE = openssl-1.0.0e-x86-gcc4-2011-09-08.zip ;
|
2010-11-22 16:06:36 +03:00
|
|
|
} else {
|
2011-09-10 02:27:08 +04:00
|
|
|
HAIKU_OPENSSL_PACKAGE = openssl-1.0.0e-x86-gcc2-2011-09-09.zip ;
|
2010-11-22 16:06:36 +03:00
|
|
|
}
|
|
|
|
|
2009-04-08 14:07:17 +04:00
|
|
|
local baseURL = http://haiku-files.org/files/optional-packages ;
|
2010-02-27 20:48:12 +03:00
|
|
|
HAIKU_OPENSSL_URL = $(baseURL)/$(HAIKU_OPENSSL_PACKAGE) ;
|
2009-04-08 14:07:17 +04:00
|
|
|
|
|
|
|
if $(HAIKU_BUILD_FEATURE_SSL) {
|
|
|
|
if $(TARGET_ARCH) != x86 {
|
|
|
|
Echo "SSL build feature not available for $(TARGET_ARCH)" ;
|
|
|
|
} else {
|
|
|
|
# Download the zip archive.
|
2010-02-27 20:48:12 +03:00
|
|
|
local zipFile = [ DownloadFile $(HAIKU_OPENSSL_PACKAGE)
|
2009-04-08 14:07:17 +04:00
|
|
|
: $(HAIKU_OPENSSL_URL) ] ;
|
|
|
|
|
|
|
|
# zip file and output directory
|
|
|
|
HAIKU_OPENSSL_ZIP_FILE = $(zipFile) ;
|
|
|
|
HAIKU_OPENSSL_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
2010-02-27 20:48:12 +03:00
|
|
|
$(HAIKU_OPENSSL_PACKAGE:B) ] ;
|
2009-04-08 14:07:17 +04:00
|
|
|
|
2010-02-27 20:48:12 +03:00
|
|
|
# extract headers and libraries
|
2010-02-25 17:54:50 +03:00
|
|
|
HAIKU_OPENSSL_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_OPENSSL_DIR)
|
2011-07-10 19:18:52 +04:00
|
|
|
: common/include/ : $(zipFile) : extracted-openssl
|
2009-04-08 14:07:17 +04:00
|
|
|
] ;
|
|
|
|
|
2010-02-25 17:54:50 +03:00
|
|
|
HAIKU_OPENSSL_LIBS = [ ExtractArchive $(HAIKU_OPENSSL_DIR)
|
2009-04-08 14:07:17 +04:00
|
|
|
:
|
|
|
|
common/lib/libcrypto.so
|
|
|
|
common/lib/libssl.so
|
|
|
|
: $(zipFile)
|
2011-07-10 19:18:52 +04:00
|
|
|
: extracted-openssl
|
2009-04-08 14:07:17 +04:00
|
|
|
] ;
|
|
|
|
|
|
|
|
HAIKU_OPENSSL_ENABLED = 1 ;
|
|
|
|
HAIKU_OPENSSL_HEADERS
|
|
|
|
= [ FDirName $(HAIKU_OPENSSL_DIR) common include ] ;
|
|
|
|
}
|
|
|
|
}
|
2010-07-13 23:04:40 +04:00
|
|
|
|
|
|
|
|
|
|
|
# ICU
|
|
|
|
|
|
|
|
# Note ICU isn't actually optional, but is still an external package
|
2011-11-03 00:38:31 +04:00
|
|
|
HAIKU_ICU_GCC_2_PACKAGE = icu-4.8.1-x86-gcc2-2011-11-02a.zip ;
|
2011-11-02 16:20:52 +04:00
|
|
|
HAIKU_ICU_GCC_4_PACKAGE = icu-4.8.1-x86-gcc4-2011-11-02.zip ;
|
2011-08-20 17:56:43 +04:00
|
|
|
HAIKU_ICU_PPC_PACKAGE = icu-4.8.1-ppc-2011-08-20.zip ;
|
2011-08-19 02:13:06 +04:00
|
|
|
|
2011-08-23 01:15:34 +04:00
|
|
|
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 {
|
2010-07-15 06:24:17 +04:00
|
|
|
local icu_package ;
|
2011-08-23 01:15:34 +04:00
|
|
|
if $(TARGET_ARCH) = ppc {
|
|
|
|
icu_package = $(HAIKU_ICU_PPC_PACKAGE) ;
|
2011-12-19 14:46:15 +04:00
|
|
|
HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1-ppc-2011-12-19.zip ;
|
2011-08-23 01:15:34 +04:00
|
|
|
} else if $(HAIKU_GCC_VERSION[1]) = 2 {
|
2010-07-15 06:24:17 +04:00
|
|
|
icu_package = $(HAIKU_ICU_GCC_2_PACKAGE) ;
|
2011-12-20 03:27:16 +04:00
|
|
|
HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1.1-x86-gcc2-2011-12-20.zip ;
|
2010-07-15 06:24:17 +04:00
|
|
|
} else {
|
|
|
|
icu_package = $(HAIKU_ICU_GCC_4_PACKAGE) ;
|
2011-12-20 03:27:16 +04:00
|
|
|
HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1.1-x86-gcc4-2011-12-20.zip ;
|
2010-07-15 06:24:17 +04:00
|
|
|
}
|
|
|
|
local zipFile = [ DownloadFile $(icu_package)
|
|
|
|
: $(baseURL)/$(icu_package) ] ;
|
2010-07-13 23:04:40 +04:00
|
|
|
|
|
|
|
# zip file and output directory
|
|
|
|
HAIKU_ICU_ZIP_FILE = $(zipFile) ;
|
|
|
|
HAIKU_ICU_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
2010-07-15 06:24:17 +04:00
|
|
|
$(icu_package:B) ] ;
|
2010-07-13 23:04:40 +04:00
|
|
|
|
2010-07-16 01:23:45 +04:00
|
|
|
# extract libraries
|
2011-11-02 20:29:05 +04:00
|
|
|
if $(TARGET_ARCH) = ppc {
|
|
|
|
HAIKU_ICU_LIBS = [ ExtractArchive $(HAIKU_ICU_DIR)
|
|
|
|
:
|
|
|
|
libicudata.so.48.1
|
|
|
|
libicui18n.so.48.1
|
|
|
|
libicuio.so.48.1
|
|
|
|
libicule.so.48.1
|
|
|
|
libiculx.so.48.1
|
|
|
|
libicutu.so.48.1
|
|
|
|
libicuuc.so.48.1
|
|
|
|
: $(zipFile)
|
|
|
|
: extracted-icu
|
|
|
|
] ;
|
|
|
|
} else {
|
|
|
|
HAIKU_ICU_LIBS = [ ExtractArchive $(HAIKU_ICU_DIR)
|
|
|
|
:
|
|
|
|
libicudata.so.48.1.1
|
|
|
|
libicui18n.so.48.1.1
|
|
|
|
libicuio.so.48.1.1
|
|
|
|
libicule.so.48.1.1
|
|
|
|
libiculx.so.48.1.1
|
|
|
|
libicutu.so.48.1.1
|
|
|
|
libicuuc.so.48.1.1
|
|
|
|
: $(zipFile)
|
|
|
|
: extracted-icu
|
|
|
|
] ;
|
|
|
|
}
|
2012-01-05 06:26:59 +04:00
|
|
|
|
|
|
|
# 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)
|
|
|
|
: extracted-icu-devel ] ;
|
|
|
|
|
|
|
|
HAIKU_ICU_HEADERS
|
|
|
|
= [ FDirName $(HAIKU_ICU_DEVEL_DIR) develop headers 3rdparty ] ;
|
2011-08-23 01:15:34 +04:00
|
|
|
} else {
|
|
|
|
Echo "ICU not available for $(TARGET_ARCH)" ;
|
2010-07-13 23:04:40 +04:00
|
|
|
}
|
2010-07-16 01:23:45 +04:00
|
|
|
|
2010-10-20 11:44:30 +04:00
|
|
|
|
2010-10-29 00:57:11 +04:00
|
|
|
# CLucene
|
2010-10-20 11:44:30 +04:00
|
|
|
|
2010-10-29 00:57:11 +04:00
|
|
|
# Automatically install the CLucene feature, when the optional CLucene optional
|
|
|
|
# package is enabled.
|
|
|
|
if [ IsOptionalHaikuImagePackageAdded CLucene ] {
|
|
|
|
HAIKU_BUILD_FEATURE_CLUCENE = 1 ;
|
2010-10-20 11:44:30 +04:00
|
|
|
}
|
|
|
|
|
2010-10-29 00:57:11 +04:00
|
|
|
local baseURL = http://haiku-files.org/files/optional-packages ;
|
2010-10-29 01:24:50 +04:00
|
|
|
HAIKU_CLUCENE_PACKAGE = clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip ;
|
2010-10-29 00:57:11 +04:00
|
|
|
HAIKU_CLUCENE_URL = $(baseURL)/$(HAIKU_CLUCENE_PACKAGE) ;
|
2010-10-20 11:44:30 +04:00
|
|
|
|
2010-10-29 00:57:11 +04:00
|
|
|
if $(HAIKU_BUILD_FEATURE_CLUCENE) {
|
|
|
|
if $(TARGET_ARCH) != x86 {
|
|
|
|
Echo "CLucene build feature not available for $(TARGET_ARCH)" ;
|
|
|
|
} else {
|
|
|
|
# Download the zip archive.
|
|
|
|
local zipFile = [ DownloadFile $(HAIKU_CLUCENE_PACKAGE)
|
|
|
|
: $(HAIKU_CLUCENE_URL) ] ;
|
2010-07-16 01:23:45 +04:00
|
|
|
|
2010-10-29 00:57:11 +04:00
|
|
|
# zip file and output directory
|
|
|
|
HAIKU_CLUCENE_ZIP_FILE = $(zipFile) ;
|
|
|
|
HAIKU_CLUCENE_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_CLUCENE_PACKAGE:B) ] ;
|
2010-07-16 01:23:45 +04:00
|
|
|
|
2010-10-29 00:57:11 +04:00
|
|
|
# extract headers and libraries
|
|
|
|
HAIKU_CLUCENE_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_CLUCENE_DIR)
|
2011-07-10 19:18:52 +04:00
|
|
|
: common/include/ : $(zipFile) : extracted-clucene
|
2010-10-29 00:57:11 +04:00
|
|
|
] ;
|
|
|
|
|
|
|
|
HAIKU_CLUCENE_LIBS = [ ExtractArchive $(HAIKU_CLUCENE_DIR)
|
|
|
|
:
|
|
|
|
common/lib/libclucene.a
|
|
|
|
: $(zipFile)
|
2011-07-10 19:18:52 +04:00
|
|
|
: extracted-clucene
|
2010-10-29 00:57:11 +04:00
|
|
|
] ;
|
|
|
|
|
|
|
|
HAIKU_CLUCENE_HEADERS
|
|
|
|
= [ FDirName $(HAIKU_CLUCENE_DIR) common include ] ;
|
|
|
|
}
|
|
|
|
}
|
2010-10-29 17:00:19 +04:00
|
|
|
|
|
|
|
|
2012-01-08 10:22:07 +04:00
|
|
|
# Mesa
|
2012-01-17 18:57:49 +04:00
|
|
|
local mesaBaseURL = http://haiku-files.org/files/optional-packages ;
|
2012-01-08 10:22:07 +04:00
|
|
|
if $(TARGET_ARCH) = x86 {
|
2012-01-17 18:57:49 +04:00
|
|
|
local glslObject ;
|
|
|
|
local galliumObjects ;
|
2012-01-08 10:22:07 +04:00
|
|
|
local zipFile ;
|
|
|
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
2012-02-20 22:47:53 +04:00
|
|
|
HAIKU_MESA_FILE = mesa-8.0devel-x86-gcc4-2012-02-20.zip ;
|
|
|
|
#HAIKU_MESA_FILE = mesa-8.0develdbg-x86-gcc4-2012-02-20.zip ;
|
2012-01-17 18:57:49 +04:00
|
|
|
glslObject = lib.haiku/libglsl.a ;
|
|
|
|
galliumObjects = lib.haiku/libgallium.a ;
|
2012-01-08 10:22:07 +04:00
|
|
|
} else {
|
2012-01-17 18:57:49 +04:00
|
|
|
HAIKU_MESA_FILE = mesa-7.8.2-x86-gcc2-2012-01-17.zip ;
|
2012-01-08 10:22:07 +04:00
|
|
|
}
|
|
|
|
|
|
|
|
zipFile = [ DownloadFile $(HAIKU_MESA_FILE)
|
|
|
|
: $(mesaBaseURL)/$(HAIKU_MESA_FILE) ] ;
|
|
|
|
|
|
|
|
HAIKU_MESA_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_MESA_FILE:B) ] ;
|
|
|
|
|
|
|
|
HAIKU_MESA_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_MESA_DIR)
|
|
|
|
: include/ : $(zipFile) : extracted-mesa ] ;
|
|
|
|
|
2012-01-17 18:57:49 +04:00
|
|
|
HAIKU_MESA_LIBS = [ ExtractArchive $(HAIKU_MESA_DIR)
|
2012-01-08 10:22:07 +04:00
|
|
|
:
|
2012-01-17 18:57:49 +04:00
|
|
|
lib.haiku/libglu.a
|
|
|
|
$(galliumObjects)
|
|
|
|
lib.haiku/libglapi.a
|
|
|
|
$(glslObject)
|
|
|
|
lib.haiku/libmesa.a
|
2012-01-08 10:22:07 +04:00
|
|
|
: $(zipFile)
|
|
|
|
: extracted-mesa ] ;
|
|
|
|
|
|
|
|
HAIKU_MESA_HEADERS = [ FDirName $(HAIKU_MESA_DIR) include ] ;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
Echo "Mesa 3D rendering support not available on $(TARGET_ARCH)" ;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2010-10-29 17:00:19 +04:00
|
|
|
# TagLib
|
|
|
|
|
|
|
|
# Automatically install the TagLib feature, when the optional TagLib optional
|
|
|
|
# package is enabled.
|
|
|
|
if [ IsOptionalHaikuImagePackageAdded TagLib ] {
|
|
|
|
HAIKU_BUILD_FEATURE_TAGLIB = 1 ;
|
|
|
|
}
|
|
|
|
|
|
|
|
local baseURL = http://haiku-files.org/files/optional-packages ;
|
|
|
|
HAIKU_TAGLIB_PACKAGE = taglib-1.6.3-r1a2-x86-gcc2-2010-04-25.zip ;
|
|
|
|
HAIKU_TAGLIB_URL = $(baseURL)/$(HAIKU_TAGLIB_PACKAGE) ;
|
|
|
|
|
|
|
|
if $(HAIKU_BUILD_FEATURE_TAGLIB) {
|
|
|
|
if $(TARGET_ARCH) != x86 {
|
|
|
|
Echo "TagLib build feature not available for $(TARGET_ARCH)" ;
|
|
|
|
} else {
|
|
|
|
# Download the zip archive.
|
|
|
|
local zipFile = [ DownloadFile $(HAIKU_TAGLIB_PACKAGE)
|
|
|
|
: $(HAIKU_TAGLIB_URL) ] ;
|
|
|
|
|
|
|
|
# zip file and output directory
|
|
|
|
HAIKU_TAGLIB_ZIP_FILE = $(zipFile) ;
|
|
|
|
HAIKU_TAGLIB_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_TAGLIB_PACKAGE:B) ] ;
|
|
|
|
|
|
|
|
# extract headers and libraries
|
|
|
|
HAIKU_TAGLIB_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_TAGLIB_DIR)
|
2011-07-10 19:18:52 +04:00
|
|
|
: common/include/ : $(zipFile) : extracted-taglib
|
2010-10-29 17:00:19 +04:00
|
|
|
] ;
|
|
|
|
|
|
|
|
HAIKU_TAGLIB_LIBS = [ ExtractArchive $(HAIKU_TAGLIB_DIR)
|
|
|
|
:
|
|
|
|
common/lib/libtag.so
|
|
|
|
common/lib/libtag_c.so
|
|
|
|
: $(zipFile)
|
2011-07-10 19:18:52 +04:00
|
|
|
: extracted-taglib
|
2010-10-29 17:00:19 +04:00
|
|
|
] ;
|
|
|
|
|
|
|
|
HAIKU_TAGLIB_HEADERS
|
|
|
|
= [ FDirName $(HAIKU_TAGLIB_DIR) common include taglib ] ;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|