diff --git a/build/jam/OptionalBuildFeatures b/build/jam/OptionalBuildFeatures index 90994d8e46..4130313ed8 100644 --- a/build/jam/OptionalBuildFeatures +++ b/build/jam/OptionalBuildFeatures @@ -50,28 +50,26 @@ if $(HAIKU_BUILD_FEATURE_SSL) { # ICU # Note ICU isn't actually optional, but is still an external package -local isHybridBuild ; -if $(HAIKU_ADD_ALTERNATIVE_GCC_LIBS) = 1 - && $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR) { - isHybridBuild = 1 ; -} -if $(HAIKU_GCC_VERSION[1]) < 4 && !isHybridBuild) { - HAIKU_ICU_PACKAGE = icu-4.4.1-r1a2-x86-gcc2-2010-07-14-a.zip ; -} else { - HAIKU_ICU_PACKAGE = icu-4.4.1-r1a2-x86-gcc4-2010-07-13-b.zip ; -} - -HAIKU_ICU_URL = $(baseURL)/$(HAIKU_ICU_PACKAGE) ; +HAIKU_ICU_GCC_2_PACKAGE = icu-4.4.1-x86-gcc2-2010-07-14.zip ; +HAIKU_ICU_GCC_4_PACKAGE = icu-4.4.1-x86-gcc4-2010-07-14.zip ; if $(TARGET_ARCH) != x86 { Echo "ICU not available for $(TARGET_ARCH)" ; } else { - local zipFile = [ DownloadFile $(HAIKU_ICU_PACKAGE) : $(HAIKU_ICU_URL) ] ; + local icu_package ; + if $(HAIKU_GCC_VERSION[1]) = 2 { + icu_package = $(HAIKU_ICU_GCC_2_PACKAGE) ; + } else { + icu_package = $(HAIKU_ICU_GCC_4_PACKAGE) ; + } + + local zipFile = [ DownloadFile $(icu_package) + : $(baseURL)/$(icu_package) ] ; # zip file and output directory HAIKU_ICU_ZIP_FILE = $(zipFile) ; HAIKU_ICU_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR) - $(HAIKU_ICU_PACKAGE:B) ] ; + $(icu_package:B) ] ; # extract headers and libraries # HAIKU_ICU_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_ICU_DIR) @@ -79,13 +77,13 @@ if $(TARGET_ARCH) != x86 { HAIKU_ICU_LIBS = [ ExtractArchive $(HAIKU_ICU_DIR) : - system/lib/libicudata.so.44 - system/lib/libicui18n.so.44 - system/lib/libicuio.so.44 - system/lib/libicule.so.44 - system/lib/libiculx.so.44 - system/lib/libicutu.so.44 - system/lib/libicuuc.so.44 + libicudata.so.44 + libicui18n.so.44 + libicuio.so.44 + libicule.so.44 + libiculx.so.44 + libicutu.so.44 + libicuuc.so.44 : $(zipFile) ] ; diff --git a/build/jam/OptionalPackages b/build/jam/OptionalPackages index 4de118f920..e1fc4bd2ba 100644 --- a/build/jam/OptionalPackages +++ b/build/jam/OptionalPackages @@ -754,12 +754,31 @@ if [ IsOptionalHaikuImagePackageAdded ICU ] { if $(TARGET_ARCH) != x86 { Echo "No optional package ICU available for $(TARGET_ARCH)" ; } else { - InstallOptionalHaikuImagePackage $(HAIKU_ICU_PACKAGE) - : $(HAIKU_ICU_URL) - : - : - : true - ; + if $(HAIKU_GCC_VERSION[1]) = 2 { + # unzip gcc2 + InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_2_PACKAGE) + : $(baseURL)/$(HAIKU_ICU_GCC_2_PACKAGE) + : system lib ; + if $(isHybridBuild) { + # unzip gcc4 to gcc4 subdir + InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_4_PACKAGE) + : $(baseURL)/$(HAIKU_ICU_GCC_4_PACKAGE) + : system lib gcc4 + ; + } + } else { + # unzip gcc4 + InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_4_PACKAGE) + : $(baseURL)/$(HAIKU_ICU_GCC_4_PACKAGE) + : system lib ; + if $(isHybridBuild) { + # unzip gcc2 to gcc2 subdir + InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_2_PACKAGE) + : $(baseURL)/$(HAIKU_ICU_GCC_2_PACKAGE) + : system lib gcc2 + ; + } + } } }