#!/usr/bin/sh
## -*-sh-*-
#set -x
# BEGIN of icu-config-top
# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html
#******************************************************************************
# Copyright (C) 1999-2013, International Business Machines
# Corporation and others. All Rights Reserved.
#******************************************************************************
# This script is designed to aid configuration of ICU.
# rpath links a library search path right into the binaries.
#
# Note: it's preferred to use the .pc files rather than icu-config.
#
### END of icu-config-top
## Zero out prefix.
execprefix=
prefix=
loaddefs()
{
# Following from icu/icu4c/source/config/Makefile.inc
# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html
## -*-makefile-*-
#******************************************************************************
# Copyright (C) 1999-2014, International Business Machines
# Corporation and others. All Rights Reserved.
#******************************************************************************
# 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"
if [ "x${prefix}" = "x" ]; then prefix="$default_prefix"; fi
exec_prefix="/usr"
libdir="/usr/lib64"
libexecdir="/usr/libexec"
bindir="/usr/bin"
datarootdir="${prefix}/share"
datadir="/usr/share"
sbindir="/usr/sbin"
# about the ICU version
VERSION="67.1"
UNICODE_VERSION="13.0"
# 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 "x$ENABLE_RPATH" in
x[yY]*)
ENABLE_RPATH=YES
RPATHLDFLAGS="${LD_RPATH}${LD_RPATH_PRE}${libdir}"
;;
x[nN]*)
ENABLE_RPATH=NO
RPATHLDFLAGS=""
;;
x)
ENABLE_RPATH=NO
RPATHLDFLAGS=""
;;
*)
echo $0: Unknown --enable-rpath value ${ENABLE_RPATH} 1>&2
exit 3
;;
esac
# Name flexibility for the library naming scheme. Any modifications should
# be made in the mh- file for the specific platform.
DATA_STUBNAME="data"
COMMON_STUBNAME="uc"
I18N_STUBNAME="i18n"
LAYOUTEX_STUBNAME="lx"
IO_STUBNAME="io"
TOOLUTIL_STUBNAME="tu"
CTESTFW_STUBNAME="test"
### 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_ICUIO} - ICU stdio equivalent library
ICULIBS_COMMON="-l${ICUPREFIX}uc${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}"
ICULIBS_DATA="-l${ICUPREFIX}${DATA_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}"
ICULIBS_I18N="-l${ICUPREFIX}${I18N_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}"
ICULIBS_TOOLUTIL="-l${ICUPREFIX}tu${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}"
ICULIBS_CTESTFW="-l${ICUPREFIX}ctestfw${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}"
ICULIBS_ICUIO="-l${ICUPREFIX}io${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}"
ICULIBS_OBSOLETE="-l${ICUPREFIX}obsolete${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}"
ICULIBS_LAYOUTEX="-l${ICUPREFIX}lx${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}"
ICULIBS_BASE="-L${libdir}"
# for icu-config to test with
ICULIBS_COMMON_LIB_NAME="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}"
ICULIBS_COMMON_LIB_NAME_A="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}"
# 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} "
# Proper echo newline handling is needed in icu-config
ECHO_N="-n"
ECHO_C=""
# Not currently being used but good to have for proper tab handling
ECHO_T=""
##################################################################
#
# *2* access to ICU tools
#
##################################################################
# Environment variable to set a runtime search path
# (Overridden when necessary in -mh files)
LDLIBRARYPATH_ENVVAR="LD_LIBRARY_PATH"
# Versioned target for a shared library
## FINAL_SO_TARGET = ${SO_TARGET}.${SO_TARGET_VERSION}
## MIDDLE_SO_TARGET = ${SO_TARGET}.${SO_TARGET_VERSION_MAJOR}
# Access to important ICU tools.
# Use as follows: ${INVOKE} ${GENRB} arguments ..
INVOKE="${LDLIBRARYPATH_ENVVAR}=${libdir}:$$${LDLIBRARYPATH_ENVVAR} ${LEAK_CHECKER}"
GENCCODE="${sbindir}/genccode"
ICUPKG="${sbindir}/icupkg"
GENCMN="${sbindir}/gencmn"
GENRB="${bindir}/genrb"
PKGDATA="${bindir}/pkgdata"
# moved here because of dependencies
pkgdatadir="${datadir}/${PACKAGE}${ICULIBSUFFIX}/${VERSION}"
pkglibdir="${libdir}/${PACKAGE}${ICULIBSUFFIX}/${VERSION}"
##################################################################
#
# *3* Information about the host
#
##################################################################
# Information about the host that 'configure' was run on.
host="x86_64-redhat-linux-gnu"
host_alias="x86_64-redhat-linux-gnu"
host_cpu="x86_64"
host_vendor="redhat"
host_os="linux-gnu"
# Our platform canonical name (as determined by configure)
# this is a #define value (i.e. U_XXXX or XXXX)
platform="U_LINUX"
##################################################################
#
# *4* compiler flags and misc. options
#
##################################################################
AR="ar"
# initial tab keeps it out of the shell version.
ARFLAGS=" ${ARFLAGS}"
CC="gcc"
CPP="gcc -E"
CFLAGS=""
CPPFLAGS="-I${prefix}/include"
CXXFLAGS="-std=c++11"
CXX="g++"
DEFAULT_MODE="dll"
DEFS="-DPACKAGE_NAME=\"ICU\" -DPACKAGE_TARNAME=\"International\ Components\ for\ Unicode\" -DPACKAGE_VERSION=\"67.1\" -DPACKAGE_STRING=\"ICU\ 67.1\" -DPACKAGE_BUGREPORT=\"http://icu-project.org/bugs\" -DPACKAGE_URL=\"http://icu-project.org\" -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_ELF_H=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 "
# use a consistent INSTALL
INSTALL="${SHELL} ${pkgdatadir}/install-sh -c"
INSTALL_DATA="${INSTALL} -m 644"
INSTALL_PROGRAM="${INSTALL}"
INSTALL_SCRIPT="${INSTALL}"
LDFLAGS="${RPATHLDFLAGS}"
LIBS="-lpthread -lm "
LIB_M=""
LIB_VERSION="67.1"
LIB_VERSION_MAJOR="67"
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="/usr/include"
infodir="/usr/share/info"
localstatedir="/var"
mandir="/usr/share/man"
oldincludedir="/usr/include"
program_transform_name="s,x,x,"
sharedstatedir="/var/lib"
sysconfdir="/etc"
INSTALL_L="${INSTALL_DATA}"
# for derivative builds - don't bother with VERBOSE/NONVERBOSE SILENT_COMPILE
##################################################################
#
# *5* packaging options and directories
#
##################################################################
# The basename of the ICU data file (i.e. icudt21b )
ICUDATA_CHAR="l"
ICUDATA_NAME="icudt67l"
# Defaults for pkgdata's mode and directories
# The default data dir changes depending on what packaging mode
# is being used
if [ "x$PKGDATA_MODE" = "x" ];
then
PKGDATA_MODE="dll"
fi
case "$PKGDATA_MODE" in
common)
ICUDATA_DIR="${pkgdatadir}"
ICUPKGDATA_DIR="${ICUDATA_DIR}"
;;
dll)
ICUDATA_DIR="${pkgdatadir}"
ICUPKGDATA_DIR="${libdir}"
;;
*)
ICUDATA_DIR="${pkgdatadir}"
ICUPKGDATA_DIR="${ICUDATA_DIR}"
;;
esac
GENCCODE_ASSEMBLY="-a gcc"
##################################################################
#
# *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.
# The selfcheck is just a sanity check that this makefile is
# parseable. The mh fragment is only included if this does not occur.
# Following from ./config/mh-linux
## -*-makefile-*-
## Copyright (C) 2016 and later: Unicode, Inc. and others.
## License & terms of use: http://www.unicode.org/copyright.html
## Linux-specific setup
## Copyright (c) 1999-2013, International Business Machines Corporation and
## others. All Rights Reserved.
## Commands to generate dependency files
GEN_DEPS_c="${CC} -E -MM ${DEFS} ${CPPFLAGS}"
GEN_DEPS_cc="${CXX} -E -MM ${DEFS} ${CPPFLAGS} ${CXXFLAGS}"
## Flags for position independent code
SHAREDLIBCFLAGS="-fPIC"
SHAREDLIBCXXFLAGS="-fPIC"
SHAREDLIBCPPFLAGS="-DPIC"
## Additional flags when building libraries and with threads
THREADSCPPFLAGS="-D_REENTRANT"
LIBCPPFLAGS=""
## Compiler switch to embed a runtime search path
LD_RPATH="-Wl,-zorigin,-rpath,\$\$ORIGIN "
LD_RPATH_PRE="-Wl,-rpath,"
## These are the library specific LDFLAGS
LDFLAGSICUDT=""
## Compiler switch to embed a library name
# The initial tab in the next line is to prevent icu-config from reading it.
# We can't depend on MIDDLE_SO_TARGET being set.
LD_SONAME=
## Shared library options
LD_SOOPTIONS="-Wl,-Bsymbolic"
## Shared object suffix
SO="so"
## Non-shared intermediate object suffix
STATIC_O="ao"
## Compilation rules
## Dependency rules
## Versioned libraries rules
## Bind internal references
# LDflags that pkgdata will use
BIR_LDFLAGS="-Wl,-Bsymbolic"
# Dependencies [i.e. map files] for the final library
BIR_DEPS=""
## Remove shared library 's'
STATIC_PREFIX_WHEN_USED=""
STATIC_PREFIX=""
## End Linux-specific setup
## -*-sh-*-
## BEGIN of icu-config-bottom.
## Copyright (C) 2016 and later: Unicode, Inc. and others.
## License & terms of use: http://www.unicode.org/copyright.html
## Copyright (c) 2002-2013, International Business Machines Corporation and
## others. All Rights Reserved.
# For MinGW do we want the common DLL to go into the bin location?
if [ "$MINGW_MOVEDLLSTOBINDIR" = "YES" ]; then
ICUUC_FILE="${bindir}/${ICULIBS_COMMON_LIB_NAME}"
else
ICUUC_FILE="${libdir}/${ICULIBS_COMMON_LIB_NAME}"
fi
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=