first stab at fixing #5091:
* let BuildSetup set HAIKU_HOST_IS_BIG_ENDIAN according to HOST_GCC_MACHINE * minor cleanup in BuildSetup * when building ICU, set the endianness indicator suffix according to HAIKU_HOST_IS_BIG_ENDIAN git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34864 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
+17
-7
@@ -181,15 +181,25 @@ switch $(HAIKU_DISTRO_COMPATIBILITY) {
|
||||
|
||||
# analyze the gcc machine spec to determine HAIKU_CPU
|
||||
switch $(HAIKU_GCC_MACHINE) {
|
||||
case i386-* : HAIKU_CPU = x86 ;
|
||||
case i486-* : HAIKU_CPU = x86 ;
|
||||
case i586-* : HAIKU_CPU = x86 ;
|
||||
case i686-* : HAIKU_CPU = x86 ;
|
||||
case i?86-* : HAIKU_CPU = x86 ;
|
||||
case powerpc-* : HAIKU_CPU = ppc ;
|
||||
case m68k-* : HAIKU_CPU = m68k ;
|
||||
case m68k-* : HAIKU_CPU = m68k ;
|
||||
case mipsel-* : HAIKU_CPU = mipsel ;
|
||||
case arm-* : HAIKU_CPU = arm ;
|
||||
case * : Exit "Unsupported gcc target machine:" $(HAIKU_GCC_MACHINE) ;
|
||||
case arm-* : HAIKU_CPU = arm ;
|
||||
case * : Exit "Unsupported gcc target machine:"
|
||||
$(HAIKU_GCC_MACHINE) ;
|
||||
}
|
||||
|
||||
# determine the endianness of the host
|
||||
switch $(HOST_GCC_MACHINE) {
|
||||
case i?86-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ;
|
||||
case x86_64-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ;
|
||||
case powerpc-* : HAIKU_HOST_IS_BIG_ENDIAN = 1 ;
|
||||
# the following are rather unlikely as hosts ...
|
||||
case m68k-* : HAIKU_HOST_IS_BIG_ENDIAN = 1 ;
|
||||
case mipsel-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ;
|
||||
case arm-* : HAIKU_HOST_IS_BIG_ENDIAN = 0 ;
|
||||
case * : Exit "Unsupported gcc host machine:" $(HOST_GCC_MACHINE) ;
|
||||
}
|
||||
|
||||
switch $(HAIKU_CPU) {
|
||||
|
||||
@@ -3,11 +3,18 @@ SubDir HAIKU_TOP src libs icu source data ;
|
||||
ICU_UNICODE_VERSION = 5.1 ;
|
||||
ICU_CLDR_VERSION = $(ICU_GENRB_CLDR_VERSION) ;
|
||||
ICU_DAT_FILES = pnames.icu unames.icu cnvalias.icu ucadata.icu invuca.icu ;
|
||||
ICU_DATA_DIR = [ FDirName $(HOST_COMMON_DEBUG_OBJECT_DIR) icudt42l ] ;
|
||||
ICU_VERSION = 42.1 ;
|
||||
ICU_DATA_SYMBOL = icudt42 ;
|
||||
ICU_ENDIANNESS_INDICATOR = l ; # TODO: little endian is hardcoded, for now
|
||||
# ICU is endianness-aware, so we need to set the endianness indicator such
|
||||
# that it matches the endianness of the host platform
|
||||
if $(HAIKU_HOST_IS_BIG_ENDIAN) = 1 {
|
||||
ICU_ENDIANNESS_INDICATOR = b ;
|
||||
} else {
|
||||
ICU_ENDIANNESS_INDICATOR = l ;
|
||||
}
|
||||
ICU_DATA_VERSION = icudt42$(ICU_ENDIANNESS_INDICATOR) ;
|
||||
ICU_DATA_DIR
|
||||
= [ FDirName $(HOST_COMMON_DEBUG_OBJECT_DIR) $(ICU_DATA_VERSION) ] ;
|
||||
|
||||
rule MakeLocateICUData files : subdir
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user