| #!/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_r; 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_r; 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... |
| |