Project

General

Profile

Instructions for cross-compiling icu4c v44rc1 for PPC using nova crosscompiler v4 5 0-2 10 1

(Q. Lu, May 11, 2011)

ICU - International Components for Unicode
http://site.icu-project.org/
Can be used in place of iconv or gnuiconv as transcoder in xerces package build.

  • First set up the ups products area
    o ksu root
    o su products
    o cd /nova/ups/prd/icu4c/v4_4_rc1
    o mkdir LinuxPPC-GCC_4_5_0
    o cd LinuxPPC-GCC_4_5_0
    o mkdir ups
    o cd ups
    o (create the icu4c.table)
  • Build a cross-compiled version of icu4c
    o cd /scratch/products/ppcinstall/icu4c
    o mkdir GCC_4_5_0
    o cd GCC_4_5_0
    o wget http://download.icu-project.org/files/icu4c/4.4rc1/icu4c-4_4_rc1-src.tgz
    o tar -zxvf icu4c-4_4_rc1-src.tgz
    o mv icu icu4c-4_4_rc1
    o cd icu4c-4_4_rc1
    o mkdir buildx86
    o cd buildx86
    o sh ../source/runConfigureICU Linux --enable-static
    o gmake >& gmake.log &
    o cd ..
    o mkdir buildppc
    o cd buildppc
    o setup nova_crosscompiler v4_5_0-2_10_1 -q powerpc-603
    o sh ../source/configure --prefix=/nova/ups/icu4c/v4_4_rc1/LinuxPPC-GCC_4_5_0 --host=powerpc-603-linux-gnu CXX=powerpc-603-linux-gnu-g++ CC=powerpc-603-linux-gnu-gcc --with-cross-build=/scratch/products/ppcinstall/icu4c/icu4c-4_4_rc1/buildx86 --enable-static >& configure.log &
    o gmake >& gmake.log &
    o gmake install
  • Declare the product
o cd /nova/ups/prd/icu4c/v4_4_rc1
o edit "v4_4_rc1.version" file, add following to the bottom of the file:

#*************************************************
#
FLAVOR = LinuxPPC
QUALIFIERS = "GCC_4_5_0" 
  DECLARER = products
  DECLARED = 2010-05-11 20.32.34 GMT
  MODIFIER = products
  MODIFIED = 2010-05-11 20.32.34 GMT
  PROD_DIR = icu4c/v4_4_rc1/LinuxPPC-GCC_4_5_0
  UPS_DIR = ups
  TABLE_FILE = icu4c.table

#*************************************************
#
FLAVOR = Linuxppc
QUALIFIERS = "GCC_4_5_0" 
  DECLARER = products
  DECLARED = 2010-05-11 20.32.43 GMT
  MODIFIER = products
  MODIFIED = 2010-05-11 20.32.43 GMT
  PROD_DIR = icu4c/v4_4_rc1/LinuxPPC-GCC_4_5_0
  UPS_DIR = ups
  TABLE_FILE = icu4c.table

o reason for doing this is because using ups v4.9.1 to declare a new qualifier for an existing version (declared by previous version of ups) would cause conflicts