#!/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.1.5xlC Use xlC on AIX 4.1.5 AIX4.3xlC Use xlC on AIX 4.3 AIX4.3VA Use the VA compiler on AIX 4.3 SOLARISCC Use Sun's CC compiler on Solaris SOL2.7CC Same as above SOLARISGCC Use the GNU C++ compiler on Solaris SOLARISX86 Use Sun's CC compiler on Solaris x86 LinuxRedHat5.2 Use the GNU C++ compiler on Linux LinuxRedHat6.0 Same as above HP/UX10.2CC Use HP's C++ compiler on HP-UX 10.2 HP/UX10.2ACC Use the Advanced C++ compiler on HP-UX 10.2 HP/UX11CC Use HP's C++ compiler on HP-UX 11 HP/UX11ACC Use the Advanced C++ compiler on HP-UX 11 PTX Use C++ on Dynix/PTX v4.5 ALPHA/LINUXGCC Use GCC on Alpha/Linux systems ALPHA/LINUXCCC Use Compaq C compiler on Alpha/Linux systems 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.1.5xlC) THE_OS=AIX THE_COMP=xlC CC=/usr/lpp/xlC/bin/xlc; export CC CXX=/usr/lpp/xlC/bin/xlC_r; export CXX RELEASE_CFLAGS="-qignerrno" RELEASE_CXXFLAGS="-qignerrno" #CPPFLAGS=-I/usr/lpp/xlC/include; export CPPFLAGS #LDFLAGS=-L/usr/lpp/xlC/lib; export LDFLAGS ;; 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="-qignerrno" RELEASE_CXXFLAGS="-qignerrno" #CPPFLAGS=-I/usr/lpp/xlC/include; export CPPFLAGS #LDFLAGS=-L/usr/lpp/xlC/lib; export LDFLAGS ;; 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 ;; SOL2.7CC) THE_OS="SOLARIS 2.7" THE_COMP="Sun's CC" CC=/usr/local/SUNWspro/bin/cc; export CC CXX=/usr/local/SUNWspro/bin/CC; export CXX RELEASE_CFLAGS=-xO3 RELEASE_CXXFLAGS=-O3 ;; SOLARISX86) THE_OS="SOLARIS X86" THE_COMP="Sun's CC" CC=cc; export CC CXX=CC; export CXX CXX_FLAGS="-w -O";export CXX_FLAGS C_FLAGS="-w -O";export C_FLAGS LDFLAGS="-L -lCrun";export LDFLAGS RELEASE_CFLAGS=-xO3 RELEASE_CXXFLAGS=-O3 ;; SOLARISCC) THE_OS=SOLARIS THE_COMP="Sun's CC" CC=/usr/local/SUNWspro/bin/cc; export CC CXX=/usr/local/SUNWspro/bin/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 ;; LinuxRedHat*) THE_OS=Linux THE_COMP="the GNU C++" CXX=g++; export CXX CC=gcc; export CC ;; HP/UX10.2CC) THE_OS="HP-UX 10.2" THE_COMP="HP's CC" CC=cc; export CC CXX=CC; export CXX RELEASE_CFLAGS='+O2 +Ofltacc' RELEASE_CXXFLAGS='+O2 +Ofltacc' ;; HP/UX10.2ACC) THE_OS="HP-UX 10.2" THE_COMP="aCC" CC=cc; export CC CXX=aCC; export CXX RELEASE_CFLAGS='+O2 +Ofltacc' RELEASE_CXXFLAGS='+O2 +Ofltacc' ;; HP/UX11CC) THE_OS="HP-UX 11" THE_COMP="HP's CC" CC=cc; export CC CXX=/opt/CC/bin/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=/opt/aCC/bin/aCC; export CXX RELEASE_CFLAGS='+O2 +Ofltacc' RELEASE_CXXFLAGS='+O2 +Ofltacc' ;; PTX) THE_OS="PTX" THE_COMP="C++" CC=cc; export CC CXX=c++; export CXX if test ${XMLINSTALL}o = "o"; then XMLINSTALL=/usr/local; export XMLINSTALL fi configure="$configure --prefix=$XMLINSTALL" ;; 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++" CXX=g++; export CXX CC=gcc; export CC ;; *) >&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...