2012-12-09 07:07:29 +04:00
|
|
|
# This file contains setup for build features that are not available for all
|
|
|
|
# architectures/setups or that are optional for the build. For features that
|
|
|
|
# require downloading a zip file from somewhere it is likely the same file used
|
|
|
|
# for an optional package.
|
|
|
|
|
|
|
|
|
|
|
|
# Add the target architecture as a build feature.
|
|
|
|
EnableBuildFeatures $(HAIKU_ARCH) ;
|
|
|
|
|
2013-05-05 17:02:57 +04:00
|
|
|
if $(HAIKU_GCC_VERSION[1]) = 2 {
|
|
|
|
EnableBuildFeatures gcc2 ;
|
2012-07-12 23:33:11 +04:00
|
|
|
}
|
2009-04-08 14:07:17 +04:00
|
|
|
|
2013-05-05 17:02:57 +04:00
|
|
|
|
2012-07-09 00:04:18 +04:00
|
|
|
local baseURL = http://www.haiku-files.org/files/optional-packages ;
|
2013-05-05 17:02:57 +04:00
|
|
|
local hpkgBaseURL = http://haiku-files.org/files/hpkg ;
|
2012-07-09 00:04:18 +04:00
|
|
|
|
2009-04-08 14:07:17 +04:00
|
|
|
|
|
|
|
# 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 {
|
2012-12-18 18:47:02 +04:00
|
|
|
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 ;
|
|
|
|
}
|
2010-11-22 16:06:36 +03:00
|
|
|
} else {
|
2013-05-05 17:02:57 +04:00
|
|
|
HAIKU_OPENSSL_PACKAGE = openssl-1.0.0j-1-x86_gcc2.hpkg ;
|
2010-11-22 16:06:36 +03:00
|
|
|
}
|
|
|
|
|
2013-05-05 17:02:57 +04:00
|
|
|
HAIKU_OPENSSL_URL = $(hpkgBaseURL)/$(HAIKU_OPENSSL_PACKAGE) ;
|
2009-04-08 14:07:17 +04:00
|
|
|
|
|
|
|
if $(HAIKU_BUILD_FEATURE_SSL) {
|
2012-12-18 18:47:02 +04:00
|
|
|
if $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 {
|
2013-05-05 17:02:57 +04:00
|
|
|
# Download the package.
|
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)
|
2013-05-05 17:02:57 +04:00
|
|
|
: develop/headers/ : $(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
|
|
|
:
|
2013-05-05 17:02:57 +04:00
|
|
|
develop/lib/libcrypto.so
|
|
|
|
develop/lib/libssl.so
|
2009-04-08 14:07:17 +04:00
|
|
|
: $(zipFile)
|
2011-07-10 19:18:52 +04:00
|
|
|
: extracted-openssl
|
2009-04-08 14:07:17 +04:00
|
|
|
] ;
|
|
|
|
|
|
|
|
HAIKU_OPENSSL_HEADERS
|
2013-05-05 17:02:57 +04:00
|
|
|
= [ FDirName $(HAIKU_OPENSSL_DIR) develop/headers ] ;
|
2012-12-09 07:07:29 +04:00
|
|
|
|
|
|
|
EnableBuildFeatures openssl ;
|
2012-12-18 18:47:02 +04:00
|
|
|
} else {
|
|
|
|
Echo "SSL build feature not available for $(TARGET_ARCH)" ;
|
2009-04-08 14:07:17 +04:00
|
|
|
}
|
|
|
|
}
|
2010-07-13 23:04:40 +04:00
|
|
|
|
|
|
|
|
|
|
|
# ICU
|
|
|
|
|
|
|
|
# Note ICU isn't actually optional, but is still an external package
|
2013-05-05 17:02:57 +04:00
|
|
|
HAIKU_ICU_GCC_2_PACKAGE = icu-4.8.1.1-2-x86_gcc2.hpkg ;
|
2012-09-05 08:19:22 +04:00
|
|
|
HAIKU_ICU_GCC_4_PACKAGE = icu-4.8.1.1-r1a4-x86-gcc4-2012-08-29.zip ;
|
2013-05-05 17:02:57 +04:00
|
|
|
# TODO: Make hpkg!
|
2011-08-20 17:56:43 +04:00
|
|
|
HAIKU_ICU_PPC_PACKAGE = icu-4.8.1-ppc-2011-08-20.zip ;
|
2012-11-22 02:56:05 +04:00
|
|
|
HAIKU_ICU_ARM_PACKAGE = icu-4.8.1.1-arm-2012-11-21.zip ;
|
2012-07-31 00:42:49 +04:00
|
|
|
HAIKU_ICU_X86_64_PACKAGE = icu-4.8.1.1-x86_64-2012-07-30.zip ;
|
2011-08-19 02:13:06 +04:00
|
|
|
|
2012-12-09 07:07:29 +04:00
|
|
|
if $(TARGET_ARCH) in arm ppc x86 x86_64 {
|
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 ;
|
2012-11-16 06:01:19 +04:00
|
|
|
} else if $(TARGET_ARCH) = arm {
|
|
|
|
icu_package = $(HAIKU_ICU_ARM_PACKAGE) ;
|
2012-11-22 02:56:05 +04:00
|
|
|
HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1.1-arm-2012-11-21.zip ;
|
2012-07-31 00:42:49 +04:00
|
|
|
} else if $(TARGET_ARCH) = x86_64 {
|
|
|
|
icu_package = $(HAIKU_ICU_X86_64_PACKAGE) ;
|
|
|
|
HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1.1-x86_64-2012-07-30.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) ;
|
2013-05-05 17:02:57 +04:00
|
|
|
HAIKU_ICU_DEVEL_PACKAGE = icu_devel-4.8.1.1-2-x86_gcc2.hpkg ;
|
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
|
|
|
}
|
2013-05-05 17:02:57 +04:00
|
|
|
local packageFile = [ DownloadFile $(icu_package)
|
|
|
|
: $(hpkgBaseURL)/$(icu_package) ] ;
|
2010-07-13 23:04:40 +04:00
|
|
|
|
|
|
|
# zip file and output directory
|
2013-05-05 17:02:57 +04:00
|
|
|
HAIKU_ICU_PACKAGE_FILE = $(packageFile) ;
|
2010-07-13 23:04:40 +04:00
|
|
|
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
|
2013-05-05 17:02:57 +04:00
|
|
|
: $(packageFile)
|
2011-11-02 20:29:05 +04:00
|
|
|
: extracted-icu
|
|
|
|
] ;
|
|
|
|
} else {
|
|
|
|
HAIKU_ICU_LIBS = [ ExtractArchive $(HAIKU_ICU_DIR)
|
|
|
|
:
|
2013-05-05 17:02:57 +04:00
|
|
|
develop/lib/libicudata.so.48.1.1
|
|
|
|
develop/lib/libicui18n.so.48.1.1
|
|
|
|
develop/lib/libicuio.so.48.1.1
|
|
|
|
develop/lib/libicule.so.48.1.1
|
|
|
|
develop/lib/libiculx.so.48.1.1
|
|
|
|
develop/lib/libicutu.so.48.1.1
|
|
|
|
develop/lib/libicuuc.so.48.1.1
|
|
|
|
: $(packageFile)
|
2011-11-02 20:29:05 +04:00
|
|
|
: 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)
|
2013-05-05 17:02:57 +04:00
|
|
|
: $(hpkgBaseURL)/$(HAIKU_ICU_DEVEL_PACKAGE) ] ;
|
|
|
|
HAIKU_ICU_DEVEL_DIR = $(HAIKU_ICU_DIR) ;
|
2012-01-05 06:26:59 +04:00
|
|
|
|
|
|
|
# extract headers
|
2013-05-05 17:02:57 +04:00
|
|
|
HAIKU_ICU_HEADERS_DEPENDENCY = [ ExtractArchive
|
|
|
|
$(HAIKU_ICU_DEVEL_DIR:G=icu_devel)
|
|
|
|
# We need a grist here, so it's a different target than the one for the
|
|
|
|
# main package, even though it's the same directory.
|
|
|
|
: develop/headers : $(HAIKU_ICU_DEVEL_ZIP_FILE)
|
2012-01-05 06:26:59 +04:00
|
|
|
: extracted-icu-devel ] ;
|
|
|
|
|
|
|
|
HAIKU_ICU_HEADERS
|
2013-05-05 17:02:57 +04:00
|
|
|
= [ FDirName $(HAIKU_ICU_DEVEL_DIR) develop headers ] ;
|
2012-12-09 07:07:29 +04:00
|
|
|
|
|
|
|
EnableBuildFeatures icu ;
|
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
|
|
|
}
|
|
|
|
|
2012-07-09 00:04:18 +04:00
|
|
|
|
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 ] ;
|
2012-12-09 07:07:29 +04:00
|
|
|
|
|
|
|
EnableBuildFeatures clucene ;
|
2010-10-29 00:57:11 +04:00
|
|
|
}
|
|
|
|
}
|
2010-10-29 17:00:19 +04:00
|
|
|
|
|
|
|
|
2013-01-11 10:44:01 +04:00
|
|
|
# LLVM
|
|
|
|
if $(TARGET_ARCH) = x86 {
|
|
|
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
|
|
|
HAIKU_LLVM_FILE = llvm-3.2-x86-gcc4-2012-12-21.zip ;
|
|
|
|
local zipFile = [ DownloadFile $(HAIKU_LLVM_FILE)
|
|
|
|
: $(baseURL)/$(HAIKU_LLVM_FILE) ] ;
|
|
|
|
|
|
|
|
HAIKU_LLVM_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_LLVM_FILE:B) ] ;
|
|
|
|
|
|
|
|
HAIKU_LLVM_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LLVM_DIR)
|
|
|
|
: common/include/ : $(zipFile) : extracted-llvm ] ;
|
|
|
|
HAIKU_LLVM_HEADERS = [ FDirName $(HAIKU_LLVM_DIR) common include ] ;
|
|
|
|
|
|
|
|
# We can't Glob these because they aren't extracted yet.
|
|
|
|
HAIKU_LLVM_LIBS = [ ExtractArchive $(HAIKU_LLVM_DIR)
|
|
|
|
:
|
|
|
|
common/lib/libLLVMAsmParser.a
|
|
|
|
common/lib/libLLVMInstrumentation.a
|
|
|
|
common/lib/libLLVMLinker.a
|
|
|
|
common/lib/libLLVMArchive.a
|
|
|
|
common/lib/libLLVMBitReader.a
|
|
|
|
common/lib/libLLVMDebugInfo.a
|
|
|
|
common/lib/libLLVMJIT.a
|
|
|
|
common/lib/libLLVMipo.a
|
|
|
|
common/lib/libLLVMVectorize.a
|
|
|
|
common/lib/libLLVMBitWriter.a
|
|
|
|
common/lib/libLLVMTableGen.a
|
|
|
|
#common/lib/libLLVMHexagonCodeGen.a
|
|
|
|
#common/lib/libLLVMHexagonAsmPrinter.a
|
|
|
|
#common/lib/libLLVMHexagonDesc.a
|
|
|
|
#common/lib/libLLVMHexagonInfo.a
|
|
|
|
#common/lib/libLLVMNVPTXCodeGen.a
|
|
|
|
#common/lib/libLLVMNVPTXDesc.a
|
|
|
|
#common/lib/libLLVMNVPTXInfo.a
|
|
|
|
#common/lib/libLLVMNVPTXAsmPrinter.a
|
|
|
|
#common/lib/libLLVMMBlazeCodeGen.a
|
|
|
|
#common/lib/libLLVMMBlazeAsmParser.a
|
|
|
|
#common/lib/libLLVMMBlazeDisassembler.a
|
|
|
|
#common/lib/libLLVMMBlazeDesc.a
|
|
|
|
#common/lib/libLLVMMBlazeInfo.a
|
|
|
|
#common/lib/libLLVMMBlazeAsmPrinter.a
|
|
|
|
common/lib/libLLVMCppBackendCodeGen.a
|
|
|
|
common/lib/libLLVMCppBackendInfo.a
|
|
|
|
#common/lib/libLLVMMSP430CodeGen.a
|
|
|
|
#common/lib/libLLVMMSP430Desc.a
|
|
|
|
#common/lib/libLLVMMSP430AsmPrinter.a
|
|
|
|
#common/lib/libLLVMMSP430Info.a
|
|
|
|
#common/lib/libLLVMXCoreCodeGen.a
|
|
|
|
#common/lib/libLLVMXCoreDesc.a
|
|
|
|
#common/lib/libLLVMXCoreInfo.a
|
|
|
|
#common/lib/libLLVMCellSPUCodeGen.a
|
|
|
|
#common/lib/libLLVMCellSPUDesc.a
|
|
|
|
#common/lib/libLLVMCellSPUInfo.a
|
|
|
|
#common/lib/libLLVMMipsAsmParser.a
|
|
|
|
#common/lib/libLLVMMipsCodeGen.a
|
|
|
|
#common/lib/libLLVMMipsDesc.a
|
|
|
|
#common/lib/libLLVMMipsAsmPrinter.a
|
|
|
|
#common/lib/libLLVMMipsDisassembler.a
|
|
|
|
#common/lib/libLLVMMipsInfo.a
|
|
|
|
#common/lib/libLLVMARMAsmParser.a
|
|
|
|
#common/lib/libLLVMARMCodeGen.a
|
|
|
|
#common/lib/libLLVMARMDisassembler.a
|
|
|
|
#common/lib/libLLVMARMDesc.a
|
|
|
|
#common/lib/libLLVMARMInfo.a
|
|
|
|
#common/lib/libLLVMARMAsmPrinter.a
|
|
|
|
#common/lib/libLLVMPowerPCCodeGen.a
|
|
|
|
#common/lib/libLLVMPowerPCDesc.a
|
|
|
|
#common/lib/libLLVMPowerPCInfo.a
|
|
|
|
#common/lib/libLLVMPowerPCAsmPrinter.a
|
|
|
|
#common/lib/libLLVMSparcCodeGen.a
|
|
|
|
#common/lib/libLLVMSparcDesc.a
|
|
|
|
#common/lib/libLLVMSparcInfo.a
|
|
|
|
common/lib/libLLVMX86AsmParser.a
|
|
|
|
common/lib/libLLVMX86CodeGen.a
|
|
|
|
common/lib/libLLVMSelectionDAG.a
|
|
|
|
common/lib/libLLVMAsmPrinter.a
|
|
|
|
common/lib/libLLVMX86Disassembler.a
|
|
|
|
common/lib/libLLVMX86Desc.a
|
|
|
|
common/lib/libLLVMX86Info.a
|
|
|
|
common/lib/libLLVMX86AsmPrinter.a
|
|
|
|
common/lib/libLLVMX86Utils.a
|
|
|
|
common/lib/libLLVMMCDisassembler.a
|
|
|
|
common/lib/libLLVMMCParser.a
|
|
|
|
common/lib/libLLVMInterpreter.a
|
|
|
|
common/lib/libLLVMCodeGen.a
|
|
|
|
common/lib/libLLVMScalarOpts.a
|
|
|
|
common/lib/libLLVMInstCombine.a
|
|
|
|
common/lib/libLLVMTransformUtils.a
|
|
|
|
common/lib/libLLVMipa.a
|
|
|
|
common/lib/libLLVMAnalysis.a
|
|
|
|
common/lib/libLLVMMCJIT.a
|
|
|
|
common/lib/libLLVMRuntimeDyld.a
|
|
|
|
common/lib/libLLVMExecutionEngine.a
|
|
|
|
common/lib/libLLVMTarget.a
|
|
|
|
common/lib/libLLVMMC.a
|
|
|
|
common/lib/libLLVMObject.a
|
|
|
|
common/lib/libLLVMCore.a
|
|
|
|
common/lib/libLLVMSupport.a
|
|
|
|
: $(zipFile) : extracted-llvm ]
|
|
|
|
;
|
|
|
|
|
|
|
|
EnableBuildFeatures llvm ;
|
|
|
|
} else {
|
|
|
|
# Nor will it ever be
|
|
|
|
Echo "LLVM not available on GCC2" ;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
Echo "LLVM not yet available on $(TARGET_ARCH)" ;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2012-11-13 20:52:06 +04:00
|
|
|
# GLU (GL Utilities)
|
|
|
|
if $(TARGET_ARCH) = x86 {
|
|
|
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
|
|
|
HAIKU_GLU_FILE = glu-9.0-x86-gcc4-2012-11-13.zip ;
|
|
|
|
} else {
|
|
|
|
HAIKU_GLU_FILE = glu-9.0-x86-gcc2-2012-11-13.zip ;
|
|
|
|
}
|
|
|
|
|
|
|
|
local zipFile = [ DownloadFile $(HAIKU_GLU_FILE)
|
|
|
|
: $(baseURL)/lib/$(HAIKU_GLU_FILE) ] ;
|
|
|
|
|
|
|
|
HAIKU_GLU_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_GLU_FILE:B) ] ;
|
|
|
|
HAIKU_GLU_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_GLU_DIR)
|
|
|
|
: develop/headers/os/opengl/GL : $(zipFile) : extracted-glu-headers ] ;
|
|
|
|
HAIKU_GLU_LIBS = [ ExtractArchive $(HAIKU_GLU_DIR)
|
|
|
|
: system/lib/libGLU.a : $(zipFile) : extracted-glu ] ;
|
|
|
|
HAIKU_GLU_HEADERS = [ FDirName $(HAIKU_GLU_DIR) develop headers os opengl ] ;
|
2012-12-09 07:07:29 +04:00
|
|
|
|
|
|
|
EnableBuildFeatures glu ;
|
2012-11-13 20:52:06 +04:00
|
|
|
} else {
|
|
|
|
Echo "GLU not yet available on $(TARGET_ARCH)" ;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2012-01-08 10:22:07 +04:00
|
|
|
# Mesa
|
|
|
|
if $(TARGET_ARCH) = x86 {
|
|
|
|
local zipFile ;
|
|
|
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
2013-04-27 05:41:22 +04:00
|
|
|
HAIKU_MESA_FILE = mesa-9.1.1-x86-gcc4-2013-04-27.zip ;
|
2012-01-08 10:22:07 +04:00
|
|
|
} else {
|
2013-04-28 19:25:41 +04:00
|
|
|
HAIKU_MESA_FILE = mesa-7.8.2-x86-gcc2-2013-04-28.zip ;
|
2012-01-08 10:22:07 +04:00
|
|
|
}
|
|
|
|
|
|
|
|
zipFile = [ DownloadFile $(HAIKU_MESA_FILE)
|
2012-07-09 00:04:18 +04:00
|
|
|
: $(baseURL)/$(HAIKU_MESA_FILE) ] ;
|
2012-01-08 10:22:07 +04:00
|
|
|
|
|
|
|
HAIKU_MESA_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_MESA_FILE:B) ] ;
|
|
|
|
|
2013-04-28 20:35:38 +04:00
|
|
|
HAIKU_MESA_HEADERS = [ FDirName $(HAIKU_MESA_DIR) include ] ;
|
2012-01-08 10:22:07 +04:00
|
|
|
HAIKU_MESA_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_MESA_DIR)
|
|
|
|
: include/ : $(zipFile) : extracted-mesa ] ;
|
|
|
|
|
2013-04-28 20:35:38 +04:00
|
|
|
# Base Mesa libraries
|
2012-12-22 08:55:07 +04:00
|
|
|
HAIKU_MESA_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
|
|
|
|
:
|
|
|
|
lib.haiku/libmesa.a
|
|
|
|
: $(zipFile)
|
|
|
|
: extracted-mesa ] ;
|
2013-04-28 20:35:38 +04:00
|
|
|
HAIKU_GLAPI_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
|
2012-12-22 08:55:07 +04:00
|
|
|
:
|
2013-04-28 20:35:38 +04:00
|
|
|
lib.haiku/libglapi.a
|
2012-12-22 08:55:07 +04:00
|
|
|
: $(zipFile)
|
|
|
|
: extracted-mesa ] ;
|
2013-01-11 21:06:01 +04:00
|
|
|
|
2013-04-28 20:35:38 +04:00
|
|
|
Depends $(HAIKU_MESA_HEADERS_DEPENDENCY) : $(HAIKU_GLU_HEADERS_DEPENDENCY) ;
|
|
|
|
Depends $(HAIKU_GLAPI_LIBS) : $(HAIKU_GLU_LIBS) ;
|
|
|
|
|
|
|
|
# Extended Mesa libraries for newer versions
|
|
|
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
|
|
|
HAIKU_GLSL_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
|
2013-01-11 21:06:01 +04:00
|
|
|
:
|
2013-04-28 20:35:38 +04:00
|
|
|
lib.haiku/libglsl.a
|
2013-01-11 21:06:01 +04:00
|
|
|
: $(zipFile)
|
|
|
|
: extracted-mesa ] ;
|
2013-04-28 20:35:38 +04:00
|
|
|
HAIKU_GALLIUM_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
|
2013-01-11 21:06:01 +04:00
|
|
|
:
|
2013-04-28 20:35:38 +04:00
|
|
|
lib.haiku/libgallium.a
|
2013-01-11 21:06:01 +04:00
|
|
|
: $(zipFile)
|
|
|
|
: extracted-mesa ] ;
|
2012-12-20 04:17:59 +04:00
|
|
|
|
2013-04-28 20:35:38 +04:00
|
|
|
if FIsBuildFeatureEnabled(llvm) {
|
|
|
|
HAIKU_GALLIUM_LLVMPIPE_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
|
|
|
|
:
|
|
|
|
lib.haiku/libllvmpipe.a
|
|
|
|
: $(zipFile)
|
|
|
|
: extracted-mesa ] ;
|
|
|
|
Depends $(HAIKU_GALLIUM_LLVMPIPE_LIB) : $(HAIKU_LLVM_LIBS) ;
|
|
|
|
} else {
|
|
|
|
HAIKU_GALLIUM_SOFTPIPE_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
|
|
|
|
:
|
|
|
|
lib.haiku/libsoftpipe.a
|
|
|
|
: $(zipFile)
|
|
|
|
: extracted-mesa ] ;
|
|
|
|
}
|
|
|
|
}
|
2012-11-13 20:52:06 +04:00
|
|
|
|
2012-12-09 07:07:29 +04:00
|
|
|
EnableBuildFeatures mesa ;
|
2012-01-08 10:22:07 +04:00
|
|
|
} else {
|
|
|
|
Echo "Mesa 3D rendering support not available on $(TARGET_ARCH)" ;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2012-03-07 04:41:23 +04:00
|
|
|
# FFmpeg
|
2012-07-09 00:04:18 +04:00
|
|
|
local ffmpegBaseURL = $(baseURL)/lib ;
|
2012-03-07 04:41:23 +04:00
|
|
|
if $(TARGET_ARCH) = x86 {
|
|
|
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
2012-09-05 08:19:22 +04:00
|
|
|
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-r1a4-x86-gcc4-2012-09-02.zip ;
|
|
|
|
HAIKU_SPEEX_FILE = speex-1.2rc1-r1a4-x86-gcc4-2012-09-02.zip ;
|
|
|
|
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
|
|
|
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-r1a4-x86-gcc4-2012-09-02.zip ;
|
|
|
|
HAIKU_LIBOGG_FILE = libogg-1.3.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
|
|
|
HAIKU_LIBVPX_FILE = libvpx-1.0.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
2012-03-07 04:41:23 +04:00
|
|
|
} else {
|
2012-09-05 08:19:22 +04:00
|
|
|
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-r1a4-x86-gcc2-2012-08-30.zip ;
|
|
|
|
HAIKU_SPEEX_FILE = speex-1.2rc1-r1a4-x86-gcc2-2012-08-29.zip ;
|
|
|
|
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
|
|
|
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-r1a4-x86-gcc2-2012-08-29.zip ;
|
|
|
|
HAIKU_LIBOGG_FILE = libogg-1.3.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
|
|
|
HAIKU_LIBVPX_FILE = libvpx-1.0.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
2012-03-07 04:41:23 +04:00
|
|
|
}
|
|
|
|
|
2012-03-13 00:22:54 +04:00
|
|
|
local ffmpegZipFile = [ DownloadFile $(HAIKU_FFMPEG_FILE)
|
2012-03-07 04:41:23 +04:00
|
|
|
: $(ffmpegBaseURL)/$(HAIKU_FFMPEG_FILE) ] ;
|
2012-03-13 00:22:54 +04:00
|
|
|
local speexZipFile = [ DownloadFile $(HAIKU_SPEEX_FILE)
|
|
|
|
: $(ffmpegBaseURL)/$(HAIKU_SPEEX_FILE) ] ;
|
|
|
|
local libtheoraZipFile = [ DownloadFile $(HAIKU_LIBTHEORA_FILE)
|
|
|
|
: $(ffmpegBaseURL)/$(HAIKU_LIBTHEORA_FILE) ] ;
|
|
|
|
local libvorbisZipFile = [ DownloadFile $(HAIKU_LIBVORBIS_FILE)
|
|
|
|
: $(ffmpegBaseURL)/$(HAIKU_LIBVORBIS_FILE) ] ;
|
|
|
|
local liboggZipFile = [ DownloadFile $(HAIKU_LIBOGG_FILE)
|
|
|
|
: $(ffmpegBaseURL)/$(HAIKU_LIBOGG_FILE) ] ;
|
2012-03-14 04:56:15 +04:00
|
|
|
local libvpxZipFile = [ DownloadFile $(HAIKU_LIBVPX_FILE)
|
|
|
|
: $(ffmpegBaseURL)/$(HAIKU_LIBVPX_FILE) ] ;
|
2012-03-07 04:41:23 +04:00
|
|
|
|
|
|
|
HAIKU_FFMPEG_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_FFMPEG_FILE:B) ] ;
|
2012-03-13 00:22:54 +04:00
|
|
|
HAIKU_SPEEX_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_SPEEX_FILE:B) ] ;
|
|
|
|
HAIKU_LIBTHEORA_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_LIBTHEORA_FILE:B) ] ;
|
|
|
|
HAIKU_LIBVORBIS_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_LIBVORBIS_FILE:B) ] ;
|
|
|
|
HAIKU_LIBOGG_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_LIBOGG_FILE:B) ] ;
|
2012-03-14 04:56:15 +04:00
|
|
|
HAIKU_LIBVPX_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_LIBVPX_FILE:B) ] ;
|
2012-03-07 04:41:23 +04:00
|
|
|
|
|
|
|
HAIKU_FFMPEG_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_FFMPEG_DIR)
|
2012-03-13 00:22:54 +04:00
|
|
|
: common/include/ : $(ffmpegZipFile) : extracted-ffmpeg ] ;
|
|
|
|
HAIKU_SPEEX_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_SPEEX_DIR)
|
|
|
|
: common/include/ : $(speexZipFile) : extracted-speex ] ;
|
|
|
|
HAIKU_LIBTHEORA_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBTHEORA_DIR)
|
|
|
|
: common/include/ : $(libtheoraZipFile) : extracted-libtheora ] ;
|
|
|
|
HAIKU_LIBVORBIS_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBVORBIS_DIR)
|
|
|
|
: common/include/ : $(libvorbisZipFile) : extracted-libvorbis ] ;
|
|
|
|
HAIKU_LIBOGG_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBOGG_DIR)
|
|
|
|
: common/include/ : $(liboggZipFile) : extracted-libogg ] ;
|
2012-03-14 04:56:15 +04:00
|
|
|
HAIKU_LIBVPX_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBVPX_DIR)
|
|
|
|
: common/include/ : $(libvpxZipFile) : extracted-libvpx ] ;
|
2012-03-07 04:41:23 +04:00
|
|
|
|
|
|
|
HAIKU_FFMPEG_LIBS = [ ExtractArchive $(HAIKU_FFMPEG_DIR)
|
|
|
|
:
|
|
|
|
common/lib/libavformat.a
|
|
|
|
common/lib/libavcodec.a
|
|
|
|
common/lib/libavdevice.a
|
|
|
|
common/lib/libavfilter.a
|
|
|
|
common/lib/libswscale.a
|
|
|
|
common/lib/libavutil.a
|
2012-03-13 00:22:54 +04:00
|
|
|
: $(ffmpegZipFile)
|
2012-03-07 04:41:23 +04:00
|
|
|
: extracted-ffmpeg ] ;
|
2012-03-13 00:22:54 +04:00
|
|
|
Depends $(HAIKU_FFMPEG_LIBS) : $(HAIKU_FFMPEG_HEADERS_DEPENDENCY) ;
|
|
|
|
|
|
|
|
HAIKU_SPEEX_LIBS = [ ExtractArchive $(HAIKU_SPEEX_DIR)
|
|
|
|
:
|
|
|
|
common/lib/libspeex.a
|
|
|
|
: $(speexZipFile)
|
|
|
|
: extracted-speex ] ;
|
|
|
|
Depends $(HAIKU_SPEEX_LIBS) : $(HAIKU_SPEEX_HEADERS_DEPENDENCY) ;
|
|
|
|
|
|
|
|
HAIKU_LIBTHEORA_LIBS = [ ExtractArchive $(HAIKU_LIBTHEORA_DIR)
|
|
|
|
:
|
|
|
|
common/lib/libtheora.a
|
|
|
|
common/lib/libtheoradec.a
|
|
|
|
common/lib/libtheoraenc.a
|
|
|
|
: $(libtheoraZipFile)
|
|
|
|
: extracted-libtheora ] ;
|
|
|
|
Depends $(HAIKU_LIBTHEORA_LIBS) : $(HAIKU_LIBTHEORA_HEADERS_DEPENDENCY) ;
|
|
|
|
|
|
|
|
|
|
|
|
HAIKU_LIBVORBIS_LIBS = [ ExtractArchive $(HAIKU_LIBVORBIS_DIR)
|
|
|
|
:
|
|
|
|
common/lib/libvorbis.a
|
|
|
|
common/lib/libvorbisenc.a
|
|
|
|
: $(libvorbisZipFile)
|
|
|
|
: extracted-libvorbis ] ;
|
|
|
|
Depends $(HAIKU_LIBVORBIS_LIBS) : $(HAIKU_LIBVORBIS_HEADERS_DEPENDENCY) ;
|
|
|
|
|
|
|
|
|
|
|
|
HAIKU_LIBOGG_LIBS = [ ExtractArchive $(HAIKU_LIBOGG_DIR)
|
|
|
|
:
|
|
|
|
common/lib/libogg.a
|
|
|
|
: $(liboggZipFile)
|
|
|
|
: extracted-libogg ] ;
|
|
|
|
Depends $(HAIKU_LIBOGG_LIBS) : $(HAIKU_LIBOGG_HEADERS_DEPENDENCY) ;
|
|
|
|
|
2012-03-14 04:56:15 +04:00
|
|
|
HAIKU_LIBVPX_LIBS = [ ExtractArchive $(HAIKU_LIBVPX_DIR)
|
|
|
|
:
|
|
|
|
common/lib/libvpx.a
|
|
|
|
: $(libvpxZipFile)
|
|
|
|
: extracted-libvpx ] ;
|
|
|
|
Depends $(HAIKU_LIBVPX_LIBS) : $(HAIKU_LIBVPX_HEADERS_DEPENDENCY) ;
|
2012-03-07 04:41:23 +04:00
|
|
|
|
|
|
|
HAIKU_FFMPEG_HEADERS = [ FDirName $(HAIKU_FFMPEG_DIR) common include ] ;
|
2012-03-13 00:22:54 +04:00
|
|
|
HAIKU_SPEEX_HEADERS = [ FDirName $(HAIKU_SPEEX_DIR) common include ] ;
|
|
|
|
HAIKU_LIBTHEORA_HEADERS = [ FDirName $(HAIKU_LIBTHEORA_DIR) common include ] ;
|
|
|
|
HAIKU_LIBVORBIS_HEADERS = [ FDirName $(HAIKU_LIBVORBIS_DIR) common include ] ;
|
|
|
|
HAIKU_LIBOGG_HEADERS = [ FDirName $(HAIKU_LIBOGG_DIR) common include ] ;
|
2012-03-14 04:56:15 +04:00
|
|
|
HAIKU_LIBVPX_HEADERS = [ FDirName $(HAIKU_LIBVPX_DIR) common include ] ;
|
2012-03-07 04:41:23 +04:00
|
|
|
|
2012-12-09 07:07:29 +04:00
|
|
|
EnableBuildFeatures ffmpeg ;
|
2012-03-07 04:41:23 +04:00
|
|
|
} else {
|
|
|
|
Echo "FFMpeg support not available on $(TARGET_ARCH)" ;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2012-06-09 15:49:22 +04:00
|
|
|
# MikMod
|
|
|
|
local mikmodBaseURL = http://haiku-files.org/files/optional-packages/lib ;
|
|
|
|
if $(TARGET_ARCH) = x86 {
|
|
|
|
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
2012-09-05 08:19:22 +04:00
|
|
|
HAIKU_MIKMOD_FILE = libmikmod-3.1.11-r1a4-x86-gcc4-2012-09-02.zip ;
|
2012-06-09 15:49:22 +04:00
|
|
|
} else {
|
2012-09-05 08:19:22 +04:00
|
|
|
HAIKU_MIKMOD_FILE = libmikmod-3.1.11-r1a4-x86-gcc2-2012-08-29.zip ;
|
2012-06-09 15:49:22 +04:00
|
|
|
}
|
|
|
|
|
|
|
|
local mikmodZipFile = [ DownloadFile $(HAIKU_MIKMOD_FILE)
|
|
|
|
: $(mikmodBaseURL)/$(HAIKU_MIKMOD_FILE) ] ;
|
|
|
|
|
|
|
|
HAIKU_MIKMOD_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_MIKMOD_FILE:B) ] ;
|
|
|
|
|
|
|
|
HAIKU_MIKMOD_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_MIKMOD_DIR)
|
|
|
|
: common/include/ : $(mikmodZipFile) : extracted-mikmod ] ;
|
|
|
|
|
|
|
|
HAIKU_MIKMOD_LIBS = [ ExtractArchive $(HAIKU_MIKMOD_DIR)
|
|
|
|
:
|
|
|
|
common/lib/libmikmod.a
|
|
|
|
: $(mikmodZipFile)
|
|
|
|
: extracted-ffmpeg ] ;
|
|
|
|
Depends $(HAIKU_MIKMOD_LIBS) : $(HAIKU_MIKMOD_HEADERS_DEPENDENCY) ;
|
|
|
|
|
|
|
|
HAIKU_MIKMOD_HEADERS = [ FDirName $(HAIKU_MIKMOD_DIR) common include ] ;
|
|
|
|
|
2012-12-09 07:07:29 +04:00
|
|
|
EnableBuildFeatures mikmod ;
|
2012-06-09 15:49:22 +04:00
|
|
|
} else {
|
|
|
|
Echo "MikMod support not available on $(TARGET_ARCH)" ;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2012-03-17 23:09:32 +04:00
|
|
|
# Freetype
|
2012-07-09 00:04:18 +04:00
|
|
|
local freetypeBaseURL = $(baseURL)/lib ;
|
2012-11-22 02:56:05 +04:00
|
|
|
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 || $(TARGET_ARCH) = arm {
|
|
|
|
if $(TARGET_ARCH) = arm {
|
|
|
|
HAIKU_FREETYPE_FILE = freetype-2.4.9-arm-2012-11-21.zip ;
|
|
|
|
} else if $(TARGET_ARCH) = ppc {
|
2012-06-27 02:07:10 +04:00
|
|
|
HAIKU_FREETYPE_FILE = freetype-2.4.9-ppc-gcc4-2012-06-26.zip ;
|
2012-08-05 11:46:30 +04:00
|
|
|
} else if $(TARGET_ARCH) = x86_64 {
|
|
|
|
HAIKU_FREETYPE_FILE = freetype-2.4.9-x86_64-2012-08-04.zip ;
|
2012-03-17 23:09:32 +04:00
|
|
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
2012-09-05 08:19:22 +04:00
|
|
|
HAIKU_FREETYPE_FILE = freetype-2.4.9-r1a4-x86-gcc4-2012-09-02.zip ;
|
2012-03-17 23:09:32 +04:00
|
|
|
} else {
|
2012-08-31 11:07:26 +04:00
|
|
|
HAIKU_FREETYPE_FILE = freetype-2.4.9-r1a4-x86-gcc2-2012-08-28.zip ;
|
2012-03-17 23:09:32 +04:00
|
|
|
}
|
|
|
|
|
|
|
|
local freetypeZipFile = [ DownloadFile $(HAIKU_FREETYPE_FILE)
|
|
|
|
: $(freetypeBaseURL)/$(HAIKU_FREETYPE_FILE) ] ;
|
|
|
|
|
|
|
|
HAIKU_FREETYPE_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_FREETYPE_FILE:B) ] ;
|
|
|
|
|
|
|
|
HAIKU_FREETYPE_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_FREETYPE_DIR)
|
|
|
|
: develop/headers/3rdparty/freetype2 : $(freetypeZipFile)
|
|
|
|
: extracted-freetype ] ;
|
|
|
|
|
|
|
|
HAIKU_FREETYPE_LIB = [ ExtractArchive $(HAIKU_FREETYPE_DIR)
|
|
|
|
:
|
|
|
|
common/lib/libfreetype.so
|
|
|
|
: $(freetypeZipFile)
|
|
|
|
: extracted-freetype ] ;
|
|
|
|
HAIKU_FREETYPE_CURRENT_LIB = [ ExtractArchive $(HAIKU_FREETYPE_DIR)
|
|
|
|
:
|
2012-06-16 04:12:29 +04:00
|
|
|
common/lib/libfreetype.so.6.8.1
|
2012-03-17 23:09:32 +04:00
|
|
|
: $(freetypeZipFile)
|
|
|
|
: extracted-freetype ] ;
|
2012-03-23 23:51:20 +04:00
|
|
|
Depends $(HAIKU_FREETYPE_LIB) $(HAIKU_FREETYPE_CURRENT_LIB) : $(HAIKU_FREETYPE_HEADERS_DEPENDENCY) ;
|
2012-03-17 23:09:32 +04:00
|
|
|
|
|
|
|
HAIKU_FREETYPE_CURRENT_LINK = libfreetype.so.6 ;
|
|
|
|
|
|
|
|
HAIKU_FREETYPE_HEADERS = [ FDirName $(HAIKU_FREETYPE_DIR) develop
|
|
|
|
headers 3rdparty ] [ FDirName $(HAIKU_FREETYPE_DIR) develop
|
|
|
|
headers 3rdparty freetype2 ] ;
|
2012-12-09 07:07:29 +04:00
|
|
|
|
|
|
|
EnableBuildFeatures freetype ;
|
2012-03-17 23:09:32 +04:00
|
|
|
} else {
|
|
|
|
Echo "Freetype 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 ;
|
|
|
|
}
|
|
|
|
|
2012-09-05 08:19:22 +04:00
|
|
|
HAIKU_TAGLIB_PACKAGE = taglib-1.6.3-r1a4-x86-gcc2-2012-09-03.zip ;
|
2010-10-29 17:00:19 +04:00
|
|
|
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 ] ;
|
2012-12-09 07:07:29 +04:00
|
|
|
|
|
|
|
EnableBuildFeatures taglib ;
|
2010-10-29 17:00:19 +04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-07-04 02:58:25 +04:00
|
|
|
|
|
|
|
# WebKit
|
2012-07-12 23:33:11 +04:00
|
|
|
# Automatically install the WebKit feature, when the optional WebPositive
|
|
|
|
# optional package is enabled.
|
|
|
|
if [ IsOptionalHaikuImagePackageAdded WebPositive ] {
|
|
|
|
HAIKU_BUILD_FEATURE_WEBKIT = 1 ;
|
|
|
|
}
|
2012-07-04 02:58:25 +04:00
|
|
|
|
2012-12-23 01:23:09 +04:00
|
|
|
if $(TARGET_ARCH) = x86 {
|
|
|
|
HAIKU_WEBKIT_FILE = haikuwebkit-1.1.3-x86-gcc4-2012-08-31a.zip ;
|
|
|
|
} else if $(TARGET_ARCH) = x86_64 {
|
|
|
|
HAIKU_WEBKIT_FILE = haikuwebkit-1.1.3-x86_64-gcc4-2012-12-22.zip ;
|
|
|
|
}
|
2012-07-12 23:33:11 +04:00
|
|
|
if $(HAIKU_BUILD_FEATURE_WEBKIT) {
|
2012-12-23 01:23:09 +04:00
|
|
|
if $(TARGET_ARCH) != x86 && $(TARGET_ARCH) != x86_64 {
|
2012-07-12 23:33:11 +04:00
|
|
|
Echo "WebKit support not available on $(TARGET_ARCH)" ;
|
|
|
|
} else if $(HAIKU_GCC_VERSION[1]) < 4 {
|
|
|
|
if ! $(isHybridBuild) {
|
|
|
|
Echo "WebKit support not available on gcc $(HAIKU_GCC_VERSION[1])" ;
|
|
|
|
} else {
|
|
|
|
Echo "WebKit to be utilized by gcc4 inside $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR)" ;
|
|
|
|
}
|
2012-07-04 03:49:32 +04:00
|
|
|
} else {
|
2012-07-09 00:12:07 +04:00
|
|
|
local zipFile = [ DownloadFile $(HAIKU_WEBKIT_FILE)
|
|
|
|
: $(baseURL)/$(HAIKU_WEBKIT_FILE) ] ;
|
2012-07-04 02:58:25 +04:00
|
|
|
|
2012-07-09 00:12:07 +04:00
|
|
|
HAIKU_WEBKIT_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_WEBKIT_FILE:B) ] ;
|
2012-07-04 02:58:25 +04:00
|
|
|
|
2012-07-09 00:12:07 +04:00
|
|
|
HAIKU_WEBKIT_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_WEBKIT_DIR)
|
|
|
|
: include/ : $(zipFile) : extracted-webkit ] ;
|
2012-07-04 02:58:25 +04:00
|
|
|
|
2012-07-09 00:12:07 +04:00
|
|
|
HAIKU_WEBKIT_LIBS = [ ExtractArchive $(HAIKU_WEBKIT_DIR)
|
|
|
|
:
|
|
|
|
lib/libwtf.so
|
|
|
|
lib/libjavascriptcore.so
|
|
|
|
lib/libwebcore.so
|
|
|
|
lib/libwebkit.so
|
|
|
|
: $(zipFile)
|
|
|
|
: extracted-webkit
|
|
|
|
] ;
|
2012-07-04 02:58:25 +04:00
|
|
|
|
2012-07-09 00:12:07 +04:00
|
|
|
HAIKU_WEBKIT_HEADERS = [ FDirName $(HAIKU_WEBKIT_DIR) include ] ;
|
2012-12-09 07:07:29 +04:00
|
|
|
|
|
|
|
EnableBuildFeatures webkit ;
|
2012-07-09 00:12:07 +04:00
|
|
|
}
|
2012-07-04 02:58:25 +04:00
|
|
|
}
|
2012-08-24 01:52:11 +04:00
|
|
|
|
|
|
|
# libpng
|
|
|
|
local libpngBaseURL = $(baseURL)/lib ;
|
2012-11-22 02:56:05 +04:00
|
|
|
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 || $(TARGET_ARCH) = arm {
|
|
|
|
if $(TARGET_ARCH) = arm {
|
|
|
|
HAIKU_LIBPNG_FILE = libpng-1.5.12-arm-2012-11-21.zip ;
|
|
|
|
} else if $(TARGET_ARCH) = ppc {
|
2012-08-24 01:52:11 +04:00
|
|
|
HAIKU_LIBPNG_FILE = libpng-1.5.12-ppc-gcc4-2012-08-27.zip ;
|
2012-11-18 19:48:47 +04:00
|
|
|
} else if $(TARGET_ARCH) = x86_64 {
|
|
|
|
HAIKU_LIBPNG_FILE = libpng-1.5.12-x86_64-2012-11-18.zip ;
|
2012-08-24 01:52:11 +04:00
|
|
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
|
|
|
HAIKU_LIBPNG_FILE = libpng-1.5.12-x86-gcc4-2012-08-23.zip ;
|
|
|
|
} else {
|
|
|
|
HAIKU_LIBPNG_FILE = libpng-1.5.12-x86-gcc2-2012-08-23.zip ;
|
|
|
|
}
|
|
|
|
|
|
|
|
local libpngZipFile = [ DownloadFile $(HAIKU_LIBPNG_FILE)
|
|
|
|
: $(libpngBaseURL)/$(HAIKU_LIBPNG_FILE) ] ;
|
|
|
|
|
|
|
|
HAIKU_LIBPNG_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_LIBPNG_FILE:B) ] ;
|
|
|
|
|
|
|
|
HAIKU_LIBPNG_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBPNG_DIR)
|
|
|
|
: common/include : $(libpngZipFile)
|
|
|
|
: extracted-libpng ] ;
|
|
|
|
|
|
|
|
HAIKU_LIBPNG_LIB = [ ExtractArchive $(HAIKU_LIBPNG_DIR)
|
|
|
|
:
|
|
|
|
common/lib/libpng.so
|
|
|
|
: $(libpngZipFile)
|
|
|
|
: extracted-libpng ] ;
|
|
|
|
HAIKU_LIBPNG_CURRENT_LIB = [ ExtractArchive $(HAIKU_LIBPNG_DIR)
|
|
|
|
:
|
|
|
|
common/lib/libpng15.so.15.12.0
|
|
|
|
: $(libpngZipFile)
|
|
|
|
: extracted-libpng ] ;
|
|
|
|
Depends $(HAIKU_LIBPNG_LIB) $(HAIKU_LIBPNG_CURRENT_LIB) : $(HAIKU_LIBPNG_HEADERS_DEPENDENCY) ;
|
|
|
|
|
2012-08-29 22:44:42 +04:00
|
|
|
HAIKU_LIBPNG_CURRENT_LINK = libpng15.so.15 ;
|
2012-08-24 01:52:11 +04:00
|
|
|
|
|
|
|
HAIKU_LIBPNG_HEADERS = [ FDirName $(HAIKU_LIBPNG_DIR) common include ] ;
|
2012-12-09 07:07:29 +04:00
|
|
|
|
|
|
|
EnableBuildFeatures libpng ;
|
2012-08-24 01:52:11 +04:00
|
|
|
} else {
|
|
|
|
Echo "libpng support not available on $(TARGET_ARCH)" ;
|
|
|
|
}
|
|
|
|
|
|
|
|
# jpeg
|
|
|
|
local jpegBaseURL = $(baseURL)/lib ;
|
2012-12-09 07:07:29 +04:00
|
|
|
if $(TARGET_ARCH) in arm ppc x86 x86_64 {
|
2012-11-22 02:56:05 +04:00
|
|
|
if $(TARGET_ARCH) = arm {
|
|
|
|
HAIKU_JPEG_FILE = jpeg-8d-arm-2012-11-21.zip ;
|
|
|
|
} else if $(TARGET_ARCH) = ppc {
|
2012-08-24 01:52:11 +04:00
|
|
|
HAIKU_JPEG_FILE = jpeg-8d-ppc-gcc4-2012-08-27.zip ;
|
2012-11-18 19:48:47 +04:00
|
|
|
} else if $(TARGET_ARCH) = x86_64 {
|
|
|
|
HAIKU_JPEG_FILE = jpeg-8d-x86_64-2012-11-18.zip ;
|
2012-08-24 01:52:11 +04:00
|
|
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
|
|
|
HAIKU_JPEG_FILE = jpeg-8d-x86-gcc4-2012-08-23.zip ;
|
|
|
|
} else {
|
|
|
|
HAIKU_JPEG_FILE = jpeg-8d-x86-gcc2-2012-08-23.zip ;
|
|
|
|
}
|
|
|
|
|
|
|
|
local jpegZipFile = [ DownloadFile $(HAIKU_JPEG_FILE)
|
|
|
|
: $(jpegBaseURL)/$(HAIKU_JPEG_FILE) ] ;
|
|
|
|
|
|
|
|
HAIKU_JPEG_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_JPEG_FILE:B) ] ;
|
|
|
|
|
|
|
|
HAIKU_JPEG_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_JPEG_DIR)
|
|
|
|
: common/include : $(jpegZipFile)
|
|
|
|
: extracted-jpeg ] ;
|
|
|
|
|
|
|
|
HAIKU_JPEG_LIB = [ ExtractArchive $(HAIKU_JPEG_DIR)
|
|
|
|
:
|
|
|
|
common/lib/libjpeg.so
|
|
|
|
: $(jpegZipFile)
|
|
|
|
: extracted-jpeg ] ;
|
|
|
|
HAIKU_JPEG_CURRENT_LIB = [ ExtractArchive $(HAIKU_JPEG_DIR)
|
|
|
|
:
|
|
|
|
common/lib/libjpeg.so.8.4.0
|
|
|
|
: $(jpegZipFile)
|
|
|
|
: extracted-jpeg ] ;
|
|
|
|
Depends $(HAIKU_JPEG_LIB) $(HAIKU_JPEG_CURRENT_LIB) : $(HAIKU_JPEG_HEADERS_DEPENDENCY) ;
|
|
|
|
|
|
|
|
HAIKU_JPEG_CURRENT_LINK = libjpeg.so.8 ;
|
|
|
|
|
|
|
|
HAIKU_JPEG_HEADERS = [ FDirName $(HAIKU_JPEG_DIR) common include ] ;
|
2012-12-09 07:07:29 +04:00
|
|
|
|
|
|
|
EnableBuildFeatures libjpeg ;
|
2012-08-24 01:52:11 +04:00
|
|
|
} else {
|
|
|
|
Echo "jpeg support not available on $(TARGET_ARCH)" ;
|
|
|
|
}
|
2012-10-31 00:18:36 +04:00
|
|
|
|
|
|
|
# zlib
|
|
|
|
local zlibBaseURL = $(baseURL)/lib ;
|
2012-11-22 02:56:05 +04:00
|
|
|
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 || $(TARGET_ARCH) = arm {
|
|
|
|
if $(TARGET_ARCH) = arm {
|
|
|
|
HAIKU_ZLIB_FILE = zlib-1.2.7-arm-2012-11-21.zip ;
|
|
|
|
} else if $(TARGET_ARCH) = ppc {
|
2012-10-31 00:18:36 +04:00
|
|
|
HAIKU_ZLIB_FILE = zlib-1.2.7-ppc-gcc4-2012-10-30.zip ;
|
2012-11-18 19:48:47 +04:00
|
|
|
} else if $(TARGET_ARCH) = x86_64 {
|
|
|
|
HAIKU_ZLIB_FILE = zlib-1.2.7-x86_64-2012-11-18.zip ;
|
2012-10-31 00:18:36 +04:00
|
|
|
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
|
|
|
HAIKU_ZLIB_FILE = zlib-1.2.7-x86-gcc4-2012-10-30.zip ;
|
|
|
|
} else {
|
|
|
|
HAIKU_ZLIB_FILE = zlib-1.2.7-x86-gcc2-2012-10-30.zip ;
|
|
|
|
}
|
|
|
|
|
|
|
|
local zlibZipFile = [ DownloadFile $(HAIKU_ZLIB_FILE)
|
|
|
|
: $(zlibBaseURL)/$(HAIKU_ZLIB_FILE) ] ;
|
|
|
|
|
|
|
|
HAIKU_ZLIB_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_ZLIB_FILE:B) ] ;
|
|
|
|
|
|
|
|
HAIKU_ZLIB_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_ZLIB_DIR)
|
|
|
|
: common/include : $(zlibZipFile)
|
|
|
|
: extracted-zlib ] ;
|
|
|
|
|
|
|
|
HAIKU_ZLIB_LIB = [ ExtractArchive $(HAIKU_ZLIB_DIR)
|
|
|
|
:
|
|
|
|
common/lib/libz.so
|
|
|
|
: $(zlibZipFile)
|
|
|
|
: extracted-zlib ] ;
|
|
|
|
HAIKU_ZLIB_CURRENT_LIB = [ ExtractArchive $(HAIKU_ZLIB_DIR)
|
|
|
|
:
|
|
|
|
common/lib/libz.so.1.2.7
|
|
|
|
: $(zlibZipFile)
|
|
|
|
: extracted-zlib ] ;
|
|
|
|
Depends $(HAIKU_ZLIB_LIB) $(HAIKU_ZLIB_CURRENT_LIB) : $(HAIKU_ZLIB_HEADERS_DEPENDENCY) ;
|
|
|
|
|
|
|
|
HAIKU_ZLIB_CURRENT_LINK = libz.so.1 ;
|
|
|
|
|
|
|
|
HAIKU_ZLIB_HEADERS = [ FDirName $(HAIKU_ZLIB_DIR) common include ] ;
|
2012-12-09 07:07:29 +04:00
|
|
|
|
|
|
|
EnableBuildFeatures zlib ;
|
2012-10-31 00:18:36 +04:00
|
|
|
} else {
|
|
|
|
Echo "zlib support not available on $(TARGET_ARCH)" ;
|
|
|
|
}
|
2012-12-09 07:07:29 +04:00
|
|
|
|
|
|
|
|
2013-05-05 17:02:57 +04:00
|
|
|
# LibSolv
|
|
|
|
|
|
|
|
if $(TARGET_ARCH) != x86 {
|
|
|
|
Echo "Libsolv not available for $(TARGET_ARCH)." ;
|
|
|
|
} else if $(HAIKU_GCC_VERSION[1]) = 2 {
|
|
|
|
HAIKU_LIBSOLV_PACKAGE
|
|
|
|
= libsolv-0.3.0_haiku_2013_04_18-2-x86_gcc2.hpkg ;
|
|
|
|
} else {
|
|
|
|
Echo "Libsolv not available for gcc4." ;
|
|
|
|
}
|
|
|
|
|
|
|
|
if $(HAIKU_LIBSOLV_PACKAGE) {
|
|
|
|
# download package
|
|
|
|
HAIKU_LIBSOLV_PACKAGE_FILE = [ DownloadFile $(HAIKU_LIBSOLV_PACKAGE)
|
|
|
|
: $(hpkgBaseURL)/$(HAIKU_LIBSOLV_PACKAGE) ] ;
|
|
|
|
HAIKU_LIBSOLV_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
|
|
|
$(HAIKU_LIBSOLV_PACKAGE:B) ] ;
|
|
|
|
|
|
|
|
# extract headers and libraries
|
|
|
|
HAIKU_LIBSOLV_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBSOLV_DIR)
|
|
|
|
: develop/headers/ : $(HAIKU_LIBSOLV_PACKAGE_FILE) : extracted-libsolv
|
|
|
|
] ;
|
|
|
|
|
|
|
|
HAIKU_LIBSOLV_LIBS = [ ExtractArchive $(HAIKU_LIBSOLV_DIR)
|
|
|
|
:
|
|
|
|
develop/lib/libsolv.so
|
|
|
|
develop/lib/libsolvext.so
|
|
|
|
: $(HAIKU_LIBSOLV_PACKAGE_FILE)
|
|
|
|
: extracted-libsolv
|
|
|
|
] ;
|
|
|
|
|
|
|
|
HAIKU_LIBSOLV_HEADERS = [ FDirName $(HAIKU_LIBSOLV_DIR) develop/headers ] ;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2012-12-09 07:07:29 +04:00
|
|
|
# GPL add-ons
|
|
|
|
if $(HAIKU_INCLUDE_GPL_ADDONS) = 1 {
|
|
|
|
EnableBuildFeatures gpl ;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# ATA vs. IDE
|
|
|
|
#HACK: remove when old ide code is removed!
|
|
|
|
if $(HAIKU_ATA_STACK) = 1 {
|
|
|
|
EnableBuildFeatures ata ;
|
|
|
|
} else {
|
|
|
|
EnableBuildFeatures ide ;
|
|
|
|
}
|