]> git.pld-linux.org Git - packages/icu.git/blame - icu-config
- updated to 4.4.1 (note: sonames changed)
[packages/icu.git] / icu-config
CommitLineData
2be58cbe
ER
1#!/bin/sh
2## -*-sh-*-
3#set -x
4# BEGIN of icu-config-top
5#******************************************************************************
6# Copyright (C) 1999-2004, International Business Machines
7# Corporation and others. All Rights Reserved.
8#******************************************************************************
9# This script is designed to aid configuration of ICU.
10# rpath links a library search path right into the binaries.
11
12
13### END of icu-config-top
14
15## Zero out prefix.
16exec_prefix=`pkg-config --variable=exec_prefix icu`
17execprefix=$exec_prefix
18prefix=`pkg-config --variable=prefix icu`
19
20
21loaddefs()
22{
23LDLIBRARYPATH_ENVVAR="LD_LIBRARY_PATH"
24bindir=`pkg-config --variable=bindir icu`
25sbindir=`pkg-config --variable=sbindir icu`
26libdir=`pkg-config --variable=libdir icu`
27sysconfdir=`pkg-config --variable=sysconfdir icu`
28mandir=`pkg-config --variable=mandir icu`
29datadir=`pkg-config --variable=datadir icu`
30pkglibdir=`pkg-config --variable=pkglibdir icu`
31ICULIBS_COMMON_LIB_NAME=`pkg-config --variable=ICULIBS_COMMON_LIB_NAME icu`
32UNICODE_VERSION=`pkg-config --variable=UNICODE_VERSION icu`
33VERSION=`pkg-config --modversion icu`
34SO=`pkg-config --variable=SO icu`
35
36## -*-sh-*-
37## BEGIN of icu-config-bottom.
38## Copyright (c) 2002-2004, International Business Machines Corporation and
39## others. All Rights Reserved.
40
41ICUUC_FILE=${libdir}/${ICULIBS_COMMON_LIB_NAME}
42
43# echo ENABLE RPATH $ENABLE_RPATH and RPATHLDFLAGS=${RPATH_LDFLAGS}
44if [ "x$PKGDATA_MODE" = "x" ]; then
45 PKGDATA_MODE=dll
46fi
47
48}
49
50## The actual code of icu-config goes here.
51
52ME=`basename $0`
53
54allflags()
55{
56 echo " --bindir Print binary directory path (bin)"
57 echo " --cc Print C compiler used [CC]"
58 echo " --cflags Print C compiler flags [CFLAGS]"
59 echo " --cflags-dynamic Print additional C flags for"
60 echo " building shared libraries."
61 echo " --cppflags Print C Preprocessor flags [CPPFLAGS]"
62 echo " --cppflags-dynamic Print additional C Preprocessor flags for"
63 echo " building shared libraries."
64 echo " --cppflags-searchpath Print only -I include directives (-Iinclude)"
65 echo " --cxx Print C++ compiler used [CXX]"
66 echo " --cxxflags Print C++ compiler flags [CXXFLAGS]"
67 echo " --cxxflags-dynamic Print additional C++ flags for"
68 echo " building shared libraries."
69 echo " --detect-prefix Attempt to detect prefix based on PATH"
70 echo " --exec-prefix Print prefix for executables (/bin)"
71 echo " --exists Return with 0 status if ICU exists else fail"
72 echo " --help, -?, --usage Print this message"
73 echo " --icudata Print shortname of ICU data file (icudt21l)"
74 echo " --icudata-install-dir Print path to install data to - use as --install option to pkgdata(1)"
75 echo " --icudata-mode Print default ICU pkgdata mode (dll) - use as --mode option to pkgdata(1)."
76 echo " --icudatadir Print path to packaged archive data. Can set as [ICU_DATA]"
77 echo " --invoke Print commands to invoke an ICU program"
78 echo " --invoke=<prog> Print commands to invoke an ICU program named <prog> (ex: genrb)"
79 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. "
80 echo " --ldflags-layout Print ICU layout engine link directive. Use in addition to --ldflags"
81 echo " --ldflags-libsonly Same as --ldflags, but only the -l directives"
82 echo " --ldflags-searchpath Print only -L (search path) directive"
83 echo " --ldflags-system Print only system libs ICU links with (-lpthread, -lm)"
84 echo " --ldflags-icuio Print ICU icuio link directive. Use in addition to --ldflags "
85 echo " --ldflags-obsolete Print ICU obsolete link directive. Use in addition to --ldflags. (requires icuapps/obsolete to be built and installed.) "
86 echo " --mandir Print manpage (man) path"
87 echo " --prefix Print PREFIX to icu install (/usr/local)"
88 echo " --prefix=XXX Set prefix to XXX for remainder of command"
89 echo " --sbindir Print system binary path (sbin) "
90 echo " --shared-datadir Print shared data (share) path. This is NOT the ICU data dir."
91 echo " --shlib-c Print the command to compile and build C shared libraries with ICU"
92 echo " --shlib-cc Print the command to compile and build C++ shared libraries with ICU"
93 echo " --sysconfdir Print system config (etc) path"
94 echo " --unicode-version Print version of Unicode data used in ICU ($UNICODE_VERSION)"
95 echo " --version Print ICU version ($VERSION)"
96 echo " --incfile Print path to Makefile.inc (for -O option of pkgdata)"
fc13c3e1 97 echo " --incpkgdatafile Print path to pkgdata.inc (for -O option of pkgdata)"
2be58cbe
ER
98}
99
100## Print the normal usage message
101shortusage()
102{
103 echo "usage: ${ME} " `allflags | cut -c-25 | sed -e 's%.*%[ & ]%'`
104}
105
106
107usage()
108{
109 echo "${ME}: icu-config: ICU configuration helper script"
110 echo
111 echo "The most commonly used options will be --cflags, --cxxflags, --cppflags, and --ldflags."
112 echo 'Example (in make): CPFLAGS=$(shell icu-config --cppflags)'
113 echo ' LDFLAGS=$(shell icu-config --ldflags)'
114 echo " (etc).."
115 echo
116 echo "Usage:"
117 allflags
118
119 echo
120 echo " [Brackets] show MAKE variable equivalents, (parenthesis) show example output"
121 echo
122 echo "Copyright (c) 2002, International Business Machines Corporation and others. All Rights Reserved."
123}
124
125## Check the sanity of current variables
126sanity()
127{
128 if [ ! -f ${ICUUC_FILE} ];
129 then
130 echo "### $ME: Can't find ${ICUUC_FILE} - ICU prefix is wrong." 1>&2
131 echo "### Try the --prefix= or --exec-prefix= options " 1>&2
132 echo "### or --detect-prefix"
133 echo "### $ME: Exitting." 1>&2
134 exit 2
135 fi
136}
137
138## Main starts here.
139
140if [ $# -lt 1 ]; then
141 shortusage
142 exit 1
143fi
144
145
146# Load our variables from autoconf
147# ALWAYS load twice because of dependencies
148loaddefs
149loaddefs
150sanity
151
152while [ $# -gt 0 ];
153do
154 arg="$1"
155 var=`echo $arg | sed -e 's/^[^=]*=//'`
156# echo "### processing $arg" 1>&2
157 case "$arg" in
158
159 # undocumented.
160 --debug)
161 set -x
162 ;;
163
164 --so)
165 echo $SO
166 ;;
167
168 --bindir)
169 echo $bindir
170 ;;
171
172 --libdir)
173 echo $libdir
174 ;;
175
176 --exists)
177 sanity
178 ;;
179
180 --sbindir)
181 echo $sbindir
182 ;;
183
184 --invoke=*)
185 QUOT="'"
186 CMD="${var}"
187
188 # If it's not a locally executable command (1st choice) then
189 # search for it in the ICU directories.
190 if [ ! -x ${CMD} ]; then
191 if [ -x ${bindir}/${var} ]; then
192 CMD="${bindir}/${var}"
193 fi
194 if [ -x ${sbindir}/${var} ]; then
195 CMD="${sbindir}/${var}"
196 fi
197 fi
198
199 echo "env ${QUOT}${LDLIBRARYPATH_ENVVAR}=${libdir}:"'${'"${LDLIBRARYPATH_ENVVAR}"'}'${QUOT} ${CMD}
200 ;;
201
202 --invoke)
203 QUOT="'"
204 echo "env ${QUOT}${LDLIBRARYPATH_ENVVAR}=${libdir}:"'${'"${LDLIBRARYPATH_ENVVAR}"'}'${QUOT}
205 ;;
206
207 --cflags)
208 pkg-config --variable=CFLAGS icu
209 ;;
210
211 --cc)
212 echo cc
213 ;;
214
215 --cxx)
216 echo c++
217 ;;
218
219 --cxxflags)
220 pkg-config --variable=CXXFLAGS icu
221 ;;
222
223 --cppflags)
224 # Don't echo the -I. - it's unneeded.
225 CPPFLAGS=`pkg-config --variable=CPPFLAGS icu`
226 echo $CPPFLAGS | sed -e 's/-I. //'
227 ;;
228
229 --cppflags-searchpath)
230 echo -I${prefix}/include
231 ;;
232
233 --cppflags-dynamic)
234 pkg-config --variable=SHAREDLIBCPPFLAGS icu
235 ;;
236
237 --cxxflags-dynamic)
238 pkg-config --variable=SHAREDLIBCXXFLAGS icu
239 ;;
240
241 --cflags-dynamic)
242 pkg-config --variable=SHAREDLIBCFLAGS icu
243 ;;
244
245 --ldflags-system)
246 pkg-config --variable=ICULIBS_SYSTEMLIBS icu
247 ;;
248
249 --ldflags)
250 pkg-config --libs icu
251# $RPATH_LDFLAGS
252 ;;
253
254 --ldflags-libsonly)
255 pkg-config --variable=ICULIBS_LIBSONLY icu
256 ;;
257
258 --ldflags-icuio)
259 pkg-config --variable=ICULIBS_ICUIO icu
260 ;;
261
262 --ldflags-obsolete)
263 pkg-config --variable=ICULIBS_OBSOLETE icu
264 ;;
265
266 --ldflags-toolutil)
267 pkg-config --variable=ICULIBS_TOOLUTIL icu
268 ;;
269
270 --ldflags-layout)
271 pkg-config --variable=ICULIBS_LAYOUT icu
272 ;;
273
274 --ldflags-searchpath)
275 echo -L${libdir}
276 ;;
277
278 --detect-prefix)
279 HERE=`echo $0 | sed -e "s/$ME//g"`
280 if [ -f $HERE/../lib/${ICULIBS_COMMON_LIB_NAME} ]; then
281 prefix=$HERE/..
282 echo "## Using --prefix=${prefix}" 1>&2
283 fi
284 loaddefs
285 loaddefs
286 sanity
287 ;;
288
289 --exec-prefix)
290 echo $exec_prefix
291 ;;
292
293 --prefix)
294 echo $prefix
295 ;;
296
297 --prefix=*)
298 prefix=$var
299 loaddefs
300 loaddefs
301 sanity
302 ;;
303
304 --sysconfdir)
305 echo $sysconfdir
306 ;;
307
308 --mandir)
309 echo $mandir
310 ;;
311
312 --shared-datadir)
313 echo $datadir
314 ;;
315
fc13c3e1 316 --incfile)
2be58cbe
ER
317 echo $pkglibdir/Makefile.inc
318 ;;
319
fc13c3e1
ER
320 --incpkgdatafile)
321 echo $pkglibdir/pkgdata.inc
322 ;;
323
2be58cbe
ER
324 --icudata)
325 pkg-config --variable=ICUDATA_NAME icu
326 ;;
327
328 --icudata-mode)
329 echo $PKGDATA_MODE
330 ;;
331
332 --icudata-install-dir)
333 pkg-config --variable=ICUPKGDATA_DIR icu
334 ;;
335
336 --icudatadir)
337 pkg-config --variable=ICUDATA_DIR icu
338 ;;
339
340 --shlib-c)
341 pkg-config --variable=SHLIB_c icu
342 ;;
343
344 --shlib-cc)
345 pkg-config --variable=SHLIB_cc icu
346 ;;
347
348 --version)
349 echo $VERSION
350 ;;
351
352 --unicode-version)
353 echo $UNICODE_VERSION
354 ;;
355
356 --help)
357 usage
358 exit 0
359 ;;
360
361 --usage)
362 usage
363 exit 0
364 ;;
365
366# --enable-rpath=*)
367# ENABLE_RPATH=$var
368# loaddefs
369# ;;
370
371 -?)
372 usage
373 exit 0
374 ;;
375
376 *)
377 echo ${ME}: ERROR Unknown Option $arg 1>&2
378 echo 1>&2
379 shortusage 1>&2
380 echo "### $ME: Exitting." 1>&2
381 exit 1;
382 ;;
383 esac
384 shift
385done
386
387# Check once before we quit (will check last used prefix)
388sanity
389## END of icu-config-bottom
390
391exit 0
392
This page took 0.127093 seconds and 4 git commands to generate.