Update icu package

Also use the new build feature rules.
This commit is contained in:
Ingo Weinhold
2013-06-13 18:42:44 +02:00
parent ebb78dd9b7
commit 178da21ad1
7 changed files with 38 additions and 94 deletions
+23 -64
View File
@@ -61,83 +61,42 @@ if $(HAIKU_BUILD_FEATURE_SSL) {
# ICU
# Note ICU isn't actually optional, but is still an external package
HAIKU_ICU_GCC_2_PACKAGE = icu-4.8.1.1-2-x86_gcc2.hpkg ;
HAIKU_ICU_GCC_4_PACKAGE = icu-4.8.1.1-r1a4-x86-gcc4-2012-08-29.zip ;
# TODO: Make hpkg!
HAIKU_ICU_PPC_PACKAGE = icu-4.8.1-ppc-2011-08-20.zip ;
HAIKU_ICU_ARM_PACKAGE = icu-4.8.1.1-arm-2012-11-21.zip ;
HAIKU_ICU_X86_64_PACKAGE = icu-4.8.1.1-x86_64-2012-07-30.zip ;
if $(TARGET_ARCH) in arm ppc x86 x86_64 {
local icu_package ;
if $(TARGET_ARCH) = ppc {
icu_package = $(HAIKU_ICU_PPC_PACKAGE) ;
HAIKU_ICU_PACKAGE = icu-4.8.1-ppc-2011-08-20.zip ;
HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1-ppc-2011-12-19.zip ;
} else if $(TARGET_ARCH) = arm {
icu_package = $(HAIKU_ICU_ARM_PACKAGE) ;
HAIKU_ICU_PACKAGE = icu-4.8.1.1-arm-2012-11-21.zip ;
HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1.1-arm-2012-11-21.zip ;
} else if $(TARGET_ARCH) = x86_64 {
icu_package = $(HAIKU_ICU_X86_64_PACKAGE) ;
HAIKU_ICU_PACKAGE = icu-4.8.1.1-x86_64-2012-07-30.zip ;
HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1.1-x86_64-2012-07-30.zip ;
} else if $(HAIKU_GCC_VERSION[1]) = 2 {
icu_package = $(HAIKU_ICU_GCC_2_PACKAGE) ;
HAIKU_ICU_DEVEL_PACKAGE = icu_devel-4.8.1.1-2-x86_gcc2.hpkg ;
HAIKU_ICU_PACKAGE = icu-4.8.1.1-3-x86_gcc2.hpkg ;
HAIKU_ICU_DEVEL_PACKAGE = icu_devel-4.8.1.1-3-x86_gcc2.hpkg ;
} else {
icu_package = $(HAIKU_ICU_GCC_4_PACKAGE) ;
HAIKU_ICU_PACKAGE = icu-4.8.1.1-r1a4-x86-gcc4-2012-08-29.zip ;
HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1.1-x86-gcc4-2011-12-20.zip ;
}
local packageFile = [ DownloadFile $(icu_package)
: $(hpkgBaseURL)/$(icu_package) ] ;
# zip file and output directory
HAIKU_ICU_PACKAGE_FILE = $(packageFile) ;
HAIKU_ICU_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
$(icu_package:B) ] ;
HAIKU_ICU_URL = $(hpkgBaseURL)/$(HAIKU_ICU_PACKAGE) ;
HAIKU_ICU_DEVEL_URL = $(hpkgBaseURL)/$(HAIKU_ICU_DEVEL_PACKAGE) ;
# extract libraries
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
: $(packageFile)
: extracted-icu
] ;
} else {
HAIKU_ICU_LIBS = [ ExtractArchive $(HAIKU_ICU_DIR)
:
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)
: extracted-icu
] ;
}
# zip file and output directory
HAIKU_ICU_DEVEL_ZIP_FILE = [ DownloadFile $(HAIKU_ICU_DEVEL_PACKAGE)
: $(hpkgBaseURL)/$(HAIKU_ICU_DEVEL_PACKAGE) ] ;
HAIKU_ICU_DEVEL_DIR = $(HAIKU_ICU_DIR) ;
# extract headers
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)
: extracted-icu-devel ] ;
HAIKU_ICU_HEADERS
= [ FDirName $(HAIKU_ICU_DEVEL_DIR) develop headers ] ;
ExtractBuildFeatureArchives icu :
file: base $(HAIKU_ICU_URL)
runtime: lib
file: devel $(HAIKU_ICU_DEVEL_URL)
depends: base
libraries:
develop/lib/libicudata.so
develop/lib/libicui18n.so
develop/lib/libicuio.so
develop/lib/libicule.so
develop/lib/libiculx.so
develop/lib/libicutu.so
develop/lib/libicuuc.so
headers: develop/headers
;
EnableBuildFeatures icu ;
} else {
+3 -19
View File
@@ -1033,26 +1033,10 @@ if [ IsOptionalHaikuImagePackageAdded HGrep ] {
# ICU
if [ IsOptionalHaikuImagePackageAdded ICU ] {
if $(TARGET_ARCH) = x86 {
if $(HAIKU_GCC_VERSION[1]) = 2 {
# unzip gcc2
InstallOptionalHaikuImagePackage
$(hpkgBaseURL)/$(HAIKU_ICU_GCC_2_PACKAGE)
: system ;
} else {
# unzip gcc4
InstallOptionalHaikuImagePackage
$(baseURL)/$(HAIKU_ICU_GCC_4_PACKAGE)
: system lib ;
}
} else if $(TARGET_ARCH) = arm {
if $(TARGET_ARCH) in arm ppc x86 x86_64 {
InstallOptionalHaikuImagePackage
: $(baseURL)/$(HAIKU_ICU_ARM_PACKAGE)
: system lib ;
} else if $(TARGET_ARCH) = x86_64 {
InstallOptionalHaikuImagePackage
: $(baseURL)/$(HAIKU_ICU_X86_64_PACKAGE)
: system lib ;
$(hpkgBaseURL)/$(HAIKU_ICU_URL)
: system ;
} else {
Echo "No optional package ICU available for $(TARGET_ARCH)" ;
}
+1 -1
View File
@@ -41,7 +41,7 @@ SharedLibrary libbe.so : :
libagg.a
libroot.so # make sure it links against our libroot.so
$(TARGET_LIBSTDC++) $(HAIKU_ICU_LIBS)
$(TARGET_LIBSTDC++) [ BuildFeatureAttribute icu : libraries ]
;
# Build libbe_test.so
+2 -2
View File
@@ -4,6 +4,7 @@ AddSubDirSupportedPlatforms libbe_test ;
UsePrivateHeaders locale shared ;
UsePublicHeaders locale storage ;
UseBuildFeatureHeaders icu ;
local sources =
cat.cpp
@@ -49,8 +50,7 @@ local sources =
;
SubDirSysHdrs $(HAIKU_ICU_HEADERS) ;
Includes [ FGristFiles $(sources) ] : $(HAIKU_ICU_HEADERS_DEPENDENCY) ;
Includes [ FGristFiles $(sources) ] : [ BuildFeatureAttribute icu : headers ] ;
# Dependency needed to trigger downloading/unzipping the package before
# compiling the files.
+2 -2
View File
@@ -4,6 +4,7 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
UsePrivateHeaders interface locale shared [ FDirName libroot time ] ;
UsePrivateSystemHeaders ;
UseBuildFeatureHeaders icu ;
local sources =
AnalogClock.cpp
@@ -25,8 +26,7 @@ local sources =
;
SubDirSysHdrs $(HAIKU_ICU_HEADERS) ;
Includes [ FGristFiles $(sources) ] : $(HAIKU_ICU_HEADERS_DEPENDENCY) ;
Includes [ FGristFiles $(sources) ] : [ BuildFeatureAttribute icu : headers ] ;
# Dependency needed to trigger downloading/unzipping the package before
# compiling the files.
+4 -3
View File
@@ -7,6 +7,7 @@ UsePrivateHeaders
[ FDirName libroot time ]
shared
;
UseBuildFeatureHeaders icu ;
local sources =
ICUCategoryData.cpp
@@ -22,14 +23,14 @@ local sources =
ICUTimeData.cpp
;
SubDirSysHdrs $(HAIKU_ICU_HEADERS) ;
Includes [ FGristFiles $(sources) ] : $(HAIKU_ICU_HEADERS_DEPENDENCY) ;
Includes [ FGristFiles $(sources) ] : [ BuildFeatureAttribute icu : headers ] ;
# Dependency needed to trigger downloading/unzipping the package before
# compiling the files.
SharedLibrary libroot-addon-icu.so
: $(sources)
:
libreferenceable.a $(TARGET_LIBSTDC++) $(HAIKU_ICU_LIBS)
libreferenceable.a $(TARGET_LIBSTDC++)
[ BuildFeatureAttribute icu : libraries ]
;
+3 -3
View File
@@ -2,6 +2,7 @@ SubDir HAIKU_TOP src tests kits locale ;
UsePublicHeaders locale ;
UsePrivateHeaders locale shared ;
UseBuildFeatureHeaders icu ;
# Pseudo target to build all locale kit tests
NotFile LocaleKitTests ;
@@ -33,14 +34,13 @@ LocaleTest genericNumberFormatTest.cpp ;
LocaleTest localeTest.cpp ;
LocaleTest formatTest.cpp ;
SubDirSysHdrs $(HAIKU_ICU_HEADERS) ;
Includes [ FGristFiles ICUTest.cpp ] : $(HAIKU_ICU_HEADERS_DEPENDENCY) ;
Includes [ FGristFiles ICUTest.cpp ] : [ BuildFeatureAttribute icu : headers ] ;
# Dependency needed to trigger downloading/unzipping the package before
# compiling the files.
Application ICUTest :
ICUTest.cpp :
be $(TARGET_LIBSUPC++) $(HAIKU_ICU_LIBS) ;
be $(TARGET_LIBSUPC++) [ BuildFeatureAttribute icu : libraries ] ;
Addon catalogTestAddOn
: catalogTestAddOn.cpp