Home | History | Annotate | Download | only in config
      1 #!/bin/sh
      2 ## -*-sh-*-
      3 #set -x
      4 # BEGIN of icu-config-top
      5 #******************************************************************************
      6 #   Copyright (C) 1999-2004, International Business Machines
      7 #   Corporation and others.  All Rights Reserved.
      8 #******************************************************************************
      9 # This script is designed to aid configuration of ICU.
     10 # rpath links a library search path right into the binaries.
     11 
     12 
     13 ### END of icu-config-top
     14 
     15 ## Zero out prefix.
     16 execprefix=
     17 prefix=
     18 
     19 
     20 loaddefs()
     21 {
     22 
     23 # Following from ./config/mh-linux
     24 ## -*-makefile-*-
     25 #******************************************************************************
     26 #   Copyright (C) 1999-2012, International Business Machines
     27 #   Corporation and others.  All Rights Reserved.
     28 #******************************************************************************
     29 # This Makefile.inc is designed to be included into projects which make use
     30 # of the ICU.
     31 
     32 # CONTENTS OF THIS FILE
     33 # 1). Base configuration information and linkage
     34 # 2). Variables giving access to ICU tools
     35 # 3). Host information
     36 # 4). Compiler flags and settings 
     37 # 5). Data Packaging directives
     38 # 6). Include of platform make fragment (mh-* file)
     39 
     40 ##################################################################
     41 #
     42 #       *1*  base configuration information and linkage
     43 #
     44 ##################################################################
     45 # The PREFIX is the base of where ICU is installed.
     46 # Inside this directory you should find  bin, lib, include/unicode, 
     47 # etc.  If ICU is not installed in this directory, you must change the
     48 # following line.  There should exist ${prefix}/include/unicode/utypes.h
     49 # for example.
     50 default_prefix="/usr/local"
     51 if [ "x${prefix}" = "x" ]; then prefix="$default_prefix"; fi
     52 exec_prefix="${prefix}"
     53 libdir="${exec_prefix}/lib"
     54 libexecdir="${exec_prefix}/libexec"
     55 bindir="${exec_prefix}/bin"
     56 datarootdir="${prefix}/share"
     57 datadir="${datarootdir}"
     58 sbindir="${exec_prefix}/sbin"
     59 
     60 # about the ICU version
     61 VERSION="50.1.1"
     62 UNICODE_VERSION="6.2"
     63 
     64 # The prefix for ICU libraries, normally 'icu'
     65 ICUPREFIX="icu"
     66 PACKAGE="icu"
     67 LIBICU="lib${ICUPREFIX}"
     68 
     69 # Static library prefix and file extension
     70 STATIC_PREFIX="s"
     71 LIBSICU="lib${STATIC_PREFIX}${ICUPREFIX}"
     72 A="a"
     73 
     74 # Suffix at the end of libraries. Usually empty.
     75 ICULIBSUFFIX=""
     76 # ICULIBSUFFIX_VERSION  is non-empty if it is to contain a library
     77 # version. For example, if it is 21, it means libraries are named
     78 # libicuuc21.so for example.
     79 
     80 # rpath links a library search path right into the binaries.
     81 ## mh-files MUST NOT override RPATHLDFLAGS unless they provide
     82 ## equivalent '#SH#' lines for icu-config fixup
     83 default_ENABLE_RPATH="NO"
     84 if [ "x${ENABLE_RPATH}" = "x" ]; then ENABLE_RPATH="$default_ENABLE_RPATH"; fi
     85 RPATHLDFLAGS="${LD_RPATH}${LD_RPATH_PRE}${libdir}"
     86 
     87 # icu-config version of above 'if':
     88 case "x$ENABLE_RPATH" in 
     89 x[yY]*)
     90 	ENABLE_RPATH=YES
     91 	RPATHLDFLAGS="${LD_RPATH}${LD_RPATH_PRE}${libdir}"
     92 	;;
     93 
     94 x[nN]*)
     95 	ENABLE_RPATH=NO
     96 	RPATHLDFLAGS=""
     97 	;;
     98 
     99 x)
    100 	ENABLE_RPATH=NO
    101 	RPATHLDFLAGS=""
    102 	;;
    103 
    104 *)
    105 	echo $0: Unknown --enable-rpath value ${ENABLE_RPATH} 1>&2
    106 	exit 3
    107 	;;
    108 esac
    109 
    110 # Name flexibility for the library naming scheme.  Any modifications should
    111 # be made in the mh- file for the specific platform.
    112 DATA_STUBNAME="data"
    113 COMMON_STUBNAME="uc"
    114 I18N_STUBNAME="i18n"
    115 LAYOUT_STUBNAME="le"
    116 LAYOUTEX_STUBNAME="lx"
    117 IO_STUBNAME="io"
    118 TOOLUTIL_STUBNAME="tu"
    119 CTESTFW_STUBNAME="test"
    120  
    121 
    122 ### To link your application with ICU:
    123 # 1. use LDFLAGS, CFLAGS, etc from above
    124 # 2. link with ${ICULIBS}
    125 # 3. optionally, add one or more of:
    126 #    - ${ICULIBS_I18N}    - i18n library, formatting, etc.
    127 #    - ${ICULIBS_LAYOUT}  - ICU layout library. 
    128 #    - ${ICULIBS_ICUIO}   - ICU stdio equivalent library
    129 
    130 ICULIBS_COMMON="-l${ICUPREFIX}uc${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}"
    131 ICULIBS_DATA="-l${ICUPREFIX}${DATA_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}"
    132 ICULIBS_I18N="-l${ICUPREFIX}${I18N_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}"
    133 ICULIBS_TOOLUTIL="-l${ICUPREFIX}tu${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}"
    134 ICULIBS_CTESTFW="-l${ICUPREFIX}ctestfw${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}"
    135 ICULIBS_ICUIO="-l${ICUPREFIX}io${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}"
    136 ICULIBS_OBSOLETE="-l${ICUPREFIX}obsolete${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}"
    137 ICULIBS_LAYOUT="-l${ICUPREFIX}le${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}"
    138 ICULIBS_LAYOUTEX="-l${ICUPREFIX}lx${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}"
    139 ICULIBS_BASE="${LIBS} -L${libdir}"
    140 
    141 # for icu-config to test with
    142 ICULIBS_COMMON_LIB_NAME="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}"
    143 ICULIBS_COMMON_LIB_NAME_A="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}"
    144 
    145 # ICULIBS is the set of libraries your application should link
    146 # with usually. Many applications will want to add ${ICULIBS_I18N} as well. 
    147 ICULIBS="${ICULIBS_BASE} ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} "
    148 
    149 # Proper echo newline handling is needed in icu-config
    150 ECHO_N="-n"
    151 ECHO_C=""
    152 # Not currently being used but good to have for proper tab handling
    153 ECHO_T=""
    154 
    155 ##################################################################
    156 #
    157 #       *2*  access to ICU tools
    158 #
    159 ##################################################################
    160 # Environment variable to set a runtime search path
    161 #   (Overridden when necessary in -mh files)
    162 LDLIBRARYPATH_ENVVAR="LD_LIBRARY_PATH"
    163 
    164 # Versioned target for a shared library
    165 ## FINAL_SO_TARGET = ${SO_TARGET}.${SO_TARGET_VERSION}
    166 ## MIDDLE_SO_TARGET = ${SO_TARGET}.${SO_TARGET_VERSION_MAJOR}
    167 
    168 # Access to important ICU tools.
    169 # Use as follows:  ${INVOKE} ${GENRB} arguments .. 
    170 INVOKE="${LDLIBRARYPATH_ENVVAR}=${libdir}:$$${LDLIBRARYPATH_ENVVAR} ${LEAK_CHECKER}"
    171 GENCCODE="${sbindir}/genccode"
    172 ICUPKG="${sbindir}/icupkg"
    173 GENCMN="${sbindir}/gencmn"
    174 GENRB="${bindir}/genrb"
    175 PKGDATA="${bindir}/pkgdata"
    176 
    177 # moved here because of dependencies
    178 pkgdatadir="${datadir}/${PACKAGE}${ICULIBSUFFIX}/${VERSION}"
    179 pkglibdir="${libdir}/${PACKAGE}${ICULIBSUFFIX}/${VERSION}"
    180 
    181 ##################################################################
    182 #
    183 #       *3*  Information about the host
    184 #
    185 ##################################################################
    186 
    187 # Information about the host that 'configure' was run on.
    188 host="x86_64-unknown-linux-gnu"
    189 host_alias=""
    190 host_cpu="x86_64"
    191 host_vendor="unknown"
    192 host_os="linux-gnu"
    193 # Our platform canonical name (as determined by configure)
    194 # this is a #define value (i.e. U_XXXX or XXXX)
    195 platform="U_LINUX"
    196 
    197 ##################################################################
    198 #
    199 #       *4*  compiler flags and misc. options
    200 #
    201 ##################################################################
    202 AR="ar"
    203 # initial tab keeps it out of the shell version.
    204 ARFLAGS=" ${ARFLAGS}"
    205 CC="gcc"
    206 CFLAGS="-O2 -Wall -std=c99 -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings ${THREADSCFLAGS} "
    207 CPP="gcc -E"
    208 CPPFLAGS="-ffunction-sections -fdata-sections ${THREADSCPPFLAGS}   ${LIBCPPFLAGS} -I${prefix}/include"
    209 CXX="g++"
    210 CXXFLAGS="-O2 -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long ${THREADSCXXFLAGS} "
    211 DEFAULT_MODE="static"
    212 DEFS="-DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=8 -DHAVE_LIBM=1 -DHAVE_DLFCN_H=1 -DHAVE_DLOPEN=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_LIBPTHREAD=1 -DHAVE_INTTYPES_H=1 -DHAVE_DIRENT_H=1 -DHAVE_WCHAR_H=1 -DSIZEOF_WCHAR_T=4 "
    213 FFLAGS="@FFLAGS@"
    214 # use a consistent INSTALL 
    215 INSTALL="${SHELL} ${pkgdatadir}/install-sh -c"
    216 INSTALL_DATA="${INSTALL} -m 644"
    217 INSTALL_PROGRAM="${INSTALL}"
    218 INSTALL_SCRIPT="${INSTALL}"
    219 LDFLAGS="-Wl,--gc-sections ${RPATHLDFLAGS}"
    220 LIBS="-lpthread -ldl -lm  "
    221 LIB_M=""
    222 LIB_VERSION="50.1.1"
    223 LIB_VERSION_MAJOR="50"
    224 MKINSTALLDIRS="${SHELL} ${pkgdatadir}/mkinstalldirs"
    225 RANLIB="ranlib"
    226 RMV="rm -rf"
    227 SHELL="/bin/sh"
    228 SHLIB_c="${CC} ${DEFS} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -shared"
    229 SHLIB_cc="${CXX} ${DEFS} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} -shared"
    230 U_IS_BIG_ENDIAN="0"
    231 includedir="${prefix}/include"
    232 infodir="${datarootdir}/info"
    233 localstatedir="${prefix}/var"
    234 mandir="${datarootdir}/man"
    235 oldincludedir="/usr/include"
    236 program_transform_name="s,x,x,"
    237 sharedstatedir="${prefix}/com"
    238 sysconfdir="${prefix}/etc"
    239 INSTALL_L="${INSTALL_DATA}"
    240 
    241 # for derivative builds - don't bother with VERBOSE/NONVERBOSE SILENT_COMPILE
    242 
    243 ##################################################################
    244 #
    245 #       *5* packaging options and directories
    246 #
    247 ##################################################################
    248 
    249 # The basename of the ICU data file (i.e. icudt21b )
    250 ICUDATA_CHAR="l"
    251 ICUDATA_NAME="icudt50l"
    252 
    253 # Defaults for pkgdata's mode and directories
    254 # The default data dir changes depending on what packaging mode 
    255 # is being used
    256 if [ "x$PKGDATA_MODE" = "x" ];
    257 then
    258 PKGDATA_MODE="static"
    259 fi
    260 
    261 case "$PKGDATA_MODE" in
    262 common)
    263 ICUDATA_DIR="${pkgdatadir}"
    264 ICUPKGDATA_DIR="${ICUDATA_DIR}"
    265 ;;
    266 dll)
    267 ICUDATA_DIR="${pkgdatadir}"
    268 ICUPKGDATA_DIR="${libdir}"
    269 ;;
    270 *)
    271 ICUDATA_DIR="${pkgdatadir}"
    272 ICUPKGDATA_DIR="${ICUDATA_DIR}"
    273 ;;
    274 
    275 esac
    276 
    277 GENCCODE_ASSEMBLY="-a gcc"
    278 
    279 ##################################################################
    280 #
    281 #       *6* Inclusion of platform make fragment (mh-* file)
    282 #
    283 ##################################################################
    284 # The mh- file ("make fragment") for the platform is included here. 
    285 # It may override the above settings.
    286 # It is put last so that the mh-file can override anything.
    287 # The selfcheck is just a sanity check that this makefile is
    288 # parseable. The mh fragment is only included if this does not occur.
    289 
    290 ## -*-makefile-*-
    291 ## Linux-specific setup
    292 ## Copyright (c) 1999-2012, International Business Machines Corporation and
    293 ## others. All Rights Reserved.
    294 
    295 ## Commands to generate dependency files
    296 GEN_DEPS_c="${CC} -E -MM ${DEFS} ${CPPFLAGS}"
    297 GEN_DEPS_cc="${CXX} -E -MM ${DEFS} ${CPPFLAGS}"
    298 
    299 ## Flags for position independent code
    300 SHAREDLIBCFLAGS="-fPIC"
    301 SHAREDLIBCXXFLAGS="-fPIC"
    302 SHAREDLIBCPPFLAGS="-DPIC"
    303 
    304 ## Additional flags when building libraries and with threads
    305 THREADSCPPFLAGS="-D_REENTRANT"
    306 LIBCPPFLAGS=""
    307 
    308 ## Compiler switch to embed a runtime search path
    309 LD_RPATH="-Wl,-zorigin,-rpath,\$\$ORIGIN "
    310 LD_RPATH_PRE="-Wl,-rpath,"
    311 
    312 ## These are the library specific LDFLAGS
    313 LDFLAGSICUDT="-nodefaultlibs -nostdlib"
    314 
    315 ## Compiler switch to embed a library name
    316 # The initial tab in the next line is to prevent icu-config from reading it.
    317 # We can't depend on MIDDLE_SO_TARGET being set.
    318 LD_SONAME=
    319 
    320 ## Shared library options
    321 LD_SOOPTIONS="-Wl,-Bsymbolic"
    322 
    323 ## Shared object suffix
    324 SO="so"
    325 ## Non-shared intermediate object suffix
    326 STATIC_O="ao"
    327 
    328 ## Compilation rules
    329 
    330 ## Dependency rules
    331 
    332 ## Versioned libraries rules
    333 
    334 ##  Bind internal references
    335 
    336 # LDflags that pkgdata will use
    337 BIR_LDFLAGS="-Wl,-Bsymbolic"
    338 
    339 # Dependencies [i.e. map files] for the final library
    340 BIR_DEPS=""
    341 
    342 ## Remove shared library 's'
    343 STATIC_PREFIX_WHEN_USED=""
    344 STATIC_PREFIX=""
    345 
    346 ## End Linux-specific setup
    347 
    348 ## -*-sh-*-
    349 ## BEGIN of icu-config-bottom.
    350 ## Copyright (c) 2002-2011, International Business Machines Corporation and
    351 ## others. All Rights Reserved.
    352 
    353 ICUUC_FILE="${libdir}/${ICULIBS_COMMON_LIB_NAME}"
    354 ICUUC_FILE_A="${libdir}/${ICULIBS_COMMON_LIB_NAME_A}"
    355     
    356 #  echo ENABLE RPATH $ENABLE_RPATH and RPATHLDFLAGS=${RPATH_LDFLAGS}
    357 if [ "x$PKGDATA_MODE" = "x" ]; then
    358     PKGDATA_MODE=dll
    359 fi
    360 
    361 }
    362 
    363 ## The actual code of icu-config goes here.
    364 
    365 ME=`basename "$0"`
    366 
    367 allflags()
    368 {
    369     echo "  --noverify             Don't verify that ICU is actually installed."
    370     echo "  --bindir               Print binary directory path (bin)"
    371     echo "  --cc                   Print C compiler used [CC]"
    372     echo "  --cflags               Print C compiler flags [CFLAGS]"
    373     echo "  --cflags-dynamic       Print additional C flags for"
    374     echo "                             building shared libraries."
    375     echo "  --cppflags             Print C Preprocessor flags [CPPFLAGS]"
    376     echo "  --cppflags-dynamic     Print additional C Preprocessor flags for"
    377     echo "                             building shared libraries."
    378     echo "  --cppflags-searchpath  Print only -I include directives  (-Iinclude)"
    379     echo "  --cxx                  Print C++ compiler used [CXX]"
    380     echo "  --cxxflags             Print C++ compiler flags [CXXFLAGS]"
    381     echo "  --cxxflags-dynamic     Print additional C++ flags for"
    382     echo "                             building shared libraries."
    383     echo "  --detect-prefix        Attempt to detect prefix based on PATH"
    384     echo "  --exec-prefix          Print prefix for executables (/bin)"
    385     echo "  --exists               Return with 0 status if ICU exists else fail"
    386     echo "  --help, -?, --usage    Print this message"
    387     echo "  --icudata              Print shortname of ICU data file (icudt21l)"
    388     echo "  --icudata-install-dir  Print path to install data to - use as --install option to pkgdata(1)"
    389     echo "  --icudata-mode         Print default ICU pkgdata mode (dll) - use as --mode option to pkgdata(1)."
    390     echo "  --icudatadir           Print path to packaged archive data. Can set as [ICU_DATA]"
    391     echo "  --invoke               Print commands to invoke an ICU program"
    392     echo "  --invoke=<prog>        Print commands to invoke an ICU program named <prog> (ex: genrb)" 
    393     echo "  --ldflags              Print -L search path and -l libraries to link with ICU [LDFLAGS].  This is for the data, uc (common), and i18n libraries only.  "
    394     echo "  --ldflags-layout       Print ICU layout engine link directive. Use in addition to --ldflags"
    395     echo "  --ldflags-libsonly     Same as --ldflags, but only the -l directives"
    396     echo "  --ldflags-searchpath   Print only -L (search path) directive"
    397     echo "  --ldflags-system       Print only system libs ICU links with (-lpthread, -lm)"
    398     echo "  --ldflags-icuio        Print ICU icuio link directive. Use in addition to --ldflags "
    399     echo "  --ldflags-obsolete     Print ICU obsolete link directive. Use in addition to --ldflags. (requires icuapps/obsolete to be built and installed.) "
    400     echo "  --mandir               Print manpage (man) path"
    401     echo "  --prefix               Print PREFIX to icu install (/usr/local)"
    402     echo "  --prefix=XXX           Set prefix to XXX for remainder of command"
    403     echo "  --sbindir              Print system binary path (sbin) "
    404     echo "  --shared-datadir       Print shared data (share) path. This is NOT the ICU data dir."
    405     echo "  --shlib-c              Print the command to compile and build C shared libraries with ICU"
    406     echo "  --shlib-cc             Print the command to compile and build C++ shared libraries with ICU"
    407     echo "  --sysconfdir           Print system config (etc) path"
    408     echo "  --unicode-version      Print version of Unicode data used in ICU ($UNICODE_VERSION)"
    409     echo "  --version              Print ICU version ($VERSION)"
    410     echo "  --incfile              Print path to Makefile.inc"
    411     echo "  --incpkgdatafile       Print path to pkgdata.inc (for -O option of pkgdata)"
    412     echo "  --install              Print path to install-sh"
    413     echo "  --mkinstalldirs        Print path to mkinstalldirs"
    414 }
    415 
    416 ## Print the normal usage message
    417 shortusage()
    418 {
    419     echo "usage: ${ME} " `allflags | cut -c-25 | sed -e 's%.*%[ & ]%'`
    420 }
    421 
    422 
    423 usage()
    424 {
    425     echo "${ME}: icu-config: ICU configuration helper script"
    426     echo
    427     echo "The most commonly used options will be --cflags, --cxxflags, --cppflags, and --ldflags."
    428     echo 'Example (in make):   CPFLAGS=$(shell icu-config --cppflags)'
    429     echo '                     LDFLAGS=$(shell icu-config --ldflags)'
    430     echo "                     (etc).."
    431     echo
    432     echo "Usage:"
    433     allflags
    434 
    435     echo 
    436     echo " [Brackets] show MAKE variable equivalents,  (parenthesis) show example output"
    437     echo
    438     echo "Copyright (c) 2002, International Business Machines Corporation and others. All Rights Reserved."
    439 }
    440 
    441 ## Check the sanity of current variables
    442 sanity()
    443 {
    444     if [ ! -f "${ICUUC_FILE}" -a ! -f "${ICUUC_FILE_A}" ] && [ ${IGNORE_ICUUC_FILE_CHECK} = "no" ] && [ ${SANITY} = "sane" ];
    445     then
    446 	echo "### $ME: Can't find ${ICUUC_FILE} - ICU prefix is wrong."  1>&2
    447 	echo "###      Try the --prefix= option " 1>&2
    448 	echo "###      or --detect-prefix" 1>&2
    449         echo "###      (If you want to disable this check, use  the --noverify option)" 1>&2
    450 	echo "### $ME: Exitting." 1>&2
    451 	exit 2
    452     fi
    453 }
    454 
    455 ## Main starts here.
    456 
    457 if [ $# -lt 1 ]; then
    458     shortusage
    459     exit 1
    460 fi
    461 
    462 # For certain options (e.g. --detect-prefix) don't check for icuuc library file.
    463 
    464 IGNORE_ICUUC_FILE_CHECK="no";
    465 
    466 SANITY="sane"
    467 
    468 case "$1" in
    469 --noverify)
    470     SANITY="nosanity"
    471     shift
    472     ;;
    473 esac
    474 
    475 case "$1" in 
    476 *prefix*)
    477     IGNORE_ICUUC_FILE_CHECK="yes"
    478     ;;
    479 esac
    480 
    481 # Load our variables from autoconf
    482 # ALWAYS load twice because of dependencies
    483 loaddefs
    484 loaddefs
    485 
    486 if [ $# -gt 0 -a $1 = "--selfcheck" ];
    487 then
    488 	echo "passed"
    489 	exit 
    490 	# EXIT for self check
    491 fi
    492 
    493 sanity
    494 
    495 while [ $# -gt 0 ];
    496 do
    497     arg="$1"
    498     var=`echo $arg | sed -e 's/^[^=]*=//'`
    499 #    echo "### processing $arg" 1>&2
    500     case "$arg" in
    501 
    502         # undocumented.
    503         --debug)
    504 	    set -x
    505 	    ;;
    506         
    507         --noverify)
    508             echo "### $ME: Error: --noverify must be the first argument." 1>&2
    509             exit 1
    510             ;;
    511             
    512     --so)
    513         echo $SO
    514         ;;
    515 
    516 	--bindir)
    517 	    echo $bindir
    518 	    ;;
    519 
    520 	--libdir)
    521 	    echo $libdir
    522 	    ;;
    523 
    524 	--exists)
    525 	    sanity
    526 	    ;;
    527 
    528 	--sbindir)
    529 	    echo $sbindir
    530 	    ;;
    531 
    532 	--mkinstalldirs)
    533 	    echo ${MKINSTALLDIRS}
    534 	    ;;
    535 
    536 	--install)
    537 	    echo ${INSTALL}
    538 	    ;;
    539 
    540 	--invoke=*)
    541 	    QUOT="\""
    542             CMD="${var}"
    543 
    544             # If it's not a locally executable command (1st choice) then 
    545             # search for it in the ICU directories. 
    546             if [ ! -x ${CMD} ]; then
    547                 if [ -x ${bindir}/${var} ]; then
    548                     CMD="${bindir}/${var}"
    549                 fi
    550                 if [ -x ${sbindir}/${var} ]; then
    551                     CMD="${sbindir}/${var}"
    552                 fi
    553             fi
    554 
    555 	    echo "env ${QUOT}${LDLIBRARYPATH_ENVVAR}=${libdir}:"'${'"${LDLIBRARYPATH_ENVVAR}"'}'${QUOT} ${CMD}
    556 	    ;;
    557 
    558 	--invoke)
    559 	    QUOT="\""
    560 	    echo "env ${QUOT}${LDLIBRARYPATH_ENVVAR}=${libdir}:"'${'"${LDLIBRARYPATH_ENVVAR}"'}'${QUOT}
    561 	    ;;
    562 
    563 	--cflags)
    564 	    echo $ECHO_N "${CFLAGS} ${ECHO_C}"
    565 	    ;;
    566 	    
    567 	--cc)
    568 	    echo $ECHO_N "${CC} ${ECHO_C}"
    569 	    ;;
    570 	    
    571 	--cxx)
    572 	    echo $ECHO_N "${CXX} ${ECHO_C}"
    573 	    ;;
    574 
    575 	--cxxflags)
    576 	    echo $ECHO_N "${CXXFLAGS} ${ECHO_C}"
    577 	    ;;
    578 
    579 	--cppflags)
    580 	    # Don't echo the -I. - it's unneeded.
    581 	    echo $ECHO_N "${CPPFLAGS} ${ECHO_C}" | sed -e 's/-I. //'
    582 	    ;;
    583 
    584 	--cppflags-searchpath)
    585 	    echo $ECHO_N "-I${prefix}/include ${ECHO_C}"
    586 	    ;;
    587 
    588 	--cppflags-dynamic)
    589 	    echo $ECHO_N "${SHAREDLIBCPPFLAGS} ${ECHO_C}"
    590 	    ;;
    591 
    592 	--cxxflags-dynamic)
    593 	    echo $ECHO_N "${SHAREDLIBCXXFLAGS} ${ECHO_C}"
    594 	    ;;
    595 
    596 	--cflags-dynamic)
    597 	    echo $ECHO_N "${SHAREDLIBCFLAGS} ${ECHO_C}"
    598 	    ;;
    599 
    600 	--ldflags-system)
    601 	    echo $ECHO_N "${LIBS} ${ECHO_C}"
    602 	    ;;
    603 
    604 	--ldflags)
    605 	    echo $ECHO_N "${LDFLAGS} ${ICULIBS} ${LIBS} ${ECHO_C}"
    606 # $RPATH_LDFLAGS
    607 	    ;;
    608 
    609 	--ldflags-libsonly)
    610 	    echo $ECHO_N "${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} ${ECHO_C}"
    611 	    ;;
    612 
    613 	--ldflags-icuio)
    614 	    echo $ECHO_N " ${ICULIBS_ICUIO} ${ECHO_C}"
    615 	    ;;
    616 
    617 	--ldflags-obsolete)
    618 	    echo $ECHO_N "${ICULIBS_OBSOLETE} ${ECHO_C}"
    619 	    ;;
    620 
    621 	--ldflags-toolutil)
    622 	    echo $ECHO_N " ${ICULIBS_TOOLUTIL} ${ECHO_C}"
    623 	    ;;
    624 
    625 	--ldflags-layout)
    626 	    echo $ECHO_N "${ICULIBS_LAYOUT} ${ICULIBS_LAYOUTEX} ${ECHO_C}"
    627 	    ;;
    628 
    629 	--ldflags-searchpath)
    630 	    echo $ECHO_N "-L${libdir} ${ECHO_C}"
    631 	    ;;
    632 
    633 	--detect-prefix)
    634 	    HERE=`echo $0 | sed -e "s/$ME//g"`
    635 	    if [ -f "${HERE}/../lib/${ICULIBS_COMMON_LIB_NAME}" -o -f  "${HERE}/../lib/${ICULIBS_COMMON_LIB_NAME_A}"  ]; then
    636 		prefix="${HERE}/.."
    637 		echo "## Using --prefix=${prefix}" 1>&2
    638 	    fi
    639 	    loaddefs
    640 	    loaddefs
    641 	    ;;
    642 
    643 	--exec-prefix)
    644 	    echo $exec_prefix
    645 	    ;;
    646 
    647 	--prefix)
    648 	    echo $prefix
    649 	    ;;
    650 
    651 	--prefix=*)
    652 	    prefix=$var
    653 	    loaddefs
    654 	    loaddefs
    655 	    ;;
    656 
    657 	--sysconfdir)
    658 	    echo $sysconfdir
    659 	    ;;
    660 
    661 	--mandir)
    662 	    echo $mandir
    663 	    ;;
    664 
    665 	--shared-datadir)
    666 	    echo $ECHO_N "${datadir} ${ECHO_C}"
    667 	    ;;
    668 
    669         --incfile)
    670 	    echo $ECHO_N "${pkglibdir}/Makefile.inc ${ECHO_C}"
    671 	    ;;
    672 
    673 	--incpkgdatafile)
    674 	    echo $ECHO_N "${pkglibdir}/pkgdata.inc ${ECHO_C}"
    675 	    ;;
    676 
    677 	--icudata)
    678 	    echo $ECHO_N "${ICUDATA_NAME} ${ECHO_C}"
    679 	    ;;
    680 
    681 	--icudata-mode)
    682 	    echo $ECHO_N "${PKGDATA_MODE} ${ECHO_C}"
    683 	    ;;
    684 
    685 	--icudata-install-dir)
    686         echo $ECHO_N "${ICUPKGDATA_DIR} ${ECHO_C}"
    687 	    ;;
    688 	    
    689 	--icudatadir)
    690 	    echo $ECHO_N "${ICUDATA_DIR} ${ECHO_C}"
    691 	    ;;
    692 
    693 	--shlib-c)
    694 	    echo $ECHO_N "${SHLIB_c} ${ECHO_C}"
    695 	    ;;
    696 
    697 	--shlib-cc)
    698 	    echo $ECHO_N "${SHLIB_cc} ${ECHO_C}"
    699 	    ;;
    700 
    701 	--version)
    702 	    echo $ECHO_N $VERSION
    703 	    ;;
    704 
    705 	--unicode-version)
    706 	    echo $ECHO_N $UNICODE_VERSION
    707 	    ;;
    708 	
    709 	--host)
    710 	    echo $host
    711 	    exit 0
    712 	    ;;
    713 
    714 	--help)
    715 	    usage
    716 	    exit 0
    717 	    ;;
    718 
    719 	--usage)
    720 	    usage
    721 	    exit 0
    722 	    ;;
    723 
    724 #	--enable-rpath=*)
    725 #	    ENABLE_RPATH=$var
    726 #	    loaddefs
    727 #	    ;;
    728 
    729 	-?)
    730 	    usage
    731 	    exit 0
    732 	    ;;
    733 
    734         *)
    735 	    echo ${ME}: ERROR Unknown Option $arg 1>&2
    736             echo 1>&2
    737             shortusage 1>&2
    738 	    echo "### $ME: Exitting." 1>&2
    739             exit 1;
    740             ;;
    741     esac
    742     shift
    743     
    744     # Reset the ignore icuuc file check flag
    745     if [ $IGNORE_ICUUC_FILE_CHECK = "yes" ]; then
    746         IGNORE_ICUUC_FILE_CHECK="no"
    747         sanity
    748     fi
    749 done
    750 echo
    751 # Check once before we quit (will check last used prefix)
    752 sanity
    753 ## END of icu-config-bottom
    754 
    755 exit 0
    756 
    757 # Rebuilt on Wed Jan 2 17:41:22 PST 2013
    758