|  | ## -*-sh-*- | 
|  | ## BEGIN of icu-config-bottom. | 
|  | ## Copyright (c) 2002-2013, International Business Machines Corporation and | 
|  | ## others. All Rights Reserved. | 
|  |  | 
|  | ICUUC_FILE="${libdir}/${ICULIBS_COMMON_LIB_NAME}" | 
|  | ICUUC_FILE_A="${libdir}/${ICULIBS_COMMON_LIB_NAME_A}" | 
|  |  | 
|  | #  echo ENABLE RPATH $ENABLE_RPATH and RPATHLDFLAGS=${RPATH_LDFLAGS} | 
|  | if [ "x$PKGDATA_MODE" = "x" ]; then | 
|  | PKGDATA_MODE=dll | 
|  | fi | 
|  |  | 
|  | } | 
|  |  | 
|  | ## The actual code of icu-config goes here. | 
|  |  | 
|  | ME=`basename "$0"` | 
|  |  | 
|  | allflags() | 
|  | { | 
|  | echo "  --noverify             Don't verify that ICU is actually installed." | 
|  | echo "  --bindir               Print binary directory path (bin)" | 
|  | echo "  --cc                   Print C compiler used [CC]" | 
|  | echo "  --cflags               Print C compiler flags [CFLAGS]" | 
|  | echo "  --cflags-dynamic       Print additional C flags for" | 
|  | echo "                             building shared libraries." | 
|  | echo "  --cppflags             Print C Preprocessor flags [CPPFLAGS]" | 
|  | echo "  --cppflags-dynamic     Print additional C Preprocessor flags for" | 
|  | echo "                             building shared libraries." | 
|  | echo "  --cppflags-searchpath  Print only -I include directives  (-Iinclude)" | 
|  | echo "  --cxx                  Print C++ compiler used [CXX]" | 
|  | echo "  --cxxflags             Print C++ compiler flags [CXXFLAGS]" | 
|  | echo "  --cxxflags-dynamic     Print additional C++ flags for" | 
|  | echo "                             building shared libraries." | 
|  | echo "  --detect-prefix        Attempt to detect prefix based on PATH" | 
|  | echo "  --exec-prefix          Print prefix for executables (/bin)" | 
|  | echo "  --exists               Return with 0 status if ICU exists else fail" | 
|  | echo "  --help, -?, --usage    Print this message" | 
|  | echo "  --icudata              Print shortname of ICU data file (icudt21l)" | 
|  | echo "  --icudata-install-dir  Print path to install data to - use as --install option to pkgdata(1)" | 
|  | echo "  --icudata-mode         Print default ICU pkgdata mode (dll) - use as --mode option to pkgdata(1)." | 
|  | echo "  --icudatadir           Print path to packaged archive data. Can set as [ICU_DATA]" | 
|  | echo "  --invoke               Print commands to invoke an ICU program" | 
|  | echo "  --invoke=<prog>        Print commands to invoke an ICU program named <prog> (ex: genrb)" | 
|  | 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.  " | 
|  | echo "  --ldflags-layout       Print ICU layout engine link directive. Use in addition to --ldflags" | 
|  | echo "  --ldflags-libsonly     Same as --ldflags, but only the -l directives" | 
|  | echo "  --ldflags-searchpath   Print only -L (search path) directive" | 
|  | echo "  --ldflags-system       Print only system libs ICU links with (-lpthread, -lm)" | 
|  | echo "  --ldflags-icuio        Print ICU icuio link directive. Use in addition to --ldflags " | 
|  | echo "  --ldflags-obsolete     Print ICU obsolete link directive. Use in addition to --ldflags. (requires icuapps/obsolete to be built and installed.) " | 
|  | echo "  --mandir               Print manpage (man) path" | 
|  | echo "  --prefix               Print PREFIX to icu install (/usr/local)" | 
|  | echo "  --prefix=XXX           Set prefix to XXX for remainder of command" | 
|  | echo "  --sbindir              Print system binary path (sbin) " | 
|  | echo "  --shared-datadir       Print shared data (share) path. This is NOT the ICU data dir." | 
|  | echo "  --shlib-c              Print the command to compile and build C shared libraries with ICU" | 
|  | echo "  --shlib-cc             Print the command to compile and build C++ shared libraries with ICU" | 
|  | echo "  --sysconfdir           Print system config (etc) path" | 
|  | echo "  --unicode-version      Print version of Unicode data used in ICU ($UNICODE_VERSION)" | 
|  | echo "  --version              Print ICU version ($VERSION)" | 
|  | echo "  --incfile              Print path to Makefile.inc" | 
|  | echo "  --incpkgdatafile       Print path to pkgdata.inc (for -O option of pkgdata)" | 
|  | echo "  --install              Print path to install-sh" | 
|  | echo "  --mkinstalldirs        Print path to mkinstalldirs" | 
|  | } | 
|  |  | 
|  | ## Print the normal usage message | 
|  | shortusage() | 
|  | { | 
|  | echo "usage: ${ME} " `allflags | cut -c-25 | sed -e 's%.*%[ & ]%'` | 
|  | } | 
|  |  | 
|  |  | 
|  | usage() | 
|  | { | 
|  | echo "${ME}: icu-config: ICU configuration helper script" | 
|  | echo | 
|  | echo "The most commonly used options will be --cflags, --cxxflags, --cppflags, and --ldflags." | 
|  | echo 'Example (in make):   CPFLAGS=$(shell icu-config --cppflags)' | 
|  | echo '                     LDFLAGS=$(shell icu-config --ldflags)' | 
|  | echo "                     (etc).." | 
|  | echo | 
|  | echo "Usage:" | 
|  | allflags | 
|  |  | 
|  | echo | 
|  | echo " [Brackets] show MAKE variable equivalents,  (parenthesis) show example output" | 
|  | echo | 
|  | echo "Copyright (c) 2002-2013, International Business Machines Corporation and others. All Rights Reserved." | 
|  | echo | 
|  | echo "NOTE: Please consider using the pkg-config (.pc) files instead of icu-config." | 
|  | echo " See: <http://userguide.icu-project.org/howtouseicu#TOC-pkg-config> " | 
|  | } | 
|  |  | 
|  | ## Check the sanity of current variables | 
|  | sanity() | 
|  | { | 
|  | if [ ! -f "${ICUUC_FILE}" -a ! -f "${ICUUC_FILE_A}" ] && [ ${IGNORE_ICUUC_FILE_CHECK} = "no" ] && [ ${SANITY} = "sane" ]; | 
|  | then | 
|  | echo "### $ME: Can't find ${ICUUC_FILE} - ICU prefix is wrong."  1>&2 | 
|  | echo "###      Try the --prefix= option " 1>&2 | 
|  | echo "###      or --detect-prefix" 1>&2 | 
|  | echo "###      (If you want to disable this check, use  the --noverify option)" 1>&2 | 
|  | echo "### $ME: Exitting." 1>&2 | 
|  | exit 2 | 
|  | fi | 
|  | } | 
|  |  | 
|  | ## Main starts here. | 
|  |  | 
|  | if [ $# -lt 1 ]; then | 
|  | shortusage | 
|  | exit 1 | 
|  | fi | 
|  |  | 
|  | # For certain options (e.g. --detect-prefix) don't check for icuuc library file. | 
|  |  | 
|  | IGNORE_ICUUC_FILE_CHECK="no"; | 
|  |  | 
|  | SANITY="sane" | 
|  |  | 
|  | case "$1" in | 
|  | --noverify) | 
|  | SANITY="nosanity" | 
|  | shift | 
|  | ;; | 
|  | esac | 
|  |  | 
|  | case "$1" in | 
|  | *prefix*) | 
|  | IGNORE_ICUUC_FILE_CHECK="yes" | 
|  | ;; | 
|  | esac | 
|  |  | 
|  | # Load our variables from autoconf | 
|  | # ALWAYS load twice because of dependencies | 
|  | loaddefs | 
|  | loaddefs | 
|  |  | 
|  | if [ $# -gt 0 -a $1 = "--selfcheck" ]; | 
|  | then | 
|  | echo "passed" | 
|  | exit | 
|  | # EXIT for self check | 
|  | fi | 
|  |  | 
|  | sanity | 
|  |  | 
|  | while [ $# -gt 0 ]; | 
|  | do | 
|  | arg="$1" | 
|  | var=`echo $arg | sed -e 's/^[^=]*=//'` | 
|  | #    echo "### processing $arg" 1>&2 | 
|  | case "$arg" in | 
|  |  | 
|  | # undocumented. | 
|  | --debug) | 
|  | set -x | 
|  | ;; | 
|  |  | 
|  | --noverify) | 
|  | echo "### $ME: Error: --noverify must be the first argument." 1>&2 | 
|  | exit 1 | 
|  | ;; | 
|  |  | 
|  | --so) | 
|  | echo $SO | 
|  | ;; | 
|  |  | 
|  | --bindir) | 
|  | echo $bindir | 
|  | ;; | 
|  |  | 
|  | --libdir) | 
|  | echo $libdir | 
|  | ;; | 
|  |  | 
|  | --exists) | 
|  | sanity | 
|  | ;; | 
|  |  | 
|  | --sbindir) | 
|  | echo $sbindir | 
|  | ;; | 
|  |  | 
|  | --mkinstalldirs) | 
|  | echo ${MKINSTALLDIRS} | 
|  | ;; | 
|  |  | 
|  | --install) | 
|  | echo ${INSTALL} | 
|  | ;; | 
|  |  | 
|  | --invoke=*) | 
|  | QUOT="\"" | 
|  | CMD="${var}" | 
|  |  | 
|  | # If it's not a locally executable command (1st choice) then | 
|  | # search for it in the ICU directories. | 
|  | if [ ! -x ${CMD} ]; then | 
|  | if [ -x ${bindir}/${var} ]; then | 
|  | CMD="${bindir}/${var}" | 
|  | fi | 
|  | if [ -x ${sbindir}/${var} ]; then | 
|  | CMD="${sbindir}/${var}" | 
|  | fi | 
|  | fi | 
|  |  | 
|  | echo "env ${QUOT}${LDLIBRARYPATH_ENVVAR}=${libdir}:"'${'"${LDLIBRARYPATH_ENVVAR}"'}'${QUOT} ${CMD} | 
|  | ;; | 
|  |  | 
|  | --invoke) | 
|  | QUOT="\"" | 
|  | echo "env ${QUOT}${LDLIBRARYPATH_ENVVAR}=${libdir}:"'${'"${LDLIBRARYPATH_ENVVAR}"'}'${QUOT} | 
|  | ;; | 
|  |  | 
|  | --cflags) | 
|  | echo $ECHO_N "${CFLAGS} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --cc) | 
|  | echo $ECHO_N "${CC} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --cxx) | 
|  | echo $ECHO_N "${CXX} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --cxxflags) | 
|  | echo $ECHO_N "${CXXFLAGS} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --cppflags) | 
|  | # Don't echo the -I. - it's unneeded. | 
|  | echo $ECHO_N "${CPPFLAGS} ${ECHO_C}" | sed -e 's/-I. //' | 
|  | ;; | 
|  |  | 
|  | --cppflags-searchpath) | 
|  | echo $ECHO_N "-I${prefix}/include ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --cppflags-dynamic) | 
|  | echo $ECHO_N "${SHAREDLIBCPPFLAGS} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --cxxflags-dynamic) | 
|  | echo $ECHO_N "${SHAREDLIBCXXFLAGS} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --cflags-dynamic) | 
|  | echo $ECHO_N "${SHAREDLIBCFLAGS} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --ldflags-system) | 
|  | echo $ECHO_N "${LIBS} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --ldflags) | 
|  | echo $ECHO_N "${LDFLAGS} ${ICULIBS} ${ECHO_C}" | 
|  | # $RPATH_LDFLAGS | 
|  | ;; | 
|  |  | 
|  | --ldflags-libsonly) | 
|  | echo $ECHO_N "${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --ldflags-icuio) | 
|  | echo $ECHO_N " ${ICULIBS_ICUIO} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --ldflags-obsolete) | 
|  | echo $ECHO_N "${ICULIBS_OBSOLETE} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --ldflags-toolutil) | 
|  | echo $ECHO_N " ${ICULIBS_TOOLUTIL} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --ldflags-layout) | 
|  | echo $ECHO_N "${ICULIBS_LAYOUT} ${ICULIBS_LAYOUTEX} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --ldflags-searchpath) | 
|  | echo $ECHO_N "-L${libdir} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --detect-prefix) | 
|  | HERE=`echo $0 | sed -e "s/$ME//g"` | 
|  | if [ -f "${HERE}/../lib/${ICULIBS_COMMON_LIB_NAME}" -o -f  "${HERE}/../lib/${ICULIBS_COMMON_LIB_NAME_A}"  ]; then | 
|  | prefix="${HERE}/.." | 
|  | echo "## Using --prefix=${prefix}" 1>&2 | 
|  | fi | 
|  | loaddefs | 
|  | loaddefs | 
|  | ;; | 
|  |  | 
|  | --exec-prefix) | 
|  | echo $exec_prefix | 
|  | ;; | 
|  |  | 
|  | --prefix) | 
|  | echo $prefix | 
|  | ;; | 
|  |  | 
|  | --prefix=*) | 
|  | prefix=$var | 
|  | loaddefs | 
|  | loaddefs | 
|  | ;; | 
|  |  | 
|  | --sysconfdir) | 
|  | echo $sysconfdir | 
|  | ;; | 
|  |  | 
|  | --mandir) | 
|  | echo $mandir | 
|  | ;; | 
|  |  | 
|  | --shared-datadir) | 
|  | echo $ECHO_N "${datadir} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --incfile) | 
|  | echo $ECHO_N "${pkglibdir}/Makefile.inc ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --incpkgdatafile) | 
|  | echo $ECHO_N "${pkglibdir}/pkgdata.inc ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --icudata) | 
|  | echo $ECHO_N "${ICUDATA_NAME} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --icudata-mode) | 
|  | echo $ECHO_N "${PKGDATA_MODE} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --icudata-install-dir) | 
|  | echo $ECHO_N "${ICUPKGDATA_DIR} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --icudatadir) | 
|  | echo $ECHO_N "${ICUDATA_DIR} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --shlib-c) | 
|  | echo $ECHO_N "${SHLIB_c} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --shlib-cc) | 
|  | echo $ECHO_N "${SHLIB_cc} ${ECHO_C}" | 
|  | ;; | 
|  |  | 
|  | --version) | 
|  | echo $ECHO_N $VERSION | 
|  | ;; | 
|  |  | 
|  | --unicode-version) | 
|  | echo $ECHO_N $UNICODE_VERSION | 
|  | ;; | 
|  |  | 
|  | --host) | 
|  | echo $host | 
|  | exit 0 | 
|  | ;; | 
|  |  | 
|  | --help) | 
|  | usage | 
|  | exit 0 | 
|  | ;; | 
|  |  | 
|  | --usage) | 
|  | usage | 
|  | exit 0 | 
|  | ;; | 
|  |  | 
|  | #	--enable-rpath=*) | 
|  | #	    ENABLE_RPATH=$var | 
|  | #	    loaddefs | 
|  | #	    ;; | 
|  |  | 
|  | -?) | 
|  | usage | 
|  | exit 0 | 
|  | ;; | 
|  |  | 
|  | *) | 
|  | echo ${ME}: ERROR Unknown Option $arg 1>&2 | 
|  | echo 1>&2 | 
|  | shortusage 1>&2 | 
|  | echo "### $ME: Exitting." 1>&2 | 
|  | exit 1; | 
|  | ;; | 
|  | esac | 
|  | shift | 
|  |  | 
|  | # Reset the ignore icuuc file check flag | 
|  | if [ $IGNORE_ICUUC_FILE_CHECK = "yes" ]; then | 
|  | IGNORE_ICUUC_FILE_CHECK="no" | 
|  | sanity | 
|  | fi | 
|  | done | 
|  | echo | 
|  | # Check once before we quit (will check last used prefix) | 
|  | sanity | 
|  | ## END of icu-config-bottom | 
|  |  | 
|  | exit 0 |