Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

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(1)                   ICU 69.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  equiva-
              lent 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 vari-
              able.

       --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  dam-
              aged.

       --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  invok-
              ing  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  pkg-
              data(1)'s -O option.

AUTHORS
       Steven Loomis

VERSION
       69.1

COPYRIGHT
       Copyright (C) 2002-2004 IBM, Inc. and others.




ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+-----------------------+
       |ATTRIBUTE TYPE |   ATTRIBUTE VALUE     |
       +---------------+-----------------------+
       |Availability   | developer/icu         |
       +---------------+-----------------------+
       |Stability      | Pass-through volatile |
       +---------------+-----------------------+

NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source     was     downloaded     from      https://github.com/unicode-
       org/icu/releases/download/release-69-1/icu4c-69_1-src.tgz.

       Further information about this software can be found on the open source
       community website at http://site.icu-project.org/.



ICU MANPAGE                       17 May 2004                    ICU-CONFIG(1)