#!/bin/sh ## -*-sh-*- #set -x # BEGIN of icu-config-top #****************************************************************************** # Copyright (C) 1999-2002, International Business Machines # Corporation and others. All Rights Reserved. # $Revision: 1.1 $ #****************************************************************************** # This script is designed to aid configuration of ICU. # rpath links a library search path right into the binaries. ### END of icu-config-top ## Zero out prefix. execprefix= prefix= loaddefs() { # Following from ./config/mh-unknown # Generated automatically from Makefile.inc.in by configure. ## -*-makefile-*- #****************************************************************************** # Copyright (C) 1999-2003, International Business Machines # Corporation and others. All Rights Reserved. # $Revision: 1.36 $ #****************************************************************************** # This Makefile.inc is designed to be included into projects which make use # of the ICU. # CONTENTS OF THIS FILE # 1). Base configuration information and linkage # 2). Variables giving access to ICU tools # 3). Host information # 4). Compiler flags and settings # 5). Data Packaging directives # 6). Include of platform make fragment (mh-* file) ################################################################## # # *1* base configuration information and linkage # ################################################################## # The PREFIX is the base of where ICU is installed. # Inside this directory you should find bin, lib, include/unicode, # etc. If ICU is not installed in this directory, you must change the # following line. There should exist ${prefix}/include/unicode/utypes.h # for example. default_prefix="/usr/local" if [ "x${prefix}" = "x" ]; then prefix="$default_prefix"; fi exec_prefix="${prefix}" libdir="${exec_prefix}/lib" libexecdir="${exec_prefix}/libexec" bindir="${exec_prefix}/bin" datadir="${prefix}/share" sbindir="${exec_prefix}/sbin" # about the ICU version VERSION="2.8" UNICODE_VERSION="4" # The prefix for ICU libraries, normally 'icu' ICUPREFIX="icu" PACKAGE="icu" LIBICU="lib${ICUPREFIX}" # Static library prefix and file extension STATIC_PREFIX="s" LIBSICU="lib${STATIC_PREFIX}${ICUPREFIX}" A="a" # Suffix at the end of libraries. Usually empty. ICULIBSUFFIX="" # ICULIBSUFFIX_VERSION is non-empty if it is to contain a library # version. For example, if it is 21, it means libraries are named # libicuuc21.so for example. # rpath links a library search path right into the binaries. ## mh-files MUST NOT override RPATHLDFLAGS unless they provide ## equivalent '#SH#' lines for icu-config fixup default_ENABLE_RPATH="NO" if [ "x${ENABLE_RPATH}" = "x" ]; then ENABLE_RPATH="$default_ENABLE_RPATH"; fi RPATHLDFLAGS="${LD_RPATH}${LD_RPATH_PRE}${libdir}" # icu-config version of above 'if': case "$ENABLE_RPATH" in [yY]*) ENABLE_RPATH=YES RPATHLDFLAGS="${LD_RPATH}${LD_RPATH_PRE}${libdir}" ;; [nN]*) ENABLE_RPATH=NO RPATHLDFLAGS="" ;; *) echo $0: Unknown --enable-rpath value ${ENABLE_RPATH} 1>&2 exit 3 ;; esac ### To link your application with ICU: # 1. use LDFLAGS, CFLAGS, etc from above # 2. link with ${ICULIBS} # 3. optionally, add one or more of: # - ${ICULIBS_I18N} - i18n library, formatting, etc. # - ${ICULIBS_LAYOUT} - ICU layout library. # - ${ICULIBS_USTDIO} - ICU stdio equivalent library ICULIBS_COMMON="-l${ICUPREFIX}uc${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" ICULIBS_DATA="-l${ICUPREFIX}data${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" ICULIBS_I18N="-l${ICUPREFIX}i18n${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" ICULIBS_TOOLUTIL="-l${ICUPREFIX}toolutil${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" ICULIBS_CTESTFW="-l${ICUPREFIX}ctestfw${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" ICULIBS_USTDIO="-licuio${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" ICULIBS_OBSOLETE="-l${ICUPREFIX}obsolete${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" ICULIBS_LAYOUT="-l${ICUPREFIX}le${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" ICULIBS_LAYOUTEX="-l${ICUPREFIX}lx${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" ICULIBS_BASE="${LIBS} -L${libdir}" # for icu-config to test with ICULIBS_COMMON_LIB_NAME="${LIBICU}uc${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}" # ICULIBS is the set of libraries your application should link # with usually. Many applications will want to add ${ICULIBS_I18N} as well. ICULIBS="${ICULIBS_BASE} ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} " ################################################################## # # *2* access to ICU tools # ################################################################## # Environment variable to set a runtime search path # (Overridden when necessary in -mh files) LDLIBRARYPATH_ENVVAR="LD_LIBRARY_PATH" # Access to important ICU tools. # Use as follows: ${INVOKE} ${GENRB} arguments .. INVOKE="${LDLIBRARYPATH_ENVVAR}=${libdir}:$$${LDLIBRARYPATH_ENVVAR} ${LEAK_CHECKER}" GENCCODE="${sbindir}/genccode" GENCMN="${sbindir}/gencmn" GENRB="${bindir}/genrb" PKGDATA="${bindir}/pkgdata" ################################################################## # # *3* Information about the host # ################################################################## # Information about the host that 'configure' was run on. host="i386-unknown-gnu" host_alias="i386-unknown-gnu" host_cpu="i386" host_vendor="unknown" host_os="gnu" # Our platform canonical name (as determined by configure) # this is a #define value (i.e. U_XXXX or XXXX) platform="U_UNKNOWN_PLATFORM" ################################################################## # # *4* compiler flags and misc. options # ################################################################## AIX_SHLIB="makeC++SharedLib_r" AR="/usr/bin/ar" CC="gcc" CFLAGS="-O3 -O3 ${THREADSCFLAGS} " CPP="gcc -E" CPPFLAGS="${THREADSCPPFLAGS} ${LIBCPPFLAGS} -I${prefix}/include" CXX="g++" CXXFLAGS="-O3 -O ${THREADSCXXFLAGS} " DEFAULT_MODE="dll" DEFS="-DHAVE_CONFIG_H " FFLAGS="" INSTALL="/usr/bin/install -c -o root -g wheel" INSTALL_DATA="install -o root -g wheel -m 444" INSTALL_PROGRAM="install -s -o root -g wheel -m 555" INSTALL_SCRIPT="install -o root -g wheel -m 555" LDFLAGS="${RPATHLDFLAGS}" LIBS="-pthread -lm " LIB_M="" LIB_VERSION="28.0" LIB_VERSION_MAJOR="28" MKINSTALLDIRS="${SHELL} ${pkgdatadir}/mkinstalldirs" RANLIB="ranlib" RMV="rm -rf" SHELL="/bin/sh" SHLIB_c="${CC} ${DEFS} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -shared" SHLIB_cc="${CXX} ${DEFS} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} -shared" U_IS_BIG_ENDIAN="0" includedir="${prefix}/include" infodir="${prefix}/info" ld_rpath_suf="" localstatedir="${prefix}/var" mandir="${prefix}/man" oldincludedir="/usr/include" program_transform_name="s,x,x," sharedstatedir="${prefix}/com" sysconfdir="${prefix}/etc" INSTALL_L="${INSTALL_DATA}" ################################################################## # # *5* packaging options and directories # ################################################################## pkgdatadir="${datadir}/${PACKAGE}${ICULIBSUFFIX}/${VERSION}" pkglibdir="${libdir}/${PACKAGE}${ICULIBSUFFIX}/${VERSION}" # The basename of the ICU data file (i.e. icudt21b ) ICUDATA_NAME="icudt28l" # Defaults for pkgdata's mode and directories # The default data dir changes depending on what packaging mode # is being used PKGDATA_MODE="dll" ICUDATA_DIR="${pkgdatadir}" ICUPKGDATA_DIR="${ICUDATA_DIR}" ICUDATA_DIR="${pkgdatadir}" ICUPKGDATA_DIR="${libdir}" ICUDATA_DIR="${pkglibdir}" ICUPKGDATA_DIR="${ICUDATA_DIR}" ################################################################## # # *6* Inclusion of platform make fragment (mh-* file) # ################################################################## # The mh- file ("make fragment") for the platform is included here. # It may override the above settings. # It is put last so that the mh-file can override anything. ## -*-makefile-*- ## Copyright (c) 2003, International Business Machines Corporation and ## others. All Rights Reserved. ## # Note, this is not a real mh- file. You got here because configure # (specifically, aclocal.m4) could not determine a suitable mh- file. # # Perhaps your platform wasn't detected- try changing aclocal.m4 and # re-running autoconf. # # If your platform is truly new/different: # As a start, try copying mh-linux (which is fairly generic) over this # file, and re-run config.status. ## -*-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= Print commands to invoke an ICU program named (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 # Rebuilt on Sat Jan 5 14:03:58 EST 2008