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 # ICU
# Note ICU isn't actually optional, but is still an external package # 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 { if $(TARGET_ARCH) in arm ppc x86 x86_64 {
local icu_package ;
if $(TARGET_ARCH) = ppc { 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 ; HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1-ppc-2011-12-19.zip ;
} else if $(TARGET_ARCH) = arm { } 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 ; HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1.1-arm-2012-11-21.zip ;
} else if $(TARGET_ARCH) = x86_64 { } 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 ; HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1.1-x86_64-2012-07-30.zip ;
} else if $(HAIKU_GCC_VERSION[1]) = 2 { } else if $(HAIKU_GCC_VERSION[1]) = 2 {
icu_package = $(HAIKU_ICU_GCC_2_PACKAGE) ; HAIKU_ICU_PACKAGE = icu-4.8.1.1-3-x86_gcc2.hpkg ;
HAIKU_ICU_DEVEL_PACKAGE = icu_devel-4.8.1.1-2-x86_gcc2.hpkg ; HAIKU_ICU_DEVEL_PACKAGE = icu_devel-4.8.1.1-3-x86_gcc2.hpkg ;
} else { } 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 ; 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_URL = $(hpkgBaseURL)/$(HAIKU_ICU_PACKAGE) ;
HAIKU_ICU_PACKAGE_FILE = $(packageFile) ; HAIKU_ICU_DEVEL_URL = $(hpkgBaseURL)/$(HAIKU_ICU_DEVEL_PACKAGE) ;
HAIKU_ICU_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
$(icu_package:B) ] ;
# extract libraries ExtractBuildFeatureArchives icu :
if $(TARGET_ARCH) = ppc { file: base $(HAIKU_ICU_URL)
HAIKU_ICU_LIBS = [ ExtractArchive $(HAIKU_ICU_DIR) runtime: lib
: file: devel $(HAIKU_ICU_DEVEL_URL)
libicudata.so.48.1 depends: base
libicui18n.so.48.1 libraries:
libicuio.so.48.1 develop/lib/libicudata.so
libicule.so.48.1 develop/lib/libicui18n.so
libiculx.so.48.1 develop/lib/libicuio.so
libicutu.so.48.1 develop/lib/libicule.so
libicuuc.so.48.1 develop/lib/libiculx.so
: $(packageFile) develop/lib/libicutu.so
: extracted-icu develop/lib/libicuuc.so
] ; headers: develop/headers
} 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 ] ;
EnableBuildFeatures icu ; EnableBuildFeatures icu ;
} else { } else {
+3 -19
View File
@@ -1033,26 +1033,10 @@ if [ IsOptionalHaikuImagePackageAdded HGrep ] {
# ICU # ICU
if [ IsOptionalHaikuImagePackageAdded ICU ] { if [ IsOptionalHaikuImagePackageAdded ICU ] {
if $(TARGET_ARCH) = x86 { if $(TARGET_ARCH) in arm ppc x86 x86_64 {
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 {
InstallOptionalHaikuImagePackage InstallOptionalHaikuImagePackage
: $(baseURL)/$(HAIKU_ICU_ARM_PACKAGE) $(hpkgBaseURL)/$(HAIKU_ICU_URL)
: system lib ; : system ;
} else if $(TARGET_ARCH) = x86_64 {
InstallOptionalHaikuImagePackage
: $(baseURL)/$(HAIKU_ICU_X86_64_PACKAGE)
: system lib ;
} else { } else {
Echo "No optional package ICU available for $(TARGET_ARCH)" ; Echo "No optional package ICU available for $(TARGET_ARCH)" ;
} }
+1 -1
View File
@@ -41,7 +41,7 @@ SharedLibrary libbe.so : :
libagg.a libagg.a
libroot.so # make sure it links against our libroot.so libroot.so # make sure it links against our libroot.so
$(TARGET_LIBSTDC++) $(HAIKU_ICU_LIBS) $(TARGET_LIBSTDC++) [ BuildFeatureAttribute icu : libraries ]
; ;
# Build libbe_test.so # Build libbe_test.so
+2 -2
View File
@@ -4,6 +4,7 @@ AddSubDirSupportedPlatforms libbe_test ;
UsePrivateHeaders locale shared ; UsePrivateHeaders locale shared ;
UsePublicHeaders locale storage ; UsePublicHeaders locale storage ;
UseBuildFeatureHeaders icu ;
local sources = local sources =
cat.cpp cat.cpp
@@ -49,8 +50,7 @@ local sources =
; ;
SubDirSysHdrs $(HAIKU_ICU_HEADERS) ; Includes [ FGristFiles $(sources) ] : [ BuildFeatureAttribute icu : headers ] ;
Includes [ FGristFiles $(sources) ] : $(HAIKU_ICU_HEADERS_DEPENDENCY) ;
# Dependency needed to trigger downloading/unzipping the package before # Dependency needed to trigger downloading/unzipping the package before
# compiling the files. # compiling the files.
+2 -2
View File
@@ -4,6 +4,7 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
UsePrivateHeaders interface locale shared [ FDirName libroot time ] ; UsePrivateHeaders interface locale shared [ FDirName libroot time ] ;
UsePrivateSystemHeaders ; UsePrivateSystemHeaders ;
UseBuildFeatureHeaders icu ;
local sources = local sources =
AnalogClock.cpp AnalogClock.cpp
@@ -25,8 +26,7 @@ local sources =
; ;
SubDirSysHdrs $(HAIKU_ICU_HEADERS) ; Includes [ FGristFiles $(sources) ] : [ BuildFeatureAttribute icu : headers ] ;
Includes [ FGristFiles $(sources) ] : $(HAIKU_ICU_HEADERS_DEPENDENCY) ;
# Dependency needed to trigger downloading/unzipping the package before # Dependency needed to trigger downloading/unzipping the package before
# compiling the files. # compiling the files.
+4 -3
View File
@@ -7,6 +7,7 @@ UsePrivateHeaders
[ FDirName libroot time ] [ FDirName libroot time ]
shared shared
; ;
UseBuildFeatureHeaders icu ;
local sources = local sources =
ICUCategoryData.cpp ICUCategoryData.cpp
@@ -22,14 +23,14 @@ local sources =
ICUTimeData.cpp ICUTimeData.cpp
; ;
SubDirSysHdrs $(HAIKU_ICU_HEADERS) ; Includes [ FGristFiles $(sources) ] : [ BuildFeatureAttribute icu : headers ] ;
Includes [ FGristFiles $(sources) ] : $(HAIKU_ICU_HEADERS_DEPENDENCY) ;
# Dependency needed to trigger downloading/unzipping the package before # Dependency needed to trigger downloading/unzipping the package before
# compiling the files. # compiling the files.
SharedLibrary libroot-addon-icu.so SharedLibrary libroot-addon-icu.so
: $(sources) : $(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 ; UsePublicHeaders locale ;
UsePrivateHeaders locale shared ; UsePrivateHeaders locale shared ;
UseBuildFeatureHeaders icu ;
# Pseudo target to build all locale kit tests # Pseudo target to build all locale kit tests
NotFile LocaleKitTests ; NotFile LocaleKitTests ;
@@ -33,14 +34,13 @@ LocaleTest genericNumberFormatTest.cpp ;
LocaleTest localeTest.cpp ; LocaleTest localeTest.cpp ;
LocaleTest formatTest.cpp ; LocaleTest formatTest.cpp ;
SubDirSysHdrs $(HAIKU_ICU_HEADERS) ; Includes [ FGristFiles ICUTest.cpp ] : [ BuildFeatureAttribute icu : headers ] ;
Includes [ FGristFiles ICUTest.cpp ] : $(HAIKU_ICU_HEADERS_DEPENDENCY) ;
# Dependency needed to trigger downloading/unzipping the package before # Dependency needed to trigger downloading/unzipping the package before
# compiling the files. # compiling the files.
Application ICUTest : Application ICUTest :
ICUTest.cpp : ICUTest.cpp :
be $(TARGET_LIBSUPC++) $(HAIKU_ICU_LIBS) ; be $(TARGET_LIBSUPC++) [ BuildFeatureAttribute icu : libraries ] ;
Addon catalogTestAddOn Addon catalogTestAddOn
: catalogTestAddOn.cpp : catalogTestAddOn.cpp