|  | #!/bin/sh | 
|  |  | 
|  | # runConfigureICU: This script will run the "configure" script for the appropriate platform | 
|  | # Only supported platforms are recognized | 
|  |  | 
|  | me=`basename $0` | 
|  |  | 
|  | usage() | 
|  | { | 
|  | ec=0$1 | 
|  | if test $ec -eq 0 | 
|  | then | 
|  | uletter=U | 
|  | else | 
|  | uletter=u | 
|  | fi | 
|  |  | 
|  | echo "${uletter}sage: $me [ -h, --help ]  [ --enable-debug | --disable-release ] platform [ configurearg ... ]" | 
|  | if test $ec -eq 0 | 
|  | then | 
|  | cat <<EOE | 
|  |  | 
|  | Options: -h, --help         Print this message and exit | 
|  | --enable-debug	    Enable support for debugging | 
|  | --disable-release  Disable presetting optimization flags | 
|  |  | 
|  | The following names can be supplied as the argument for platform: | 
|  |  | 
|  | AIX4.3xlC               Use xlC on AIX 4.3 | 
|  | AIX4.3VA                Use the VA compiler on AIX 4.3 | 
|  | ALPHA/LINUXGCC          Use GCC on Alpha/Linux systems | 
|  | ALPHA/LINUXCCC          Use Compaq C compiler on Alpha/Linux systems | 
|  | FreeBSD                 Use the GNU C++ compiler on Free BSD | 
|  | HP/UX11CC               Use HP's C++ compiler on HP-UX 11 | 
|  | HP/UX11ACC              Use the Advanced C++ compiler on HP-UX 11 | 
|  | LinuxRedHat             Use the GNU C++ compiler on Linux | 
|  | SOLARISCC               Use Sun's CC compiler on Solaris | 
|  | SOLARISGCC              Use the GNU C++ compiler on Solaris | 
|  | SOLARISX86              Use Sun's CC compiler on Solaris x86 | 
|  | TRU64V5.1/CXX           Use Copmaq's cxx compiler on Tru64 (OSF) | 
|  | EOE | 
|  | fi | 
|  |  | 
|  | exit $ec | 
|  | } | 
|  |  | 
|  | # Parse arguments | 
|  |  | 
|  | platform= | 
|  | debug=0 | 
|  | release=1 | 
|  |  | 
|  | while test $# -ne 0 | 
|  | do | 
|  | case "$1" in | 
|  | -h|--help) | 
|  | usage 0 | 
|  | ;; | 
|  | --enable-debug) | 
|  | debug=1 | 
|  | release=0 | 
|  | ;; | 
|  | --disable-release) | 
|  | debug=0 | 
|  | release=0 | 
|  | ;; | 
|  | *) | 
|  | platform="$1" | 
|  | shift | 
|  | break | 
|  | ;; | 
|  | esac | 
|  | shift | 
|  | done | 
|  |  | 
|  | if test x$platform = x | 
|  | then | 
|  | usage 1 | 
|  | fi | 
|  |  | 
|  | # Go. | 
|  |  | 
|  | rm -f config.cache | 
|  | rm -f config.log | 
|  | rm -f config.status | 
|  |  | 
|  | DEBUG_CFLAGS='-g' | 
|  | DEBUG_CXXFLAGS='-g' | 
|  |  | 
|  | if test x$configure = x | 
|  | then | 
|  | if test -f ./configure | 
|  | then | 
|  | configuredir=. | 
|  | else | 
|  | configuredir=`echo $0 | sed 's,[^/]*$,,'` | 
|  | if test x$configuredir = x$0 | 
|  | then | 
|  | configuredir=. | 
|  | fi | 
|  | fi | 
|  |  | 
|  | if test x$configuredir = x | 
|  | then | 
|  | configuredir=. | 
|  | fi | 
|  |  | 
|  | configure=$configuredir/configure | 
|  | fi | 
|  |  | 
|  | case $platform in | 
|  | AIX4.3xlC) | 
|  | THE_OS=AIX | 
|  | THE_COMP=xlC | 
|  | CC=/usr/ibmcxx/bin/xlc; export CC | 
|  | CXX=/usr/ibmcxx/bin/xlC_r; export CXX | 
|  | RELEASE_CFLAGS="-O -qmaxmem=-1" | 
|  | RELEASE_CXXFLAGS="-O -qmaxmem=-1" | 
|  | ;; | 
|  | AIX4.3VA) | 
|  | THE_OS=AIX | 
|  | THE_COMP=xlC | 
|  | CC=/usr/vacpp/bin/xlc; export CC | 
|  | CXX=/usr/vacpp/bin/xlC_r; export CXX | 
|  | #RELEASE_CFLAGS=-O2 | 
|  | #RELEASE_CXXFLAGS=-O2 | 
|  | #CPPFLAGS=-I/usr/lpp/xlC/include; export CPPFLAGS | 
|  | #LDFLAGS=-L/usr/lpp/xlC/lib; export LDFLAGS | 
|  | ;; | 
|  | SOLARISX86) | 
|  | THE_OS="SOLARIS X86" | 
|  | THE_COMP="Sun's CC" | 
|  | CC=`which cc`; export CC | 
|  | CXX=`which CC`; export CXX | 
|  | CXX_FLAGS="-w";export CXX_FLAGS | 
|  | C_FLAGS="-w";export C_FLAGS | 
|  | LDFLAGS="-L -lCrun";export LDFLAGS | 
|  | RELEASE_CFLAGS=-xO3 | 
|  | RELEASE_CXXFLAGS=-O3 | 
|  | ;; | 
|  | SOLARISCC) | 
|  | THE_OS=SOLARIS | 
|  | THE_COMP="Sun's CC" | 
|  | CC=`which cc`; export CC | 
|  | CXX=`which CC`; export CXX | 
|  | RELEASE_CFLAGS=-xO3 | 
|  | RELEASE_CXXFLAGS=-O3 | 
|  | ;; | 
|  | SOLARISGCC) | 
|  | THE_OS=SOLARIS | 
|  | THE_COMP="the GNU C++" | 
|  | CXXFLAGS=-I/usr/local/include/g++; export CXXFLAGS | 
|  | LDFLAGS=-R/usr/local/lib; export LDFLAGS | 
|  | ;; | 
|  | HP/UX11CC) | 
|  | THE_OS="HP-UX 11" | 
|  | THE_COMP="HP's CC" | 
|  | CC=cc; export CC | 
|  | CXX=CC; export CXX | 
|  | RELEASE_CFLAGS='+O2 +Ofltacc' | 
|  | RELEASE_CXXFLAGS='+O2 +Ofltacc' | 
|  | ;; | 
|  | HP/UX11ACC) | 
|  | THE_OS="HP-UX 11" | 
|  | THE_COMP="aCC" | 
|  | CC=cc; export CC | 
|  | CXX=aCC; export CXX | 
|  | RELEASE_CFLAGS='+O2 +Ofltacc' | 
|  | RELEASE_CXXFLAGS='+O2 +Ofltacc' | 
|  | ;; | 
|  | ALPHA/LINUXCCC) | 
|  | THE_OS="Linux" | 
|  | THE_COMP="Compaq's CC" | 
|  | CC=ccc; export CC | 
|  | CXX=cxx; export CXX | 
|  | ;; | 
|  | ALPHA/LINUXGCC) | 
|  | THE_OS="Linux" | 
|  | THE_COMP="the GNU C++" | 
|  | CC=gcc; export CC | 
|  | CXX=g++; export CXX | 
|  | ;; | 
|  | TRU64V5.1/CXX) | 
|  | THE_OS="OSF1" | 
|  | THE_COMP="Compaq cxx" | 
|  | CC=cxx; export CC | 
|  | CXX=cxx; export CXX | 
|  | ;; | 
|  | LinuxRedHat*) | 
|  | THE_OS="Linux" | 
|  | THE_COMP="the GNU C++" | 
|  | CC=gcc; export CC | 
|  | CXX=g++; export CXX | 
|  | ;; | 
|  | *BSD) | 
|  | THE_OS="BSD" | 
|  | THE_COMP="the GNU C++" | 
|  | CC=gcc; export CC | 
|  | CXX=g++; export CXX | 
|  | ;; | 
|  | *) | 
|  | >&2 echo "$me: unrecognized platform \"$platform\" (use --help for help)" | 
|  | exit 1;; | 
|  | esac | 
|  |  | 
|  |  | 
|  | # Tweak flags | 
|  |  | 
|  | if test $release -eq 1 | 
|  | then | 
|  | if test "$RELEASE_CFLAGS" = "" | 
|  | then | 
|  | case $CC in | 
|  | gcc|*/gcc|*-gcc-*|*/*-gcc-*) | 
|  | RELEASE_CFLAGS=-O3 | 
|  | ;; | 
|  | esac | 
|  | fi | 
|  | if test "$RELEASE_CFLAGS" != "" | 
|  | then | 
|  | CFLAGS="$CFLAGS $RELEASE_CFLAGS" | 
|  | fi | 
|  | export CFLAGS | 
|  | if test "$RELEASE_CXXFLAGS" = "" | 
|  | then | 
|  | case $CXX in | 
|  | g++|*/g++|*-g++-*|*/*-g++-*) | 
|  | RELEASE_CXXFLAGS=-O | 
|  | ;; | 
|  | esac | 
|  | fi | 
|  | if test "$RELEASE_CXXFLAGS" != "" | 
|  | then | 
|  | CXXFLAGS="$CXXFLAGS $RELEASE_CXXFLAGS" | 
|  | fi | 
|  | export CXXFLAGS | 
|  | fi | 
|  |  | 
|  | if test $debug -eq 1 | 
|  | then | 
|  | if test "$DEBUG_CFLAGS" != "" | 
|  | then | 
|  | CFLAGS="$CFLAGS $DEBUG_CFLAGS" | 
|  | fi | 
|  | export CFLAGS | 
|  | if test "$DEBUG_CXXFLAGS" != "" | 
|  | then | 
|  | CXXFLAGS="$CXXFLAGS $DEBUG_CXXFLAGS" | 
|  | fi | 
|  | export CXXFLAGS | 
|  | fi | 
|  |  | 
|  | # Run configure | 
|  |  | 
|  | echo "Running ./configure $@ for $THE_OS using $THE_COMP compiler" | 
|  | echo | 
|  | $configure $@ | 
|  | echo | 
|  | echo If the result of the above commands looks okay to you, go to the directory | 
|  | echo source in the ICU distribution to build ICU. Please remember that ICU needs | 
|  | echo GNU make to build properly... | 
|  |  |