ICU-CONFIG(1) ICU 72.1 Manual ICU-CONFIG(1)
NAME
icu-config - output ICU build options
SYNOPSIS
icu-config [
--bindir ] [
--cc ] [
--cflags ] [
--cppflags ] [
--cppflags-searchpath ] [
--cxx ] [
--cxxflags ] [
--detect-prefix ]
[
--exec-prefix ] [
--exists ] [
--help,
-?,
--usage ] [
--icudata ]
[
--icudata-install-dir ] [
--icudata-mode ] [
--icudatadir ] [
--invoke ] [
--invoke=prog ] [
--ldflags ] [
--ldflags-libsonly ] [
--ldflags-searchpath ] [
--ldflags-system ] [
--ldflags-icuio ] [
--mandir ] [
--prefix ] [
--prefix=prefix ] [
--sbindir ] [
--shared-datadir ] [
--sysconfdir ] [
--unicode-version ] [
--version ] [
--incfile ]
DESCRIPTION
icu-config simplifies the task of building and linking against ICU as
compared to manually configuring user makefiles or equivalent.
Because
icu-config is an executable script, it also solves the
problem of locating the ICU libraries and headers, by allowing the
system PATH to locate it.
EXAMPLES
icu-config can be used without a makefile. The command line below is
sufficient for building a single-file c++ program against ICU. (For
example,
icu/source/samples/props/props.cpp)
`icu-config --cxx --cxxflags --cppflags --ldflags` -o props
props.cpp
More commonly,
icu-config will be called from within a makefile, and
used to set up variables. The following example also builds the
props example.
CC=$(shell icu-config --cc)
CXX=$(shell icu-config --cxx)
CPPFLAGS=$(shell icu-config --cppflags)
CXXFLAGS=$(shell icu-config --cxxflags)
LDFLAGS =$(shell icu-config --ldflags)
all: props
props.o: props.cpp
make(1) will automatically use the above variables.
OPTIONS
--bindir Prints the binary (executable) directory path. Normally
equivalent to 'bin'. ICU user-executable applications and
scripts are found here.
--cc Print the C compiler used. Equivalent to the $(CC) Makefile
variable.
--cflags Print the C compiler flags. Equivalent to the $(CFLAGS)
Makefile variable. Does NOT include preprocessor directives
such as include path or defined symbols. Examples include
debugging (-g) and optimization flags
--cppflags Print the C preprocessor flags. Equivalent to the $(CPPFLAGS)
Makefile variable. Examples are -I include paths and -D
define directives.
--cppflags-searchpath Print the C preprocessor flags, as above but only -I search
paths.
--cxx Print the C++ compiler. Equivalent to the $(CXX) Makefile
variable.
--cxxflags Print the C++ compiler flags. Equivalent to the $(CXXFLAGS)
Makefile variable.
--detect-prefix If ICU has been moved from its installed location, prepending
this flag to other
icu-config calls will attempt to locate ICU
relative to where the
icu-config script has been located. Can
be used as a last-chance effort if the ICU install has been
damaged.
--exec-prefix Print the prefix used for executable program directories (such
as bin, sbin, etc). Normally the same as the prefix.
--exists Script will return with a successful (0) status if ICU seems
to be installed and located correctly, otherwise an error
message and nonzero status will be displayed.
--help,
-?,
--usage Print a help and usage message.
--icudata Print the
shortname of the ICU data file. This does not
include any suffix such as .dat, .dll, .so, .lib, .a, etc nor
does it include prefixes such as 'lib'. It may be in the form
icudt21b --icudata-install-dir Print the directory where ICU packaged data should be
installed. Can use as
pkgdata(1)'s --install option.
--icudata-mode Print the default ICU pkgdata mode, such as dll or common.
Can use as
pkgdata(1)'s --mode option.
--icudatadir Print the path to packaged archive data. (should be where
$ICU_DATA or equivalent default path points.) Will NOT point
to the libdir.
--invoke If ICU is not installed in a location where the operating
system will locate its shared libraries, this option will
print out commands so as to set the appropriate environment
variables to load ICU's shared libraries. For example, on many
systems a variable named LD_LIBRARY_PATH or equivalent must be
set.
--invoke=prog Same as the
--invoke option, except includes options for
invoking a program named
prog. If
prog is the name of an ICU
tool, such as
genrb(1), then
icu-config will also include the
full path to that tool.
--ldflags Print any flags which should be passed to the linker. These
may include -L for library search paths, and -l for including
ICU libraries. By default, this option will attempt to link in
the "common" (libicuuc) and "i18n" (libicui18n) libraries, as
well as the data library. If additional libraries are
required, any of the following two flags may be added in
conjunction with this one, for example "--ldflags --ldflags-
icuio" if the icuio library is required in addition to the
standard ICU libraries. Equivalent to the $(LDFLAGS) Makefile
variable.
--ldflags-layout Prints the link option for the ICU layout library.
--ldflags-icuio Prints the link option to add the ICU I/O package
--ldflags-libsonly Similar to
--ldflags but only includes the -l options.
--ldflags-searchpath Similar to
--ldflags but only includes the -L search path
options.
--ldflags-system Similar to
--ldflags but only includes system libraries (such
as pthreads)
--mandir Prints the location of the installed ICU
man pages. Normally (man)
--prefix Prints the prefix (base directory) under which the installed
ICU resides.
--prefix=prefix Sets the ICU prefix to
prefix for the remainder of this
command line. Does test whether the new prefix is valid.
--sbindir Prints the location of ICU system binaries, normally (sbin)
--shared-datadir Prints the location of ICU shared data, normally (share)
--sysconfdir Prints the location of ICU system configuration data, normally
(etc)
--unicode-version Prints the Version of the Unicode Standard which the current
ICU uses.
--version Prints the current version of ICU.
--incfile Prints the 'Makefile.inc' path, suitable for use with
pkgdata(1)'s -O option.
AUTHORS
Steven Loomis
VERSION
72.1
COPYRIGHT
Copyright (C) 2002-2004 IBM, Inc. and others.
ICU MANPAGE 17 May 2004 ICU-CONFIG(1)