summaryrefslogtreecommitdiffstats
path: root/intl/icu/source/runConfigureICU
diff options
context:
space:
mode:
Diffstat (limited to 'intl/icu/source/runConfigureICU')
-rwxr-xr-xintl/icu/source/runConfigureICU459
1 files changed, 459 insertions, 0 deletions
diff --git a/intl/icu/source/runConfigureICU b/intl/icu/source/runConfigureICU
new file mode 100755
index 0000000000..00a5687297
--- /dev/null
+++ b/intl/icu/source/runConfigureICU
@@ -0,0 +1,459 @@
+#!/bin/sh
+# Copyright (C) 2016 and later: Unicode, Inc. and others.
+# License & terms of use: http://www.unicode.org/copyright.html
+# Copyright (c) 1999-2015, International Business Machines Corporation and
+# others. All Rights Reserved.
+
+# runConfigureICU: This script will run the "configure" script for the appropriate platform
+# Only supported platforms are recognized
+
+me=`basename $0`
+OPTS=
+
+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
+
+If you want to add custom CFLAGS or CXXFLAGS or similar, provide them _before_
+the runConfigureICU command:
+
+ CXXFLAGS=xyz path/to/runConfigureICU --enable-debug ...
+
+The following names can be supplied as the argument for platform:
+
+ AIX Use the IBM XL xlclang/xlclang compilers on AIX
+ AIX/GCC Use the GNU gcc/g++ compilers on AIX
+ AIX/OpenXL Use the IBM Open XL ibm-clang_r/ibm-clang++_r compilers on AIX
+ Cygwin Use the GNU gcc/g++ compilers on Cygwin
+ Cygwin/MSVC Use the Microsoft Visual C++ compiler on Cygwin
+ Cygwin/MSVC2005 Use the Microsoft Visual C++ 2005 compiler on Cygwin
+ Cygwin/ICL Use the Intel C++ compiler on Cygwin
+ FreeBSD Use the clang/clang++ or GNU gcc/g++ compilers on FreeBSD
+ HP-UX/ACC Use the HP ANSI C/Advanced C++ compilers on HP-UX 11
+ IBMi Use the iCC compilers on IBM i, i5/OS, OS/400
+ Linux Use the clang/clang++ or GNU gcc/g++ compilers on Linux
+ Linux/gcc Use the GNU gcc/g++ compilers on Linux
+ Linux/ECC Use the Intel ECC compiler on Linux
+ Linux/ICC Use the Intel ICC compiler on Linux
+ Linux/VA Use the IBM XL compiler on Power PC Linux
+ MacOSX Use the default compilers on MacOS X (Darwin)
+ MacOSX/GCC Use the GNU gcc/g++ compilers on MacOSX (Darwin)
+ MinGW Use the GNU gcc/g++ compilers on MinGW
+ MSYS/MSVC Use the Microsoft Visual C++ compiler on MSYS
+ QNX Use the QNX QCC compiler on QNX/Neutrino
+ Solaris Use the Sun cc/CC compilers on Solaris
+ Solaris/GCC Use the GNU gcc/g++ compilers on Solaris
+ SolarisX86 Use the Sun cc/CC compilers on Solaris x86
+ TRU64V5.1/CXX Use the Compaq cxx compiler on Tru64 (OSF)
+ zOS Use the IBM cxx compiler on z/OS (os/390)
+ zOSV1R2 Use the IBM cxx compiler for z/OS 1.2
+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
+ OPTS="$OPTS --enable-debug"
+ ;;
+ --disable-release)
+ release=0
+ OPTS="$OPTS --disable-release"
+ ;;
+ *)
+ 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
+ AIX)
+ THE_OS=AIX
+ THE_COMP="xlclang"
+ CC=`which xlclang`; export CC
+ if [ ! -x $CC ]; then
+ echo "ERROR: xlclang was not found, please check the PATH to make sure it is correct."; exit 1
+ fi
+ CXX=`which xlclang++`; export CXX
+ if [ ! -x $CXX ]; then
+ echo "ERROR: xlclang++ was not found, please check the PATH to make sure it is correct."; exit 1
+ fi
+ RELEASE_CFLAGS="-O3 -qstrict=ieeefp"
+ RELEASE_CXXFLAGS="-O3 -qstrict=ieeefp"
+ ;;
+ AIX/GCC)
+ THE_OS=AIX
+ THE_COMP="the GNU C++"
+ CC=gcc; export CC
+ CXX=g++; export CXX
+ DEBUG_CFLAGS='-g -O0'
+ DEBUG_CXXFLAGS='-g -O0'
+ ;;
+ AIX/OpenXL)
+ THE_OS=AIX
+ THE_COMP="ibm-clang_r"
+ CC=`which ibm-clang_r`; export CC
+ if [ ! -x $CC ]; then
+ echo "ERROR: ibm-clang_r was not found, please check the PATH to make sure it is correct."; exit 1
+ fi
+ CXX=`which ibm-clang++_r`; export CXX
+ if [ ! -x $CXX ]; then
+ echo "ERROR: ibm-clang++_r was not found, please check the PATH to make sure it is correct."; exit 1
+ fi
+ RELEASE_CFLAGS="-O3"
+ RELEASE_CXXFLAGS="-O3"
+ ;;
+ Solaris)
+ THE_OS=SOLARIS
+ THE_COMP="Sun's CC"
+ CC=`which cc`; export CC
+ CXX=`which CC`; export CXX
+ RELEASE_CFLAGS="-xO1 -xlibmil"
+ RELEASE_CXXFLAGS="-O4 -xlibmil"
+ ;;
+ Solaris/GCC)
+ THE_OS=SOLARIS
+ THE_COMP="the GNU C++"
+ CC=gcc; export CC
+ CXX=g++; export CXX
+ RELEASE_CFLAGS=-O1
+ RELEASE_CXXFLAGS=-O2
+ ;;
+ SolarisX86)
+ THE_OS="SOLARIS X86"
+ THE_COMP="Sun's CC"
+ CC=`which cc`; export CC
+ CXX=`which CC`; export CXX
+ LDFLAGS="${LDFLAGS} -lCrun";export LDFLAGS
+ RELEASE_CFLAGS=-xO3
+ RELEASE_CXXFLAGS=-O3
+ ;;
+ HP-UX/ACC)
+ THE_OS="HP-UX 11"
+ THE_COMP="aCC"
+ CC=cc; export CC
+ CXX=aCC; export CXX
+ RELEASE_CFLAGS='+O2 +Ofltacc'
+ RELEASE_CXXFLAGS='+O2 +Ofltacc'
+ ;;
+ IBMi)
+ THE_OS="IBM i"
+ THE_COMP="the iCC C++"
+ CC=icc; export CC
+ CXX=icc; export CXX
+ CPP="$CC -c -qpponly"; export CPP
+ MAKE=gmake; export MAKE
+ U_MAKE=gmake; export U_MAKE
+ # gmake is a .pgm and may not be on the path. Don't use a full path, just use gmake.
+ ac_cv_path_U_MAKE=gmake; export ac_cv_path_U_MAKE
+ RELEASE_CFLAGS='-O4'
+ RELEASE_CXXFLAGS='-O4'
+ ;;
+ Linux/ECC)
+ THE_OS="Linux"
+ THE_COMP="Intel ECC 7.1"
+ CC=ecc; export CC
+ CXX=ecpc; export CXX
+ RELEASE_CFLAGS='-O2'
+ RELEASE_CXXFLAGS='-O2'
+ ;;
+ Linux/ICC)
+ THE_OS="Linux"
+ CC=`which icc`; export CC
+ CXX=`which icpc`; export CXX
+ ICC_VER=`${CC} -v 2>&1`
+ RELEASE_CFLAGS='-O'
+ RELEASE_CXXFLAGS='-O'
+ export CFLAGS="-fp-model precise"
+ export CXXFLAGS="-fp-model precise"
+ if [ "${ICC_VER}" = "Version 9.0 " ]; then
+ RELEASE_CFLAGS=''
+ RELEASE_CXXFLAGS=''
+ export CFLAGS="${CFLAGS} -O0"
+ export CXXFLAGS="${CXXFLAGS} -O0"
+ echo "ICC 9.0 does not work with optimization- disabling optimizations"
+ fi
+ THE_COMP="Intel ${ICC_VER}"
+ ;;
+ Linux/VA)
+ THE_OS="Linux"
+ THE_COMP="IBM XL C++ Compiler"
+ CC=`which xlclang`; export CC
+ CXX=`which xlclang++`; export CXX
+ RELEASE_CFLAGS="-O3"
+ RELEASE_CXXFLAGS="-O3"
+ ;;
+ Linux/gcc)
+ THE_OS="Linux"
+ THE_COMP="the GNU C++"
+ CC=gcc; export CC
+ CXX=g++; export CXX
+ RELEASE_CFLAGS='-O3'
+ RELEASE_CXXFLAGS='-O3'
+ DEBUG_CFLAGS='-g'
+ DEBUG_CXXFLAGS='-g'
+ ;;
+ Linux*)
+ THE_OS="Linux"
+ THE_COMP="the clang or else GNU C++"
+ RELEASE_CFLAGS='-O3'
+ RELEASE_CXXFLAGS='-O3'
+ DEBUG_CFLAGS='-g'
+ DEBUG_CXXFLAGS='-g'
+ ;;
+ Cygwin)
+ THE_OS="Cygwin"
+ THE_COMP="the GNU C++"
+ RELEASE_CFLAGS='-O3'
+ RELEASE_CXXFLAGS='-O3'
+ ;;
+ Cygwin/MSVC)
+ THE_OS="Windows with Cygwin"
+ THE_COMP="Microsoft Visual C++"
+ CC=cl; export CC
+ CXX=cl; export CXX
+ RELEASE_CFLAGS='-Gy -MD'
+ RELEASE_CXXFLAGS='-Gy -MD'
+ DEBUG_CFLAGS='-FS -Zi -MDd'
+ DEBUG_CXXFLAGS='-FS -Zi -MDd'
+ DEBUG_LDFLAGS='-DEBUG'
+ ;;
+ Cygwin/MSVC2005)
+ THE_OS="Windows with Cygwin"
+ THE_COMP="Microsoft Visual C++ 2005"
+ CC=cl; export CC
+ CXX=cl; export CXX
+ RELEASE_CFLAGS='/Gy /MD'
+ RELEASE_CXXFLAGS='/Gy /MD'
+ DEBUG_CFLAGS='/Zi /MDd'
+ DEBUG_CXXFLAGS='/Zi /MDd'
+ DEBUG_LDFLAGS='/DEBUG'
+ ;;
+ Cygwin/ICL)
+ THE_OS="Windows with Cygwin"
+ THE_COMP="Intel C++"
+ CC=icl; export CC
+ CXX=icl; export CXX
+ # The Intel compiler has optimization bugs. So we disable optimization.
+ RELEASE_CFLAGS='/Od'
+ RELEASE_CXXFLAGS='/Od'
+ DEBUG_CFLAGS='/Zi'
+ DEBUG_CXXFLAGS='/Zi'
+ DEBUG_LDFLAGS='/DEBUG'
+ ;;
+ MacOSX)
+ THE_OS="MacOS X (Darwin)"
+ THE_COMP="the default"
+ RELEASE_CFLAGS='-O2'
+ RELEASE_CXXFLAGS='-O2'
+ DEBUG_CFLAGS='-g -O0'
+ DEBUG_CXXFLAGS='-g -O0'
+ ;;
+ MacOSX/GCC)
+ THE_OS="MacOS X (Darwin)"
+ THE_COMP="the GNU C++"
+ RELEASE_CFLAGS='-O2'
+ RELEASE_CXXFLAGS='-O2'
+ DEBUG_CFLAGS='-g -O0'
+ DEBUG_CXXFLAGS='-g -O0'
+ CC=gcc; export CC
+ CXX=g++; export CXX
+ ;;
+ MinGW)
+ THE_OS="MinGW"
+ THE_COMP="the GNU C++"
+ RELEASE_CFLAGS='-O3'
+ RELEASE_CXXFLAGS='-O3'
+ export CXXFLAGS
+ ;;
+ MSYS/MSVC)
+ THE_OS="MSYS"
+ THE_COMP="Microsoft Visual C++"
+ CC=cl; export CC
+ CXX=cl; export CXX
+ RELEASE_CFLAGS='-Gy -MD'
+ RELEASE_CXXFLAGS='-Gy -MD'
+ DEBUG_CFLAGS='-FS -Zi -MDd'
+ DEBUG_CXXFLAGS='-FS -Zi -MDd'
+ DEBUG_LDFLAGS='-DEBUG'
+ ;;
+ *BSD)
+ THE_OS="BSD"
+ THE_COMP="the GNU C++"
+ DEBUG_CFLAGS='-g -O0'
+ DEBUG_CXXFLAGS='-g -O0'
+ ;;
+ TRU64V5.1/CXX)
+ THE_OS="OSF1"
+ THE_COMP="Compaq cxx"
+ CC=cc; export CC
+ CXX=cxx; export CXX
+ ;;
+ QNX)
+ THE_OS="QNX"
+ THE_COMP="QNX cc"
+ CC=qcc; export CC
+ CXX=QCC; export CXX
+ ;;
+ zOS)
+ THE_OS="z/OS (OS/390)"
+ THE_COMP="z/OS C/C++"
+ CC=xlc; export CC
+ CXX=xlC; export CXX
+ RELEASE_CFLAGS="-O2 -Wc,'inline(AUTO,NOREPORT,1000,8000)'"
+ RELEASE_CXXFLAGS="-O2 -Wc,'inline(AUTO,NOREPORT,1000,8000)'"
+ ;;
+ zOSV1R2)
+ THE_OS="z/OS 1.2"
+ THE_COMP="z/OS 1.2 C/C++"
+ CC=cc; export CC
+ CXX=cxx; export CXX
+ export COMPILE_LINK_ENVVAR='_CXX_CICC_VER}=0x41020000 _C89_CVERSION=0x41020000 _CC_CVERSION=0x41020000 _CXX_PVERSION=0x41020000 _C89_PVERSION=0x41020000 _CC_PVERSION=0x41020000'
+ export _CXX_CVERSION=0x41020000 _C89_CVERSION=0x41020000 _CC_CVERSION=0x41020000 _CXX_PVERSION=0x41020000 _C89_PVERSION=0x41020000 _CC_PVERSION=0x41020000
+ export LDFLAGS="-Wl,'compat=pm3'"
+ export CFLAGS="-Wc,'target(zOSV1R2)'"
+ export CXXFLAGS="-Wc,'target(zOSV1R2)'"
+ RELEASE_CFLAGS="-2 -Wc,'inline(auto,noreport,500,4000)'"
+ RELEASE_CXXFLAGS="-2 -Wc,'inline(auto,noreport,500,4000)'"
+ ;;
+ *)
+ >&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="$RELEASE_CFLAGS $CFLAGS"
+ fi
+ if test "$RELEASE_CXXFLAGS" = ""
+ then
+ case $CXX in
+ g++|*/g++|*-g++-*|*/*-g++-*)
+ RELEASE_CXXFLAGS=-O3
+ ;;
+ esac
+ fi
+ if test "$RELEASE_CXXFLAGS" != ""
+ then
+ CXXFLAGS="$RELEASE_CXXFLAGS $CXXFLAGS"
+ fi
+ if test "$RELEASE_LDFLAGS" != ""
+ then
+ LDFLAGS="$RELEASE_LDFLAGS $LDFLAGS"
+ fi
+fi
+
+if test $debug -eq 1
+then
+ if test "$DEBUG_CFLAGS" != ""
+ then
+ CFLAGS="$DEBUG_CFLAGS $CFLAGS"
+ fi
+ if test "$DEBUG_CXXFLAGS" != ""
+ then
+ CXXFLAGS="$DEBUG_CXXFLAGS $CXXFLAGS"
+ fi
+ if test "$DEBUG_LDFLAGS" != ""
+ then
+ LDFLAGS="$DEBUG_LDFLAGS $LDFLAGS"
+ fi
+fi
+
+export CFLAGS
+export CXXFLAGS
+export LDFLAGS
+
+# Run configure
+
+echo "export CPP=$CPP CC=$CC CXX=$CXX CPPFLAGS=$CPPFLAGS CFLAGS=$CFLAGS CXXFLAGS=$CXXFLAGS LDFLAGS=$LDFLAGS MAKE=$MAKE"
+echo "Running ./configure $OPTS $@ for $THE_OS using $THE_COMP compiler"
+echo
+if $configure $OPTS $@
+then
+ 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...
+else
+ echo $0: ./configure failed
+ exit 1
+fi