|  | ## -*-sh-*- | 
|  | ## BEGIN of icu-config-bottom. $Revision: 1.9 $ | 
|  | ## Copyright (c) 2002-2003, International Business Machines Corporation and | 
|  | ## others. All Rights Reserved. | 
|  |  | 
|  | ICUUC_FILE=${libdir}/${ICULIBS_COMMON_LIB_NAME} | 
|  |  | 
|  | #  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 "  --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-ustdio       Print ICU ustdio 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 (for -O option of pkgdata)" | 
|  | } | 
|  |  | 
|  | ## 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, International Business Machines Corporation and others. All Rights Reserved." | 
|  | } | 
|  |  | 
|  | ## Check the sanity of current variables | 
|  | sanity() | 
|  | { | 
|  | if [ ! -f ${ICUUC_FILE} ]; | 
|  | then | 
|  | echo "### $ME: Can't find ${ICUUC_FILE} - ICU prefix is wrong."  1>&2 | 
|  | echo "###      Try the --prefix= or --exec-prefix= options " 1>&2 | 
|  | echo "###      or --detect-prefix" | 
|  | echo "### $ME: Exitting." 1>&2 | 
|  | exit 2 | 
|  | fi | 
|  | } | 
|  |  | 
|  | ## Main starts here. | 
|  |  | 
|  | if [ $# -lt 1 ]; then | 
|  | shortusage | 
|  | exit 1 | 
|  | fi | 
|  |  | 
|  |  | 
|  | # Load our variables from autoconf | 
|  | # ALWAYS load twice because of dependencies | 
|  | loaddefs | 
|  | loaddefs | 
|  | 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 | 
|  | ;; | 
|  |  | 
|  | --so) | 
|  | echo $SO | 
|  | ;; | 
|  |  | 
|  | --bindir) | 
|  | echo $bindir | 
|  | ;; | 
|  |  | 
|  | --libdir) | 
|  | echo $libdir | 
|  | ;; | 
|  |  | 
|  | --exists) | 
|  | sanity | 
|  | ;; | 
|  |  | 
|  | --sbindir) | 
|  | echo $sbindir | 
|  | ;; | 
|  |  | 
|  | --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 $CFLAGS | 
|  | ;; | 
|  |  | 
|  | --cc) | 
|  | echo $CC | 
|  | ;; | 
|  |  | 
|  | --cxx) | 
|  | echo $CXX | 
|  | ;; | 
|  |  | 
|  | --cxxflags) | 
|  | echo $CXXFLAGS | 
|  | ;; | 
|  |  | 
|  | --cppflags) | 
|  | # Don't echo the -I. - it's unneeded. | 
|  | echo $CPPFLAGS | sed -e 's/-I. //' | 
|  | ;; | 
|  |  | 
|  | --cppflags-searchpath) | 
|  | echo -I${prefix}/include | 
|  | ;; | 
|  |  | 
|  | --cppflags-dynamic) | 
|  | echo $SHAREDLIBCPPFLAGS | 
|  | ;; | 
|  |  | 
|  | --cxxflags-dynamic) | 
|  | echo $SHAREDLIBCXXFLAGS | 
|  | ;; | 
|  |  | 
|  | --cflags-dynamic) | 
|  | echo $SHAREDLIBCFLAGS | 
|  | ;; | 
|  |  | 
|  | --ldflags-system) | 
|  | echo $LIBS | 
|  | ;; | 
|  |  | 
|  | --ldflags) | 
|  | echo $LDFLAGS $ICULIBS $LIBS | 
|  | # $RPATH_LDFLAGS | 
|  | ;; | 
|  |  | 
|  | --ldflags-libsonly) | 
|  | echo $ICULIBS_I18N $ICULIBS_COMMON $ICULIBS_DATA | 
|  | ;; | 
|  |  | 
|  | --ldflags-ustdio) | 
|  | echo $ICULIBS_USTDIO | 
|  | ;; | 
|  |  | 
|  | --ldflags-obsolete) | 
|  | echo $ICULIBS_OBSOLETE | 
|  | ;; | 
|  |  | 
|  | --ldflags-toolutil) | 
|  | echo $ICULIBS_TOOLUTIL | 
|  | ;; | 
|  |  | 
|  | --ldflags-layout) | 
|  | echo $ICULIBS_LAYOUT $ICULIBS_LAYOUTEX | 
|  | ;; | 
|  |  | 
|  | --ldflags-searchpath) | 
|  | echo -L${libdir} | 
|  | ;; | 
|  |  | 
|  | --detect-prefix) | 
|  | HERE=`echo $0 | sed -e "s/$ME//g"` | 
|  | if [ -f $HERE/../lib/${ICULIBS_COMMON_LIB_NAME} ]; then | 
|  | prefix=$HERE/.. | 
|  | echo "## Using --prefix=${prefix}" 1>&2 | 
|  | fi | 
|  | loaddefs | 
|  | loaddefs | 
|  | sanity | 
|  | ;; | 
|  |  | 
|  | --exec-prefix) | 
|  | echo $exec_prefix | 
|  | ;; | 
|  |  | 
|  | --prefix) | 
|  | echo $prefix | 
|  | ;; | 
|  |  | 
|  | --prefix=*) | 
|  | prefix=$var | 
|  | loaddefs | 
|  | loaddefs | 
|  | sanity | 
|  | ;; | 
|  |  | 
|  | --sysconfdir) | 
|  | echo $sysconfdir | 
|  | ;; | 
|  |  | 
|  | --mandir) | 
|  | echo $mandir | 
|  | ;; | 
|  |  | 
|  | --shared-datadir) | 
|  | echo $datadir | 
|  | ;; | 
|  |  | 
|  | --incfile) | 
|  | echo $pkglibdir/Makefile.inc | 
|  | ;; | 
|  |  | 
|  | --icudata) | 
|  | echo $ICUDATA_NAME | 
|  | ;; | 
|  |  | 
|  | --icudata-mode) | 
|  | echo $PKGDATA_MODE | 
|  | ;; | 
|  |  | 
|  | --icudata-install-dir) | 
|  | case "$PKGDATA_MODE" in | 
|  |  | 
|  | common) | 
|  | echo "$pkgdatadir" | 
|  | ;; | 
|  |  | 
|  | dll) | 
|  | echo "$libdir" | 
|  | ;; | 
|  |  | 
|  | *) | 
|  | echo "## ${ME} Unknown pkgdata mode $PKGDATA_MODE" 1>&2 | 
|  | exit 4 | 
|  | ;; | 
|  | esac | 
|  | ;; | 
|  |  | 
|  | --icudatadir) | 
|  | echo $pkgdatadir | 
|  | ;; | 
|  |  | 
|  | --shlib-c) | 
|  | echo $SHLIB_c | 
|  | ;; | 
|  |  | 
|  | --shlib-cc) | 
|  | echo $SHLIB_cc | 
|  | ;; | 
|  |  | 
|  | --version) | 
|  | echo $VERSION | 
|  | ;; | 
|  |  | 
|  | --unicode-version) | 
|  | echo $UNICODE_VERSION | 
|  | ;; | 
|  |  | 
|  | --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 | 
|  | done | 
|  |  | 
|  | # Check once before we quit (will check last used prefix) | 
|  | sanity | 
|  | ## END of icu-config-bottom | 
|  |  | 
|  | exit 0 | 
|  |  |