Codebase list libhtp / fe38f39
Import upstream version 0.5.37+git20210409.1.5aaea8c Debian Janitor 2 years ago
53 changed file(s) with 51688 addition(s) and 3671 deletion(s). Raw diff Collapse all Expand all
+0
-67
.gitignore less more
0 .deps
1 .dirstamp
2 .libs
3 *~
4 *.exe
5 *.gcda
6 *.gcno
7 *.gcov
8 *.la
9 *.lo
10 *.o
11 *.slo
12 *.stackdump
13 *.dSYM
14 *.a
15 *.pdf
16 *.sig
17 *_config_auto_gen.h
18 *_config_auto_gen.h.in
19 htp-*.tar.gz
20 compile
21 .cproject
22 /Makefile
23 /Makefile.in
24 /aclocal.m4
25 /autom4te.cache
26 /config.guess
27 /config.h
28 /config.h.in
29 /config.log
30 /config.status
31 /config.sub
32 /configure
33 /depcomp
34 lcov
35 /docs/doxygen
36 /htp.pc
37 /htp/.libs/
38 /htp/Makefile
39 /htp/Makefile.in
40 /INSTALL
41 /install-sh
42 /libtool
43 /ltmain.sh
44 /missing
45 m4
46 /nbproject/
47 /nbproject/private/
48 /stamp-h1
49 /test-driver
50 /test/.libs/
51 /test/Makefile
52 /test/Makefile.in
53 /test/main*
54 /test/test_bstr
55 /test/test_hybrid
56 /test/test_utils
57 /test/test_all
58 /test/test_all.log
59 /test/test_all.trs
60 /test/test-suite.log
61 extras/ruby/*.gem
62 /docs/Makefile
63 /docs/Makefile.in
64 /test/test_main
65 /test/coverage.info
66 /htp/htp_version.h
+0
-24
.travis.yml less more
0 language: c
1 compiler:
2 - gcc
3 - clang
4 # Change this to your needs
5 script: sh autogen.sh && ./configure && make && (make check || cat test/test-suite.log) && make distcheck
6 before_install:
7 - sudo apt-get update -qq
8 - sudo apt-get install -y build-essential autoconf automake libtool zlib1g zlib1g-dev make
9
10 matrix:
11 include:
12 - name: fuzza
13 env: CXX="clang++" ASAN_OPTIONS=detect_leaks=0 CXXFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address" CFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address" LDFLAGS="-fsanitize=address"
14 compiler: clang
15 os: linux
16 - name: fuzzm
17 env: CXX="clang++" CXXFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=memory" CFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=memory" LDFLAGS="-fsanitize=memory"
18 compiler: clang
19 os: linux
20 - name: fuzzu
21 env: CXX="clang++" CXXFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=undefined" CFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=undefined -fno-sanitize-recover=undefined,integer" LDFLAGS="-fsanitize=undefined"
22 compiler: clang
23 os: linux
0 0.5.37 (2 March 2021)
1 ---------------------
2
3 - support request body decompression
4
5 - several accuracy fixes
6
7 - fuzz improvments
8
09 0.5.36 (3 December 2020)
110 ------------------------
211
0 Installation Instructions
1 *************************
2
3 Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software
4 Foundation, Inc.
5
6 Copying and distribution of this file, with or without modification,
7 are permitted in any medium without royalty provided the copyright
8 notice and this notice are preserved. This file is offered as-is,
9 without warranty of any kind.
10
11 Basic Installation
12 ==================
13
14 Briefly, the shell command './configure && make && make install'
15 should configure, build, and install this package. The following
16 more-detailed instructions are generic; see the 'README' file for
17 instructions specific to this package. Some packages provide this
18 'INSTALL' file but do not implement all of the features documented
19 below. The lack of an optional feature in a given package is not
20 necessarily a bug. More recommendations for GNU packages can be found
21 in *note Makefile Conventions: (standards)Makefile Conventions.
22
23 The 'configure' shell script attempts to guess correct values for
24 various system-dependent variables used during compilation. It uses
25 those values to create a 'Makefile' in each directory of the package.
26 It may also create one or more '.h' files containing system-dependent
27 definitions. Finally, it creates a shell script 'config.status' that
28 you can run in the future to recreate the current configuration, and a
29 file 'config.log' containing compiler output (useful mainly for
30 debugging 'configure').
31
32 It can also use an optional file (typically called 'config.cache' and
33 enabled with '--cache-file=config.cache' or simply '-C') that saves the
34 results of its tests to speed up reconfiguring. Caching is disabled by
35 default to prevent problems with accidental use of stale cache files.
36
37 If you need to do unusual things to compile the package, please try
38 to figure out how 'configure' could check whether to do them, and mail
39 diffs or instructions to the address given in the 'README' so they can
40 be considered for the next release. If you are using the cache, and at
41 some point 'config.cache' contains results you don't want to keep, you
42 may remove or edit it.
43
44 The file 'configure.ac' (or 'configure.in') is used to create
45 'configure' by a program called 'autoconf'. You need 'configure.ac' if
46 you want to change it or regenerate 'configure' using a newer version of
47 'autoconf'.
48
49 The simplest way to compile this package is:
50
51 1. 'cd' to the directory containing the package's source code and type
52 './configure' to configure the package for your system.
53
54 Running 'configure' might take a while. While running, it prints
55 some messages telling which features it is checking for.
56
57 2. Type 'make' to compile the package.
58
59 3. Optionally, type 'make check' to run any self-tests that come with
60 the package, generally using the just-built uninstalled binaries.
61
62 4. Type 'make install' to install the programs and any data files and
63 documentation. When installing into a prefix owned by root, it is
64 recommended that the package be configured and built as a regular
65 user, and only the 'make install' phase executed with root
66 privileges.
67
68 5. Optionally, type 'make installcheck' to repeat any self-tests, but
69 this time using the binaries in their final installed location.
70 This target does not install anything. Running this target as a
71 regular user, particularly if the prior 'make install' required
72 root privileges, verifies that the installation completed
73 correctly.
74
75 6. You can remove the program binaries and object files from the
76 source code directory by typing 'make clean'. To also remove the
77 files that 'configure' created (so you can compile the package for
78 a different kind of computer), type 'make distclean'. There is
79 also a 'make maintainer-clean' target, but that is intended mainly
80 for the package's developers. If you use it, you may have to get
81 all sorts of other programs in order to regenerate files that came
82 with the distribution.
83
84 7. Often, you can also type 'make uninstall' to remove the installed
85 files again. In practice, not all packages have tested that
86 uninstallation works correctly, even though it is required by the
87 GNU Coding Standards.
88
89 8. Some packages, particularly those that use Automake, provide 'make
90 distcheck', which can by used by developers to test that all other
91 targets like 'make install' and 'make uninstall' work correctly.
92 This target is generally not run by end users.
93
94 Compilers and Options
95 =====================
96
97 Some systems require unusual options for compilation or linking that
98 the 'configure' script does not know about. Run './configure --help'
99 for details on some of the pertinent environment variables.
100
101 You can give 'configure' initial values for configuration parameters
102 by setting variables in the command line or in the environment. Here is
103 an example:
104
105 ./configure CC=c99 CFLAGS=-g LIBS=-lposix
106
107 *Note Defining Variables::, for more details.
108
109 Compiling For Multiple Architectures
110 ====================================
111
112 You can compile the package for more than one kind of computer at the
113 same time, by placing the object files for each architecture in their
114 own directory. To do this, you can use GNU 'make'. 'cd' to the
115 directory where you want the object files and executables to go and run
116 the 'configure' script. 'configure' automatically checks for the source
117 code in the directory that 'configure' is in and in '..'. This is known
118 as a "VPATH" build.
119
120 With a non-GNU 'make', it is safer to compile the package for one
121 architecture at a time in the source code directory. After you have
122 installed the package for one architecture, use 'make distclean' before
123 reconfiguring for another architecture.
124
125 On MacOS X 10.5 and later systems, you can create libraries and
126 executables that work on multiple system types--known as "fat" or
127 "universal" binaries--by specifying multiple '-arch' options to the
128 compiler but only a single '-arch' option to the preprocessor. Like
129 this:
130
131 ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
132 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
133 CPP="gcc -E" CXXCPP="g++ -E"
134
135 This is not guaranteed to produce working output in all cases, you
136 may have to build one architecture at a time and combine the results
137 using the 'lipo' tool if you have problems.
138
139 Installation Names
140 ==================
141
142 By default, 'make install' installs the package's commands under
143 '/usr/local/bin', include files under '/usr/local/include', etc. You
144 can specify an installation prefix other than '/usr/local' by giving
145 'configure' the option '--prefix=PREFIX', where PREFIX must be an
146 absolute file name.
147
148 You can specify separate installation prefixes for
149 architecture-specific files and architecture-independent files. If you
150 pass the option '--exec-prefix=PREFIX' to 'configure', the package uses
151 PREFIX as the prefix for installing programs and libraries.
152 Documentation and other data files still use the regular prefix.
153
154 In addition, if you use an unusual directory layout you can give
155 options like '--bindir=DIR' to specify different values for particular
156 kinds of files. Run 'configure --help' for a list of the directories
157 you can set and what kinds of files go in them. In general, the default
158 for these options is expressed in terms of '${prefix}', so that
159 specifying just '--prefix' will affect all of the other directory
160 specifications that were not explicitly provided.
161
162 The most portable way to affect installation locations is to pass the
163 correct locations to 'configure'; however, many packages provide one or
164 both of the following shortcuts of passing variable assignments to the
165 'make install' command line to change installation locations without
166 having to reconfigure or recompile.
167
168 The first method involves providing an override variable for each
169 affected directory. For example, 'make install
170 prefix=/alternate/directory' will choose an alternate location for all
171 directory configuration variables that were expressed in terms of
172 '${prefix}'. Any directories that were specified during 'configure',
173 but not in terms of '${prefix}', must each be overridden at install time
174 for the entire installation to be relocated. The approach of makefile
175 variable overrides for each directory variable is required by the GNU
176 Coding Standards, and ideally causes no recompilation. However, some
177 platforms have known limitations with the semantics of shared libraries
178 that end up requiring recompilation when using this method, particularly
179 noticeable in packages that use GNU Libtool.
180
181 The second method involves providing the 'DESTDIR' variable. For
182 example, 'make install DESTDIR=/alternate/directory' will prepend
183 '/alternate/directory' before all installation names. The approach of
184 'DESTDIR' overrides is not required by the GNU Coding Standards, and
185 does not work on platforms that have drive letters. On the other hand,
186 it does better at avoiding recompilation issues, and works well even
187 when some directory options were not specified in terms of '${prefix}'
188 at 'configure' time.
189
190 Optional Features
191 =================
192
193 If the package supports it, you can cause programs to be installed
194 with an extra prefix or suffix on their names by giving 'configure' the
195 option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
196
197 Some packages pay attention to '--enable-FEATURE' options to
198 'configure', where FEATURE indicates an optional part of the package.
199 They may also pay attention to '--with-PACKAGE' options, where PACKAGE
200 is something like 'gnu-as' or 'x' (for the X Window System). The
201 'README' should mention any '--enable-' and '--with-' options that the
202 package recognizes.
203
204 For packages that use the X Window System, 'configure' can usually
205 find the X include and library files automatically, but if it doesn't,
206 you can use the 'configure' options '--x-includes=DIR' and
207 '--x-libraries=DIR' to specify their locations.
208
209 Some packages offer the ability to configure how verbose the
210 execution of 'make' will be. For these packages, running './configure
211 --enable-silent-rules' sets the default to minimal output, which can be
212 overridden with 'make V=1'; while running './configure
213 --disable-silent-rules' sets the default to verbose, which can be
214 overridden with 'make V=0'.
215
216 Particular systems
217 ==================
218
219 On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC
220 is not installed, it is recommended to use the following options in
221 order to use an ANSI C compiler:
222
223 ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
224
225 and if that doesn't work, install pre-built binaries of GCC for HP-UX.
226
227 HP-UX 'make' updates targets which have the same time stamps as their
228 prerequisites, which makes it generally unusable when shipped generated
229 files such as 'configure' are involved. Use GNU 'make' instead.
230
231 On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
232 parse its '<wchar.h>' header file. The option '-nodtk' can be used as a
233 workaround. If GNU CC is not installed, it is therefore recommended to
234 try
235
236 ./configure CC="cc"
237
238 and if that doesn't work, try
239
240 ./configure CC="cc -nodtk"
241
242 On Solaris, don't put '/usr/ucb' early in your 'PATH'. This
243 directory contains several dysfunctional programs; working variants of
244 these programs are available in '/usr/bin'. So, if you need '/usr/ucb'
245 in your 'PATH', put it _after_ '/usr/bin'.
246
247 On Haiku, software installed for all users goes in '/boot/common',
248 not '/usr/local'. It is recommended to use the following options:
249
250 ./configure --prefix=/boot/common
251
252 Specifying the System Type
253 ==========================
254
255 There may be some features 'configure' cannot figure out
256 automatically, but needs to determine by the type of machine the package
257 will run on. Usually, assuming the package is built to be run on the
258 _same_ architectures, 'configure' can figure that out, but if it prints
259 a message saying it cannot guess the machine type, give it the
260 '--build=TYPE' option. TYPE can either be a short name for the system
261 type, such as 'sun4', or a canonical name which has the form:
262
263 CPU-COMPANY-SYSTEM
264
265 where SYSTEM can have one of these forms:
266
267 OS
268 KERNEL-OS
269
270 See the file 'config.sub' for the possible values of each field. If
271 'config.sub' isn't included in this package, then this package doesn't
272 need to know the machine type.
273
274 If you are _building_ compiler tools for cross-compiling, you should
275 use the option '--target=TYPE' to select the type of system they will
276 produce code for.
277
278 If you want to _use_ a cross compiler, that generates code for a
279 platform different from the build platform, you should specify the
280 "host" platform (i.e., that on which the generated programs will
281 eventually be run) with '--host=TYPE'.
282
283 Sharing Defaults
284 ================
285
286 If you want to set default values for 'configure' scripts to share,
287 you can create a site shell script called 'config.site' that gives
288 default values for variables like 'CC', 'cache_file', and 'prefix'.
289 'configure' looks for 'PREFIX/share/config.site' if it exists, then
290 'PREFIX/etc/config.site' if it exists. Or, you can set the
291 'CONFIG_SITE' environment variable to the location of the site script.
292 A warning: not all 'configure' scripts look for a site script.
293
294 Defining Variables
295 ==================
296
297 Variables not defined in a site shell script can be set in the
298 environment passed to 'configure'. However, some packages may run
299 configure again during the build, and the customized values of these
300 variables may be lost. In order to avoid this problem, you should set
301 them in the 'configure' command line, using 'VAR=value'. For example:
302
303 ./configure CC=/usr/local2/bin/gcc
304
305 causes the specified 'gcc' to be used as the C compiler (unless it is
306 overridden in the site shell script).
307
308 Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an
309 Autoconf limitation. Until the limitation is lifted, you can use this
310 workaround:
311
312 CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
313
314 'configure' Invocation
315 ======================
316
317 'configure' recognizes the following options to control how it
318 operates.
319
320 '--help'
321 '-h'
322 Print a summary of all of the options to 'configure', and exit.
323
324 '--help=short'
325 '--help=recursive'
326 Print a summary of the options unique to this package's
327 'configure', and exit. The 'short' variant lists options used only
328 in the top level, while the 'recursive' variant lists options also
329 present in any nested packages.
330
331 '--version'
332 '-V'
333 Print the version of Autoconf used to generate the 'configure'
334 script, and exit.
335
336 '--cache-file=FILE'
337 Enable the cache: use and save the results of the tests in FILE,
338 traditionally 'config.cache'. FILE defaults to '/dev/null' to
339 disable caching.
340
341 '--config-cache'
342 '-C'
343 Alias for '--cache-file=config.cache'.
344
345 '--quiet'
346 '--silent'
347 '-q'
348 Do not print messages saying which checks are being made. To
349 suppress all normal output, redirect it to '/dev/null' (any error
350 messages will still be shown).
351
352 '--srcdir=DIR'
353 Look for the package's source code in directory DIR. Usually
354 'configure' can determine that directory automatically.
355
356 '--prefix=DIR'
357 Use DIR as the installation prefix. *note Installation Names:: for
358 more details, including other options available for fine-tuning the
359 installation locations.
360
361 '--no-create'
362 '-n'
363 Run the configure checks, but stop before creating any output
364 files.
365
366 'configure' also accepts some other, not widely useful, options. Run
367 'configure --help' for more details.
0 # Makefile.in generated by automake 1.16.3 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2020 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 VPATH = @srcdir@
17 am__is_gnu_make = { \
18 if test -z '$(MAKELEVEL)'; then \
19 false; \
20 elif test -n '$(MAKE_HOST)'; then \
21 true; \
22 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
23 true; \
24 else \
25 false; \
26 fi; \
27 }
28 am__make_running_with_option = \
29 case $${target_option-} in \
30 ?) ;; \
31 *) echo "am__make_running_with_option: internal error: invalid" \
32 "target option '$${target_option-}' specified" >&2; \
33 exit 1;; \
34 esac; \
35 has_opt=no; \
36 sane_makeflags=$$MAKEFLAGS; \
37 if $(am__is_gnu_make); then \
38 sane_makeflags=$$MFLAGS; \
39 else \
40 case $$MAKEFLAGS in \
41 *\\[\ \ ]*) \
42 bs=\\; \
43 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
44 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
45 esac; \
46 fi; \
47 skip_next=no; \
48 strip_trailopt () \
49 { \
50 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
51 }; \
52 for flg in $$sane_makeflags; do \
53 test $$skip_next = yes && { skip_next=no; continue; }; \
54 case $$flg in \
55 *=*|--*) continue;; \
56 -*I) strip_trailopt 'I'; skip_next=yes;; \
57 -*I?*) strip_trailopt 'I';; \
58 -*O) strip_trailopt 'O'; skip_next=yes;; \
59 -*O?*) strip_trailopt 'O';; \
60 -*l) strip_trailopt 'l'; skip_next=yes;; \
61 -*l?*) strip_trailopt 'l';; \
62 -[dEDm]) skip_next=yes;; \
63 -[JT]) skip_next=yes;; \
64 esac; \
65 case $$flg in \
66 *$$target_option*) has_opt=yes; break;; \
67 esac; \
68 done; \
69 test $$has_opt = yes
70 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
71 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
72 pkgdatadir = $(datadir)/@PACKAGE@
73 pkgincludedir = $(includedir)/@PACKAGE@
74 pkglibdir = $(libdir)/@PACKAGE@
75 pkglibexecdir = $(libexecdir)/@PACKAGE@
76 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
77 install_sh_DATA = $(install_sh) -c -m 644
78 install_sh_PROGRAM = $(install_sh) -c
79 install_sh_SCRIPT = $(install_sh) -c
80 INSTALL_HEADER = $(INSTALL_DATA)
81 transform = $(program_transform_name)
82 NORMAL_INSTALL = :
83 PRE_INSTALL = :
84 POST_INSTALL = :
85 NORMAL_UNINSTALL = :
86 PRE_UNINSTALL = :
87 POST_UNINSTALL = :
88 build_triplet = @build@
89 host_triplet = @host@
90 subdir = .
91 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
92 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
93 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
94 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
95 $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
96 $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
97 $(top_srcdir)/configure.ac
98 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
99 $(ACLOCAL_M4)
100 DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
101 $(am__configure_deps) $(am__DIST_COMMON)
102 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
103 configure.lineno config.status.lineno
104 mkinstalldirs = $(install_sh) -d
105 CONFIG_HEADER = htp_config_auto_gen.h
106 CONFIG_CLEAN_FILES = htp.pc
107 CONFIG_CLEAN_VPATH_FILES =
108 AM_V_P = $(am__v_P_@AM_V@)
109 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
110 am__v_P_0 = false
111 am__v_P_1 = :
112 AM_V_GEN = $(am__v_GEN_@AM_V@)
113 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
114 am__v_GEN_0 = @echo " GEN " $@;
115 am__v_GEN_1 =
116 AM_V_at = $(am__v_at_@AM_V@)
117 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
118 am__v_at_0 = @
119 am__v_at_1 =
120 SOURCES =
121 DIST_SOURCES =
122 RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
123 ctags-recursive dvi-recursive html-recursive info-recursive \
124 install-data-recursive install-dvi-recursive \
125 install-exec-recursive install-html-recursive \
126 install-info-recursive install-pdf-recursive \
127 install-ps-recursive install-recursive installcheck-recursive \
128 installdirs-recursive pdf-recursive ps-recursive \
129 tags-recursive uninstall-recursive
130 am__can_run_installinfo = \
131 case $$AM_UPDATE_INFO_DIR in \
132 n|no|NO) false;; \
133 *) (install-info --version) >/dev/null 2>&1;; \
134 esac
135 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
136 am__vpath_adj = case $$p in \
137 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
138 *) f=$$p;; \
139 esac;
140 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
141 am__install_max = 40
142 am__nobase_strip_setup = \
143 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
144 am__nobase_strip = \
145 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
146 am__nobase_list = $(am__nobase_strip_setup); \
147 for p in $$list; do echo "$$p $$p"; done | \
148 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
149 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
150 if (++n[$$2] == $(am__install_max)) \
151 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
152 END { for (dir in files) print dir, files[dir] }'
153 am__base_list = \
154 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
155 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
156 am__uninstall_files_from_dir = { \
157 test -z "$$files" \
158 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
159 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
160 $(am__cd) "$$dir" && rm -f $$files; }; \
161 }
162 am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
163 DATA = $(pkgconfig_DATA)
164 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
165 distclean-recursive maintainer-clean-recursive
166 am__recursive_targets = \
167 $(RECURSIVE_TARGETS) \
168 $(RECURSIVE_CLEAN_TARGETS) \
169 $(am__extra_recursive_targets)
170 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
171 cscope distdir distdir-am dist dist-all distcheck
172 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
173 htp_config_auto_gen.h.in
174 # Read a list of newline-separated strings from the standard input,
175 # and print each of them once, without duplicates. Input order is
176 # *not* preserved.
177 am__uniquify_input = $(AWK) '\
178 BEGIN { nonempty = 0; } \
179 { items[$$0] = 1; nonempty = 1; } \
180 END { if (nonempty) { for (i in items) print i; }; } \
181 '
182 # Make sure the list of sources is unique. This is necessary because,
183 # e.g., the same source file might be shared among _SOURCES variables
184 # for different programs/libraries.
185 am__define_uniq_tagged_files = \
186 list='$(am__tagged_files)'; \
187 unique=`for i in $$list; do \
188 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
189 done | $(am__uniquify_input)`
190 ETAGS = etags
191 CTAGS = ctags
192 CSCOPE = cscope
193 am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/htp.pc.in \
194 $(srcdir)/htp_config_auto_gen.h.in AUTHORS COPYING ChangeLog \
195 INSTALL NEWS README compile config.guess config.rpath \
196 config.sub install-sh ltmain.sh missing
197 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
198 distdir = $(PACKAGE)-$(VERSION)
199 top_distdir = $(distdir)
200 am__remove_distdir = \
201 if test -d "$(distdir)"; then \
202 find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
203 && rm -rf "$(distdir)" \
204 || { sleep 5 && rm -rf "$(distdir)"; }; \
205 else :; fi
206 am__post_remove_distdir = $(am__remove_distdir)
207 am__relativize = \
208 dir0=`pwd`; \
209 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
210 sed_rest='s,^[^/]*/*,,'; \
211 sed_last='s,^.*/\([^/]*\)$$,\1,'; \
212 sed_butlast='s,/*[^/]*$$,,'; \
213 while test -n "$$dir1"; do \
214 first=`echo "$$dir1" | sed -e "$$sed_first"`; \
215 if test "$$first" != "."; then \
216 if test "$$first" = ".."; then \
217 dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
218 dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
219 else \
220 first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
221 if test "$$first2" = "$$first"; then \
222 dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
223 else \
224 dir2="../$$dir2"; \
225 fi; \
226 dir0="$$dir0"/"$$first"; \
227 fi; \
228 fi; \
229 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
230 done; \
231 reldir="$$dir2"
232 DIST_ARCHIVES = $(distdir).tar.gz
233 GZIP_ENV = --best
234 DIST_TARGETS = dist-gzip
235 # Exists only to be overridden by the user if desired.
236 AM_DISTCHECK_DVI_TARGET = dvi
237 distuninstallcheck_listfiles = find . -type f -print
238 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
239 | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
240 distcleancheck_listfiles = find . -type f -print
241 ACLOCAL = @ACLOCAL@
242 AMTAR = @AMTAR@
243 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
244 AR = @AR@
245 AUTOCONF = @AUTOCONF@
246 AUTOHEADER = @AUTOHEADER@
247 AUTOMAKE = @AUTOMAKE@
248 AWK = @AWK@
249 CC = @CC@
250 CCDEPMODE = @CCDEPMODE@
251 CFLAGS = @CFLAGS@
252 CPP = @CPP@
253 CPPFLAGS = @CPPFLAGS@
254 CXX = @CXX@
255 CXXCPP = @CXXCPP@
256 CXXDEPMODE = @CXXDEPMODE@
257 CXXFLAGS = @CXXFLAGS@
258 CYGPATH_W = @CYGPATH_W@
259 DEFS = @DEFS@
260 DEPDIR = @DEPDIR@
261 DLLTOOL = @DLLTOOL@
262 DOXYGEN = @DOXYGEN@
263 DSYMUTIL = @DSYMUTIL@
264 DUMPBIN = @DUMPBIN@
265 ECHO_C = @ECHO_C@
266 ECHO_N = @ECHO_N@
267 ECHO_T = @ECHO_T@
268 EGREP = @EGREP@
269 EXEEXT = @EXEEXT@
270 FGREP = @FGREP@
271 GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@
272 GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
273 GENERIC_RELEASE = @GENERIC_RELEASE@
274 GENERIC_VERSION = @GENERIC_VERSION@
275 GREP = @GREP@
276 INSTALL = @INSTALL@
277 INSTALL_DATA = @INSTALL_DATA@
278 INSTALL_PROGRAM = @INSTALL_PROGRAM@
279 INSTALL_SCRIPT = @INSTALL_SCRIPT@
280 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
281 LCOV = @LCOV@
282 LD = @LD@
283 LDFLAGS = @LDFLAGS@
284 LIBICONV = @LIBICONV@
285 LIBOBJS = @LIBOBJS@
286 LIBS = @LIBS@
287 LIBTOOL = @LIBTOOL@
288 LIPO = @LIPO@
289 LN_S = @LN_S@
290 LTLIBICONV = @LTLIBICONV@
291 LTLIBOBJS = @LTLIBOBJS@
292 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
293 MAKEINFO = @MAKEINFO@
294 MANIFEST_TOOL = @MANIFEST_TOOL@
295 MKDIR_P = @MKDIR_P@
296 NM = @NM@
297 NMEDIT = @NMEDIT@
298 OBJDUMP = @OBJDUMP@
299 OBJEXT = @OBJEXT@
300 OTOOL = @OTOOL@
301 OTOOL64 = @OTOOL64@
302 PACKAGE = @PACKAGE@
303 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
304 PACKAGE_NAME = @PACKAGE_NAME@
305 PACKAGE_STRING = @PACKAGE_STRING@
306 PACKAGE_TARNAME = @PACKAGE_TARNAME@
307 PACKAGE_URL = @PACKAGE_URL@
308 PACKAGE_VERSION = @PACKAGE_VERSION@
309 PATH_SEPARATOR = @PATH_SEPARATOR@
310 RANLIB = @RANLIB@
311 SED = @SED@
312 SET_MAKE = @SET_MAKE@
313 SHELL = @SHELL@
314 STRIP = @STRIP@
315 VERSION = @VERSION@
316 abs_builddir = @abs_builddir@
317 abs_srcdir = @abs_srcdir@
318 abs_top_builddir = @abs_top_builddir@
319 abs_top_srcdir = @abs_top_srcdir@
320 ac_ct_AR = @ac_ct_AR@
321 ac_ct_CC = @ac_ct_CC@
322 ac_ct_CXX = @ac_ct_CXX@
323 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
324 am__include = @am__include@
325 am__leading_dot = @am__leading_dot@
326 am__quote = @am__quote@
327 am__tar = @am__tar@
328 am__untar = @am__untar@
329 bindir = @bindir@
330 build = @build@
331 build_alias = @build_alias@
332 build_cpu = @build_cpu@
333 build_os = @build_os@
334 build_vendor = @build_vendor@
335 builddir = @builddir@
336 datadir = @datadir@
337 datarootdir = @datarootdir@
338 docdir = @docdir@
339 doxygen = @doxygen@
340 dvidir = @dvidir@
341 exec_prefix = @exec_prefix@
342 host = @host@
343 host_alias = @host_alias@
344 host_cpu = @host_cpu@
345 host_os = @host_os@
346 host_vendor = @host_vendor@
347 htmldir = @htmldir@
348 includedir = @includedir@
349 infodir = @infodir@
350 install_sh = @install_sh@
351 libdir = @libdir@
352 libexecdir = @libexecdir@
353 localedir = @localedir@
354 localstatedir = @localstatedir@
355 mandir = @mandir@
356 mkdir_p = @mkdir_p@
357 oldincludedir = @oldincludedir@
358 pdfdir = @pdfdir@
359 prefix = @prefix@
360 program_transform_name = @program_transform_name@
361 psdir = @psdir@
362 runstatedir = @runstatedir@
363 sbindir = @sbindir@
364 sharedstatedir = @sharedstatedir@
365 srcdir = @srcdir@
366 sysconfdir = @sysconfdir@
367 target_alias = @target_alias@
368 top_build_prefix = @top_build_prefix@
369 top_builddir = @top_builddir@
370 top_srcdir = @top_srcdir@
371 ACLOCAL_AMFLAGS = -I m4
372 SUBDIRS = htp test docs
373 DIST_SUBDIRS = htp test docs
374 EXTRA_DIST = LICENSE NOTICE docs/doxygen.conf docs/QUICK_START VERSION get-version.sh \
375 docs/COMPATIBILITY_CHANGES
376
377 pkgconfigdir = $(libdir)/pkgconfig
378 pkgconfig_DATA = htp.pc
379 all: htp_config_auto_gen.h
380 $(MAKE) $(AM_MAKEFLAGS) all-recursive
381
382 .SUFFIXES:
383 am--refresh: Makefile
384 @:
385 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
386 @for dep in $?; do \
387 case '$(am__configure_deps)' in \
388 *$$dep*) \
389 echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
390 $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
391 && exit 0; \
392 exit 1;; \
393 esac; \
394 done; \
395 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
396 $(am__cd) $(top_srcdir) && \
397 $(AUTOMAKE) --gnu Makefile
398 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
399 @case '$?' in \
400 *config.status*) \
401 echo ' $(SHELL) ./config.status'; \
402 $(SHELL) ./config.status;; \
403 *) \
404 echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
405 cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
406 esac;
407
408 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
409 $(SHELL) ./config.status --recheck
410
411 $(top_srcdir)/configure: $(am__configure_deps)
412 $(am__cd) $(srcdir) && $(AUTOCONF)
413 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
414 $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
415 $(am__aclocal_m4_deps):
416
417 htp_config_auto_gen.h: stamp-h1
418 @test -f $@ || rm -f stamp-h1
419 @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
420
421 stamp-h1: $(srcdir)/htp_config_auto_gen.h.in $(top_builddir)/config.status
422 @rm -f stamp-h1
423 cd $(top_builddir) && $(SHELL) ./config.status htp_config_auto_gen.h
424 $(srcdir)/htp_config_auto_gen.h.in: $(am__configure_deps)
425 ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
426 rm -f stamp-h1
427 touch $@
428
429 distclean-hdr:
430 -rm -f htp_config_auto_gen.h stamp-h1
431 htp.pc: $(top_builddir)/config.status $(srcdir)/htp.pc.in
432 cd $(top_builddir) && $(SHELL) ./config.status $@
433
434 mostlyclean-libtool:
435 -rm -f *.lo
436
437 clean-libtool:
438 -rm -rf .libs _libs
439
440 distclean-libtool:
441 -rm -f libtool config.lt
442 install-pkgconfigDATA: $(pkgconfig_DATA)
443 @$(NORMAL_INSTALL)
444 @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
445 if test -n "$$list"; then \
446 echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
447 $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
448 fi; \
449 for p in $$list; do \
450 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
451 echo "$$d$$p"; \
452 done | $(am__base_list) | \
453 while read files; do \
454 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
455 $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
456 done
457
458 uninstall-pkgconfigDATA:
459 @$(NORMAL_UNINSTALL)
460 @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
461 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
462 dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
463
464 # This directory's subdirectories are mostly independent; you can cd
465 # into them and run 'make' without going through this Makefile.
466 # To change the values of 'make' variables: instead of editing Makefiles,
467 # (1) if the variable is set in 'config.status', edit 'config.status'
468 # (which will cause the Makefiles to be regenerated when you run 'make');
469 # (2) otherwise, pass the desired values on the 'make' command line.
470 $(am__recursive_targets):
471 @fail=; \
472 if $(am__make_keepgoing); then \
473 failcom='fail=yes'; \
474 else \
475 failcom='exit 1'; \
476 fi; \
477 dot_seen=no; \
478 target=`echo $@ | sed s/-recursive//`; \
479 case "$@" in \
480 distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
481 *) list='$(SUBDIRS)' ;; \
482 esac; \
483 for subdir in $$list; do \
484 echo "Making $$target in $$subdir"; \
485 if test "$$subdir" = "."; then \
486 dot_seen=yes; \
487 local_target="$$target-am"; \
488 else \
489 local_target="$$target"; \
490 fi; \
491 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
492 || eval $$failcom; \
493 done; \
494 if test "$$dot_seen" = "no"; then \
495 $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
496 fi; test -z "$$fail"
497
498 ID: $(am__tagged_files)
499 $(am__define_uniq_tagged_files); mkid -fID $$unique
500 tags: tags-recursive
501 TAGS: tags
502
503 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
504 set x; \
505 here=`pwd`; \
506 if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
507 include_option=--etags-include; \
508 empty_fix=.; \
509 else \
510 include_option=--include; \
511 empty_fix=; \
512 fi; \
513 list='$(SUBDIRS)'; for subdir in $$list; do \
514 if test "$$subdir" = .; then :; else \
515 test ! -f $$subdir/TAGS || \
516 set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
517 fi; \
518 done; \
519 $(am__define_uniq_tagged_files); \
520 shift; \
521 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
522 test -n "$$unique" || unique=$$empty_fix; \
523 if test $$# -gt 0; then \
524 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
525 "$$@" $$unique; \
526 else \
527 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
528 $$unique; \
529 fi; \
530 fi
531 ctags: ctags-recursive
532
533 CTAGS: ctags
534 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
535 $(am__define_uniq_tagged_files); \
536 test -z "$(CTAGS_ARGS)$$unique" \
537 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
538 $$unique
539
540 GTAGS:
541 here=`$(am__cd) $(top_builddir) && pwd` \
542 && $(am__cd) $(top_srcdir) \
543 && gtags -i $(GTAGS_ARGS) "$$here"
544 cscope: cscope.files
545 test ! -s cscope.files \
546 || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
547 clean-cscope:
548 -rm -f cscope.files
549 cscope.files: clean-cscope cscopelist
550 cscopelist: cscopelist-recursive
551
552 cscopelist-am: $(am__tagged_files)
553 list='$(am__tagged_files)'; \
554 case "$(srcdir)" in \
555 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
556 *) sdir=$(subdir)/$(srcdir) ;; \
557 esac; \
558 for i in $$list; do \
559 if test -f "$$i"; then \
560 echo "$(subdir)/$$i"; \
561 else \
562 echo "$$sdir/$$i"; \
563 fi; \
564 done >> $(top_builddir)/cscope.files
565
566 distclean-tags:
567 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
568 -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
569
570 distdir: $(BUILT_SOURCES)
571 $(MAKE) $(AM_MAKEFLAGS) distdir-am
572
573 distdir-am: $(DISTFILES)
574 $(am__remove_distdir)
575 test -d "$(distdir)" || mkdir "$(distdir)"
576 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
577 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
578 list='$(DISTFILES)'; \
579 dist_files=`for file in $$list; do echo $$file; done | \
580 sed -e "s|^$$srcdirstrip/||;t" \
581 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
582 case $$dist_files in \
583 */*) $(MKDIR_P) `echo "$$dist_files" | \
584 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
585 sort -u` ;; \
586 esac; \
587 for file in $$dist_files; do \
588 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
589 if test -d $$d/$$file; then \
590 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
591 if test -d "$(distdir)/$$file"; then \
592 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
593 fi; \
594 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
595 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
596 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
597 fi; \
598 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
599 else \
600 test -f "$(distdir)/$$file" \
601 || cp -p $$d/$$file "$(distdir)/$$file" \
602 || exit 1; \
603 fi; \
604 done
605 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
606 if test "$$subdir" = .; then :; else \
607 $(am__make_dryrun) \
608 || test -d "$(distdir)/$$subdir" \
609 || $(MKDIR_P) "$(distdir)/$$subdir" \
610 || exit 1; \
611 dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
612 $(am__relativize); \
613 new_distdir=$$reldir; \
614 dir1=$$subdir; dir2="$(top_distdir)"; \
615 $(am__relativize); \
616 new_top_distdir=$$reldir; \
617 echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
618 echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
619 ($(am__cd) $$subdir && \
620 $(MAKE) $(AM_MAKEFLAGS) \
621 top_distdir="$$new_top_distdir" \
622 distdir="$$new_distdir" \
623 am__remove_distdir=: \
624 am__skip_length_check=: \
625 am__skip_mode_fix=: \
626 distdir) \
627 || exit 1; \
628 fi; \
629 done
630 -test -n "$(am__skip_mode_fix)" \
631 || find "$(distdir)" -type d ! -perm -755 \
632 -exec chmod u+rwx,go+rx {} \; -o \
633 ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
634 ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
635 ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
636 || chmod -R a+r "$(distdir)"
637 dist-gzip: distdir
638 tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
639 $(am__post_remove_distdir)
640
641 dist-bzip2: distdir
642 tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
643 $(am__post_remove_distdir)
644
645 dist-lzip: distdir
646 tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
647 $(am__post_remove_distdir)
648
649 dist-xz: distdir
650 tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
651 $(am__post_remove_distdir)
652
653 dist-zstd: distdir
654 tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
655 $(am__post_remove_distdir)
656
657 dist-tarZ: distdir
658 @echo WARNING: "Support for distribution archives compressed with" \
659 "legacy program 'compress' is deprecated." >&2
660 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
661 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
662 $(am__post_remove_distdir)
663
664 dist-shar: distdir
665 @echo WARNING: "Support for shar distribution archives is" \
666 "deprecated." >&2
667 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
668 shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
669 $(am__post_remove_distdir)
670
671 dist-zip: distdir
672 -rm -f $(distdir).zip
673 zip -rq $(distdir).zip $(distdir)
674 $(am__post_remove_distdir)
675
676 dist dist-all:
677 $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
678 $(am__post_remove_distdir)
679
680 # This target untars the dist file and tries a VPATH configuration. Then
681 # it guarantees that the distribution is self-contained by making another
682 # tarfile.
683 distcheck: dist
684 case '$(DIST_ARCHIVES)' in \
685 *.tar.gz*) \
686 eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
687 *.tar.bz2*) \
688 bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
689 *.tar.lz*) \
690 lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
691 *.tar.xz*) \
692 xz -dc $(distdir).tar.xz | $(am__untar) ;;\
693 *.tar.Z*) \
694 uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
695 *.shar.gz*) \
696 eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
697 *.zip*) \
698 unzip $(distdir).zip ;;\
699 *.tar.zst*) \
700 zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
701 esac
702 chmod -R a-w $(distdir)
703 chmod u+w $(distdir)
704 mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
705 chmod a-w $(distdir)
706 test -d $(distdir)/_build || exit 0; \
707 dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
708 && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
709 && am__cwd=`pwd` \
710 && $(am__cd) $(distdir)/_build/sub \
711 && ../../configure \
712 $(AM_DISTCHECK_CONFIGURE_FLAGS) \
713 $(DISTCHECK_CONFIGURE_FLAGS) \
714 --srcdir=../.. --prefix="$$dc_install_base" \
715 && $(MAKE) $(AM_MAKEFLAGS) \
716 && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \
717 && $(MAKE) $(AM_MAKEFLAGS) check \
718 && $(MAKE) $(AM_MAKEFLAGS) install \
719 && $(MAKE) $(AM_MAKEFLAGS) installcheck \
720 && $(MAKE) $(AM_MAKEFLAGS) uninstall \
721 && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
722 distuninstallcheck \
723 && chmod -R a-w "$$dc_install_base" \
724 && ({ \
725 (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
726 && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
727 && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
728 && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
729 distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
730 } || { rm -rf "$$dc_destdir"; exit 1; }) \
731 && rm -rf "$$dc_destdir" \
732 && $(MAKE) $(AM_MAKEFLAGS) dist \
733 && rm -rf $(DIST_ARCHIVES) \
734 && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
735 && cd "$$am__cwd" \
736 || exit 1
737 $(am__post_remove_distdir)
738 @(echo "$(distdir) archives ready for distribution: "; \
739 list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
740 sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
741 distuninstallcheck:
742 @test -n '$(distuninstallcheck_dir)' || { \
743 echo 'ERROR: trying to run $@ with an empty' \
744 '$$(distuninstallcheck_dir)' >&2; \
745 exit 1; \
746 }; \
747 $(am__cd) '$(distuninstallcheck_dir)' || { \
748 echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
749 exit 1; \
750 }; \
751 test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
752 || { echo "ERROR: files left after uninstall:" ; \
753 if test -n "$(DESTDIR)"; then \
754 echo " (check DESTDIR support)"; \
755 fi ; \
756 $(distuninstallcheck_listfiles) ; \
757 exit 1; } >&2
758 distcleancheck: distclean
759 @if test '$(srcdir)' = . ; then \
760 echo "ERROR: distcleancheck can only run from a VPATH build" ; \
761 exit 1 ; \
762 fi
763 @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
764 || { echo "ERROR: files left in build directory after distclean:" ; \
765 $(distcleancheck_listfiles) ; \
766 exit 1; } >&2
767 check-am: all-am
768 check: check-recursive
769 all-am: Makefile $(DATA) htp_config_auto_gen.h
770 installdirs: installdirs-recursive
771 installdirs-am:
772 for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
773 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
774 done
775 install: install-recursive
776 install-exec: install-exec-recursive
777 install-data: install-data-recursive
778 uninstall: uninstall-recursive
779
780 install-am: all-am
781 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
782
783 installcheck: installcheck-recursive
784 install-strip:
785 if test -z '$(STRIP)'; then \
786 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
787 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
788 install; \
789 else \
790 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
791 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
792 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
793 fi
794 mostlyclean-generic:
795
796 clean-generic:
797
798 distclean-generic:
799 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
800 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
801
802 maintainer-clean-generic:
803 @echo "This command is intended for maintainers to use"
804 @echo "it deletes files that may require special tools to rebuild."
805 clean: clean-recursive
806
807 clean-am: clean-generic clean-libtool clean-local mostlyclean-am
808
809 distclean: distclean-recursive
810 -rm -f $(am__CONFIG_DISTCLEAN_FILES)
811 -rm -f Makefile
812 distclean-am: clean-am distclean-generic distclean-hdr \
813 distclean-libtool distclean-tags
814
815 dvi: dvi-recursive
816
817 dvi-am:
818
819 html: html-recursive
820
821 html-am:
822
823 info: info-recursive
824
825 info-am:
826
827 install-data-am: install-pkgconfigDATA
828
829 install-dvi: install-dvi-recursive
830
831 install-dvi-am:
832
833 install-exec-am:
834
835 install-html: install-html-recursive
836
837 install-html-am:
838
839 install-info: install-info-recursive
840
841 install-info-am:
842
843 install-man:
844
845 install-pdf: install-pdf-recursive
846
847 install-pdf-am:
848
849 install-ps: install-ps-recursive
850
851 install-ps-am:
852
853 installcheck-am:
854
855 maintainer-clean: maintainer-clean-recursive
856 -rm -f $(am__CONFIG_DISTCLEAN_FILES)
857 -rm -rf $(top_srcdir)/autom4te.cache
858 -rm -f Makefile
859 maintainer-clean-am: distclean-am maintainer-clean-generic
860
861 mostlyclean: mostlyclean-recursive
862
863 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
864
865 pdf: pdf-recursive
866
867 pdf-am:
868
869 ps: ps-recursive
870
871 ps-am:
872
873 uninstall-am: uninstall-pkgconfigDATA
874
875 .MAKE: $(am__recursive_targets) all install-am install-strip
876
877 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
878 am--refresh check check-am clean clean-cscope clean-generic \
879 clean-libtool clean-local cscope cscopelist-am ctags ctags-am \
880 dist dist-all dist-bzip2 dist-gzip dist-lzip dist-shar \
881 dist-tarZ dist-xz dist-zip dist-zstd distcheck distclean \
882 distclean-generic distclean-hdr distclean-libtool \
883 distclean-tags distcleancheck distdir distuninstallcheck dvi \
884 dvi-am html html-am info info-am install install-am \
885 install-data install-data-am install-dvi install-dvi-am \
886 install-exec install-exec-am install-html install-html-am \
887 install-info install-info-am install-man install-pdf \
888 install-pdf-am install-pkgconfigDATA install-ps install-ps-am \
889 install-strip installcheck installcheck-am installdirs \
890 installdirs-am maintainer-clean maintainer-clean-generic \
891 mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
892 ps ps-am tags tags-am uninstall uninstall-am \
893 uninstall-pkgconfigDATA
894
895 .PRECIOUS: Makefile
896
897
898 test: all
899 @(cd test && $(MAKE) $@)
900
901 test-compile-only: all
902 @(cd test && $(MAKE) $@)
903
904 check-compile-only: all
905 @(cd test && $(MAKE) $@)
906
907 doxygen doxygen-pdf:
908 @(cd docs && $(MAKE) $@)
909
910 gcov: test
911 @ if [[ -x $(LCOV) ]]; then \
912 lcov --capture --directory $(top_builddir)/htp/ --output-file $(top_builddir)/test/coverage.info --no-external ; \
913 genhtml $(top_builddir)/test/coverage.info --output-directory $(top_builddir)/docs/lcov ; \
914 echo "" ; \
915 echo "Open docs/lcov/index.html to review lcov output" ; \
916 fi
917
918 clean-local:
919 rm -rf $(top_builddir)/docs/doxygen
920 rm -rf $(top_builddir)/docs/lcov
921 find $(top_builddir) -type f \( -name '*.gcda' -o -name '*.gcno' -o -name '*.gcov' \) -exec rm '{}' ';'
922
923 # Tell versions [3.59,3.63) of GNU make to not export all variables.
924 # Otherwise a system limit (for SysV at least) may be exceeded.
925 .NOEXPORT:
00 # This file is intended to be sourced by sh
1 PKG_VERSION=0.5.36
1 PKG_VERSION=0.5.37
0 # generated automatically by aclocal 1.16.3 -*- Autoconf -*-
1
2 # Copyright (C) 1996-2020 Free Software Foundation, Inc.
3
4 # This file is free software; the Free Software Foundation
5 # gives unlimited permission to copy and/or distribute it,
6 # with or without modifications, as long as this notice is preserved.
7
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
10 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
11 # PARTICULAR PURPOSE.
12
13 m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
14 m4_ifndef([AC_AUTOCONF_VERSION],
15 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
16 m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
17 [m4_warning([this file was generated for autoconf 2.69.
18 You have another version of autoconf. It may work, but is not guaranteed to.
19 If you have problems, you may need to regenerate the build system entirely.
20 To do so, use the procedure documented by the package, typically 'autoreconf'.])])
21
22 # Copyright (C) 2002-2020 Free Software Foundation, Inc.
23 #
24 # This file is free software; the Free Software Foundation
25 # gives unlimited permission to copy and/or distribute it,
26 # with or without modifications, as long as this notice is preserved.
27
28 # AM_AUTOMAKE_VERSION(VERSION)
29 # ----------------------------
30 # Automake X.Y traces this macro to ensure aclocal.m4 has been
31 # generated from the m4 files accompanying Automake X.Y.
32 # (This private macro should not be called outside this file.)
33 AC_DEFUN([AM_AUTOMAKE_VERSION],
34 [am__api_version='1.16'
35 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
36 dnl require some minimum version. Point them to the right macro.
37 m4_if([$1], [1.16.3], [],
38 [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
39 ])
40
41 # _AM_AUTOCONF_VERSION(VERSION)
42 # -----------------------------
43 # aclocal traces this macro to find the Autoconf version.
44 # This is a private macro too. Using m4_define simplifies
45 # the logic in aclocal, which can simply ignore this definition.
46 m4_define([_AM_AUTOCONF_VERSION], [])
47
48 # AM_SET_CURRENT_AUTOMAKE_VERSION
49 # -------------------------------
50 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
51 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
52 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
53 [AM_AUTOMAKE_VERSION([1.16.3])dnl
54 m4_ifndef([AC_AUTOCONF_VERSION],
55 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
56 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
57
58 # AM_AUX_DIR_EXPAND -*- Autoconf -*-
59
60 # Copyright (C) 2001-2020 Free Software Foundation, Inc.
61 #
62 # This file is free software; the Free Software Foundation
63 # gives unlimited permission to copy and/or distribute it,
64 # with or without modifications, as long as this notice is preserved.
65
66 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
67 # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
68 # '$srcdir', '$srcdir/..', or '$srcdir/../..'.
69 #
70 # Of course, Automake must honor this variable whenever it calls a
71 # tool from the auxiliary directory. The problem is that $srcdir (and
72 # therefore $ac_aux_dir as well) can be either absolute or relative,
73 # depending on how configure is run. This is pretty annoying, since
74 # it makes $ac_aux_dir quite unusable in subdirectories: in the top
75 # source directory, any form will work fine, but in subdirectories a
76 # relative path needs to be adjusted first.
77 #
78 # $ac_aux_dir/missing
79 # fails when called from a subdirectory if $ac_aux_dir is relative
80 # $top_srcdir/$ac_aux_dir/missing
81 # fails if $ac_aux_dir is absolute,
82 # fails when called from a subdirectory in a VPATH build with
83 # a relative $ac_aux_dir
84 #
85 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
86 # are both prefixed by $srcdir. In an in-source build this is usually
87 # harmless because $srcdir is '.', but things will broke when you
88 # start a VPATH build or use an absolute $srcdir.
89 #
90 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
91 # iff we strip the leading $srcdir from $ac_aux_dir. That would be:
92 # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
93 # and then we would define $MISSING as
94 # MISSING="\${SHELL} $am_aux_dir/missing"
95 # This will work as long as MISSING is not called from configure, because
96 # unfortunately $(top_srcdir) has no meaning in configure.
97 # However there are other variables, like CC, which are often used in
98 # configure, and could therefore not use this "fixed" $ac_aux_dir.
99 #
100 # Another solution, used here, is to always expand $ac_aux_dir to an
101 # absolute PATH. The drawback is that using absolute paths prevent a
102 # configured tree to be moved without reconfiguration.
103
104 AC_DEFUN([AM_AUX_DIR_EXPAND],
105 [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
106 # Expand $ac_aux_dir to an absolute path.
107 am_aux_dir=`cd "$ac_aux_dir" && pwd`
108 ])
109
110 # AM_CONDITIONAL -*- Autoconf -*-
111
112 # Copyright (C) 1997-2020 Free Software Foundation, Inc.
113 #
114 # This file is free software; the Free Software Foundation
115 # gives unlimited permission to copy and/or distribute it,
116 # with or without modifications, as long as this notice is preserved.
117
118 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
119 # -------------------------------------
120 # Define a conditional.
121 AC_DEFUN([AM_CONDITIONAL],
122 [AC_PREREQ([2.52])dnl
123 m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
124 [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
125 AC_SUBST([$1_TRUE])dnl
126 AC_SUBST([$1_FALSE])dnl
127 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
128 _AM_SUBST_NOTMAKE([$1_FALSE])dnl
129 m4_define([_AM_COND_VALUE_$1], [$2])dnl
130 if $2; then
131 $1_TRUE=
132 $1_FALSE='#'
133 else
134 $1_TRUE='#'
135 $1_FALSE=
136 fi
137 AC_CONFIG_COMMANDS_PRE(
138 [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
139 AC_MSG_ERROR([[conditional "$1" was never defined.
140 Usually this means the macro was only invoked conditionally.]])
141 fi])])
142
143 # Copyright (C) 1999-2020 Free Software Foundation, Inc.
144 #
145 # This file is free software; the Free Software Foundation
146 # gives unlimited permission to copy and/or distribute it,
147 # with or without modifications, as long as this notice is preserved.
148
149
150 # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
151 # written in clear, in which case automake, when reading aclocal.m4,
152 # will think it sees a *use*, and therefore will trigger all it's
153 # C support machinery. Also note that it means that autoscan, seeing
154 # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
155
156
157 # _AM_DEPENDENCIES(NAME)
158 # ----------------------
159 # See how the compiler implements dependency checking.
160 # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
161 # We try a few techniques and use that to set a single cache variable.
162 #
163 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
164 # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
165 # dependency, and given that the user is not expected to run this macro,
166 # just rely on AC_PROG_CC.
167 AC_DEFUN([_AM_DEPENDENCIES],
168 [AC_REQUIRE([AM_SET_DEPDIR])dnl
169 AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
170 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
171 AC_REQUIRE([AM_DEP_TRACK])dnl
172
173 m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
174 [$1], [CXX], [depcc="$CXX" am_compiler_list=],
175 [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
176 [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
177 [$1], [UPC], [depcc="$UPC" am_compiler_list=],
178 [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
179 [depcc="$$1" am_compiler_list=])
180
181 AC_CACHE_CHECK([dependency style of $depcc],
182 [am_cv_$1_dependencies_compiler_type],
183 [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
184 # We make a subdir and do the tests there. Otherwise we can end up
185 # making bogus files that we don't know about and never remove. For
186 # instance it was reported that on HP-UX the gcc test will end up
187 # making a dummy file named 'D' -- because '-MD' means "put the output
188 # in D".
189 rm -rf conftest.dir
190 mkdir conftest.dir
191 # Copy depcomp to subdir because otherwise we won't find it if we're
192 # using a relative directory.
193 cp "$am_depcomp" conftest.dir
194 cd conftest.dir
195 # We will build objects and dependencies in a subdirectory because
196 # it helps to detect inapplicable dependency modes. For instance
197 # both Tru64's cc and ICC support -MD to output dependencies as a
198 # side effect of compilation, but ICC will put the dependencies in
199 # the current directory while Tru64 will put them in the object
200 # directory.
201 mkdir sub
202
203 am_cv_$1_dependencies_compiler_type=none
204 if test "$am_compiler_list" = ""; then
205 am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
206 fi
207 am__universal=false
208 m4_case([$1], [CC],
209 [case " $depcc " in #(
210 *\ -arch\ *\ -arch\ *) am__universal=true ;;
211 esac],
212 [CXX],
213 [case " $depcc " in #(
214 *\ -arch\ *\ -arch\ *) am__universal=true ;;
215 esac])
216
217 for depmode in $am_compiler_list; do
218 # Setup a source with many dependencies, because some compilers
219 # like to wrap large dependency lists on column 80 (with \), and
220 # we should not choose a depcomp mode which is confused by this.
221 #
222 # We need to recreate these files for each test, as the compiler may
223 # overwrite some of them when testing with obscure command lines.
224 # This happens at least with the AIX C compiler.
225 : > sub/conftest.c
226 for i in 1 2 3 4 5 6; do
227 echo '#include "conftst'$i'.h"' >> sub/conftest.c
228 # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
229 # Solaris 10 /bin/sh.
230 echo '/* dummy */' > sub/conftst$i.h
231 done
232 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
233
234 # We check with '-c' and '-o' for the sake of the "dashmstdout"
235 # mode. It turns out that the SunPro C++ compiler does not properly
236 # handle '-M -o', and we need to detect this. Also, some Intel
237 # versions had trouble with output in subdirs.
238 am__obj=sub/conftest.${OBJEXT-o}
239 am__minus_obj="-o $am__obj"
240 case $depmode in
241 gcc)
242 # This depmode causes a compiler race in universal mode.
243 test "$am__universal" = false || continue
244 ;;
245 nosideeffect)
246 # After this tag, mechanisms are not by side-effect, so they'll
247 # only be used when explicitly requested.
248 if test "x$enable_dependency_tracking" = xyes; then
249 continue
250 else
251 break
252 fi
253 ;;
254 msvc7 | msvc7msys | msvisualcpp | msvcmsys)
255 # This compiler won't grok '-c -o', but also, the minuso test has
256 # not run yet. These depmodes are late enough in the game, and
257 # so weak that their functioning should not be impacted.
258 am__obj=conftest.${OBJEXT-o}
259 am__minus_obj=
260 ;;
261 none) break ;;
262 esac
263 if depmode=$depmode \
264 source=sub/conftest.c object=$am__obj \
265 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
266 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
267 >/dev/null 2>conftest.err &&
268 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
269 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
270 grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
271 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
272 # icc doesn't choke on unknown options, it will just issue warnings
273 # or remarks (even with -Werror). So we grep stderr for any message
274 # that says an option was ignored or not supported.
275 # When given -MP, icc 7.0 and 7.1 complain thusly:
276 # icc: Command line warning: ignoring option '-M'; no argument required
277 # The diagnosis changed in icc 8.0:
278 # icc: Command line remark: option '-MP' not supported
279 if (grep 'ignoring option' conftest.err ||
280 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
281 am_cv_$1_dependencies_compiler_type=$depmode
282 break
283 fi
284 fi
285 done
286
287 cd ..
288 rm -rf conftest.dir
289 else
290 am_cv_$1_dependencies_compiler_type=none
291 fi
292 ])
293 AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
294 AM_CONDITIONAL([am__fastdep$1], [
295 test "x$enable_dependency_tracking" != xno \
296 && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
297 ])
298
299
300 # AM_SET_DEPDIR
301 # -------------
302 # Choose a directory name for dependency files.
303 # This macro is AC_REQUIREd in _AM_DEPENDENCIES.
304 AC_DEFUN([AM_SET_DEPDIR],
305 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
306 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
307 ])
308
309
310 # AM_DEP_TRACK
311 # ------------
312 AC_DEFUN([AM_DEP_TRACK],
313 [AC_ARG_ENABLE([dependency-tracking], [dnl
314 AS_HELP_STRING(
315 [--enable-dependency-tracking],
316 [do not reject slow dependency extractors])
317 AS_HELP_STRING(
318 [--disable-dependency-tracking],
319 [speeds up one-time build])])
320 if test "x$enable_dependency_tracking" != xno; then
321 am_depcomp="$ac_aux_dir/depcomp"
322 AMDEPBACKSLASH='\'
323 am__nodep='_no'
324 fi
325 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
326 AC_SUBST([AMDEPBACKSLASH])dnl
327 _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
328 AC_SUBST([am__nodep])dnl
329 _AM_SUBST_NOTMAKE([am__nodep])dnl
330 ])
331
332 # Generate code to set up dependency tracking. -*- Autoconf -*-
333
334 # Copyright (C) 1999-2020 Free Software Foundation, Inc.
335 #
336 # This file is free software; the Free Software Foundation
337 # gives unlimited permission to copy and/or distribute it,
338 # with or without modifications, as long as this notice is preserved.
339
340 # _AM_OUTPUT_DEPENDENCY_COMMANDS
341 # ------------------------------
342 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
343 [{
344 # Older Autoconf quotes --file arguments for eval, but not when files
345 # are listed without --file. Let's play safe and only enable the eval
346 # if we detect the quoting.
347 # TODO: see whether this extra hack can be removed once we start
348 # requiring Autoconf 2.70 or later.
349 AS_CASE([$CONFIG_FILES],
350 [*\'*], [eval set x "$CONFIG_FILES"],
351 [*], [set x $CONFIG_FILES])
352 shift
353 # Used to flag and report bootstrapping failures.
354 am_rc=0
355 for am_mf
356 do
357 # Strip MF so we end up with the name of the file.
358 am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
359 # Check whether this is an Automake generated Makefile which includes
360 # dependency-tracking related rules and includes.
361 # Grep'ing the whole file directly is not great: AIX grep has a line
362 # limit of 2048, but all sed's we know have understand at least 4000.
363 sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
364 || continue
365 am_dirpart=`AS_DIRNAME(["$am_mf"])`
366 am_filepart=`AS_BASENAME(["$am_mf"])`
367 AM_RUN_LOG([cd "$am_dirpart" \
368 && sed -e '/# am--include-marker/d' "$am_filepart" \
369 | $MAKE -f - am--depfiles]) || am_rc=$?
370 done
371 if test $am_rc -ne 0; then
372 AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
373 for automatic dependency tracking. If GNU make was not used, consider
374 re-running the configure script with MAKE="gmake" (or whatever is
375 necessary). You can also try re-running configure with the
376 '--disable-dependency-tracking' option to at least be able to build
377 the package (albeit without support for automatic dependency tracking).])
378 fi
379 AS_UNSET([am_dirpart])
380 AS_UNSET([am_filepart])
381 AS_UNSET([am_mf])
382 AS_UNSET([am_rc])
383 rm -f conftest-deps.mk
384 }
385 ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
386
387
388 # AM_OUTPUT_DEPENDENCY_COMMANDS
389 # -----------------------------
390 # This macro should only be invoked once -- use via AC_REQUIRE.
391 #
392 # This code is only required when automatic dependency tracking is enabled.
393 # This creates each '.Po' and '.Plo' makefile fragment that we'll need in
394 # order to bootstrap the dependency handling code.
395 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
396 [AC_CONFIG_COMMANDS([depfiles],
397 [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
398 [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
399
400 # Do all the work for Automake. -*- Autoconf -*-
401
402 # Copyright (C) 1996-2020 Free Software Foundation, Inc.
403 #
404 # This file is free software; the Free Software Foundation
405 # gives unlimited permission to copy and/or distribute it,
406 # with or without modifications, as long as this notice is preserved.
407
408 # This macro actually does too much. Some checks are only needed if
409 # your package does certain things. But this isn't really a big deal.
410
411 dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
412 m4_define([AC_PROG_CC],
413 m4_defn([AC_PROG_CC])
414 [_AM_PROG_CC_C_O
415 ])
416
417 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
418 # AM_INIT_AUTOMAKE([OPTIONS])
419 # -----------------------------------------------
420 # The call with PACKAGE and VERSION arguments is the old style
421 # call (pre autoconf-2.50), which is being phased out. PACKAGE
422 # and VERSION should now be passed to AC_INIT and removed from
423 # the call to AM_INIT_AUTOMAKE.
424 # We support both call styles for the transition. After
425 # the next Automake release, Autoconf can make the AC_INIT
426 # arguments mandatory, and then we can depend on a new Autoconf
427 # release and drop the old call support.
428 AC_DEFUN([AM_INIT_AUTOMAKE],
429 [AC_PREREQ([2.65])dnl
430 dnl Autoconf wants to disallow AM_ names. We explicitly allow
431 dnl the ones we care about.
432 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
433 AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
434 AC_REQUIRE([AC_PROG_INSTALL])dnl
435 if test "`cd $srcdir && pwd`" != "`pwd`"; then
436 # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
437 # is not polluted with repeated "-I."
438 AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
439 # test to see if srcdir already configured
440 if test -f $srcdir/config.status; then
441 AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
442 fi
443 fi
444
445 # test whether we have cygpath
446 if test -z "$CYGPATH_W"; then
447 if (cygpath --version) >/dev/null 2>/dev/null; then
448 CYGPATH_W='cygpath -w'
449 else
450 CYGPATH_W=echo
451 fi
452 fi
453 AC_SUBST([CYGPATH_W])
454
455 # Define the identity of the package.
456 dnl Distinguish between old-style and new-style calls.
457 m4_ifval([$2],
458 [AC_DIAGNOSE([obsolete],
459 [$0: two- and three-arguments forms are deprecated.])
460 m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
461 AC_SUBST([PACKAGE], [$1])dnl
462 AC_SUBST([VERSION], [$2])],
463 [_AM_SET_OPTIONS([$1])dnl
464 dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
465 m4_if(
466 m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
467 [ok:ok],,
468 [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
469 AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
470 AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
471
472 _AM_IF_OPTION([no-define],,
473 [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
474 AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
475
476 # Some tools Automake needs.
477 AC_REQUIRE([AM_SANITY_CHECK])dnl
478 AC_REQUIRE([AC_ARG_PROGRAM])dnl
479 AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
480 AM_MISSING_PROG([AUTOCONF], [autoconf])
481 AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
482 AM_MISSING_PROG([AUTOHEADER], [autoheader])
483 AM_MISSING_PROG([MAKEINFO], [makeinfo])
484 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
485 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
486 AC_REQUIRE([AC_PROG_MKDIR_P])dnl
487 # For better backward compatibility. To be removed once Automake 1.9.x
488 # dies out for good. For more background, see:
489 # <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
490 # <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
491 AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
492 # We need awk for the "check" target (and possibly the TAP driver). The
493 # system "awk" is bad on some platforms.
494 AC_REQUIRE([AC_PROG_AWK])dnl
495 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
496 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
497 _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
498 [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
499 [_AM_PROG_TAR([v7])])])
500 _AM_IF_OPTION([no-dependencies],,
501 [AC_PROVIDE_IFELSE([AC_PROG_CC],
502 [_AM_DEPENDENCIES([CC])],
503 [m4_define([AC_PROG_CC],
504 m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
505 AC_PROVIDE_IFELSE([AC_PROG_CXX],
506 [_AM_DEPENDENCIES([CXX])],
507 [m4_define([AC_PROG_CXX],
508 m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
509 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
510 [_AM_DEPENDENCIES([OBJC])],
511 [m4_define([AC_PROG_OBJC],
512 m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
513 AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
514 [_AM_DEPENDENCIES([OBJCXX])],
515 [m4_define([AC_PROG_OBJCXX],
516 m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
517 ])
518 AC_REQUIRE([AM_SILENT_RULES])dnl
519 dnl The testsuite driver may need to know about EXEEXT, so add the
520 dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
521 dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
522 AC_CONFIG_COMMANDS_PRE(dnl
523 [m4_provide_if([_AM_COMPILER_EXEEXT],
524 [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
525
526 # POSIX will say in a future version that running "rm -f" with no argument
527 # is OK; and we want to be able to make that assumption in our Makefile
528 # recipes. So use an aggressive probe to check that the usage we want is
529 # actually supported "in the wild" to an acceptable degree.
530 # See automake bug#10828.
531 # To make any issue more visible, cause the running configure to be aborted
532 # by default if the 'rm' program in use doesn't match our expectations; the
533 # user can still override this though.
534 if rm -f && rm -fr && rm -rf; then : OK; else
535 cat >&2 <<'END'
536 Oops!
537
538 Your 'rm' program seems unable to run without file operands specified
539 on the command line, even when the '-f' option is present. This is contrary
540 to the behaviour of most rm programs out there, and not conforming with
541 the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
542
543 Please tell bug-automake@gnu.org about your system, including the value
544 of your $PATH and any error possibly output before this message. This
545 can help us improve future automake versions.
546
547 END
548 if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
549 echo 'Configuration will proceed anyway, since you have set the' >&2
550 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
551 echo >&2
552 else
553 cat >&2 <<'END'
554 Aborting the configuration process, to ensure you take notice of the issue.
555
556 You can download and install GNU coreutils to get an 'rm' implementation
557 that behaves properly: <https://www.gnu.org/software/coreutils/>.
558
559 If you want to complete the configuration process using your problematic
560 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
561 to "yes", and re-run configure.
562
563 END
564 AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
565 fi
566 fi
567 dnl The trailing newline in this macro's definition is deliberate, for
568 dnl backward compatibility and to allow trailing 'dnl'-style comments
569 dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
570 ])
571
572 dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
573 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
574 dnl mangled by Autoconf and run in a shell conditional statement.
575 m4_define([_AC_COMPILER_EXEEXT],
576 m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
577
578 # When config.status generates a header, we must update the stamp-h file.
579 # This file resides in the same directory as the config header
580 # that is generated. The stamp files are numbered to have different names.
581
582 # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
583 # loop where config.status creates the headers, so we can generate
584 # our stamp files there.
585 AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
586 [# Compute $1's index in $config_headers.
587 _am_arg=$1
588 _am_stamp_count=1
589 for _am_header in $config_headers :; do
590 case $_am_header in
591 $_am_arg | $_am_arg:* )
592 break ;;
593 * )
594 _am_stamp_count=`expr $_am_stamp_count + 1` ;;
595 esac
596 done
597 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
598
599 # Copyright (C) 2001-2020 Free Software Foundation, Inc.
600 #
601 # This file is free software; the Free Software Foundation
602 # gives unlimited permission to copy and/or distribute it,
603 # with or without modifications, as long as this notice is preserved.
604
605 # AM_PROG_INSTALL_SH
606 # ------------------
607 # Define $install_sh.
608 AC_DEFUN([AM_PROG_INSTALL_SH],
609 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
610 if test x"${install_sh+set}" != xset; then
611 case $am_aux_dir in
612 *\ * | *\ *)
613 install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
614 *)
615 install_sh="\${SHELL} $am_aux_dir/install-sh"
616 esac
617 fi
618 AC_SUBST([install_sh])])
619
620 # Copyright (C) 2003-2020 Free Software Foundation, Inc.
621 #
622 # This file is free software; the Free Software Foundation
623 # gives unlimited permission to copy and/or distribute it,
624 # with or without modifications, as long as this notice is preserved.
625
626 # Check whether the underlying file-system supports filenames
627 # with a leading dot. For instance MS-DOS doesn't.
628 AC_DEFUN([AM_SET_LEADING_DOT],
629 [rm -rf .tst 2>/dev/null
630 mkdir .tst 2>/dev/null
631 if test -d .tst; then
632 am__leading_dot=.
633 else
634 am__leading_dot=_
635 fi
636 rmdir .tst 2>/dev/null
637 AC_SUBST([am__leading_dot])])
638
639 # Check to see how 'make' treats includes. -*- Autoconf -*-
640
641 # Copyright (C) 2001-2020 Free Software Foundation, Inc.
642 #
643 # This file is free software; the Free Software Foundation
644 # gives unlimited permission to copy and/or distribute it,
645 # with or without modifications, as long as this notice is preserved.
646
647 # AM_MAKE_INCLUDE()
648 # -----------------
649 # Check whether make has an 'include' directive that can support all
650 # the idioms we need for our automatic dependency tracking code.
651 AC_DEFUN([AM_MAKE_INCLUDE],
652 [AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
653 cat > confinc.mk << 'END'
654 am__doit:
655 @echo this is the am__doit target >confinc.out
656 .PHONY: am__doit
657 END
658 am__include="#"
659 am__quote=
660 # BSD make does it like this.
661 echo '.include "confinc.mk" # ignored' > confmf.BSD
662 # Other make implementations (GNU, Solaris 10, AIX) do it like this.
663 echo 'include confinc.mk # ignored' > confmf.GNU
664 _am_result=no
665 for s in GNU BSD; do
666 AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
667 AS_CASE([$?:`cat confinc.out 2>/dev/null`],
668 ['0:this is the am__doit target'],
669 [AS_CASE([$s],
670 [BSD], [am__include='.include' am__quote='"'],
671 [am__include='include' am__quote=''])])
672 if test "$am__include" != "#"; then
673 _am_result="yes ($s style)"
674 break
675 fi
676 done
677 rm -f confinc.* confmf.*
678 AC_MSG_RESULT([${_am_result}])
679 AC_SUBST([am__include])])
680 AC_SUBST([am__quote])])
681
682 # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
683
684 # Copyright (C) 1997-2020 Free Software Foundation, Inc.
685 #
686 # This file is free software; the Free Software Foundation
687 # gives unlimited permission to copy and/or distribute it,
688 # with or without modifications, as long as this notice is preserved.
689
690 # AM_MISSING_PROG(NAME, PROGRAM)
691 # ------------------------------
692 AC_DEFUN([AM_MISSING_PROG],
693 [AC_REQUIRE([AM_MISSING_HAS_RUN])
694 $1=${$1-"${am_missing_run}$2"}
695 AC_SUBST($1)])
696
697 # AM_MISSING_HAS_RUN
698 # ------------------
699 # Define MISSING if not defined so far and test if it is modern enough.
700 # If it is, set am_missing_run to use it, otherwise, to nothing.
701 AC_DEFUN([AM_MISSING_HAS_RUN],
702 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
703 AC_REQUIRE_AUX_FILE([missing])dnl
704 if test x"${MISSING+set}" != xset; then
705 MISSING="\${SHELL} '$am_aux_dir/missing'"
706 fi
707 # Use eval to expand $SHELL
708 if eval "$MISSING --is-lightweight"; then
709 am_missing_run="$MISSING "
710 else
711 am_missing_run=
712 AC_MSG_WARN(['missing' script is too old or missing])
713 fi
714 ])
715
716 # Helper functions for option handling. -*- Autoconf -*-
717
718 # Copyright (C) 2001-2020 Free Software Foundation, Inc.
719 #
720 # This file is free software; the Free Software Foundation
721 # gives unlimited permission to copy and/or distribute it,
722 # with or without modifications, as long as this notice is preserved.
723
724 # _AM_MANGLE_OPTION(NAME)
725 # -----------------------
726 AC_DEFUN([_AM_MANGLE_OPTION],
727 [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
728
729 # _AM_SET_OPTION(NAME)
730 # --------------------
731 # Set option NAME. Presently that only means defining a flag for this option.
732 AC_DEFUN([_AM_SET_OPTION],
733 [m4_define(_AM_MANGLE_OPTION([$1]), [1])])
734
735 # _AM_SET_OPTIONS(OPTIONS)
736 # ------------------------
737 # OPTIONS is a space-separated list of Automake options.
738 AC_DEFUN([_AM_SET_OPTIONS],
739 [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
740
741 # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
742 # -------------------------------------------
743 # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
744 AC_DEFUN([_AM_IF_OPTION],
745 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
746
747 # Copyright (C) 1999-2020 Free Software Foundation, Inc.
748 #
749 # This file is free software; the Free Software Foundation
750 # gives unlimited permission to copy and/or distribute it,
751 # with or without modifications, as long as this notice is preserved.
752
753 # _AM_PROG_CC_C_O
754 # ---------------
755 # Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
756 # to automatically call this.
757 AC_DEFUN([_AM_PROG_CC_C_O],
758 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
759 AC_REQUIRE_AUX_FILE([compile])dnl
760 AC_LANG_PUSH([C])dnl
761 AC_CACHE_CHECK(
762 [whether $CC understands -c and -o together],
763 [am_cv_prog_cc_c_o],
764 [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
765 # Make sure it works both with $CC and with simple cc.
766 # Following AC_PROG_CC_C_O, we do the test twice because some
767 # compilers refuse to overwrite an existing .o file with -o,
768 # though they will create one.
769 am_cv_prog_cc_c_o=yes
770 for am_i in 1 2; do
771 if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
772 && test -f conftest2.$ac_objext; then
773 : OK
774 else
775 am_cv_prog_cc_c_o=no
776 break
777 fi
778 done
779 rm -f core conftest*
780 unset am_i])
781 if test "$am_cv_prog_cc_c_o" != yes; then
782 # Losing compiler, so override with the script.
783 # FIXME: It is wrong to rewrite CC.
784 # But if we don't then we get into trouble of one sort or another.
785 # A longer-term fix would be to have automake use am__CC in this case,
786 # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
787 CC="$am_aux_dir/compile $CC"
788 fi
789 AC_LANG_POP([C])])
790
791 # For backward compatibility.
792 AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
793
794 # Copyright (C) 2001-2020 Free Software Foundation, Inc.
795 #
796 # This file is free software; the Free Software Foundation
797 # gives unlimited permission to copy and/or distribute it,
798 # with or without modifications, as long as this notice is preserved.
799
800 # AM_RUN_LOG(COMMAND)
801 # -------------------
802 # Run COMMAND, save the exit status in ac_status, and log it.
803 # (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
804 AC_DEFUN([AM_RUN_LOG],
805 [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
806 ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
807 ac_status=$?
808 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
809 (exit $ac_status); }])
810
811 # Check to make sure that the build environment is sane. -*- Autoconf -*-
812
813 # Copyright (C) 1996-2020 Free Software Foundation, Inc.
814 #
815 # This file is free software; the Free Software Foundation
816 # gives unlimited permission to copy and/or distribute it,
817 # with or without modifications, as long as this notice is preserved.
818
819 # AM_SANITY_CHECK
820 # ---------------
821 AC_DEFUN([AM_SANITY_CHECK],
822 [AC_MSG_CHECKING([whether build environment is sane])
823 # Reject unsafe characters in $srcdir or the absolute working directory
824 # name. Accept space and tab only in the latter.
825 am_lf='
826 '
827 case `pwd` in
828 *[[\\\"\#\$\&\'\`$am_lf]]*)
829 AC_MSG_ERROR([unsafe absolute working directory name]);;
830 esac
831 case $srcdir in
832 *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
833 AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
834 esac
835
836 # Do 'set' in a subshell so we don't clobber the current shell's
837 # arguments. Must try -L first in case configure is actually a
838 # symlink; some systems play weird games with the mod time of symlinks
839 # (eg FreeBSD returns the mod time of the symlink's containing
840 # directory).
841 if (
842 am_has_slept=no
843 for am_try in 1 2; do
844 echo "timestamp, slept: $am_has_slept" > conftest.file
845 set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
846 if test "$[*]" = "X"; then
847 # -L didn't work.
848 set X `ls -t "$srcdir/configure" conftest.file`
849 fi
850 if test "$[*]" != "X $srcdir/configure conftest.file" \
851 && test "$[*]" != "X conftest.file $srcdir/configure"; then
852
853 # If neither matched, then we have a broken ls. This can happen
854 # if, for instance, CONFIG_SHELL is bash and it inherits a
855 # broken ls alias from the environment. This has actually
856 # happened. Such a system could not be considered "sane".
857 AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
858 alias in your environment])
859 fi
860 if test "$[2]" = conftest.file || test $am_try -eq 2; then
861 break
862 fi
863 # Just in case.
864 sleep 1
865 am_has_slept=yes
866 done
867 test "$[2]" = conftest.file
868 )
869 then
870 # Ok.
871 :
872 else
873 AC_MSG_ERROR([newly created file is older than distributed files!
874 Check your system clock])
875 fi
876 AC_MSG_RESULT([yes])
877 # If we didn't sleep, we still need to ensure time stamps of config.status and
878 # generated files are strictly newer.
879 am_sleep_pid=
880 if grep 'slept: no' conftest.file >/dev/null 2>&1; then
881 ( sleep 1 ) &
882 am_sleep_pid=$!
883 fi
884 AC_CONFIG_COMMANDS_PRE(
885 [AC_MSG_CHECKING([that generated files are newer than configure])
886 if test -n "$am_sleep_pid"; then
887 # Hide warnings about reused PIDs.
888 wait $am_sleep_pid 2>/dev/null
889 fi
890 AC_MSG_RESULT([done])])
891 rm -f conftest.file
892 ])
893
894 # Copyright (C) 2009-2020 Free Software Foundation, Inc.
895 #
896 # This file is free software; the Free Software Foundation
897 # gives unlimited permission to copy and/or distribute it,
898 # with or without modifications, as long as this notice is preserved.
899
900 # AM_SILENT_RULES([DEFAULT])
901 # --------------------------
902 # Enable less verbose build rules; with the default set to DEFAULT
903 # ("yes" being less verbose, "no" or empty being verbose).
904 AC_DEFUN([AM_SILENT_RULES],
905 [AC_ARG_ENABLE([silent-rules], [dnl
906 AS_HELP_STRING(
907 [--enable-silent-rules],
908 [less verbose build output (undo: "make V=1")])
909 AS_HELP_STRING(
910 [--disable-silent-rules],
911 [verbose build output (undo: "make V=0")])dnl
912 ])
913 case $enable_silent_rules in @%:@ (((
914 yes) AM_DEFAULT_VERBOSITY=0;;
915 no) AM_DEFAULT_VERBOSITY=1;;
916 *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
917 esac
918 dnl
919 dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
920 dnl do not support nested variable expansions.
921 dnl See automake bug#9928 and bug#10237.
922 am_make=${MAKE-make}
923 AC_CACHE_CHECK([whether $am_make supports nested variables],
924 [am_cv_make_support_nested_variables],
925 [if AS_ECHO([['TRUE=$(BAR$(V))
926 BAR0=false
927 BAR1=true
928 V=1
929 am__doit:
930 @$(TRUE)
931 .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
932 am_cv_make_support_nested_variables=yes
933 else
934 am_cv_make_support_nested_variables=no
935 fi])
936 if test $am_cv_make_support_nested_variables = yes; then
937 dnl Using '$V' instead of '$(V)' breaks IRIX make.
938 AM_V='$(V)'
939 AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
940 else
941 AM_V=$AM_DEFAULT_VERBOSITY
942 AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
943 fi
944 AC_SUBST([AM_V])dnl
945 AM_SUBST_NOTMAKE([AM_V])dnl
946 AC_SUBST([AM_DEFAULT_V])dnl
947 AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
948 AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
949 AM_BACKSLASH='\'
950 AC_SUBST([AM_BACKSLASH])dnl
951 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
952 ])
953
954 # Copyright (C) 2001-2020 Free Software Foundation, Inc.
955 #
956 # This file is free software; the Free Software Foundation
957 # gives unlimited permission to copy and/or distribute it,
958 # with or without modifications, as long as this notice is preserved.
959
960 # AM_PROG_INSTALL_STRIP
961 # ---------------------
962 # One issue with vendor 'install' (even GNU) is that you can't
963 # specify the program used to strip binaries. This is especially
964 # annoying in cross-compiling environments, where the build's strip
965 # is unlikely to handle the host's binaries.
966 # Fortunately install-sh will honor a STRIPPROG variable, so we
967 # always use install-sh in "make install-strip", and initialize
968 # STRIPPROG with the value of the STRIP variable (set by the user).
969 AC_DEFUN([AM_PROG_INSTALL_STRIP],
970 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
971 # Installed binaries are usually stripped using 'strip' when the user
972 # run "make install-strip". However 'strip' might not be the right
973 # tool to use in cross-compilation environments, therefore Automake
974 # will honor the 'STRIP' environment variable to overrule this program.
975 dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
976 if test "$cross_compiling" != no; then
977 AC_CHECK_TOOL([STRIP], [strip], :)
978 fi
979 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
980 AC_SUBST([INSTALL_STRIP_PROGRAM])])
981
982 # Copyright (C) 2006-2020 Free Software Foundation, Inc.
983 #
984 # This file is free software; the Free Software Foundation
985 # gives unlimited permission to copy and/or distribute it,
986 # with or without modifications, as long as this notice is preserved.
987
988 # _AM_SUBST_NOTMAKE(VARIABLE)
989 # ---------------------------
990 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
991 # This macro is traced by Automake.
992 AC_DEFUN([_AM_SUBST_NOTMAKE])
993
994 # AM_SUBST_NOTMAKE(VARIABLE)
995 # --------------------------
996 # Public sister of _AM_SUBST_NOTMAKE.
997 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
998
999 # Check how to create a tarball. -*- Autoconf -*-
1000
1001 # Copyright (C) 2004-2020 Free Software Foundation, Inc.
1002 #
1003 # This file is free software; the Free Software Foundation
1004 # gives unlimited permission to copy and/or distribute it,
1005 # with or without modifications, as long as this notice is preserved.
1006
1007 # _AM_PROG_TAR(FORMAT)
1008 # --------------------
1009 # Check how to create a tarball in format FORMAT.
1010 # FORMAT should be one of 'v7', 'ustar', or 'pax'.
1011 #
1012 # Substitute a variable $(am__tar) that is a command
1013 # writing to stdout a FORMAT-tarball containing the directory
1014 # $tardir.
1015 # tardir=directory && $(am__tar) > result.tar
1016 #
1017 # Substitute a variable $(am__untar) that extract such
1018 # a tarball read from stdin.
1019 # $(am__untar) < result.tar
1020 #
1021 AC_DEFUN([_AM_PROG_TAR],
1022 [# Always define AMTAR for backward compatibility. Yes, it's still used
1023 # in the wild :-( We should find a proper way to deprecate it ...
1024 AC_SUBST([AMTAR], ['$${TAR-tar}'])
1025
1026 # We'll loop over all known methods to create a tar archive until one works.
1027 _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
1028
1029 m4_if([$1], [v7],
1030 [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
1031
1032 [m4_case([$1],
1033 [ustar],
1034 [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
1035 # There is notably a 21 bits limit for the UID and the GID. In fact,
1036 # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
1037 # and bug#13588).
1038 am_max_uid=2097151 # 2^21 - 1
1039 am_max_gid=$am_max_uid
1040 # The $UID and $GID variables are not portable, so we need to resort
1041 # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
1042 # below are definitely unexpected, so allow the users to see them
1043 # (that is, avoid stderr redirection).
1044 am_uid=`id -u || echo unknown`
1045 am_gid=`id -g || echo unknown`
1046 AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
1047 if test $am_uid -le $am_max_uid; then
1048 AC_MSG_RESULT([yes])
1049 else
1050 AC_MSG_RESULT([no])
1051 _am_tools=none
1052 fi
1053 AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
1054 if test $am_gid -le $am_max_gid; then
1055 AC_MSG_RESULT([yes])
1056 else
1057 AC_MSG_RESULT([no])
1058 _am_tools=none
1059 fi],
1060
1061 [pax],
1062 [],
1063
1064 [m4_fatal([Unknown tar format])])
1065
1066 AC_MSG_CHECKING([how to create a $1 tar archive])
1067
1068 # Go ahead even if we have the value already cached. We do so because we
1069 # need to set the values for the 'am__tar' and 'am__untar' variables.
1070 _am_tools=${am_cv_prog_tar_$1-$_am_tools}
1071
1072 for _am_tool in $_am_tools; do
1073 case $_am_tool in
1074 gnutar)
1075 for _am_tar in tar gnutar gtar; do
1076 AM_RUN_LOG([$_am_tar --version]) && break
1077 done
1078 am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
1079 am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
1080 am__untar="$_am_tar -xf -"
1081 ;;
1082 plaintar)
1083 # Must skip GNU tar: if it does not support --format= it doesn't create
1084 # ustar tarball either.
1085 (tar --version) >/dev/null 2>&1 && continue
1086 am__tar='tar chf - "$$tardir"'
1087 am__tar_='tar chf - "$tardir"'
1088 am__untar='tar xf -'
1089 ;;
1090 pax)
1091 am__tar='pax -L -x $1 -w "$$tardir"'
1092 am__tar_='pax -L -x $1 -w "$tardir"'
1093 am__untar='pax -r'
1094 ;;
1095 cpio)
1096 am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
1097 am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
1098 am__untar='cpio -i -H $1 -d'
1099 ;;
1100 none)
1101 am__tar=false
1102 am__tar_=false
1103 am__untar=false
1104 ;;
1105 esac
1106
1107 # If the value was cached, stop now. We just wanted to have am__tar
1108 # and am__untar set.
1109 test -n "${am_cv_prog_tar_$1}" && break
1110
1111 # tar/untar a dummy directory, and stop if the command works.
1112 rm -rf conftest.dir
1113 mkdir conftest.dir
1114 echo GrepMe > conftest.dir/file
1115 AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
1116 rm -rf conftest.dir
1117 if test -s conftest.tar; then
1118 AM_RUN_LOG([$am__untar <conftest.tar])
1119 AM_RUN_LOG([cat conftest.dir/file])
1120 grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
1121 fi
1122 done
1123 rm -rf conftest.dir
1124
1125 AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
1126 AC_MSG_RESULT([$am_cv_prog_tar_$1])])
1127
1128 AC_SUBST([am__tar])
1129 AC_SUBST([am__untar])
1130 ]) # _AM_PROG_TAR
1131
1132 m4_include([m4/libtool.m4])
1133 m4_include([m4/ltoptions.m4])
1134 m4_include([m4/ltsugar.m4])
1135 m4_include([m4/ltversion.m4])
1136 m4_include([m4/lt~obsolete.m4])
+0
-18
appveyor.yml less more
0 environment:
1 matrix:
2 - COMPILER: mingw-w64
3 MINGW_DIR: c:\msys64\mingw64
4 MINGW_ARCH: x86_64
5
6 - COMPILER: mingw
7 MINGW_DIR: c:\msys64\mingw32
8 MINGW_ARCH: i686
9
10 build_script:
11 - set Path=%MINGW_DIR%\bin;c:\msys64\usr\bin;%Path%
12 - bash autogen.sh
13 - bash configure
14 - make distcheck
15
16 #on_finish:
17 # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
+0
-7
autogen.sh less more
0 #!/bin/sh
1
2 # Cleanup
3 rm -rf autom4te.cache
4
5 # Generate
6 autoreconf -i -f -v
0 #! /bin/sh
1 # Wrapper for compilers which do not understand '-c -o'.
2
3 scriptversion=2018-03-07.03; # UTC
4
5 # Copyright (C) 1999-2020 Free Software Foundation, Inc.
6 # Written by Tom Tromey <tromey@cygnus.com>.
7 #
8 # This program is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2, or (at your option)
11 # any later version.
12 #
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
17 #
18 # You should have received a copy of the GNU General Public License
19 # along with this program. If not, see <https://www.gnu.org/licenses/>.
20
21 # As a special exception to the GNU General Public License, if you
22 # distribute this file as part of a program that contains a
23 # configuration script generated by Autoconf, you may include it under
24 # the same distribution terms that you use for the rest of that program.
25
26 # This file is maintained in Automake, please report
27 # bugs to <bug-automake@gnu.org> or send patches to
28 # <automake-patches@gnu.org>.
29
30 nl='
31 '
32
33 # We need space, tab and new line, in precisely that order. Quoting is
34 # there to prevent tools from complaining about whitespace usage.
35 IFS=" "" $nl"
36
37 file_conv=
38
39 # func_file_conv build_file lazy
40 # Convert a $build file to $host form and store it in $file
41 # Currently only supports Windows hosts. If the determined conversion
42 # type is listed in (the comma separated) LAZY, no conversion will
43 # take place.
44 func_file_conv ()
45 {
46 file=$1
47 case $file in
48 / | /[!/]*) # absolute file, and not a UNC file
49 if test -z "$file_conv"; then
50 # lazily determine how to convert abs files
51 case `uname -s` in
52 MINGW*)
53 file_conv=mingw
54 ;;
55 CYGWIN* | MSYS*)
56 file_conv=cygwin
57 ;;
58 *)
59 file_conv=wine
60 ;;
61 esac
62 fi
63 case $file_conv/,$2, in
64 *,$file_conv,*)
65 ;;
66 mingw/*)
67 file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
68 ;;
69 cygwin/* | msys/*)
70 file=`cygpath -m "$file" || echo "$file"`
71 ;;
72 wine/*)
73 file=`winepath -w "$file" || echo "$file"`
74 ;;
75 esac
76 ;;
77 esac
78 }
79
80 # func_cl_dashL linkdir
81 # Make cl look for libraries in LINKDIR
82 func_cl_dashL ()
83 {
84 func_file_conv "$1"
85 if test -z "$lib_path"; then
86 lib_path=$file
87 else
88 lib_path="$lib_path;$file"
89 fi
90 linker_opts="$linker_opts -LIBPATH:$file"
91 }
92
93 # func_cl_dashl library
94 # Do a library search-path lookup for cl
95 func_cl_dashl ()
96 {
97 lib=$1
98 found=no
99 save_IFS=$IFS
100 IFS=';'
101 for dir in $lib_path $LIB
102 do
103 IFS=$save_IFS
104 if $shared && test -f "$dir/$lib.dll.lib"; then
105 found=yes
106 lib=$dir/$lib.dll.lib
107 break
108 fi
109 if test -f "$dir/$lib.lib"; then
110 found=yes
111 lib=$dir/$lib.lib
112 break
113 fi
114 if test -f "$dir/lib$lib.a"; then
115 found=yes
116 lib=$dir/lib$lib.a
117 break
118 fi
119 done
120 IFS=$save_IFS
121
122 if test "$found" != yes; then
123 lib=$lib.lib
124 fi
125 }
126
127 # func_cl_wrapper cl arg...
128 # Adjust compile command to suit cl
129 func_cl_wrapper ()
130 {
131 # Assume a capable shell
132 lib_path=
133 shared=:
134 linker_opts=
135 for arg
136 do
137 if test -n "$eat"; then
138 eat=
139 else
140 case $1 in
141 -o)
142 # configure might choose to run compile as 'compile cc -o foo foo.c'.
143 eat=1
144 case $2 in
145 *.o | *.[oO][bB][jJ])
146 func_file_conv "$2"
147 set x "$@" -Fo"$file"
148 shift
149 ;;
150 *)
151 func_file_conv "$2"
152 set x "$@" -Fe"$file"
153 shift
154 ;;
155 esac
156 ;;
157 -I)
158 eat=1
159 func_file_conv "$2" mingw
160 set x "$@" -I"$file"
161 shift
162 ;;
163 -I*)
164 func_file_conv "${1#-I}" mingw
165 set x "$@" -I"$file"
166 shift
167 ;;
168 -l)
169 eat=1
170 func_cl_dashl "$2"
171 set x "$@" "$lib"
172 shift
173 ;;
174 -l*)
175 func_cl_dashl "${1#-l}"
176 set x "$@" "$lib"
177 shift
178 ;;
179 -L)
180 eat=1
181 func_cl_dashL "$2"
182 ;;
183 -L*)
184 func_cl_dashL "${1#-L}"
185 ;;
186 -static)
187 shared=false
188 ;;
189 -Wl,*)
190 arg=${1#-Wl,}
191 save_ifs="$IFS"; IFS=','
192 for flag in $arg; do
193 IFS="$save_ifs"
194 linker_opts="$linker_opts $flag"
195 done
196 IFS="$save_ifs"
197 ;;
198 -Xlinker)
199 eat=1
200 linker_opts="$linker_opts $2"
201 ;;
202 -*)
203 set x "$@" "$1"
204 shift
205 ;;
206 *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
207 func_file_conv "$1"
208 set x "$@" -Tp"$file"
209 shift
210 ;;
211 *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
212 func_file_conv "$1" mingw
213 set x "$@" "$file"
214 shift
215 ;;
216 *)
217 set x "$@" "$1"
218 shift
219 ;;
220 esac
221 fi
222 shift
223 done
224 if test -n "$linker_opts"; then
225 linker_opts="-link$linker_opts"
226 fi
227 exec "$@" $linker_opts
228 exit 1
229 }
230
231 eat=
232
233 case $1 in
234 '')
235 echo "$0: No command. Try '$0 --help' for more information." 1>&2
236 exit 1;
237 ;;
238 -h | --h*)
239 cat <<\EOF
240 Usage: compile [--help] [--version] PROGRAM [ARGS]
241
242 Wrapper for compilers which do not understand '-c -o'.
243 Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
244 arguments, and rename the output as expected.
245
246 If you are trying to build a whole package this is not the
247 right script to run: please start by reading the file 'INSTALL'.
248
249 Report bugs to <bug-automake@gnu.org>.
250 EOF
251 exit $?
252 ;;
253 -v | --v*)
254 echo "compile $scriptversion"
255 exit $?
256 ;;
257 cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
258 icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
259 func_cl_wrapper "$@" # Doesn't return...
260 ;;
261 esac
262
263 ofile=
264 cfile=
265
266 for arg
267 do
268 if test -n "$eat"; then
269 eat=
270 else
271 case $1 in
272 -o)
273 # configure might choose to run compile as 'compile cc -o foo foo.c'.
274 # So we strip '-o arg' only if arg is an object.
275 eat=1
276 case $2 in
277 *.o | *.obj)
278 ofile=$2
279 ;;
280 *)
281 set x "$@" -o "$2"
282 shift
283 ;;
284 esac
285 ;;
286 *.c)
287 cfile=$1
288 set x "$@" "$1"
289 shift
290 ;;
291 *)
292 set x "$@" "$1"
293 shift
294 ;;
295 esac
296 fi
297 shift
298 done
299
300 if test -z "$ofile" || test -z "$cfile"; then
301 # If no '-o' option was seen then we might have been invoked from a
302 # pattern rule where we don't need one. That is ok -- this is a
303 # normal compilation that the losing compiler can handle. If no
304 # '.c' file was seen then we are probably linking. That is also
305 # ok.
306 exec "$@"
307 fi
308
309 # Name of file we expect compiler to create.
310 cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
311
312 # Create the lock directory.
313 # Note: use '[/\\:.-]' here to ensure that we don't use the same name
314 # that we are using for the .o file. Also, base the name on the expected
315 # object file name, since that is what matters with a parallel build.
316 lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
317 while true; do
318 if mkdir "$lockdir" >/dev/null 2>&1; then
319 break
320 fi
321 sleep 1
322 done
323 # FIXME: race condition here if user kills between mkdir and trap.
324 trap "rmdir '$lockdir'; exit 1" 1 2 15
325
326 # Run the compile.
327 "$@"
328 ret=$?
329
330 if test -f "$cofile"; then
331 test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
332 elif test -f "${cofile}bj"; then
333 test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
334 fi
335
336 rmdir "$lockdir"
337 exit $ret
338
339 # Local Variables:
340 # mode: shell-script
341 # sh-indentation: 2
342 # eval: (add-hook 'before-save-hook 'time-stamp)
343 # time-stamp-start: "scriptversion="
344 # time-stamp-format: "%:y-%02m-%02d.%02H"
345 # time-stamp-time-zone: "UTC0"
346 # time-stamp-end: "; # UTC"
347 # End:
0 #! /bin/sh
1 # Attempt to guess a canonical system name.
2 # Copyright 1992-2018 Free Software Foundation, Inc.
3
4 timestamp='2018-02-24'
5
6 # This file is free software; you can redistribute it and/or modify it
7 # under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 # General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, see <https://www.gnu.org/licenses/>.
18 #
19 # As a special exception to the GNU General Public License, if you
20 # distribute this file as part of a program that contains a
21 # configuration script generated by Autoconf, you may include it under
22 # the same distribution terms that you use for the rest of that
23 # program. This Exception is an additional permission under section 7
24 # of the GNU General Public License, version 3 ("GPLv3").
25 #
26 # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
27 #
28 # You can get the latest version of this script from:
29 # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
30 #
31 # Please send patches to <config-patches@gnu.org>.
32
33
34 me=`echo "$0" | sed -e 's,.*/,,'`
35
36 usage="\
37 Usage: $0 [OPTION]
38
39 Output the configuration name of the system \`$me' is run on.
40
41 Options:
42 -h, --help print this help, then exit
43 -t, --time-stamp print date of last modification, then exit
44 -v, --version print version number, then exit
45
46 Report bugs and patches to <config-patches@gnu.org>."
47
48 version="\
49 GNU config.guess ($timestamp)
50
51 Originally written by Per Bothner.
52 Copyright 1992-2018 Free Software Foundation, Inc.
53
54 This is free software; see the source for copying conditions. There is NO
55 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
56
57 help="
58 Try \`$me --help' for more information."
59
60 # Parse command line
61 while test $# -gt 0 ; do
62 case $1 in
63 --time-stamp | --time* | -t )
64 echo "$timestamp" ; exit ;;
65 --version | -v )
66 echo "$version" ; exit ;;
67 --help | --h* | -h )
68 echo "$usage"; exit ;;
69 -- ) # Stop option processing
70 shift; break ;;
71 - ) # Use stdin as input.
72 break ;;
73 -* )
74 echo "$me: invalid option $1$help" >&2
75 exit 1 ;;
76 * )
77 break ;;
78 esac
79 done
80
81 if test $# != 0; then
82 echo "$me: too many arguments$help" >&2
83 exit 1
84 fi
85
86 trap 'exit 1' 1 2 15
87
88 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
89 # compiler to aid in system detection is discouraged as it requires
90 # temporary files to be created and, as you can see below, it is a
91 # headache to deal with in a portable fashion.
92
93 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
94 # use `HOST_CC' if defined, but it is deprecated.
95
96 # Portable tmp directory creation inspired by the Autoconf team.
97
98 set_cc_for_build='
99 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
100 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
101 : ${TMPDIR=/tmp} ;
102 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
103 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
104 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
105 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
106 dummy=$tmp/dummy ;
107 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
108 case $CC_FOR_BUILD,$HOST_CC,$CC in
109 ,,) echo "int x;" > "$dummy.c" ;
110 for c in cc gcc c89 c99 ; do
111 if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
112 CC_FOR_BUILD="$c"; break ;
113 fi ;
114 done ;
115 if test x"$CC_FOR_BUILD" = x ; then
116 CC_FOR_BUILD=no_compiler_found ;
117 fi
118 ;;
119 ,,*) CC_FOR_BUILD=$CC ;;
120 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
121 esac ; set_cc_for_build= ;'
122
123 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
124 # (ghazi@noc.rutgers.edu 1994-08-24)
125 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
126 PATH=$PATH:/.attbin ; export PATH
127 fi
128
129 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
130 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
131 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
132 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
133
134 case "$UNAME_SYSTEM" in
135 Linux|GNU|GNU/*)
136 # If the system lacks a compiler, then just pick glibc.
137 # We could probably try harder.
138 LIBC=gnu
139
140 eval "$set_cc_for_build"
141 cat <<-EOF > "$dummy.c"
142 #include <features.h>
143 #if defined(__UCLIBC__)
144 LIBC=uclibc
145 #elif defined(__dietlibc__)
146 LIBC=dietlibc
147 #else
148 LIBC=gnu
149 #endif
150 EOF
151 eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
152
153 # If ldd exists, use it to detect musl libc.
154 if command -v ldd >/dev/null && \
155 ldd --version 2>&1 | grep -q ^musl
156 then
157 LIBC=musl
158 fi
159 ;;
160 esac
161
162 # Note: order is significant - the case branches are not exclusive.
163
164 case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
165 *:NetBSD:*:*)
166 # NetBSD (nbsd) targets should (where applicable) match one or
167 # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
168 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
169 # switched to ELF, *-*-netbsd* would select the old
170 # object file format. This provides both forward
171 # compatibility and a consistent mechanism for selecting the
172 # object file format.
173 #
174 # Note: NetBSD doesn't particularly care about the vendor
175 # portion of the name. We always set it to "unknown".
176 sysctl="sysctl -n hw.machine_arch"
177 UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
178 "/sbin/$sysctl" 2>/dev/null || \
179 "/usr/sbin/$sysctl" 2>/dev/null || \
180 echo unknown)`
181 case "$UNAME_MACHINE_ARCH" in
182 armeb) machine=armeb-unknown ;;
183 arm*) machine=arm-unknown ;;
184 sh3el) machine=shl-unknown ;;
185 sh3eb) machine=sh-unknown ;;
186 sh5el) machine=sh5le-unknown ;;
187 earmv*)
188 arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
189 endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
190 machine="${arch}${endian}"-unknown
191 ;;
192 *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
193 esac
194 # The Operating System including object format, if it has switched
195 # to ELF recently (or will in the future) and ABI.
196 case "$UNAME_MACHINE_ARCH" in
197 earm*)
198 os=netbsdelf
199 ;;
200 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
201 eval "$set_cc_for_build"
202 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
203 | grep -q __ELF__
204 then
205 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
206 # Return netbsd for either. FIX?
207 os=netbsd
208 else
209 os=netbsdelf
210 fi
211 ;;
212 *)
213 os=netbsd
214 ;;
215 esac
216 # Determine ABI tags.
217 case "$UNAME_MACHINE_ARCH" in
218 earm*)
219 expr='s/^earmv[0-9]/-eabi/;s/eb$//'
220 abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
221 ;;
222 esac
223 # The OS release
224 # Debian GNU/NetBSD machines have a different userland, and
225 # thus, need a distinct triplet. However, they do not need
226 # kernel version information, so it can be replaced with a
227 # suitable tag, in the style of linux-gnu.
228 case "$UNAME_VERSION" in
229 Debian*)
230 release='-gnu'
231 ;;
232 *)
233 release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
234 ;;
235 esac
236 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
237 # contains redundant information, the shorter form:
238 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
239 echo "$machine-${os}${release}${abi}"
240 exit ;;
241 *:Bitrig:*:*)
242 UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
243 echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
244 exit ;;
245 *:OpenBSD:*:*)
246 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
247 echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
248 exit ;;
249 *:LibertyBSD:*:*)
250 UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
251 echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
252 exit ;;
253 *:MidnightBSD:*:*)
254 echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
255 exit ;;
256 *:ekkoBSD:*:*)
257 echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
258 exit ;;
259 *:SolidBSD:*:*)
260 echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
261 exit ;;
262 macppc:MirBSD:*:*)
263 echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
264 exit ;;
265 *:MirBSD:*:*)
266 echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
267 exit ;;
268 *:Sortix:*:*)
269 echo "$UNAME_MACHINE"-unknown-sortix
270 exit ;;
271 *:Redox:*:*)
272 echo "$UNAME_MACHINE"-unknown-redox
273 exit ;;
274 mips:OSF1:*.*)
275 echo mips-dec-osf1
276 exit ;;
277 alpha:OSF1:*:*)
278 case $UNAME_RELEASE in
279 *4.0)
280 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
281 ;;
282 *5.*)
283 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
284 ;;
285 esac
286 # According to Compaq, /usr/sbin/psrinfo has been available on
287 # OSF/1 and Tru64 systems produced since 1995. I hope that
288 # covers most systems running today. This code pipes the CPU
289 # types through head -n 1, so we only detect the type of CPU 0.
290 ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
291 case "$ALPHA_CPU_TYPE" in
292 "EV4 (21064)")
293 UNAME_MACHINE=alpha ;;
294 "EV4.5 (21064)")
295 UNAME_MACHINE=alpha ;;
296 "LCA4 (21066/21068)")
297 UNAME_MACHINE=alpha ;;
298 "EV5 (21164)")
299 UNAME_MACHINE=alphaev5 ;;
300 "EV5.6 (21164A)")
301 UNAME_MACHINE=alphaev56 ;;
302 "EV5.6 (21164PC)")
303 UNAME_MACHINE=alphapca56 ;;
304 "EV5.7 (21164PC)")
305 UNAME_MACHINE=alphapca57 ;;
306 "EV6 (21264)")
307 UNAME_MACHINE=alphaev6 ;;
308 "EV6.7 (21264A)")
309 UNAME_MACHINE=alphaev67 ;;
310 "EV6.8CB (21264C)")
311 UNAME_MACHINE=alphaev68 ;;
312 "EV6.8AL (21264B)")
313 UNAME_MACHINE=alphaev68 ;;
314 "EV6.8CX (21264D)")
315 UNAME_MACHINE=alphaev68 ;;
316 "EV6.9A (21264/EV69A)")
317 UNAME_MACHINE=alphaev69 ;;
318 "EV7 (21364)")
319 UNAME_MACHINE=alphaev7 ;;
320 "EV7.9 (21364A)")
321 UNAME_MACHINE=alphaev79 ;;
322 esac
323 # A Pn.n version is a patched version.
324 # A Vn.n version is a released version.
325 # A Tn.n version is a released field test version.
326 # A Xn.n version is an unreleased experimental baselevel.
327 # 1.2 uses "1.2" for uname -r.
328 echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
329 # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
330 exitcode=$?
331 trap '' 0
332 exit $exitcode ;;
333 Amiga*:UNIX_System_V:4.0:*)
334 echo m68k-unknown-sysv4
335 exit ;;
336 *:[Aa]miga[Oo][Ss]:*:*)
337 echo "$UNAME_MACHINE"-unknown-amigaos
338 exit ;;
339 *:[Mm]orph[Oo][Ss]:*:*)
340 echo "$UNAME_MACHINE"-unknown-morphos
341 exit ;;
342 *:OS/390:*:*)
343 echo i370-ibm-openedition
344 exit ;;
345 *:z/VM:*:*)
346 echo s390-ibm-zvmoe
347 exit ;;
348 *:OS400:*:*)
349 echo powerpc-ibm-os400
350 exit ;;
351 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
352 echo arm-acorn-riscix"$UNAME_RELEASE"
353 exit ;;
354 arm*:riscos:*:*|arm*:RISCOS:*:*)
355 echo arm-unknown-riscos
356 exit ;;
357 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
358 echo hppa1.1-hitachi-hiuxmpp
359 exit ;;
360 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
361 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
362 if test "`(/bin/universe) 2>/dev/null`" = att ; then
363 echo pyramid-pyramid-sysv3
364 else
365 echo pyramid-pyramid-bsd
366 fi
367 exit ;;
368 NILE*:*:*:dcosx)
369 echo pyramid-pyramid-svr4
370 exit ;;
371 DRS?6000:unix:4.0:6*)
372 echo sparc-icl-nx6
373 exit ;;
374 DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
375 case `/usr/bin/uname -p` in
376 sparc) echo sparc-icl-nx7; exit ;;
377 esac ;;
378 s390x:SunOS:*:*)
379 echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
380 exit ;;
381 sun4H:SunOS:5.*:*)
382 echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
383 exit ;;
384 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
385 echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
386 exit ;;
387 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
388 echo i386-pc-auroraux"$UNAME_RELEASE"
389 exit ;;
390 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
391 eval "$set_cc_for_build"
392 SUN_ARCH=i386
393 # If there is a compiler, see if it is configured for 64-bit objects.
394 # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
395 # This test works for both compilers.
396 if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
397 if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
398 (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
399 grep IS_64BIT_ARCH >/dev/null
400 then
401 SUN_ARCH=x86_64
402 fi
403 fi
404 echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
405 exit ;;
406 sun4*:SunOS:6*:*)
407 # According to config.sub, this is the proper way to canonicalize
408 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
409 # it's likely to be more like Solaris than SunOS4.
410 echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
411 exit ;;
412 sun4*:SunOS:*:*)
413 case "`/usr/bin/arch -k`" in
414 Series*|S4*)
415 UNAME_RELEASE=`uname -v`
416 ;;
417 esac
418 # Japanese Language versions have a version number like `4.1.3-JL'.
419 echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
420 exit ;;
421 sun3*:SunOS:*:*)
422 echo m68k-sun-sunos"$UNAME_RELEASE"
423 exit ;;
424 sun*:*:4.2BSD:*)
425 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
426 test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
427 case "`/bin/arch`" in
428 sun3)
429 echo m68k-sun-sunos"$UNAME_RELEASE"
430 ;;
431 sun4)
432 echo sparc-sun-sunos"$UNAME_RELEASE"
433 ;;
434 esac
435 exit ;;
436 aushp:SunOS:*:*)
437 echo sparc-auspex-sunos"$UNAME_RELEASE"
438 exit ;;
439 # The situation for MiNT is a little confusing. The machine name
440 # can be virtually everything (everything which is not
441 # "atarist" or "atariste" at least should have a processor
442 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
443 # to the lowercase version "mint" (or "freemint"). Finally
444 # the system name "TOS" denotes a system which is actually not
445 # MiNT. But MiNT is downward compatible to TOS, so this should
446 # be no problem.
447 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
448 echo m68k-atari-mint"$UNAME_RELEASE"
449 exit ;;
450 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
451 echo m68k-atari-mint"$UNAME_RELEASE"
452 exit ;;
453 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
454 echo m68k-atari-mint"$UNAME_RELEASE"
455 exit ;;
456 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
457 echo m68k-milan-mint"$UNAME_RELEASE"
458 exit ;;
459 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
460 echo m68k-hades-mint"$UNAME_RELEASE"
461 exit ;;
462 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
463 echo m68k-unknown-mint"$UNAME_RELEASE"
464 exit ;;
465 m68k:machten:*:*)
466 echo m68k-apple-machten"$UNAME_RELEASE"
467 exit ;;
468 powerpc:machten:*:*)
469 echo powerpc-apple-machten"$UNAME_RELEASE"
470 exit ;;
471 RISC*:Mach:*:*)
472 echo mips-dec-mach_bsd4.3
473 exit ;;
474 RISC*:ULTRIX:*:*)
475 echo mips-dec-ultrix"$UNAME_RELEASE"
476 exit ;;
477 VAX*:ULTRIX*:*:*)
478 echo vax-dec-ultrix"$UNAME_RELEASE"
479 exit ;;
480 2020:CLIX:*:* | 2430:CLIX:*:*)
481 echo clipper-intergraph-clix"$UNAME_RELEASE"
482 exit ;;
483 mips:*:*:UMIPS | mips:*:*:RISCos)
484 eval "$set_cc_for_build"
485 sed 's/^ //' << EOF > "$dummy.c"
486 #ifdef __cplusplus
487 #include <stdio.h> /* for printf() prototype */
488 int main (int argc, char *argv[]) {
489 #else
490 int main (argc, argv) int argc; char *argv[]; {
491 #endif
492 #if defined (host_mips) && defined (MIPSEB)
493 #if defined (SYSTYPE_SYSV)
494 printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
495 #endif
496 #if defined (SYSTYPE_SVR4)
497 printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
498 #endif
499 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
500 printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
501 #endif
502 #endif
503 exit (-1);
504 }
505 EOF
506 $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
507 dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
508 SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
509 { echo "$SYSTEM_NAME"; exit; }
510 echo mips-mips-riscos"$UNAME_RELEASE"
511 exit ;;
512 Motorola:PowerMAX_OS:*:*)
513 echo powerpc-motorola-powermax
514 exit ;;
515 Motorola:*:4.3:PL8-*)
516 echo powerpc-harris-powermax
517 exit ;;
518 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
519 echo powerpc-harris-powermax
520 exit ;;
521 Night_Hawk:Power_UNIX:*:*)
522 echo powerpc-harris-powerunix
523 exit ;;
524 m88k:CX/UX:7*:*)
525 echo m88k-harris-cxux7
526 exit ;;
527 m88k:*:4*:R4*)
528 echo m88k-motorola-sysv4
529 exit ;;
530 m88k:*:3*:R3*)
531 echo m88k-motorola-sysv3
532 exit ;;
533 AViiON:dgux:*:*)
534 # DG/UX returns AViiON for all architectures
535 UNAME_PROCESSOR=`/usr/bin/uname -p`
536 if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
537 then
538 if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
539 [ "$TARGET_BINARY_INTERFACE"x = x ]
540 then
541 echo m88k-dg-dgux"$UNAME_RELEASE"
542 else
543 echo m88k-dg-dguxbcs"$UNAME_RELEASE"
544 fi
545 else
546 echo i586-dg-dgux"$UNAME_RELEASE"
547 fi
548 exit ;;
549 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
550 echo m88k-dolphin-sysv3
551 exit ;;
552 M88*:*:R3*:*)
553 # Delta 88k system running SVR3
554 echo m88k-motorola-sysv3
555 exit ;;
556 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
557 echo m88k-tektronix-sysv3
558 exit ;;
559 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
560 echo m68k-tektronix-bsd
561 exit ;;
562 *:IRIX*:*:*)
563 echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
564 exit ;;
565 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
566 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
567 exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
568 i*86:AIX:*:*)
569 echo i386-ibm-aix
570 exit ;;
571 ia64:AIX:*:*)
572 if [ -x /usr/bin/oslevel ] ; then
573 IBM_REV=`/usr/bin/oslevel`
574 else
575 IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
576 fi
577 echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
578 exit ;;
579 *:AIX:2:3)
580 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
581 eval "$set_cc_for_build"
582 sed 's/^ //' << EOF > "$dummy.c"
583 #include <sys/systemcfg.h>
584
585 main()
586 {
587 if (!__power_pc())
588 exit(1);
589 puts("powerpc-ibm-aix3.2.5");
590 exit(0);
591 }
592 EOF
593 if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
594 then
595 echo "$SYSTEM_NAME"
596 else
597 echo rs6000-ibm-aix3.2.5
598 fi
599 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
600 echo rs6000-ibm-aix3.2.4
601 else
602 echo rs6000-ibm-aix3.2
603 fi
604 exit ;;
605 *:AIX:*:[4567])
606 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
607 if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
608 IBM_ARCH=rs6000
609 else
610 IBM_ARCH=powerpc
611 fi
612 if [ -x /usr/bin/lslpp ] ; then
613 IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
614 awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
615 else
616 IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
617 fi
618 echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
619 exit ;;
620 *:AIX:*:*)
621 echo rs6000-ibm-aix
622 exit ;;
623 ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
624 echo romp-ibm-bsd4.4
625 exit ;;
626 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
627 echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to
628 exit ;; # report: romp-ibm BSD 4.3
629 *:BOSX:*:*)
630 echo rs6000-bull-bosx
631 exit ;;
632 DPX/2?00:B.O.S.:*:*)
633 echo m68k-bull-sysv3
634 exit ;;
635 9000/[34]??:4.3bsd:1.*:*)
636 echo m68k-hp-bsd
637 exit ;;
638 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
639 echo m68k-hp-bsd4.4
640 exit ;;
641 9000/[34678]??:HP-UX:*:*)
642 HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
643 case "$UNAME_MACHINE" in
644 9000/31?) HP_ARCH=m68000 ;;
645 9000/[34]??) HP_ARCH=m68k ;;
646 9000/[678][0-9][0-9])
647 if [ -x /usr/bin/getconf ]; then
648 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
649 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
650 case "$sc_cpu_version" in
651 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
652 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
653 532) # CPU_PA_RISC2_0
654 case "$sc_kernel_bits" in
655 32) HP_ARCH=hppa2.0n ;;
656 64) HP_ARCH=hppa2.0w ;;
657 '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
658 esac ;;
659 esac
660 fi
661 if [ "$HP_ARCH" = "" ]; then
662 eval "$set_cc_for_build"
663 sed 's/^ //' << EOF > "$dummy.c"
664
665 #define _HPUX_SOURCE
666 #include <stdlib.h>
667 #include <unistd.h>
668
669 int main ()
670 {
671 #if defined(_SC_KERNEL_BITS)
672 long bits = sysconf(_SC_KERNEL_BITS);
673 #endif
674 long cpu = sysconf (_SC_CPU_VERSION);
675
676 switch (cpu)
677 {
678 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
679 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
680 case CPU_PA_RISC2_0:
681 #if defined(_SC_KERNEL_BITS)
682 switch (bits)
683 {
684 case 64: puts ("hppa2.0w"); break;
685 case 32: puts ("hppa2.0n"); break;
686 default: puts ("hppa2.0"); break;
687 } break;
688 #else /* !defined(_SC_KERNEL_BITS) */
689 puts ("hppa2.0"); break;
690 #endif
691 default: puts ("hppa1.0"); break;
692 }
693 exit (0);
694 }
695 EOF
696 (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
697 test -z "$HP_ARCH" && HP_ARCH=hppa
698 fi ;;
699 esac
700 if [ "$HP_ARCH" = hppa2.0w ]
701 then
702 eval "$set_cc_for_build"
703
704 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
705 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
706 # generating 64-bit code. GNU and HP use different nomenclature:
707 #
708 # $ CC_FOR_BUILD=cc ./config.guess
709 # => hppa2.0w-hp-hpux11.23
710 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
711 # => hppa64-hp-hpux11.23
712
713 if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
714 grep -q __LP64__
715 then
716 HP_ARCH=hppa2.0w
717 else
718 HP_ARCH=hppa64
719 fi
720 fi
721 echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
722 exit ;;
723 ia64:HP-UX:*:*)
724 HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
725 echo ia64-hp-hpux"$HPUX_REV"
726 exit ;;
727 3050*:HI-UX:*:*)
728 eval "$set_cc_for_build"
729 sed 's/^ //' << EOF > "$dummy.c"
730 #include <unistd.h>
731 int
732 main ()
733 {
734 long cpu = sysconf (_SC_CPU_VERSION);
735 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
736 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
737 results, however. */
738 if (CPU_IS_PA_RISC (cpu))
739 {
740 switch (cpu)
741 {
742 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
743 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
744 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
745 default: puts ("hppa-hitachi-hiuxwe2"); break;
746 }
747 }
748 else if (CPU_IS_HP_MC68K (cpu))
749 puts ("m68k-hitachi-hiuxwe2");
750 else puts ("unknown-hitachi-hiuxwe2");
751 exit (0);
752 }
753 EOF
754 $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
755 { echo "$SYSTEM_NAME"; exit; }
756 echo unknown-hitachi-hiuxwe2
757 exit ;;
758 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
759 echo hppa1.1-hp-bsd
760 exit ;;
761 9000/8??:4.3bsd:*:*)
762 echo hppa1.0-hp-bsd
763 exit ;;
764 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
765 echo hppa1.0-hp-mpeix
766 exit ;;
767 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
768 echo hppa1.1-hp-osf
769 exit ;;
770 hp8??:OSF1:*:*)
771 echo hppa1.0-hp-osf
772 exit ;;
773 i*86:OSF1:*:*)
774 if [ -x /usr/sbin/sysversion ] ; then
775 echo "$UNAME_MACHINE"-unknown-osf1mk
776 else
777 echo "$UNAME_MACHINE"-unknown-osf1
778 fi
779 exit ;;
780 parisc*:Lites*:*:*)
781 echo hppa1.1-hp-lites
782 exit ;;
783 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
784 echo c1-convex-bsd
785 exit ;;
786 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
787 if getsysinfo -f scalar_acc
788 then echo c32-convex-bsd
789 else echo c2-convex-bsd
790 fi
791 exit ;;
792 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
793 echo c34-convex-bsd
794 exit ;;
795 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
796 echo c38-convex-bsd
797 exit ;;
798 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
799 echo c4-convex-bsd
800 exit ;;
801 CRAY*Y-MP:*:*:*)
802 echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
803 exit ;;
804 CRAY*[A-Z]90:*:*:*)
805 echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
806 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
807 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
808 -e 's/\.[^.]*$/.X/'
809 exit ;;
810 CRAY*TS:*:*:*)
811 echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
812 exit ;;
813 CRAY*T3E:*:*:*)
814 echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
815 exit ;;
816 CRAY*SV1:*:*:*)
817 echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
818 exit ;;
819 *:UNICOS/mp:*:*)
820 echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
821 exit ;;
822 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
823 FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
824 FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
825 FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
826 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
827 exit ;;
828 5000:UNIX_System_V:4.*:*)
829 FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
830 FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
831 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
832 exit ;;
833 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
834 echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
835 exit ;;
836 sparc*:BSD/OS:*:*)
837 echo sparc-unknown-bsdi"$UNAME_RELEASE"
838 exit ;;
839 *:BSD/OS:*:*)
840 echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
841 exit ;;
842 *:FreeBSD:*:*)
843 UNAME_PROCESSOR=`/usr/bin/uname -p`
844 case "$UNAME_PROCESSOR" in
845 amd64)
846 UNAME_PROCESSOR=x86_64 ;;
847 i386)
848 UNAME_PROCESSOR=i586 ;;
849 esac
850 echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
851 exit ;;
852 i*:CYGWIN*:*)
853 echo "$UNAME_MACHINE"-pc-cygwin
854 exit ;;
855 *:MINGW64*:*)
856 echo "$UNAME_MACHINE"-pc-mingw64
857 exit ;;
858 *:MINGW*:*)
859 echo "$UNAME_MACHINE"-pc-mingw32
860 exit ;;
861 *:MSYS*:*)
862 echo "$UNAME_MACHINE"-pc-msys
863 exit ;;
864 i*:PW*:*)
865 echo "$UNAME_MACHINE"-pc-pw32
866 exit ;;
867 *:Interix*:*)
868 case "$UNAME_MACHINE" in
869 x86)
870 echo i586-pc-interix"$UNAME_RELEASE"
871 exit ;;
872 authenticamd | genuineintel | EM64T)
873 echo x86_64-unknown-interix"$UNAME_RELEASE"
874 exit ;;
875 IA64)
876 echo ia64-unknown-interix"$UNAME_RELEASE"
877 exit ;;
878 esac ;;
879 i*:UWIN*:*)
880 echo "$UNAME_MACHINE"-pc-uwin
881 exit ;;
882 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
883 echo x86_64-unknown-cygwin
884 exit ;;
885 prep*:SunOS:5.*:*)
886 echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
887 exit ;;
888 *:GNU:*:*)
889 # the GNU system
890 echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
891 exit ;;
892 *:GNU/*:*:*)
893 # other systems with GNU libc and userland
894 echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
895 exit ;;
896 i*86:Minix:*:*)
897 echo "$UNAME_MACHINE"-pc-minix
898 exit ;;
899 aarch64:Linux:*:*)
900 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
901 exit ;;
902 aarch64_be:Linux:*:*)
903 UNAME_MACHINE=aarch64_be
904 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
905 exit ;;
906 alpha:Linux:*:*)
907 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
908 EV5) UNAME_MACHINE=alphaev5 ;;
909 EV56) UNAME_MACHINE=alphaev56 ;;
910 PCA56) UNAME_MACHINE=alphapca56 ;;
911 PCA57) UNAME_MACHINE=alphapca56 ;;
912 EV6) UNAME_MACHINE=alphaev6 ;;
913 EV67) UNAME_MACHINE=alphaev67 ;;
914 EV68*) UNAME_MACHINE=alphaev68 ;;
915 esac
916 objdump --private-headers /bin/sh | grep -q ld.so.1
917 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
918 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
919 exit ;;
920 arc:Linux:*:* | arceb:Linux:*:*)
921 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
922 exit ;;
923 arm*:Linux:*:*)
924 eval "$set_cc_for_build"
925 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
926 | grep -q __ARM_EABI__
927 then
928 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
929 else
930 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
931 | grep -q __ARM_PCS_VFP
932 then
933 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
934 else
935 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
936 fi
937 fi
938 exit ;;
939 avr32*:Linux:*:*)
940 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
941 exit ;;
942 cris:Linux:*:*)
943 echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
944 exit ;;
945 crisv32:Linux:*:*)
946 echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
947 exit ;;
948 e2k:Linux:*:*)
949 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
950 exit ;;
951 frv:Linux:*:*)
952 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
953 exit ;;
954 hexagon:Linux:*:*)
955 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
956 exit ;;
957 i*86:Linux:*:*)
958 echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
959 exit ;;
960 ia64:Linux:*:*)
961 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
962 exit ;;
963 k1om:Linux:*:*)
964 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
965 exit ;;
966 m32r*:Linux:*:*)
967 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
968 exit ;;
969 m68*:Linux:*:*)
970 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
971 exit ;;
972 mips:Linux:*:* | mips64:Linux:*:*)
973 eval "$set_cc_for_build"
974 sed 's/^ //' << EOF > "$dummy.c"
975 #undef CPU
976 #undef ${UNAME_MACHINE}
977 #undef ${UNAME_MACHINE}el
978 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
979 CPU=${UNAME_MACHINE}el
980 #else
981 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
982 CPU=${UNAME_MACHINE}
983 #else
984 CPU=
985 #endif
986 #endif
987 EOF
988 eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"
989 test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }
990 ;;
991 mips64el:Linux:*:*)
992 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
993 exit ;;
994 openrisc*:Linux:*:*)
995 echo or1k-unknown-linux-"$LIBC"
996 exit ;;
997 or32:Linux:*:* | or1k*:Linux:*:*)
998 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
999 exit ;;
1000 padre:Linux:*:*)
1001 echo sparc-unknown-linux-"$LIBC"
1002 exit ;;
1003 parisc64:Linux:*:* | hppa64:Linux:*:*)
1004 echo hppa64-unknown-linux-"$LIBC"
1005 exit ;;
1006 parisc:Linux:*:* | hppa:Linux:*:*)
1007 # Look for CPU level
1008 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1009 PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
1010 PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
1011 *) echo hppa-unknown-linux-"$LIBC" ;;
1012 esac
1013 exit ;;
1014 ppc64:Linux:*:*)
1015 echo powerpc64-unknown-linux-"$LIBC"
1016 exit ;;
1017 ppc:Linux:*:*)
1018 echo powerpc-unknown-linux-"$LIBC"
1019 exit ;;
1020 ppc64le:Linux:*:*)
1021 echo powerpc64le-unknown-linux-"$LIBC"
1022 exit ;;
1023 ppcle:Linux:*:*)
1024 echo powerpcle-unknown-linux-"$LIBC"
1025 exit ;;
1026 riscv32:Linux:*:* | riscv64:Linux:*:*)
1027 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1028 exit ;;
1029 s390:Linux:*:* | s390x:Linux:*:*)
1030 echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
1031 exit ;;
1032 sh64*:Linux:*:*)
1033 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1034 exit ;;
1035 sh*:Linux:*:*)
1036 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1037 exit ;;
1038 sparc:Linux:*:* | sparc64:Linux:*:*)
1039 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1040 exit ;;
1041 tile*:Linux:*:*)
1042 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1043 exit ;;
1044 vax:Linux:*:*)
1045 echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
1046 exit ;;
1047 x86_64:Linux:*:*)
1048 if objdump -f /bin/sh | grep -q elf32-x86-64; then
1049 echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32
1050 else
1051 echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
1052 fi
1053 exit ;;
1054 xtensa*:Linux:*:*)
1055 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1056 exit ;;
1057 i*86:DYNIX/ptx:4*:*)
1058 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1059 # earlier versions are messed up and put the nodename in both
1060 # sysname and nodename.
1061 echo i386-sequent-sysv4
1062 exit ;;
1063 i*86:UNIX_SV:4.2MP:2.*)
1064 # Unixware is an offshoot of SVR4, but it has its own version
1065 # number series starting with 2...
1066 # I am not positive that other SVR4 systems won't match this,
1067 # I just have to hope. -- rms.
1068 # Use sysv4.2uw... so that sysv4* matches it.
1069 echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
1070 exit ;;
1071 i*86:OS/2:*:*)
1072 # If we were able to find `uname', then EMX Unix compatibility
1073 # is probably installed.
1074 echo "$UNAME_MACHINE"-pc-os2-emx
1075 exit ;;
1076 i*86:XTS-300:*:STOP)
1077 echo "$UNAME_MACHINE"-unknown-stop
1078 exit ;;
1079 i*86:atheos:*:*)
1080 echo "$UNAME_MACHINE"-unknown-atheos
1081 exit ;;
1082 i*86:syllable:*:*)
1083 echo "$UNAME_MACHINE"-pc-syllable
1084 exit ;;
1085 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1086 echo i386-unknown-lynxos"$UNAME_RELEASE"
1087 exit ;;
1088 i*86:*DOS:*:*)
1089 echo "$UNAME_MACHINE"-pc-msdosdjgpp
1090 exit ;;
1091 i*86:*:4.*:*)
1092 UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
1093 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1094 echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
1095 else
1096 echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
1097 fi
1098 exit ;;
1099 i*86:*:5:[678]*)
1100 # UnixWare 7.x, OpenUNIX and OpenServer 6.
1101 case `/bin/uname -X | grep "^Machine"` in
1102 *486*) UNAME_MACHINE=i486 ;;
1103 *Pentium) UNAME_MACHINE=i586 ;;
1104 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1105 esac
1106 echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
1107 exit ;;
1108 i*86:*:3.2:*)
1109 if test -f /usr/options/cb.name; then
1110 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1111 echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
1112 elif /bin/uname -X 2>/dev/null >/dev/null ; then
1113 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1114 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1115 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1116 && UNAME_MACHINE=i586
1117 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1118 && UNAME_MACHINE=i686
1119 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1120 && UNAME_MACHINE=i686
1121 echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
1122 else
1123 echo "$UNAME_MACHINE"-pc-sysv32
1124 fi
1125 exit ;;
1126 pc:*:*:*)
1127 # Left here for compatibility:
1128 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1129 # the processor, so we play safe by assuming i586.
1130 # Note: whatever this is, it MUST be the same as what config.sub
1131 # prints for the "djgpp" host, or else GDB configure will decide that
1132 # this is a cross-build.
1133 echo i586-pc-msdosdjgpp
1134 exit ;;
1135 Intel:Mach:3*:*)
1136 echo i386-pc-mach3
1137 exit ;;
1138 paragon:*:*:*)
1139 echo i860-intel-osf1
1140 exit ;;
1141 i860:*:4.*:*) # i860-SVR4
1142 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1143 echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
1144 else # Add other i860-SVR4 vendors below as they are discovered.
1145 echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4
1146 fi
1147 exit ;;
1148 mini*:CTIX:SYS*5:*)
1149 # "miniframe"
1150 echo m68010-convergent-sysv
1151 exit ;;
1152 mc68k:UNIX:SYSTEM5:3.51m)
1153 echo m68k-convergent-sysv
1154 exit ;;
1155 M680?0:D-NIX:5.3:*)
1156 echo m68k-diab-dnix
1157 exit ;;
1158 M68*:*:R3V[5678]*:*)
1159 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1160 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
1161 OS_REL=''
1162 test -r /etc/.relid \
1163 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1164 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1165 && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1166 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1167 && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1168 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1169 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1170 && { echo i486-ncr-sysv4; exit; } ;;
1171 NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1172 OS_REL='.3'
1173 test -r /etc/.relid \
1174 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1175 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1176 && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1177 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1178 && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
1179 /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1180 && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1181 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1182 echo m68k-unknown-lynxos"$UNAME_RELEASE"
1183 exit ;;
1184 mc68030:UNIX_System_V:4.*:*)
1185 echo m68k-atari-sysv4
1186 exit ;;
1187 TSUNAMI:LynxOS:2.*:*)
1188 echo sparc-unknown-lynxos"$UNAME_RELEASE"
1189 exit ;;
1190 rs6000:LynxOS:2.*:*)
1191 echo rs6000-unknown-lynxos"$UNAME_RELEASE"
1192 exit ;;
1193 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1194 echo powerpc-unknown-lynxos"$UNAME_RELEASE"
1195 exit ;;
1196 SM[BE]S:UNIX_SV:*:*)
1197 echo mips-dde-sysv"$UNAME_RELEASE"
1198 exit ;;
1199 RM*:ReliantUNIX-*:*:*)
1200 echo mips-sni-sysv4
1201 exit ;;
1202 RM*:SINIX-*:*:*)
1203 echo mips-sni-sysv4
1204 exit ;;
1205 *:SINIX-*:*:*)
1206 if uname -p 2>/dev/null >/dev/null ; then
1207 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1208 echo "$UNAME_MACHINE"-sni-sysv4
1209 else
1210 echo ns32k-sni-sysv
1211 fi
1212 exit ;;
1213 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1214 # says <Richard.M.Bartel@ccMail.Census.GOV>
1215 echo i586-unisys-sysv4
1216 exit ;;
1217 *:UNIX_System_V:4*:FTX*)
1218 # From Gerald Hewes <hewes@openmarket.com>.
1219 # How about differentiating between stratus architectures? -djm
1220 echo hppa1.1-stratus-sysv4
1221 exit ;;
1222 *:*:*:FTX*)
1223 # From seanf@swdc.stratus.com.
1224 echo i860-stratus-sysv4
1225 exit ;;
1226 i*86:VOS:*:*)
1227 # From Paul.Green@stratus.com.
1228 echo "$UNAME_MACHINE"-stratus-vos
1229 exit ;;
1230 *:VOS:*:*)
1231 # From Paul.Green@stratus.com.
1232 echo hppa1.1-stratus-vos
1233 exit ;;
1234 mc68*:A/UX:*:*)
1235 echo m68k-apple-aux"$UNAME_RELEASE"
1236 exit ;;
1237 news*:NEWS-OS:6*:*)
1238 echo mips-sony-newsos6
1239 exit ;;
1240 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1241 if [ -d /usr/nec ]; then
1242 echo mips-nec-sysv"$UNAME_RELEASE"
1243 else
1244 echo mips-unknown-sysv"$UNAME_RELEASE"
1245 fi
1246 exit ;;
1247 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1248 echo powerpc-be-beos
1249 exit ;;
1250 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1251 echo powerpc-apple-beos
1252 exit ;;
1253 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1254 echo i586-pc-beos
1255 exit ;;
1256 BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1257 echo i586-pc-haiku
1258 exit ;;
1259 x86_64:Haiku:*:*)
1260 echo x86_64-unknown-haiku
1261 exit ;;
1262 SX-4:SUPER-UX:*:*)
1263 echo sx4-nec-superux"$UNAME_RELEASE"
1264 exit ;;
1265 SX-5:SUPER-UX:*:*)
1266 echo sx5-nec-superux"$UNAME_RELEASE"
1267 exit ;;
1268 SX-6:SUPER-UX:*:*)
1269 echo sx6-nec-superux"$UNAME_RELEASE"
1270 exit ;;
1271 SX-7:SUPER-UX:*:*)
1272 echo sx7-nec-superux"$UNAME_RELEASE"
1273 exit ;;
1274 SX-8:SUPER-UX:*:*)
1275 echo sx8-nec-superux"$UNAME_RELEASE"
1276 exit ;;
1277 SX-8R:SUPER-UX:*:*)
1278 echo sx8r-nec-superux"$UNAME_RELEASE"
1279 exit ;;
1280 SX-ACE:SUPER-UX:*:*)
1281 echo sxace-nec-superux"$UNAME_RELEASE"
1282 exit ;;
1283 Power*:Rhapsody:*:*)
1284 echo powerpc-apple-rhapsody"$UNAME_RELEASE"
1285 exit ;;
1286 *:Rhapsody:*:*)
1287 echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
1288 exit ;;
1289 *:Darwin:*:*)
1290 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1291 eval "$set_cc_for_build"
1292 if test "$UNAME_PROCESSOR" = unknown ; then
1293 UNAME_PROCESSOR=powerpc
1294 fi
1295 if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then
1296 if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
1297 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1298 (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1299 grep IS_64BIT_ARCH >/dev/null
1300 then
1301 case $UNAME_PROCESSOR in
1302 i386) UNAME_PROCESSOR=x86_64 ;;
1303 powerpc) UNAME_PROCESSOR=powerpc64 ;;
1304 esac
1305 fi
1306 # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
1307 if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
1308 (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1309 grep IS_PPC >/dev/null
1310 then
1311 UNAME_PROCESSOR=powerpc
1312 fi
1313 fi
1314 elif test "$UNAME_PROCESSOR" = i386 ; then
1315 # Avoid executing cc on OS X 10.9, as it ships with a stub
1316 # that puts up a graphical alert prompting to install
1317 # developer tools. Any system running Mac OS X 10.7 or
1318 # later (Darwin 11 and later) is required to have a 64-bit
1319 # processor. This is not true of the ARM version of Darwin
1320 # that Apple uses in portable devices.
1321 UNAME_PROCESSOR=x86_64
1322 fi
1323 echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
1324 exit ;;
1325 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1326 UNAME_PROCESSOR=`uname -p`
1327 if test "$UNAME_PROCESSOR" = x86; then
1328 UNAME_PROCESSOR=i386
1329 UNAME_MACHINE=pc
1330 fi
1331 echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
1332 exit ;;
1333 *:QNX:*:4*)
1334 echo i386-pc-qnx
1335 exit ;;
1336 NEO-*:NONSTOP_KERNEL:*:*)
1337 echo neo-tandem-nsk"$UNAME_RELEASE"
1338 exit ;;
1339 NSE-*:NONSTOP_KERNEL:*:*)
1340 echo nse-tandem-nsk"$UNAME_RELEASE"
1341 exit ;;
1342 NSR-*:NONSTOP_KERNEL:*:*)
1343 echo nsr-tandem-nsk"$UNAME_RELEASE"
1344 exit ;;
1345 NSV-*:NONSTOP_KERNEL:*:*)
1346 echo nsv-tandem-nsk"$UNAME_RELEASE"
1347 exit ;;
1348 NSX-*:NONSTOP_KERNEL:*:*)
1349 echo nsx-tandem-nsk"$UNAME_RELEASE"
1350 exit ;;
1351 *:NonStop-UX:*:*)
1352 echo mips-compaq-nonstopux
1353 exit ;;
1354 BS2000:POSIX*:*:*)
1355 echo bs2000-siemens-sysv
1356 exit ;;
1357 DS/*:UNIX_System_V:*:*)
1358 echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
1359 exit ;;
1360 *:Plan9:*:*)
1361 # "uname -m" is not consistent, so use $cputype instead. 386
1362 # is converted to i386 for consistency with other x86
1363 # operating systems.
1364 if test "$cputype" = 386; then
1365 UNAME_MACHINE=i386
1366 else
1367 UNAME_MACHINE="$cputype"
1368 fi
1369 echo "$UNAME_MACHINE"-unknown-plan9
1370 exit ;;
1371 *:TOPS-10:*:*)
1372 echo pdp10-unknown-tops10
1373 exit ;;
1374 *:TENEX:*:*)
1375 echo pdp10-unknown-tenex
1376 exit ;;
1377 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1378 echo pdp10-dec-tops20
1379 exit ;;
1380 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1381 echo pdp10-xkl-tops20
1382 exit ;;
1383 *:TOPS-20:*:*)
1384 echo pdp10-unknown-tops20
1385 exit ;;
1386 *:ITS:*:*)
1387 echo pdp10-unknown-its
1388 exit ;;
1389 SEI:*:*:SEIUX)
1390 echo mips-sei-seiux"$UNAME_RELEASE"
1391 exit ;;
1392 *:DragonFly:*:*)
1393 echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
1394 exit ;;
1395 *:*VMS:*:*)
1396 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1397 case "$UNAME_MACHINE" in
1398 A*) echo alpha-dec-vms ; exit ;;
1399 I*) echo ia64-dec-vms ; exit ;;
1400 V*) echo vax-dec-vms ; exit ;;
1401 esac ;;
1402 *:XENIX:*:SysV)
1403 echo i386-pc-xenix
1404 exit ;;
1405 i*86:skyos:*:*)
1406 echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
1407 exit ;;
1408 i*86:rdos:*:*)
1409 echo "$UNAME_MACHINE"-pc-rdos
1410 exit ;;
1411 i*86:AROS:*:*)
1412 echo "$UNAME_MACHINE"-pc-aros
1413 exit ;;
1414 x86_64:VMkernel:*:*)
1415 echo "$UNAME_MACHINE"-unknown-esx
1416 exit ;;
1417 amd64:Isilon\ OneFS:*:*)
1418 echo x86_64-unknown-onefs
1419 exit ;;
1420 esac
1421
1422 echo "$0: unable to guess system type" >&2
1423
1424 case "$UNAME_MACHINE:$UNAME_SYSTEM" in
1425 mips:Linux | mips64:Linux)
1426 # If we got here on MIPS GNU/Linux, output extra information.
1427 cat >&2 <<EOF
1428
1429 NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
1430 the system type. Please install a C compiler and try again.
1431 EOF
1432 ;;
1433 esac
1434
1435 cat >&2 <<EOF
1436
1437 This script (version $timestamp), has failed to recognize the
1438 operating system you are using. If your script is old, overwrite *all*
1439 copies of config.guess and config.sub with the latest versions from:
1440
1441 https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
1442 and
1443 https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
1444
1445 If $0 has already been updated, send the following data and any
1446 information you think might be pertinent to config-patches@gnu.org to
1447 provide the necessary information to handle your system.
1448
1449 config.guess timestamp = $timestamp
1450
1451 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1452 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1453 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1454 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1455
1456 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1457 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1458
1459 hostinfo = `(hostinfo) 2>/dev/null`
1460 /bin/universe = `(/bin/universe) 2>/dev/null`
1461 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1462 /bin/arch = `(/bin/arch) 2>/dev/null`
1463 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1464 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1465
1466 UNAME_MACHINE = "$UNAME_MACHINE"
1467 UNAME_RELEASE = "$UNAME_RELEASE"
1468 UNAME_SYSTEM = "$UNAME_SYSTEM"
1469 UNAME_VERSION = "$UNAME_VERSION"
1470 EOF
1471
1472 exit 1
1473
1474 # Local variables:
1475 # eval: (add-hook 'write-file-functions 'time-stamp)
1476 # time-stamp-start: "timestamp='"
1477 # time-stamp-format: "%:y-%02m-%02d"
1478 # time-stamp-end: "'"
1479 # End:
0 #! /bin/sh
1 # Configuration validation subroutine script.
2 # Copyright 1992-2018 Free Software Foundation, Inc.
3
4 timestamp='2018-02-22'
5
6 # This file is free software; you can redistribute it and/or modify it
7 # under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 # General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, see <https://www.gnu.org/licenses/>.
18 #
19 # As a special exception to the GNU General Public License, if you
20 # distribute this file as part of a program that contains a
21 # configuration script generated by Autoconf, you may include it under
22 # the same distribution terms that you use for the rest of that
23 # program. This Exception is an additional permission under section 7
24 # of the GNU General Public License, version 3 ("GPLv3").
25
26
27 # Please send patches to <config-patches@gnu.org>.
28 #
29 # Configuration subroutine to validate and canonicalize a configuration type.
30 # Supply the specified configuration type as an argument.
31 # If it is invalid, we print an error message on stderr and exit with code 1.
32 # Otherwise, we print the canonical config type on stdout and succeed.
33
34 # You can get the latest version of this script from:
35 # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
36
37 # This file is supposed to be the same for all GNU packages
38 # and recognize all the CPU types, system types and aliases
39 # that are meaningful with *any* GNU software.
40 # Each package is responsible for reporting which valid configurations
41 # it does not support. The user should be able to distinguish
42 # a failure to support a valid configuration from a meaningless
43 # configuration.
44
45 # The goal of this file is to map all the various variations of a given
46 # machine specification into a single specification in the form:
47 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
48 # or in some cases, the newer four-part form:
49 # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
50 # It is wrong to echo any other type of specification.
51
52 me=`echo "$0" | sed -e 's,.*/,,'`
53
54 usage="\
55 Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
56
57 Canonicalize a configuration name.
58
59 Options:
60 -h, --help print this help, then exit
61 -t, --time-stamp print date of last modification, then exit
62 -v, --version print version number, then exit
63
64 Report bugs and patches to <config-patches@gnu.org>."
65
66 version="\
67 GNU config.sub ($timestamp)
68
69 Copyright 1992-2018 Free Software Foundation, Inc.
70
71 This is free software; see the source for copying conditions. There is NO
72 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
73
74 help="
75 Try \`$me --help' for more information."
76
77 # Parse command line
78 while test $# -gt 0 ; do
79 case $1 in
80 --time-stamp | --time* | -t )
81 echo "$timestamp" ; exit ;;
82 --version | -v )
83 echo "$version" ; exit ;;
84 --help | --h* | -h )
85 echo "$usage"; exit ;;
86 -- ) # Stop option processing
87 shift; break ;;
88 - ) # Use stdin as input.
89 break ;;
90 -* )
91 echo "$me: invalid option $1$help"
92 exit 1 ;;
93
94 *local*)
95 # First pass through any local machine types.
96 echo "$1"
97 exit ;;
98
99 * )
100 break ;;
101 esac
102 done
103
104 case $# in
105 0) echo "$me: missing argument$help" >&2
106 exit 1;;
107 1) ;;
108 *) echo "$me: too many arguments$help" >&2
109 exit 1;;
110 esac
111
112 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
113 # Here we must recognize all the valid KERNEL-OS combinations.
114 maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
115 case $maybe_os in
116 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
117 linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
118 knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
119 kopensolaris*-gnu* | cloudabi*-eabi* | \
120 storm-chaos* | os2-emx* | rtmk-nova*)
121 os=-$maybe_os
122 basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
123 ;;
124 android-linux)
125 os=-linux-android
126 basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
127 ;;
128 *)
129 basic_machine=`echo "$1" | sed 's/-[^-]*$//'`
130 if [ "$basic_machine" != "$1" ]
131 then os=`echo "$1" | sed 's/.*-/-/'`
132 else os=; fi
133 ;;
134 esac
135
136 ### Let's recognize common machines as not being operating systems so
137 ### that things like config.sub decstation-3100 work. We also
138 ### recognize some manufacturers as not being operating systems, so we
139 ### can provide default operating systems below.
140 case $os in
141 -sun*os*)
142 # Prevent following clause from handling this invalid input.
143 ;;
144 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
145 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
146 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
147 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
148 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
149 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
150 -apple | -axis | -knuth | -cray | -microblaze*)
151 os=
152 basic_machine=$1
153 ;;
154 -bluegene*)
155 os=-cnk
156 ;;
157 -sim | -cisco | -oki | -wec | -winbond)
158 os=
159 basic_machine=$1
160 ;;
161 -scout)
162 ;;
163 -wrs)
164 os=-vxworks
165 basic_machine=$1
166 ;;
167 -chorusos*)
168 os=-chorusos
169 basic_machine=$1
170 ;;
171 -chorusrdb)
172 os=-chorusrdb
173 basic_machine=$1
174 ;;
175 -hiux*)
176 os=-hiuxwe2
177 ;;
178 -sco6)
179 os=-sco5v6
180 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
181 ;;
182 -sco5)
183 os=-sco3.2v5
184 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
185 ;;
186 -sco4)
187 os=-sco3.2v4
188 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
189 ;;
190 -sco3.2.[4-9]*)
191 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
192 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
193 ;;
194 -sco3.2v[4-9]*)
195 # Don't forget version if it is 3.2v4 or newer.
196 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
197 ;;
198 -sco5v6*)
199 # Don't forget version if it is 3.2v4 or newer.
200 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
201 ;;
202 -sco*)
203 os=-sco3.2v2
204 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
205 ;;
206 -udk*)
207 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
208 ;;
209 -isc)
210 os=-isc2.2
211 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
212 ;;
213 -clix*)
214 basic_machine=clipper-intergraph
215 ;;
216 -isc*)
217 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
218 ;;
219 -lynx*178)
220 os=-lynxos178
221 ;;
222 -lynx*5)
223 os=-lynxos5
224 ;;
225 -lynx*)
226 os=-lynxos
227 ;;
228 -ptx*)
229 basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
230 ;;
231 -psos*)
232 os=-psos
233 ;;
234 -mint | -mint[0-9]*)
235 basic_machine=m68k-atari
236 os=-mint
237 ;;
238 esac
239
240 # Decode aliases for certain CPU-COMPANY combinations.
241 case $basic_machine in
242 # Recognize the basic CPU types without company name.
243 # Some are omitted here because they have special meanings below.
244 1750a | 580 \
245 | a29k \
246 | aarch64 | aarch64_be \
247 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
248 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
249 | am33_2.0 \
250 | arc | arceb \
251 | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
252 | avr | avr32 \
253 | ba \
254 | be32 | be64 \
255 | bfin \
256 | c4x | c8051 | clipper \
257 | d10v | d30v | dlx | dsp16xx \
258 | e2k | epiphany \
259 | fido | fr30 | frv | ft32 \
260 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
261 | hexagon \
262 | i370 | i860 | i960 | ia16 | ia64 \
263 | ip2k | iq2000 \
264 | k1om \
265 | le32 | le64 \
266 | lm32 \
267 | m32c | m32r | m32rle | m68000 | m68k | m88k \
268 | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
269 | mips | mipsbe | mipseb | mipsel | mipsle \
270 | mips16 \
271 | mips64 | mips64el \
272 | mips64octeon | mips64octeonel \
273 | mips64orion | mips64orionel \
274 | mips64r5900 | mips64r5900el \
275 | mips64vr | mips64vrel \
276 | mips64vr4100 | mips64vr4100el \
277 | mips64vr4300 | mips64vr4300el \
278 | mips64vr5000 | mips64vr5000el \
279 | mips64vr5900 | mips64vr5900el \
280 | mipsisa32 | mipsisa32el \
281 | mipsisa32r2 | mipsisa32r2el \
282 | mipsisa32r6 | mipsisa32r6el \
283 | mipsisa64 | mipsisa64el \
284 | mipsisa64r2 | mipsisa64r2el \
285 | mipsisa64r6 | mipsisa64r6el \
286 | mipsisa64sb1 | mipsisa64sb1el \
287 | mipsisa64sr71k | mipsisa64sr71kel \
288 | mipsr5900 | mipsr5900el \
289 | mipstx39 | mipstx39el \
290 | mn10200 | mn10300 \
291 | moxie \
292 | mt \
293 | msp430 \
294 | nds32 | nds32le | nds32be \
295 | nios | nios2 | nios2eb | nios2el \
296 | ns16k | ns32k \
297 | open8 | or1k | or1knd | or32 \
298 | pdp10 | pj | pjl \
299 | powerpc | powerpc64 | powerpc64le | powerpcle \
300 | pru \
301 | pyramid \
302 | riscv32 | riscv64 \
303 | rl78 | rx \
304 | score \
305 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
306 | sh64 | sh64le \
307 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
308 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
309 | spu \
310 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
311 | ubicom32 \
312 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
313 | visium \
314 | wasm32 \
315 | x86 | xc16x | xstormy16 | xtensa \
316 | z8k | z80)
317 basic_machine=$basic_machine-unknown
318 ;;
319 c54x)
320 basic_machine=tic54x-unknown
321 ;;
322 c55x)
323 basic_machine=tic55x-unknown
324 ;;
325 c6x)
326 basic_machine=tic6x-unknown
327 ;;
328 leon|leon[3-9])
329 basic_machine=sparc-$basic_machine
330 ;;
331 m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
332 basic_machine=$basic_machine-unknown
333 os=-none
334 ;;
335 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
336 ;;
337 ms1)
338 basic_machine=mt-unknown
339 ;;
340
341 strongarm | thumb | xscale)
342 basic_machine=arm-unknown
343 ;;
344 xgate)
345 basic_machine=$basic_machine-unknown
346 os=-none
347 ;;
348 xscaleeb)
349 basic_machine=armeb-unknown
350 ;;
351
352 xscaleel)
353 basic_machine=armel-unknown
354 ;;
355
356 # We use `pc' rather than `unknown'
357 # because (1) that's what they normally are, and
358 # (2) the word "unknown" tends to confuse beginning users.
359 i*86 | x86_64)
360 basic_machine=$basic_machine-pc
361 ;;
362 # Object if more than one company name word.
363 *-*-*)
364 echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
365 exit 1
366 ;;
367 # Recognize the basic CPU types with company name.
368 580-* \
369 | a29k-* \
370 | aarch64-* | aarch64_be-* \
371 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
372 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
373 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
374 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
375 | avr-* | avr32-* \
376 | ba-* \
377 | be32-* | be64-* \
378 | bfin-* | bs2000-* \
379 | c[123]* | c30-* | [cjt]90-* | c4x-* \
380 | c8051-* | clipper-* | craynv-* | cydra-* \
381 | d10v-* | d30v-* | dlx-* \
382 | e2k-* | elxsi-* \
383 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
384 | h8300-* | h8500-* \
385 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
386 | hexagon-* \
387 | i*86-* | i860-* | i960-* | ia16-* | ia64-* \
388 | ip2k-* | iq2000-* \
389 | k1om-* \
390 | le32-* | le64-* \
391 | lm32-* \
392 | m32c-* | m32r-* | m32rle-* \
393 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
394 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
395 | microblaze-* | microblazeel-* \
396 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
397 | mips16-* \
398 | mips64-* | mips64el-* \
399 | mips64octeon-* | mips64octeonel-* \
400 | mips64orion-* | mips64orionel-* \
401 | mips64r5900-* | mips64r5900el-* \
402 | mips64vr-* | mips64vrel-* \
403 | mips64vr4100-* | mips64vr4100el-* \
404 | mips64vr4300-* | mips64vr4300el-* \
405 | mips64vr5000-* | mips64vr5000el-* \
406 | mips64vr5900-* | mips64vr5900el-* \
407 | mipsisa32-* | mipsisa32el-* \
408 | mipsisa32r2-* | mipsisa32r2el-* \
409 | mipsisa32r6-* | mipsisa32r6el-* \
410 | mipsisa64-* | mipsisa64el-* \
411 | mipsisa64r2-* | mipsisa64r2el-* \
412 | mipsisa64r6-* | mipsisa64r6el-* \
413 | mipsisa64sb1-* | mipsisa64sb1el-* \
414 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
415 | mipsr5900-* | mipsr5900el-* \
416 | mipstx39-* | mipstx39el-* \
417 | mmix-* \
418 | mt-* \
419 | msp430-* \
420 | nds32-* | nds32le-* | nds32be-* \
421 | nios-* | nios2-* | nios2eb-* | nios2el-* \
422 | none-* | np1-* | ns16k-* | ns32k-* \
423 | open8-* \
424 | or1k*-* \
425 | orion-* \
426 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
427 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
428 | pru-* \
429 | pyramid-* \
430 | riscv32-* | riscv64-* \
431 | rl78-* | romp-* | rs6000-* | rx-* \
432 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
433 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
434 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
435 | sparclite-* \
436 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
437 | tahoe-* \
438 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
439 | tile*-* \
440 | tron-* \
441 | ubicom32-* \
442 | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
443 | vax-* \
444 | visium-* \
445 | wasm32-* \
446 | we32k-* \
447 | x86-* | x86_64-* | xc16x-* | xps100-* \
448 | xstormy16-* | xtensa*-* \
449 | ymp-* \
450 | z8k-* | z80-*)
451 ;;
452 # Recognize the basic CPU types without company name, with glob match.
453 xtensa*)
454 basic_machine=$basic_machine-unknown
455 ;;
456 # Recognize the various machine names and aliases which stand
457 # for a CPU type and a company and sometimes even an OS.
458 386bsd)
459 basic_machine=i386-pc
460 os=-bsd
461 ;;
462 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
463 basic_machine=m68000-att
464 ;;
465 3b*)
466 basic_machine=we32k-att
467 ;;
468 a29khif)
469 basic_machine=a29k-amd
470 os=-udi
471 ;;
472 abacus)
473 basic_machine=abacus-unknown
474 ;;
475 adobe68k)
476 basic_machine=m68010-adobe
477 os=-scout
478 ;;
479 alliant | fx80)
480 basic_machine=fx80-alliant
481 ;;
482 altos | altos3068)
483 basic_machine=m68k-altos
484 ;;
485 am29k)
486 basic_machine=a29k-none
487 os=-bsd
488 ;;
489 amd64)
490 basic_machine=x86_64-pc
491 ;;
492 amd64-*)
493 basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
494 ;;
495 amdahl)
496 basic_machine=580-amdahl
497 os=-sysv
498 ;;
499 amiga | amiga-*)
500 basic_machine=m68k-unknown
501 ;;
502 amigaos | amigados)
503 basic_machine=m68k-unknown
504 os=-amigaos
505 ;;
506 amigaunix | amix)
507 basic_machine=m68k-unknown
508 os=-sysv4
509 ;;
510 apollo68)
511 basic_machine=m68k-apollo
512 os=-sysv
513 ;;
514 apollo68bsd)
515 basic_machine=m68k-apollo
516 os=-bsd
517 ;;
518 aros)
519 basic_machine=i386-pc
520 os=-aros
521 ;;
522 asmjs)
523 basic_machine=asmjs-unknown
524 ;;
525 aux)
526 basic_machine=m68k-apple
527 os=-aux
528 ;;
529 balance)
530 basic_machine=ns32k-sequent
531 os=-dynix
532 ;;
533 blackfin)
534 basic_machine=bfin-unknown
535 os=-linux
536 ;;
537 blackfin-*)
538 basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
539 os=-linux
540 ;;
541 bluegene*)
542 basic_machine=powerpc-ibm
543 os=-cnk
544 ;;
545 c54x-*)
546 basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
547 ;;
548 c55x-*)
549 basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
550 ;;
551 c6x-*)
552 basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
553 ;;
554 c90)
555 basic_machine=c90-cray
556 os=-unicos
557 ;;
558 cegcc)
559 basic_machine=arm-unknown
560 os=-cegcc
561 ;;
562 convex-c1)
563 basic_machine=c1-convex
564 os=-bsd
565 ;;
566 convex-c2)
567 basic_machine=c2-convex
568 os=-bsd
569 ;;
570 convex-c32)
571 basic_machine=c32-convex
572 os=-bsd
573 ;;
574 convex-c34)
575 basic_machine=c34-convex
576 os=-bsd
577 ;;
578 convex-c38)
579 basic_machine=c38-convex
580 os=-bsd
581 ;;
582 cray | j90)
583 basic_machine=j90-cray
584 os=-unicos
585 ;;
586 craynv)
587 basic_machine=craynv-cray
588 os=-unicosmp
589 ;;
590 cr16 | cr16-*)
591 basic_machine=cr16-unknown
592 os=-elf
593 ;;
594 crds | unos)
595 basic_machine=m68k-crds
596 ;;
597 crisv32 | crisv32-* | etraxfs*)
598 basic_machine=crisv32-axis
599 ;;
600 cris | cris-* | etrax*)
601 basic_machine=cris-axis
602 ;;
603 crx)
604 basic_machine=crx-unknown
605 os=-elf
606 ;;
607 da30 | da30-*)
608 basic_machine=m68k-da30
609 ;;
610 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
611 basic_machine=mips-dec
612 ;;
613 decsystem10* | dec10*)
614 basic_machine=pdp10-dec
615 os=-tops10
616 ;;
617 decsystem20* | dec20*)
618 basic_machine=pdp10-dec
619 os=-tops20
620 ;;
621 delta | 3300 | motorola-3300 | motorola-delta \
622 | 3300-motorola | delta-motorola)
623 basic_machine=m68k-motorola
624 ;;
625 delta88)
626 basic_machine=m88k-motorola
627 os=-sysv3
628 ;;
629 dicos)
630 basic_machine=i686-pc
631 os=-dicos
632 ;;
633 djgpp)
634 basic_machine=i586-pc
635 os=-msdosdjgpp
636 ;;
637 dpx20 | dpx20-*)
638 basic_machine=rs6000-bull
639 os=-bosx
640 ;;
641 dpx2*)
642 basic_machine=m68k-bull
643 os=-sysv3
644 ;;
645 e500v[12])
646 basic_machine=powerpc-unknown
647 os=$os"spe"
648 ;;
649 e500v[12]-*)
650 basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
651 os=$os"spe"
652 ;;
653 ebmon29k)
654 basic_machine=a29k-amd
655 os=-ebmon
656 ;;
657 elxsi)
658 basic_machine=elxsi-elxsi
659 os=-bsd
660 ;;
661 encore | umax | mmax)
662 basic_machine=ns32k-encore
663 ;;
664 es1800 | OSE68k | ose68k | ose | OSE)
665 basic_machine=m68k-ericsson
666 os=-ose
667 ;;
668 fx2800)
669 basic_machine=i860-alliant
670 ;;
671 genix)
672 basic_machine=ns32k-ns
673 ;;
674 gmicro)
675 basic_machine=tron-gmicro
676 os=-sysv
677 ;;
678 go32)
679 basic_machine=i386-pc
680 os=-go32
681 ;;
682 h3050r* | hiux*)
683 basic_machine=hppa1.1-hitachi
684 os=-hiuxwe2
685 ;;
686 h8300hms)
687 basic_machine=h8300-hitachi
688 os=-hms
689 ;;
690 h8300xray)
691 basic_machine=h8300-hitachi
692 os=-xray
693 ;;
694 h8500hms)
695 basic_machine=h8500-hitachi
696 os=-hms
697 ;;
698 harris)
699 basic_machine=m88k-harris
700 os=-sysv3
701 ;;
702 hp300-*)
703 basic_machine=m68k-hp
704 ;;
705 hp300bsd)
706 basic_machine=m68k-hp
707 os=-bsd
708 ;;
709 hp300hpux)
710 basic_machine=m68k-hp
711 os=-hpux
712 ;;
713 hp3k9[0-9][0-9] | hp9[0-9][0-9])
714 basic_machine=hppa1.0-hp
715 ;;
716 hp9k2[0-9][0-9] | hp9k31[0-9])
717 basic_machine=m68000-hp
718 ;;
719 hp9k3[2-9][0-9])
720 basic_machine=m68k-hp
721 ;;
722 hp9k6[0-9][0-9] | hp6[0-9][0-9])
723 basic_machine=hppa1.0-hp
724 ;;
725 hp9k7[0-79][0-9] | hp7[0-79][0-9])
726 basic_machine=hppa1.1-hp
727 ;;
728 hp9k78[0-9] | hp78[0-9])
729 # FIXME: really hppa2.0-hp
730 basic_machine=hppa1.1-hp
731 ;;
732 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
733 # FIXME: really hppa2.0-hp
734 basic_machine=hppa1.1-hp
735 ;;
736 hp9k8[0-9][13679] | hp8[0-9][13679])
737 basic_machine=hppa1.1-hp
738 ;;
739 hp9k8[0-9][0-9] | hp8[0-9][0-9])
740 basic_machine=hppa1.0-hp
741 ;;
742 hppaosf)
743 basic_machine=hppa1.1-hp
744 os=-osf
745 ;;
746 hppro)
747 basic_machine=hppa1.1-hp
748 os=-proelf
749 ;;
750 i370-ibm* | ibm*)
751 basic_machine=i370-ibm
752 ;;
753 i*86v32)
754 basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
755 os=-sysv32
756 ;;
757 i*86v4*)
758 basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
759 os=-sysv4
760 ;;
761 i*86v)
762 basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
763 os=-sysv
764 ;;
765 i*86sol2)
766 basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
767 os=-solaris2
768 ;;
769 i386mach)
770 basic_machine=i386-mach
771 os=-mach
772 ;;
773 vsta)
774 basic_machine=i386-unknown
775 os=-vsta
776 ;;
777 iris | iris4d)
778 basic_machine=mips-sgi
779 case $os in
780 -irix*)
781 ;;
782 *)
783 os=-irix4
784 ;;
785 esac
786 ;;
787 isi68 | isi)
788 basic_machine=m68k-isi
789 os=-sysv
790 ;;
791 leon-*|leon[3-9]-*)
792 basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
793 ;;
794 m68knommu)
795 basic_machine=m68k-unknown
796 os=-linux
797 ;;
798 m68knommu-*)
799 basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
800 os=-linux
801 ;;
802 magnum | m3230)
803 basic_machine=mips-mips
804 os=-sysv
805 ;;
806 merlin)
807 basic_machine=ns32k-utek
808 os=-sysv
809 ;;
810 microblaze*)
811 basic_machine=microblaze-xilinx
812 ;;
813 mingw64)
814 basic_machine=x86_64-pc
815 os=-mingw64
816 ;;
817 mingw32)
818 basic_machine=i686-pc
819 os=-mingw32
820 ;;
821 mingw32ce)
822 basic_machine=arm-unknown
823 os=-mingw32ce
824 ;;
825 miniframe)
826 basic_machine=m68000-convergent
827 ;;
828 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
829 basic_machine=m68k-atari
830 os=-mint
831 ;;
832 mips3*-*)
833 basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
834 ;;
835 mips3*)
836 basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
837 ;;
838 monitor)
839 basic_machine=m68k-rom68k
840 os=-coff
841 ;;
842 morphos)
843 basic_machine=powerpc-unknown
844 os=-morphos
845 ;;
846 moxiebox)
847 basic_machine=moxie-unknown
848 os=-moxiebox
849 ;;
850 msdos)
851 basic_machine=i386-pc
852 os=-msdos
853 ;;
854 ms1-*)
855 basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
856 ;;
857 msys)
858 basic_machine=i686-pc
859 os=-msys
860 ;;
861 mvs)
862 basic_machine=i370-ibm
863 os=-mvs
864 ;;
865 nacl)
866 basic_machine=le32-unknown
867 os=-nacl
868 ;;
869 ncr3000)
870 basic_machine=i486-ncr
871 os=-sysv4
872 ;;
873 netbsd386)
874 basic_machine=i386-unknown
875 os=-netbsd
876 ;;
877 netwinder)
878 basic_machine=armv4l-rebel
879 os=-linux
880 ;;
881 news | news700 | news800 | news900)
882 basic_machine=m68k-sony
883 os=-newsos
884 ;;
885 news1000)
886 basic_machine=m68030-sony
887 os=-newsos
888 ;;
889 news-3600 | risc-news)
890 basic_machine=mips-sony
891 os=-newsos
892 ;;
893 necv70)
894 basic_machine=v70-nec
895 os=-sysv
896 ;;
897 next | m*-next)
898 basic_machine=m68k-next
899 case $os in
900 -nextstep* )
901 ;;
902 -ns2*)
903 os=-nextstep2
904 ;;
905 *)
906 os=-nextstep3
907 ;;
908 esac
909 ;;
910 nh3000)
911 basic_machine=m68k-harris
912 os=-cxux
913 ;;
914 nh[45]000)
915 basic_machine=m88k-harris
916 os=-cxux
917 ;;
918 nindy960)
919 basic_machine=i960-intel
920 os=-nindy
921 ;;
922 mon960)
923 basic_machine=i960-intel
924 os=-mon960
925 ;;
926 nonstopux)
927 basic_machine=mips-compaq
928 os=-nonstopux
929 ;;
930 np1)
931 basic_machine=np1-gould
932 ;;
933 neo-tandem)
934 basic_machine=neo-tandem
935 ;;
936 nse-tandem)
937 basic_machine=nse-tandem
938 ;;
939 nsr-tandem)
940 basic_machine=nsr-tandem
941 ;;
942 nsv-tandem)
943 basic_machine=nsv-tandem
944 ;;
945 nsx-tandem)
946 basic_machine=nsx-tandem
947 ;;
948 op50n-* | op60c-*)
949 basic_machine=hppa1.1-oki
950 os=-proelf
951 ;;
952 openrisc | openrisc-*)
953 basic_machine=or32-unknown
954 ;;
955 os400)
956 basic_machine=powerpc-ibm
957 os=-os400
958 ;;
959 OSE68000 | ose68000)
960 basic_machine=m68000-ericsson
961 os=-ose
962 ;;
963 os68k)
964 basic_machine=m68k-none
965 os=-os68k
966 ;;
967 pa-hitachi)
968 basic_machine=hppa1.1-hitachi
969 os=-hiuxwe2
970 ;;
971 paragon)
972 basic_machine=i860-intel
973 os=-osf
974 ;;
975 parisc)
976 basic_machine=hppa-unknown
977 os=-linux
978 ;;
979 parisc-*)
980 basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
981 os=-linux
982 ;;
983 pbd)
984 basic_machine=sparc-tti
985 ;;
986 pbb)
987 basic_machine=m68k-tti
988 ;;
989 pc532 | pc532-*)
990 basic_machine=ns32k-pc532
991 ;;
992 pc98)
993 basic_machine=i386-pc
994 ;;
995 pc98-*)
996 basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
997 ;;
998 pentium | p5 | k5 | k6 | nexgen | viac3)
999 basic_machine=i586-pc
1000 ;;
1001 pentiumpro | p6 | 6x86 | athlon | athlon_*)
1002 basic_machine=i686-pc
1003 ;;
1004 pentiumii | pentium2 | pentiumiii | pentium3)
1005 basic_machine=i686-pc
1006 ;;
1007 pentium4)
1008 basic_machine=i786-pc
1009 ;;
1010 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1011 basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1012 ;;
1013 pentiumpro-* | p6-* | 6x86-* | athlon-*)
1014 basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1015 ;;
1016 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1017 basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1018 ;;
1019 pentium4-*)
1020 basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1021 ;;
1022 pn)
1023 basic_machine=pn-gould
1024 ;;
1025 power) basic_machine=power-ibm
1026 ;;
1027 ppc | ppcbe) basic_machine=powerpc-unknown
1028 ;;
1029 ppc-* | ppcbe-*)
1030 basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1031 ;;
1032 ppcle | powerpclittle)
1033 basic_machine=powerpcle-unknown
1034 ;;
1035 ppcle-* | powerpclittle-*)
1036 basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1037 ;;
1038 ppc64) basic_machine=powerpc64-unknown
1039 ;;
1040 ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1041 ;;
1042 ppc64le | powerpc64little)
1043 basic_machine=powerpc64le-unknown
1044 ;;
1045 ppc64le-* | powerpc64little-*)
1046 basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1047 ;;
1048 ps2)
1049 basic_machine=i386-ibm
1050 ;;
1051 pw32)
1052 basic_machine=i586-unknown
1053 os=-pw32
1054 ;;
1055 rdos | rdos64)
1056 basic_machine=x86_64-pc
1057 os=-rdos
1058 ;;
1059 rdos32)
1060 basic_machine=i386-pc
1061 os=-rdos
1062 ;;
1063 rom68k)
1064 basic_machine=m68k-rom68k
1065 os=-coff
1066 ;;
1067 rm[46]00)
1068 basic_machine=mips-siemens
1069 ;;
1070 rtpc | rtpc-*)
1071 basic_machine=romp-ibm
1072 ;;
1073 s390 | s390-*)
1074 basic_machine=s390-ibm
1075 ;;
1076 s390x | s390x-*)
1077 basic_machine=s390x-ibm
1078 ;;
1079 sa29200)
1080 basic_machine=a29k-amd
1081 os=-udi
1082 ;;
1083 sb1)
1084 basic_machine=mipsisa64sb1-unknown
1085 ;;
1086 sb1el)
1087 basic_machine=mipsisa64sb1el-unknown
1088 ;;
1089 sde)
1090 basic_machine=mipsisa32-sde
1091 os=-elf
1092 ;;
1093 sei)
1094 basic_machine=mips-sei
1095 os=-seiux
1096 ;;
1097 sequent)
1098 basic_machine=i386-sequent
1099 ;;
1100 sh5el)
1101 basic_machine=sh5le-unknown
1102 ;;
1103 simso-wrs)
1104 basic_machine=sparclite-wrs
1105 os=-vxworks
1106 ;;
1107 sps7)
1108 basic_machine=m68k-bull
1109 os=-sysv2
1110 ;;
1111 spur)
1112 basic_machine=spur-unknown
1113 ;;
1114 st2000)
1115 basic_machine=m68k-tandem
1116 ;;
1117 stratus)
1118 basic_machine=i860-stratus
1119 os=-sysv4
1120 ;;
1121 strongarm-* | thumb-*)
1122 basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1123 ;;
1124 sun2)
1125 basic_machine=m68000-sun
1126 ;;
1127 sun2os3)
1128 basic_machine=m68000-sun
1129 os=-sunos3
1130 ;;
1131 sun2os4)
1132 basic_machine=m68000-sun
1133 os=-sunos4
1134 ;;
1135 sun3os3)
1136 basic_machine=m68k-sun
1137 os=-sunos3
1138 ;;
1139 sun3os4)
1140 basic_machine=m68k-sun
1141 os=-sunos4
1142 ;;
1143 sun4os3)
1144 basic_machine=sparc-sun
1145 os=-sunos3
1146 ;;
1147 sun4os4)
1148 basic_machine=sparc-sun
1149 os=-sunos4
1150 ;;
1151 sun4sol2)
1152 basic_machine=sparc-sun
1153 os=-solaris2
1154 ;;
1155 sun3 | sun3-*)
1156 basic_machine=m68k-sun
1157 ;;
1158 sun4)
1159 basic_machine=sparc-sun
1160 ;;
1161 sun386 | sun386i | roadrunner)
1162 basic_machine=i386-sun
1163 ;;
1164 sv1)
1165 basic_machine=sv1-cray
1166 os=-unicos
1167 ;;
1168 symmetry)
1169 basic_machine=i386-sequent
1170 os=-dynix
1171 ;;
1172 t3e)
1173 basic_machine=alphaev5-cray
1174 os=-unicos
1175 ;;
1176 t90)
1177 basic_machine=t90-cray
1178 os=-unicos
1179 ;;
1180 tile*)
1181 basic_machine=$basic_machine-unknown
1182 os=-linux-gnu
1183 ;;
1184 tx39)
1185 basic_machine=mipstx39-unknown
1186 ;;
1187 tx39el)
1188 basic_machine=mipstx39el-unknown
1189 ;;
1190 toad1)
1191 basic_machine=pdp10-xkl
1192 os=-tops20
1193 ;;
1194 tower | tower-32)
1195 basic_machine=m68k-ncr
1196 ;;
1197 tpf)
1198 basic_machine=s390x-ibm
1199 os=-tpf
1200 ;;
1201 udi29k)
1202 basic_machine=a29k-amd
1203 os=-udi
1204 ;;
1205 ultra3)
1206 basic_machine=a29k-nyu
1207 os=-sym1
1208 ;;
1209 v810 | necv810)
1210 basic_machine=v810-nec
1211 os=-none
1212 ;;
1213 vaxv)
1214 basic_machine=vax-dec
1215 os=-sysv
1216 ;;
1217 vms)
1218 basic_machine=vax-dec
1219 os=-vms
1220 ;;
1221 vpp*|vx|vx-*)
1222 basic_machine=f301-fujitsu
1223 ;;
1224 vxworks960)
1225 basic_machine=i960-wrs
1226 os=-vxworks
1227 ;;
1228 vxworks68)
1229 basic_machine=m68k-wrs
1230 os=-vxworks
1231 ;;
1232 vxworks29k)
1233 basic_machine=a29k-wrs
1234 os=-vxworks
1235 ;;
1236 w65*)
1237 basic_machine=w65-wdc
1238 os=-none
1239 ;;
1240 w89k-*)
1241 basic_machine=hppa1.1-winbond
1242 os=-proelf
1243 ;;
1244 x64)
1245 basic_machine=x86_64-pc
1246 ;;
1247 xbox)
1248 basic_machine=i686-pc
1249 os=-mingw32
1250 ;;
1251 xps | xps100)
1252 basic_machine=xps100-honeywell
1253 ;;
1254 xscale-* | xscalee[bl]-*)
1255 basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
1256 ;;
1257 ymp)
1258 basic_machine=ymp-cray
1259 os=-unicos
1260 ;;
1261 none)
1262 basic_machine=none-none
1263 os=-none
1264 ;;
1265
1266 # Here we handle the default manufacturer of certain CPU types. It is in
1267 # some cases the only manufacturer, in others, it is the most popular.
1268 w89k)
1269 basic_machine=hppa1.1-winbond
1270 ;;
1271 op50n)
1272 basic_machine=hppa1.1-oki
1273 ;;
1274 op60c)
1275 basic_machine=hppa1.1-oki
1276 ;;
1277 romp)
1278 basic_machine=romp-ibm
1279 ;;
1280 mmix)
1281 basic_machine=mmix-knuth
1282 ;;
1283 rs6000)
1284 basic_machine=rs6000-ibm
1285 ;;
1286 vax)
1287 basic_machine=vax-dec
1288 ;;
1289 pdp11)
1290 basic_machine=pdp11-dec
1291 ;;
1292 we32k)
1293 basic_machine=we32k-att
1294 ;;
1295 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1296 basic_machine=sh-unknown
1297 ;;
1298 cydra)
1299 basic_machine=cydra-cydrome
1300 ;;
1301 orion)
1302 basic_machine=orion-highlevel
1303 ;;
1304 orion105)
1305 basic_machine=clipper-highlevel
1306 ;;
1307 mac | mpw | mac-mpw)
1308 basic_machine=m68k-apple
1309 ;;
1310 pmac | pmac-mpw)
1311 basic_machine=powerpc-apple
1312 ;;
1313 *-unknown)
1314 # Make sure to match an already-canonicalized machine name.
1315 ;;
1316 *)
1317 echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
1318 exit 1
1319 ;;
1320 esac
1321
1322 # Here we canonicalize certain aliases for manufacturers.
1323 case $basic_machine in
1324 *-digital*)
1325 basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
1326 ;;
1327 *-commodore*)
1328 basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
1329 ;;
1330 *)
1331 ;;
1332 esac
1333
1334 # Decode manufacturer-specific aliases for certain operating systems.
1335
1336 if [ x"$os" != x"" ]
1337 then
1338 case $os in
1339 # First match some system type aliases that might get confused
1340 # with valid system types.
1341 # -solaris* is a basic system type, with this one exception.
1342 -auroraux)
1343 os=-auroraux
1344 ;;
1345 -solaris1 | -solaris1.*)
1346 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1347 ;;
1348 -solaris)
1349 os=-solaris2
1350 ;;
1351 -unixware*)
1352 os=-sysv4.2uw
1353 ;;
1354 -gnu/linux*)
1355 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1356 ;;
1357 # es1800 is here to avoid being matched by es* (a different OS)
1358 -es1800*)
1359 os=-ose
1360 ;;
1361 # Now accept the basic system types.
1362 # The portable systems comes first.
1363 # Each alternative MUST end in a * to match a version number.
1364 # -sysv* is not here because it comes later, after sysvr4.
1365 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1366 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1367 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1368 | -sym* | -kopensolaris* | -plan9* \
1369 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1370 | -aos* | -aros* | -cloudabi* | -sortix* \
1371 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1372 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1373 | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \
1374 | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
1375 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1376 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1377 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1378 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1379 | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
1380 | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1381 | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1382 | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1383 | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
1384 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \
1385 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1386 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1387 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1388 | -morphos* | -superux* | -rtmk* | -windiss* \
1389 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1390 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
1391 | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \
1392 | -midnightbsd*)
1393 # Remember, each alternative MUST END IN *, to match a version number.
1394 ;;
1395 -qnx*)
1396 case $basic_machine in
1397 x86-* | i*86-*)
1398 ;;
1399 *)
1400 os=-nto$os
1401 ;;
1402 esac
1403 ;;
1404 -nto-qnx*)
1405 ;;
1406 -nto*)
1407 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1408 ;;
1409 -sim | -xray | -os68k* | -v88r* \
1410 | -windows* | -osx | -abug | -netware* | -os9* \
1411 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1412 ;;
1413 -mac*)
1414 os=`echo "$os" | sed -e 's|mac|macos|'`
1415 ;;
1416 -linux-dietlibc)
1417 os=-linux-dietlibc
1418 ;;
1419 -linux*)
1420 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1421 ;;
1422 -sunos5*)
1423 os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
1424 ;;
1425 -sunos6*)
1426 os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
1427 ;;
1428 -opened*)
1429 os=-openedition
1430 ;;
1431 -os400*)
1432 os=-os400
1433 ;;
1434 -wince*)
1435 os=-wince
1436 ;;
1437 -utek*)
1438 os=-bsd
1439 ;;
1440 -dynix*)
1441 os=-bsd
1442 ;;
1443 -acis*)
1444 os=-aos
1445 ;;
1446 -atheos*)
1447 os=-atheos
1448 ;;
1449 -syllable*)
1450 os=-syllable
1451 ;;
1452 -386bsd)
1453 os=-bsd
1454 ;;
1455 -ctix* | -uts*)
1456 os=-sysv
1457 ;;
1458 -nova*)
1459 os=-rtmk-nova
1460 ;;
1461 -ns2)
1462 os=-nextstep2
1463 ;;
1464 -nsk*)
1465 os=-nsk
1466 ;;
1467 # Preserve the version number of sinix5.
1468 -sinix5.*)
1469 os=`echo $os | sed -e 's|sinix|sysv|'`
1470 ;;
1471 -sinix*)
1472 os=-sysv4
1473 ;;
1474 -tpf*)
1475 os=-tpf
1476 ;;
1477 -triton*)
1478 os=-sysv3
1479 ;;
1480 -oss*)
1481 os=-sysv3
1482 ;;
1483 -svr4*)
1484 os=-sysv4
1485 ;;
1486 -svr3)
1487 os=-sysv3
1488 ;;
1489 -sysvr4)
1490 os=-sysv4
1491 ;;
1492 # This must come after -sysvr4.
1493 -sysv*)
1494 ;;
1495 -ose*)
1496 os=-ose
1497 ;;
1498 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1499 os=-mint
1500 ;;
1501 -zvmoe)
1502 os=-zvmoe
1503 ;;
1504 -dicos*)
1505 os=-dicos
1506 ;;
1507 -pikeos*)
1508 # Until real need of OS specific support for
1509 # particular features comes up, bare metal
1510 # configurations are quite functional.
1511 case $basic_machine in
1512 arm*)
1513 os=-eabi
1514 ;;
1515 *)
1516 os=-elf
1517 ;;
1518 esac
1519 ;;
1520 -nacl*)
1521 ;;
1522 -ios)
1523 ;;
1524 -none)
1525 ;;
1526 *)
1527 # Get rid of the `-' at the beginning of $os.
1528 os=`echo $os | sed 's/[^-]*-//'`
1529 echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
1530 exit 1
1531 ;;
1532 esac
1533 else
1534
1535 # Here we handle the default operating systems that come with various machines.
1536 # The value should be what the vendor currently ships out the door with their
1537 # machine or put another way, the most popular os provided with the machine.
1538
1539 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1540 # "-sun"), then you have to tell the case statement up towards the top
1541 # that MANUFACTURER isn't an operating system. Otherwise, code above
1542 # will signal an error saying that MANUFACTURER isn't an operating
1543 # system, and we'll never get to this point.
1544
1545 case $basic_machine in
1546 score-*)
1547 os=-elf
1548 ;;
1549 spu-*)
1550 os=-elf
1551 ;;
1552 *-acorn)
1553 os=-riscix1.2
1554 ;;
1555 arm*-rebel)
1556 os=-linux
1557 ;;
1558 arm*-semi)
1559 os=-aout
1560 ;;
1561 c4x-* | tic4x-*)
1562 os=-coff
1563 ;;
1564 c8051-*)
1565 os=-elf
1566 ;;
1567 hexagon-*)
1568 os=-elf
1569 ;;
1570 tic54x-*)
1571 os=-coff
1572 ;;
1573 tic55x-*)
1574 os=-coff
1575 ;;
1576 tic6x-*)
1577 os=-coff
1578 ;;
1579 # This must come before the *-dec entry.
1580 pdp10-*)
1581 os=-tops20
1582 ;;
1583 pdp11-*)
1584 os=-none
1585 ;;
1586 *-dec | vax-*)
1587 os=-ultrix4.2
1588 ;;
1589 m68*-apollo)
1590 os=-domain
1591 ;;
1592 i386-sun)
1593 os=-sunos4.0.2
1594 ;;
1595 m68000-sun)
1596 os=-sunos3
1597 ;;
1598 m68*-cisco)
1599 os=-aout
1600 ;;
1601 mep-*)
1602 os=-elf
1603 ;;
1604 mips*-cisco)
1605 os=-elf
1606 ;;
1607 mips*-*)
1608 os=-elf
1609 ;;
1610 or32-*)
1611 os=-coff
1612 ;;
1613 *-tti) # must be before sparc entry or we get the wrong os.
1614 os=-sysv3
1615 ;;
1616 sparc-* | *-sun)
1617 os=-sunos4.1.1
1618 ;;
1619 pru-*)
1620 os=-elf
1621 ;;
1622 *-be)
1623 os=-beos
1624 ;;
1625 *-ibm)
1626 os=-aix
1627 ;;
1628 *-knuth)
1629 os=-mmixware
1630 ;;
1631 *-wec)
1632 os=-proelf
1633 ;;
1634 *-winbond)
1635 os=-proelf
1636 ;;
1637 *-oki)
1638 os=-proelf
1639 ;;
1640 *-hp)
1641 os=-hpux
1642 ;;
1643 *-hitachi)
1644 os=-hiux
1645 ;;
1646 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1647 os=-sysv
1648 ;;
1649 *-cbm)
1650 os=-amigaos
1651 ;;
1652 *-dg)
1653 os=-dgux
1654 ;;
1655 *-dolphin)
1656 os=-sysv3
1657 ;;
1658 m68k-ccur)
1659 os=-rtu
1660 ;;
1661 m88k-omron*)
1662 os=-luna
1663 ;;
1664 *-next)
1665 os=-nextstep
1666 ;;
1667 *-sequent)
1668 os=-ptx
1669 ;;
1670 *-crds)
1671 os=-unos
1672 ;;
1673 *-ns)
1674 os=-genix
1675 ;;
1676 i370-*)
1677 os=-mvs
1678 ;;
1679 *-gould)
1680 os=-sysv
1681 ;;
1682 *-highlevel)
1683 os=-bsd
1684 ;;
1685 *-encore)
1686 os=-bsd
1687 ;;
1688 *-sgi)
1689 os=-irix
1690 ;;
1691 *-siemens)
1692 os=-sysv4
1693 ;;
1694 *-masscomp)
1695 os=-rtu
1696 ;;
1697 f30[01]-fujitsu | f700-fujitsu)
1698 os=-uxpv
1699 ;;
1700 *-rom68k)
1701 os=-coff
1702 ;;
1703 *-*bug)
1704 os=-coff
1705 ;;
1706 *-apple)
1707 os=-macos
1708 ;;
1709 *-atari*)
1710 os=-mint
1711 ;;
1712 *)
1713 os=-none
1714 ;;
1715 esac
1716 fi
1717
1718 # Here we handle the case where we know the os, and the CPU type, but not the
1719 # manufacturer. We pick the logical manufacturer.
1720 vendor=unknown
1721 case $basic_machine in
1722 *-unknown)
1723 case $os in
1724 -riscix*)
1725 vendor=acorn
1726 ;;
1727 -sunos*)
1728 vendor=sun
1729 ;;
1730 -cnk*|-aix*)
1731 vendor=ibm
1732 ;;
1733 -beos*)
1734 vendor=be
1735 ;;
1736 -hpux*)
1737 vendor=hp
1738 ;;
1739 -mpeix*)
1740 vendor=hp
1741 ;;
1742 -hiux*)
1743 vendor=hitachi
1744 ;;
1745 -unos*)
1746 vendor=crds
1747 ;;
1748 -dgux*)
1749 vendor=dg
1750 ;;
1751 -luna*)
1752 vendor=omron
1753 ;;
1754 -genix*)
1755 vendor=ns
1756 ;;
1757 -mvs* | -opened*)
1758 vendor=ibm
1759 ;;
1760 -os400*)
1761 vendor=ibm
1762 ;;
1763 -ptx*)
1764 vendor=sequent
1765 ;;
1766 -tpf*)
1767 vendor=ibm
1768 ;;
1769 -vxsim* | -vxworks* | -windiss*)
1770 vendor=wrs
1771 ;;
1772 -aux*)
1773 vendor=apple
1774 ;;
1775 -hms*)
1776 vendor=hitachi
1777 ;;
1778 -mpw* | -macos*)
1779 vendor=apple
1780 ;;
1781 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1782 vendor=atari
1783 ;;
1784 -vos*)
1785 vendor=stratus
1786 ;;
1787 esac
1788 basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
1789 ;;
1790 esac
1791
1792 echo "$basic_machine$os"
1793 exit
1794
1795 # Local variables:
1796 # eval: (add-hook 'write-file-functions 'time-stamp)
1797 # time-stamp-start: "timestamp='"
1798 # time-stamp-format: "%:y-%02m-%02d"
1799 # time-stamp-end: "'"
1800 # End:
0 #! /bin/sh
1 # Guess values for system-dependent variables and create Makefiles.
2 # Generated by GNU Autoconf 2.69 for LibHTP 0.5.37.
3 #
4 #
5 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
6 #
7 #
8 # This configure script is free software; the Free Software Foundation
9 # gives unlimited permission to copy, distribute and modify it.
10 ## -------------------- ##
11 ## M4sh Initialization. ##
12 ## -------------------- ##
13
14 # Be more Bourne compatible
15 DUALCASE=1; export DUALCASE # for MKS sh
16 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
17 emulate sh
18 NULLCMD=:
19 # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
20 # is contrary to our usage. Disable this feature.
21 alias -g '${1+"$@"}'='"$@"'
22 setopt NO_GLOB_SUBST
23 else
24 case `(set -o) 2>/dev/null` in #(
25 *posix*) :
26 set -o posix ;; #(
27 *) :
28 ;;
29 esac
30 fi
31
32
33 as_nl='
34 '
35 export as_nl
36 # Printing a long string crashes Solaris 7 /usr/bin/printf.
37 as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
38 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
39 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
40 # Prefer a ksh shell builtin over an external printf program on Solaris,
41 # but without wasting forks for bash or zsh.
42 if test -z "$BASH_VERSION$ZSH_VERSION" \
43 && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
44 as_echo='print -r --'
45 as_echo_n='print -rn --'
46 elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
47 as_echo='printf %s\n'
48 as_echo_n='printf %s'
49 else
50 if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
51 as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
52 as_echo_n='/usr/ucb/echo -n'
53 else
54 as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
55 as_echo_n_body='eval
56 arg=$1;
57 case $arg in #(
58 *"$as_nl"*)
59 expr "X$arg" : "X\\(.*\\)$as_nl";
60 arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
61 esac;
62 expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
63 '
64 export as_echo_n_body
65 as_echo_n='sh -c $as_echo_n_body as_echo'
66 fi
67 export as_echo_body
68 as_echo='sh -c $as_echo_body as_echo'
69 fi
70
71 # The user is always right.
72 if test "${PATH_SEPARATOR+set}" != set; then
73 PATH_SEPARATOR=:
74 (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
75 (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
76 PATH_SEPARATOR=';'
77 }
78 fi
79
80
81 # IFS
82 # We need space, tab and new line, in precisely that order. Quoting is
83 # there to prevent editors from complaining about space-tab.
84 # (If _AS_PATH_WALK were called with IFS unset, it would disable word
85 # splitting by setting IFS to empty value.)
86 IFS=" "" $as_nl"
87
88 # Find who we are. Look in the path if we contain no directory separator.
89 as_myself=
90 case $0 in #((
91 *[\\/]* ) as_myself=$0 ;;
92 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
93 for as_dir in $PATH
94 do
95 IFS=$as_save_IFS
96 test -z "$as_dir" && as_dir=.
97 test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
98 done
99 IFS=$as_save_IFS
100
101 ;;
102 esac
103 # We did not find ourselves, most probably we were run as `sh COMMAND'
104 # in which case we are not to be found in the path.
105 if test "x$as_myself" = x; then
106 as_myself=$0
107 fi
108 if test ! -f "$as_myself"; then
109 $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
110 exit 1
111 fi
112
113 # Unset variables that we do not need and which cause bugs (e.g. in
114 # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
115 # suppresses any "Segmentation fault" message there. '((' could
116 # trigger a bug in pdksh 5.2.14.
117 for as_var in BASH_ENV ENV MAIL MAILPATH
118 do eval test x\${$as_var+set} = xset \
119 && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
120 done
121 PS1='$ '
122 PS2='> '
123 PS4='+ '
124
125 # NLS nuisances.
126 LC_ALL=C
127 export LC_ALL
128 LANGUAGE=C
129 export LANGUAGE
130
131 # CDPATH.
132 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
133
134 # Use a proper internal environment variable to ensure we don't fall
135 # into an infinite loop, continuously re-executing ourselves.
136 if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
137 _as_can_reexec=no; export _as_can_reexec;
138 # We cannot yet assume a decent shell, so we have to provide a
139 # neutralization value for shells without unset; and this also
140 # works around shells that cannot unset nonexistent variables.
141 # Preserve -v and -x to the replacement shell.
142 BASH_ENV=/dev/null
143 ENV=/dev/null
144 (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
145 case $- in # ((((
146 *v*x* | *x*v* ) as_opts=-vx ;;
147 *v* ) as_opts=-v ;;
148 *x* ) as_opts=-x ;;
149 * ) as_opts= ;;
150 esac
151 exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
152 # Admittedly, this is quite paranoid, since all the known shells bail
153 # out after a failed `exec'.
154 $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
155 as_fn_exit 255
156 fi
157 # We don't want this to propagate to other subprocesses.
158 { _as_can_reexec=; unset _as_can_reexec;}
159 if test "x$CONFIG_SHELL" = x; then
160 as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
161 emulate sh
162 NULLCMD=:
163 # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
164 # is contrary to our usage. Disable this feature.
165 alias -g '\${1+\"\$@\"}'='\"\$@\"'
166 setopt NO_GLOB_SUBST
167 else
168 case \`(set -o) 2>/dev/null\` in #(
169 *posix*) :
170 set -o posix ;; #(
171 *) :
172 ;;
173 esac
174 fi
175 "
176 as_required="as_fn_return () { (exit \$1); }
177 as_fn_success () { as_fn_return 0; }
178 as_fn_failure () { as_fn_return 1; }
179 as_fn_ret_success () { return 0; }
180 as_fn_ret_failure () { return 1; }
181
182 exitcode=0
183 as_fn_success || { exitcode=1; echo as_fn_success failed.; }
184 as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
185 as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
186 as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
187 if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
188
189 else
190 exitcode=1; echo positional parameters were not saved.
191 fi
192 test x\$exitcode = x0 || exit 1
193 test -x / || exit 1"
194 as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
195 as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
196 eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
197 test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
198
199 test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
200 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
201 ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
202 ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
203 PATH=/empty FPATH=/empty; export PATH FPATH
204 test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
205 || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
206 test \$(( 1 + 1 )) = 2 || exit 1"
207 if (eval "$as_required") 2>/dev/null; then :
208 as_have_required=yes
209 else
210 as_have_required=no
211 fi
212 if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
213
214 else
215 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
216 as_found=false
217 for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
218 do
219 IFS=$as_save_IFS
220 test -z "$as_dir" && as_dir=.
221 as_found=:
222 case $as_dir in #(
223 /*)
224 for as_base in sh bash ksh sh5; do
225 # Try only shells that exist, to save several forks.
226 as_shell=$as_dir/$as_base
227 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
228 { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
229 CONFIG_SHELL=$as_shell as_have_required=yes
230 if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
231 break 2
232 fi
233 fi
234 done;;
235 esac
236 as_found=false
237 done
238 $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
239 { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
240 CONFIG_SHELL=$SHELL as_have_required=yes
241 fi; }
242 IFS=$as_save_IFS
243
244
245 if test "x$CONFIG_SHELL" != x; then :
246 export CONFIG_SHELL
247 # We cannot yet assume a decent shell, so we have to provide a
248 # neutralization value for shells without unset; and this also
249 # works around shells that cannot unset nonexistent variables.
250 # Preserve -v and -x to the replacement shell.
251 BASH_ENV=/dev/null
252 ENV=/dev/null
253 (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
254 case $- in # ((((
255 *v*x* | *x*v* ) as_opts=-vx ;;
256 *v* ) as_opts=-v ;;
257 *x* ) as_opts=-x ;;
258 * ) as_opts= ;;
259 esac
260 exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
261 # Admittedly, this is quite paranoid, since all the known shells bail
262 # out after a failed `exec'.
263 $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
264 exit 255
265 fi
266
267 if test x$as_have_required = xno; then :
268 $as_echo "$0: This script requires a shell more modern than all"
269 $as_echo "$0: the shells that I found on your system."
270 if test x${ZSH_VERSION+set} = xset ; then
271 $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
272 $as_echo "$0: be upgraded to zsh 4.3.4 or later."
273 else
274 $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
275 $0: including any error possibly output before this
276 $0: message. Then install a modern shell, or manually run
277 $0: the script under such a shell if you do have one."
278 fi
279 exit 1
280 fi
281 fi
282 fi
283 SHELL=${CONFIG_SHELL-/bin/sh}
284 export SHELL
285 # Unset more variables known to interfere with behavior of common tools.
286 CLICOLOR_FORCE= GREP_OPTIONS=
287 unset CLICOLOR_FORCE GREP_OPTIONS
288
289 ## --------------------- ##
290 ## M4sh Shell Functions. ##
291 ## --------------------- ##
292 # as_fn_unset VAR
293 # ---------------
294 # Portably unset VAR.
295 as_fn_unset ()
296 {
297 { eval $1=; unset $1;}
298 }
299 as_unset=as_fn_unset
300
301 # as_fn_set_status STATUS
302 # -----------------------
303 # Set $? to STATUS, without forking.
304 as_fn_set_status ()
305 {
306 return $1
307 } # as_fn_set_status
308
309 # as_fn_exit STATUS
310 # -----------------
311 # Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
312 as_fn_exit ()
313 {
314 set +e
315 as_fn_set_status $1
316 exit $1
317 } # as_fn_exit
318
319 # as_fn_mkdir_p
320 # -------------
321 # Create "$as_dir" as a directory, including parents if necessary.
322 as_fn_mkdir_p ()
323 {
324
325 case $as_dir in #(
326 -*) as_dir=./$as_dir;;
327 esac
328 test -d "$as_dir" || eval $as_mkdir_p || {
329 as_dirs=
330 while :; do
331 case $as_dir in #(
332 *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
333 *) as_qdir=$as_dir;;
334 esac
335 as_dirs="'$as_qdir' $as_dirs"
336 as_dir=`$as_dirname -- "$as_dir" ||
337 $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
338 X"$as_dir" : 'X\(//\)[^/]' \| \
339 X"$as_dir" : 'X\(//\)$' \| \
340 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
341 $as_echo X"$as_dir" |
342 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
343 s//\1/
344 q
345 }
346 /^X\(\/\/\)[^/].*/{
347 s//\1/
348 q
349 }
350 /^X\(\/\/\)$/{
351 s//\1/
352 q
353 }
354 /^X\(\/\).*/{
355 s//\1/
356 q
357 }
358 s/.*/./; q'`
359 test -d "$as_dir" && break
360 done
361 test -z "$as_dirs" || eval "mkdir $as_dirs"
362 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
363
364
365 } # as_fn_mkdir_p
366
367 # as_fn_executable_p FILE
368 # -----------------------
369 # Test if FILE is an executable regular file.
370 as_fn_executable_p ()
371 {
372 test -f "$1" && test -x "$1"
373 } # as_fn_executable_p
374 # as_fn_append VAR VALUE
375 # ----------------------
376 # Append the text in VALUE to the end of the definition contained in VAR. Take
377 # advantage of any shell optimizations that allow amortized linear growth over
378 # repeated appends, instead of the typical quadratic growth present in naive
379 # implementations.
380 if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
381 eval 'as_fn_append ()
382 {
383 eval $1+=\$2
384 }'
385 else
386 as_fn_append ()
387 {
388 eval $1=\$$1\$2
389 }
390 fi # as_fn_append
391
392 # as_fn_arith ARG...
393 # ------------------
394 # Perform arithmetic evaluation on the ARGs, and store the result in the
395 # global $as_val. Take advantage of shells that can avoid forks. The arguments
396 # must be portable across $(()) and expr.
397 if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
398 eval 'as_fn_arith ()
399 {
400 as_val=$(( $* ))
401 }'
402 else
403 as_fn_arith ()
404 {
405 as_val=`expr "$@" || test $? -eq 1`
406 }
407 fi # as_fn_arith
408
409
410 # as_fn_error STATUS ERROR [LINENO LOG_FD]
411 # ----------------------------------------
412 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
413 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
414 # script with STATUS, using 1 if that was 0.
415 as_fn_error ()
416 {
417 as_status=$1; test $as_status -eq 0 && as_status=1
418 if test "$4"; then
419 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
420 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
421 fi
422 $as_echo "$as_me: error: $2" >&2
423 as_fn_exit $as_status
424 } # as_fn_error
425
426 if expr a : '\(a\)' >/dev/null 2>&1 &&
427 test "X`expr 00001 : '.*\(...\)'`" = X001; then
428 as_expr=expr
429 else
430 as_expr=false
431 fi
432
433 if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
434 as_basename=basename
435 else
436 as_basename=false
437 fi
438
439 if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
440 as_dirname=dirname
441 else
442 as_dirname=false
443 fi
444
445 as_me=`$as_basename -- "$0" ||
446 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
447 X"$0" : 'X\(//\)$' \| \
448 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
449 $as_echo X/"$0" |
450 sed '/^.*\/\([^/][^/]*\)\/*$/{
451 s//\1/
452 q
453 }
454 /^X\/\(\/\/\)$/{
455 s//\1/
456 q
457 }
458 /^X\/\(\/\).*/{
459 s//\1/
460 q
461 }
462 s/.*/./; q'`
463
464 # Avoid depending upon Character Ranges.
465 as_cr_letters='abcdefghijklmnopqrstuvwxyz'
466 as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
467 as_cr_Letters=$as_cr_letters$as_cr_LETTERS
468 as_cr_digits='0123456789'
469 as_cr_alnum=$as_cr_Letters$as_cr_digits
470
471
472 as_lineno_1=$LINENO as_lineno_1a=$LINENO
473 as_lineno_2=$LINENO as_lineno_2a=$LINENO
474 eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
475 test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
476 # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
477 sed -n '
478 p
479 /[$]LINENO/=
480 ' <$as_myself |
481 sed '
482 s/[$]LINENO.*/&-/
483 t lineno
484 b
485 :lineno
486 N
487 :loop
488 s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
489 t loop
490 s/-\n.*//
491 ' >$as_me.lineno &&
492 chmod +x "$as_me.lineno" ||
493 { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
494
495 # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
496 # already done that, so ensure we don't try to do so again and fall
497 # in an infinite loop. This has already happened in practice.
498 _as_can_reexec=no; export _as_can_reexec
499 # Don't try to exec as it changes $[0], causing all sort of problems
500 # (the dirname of $[0] is not the place where we might find the
501 # original and so on. Autoconf is especially sensitive to this).
502 . "./$as_me.lineno"
503 # Exit status is that of the last command.
504 exit
505 }
506
507 ECHO_C= ECHO_N= ECHO_T=
508 case `echo -n x` in #(((((
509 -n*)
510 case `echo 'xy\c'` in
511 *c*) ECHO_T=' ';; # ECHO_T is single tab character.
512 xy) ECHO_C='\c';;
513 *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
514 ECHO_T=' ';;
515 esac;;
516 *)
517 ECHO_N='-n';;
518 esac
519
520 rm -f conf$$ conf$$.exe conf$$.file
521 if test -d conf$$.dir; then
522 rm -f conf$$.dir/conf$$.file
523 else
524 rm -f conf$$.dir
525 mkdir conf$$.dir 2>/dev/null
526 fi
527 if (echo >conf$$.file) 2>/dev/null; then
528 if ln -s conf$$.file conf$$ 2>/dev/null; then
529 as_ln_s='ln -s'
530 # ... but there are two gotchas:
531 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
532 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
533 # In both cases, we have to default to `cp -pR'.
534 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
535 as_ln_s='cp -pR'
536 elif ln conf$$.file conf$$ 2>/dev/null; then
537 as_ln_s=ln
538 else
539 as_ln_s='cp -pR'
540 fi
541 else
542 as_ln_s='cp -pR'
543 fi
544 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
545 rmdir conf$$.dir 2>/dev/null
546
547 if mkdir -p . 2>/dev/null; then
548 as_mkdir_p='mkdir -p "$as_dir"'
549 else
550 test -d ./-p && rmdir ./-p
551 as_mkdir_p=false
552 fi
553
554 as_test_x='test -x'
555 as_executable_p=as_fn_executable_p
556
557 # Sed expression to map a string onto a valid CPP name.
558 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
559
560 # Sed expression to map a string onto a valid variable name.
561 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
562
563 SHELL=${CONFIG_SHELL-/bin/sh}
564
565
566 test -n "$DJDIR" || exec 7<&0 </dev/null
567 exec 6>&1
568
569 # Name of the host.
570 # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
571 # so uname gets run too.
572 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
573
574 #
575 # Initializations.
576 #
577 ac_default_prefix=/usr/local
578 ac_clean_files=
579 ac_config_libobj_dir=.
580 LIBOBJS=
581 cross_compiling=no
582 subdirs=
583 MFLAGS=
584 MAKEFLAGS=
585
586 # Identity of this package.
587 PACKAGE_NAME='LibHTP'
588 PACKAGE_TARNAME='libhtp'
589 PACKAGE_VERSION='0.5.37'
590 PACKAGE_STRING='LibHTP 0.5.37'
591 PACKAGE_BUGREPORT=''
592 PACKAGE_URL=''
593
594 # Factoring default headers for most tests.
595 ac_includes_default="\
596 #include <stdio.h>
597 #ifdef HAVE_SYS_TYPES_H
598 # include <sys/types.h>
599 #endif
600 #ifdef HAVE_SYS_STAT_H
601 # include <sys/stat.h>
602 #endif
603 #ifdef STDC_HEADERS
604 # include <stdlib.h>
605 # include <stddef.h>
606 #else
607 # ifdef HAVE_STDLIB_H
608 # include <stdlib.h>
609 # endif
610 #endif
611 #ifdef HAVE_STRING_H
612 # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
613 # include <memory.h>
614 # endif
615 # include <string.h>
616 #endif
617 #ifdef HAVE_STRINGS_H
618 # include <strings.h>
619 #endif
620 #ifdef HAVE_INTTYPES_H
621 # include <inttypes.h>
622 #endif
623 #ifdef HAVE_STDINT_H
624 # include <stdint.h>
625 #endif
626 #ifdef HAVE_UNISTD_H
627 # include <unistd.h>
628 #endif"
629
630 ac_default_prefix=/usr/local
631 ac_subst_vars='am__EXEEXT_FALSE
632 am__EXEEXT_TRUE
633 LTLIBOBJS
634 LIBOBJS
635 LCOV
636 DOXYGEN
637 doxygen
638 LTLIBICONV
639 LIBICONV
640 CXXCPP
641 CPP
642 LT_SYS_LIBRARY_PATH
643 OTOOL64
644 OTOOL
645 LIPO
646 NMEDIT
647 DSYMUTIL
648 MANIFEST_TOOL
649 RANLIB
650 ac_ct_AR
651 AR
652 DLLTOOL
653 OBJDUMP
654 LN_S
655 NM
656 ac_ct_DUMPBIN
657 DUMPBIN
658 LD
659 FGREP
660 EGREP
661 GREP
662 SED
663 host_os
664 host_vendor
665 host_cpu
666 host
667 build_os
668 build_vendor
669 build_cpu
670 build
671 LIBTOOL
672 am__fastdepCXX_FALSE
673 am__fastdepCXX_TRUE
674 CXXDEPMODE
675 ac_ct_CXX
676 CXXFLAGS
677 CXX
678 am__fastdepCC_FALSE
679 am__fastdepCC_TRUE
680 CCDEPMODE
681 am__nodep
682 AMDEPBACKSLASH
683 AMDEP_FALSE
684 AMDEP_TRUE
685 am__include
686 DEPDIR
687 OBJEXT
688 EXEEXT
689 ac_ct_CC
690 CPPFLAGS
691 LDFLAGS
692 CFLAGS
693 CC
694 GENERIC_VERSION
695 GENERIC_RELEASE
696 GENERIC_LIBRARY_NAME
697 GENERIC_LIBRARY_VERSION
698 AM_BACKSLASH
699 AM_DEFAULT_VERBOSITY
700 AM_DEFAULT_V
701 AM_V
702 am__untar
703 am__tar
704 AMTAR
705 am__leading_dot
706 SET_MAKE
707 AWK
708 mkdir_p
709 MKDIR_P
710 INSTALL_STRIP_PROGRAM
711 STRIP
712 install_sh
713 MAKEINFO
714 AUTOHEADER
715 AUTOMAKE
716 AUTOCONF
717 ACLOCAL
718 VERSION
719 PACKAGE
720 CYGPATH_W
721 am__isrc
722 INSTALL_DATA
723 INSTALL_SCRIPT
724 INSTALL_PROGRAM
725 target_alias
726 host_alias
727 build_alias
728 LIBS
729 ECHO_T
730 ECHO_N
731 ECHO_C
732 DEFS
733 mandir
734 localedir
735 libdir
736 psdir
737 pdfdir
738 dvidir
739 htmldir
740 infodir
741 docdir
742 oldincludedir
743 includedir
744 runstatedir
745 localstatedir
746 sharedstatedir
747 sysconfdir
748 datadir
749 datarootdir
750 libexecdir
751 sbindir
752 bindir
753 program_transform_name
754 prefix
755 exec_prefix
756 PACKAGE_URL
757 PACKAGE_BUGREPORT
758 PACKAGE_STRING
759 PACKAGE_VERSION
760 PACKAGE_TARNAME
761 PACKAGE_NAME
762 PATH_SEPARATOR
763 SHELL
764 am__quote'
765 ac_subst_files=''
766 ac_user_opts='
767 enable_option_checking
768 enable_silent_rules
769 enable_debug
770 enable_devmode
771 enable_gcov
772 enable_dependency_tracking
773 enable_shared
774 enable_static
775 with_pic
776 enable_fast_install
777 with_aix_soname
778 with_gnu_ld
779 with_sysroot
780 enable_libtool_lock
781 enable_rpath
782 with_libiconv_prefix
783 with_doxygen
784 '
785 ac_precious_vars='build_alias
786 host_alias
787 target_alias
788 CC
789 CFLAGS
790 LDFLAGS
791 LIBS
792 CPPFLAGS
793 CXX
794 CXXFLAGS
795 CCC
796 LT_SYS_LIBRARY_PATH
797 CPP
798 CXXCPP'
799
800
801 # Initialize some variables set by options.
802 ac_init_help=
803 ac_init_version=false
804 ac_unrecognized_opts=
805 ac_unrecognized_sep=
806 # The variables have the same names as the options, with
807 # dashes changed to underlines.
808 cache_file=/dev/null
809 exec_prefix=NONE
810 no_create=
811 no_recursion=
812 prefix=NONE
813 program_prefix=NONE
814 program_suffix=NONE
815 program_transform_name=s,x,x,
816 silent=
817 site=
818 srcdir=
819 verbose=
820 x_includes=NONE
821 x_libraries=NONE
822
823 # Installation directory options.
824 # These are left unexpanded so users can "make install exec_prefix=/foo"
825 # and all the variables that are supposed to be based on exec_prefix
826 # by default will actually change.
827 # Use braces instead of parens because sh, perl, etc. also accept them.
828 # (The list follows the same order as the GNU Coding Standards.)
829 bindir='${exec_prefix}/bin'
830 sbindir='${exec_prefix}/sbin'
831 libexecdir='${exec_prefix}/libexec'
832 datarootdir='${prefix}/share'
833 datadir='${datarootdir}'
834 sysconfdir='${prefix}/etc'
835 sharedstatedir='${prefix}/com'
836 localstatedir='${prefix}/var'
837 runstatedir='${localstatedir}/run'
838 includedir='${prefix}/include'
839 oldincludedir='/usr/include'
840 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
841 infodir='${datarootdir}/info'
842 htmldir='${docdir}'
843 dvidir='${docdir}'
844 pdfdir='${docdir}'
845 psdir='${docdir}'
846 libdir='${exec_prefix}/lib'
847 localedir='${datarootdir}/locale'
848 mandir='${datarootdir}/man'
849
850 ac_prev=
851 ac_dashdash=
852 for ac_option
853 do
854 # If the previous option needs an argument, assign it.
855 if test -n "$ac_prev"; then
856 eval $ac_prev=\$ac_option
857 ac_prev=
858 continue
859 fi
860
861 case $ac_option in
862 *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
863 *=) ac_optarg= ;;
864 *) ac_optarg=yes ;;
865 esac
866
867 # Accept the important Cygnus configure options, so we can diagnose typos.
868
869 case $ac_dashdash$ac_option in
870 --)
871 ac_dashdash=yes ;;
872
873 -bindir | --bindir | --bindi | --bind | --bin | --bi)
874 ac_prev=bindir ;;
875 -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
876 bindir=$ac_optarg ;;
877
878 -build | --build | --buil | --bui | --bu)
879 ac_prev=build_alias ;;
880 -build=* | --build=* | --buil=* | --bui=* | --bu=*)
881 build_alias=$ac_optarg ;;
882
883 -cache-file | --cache-file | --cache-fil | --cache-fi \
884 | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
885 ac_prev=cache_file ;;
886 -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
887 | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
888 cache_file=$ac_optarg ;;
889
890 --config-cache | -C)
891 cache_file=config.cache ;;
892
893 -datadir | --datadir | --datadi | --datad)
894 ac_prev=datadir ;;
895 -datadir=* | --datadir=* | --datadi=* | --datad=*)
896 datadir=$ac_optarg ;;
897
898 -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
899 | --dataroo | --dataro | --datar)
900 ac_prev=datarootdir ;;
901 -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
902 | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
903 datarootdir=$ac_optarg ;;
904
905 -disable-* | --disable-*)
906 ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
907 # Reject names that are not valid shell variable names.
908 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
909 as_fn_error $? "invalid feature name: $ac_useropt"
910 ac_useropt_orig=$ac_useropt
911 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
912 case $ac_user_opts in
913 *"
914 "enable_$ac_useropt"
915 "*) ;;
916 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
917 ac_unrecognized_sep=', ';;
918 esac
919 eval enable_$ac_useropt=no ;;
920
921 -docdir | --docdir | --docdi | --doc | --do)
922 ac_prev=docdir ;;
923 -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
924 docdir=$ac_optarg ;;
925
926 -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
927 ac_prev=dvidir ;;
928 -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
929 dvidir=$ac_optarg ;;
930
931 -enable-* | --enable-*)
932 ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
933 # Reject names that are not valid shell variable names.
934 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
935 as_fn_error $? "invalid feature name: $ac_useropt"
936 ac_useropt_orig=$ac_useropt
937 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
938 case $ac_user_opts in
939 *"
940 "enable_$ac_useropt"
941 "*) ;;
942 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
943 ac_unrecognized_sep=', ';;
944 esac
945 eval enable_$ac_useropt=\$ac_optarg ;;
946
947 -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
948 | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
949 | --exec | --exe | --ex)
950 ac_prev=exec_prefix ;;
951 -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
952 | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
953 | --exec=* | --exe=* | --ex=*)
954 exec_prefix=$ac_optarg ;;
955
956 -gas | --gas | --ga | --g)
957 # Obsolete; use --with-gas.
958 with_gas=yes ;;
959
960 -help | --help | --hel | --he | -h)
961 ac_init_help=long ;;
962 -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
963 ac_init_help=recursive ;;
964 -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
965 ac_init_help=short ;;
966
967 -host | --host | --hos | --ho)
968 ac_prev=host_alias ;;
969 -host=* | --host=* | --hos=* | --ho=*)
970 host_alias=$ac_optarg ;;
971
972 -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
973 ac_prev=htmldir ;;
974 -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
975 | --ht=*)
976 htmldir=$ac_optarg ;;
977
978 -includedir | --includedir | --includedi | --included | --include \
979 | --includ | --inclu | --incl | --inc)
980 ac_prev=includedir ;;
981 -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
982 | --includ=* | --inclu=* | --incl=* | --inc=*)
983 includedir=$ac_optarg ;;
984
985 -infodir | --infodir | --infodi | --infod | --info | --inf)
986 ac_prev=infodir ;;
987 -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
988 infodir=$ac_optarg ;;
989
990 -libdir | --libdir | --libdi | --libd)
991 ac_prev=libdir ;;
992 -libdir=* | --libdir=* | --libdi=* | --libd=*)
993 libdir=$ac_optarg ;;
994
995 -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
996 | --libexe | --libex | --libe)
997 ac_prev=libexecdir ;;
998 -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
999 | --libexe=* | --libex=* | --libe=*)
1000 libexecdir=$ac_optarg ;;
1001
1002 -localedir | --localedir | --localedi | --localed | --locale)
1003 ac_prev=localedir ;;
1004 -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
1005 localedir=$ac_optarg ;;
1006
1007 -localstatedir | --localstatedir | --localstatedi | --localstated \
1008 | --localstate | --localstat | --localsta | --localst | --locals)
1009 ac_prev=localstatedir ;;
1010 -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
1011 | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
1012 localstatedir=$ac_optarg ;;
1013
1014 -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
1015 ac_prev=mandir ;;
1016 -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
1017 mandir=$ac_optarg ;;
1018
1019 -nfp | --nfp | --nf)
1020 # Obsolete; use --without-fp.
1021 with_fp=no ;;
1022
1023 -no-create | --no-create | --no-creat | --no-crea | --no-cre \
1024 | --no-cr | --no-c | -n)
1025 no_create=yes ;;
1026
1027 -no-recursion | --no-recursion | --no-recursio | --no-recursi \
1028 | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
1029 no_recursion=yes ;;
1030
1031 -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
1032 | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
1033 | --oldin | --oldi | --old | --ol | --o)
1034 ac_prev=oldincludedir ;;
1035 -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
1036 | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
1037 | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
1038 oldincludedir=$ac_optarg ;;
1039
1040 -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
1041 ac_prev=prefix ;;
1042 -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
1043 prefix=$ac_optarg ;;
1044
1045 -program-prefix | --program-prefix | --program-prefi | --program-pref \
1046 | --program-pre | --program-pr | --program-p)
1047 ac_prev=program_prefix ;;
1048 -program-prefix=* | --program-prefix=* | --program-prefi=* \
1049 | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
1050 program_prefix=$ac_optarg ;;
1051
1052 -program-suffix | --program-suffix | --program-suffi | --program-suff \
1053 | --program-suf | --program-su | --program-s)
1054 ac_prev=program_suffix ;;
1055 -program-suffix=* | --program-suffix=* | --program-suffi=* \
1056 | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
1057 program_suffix=$ac_optarg ;;
1058
1059 -program-transform-name | --program-transform-name \
1060 | --program-transform-nam | --program-transform-na \
1061 | --program-transform-n | --program-transform- \
1062 | --program-transform | --program-transfor \
1063 | --program-transfo | --program-transf \
1064 | --program-trans | --program-tran \
1065 | --progr-tra | --program-tr | --program-t)
1066 ac_prev=program_transform_name ;;
1067 -program-transform-name=* | --program-transform-name=* \
1068 | --program-transform-nam=* | --program-transform-na=* \
1069 | --program-transform-n=* | --program-transform-=* \
1070 | --program-transform=* | --program-transfor=* \
1071 | --program-transfo=* | --program-transf=* \
1072 | --program-trans=* | --program-tran=* \
1073 | --progr-tra=* | --program-tr=* | --program-t=*)
1074 program_transform_name=$ac_optarg ;;
1075
1076 -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
1077 ac_prev=pdfdir ;;
1078 -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
1079 pdfdir=$ac_optarg ;;
1080
1081 -psdir | --psdir | --psdi | --psd | --ps)
1082 ac_prev=psdir ;;
1083 -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
1084 psdir=$ac_optarg ;;
1085
1086 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
1087 | -silent | --silent | --silen | --sile | --sil)
1088 silent=yes ;;
1089
1090 -runstatedir | --runstatedir | --runstatedi | --runstated \
1091 | --runstate | --runstat | --runsta | --runst | --runs \
1092 | --run | --ru | --r)
1093 ac_prev=runstatedir ;;
1094 -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
1095 | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
1096 | --run=* | --ru=* | --r=*)
1097 runstatedir=$ac_optarg ;;
1098
1099 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
1100 ac_prev=sbindir ;;
1101 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
1102 | --sbi=* | --sb=*)
1103 sbindir=$ac_optarg ;;
1104
1105 -sharedstatedir | --sharedstatedir | --sharedstatedi \
1106 | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
1107 | --sharedst | --shareds | --shared | --share | --shar \
1108 | --sha | --sh)
1109 ac_prev=sharedstatedir ;;
1110 -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
1111 | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
1112 | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
1113 | --sha=* | --sh=*)
1114 sharedstatedir=$ac_optarg ;;
1115
1116 -site | --site | --sit)
1117 ac_prev=site ;;
1118 -site=* | --site=* | --sit=*)
1119 site=$ac_optarg ;;
1120
1121 -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
1122 ac_prev=srcdir ;;
1123 -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
1124 srcdir=$ac_optarg ;;
1125
1126 -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
1127 | --syscon | --sysco | --sysc | --sys | --sy)
1128 ac_prev=sysconfdir ;;
1129 -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
1130 | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
1131 sysconfdir=$ac_optarg ;;
1132
1133 -target | --target | --targe | --targ | --tar | --ta | --t)
1134 ac_prev=target_alias ;;
1135 -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
1136 target_alias=$ac_optarg ;;
1137
1138 -v | -verbose | --verbose | --verbos | --verbo | --verb)
1139 verbose=yes ;;
1140
1141 -version | --version | --versio | --versi | --vers | -V)
1142 ac_init_version=: ;;
1143
1144 -with-* | --with-*)
1145 ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
1146 # Reject names that are not valid shell variable names.
1147 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1148 as_fn_error $? "invalid package name: $ac_useropt"
1149 ac_useropt_orig=$ac_useropt
1150 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
1151 case $ac_user_opts in
1152 *"
1153 "with_$ac_useropt"
1154 "*) ;;
1155 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
1156 ac_unrecognized_sep=', ';;
1157 esac
1158 eval with_$ac_useropt=\$ac_optarg ;;
1159
1160 -without-* | --without-*)
1161 ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
1162 # Reject names that are not valid shell variable names.
1163 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1164 as_fn_error $? "invalid package name: $ac_useropt"
1165 ac_useropt_orig=$ac_useropt
1166 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
1167 case $ac_user_opts in
1168 *"
1169 "with_$ac_useropt"
1170 "*) ;;
1171 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
1172 ac_unrecognized_sep=', ';;
1173 esac
1174 eval with_$ac_useropt=no ;;
1175
1176 --x)
1177 # Obsolete; use --with-x.
1178 with_x=yes ;;
1179
1180 -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
1181 | --x-incl | --x-inc | --x-in | --x-i)
1182 ac_prev=x_includes ;;
1183 -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
1184 | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
1185 x_includes=$ac_optarg ;;
1186
1187 -x-libraries | --x-libraries | --x-librarie | --x-librari \
1188 | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
1189 ac_prev=x_libraries ;;
1190 -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
1191 | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
1192 x_libraries=$ac_optarg ;;
1193
1194 -*) as_fn_error $? "unrecognized option: \`$ac_option'
1195 Try \`$0 --help' for more information"
1196 ;;
1197
1198 *=*)
1199 ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
1200 # Reject names that are not valid shell variable names.
1201 case $ac_envvar in #(
1202 '' | [0-9]* | *[!_$as_cr_alnum]* )
1203 as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
1204 esac
1205 eval $ac_envvar=\$ac_optarg
1206 export $ac_envvar ;;
1207
1208 *)
1209 # FIXME: should be removed in autoconf 3.0.
1210 $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
1211 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
1212 $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
1213 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
1214 ;;
1215
1216 esac
1217 done
1218
1219 if test -n "$ac_prev"; then
1220 ac_option=--`echo $ac_prev | sed 's/_/-/g'`
1221 as_fn_error $? "missing argument to $ac_option"
1222 fi
1223
1224 if test -n "$ac_unrecognized_opts"; then
1225 case $enable_option_checking in
1226 no) ;;
1227 fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
1228 *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
1229 esac
1230 fi
1231
1232 # Check all directory arguments for consistency.
1233 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
1234 datadir sysconfdir sharedstatedir localstatedir includedir \
1235 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
1236 libdir localedir mandir runstatedir
1237 do
1238 eval ac_val=\$$ac_var
1239 # Remove trailing slashes.
1240 case $ac_val in
1241 */ )
1242 ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
1243 eval $ac_var=\$ac_val;;
1244 esac
1245 # Be sure to have absolute directory names.
1246 case $ac_val in
1247 [\\/$]* | ?:[\\/]* ) continue;;
1248 NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
1249 esac
1250 as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
1251 done
1252
1253 # There might be people who depend on the old broken behavior: `$host'
1254 # used to hold the argument of --host etc.
1255 # FIXME: To remove some day.
1256 build=$build_alias
1257 host=$host_alias
1258 target=$target_alias
1259
1260 # FIXME: To remove some day.
1261 if test "x$host_alias" != x; then
1262 if test "x$build_alias" = x; then
1263 cross_compiling=maybe
1264 elif test "x$build_alias" != "x$host_alias"; then
1265 cross_compiling=yes
1266 fi
1267 fi
1268
1269 ac_tool_prefix=
1270 test -n "$host_alias" && ac_tool_prefix=$host_alias-
1271
1272 test "$silent" = yes && exec 6>/dev/null
1273
1274
1275 ac_pwd=`pwd` && test -n "$ac_pwd" &&
1276 ac_ls_di=`ls -di .` &&
1277 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
1278 as_fn_error $? "working directory cannot be determined"
1279 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
1280 as_fn_error $? "pwd does not report name of working directory"
1281
1282
1283 # Find the source files, if location was not specified.
1284 if test -z "$srcdir"; then
1285 ac_srcdir_defaulted=yes
1286 # Try the directory containing this script, then the parent directory.
1287 ac_confdir=`$as_dirname -- "$as_myself" ||
1288 $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
1289 X"$as_myself" : 'X\(//\)[^/]' \| \
1290 X"$as_myself" : 'X\(//\)$' \| \
1291 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
1292 $as_echo X"$as_myself" |
1293 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
1294 s//\1/
1295 q
1296 }
1297 /^X\(\/\/\)[^/].*/{
1298 s//\1/
1299 q
1300 }
1301 /^X\(\/\/\)$/{
1302 s//\1/
1303 q
1304 }
1305 /^X\(\/\).*/{
1306 s//\1/
1307 q
1308 }
1309 s/.*/./; q'`
1310 srcdir=$ac_confdir
1311 if test ! -r "$srcdir/$ac_unique_file"; then
1312 srcdir=..
1313 fi
1314 else
1315 ac_srcdir_defaulted=no
1316 fi
1317 if test ! -r "$srcdir/$ac_unique_file"; then
1318 test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
1319 as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
1320 fi
1321 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
1322 ac_abs_confdir=`(
1323 cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
1324 pwd)`
1325 # When building in place, set srcdir=.
1326 if test "$ac_abs_confdir" = "$ac_pwd"; then
1327 srcdir=.
1328 fi
1329 # Remove unnecessary trailing slashes from srcdir.
1330 # Double slashes in file names in object file debugging info
1331 # mess up M-x gdb in Emacs.
1332 case $srcdir in
1333 */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
1334 esac
1335 for ac_var in $ac_precious_vars; do
1336 eval ac_env_${ac_var}_set=\${${ac_var}+set}
1337 eval ac_env_${ac_var}_value=\$${ac_var}
1338 eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
1339 eval ac_cv_env_${ac_var}_value=\$${ac_var}
1340 done
1341
1342 #
1343 # Report the --help message.
1344 #
1345 if test "$ac_init_help" = "long"; then
1346 # Omit some internal or obsolete options to make the list less imposing.
1347 # This message is too long to be a string in the A/UX 3.1 sh.
1348 cat <<_ACEOF
1349 \`configure' configures LibHTP 0.5.37 to adapt to many kinds of systems.
1350
1351 Usage: $0 [OPTION]... [VAR=VALUE]...
1352
1353 To assign environment variables (e.g., CC, CFLAGS...), specify them as
1354 VAR=VALUE. See below for descriptions of some of the useful variables.
1355
1356 Defaults for the options are specified in brackets.
1357
1358 Configuration:
1359 -h, --help display this help and exit
1360 --help=short display options specific to this package
1361 --help=recursive display the short help of all the included packages
1362 -V, --version display version information and exit
1363 -q, --quiet, --silent do not print \`checking ...' messages
1364 --cache-file=FILE cache test results in FILE [disabled]
1365 -C, --config-cache alias for \`--cache-file=config.cache'
1366 -n, --no-create do not create output files
1367 --srcdir=DIR find the sources in DIR [configure dir or \`..']
1368
1369 Installation directories:
1370 --prefix=PREFIX install architecture-independent files in PREFIX
1371 [$ac_default_prefix]
1372 --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
1373 [PREFIX]
1374
1375 By default, \`make install' will install all the files in
1376 \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
1377 an installation prefix other than \`$ac_default_prefix' using \`--prefix',
1378 for instance \`--prefix=\$HOME'.
1379
1380 For better control, use the options below.
1381
1382 Fine tuning of the installation directories:
1383 --bindir=DIR user executables [EPREFIX/bin]
1384 --sbindir=DIR system admin executables [EPREFIX/sbin]
1385 --libexecdir=DIR program executables [EPREFIX/libexec]
1386 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
1387 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
1388 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
1389 --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
1390 --libdir=DIR object code libraries [EPREFIX/lib]
1391 --includedir=DIR C header files [PREFIX/include]
1392 --oldincludedir=DIR C header files for non-gcc [/usr/include]
1393 --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
1394 --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
1395 --infodir=DIR info documentation [DATAROOTDIR/info]
1396 --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
1397 --mandir=DIR man documentation [DATAROOTDIR/man]
1398 --docdir=DIR documentation root [DATAROOTDIR/doc/libhtp]
1399 --htmldir=DIR html documentation [DOCDIR]
1400 --dvidir=DIR dvi documentation [DOCDIR]
1401 --pdfdir=DIR pdf documentation [DOCDIR]
1402 --psdir=DIR ps documentation [DOCDIR]
1403 _ACEOF
1404
1405 cat <<\_ACEOF
1406
1407 Program names:
1408 --program-prefix=PREFIX prepend PREFIX to installed program names
1409 --program-suffix=SUFFIX append SUFFIX to installed program names
1410 --program-transform-name=PROGRAM run sed PROGRAM on installed program names
1411
1412 System types:
1413 --build=BUILD configure for building on BUILD [guessed]
1414 --host=HOST cross-compile to build programs to run on HOST [BUILD]
1415 _ACEOF
1416 fi
1417
1418 if test -n "$ac_init_help"; then
1419 case $ac_init_help in
1420 short | recursive ) echo "Configuration of LibHTP 0.5.37:";;
1421 esac
1422 cat <<\_ACEOF
1423
1424 Optional Features:
1425 --disable-option-checking ignore unrecognized --enable/--with options
1426 --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
1427 --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
1428 --enable-silent-rules less verbose build output (undo: "make V=1")
1429 --disable-silent-rules verbose build output (undo: "make V=0")
1430 --enable-debug Enable debug mode
1431 --enable-devmode Enable development mode
1432 --enable-gcov Enable gcov support
1433 --enable-dependency-tracking
1434 do not reject slow dependency extractors
1435 --disable-dependency-tracking
1436 speeds up one-time build
1437 --enable-shared[=PKGS] build shared libraries [default=yes]
1438 --enable-static[=PKGS] build static libraries [default=yes]
1439 --enable-fast-install[=PKGS]
1440 optimize for fast installation [default=yes]
1441 --disable-libtool-lock avoid locking (might break parallel builds)
1442 --disable-rpath do not hardcode runtime library paths
1443
1444 Optional Packages:
1445 --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
1446 --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
1447 --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
1448 both]
1449 --with-aix-soname=aix|svr4|both
1450 shared library versioning (aka "SONAME") variant to
1451 provide on AIX, [default=aix].
1452 --with-gnu-ld assume the C compiler uses GNU ld [default=no]
1453 --with-sysroot[=DIR] Search for dependent libraries within DIR (or the
1454 compiler's sysroot if not specified).
1455 --with-gnu-ld assume the C compiler uses GNU ld default=no
1456 --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
1457 --without-libiconv-prefix don't search for libiconv in includedir and libdir
1458 --with-doxygen=PROG doxygen executable
1459
1460 Some influential environment variables:
1461 CC C compiler command
1462 CFLAGS C compiler flags
1463 LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
1464 nonstandard directory <lib dir>
1465 LIBS libraries to pass to the linker, e.g. -l<library>
1466 CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
1467 you have headers in a nonstandard directory <include dir>
1468 CXX C++ compiler command
1469 CXXFLAGS C++ compiler flags
1470 LT_SYS_LIBRARY_PATH
1471 User-defined run-time library search path.
1472 CPP C preprocessor
1473 CXXCPP C++ preprocessor
1474
1475 Use these variables to override the choices made by `configure' or to help
1476 it to find libraries and programs with nonstandard names/locations.
1477
1478 Report bugs to the package provider.
1479 _ACEOF
1480 ac_status=$?
1481 fi
1482
1483 if test "$ac_init_help" = "recursive"; then
1484 # If there are subdirs, report their specific --help.
1485 for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
1486 test -d "$ac_dir" ||
1487 { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
1488 continue
1489 ac_builddir=.
1490
1491 case "$ac_dir" in
1492 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
1493 *)
1494 ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
1495 # A ".." for each directory in $ac_dir_suffix.
1496 ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
1497 case $ac_top_builddir_sub in
1498 "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
1499 *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
1500 esac ;;
1501 esac
1502 ac_abs_top_builddir=$ac_pwd
1503 ac_abs_builddir=$ac_pwd$ac_dir_suffix
1504 # for backward compatibility:
1505 ac_top_builddir=$ac_top_build_prefix
1506
1507 case $srcdir in
1508 .) # We are building in place.
1509 ac_srcdir=.
1510 ac_top_srcdir=$ac_top_builddir_sub
1511 ac_abs_top_srcdir=$ac_pwd ;;
1512 [\\/]* | ?:[\\/]* ) # Absolute name.
1513 ac_srcdir=$srcdir$ac_dir_suffix;
1514 ac_top_srcdir=$srcdir
1515 ac_abs_top_srcdir=$srcdir ;;
1516 *) # Relative name.
1517 ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
1518 ac_top_srcdir=$ac_top_build_prefix$srcdir
1519 ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
1520 esac
1521 ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
1522
1523 cd "$ac_dir" || { ac_status=$?; continue; }
1524 # Check for guested configure.
1525 if test -f "$ac_srcdir/configure.gnu"; then
1526 echo &&
1527 $SHELL "$ac_srcdir/configure.gnu" --help=recursive
1528 elif test -f "$ac_srcdir/configure"; then
1529 echo &&
1530 $SHELL "$ac_srcdir/configure" --help=recursive
1531 else
1532 $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
1533 fi || ac_status=$?
1534 cd "$ac_pwd" || { ac_status=$?; break; }
1535 done
1536 fi
1537
1538 test -n "$ac_init_help" && exit $ac_status
1539 if $ac_init_version; then
1540 cat <<\_ACEOF
1541 LibHTP configure 0.5.37
1542 generated by GNU Autoconf 2.69
1543
1544 Copyright (C) 2012 Free Software Foundation, Inc.
1545 This configure script is free software; the Free Software Foundation
1546 gives unlimited permission to copy, distribute and modify it.
1547 _ACEOF
1548 exit
1549 fi
1550
1551 ## ------------------------ ##
1552 ## Autoconf initialization. ##
1553 ## ------------------------ ##
1554
1555 # ac_fn_c_try_compile LINENO
1556 # --------------------------
1557 # Try to compile conftest.$ac_ext, and return whether this succeeded.
1558 ac_fn_c_try_compile ()
1559 {
1560 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1561 rm -f conftest.$ac_objext
1562 if { { ac_try="$ac_compile"
1563 case "(($ac_try" in
1564 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1565 *) ac_try_echo=$ac_try;;
1566 esac
1567 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1568 $as_echo "$ac_try_echo"; } >&5
1569 (eval "$ac_compile") 2>conftest.err
1570 ac_status=$?
1571 if test -s conftest.err; then
1572 grep -v '^ *+' conftest.err >conftest.er1
1573 cat conftest.er1 >&5
1574 mv -f conftest.er1 conftest.err
1575 fi
1576 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1577 test $ac_status = 0; } && {
1578 test -z "$ac_c_werror_flag" ||
1579 test ! -s conftest.err
1580 } && test -s conftest.$ac_objext; then :
1581 ac_retval=0
1582 else
1583 $as_echo "$as_me: failed program was:" >&5
1584 sed 's/^/| /' conftest.$ac_ext >&5
1585
1586 ac_retval=1
1587 fi
1588 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1589 as_fn_set_status $ac_retval
1590
1591 } # ac_fn_c_try_compile
1592
1593 # ac_fn_cxx_try_compile LINENO
1594 # ----------------------------
1595 # Try to compile conftest.$ac_ext, and return whether this succeeded.
1596 ac_fn_cxx_try_compile ()
1597 {
1598 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1599 rm -f conftest.$ac_objext
1600 if { { ac_try="$ac_compile"
1601 case "(($ac_try" in
1602 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1603 *) ac_try_echo=$ac_try;;
1604 esac
1605 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1606 $as_echo "$ac_try_echo"; } >&5
1607 (eval "$ac_compile") 2>conftest.err
1608 ac_status=$?
1609 if test -s conftest.err; then
1610 grep -v '^ *+' conftest.err >conftest.er1
1611 cat conftest.er1 >&5
1612 mv -f conftest.er1 conftest.err
1613 fi
1614 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1615 test $ac_status = 0; } && {
1616 test -z "$ac_cxx_werror_flag" ||
1617 test ! -s conftest.err
1618 } && test -s conftest.$ac_objext; then :
1619 ac_retval=0
1620 else
1621 $as_echo "$as_me: failed program was:" >&5
1622 sed 's/^/| /' conftest.$ac_ext >&5
1623
1624 ac_retval=1
1625 fi
1626 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1627 as_fn_set_status $ac_retval
1628
1629 } # ac_fn_cxx_try_compile
1630
1631 # ac_fn_c_try_link LINENO
1632 # -----------------------
1633 # Try to link conftest.$ac_ext, and return whether this succeeded.
1634 ac_fn_c_try_link ()
1635 {
1636 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1637 rm -f conftest.$ac_objext conftest$ac_exeext
1638 if { { ac_try="$ac_link"
1639 case "(($ac_try" in
1640 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1641 *) ac_try_echo=$ac_try;;
1642 esac
1643 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1644 $as_echo "$ac_try_echo"; } >&5
1645 (eval "$ac_link") 2>conftest.err
1646 ac_status=$?
1647 if test -s conftest.err; then
1648 grep -v '^ *+' conftest.err >conftest.er1
1649 cat conftest.er1 >&5
1650 mv -f conftest.er1 conftest.err
1651 fi
1652 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1653 test $ac_status = 0; } && {
1654 test -z "$ac_c_werror_flag" ||
1655 test ! -s conftest.err
1656 } && test -s conftest$ac_exeext && {
1657 test "$cross_compiling" = yes ||
1658 test -x conftest$ac_exeext
1659 }; then :
1660 ac_retval=0
1661 else
1662 $as_echo "$as_me: failed program was:" >&5
1663 sed 's/^/| /' conftest.$ac_ext >&5
1664
1665 ac_retval=1
1666 fi
1667 # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
1668 # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
1669 # interfere with the next link command; also delete a directory that is
1670 # left behind by Apple's compiler. We do this before executing the actions.
1671 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1672 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1673 as_fn_set_status $ac_retval
1674
1675 } # ac_fn_c_try_link
1676
1677 # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
1678 # -------------------------------------------------------
1679 # Tests whether HEADER exists and can be compiled using the include files in
1680 # INCLUDES, setting the cache variable VAR accordingly.
1681 ac_fn_c_check_header_compile ()
1682 {
1683 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1684 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1685 $as_echo_n "checking for $2... " >&6; }
1686 if eval \${$3+:} false; then :
1687 $as_echo_n "(cached) " >&6
1688 else
1689 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1690 /* end confdefs.h. */
1691 $4
1692 #include <$2>
1693 _ACEOF
1694 if ac_fn_c_try_compile "$LINENO"; then :
1695 eval "$3=yes"
1696 else
1697 eval "$3=no"
1698 fi
1699 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
1700 fi
1701 eval ac_res=\$$3
1702 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1703 $as_echo "$ac_res" >&6; }
1704 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1705
1706 } # ac_fn_c_check_header_compile
1707
1708 # ac_fn_c_try_cpp LINENO
1709 # ----------------------
1710 # Try to preprocess conftest.$ac_ext, and return whether this succeeded.
1711 ac_fn_c_try_cpp ()
1712 {
1713 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1714 if { { ac_try="$ac_cpp conftest.$ac_ext"
1715 case "(($ac_try" in
1716 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1717 *) ac_try_echo=$ac_try;;
1718 esac
1719 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1720 $as_echo "$ac_try_echo"; } >&5
1721 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
1722 ac_status=$?
1723 if test -s conftest.err; then
1724 grep -v '^ *+' conftest.err >conftest.er1
1725 cat conftest.er1 >&5
1726 mv -f conftest.er1 conftest.err
1727 fi
1728 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1729 test $ac_status = 0; } > conftest.i && {
1730 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
1731 test ! -s conftest.err
1732 }; then :
1733 ac_retval=0
1734 else
1735 $as_echo "$as_me: failed program was:" >&5
1736 sed 's/^/| /' conftest.$ac_ext >&5
1737
1738 ac_retval=1
1739 fi
1740 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1741 as_fn_set_status $ac_retval
1742
1743 } # ac_fn_c_try_cpp
1744
1745 # ac_fn_c_try_run LINENO
1746 # ----------------------
1747 # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
1748 # that executables *can* be run.
1749 ac_fn_c_try_run ()
1750 {
1751 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1752 if { { ac_try="$ac_link"
1753 case "(($ac_try" in
1754 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1755 *) ac_try_echo=$ac_try;;
1756 esac
1757 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1758 $as_echo "$ac_try_echo"; } >&5
1759 (eval "$ac_link") 2>&5
1760 ac_status=$?
1761 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1762 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
1763 { { case "(($ac_try" in
1764 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1765 *) ac_try_echo=$ac_try;;
1766 esac
1767 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1768 $as_echo "$ac_try_echo"; } >&5
1769 (eval "$ac_try") 2>&5
1770 ac_status=$?
1771 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1772 test $ac_status = 0; }; }; then :
1773 ac_retval=0
1774 else
1775 $as_echo "$as_me: program exited with status $ac_status" >&5
1776 $as_echo "$as_me: failed program was:" >&5
1777 sed 's/^/| /' conftest.$ac_ext >&5
1778
1779 ac_retval=$ac_status
1780 fi
1781 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1782 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1783 as_fn_set_status $ac_retval
1784
1785 } # ac_fn_c_try_run
1786
1787 # ac_fn_c_check_func LINENO FUNC VAR
1788 # ----------------------------------
1789 # Tests whether FUNC exists, setting the cache variable VAR accordingly
1790 ac_fn_c_check_func ()
1791 {
1792 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1793 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1794 $as_echo_n "checking for $2... " >&6; }
1795 if eval \${$3+:} false; then :
1796 $as_echo_n "(cached) " >&6
1797 else
1798 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1799 /* end confdefs.h. */
1800 /* Define $2 to an innocuous variant, in case <limits.h> declares $2.
1801 For example, HP-UX 11i <limits.h> declares gettimeofday. */
1802 #define $2 innocuous_$2
1803
1804 /* System header to define __stub macros and hopefully few prototypes,
1805 which can conflict with char $2 (); below.
1806 Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
1807 <limits.h> exists even on freestanding compilers. */
1808
1809 #ifdef __STDC__
1810 # include <limits.h>
1811 #else
1812 # include <assert.h>
1813 #endif
1814
1815 #undef $2
1816
1817 /* Override any GCC internal prototype to avoid an error.
1818 Use char because int might match the return type of a GCC
1819 builtin and then its argument prototype would still apply. */
1820 #ifdef __cplusplus
1821 extern "C"
1822 #endif
1823 char $2 ();
1824 /* The GNU C library defines this for functions which it implements
1825 to always fail with ENOSYS. Some functions are actually named
1826 something starting with __ and the normal name is an alias. */
1827 #if defined __stub_$2 || defined __stub___$2
1828 choke me
1829 #endif
1830
1831 int
1832 main ()
1833 {
1834 return $2 ();
1835 ;
1836 return 0;
1837 }
1838 _ACEOF
1839 if ac_fn_c_try_link "$LINENO"; then :
1840 eval "$3=yes"
1841 else
1842 eval "$3=no"
1843 fi
1844 rm -f core conftest.err conftest.$ac_objext \
1845 conftest$ac_exeext conftest.$ac_ext
1846 fi
1847 eval ac_res=\$$3
1848 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1849 $as_echo "$ac_res" >&6; }
1850 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1851
1852 } # ac_fn_c_check_func
1853
1854 # ac_fn_cxx_try_cpp LINENO
1855 # ------------------------
1856 # Try to preprocess conftest.$ac_ext, and return whether this succeeded.
1857 ac_fn_cxx_try_cpp ()
1858 {
1859 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1860 if { { ac_try="$ac_cpp conftest.$ac_ext"
1861 case "(($ac_try" in
1862 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1863 *) ac_try_echo=$ac_try;;
1864 esac
1865 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1866 $as_echo "$ac_try_echo"; } >&5
1867 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
1868 ac_status=$?
1869 if test -s conftest.err; then
1870 grep -v '^ *+' conftest.err >conftest.er1
1871 cat conftest.er1 >&5
1872 mv -f conftest.er1 conftest.err
1873 fi
1874 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1875 test $ac_status = 0; } > conftest.i && {
1876 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
1877 test ! -s conftest.err
1878 }; then :
1879 ac_retval=0
1880 else
1881 $as_echo "$as_me: failed program was:" >&5
1882 sed 's/^/| /' conftest.$ac_ext >&5
1883
1884 ac_retval=1
1885 fi
1886 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1887 as_fn_set_status $ac_retval
1888
1889 } # ac_fn_cxx_try_cpp
1890
1891 # ac_fn_cxx_try_link LINENO
1892 # -------------------------
1893 # Try to link conftest.$ac_ext, and return whether this succeeded.
1894 ac_fn_cxx_try_link ()
1895 {
1896 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1897 rm -f conftest.$ac_objext conftest$ac_exeext
1898 if { { ac_try="$ac_link"
1899 case "(($ac_try" in
1900 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1901 *) ac_try_echo=$ac_try;;
1902 esac
1903 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1904 $as_echo "$ac_try_echo"; } >&5
1905 (eval "$ac_link") 2>conftest.err
1906 ac_status=$?
1907 if test -s conftest.err; then
1908 grep -v '^ *+' conftest.err >conftest.er1
1909 cat conftest.er1 >&5
1910 mv -f conftest.er1 conftest.err
1911 fi
1912 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1913 test $ac_status = 0; } && {
1914 test -z "$ac_cxx_werror_flag" ||
1915 test ! -s conftest.err
1916 } && test -s conftest$ac_exeext && {
1917 test "$cross_compiling" = yes ||
1918 test -x conftest$ac_exeext
1919 }; then :
1920 ac_retval=0
1921 else
1922 $as_echo "$as_me: failed program was:" >&5
1923 sed 's/^/| /' conftest.$ac_ext >&5
1924
1925 ac_retval=1
1926 fi
1927 # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
1928 # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
1929 # interfere with the next link command; also delete a directory that is
1930 # left behind by Apple's compiler. We do this before executing the actions.
1931 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1932 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1933 as_fn_set_status $ac_retval
1934
1935 } # ac_fn_cxx_try_link
1936
1937 # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
1938 # -------------------------------------------------------
1939 # Tests whether HEADER exists, giving a warning if it cannot be compiled using
1940 # the include files in INCLUDES and setting the cache variable VAR
1941 # accordingly.
1942 ac_fn_c_check_header_mongrel ()
1943 {
1944 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1945 if eval \${$3+:} false; then :
1946 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1947 $as_echo_n "checking for $2... " >&6; }
1948 if eval \${$3+:} false; then :
1949 $as_echo_n "(cached) " >&6
1950 fi
1951 eval ac_res=\$$3
1952 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1953 $as_echo "$ac_res" >&6; }
1954 else
1955 # Is the header compilable?
1956 { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
1957 $as_echo_n "checking $2 usability... " >&6; }
1958 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1959 /* end confdefs.h. */
1960 $4
1961 #include <$2>
1962 _ACEOF
1963 if ac_fn_c_try_compile "$LINENO"; then :
1964 ac_header_compiler=yes
1965 else
1966 ac_header_compiler=no
1967 fi
1968 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
1969 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
1970 $as_echo "$ac_header_compiler" >&6; }
1971
1972 # Is the header present?
1973 { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
1974 $as_echo_n "checking $2 presence... " >&6; }
1975 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1976 /* end confdefs.h. */
1977 #include <$2>
1978 _ACEOF
1979 if ac_fn_c_try_cpp "$LINENO"; then :
1980 ac_header_preproc=yes
1981 else
1982 ac_header_preproc=no
1983 fi
1984 rm -f conftest.err conftest.i conftest.$ac_ext
1985 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
1986 $as_echo "$ac_header_preproc" >&6; }
1987
1988 # So? What about this header?
1989 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
1990 yes:no: )
1991 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
1992 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
1993 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
1994 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
1995 ;;
1996 no:yes:* )
1997 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
1998 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
1999 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
2000 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
2001 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
2002 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
2003 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
2004 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
2005 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
2006 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
2007 ;;
2008 esac
2009 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
2010 $as_echo_n "checking for $2... " >&6; }
2011 if eval \${$3+:} false; then :
2012 $as_echo_n "(cached) " >&6
2013 else
2014 eval "$3=\$ac_header_compiler"
2015 fi
2016 eval ac_res=\$$3
2017 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
2018 $as_echo "$ac_res" >&6; }
2019 fi
2020 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2021
2022 } # ac_fn_c_check_header_mongrel
2023 cat >config.log <<_ACEOF
2024 This file contains any messages produced by compilers while
2025 running configure, to aid debugging if configure makes a mistake.
2026
2027 It was created by LibHTP $as_me 0.5.37, which was
2028 generated by GNU Autoconf 2.69. Invocation command line was
2029
2030 $ $0 $@
2031
2032 _ACEOF
2033 exec 5>>config.log
2034 {
2035 cat <<_ASUNAME
2036 ## --------- ##
2037 ## Platform. ##
2038 ## --------- ##
2039
2040 hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
2041 uname -m = `(uname -m) 2>/dev/null || echo unknown`
2042 uname -r = `(uname -r) 2>/dev/null || echo unknown`
2043 uname -s = `(uname -s) 2>/dev/null || echo unknown`
2044 uname -v = `(uname -v) 2>/dev/null || echo unknown`
2045
2046 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
2047 /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
2048
2049 /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
2050 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
2051 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
2052 /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
2053 /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
2054 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
2055 /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
2056
2057 _ASUNAME
2058
2059 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2060 for as_dir in $PATH
2061 do
2062 IFS=$as_save_IFS
2063 test -z "$as_dir" && as_dir=.
2064 $as_echo "PATH: $as_dir"
2065 done
2066 IFS=$as_save_IFS
2067
2068 } >&5
2069
2070 cat >&5 <<_ACEOF
2071
2072
2073 ## ----------- ##
2074 ## Core tests. ##
2075 ## ----------- ##
2076
2077 _ACEOF
2078
2079
2080 # Keep a trace of the command line.
2081 # Strip out --no-create and --no-recursion so they do not pile up.
2082 # Strip out --silent because we don't want to record it for future runs.
2083 # Also quote any args containing shell meta-characters.
2084 # Make two passes to allow for proper duplicate-argument suppression.
2085 ac_configure_args=
2086 ac_configure_args0=
2087 ac_configure_args1=
2088 ac_must_keep_next=false
2089 for ac_pass in 1 2
2090 do
2091 for ac_arg
2092 do
2093 case $ac_arg in
2094 -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
2095 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
2096 | -silent | --silent | --silen | --sile | --sil)
2097 continue ;;
2098 *\'*)
2099 ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2100 esac
2101 case $ac_pass in
2102 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
2103 2)
2104 as_fn_append ac_configure_args1 " '$ac_arg'"
2105 if test $ac_must_keep_next = true; then
2106 ac_must_keep_next=false # Got value, back to normal.
2107 else
2108 case $ac_arg in
2109 *=* | --config-cache | -C | -disable-* | --disable-* \
2110 | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
2111 | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
2112 | -with-* | --with-* | -without-* | --without-* | --x)
2113 case "$ac_configure_args0 " in
2114 "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
2115 esac
2116 ;;
2117 -* ) ac_must_keep_next=true ;;
2118 esac
2119 fi
2120 as_fn_append ac_configure_args " '$ac_arg'"
2121 ;;
2122 esac
2123 done
2124 done
2125 { ac_configure_args0=; unset ac_configure_args0;}
2126 { ac_configure_args1=; unset ac_configure_args1;}
2127
2128 # When interrupted or exit'd, cleanup temporary files, and complete
2129 # config.log. We remove comments because anyway the quotes in there
2130 # would cause problems or look ugly.
2131 # WARNING: Use '\'' to represent an apostrophe within the trap.
2132 # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
2133 trap 'exit_status=$?
2134 # Save into config.log some information that might help in debugging.
2135 {
2136 echo
2137
2138 $as_echo "## ---------------- ##
2139 ## Cache variables. ##
2140 ## ---------------- ##"
2141 echo
2142 # The following way of writing the cache mishandles newlines in values,
2143 (
2144 for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
2145 eval ac_val=\$$ac_var
2146 case $ac_val in #(
2147 *${as_nl}*)
2148 case $ac_var in #(
2149 *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
2150 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
2151 esac
2152 case $ac_var in #(
2153 _ | IFS | as_nl) ;; #(
2154 BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
2155 *) { eval $ac_var=; unset $ac_var;} ;;
2156 esac ;;
2157 esac
2158 done
2159 (set) 2>&1 |
2160 case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
2161 *${as_nl}ac_space=\ *)
2162 sed -n \
2163 "s/'\''/'\''\\\\'\'''\''/g;
2164 s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
2165 ;; #(
2166 *)
2167 sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
2168 ;;
2169 esac |
2170 sort
2171 )
2172 echo
2173
2174 $as_echo "## ----------------- ##
2175 ## Output variables. ##
2176 ## ----------------- ##"
2177 echo
2178 for ac_var in $ac_subst_vars
2179 do
2180 eval ac_val=\$$ac_var
2181 case $ac_val in
2182 *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
2183 esac
2184 $as_echo "$ac_var='\''$ac_val'\''"
2185 done | sort
2186 echo
2187
2188 if test -n "$ac_subst_files"; then
2189 $as_echo "## ------------------- ##
2190 ## File substitutions. ##
2191 ## ------------------- ##"
2192 echo
2193 for ac_var in $ac_subst_files
2194 do
2195 eval ac_val=\$$ac_var
2196 case $ac_val in
2197 *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
2198 esac
2199 $as_echo "$ac_var='\''$ac_val'\''"
2200 done | sort
2201 echo
2202 fi
2203
2204 if test -s confdefs.h; then
2205 $as_echo "## ----------- ##
2206 ## confdefs.h. ##
2207 ## ----------- ##"
2208 echo
2209 cat confdefs.h
2210 echo
2211 fi
2212 test "$ac_signal" != 0 &&
2213 $as_echo "$as_me: caught signal $ac_signal"
2214 $as_echo "$as_me: exit $exit_status"
2215 } >&5
2216 rm -f core *.core core.conftest.* &&
2217 rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
2218 exit $exit_status
2219 ' 0
2220 for ac_signal in 1 2 13 15; do
2221 trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
2222 done
2223 ac_signal=0
2224
2225 # confdefs.h avoids OS command line length limits that DEFS can exceed.
2226 rm -f -r conftest* confdefs.h
2227
2228 $as_echo "/* confdefs.h */" > confdefs.h
2229
2230 # Predefined preprocessor variables.
2231
2232 cat >>confdefs.h <<_ACEOF
2233 #define PACKAGE_NAME "$PACKAGE_NAME"
2234 _ACEOF
2235
2236 cat >>confdefs.h <<_ACEOF
2237 #define PACKAGE_TARNAME "$PACKAGE_TARNAME"
2238 _ACEOF
2239
2240 cat >>confdefs.h <<_ACEOF
2241 #define PACKAGE_VERSION "$PACKAGE_VERSION"
2242 _ACEOF
2243
2244 cat >>confdefs.h <<_ACEOF
2245 #define PACKAGE_STRING "$PACKAGE_STRING"
2246 _ACEOF
2247
2248 cat >>confdefs.h <<_ACEOF
2249 #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
2250 _ACEOF
2251
2252 cat >>confdefs.h <<_ACEOF
2253 #define PACKAGE_URL "$PACKAGE_URL"
2254 _ACEOF
2255
2256
2257 # Let the site file select an alternate cache file if it wants to.
2258 # Prefer an explicitly selected file to automatically selected ones.
2259 ac_site_file1=NONE
2260 ac_site_file2=NONE
2261 if test -n "$CONFIG_SITE"; then
2262 # We do not want a PATH search for config.site.
2263 case $CONFIG_SITE in #((
2264 -*) ac_site_file1=./$CONFIG_SITE;;
2265 */*) ac_site_file1=$CONFIG_SITE;;
2266 *) ac_site_file1=./$CONFIG_SITE;;
2267 esac
2268 elif test "x$prefix" != xNONE; then
2269 ac_site_file1=$prefix/share/config.site
2270 ac_site_file2=$prefix/etc/config.site
2271 else
2272 ac_site_file1=$ac_default_prefix/share/config.site
2273 ac_site_file2=$ac_default_prefix/etc/config.site
2274 fi
2275 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
2276 do
2277 test "x$ac_site_file" = xNONE && continue
2278 if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
2279 { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
2280 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
2281 sed 's/^/| /' "$ac_site_file" >&5
2282 . "$ac_site_file" \
2283 || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2284 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2285 as_fn_error $? "failed to load site script $ac_site_file
2286 See \`config.log' for more details" "$LINENO" 5; }
2287 fi
2288 done
2289
2290 if test -r "$cache_file"; then
2291 # Some versions of bash will fail to source /dev/null (special files
2292 # actually), so we avoid doing that. DJGPP emulates it as a regular file.
2293 if test /dev/null != "$cache_file" && test -f "$cache_file"; then
2294 { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
2295 $as_echo "$as_me: loading cache $cache_file" >&6;}
2296 case $cache_file in
2297 [\\/]* | ?:[\\/]* ) . "$cache_file";;
2298 *) . "./$cache_file";;
2299 esac
2300 fi
2301 else
2302 { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
2303 $as_echo "$as_me: creating cache $cache_file" >&6;}
2304 >$cache_file
2305 fi
2306
2307 # Check that the precious variables saved in the cache have kept the same
2308 # value.
2309 ac_cache_corrupted=false
2310 for ac_var in $ac_precious_vars; do
2311 eval ac_old_set=\$ac_cv_env_${ac_var}_set
2312 eval ac_new_set=\$ac_env_${ac_var}_set
2313 eval ac_old_val=\$ac_cv_env_${ac_var}_value
2314 eval ac_new_val=\$ac_env_${ac_var}_value
2315 case $ac_old_set,$ac_new_set in
2316 set,)
2317 { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
2318 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
2319 ac_cache_corrupted=: ;;
2320 ,set)
2321 { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
2322 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
2323 ac_cache_corrupted=: ;;
2324 ,);;
2325 *)
2326 if test "x$ac_old_val" != "x$ac_new_val"; then
2327 # differences in whitespace do not lead to failure.
2328 ac_old_val_w=`echo x $ac_old_val`
2329 ac_new_val_w=`echo x $ac_new_val`
2330 if test "$ac_old_val_w" != "$ac_new_val_w"; then
2331 { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
2332 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
2333 ac_cache_corrupted=:
2334 else
2335 { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
2336 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
2337 eval $ac_var=\$ac_old_val
2338 fi
2339 { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
2340 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
2341 { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
2342 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
2343 fi;;
2344 esac
2345 # Pass precious variables to config.status.
2346 if test "$ac_new_set" = set; then
2347 case $ac_new_val in
2348 *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
2349 *) ac_arg=$ac_var=$ac_new_val ;;
2350 esac
2351 case " $ac_configure_args " in
2352 *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
2353 *) as_fn_append ac_configure_args " '$ac_arg'" ;;
2354 esac
2355 fi
2356 done
2357 if $ac_cache_corrupted; then
2358 { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2359 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2360 { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
2361 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
2362 as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
2363 fi
2364 ## -------------------- ##
2365 ## Main body of script. ##
2366 ## -------------------- ##
2367
2368 ac_ext=c
2369 ac_cpp='$CPP $CPPFLAGS'
2370 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
2371 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
2372 ac_compiler_gnu=$ac_cv_c_compiler_gnu
2373
2374
2375 am__api_version='1.16'
2376
2377 ac_aux_dir=
2378 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
2379 if test -f "$ac_dir/install-sh"; then
2380 ac_aux_dir=$ac_dir
2381 ac_install_sh="$ac_aux_dir/install-sh -c"
2382 break
2383 elif test -f "$ac_dir/install.sh"; then
2384 ac_aux_dir=$ac_dir
2385 ac_install_sh="$ac_aux_dir/install.sh -c"
2386 break
2387 elif test -f "$ac_dir/shtool"; then
2388 ac_aux_dir=$ac_dir
2389 ac_install_sh="$ac_aux_dir/shtool install -c"
2390 break
2391 fi
2392 done
2393 if test -z "$ac_aux_dir"; then
2394 as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
2395 fi
2396
2397 # These three variables are undocumented and unsupported,
2398 # and are intended to be withdrawn in a future Autoconf release.
2399 # They can cause serious problems if a builder's source tree is in a directory
2400 # whose full name contains unusual characters.
2401 ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
2402 ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
2403 ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
2404
2405
2406 # Find a good install program. We prefer a C program (faster),
2407 # so one script is as good as another. But avoid the broken or
2408 # incompatible versions:
2409 # SysV /etc/install, /usr/sbin/install
2410 # SunOS /usr/etc/install
2411 # IRIX /sbin/install
2412 # AIX /bin/install
2413 # AmigaOS /C/install, which installs bootblocks on floppy discs
2414 # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
2415 # AFS /usr/afsws/bin/install, which mishandles nonexistent args
2416 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
2417 # OS/2's system install, which has a completely different semantic
2418 # ./install, which can be erroneously created by make from ./install.sh.
2419 # Reject install programs that cannot install multiple files.
2420 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
2421 $as_echo_n "checking for a BSD-compatible install... " >&6; }
2422 if test -z "$INSTALL"; then
2423 if ${ac_cv_path_install+:} false; then :
2424 $as_echo_n "(cached) " >&6
2425 else
2426 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2427 for as_dir in $PATH
2428 do
2429 IFS=$as_save_IFS
2430 test -z "$as_dir" && as_dir=.
2431 # Account for people who put trailing slashes in PATH elements.
2432 case $as_dir/ in #((
2433 ./ | .// | /[cC]/* | \
2434 /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
2435 ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
2436 /usr/ucb/* ) ;;
2437 *)
2438 # OSF1 and SCO ODT 3.0 have their own names for install.
2439 # Don't use installbsd from OSF since it installs stuff as root
2440 # by default.
2441 for ac_prog in ginstall scoinst install; do
2442 for ac_exec_ext in '' $ac_executable_extensions; do
2443 if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
2444 if test $ac_prog = install &&
2445 grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
2446 # AIX install. It has an incompatible calling convention.
2447 :
2448 elif test $ac_prog = install &&
2449 grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
2450 # program-specific install script used by HP pwplus--don't use.
2451 :
2452 else
2453 rm -rf conftest.one conftest.two conftest.dir
2454 echo one > conftest.one
2455 echo two > conftest.two
2456 mkdir conftest.dir
2457 if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
2458 test -s conftest.one && test -s conftest.two &&
2459 test -s conftest.dir/conftest.one &&
2460 test -s conftest.dir/conftest.two
2461 then
2462 ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
2463 break 3
2464 fi
2465 fi
2466 fi
2467 done
2468 done
2469 ;;
2470 esac
2471
2472 done
2473 IFS=$as_save_IFS
2474
2475 rm -rf conftest.one conftest.two conftest.dir
2476
2477 fi
2478 if test "${ac_cv_path_install+set}" = set; then
2479 INSTALL=$ac_cv_path_install
2480 else
2481 # As a last resort, use the slow shell script. Don't cache a
2482 # value for INSTALL within a source directory, because that will
2483 # break other packages using the cache if that directory is
2484 # removed, or if the value is a relative name.
2485 INSTALL=$ac_install_sh
2486 fi
2487 fi
2488 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
2489 $as_echo "$INSTALL" >&6; }
2490
2491 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
2492 # It thinks the first close brace ends the variable substitution.
2493 test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
2494
2495 test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
2496
2497 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
2498
2499 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
2500 $as_echo_n "checking whether build environment is sane... " >&6; }
2501 # Reject unsafe characters in $srcdir or the absolute working directory
2502 # name. Accept space and tab only in the latter.
2503 am_lf='
2504 '
2505 case `pwd` in
2506 *[\\\"\#\$\&\'\`$am_lf]*)
2507 as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
2508 esac
2509 case $srcdir in
2510 *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
2511 as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
2512 esac
2513
2514 # Do 'set' in a subshell so we don't clobber the current shell's
2515 # arguments. Must try -L first in case configure is actually a
2516 # symlink; some systems play weird games with the mod time of symlinks
2517 # (eg FreeBSD returns the mod time of the symlink's containing
2518 # directory).
2519 if (
2520 am_has_slept=no
2521 for am_try in 1 2; do
2522 echo "timestamp, slept: $am_has_slept" > conftest.file
2523 set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
2524 if test "$*" = "X"; then
2525 # -L didn't work.
2526 set X `ls -t "$srcdir/configure" conftest.file`
2527 fi
2528 if test "$*" != "X $srcdir/configure conftest.file" \
2529 && test "$*" != "X conftest.file $srcdir/configure"; then
2530
2531 # If neither matched, then we have a broken ls. This can happen
2532 # if, for instance, CONFIG_SHELL is bash and it inherits a
2533 # broken ls alias from the environment. This has actually
2534 # happened. Such a system could not be considered "sane".
2535 as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
2536 alias in your environment" "$LINENO" 5
2537 fi
2538 if test "$2" = conftest.file || test $am_try -eq 2; then
2539 break
2540 fi
2541 # Just in case.
2542 sleep 1
2543 am_has_slept=yes
2544 done
2545 test "$2" = conftest.file
2546 )
2547 then
2548 # Ok.
2549 :
2550 else
2551 as_fn_error $? "newly created file is older than distributed files!
2552 Check your system clock" "$LINENO" 5
2553 fi
2554 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
2555 $as_echo "yes" >&6; }
2556 # If we didn't sleep, we still need to ensure time stamps of config.status and
2557 # generated files are strictly newer.
2558 am_sleep_pid=
2559 if grep 'slept: no' conftest.file >/dev/null 2>&1; then
2560 ( sleep 1 ) &
2561 am_sleep_pid=$!
2562 fi
2563
2564 rm -f conftest.file
2565
2566 test "$program_prefix" != NONE &&
2567 program_transform_name="s&^&$program_prefix&;$program_transform_name"
2568 # Use a double $ so make ignores it.
2569 test "$program_suffix" != NONE &&
2570 program_transform_name="s&\$&$program_suffix&;$program_transform_name"
2571 # Double any \ or $.
2572 # By default was `s,x,x', remove it if useless.
2573 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
2574 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
2575
2576 # Expand $ac_aux_dir to an absolute path.
2577 am_aux_dir=`cd "$ac_aux_dir" && pwd`
2578
2579 if test x"${MISSING+set}" != xset; then
2580 MISSING="\${SHELL} '$am_aux_dir/missing'"
2581 fi
2582 # Use eval to expand $SHELL
2583 if eval "$MISSING --is-lightweight"; then
2584 am_missing_run="$MISSING "
2585 else
2586 am_missing_run=
2587 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
2588 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
2589 fi
2590
2591 if test x"${install_sh+set}" != xset; then
2592 case $am_aux_dir in
2593 *\ * | *\ *)
2594 install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
2595 *)
2596 install_sh="\${SHELL} $am_aux_dir/install-sh"
2597 esac
2598 fi
2599
2600 # Installed binaries are usually stripped using 'strip' when the user
2601 # run "make install-strip". However 'strip' might not be the right
2602 # tool to use in cross-compilation environments, therefore Automake
2603 # will honor the 'STRIP' environment variable to overrule this program.
2604 if test "$cross_compiling" != no; then
2605 if test -n "$ac_tool_prefix"; then
2606 # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
2607 set dummy ${ac_tool_prefix}strip; ac_word=$2
2608 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
2609 $as_echo_n "checking for $ac_word... " >&6; }
2610 if ${ac_cv_prog_STRIP+:} false; then :
2611 $as_echo_n "(cached) " >&6
2612 else
2613 if test -n "$STRIP"; then
2614 ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
2615 else
2616 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2617 for as_dir in $PATH
2618 do
2619 IFS=$as_save_IFS
2620 test -z "$as_dir" && as_dir=.
2621 for ac_exec_ext in '' $ac_executable_extensions; do
2622 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
2623 ac_cv_prog_STRIP="${ac_tool_prefix}strip"
2624 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
2625 break 2
2626 fi
2627 done
2628 done
2629 IFS=$as_save_IFS
2630
2631 fi
2632 fi
2633 STRIP=$ac_cv_prog_STRIP
2634 if test -n "$STRIP"; then
2635 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
2636 $as_echo "$STRIP" >&6; }
2637 else
2638 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2639 $as_echo "no" >&6; }
2640 fi
2641
2642
2643 fi
2644 if test -z "$ac_cv_prog_STRIP"; then
2645 ac_ct_STRIP=$STRIP
2646 # Extract the first word of "strip", so it can be a program name with args.
2647 set dummy strip; ac_word=$2
2648 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
2649 $as_echo_n "checking for $ac_word... " >&6; }
2650 if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
2651 $as_echo_n "(cached) " >&6
2652 else
2653 if test -n "$ac_ct_STRIP"; then
2654 ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
2655 else
2656 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2657 for as_dir in $PATH
2658 do
2659 IFS=$as_save_IFS
2660 test -z "$as_dir" && as_dir=.
2661 for ac_exec_ext in '' $ac_executable_extensions; do
2662 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
2663 ac_cv_prog_ac_ct_STRIP="strip"
2664 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
2665 break 2
2666 fi
2667 done
2668 done
2669 IFS=$as_save_IFS
2670
2671 fi
2672 fi
2673 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
2674 if test -n "$ac_ct_STRIP"; then
2675 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
2676 $as_echo "$ac_ct_STRIP" >&6; }
2677 else
2678 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2679 $as_echo "no" >&6; }
2680 fi
2681
2682 if test "x$ac_ct_STRIP" = x; then
2683 STRIP=":"
2684 else
2685 case $cross_compiling:$ac_tool_warned in
2686 yes:)
2687 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
2688 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
2689 ac_tool_warned=yes ;;
2690 esac
2691 STRIP=$ac_ct_STRIP
2692 fi
2693 else
2694 STRIP="$ac_cv_prog_STRIP"
2695 fi
2696
2697 fi
2698 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
2699
2700 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
2701 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
2702 if test -z "$MKDIR_P"; then
2703 if ${ac_cv_path_mkdir+:} false; then :
2704 $as_echo_n "(cached) " >&6
2705 else
2706 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2707 for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
2708 do
2709 IFS=$as_save_IFS
2710 test -z "$as_dir" && as_dir=.
2711 for ac_prog in mkdir gmkdir; do
2712 for ac_exec_ext in '' $ac_executable_extensions; do
2713 as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
2714 case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
2715 'mkdir (GNU coreutils) '* | \
2716 'mkdir (coreutils) '* | \
2717 'mkdir (fileutils) '4.1*)
2718 ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
2719 break 3;;
2720 esac
2721 done
2722 done
2723 done
2724 IFS=$as_save_IFS
2725
2726 fi
2727
2728 test -d ./--version && rmdir ./--version
2729 if test "${ac_cv_path_mkdir+set}" = set; then
2730 MKDIR_P="$ac_cv_path_mkdir -p"
2731 else
2732 # As a last resort, use the slow shell script. Don't cache a
2733 # value for MKDIR_P within a source directory, because that will
2734 # break other packages using the cache if that directory is
2735 # removed, or if the value is a relative name.
2736 MKDIR_P="$ac_install_sh -d"
2737 fi
2738 fi
2739 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
2740 $as_echo "$MKDIR_P" >&6; }
2741
2742 for ac_prog in gawk mawk nawk awk
2743 do
2744 # Extract the first word of "$ac_prog", so it can be a program name with args.
2745 set dummy $ac_prog; ac_word=$2
2746 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
2747 $as_echo_n "checking for $ac_word... " >&6; }
2748 if ${ac_cv_prog_AWK+:} false; then :
2749 $as_echo_n "(cached) " >&6
2750 else
2751 if test -n "$AWK"; then
2752 ac_cv_prog_AWK="$AWK" # Let the user override the test.
2753 else
2754 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2755 for as_dir in $PATH
2756 do
2757 IFS=$as_save_IFS
2758 test -z "$as_dir" && as_dir=.
2759 for ac_exec_ext in '' $ac_executable_extensions; do
2760 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
2761 ac_cv_prog_AWK="$ac_prog"
2762 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
2763 break 2
2764 fi
2765 done
2766 done
2767 IFS=$as_save_IFS
2768
2769 fi
2770 fi
2771 AWK=$ac_cv_prog_AWK
2772 if test -n "$AWK"; then
2773 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
2774 $as_echo "$AWK" >&6; }
2775 else
2776 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2777 $as_echo "no" >&6; }
2778 fi
2779
2780
2781 test -n "$AWK" && break
2782 done
2783
2784 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
2785 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
2786 set x ${MAKE-make}
2787 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
2788 if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
2789 $as_echo_n "(cached) " >&6
2790 else
2791 cat >conftest.make <<\_ACEOF
2792 SHELL = /bin/sh
2793 all:
2794 @echo '@@@%%%=$(MAKE)=@@@%%%'
2795 _ACEOF
2796 # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
2797 case `${MAKE-make} -f conftest.make 2>/dev/null` in
2798 *@@@%%%=?*=@@@%%%*)
2799 eval ac_cv_prog_make_${ac_make}_set=yes;;
2800 *)
2801 eval ac_cv_prog_make_${ac_make}_set=no;;
2802 esac
2803 rm -f conftest.make
2804 fi
2805 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
2806 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
2807 $as_echo "yes" >&6; }
2808 SET_MAKE=
2809 else
2810 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2811 $as_echo "no" >&6; }
2812 SET_MAKE="MAKE=${MAKE-make}"
2813 fi
2814
2815 rm -rf .tst 2>/dev/null
2816 mkdir .tst 2>/dev/null
2817 if test -d .tst; then
2818 am__leading_dot=.
2819 else
2820 am__leading_dot=_
2821 fi
2822 rmdir .tst 2>/dev/null
2823
2824 # Check whether --enable-silent-rules was given.
2825 if test "${enable_silent_rules+set}" = set; then :
2826 enableval=$enable_silent_rules;
2827 fi
2828
2829 case $enable_silent_rules in # (((
2830 yes) AM_DEFAULT_VERBOSITY=0;;
2831 no) AM_DEFAULT_VERBOSITY=1;;
2832 *) AM_DEFAULT_VERBOSITY=1;;
2833 esac
2834 am_make=${MAKE-make}
2835 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
2836 $as_echo_n "checking whether $am_make supports nested variables... " >&6; }
2837 if ${am_cv_make_support_nested_variables+:} false; then :
2838 $as_echo_n "(cached) " >&6
2839 else
2840 if $as_echo 'TRUE=$(BAR$(V))
2841 BAR0=false
2842 BAR1=true
2843 V=1
2844 am__doit:
2845 @$(TRUE)
2846 .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
2847 am_cv_make_support_nested_variables=yes
2848 else
2849 am_cv_make_support_nested_variables=no
2850 fi
2851 fi
2852 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
2853 $as_echo "$am_cv_make_support_nested_variables" >&6; }
2854 if test $am_cv_make_support_nested_variables = yes; then
2855 AM_V='$(V)'
2856 AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
2857 else
2858 AM_V=$AM_DEFAULT_VERBOSITY
2859 AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
2860 fi
2861 AM_BACKSLASH='\'
2862
2863 if test "`cd $srcdir && pwd`" != "`pwd`"; then
2864 # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
2865 # is not polluted with repeated "-I."
2866 am__isrc=' -I$(srcdir)'
2867 # test to see if srcdir already configured
2868 if test -f $srcdir/config.status; then
2869 as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
2870 fi
2871 fi
2872
2873 # test whether we have cygpath
2874 if test -z "$CYGPATH_W"; then
2875 if (cygpath --version) >/dev/null 2>/dev/null; then
2876 CYGPATH_W='cygpath -w'
2877 else
2878 CYGPATH_W=echo
2879 fi
2880 fi
2881
2882
2883 # Define the identity of the package.
2884 PACKAGE='libhtp'
2885 VERSION='0.5.37'
2886
2887
2888 cat >>confdefs.h <<_ACEOF
2889 #define PACKAGE "$PACKAGE"
2890 _ACEOF
2891
2892
2893 cat >>confdefs.h <<_ACEOF
2894 #define VERSION "$VERSION"
2895 _ACEOF
2896
2897 # Some tools Automake needs.
2898
2899 ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
2900
2901
2902 AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
2903
2904
2905 AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
2906
2907
2908 AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
2909
2910
2911 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
2912
2913 # For better backward compatibility. To be removed once Automake 1.9.x
2914 # dies out for good. For more background, see:
2915 # <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
2916 # <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
2917 mkdir_p='$(MKDIR_P)'
2918
2919 # We need awk for the "check" target (and possibly the TAP driver). The
2920 # system "awk" is bad on some platforms.
2921 # Always define AMTAR for backward compatibility. Yes, it's still used
2922 # in the wild :-( We should find a proper way to deprecate it ...
2923 AMTAR='$${TAR-tar}'
2924
2925
2926 # We'll loop over all known methods to create a tar archive until one works.
2927 _am_tools='gnutar pax cpio none'
2928
2929 am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
2930
2931
2932
2933
2934
2935
2936 # POSIX will say in a future version that running "rm -f" with no argument
2937 # is OK; and we want to be able to make that assumption in our Makefile
2938 # recipes. So use an aggressive probe to check that the usage we want is
2939 # actually supported "in the wild" to an acceptable degree.
2940 # See automake bug#10828.
2941 # To make any issue more visible, cause the running configure to be aborted
2942 # by default if the 'rm' program in use doesn't match our expectations; the
2943 # user can still override this though.
2944 if rm -f && rm -fr && rm -rf; then : OK; else
2945 cat >&2 <<'END'
2946 Oops!
2947
2948 Your 'rm' program seems unable to run without file operands specified
2949 on the command line, even when the '-f' option is present. This is contrary
2950 to the behaviour of most rm programs out there, and not conforming with
2951 the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
2952
2953 Please tell bug-automake@gnu.org about your system, including the value
2954 of your $PATH and any error possibly output before this message. This
2955 can help us improve future automake versions.
2956
2957 END
2958 if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
2959 echo 'Configuration will proceed anyway, since you have set the' >&2
2960 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
2961 echo >&2
2962 else
2963 cat >&2 <<'END'
2964 Aborting the configuration process, to ensure you take notice of the issue.
2965
2966 You can download and install GNU coreutils to get an 'rm' implementation
2967 that behaves properly: <https://www.gnu.org/software/coreutils/>.
2968
2969 If you want to complete the configuration process using your problematic
2970 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
2971 to "yes", and re-run configure.
2972
2973 END
2974 as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
2975 fi
2976 fi
2977
2978
2979 ac_config_headers="$ac_config_headers htp_config_auto_gen.h"
2980
2981 ac_config_files="$ac_config_files htp/htp_version.h"
2982
2983
2984
2985
2986 GENERIC_LIBRARY_NAME=htp
2987
2988 # This is _NOT_ the library release version, it's an API version.
2989 GENERIC_LIBRARY_VERSION=2:0:0
2990 # | | |
2991 # +------+ | +---+
2992 # | | |
2993 # current:revision:age
2994 # | | |
2995 # | | +- increment if interfaces have been added
2996 # | | set to zero if interfaces have been removed
2997 # | | or changed
2998 # | +- increment if source code has changed
2999 # | set to zero if current is incremented
3000 # +- increment if interfaces have been added, removed or changed
3001
3002
3003
3004 PACKAGE=$GENERIC_LIBRARY_NAME
3005
3006
3007 GENERIC_VERSION=$PACKAGE_VERSION
3008 GENERIC_RELEASE=$PACKAGE_VERSION
3009
3010
3011
3012 VERSION=$GENERIC_VERSION
3013
3014
3015
3016
3017 # Check whether --enable-debug was given.
3018 if test "${enable_debug+set}" = set; then :
3019 enableval=$enable_debug;
3020 else
3021 enable_debug=no
3022 fi
3023
3024 if test "x$enable_debug" = "xyes"; then
3025 CFLAGS="${CFLAGS} -DHTP_DEBUG"
3026 echo "Debug mode enabled"
3027 fi
3028
3029 OLEVEL=2
3030
3031 # Check whether --enable-devmode was given.
3032 if test "${enable_devmode+set}" = set; then :
3033 enableval=$enable_devmode;
3034 else
3035 enable_devmode=no
3036 fi
3037
3038 if test "$enable_devmode" = "yes"; then
3039 OLEVEL=0
3040 CFLAGS="${CFLAGS} -Werror -Wfatal-errors"
3041 CPPFLAGS="${CPPFLAGS} -Werror -Wfatal-errors"
3042 echo "Development mode enabled"
3043 fi
3044
3045 # Check whether --enable-gcov was given.
3046 if test "${enable_gcov+set}" = set; then :
3047 enableval=$enable_gcov;
3048 else
3049 enable_gcov=no
3050 fi
3051
3052 if test "$enable_gcov" = "yes"; then
3053 OLEVEL=0
3054 CFLAGS="${CFLAGS} --coverage -fprofile-arcs -ftest-coverage"
3055 CPPFLAGS="${CPPFLAGS} --coverage -fprofile-arcs -ftest-coverage"
3056 LDFLAGS="${LDFLAGS} -lgcov --coverage -fprofile-arcs"
3057 echo "gcov support enabled"
3058 fi
3059
3060 CFLAGS="${CFLAGS} -O${OLEVEL}"
3061 CPPFLAGS="${CPPFLAGS} -O${OLEVEL}"
3062
3063
3064 ac_ext=c
3065 ac_cpp='$CPP $CPPFLAGS'
3066 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3067 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3068 ac_compiler_gnu=$ac_cv_c_compiler_gnu
3069 if test -n "$ac_tool_prefix"; then
3070 # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
3071 set dummy ${ac_tool_prefix}gcc; ac_word=$2
3072 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3073 $as_echo_n "checking for $ac_word... " >&6; }
3074 if ${ac_cv_prog_CC+:} false; then :
3075 $as_echo_n "(cached) " >&6
3076 else
3077 if test -n "$CC"; then
3078 ac_cv_prog_CC="$CC" # Let the user override the test.
3079 else
3080 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3081 for as_dir in $PATH
3082 do
3083 IFS=$as_save_IFS
3084 test -z "$as_dir" && as_dir=.
3085 for ac_exec_ext in '' $ac_executable_extensions; do
3086 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3087 ac_cv_prog_CC="${ac_tool_prefix}gcc"
3088 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3089 break 2
3090 fi
3091 done
3092 done
3093 IFS=$as_save_IFS
3094
3095 fi
3096 fi
3097 CC=$ac_cv_prog_CC
3098 if test -n "$CC"; then
3099 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
3100 $as_echo "$CC" >&6; }
3101 else
3102 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3103 $as_echo "no" >&6; }
3104 fi
3105
3106
3107 fi
3108 if test -z "$ac_cv_prog_CC"; then
3109 ac_ct_CC=$CC
3110 # Extract the first word of "gcc", so it can be a program name with args.
3111 set dummy gcc; ac_word=$2
3112 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3113 $as_echo_n "checking for $ac_word... " >&6; }
3114 if ${ac_cv_prog_ac_ct_CC+:} false; then :
3115 $as_echo_n "(cached) " >&6
3116 else
3117 if test -n "$ac_ct_CC"; then
3118 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
3119 else
3120 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3121 for as_dir in $PATH
3122 do
3123 IFS=$as_save_IFS
3124 test -z "$as_dir" && as_dir=.
3125 for ac_exec_ext in '' $ac_executable_extensions; do
3126 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3127 ac_cv_prog_ac_ct_CC="gcc"
3128 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3129 break 2
3130 fi
3131 done
3132 done
3133 IFS=$as_save_IFS
3134
3135 fi
3136 fi
3137 ac_ct_CC=$ac_cv_prog_ac_ct_CC
3138 if test -n "$ac_ct_CC"; then
3139 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
3140 $as_echo "$ac_ct_CC" >&6; }
3141 else
3142 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3143 $as_echo "no" >&6; }
3144 fi
3145
3146 if test "x$ac_ct_CC" = x; then
3147 CC=""
3148 else
3149 case $cross_compiling:$ac_tool_warned in
3150 yes:)
3151 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
3152 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
3153 ac_tool_warned=yes ;;
3154 esac
3155 CC=$ac_ct_CC
3156 fi
3157 else
3158 CC="$ac_cv_prog_CC"
3159 fi
3160
3161 if test -z "$CC"; then
3162 if test -n "$ac_tool_prefix"; then
3163 # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
3164 set dummy ${ac_tool_prefix}cc; ac_word=$2
3165 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3166 $as_echo_n "checking for $ac_word... " >&6; }
3167 if ${ac_cv_prog_CC+:} false; then :
3168 $as_echo_n "(cached) " >&6
3169 else
3170 if test -n "$CC"; then
3171 ac_cv_prog_CC="$CC" # Let the user override the test.
3172 else
3173 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3174 for as_dir in $PATH
3175 do
3176 IFS=$as_save_IFS
3177 test -z "$as_dir" && as_dir=.
3178 for ac_exec_ext in '' $ac_executable_extensions; do
3179 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3180 ac_cv_prog_CC="${ac_tool_prefix}cc"
3181 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3182 break 2
3183 fi
3184 done
3185 done
3186 IFS=$as_save_IFS
3187
3188 fi
3189 fi
3190 CC=$ac_cv_prog_CC
3191 if test -n "$CC"; then
3192 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
3193 $as_echo "$CC" >&6; }
3194 else
3195 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3196 $as_echo "no" >&6; }
3197 fi
3198
3199
3200 fi
3201 fi
3202 if test -z "$CC"; then
3203 # Extract the first word of "cc", so it can be a program name with args.
3204 set dummy cc; ac_word=$2
3205 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3206 $as_echo_n "checking for $ac_word... " >&6; }
3207 if ${ac_cv_prog_CC+:} false; then :
3208 $as_echo_n "(cached) " >&6
3209 else
3210 if test -n "$CC"; then
3211 ac_cv_prog_CC="$CC" # Let the user override the test.
3212 else
3213 ac_prog_rejected=no
3214 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3215 for as_dir in $PATH
3216 do
3217 IFS=$as_save_IFS
3218 test -z "$as_dir" && as_dir=.
3219 for ac_exec_ext in '' $ac_executable_extensions; do
3220 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3221 if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
3222 ac_prog_rejected=yes
3223 continue
3224 fi
3225 ac_cv_prog_CC="cc"
3226 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3227 break 2
3228 fi
3229 done
3230 done
3231 IFS=$as_save_IFS
3232
3233 if test $ac_prog_rejected = yes; then
3234 # We found a bogon in the path, so make sure we never use it.
3235 set dummy $ac_cv_prog_CC
3236 shift
3237 if test $# != 0; then
3238 # We chose a different compiler from the bogus one.
3239 # However, it has the same basename, so the bogon will be chosen
3240 # first if we set CC to just the basename; use the full file name.
3241 shift
3242 ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
3243 fi
3244 fi
3245 fi
3246 fi
3247 CC=$ac_cv_prog_CC
3248 if test -n "$CC"; then
3249 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
3250 $as_echo "$CC" >&6; }
3251 else
3252 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3253 $as_echo "no" >&6; }
3254 fi
3255
3256
3257 fi
3258 if test -z "$CC"; then
3259 if test -n "$ac_tool_prefix"; then
3260 for ac_prog in cl.exe
3261 do
3262 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
3263 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
3264 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3265 $as_echo_n "checking for $ac_word... " >&6; }
3266 if ${ac_cv_prog_CC+:} false; then :
3267 $as_echo_n "(cached) " >&6
3268 else
3269 if test -n "$CC"; then
3270 ac_cv_prog_CC="$CC" # Let the user override the test.
3271 else
3272 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3273 for as_dir in $PATH
3274 do
3275 IFS=$as_save_IFS
3276 test -z "$as_dir" && as_dir=.
3277 for ac_exec_ext in '' $ac_executable_extensions; do
3278 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3279 ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
3280 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3281 break 2
3282 fi
3283 done
3284 done
3285 IFS=$as_save_IFS
3286
3287 fi
3288 fi
3289 CC=$ac_cv_prog_CC
3290 if test -n "$CC"; then
3291 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
3292 $as_echo "$CC" >&6; }
3293 else
3294 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3295 $as_echo "no" >&6; }
3296 fi
3297
3298
3299 test -n "$CC" && break
3300 done
3301 fi
3302 if test -z "$CC"; then
3303 ac_ct_CC=$CC
3304 for ac_prog in cl.exe
3305 do
3306 # Extract the first word of "$ac_prog", so it can be a program name with args.
3307 set dummy $ac_prog; ac_word=$2
3308 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3309 $as_echo_n "checking for $ac_word... " >&6; }
3310 if ${ac_cv_prog_ac_ct_CC+:} false; then :
3311 $as_echo_n "(cached) " >&6
3312 else
3313 if test -n "$ac_ct_CC"; then
3314 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
3315 else
3316 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3317 for as_dir in $PATH
3318 do
3319 IFS=$as_save_IFS
3320 test -z "$as_dir" && as_dir=.
3321 for ac_exec_ext in '' $ac_executable_extensions; do
3322 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3323 ac_cv_prog_ac_ct_CC="$ac_prog"
3324 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3325 break 2
3326 fi
3327 done
3328 done
3329 IFS=$as_save_IFS
3330
3331 fi
3332 fi
3333 ac_ct_CC=$ac_cv_prog_ac_ct_CC
3334 if test -n "$ac_ct_CC"; then
3335 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
3336 $as_echo "$ac_ct_CC" >&6; }
3337 else
3338 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3339 $as_echo "no" >&6; }
3340 fi
3341
3342
3343 test -n "$ac_ct_CC" && break
3344 done
3345
3346 if test "x$ac_ct_CC" = x; then
3347 CC=""
3348 else
3349 case $cross_compiling:$ac_tool_warned in
3350 yes:)
3351 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
3352 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
3353 ac_tool_warned=yes ;;
3354 esac
3355 CC=$ac_ct_CC
3356 fi
3357 fi
3358
3359 fi
3360
3361
3362 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3363 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3364 as_fn_error $? "no acceptable C compiler found in \$PATH
3365 See \`config.log' for more details" "$LINENO" 5; }
3366
3367 # Provide some information about the compiler.
3368 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
3369 set X $ac_compile
3370 ac_compiler=$2
3371 for ac_option in --version -v -V -qversion; do
3372 { { ac_try="$ac_compiler $ac_option >&5"
3373 case "(($ac_try" in
3374 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
3375 *) ac_try_echo=$ac_try;;
3376 esac
3377 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
3378 $as_echo "$ac_try_echo"; } >&5
3379 (eval "$ac_compiler $ac_option >&5") 2>conftest.err
3380 ac_status=$?
3381 if test -s conftest.err; then
3382 sed '10a\
3383 ... rest of stderr output deleted ...
3384 10q' conftest.err >conftest.er1
3385 cat conftest.er1 >&5
3386 fi
3387 rm -f conftest.er1 conftest.err
3388 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
3389 test $ac_status = 0; }
3390 done
3391
3392 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3393 /* end confdefs.h. */
3394
3395 int
3396 main ()
3397 {
3398
3399 ;
3400 return 0;
3401 }
3402 _ACEOF
3403 ac_clean_files_save=$ac_clean_files
3404 ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
3405 # Try to create an executable without -o first, disregard a.out.
3406 # It will help us diagnose broken compilers, and finding out an intuition
3407 # of exeext.
3408 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
3409 $as_echo_n "checking whether the C compiler works... " >&6; }
3410 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
3411
3412 # The possible output files:
3413 ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
3414
3415 ac_rmfiles=
3416 for ac_file in $ac_files
3417 do
3418 case $ac_file in
3419 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
3420 * ) ac_rmfiles="$ac_rmfiles $ac_file";;
3421 esac
3422 done
3423 rm -f $ac_rmfiles
3424
3425 if { { ac_try="$ac_link_default"
3426 case "(($ac_try" in
3427 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
3428 *) ac_try_echo=$ac_try;;
3429 esac
3430 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
3431 $as_echo "$ac_try_echo"; } >&5
3432 (eval "$ac_link_default") 2>&5
3433 ac_status=$?
3434 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
3435 test $ac_status = 0; }; then :
3436 # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
3437 # So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
3438 # in a Makefile. We should not override ac_cv_exeext if it was cached,
3439 # so that the user can short-circuit this test for compilers unknown to
3440 # Autoconf.
3441 for ac_file in $ac_files ''
3442 do
3443 test -f "$ac_file" || continue
3444 case $ac_file in
3445 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
3446 ;;
3447 [ab].out )
3448 # We found the default executable, but exeext='' is most
3449 # certainly right.
3450 break;;
3451 *.* )
3452 if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
3453 then :; else
3454 ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
3455 fi
3456 # We set ac_cv_exeext here because the later test for it is not
3457 # safe: cross compilers may not add the suffix if given an `-o'
3458 # argument, so we may need to know it at that point already.
3459 # Even if this section looks crufty: it has the advantage of
3460 # actually working.
3461 break;;
3462 * )
3463 break;;
3464 esac
3465 done
3466 test "$ac_cv_exeext" = no && ac_cv_exeext=
3467
3468 else
3469 ac_file=''
3470 fi
3471 if test -z "$ac_file"; then :
3472 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3473 $as_echo "no" >&6; }
3474 $as_echo "$as_me: failed program was:" >&5
3475 sed 's/^/| /' conftest.$ac_ext >&5
3476
3477 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3478 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3479 as_fn_error 77 "C compiler cannot create executables
3480 See \`config.log' for more details" "$LINENO" 5; }
3481 else
3482 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
3483 $as_echo "yes" >&6; }
3484 fi
3485 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
3486 $as_echo_n "checking for C compiler default output file name... " >&6; }
3487 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
3488 $as_echo "$ac_file" >&6; }
3489 ac_exeext=$ac_cv_exeext
3490
3491 rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
3492 ac_clean_files=$ac_clean_files_save
3493 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
3494 $as_echo_n "checking for suffix of executables... " >&6; }
3495 if { { ac_try="$ac_link"
3496 case "(($ac_try" in
3497 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
3498 *) ac_try_echo=$ac_try;;
3499 esac
3500 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
3501 $as_echo "$ac_try_echo"; } >&5
3502 (eval "$ac_link") 2>&5
3503 ac_status=$?
3504 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
3505 test $ac_status = 0; }; then :
3506 # If both `conftest.exe' and `conftest' are `present' (well, observable)
3507 # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
3508 # work properly (i.e., refer to `conftest.exe'), while it won't with
3509 # `rm'.
3510 for ac_file in conftest.exe conftest conftest.*; do
3511 test -f "$ac_file" || continue
3512 case $ac_file in
3513 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
3514 *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
3515 break;;
3516 * ) break;;
3517 esac
3518 done
3519 else
3520 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3521 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3522 as_fn_error $? "cannot compute suffix of executables: cannot compile and link
3523 See \`config.log' for more details" "$LINENO" 5; }
3524 fi
3525 rm -f conftest conftest$ac_cv_exeext
3526 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
3527 $as_echo "$ac_cv_exeext" >&6; }
3528
3529 rm -f conftest.$ac_ext
3530 EXEEXT=$ac_cv_exeext
3531 ac_exeext=$EXEEXT
3532 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3533 /* end confdefs.h. */
3534 #include <stdio.h>
3535 int
3536 main ()
3537 {
3538 FILE *f = fopen ("conftest.out", "w");
3539 return ferror (f) || fclose (f) != 0;
3540
3541 ;
3542 return 0;
3543 }
3544 _ACEOF
3545 ac_clean_files="$ac_clean_files conftest.out"
3546 # Check that the compiler produces executables we can run. If not, either
3547 # the compiler is broken, or we cross compile.
3548 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
3549 $as_echo_n "checking whether we are cross compiling... " >&6; }
3550 if test "$cross_compiling" != yes; then
3551 { { ac_try="$ac_link"
3552 case "(($ac_try" in
3553 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
3554 *) ac_try_echo=$ac_try;;
3555 esac
3556 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
3557 $as_echo "$ac_try_echo"; } >&5
3558 (eval "$ac_link") 2>&5
3559 ac_status=$?
3560 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
3561 test $ac_status = 0; }
3562 if { ac_try='./conftest$ac_cv_exeext'
3563 { { case "(($ac_try" in
3564 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
3565 *) ac_try_echo=$ac_try;;
3566 esac
3567 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
3568 $as_echo "$ac_try_echo"; } >&5
3569 (eval "$ac_try") 2>&5
3570 ac_status=$?
3571 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
3572 test $ac_status = 0; }; }; then
3573 cross_compiling=no
3574 else
3575 if test "$cross_compiling" = maybe; then
3576 cross_compiling=yes
3577 else
3578 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3579 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3580 as_fn_error $? "cannot run C compiled programs.
3581 If you meant to cross compile, use \`--host'.
3582 See \`config.log' for more details" "$LINENO" 5; }
3583 fi
3584 fi
3585 fi
3586 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
3587 $as_echo "$cross_compiling" >&6; }
3588
3589 rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
3590 ac_clean_files=$ac_clean_files_save
3591 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
3592 $as_echo_n "checking for suffix of object files... " >&6; }
3593 if ${ac_cv_objext+:} false; then :
3594 $as_echo_n "(cached) " >&6
3595 else
3596 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3597 /* end confdefs.h. */
3598
3599 int
3600 main ()
3601 {
3602
3603 ;
3604 return 0;
3605 }
3606 _ACEOF
3607 rm -f conftest.o conftest.obj
3608 if { { ac_try="$ac_compile"
3609 case "(($ac_try" in
3610 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
3611 *) ac_try_echo=$ac_try;;
3612 esac
3613 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
3614 $as_echo "$ac_try_echo"; } >&5
3615 (eval "$ac_compile") 2>&5
3616 ac_status=$?
3617 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
3618 test $ac_status = 0; }; then :
3619 for ac_file in conftest.o conftest.obj conftest.*; do
3620 test -f "$ac_file" || continue;
3621 case $ac_file in
3622 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
3623 *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
3624 break;;
3625 esac
3626 done
3627 else
3628 $as_echo "$as_me: failed program was:" >&5
3629 sed 's/^/| /' conftest.$ac_ext >&5
3630
3631 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3632 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3633 as_fn_error $? "cannot compute suffix of object files: cannot compile
3634 See \`config.log' for more details" "$LINENO" 5; }
3635 fi
3636 rm -f conftest.$ac_cv_objext conftest.$ac_ext
3637 fi
3638 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
3639 $as_echo "$ac_cv_objext" >&6; }
3640 OBJEXT=$ac_cv_objext
3641 ac_objext=$OBJEXT
3642 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
3643 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
3644 if ${ac_cv_c_compiler_gnu+:} false; then :
3645 $as_echo_n "(cached) " >&6
3646 else
3647 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3648 /* end confdefs.h. */
3649
3650 int
3651 main ()
3652 {
3653 #ifndef __GNUC__
3654 choke me
3655 #endif
3656
3657 ;
3658 return 0;
3659 }
3660 _ACEOF
3661 if ac_fn_c_try_compile "$LINENO"; then :
3662 ac_compiler_gnu=yes
3663 else
3664 ac_compiler_gnu=no
3665 fi
3666 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3667 ac_cv_c_compiler_gnu=$ac_compiler_gnu
3668
3669 fi
3670 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
3671 $as_echo "$ac_cv_c_compiler_gnu" >&6; }
3672 if test $ac_compiler_gnu = yes; then
3673 GCC=yes
3674 else
3675 GCC=
3676 fi
3677 ac_test_CFLAGS=${CFLAGS+set}
3678 ac_save_CFLAGS=$CFLAGS
3679 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
3680 $as_echo_n "checking whether $CC accepts -g... " >&6; }
3681 if ${ac_cv_prog_cc_g+:} false; then :
3682 $as_echo_n "(cached) " >&6
3683 else
3684 ac_save_c_werror_flag=$ac_c_werror_flag
3685 ac_c_werror_flag=yes
3686 ac_cv_prog_cc_g=no
3687 CFLAGS="-g"
3688 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3689 /* end confdefs.h. */
3690
3691 int
3692 main ()
3693 {
3694
3695 ;
3696 return 0;
3697 }
3698 _ACEOF
3699 if ac_fn_c_try_compile "$LINENO"; then :
3700 ac_cv_prog_cc_g=yes
3701 else
3702 CFLAGS=""
3703 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3704 /* end confdefs.h. */
3705
3706 int
3707 main ()
3708 {
3709
3710 ;
3711 return 0;
3712 }
3713 _ACEOF
3714 if ac_fn_c_try_compile "$LINENO"; then :
3715
3716 else
3717 ac_c_werror_flag=$ac_save_c_werror_flag
3718 CFLAGS="-g"
3719 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3720 /* end confdefs.h. */
3721
3722 int
3723 main ()
3724 {
3725
3726 ;
3727 return 0;
3728 }
3729 _ACEOF
3730 if ac_fn_c_try_compile "$LINENO"; then :
3731 ac_cv_prog_cc_g=yes
3732 fi
3733 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3734 fi
3735 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3736 fi
3737 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3738 ac_c_werror_flag=$ac_save_c_werror_flag
3739 fi
3740 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
3741 $as_echo "$ac_cv_prog_cc_g" >&6; }
3742 if test "$ac_test_CFLAGS" = set; then
3743 CFLAGS=$ac_save_CFLAGS
3744 elif test $ac_cv_prog_cc_g = yes; then
3745 if test "$GCC" = yes; then
3746 CFLAGS="-g -O2"
3747 else
3748 CFLAGS="-g"
3749 fi
3750 else
3751 if test "$GCC" = yes; then
3752 CFLAGS="-O2"
3753 else
3754 CFLAGS=
3755 fi
3756 fi
3757 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
3758 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
3759 if ${ac_cv_prog_cc_c89+:} false; then :
3760 $as_echo_n "(cached) " >&6
3761 else
3762 ac_cv_prog_cc_c89=no
3763 ac_save_CC=$CC
3764 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3765 /* end confdefs.h. */
3766 #include <stdarg.h>
3767 #include <stdio.h>
3768 struct stat;
3769 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
3770 struct buf { int x; };
3771 FILE * (*rcsopen) (struct buf *, struct stat *, int);
3772 static char *e (p, i)
3773 char **p;
3774 int i;
3775 {
3776 return p[i];
3777 }
3778 static char *f (char * (*g) (char **, int), char **p, ...)
3779 {
3780 char *s;
3781 va_list v;
3782 va_start (v,p);
3783 s = g (p, va_arg (v,int));
3784 va_end (v);
3785 return s;
3786 }
3787
3788 /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
3789 function prototypes and stuff, but not '\xHH' hex character constants.
3790 These don't provoke an error unfortunately, instead are silently treated
3791 as 'x'. The following induces an error, until -std is added to get
3792 proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
3793 array size at least. It's necessary to write '\x00'==0 to get something
3794 that's true only with -std. */
3795 int osf4_cc_array ['\x00' == 0 ? 1 : -1];
3796
3797 /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
3798 inside strings and character constants. */
3799 #define FOO(x) 'x'
3800 int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
3801
3802 int test (int i, double x);
3803 struct s1 {int (*f) (int a);};
3804 struct s2 {int (*f) (double a);};
3805 int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
3806 int argc;
3807 char **argv;
3808 int
3809 main ()
3810 {
3811 return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
3812 ;
3813 return 0;
3814 }
3815 _ACEOF
3816 for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
3817 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
3818 do
3819 CC="$ac_save_CC $ac_arg"
3820 if ac_fn_c_try_compile "$LINENO"; then :
3821 ac_cv_prog_cc_c89=$ac_arg
3822 fi
3823 rm -f core conftest.err conftest.$ac_objext
3824 test "x$ac_cv_prog_cc_c89" != "xno" && break
3825 done
3826 rm -f conftest.$ac_ext
3827 CC=$ac_save_CC
3828
3829 fi
3830 # AC_CACHE_VAL
3831 case "x$ac_cv_prog_cc_c89" in
3832 x)
3833 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
3834 $as_echo "none needed" >&6; } ;;
3835 xno)
3836 { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
3837 $as_echo "unsupported" >&6; } ;;
3838 *)
3839 CC="$CC $ac_cv_prog_cc_c89"
3840 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
3841 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
3842 esac
3843 if test "x$ac_cv_prog_cc_c89" != xno; then :
3844
3845 fi
3846
3847 ac_ext=c
3848 ac_cpp='$CPP $CPPFLAGS'
3849 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3850 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3851 ac_compiler_gnu=$ac_cv_c_compiler_gnu
3852
3853 ac_ext=c
3854 ac_cpp='$CPP $CPPFLAGS'
3855 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3856 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3857 ac_compiler_gnu=$ac_cv_c_compiler_gnu
3858 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
3859 $as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
3860 if ${am_cv_prog_cc_c_o+:} false; then :
3861 $as_echo_n "(cached) " >&6
3862 else
3863 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3864 /* end confdefs.h. */
3865
3866 int
3867 main ()
3868 {
3869
3870 ;
3871 return 0;
3872 }
3873 _ACEOF
3874 # Make sure it works both with $CC and with simple cc.
3875 # Following AC_PROG_CC_C_O, we do the test twice because some
3876 # compilers refuse to overwrite an existing .o file with -o,
3877 # though they will create one.
3878 am_cv_prog_cc_c_o=yes
3879 for am_i in 1 2; do
3880 if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
3881 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
3882 ac_status=$?
3883 echo "$as_me:$LINENO: \$? = $ac_status" >&5
3884 (exit $ac_status); } \
3885 && test -f conftest2.$ac_objext; then
3886 : OK
3887 else
3888 am_cv_prog_cc_c_o=no
3889 break
3890 fi
3891 done
3892 rm -f core conftest*
3893 unset am_i
3894 fi
3895 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
3896 $as_echo "$am_cv_prog_cc_c_o" >&6; }
3897 if test "$am_cv_prog_cc_c_o" != yes; then
3898 # Losing compiler, so override with the script.
3899 # FIXME: It is wrong to rewrite CC.
3900 # But if we don't then we get into trouble of one sort or another.
3901 # A longer-term fix would be to have automake use am__CC in this case,
3902 # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
3903 CC="$am_aux_dir/compile $CC"
3904 fi
3905 ac_ext=c
3906 ac_cpp='$CPP $CPPFLAGS'
3907 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3908 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3909 ac_compiler_gnu=$ac_cv_c_compiler_gnu
3910
3911 DEPDIR="${am__leading_dot}deps"
3912
3913 ac_config_commands="$ac_config_commands depfiles"
3914
3915 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
3916 $as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; }
3917 cat > confinc.mk << 'END'
3918 am__doit:
3919 @echo this is the am__doit target >confinc.out
3920 .PHONY: am__doit
3921 END
3922 am__include="#"
3923 am__quote=
3924 # BSD make does it like this.
3925 echo '.include "confinc.mk" # ignored' > confmf.BSD
3926 # Other make implementations (GNU, Solaris 10, AIX) do it like this.
3927 echo 'include confinc.mk # ignored' > confmf.GNU
3928 _am_result=no
3929 for s in GNU BSD; do
3930 { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
3931 (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
3932 ac_status=$?
3933 echo "$as_me:$LINENO: \$? = $ac_status" >&5
3934 (exit $ac_status); }
3935 case $?:`cat confinc.out 2>/dev/null` in #(
3936 '0:this is the am__doit target') :
3937 case $s in #(
3938 BSD) :
3939 am__include='.include' am__quote='"' ;; #(
3940 *) :
3941 am__include='include' am__quote='' ;;
3942 esac ;; #(
3943 *) :
3944 ;;
3945 esac
3946 if test "$am__include" != "#"; then
3947 _am_result="yes ($s style)"
3948 break
3949 fi
3950 done
3951 rm -f confinc.* confmf.*
3952 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
3953 $as_echo "${_am_result}" >&6; }
3954
3955 # Check whether --enable-dependency-tracking was given.
3956 if test "${enable_dependency_tracking+set}" = set; then :
3957 enableval=$enable_dependency_tracking;
3958 fi
3959
3960 if test "x$enable_dependency_tracking" != xno; then
3961 am_depcomp="$ac_aux_dir/depcomp"
3962 AMDEPBACKSLASH='\'
3963 am__nodep='_no'
3964 fi
3965 if test "x$enable_dependency_tracking" != xno; then
3966 AMDEP_TRUE=
3967 AMDEP_FALSE='#'
3968 else
3969 AMDEP_TRUE='#'
3970 AMDEP_FALSE=
3971 fi
3972
3973
3974
3975 depcc="$CC" am_compiler_list=
3976
3977 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
3978 $as_echo_n "checking dependency style of $depcc... " >&6; }
3979 if ${am_cv_CC_dependencies_compiler_type+:} false; then :
3980 $as_echo_n "(cached) " >&6
3981 else
3982 if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
3983 # We make a subdir and do the tests there. Otherwise we can end up
3984 # making bogus files that we don't know about and never remove. For
3985 # instance it was reported that on HP-UX the gcc test will end up
3986 # making a dummy file named 'D' -- because '-MD' means "put the output
3987 # in D".
3988 rm -rf conftest.dir
3989 mkdir conftest.dir
3990 # Copy depcomp to subdir because otherwise we won't find it if we're
3991 # using a relative directory.
3992 cp "$am_depcomp" conftest.dir
3993 cd conftest.dir
3994 # We will build objects and dependencies in a subdirectory because
3995 # it helps to detect inapplicable dependency modes. For instance
3996 # both Tru64's cc and ICC support -MD to output dependencies as a
3997 # side effect of compilation, but ICC will put the dependencies in
3998 # the current directory while Tru64 will put them in the object
3999 # directory.
4000 mkdir sub
4001
4002 am_cv_CC_dependencies_compiler_type=none
4003 if test "$am_compiler_list" = ""; then
4004 am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
4005 fi
4006 am__universal=false
4007 case " $depcc " in #(
4008 *\ -arch\ *\ -arch\ *) am__universal=true ;;
4009 esac
4010
4011 for depmode in $am_compiler_list; do
4012 # Setup a source with many dependencies, because some compilers
4013 # like to wrap large dependency lists on column 80 (with \), and
4014 # we should not choose a depcomp mode which is confused by this.
4015 #
4016 # We need to recreate these files for each test, as the compiler may
4017 # overwrite some of them when testing with obscure command lines.
4018 # This happens at least with the AIX C compiler.
4019 : > sub/conftest.c
4020 for i in 1 2 3 4 5 6; do
4021 echo '#include "conftst'$i'.h"' >> sub/conftest.c
4022 # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
4023 # Solaris 10 /bin/sh.
4024 echo '/* dummy */' > sub/conftst$i.h
4025 done
4026 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
4027
4028 # We check with '-c' and '-o' for the sake of the "dashmstdout"
4029 # mode. It turns out that the SunPro C++ compiler does not properly
4030 # handle '-M -o', and we need to detect this. Also, some Intel
4031 # versions had trouble with output in subdirs.
4032 am__obj=sub/conftest.${OBJEXT-o}
4033 am__minus_obj="-o $am__obj"
4034 case $depmode in
4035 gcc)
4036 # This depmode causes a compiler race in universal mode.
4037 test "$am__universal" = false || continue
4038 ;;
4039 nosideeffect)
4040 # After this tag, mechanisms are not by side-effect, so they'll
4041 # only be used when explicitly requested.
4042 if test "x$enable_dependency_tracking" = xyes; then
4043 continue
4044 else
4045 break
4046 fi
4047 ;;
4048 msvc7 | msvc7msys | msvisualcpp | msvcmsys)
4049 # This compiler won't grok '-c -o', but also, the minuso test has
4050 # not run yet. These depmodes are late enough in the game, and
4051 # so weak that their functioning should not be impacted.
4052 am__obj=conftest.${OBJEXT-o}
4053 am__minus_obj=
4054 ;;
4055 none) break ;;
4056 esac
4057 if depmode=$depmode \
4058 source=sub/conftest.c object=$am__obj \
4059 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
4060 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
4061 >/dev/null 2>conftest.err &&
4062 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
4063 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
4064 grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
4065 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
4066 # icc doesn't choke on unknown options, it will just issue warnings
4067 # or remarks (even with -Werror). So we grep stderr for any message
4068 # that says an option was ignored or not supported.
4069 # When given -MP, icc 7.0 and 7.1 complain thusly:
4070 # icc: Command line warning: ignoring option '-M'; no argument required
4071 # The diagnosis changed in icc 8.0:
4072 # icc: Command line remark: option '-MP' not supported
4073 if (grep 'ignoring option' conftest.err ||
4074 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
4075 am_cv_CC_dependencies_compiler_type=$depmode
4076 break
4077 fi
4078 fi
4079 done
4080
4081 cd ..
4082 rm -rf conftest.dir
4083 else
4084 am_cv_CC_dependencies_compiler_type=none
4085 fi
4086
4087 fi
4088 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
4089 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
4090 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
4091
4092 if
4093 test "x$enable_dependency_tracking" != xno \
4094 && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
4095 am__fastdepCC_TRUE=
4096 am__fastdepCC_FALSE='#'
4097 else
4098 am__fastdepCC_TRUE='#'
4099 am__fastdepCC_FALSE=
4100 fi
4101
4102
4103
4104 ac_ext=cpp
4105 ac_cpp='$CXXCPP $CPPFLAGS'
4106 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4107 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4108 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
4109 if test -z "$CXX"; then
4110 if test -n "$CCC"; then
4111 CXX=$CCC
4112 else
4113 if test -n "$ac_tool_prefix"; then
4114 for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
4115 do
4116 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
4117 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
4118 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4119 $as_echo_n "checking for $ac_word... " >&6; }
4120 if ${ac_cv_prog_CXX+:} false; then :
4121 $as_echo_n "(cached) " >&6
4122 else
4123 if test -n "$CXX"; then
4124 ac_cv_prog_CXX="$CXX" # Let the user override the test.
4125 else
4126 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4127 for as_dir in $PATH
4128 do
4129 IFS=$as_save_IFS
4130 test -z "$as_dir" && as_dir=.
4131 for ac_exec_ext in '' $ac_executable_extensions; do
4132 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4133 ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
4134 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4135 break 2
4136 fi
4137 done
4138 done
4139 IFS=$as_save_IFS
4140
4141 fi
4142 fi
4143 CXX=$ac_cv_prog_CXX
4144 if test -n "$CXX"; then
4145 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
4146 $as_echo "$CXX" >&6; }
4147 else
4148 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4149 $as_echo "no" >&6; }
4150 fi
4151
4152
4153 test -n "$CXX" && break
4154 done
4155 fi
4156 if test -z "$CXX"; then
4157 ac_ct_CXX=$CXX
4158 for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
4159 do
4160 # Extract the first word of "$ac_prog", so it can be a program name with args.
4161 set dummy $ac_prog; ac_word=$2
4162 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4163 $as_echo_n "checking for $ac_word... " >&6; }
4164 if ${ac_cv_prog_ac_ct_CXX+:} false; then :
4165 $as_echo_n "(cached) " >&6
4166 else
4167 if test -n "$ac_ct_CXX"; then
4168 ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
4169 else
4170 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4171 for as_dir in $PATH
4172 do
4173 IFS=$as_save_IFS
4174 test -z "$as_dir" && as_dir=.
4175 for ac_exec_ext in '' $ac_executable_extensions; do
4176 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4177 ac_cv_prog_ac_ct_CXX="$ac_prog"
4178 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4179 break 2
4180 fi
4181 done
4182 done
4183 IFS=$as_save_IFS
4184
4185 fi
4186 fi
4187 ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
4188 if test -n "$ac_ct_CXX"; then
4189 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
4190 $as_echo "$ac_ct_CXX" >&6; }
4191 else
4192 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4193 $as_echo "no" >&6; }
4194 fi
4195
4196
4197 test -n "$ac_ct_CXX" && break
4198 done
4199
4200 if test "x$ac_ct_CXX" = x; then
4201 CXX="g++"
4202 else
4203 case $cross_compiling:$ac_tool_warned in
4204 yes:)
4205 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
4206 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
4207 ac_tool_warned=yes ;;
4208 esac
4209 CXX=$ac_ct_CXX
4210 fi
4211 fi
4212
4213 fi
4214 fi
4215 # Provide some information about the compiler.
4216 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
4217 set X $ac_compile
4218 ac_compiler=$2
4219 for ac_option in --version -v -V -qversion; do
4220 { { ac_try="$ac_compiler $ac_option >&5"
4221 case "(($ac_try" in
4222 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
4223 *) ac_try_echo=$ac_try;;
4224 esac
4225 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
4226 $as_echo "$ac_try_echo"; } >&5
4227 (eval "$ac_compiler $ac_option >&5") 2>conftest.err
4228 ac_status=$?
4229 if test -s conftest.err; then
4230 sed '10a\
4231 ... rest of stderr output deleted ...
4232 10q' conftest.err >conftest.er1
4233 cat conftest.er1 >&5
4234 fi
4235 rm -f conftest.er1 conftest.err
4236 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
4237 test $ac_status = 0; }
4238 done
4239
4240 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
4241 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
4242 if ${ac_cv_cxx_compiler_gnu+:} false; then :
4243 $as_echo_n "(cached) " >&6
4244 else
4245 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4246 /* end confdefs.h. */
4247
4248 int
4249 main ()
4250 {
4251 #ifndef __GNUC__
4252 choke me
4253 #endif
4254
4255 ;
4256 return 0;
4257 }
4258 _ACEOF
4259 if ac_fn_cxx_try_compile "$LINENO"; then :
4260 ac_compiler_gnu=yes
4261 else
4262 ac_compiler_gnu=no
4263 fi
4264 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
4265 ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
4266
4267 fi
4268 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
4269 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
4270 if test $ac_compiler_gnu = yes; then
4271 GXX=yes
4272 else
4273 GXX=
4274 fi
4275 ac_test_CXXFLAGS=${CXXFLAGS+set}
4276 ac_save_CXXFLAGS=$CXXFLAGS
4277 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
4278 $as_echo_n "checking whether $CXX accepts -g... " >&6; }
4279 if ${ac_cv_prog_cxx_g+:} false; then :
4280 $as_echo_n "(cached) " >&6
4281 else
4282 ac_save_cxx_werror_flag=$ac_cxx_werror_flag
4283 ac_cxx_werror_flag=yes
4284 ac_cv_prog_cxx_g=no
4285 CXXFLAGS="-g"
4286 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4287 /* end confdefs.h. */
4288
4289 int
4290 main ()
4291 {
4292
4293 ;
4294 return 0;
4295 }
4296 _ACEOF
4297 if ac_fn_cxx_try_compile "$LINENO"; then :
4298 ac_cv_prog_cxx_g=yes
4299 else
4300 CXXFLAGS=""
4301 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4302 /* end confdefs.h. */
4303
4304 int
4305 main ()
4306 {
4307
4308 ;
4309 return 0;
4310 }
4311 _ACEOF
4312 if ac_fn_cxx_try_compile "$LINENO"; then :
4313
4314 else
4315 ac_cxx_werror_flag=$ac_save_cxx_werror_flag
4316 CXXFLAGS="-g"
4317 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4318 /* end confdefs.h. */
4319
4320 int
4321 main ()
4322 {
4323
4324 ;
4325 return 0;
4326 }
4327 _ACEOF
4328 if ac_fn_cxx_try_compile "$LINENO"; then :
4329 ac_cv_prog_cxx_g=yes
4330 fi
4331 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
4332 fi
4333 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
4334 fi
4335 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
4336 ac_cxx_werror_flag=$ac_save_cxx_werror_flag
4337 fi
4338 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
4339 $as_echo "$ac_cv_prog_cxx_g" >&6; }
4340 if test "$ac_test_CXXFLAGS" = set; then
4341 CXXFLAGS=$ac_save_CXXFLAGS
4342 elif test $ac_cv_prog_cxx_g = yes; then
4343 if test "$GXX" = yes; then
4344 CXXFLAGS="-g -O2"
4345 else
4346 CXXFLAGS="-g"
4347 fi
4348 else
4349 if test "$GXX" = yes; then
4350 CXXFLAGS="-O2"
4351 else
4352 CXXFLAGS=
4353 fi
4354 fi
4355 ac_ext=c
4356 ac_cpp='$CPP $CPPFLAGS'
4357 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4358 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4359 ac_compiler_gnu=$ac_cv_c_compiler_gnu
4360
4361 depcc="$CXX" am_compiler_list=
4362
4363 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
4364 $as_echo_n "checking dependency style of $depcc... " >&6; }
4365 if ${am_cv_CXX_dependencies_compiler_type+:} false; then :
4366 $as_echo_n "(cached) " >&6
4367 else
4368 if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
4369 # We make a subdir and do the tests there. Otherwise we can end up
4370 # making bogus files that we don't know about and never remove. For
4371 # instance it was reported that on HP-UX the gcc test will end up
4372 # making a dummy file named 'D' -- because '-MD' means "put the output
4373 # in D".
4374 rm -rf conftest.dir
4375 mkdir conftest.dir
4376 # Copy depcomp to subdir because otherwise we won't find it if we're
4377 # using a relative directory.
4378 cp "$am_depcomp" conftest.dir
4379 cd conftest.dir
4380 # We will build objects and dependencies in a subdirectory because
4381 # it helps to detect inapplicable dependency modes. For instance
4382 # both Tru64's cc and ICC support -MD to output dependencies as a
4383 # side effect of compilation, but ICC will put the dependencies in
4384 # the current directory while Tru64 will put them in the object
4385 # directory.
4386 mkdir sub
4387
4388 am_cv_CXX_dependencies_compiler_type=none
4389 if test "$am_compiler_list" = ""; then
4390 am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
4391 fi
4392 am__universal=false
4393 case " $depcc " in #(
4394 *\ -arch\ *\ -arch\ *) am__universal=true ;;
4395 esac
4396
4397 for depmode in $am_compiler_list; do
4398 # Setup a source with many dependencies, because some compilers
4399 # like to wrap large dependency lists on column 80 (with \), and
4400 # we should not choose a depcomp mode which is confused by this.
4401 #
4402 # We need to recreate these files for each test, as the compiler may
4403 # overwrite some of them when testing with obscure command lines.
4404 # This happens at least with the AIX C compiler.
4405 : > sub/conftest.c
4406 for i in 1 2 3 4 5 6; do
4407 echo '#include "conftst'$i'.h"' >> sub/conftest.c
4408 # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
4409 # Solaris 10 /bin/sh.
4410 echo '/* dummy */' > sub/conftst$i.h
4411 done
4412 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
4413
4414 # We check with '-c' and '-o' for the sake of the "dashmstdout"
4415 # mode. It turns out that the SunPro C++ compiler does not properly
4416 # handle '-M -o', and we need to detect this. Also, some Intel
4417 # versions had trouble with output in subdirs.
4418 am__obj=sub/conftest.${OBJEXT-o}
4419 am__minus_obj="-o $am__obj"
4420 case $depmode in
4421 gcc)
4422 # This depmode causes a compiler race in universal mode.
4423 test "$am__universal" = false || continue
4424 ;;
4425 nosideeffect)
4426 # After this tag, mechanisms are not by side-effect, so they'll
4427 # only be used when explicitly requested.
4428 if test "x$enable_dependency_tracking" = xyes; then
4429 continue
4430 else
4431 break
4432 fi
4433 ;;
4434 msvc7 | msvc7msys | msvisualcpp | msvcmsys)
4435 # This compiler won't grok '-c -o', but also, the minuso test has
4436 # not run yet. These depmodes are late enough in the game, and
4437 # so weak that their functioning should not be impacted.
4438 am__obj=conftest.${OBJEXT-o}
4439 am__minus_obj=
4440 ;;
4441 none) break ;;
4442 esac
4443 if depmode=$depmode \
4444 source=sub/conftest.c object=$am__obj \
4445 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
4446 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
4447 >/dev/null 2>conftest.err &&
4448 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
4449 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
4450 grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
4451 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
4452 # icc doesn't choke on unknown options, it will just issue warnings
4453 # or remarks (even with -Werror). So we grep stderr for any message
4454 # that says an option was ignored or not supported.
4455 # When given -MP, icc 7.0 and 7.1 complain thusly:
4456 # icc: Command line warning: ignoring option '-M'; no argument required
4457 # The diagnosis changed in icc 8.0:
4458 # icc: Command line remark: option '-MP' not supported
4459 if (grep 'ignoring option' conftest.err ||
4460 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
4461 am_cv_CXX_dependencies_compiler_type=$depmode
4462 break
4463 fi
4464 fi
4465 done
4466
4467 cd ..
4468 rm -rf conftest.dir
4469 else
4470 am_cv_CXX_dependencies_compiler_type=none
4471 fi
4472
4473 fi
4474 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
4475 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
4476 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
4477
4478 if
4479 test "x$enable_dependency_tracking" != xno \
4480 && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
4481 am__fastdepCXX_TRUE=
4482 am__fastdepCXX_FALSE='#'
4483 else
4484 am__fastdepCXX_TRUE='#'
4485 am__fastdepCXX_FALSE=
4486 fi
4487
4488
4489 case `pwd` in
4490 *\ * | *\ *)
4491 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
4492 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
4493 esac
4494
4495
4496
4497 macro_version='2.4.6'
4498 macro_revision='2.4.6'
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512 ltmain=$ac_aux_dir/ltmain.sh
4513
4514 # Make sure we can run config.sub.
4515 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
4516 as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
4517
4518 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
4519 $as_echo_n "checking build system type... " >&6; }
4520 if ${ac_cv_build+:} false; then :
4521 $as_echo_n "(cached) " >&6
4522 else
4523 ac_build_alias=$build_alias
4524 test "x$ac_build_alias" = x &&
4525 ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
4526 test "x$ac_build_alias" = x &&
4527 as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
4528 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
4529 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
4530
4531 fi
4532 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
4533 $as_echo "$ac_cv_build" >&6; }
4534 case $ac_cv_build in
4535 *-*-*) ;;
4536 *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
4537 esac
4538 build=$ac_cv_build
4539 ac_save_IFS=$IFS; IFS='-'
4540 set x $ac_cv_build
4541 shift
4542 build_cpu=$1
4543 build_vendor=$2
4544 shift; shift
4545 # Remember, the first character of IFS is used to create $*,
4546 # except with old shells:
4547 build_os=$*
4548 IFS=$ac_save_IFS
4549 case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
4550
4551
4552 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
4553 $as_echo_n "checking host system type... " >&6; }
4554 if ${ac_cv_host+:} false; then :
4555 $as_echo_n "(cached) " >&6
4556 else
4557 if test "x$host_alias" = x; then
4558 ac_cv_host=$ac_cv_build
4559 else
4560 ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
4561 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
4562 fi
4563
4564 fi
4565 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
4566 $as_echo "$ac_cv_host" >&6; }
4567 case $ac_cv_host in
4568 *-*-*) ;;
4569 *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
4570 esac
4571 host=$ac_cv_host
4572 ac_save_IFS=$IFS; IFS='-'
4573 set x $ac_cv_host
4574 shift
4575 host_cpu=$1
4576 host_vendor=$2
4577 shift; shift
4578 # Remember, the first character of IFS is used to create $*,
4579 # except with old shells:
4580 host_os=$*
4581 IFS=$ac_save_IFS
4582 case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
4583
4584
4585 # Backslashify metacharacters that are still active within
4586 # double-quoted strings.
4587 sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
4588
4589 # Same as above, but do not quote variable references.
4590 double_quote_subst='s/\(["`\\]\)/\\\1/g'
4591
4592 # Sed substitution to delay expansion of an escaped shell variable in a
4593 # double_quote_subst'ed string.
4594 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
4595
4596 # Sed substitution to delay expansion of an escaped single quote.
4597 delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
4598
4599 # Sed substitution to avoid accidental globbing in evaled expressions
4600 no_glob_subst='s/\*/\\\*/g'
4601
4602 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
4603 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
4604 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
4605
4606 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
4607 $as_echo_n "checking how to print strings... " >&6; }
4608 # Test print first, because it will be a builtin if present.
4609 if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
4610 test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
4611 ECHO='print -r --'
4612 elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
4613 ECHO='printf %s\n'
4614 else
4615 # Use this function as a fallback that always works.
4616 func_fallback_echo ()
4617 {
4618 eval 'cat <<_LTECHO_EOF
4619 $1
4620 _LTECHO_EOF'
4621 }
4622 ECHO='func_fallback_echo'
4623 fi
4624
4625 # func_echo_all arg...
4626 # Invoke $ECHO with all args, space-separated.
4627 func_echo_all ()
4628 {
4629 $ECHO ""
4630 }
4631
4632 case $ECHO in
4633 printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
4634 $as_echo "printf" >&6; } ;;
4635 print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
4636 $as_echo "print -r" >&6; } ;;
4637 *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
4638 $as_echo "cat" >&6; } ;;
4639 esac
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
4655 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
4656 if ${ac_cv_path_SED+:} false; then :
4657 $as_echo_n "(cached) " >&6
4658 else
4659 ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
4660 for ac_i in 1 2 3 4 5 6 7; do
4661 ac_script="$ac_script$as_nl$ac_script"
4662 done
4663 echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
4664 { ac_script=; unset ac_script;}
4665 if test -z "$SED"; then
4666 ac_path_SED_found=false
4667 # Loop through the user's path and test for each of PROGNAME-LIST
4668 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4669 for as_dir in $PATH
4670 do
4671 IFS=$as_save_IFS
4672 test -z "$as_dir" && as_dir=.
4673 for ac_prog in sed gsed; do
4674 for ac_exec_ext in '' $ac_executable_extensions; do
4675 ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
4676 as_fn_executable_p "$ac_path_SED" || continue
4677 # Check for GNU ac_path_SED and select it if it is found.
4678 # Check for GNU $ac_path_SED
4679 case `"$ac_path_SED" --version 2>&1` in
4680 *GNU*)
4681 ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
4682 *)
4683 ac_count=0
4684 $as_echo_n 0123456789 >"conftest.in"
4685 while :
4686 do
4687 cat "conftest.in" "conftest.in" >"conftest.tmp"
4688 mv "conftest.tmp" "conftest.in"
4689 cp "conftest.in" "conftest.nl"
4690 $as_echo '' >> "conftest.nl"
4691 "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
4692 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
4693 as_fn_arith $ac_count + 1 && ac_count=$as_val
4694 if test $ac_count -gt ${ac_path_SED_max-0}; then
4695 # Best one so far, save it but keep looking for a better one
4696 ac_cv_path_SED="$ac_path_SED"
4697 ac_path_SED_max=$ac_count
4698 fi
4699 # 10*(2^10) chars as input seems more than enough
4700 test $ac_count -gt 10 && break
4701 done
4702 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
4703 esac
4704
4705 $ac_path_SED_found && break 3
4706 done
4707 done
4708 done
4709 IFS=$as_save_IFS
4710 if test -z "$ac_cv_path_SED"; then
4711 as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
4712 fi
4713 else
4714 ac_cv_path_SED=$SED
4715 fi
4716
4717 fi
4718 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
4719 $as_echo "$ac_cv_path_SED" >&6; }
4720 SED="$ac_cv_path_SED"
4721 rm -f conftest.sed
4722
4723 test -z "$SED" && SED=sed
4724 Xsed="$SED -e 1s/^X//"
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
4737 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
4738 if ${ac_cv_path_GREP+:} false; then :
4739 $as_echo_n "(cached) " >&6
4740 else
4741 if test -z "$GREP"; then
4742 ac_path_GREP_found=false
4743 # Loop through the user's path and test for each of PROGNAME-LIST
4744 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4745 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
4746 do
4747 IFS=$as_save_IFS
4748 test -z "$as_dir" && as_dir=.
4749 for ac_prog in grep ggrep; do
4750 for ac_exec_ext in '' $ac_executable_extensions; do
4751 ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
4752 as_fn_executable_p "$ac_path_GREP" || continue
4753 # Check for GNU ac_path_GREP and select it if it is found.
4754 # Check for GNU $ac_path_GREP
4755 case `"$ac_path_GREP" --version 2>&1` in
4756 *GNU*)
4757 ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
4758 *)
4759 ac_count=0
4760 $as_echo_n 0123456789 >"conftest.in"
4761 while :
4762 do
4763 cat "conftest.in" "conftest.in" >"conftest.tmp"
4764 mv "conftest.tmp" "conftest.in"
4765 cp "conftest.in" "conftest.nl"
4766 $as_echo 'GREP' >> "conftest.nl"
4767 "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
4768 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
4769 as_fn_arith $ac_count + 1 && ac_count=$as_val
4770 if test $ac_count -gt ${ac_path_GREP_max-0}; then
4771 # Best one so far, save it but keep looking for a better one
4772 ac_cv_path_GREP="$ac_path_GREP"
4773 ac_path_GREP_max=$ac_count
4774 fi
4775 # 10*(2^10) chars as input seems more than enough
4776 test $ac_count -gt 10 && break
4777 done
4778 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
4779 esac
4780
4781 $ac_path_GREP_found && break 3
4782 done
4783 done
4784 done
4785 IFS=$as_save_IFS
4786 if test -z "$ac_cv_path_GREP"; then
4787 as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
4788 fi
4789 else
4790 ac_cv_path_GREP=$GREP
4791 fi
4792
4793 fi
4794 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
4795 $as_echo "$ac_cv_path_GREP" >&6; }
4796 GREP="$ac_cv_path_GREP"
4797
4798
4799 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
4800 $as_echo_n "checking for egrep... " >&6; }
4801 if ${ac_cv_path_EGREP+:} false; then :
4802 $as_echo_n "(cached) " >&6
4803 else
4804 if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
4805 then ac_cv_path_EGREP="$GREP -E"
4806 else
4807 if test -z "$EGREP"; then
4808 ac_path_EGREP_found=false
4809 # Loop through the user's path and test for each of PROGNAME-LIST
4810 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4811 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
4812 do
4813 IFS=$as_save_IFS
4814 test -z "$as_dir" && as_dir=.
4815 for ac_prog in egrep; do
4816 for ac_exec_ext in '' $ac_executable_extensions; do
4817 ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
4818 as_fn_executable_p "$ac_path_EGREP" || continue
4819 # Check for GNU ac_path_EGREP and select it if it is found.
4820 # Check for GNU $ac_path_EGREP
4821 case `"$ac_path_EGREP" --version 2>&1` in
4822 *GNU*)
4823 ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
4824 *)
4825 ac_count=0
4826 $as_echo_n 0123456789 >"conftest.in"
4827 while :
4828 do
4829 cat "conftest.in" "conftest.in" >"conftest.tmp"
4830 mv "conftest.tmp" "conftest.in"
4831 cp "conftest.in" "conftest.nl"
4832 $as_echo 'EGREP' >> "conftest.nl"
4833 "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
4834 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
4835 as_fn_arith $ac_count + 1 && ac_count=$as_val
4836 if test $ac_count -gt ${ac_path_EGREP_max-0}; then
4837 # Best one so far, save it but keep looking for a better one
4838 ac_cv_path_EGREP="$ac_path_EGREP"
4839 ac_path_EGREP_max=$ac_count
4840 fi
4841 # 10*(2^10) chars as input seems more than enough
4842 test $ac_count -gt 10 && break
4843 done
4844 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
4845 esac
4846
4847 $ac_path_EGREP_found && break 3
4848 done
4849 done
4850 done
4851 IFS=$as_save_IFS
4852 if test -z "$ac_cv_path_EGREP"; then
4853 as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
4854 fi
4855 else
4856 ac_cv_path_EGREP=$EGREP
4857 fi
4858
4859 fi
4860 fi
4861 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
4862 $as_echo "$ac_cv_path_EGREP" >&6; }
4863 EGREP="$ac_cv_path_EGREP"
4864
4865
4866 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
4867 $as_echo_n "checking for fgrep... " >&6; }
4868 if ${ac_cv_path_FGREP+:} false; then :
4869 $as_echo_n "(cached) " >&6
4870 else
4871 if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
4872 then ac_cv_path_FGREP="$GREP -F"
4873 else
4874 if test -z "$FGREP"; then
4875 ac_path_FGREP_found=false
4876 # Loop through the user's path and test for each of PROGNAME-LIST
4877 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4878 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
4879 do
4880 IFS=$as_save_IFS
4881 test -z "$as_dir" && as_dir=.
4882 for ac_prog in fgrep; do
4883 for ac_exec_ext in '' $ac_executable_extensions; do
4884 ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
4885 as_fn_executable_p "$ac_path_FGREP" || continue
4886 # Check for GNU ac_path_FGREP and select it if it is found.
4887 # Check for GNU $ac_path_FGREP
4888 case `"$ac_path_FGREP" --version 2>&1` in
4889 *GNU*)
4890 ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
4891 *)
4892 ac_count=0
4893 $as_echo_n 0123456789 >"conftest.in"
4894 while :
4895 do
4896 cat "conftest.in" "conftest.in" >"conftest.tmp"
4897 mv "conftest.tmp" "conftest.in"
4898 cp "conftest.in" "conftest.nl"
4899 $as_echo 'FGREP' >> "conftest.nl"
4900 "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
4901 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
4902 as_fn_arith $ac_count + 1 && ac_count=$as_val
4903 if test $ac_count -gt ${ac_path_FGREP_max-0}; then
4904 # Best one so far, save it but keep looking for a better one
4905 ac_cv_path_FGREP="$ac_path_FGREP"
4906 ac_path_FGREP_max=$ac_count
4907 fi
4908 # 10*(2^10) chars as input seems more than enough
4909 test $ac_count -gt 10 && break
4910 done
4911 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
4912 esac
4913
4914 $ac_path_FGREP_found && break 3
4915 done
4916 done
4917 done
4918 IFS=$as_save_IFS
4919 if test -z "$ac_cv_path_FGREP"; then
4920 as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
4921 fi
4922 else
4923 ac_cv_path_FGREP=$FGREP
4924 fi
4925
4926 fi
4927 fi
4928 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
4929 $as_echo "$ac_cv_path_FGREP" >&6; }
4930 FGREP="$ac_cv_path_FGREP"
4931
4932
4933 test -z "$GREP" && GREP=grep
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953 # Check whether --with-gnu-ld was given.
4954 if test "${with_gnu_ld+set}" = set; then :
4955 withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
4956 else
4957 with_gnu_ld=no
4958 fi
4959
4960 ac_prog=ld
4961 if test yes = "$GCC"; then
4962 # Check if gcc -print-prog-name=ld gives a path.
4963 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
4964 $as_echo_n "checking for ld used by $CC... " >&6; }
4965 case $host in
4966 *-*-mingw*)
4967 # gcc leaves a trailing carriage return, which upsets mingw
4968 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
4969 *)
4970 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
4971 esac
4972 case $ac_prog in
4973 # Accept absolute paths.
4974 [\\/]* | ?:[\\/]*)
4975 re_direlt='/[^/][^/]*/\.\./'
4976 # Canonicalize the pathname of ld
4977 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
4978 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
4979 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
4980 done
4981 test -z "$LD" && LD=$ac_prog
4982 ;;
4983 "")
4984 # If it fails, then pretend we aren't using GCC.
4985 ac_prog=ld
4986 ;;
4987 *)
4988 # If it is relative, then search for the first ld in PATH.
4989 with_gnu_ld=unknown
4990 ;;
4991 esac
4992 elif test yes = "$with_gnu_ld"; then
4993 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
4994 $as_echo_n "checking for GNU ld... " >&6; }
4995 else
4996 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
4997 $as_echo_n "checking for non-GNU ld... " >&6; }
4998 fi
4999 if ${lt_cv_path_LD+:} false; then :
5000 $as_echo_n "(cached) " >&6
5001 else
5002 if test -z "$LD"; then
5003 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
5004 for ac_dir in $PATH; do
5005 IFS=$lt_save_ifs
5006 test -z "$ac_dir" && ac_dir=.
5007 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
5008 lt_cv_path_LD=$ac_dir/$ac_prog
5009 # Check to see if the program is GNU ld. I'd rather use --version,
5010 # but apparently some variants of GNU ld only accept -v.
5011 # Break only if it was the GNU/non-GNU ld that we prefer.
5012 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
5013 *GNU* | *'with BFD'*)
5014 test no != "$with_gnu_ld" && break
5015 ;;
5016 *)
5017 test yes != "$with_gnu_ld" && break
5018 ;;
5019 esac
5020 fi
5021 done
5022 IFS=$lt_save_ifs
5023 else
5024 lt_cv_path_LD=$LD # Let the user override the test with a path.
5025 fi
5026 fi
5027
5028 LD=$lt_cv_path_LD
5029 if test -n "$LD"; then
5030 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
5031 $as_echo "$LD" >&6; }
5032 else
5033 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5034 $as_echo "no" >&6; }
5035 fi
5036 test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
5037 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
5038 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
5039 if ${lt_cv_prog_gnu_ld+:} false; then :
5040 $as_echo_n "(cached) " >&6
5041 else
5042 # I'd rather use --version here, but apparently some GNU lds only accept -v.
5043 case `$LD -v 2>&1 </dev/null` in
5044 *GNU* | *'with BFD'*)
5045 lt_cv_prog_gnu_ld=yes
5046 ;;
5047 *)
5048 lt_cv_prog_gnu_ld=no
5049 ;;
5050 esac
5051 fi
5052 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
5053 $as_echo "$lt_cv_prog_gnu_ld" >&6; }
5054 with_gnu_ld=$lt_cv_prog_gnu_ld
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
5065 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
5066 if ${lt_cv_path_NM+:} false; then :
5067 $as_echo_n "(cached) " >&6
5068 else
5069 if test -n "$NM"; then
5070 # Let the user override the test.
5071 lt_cv_path_NM=$NM
5072 else
5073 lt_nm_to_check=${ac_tool_prefix}nm
5074 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
5075 lt_nm_to_check="$lt_nm_to_check nm"
5076 fi
5077 for lt_tmp_nm in $lt_nm_to_check; do
5078 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
5079 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
5080 IFS=$lt_save_ifs
5081 test -z "$ac_dir" && ac_dir=.
5082 tmp_nm=$ac_dir/$lt_tmp_nm
5083 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
5084 # Check to see if the nm accepts a BSD-compat flag.
5085 # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
5086 # nm: unknown option "B" ignored
5087 # Tru64's nm complains that /dev/null is an invalid object file
5088 # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
5089 case $build_os in
5090 mingw*) lt_bad_file=conftest.nm/nofile ;;
5091 *) lt_bad_file=/dev/null ;;
5092 esac
5093 case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
5094 *$lt_bad_file* | *'Invalid file or object type'*)
5095 lt_cv_path_NM="$tmp_nm -B"
5096 break 2
5097 ;;
5098 *)
5099 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
5100 */dev/null*)
5101 lt_cv_path_NM="$tmp_nm -p"
5102 break 2
5103 ;;
5104 *)
5105 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
5106 continue # so that we can try to find one that supports BSD flags
5107 ;;
5108 esac
5109 ;;
5110 esac
5111 fi
5112 done
5113 IFS=$lt_save_ifs
5114 done
5115 : ${lt_cv_path_NM=no}
5116 fi
5117 fi
5118 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
5119 $as_echo "$lt_cv_path_NM" >&6; }
5120 if test no != "$lt_cv_path_NM"; then
5121 NM=$lt_cv_path_NM
5122 else
5123 # Didn't find any BSD compatible name lister, look for dumpbin.
5124 if test -n "$DUMPBIN"; then :
5125 # Let the user override the test.
5126 else
5127 if test -n "$ac_tool_prefix"; then
5128 for ac_prog in dumpbin "link -dump"
5129 do
5130 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
5131 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
5132 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5133 $as_echo_n "checking for $ac_word... " >&6; }
5134 if ${ac_cv_prog_DUMPBIN+:} false; then :
5135 $as_echo_n "(cached) " >&6
5136 else
5137 if test -n "$DUMPBIN"; then
5138 ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
5139 else
5140 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5141 for as_dir in $PATH
5142 do
5143 IFS=$as_save_IFS
5144 test -z "$as_dir" && as_dir=.
5145 for ac_exec_ext in '' $ac_executable_extensions; do
5146 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5147 ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
5148 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5149 break 2
5150 fi
5151 done
5152 done
5153 IFS=$as_save_IFS
5154
5155 fi
5156 fi
5157 DUMPBIN=$ac_cv_prog_DUMPBIN
5158 if test -n "$DUMPBIN"; then
5159 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
5160 $as_echo "$DUMPBIN" >&6; }
5161 else
5162 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5163 $as_echo "no" >&6; }
5164 fi
5165
5166
5167 test -n "$DUMPBIN" && break
5168 done
5169 fi
5170 if test -z "$DUMPBIN"; then
5171 ac_ct_DUMPBIN=$DUMPBIN
5172 for ac_prog in dumpbin "link -dump"
5173 do
5174 # Extract the first word of "$ac_prog", so it can be a program name with args.
5175 set dummy $ac_prog; ac_word=$2
5176 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5177 $as_echo_n "checking for $ac_word... " >&6; }
5178 if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
5179 $as_echo_n "(cached) " >&6
5180 else
5181 if test -n "$ac_ct_DUMPBIN"; then
5182 ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
5183 else
5184 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5185 for as_dir in $PATH
5186 do
5187 IFS=$as_save_IFS
5188 test -z "$as_dir" && as_dir=.
5189 for ac_exec_ext in '' $ac_executable_extensions; do
5190 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5191 ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
5192 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5193 break 2
5194 fi
5195 done
5196 done
5197 IFS=$as_save_IFS
5198
5199 fi
5200 fi
5201 ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
5202 if test -n "$ac_ct_DUMPBIN"; then
5203 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
5204 $as_echo "$ac_ct_DUMPBIN" >&6; }
5205 else
5206 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5207 $as_echo "no" >&6; }
5208 fi
5209
5210
5211 test -n "$ac_ct_DUMPBIN" && break
5212 done
5213
5214 if test "x$ac_ct_DUMPBIN" = x; then
5215 DUMPBIN=":"
5216 else
5217 case $cross_compiling:$ac_tool_warned in
5218 yes:)
5219 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
5220 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
5221 ac_tool_warned=yes ;;
5222 esac
5223 DUMPBIN=$ac_ct_DUMPBIN
5224 fi
5225 fi
5226
5227 case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
5228 *COFF*)
5229 DUMPBIN="$DUMPBIN -symbols -headers"
5230 ;;
5231 *)
5232 DUMPBIN=:
5233 ;;
5234 esac
5235 fi
5236
5237 if test : != "$DUMPBIN"; then
5238 NM=$DUMPBIN
5239 fi
5240 fi
5241 test -z "$NM" && NM=nm
5242
5243
5244
5245
5246
5247
5248 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
5249 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
5250 if ${lt_cv_nm_interface+:} false; then :
5251 $as_echo_n "(cached) " >&6
5252 else
5253 lt_cv_nm_interface="BSD nm"
5254 echo "int some_variable = 0;" > conftest.$ac_ext
5255 (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
5256 (eval "$ac_compile" 2>conftest.err)
5257 cat conftest.err >&5
5258 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
5259 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
5260 cat conftest.err >&5
5261 (eval echo "\"\$as_me:$LINENO: output\"" >&5)
5262 cat conftest.out >&5
5263 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
5264 lt_cv_nm_interface="MS dumpbin"
5265 fi
5266 rm -f conftest*
5267 fi
5268 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
5269 $as_echo "$lt_cv_nm_interface" >&6; }
5270
5271 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
5272 $as_echo_n "checking whether ln -s works... " >&6; }
5273 LN_S=$as_ln_s
5274 if test "$LN_S" = "ln -s"; then
5275 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5276 $as_echo "yes" >&6; }
5277 else
5278 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
5279 $as_echo "no, using $LN_S" >&6; }
5280 fi
5281
5282 # find the maximum length of command line arguments
5283 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
5284 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
5285 if ${lt_cv_sys_max_cmd_len+:} false; then :
5286 $as_echo_n "(cached) " >&6
5287 else
5288 i=0
5289 teststring=ABCD
5290
5291 case $build_os in
5292 msdosdjgpp*)
5293 # On DJGPP, this test can blow up pretty badly due to problems in libc
5294 # (any single argument exceeding 2000 bytes causes a buffer overrun
5295 # during glob expansion). Even if it were fixed, the result of this
5296 # check would be larger than it should be.
5297 lt_cv_sys_max_cmd_len=12288; # 12K is about right
5298 ;;
5299
5300 gnu*)
5301 # Under GNU Hurd, this test is not required because there is
5302 # no limit to the length of command line arguments.
5303 # Libtool will interpret -1 as no limit whatsoever
5304 lt_cv_sys_max_cmd_len=-1;
5305 ;;
5306
5307 cygwin* | mingw* | cegcc*)
5308 # On Win9x/ME, this test blows up -- it succeeds, but takes
5309 # about 5 minutes as the teststring grows exponentially.
5310 # Worse, since 9x/ME are not pre-emptively multitasking,
5311 # you end up with a "frozen" computer, even though with patience
5312 # the test eventually succeeds (with a max line length of 256k).
5313 # Instead, let's just punt: use the minimum linelength reported by
5314 # all of the supported platforms: 8192 (on NT/2K/XP).
5315 lt_cv_sys_max_cmd_len=8192;
5316 ;;
5317
5318 mint*)
5319 # On MiNT this can take a long time and run out of memory.
5320 lt_cv_sys_max_cmd_len=8192;
5321 ;;
5322
5323 amigaos*)
5324 # On AmigaOS with pdksh, this test takes hours, literally.
5325 # So we just punt and use a minimum line length of 8192.
5326 lt_cv_sys_max_cmd_len=8192;
5327 ;;
5328
5329 bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
5330 # This has been around since 386BSD, at least. Likely further.
5331 if test -x /sbin/sysctl; then
5332 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
5333 elif test -x /usr/sbin/sysctl; then
5334 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
5335 else
5336 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
5337 fi
5338 # And add a safety zone
5339 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
5340 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
5341 ;;
5342
5343 interix*)
5344 # We know the value 262144 and hardcode it with a safety zone (like BSD)
5345 lt_cv_sys_max_cmd_len=196608
5346 ;;
5347
5348 os2*)
5349 # The test takes a long time on OS/2.
5350 lt_cv_sys_max_cmd_len=8192
5351 ;;
5352
5353 osf*)
5354 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
5355 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
5356 # nice to cause kernel panics so lets avoid the loop below.
5357 # First set a reasonable default.
5358 lt_cv_sys_max_cmd_len=16384
5359 #
5360 if test -x /sbin/sysconfig; then
5361 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
5362 *1*) lt_cv_sys_max_cmd_len=-1 ;;
5363 esac
5364 fi
5365 ;;
5366 sco3.2v5*)
5367 lt_cv_sys_max_cmd_len=102400
5368 ;;
5369 sysv5* | sco5v6* | sysv4.2uw2*)
5370 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
5371 if test -n "$kargmax"; then
5372 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
5373 else
5374 lt_cv_sys_max_cmd_len=32768
5375 fi
5376 ;;
5377 *)
5378 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
5379 if test -n "$lt_cv_sys_max_cmd_len" && \
5380 test undefined != "$lt_cv_sys_max_cmd_len"; then
5381 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
5382 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
5383 else
5384 # Make teststring a little bigger before we do anything with it.
5385 # a 1K string should be a reasonable start.
5386 for i in 1 2 3 4 5 6 7 8; do
5387 teststring=$teststring$teststring
5388 done
5389 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
5390 # If test is not a shell built-in, we'll probably end up computing a
5391 # maximum length that is only half of the actual maximum length, but
5392 # we can't tell.
5393 while { test X`env echo "$teststring$teststring" 2>/dev/null` \
5394 = "X$teststring$teststring"; } >/dev/null 2>&1 &&
5395 test 17 != "$i" # 1/2 MB should be enough
5396 do
5397 i=`expr $i + 1`
5398 teststring=$teststring$teststring
5399 done
5400 # Only check the string length outside the loop.
5401 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
5402 teststring=
5403 # Add a significant safety factor because C++ compilers can tack on
5404 # massive amounts of additional arguments before passing them to the
5405 # linker. It appears as though 1/2 is a usable value.
5406 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
5407 fi
5408 ;;
5409 esac
5410
5411 fi
5412
5413 if test -n "$lt_cv_sys_max_cmd_len"; then
5414 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
5415 $as_echo "$lt_cv_sys_max_cmd_len" >&6; }
5416 else
5417 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
5418 $as_echo "none" >&6; }
5419 fi
5420 max_cmd_len=$lt_cv_sys_max_cmd_len
5421
5422
5423
5424
5425
5426
5427 : ${CP="cp -f"}
5428 : ${MV="mv -f"}
5429 : ${RM="rm -f"}
5430
5431 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
5432 lt_unset=unset
5433 else
5434 lt_unset=false
5435 fi
5436
5437
5438
5439
5440
5441 # test EBCDIC or ASCII
5442 case `echo X|tr X '\101'` in
5443 A) # ASCII based system
5444 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
5445 lt_SP2NL='tr \040 \012'
5446 lt_NL2SP='tr \015\012 \040\040'
5447 ;;
5448 *) # EBCDIC based system
5449 lt_SP2NL='tr \100 \n'
5450 lt_NL2SP='tr \r\n \100\100'
5451 ;;
5452 esac
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
5463 $as_echo_n "checking how to convert $build file names to $host format... " >&6; }
5464 if ${lt_cv_to_host_file_cmd+:} false; then :
5465 $as_echo_n "(cached) " >&6
5466 else
5467 case $host in
5468 *-*-mingw* )
5469 case $build in
5470 *-*-mingw* ) # actually msys
5471 lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
5472 ;;
5473 *-*-cygwin* )
5474 lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
5475 ;;
5476 * ) # otherwise, assume *nix
5477 lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
5478 ;;
5479 esac
5480 ;;
5481 *-*-cygwin* )
5482 case $build in
5483 *-*-mingw* ) # actually msys
5484 lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
5485 ;;
5486 *-*-cygwin* )
5487 lt_cv_to_host_file_cmd=func_convert_file_noop
5488 ;;
5489 * ) # otherwise, assume *nix
5490 lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
5491 ;;
5492 esac
5493 ;;
5494 * ) # unhandled hosts (and "normal" native builds)
5495 lt_cv_to_host_file_cmd=func_convert_file_noop
5496 ;;
5497 esac
5498
5499 fi
5500
5501 to_host_file_cmd=$lt_cv_to_host_file_cmd
5502 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
5503 $as_echo "$lt_cv_to_host_file_cmd" >&6; }
5504
5505
5506
5507
5508
5509 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
5510 $as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
5511 if ${lt_cv_to_tool_file_cmd+:} false; then :
5512 $as_echo_n "(cached) " >&6
5513 else
5514 #assume ordinary cross tools, or native build.
5515 lt_cv_to_tool_file_cmd=func_convert_file_noop
5516 case $host in
5517 *-*-mingw* )
5518 case $build in
5519 *-*-mingw* ) # actually msys
5520 lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
5521 ;;
5522 esac
5523 ;;
5524 esac
5525
5526 fi
5527
5528 to_tool_file_cmd=$lt_cv_to_tool_file_cmd
5529 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
5530 $as_echo "$lt_cv_to_tool_file_cmd" >&6; }
5531
5532
5533
5534
5535
5536 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
5537 $as_echo_n "checking for $LD option to reload object files... " >&6; }
5538 if ${lt_cv_ld_reload_flag+:} false; then :
5539 $as_echo_n "(cached) " >&6
5540 else
5541 lt_cv_ld_reload_flag='-r'
5542 fi
5543 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
5544 $as_echo "$lt_cv_ld_reload_flag" >&6; }
5545 reload_flag=$lt_cv_ld_reload_flag
5546 case $reload_flag in
5547 "" | " "*) ;;
5548 *) reload_flag=" $reload_flag" ;;
5549 esac
5550 reload_cmds='$LD$reload_flag -o $output$reload_objs'
5551 case $host_os in
5552 cygwin* | mingw* | pw32* | cegcc*)
5553 if test yes != "$GCC"; then
5554 reload_cmds=false
5555 fi
5556 ;;
5557 darwin*)
5558 if test yes = "$GCC"; then
5559 reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
5560 else
5561 reload_cmds='$LD$reload_flag -o $output$reload_objs'
5562 fi
5563 ;;
5564 esac
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574 if test -n "$ac_tool_prefix"; then
5575 # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
5576 set dummy ${ac_tool_prefix}objdump; ac_word=$2
5577 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5578 $as_echo_n "checking for $ac_word... " >&6; }
5579 if ${ac_cv_prog_OBJDUMP+:} false; then :
5580 $as_echo_n "(cached) " >&6
5581 else
5582 if test -n "$OBJDUMP"; then
5583 ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
5584 else
5585 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5586 for as_dir in $PATH
5587 do
5588 IFS=$as_save_IFS
5589 test -z "$as_dir" && as_dir=.
5590 for ac_exec_ext in '' $ac_executable_extensions; do
5591 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5592 ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
5593 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5594 break 2
5595 fi
5596 done
5597 done
5598 IFS=$as_save_IFS
5599
5600 fi
5601 fi
5602 OBJDUMP=$ac_cv_prog_OBJDUMP
5603 if test -n "$OBJDUMP"; then
5604 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
5605 $as_echo "$OBJDUMP" >&6; }
5606 else
5607 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5608 $as_echo "no" >&6; }
5609 fi
5610
5611
5612 fi
5613 if test -z "$ac_cv_prog_OBJDUMP"; then
5614 ac_ct_OBJDUMP=$OBJDUMP
5615 # Extract the first word of "objdump", so it can be a program name with args.
5616 set dummy objdump; ac_word=$2
5617 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5618 $as_echo_n "checking for $ac_word... " >&6; }
5619 if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
5620 $as_echo_n "(cached) " >&6
5621 else
5622 if test -n "$ac_ct_OBJDUMP"; then
5623 ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
5624 else
5625 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5626 for as_dir in $PATH
5627 do
5628 IFS=$as_save_IFS
5629 test -z "$as_dir" && as_dir=.
5630 for ac_exec_ext in '' $ac_executable_extensions; do
5631 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5632 ac_cv_prog_ac_ct_OBJDUMP="objdump"
5633 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5634 break 2
5635 fi
5636 done
5637 done
5638 IFS=$as_save_IFS
5639
5640 fi
5641 fi
5642 ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
5643 if test -n "$ac_ct_OBJDUMP"; then
5644 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
5645 $as_echo "$ac_ct_OBJDUMP" >&6; }
5646 else
5647 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5648 $as_echo "no" >&6; }
5649 fi
5650
5651 if test "x$ac_ct_OBJDUMP" = x; then
5652 OBJDUMP="false"
5653 else
5654 case $cross_compiling:$ac_tool_warned in
5655 yes:)
5656 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
5657 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
5658 ac_tool_warned=yes ;;
5659 esac
5660 OBJDUMP=$ac_ct_OBJDUMP
5661 fi
5662 else
5663 OBJDUMP="$ac_cv_prog_OBJDUMP"
5664 fi
5665
5666 test -z "$OBJDUMP" && OBJDUMP=objdump
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
5677 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
5678 if ${lt_cv_deplibs_check_method+:} false; then :
5679 $as_echo_n "(cached) " >&6
5680 else
5681 lt_cv_file_magic_cmd='$MAGIC_CMD'
5682 lt_cv_file_magic_test_file=
5683 lt_cv_deplibs_check_method='unknown'
5684 # Need to set the preceding variable on all platforms that support
5685 # interlibrary dependencies.
5686 # 'none' -- dependencies not supported.
5687 # 'unknown' -- same as none, but documents that we really don't know.
5688 # 'pass_all' -- all dependencies passed with no checks.
5689 # 'test_compile' -- check by making test program.
5690 # 'file_magic [[regex]]' -- check by looking for files in library path
5691 # that responds to the $file_magic_cmd with a given extended regex.
5692 # If you have 'file' or equivalent on your system and you're not sure
5693 # whether 'pass_all' will *always* work, you probably want this one.
5694
5695 case $host_os in
5696 aix[4-9]*)
5697 lt_cv_deplibs_check_method=pass_all
5698 ;;
5699
5700 beos*)
5701 lt_cv_deplibs_check_method=pass_all
5702 ;;
5703
5704 bsdi[45]*)
5705 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
5706 lt_cv_file_magic_cmd='/usr/bin/file -L'
5707 lt_cv_file_magic_test_file=/shlib/libc.so
5708 ;;
5709
5710 cygwin*)
5711 # func_win32_libid is a shell function defined in ltmain.sh
5712 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
5713 lt_cv_file_magic_cmd='func_win32_libid'
5714 ;;
5715
5716 mingw* | pw32*)
5717 # Base MSYS/MinGW do not provide the 'file' command needed by
5718 # func_win32_libid shell function, so use a weaker test based on 'objdump',
5719 # unless we find 'file', for example because we are cross-compiling.
5720 if ( file / ) >/dev/null 2>&1; then
5721 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
5722 lt_cv_file_magic_cmd='func_win32_libid'
5723 else
5724 # Keep this pattern in sync with the one in func_win32_libid.
5725 lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
5726 lt_cv_file_magic_cmd='$OBJDUMP -f'
5727 fi
5728 ;;
5729
5730 cegcc*)
5731 # use the weaker test based on 'objdump'. See mingw*.
5732 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
5733 lt_cv_file_magic_cmd='$OBJDUMP -f'
5734 ;;
5735
5736 darwin* | rhapsody*)
5737 lt_cv_deplibs_check_method=pass_all
5738 ;;
5739
5740 freebsd* | dragonfly*)
5741 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
5742 case $host_cpu in
5743 i*86 )
5744 # Not sure whether the presence of OpenBSD here was a mistake.
5745 # Let's accept both of them until this is cleared up.
5746 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
5747 lt_cv_file_magic_cmd=/usr/bin/file
5748 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
5749 ;;
5750 esac
5751 else
5752 lt_cv_deplibs_check_method=pass_all
5753 fi
5754 ;;
5755
5756 haiku*)
5757 lt_cv_deplibs_check_method=pass_all
5758 ;;
5759
5760 hpux10.20* | hpux11*)
5761 lt_cv_file_magic_cmd=/usr/bin/file
5762 case $host_cpu in
5763 ia64*)
5764 lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
5765 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
5766 ;;
5767 hppa*64*)
5768 lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
5769 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
5770 ;;
5771 *)
5772 lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
5773 lt_cv_file_magic_test_file=/usr/lib/libc.sl
5774 ;;
5775 esac
5776 ;;
5777
5778 interix[3-9]*)
5779 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
5780 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
5781 ;;
5782
5783 irix5* | irix6* | nonstopux*)
5784 case $LD in
5785 *-32|*"-32 ") libmagic=32-bit;;
5786 *-n32|*"-n32 ") libmagic=N32;;
5787 *-64|*"-64 ") libmagic=64-bit;;
5788 *) libmagic=never-match;;
5789 esac
5790 lt_cv_deplibs_check_method=pass_all
5791 ;;
5792
5793 # This must be glibc/ELF.
5794 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
5795 lt_cv_deplibs_check_method=pass_all
5796 ;;
5797
5798 netbsd* | netbsdelf*-gnu)
5799 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
5800 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
5801 else
5802 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
5803 fi
5804 ;;
5805
5806 newos6*)
5807 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
5808 lt_cv_file_magic_cmd=/usr/bin/file
5809 lt_cv_file_magic_test_file=/usr/lib/libnls.so
5810 ;;
5811
5812 *nto* | *qnx*)
5813 lt_cv_deplibs_check_method=pass_all
5814 ;;
5815
5816 openbsd* | bitrig*)
5817 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
5818 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
5819 else
5820 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
5821 fi
5822 ;;
5823
5824 osf3* | osf4* | osf5*)
5825 lt_cv_deplibs_check_method=pass_all
5826 ;;
5827
5828 rdos*)
5829 lt_cv_deplibs_check_method=pass_all
5830 ;;
5831
5832 solaris*)
5833 lt_cv_deplibs_check_method=pass_all
5834 ;;
5835
5836 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
5837 lt_cv_deplibs_check_method=pass_all
5838 ;;
5839
5840 sysv4 | sysv4.3*)
5841 case $host_vendor in
5842 motorola)
5843 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
5844 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
5845 ;;
5846 ncr)
5847 lt_cv_deplibs_check_method=pass_all
5848 ;;
5849 sequent)
5850 lt_cv_file_magic_cmd='/bin/file'
5851 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
5852 ;;
5853 sni)
5854 lt_cv_file_magic_cmd='/bin/file'
5855 lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
5856 lt_cv_file_magic_test_file=/lib/libc.so
5857 ;;
5858 siemens)
5859 lt_cv_deplibs_check_method=pass_all
5860 ;;
5861 pc)
5862 lt_cv_deplibs_check_method=pass_all
5863 ;;
5864 esac
5865 ;;
5866
5867 tpf*)
5868 lt_cv_deplibs_check_method=pass_all
5869 ;;
5870 os2*)
5871 lt_cv_deplibs_check_method=pass_all
5872 ;;
5873 esac
5874
5875 fi
5876 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
5877 $as_echo "$lt_cv_deplibs_check_method" >&6; }
5878
5879 file_magic_glob=
5880 want_nocaseglob=no
5881 if test "$build" = "$host"; then
5882 case $host_os in
5883 mingw* | pw32*)
5884 if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
5885 want_nocaseglob=yes
5886 else
5887 file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
5888 fi
5889 ;;
5890 esac
5891 fi
5892
5893 file_magic_cmd=$lt_cv_file_magic_cmd
5894 deplibs_check_method=$lt_cv_deplibs_check_method
5895 test -z "$deplibs_check_method" && deplibs_check_method=unknown
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918 if test -n "$ac_tool_prefix"; then
5919 # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
5920 set dummy ${ac_tool_prefix}dlltool; ac_word=$2
5921 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5922 $as_echo_n "checking for $ac_word... " >&6; }
5923 if ${ac_cv_prog_DLLTOOL+:} false; then :
5924 $as_echo_n "(cached) " >&6
5925 else
5926 if test -n "$DLLTOOL"; then
5927 ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
5928 else
5929 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5930 for as_dir in $PATH
5931 do
5932 IFS=$as_save_IFS
5933 test -z "$as_dir" && as_dir=.
5934 for ac_exec_ext in '' $ac_executable_extensions; do
5935 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5936 ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
5937 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5938 break 2
5939 fi
5940 done
5941 done
5942 IFS=$as_save_IFS
5943
5944 fi
5945 fi
5946 DLLTOOL=$ac_cv_prog_DLLTOOL
5947 if test -n "$DLLTOOL"; then
5948 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
5949 $as_echo "$DLLTOOL" >&6; }
5950 else
5951 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5952 $as_echo "no" >&6; }
5953 fi
5954
5955
5956 fi
5957 if test -z "$ac_cv_prog_DLLTOOL"; then
5958 ac_ct_DLLTOOL=$DLLTOOL
5959 # Extract the first word of "dlltool", so it can be a program name with args.
5960 set dummy dlltool; ac_word=$2
5961 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5962 $as_echo_n "checking for $ac_word... " >&6; }
5963 if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
5964 $as_echo_n "(cached) " >&6
5965 else
5966 if test -n "$ac_ct_DLLTOOL"; then
5967 ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
5968 else
5969 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5970 for as_dir in $PATH
5971 do
5972 IFS=$as_save_IFS
5973 test -z "$as_dir" && as_dir=.
5974 for ac_exec_ext in '' $ac_executable_extensions; do
5975 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5976 ac_cv_prog_ac_ct_DLLTOOL="dlltool"
5977 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5978 break 2
5979 fi
5980 done
5981 done
5982 IFS=$as_save_IFS
5983
5984 fi
5985 fi
5986 ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
5987 if test -n "$ac_ct_DLLTOOL"; then
5988 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
5989 $as_echo "$ac_ct_DLLTOOL" >&6; }
5990 else
5991 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5992 $as_echo "no" >&6; }
5993 fi
5994
5995 if test "x$ac_ct_DLLTOOL" = x; then
5996 DLLTOOL="false"
5997 else
5998 case $cross_compiling:$ac_tool_warned in
5999 yes:)
6000 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
6001 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
6002 ac_tool_warned=yes ;;
6003 esac
6004 DLLTOOL=$ac_ct_DLLTOOL
6005 fi
6006 else
6007 DLLTOOL="$ac_cv_prog_DLLTOOL"
6008 fi
6009
6010 test -z "$DLLTOOL" && DLLTOOL=dlltool
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
6022 $as_echo_n "checking how to associate runtime and link libraries... " >&6; }
6023 if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
6024 $as_echo_n "(cached) " >&6
6025 else
6026 lt_cv_sharedlib_from_linklib_cmd='unknown'
6027
6028 case $host_os in
6029 cygwin* | mingw* | pw32* | cegcc*)
6030 # two different shell functions defined in ltmain.sh;
6031 # decide which one to use based on capabilities of $DLLTOOL
6032 case `$DLLTOOL --help 2>&1` in
6033 *--identify-strict*)
6034 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
6035 ;;
6036 *)
6037 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
6038 ;;
6039 esac
6040 ;;
6041 *)
6042 # fallback: assume linklib IS sharedlib
6043 lt_cv_sharedlib_from_linklib_cmd=$ECHO
6044 ;;
6045 esac
6046
6047 fi
6048 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
6049 $as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
6050 sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
6051 test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
6052
6053
6054
6055
6056
6057
6058
6059
6060 if test -n "$ac_tool_prefix"; then
6061 for ac_prog in ar
6062 do
6063 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
6064 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
6065 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6066 $as_echo_n "checking for $ac_word... " >&6; }
6067 if ${ac_cv_prog_AR+:} false; then :
6068 $as_echo_n "(cached) " >&6
6069 else
6070 if test -n "$AR"; then
6071 ac_cv_prog_AR="$AR" # Let the user override the test.
6072 else
6073 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6074 for as_dir in $PATH
6075 do
6076 IFS=$as_save_IFS
6077 test -z "$as_dir" && as_dir=.
6078 for ac_exec_ext in '' $ac_executable_extensions; do
6079 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
6080 ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
6081 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
6082 break 2
6083 fi
6084 done
6085 done
6086 IFS=$as_save_IFS
6087
6088 fi
6089 fi
6090 AR=$ac_cv_prog_AR
6091 if test -n "$AR"; then
6092 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
6093 $as_echo "$AR" >&6; }
6094 else
6095 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6096 $as_echo "no" >&6; }
6097 fi
6098
6099
6100 test -n "$AR" && break
6101 done
6102 fi
6103 if test -z "$AR"; then
6104 ac_ct_AR=$AR
6105 for ac_prog in ar
6106 do
6107 # Extract the first word of "$ac_prog", so it can be a program name with args.
6108 set dummy $ac_prog; ac_word=$2
6109 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6110 $as_echo_n "checking for $ac_word... " >&6; }
6111 if ${ac_cv_prog_ac_ct_AR+:} false; then :
6112 $as_echo_n "(cached) " >&6
6113 else
6114 if test -n "$ac_ct_AR"; then
6115 ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
6116 else
6117 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6118 for as_dir in $PATH
6119 do
6120 IFS=$as_save_IFS
6121 test -z "$as_dir" && as_dir=.
6122 for ac_exec_ext in '' $ac_executable_extensions; do
6123 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
6124 ac_cv_prog_ac_ct_AR="$ac_prog"
6125 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
6126 break 2
6127 fi
6128 done
6129 done
6130 IFS=$as_save_IFS
6131
6132 fi
6133 fi
6134 ac_ct_AR=$ac_cv_prog_ac_ct_AR
6135 if test -n "$ac_ct_AR"; then
6136 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
6137 $as_echo "$ac_ct_AR" >&6; }
6138 else
6139 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6140 $as_echo "no" >&6; }
6141 fi
6142
6143
6144 test -n "$ac_ct_AR" && break
6145 done
6146
6147 if test "x$ac_ct_AR" = x; then
6148 AR="false"
6149 else
6150 case $cross_compiling:$ac_tool_warned in
6151 yes:)
6152 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
6153 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
6154 ac_tool_warned=yes ;;
6155 esac
6156 AR=$ac_ct_AR
6157 fi
6158 fi
6159
6160 : ${AR=ar}
6161 : ${AR_FLAGS=cr}
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
6174 $as_echo_n "checking for archiver @FILE support... " >&6; }
6175 if ${lt_cv_ar_at_file+:} false; then :
6176 $as_echo_n "(cached) " >&6
6177 else
6178 lt_cv_ar_at_file=no
6179 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6180 /* end confdefs.h. */
6181
6182 int
6183 main ()
6184 {
6185
6186 ;
6187 return 0;
6188 }
6189 _ACEOF
6190 if ac_fn_c_try_compile "$LINENO"; then :
6191 echo conftest.$ac_objext > conftest.lst
6192 lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
6193 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
6194 (eval $lt_ar_try) 2>&5
6195 ac_status=$?
6196 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
6197 test $ac_status = 0; }
6198 if test 0 -eq "$ac_status"; then
6199 # Ensure the archiver fails upon bogus file names.
6200 rm -f conftest.$ac_objext libconftest.a
6201 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
6202 (eval $lt_ar_try) 2>&5
6203 ac_status=$?
6204 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
6205 test $ac_status = 0; }
6206 if test 0 -ne "$ac_status"; then
6207 lt_cv_ar_at_file=@
6208 fi
6209 fi
6210 rm -f conftest.* libconftest.a
6211
6212 fi
6213 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6214
6215 fi
6216 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
6217 $as_echo "$lt_cv_ar_at_file" >&6; }
6218
6219 if test no = "$lt_cv_ar_at_file"; then
6220 archiver_list_spec=
6221 else
6222 archiver_list_spec=$lt_cv_ar_at_file
6223 fi
6224
6225
6226
6227
6228
6229
6230
6231 if test -n "$ac_tool_prefix"; then
6232 # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
6233 set dummy ${ac_tool_prefix}strip; ac_word=$2
6234 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6235 $as_echo_n "checking for $ac_word... " >&6; }
6236 if ${ac_cv_prog_STRIP+:} false; then :
6237 $as_echo_n "(cached) " >&6
6238 else
6239 if test -n "$STRIP"; then
6240 ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
6241 else
6242 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6243 for as_dir in $PATH
6244 do
6245 IFS=$as_save_IFS
6246 test -z "$as_dir" && as_dir=.
6247 for ac_exec_ext in '' $ac_executable_extensions; do
6248 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
6249 ac_cv_prog_STRIP="${ac_tool_prefix}strip"
6250 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
6251 break 2
6252 fi
6253 done
6254 done
6255 IFS=$as_save_IFS
6256
6257 fi
6258 fi
6259 STRIP=$ac_cv_prog_STRIP
6260 if test -n "$STRIP"; then
6261 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
6262 $as_echo "$STRIP" >&6; }
6263 else
6264 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6265 $as_echo "no" >&6; }
6266 fi
6267
6268
6269 fi
6270 if test -z "$ac_cv_prog_STRIP"; then
6271 ac_ct_STRIP=$STRIP
6272 # Extract the first word of "strip", so it can be a program name with args.
6273 set dummy strip; ac_word=$2
6274 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6275 $as_echo_n "checking for $ac_word... " >&6; }
6276 if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
6277 $as_echo_n "(cached) " >&6
6278 else
6279 if test -n "$ac_ct_STRIP"; then
6280 ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
6281 else
6282 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6283 for as_dir in $PATH
6284 do
6285 IFS=$as_save_IFS
6286 test -z "$as_dir" && as_dir=.
6287 for ac_exec_ext in '' $ac_executable_extensions; do
6288 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
6289 ac_cv_prog_ac_ct_STRIP="strip"
6290 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
6291 break 2
6292 fi
6293 done
6294 done
6295 IFS=$as_save_IFS
6296
6297 fi
6298 fi
6299 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
6300 if test -n "$ac_ct_STRIP"; then
6301 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
6302 $as_echo "$ac_ct_STRIP" >&6; }
6303 else
6304 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6305 $as_echo "no" >&6; }
6306 fi
6307
6308 if test "x$ac_ct_STRIP" = x; then
6309 STRIP=":"
6310 else
6311 case $cross_compiling:$ac_tool_warned in
6312 yes:)
6313 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
6314 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
6315 ac_tool_warned=yes ;;
6316 esac
6317 STRIP=$ac_ct_STRIP
6318 fi
6319 else
6320 STRIP="$ac_cv_prog_STRIP"
6321 fi
6322
6323 test -z "$STRIP" && STRIP=:
6324
6325
6326
6327
6328
6329
6330 if test -n "$ac_tool_prefix"; then
6331 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
6332 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
6333 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6334 $as_echo_n "checking for $ac_word... " >&6; }
6335 if ${ac_cv_prog_RANLIB+:} false; then :
6336 $as_echo_n "(cached) " >&6
6337 else
6338 if test -n "$RANLIB"; then
6339 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
6340 else
6341 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6342 for as_dir in $PATH
6343 do
6344 IFS=$as_save_IFS
6345 test -z "$as_dir" && as_dir=.
6346 for ac_exec_ext in '' $ac_executable_extensions; do
6347 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
6348 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
6349 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
6350 break 2
6351 fi
6352 done
6353 done
6354 IFS=$as_save_IFS
6355
6356 fi
6357 fi
6358 RANLIB=$ac_cv_prog_RANLIB
6359 if test -n "$RANLIB"; then
6360 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
6361 $as_echo "$RANLIB" >&6; }
6362 else
6363 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6364 $as_echo "no" >&6; }
6365 fi
6366
6367
6368 fi
6369 if test -z "$ac_cv_prog_RANLIB"; then
6370 ac_ct_RANLIB=$RANLIB
6371 # Extract the first word of "ranlib", so it can be a program name with args.
6372 set dummy ranlib; ac_word=$2
6373 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6374 $as_echo_n "checking for $ac_word... " >&6; }
6375 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
6376 $as_echo_n "(cached) " >&6
6377 else
6378 if test -n "$ac_ct_RANLIB"; then
6379 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
6380 else
6381 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6382 for as_dir in $PATH
6383 do
6384 IFS=$as_save_IFS
6385 test -z "$as_dir" && as_dir=.
6386 for ac_exec_ext in '' $ac_executable_extensions; do
6387 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
6388 ac_cv_prog_ac_ct_RANLIB="ranlib"
6389 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
6390 break 2
6391 fi
6392 done
6393 done
6394 IFS=$as_save_IFS
6395
6396 fi
6397 fi
6398 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
6399 if test -n "$ac_ct_RANLIB"; then
6400 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
6401 $as_echo "$ac_ct_RANLIB" >&6; }
6402 else
6403 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6404 $as_echo "no" >&6; }
6405 fi
6406
6407 if test "x$ac_ct_RANLIB" = x; then
6408 RANLIB=":"
6409 else
6410 case $cross_compiling:$ac_tool_warned in
6411 yes:)
6412 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
6413 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
6414 ac_tool_warned=yes ;;
6415 esac
6416 RANLIB=$ac_ct_RANLIB
6417 fi
6418 else
6419 RANLIB="$ac_cv_prog_RANLIB"
6420 fi
6421
6422 test -z "$RANLIB" && RANLIB=:
6423
6424
6425
6426
6427
6428
6429 # Determine commands to create old-style static archives.
6430 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
6431 old_postinstall_cmds='chmod 644 $oldlib'
6432 old_postuninstall_cmds=
6433
6434 if test -n "$RANLIB"; then
6435 case $host_os in
6436 bitrig* | openbsd*)
6437 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
6438 ;;
6439 *)
6440 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
6441 ;;
6442 esac
6443 old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
6444 fi
6445
6446 case $host_os in
6447 darwin*)
6448 lock_old_archive_extraction=yes ;;
6449 *)
6450 lock_old_archive_extraction=no ;;
6451 esac
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491 # If no C compiler was specified, use CC.
6492 LTCC=${LTCC-"$CC"}
6493
6494 # If no C compiler flags were specified, use CFLAGS.
6495 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
6496
6497 # Allow CC to be a program name with arguments.
6498 compiler=$CC
6499
6500
6501 # Check for command to grab the raw symbol name followed by C symbol from nm.
6502 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
6503 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
6504 if ${lt_cv_sys_global_symbol_pipe+:} false; then :
6505 $as_echo_n "(cached) " >&6
6506 else
6507
6508 # These are sane defaults that work on at least a few old systems.
6509 # [They come from Ultrix. What could be older than Ultrix?!! ;)]
6510
6511 # Character class describing NM global symbol codes.
6512 symcode='[BCDEGRST]'
6513
6514 # Regexp to match symbols that can be accessed directly from C.
6515 sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
6516
6517 # Define system-specific variables.
6518 case $host_os in
6519 aix*)
6520 symcode='[BCDT]'
6521 ;;
6522 cygwin* | mingw* | pw32* | cegcc*)
6523 symcode='[ABCDGISTW]'
6524 ;;
6525 hpux*)
6526 if test ia64 = "$host_cpu"; then
6527 symcode='[ABCDEGRST]'
6528 fi
6529 ;;
6530 irix* | nonstopux*)
6531 symcode='[BCDEGRST]'
6532 ;;
6533 osf*)
6534 symcode='[BCDEGQRST]'
6535 ;;
6536 solaris*)
6537 symcode='[BDRT]'
6538 ;;
6539 sco3.2v5*)
6540 symcode='[DT]'
6541 ;;
6542 sysv4.2uw2*)
6543 symcode='[DT]'
6544 ;;
6545 sysv5* | sco5v6* | unixware* | OpenUNIX*)
6546 symcode='[ABDT]'
6547 ;;
6548 sysv4)
6549 symcode='[DFNSTU]'
6550 ;;
6551 esac
6552
6553 # If we're using GNU nm, then use its standard symbol codes.
6554 case `$NM -V 2>&1` in
6555 *GNU* | *'with BFD'*)
6556 symcode='[ABCDGIRSTW]' ;;
6557 esac
6558
6559 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
6560 # Gets list of data symbols to import.
6561 lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
6562 # Adjust the below global symbol transforms to fixup imported variables.
6563 lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
6564 lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
6565 lt_c_name_lib_hook="\
6566 -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
6567 -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
6568 else
6569 # Disable hooks by default.
6570 lt_cv_sys_global_symbol_to_import=
6571 lt_cdecl_hook=
6572 lt_c_name_hook=
6573 lt_c_name_lib_hook=
6574 fi
6575
6576 # Transform an extracted symbol line into a proper C declaration.
6577 # Some systems (esp. on ia64) link data and code symbols differently,
6578 # so use this general approach.
6579 lt_cv_sys_global_symbol_to_cdecl="sed -n"\
6580 $lt_cdecl_hook\
6581 " -e 's/^T .* \(.*\)$/extern int \1();/p'"\
6582 " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
6583
6584 # Transform an extracted symbol line into symbol name and symbol address
6585 lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
6586 $lt_c_name_hook\
6587 " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
6588 " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
6589
6590 # Transform an extracted symbol line into symbol name with lib prefix and
6591 # symbol address.
6592 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
6593 $lt_c_name_lib_hook\
6594 " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
6595 " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
6596 " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
6597
6598 # Handle CRLF in mingw tool chain
6599 opt_cr=
6600 case $build_os in
6601 mingw*)
6602 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
6603 ;;
6604 esac
6605
6606 # Try without a prefix underscore, then with it.
6607 for ac_symprfx in "" "_"; do
6608
6609 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
6610 symxfrm="\\1 $ac_symprfx\\2 \\2"
6611
6612 # Write the raw and C identifiers.
6613 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
6614 # Fake it for dumpbin and say T for any non-static function,
6615 # D for any global variable and I for any imported variable.
6616 # Also find C++ and __fastcall symbols from MSVC++,
6617 # which start with @ or ?.
6618 lt_cv_sys_global_symbol_pipe="$AWK '"\
6619 " {last_section=section; section=\$ 3};"\
6620 " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
6621 " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
6622 " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
6623 " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
6624 " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
6625 " \$ 0!~/External *\|/{next};"\
6626 " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
6627 " {if(hide[section]) next};"\
6628 " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
6629 " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
6630 " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
6631 " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
6632 " ' prfx=^$ac_symprfx"
6633 else
6634 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
6635 fi
6636 lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
6637
6638 # Check to see that the pipe works correctly.
6639 pipe_works=no
6640
6641 rm -f conftest*
6642 cat > conftest.$ac_ext <<_LT_EOF
6643 #ifdef __cplusplus
6644 extern "C" {
6645 #endif
6646 char nm_test_var;
6647 void nm_test_func(void);
6648 void nm_test_func(void){}
6649 #ifdef __cplusplus
6650 }
6651 #endif
6652 int main(){nm_test_var='a';nm_test_func();return(0);}
6653 _LT_EOF
6654
6655 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
6656 (eval $ac_compile) 2>&5
6657 ac_status=$?
6658 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
6659 test $ac_status = 0; }; then
6660 # Now try to grab the symbols.
6661 nlist=conftest.nm
6662 $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5
6663 if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then
6664 # Try sorting and uniquifying the output.
6665 if sort "$nlist" | uniq > "$nlist"T; then
6666 mv -f "$nlist"T "$nlist"
6667 else
6668 rm -f "$nlist"T
6669 fi
6670
6671 # Make sure that we snagged all the symbols we need.
6672 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
6673 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
6674 cat <<_LT_EOF > conftest.$ac_ext
6675 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
6676 #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
6677 /* DATA imports from DLLs on WIN32 can't be const, because runtime
6678 relocations are performed -- see ld's documentation on pseudo-relocs. */
6679 # define LT_DLSYM_CONST
6680 #elif defined __osf__
6681 /* This system does not cope well with relocations in const data. */
6682 # define LT_DLSYM_CONST
6683 #else
6684 # define LT_DLSYM_CONST const
6685 #endif
6686
6687 #ifdef __cplusplus
6688 extern "C" {
6689 #endif
6690
6691 _LT_EOF
6692 # Now generate the symbol file.
6693 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
6694
6695 cat <<_LT_EOF >> conftest.$ac_ext
6696
6697 /* The mapping between symbol names and symbols. */
6698 LT_DLSYM_CONST struct {
6699 const char *name;
6700 void *address;
6701 }
6702 lt__PROGRAM__LTX_preloaded_symbols[] =
6703 {
6704 { "@PROGRAM@", (void *) 0 },
6705 _LT_EOF
6706 $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
6707 cat <<\_LT_EOF >> conftest.$ac_ext
6708 {0, (void *) 0}
6709 };
6710
6711 /* This works around a problem in FreeBSD linker */
6712 #ifdef FREEBSD_WORKAROUND
6713 static const void *lt_preloaded_setup() {
6714 return lt__PROGRAM__LTX_preloaded_symbols;
6715 }
6716 #endif
6717
6718 #ifdef __cplusplus
6719 }
6720 #endif
6721 _LT_EOF
6722 # Now try linking the two files.
6723 mv conftest.$ac_objext conftstm.$ac_objext
6724 lt_globsym_save_LIBS=$LIBS
6725 lt_globsym_save_CFLAGS=$CFLAGS
6726 LIBS=conftstm.$ac_objext
6727 CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
6728 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
6729 (eval $ac_link) 2>&5
6730 ac_status=$?
6731 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
6732 test $ac_status = 0; } && test -s conftest$ac_exeext; then
6733 pipe_works=yes
6734 fi
6735 LIBS=$lt_globsym_save_LIBS
6736 CFLAGS=$lt_globsym_save_CFLAGS
6737 else
6738 echo "cannot find nm_test_func in $nlist" >&5
6739 fi
6740 else
6741 echo "cannot find nm_test_var in $nlist" >&5
6742 fi
6743 else
6744 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
6745 fi
6746 else
6747 echo "$progname: failed program was:" >&5
6748 cat conftest.$ac_ext >&5
6749 fi
6750 rm -rf conftest* conftst*
6751
6752 # Do not use the global_symbol_pipe unless it works.
6753 if test yes = "$pipe_works"; then
6754 break
6755 else
6756 lt_cv_sys_global_symbol_pipe=
6757 fi
6758 done
6759
6760 fi
6761
6762 if test -z "$lt_cv_sys_global_symbol_pipe"; then
6763 lt_cv_sys_global_symbol_to_cdecl=
6764 fi
6765 if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
6766 { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
6767 $as_echo "failed" >&6; }
6768 else
6769 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
6770 $as_echo "ok" >&6; }
6771 fi
6772
6773 # Response file support.
6774 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
6775 nm_file_list_spec='@'
6776 elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
6777 nm_file_list_spec='@'
6778 fi
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
6817 $as_echo_n "checking for sysroot... " >&6; }
6818
6819 # Check whether --with-sysroot was given.
6820 if test "${with_sysroot+set}" = set; then :
6821 withval=$with_sysroot;
6822 else
6823 with_sysroot=no
6824 fi
6825
6826
6827 lt_sysroot=
6828 case $with_sysroot in #(
6829 yes)
6830 if test yes = "$GCC"; then
6831 lt_sysroot=`$CC --print-sysroot 2>/dev/null`
6832 fi
6833 ;; #(
6834 /*)
6835 lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
6836 ;; #(
6837 no|'')
6838 ;; #(
6839 *)
6840 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
6841 $as_echo "$with_sysroot" >&6; }
6842 as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
6843 ;;
6844 esac
6845
6846 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
6847 $as_echo "${lt_sysroot:-no}" >&6; }
6848
6849
6850
6851
6852
6853 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
6854 $as_echo_n "checking for a working dd... " >&6; }
6855 if ${ac_cv_path_lt_DD+:} false; then :
6856 $as_echo_n "(cached) " >&6
6857 else
6858 printf 0123456789abcdef0123456789abcdef >conftest.i
6859 cat conftest.i conftest.i >conftest2.i
6860 : ${lt_DD:=$DD}
6861 if test -z "$lt_DD"; then
6862 ac_path_lt_DD_found=false
6863 # Loop through the user's path and test for each of PROGNAME-LIST
6864 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6865 for as_dir in $PATH
6866 do
6867 IFS=$as_save_IFS
6868 test -z "$as_dir" && as_dir=.
6869 for ac_prog in dd; do
6870 for ac_exec_ext in '' $ac_executable_extensions; do
6871 ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
6872 as_fn_executable_p "$ac_path_lt_DD" || continue
6873 if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
6874 cmp -s conftest.i conftest.out \
6875 && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
6876 fi
6877 $ac_path_lt_DD_found && break 3
6878 done
6879 done
6880 done
6881 IFS=$as_save_IFS
6882 if test -z "$ac_cv_path_lt_DD"; then
6883 :
6884 fi
6885 else
6886 ac_cv_path_lt_DD=$lt_DD
6887 fi
6888
6889 rm -f conftest.i conftest2.i conftest.out
6890 fi
6891 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
6892 $as_echo "$ac_cv_path_lt_DD" >&6; }
6893
6894
6895 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
6896 $as_echo_n "checking how to truncate binary pipes... " >&6; }
6897 if ${lt_cv_truncate_bin+:} false; then :
6898 $as_echo_n "(cached) " >&6
6899 else
6900 printf 0123456789abcdef0123456789abcdef >conftest.i
6901 cat conftest.i conftest.i >conftest2.i
6902 lt_cv_truncate_bin=
6903 if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
6904 cmp -s conftest.i conftest.out \
6905 && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
6906 fi
6907 rm -f conftest.i conftest2.i conftest.out
6908 test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
6909 fi
6910 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
6911 $as_echo "$lt_cv_truncate_bin" >&6; }
6912
6913
6914
6915
6916
6917
6918
6919 # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
6920 func_cc_basename ()
6921 {
6922 for cc_temp in $*""; do
6923 case $cc_temp in
6924 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
6925 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
6926 \-*) ;;
6927 *) break;;
6928 esac
6929 done
6930 func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
6931 }
6932
6933 # Check whether --enable-libtool-lock was given.
6934 if test "${enable_libtool_lock+set}" = set; then :
6935 enableval=$enable_libtool_lock;
6936 fi
6937
6938 test no = "$enable_libtool_lock" || enable_libtool_lock=yes
6939
6940 # Some flags need to be propagated to the compiler or linker for good
6941 # libtool support.
6942 case $host in
6943 ia64-*-hpux*)
6944 # Find out what ABI is being produced by ac_compile, and set mode
6945 # options accordingly.
6946 echo 'int i;' > conftest.$ac_ext
6947 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
6948 (eval $ac_compile) 2>&5
6949 ac_status=$?
6950 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
6951 test $ac_status = 0; }; then
6952 case `/usr/bin/file conftest.$ac_objext` in
6953 *ELF-32*)
6954 HPUX_IA64_MODE=32
6955 ;;
6956 *ELF-64*)
6957 HPUX_IA64_MODE=64
6958 ;;
6959 esac
6960 fi
6961 rm -rf conftest*
6962 ;;
6963 *-*-irix6*)
6964 # Find out what ABI is being produced by ac_compile, and set linker
6965 # options accordingly.
6966 echo '#line '$LINENO' "configure"' > conftest.$ac_ext
6967 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
6968 (eval $ac_compile) 2>&5
6969 ac_status=$?
6970 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
6971 test $ac_status = 0; }; then
6972 if test yes = "$lt_cv_prog_gnu_ld"; then
6973 case `/usr/bin/file conftest.$ac_objext` in
6974 *32-bit*)
6975 LD="${LD-ld} -melf32bsmip"
6976 ;;
6977 *N32*)
6978 LD="${LD-ld} -melf32bmipn32"
6979 ;;
6980 *64-bit*)
6981 LD="${LD-ld} -melf64bmip"
6982 ;;
6983 esac
6984 else
6985 case `/usr/bin/file conftest.$ac_objext` in
6986 *32-bit*)
6987 LD="${LD-ld} -32"
6988 ;;
6989 *N32*)
6990 LD="${LD-ld} -n32"
6991 ;;
6992 *64-bit*)
6993 LD="${LD-ld} -64"
6994 ;;
6995 esac
6996 fi
6997 fi
6998 rm -rf conftest*
6999 ;;
7000
7001 mips64*-*linux*)
7002 # Find out what ABI is being produced by ac_compile, and set linker
7003 # options accordingly.
7004 echo '#line '$LINENO' "configure"' > conftest.$ac_ext
7005 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
7006 (eval $ac_compile) 2>&5
7007 ac_status=$?
7008 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
7009 test $ac_status = 0; }; then
7010 emul=elf
7011 case `/usr/bin/file conftest.$ac_objext` in
7012 *32-bit*)
7013 emul="${emul}32"
7014 ;;
7015 *64-bit*)
7016 emul="${emul}64"
7017 ;;
7018 esac
7019 case `/usr/bin/file conftest.$ac_objext` in
7020 *MSB*)
7021 emul="${emul}btsmip"
7022 ;;
7023 *LSB*)
7024 emul="${emul}ltsmip"
7025 ;;
7026 esac
7027 case `/usr/bin/file conftest.$ac_objext` in
7028 *N32*)
7029 emul="${emul}n32"
7030 ;;
7031 esac
7032 LD="${LD-ld} -m $emul"
7033 fi
7034 rm -rf conftest*
7035 ;;
7036
7037 x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
7038 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
7039 # Find out what ABI is being produced by ac_compile, and set linker
7040 # options accordingly. Note that the listed cases only cover the
7041 # situations where additional linker options are needed (such as when
7042 # doing 32-bit compilation for a host where ld defaults to 64-bit, or
7043 # vice versa); the common cases where no linker options are needed do
7044 # not appear in the list.
7045 echo 'int i;' > conftest.$ac_ext
7046 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
7047 (eval $ac_compile) 2>&5
7048 ac_status=$?
7049 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
7050 test $ac_status = 0; }; then
7051 case `/usr/bin/file conftest.o` in
7052 *32-bit*)
7053 case $host in
7054 x86_64-*kfreebsd*-gnu)
7055 LD="${LD-ld} -m elf_i386_fbsd"
7056 ;;
7057 x86_64-*linux*)
7058 case `/usr/bin/file conftest.o` in
7059 *x86-64*)
7060 LD="${LD-ld} -m elf32_x86_64"
7061 ;;
7062 *)
7063 LD="${LD-ld} -m elf_i386"
7064 ;;
7065 esac
7066 ;;
7067 powerpc64le-*linux*)
7068 LD="${LD-ld} -m elf32lppclinux"
7069 ;;
7070 powerpc64-*linux*)
7071 LD="${LD-ld} -m elf32ppclinux"
7072 ;;
7073 s390x-*linux*)
7074 LD="${LD-ld} -m elf_s390"
7075 ;;
7076 sparc64-*linux*)
7077 LD="${LD-ld} -m elf32_sparc"
7078 ;;
7079 esac
7080 ;;
7081 *64-bit*)
7082 case $host in
7083 x86_64-*kfreebsd*-gnu)
7084 LD="${LD-ld} -m elf_x86_64_fbsd"
7085 ;;
7086 x86_64-*linux*)
7087 LD="${LD-ld} -m elf_x86_64"
7088 ;;
7089 powerpcle-*linux*)
7090 LD="${LD-ld} -m elf64lppc"
7091 ;;
7092 powerpc-*linux*)
7093 LD="${LD-ld} -m elf64ppc"
7094 ;;
7095 s390*-*linux*|s390*-*tpf*)
7096 LD="${LD-ld} -m elf64_s390"
7097 ;;
7098 sparc*-*linux*)
7099 LD="${LD-ld} -m elf64_sparc"
7100 ;;
7101 esac
7102 ;;
7103 esac
7104 fi
7105 rm -rf conftest*
7106 ;;
7107
7108 *-*-sco3.2v5*)
7109 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
7110 SAVE_CFLAGS=$CFLAGS
7111 CFLAGS="$CFLAGS -belf"
7112 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
7113 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
7114 if ${lt_cv_cc_needs_belf+:} false; then :
7115 $as_echo_n "(cached) " >&6
7116 else
7117 ac_ext=c
7118 ac_cpp='$CPP $CPPFLAGS'
7119 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
7120 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
7121 ac_compiler_gnu=$ac_cv_c_compiler_gnu
7122
7123 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7124 /* end confdefs.h. */
7125
7126 int
7127 main ()
7128 {
7129
7130 ;
7131 return 0;
7132 }
7133 _ACEOF
7134 if ac_fn_c_try_link "$LINENO"; then :
7135 lt_cv_cc_needs_belf=yes
7136 else
7137 lt_cv_cc_needs_belf=no
7138 fi
7139 rm -f core conftest.err conftest.$ac_objext \
7140 conftest$ac_exeext conftest.$ac_ext
7141 ac_ext=c
7142 ac_cpp='$CPP $CPPFLAGS'
7143 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
7144 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
7145 ac_compiler_gnu=$ac_cv_c_compiler_gnu
7146
7147 fi
7148 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
7149 $as_echo "$lt_cv_cc_needs_belf" >&6; }
7150 if test yes != "$lt_cv_cc_needs_belf"; then
7151 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
7152 CFLAGS=$SAVE_CFLAGS
7153 fi
7154 ;;
7155 *-*solaris*)
7156 # Find out what ABI is being produced by ac_compile, and set linker
7157 # options accordingly.
7158 echo 'int i;' > conftest.$ac_ext
7159 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
7160 (eval $ac_compile) 2>&5
7161 ac_status=$?
7162 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
7163 test $ac_status = 0; }; then
7164 case `/usr/bin/file conftest.o` in
7165 *64-bit*)
7166 case $lt_cv_prog_gnu_ld in
7167 yes*)
7168 case $host in
7169 i?86-*-solaris*|x86_64-*-solaris*)
7170 LD="${LD-ld} -m elf_x86_64"
7171 ;;
7172 sparc*-*-solaris*)
7173 LD="${LD-ld} -m elf64_sparc"
7174 ;;
7175 esac
7176 # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
7177 if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
7178 LD=${LD-ld}_sol2
7179 fi
7180 ;;
7181 *)
7182 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
7183 LD="${LD-ld} -64"
7184 fi
7185 ;;
7186 esac
7187 ;;
7188 esac
7189 fi
7190 rm -rf conftest*
7191 ;;
7192 esac
7193
7194 need_locks=$enable_libtool_lock
7195
7196 if test -n "$ac_tool_prefix"; then
7197 # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
7198 set dummy ${ac_tool_prefix}mt; ac_word=$2
7199 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7200 $as_echo_n "checking for $ac_word... " >&6; }
7201 if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
7202 $as_echo_n "(cached) " >&6
7203 else
7204 if test -n "$MANIFEST_TOOL"; then
7205 ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
7206 else
7207 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7208 for as_dir in $PATH
7209 do
7210 IFS=$as_save_IFS
7211 test -z "$as_dir" && as_dir=.
7212 for ac_exec_ext in '' $ac_executable_extensions; do
7213 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
7214 ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
7215 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7216 break 2
7217 fi
7218 done
7219 done
7220 IFS=$as_save_IFS
7221
7222 fi
7223 fi
7224 MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
7225 if test -n "$MANIFEST_TOOL"; then
7226 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
7227 $as_echo "$MANIFEST_TOOL" >&6; }
7228 else
7229 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7230 $as_echo "no" >&6; }
7231 fi
7232
7233
7234 fi
7235 if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
7236 ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
7237 # Extract the first word of "mt", so it can be a program name with args.
7238 set dummy mt; ac_word=$2
7239 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7240 $as_echo_n "checking for $ac_word... " >&6; }
7241 if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
7242 $as_echo_n "(cached) " >&6
7243 else
7244 if test -n "$ac_ct_MANIFEST_TOOL"; then
7245 ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
7246 else
7247 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7248 for as_dir in $PATH
7249 do
7250 IFS=$as_save_IFS
7251 test -z "$as_dir" && as_dir=.
7252 for ac_exec_ext in '' $ac_executable_extensions; do
7253 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
7254 ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
7255 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7256 break 2
7257 fi
7258 done
7259 done
7260 IFS=$as_save_IFS
7261
7262 fi
7263 fi
7264 ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
7265 if test -n "$ac_ct_MANIFEST_TOOL"; then
7266 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
7267 $as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
7268 else
7269 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7270 $as_echo "no" >&6; }
7271 fi
7272
7273 if test "x$ac_ct_MANIFEST_TOOL" = x; then
7274 MANIFEST_TOOL=":"
7275 else
7276 case $cross_compiling:$ac_tool_warned in
7277 yes:)
7278 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
7279 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
7280 ac_tool_warned=yes ;;
7281 esac
7282 MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
7283 fi
7284 else
7285 MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
7286 fi
7287
7288 test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
7289 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
7290 $as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
7291 if ${lt_cv_path_mainfest_tool+:} false; then :
7292 $as_echo_n "(cached) " >&6
7293 else
7294 lt_cv_path_mainfest_tool=no
7295 echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
7296 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
7297 cat conftest.err >&5
7298 if $GREP 'Manifest Tool' conftest.out > /dev/null; then
7299 lt_cv_path_mainfest_tool=yes
7300 fi
7301 rm -f conftest*
7302 fi
7303 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
7304 $as_echo "$lt_cv_path_mainfest_tool" >&6; }
7305 if test yes != "$lt_cv_path_mainfest_tool"; then
7306 MANIFEST_TOOL=:
7307 fi
7308
7309
7310
7311
7312
7313
7314 case $host_os in
7315 rhapsody* | darwin*)
7316 if test -n "$ac_tool_prefix"; then
7317 # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
7318 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
7319 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7320 $as_echo_n "checking for $ac_word... " >&6; }
7321 if ${ac_cv_prog_DSYMUTIL+:} false; then :
7322 $as_echo_n "(cached) " >&6
7323 else
7324 if test -n "$DSYMUTIL"; then
7325 ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
7326 else
7327 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7328 for as_dir in $PATH
7329 do
7330 IFS=$as_save_IFS
7331 test -z "$as_dir" && as_dir=.
7332 for ac_exec_ext in '' $ac_executable_extensions; do
7333 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
7334 ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
7335 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7336 break 2
7337 fi
7338 done
7339 done
7340 IFS=$as_save_IFS
7341
7342 fi
7343 fi
7344 DSYMUTIL=$ac_cv_prog_DSYMUTIL
7345 if test -n "$DSYMUTIL"; then
7346 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
7347 $as_echo "$DSYMUTIL" >&6; }
7348 else
7349 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7350 $as_echo "no" >&6; }
7351 fi
7352
7353
7354 fi
7355 if test -z "$ac_cv_prog_DSYMUTIL"; then
7356 ac_ct_DSYMUTIL=$DSYMUTIL
7357 # Extract the first word of "dsymutil", so it can be a program name with args.
7358 set dummy dsymutil; ac_word=$2
7359 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7360 $as_echo_n "checking for $ac_word... " >&6; }
7361 if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
7362 $as_echo_n "(cached) " >&6
7363 else
7364 if test -n "$ac_ct_DSYMUTIL"; then
7365 ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
7366 else
7367 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7368 for as_dir in $PATH
7369 do
7370 IFS=$as_save_IFS
7371 test -z "$as_dir" && as_dir=.
7372 for ac_exec_ext in '' $ac_executable_extensions; do
7373 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
7374 ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
7375 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7376 break 2
7377 fi
7378 done
7379 done
7380 IFS=$as_save_IFS
7381
7382 fi
7383 fi
7384 ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
7385 if test -n "$ac_ct_DSYMUTIL"; then
7386 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
7387 $as_echo "$ac_ct_DSYMUTIL" >&6; }
7388 else
7389 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7390 $as_echo "no" >&6; }
7391 fi
7392
7393 if test "x$ac_ct_DSYMUTIL" = x; then
7394 DSYMUTIL=":"
7395 else
7396 case $cross_compiling:$ac_tool_warned in
7397 yes:)
7398 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
7399 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
7400 ac_tool_warned=yes ;;
7401 esac
7402 DSYMUTIL=$ac_ct_DSYMUTIL
7403 fi
7404 else
7405 DSYMUTIL="$ac_cv_prog_DSYMUTIL"
7406 fi
7407
7408 if test -n "$ac_tool_prefix"; then
7409 # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
7410 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
7411 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7412 $as_echo_n "checking for $ac_word... " >&6; }
7413 if ${ac_cv_prog_NMEDIT+:} false; then :
7414 $as_echo_n "(cached) " >&6
7415 else
7416 if test -n "$NMEDIT"; then
7417 ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
7418 else
7419 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7420 for as_dir in $PATH
7421 do
7422 IFS=$as_save_IFS
7423 test -z "$as_dir" && as_dir=.
7424 for ac_exec_ext in '' $ac_executable_extensions; do
7425 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
7426 ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
7427 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7428 break 2
7429 fi
7430 done
7431 done
7432 IFS=$as_save_IFS
7433
7434 fi
7435 fi
7436 NMEDIT=$ac_cv_prog_NMEDIT
7437 if test -n "$NMEDIT"; then
7438 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
7439 $as_echo "$NMEDIT" >&6; }
7440 else
7441 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7442 $as_echo "no" >&6; }
7443 fi
7444
7445
7446 fi
7447 if test -z "$ac_cv_prog_NMEDIT"; then
7448 ac_ct_NMEDIT=$NMEDIT
7449 # Extract the first word of "nmedit", so it can be a program name with args.
7450 set dummy nmedit; ac_word=$2
7451 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7452 $as_echo_n "checking for $ac_word... " >&6; }
7453 if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
7454 $as_echo_n "(cached) " >&6
7455 else
7456 if test -n "$ac_ct_NMEDIT"; then
7457 ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
7458 else
7459 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7460 for as_dir in $PATH
7461 do
7462 IFS=$as_save_IFS
7463 test -z "$as_dir" && as_dir=.
7464 for ac_exec_ext in '' $ac_executable_extensions; do
7465 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
7466 ac_cv_prog_ac_ct_NMEDIT="nmedit"
7467 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7468 break 2
7469 fi
7470 done
7471 done
7472 IFS=$as_save_IFS
7473
7474 fi
7475 fi
7476 ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
7477 if test -n "$ac_ct_NMEDIT"; then
7478 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
7479 $as_echo "$ac_ct_NMEDIT" >&6; }
7480 else
7481 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7482 $as_echo "no" >&6; }
7483 fi
7484
7485 if test "x$ac_ct_NMEDIT" = x; then
7486 NMEDIT=":"
7487 else
7488 case $cross_compiling:$ac_tool_warned in
7489 yes:)
7490 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
7491 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
7492 ac_tool_warned=yes ;;
7493 esac
7494 NMEDIT=$ac_ct_NMEDIT
7495 fi
7496 else
7497 NMEDIT="$ac_cv_prog_NMEDIT"
7498 fi
7499
7500 if test -n "$ac_tool_prefix"; then
7501 # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
7502 set dummy ${ac_tool_prefix}lipo; ac_word=$2
7503 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7504 $as_echo_n "checking for $ac_word... " >&6; }
7505 if ${ac_cv_prog_LIPO+:} false; then :
7506 $as_echo_n "(cached) " >&6
7507 else
7508 if test -n "$LIPO"; then
7509 ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
7510 else
7511 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7512 for as_dir in $PATH
7513 do
7514 IFS=$as_save_IFS
7515 test -z "$as_dir" && as_dir=.
7516 for ac_exec_ext in '' $ac_executable_extensions; do
7517 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
7518 ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
7519 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7520 break 2
7521 fi
7522 done
7523 done
7524 IFS=$as_save_IFS
7525
7526 fi
7527 fi
7528 LIPO=$ac_cv_prog_LIPO
7529 if test -n "$LIPO"; then
7530 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
7531 $as_echo "$LIPO" >&6; }
7532 else
7533 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7534 $as_echo "no" >&6; }
7535 fi
7536
7537
7538 fi
7539 if test -z "$ac_cv_prog_LIPO"; then
7540 ac_ct_LIPO=$LIPO
7541 # Extract the first word of "lipo", so it can be a program name with args.
7542 set dummy lipo; ac_word=$2
7543 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7544 $as_echo_n "checking for $ac_word... " >&6; }
7545 if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
7546 $as_echo_n "(cached) " >&6
7547 else
7548 if test -n "$ac_ct_LIPO"; then
7549 ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
7550 else
7551 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7552 for as_dir in $PATH
7553 do
7554 IFS=$as_save_IFS
7555 test -z "$as_dir" && as_dir=.
7556 for ac_exec_ext in '' $ac_executable_extensions; do
7557 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
7558 ac_cv_prog_ac_ct_LIPO="lipo"
7559 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7560 break 2
7561 fi
7562 done
7563 done
7564 IFS=$as_save_IFS
7565
7566 fi
7567 fi
7568 ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
7569 if test -n "$ac_ct_LIPO"; then
7570 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
7571 $as_echo "$ac_ct_LIPO" >&6; }
7572 else
7573 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7574 $as_echo "no" >&6; }
7575 fi
7576
7577 if test "x$ac_ct_LIPO" = x; then
7578 LIPO=":"
7579 else
7580 case $cross_compiling:$ac_tool_warned in
7581 yes:)
7582 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
7583 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
7584 ac_tool_warned=yes ;;
7585 esac
7586 LIPO=$ac_ct_LIPO
7587 fi
7588 else
7589 LIPO="$ac_cv_prog_LIPO"
7590 fi
7591
7592 if test -n "$ac_tool_prefix"; then
7593 # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
7594 set dummy ${ac_tool_prefix}otool; ac_word=$2
7595 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7596 $as_echo_n "checking for $ac_word... " >&6; }
7597 if ${ac_cv_prog_OTOOL+:} false; then :
7598 $as_echo_n "(cached) " >&6
7599 else
7600 if test -n "$OTOOL"; then
7601 ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
7602 else
7603 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7604 for as_dir in $PATH
7605 do
7606 IFS=$as_save_IFS
7607 test -z "$as_dir" && as_dir=.
7608 for ac_exec_ext in '' $ac_executable_extensions; do
7609 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
7610 ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
7611 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7612 break 2
7613 fi
7614 done
7615 done
7616 IFS=$as_save_IFS
7617
7618 fi
7619 fi
7620 OTOOL=$ac_cv_prog_OTOOL
7621 if test -n "$OTOOL"; then
7622 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
7623 $as_echo "$OTOOL" >&6; }
7624 else
7625 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7626 $as_echo "no" >&6; }
7627 fi
7628
7629
7630 fi
7631 if test -z "$ac_cv_prog_OTOOL"; then
7632 ac_ct_OTOOL=$OTOOL
7633 # Extract the first word of "otool", so it can be a program name with args.
7634 set dummy otool; ac_word=$2
7635 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7636 $as_echo_n "checking for $ac_word... " >&6; }
7637 if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
7638 $as_echo_n "(cached) " >&6
7639 else
7640 if test -n "$ac_ct_OTOOL"; then
7641 ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
7642 else
7643 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7644 for as_dir in $PATH
7645 do
7646 IFS=$as_save_IFS
7647 test -z "$as_dir" && as_dir=.
7648 for ac_exec_ext in '' $ac_executable_extensions; do
7649 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
7650 ac_cv_prog_ac_ct_OTOOL="otool"
7651 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7652 break 2
7653 fi
7654 done
7655 done
7656 IFS=$as_save_IFS
7657
7658 fi
7659 fi
7660 ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
7661 if test -n "$ac_ct_OTOOL"; then
7662 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
7663 $as_echo "$ac_ct_OTOOL" >&6; }
7664 else
7665 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7666 $as_echo "no" >&6; }
7667 fi
7668
7669 if test "x$ac_ct_OTOOL" = x; then
7670 OTOOL=":"
7671 else
7672 case $cross_compiling:$ac_tool_warned in
7673 yes:)
7674 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
7675 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
7676 ac_tool_warned=yes ;;
7677 esac
7678 OTOOL=$ac_ct_OTOOL
7679 fi
7680 else
7681 OTOOL="$ac_cv_prog_OTOOL"
7682 fi
7683
7684 if test -n "$ac_tool_prefix"; then
7685 # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
7686 set dummy ${ac_tool_prefix}otool64; ac_word=$2
7687 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7688 $as_echo_n "checking for $ac_word... " >&6; }
7689 if ${ac_cv_prog_OTOOL64+:} false; then :
7690 $as_echo_n "(cached) " >&6
7691 else
7692 if test -n "$OTOOL64"; then
7693 ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
7694 else
7695 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7696 for as_dir in $PATH
7697 do
7698 IFS=$as_save_IFS
7699 test -z "$as_dir" && as_dir=.
7700 for ac_exec_ext in '' $ac_executable_extensions; do
7701 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
7702 ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
7703 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7704 break 2
7705 fi
7706 done
7707 done
7708 IFS=$as_save_IFS
7709
7710 fi
7711 fi
7712 OTOOL64=$ac_cv_prog_OTOOL64
7713 if test -n "$OTOOL64"; then
7714 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
7715 $as_echo "$OTOOL64" >&6; }
7716 else
7717 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7718 $as_echo "no" >&6; }
7719 fi
7720
7721
7722 fi
7723 if test -z "$ac_cv_prog_OTOOL64"; then
7724 ac_ct_OTOOL64=$OTOOL64
7725 # Extract the first word of "otool64", so it can be a program name with args.
7726 set dummy otool64; ac_word=$2
7727 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7728 $as_echo_n "checking for $ac_word... " >&6; }
7729 if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
7730 $as_echo_n "(cached) " >&6
7731 else
7732 if test -n "$ac_ct_OTOOL64"; then
7733 ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
7734 else
7735 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7736 for as_dir in $PATH
7737 do
7738 IFS=$as_save_IFS
7739 test -z "$as_dir" && as_dir=.
7740 for ac_exec_ext in '' $ac_executable_extensions; do
7741 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
7742 ac_cv_prog_ac_ct_OTOOL64="otool64"
7743 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7744 break 2
7745 fi
7746 done
7747 done
7748 IFS=$as_save_IFS
7749
7750 fi
7751 fi
7752 ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
7753 if test -n "$ac_ct_OTOOL64"; then
7754 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
7755 $as_echo "$ac_ct_OTOOL64" >&6; }
7756 else
7757 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7758 $as_echo "no" >&6; }
7759 fi
7760
7761 if test "x$ac_ct_OTOOL64" = x; then
7762 OTOOL64=":"
7763 else
7764 case $cross_compiling:$ac_tool_warned in
7765 yes:)
7766 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
7767 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
7768 ac_tool_warned=yes ;;
7769 esac
7770 OTOOL64=$ac_ct_OTOOL64
7771 fi
7772 else
7773 OTOOL64="$ac_cv_prog_OTOOL64"
7774 fi
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
7803 $as_echo_n "checking for -single_module linker flag... " >&6; }
7804 if ${lt_cv_apple_cc_single_mod+:} false; then :
7805 $as_echo_n "(cached) " >&6
7806 else
7807 lt_cv_apple_cc_single_mod=no
7808 if test -z "$LT_MULTI_MODULE"; then
7809 # By default we will add the -single_module flag. You can override
7810 # by either setting the environment variable LT_MULTI_MODULE
7811 # non-empty at configure time, or by adding -multi_module to the
7812 # link flags.
7813 rm -rf libconftest.dylib*
7814 echo "int foo(void){return 1;}" > conftest.c
7815 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
7816 -dynamiclib -Wl,-single_module conftest.c" >&5
7817 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
7818 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
7819 _lt_result=$?
7820 # If there is a non-empty error log, and "single_module"
7821 # appears in it, assume the flag caused a linker warning
7822 if test -s conftest.err && $GREP single_module conftest.err; then
7823 cat conftest.err >&5
7824 # Otherwise, if the output was created with a 0 exit code from
7825 # the compiler, it worked.
7826 elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
7827 lt_cv_apple_cc_single_mod=yes
7828 else
7829 cat conftest.err >&5
7830 fi
7831 rm -rf libconftest.dylib*
7832 rm -f conftest.*
7833 fi
7834 fi
7835 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
7836 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
7837
7838 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
7839 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
7840 if ${lt_cv_ld_exported_symbols_list+:} false; then :
7841 $as_echo_n "(cached) " >&6
7842 else
7843 lt_cv_ld_exported_symbols_list=no
7844 save_LDFLAGS=$LDFLAGS
7845 echo "_main" > conftest.sym
7846 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
7847 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7848 /* end confdefs.h. */
7849
7850 int
7851 main ()
7852 {
7853
7854 ;
7855 return 0;
7856 }
7857 _ACEOF
7858 if ac_fn_c_try_link "$LINENO"; then :
7859 lt_cv_ld_exported_symbols_list=yes
7860 else
7861 lt_cv_ld_exported_symbols_list=no
7862 fi
7863 rm -f core conftest.err conftest.$ac_objext \
7864 conftest$ac_exeext conftest.$ac_ext
7865 LDFLAGS=$save_LDFLAGS
7866
7867 fi
7868 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
7869 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
7870
7871 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
7872 $as_echo_n "checking for -force_load linker flag... " >&6; }
7873 if ${lt_cv_ld_force_load+:} false; then :
7874 $as_echo_n "(cached) " >&6
7875 else
7876 lt_cv_ld_force_load=no
7877 cat > conftest.c << _LT_EOF
7878 int forced_loaded() { return 2;}
7879 _LT_EOF
7880 echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
7881 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
7882 echo "$AR cr libconftest.a conftest.o" >&5
7883 $AR cr libconftest.a conftest.o 2>&5
7884 echo "$RANLIB libconftest.a" >&5
7885 $RANLIB libconftest.a 2>&5
7886 cat > conftest.c << _LT_EOF
7887 int main() { return 0;}
7888 _LT_EOF
7889 echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
7890 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
7891 _lt_result=$?
7892 if test -s conftest.err && $GREP force_load conftest.err; then
7893 cat conftest.err >&5
7894 elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
7895 lt_cv_ld_force_load=yes
7896 else
7897 cat conftest.err >&5
7898 fi
7899 rm -f conftest.err libconftest.a conftest conftest.c
7900 rm -rf conftest.dSYM
7901
7902 fi
7903 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
7904 $as_echo "$lt_cv_ld_force_load" >&6; }
7905 case $host_os in
7906 rhapsody* | darwin1.[012])
7907 _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
7908 darwin1.*)
7909 _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
7910 darwin*) # darwin 5.x on
7911 # if running on 10.5 or later, the deployment target defaults
7912 # to the OS version, if on x86, and 10.4, the deployment
7913 # target defaults to 10.4. Don't you love it?
7914 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
7915 10.0,*86*-darwin8*|10.0,*-darwin[912]*)
7916 _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
7917 10.[012][,.]*)
7918 _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
7919 10.*|11.*)
7920 _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
7921 esac
7922 ;;
7923 esac
7924 if test yes = "$lt_cv_apple_cc_single_mod"; then
7925 _lt_dar_single_mod='$single_module'
7926 fi
7927 if test yes = "$lt_cv_ld_exported_symbols_list"; then
7928 _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
7929 else
7930 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
7931 fi
7932 if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
7933 _lt_dsymutil='~$DSYMUTIL $lib || :'
7934 else
7935 _lt_dsymutil=
7936 fi
7937 ;;
7938 esac
7939
7940 # func_munge_path_list VARIABLE PATH
7941 # -----------------------------------
7942 # VARIABLE is name of variable containing _space_ separated list of
7943 # directories to be munged by the contents of PATH, which is string
7944 # having a format:
7945 # "DIR[:DIR]:"
7946 # string "DIR[ DIR]" will be prepended to VARIABLE
7947 # ":DIR[:DIR]"
7948 # string "DIR[ DIR]" will be appended to VARIABLE
7949 # "DIRP[:DIRP]::[DIRA:]DIRA"
7950 # string "DIRP[ DIRP]" will be prepended to VARIABLE and string
7951 # "DIRA[ DIRA]" will be appended to VARIABLE
7952 # "DIR[:DIR]"
7953 # VARIABLE will be replaced by "DIR[ DIR]"
7954 func_munge_path_list ()
7955 {
7956 case x$2 in
7957 x)
7958 ;;
7959 *:)
7960 eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
7961 ;;
7962 x:*)
7963 eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
7964 ;;
7965 *::*)
7966 eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
7967 eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
7968 ;;
7969 *)
7970 eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
7971 ;;
7972 esac
7973 }
7974
7975 ac_ext=c
7976 ac_cpp='$CPP $CPPFLAGS'
7977 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
7978 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
7979 ac_compiler_gnu=$ac_cv_c_compiler_gnu
7980 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
7981 $as_echo_n "checking how to run the C preprocessor... " >&6; }
7982 # On Suns, sometimes $CPP names a directory.
7983 if test -n "$CPP" && test -d "$CPP"; then
7984 CPP=
7985 fi
7986 if test -z "$CPP"; then
7987 if ${ac_cv_prog_CPP+:} false; then :
7988 $as_echo_n "(cached) " >&6
7989 else
7990 # Double quotes because CPP needs to be expanded
7991 for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
7992 do
7993 ac_preproc_ok=false
7994 for ac_c_preproc_warn_flag in '' yes
7995 do
7996 # Use a header file that comes with gcc, so configuring glibc
7997 # with a fresh cross-compiler works.
7998 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
7999 # <limits.h> exists even on freestanding compilers.
8000 # On the NeXT, cc -E runs the code through the compiler's parser,
8001 # not just through cpp. "Syntax error" is here to catch this case.
8002 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8003 /* end confdefs.h. */
8004 #ifdef __STDC__
8005 # include <limits.h>
8006 #else
8007 # include <assert.h>
8008 #endif
8009 Syntax error
8010 _ACEOF
8011 if ac_fn_c_try_cpp "$LINENO"; then :
8012
8013 else
8014 # Broken: fails on valid input.
8015 continue
8016 fi
8017 rm -f conftest.err conftest.i conftest.$ac_ext
8018
8019 # OK, works on sane cases. Now check whether nonexistent headers
8020 # can be detected and how.
8021 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8022 /* end confdefs.h. */
8023 #include <ac_nonexistent.h>
8024 _ACEOF
8025 if ac_fn_c_try_cpp "$LINENO"; then :
8026 # Broken: success on invalid input.
8027 continue
8028 else
8029 # Passes both tests.
8030 ac_preproc_ok=:
8031 break
8032 fi
8033 rm -f conftest.err conftest.i conftest.$ac_ext
8034
8035 done
8036 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
8037 rm -f conftest.i conftest.err conftest.$ac_ext
8038 if $ac_preproc_ok; then :
8039 break
8040 fi
8041
8042 done
8043 ac_cv_prog_CPP=$CPP
8044
8045 fi
8046 CPP=$ac_cv_prog_CPP
8047 else
8048 ac_cv_prog_CPP=$CPP
8049 fi
8050 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
8051 $as_echo "$CPP" >&6; }
8052 ac_preproc_ok=false
8053 for ac_c_preproc_warn_flag in '' yes
8054 do
8055 # Use a header file that comes with gcc, so configuring glibc
8056 # with a fresh cross-compiler works.
8057 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
8058 # <limits.h> exists even on freestanding compilers.
8059 # On the NeXT, cc -E runs the code through the compiler's parser,
8060 # not just through cpp. "Syntax error" is here to catch this case.
8061 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8062 /* end confdefs.h. */
8063 #ifdef __STDC__
8064 # include <limits.h>
8065 #else
8066 # include <assert.h>
8067 #endif
8068 Syntax error
8069 _ACEOF
8070 if ac_fn_c_try_cpp "$LINENO"; then :
8071
8072 else
8073 # Broken: fails on valid input.
8074 continue
8075 fi
8076 rm -f conftest.err conftest.i conftest.$ac_ext
8077
8078 # OK, works on sane cases. Now check whether nonexistent headers
8079 # can be detected and how.
8080 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8081 /* end confdefs.h. */
8082 #include <ac_nonexistent.h>
8083 _ACEOF
8084 if ac_fn_c_try_cpp "$LINENO"; then :
8085 # Broken: success on invalid input.
8086 continue
8087 else
8088 # Passes both tests.
8089 ac_preproc_ok=:
8090 break
8091 fi
8092 rm -f conftest.err conftest.i conftest.$ac_ext
8093
8094 done
8095 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
8096 rm -f conftest.i conftest.err conftest.$ac_ext
8097 if $ac_preproc_ok; then :
8098
8099 else
8100 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
8101 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
8102 as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
8103 See \`config.log' for more details" "$LINENO" 5; }
8104 fi
8105
8106 ac_ext=c
8107 ac_cpp='$CPP $CPPFLAGS'
8108 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
8109 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
8110 ac_compiler_gnu=$ac_cv_c_compiler_gnu
8111
8112
8113 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
8114 $as_echo_n "checking for ANSI C header files... " >&6; }
8115 if ${ac_cv_header_stdc+:} false; then :
8116 $as_echo_n "(cached) " >&6
8117 else
8118 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8119 /* end confdefs.h. */
8120 #include <stdlib.h>
8121 #include <stdarg.h>
8122 #include <string.h>
8123 #include <float.h>
8124
8125 int
8126 main ()
8127 {
8128
8129 ;
8130 return 0;
8131 }
8132 _ACEOF
8133 if ac_fn_c_try_compile "$LINENO"; then :
8134 ac_cv_header_stdc=yes
8135 else
8136 ac_cv_header_stdc=no
8137 fi
8138 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
8139
8140 if test $ac_cv_header_stdc = yes; then
8141 # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
8142 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8143 /* end confdefs.h. */
8144 #include <string.h>
8145
8146 _ACEOF
8147 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
8148 $EGREP "memchr" >/dev/null 2>&1; then :
8149
8150 else
8151 ac_cv_header_stdc=no
8152 fi
8153 rm -f conftest*
8154
8155 fi
8156
8157 if test $ac_cv_header_stdc = yes; then
8158 # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
8159 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8160 /* end confdefs.h. */
8161 #include <stdlib.h>
8162
8163 _ACEOF
8164 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
8165 $EGREP "free" >/dev/null 2>&1; then :
8166
8167 else
8168 ac_cv_header_stdc=no
8169 fi
8170 rm -f conftest*
8171
8172 fi
8173
8174 if test $ac_cv_header_stdc = yes; then
8175 # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
8176 if test "$cross_compiling" = yes; then :
8177 :
8178 else
8179 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8180 /* end confdefs.h. */
8181 #include <ctype.h>
8182 #include <stdlib.h>
8183 #if ((' ' & 0x0FF) == 0x020)
8184 # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
8185 # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
8186 #else
8187 # define ISLOWER(c) \
8188 (('a' <= (c) && (c) <= 'i') \
8189 || ('j' <= (c) && (c) <= 'r') \
8190 || ('s' <= (c) && (c) <= 'z'))
8191 # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
8192 #endif
8193
8194 #define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
8195 int
8196 main ()
8197 {
8198 int i;
8199 for (i = 0; i < 256; i++)
8200 if (XOR (islower (i), ISLOWER (i))
8201 || toupper (i) != TOUPPER (i))
8202 return 2;
8203 return 0;
8204 }
8205 _ACEOF
8206 if ac_fn_c_try_run "$LINENO"; then :
8207
8208 else
8209 ac_cv_header_stdc=no
8210 fi
8211 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
8212 conftest.$ac_objext conftest.beam conftest.$ac_ext
8213 fi
8214
8215 fi
8216 fi
8217 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
8218 $as_echo "$ac_cv_header_stdc" >&6; }
8219 if test $ac_cv_header_stdc = yes; then
8220
8221 $as_echo "#define STDC_HEADERS 1" >>confdefs.h
8222
8223 fi
8224
8225 # On IRIX 5.3, sys/types and inttypes.h are conflicting.
8226 for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
8227 inttypes.h stdint.h unistd.h
8228 do :
8229 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
8230 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
8231 "
8232 if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
8233 cat >>confdefs.h <<_ACEOF
8234 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
8235 _ACEOF
8236
8237 fi
8238
8239 done
8240
8241
8242 for ac_header in dlfcn.h
8243 do :
8244 ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
8245 "
8246 if test "x$ac_cv_header_dlfcn_h" = xyes; then :
8247 cat >>confdefs.h <<_ACEOF
8248 #define HAVE_DLFCN_H 1
8249 _ACEOF
8250
8251 fi
8252
8253 done
8254
8255
8256
8257
8258 func_stripname_cnf ()
8259 {
8260 case $2 in
8261 .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;;
8262 *) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;;
8263 esac
8264 } # func_stripname_cnf
8265
8266
8267
8268
8269
8270 # Set options
8271
8272
8273
8274 enable_dlopen=no
8275
8276
8277 enable_win32_dll=no
8278
8279
8280 # Check whether --enable-shared was given.
8281 if test "${enable_shared+set}" = set; then :
8282 enableval=$enable_shared; p=${PACKAGE-default}
8283 case $enableval in
8284 yes) enable_shared=yes ;;
8285 no) enable_shared=no ;;
8286 *)
8287 enable_shared=no
8288 # Look at the argument we got. We use all the common list separators.
8289 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
8290 for pkg in $enableval; do
8291 IFS=$lt_save_ifs
8292 if test "X$pkg" = "X$p"; then
8293 enable_shared=yes
8294 fi
8295 done
8296 IFS=$lt_save_ifs
8297 ;;
8298 esac
8299 else
8300 enable_shared=yes
8301 fi
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311 # Check whether --enable-static was given.
8312 if test "${enable_static+set}" = set; then :
8313 enableval=$enable_static; p=${PACKAGE-default}
8314 case $enableval in
8315 yes) enable_static=yes ;;
8316 no) enable_static=no ;;
8317 *)
8318 enable_static=no
8319 # Look at the argument we got. We use all the common list separators.
8320 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
8321 for pkg in $enableval; do
8322 IFS=$lt_save_ifs
8323 if test "X$pkg" = "X$p"; then
8324 enable_static=yes
8325 fi
8326 done
8327 IFS=$lt_save_ifs
8328 ;;
8329 esac
8330 else
8331 enable_static=yes
8332 fi
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343 # Check whether --with-pic was given.
8344 if test "${with_pic+set}" = set; then :
8345 withval=$with_pic; lt_p=${PACKAGE-default}
8346 case $withval in
8347 yes|no) pic_mode=$withval ;;
8348 *)
8349 pic_mode=default
8350 # Look at the argument we got. We use all the common list separators.
8351 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
8352 for lt_pkg in $withval; do
8353 IFS=$lt_save_ifs
8354 if test "X$lt_pkg" = "X$lt_p"; then
8355 pic_mode=yes
8356 fi
8357 done
8358 IFS=$lt_save_ifs
8359 ;;
8360 esac
8361 else
8362 pic_mode=default
8363 fi
8364
8365
8366
8367
8368
8369
8370
8371
8372 # Check whether --enable-fast-install was given.
8373 if test "${enable_fast_install+set}" = set; then :
8374 enableval=$enable_fast_install; p=${PACKAGE-default}
8375 case $enableval in
8376 yes) enable_fast_install=yes ;;
8377 no) enable_fast_install=no ;;
8378 *)
8379 enable_fast_install=no
8380 # Look at the argument we got. We use all the common list separators.
8381 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
8382 for pkg in $enableval; do
8383 IFS=$lt_save_ifs
8384 if test "X$pkg" = "X$p"; then
8385 enable_fast_install=yes
8386 fi
8387 done
8388 IFS=$lt_save_ifs
8389 ;;
8390 esac
8391 else
8392 enable_fast_install=yes
8393 fi
8394
8395
8396
8397
8398
8399
8400
8401
8402 shared_archive_member_spec=
8403 case $host,$enable_shared in
8404 power*-*-aix[5-9]*,yes)
8405 { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
8406 $as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
8407
8408 # Check whether --with-aix-soname was given.
8409 if test "${with_aix_soname+set}" = set; then :
8410 withval=$with_aix_soname; case $withval in
8411 aix|svr4|both)
8412 ;;
8413 *)
8414 as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
8415 ;;
8416 esac
8417 lt_cv_with_aix_soname=$with_aix_soname
8418 else
8419 if ${lt_cv_with_aix_soname+:} false; then :
8420 $as_echo_n "(cached) " >&6
8421 else
8422 lt_cv_with_aix_soname=aix
8423 fi
8424
8425 with_aix_soname=$lt_cv_with_aix_soname
8426 fi
8427
8428 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
8429 $as_echo "$with_aix_soname" >&6; }
8430 if test aix != "$with_aix_soname"; then
8431 # For the AIX way of multilib, we name the shared archive member
8432 # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
8433 # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
8434 # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
8435 # the AIX toolchain works better with OBJECT_MODE set (default 32).
8436 if test 64 = "${OBJECT_MODE-32}"; then
8437 shared_archive_member_spec=shr_64
8438 else
8439 shared_archive_member_spec=shr
8440 fi
8441 fi
8442 ;;
8443 *)
8444 with_aix_soname=aix
8445 ;;
8446 esac
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457 # This can be used to rebuild libtool when needed
8458 LIBTOOL_DEPS=$ltmain
8459
8460 # Always use our own libtool.
8461 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492 test -z "$LN_S" && LN_S="ln -s"
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507 if test -n "${ZSH_VERSION+set}"; then
8508 setopt NO_GLOB_SUBST
8509 fi
8510
8511 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
8512 $as_echo_n "checking for objdir... " >&6; }
8513 if ${lt_cv_objdir+:} false; then :
8514 $as_echo_n "(cached) " >&6
8515 else
8516 rm -f .libs 2>/dev/null
8517 mkdir .libs 2>/dev/null
8518 if test -d .libs; then
8519 lt_cv_objdir=.libs
8520 else
8521 # MS-DOS does not allow filenames that begin with a dot.
8522 lt_cv_objdir=_libs
8523 fi
8524 rmdir .libs 2>/dev/null
8525 fi
8526 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
8527 $as_echo "$lt_cv_objdir" >&6; }
8528 objdir=$lt_cv_objdir
8529
8530
8531
8532
8533
8534 cat >>confdefs.h <<_ACEOF
8535 #define LT_OBJDIR "$lt_cv_objdir/"
8536 _ACEOF
8537
8538
8539
8540
8541 case $host_os in
8542 aix3*)
8543 # AIX sometimes has problems with the GCC collect2 program. For some
8544 # reason, if we set the COLLECT_NAMES environment variable, the problems
8545 # vanish in a puff of smoke.
8546 if test set != "${COLLECT_NAMES+set}"; then
8547 COLLECT_NAMES=
8548 export COLLECT_NAMES
8549 fi
8550 ;;
8551 esac
8552
8553 # Global variables:
8554 ofile=libtool
8555 can_build_shared=yes
8556
8557 # All known linkers require a '.a' archive for static linking (except MSVC,
8558 # which needs '.lib').
8559 libext=a
8560
8561 with_gnu_ld=$lt_cv_prog_gnu_ld
8562
8563 old_CC=$CC
8564 old_CFLAGS=$CFLAGS
8565
8566 # Set sane defaults for various variables
8567 test -z "$CC" && CC=cc
8568 test -z "$LTCC" && LTCC=$CC
8569 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
8570 test -z "$LD" && LD=ld
8571 test -z "$ac_objext" && ac_objext=o
8572
8573 func_cc_basename $compiler
8574 cc_basename=$func_cc_basename_result
8575
8576
8577 # Only perform the check for file, if the check method requires it
8578 test -z "$MAGIC_CMD" && MAGIC_CMD=file
8579 case $deplibs_check_method in
8580 file_magic*)
8581 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
8582 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
8583 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
8584 if ${lt_cv_path_MAGIC_CMD+:} false; then :
8585 $as_echo_n "(cached) " >&6
8586 else
8587 case $MAGIC_CMD in
8588 [\\/*] | ?:[\\/]*)
8589 lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
8590 ;;
8591 *)
8592 lt_save_MAGIC_CMD=$MAGIC_CMD
8593 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
8594 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
8595 for ac_dir in $ac_dummy; do
8596 IFS=$lt_save_ifs
8597 test -z "$ac_dir" && ac_dir=.
8598 if test -f "$ac_dir/${ac_tool_prefix}file"; then
8599 lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"
8600 if test -n "$file_magic_test_file"; then
8601 case $deplibs_check_method in
8602 "file_magic "*)
8603 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
8604 MAGIC_CMD=$lt_cv_path_MAGIC_CMD
8605 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
8606 $EGREP "$file_magic_regex" > /dev/null; then
8607 :
8608 else
8609 cat <<_LT_EOF 1>&2
8610
8611 *** Warning: the command libtool uses to detect shared libraries,
8612 *** $file_magic_cmd, produces output that libtool cannot recognize.
8613 *** The result is that libtool may fail to recognize shared libraries
8614 *** as such. This will affect the creation of libtool libraries that
8615 *** depend on shared libraries, but programs linked with such libtool
8616 *** libraries will work regardless of this problem. Nevertheless, you
8617 *** may want to report the problem to your system manager and/or to
8618 *** bug-libtool@gnu.org
8619
8620 _LT_EOF
8621 fi ;;
8622 esac
8623 fi
8624 break
8625 fi
8626 done
8627 IFS=$lt_save_ifs
8628 MAGIC_CMD=$lt_save_MAGIC_CMD
8629 ;;
8630 esac
8631 fi
8632
8633 MAGIC_CMD=$lt_cv_path_MAGIC_CMD
8634 if test -n "$MAGIC_CMD"; then
8635 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
8636 $as_echo "$MAGIC_CMD" >&6; }
8637 else
8638 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
8639 $as_echo "no" >&6; }
8640 fi
8641
8642
8643
8644
8645
8646 if test -z "$lt_cv_path_MAGIC_CMD"; then
8647 if test -n "$ac_tool_prefix"; then
8648 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
8649 $as_echo_n "checking for file... " >&6; }
8650 if ${lt_cv_path_MAGIC_CMD+:} false; then :
8651 $as_echo_n "(cached) " >&6
8652 else
8653 case $MAGIC_CMD in
8654 [\\/*] | ?:[\\/]*)
8655 lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
8656 ;;
8657 *)
8658 lt_save_MAGIC_CMD=$MAGIC_CMD
8659 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
8660 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
8661 for ac_dir in $ac_dummy; do
8662 IFS=$lt_save_ifs
8663 test -z "$ac_dir" && ac_dir=.
8664 if test -f "$ac_dir/file"; then
8665 lt_cv_path_MAGIC_CMD=$ac_dir/"file"
8666 if test -n "$file_magic_test_file"; then
8667 case $deplibs_check_method in
8668 "file_magic "*)
8669 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
8670 MAGIC_CMD=$lt_cv_path_MAGIC_CMD
8671 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
8672 $EGREP "$file_magic_regex" > /dev/null; then
8673 :
8674 else
8675 cat <<_LT_EOF 1>&2
8676
8677 *** Warning: the command libtool uses to detect shared libraries,
8678 *** $file_magic_cmd, produces output that libtool cannot recognize.
8679 *** The result is that libtool may fail to recognize shared libraries
8680 *** as such. This will affect the creation of libtool libraries that
8681 *** depend on shared libraries, but programs linked with such libtool
8682 *** libraries will work regardless of this problem. Nevertheless, you
8683 *** may want to report the problem to your system manager and/or to
8684 *** bug-libtool@gnu.org
8685
8686 _LT_EOF
8687 fi ;;
8688 esac
8689 fi
8690 break
8691 fi
8692 done
8693 IFS=$lt_save_ifs
8694 MAGIC_CMD=$lt_save_MAGIC_CMD
8695 ;;
8696 esac
8697 fi
8698
8699 MAGIC_CMD=$lt_cv_path_MAGIC_CMD
8700 if test -n "$MAGIC_CMD"; then
8701 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
8702 $as_echo "$MAGIC_CMD" >&6; }
8703 else
8704 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
8705 $as_echo "no" >&6; }
8706 fi
8707
8708
8709 else
8710 MAGIC_CMD=:
8711 fi
8712 fi
8713
8714 fi
8715 ;;
8716 esac
8717
8718 # Use C for the default configuration in the libtool script
8719
8720 lt_save_CC=$CC
8721 ac_ext=c
8722 ac_cpp='$CPP $CPPFLAGS'
8723 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
8724 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
8725 ac_compiler_gnu=$ac_cv_c_compiler_gnu
8726
8727
8728 # Source file extension for C test sources.
8729 ac_ext=c
8730
8731 # Object file extension for compiled C test sources.
8732 objext=o
8733 objext=$objext
8734
8735 # Code to be used in simple compile tests
8736 lt_simple_compile_test_code="int some_variable = 0;"
8737
8738 # Code to be used in simple link tests
8739 lt_simple_link_test_code='int main(){return(0);}'
8740
8741
8742
8743
8744
8745
8746
8747 # If no C compiler was specified, use CC.
8748 LTCC=${LTCC-"$CC"}
8749
8750 # If no C compiler flags were specified, use CFLAGS.
8751 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
8752
8753 # Allow CC to be a program name with arguments.
8754 compiler=$CC
8755
8756 # Save the default compiler, since it gets overwritten when the other
8757 # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
8758 compiler_DEFAULT=$CC
8759
8760 # save warnings/boilerplate of simple test code
8761 ac_outfile=conftest.$ac_objext
8762 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
8763 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
8764 _lt_compiler_boilerplate=`cat conftest.err`
8765 $RM conftest*
8766
8767 ac_outfile=conftest.$ac_objext
8768 echo "$lt_simple_link_test_code" >conftest.$ac_ext
8769 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
8770 _lt_linker_boilerplate=`cat conftest.err`
8771 $RM -r conftest*
8772
8773
8774 ## CAVEAT EMPTOR:
8775 ## There is no encapsulation within the following macros, do not change
8776 ## the running order or otherwise move them around unless you know exactly
8777 ## what you are doing...
8778 if test -n "$compiler"; then
8779
8780 lt_prog_compiler_no_builtin_flag=
8781
8782 if test yes = "$GCC"; then
8783 case $cc_basename in
8784 nvcc*)
8785 lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
8786 *)
8787 lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
8788 esac
8789
8790 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
8791 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
8792 if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
8793 $as_echo_n "(cached) " >&6
8794 else
8795 lt_cv_prog_compiler_rtti_exceptions=no
8796 ac_outfile=conftest.$ac_objext
8797 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
8798 lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment
8799 # Insert the option either (1) after the last *FLAGS variable, or
8800 # (2) before a word containing "conftest.", or (3) at the end.
8801 # Note that $ac_compile itself does not contain backslashes and begins
8802 # with a dollar sign (not a hyphen), so the echo should work correctly.
8803 # The option is referenced via a variable to avoid confusing sed.
8804 lt_compile=`echo "$ac_compile" | $SED \
8805 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
8806 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
8807 -e 's:$: $lt_compiler_flag:'`
8808 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
8809 (eval "$lt_compile" 2>conftest.err)
8810 ac_status=$?
8811 cat conftest.err >&5
8812 echo "$as_me:$LINENO: \$? = $ac_status" >&5
8813 if (exit $ac_status) && test -s "$ac_outfile"; then
8814 # The compiler can only warn and ignore the option if not recognized
8815 # So say no if there are warnings other than the usual output.
8816 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
8817 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
8818 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
8819 lt_cv_prog_compiler_rtti_exceptions=yes
8820 fi
8821 fi
8822 $RM conftest*
8823
8824 fi
8825 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
8826 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
8827
8828 if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
8829 lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
8830 else
8831 :
8832 fi
8833
8834 fi
8835
8836
8837
8838
8839
8840
8841 lt_prog_compiler_wl=
8842 lt_prog_compiler_pic=
8843 lt_prog_compiler_static=
8844
8845
8846 if test yes = "$GCC"; then
8847 lt_prog_compiler_wl='-Wl,'
8848 lt_prog_compiler_static='-static'
8849
8850 case $host_os in
8851 aix*)
8852 # All AIX code is PIC.
8853 if test ia64 = "$host_cpu"; then
8854 # AIX 5 now supports IA64 processor
8855 lt_prog_compiler_static='-Bstatic'
8856 fi
8857 lt_prog_compiler_pic='-fPIC'
8858 ;;
8859
8860 amigaos*)
8861 case $host_cpu in
8862 powerpc)
8863 # see comment about AmigaOS4 .so support
8864 lt_prog_compiler_pic='-fPIC'
8865 ;;
8866 m68k)
8867 # FIXME: we need at least 68020 code to build shared libraries, but
8868 # adding the '-m68020' flag to GCC prevents building anything better,
8869 # like '-m68040'.
8870 lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
8871 ;;
8872 esac
8873 ;;
8874
8875 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
8876 # PIC is the default for these OSes.
8877 ;;
8878
8879 mingw* | cygwin* | pw32* | os2* | cegcc*)
8880 # This hack is so that the source file can tell whether it is being
8881 # built for inclusion in a dll (and should export symbols for example).
8882 # Although the cygwin gcc ignores -fPIC, still need this for old-style
8883 # (--disable-auto-import) libraries
8884 lt_prog_compiler_pic='-DDLL_EXPORT'
8885 case $host_os in
8886 os2*)
8887 lt_prog_compiler_static='$wl-static'
8888 ;;
8889 esac
8890 ;;
8891
8892 darwin* | rhapsody*)
8893 # PIC is the default on this platform
8894 # Common symbols not allowed in MH_DYLIB files
8895 lt_prog_compiler_pic='-fno-common'
8896 ;;
8897
8898 haiku*)
8899 # PIC is the default for Haiku.
8900 # The "-static" flag exists, but is broken.
8901 lt_prog_compiler_static=
8902 ;;
8903
8904 hpux*)
8905 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
8906 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
8907 # sets the default TLS model and affects inlining.
8908 case $host_cpu in
8909 hppa*64*)
8910 # +Z the default
8911 ;;
8912 *)
8913 lt_prog_compiler_pic='-fPIC'
8914 ;;
8915 esac
8916 ;;
8917
8918 interix[3-9]*)
8919 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
8920 # Instead, we relocate shared libraries at runtime.
8921 ;;
8922
8923 msdosdjgpp*)
8924 # Just because we use GCC doesn't mean we suddenly get shared libraries
8925 # on systems that don't support them.
8926 lt_prog_compiler_can_build_shared=no
8927 enable_shared=no
8928 ;;
8929
8930 *nto* | *qnx*)
8931 # QNX uses GNU C++, but need to define -shared option too, otherwise
8932 # it will coredump.
8933 lt_prog_compiler_pic='-fPIC -shared'
8934 ;;
8935
8936 sysv4*MP*)
8937 if test -d /usr/nec; then
8938 lt_prog_compiler_pic=-Kconform_pic
8939 fi
8940 ;;
8941
8942 *)
8943 lt_prog_compiler_pic='-fPIC'
8944 ;;
8945 esac
8946
8947 case $cc_basename in
8948 nvcc*) # Cuda Compiler Driver 2.2
8949 lt_prog_compiler_wl='-Xlinker '
8950 if test -n "$lt_prog_compiler_pic"; then
8951 lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
8952 fi
8953 ;;
8954 esac
8955 else
8956 # PORTME Check for flag to pass linker flags through the system compiler.
8957 case $host_os in
8958 aix*)
8959 lt_prog_compiler_wl='-Wl,'
8960 if test ia64 = "$host_cpu"; then
8961 # AIX 5 now supports IA64 processor
8962 lt_prog_compiler_static='-Bstatic'
8963 else
8964 lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
8965 fi
8966 ;;
8967
8968 darwin* | rhapsody*)
8969 # PIC is the default on this platform
8970 # Common symbols not allowed in MH_DYLIB files
8971 lt_prog_compiler_pic='-fno-common'
8972 case $cc_basename in
8973 nagfor*)
8974 # NAG Fortran compiler
8975 lt_prog_compiler_wl='-Wl,-Wl,,'
8976 lt_prog_compiler_pic='-PIC'
8977 lt_prog_compiler_static='-Bstatic'
8978 ;;
8979 esac
8980 ;;
8981
8982 mingw* | cygwin* | pw32* | os2* | cegcc*)
8983 # This hack is so that the source file can tell whether it is being
8984 # built for inclusion in a dll (and should export symbols for example).
8985 lt_prog_compiler_pic='-DDLL_EXPORT'
8986 case $host_os in
8987 os2*)
8988 lt_prog_compiler_static='$wl-static'
8989 ;;
8990 esac
8991 ;;
8992
8993 hpux9* | hpux10* | hpux11*)
8994 lt_prog_compiler_wl='-Wl,'
8995 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
8996 # not for PA HP-UX.
8997 case $host_cpu in
8998 hppa*64*|ia64*)
8999 # +Z the default
9000 ;;
9001 *)
9002 lt_prog_compiler_pic='+Z'
9003 ;;
9004 esac
9005 # Is there a better lt_prog_compiler_static that works with the bundled CC?
9006 lt_prog_compiler_static='$wl-a ${wl}archive'
9007 ;;
9008
9009 irix5* | irix6* | nonstopux*)
9010 lt_prog_compiler_wl='-Wl,'
9011 # PIC (with -KPIC) is the default.
9012 lt_prog_compiler_static='-non_shared'
9013 ;;
9014
9015 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
9016 case $cc_basename in
9017 # old Intel for x86_64, which still supported -KPIC.
9018 ecc*)
9019 lt_prog_compiler_wl='-Wl,'
9020 lt_prog_compiler_pic='-KPIC'
9021 lt_prog_compiler_static='-static'
9022 ;;
9023 # flang / f18. f95 an alias for gfortran or flang on Debian
9024 flang* | f18* | f95*)
9025 lt_prog_compiler_wl='-Wl,'
9026 lt_prog_compiler_pic='-fPIC'
9027 lt_prog_compiler_static='-static'
9028 ;;
9029 # icc used to be incompatible with GCC.
9030 # ICC 10 doesn't accept -KPIC any more.
9031 icc* | ifort*)
9032 lt_prog_compiler_wl='-Wl,'
9033 lt_prog_compiler_pic='-fPIC'
9034 lt_prog_compiler_static='-static'
9035 ;;
9036 # Lahey Fortran 8.1.
9037 lf95*)
9038 lt_prog_compiler_wl='-Wl,'
9039 lt_prog_compiler_pic='--shared'
9040 lt_prog_compiler_static='--static'
9041 ;;
9042 nagfor*)
9043 # NAG Fortran compiler
9044 lt_prog_compiler_wl='-Wl,-Wl,,'
9045 lt_prog_compiler_pic='-PIC'
9046 lt_prog_compiler_static='-Bstatic'
9047 ;;
9048 tcc*)
9049 # Fabrice Bellard et al's Tiny C Compiler
9050 lt_prog_compiler_wl='-Wl,'
9051 lt_prog_compiler_pic='-fPIC'
9052 lt_prog_compiler_static='-static'
9053 ;;
9054 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
9055 # Portland Group compilers (*not* the Pentium gcc compiler,
9056 # which looks to be a dead project)
9057 lt_prog_compiler_wl='-Wl,'
9058 lt_prog_compiler_pic='-fpic'
9059 lt_prog_compiler_static='-Bstatic'
9060 ;;
9061 ccc*)
9062 lt_prog_compiler_wl='-Wl,'
9063 # All Alpha code is PIC.
9064 lt_prog_compiler_static='-non_shared'
9065 ;;
9066 xl* | bgxl* | bgf* | mpixl*)
9067 # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
9068 lt_prog_compiler_wl='-Wl,'
9069 lt_prog_compiler_pic='-qpic'
9070 lt_prog_compiler_static='-qstaticlink'
9071 ;;
9072 *)
9073 case `$CC -V 2>&1 | sed 5q` in
9074 *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
9075 # Sun Fortran 8.3 passes all unrecognized flags to the linker
9076 lt_prog_compiler_pic='-KPIC'
9077 lt_prog_compiler_static='-Bstatic'
9078 lt_prog_compiler_wl=''
9079 ;;
9080 *Sun\ F* | *Sun*Fortran*)
9081 lt_prog_compiler_pic='-KPIC'
9082 lt_prog_compiler_static='-Bstatic'
9083 lt_prog_compiler_wl='-Qoption ld '
9084 ;;
9085 *Sun\ C*)
9086 # Sun C 5.9
9087 lt_prog_compiler_pic='-KPIC'
9088 lt_prog_compiler_static='-Bstatic'
9089 lt_prog_compiler_wl='-Wl,'
9090 ;;
9091 *Intel*\ [CF]*Compiler*)
9092 lt_prog_compiler_wl='-Wl,'
9093 lt_prog_compiler_pic='-fPIC'
9094 lt_prog_compiler_static='-static'
9095 ;;
9096 *Portland\ Group*)
9097 lt_prog_compiler_wl='-Wl,'
9098 lt_prog_compiler_pic='-fpic'
9099 lt_prog_compiler_static='-Bstatic'
9100 ;;
9101 esac
9102 ;;
9103 esac
9104 ;;
9105
9106 newsos6)
9107 lt_prog_compiler_pic='-KPIC'
9108 lt_prog_compiler_static='-Bstatic'
9109 ;;
9110
9111 *nto* | *qnx*)
9112 # QNX uses GNU C++, but need to define -shared option too, otherwise
9113 # it will coredump.
9114 lt_prog_compiler_pic='-fPIC -shared'
9115 ;;
9116
9117 osf3* | osf4* | osf5*)
9118 lt_prog_compiler_wl='-Wl,'
9119 # All OSF/1 code is PIC.
9120 lt_prog_compiler_static='-non_shared'
9121 ;;
9122
9123 rdos*)
9124 lt_prog_compiler_static='-non_shared'
9125 ;;
9126
9127 solaris*)
9128 lt_prog_compiler_pic='-KPIC'
9129 lt_prog_compiler_static='-Bstatic'
9130 case $cc_basename in
9131 f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
9132 lt_prog_compiler_wl='-Qoption ld ';;
9133 *)
9134 lt_prog_compiler_wl='-Wl,';;
9135 esac
9136 ;;
9137
9138 sunos4*)
9139 lt_prog_compiler_wl='-Qoption ld '
9140 lt_prog_compiler_pic='-PIC'
9141 lt_prog_compiler_static='-Bstatic'
9142 ;;
9143
9144 sysv4 | sysv4.2uw2* | sysv4.3*)
9145 lt_prog_compiler_wl='-Wl,'
9146 lt_prog_compiler_pic='-KPIC'
9147 lt_prog_compiler_static='-Bstatic'
9148 ;;
9149
9150 sysv4*MP*)
9151 if test -d /usr/nec; then
9152 lt_prog_compiler_pic='-Kconform_pic'
9153 lt_prog_compiler_static='-Bstatic'
9154 fi
9155 ;;
9156
9157 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
9158 lt_prog_compiler_wl='-Wl,'
9159 lt_prog_compiler_pic='-KPIC'
9160 lt_prog_compiler_static='-Bstatic'
9161 ;;
9162
9163 unicos*)
9164 lt_prog_compiler_wl='-Wl,'
9165 lt_prog_compiler_can_build_shared=no
9166 ;;
9167
9168 uts4*)
9169 lt_prog_compiler_pic='-pic'
9170 lt_prog_compiler_static='-Bstatic'
9171 ;;
9172
9173 *)
9174 lt_prog_compiler_can_build_shared=no
9175 ;;
9176 esac
9177 fi
9178
9179 case $host_os in
9180 # For platforms that do not support PIC, -DPIC is meaningless:
9181 *djgpp*)
9182 lt_prog_compiler_pic=
9183 ;;
9184 *)
9185 lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
9186 ;;
9187 esac
9188
9189 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
9190 $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
9191 if ${lt_cv_prog_compiler_pic+:} false; then :
9192 $as_echo_n "(cached) " >&6
9193 else
9194 lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
9195 fi
9196 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
9197 $as_echo "$lt_cv_prog_compiler_pic" >&6; }
9198 lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
9199
9200 #
9201 # Check to make sure the PIC flag actually works.
9202 #
9203 if test -n "$lt_prog_compiler_pic"; then
9204 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
9205 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
9206 if ${lt_cv_prog_compiler_pic_works+:} false; then :
9207 $as_echo_n "(cached) " >&6
9208 else
9209 lt_cv_prog_compiler_pic_works=no
9210 ac_outfile=conftest.$ac_objext
9211 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
9212 lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment
9213 # Insert the option either (1) after the last *FLAGS variable, or
9214 # (2) before a word containing "conftest.", or (3) at the end.
9215 # Note that $ac_compile itself does not contain backslashes and begins
9216 # with a dollar sign (not a hyphen), so the echo should work correctly.
9217 # The option is referenced via a variable to avoid confusing sed.
9218 lt_compile=`echo "$ac_compile" | $SED \
9219 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
9220 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
9221 -e 's:$: $lt_compiler_flag:'`
9222 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
9223 (eval "$lt_compile" 2>conftest.err)
9224 ac_status=$?
9225 cat conftest.err >&5
9226 echo "$as_me:$LINENO: \$? = $ac_status" >&5
9227 if (exit $ac_status) && test -s "$ac_outfile"; then
9228 # The compiler can only warn and ignore the option if not recognized
9229 # So say no if there are warnings other than the usual output.
9230 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
9231 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
9232 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
9233 lt_cv_prog_compiler_pic_works=yes
9234 fi
9235 fi
9236 $RM conftest*
9237
9238 fi
9239 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
9240 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
9241
9242 if test yes = "$lt_cv_prog_compiler_pic_works"; then
9243 case $lt_prog_compiler_pic in
9244 "" | " "*) ;;
9245 *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
9246 esac
9247 else
9248 lt_prog_compiler_pic=
9249 lt_prog_compiler_can_build_shared=no
9250 fi
9251
9252 fi
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264 #
9265 # Check to make sure the static flag actually works.
9266 #
9267 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
9268 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
9269 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
9270 if ${lt_cv_prog_compiler_static_works+:} false; then :
9271 $as_echo_n "(cached) " >&6
9272 else
9273 lt_cv_prog_compiler_static_works=no
9274 save_LDFLAGS=$LDFLAGS
9275 LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
9276 echo "$lt_simple_link_test_code" > conftest.$ac_ext
9277 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
9278 # The linker can only warn and ignore the option if not recognized
9279 # So say no if there are warnings
9280 if test -s conftest.err; then
9281 # Append any errors to the config.log.
9282 cat conftest.err 1>&5
9283 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
9284 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
9285 if diff conftest.exp conftest.er2 >/dev/null; then
9286 lt_cv_prog_compiler_static_works=yes
9287 fi
9288 else
9289 lt_cv_prog_compiler_static_works=yes
9290 fi
9291 fi
9292 $RM -r conftest*
9293 LDFLAGS=$save_LDFLAGS
9294
9295 fi
9296 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
9297 $as_echo "$lt_cv_prog_compiler_static_works" >&6; }
9298
9299 if test yes = "$lt_cv_prog_compiler_static_works"; then
9300 :
9301 else
9302 lt_prog_compiler_static=
9303 fi
9304
9305
9306
9307
9308
9309
9310
9311 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
9312 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
9313 if ${lt_cv_prog_compiler_c_o+:} false; then :
9314 $as_echo_n "(cached) " >&6
9315 else
9316 lt_cv_prog_compiler_c_o=no
9317 $RM -r conftest 2>/dev/null
9318 mkdir conftest
9319 cd conftest
9320 mkdir out
9321 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
9322
9323 lt_compiler_flag="-o out/conftest2.$ac_objext"
9324 # Insert the option either (1) after the last *FLAGS variable, or
9325 # (2) before a word containing "conftest.", or (3) at the end.
9326 # Note that $ac_compile itself does not contain backslashes and begins
9327 # with a dollar sign (not a hyphen), so the echo should work correctly.
9328 lt_compile=`echo "$ac_compile" | $SED \
9329 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
9330 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
9331 -e 's:$: $lt_compiler_flag:'`
9332 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
9333 (eval "$lt_compile" 2>out/conftest.err)
9334 ac_status=$?
9335 cat out/conftest.err >&5
9336 echo "$as_me:$LINENO: \$? = $ac_status" >&5
9337 if (exit $ac_status) && test -s out/conftest2.$ac_objext
9338 then
9339 # The compiler can only warn and ignore the option if not recognized
9340 # So say no if there are warnings
9341 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
9342 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
9343 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
9344 lt_cv_prog_compiler_c_o=yes
9345 fi
9346 fi
9347 chmod u+w . 2>&5
9348 $RM conftest*
9349 # SGI C++ compiler will create directory out/ii_files/ for
9350 # template instantiation
9351 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
9352 $RM out/* && rmdir out
9353 cd ..
9354 $RM -r conftest
9355 $RM conftest*
9356
9357 fi
9358 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
9359 $as_echo "$lt_cv_prog_compiler_c_o" >&6; }
9360
9361
9362
9363
9364
9365
9366 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
9367 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
9368 if ${lt_cv_prog_compiler_c_o+:} false; then :
9369 $as_echo_n "(cached) " >&6
9370 else
9371 lt_cv_prog_compiler_c_o=no
9372 $RM -r conftest 2>/dev/null
9373 mkdir conftest
9374 cd conftest
9375 mkdir out
9376 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
9377
9378 lt_compiler_flag="-o out/conftest2.$ac_objext"
9379 # Insert the option either (1) after the last *FLAGS variable, or
9380 # (2) before a word containing "conftest.", or (3) at the end.
9381 # Note that $ac_compile itself does not contain backslashes and begins
9382 # with a dollar sign (not a hyphen), so the echo should work correctly.
9383 lt_compile=`echo "$ac_compile" | $SED \
9384 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
9385 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
9386 -e 's:$: $lt_compiler_flag:'`
9387 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
9388 (eval "$lt_compile" 2>out/conftest.err)
9389 ac_status=$?
9390 cat out/conftest.err >&5
9391 echo "$as_me:$LINENO: \$? = $ac_status" >&5
9392 if (exit $ac_status) && test -s out/conftest2.$ac_objext
9393 then
9394 # The compiler can only warn and ignore the option if not recognized
9395 # So say no if there are warnings
9396 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
9397 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
9398 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
9399 lt_cv_prog_compiler_c_o=yes
9400 fi
9401 fi
9402 chmod u+w . 2>&5
9403 $RM conftest*
9404 # SGI C++ compiler will create directory out/ii_files/ for
9405 # template instantiation
9406 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
9407 $RM out/* && rmdir out
9408 cd ..
9409 $RM -r conftest
9410 $RM conftest*
9411
9412 fi
9413 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
9414 $as_echo "$lt_cv_prog_compiler_c_o" >&6; }
9415
9416
9417
9418
9419 hard_links=nottested
9420 if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
9421 # do not overwrite the value of need_locks provided by the user
9422 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
9423 $as_echo_n "checking if we can lock with hard links... " >&6; }
9424 hard_links=yes
9425 $RM conftest*
9426 ln conftest.a conftest.b 2>/dev/null && hard_links=no
9427 touch conftest.a
9428 ln conftest.a conftest.b 2>&5 || hard_links=no
9429 ln conftest.a conftest.b 2>/dev/null && hard_links=no
9430 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
9431 $as_echo "$hard_links" >&6; }
9432 if test no = "$hard_links"; then
9433 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
9434 $as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
9435 need_locks=warn
9436 fi
9437 else
9438 need_locks=no
9439 fi
9440
9441
9442
9443
9444
9445
9446 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
9447 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
9448
9449 runpath_var=
9450 allow_undefined_flag=
9451 always_export_symbols=no
9452 archive_cmds=
9453 archive_expsym_cmds=
9454 compiler_needs_object=no
9455 enable_shared_with_static_runtimes=no
9456 export_dynamic_flag_spec=
9457 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
9458 hardcode_automatic=no
9459 hardcode_direct=no
9460 hardcode_direct_absolute=no
9461 hardcode_libdir_flag_spec=
9462 hardcode_libdir_separator=
9463 hardcode_minus_L=no
9464 hardcode_shlibpath_var=unsupported
9465 inherit_rpath=no
9466 link_all_deplibs=unknown
9467 module_cmds=
9468 module_expsym_cmds=
9469 old_archive_from_new_cmds=
9470 old_archive_from_expsyms_cmds=
9471 thread_safe_flag_spec=
9472 whole_archive_flag_spec=
9473 # include_expsyms should be a list of space-separated symbols to be *always*
9474 # included in the symbol list
9475 include_expsyms=
9476 # exclude_expsyms can be an extended regexp of symbols to exclude
9477 # it will be wrapped by ' (' and ')$', so one must not match beginning or
9478 # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
9479 # as well as any symbol that contains 'd'.
9480 exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
9481 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
9482 # platforms (ab)use it in PIC code, but their linkers get confused if
9483 # the symbol is explicitly referenced. Since portable code cannot
9484 # rely on this symbol name, it's probably fine to never include it in
9485 # preloaded symbol tables.
9486 # Exclude shared library initialization/finalization symbols.
9487 extract_expsyms_cmds=
9488
9489 case $host_os in
9490 cygwin* | mingw* | pw32* | cegcc*)
9491 # FIXME: the MSVC++ port hasn't been tested in a loooong time
9492 # When not using gcc, we currently assume that we are using
9493 # Microsoft Visual C++.
9494 if test yes != "$GCC"; then
9495 with_gnu_ld=no
9496 fi
9497 ;;
9498 interix*)
9499 # we just hope/assume this is gcc and not c89 (= MSVC++)
9500 with_gnu_ld=yes
9501 ;;
9502 openbsd* | bitrig*)
9503 with_gnu_ld=no
9504 ;;
9505 linux* | k*bsd*-gnu | gnu*)
9506 link_all_deplibs=no
9507 ;;
9508 esac
9509
9510 ld_shlibs=yes
9511
9512 # On some targets, GNU ld is compatible enough with the native linker
9513 # that we're better off using the native interface for both.
9514 lt_use_gnu_ld_interface=no
9515 if test yes = "$with_gnu_ld"; then
9516 case $host_os in
9517 aix*)
9518 # The AIX port of GNU ld has always aspired to compatibility
9519 # with the native linker. However, as the warning in the GNU ld
9520 # block says, versions before 2.19.5* couldn't really create working
9521 # shared libraries, regardless of the interface used.
9522 case `$LD -v 2>&1` in
9523 *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
9524 *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
9525 *\ \(GNU\ Binutils\)\ [3-9]*) ;;
9526 *)
9527 lt_use_gnu_ld_interface=yes
9528 ;;
9529 esac
9530 ;;
9531 *)
9532 lt_use_gnu_ld_interface=yes
9533 ;;
9534 esac
9535 fi
9536
9537 if test yes = "$lt_use_gnu_ld_interface"; then
9538 # If archive_cmds runs LD, not CC, wlarc should be empty
9539 wlarc='$wl'
9540
9541 # Set some defaults for GNU ld with shared library support. These
9542 # are reset later if shared libraries are not supported. Putting them
9543 # here allows them to be overridden if necessary.
9544 runpath_var=LD_RUN_PATH
9545 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
9546 export_dynamic_flag_spec='$wl--export-dynamic'
9547 # ancient GNU ld didn't support --whole-archive et. al.
9548 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
9549 whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
9550 else
9551 whole_archive_flag_spec=
9552 fi
9553 supports_anon_versioning=no
9554 case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
9555 *GNU\ gold*) supports_anon_versioning=yes ;;
9556 *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
9557 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
9558 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
9559 *\ 2.11.*) ;; # other 2.11 versions
9560 *) supports_anon_versioning=yes ;;
9561 esac
9562
9563 # See if GNU ld supports shared libraries.
9564 case $host_os in
9565 aix[3-9]*)
9566 # On AIX/PPC, the GNU linker is very broken
9567 if test ia64 != "$host_cpu"; then
9568 ld_shlibs=no
9569 cat <<_LT_EOF 1>&2
9570
9571 *** Warning: the GNU linker, at least up to release 2.19, is reported
9572 *** to be unable to reliably create shared libraries on AIX.
9573 *** Therefore, libtool is disabling shared libraries support. If you
9574 *** really care for shared libraries, you may want to install binutils
9575 *** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
9576 *** You will then need to restart the configuration process.
9577
9578 _LT_EOF
9579 fi
9580 ;;
9581
9582 amigaos*)
9583 case $host_cpu in
9584 powerpc)
9585 # see comment about AmigaOS4 .so support
9586 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
9587 archive_expsym_cmds=''
9588 ;;
9589 m68k)
9590 archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
9591 hardcode_libdir_flag_spec='-L$libdir'
9592 hardcode_minus_L=yes
9593 ;;
9594 esac
9595 ;;
9596
9597 beos*)
9598 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
9599 allow_undefined_flag=unsupported
9600 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
9601 # support --undefined. This deserves some investigation. FIXME
9602 archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
9603 else
9604 ld_shlibs=no
9605 fi
9606 ;;
9607
9608 cygwin* | mingw* | pw32* | cegcc*)
9609 # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
9610 # as there is no search path for DLLs.
9611 hardcode_libdir_flag_spec='-L$libdir'
9612 export_dynamic_flag_spec='$wl--export-all-symbols'
9613 allow_undefined_flag=unsupported
9614 always_export_symbols=no
9615 enable_shared_with_static_runtimes=yes
9616 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
9617 exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
9618
9619 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
9620 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
9621 # If the export-symbols file already is a .def file, use it as
9622 # is; otherwise, prepend EXPORTS...
9623 archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
9624 cp $export_symbols $output_objdir/$soname.def;
9625 else
9626 echo EXPORTS > $output_objdir/$soname.def;
9627 cat $export_symbols >> $output_objdir/$soname.def;
9628 fi~
9629 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
9630 else
9631 ld_shlibs=no
9632 fi
9633 ;;
9634
9635 haiku*)
9636 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
9637 link_all_deplibs=yes
9638 ;;
9639
9640 os2*)
9641 hardcode_libdir_flag_spec='-L$libdir'
9642 hardcode_minus_L=yes
9643 allow_undefined_flag=unsupported
9644 shrext_cmds=.dll
9645 archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
9646 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
9647 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
9648 $ECHO EXPORTS >> $output_objdir/$libname.def~
9649 emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
9650 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
9651 emximp -o $lib $output_objdir/$libname.def'
9652 archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
9653 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
9654 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
9655 $ECHO EXPORTS >> $output_objdir/$libname.def~
9656 prefix_cmds="$SED"~
9657 if test EXPORTS = "`$SED 1q $export_symbols`"; then
9658 prefix_cmds="$prefix_cmds -e 1d";
9659 fi~
9660 prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
9661 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
9662 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
9663 emximp -o $lib $output_objdir/$libname.def'
9664 old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
9665 enable_shared_with_static_runtimes=yes
9666 ;;
9667
9668 interix[3-9]*)
9669 hardcode_direct=no
9670 hardcode_shlibpath_var=no
9671 hardcode_libdir_flag_spec='$wl-rpath,$libdir'
9672 export_dynamic_flag_spec='$wl-E'
9673 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
9674 # Instead, shared libraries are loaded at an image base (0x10000000 by
9675 # default) and relocated if they conflict, which is a slow very memory
9676 # consuming and fragmenting process. To avoid this, we pick a random,
9677 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
9678 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
9679 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
9680 archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
9681 ;;
9682
9683 gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
9684 tmp_diet=no
9685 if test linux-dietlibc = "$host_os"; then
9686 case $cc_basename in
9687 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
9688 esac
9689 fi
9690 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
9691 && test no = "$tmp_diet"
9692 then
9693 tmp_addflag=' $pic_flag'
9694 tmp_sharedflag='-shared'
9695 case $cc_basename,$host_cpu in
9696 pgcc*) # Portland Group C compiler
9697 whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
9698 tmp_addflag=' $pic_flag'
9699 ;;
9700 pgf77* | pgf90* | pgf95* | pgfortran*)
9701 # Portland Group f77 and f90 compilers
9702 whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
9703 tmp_addflag=' $pic_flag -Mnomain' ;;
9704 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
9705 tmp_addflag=' -i_dynamic' ;;
9706 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
9707 tmp_addflag=' -i_dynamic -nofor_main' ;;
9708 ifc* | ifort*) # Intel Fortran compiler
9709 tmp_addflag=' -nofor_main' ;;
9710 lf95*) # Lahey Fortran 8.1
9711 whole_archive_flag_spec=
9712 tmp_sharedflag='--shared' ;;
9713 nagfor*) # NAGFOR 5.3
9714 tmp_sharedflag='-Wl,-shared' ;;
9715 xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
9716 tmp_sharedflag='-qmkshrobj'
9717 tmp_addflag= ;;
9718 nvcc*) # Cuda Compiler Driver 2.2
9719 whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
9720 compiler_needs_object=yes
9721 ;;
9722 esac
9723 case `$CC -V 2>&1 | sed 5q` in
9724 *Sun\ C*) # Sun C 5.9
9725 whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
9726 compiler_needs_object=yes
9727 tmp_sharedflag='-G' ;;
9728 *Sun\ F*) # Sun Fortran 8.3
9729 tmp_sharedflag='-G' ;;
9730 esac
9731 archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
9732
9733 if test yes = "$supports_anon_versioning"; then
9734 archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
9735 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
9736 echo "local: *; };" >> $output_objdir/$libname.ver~
9737 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
9738 fi
9739
9740 case $cc_basename in
9741 tcc*)
9742 export_dynamic_flag_spec='-rdynamic'
9743 ;;
9744 xlf* | bgf* | bgxlf* | mpixlf*)
9745 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
9746 whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
9747 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
9748 archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
9749 if test yes = "$supports_anon_versioning"; then
9750 archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
9751 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
9752 echo "local: *; };" >> $output_objdir/$libname.ver~
9753 $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
9754 fi
9755 ;;
9756 esac
9757 else
9758 ld_shlibs=no
9759 fi
9760 ;;
9761
9762 netbsd* | netbsdelf*-gnu)
9763 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
9764 archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
9765 wlarc=
9766 else
9767 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
9768 archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
9769 fi
9770 ;;
9771
9772 solaris*)
9773 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
9774 ld_shlibs=no
9775 cat <<_LT_EOF 1>&2
9776
9777 *** Warning: The releases 2.8.* of the GNU linker cannot reliably
9778 *** create shared libraries on Solaris systems. Therefore, libtool
9779 *** is disabling shared libraries support. We urge you to upgrade GNU
9780 *** binutils to release 2.9.1 or newer. Another option is to modify
9781 *** your PATH or compiler configuration so that the native linker is
9782 *** used, and then restart.
9783
9784 _LT_EOF
9785 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
9786 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
9787 archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
9788 else
9789 ld_shlibs=no
9790 fi
9791 ;;
9792
9793 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
9794 case `$LD -v 2>&1` in
9795 *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
9796 ld_shlibs=no
9797 cat <<_LT_EOF 1>&2
9798
9799 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
9800 *** reliably create shared libraries on SCO systems. Therefore, libtool
9801 *** is disabling shared libraries support. We urge you to upgrade GNU
9802 *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
9803 *** your PATH or compiler configuration so that the native linker is
9804 *** used, and then restart.
9805
9806 _LT_EOF
9807 ;;
9808 *)
9809 # For security reasons, it is highly recommended that you always
9810 # use absolute paths for naming shared libraries, and exclude the
9811 # DT_RUNPATH tag from executables and libraries. But doing so
9812 # requires that you compile everything twice, which is a pain.
9813 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
9814 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
9815 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
9816 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
9817 else
9818 ld_shlibs=no
9819 fi
9820 ;;
9821 esac
9822 ;;
9823
9824 sunos4*)
9825 archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
9826 wlarc=
9827 hardcode_direct=yes
9828 hardcode_shlibpath_var=no
9829 ;;
9830
9831 *)
9832 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
9833 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
9834 archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
9835 else
9836 ld_shlibs=no
9837 fi
9838 ;;
9839 esac
9840
9841 if test no = "$ld_shlibs"; then
9842 runpath_var=
9843 hardcode_libdir_flag_spec=
9844 export_dynamic_flag_spec=
9845 whole_archive_flag_spec=
9846 fi
9847 else
9848 # PORTME fill in a description of your system's linker (not GNU ld)
9849 case $host_os in
9850 aix3*)
9851 allow_undefined_flag=unsupported
9852 always_export_symbols=yes
9853 archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
9854 # Note: this linker hardcodes the directories in LIBPATH if there
9855 # are no directories specified by -L.
9856 hardcode_minus_L=yes
9857 if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
9858 # Neither direct hardcoding nor static linking is supported with a
9859 # broken collect2.
9860 hardcode_direct=unsupported
9861 fi
9862 ;;
9863
9864 aix[4-9]*)
9865 if test ia64 = "$host_cpu"; then
9866 # On IA64, the linker does run time linking by default, so we don't
9867 # have to do anything special.
9868 aix_use_runtimelinking=no
9869 exp_sym_flag='-Bexport'
9870 no_entry_flag=
9871 else
9872 # If we're using GNU nm, then we don't want the "-C" option.
9873 # -C means demangle to GNU nm, but means don't demangle to AIX nm.
9874 # Without the "-l" option, or with the "-B" option, AIX nm treats
9875 # weak defined symbols like other global defined symbols, whereas
9876 # GNU nm marks them as "W".
9877 # While the 'weak' keyword is ignored in the Export File, we need
9878 # it in the Import File for the 'aix-soname' feature, so we have
9879 # to replace the "-B" option with "-P" for AIX nm.
9880 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
9881 export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
9882 else
9883 export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
9884 fi
9885 aix_use_runtimelinking=no
9886
9887 # Test if we are trying to use run time linking or normal
9888 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
9889 # have runtime linking enabled, and use it for executables.
9890 # For shared libraries, we enable/disable runtime linking
9891 # depending on the kind of the shared library created -
9892 # when "with_aix_soname,aix_use_runtimelinking" is:
9893 # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
9894 # "aix,yes" lib.so shared, rtl:yes, for executables
9895 # lib.a static archive
9896 # "both,no" lib.so.V(shr.o) shared, rtl:yes
9897 # lib.a(lib.so.V) shared, rtl:no, for executables
9898 # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
9899 # lib.a(lib.so.V) shared, rtl:no
9900 # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
9901 # lib.a static archive
9902 case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
9903 for ld_flag in $LDFLAGS; do
9904 if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
9905 aix_use_runtimelinking=yes
9906 break
9907 fi
9908 done
9909 if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
9910 # With aix-soname=svr4, we create the lib.so.V shared archives only,
9911 # so we don't have lib.a shared libs to link our executables.
9912 # We have to force runtime linking in this case.
9913 aix_use_runtimelinking=yes
9914 LDFLAGS="$LDFLAGS -Wl,-brtl"
9915 fi
9916 ;;
9917 esac
9918
9919 exp_sym_flag='-bexport'
9920 no_entry_flag='-bnoentry'
9921 fi
9922
9923 # When large executables or shared objects are built, AIX ld can
9924 # have problems creating the table of contents. If linking a library
9925 # or program results in "error TOC overflow" add -mminimal-toc to
9926 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
9927 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
9928
9929 archive_cmds=''
9930 hardcode_direct=yes
9931 hardcode_direct_absolute=yes
9932 hardcode_libdir_separator=':'
9933 link_all_deplibs=yes
9934 file_list_spec='$wl-f,'
9935 case $with_aix_soname,$aix_use_runtimelinking in
9936 aix,*) ;; # traditional, no import file
9937 svr4,* | *,yes) # use import file
9938 # The Import File defines what to hardcode.
9939 hardcode_direct=no
9940 hardcode_direct_absolute=no
9941 ;;
9942 esac
9943
9944 if test yes = "$GCC"; then
9945 case $host_os in aix4.[012]|aix4.[012].*)
9946 # We only want to do this on AIX 4.2 and lower, the check
9947 # below for broken collect2 doesn't work under 4.3+
9948 collect2name=`$CC -print-prog-name=collect2`
9949 if test -f "$collect2name" &&
9950 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
9951 then
9952 # We have reworked collect2
9953 :
9954 else
9955 # We have old collect2
9956 hardcode_direct=unsupported
9957 # It fails to find uninstalled libraries when the uninstalled
9958 # path is not listed in the libpath. Setting hardcode_minus_L
9959 # to unsupported forces relinking
9960 hardcode_minus_L=yes
9961 hardcode_libdir_flag_spec='-L$libdir'
9962 hardcode_libdir_separator=
9963 fi
9964 ;;
9965 esac
9966 shared_flag='-shared'
9967 if test yes = "$aix_use_runtimelinking"; then
9968 shared_flag="$shared_flag "'$wl-G'
9969 fi
9970 # Need to ensure runtime linking is disabled for the traditional
9971 # shared library, or the linker may eventually find shared libraries
9972 # /with/ Import File - we do not want to mix them.
9973 shared_flag_aix='-shared'
9974 shared_flag_svr4='-shared $wl-G'
9975 else
9976 # not using gcc
9977 if test ia64 = "$host_cpu"; then
9978 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
9979 # chokes on -Wl,-G. The following line is correct:
9980 shared_flag='-G'
9981 else
9982 if test yes = "$aix_use_runtimelinking"; then
9983 shared_flag='$wl-G'
9984 else
9985 shared_flag='$wl-bM:SRE'
9986 fi
9987 shared_flag_aix='$wl-bM:SRE'
9988 shared_flag_svr4='$wl-G'
9989 fi
9990 fi
9991
9992 export_dynamic_flag_spec='$wl-bexpall'
9993 # It seems that -bexpall does not export symbols beginning with
9994 # underscore (_), so it is better to generate a list of symbols to export.
9995 always_export_symbols=yes
9996 if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
9997 # Warning - without using the other runtime loading flags (-brtl),
9998 # -berok will link without error, but may produce a broken library.
9999 allow_undefined_flag='-berok'
10000 # Determine the default libpath from the value encoded in an
10001 # empty executable.
10002 if test set = "${lt_cv_aix_libpath+set}"; then
10003 aix_libpath=$lt_cv_aix_libpath
10004 else
10005 if ${lt_cv_aix_libpath_+:} false; then :
10006 $as_echo_n "(cached) " >&6
10007 else
10008 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10009 /* end confdefs.h. */
10010
10011 int
10012 main ()
10013 {
10014
10015 ;
10016 return 0;
10017 }
10018 _ACEOF
10019 if ac_fn_c_try_link "$LINENO"; then :
10020
10021 lt_aix_libpath_sed='
10022 /Import File Strings/,/^$/ {
10023 /^0/ {
10024 s/^0 *\([^ ]*\) *$/\1/
10025 p
10026 }
10027 }'
10028 lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
10029 # Check for a 64-bit object if we didn't find anything.
10030 if test -z "$lt_cv_aix_libpath_"; then
10031 lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
10032 fi
10033 fi
10034 rm -f core conftest.err conftest.$ac_objext \
10035 conftest$ac_exeext conftest.$ac_ext
10036 if test -z "$lt_cv_aix_libpath_"; then
10037 lt_cv_aix_libpath_=/usr/lib:/lib
10038 fi
10039
10040 fi
10041
10042 aix_libpath=$lt_cv_aix_libpath_
10043 fi
10044
10045 hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
10046 archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
10047 else
10048 if test ia64 = "$host_cpu"; then
10049 hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
10050 allow_undefined_flag="-z nodefs"
10051 archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
10052 else
10053 # Determine the default libpath from the value encoded in an
10054 # empty executable.
10055 if test set = "${lt_cv_aix_libpath+set}"; then
10056 aix_libpath=$lt_cv_aix_libpath
10057 else
10058 if ${lt_cv_aix_libpath_+:} false; then :
10059 $as_echo_n "(cached) " >&6
10060 else
10061 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10062 /* end confdefs.h. */
10063
10064 int
10065 main ()
10066 {
10067
10068 ;
10069 return 0;
10070 }
10071 _ACEOF
10072 if ac_fn_c_try_link "$LINENO"; then :
10073
10074 lt_aix_libpath_sed='
10075 /Import File Strings/,/^$/ {
10076 /^0/ {
10077 s/^0 *\([^ ]*\) *$/\1/
10078 p
10079 }
10080 }'
10081 lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
10082 # Check for a 64-bit object if we didn't find anything.
10083 if test -z "$lt_cv_aix_libpath_"; then
10084 lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
10085 fi
10086 fi
10087 rm -f core conftest.err conftest.$ac_objext \
10088 conftest$ac_exeext conftest.$ac_ext
10089 if test -z "$lt_cv_aix_libpath_"; then
10090 lt_cv_aix_libpath_=/usr/lib:/lib
10091 fi
10092
10093 fi
10094
10095 aix_libpath=$lt_cv_aix_libpath_
10096 fi
10097
10098 hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
10099 # Warning - without using the other run time loading flags,
10100 # -berok will link without error, but may produce a broken library.
10101 no_undefined_flag=' $wl-bernotok'
10102 allow_undefined_flag=' $wl-berok'
10103 if test yes = "$with_gnu_ld"; then
10104 # We only use this code for GNU lds that support --whole-archive.
10105 whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
10106 else
10107 # Exported symbols can be pulled into shared objects from archives
10108 whole_archive_flag_spec='$convenience'
10109 fi
10110 archive_cmds_need_lc=yes
10111 archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
10112 # -brtl affects multiple linker settings, -berok does not and is overridden later
10113 compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
10114 if test svr4 != "$with_aix_soname"; then
10115 # This is similar to how AIX traditionally builds its shared libraries.
10116 archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
10117 fi
10118 if test aix != "$with_aix_soname"; then
10119 archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
10120 else
10121 # used by -dlpreopen to get the symbols
10122 archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
10123 fi
10124 archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
10125 fi
10126 fi
10127 ;;
10128
10129 amigaos*)
10130 case $host_cpu in
10131 powerpc)
10132 # see comment about AmigaOS4 .so support
10133 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
10134 archive_expsym_cmds=''
10135 ;;
10136 m68k)
10137 archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
10138 hardcode_libdir_flag_spec='-L$libdir'
10139 hardcode_minus_L=yes
10140 ;;
10141 esac
10142 ;;
10143
10144 bsdi[45]*)
10145 export_dynamic_flag_spec=-rdynamic
10146 ;;
10147
10148 cygwin* | mingw* | pw32* | cegcc*)
10149 # When not using gcc, we currently assume that we are using
10150 # Microsoft Visual C++.
10151 # hardcode_libdir_flag_spec is actually meaningless, as there is
10152 # no search path for DLLs.
10153 case $cc_basename in
10154 cl*)
10155 # Native MSVC
10156 hardcode_libdir_flag_spec=' '
10157 allow_undefined_flag=unsupported
10158 always_export_symbols=yes
10159 file_list_spec='@'
10160 # Tell ltmain to make .lib files, not .a files.
10161 libext=lib
10162 # Tell ltmain to make .dll files, not .so files.
10163 shrext_cmds=.dll
10164 # FIXME: Setting linknames here is a bad hack.
10165 archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
10166 archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
10167 cp "$export_symbols" "$output_objdir/$soname.def";
10168 echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
10169 else
10170 $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
10171 fi~
10172 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
10173 linknames='
10174 # The linker will not automatically build a static lib if we build a DLL.
10175 # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
10176 enable_shared_with_static_runtimes=yes
10177 exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
10178 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
10179 # Don't use ranlib
10180 old_postinstall_cmds='chmod 644 $oldlib'
10181 postlink_cmds='lt_outputfile="@OUTPUT@"~
10182 lt_tool_outputfile="@TOOL_OUTPUT@"~
10183 case $lt_outputfile in
10184 *.exe|*.EXE) ;;
10185 *)
10186 lt_outputfile=$lt_outputfile.exe
10187 lt_tool_outputfile=$lt_tool_outputfile.exe
10188 ;;
10189 esac~
10190 if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
10191 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
10192 $RM "$lt_outputfile.manifest";
10193 fi'
10194 ;;
10195 *)
10196 # Assume MSVC wrapper
10197 hardcode_libdir_flag_spec=' '
10198 allow_undefined_flag=unsupported
10199 # Tell ltmain to make .lib files, not .a files.
10200 libext=lib
10201 # Tell ltmain to make .dll files, not .so files.
10202 shrext_cmds=.dll
10203 # FIXME: Setting linknames here is a bad hack.
10204 archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
10205 # The linker will automatically build a .lib file if we build a DLL.
10206 old_archive_from_new_cmds='true'
10207 # FIXME: Should let the user specify the lib program.
10208 old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
10209 enable_shared_with_static_runtimes=yes
10210 ;;
10211 esac
10212 ;;
10213
10214 darwin* | rhapsody*)
10215
10216
10217 archive_cmds_need_lc=no
10218 hardcode_direct=no
10219 hardcode_automatic=yes
10220 hardcode_shlibpath_var=unsupported
10221 if test yes = "$lt_cv_ld_force_load"; then
10222 whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
10223
10224 else
10225 whole_archive_flag_spec=''
10226 fi
10227 link_all_deplibs=yes
10228 allow_undefined_flag=$_lt_dar_allow_undefined
10229 case $cc_basename in
10230 ifort*|nagfor*) _lt_dar_can_shared=yes ;;
10231 *) _lt_dar_can_shared=$GCC ;;
10232 esac
10233 if test yes = "$_lt_dar_can_shared"; then
10234 output_verbose_link_cmd=func_echo_all
10235 archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
10236 module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
10237 archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
10238 module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
10239
10240 else
10241 ld_shlibs=no
10242 fi
10243
10244 ;;
10245
10246 dgux*)
10247 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
10248 hardcode_libdir_flag_spec='-L$libdir'
10249 hardcode_shlibpath_var=no
10250 ;;
10251
10252 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
10253 # support. Future versions do this automatically, but an explicit c++rt0.o
10254 # does not break anything, and helps significantly (at the cost of a little
10255 # extra space).
10256 freebsd2.2*)
10257 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
10258 hardcode_libdir_flag_spec='-R$libdir'
10259 hardcode_direct=yes
10260 hardcode_shlibpath_var=no
10261 ;;
10262
10263 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
10264 freebsd2.*)
10265 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
10266 hardcode_direct=yes
10267 hardcode_minus_L=yes
10268 hardcode_shlibpath_var=no
10269 ;;
10270
10271 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
10272 freebsd* | dragonfly*)
10273 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
10274 hardcode_libdir_flag_spec='-R$libdir'
10275 hardcode_direct=yes
10276 hardcode_shlibpath_var=no
10277 ;;
10278
10279 hpux9*)
10280 if test yes = "$GCC"; then
10281 archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
10282 else
10283 archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
10284 fi
10285 hardcode_libdir_flag_spec='$wl+b $wl$libdir'
10286 hardcode_libdir_separator=:
10287 hardcode_direct=yes
10288
10289 # hardcode_minus_L: Not really in the search PATH,
10290 # but as the default location of the library.
10291 hardcode_minus_L=yes
10292 export_dynamic_flag_spec='$wl-E'
10293 ;;
10294
10295 hpux10*)
10296 if test yes,no = "$GCC,$with_gnu_ld"; then
10297 archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
10298 else
10299 archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
10300 fi
10301 if test no = "$with_gnu_ld"; then
10302 hardcode_libdir_flag_spec='$wl+b $wl$libdir'
10303 hardcode_libdir_separator=:
10304 hardcode_direct=yes
10305 hardcode_direct_absolute=yes
10306 export_dynamic_flag_spec='$wl-E'
10307 # hardcode_minus_L: Not really in the search PATH,
10308 # but as the default location of the library.
10309 hardcode_minus_L=yes
10310 fi
10311 ;;
10312
10313 hpux11*)
10314 if test yes,no = "$GCC,$with_gnu_ld"; then
10315 case $host_cpu in
10316 hppa*64*)
10317 archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
10318 ;;
10319 ia64*)
10320 archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
10321 ;;
10322 *)
10323 archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
10324 ;;
10325 esac
10326 else
10327 case $host_cpu in
10328 hppa*64*)
10329 archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
10330 ;;
10331 ia64*)
10332 archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
10333 ;;
10334 *)
10335
10336 # Older versions of the 11.00 compiler do not understand -b yet
10337 # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
10338 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
10339 $as_echo_n "checking if $CC understands -b... " >&6; }
10340 if ${lt_cv_prog_compiler__b+:} false; then :
10341 $as_echo_n "(cached) " >&6
10342 else
10343 lt_cv_prog_compiler__b=no
10344 save_LDFLAGS=$LDFLAGS
10345 LDFLAGS="$LDFLAGS -b"
10346 echo "$lt_simple_link_test_code" > conftest.$ac_ext
10347 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
10348 # The linker can only warn and ignore the option if not recognized
10349 # So say no if there are warnings
10350 if test -s conftest.err; then
10351 # Append any errors to the config.log.
10352 cat conftest.err 1>&5
10353 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
10354 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
10355 if diff conftest.exp conftest.er2 >/dev/null; then
10356 lt_cv_prog_compiler__b=yes
10357 fi
10358 else
10359 lt_cv_prog_compiler__b=yes
10360 fi
10361 fi
10362 $RM -r conftest*
10363 LDFLAGS=$save_LDFLAGS
10364
10365 fi
10366 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
10367 $as_echo "$lt_cv_prog_compiler__b" >&6; }
10368
10369 if test yes = "$lt_cv_prog_compiler__b"; then
10370 archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
10371 else
10372 archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
10373 fi
10374
10375 ;;
10376 esac
10377 fi
10378 if test no = "$with_gnu_ld"; then
10379 hardcode_libdir_flag_spec='$wl+b $wl$libdir'
10380 hardcode_libdir_separator=:
10381
10382 case $host_cpu in
10383 hppa*64*|ia64*)
10384 hardcode_direct=no
10385 hardcode_shlibpath_var=no
10386 ;;
10387 *)
10388 hardcode_direct=yes
10389 hardcode_direct_absolute=yes
10390 export_dynamic_flag_spec='$wl-E'
10391
10392 # hardcode_minus_L: Not really in the search PATH,
10393 # but as the default location of the library.
10394 hardcode_minus_L=yes
10395 ;;
10396 esac
10397 fi
10398 ;;
10399
10400 irix5* | irix6* | nonstopux*)
10401 if test yes = "$GCC"; then
10402 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
10403 # Try to use the -exported_symbol ld option, if it does not
10404 # work, assume that -exports_file does not work either and
10405 # implicitly export all symbols.
10406 # This should be the same for all languages, so no per-tag cache variable.
10407 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
10408 $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
10409 if ${lt_cv_irix_exported_symbol+:} false; then :
10410 $as_echo_n "(cached) " >&6
10411 else
10412 save_LDFLAGS=$LDFLAGS
10413 LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
10414 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10415 /* end confdefs.h. */
10416 int foo (void) { return 0; }
10417 _ACEOF
10418 if ac_fn_c_try_link "$LINENO"; then :
10419 lt_cv_irix_exported_symbol=yes
10420 else
10421 lt_cv_irix_exported_symbol=no
10422 fi
10423 rm -f core conftest.err conftest.$ac_objext \
10424 conftest$ac_exeext conftest.$ac_ext
10425 LDFLAGS=$save_LDFLAGS
10426 fi
10427 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
10428 $as_echo "$lt_cv_irix_exported_symbol" >&6; }
10429 if test yes = "$lt_cv_irix_exported_symbol"; then
10430 archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
10431 fi
10432 link_all_deplibs=no
10433 else
10434 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
10435 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
10436 fi
10437 archive_cmds_need_lc='no'
10438 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
10439 hardcode_libdir_separator=:
10440 inherit_rpath=yes
10441 link_all_deplibs=yes
10442 ;;
10443
10444 linux*)
10445 case $cc_basename in
10446 tcc*)
10447 # Fabrice Bellard et al's Tiny C Compiler
10448 ld_shlibs=yes
10449 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
10450 ;;
10451 esac
10452 ;;
10453
10454 netbsd* | netbsdelf*-gnu)
10455 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
10456 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
10457 else
10458 archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
10459 fi
10460 hardcode_libdir_flag_spec='-R$libdir'
10461 hardcode_direct=yes
10462 hardcode_shlibpath_var=no
10463 ;;
10464
10465 newsos6)
10466 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
10467 hardcode_direct=yes
10468 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
10469 hardcode_libdir_separator=:
10470 hardcode_shlibpath_var=no
10471 ;;
10472
10473 *nto* | *qnx*)
10474 ;;
10475
10476 openbsd* | bitrig*)
10477 if test -f /usr/libexec/ld.so; then
10478 hardcode_direct=yes
10479 hardcode_shlibpath_var=no
10480 hardcode_direct_absolute=yes
10481 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
10482 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
10483 archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
10484 hardcode_libdir_flag_spec='$wl-rpath,$libdir'
10485 export_dynamic_flag_spec='$wl-E'
10486 else
10487 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
10488 hardcode_libdir_flag_spec='$wl-rpath,$libdir'
10489 fi
10490 else
10491 ld_shlibs=no
10492 fi
10493 ;;
10494
10495 os2*)
10496 hardcode_libdir_flag_spec='-L$libdir'
10497 hardcode_minus_L=yes
10498 allow_undefined_flag=unsupported
10499 shrext_cmds=.dll
10500 archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
10501 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
10502 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
10503 $ECHO EXPORTS >> $output_objdir/$libname.def~
10504 emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
10505 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
10506 emximp -o $lib $output_objdir/$libname.def'
10507 archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
10508 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
10509 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
10510 $ECHO EXPORTS >> $output_objdir/$libname.def~
10511 prefix_cmds="$SED"~
10512 if test EXPORTS = "`$SED 1q $export_symbols`"; then
10513 prefix_cmds="$prefix_cmds -e 1d";
10514 fi~
10515 prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
10516 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
10517 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
10518 emximp -o $lib $output_objdir/$libname.def'
10519 old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
10520 enable_shared_with_static_runtimes=yes
10521 ;;
10522
10523 osf3*)
10524 if test yes = "$GCC"; then
10525 allow_undefined_flag=' $wl-expect_unresolved $wl\*'
10526 archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
10527 else
10528 allow_undefined_flag=' -expect_unresolved \*'
10529 archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
10530 fi
10531 archive_cmds_need_lc='no'
10532 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
10533 hardcode_libdir_separator=:
10534 ;;
10535
10536 osf4* | osf5*) # as osf3* with the addition of -msym flag
10537 if test yes = "$GCC"; then
10538 allow_undefined_flag=' $wl-expect_unresolved $wl\*'
10539 archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
10540 hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
10541 else
10542 allow_undefined_flag=' -expect_unresolved \*'
10543 archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
10544 archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
10545 $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
10546
10547 # Both c and cxx compiler support -rpath directly
10548 hardcode_libdir_flag_spec='-rpath $libdir'
10549 fi
10550 archive_cmds_need_lc='no'
10551 hardcode_libdir_separator=:
10552 ;;
10553
10554 solaris*)
10555 no_undefined_flag=' -z defs'
10556 if test yes = "$GCC"; then
10557 wlarc='$wl'
10558 archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
10559 archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
10560 $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
10561 else
10562 case `$CC -V 2>&1` in
10563 *"Compilers 5.0"*)
10564 wlarc=''
10565 archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
10566 archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
10567 $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
10568 ;;
10569 *)
10570 wlarc='$wl'
10571 archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
10572 archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
10573 $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
10574 ;;
10575 esac
10576 fi
10577 hardcode_libdir_flag_spec='-R$libdir'
10578 hardcode_shlibpath_var=no
10579 case $host_os in
10580 solaris2.[0-5] | solaris2.[0-5].*) ;;
10581 *)
10582 # The compiler driver will combine and reorder linker options,
10583 # but understands '-z linker_flag'. GCC discards it without '$wl',
10584 # but is careful enough not to reorder.
10585 # Supported since Solaris 2.6 (maybe 2.5.1?)
10586 if test yes = "$GCC"; then
10587 whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
10588 else
10589 whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
10590 fi
10591 ;;
10592 esac
10593 link_all_deplibs=yes
10594 ;;
10595
10596 sunos4*)
10597 if test sequent = "$host_vendor"; then
10598 # Use $CC to link under sequent, because it throws in some extra .o
10599 # files that make .init and .fini sections work.
10600 archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
10601 else
10602 archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
10603 fi
10604 hardcode_libdir_flag_spec='-L$libdir'
10605 hardcode_direct=yes
10606 hardcode_minus_L=yes
10607 hardcode_shlibpath_var=no
10608 ;;
10609
10610 sysv4)
10611 case $host_vendor in
10612 sni)
10613 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
10614 hardcode_direct=yes # is this really true???
10615 ;;
10616 siemens)
10617 ## LD is ld it makes a PLAMLIB
10618 ## CC just makes a GrossModule.
10619 archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
10620 reload_cmds='$CC -r -o $output$reload_objs'
10621 hardcode_direct=no
10622 ;;
10623 motorola)
10624 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
10625 hardcode_direct=no #Motorola manual says yes, but my tests say they lie
10626 ;;
10627 esac
10628 runpath_var='LD_RUN_PATH'
10629 hardcode_shlibpath_var=no
10630 ;;
10631
10632 sysv4.3*)
10633 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
10634 hardcode_shlibpath_var=no
10635 export_dynamic_flag_spec='-Bexport'
10636 ;;
10637
10638 sysv4*MP*)
10639 if test -d /usr/nec; then
10640 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
10641 hardcode_shlibpath_var=no
10642 runpath_var=LD_RUN_PATH
10643 hardcode_runpath_var=yes
10644 ld_shlibs=yes
10645 fi
10646 ;;
10647
10648 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
10649 no_undefined_flag='$wl-z,text'
10650 archive_cmds_need_lc=no
10651 hardcode_shlibpath_var=no
10652 runpath_var='LD_RUN_PATH'
10653
10654 if test yes = "$GCC"; then
10655 archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10656 archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10657 else
10658 archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10659 archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10660 fi
10661 ;;
10662
10663 sysv5* | sco3.2v5* | sco5v6*)
10664 # Note: We CANNOT use -z defs as we might desire, because we do not
10665 # link with -lc, and that would cause any symbols used from libc to
10666 # always be unresolved, which means just about no library would
10667 # ever link correctly. If we're not using GNU ld we use -z text
10668 # though, which does catch some bad symbols but isn't as heavy-handed
10669 # as -z defs.
10670 no_undefined_flag='$wl-z,text'
10671 allow_undefined_flag='$wl-z,nodefs'
10672 archive_cmds_need_lc=no
10673 hardcode_shlibpath_var=no
10674 hardcode_libdir_flag_spec='$wl-R,$libdir'
10675 hardcode_libdir_separator=':'
10676 link_all_deplibs=yes
10677 export_dynamic_flag_spec='$wl-Bexport'
10678 runpath_var='LD_RUN_PATH'
10679
10680 if test yes = "$GCC"; then
10681 archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10682 archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10683 else
10684 archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10685 archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10686 fi
10687 ;;
10688
10689 uts4*)
10690 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
10691 hardcode_libdir_flag_spec='-L$libdir'
10692 hardcode_shlibpath_var=no
10693 ;;
10694
10695 *)
10696 ld_shlibs=no
10697 ;;
10698 esac
10699
10700 if test sni = "$host_vendor"; then
10701 case $host in
10702 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
10703 export_dynamic_flag_spec='$wl-Blargedynsym'
10704 ;;
10705 esac
10706 fi
10707 fi
10708
10709 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
10710 $as_echo "$ld_shlibs" >&6; }
10711 test no = "$ld_shlibs" && can_build_shared=no
10712
10713 with_gnu_ld=$with_gnu_ld
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729 #
10730 # Do we need to explicitly link libc?
10731 #
10732 case "x$archive_cmds_need_lc" in
10733 x|xyes)
10734 # Assume -lc should be added
10735 archive_cmds_need_lc=yes
10736
10737 if test yes,yes = "$GCC,$enable_shared"; then
10738 case $archive_cmds in
10739 *'~'*)
10740 # FIXME: we may have to deal with multi-command sequences.
10741 ;;
10742 '$CC '*)
10743 # Test whether the compiler implicitly links with -lc since on some
10744 # systems, -lgcc has to come before -lc. If gcc already passes -lc
10745 # to ld, don't add -lc before -lgcc.
10746 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
10747 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
10748 if ${lt_cv_archive_cmds_need_lc+:} false; then :
10749 $as_echo_n "(cached) " >&6
10750 else
10751 $RM conftest*
10752 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
10753
10754 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
10755 (eval $ac_compile) 2>&5
10756 ac_status=$?
10757 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
10758 test $ac_status = 0; } 2>conftest.err; then
10759 soname=conftest
10760 lib=conftest
10761 libobjs=conftest.$ac_objext
10762 deplibs=
10763 wl=$lt_prog_compiler_wl
10764 pic_flag=$lt_prog_compiler_pic
10765 compiler_flags=-v
10766 linker_flags=-v
10767 verstring=
10768 output_objdir=.
10769 libname=conftest
10770 lt_save_allow_undefined_flag=$allow_undefined_flag
10771 allow_undefined_flag=
10772 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
10773 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
10774 ac_status=$?
10775 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
10776 test $ac_status = 0; }
10777 then
10778 lt_cv_archive_cmds_need_lc=no
10779 else
10780 lt_cv_archive_cmds_need_lc=yes
10781 fi
10782 allow_undefined_flag=$lt_save_allow_undefined_flag
10783 else
10784 cat conftest.err 1>&5
10785 fi
10786 $RM conftest*
10787
10788 fi
10789 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
10790 $as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
10791 archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
10792 ;;
10793 esac
10794 fi
10795 ;;
10796 esac
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
10950 $as_echo_n "checking dynamic linker characteristics... " >&6; }
10951
10952 if test yes = "$GCC"; then
10953 case $host_os in
10954 darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
10955 *) lt_awk_arg='/^libraries:/' ;;
10956 esac
10957 case $host_os in
10958 mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
10959 *) lt_sed_strip_eq='s|=/|/|g' ;;
10960 esac
10961 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
10962 case $lt_search_path_spec in
10963 *\;*)
10964 # if the path contains ";" then we assume it to be the separator
10965 # otherwise default to the standard path separator (i.e. ":") - it is
10966 # assumed that no part of a normal pathname contains ";" but that should
10967 # okay in the real world where ";" in dirpaths is itself problematic.
10968 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
10969 ;;
10970 *)
10971 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
10972 ;;
10973 esac
10974 # Ok, now we have the path, separated by spaces, we can step through it
10975 # and add multilib dir if necessary...
10976 lt_tmp_lt_search_path_spec=
10977 lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
10978 # ...but if some path component already ends with the multilib dir we assume
10979 # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
10980 case "$lt_multi_os_dir; $lt_search_path_spec " in
10981 "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
10982 lt_multi_os_dir=
10983 ;;
10984 esac
10985 for lt_sys_path in $lt_search_path_spec; do
10986 if test -d "$lt_sys_path$lt_multi_os_dir"; then
10987 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
10988 elif test -n "$lt_multi_os_dir"; then
10989 test -d "$lt_sys_path" && \
10990 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
10991 fi
10992 done
10993 lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
10994 BEGIN {RS = " "; FS = "/|\n";} {
10995 lt_foo = "";
10996 lt_count = 0;
10997 for (lt_i = NF; lt_i > 0; lt_i--) {
10998 if ($lt_i != "" && $lt_i != ".") {
10999 if ($lt_i == "..") {
11000 lt_count++;
11001 } else {
11002 if (lt_count == 0) {
11003 lt_foo = "/" $lt_i lt_foo;
11004 } else {
11005 lt_count--;
11006 }
11007 }
11008 }
11009 }
11010 if (lt_foo != "") { lt_freq[lt_foo]++; }
11011 if (lt_freq[lt_foo] == 1) { print lt_foo; }
11012 }'`
11013 # AWK program above erroneously prepends '/' to C:/dos/paths
11014 # for these hosts.
11015 case $host_os in
11016 mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
11017 $SED 's|/\([A-Za-z]:\)|\1|g'` ;;
11018 esac
11019 sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
11020 else
11021 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
11022 fi
11023 library_names_spec=
11024 libname_spec='lib$name'
11025 soname_spec=
11026 shrext_cmds=.so
11027 postinstall_cmds=
11028 postuninstall_cmds=
11029 finish_cmds=
11030 finish_eval=
11031 shlibpath_var=
11032 shlibpath_overrides_runpath=unknown
11033 version_type=none
11034 dynamic_linker="$host_os ld.so"
11035 sys_lib_dlsearch_path_spec="/lib /usr/lib"
11036 need_lib_prefix=unknown
11037 hardcode_into_libs=no
11038
11039 # when you set need_version to no, make sure it does not cause -set_version
11040 # flags to be left without arguments
11041 need_version=unknown
11042
11043
11044
11045 case $host_os in
11046 aix3*)
11047 version_type=linux # correct to gnu/linux during the next big refactor
11048 library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
11049 shlibpath_var=LIBPATH
11050
11051 # AIX 3 has no versioning support, so we append a major version to the name.
11052 soname_spec='$libname$release$shared_ext$major'
11053 ;;
11054
11055 aix[4-9]*)
11056 version_type=linux # correct to gnu/linux during the next big refactor
11057 need_lib_prefix=no
11058 need_version=no
11059 hardcode_into_libs=yes
11060 if test ia64 = "$host_cpu"; then
11061 # AIX 5 supports IA64
11062 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
11063 shlibpath_var=LD_LIBRARY_PATH
11064 else
11065 # With GCC up to 2.95.x, collect2 would create an import file
11066 # for dependence libraries. The import file would start with
11067 # the line '#! .'. This would cause the generated library to
11068 # depend on '.', always an invalid library. This was fixed in
11069 # development snapshots of GCC prior to 3.0.
11070 case $host_os in
11071 aix4 | aix4.[01] | aix4.[01].*)
11072 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
11073 echo ' yes '
11074 echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
11075 :
11076 else
11077 can_build_shared=no
11078 fi
11079 ;;
11080 esac
11081 # Using Import Files as archive members, it is possible to support
11082 # filename-based versioning of shared library archives on AIX. While
11083 # this would work for both with and without runtime linking, it will
11084 # prevent static linking of such archives. So we do filename-based
11085 # shared library versioning with .so extension only, which is used
11086 # when both runtime linking and shared linking is enabled.
11087 # Unfortunately, runtime linking may impact performance, so we do
11088 # not want this to be the default eventually. Also, we use the
11089 # versioned .so libs for executables only if there is the -brtl
11090 # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
11091 # To allow for filename-based versioning support, we need to create
11092 # libNAME.so.V as an archive file, containing:
11093 # *) an Import File, referring to the versioned filename of the
11094 # archive as well as the shared archive member, telling the
11095 # bitwidth (32 or 64) of that shared object, and providing the
11096 # list of exported symbols of that shared object, eventually
11097 # decorated with the 'weak' keyword
11098 # *) the shared object with the F_LOADONLY flag set, to really avoid
11099 # it being seen by the linker.
11100 # At run time we better use the real file rather than another symlink,
11101 # but for link time we create the symlink libNAME.so -> libNAME.so.V
11102
11103 case $with_aix_soname,$aix_use_runtimelinking in
11104 # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
11105 # soname into executable. Probably we can add versioning support to
11106 # collect2, so additional links can be useful in future.
11107 aix,yes) # traditional libtool
11108 dynamic_linker='AIX unversionable lib.so'
11109 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
11110 # instead of lib<name>.a to let people know that these are not
11111 # typical AIX shared libraries.
11112 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11113 ;;
11114 aix,no) # traditional AIX only
11115 dynamic_linker='AIX lib.a(lib.so.V)'
11116 # We preserve .a as extension for shared libraries through AIX4.2
11117 # and later when we are not doing run time linking.
11118 library_names_spec='$libname$release.a $libname.a'
11119 soname_spec='$libname$release$shared_ext$major'
11120 ;;
11121 svr4,*) # full svr4 only
11122 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
11123 library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
11124 # We do not specify a path in Import Files, so LIBPATH fires.
11125 shlibpath_overrides_runpath=yes
11126 ;;
11127 *,yes) # both, prefer svr4
11128 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
11129 library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
11130 # unpreferred sharedlib libNAME.a needs extra handling
11131 postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
11132 postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
11133 # We do not specify a path in Import Files, so LIBPATH fires.
11134 shlibpath_overrides_runpath=yes
11135 ;;
11136 *,no) # both, prefer aix
11137 dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
11138 library_names_spec='$libname$release.a $libname.a'
11139 soname_spec='$libname$release$shared_ext$major'
11140 # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
11141 postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
11142 postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
11143 ;;
11144 esac
11145 shlibpath_var=LIBPATH
11146 fi
11147 ;;
11148
11149 amigaos*)
11150 case $host_cpu in
11151 powerpc)
11152 # Since July 2007 AmigaOS4 officially supports .so libraries.
11153 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
11154 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11155 ;;
11156 m68k)
11157 library_names_spec='$libname.ixlibrary $libname.a'
11158 # Create ${libname}_ixlibrary.a entries in /sys/libs.
11159 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
11160 ;;
11161 esac
11162 ;;
11163
11164 beos*)
11165 library_names_spec='$libname$shared_ext'
11166 dynamic_linker="$host_os ld.so"
11167 shlibpath_var=LIBRARY_PATH
11168 ;;
11169
11170 bsdi[45]*)
11171 version_type=linux # correct to gnu/linux during the next big refactor
11172 need_version=no
11173 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11174 soname_spec='$libname$release$shared_ext$major'
11175 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
11176 shlibpath_var=LD_LIBRARY_PATH
11177 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
11178 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
11179 # the default ld.so.conf also contains /usr/contrib/lib and
11180 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
11181 # libtool to hard-code these into programs
11182 ;;
11183
11184 cygwin* | mingw* | pw32* | cegcc*)
11185 version_type=windows
11186 shrext_cmds=.dll
11187 need_version=no
11188 need_lib_prefix=no
11189
11190 case $GCC,$cc_basename in
11191 yes,*)
11192 # gcc
11193 library_names_spec='$libname.dll.a'
11194 # DLL is installed to $(libdir)/../bin by postinstall_cmds
11195 postinstall_cmds='base_file=`basename \$file`~
11196 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
11197 dldir=$destdir/`dirname \$dlpath`~
11198 test -d \$dldir || mkdir -p \$dldir~
11199 $install_prog $dir/$dlname \$dldir/$dlname~
11200 chmod a+x \$dldir/$dlname~
11201 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
11202 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
11203 fi'
11204 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
11205 dlpath=$dir/\$dldll~
11206 $RM \$dlpath'
11207 shlibpath_overrides_runpath=yes
11208
11209 case $host_os in
11210 cygwin*)
11211 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
11212 soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
11213
11214 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
11215 ;;
11216 mingw* | cegcc*)
11217 # MinGW DLLs use traditional 'lib' prefix
11218 soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
11219 ;;
11220 pw32*)
11221 # pw32 DLLs use 'pw' prefix rather than 'lib'
11222 library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
11223 ;;
11224 esac
11225 dynamic_linker='Win32 ld.exe'
11226 ;;
11227
11228 *,cl*)
11229 # Native MSVC
11230 libname_spec='$name'
11231 soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
11232 library_names_spec='$libname.dll.lib'
11233
11234 case $build_os in
11235 mingw*)
11236 sys_lib_search_path_spec=
11237 lt_save_ifs=$IFS
11238 IFS=';'
11239 for lt_path in $LIB
11240 do
11241 IFS=$lt_save_ifs
11242 # Let DOS variable expansion print the short 8.3 style file name.
11243 lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
11244 sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
11245 done
11246 IFS=$lt_save_ifs
11247 # Convert to MSYS style.
11248 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
11249 ;;
11250 cygwin*)
11251 # Convert to unix form, then to dos form, then back to unix form
11252 # but this time dos style (no spaces!) so that the unix form looks
11253 # like /cygdrive/c/PROGRA~1:/cygdr...
11254 sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
11255 sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
11256 sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
11257 ;;
11258 *)
11259 sys_lib_search_path_spec=$LIB
11260 if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
11261 # It is most probably a Windows format PATH.
11262 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
11263 else
11264 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
11265 fi
11266 # FIXME: find the short name or the path components, as spaces are
11267 # common. (e.g. "Program Files" -> "PROGRA~1")
11268 ;;
11269 esac
11270
11271 # DLL is installed to $(libdir)/../bin by postinstall_cmds
11272 postinstall_cmds='base_file=`basename \$file`~
11273 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
11274 dldir=$destdir/`dirname \$dlpath`~
11275 test -d \$dldir || mkdir -p \$dldir~
11276 $install_prog $dir/$dlname \$dldir/$dlname'
11277 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
11278 dlpath=$dir/\$dldll~
11279 $RM \$dlpath'
11280 shlibpath_overrides_runpath=yes
11281 dynamic_linker='Win32 link.exe'
11282 ;;
11283
11284 *)
11285 # Assume MSVC wrapper
11286 library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
11287 dynamic_linker='Win32 ld.exe'
11288 ;;
11289 esac
11290 # FIXME: first we should search . and the directory the executable is in
11291 shlibpath_var=PATH
11292 ;;
11293
11294 darwin* | rhapsody*)
11295 dynamic_linker="$host_os dyld"
11296 version_type=darwin
11297 need_lib_prefix=no
11298 need_version=no
11299 library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
11300 soname_spec='$libname$release$major$shared_ext'
11301 shlibpath_overrides_runpath=yes
11302 shlibpath_var=DYLD_LIBRARY_PATH
11303 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
11304
11305 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
11306 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
11307 ;;
11308
11309 dgux*)
11310 version_type=linux # correct to gnu/linux during the next big refactor
11311 need_lib_prefix=no
11312 need_version=no
11313 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11314 soname_spec='$libname$release$shared_ext$major'
11315 shlibpath_var=LD_LIBRARY_PATH
11316 ;;
11317
11318 freebsd* | dragonfly*)
11319 # DragonFly does not have aout. When/if they implement a new
11320 # versioning mechanism, adjust this.
11321 if test -x /usr/bin/objformat; then
11322 objformat=`/usr/bin/objformat`
11323 else
11324 case $host_os in
11325 freebsd[23].*) objformat=aout ;;
11326 *) objformat=elf ;;
11327 esac
11328 fi
11329 version_type=freebsd-$objformat
11330 case $version_type in
11331 freebsd-elf*)
11332 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11333 soname_spec='$libname$release$shared_ext$major'
11334 need_version=no
11335 need_lib_prefix=no
11336 ;;
11337 freebsd-*)
11338 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
11339 need_version=yes
11340 ;;
11341 esac
11342 shlibpath_var=LD_LIBRARY_PATH
11343 case $host_os in
11344 freebsd2.*)
11345 shlibpath_overrides_runpath=yes
11346 ;;
11347 freebsd3.[01]* | freebsdelf3.[01]*)
11348 shlibpath_overrides_runpath=yes
11349 hardcode_into_libs=yes
11350 ;;
11351 freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
11352 freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
11353 shlibpath_overrides_runpath=no
11354 hardcode_into_libs=yes
11355 ;;
11356 *) # from 4.6 on, and DragonFly
11357 shlibpath_overrides_runpath=yes
11358 hardcode_into_libs=yes
11359 ;;
11360 esac
11361 ;;
11362
11363 haiku*)
11364 version_type=linux # correct to gnu/linux during the next big refactor
11365 need_lib_prefix=no
11366 need_version=no
11367 dynamic_linker="$host_os runtime_loader"
11368 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11369 soname_spec='$libname$release$shared_ext$major'
11370 shlibpath_var=LIBRARY_PATH
11371 shlibpath_overrides_runpath=no
11372 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
11373 hardcode_into_libs=yes
11374 ;;
11375
11376 hpux9* | hpux10* | hpux11*)
11377 # Give a soname corresponding to the major version so that dld.sl refuses to
11378 # link against other versions.
11379 version_type=sunos
11380 need_lib_prefix=no
11381 need_version=no
11382 case $host_cpu in
11383 ia64*)
11384 shrext_cmds='.so'
11385 hardcode_into_libs=yes
11386 dynamic_linker="$host_os dld.so"
11387 shlibpath_var=LD_LIBRARY_PATH
11388 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
11389 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11390 soname_spec='$libname$release$shared_ext$major'
11391 if test 32 = "$HPUX_IA64_MODE"; then
11392 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
11393 sys_lib_dlsearch_path_spec=/usr/lib/hpux32
11394 else
11395 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
11396 sys_lib_dlsearch_path_spec=/usr/lib/hpux64
11397 fi
11398 ;;
11399 hppa*64*)
11400 shrext_cmds='.sl'
11401 hardcode_into_libs=yes
11402 dynamic_linker="$host_os dld.sl"
11403 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
11404 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
11405 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11406 soname_spec='$libname$release$shared_ext$major'
11407 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
11408 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
11409 ;;
11410 *)
11411 shrext_cmds='.sl'
11412 dynamic_linker="$host_os dld.sl"
11413 shlibpath_var=SHLIB_PATH
11414 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
11415 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11416 soname_spec='$libname$release$shared_ext$major'
11417 ;;
11418 esac
11419 # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
11420 postinstall_cmds='chmod 555 $lib'
11421 # or fails outright, so override atomically:
11422 install_override_mode=555
11423 ;;
11424
11425 interix[3-9]*)
11426 version_type=linux # correct to gnu/linux during the next big refactor
11427 need_lib_prefix=no
11428 need_version=no
11429 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11430 soname_spec='$libname$release$shared_ext$major'
11431 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
11432 shlibpath_var=LD_LIBRARY_PATH
11433 shlibpath_overrides_runpath=no
11434 hardcode_into_libs=yes
11435 ;;
11436
11437 irix5* | irix6* | nonstopux*)
11438 case $host_os in
11439 nonstopux*) version_type=nonstopux ;;
11440 *)
11441 if test yes = "$lt_cv_prog_gnu_ld"; then
11442 version_type=linux # correct to gnu/linux during the next big refactor
11443 else
11444 version_type=irix
11445 fi ;;
11446 esac
11447 need_lib_prefix=no
11448 need_version=no
11449 soname_spec='$libname$release$shared_ext$major'
11450 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
11451 case $host_os in
11452 irix5* | nonstopux*)
11453 libsuff= shlibsuff=
11454 ;;
11455 *)
11456 case $LD in # libtool.m4 will add one of these switches to LD
11457 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
11458 libsuff= shlibsuff= libmagic=32-bit;;
11459 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
11460 libsuff=32 shlibsuff=N32 libmagic=N32;;
11461 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
11462 libsuff=64 shlibsuff=64 libmagic=64-bit;;
11463 *) libsuff= shlibsuff= libmagic=never-match;;
11464 esac
11465 ;;
11466 esac
11467 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
11468 shlibpath_overrides_runpath=no
11469 sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
11470 sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
11471 hardcode_into_libs=yes
11472 ;;
11473
11474 # No shared lib support for Linux oldld, aout, or coff.
11475 linux*oldld* | linux*aout* | linux*coff*)
11476 dynamic_linker=no
11477 ;;
11478
11479 linux*android*)
11480 version_type=none # Android doesn't support versioned libraries.
11481 need_lib_prefix=no
11482 need_version=no
11483 library_names_spec='$libname$release$shared_ext'
11484 soname_spec='$libname$release$shared_ext'
11485 finish_cmds=
11486 shlibpath_var=LD_LIBRARY_PATH
11487 shlibpath_overrides_runpath=yes
11488
11489 # This implies no fast_install, which is unacceptable.
11490 # Some rework will be needed to allow for fast_install
11491 # before this can be enabled.
11492 hardcode_into_libs=yes
11493
11494 dynamic_linker='Android linker'
11495 # Don't embed -rpath directories since the linker doesn't support them.
11496 hardcode_libdir_flag_spec='-L$libdir'
11497 ;;
11498
11499 # This must be glibc/ELF.
11500 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
11501 version_type=linux # correct to gnu/linux during the next big refactor
11502 need_lib_prefix=no
11503 need_version=no
11504 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11505 soname_spec='$libname$release$shared_ext$major'
11506 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
11507 shlibpath_var=LD_LIBRARY_PATH
11508 shlibpath_overrides_runpath=no
11509
11510 # Some binutils ld are patched to set DT_RUNPATH
11511 if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
11512 $as_echo_n "(cached) " >&6
11513 else
11514 lt_cv_shlibpath_overrides_runpath=no
11515 save_LDFLAGS=$LDFLAGS
11516 save_libdir=$libdir
11517 eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
11518 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
11519 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11520 /* end confdefs.h. */
11521
11522 int
11523 main ()
11524 {
11525
11526 ;
11527 return 0;
11528 }
11529 _ACEOF
11530 if ac_fn_c_try_link "$LINENO"; then :
11531 if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
11532 lt_cv_shlibpath_overrides_runpath=yes
11533 fi
11534 fi
11535 rm -f core conftest.err conftest.$ac_objext \
11536 conftest$ac_exeext conftest.$ac_ext
11537 LDFLAGS=$save_LDFLAGS
11538 libdir=$save_libdir
11539
11540 fi
11541
11542 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
11543
11544 # This implies no fast_install, which is unacceptable.
11545 # Some rework will be needed to allow for fast_install
11546 # before this can be enabled.
11547 hardcode_into_libs=yes
11548
11549 # Ideally, we could use ldconfig to report *all* directores which are
11550 # searched for libraries, however this is still not possible. Aside from not
11551 # being certain /sbin/ldconfig is available, command
11552 # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
11553 # even though it is searched at run-time. Try to do the best guess by
11554 # appending ld.so.conf contents (and includes) to the search path.
11555 if test -f /etc/ld.so.conf; then
11556 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
11557 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
11558 fi
11559
11560 # We used to test for /lib/ld.so.1 and disable shared libraries on
11561 # powerpc, because MkLinux only supported shared libraries with the
11562 # GNU dynamic linker. Since this was broken with cross compilers,
11563 # most powerpc-linux boxes support dynamic linking these days and
11564 # people can always --disable-shared, the test was removed, and we
11565 # assume the GNU/Linux dynamic linker is in use.
11566 dynamic_linker='GNU/Linux ld.so'
11567 ;;
11568
11569 netbsdelf*-gnu)
11570 version_type=linux
11571 need_lib_prefix=no
11572 need_version=no
11573 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
11574 soname_spec='${libname}${release}${shared_ext}$major'
11575 shlibpath_var=LD_LIBRARY_PATH
11576 shlibpath_overrides_runpath=no
11577 hardcode_into_libs=yes
11578 dynamic_linker='NetBSD ld.elf_so'
11579 ;;
11580
11581 netbsd*)
11582 version_type=sunos
11583 need_lib_prefix=no
11584 need_version=no
11585 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
11586 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
11587 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
11588 dynamic_linker='NetBSD (a.out) ld.so'
11589 else
11590 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11591 soname_spec='$libname$release$shared_ext$major'
11592 dynamic_linker='NetBSD ld.elf_so'
11593 fi
11594 shlibpath_var=LD_LIBRARY_PATH
11595 shlibpath_overrides_runpath=yes
11596 hardcode_into_libs=yes
11597 ;;
11598
11599 newsos6)
11600 version_type=linux # correct to gnu/linux during the next big refactor
11601 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11602 shlibpath_var=LD_LIBRARY_PATH
11603 shlibpath_overrides_runpath=yes
11604 ;;
11605
11606 *nto* | *qnx*)
11607 version_type=qnx
11608 need_lib_prefix=no
11609 need_version=no
11610 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11611 soname_spec='$libname$release$shared_ext$major'
11612 shlibpath_var=LD_LIBRARY_PATH
11613 shlibpath_overrides_runpath=no
11614 hardcode_into_libs=yes
11615 dynamic_linker='ldqnx.so'
11616 ;;
11617
11618 openbsd* | bitrig*)
11619 version_type=sunos
11620 sys_lib_dlsearch_path_spec=/usr/lib
11621 need_lib_prefix=no
11622 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
11623 need_version=no
11624 else
11625 need_version=yes
11626 fi
11627 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
11628 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
11629 shlibpath_var=LD_LIBRARY_PATH
11630 shlibpath_overrides_runpath=yes
11631 ;;
11632
11633 os2*)
11634 libname_spec='$name'
11635 version_type=windows
11636 shrext_cmds=.dll
11637 need_version=no
11638 need_lib_prefix=no
11639 # OS/2 can only load a DLL with a base name of 8 characters or less.
11640 soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
11641 v=$($ECHO $release$versuffix | tr -d .-);
11642 n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
11643 $ECHO $n$v`$shared_ext'
11644 library_names_spec='${libname}_dll.$libext'
11645 dynamic_linker='OS/2 ld.exe'
11646 shlibpath_var=BEGINLIBPATH
11647 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
11648 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
11649 postinstall_cmds='base_file=`basename \$file`~
11650 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
11651 dldir=$destdir/`dirname \$dlpath`~
11652 test -d \$dldir || mkdir -p \$dldir~
11653 $install_prog $dir/$dlname \$dldir/$dlname~
11654 chmod a+x \$dldir/$dlname~
11655 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
11656 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
11657 fi'
11658 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
11659 dlpath=$dir/\$dldll~
11660 $RM \$dlpath'
11661 ;;
11662
11663 osf3* | osf4* | osf5*)
11664 version_type=osf
11665 need_lib_prefix=no
11666 need_version=no
11667 soname_spec='$libname$release$shared_ext$major'
11668 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11669 shlibpath_var=LD_LIBRARY_PATH
11670 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
11671 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
11672 ;;
11673
11674 rdos*)
11675 dynamic_linker=no
11676 ;;
11677
11678 solaris*)
11679 version_type=linux # correct to gnu/linux during the next big refactor
11680 need_lib_prefix=no
11681 need_version=no
11682 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11683 soname_spec='$libname$release$shared_ext$major'
11684 shlibpath_var=LD_LIBRARY_PATH
11685 shlibpath_overrides_runpath=yes
11686 hardcode_into_libs=yes
11687 # ldd complains unless libraries are executable
11688 postinstall_cmds='chmod +x $lib'
11689 ;;
11690
11691 sunos4*)
11692 version_type=sunos
11693 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
11694 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
11695 shlibpath_var=LD_LIBRARY_PATH
11696 shlibpath_overrides_runpath=yes
11697 if test yes = "$with_gnu_ld"; then
11698 need_lib_prefix=no
11699 fi
11700 need_version=yes
11701 ;;
11702
11703 sysv4 | sysv4.3*)
11704 version_type=linux # correct to gnu/linux during the next big refactor
11705 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11706 soname_spec='$libname$release$shared_ext$major'
11707 shlibpath_var=LD_LIBRARY_PATH
11708 case $host_vendor in
11709 sni)
11710 shlibpath_overrides_runpath=no
11711 need_lib_prefix=no
11712 runpath_var=LD_RUN_PATH
11713 ;;
11714 siemens)
11715 need_lib_prefix=no
11716 ;;
11717 motorola)
11718 need_lib_prefix=no
11719 need_version=no
11720 shlibpath_overrides_runpath=no
11721 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
11722 ;;
11723 esac
11724 ;;
11725
11726 sysv4*MP*)
11727 if test -d /usr/nec; then
11728 version_type=linux # correct to gnu/linux during the next big refactor
11729 library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
11730 soname_spec='$libname$shared_ext.$major'
11731 shlibpath_var=LD_LIBRARY_PATH
11732 fi
11733 ;;
11734
11735 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
11736 version_type=sco
11737 need_lib_prefix=no
11738 need_version=no
11739 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
11740 soname_spec='$libname$release$shared_ext$major'
11741 shlibpath_var=LD_LIBRARY_PATH
11742 shlibpath_overrides_runpath=yes
11743 hardcode_into_libs=yes
11744 if test yes = "$with_gnu_ld"; then
11745 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
11746 else
11747 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
11748 case $host_os in
11749 sco3.2v5*)
11750 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
11751 ;;
11752 esac
11753 fi
11754 sys_lib_dlsearch_path_spec='/usr/lib'
11755 ;;
11756
11757 tpf*)
11758 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
11759 version_type=linux # correct to gnu/linux during the next big refactor
11760 need_lib_prefix=no
11761 need_version=no
11762 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11763 shlibpath_var=LD_LIBRARY_PATH
11764 shlibpath_overrides_runpath=no
11765 hardcode_into_libs=yes
11766 ;;
11767
11768 uts4*)
11769 version_type=linux # correct to gnu/linux during the next big refactor
11770 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
11771 soname_spec='$libname$release$shared_ext$major'
11772 shlibpath_var=LD_LIBRARY_PATH
11773 ;;
11774
11775 *)
11776 dynamic_linker=no
11777 ;;
11778 esac
11779 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
11780 $as_echo "$dynamic_linker" >&6; }
11781 test no = "$dynamic_linker" && can_build_shared=no
11782
11783 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
11784 if test yes = "$GCC"; then
11785 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
11786 fi
11787
11788 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
11789 sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
11790 fi
11791
11792 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
11793 sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
11794 fi
11795
11796 # remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
11797 configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
11798
11799 # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
11800 func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
11801
11802 # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
11803 configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
11886
11887
11888
11889
11890
11891
11892
11893
11894
11895
11896
11897
11898
11899
11900
11901 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
11902 $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
11903 hardcode_action=
11904 if test -n "$hardcode_libdir_flag_spec" ||
11905 test -n "$runpath_var" ||
11906 test yes = "$hardcode_automatic"; then
11907
11908 # We can hardcode non-existent directories.
11909 if test no != "$hardcode_direct" &&
11910 # If the only mechanism to avoid hardcoding is shlibpath_var, we
11911 # have to relink, otherwise we might link with an installed library
11912 # when we should be linking with a yet-to-be-installed one
11913 ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
11914 test no != "$hardcode_minus_L"; then
11915 # Linking always hardcodes the temporary library directory.
11916 hardcode_action=relink
11917 else
11918 # We can link without hardcoding, and we can hardcode nonexisting dirs.
11919 hardcode_action=immediate
11920 fi
11921 else
11922 # We cannot hardcode anything, or else we can only hardcode existing
11923 # directories.
11924 hardcode_action=unsupported
11925 fi
11926 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
11927 $as_echo "$hardcode_action" >&6; }
11928
11929 if test relink = "$hardcode_action" ||
11930 test yes = "$inherit_rpath"; then
11931 # Fast installation is not supported
11932 enable_fast_install=no
11933 elif test yes = "$shlibpath_overrides_runpath" ||
11934 test no = "$enable_shared"; then
11935 # Fast installation is not necessary
11936 enable_fast_install=needless
11937 fi
11938
11939
11940
11941
11942
11943
11944 if test yes != "$enable_dlopen"; then
11945 enable_dlopen=unknown
11946 enable_dlopen_self=unknown
11947 enable_dlopen_self_static=unknown
11948 else
11949 lt_cv_dlopen=no
11950 lt_cv_dlopen_libs=
11951
11952 case $host_os in
11953 beos*)
11954 lt_cv_dlopen=load_add_on
11955 lt_cv_dlopen_libs=
11956 lt_cv_dlopen_self=yes
11957 ;;
11958
11959 mingw* | pw32* | cegcc*)
11960 lt_cv_dlopen=LoadLibrary
11961 lt_cv_dlopen_libs=
11962 ;;
11963
11964 cygwin*)
11965 lt_cv_dlopen=dlopen
11966 lt_cv_dlopen_libs=
11967 ;;
11968
11969 darwin*)
11970 # if libdl is installed we need to link against it
11971 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
11972 $as_echo_n "checking for dlopen in -ldl... " >&6; }
11973 if ${ac_cv_lib_dl_dlopen+:} false; then :
11974 $as_echo_n "(cached) " >&6
11975 else
11976 ac_check_lib_save_LIBS=$LIBS
11977 LIBS="-ldl $LIBS"
11978 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11979 /* end confdefs.h. */
11980
11981 /* Override any GCC internal prototype to avoid an error.
11982 Use char because int might match the return type of a GCC
11983 builtin and then its argument prototype would still apply. */
11984 #ifdef __cplusplus
11985 extern "C"
11986 #endif
11987 char dlopen ();
11988 int
11989 main ()
11990 {
11991 return dlopen ();
11992 ;
11993 return 0;
11994 }
11995 _ACEOF
11996 if ac_fn_c_try_link "$LINENO"; then :
11997 ac_cv_lib_dl_dlopen=yes
11998 else
11999 ac_cv_lib_dl_dlopen=no
12000 fi
12001 rm -f core conftest.err conftest.$ac_objext \
12002 conftest$ac_exeext conftest.$ac_ext
12003 LIBS=$ac_check_lib_save_LIBS
12004 fi
12005 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
12006 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
12007 if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
12008 lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
12009 else
12010
12011 lt_cv_dlopen=dyld
12012 lt_cv_dlopen_libs=
12013 lt_cv_dlopen_self=yes
12014
12015 fi
12016
12017 ;;
12018
12019 tpf*)
12020 # Don't try to run any link tests for TPF. We know it's impossible
12021 # because TPF is a cross-compiler, and we know how we open DSOs.
12022 lt_cv_dlopen=dlopen
12023 lt_cv_dlopen_libs=
12024 lt_cv_dlopen_self=no
12025 ;;
12026
12027 *)
12028 ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
12029 if test "x$ac_cv_func_shl_load" = xyes; then :
12030 lt_cv_dlopen=shl_load
12031 else
12032 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
12033 $as_echo_n "checking for shl_load in -ldld... " >&6; }
12034 if ${ac_cv_lib_dld_shl_load+:} false; then :
12035 $as_echo_n "(cached) " >&6
12036 else
12037 ac_check_lib_save_LIBS=$LIBS
12038 LIBS="-ldld $LIBS"
12039 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12040 /* end confdefs.h. */
12041
12042 /* Override any GCC internal prototype to avoid an error.
12043 Use char because int might match the return type of a GCC
12044 builtin and then its argument prototype would still apply. */
12045 #ifdef __cplusplus
12046 extern "C"
12047 #endif
12048 char shl_load ();
12049 int
12050 main ()
12051 {
12052 return shl_load ();
12053 ;
12054 return 0;
12055 }
12056 _ACEOF
12057 if ac_fn_c_try_link "$LINENO"; then :
12058 ac_cv_lib_dld_shl_load=yes
12059 else
12060 ac_cv_lib_dld_shl_load=no
12061 fi
12062 rm -f core conftest.err conftest.$ac_objext \
12063 conftest$ac_exeext conftest.$ac_ext
12064 LIBS=$ac_check_lib_save_LIBS
12065 fi
12066 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
12067 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
12068 if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
12069 lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
12070 else
12071 ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
12072 if test "x$ac_cv_func_dlopen" = xyes; then :
12073 lt_cv_dlopen=dlopen
12074 else
12075 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
12076 $as_echo_n "checking for dlopen in -ldl... " >&6; }
12077 if ${ac_cv_lib_dl_dlopen+:} false; then :
12078 $as_echo_n "(cached) " >&6
12079 else
12080 ac_check_lib_save_LIBS=$LIBS
12081 LIBS="-ldl $LIBS"
12082 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12083 /* end confdefs.h. */
12084
12085 /* Override any GCC internal prototype to avoid an error.
12086 Use char because int might match the return type of a GCC
12087 builtin and then its argument prototype would still apply. */
12088 #ifdef __cplusplus
12089 extern "C"
12090 #endif
12091 char dlopen ();
12092 int
12093 main ()
12094 {
12095 return dlopen ();
12096 ;
12097 return 0;
12098 }
12099 _ACEOF
12100 if ac_fn_c_try_link "$LINENO"; then :
12101 ac_cv_lib_dl_dlopen=yes
12102 else
12103 ac_cv_lib_dl_dlopen=no
12104 fi
12105 rm -f core conftest.err conftest.$ac_objext \
12106 conftest$ac_exeext conftest.$ac_ext
12107 LIBS=$ac_check_lib_save_LIBS
12108 fi
12109 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
12110 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
12111 if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
12112 lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
12113 else
12114 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
12115 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
12116 if ${ac_cv_lib_svld_dlopen+:} false; then :
12117 $as_echo_n "(cached) " >&6
12118 else
12119 ac_check_lib_save_LIBS=$LIBS
12120 LIBS="-lsvld $LIBS"
12121 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12122 /* end confdefs.h. */
12123
12124 /* Override any GCC internal prototype to avoid an error.
12125 Use char because int might match the return type of a GCC
12126 builtin and then its argument prototype would still apply. */
12127 #ifdef __cplusplus
12128 extern "C"
12129 #endif
12130 char dlopen ();
12131 int
12132 main ()
12133 {
12134 return dlopen ();
12135 ;
12136 return 0;
12137 }
12138 _ACEOF
12139 if ac_fn_c_try_link "$LINENO"; then :
12140 ac_cv_lib_svld_dlopen=yes
12141 else
12142 ac_cv_lib_svld_dlopen=no
12143 fi
12144 rm -f core conftest.err conftest.$ac_objext \
12145 conftest$ac_exeext conftest.$ac_ext
12146 LIBS=$ac_check_lib_save_LIBS
12147 fi
12148 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
12149 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
12150 if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
12151 lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
12152 else
12153 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
12154 $as_echo_n "checking for dld_link in -ldld... " >&6; }
12155 if ${ac_cv_lib_dld_dld_link+:} false; then :
12156 $as_echo_n "(cached) " >&6
12157 else
12158 ac_check_lib_save_LIBS=$LIBS
12159 LIBS="-ldld $LIBS"
12160 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12161 /* end confdefs.h. */
12162
12163 /* Override any GCC internal prototype to avoid an error.
12164 Use char because int might match the return type of a GCC
12165 builtin and then its argument prototype would still apply. */
12166 #ifdef __cplusplus
12167 extern "C"
12168 #endif
12169 char dld_link ();
12170 int
12171 main ()
12172 {
12173 return dld_link ();
12174 ;
12175 return 0;
12176 }
12177 _ACEOF
12178 if ac_fn_c_try_link "$LINENO"; then :
12179 ac_cv_lib_dld_dld_link=yes
12180 else
12181 ac_cv_lib_dld_dld_link=no
12182 fi
12183 rm -f core conftest.err conftest.$ac_objext \
12184 conftest$ac_exeext conftest.$ac_ext
12185 LIBS=$ac_check_lib_save_LIBS
12186 fi
12187 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
12188 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
12189 if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
12190 lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
12191 fi
12192
12193
12194 fi
12195
12196
12197 fi
12198
12199
12200 fi
12201
12202
12203 fi
12204
12205
12206 fi
12207
12208 ;;
12209 esac
12210
12211 if test no = "$lt_cv_dlopen"; then
12212 enable_dlopen=no
12213 else
12214 enable_dlopen=yes
12215 fi
12216
12217 case $lt_cv_dlopen in
12218 dlopen)
12219 save_CPPFLAGS=$CPPFLAGS
12220 test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
12221
12222 save_LDFLAGS=$LDFLAGS
12223 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
12224
12225 save_LIBS=$LIBS
12226 LIBS="$lt_cv_dlopen_libs $LIBS"
12227
12228 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
12229 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
12230 if ${lt_cv_dlopen_self+:} false; then :
12231 $as_echo_n "(cached) " >&6
12232 else
12233 if test yes = "$cross_compiling"; then :
12234 lt_cv_dlopen_self=cross
12235 else
12236 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
12237 lt_status=$lt_dlunknown
12238 cat > conftest.$ac_ext <<_LT_EOF
12239 #line $LINENO "configure"
12240 #include "confdefs.h"
12241
12242 #if HAVE_DLFCN_H
12243 #include <dlfcn.h>
12244 #endif
12245
12246 #include <stdio.h>
12247
12248 #ifdef RTLD_GLOBAL
12249 # define LT_DLGLOBAL RTLD_GLOBAL
12250 #else
12251 # ifdef DL_GLOBAL
12252 # define LT_DLGLOBAL DL_GLOBAL
12253 # else
12254 # define LT_DLGLOBAL 0
12255 # endif
12256 #endif
12257
12258 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
12259 find out it does not work in some platform. */
12260 #ifndef LT_DLLAZY_OR_NOW
12261 # ifdef RTLD_LAZY
12262 # define LT_DLLAZY_OR_NOW RTLD_LAZY
12263 # else
12264 # ifdef DL_LAZY
12265 # define LT_DLLAZY_OR_NOW DL_LAZY
12266 # else
12267 # ifdef RTLD_NOW
12268 # define LT_DLLAZY_OR_NOW RTLD_NOW
12269 # else
12270 # ifdef DL_NOW
12271 # define LT_DLLAZY_OR_NOW DL_NOW
12272 # else
12273 # define LT_DLLAZY_OR_NOW 0
12274 # endif
12275 # endif
12276 # endif
12277 # endif
12278 #endif
12279
12280 /* When -fvisibility=hidden is used, assume the code has been annotated
12281 correspondingly for the symbols needed. */
12282 #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
12283 int fnord () __attribute__((visibility("default")));
12284 #endif
12285
12286 int fnord () { return 42; }
12287 int main ()
12288 {
12289 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
12290 int status = $lt_dlunknown;
12291
12292 if (self)
12293 {
12294 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
12295 else
12296 {
12297 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
12298 else puts (dlerror ());
12299 }
12300 /* dlclose (self); */
12301 }
12302 else
12303 puts (dlerror ());
12304
12305 return status;
12306 }
12307 _LT_EOF
12308 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
12309 (eval $ac_link) 2>&5
12310 ac_status=$?
12311 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
12312 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
12313 (./conftest; exit; ) >&5 2>/dev/null
12314 lt_status=$?
12315 case x$lt_status in
12316 x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
12317 x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
12318 x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
12319 esac
12320 else :
12321 # compilation failed
12322 lt_cv_dlopen_self=no
12323 fi
12324 fi
12325 rm -fr conftest*
12326
12327
12328 fi
12329 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
12330 $as_echo "$lt_cv_dlopen_self" >&6; }
12331
12332 if test yes = "$lt_cv_dlopen_self"; then
12333 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
12334 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
12335 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
12336 if ${lt_cv_dlopen_self_static+:} false; then :
12337 $as_echo_n "(cached) " >&6
12338 else
12339 if test yes = "$cross_compiling"; then :
12340 lt_cv_dlopen_self_static=cross
12341 else
12342 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
12343 lt_status=$lt_dlunknown
12344 cat > conftest.$ac_ext <<_LT_EOF
12345 #line $LINENO "configure"
12346 #include "confdefs.h"
12347
12348 #if HAVE_DLFCN_H
12349 #include <dlfcn.h>
12350 #endif
12351
12352 #include <stdio.h>
12353
12354 #ifdef RTLD_GLOBAL
12355 # define LT_DLGLOBAL RTLD_GLOBAL
12356 #else
12357 # ifdef DL_GLOBAL
12358 # define LT_DLGLOBAL DL_GLOBAL
12359 # else
12360 # define LT_DLGLOBAL 0
12361 # endif
12362 #endif
12363
12364 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
12365 find out it does not work in some platform. */
12366 #ifndef LT_DLLAZY_OR_NOW
12367 # ifdef RTLD_LAZY
12368 # define LT_DLLAZY_OR_NOW RTLD_LAZY
12369 # else
12370 # ifdef DL_LAZY
12371 # define LT_DLLAZY_OR_NOW DL_LAZY
12372 # else
12373 # ifdef RTLD_NOW
12374 # define LT_DLLAZY_OR_NOW RTLD_NOW
12375 # else
12376 # ifdef DL_NOW
12377 # define LT_DLLAZY_OR_NOW DL_NOW
12378 # else
12379 # define LT_DLLAZY_OR_NOW 0
12380 # endif
12381 # endif
12382 # endif
12383 # endif
12384 #endif
12385
12386 /* When -fvisibility=hidden is used, assume the code has been annotated
12387 correspondingly for the symbols needed. */
12388 #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
12389 int fnord () __attribute__((visibility("default")));
12390 #endif
12391
12392 int fnord () { return 42; }
12393 int main ()
12394 {
12395 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
12396 int status = $lt_dlunknown;
12397
12398 if (self)
12399 {
12400 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
12401 else
12402 {
12403 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
12404 else puts (dlerror ());
12405 }
12406 /* dlclose (self); */
12407 }
12408 else
12409 puts (dlerror ());
12410
12411 return status;
12412 }
12413 _LT_EOF
12414 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
12415 (eval $ac_link) 2>&5
12416 ac_status=$?
12417 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
12418 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
12419 (./conftest; exit; ) >&5 2>/dev/null
12420 lt_status=$?
12421 case x$lt_status in
12422 x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
12423 x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
12424 x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
12425 esac
12426 else :
12427 # compilation failed
12428 lt_cv_dlopen_self_static=no
12429 fi
12430 fi
12431 rm -fr conftest*
12432
12433
12434 fi
12435 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
12436 $as_echo "$lt_cv_dlopen_self_static" >&6; }
12437 fi
12438
12439 CPPFLAGS=$save_CPPFLAGS
12440 LDFLAGS=$save_LDFLAGS
12441 LIBS=$save_LIBS
12442 ;;
12443 esac
12444
12445 case $lt_cv_dlopen_self in
12446 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
12447 *) enable_dlopen_self=unknown ;;
12448 esac
12449
12450 case $lt_cv_dlopen_self_static in
12451 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
12452 *) enable_dlopen_self_static=unknown ;;
12453 esac
12454 fi
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472 striplib=
12473 old_striplib=
12474 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
12475 $as_echo_n "checking whether stripping libraries is possible... " >&6; }
12476 if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
12477 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
12478 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
12479 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12480 $as_echo "yes" >&6; }
12481 else
12482 # FIXME - insert some real tests, host_os isn't really good enough
12483 case $host_os in
12484 darwin*)
12485 if test -n "$STRIP"; then
12486 striplib="$STRIP -x"
12487 old_striplib="$STRIP -S"
12488 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12489 $as_echo "yes" >&6; }
12490 else
12491 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12492 $as_echo "no" >&6; }
12493 fi
12494 ;;
12495 *)
12496 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12497 $as_echo "no" >&6; }
12498 ;;
12499 esac
12500 fi
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513 # Report what library types will actually be built
12514 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
12515 $as_echo_n "checking if libtool supports shared libraries... " >&6; }
12516 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
12517 $as_echo "$can_build_shared" >&6; }
12518
12519 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
12520 $as_echo_n "checking whether to build shared libraries... " >&6; }
12521 test no = "$can_build_shared" && enable_shared=no
12522
12523 # On AIX, shared libraries and static libraries use the same namespace, and
12524 # are all built from PIC.
12525 case $host_os in
12526 aix3*)
12527 test yes = "$enable_shared" && enable_static=no
12528 if test -n "$RANLIB"; then
12529 archive_cmds="$archive_cmds~\$RANLIB \$lib"
12530 postinstall_cmds='$RANLIB $lib'
12531 fi
12532 ;;
12533
12534 aix[4-9]*)
12535 if test ia64 != "$host_cpu"; then
12536 case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
12537 yes,aix,yes) ;; # shared object as lib.so file only
12538 yes,svr4,*) ;; # shared object as lib.so archive member only
12539 yes,*) enable_static=no ;; # shared object in lib.a archive as well
12540 esac
12541 fi
12542 ;;
12543 esac
12544 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
12545 $as_echo "$enable_shared" >&6; }
12546
12547 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
12548 $as_echo_n "checking whether to build static libraries... " >&6; }
12549 # Make sure either enable_shared or enable_static is yes.
12550 test yes = "$enable_shared" || enable_static=yes
12551 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
12552 $as_echo "$enable_static" >&6; }
12553
12554
12555
12556
12557 fi
12558 ac_ext=c
12559 ac_cpp='$CPP $CPPFLAGS'
12560 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
12561 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
12562 ac_compiler_gnu=$ac_cv_c_compiler_gnu
12563
12564 CC=$lt_save_CC
12565
12566 if test -n "$CXX" && ( test no != "$CXX" &&
12567 ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
12568 (test g++ != "$CXX"))); then
12569 ac_ext=cpp
12570 ac_cpp='$CXXCPP $CPPFLAGS'
12571 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
12572 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
12573 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
12574 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
12575 $as_echo_n "checking how to run the C++ preprocessor... " >&6; }
12576 if test -z "$CXXCPP"; then
12577 if ${ac_cv_prog_CXXCPP+:} false; then :
12578 $as_echo_n "(cached) " >&6
12579 else
12580 # Double quotes because CXXCPP needs to be expanded
12581 for CXXCPP in "$CXX -E" "/lib/cpp"
12582 do
12583 ac_preproc_ok=false
12584 for ac_cxx_preproc_warn_flag in '' yes
12585 do
12586 # Use a header file that comes with gcc, so configuring glibc
12587 # with a fresh cross-compiler works.
12588 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
12589 # <limits.h> exists even on freestanding compilers.
12590 # On the NeXT, cc -E runs the code through the compiler's parser,
12591 # not just through cpp. "Syntax error" is here to catch this case.
12592 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12593 /* end confdefs.h. */
12594 #ifdef __STDC__
12595 # include <limits.h>
12596 #else
12597 # include <assert.h>
12598 #endif
12599 Syntax error
12600 _ACEOF
12601 if ac_fn_cxx_try_cpp "$LINENO"; then :
12602
12603 else
12604 # Broken: fails on valid input.
12605 continue
12606 fi
12607 rm -f conftest.err conftest.i conftest.$ac_ext
12608
12609 # OK, works on sane cases. Now check whether nonexistent headers
12610 # can be detected and how.
12611 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12612 /* end confdefs.h. */
12613 #include <ac_nonexistent.h>
12614 _ACEOF
12615 if ac_fn_cxx_try_cpp "$LINENO"; then :
12616 # Broken: success on invalid input.
12617 continue
12618 else
12619 # Passes both tests.
12620 ac_preproc_ok=:
12621 break
12622 fi
12623 rm -f conftest.err conftest.i conftest.$ac_ext
12624
12625 done
12626 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
12627 rm -f conftest.i conftest.err conftest.$ac_ext
12628 if $ac_preproc_ok; then :
12629 break
12630 fi
12631
12632 done
12633 ac_cv_prog_CXXCPP=$CXXCPP
12634
12635 fi
12636 CXXCPP=$ac_cv_prog_CXXCPP
12637 else
12638 ac_cv_prog_CXXCPP=$CXXCPP
12639 fi
12640 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
12641 $as_echo "$CXXCPP" >&6; }
12642 ac_preproc_ok=false
12643 for ac_cxx_preproc_warn_flag in '' yes
12644 do
12645 # Use a header file that comes with gcc, so configuring glibc
12646 # with a fresh cross-compiler works.
12647 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
12648 # <limits.h> exists even on freestanding compilers.
12649 # On the NeXT, cc -E runs the code through the compiler's parser,
12650 # not just through cpp. "Syntax error" is here to catch this case.
12651 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12652 /* end confdefs.h. */
12653 #ifdef __STDC__
12654 # include <limits.h>
12655 #else
12656 # include <assert.h>
12657 #endif
12658 Syntax error
12659 _ACEOF
12660 if ac_fn_cxx_try_cpp "$LINENO"; then :
12661
12662 else
12663 # Broken: fails on valid input.
12664 continue
12665 fi
12666 rm -f conftest.err conftest.i conftest.$ac_ext
12667
12668 # OK, works on sane cases. Now check whether nonexistent headers
12669 # can be detected and how.
12670 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12671 /* end confdefs.h. */
12672 #include <ac_nonexistent.h>
12673 _ACEOF
12674 if ac_fn_cxx_try_cpp "$LINENO"; then :
12675 # Broken: success on invalid input.
12676 continue
12677 else
12678 # Passes both tests.
12679 ac_preproc_ok=:
12680 break
12681 fi
12682 rm -f conftest.err conftest.i conftest.$ac_ext
12683
12684 done
12685 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
12686 rm -f conftest.i conftest.err conftest.$ac_ext
12687 if $ac_preproc_ok; then :
12688
12689 else
12690 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
12691 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
12692 as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
12693 See \`config.log' for more details" "$LINENO" 5; }
12694 fi
12695
12696 ac_ext=c
12697 ac_cpp='$CPP $CPPFLAGS'
12698 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
12699 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
12700 ac_compiler_gnu=$ac_cv_c_compiler_gnu
12701
12702 else
12703 _lt_caught_CXX_error=yes
12704 fi
12705
12706 ac_ext=cpp
12707 ac_cpp='$CXXCPP $CPPFLAGS'
12708 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
12709 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
12710 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
12711
12712 archive_cmds_need_lc_CXX=no
12713 allow_undefined_flag_CXX=
12714 always_export_symbols_CXX=no
12715 archive_expsym_cmds_CXX=
12716 compiler_needs_object_CXX=no
12717 export_dynamic_flag_spec_CXX=
12718 hardcode_direct_CXX=no
12719 hardcode_direct_absolute_CXX=no
12720 hardcode_libdir_flag_spec_CXX=
12721 hardcode_libdir_separator_CXX=
12722 hardcode_minus_L_CXX=no
12723 hardcode_shlibpath_var_CXX=unsupported
12724 hardcode_automatic_CXX=no
12725 inherit_rpath_CXX=no
12726 module_cmds_CXX=
12727 module_expsym_cmds_CXX=
12728 link_all_deplibs_CXX=unknown
12729 old_archive_cmds_CXX=$old_archive_cmds
12730 reload_flag_CXX=$reload_flag
12731 reload_cmds_CXX=$reload_cmds
12732 no_undefined_flag_CXX=
12733 whole_archive_flag_spec_CXX=
12734 enable_shared_with_static_runtimes_CXX=no
12735
12736 # Source file extension for C++ test sources.
12737 ac_ext=cpp
12738
12739 # Object file extension for compiled C++ test sources.
12740 objext=o
12741 objext_CXX=$objext
12742
12743 # No sense in running all these tests if we already determined that
12744 # the CXX compiler isn't working. Some variables (like enable_shared)
12745 # are currently assumed to apply to all compilers on this platform,
12746 # and will be corrupted by setting them based on a non-working compiler.
12747 if test yes != "$_lt_caught_CXX_error"; then
12748 # Code to be used in simple compile tests
12749 lt_simple_compile_test_code="int some_variable = 0;"
12750
12751 # Code to be used in simple link tests
12752 lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
12753
12754 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
12755
12756
12757
12758
12759
12760
12761 # If no C compiler was specified, use CC.
12762 LTCC=${LTCC-"$CC"}
12763
12764 # If no C compiler flags were specified, use CFLAGS.
12765 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
12766
12767 # Allow CC to be a program name with arguments.
12768 compiler=$CC
12769
12770
12771 # save warnings/boilerplate of simple test code
12772 ac_outfile=conftest.$ac_objext
12773 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
12774 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
12775 _lt_compiler_boilerplate=`cat conftest.err`
12776 $RM conftest*
12777
12778 ac_outfile=conftest.$ac_objext
12779 echo "$lt_simple_link_test_code" >conftest.$ac_ext
12780 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
12781 _lt_linker_boilerplate=`cat conftest.err`
12782 $RM -r conftest*
12783
12784
12785 # Allow CC to be a program name with arguments.
12786 lt_save_CC=$CC
12787 lt_save_CFLAGS=$CFLAGS
12788 lt_save_LD=$LD
12789 lt_save_GCC=$GCC
12790 GCC=$GXX
12791 lt_save_with_gnu_ld=$with_gnu_ld
12792 lt_save_path_LD=$lt_cv_path_LD
12793 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
12794 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
12795 else
12796 $as_unset lt_cv_prog_gnu_ld
12797 fi
12798 if test -n "${lt_cv_path_LDCXX+set}"; then
12799 lt_cv_path_LD=$lt_cv_path_LDCXX
12800 else
12801 $as_unset lt_cv_path_LD
12802 fi
12803 test -z "${LDCXX+set}" || LD=$LDCXX
12804 CC=${CXX-"c++"}
12805 CFLAGS=$CXXFLAGS
12806 compiler=$CC
12807 compiler_CXX=$CC
12808 func_cc_basename $compiler
12809 cc_basename=$func_cc_basename_result
12810
12811
12812 if test -n "$compiler"; then
12813 # We don't want -fno-exception when compiling C++ code, so set the
12814 # no_builtin_flag separately
12815 if test yes = "$GXX"; then
12816 lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
12817 else
12818 lt_prog_compiler_no_builtin_flag_CXX=
12819 fi
12820
12821 if test yes = "$GXX"; then
12822 # Set up default GNU C++ configuration
12823
12824
12825
12826 # Check whether --with-gnu-ld was given.
12827 if test "${with_gnu_ld+set}" = set; then :
12828 withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
12829 else
12830 with_gnu_ld=no
12831 fi
12832
12833 ac_prog=ld
12834 if test yes = "$GCC"; then
12835 # Check if gcc -print-prog-name=ld gives a path.
12836 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
12837 $as_echo_n "checking for ld used by $CC... " >&6; }
12838 case $host in
12839 *-*-mingw*)
12840 # gcc leaves a trailing carriage return, which upsets mingw
12841 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
12842 *)
12843 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
12844 esac
12845 case $ac_prog in
12846 # Accept absolute paths.
12847 [\\/]* | ?:[\\/]*)
12848 re_direlt='/[^/][^/]*/\.\./'
12849 # Canonicalize the pathname of ld
12850 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
12851 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
12852 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
12853 done
12854 test -z "$LD" && LD=$ac_prog
12855 ;;
12856 "")
12857 # If it fails, then pretend we aren't using GCC.
12858 ac_prog=ld
12859 ;;
12860 *)
12861 # If it is relative, then search for the first ld in PATH.
12862 with_gnu_ld=unknown
12863 ;;
12864 esac
12865 elif test yes = "$with_gnu_ld"; then
12866 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
12867 $as_echo_n "checking for GNU ld... " >&6; }
12868 else
12869 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
12870 $as_echo_n "checking for non-GNU ld... " >&6; }
12871 fi
12872 if ${lt_cv_path_LD+:} false; then :
12873 $as_echo_n "(cached) " >&6
12874 else
12875 if test -z "$LD"; then
12876 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
12877 for ac_dir in $PATH; do
12878 IFS=$lt_save_ifs
12879 test -z "$ac_dir" && ac_dir=.
12880 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
12881 lt_cv_path_LD=$ac_dir/$ac_prog
12882 # Check to see if the program is GNU ld. I'd rather use --version,
12883 # but apparently some variants of GNU ld only accept -v.
12884 # Break only if it was the GNU/non-GNU ld that we prefer.
12885 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
12886 *GNU* | *'with BFD'*)
12887 test no != "$with_gnu_ld" && break
12888 ;;
12889 *)
12890 test yes != "$with_gnu_ld" && break
12891 ;;
12892 esac
12893 fi
12894 done
12895 IFS=$lt_save_ifs
12896 else
12897 lt_cv_path_LD=$LD # Let the user override the test with a path.
12898 fi
12899 fi
12900
12901 LD=$lt_cv_path_LD
12902 if test -n "$LD"; then
12903 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
12904 $as_echo "$LD" >&6; }
12905 else
12906 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12907 $as_echo "no" >&6; }
12908 fi
12909 test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
12910 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
12911 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
12912 if ${lt_cv_prog_gnu_ld+:} false; then :
12913 $as_echo_n "(cached) " >&6
12914 else
12915 # I'd rather use --version here, but apparently some GNU lds only accept -v.
12916 case `$LD -v 2>&1 </dev/null` in
12917 *GNU* | *'with BFD'*)
12918 lt_cv_prog_gnu_ld=yes
12919 ;;
12920 *)
12921 lt_cv_prog_gnu_ld=no
12922 ;;
12923 esac
12924 fi
12925 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
12926 $as_echo "$lt_cv_prog_gnu_ld" >&6; }
12927 with_gnu_ld=$lt_cv_prog_gnu_ld
12928
12929
12930
12931
12932
12933
12934
12935 # Check if GNU C++ uses GNU ld as the underlying linker, since the
12936 # archiving commands below assume that GNU ld is being used.
12937 if test yes = "$with_gnu_ld"; then
12938 archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
12939 archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
12940
12941 hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
12942 export_dynamic_flag_spec_CXX='$wl--export-dynamic'
12943
12944 # If archive_cmds runs LD, not CC, wlarc should be empty
12945 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
12946 # investigate it a little bit more. (MM)
12947 wlarc='$wl'
12948
12949 # ancient GNU ld didn't support --whole-archive et. al.
12950 if eval "`$CC -print-prog-name=ld` --help 2>&1" |
12951 $GREP 'no-whole-archive' > /dev/null; then
12952 whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
12953 else
12954 whole_archive_flag_spec_CXX=
12955 fi
12956 else
12957 with_gnu_ld=no
12958 wlarc=
12959
12960 # A generic and very simple default shared library creation
12961 # command for GNU C++ for the case where it uses the native
12962 # linker, instead of GNU ld. If possible, this setting should
12963 # overridden to take advantage of the native linker features on
12964 # the platform it is being used on.
12965 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
12966 fi
12967
12968 # Commands to make compiler produce verbose output that lists
12969 # what "hidden" libraries, object files and flags are used when
12970 # linking a shared library.
12971 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
12972
12973 else
12974 GXX=no
12975 with_gnu_ld=no
12976 wlarc=
12977 fi
12978
12979 # PORTME: fill in a description of your system's C++ link characteristics
12980 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
12981 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
12982 ld_shlibs_CXX=yes
12983 case $host_os in
12984 aix3*)
12985 # FIXME: insert proper C++ library support
12986 ld_shlibs_CXX=no
12987 ;;
12988 aix[4-9]*)
12989 if test ia64 = "$host_cpu"; then
12990 # On IA64, the linker does run time linking by default, so we don't
12991 # have to do anything special.
12992 aix_use_runtimelinking=no
12993 exp_sym_flag='-Bexport'
12994 no_entry_flag=
12995 else
12996 aix_use_runtimelinking=no
12997
12998 # Test if we are trying to use run time linking or normal
12999 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
13000 # have runtime linking enabled, and use it for executables.
13001 # For shared libraries, we enable/disable runtime linking
13002 # depending on the kind of the shared library created -
13003 # when "with_aix_soname,aix_use_runtimelinking" is:
13004 # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
13005 # "aix,yes" lib.so shared, rtl:yes, for executables
13006 # lib.a static archive
13007 # "both,no" lib.so.V(shr.o) shared, rtl:yes
13008 # lib.a(lib.so.V) shared, rtl:no, for executables
13009 # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
13010 # lib.a(lib.so.V) shared, rtl:no
13011 # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
13012 # lib.a static archive
13013 case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
13014 for ld_flag in $LDFLAGS; do
13015 case $ld_flag in
13016 *-brtl*)
13017 aix_use_runtimelinking=yes
13018 break
13019 ;;
13020 esac
13021 done
13022 if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
13023 # With aix-soname=svr4, we create the lib.so.V shared archives only,
13024 # so we don't have lib.a shared libs to link our executables.
13025 # We have to force runtime linking in this case.
13026 aix_use_runtimelinking=yes
13027 LDFLAGS="$LDFLAGS -Wl,-brtl"
13028 fi
13029 ;;
13030 esac
13031
13032 exp_sym_flag='-bexport'
13033 no_entry_flag='-bnoentry'
13034 fi
13035
13036 # When large executables or shared objects are built, AIX ld can
13037 # have problems creating the table of contents. If linking a library
13038 # or program results in "error TOC overflow" add -mminimal-toc to
13039 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
13040 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
13041
13042 archive_cmds_CXX=''
13043 hardcode_direct_CXX=yes
13044 hardcode_direct_absolute_CXX=yes
13045 hardcode_libdir_separator_CXX=':'
13046 link_all_deplibs_CXX=yes
13047 file_list_spec_CXX='$wl-f,'
13048 case $with_aix_soname,$aix_use_runtimelinking in
13049 aix,*) ;; # no import file
13050 svr4,* | *,yes) # use import file
13051 # The Import File defines what to hardcode.
13052 hardcode_direct_CXX=no
13053 hardcode_direct_absolute_CXX=no
13054 ;;
13055 esac
13056
13057 if test yes = "$GXX"; then
13058 case $host_os in aix4.[012]|aix4.[012].*)
13059 # We only want to do this on AIX 4.2 and lower, the check
13060 # below for broken collect2 doesn't work under 4.3+
13061 collect2name=`$CC -print-prog-name=collect2`
13062 if test -f "$collect2name" &&
13063 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
13064 then
13065 # We have reworked collect2
13066 :
13067 else
13068 # We have old collect2
13069 hardcode_direct_CXX=unsupported
13070 # It fails to find uninstalled libraries when the uninstalled
13071 # path is not listed in the libpath. Setting hardcode_minus_L
13072 # to unsupported forces relinking
13073 hardcode_minus_L_CXX=yes
13074 hardcode_libdir_flag_spec_CXX='-L$libdir'
13075 hardcode_libdir_separator_CXX=
13076 fi
13077 esac
13078 shared_flag='-shared'
13079 if test yes = "$aix_use_runtimelinking"; then
13080 shared_flag=$shared_flag' $wl-G'
13081 fi
13082 # Need to ensure runtime linking is disabled for the traditional
13083 # shared library, or the linker may eventually find shared libraries
13084 # /with/ Import File - we do not want to mix them.
13085 shared_flag_aix='-shared'
13086 shared_flag_svr4='-shared $wl-G'
13087 else
13088 # not using gcc
13089 if test ia64 = "$host_cpu"; then
13090 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
13091 # chokes on -Wl,-G. The following line is correct:
13092 shared_flag='-G'
13093 else
13094 if test yes = "$aix_use_runtimelinking"; then
13095 shared_flag='$wl-G'
13096 else
13097 shared_flag='$wl-bM:SRE'
13098 fi
13099 shared_flag_aix='$wl-bM:SRE'
13100 shared_flag_svr4='$wl-G'
13101 fi
13102 fi
13103
13104 export_dynamic_flag_spec_CXX='$wl-bexpall'
13105 # It seems that -bexpall does not export symbols beginning with
13106 # underscore (_), so it is better to generate a list of symbols to
13107 # export.
13108 always_export_symbols_CXX=yes
13109 if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
13110 # Warning - without using the other runtime loading flags (-brtl),
13111 # -berok will link without error, but may produce a broken library.
13112 # The "-G" linker flag allows undefined symbols.
13113 no_undefined_flag_CXX='-bernotok'
13114 # Determine the default libpath from the value encoded in an empty
13115 # executable.
13116 if test set = "${lt_cv_aix_libpath+set}"; then
13117 aix_libpath=$lt_cv_aix_libpath
13118 else
13119 if ${lt_cv_aix_libpath__CXX+:} false; then :
13120 $as_echo_n "(cached) " >&6
13121 else
13122 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13123 /* end confdefs.h. */
13124
13125 int
13126 main ()
13127 {
13128
13129 ;
13130 return 0;
13131 }
13132 _ACEOF
13133 if ac_fn_cxx_try_link "$LINENO"; then :
13134
13135 lt_aix_libpath_sed='
13136 /Import File Strings/,/^$/ {
13137 /^0/ {
13138 s/^0 *\([^ ]*\) *$/\1/
13139 p
13140 }
13141 }'
13142 lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
13143 # Check for a 64-bit object if we didn't find anything.
13144 if test -z "$lt_cv_aix_libpath__CXX"; then
13145 lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
13146 fi
13147 fi
13148 rm -f core conftest.err conftest.$ac_objext \
13149 conftest$ac_exeext conftest.$ac_ext
13150 if test -z "$lt_cv_aix_libpath__CXX"; then
13151 lt_cv_aix_libpath__CXX=/usr/lib:/lib
13152 fi
13153
13154 fi
13155
13156 aix_libpath=$lt_cv_aix_libpath__CXX
13157 fi
13158
13159 hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
13160
13161 archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
13162 else
13163 if test ia64 = "$host_cpu"; then
13164 hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib'
13165 allow_undefined_flag_CXX="-z nodefs"
13166 archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
13167 else
13168 # Determine the default libpath from the value encoded in an
13169 # empty executable.
13170 if test set = "${lt_cv_aix_libpath+set}"; then
13171 aix_libpath=$lt_cv_aix_libpath
13172 else
13173 if ${lt_cv_aix_libpath__CXX+:} false; then :
13174 $as_echo_n "(cached) " >&6
13175 else
13176 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13177 /* end confdefs.h. */
13178
13179 int
13180 main ()
13181 {
13182
13183 ;
13184 return 0;
13185 }
13186 _ACEOF
13187 if ac_fn_cxx_try_link "$LINENO"; then :
13188
13189 lt_aix_libpath_sed='
13190 /Import File Strings/,/^$/ {
13191 /^0/ {
13192 s/^0 *\([^ ]*\) *$/\1/
13193 p
13194 }
13195 }'
13196 lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
13197 # Check for a 64-bit object if we didn't find anything.
13198 if test -z "$lt_cv_aix_libpath__CXX"; then
13199 lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
13200 fi
13201 fi
13202 rm -f core conftest.err conftest.$ac_objext \
13203 conftest$ac_exeext conftest.$ac_ext
13204 if test -z "$lt_cv_aix_libpath__CXX"; then
13205 lt_cv_aix_libpath__CXX=/usr/lib:/lib
13206 fi
13207
13208 fi
13209
13210 aix_libpath=$lt_cv_aix_libpath__CXX
13211 fi
13212
13213 hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
13214 # Warning - without using the other run time loading flags,
13215 # -berok will link without error, but may produce a broken library.
13216 no_undefined_flag_CXX=' $wl-bernotok'
13217 allow_undefined_flag_CXX=' $wl-berok'
13218 if test yes = "$with_gnu_ld"; then
13219 # We only use this code for GNU lds that support --whole-archive.
13220 whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
13221 else
13222 # Exported symbols can be pulled into shared objects from archives
13223 whole_archive_flag_spec_CXX='$convenience'
13224 fi
13225 archive_cmds_need_lc_CXX=yes
13226 archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
13227 # -brtl affects multiple linker settings, -berok does not and is overridden later
13228 compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
13229 if test svr4 != "$with_aix_soname"; then
13230 # This is similar to how AIX traditionally builds its shared
13231 # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
13232 archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
13233 fi
13234 if test aix != "$with_aix_soname"; then
13235 archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
13236 else
13237 # used by -dlpreopen to get the symbols
13238 archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
13239 fi
13240 archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d'
13241 fi
13242 fi
13243 ;;
13244
13245 beos*)
13246 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
13247 allow_undefined_flag_CXX=unsupported
13248 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
13249 # support --undefined. This deserves some investigation. FIXME
13250 archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
13251 else
13252 ld_shlibs_CXX=no
13253 fi
13254 ;;
13255
13256 chorus*)
13257 case $cc_basename in
13258 *)
13259 # FIXME: insert proper C++ library support
13260 ld_shlibs_CXX=no
13261 ;;
13262 esac
13263 ;;
13264
13265 cygwin* | mingw* | pw32* | cegcc*)
13266 case $GXX,$cc_basename in
13267 ,cl* | no,cl*)
13268 # Native MSVC
13269 # hardcode_libdir_flag_spec is actually meaningless, as there is
13270 # no search path for DLLs.
13271 hardcode_libdir_flag_spec_CXX=' '
13272 allow_undefined_flag_CXX=unsupported
13273 always_export_symbols_CXX=yes
13274 file_list_spec_CXX='@'
13275 # Tell ltmain to make .lib files, not .a files.
13276 libext=lib
13277 # Tell ltmain to make .dll files, not .so files.
13278 shrext_cmds=.dll
13279 # FIXME: Setting linknames here is a bad hack.
13280 archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
13281 archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
13282 cp "$export_symbols" "$output_objdir/$soname.def";
13283 echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
13284 else
13285 $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
13286 fi~
13287 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
13288 linknames='
13289 # The linker will not automatically build a static lib if we build a DLL.
13290 # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'
13291 enable_shared_with_static_runtimes_CXX=yes
13292 # Don't use ranlib
13293 old_postinstall_cmds_CXX='chmod 644 $oldlib'
13294 postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~
13295 lt_tool_outputfile="@TOOL_OUTPUT@"~
13296 case $lt_outputfile in
13297 *.exe|*.EXE) ;;
13298 *)
13299 lt_outputfile=$lt_outputfile.exe
13300 lt_tool_outputfile=$lt_tool_outputfile.exe
13301 ;;
13302 esac~
13303 func_to_tool_file "$lt_outputfile"~
13304 if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
13305 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
13306 $RM "$lt_outputfile.manifest";
13307 fi'
13308 ;;
13309 *)
13310 # g++
13311 # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
13312 # as there is no search path for DLLs.
13313 hardcode_libdir_flag_spec_CXX='-L$libdir'
13314 export_dynamic_flag_spec_CXX='$wl--export-all-symbols'
13315 allow_undefined_flag_CXX=unsupported
13316 always_export_symbols_CXX=no
13317 enable_shared_with_static_runtimes_CXX=yes
13318
13319 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
13320 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
13321 # If the export-symbols file already is a .def file, use it as
13322 # is; otherwise, prepend EXPORTS...
13323 archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
13324 cp $export_symbols $output_objdir/$soname.def;
13325 else
13326 echo EXPORTS > $output_objdir/$soname.def;
13327 cat $export_symbols >> $output_objdir/$soname.def;
13328 fi~
13329 $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
13330 else
13331 ld_shlibs_CXX=no
13332 fi
13333 ;;
13334 esac
13335 ;;
13336 darwin* | rhapsody*)
13337
13338
13339 archive_cmds_need_lc_CXX=no
13340 hardcode_direct_CXX=no
13341 hardcode_automatic_CXX=yes
13342 hardcode_shlibpath_var_CXX=unsupported
13343 if test yes = "$lt_cv_ld_force_load"; then
13344 whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
13345
13346 else
13347 whole_archive_flag_spec_CXX=''
13348 fi
13349 link_all_deplibs_CXX=yes
13350 allow_undefined_flag_CXX=$_lt_dar_allow_undefined
13351 case $cc_basename in
13352 ifort*|nagfor*) _lt_dar_can_shared=yes ;;
13353 *) _lt_dar_can_shared=$GCC ;;
13354 esac
13355 if test yes = "$_lt_dar_can_shared"; then
13356 output_verbose_link_cmd=func_echo_all
13357 archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
13358 module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
13359 archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
13360 module_expsym_cmds_CXX="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
13361 if test yes != "$lt_cv_apple_cc_single_mod"; then
13362 archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
13363 archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
13364 fi
13365
13366 else
13367 ld_shlibs_CXX=no
13368 fi
13369
13370 ;;
13371
13372 os2*)
13373 hardcode_libdir_flag_spec_CXX='-L$libdir'
13374 hardcode_minus_L_CXX=yes
13375 allow_undefined_flag_CXX=unsupported
13376 shrext_cmds=.dll
13377 archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
13378 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
13379 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
13380 $ECHO EXPORTS >> $output_objdir/$libname.def~
13381 emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
13382 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
13383 emximp -o $lib $output_objdir/$libname.def'
13384 archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
13385 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
13386 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
13387 $ECHO EXPORTS >> $output_objdir/$libname.def~
13388 prefix_cmds="$SED"~
13389 if test EXPORTS = "`$SED 1q $export_symbols`"; then
13390 prefix_cmds="$prefix_cmds -e 1d";
13391 fi~
13392 prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
13393 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
13394 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
13395 emximp -o $lib $output_objdir/$libname.def'
13396 old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
13397 enable_shared_with_static_runtimes_CXX=yes
13398 ;;
13399
13400 dgux*)
13401 case $cc_basename in
13402 ec++*)
13403 # FIXME: insert proper C++ library support
13404 ld_shlibs_CXX=no
13405 ;;
13406 ghcx*)
13407 # Green Hills C++ Compiler
13408 # FIXME: insert proper C++ library support
13409 ld_shlibs_CXX=no
13410 ;;
13411 *)
13412 # FIXME: insert proper C++ library support
13413 ld_shlibs_CXX=no
13414 ;;
13415 esac
13416 ;;
13417
13418 freebsd2.*)
13419 # C++ shared libraries reported to be fairly broken before
13420 # switch to ELF
13421 ld_shlibs_CXX=no
13422 ;;
13423
13424 freebsd-elf*)
13425 archive_cmds_need_lc_CXX=no
13426 ;;
13427
13428 freebsd* | dragonfly*)
13429 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
13430 # conventions
13431 ld_shlibs_CXX=yes
13432 ;;
13433
13434 haiku*)
13435 archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
13436 link_all_deplibs_CXX=yes
13437 ;;
13438
13439 hpux9*)
13440 hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
13441 hardcode_libdir_separator_CXX=:
13442 export_dynamic_flag_spec_CXX='$wl-E'
13443 hardcode_direct_CXX=yes
13444 hardcode_minus_L_CXX=yes # Not in the search PATH,
13445 # but as the default
13446 # location of the library.
13447
13448 case $cc_basename in
13449 CC*)
13450 # FIXME: insert proper C++ library support
13451 ld_shlibs_CXX=no
13452 ;;
13453 aCC*)
13454 archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
13455 # Commands to make compiler produce verbose output that lists
13456 # what "hidden" libraries, object files and flags are used when
13457 # linking a shared library.
13458 #
13459 # There doesn't appear to be a way to prevent this compiler from
13460 # explicitly linking system object files so we need to strip them
13461 # from the output so that they don't get included in the library
13462 # dependencies.
13463 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
13464 ;;
13465 *)
13466 if test yes = "$GXX"; then
13467 archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
13468 else
13469 # FIXME: insert proper C++ library support
13470 ld_shlibs_CXX=no
13471 fi
13472 ;;
13473 esac
13474 ;;
13475
13476 hpux10*|hpux11*)
13477 if test no = "$with_gnu_ld"; then
13478 hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
13479 hardcode_libdir_separator_CXX=:
13480
13481 case $host_cpu in
13482 hppa*64*|ia64*)
13483 ;;
13484 *)
13485 export_dynamic_flag_spec_CXX='$wl-E'
13486 ;;
13487 esac
13488 fi
13489 case $host_cpu in
13490 hppa*64*|ia64*)
13491 hardcode_direct_CXX=no
13492 hardcode_shlibpath_var_CXX=no
13493 ;;
13494 *)
13495 hardcode_direct_CXX=yes
13496 hardcode_direct_absolute_CXX=yes
13497 hardcode_minus_L_CXX=yes # Not in the search PATH,
13498 # but as the default
13499 # location of the library.
13500 ;;
13501 esac
13502
13503 case $cc_basename in
13504 CC*)
13505 # FIXME: insert proper C++ library support
13506 ld_shlibs_CXX=no
13507 ;;
13508 aCC*)
13509 case $host_cpu in
13510 hppa*64*)
13511 archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
13512 ;;
13513 ia64*)
13514 archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
13515 ;;
13516 *)
13517 archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
13518 ;;
13519 esac
13520 # Commands to make compiler produce verbose output that lists
13521 # what "hidden" libraries, object files and flags are used when
13522 # linking a shared library.
13523 #
13524 # There doesn't appear to be a way to prevent this compiler from
13525 # explicitly linking system object files so we need to strip them
13526 # from the output so that they don't get included in the library
13527 # dependencies.
13528 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
13529 ;;
13530 *)
13531 if test yes = "$GXX"; then
13532 if test no = "$with_gnu_ld"; then
13533 case $host_cpu in
13534 hppa*64*)
13535 archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
13536 ;;
13537 ia64*)
13538 archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
13539 ;;
13540 *)
13541 archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
13542 ;;
13543 esac
13544 fi
13545 else
13546 # FIXME: insert proper C++ library support
13547 ld_shlibs_CXX=no
13548 fi
13549 ;;
13550 esac
13551 ;;
13552
13553 interix[3-9]*)
13554 hardcode_direct_CXX=no
13555 hardcode_shlibpath_var_CXX=no
13556 hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
13557 export_dynamic_flag_spec_CXX='$wl-E'
13558 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
13559 # Instead, shared libraries are loaded at an image base (0x10000000 by
13560 # default) and relocated if they conflict, which is a slow very memory
13561 # consuming and fragmenting process. To avoid this, we pick a random,
13562 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
13563 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
13564 archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
13565 archive_expsym_cmds_CXX='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
13566 ;;
13567 irix5* | irix6*)
13568 case $cc_basename in
13569 CC*)
13570 # SGI C++
13571 archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
13572
13573 # Archives containing C++ object files must be created using
13574 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
13575 # necessary to make sure instantiated templates are included
13576 # in the archive.
13577 old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
13578 ;;
13579 *)
13580 if test yes = "$GXX"; then
13581 if test no = "$with_gnu_ld"; then
13582 archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
13583 else
13584 archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
13585 fi
13586 fi
13587 link_all_deplibs_CXX=yes
13588 ;;
13589 esac
13590 hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
13591 hardcode_libdir_separator_CXX=:
13592 inherit_rpath_CXX=yes
13593 ;;
13594
13595 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
13596 case $cc_basename in
13597 KCC*)
13598 # Kuck and Associates, Inc. (KAI) C++ Compiler
13599
13600 # KCC will only create a shared library if the output file
13601 # ends with ".so" (or ".sl" for HP-UX), so rename the library
13602 # to its proper name (with version) after linking.
13603 archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
13604 archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
13605 # Commands to make compiler produce verbose output that lists
13606 # what "hidden" libraries, object files and flags are used when
13607 # linking a shared library.
13608 #
13609 # There doesn't appear to be a way to prevent this compiler from
13610 # explicitly linking system object files so we need to strip them
13611 # from the output so that they don't get included in the library
13612 # dependencies.
13613 output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
13614
13615 hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
13616 export_dynamic_flag_spec_CXX='$wl--export-dynamic'
13617
13618 # Archives containing C++ object files must be created using
13619 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
13620 old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
13621 ;;
13622 icpc* | ecpc* )
13623 # Intel C++
13624 with_gnu_ld=yes
13625 # version 8.0 and above of icpc choke on multiply defined symbols
13626 # if we add $predep_objects and $postdep_objects, however 7.1 and
13627 # earlier do not add the objects themselves.
13628 case `$CC -V 2>&1` in
13629 *"Version 7."*)
13630 archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
13631 archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
13632 ;;
13633 *) # Version 8.0 or newer
13634 tmp_idyn=
13635 case $host_cpu in
13636 ia64*) tmp_idyn=' -i_dynamic';;
13637 esac
13638 archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
13639 archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
13640 ;;
13641 esac
13642 archive_cmds_need_lc_CXX=no
13643 hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
13644 export_dynamic_flag_spec_CXX='$wl--export-dynamic'
13645 whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
13646 ;;
13647 pgCC* | pgcpp*)
13648 # Portland Group C++ compiler
13649 case `$CC -V` in
13650 *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
13651 prelink_cmds_CXX='tpldir=Template.dir~
13652 rm -rf $tpldir~
13653 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
13654 compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
13655 old_archive_cmds_CXX='tpldir=Template.dir~
13656 rm -rf $tpldir~
13657 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
13658 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
13659 $RANLIB $oldlib'
13660 archive_cmds_CXX='tpldir=Template.dir~
13661 rm -rf $tpldir~
13662 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
13663 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
13664 archive_expsym_cmds_CXX='tpldir=Template.dir~
13665 rm -rf $tpldir~
13666 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
13667 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
13668 ;;
13669 *) # Version 6 and above use weak symbols
13670 archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
13671 archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
13672 ;;
13673 esac
13674
13675 hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir'
13676 export_dynamic_flag_spec_CXX='$wl--export-dynamic'
13677 whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
13678 ;;
13679 cxx*)
13680 # Compaq C++
13681 archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
13682 archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols'
13683
13684 runpath_var=LD_RUN_PATH
13685 hardcode_libdir_flag_spec_CXX='-rpath $libdir'
13686 hardcode_libdir_separator_CXX=:
13687
13688 # Commands to make compiler produce verbose output that lists
13689 # what "hidden" libraries, object files and flags are used when
13690 # linking a shared library.
13691 #
13692 # There doesn't appear to be a way to prevent this compiler from
13693 # explicitly linking system object files so we need to strip them
13694 # from the output so that they don't get included in the library
13695 # dependencies.
13696 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
13697 ;;
13698 xl* | mpixl* | bgxl*)
13699 # IBM XL 8.0 on PPC, with GNU ld
13700 hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
13701 export_dynamic_flag_spec_CXX='$wl--export-dynamic'
13702 archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
13703 if test yes = "$supports_anon_versioning"; then
13704 archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
13705 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
13706 echo "local: *; };" >> $output_objdir/$libname.ver~
13707 $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
13708 fi
13709 ;;
13710 *)
13711 case `$CC -V 2>&1 | sed 5q` in
13712 *Sun\ C*)
13713 # Sun C++ 5.9
13714 no_undefined_flag_CXX=' -zdefs'
13715 archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
13716 archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
13717 hardcode_libdir_flag_spec_CXX='-R$libdir'
13718 whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
13719 compiler_needs_object_CXX=yes
13720
13721 # Not sure whether something based on
13722 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
13723 # would be better.
13724 output_verbose_link_cmd='func_echo_all'
13725
13726 # Archives containing C++ object files must be created using
13727 # "CC -xar", where "CC" is the Sun C++ compiler. This is
13728 # necessary to make sure instantiated templates are included
13729 # in the archive.
13730 old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
13731 ;;
13732 esac
13733 ;;
13734 esac
13735 ;;
13736
13737 lynxos*)
13738 # FIXME: insert proper C++ library support
13739 ld_shlibs_CXX=no
13740 ;;
13741
13742 m88k*)
13743 # FIXME: insert proper C++ library support
13744 ld_shlibs_CXX=no
13745 ;;
13746
13747 mvs*)
13748 case $cc_basename in
13749 cxx*)
13750 # FIXME: insert proper C++ library support
13751 ld_shlibs_CXX=no
13752 ;;
13753 *)
13754 # FIXME: insert proper C++ library support
13755 ld_shlibs_CXX=no
13756 ;;
13757 esac
13758 ;;
13759
13760 netbsd*)
13761 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
13762 archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
13763 wlarc=
13764 hardcode_libdir_flag_spec_CXX='-R$libdir'
13765 hardcode_direct_CXX=yes
13766 hardcode_shlibpath_var_CXX=no
13767 fi
13768 # Workaround some broken pre-1.5 toolchains
13769 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
13770 ;;
13771
13772 *nto* | *qnx*)
13773 ld_shlibs_CXX=yes
13774 ;;
13775
13776 openbsd* | bitrig*)
13777 if test -f /usr/libexec/ld.so; then
13778 hardcode_direct_CXX=yes
13779 hardcode_shlibpath_var_CXX=no
13780 hardcode_direct_absolute_CXX=yes
13781 archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
13782 hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
13783 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
13784 archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
13785 export_dynamic_flag_spec_CXX='$wl-E'
13786 whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
13787 fi
13788 output_verbose_link_cmd=func_echo_all
13789 else
13790 ld_shlibs_CXX=no
13791 fi
13792 ;;
13793
13794 osf3* | osf4* | osf5*)
13795 case $cc_basename in
13796 KCC*)
13797 # Kuck and Associates, Inc. (KAI) C++ Compiler
13798
13799 # KCC will only create a shared library if the output file
13800 # ends with ".so" (or ".sl" for HP-UX), so rename the library
13801 # to its proper name (with version) after linking.
13802 archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
13803
13804 hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
13805 hardcode_libdir_separator_CXX=:
13806
13807 # Archives containing C++ object files must be created using
13808 # the KAI C++ compiler.
13809 case $host in
13810 osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
13811 *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
13812 esac
13813 ;;
13814 RCC*)
13815 # Rational C++ 2.4.1
13816 # FIXME: insert proper C++ library support
13817 ld_shlibs_CXX=no
13818 ;;
13819 cxx*)
13820 case $host in
13821 osf3*)
13822 allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
13823 archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
13824 hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
13825 ;;
13826 *)
13827 allow_undefined_flag_CXX=' -expect_unresolved \*'
13828 archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
13829 archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
13830 echo "-hidden">> $lib.exp~
13831 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
13832 $RM $lib.exp'
13833 hardcode_libdir_flag_spec_CXX='-rpath $libdir'
13834 ;;
13835 esac
13836
13837 hardcode_libdir_separator_CXX=:
13838
13839 # Commands to make compiler produce verbose output that lists
13840 # what "hidden" libraries, object files and flags are used when
13841 # linking a shared library.
13842 #
13843 # There doesn't appear to be a way to prevent this compiler from
13844 # explicitly linking system object files so we need to strip them
13845 # from the output so that they don't get included in the library
13846 # dependencies.
13847 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
13848 ;;
13849 *)
13850 if test yes,no = "$GXX,$with_gnu_ld"; then
13851 allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
13852 case $host in
13853 osf3*)
13854 archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
13855 ;;
13856 *)
13857 archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
13858 ;;
13859 esac
13860
13861 hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
13862 hardcode_libdir_separator_CXX=:
13863
13864 # Commands to make compiler produce verbose output that lists
13865 # what "hidden" libraries, object files and flags are used when
13866 # linking a shared library.
13867 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
13868
13869 else
13870 # FIXME: insert proper C++ library support
13871 ld_shlibs_CXX=no
13872 fi
13873 ;;
13874 esac
13875 ;;
13876
13877 psos*)
13878 # FIXME: insert proper C++ library support
13879 ld_shlibs_CXX=no
13880 ;;
13881
13882 sunos4*)
13883 case $cc_basename in
13884 CC*)
13885 # Sun C++ 4.x
13886 # FIXME: insert proper C++ library support
13887 ld_shlibs_CXX=no
13888 ;;
13889 lcc*)
13890 # Lucid
13891 # FIXME: insert proper C++ library support
13892 ld_shlibs_CXX=no
13893 ;;
13894 *)
13895 # FIXME: insert proper C++ library support
13896 ld_shlibs_CXX=no
13897 ;;
13898 esac
13899 ;;
13900
13901 solaris*)
13902 case $cc_basename in
13903 CC* | sunCC*)
13904 # Sun C++ 4.2, 5.x and Centerline C++
13905 archive_cmds_need_lc_CXX=yes
13906 no_undefined_flag_CXX=' -zdefs'
13907 archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
13908 archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
13909 $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
13910
13911 hardcode_libdir_flag_spec_CXX='-R$libdir'
13912 hardcode_shlibpath_var_CXX=no
13913 case $host_os in
13914 solaris2.[0-5] | solaris2.[0-5].*) ;;
13915 *)
13916 # The compiler driver will combine and reorder linker options,
13917 # but understands '-z linker_flag'.
13918 # Supported since Solaris 2.6 (maybe 2.5.1?)
13919 whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
13920 ;;
13921 esac
13922 link_all_deplibs_CXX=yes
13923
13924 output_verbose_link_cmd='func_echo_all'
13925
13926 # Archives containing C++ object files must be created using
13927 # "CC -xar", where "CC" is the Sun C++ compiler. This is
13928 # necessary to make sure instantiated templates are included
13929 # in the archive.
13930 old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
13931 ;;
13932 gcx*)
13933 # Green Hills C++ Compiler
13934 archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
13935
13936 # The C++ compiler must be used to create the archive.
13937 old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
13938 ;;
13939 *)
13940 # GNU C++ compiler with Solaris linker
13941 if test yes,no = "$GXX,$with_gnu_ld"; then
13942 no_undefined_flag_CXX=' $wl-z ${wl}defs'
13943 if $CC --version | $GREP -v '^2\.7' > /dev/null; then
13944 archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
13945 archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
13946 $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
13947
13948 # Commands to make compiler produce verbose output that lists
13949 # what "hidden" libraries, object files and flags are used when
13950 # linking a shared library.
13951 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
13952 else
13953 # g++ 2.7 appears to require '-G' NOT '-shared' on this
13954 # platform.
13955 archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
13956 archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
13957 $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
13958
13959 # Commands to make compiler produce verbose output that lists
13960 # what "hidden" libraries, object files and flags are used when
13961 # linking a shared library.
13962 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
13963 fi
13964
13965 hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir'
13966 case $host_os in
13967 solaris2.[0-5] | solaris2.[0-5].*) ;;
13968 *)
13969 whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
13970 ;;
13971 esac
13972 fi
13973 ;;
13974 esac
13975 ;;
13976
13977 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
13978 no_undefined_flag_CXX='$wl-z,text'
13979 archive_cmds_need_lc_CXX=no
13980 hardcode_shlibpath_var_CXX=no
13981 runpath_var='LD_RUN_PATH'
13982
13983 case $cc_basename in
13984 CC*)
13985 archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13986 archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13987 ;;
13988 *)
13989 archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13990 archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13991 ;;
13992 esac
13993 ;;
13994
13995 sysv5* | sco3.2v5* | sco5v6*)
13996 # Note: We CANNOT use -z defs as we might desire, because we do not
13997 # link with -lc, and that would cause any symbols used from libc to
13998 # always be unresolved, which means just about no library would
13999 # ever link correctly. If we're not using GNU ld we use -z text
14000 # though, which does catch some bad symbols but isn't as heavy-handed
14001 # as -z defs.
14002 no_undefined_flag_CXX='$wl-z,text'
14003 allow_undefined_flag_CXX='$wl-z,nodefs'
14004 archive_cmds_need_lc_CXX=no
14005 hardcode_shlibpath_var_CXX=no
14006 hardcode_libdir_flag_spec_CXX='$wl-R,$libdir'
14007 hardcode_libdir_separator_CXX=':'
14008 link_all_deplibs_CXX=yes
14009 export_dynamic_flag_spec_CXX='$wl-Bexport'
14010 runpath_var='LD_RUN_PATH'
14011
14012 case $cc_basename in
14013 CC*)
14014 archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
14015 archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
14016 old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
14017 '"$old_archive_cmds_CXX"
14018 reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
14019 '"$reload_cmds_CXX"
14020 ;;
14021 *)
14022 archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
14023 archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
14024 ;;
14025 esac
14026 ;;
14027
14028 tandem*)
14029 case $cc_basename in
14030 NCC*)
14031 # NonStop-UX NCC 3.20
14032 # FIXME: insert proper C++ library support
14033 ld_shlibs_CXX=no
14034 ;;
14035 *)
14036 # FIXME: insert proper C++ library support
14037 ld_shlibs_CXX=no
14038 ;;
14039 esac
14040 ;;
14041
14042 vxworks*)
14043 # FIXME: insert proper C++ library support
14044 ld_shlibs_CXX=no
14045 ;;
14046
14047 *)
14048 # FIXME: insert proper C++ library support
14049 ld_shlibs_CXX=no
14050 ;;
14051 esac
14052
14053 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
14054 $as_echo "$ld_shlibs_CXX" >&6; }
14055 test no = "$ld_shlibs_CXX" && can_build_shared=no
14056
14057 GCC_CXX=$GXX
14058 LD_CXX=$LD
14059
14060 ## CAVEAT EMPTOR:
14061 ## There is no encapsulation within the following macros, do not change
14062 ## the running order or otherwise move them around unless you know exactly
14063 ## what you are doing...
14064 # Dependencies to place before and after the object being linked:
14065 predep_objects_CXX=
14066 postdep_objects_CXX=
14067 predeps_CXX=
14068 postdeps_CXX=
14069 compiler_lib_search_path_CXX=
14070
14071 cat > conftest.$ac_ext <<_LT_EOF
14072 class Foo
14073 {
14074 public:
14075 Foo (void) { a = 0; }
14076 private:
14077 int a;
14078 };
14079 _LT_EOF
14080
14081
14082 _lt_libdeps_save_CFLAGS=$CFLAGS
14083 case "$CC $CFLAGS " in #(
14084 *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
14085 *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
14086 *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
14087 esac
14088
14089 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
14090 (eval $ac_compile) 2>&5
14091 ac_status=$?
14092 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
14093 test $ac_status = 0; }; then
14094 # Parse the compiler output and extract the necessary
14095 # objects, libraries and library flags.
14096
14097 # Sentinel used to keep track of whether or not we are before
14098 # the conftest object file.
14099 pre_test_object_deps_done=no
14100
14101 for p in `eval "$output_verbose_link_cmd"`; do
14102 case $prev$p in
14103
14104 -L* | -R* | -l*)
14105 # Some compilers place space between "-{L,R}" and the path.
14106 # Remove the space.
14107 if test x-L = "$p" ||
14108 test x-R = "$p"; then
14109 prev=$p
14110 continue
14111 fi
14112
14113 # Expand the sysroot to ease extracting the directories later.
14114 if test -z "$prev"; then
14115 case $p in
14116 -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
14117 -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
14118 -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
14119 esac
14120 fi
14121 case $p in
14122 =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
14123 esac
14124 if test no = "$pre_test_object_deps_done"; then
14125 case $prev in
14126 -L | -R)
14127 # Internal compiler library paths should come after those
14128 # provided the user. The postdeps already come after the
14129 # user supplied libs so there is no need to process them.
14130 if test -z "$compiler_lib_search_path_CXX"; then
14131 compiler_lib_search_path_CXX=$prev$p
14132 else
14133 compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p"
14134 fi
14135 ;;
14136 # The "-l" case would never come before the object being
14137 # linked, so don't bother handling this case.
14138 esac
14139 else
14140 if test -z "$postdeps_CXX"; then
14141 postdeps_CXX=$prev$p
14142 else
14143 postdeps_CXX="${postdeps_CXX} $prev$p"
14144 fi
14145 fi
14146 prev=
14147 ;;
14148
14149 *.lto.$objext) ;; # Ignore GCC LTO objects
14150 *.$objext)
14151 # This assumes that the test object file only shows up
14152 # once in the compiler output.
14153 if test "$p" = "conftest.$objext"; then
14154 pre_test_object_deps_done=yes
14155 continue
14156 fi
14157
14158 if test no = "$pre_test_object_deps_done"; then
14159 if test -z "$predep_objects_CXX"; then
14160 predep_objects_CXX=$p
14161 else
14162 predep_objects_CXX="$predep_objects_CXX $p"
14163 fi
14164 else
14165 if test -z "$postdep_objects_CXX"; then
14166 postdep_objects_CXX=$p
14167 else
14168 postdep_objects_CXX="$postdep_objects_CXX $p"
14169 fi
14170 fi
14171 ;;
14172
14173 *) ;; # Ignore the rest.
14174
14175 esac
14176 done
14177
14178 # Clean up.
14179 rm -f a.out a.exe
14180 else
14181 echo "libtool.m4: error: problem compiling CXX test program"
14182 fi
14183
14184 $RM -f confest.$objext
14185 CFLAGS=$_lt_libdeps_save_CFLAGS
14186
14187 # PORTME: override above test on systems where it is broken
14188 case $host_os in
14189 interix[3-9]*)
14190 # Interix 3.5 installs completely hosed .la files for C++, so rather than
14191 # hack all around it, let's just trust "g++" to DTRT.
14192 predep_objects_CXX=
14193 postdep_objects_CXX=
14194 postdeps_CXX=
14195 ;;
14196 esac
14197
14198
14199 case " $postdeps_CXX " in
14200 *" -lc "*) archive_cmds_need_lc_CXX=no ;;
14201 esac
14202 compiler_lib_search_dirs_CXX=
14203 if test -n "${compiler_lib_search_path_CXX}"; then
14204 compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'`
14205 fi
14206
14207
14208
14209
14210
14211
14212
14213
14214
14215
14216
14217
14218
14219
14220
14221
14222
14223
14224
14225
14226
14227
14228
14229
14230
14231
14232
14233
14234
14235
14236
14237 lt_prog_compiler_wl_CXX=
14238 lt_prog_compiler_pic_CXX=
14239 lt_prog_compiler_static_CXX=
14240
14241
14242 # C++ specific cases for pic, static, wl, etc.
14243 if test yes = "$GXX"; then
14244 lt_prog_compiler_wl_CXX='-Wl,'
14245 lt_prog_compiler_static_CXX='-static'
14246
14247 case $host_os in
14248 aix*)
14249 # All AIX code is PIC.
14250 if test ia64 = "$host_cpu"; then
14251 # AIX 5 now supports IA64 processor
14252 lt_prog_compiler_static_CXX='-Bstatic'
14253 fi
14254 lt_prog_compiler_pic_CXX='-fPIC'
14255 ;;
14256
14257 amigaos*)
14258 case $host_cpu in
14259 powerpc)
14260 # see comment about AmigaOS4 .so support
14261 lt_prog_compiler_pic_CXX='-fPIC'
14262 ;;
14263 m68k)
14264 # FIXME: we need at least 68020 code to build shared libraries, but
14265 # adding the '-m68020' flag to GCC prevents building anything better,
14266 # like '-m68040'.
14267 lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
14268 ;;
14269 esac
14270 ;;
14271
14272 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
14273 # PIC is the default for these OSes.
14274 ;;
14275 mingw* | cygwin* | os2* | pw32* | cegcc*)
14276 # This hack is so that the source file can tell whether it is being
14277 # built for inclusion in a dll (and should export symbols for example).
14278 # Although the cygwin gcc ignores -fPIC, still need this for old-style
14279 # (--disable-auto-import) libraries
14280 lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
14281 case $host_os in
14282 os2*)
14283 lt_prog_compiler_static_CXX='$wl-static'
14284 ;;
14285 esac
14286 ;;
14287 darwin* | rhapsody*)
14288 # PIC is the default on this platform
14289 # Common symbols not allowed in MH_DYLIB files
14290 lt_prog_compiler_pic_CXX='-fno-common'
14291 ;;
14292 *djgpp*)
14293 # DJGPP does not support shared libraries at all
14294 lt_prog_compiler_pic_CXX=
14295 ;;
14296 haiku*)
14297 # PIC is the default for Haiku.
14298 # The "-static" flag exists, but is broken.
14299 lt_prog_compiler_static_CXX=
14300 ;;
14301 interix[3-9]*)
14302 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
14303 # Instead, we relocate shared libraries at runtime.
14304 ;;
14305 sysv4*MP*)
14306 if test -d /usr/nec; then
14307 lt_prog_compiler_pic_CXX=-Kconform_pic
14308 fi
14309 ;;
14310 hpux*)
14311 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
14312 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
14313 # sets the default TLS model and affects inlining.
14314 case $host_cpu in
14315 hppa*64*)
14316 ;;
14317 *)
14318 lt_prog_compiler_pic_CXX='-fPIC'
14319 ;;
14320 esac
14321 ;;
14322 *qnx* | *nto*)
14323 # QNX uses GNU C++, but need to define -shared option too, otherwise
14324 # it will coredump.
14325 lt_prog_compiler_pic_CXX='-fPIC -shared'
14326 ;;
14327 *)
14328 lt_prog_compiler_pic_CXX='-fPIC'
14329 ;;
14330 esac
14331 else
14332 case $host_os in
14333 aix[4-9]*)
14334 # All AIX code is PIC.
14335 if test ia64 = "$host_cpu"; then
14336 # AIX 5 now supports IA64 processor
14337 lt_prog_compiler_static_CXX='-Bstatic'
14338 else
14339 lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
14340 fi
14341 ;;
14342 chorus*)
14343 case $cc_basename in
14344 cxch68*)
14345 # Green Hills C++ Compiler
14346 # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
14347 ;;
14348 esac
14349 ;;
14350 mingw* | cygwin* | os2* | pw32* | cegcc*)
14351 # This hack is so that the source file can tell whether it is being
14352 # built for inclusion in a dll (and should export symbols for example).
14353 lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
14354 ;;
14355 dgux*)
14356 case $cc_basename in
14357 ec++*)
14358 lt_prog_compiler_pic_CXX='-KPIC'
14359 ;;
14360 ghcx*)
14361 # Green Hills C++ Compiler
14362 lt_prog_compiler_pic_CXX='-pic'
14363 ;;
14364 *)
14365 ;;
14366 esac
14367 ;;
14368 freebsd* | dragonfly*)
14369 # FreeBSD uses GNU C++
14370 ;;
14371 hpux9* | hpux10* | hpux11*)
14372 case $cc_basename in
14373 CC*)
14374 lt_prog_compiler_wl_CXX='-Wl,'
14375 lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
14376 if test ia64 != "$host_cpu"; then
14377 lt_prog_compiler_pic_CXX='+Z'
14378 fi
14379 ;;
14380 aCC*)
14381 lt_prog_compiler_wl_CXX='-Wl,'
14382 lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
14383 case $host_cpu in
14384 hppa*64*|ia64*)
14385 # +Z the default
14386 ;;
14387 *)
14388 lt_prog_compiler_pic_CXX='+Z'
14389 ;;
14390 esac
14391 ;;
14392 *)
14393 ;;
14394 esac
14395 ;;
14396 interix*)
14397 # This is c89, which is MS Visual C++ (no shared libs)
14398 # Anyone wants to do a port?
14399 ;;
14400 irix5* | irix6* | nonstopux*)
14401 case $cc_basename in
14402 CC*)
14403 lt_prog_compiler_wl_CXX='-Wl,'
14404 lt_prog_compiler_static_CXX='-non_shared'
14405 # CC pic flag -KPIC is the default.
14406 ;;
14407 *)
14408 ;;
14409 esac
14410 ;;
14411 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
14412 case $cc_basename in
14413 KCC*)
14414 # KAI C++ Compiler
14415 lt_prog_compiler_wl_CXX='--backend -Wl,'
14416 lt_prog_compiler_pic_CXX='-fPIC'
14417 ;;
14418 ecpc* )
14419 # old Intel C++ for x86_64, which still supported -KPIC.
14420 lt_prog_compiler_wl_CXX='-Wl,'
14421 lt_prog_compiler_pic_CXX='-KPIC'
14422 lt_prog_compiler_static_CXX='-static'
14423 ;;
14424 icpc* )
14425 # Intel C++, used to be incompatible with GCC.
14426 # ICC 10 doesn't accept -KPIC any more.
14427 lt_prog_compiler_wl_CXX='-Wl,'
14428 lt_prog_compiler_pic_CXX='-fPIC'
14429 lt_prog_compiler_static_CXX='-static'
14430 ;;
14431 pgCC* | pgcpp*)
14432 # Portland Group C++ compiler
14433 lt_prog_compiler_wl_CXX='-Wl,'
14434 lt_prog_compiler_pic_CXX='-fpic'
14435 lt_prog_compiler_static_CXX='-Bstatic'
14436 ;;
14437 cxx*)
14438 # Compaq C++
14439 # Make sure the PIC flag is empty. It appears that all Alpha
14440 # Linux and Compaq Tru64 Unix objects are PIC.
14441 lt_prog_compiler_pic_CXX=
14442 lt_prog_compiler_static_CXX='-non_shared'
14443 ;;
14444 xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
14445 # IBM XL 8.0, 9.0 on PPC and BlueGene
14446 lt_prog_compiler_wl_CXX='-Wl,'
14447 lt_prog_compiler_pic_CXX='-qpic'
14448 lt_prog_compiler_static_CXX='-qstaticlink'
14449 ;;
14450 *)
14451 case `$CC -V 2>&1 | sed 5q` in
14452 *Sun\ C*)
14453 # Sun C++ 5.9
14454 lt_prog_compiler_pic_CXX='-KPIC'
14455 lt_prog_compiler_static_CXX='-Bstatic'
14456 lt_prog_compiler_wl_CXX='-Qoption ld '
14457 ;;
14458 esac
14459 ;;
14460 esac
14461 ;;
14462 lynxos*)
14463 ;;
14464 m88k*)
14465 ;;
14466 mvs*)
14467 case $cc_basename in
14468 cxx*)
14469 lt_prog_compiler_pic_CXX='-W c,exportall'
14470 ;;
14471 *)
14472 ;;
14473 esac
14474 ;;
14475 netbsd* | netbsdelf*-gnu)
14476 ;;
14477 *qnx* | *nto*)
14478 # QNX uses GNU C++, but need to define -shared option too, otherwise
14479 # it will coredump.
14480 lt_prog_compiler_pic_CXX='-fPIC -shared'
14481 ;;
14482 osf3* | osf4* | osf5*)
14483 case $cc_basename in
14484 KCC*)
14485 lt_prog_compiler_wl_CXX='--backend -Wl,'
14486 ;;
14487 RCC*)
14488 # Rational C++ 2.4.1
14489 lt_prog_compiler_pic_CXX='-pic'
14490 ;;
14491 cxx*)
14492 # Digital/Compaq C++
14493 lt_prog_compiler_wl_CXX='-Wl,'
14494 # Make sure the PIC flag is empty. It appears that all Alpha
14495 # Linux and Compaq Tru64 Unix objects are PIC.
14496 lt_prog_compiler_pic_CXX=
14497 lt_prog_compiler_static_CXX='-non_shared'
14498 ;;
14499 *)
14500 ;;
14501 esac
14502 ;;
14503 psos*)
14504 ;;
14505 solaris*)
14506 case $cc_basename in
14507 CC* | sunCC*)
14508 # Sun C++ 4.2, 5.x and Centerline C++
14509 lt_prog_compiler_pic_CXX='-KPIC'
14510 lt_prog_compiler_static_CXX='-Bstatic'
14511 lt_prog_compiler_wl_CXX='-Qoption ld '
14512 ;;
14513 gcx*)
14514 # Green Hills C++ Compiler
14515 lt_prog_compiler_pic_CXX='-PIC'
14516 ;;
14517 *)
14518 ;;
14519 esac
14520 ;;
14521 sunos4*)
14522 case $cc_basename in
14523 CC*)
14524 # Sun C++ 4.x
14525 lt_prog_compiler_pic_CXX='-pic'
14526 lt_prog_compiler_static_CXX='-Bstatic'
14527 ;;
14528 lcc*)
14529 # Lucid
14530 lt_prog_compiler_pic_CXX='-pic'
14531 ;;
14532 *)
14533 ;;
14534 esac
14535 ;;
14536 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
14537 case $cc_basename in
14538 CC*)
14539 lt_prog_compiler_wl_CXX='-Wl,'
14540 lt_prog_compiler_pic_CXX='-KPIC'
14541 lt_prog_compiler_static_CXX='-Bstatic'
14542 ;;
14543 esac
14544 ;;
14545 tandem*)
14546 case $cc_basename in
14547 NCC*)
14548 # NonStop-UX NCC 3.20
14549 lt_prog_compiler_pic_CXX='-KPIC'
14550 ;;
14551 *)
14552 ;;
14553 esac
14554 ;;
14555 vxworks*)
14556 ;;
14557 *)
14558 lt_prog_compiler_can_build_shared_CXX=no
14559 ;;
14560 esac
14561 fi
14562
14563 case $host_os in
14564 # For platforms that do not support PIC, -DPIC is meaningless:
14565 *djgpp*)
14566 lt_prog_compiler_pic_CXX=
14567 ;;
14568 *)
14569 lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
14570 ;;
14571 esac
14572
14573 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
14574 $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
14575 if ${lt_cv_prog_compiler_pic_CXX+:} false; then :
14576 $as_echo_n "(cached) " >&6
14577 else
14578 lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX
14579 fi
14580 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5
14581 $as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; }
14582 lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX
14583
14584 #
14585 # Check to make sure the PIC flag actually works.
14586 #
14587 if test -n "$lt_prog_compiler_pic_CXX"; then
14588 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
14589 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
14590 if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then :
14591 $as_echo_n "(cached) " >&6
14592 else
14593 lt_cv_prog_compiler_pic_works_CXX=no
14594 ac_outfile=conftest.$ac_objext
14595 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
14596 lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" ## exclude from sc_useless_quotes_in_assignment
14597 # Insert the option either (1) after the last *FLAGS variable, or
14598 # (2) before a word containing "conftest.", or (3) at the end.
14599 # Note that $ac_compile itself does not contain backslashes and begins
14600 # with a dollar sign (not a hyphen), so the echo should work correctly.
14601 # The option is referenced via a variable to avoid confusing sed.
14602 lt_compile=`echo "$ac_compile" | $SED \
14603 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
14604 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
14605 -e 's:$: $lt_compiler_flag:'`
14606 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
14607 (eval "$lt_compile" 2>conftest.err)
14608 ac_status=$?
14609 cat conftest.err >&5
14610 echo "$as_me:$LINENO: \$? = $ac_status" >&5
14611 if (exit $ac_status) && test -s "$ac_outfile"; then
14612 # The compiler can only warn and ignore the option if not recognized
14613 # So say no if there are warnings other than the usual output.
14614 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
14615 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
14616 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
14617 lt_cv_prog_compiler_pic_works_CXX=yes
14618 fi
14619 fi
14620 $RM conftest*
14621
14622 fi
14623 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
14624 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
14625
14626 if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then
14627 case $lt_prog_compiler_pic_CXX in
14628 "" | " "*) ;;
14629 *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
14630 esac
14631 else
14632 lt_prog_compiler_pic_CXX=
14633 lt_prog_compiler_can_build_shared_CXX=no
14634 fi
14635
14636 fi
14637
14638
14639
14640
14641
14642 #
14643 # Check to make sure the static flag actually works.
14644 #
14645 wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
14646 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
14647 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
14648 if ${lt_cv_prog_compiler_static_works_CXX+:} false; then :
14649 $as_echo_n "(cached) " >&6
14650 else
14651 lt_cv_prog_compiler_static_works_CXX=no
14652 save_LDFLAGS=$LDFLAGS
14653 LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
14654 echo "$lt_simple_link_test_code" > conftest.$ac_ext
14655 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
14656 # The linker can only warn and ignore the option if not recognized
14657 # So say no if there are warnings
14658 if test -s conftest.err; then
14659 # Append any errors to the config.log.
14660 cat conftest.err 1>&5
14661 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
14662 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
14663 if diff conftest.exp conftest.er2 >/dev/null; then
14664 lt_cv_prog_compiler_static_works_CXX=yes
14665 fi
14666 else
14667 lt_cv_prog_compiler_static_works_CXX=yes
14668 fi
14669 fi
14670 $RM -r conftest*
14671 LDFLAGS=$save_LDFLAGS
14672
14673 fi
14674 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
14675 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
14676
14677 if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then
14678 :
14679 else
14680 lt_prog_compiler_static_CXX=
14681 fi
14682
14683
14684
14685
14686 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
14687 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
14688 if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
14689 $as_echo_n "(cached) " >&6
14690 else
14691 lt_cv_prog_compiler_c_o_CXX=no
14692 $RM -r conftest 2>/dev/null
14693 mkdir conftest
14694 cd conftest
14695 mkdir out
14696 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
14697
14698 lt_compiler_flag="-o out/conftest2.$ac_objext"
14699 # Insert the option either (1) after the last *FLAGS variable, or
14700 # (2) before a word containing "conftest.", or (3) at the end.
14701 # Note that $ac_compile itself does not contain backslashes and begins
14702 # with a dollar sign (not a hyphen), so the echo should work correctly.
14703 lt_compile=`echo "$ac_compile" | $SED \
14704 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
14705 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
14706 -e 's:$: $lt_compiler_flag:'`
14707 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
14708 (eval "$lt_compile" 2>out/conftest.err)
14709 ac_status=$?
14710 cat out/conftest.err >&5
14711 echo "$as_me:$LINENO: \$? = $ac_status" >&5
14712 if (exit $ac_status) && test -s out/conftest2.$ac_objext
14713 then
14714 # The compiler can only warn and ignore the option if not recognized
14715 # So say no if there are warnings
14716 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
14717 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
14718 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
14719 lt_cv_prog_compiler_c_o_CXX=yes
14720 fi
14721 fi
14722 chmod u+w . 2>&5
14723 $RM conftest*
14724 # SGI C++ compiler will create directory out/ii_files/ for
14725 # template instantiation
14726 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
14727 $RM out/* && rmdir out
14728 cd ..
14729 $RM -r conftest
14730 $RM conftest*
14731
14732 fi
14733 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
14734 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
14735
14736
14737
14738 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
14739 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
14740 if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
14741 $as_echo_n "(cached) " >&6
14742 else
14743 lt_cv_prog_compiler_c_o_CXX=no
14744 $RM -r conftest 2>/dev/null
14745 mkdir conftest
14746 cd conftest
14747 mkdir out
14748 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
14749
14750 lt_compiler_flag="-o out/conftest2.$ac_objext"
14751 # Insert the option either (1) after the last *FLAGS variable, or
14752 # (2) before a word containing "conftest.", or (3) at the end.
14753 # Note that $ac_compile itself does not contain backslashes and begins
14754 # with a dollar sign (not a hyphen), so the echo should work correctly.
14755 lt_compile=`echo "$ac_compile" | $SED \
14756 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
14757 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
14758 -e 's:$: $lt_compiler_flag:'`
14759 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
14760 (eval "$lt_compile" 2>out/conftest.err)
14761 ac_status=$?
14762 cat out/conftest.err >&5
14763 echo "$as_me:$LINENO: \$? = $ac_status" >&5
14764 if (exit $ac_status) && test -s out/conftest2.$ac_objext
14765 then
14766 # The compiler can only warn and ignore the option if not recognized
14767 # So say no if there are warnings
14768 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
14769 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
14770 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
14771 lt_cv_prog_compiler_c_o_CXX=yes
14772 fi
14773 fi
14774 chmod u+w . 2>&5
14775 $RM conftest*
14776 # SGI C++ compiler will create directory out/ii_files/ for
14777 # template instantiation
14778 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
14779 $RM out/* && rmdir out
14780 cd ..
14781 $RM -r conftest
14782 $RM conftest*
14783
14784 fi
14785 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
14786 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
14787
14788
14789
14790
14791 hard_links=nottested
14792 if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then
14793 # do not overwrite the value of need_locks provided by the user
14794 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
14795 $as_echo_n "checking if we can lock with hard links... " >&6; }
14796 hard_links=yes
14797 $RM conftest*
14798 ln conftest.a conftest.b 2>/dev/null && hard_links=no
14799 touch conftest.a
14800 ln conftest.a conftest.b 2>&5 || hard_links=no
14801 ln conftest.a conftest.b 2>/dev/null && hard_links=no
14802 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
14803 $as_echo "$hard_links" >&6; }
14804 if test no = "$hard_links"; then
14805 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
14806 $as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
14807 need_locks=warn
14808 fi
14809 else
14810 need_locks=no
14811 fi
14812
14813
14814
14815 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
14816 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
14817
14818 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
14819 exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
14820 case $host_os in
14821 aix[4-9]*)
14822 # If we're using GNU nm, then we don't want the "-C" option.
14823 # -C means demangle to GNU nm, but means don't demangle to AIX nm.
14824 # Without the "-l" option, or with the "-B" option, AIX nm treats
14825 # weak defined symbols like other global defined symbols, whereas
14826 # GNU nm marks them as "W".
14827 # While the 'weak' keyword is ignored in the Export File, we need
14828 # it in the Import File for the 'aix-soname' feature, so we have
14829 # to replace the "-B" option with "-P" for AIX nm.
14830 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
14831 export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
14832 else
14833 export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
14834 fi
14835 ;;
14836 pw32*)
14837 export_symbols_cmds_CXX=$ltdll_cmds
14838 ;;
14839 cygwin* | mingw* | cegcc*)
14840 case $cc_basename in
14841 cl*)
14842 exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
14843 ;;
14844 *)
14845 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
14846 exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
14847 ;;
14848 esac
14849 ;;
14850 linux* | k*bsd*-gnu | gnu*)
14851 link_all_deplibs_CXX=no
14852 ;;
14853 *)
14854 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
14855 ;;
14856 esac
14857
14858 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
14859 $as_echo "$ld_shlibs_CXX" >&6; }
14860 test no = "$ld_shlibs_CXX" && can_build_shared=no
14861
14862 with_gnu_ld_CXX=$with_gnu_ld
14863
14864
14865
14866
14867
14868
14869 #
14870 # Do we need to explicitly link libc?
14871 #
14872 case "x$archive_cmds_need_lc_CXX" in
14873 x|xyes)
14874 # Assume -lc should be added
14875 archive_cmds_need_lc_CXX=yes
14876
14877 if test yes,yes = "$GCC,$enable_shared"; then
14878 case $archive_cmds_CXX in
14879 *'~'*)
14880 # FIXME: we may have to deal with multi-command sequences.
14881 ;;
14882 '$CC '*)
14883 # Test whether the compiler implicitly links with -lc since on some
14884 # systems, -lgcc has to come before -lc. If gcc already passes -lc
14885 # to ld, don't add -lc before -lgcc.
14886 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
14887 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
14888 if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then :
14889 $as_echo_n "(cached) " >&6
14890 else
14891 $RM conftest*
14892 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
14893
14894 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
14895 (eval $ac_compile) 2>&5
14896 ac_status=$?
14897 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
14898 test $ac_status = 0; } 2>conftest.err; then
14899 soname=conftest
14900 lib=conftest
14901 libobjs=conftest.$ac_objext
14902 deplibs=
14903 wl=$lt_prog_compiler_wl_CXX
14904 pic_flag=$lt_prog_compiler_pic_CXX
14905 compiler_flags=-v
14906 linker_flags=-v
14907 verstring=
14908 output_objdir=.
14909 libname=conftest
14910 lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
14911 allow_undefined_flag_CXX=
14912 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
14913 (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
14914 ac_status=$?
14915 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
14916 test $ac_status = 0; }
14917 then
14918 lt_cv_archive_cmds_need_lc_CXX=no
14919 else
14920 lt_cv_archive_cmds_need_lc_CXX=yes
14921 fi
14922 allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
14923 else
14924 cat conftest.err 1>&5
14925 fi
14926 $RM conftest*
14927
14928 fi
14929 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
14930 $as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
14931 archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
14932 ;;
14933 esac
14934 fi
14935 ;;
14936 esac
14937
14938
14939
14940
14941
14942
14943
14944
14945
14946
14947
14948
14949
14950
14951
14952
14953
14954
14955
14956
14957
14958
14959
14960
14961
14962
14963
14964
14965
14966
14967
14968
14969
14970
14971
14972
14973
14974
14975
14976
14977
14978
14979
14980
14981
14982
14983
14984
14985
14986
14987
14988
14989
14990
14991
14992
14993
14994
14995
14996
14997
14998
14999 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
15000 $as_echo_n "checking dynamic linker characteristics... " >&6; }
15001
15002 library_names_spec=
15003 libname_spec='lib$name'
15004 soname_spec=
15005 shrext_cmds=.so
15006 postinstall_cmds=
15007 postuninstall_cmds=
15008 finish_cmds=
15009 finish_eval=
15010 shlibpath_var=
15011 shlibpath_overrides_runpath=unknown
15012 version_type=none
15013 dynamic_linker="$host_os ld.so"
15014 sys_lib_dlsearch_path_spec="/lib /usr/lib"
15015 need_lib_prefix=unknown
15016 hardcode_into_libs=no
15017
15018 # when you set need_version to no, make sure it does not cause -set_version
15019 # flags to be left without arguments
15020 need_version=unknown
15021
15022
15023
15024 case $host_os in
15025 aix3*)
15026 version_type=linux # correct to gnu/linux during the next big refactor
15027 library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
15028 shlibpath_var=LIBPATH
15029
15030 # AIX 3 has no versioning support, so we append a major version to the name.
15031 soname_spec='$libname$release$shared_ext$major'
15032 ;;
15033
15034 aix[4-9]*)
15035 version_type=linux # correct to gnu/linux during the next big refactor
15036 need_lib_prefix=no
15037 need_version=no
15038 hardcode_into_libs=yes
15039 if test ia64 = "$host_cpu"; then
15040 # AIX 5 supports IA64
15041 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
15042 shlibpath_var=LD_LIBRARY_PATH
15043 else
15044 # With GCC up to 2.95.x, collect2 would create an import file
15045 # for dependence libraries. The import file would start with
15046 # the line '#! .'. This would cause the generated library to
15047 # depend on '.', always an invalid library. This was fixed in
15048 # development snapshots of GCC prior to 3.0.
15049 case $host_os in
15050 aix4 | aix4.[01] | aix4.[01].*)
15051 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
15052 echo ' yes '
15053 echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
15054 :
15055 else
15056 can_build_shared=no
15057 fi
15058 ;;
15059 esac
15060 # Using Import Files as archive members, it is possible to support
15061 # filename-based versioning of shared library archives on AIX. While
15062 # this would work for both with and without runtime linking, it will
15063 # prevent static linking of such archives. So we do filename-based
15064 # shared library versioning with .so extension only, which is used
15065 # when both runtime linking and shared linking is enabled.
15066 # Unfortunately, runtime linking may impact performance, so we do
15067 # not want this to be the default eventually. Also, we use the
15068 # versioned .so libs for executables only if there is the -brtl
15069 # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
15070 # To allow for filename-based versioning support, we need to create
15071 # libNAME.so.V as an archive file, containing:
15072 # *) an Import File, referring to the versioned filename of the
15073 # archive as well as the shared archive member, telling the
15074 # bitwidth (32 or 64) of that shared object, and providing the
15075 # list of exported symbols of that shared object, eventually
15076 # decorated with the 'weak' keyword
15077 # *) the shared object with the F_LOADONLY flag set, to really avoid
15078 # it being seen by the linker.
15079 # At run time we better use the real file rather than another symlink,
15080 # but for link time we create the symlink libNAME.so -> libNAME.so.V
15081
15082 case $with_aix_soname,$aix_use_runtimelinking in
15083 # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
15084 # soname into executable. Probably we can add versioning support to
15085 # collect2, so additional links can be useful in future.
15086 aix,yes) # traditional libtool
15087 dynamic_linker='AIX unversionable lib.so'
15088 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
15089 # instead of lib<name>.a to let people know that these are not
15090 # typical AIX shared libraries.
15091 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15092 ;;
15093 aix,no) # traditional AIX only
15094 dynamic_linker='AIX lib.a(lib.so.V)'
15095 # We preserve .a as extension for shared libraries through AIX4.2
15096 # and later when we are not doing run time linking.
15097 library_names_spec='$libname$release.a $libname.a'
15098 soname_spec='$libname$release$shared_ext$major'
15099 ;;
15100 svr4,*) # full svr4 only
15101 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
15102 library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
15103 # We do not specify a path in Import Files, so LIBPATH fires.
15104 shlibpath_overrides_runpath=yes
15105 ;;
15106 *,yes) # both, prefer svr4
15107 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
15108 library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
15109 # unpreferred sharedlib libNAME.a needs extra handling
15110 postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
15111 postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
15112 # We do not specify a path in Import Files, so LIBPATH fires.
15113 shlibpath_overrides_runpath=yes
15114 ;;
15115 *,no) # both, prefer aix
15116 dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
15117 library_names_spec='$libname$release.a $libname.a'
15118 soname_spec='$libname$release$shared_ext$major'
15119 # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
15120 postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
15121 postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
15122 ;;
15123 esac
15124 shlibpath_var=LIBPATH
15125 fi
15126 ;;
15127
15128 amigaos*)
15129 case $host_cpu in
15130 powerpc)
15131 # Since July 2007 AmigaOS4 officially supports .so libraries.
15132 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
15133 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15134 ;;
15135 m68k)
15136 library_names_spec='$libname.ixlibrary $libname.a'
15137 # Create ${libname}_ixlibrary.a entries in /sys/libs.
15138 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
15139 ;;
15140 esac
15141 ;;
15142
15143 beos*)
15144 library_names_spec='$libname$shared_ext'
15145 dynamic_linker="$host_os ld.so"
15146 shlibpath_var=LIBRARY_PATH
15147 ;;
15148
15149 bsdi[45]*)
15150 version_type=linux # correct to gnu/linux during the next big refactor
15151 need_version=no
15152 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15153 soname_spec='$libname$release$shared_ext$major'
15154 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
15155 shlibpath_var=LD_LIBRARY_PATH
15156 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
15157 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
15158 # the default ld.so.conf also contains /usr/contrib/lib and
15159 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
15160 # libtool to hard-code these into programs
15161 ;;
15162
15163 cygwin* | mingw* | pw32* | cegcc*)
15164 version_type=windows
15165 shrext_cmds=.dll
15166 need_version=no
15167 need_lib_prefix=no
15168
15169 case $GCC,$cc_basename in
15170 yes,*)
15171 # gcc
15172 library_names_spec='$libname.dll.a'
15173 # DLL is installed to $(libdir)/../bin by postinstall_cmds
15174 postinstall_cmds='base_file=`basename \$file`~
15175 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
15176 dldir=$destdir/`dirname \$dlpath`~
15177 test -d \$dldir || mkdir -p \$dldir~
15178 $install_prog $dir/$dlname \$dldir/$dlname~
15179 chmod a+x \$dldir/$dlname~
15180 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
15181 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
15182 fi'
15183 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
15184 dlpath=$dir/\$dldll~
15185 $RM \$dlpath'
15186 shlibpath_overrides_runpath=yes
15187
15188 case $host_os in
15189 cygwin*)
15190 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
15191 soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
15192
15193 ;;
15194 mingw* | cegcc*)
15195 # MinGW DLLs use traditional 'lib' prefix
15196 soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
15197 ;;
15198 pw32*)
15199 # pw32 DLLs use 'pw' prefix rather than 'lib'
15200 library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
15201 ;;
15202 esac
15203 dynamic_linker='Win32 ld.exe'
15204 ;;
15205
15206 *,cl*)
15207 # Native MSVC
15208 libname_spec='$name'
15209 soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
15210 library_names_spec='$libname.dll.lib'
15211
15212 case $build_os in
15213 mingw*)
15214 sys_lib_search_path_spec=
15215 lt_save_ifs=$IFS
15216 IFS=';'
15217 for lt_path in $LIB
15218 do
15219 IFS=$lt_save_ifs
15220 # Let DOS variable expansion print the short 8.3 style file name.
15221 lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
15222 sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
15223 done
15224 IFS=$lt_save_ifs
15225 # Convert to MSYS style.
15226 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
15227 ;;
15228 cygwin*)
15229 # Convert to unix form, then to dos form, then back to unix form
15230 # but this time dos style (no spaces!) so that the unix form looks
15231 # like /cygdrive/c/PROGRA~1:/cygdr...
15232 sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
15233 sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
15234 sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
15235 ;;
15236 *)
15237 sys_lib_search_path_spec=$LIB
15238 if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
15239 # It is most probably a Windows format PATH.
15240 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
15241 else
15242 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
15243 fi
15244 # FIXME: find the short name or the path components, as spaces are
15245 # common. (e.g. "Program Files" -> "PROGRA~1")
15246 ;;
15247 esac
15248
15249 # DLL is installed to $(libdir)/../bin by postinstall_cmds
15250 postinstall_cmds='base_file=`basename \$file`~
15251 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
15252 dldir=$destdir/`dirname \$dlpath`~
15253 test -d \$dldir || mkdir -p \$dldir~
15254 $install_prog $dir/$dlname \$dldir/$dlname'
15255 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
15256 dlpath=$dir/\$dldll~
15257 $RM \$dlpath'
15258 shlibpath_overrides_runpath=yes
15259 dynamic_linker='Win32 link.exe'
15260 ;;
15261
15262 *)
15263 # Assume MSVC wrapper
15264 library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
15265 dynamic_linker='Win32 ld.exe'
15266 ;;
15267 esac
15268 # FIXME: first we should search . and the directory the executable is in
15269 shlibpath_var=PATH
15270 ;;
15271
15272 darwin* | rhapsody*)
15273 dynamic_linker="$host_os dyld"
15274 version_type=darwin
15275 need_lib_prefix=no
15276 need_version=no
15277 library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
15278 soname_spec='$libname$release$major$shared_ext'
15279 shlibpath_overrides_runpath=yes
15280 shlibpath_var=DYLD_LIBRARY_PATH
15281 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
15282
15283 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
15284 ;;
15285
15286 dgux*)
15287 version_type=linux # correct to gnu/linux during the next big refactor
15288 need_lib_prefix=no
15289 need_version=no
15290 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15291 soname_spec='$libname$release$shared_ext$major'
15292 shlibpath_var=LD_LIBRARY_PATH
15293 ;;
15294
15295 freebsd* | dragonfly*)
15296 # DragonFly does not have aout. When/if they implement a new
15297 # versioning mechanism, adjust this.
15298 if test -x /usr/bin/objformat; then
15299 objformat=`/usr/bin/objformat`
15300 else
15301 case $host_os in
15302 freebsd[23].*) objformat=aout ;;
15303 *) objformat=elf ;;
15304 esac
15305 fi
15306 version_type=freebsd-$objformat
15307 case $version_type in
15308 freebsd-elf*)
15309 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15310 soname_spec='$libname$release$shared_ext$major'
15311 need_version=no
15312 need_lib_prefix=no
15313 ;;
15314 freebsd-*)
15315 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
15316 need_version=yes
15317 ;;
15318 esac
15319 shlibpath_var=LD_LIBRARY_PATH
15320 case $host_os in
15321 freebsd2.*)
15322 shlibpath_overrides_runpath=yes
15323 ;;
15324 freebsd3.[01]* | freebsdelf3.[01]*)
15325 shlibpath_overrides_runpath=yes
15326 hardcode_into_libs=yes
15327 ;;
15328 freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
15329 freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
15330 shlibpath_overrides_runpath=no
15331 hardcode_into_libs=yes
15332 ;;
15333 *) # from 4.6 on, and DragonFly
15334 shlibpath_overrides_runpath=yes
15335 hardcode_into_libs=yes
15336 ;;
15337 esac
15338 ;;
15339
15340 haiku*)
15341 version_type=linux # correct to gnu/linux during the next big refactor
15342 need_lib_prefix=no
15343 need_version=no
15344 dynamic_linker="$host_os runtime_loader"
15345 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15346 soname_spec='$libname$release$shared_ext$major'
15347 shlibpath_var=LIBRARY_PATH
15348 shlibpath_overrides_runpath=no
15349 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
15350 hardcode_into_libs=yes
15351 ;;
15352
15353 hpux9* | hpux10* | hpux11*)
15354 # Give a soname corresponding to the major version so that dld.sl refuses to
15355 # link against other versions.
15356 version_type=sunos
15357 need_lib_prefix=no
15358 need_version=no
15359 case $host_cpu in
15360 ia64*)
15361 shrext_cmds='.so'
15362 hardcode_into_libs=yes
15363 dynamic_linker="$host_os dld.so"
15364 shlibpath_var=LD_LIBRARY_PATH
15365 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
15366 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15367 soname_spec='$libname$release$shared_ext$major'
15368 if test 32 = "$HPUX_IA64_MODE"; then
15369 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
15370 sys_lib_dlsearch_path_spec=/usr/lib/hpux32
15371 else
15372 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
15373 sys_lib_dlsearch_path_spec=/usr/lib/hpux64
15374 fi
15375 ;;
15376 hppa*64*)
15377 shrext_cmds='.sl'
15378 hardcode_into_libs=yes
15379 dynamic_linker="$host_os dld.sl"
15380 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
15381 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
15382 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15383 soname_spec='$libname$release$shared_ext$major'
15384 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
15385 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
15386 ;;
15387 *)
15388 shrext_cmds='.sl'
15389 dynamic_linker="$host_os dld.sl"
15390 shlibpath_var=SHLIB_PATH
15391 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
15392 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15393 soname_spec='$libname$release$shared_ext$major'
15394 ;;
15395 esac
15396 # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
15397 postinstall_cmds='chmod 555 $lib'
15398 # or fails outright, so override atomically:
15399 install_override_mode=555
15400 ;;
15401
15402 interix[3-9]*)
15403 version_type=linux # correct to gnu/linux during the next big refactor
15404 need_lib_prefix=no
15405 need_version=no
15406 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15407 soname_spec='$libname$release$shared_ext$major'
15408 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
15409 shlibpath_var=LD_LIBRARY_PATH
15410 shlibpath_overrides_runpath=no
15411 hardcode_into_libs=yes
15412 ;;
15413
15414 irix5* | irix6* | nonstopux*)
15415 case $host_os in
15416 nonstopux*) version_type=nonstopux ;;
15417 *)
15418 if test yes = "$lt_cv_prog_gnu_ld"; then
15419 version_type=linux # correct to gnu/linux during the next big refactor
15420 else
15421 version_type=irix
15422 fi ;;
15423 esac
15424 need_lib_prefix=no
15425 need_version=no
15426 soname_spec='$libname$release$shared_ext$major'
15427 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
15428 case $host_os in
15429 irix5* | nonstopux*)
15430 libsuff= shlibsuff=
15431 ;;
15432 *)
15433 case $LD in # libtool.m4 will add one of these switches to LD
15434 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
15435 libsuff= shlibsuff= libmagic=32-bit;;
15436 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
15437 libsuff=32 shlibsuff=N32 libmagic=N32;;
15438 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
15439 libsuff=64 shlibsuff=64 libmagic=64-bit;;
15440 *) libsuff= shlibsuff= libmagic=never-match;;
15441 esac
15442 ;;
15443 esac
15444 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
15445 shlibpath_overrides_runpath=no
15446 sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
15447 sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
15448 hardcode_into_libs=yes
15449 ;;
15450
15451 # No shared lib support for Linux oldld, aout, or coff.
15452 linux*oldld* | linux*aout* | linux*coff*)
15453 dynamic_linker=no
15454 ;;
15455
15456 linux*android*)
15457 version_type=none # Android doesn't support versioned libraries.
15458 need_lib_prefix=no
15459 need_version=no
15460 library_names_spec='$libname$release$shared_ext'
15461 soname_spec='$libname$release$shared_ext'
15462 finish_cmds=
15463 shlibpath_var=LD_LIBRARY_PATH
15464 shlibpath_overrides_runpath=yes
15465
15466 # This implies no fast_install, which is unacceptable.
15467 # Some rework will be needed to allow for fast_install
15468 # before this can be enabled.
15469 hardcode_into_libs=yes
15470
15471 dynamic_linker='Android linker'
15472 # Don't embed -rpath directories since the linker doesn't support them.
15473 hardcode_libdir_flag_spec_CXX='-L$libdir'
15474 ;;
15475
15476 # This must be glibc/ELF.
15477 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
15478 version_type=linux # correct to gnu/linux during the next big refactor
15479 need_lib_prefix=no
15480 need_version=no
15481 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15482 soname_spec='$libname$release$shared_ext$major'
15483 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
15484 shlibpath_var=LD_LIBRARY_PATH
15485 shlibpath_overrides_runpath=no
15486
15487 # Some binutils ld are patched to set DT_RUNPATH
15488 if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
15489 $as_echo_n "(cached) " >&6
15490 else
15491 lt_cv_shlibpath_overrides_runpath=no
15492 save_LDFLAGS=$LDFLAGS
15493 save_libdir=$libdir
15494 eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
15495 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
15496 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15497 /* end confdefs.h. */
15498
15499 int
15500 main ()
15501 {
15502
15503 ;
15504 return 0;
15505 }
15506 _ACEOF
15507 if ac_fn_cxx_try_link "$LINENO"; then :
15508 if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
15509 lt_cv_shlibpath_overrides_runpath=yes
15510 fi
15511 fi
15512 rm -f core conftest.err conftest.$ac_objext \
15513 conftest$ac_exeext conftest.$ac_ext
15514 LDFLAGS=$save_LDFLAGS
15515 libdir=$save_libdir
15516
15517 fi
15518
15519 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
15520
15521 # This implies no fast_install, which is unacceptable.
15522 # Some rework will be needed to allow for fast_install
15523 # before this can be enabled.
15524 hardcode_into_libs=yes
15525
15526 # Ideally, we could use ldconfig to report *all* directores which are
15527 # searched for libraries, however this is still not possible. Aside from not
15528 # being certain /sbin/ldconfig is available, command
15529 # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
15530 # even though it is searched at run-time. Try to do the best guess by
15531 # appending ld.so.conf contents (and includes) to the search path.
15532 if test -f /etc/ld.so.conf; then
15533 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
15534 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
15535 fi
15536
15537 # We used to test for /lib/ld.so.1 and disable shared libraries on
15538 # powerpc, because MkLinux only supported shared libraries with the
15539 # GNU dynamic linker. Since this was broken with cross compilers,
15540 # most powerpc-linux boxes support dynamic linking these days and
15541 # people can always --disable-shared, the test was removed, and we
15542 # assume the GNU/Linux dynamic linker is in use.
15543 dynamic_linker='GNU/Linux ld.so'
15544 ;;
15545
15546 netbsdelf*-gnu)
15547 version_type=linux
15548 need_lib_prefix=no
15549 need_version=no
15550 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
15551 soname_spec='${libname}${release}${shared_ext}$major'
15552 shlibpath_var=LD_LIBRARY_PATH
15553 shlibpath_overrides_runpath=no
15554 hardcode_into_libs=yes
15555 dynamic_linker='NetBSD ld.elf_so'
15556 ;;
15557
15558 netbsd*)
15559 version_type=sunos
15560 need_lib_prefix=no
15561 need_version=no
15562 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
15563 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
15564 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
15565 dynamic_linker='NetBSD (a.out) ld.so'
15566 else
15567 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15568 soname_spec='$libname$release$shared_ext$major'
15569 dynamic_linker='NetBSD ld.elf_so'
15570 fi
15571 shlibpath_var=LD_LIBRARY_PATH
15572 shlibpath_overrides_runpath=yes
15573 hardcode_into_libs=yes
15574 ;;
15575
15576 newsos6)
15577 version_type=linux # correct to gnu/linux during the next big refactor
15578 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15579 shlibpath_var=LD_LIBRARY_PATH
15580 shlibpath_overrides_runpath=yes
15581 ;;
15582
15583 *nto* | *qnx*)
15584 version_type=qnx
15585 need_lib_prefix=no
15586 need_version=no
15587 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15588 soname_spec='$libname$release$shared_ext$major'
15589 shlibpath_var=LD_LIBRARY_PATH
15590 shlibpath_overrides_runpath=no
15591 hardcode_into_libs=yes
15592 dynamic_linker='ldqnx.so'
15593 ;;
15594
15595 openbsd* | bitrig*)
15596 version_type=sunos
15597 sys_lib_dlsearch_path_spec=/usr/lib
15598 need_lib_prefix=no
15599 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
15600 need_version=no
15601 else
15602 need_version=yes
15603 fi
15604 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
15605 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
15606 shlibpath_var=LD_LIBRARY_PATH
15607 shlibpath_overrides_runpath=yes
15608 ;;
15609
15610 os2*)
15611 libname_spec='$name'
15612 version_type=windows
15613 shrext_cmds=.dll
15614 need_version=no
15615 need_lib_prefix=no
15616 # OS/2 can only load a DLL with a base name of 8 characters or less.
15617 soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
15618 v=$($ECHO $release$versuffix | tr -d .-);
15619 n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
15620 $ECHO $n$v`$shared_ext'
15621 library_names_spec='${libname}_dll.$libext'
15622 dynamic_linker='OS/2 ld.exe'
15623 shlibpath_var=BEGINLIBPATH
15624 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
15625 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
15626 postinstall_cmds='base_file=`basename \$file`~
15627 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
15628 dldir=$destdir/`dirname \$dlpath`~
15629 test -d \$dldir || mkdir -p \$dldir~
15630 $install_prog $dir/$dlname \$dldir/$dlname~
15631 chmod a+x \$dldir/$dlname~
15632 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
15633 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
15634 fi'
15635 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
15636 dlpath=$dir/\$dldll~
15637 $RM \$dlpath'
15638 ;;
15639
15640 osf3* | osf4* | osf5*)
15641 version_type=osf
15642 need_lib_prefix=no
15643 need_version=no
15644 soname_spec='$libname$release$shared_ext$major'
15645 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15646 shlibpath_var=LD_LIBRARY_PATH
15647 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
15648 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
15649 ;;
15650
15651 rdos*)
15652 dynamic_linker=no
15653 ;;
15654
15655 solaris*)
15656 version_type=linux # correct to gnu/linux during the next big refactor
15657 need_lib_prefix=no
15658 need_version=no
15659 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15660 soname_spec='$libname$release$shared_ext$major'
15661 shlibpath_var=LD_LIBRARY_PATH
15662 shlibpath_overrides_runpath=yes
15663 hardcode_into_libs=yes
15664 # ldd complains unless libraries are executable
15665 postinstall_cmds='chmod +x $lib'
15666 ;;
15667
15668 sunos4*)
15669 version_type=sunos
15670 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
15671 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
15672 shlibpath_var=LD_LIBRARY_PATH
15673 shlibpath_overrides_runpath=yes
15674 if test yes = "$with_gnu_ld"; then
15675 need_lib_prefix=no
15676 fi
15677 need_version=yes
15678 ;;
15679
15680 sysv4 | sysv4.3*)
15681 version_type=linux # correct to gnu/linux during the next big refactor
15682 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15683 soname_spec='$libname$release$shared_ext$major'
15684 shlibpath_var=LD_LIBRARY_PATH
15685 case $host_vendor in
15686 sni)
15687 shlibpath_overrides_runpath=no
15688 need_lib_prefix=no
15689 runpath_var=LD_RUN_PATH
15690 ;;
15691 siemens)
15692 need_lib_prefix=no
15693 ;;
15694 motorola)
15695 need_lib_prefix=no
15696 need_version=no
15697 shlibpath_overrides_runpath=no
15698 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
15699 ;;
15700 esac
15701 ;;
15702
15703 sysv4*MP*)
15704 if test -d /usr/nec; then
15705 version_type=linux # correct to gnu/linux during the next big refactor
15706 library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
15707 soname_spec='$libname$shared_ext.$major'
15708 shlibpath_var=LD_LIBRARY_PATH
15709 fi
15710 ;;
15711
15712 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
15713 version_type=sco
15714 need_lib_prefix=no
15715 need_version=no
15716 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
15717 soname_spec='$libname$release$shared_ext$major'
15718 shlibpath_var=LD_LIBRARY_PATH
15719 shlibpath_overrides_runpath=yes
15720 hardcode_into_libs=yes
15721 if test yes = "$with_gnu_ld"; then
15722 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
15723 else
15724 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
15725 case $host_os in
15726 sco3.2v5*)
15727 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
15728 ;;
15729 esac
15730 fi
15731 sys_lib_dlsearch_path_spec='/usr/lib'
15732 ;;
15733
15734 tpf*)
15735 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
15736 version_type=linux # correct to gnu/linux during the next big refactor
15737 need_lib_prefix=no
15738 need_version=no
15739 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15740 shlibpath_var=LD_LIBRARY_PATH
15741 shlibpath_overrides_runpath=no
15742 hardcode_into_libs=yes
15743 ;;
15744
15745 uts4*)
15746 version_type=linux # correct to gnu/linux during the next big refactor
15747 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
15748 soname_spec='$libname$release$shared_ext$major'
15749 shlibpath_var=LD_LIBRARY_PATH
15750 ;;
15751
15752 *)
15753 dynamic_linker=no
15754 ;;
15755 esac
15756 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
15757 $as_echo "$dynamic_linker" >&6; }
15758 test no = "$dynamic_linker" && can_build_shared=no
15759
15760 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
15761 if test yes = "$GCC"; then
15762 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
15763 fi
15764
15765 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
15766 sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
15767 fi
15768
15769 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
15770 sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
15771 fi
15772
15773 # remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
15774 configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
15775
15776 # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
15777 func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
15778
15779 # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
15780 configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
15781
15782
15783
15784
15785
15786
15787
15788
15789
15790
15791
15792
15793
15794
15795
15796
15797
15798
15799
15800
15801
15802
15803
15804
15805
15806
15807
15808
15809
15810
15811
15812
15813
15814
15815
15816
15817
15818
15819
15820
15821 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
15822 $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
15823 hardcode_action_CXX=
15824 if test -n "$hardcode_libdir_flag_spec_CXX" ||
15825 test -n "$runpath_var_CXX" ||
15826 test yes = "$hardcode_automatic_CXX"; then
15827
15828 # We can hardcode non-existent directories.
15829 if test no != "$hardcode_direct_CXX" &&
15830 # If the only mechanism to avoid hardcoding is shlibpath_var, we
15831 # have to relink, otherwise we might link with an installed library
15832 # when we should be linking with a yet-to-be-installed one
15833 ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" &&
15834 test no != "$hardcode_minus_L_CXX"; then
15835 # Linking always hardcodes the temporary library directory.
15836 hardcode_action_CXX=relink
15837 else
15838 # We can link without hardcoding, and we can hardcode nonexisting dirs.
15839 hardcode_action_CXX=immediate
15840 fi
15841 else
15842 # We cannot hardcode anything, or else we can only hardcode existing
15843 # directories.
15844 hardcode_action_CXX=unsupported
15845 fi
15846 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
15847 $as_echo "$hardcode_action_CXX" >&6; }
15848
15849 if test relink = "$hardcode_action_CXX" ||
15850 test yes = "$inherit_rpath_CXX"; then
15851 # Fast installation is not supported
15852 enable_fast_install=no
15853 elif test yes = "$shlibpath_overrides_runpath" ||
15854 test no = "$enable_shared"; then
15855 # Fast installation is not necessary
15856 enable_fast_install=needless
15857 fi
15858
15859
15860
15861
15862
15863
15864
15865 fi # test -n "$compiler"
15866
15867 CC=$lt_save_CC
15868 CFLAGS=$lt_save_CFLAGS
15869 LDCXX=$LD
15870 LD=$lt_save_LD
15871 GCC=$lt_save_GCC
15872 with_gnu_ld=$lt_save_with_gnu_ld
15873 lt_cv_path_LDCXX=$lt_cv_path_LD
15874 lt_cv_path_LD=$lt_save_path_LD
15875 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
15876 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
15877 fi # test yes != "$_lt_caught_CXX_error"
15878
15879 ac_ext=c
15880 ac_cpp='$CPP $CPPFLAGS'
15881 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
15882 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
15883 ac_compiler_gnu=$ac_cv_c_compiler_gnu
15884
15885
15886
15887
15888
15889
15890
15891
15892
15893
15894
15895
15896
15897
15898
15899 ac_config_commands="$ac_config_commands libtool"
15900
15901
15902
15903
15904 # Only expand once:
15905
15906
15907 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
15908 $as_echo_n "checking whether build environment is sane... " >&6; }
15909 # Reject unsafe characters in $srcdir or the absolute working directory
15910 # name. Accept space and tab only in the latter.
15911 am_lf='
15912 '
15913 case `pwd` in
15914 *[\\\"\#\$\&\'\`$am_lf]*)
15915 as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
15916 esac
15917 case $srcdir in
15918 *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
15919 as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
15920 esac
15921
15922 # Do 'set' in a subshell so we don't clobber the current shell's
15923 # arguments. Must try -L first in case configure is actually a
15924 # symlink; some systems play weird games with the mod time of symlinks
15925 # (eg FreeBSD returns the mod time of the symlink's containing
15926 # directory).
15927 if (
15928 am_has_slept=no
15929 for am_try in 1 2; do
15930 echo "timestamp, slept: $am_has_slept" > conftest.file
15931 set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
15932 if test "$*" = "X"; then
15933 # -L didn't work.
15934 set X `ls -t "$srcdir/configure" conftest.file`
15935 fi
15936 if test "$*" != "X $srcdir/configure conftest.file" \
15937 && test "$*" != "X conftest.file $srcdir/configure"; then
15938
15939 # If neither matched, then we have a broken ls. This can happen
15940 # if, for instance, CONFIG_SHELL is bash and it inherits a
15941 # broken ls alias from the environment. This has actually
15942 # happened. Such a system could not be considered "sane".
15943 as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
15944 alias in your environment" "$LINENO" 5
15945 fi
15946 if test "$2" = conftest.file || test $am_try -eq 2; then
15947 break
15948 fi
15949 # Just in case.
15950 sleep 1
15951 am_has_slept=yes
15952 done
15953 test "$2" = conftest.file
15954 )
15955 then
15956 # Ok.
15957 :
15958 else
15959 as_fn_error $? "newly created file is older than distributed files!
15960 Check your system clock" "$LINENO" 5
15961 fi
15962 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15963 $as_echo "yes" >&6; }
15964 # If we didn't sleep, we still need to ensure time stamps of config.status and
15965 # generated files are strictly newer.
15966 am_sleep_pid=
15967 if grep 'slept: no' conftest.file >/dev/null 2>&1; then
15968 ( sleep 1 ) &
15969 am_sleep_pid=$!
15970 fi
15971
15972 rm -f conftest.file
15973
15974
15975 # Checks for library functions
15976 #AC_CHECK_FUNCS([strlcpy strlcat])
15977 OCFLAGS=$CFLAGS
15978 CFLAGS=""
15979 for ac_func in strlcpy strlcat
15980 do :
15981 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
15982 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
15983 if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
15984 cat >>confdefs.h <<_ACEOF
15985 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
15986 _ACEOF
15987
15988 fi
15989 done
15990
15991 CFLAGS=$OCFLAGS
15992
15993 ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
15994 if test "x$ac_cv_header_zlib_h" = xyes; then :
15995
15996 else
15997 as_fn_error $? "zlib.h not found ..." "$LINENO" 5
15998 fi
15999
16000
16001 ZLIB=""
16002 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflate in -lz" >&5
16003 $as_echo_n "checking for inflate in -lz... " >&6; }
16004 if ${ac_cv_lib_z_inflate+:} false; then :
16005 $as_echo_n "(cached) " >&6
16006 else
16007 ac_check_lib_save_LIBS=$LIBS
16008 LIBS="-lz $LIBS"
16009 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16010 /* end confdefs.h. */
16011
16012 /* Override any GCC internal prototype to avoid an error.
16013 Use char because int might match the return type of a GCC
16014 builtin and then its argument prototype would still apply. */
16015 #ifdef __cplusplus
16016 extern "C"
16017 #endif
16018 char inflate ();
16019 int
16020 main ()
16021 {
16022 return inflate ();
16023 ;
16024 return 0;
16025 }
16026 _ACEOF
16027 if ac_fn_c_try_link "$LINENO"; then :
16028 ac_cv_lib_z_inflate=yes
16029 else
16030 ac_cv_lib_z_inflate=no
16031 fi
16032 rm -f core conftest.err conftest.$ac_objext \
16033 conftest$ac_exeext conftest.$ac_ext
16034 LIBS=$ac_check_lib_save_LIBS
16035 fi
16036 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflate" >&5
16037 $as_echo "$ac_cv_lib_z_inflate" >&6; }
16038 if test "x$ac_cv_lib_z_inflate" = xyes; then :
16039 cat >>confdefs.h <<_ACEOF
16040 #define HAVE_LIBZ 1
16041 _ACEOF
16042
16043 LIBS="-lz $LIBS"
16044
16045 else
16046 ZLIB="no"
16047 fi
16048
16049 if test "$ZLIB" = "no"; then
16050 echo
16051 echo " ERROR! zlib library not found"
16052 echo
16053 exit 1
16054 fi
16055
16056 # Determine the OS
16057 { $as_echo "$as_me:${as_lineno-$LINENO}: checking OS" >&5
16058 $as_echo_n "checking OS... " >&6; }
16059 OS=`uname -s`
16060 case "$OS" in
16061 MINGW*)
16062 { $as_echo "$as_me:${as_lineno-$LINENO}: result: MinGW" >&5
16063 $as_echo "MinGW" >&6; }
16064 OS_WINDOWS="true"
16065 NO_STACK_PROTECTOR="true"
16066 ;;
16067 MSYS*)
16068 { $as_echo "$as_me:${as_lineno-$LINENO}: result: MSYS" >&5
16069 $as_echo "MSYS" >&6; }
16070 OS_WINDOWS="true"
16071 NO_STACK_PROTECTOR="true"
16072 ;;
16073 CYGWIN*)
16074 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Cygwin" >&5
16075 $as_echo "Cygwin" >&6; }
16076 OS_CYGWIN="true"
16077 NO_STACK_PROTECTOR="true"
16078 ;;
16079 FreeBSD*)
16080 { $as_echo "$as_me:${as_lineno-$LINENO}: result: FreeBSD" >&5
16081 $as_echo "FreeBSD" >&6; }
16082 OS_FREEBSD="true"
16083 CPPFLAGS="${CPPFLAGS} -I/usr/local/include"
16084 LDFLAGS="${LDFLAGS} -L/usr/local/lib"
16085 ;;
16086 OpenBSD*)
16087 { $as_echo "$as_me:${as_lineno-$LINENO}: result: OpenBSD" >&5
16088 $as_echo "OpenBSD" >&6; }
16089 OS_OPENBSD="true"
16090 CPPFLAGS="${CPPFLAGS} -I/usr/local/include"
16091 LDFLAGS="${LDFLAGS} -L/usr/local/lib"
16092 ;;
16093 Linux*)
16094 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Linux" >&5
16095 $as_echo "Linux" >&6; }
16096 OS_LINUX="true"
16097 ;;
16098 *)
16099 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16100 $as_echo "no" >&6; }
16101 ;;
16102 esac
16103 #We need to call the iconv macro after OS detection for FreeBSD to work properly
16104 # iconv.m4 serial 11 (gettext-0.18.1)
16105
16106
16107
16108
16109
16110
16111
16112
16113
16114 # lib-ld.m4 serial 4 (gettext-0.18)
16115
16116
16117
16118
16119
16120
16121 # lib-link.m4 serial 21 (gettext-0.18)
16122
16123
16124
16125
16126
16127
16128
16129
16130
16131
16132
16133
16134
16135
16136
16137
16138
16139
16140 # lib-prefix.m4 serial 7 (gettext-0.18)
16141
16142
16143
16144
16145
16146
16147
16148
16149
16150
16151
16152
16153
16154 if test "X$prefix" = "XNONE"; then
16155 acl_final_prefix="$ac_default_prefix"
16156 else
16157 acl_final_prefix="$prefix"
16158 fi
16159 if test "X$exec_prefix" = "XNONE"; then
16160 acl_final_exec_prefix='${prefix}'
16161 else
16162 acl_final_exec_prefix="$exec_prefix"
16163 fi
16164 acl_save_prefix="$prefix"
16165 prefix="$acl_final_prefix"
16166 eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
16167 prefix="$acl_save_prefix"
16168
16169
16170 # Check whether --with-gnu-ld was given.
16171 if test "${with_gnu_ld+set}" = set; then :
16172 withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
16173 else
16174 with_gnu_ld=no
16175 fi
16176
16177 # Prepare PATH_SEPARATOR.
16178 # The user is always right.
16179 if test "${PATH_SEPARATOR+set}" != set; then
16180 echo "#! /bin/sh" >conf$$.sh
16181 echo "exit 0" >>conf$$.sh
16182 chmod +x conf$$.sh
16183 if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
16184 PATH_SEPARATOR=';'
16185 else
16186 PATH_SEPARATOR=:
16187 fi
16188 rm -f conf$$.sh
16189 fi
16190 ac_prog=ld
16191 if test "$GCC" = yes; then
16192 # Check if gcc -print-prog-name=ld gives a path.
16193 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5
16194 $as_echo_n "checking for ld used by GCC... " >&6; }
16195 case $host in
16196 *-*-mingw*)
16197 # gcc leaves a trailing carriage return which upsets mingw
16198 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
16199 *)
16200 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
16201 esac
16202 case $ac_prog in
16203 # Accept absolute paths.
16204 [\\/]* | [A-Za-z]:[\\/]*)
16205 re_direlt='/[^/][^/]*/\.\./'
16206 # Canonicalize the path of ld
16207 ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
16208 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
16209 ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
16210 done
16211 test -z "$LD" && LD="$ac_prog"
16212 ;;
16213 "")
16214 # If it fails, then pretend we aren't using GCC.
16215 ac_prog=ld
16216 ;;
16217 *)
16218 # If it is relative, then search for the first ld in PATH.
16219 with_gnu_ld=unknown
16220 ;;
16221 esac
16222 elif test "$with_gnu_ld" = yes; then
16223 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
16224 $as_echo_n "checking for GNU ld... " >&6; }
16225 else
16226 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
16227 $as_echo_n "checking for non-GNU ld... " >&6; }
16228 fi
16229 if ${acl_cv_path_LD+:} false; then :
16230 $as_echo_n "(cached) " >&6
16231 else
16232 if test -z "$LD"; then
16233 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
16234 for ac_dir in $PATH; do
16235 test -z "$ac_dir" && ac_dir=.
16236 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
16237 acl_cv_path_LD="$ac_dir/$ac_prog"
16238 # Check to see if the program is GNU ld. I'd rather use --version,
16239 # but apparently some GNU ld's only accept -v.
16240 # Break only if it was the GNU/non-GNU ld that we prefer.
16241 case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
16242 *GNU* | *'with BFD'*)
16243 test "$with_gnu_ld" != no && break ;;
16244 *)
16245 test "$with_gnu_ld" != yes && break ;;
16246 esac
16247 fi
16248 done
16249 IFS="$ac_save_ifs"
16250 else
16251 acl_cv_path_LD="$LD" # Let the user override the test with a path.
16252 fi
16253 fi
16254
16255 LD="$acl_cv_path_LD"
16256 if test -n "$LD"; then
16257 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
16258 $as_echo "$LD" >&6; }
16259 else
16260 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16261 $as_echo "no" >&6; }
16262 fi
16263 test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
16264 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
16265 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
16266 if ${acl_cv_prog_gnu_ld+:} false; then :
16267 $as_echo_n "(cached) " >&6
16268 else
16269 # I'd rather use --version here, but apparently some GNU ld's only accept -v.
16270 case `$LD -v 2>&1 </dev/null` in
16271 *GNU* | *'with BFD'*)
16272 acl_cv_prog_gnu_ld=yes ;;
16273 *)
16274 acl_cv_prog_gnu_ld=no ;;
16275 esac
16276 fi
16277 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
16278 $as_echo "$acl_cv_prog_gnu_ld" >&6; }
16279 with_gnu_ld=$acl_cv_prog_gnu_ld
16280
16281
16282
16283
16284 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
16285 $as_echo_n "checking for shared library run path origin... " >&6; }
16286 if ${acl_cv_rpath+:} false; then :
16287 $as_echo_n "(cached) " >&6
16288 else
16289
16290 CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
16291 ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
16292 . ./conftest.sh
16293 rm -f ./conftest.sh
16294 acl_cv_rpath=done
16295
16296 fi
16297 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
16298 $as_echo "$acl_cv_rpath" >&6; }
16299 wl="$acl_cv_wl"
16300 acl_libext="$acl_cv_libext"
16301 acl_shlibext="$acl_cv_shlibext"
16302 acl_libname_spec="$acl_cv_libname_spec"
16303 acl_library_names_spec="$acl_cv_library_names_spec"
16304 acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
16305 acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
16306 acl_hardcode_direct="$acl_cv_hardcode_direct"
16307 acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
16308 # Check whether --enable-rpath was given.
16309 if test "${enable_rpath+set}" = set; then :
16310 enableval=$enable_rpath; :
16311 else
16312 enable_rpath=yes
16313 fi
16314
16315
16316
16317
16318 acl_libdirstem=lib
16319 acl_libdirstem2=
16320 case "$host_os" in
16321 solaris*)
16322 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
16323 $as_echo_n "checking for 64-bit host... " >&6; }
16324 if ${gl_cv_solaris_64bit+:} false; then :
16325 $as_echo_n "(cached) " >&6
16326 else
16327 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16328 /* end confdefs.h. */
16329
16330 #ifdef _LP64
16331 sixtyfour bits
16332 #endif
16333
16334 _ACEOF
16335 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16336 $EGREP "sixtyfour bits" >/dev/null 2>&1; then :
16337 gl_cv_solaris_64bit=yes
16338 else
16339 gl_cv_solaris_64bit=no
16340 fi
16341 rm -f conftest*
16342
16343
16344 fi
16345 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
16346 $as_echo "$gl_cv_solaris_64bit" >&6; }
16347 if test $gl_cv_solaris_64bit = yes; then
16348 acl_libdirstem=lib/64
16349 case "$host_cpu" in
16350 sparc*) acl_libdirstem2=lib/sparcv9 ;;
16351 i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
16352 esac
16353 fi
16354 ;;
16355 *)
16356 searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
16357 if test -n "$searchpath"; then
16358 acl_save_IFS="${IFS= }"; IFS=":"
16359 for searchdir in $searchpath; do
16360 if test -d "$searchdir"; then
16361 case "$searchdir" in
16362 */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
16363 */../ | */.. )
16364 # Better ignore directories of this form. They are misleading.
16365 ;;
16366 *) searchdir=`cd "$searchdir" && pwd`
16367 case "$searchdir" in
16368 */lib64 ) acl_libdirstem=lib64 ;;
16369 esac ;;
16370 esac
16371 fi
16372 done
16373 IFS="$acl_save_IFS"
16374 fi
16375 ;;
16376 esac
16377 test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
16378
16379
16380
16381
16382
16383
16384
16385
16386
16387
16388
16389
16390 use_additional=yes
16391
16392 acl_save_prefix="$prefix"
16393 prefix="$acl_final_prefix"
16394 acl_save_exec_prefix="$exec_prefix"
16395 exec_prefix="$acl_final_exec_prefix"
16396
16397 eval additional_includedir=\"$includedir\"
16398 eval additional_libdir=\"$libdir\"
16399
16400 exec_prefix="$acl_save_exec_prefix"
16401 prefix="$acl_save_prefix"
16402
16403
16404 # Check whether --with-libiconv-prefix was given.
16405 if test "${with_libiconv_prefix+set}" = set; then :
16406 withval=$with_libiconv_prefix;
16407 if test "X$withval" = "Xno"; then
16408 use_additional=no
16409 else
16410 if test "X$withval" = "X"; then
16411
16412 acl_save_prefix="$prefix"
16413 prefix="$acl_final_prefix"
16414 acl_save_exec_prefix="$exec_prefix"
16415 exec_prefix="$acl_final_exec_prefix"
16416
16417 eval additional_includedir=\"$includedir\"
16418 eval additional_libdir=\"$libdir\"
16419
16420 exec_prefix="$acl_save_exec_prefix"
16421 prefix="$acl_save_prefix"
16422
16423 else
16424 additional_includedir="$withval/include"
16425 additional_libdir="$withval/$acl_libdirstem"
16426 if test "$acl_libdirstem2" != "$acl_libdirstem" \
16427 && ! test -d "$withval/$acl_libdirstem"; then
16428 additional_libdir="$withval/$acl_libdirstem2"
16429 fi
16430 fi
16431 fi
16432
16433 fi
16434
16435 LIBICONV=
16436 LTLIBICONV=
16437 INCICONV=
16438 LIBICONV_PREFIX=
16439 HAVE_LIBICONV=
16440 rpathdirs=
16441 ltrpathdirs=
16442 names_already_handled=
16443 names_next_round='iconv '
16444 while test -n "$names_next_round"; do
16445 names_this_round="$names_next_round"
16446 names_next_round=
16447 for name in $names_this_round; do
16448 already_handled=
16449 for n in $names_already_handled; do
16450 if test "$n" = "$name"; then
16451 already_handled=yes
16452 break
16453 fi
16454 done
16455 if test -z "$already_handled"; then
16456 names_already_handled="$names_already_handled $name"
16457 uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
16458 eval value=\"\$HAVE_LIB$uppername\"
16459 if test -n "$value"; then
16460 if test "$value" = yes; then
16461 eval value=\"\$LIB$uppername\"
16462 test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
16463 eval value=\"\$LTLIB$uppername\"
16464 test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value"
16465 else
16466 :
16467 fi
16468 else
16469 found_dir=
16470 found_la=
16471 found_so=
16472 found_a=
16473 eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
16474 if test -n "$acl_shlibext"; then
16475 shrext=".$acl_shlibext" # typically: shrext=.so
16476 else
16477 shrext=
16478 fi
16479 if test $use_additional = yes; then
16480 dir="$additional_libdir"
16481 if test -n "$acl_shlibext"; then
16482 if test -f "$dir/$libname$shrext"; then
16483 found_dir="$dir"
16484 found_so="$dir/$libname$shrext"
16485 else
16486 if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
16487 ver=`(cd "$dir" && \
16488 for f in "$libname$shrext".*; do echo "$f"; done \
16489 | sed -e "s,^$libname$shrext\\\\.,," \
16490 | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
16491 | sed 1q ) 2>/dev/null`
16492 if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
16493 found_dir="$dir"
16494 found_so="$dir/$libname$shrext.$ver"
16495 fi
16496 else
16497 eval library_names=\"$acl_library_names_spec\"
16498 for f in $library_names; do
16499 if test -f "$dir/$f"; then
16500 found_dir="$dir"
16501 found_so="$dir/$f"
16502 break
16503 fi
16504 done
16505 fi
16506 fi
16507 fi
16508 if test "X$found_dir" = "X"; then
16509 if test -f "$dir/$libname.$acl_libext"; then
16510 found_dir="$dir"
16511 found_a="$dir/$libname.$acl_libext"
16512 fi
16513 fi
16514 if test "X$found_dir" != "X"; then
16515 if test -f "$dir/$libname.la"; then
16516 found_la="$dir/$libname.la"
16517 fi
16518 fi
16519 fi
16520 if test "X$found_dir" = "X"; then
16521 for x in $LDFLAGS $LTLIBICONV; do
16522
16523 acl_save_prefix="$prefix"
16524 prefix="$acl_final_prefix"
16525 acl_save_exec_prefix="$exec_prefix"
16526 exec_prefix="$acl_final_exec_prefix"
16527 eval x=\"$x\"
16528 exec_prefix="$acl_save_exec_prefix"
16529 prefix="$acl_save_prefix"
16530
16531 case "$x" in
16532 -L*)
16533 dir=`echo "X$x" | sed -e 's/^X-L//'`
16534 if test -n "$acl_shlibext"; then
16535 if test -f "$dir/$libname$shrext"; then
16536 found_dir="$dir"
16537 found_so="$dir/$libname$shrext"
16538 else
16539 if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
16540 ver=`(cd "$dir" && \
16541 for f in "$libname$shrext".*; do echo "$f"; done \
16542 | sed -e "s,^$libname$shrext\\\\.,," \
16543 | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
16544 | sed 1q ) 2>/dev/null`
16545 if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
16546 found_dir="$dir"
16547 found_so="$dir/$libname$shrext.$ver"
16548 fi
16549 else
16550 eval library_names=\"$acl_library_names_spec\"
16551 for f in $library_names; do
16552 if test -f "$dir/$f"; then
16553 found_dir="$dir"
16554 found_so="$dir/$f"
16555 break
16556 fi
16557 done
16558 fi
16559 fi
16560 fi
16561 if test "X$found_dir" = "X"; then
16562 if test -f "$dir/$libname.$acl_libext"; then
16563 found_dir="$dir"
16564 found_a="$dir/$libname.$acl_libext"
16565 fi
16566 fi
16567 if test "X$found_dir" != "X"; then
16568 if test -f "$dir/$libname.la"; then
16569 found_la="$dir/$libname.la"
16570 fi
16571 fi
16572 ;;
16573 esac
16574 if test "X$found_dir" != "X"; then
16575 break
16576 fi
16577 done
16578 fi
16579 if test "X$found_dir" != "X"; then
16580 LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
16581 if test "X$found_so" != "X"; then
16582 if test "$enable_rpath" = no \
16583 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
16584 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
16585 LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
16586 else
16587 haveit=
16588 for x in $ltrpathdirs; do
16589 if test "X$x" = "X$found_dir"; then
16590 haveit=yes
16591 break
16592 fi
16593 done
16594 if test -z "$haveit"; then
16595 ltrpathdirs="$ltrpathdirs $found_dir"
16596 fi
16597 if test "$acl_hardcode_direct" = yes; then
16598 LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
16599 else
16600 if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
16601 LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
16602 haveit=
16603 for x in $rpathdirs; do
16604 if test "X$x" = "X$found_dir"; then
16605 haveit=yes
16606 break
16607 fi
16608 done
16609 if test -z "$haveit"; then
16610 rpathdirs="$rpathdirs $found_dir"
16611 fi
16612 else
16613 haveit=
16614 for x in $LDFLAGS $LIBICONV; do
16615
16616 acl_save_prefix="$prefix"
16617 prefix="$acl_final_prefix"
16618 acl_save_exec_prefix="$exec_prefix"
16619 exec_prefix="$acl_final_exec_prefix"
16620 eval x=\"$x\"
16621 exec_prefix="$acl_save_exec_prefix"
16622 prefix="$acl_save_prefix"
16623
16624 if test "X$x" = "X-L$found_dir"; then
16625 haveit=yes
16626 break
16627 fi
16628 done
16629 if test -z "$haveit"; then
16630 LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
16631 fi
16632 if test "$acl_hardcode_minus_L" != no; then
16633 LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
16634 else
16635 LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
16636 fi
16637 fi
16638 fi
16639 fi
16640 else
16641 if test "X$found_a" != "X"; then
16642 LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
16643 else
16644 LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name"
16645 fi
16646 fi
16647 additional_includedir=
16648 case "$found_dir" in
16649 */$acl_libdirstem | */$acl_libdirstem/)
16650 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
16651 if test "$name" = 'iconv'; then
16652 LIBICONV_PREFIX="$basedir"
16653 fi
16654 additional_includedir="$basedir/include"
16655 ;;
16656 */$acl_libdirstem2 | */$acl_libdirstem2/)
16657 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
16658 if test "$name" = 'iconv'; then
16659 LIBICONV_PREFIX="$basedir"
16660 fi
16661 additional_includedir="$basedir/include"
16662 ;;
16663 esac
16664 if test "X$additional_includedir" != "X"; then
16665 if test "X$additional_includedir" != "X/usr/include"; then
16666 haveit=
16667 if test "X$additional_includedir" = "X/usr/local/include"; then
16668 if test -n "$GCC"; then
16669 case $host_os in
16670 linux* | gnu* | k*bsd*-gnu) haveit=yes;;
16671 esac
16672 fi
16673 fi
16674 if test -z "$haveit"; then
16675 for x in $CPPFLAGS $INCICONV; do
16676
16677 acl_save_prefix="$prefix"
16678 prefix="$acl_final_prefix"
16679 acl_save_exec_prefix="$exec_prefix"
16680 exec_prefix="$acl_final_exec_prefix"
16681 eval x=\"$x\"
16682 exec_prefix="$acl_save_exec_prefix"
16683 prefix="$acl_save_prefix"
16684
16685 if test "X$x" = "X-I$additional_includedir"; then
16686 haveit=yes
16687 break
16688 fi
16689 done
16690 if test -z "$haveit"; then
16691 if test -d "$additional_includedir"; then
16692 INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir"
16693 fi
16694 fi
16695 fi
16696 fi
16697 fi
16698 if test -n "$found_la"; then
16699 save_libdir="$libdir"
16700 case "$found_la" in
16701 */* | *\\*) . "$found_la" ;;
16702 *) . "./$found_la" ;;
16703 esac
16704 libdir="$save_libdir"
16705 for dep in $dependency_libs; do
16706 case "$dep" in
16707 -L*)
16708 additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
16709 if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
16710 && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
16711 haveit=
16712 if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
16713 || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
16714 if test -n "$GCC"; then
16715 case $host_os in
16716 linux* | gnu* | k*bsd*-gnu) haveit=yes;;
16717 esac
16718 fi
16719 fi
16720 if test -z "$haveit"; then
16721 haveit=
16722 for x in $LDFLAGS $LIBICONV; do
16723
16724 acl_save_prefix="$prefix"
16725 prefix="$acl_final_prefix"
16726 acl_save_exec_prefix="$exec_prefix"
16727 exec_prefix="$acl_final_exec_prefix"
16728 eval x=\"$x\"
16729 exec_prefix="$acl_save_exec_prefix"
16730 prefix="$acl_save_prefix"
16731
16732 if test "X$x" = "X-L$additional_libdir"; then
16733 haveit=yes
16734 break
16735 fi
16736 done
16737 if test -z "$haveit"; then
16738 if test -d "$additional_libdir"; then
16739 LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
16740 fi
16741 fi
16742 haveit=
16743 for x in $LDFLAGS $LTLIBICONV; do
16744
16745 acl_save_prefix="$prefix"
16746 prefix="$acl_final_prefix"
16747 acl_save_exec_prefix="$exec_prefix"
16748 exec_prefix="$acl_final_exec_prefix"
16749 eval x=\"$x\"
16750 exec_prefix="$acl_save_exec_prefix"
16751 prefix="$acl_save_prefix"
16752
16753 if test "X$x" = "X-L$additional_libdir"; then
16754 haveit=yes
16755 break
16756 fi
16757 done
16758 if test -z "$haveit"; then
16759 if test -d "$additional_libdir"; then
16760 LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir"
16761 fi
16762 fi
16763 fi
16764 fi
16765 ;;
16766 -R*)
16767 dir=`echo "X$dep" | sed -e 's/^X-R//'`
16768 if test "$enable_rpath" != no; then
16769 haveit=
16770 for x in $rpathdirs; do
16771 if test "X$x" = "X$dir"; then
16772 haveit=yes
16773 break
16774 fi
16775 done
16776 if test -z "$haveit"; then
16777 rpathdirs="$rpathdirs $dir"
16778 fi
16779 haveit=
16780 for x in $ltrpathdirs; do
16781 if test "X$x" = "X$dir"; then
16782 haveit=yes
16783 break
16784 fi
16785 done
16786 if test -z "$haveit"; then
16787 ltrpathdirs="$ltrpathdirs $dir"
16788 fi
16789 fi
16790 ;;
16791 -l*)
16792 names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
16793 ;;
16794 *.la)
16795 names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
16796 ;;
16797 *)
16798 LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
16799 LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
16800 ;;
16801 esac
16802 done
16803 fi
16804 else
16805 LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
16806 LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name"
16807 fi
16808 fi
16809 fi
16810 done
16811 done
16812 if test "X$rpathdirs" != "X"; then
16813 if test -n "$acl_hardcode_libdir_separator"; then
16814 alldirs=
16815 for found_dir in $rpathdirs; do
16816 alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
16817 done
16818 acl_save_libdir="$libdir"
16819 libdir="$alldirs"
16820 eval flag=\"$acl_hardcode_libdir_flag_spec\"
16821 libdir="$acl_save_libdir"
16822 LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
16823 else
16824 for found_dir in $rpathdirs; do
16825 acl_save_libdir="$libdir"
16826 libdir="$found_dir"
16827 eval flag=\"$acl_hardcode_libdir_flag_spec\"
16828 libdir="$acl_save_libdir"
16829 LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
16830 done
16831 fi
16832 fi
16833 if test "X$ltrpathdirs" != "X"; then
16834 for found_dir in $ltrpathdirs; do
16835 LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
16836 done
16837 fi
16838
16839
16840
16841
16842
16843
16844
16845
16846
16847
16848
16849
16850 am_save_CPPFLAGS="$CPPFLAGS"
16851
16852 for element in $INCICONV; do
16853 haveit=
16854 for x in $CPPFLAGS; do
16855
16856 acl_save_prefix="$prefix"
16857 prefix="$acl_final_prefix"
16858 acl_save_exec_prefix="$exec_prefix"
16859 exec_prefix="$acl_final_exec_prefix"
16860 eval x=\"$x\"
16861 exec_prefix="$acl_save_exec_prefix"
16862 prefix="$acl_save_prefix"
16863
16864 if test "X$x" = "X$element"; then
16865 haveit=yes
16866 break
16867 fi
16868 done
16869 if test -z "$haveit"; then
16870 CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
16871 fi
16872 done
16873
16874
16875 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
16876 $as_echo_n "checking for iconv... " >&6; }
16877 if ${am_cv_func_iconv+:} false; then :
16878 $as_echo_n "(cached) " >&6
16879 else
16880
16881 am_cv_func_iconv="no, consider installing GNU libiconv"
16882 am_cv_lib_iconv=no
16883 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16884 /* end confdefs.h. */
16885 #include <stdlib.h>
16886 #include <iconv.h>
16887 int
16888 main ()
16889 {
16890 iconv_t cd = iconv_open("","");
16891 iconv(cd,NULL,NULL,NULL,NULL);
16892 iconv_close(cd);
16893 ;
16894 return 0;
16895 }
16896 _ACEOF
16897 if ac_fn_c_try_link "$LINENO"; then :
16898 am_cv_func_iconv=yes
16899 fi
16900 rm -f core conftest.err conftest.$ac_objext \
16901 conftest$ac_exeext conftest.$ac_ext
16902 if test "$am_cv_func_iconv" != yes; then
16903 am_save_LIBS="$LIBS"
16904 LIBS="$LIBS $LIBICONV"
16905 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16906 /* end confdefs.h. */
16907 #include <stdlib.h>
16908 #include <iconv.h>
16909 int
16910 main ()
16911 {
16912 iconv_t cd = iconv_open("","");
16913 iconv(cd,NULL,NULL,NULL,NULL);
16914 iconv_close(cd);
16915 ;
16916 return 0;
16917 }
16918 _ACEOF
16919 if ac_fn_c_try_link "$LINENO"; then :
16920 am_cv_lib_iconv=yes
16921 am_cv_func_iconv=yes
16922 fi
16923 rm -f core conftest.err conftest.$ac_objext \
16924 conftest$ac_exeext conftest.$ac_ext
16925 LIBS="$am_save_LIBS"
16926 fi
16927
16928 fi
16929 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
16930 $as_echo "$am_cv_func_iconv" >&6; }
16931 if test "$am_cv_func_iconv" = yes; then
16932 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
16933 $as_echo_n "checking for working iconv... " >&6; }
16934 if ${am_cv_func_iconv_works+:} false; then :
16935 $as_echo_n "(cached) " >&6
16936 else
16937
16938 am_save_LIBS="$LIBS"
16939 if test $am_cv_lib_iconv = yes; then
16940 LIBS="$LIBS $LIBICONV"
16941 fi
16942 if test "$cross_compiling" = yes; then :
16943 case "$host_os" in
16944 aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
16945 *) am_cv_func_iconv_works="guessing yes" ;;
16946 esac
16947 else
16948 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16949 /* end confdefs.h. */
16950
16951 #include <iconv.h>
16952 #include <string.h>
16953 int main ()
16954 {
16955 /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
16956 returns. */
16957 {
16958 iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
16959 if (cd_utf8_to_88591 != (iconv_t)(-1))
16960 {
16961 static const char input[] = "\342\202\254"; /* EURO SIGN */
16962 char buf[10];
16963 const char *inptr = input;
16964 size_t inbytesleft = strlen (input);
16965 char *outptr = buf;
16966 size_t outbytesleft = sizeof (buf);
16967 size_t res = iconv (cd_utf8_to_88591,
16968 (char **) &inptr, &inbytesleft,
16969 &outptr, &outbytesleft);
16970 if (res == 0)
16971 return 1;
16972 }
16973 }
16974 /* Test against Solaris 10 bug: Failures are not distinguishable from
16975 successful returns. */
16976 {
16977 iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
16978 if (cd_ascii_to_88591 != (iconv_t)(-1))
16979 {
16980 static const char input[] = "\263";
16981 char buf[10];
16982 const char *inptr = input;
16983 size_t inbytesleft = strlen (input);
16984 char *outptr = buf;
16985 size_t outbytesleft = sizeof (buf);
16986 size_t res = iconv (cd_ascii_to_88591,
16987 (char **) &inptr, &inbytesleft,
16988 &outptr, &outbytesleft);
16989 if (res == 0)
16990 return 1;
16991 }
16992 }
16993 #if 0 /* This bug could be worked around by the caller. */
16994 /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
16995 {
16996 iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
16997 if (cd_88591_to_utf8 != (iconv_t)(-1))
16998 {
16999 static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
17000 char buf[50];
17001 const char *inptr = input;
17002 size_t inbytesleft = strlen (input);
17003 char *outptr = buf;
17004 size_t outbytesleft = sizeof (buf);
17005 size_t res = iconv (cd_88591_to_utf8,
17006 (char **) &inptr, &inbytesleft,
17007 &outptr, &outbytesleft);
17008 if ((int)res > 0)
17009 return 1;
17010 }
17011 }
17012 #endif
17013 /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
17014 provided. */
17015 if (/* Try standardized names. */
17016 iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
17017 /* Try IRIX, OSF/1 names. */
17018 && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
17019 /* Try AIX names. */
17020 && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
17021 /* Try HP-UX names. */
17022 && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
17023 return 1;
17024 return 0;
17025 }
17026 _ACEOF
17027 if ac_fn_c_try_run "$LINENO"; then :
17028 am_cv_func_iconv_works=yes
17029 else
17030 am_cv_func_iconv_works=no
17031 fi
17032 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
17033 conftest.$ac_objext conftest.beam conftest.$ac_ext
17034 fi
17035
17036 LIBS="$am_save_LIBS"
17037
17038 fi
17039 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
17040 $as_echo "$am_cv_func_iconv_works" >&6; }
17041 case "$am_cv_func_iconv_works" in
17042 *no) am_func_iconv=no am_cv_lib_iconv=no ;;
17043 *) am_func_iconv=yes ;;
17044 esac
17045 else
17046 am_func_iconv=no am_cv_lib_iconv=no
17047 fi
17048 if test "$am_func_iconv" = yes; then
17049
17050 $as_echo "#define HAVE_ICONV 1" >>confdefs.h
17051
17052 fi
17053 if test "$am_cv_lib_iconv" = yes; then
17054 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
17055 $as_echo_n "checking how to link with libiconv... " >&6; }
17056 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
17057 $as_echo "$LIBICONV" >&6; }
17058 else
17059 CPPFLAGS="$am_save_CPPFLAGS"
17060 LIBICONV=
17061 LTLIBICONV=
17062 fi
17063
17064
17065
17066 if test "$am_cv_func_iconv" = yes; then
17067 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
17068 $as_echo_n "checking for iconv declaration... " >&6; }
17069 if ${am_cv_proto_iconv+:} false; then :
17070 $as_echo_n "(cached) " >&6
17071 else
17072
17073 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17074 /* end confdefs.h. */
17075
17076 #include <stdlib.h>
17077 #include <iconv.h>
17078 extern
17079 #ifdef __cplusplus
17080 "C"
17081 #endif
17082 #if defined(__STDC__) || defined(__cplusplus)
17083 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
17084 #else
17085 size_t iconv();
17086 #endif
17087
17088 int
17089 main ()
17090 {
17091
17092 ;
17093 return 0;
17094 }
17095 _ACEOF
17096 if ac_fn_c_try_compile "$LINENO"; then :
17097 am_cv_proto_iconv_arg1=""
17098 else
17099 am_cv_proto_iconv_arg1="const"
17100 fi
17101 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17102 am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
17103 fi
17104
17105 am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
17106 { $as_echo "$as_me:${as_lineno-$LINENO}: result:
17107 $am_cv_proto_iconv" >&5
17108 $as_echo "
17109 $am_cv_proto_iconv" >&6; }
17110
17111 cat >>confdefs.h <<_ACEOF
17112 #define ICONV_CONST $am_cv_proto_iconv_arg1
17113 _ACEOF
17114
17115 fi
17116
17117
17118 # iconvctl is not standard, it is defined only in GNU libiconv
17119 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconvctl" >&5
17120 $as_echo_n "checking for iconvctl... " >&6; }
17121 TMPLIBS="${LIBS}"
17122 LIBS="${LIBS} ${LIBICONV}"
17123
17124 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17125 /* end confdefs.h. */
17126 #include <stdlib.h>
17127 #include <iconv.h>
17128 int
17129 main ()
17130 {
17131 int iconv_param = 0;
17132 iconv_t cd = iconv_open("","");
17133 iconvctl(cd, ICONV_SET_DISCARD_ILSEQ, &iconv_param);
17134 iconv_close(cd);
17135 ;
17136 return 0;
17137 }
17138 _ACEOF
17139 if ac_fn_c_try_link "$LINENO"; then :
17140 ac_cv_func_iconvctl=yes
17141 fi
17142 rm -f core conftest.err conftest.$ac_objext \
17143 conftest$ac_exeext conftest.$ac_ext
17144 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_iconvctl" >&5
17145 $as_echo "$ac_cv_func_iconvctl" >&6; }
17146 if test "$ac_cv_func_iconvctl" == yes; then
17147
17148 $as_echo "#define HAVE_ICONVCTL 1" >>confdefs.h
17149
17150 fi
17151 LIBS="${TMPLIBS}"
17152
17153
17154 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc support of -Wstrict-overflow=1" >&5
17155 $as_echo_n "checking for gcc support of -Wstrict-overflow=1... " >&6; }
17156 TMPCFLAGS="${CFLAGS}"
17157 CFLAGS="${CFLAGS} -Wstrict-overflow=1"
17158 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17159 /* end confdefs.h. */
17160
17161 int
17162 main ()
17163 {
17164
17165 ;
17166 return 0;
17167 }
17168 _ACEOF
17169 if ac_fn_c_try_compile "$LINENO"; then :
17170 gcc_have_strict_overflow=yes
17171 else
17172 gcc_have_strict_overflow=no
17173 fi
17174 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17175 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_have_strict_overflow" >&5
17176 $as_echo "$gcc_have_strict_overflow" >&6; }
17177 if test "$gcc_have_strict_overflow" != "yes"; then
17178 CFLAGS="${TMPCFLAGS}"
17179 fi
17180
17181 if test "$NO_STACK_PROTECTOR" != "true"; then
17182 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc support of stack smashing protection" >&5
17183 $as_echo_n "checking for gcc support of stack smashing protection... " >&6; }
17184 TMPCFLAGS="${CFLAGS}"
17185 CFLAGS="${CFLAGS} -fstack-protector"
17186 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17187 /* end confdefs.h. */
17188
17189 int
17190 main ()
17191 {
17192
17193 ;
17194 return 0;
17195 }
17196 _ACEOF
17197 if ac_fn_c_try_compile "$LINENO"; then :
17198 gcc_have_fstack_protector=yes
17199 else
17200 gcc_have_fstack_protector=no
17201 fi
17202 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17203 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_have_fstack_protector" >&5
17204 $as_echo "$gcc_have_fstack_protector" >&6; }
17205 if test "$gcc_have_fstack_protector" != "yes"; then
17206 CFLAGS="${TMPCFLAGS}"
17207 fi
17208 fi
17209
17210 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc support of FORTIFY_SOURCE" >&5
17211 $as_echo_n "checking for gcc support of FORTIFY_SOURCE... " >&6; }
17212 TMPCFLAGS="${CFLAGS}"
17213 CFLAGS="${CFLAGS} -D_FORTIFY_SOURCE=2"
17214 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17215 /* end confdefs.h. */
17216
17217 int
17218 main ()
17219 {
17220
17221 ;
17222 return 0;
17223 }
17224 _ACEOF
17225 if ac_fn_c_try_compile "$LINENO"; then :
17226 gcc_have_fortify_source=yes
17227 else
17228 gcc_have_fortify_source=no
17229 fi
17230 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17231 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_have_fortify_source" >&5
17232 $as_echo "$gcc_have_fortify_source" >&6; }
17233 if test "$gcc_have_fortify_source" != "yes"; then
17234 CFLAGS="${TMPCFLAGS}"
17235 fi
17236
17237 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc support of -Wformat -Wformat-security" >&5
17238 $as_echo_n "checking for gcc support of -Wformat -Wformat-security... " >&6; }
17239 TMPCFLAGS="${CFLAGS}"
17240 CFLAGS="${CFLAGS} -Wformat -Wformat-security"
17241 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17242 /* end confdefs.h. */
17243
17244 int
17245 main ()
17246 {
17247
17248 ;
17249 return 0;
17250 }
17251 _ACEOF
17252 if ac_fn_c_try_compile "$LINENO"; then :
17253 gcc_have_format_security=yes
17254 else
17255 gcc_have_format_security=no
17256 fi
17257 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17258 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_have_format_security" >&5
17259 $as_echo "$gcc_have_format_security" >&6; }
17260 if test "$gcc_have_format_security" != "yes"; then
17261 CFLAGS="${TMPCFLAGS}"
17262 fi
17263
17264 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc support of -fPIC" >&5
17265 $as_echo_n "checking for gcc support of -fPIC... " >&6; }
17266 TMPCFLAGS="${CFLAGS}"
17267 CFLAGS="${CFLAGS} -fPIC"
17268 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17269 /* end confdefs.h. */
17270
17271 int
17272 main ()
17273 {
17274
17275 ;
17276 return 0;
17277 }
17278 _ACEOF
17279 if ac_fn_c_try_compile "$LINENO"; then :
17280 gcc_have_fpic=yes
17281 else
17282 gcc_have_fpic=no
17283 fi
17284 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17285 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_have_fpic" >&5
17286 $as_echo "$gcc_have_fpic" >&6; }
17287 if test "$gcc_have_fpic" != "yes"; then
17288 CFLAGS="${TMPCFLAGS}"
17289 fi
17290
17291
17292 # Check whether --with-doxygen was given.
17293 if test "${with_doxygen+set}" = set; then :
17294 withval=$with_doxygen; doxygen="$withval"
17295 else
17296 doxygen=no
17297 fi
17298
17299
17300 if test "$doxygen" != "no"; then
17301 { $as_echo "$as_me:${as_lineno-$LINENO}: Using doxygen: $doxygen" >&5
17302 $as_echo "$as_me: Using doxygen: $doxygen" >&6;}
17303 else
17304 for ac_prog in doxygen
17305 do
17306 # Extract the first word of "$ac_prog", so it can be a program name with args.
17307 set dummy $ac_prog; ac_word=$2
17308 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
17309 $as_echo_n "checking for $ac_word... " >&6; }
17310 if ${ac_cv_path_doxygen+:} false; then :
17311 $as_echo_n "(cached) " >&6
17312 else
17313 case $doxygen in
17314 [\\/]* | ?:[\\/]*)
17315 ac_cv_path_doxygen="$doxygen" # Let the user override the test with a path.
17316 ;;
17317 *)
17318 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
17319 for as_dir in $PATH
17320 do
17321 IFS=$as_save_IFS
17322 test -z "$as_dir" && as_dir=.
17323 for ac_exec_ext in '' $ac_executable_extensions; do
17324 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
17325 ac_cv_path_doxygen="$as_dir/$ac_word$ac_exec_ext"
17326 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
17327 break 2
17328 fi
17329 done
17330 done
17331 IFS=$as_save_IFS
17332
17333 ;;
17334 esac
17335 fi
17336 doxygen=$ac_cv_path_doxygen
17337 if test -n "$doxygen"; then
17338 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $doxygen" >&5
17339 $as_echo "$doxygen" >&6; }
17340 else
17341 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17342 $as_echo "no" >&6; }
17343 fi
17344
17345
17346 test -n "$doxygen" && break
17347 done
17348
17349 fi
17350
17351 DOXYGEN=$doxygen
17352
17353
17354 # Extract the first word of "lcov", so it can be a program name with args.
17355 set dummy lcov; ac_word=$2
17356 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
17357 $as_echo_n "checking for $ac_word... " >&6; }
17358 if ${ac_cv_path_LCOV+:} false; then :
17359 $as_echo_n "(cached) " >&6
17360 else
17361 case $LCOV in
17362 [\\/]* | ?:[\\/]*)
17363 ac_cv_path_LCOV="$LCOV" # Let the user override the test with a path.
17364 ;;
17365 *)
17366 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
17367 for as_dir in $PATH
17368 do
17369 IFS=$as_save_IFS
17370 test -z "$as_dir" && as_dir=.
17371 for ac_exec_ext in '' $ac_executable_extensions; do
17372 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
17373 ac_cv_path_LCOV="$as_dir/$ac_word$ac_exec_ext"
17374 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
17375 break 2
17376 fi
17377 done
17378 done
17379 IFS=$as_save_IFS
17380
17381 test -z "$ac_cv_path_LCOV" && ac_cv_path_LCOV="no"
17382 ;;
17383 esac
17384 fi
17385 LCOV=$ac_cv_path_LCOV
17386 if test -n "$LCOV"; then
17387 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LCOV" >&5
17388 $as_echo "$LCOV" >&6; }
17389 else
17390 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17391 $as_echo "no" >&6; }
17392 fi
17393
17394
17395
17396
17397
17398
17399
17400 ac_config_files="$ac_config_files Makefile htp.pc htp/Makefile htp/lzma/Makefile test/Makefile docs/Makefile"
17401
17402 cat >confcache <<\_ACEOF
17403 # This file is a shell script that caches the results of configure
17404 # tests run on this system so they can be shared between configure
17405 # scripts and configure runs, see configure's option --config-cache.
17406 # It is not useful on other systems. If it contains results you don't
17407 # want to keep, you may remove or edit it.
17408 #
17409 # config.status only pays attention to the cache file if you give it
17410 # the --recheck option to rerun configure.
17411 #
17412 # `ac_cv_env_foo' variables (set or unset) will be overridden when
17413 # loading this file, other *unset* `ac_cv_foo' will be assigned the
17414 # following values.
17415
17416 _ACEOF
17417
17418 # The following way of writing the cache mishandles newlines in values,
17419 # but we know of no workaround that is simple, portable, and efficient.
17420 # So, we kill variables containing newlines.
17421 # Ultrix sh set writes to stderr and can't be redirected directly,
17422 # and sets the high bit in the cache file unless we assign to the vars.
17423 (
17424 for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
17425 eval ac_val=\$$ac_var
17426 case $ac_val in #(
17427 *${as_nl}*)
17428 case $ac_var in #(
17429 *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
17430 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
17431 esac
17432 case $ac_var in #(
17433 _ | IFS | as_nl) ;; #(
17434 BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
17435 *) { eval $ac_var=; unset $ac_var;} ;;
17436 esac ;;
17437 esac
17438 done
17439
17440 (set) 2>&1 |
17441 case $as_nl`(ac_space=' '; set) 2>&1` in #(
17442 *${as_nl}ac_space=\ *)
17443 # `set' does not quote correctly, so add quotes: double-quote
17444 # substitution turns \\\\ into \\, and sed turns \\ into \.
17445 sed -n \
17446 "s/'/'\\\\''/g;
17447 s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
17448 ;; #(
17449 *)
17450 # `set' quotes correctly as required by POSIX, so do not add quotes.
17451 sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
17452 ;;
17453 esac |
17454 sort
17455 ) |
17456 sed '
17457 /^ac_cv_env_/b end
17458 t clear
17459 :clear
17460 s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
17461 t end
17462 s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
17463 :end' >>confcache
17464 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
17465 if test -w "$cache_file"; then
17466 if test "x$cache_file" != "x/dev/null"; then
17467 { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
17468 $as_echo "$as_me: updating cache $cache_file" >&6;}
17469 if test ! -f "$cache_file" || test -h "$cache_file"; then
17470 cat confcache >"$cache_file"
17471 else
17472 case $cache_file in #(
17473 */* | ?:*)
17474 mv -f confcache "$cache_file"$$ &&
17475 mv -f "$cache_file"$$ "$cache_file" ;; #(
17476 *)
17477 mv -f confcache "$cache_file" ;;
17478 esac
17479 fi
17480 fi
17481 else
17482 { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
17483 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
17484 fi
17485 fi
17486 rm -f confcache
17487
17488 test "x$prefix" = xNONE && prefix=$ac_default_prefix
17489 # Let make expand exec_prefix.
17490 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
17491
17492 DEFS=-DHAVE_CONFIG_H
17493
17494 ac_libobjs=
17495 ac_ltlibobjs=
17496 U=
17497 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
17498 # 1. Remove the extension, and $U if already installed.
17499 ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
17500 ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
17501 # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
17502 # will be set to the directory where LIBOBJS objects are built.
17503 as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
17504 as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
17505 done
17506 LIBOBJS=$ac_libobjs
17507
17508 LTLIBOBJS=$ac_ltlibobjs
17509
17510
17511 { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
17512 $as_echo_n "checking that generated files are newer than configure... " >&6; }
17513 if test -n "$am_sleep_pid"; then
17514 # Hide warnings about reused PIDs.
17515 wait $am_sleep_pid 2>/dev/null
17516 fi
17517 { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
17518 $as_echo "done" >&6; }
17519 if test -n "$EXEEXT"; then
17520 am__EXEEXT_TRUE=
17521 am__EXEEXT_FALSE='#'
17522 else
17523 am__EXEEXT_TRUE='#'
17524 am__EXEEXT_FALSE=
17525 fi
17526
17527 if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
17528 as_fn_error $? "conditional \"AMDEP\" was never defined.
17529 Usually this means the macro was only invoked conditionally." "$LINENO" 5
17530 fi
17531 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
17532 as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
17533 Usually this means the macro was only invoked conditionally." "$LINENO" 5
17534 fi
17535 if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
17536 as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
17537 Usually this means the macro was only invoked conditionally." "$LINENO" 5
17538 fi
17539 { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
17540 $as_echo_n "checking that generated files are newer than configure... " >&6; }
17541 if test -n "$am_sleep_pid"; then
17542 # Hide warnings about reused PIDs.
17543 wait $am_sleep_pid 2>/dev/null
17544 fi
17545 { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
17546 $as_echo "done" >&6; }
17547
17548 : "${CONFIG_STATUS=./config.status}"
17549 ac_write_fail=0
17550 ac_clean_files_save=$ac_clean_files
17551 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
17552 { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
17553 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
17554 as_write_fail=0
17555 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
17556 #! $SHELL
17557 # Generated by $as_me.
17558 # Run this file to recreate the current configuration.
17559 # Compiler output produced by configure, useful for debugging
17560 # configure, is in config.log if it exists.
17561
17562 debug=false
17563 ac_cs_recheck=false
17564 ac_cs_silent=false
17565
17566 SHELL=\${CONFIG_SHELL-$SHELL}
17567 export SHELL
17568 _ASEOF
17569 cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
17570 ## -------------------- ##
17571 ## M4sh Initialization. ##
17572 ## -------------------- ##
17573
17574 # Be more Bourne compatible
17575 DUALCASE=1; export DUALCASE # for MKS sh
17576 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
17577 emulate sh
17578 NULLCMD=:
17579 # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
17580 # is contrary to our usage. Disable this feature.
17581 alias -g '${1+"$@"}'='"$@"'
17582 setopt NO_GLOB_SUBST
17583 else
17584 case `(set -o) 2>/dev/null` in #(
17585 *posix*) :
17586 set -o posix ;; #(
17587 *) :
17588 ;;
17589 esac
17590 fi
17591
17592
17593 as_nl='
17594 '
17595 export as_nl
17596 # Printing a long string crashes Solaris 7 /usr/bin/printf.
17597 as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
17598 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
17599 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
17600 # Prefer a ksh shell builtin over an external printf program on Solaris,
17601 # but without wasting forks for bash or zsh.
17602 if test -z "$BASH_VERSION$ZSH_VERSION" \
17603 && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
17604 as_echo='print -r --'
17605 as_echo_n='print -rn --'
17606 elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
17607 as_echo='printf %s\n'
17608 as_echo_n='printf %s'
17609 else
17610 if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
17611 as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
17612 as_echo_n='/usr/ucb/echo -n'
17613 else
17614 as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
17615 as_echo_n_body='eval
17616 arg=$1;
17617 case $arg in #(
17618 *"$as_nl"*)
17619 expr "X$arg" : "X\\(.*\\)$as_nl";
17620 arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
17621 esac;
17622 expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
17623 '
17624 export as_echo_n_body
17625 as_echo_n='sh -c $as_echo_n_body as_echo'
17626 fi
17627 export as_echo_body
17628 as_echo='sh -c $as_echo_body as_echo'
17629 fi
17630
17631 # The user is always right.
17632 if test "${PATH_SEPARATOR+set}" != set; then
17633 PATH_SEPARATOR=:
17634 (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
17635 (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
17636 PATH_SEPARATOR=';'
17637 }
17638 fi
17639
17640
17641 # IFS
17642 # We need space, tab and new line, in precisely that order. Quoting is
17643 # there to prevent editors from complaining about space-tab.
17644 # (If _AS_PATH_WALK were called with IFS unset, it would disable word
17645 # splitting by setting IFS to empty value.)
17646 IFS=" "" $as_nl"
17647
17648 # Find who we are. Look in the path if we contain no directory separator.
17649 as_myself=
17650 case $0 in #((
17651 *[\\/]* ) as_myself=$0 ;;
17652 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
17653 for as_dir in $PATH
17654 do
17655 IFS=$as_save_IFS
17656 test -z "$as_dir" && as_dir=.
17657 test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
17658 done
17659 IFS=$as_save_IFS
17660
17661 ;;
17662 esac
17663 # We did not find ourselves, most probably we were run as `sh COMMAND'
17664 # in which case we are not to be found in the path.
17665 if test "x$as_myself" = x; then
17666 as_myself=$0
17667 fi
17668 if test ! -f "$as_myself"; then
17669 $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
17670 exit 1
17671 fi
17672
17673 # Unset variables that we do not need and which cause bugs (e.g. in
17674 # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
17675 # suppresses any "Segmentation fault" message there. '((' could
17676 # trigger a bug in pdksh 5.2.14.
17677 for as_var in BASH_ENV ENV MAIL MAILPATH
17678 do eval test x\${$as_var+set} = xset \
17679 && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
17680 done
17681 PS1='$ '
17682 PS2='> '
17683 PS4='+ '
17684
17685 # NLS nuisances.
17686 LC_ALL=C
17687 export LC_ALL
17688 LANGUAGE=C
17689 export LANGUAGE
17690
17691 # CDPATH.
17692 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
17693
17694
17695 # as_fn_error STATUS ERROR [LINENO LOG_FD]
17696 # ----------------------------------------
17697 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
17698 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
17699 # script with STATUS, using 1 if that was 0.
17700 as_fn_error ()
17701 {
17702 as_status=$1; test $as_status -eq 0 && as_status=1
17703 if test "$4"; then
17704 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
17705 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
17706 fi
17707 $as_echo "$as_me: error: $2" >&2
17708 as_fn_exit $as_status
17709 } # as_fn_error
17710
17711
17712 # as_fn_set_status STATUS
17713 # -----------------------
17714 # Set $? to STATUS, without forking.
17715 as_fn_set_status ()
17716 {
17717 return $1
17718 } # as_fn_set_status
17719
17720 # as_fn_exit STATUS
17721 # -----------------
17722 # Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
17723 as_fn_exit ()
17724 {
17725 set +e
17726 as_fn_set_status $1
17727 exit $1
17728 } # as_fn_exit
17729
17730 # as_fn_unset VAR
17731 # ---------------
17732 # Portably unset VAR.
17733 as_fn_unset ()
17734 {
17735 { eval $1=; unset $1;}
17736 }
17737 as_unset=as_fn_unset
17738 # as_fn_append VAR VALUE
17739 # ----------------------
17740 # Append the text in VALUE to the end of the definition contained in VAR. Take
17741 # advantage of any shell optimizations that allow amortized linear growth over
17742 # repeated appends, instead of the typical quadratic growth present in naive
17743 # implementations.
17744 if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
17745 eval 'as_fn_append ()
17746 {
17747 eval $1+=\$2
17748 }'
17749 else
17750 as_fn_append ()
17751 {
17752 eval $1=\$$1\$2
17753 }
17754 fi # as_fn_append
17755
17756 # as_fn_arith ARG...
17757 # ------------------
17758 # Perform arithmetic evaluation on the ARGs, and store the result in the
17759 # global $as_val. Take advantage of shells that can avoid forks. The arguments
17760 # must be portable across $(()) and expr.
17761 if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
17762 eval 'as_fn_arith ()
17763 {
17764 as_val=$(( $* ))
17765 }'
17766 else
17767 as_fn_arith ()
17768 {
17769 as_val=`expr "$@" || test $? -eq 1`
17770 }
17771 fi # as_fn_arith
17772
17773
17774 if expr a : '\(a\)' >/dev/null 2>&1 &&
17775 test "X`expr 00001 : '.*\(...\)'`" = X001; then
17776 as_expr=expr
17777 else
17778 as_expr=false
17779 fi
17780
17781 if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
17782 as_basename=basename
17783 else
17784 as_basename=false
17785 fi
17786
17787 if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
17788 as_dirname=dirname
17789 else
17790 as_dirname=false
17791 fi
17792
17793 as_me=`$as_basename -- "$0" ||
17794 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
17795 X"$0" : 'X\(//\)$' \| \
17796 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
17797 $as_echo X/"$0" |
17798 sed '/^.*\/\([^/][^/]*\)\/*$/{
17799 s//\1/
17800 q
17801 }
17802 /^X\/\(\/\/\)$/{
17803 s//\1/
17804 q
17805 }
17806 /^X\/\(\/\).*/{
17807 s//\1/
17808 q
17809 }
17810 s/.*/./; q'`
17811
17812 # Avoid depending upon Character Ranges.
17813 as_cr_letters='abcdefghijklmnopqrstuvwxyz'
17814 as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
17815 as_cr_Letters=$as_cr_letters$as_cr_LETTERS
17816 as_cr_digits='0123456789'
17817 as_cr_alnum=$as_cr_Letters$as_cr_digits
17818
17819 ECHO_C= ECHO_N= ECHO_T=
17820 case `echo -n x` in #(((((
17821 -n*)
17822 case `echo 'xy\c'` in
17823 *c*) ECHO_T=' ';; # ECHO_T is single tab character.
17824 xy) ECHO_C='\c';;
17825 *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
17826 ECHO_T=' ';;
17827 esac;;
17828 *)
17829 ECHO_N='-n';;
17830 esac
17831
17832 rm -f conf$$ conf$$.exe conf$$.file
17833 if test -d conf$$.dir; then
17834 rm -f conf$$.dir/conf$$.file
17835 else
17836 rm -f conf$$.dir
17837 mkdir conf$$.dir 2>/dev/null
17838 fi
17839 if (echo >conf$$.file) 2>/dev/null; then
17840 if ln -s conf$$.file conf$$ 2>/dev/null; then
17841 as_ln_s='ln -s'
17842 # ... but there are two gotchas:
17843 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
17844 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
17845 # In both cases, we have to default to `cp -pR'.
17846 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
17847 as_ln_s='cp -pR'
17848 elif ln conf$$.file conf$$ 2>/dev/null; then
17849 as_ln_s=ln
17850 else
17851 as_ln_s='cp -pR'
17852 fi
17853 else
17854 as_ln_s='cp -pR'
17855 fi
17856 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
17857 rmdir conf$$.dir 2>/dev/null
17858
17859
17860 # as_fn_mkdir_p
17861 # -------------
17862 # Create "$as_dir" as a directory, including parents if necessary.
17863 as_fn_mkdir_p ()
17864 {
17865
17866 case $as_dir in #(
17867 -*) as_dir=./$as_dir;;
17868 esac
17869 test -d "$as_dir" || eval $as_mkdir_p || {
17870 as_dirs=
17871 while :; do
17872 case $as_dir in #(
17873 *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
17874 *) as_qdir=$as_dir;;
17875 esac
17876 as_dirs="'$as_qdir' $as_dirs"
17877 as_dir=`$as_dirname -- "$as_dir" ||
17878 $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
17879 X"$as_dir" : 'X\(//\)[^/]' \| \
17880 X"$as_dir" : 'X\(//\)$' \| \
17881 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
17882 $as_echo X"$as_dir" |
17883 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
17884 s//\1/
17885 q
17886 }
17887 /^X\(\/\/\)[^/].*/{
17888 s//\1/
17889 q
17890 }
17891 /^X\(\/\/\)$/{
17892 s//\1/
17893 q
17894 }
17895 /^X\(\/\).*/{
17896 s//\1/
17897 q
17898 }
17899 s/.*/./; q'`
17900 test -d "$as_dir" && break
17901 done
17902 test -z "$as_dirs" || eval "mkdir $as_dirs"
17903 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
17904
17905
17906 } # as_fn_mkdir_p
17907 if mkdir -p . 2>/dev/null; then
17908 as_mkdir_p='mkdir -p "$as_dir"'
17909 else
17910 test -d ./-p && rmdir ./-p
17911 as_mkdir_p=false
17912 fi
17913
17914
17915 # as_fn_executable_p FILE
17916 # -----------------------
17917 # Test if FILE is an executable regular file.
17918 as_fn_executable_p ()
17919 {
17920 test -f "$1" && test -x "$1"
17921 } # as_fn_executable_p
17922 as_test_x='test -x'
17923 as_executable_p=as_fn_executable_p
17924
17925 # Sed expression to map a string onto a valid CPP name.
17926 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
17927
17928 # Sed expression to map a string onto a valid variable name.
17929 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
17930
17931
17932 exec 6>&1
17933 ## ----------------------------------- ##
17934 ## Main body of $CONFIG_STATUS script. ##
17935 ## ----------------------------------- ##
17936 _ASEOF
17937 test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
17938
17939 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
17940 # Save the log message, to keep $0 and so on meaningful, and to
17941 # report actual input values of CONFIG_FILES etc. instead of their
17942 # values after options handling.
17943 ac_log="
17944 This file was extended by LibHTP $as_me 0.5.37, which was
17945 generated by GNU Autoconf 2.69. Invocation command line was
17946
17947 CONFIG_FILES = $CONFIG_FILES
17948 CONFIG_HEADERS = $CONFIG_HEADERS
17949 CONFIG_LINKS = $CONFIG_LINKS
17950 CONFIG_COMMANDS = $CONFIG_COMMANDS
17951 $ $0 $@
17952
17953 on `(hostname || uname -n) 2>/dev/null | sed 1q`
17954 "
17955
17956 _ACEOF
17957
17958 case $ac_config_files in *"
17959 "*) set x $ac_config_files; shift; ac_config_files=$*;;
17960 esac
17961
17962 case $ac_config_headers in *"
17963 "*) set x $ac_config_headers; shift; ac_config_headers=$*;;
17964 esac
17965
17966
17967 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
17968 # Files that config.status was made for.
17969 config_files="$ac_config_files"
17970 config_headers="$ac_config_headers"
17971 config_commands="$ac_config_commands"
17972
17973 _ACEOF
17974
17975 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
17976 ac_cs_usage="\
17977 \`$as_me' instantiates files and other configuration actions
17978 from templates according to the current configuration. Unless the files
17979 and actions are specified as TAGs, all are instantiated by default.
17980
17981 Usage: $0 [OPTION]... [TAG]...
17982
17983 -h, --help print this help, then exit
17984 -V, --version print version number and configuration settings, then exit
17985 --config print configuration, then exit
17986 -q, --quiet, --silent
17987 do not print progress messages
17988 -d, --debug don't remove temporary files
17989 --recheck update $as_me by reconfiguring in the same conditions
17990 --file=FILE[:TEMPLATE]
17991 instantiate the configuration file FILE
17992 --header=FILE[:TEMPLATE]
17993 instantiate the configuration header FILE
17994
17995 Configuration files:
17996 $config_files
17997
17998 Configuration headers:
17999 $config_headers
18000
18001 Configuration commands:
18002 $config_commands
18003
18004 Report bugs to the package provider."
18005
18006 _ACEOF
18007 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
18008 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
18009 ac_cs_version="\\
18010 LibHTP config.status 0.5.37
18011 configured by $0, generated by GNU Autoconf 2.69,
18012 with options \\"\$ac_cs_config\\"
18013
18014 Copyright (C) 2012 Free Software Foundation, Inc.
18015 This config.status script is free software; the Free Software Foundation
18016 gives unlimited permission to copy, distribute and modify it."
18017
18018 ac_pwd='$ac_pwd'
18019 srcdir='$srcdir'
18020 INSTALL='$INSTALL'
18021 MKDIR_P='$MKDIR_P'
18022 AWK='$AWK'
18023 test -n "\$AWK" || AWK=awk
18024 _ACEOF
18025
18026 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
18027 # The default lists apply if the user does not specify any file.
18028 ac_need_defaults=:
18029 while test $# != 0
18030 do
18031 case $1 in
18032 --*=?*)
18033 ac_option=`expr "X$1" : 'X\([^=]*\)='`
18034 ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
18035 ac_shift=:
18036 ;;
18037 --*=)
18038 ac_option=`expr "X$1" : 'X\([^=]*\)='`
18039 ac_optarg=
18040 ac_shift=:
18041 ;;
18042 *)
18043 ac_option=$1
18044 ac_optarg=$2
18045 ac_shift=shift
18046 ;;
18047 esac
18048
18049 case $ac_option in
18050 # Handling of the options.
18051 -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
18052 ac_cs_recheck=: ;;
18053 --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
18054 $as_echo "$ac_cs_version"; exit ;;
18055 --config | --confi | --conf | --con | --co | --c )
18056 $as_echo "$ac_cs_config"; exit ;;
18057 --debug | --debu | --deb | --de | --d | -d )
18058 debug=: ;;
18059 --file | --fil | --fi | --f )
18060 $ac_shift
18061 case $ac_optarg in
18062 *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
18063 '') as_fn_error $? "missing file argument" ;;
18064 esac
18065 as_fn_append CONFIG_FILES " '$ac_optarg'"
18066 ac_need_defaults=false;;
18067 --header | --heade | --head | --hea )
18068 $ac_shift
18069 case $ac_optarg in
18070 *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
18071 esac
18072 as_fn_append CONFIG_HEADERS " '$ac_optarg'"
18073 ac_need_defaults=false;;
18074 --he | --h)
18075 # Conflict between --help and --header
18076 as_fn_error $? "ambiguous option: \`$1'
18077 Try \`$0 --help' for more information.";;
18078 --help | --hel | -h )
18079 $as_echo "$ac_cs_usage"; exit ;;
18080 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
18081 | -silent | --silent | --silen | --sile | --sil | --si | --s)
18082 ac_cs_silent=: ;;
18083
18084 # This is an error.
18085 -*) as_fn_error $? "unrecognized option: \`$1'
18086 Try \`$0 --help' for more information." ;;
18087
18088 *) as_fn_append ac_config_targets " $1"
18089 ac_need_defaults=false ;;
18090
18091 esac
18092 shift
18093 done
18094
18095 ac_configure_extra_args=
18096
18097 if $ac_cs_silent; then
18098 exec 6>/dev/null
18099 ac_configure_extra_args="$ac_configure_extra_args --silent"
18100 fi
18101
18102 _ACEOF
18103 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
18104 if \$ac_cs_recheck; then
18105 set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
18106 shift
18107 \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
18108 CONFIG_SHELL='$SHELL'
18109 export CONFIG_SHELL
18110 exec "\$@"
18111 fi
18112
18113 _ACEOF
18114 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
18115 exec 5>>config.log
18116 {
18117 echo
18118 sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
18119 ## Running $as_me. ##
18120 _ASBOX
18121 $as_echo "$ac_log"
18122 } >&5
18123
18124 _ACEOF
18125 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
18126 #
18127 # INIT-COMMANDS
18128 #
18129 AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
18130
18131
18132 # The HP-UX ksh and POSIX shell print the target directory to stdout
18133 # if CDPATH is set.
18134 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
18135
18136 sed_quote_subst='$sed_quote_subst'
18137 double_quote_subst='$double_quote_subst'
18138 delay_variable_subst='$delay_variable_subst'
18139 macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
18140 macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
18141 enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
18142 enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
18143 pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
18144 enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
18145 shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
18146 SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
18147 ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
18148 PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
18149 host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
18150 host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
18151 host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
18152 build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
18153 build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
18154 build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
18155 SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
18156 Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
18157 GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
18158 EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
18159 FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
18160 LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
18161 NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
18162 LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
18163 max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
18164 ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
18165 exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
18166 lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
18167 lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
18168 lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
18169 lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
18170 lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
18171 reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
18172 reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
18173 OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
18174 deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
18175 file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
18176 file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
18177 want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
18178 DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
18179 sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
18180 AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
18181 AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
18182 archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
18183 STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
18184 RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
18185 old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
18186 old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
18187 old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
18188 lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
18189 CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
18190 CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
18191 compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
18192 GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
18193 lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
18194 lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
18195 lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
18196 lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
18197 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
18198 lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
18199 nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
18200 lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
18201 lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
18202 objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
18203 MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
18204 lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
18205 lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
18206 lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
18207 lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
18208 lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
18209 need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
18210 MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
18211 DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
18212 NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
18213 LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
18214 OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
18215 OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
18216 libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
18217 shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
18218 extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
18219 archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
18220 enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
18221 export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
18222 whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
18223 compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
18224 old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
18225 old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
18226 archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
18227 archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
18228 module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
18229 module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
18230 with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
18231 allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
18232 no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
18233 hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
18234 hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
18235 hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
18236 hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
18237 hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
18238 hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
18239 hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
18240 inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
18241 link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
18242 always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
18243 export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
18244 exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
18245 include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
18246 prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
18247 postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
18248 file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
18249 variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
18250 need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
18251 need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
18252 version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
18253 runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
18254 shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
18255 shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
18256 libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
18257 library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
18258 soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
18259 install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
18260 postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
18261 postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
18262 finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
18263 finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
18264 hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
18265 sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
18266 configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
18267 configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
18268 hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
18269 enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
18270 enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
18271 enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
18272 old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
18273 striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
18274 compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
18275 predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
18276 postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
18277 predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
18278 postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
18279 compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
18280 LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
18281 reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
18282 reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
18283 old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
18284 compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
18285 GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
18286 lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
18287 lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
18288 lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
18289 lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
18290 lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
18291 archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
18292 enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
18293 export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
18294 whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
18295 compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
18296 old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
18297 old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
18298 archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
18299 archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
18300 module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
18301 module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
18302 with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
18303 allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
18304 no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
18305 hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
18306 hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
18307 hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
18308 hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
18309 hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
18310 hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
18311 hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
18312 inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
18313 link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
18314 always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
18315 export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
18316 exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
18317 include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
18318 prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
18319 postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
18320 file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
18321 hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
18322 compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
18323 predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
18324 postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
18325 predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
18326 postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
18327 compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
18328
18329 LTCC='$LTCC'
18330 LTCFLAGS='$LTCFLAGS'
18331 compiler='$compiler_DEFAULT'
18332
18333 # A function that is used when there is no print builtin or printf.
18334 func_fallback_echo ()
18335 {
18336 eval 'cat <<_LTECHO_EOF
18337 \$1
18338 _LTECHO_EOF'
18339 }
18340
18341 # Quote evaled strings.
18342 for var in SHELL \
18343 ECHO \
18344 PATH_SEPARATOR \
18345 SED \
18346 GREP \
18347 EGREP \
18348 FGREP \
18349 LD \
18350 NM \
18351 LN_S \
18352 lt_SP2NL \
18353 lt_NL2SP \
18354 reload_flag \
18355 OBJDUMP \
18356 deplibs_check_method \
18357 file_magic_cmd \
18358 file_magic_glob \
18359 want_nocaseglob \
18360 DLLTOOL \
18361 sharedlib_from_linklib_cmd \
18362 AR \
18363 AR_FLAGS \
18364 archiver_list_spec \
18365 STRIP \
18366 RANLIB \
18367 CC \
18368 CFLAGS \
18369 compiler \
18370 lt_cv_sys_global_symbol_pipe \
18371 lt_cv_sys_global_symbol_to_cdecl \
18372 lt_cv_sys_global_symbol_to_import \
18373 lt_cv_sys_global_symbol_to_c_name_address \
18374 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
18375 lt_cv_nm_interface \
18376 nm_file_list_spec \
18377 lt_cv_truncate_bin \
18378 lt_prog_compiler_no_builtin_flag \
18379 lt_prog_compiler_pic \
18380 lt_prog_compiler_wl \
18381 lt_prog_compiler_static \
18382 lt_cv_prog_compiler_c_o \
18383 need_locks \
18384 MANIFEST_TOOL \
18385 DSYMUTIL \
18386 NMEDIT \
18387 LIPO \
18388 OTOOL \
18389 OTOOL64 \
18390 shrext_cmds \
18391 export_dynamic_flag_spec \
18392 whole_archive_flag_spec \
18393 compiler_needs_object \
18394 with_gnu_ld \
18395 allow_undefined_flag \
18396 no_undefined_flag \
18397 hardcode_libdir_flag_spec \
18398 hardcode_libdir_separator \
18399 exclude_expsyms \
18400 include_expsyms \
18401 file_list_spec \
18402 variables_saved_for_relink \
18403 libname_spec \
18404 library_names_spec \
18405 soname_spec \
18406 install_override_mode \
18407 finish_eval \
18408 old_striplib \
18409 striplib \
18410 compiler_lib_search_dirs \
18411 predep_objects \
18412 postdep_objects \
18413 predeps \
18414 postdeps \
18415 compiler_lib_search_path \
18416 LD_CXX \
18417 reload_flag_CXX \
18418 compiler_CXX \
18419 lt_prog_compiler_no_builtin_flag_CXX \
18420 lt_prog_compiler_pic_CXX \
18421 lt_prog_compiler_wl_CXX \
18422 lt_prog_compiler_static_CXX \
18423 lt_cv_prog_compiler_c_o_CXX \
18424 export_dynamic_flag_spec_CXX \
18425 whole_archive_flag_spec_CXX \
18426 compiler_needs_object_CXX \
18427 with_gnu_ld_CXX \
18428 allow_undefined_flag_CXX \
18429 no_undefined_flag_CXX \
18430 hardcode_libdir_flag_spec_CXX \
18431 hardcode_libdir_separator_CXX \
18432 exclude_expsyms_CXX \
18433 include_expsyms_CXX \
18434 file_list_spec_CXX \
18435 compiler_lib_search_dirs_CXX \
18436 predep_objects_CXX \
18437 postdep_objects_CXX \
18438 predeps_CXX \
18439 postdeps_CXX \
18440 compiler_lib_search_path_CXX; do
18441 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
18442 *[\\\\\\\`\\"\\\$]*)
18443 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
18444 ;;
18445 *)
18446 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
18447 ;;
18448 esac
18449 done
18450
18451 # Double-quote double-evaled strings.
18452 for var in reload_cmds \
18453 old_postinstall_cmds \
18454 old_postuninstall_cmds \
18455 old_archive_cmds \
18456 extract_expsyms_cmds \
18457 old_archive_from_new_cmds \
18458 old_archive_from_expsyms_cmds \
18459 archive_cmds \
18460 archive_expsym_cmds \
18461 module_cmds \
18462 module_expsym_cmds \
18463 export_symbols_cmds \
18464 prelink_cmds \
18465 postlink_cmds \
18466 postinstall_cmds \
18467 postuninstall_cmds \
18468 finish_cmds \
18469 sys_lib_search_path_spec \
18470 configure_time_dlsearch_path \
18471 configure_time_lt_sys_library_path \
18472 reload_cmds_CXX \
18473 old_archive_cmds_CXX \
18474 old_archive_from_new_cmds_CXX \
18475 old_archive_from_expsyms_cmds_CXX \
18476 archive_cmds_CXX \
18477 archive_expsym_cmds_CXX \
18478 module_cmds_CXX \
18479 module_expsym_cmds_CXX \
18480 export_symbols_cmds_CXX \
18481 prelink_cmds_CXX \
18482 postlink_cmds_CXX; do
18483 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
18484 *[\\\\\\\`\\"\\\$]*)
18485 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
18486 ;;
18487 *)
18488 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
18489 ;;
18490 esac
18491 done
18492
18493 ac_aux_dir='$ac_aux_dir'
18494
18495 # See if we are running on zsh, and set the options that allow our
18496 # commands through without removal of \ escapes INIT.
18497 if test -n "\${ZSH_VERSION+set}"; then
18498 setopt NO_GLOB_SUBST
18499 fi
18500
18501
18502 PACKAGE='$PACKAGE'
18503 VERSION='$VERSION'
18504 RM='$RM'
18505 ofile='$ofile'
18506
18507
18508
18509
18510
18511
18512 _ACEOF
18513
18514 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
18515
18516 # Handling of arguments.
18517 for ac_config_target in $ac_config_targets
18518 do
18519 case $ac_config_target in
18520 "htp_config_auto_gen.h") CONFIG_HEADERS="$CONFIG_HEADERS htp_config_auto_gen.h" ;;
18521 "htp/htp_version.h") CONFIG_FILES="$CONFIG_FILES htp/htp_version.h" ;;
18522 "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
18523 "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
18524 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
18525 "htp.pc") CONFIG_FILES="$CONFIG_FILES htp.pc" ;;
18526 "htp/Makefile") CONFIG_FILES="$CONFIG_FILES htp/Makefile" ;;
18527 "htp/lzma/Makefile") CONFIG_FILES="$CONFIG_FILES htp/lzma/Makefile" ;;
18528 "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
18529 "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
18530
18531 *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
18532 esac
18533 done
18534
18535
18536 # If the user did not use the arguments to specify the items to instantiate,
18537 # then the envvar interface is used. Set only those that are not.
18538 # We use the long form for the default assignment because of an extremely
18539 # bizarre bug on SunOS 4.1.3.
18540 if $ac_need_defaults; then
18541 test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
18542 test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
18543 test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
18544 fi
18545
18546 # Have a temporary directory for convenience. Make it in the build tree
18547 # simply because there is no reason against having it here, and in addition,
18548 # creating and moving files from /tmp can sometimes cause problems.
18549 # Hook for its removal unless debugging.
18550 # Note that there is a small window in which the directory will not be cleaned:
18551 # after its creation but before its name has been assigned to `$tmp'.
18552 $debug ||
18553 {
18554 tmp= ac_tmp=
18555 trap 'exit_status=$?
18556 : "${ac_tmp:=$tmp}"
18557 { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
18558 ' 0
18559 trap 'as_fn_exit 1' 1 2 13 15
18560 }
18561 # Create a (secure) tmp directory for tmp files.
18562
18563 {
18564 tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
18565 test -d "$tmp"
18566 } ||
18567 {
18568 tmp=./conf$$-$RANDOM
18569 (umask 077 && mkdir "$tmp")
18570 } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
18571 ac_tmp=$tmp
18572
18573 # Set up the scripts for CONFIG_FILES section.
18574 # No need to generate them if there are no CONFIG_FILES.
18575 # This happens for instance with `./config.status config.h'.
18576 if test -n "$CONFIG_FILES"; then
18577
18578
18579 ac_cr=`echo X | tr X '\015'`
18580 # On cygwin, bash can eat \r inside `` if the user requested igncr.
18581 # But we know of no other shell where ac_cr would be empty at this
18582 # point, so we can use a bashism as a fallback.
18583 if test "x$ac_cr" = x; then
18584 eval ac_cr=\$\'\\r\'
18585 fi
18586 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
18587 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
18588 ac_cs_awk_cr='\\r'
18589 else
18590 ac_cs_awk_cr=$ac_cr
18591 fi
18592
18593 echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
18594 _ACEOF
18595
18596
18597 {
18598 echo "cat >conf$$subs.awk <<_ACEOF" &&
18599 echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
18600 echo "_ACEOF"
18601 } >conf$$subs.sh ||
18602 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
18603 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
18604 ac_delim='%!_!# '
18605 for ac_last_try in false false false false false :; do
18606 . ./conf$$subs.sh ||
18607 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
18608
18609 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
18610 if test $ac_delim_n = $ac_delim_num; then
18611 break
18612 elif $ac_last_try; then
18613 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
18614 else
18615 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
18616 fi
18617 done
18618 rm -f conf$$subs.sh
18619
18620 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
18621 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
18622 _ACEOF
18623 sed -n '
18624 h
18625 s/^/S["/; s/!.*/"]=/
18626 p
18627 g
18628 s/^[^!]*!//
18629 :repl
18630 t repl
18631 s/'"$ac_delim"'$//
18632 t delim
18633 :nl
18634 h
18635 s/\(.\{148\}\)..*/\1/
18636 t more1
18637 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
18638 p
18639 n
18640 b repl
18641 :more1
18642 s/["\\]/\\&/g; s/^/"/; s/$/"\\/
18643 p
18644 g
18645 s/.\{148\}//
18646 t nl
18647 :delim
18648 h
18649 s/\(.\{148\}\)..*/\1/
18650 t more2
18651 s/["\\]/\\&/g; s/^/"/; s/$/"/
18652 p
18653 b
18654 :more2
18655 s/["\\]/\\&/g; s/^/"/; s/$/"\\/
18656 p
18657 g
18658 s/.\{148\}//
18659 t delim
18660 ' <conf$$subs.awk | sed '
18661 /^[^""]/{
18662 N
18663 s/\n//
18664 }
18665 ' >>$CONFIG_STATUS || ac_write_fail=1
18666 rm -f conf$$subs.awk
18667 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
18668 _ACAWK
18669 cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
18670 for (key in S) S_is_set[key] = 1
18671 FS = ""
18672
18673 }
18674 {
18675 line = $ 0
18676 nfields = split(line, field, "@")
18677 substed = 0
18678 len = length(field[1])
18679 for (i = 2; i < nfields; i++) {
18680 key = field[i]
18681 keylen = length(key)
18682 if (S_is_set[key]) {
18683 value = S[key]
18684 line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
18685 len += length(value) + length(field[++i])
18686 substed = 1
18687 } else
18688 len += 1 + keylen
18689 }
18690
18691 print line
18692 }
18693
18694 _ACAWK
18695 _ACEOF
18696 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
18697 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
18698 sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
18699 else
18700 cat
18701 fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
18702 || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
18703 _ACEOF
18704
18705 # VPATH may cause trouble with some makes, so we remove sole $(srcdir),
18706 # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
18707 # trailing colons and then remove the whole line if VPATH becomes empty
18708 # (actually we leave an empty line to preserve line numbers).
18709 if test "x$srcdir" = x.; then
18710 ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
18711 h
18712 s///
18713 s/^/:/
18714 s/[ ]*$/:/
18715 s/:\$(srcdir):/:/g
18716 s/:\${srcdir}:/:/g
18717 s/:@srcdir@:/:/g
18718 s/^:*//
18719 s/:*$//
18720 x
18721 s/\(=[ ]*\).*/\1/
18722 G
18723 s/\n//
18724 s/^[^=]*=[ ]*$//
18725 }'
18726 fi
18727
18728 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
18729 fi # test -n "$CONFIG_FILES"
18730
18731 # Set up the scripts for CONFIG_HEADERS section.
18732 # No need to generate them if there are no CONFIG_HEADERS.
18733 # This happens for instance with `./config.status Makefile'.
18734 if test -n "$CONFIG_HEADERS"; then
18735 cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
18736 BEGIN {
18737 _ACEOF
18738
18739 # Transform confdefs.h into an awk script `defines.awk', embedded as
18740 # here-document in config.status, that substitutes the proper values into
18741 # config.h.in to produce config.h.
18742
18743 # Create a delimiter string that does not exist in confdefs.h, to ease
18744 # handling of long lines.
18745 ac_delim='%!_!# '
18746 for ac_last_try in false false :; do
18747 ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
18748 if test -z "$ac_tt"; then
18749 break
18750 elif $ac_last_try; then
18751 as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
18752 else
18753 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
18754 fi
18755 done
18756
18757 # For the awk script, D is an array of macro values keyed by name,
18758 # likewise P contains macro parameters if any. Preserve backslash
18759 # newline sequences.
18760
18761 ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
18762 sed -n '
18763 s/.\{148\}/&'"$ac_delim"'/g
18764 t rset
18765 :rset
18766 s/^[ ]*#[ ]*define[ ][ ]*/ /
18767 t def
18768 d
18769 :def
18770 s/\\$//
18771 t bsnl
18772 s/["\\]/\\&/g
18773 s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
18774 D["\1"]=" \3"/p
18775 s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
18776 d
18777 :bsnl
18778 s/["\\]/\\&/g
18779 s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
18780 D["\1"]=" \3\\\\\\n"\\/p
18781 t cont
18782 s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
18783 t cont
18784 d
18785 :cont
18786 n
18787 s/.\{148\}/&'"$ac_delim"'/g
18788 t clear
18789 :clear
18790 s/\\$//
18791 t bsnlc
18792 s/["\\]/\\&/g; s/^/"/; s/$/"/p
18793 d
18794 :bsnlc
18795 s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
18796 b cont
18797 ' <confdefs.h | sed '
18798 s/'"$ac_delim"'/"\\\
18799 "/g' >>$CONFIG_STATUS || ac_write_fail=1
18800
18801 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
18802 for (key in D) D_is_set[key] = 1
18803 FS = ""
18804 }
18805 /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
18806 line = \$ 0
18807 split(line, arg, " ")
18808 if (arg[1] == "#") {
18809 defundef = arg[2]
18810 mac1 = arg[3]
18811 } else {
18812 defundef = substr(arg[1], 2)
18813 mac1 = arg[2]
18814 }
18815 split(mac1, mac2, "(") #)
18816 macro = mac2[1]
18817 prefix = substr(line, 1, index(line, defundef) - 1)
18818 if (D_is_set[macro]) {
18819 # Preserve the white space surrounding the "#".
18820 print prefix "define", macro P[macro] D[macro]
18821 next
18822 } else {
18823 # Replace #undef with comments. This is necessary, for example,
18824 # in the case of _POSIX_SOURCE, which is predefined and required
18825 # on some systems where configure will not decide to define it.
18826 if (defundef == "undef") {
18827 print "/*", prefix defundef, macro, "*/"
18828 next
18829 }
18830 }
18831 }
18832 { print }
18833 _ACAWK
18834 _ACEOF
18835 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
18836 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
18837 fi # test -n "$CONFIG_HEADERS"
18838
18839
18840 eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
18841 shift
18842 for ac_tag
18843 do
18844 case $ac_tag in
18845 :[FHLC]) ac_mode=$ac_tag; continue;;
18846 esac
18847 case $ac_mode$ac_tag in
18848 :[FHL]*:*);;
18849 :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
18850 :[FH]-) ac_tag=-:-;;
18851 :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
18852 esac
18853 ac_save_IFS=$IFS
18854 IFS=:
18855 set x $ac_tag
18856 IFS=$ac_save_IFS
18857 shift
18858 ac_file=$1
18859 shift
18860
18861 case $ac_mode in
18862 :L) ac_source=$1;;
18863 :[FH])
18864 ac_file_inputs=
18865 for ac_f
18866 do
18867 case $ac_f in
18868 -) ac_f="$ac_tmp/stdin";;
18869 *) # Look for the file first in the build tree, then in the source tree
18870 # (if the path is not absolute). The absolute path cannot be DOS-style,
18871 # because $ac_f cannot contain `:'.
18872 test -f "$ac_f" ||
18873 case $ac_f in
18874 [\\/$]*) false;;
18875 *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
18876 esac ||
18877 as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
18878 esac
18879 case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
18880 as_fn_append ac_file_inputs " '$ac_f'"
18881 done
18882
18883 # Let's still pretend it is `configure' which instantiates (i.e., don't
18884 # use $as_me), people would be surprised to read:
18885 # /* config.h. Generated by config.status. */
18886 configure_input='Generated from '`
18887 $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
18888 `' by configure.'
18889 if test x"$ac_file" != x-; then
18890 configure_input="$ac_file. $configure_input"
18891 { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
18892 $as_echo "$as_me: creating $ac_file" >&6;}
18893 fi
18894 # Neutralize special characters interpreted by sed in replacement strings.
18895 case $configure_input in #(
18896 *\&* | *\|* | *\\* )
18897 ac_sed_conf_input=`$as_echo "$configure_input" |
18898 sed 's/[\\\\&|]/\\\\&/g'`;; #(
18899 *) ac_sed_conf_input=$configure_input;;
18900 esac
18901
18902 case $ac_tag in
18903 *:-:* | *:-) cat >"$ac_tmp/stdin" \
18904 || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
18905 esac
18906 ;;
18907 esac
18908
18909 ac_dir=`$as_dirname -- "$ac_file" ||
18910 $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
18911 X"$ac_file" : 'X\(//\)[^/]' \| \
18912 X"$ac_file" : 'X\(//\)$' \| \
18913 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
18914 $as_echo X"$ac_file" |
18915 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
18916 s//\1/
18917 q
18918 }
18919 /^X\(\/\/\)[^/].*/{
18920 s//\1/
18921 q
18922 }
18923 /^X\(\/\/\)$/{
18924 s//\1/
18925 q
18926 }
18927 /^X\(\/\).*/{
18928 s//\1/
18929 q
18930 }
18931 s/.*/./; q'`
18932 as_dir="$ac_dir"; as_fn_mkdir_p
18933 ac_builddir=.
18934
18935 case "$ac_dir" in
18936 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
18937 *)
18938 ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
18939 # A ".." for each directory in $ac_dir_suffix.
18940 ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
18941 case $ac_top_builddir_sub in
18942 "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
18943 *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
18944 esac ;;
18945 esac
18946 ac_abs_top_builddir=$ac_pwd
18947 ac_abs_builddir=$ac_pwd$ac_dir_suffix
18948 # for backward compatibility:
18949 ac_top_builddir=$ac_top_build_prefix
18950
18951 case $srcdir in
18952 .) # We are building in place.
18953 ac_srcdir=.
18954 ac_top_srcdir=$ac_top_builddir_sub
18955 ac_abs_top_srcdir=$ac_pwd ;;
18956 [\\/]* | ?:[\\/]* ) # Absolute name.
18957 ac_srcdir=$srcdir$ac_dir_suffix;
18958 ac_top_srcdir=$srcdir
18959 ac_abs_top_srcdir=$srcdir ;;
18960 *) # Relative name.
18961 ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
18962 ac_top_srcdir=$ac_top_build_prefix$srcdir
18963 ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
18964 esac
18965 ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
18966
18967
18968 case $ac_mode in
18969 :F)
18970 #
18971 # CONFIG_FILE
18972 #
18973
18974 case $INSTALL in
18975 [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
18976 *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
18977 esac
18978 ac_MKDIR_P=$MKDIR_P
18979 case $MKDIR_P in
18980 [\\/$]* | ?:[\\/]* ) ;;
18981 */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
18982 esac
18983 _ACEOF
18984
18985 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
18986 # If the template does not know about datarootdir, expand it.
18987 # FIXME: This hack should be removed a few years after 2.60.
18988 ac_datarootdir_hack=; ac_datarootdir_seen=
18989 ac_sed_dataroot='
18990 /datarootdir/ {
18991 p
18992 q
18993 }
18994 /@datadir@/p
18995 /@docdir@/p
18996 /@infodir@/p
18997 /@localedir@/p
18998 /@mandir@/p'
18999 case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
19000 *datarootdir*) ac_datarootdir_seen=yes;;
19001 *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
19002 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
19003 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
19004 _ACEOF
19005 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
19006 ac_datarootdir_hack='
19007 s&@datadir@&$datadir&g
19008 s&@docdir@&$docdir&g
19009 s&@infodir@&$infodir&g
19010 s&@localedir@&$localedir&g
19011 s&@mandir@&$mandir&g
19012 s&\\\${datarootdir}&$datarootdir&g' ;;
19013 esac
19014 _ACEOF
19015
19016 # Neutralize VPATH when `$srcdir' = `.'.
19017 # Shell code in configure.ac might set extrasub.
19018 # FIXME: do we really want to maintain this feature?
19019 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
19020 ac_sed_extra="$ac_vpsub
19021 $extrasub
19022 _ACEOF
19023 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
19024 :t
19025 /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
19026 s|@configure_input@|$ac_sed_conf_input|;t t
19027 s&@top_builddir@&$ac_top_builddir_sub&;t t
19028 s&@top_build_prefix@&$ac_top_build_prefix&;t t
19029 s&@srcdir@&$ac_srcdir&;t t
19030 s&@abs_srcdir@&$ac_abs_srcdir&;t t
19031 s&@top_srcdir@&$ac_top_srcdir&;t t
19032 s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
19033 s&@builddir@&$ac_builddir&;t t
19034 s&@abs_builddir@&$ac_abs_builddir&;t t
19035 s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
19036 s&@INSTALL@&$ac_INSTALL&;t t
19037 s&@MKDIR_P@&$ac_MKDIR_P&;t t
19038 $ac_datarootdir_hack
19039 "
19040 eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
19041 >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
19042
19043 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
19044 { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
19045 { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
19046 "$ac_tmp/out"`; test -z "$ac_out"; } &&
19047 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
19048 which seems to be undefined. Please make sure it is defined" >&5
19049 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
19050 which seems to be undefined. Please make sure it is defined" >&2;}
19051
19052 rm -f "$ac_tmp/stdin"
19053 case $ac_file in
19054 -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
19055 *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
19056 esac \
19057 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
19058 ;;
19059 :H)
19060 #
19061 # CONFIG_HEADER
19062 #
19063 if test x"$ac_file" != x-; then
19064 {
19065 $as_echo "/* $configure_input */" \
19066 && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
19067 } >"$ac_tmp/config.h" \
19068 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
19069 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
19070 { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
19071 $as_echo "$as_me: $ac_file is unchanged" >&6;}
19072 else
19073 rm -f "$ac_file"
19074 mv "$ac_tmp/config.h" "$ac_file" \
19075 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
19076 fi
19077 else
19078 $as_echo "/* $configure_input */" \
19079 && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
19080 || as_fn_error $? "could not create -" "$LINENO" 5
19081 fi
19082 # Compute "$ac_file"'s index in $config_headers.
19083 _am_arg="$ac_file"
19084 _am_stamp_count=1
19085 for _am_header in $config_headers :; do
19086 case $_am_header in
19087 $_am_arg | $_am_arg:* )
19088 break ;;
19089 * )
19090 _am_stamp_count=`expr $_am_stamp_count + 1` ;;
19091 esac
19092 done
19093 echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
19094 $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
19095 X"$_am_arg" : 'X\(//\)[^/]' \| \
19096 X"$_am_arg" : 'X\(//\)$' \| \
19097 X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
19098 $as_echo X"$_am_arg" |
19099 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
19100 s//\1/
19101 q
19102 }
19103 /^X\(\/\/\)[^/].*/{
19104 s//\1/
19105 q
19106 }
19107 /^X\(\/\/\)$/{
19108 s//\1/
19109 q
19110 }
19111 /^X\(\/\).*/{
19112 s//\1/
19113 q
19114 }
19115 s/.*/./; q'`/stamp-h$_am_stamp_count
19116 ;;
19117
19118 :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
19119 $as_echo "$as_me: executing $ac_file commands" >&6;}
19120 ;;
19121 esac
19122
19123
19124 case $ac_file$ac_mode in
19125 "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
19126 # Older Autoconf quotes --file arguments for eval, but not when files
19127 # are listed without --file. Let's play safe and only enable the eval
19128 # if we detect the quoting.
19129 # TODO: see whether this extra hack can be removed once we start
19130 # requiring Autoconf 2.70 or later.
19131 case $CONFIG_FILES in #(
19132 *\'*) :
19133 eval set x "$CONFIG_FILES" ;; #(
19134 *) :
19135 set x $CONFIG_FILES ;; #(
19136 *) :
19137 ;;
19138 esac
19139 shift
19140 # Used to flag and report bootstrapping failures.
19141 am_rc=0
19142 for am_mf
19143 do
19144 # Strip MF so we end up with the name of the file.
19145 am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'`
19146 # Check whether this is an Automake generated Makefile which includes
19147 # dependency-tracking related rules and includes.
19148 # Grep'ing the whole file directly is not great: AIX grep has a line
19149 # limit of 2048, but all sed's we know have understand at least 4000.
19150 sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
19151 || continue
19152 am_dirpart=`$as_dirname -- "$am_mf" ||
19153 $as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
19154 X"$am_mf" : 'X\(//\)[^/]' \| \
19155 X"$am_mf" : 'X\(//\)$' \| \
19156 X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
19157 $as_echo X"$am_mf" |
19158 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
19159 s//\1/
19160 q
19161 }
19162 /^X\(\/\/\)[^/].*/{
19163 s//\1/
19164 q
19165 }
19166 /^X\(\/\/\)$/{
19167 s//\1/
19168 q
19169 }
19170 /^X\(\/\).*/{
19171 s//\1/
19172 q
19173 }
19174 s/.*/./; q'`
19175 am_filepart=`$as_basename -- "$am_mf" ||
19176 $as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
19177 X"$am_mf" : 'X\(//\)$' \| \
19178 X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
19179 $as_echo X/"$am_mf" |
19180 sed '/^.*\/\([^/][^/]*\)\/*$/{
19181 s//\1/
19182 q
19183 }
19184 /^X\/\(\/\/\)$/{
19185 s//\1/
19186 q
19187 }
19188 /^X\/\(\/\).*/{
19189 s//\1/
19190 q
19191 }
19192 s/.*/./; q'`
19193 { echo "$as_me:$LINENO: cd "$am_dirpart" \
19194 && sed -e '/# am--include-marker/d' "$am_filepart" \
19195 | $MAKE -f - am--depfiles" >&5
19196 (cd "$am_dirpart" \
19197 && sed -e '/# am--include-marker/d' "$am_filepart" \
19198 | $MAKE -f - am--depfiles) >&5 2>&5
19199 ac_status=$?
19200 echo "$as_me:$LINENO: \$? = $ac_status" >&5
19201 (exit $ac_status); } || am_rc=$?
19202 done
19203 if test $am_rc -ne 0; then
19204 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
19205 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
19206 as_fn_error $? "Something went wrong bootstrapping makefile fragments
19207 for automatic dependency tracking. If GNU make was not used, consider
19208 re-running the configure script with MAKE=\"gmake\" (or whatever is
19209 necessary). You can also try re-running configure with the
19210 '--disable-dependency-tracking' option to at least be able to build
19211 the package (albeit without support for automatic dependency tracking).
19212 See \`config.log' for more details" "$LINENO" 5; }
19213 fi
19214 { am_dirpart=; unset am_dirpart;}
19215 { am_filepart=; unset am_filepart;}
19216 { am_mf=; unset am_mf;}
19217 { am_rc=; unset am_rc;}
19218 rm -f conftest-deps.mk
19219 }
19220 ;;
19221 "libtool":C)
19222
19223 # See if we are running on zsh, and set the options that allow our
19224 # commands through without removal of \ escapes.
19225 if test -n "${ZSH_VERSION+set}"; then
19226 setopt NO_GLOB_SUBST
19227 fi
19228
19229 cfgfile=${ofile}T
19230 trap "$RM \"$cfgfile\"; exit 1" 1 2 15
19231 $RM "$cfgfile"
19232
19233 cat <<_LT_EOF >> "$cfgfile"
19234 #! $SHELL
19235 # Generated automatically by $as_me ($PACKAGE) $VERSION
19236 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
19237
19238 # Provide generalized library-building support services.
19239 # Written by Gordon Matzigkeit, 1996
19240
19241 # Copyright (C) 2014 Free Software Foundation, Inc.
19242 # This is free software; see the source for copying conditions. There is NO
19243 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19244
19245 # GNU Libtool is free software; you can redistribute it and/or modify
19246 # it under the terms of the GNU General Public License as published by
19247 # the Free Software Foundation; either version 2 of of the License, or
19248 # (at your option) any later version.
19249 #
19250 # As a special exception to the GNU General Public License, if you
19251 # distribute this file as part of a program or library that is built
19252 # using GNU Libtool, you may include this file under the same
19253 # distribution terms that you use for the rest of that program.
19254 #
19255 # GNU Libtool is distributed in the hope that it will be useful, but
19256 # WITHOUT ANY WARRANTY; without even the implied warranty of
19257 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19258 # GNU General Public License for more details.
19259 #
19260 # You should have received a copy of the GNU General Public License
19261 # along with this program. If not, see <http://www.gnu.org/licenses/>.
19262
19263
19264 # The names of the tagged configurations supported by this script.
19265 available_tags='CXX '
19266
19267 # Configured defaults for sys_lib_dlsearch_path munging.
19268 : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
19269
19270 # ### BEGIN LIBTOOL CONFIG
19271
19272 # Which release of libtool.m4 was used?
19273 macro_version=$macro_version
19274 macro_revision=$macro_revision
19275
19276 # Whether or not to build shared libraries.
19277 build_libtool_libs=$enable_shared
19278
19279 # Whether or not to build static libraries.
19280 build_old_libs=$enable_static
19281
19282 # What type of objects to build.
19283 pic_mode=$pic_mode
19284
19285 # Whether or not to optimize for fast installation.
19286 fast_install=$enable_fast_install
19287
19288 # Shared archive member basename,for filename based shared library versioning on AIX.
19289 shared_archive_member_spec=$shared_archive_member_spec
19290
19291 # Shell to use when invoking shell scripts.
19292 SHELL=$lt_SHELL
19293
19294 # An echo program that protects backslashes.
19295 ECHO=$lt_ECHO
19296
19297 # The PATH separator for the build system.
19298 PATH_SEPARATOR=$lt_PATH_SEPARATOR
19299
19300 # The host system.
19301 host_alias=$host_alias
19302 host=$host
19303 host_os=$host_os
19304
19305 # The build system.
19306 build_alias=$build_alias
19307 build=$build
19308 build_os=$build_os
19309
19310 # A sed program that does not truncate output.
19311 SED=$lt_SED
19312
19313 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
19314 Xsed="\$SED -e 1s/^X//"
19315
19316 # A grep program that handles long lines.
19317 GREP=$lt_GREP
19318
19319 # An ERE matcher.
19320 EGREP=$lt_EGREP
19321
19322 # A literal string matcher.
19323 FGREP=$lt_FGREP
19324
19325 # A BSD- or MS-compatible name lister.
19326 NM=$lt_NM
19327
19328 # Whether we need soft or hard links.
19329 LN_S=$lt_LN_S
19330
19331 # What is the maximum length of a command?
19332 max_cmd_len=$max_cmd_len
19333
19334 # Object file suffix (normally "o").
19335 objext=$ac_objext
19336
19337 # Executable file suffix (normally "").
19338 exeext=$exeext
19339
19340 # whether the shell understands "unset".
19341 lt_unset=$lt_unset
19342
19343 # turn spaces into newlines.
19344 SP2NL=$lt_lt_SP2NL
19345
19346 # turn newlines into spaces.
19347 NL2SP=$lt_lt_NL2SP
19348
19349 # convert \$build file names to \$host format.
19350 to_host_file_cmd=$lt_cv_to_host_file_cmd
19351
19352 # convert \$build files to toolchain format.
19353 to_tool_file_cmd=$lt_cv_to_tool_file_cmd
19354
19355 # An object symbol dumper.
19356 OBJDUMP=$lt_OBJDUMP
19357
19358 # Method to check whether dependent libraries are shared objects.
19359 deplibs_check_method=$lt_deplibs_check_method
19360
19361 # Command to use when deplibs_check_method = "file_magic".
19362 file_magic_cmd=$lt_file_magic_cmd
19363
19364 # How to find potential files when deplibs_check_method = "file_magic".
19365 file_magic_glob=$lt_file_magic_glob
19366
19367 # Find potential files using nocaseglob when deplibs_check_method = "file_magic".
19368 want_nocaseglob=$lt_want_nocaseglob
19369
19370 # DLL creation program.
19371 DLLTOOL=$lt_DLLTOOL
19372
19373 # Command to associate shared and link libraries.
19374 sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
19375
19376 # The archiver.
19377 AR=$lt_AR
19378
19379 # Flags to create an archive.
19380 AR_FLAGS=$lt_AR_FLAGS
19381
19382 # How to feed a file listing to the archiver.
19383 archiver_list_spec=$lt_archiver_list_spec
19384
19385 # A symbol stripping program.
19386 STRIP=$lt_STRIP
19387
19388 # Commands used to install an old-style archive.
19389 RANLIB=$lt_RANLIB
19390 old_postinstall_cmds=$lt_old_postinstall_cmds
19391 old_postuninstall_cmds=$lt_old_postuninstall_cmds
19392
19393 # Whether to use a lock for old archive extraction.
19394 lock_old_archive_extraction=$lock_old_archive_extraction
19395
19396 # A C compiler.
19397 LTCC=$lt_CC
19398
19399 # LTCC compiler flags.
19400 LTCFLAGS=$lt_CFLAGS
19401
19402 # Take the output of nm and produce a listing of raw symbols and C names.
19403 global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
19404
19405 # Transform the output of nm in a proper C declaration.
19406 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
19407
19408 # Transform the output of nm into a list of symbols to manually relocate.
19409 global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
19410
19411 # Transform the output of nm in a C name address pair.
19412 global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
19413
19414 # Transform the output of nm in a C name address pair when lib prefix is needed.
19415 global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
19416
19417 # The name lister interface.
19418 nm_interface=$lt_lt_cv_nm_interface
19419
19420 # Specify filename containing input files for \$NM.
19421 nm_file_list_spec=$lt_nm_file_list_spec
19422
19423 # The root where to search for dependent libraries,and where our libraries should be installed.
19424 lt_sysroot=$lt_sysroot
19425
19426 # Command to truncate a binary pipe.
19427 lt_truncate_bin=$lt_lt_cv_truncate_bin
19428
19429 # The name of the directory that contains temporary libtool files.
19430 objdir=$objdir
19431
19432 # Used to examine libraries when file_magic_cmd begins with "file".
19433 MAGIC_CMD=$MAGIC_CMD
19434
19435 # Must we lock files when doing compilation?
19436 need_locks=$lt_need_locks
19437
19438 # Manifest tool.
19439 MANIFEST_TOOL=$lt_MANIFEST_TOOL
19440
19441 # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
19442 DSYMUTIL=$lt_DSYMUTIL
19443
19444 # Tool to change global to local symbols on Mac OS X.
19445 NMEDIT=$lt_NMEDIT
19446
19447 # Tool to manipulate fat objects and archives on Mac OS X.
19448 LIPO=$lt_LIPO
19449
19450 # ldd/readelf like tool for Mach-O binaries on Mac OS X.
19451 OTOOL=$lt_OTOOL
19452
19453 # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
19454 OTOOL64=$lt_OTOOL64
19455
19456 # Old archive suffix (normally "a").
19457 libext=$libext
19458
19459 # Shared library suffix (normally ".so").
19460 shrext_cmds=$lt_shrext_cmds
19461
19462 # The commands to extract the exported symbol list from a shared archive.
19463 extract_expsyms_cmds=$lt_extract_expsyms_cmds
19464
19465 # Variables whose values should be saved in libtool wrapper scripts and
19466 # restored at link time.
19467 variables_saved_for_relink=$lt_variables_saved_for_relink
19468
19469 # Do we need the "lib" prefix for modules?
19470 need_lib_prefix=$need_lib_prefix
19471
19472 # Do we need a version for libraries?
19473 need_version=$need_version
19474
19475 # Library versioning type.
19476 version_type=$version_type
19477
19478 # Shared library runtime path variable.
19479 runpath_var=$runpath_var
19480
19481 # Shared library path variable.
19482 shlibpath_var=$shlibpath_var
19483
19484 # Is shlibpath searched before the hard-coded library search path?
19485 shlibpath_overrides_runpath=$shlibpath_overrides_runpath
19486
19487 # Format of library name prefix.
19488 libname_spec=$lt_libname_spec
19489
19490 # List of archive names. First name is the real one, the rest are links.
19491 # The last name is the one that the linker finds with -lNAME
19492 library_names_spec=$lt_library_names_spec
19493
19494 # The coded name of the library, if different from the real name.
19495 soname_spec=$lt_soname_spec
19496
19497 # Permission mode override for installation of shared libraries.
19498 install_override_mode=$lt_install_override_mode
19499
19500 # Command to use after installation of a shared archive.
19501 postinstall_cmds=$lt_postinstall_cmds
19502
19503 # Command to use after uninstallation of a shared archive.
19504 postuninstall_cmds=$lt_postuninstall_cmds
19505
19506 # Commands used to finish a libtool library installation in a directory.
19507 finish_cmds=$lt_finish_cmds
19508
19509 # As "finish_cmds", except a single script fragment to be evaled but
19510 # not shown.
19511 finish_eval=$lt_finish_eval
19512
19513 # Whether we should hardcode library paths into libraries.
19514 hardcode_into_libs=$hardcode_into_libs
19515
19516 # Compile-time system search path for libraries.
19517 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
19518
19519 # Detected run-time system search path for libraries.
19520 sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
19521
19522 # Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
19523 configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
19524
19525 # Whether dlopen is supported.
19526 dlopen_support=$enable_dlopen
19527
19528 # Whether dlopen of programs is supported.
19529 dlopen_self=$enable_dlopen_self
19530
19531 # Whether dlopen of statically linked programs is supported.
19532 dlopen_self_static=$enable_dlopen_self_static
19533
19534 # Commands to strip libraries.
19535 old_striplib=$lt_old_striplib
19536 striplib=$lt_striplib
19537
19538
19539 # The linker used to build libraries.
19540 LD=$lt_LD
19541
19542 # How to create reloadable object files.
19543 reload_flag=$lt_reload_flag
19544 reload_cmds=$lt_reload_cmds
19545
19546 # Commands used to build an old-style archive.
19547 old_archive_cmds=$lt_old_archive_cmds
19548
19549 # A language specific compiler.
19550 CC=$lt_compiler
19551
19552 # Is the compiler the GNU compiler?
19553 with_gcc=$GCC
19554
19555 # Compiler flag to turn off builtin functions.
19556 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
19557
19558 # Additional compiler flags for building library objects.
19559 pic_flag=$lt_lt_prog_compiler_pic
19560
19561 # How to pass a linker flag through the compiler.
19562 wl=$lt_lt_prog_compiler_wl
19563
19564 # Compiler flag to prevent dynamic linking.
19565 link_static_flag=$lt_lt_prog_compiler_static
19566
19567 # Does compiler simultaneously support -c and -o options?
19568 compiler_c_o=$lt_lt_cv_prog_compiler_c_o
19569
19570 # Whether or not to add -lc for building shared libraries.
19571 build_libtool_need_lc=$archive_cmds_need_lc
19572
19573 # Whether or not to disallow shared libs when runtime libs are static.
19574 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
19575
19576 # Compiler flag to allow reflexive dlopens.
19577 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
19578
19579 # Compiler flag to generate shared objects directly from archives.
19580 whole_archive_flag_spec=$lt_whole_archive_flag_spec
19581
19582 # Whether the compiler copes with passing no objects directly.
19583 compiler_needs_object=$lt_compiler_needs_object
19584
19585 # Create an old-style archive from a shared archive.
19586 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
19587
19588 # Create a temporary old-style archive to link instead of a shared archive.
19589 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
19590
19591 # Commands used to build a shared archive.
19592 archive_cmds=$lt_archive_cmds
19593 archive_expsym_cmds=$lt_archive_expsym_cmds
19594
19595 # Commands used to build a loadable module if different from building
19596 # a shared archive.
19597 module_cmds=$lt_module_cmds
19598 module_expsym_cmds=$lt_module_expsym_cmds
19599
19600 # Whether we are building with GNU ld or not.
19601 with_gnu_ld=$lt_with_gnu_ld
19602
19603 # Flag that allows shared libraries with undefined symbols to be built.
19604 allow_undefined_flag=$lt_allow_undefined_flag
19605
19606 # Flag that enforces no undefined symbols.
19607 no_undefined_flag=$lt_no_undefined_flag
19608
19609 # Flag to hardcode \$libdir into a binary during linking.
19610 # This must work even if \$libdir does not exist
19611 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
19612
19613 # Whether we need a single "-rpath" flag with a separated argument.
19614 hardcode_libdir_separator=$lt_hardcode_libdir_separator
19615
19616 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
19617 # DIR into the resulting binary.
19618 hardcode_direct=$hardcode_direct
19619
19620 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
19621 # DIR into the resulting binary and the resulting library dependency is
19622 # "absolute",i.e impossible to change by setting \$shlibpath_var if the
19623 # library is relocated.
19624 hardcode_direct_absolute=$hardcode_direct_absolute
19625
19626 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR
19627 # into the resulting binary.
19628 hardcode_minus_L=$hardcode_minus_L
19629
19630 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
19631 # into the resulting binary.
19632 hardcode_shlibpath_var=$hardcode_shlibpath_var
19633
19634 # Set to "yes" if building a shared library automatically hardcodes DIR
19635 # into the library and all subsequent libraries and executables linked
19636 # against it.
19637 hardcode_automatic=$hardcode_automatic
19638
19639 # Set to yes if linker adds runtime paths of dependent libraries
19640 # to runtime path list.
19641 inherit_rpath=$inherit_rpath
19642
19643 # Whether libtool must link a program against all its dependency libraries.
19644 link_all_deplibs=$link_all_deplibs
19645
19646 # Set to "yes" if exported symbols are required.
19647 always_export_symbols=$always_export_symbols
19648
19649 # The commands to list exported symbols.
19650 export_symbols_cmds=$lt_export_symbols_cmds
19651
19652 # Symbols that should not be listed in the preloaded symbols.
19653 exclude_expsyms=$lt_exclude_expsyms
19654
19655 # Symbols that must always be exported.
19656 include_expsyms=$lt_include_expsyms
19657
19658 # Commands necessary for linking programs (against libraries) with templates.
19659 prelink_cmds=$lt_prelink_cmds
19660
19661 # Commands necessary for finishing linking programs.
19662 postlink_cmds=$lt_postlink_cmds
19663
19664 # Specify filename containing input files.
19665 file_list_spec=$lt_file_list_spec
19666
19667 # How to hardcode a shared library path into an executable.
19668 hardcode_action=$hardcode_action
19669
19670 # The directories searched by this compiler when creating a shared library.
19671 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
19672
19673 # Dependencies to place before and after the objects being linked to
19674 # create a shared library.
19675 predep_objects=$lt_predep_objects
19676 postdep_objects=$lt_postdep_objects
19677 predeps=$lt_predeps
19678 postdeps=$lt_postdeps
19679
19680 # The library search path used internally by the compiler when linking
19681 # a shared library.
19682 compiler_lib_search_path=$lt_compiler_lib_search_path
19683
19684 # ### END LIBTOOL CONFIG
19685
19686 _LT_EOF
19687
19688 cat <<'_LT_EOF' >> "$cfgfile"
19689
19690 # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
19691
19692 # func_munge_path_list VARIABLE PATH
19693 # -----------------------------------
19694 # VARIABLE is name of variable containing _space_ separated list of
19695 # directories to be munged by the contents of PATH, which is string
19696 # having a format:
19697 # "DIR[:DIR]:"
19698 # string "DIR[ DIR]" will be prepended to VARIABLE
19699 # ":DIR[:DIR]"
19700 # string "DIR[ DIR]" will be appended to VARIABLE
19701 # "DIRP[:DIRP]::[DIRA:]DIRA"
19702 # string "DIRP[ DIRP]" will be prepended to VARIABLE and string
19703 # "DIRA[ DIRA]" will be appended to VARIABLE
19704 # "DIR[:DIR]"
19705 # VARIABLE will be replaced by "DIR[ DIR]"
19706 func_munge_path_list ()
19707 {
19708 case x$2 in
19709 x)
19710 ;;
19711 *:)
19712 eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
19713 ;;
19714 x:*)
19715 eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
19716 ;;
19717 *::*)
19718 eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
19719 eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
19720 ;;
19721 *)
19722 eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
19723 ;;
19724 esac
19725 }
19726
19727
19728 # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
19729 func_cc_basename ()
19730 {
19731 for cc_temp in $*""; do
19732 case $cc_temp in
19733 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
19734 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
19735 \-*) ;;
19736 *) break;;
19737 esac
19738 done
19739 func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
19740 }
19741
19742
19743 # ### END FUNCTIONS SHARED WITH CONFIGURE
19744
19745 _LT_EOF
19746
19747 case $host_os in
19748 aix3*)
19749 cat <<\_LT_EOF >> "$cfgfile"
19750 # AIX sometimes has problems with the GCC collect2 program. For some
19751 # reason, if we set the COLLECT_NAMES environment variable, the problems
19752 # vanish in a puff of smoke.
19753 if test set != "${COLLECT_NAMES+set}"; then
19754 COLLECT_NAMES=
19755 export COLLECT_NAMES
19756 fi
19757 _LT_EOF
19758 ;;
19759 esac
19760
19761
19762 ltmain=$ac_aux_dir/ltmain.sh
19763
19764
19765 # We use sed instead of cat because bash on DJGPP gets confused if
19766 # if finds mixed CR/LF and LF-only lines. Since sed operates in
19767 # text mode, it properly converts lines to CR/LF. This bash problem
19768 # is reportedly fixed, but why not run on old versions too?
19769 sed '$q' "$ltmain" >> "$cfgfile" \
19770 || (rm -f "$cfgfile"; exit 1)
19771
19772 mv -f "$cfgfile" "$ofile" ||
19773 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
19774 chmod +x "$ofile"
19775
19776
19777 cat <<_LT_EOF >> "$ofile"
19778
19779 # ### BEGIN LIBTOOL TAG CONFIG: CXX
19780
19781 # The linker used to build libraries.
19782 LD=$lt_LD_CXX
19783
19784 # How to create reloadable object files.
19785 reload_flag=$lt_reload_flag_CXX
19786 reload_cmds=$lt_reload_cmds_CXX
19787
19788 # Commands used to build an old-style archive.
19789 old_archive_cmds=$lt_old_archive_cmds_CXX
19790
19791 # A language specific compiler.
19792 CC=$lt_compiler_CXX
19793
19794 # Is the compiler the GNU compiler?
19795 with_gcc=$GCC_CXX
19796
19797 # Compiler flag to turn off builtin functions.
19798 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
19799
19800 # Additional compiler flags for building library objects.
19801 pic_flag=$lt_lt_prog_compiler_pic_CXX
19802
19803 # How to pass a linker flag through the compiler.
19804 wl=$lt_lt_prog_compiler_wl_CXX
19805
19806 # Compiler flag to prevent dynamic linking.
19807 link_static_flag=$lt_lt_prog_compiler_static_CXX
19808
19809 # Does compiler simultaneously support -c and -o options?
19810 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
19811
19812 # Whether or not to add -lc for building shared libraries.
19813 build_libtool_need_lc=$archive_cmds_need_lc_CXX
19814
19815 # Whether or not to disallow shared libs when runtime libs are static.
19816 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
19817
19818 # Compiler flag to allow reflexive dlopens.
19819 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
19820
19821 # Compiler flag to generate shared objects directly from archives.
19822 whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
19823
19824 # Whether the compiler copes with passing no objects directly.
19825 compiler_needs_object=$lt_compiler_needs_object_CXX
19826
19827 # Create an old-style archive from a shared archive.
19828 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
19829
19830 # Create a temporary old-style archive to link instead of a shared archive.
19831 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
19832
19833 # Commands used to build a shared archive.
19834 archive_cmds=$lt_archive_cmds_CXX
19835 archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
19836
19837 # Commands used to build a loadable module if different from building
19838 # a shared archive.
19839 module_cmds=$lt_module_cmds_CXX
19840 module_expsym_cmds=$lt_module_expsym_cmds_CXX
19841
19842 # Whether we are building with GNU ld or not.
19843 with_gnu_ld=$lt_with_gnu_ld_CXX
19844
19845 # Flag that allows shared libraries with undefined symbols to be built.
19846 allow_undefined_flag=$lt_allow_undefined_flag_CXX
19847
19848 # Flag that enforces no undefined symbols.
19849 no_undefined_flag=$lt_no_undefined_flag_CXX
19850
19851 # Flag to hardcode \$libdir into a binary during linking.
19852 # This must work even if \$libdir does not exist
19853 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
19854
19855 # Whether we need a single "-rpath" flag with a separated argument.
19856 hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
19857
19858 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
19859 # DIR into the resulting binary.
19860 hardcode_direct=$hardcode_direct_CXX
19861
19862 # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
19863 # DIR into the resulting binary and the resulting library dependency is
19864 # "absolute",i.e impossible to change by setting \$shlibpath_var if the
19865 # library is relocated.
19866 hardcode_direct_absolute=$hardcode_direct_absolute_CXX
19867
19868 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR
19869 # into the resulting binary.
19870 hardcode_minus_L=$hardcode_minus_L_CXX
19871
19872 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
19873 # into the resulting binary.
19874 hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
19875
19876 # Set to "yes" if building a shared library automatically hardcodes DIR
19877 # into the library and all subsequent libraries and executables linked
19878 # against it.
19879 hardcode_automatic=$hardcode_automatic_CXX
19880
19881 # Set to yes if linker adds runtime paths of dependent libraries
19882 # to runtime path list.
19883 inherit_rpath=$inherit_rpath_CXX
19884
19885 # Whether libtool must link a program against all its dependency libraries.
19886 link_all_deplibs=$link_all_deplibs_CXX
19887
19888 # Set to "yes" if exported symbols are required.
19889 always_export_symbols=$always_export_symbols_CXX
19890
19891 # The commands to list exported symbols.
19892 export_symbols_cmds=$lt_export_symbols_cmds_CXX
19893
19894 # Symbols that should not be listed in the preloaded symbols.
19895 exclude_expsyms=$lt_exclude_expsyms_CXX
19896
19897 # Symbols that must always be exported.
19898 include_expsyms=$lt_include_expsyms_CXX
19899
19900 # Commands necessary for linking programs (against libraries) with templates.
19901 prelink_cmds=$lt_prelink_cmds_CXX
19902
19903 # Commands necessary for finishing linking programs.
19904 postlink_cmds=$lt_postlink_cmds_CXX
19905
19906 # Specify filename containing input files.
19907 file_list_spec=$lt_file_list_spec_CXX
19908
19909 # How to hardcode a shared library path into an executable.
19910 hardcode_action=$hardcode_action_CXX
19911
19912 # The directories searched by this compiler when creating a shared library.
19913 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
19914
19915 # Dependencies to place before and after the objects being linked to
19916 # create a shared library.
19917 predep_objects=$lt_predep_objects_CXX
19918 postdep_objects=$lt_postdep_objects_CXX
19919 predeps=$lt_predeps_CXX
19920 postdeps=$lt_postdeps_CXX
19921
19922 # The library search path used internally by the compiler when linking
19923 # a shared library.
19924 compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
19925
19926 # ### END LIBTOOL TAG CONFIG: CXX
19927 _LT_EOF
19928
19929 ;;
19930
19931 esac
19932 done # for ac_tag
19933
19934
19935 as_fn_exit 0
19936 _ACEOF
19937 ac_clean_files=$ac_clean_files_save
19938
19939 test $ac_write_fail = 0 ||
19940 as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
19941
19942
19943 # configure is writing to config.log, and then calls config.status.
19944 # config.status does its own redirection, appending to config.log.
19945 # Unfortunately, on DOS this fails, as config.log is still kept open
19946 # by configure, so config.status won't be able to write to it; its
19947 # output is simply discarded. So we exec the FD to /dev/null,
19948 # effectively closing config.log, so it can be properly (re)opened and
19949 # appended to by config.status. When coming back to configure, we
19950 # need to make the FD available again.
19951 if test "$no_create" != yes; then
19952 ac_cs_success=:
19953 ac_config_status_args=
19954 test "$silent" = yes &&
19955 ac_config_status_args="$ac_config_status_args --quiet"
19956 exec 5>/dev/null
19957 $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
19958 exec 5>>config.log
19959 # Use ||, not &&, to avoid exiting from the if with $? = 1, which
19960 # would make configure fail if this is the last instruction.
19961 $ac_cs_success || as_fn_exit 1
19962 fi
19963 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
19964 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
19965 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
19966 fi
19967
0 #! /bin/sh
1 # depcomp - compile a program generating dependencies as side-effects
2
3 scriptversion=2018-03-07.03; # UTC
4
5 # Copyright (C) 1999-2020 Free Software Foundation, Inc.
6
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2, or (at your option)
10 # any later version.
11
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
16
17 # You should have received a copy of the GNU General Public License
18 # along with this program. If not, see <https://www.gnu.org/licenses/>.
19
20 # As a special exception to the GNU General Public License, if you
21 # distribute this file as part of a program that contains a
22 # configuration script generated by Autoconf, you may include it under
23 # the same distribution terms that you use for the rest of that program.
24
25 # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
26
27 case $1 in
28 '')
29 echo "$0: No command. Try '$0 --help' for more information." 1>&2
30 exit 1;
31 ;;
32 -h | --h*)
33 cat <<\EOF
34 Usage: depcomp [--help] [--version] PROGRAM [ARGS]
35
36 Run PROGRAMS ARGS to compile a file, generating dependencies
37 as side-effects.
38
39 Environment variables:
40 depmode Dependency tracking mode.
41 source Source file read by 'PROGRAMS ARGS'.
42 object Object file output by 'PROGRAMS ARGS'.
43 DEPDIR directory where to store dependencies.
44 depfile Dependency file to output.
45 tmpdepfile Temporary file to use when outputting dependencies.
46 libtool Whether libtool is used (yes/no).
47
48 Report bugs to <bug-automake@gnu.org>.
49 EOF
50 exit $?
51 ;;
52 -v | --v*)
53 echo "depcomp $scriptversion"
54 exit $?
55 ;;
56 esac
57
58 # Get the directory component of the given path, and save it in the
59 # global variables '$dir'. Note that this directory component will
60 # be either empty or ending with a '/' character. This is deliberate.
61 set_dir_from ()
62 {
63 case $1 in
64 */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
65 *) dir=;;
66 esac
67 }
68
69 # Get the suffix-stripped basename of the given path, and save it the
70 # global variable '$base'.
71 set_base_from ()
72 {
73 base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
74 }
75
76 # If no dependency file was actually created by the compiler invocation,
77 # we still have to create a dummy depfile, to avoid errors with the
78 # Makefile "include basename.Plo" scheme.
79 make_dummy_depfile ()
80 {
81 echo "#dummy" > "$depfile"
82 }
83
84 # Factor out some common post-processing of the generated depfile.
85 # Requires the auxiliary global variable '$tmpdepfile' to be set.
86 aix_post_process_depfile ()
87 {
88 # If the compiler actually managed to produce a dependency file,
89 # post-process it.
90 if test -f "$tmpdepfile"; then
91 # Each line is of the form 'foo.o: dependency.h'.
92 # Do two passes, one to just change these to
93 # $object: dependency.h
94 # and one to simply output
95 # dependency.h:
96 # which is needed to avoid the deleted-header problem.
97 { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
98 sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
99 } > "$depfile"
100 rm -f "$tmpdepfile"
101 else
102 make_dummy_depfile
103 fi
104 }
105
106 # A tabulation character.
107 tab=' '
108 # A newline character.
109 nl='
110 '
111 # Character ranges might be problematic outside the C locale.
112 # These definitions help.
113 upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
114 lower=abcdefghijklmnopqrstuvwxyz
115 digits=0123456789
116 alpha=${upper}${lower}
117
118 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
119 echo "depcomp: Variables source, object and depmode must be set" 1>&2
120 exit 1
121 fi
122
123 # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
124 depfile=${depfile-`echo "$object" |
125 sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
126 tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
127
128 rm -f "$tmpdepfile"
129
130 # Avoid interferences from the environment.
131 gccflag= dashmflag=
132
133 # Some modes work just like other modes, but use different flags. We
134 # parameterize here, but still list the modes in the big case below,
135 # to make depend.m4 easier to write. Note that we *cannot* use a case
136 # here, because this file can only contain one case statement.
137 if test "$depmode" = hp; then
138 # HP compiler uses -M and no extra arg.
139 gccflag=-M
140 depmode=gcc
141 fi
142
143 if test "$depmode" = dashXmstdout; then
144 # This is just like dashmstdout with a different argument.
145 dashmflag=-xM
146 depmode=dashmstdout
147 fi
148
149 cygpath_u="cygpath -u -f -"
150 if test "$depmode" = msvcmsys; then
151 # This is just like msvisualcpp but w/o cygpath translation.
152 # Just convert the backslash-escaped backslashes to single forward
153 # slashes to satisfy depend.m4
154 cygpath_u='sed s,\\\\,/,g'
155 depmode=msvisualcpp
156 fi
157
158 if test "$depmode" = msvc7msys; then
159 # This is just like msvc7 but w/o cygpath translation.
160 # Just convert the backslash-escaped backslashes to single forward
161 # slashes to satisfy depend.m4
162 cygpath_u='sed s,\\\\,/,g'
163 depmode=msvc7
164 fi
165
166 if test "$depmode" = xlc; then
167 # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
168 gccflag=-qmakedep=gcc,-MF
169 depmode=gcc
170 fi
171
172 case "$depmode" in
173 gcc3)
174 ## gcc 3 implements dependency tracking that does exactly what
175 ## we want. Yay! Note: for some reason libtool 1.4 doesn't like
176 ## it if -MD -MP comes after the -MF stuff. Hmm.
177 ## Unfortunately, FreeBSD c89 acceptance of flags depends upon
178 ## the command line argument order; so add the flags where they
179 ## appear in depend2.am. Note that the slowdown incurred here
180 ## affects only configure: in makefiles, %FASTDEP% shortcuts this.
181 for arg
182 do
183 case $arg in
184 -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
185 *) set fnord "$@" "$arg" ;;
186 esac
187 shift # fnord
188 shift # $arg
189 done
190 "$@"
191 stat=$?
192 if test $stat -ne 0; then
193 rm -f "$tmpdepfile"
194 exit $stat
195 fi
196 mv "$tmpdepfile" "$depfile"
197 ;;
198
199 gcc)
200 ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
201 ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
202 ## (see the conditional assignment to $gccflag above).
203 ## There are various ways to get dependency output from gcc. Here's
204 ## why we pick this rather obscure method:
205 ## - Don't want to use -MD because we'd like the dependencies to end
206 ## up in a subdir. Having to rename by hand is ugly.
207 ## (We might end up doing this anyway to support other compilers.)
208 ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
209 ## -MM, not -M (despite what the docs say). Also, it might not be
210 ## supported by the other compilers which use the 'gcc' depmode.
211 ## - Using -M directly means running the compiler twice (even worse
212 ## than renaming).
213 if test -z "$gccflag"; then
214 gccflag=-MD,
215 fi
216 "$@" -Wp,"$gccflag$tmpdepfile"
217 stat=$?
218 if test $stat -ne 0; then
219 rm -f "$tmpdepfile"
220 exit $stat
221 fi
222 rm -f "$depfile"
223 echo "$object : \\" > "$depfile"
224 # The second -e expression handles DOS-style file names with drive
225 # letters.
226 sed -e 's/^[^:]*: / /' \
227 -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
228 ## This next piece of magic avoids the "deleted header file" problem.
229 ## The problem is that when a header file which appears in a .P file
230 ## is deleted, the dependency causes make to die (because there is
231 ## typically no way to rebuild the header). We avoid this by adding
232 ## dummy dependencies for each header file. Too bad gcc doesn't do
233 ## this for us directly.
234 ## Some versions of gcc put a space before the ':'. On the theory
235 ## that the space means something, we add a space to the output as
236 ## well. hp depmode also adds that space, but also prefixes the VPATH
237 ## to the object. Take care to not repeat it in the output.
238 ## Some versions of the HPUX 10.20 sed can't process this invocation
239 ## correctly. Breaking it into two sed invocations is a workaround.
240 tr ' ' "$nl" < "$tmpdepfile" \
241 | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
242 | sed -e 's/$/ :/' >> "$depfile"
243 rm -f "$tmpdepfile"
244 ;;
245
246 hp)
247 # This case exists only to let depend.m4 do its work. It works by
248 # looking at the text of this script. This case will never be run,
249 # since it is checked for above.
250 exit 1
251 ;;
252
253 sgi)
254 if test "$libtool" = yes; then
255 "$@" "-Wp,-MDupdate,$tmpdepfile"
256 else
257 "$@" -MDupdate "$tmpdepfile"
258 fi
259 stat=$?
260 if test $stat -ne 0; then
261 rm -f "$tmpdepfile"
262 exit $stat
263 fi
264 rm -f "$depfile"
265
266 if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
267 echo "$object : \\" > "$depfile"
268 # Clip off the initial element (the dependent). Don't try to be
269 # clever and replace this with sed code, as IRIX sed won't handle
270 # lines with more than a fixed number of characters (4096 in
271 # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
272 # the IRIX cc adds comments like '#:fec' to the end of the
273 # dependency line.
274 tr ' ' "$nl" < "$tmpdepfile" \
275 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
276 | tr "$nl" ' ' >> "$depfile"
277 echo >> "$depfile"
278 # The second pass generates a dummy entry for each header file.
279 tr ' ' "$nl" < "$tmpdepfile" \
280 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
281 >> "$depfile"
282 else
283 make_dummy_depfile
284 fi
285 rm -f "$tmpdepfile"
286 ;;
287
288 xlc)
289 # This case exists only to let depend.m4 do its work. It works by
290 # looking at the text of this script. This case will never be run,
291 # since it is checked for above.
292 exit 1
293 ;;
294
295 aix)
296 # The C for AIX Compiler uses -M and outputs the dependencies
297 # in a .u file. In older versions, this file always lives in the
298 # current directory. Also, the AIX compiler puts '$object:' at the
299 # start of each line; $object doesn't have directory information.
300 # Version 6 uses the directory in both cases.
301 set_dir_from "$object"
302 set_base_from "$object"
303 if test "$libtool" = yes; then
304 tmpdepfile1=$dir$base.u
305 tmpdepfile2=$base.u
306 tmpdepfile3=$dir.libs/$base.u
307 "$@" -Wc,-M
308 else
309 tmpdepfile1=$dir$base.u
310 tmpdepfile2=$dir$base.u
311 tmpdepfile3=$dir$base.u
312 "$@" -M
313 fi
314 stat=$?
315 if test $stat -ne 0; then
316 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
317 exit $stat
318 fi
319
320 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
321 do
322 test -f "$tmpdepfile" && break
323 done
324 aix_post_process_depfile
325 ;;
326
327 tcc)
328 # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
329 # FIXME: That version still under development at the moment of writing.
330 # Make that this statement remains true also for stable, released
331 # versions.
332 # It will wrap lines (doesn't matter whether long or short) with a
333 # trailing '\', as in:
334 #
335 # foo.o : \
336 # foo.c \
337 # foo.h \
338 #
339 # It will put a trailing '\' even on the last line, and will use leading
340 # spaces rather than leading tabs (at least since its commit 0394caf7
341 # "Emit spaces for -MD").
342 "$@" -MD -MF "$tmpdepfile"
343 stat=$?
344 if test $stat -ne 0; then
345 rm -f "$tmpdepfile"
346 exit $stat
347 fi
348 rm -f "$depfile"
349 # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
350 # We have to change lines of the first kind to '$object: \'.
351 sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
352 # And for each line of the second kind, we have to emit a 'dep.h:'
353 # dummy dependency, to avoid the deleted-header problem.
354 sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
355 rm -f "$tmpdepfile"
356 ;;
357
358 ## The order of this option in the case statement is important, since the
359 ## shell code in configure will try each of these formats in the order
360 ## listed in this file. A plain '-MD' option would be understood by many
361 ## compilers, so we must ensure this comes after the gcc and icc options.
362 pgcc)
363 # Portland's C compiler understands '-MD'.
364 # Will always output deps to 'file.d' where file is the root name of the
365 # source file under compilation, even if file resides in a subdirectory.
366 # The object file name does not affect the name of the '.d' file.
367 # pgcc 10.2 will output
368 # foo.o: sub/foo.c sub/foo.h
369 # and will wrap long lines using '\' :
370 # foo.o: sub/foo.c ... \
371 # sub/foo.h ... \
372 # ...
373 set_dir_from "$object"
374 # Use the source, not the object, to determine the base name, since
375 # that's sadly what pgcc will do too.
376 set_base_from "$source"
377 tmpdepfile=$base.d
378
379 # For projects that build the same source file twice into different object
380 # files, the pgcc approach of using the *source* file root name can cause
381 # problems in parallel builds. Use a locking strategy to avoid stomping on
382 # the same $tmpdepfile.
383 lockdir=$base.d-lock
384 trap "
385 echo '$0: caught signal, cleaning up...' >&2
386 rmdir '$lockdir'
387 exit 1
388 " 1 2 13 15
389 numtries=100
390 i=$numtries
391 while test $i -gt 0; do
392 # mkdir is a portable test-and-set.
393 if mkdir "$lockdir" 2>/dev/null; then
394 # This process acquired the lock.
395 "$@" -MD
396 stat=$?
397 # Release the lock.
398 rmdir "$lockdir"
399 break
400 else
401 # If the lock is being held by a different process, wait
402 # until the winning process is done or we timeout.
403 while test -d "$lockdir" && test $i -gt 0; do
404 sleep 1
405 i=`expr $i - 1`
406 done
407 fi
408 i=`expr $i - 1`
409 done
410 trap - 1 2 13 15
411 if test $i -le 0; then
412 echo "$0: failed to acquire lock after $numtries attempts" >&2
413 echo "$0: check lockdir '$lockdir'" >&2
414 exit 1
415 fi
416
417 if test $stat -ne 0; then
418 rm -f "$tmpdepfile"
419 exit $stat
420 fi
421 rm -f "$depfile"
422 # Each line is of the form `foo.o: dependent.h',
423 # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
424 # Do two passes, one to just change these to
425 # `$object: dependent.h' and one to simply `dependent.h:'.
426 sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
427 # Some versions of the HPUX 10.20 sed can't process this invocation
428 # correctly. Breaking it into two sed invocations is a workaround.
429 sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
430 | sed -e 's/$/ :/' >> "$depfile"
431 rm -f "$tmpdepfile"
432 ;;
433
434 hp2)
435 # The "hp" stanza above does not work with aCC (C++) and HP's ia64
436 # compilers, which have integrated preprocessors. The correct option
437 # to use with these is +Maked; it writes dependencies to a file named
438 # 'foo.d', which lands next to the object file, wherever that
439 # happens to be.
440 # Much of this is similar to the tru64 case; see comments there.
441 set_dir_from "$object"
442 set_base_from "$object"
443 if test "$libtool" = yes; then
444 tmpdepfile1=$dir$base.d
445 tmpdepfile2=$dir.libs/$base.d
446 "$@" -Wc,+Maked
447 else
448 tmpdepfile1=$dir$base.d
449 tmpdepfile2=$dir$base.d
450 "$@" +Maked
451 fi
452 stat=$?
453 if test $stat -ne 0; then
454 rm -f "$tmpdepfile1" "$tmpdepfile2"
455 exit $stat
456 fi
457
458 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
459 do
460 test -f "$tmpdepfile" && break
461 done
462 if test -f "$tmpdepfile"; then
463 sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
464 # Add 'dependent.h:' lines.
465 sed -ne '2,${
466 s/^ *//
467 s/ \\*$//
468 s/$/:/
469 p
470 }' "$tmpdepfile" >> "$depfile"
471 else
472 make_dummy_depfile
473 fi
474 rm -f "$tmpdepfile" "$tmpdepfile2"
475 ;;
476
477 tru64)
478 # The Tru64 compiler uses -MD to generate dependencies as a side
479 # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
480 # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
481 # dependencies in 'foo.d' instead, so we check for that too.
482 # Subdirectories are respected.
483 set_dir_from "$object"
484 set_base_from "$object"
485
486 if test "$libtool" = yes; then
487 # Libtool generates 2 separate objects for the 2 libraries. These
488 # two compilations output dependencies in $dir.libs/$base.o.d and
489 # in $dir$base.o.d. We have to check for both files, because
490 # one of the two compilations can be disabled. We should prefer
491 # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
492 # automatically cleaned when .libs/ is deleted, while ignoring
493 # the former would cause a distcleancheck panic.
494 tmpdepfile1=$dir$base.o.d # libtool 1.5
495 tmpdepfile2=$dir.libs/$base.o.d # Likewise.
496 tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
497 "$@" -Wc,-MD
498 else
499 tmpdepfile1=$dir$base.d
500 tmpdepfile2=$dir$base.d
501 tmpdepfile3=$dir$base.d
502 "$@" -MD
503 fi
504
505 stat=$?
506 if test $stat -ne 0; then
507 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
508 exit $stat
509 fi
510
511 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
512 do
513 test -f "$tmpdepfile" && break
514 done
515 # Same post-processing that is required for AIX mode.
516 aix_post_process_depfile
517 ;;
518
519 msvc7)
520 if test "$libtool" = yes; then
521 showIncludes=-Wc,-showIncludes
522 else
523 showIncludes=-showIncludes
524 fi
525 "$@" $showIncludes > "$tmpdepfile"
526 stat=$?
527 grep -v '^Note: including file: ' "$tmpdepfile"
528 if test $stat -ne 0; then
529 rm -f "$tmpdepfile"
530 exit $stat
531 fi
532 rm -f "$depfile"
533 echo "$object : \\" > "$depfile"
534 # The first sed program below extracts the file names and escapes
535 # backslashes for cygpath. The second sed program outputs the file
536 # name when reading, but also accumulates all include files in the
537 # hold buffer in order to output them again at the end. This only
538 # works with sed implementations that can handle large buffers.
539 sed < "$tmpdepfile" -n '
540 /^Note: including file: *\(.*\)/ {
541 s//\1/
542 s/\\/\\\\/g
543 p
544 }' | $cygpath_u | sort -u | sed -n '
545 s/ /\\ /g
546 s/\(.*\)/'"$tab"'\1 \\/p
547 s/.\(.*\) \\/\1:/
548 H
549 $ {
550 s/.*/'"$tab"'/
551 G
552 p
553 }' >> "$depfile"
554 echo >> "$depfile" # make sure the fragment doesn't end with a backslash
555 rm -f "$tmpdepfile"
556 ;;
557
558 msvc7msys)
559 # This case exists only to let depend.m4 do its work. It works by
560 # looking at the text of this script. This case will never be run,
561 # since it is checked for above.
562 exit 1
563 ;;
564
565 #nosideeffect)
566 # This comment above is used by automake to tell side-effect
567 # dependency tracking mechanisms from slower ones.
568
569 dashmstdout)
570 # Important note: in order to support this mode, a compiler *must*
571 # always write the preprocessed file to stdout, regardless of -o.
572 "$@" || exit $?
573
574 # Remove the call to Libtool.
575 if test "$libtool" = yes; then
576 while test "X$1" != 'X--mode=compile'; do
577 shift
578 done
579 shift
580 fi
581
582 # Remove '-o $object'.
583 IFS=" "
584 for arg
585 do
586 case $arg in
587 -o)
588 shift
589 ;;
590 $object)
591 shift
592 ;;
593 *)
594 set fnord "$@" "$arg"
595 shift # fnord
596 shift # $arg
597 ;;
598 esac
599 done
600
601 test -z "$dashmflag" && dashmflag=-M
602 # Require at least two characters before searching for ':'
603 # in the target name. This is to cope with DOS-style filenames:
604 # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
605 "$@" $dashmflag |
606 sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
607 rm -f "$depfile"
608 cat < "$tmpdepfile" > "$depfile"
609 # Some versions of the HPUX 10.20 sed can't process this sed invocation
610 # correctly. Breaking it into two sed invocations is a workaround.
611 tr ' ' "$nl" < "$tmpdepfile" \
612 | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
613 | sed -e 's/$/ :/' >> "$depfile"
614 rm -f "$tmpdepfile"
615 ;;
616
617 dashXmstdout)
618 # This case only exists to satisfy depend.m4. It is never actually
619 # run, as this mode is specially recognized in the preamble.
620 exit 1
621 ;;
622
623 makedepend)
624 "$@" || exit $?
625 # Remove any Libtool call
626 if test "$libtool" = yes; then
627 while test "X$1" != 'X--mode=compile'; do
628 shift
629 done
630 shift
631 fi
632 # X makedepend
633 shift
634 cleared=no eat=no
635 for arg
636 do
637 case $cleared in
638 no)
639 set ""; shift
640 cleared=yes ;;
641 esac
642 if test $eat = yes; then
643 eat=no
644 continue
645 fi
646 case "$arg" in
647 -D*|-I*)
648 set fnord "$@" "$arg"; shift ;;
649 # Strip any option that makedepend may not understand. Remove
650 # the object too, otherwise makedepend will parse it as a source file.
651 -arch)
652 eat=yes ;;
653 -*|$object)
654 ;;
655 *)
656 set fnord "$@" "$arg"; shift ;;
657 esac
658 done
659 obj_suffix=`echo "$object" | sed 's/^.*\././'`
660 touch "$tmpdepfile"
661 ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
662 rm -f "$depfile"
663 # makedepend may prepend the VPATH from the source file name to the object.
664 # No need to regex-escape $object, excess matching of '.' is harmless.
665 sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
666 # Some versions of the HPUX 10.20 sed can't process the last invocation
667 # correctly. Breaking it into two sed invocations is a workaround.
668 sed '1,2d' "$tmpdepfile" \
669 | tr ' ' "$nl" \
670 | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
671 | sed -e 's/$/ :/' >> "$depfile"
672 rm -f "$tmpdepfile" "$tmpdepfile".bak
673 ;;
674
675 cpp)
676 # Important note: in order to support this mode, a compiler *must*
677 # always write the preprocessed file to stdout.
678 "$@" || exit $?
679
680 # Remove the call to Libtool.
681 if test "$libtool" = yes; then
682 while test "X$1" != 'X--mode=compile'; do
683 shift
684 done
685 shift
686 fi
687
688 # Remove '-o $object'.
689 IFS=" "
690 for arg
691 do
692 case $arg in
693 -o)
694 shift
695 ;;
696 $object)
697 shift
698 ;;
699 *)
700 set fnord "$@" "$arg"
701 shift # fnord
702 shift # $arg
703 ;;
704 esac
705 done
706
707 "$@" -E \
708 | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
709 -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
710 | sed '$ s: \\$::' > "$tmpdepfile"
711 rm -f "$depfile"
712 echo "$object : \\" > "$depfile"
713 cat < "$tmpdepfile" >> "$depfile"
714 sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
715 rm -f "$tmpdepfile"
716 ;;
717
718 msvisualcpp)
719 # Important note: in order to support this mode, a compiler *must*
720 # always write the preprocessed file to stdout.
721 "$@" || exit $?
722
723 # Remove the call to Libtool.
724 if test "$libtool" = yes; then
725 while test "X$1" != 'X--mode=compile'; do
726 shift
727 done
728 shift
729 fi
730
731 IFS=" "
732 for arg
733 do
734 case "$arg" in
735 -o)
736 shift
737 ;;
738 $object)
739 shift
740 ;;
741 "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
742 set fnord "$@"
743 shift
744 shift
745 ;;
746 *)
747 set fnord "$@" "$arg"
748 shift
749 shift
750 ;;
751 esac
752 done
753 "$@" -E 2>/dev/null |
754 sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
755 rm -f "$depfile"
756 echo "$object : \\" > "$depfile"
757 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
758 echo "$tab" >> "$depfile"
759 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
760 rm -f "$tmpdepfile"
761 ;;
762
763 msvcmsys)
764 # This case exists only to let depend.m4 do its work. It works by
765 # looking at the text of this script. This case will never be run,
766 # since it is checked for above.
767 exit 1
768 ;;
769
770 none)
771 exec "$@"
772 ;;
773
774 *)
775 echo "Unknown depmode $depmode" 1>&2
776 exit 1
777 ;;
778 esac
779
780 exit 0
781
782 # Local Variables:
783 # mode: shell-script
784 # sh-indentation: 2
785 # eval: (add-hook 'before-save-hook 'time-stamp)
786 # time-stamp-start: "scriptversion="
787 # time-stamp-format: "%:y-%02m-%02d.%02H"
788 # time-stamp-time-zone: "UTC0"
789 # time-stamp-end: "; # UTC"
790 # End:
0 # Makefile.in generated by automake 1.16.3 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2020 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15 VPATH = @srcdir@
16 am__is_gnu_make = { \
17 if test -z '$(MAKELEVEL)'; then \
18 false; \
19 elif test -n '$(MAKE_HOST)'; then \
20 true; \
21 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
22 true; \
23 else \
24 false; \
25 fi; \
26 }
27 am__make_running_with_option = \
28 case $${target_option-} in \
29 ?) ;; \
30 *) echo "am__make_running_with_option: internal error: invalid" \
31 "target option '$${target_option-}' specified" >&2; \
32 exit 1;; \
33 esac; \
34 has_opt=no; \
35 sane_makeflags=$$MAKEFLAGS; \
36 if $(am__is_gnu_make); then \
37 sane_makeflags=$$MFLAGS; \
38 else \
39 case $$MAKEFLAGS in \
40 *\\[\ \ ]*) \
41 bs=\\; \
42 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
43 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
44 esac; \
45 fi; \
46 skip_next=no; \
47 strip_trailopt () \
48 { \
49 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
50 }; \
51 for flg in $$sane_makeflags; do \
52 test $$skip_next = yes && { skip_next=no; continue; }; \
53 case $$flg in \
54 *=*|--*) continue;; \
55 -*I) strip_trailopt 'I'; skip_next=yes;; \
56 -*I?*) strip_trailopt 'I';; \
57 -*O) strip_trailopt 'O'; skip_next=yes;; \
58 -*O?*) strip_trailopt 'O';; \
59 -*l) strip_trailopt 'l'; skip_next=yes;; \
60 -*l?*) strip_trailopt 'l';; \
61 -[dEDm]) skip_next=yes;; \
62 -[JT]) skip_next=yes;; \
63 esac; \
64 case $$flg in \
65 *$$target_option*) has_opt=yes; break;; \
66 esac; \
67 done; \
68 test $$has_opt = yes
69 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
70 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
71 pkgdatadir = $(datadir)/@PACKAGE@
72 pkgincludedir = $(includedir)/@PACKAGE@
73 pkglibdir = $(libdir)/@PACKAGE@
74 pkglibexecdir = $(libexecdir)/@PACKAGE@
75 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
76 install_sh_DATA = $(install_sh) -c -m 644
77 install_sh_PROGRAM = $(install_sh) -c
78 install_sh_SCRIPT = $(install_sh) -c
79 INSTALL_HEADER = $(INSTALL_DATA)
80 transform = $(program_transform_name)
81 NORMAL_INSTALL = :
82 PRE_INSTALL = :
83 POST_INSTALL = :
84 NORMAL_UNINSTALL = :
85 PRE_UNINSTALL = :
86 POST_UNINSTALL = :
87 build_triplet = @build@
88 host_triplet = @host@
89 subdir = docs
90 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
91 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
92 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
93 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
94 $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
95 $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
96 $(top_srcdir)/configure.ac
97 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
98 $(ACLOCAL_M4)
99 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
100 mkinstalldirs = $(install_sh) -d
101 CONFIG_HEADER = $(top_builddir)/htp_config_auto_gen.h
102 CONFIG_CLEAN_FILES =
103 CONFIG_CLEAN_VPATH_FILES =
104 AM_V_P = $(am__v_P_@AM_V@)
105 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
106 am__v_P_0 = false
107 am__v_P_1 = :
108 AM_V_GEN = $(am__v_GEN_@AM_V@)
109 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
110 am__v_GEN_0 = @echo " GEN " $@;
111 am__v_GEN_1 =
112 AM_V_at = $(am__v_at_@AM_V@)
113 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
114 am__v_at_0 = @
115 am__v_at_1 =
116 SOURCES =
117 DIST_SOURCES =
118 am__can_run_installinfo = \
119 case $$AM_UPDATE_INFO_DIR in \
120 n|no|NO) false;; \
121 *) (install-info --version) >/dev/null 2>&1;; \
122 esac
123 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
124 am__DIST_COMMON = $(srcdir)/Makefile.in
125 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
126 ACLOCAL = @ACLOCAL@
127 AMTAR = @AMTAR@
128 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
129 AR = @AR@
130 AUTOCONF = @AUTOCONF@
131 AUTOHEADER = @AUTOHEADER@
132 AUTOMAKE = @AUTOMAKE@
133 AWK = @AWK@
134 CC = @CC@
135 CCDEPMODE = @CCDEPMODE@
136 CFLAGS = @CFLAGS@
137 CPP = @CPP@
138 CPPFLAGS = @CPPFLAGS@
139 CXX = @CXX@
140 CXXCPP = @CXXCPP@
141 CXXDEPMODE = @CXXDEPMODE@
142 CXXFLAGS = @CXXFLAGS@
143 CYGPATH_W = @CYGPATH_W@
144 DEFS = @DEFS@
145 DEPDIR = @DEPDIR@
146 DLLTOOL = @DLLTOOL@
147 DOXYGEN = @DOXYGEN@
148 DSYMUTIL = @DSYMUTIL@
149 DUMPBIN = @DUMPBIN@
150 ECHO_C = @ECHO_C@
151 ECHO_N = @ECHO_N@
152 ECHO_T = @ECHO_T@
153 EGREP = @EGREP@
154 EXEEXT = @EXEEXT@
155 FGREP = @FGREP@
156 GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@
157 GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
158 GENERIC_RELEASE = @GENERIC_RELEASE@
159 GENERIC_VERSION = @GENERIC_VERSION@
160 GREP = @GREP@
161 INSTALL = @INSTALL@
162 INSTALL_DATA = @INSTALL_DATA@
163 INSTALL_PROGRAM = @INSTALL_PROGRAM@
164 INSTALL_SCRIPT = @INSTALL_SCRIPT@
165 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
166 LCOV = @LCOV@
167 LD = @LD@
168 LDFLAGS = @LDFLAGS@
169 LIBICONV = @LIBICONV@
170 LIBOBJS = @LIBOBJS@
171 LIBS = @LIBS@
172 LIBTOOL = @LIBTOOL@
173 LIPO = @LIPO@
174 LN_S = @LN_S@
175 LTLIBICONV = @LTLIBICONV@
176 LTLIBOBJS = @LTLIBOBJS@
177 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
178 MAKEINFO = @MAKEINFO@
179 MANIFEST_TOOL = @MANIFEST_TOOL@
180 MKDIR_P = @MKDIR_P@
181 NM = @NM@
182 NMEDIT = @NMEDIT@
183 OBJDUMP = @OBJDUMP@
184 OBJEXT = @OBJEXT@
185 OTOOL = @OTOOL@
186 OTOOL64 = @OTOOL64@
187 PACKAGE = @PACKAGE@
188 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
189 PACKAGE_NAME = @PACKAGE_NAME@
190 PACKAGE_STRING = @PACKAGE_STRING@
191 PACKAGE_TARNAME = @PACKAGE_TARNAME@
192 PACKAGE_URL = @PACKAGE_URL@
193 PACKAGE_VERSION = @PACKAGE_VERSION@
194 PATH_SEPARATOR = @PATH_SEPARATOR@
195 RANLIB = @RANLIB@
196 SED = @SED@
197 SET_MAKE = @SET_MAKE@
198 SHELL = @SHELL@
199 STRIP = @STRIP@
200 VERSION = @VERSION@
201 abs_builddir = @abs_builddir@
202 abs_srcdir = @abs_srcdir@
203 abs_top_builddir = @abs_top_builddir@
204 abs_top_srcdir = @abs_top_srcdir@
205 ac_ct_AR = @ac_ct_AR@
206 ac_ct_CC = @ac_ct_CC@
207 ac_ct_CXX = @ac_ct_CXX@
208 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
209 am__include = @am__include@
210 am__leading_dot = @am__leading_dot@
211 am__quote = @am__quote@
212 am__tar = @am__tar@
213 am__untar = @am__untar@
214 bindir = @bindir@
215 build = @build@
216 build_alias = @build_alias@
217 build_cpu = @build_cpu@
218 build_os = @build_os@
219 build_vendor = @build_vendor@
220 builddir = @builddir@
221 datadir = @datadir@
222 datarootdir = @datarootdir@
223 docdir = @docdir@
224 doxygen = @doxygen@
225 dvidir = @dvidir@
226 exec_prefix = @exec_prefix@
227 host = @host@
228 host_alias = @host_alias@
229 host_cpu = @host_cpu@
230 host_os = @host_os@
231 host_vendor = @host_vendor@
232 htmldir = @htmldir@
233 includedir = @includedir@
234 infodir = @infodir@
235 install_sh = @install_sh@
236 libdir = @libdir@
237 libexecdir = @libexecdir@
238 localedir = @localedir@
239 localstatedir = @localstatedir@
240 mandir = @mandir@
241 mkdir_p = @mkdir_p@
242 oldincludedir = @oldincludedir@
243 pdfdir = @pdfdir@
244 prefix = @prefix@
245 program_transform_name = @program_transform_name@
246 psdir = @psdir@
247 runstatedir = @runstatedir@
248 sbindir = @sbindir@
249 sharedstatedir = @sharedstatedir@
250 srcdir = @srcdir@
251 sysconfdir = @sysconfdir@
252 target_alias = @target_alias@
253 top_build_prefix = @top_build_prefix@
254 top_builddir = @top_builddir@
255 top_srcdir = @top_srcdir@
256 CLEANFILES = *.pdf
257 all: all-am
258
259 .SUFFIXES:
260 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
261 @for dep in $?; do \
262 case '$(am__configure_deps)' in \
263 *$$dep*) \
264 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
265 && { if test -f $@; then exit 0; else break; fi; }; \
266 exit 1;; \
267 esac; \
268 done; \
269 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile'; \
270 $(am__cd) $(top_srcdir) && \
271 $(AUTOMAKE) --gnu docs/Makefile
272 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
273 @case '$?' in \
274 *config.status*) \
275 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
276 *) \
277 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
278 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
279 esac;
280
281 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
282 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
283
284 $(top_srcdir)/configure: $(am__configure_deps)
285 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
286 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
287 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
288 $(am__aclocal_m4_deps):
289
290 mostlyclean-libtool:
291 -rm -f *.lo
292
293 clean-libtool:
294 -rm -rf .libs _libs
295 tags TAGS:
296
297 ctags CTAGS:
298
299 cscope cscopelist:
300
301
302 distdir: $(BUILT_SOURCES)
303 $(MAKE) $(AM_MAKEFLAGS) distdir-am
304
305 distdir-am: $(DISTFILES)
306 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
307 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
308 list='$(DISTFILES)'; \
309 dist_files=`for file in $$list; do echo $$file; done | \
310 sed -e "s|^$$srcdirstrip/||;t" \
311 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
312 case $$dist_files in \
313 */*) $(MKDIR_P) `echo "$$dist_files" | \
314 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
315 sort -u` ;; \
316 esac; \
317 for file in $$dist_files; do \
318 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
319 if test -d $$d/$$file; then \
320 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
321 if test -d "$(distdir)/$$file"; then \
322 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
323 fi; \
324 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
325 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
326 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
327 fi; \
328 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
329 else \
330 test -f "$(distdir)/$$file" \
331 || cp -p $$d/$$file "$(distdir)/$$file" \
332 || exit 1; \
333 fi; \
334 done
335 check-am: all-am
336 check: check-am
337 all-am: Makefile
338 installdirs:
339 install: install-am
340 install-exec: install-exec-am
341 install-data: install-data-am
342 uninstall: uninstall-am
343
344 install-am: all-am
345 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
346
347 installcheck: installcheck-am
348 install-strip:
349 if test -z '$(STRIP)'; then \
350 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
351 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
352 install; \
353 else \
354 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
355 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
356 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
357 fi
358 mostlyclean-generic:
359
360 clean-generic:
361 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
362
363 distclean-generic:
364 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
365 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
366
367 maintainer-clean-generic:
368 @echo "This command is intended for maintainers to use"
369 @echo "it deletes files that may require special tools to rebuild."
370 clean: clean-am
371
372 clean-am: clean-generic clean-libtool clean-local mostlyclean-am
373
374 distclean: distclean-am
375 -rm -f Makefile
376 distclean-am: clean-am distclean-generic
377
378 dvi: dvi-am
379
380 dvi-am:
381
382 html: html-am
383
384 html-am:
385
386 info: info-am
387
388 info-am:
389
390 install-data-am:
391
392 install-dvi: install-dvi-am
393
394 install-dvi-am:
395
396 install-exec-am:
397
398 install-html: install-html-am
399
400 install-html-am:
401
402 install-info: install-info-am
403
404 install-info-am:
405
406 install-man:
407
408 install-pdf: install-pdf-am
409
410 install-pdf-am:
411
412 install-ps: install-ps-am
413
414 install-ps-am:
415
416 installcheck-am:
417
418 maintainer-clean: maintainer-clean-am
419 -rm -f Makefile
420 maintainer-clean-am: distclean-am maintainer-clean-generic
421
422 mostlyclean: mostlyclean-am
423
424 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
425
426 pdf: pdf-am
427
428 pdf-am:
429
430 ps: ps-am
431
432 ps-am:
433
434 uninstall-am:
435
436 .MAKE: install-am install-strip
437
438 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
439 clean-local cscopelist-am ctags-am distclean distclean-generic \
440 distclean-libtool distdir dvi dvi-am html html-am info info-am \
441 install install-am install-data install-data-am install-dvi \
442 install-dvi-am install-exec install-exec-am install-html \
443 install-html-am install-info install-info-am install-man \
444 install-pdf install-pdf-am install-ps install-ps-am \
445 install-strip installcheck installcheck-am installdirs \
446 maintainer-clean maintainer-clean-generic mostlyclean \
447 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
448 tags-am uninstall uninstall-am
449
450 .PRECIOUS: Makefile
451
452
453 clean-local:
454 rm -rf doxygen
455
456 doxygen: doxygen.conf $(DOXYGEN_DEPS)
457 @if test -n "$(DOXYGEN)"; then \
458 $(DOXYGEN) $<; \
459 else \
460 echo "You need doxygen installed to build the docs."; \
461 fi;
462
463 doxygen-pdf: doxygen doxygen.pdf
464
465 doxygen.pdf: doxygen
466 (cd doxygen/latex && make refman.pdf) && cp doxygen/latex/refman.pdf doxygen.pdf
467
468 .PHONY: doxygen-pdf
469
470 # Tell versions [3.59,3.63) of GNU make to not export all variables.
471 # Otherwise a system limit (for SysV at least) may be exceeded.
472 .NOEXPORT:
+0
-161
examples/mod_libhtp/mod_libhtp.c less more
0 /***************************************************************************
1 * Copyright (c) 2009-2010 Open Information Security Foundation
2 * Copyright (c) 2010-2013 Qualys, Inc.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met:
8 *
9 * - Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11
12 * - Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15
16 * - Neither the name of the Qualys, Inc. nor the names of its
17 * contributors may be used to endorse or promote products derived from
18 * this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 ***************************************************************************/
32
33 #include "httpd.h"
34 #include "http_config.h"
35 #include "http_protocol.h"
36 #include "ap_config.h"
37
38 #include "htp.h"
39 #include "htp_transaction.h"
40
41 module AP_MODULE_DECLARE_DATA libhtp_module;
42
43 // XXX Handle all allocation failures
44
45 static int convert_method_number(int method_number) {
46 // We can cheat here because LibHTP reuses Apache's
47 // method identifiers. But we really shouldn't.
48 if ((method_number >= 0)&&(method_number <= 26)) {
49 return method_number;
50 }
51
52 // TODO Decouple this functions from Apache's internals.
53
54 return HTP_M_UNKNOWN;
55 }
56
57 static int convert_protocol_number(int protocol_number) {
58 // In Apache, 1.1 is stored as 1001. In LibHTP,
59 // the same protocol number is stored as 101.
60 return (protocol_number / 1000) * 100 + (protocol_number % 1000);
61 }
62
63 static apr_status_t transaction_cleanup(htp_tx_t *tx) {
64 htp_tx_destroy(tx);
65 return APR_SUCCESS;
66 }
67
68 static int libhtp_post_read_request(request_rec *r) {
69 htp_connp_t *connp = ap_get_module_config(r->connection->conn_config, &libhtp_module);
70 if (connp == NULL) return DECLINED;
71
72 // Create a new LibHTP transaction
73 htp_tx_t *tx = htp_connp_tx_create(connp);
74 if (tx == NULL) return DECLINED;
75
76 // Request begins
77 htp_tx_state_request_start(tx);
78
79 // Populate request line
80 htp_tx_req_set_method_c(tx, r->method, HTP_ALLOC_REUSE);
81 htp_tx_req_set_method_number(tx, convert_method_number(r->method_number));
82 htp_tx_req_set_uri_c(tx, r->uri, HTP_ALLOC_REUSE);
83 htp_tx_req_set_query_string_c(tx, r->args, HTP_ALLOC_REUSE);
84 htp_tx_req_set_protocol_c(tx, r->protocol, HTP_ALLOC_REUSE);
85 htp_tx_req_set_protocol_number(tx, convert_protocol_number(r->proto_num));
86 htp_tx_req_set_protocol_0_9(tx, r->assbackwards);
87
88 // Request line available
89 htp_tx_state_request_line(tx);
90
91 // Populate request headers
92 size_t i;
93 const apr_array_header_t *arr = apr_table_elts(r->headers_in);
94 const apr_table_entry_t *te = (apr_table_entry_t *) arr->elts;
95 for (i = 0; i < arr->nelts; i++) {
96 htp_tx_req_set_header_c(tx, te[i].key, te[i].val, HTP_ALLOC_REUSE);
97 }
98
99 // Request headers available
100 htp_tx_state_request_headers(tx);
101
102 // Attach LibHTP's transaction to Apache's request
103 ap_set_module_config(r->request_config, &libhtp_module, tx);
104 apr_pool_cleanup_register(r->pool, (void *)tx,
105 (apr_status_t (*)(void *))transaction_cleanup, apr_pool_cleanup_null);
106
107 return DECLINED;
108 }
109
110 static apr_status_t connection_cleanup(htp_connp_t *connp) {
111 htp_config_destroy(connp->cfg);
112 htp_connp_destroy(connp);
113
114 return APR_SUCCESS;
115 }
116
117 static int libhtp_pre_connection(conn_rec *c, void *csd) {
118 // Configuration; normally you'd read the configuration from
119 // a file, or some other type of storage, but, because this is
120 // just an example, we have it hard-coded.
121 htp_cfg_t *cfg = htp_config_create();
122 if (cfg == NULL) return OK;
123 htp_config_set_server_personality(cfg, HTP_SERVER_APACHE_2_2);
124 htp_config_register_urlencoded_parser(cfg);
125 htp_config_register_multipart_parser(cfg);
126
127 // Connection parser
128 htp_connp_t *connp = htp_connp_create(cfg);
129 if (connp == NULL) {
130 htp_config_destroy(cfg);
131 free(connp);
132 return OK;
133 }
134
135 // Open connection
136 htp_connp_open(connp, c->remote_ip, /* XXX remote port */ 0, c->local_ip, /* XXX local port */0, NULL);
137
138 ap_set_module_config(c->conn_config, &libhtp_module, connp);
139 apr_pool_cleanup_register(c->pool, (void *)connp,
140 (apr_status_t (*)(void *))connection_cleanup, apr_pool_cleanup_null);
141
142 return OK;
143 }
144
145 static void libhtp_register_hooks(apr_pool_t *p) {
146 ap_hook_pre_connection(libhtp_pre_connection, NULL, NULL, APR_HOOK_MIDDLE);
147 ap_hook_post_read_request(libhtp_post_read_request, NULL, NULL, APR_HOOK_MIDDLE);
148 }
149
150 /* Dispatch list for API hooks */
151 module AP_MODULE_DECLARE_DATA libhtp_module = {
152 STANDARD20_MODULE_STUFF,
153 NULL, /* create per-dir config structures */
154 NULL, /* merge per-dir config structures */
155 NULL, /* create per-server config structures */
156 NULL, /* merge per-server config structures */
157 NULL, /* table of config file commands */
158 libhtp_register_hooks /* register hooks */
159 };
160
+0
-569
extras/htptest.c less more
0 /***************************************************************************
1 * Copyright (c) 2009-2010 Open Information Security Foundation
2 * Copyright (c) 2010-2013 Qualys, Inc.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met:
8 *
9 * - Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11
12 * - Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15
16 * - Neither the name of the Qualys, Inc. nor the names of its
17 * contributors may be used to endorse or promote products derived from
18 * this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 ***************************************************************************/
32
33 /**
34 * @file
35 * @author Ivan Ristic <ivanr@webkreator.com>
36 */
37
38 /*
39 * This program is a simple example of how to use LibHTP to parse a HTTP
40 * connection stream. It uses libnids for TCP reassembly and LibHTP for
41 * HTTP parsing.
42 *
43 * This program is only meant as an demonstration; it is not suitable
44 * to be used in production. Furthermore, libnids itself was unreliable
45 * in my tests.
46 *
47 * Compile with:
48 *
49 * $ gcc htptest.c -lhtp -lz -lnids -o htptest
50 *
51 */
52
53 #include <errno.h>
54 #include <stdlib.h>
55 #include <stdio.h>
56 #include <sys/types.h>
57 #include <sys/socket.h>
58 #include <netinet/in.h>
59 #include <netinet/in_systm.h>
60 #include <arpa/inet.h>
61 #include <string.h>
62 #include <stdio.h>
63 #include "nids.h"
64
65 #include <sys/types.h>
66 #include <sys/stat.h>
67 #include <fcntl.h>
68
69 #include <htp/htp.h>
70 #include <htp/htp_list.h>
71 #include <htp/htp_table.h>
72
73 #define DIRECTION_CLIENT 1
74 #define DIRECTION_SERVER 2
75
76 typedef struct chunk_t chunk_t;
77 typedef struct stream_data stream_data;
78
79 /** Data chunk structure */
80 struct chunk_t {
81 char *data;
82 size_t len;
83 int direction;
84 size_t consumed;
85 };
86
87 /** Per-stream data structure */
88 struct stream_data {
89 int id;
90 htp_connp_t *connp;
91 int direction;
92 int fd;
93 int chunk_counter;
94 int log_level;
95 int req_count;
96 htp_list_t *chunks;
97 htp_list_t *inbound_chunks;
98 htp_list_t *outbound_chunks;
99 };
100
101 /** LibHTP parser configuration */
102 htp_cfg_t *cfg;
103
104 /** Connection counter */
105 int counter = 1000;
106
107 /**
108 * Free stream data.
109 *
110 * @param[in] sd
111 */
112 void free_stream_data(stream_data *sd) {
113 if (sd == NULL) return;
114
115 // Free stream chunks, if any
116 if (sd->chunks != NULL) {
117 for (int i = 0, n = htp_list_size(sd->chunks); i < n; i++) {
118 chunk_t *chunk = htp_list_get(sd->chunks, i);
119 free(chunk->data);
120 free(chunk);
121 }
122
123 htp_list_destroy(sd->chunks);
124 sd->chunked = NULL;
125 }
126
127 // Free inbound chunks, if any
128 if (sd->inbound_chunks != NULL) {
129 for (int i = 0, n = htp_list_size(sd->inbound_chunks); i < n; i++) {
130 chunk_t *chunk = htp_list_get(sd->inbound_chunkds, i);
131 free(chunk->data);
132 free(chunk);
133 }
134
135 htp_list_destroy(sd->inbound_chunks);
136 sd->inbound_chunks = NULL;
137 }
138
139 // Free outbound chunks, if any
140 if (sd->outbound_chunks != NULL) {
141 for (int i = 0, n = htp_list_size(sd->outbound_chunks); i < n; i++) {
142 chunk_t *chunk = htp_list_get(sd->outbound_chunkds, i);
143 free(chunk->data);
144 free(chunk);
145 }
146
147 htp_list_destroy(sd->outbound_chunks);
148 sd->outbound_chunks = NULL;
149 }
150
151 // Close the stream file, if we have it open
152 if (sd->fd != -1) {
153 close(sd->fd);
154 }
155
156 free(sd);
157 }
158
159 /**
160 * Process as much buffered inbound and outbound data as possible
161 * (in that order)
162 *
163 * @param[in] sd
164 */
165 void process_stored_stream_data(stream_data *sd) {
166 int loop = 0;
167
168 do {
169 // Reset loop
170 loop = 0;
171
172 // Send as much inbound data as possible
173 while((sd->connp->in_status == HTP_STREAM_DATA)&&(htp_list_size(sd->inbound_chunks) > 0)) {
174 chunk_t *chunk = (chunk_t *)htp_list_get(sd->inbound_chunks, 0);
175
176 int rc = htp_connp_req_data(sd->connp, 0, chunk->data + chunk->consumed, chunk->len - chunk->consumed);
177 if (rc == HTP_STREAM_DATA) {
178 // The entire chunk was consumed
179 htp_list_shift(sd->inbound_chunks);
180 free(chunk->data);
181 free(chunk);
182 } else {
183 // Partial consumption
184 chunk->consumed = htp_connp_req_data_consumed(sd->connp);
185 }
186 }
187
188 // Send as much outbound data as possible
189 while((sd->connp->out_status == HTP_STREAM_DATA)&&(htp_list_size(sd->outbound_chunks) > 0)) {
190 chunk_t *chunk = (chunk_t *)htp_list_get(sd->outbound_chunks, 0);
191
192 int rc = htp_connp_res_data(sd->connp, 0, chunk->data + chunk->consumed, chunk->len - chunk->consumed);
193 if (rc == HTP_STREAM_DATA) {
194 // The entire chunk was consumed
195 htp_list_shift(sd->outbound_chunks);
196 free(chunk->data);
197 free(chunk);
198 } else {
199 // Partial consumption
200 chunk->consumed = htp_connp_res_data_consumed(sd->connp);
201 }
202
203 // Whenever we send some outbound data to the parser,
204 // we need to go back and try to send inbound data
205 // if we have it.
206 loop = 1;
207 }
208 } while(loop);
209 }
210
211 /**
212 * Process a chunk of the connection stream.
213 *
214 * @param[in] sd
215 * @param[in] direction
216 * @param[in] hlf
217 */
218 void process_stream_data(stream_data *sd, int direction, struct half_stream *hlf) {
219 chunk_t *chunk = NULL;
220 int rc;
221
222 //printf("#DATA direction %d bytes %d\n", sd->direction, hlf->count_new);
223
224 if (sd->direction == direction) {
225 // Inbound data
226
227 switch(sd->connp->in_status) {
228 case HTP_STREAM_NEW :
229 case HTP_STREAM_DATA :
230 // Send data to parser
231
232 rc = htp_connp_req_data(sd->connp, 0, hlf->data, hlf->count_new);
233 if (rc == HTP_STREAM_DATA_OTHER) {
234 // Encountered inbound parsing block
235
236 // Store partial chunk for later
237 chunk = calloc(1, sizeof(chunk_t));
238 // TODO
239 chunk->len = hlf->count_new - htp_connp_req_data_consumed(sd->connp);
240 chunk->data = malloc(chunk->len);
241 // TODO
242 memcpy(chunk->data, hlf->data + htp_connp_req_data_consumed(sd->connp), chunk->len);
243 htp_list_add(sd->inbound_chunks, chunk);
244 } else
245 if (rc != HTP_STREAM_DATA) {
246 // Inbound parsing error
247 sd->log_level = 0;
248 fprintf(stderr, "[#%d] Inbound parsing error: %d\n", sd->id, rc);
249 // TODO Write connection to disk
250 }
251 break;
252
253 case HTP_STREAM_ERROR :
254 // Do nothing
255 break;
256
257 case HTP_STREAM_DATA_OTHER :
258 // Store data for later
259 chunk = calloc(1, sizeof(chunk_t));
260 // TODO
261 chunk->len = hlf->count_new;
262 chunk->data = malloc(chunk->len);
263 // TODO
264 memcpy(chunk->data, hlf->data, chunk->len);
265 htp_list_add(sd->inbound_chunks, chunk);
266 break;
267 }
268 } else {
269 // Outbound data
270 switch(sd->connp->out_status) {
271 case HTP_STREAM_NEW :
272 case HTP_STREAM_DATA :
273 // Send data to parser
274
275 rc = htp_connp_res_data(sd->connp, 0, hlf->data, hlf->count_new);
276 if (rc == HTP_STREAM_DATA_OTHER) {
277 // Encountered outbound parsing block
278
279 // Store partial chunk for later
280 chunk = calloc(1, sizeof(chunk_t));
281 // TODO
282 chunk->len = hlf->count_new - htp_connp_res_data_consumed(sd->connp);
283 chunk->data = malloc(chunk->len);
284 // TODO
285 memcpy(chunk->data, hlf->data + htp_connp_res_data_consumed(sd->connp), chunk->len);
286 htp_list_add(sd->outbound_chunks, chunk);
287 } else
288 if (rc != HTP_STREAM_DATA) {
289 // Outbound parsing error
290 sd->log_level = 0;
291 fprintf(stderr, "[#%d] Outbound parsing error: %d\n", sd->id, rc);
292 }
293 break;
294
295 case HTP_STREAM_ERROR :
296 // Do nothing
297 break;
298
299 case HTP_STREAM_DATA_OTHER :
300 // Store data for later
301 chunk = calloc(1, sizeof(chunk_t));
302 // TODO
303 chunk->len = hlf->count_new;
304 chunk->data = malloc(chunk->len);
305 // TODO
306 memcpy(chunk->data, hlf->data, chunk->len);
307 htp_list_add(sd->outbound_chunks, chunk);
308 break;
309 }
310 }
311
312 // Process as much stored data as possible
313 process_stored_stream_data(sd);
314 }
315
316 /**
317 * Called by libnids whenever it has an event we have to handle.
318 *
319 * @param[in] tcp
320 * @param[in] user_data
321 */
322 void tcp_callback (struct tcp_stream *tcp, void **user_data) {
323 stream_data *sd = *user_data;
324
325 // New connection
326 if (tcp->nids_state == NIDS_JUST_EST) {
327 tcp->client.collect++;
328 tcp->server.collect++;
329 tcp->server.collect_urg++;
330 tcp->client.collect_urg++;
331
332 // Allocate custom per-stream data
333 sd = calloc(1, sizeof(stream_data));
334 sd->id = counter++;
335 sd->direction = -1;
336 sd->fd = -1;
337 sd->log_level = -1;
338 sd->chunks = htp_list_array_create(16);
339 sd->inbound_chunks = htp_list_array_create(16);
340 sd->outbound_chunks = htp_list_array_create(16);
341 sd->req_count = 1;
342
343 // Init LibHTP parser
344 sd->connp = htp_connp_create(cfg);
345 if (sd->connp == NULL) {
346 fprintf(stderr, "Failed to create LibHTP parser instance.\n");
347 exit(1);
348 }
349
350 // Associate TCP stream information with the HTTP connection parser
351 htp_connp_set_user_data(sd->connp, sd);
352
353 // Associate TCP stream information with the libnids structures
354 *user_data = sd;
355
356 return;
357 }
358
359 // Connection close
360 if (tcp->nids_state == NIDS_CLOSE) {
361 if (sd == NULL) return;
362
363 // Destroy parser
364 htp_connp_destroy_all(sd->connp);
365
366 // Free custom per-stream data
367 free_stream_data(sd);
368
369 return;
370 }
371
372 // Connection close (RST)
373 if (tcp->nids_state == NIDS_RESET) {
374 if (sd == NULL) return;
375
376 // Destroy parser
377 htp_connp_destroy_all(sd->connp);
378
379 // Free custom per-stream data
380 free_stream_data(sd);
381
382 return;
383 }
384
385 if (tcp->nids_state == NIDS_DATA) {
386 struct half_stream *hlf;
387 int direction;
388
389 if (tcp->client.count_new) {
390 hlf = &tcp->client;
391 direction = DIRECTION_SERVER;
392 } else {
393 hlf = &tcp->server;
394 direction = DIRECTION_CLIENT;
395 }
396
397 if (sd == NULL) return;
398
399 if (sd->direction == -1) {
400 sd->direction = direction;
401 }
402
403 // Write data to disk or store for later
404 if (sd->fd == -1) {
405 // Store data, as we may need it later
406 chunk_t *chunk = calloc(1, sizeof(chunk_t));
407 // TODO
408 chunk->direction = direction;
409 chunk->data = malloc(hlf->count_new);
410 // TODO
411 chunk->len = hlf->count_new;
412 memcpy(chunk->data, hlf->data, chunk->len);
413
414 htp_list_add(sd->chunks, chunk);
415 } else {
416 // No need to store, write directly to file
417
418 if (sd->chunk_counter != 0) {
419 write(sd->fd, "\r\n", 2);
420 }
421
422 if (sd->direction == direction) {
423 write(sd->fd, ">>>\r\n", 5);
424 } else {
425 write(sd->fd, "<<<\r\n", 5);
426 }
427
428 write(sd->fd, hlf->data, hlf->count_new);
429
430 sd->chunk_counter++;
431 }
432
433 // Process data
434 process_stream_data(sd, direction, hlf);
435
436 return;
437 }
438 }
439
440 /**
441 * Invoked at the end of every transaction.
442 *
443 * @param[in] connp
444 */
445 int callback_response(htp_connp_t *connp) {
446 stream_data *sd = (stream_data *)htp_connp_get_user_data(connp);
447
448 char *x = bstr_util_strdup_to_c(connp->out_tx->request_line);
449 fprintf(stdout, "[#%d/%d] %s\n", sd->id, sd->req_count, x);
450 free(x);
451
452 sd->req_count++;
453 }
454
455 /**
456 * Invoked every time LibHTP wants to log.
457 *
458 * @param[in] log
459 */
460 int callback_log(htp_log_t *log) {
461 stream_data *sd = (stream_data *)htp_connp_get_user_data(log->connp);
462
463 if ((sd->log_level == -1)||(sd->log_level > log->level)) {
464 sd->log_level = log->level;
465 }
466
467 if (log->code != 0) {
468 fprintf(stderr, "[#%d/%d][%d][code %d][file %s][line %d] %s\n", sd->id, sd->req_count,
469 log->level, log->code, log->file, log->line, log->msg);
470 } else {
471 fprintf(stderr, "[#%d/%d][%d][file %s][line %d] %s\n", sd->id, sd->req_count,
472 log->level, log->file, log->line, log->msg);
473 }
474
475 // If this is the first time a log message was generated for this connection,
476 // start writing the entire thing to a file on disk.
477 if (sd->fd == -1) {
478 char filename[256];
479
480 // TODO Use IP addresses and ports in filename
481 snprintf(filename, 255, "conn-%d.t", sd->id);
482
483 sd->fd = open(filename, O_CREAT | O_TRUNC | O_RDWR, S_IRUSR | S_IWUSR);
484 if (sd->fd == -1) {
485 fprintf(stderr, "Failed to create file %s: %s\n", filename, strerror(errno));
486 exit(1);
487 }
488
489 // Write to disk the data we have in memory
490 for (int i = 0, n = htp_list_size(sd->chunks); i < n; i++) {
491 chunk_t *chunk = htp_list_get(sd->chunks, i);
492
493 if (sd->chunk_counter != 0) {
494 write(sd->fd, "\r\n", 2);
495 }
496
497 if (sd->direction == chunk->direction) {
498 write(sd->fd, ">>>\r\n", 5);
499 } else {
500 write(sd->fd, "<<<\r\n", 5);
501 }
502
503 write(sd->fd, chunk->data, chunk->len);
504
505 sd->chunk_counter++;
506 }
507 }
508 }
509
510 /**
511 * Prints usage.
512 */
513 void print_usage() {
514 fprintf(stdout, "Usage: htpMon [-r file] [\"expression\"]\n");
515 }
516
517 /**
518 * Main entry point for this program.
519 *
520 * @param[in] argc
521 * @param[in] argv
522 */
523 int main(int argc, char *argv[]) {
524 // Check parameters
525 if ((argc < 2)||(argc > 4)) {
526 print_usage();
527 return 1;
528 }
529
530 // Configure libnids
531 if (argc > 2) {
532 if (strcmp(argv[1], "-r") != 0) {
533 print_usage();
534 return 1;
535 }
536
537 nids_params.filename = argv[2];
538
539 if (argc == 4) {
540 nids_params.pcap_filter = argv[3];
541 }
542 } else {
543 nids_params.pcap_filter = argv[1];
544 }
545
546 // Initialize libnids
547 if (!nids_init()) {
548 fprintf(stderr, "libnids initialization failed: %s\n", nids_errbuf);
549 return 1;
550 }
551
552 // Create LibHTP configuration
553 cfg = htp_config_create();
554 htp_config_set_server_personality(cfg, HTP_SERVER_APACHE_2_2);
555
556 htp_config_register_response_complete(cfg, callback_response);
557 htp_config_register_log(cfg, callback_log);
558
559 // Run libnids
560 nids_register_tcp(tcp_callback);
561 nids_run();
562
563 // Destroy LibHTP configuration
564 htp_config_destroy(cfg);
565
566 return 0;
567 }
568
+0
-1008
extras/ruby/HTP.c less more
0 /***************************************************************************
1 * Copyright (c) 2009-2010 Open Information Security Foundation
2 * Copyright (c) 2010-2013 Qualys, Inc.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met:
8 *
9 * - Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11
12 * - Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15
16 * - Neither the name of the Qualys, Inc. nor the names of its
17 * contributors may be used to endorse or promote products derived from
18 * this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 ***************************************************************************/
32
33 /**
34 * @author Christopher Alfeld <calfeld@qualys.com>
35 */
36
37 #include <ruby.h>
38 #include <htp/htp.h>
39
40 /* Status
41 * Complete: Tx, Header, HeaderLine, URI, all numeric constants.
42 * Incomplete: Cfg, Connp
43 * Missing completely: file, file_data, log, tx_data (probably not needed)
44 */
45
46 // Debug
47 #ifdef RBHTP_DBEUG
48 #include <stdio.h>
49 #define P( value ) { VALUE inspect = rb_funcall( value, rb_intern( "inspect" ), 0 ); printf("%s\n",StringValueCStr(inspect)); }
50 #else
51 #define P( value )
52 #endif
53
54 static VALUE mHTP;
55 static VALUE cCfg;
56 static VALUE cConnp;
57 static VALUE cTx;
58 static VALUE cHeader;
59 static VALUE cHeaderLine;
60 static VALUE cURI;
61 static VALUE cFile;
62 static VALUE cConn;
63
64 #define BSTR_TO_RSTR( B ) ( rb_str_new( bstr_ptr( B ), bstr_len( B ) ) )
65
66 // Accessor Helpers
67 #define RBHTP_R_INT( T, N ) \
68 VALUE rbhtp_ ## T ## _ ## N( VALUE self ) \
69 { \
70 htp_ ## T ## _t* x = NULL; \
71 Data_Get_Struct( rb_iv_get( self, "@" #T ), htp_ ## T ## _t, x ); \
72 return INT2FIX( x->N ); \
73 }
74
75 #define RBHTP_R_TV( T, N ) \
76 VALUE rbhtp_ ## T ## _ ## N( VALUE self ) \
77 { \
78 htp_ ## T ## _t* x = NULL; \
79 Data_Get_Struct( rb_iv_get( self, "@" #T ), htp_ ## T ## _t, x ); \
80 return rb_time_new( x->N.tv_sec, x->N.tv_usec ); \
81 }
82
83 #define RBHTP_R_CSTR( T, N ) \
84 VALUE rbhtp_ ## T ## _ ## N( VALUE self ) \
85 { \
86 htp_ ## T ## _t* x = NULL; \
87 Data_Get_Struct( rb_iv_get( self, "@" #T ), htp_ ## T ## _t, x ); \
88 if ( x->N == NULL ) return Qnil; \
89 return rb_str_new2( x->N ); \
90 }
91
92 #define RBHTP_W_INT( T, N ) \
93 VALUE rbhtp_## T ##_ ## N ## _set( VALUE self, VALUE v ) \
94 { \
95 Check_Type( v, T_FIXNUM ); \
96 htp_ ## T ## _t* x = NULL; \
97 Data_Get_Struct( rb_iv_get( self, "@" #T ), htp_ ## T ## _t, x ); \
98 x->N = FIX2INT( v ); \
99 return Qnil; \
100 }
101
102 #define RBHTP_RW_INT( T, N ) \
103 RBHTP_R_INT( T, N ) \
104 RBHTP_W_INT( T, N )
105
106 #define RBHTP_R_BOOL( T, N ) \
107 VALUE rbhtp_ ## T ## _ ## N( VALUE self ) \
108 { \
109 htp_ ## T ## _t* x = NULL; \
110 Data_Get_Struct( rb_iv_get( self, "@" #T ), htp_ ## T ## _t, x ); \
111 return x->N == 1 ? Qtrue : Qfalse; \
112 }
113
114 #define RBHTP_R_STRING( T, N ) \
115 VALUE rbhtp_ ## T ## _ ## N( VALUE self ) \
116 { \
117 htp_ ## T ## _t* x = NULL; \
118 Data_Get_Struct( rb_iv_get( self, "@" #T ), htp_ ## T ## _t, x ); \
119 if ( x->N == NULL ) \
120 return Qnil; \
121 return BSTR_TO_RSTR( x->N ); \
122 }
123
124 #define RBHTP_R_HTP( T, N, H ) \
125 VALUE rbhtp_ ## T ## _ ## N( VALUE self ) \
126 { \
127 htp_ ## T ## _t* x = NULL; \
128 Data_Get_Struct( rb_iv_get( self, "@" #T ), htp_ ## T ## _t, x ); \
129 if ( x->N == NULL ) \
130 return Qnil; \
131 return rb_funcall( H, rb_intern( "new" ), 1, \
132 Data_Wrap_Struct( rb_cObject, 0, 0, x->N ) ); \
133 }
134
135 #define RBHTP_R_URI( T, N ) RBHTP_R_HTP( T, N, cURI )
136
137 static VALUE rbhtp_r_string_table( htp_table_t* table )
138 {
139 if ( table == NULL ) return Qnil;
140
141 bstr *k, *v;
142 VALUE r = rb_ary_new();
143 for (int i = 0, n = htp_table_size(table); i < n; i++) {
144 v = htp_table_get_index(table, i, &k);
145 rb_ary_push( r, rb_ary_new3( 2,
146 BSTR_TO_RSTR( *k ), BSTR_TO_RSTR( *v ) ) );
147 }
148 return r;
149 }
150
151 #define RBHTP_R_STRING_TABLE( T, N ) \
152 VALUE rbhtp_ ## T ## _ ## N( VALUE self ) \
153 { \
154 htp_ ## T ## _t* x = NULL; \
155 Data_Get_Struct( rb_iv_get( self, "@" #T ), htp_ ## T ## _t, x ); \
156 return rbhtp_r_string_table( x->N ); \
157 }
158
159 // We don't push the keys as they are duplicated in the header.
160 static VALUE rbhtp_r_header_table( htp_table_t* table )
161 {
162 if ( table == NULL ) return Qnil;
163 htp_header_t* v;
164 VALUE r = rb_ary_new();
165
166 for (int i = 0, n = htp_table_size(table); i < n; i++) {
167 v = htp_table_get_index(table, i, NULL);
168 rb_ary_push( r,
169 rb_funcall( cHeader, rb_intern( "new" ), 1,
170 Data_Wrap_Struct( rb_cObject, 0, 0, v ) ) );
171 }
172
173 return r;
174 }
175
176 #define RBHTP_R_HEADER_TABLE( T, N ) \
177 VALUE rbhtp_ ## T ## _ ## N( VALUE self ) \
178 { \
179 htp_ ## T ## _t* x = NULL; \
180 Data_Get_Struct( rb_iv_get( self, "@" #T ), htp_ ## T ## _t, x ); \
181 return rbhtp_r_header_table( x->N ); \
182 }
183
184 static VALUE rbhtp_r_header_line_list( htp_list_t* list )
185 {
186 if ( list == NULL ) return Qnil;
187 VALUE r = rb_ary_new();
188 for (int i = 0, n = htp_list_size(list); i < n; i++) {
189 htp_header_line_t *v = htp_list_get(list, i);
190
191 rb_ary_push( r,
192 rb_funcall( cHeaderLine, rb_intern( "new" ), 1,
193 Data_Wrap_Struct( rb_cObject, 0, 0, v ) ) );
194 }
195 return r;
196 }
197
198 #define RBHTP_R_HEADER_LINE_LIST( T, N ) \
199 VALUE rbhtp_ ## T ## _ ## N( VALUE self ) \
200 { \
201 htp_ ## T ## _t* x = NULL; \
202 Data_Get_Struct( rb_iv_get( self, "@" #T ), htp_ ## T ## _t, x ); \
203 return rbhtp_r_header_line_list( x->N ); \
204 }
205
206 // This function is only needed when we malloc the URI ourselves.
207 void rbhtp_free_uri( void* p )
208 {
209 htp_uri_t* uri = (htp_uri_t*)p;
210 free( uri );
211 }
212
213 //---- HTP ---
214 VALUE rbhtp_get_version( VALUE self )
215 {
216 return rb_str_new2( htp_get_version() );
217 }
218
219 // We return a HTP::URI and throw an exception on error.
220 VALUE rbhtp_parse_uri( VALUE self, VALUE input )
221 {
222 Check_Type( input, T_STRING );
223 bstr* input_b = bstr_dup_mem( RSTRING_PTR( input ), RSTRING_LEN( input ) );
224 htp_uri_t* uri = NULL; // htp_parse_uri will alloc.
225
226 int result = htp_parse_uri( input_b, &uri );
227 if ( result != HTP_OK ) {
228 bstr_free( input_b );
229 free( uri );
230 rb_raise( rb_eRuntimeError, "HTP error in htp_parse_uri: %d", result );
231 return Qnil; // Ignored?
232 }
233
234 bstr_free( input_b ); // Okay, as htp_parse_uri dups the data it needs.
235
236 return rb_funcall( cURI, rb_intern( "new" ), 1,
237 Data_Wrap_Struct( rb_cObject, 0, rbhtp_free_uri, uri )
238 );
239 }
240
241 //---- Cfg ----
242
243 // Terminate list with "".
244 static char* const rbhtp_config_pvars[] = {
245 "@request_proc",
246 "@request_proc",
247 "@transaction_start",
248 "@request_line",
249 "@request_headers",
250 "@request_trailer",
251 "@response_line",
252 "@response_headers",
253 "@response_trailers",
254 ""
255 };
256
257 void rbhtp_config_free( void* p )
258 {
259 htp_cfg_t* cfg = (htp_cfg_t*)p;
260 htp_config_destroy( cfg );
261 }
262
263 VALUE rbhtp_config_initialize( VALUE self )
264 {
265 char* const* v = &rbhtp_config_pvars[0];
266 while ( *v[0] != '\0' ) {
267 rb_iv_set( self, *v, Qnil );
268 ++v;
269 }
270
271 htp_cfg_t* cfg = htp_config_create();
272
273 rb_iv_set( self, "@cfg",
274 Data_Wrap_Struct( rb_cObject, 0, rbhtp_config_free, cfg )
275 );
276
277 return Qnil;
278 }
279
280 VALUE rbhtp_config_copy( VALUE self )
281 {
282 // We create one too many copies here.
283 VALUE new_config = rb_funcall( cCfg, rb_intern( "new" ), 0 );
284 htp_cfg_t* cfg = NULL;
285 Data_Get_Struct( rb_iv_get( self, "@cfg" ), htp_cfg_t, cfg );
286
287 // Note that the existing new_config @cfg will be garbage collected as a
288 // result of this set.
289
290 rb_iv_set( new_config, "@cfg",
291 Data_Wrap_Struct( rb_cObject, 0, rbhtp_config_free,
292 htp_config_copy( cfg ) ) );
293
294 // Now copy over all our callbacks.
295 char* const* v = &rbhtp_config_pvars[0];
296 while ( *v[0] != '\0' ) {
297 rb_iv_set( new_config, *v, rb_iv_get( self, *v ) );
298 ++v;
299 }
300
301 return new_config;
302 }
303
304 VALUE rbhtp_config_set_server_personality( VALUE self, VALUE personality )
305 {
306 Check_Type( personality, T_FIXNUM );
307
308 htp_cfg_t* cfg = NULL;
309 Data_Get_Struct( rb_iv_get( self, "@cfg" ), htp_cfg_t, cfg );
310
311 return INT2FIX(
312 htp_config_set_server_personality( cfg, FIX2INT( personality ) )
313 );
314 }
315
316 VALUE rbhtp_config_register_urlencoded_parser( VALUE self )
317 {
318 htp_cfg_t* cfg = NULL;
319 Data_Get_Struct( rb_iv_get( self, "@cfg" ), htp_cfg_t, cfg );
320
321 htp_config_register_urlencoded_parser( cfg );
322
323 return Qnil;
324 }
325
326 #define RBHTP_CALLBACK_SUB( N ) \
327 VALUE rbhtp_config_register_ ## N( VALUE self ) \
328 { \
329 if ( ! rb_block_given_p() ) { \
330 rb_raise( rb_eArgError, "A block is required." ); \
331 return Qnil; \
332 } \
333 VALUE proc = rb_iv_get( self, "@" #N "_proc" ); \
334 if ( proc == Qnil ) { \
335 htp_cfg_t* cfg = NULL; \
336 Data_Get_Struct( rb_iv_get( self, "@cfg" ), htp_cfg_t, cfg ); \
337 htp_config_register_## N( cfg, rbhtp_config_callback_ ## N ); \
338 } \
339 rb_iv_set( self, "@" #N "_proc", rb_block_proc() ); \
340 return self; \
341 }
342
343 #define RBHTP_CONNP_CALLBACK( N ) \
344 int rbhtp_config_callback_ ## N( htp_connp_t* connp ) \
345 { \
346 VALUE userdata = (VALUE)htp_connp_get_user_data( connp ); \
347 VALUE config = rb_iv_get( userdata, "@cfg" ); \
348 VALUE proc = rb_iv_get( config, "@" #N "_proc" ); \
349 if ( proc != Qnil ) { \
350 return INT2FIX( \
351 rb_funcall( proc, rb_intern( "call" ), 1, userdata ) \
352 ); \
353 } \
354 return 1; \
355 } \
356 RBHTP_CALLBACK_SUB( N )
357
358 // Tx data is a tx and a data block. For *_body_data callbacks we pass
359 // in the tx as first argument and the data as a string as the second argument.
360 #define RBHTP_TXDATA_CALLBACK( N ) \
361 int rbhtp_config_callback_ ##N( htp_tx_data_t* txdata ) \
362 { \
363 htp_connp_t* connp = txdata->tx->connp; \
364 VALUE userdata = (VALUE)htp_connp_get_user_data( connp ); \
365 VALUE config = rb_iv_get( userdata, "@cfg" ); \
366 VALUE proc = rb_iv_get( config, "@" #N "_proc" ); \
367 if ( proc != Qnil ) { \
368 VALUE data = Qnil; \
369 if ( txdata->data ) \
370 data = rb_str_new( (char*)txdata->data, txdata->len ); \
371 return INT2FIX( \
372 rb_funcall( proc, rb_intern( "call" ), 2, \
373 rb_funcall( cTx, rb_intern( "new" ), 3, \
374 Data_Wrap_Struct( rb_cObject, 0, 0, txdata->tx ), \
375 config, \
376 userdata \
377 ), \
378 data \
379 ) \
380 ); \
381 } \
382 return 1; \
383 } \
384 RBHTP_CALLBACK_SUB( N )
385
386
387 RBHTP_CONNP_CALLBACK( request )
388 RBHTP_CONNP_CALLBACK( response )
389 RBHTP_CONNP_CALLBACK( transaction_start )
390 RBHTP_CONNP_CALLBACK( request_line )
391 RBHTP_CONNP_CALLBACK( request_headers )
392 RBHTP_CONNP_CALLBACK( request_trailer )
393 RBHTP_CONNP_CALLBACK( response_line )
394 RBHTP_CONNP_CALLBACK( response_headers )
395 RBHTP_CONNP_CALLBACK( response_trailer )
396
397 RBHTP_TXDATA_CALLBACK( request_body_data )
398 RBHTP_TXDATA_CALLBACK( response_body_data )
399
400 RBHTP_R_INT( cfg, spersonality )
401 RBHTP_RW_INT( cfg, parse_request_cookies )
402
403 // File data is a tx, file information, and file data. The callback thus
404 // takes those three as arguments.
405 int rbhtp_config_callback_request_file_data( htp_file_data_t* filedata )
406 {
407 htp_connp_t* connp = filedata->tx->connp;
408 VALUE userdata = (VALUE)htp_connp_get_user_data( connp );
409 VALUE config = rb_iv_get( userdata, "@cfg" );
410 VALUE proc = rb_iv_get( config, "@request_file_data_proc" );
411 if ( proc != Qnil ) {
412 VALUE data = Qnil;
413 if ( filedata->data )
414 data = rb_str_new( (char*)filedata->data, filedata->len );
415 return INT2FIX(
416 rb_funcall( proc, rb_intern( "call" ), 2,
417 rb_funcall( cTx, rb_intern( "new" ), 1,
418 Data_Wrap_Struct( rb_cObject, 0, 0, filedata->tx )
419 ),
420 rb_funcall( cFile, rb_intern( "new" ), 1,
421 Data_Wrap_Struct( rb_cObject, 0, 0, filedata->file )
422 ),
423 data
424 )
425 );
426 }
427 return 1;
428 }
429 RBHTP_CALLBACK_SUB( request_file_data )
430
431 //---- Connp ----
432
433 void rbhtp_connp_free( void* p )
434 {
435 htp_connp_t* connp = (htp_connp_t*)p;
436 if ( connp )
437 htp_connp_destroy_all( connp );
438 }
439
440 VALUE rbhtp_connp_initialize( VALUE self, VALUE config )
441 {
442 rb_iv_set( self, "@cfg", config );
443
444 htp_cfg_t* cfg = NULL;
445 Data_Get_Struct( rb_iv_get( config, "@cfg" ), htp_cfg_t, cfg );
446
447 htp_connp_t* connp = htp_connp_create( cfg );
448 htp_connp_set_user_data( connp, (void*)self );
449 rb_iv_set( self, "@connp",
450 Data_Wrap_Struct( rb_cObject, 0, rbhtp_connp_free, connp )
451 );
452
453 return Qnil;
454 }
455
456 VALUE rbhtp_connp_req_data( VALUE self, VALUE timestamp, VALUE data )
457 {
458 if ( strncmp( "Time", rb_class2name( CLASS_OF( timestamp ) ), 4 ) != 0 ) {
459 rb_raise( rb_eTypeError, "First argument must be a Time." );
460 return Qnil;
461 }
462
463 StringValue( data ); // try to make data a string.
464 Check_Type( data, T_STRING );
465
466 size_t len = RSTRING_LEN( data );
467 char* data_c = RSTRING_PTR( data );
468
469 htp_time_t timestamp_c;
470 timestamp_c.tv_sec =
471 FIX2INT( rb_funcall( timestamp, rb_intern( "tv_sec" ), 0 ) );
472 timestamp_c.tv_usec =
473 FIX2INT( rb_funcall( timestamp, rb_intern( "tv_usec" ), 0 ) );
474
475 VALUE connp_r = rb_iv_get( self, "@connp" );
476 htp_connp_t* connp = NULL;
477 Data_Get_Struct( connp_r, htp_connp_t, connp );
478
479 int result =
480 htp_connp_req_data( connp, &timestamp_c, (unsigned char*)data_c, len );
481
482 return INT2FIX( result );
483 }
484
485 VALUE rbhtp_connp_in_tx( VALUE self )
486 {
487 VALUE connp_r = rb_iv_get( self, "@connp" );
488 VALUE config = rb_iv_get( self, "@cfg" );
489 htp_connp_t* connp = NULL;
490 Data_Get_Struct( connp_r, htp_connp_t, connp );
491
492 if ( connp->in_tx == NULL )
493 return Qnil;
494
495 return rb_funcall( cTx, rb_intern( "new" ), 3,
496 Data_Wrap_Struct( rb_cObject, 0, 0, connp->in_tx ),
497 config,
498 self
499 );
500 }
501
502 VALUE rbhtp_connp_conn( VALUE self )
503 {
504 htp_connp_t* connp = NULL;
505 Data_Get_Struct( rb_iv_get( self, "@connp" ), htp_connp_t, connp );
506 if ( connp->conn == NULL )
507 return Qnil;
508 return rb_funcall( cConn, rb_intern( "new" ), 2,
509 Data_Wrap_Struct( rb_cObject, 0, 0, connp->conn ),
510 self
511 );
512 }
513
514 // Unlike Connp and Cfg, these are just wrapper. The lifetime of the
515 // underlying objects are bound to the Connp.
516
517 //---- Header ----
518 VALUE rbhtp_header_initialize( VALUE self, VALUE raw_header )
519 {
520 rb_iv_set( self, "@header", raw_header );
521 return Qnil;
522 }
523
524 RBHTP_R_STRING( header, name );
525 RBHTP_R_STRING( header, value );
526 RBHTP_R_INT( header, flags );
527
528 // ---- Header Line ----
529 VALUE rbhtp_header_line_initialize( VALUE self, VALUE raw_header_line )
530 {
531 rb_iv_set( self, "@header_line", raw_header_line );
532 return Qnil;
533 }
534
535 VALUE rbhtp_header_line_header( VALUE self )
536 {
537 htp_header_line_t* hline = NULL;
538 Data_Get_Struct( rb_iv_get( self, "@header_line" ), htp_header_line_t, hline );
539
540 if ( hline->header == NULL )
541 return Qnil;
542
543 return rb_funcall( cHeader, rb_intern( "new" ), 1,
544 Data_Wrap_Struct( rb_cObject, 0, 0, hline->header )
545 );
546 }
547
548 RBHTP_R_STRING( header_line, line );
549 RBHTP_R_INT( header_line, name_offset );
550 RBHTP_R_INT( header_line, name_len );
551 RBHTP_R_INT( header_line, value_offset );
552 RBHTP_R_INT( header_line, value_len );
553 RBHTP_R_INT( header_line, has_nulls );
554 RBHTP_R_INT( header_line, first_nul_offset );
555 RBHTP_R_INT( header_line, flags );
556
557 // ---- URI ----
558 VALUE rbhtp_uri_initialize( VALUE self, VALUE raw_uri )
559 {
560 rb_iv_set( self, "@uri", raw_uri );
561 return Qnil;
562 }
563
564 RBHTP_R_STRING( uri, scheme );
565 RBHTP_R_STRING( uri, username );
566 RBHTP_R_STRING( uri, password );
567 RBHTP_R_STRING( uri, hostname );
568 RBHTP_R_STRING( uri, port );
569 RBHTP_R_INT( uri, port_number );
570 RBHTP_R_STRING( uri, path );
571 RBHTP_R_STRING( uri, query );
572 RBHTP_R_STRING( uri, fragment );
573
574 //---- Tx ----
575
576 VALUE rbhtp_tx_initialize(
577 VALUE self,
578 VALUE raw_txn,
579 VALUE cfg,
580 VALUE connp )
581 {
582 rb_iv_set( self, "@tx", raw_txn );
583 rb_iv_set( self, "@cfg", cfg );
584 rb_iv_set( self, "@connp", connp );
585
586 return Qnil;
587 }
588
589 RBHTP_R_INT( tx, request_ignored_lines )
590 RBHTP_R_INT( tx, request_line_nul )
591 RBHTP_R_INT( tx, request_line_nul_offset )
592 RBHTP_R_INT( tx, request_method_number )
593 RBHTP_R_INT( tx, request_protocol_number )
594 RBHTP_R_INT( tx, protocol_is_simple )
595 RBHTP_R_INT( tx, request_message_len )
596 RBHTP_R_INT( tx, request_entity_len )
597 RBHTP_R_INT( tx, request_nonfiledata_len )
598 RBHTP_R_INT( tx, request_filedata_len )
599 RBHTP_R_INT( tx, request_header_lines_no_trailers )
600 RBHTP_R_INT( tx, request_headers_raw_lines )
601 RBHTP_R_INT( tx, request_transfer_coding )
602 RBHTP_R_INT( tx, request_content_encoding )
603 RBHTP_R_INT( tx, request_params_query_reused )
604 RBHTP_R_INT( tx, request_params_body_reused )
605 RBHTP_R_INT( tx, request_auth_type )
606 RBHTP_R_INT( tx, response_ignored_lines )
607 RBHTP_R_INT( tx, response_protocol_number )
608 RBHTP_R_INT( tx, response_status_number )
609 RBHTP_R_INT( tx, response_status_expected_number )
610 RBHTP_R_INT( tx, seen_100continue )
611 RBHTP_R_INT( tx, response_message_len )
612 RBHTP_R_INT( tx, response_entity_len )
613 RBHTP_R_INT( tx, response_transfer_coding )
614 RBHTP_R_INT( tx, response_content_encoding )
615 RBHTP_R_INT( tx, flags )
616 RBHTP_R_INT( tx, progress )
617
618 RBHTP_R_STRING( tx, request_method )
619 RBHTP_R_STRING( tx, request_line )
620 RBHTP_R_STRING( tx, request_uri )
621 RBHTP_R_STRING( tx, request_uri_normalized )
622 RBHTP_R_STRING( tx, request_protocol )
623 RBHTP_R_STRING( tx, request_headers_raw )
624 RBHTP_R_STRING( tx, request_headers_sep )
625 RBHTP_R_STRING( tx, request_content_type )
626 RBHTP_R_STRING( tx, request_auth_username )
627 RBHTP_R_STRING( tx, request_auth_password )
628 RBHTP_R_STRING( tx, response_line )
629 RBHTP_R_STRING( tx, response_protocol )
630 RBHTP_R_STRING( tx, response_status )
631 RBHTP_R_STRING( tx, response_message )
632 RBHTP_R_STRING( tx, response_headers_sep )
633
634 RBHTP_R_STRING_TABLE( tx, request_params_query )
635 RBHTP_R_STRING_TABLE( tx, request_params_body )
636 RBHTP_R_STRING_TABLE( tx, request_cookies )
637 RBHTP_R_HEADER_TABLE( tx, request_headers )
638 RBHTP_R_HEADER_TABLE( tx, response_headers )
639
640 RBHTP_R_HEADER_LINE_LIST( tx, request_header_lines );
641 RBHTP_R_HEADER_LINE_LIST( tx, response_header_lines );
642
643 RBHTP_R_URI( tx, parsed_uri )
644 RBHTP_R_URI( tx, parsed_uri_incomplete )
645
646 VALUE rbhtp_tx_conn( VALUE self )
647 {
648 htp_tx_t* tx = NULL;
649 Data_Get_Struct( rb_iv_get( self, "@tx" ), htp_tx_t, tx );
650 if ( tx->conn == NULL )
651 return Qnil;
652 return rb_funcall( cConn, rb_intern( "new" ), 2,
653 Data_Wrap_Struct( rb_cObject, 0, 0, tx->conn ),
654 rb_iv_get( self, "@connp" )
655 );
656 }
657
658 // ---- File ----
659 VALUE rbhtp_file_initialize( VALUE self, VALUE raw_file )
660 {
661 rb_iv_set( self, "@file", raw_file );
662 return Qnil;
663 }
664
665 RBHTP_R_INT( file, source )
666 RBHTP_R_STRING( file, filename )
667 RBHTP_R_INT( file, len )
668 RBHTP_R_CSTR( file, tmpname )
669 RBHTP_R_INT( file, fd )
670
671 // ---- Conn ----
672 VALUE rbhtp_conn_initialize( VALUE self, VALUE raw_conn, VALUE connp )
673 {
674 rb_iv_set( self, "@conn", raw_conn );
675 rb_iv_set( self, "@connp", connp );
676 return Qnil;
677 }
678
679 RBHTP_R_CSTR( conn, remote_addr )
680 RBHTP_R_INT( conn, remote_port )
681 RBHTP_R_CSTR( conn, local_addr )
682 RBHTP_R_INT( conn, local_port )
683 RBHTP_R_INT( conn, flags )
684 RBHTP_R_INT( conn, in_data_counter )
685 RBHTP_R_INT( conn, out_data_counter )
686 RBHTP_R_INT( conn, in_packet_counter )
687 RBHTP_R_INT( conn, out_packet_counter )
688 RBHTP_R_TV( conn, open_timestamp )
689 RBHTP_R_TV( conn, close_timestamp )
690
691 VALUE rbhtp_conn_transactions( VALUE self )
692 {
693 htp_conn_t* conn = NULL;
694 Data_Get_Struct( rb_iv_get( self, "@conn" ), htp_conn_t, conn );
695
696 if ( conn->transactions == NULL ) return Qnil;
697
698 VALUE connp = rb_iv_get( self, "@connp" );
699 VALUE cfg = rb_iv_get( connp, "@cfg" );
700
701 VALUE r = rb_ary_new();
702
703 for (int i = 0, n = htp_list_size(conn->transactions); i < n; i++) {
704 htp_tx_t *v = htp_list_get(conn->transactions, i);
705
706 rb_ary_push( r,
707 rb_funcall( cTx, rb_intern( "new" ), 3,
708 Data_Wrap_Struct( rb_cObject, 0, 0, v ),
709 cfg,
710 connp
711 )
712 );
713 }
714 return r;
715 }
716
717 //---- Init ----
718 void Init_htp( void )
719 {
720 mHTP = rb_define_module( "HTP" );
721
722 rb_define_singleton_method( mHTP, "get_version", rbhtp_get_version, 0 );
723 rb_define_singleton_method( mHTP, "parse_uri", rbhtp_parse_uri, 1 );
724
725 // All numeric constants from htp.h.
726 rb_define_const( mHTP, "HTP_ERROR", INT2FIX( HTP_ERROR ) );
727 rb_define_const( mHTP, "HTP_OK", INT2FIX( HTP_OK ) );
728 rb_define_const( mHTP, "HTP_DATA", INT2FIX( HTP_DATA ) );
729 rb_define_const( mHTP, "HTP_DATA_OTHER", INT2FIX( HTP_DATA_OTHER ) );
730 rb_define_const( mHTP, "HTP_DECLINED", INT2FIX( HTP_DECLINED ) );
731 rb_define_const( mHTP, "PROTOCOL_UNKNOWN", INT2FIX( HTP_PROTOCOL_UNKNOWN ) );
732 rb_define_const( mHTP, "HTTP_0_9", INT2FIX( HTP_PROTOCOL_0_9 ) );
733 rb_define_const( mHTP, "HTTP_1_0", INT2FIX( HTP_PROTOCOL_1_0 ) );
734 rb_define_const( mHTP, "HTTP_1_1", INT2FIX( HTP_PROTOCOL_1_1 ) );
735 rb_define_const( mHTP, "HTP_LOG_ERROR", INT2FIX( HTP_LOG_ERROR ) );
736 rb_define_const( mHTP, "HTP_LOG_WARNING", INT2FIX( HTP_LOG_WARNING ) );
737 rb_define_const( mHTP, "HTP_LOG_NOTICE", INT2FIX( HTP_LOG_NOTICE ) );
738 rb_define_const( mHTP, "HTP_LOG_INFO", INT2FIX( HTP_LOG_INFO ) );
739 rb_define_const( mHTP, "HTP_LOG_DEBUG", INT2FIX( HTP_LOG_DEBUG ) );
740 rb_define_const( mHTP, "HTP_LOG_DEBUG2", INT2FIX( HTP_LOG_DEBUG2 ) );
741 rb_define_const( mHTP, "HTP_HEADER_MISSING_COLON", INT2FIX( HTP_HEADER_MISSING_COLON ) );
742 rb_define_const( mHTP, "HTP_HEADER_INVALID_NAME", INT2FIX( HTP_HEADER_INVALID_NAME ) );
743 rb_define_const( mHTP, "HTP_HEADER_LWS_AFTER_FIELD_NAME", INT2FIX( HTP_HEADER_LWS_AFTER_FIELD_NAME ) );
744 rb_define_const( mHTP, "HTP_LINE_TOO_LONG_HARD", INT2FIX( HTP_LINE_TOO_LONG_HARD ) );
745 rb_define_const( mHTP, "HTP_LINE_TOO_LONG_SOFT", INT2FIX( HTP_LINE_TOO_LONG_SOFT ) );
746 rb_define_const( mHTP, "HTP_HEADER_LIMIT_HARD", INT2FIX( HTP_HEADER_LIMIT_HARD ) );
747 rb_define_const( mHTP, "HTP_HEADER_LIMIT_SOFT", INT2FIX( HTP_HEADER_LIMIT_SOFT ) );
748 rb_define_const( mHTP, "HTP_VALID_STATUS_MIN", INT2FIX( HTP_VALID_STATUS_MIN ) );
749 rb_define_const( mHTP, "HTP_VALID_STATUS_MAX", INT2FIX( HTP_VALID_STATUS_MAX ) );
750 rb_define_const( mHTP, "M_UNKNOWN", INT2FIX( M_UNKNOWN ) );
751 rb_define_const( mHTP, "M_GET", INT2FIX( M_GET ) );
752 rb_define_const( mHTP, "M_PUT", INT2FIX( M_PUT ) );
753 rb_define_const( mHTP, "M_POST", INT2FIX( M_POST ) );
754 rb_define_const( mHTP, "M_DELETE", INT2FIX( M_DELETE ) );
755 rb_define_const( mHTP, "M_CONNECT", INT2FIX( M_CONNECT ) );
756 rb_define_const( mHTP, "M_OPTIONS", INT2FIX( M_OPTIONS ) );
757 rb_define_const( mHTP, "M_TRACE", INT2FIX( M_TRACE ) );
758 rb_define_const( mHTP, "M_PATCH", INT2FIX( M_PATCH ) );
759 rb_define_const( mHTP, "M_PROPFIND", INT2FIX( M_PROPFIND ) );
760 rb_define_const( mHTP, "M_PROPPATCH", INT2FIX( M_PROPPATCH ) );
761 rb_define_const( mHTP, "M_MKCOL", INT2FIX( M_MKCOL ) );
762 rb_define_const( mHTP, "M_COPY", INT2FIX( M_COPY ) );
763 rb_define_const( mHTP, "M_MOVE", INT2FIX( M_MOVE ) );
764 rb_define_const( mHTP, "M_LOCK", INT2FIX( M_LOCK ) );
765 rb_define_const( mHTP, "M_UNLOCK", INT2FIX( M_UNLOCK ) );
766 rb_define_const( mHTP, "M_VERSION_CONTROL", INT2FIX( M_VERSION_CONTROL ) );
767 rb_define_const( mHTP, "M_CHECKOUT", INT2FIX( M_CHECKOUT ) );
768 rb_define_const( mHTP, "M_UNCHECKOUT", INT2FIX( M_UNCHECKOUT ) );
769 rb_define_const( mHTP, "M_CHECKIN", INT2FIX( M_CHECKIN ) );
770 rb_define_const( mHTP, "M_UPDATE", INT2FIX( M_UPDATE ) );
771 rb_define_const( mHTP, "M_LABEL", INT2FIX( M_LABEL ) );
772 rb_define_const( mHTP, "M_REPORT", INT2FIX( M_REPORT ) );
773 rb_define_const( mHTP, "M_MKWORKSPACE", INT2FIX( M_MKWORKSPACE ) );
774 rb_define_const( mHTP, "M_MKACTIVITY", INT2FIX( M_MKACTIVITY ) );
775 rb_define_const( mHTP, "M_BASELINE_CONTROL", INT2FIX( M_BASELINE_CONTROL ) );
776 rb_define_const( mHTP, "M_MERGE", INT2FIX( M_MERGE ) );
777 rb_define_const( mHTP, "M_INVALID", INT2FIX( M_INVALID ) );
778 rb_define_const( mHTP, "M_HEAD", INT2FIX( HTP_M_HEAD ) );
779 rb_define_const( mHTP, "HTP_FIELD_UNPARSEABLE", INT2FIX( HTP_FIELD_UNPARSEABLE ) );
780 rb_define_const( mHTP, "HTP_FIELD_INVALID", INT2FIX( HTP_FIELD_INVALID ) );
781 rb_define_const( mHTP, "HTP_FIELD_FOLDED", INT2FIX( HTP_FIELD_FOLDED ) );
782 rb_define_const( mHTP, "HTP_FIELD_REPEATED", INT2FIX( HTP_FIELD_REPEATED ) );
783 rb_define_const( mHTP, "HTP_FIELD_LONG", INT2FIX( HTP_FIELD_LONG ) );
784 rb_define_const( mHTP, "HTP_FIELD_NUL_BYTE", INT2FIX( HTP_FIELD_RAW_NUL ) );
785 rb_define_const( mHTP, "HTP_REQUEST_SMUGGLING", INT2FIX( HTP_REQUEST_SMUGGLING ) );
786 rb_define_const( mHTP, "HTP_INVALID_FOLDING", INT2FIX( HTP_INVALID_FOLDING ) );
787 rb_define_const( mHTP, "HTP_INVALID_CHUNKING", INT2FIX( HTP_REQUEST_INVALID_T_E ) );
788 rb_define_const( mHTP, "HTP_MULTI_PACKET_HEAD", INT2FIX( HTP_MULTI_PACKET_HEAD ) );
789 rb_define_const( mHTP, "HTP_HOST_MISSING", INT2FIX( HTP_HOST_MISSING ) );
790 rb_define_const( mHTP, "HTP_AMBIGUOUS_HOST", INT2FIX( HTP_HOST_AMBIGUOUS ) );
791 rb_define_const( mHTP, "HTP_PATH_ENCODED_NUL", INT2FIX( HTP_PATH_ENCODED_NUL ) );
792 rb_define_const( mHTP, "HTP_PATH_INVALID_ENCODING", INT2FIX( HTP_PATH_INVALID_ENCODING ) );
793 rb_define_const( mHTP, "HTP_PATH_INVALID", INT2FIX( HTP_PATH_INVALID ) );
794 rb_define_const( mHTP, "HTP_PATH_OVERLONG_U", INT2FIX( HTP_PATH_OVERLONG_U ) );
795 rb_define_const( mHTP, "HTP_PATH_ENCODED_SEPARATOR", INT2FIX( HTP_PATH_ENCODED_SEPARATOR ) );
796 rb_define_const( mHTP, "HTP_PATH_UTF8_VALID", INT2FIX( HTP_PATH_UTF8_VALID ) );
797 rb_define_const( mHTP, "HTP_PATH_UTF8_INVALID", INT2FIX( HTP_PATH_UTF8_INVALID ) );
798 rb_define_const( mHTP, "HTP_PATH_UTF8_OVERLONG", INT2FIX( HTP_PATH_UTF8_OVERLONG ) );
799 rb_define_const( mHTP, "HTP_PATH_FULLWIDTH_EVASION", INT2FIX( HTP_PATH_HALF_FULL_RANGE ) );
800 rb_define_const( mHTP, "HTP_STATUS_LINE_INVALID", INT2FIX( HTP_STATUS_LINE_INVALID ) );
801 rb_define_const( mHTP, "PIPELINED_CONNECTION", INT2FIX( HTP_CONN_PIPELINED ) );
802 rb_define_const( mHTP, "HTP_SERVER_MINIMAL", INT2FIX( HTP_SERVER_MINIMAL ) );
803 rb_define_const( mHTP, "HTP_SERVER_GENERIC", INT2FIX( HTP_SERVER_GENERIC ) );
804 rb_define_const( mHTP, "HTP_SERVER_IDS", INT2FIX( HTP_SERVER_IDS ) );
805 rb_define_const( mHTP, "HTP_SERVER_IIS_4_0", INT2FIX( HTP_SERVER_IIS_4_0 ) );
806 rb_define_const( mHTP, "HTP_SERVER_IIS_5_0", INT2FIX( HTP_SERVER_IIS_5_0 ) );
807 rb_define_const( mHTP, "HTP_SERVER_IIS_5_1", INT2FIX( HTP_SERVER_IIS_5_1 ) );
808 rb_define_const( mHTP, "HTP_SERVER_IIS_6_0", INT2FIX( HTP_SERVER_IIS_6_0 ) );
809 rb_define_const( mHTP, "HTP_SERVER_IIS_7_0", INT2FIX( HTP_SERVER_IIS_7_0 ) );
810 rb_define_const( mHTP, "HTP_SERVER_IIS_7_5", INT2FIX( HTP_SERVER_IIS_7_5 ) );
811 rb_define_const( mHTP, "HTP_SERVER_TOMCAT_6_0", INT2FIX( HTP_SERVER_TOMCAT_6_0 ) );
812 rb_define_const( mHTP, "HTP_SERVER_APACHE", INT2FIX( HTP_SERVER_APACHE ) );
813 rb_define_const( mHTP, "HTP_SERVER_APACHE_2_2", INT2FIX( HTP_SERVER_APACHE_2_2 ) );
814 rb_define_const( mHTP, "NONE", INT2FIX( HTP_AUTH_NONE ) );
815 rb_define_const( mHTP, "IDENTITY", INT2FIX( HTP_CODING_IDENTITY ) );
816 rb_define_const( mHTP, "CHUNKED", INT2FIX( HTP_CODING_CHUNKED ) );
817 rb_define_const( mHTP, "TX_PROGRESS_NEW", INT2FIX( HTP_REQUEST_NOT_STARTED ) );
818 rb_define_const( mHTP, "TX_PROGRESS_REQ_LINE", INT2FIX( HTP_REQUEST_LINE ) );
819 rb_define_const( mHTP, "TX_PROGRESS_REQ_HEADERS", INT2FIX( HTP_REQUEST_HEADERS ) );
820 rb_define_const( mHTP, "TX_PROGRESS_REQ_BODY", INT2FIX( HTP_REQUEST_BODY ) );
821 rb_define_const( mHTP, "TX_PROGRESS_REQ_TRAILER", INT2FIX( HTP_REQUEST_TRAILER ) );
822 rb_define_const( mHTP, "RESPONSE_WAIT", INT2FIX( HTP_REQUEST_COMPLETE ) );
823 rb_define_const( mHTP, "TX_PROGRESS_RES_LINE", INT2FIX( HTP_RESPONSE_LINE ) );
824 rb_define_const( mHTP, "RESPONSE_HEADERS", INT2FIX( HTP_RESPONSE_HEADERS ) );
825 rb_define_const( mHTP, "RESPONSE_BODY", INT2FIX( HTP_RESPONSE_BODY ) );
826 rb_define_const( mHTP, "TX_PROGRESS_RES_TRAILER", INT2FIX( HTP_RESPONSE_TRAILER ) );
827 rb_define_const( mHTP, "TX_PROGRESS_COMPLETE", INT2FIX( HTP_RESPONSE_COMPLETE ) );
828 rb_define_const( mHTP, "HTP_STREAM_NEW", INT2FIX( HTP_STREAM_NEW ) );
829 rb_define_const( mHTP, "HTP_STREAM_OPEN", INT2FIX( HTP_STREAM_OPEN ) );
830 rb_define_const( mHTP, "HTP_STREAM_CLOSED", INT2FIX( HTP_STREAM_CLOSED ) );
831 rb_define_const( mHTP, "HTP_STREAM_ERROR", INT2FIX( HTP_STREAM_ERROR ) );
832 rb_define_const( mHTP, "HTP_STREAM_TUNNEL", INT2FIX( HTP_STREAM_TUNNEL ) );
833 rb_define_const( mHTP, "HTP_STREAM_DATA_OTHER", INT2FIX( HTP_STREAM_DATA_OTHER ) );
834 rb_define_const( mHTP, "HTP_STREAM_DATA", INT2FIX( HTP_STREAM_DATA ) );
835 rb_define_const( mHTP, "URL_DECODER_PRESERVE_PERCENT", INT2FIX( HTP_URL_DECODE_PRESERVE_PERCENT ) );
836 rb_define_const( mHTP, "URL_DECODER_REMOVE_PERCENT", INT2FIX( HTP_URL_DECODE_REMOVE_PERCENT ) );
837 rb_define_const( mHTP, "URL_DECODER_DECODE_INVALID", INT2FIX( HTP_URL_DECODE_PROCESS_INVALID ) );
838 rb_define_const( mHTP, "URL_DECODER_STATUS_400", INT2FIX( HTP_URL_DECODE_STATUS_400 ) );
839 rb_define_const( mHTP, "NO", INT2FIX( NO ) );
840 rb_define_const( mHTP, "BESTFIT", INT2FIX( BESTFIT ) );
841 rb_define_const( mHTP, "YES", INT2FIX( YES ) );
842 rb_define_const( mHTP, "TERMINATE", INT2FIX( TERMINATE ) );
843 rb_define_const( mHTP, "STATUS_400", INT2FIX( STATUS_400 ) );
844 rb_define_const( mHTP, "STATUS_404", INT2FIX( STATUS_404 ) );
845 rb_define_const( mHTP, "HTP_AUTH_NONE", INT2FIX( HTP_AUTH_NONE ) );
846 rb_define_const( mHTP, "HTP_AUTH_BASIC", INT2FIX( HTP_AUTH_BASIC ) );
847 rb_define_const( mHTP, "HTP_AUTH_DIGEST", INT2FIX( HTP_AUTH_DIGEST ) );
848 rb_define_const( mHTP, "HTP_AUTH_UNKNOWN", INT2FIX( HTP_AUTH_UNRECOGNIZED ) );
849 rb_define_const( mHTP, "HTP_FILE_MULTIPART", INT2FIX( HTP_FILE_MULTIPART ) );
850 rb_define_const( mHTP, "HTP_FILE_PUT", INT2FIX( HTP_FILE_PUT ) );
851 rb_define_const( mHTP, "CFG_NOT_SHARED", INT2FIX( CFG_NOT_SHARED ) );
852 rb_define_const( mHTP, "CFG_SHARED", INT2FIX( CFG_SHARED ) );
853
854 cCfg = rb_define_class_under( mHTP, "Cfg", rb_cObject );
855 rb_define_method( cCfg, "initialize", rbhtp_config_initialize, 0 );
856 rb_define_method( cCfg, "copy", rbhtp_config_copy, 0 );
857
858 rb_define_method( cCfg, "register_response", rbhtp_config_register_response, 0 );
859 rb_define_method( cCfg, "register_request", rbhtp_config_register_request, 0 );
860 rb_define_method( cCfg, "register_transaction_start", rbhtp_config_register_transaction_start, 0 );
861 rb_define_method( cCfg, "register_request_line", rbhtp_config_register_request_line, 0 );
862 rb_define_method( cCfg, "register_request_headers", rbhtp_config_register_request_headers, 0 );
863 rb_define_method( cCfg, "register_request_trailer", rbhtp_config_register_request_trailer, 0 );
864 rb_define_method( cCfg, "register_response_line", rbhtp_config_register_response_line, 0 );
865 rb_define_method( cCfg, "register_response_headers", rbhtp_config_register_response_headers, 0 );
866 rb_define_method( cCfg, "register_response_trailer", rbhtp_config_register_response_trailer, 0 );
867
868 rb_define_method( cCfg, "register_urlencoded_parser", rbhtp_config_register_urlencoded_parser, 0 );
869 rb_define_method( cCfg, "register_request_body_data", rbhtp_config_register_request_body_data, 0 );
870 rb_define_method( cCfg, "register_response_body_data", rbhtp_config_register_request_body_data, 0 );
871 rb_define_method( cCfg, "register_request_file_data", rbhtp_config_register_request_file_data, 0 );
872
873 // server_personality= and server_personality are defined in htp_ruby.rb
874 rb_define_method( cCfg, "set_server_personality", rbhtp_config_set_server_personality, 1 );
875 rb_define_method( cCfg, "spersonality", rbhtp_cfg_spersonality, 0 );
876
877 rb_define_method( cCfg, "parse_request_cookies", rbhtp_cfg_parse_request_cookies, 0 );
878 rb_define_method( cCfg, "parse_request_cookies=", rbhtp_cfg_parse_request_cookies_set, 1 );
879 // TODO: Much more to add.
880
881 cConnp = rb_define_class_under( mHTP, "Connp", rb_cObject );
882 rb_define_method( cConnp, "initialize", rbhtp_connp_initialize, 1 );
883 rb_define_method( cConnp, "req_data", rbhtp_connp_req_data, 2 );
884 rb_define_method( cConnp, "in_tx", rbhtp_connp_in_tx, 0 );
885 rb_define_method( cConnp, "conn", rbhtp_connp_conn, 0 );
886 // TODO: Much more to Add.
887
888 cHeader = rb_define_class_under( mHTP, "Header", rb_cObject );
889 rb_define_method( cHeader, "initialize", rbhtp_header_initialize, 1 );
890 rb_define_method( cHeader, "name", rbhtp_header_name, 0 );
891 rb_define_method( cHeader, "value", rbhtp_header_value, 0 );
892 rb_define_method( cHeader, "flags", rbhtp_header_flags, 0 );
893
894 cHeaderLine = rb_define_class_under( mHTP, "HeaderLine", rb_cObject );
895 rb_define_method( cHeaderLine, "initialize", rbhtp_header_line_initialize, 1 );
896 rb_define_method( cHeaderLine, "header", rbhtp_header_line_header, 0 );
897 rb_define_method( cHeaderLine, "line", rbhtp_header_line_line, 0 );
898 rb_define_method( cHeaderLine, "name_offset", rbhtp_header_line_name_offset, 0 );
899 rb_define_method( cHeaderLine, "name_len", rbhtp_header_line_name_len, 0 );
900 rb_define_method( cHeaderLine, "value_offset", rbhtp_header_line_value_offset, 0 );
901 rb_define_method( cHeaderLine, "value_len", rbhtp_header_line_value_len, 0 );
902 rb_define_method( cHeaderLine, "has_nulls", rbhtp_header_line_has_nulls, 0 );
903 rb_define_method( cHeaderLine, "first_nul_offset", rbhtp_header_line_first_nul_offset, 0 );
904 rb_define_method( cHeaderLine, "flags", rbhtp_header_line_flags, 0 );
905
906 cURI = rb_define_class_under( mHTP, "URI", rb_cObject );
907 rb_define_method( cURI, "initialize", rbhtp_uri_initialize, 1 );
908
909 rb_define_method( cURI, "scheme", rbhtp_uri_scheme, 0 );
910 rb_define_method( cURI, "username", rbhtp_uri_username, 0 );
911 rb_define_method( cURI, "password", rbhtp_uri_password, 0 );
912 rb_define_method( cURI, "hostname", rbhtp_uri_hostname, 0 );
913 rb_define_method( cURI, "port", rbhtp_uri_port, 0 );
914 rb_define_method( cURI, "port_number", rbhtp_uri_port_number, 0 );
915 rb_define_method( cURI, "path", rbhtp_uri_path, 0 );
916 rb_define_method( cURI, "query", rbhtp_uri_query, 0 );
917 rb_define_method( cURI, "fragment", rbhtp_uri_fragment, 0 );
918
919 cTx = rb_define_class_under( mHTP, "Tx", rb_cObject );
920 rb_define_method( cTx, "initialize", rbhtp_tx_initialize, 3 );
921
922 rb_define_method( cTx, "request_ignored_lines", rbhtp_tx_request_ignored_lines, 0 );
923 rb_define_method( cTx, "request_line_nul", rbhtp_tx_request_line_nul, 0 );
924 rb_define_method( cTx, "request_line_nul_offset", rbhtp_tx_request_line_nul_offset, 0 );
925 rb_define_method( cTx, "request_method_number", rbhtp_tx_request_method_number, 0 );
926 rb_define_method( cTx, "request_line", rbhtp_tx_request_line, 0 );
927 rb_define_method( cTx, "request_method", rbhtp_tx_request_method, 0 );
928 rb_define_method( cTx, "request_uri", rbhtp_tx_request_uri, 0 );
929 rb_define_method( cTx, "request_uri_normalized", rbhtp_tx_request_uri_normalized, 0 );
930 rb_define_method( cTx, "request_protocol", rbhtp_tx_request_protocol, 0 );
931 rb_define_method( cTx, "request_headers_raw", rbhtp_tx_request_headers_raw, 0 );
932 rb_define_method( cTx, "request_headers_sep", rbhtp_tx_request_headers_sep, 0 );
933 rb_define_method( cTx, "request_content_type", rbhtp_tx_request_content_type, 0 );
934 rb_define_method( cTx, "request_auth_username", rbhtp_tx_request_auth_username, 0 );
935 rb_define_method( cTx, "request_auth_password", rbhtp_tx_request_auth_password, 0 );
936 rb_define_method( cTx, "response_line", rbhtp_tx_response_line, 0 );
937 rb_define_method( cTx, "response_protocol", rbhtp_tx_response_protocol, 0 );
938 rb_define_method( cTx, "response_status", rbhtp_tx_response_status, 0 );
939 rb_define_method( cTx, "response_message", rbhtp_tx_response_message, 0 );
940 rb_define_method( cTx, "response_headers_sep", rbhtp_tx_response_headers_sep, 0 );
941 rb_define_method( cTx, "request_protocol_number", rbhtp_tx_request_protocol_number, 0 );
942 rb_define_method( cTx, "protocol_is_simple", rbhtp_tx_protocol_is_simple, 0 );
943 rb_define_method( cTx, "request_message_len", rbhtp_tx_request_message_len, 0 );
944 rb_define_method( cTx, "request_entity_len", rbhtp_tx_request_entity_len, 0 );
945 rb_define_method( cTx, "request_nonfiledata_len", rbhtp_tx_request_nonfiledata_len, 0 );
946 rb_define_method( cTx, "request_filedata_len", rbhtp_tx_request_filedata_len, 0 );
947 rb_define_method( cTx, "request_header_lines_no_trailers", rbhtp_tx_request_header_lines_no_trailers, 0 );
948 rb_define_method( cTx, "request_headers_raw_lines", rbhtp_tx_request_headers_raw_lines, 0 );
949 rb_define_method( cTx, "request_transfer_coding", rbhtp_tx_request_transfer_coding, 0 );
950 rb_define_method( cTx, "request_content_encoding", rbhtp_tx_request_content_encoding, 0 );
951 rb_define_method( cTx, "request_params_query_reused", rbhtp_tx_request_params_query_reused, 0 );
952 rb_define_method( cTx, "request_params_body_reused", rbhtp_tx_request_params_body_reused, 0 );
953 rb_define_method( cTx, "request_auth_type", rbhtp_tx_request_auth_type, 0 );
954 rb_define_method( cTx, "response_ignored_lines", rbhtp_tx_response_ignored_lines, 0 );
955 rb_define_method( cTx, "response_protocol_number", rbhtp_tx_response_protocol_number, 0 );
956 rb_define_method( cTx, "response_status_number", rbhtp_tx_response_status_number, 0 );
957 rb_define_method( cTx, "response_status_expected_number", rbhtp_tx_response_status_expected_number, 0 );
958 rb_define_method( cTx, "seen_100continue", rbhtp_tx_seen_100continue, 0 );
959 rb_define_method( cTx, "response_message_len", rbhtp_tx_response_message_len, 0 );
960 rb_define_method( cTx, "response_entity_len", rbhtp_tx_response_entity_len, 0 );
961 rb_define_method( cTx, "response_transfer_coding", rbhtp_tx_response_transfer_coding, 0 );
962 rb_define_method( cTx, "response_content_encoding", rbhtp_tx_response_content_encoding, 0 );
963 rb_define_method( cTx, "flags", rbhtp_tx_flags, 0 );
964 rb_define_method( cTx, "progress", rbhtp_tx_progress, 0 );
965
966 rb_define_method( cTx, "request_params_query", rbhtp_tx_request_params_query, 0 );
967 rb_define_method( cTx, "request_params_body", rbhtp_tx_request_params_body, 0 );
968 rb_define_method( cTx, "request_cookies", rbhtp_tx_request_cookies, 0 );
969 rb_define_method( cTx, "request_headers", rbhtp_tx_request_headers, 0 );
970 rb_define_method( cTx, "response_headers", rbhtp_tx_response_headers, 0 );
971
972 rb_define_method( cTx, "request_header_lines", rbhtp_tx_request_header_lines, 0 );
973 rb_define_method( cTx, "response_header_lines", rbhtp_tx_response_header_lines, 0 );
974
975 rb_define_method( cTx, "parsed_uri", rbhtp_tx_parsed_uri, 0 );
976 rb_define_method( cTx, "parsed_uri_incomplete", rbhtp_tx_parsed_uri_incomplete, 0 );
977
978 rb_define_method( cTx, "conn", rbhtp_tx_conn, 0 );
979
980 cFile = rb_define_class_under( mHTP, "File", rb_cObject );
981 rb_define_method( cFile, "initialize", rbhtp_file_initialize, 1 );
982
983 rb_define_method( cFile, "source", rbhtp_file_source, 0 );
984 rb_define_method( cFile, "filename", rbhtp_file_filename, 0 );
985 rb_define_method( cFile, "len", rbhtp_file_len, 0 );
986 rb_define_method( cFile, "tmpname", rbhtp_file_tmpname, 0 );
987 rb_define_method( cFile, "fd", rbhtp_file_fd, 0 );
988
989 cConn = rb_define_class_under( mHTP, "Conn", rb_cObject );
990 rb_define_method( cConn, "initialize", rbhtp_conn_initialize, 2 );
991
992 rb_define_method( cConn, "remote_addr", rbhtp_conn_remote_addr, 0 );
993 rb_define_method( cConn, "remote_port", rbhtp_conn_remote_port, 0 );
994 rb_define_method( cConn, "local_addr", rbhtp_conn_local_addr, 0 );
995 rb_define_method( cConn, "local_port", rbhtp_conn_local_port, 0 );
996 rb_define_method( cConn, "flags", rbhtp_conn_flags, 0 );
997 rb_define_method( cConn, "in_data_counter", rbhtp_conn_in_data_counter, 0 );
998 rb_define_method( cConn, "out_data_counter", rbhtp_conn_out_data_counter, 0 );
999 rb_define_method( cConn, "in_packet_counter", rbhtp_conn_in_packet_counter, 0 );
1000 rb_define_method( cConn, "out_packet_counter", rbhtp_conn_out_packet_counter, 0 );
1001 rb_define_method( cConn, "transactions", rbhtp_conn_transactions, 0 );
1002 rb_define_method( cConn, "open_timestamp", rbhtp_conn_open_timestamp, 0 );
1003 rb_define_method( cConn, "close_timestamp", rbhtp_conn_close_timestamp, 0 );
1004
1005 // Load ruby code.
1006 rb_require( "htp_ruby" );
1007 }
+0
-58
extras/ruby/README less more
0 = Introduction =
1
2 Here are ruby bindings for libHTP. This project was intended for rapid
3 prototyping (and as an exercise for learning libHTP) and is not intended for
4 production use.
5
6 The library provides a partial interface to libHTP which, where it exists,
7 closely matches the C interface. The main classes are HTP::Cfg and
8 HTP::Connp which correspond to htp_config_t and htp_connp, respectively.
9 Functions that begin htp_config_ and htp_connp_ are methods of HTP::Cfg and
10 HTP::Connp respectively.
11
12 All callbacks are taken as blocks. E.g.,
13
14 config.register_request do |connp|
15 ...
16 end
17
18 See example.rb.
19
20 libHTP constants (#defines) exist as constants in HTP.
21
22 In addition, classes exist for the other HTP structures: HTP::Tx, HTP::URI,
23 HTP::Header, HTP::HeaderLine, etc. These classes provide read accessors for
24 the various fields. In addition, some additional methods are provided for more
25 Rubyish style, e.g., Header#invalid?. See htp_ruby.rb for a complete list of
26 API additions.
27
28 HTP::Cfg and HTP::Connp lifetimes are managed by the usual Ruby cycle,
29 i.e., garbage collected when no longer references. All other classes are bound
30 to the lifetimes of either of those classes. So, make sure you keep your
31 config and connection parser around as long as you need any of the data from
32 them or copy your data out into non-HTP classes.
33
34 If performance is a concern, you should not be using Ruby or these bindings.
35 That being said, some small effort has been made to avoid binding performance
36 penalties for data you don't use. For example, if you never look at
37 Tx#request_headers, that data will not be converted into Rubyspace. A side
38 effect of this behavior, is that return values should be cached. E.g.,
39 Tx#request_cookies generates an array of cookies every time it is called, so
40 consider caching the return value if you need to access it multiple times.
41
42
43 = Missing =
44
45 * Cfg and Connp are only minimally implemented.
46 * Conn#messages is missing.
47 * Logging is completely missing.
48 * Connp, and Cfg lack meaningful to_s or inspect.
49 * Bool support. As per C-interface, 0 and 1 are used instead of false and
50 true. Should add ...? accessors which latter values.
51 * Automated unit tests.
52 * API doc.
53 * libHTP version detection.
54 * Iterator parsing interface: Takes iterator of chunks and handles the various
55 parsing return codes. This allows the user to provide chunks as possible
56 via an iterator and have the parser just-work.
57
+0
-116
extras/ruby/example.rb less more
0 #!/usr/bin/env ruby
1
2 # Copyright (c) 2009-2010 Open Information Security Foundation
3 # Copyright (c) 2010-2013 Qualys, Inc.
4 # All rights reserved.
5 #
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions are
8 # met:
9 #
10 # - Redistributions of source code must retain the above copyright
11 # notice, this list of conditions and the following disclaimer.
12
13 # - Redistributions in binary form must reproduce the above copyright
14 # notice, this list of conditions and the following disclaimer in the
15 # documentation and/or other materials provided with the distribution.
16
17 # - Neither the name of the Qualys, Inc. nor the names of its
18 # contributors may be used to endorse or promote products derived from
19 # this software without specific prior written permission.
20 #
21 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 # HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
33 $:.unshift( File.dirname( __FILE__ ) )
34
35 require 'htp'
36
37 # parse_uri example.
38 uri = HTP::parse_uri( "http://host.com/hello/world" )
39 puts uri
40
41 puts "----"
42
43 # Config and Connp example.
44 cfg = HTP::Cfg.new
45
46 cfg.server_personality = :apache
47 cfg.register_urlencoded_parser
48 # Comment out this line and notice that cookies vanish from output.
49 cfg.parse_request_cookies = 1
50
51 cfg.register_request do |connp|
52 tx = connp.in_tx
53
54 puts "Parsed URI: "
55 puts " " + tx.parsed_uri
56
57 if tx.request_headers
58 puts "Request Headers: "
59 tx.request_headers.each {|h| puts " " + h}
60 end
61
62 if tx.request_cookies
63 puts "Request Cookies: "
64 tx.request_cookies.each {|k,v| puts " #{k} = #{v}"}
65 end
66
67 if tx.request_params_query
68 puts "Request Params Query: "
69 tx.request_params_query.each {|k,v| puts " #{k} = #{v}"}
70 end
71
72 if tx.request_params_body
73 puts "Request Body Query: "
74 tx.request_params_body.each {|k,v| puts " #{k} = #{v}"}
75 end
76
77 0
78 end
79
80 cfg.register_request_body_data do |tx,data|
81 puts "Body Data: #{data}"
82
83 0
84 end
85
86 cfg.register_request_file_data do |tx,fileinfo,data|
87 puts "File Data for #{fileinfo}: #{data}"
88
89 0
90 end
91
92 connp = HTP::Connp.new( cfg )
93 input = DATA.read
94
95 connp.req_data( Time.now, input )
96
97 # Non-Callback Interface.
98 puts "----"
99
100 connp.conn.transactions.each do |tx|
101 # Might be an empty transaction.
102 next if ! tx.request_line
103 puts tx
104 end
105
106 __END__
107 POST http://user@password:host/%61/b/c?foo=bar#hi HTTP/1.1
108 User-Agent: Mozilla
109 Cookie: foo=bar
110 Content-Type: text/plain
111 Content-Length: 9
112
113 Body Text
114
115
+0
-6
extras/ruby/extconf.rb less more
0 require 'mkmf'
1
2 dir_config( 'htp' )
3 have_library( 'htp', 'htp_connp_create' ) || abort( "Can't find HTP library." )
4 have_header( 'htp/htp.h' ) || abort( "Can't find htp.h" )
5 create_makefile( 'htp' )
+0
-12
extras/ruby/htp.gemspec less more
0 Gem::Specification.new do |s|
1 s.name = "htp"
2 s.version = "0.1"
3
4 s.authors = ["Chrustopher Alfeld"]
5 s.description = "Ruby Bindings for libHTP."
6 s.email = "calfeld@qualys.com"
7 s.files = ["htp_ruby.rb", "HTP.c", "extconf.rb", "example.rb"]
8 s.extensions = ["extconf.rb"]
9 s.summary = "libHTP Ruby bindings."
10 s.require_path = '.'
11 end
+0
-247
extras/ruby/htp_ruby.rb less more
0 # Copyright (c) 2009-2010 Open Information Security Foundation
1 # Copyright (c) 2010-2013 Qualys, Inc.
2 # All rights reserved.
3 #
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions are
6 # met:
7 #
8 # - Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer.
10
11 # - Redistributions in binary form must reproduce the above copyright
12 # notice, this list of conditions and the following disclaimer in the
13 # documentation and/or other materials provided with the distribution.
14
15 # - Neither the name of the Qualys, Inc. nor the names of its
16 # contributors may be used to endorse or promote products derived from
17 # this software without specific prior written permission.
18 #
19 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 # HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31 # Author: Christopher Alfeld <calfeld@qualys.com>
32
33 module HTP
34 # TODO: Lots to do. Good inspect for all classes would be a good start.
35 # As would an easier parsing interface that takes care of the return codes.
36
37 class Cfg
38 # Object.dup will just create a Config that points to the same underlying
39 # htp_cfg_t. By using #copy which maps to htp_config_copy, we can do
40 # the expected dup behavior.
41 alias :dup :copy
42
43 SERVER_PERSONALITY_ASSOC = [
44 [ :minimal, HTP_SERVER_MINIMAL ],
45 [ :generic, HTP_SERVER_GENERIC ],
46 [ :ids, HTP_SERVER_IDS ],
47 [ :iis_4_0, HTP_SERVER_IIS_4_0 ],
48 [ :iis_5_0, HTP_SERVER_IIS_5_0 ],
49 [ :iis_5_1, HTP_SERVER_IIS_5_1 ],
50 [ :iis_6_0, HTP_SERVER_IIS_6_0 ],
51 [ :iis_7_0, HTP_SERVER_IIS_7_0 ],
52 [ :iis_7_5, HTP_SERVER_IIS_7_5 ],
53 [ :tomcat_6_0, HTP_SERVER_TOMCAT_6_0 ],
54 [ :apache, HTP_SERVER_APACHE ],
55 [ :apache_2_2, HTP_SERVER_APACHE_2_2 ]
56 ].freeze
57
58 def server_personality
59 personality_id = spersonality
60 personality = SERVER_PERSONALITY_ASSOC.rassoc( personality_id )[0]
61 personality.nil? ? personality_id : personality
62 end
63 def server_personality=( personality )
64 if personality.is_a?( String )
65 personality = personality.to_sym
66 end
67 if personality.is_a?( Symbol )
68 personality_id = SERVER_PERSONALITY_ASSOC.assoc( personality )[1]
69 if personality_id.nil?
70 raise TypeError.new( "Unknown personality: #{personality}" )
71 end
72 personality = personality_id
73 end
74 if ! personality.is_a?( Fixnum )
75 raise TypeError.new( "Can't understand personality." )
76 end
77 set_server_personality( personality )
78 end
79 end
80
81 class Connp
82 attr_reader :cfg
83 end
84
85 class Header
86 def invalid?
87 flags & HTP_FIELD_INVALID != 0
88 end
89
90 def folded?
91 flags & HTP_FIELD_FOLDED != 0
92 end
93
94 def repeated?
95 flags & HTP_FIELD_REPEATED != 0
96 end
97
98 def to_s
99 r = "#{name}: #{value}"
100 r += " <INVALID>" if invalid?
101 r += " <FOLDER>" if folded?
102 r += " <REPEATED>" if repeated?
103 r
104 end
105
106 alias :inspect :to_s
107 alias :to_str :to_s
108 end
109
110 class HeaderLine
111 def invalid?
112 flags & HTP_FIELD_INVALID != 0
113 end
114
115 def long?
116 flags & HTP_FIELD_LONG != 0
117 end
118
119 def nul_byte?
120 flags & HTP_FIELD_NUL_BYTE != 0
121 end
122
123 def to_s
124 line
125 end
126
127 alias :inspect :to_s
128 alias :to_str :to_s
129 end
130
131 class URI
132 def to_s
133 if hostname
134 "http://" +
135 ( username ? username : '' ) +
136 ( password ? ":#{password}" : '' ) +
137 ( hostname && ( username || password ) ? '@' : '' ) +
138 ( hostname ? "#{hostname}:#{port}" : '' )
139 else
140 ''
141 end +
142 ( path ? path : '' ) +
143 ( query ? "?#{query}" : '' ) +
144 ( fragment ? "##{fragment}" : '' )
145 end
146
147 alias :inspect :to_s
148 alias :to_str :to_s
149 end
150
151 class Tx
152 attr_reader :connp
153 attr_reader :cfg
154
155 # Here we cache a variety of values that are built on demand.
156 [
157 :request_params_query,
158 :request_params_body,
159 :request_cookies,
160 :request_headers,
161 :response_headers,
162 :request_header_lines,
163 :response_header_lines
164 ].each do |name|
165 raw_name = ( "_" + name.to_s ).to_sym
166 alias_method( raw_name, name )
167 private( raw_name )
168 remove_method( name )
169 define_method name do
170 @cache ||= {}
171 @cache[name] ||= send( raw_name )
172 end
173 end
174
175 def invalid_chunking?
176 flags & HTP_INVALID_CHUNKING != 0
177 end
178
179 def invalid_folding?
180 flags & HTP_INVALID_FOLDING != 0
181 end
182
183 def request_smuggling?
184 flags & HTP_REQUEST_SMUGGLING != 0
185 end
186
187 def multi_packet_header?
188 flags & HTP_MULTI_PACKET_HEAD != 0
189 end
190
191 def field_unparseable?
192 flags & HTP_FIELD_UNPARSABLE != 0
193 end
194
195 def request_params_as_hash
196 if ! @request_params
197 @request_params = Hash.new {|h,k| h[k] = []}
198 [ request_params_query, request_params_body ].compact.each do |result|
199 result.each do |k,v|
200 @request_params[k] << v
201 end
202 end
203 end
204 @request_params
205 end
206
207 def request_cookies_as_hash
208 if ! @request_cookies
209 @request_cookies = Hash.new {|h,k| h[k] = []}
210 result = request_cookies
211 if result
212 result.each do |k,v|
213 @request_cookies[k] << v
214 end
215 end
216 end
217 @request_cookies
218 end
219
220 alias :to_s :request_line
221 alias :to_str :to_s
222 alias :inspect :to_s
223 end
224
225 class File
226 alias :to_s :filename
227 alias :inspect :to_s
228 alias :to_str :to_s
229 end
230
231 class Conn
232 attr_reader :connp
233
234 def pipelined_connection?
235 flags & PIPELINED_CONNECTION
236 end
237
238 def to_s
239 ( local_addr || "???" ) + ":#{local_port} -> " +
240 ( remote_addr || "???" ) + ":#{remote_port}"
241 end
242
243 alias :to_str :to_s
244 alias :inspect :to_s
245 end
246 end
0 # Makefile.in generated by automake 1.16.3 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2020 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16
17 VPATH = @srcdir@
18 am__is_gnu_make = { \
19 if test -z '$(MAKELEVEL)'; then \
20 false; \
21 elif test -n '$(MAKE_HOST)'; then \
22 true; \
23 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
24 true; \
25 else \
26 false; \
27 fi; \
28 }
29 am__make_running_with_option = \
30 case $${target_option-} in \
31 ?) ;; \
32 *) echo "am__make_running_with_option: internal error: invalid" \
33 "target option '$${target_option-}' specified" >&2; \
34 exit 1;; \
35 esac; \
36 has_opt=no; \
37 sane_makeflags=$$MAKEFLAGS; \
38 if $(am__is_gnu_make); then \
39 sane_makeflags=$$MFLAGS; \
40 else \
41 case $$MAKEFLAGS in \
42 *\\[\ \ ]*) \
43 bs=\\; \
44 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
45 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
46 esac; \
47 fi; \
48 skip_next=no; \
49 strip_trailopt () \
50 { \
51 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
52 }; \
53 for flg in $$sane_makeflags; do \
54 test $$skip_next = yes && { skip_next=no; continue; }; \
55 case $$flg in \
56 *=*|--*) continue;; \
57 -*I) strip_trailopt 'I'; skip_next=yes;; \
58 -*I?*) strip_trailopt 'I';; \
59 -*O) strip_trailopt 'O'; skip_next=yes;; \
60 -*O?*) strip_trailopt 'O';; \
61 -*l) strip_trailopt 'l'; skip_next=yes;; \
62 -*l?*) strip_trailopt 'l';; \
63 -[dEDm]) skip_next=yes;; \
64 -[JT]) skip_next=yes;; \
65 esac; \
66 case $$flg in \
67 *$$target_option*) has_opt=yes; break;; \
68 esac; \
69 done; \
70 test $$has_opt = yes
71 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
72 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
73 pkgdatadir = $(datadir)/@PACKAGE@
74 pkgincludedir = $(includedir)/@PACKAGE@
75 pkglibdir = $(libdir)/@PACKAGE@
76 pkglibexecdir = $(libexecdir)/@PACKAGE@
77 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
78 install_sh_DATA = $(install_sh) -c -m 644
79 install_sh_PROGRAM = $(install_sh) -c
80 install_sh_SCRIPT = $(install_sh) -c
81 INSTALL_HEADER = $(INSTALL_DATA)
82 transform = $(program_transform_name)
83 NORMAL_INSTALL = :
84 PRE_INSTALL = :
85 POST_INSTALL = :
86 NORMAL_UNINSTALL = :
87 PRE_UNINSTALL = :
88 POST_UNINSTALL = :
89 build_triplet = @build@
90 host_triplet = @host@
91 subdir = htp
92 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
93 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
94 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
95 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
96 $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
97 $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
98 $(top_srcdir)/configure.ac
99 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
100 $(ACLOCAL_M4)
101 DIST_COMMON = $(srcdir)/Makefile.am $(library_include_HEADERS) \
102 $(am__DIST_COMMON)
103 mkinstalldirs = $(install_sh) -d
104 CONFIG_HEADER = $(top_builddir)/htp_config_auto_gen.h
105 CONFIG_CLEAN_FILES = htp_version.h
106 CONFIG_CLEAN_VPATH_FILES =
107 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
108 am__vpath_adj = case $$p in \
109 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
110 *) f=$$p;; \
111 esac;
112 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
113 am__install_max = 40
114 am__nobase_strip_setup = \
115 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
116 am__nobase_strip = \
117 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
118 am__nobase_list = $(am__nobase_strip_setup); \
119 for p in $$list; do echo "$$p $$p"; done | \
120 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
121 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
122 if (++n[$$2] == $(am__install_max)) \
123 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
124 END { for (dir in files) print dir, files[dir] }'
125 am__base_list = \
126 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
127 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
128 am__uninstall_files_from_dir = { \
129 test -z "$$files" \
130 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
131 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
132 $(am__cd) "$$dir" && rm -f $$files; }; \
133 }
134 am__installdirs = "$(DESTDIR)$(libdir)" \
135 "$(DESTDIR)$(library_includedir)"
136 LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
137 libhtp_c_la_LIBADD =
138 am__objects_1 =
139 am__objects_2 = bstr.lo bstr_builder.lo htp_base64.lo htp_config.lo \
140 htp_connection.lo htp_connection_parser.lo \
141 htp_content_handlers.lo htp_cookies.lo htp_decompressors.lo \
142 htp_hooks.lo htp_list.lo htp_multipart.lo htp_parsers.lo \
143 htp_php.lo htp_request.lo htp_request_apache_2_2.lo \
144 htp_request_generic.lo htp_request_parsers.lo htp_response.lo \
145 htp_response_generic.lo htp_table.lo htp_transaction.lo \
146 htp_transcoder.lo htp_urlencoded.lo htp_util.lo \
147 htp_utf8_decoder.lo strlcpy.lo strlcat.lo
148 am_libhtp_c_la_OBJECTS = $(am__objects_1) $(am__objects_1) \
149 $(am__objects_2)
150 libhtp_c_la_OBJECTS = $(am_libhtp_c_la_OBJECTS)
151 AM_V_lt = $(am__v_lt_@AM_V@)
152 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
153 am__v_lt_0 = --silent
154 am__v_lt_1 =
155 libhtp_la_DEPENDENCIES = libhtp-c.la lzma/liblzma-c.la
156 am_libhtp_la_OBJECTS =
157 libhtp_la_OBJECTS = $(am_libhtp_la_OBJECTS)
158 libhtp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
159 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
160 $(libhtp_la_LDFLAGS) $(LDFLAGS) -o $@
161 AM_V_P = $(am__v_P_@AM_V@)
162 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
163 am__v_P_0 = false
164 am__v_P_1 = :
165 AM_V_GEN = $(am__v_GEN_@AM_V@)
166 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
167 am__v_GEN_0 = @echo " GEN " $@;
168 am__v_GEN_1 =
169 AM_V_at = $(am__v_at_@AM_V@)
170 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
171 am__v_at_0 = @
172 am__v_at_1 =
173 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
174 depcomp = $(SHELL) $(top_srcdir)/depcomp
175 am__maybe_remake_depfiles = depfiles
176 am__depfiles_remade = ./$(DEPDIR)/bstr.Plo \
177 ./$(DEPDIR)/bstr_builder.Plo ./$(DEPDIR)/htp_base64.Plo \
178 ./$(DEPDIR)/htp_config.Plo ./$(DEPDIR)/htp_connection.Plo \
179 ./$(DEPDIR)/htp_connection_parser.Plo \
180 ./$(DEPDIR)/htp_content_handlers.Plo \
181 ./$(DEPDIR)/htp_cookies.Plo ./$(DEPDIR)/htp_decompressors.Plo \
182 ./$(DEPDIR)/htp_hooks.Plo ./$(DEPDIR)/htp_list.Plo \
183 ./$(DEPDIR)/htp_multipart.Plo ./$(DEPDIR)/htp_parsers.Plo \
184 ./$(DEPDIR)/htp_php.Plo ./$(DEPDIR)/htp_request.Plo \
185 ./$(DEPDIR)/htp_request_apache_2_2.Plo \
186 ./$(DEPDIR)/htp_request_generic.Plo \
187 ./$(DEPDIR)/htp_request_parsers.Plo \
188 ./$(DEPDIR)/htp_response.Plo \
189 ./$(DEPDIR)/htp_response_generic.Plo ./$(DEPDIR)/htp_table.Plo \
190 ./$(DEPDIR)/htp_transaction.Plo ./$(DEPDIR)/htp_transcoder.Plo \
191 ./$(DEPDIR)/htp_urlencoded.Plo \
192 ./$(DEPDIR)/htp_utf8_decoder.Plo ./$(DEPDIR)/htp_util.Plo \
193 ./$(DEPDIR)/strlcat.Plo ./$(DEPDIR)/strlcpy.Plo
194 am__mv = mv -f
195 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
196 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
197 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
198 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
199 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
200 $(AM_CFLAGS) $(CFLAGS)
201 AM_V_CC = $(am__v_CC_@AM_V@)
202 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
203 am__v_CC_0 = @echo " CC " $@;
204 am__v_CC_1 =
205 CCLD = $(CC)
206 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
207 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
208 $(AM_LDFLAGS) $(LDFLAGS) -o $@
209 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
210 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
211 am__v_CCLD_0 = @echo " CCLD " $@;
212 am__v_CCLD_1 =
213 SOURCES = $(libhtp_c_la_SOURCES) $(libhtp_la_SOURCES)
214 DIST_SOURCES = $(libhtp_c_la_SOURCES) $(libhtp_la_SOURCES)
215 RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
216 ctags-recursive dvi-recursive html-recursive info-recursive \
217 install-data-recursive install-dvi-recursive \
218 install-exec-recursive install-html-recursive \
219 install-info-recursive install-pdf-recursive \
220 install-ps-recursive install-recursive installcheck-recursive \
221 installdirs-recursive pdf-recursive ps-recursive \
222 tags-recursive uninstall-recursive
223 am__can_run_installinfo = \
224 case $$AM_UPDATE_INFO_DIR in \
225 n|no|NO) false;; \
226 *) (install-info --version) >/dev/null 2>&1;; \
227 esac
228 HEADERS = $(library_include_HEADERS)
229 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
230 distclean-recursive maintainer-clean-recursive
231 am__recursive_targets = \
232 $(RECURSIVE_TARGETS) \
233 $(RECURSIVE_CLEAN_TARGETS) \
234 $(am__extra_recursive_targets)
235 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
236 distdir distdir-am
237 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
238 # Read a list of newline-separated strings from the standard input,
239 # and print each of them once, without duplicates. Input order is
240 # *not* preserved.
241 am__uniquify_input = $(AWK) '\
242 BEGIN { nonempty = 0; } \
243 { items[$$0] = 1; nonempty = 1; } \
244 END { if (nonempty) { for (i in items) print i; }; } \
245 '
246 # Make sure the list of sources is unique. This is necessary because,
247 # e.g., the same source file might be shared among _SOURCES variables
248 # for different programs/libraries.
249 am__define_uniq_tagged_files = \
250 list='$(am__tagged_files)'; \
251 unique=`for i in $$list; do \
252 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
253 done | $(am__uniquify_input)`
254 ETAGS = etags
255 CTAGS = ctags
256 DIST_SUBDIRS = $(SUBDIRS)
257 am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/htp_version.h.in \
258 $(top_srcdir)/depcomp
259 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
260 am__relativize = \
261 dir0=`pwd`; \
262 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
263 sed_rest='s,^[^/]*/*,,'; \
264 sed_last='s,^.*/\([^/]*\)$$,\1,'; \
265 sed_butlast='s,/*[^/]*$$,,'; \
266 while test -n "$$dir1"; do \
267 first=`echo "$$dir1" | sed -e "$$sed_first"`; \
268 if test "$$first" != "."; then \
269 if test "$$first" = ".."; then \
270 dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
271 dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
272 else \
273 first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
274 if test "$$first2" = "$$first"; then \
275 dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
276 else \
277 dir2="../$$dir2"; \
278 fi; \
279 dir0="$$dir0"/"$$first"; \
280 fi; \
281 fi; \
282 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
283 done; \
284 reldir="$$dir2"
285 ACLOCAL = @ACLOCAL@
286 AMTAR = @AMTAR@
287 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
288 AR = @AR@
289 AUTOCONF = @AUTOCONF@
290 AUTOHEADER = @AUTOHEADER@
291 AUTOMAKE = @AUTOMAKE@
292 AWK = @AWK@
293 CC = @CC@
294 CCDEPMODE = @CCDEPMODE@
295 CFLAGS = @CFLAGS@
296 CPP = @CPP@
297 CPPFLAGS = @CPPFLAGS@
298 CXX = @CXX@
299 CXXCPP = @CXXCPP@
300 CXXDEPMODE = @CXXDEPMODE@
301 CXXFLAGS = @CXXFLAGS@
302 CYGPATH_W = @CYGPATH_W@
303 DEFS = @DEFS@
304 DEPDIR = @DEPDIR@
305 DLLTOOL = @DLLTOOL@
306 DOXYGEN = @DOXYGEN@
307 DSYMUTIL = @DSYMUTIL@
308 DUMPBIN = @DUMPBIN@
309 ECHO_C = @ECHO_C@
310 ECHO_N = @ECHO_N@
311 ECHO_T = @ECHO_T@
312 EGREP = @EGREP@
313 EXEEXT = @EXEEXT@
314 FGREP = @FGREP@
315 GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@
316 GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
317 GENERIC_RELEASE = @GENERIC_RELEASE@
318 GENERIC_VERSION = @GENERIC_VERSION@
319 GREP = @GREP@
320 INSTALL = @INSTALL@
321 INSTALL_DATA = @INSTALL_DATA@
322 INSTALL_PROGRAM = @INSTALL_PROGRAM@
323 INSTALL_SCRIPT = @INSTALL_SCRIPT@
324 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
325 LCOV = @LCOV@
326 LD = @LD@
327 LDFLAGS = @LDFLAGS@
328 LIBICONV = @LIBICONV@
329 LIBOBJS = @LIBOBJS@
330 LIBS = @LIBS@
331 LIBTOOL = @LIBTOOL@
332 LIPO = @LIPO@
333 LN_S = @LN_S@
334 LTLIBICONV = @LTLIBICONV@
335 LTLIBOBJS = @LTLIBOBJS@
336 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
337 MAKEINFO = @MAKEINFO@
338 MANIFEST_TOOL = @MANIFEST_TOOL@
339 MKDIR_P = @MKDIR_P@
340 NM = @NM@
341 NMEDIT = @NMEDIT@
342 OBJDUMP = @OBJDUMP@
343 OBJEXT = @OBJEXT@
344 OTOOL = @OTOOL@
345 OTOOL64 = @OTOOL64@
346 PACKAGE = @PACKAGE@
347 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
348 PACKAGE_NAME = @PACKAGE_NAME@
349 PACKAGE_STRING = @PACKAGE_STRING@
350 PACKAGE_TARNAME = @PACKAGE_TARNAME@
351 PACKAGE_URL = @PACKAGE_URL@
352 PACKAGE_VERSION = @PACKAGE_VERSION@
353 PATH_SEPARATOR = @PATH_SEPARATOR@
354 RANLIB = @RANLIB@
355 SED = @SED@
356 SET_MAKE = @SET_MAKE@
357 SHELL = @SHELL@
358 STRIP = @STRIP@
359 VERSION = @VERSION@
360 abs_builddir = @abs_builddir@
361 abs_srcdir = @abs_srcdir@
362 abs_top_builddir = @abs_top_builddir@
363 abs_top_srcdir = @abs_top_srcdir@
364 ac_ct_AR = @ac_ct_AR@
365 ac_ct_CC = @ac_ct_CC@
366 ac_ct_CXX = @ac_ct_CXX@
367 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
368 am__include = @am__include@
369 am__leading_dot = @am__leading_dot@
370 am__quote = @am__quote@
371 am__tar = @am__tar@
372 am__untar = @am__untar@
373 bindir = @bindir@
374 build = @build@
375 build_alias = @build_alias@
376 build_cpu = @build_cpu@
377 build_os = @build_os@
378 build_vendor = @build_vendor@
379 builddir = @builddir@
380 datadir = @datadir@
381 datarootdir = @datarootdir@
382 docdir = @docdir@
383 doxygen = @doxygen@
384 dvidir = @dvidir@
385 exec_prefix = @exec_prefix@
386 host = @host@
387 host_alias = @host_alias@
388 host_cpu = @host_cpu@
389 host_os = @host_os@
390 host_vendor = @host_vendor@
391 htmldir = @htmldir@
392 includedir = @includedir@
393 infodir = @infodir@
394 install_sh = @install_sh@
395 libdir = @libdir@
396 libexecdir = @libexecdir@
397 localedir = @localedir@
398 localstatedir = @localstatedir@
399 mandir = @mandir@
400 mkdir_p = @mkdir_p@
401 oldincludedir = @oldincludedir@
402 pdfdir = @pdfdir@
403 prefix = @prefix@
404 program_transform_name = @program_transform_name@
405 psdir = @psdir@
406 runstatedir = @runstatedir@
407 sbindir = @sbindir@
408 sharedstatedir = @sharedstatedir@
409 srcdir = @srcdir@
410 sysconfdir = @sysconfdir@
411 target_alias = @target_alias@
412 top_build_prefix = @top_build_prefix@
413 top_builddir = @top_builddir@
414 top_srcdir = @top_srcdir@
415 SUBDIRS = lzma
416 h_sources = bstr.h bstr_builder.h htp.h htp_base64.h htp_config.h htp_connection_parser.h \
417 htp_core.h htp_decompressors.h htp_hooks.h htp_list.h \
418 htp_multipart.h htp_table.h htp_transaction.h \
419 htp_urlencoded.h htp_utf8_decoder.h htp_version.h
420
421 h_sources_private = htp_config_private.h htp_connection_private.h htp_connection_parser_private.h htp_list_private.h \
422 htp_multipart_private.h htp_private.h htp_table_private.h htp_config_auto.h
423
424 c_sources = bstr.c bstr_builder.c htp_base64.c htp_config.c htp_connection.c htp_connection_parser.c \
425 htp_content_handlers.c htp_cookies.c htp_decompressors.c htp_hooks.c htp_list.c htp_multipart.c htp_parsers.c \
426 htp_php.c htp_request.c htp_request_apache_2_2.c htp_request_generic.c htp_request_parsers.c htp_response.c \
427 htp_response_generic.c htp_table.c htp_transaction.c htp_transcoder.c htp_urlencoded.c htp_util.c htp_utf8_decoder.c \
428 strlcpy.c strlcat.c
429
430 library_includedir = $(includedir)/$(GENERIC_LIBRARY_NAME)
431 library_include_HEADERS = $(h_sources)
432 AM_CFLAGS = -I$(top_srcdir) -I$(top_builddir)/htp -D_GNU_SOURCE -g -Wall -Wextra -std=gnu99 -pedantic \
433 -Wextra -Wno-missing-field-initializers -Wshadow -Wpointer-arith \
434 -Wstrict-prototypes -Wmissing-prototypes -Wno-unused-parameter
435
436 noinst_LTLIBRARIES = libhtp-c.la
437 libhtp_c_la_SOURCES = $(h_sources) $(h_sources_private) $(c_sources)
438 lib_LTLIBRARIES = libhtp.la
439 libhtp_la_SOURCES =
440 libhtp_la_LIBADD = libhtp-c.la lzma/liblzma-c.la
441 libhtp_la_LDFLAGS = -version-info $(GENERIC_LIBRARY_VERSION)
442 all: all-recursive
443
444 .SUFFIXES:
445 .SUFFIXES: .c .lo .o .obj
446 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
447 @for dep in $?; do \
448 case '$(am__configure_deps)' in \
449 *$$dep*) \
450 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
451 && { if test -f $@; then exit 0; else break; fi; }; \
452 exit 1;; \
453 esac; \
454 done; \
455 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu htp/Makefile'; \
456 $(am__cd) $(top_srcdir) && \
457 $(AUTOMAKE) --gnu htp/Makefile
458 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
459 @case '$?' in \
460 *config.status*) \
461 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
462 *) \
463 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
464 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
465 esac;
466
467 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
468 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
469
470 $(top_srcdir)/configure: $(am__configure_deps)
471 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
472 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
473 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
474 $(am__aclocal_m4_deps):
475 htp_version.h: $(top_builddir)/config.status $(srcdir)/htp_version.h.in
476 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
477
478 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
479 @$(NORMAL_INSTALL)
480 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
481 list2=; for p in $$list; do \
482 if test -f $$p; then \
483 list2="$$list2 $$p"; \
484 else :; fi; \
485 done; \
486 test -z "$$list2" || { \
487 echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
488 $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
489 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
490 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
491 }
492
493 uninstall-libLTLIBRARIES:
494 @$(NORMAL_UNINSTALL)
495 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
496 for p in $$list; do \
497 $(am__strip_dir) \
498 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
499 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
500 done
501
502 clean-libLTLIBRARIES:
503 -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
504 @list='$(lib_LTLIBRARIES)'; \
505 locs=`for p in $$list; do echo $$p; done | \
506 sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
507 sort -u`; \
508 test -z "$$locs" || { \
509 echo rm -f $${locs}; \
510 rm -f $${locs}; \
511 }
512
513 clean-noinstLTLIBRARIES:
514 -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
515 @list='$(noinst_LTLIBRARIES)'; \
516 locs=`for p in $$list; do echo $$p; done | \
517 sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
518 sort -u`; \
519 test -z "$$locs" || { \
520 echo rm -f $${locs}; \
521 rm -f $${locs}; \
522 }
523
524 libhtp-c.la: $(libhtp_c_la_OBJECTS) $(libhtp_c_la_DEPENDENCIES) $(EXTRA_libhtp_c_la_DEPENDENCIES)
525 $(AM_V_CCLD)$(LINK) $(libhtp_c_la_OBJECTS) $(libhtp_c_la_LIBADD) $(LIBS)
526
527 libhtp.la: $(libhtp_la_OBJECTS) $(libhtp_la_DEPENDENCIES) $(EXTRA_libhtp_la_DEPENDENCIES)
528 $(AM_V_CCLD)$(libhtp_la_LINK) -rpath $(libdir) $(libhtp_la_OBJECTS) $(libhtp_la_LIBADD) $(LIBS)
529
530 mostlyclean-compile:
531 -rm -f *.$(OBJEXT)
532
533 distclean-compile:
534 -rm -f *.tab.c
535
536 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bstr.Plo@am__quote@ # am--include-marker
537 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bstr_builder.Plo@am__quote@ # am--include-marker
538 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_base64.Plo@am__quote@ # am--include-marker
539 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_config.Plo@am__quote@ # am--include-marker
540 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_connection.Plo@am__quote@ # am--include-marker
541 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_connection_parser.Plo@am__quote@ # am--include-marker
542 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_content_handlers.Plo@am__quote@ # am--include-marker
543 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_cookies.Plo@am__quote@ # am--include-marker
544 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_decompressors.Plo@am__quote@ # am--include-marker
545 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_hooks.Plo@am__quote@ # am--include-marker
546 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_list.Plo@am__quote@ # am--include-marker
547 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_multipart.Plo@am__quote@ # am--include-marker
548 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_parsers.Plo@am__quote@ # am--include-marker
549 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_php.Plo@am__quote@ # am--include-marker
550 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_request.Plo@am__quote@ # am--include-marker
551 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_request_apache_2_2.Plo@am__quote@ # am--include-marker
552 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_request_generic.Plo@am__quote@ # am--include-marker
553 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_request_parsers.Plo@am__quote@ # am--include-marker
554 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_response.Plo@am__quote@ # am--include-marker
555 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_response_generic.Plo@am__quote@ # am--include-marker
556 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_table.Plo@am__quote@ # am--include-marker
557 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_transaction.Plo@am__quote@ # am--include-marker
558 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_transcoder.Plo@am__quote@ # am--include-marker
559 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_urlencoded.Plo@am__quote@ # am--include-marker
560 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_utf8_decoder.Plo@am__quote@ # am--include-marker
561 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htp_util.Plo@am__quote@ # am--include-marker
562 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strlcat.Plo@am__quote@ # am--include-marker
563 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strlcpy.Plo@am__quote@ # am--include-marker
564
565 $(am__depfiles_remade):
566 @$(MKDIR_P) $(@D)
567 @echo '# dummy' >$@-t && $(am__mv) $@-t $@
568
569 am--depfiles: $(am__depfiles_remade)
570
571 .c.o:
572 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
573 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
574 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
575 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
576 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
577
578 .c.obj:
579 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
580 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
581 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
582 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
583 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
584
585 .c.lo:
586 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
587 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
588 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
589 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
590 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
591
592 mostlyclean-libtool:
593 -rm -f *.lo
594
595 clean-libtool:
596 -rm -rf .libs _libs
597 install-library_includeHEADERS: $(library_include_HEADERS)
598 @$(NORMAL_INSTALL)
599 @list='$(library_include_HEADERS)'; test -n "$(library_includedir)" || list=; \
600 if test -n "$$list"; then \
601 echo " $(MKDIR_P) '$(DESTDIR)$(library_includedir)'"; \
602 $(MKDIR_P) "$(DESTDIR)$(library_includedir)" || exit 1; \
603 fi; \
604 for p in $$list; do \
605 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
606 echo "$$d$$p"; \
607 done | $(am__base_list) | \
608 while read files; do \
609 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(library_includedir)'"; \
610 $(INSTALL_HEADER) $$files "$(DESTDIR)$(library_includedir)" || exit $$?; \
611 done
612
613 uninstall-library_includeHEADERS:
614 @$(NORMAL_UNINSTALL)
615 @list='$(library_include_HEADERS)'; test -n "$(library_includedir)" || list=; \
616 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
617 dir='$(DESTDIR)$(library_includedir)'; $(am__uninstall_files_from_dir)
618
619 # This directory's subdirectories are mostly independent; you can cd
620 # into them and run 'make' without going through this Makefile.
621 # To change the values of 'make' variables: instead of editing Makefiles,
622 # (1) if the variable is set in 'config.status', edit 'config.status'
623 # (which will cause the Makefiles to be regenerated when you run 'make');
624 # (2) otherwise, pass the desired values on the 'make' command line.
625 $(am__recursive_targets):
626 @fail=; \
627 if $(am__make_keepgoing); then \
628 failcom='fail=yes'; \
629 else \
630 failcom='exit 1'; \
631 fi; \
632 dot_seen=no; \
633 target=`echo $@ | sed s/-recursive//`; \
634 case "$@" in \
635 distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
636 *) list='$(SUBDIRS)' ;; \
637 esac; \
638 for subdir in $$list; do \
639 echo "Making $$target in $$subdir"; \
640 if test "$$subdir" = "."; then \
641 dot_seen=yes; \
642 local_target="$$target-am"; \
643 else \
644 local_target="$$target"; \
645 fi; \
646 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
647 || eval $$failcom; \
648 done; \
649 if test "$$dot_seen" = "no"; then \
650 $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
651 fi; test -z "$$fail"
652
653 ID: $(am__tagged_files)
654 $(am__define_uniq_tagged_files); mkid -fID $$unique
655 tags: tags-recursive
656 TAGS: tags
657
658 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
659 set x; \
660 here=`pwd`; \
661 if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
662 include_option=--etags-include; \
663 empty_fix=.; \
664 else \
665 include_option=--include; \
666 empty_fix=; \
667 fi; \
668 list='$(SUBDIRS)'; for subdir in $$list; do \
669 if test "$$subdir" = .; then :; else \
670 test ! -f $$subdir/TAGS || \
671 set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
672 fi; \
673 done; \
674 $(am__define_uniq_tagged_files); \
675 shift; \
676 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
677 test -n "$$unique" || unique=$$empty_fix; \
678 if test $$# -gt 0; then \
679 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
680 "$$@" $$unique; \
681 else \
682 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
683 $$unique; \
684 fi; \
685 fi
686 ctags: ctags-recursive
687
688 CTAGS: ctags
689 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
690 $(am__define_uniq_tagged_files); \
691 test -z "$(CTAGS_ARGS)$$unique" \
692 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
693 $$unique
694
695 GTAGS:
696 here=`$(am__cd) $(top_builddir) && pwd` \
697 && $(am__cd) $(top_srcdir) \
698 && gtags -i $(GTAGS_ARGS) "$$here"
699 cscopelist: cscopelist-recursive
700
701 cscopelist-am: $(am__tagged_files)
702 list='$(am__tagged_files)'; \
703 case "$(srcdir)" in \
704 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
705 *) sdir=$(subdir)/$(srcdir) ;; \
706 esac; \
707 for i in $$list; do \
708 if test -f "$$i"; then \
709 echo "$(subdir)/$$i"; \
710 else \
711 echo "$$sdir/$$i"; \
712 fi; \
713 done >> $(top_builddir)/cscope.files
714
715 distclean-tags:
716 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
717
718 distdir: $(BUILT_SOURCES)
719 $(MAKE) $(AM_MAKEFLAGS) distdir-am
720
721 distdir-am: $(DISTFILES)
722 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
723 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
724 list='$(DISTFILES)'; \
725 dist_files=`for file in $$list; do echo $$file; done | \
726 sed -e "s|^$$srcdirstrip/||;t" \
727 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
728 case $$dist_files in \
729 */*) $(MKDIR_P) `echo "$$dist_files" | \
730 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
731 sort -u` ;; \
732 esac; \
733 for file in $$dist_files; do \
734 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
735 if test -d $$d/$$file; then \
736 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
737 if test -d "$(distdir)/$$file"; then \
738 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
739 fi; \
740 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
741 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
742 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
743 fi; \
744 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
745 else \
746 test -f "$(distdir)/$$file" \
747 || cp -p $$d/$$file "$(distdir)/$$file" \
748 || exit 1; \
749 fi; \
750 done
751 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
752 if test "$$subdir" = .; then :; else \
753 $(am__make_dryrun) \
754 || test -d "$(distdir)/$$subdir" \
755 || $(MKDIR_P) "$(distdir)/$$subdir" \
756 || exit 1; \
757 dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
758 $(am__relativize); \
759 new_distdir=$$reldir; \
760 dir1=$$subdir; dir2="$(top_distdir)"; \
761 $(am__relativize); \
762 new_top_distdir=$$reldir; \
763 echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
764 echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
765 ($(am__cd) $$subdir && \
766 $(MAKE) $(AM_MAKEFLAGS) \
767 top_distdir="$$new_top_distdir" \
768 distdir="$$new_distdir" \
769 am__remove_distdir=: \
770 am__skip_length_check=: \
771 am__skip_mode_fix=: \
772 distdir) \
773 || exit 1; \
774 fi; \
775 done
776 check-am: all-am
777 check: check-recursive
778 all-am: Makefile $(LTLIBRARIES) $(HEADERS)
779 installdirs: installdirs-recursive
780 installdirs-am:
781 for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(library_includedir)"; do \
782 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
783 done
784 install: install-recursive
785 install-exec: install-exec-recursive
786 install-data: install-data-recursive
787 uninstall: uninstall-recursive
788
789 install-am: all-am
790 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
791
792 installcheck: installcheck-recursive
793 install-strip:
794 if test -z '$(STRIP)'; then \
795 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
796 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
797 install; \
798 else \
799 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
800 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
801 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
802 fi
803 mostlyclean-generic:
804
805 clean-generic:
806
807 distclean-generic:
808 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
809 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
810
811 maintainer-clean-generic:
812 @echo "This command is intended for maintainers to use"
813 @echo "it deletes files that may require special tools to rebuild."
814 clean: clean-recursive
815
816 clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
817 clean-noinstLTLIBRARIES mostlyclean-am
818
819 distclean: distclean-recursive
820 -rm -f ./$(DEPDIR)/bstr.Plo
821 -rm -f ./$(DEPDIR)/bstr_builder.Plo
822 -rm -f ./$(DEPDIR)/htp_base64.Plo
823 -rm -f ./$(DEPDIR)/htp_config.Plo
824 -rm -f ./$(DEPDIR)/htp_connection.Plo
825 -rm -f ./$(DEPDIR)/htp_connection_parser.Plo
826 -rm -f ./$(DEPDIR)/htp_content_handlers.Plo
827 -rm -f ./$(DEPDIR)/htp_cookies.Plo
828 -rm -f ./$(DEPDIR)/htp_decompressors.Plo
829 -rm -f ./$(DEPDIR)/htp_hooks.Plo
830 -rm -f ./$(DEPDIR)/htp_list.Plo
831 -rm -f ./$(DEPDIR)/htp_multipart.Plo
832 -rm -f ./$(DEPDIR)/htp_parsers.Plo
833 -rm -f ./$(DEPDIR)/htp_php.Plo
834 -rm -f ./$(DEPDIR)/htp_request.Plo
835 -rm -f ./$(DEPDIR)/htp_request_apache_2_2.Plo
836 -rm -f ./$(DEPDIR)/htp_request_generic.Plo
837 -rm -f ./$(DEPDIR)/htp_request_parsers.Plo
838 -rm -f ./$(DEPDIR)/htp_response.Plo
839 -rm -f ./$(DEPDIR)/htp_response_generic.Plo
840 -rm -f ./$(DEPDIR)/htp_table.Plo
841 -rm -f ./$(DEPDIR)/htp_transaction.Plo
842 -rm -f ./$(DEPDIR)/htp_transcoder.Plo
843 -rm -f ./$(DEPDIR)/htp_urlencoded.Plo
844 -rm -f ./$(DEPDIR)/htp_utf8_decoder.Plo
845 -rm -f ./$(DEPDIR)/htp_util.Plo
846 -rm -f ./$(DEPDIR)/strlcat.Plo
847 -rm -f ./$(DEPDIR)/strlcpy.Plo
848 -rm -f Makefile
849 distclean-am: clean-am distclean-compile distclean-generic \
850 distclean-tags
851
852 dvi: dvi-recursive
853
854 dvi-am:
855
856 html: html-recursive
857
858 html-am:
859
860 info: info-recursive
861
862 info-am:
863
864 install-data-am: install-library_includeHEADERS
865
866 install-dvi: install-dvi-recursive
867
868 install-dvi-am:
869
870 install-exec-am: install-libLTLIBRARIES
871
872 install-html: install-html-recursive
873
874 install-html-am:
875
876 install-info: install-info-recursive
877
878 install-info-am:
879
880 install-man:
881
882 install-pdf: install-pdf-recursive
883
884 install-pdf-am:
885
886 install-ps: install-ps-recursive
887
888 install-ps-am:
889
890 installcheck-am:
891
892 maintainer-clean: maintainer-clean-recursive
893 -rm -f ./$(DEPDIR)/bstr.Plo
894 -rm -f ./$(DEPDIR)/bstr_builder.Plo
895 -rm -f ./$(DEPDIR)/htp_base64.Plo
896 -rm -f ./$(DEPDIR)/htp_config.Plo
897 -rm -f ./$(DEPDIR)/htp_connection.Plo
898 -rm -f ./$(DEPDIR)/htp_connection_parser.Plo
899 -rm -f ./$(DEPDIR)/htp_content_handlers.Plo
900 -rm -f ./$(DEPDIR)/htp_cookies.Plo
901 -rm -f ./$(DEPDIR)/htp_decompressors.Plo
902 -rm -f ./$(DEPDIR)/htp_hooks.Plo
903 -rm -f ./$(DEPDIR)/htp_list.Plo
904 -rm -f ./$(DEPDIR)/htp_multipart.Plo
905 -rm -f ./$(DEPDIR)/htp_parsers.Plo
906 -rm -f ./$(DEPDIR)/htp_php.Plo
907 -rm -f ./$(DEPDIR)/htp_request.Plo
908 -rm -f ./$(DEPDIR)/htp_request_apache_2_2.Plo
909 -rm -f ./$(DEPDIR)/htp_request_generic.Plo
910 -rm -f ./$(DEPDIR)/htp_request_parsers.Plo
911 -rm -f ./$(DEPDIR)/htp_response.Plo
912 -rm -f ./$(DEPDIR)/htp_response_generic.Plo
913 -rm -f ./$(DEPDIR)/htp_table.Plo
914 -rm -f ./$(DEPDIR)/htp_transaction.Plo
915 -rm -f ./$(DEPDIR)/htp_transcoder.Plo
916 -rm -f ./$(DEPDIR)/htp_urlencoded.Plo
917 -rm -f ./$(DEPDIR)/htp_utf8_decoder.Plo
918 -rm -f ./$(DEPDIR)/htp_util.Plo
919 -rm -f ./$(DEPDIR)/strlcat.Plo
920 -rm -f ./$(DEPDIR)/strlcpy.Plo
921 -rm -f Makefile
922 maintainer-clean-am: distclean-am maintainer-clean-generic
923
924 mostlyclean: mostlyclean-recursive
925
926 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
927 mostlyclean-libtool
928
929 pdf: pdf-recursive
930
931 pdf-am:
932
933 ps: ps-recursive
934
935 ps-am:
936
937 uninstall-am: uninstall-libLTLIBRARIES \
938 uninstall-library_includeHEADERS
939
940 .MAKE: $(am__recursive_targets) install-am install-strip
941
942 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
943 am--depfiles check check-am clean clean-generic \
944 clean-libLTLIBRARIES clean-libtool clean-noinstLTLIBRARIES \
945 cscopelist-am ctags ctags-am distclean distclean-compile \
946 distclean-generic distclean-libtool distclean-tags distdir dvi \
947 dvi-am html html-am info info-am install install-am \
948 install-data install-data-am install-dvi install-dvi-am \
949 install-exec install-exec-am install-html install-html-am \
950 install-info install-info-am install-libLTLIBRARIES \
951 install-library_includeHEADERS install-man install-pdf \
952 install-pdf-am install-ps install-ps-am install-strip \
953 installcheck installcheck-am installdirs installdirs-am \
954 maintainer-clean maintainer-clean-generic mostlyclean \
955 mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
956 pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
957 uninstall-libLTLIBRARIES uninstall-library_includeHEADERS
958
959 .PRECIOUS: Makefile
960
961
962 # Tell versions [3.59,3.63) of GNU make to not export all variables.
963 # Otherwise a system limit (for SysV at least) may be exceeded.
964 .NOEXPORT:
152152 cfg->field_limit_soft = HTP_FIELD_LIMIT_SOFT;
153153 cfg->log_level = HTP_LOG_NOTICE;
154154 cfg->response_decompression_enabled = 1;
155 cfg->request_decompression_enabled = 0; // disabled by default
155156 cfg->parse_request_cookies = 1;
156157 cfg->parse_request_auth = 1;
157158 cfg->extract_request_files = 0;
559560 cfg->response_decompression_enabled = enabled;
560561 }
561562
563 void htp_config_set_request_decompression(htp_cfg_t *cfg, int enabled) {
564 if (cfg == NULL) return;
565 cfg->request_decompression_enabled = enabled;
566 }
567
562568 int htp_config_set_server_personality(htp_cfg_t *cfg, enum htp_server_personality_t personality) {
563569 if (cfg == NULL) return HTP_ERROR;
564570
576576 void htp_config_set_response_decompression(htp_cfg_t *cfg, int enabled);
577577
578578 /**
579 * Controls whether compressed request bodies will be automatically decompressed.
580 *
581 * @param[in] cfg
582 * @param[in] enabled set to 1 to enable decompression, 0 otherwise
583 */
584 void htp_config_set_request_decompression(htp_cfg_t *cfg, int enabled);
585
586 /**
579587 * Configure desired server personality.
580588 *
581589 * @param[in] cfg
353353
354354 /** How many layers of compression we will decompress (0 => no lzma). */
355355 int response_lzma_layer_limit;
356
357 /** Whether to decompress compressed request bodies. */
358 int request_decompression_enabled;
356359 };
357360
358361 #ifdef __cplusplus
254254
255255 /** On a PUT request, this field contains additional file data. */
256256 htp_file_t *put_file;
257
258 /** Request decompressor used to decompress request body data. */
259 htp_decompressor_t *req_decompressor;
257260 };
258261
259262 /**
188188
189189 // Pass-through the NULL chunk, which indicates the end of the stream.
190190
191 if (drec->passthrough) {
191 if (drec->super.passthrough) {
192192 htp_tx_data_t d2;
193193 d2.tx = d->tx;
194194 d2.data = d->data;
390390 drec->stream.next_out = drec->buffer;
391391
392392 /* successfully passed through, lets continue doing that */
393 drec->passthrough = 1;
393 drec->super.passthrough = 1;
394394 return HTP_OK;
395395 }
396396 }
443443 LzmaDec_Construct(&drec->state);
444444 } else {
445445 htp_log(connp, HTP_LOG_MARK, HTP_LOG_WARNING, 0, "LZMA decompression disabled");
446 drec->passthrough = 1;
446 drec->super.passthrough = 1;
447447 }
448448 rc = Z_OK;
449449 break;
6161 struct timeval time_before;
6262 int32_t time_spent;
6363 uint32_t nb_callbacks;
64 uint8_t passthrough; /**< decompression failed, pass through raw data */
6465 };
6566
6667 struct htp_decompressor_gzip_t {
7071 #endif
7172 int zlib_initialized;
7273 uint8_t restart; /**< deflate restarted to try rfc1950 instead of 1951 */
73 uint8_t passthrough; /**< decompression failed, pass through raw data */
7474 z_stream stream;
7575 uint8_t header[LZMA_PROPS_SIZE + 8];
7676 uint8_t header_len;
112112 * @return HTP_OK, or a value returned from a callback.
113113 */
114114 static htp_status_t htp_connp_req_receiver_set(htp_connp_t *connp, htp_hook_t *data_receiver_hook) {
115 htp_connp_req_receiver_finalize_clear(connp);
115 htp_status_t rc = htp_connp_req_receiver_finalize_clear(connp);
116116
117117 connp->in_data_receiver_hook = data_receiver_hook;
118118 connp->in_current_receiver_offset = connp->in_current_read_offset;
119119
120 return HTP_OK;
120 return rc;
121121 }
122122
123123 /**
131131 * @return HTP_OK, or a value returned from a callback.
132132 */
133133 static htp_status_t htp_connp_res_receiver_set(htp_connp_t *connp, htp_hook_t *data_receiver_hook) {
134 htp_connp_res_receiver_finalize_clear(connp);
134 htp_status_t rc = htp_connp_res_receiver_finalize_clear(connp);
135135
136136 connp->out_data_receiver_hook = data_receiver_hook;
137137 connp->out_current_receiver_offset = connp->out_current_read_offset;
138138
139 return HTP_OK;
139 return rc;
140140 }
141141
142142 /**
417417 connp->out_chunked_length = htp_parse_chunked_length(data, len);
418418
419419 // empty chunk length line, lets try to continue
420 if (connp->out_chunked_length == -1004)
420 if (connp->out_chunked_length == -1004) {
421 connp->out_current_consume_offset = connp->out_current_read_offset;
421422 continue;
423 }
422424 if (connp->out_chunked_length < 0) {
423425 // reset out_current_read_offset so htp_connp_RES_BODY_IDENTITY_STREAM_CLOSE
424426 // doesn't miss the first bytes
3939
4040 #include "htp_private.h"
4141
42 static void htp_tx_req_destroy_decompressors(htp_connp_t *connp);
43 static htp_status_t htp_tx_req_process_body_data_decompressor_callback(htp_tx_data_t *d);
44
4245 static bstr *copy_or_wrap_mem(const void *data, size_t len, enum htp_alloc_strategy_t alloc) {
4346 if (data == NULL) return NULL;
4447
360363 // Determine if we have a request body, and how it is packaged.
361364
362365 htp_status_t rc = HTP_OK;
366
367 if (tx->connp->cfg->request_decompression_enabled) {
368 tx->request_content_encoding = HTP_COMPRESSION_NONE;
369 htp_header_t *ce = htp_table_get_c(tx->request_headers, "content-encoding");
370 if (ce != NULL) {
371 /* fast paths: regular gzip and friends */
372 if ((bstr_cmp_c_nocasenorzero(ce->value, "gzip") == 0) ||
373 (bstr_cmp_c_nocasenorzero(ce->value, "x-gzip") == 0)) {
374 tx->request_content_encoding = HTP_COMPRESSION_GZIP;
375 } else if ((bstr_cmp_c_nocasenorzero(ce->value, "deflate") == 0) ||
376 (bstr_cmp_c_nocasenorzero(ce->value, "x-deflate") == 0)) {
377 tx->request_content_encoding = HTP_COMPRESSION_DEFLATE;
378 } else if (bstr_cmp_c_nocasenorzero(ce->value, "lzma") == 0) {
379 tx->request_content_encoding = HTP_COMPRESSION_LZMA;
380 }
381 //ignore other cases such as inflate, ot multiple layers
382 if ((tx->request_content_encoding != HTP_COMPRESSION_NONE))
383 {
384 if (tx->connp->req_decompressor != NULL) {
385 htp_tx_req_destroy_decompressors(tx->connp);
386 }
387 tx->connp->req_decompressor = htp_gzip_decompressor_create(tx->connp, tx->request_content_encoding);
388 if (tx->connp->req_decompressor == NULL)
389 return HTP_ERROR;
390
391 tx->connp->req_decompressor->callback = htp_tx_req_process_body_data_decompressor_callback;
392 }
393 }
394 }
363395
364396 htp_header_t *cl = htp_table_get_c(tx->request_headers, "content-length");
365397 htp_header_t *te = htp_table_get_c(tx->request_headers, "transfer-encoding");
573605 // NULL data is allowed in this private function; it's
574606 // used to indicate the end of request body.
575607
576 // Keep track of the body length.
577 tx->request_entity_len += len;
578
579608 // Send data to the callbacks.
580609
581610 htp_tx_data_t d;
583612 d.data = (unsigned char *) data;
584613 d.len = len;
585614
586 htp_status_t rc = htp_req_run_hook_body_data(tx->connp, &d);
587 if (rc != HTP_OK) {
588 htp_log(tx->connp, HTP_LOG_MARK, HTP_LOG_ERROR, 0, "Request body data callback returned error (%d)", rc);
589 return HTP_ERROR;
615 switch(tx->request_content_encoding) {
616 case HTP_COMPRESSION_UNKNOWN:
617 case HTP_COMPRESSION_NONE:
618 // When there's no decompression, request_entity_len.
619 // is identical to request_message_len.
620 tx->request_entity_len += d.len;
621 htp_status_t rc = htp_req_run_hook_body_data(tx->connp, &d);
622 if (rc != HTP_OK) {
623 htp_log(tx->connp, HTP_LOG_MARK, HTP_LOG_ERROR, 0, "Request body data callback returned error (%d)", rc);
624 return HTP_ERROR;
625 }
626 break;
627
628 case HTP_COMPRESSION_GZIP:
629 case HTP_COMPRESSION_DEFLATE:
630 case HTP_COMPRESSION_LZMA:
631 // In severe memory stress these could be NULL
632 if (tx->connp->req_decompressor == NULL || tx->connp->req_decompressor->decompress == NULL)
633 return HTP_ERROR;
634
635 // Send data buffer to the decompressor.
636 tx->connp->req_decompressor->decompress(tx->connp->req_decompressor, &d);
637
638 if (data == NULL) {
639 // Shut down the decompressor, if we used one.
640 htp_tx_req_destroy_decompressors(tx->connp);
641 }
642 break;
643
644 default:
645 // Internal error.
646 htp_log(tx->connp, HTP_LOG_MARK, HTP_LOG_ERROR, 0,
647 "[Internal Error] Invalid tx->request_content_encoding value: %d",
648 tx->request_content_encoding);
649 return HTP_ERROR;
590650 }
591651
592652 return HTP_OK;
755815 return HTP_OK;
756816 }
757817
758 void htp_connp_destroy_decompressors(htp_connp_t *connp) {
759 htp_decompressor_t *comp = connp->out_decompressor;
760 while (comp) {
761 htp_decompressor_t *next = comp->next;
762 comp->destroy(comp);
763 comp = next;
764 }
765 connp->out_decompressor = NULL;
766 }
767
768818 /** \internal
769819 *
770820 * Clean up decompressor(s).
771821 *
772822 * @param[in] tx
773823 */
774 static void htp_tx_res_destroy_decompressors(htp_tx_t *tx) {
775 htp_connp_destroy_decompressors(tx->connp);
824 static void htp_tx_res_destroy_decompressors(htp_connp_t *connp) {
825 htp_decompressor_t *comp = connp->out_decompressor;
826 while (comp) {
827 htp_decompressor_t *next = comp->next;
828 comp->destroy(comp);
829 comp = next;
830 }
831 connp->out_decompressor = NULL;
832 }
833
834 static void htp_tx_req_destroy_decompressors(htp_connp_t *connp) {
835 htp_decompressor_t *comp = connp->req_decompressor;
836 while (comp) {
837 htp_decompressor_t *next = comp->next;
838 comp->destroy(comp);
839 comp = next;
840 }
841 connp->req_decompressor = NULL;
842 }
843
844 void htp_connp_destroy_decompressors(htp_connp_t *connp) {
845 htp_tx_res_destroy_decompressors(connp);
846 htp_tx_req_destroy_decompressors(connp);
776847 }
777848
778849 static htp_status_t htp_timer_track(int32_t *time_spent, struct timeval * after, struct timeval *before) {
788859 }
789860 return HTP_OK;
790861 }
862
863 static htp_status_t htp_tx_req_process_body_data_decompressor_callback(htp_tx_data_t *d) {
864 if (d == NULL) return HTP_ERROR;
865
866 #if HTP_DEBUG
867 fprint_raw_data(stderr, __func__, d->data, d->len);
868 #endif
869
870 // Keep track of actual request body length.
871 d->tx->request_entity_len += d->len;
872
873 // Invoke all callbacks.
874 htp_status_t rc = htp_req_run_hook_body_data(d->tx->connp, d);
875 if (rc != HTP_OK) return HTP_ERROR;
876 d->tx->connp->req_decompressor->nb_callbacks++;
877 if (d->tx->connp->req_decompressor->nb_callbacks % HTP_COMPRESSION_TIME_FREQ_TEST == 0) {
878 struct timeval after;
879 gettimeofday(&after, NULL);
880 // sanity check for race condition if system time changed
881 if ( htp_timer_track(&d->tx->connp->req_decompressor->time_spent, &after, &d->tx->connp->req_decompressor->time_before) == HTP_OK) {
882 // updates last tracked time
883 d->tx->connp->req_decompressor->time_before = after;
884 if (d->tx->connp->req_decompressor->time_spent > d->tx->connp->cfg->compression_time_limit ) {
885 htp_log(d->tx->connp, HTP_LOG_MARK, HTP_LOG_ERROR, 0,
886 "Compression bomb: spent %"PRId32" us decompressing",
887 d->tx->connp->req_decompressor->time_spent);
888 d->tx->connp->req_decompressor->passthrough = 1;
889 }
890 }
891
892 }
893 if (d->tx->request_entity_len > d->tx->connp->cfg->compression_bomb_limit &&
894 d->tx->request_entity_len > HTP_COMPRESSION_BOMB_RATIO * d->tx->request_message_len) {
895 htp_log(d->tx->connp, HTP_LOG_MARK, HTP_LOG_ERROR, 0,
896 "Compression bomb: decompressed %"PRId64" bytes out of %"PRId64,
897 d->tx->request_entity_len, d->tx->request_message_len);
898 return HTP_ERROR;
899 }
900
901 return HTP_OK;
902 }
903
791904 static htp_status_t htp_tx_res_process_body_data_decompressor_callback(htp_tx_data_t *d) {
792905 if (d == NULL) return HTP_ERROR;
793906
811924 d->tx->connp->out_decompressor->time_before = after;
812925 if (d->tx->connp->out_decompressor->time_spent > d->tx->connp->cfg->compression_time_limit ) {
813926 htp_log(d->tx->connp, HTP_LOG_MARK, HTP_LOG_ERROR, 0,
814 "Compression bomb: spent %"PRId64" us decompressing",
927 "Compression bomb: spent %"PRId32" us decompressing",
815928 d->tx->connp->out_decompressor->time_spent);
816 return HTP_ERROR;
929 d->tx->connp->out_decompressor->passthrough = 1;
817930 }
818931 }
819932
873986 if ( htp_timer_track(&tx->connp->out_decompressor->time_spent, &after, &tx->connp->out_decompressor->time_before) == HTP_OK) {
874987 if ( tx->connp->out_decompressor->time_spent > tx->connp->cfg->compression_time_limit ) {
875988 htp_log(tx->connp, HTP_LOG_MARK, HTP_LOG_ERROR, 0,
876 "Compression bomb: spent %"PRId64" us decompressing",
989 "Compression bomb: spent %"PRId32" us decompressing",
877990 tx->connp->out_decompressor->time_spent);
878 return HTP_ERROR;
991 tx->connp->out_decompressor->passthrough = 1;
879992 }
880993 }
881994
882995 if (data == NULL) {
883996 // Shut down the decompressor, if we used one.
884 htp_tx_res_destroy_decompressors(tx);
997 htp_tx_res_destroy_decompressors(tx->connp);
885998 }
886999 break;
8871000
9201033 // Run hook REQUEST_COMPLETE.
9211034 htp_status_t rc = htp_hook_run_all(tx->connp->cfg->hook_request_complete, tx);
9221035 if (rc != HTP_OK) return rc;
1036 rc = htp_connp_req_receiver_finalize_clear(tx->connp);
1037 if (rc != HTP_OK) return rc;
9231038
9241039 // Clean-up.
9251040 if (tx->connp->put_file != NULL) {
11011216
11021217 // Run hook RESPONSE_COMPLETE.
11031218 htp_status_t rc = htp_hook_run_all(tx->connp->cfg->hook_response_complete, tx);
1219 if (rc != HTP_OK) return rc;
1220
1221 // Clear the data receivers hook if any
1222 rc = htp_connp_res_receiver_finalize_clear(tx->connp);
11041223 if (rc != HTP_OK) return rc;
11051224 }
11061225
12651384 ce_multi_comp)
12661385 {
12671386 if (tx->connp->out_decompressor != NULL) {
1268 htp_tx_res_destroy_decompressors(tx);
1387 htp_tx_res_destroy_decompressors(tx->connp);
12691388 }
12701389
12711390 /* normal case */
13101429 break;
13111430 }
13121431
1432 nblzma++;
13131433 if (bstr_util_mem_index_of_c_nocase(tok, tok_len, "gzip") != -1) {
13141434 if (!(bstr_util_cmp_mem(tok, tok_len, "gzip", 4) == 0 ||
13151435 bstr_util_cmp_mem(tok, tok_len, "x-gzip", 6) == 0)) {
13261446 cetype = HTP_COMPRESSION_DEFLATE;
13271447 } else if (bstr_util_cmp_mem(tok, tok_len, "lzma", 4) == 0) {
13281448 cetype = HTP_COMPRESSION_LZMA;
1329 nblzma++;
13301449 if (nblzma > tx->connp->cfg->response_lzma_layer_limit) {
13311450 htp_log(tx->connp, HTP_LOG_MARK, HTP_LOG_ERROR, 0,
1332 "Compression bomb: double lzma encoding");
1451 "Compression bomb: multiple encoding with lzma");
13331452 break;
13341453 }
13351454 } else if (bstr_util_cmp_mem(tok, tok_len, "inflate", 7) == 0) {
0 /***************************************************************************
1 * Copyright (c) 2009-2010 Open Information Security Foundation
2 * Copyright (c) 2010-2013 Qualys, Inc.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met:
8 *
9 * - Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11
12 * - Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15
16 * - Neither the name of the Qualys, Inc. nor the names of its
17 * contributors may be used to endorse or promote products derived from
18 * this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 ***************************************************************************/
32
33 /**
34 * @file
35 * @author Ivan Ristic <ivanr@webkreator.com>
36 */
37
38 #ifndef HTP_VERSION_H
39 #define HTP_VERSION_H
40
41 #ifdef __cplusplus
42 extern "C" {
43 #endif
44
45 #define HTP_VERSION_STRING "0.5.37"
46 #define HTP_VERSION_STRING_FULL "LibHTP v" HTP_VERSION_STRING
47
48 #ifdef __cplusplus
49 }
50 #endif
51
52 #endif /* HTP_VERSION_H */
0 # Makefile.in generated by automake 1.16.3 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2020 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16
17 VPATH = @srcdir@
18 am__is_gnu_make = { \
19 if test -z '$(MAKELEVEL)'; then \
20 false; \
21 elif test -n '$(MAKE_HOST)'; then \
22 true; \
23 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
24 true; \
25 else \
26 false; \
27 fi; \
28 }
29 am__make_running_with_option = \
30 case $${target_option-} in \
31 ?) ;; \
32 *) echo "am__make_running_with_option: internal error: invalid" \
33 "target option '$${target_option-}' specified" >&2; \
34 exit 1;; \
35 esac; \
36 has_opt=no; \
37 sane_makeflags=$$MAKEFLAGS; \
38 if $(am__is_gnu_make); then \
39 sane_makeflags=$$MFLAGS; \
40 else \
41 case $$MAKEFLAGS in \
42 *\\[\ \ ]*) \
43 bs=\\; \
44 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
45 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
46 esac; \
47 fi; \
48 skip_next=no; \
49 strip_trailopt () \
50 { \
51 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
52 }; \
53 for flg in $$sane_makeflags; do \
54 test $$skip_next = yes && { skip_next=no; continue; }; \
55 case $$flg in \
56 *=*|--*) continue;; \
57 -*I) strip_trailopt 'I'; skip_next=yes;; \
58 -*I?*) strip_trailopt 'I';; \
59 -*O) strip_trailopt 'O'; skip_next=yes;; \
60 -*O?*) strip_trailopt 'O';; \
61 -*l) strip_trailopt 'l'; skip_next=yes;; \
62 -*l?*) strip_trailopt 'l';; \
63 -[dEDm]) skip_next=yes;; \
64 -[JT]) skip_next=yes;; \
65 esac; \
66 case $$flg in \
67 *$$target_option*) has_opt=yes; break;; \
68 esac; \
69 done; \
70 test $$has_opt = yes
71 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
72 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
73 pkgdatadir = $(datadir)/@PACKAGE@
74 pkgincludedir = $(includedir)/@PACKAGE@
75 pkglibdir = $(libdir)/@PACKAGE@
76 pkglibexecdir = $(libexecdir)/@PACKAGE@
77 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
78 install_sh_DATA = $(install_sh) -c -m 644
79 install_sh_PROGRAM = $(install_sh) -c
80 install_sh_SCRIPT = $(install_sh) -c
81 INSTALL_HEADER = $(INSTALL_DATA)
82 transform = $(program_transform_name)
83 NORMAL_INSTALL = :
84 PRE_INSTALL = :
85 POST_INSTALL = :
86 NORMAL_UNINSTALL = :
87 PRE_UNINSTALL = :
88 POST_UNINSTALL = :
89 build_triplet = @build@
90 host_triplet = @host@
91 subdir = htp/lzma
92 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
93 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
94 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
95 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
96 $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
97 $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
98 $(top_srcdir)/configure.ac
99 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
100 $(ACLOCAL_M4)
101 DIST_COMMON = $(srcdir)/Makefile.am $(library_include_HEADERS) \
102 $(am__DIST_COMMON)
103 mkinstalldirs = $(install_sh) -d
104 CONFIG_HEADER = $(top_builddir)/htp_config_auto_gen.h
105 CONFIG_CLEAN_FILES =
106 CONFIG_CLEAN_VPATH_FILES =
107 LTLIBRARIES = $(noinst_LTLIBRARIES)
108 liblzma_c_la_LIBADD =
109 am__objects_1 =
110 am__objects_2 = LzFind.lo LzmaDec.lo
111 am_liblzma_c_la_OBJECTS = $(am__objects_1) $(am__objects_1) \
112 $(am__objects_2)
113 liblzma_c_la_OBJECTS = $(am_liblzma_c_la_OBJECTS)
114 AM_V_lt = $(am__v_lt_@AM_V@)
115 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
116 am__v_lt_0 = --silent
117 am__v_lt_1 =
118 AM_V_P = $(am__v_P_@AM_V@)
119 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
120 am__v_P_0 = false
121 am__v_P_1 = :
122 AM_V_GEN = $(am__v_GEN_@AM_V@)
123 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
124 am__v_GEN_0 = @echo " GEN " $@;
125 am__v_GEN_1 =
126 AM_V_at = $(am__v_at_@AM_V@)
127 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
128 am__v_at_0 = @
129 am__v_at_1 =
130 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
131 depcomp = $(SHELL) $(top_srcdir)/depcomp
132 am__maybe_remake_depfiles = depfiles
133 am__depfiles_remade = ./$(DEPDIR)/LzFind.Plo ./$(DEPDIR)/LzmaDec.Plo
134 am__mv = mv -f
135 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
136 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
137 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
138 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
139 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
140 $(AM_CFLAGS) $(CFLAGS)
141 AM_V_CC = $(am__v_CC_@AM_V@)
142 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
143 am__v_CC_0 = @echo " CC " $@;
144 am__v_CC_1 =
145 CCLD = $(CC)
146 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
147 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
148 $(AM_LDFLAGS) $(LDFLAGS) -o $@
149 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
150 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
151 am__v_CCLD_0 = @echo " CCLD " $@;
152 am__v_CCLD_1 =
153 SOURCES = $(liblzma_c_la_SOURCES)
154 DIST_SOURCES = $(liblzma_c_la_SOURCES)
155 am__can_run_installinfo = \
156 case $$AM_UPDATE_INFO_DIR in \
157 n|no|NO) false;; \
158 *) (install-info --version) >/dev/null 2>&1;; \
159 esac
160 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
161 am__vpath_adj = case $$p in \
162 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
163 *) f=$$p;; \
164 esac;
165 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
166 am__install_max = 40
167 am__nobase_strip_setup = \
168 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
169 am__nobase_strip = \
170 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
171 am__nobase_list = $(am__nobase_strip_setup); \
172 for p in $$list; do echo "$$p $$p"; done | \
173 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
174 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
175 if (++n[$$2] == $(am__install_max)) \
176 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
177 END { for (dir in files) print dir, files[dir] }'
178 am__base_list = \
179 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
180 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
181 am__uninstall_files_from_dir = { \
182 test -z "$$files" \
183 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
184 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
185 $(am__cd) "$$dir" && rm -f $$files; }; \
186 }
187 am__installdirs = "$(DESTDIR)$(library_includedir)"
188 HEADERS = $(library_include_HEADERS)
189 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
190 # Read a list of newline-separated strings from the standard input,
191 # and print each of them once, without duplicates. Input order is
192 # *not* preserved.
193 am__uniquify_input = $(AWK) '\
194 BEGIN { nonempty = 0; } \
195 { items[$$0] = 1; nonempty = 1; } \
196 END { if (nonempty) { for (i in items) print i; }; } \
197 '
198 # Make sure the list of sources is unique. This is necessary because,
199 # e.g., the same source file might be shared among _SOURCES variables
200 # for different programs/libraries.
201 am__define_uniq_tagged_files = \
202 list='$(am__tagged_files)'; \
203 unique=`for i in $$list; do \
204 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
205 done | $(am__uniquify_input)`
206 ETAGS = etags
207 CTAGS = ctags
208 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
209 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
210 ACLOCAL = @ACLOCAL@
211 AMTAR = @AMTAR@
212 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
213 AR = @AR@
214 AUTOCONF = @AUTOCONF@
215 AUTOHEADER = @AUTOHEADER@
216 AUTOMAKE = @AUTOMAKE@
217 AWK = @AWK@
218 CC = @CC@
219 CCDEPMODE = @CCDEPMODE@
220 CFLAGS = @CFLAGS@
221 CPP = @CPP@
222 CPPFLAGS = @CPPFLAGS@
223 CXX = @CXX@
224 CXXCPP = @CXXCPP@
225 CXXDEPMODE = @CXXDEPMODE@
226 CXXFLAGS = @CXXFLAGS@
227 CYGPATH_W = @CYGPATH_W@
228 DEFS = @DEFS@
229 DEPDIR = @DEPDIR@
230 DLLTOOL = @DLLTOOL@
231 DOXYGEN = @DOXYGEN@
232 DSYMUTIL = @DSYMUTIL@
233 DUMPBIN = @DUMPBIN@
234 ECHO_C = @ECHO_C@
235 ECHO_N = @ECHO_N@
236 ECHO_T = @ECHO_T@
237 EGREP = @EGREP@
238 EXEEXT = @EXEEXT@
239 FGREP = @FGREP@
240 GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@
241 GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
242 GENERIC_RELEASE = @GENERIC_RELEASE@
243 GENERIC_VERSION = @GENERIC_VERSION@
244 GREP = @GREP@
245 INSTALL = @INSTALL@
246 INSTALL_DATA = @INSTALL_DATA@
247 INSTALL_PROGRAM = @INSTALL_PROGRAM@
248 INSTALL_SCRIPT = @INSTALL_SCRIPT@
249 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
250 LCOV = @LCOV@
251 LD = @LD@
252 LDFLAGS = @LDFLAGS@
253 LIBICONV = @LIBICONV@
254 LIBOBJS = @LIBOBJS@
255 LIBS = @LIBS@
256 LIBTOOL = @LIBTOOL@
257 LIPO = @LIPO@
258 LN_S = @LN_S@
259 LTLIBICONV = @LTLIBICONV@
260 LTLIBOBJS = @LTLIBOBJS@
261 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
262 MAKEINFO = @MAKEINFO@
263 MANIFEST_TOOL = @MANIFEST_TOOL@
264 MKDIR_P = @MKDIR_P@
265 NM = @NM@
266 NMEDIT = @NMEDIT@
267 OBJDUMP = @OBJDUMP@
268 OBJEXT = @OBJEXT@
269 OTOOL = @OTOOL@
270 OTOOL64 = @OTOOL64@
271 PACKAGE = @PACKAGE@
272 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
273 PACKAGE_NAME = @PACKAGE_NAME@
274 PACKAGE_STRING = @PACKAGE_STRING@
275 PACKAGE_TARNAME = @PACKAGE_TARNAME@
276 PACKAGE_URL = @PACKAGE_URL@
277 PACKAGE_VERSION = @PACKAGE_VERSION@
278 PATH_SEPARATOR = @PATH_SEPARATOR@
279 RANLIB = @RANLIB@
280 SED = @SED@
281 SET_MAKE = @SET_MAKE@
282 SHELL = @SHELL@
283 STRIP = @STRIP@
284 VERSION = @VERSION@
285 abs_builddir = @abs_builddir@
286 abs_srcdir = @abs_srcdir@
287 abs_top_builddir = @abs_top_builddir@
288 abs_top_srcdir = @abs_top_srcdir@
289 ac_ct_AR = @ac_ct_AR@
290 ac_ct_CC = @ac_ct_CC@
291 ac_ct_CXX = @ac_ct_CXX@
292 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
293 am__include = @am__include@
294 am__leading_dot = @am__leading_dot@
295 am__quote = @am__quote@
296 am__tar = @am__tar@
297 am__untar = @am__untar@
298 bindir = @bindir@
299 build = @build@
300 build_alias = @build_alias@
301 build_cpu = @build_cpu@
302 build_os = @build_os@
303 build_vendor = @build_vendor@
304 builddir = @builddir@
305 datadir = @datadir@
306 datarootdir = @datarootdir@
307 docdir = @docdir@
308 doxygen = @doxygen@
309 dvidir = @dvidir@
310 exec_prefix = @exec_prefix@
311 host = @host@
312 host_alias = @host_alias@
313 host_cpu = @host_cpu@
314 host_os = @host_os@
315 host_vendor = @host_vendor@
316 htmldir = @htmldir@
317 includedir = @includedir@
318 infodir = @infodir@
319 install_sh = @install_sh@
320 libdir = @libdir@
321 libexecdir = @libexecdir@
322 localedir = @localedir@
323 localstatedir = @localstatedir@
324 mandir = @mandir@
325 mkdir_p = @mkdir_p@
326 oldincludedir = @oldincludedir@
327 pdfdir = @pdfdir@
328 prefix = @prefix@
329 program_transform_name = @program_transform_name@
330 psdir = @psdir@
331 runstatedir = @runstatedir@
332 sbindir = @sbindir@
333 sharedstatedir = @sharedstatedir@
334 srcdir = @srcdir@
335 sysconfdir = @sysconfdir@
336 target_alias = @target_alias@
337 top_build_prefix = @top_build_prefix@
338 top_builddir = @top_builddir@
339 top_srcdir = @top_srcdir@
340 h_sources = LzmaDec.h 7zTypes.h
341 h_sources_private = LzFind.h LzHash.h Compiler.h Precomp.h
342 c_sources = LzFind.c LzmaDec.c
343 AM_CFLAGS = -I$(top_srcdir) -D_GNU_SOURCE -g -Wall -Wextra -std=gnu99 -pedantic \
344 -Wextra -Wno-missing-field-initializers -Wshadow -Wpointer-arith \
345 -Wstrict-prototypes -Wmissing-prototypes -Wno-unused-parameter
346
347 library_includedir = $(includedir)/$(GENERIC_LIBRARY_NAME)/lzma
348 library_include_HEADERS = $(h_sources)
349 noinst_LTLIBRARIES = liblzma-c.la
350 liblzma_c_la_SOURCES = $(h_sources) $(h_sources_private) $(c_sources)
351 all: all-am
352
353 .SUFFIXES:
354 .SUFFIXES: .c .lo .o .obj
355 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
356 @for dep in $?; do \
357 case '$(am__configure_deps)' in \
358 *$$dep*) \
359 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
360 && { if test -f $@; then exit 0; else break; fi; }; \
361 exit 1;; \
362 esac; \
363 done; \
364 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu htp/lzma/Makefile'; \
365 $(am__cd) $(top_srcdir) && \
366 $(AUTOMAKE) --gnu htp/lzma/Makefile
367 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
368 @case '$?' in \
369 *config.status*) \
370 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
371 *) \
372 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
373 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
374 esac;
375
376 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
377 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
378
379 $(top_srcdir)/configure: $(am__configure_deps)
380 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
381 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
382 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
383 $(am__aclocal_m4_deps):
384
385 clean-noinstLTLIBRARIES:
386 -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
387 @list='$(noinst_LTLIBRARIES)'; \
388 locs=`for p in $$list; do echo $$p; done | \
389 sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
390 sort -u`; \
391 test -z "$$locs" || { \
392 echo rm -f $${locs}; \
393 rm -f $${locs}; \
394 }
395
396 liblzma-c.la: $(liblzma_c_la_OBJECTS) $(liblzma_c_la_DEPENDENCIES) $(EXTRA_liblzma_c_la_DEPENDENCIES)
397 $(AM_V_CCLD)$(LINK) $(liblzma_c_la_OBJECTS) $(liblzma_c_la_LIBADD) $(LIBS)
398
399 mostlyclean-compile:
400 -rm -f *.$(OBJEXT)
401
402 distclean-compile:
403 -rm -f *.tab.c
404
405 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LzFind.Plo@am__quote@ # am--include-marker
406 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LzmaDec.Plo@am__quote@ # am--include-marker
407
408 $(am__depfiles_remade):
409 @$(MKDIR_P) $(@D)
410 @echo '# dummy' >$@-t && $(am__mv) $@-t $@
411
412 am--depfiles: $(am__depfiles_remade)
413
414 .c.o:
415 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
416 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
417 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
418 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
419 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
420
421 .c.obj:
422 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
423 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
424 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
425 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
426 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
427
428 .c.lo:
429 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
430 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
431 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
432 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
433 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
434
435 mostlyclean-libtool:
436 -rm -f *.lo
437
438 clean-libtool:
439 -rm -rf .libs _libs
440 install-library_includeHEADERS: $(library_include_HEADERS)
441 @$(NORMAL_INSTALL)
442 @list='$(library_include_HEADERS)'; test -n "$(library_includedir)" || list=; \
443 if test -n "$$list"; then \
444 echo " $(MKDIR_P) '$(DESTDIR)$(library_includedir)'"; \
445 $(MKDIR_P) "$(DESTDIR)$(library_includedir)" || exit 1; \
446 fi; \
447 for p in $$list; do \
448 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
449 echo "$$d$$p"; \
450 done | $(am__base_list) | \
451 while read files; do \
452 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(library_includedir)'"; \
453 $(INSTALL_HEADER) $$files "$(DESTDIR)$(library_includedir)" || exit $$?; \
454 done
455
456 uninstall-library_includeHEADERS:
457 @$(NORMAL_UNINSTALL)
458 @list='$(library_include_HEADERS)'; test -n "$(library_includedir)" || list=; \
459 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
460 dir='$(DESTDIR)$(library_includedir)'; $(am__uninstall_files_from_dir)
461
462 ID: $(am__tagged_files)
463 $(am__define_uniq_tagged_files); mkid -fID $$unique
464 tags: tags-am
465 TAGS: tags
466
467 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
468 set x; \
469 here=`pwd`; \
470 $(am__define_uniq_tagged_files); \
471 shift; \
472 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
473 test -n "$$unique" || unique=$$empty_fix; \
474 if test $$# -gt 0; then \
475 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
476 "$$@" $$unique; \
477 else \
478 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
479 $$unique; \
480 fi; \
481 fi
482 ctags: ctags-am
483
484 CTAGS: ctags
485 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
486 $(am__define_uniq_tagged_files); \
487 test -z "$(CTAGS_ARGS)$$unique" \
488 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
489 $$unique
490
491 GTAGS:
492 here=`$(am__cd) $(top_builddir) && pwd` \
493 && $(am__cd) $(top_srcdir) \
494 && gtags -i $(GTAGS_ARGS) "$$here"
495 cscopelist: cscopelist-am
496
497 cscopelist-am: $(am__tagged_files)
498 list='$(am__tagged_files)'; \
499 case "$(srcdir)" in \
500 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
501 *) sdir=$(subdir)/$(srcdir) ;; \
502 esac; \
503 for i in $$list; do \
504 if test -f "$$i"; then \
505 echo "$(subdir)/$$i"; \
506 else \
507 echo "$$sdir/$$i"; \
508 fi; \
509 done >> $(top_builddir)/cscope.files
510
511 distclean-tags:
512 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
513
514 distdir: $(BUILT_SOURCES)
515 $(MAKE) $(AM_MAKEFLAGS) distdir-am
516
517 distdir-am: $(DISTFILES)
518 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
519 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
520 list='$(DISTFILES)'; \
521 dist_files=`for file in $$list; do echo $$file; done | \
522 sed -e "s|^$$srcdirstrip/||;t" \
523 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
524 case $$dist_files in \
525 */*) $(MKDIR_P) `echo "$$dist_files" | \
526 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
527 sort -u` ;; \
528 esac; \
529 for file in $$dist_files; do \
530 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
531 if test -d $$d/$$file; then \
532 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
533 if test -d "$(distdir)/$$file"; then \
534 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
535 fi; \
536 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
537 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
538 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
539 fi; \
540 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
541 else \
542 test -f "$(distdir)/$$file" \
543 || cp -p $$d/$$file "$(distdir)/$$file" \
544 || exit 1; \
545 fi; \
546 done
547 check-am: all-am
548 check: check-am
549 all-am: Makefile $(LTLIBRARIES) $(HEADERS)
550 installdirs:
551 for dir in "$(DESTDIR)$(library_includedir)"; do \
552 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
553 done
554 install: install-am
555 install-exec: install-exec-am
556 install-data: install-data-am
557 uninstall: uninstall-am
558
559 install-am: all-am
560 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
561
562 installcheck: installcheck-am
563 install-strip:
564 if test -z '$(STRIP)'; then \
565 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
566 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
567 install; \
568 else \
569 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
570 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
571 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
572 fi
573 mostlyclean-generic:
574
575 clean-generic:
576
577 distclean-generic:
578 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
579 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
580
581 maintainer-clean-generic:
582 @echo "This command is intended for maintainers to use"
583 @echo "it deletes files that may require special tools to rebuild."
584 clean: clean-am
585
586 clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
587 mostlyclean-am
588
589 distclean: distclean-am
590 -rm -f ./$(DEPDIR)/LzFind.Plo
591 -rm -f ./$(DEPDIR)/LzmaDec.Plo
592 -rm -f Makefile
593 distclean-am: clean-am distclean-compile distclean-generic \
594 distclean-tags
595
596 dvi: dvi-am
597
598 dvi-am:
599
600 html: html-am
601
602 html-am:
603
604 info: info-am
605
606 info-am:
607
608 install-data-am: install-library_includeHEADERS
609
610 install-dvi: install-dvi-am
611
612 install-dvi-am:
613
614 install-exec-am:
615
616 install-html: install-html-am
617
618 install-html-am:
619
620 install-info: install-info-am
621
622 install-info-am:
623
624 install-man:
625
626 install-pdf: install-pdf-am
627
628 install-pdf-am:
629
630 install-ps: install-ps-am
631
632 install-ps-am:
633
634 installcheck-am:
635
636 maintainer-clean: maintainer-clean-am
637 -rm -f ./$(DEPDIR)/LzFind.Plo
638 -rm -f ./$(DEPDIR)/LzmaDec.Plo
639 -rm -f Makefile
640 maintainer-clean-am: distclean-am maintainer-clean-generic
641
642 mostlyclean: mostlyclean-am
643
644 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
645 mostlyclean-libtool
646
647 pdf: pdf-am
648
649 pdf-am:
650
651 ps: ps-am
652
653 ps-am:
654
655 uninstall-am: uninstall-library_includeHEADERS
656
657 .MAKE: install-am install-strip
658
659 .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
660 clean-generic clean-libtool clean-noinstLTLIBRARIES \
661 cscopelist-am ctags ctags-am distclean distclean-compile \
662 distclean-generic distclean-libtool distclean-tags distdir dvi \
663 dvi-am html html-am info info-am install install-am \
664 install-data install-data-am install-dvi install-dvi-am \
665 install-exec install-exec-am install-html install-html-am \
666 install-info install-info-am install-library_includeHEADERS \
667 install-man install-pdf install-pdf-am install-ps \
668 install-ps-am install-strip installcheck installcheck-am \
669 installdirs maintainer-clean maintainer-clean-generic \
670 mostlyclean mostlyclean-compile mostlyclean-generic \
671 mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
672 uninstall-am uninstall-library_includeHEADERS
673
674 .PRECIOUS: Makefile
675
676
677 # Tell versions [3.59,3.63) of GNU make to not export all variables.
678 # Otherwise a system limit (for SysV at least) may be exceeded.
679 .NOEXPORT:
0 /* htp_config_auto_gen.h.in. Generated from configure.ac by autoheader. */
1
2 /* Define to 1 if you have the <dlfcn.h> header file. */
3 #undef HAVE_DLFCN_H
4
5 /* Define if you have the iconv() function and it works. */
6 #undef HAVE_ICONV
7
8 /* "Define to 1 if you have the `iconvctl' function." */
9 #undef HAVE_ICONVCTL
10
11 /* Define to 1 if you have the <inttypes.h> header file. */
12 #undef HAVE_INTTYPES_H
13
14 /* Define to 1 if you have the `z' library (-lz). */
15 #undef HAVE_LIBZ
16
17 /* Define to 1 if you have the <memory.h> header file. */
18 #undef HAVE_MEMORY_H
19
20 /* Define to 1 if you have the <stdint.h> header file. */
21 #undef HAVE_STDINT_H
22
23 /* Define to 1 if you have the <stdlib.h> header file. */
24 #undef HAVE_STDLIB_H
25
26 /* Define to 1 if you have the <strings.h> header file. */
27 #undef HAVE_STRINGS_H
28
29 /* Define to 1 if you have the <string.h> header file. */
30 #undef HAVE_STRING_H
31
32 /* Define to 1 if you have the `strlcat' function. */
33 #undef HAVE_STRLCAT
34
35 /* Define to 1 if you have the `strlcpy' function. */
36 #undef HAVE_STRLCPY
37
38 /* Define to 1 if you have the <sys/stat.h> header file. */
39 #undef HAVE_SYS_STAT_H
40
41 /* Define to 1 if you have the <sys/types.h> header file. */
42 #undef HAVE_SYS_TYPES_H
43
44 /* Define to 1 if you have the <unistd.h> header file. */
45 #undef HAVE_UNISTD_H
46
47 /* Define as const if the declaration of iconv() needs const. */
48 #undef ICONV_CONST
49
50 /* Define to the sub-directory where libtool stores uninstalled libraries. */
51 #undef LT_OBJDIR
52
53 /* Name of package */
54 #undef PACKAGE
55
56 /* Define to the address where bug reports for this package should be sent. */
57 #undef PACKAGE_BUGREPORT
58
59 /* Define to the full name of this package. */
60 #undef PACKAGE_NAME
61
62 /* Define to the full name and version of this package. */
63 #undef PACKAGE_STRING
64
65 /* Define to the one symbol short name of this package. */
66 #undef PACKAGE_TARNAME
67
68 /* Define to the home page for this package. */
69 #undef PACKAGE_URL
70
71 /* Define to the version of this package. */
72 #undef PACKAGE_VERSION
73
74 /* Define to 1 if you have the ANSI C header files. */
75 #undef STDC_HEADERS
76
77 /* Version number of package */
78 #undef VERSION
0 #!/bin/sh
1 # install - install a program, script, or datafile
2
3 scriptversion=2020-11-14.01; # UTC
4
5 # This originates from X11R5 (mit/util/scripts/install.sh), which was
6 # later released in X11R6 (xc/config/util/install.sh) with the
7 # following copyright and license.
8 #
9 # Copyright (C) 1994 X Consortium
10 #
11 # Permission is hereby granted, free of charge, to any person obtaining a copy
12 # of this software and associated documentation files (the "Software"), to
13 # deal in the Software without restriction, including without limitation the
14 # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
15 # sell copies of the Software, and to permit persons to whom the Software is
16 # furnished to do so, subject to the following conditions:
17 #
18 # The above copyright notice and this permission notice shall be included in
19 # all copies or substantial portions of the Software.
20 #
21 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24 # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
25 # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
26 # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 #
28 # Except as contained in this notice, the name of the X Consortium shall not
29 # be used in advertising or otherwise to promote the sale, use or other deal-
30 # ings in this Software without prior written authorization from the X Consor-
31 # tium.
32 #
33 #
34 # FSF changes to this file are in the public domain.
35 #
36 # Calling this script install-sh is preferred over install.sh, to prevent
37 # 'make' implicit rules from creating a file called install from it
38 # when there is no Makefile.
39 #
40 # This script is compatible with the BSD install script, but was written
41 # from scratch.
42
43 tab=' '
44 nl='
45 '
46 IFS=" $tab$nl"
47
48 # Set DOITPROG to "echo" to test this script.
49
50 doit=${DOITPROG-}
51 doit_exec=${doit:-exec}
52
53 # Put in absolute file names if you don't have them in your path;
54 # or use environment vars.
55
56 chgrpprog=${CHGRPPROG-chgrp}
57 chmodprog=${CHMODPROG-chmod}
58 chownprog=${CHOWNPROG-chown}
59 cmpprog=${CMPPROG-cmp}
60 cpprog=${CPPROG-cp}
61 mkdirprog=${MKDIRPROG-mkdir}
62 mvprog=${MVPROG-mv}
63 rmprog=${RMPROG-rm}
64 stripprog=${STRIPPROG-strip}
65
66 posix_mkdir=
67
68 # Desired mode of installed file.
69 mode=0755
70
71 # Create dirs (including intermediate dirs) using mode 755.
72 # This is like GNU 'install' as of coreutils 8.32 (2020).
73 mkdir_umask=22
74
75 backupsuffix=
76 chgrpcmd=
77 chmodcmd=$chmodprog
78 chowncmd=
79 mvcmd=$mvprog
80 rmcmd="$rmprog -f"
81 stripcmd=
82
83 src=
84 dst=
85 dir_arg=
86 dst_arg=
87
88 copy_on_change=false
89 is_target_a_directory=possibly
90
91 usage="\
92 Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
93 or: $0 [OPTION]... SRCFILES... DIRECTORY
94 or: $0 [OPTION]... -t DIRECTORY SRCFILES...
95 or: $0 [OPTION]... -d DIRECTORIES...
96
97 In the 1st form, copy SRCFILE to DSTFILE.
98 In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
99 In the 4th, create DIRECTORIES.
100
101 Options:
102 --help display this help and exit.
103 --version display version info and exit.
104
105 -c (ignored)
106 -C install only if different (preserve data modification time)
107 -d create directories instead of installing files.
108 -g GROUP $chgrpprog installed files to GROUP.
109 -m MODE $chmodprog installed files to MODE.
110 -o USER $chownprog installed files to USER.
111 -p pass -p to $cpprog.
112 -s $stripprog installed files.
113 -S SUFFIX attempt to back up existing files, with suffix SUFFIX.
114 -t DIRECTORY install into DIRECTORY.
115 -T report an error if DSTFILE is a directory.
116
117 Environment variables override the default commands:
118 CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
119 RMPROG STRIPPROG
120
121 By default, rm is invoked with -f; when overridden with RMPROG,
122 it's up to you to specify -f if you want it.
123
124 If -S is not specified, no backups are attempted.
125
126 Email bug reports to bug-automake@gnu.org.
127 Automake home page: https://www.gnu.org/software/automake/
128 "
129
130 while test $# -ne 0; do
131 case $1 in
132 -c) ;;
133
134 -C) copy_on_change=true;;
135
136 -d) dir_arg=true;;
137
138 -g) chgrpcmd="$chgrpprog $2"
139 shift;;
140
141 --help) echo "$usage"; exit $?;;
142
143 -m) mode=$2
144 case $mode in
145 *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
146 echo "$0: invalid mode: $mode" >&2
147 exit 1;;
148 esac
149 shift;;
150
151 -o) chowncmd="$chownprog $2"
152 shift;;
153
154 -p) cpprog="$cpprog -p";;
155
156 -s) stripcmd=$stripprog;;
157
158 -S) backupsuffix="$2"
159 shift;;
160
161 -t)
162 is_target_a_directory=always
163 dst_arg=$2
164 # Protect names problematic for 'test' and other utilities.
165 case $dst_arg in
166 -* | [=\(\)!]) dst_arg=./$dst_arg;;
167 esac
168 shift;;
169
170 -T) is_target_a_directory=never;;
171
172 --version) echo "$0 $scriptversion"; exit $?;;
173
174 --) shift
175 break;;
176
177 -*) echo "$0: invalid option: $1" >&2
178 exit 1;;
179
180 *) break;;
181 esac
182 shift
183 done
184
185 # We allow the use of options -d and -T together, by making -d
186 # take the precedence; this is for compatibility with GNU install.
187
188 if test -n "$dir_arg"; then
189 if test -n "$dst_arg"; then
190 echo "$0: target directory not allowed when installing a directory." >&2
191 exit 1
192 fi
193 fi
194
195 if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
196 # When -d is used, all remaining arguments are directories to create.
197 # When -t is used, the destination is already specified.
198 # Otherwise, the last argument is the destination. Remove it from $@.
199 for arg
200 do
201 if test -n "$dst_arg"; then
202 # $@ is not empty: it contains at least $arg.
203 set fnord "$@" "$dst_arg"
204 shift # fnord
205 fi
206 shift # arg
207 dst_arg=$arg
208 # Protect names problematic for 'test' and other utilities.
209 case $dst_arg in
210 -* | [=\(\)!]) dst_arg=./$dst_arg;;
211 esac
212 done
213 fi
214
215 if test $# -eq 0; then
216 if test -z "$dir_arg"; then
217 echo "$0: no input file specified." >&2
218 exit 1
219 fi
220 # It's OK to call 'install-sh -d' without argument.
221 # This can happen when creating conditional directories.
222 exit 0
223 fi
224
225 if test -z "$dir_arg"; then
226 if test $# -gt 1 || test "$is_target_a_directory" = always; then
227 if test ! -d "$dst_arg"; then
228 echo "$0: $dst_arg: Is not a directory." >&2
229 exit 1
230 fi
231 fi
232 fi
233
234 if test -z "$dir_arg"; then
235 do_exit='(exit $ret); exit $ret'
236 trap "ret=129; $do_exit" 1
237 trap "ret=130; $do_exit" 2
238 trap "ret=141; $do_exit" 13
239 trap "ret=143; $do_exit" 15
240
241 # Set umask so as not to create temps with too-generous modes.
242 # However, 'strip' requires both read and write access to temps.
243 case $mode in
244 # Optimize common cases.
245 *644) cp_umask=133;;
246 *755) cp_umask=22;;
247
248 *[0-7])
249 if test -z "$stripcmd"; then
250 u_plus_rw=
251 else
252 u_plus_rw='% 200'
253 fi
254 cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
255 *)
256 if test -z "$stripcmd"; then
257 u_plus_rw=
258 else
259 u_plus_rw=,u+rw
260 fi
261 cp_umask=$mode$u_plus_rw;;
262 esac
263 fi
264
265 for src
266 do
267 # Protect names problematic for 'test' and other utilities.
268 case $src in
269 -* | [=\(\)!]) src=./$src;;
270 esac
271
272 if test -n "$dir_arg"; then
273 dst=$src
274 dstdir=$dst
275 test -d "$dstdir"
276 dstdir_status=$?
277 # Don't chown directories that already exist.
278 if test $dstdir_status = 0; then
279 chowncmd=""
280 fi
281 else
282
283 # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
284 # might cause directories to be created, which would be especially bad
285 # if $src (and thus $dsttmp) contains '*'.
286 if test ! -f "$src" && test ! -d "$src"; then
287 echo "$0: $src does not exist." >&2
288 exit 1
289 fi
290
291 if test -z "$dst_arg"; then
292 echo "$0: no destination specified." >&2
293 exit 1
294 fi
295 dst=$dst_arg
296
297 # If destination is a directory, append the input filename.
298 if test -d "$dst"; then
299 if test "$is_target_a_directory" = never; then
300 echo "$0: $dst_arg: Is a directory" >&2
301 exit 1
302 fi
303 dstdir=$dst
304 dstbase=`basename "$src"`
305 case $dst in
306 */) dst=$dst$dstbase;;
307 *) dst=$dst/$dstbase;;
308 esac
309 dstdir_status=0
310 else
311 dstdir=`dirname "$dst"`
312 test -d "$dstdir"
313 dstdir_status=$?
314 fi
315 fi
316
317 case $dstdir in
318 */) dstdirslash=$dstdir;;
319 *) dstdirslash=$dstdir/;;
320 esac
321
322 obsolete_mkdir_used=false
323
324 if test $dstdir_status != 0; then
325 case $posix_mkdir in
326 '')
327 # With -d, create the new directory with the user-specified mode.
328 # Otherwise, rely on $mkdir_umask.
329 if test -n "$dir_arg"; then
330 mkdir_mode=-m$mode
331 else
332 mkdir_mode=
333 fi
334
335 posix_mkdir=false
336 # The $RANDOM variable is not portable (e.g., dash). Use it
337 # here however when possible just to lower collision chance.
338 tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
339
340 trap '
341 ret=$?
342 rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null
343 exit $ret
344 ' 0
345
346 # Because "mkdir -p" follows existing symlinks and we likely work
347 # directly in world-writeable /tmp, make sure that the '$tmpdir'
348 # directory is successfully created first before we actually test
349 # 'mkdir -p'.
350 if (umask $mkdir_umask &&
351 $mkdirprog $mkdir_mode "$tmpdir" &&
352 exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
353 then
354 if test -z "$dir_arg" || {
355 # Check for POSIX incompatibilities with -m.
356 # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
357 # other-writable bit of parent directory when it shouldn't.
358 # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
359 test_tmpdir="$tmpdir/a"
360 ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
361 case $ls_ld_tmpdir in
362 d????-?r-*) different_mode=700;;
363 d????-?--*) different_mode=755;;
364 *) false;;
365 esac &&
366 $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
367 ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
368 test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
369 }
370 }
371 then posix_mkdir=:
372 fi
373 rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
374 else
375 # Remove any dirs left behind by ancient mkdir implementations.
376 rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
377 fi
378 trap '' 0;;
379 esac
380
381 if
382 $posix_mkdir && (
383 umask $mkdir_umask &&
384 $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
385 )
386 then :
387 else
388
389 # mkdir does not conform to POSIX,
390 # or it failed possibly due to a race condition. Create the
391 # directory the slow way, step by step, checking for races as we go.
392
393 case $dstdir in
394 /*) prefix='/';;
395 [-=\(\)!]*) prefix='./';;
396 *) prefix='';;
397 esac
398
399 oIFS=$IFS
400 IFS=/
401 set -f
402 set fnord $dstdir
403 shift
404 set +f
405 IFS=$oIFS
406
407 prefixes=
408
409 for d
410 do
411 test X"$d" = X && continue
412
413 prefix=$prefix$d
414 if test -d "$prefix"; then
415 prefixes=
416 else
417 if $posix_mkdir; then
418 (umask $mkdir_umask &&
419 $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
420 # Don't fail if two instances are running concurrently.
421 test -d "$prefix" || exit 1
422 else
423 case $prefix in
424 *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
425 *) qprefix=$prefix;;
426 esac
427 prefixes="$prefixes '$qprefix'"
428 fi
429 fi
430 prefix=$prefix/
431 done
432
433 if test -n "$prefixes"; then
434 # Don't fail if two instances are running concurrently.
435 (umask $mkdir_umask &&
436 eval "\$doit_exec \$mkdirprog $prefixes") ||
437 test -d "$dstdir" || exit 1
438 obsolete_mkdir_used=true
439 fi
440 fi
441 fi
442
443 if test -n "$dir_arg"; then
444 { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
445 { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
446 { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
447 test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
448 else
449
450 # Make a couple of temp file names in the proper directory.
451 dsttmp=${dstdirslash}_inst.$$_
452 rmtmp=${dstdirslash}_rm.$$_
453
454 # Trap to clean up those temp files at exit.
455 trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
456
457 # Copy the file name to the temp name.
458 (umask $cp_umask &&
459 { test -z "$stripcmd" || {
460 # Create $dsttmp read-write so that cp doesn't create it read-only,
461 # which would cause strip to fail.
462 if test -z "$doit"; then
463 : >"$dsttmp" # No need to fork-exec 'touch'.
464 else
465 $doit touch "$dsttmp"
466 fi
467 }
468 } &&
469 $doit_exec $cpprog "$src" "$dsttmp") &&
470
471 # and set any options; do chmod last to preserve setuid bits.
472 #
473 # If any of these fail, we abort the whole thing. If we want to
474 # ignore errors from any of these, just make sure not to ignore
475 # errors from the above "$doit $cpprog $src $dsttmp" command.
476 #
477 { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
478 { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
479 { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
480 { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
481
482 # If -C, don't bother to copy if it wouldn't change the file.
483 if $copy_on_change &&
484 old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
485 new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
486 set -f &&
487 set X $old && old=:$2:$4:$5:$6 &&
488 set X $new && new=:$2:$4:$5:$6 &&
489 set +f &&
490 test "$old" = "$new" &&
491 $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
492 then
493 rm -f "$dsttmp"
494 else
495 # If $backupsuffix is set, and the file being installed
496 # already exists, attempt a backup. Don't worry if it fails,
497 # e.g., if mv doesn't support -f.
498 if test -n "$backupsuffix" && test -f "$dst"; then
499 $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
500 fi
501
502 # Rename the file to the real destination.
503 $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
504
505 # The rename failed, perhaps because mv can't rename something else
506 # to itself, or perhaps because mv is so ancient that it does not
507 # support -f.
508 {
509 # Now remove or move aside any old file at destination location.
510 # We try this two ways since rm can't unlink itself on some
511 # systems and the destination file might be busy for other
512 # reasons. In this case, the final cleanup might fail but the new
513 # file should still install successfully.
514 {
515 test ! -f "$dst" ||
516 $doit $rmcmd "$dst" 2>/dev/null ||
517 { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
518 { $doit $rmcmd "$rmtmp" 2>/dev/null; :; }
519 } ||
520 { echo "$0: cannot unlink or rename $dst" >&2
521 (exit 1); exit 1
522 }
523 } &&
524
525 # Now rename the file to the real destination.
526 $doit $mvcmd "$dsttmp" "$dst"
527 }
528 fi || exit 1
529
530 trap '' 0
531 fi
532 done
533
534 # Local variables:
535 # eval: (add-hook 'before-save-hook 'time-stamp)
536 # time-stamp-start: "scriptversion="
537 # time-stamp-format: "%:y-%02m-%02d.%02H"
538 # time-stamp-time-zone: "UTC0"
539 # time-stamp-end: "; # UTC"
540 # End:
0 #! /bin/sh
1 ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
2 ## by inline-source v2014-01-03.01
3
4 # libtool (GNU libtool) 2.4.6
5 # Provide generalized library-building support services.
6 # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
7
8 # Copyright (C) 1996-2015 Free Software Foundation, Inc.
9 # This is free software; see the source for copying conditions. There is NO
10 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11
12 # GNU Libtool is free software; you can redistribute it and/or modify
13 # it under the terms of the GNU General Public License as published by
14 # the Free Software Foundation; either version 2 of the License, or
15 # (at your option) any later version.
16 #
17 # As a special exception to the GNU General Public License,
18 # if you distribute this file as part of a program or library that
19 # is built using GNU Libtool, you may include this file under the
20 # same distribution terms that you use for the rest of that program.
21 #
22 # GNU Libtool is distributed in the hope that it will be useful, but
23 # WITHOUT ANY WARRANTY; without even the implied warranty of
24 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
25 # General Public License for more details.
26 #
27 # You should have received a copy of the GNU General Public License
28 # along with this program. If not, see <http://www.gnu.org/licenses/>.
29
30
31 PROGRAM=libtool
32 PACKAGE=libtool
33 VERSION="2.4.6 Debian-2.4.6-15"
34 package_revision=2.4.6
35
36
37 ## ------ ##
38 ## Usage. ##
39 ## ------ ##
40
41 # Run './libtool --help' for help with using this script from the
42 # command line.
43
44
45 ## ------------------------------- ##
46 ## User overridable command paths. ##
47 ## ------------------------------- ##
48
49 # After configure completes, it has a better idea of some of the
50 # shell tools we need than the defaults used by the functions shared
51 # with bootstrap, so set those here where they can still be over-
52 # ridden by the user, but otherwise take precedence.
53
54 : ${AUTOCONF="autoconf"}
55 : ${AUTOMAKE="automake"}
56
57
58 ## -------------------------- ##
59 ## Source external libraries. ##
60 ## -------------------------- ##
61
62 # Much of our low-level functionality needs to be sourced from external
63 # libraries, which are installed to $pkgauxdir.
64
65 # Set a version string for this script.
66 scriptversion=2015-01-20.17; # UTC
67
68 # General shell script boiler plate, and helper functions.
69 # Written by Gary V. Vaughan, 2004
70
71 # Copyright (C) 2004-2015 Free Software Foundation, Inc.
72 # This is free software; see the source for copying conditions. There is NO
73 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
74
75 # This program is free software; you can redistribute it and/or modify
76 # it under the terms of the GNU General Public License as published by
77 # the Free Software Foundation; either version 3 of the License, or
78 # (at your option) any later version.
79
80 # As a special exception to the GNU General Public License, if you distribute
81 # this file as part of a program or library that is built using GNU Libtool,
82 # you may include this file under the same distribution terms that you use
83 # for the rest of that program.
84
85 # This program is distributed in the hope that it will be useful,
86 # but WITHOUT ANY WARRANTY; without even the implied warranty of
87 # MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU
88 # General Public License for more details.
89
90 # You should have received a copy of the GNU General Public License
91 # along with this program. If not, see <http://www.gnu.org/licenses/>.
92
93 # Please report bugs or propose patches to gary@gnu.org.
94
95
96 ## ------ ##
97 ## Usage. ##
98 ## ------ ##
99
100 # Evaluate this file near the top of your script to gain access to
101 # the functions and variables defined here:
102 #
103 # . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
104 #
105 # If you need to override any of the default environment variable
106 # settings, do that before evaluating this file.
107
108
109 ## -------------------- ##
110 ## Shell normalisation. ##
111 ## -------------------- ##
112
113 # Some shells need a little help to be as Bourne compatible as possible.
114 # Before doing anything else, make sure all that help has been provided!
115
116 DUALCASE=1; export DUALCASE # for MKS sh
117 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
118 emulate sh
119 NULLCMD=:
120 # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
121 # is contrary to our usage. Disable this feature.
122 alias -g '${1+"$@"}'='"$@"'
123 setopt NO_GLOB_SUBST
124 else
125 case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac
126 fi
127
128 # NLS nuisances: We save the old values in case they are required later.
129 _G_user_locale=
130 _G_safe_locale=
131 for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
132 do
133 eval "if test set = \"\${$_G_var+set}\"; then
134 save_$_G_var=\$$_G_var
135 $_G_var=C
136 export $_G_var
137 _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
138 _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
139 fi"
140 done
141
142 # CDPATH.
143 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
144
145 # Make sure IFS has a sensible default
146 sp=' '
147 nl='
148 '
149 IFS="$sp $nl"
150
151 # There are apparently some retarded systems that use ';' as a PATH separator!
152 if test "${PATH_SEPARATOR+set}" != set; then
153 PATH_SEPARATOR=:
154 (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
155 (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
156 PATH_SEPARATOR=';'
157 }
158 fi
159
160
161
162 ## ------------------------- ##
163 ## Locate command utilities. ##
164 ## ------------------------- ##
165
166
167 # func_executable_p FILE
168 # ----------------------
169 # Check that FILE is an executable regular file.
170 func_executable_p ()
171 {
172 test -f "$1" && test -x "$1"
173 }
174
175
176 # func_path_progs PROGS_LIST CHECK_FUNC [PATH]
177 # --------------------------------------------
178 # Search for either a program that responds to --version with output
179 # containing "GNU", or else returned by CHECK_FUNC otherwise, by
180 # trying all the directories in PATH with each of the elements of
181 # PROGS_LIST.
182 #
183 # CHECK_FUNC should accept the path to a candidate program, and
184 # set $func_check_prog_result if it truncates its output less than
185 # $_G_path_prog_max characters.
186 func_path_progs ()
187 {
188 _G_progs_list=$1
189 _G_check_func=$2
190 _G_PATH=${3-"$PATH"}
191
192 _G_path_prog_max=0
193 _G_path_prog_found=false
194 _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:}
195 for _G_dir in $_G_PATH; do
196 IFS=$_G_save_IFS
197 test -z "$_G_dir" && _G_dir=.
198 for _G_prog_name in $_G_progs_list; do
199 for _exeext in '' .EXE; do
200 _G_path_prog=$_G_dir/$_G_prog_name$_exeext
201 func_executable_p "$_G_path_prog" || continue
202 case `"$_G_path_prog" --version 2>&1` in
203 *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;;
204 *) $_G_check_func $_G_path_prog
205 func_path_progs_result=$func_check_prog_result
206 ;;
207 esac
208 $_G_path_prog_found && break 3
209 done
210 done
211 done
212 IFS=$_G_save_IFS
213 test -z "$func_path_progs_result" && {
214 echo "no acceptable sed could be found in \$PATH" >&2
215 exit 1
216 }
217 }
218
219
220 # We want to be able to use the functions in this file before configure
221 # has figured out where the best binaries are kept, which means we have
222 # to search for them ourselves - except when the results are already set
223 # where we skip the searches.
224
225 # Unless the user overrides by setting SED, search the path for either GNU
226 # sed, or the sed that truncates its output the least.
227 test -z "$SED" && {
228 _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
229 for _G_i in 1 2 3 4 5 6 7; do
230 _G_sed_script=$_G_sed_script$nl$_G_sed_script
231 done
232 echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed
233 _G_sed_script=
234
235 func_check_prog_sed ()
236 {
237 _G_path_prog=$1
238
239 _G_count=0
240 printf 0123456789 >conftest.in
241 while :
242 do
243 cat conftest.in conftest.in >conftest.tmp
244 mv conftest.tmp conftest.in
245 cp conftest.in conftest.nl
246 echo '' >> conftest.nl
247 "$_G_path_prog" -f conftest.sed <conftest.nl >conftest.out 2>/dev/null || break
248 diff conftest.out conftest.nl >/dev/null 2>&1 || break
249 _G_count=`expr $_G_count + 1`
250 if test "$_G_count" -gt "$_G_path_prog_max"; then
251 # Best one so far, save it but keep looking for a better one
252 func_check_prog_result=$_G_path_prog
253 _G_path_prog_max=$_G_count
254 fi
255 # 10*(2^10) chars as input seems more than enough
256 test 10 -lt "$_G_count" && break
257 done
258 rm -f conftest.in conftest.tmp conftest.nl conftest.out
259 }
260
261 func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin
262 rm -f conftest.sed
263 SED=$func_path_progs_result
264 }
265
266
267 # Unless the user overrides by setting GREP, search the path for either GNU
268 # grep, or the grep that truncates its output the least.
269 test -z "$GREP" && {
270 func_check_prog_grep ()
271 {
272 _G_path_prog=$1
273
274 _G_count=0
275 _G_path_prog_max=0
276 printf 0123456789 >conftest.in
277 while :
278 do
279 cat conftest.in conftest.in >conftest.tmp
280 mv conftest.tmp conftest.in
281 cp conftest.in conftest.nl
282 echo 'GREP' >> conftest.nl
283 "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' <conftest.nl >conftest.out 2>/dev/null || break
284 diff conftest.out conftest.nl >/dev/null 2>&1 || break
285 _G_count=`expr $_G_count + 1`
286 if test "$_G_count" -gt "$_G_path_prog_max"; then
287 # Best one so far, save it but keep looking for a better one
288 func_check_prog_result=$_G_path_prog
289 _G_path_prog_max=$_G_count
290 fi
291 # 10*(2^10) chars as input seems more than enough
292 test 10 -lt "$_G_count" && break
293 done
294 rm -f conftest.in conftest.tmp conftest.nl conftest.out
295 }
296
297 func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin
298 GREP=$func_path_progs_result
299 }
300
301
302 ## ------------------------------- ##
303 ## User overridable command paths. ##
304 ## ------------------------------- ##
305
306 # All uppercase variable names are used for environment variables. These
307 # variables can be overridden by the user before calling a script that
308 # uses them if a suitable command of that name is not already available
309 # in the command search PATH.
310
311 : ${CP="cp -f"}
312 : ${ECHO="printf %s\n"}
313 : ${EGREP="$GREP -E"}
314 : ${FGREP="$GREP -F"}
315 : ${LN_S="ln -s"}
316 : ${MAKE="make"}
317 : ${MKDIR="mkdir"}
318 : ${MV="mv -f"}
319 : ${RM="rm -f"}
320 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
321
322
323 ## -------------------- ##
324 ## Useful sed snippets. ##
325 ## -------------------- ##
326
327 sed_dirname='s|/[^/]*$||'
328 sed_basename='s|^.*/||'
329
330 # Sed substitution that helps us do robust quoting. It backslashifies
331 # metacharacters that are still active within double-quoted strings.
332 sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
333
334 # Same as above, but do not quote variable references.
335 sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
336
337 # Sed substitution that turns a string into a regex matching for the
338 # string literally.
339 sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
340
341 # Sed substitution that converts a w32 file name or path
342 # that contains forward slashes, into one that contains
343 # (escaped) backslashes. A very naive implementation.
344 sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
345
346 # Re-'\' parameter expansions in output of sed_double_quote_subst that
347 # were '\'-ed in input to the same. If an odd number of '\' preceded a
348 # '$' in input to sed_double_quote_subst, that '$' was protected from
349 # expansion. Since each input '\' is now two '\'s, look for any number
350 # of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'.
351 _G_bs='\\'
352 _G_bs2='\\\\'
353 _G_bs4='\\\\\\\\'
354 _G_dollar='\$'
355 sed_double_backslash="\
356 s/$_G_bs4/&\\
357 /g
358 s/^$_G_bs2$_G_dollar/$_G_bs&/
359 s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
360 s/\n//g"
361
362
363 ## ----------------- ##
364 ## Global variables. ##
365 ## ----------------- ##
366
367 # Except for the global variables explicitly listed below, the following
368 # functions in the '^func_' namespace, and the '^require_' namespace
369 # variables initialised in the 'Resource management' section, sourcing
370 # this file will not pollute your global namespace with anything
371 # else. There's no portable way to scope variables in Bourne shell
372 # though, so actually running these functions will sometimes place
373 # results into a variable named after the function, and often use
374 # temporary variables in the '^_G_' namespace. If you are careful to
375 # avoid using those namespaces casually in your sourcing script, things
376 # should continue to work as you expect. And, of course, you can freely
377 # overwrite any of the functions or variables defined here before
378 # calling anything to customize them.
379
380 EXIT_SUCCESS=0
381 EXIT_FAILURE=1
382 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
383 EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
384
385 # Allow overriding, eg assuming that you follow the convention of
386 # putting '$debug_cmd' at the start of all your functions, you can get
387 # bash to show function call trace with:
388 #
389 # debug_cmd='echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
390 debug_cmd=${debug_cmd-":"}
391 exit_cmd=:
392
393 # By convention, finish your script with:
394 #
395 # exit $exit_status
396 #
397 # so that you can set exit_status to non-zero if you want to indicate
398 # something went wrong during execution without actually bailing out at
399 # the point of failure.
400 exit_status=$EXIT_SUCCESS
401
402 # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
403 # is ksh but when the shell is invoked as "sh" and the current value of
404 # the _XPG environment variable is not equal to 1 (one), the special
405 # positional parameter $0, within a function call, is the name of the
406 # function.
407 progpath=$0
408
409 # The name of this program.
410 progname=`$ECHO "$progpath" |$SED "$sed_basename"`
411
412 # Make sure we have an absolute progpath for reexecution:
413 case $progpath in
414 [\\/]*|[A-Za-z]:\\*) ;;
415 *[\\/]*)
416 progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
417 progdir=`cd "$progdir" && pwd`
418 progpath=$progdir/$progname
419 ;;
420 *)
421 _G_IFS=$IFS
422 IFS=${PATH_SEPARATOR-:}
423 for progdir in $PATH; do
424 IFS=$_G_IFS
425 test -x "$progdir/$progname" && break
426 done
427 IFS=$_G_IFS
428 test -n "$progdir" || progdir=`pwd`
429 progpath=$progdir/$progname
430 ;;
431 esac
432
433
434 ## ----------------- ##
435 ## Standard options. ##
436 ## ----------------- ##
437
438 # The following options affect the operation of the functions defined
439 # below, and should be set appropriately depending on run-time para-
440 # meters passed on the command line.
441
442 opt_dry_run=false
443 opt_quiet=false
444 opt_verbose=false
445
446 # Categories 'all' and 'none' are always available. Append any others
447 # you will pass as the first argument to func_warning from your own
448 # code.
449 warning_categories=
450
451 # By default, display warnings according to 'opt_warning_types'. Set
452 # 'warning_func' to ':' to elide all warnings, or func_fatal_error to
453 # treat the next displayed warning as a fatal error.
454 warning_func=func_warn_and_continue
455
456 # Set to 'all' to display all warnings, 'none' to suppress all
457 # warnings, or a space delimited list of some subset of
458 # 'warning_categories' to display only the listed warnings.
459 opt_warning_types=all
460
461
462 ## -------------------- ##
463 ## Resource management. ##
464 ## -------------------- ##
465
466 # This section contains definitions for functions that each ensure a
467 # particular resource (a file, or a non-empty configuration variable for
468 # example) is available, and if appropriate to extract default values
469 # from pertinent package files. Call them using their associated
470 # 'require_*' variable to ensure that they are executed, at most, once.
471 #
472 # It's entirely deliberate that calling these functions can set
473 # variables that don't obey the namespace limitations obeyed by the rest
474 # of this file, in order that that they be as useful as possible to
475 # callers.
476
477
478 # require_term_colors
479 # -------------------
480 # Allow display of bold text on terminals that support it.
481 require_term_colors=func_require_term_colors
482 func_require_term_colors ()
483 {
484 $debug_cmd
485
486 test -t 1 && {
487 # COLORTERM and USE_ANSI_COLORS environment variables take
488 # precedence, because most terminfo databases neglect to describe
489 # whether color sequences are supported.
490 test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
491
492 if test 1 = "$USE_ANSI_COLORS"; then
493 # Standard ANSI escape sequences
494 tc_reset=''
495 tc_bold=''; tc_standout=''
496 tc_red=''; tc_green=''
497 tc_blue=''; tc_cyan=''
498 else
499 # Otherwise trust the terminfo database after all.
500 test -n "`tput sgr0 2>/dev/null`" && {
501 tc_reset=`tput sgr0`
502 test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
503 tc_standout=$tc_bold
504 test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso`
505 test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1`
506 test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2`
507 test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4`
508 test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5`
509 }
510 fi
511 }
512
513 require_term_colors=:
514 }
515
516
517 ## ----------------- ##
518 ## Function library. ##
519 ## ----------------- ##
520
521 # This section contains a variety of useful functions to call in your
522 # scripts. Take note of the portable wrappers for features provided by
523 # some modern shells, which will fall back to slower equivalents on
524 # less featureful shells.
525
526
527 # func_append VAR VALUE
528 # ---------------------
529 # Append VALUE onto the existing contents of VAR.
530
531 # We should try to minimise forks, especially on Windows where they are
532 # unreasonably slow, so skip the feature probes when bash or zsh are
533 # being used:
534 if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
535 : ${_G_HAVE_ARITH_OP="yes"}
536 : ${_G_HAVE_XSI_OPS="yes"}
537 # The += operator was introduced in bash 3.1
538 case $BASH_VERSION in
539 [12].* | 3.0 | 3.0*) ;;
540 *)
541 : ${_G_HAVE_PLUSEQ_OP="yes"}
542 ;;
543 esac
544 fi
545
546 # _G_HAVE_PLUSEQ_OP
547 # Can be empty, in which case the shell is probed, "yes" if += is
548 # useable or anything else if it does not work.
549 test -z "$_G_HAVE_PLUSEQ_OP" \
550 && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
551 && _G_HAVE_PLUSEQ_OP=yes
552
553 if test yes = "$_G_HAVE_PLUSEQ_OP"
554 then
555 # This is an XSI compatible shell, allowing a faster implementation...
556 eval 'func_append ()
557 {
558 $debug_cmd
559
560 eval "$1+=\$2"
561 }'
562 else
563 # ...otherwise fall back to using expr, which is often a shell builtin.
564 func_append ()
565 {
566 $debug_cmd
567
568 eval "$1=\$$1\$2"
569 }
570 fi
571
572
573 # func_append_quoted VAR VALUE
574 # ----------------------------
575 # Quote VALUE and append to the end of shell variable VAR, separated
576 # by a space.
577 if test yes = "$_G_HAVE_PLUSEQ_OP"; then
578 eval 'func_append_quoted ()
579 {
580 $debug_cmd
581
582 func_quote_for_eval "$2"
583 eval "$1+=\\ \$func_quote_for_eval_result"
584 }'
585 else
586 func_append_quoted ()
587 {
588 $debug_cmd
589
590 func_quote_for_eval "$2"
591 eval "$1=\$$1\\ \$func_quote_for_eval_result"
592 }
593 fi
594
595
596 # func_append_uniq VAR VALUE
597 # --------------------------
598 # Append unique VALUE onto the existing contents of VAR, assuming
599 # entries are delimited by the first character of VALUE. For example:
600 #
601 # func_append_uniq options " --another-option option-argument"
602 #
603 # will only append to $options if " --another-option option-argument "
604 # is not already present somewhere in $options already (note spaces at
605 # each end implied by leading space in second argument).
606 func_append_uniq ()
607 {
608 $debug_cmd
609
610 eval _G_current_value='`$ECHO $'$1'`'
611 _G_delim=`expr "$2" : '\(.\)'`
612
613 case $_G_delim$_G_current_value$_G_delim in
614 *"$2$_G_delim"*) ;;
615 *) func_append "$@" ;;
616 esac
617 }
618
619
620 # func_arith TERM...
621 # ------------------
622 # Set func_arith_result to the result of evaluating TERMs.
623 test -z "$_G_HAVE_ARITH_OP" \
624 && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \
625 && _G_HAVE_ARITH_OP=yes
626
627 if test yes = "$_G_HAVE_ARITH_OP"; then
628 eval 'func_arith ()
629 {
630 $debug_cmd
631
632 func_arith_result=$(( $* ))
633 }'
634 else
635 func_arith ()
636 {
637 $debug_cmd
638
639 func_arith_result=`expr "$@"`
640 }
641 fi
642
643
644 # func_basename FILE
645 # ------------------
646 # Set func_basename_result to FILE with everything up to and including
647 # the last / stripped.
648 if test yes = "$_G_HAVE_XSI_OPS"; then
649 # If this shell supports suffix pattern removal, then use it to avoid
650 # forking. Hide the definitions single quotes in case the shell chokes
651 # on unsupported syntax...
652 _b='func_basename_result=${1##*/}'
653 _d='case $1 in
654 */*) func_dirname_result=${1%/*}$2 ;;
655 * ) func_dirname_result=$3 ;;
656 esac'
657
658 else
659 # ...otherwise fall back to using sed.
660 _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'
661 _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"`
662 if test "X$func_dirname_result" = "X$1"; then
663 func_dirname_result=$3
664 else
665 func_append func_dirname_result "$2"
666 fi'
667 fi
668
669 eval 'func_basename ()
670 {
671 $debug_cmd
672
673 '"$_b"'
674 }'
675
676
677 # func_dirname FILE APPEND NONDIR_REPLACEMENT
678 # -------------------------------------------
679 # Compute the dirname of FILE. If nonempty, add APPEND to the result,
680 # otherwise set result to NONDIR_REPLACEMENT.
681 eval 'func_dirname ()
682 {
683 $debug_cmd
684
685 '"$_d"'
686 }'
687
688
689 # func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT
690 # --------------------------------------------------------
691 # Perform func_basename and func_dirname in a single function
692 # call:
693 # dirname: Compute the dirname of FILE. If nonempty,
694 # add APPEND to the result, otherwise set result
695 # to NONDIR_REPLACEMENT.
696 # value returned in "$func_dirname_result"
697 # basename: Compute filename of FILE.
698 # value retuned in "$func_basename_result"
699 # For efficiency, we do not delegate to the functions above but instead
700 # duplicate the functionality here.
701 eval 'func_dirname_and_basename ()
702 {
703 $debug_cmd
704
705 '"$_b"'
706 '"$_d"'
707 }'
708
709
710 # func_echo ARG...
711 # ----------------
712 # Echo program name prefixed message.
713 func_echo ()
714 {
715 $debug_cmd
716
717 _G_message=$*
718
719 func_echo_IFS=$IFS
720 IFS=$nl
721 for _G_line in $_G_message; do
722 IFS=$func_echo_IFS
723 $ECHO "$progname: $_G_line"
724 done
725 IFS=$func_echo_IFS
726 }
727
728
729 # func_echo_all ARG...
730 # --------------------
731 # Invoke $ECHO with all args, space-separated.
732 func_echo_all ()
733 {
734 $ECHO "$*"
735 }
736
737
738 # func_echo_infix_1 INFIX ARG...
739 # ------------------------------
740 # Echo program name, followed by INFIX on the first line, with any
741 # additional lines not showing INFIX.
742 func_echo_infix_1 ()
743 {
744 $debug_cmd
745
746 $require_term_colors
747
748 _G_infix=$1; shift
749 _G_indent=$_G_infix
750 _G_prefix="$progname: $_G_infix: "
751 _G_message=$*
752
753 # Strip color escape sequences before counting printable length
754 for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
755 do
756 test -n "$_G_tc" && {
757 _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"`
758 _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"`
759 }
760 done
761 _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes
762
763 func_echo_infix_1_IFS=$IFS
764 IFS=$nl
765 for _G_line in $_G_message; do
766 IFS=$func_echo_infix_1_IFS
767 $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
768 _G_prefix=$_G_indent
769 done
770 IFS=$func_echo_infix_1_IFS
771 }
772
773
774 # func_error ARG...
775 # -----------------
776 # Echo program name prefixed message to standard error.
777 func_error ()
778 {
779 $debug_cmd
780
781 $require_term_colors
782
783 func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2
784 }
785
786
787 # func_fatal_error ARG...
788 # -----------------------
789 # Echo program name prefixed message to standard error, and exit.
790 func_fatal_error ()
791 {
792 $debug_cmd
793
794 func_error "$*"
795 exit $EXIT_FAILURE
796 }
797
798
799 # func_grep EXPRESSION FILENAME
800 # -----------------------------
801 # Check whether EXPRESSION matches any line of FILENAME, without output.
802 func_grep ()
803 {
804 $debug_cmd
805
806 $GREP "$1" "$2" >/dev/null 2>&1
807 }
808
809
810 # func_len STRING
811 # ---------------
812 # Set func_len_result to the length of STRING. STRING may not
813 # start with a hyphen.
814 test -z "$_G_HAVE_XSI_OPS" \
815 && (eval 'x=a/b/c;
816 test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
817 && _G_HAVE_XSI_OPS=yes
818
819 if test yes = "$_G_HAVE_XSI_OPS"; then
820 eval 'func_len ()
821 {
822 $debug_cmd
823
824 func_len_result=${#1}
825 }'
826 else
827 func_len ()
828 {
829 $debug_cmd
830
831 func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
832 }
833 fi
834
835
836 # func_mkdir_p DIRECTORY-PATH
837 # ---------------------------
838 # Make sure the entire path to DIRECTORY-PATH is available.
839 func_mkdir_p ()
840 {
841 $debug_cmd
842
843 _G_directory_path=$1
844 _G_dir_list=
845
846 if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then
847
848 # Protect directory names starting with '-'
849 case $_G_directory_path in
850 -*) _G_directory_path=./$_G_directory_path ;;
851 esac
852
853 # While some portion of DIR does not yet exist...
854 while test ! -d "$_G_directory_path"; do
855 # ...make a list in topmost first order. Use a colon delimited
856 # list incase some portion of path contains whitespace.
857 _G_dir_list=$_G_directory_path:$_G_dir_list
858
859 # If the last portion added has no slash in it, the list is done
860 case $_G_directory_path in */*) ;; *) break ;; esac
861
862 # ...otherwise throw away the child directory and loop
863 _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"`
864 done
865 _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'`
866
867 func_mkdir_p_IFS=$IFS; IFS=:
868 for _G_dir in $_G_dir_list; do
869 IFS=$func_mkdir_p_IFS
870 # mkdir can fail with a 'File exist' error if two processes
871 # try to create one of the directories concurrently. Don't
872 # stop in that case!
873 $MKDIR "$_G_dir" 2>/dev/null || :
874 done
875 IFS=$func_mkdir_p_IFS
876
877 # Bail out if we (or some other process) failed to create a directory.
878 test -d "$_G_directory_path" || \
879 func_fatal_error "Failed to create '$1'"
880 fi
881 }
882
883
884 # func_mktempdir [BASENAME]
885 # -------------------------
886 # Make a temporary directory that won't clash with other running
887 # libtool processes, and avoids race conditions if possible. If
888 # given, BASENAME is the basename for that directory.
889 func_mktempdir ()
890 {
891 $debug_cmd
892
893 _G_template=${TMPDIR-/tmp}/${1-$progname}
894
895 if test : = "$opt_dry_run"; then
896 # Return a directory name, but don't create it in dry-run mode
897 _G_tmpdir=$_G_template-$$
898 else
899
900 # If mktemp works, use that first and foremost
901 _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null`
902
903 if test ! -d "$_G_tmpdir"; then
904 # Failing that, at least try and use $RANDOM to avoid a race
905 _G_tmpdir=$_G_template-${RANDOM-0}$$
906
907 func_mktempdir_umask=`umask`
908 umask 0077
909 $MKDIR "$_G_tmpdir"
910 umask $func_mktempdir_umask
911 fi
912
913 # If we're not in dry-run mode, bomb out on failure
914 test -d "$_G_tmpdir" || \
915 func_fatal_error "cannot create temporary directory '$_G_tmpdir'"
916 fi
917
918 $ECHO "$_G_tmpdir"
919 }
920
921
922 # func_normal_abspath PATH
923 # ------------------------
924 # Remove doubled-up and trailing slashes, "." path components,
925 # and cancel out any ".." path components in PATH after making
926 # it an absolute path.
927 func_normal_abspath ()
928 {
929 $debug_cmd
930
931 # These SED scripts presuppose an absolute path with a trailing slash.
932 _G_pathcar='s|^/\([^/]*\).*$|\1|'
933 _G_pathcdr='s|^/[^/]*||'
934 _G_removedotparts=':dotsl
935 s|/\./|/|g
936 t dotsl
937 s|/\.$|/|'
938 _G_collapseslashes='s|/\{1,\}|/|g'
939 _G_finalslash='s|/*$|/|'
940
941 # Start from root dir and reassemble the path.
942 func_normal_abspath_result=
943 func_normal_abspath_tpath=$1
944 func_normal_abspath_altnamespace=
945 case $func_normal_abspath_tpath in
946 "")
947 # Empty path, that just means $cwd.
948 func_stripname '' '/' "`pwd`"
949 func_normal_abspath_result=$func_stripname_result
950 return
951 ;;
952 # The next three entries are used to spot a run of precisely
953 # two leading slashes without using negated character classes;
954 # we take advantage of case's first-match behaviour.
955 ///*)
956 # Unusual form of absolute path, do nothing.
957 ;;
958 //*)
959 # Not necessarily an ordinary path; POSIX reserves leading '//'
960 # and for example Cygwin uses it to access remote file shares
961 # over CIFS/SMB, so we conserve a leading double slash if found.
962 func_normal_abspath_altnamespace=/
963 ;;
964 /*)
965 # Absolute path, do nothing.
966 ;;
967 *)
968 # Relative path, prepend $cwd.
969 func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
970 ;;
971 esac
972
973 # Cancel out all the simple stuff to save iterations. We also want
974 # the path to end with a slash for ease of parsing, so make sure
975 # there is one (and only one) here.
976 func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
977 -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"`
978 while :; do
979 # Processed it all yet?
980 if test / = "$func_normal_abspath_tpath"; then
981 # If we ascended to the root using ".." the result may be empty now.
982 if test -z "$func_normal_abspath_result"; then
983 func_normal_abspath_result=/
984 fi
985 break
986 fi
987 func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
988 -e "$_G_pathcar"`
989 func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
990 -e "$_G_pathcdr"`
991 # Figure out what to do with it
992 case $func_normal_abspath_tcomponent in
993 "")
994 # Trailing empty path component, ignore it.
995 ;;
996 ..)
997 # Parent dir; strip last assembled component from result.
998 func_dirname "$func_normal_abspath_result"
999 func_normal_abspath_result=$func_dirname_result
1000 ;;
1001 *)
1002 # Actual path component, append it.
1003 func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent"
1004 ;;
1005 esac
1006 done
1007 # Restore leading double-slash if one was found on entry.
1008 func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
1009 }
1010
1011
1012 # func_notquiet ARG...
1013 # --------------------
1014 # Echo program name prefixed message only when not in quiet mode.
1015 func_notquiet ()
1016 {
1017 $debug_cmd
1018
1019 $opt_quiet || func_echo ${1+"$@"}
1020
1021 # A bug in bash halts the script if the last line of a function
1022 # fails when set -e is in force, so we need another command to
1023 # work around that:
1024 :
1025 }
1026
1027
1028 # func_relative_path SRCDIR DSTDIR
1029 # --------------------------------
1030 # Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
1031 func_relative_path ()
1032 {
1033 $debug_cmd
1034
1035 func_relative_path_result=
1036 func_normal_abspath "$1"
1037 func_relative_path_tlibdir=$func_normal_abspath_result
1038 func_normal_abspath "$2"
1039 func_relative_path_tbindir=$func_normal_abspath_result
1040
1041 # Ascend the tree starting from libdir
1042 while :; do
1043 # check if we have found a prefix of bindir
1044 case $func_relative_path_tbindir in
1045 $func_relative_path_tlibdir)
1046 # found an exact match
1047 func_relative_path_tcancelled=
1048 break
1049 ;;
1050 $func_relative_path_tlibdir*)
1051 # found a matching prefix
1052 func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
1053 func_relative_path_tcancelled=$func_stripname_result
1054 if test -z "$func_relative_path_result"; then
1055 func_relative_path_result=.
1056 fi
1057 break
1058 ;;
1059 *)
1060 func_dirname $func_relative_path_tlibdir
1061 func_relative_path_tlibdir=$func_dirname_result
1062 if test -z "$func_relative_path_tlibdir"; then
1063 # Have to descend all the way to the root!
1064 func_relative_path_result=../$func_relative_path_result
1065 func_relative_path_tcancelled=$func_relative_path_tbindir
1066 break
1067 fi
1068 func_relative_path_result=../$func_relative_path_result
1069 ;;
1070 esac
1071 done
1072
1073 # Now calculate path; take care to avoid doubling-up slashes.
1074 func_stripname '' '/' "$func_relative_path_result"
1075 func_relative_path_result=$func_stripname_result
1076 func_stripname '/' '/' "$func_relative_path_tcancelled"
1077 if test -n "$func_stripname_result"; then
1078 func_append func_relative_path_result "/$func_stripname_result"
1079 fi
1080
1081 # Normalisation. If bindir is libdir, return '.' else relative path.
1082 if test -n "$func_relative_path_result"; then
1083 func_stripname './' '' "$func_relative_path_result"
1084 func_relative_path_result=$func_stripname_result
1085 fi
1086
1087 test -n "$func_relative_path_result" || func_relative_path_result=.
1088
1089 :
1090 }
1091
1092
1093 # func_quote_for_eval ARG...
1094 # --------------------------
1095 # Aesthetically quote ARGs to be evaled later.
1096 # This function returns two values:
1097 # i) func_quote_for_eval_result
1098 # double-quoted, suitable for a subsequent eval
1099 # ii) func_quote_for_eval_unquoted_result
1100 # has all characters that are still active within double
1101 # quotes backslashified.
1102 func_quote_for_eval ()
1103 {
1104 $debug_cmd
1105
1106 func_quote_for_eval_unquoted_result=
1107 func_quote_for_eval_result=
1108 while test 0 -lt $#; do
1109 case $1 in
1110 *[\\\`\"\$]*)
1111 _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
1112 *)
1113 _G_unquoted_arg=$1 ;;
1114 esac
1115 if test -n "$func_quote_for_eval_unquoted_result"; then
1116 func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
1117 else
1118 func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
1119 fi
1120
1121 case $_G_unquoted_arg in
1122 # Double-quote args containing shell metacharacters to delay
1123 # word splitting, command substitution and variable expansion
1124 # for a subsequent eval.
1125 # Many Bourne shells cannot handle close brackets correctly
1126 # in scan sets, so we specify it separately.
1127 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1128 _G_quoted_arg=\"$_G_unquoted_arg\"
1129 ;;
1130 *)
1131 _G_quoted_arg=$_G_unquoted_arg
1132 ;;
1133 esac
1134
1135 if test -n "$func_quote_for_eval_result"; then
1136 func_append func_quote_for_eval_result " $_G_quoted_arg"
1137 else
1138 func_append func_quote_for_eval_result "$_G_quoted_arg"
1139 fi
1140 shift
1141 done
1142 }
1143
1144
1145 # func_quote_for_expand ARG
1146 # -------------------------
1147 # Aesthetically quote ARG to be evaled later; same as above,
1148 # but do not quote variable references.
1149 func_quote_for_expand ()
1150 {
1151 $debug_cmd
1152
1153 case $1 in
1154 *[\\\`\"]*)
1155 _G_arg=`$ECHO "$1" | $SED \
1156 -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
1157 *)
1158 _G_arg=$1 ;;
1159 esac
1160
1161 case $_G_arg in
1162 # Double-quote args containing shell metacharacters to delay
1163 # word splitting and command substitution for a subsequent eval.
1164 # Many Bourne shells cannot handle close brackets correctly
1165 # in scan sets, so we specify it separately.
1166 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1167 _G_arg=\"$_G_arg\"
1168 ;;
1169 esac
1170
1171 func_quote_for_expand_result=$_G_arg
1172 }
1173
1174
1175 # func_stripname PREFIX SUFFIX NAME
1176 # ---------------------------------
1177 # strip PREFIX and SUFFIX from NAME, and store in func_stripname_result.
1178 # PREFIX and SUFFIX must not contain globbing or regex special
1179 # characters, hashes, percent signs, but SUFFIX may contain a leading
1180 # dot (in which case that matches only a dot).
1181 if test yes = "$_G_HAVE_XSI_OPS"; then
1182 eval 'func_stripname ()
1183 {
1184 $debug_cmd
1185
1186 # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
1187 # positional parameters, so assign one to ordinary variable first.
1188 func_stripname_result=$3
1189 func_stripname_result=${func_stripname_result#"$1"}
1190 func_stripname_result=${func_stripname_result%"$2"}
1191 }'
1192 else
1193 func_stripname ()
1194 {
1195 $debug_cmd
1196
1197 case $2 in
1198 .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;;
1199 *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;;
1200 esac
1201 }
1202 fi
1203
1204
1205 # func_show_eval CMD [FAIL_EXP]
1206 # -----------------------------
1207 # Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is
1208 # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
1209 # is given, then evaluate it.
1210 func_show_eval ()
1211 {
1212 $debug_cmd
1213
1214 _G_cmd=$1
1215 _G_fail_exp=${2-':'}
1216
1217 func_quote_for_expand "$_G_cmd"
1218 eval "func_notquiet $func_quote_for_expand_result"
1219
1220 $opt_dry_run || {
1221 eval "$_G_cmd"
1222 _G_status=$?
1223 if test 0 -ne "$_G_status"; then
1224 eval "(exit $_G_status); $_G_fail_exp"
1225 fi
1226 }
1227 }
1228
1229
1230 # func_show_eval_locale CMD [FAIL_EXP]
1231 # ------------------------------------
1232 # Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is
1233 # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
1234 # is given, then evaluate it. Use the saved locale for evaluation.
1235 func_show_eval_locale ()
1236 {
1237 $debug_cmd
1238
1239 _G_cmd=$1
1240 _G_fail_exp=${2-':'}
1241
1242 $opt_quiet || {
1243 func_quote_for_expand "$_G_cmd"
1244 eval "func_echo $func_quote_for_expand_result"
1245 }
1246
1247 $opt_dry_run || {
1248 eval "$_G_user_locale
1249 $_G_cmd"
1250 _G_status=$?
1251 eval "$_G_safe_locale"
1252 if test 0 -ne "$_G_status"; then
1253 eval "(exit $_G_status); $_G_fail_exp"
1254 fi
1255 }
1256 }
1257
1258
1259 # func_tr_sh
1260 # ----------
1261 # Turn $1 into a string suitable for a shell variable name.
1262 # Result is stored in $func_tr_sh_result. All characters
1263 # not in the set a-zA-Z0-9_ are replaced with '_'. Further,
1264 # if $1 begins with a digit, a '_' is prepended as well.
1265 func_tr_sh ()
1266 {
1267 $debug_cmd
1268
1269 case $1 in
1270 [0-9]* | *[!a-zA-Z0-9_]*)
1271 func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'`
1272 ;;
1273 * )
1274 func_tr_sh_result=$1
1275 ;;
1276 esac
1277 }
1278
1279
1280 # func_verbose ARG...
1281 # -------------------
1282 # Echo program name prefixed message in verbose mode only.
1283 func_verbose ()
1284 {
1285 $debug_cmd
1286
1287 $opt_verbose && func_echo "$*"
1288
1289 :
1290 }
1291
1292
1293 # func_warn_and_continue ARG...
1294 # -----------------------------
1295 # Echo program name prefixed warning message to standard error.
1296 func_warn_and_continue ()
1297 {
1298 $debug_cmd
1299
1300 $require_term_colors
1301
1302 func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2
1303 }
1304
1305
1306 # func_warning CATEGORY ARG...
1307 # ----------------------------
1308 # Echo program name prefixed warning message to standard error. Warning
1309 # messages can be filtered according to CATEGORY, where this function
1310 # elides messages where CATEGORY is not listed in the global variable
1311 # 'opt_warning_types'.
1312 func_warning ()
1313 {
1314 $debug_cmd
1315
1316 # CATEGORY must be in the warning_categories list!
1317 case " $warning_categories " in
1318 *" $1 "*) ;;
1319 *) func_internal_error "invalid warning category '$1'" ;;
1320 esac
1321
1322 _G_category=$1
1323 shift
1324
1325 case " $opt_warning_types " in
1326 *" $_G_category "*) $warning_func ${1+"$@"} ;;
1327 esac
1328 }
1329
1330
1331 # func_sort_ver VER1 VER2
1332 # -----------------------
1333 # 'sort -V' is not generally available.
1334 # Note this deviates from the version comparison in automake
1335 # in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
1336 # but this should suffice as we won't be specifying old
1337 # version formats or redundant trailing .0 in bootstrap.conf.
1338 # If we did want full compatibility then we should probably
1339 # use m4_version_compare from autoconf.
1340 func_sort_ver ()
1341 {
1342 $debug_cmd
1343
1344 printf '%s\n%s\n' "$1" "$2" \
1345 | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n
1346 }
1347
1348 # func_lt_ver PREV CURR
1349 # ---------------------
1350 # Return true if PREV and CURR are in the correct order according to
1351 # func_sort_ver, otherwise false. Use it like this:
1352 #
1353 # func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..."
1354 func_lt_ver ()
1355 {
1356 $debug_cmd
1357
1358 test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q`
1359 }
1360
1361
1362 # Local variables:
1363 # mode: shell-script
1364 # sh-indentation: 2
1365 # eval: (add-hook 'before-save-hook 'time-stamp)
1366 # time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
1367 # time-stamp-time-zone: "UTC"
1368 # End:
1369 #! /bin/sh
1370
1371 # Set a version string for this script.
1372 scriptversion=2015-10-07.11; # UTC
1373
1374 # A portable, pluggable option parser for Bourne shell.
1375 # Written by Gary V. Vaughan, 2010
1376
1377 # Copyright (C) 2010-2015 Free Software Foundation, Inc.
1378 # This is free software; see the source for copying conditions. There is NO
1379 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1380
1381 # This program is free software: you can redistribute it and/or modify
1382 # it under the terms of the GNU General Public License as published by
1383 # the Free Software Foundation, either version 3 of the License, or
1384 # (at your option) any later version.
1385
1386 # This program is distributed in the hope that it will be useful,
1387 # but WITHOUT ANY WARRANTY; without even the implied warranty of
1388 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1389 # GNU General Public License for more details.
1390
1391 # You should have received a copy of the GNU General Public License
1392 # along with this program. If not, see <http://www.gnu.org/licenses/>.
1393
1394 # Please report bugs or propose patches to gary@gnu.org.
1395
1396
1397 ## ------ ##
1398 ## Usage. ##
1399 ## ------ ##
1400
1401 # This file is a library for parsing options in your shell scripts along
1402 # with assorted other useful supporting features that you can make use
1403 # of too.
1404 #
1405 # For the simplest scripts you might need only:
1406 #
1407 # #!/bin/sh
1408 # . relative/path/to/funclib.sh
1409 # . relative/path/to/options-parser
1410 # scriptversion=1.0
1411 # func_options ${1+"$@"}
1412 # eval set dummy "$func_options_result"; shift
1413 # ...rest of your script...
1414 #
1415 # In order for the '--version' option to work, you will need to have a
1416 # suitably formatted comment like the one at the top of this file
1417 # starting with '# Written by ' and ending with '# warranty; '.
1418 #
1419 # For '-h' and '--help' to work, you will also need a one line
1420 # description of your script's purpose in a comment directly above the
1421 # '# Written by ' line, like the one at the top of this file.
1422 #
1423 # The default options also support '--debug', which will turn on shell
1424 # execution tracing (see the comment above debug_cmd below for another
1425 # use), and '--verbose' and the func_verbose function to allow your script
1426 # to display verbose messages only when your user has specified
1427 # '--verbose'.
1428 #
1429 # After sourcing this file, you can plug processing for additional
1430 # options by amending the variables from the 'Configuration' section
1431 # below, and following the instructions in the 'Option parsing'
1432 # section further down.
1433
1434 ## -------------- ##
1435 ## Configuration. ##
1436 ## -------------- ##
1437
1438 # You should override these variables in your script after sourcing this
1439 # file so that they reflect the customisations you have added to the
1440 # option parser.
1441
1442 # The usage line for option parsing errors and the start of '-h' and
1443 # '--help' output messages. You can embed shell variables for delayed
1444 # expansion at the time the message is displayed, but you will need to
1445 # quote other shell meta-characters carefully to prevent them being
1446 # expanded when the contents are evaled.
1447 usage='$progpath [OPTION]...'
1448
1449 # Short help message in response to '-h' and '--help'. Add to this or
1450 # override it after sourcing this library to reflect the full set of
1451 # options your script accepts.
1452 usage_message="\
1453 --debug enable verbose shell tracing
1454 -W, --warnings=CATEGORY
1455 report the warnings falling in CATEGORY [all]
1456 -v, --verbose verbosely report processing
1457 --version print version information and exit
1458 -h, --help print short or long help message and exit
1459 "
1460
1461 # Additional text appended to 'usage_message' in response to '--help'.
1462 long_help_message="
1463 Warning categories include:
1464 'all' show all warnings
1465 'none' turn off all the warnings
1466 'error' warnings are treated as fatal errors"
1467
1468 # Help message printed before fatal option parsing errors.
1469 fatal_help="Try '\$progname --help' for more information."
1470
1471
1472
1473 ## ------------------------- ##
1474 ## Hook function management. ##
1475 ## ------------------------- ##
1476
1477 # This section contains functions for adding, removing, and running hooks
1478 # to the main code. A hook is just a named list of of function, that can
1479 # be run in order later on.
1480
1481 # func_hookable FUNC_NAME
1482 # -----------------------
1483 # Declare that FUNC_NAME will run hooks added with
1484 # 'func_add_hook FUNC_NAME ...'.
1485 func_hookable ()
1486 {
1487 $debug_cmd
1488
1489 func_append hookable_fns " $1"
1490 }
1491
1492
1493 # func_add_hook FUNC_NAME HOOK_FUNC
1494 # ---------------------------------
1495 # Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must
1496 # first have been declared "hookable" by a call to 'func_hookable'.
1497 func_add_hook ()
1498 {
1499 $debug_cmd
1500
1501 case " $hookable_fns " in
1502 *" $1 "*) ;;
1503 *) func_fatal_error "'$1' does not accept hook functions." ;;
1504 esac
1505
1506 eval func_append ${1}_hooks '" $2"'
1507 }
1508
1509
1510 # func_remove_hook FUNC_NAME HOOK_FUNC
1511 # ------------------------------------
1512 # Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
1513 func_remove_hook ()
1514 {
1515 $debug_cmd
1516
1517 eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
1518 }
1519
1520
1521 # func_run_hooks FUNC_NAME [ARG]...
1522 # ---------------------------------
1523 # Run all hook functions registered to FUNC_NAME.
1524 # It is assumed that the list of hook functions contains nothing more
1525 # than a whitespace-delimited list of legal shell function names, and
1526 # no effort is wasted trying to catch shell meta-characters or preserve
1527 # whitespace.
1528 func_run_hooks ()
1529 {
1530 $debug_cmd
1531
1532 _G_rc_run_hooks=false
1533
1534 case " $hookable_fns " in
1535 *" $1 "*) ;;
1536 *) func_fatal_error "'$1' does not support hook funcions.n" ;;
1537 esac
1538
1539 eval _G_hook_fns=\$$1_hooks; shift
1540
1541 for _G_hook in $_G_hook_fns; do
1542 if eval $_G_hook '"$@"'; then
1543 # store returned options list back into positional
1544 # parameters for next 'cmd' execution.
1545 eval _G_hook_result=\$${_G_hook}_result
1546 eval set dummy "$_G_hook_result"; shift
1547 _G_rc_run_hooks=:
1548 fi
1549 done
1550
1551 $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result
1552 }
1553
1554
1555
1556 ## --------------- ##
1557 ## Option parsing. ##
1558 ## --------------- ##
1559
1560 # In order to add your own option parsing hooks, you must accept the
1561 # full positional parameter list in your hook function, you may remove/edit
1562 # any options that you action, and then pass back the remaining unprocessed
1563 # options in '<hooked_function_name>_result', escaped suitably for
1564 # 'eval'. In this case you also must return $EXIT_SUCCESS to let the
1565 # hook's caller know that it should pay attention to
1566 # '<hooked_function_name>_result'. Returning $EXIT_FAILURE signalizes that
1567 # arguments are left untouched by the hook and therefore caller will ignore the
1568 # result variable.
1569 #
1570 # Like this:
1571 #
1572 # my_options_prep ()
1573 # {
1574 # $debug_cmd
1575 #
1576 # # Extend the existing usage message.
1577 # usage_message=$usage_message'
1578 # -s, --silent don'\''t print informational messages
1579 # '
1580 # # No change in '$@' (ignored completely by this hook). There is
1581 # # no need to do the equivalent (but slower) action:
1582 # # func_quote_for_eval ${1+"$@"}
1583 # # my_options_prep_result=$func_quote_for_eval_result
1584 # false
1585 # }
1586 # func_add_hook func_options_prep my_options_prep
1587 #
1588 #
1589 # my_silent_option ()
1590 # {
1591 # $debug_cmd
1592 #
1593 # args_changed=false
1594 #
1595 # # Note that for efficiency, we parse as many options as we can
1596 # # recognise in a loop before passing the remainder back to the
1597 # # caller on the first unrecognised argument we encounter.
1598 # while test $# -gt 0; do
1599 # opt=$1; shift
1600 # case $opt in
1601 # --silent|-s) opt_silent=:
1602 # args_changed=:
1603 # ;;
1604 # # Separate non-argument short options:
1605 # -s*) func_split_short_opt "$_G_opt"
1606 # set dummy "$func_split_short_opt_name" \
1607 # "-$func_split_short_opt_arg" ${1+"$@"}
1608 # shift
1609 # args_changed=:
1610 # ;;
1611 # *) # Make sure the first unrecognised option "$_G_opt"
1612 # # is added back to "$@", we could need that later
1613 # # if $args_changed is true.
1614 # set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
1615 # esac
1616 # done
1617 #
1618 # if $args_changed; then
1619 # func_quote_for_eval ${1+"$@"}
1620 # my_silent_option_result=$func_quote_for_eval_result
1621 # fi
1622 #
1623 # $args_changed
1624 # }
1625 # func_add_hook func_parse_options my_silent_option
1626 #
1627 #
1628 # my_option_validation ()
1629 # {
1630 # $debug_cmd
1631 #
1632 # $opt_silent && $opt_verbose && func_fatal_help "\
1633 # '--silent' and '--verbose' options are mutually exclusive."
1634 #
1635 # false
1636 # }
1637 # func_add_hook func_validate_options my_option_validation
1638 #
1639 # You'll also need to manually amend $usage_message to reflect the extra
1640 # options you parse. It's preferable to append if you can, so that
1641 # multiple option parsing hooks can be added safely.
1642
1643
1644 # func_options_finish [ARG]...
1645 # ----------------------------
1646 # Finishing the option parse loop (call 'func_options' hooks ATM).
1647 func_options_finish ()
1648 {
1649 $debug_cmd
1650
1651 _G_func_options_finish_exit=false
1652 if func_run_hooks func_options ${1+"$@"}; then
1653 func_options_finish_result=$func_run_hooks_result
1654 _G_func_options_finish_exit=:
1655 fi
1656
1657 $_G_func_options_finish_exit
1658 }
1659
1660
1661 # func_options [ARG]...
1662 # ---------------------
1663 # All the functions called inside func_options are hookable. See the
1664 # individual implementations for details.
1665 func_hookable func_options
1666 func_options ()
1667 {
1668 $debug_cmd
1669
1670 _G_rc_options=false
1671
1672 for my_func in options_prep parse_options validate_options options_finish
1673 do
1674 if eval func_$my_func '${1+"$@"}'; then
1675 eval _G_res_var='$'"func_${my_func}_result"
1676 eval set dummy "$_G_res_var" ; shift
1677 _G_rc_options=:
1678 fi
1679 done
1680
1681 # Save modified positional parameters for caller. As a top-level
1682 # options-parser function we always need to set the 'func_options_result'
1683 # variable (regardless the $_G_rc_options value).
1684 if $_G_rc_options; then
1685 func_options_result=$_G_res_var
1686 else
1687 func_quote_for_eval ${1+"$@"}
1688 func_options_result=$func_quote_for_eval_result
1689 fi
1690
1691 $_G_rc_options
1692 }
1693
1694
1695 # func_options_prep [ARG]...
1696 # --------------------------
1697 # All initialisations required before starting the option parse loop.
1698 # Note that when calling hook functions, we pass through the list of
1699 # positional parameters. If a hook function modifies that list, and
1700 # needs to propagate that back to rest of this script, then the complete
1701 # modified list must be put in 'func_run_hooks_result' before
1702 # returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned).
1703 func_hookable func_options_prep
1704 func_options_prep ()
1705 {
1706 $debug_cmd
1707
1708 # Option defaults:
1709 opt_verbose=false
1710 opt_warning_types=
1711
1712 _G_rc_options_prep=false
1713 if func_run_hooks func_options_prep ${1+"$@"}; then
1714 _G_rc_options_prep=:
1715 # save modified positional parameters for caller
1716 func_options_prep_result=$func_run_hooks_result
1717 fi
1718
1719 $_G_rc_options_prep
1720 }
1721
1722
1723 # func_parse_options [ARG]...
1724 # ---------------------------
1725 # The main option parsing loop.
1726 func_hookable func_parse_options
1727 func_parse_options ()
1728 {
1729 $debug_cmd
1730
1731 func_parse_options_result=
1732
1733 _G_rc_parse_options=false
1734 # this just eases exit handling
1735 while test $# -gt 0; do
1736 # Defer to hook functions for initial option parsing, so they
1737 # get priority in the event of reusing an option name.
1738 if func_run_hooks func_parse_options ${1+"$@"}; then
1739 eval set dummy "$func_run_hooks_result"; shift
1740 _G_rc_parse_options=:
1741 fi
1742
1743 # Break out of the loop if we already parsed every option.
1744 test $# -gt 0 || break
1745
1746 _G_match_parse_options=:
1747 _G_opt=$1
1748 shift
1749 case $_G_opt in
1750 --debug|-x) debug_cmd='set -x'
1751 func_echo "enabling shell trace mode"
1752 $debug_cmd
1753 ;;
1754
1755 --no-warnings|--no-warning|--no-warn)
1756 set dummy --warnings none ${1+"$@"}
1757 shift
1758 ;;
1759
1760 --warnings|--warning|-W)
1761 if test $# = 0 && func_missing_arg $_G_opt; then
1762 _G_rc_parse_options=:
1763 break
1764 fi
1765 case " $warning_categories $1" in
1766 *" $1 "*)
1767 # trailing space prevents matching last $1 above
1768 func_append_uniq opt_warning_types " $1"
1769 ;;
1770 *all)
1771 opt_warning_types=$warning_categories
1772 ;;
1773 *none)
1774 opt_warning_types=none
1775 warning_func=:
1776 ;;
1777 *error)
1778 opt_warning_types=$warning_categories
1779 warning_func=func_fatal_error
1780 ;;
1781 *)
1782 func_fatal_error \
1783 "unsupported warning category: '$1'"
1784 ;;
1785 esac
1786 shift
1787 ;;
1788
1789 --verbose|-v) opt_verbose=: ;;
1790 --version) func_version ;;
1791 -\?|-h) func_usage ;;
1792 --help) func_help ;;
1793
1794 # Separate optargs to long options (plugins may need this):
1795 --*=*) func_split_equals "$_G_opt"
1796 set dummy "$func_split_equals_lhs" \
1797 "$func_split_equals_rhs" ${1+"$@"}
1798 shift
1799 ;;
1800
1801 # Separate optargs to short options:
1802 -W*)
1803 func_split_short_opt "$_G_opt"
1804 set dummy "$func_split_short_opt_name" \
1805 "$func_split_short_opt_arg" ${1+"$@"}
1806 shift
1807 ;;
1808
1809 # Separate non-argument short options:
1810 -\?*|-h*|-v*|-x*)
1811 func_split_short_opt "$_G_opt"
1812 set dummy "$func_split_short_opt_name" \
1813 "-$func_split_short_opt_arg" ${1+"$@"}
1814 shift
1815 ;;
1816
1817 --) _G_rc_parse_options=: ; break ;;
1818 -*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
1819 *) set dummy "$_G_opt" ${1+"$@"}; shift
1820 _G_match_parse_options=false
1821 break
1822 ;;
1823 esac
1824
1825 $_G_match_parse_options && _G_rc_parse_options=:
1826 done
1827
1828
1829 if $_G_rc_parse_options; then
1830 # save modified positional parameters for caller
1831 func_quote_for_eval ${1+"$@"}
1832 func_parse_options_result=$func_quote_for_eval_result
1833 fi
1834
1835 $_G_rc_parse_options
1836 }
1837
1838
1839 # func_validate_options [ARG]...
1840 # ------------------------------
1841 # Perform any sanity checks on option settings and/or unconsumed
1842 # arguments.
1843 func_hookable func_validate_options
1844 func_validate_options ()
1845 {
1846 $debug_cmd
1847
1848 _G_rc_validate_options=false
1849
1850 # Display all warnings if -W was not given.
1851 test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
1852
1853 if func_run_hooks func_validate_options ${1+"$@"}; then
1854 # save modified positional parameters for caller
1855 func_validate_options_result=$func_run_hooks_result
1856 _G_rc_validate_options=:
1857 fi
1858
1859 # Bail if the options were screwed!
1860 $exit_cmd $EXIT_FAILURE
1861
1862 $_G_rc_validate_options
1863 }
1864
1865
1866
1867 ## ----------------- ##
1868 ## Helper functions. ##
1869 ## ----------------- ##
1870
1871 # This section contains the helper functions used by the rest of the
1872 # hookable option parser framework in ascii-betical order.
1873
1874
1875 # func_fatal_help ARG...
1876 # ----------------------
1877 # Echo program name prefixed message to standard error, followed by
1878 # a help hint, and exit.
1879 func_fatal_help ()
1880 {
1881 $debug_cmd
1882
1883 eval \$ECHO \""Usage: $usage"\"
1884 eval \$ECHO \""$fatal_help"\"
1885 func_error ${1+"$@"}
1886 exit $EXIT_FAILURE
1887 }
1888
1889
1890 # func_help
1891 # ---------
1892 # Echo long help message to standard output and exit.
1893 func_help ()
1894 {
1895 $debug_cmd
1896
1897 func_usage_message
1898 $ECHO "$long_help_message"
1899 exit 0
1900 }
1901
1902
1903 # func_missing_arg ARGNAME
1904 # ------------------------
1905 # Echo program name prefixed message to standard error and set global
1906 # exit_cmd.
1907 func_missing_arg ()
1908 {
1909 $debug_cmd
1910
1911 func_error "Missing argument for '$1'."
1912 exit_cmd=exit
1913 }
1914
1915
1916 # func_split_equals STRING
1917 # ------------------------
1918 # Set func_split_equals_lhs and func_split_equals_rhs shell variables after
1919 # splitting STRING at the '=' sign.
1920 test -z "$_G_HAVE_XSI_OPS" \
1921 && (eval 'x=a/b/c;
1922 test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
1923 && _G_HAVE_XSI_OPS=yes
1924
1925 if test yes = "$_G_HAVE_XSI_OPS"
1926 then
1927 # This is an XSI compatible shell, allowing a faster implementation...
1928 eval 'func_split_equals ()
1929 {
1930 $debug_cmd
1931
1932 func_split_equals_lhs=${1%%=*}
1933 func_split_equals_rhs=${1#*=}
1934 test "x$func_split_equals_lhs" = "x$1" \
1935 && func_split_equals_rhs=
1936 }'
1937 else
1938 # ...otherwise fall back to using expr, which is often a shell builtin.
1939 func_split_equals ()
1940 {
1941 $debug_cmd
1942
1943 func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
1944 func_split_equals_rhs=
1945 test "x$func_split_equals_lhs" = "x$1" \
1946 || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
1947 }
1948 fi #func_split_equals
1949
1950
1951 # func_split_short_opt SHORTOPT
1952 # -----------------------------
1953 # Set func_split_short_opt_name and func_split_short_opt_arg shell
1954 # variables after splitting SHORTOPT after the 2nd character.
1955 if test yes = "$_G_HAVE_XSI_OPS"
1956 then
1957 # This is an XSI compatible shell, allowing a faster implementation...
1958 eval 'func_split_short_opt ()
1959 {
1960 $debug_cmd
1961
1962 func_split_short_opt_arg=${1#??}
1963 func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
1964 }'
1965 else
1966 # ...otherwise fall back to using expr, which is often a shell builtin.
1967 func_split_short_opt ()
1968 {
1969 $debug_cmd
1970
1971 func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
1972 func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
1973 }
1974 fi #func_split_short_opt
1975
1976
1977 # func_usage
1978 # ----------
1979 # Echo short help message to standard output and exit.
1980 func_usage ()
1981 {
1982 $debug_cmd
1983
1984 func_usage_message
1985 $ECHO "Run '$progname --help |${PAGER-more}' for full usage"
1986 exit 0
1987 }
1988
1989
1990 # func_usage_message
1991 # ------------------
1992 # Echo short help message to standard output.
1993 func_usage_message ()
1994 {
1995 $debug_cmd
1996
1997 eval \$ECHO \""Usage: $usage"\"
1998 echo
1999 $SED -n 's|^# ||
2000 /^Written by/{
2001 x;p;x
2002 }
2003 h
2004 /^Written by/q' < "$progpath"
2005 echo
2006 eval \$ECHO \""$usage_message"\"
2007 }
2008
2009
2010 # func_version
2011 # ------------
2012 # Echo version message to standard output and exit.
2013 func_version ()
2014 {
2015 $debug_cmd
2016
2017 printf '%s\n' "$progname $scriptversion"
2018 $SED -n '
2019 /(C)/!b go
2020 :more
2021 /\./!{
2022 N
2023 s|\n# | |
2024 b more
2025 }
2026 :go
2027 /^# Written by /,/# warranty; / {
2028 s|^# ||
2029 s|^# *$||
2030 s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
2031 p
2032 }
2033 /^# Written by / {
2034 s|^# ||
2035 p
2036 }
2037 /^warranty; /q' < "$progpath"
2038
2039 exit $?
2040 }
2041
2042
2043 # Local variables:
2044 # mode: shell-script
2045 # sh-indentation: 2
2046 # eval: (add-hook 'before-save-hook 'time-stamp)
2047 # time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
2048 # time-stamp-time-zone: "UTC"
2049 # End:
2050
2051 # Set a version string.
2052 scriptversion='(GNU libtool) 2.4.6'
2053
2054
2055 # func_echo ARG...
2056 # ----------------
2057 # Libtool also displays the current mode in messages, so override
2058 # funclib.sh func_echo with this custom definition.
2059 func_echo ()
2060 {
2061 $debug_cmd
2062
2063 _G_message=$*
2064
2065 func_echo_IFS=$IFS
2066 IFS=$nl
2067 for _G_line in $_G_message; do
2068 IFS=$func_echo_IFS
2069 $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line"
2070 done
2071 IFS=$func_echo_IFS
2072 }
2073
2074
2075 # func_warning ARG...
2076 # -------------------
2077 # Libtool warnings are not categorized, so override funclib.sh
2078 # func_warning with this simpler definition.
2079 func_warning ()
2080 {
2081 $debug_cmd
2082
2083 $warning_func ${1+"$@"}
2084 }
2085
2086
2087 ## ---------------- ##
2088 ## Options parsing. ##
2089 ## ---------------- ##
2090
2091 # Hook in the functions to make sure our own options are parsed during
2092 # the option parsing loop.
2093
2094 usage='$progpath [OPTION]... [MODE-ARG]...'
2095
2096 # Short help message in response to '-h'.
2097 usage_message="Options:
2098 --config show all configuration variables
2099 --debug enable verbose shell tracing
2100 -n, --dry-run display commands without modifying any files
2101 --features display basic configuration information and exit
2102 --mode=MODE use operation mode MODE
2103 --no-warnings equivalent to '-Wnone'
2104 --preserve-dup-deps don't remove duplicate dependency libraries
2105 --quiet, --silent don't print informational messages
2106 --tag=TAG use configuration variables from tag TAG
2107 -v, --verbose print more informational messages than default
2108 --version print version information
2109 -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all]
2110 -h, --help, --help-all print short, long, or detailed help message
2111 "
2112
2113 # Additional text appended to 'usage_message' in response to '--help'.
2114 func_help ()
2115 {
2116 $debug_cmd
2117
2118 func_usage_message
2119 $ECHO "$long_help_message
2120
2121 MODE must be one of the following:
2122
2123 clean remove files from the build directory
2124 compile compile a source file into a libtool object
2125 execute automatically set library path, then run a program
2126 finish complete the installation of libtool libraries
2127 install install libraries or executables
2128 link create a library or an executable
2129 uninstall remove libraries from an installed directory
2130
2131 MODE-ARGS vary depending on the MODE. When passed as first option,
2132 '--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.
2133 Try '$progname --help --mode=MODE' for a more detailed description of MODE.
2134
2135 When reporting a bug, please describe a test case to reproduce it and
2136 include the following information:
2137
2138 host-triplet: $host
2139 shell: $SHELL
2140 compiler: $LTCC
2141 compiler flags: $LTCFLAGS
2142 linker: $LD (gnu? $with_gnu_ld)
2143 version: $progname $scriptversion Debian-2.4.6-15
2144 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
2145 autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
2146
2147 Report bugs to <bug-libtool@gnu.org>.
2148 GNU libtool home page: <http://www.gnu.org/s/libtool/>.
2149 General help using GNU software: <http://www.gnu.org/gethelp/>."
2150 exit 0
2151 }
2152
2153
2154 # func_lo2o OBJECT-NAME
2155 # ---------------------
2156 # Transform OBJECT-NAME from a '.lo' suffix to the platform specific
2157 # object suffix.
2158
2159 lo2o=s/\\.lo\$/.$objext/
2160 o2lo=s/\\.$objext\$/.lo/
2161
2162 if test yes = "$_G_HAVE_XSI_OPS"; then
2163 eval 'func_lo2o ()
2164 {
2165 case $1 in
2166 *.lo) func_lo2o_result=${1%.lo}.$objext ;;
2167 * ) func_lo2o_result=$1 ;;
2168 esac
2169 }'
2170
2171 # func_xform LIBOBJ-OR-SOURCE
2172 # ---------------------------
2173 # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise)
2174 # suffix to a '.lo' libtool-object suffix.
2175 eval 'func_xform ()
2176 {
2177 func_xform_result=${1%.*}.lo
2178 }'
2179 else
2180 # ...otherwise fall back to using sed.
2181 func_lo2o ()
2182 {
2183 func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"`
2184 }
2185
2186 func_xform ()
2187 {
2188 func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'`
2189 }
2190 fi
2191
2192
2193 # func_fatal_configuration ARG...
2194 # -------------------------------
2195 # Echo program name prefixed message to standard error, followed by
2196 # a configuration failure hint, and exit.
2197 func_fatal_configuration ()
2198 {
2199 func__fatal_error ${1+"$@"} \
2200 "See the $PACKAGE documentation for more information." \
2201 "Fatal configuration error."
2202 }
2203
2204
2205 # func_config
2206 # -----------
2207 # Display the configuration for all the tags in this script.
2208 func_config ()
2209 {
2210 re_begincf='^# ### BEGIN LIBTOOL'
2211 re_endcf='^# ### END LIBTOOL'
2212
2213 # Default configuration.
2214 $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
2215
2216 # Now print the configurations for the tags.
2217 for tagname in $taglist; do
2218 $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
2219 done
2220
2221 exit $?
2222 }
2223
2224
2225 # func_features
2226 # -------------
2227 # Display the features supported by this script.
2228 func_features ()
2229 {
2230 echo "host: $host"
2231 if test yes = "$build_libtool_libs"; then
2232 echo "enable shared libraries"
2233 else
2234 echo "disable shared libraries"
2235 fi
2236 if test yes = "$build_old_libs"; then
2237 echo "enable static libraries"
2238 else
2239 echo "disable static libraries"
2240 fi
2241
2242 exit $?
2243 }
2244
2245
2246 # func_enable_tag TAGNAME
2247 # -----------------------
2248 # Verify that TAGNAME is valid, and either flag an error and exit, or
2249 # enable the TAGNAME tag. We also add TAGNAME to the global $taglist
2250 # variable here.
2251 func_enable_tag ()
2252 {
2253 # Global variable:
2254 tagname=$1
2255
2256 re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
2257 re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
2258 sed_extractcf=/$re_begincf/,/$re_endcf/p
2259
2260 # Validate tagname.
2261 case $tagname in
2262 *[!-_A-Za-z0-9,/]*)
2263 func_fatal_error "invalid tag name: $tagname"
2264 ;;
2265 esac
2266
2267 # Don't test for the "default" C tag, as we know it's
2268 # there but not specially marked.
2269 case $tagname in
2270 CC) ;;
2271 *)
2272 if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
2273 taglist="$taglist $tagname"
2274
2275 # Evaluate the configuration. Be careful to quote the path
2276 # and the sed script, to avoid splitting on whitespace, but
2277 # also don't use non-portable quotes within backquotes within
2278 # quotes we have to do it in 2 steps:
2279 extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
2280 eval "$extractedcf"
2281 else
2282 func_error "ignoring unknown tag $tagname"
2283 fi
2284 ;;
2285 esac
2286 }
2287
2288
2289 # func_check_version_match
2290 # ------------------------
2291 # Ensure that we are using m4 macros, and libtool script from the same
2292 # release of libtool.
2293 func_check_version_match ()
2294 {
2295 if test "$package_revision" != "$macro_revision"; then
2296 if test "$VERSION" != "$macro_version"; then
2297 if test -z "$macro_version"; then
2298 cat >&2 <<_LT_EOF
2299 $progname: Version mismatch error. This is $PACKAGE $VERSION, but the
2300 $progname: definition of this LT_INIT comes from an older release.
2301 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
2302 $progname: and run autoconf again.
2303 _LT_EOF
2304 else
2305 cat >&2 <<_LT_EOF
2306 $progname: Version mismatch error. This is $PACKAGE $VERSION, but the
2307 $progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
2308 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
2309 $progname: and run autoconf again.
2310 _LT_EOF
2311 fi
2312 else
2313 cat >&2 <<_LT_EOF
2314 $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
2315 $progname: but the definition of this LT_INIT comes from revision $macro_revision.
2316 $progname: You should recreate aclocal.m4 with macros from revision $package_revision
2317 $progname: of $PACKAGE $VERSION and run autoconf again.
2318 _LT_EOF
2319 fi
2320
2321 exit $EXIT_MISMATCH
2322 fi
2323 }
2324
2325
2326 # libtool_options_prep [ARG]...
2327 # -----------------------------
2328 # Preparation for options parsed by libtool.
2329 libtool_options_prep ()
2330 {
2331 $debug_mode
2332
2333 # Option defaults:
2334 opt_config=false
2335 opt_dlopen=
2336 opt_dry_run=false
2337 opt_help=false
2338 opt_mode=
2339 opt_preserve_dup_deps=false
2340 opt_quiet=false
2341
2342 nonopt=
2343 preserve_args=
2344
2345 _G_rc_lt_options_prep=:
2346
2347 # Shorthand for --mode=foo, only valid as the first argument
2348 case $1 in
2349 clean|clea|cle|cl)
2350 shift; set dummy --mode clean ${1+"$@"}; shift
2351 ;;
2352 compile|compil|compi|comp|com|co|c)
2353 shift; set dummy --mode compile ${1+"$@"}; shift
2354 ;;
2355 execute|execut|execu|exec|exe|ex|e)
2356 shift; set dummy --mode execute ${1+"$@"}; shift
2357 ;;
2358 finish|finis|fini|fin|fi|f)
2359 shift; set dummy --mode finish ${1+"$@"}; shift
2360 ;;
2361 install|instal|insta|inst|ins|in|i)
2362 shift; set dummy --mode install ${1+"$@"}; shift
2363 ;;
2364 link|lin|li|l)
2365 shift; set dummy --mode link ${1+"$@"}; shift
2366 ;;
2367 uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
2368 shift; set dummy --mode uninstall ${1+"$@"}; shift
2369 ;;
2370 *)
2371 _G_rc_lt_options_prep=false
2372 ;;
2373 esac
2374
2375 if $_G_rc_lt_options_prep; then
2376 # Pass back the list of options.
2377 func_quote_for_eval ${1+"$@"}
2378 libtool_options_prep_result=$func_quote_for_eval_result
2379 fi
2380
2381 $_G_rc_lt_options_prep
2382 }
2383 func_add_hook func_options_prep libtool_options_prep
2384
2385
2386 # libtool_parse_options [ARG]...
2387 # ---------------------------------
2388 # Provide handling for libtool specific options.
2389 libtool_parse_options ()
2390 {
2391 $debug_cmd
2392
2393 _G_rc_lt_parse_options=false
2394
2395 # Perform our own loop to consume as many options as possible in
2396 # each iteration.
2397 while test $# -gt 0; do
2398 _G_match_lt_parse_options=:
2399 _G_opt=$1
2400 shift
2401 case $_G_opt in
2402 --dry-run|--dryrun|-n)
2403 opt_dry_run=:
2404 ;;
2405
2406 --config) func_config ;;
2407
2408 --dlopen|-dlopen)
2409 opt_dlopen="${opt_dlopen+$opt_dlopen
2410 }$1"
2411 shift
2412 ;;
2413
2414 --preserve-dup-deps)
2415 opt_preserve_dup_deps=: ;;
2416
2417 --features) func_features ;;
2418
2419 --finish) set dummy --mode finish ${1+"$@"}; shift ;;
2420
2421 --help) opt_help=: ;;
2422
2423 --help-all) opt_help=': help-all' ;;
2424
2425 --mode) test $# = 0 && func_missing_arg $_G_opt && break
2426 opt_mode=$1
2427 case $1 in
2428 # Valid mode arguments:
2429 clean|compile|execute|finish|install|link|relink|uninstall) ;;
2430
2431 # Catch anything else as an error
2432 *) func_error "invalid argument for $_G_opt"
2433 exit_cmd=exit
2434 break
2435 ;;
2436 esac
2437 shift
2438 ;;
2439
2440 --no-silent|--no-quiet)
2441 opt_quiet=false
2442 func_append preserve_args " $_G_opt"
2443 ;;
2444
2445 --no-warnings|--no-warning|--no-warn)
2446 opt_warning=false
2447 func_append preserve_args " $_G_opt"
2448 ;;
2449
2450 --no-verbose)
2451 opt_verbose=false
2452 func_append preserve_args " $_G_opt"
2453 ;;
2454
2455 --silent|--quiet)
2456 opt_quiet=:
2457 opt_verbose=false
2458 func_append preserve_args " $_G_opt"
2459 ;;
2460
2461 --tag) test $# = 0 && func_missing_arg $_G_opt && break
2462 opt_tag=$1
2463 func_append preserve_args " $_G_opt $1"
2464 func_enable_tag "$1"
2465 shift
2466 ;;
2467
2468 --verbose|-v) opt_quiet=false
2469 opt_verbose=:
2470 func_append preserve_args " $_G_opt"
2471 ;;
2472
2473 # An option not handled by this hook function:
2474 *) set dummy "$_G_opt" ${1+"$@"} ; shift
2475 _G_match_lt_parse_options=false
2476 break
2477 ;;
2478 esac
2479 $_G_match_lt_parse_options && _G_rc_lt_parse_options=:
2480 done
2481
2482 if $_G_rc_lt_parse_options; then
2483 # save modified positional parameters for caller
2484 func_quote_for_eval ${1+"$@"}
2485 libtool_parse_options_result=$func_quote_for_eval_result
2486 fi
2487
2488 $_G_rc_lt_parse_options
2489 }
2490 func_add_hook func_parse_options libtool_parse_options
2491
2492
2493
2494 # libtool_validate_options [ARG]...
2495 # ---------------------------------
2496 # Perform any sanity checks on option settings and/or unconsumed
2497 # arguments.
2498 libtool_validate_options ()
2499 {
2500 # save first non-option argument
2501 if test 0 -lt $#; then
2502 nonopt=$1
2503 shift
2504 fi
2505
2506 # preserve --debug
2507 test : = "$debug_cmd" || func_append preserve_args " --debug"
2508
2509 case $host in
2510 # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
2511 # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
2512 *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
2513 # don't eliminate duplications in $postdeps and $predeps
2514 opt_duplicate_compiler_generated_deps=:
2515 ;;
2516 *)
2517 opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
2518 ;;
2519 esac
2520
2521 $opt_help || {
2522 # Sanity checks first:
2523 func_check_version_match
2524
2525 test yes != "$build_libtool_libs" \
2526 && test yes != "$build_old_libs" \
2527 && func_fatal_configuration "not configured to build any kind of library"
2528
2529 # Darwin sucks
2530 eval std_shrext=\"$shrext_cmds\"
2531
2532 # Only execute mode is allowed to have -dlopen flags.
2533 if test -n "$opt_dlopen" && test execute != "$opt_mode"; then
2534 func_error "unrecognized option '-dlopen'"
2535 $ECHO "$help" 1>&2
2536 exit $EXIT_FAILURE
2537 fi
2538
2539 # Change the help message to a mode-specific one.
2540 generic_help=$help
2541 help="Try '$progname --help --mode=$opt_mode' for more information."
2542 }
2543
2544 # Pass back the unparsed argument list
2545 func_quote_for_eval ${1+"$@"}
2546 libtool_validate_options_result=$func_quote_for_eval_result
2547 }
2548 func_add_hook func_validate_options libtool_validate_options
2549
2550
2551 # Process options as early as possible so that --help and --version
2552 # can return quickly.
2553 func_options ${1+"$@"}
2554 eval set dummy "$func_options_result"; shift
2555
2556
2557
2558 ## ----------- ##
2559 ## Main. ##
2560 ## ----------- ##
2561
2562 magic='%%%MAGIC variable%%%'
2563 magic_exe='%%%MAGIC EXE variable%%%'
2564
2565 # Global variables.
2566 extracted_archives=
2567 extracted_serial=0
2568
2569 # If this variable is set in any of the actions, the command in it
2570 # will be execed at the end. This prevents here-documents from being
2571 # left over by shells.
2572 exec_cmd=
2573
2574
2575 # A function that is used when there is no print builtin or printf.
2576 func_fallback_echo ()
2577 {
2578 eval 'cat <<_LTECHO_EOF
2579 $1
2580 _LTECHO_EOF'
2581 }
2582
2583 # func_generated_by_libtool
2584 # True iff stdin has been generated by Libtool. This function is only
2585 # a basic sanity check; it will hardly flush out determined imposters.
2586 func_generated_by_libtool_p ()
2587 {
2588 $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
2589 }
2590
2591 # func_lalib_p file
2592 # True iff FILE is a libtool '.la' library or '.lo' object file.
2593 # This function is only a basic sanity check; it will hardly flush out
2594 # determined imposters.
2595 func_lalib_p ()
2596 {
2597 test -f "$1" &&
2598 $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p
2599 }
2600
2601 # func_lalib_unsafe_p file
2602 # True iff FILE is a libtool '.la' library or '.lo' object file.
2603 # This function implements the same check as func_lalib_p without
2604 # resorting to external programs. To this end, it redirects stdin and
2605 # closes it afterwards, without saving the original file descriptor.
2606 # As a safety measure, use it only where a negative result would be
2607 # fatal anyway. Works if 'file' does not exist.
2608 func_lalib_unsafe_p ()
2609 {
2610 lalib_p=no
2611 if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
2612 for lalib_p_l in 1 2 3 4
2613 do
2614 read lalib_p_line
2615 case $lalib_p_line in
2616 \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
2617 esac
2618 done
2619 exec 0<&5 5<&-
2620 fi
2621 test yes = "$lalib_p"
2622 }
2623
2624 # func_ltwrapper_script_p file
2625 # True iff FILE is a libtool wrapper script
2626 # This function is only a basic sanity check; it will hardly flush out
2627 # determined imposters.
2628 func_ltwrapper_script_p ()
2629 {
2630 test -f "$1" &&
2631 $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p
2632 }
2633
2634 # func_ltwrapper_executable_p file
2635 # True iff FILE is a libtool wrapper executable
2636 # This function is only a basic sanity check; it will hardly flush out
2637 # determined imposters.
2638 func_ltwrapper_executable_p ()
2639 {
2640 func_ltwrapper_exec_suffix=
2641 case $1 in
2642 *.exe) ;;
2643 *) func_ltwrapper_exec_suffix=.exe ;;
2644 esac
2645 $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
2646 }
2647
2648 # func_ltwrapper_scriptname file
2649 # Assumes file is an ltwrapper_executable
2650 # uses $file to determine the appropriate filename for a
2651 # temporary ltwrapper_script.
2652 func_ltwrapper_scriptname ()
2653 {
2654 func_dirname_and_basename "$1" "" "."
2655 func_stripname '' '.exe' "$func_basename_result"
2656 func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper
2657 }
2658
2659 # func_ltwrapper_p file
2660 # True iff FILE is a libtool wrapper script or wrapper executable
2661 # This function is only a basic sanity check; it will hardly flush out
2662 # determined imposters.
2663 func_ltwrapper_p ()
2664 {
2665 func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
2666 }
2667
2668
2669 # func_execute_cmds commands fail_cmd
2670 # Execute tilde-delimited COMMANDS.
2671 # If FAIL_CMD is given, eval that upon failure.
2672 # FAIL_CMD may read-access the current command in variable CMD!
2673 func_execute_cmds ()
2674 {
2675 $debug_cmd
2676
2677 save_ifs=$IFS; IFS='~'
2678 for cmd in $1; do
2679 IFS=$sp$nl
2680 eval cmd=\"$cmd\"
2681 IFS=$save_ifs
2682 func_show_eval "$cmd" "${2-:}"
2683 done
2684 IFS=$save_ifs
2685 }
2686
2687
2688 # func_source file
2689 # Source FILE, adding directory component if necessary.
2690 # Note that it is not necessary on cygwin/mingw to append a dot to
2691 # FILE even if both FILE and FILE.exe exist: automatic-append-.exe
2692 # behavior happens only for exec(3), not for open(2)! Also, sourcing
2693 # 'FILE.' does not work on cygwin managed mounts.
2694 func_source ()
2695 {
2696 $debug_cmd
2697
2698 case $1 in
2699 */* | *\\*) . "$1" ;;
2700 *) . "./$1" ;;
2701 esac
2702 }
2703
2704
2705 # func_resolve_sysroot PATH
2706 # Replace a leading = in PATH with a sysroot. Store the result into
2707 # func_resolve_sysroot_result
2708 func_resolve_sysroot ()
2709 {
2710 func_resolve_sysroot_result=$1
2711 case $func_resolve_sysroot_result in
2712 =*)
2713 func_stripname '=' '' "$func_resolve_sysroot_result"
2714 func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
2715 ;;
2716 esac
2717 }
2718
2719 # func_replace_sysroot PATH
2720 # If PATH begins with the sysroot, replace it with = and
2721 # store the result into func_replace_sysroot_result.
2722 func_replace_sysroot ()
2723 {
2724 case $lt_sysroot:$1 in
2725 ?*:"$lt_sysroot"*)
2726 func_stripname "$lt_sysroot" '' "$1"
2727 func_replace_sysroot_result='='$func_stripname_result
2728 ;;
2729 *)
2730 # Including no sysroot.
2731 func_replace_sysroot_result=$1
2732 ;;
2733 esac
2734 }
2735
2736 # func_infer_tag arg
2737 # Infer tagged configuration to use if any are available and
2738 # if one wasn't chosen via the "--tag" command line option.
2739 # Only attempt this if the compiler in the base compile
2740 # command doesn't match the default compiler.
2741 # arg is usually of the form 'gcc ...'
2742 func_infer_tag ()
2743 {
2744 $debug_cmd
2745
2746 if test -n "$available_tags" && test -z "$tagname"; then
2747 CC_quoted=
2748 for arg in $CC; do
2749 func_append_quoted CC_quoted "$arg"
2750 done
2751 CC_expanded=`func_echo_all $CC`
2752 CC_quoted_expanded=`func_echo_all $CC_quoted`
2753 case $@ in
2754 # Blanks in the command may have been stripped by the calling shell,
2755 # but not from the CC environment variable when configure was run.
2756 " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
2757 " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
2758 # Blanks at the start of $base_compile will cause this to fail
2759 # if we don't check for them as well.
2760 *)
2761 for z in $available_tags; do
2762 if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
2763 # Evaluate the configuration.
2764 eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
2765 CC_quoted=
2766 for arg in $CC; do
2767 # Double-quote args containing other shell metacharacters.
2768 func_append_quoted CC_quoted "$arg"
2769 done
2770 CC_expanded=`func_echo_all $CC`
2771 CC_quoted_expanded=`func_echo_all $CC_quoted`
2772 case "$@ " in
2773 " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
2774 " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
2775 # The compiler in the base compile command matches
2776 # the one in the tagged configuration.
2777 # Assume this is the tagged configuration we want.
2778 tagname=$z
2779 break
2780 ;;
2781 esac
2782 fi
2783 done
2784 # If $tagname still isn't set, then no tagged configuration
2785 # was found and let the user know that the "--tag" command
2786 # line option must be used.
2787 if test -z "$tagname"; then
2788 func_echo "unable to infer tagged configuration"
2789 func_fatal_error "specify a tag with '--tag'"
2790 # else
2791 # func_verbose "using $tagname tagged configuration"
2792 fi
2793 ;;
2794 esac
2795 fi
2796 }
2797
2798
2799
2800 # func_write_libtool_object output_name pic_name nonpic_name
2801 # Create a libtool object file (analogous to a ".la" file),
2802 # but don't create it if we're doing a dry run.
2803 func_write_libtool_object ()
2804 {
2805 write_libobj=$1
2806 if test yes = "$build_libtool_libs"; then
2807 write_lobj=\'$2\'
2808 else
2809 write_lobj=none
2810 fi
2811
2812 if test yes = "$build_old_libs"; then
2813 write_oldobj=\'$3\'
2814 else
2815 write_oldobj=none
2816 fi
2817
2818 $opt_dry_run || {
2819 cat >${write_libobj}T <<EOF
2820 # $write_libobj - a libtool object file
2821 # Generated by $PROGRAM (GNU $PACKAGE) $VERSION
2822 #
2823 # Please DO NOT delete this file!
2824 # It is necessary for linking the library.
2825
2826 # Name of the PIC object.
2827 pic_object=$write_lobj
2828
2829 # Name of the non-PIC object
2830 non_pic_object=$write_oldobj
2831
2832 EOF
2833 $MV "${write_libobj}T" "$write_libobj"
2834 }
2835 }
2836
2837
2838 ##################################################
2839 # FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
2840 ##################################################
2841
2842 # func_convert_core_file_wine_to_w32 ARG
2843 # Helper function used by file name conversion functions when $build is *nix,
2844 # and $host is mingw, cygwin, or some other w32 environment. Relies on a
2845 # correctly configured wine environment available, with the winepath program
2846 # in $build's $PATH.
2847 #
2848 # ARG is the $build file name to be converted to w32 format.
2849 # Result is available in $func_convert_core_file_wine_to_w32_result, and will
2850 # be empty on error (or when ARG is empty)
2851 func_convert_core_file_wine_to_w32 ()
2852 {
2853 $debug_cmd
2854
2855 func_convert_core_file_wine_to_w32_result=$1
2856 if test -n "$1"; then
2857 # Unfortunately, winepath does not exit with a non-zero error code, so we
2858 # are forced to check the contents of stdout. On the other hand, if the
2859 # command is not found, the shell will set an exit code of 127 and print
2860 # *an error message* to stdout. So we must check for both error code of
2861 # zero AND non-empty stdout, which explains the odd construction:
2862 func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
2863 if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then
2864 func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
2865 $SED -e "$sed_naive_backslashify"`
2866 else
2867 func_convert_core_file_wine_to_w32_result=
2868 fi
2869 fi
2870 }
2871 # end: func_convert_core_file_wine_to_w32
2872
2873
2874 # func_convert_core_path_wine_to_w32 ARG
2875 # Helper function used by path conversion functions when $build is *nix, and
2876 # $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
2877 # configured wine environment available, with the winepath program in $build's
2878 # $PATH. Assumes ARG has no leading or trailing path separator characters.
2879 #
2880 # ARG is path to be converted from $build format to win32.
2881 # Result is available in $func_convert_core_path_wine_to_w32_result.
2882 # Unconvertible file (directory) names in ARG are skipped; if no directory names
2883 # are convertible, then the result may be empty.
2884 func_convert_core_path_wine_to_w32 ()
2885 {
2886 $debug_cmd
2887
2888 # unfortunately, winepath doesn't convert paths, only file names
2889 func_convert_core_path_wine_to_w32_result=
2890 if test -n "$1"; then
2891 oldIFS=$IFS
2892 IFS=:
2893 for func_convert_core_path_wine_to_w32_f in $1; do
2894 IFS=$oldIFS
2895 func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
2896 if test -n "$func_convert_core_file_wine_to_w32_result"; then
2897 if test -z "$func_convert_core_path_wine_to_w32_result"; then
2898 func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result
2899 else
2900 func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
2901 fi
2902 fi
2903 done
2904 IFS=$oldIFS
2905 fi
2906 }
2907 # end: func_convert_core_path_wine_to_w32
2908
2909
2910 # func_cygpath ARGS...
2911 # Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
2912 # when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
2913 # $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
2914 # (2), returns the Cygwin file name or path in func_cygpath_result (input
2915 # file name or path is assumed to be in w32 format, as previously converted
2916 # from $build's *nix or MSYS format). In case (3), returns the w32 file name
2917 # or path in func_cygpath_result (input file name or path is assumed to be in
2918 # Cygwin format). Returns an empty string on error.
2919 #
2920 # ARGS are passed to cygpath, with the last one being the file name or path to
2921 # be converted.
2922 #
2923 # Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
2924 # environment variable; do not put it in $PATH.
2925 func_cygpath ()
2926 {
2927 $debug_cmd
2928
2929 if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
2930 func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
2931 if test "$?" -ne 0; then
2932 # on failure, ensure result is empty
2933 func_cygpath_result=
2934 fi
2935 else
2936 func_cygpath_result=
2937 func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'"
2938 fi
2939 }
2940 #end: func_cygpath
2941
2942
2943 # func_convert_core_msys_to_w32 ARG
2944 # Convert file name or path ARG from MSYS format to w32 format. Return
2945 # result in func_convert_core_msys_to_w32_result.
2946 func_convert_core_msys_to_w32 ()
2947 {
2948 $debug_cmd
2949
2950 # awkward: cmd appends spaces to result
2951 func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
2952 $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
2953 }
2954 #end: func_convert_core_msys_to_w32
2955
2956
2957 # func_convert_file_check ARG1 ARG2
2958 # Verify that ARG1 (a file name in $build format) was converted to $host
2959 # format in ARG2. Otherwise, emit an error message, but continue (resetting
2960 # func_to_host_file_result to ARG1).
2961 func_convert_file_check ()
2962 {
2963 $debug_cmd
2964
2965 if test -z "$2" && test -n "$1"; then
2966 func_error "Could not determine host file name corresponding to"
2967 func_error " '$1'"
2968 func_error "Continuing, but uninstalled executables may not work."
2969 # Fallback:
2970 func_to_host_file_result=$1
2971 fi
2972 }
2973 # end func_convert_file_check
2974
2975
2976 # func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
2977 # Verify that FROM_PATH (a path in $build format) was converted to $host
2978 # format in TO_PATH. Otherwise, emit an error message, but continue, resetting
2979 # func_to_host_file_result to a simplistic fallback value (see below).
2980 func_convert_path_check ()
2981 {
2982 $debug_cmd
2983
2984 if test -z "$4" && test -n "$3"; then
2985 func_error "Could not determine the host path corresponding to"
2986 func_error " '$3'"
2987 func_error "Continuing, but uninstalled executables may not work."
2988 # Fallback. This is a deliberately simplistic "conversion" and
2989 # should not be "improved". See libtool.info.
2990 if test "x$1" != "x$2"; then
2991 lt_replace_pathsep_chars="s|$1|$2|g"
2992 func_to_host_path_result=`echo "$3" |
2993 $SED -e "$lt_replace_pathsep_chars"`
2994 else
2995 func_to_host_path_result=$3
2996 fi
2997 fi
2998 }
2999 # end func_convert_path_check
3000
3001
3002 # func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
3003 # Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
3004 # and appending REPL if ORIG matches BACKPAT.
3005 func_convert_path_front_back_pathsep ()
3006 {
3007 $debug_cmd
3008
3009 case $4 in
3010 $1 ) func_to_host_path_result=$3$func_to_host_path_result
3011 ;;
3012 esac
3013 case $4 in
3014 $2 ) func_append func_to_host_path_result "$3"
3015 ;;
3016 esac
3017 }
3018 # end func_convert_path_front_back_pathsep
3019
3020
3021 ##################################################
3022 # $build to $host FILE NAME CONVERSION FUNCTIONS #
3023 ##################################################
3024 # invoked via '$to_host_file_cmd ARG'
3025 #
3026 # In each case, ARG is the path to be converted from $build to $host format.
3027 # Result will be available in $func_to_host_file_result.
3028
3029
3030 # func_to_host_file ARG
3031 # Converts the file name ARG from $build format to $host format. Return result
3032 # in func_to_host_file_result.
3033 func_to_host_file ()
3034 {
3035 $debug_cmd
3036
3037 $to_host_file_cmd "$1"
3038 }
3039 # end func_to_host_file
3040
3041
3042 # func_to_tool_file ARG LAZY
3043 # converts the file name ARG from $build format to toolchain format. Return
3044 # result in func_to_tool_file_result. If the conversion in use is listed
3045 # in (the comma separated) LAZY, no conversion takes place.
3046 func_to_tool_file ()
3047 {
3048 $debug_cmd
3049
3050 case ,$2, in
3051 *,"$to_tool_file_cmd",*)
3052 func_to_tool_file_result=$1
3053 ;;
3054 *)
3055 $to_tool_file_cmd "$1"
3056 func_to_tool_file_result=$func_to_host_file_result
3057 ;;
3058 esac
3059 }
3060 # end func_to_tool_file
3061
3062
3063 # func_convert_file_noop ARG
3064 # Copy ARG to func_to_host_file_result.
3065 func_convert_file_noop ()
3066 {
3067 func_to_host_file_result=$1
3068 }
3069 # end func_convert_file_noop
3070
3071
3072 # func_convert_file_msys_to_w32 ARG
3073 # Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
3074 # conversion to w32 is not available inside the cwrapper. Returns result in
3075 # func_to_host_file_result.
3076 func_convert_file_msys_to_w32 ()
3077 {
3078 $debug_cmd
3079
3080 func_to_host_file_result=$1
3081 if test -n "$1"; then
3082 func_convert_core_msys_to_w32 "$1"
3083 func_to_host_file_result=$func_convert_core_msys_to_w32_result
3084 fi
3085 func_convert_file_check "$1" "$func_to_host_file_result"
3086 }
3087 # end func_convert_file_msys_to_w32
3088
3089
3090 # func_convert_file_cygwin_to_w32 ARG
3091 # Convert file name ARG from Cygwin to w32 format. Returns result in
3092 # func_to_host_file_result.
3093 func_convert_file_cygwin_to_w32 ()
3094 {
3095 $debug_cmd
3096
3097 func_to_host_file_result=$1
3098 if test -n "$1"; then
3099 # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
3100 # LT_CYGPATH in this case.
3101 func_to_host_file_result=`cygpath -m "$1"`
3102 fi
3103 func_convert_file_check "$1" "$func_to_host_file_result"
3104 }
3105 # end func_convert_file_cygwin_to_w32
3106
3107
3108 # func_convert_file_nix_to_w32 ARG
3109 # Convert file name ARG from *nix to w32 format. Requires a wine environment
3110 # and a working winepath. Returns result in func_to_host_file_result.
3111 func_convert_file_nix_to_w32 ()
3112 {
3113 $debug_cmd
3114
3115 func_to_host_file_result=$1
3116 if test -n "$1"; then
3117 func_convert_core_file_wine_to_w32 "$1"
3118 func_to_host_file_result=$func_convert_core_file_wine_to_w32_result
3119 fi
3120 func_convert_file_check "$1" "$func_to_host_file_result"
3121 }
3122 # end func_convert_file_nix_to_w32
3123
3124
3125 # func_convert_file_msys_to_cygwin ARG
3126 # Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
3127 # Returns result in func_to_host_file_result.
3128 func_convert_file_msys_to_cygwin ()
3129 {
3130 $debug_cmd
3131
3132 func_to_host_file_result=$1
3133 if test -n "$1"; then
3134 func_convert_core_msys_to_w32 "$1"
3135 func_cygpath -u "$func_convert_core_msys_to_w32_result"
3136 func_to_host_file_result=$func_cygpath_result
3137 fi
3138 func_convert_file_check "$1" "$func_to_host_file_result"
3139 }
3140 # end func_convert_file_msys_to_cygwin
3141
3142
3143 # func_convert_file_nix_to_cygwin ARG
3144 # Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed
3145 # in a wine environment, working winepath, and LT_CYGPATH set. Returns result
3146 # in func_to_host_file_result.
3147 func_convert_file_nix_to_cygwin ()
3148 {
3149 $debug_cmd
3150
3151 func_to_host_file_result=$1
3152 if test -n "$1"; then
3153 # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
3154 func_convert_core_file_wine_to_w32 "$1"
3155 func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
3156 func_to_host_file_result=$func_cygpath_result
3157 fi
3158 func_convert_file_check "$1" "$func_to_host_file_result"
3159 }
3160 # end func_convert_file_nix_to_cygwin
3161
3162
3163 #############################################
3164 # $build to $host PATH CONVERSION FUNCTIONS #
3165 #############################################
3166 # invoked via '$to_host_path_cmd ARG'
3167 #
3168 # In each case, ARG is the path to be converted from $build to $host format.
3169 # The result will be available in $func_to_host_path_result.
3170 #
3171 # Path separators are also converted from $build format to $host format. If
3172 # ARG begins or ends with a path separator character, it is preserved (but
3173 # converted to $host format) on output.
3174 #
3175 # All path conversion functions are named using the following convention:
3176 # file name conversion function : func_convert_file_X_to_Y ()
3177 # path conversion function : func_convert_path_X_to_Y ()
3178 # where, for any given $build/$host combination the 'X_to_Y' value is the
3179 # same. If conversion functions are added for new $build/$host combinations,
3180 # the two new functions must follow this pattern, or func_init_to_host_path_cmd
3181 # will break.
3182
3183
3184 # func_init_to_host_path_cmd
3185 # Ensures that function "pointer" variable $to_host_path_cmd is set to the
3186 # appropriate value, based on the value of $to_host_file_cmd.
3187 to_host_path_cmd=
3188 func_init_to_host_path_cmd ()
3189 {
3190 $debug_cmd
3191
3192 if test -z "$to_host_path_cmd"; then
3193 func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
3194 to_host_path_cmd=func_convert_path_$func_stripname_result
3195 fi
3196 }
3197
3198
3199 # func_to_host_path ARG
3200 # Converts the path ARG from $build format to $host format. Return result
3201 # in func_to_host_path_result.
3202 func_to_host_path ()
3203 {
3204 $debug_cmd
3205
3206 func_init_to_host_path_cmd
3207 $to_host_path_cmd "$1"
3208 }
3209 # end func_to_host_path
3210
3211
3212 # func_convert_path_noop ARG
3213 # Copy ARG to func_to_host_path_result.
3214 func_convert_path_noop ()
3215 {
3216 func_to_host_path_result=$1
3217 }
3218 # end func_convert_path_noop
3219
3220
3221 # func_convert_path_msys_to_w32 ARG
3222 # Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
3223 # conversion to w32 is not available inside the cwrapper. Returns result in
3224 # func_to_host_path_result.
3225 func_convert_path_msys_to_w32 ()
3226 {
3227 $debug_cmd
3228
3229 func_to_host_path_result=$1
3230 if test -n "$1"; then
3231 # Remove leading and trailing path separator characters from ARG. MSYS
3232 # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
3233 # and winepath ignores them completely.
3234 func_stripname : : "$1"
3235 func_to_host_path_tmp1=$func_stripname_result
3236 func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
3237 func_to_host_path_result=$func_convert_core_msys_to_w32_result
3238 func_convert_path_check : ";" \
3239 "$func_to_host_path_tmp1" "$func_to_host_path_result"
3240 func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
3241 fi
3242 }
3243 # end func_convert_path_msys_to_w32
3244
3245
3246 # func_convert_path_cygwin_to_w32 ARG
3247 # Convert path ARG from Cygwin to w32 format. Returns result in
3248 # func_to_host_file_result.
3249 func_convert_path_cygwin_to_w32 ()
3250 {
3251 $debug_cmd
3252
3253 func_to_host_path_result=$1
3254 if test -n "$1"; then
3255 # See func_convert_path_msys_to_w32:
3256 func_stripname : : "$1"
3257 func_to_host_path_tmp1=$func_stripname_result
3258 func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
3259 func_convert_path_check : ";" \
3260 "$func_to_host_path_tmp1" "$func_to_host_path_result"
3261 func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
3262 fi
3263 }
3264 # end func_convert_path_cygwin_to_w32
3265
3266
3267 # func_convert_path_nix_to_w32 ARG
3268 # Convert path ARG from *nix to w32 format. Requires a wine environment and
3269 # a working winepath. Returns result in func_to_host_file_result.
3270 func_convert_path_nix_to_w32 ()
3271 {
3272 $debug_cmd
3273
3274 func_to_host_path_result=$1
3275 if test -n "$1"; then
3276 # See func_convert_path_msys_to_w32:
3277 func_stripname : : "$1"
3278 func_to_host_path_tmp1=$func_stripname_result
3279 func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
3280 func_to_host_path_result=$func_convert_core_path_wine_to_w32_result
3281 func_convert_path_check : ";" \
3282 "$func_to_host_path_tmp1" "$func_to_host_path_result"
3283 func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
3284 fi
3285 }
3286 # end func_convert_path_nix_to_w32
3287
3288
3289 # func_convert_path_msys_to_cygwin ARG
3290 # Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
3291 # Returns result in func_to_host_file_result.
3292 func_convert_path_msys_to_cygwin ()
3293 {
3294 $debug_cmd
3295
3296 func_to_host_path_result=$1
3297 if test -n "$1"; then
3298 # See func_convert_path_msys_to_w32:
3299 func_stripname : : "$1"
3300 func_to_host_path_tmp1=$func_stripname_result
3301 func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
3302 func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
3303 func_to_host_path_result=$func_cygpath_result
3304 func_convert_path_check : : \
3305 "$func_to_host_path_tmp1" "$func_to_host_path_result"
3306 func_convert_path_front_back_pathsep ":*" "*:" : "$1"
3307 fi
3308 }
3309 # end func_convert_path_msys_to_cygwin
3310
3311
3312 # func_convert_path_nix_to_cygwin ARG
3313 # Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a
3314 # a wine environment, working winepath, and LT_CYGPATH set. Returns result in
3315 # func_to_host_file_result.
3316 func_convert_path_nix_to_cygwin ()
3317 {
3318 $debug_cmd
3319
3320 func_to_host_path_result=$1
3321 if test -n "$1"; then
3322 # Remove leading and trailing path separator characters from
3323 # ARG. msys behavior is inconsistent here, cygpath turns them
3324 # into '.;' and ';.', and winepath ignores them completely.
3325 func_stripname : : "$1"
3326 func_to_host_path_tmp1=$func_stripname_result
3327 func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
3328 func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
3329 func_to_host_path_result=$func_cygpath_result
3330 func_convert_path_check : : \
3331 "$func_to_host_path_tmp1" "$func_to_host_path_result"
3332 func_convert_path_front_back_pathsep ":*" "*:" : "$1"
3333 fi
3334 }
3335 # end func_convert_path_nix_to_cygwin
3336
3337
3338 # func_dll_def_p FILE
3339 # True iff FILE is a Windows DLL '.def' file.
3340 # Keep in sync with _LT_DLL_DEF_P in libtool.m4
3341 func_dll_def_p ()
3342 {
3343 $debug_cmd
3344
3345 func_dll_def_p_tmp=`$SED -n \
3346 -e 's/^[ ]*//' \
3347 -e '/^\(;.*\)*$/d' \
3348 -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \
3349 -e q \
3350 "$1"`
3351 test DEF = "$func_dll_def_p_tmp"
3352 }
3353
3354
3355 # func_mode_compile arg...
3356 func_mode_compile ()
3357 {
3358 $debug_cmd
3359
3360 # Get the compilation command and the source file.
3361 base_compile=
3362 srcfile=$nonopt # always keep a non-empty value in "srcfile"
3363 suppress_opt=yes
3364 suppress_output=
3365 arg_mode=normal
3366 libobj=
3367 later=
3368 pie_flag=
3369
3370 for arg
3371 do
3372 case $arg_mode in
3373 arg )
3374 # do not "continue". Instead, add this to base_compile
3375 lastarg=$arg
3376 arg_mode=normal
3377 ;;
3378
3379 target )
3380 libobj=$arg
3381 arg_mode=normal
3382 continue
3383 ;;
3384
3385 normal )
3386 # Accept any command-line options.
3387 case $arg in
3388 -o)
3389 test -n "$libobj" && \
3390 func_fatal_error "you cannot specify '-o' more than once"
3391 arg_mode=target
3392 continue
3393 ;;
3394
3395 -pie | -fpie | -fPIE)
3396 func_append pie_flag " $arg"
3397 continue
3398 ;;
3399
3400 -shared | -static | -prefer-pic | -prefer-non-pic)
3401 func_append later " $arg"
3402 continue
3403 ;;
3404
3405 -no-suppress)
3406 suppress_opt=no
3407 continue
3408 ;;
3409
3410 -Xcompiler)
3411 arg_mode=arg # the next one goes into the "base_compile" arg list
3412 continue # The current "srcfile" will either be retained or
3413 ;; # replaced later. I would guess that would be a bug.
3414
3415 -Wc,*)
3416 func_stripname '-Wc,' '' "$arg"
3417 args=$func_stripname_result
3418 lastarg=
3419 save_ifs=$IFS; IFS=,
3420 for arg in $args; do
3421 IFS=$save_ifs
3422 func_append_quoted lastarg "$arg"
3423 done
3424 IFS=$save_ifs
3425 func_stripname ' ' '' "$lastarg"
3426 lastarg=$func_stripname_result
3427
3428 # Add the arguments to base_compile.
3429 func_append base_compile " $lastarg"
3430 continue
3431 ;;
3432
3433 *)
3434 # Accept the current argument as the source file.
3435 # The previous "srcfile" becomes the current argument.
3436 #
3437 lastarg=$srcfile
3438 srcfile=$arg
3439 ;;
3440 esac # case $arg
3441 ;;
3442 esac # case $arg_mode
3443
3444 # Aesthetically quote the previous argument.
3445 func_append_quoted base_compile "$lastarg"
3446 done # for arg
3447
3448 case $arg_mode in
3449 arg)
3450 func_fatal_error "you must specify an argument for -Xcompile"
3451 ;;
3452 target)
3453 func_fatal_error "you must specify a target with '-o'"
3454 ;;
3455 *)
3456 # Get the name of the library object.
3457 test -z "$libobj" && {
3458 func_basename "$srcfile"
3459 libobj=$func_basename_result
3460 }
3461 ;;
3462 esac
3463
3464 # Recognize several different file suffixes.
3465 # If the user specifies -o file.o, it is replaced with file.lo
3466 case $libobj in
3467 *.[cCFSifmso] | \
3468 *.ada | *.adb | *.ads | *.asm | \
3469 *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
3470 *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
3471 func_xform "$libobj"
3472 libobj=$func_xform_result
3473 ;;
3474 esac
3475
3476 case $libobj in
3477 *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
3478 *)
3479 func_fatal_error "cannot determine name of library object from '$libobj'"
3480 ;;
3481 esac
3482
3483 func_infer_tag $base_compile
3484
3485 for arg in $later; do
3486 case $arg in
3487 -shared)
3488 test yes = "$build_libtool_libs" \
3489 || func_fatal_configuration "cannot build a shared library"
3490 build_old_libs=no
3491 continue
3492 ;;
3493
3494 -static)
3495 build_libtool_libs=no
3496 build_old_libs=yes
3497 continue
3498 ;;
3499
3500 -prefer-pic)
3501 pic_mode=yes
3502 continue
3503 ;;
3504
3505 -prefer-non-pic)
3506 pic_mode=no
3507 continue
3508 ;;
3509 esac
3510 done
3511
3512 func_quote_for_eval "$libobj"
3513 test "X$libobj" != "X$func_quote_for_eval_result" \
3514 && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
3515 && func_warning "libobj name '$libobj' may not contain shell special characters."
3516 func_dirname_and_basename "$obj" "/" ""
3517 objname=$func_basename_result
3518 xdir=$func_dirname_result
3519 lobj=$xdir$objdir/$objname
3520
3521 test -z "$base_compile" && \
3522 func_fatal_help "you must specify a compilation command"
3523
3524 # Delete any leftover library objects.
3525 if test yes = "$build_old_libs"; then
3526 removelist="$obj $lobj $libobj ${libobj}T"
3527 else
3528 removelist="$lobj $libobj ${libobj}T"
3529 fi
3530
3531 # On Cygwin there's no "real" PIC flag so we must build both object types
3532 case $host_os in
3533 cygwin* | mingw* | pw32* | os2* | cegcc*)
3534 pic_mode=default
3535 ;;
3536 esac
3537 if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then
3538 # non-PIC code in shared libraries is not supported
3539 pic_mode=default
3540 fi
3541
3542 # Calculate the filename of the output object if compiler does
3543 # not support -o with -c
3544 if test no = "$compiler_c_o"; then
3545 output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext
3546 lockfile=$output_obj.lock
3547 else
3548 output_obj=
3549 need_locks=no
3550 lockfile=
3551 fi
3552
3553 # Lock this critical section if it is needed
3554 # We use this script file to make the link, it avoids creating a new file
3555 if test yes = "$need_locks"; then
3556 until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
3557 func_echo "Waiting for $lockfile to be removed"
3558 sleep 2
3559 done
3560 elif test warn = "$need_locks"; then
3561 if test -f "$lockfile"; then
3562 $ECHO "\
3563 *** ERROR, $lockfile exists and contains:
3564 `cat $lockfile 2>/dev/null`
3565
3566 This indicates that another process is trying to use the same
3567 temporary object file, and libtool could not work around it because
3568 your compiler does not support '-c' and '-o' together. If you
3569 repeat this compilation, it may succeed, by chance, but you had better
3570 avoid parallel builds (make -j) in this platform, or get a better
3571 compiler."
3572
3573 $opt_dry_run || $RM $removelist
3574 exit $EXIT_FAILURE
3575 fi
3576 func_append removelist " $output_obj"
3577 $ECHO "$srcfile" > "$lockfile"
3578 fi
3579
3580 $opt_dry_run || $RM $removelist
3581 func_append removelist " $lockfile"
3582 trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
3583
3584 func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
3585 srcfile=$func_to_tool_file_result
3586 func_quote_for_eval "$srcfile"
3587 qsrcfile=$func_quote_for_eval_result
3588
3589 # Only build a PIC object if we are building libtool libraries.
3590 if test yes = "$build_libtool_libs"; then
3591 # Without this assignment, base_compile gets emptied.
3592 fbsd_hideous_sh_bug=$base_compile
3593
3594 if test no != "$pic_mode"; then
3595 command="$base_compile $qsrcfile $pic_flag"
3596 else
3597 # Don't build PIC code
3598 command="$base_compile $qsrcfile"
3599 fi
3600
3601 func_mkdir_p "$xdir$objdir"
3602
3603 if test -z "$output_obj"; then
3604 # Place PIC objects in $objdir
3605 func_append command " -o $lobj"
3606 fi
3607
3608 func_show_eval_locale "$command" \
3609 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
3610
3611 if test warn = "$need_locks" &&
3612 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
3613 $ECHO "\
3614 *** ERROR, $lockfile contains:
3615 `cat $lockfile 2>/dev/null`
3616
3617 but it should contain:
3618 $srcfile
3619
3620 This indicates that another process is trying to use the same
3621 temporary object file, and libtool could not work around it because
3622 your compiler does not support '-c' and '-o' together. If you
3623 repeat this compilation, it may succeed, by chance, but you had better
3624 avoid parallel builds (make -j) in this platform, or get a better
3625 compiler."
3626
3627 $opt_dry_run || $RM $removelist
3628 exit $EXIT_FAILURE
3629 fi
3630
3631 # Just move the object if needed, then go on to compile the next one
3632 if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
3633 func_show_eval '$MV "$output_obj" "$lobj"' \
3634 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
3635 fi
3636
3637 # Allow error messages only from the first compilation.
3638 if test yes = "$suppress_opt"; then
3639 suppress_output=' >/dev/null 2>&1'
3640 fi
3641 fi
3642
3643 # Only build a position-dependent object if we build old libraries.
3644 if test yes = "$build_old_libs"; then
3645 if test yes != "$pic_mode"; then
3646 # Don't build PIC code
3647 command="$base_compile $qsrcfile$pie_flag"
3648 else
3649 command="$base_compile $qsrcfile $pic_flag"
3650 fi
3651 if test yes = "$compiler_c_o"; then
3652 func_append command " -o $obj"
3653 fi
3654
3655 # Suppress compiler output if we already did a PIC compilation.
3656 func_append command "$suppress_output"
3657 func_show_eval_locale "$command" \
3658 '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
3659
3660 if test warn = "$need_locks" &&
3661 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
3662 $ECHO "\
3663 *** ERROR, $lockfile contains:
3664 `cat $lockfile 2>/dev/null`
3665
3666 but it should contain:
3667 $srcfile
3668
3669 This indicates that another process is trying to use the same
3670 temporary object file, and libtool could not work around it because
3671 your compiler does not support '-c' and '-o' together. If you
3672 repeat this compilation, it may succeed, by chance, but you had better
3673 avoid parallel builds (make -j) in this platform, or get a better
3674 compiler."
3675
3676 $opt_dry_run || $RM $removelist
3677 exit $EXIT_FAILURE
3678 fi
3679
3680 # Just move the object if needed
3681 if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
3682 func_show_eval '$MV "$output_obj" "$obj"' \
3683 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
3684 fi
3685 fi
3686
3687 $opt_dry_run || {
3688 func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
3689
3690 # Unlock the critical section if it was locked
3691 if test no != "$need_locks"; then
3692 removelist=$lockfile
3693 $RM "$lockfile"
3694 fi
3695 }
3696
3697 exit $EXIT_SUCCESS
3698 }
3699
3700 $opt_help || {
3701 test compile = "$opt_mode" && func_mode_compile ${1+"$@"}
3702 }
3703
3704 func_mode_help ()
3705 {
3706 # We need to display help for each of the modes.
3707 case $opt_mode in
3708 "")
3709 # Generic help is extracted from the usage comments
3710 # at the start of this file.
3711 func_help
3712 ;;
3713
3714 clean)
3715 $ECHO \
3716 "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
3717
3718 Remove files from the build directory.
3719
3720 RM is the name of the program to use to delete files associated with each FILE
3721 (typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed
3722 to RM.
3723
3724 If FILE is a libtool library, object or program, all the files associated
3725 with it are deleted. Otherwise, only FILE itself is deleted using RM."
3726 ;;
3727
3728 compile)
3729 $ECHO \
3730 "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
3731
3732 Compile a source file into a libtool library object.
3733
3734 This mode accepts the following additional options:
3735
3736 -o OUTPUT-FILE set the output file name to OUTPUT-FILE
3737 -no-suppress do not suppress compiler output for multiple passes
3738 -prefer-pic try to build PIC objects only
3739 -prefer-non-pic try to build non-PIC objects only
3740 -shared do not build a '.o' file suitable for static linking
3741 -static only build a '.o' file suitable for static linking
3742 -Wc,FLAG pass FLAG directly to the compiler
3743
3744 COMPILE-COMMAND is a command to be used in creating a 'standard' object file
3745 from the given SOURCEFILE.
3746
3747 The output file name is determined by removing the directory component from
3748 SOURCEFILE, then substituting the C source code suffix '.c' with the
3749 library object suffix, '.lo'."
3750 ;;
3751
3752 execute)
3753 $ECHO \
3754 "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
3755
3756 Automatically set library path, then run a program.
3757
3758 This mode accepts the following additional options:
3759
3760 -dlopen FILE add the directory containing FILE to the library path
3761
3762 This mode sets the library path environment variable according to '-dlopen'
3763 flags.
3764
3765 If any of the ARGS are libtool executable wrappers, then they are translated
3766 into their corresponding uninstalled binary, and any of their required library
3767 directories are added to the library path.
3768
3769 Then, COMMAND is executed, with ARGS as arguments."
3770 ;;
3771
3772 finish)
3773 $ECHO \
3774 "Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
3775
3776 Complete the installation of libtool libraries.
3777
3778 Each LIBDIR is a directory that contains libtool libraries.
3779
3780 The commands that this mode executes may require superuser privileges. Use
3781 the '--dry-run' option if you just want to see what would be executed."
3782 ;;
3783
3784 install)
3785 $ECHO \
3786 "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
3787
3788 Install executables or libraries.
3789
3790 INSTALL-COMMAND is the installation command. The first component should be
3791 either the 'install' or 'cp' program.
3792
3793 The following components of INSTALL-COMMAND are treated specially:
3794
3795 -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation
3796
3797 The rest of the components are interpreted as arguments to that command (only
3798 BSD-compatible install options are recognized)."
3799 ;;
3800
3801 link)
3802 $ECHO \
3803 "Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
3804
3805 Link object files or libraries together to form another library, or to
3806 create an executable program.
3807
3808 LINK-COMMAND is a command using the C compiler that you would use to create
3809 a program from several object files.
3810
3811 The following components of LINK-COMMAND are treated specially:
3812
3813 -all-static do not do any dynamic linking at all
3814 -avoid-version do not add a version suffix if possible
3815 -bindir BINDIR specify path to binaries directory (for systems where
3816 libraries must be found in the PATH setting at runtime)
3817 -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime
3818 -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
3819 -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
3820 -export-symbols SYMFILE
3821 try to export only the symbols listed in SYMFILE
3822 -export-symbols-regex REGEX
3823 try to export only the symbols matching REGEX
3824 -LLIBDIR search LIBDIR for required installed libraries
3825 -lNAME OUTPUT-FILE requires the installed library libNAME
3826 -module build a library that can dlopened
3827 -no-fast-install disable the fast-install mode
3828 -no-install link a not-installable executable
3829 -no-undefined declare that a library does not refer to external symbols
3830 -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
3831 -objectlist FILE use a list of object files found in FILE to specify objects
3832 -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes)
3833 -precious-files-regex REGEX
3834 don't remove output files matching REGEX
3835 -release RELEASE specify package release information
3836 -rpath LIBDIR the created library will eventually be installed in LIBDIR
3837 -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
3838 -shared only do dynamic linking of libtool libraries
3839 -shrext SUFFIX override the standard shared library file extension
3840 -static do not do any dynamic linking of uninstalled libtool libraries
3841 -static-libtool-libs
3842 do not do any dynamic linking of libtool libraries
3843 -version-info CURRENT[:REVISION[:AGE]]
3844 specify library version info [each variable defaults to 0]
3845 -weak LIBNAME declare that the target provides the LIBNAME interface
3846 -Wc,FLAG
3847 -Xcompiler FLAG pass linker-specific FLAG directly to the compiler
3848 -Wl,FLAG
3849 -Xlinker FLAG pass linker-specific FLAG directly to the linker
3850 -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
3851
3852 All other options (arguments beginning with '-') are ignored.
3853
3854 Every other argument is treated as a filename. Files ending in '.la' are
3855 treated as uninstalled libtool libraries, other files are standard or library
3856 object files.
3857
3858 If the OUTPUT-FILE ends in '.la', then a libtool library is created,
3859 only library objects ('.lo' files) may be specified, and '-rpath' is
3860 required, except when creating a convenience library.
3861
3862 If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created
3863 using 'ar' and 'ranlib', or on Windows using 'lib'.
3864
3865 If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file
3866 is created, otherwise an executable program is created."
3867 ;;
3868
3869 uninstall)
3870 $ECHO \
3871 "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
3872
3873 Remove libraries from an installation directory.
3874
3875 RM is the name of the program to use to delete files associated with each FILE
3876 (typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed
3877 to RM.
3878
3879 If FILE is a libtool library, all the files associated with it are deleted.
3880 Otherwise, only FILE itself is deleted using RM."
3881 ;;
3882
3883 *)
3884 func_fatal_help "invalid operation mode '$opt_mode'"
3885 ;;
3886 esac
3887
3888 echo
3889 $ECHO "Try '$progname --help' for more information about other modes."
3890 }
3891
3892 # Now that we've collected a possible --mode arg, show help if necessary
3893 if $opt_help; then
3894 if test : = "$opt_help"; then
3895 func_mode_help
3896 else
3897 {
3898 func_help noexit
3899 for opt_mode in compile link execute install finish uninstall clean; do
3900 func_mode_help
3901 done
3902 } | $SED -n '1p; 2,$s/^Usage:/ or: /p'
3903 {
3904 func_help noexit
3905 for opt_mode in compile link execute install finish uninstall clean; do
3906 echo
3907 func_mode_help
3908 done
3909 } |
3910 $SED '1d
3911 /^When reporting/,/^Report/{
3912 H
3913 d
3914 }
3915 $x
3916 /information about other modes/d
3917 /more detailed .*MODE/d
3918 s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
3919 fi
3920 exit $?
3921 fi
3922
3923
3924 # func_mode_execute arg...
3925 func_mode_execute ()
3926 {
3927 $debug_cmd
3928
3929 # The first argument is the command name.
3930 cmd=$nonopt
3931 test -z "$cmd" && \
3932 func_fatal_help "you must specify a COMMAND"
3933
3934 # Handle -dlopen flags immediately.
3935 for file in $opt_dlopen; do
3936 test -f "$file" \
3937 || func_fatal_help "'$file' is not a file"
3938
3939 dir=
3940 case $file in
3941 *.la)
3942 func_resolve_sysroot "$file"
3943 file=$func_resolve_sysroot_result
3944
3945 # Check to see that this really is a libtool archive.
3946 func_lalib_unsafe_p "$file" \
3947 || func_fatal_help "'$lib' is not a valid libtool archive"
3948
3949 # Read the libtool library.
3950 dlname=
3951 library_names=
3952 func_source "$file"
3953
3954 # Skip this library if it cannot be dlopened.
3955 if test -z "$dlname"; then
3956 # Warn if it was a shared library.
3957 test -n "$library_names" && \
3958 func_warning "'$file' was not linked with '-export-dynamic'"
3959 continue
3960 fi
3961
3962 func_dirname "$file" "" "."
3963 dir=$func_dirname_result
3964
3965 if test -f "$dir/$objdir/$dlname"; then
3966 func_append dir "/$objdir"
3967 else
3968 if test ! -f "$dir/$dlname"; then
3969 func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'"
3970 fi
3971 fi
3972 ;;
3973
3974 *.lo)
3975 # Just add the directory containing the .lo file.
3976 func_dirname "$file" "" "."
3977 dir=$func_dirname_result
3978 ;;
3979
3980 *)
3981 func_warning "'-dlopen' is ignored for non-libtool libraries and objects"
3982 continue
3983 ;;
3984 esac
3985
3986 # Get the absolute pathname.
3987 absdir=`cd "$dir" && pwd`
3988 test -n "$absdir" && dir=$absdir
3989
3990 # Now add the directory to shlibpath_var.
3991 if eval "test -z \"\$$shlibpath_var\""; then
3992 eval "$shlibpath_var=\"\$dir\""
3993 else
3994 eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
3995 fi
3996 done
3997
3998 # This variable tells wrapper scripts just to set shlibpath_var
3999 # rather than running their programs.
4000 libtool_execute_magic=$magic
4001
4002 # Check if any of the arguments is a wrapper script.
4003 args=
4004 for file
4005 do
4006 case $file in
4007 -* | *.la | *.lo ) ;;
4008 *)
4009 # Do a test to see if this is really a libtool program.
4010 if func_ltwrapper_script_p "$file"; then
4011 func_source "$file"
4012 # Transform arg to wrapped name.
4013 file=$progdir/$program
4014 elif func_ltwrapper_executable_p "$file"; then
4015 func_ltwrapper_scriptname "$file"
4016 func_source "$func_ltwrapper_scriptname_result"
4017 # Transform arg to wrapped name.
4018 file=$progdir/$program
4019 fi
4020 ;;
4021 esac
4022 # Quote arguments (to preserve shell metacharacters).
4023 func_append_quoted args "$file"
4024 done
4025
4026 if $opt_dry_run; then
4027 # Display what would be done.
4028 if test -n "$shlibpath_var"; then
4029 eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
4030 echo "export $shlibpath_var"
4031 fi
4032 $ECHO "$cmd$args"
4033 exit $EXIT_SUCCESS
4034 else
4035 if test -n "$shlibpath_var"; then
4036 # Export the shlibpath_var.
4037 eval "export $shlibpath_var"
4038 fi
4039
4040 # Restore saved environment variables
4041 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
4042 do
4043 eval "if test \"\${save_$lt_var+set}\" = set; then
4044 $lt_var=\$save_$lt_var; export $lt_var
4045 else
4046 $lt_unset $lt_var
4047 fi"
4048 done
4049
4050 # Now prepare to actually exec the command.
4051 exec_cmd=\$cmd$args
4052 fi
4053 }
4054
4055 test execute = "$opt_mode" && func_mode_execute ${1+"$@"}
4056
4057
4058 # func_mode_finish arg...
4059 func_mode_finish ()
4060 {
4061 $debug_cmd
4062
4063 libs=
4064 libdirs=
4065 admincmds=
4066
4067 for opt in "$nonopt" ${1+"$@"}
4068 do
4069 if test -d "$opt"; then
4070 func_append libdirs " $opt"
4071
4072 elif test -f "$opt"; then
4073 if func_lalib_unsafe_p "$opt"; then
4074 func_append libs " $opt"
4075 else
4076 func_warning "'$opt' is not a valid libtool archive"
4077 fi
4078
4079 else
4080 func_fatal_error "invalid argument '$opt'"
4081 fi
4082 done
4083
4084 if test -n "$libs"; then
4085 if test -n "$lt_sysroot"; then
4086 sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
4087 sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
4088 else
4089 sysroot_cmd=
4090 fi
4091
4092 # Remove sysroot references
4093 if $opt_dry_run; then
4094 for lib in $libs; do
4095 echo "removing references to $lt_sysroot and '=' prefixes from $lib"
4096 done
4097 else
4098 tmpdir=`func_mktempdir`
4099 for lib in $libs; do
4100 $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
4101 > $tmpdir/tmp-la
4102 mv -f $tmpdir/tmp-la $lib
4103 done
4104 ${RM}r "$tmpdir"
4105 fi
4106 fi
4107
4108 if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
4109 for libdir in $libdirs; do
4110 if test -n "$finish_cmds"; then
4111 # Do each command in the finish commands.
4112 func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
4113 '"$cmd"'"'
4114 fi
4115 if test -n "$finish_eval"; then
4116 # Do the single finish_eval.
4117 eval cmds=\"$finish_eval\"
4118 $opt_dry_run || eval "$cmds" || func_append admincmds "
4119 $cmds"
4120 fi
4121 done
4122 fi
4123
4124 # Exit here if they wanted silent mode.
4125 $opt_quiet && exit $EXIT_SUCCESS
4126
4127 if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
4128 echo "----------------------------------------------------------------------"
4129 echo "Libraries have been installed in:"
4130 for libdir in $libdirs; do
4131 $ECHO " $libdir"
4132 done
4133 echo
4134 echo "If you ever happen to want to link against installed libraries"
4135 echo "in a given directory, LIBDIR, you must either use libtool, and"
4136 echo "specify the full pathname of the library, or use the '-LLIBDIR'"
4137 echo "flag during linking and do at least one of the following:"
4138 if test -n "$shlibpath_var"; then
4139 echo " - add LIBDIR to the '$shlibpath_var' environment variable"
4140 echo " during execution"
4141 fi
4142 if test -n "$runpath_var"; then
4143 echo " - add LIBDIR to the '$runpath_var' environment variable"
4144 echo " during linking"
4145 fi
4146 if test -n "$hardcode_libdir_flag_spec"; then
4147 libdir=LIBDIR
4148 eval flag=\"$hardcode_libdir_flag_spec\"
4149
4150 $ECHO " - use the '$flag' linker flag"
4151 fi
4152 if test -n "$admincmds"; then
4153 $ECHO " - have your system administrator run these commands:$admincmds"
4154 fi
4155 if test -f /etc/ld.so.conf; then
4156 echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'"
4157 fi
4158 echo
4159
4160 echo "See any operating system documentation about shared libraries for"
4161 case $host in
4162 solaris2.[6789]|solaris2.1[0-9])
4163 echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
4164 echo "pages."
4165 ;;
4166 *)
4167 echo "more information, such as the ld(1) and ld.so(8) manual pages."
4168 ;;
4169 esac
4170 echo "----------------------------------------------------------------------"
4171 fi
4172 exit $EXIT_SUCCESS
4173 }
4174
4175 test finish = "$opt_mode" && func_mode_finish ${1+"$@"}
4176
4177
4178 # func_mode_install arg...
4179 func_mode_install ()
4180 {
4181 $debug_cmd
4182
4183 # There may be an optional sh(1) argument at the beginning of
4184 # install_prog (especially on Windows NT).
4185 if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" ||
4186 # Allow the use of GNU shtool's install command.
4187 case $nonopt in *shtool*) :;; *) false;; esac
4188 then
4189 # Aesthetically quote it.
4190 func_quote_for_eval "$nonopt"
4191 install_prog="$func_quote_for_eval_result "
4192 arg=$1
4193 shift
4194 else
4195 install_prog=
4196 arg=$nonopt
4197 fi
4198
4199 # The real first argument should be the name of the installation program.
4200 # Aesthetically quote it.
4201 func_quote_for_eval "$arg"
4202 func_append install_prog "$func_quote_for_eval_result"
4203 install_shared_prog=$install_prog
4204 case " $install_prog " in
4205 *[\\\ /]cp\ *) install_cp=: ;;
4206 *) install_cp=false ;;
4207 esac
4208
4209 # We need to accept at least all the BSD install flags.
4210 dest=
4211 files=
4212 opts=
4213 prev=
4214 install_type=
4215 isdir=false
4216 stripme=
4217 no_mode=:
4218 for arg
4219 do
4220 arg2=
4221 if test -n "$dest"; then
4222 func_append files " $dest"
4223 dest=$arg
4224 continue
4225 fi
4226
4227 case $arg in
4228 -d) isdir=: ;;
4229 -f)
4230 if $install_cp; then :; else
4231 prev=$arg
4232 fi
4233 ;;
4234 -g | -m | -o)
4235 prev=$arg
4236 ;;
4237 -s)
4238 stripme=" -s"
4239 continue
4240 ;;
4241 -*)
4242 ;;
4243 *)
4244 # If the previous option needed an argument, then skip it.
4245 if test -n "$prev"; then
4246 if test X-m = "X$prev" && test -n "$install_override_mode"; then
4247 arg2=$install_override_mode
4248 no_mode=false
4249 fi
4250 prev=
4251 else
4252 dest=$arg
4253 continue
4254 fi
4255 ;;
4256 esac
4257
4258 # Aesthetically quote the argument.
4259 func_quote_for_eval "$arg"
4260 func_append install_prog " $func_quote_for_eval_result"
4261 if test -n "$arg2"; then
4262 func_quote_for_eval "$arg2"
4263 fi
4264 func_append install_shared_prog " $func_quote_for_eval_result"
4265 done
4266
4267 test -z "$install_prog" && \
4268 func_fatal_help "you must specify an install program"
4269
4270 test -n "$prev" && \
4271 func_fatal_help "the '$prev' option requires an argument"
4272
4273 if test -n "$install_override_mode" && $no_mode; then
4274 if $install_cp; then :; else
4275 func_quote_for_eval "$install_override_mode"
4276 func_append install_shared_prog " -m $func_quote_for_eval_result"
4277 fi
4278 fi
4279
4280 if test -z "$files"; then
4281 if test -z "$dest"; then
4282 func_fatal_help "no file or destination specified"
4283 else
4284 func_fatal_help "you must specify a destination"
4285 fi
4286 fi
4287
4288 # Strip any trailing slash from the destination.
4289 func_stripname '' '/' "$dest"
4290 dest=$func_stripname_result
4291
4292 # Check to see that the destination is a directory.
4293 test -d "$dest" && isdir=:
4294 if $isdir; then
4295 destdir=$dest
4296 destname=
4297 else
4298 func_dirname_and_basename "$dest" "" "."
4299 destdir=$func_dirname_result
4300 destname=$func_basename_result
4301
4302 # Not a directory, so check to see that there is only one file specified.
4303 set dummy $files; shift
4304 test "$#" -gt 1 && \
4305 func_fatal_help "'$dest' is not a directory"
4306 fi
4307 case $destdir in
4308 [\\/]* | [A-Za-z]:[\\/]*) ;;
4309 *)
4310 for file in $files; do
4311 case $file in
4312 *.lo) ;;
4313 *)
4314 func_fatal_help "'$destdir' must be an absolute directory name"
4315 ;;
4316 esac
4317 done
4318 ;;
4319 esac
4320
4321 # This variable tells wrapper scripts just to set variables rather
4322 # than running their programs.
4323 libtool_install_magic=$magic
4324
4325 staticlibs=
4326 future_libdirs=
4327 current_libdirs=
4328 for file in $files; do
4329
4330 # Do each installation.
4331 case $file in
4332 *.$libext)
4333 # Do the static libraries later.
4334 func_append staticlibs " $file"
4335 ;;
4336
4337 *.la)
4338 func_resolve_sysroot "$file"
4339 file=$func_resolve_sysroot_result
4340
4341 # Check to see that this really is a libtool archive.
4342 func_lalib_unsafe_p "$file" \
4343 || func_fatal_help "'$file' is not a valid libtool archive"
4344
4345 library_names=
4346 old_library=
4347 relink_command=
4348 func_source "$file"
4349
4350 # Add the libdir to current_libdirs if it is the destination.
4351 if test "X$destdir" = "X$libdir"; then
4352 case "$current_libdirs " in
4353 *" $libdir "*) ;;
4354 *) func_append current_libdirs " $libdir" ;;
4355 esac
4356 else
4357 # Note the libdir as a future libdir.
4358 case "$future_libdirs " in
4359 *" $libdir "*) ;;
4360 *) func_append future_libdirs " $libdir" ;;
4361 esac
4362 fi
4363
4364 func_dirname "$file" "/" ""
4365 dir=$func_dirname_result
4366 func_append dir "$objdir"
4367
4368 if test -n "$relink_command"; then
4369 # Determine the prefix the user has applied to our future dir.
4370 inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
4371
4372 # Don't allow the user to place us outside of our expected
4373 # location b/c this prevents finding dependent libraries that
4374 # are installed to the same prefix.
4375 # At present, this check doesn't affect windows .dll's that
4376 # are installed into $libdir/../bin (currently, that works fine)
4377 # but it's something to keep an eye on.
4378 test "$inst_prefix_dir" = "$destdir" && \
4379 func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
4380
4381 if test -n "$inst_prefix_dir"; then
4382 # Stick the inst_prefix_dir data into the link command.
4383 relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
4384 else
4385 relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
4386 fi
4387
4388 func_warning "relinking '$file'"
4389 func_show_eval "$relink_command" \
4390 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
4391 fi
4392
4393 # See the names of the shared library.
4394 set dummy $library_names; shift
4395 if test -n "$1"; then
4396 realname=$1
4397 shift
4398
4399 srcname=$realname
4400 test -n "$relink_command" && srcname=${realname}T
4401
4402 # Install the shared library and build the symlinks.
4403 func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
4404 'exit $?'
4405 tstripme=$stripme
4406 case $host_os in
4407 cygwin* | mingw* | pw32* | cegcc*)
4408 case $realname in
4409 *.dll.a)
4410 tstripme=
4411 ;;
4412 esac
4413 ;;
4414 os2*)
4415 case $realname in
4416 *_dll.a)
4417 tstripme=
4418 ;;
4419 esac
4420 ;;
4421 esac
4422 if test -n "$tstripme" && test -n "$striplib"; then
4423 func_show_eval "$striplib $destdir/$realname" 'exit $?'
4424 fi
4425
4426 if test "$#" -gt 0; then
4427 # Delete the old symlinks, and create new ones.
4428 # Try 'ln -sf' first, because the 'ln' binary might depend on
4429 # the symlink we replace! Solaris /bin/ln does not understand -f,
4430 # so we also need to try rm && ln -s.
4431 for linkname
4432 do
4433 test "$linkname" != "$realname" \
4434 && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
4435 done
4436 fi
4437
4438 # Do each command in the postinstall commands.
4439 lib=$destdir/$realname
4440 func_execute_cmds "$postinstall_cmds" 'exit $?'
4441 fi
4442
4443 # Install the pseudo-library for information purposes.
4444 func_basename "$file"
4445 name=$func_basename_result
4446 instname=$dir/${name}i
4447 func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
4448
4449 # Maybe install the static library, too.
4450 test -n "$old_library" && func_append staticlibs " $dir/$old_library"
4451 ;;
4452
4453 *.lo)
4454 # Install (i.e. copy) a libtool object.
4455
4456 # Figure out destination file name, if it wasn't already specified.
4457 if test -n "$destname"; then
4458 destfile=$destdir/$destname
4459 else
4460 func_basename "$file"
4461 destfile=$func_basename_result
4462 destfile=$destdir/$destfile
4463 fi
4464
4465 # Deduce the name of the destination old-style object file.
4466 case $destfile in
4467 *.lo)
4468 func_lo2o "$destfile"
4469 staticdest=$func_lo2o_result
4470 ;;
4471 *.$objext)
4472 staticdest=$destfile
4473 destfile=
4474 ;;
4475 *)
4476 func_fatal_help "cannot copy a libtool object to '$destfile'"
4477 ;;
4478 esac
4479
4480 # Install the libtool object if requested.
4481 test -n "$destfile" && \
4482 func_show_eval "$install_prog $file $destfile" 'exit $?'
4483
4484 # Install the old object if enabled.
4485 if test yes = "$build_old_libs"; then
4486 # Deduce the name of the old-style object file.
4487 func_lo2o "$file"
4488 staticobj=$func_lo2o_result
4489 func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
4490 fi
4491 exit $EXIT_SUCCESS
4492 ;;
4493
4494 *)
4495 # Figure out destination file name, if it wasn't already specified.
4496 if test -n "$destname"; then
4497 destfile=$destdir/$destname
4498 else
4499 func_basename "$file"
4500 destfile=$func_basename_result
4501 destfile=$destdir/$destfile
4502 fi
4503
4504 # If the file is missing, and there is a .exe on the end, strip it
4505 # because it is most likely a libtool script we actually want to
4506 # install
4507 stripped_ext=
4508 case $file in
4509 *.exe)
4510 if test ! -f "$file"; then
4511 func_stripname '' '.exe' "$file"
4512 file=$func_stripname_result
4513 stripped_ext=.exe
4514 fi
4515 ;;
4516 esac
4517
4518 # Do a test to see if this is really a libtool program.
4519 case $host in
4520 *cygwin* | *mingw*)
4521 if func_ltwrapper_executable_p "$file"; then
4522 func_ltwrapper_scriptname "$file"
4523 wrapper=$func_ltwrapper_scriptname_result
4524 else
4525 func_stripname '' '.exe' "$file"
4526 wrapper=$func_stripname_result
4527 fi
4528 ;;
4529 *)
4530 wrapper=$file
4531 ;;
4532 esac
4533 if func_ltwrapper_script_p "$wrapper"; then
4534 notinst_deplibs=
4535 relink_command=
4536
4537 func_source "$wrapper"
4538
4539 # Check the variables that should have been set.
4540 test -z "$generated_by_libtool_version" && \
4541 func_fatal_error "invalid libtool wrapper script '$wrapper'"
4542
4543 finalize=:
4544 for lib in $notinst_deplibs; do
4545 # Check to see that each library is installed.
4546 libdir=
4547 if test -f "$lib"; then
4548 func_source "$lib"
4549 fi
4550 libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'`
4551 if test -n "$libdir" && test ! -f "$libfile"; then
4552 func_warning "'$lib' has not been installed in '$libdir'"
4553 finalize=false
4554 fi
4555 done
4556
4557 relink_command=
4558 func_source "$wrapper"
4559
4560 outputname=
4561 if test no = "$fast_install" && test -n "$relink_command"; then
4562 $opt_dry_run || {
4563 if $finalize; then
4564 tmpdir=`func_mktempdir`
4565 func_basename "$file$stripped_ext"
4566 file=$func_basename_result
4567 outputname=$tmpdir/$file
4568 # Replace the output file specification.
4569 relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
4570
4571 $opt_quiet || {
4572 func_quote_for_expand "$relink_command"
4573 eval "func_echo $func_quote_for_expand_result"
4574 }
4575 if eval "$relink_command"; then :
4576 else
4577 func_error "error: relink '$file' with the above command before installing it"
4578 $opt_dry_run || ${RM}r "$tmpdir"
4579 continue
4580 fi
4581 file=$outputname
4582 else
4583 func_warning "cannot relink '$file'"
4584 fi
4585 }
4586 else
4587 # Install the binary that we compiled earlier.
4588 file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
4589 fi
4590 fi
4591
4592 # remove .exe since cygwin /usr/bin/install will append another
4593 # one anyway
4594 case $install_prog,$host in
4595 */usr/bin/install*,*cygwin*)
4596 case $file:$destfile in
4597 *.exe:*.exe)
4598 # this is ok
4599 ;;
4600 *.exe:*)
4601 destfile=$destfile.exe
4602 ;;
4603 *:*.exe)
4604 func_stripname '' '.exe' "$destfile"
4605 destfile=$func_stripname_result
4606 ;;
4607 esac
4608 ;;
4609 esac
4610 func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
4611 $opt_dry_run || if test -n "$outputname"; then
4612 ${RM}r "$tmpdir"
4613 fi
4614 ;;
4615 esac
4616 done
4617
4618 for file in $staticlibs; do
4619 func_basename "$file"
4620 name=$func_basename_result
4621
4622 # Set up the ranlib parameters.
4623 oldlib=$destdir/$name
4624 func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
4625 tool_oldlib=$func_to_tool_file_result
4626
4627 func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
4628
4629 if test -n "$stripme" && test -n "$old_striplib"; then
4630 func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
4631 fi
4632
4633 # Do each command in the postinstall commands.
4634 func_execute_cmds "$old_postinstall_cmds" 'exit $?'
4635 done
4636
4637 test -n "$future_libdirs" && \
4638 func_warning "remember to run '$progname --finish$future_libdirs'"
4639
4640 if test -n "$current_libdirs"; then
4641 # Maybe just do a dry run.
4642 $opt_dry_run && current_libdirs=" -n$current_libdirs"
4643 exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
4644 else
4645 exit $EXIT_SUCCESS
4646 fi
4647 }
4648
4649 test install = "$opt_mode" && func_mode_install ${1+"$@"}
4650
4651
4652 # func_generate_dlsyms outputname originator pic_p
4653 # Extract symbols from dlprefiles and create ${outputname}S.o with
4654 # a dlpreopen symbol table.
4655 func_generate_dlsyms ()
4656 {
4657 $debug_cmd
4658
4659 my_outputname=$1
4660 my_originator=$2
4661 my_pic_p=${3-false}
4662 my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'`
4663 my_dlsyms=
4664
4665 if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
4666 if test -n "$NM" && test -n "$global_symbol_pipe"; then
4667 my_dlsyms=${my_outputname}S.c
4668 else
4669 func_error "not configured to extract global symbols from dlpreopened files"
4670 fi
4671 fi
4672
4673 if test -n "$my_dlsyms"; then
4674 case $my_dlsyms in
4675 "") ;;
4676 *.c)
4677 # Discover the nlist of each of the dlfiles.
4678 nlist=$output_objdir/$my_outputname.nm
4679
4680 func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
4681
4682 # Parse the name list into a source file.
4683 func_verbose "creating $output_objdir/$my_dlsyms"
4684
4685 $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
4686 /* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */
4687 /* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */
4688
4689 #ifdef __cplusplus
4690 extern \"C\" {
4691 #endif
4692
4693 #if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
4694 #pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
4695 #endif
4696
4697 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
4698 #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
4699 /* DATA imports from DLLs on WIN32 can't be const, because runtime
4700 relocations are performed -- see ld's documentation on pseudo-relocs. */
4701 # define LT_DLSYM_CONST
4702 #elif defined __osf__
4703 /* This system does not cope well with relocations in const data. */
4704 # define LT_DLSYM_CONST
4705 #else
4706 # define LT_DLSYM_CONST const
4707 #endif
4708
4709 #define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
4710
4711 /* External symbol declarations for the compiler. */\
4712 "
4713
4714 if test yes = "$dlself"; then
4715 func_verbose "generating symbol list for '$output'"
4716
4717 $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
4718
4719 # Add our own program objects to the symbol list.
4720 progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
4721 for progfile in $progfiles; do
4722 func_to_tool_file "$progfile" func_convert_file_msys_to_w32
4723 func_verbose "extracting global C symbols from '$func_to_tool_file_result'"
4724 $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
4725 done
4726
4727 if test -n "$exclude_expsyms"; then
4728 $opt_dry_run || {
4729 eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
4730 eval '$MV "$nlist"T "$nlist"'
4731 }
4732 fi
4733
4734 if test -n "$export_symbols_regex"; then
4735 $opt_dry_run || {
4736 eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
4737 eval '$MV "$nlist"T "$nlist"'
4738 }
4739 fi
4740
4741 # Prepare the list of exported symbols
4742 if test -z "$export_symbols"; then
4743 export_symbols=$output_objdir/$outputname.exp
4744 $opt_dry_run || {
4745 $RM $export_symbols
4746 eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
4747 case $host in
4748 *cygwin* | *mingw* | *cegcc* )
4749 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
4750 eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
4751 ;;
4752 esac
4753 }
4754 else
4755 $opt_dry_run || {
4756 eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
4757 eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
4758 eval '$MV "$nlist"T "$nlist"'
4759 case $host in
4760 *cygwin* | *mingw* | *cegcc* )
4761 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
4762 eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
4763 ;;
4764 esac
4765 }
4766 fi
4767 fi
4768
4769 for dlprefile in $dlprefiles; do
4770 func_verbose "extracting global C symbols from '$dlprefile'"
4771 func_basename "$dlprefile"
4772 name=$func_basename_result
4773 case $host in
4774 *cygwin* | *mingw* | *cegcc* )
4775 # if an import library, we need to obtain dlname
4776 if func_win32_import_lib_p "$dlprefile"; then
4777 func_tr_sh "$dlprefile"
4778 eval "curr_lafile=\$libfile_$func_tr_sh_result"
4779 dlprefile_dlbasename=
4780 if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
4781 # Use subshell, to avoid clobbering current variable values
4782 dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
4783 if test -n "$dlprefile_dlname"; then
4784 func_basename "$dlprefile_dlname"
4785 dlprefile_dlbasename=$func_basename_result
4786 else
4787 # no lafile. user explicitly requested -dlpreopen <import library>.
4788 $sharedlib_from_linklib_cmd "$dlprefile"
4789 dlprefile_dlbasename=$sharedlib_from_linklib_result
4790 fi
4791 fi
4792 $opt_dry_run || {
4793 if test -n "$dlprefile_dlbasename"; then
4794 eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
4795 else
4796 func_warning "Could not compute DLL name from $name"
4797 eval '$ECHO ": $name " >> "$nlist"'
4798 fi
4799 func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
4800 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
4801 $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
4802 }
4803 else # not an import lib
4804 $opt_dry_run || {
4805 eval '$ECHO ": $name " >> "$nlist"'
4806 func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
4807 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
4808 }
4809 fi
4810 ;;
4811 *)
4812 $opt_dry_run || {
4813 eval '$ECHO ": $name " >> "$nlist"'
4814 func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
4815 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
4816 }
4817 ;;
4818 esac
4819 done
4820
4821 $opt_dry_run || {
4822 # Make sure we have at least an empty file.
4823 test -f "$nlist" || : > "$nlist"
4824
4825 if test -n "$exclude_expsyms"; then
4826 $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
4827 $MV "$nlist"T "$nlist"
4828 fi
4829
4830 # Try sorting and uniquifying the output.
4831 if $GREP -v "^: " < "$nlist" |
4832 if sort -k 3 </dev/null >/dev/null 2>&1; then
4833 sort -k 3
4834 else
4835 sort +2
4836 fi |
4837 uniq > "$nlist"S; then
4838 :
4839 else
4840 $GREP -v "^: " < "$nlist" > "$nlist"S
4841 fi
4842
4843 if test -f "$nlist"S; then
4844 eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
4845 else
4846 echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
4847 fi
4848
4849 func_show_eval '$RM "${nlist}I"'
4850 if test -n "$global_symbol_to_import"; then
4851 eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I'
4852 fi
4853
4854 echo >> "$output_objdir/$my_dlsyms" "\
4855
4856 /* The mapping between symbol names and symbols. */
4857 typedef struct {
4858 const char *name;
4859 void *address;
4860 } lt_dlsymlist;
4861 extern LT_DLSYM_CONST lt_dlsymlist
4862 lt_${my_prefix}_LTX_preloaded_symbols[];\
4863 "
4864
4865 if test -s "$nlist"I; then
4866 echo >> "$output_objdir/$my_dlsyms" "\
4867 static void lt_syminit(void)
4868 {
4869 LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols;
4870 for (; symbol->name; ++symbol)
4871 {"
4872 $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms"
4873 echo >> "$output_objdir/$my_dlsyms" "\
4874 }
4875 }"
4876 fi
4877 echo >> "$output_objdir/$my_dlsyms" "\
4878 LT_DLSYM_CONST lt_dlsymlist
4879 lt_${my_prefix}_LTX_preloaded_symbols[] =
4880 { {\"$my_originator\", (void *) 0},"
4881
4882 if test -s "$nlist"I; then
4883 echo >> "$output_objdir/$my_dlsyms" "\
4884 {\"@INIT@\", (void *) &lt_syminit},"
4885 fi
4886
4887 case $need_lib_prefix in
4888 no)
4889 eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
4890 ;;
4891 *)
4892 eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
4893 ;;
4894 esac
4895 echo >> "$output_objdir/$my_dlsyms" "\
4896 {0, (void *) 0}
4897 };
4898
4899 /* This works around a problem in FreeBSD linker */
4900 #ifdef FREEBSD_WORKAROUND
4901 static const void *lt_preloaded_setup() {
4902 return lt_${my_prefix}_LTX_preloaded_symbols;
4903 }
4904 #endif
4905
4906 #ifdef __cplusplus
4907 }
4908 #endif\
4909 "
4910 } # !$opt_dry_run
4911
4912 pic_flag_for_symtable=
4913 case "$compile_command " in
4914 *" -static "*) ;;
4915 *)
4916 case $host in
4917 # compiling the symbol table file with pic_flag works around
4918 # a FreeBSD bug that causes programs to crash when -lm is
4919 # linked before any other PIC object. But we must not use
4920 # pic_flag when linking with -static. The problem exists in
4921 # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
4922 *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
4923 pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
4924 *-*-hpux*)
4925 pic_flag_for_symtable=" $pic_flag" ;;
4926 *)
4927 $my_pic_p && pic_flag_for_symtable=" $pic_flag"
4928 ;;
4929 esac
4930 ;;
4931 esac
4932 symtab_cflags=
4933 for arg in $LTCFLAGS; do
4934 case $arg in
4935 -pie | -fpie | -fPIE) ;;
4936 *) func_append symtab_cflags " $arg" ;;
4937 esac
4938 done
4939
4940 # Now compile the dynamic symbol file.
4941 func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
4942
4943 # Clean up the generated files.
4944 func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"'
4945
4946 # Transform the symbol file into the correct name.
4947 symfileobj=$output_objdir/${my_outputname}S.$objext
4948 case $host in
4949 *cygwin* | *mingw* | *cegcc* )
4950 if test -f "$output_objdir/$my_outputname.def"; then
4951 compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
4952 finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
4953 else
4954 compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
4955 finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
4956 fi
4957 ;;
4958 *)
4959 compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
4960 finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
4961 ;;
4962 esac
4963 ;;
4964 *)
4965 func_fatal_error "unknown suffix for '$my_dlsyms'"
4966 ;;
4967 esac
4968 else
4969 # We keep going just in case the user didn't refer to
4970 # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
4971 # really was required.
4972
4973 # Nullify the symbol file.
4974 compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
4975 finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
4976 fi
4977 }
4978
4979 # func_cygming_gnu_implib_p ARG
4980 # This predicate returns with zero status (TRUE) if
4981 # ARG is a GNU/binutils-style import library. Returns
4982 # with nonzero status (FALSE) otherwise.
4983 func_cygming_gnu_implib_p ()
4984 {
4985 $debug_cmd
4986
4987 func_to_tool_file "$1" func_convert_file_msys_to_w32
4988 func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
4989 test -n "$func_cygming_gnu_implib_tmp"
4990 }
4991
4992 # func_cygming_ms_implib_p ARG
4993 # This predicate returns with zero status (TRUE) if
4994 # ARG is an MS-style import library. Returns
4995 # with nonzero status (FALSE) otherwise.
4996 func_cygming_ms_implib_p ()
4997 {
4998 $debug_cmd
4999
5000 func_to_tool_file "$1" func_convert_file_msys_to_w32
5001 func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
5002 test -n "$func_cygming_ms_implib_tmp"
5003 }
5004
5005 # func_win32_libid arg
5006 # return the library type of file 'arg'
5007 #
5008 # Need a lot of goo to handle *both* DLLs and import libs
5009 # Has to be a shell function in order to 'eat' the argument
5010 # that is supplied when $file_magic_command is called.
5011 # Despite the name, also deal with 64 bit binaries.
5012 func_win32_libid ()
5013 {
5014 $debug_cmd
5015
5016 win32_libid_type=unknown
5017 win32_fileres=`file -L $1 2>/dev/null`
5018 case $win32_fileres in
5019 *ar\ archive\ import\ library*) # definitely import
5020 win32_libid_type="x86 archive import"
5021 ;;
5022 *ar\ archive*) # could be an import, or static
5023 # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
5024 if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
5025 $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
5026 case $nm_interface in
5027 "MS dumpbin")
5028 if func_cygming_ms_implib_p "$1" ||
5029 func_cygming_gnu_implib_p "$1"
5030 then
5031 win32_nmres=import
5032 else
5033 win32_nmres=
5034 fi
5035 ;;
5036 *)
5037 func_to_tool_file "$1" func_convert_file_msys_to_w32
5038 win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
5039 $SED -n -e '
5040 1,100{
5041 / I /{
5042 s|.*|import|
5043 p
5044 q
5045 }
5046 }'`
5047 ;;
5048 esac
5049 case $win32_nmres in
5050 import*) win32_libid_type="x86 archive import";;
5051 *) win32_libid_type="x86 archive static";;
5052 esac
5053 fi
5054 ;;
5055 *DLL*)
5056 win32_libid_type="x86 DLL"
5057 ;;
5058 *executable*) # but shell scripts are "executable" too...
5059 case $win32_fileres in
5060 *MS\ Windows\ PE\ Intel*)
5061 win32_libid_type="x86 DLL"
5062 ;;
5063 esac
5064 ;;
5065 esac
5066 $ECHO "$win32_libid_type"
5067 }
5068
5069 # func_cygming_dll_for_implib ARG
5070 #
5071 # Platform-specific function to extract the
5072 # name of the DLL associated with the specified
5073 # import library ARG.
5074 # Invoked by eval'ing the libtool variable
5075 # $sharedlib_from_linklib_cmd
5076 # Result is available in the variable
5077 # $sharedlib_from_linklib_result
5078 func_cygming_dll_for_implib ()
5079 {
5080 $debug_cmd
5081
5082 sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
5083 }
5084
5085 # func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
5086 #
5087 # The is the core of a fallback implementation of a
5088 # platform-specific function to extract the name of the
5089 # DLL associated with the specified import library LIBNAME.
5090 #
5091 # SECTION_NAME is either .idata$6 or .idata$7, depending
5092 # on the platform and compiler that created the implib.
5093 #
5094 # Echos the name of the DLL associated with the
5095 # specified import library.
5096 func_cygming_dll_for_implib_fallback_core ()
5097 {
5098 $debug_cmd
5099
5100 match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
5101 $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
5102 $SED '/^Contents of section '"$match_literal"':/{
5103 # Place marker at beginning of archive member dllname section
5104 s/.*/====MARK====/
5105 p
5106 d
5107 }
5108 # These lines can sometimes be longer than 43 characters, but
5109 # are always uninteresting
5110 /:[ ]*file format pe[i]\{,1\}-/d
5111 /^In archive [^:]*:/d
5112 # Ensure marker is printed
5113 /^====MARK====/p
5114 # Remove all lines with less than 43 characters
5115 /^.\{43\}/!d
5116 # From remaining lines, remove first 43 characters
5117 s/^.\{43\}//' |
5118 $SED -n '
5119 # Join marker and all lines until next marker into a single line
5120 /^====MARK====/ b para
5121 H
5122 $ b para
5123 b
5124 :para
5125 x
5126 s/\n//g
5127 # Remove the marker
5128 s/^====MARK====//
5129 # Remove trailing dots and whitespace
5130 s/[\. \t]*$//
5131 # Print
5132 /./p' |
5133 # we now have a list, one entry per line, of the stringified
5134 # contents of the appropriate section of all members of the
5135 # archive that possess that section. Heuristic: eliminate
5136 # all those that have a first or second character that is
5137 # a '.' (that is, objdump's representation of an unprintable
5138 # character.) This should work for all archives with less than
5139 # 0x302f exports -- but will fail for DLLs whose name actually
5140 # begins with a literal '.' or a single character followed by
5141 # a '.'.
5142 #
5143 # Of those that remain, print the first one.
5144 $SED -e '/^\./d;/^.\./d;q'
5145 }
5146
5147 # func_cygming_dll_for_implib_fallback ARG
5148 # Platform-specific function to extract the
5149 # name of the DLL associated with the specified
5150 # import library ARG.
5151 #
5152 # This fallback implementation is for use when $DLLTOOL
5153 # does not support the --identify-strict option.
5154 # Invoked by eval'ing the libtool variable
5155 # $sharedlib_from_linklib_cmd
5156 # Result is available in the variable
5157 # $sharedlib_from_linklib_result
5158 func_cygming_dll_for_implib_fallback ()
5159 {
5160 $debug_cmd
5161
5162 if func_cygming_gnu_implib_p "$1"; then
5163 # binutils import library
5164 sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
5165 elif func_cygming_ms_implib_p "$1"; then
5166 # ms-generated import library
5167 sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
5168 else
5169 # unknown
5170 sharedlib_from_linklib_result=
5171 fi
5172 }
5173
5174
5175 # func_extract_an_archive dir oldlib
5176 func_extract_an_archive ()
5177 {
5178 $debug_cmd
5179
5180 f_ex_an_ar_dir=$1; shift
5181 f_ex_an_ar_oldlib=$1
5182 if test yes = "$lock_old_archive_extraction"; then
5183 lockfile=$f_ex_an_ar_oldlib.lock
5184 until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
5185 func_echo "Waiting for $lockfile to be removed"
5186 sleep 2
5187 done
5188 fi
5189 func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
5190 'stat=$?; rm -f "$lockfile"; exit $stat'
5191 if test yes = "$lock_old_archive_extraction"; then
5192 $opt_dry_run || rm -f "$lockfile"
5193 fi
5194 if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
5195 :
5196 else
5197 func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
5198 fi
5199 }
5200
5201
5202 # func_extract_archives gentop oldlib ...
5203 func_extract_archives ()
5204 {
5205 $debug_cmd
5206
5207 my_gentop=$1; shift
5208 my_oldlibs=${1+"$@"}
5209 my_oldobjs=
5210 my_xlib=
5211 my_xabs=
5212 my_xdir=
5213
5214 for my_xlib in $my_oldlibs; do
5215 # Extract the objects.
5216 case $my_xlib in
5217 [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;;
5218 *) my_xabs=`pwd`"/$my_xlib" ;;
5219 esac
5220 func_basename "$my_xlib"
5221 my_xlib=$func_basename_result
5222 my_xlib_u=$my_xlib
5223 while :; do
5224 case " $extracted_archives " in
5225 *" $my_xlib_u "*)
5226 func_arith $extracted_serial + 1
5227 extracted_serial=$func_arith_result
5228 my_xlib_u=lt$extracted_serial-$my_xlib ;;
5229 *) break ;;
5230 esac
5231 done
5232 extracted_archives="$extracted_archives $my_xlib_u"
5233 my_xdir=$my_gentop/$my_xlib_u
5234
5235 func_mkdir_p "$my_xdir"
5236
5237 case $host in
5238 *-darwin*)
5239 func_verbose "Extracting $my_xabs"
5240 # Do not bother doing anything if just a dry run
5241 $opt_dry_run || {
5242 darwin_orig_dir=`pwd`
5243 cd $my_xdir || exit $?
5244 darwin_archive=$my_xabs
5245 darwin_curdir=`pwd`
5246 func_basename "$darwin_archive"
5247 darwin_base_archive=$func_basename_result
5248 darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
5249 if test -n "$darwin_arches"; then
5250 darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
5251 darwin_arch=
5252 func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
5253 for darwin_arch in $darwin_arches; do
5254 func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch"
5255 $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive"
5256 cd "unfat-$$/$darwin_base_archive-$darwin_arch"
5257 func_extract_an_archive "`pwd`" "$darwin_base_archive"
5258 cd "$darwin_curdir"
5259 $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive"
5260 done # $darwin_arches
5261 ## Okay now we've a bunch of thin objects, gotta fatten them up :)
5262 darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
5263 darwin_file=
5264 darwin_files=
5265 for darwin_file in $darwin_filelist; do
5266 darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
5267 $LIPO -create -output "$darwin_file" $darwin_files
5268 done # $darwin_filelist
5269 $RM -rf unfat-$$
5270 cd "$darwin_orig_dir"
5271 else
5272 cd $darwin_orig_dir
5273 func_extract_an_archive "$my_xdir" "$my_xabs"
5274 fi # $darwin_arches
5275 } # !$opt_dry_run
5276 ;;
5277 *)
5278 func_extract_an_archive "$my_xdir" "$my_xabs"
5279 ;;
5280 esac
5281 my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
5282 done
5283
5284 func_extract_archives_result=$my_oldobjs
5285 }
5286
5287
5288 # func_emit_wrapper [arg=no]
5289 #
5290 # Emit a libtool wrapper script on stdout.
5291 # Don't directly open a file because we may want to
5292 # incorporate the script contents within a cygwin/mingw
5293 # wrapper executable. Must ONLY be called from within
5294 # func_mode_link because it depends on a number of variables
5295 # set therein.
5296 #
5297 # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
5298 # variable will take. If 'yes', then the emitted script
5299 # will assume that the directory where it is stored is
5300 # the $objdir directory. This is a cygwin/mingw-specific
5301 # behavior.
5302 func_emit_wrapper ()
5303 {
5304 func_emit_wrapper_arg1=${1-no}
5305
5306 $ECHO "\
5307 #! $SHELL
5308
5309 # $output - temporary wrapper script for $objdir/$outputname
5310 # Generated by $PROGRAM (GNU $PACKAGE) $VERSION
5311 #
5312 # The $output program cannot be directly executed until all the libtool
5313 # libraries that it depends on are installed.
5314 #
5315 # This wrapper script should never be moved out of the build directory.
5316 # If it is, it will not operate correctly.
5317
5318 # Sed substitution that helps us do robust quoting. It backslashifies
5319 # metacharacters that are still active within double-quoted strings.
5320 sed_quote_subst='$sed_quote_subst'
5321
5322 # Be Bourne compatible
5323 if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
5324 emulate sh
5325 NULLCMD=:
5326 # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
5327 # is contrary to our usage. Disable this feature.
5328 alias -g '\${1+\"\$@\"}'='\"\$@\"'
5329 setopt NO_GLOB_SUBST
5330 else
5331 case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
5332 fi
5333 BIN_SH=xpg4; export BIN_SH # for Tru64
5334 DUALCASE=1; export DUALCASE # for MKS sh
5335
5336 # The HP-UX ksh and POSIX shell print the target directory to stdout
5337 # if CDPATH is set.
5338 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
5339
5340 relink_command=\"$relink_command\"
5341
5342 # This environment variable determines our operation mode.
5343 if test \"\$libtool_install_magic\" = \"$magic\"; then
5344 # install mode needs the following variables:
5345 generated_by_libtool_version='$macro_version'
5346 notinst_deplibs='$notinst_deplibs'
5347 else
5348 # When we are sourced in execute mode, \$file and \$ECHO are already set.
5349 if test \"\$libtool_execute_magic\" != \"$magic\"; then
5350 file=\"\$0\""
5351
5352 qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
5353 $ECHO "\
5354
5355 # A function that is used when there is no print builtin or printf.
5356 func_fallback_echo ()
5357 {
5358 eval 'cat <<_LTECHO_EOF
5359 \$1
5360 _LTECHO_EOF'
5361 }
5362 ECHO=\"$qECHO\"
5363 fi
5364
5365 # Very basic option parsing. These options are (a) specific to
5366 # the libtool wrapper, (b) are identical between the wrapper
5367 # /script/ and the wrapper /executable/ that is used only on
5368 # windows platforms, and (c) all begin with the string "--lt-"
5369 # (application programs are unlikely to have options that match
5370 # this pattern).
5371 #
5372 # There are only two supported options: --lt-debug and
5373 # --lt-dump-script. There is, deliberately, no --lt-help.
5374 #
5375 # The first argument to this parsing function should be the
5376 # script's $0 value, followed by "$@".
5377 lt_option_debug=
5378 func_parse_lt_options ()
5379 {
5380 lt_script_arg0=\$0
5381 shift
5382 for lt_opt
5383 do
5384 case \"\$lt_opt\" in
5385 --lt-debug) lt_option_debug=1 ;;
5386 --lt-dump-script)
5387 lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
5388 test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
5389 lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
5390 cat \"\$lt_dump_D/\$lt_dump_F\"
5391 exit 0
5392 ;;
5393 --lt-*)
5394 \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
5395 exit 1
5396 ;;
5397 esac
5398 done
5399
5400 # Print the debug banner immediately:
5401 if test -n \"\$lt_option_debug\"; then
5402 echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2
5403 fi
5404 }
5405
5406 # Used when --lt-debug. Prints its arguments to stdout
5407 # (redirection is the responsibility of the caller)
5408 func_lt_dump_args ()
5409 {
5410 lt_dump_args_N=1;
5411 for lt_arg
5412 do
5413 \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\"
5414 lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
5415 done
5416 }
5417
5418 # Core function for launching the target application
5419 func_exec_program_core ()
5420 {
5421 "
5422 case $host in
5423 # Backslashes separate directories on plain windows
5424 *-*-mingw | *-*-os2* | *-cegcc*)
5425 $ECHO "\
5426 if test -n \"\$lt_option_debug\"; then
5427 \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
5428 func_lt_dump_args \${1+\"\$@\"} 1>&2
5429 fi
5430 exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
5431 "
5432 ;;
5433
5434 *)
5435 $ECHO "\
5436 if test -n \"\$lt_option_debug\"; then
5437 \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2
5438 func_lt_dump_args \${1+\"\$@\"} 1>&2
5439 fi
5440 exec \"\$progdir/\$program\" \${1+\"\$@\"}
5441 "
5442 ;;
5443 esac
5444 $ECHO "\
5445 \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
5446 exit 1
5447 }
5448
5449 # A function to encapsulate launching the target application
5450 # Strips options in the --lt-* namespace from \$@ and
5451 # launches target application with the remaining arguments.
5452 func_exec_program ()
5453 {
5454 case \" \$* \" in
5455 *\\ --lt-*)
5456 for lt_wr_arg
5457 do
5458 case \$lt_wr_arg in
5459 --lt-*) ;;
5460 *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
5461 esac
5462 shift
5463 done ;;
5464 esac
5465 func_exec_program_core \${1+\"\$@\"}
5466 }
5467
5468 # Parse options
5469 func_parse_lt_options \"\$0\" \${1+\"\$@\"}
5470
5471 # Find the directory that this script lives in.
5472 thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
5473 test \"x\$thisdir\" = \"x\$file\" && thisdir=.
5474
5475 # Follow symbolic links until we get to the real thisdir.
5476 file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
5477 while test -n \"\$file\"; do
5478 destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
5479
5480 # If there was a directory component, then change thisdir.
5481 if test \"x\$destdir\" != \"x\$file\"; then
5482 case \"\$destdir\" in
5483 [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
5484 *) thisdir=\"\$thisdir/\$destdir\" ;;
5485 esac
5486 fi
5487
5488 file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
5489 file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
5490 done
5491
5492 # Usually 'no', except on cygwin/mingw when embedded into
5493 # the cwrapper.
5494 WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
5495 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
5496 # special case for '.'
5497 if test \"\$thisdir\" = \".\"; then
5498 thisdir=\`pwd\`
5499 fi
5500 # remove .libs from thisdir
5501 case \"\$thisdir\" in
5502 *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
5503 $objdir ) thisdir=. ;;
5504 esac
5505 fi
5506
5507 # Try to get the absolute directory name.
5508 absdir=\`cd \"\$thisdir\" && pwd\`
5509 test -n \"\$absdir\" && thisdir=\"\$absdir\"
5510 "
5511
5512 if test yes = "$fast_install"; then
5513 $ECHO "\
5514 program=lt-'$outputname'$exeext
5515 progdir=\"\$thisdir/$objdir\"
5516
5517 if test ! -f \"\$progdir/\$program\" ||
5518 { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\
5519 test \"X\$file\" != \"X\$progdir/\$program\"; }; then
5520
5521 file=\"\$\$-\$program\"
5522
5523 if test ! -d \"\$progdir\"; then
5524 $MKDIR \"\$progdir\"
5525 else
5526 $RM \"\$progdir/\$file\"
5527 fi"
5528
5529 $ECHO "\
5530
5531 # relink executable if necessary
5532 if test -n \"\$relink_command\"; then
5533 if relink_command_output=\`eval \$relink_command 2>&1\`; then :
5534 else
5535 \$ECHO \"\$relink_command_output\" >&2
5536 $RM \"\$progdir/\$file\"
5537 exit 1
5538 fi
5539 fi
5540
5541 $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
5542 { $RM \"\$progdir/\$program\";
5543 $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
5544 $RM \"\$progdir/\$file\"
5545 fi"
5546 else
5547 $ECHO "\
5548 program='$outputname'
5549 progdir=\"\$thisdir/$objdir\"
5550 "
5551 fi
5552
5553 $ECHO "\
5554
5555 if test -f \"\$progdir/\$program\"; then"
5556
5557 # fixup the dll searchpath if we need to.
5558 #
5559 # Fix the DLL searchpath if we need to. Do this before prepending
5560 # to shlibpath, because on Windows, both are PATH and uninstalled
5561 # libraries must come first.
5562 if test -n "$dllsearchpath"; then
5563 $ECHO "\
5564 # Add the dll search path components to the executable PATH
5565 PATH=$dllsearchpath:\$PATH
5566 "
5567 fi
5568
5569 # Export our shlibpath_var if we have one.
5570 if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
5571 $ECHO "\
5572 # Add our own library path to $shlibpath_var
5573 $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
5574
5575 # Some systems cannot cope with colon-terminated $shlibpath_var
5576 # The second colon is a workaround for a bug in BeOS R4 sed
5577 $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
5578
5579 export $shlibpath_var
5580 "
5581 fi
5582
5583 $ECHO "\
5584 if test \"\$libtool_execute_magic\" != \"$magic\"; then
5585 # Run the actual program with our arguments.
5586 func_exec_program \${1+\"\$@\"}
5587 fi
5588 else
5589 # The program doesn't exist.
5590 \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2
5591 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
5592 \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
5593 exit 1
5594 fi
5595 fi\
5596 "
5597 }
5598
5599
5600 # func_emit_cwrapperexe_src
5601 # emit the source code for a wrapper executable on stdout
5602 # Must ONLY be called from within func_mode_link because
5603 # it depends on a number of variable set therein.
5604 func_emit_cwrapperexe_src ()
5605 {
5606 cat <<EOF
5607
5608 /* $cwrappersource - temporary wrapper executable for $objdir/$outputname
5609 Generated by $PROGRAM (GNU $PACKAGE) $VERSION
5610
5611 The $output program cannot be directly executed until all the libtool
5612 libraries that it depends on are installed.
5613
5614 This wrapper executable should never be moved out of the build directory.
5615 If it is, it will not operate correctly.
5616 */
5617 EOF
5618 cat <<"EOF"
5619 #ifdef _MSC_VER
5620 # define _CRT_SECURE_NO_DEPRECATE 1
5621 #endif
5622 #include <stdio.h>
5623 #include <stdlib.h>
5624 #ifdef _MSC_VER
5625 # include <direct.h>
5626 # include <process.h>
5627 # include <io.h>
5628 #else
5629 # include <unistd.h>
5630 # include <stdint.h>
5631 # ifdef __CYGWIN__
5632 # include <io.h>
5633 # endif
5634 #endif
5635 #include <malloc.h>
5636 #include <stdarg.h>
5637 #include <assert.h>
5638 #include <string.h>
5639 #include <ctype.h>
5640 #include <errno.h>
5641 #include <fcntl.h>
5642 #include <sys/stat.h>
5643
5644 #define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
5645
5646 /* declarations of non-ANSI functions */
5647 #if defined __MINGW32__
5648 # ifdef __STRICT_ANSI__
5649 int _putenv (const char *);
5650 # endif
5651 #elif defined __CYGWIN__
5652 # ifdef __STRICT_ANSI__
5653 char *realpath (const char *, char *);
5654 int putenv (char *);
5655 int setenv (const char *, const char *, int);
5656 # endif
5657 /* #elif defined other_platform || defined ... */
5658 #endif
5659
5660 /* portability defines, excluding path handling macros */
5661 #if defined _MSC_VER
5662 # define setmode _setmode
5663 # define stat _stat
5664 # define chmod _chmod
5665 # define getcwd _getcwd
5666 # define putenv _putenv
5667 # define S_IXUSR _S_IEXEC
5668 #elif defined __MINGW32__
5669 # define setmode _setmode
5670 # define stat _stat
5671 # define chmod _chmod
5672 # define getcwd _getcwd
5673 # define putenv _putenv
5674 #elif defined __CYGWIN__
5675 # define HAVE_SETENV
5676 # define FOPEN_WB "wb"
5677 /* #elif defined other platforms ... */
5678 #endif
5679
5680 #if defined PATH_MAX
5681 # define LT_PATHMAX PATH_MAX
5682 #elif defined MAXPATHLEN
5683 # define LT_PATHMAX MAXPATHLEN
5684 #else
5685 # define LT_PATHMAX 1024
5686 #endif
5687
5688 #ifndef S_IXOTH
5689 # define S_IXOTH 0
5690 #endif
5691 #ifndef S_IXGRP
5692 # define S_IXGRP 0
5693 #endif
5694
5695 /* path handling portability macros */
5696 #ifndef DIR_SEPARATOR
5697 # define DIR_SEPARATOR '/'
5698 # define PATH_SEPARATOR ':'
5699 #endif
5700
5701 #if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \
5702 defined __OS2__
5703 # define HAVE_DOS_BASED_FILE_SYSTEM
5704 # define FOPEN_WB "wb"
5705 # ifndef DIR_SEPARATOR_2
5706 # define DIR_SEPARATOR_2 '\\'
5707 # endif
5708 # ifndef PATH_SEPARATOR_2
5709 # define PATH_SEPARATOR_2 ';'
5710 # endif
5711 #endif
5712
5713 #ifndef DIR_SEPARATOR_2
5714 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
5715 #else /* DIR_SEPARATOR_2 */
5716 # define IS_DIR_SEPARATOR(ch) \
5717 (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
5718 #endif /* DIR_SEPARATOR_2 */
5719
5720 #ifndef PATH_SEPARATOR_2
5721 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
5722 #else /* PATH_SEPARATOR_2 */
5723 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
5724 #endif /* PATH_SEPARATOR_2 */
5725
5726 #ifndef FOPEN_WB
5727 # define FOPEN_WB "w"
5728 #endif
5729 #ifndef _O_BINARY
5730 # define _O_BINARY 0
5731 #endif
5732
5733 #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
5734 #define XFREE(stale) do { \
5735 if (stale) { free (stale); stale = 0; } \
5736 } while (0)
5737
5738 #if defined LT_DEBUGWRAPPER
5739 static int lt_debug = 1;
5740 #else
5741 static int lt_debug = 0;
5742 #endif
5743
5744 const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
5745
5746 void *xmalloc (size_t num);
5747 char *xstrdup (const char *string);
5748 const char *base_name (const char *name);
5749 char *find_executable (const char *wrapper);
5750 char *chase_symlinks (const char *pathspec);
5751 int make_executable (const char *path);
5752 int check_executable (const char *path);
5753 char *strendzap (char *str, const char *pat);
5754 void lt_debugprintf (const char *file, int line, const char *fmt, ...);
5755 void lt_fatal (const char *file, int line, const char *message, ...);
5756 static const char *nonnull (const char *s);
5757 static const char *nonempty (const char *s);
5758 void lt_setenv (const char *name, const char *value);
5759 char *lt_extend_str (const char *orig_value, const char *add, int to_end);
5760 void lt_update_exe_path (const char *name, const char *value);
5761 void lt_update_lib_path (const char *name, const char *value);
5762 char **prepare_spawn (char **argv);
5763 void lt_dump_script (FILE *f);
5764 EOF
5765
5766 cat <<EOF
5767 #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
5768 # define externally_visible volatile
5769 #else
5770 # define externally_visible __attribute__((externally_visible)) volatile
5771 #endif
5772 externally_visible const char * MAGIC_EXE = "$magic_exe";
5773 const char * LIB_PATH_VARNAME = "$shlibpath_var";
5774 EOF
5775
5776 if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
5777 func_to_host_path "$temp_rpath"
5778 cat <<EOF
5779 const char * LIB_PATH_VALUE = "$func_to_host_path_result";
5780 EOF
5781 else
5782 cat <<"EOF"
5783 const char * LIB_PATH_VALUE = "";
5784 EOF
5785 fi
5786
5787 if test -n "$dllsearchpath"; then
5788 func_to_host_path "$dllsearchpath:"
5789 cat <<EOF
5790 const char * EXE_PATH_VARNAME = "PATH";
5791 const char * EXE_PATH_VALUE = "$func_to_host_path_result";
5792 EOF
5793 else
5794 cat <<"EOF"
5795 const char * EXE_PATH_VARNAME = "";
5796 const char * EXE_PATH_VALUE = "";
5797 EOF
5798 fi
5799
5800 if test yes = "$fast_install"; then
5801 cat <<EOF
5802 const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
5803 EOF
5804 else
5805 cat <<EOF
5806 const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
5807 EOF
5808 fi
5809
5810
5811 cat <<"EOF"
5812
5813 #define LTWRAPPER_OPTION_PREFIX "--lt-"
5814
5815 static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
5816 static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
5817 static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug";
5818
5819 int
5820 main (int argc, char *argv[])
5821 {
5822 char **newargz;
5823 int newargc;
5824 char *tmp_pathspec;
5825 char *actual_cwrapper_path;
5826 char *actual_cwrapper_name;
5827 char *target_name;
5828 char *lt_argv_zero;
5829 int rval = 127;
5830
5831 int i;
5832
5833 program_name = (char *) xstrdup (base_name (argv[0]));
5834 newargz = XMALLOC (char *, (size_t) argc + 1);
5835
5836 /* very simple arg parsing; don't want to rely on getopt
5837 * also, copy all non cwrapper options to newargz, except
5838 * argz[0], which is handled differently
5839 */
5840 newargc=0;
5841 for (i = 1; i < argc; i++)
5842 {
5843 if (STREQ (argv[i], dumpscript_opt))
5844 {
5845 EOF
5846 case $host in
5847 *mingw* | *cygwin* )
5848 # make stdout use "unix" line endings
5849 echo " setmode(1,_O_BINARY);"
5850 ;;
5851 esac
5852
5853 cat <<"EOF"
5854 lt_dump_script (stdout);
5855 return 0;
5856 }
5857 if (STREQ (argv[i], debug_opt))
5858 {
5859 lt_debug = 1;
5860 continue;
5861 }
5862 if (STREQ (argv[i], ltwrapper_option_prefix))
5863 {
5864 /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
5865 namespace, but it is not one of the ones we know about and
5866 have already dealt with, above (inluding dump-script), then
5867 report an error. Otherwise, targets might begin to believe
5868 they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
5869 namespace. The first time any user complains about this, we'll
5870 need to make LTWRAPPER_OPTION_PREFIX a configure-time option
5871 or a configure.ac-settable value.
5872 */
5873 lt_fatal (__FILE__, __LINE__,
5874 "unrecognized %s option: '%s'",
5875 ltwrapper_option_prefix, argv[i]);
5876 }
5877 /* otherwise ... */
5878 newargz[++newargc] = xstrdup (argv[i]);
5879 }
5880 newargz[++newargc] = NULL;
5881
5882 EOF
5883 cat <<EOF
5884 /* The GNU banner must be the first non-error debug message */
5885 lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n");
5886 EOF
5887 cat <<"EOF"
5888 lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
5889 lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
5890
5891 tmp_pathspec = find_executable (argv[0]);
5892 if (tmp_pathspec == NULL)
5893 lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
5894 lt_debugprintf (__FILE__, __LINE__,
5895 "(main) found exe (before symlink chase) at: %s\n",
5896 tmp_pathspec);
5897
5898 actual_cwrapper_path = chase_symlinks (tmp_pathspec);
5899 lt_debugprintf (__FILE__, __LINE__,
5900 "(main) found exe (after symlink chase) at: %s\n",
5901 actual_cwrapper_path);
5902 XFREE (tmp_pathspec);
5903
5904 actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
5905 strendzap (actual_cwrapper_path, actual_cwrapper_name);
5906
5907 /* wrapper name transforms */
5908 strendzap (actual_cwrapper_name, ".exe");
5909 tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
5910 XFREE (actual_cwrapper_name);
5911 actual_cwrapper_name = tmp_pathspec;
5912 tmp_pathspec = 0;
5913
5914 /* target_name transforms -- use actual target program name; might have lt- prefix */
5915 target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
5916 strendzap (target_name, ".exe");
5917 tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
5918 XFREE (target_name);
5919 target_name = tmp_pathspec;
5920 tmp_pathspec = 0;
5921
5922 lt_debugprintf (__FILE__, __LINE__,
5923 "(main) libtool target name: %s\n",
5924 target_name);
5925 EOF
5926
5927 cat <<EOF
5928 newargz[0] =
5929 XMALLOC (char, (strlen (actual_cwrapper_path) +
5930 strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
5931 strcpy (newargz[0], actual_cwrapper_path);
5932 strcat (newargz[0], "$objdir");
5933 strcat (newargz[0], "/");
5934 EOF
5935
5936 cat <<"EOF"
5937 /* stop here, and copy so we don't have to do this twice */
5938 tmp_pathspec = xstrdup (newargz[0]);
5939
5940 /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
5941 strcat (newargz[0], actual_cwrapper_name);
5942
5943 /* DO want the lt- prefix here if it exists, so use target_name */
5944 lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
5945 XFREE (tmp_pathspec);
5946 tmp_pathspec = NULL;
5947 EOF
5948
5949 case $host_os in
5950 mingw*)
5951 cat <<"EOF"
5952 {
5953 char* p;
5954 while ((p = strchr (newargz[0], '\\')) != NULL)
5955 {
5956 *p = '/';
5957 }
5958 while ((p = strchr (lt_argv_zero, '\\')) != NULL)
5959 {
5960 *p = '/';
5961 }
5962 }
5963 EOF
5964 ;;
5965 esac
5966
5967 cat <<"EOF"
5968 XFREE (target_name);
5969 XFREE (actual_cwrapper_path);
5970 XFREE (actual_cwrapper_name);
5971
5972 lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
5973 lt_setenv ("DUALCASE", "1"); /* for MSK sh */
5974 /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must
5975 be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
5976 because on Windows, both *_VARNAMEs are PATH but uninstalled
5977 libraries must come first. */
5978 lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
5979 lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
5980
5981 lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
5982 nonnull (lt_argv_zero));
5983 for (i = 0; i < newargc; i++)
5984 {
5985 lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
5986 i, nonnull (newargz[i]));
5987 }
5988
5989 EOF
5990
5991 case $host_os in
5992 mingw*)
5993 cat <<"EOF"
5994 /* execv doesn't actually work on mingw as expected on unix */
5995 newargz = prepare_spawn (newargz);
5996 rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
5997 if (rval == -1)
5998 {
5999 /* failed to start process */
6000 lt_debugprintf (__FILE__, __LINE__,
6001 "(main) failed to launch target \"%s\": %s\n",
6002 lt_argv_zero, nonnull (strerror (errno)));
6003 return 127;
6004 }
6005 return rval;
6006 EOF
6007 ;;
6008 *)
6009 cat <<"EOF"
6010 execv (lt_argv_zero, newargz);
6011 return rval; /* =127, but avoids unused variable warning */
6012 EOF
6013 ;;
6014 esac
6015
6016 cat <<"EOF"
6017 }
6018
6019 void *
6020 xmalloc (size_t num)
6021 {
6022 void *p = (void *) malloc (num);
6023 if (!p)
6024 lt_fatal (__FILE__, __LINE__, "memory exhausted");
6025
6026 return p;
6027 }
6028
6029 char *
6030 xstrdup (const char *string)
6031 {
6032 return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
6033 string) : NULL;
6034 }
6035
6036 const char *
6037 base_name (const char *name)
6038 {
6039 const char *base;
6040
6041 #if defined HAVE_DOS_BASED_FILE_SYSTEM
6042 /* Skip over the disk name in MSDOS pathnames. */
6043 if (isalpha ((unsigned char) name[0]) && name[1] == ':')
6044 name += 2;
6045 #endif
6046
6047 for (base = name; *name; name++)
6048 if (IS_DIR_SEPARATOR (*name))
6049 base = name + 1;
6050 return base;
6051 }
6052
6053 int
6054 check_executable (const char *path)
6055 {
6056 struct stat st;
6057
6058 lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
6059 nonempty (path));
6060 if ((!path) || (!*path))
6061 return 0;
6062
6063 if ((stat (path, &st) >= 0)
6064 && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
6065 return 1;
6066 else
6067 return 0;
6068 }
6069
6070 int
6071 make_executable (const char *path)
6072 {
6073 int rval = 0;
6074 struct stat st;
6075
6076 lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
6077 nonempty (path));
6078 if ((!path) || (!*path))
6079 return 0;
6080
6081 if (stat (path, &st) >= 0)
6082 {
6083 rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
6084 }
6085 return rval;
6086 }
6087
6088 /* Searches for the full path of the wrapper. Returns
6089 newly allocated full path name if found, NULL otherwise
6090 Does not chase symlinks, even on platforms that support them.
6091 */
6092 char *
6093 find_executable (const char *wrapper)
6094 {
6095 int has_slash = 0;
6096 const char *p;
6097 const char *p_next;
6098 /* static buffer for getcwd */
6099 char tmp[LT_PATHMAX + 1];
6100 size_t tmp_len;
6101 char *concat_name;
6102
6103 lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
6104 nonempty (wrapper));
6105
6106 if ((wrapper == NULL) || (*wrapper == '\0'))
6107 return NULL;
6108
6109 /* Absolute path? */
6110 #if defined HAVE_DOS_BASED_FILE_SYSTEM
6111 if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
6112 {
6113 concat_name = xstrdup (wrapper);
6114 if (check_executable (concat_name))
6115 return concat_name;
6116 XFREE (concat_name);
6117 }
6118 else
6119 {
6120 #endif
6121 if (IS_DIR_SEPARATOR (wrapper[0]))
6122 {
6123 concat_name = xstrdup (wrapper);
6124 if (check_executable (concat_name))
6125 return concat_name;
6126 XFREE (concat_name);
6127 }
6128 #if defined HAVE_DOS_BASED_FILE_SYSTEM
6129 }
6130 #endif
6131
6132 for (p = wrapper; *p; p++)
6133 if (*p == '/')
6134 {
6135 has_slash = 1;
6136 break;
6137 }
6138 if (!has_slash)
6139 {
6140 /* no slashes; search PATH */
6141 const char *path = getenv ("PATH");
6142 if (path != NULL)
6143 {
6144 for (p = path; *p; p = p_next)
6145 {
6146 const char *q;
6147 size_t p_len;
6148 for (q = p; *q; q++)
6149 if (IS_PATH_SEPARATOR (*q))
6150 break;
6151 p_len = (size_t) (q - p);
6152 p_next = (*q == '\0' ? q : q + 1);
6153 if (p_len == 0)
6154 {
6155 /* empty path: current directory */
6156 if (getcwd (tmp, LT_PATHMAX) == NULL)
6157 lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
6158 nonnull (strerror (errno)));
6159 tmp_len = strlen (tmp);
6160 concat_name =
6161 XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
6162 memcpy (concat_name, tmp, tmp_len);
6163 concat_name[tmp_len] = '/';
6164 strcpy (concat_name + tmp_len + 1, wrapper);
6165 }
6166 else
6167 {
6168 concat_name =
6169 XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
6170 memcpy (concat_name, p, p_len);
6171 concat_name[p_len] = '/';
6172 strcpy (concat_name + p_len + 1, wrapper);
6173 }
6174 if (check_executable (concat_name))
6175 return concat_name;
6176 XFREE (concat_name);
6177 }
6178 }
6179 /* not found in PATH; assume curdir */
6180 }
6181 /* Relative path | not found in path: prepend cwd */
6182 if (getcwd (tmp, LT_PATHMAX) == NULL)
6183 lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
6184 nonnull (strerror (errno)));
6185 tmp_len = strlen (tmp);
6186 concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
6187 memcpy (concat_name, tmp, tmp_len);
6188 concat_name[tmp_len] = '/';
6189 strcpy (concat_name + tmp_len + 1, wrapper);
6190
6191 if (check_executable (concat_name))
6192 return concat_name;
6193 XFREE (concat_name);
6194 return NULL;
6195 }
6196
6197 char *
6198 chase_symlinks (const char *pathspec)
6199 {
6200 #ifndef S_ISLNK
6201 return xstrdup (pathspec);
6202 #else
6203 char buf[LT_PATHMAX];
6204 struct stat s;
6205 char *tmp_pathspec = xstrdup (pathspec);
6206 char *p;
6207 int has_symlinks = 0;
6208 while (strlen (tmp_pathspec) && !has_symlinks)
6209 {
6210 lt_debugprintf (__FILE__, __LINE__,
6211 "checking path component for symlinks: %s\n",
6212 tmp_pathspec);
6213 if (lstat (tmp_pathspec, &s) == 0)
6214 {
6215 if (S_ISLNK (s.st_mode) != 0)
6216 {
6217 has_symlinks = 1;
6218 break;
6219 }
6220
6221 /* search backwards for last DIR_SEPARATOR */
6222 p = tmp_pathspec + strlen (tmp_pathspec) - 1;
6223 while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
6224 p--;
6225 if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
6226 {
6227 /* no more DIR_SEPARATORS left */
6228 break;
6229 }
6230 *p = '\0';
6231 }
6232 else
6233 {
6234 lt_fatal (__FILE__, __LINE__,
6235 "error accessing file \"%s\": %s",
6236 tmp_pathspec, nonnull (strerror (errno)));
6237 }
6238 }
6239 XFREE (tmp_pathspec);
6240
6241 if (!has_symlinks)
6242 {
6243 return xstrdup (pathspec);
6244 }
6245
6246 tmp_pathspec = realpath (pathspec, buf);
6247 if (tmp_pathspec == 0)
6248 {
6249 lt_fatal (__FILE__, __LINE__,
6250 "could not follow symlinks for %s", pathspec);
6251 }
6252 return xstrdup (tmp_pathspec);
6253 #endif
6254 }
6255
6256 char *
6257 strendzap (char *str, const char *pat)
6258 {
6259 size_t len, patlen;
6260
6261 assert (str != NULL);
6262 assert (pat != NULL);
6263
6264 len = strlen (str);
6265 patlen = strlen (pat);
6266
6267 if (patlen <= len)
6268 {
6269 str += len - patlen;
6270 if (STREQ (str, pat))
6271 *str = '\0';
6272 }
6273 return str;
6274 }
6275
6276 void
6277 lt_debugprintf (const char *file, int line, const char *fmt, ...)
6278 {
6279 va_list args;
6280 if (lt_debug)
6281 {
6282 (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
6283 va_start (args, fmt);
6284 (void) vfprintf (stderr, fmt, args);
6285 va_end (args);
6286 }
6287 }
6288
6289 static void
6290 lt_error_core (int exit_status, const char *file,
6291 int line, const char *mode,
6292 const char *message, va_list ap)
6293 {
6294 fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
6295 vfprintf (stderr, message, ap);
6296 fprintf (stderr, ".\n");
6297
6298 if (exit_status >= 0)
6299 exit (exit_status);
6300 }
6301
6302 void
6303 lt_fatal (const char *file, int line, const char *message, ...)
6304 {
6305 va_list ap;
6306 va_start (ap, message);
6307 lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
6308 va_end (ap);
6309 }
6310
6311 static const char *
6312 nonnull (const char *s)
6313 {
6314 return s ? s : "(null)";
6315 }
6316
6317 static const char *
6318 nonempty (const char *s)
6319 {
6320 return (s && !*s) ? "(empty)" : nonnull (s);
6321 }
6322
6323 void
6324 lt_setenv (const char *name, const char *value)
6325 {
6326 lt_debugprintf (__FILE__, __LINE__,
6327 "(lt_setenv) setting '%s' to '%s'\n",
6328 nonnull (name), nonnull (value));
6329 {
6330 #ifdef HAVE_SETENV
6331 /* always make a copy, for consistency with !HAVE_SETENV */
6332 char *str = xstrdup (value);
6333 setenv (name, str, 1);
6334 #else
6335 size_t len = strlen (name) + 1 + strlen (value) + 1;
6336 char *str = XMALLOC (char, len);
6337 sprintf (str, "%s=%s", name, value);
6338 if (putenv (str) != EXIT_SUCCESS)
6339 {
6340 XFREE (str);
6341 }
6342 #endif
6343 }
6344 }
6345
6346 char *
6347 lt_extend_str (const char *orig_value, const char *add, int to_end)
6348 {
6349 char *new_value;
6350 if (orig_value && *orig_value)
6351 {
6352 size_t orig_value_len = strlen (orig_value);
6353 size_t add_len = strlen (add);
6354 new_value = XMALLOC (char, add_len + orig_value_len + 1);
6355 if (to_end)
6356 {
6357 strcpy (new_value, orig_value);
6358 strcpy (new_value + orig_value_len, add);
6359 }
6360 else
6361 {
6362 strcpy (new_value, add);
6363 strcpy (new_value + add_len, orig_value);
6364 }
6365 }
6366 else
6367 {
6368 new_value = xstrdup (add);
6369 }
6370 return new_value;
6371 }
6372
6373 void
6374 lt_update_exe_path (const char *name, const char *value)
6375 {
6376 lt_debugprintf (__FILE__, __LINE__,
6377 "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
6378 nonnull (name), nonnull (value));
6379
6380 if (name && *name && value && *value)
6381 {
6382 char *new_value = lt_extend_str (getenv (name), value, 0);
6383 /* some systems can't cope with a ':'-terminated path #' */
6384 size_t len = strlen (new_value);
6385 while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
6386 {
6387 new_value[--len] = '\0';
6388 }
6389 lt_setenv (name, new_value);
6390 XFREE (new_value);
6391 }
6392 }
6393
6394 void
6395 lt_update_lib_path (const char *name, const char *value)
6396 {
6397 lt_debugprintf (__FILE__, __LINE__,
6398 "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
6399 nonnull (name), nonnull (value));
6400
6401 if (name && *name && value && *value)
6402 {
6403 char *new_value = lt_extend_str (getenv (name), value, 0);
6404 lt_setenv (name, new_value);
6405 XFREE (new_value);
6406 }
6407 }
6408
6409 EOF
6410 case $host_os in
6411 mingw*)
6412 cat <<"EOF"
6413
6414 /* Prepares an argument vector before calling spawn().
6415 Note that spawn() does not by itself call the command interpreter
6416 (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
6417 ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
6418 GetVersionEx(&v);
6419 v.dwPlatformId == VER_PLATFORM_WIN32_NT;
6420 }) ? "cmd.exe" : "command.com").
6421 Instead it simply concatenates the arguments, separated by ' ', and calls
6422 CreateProcess(). We must quote the arguments since Win32 CreateProcess()
6423 interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
6424 special way:
6425 - Space and tab are interpreted as delimiters. They are not treated as
6426 delimiters if they are surrounded by double quotes: "...".
6427 - Unescaped double quotes are removed from the input. Their only effect is
6428 that within double quotes, space and tab are treated like normal
6429 characters.
6430 - Backslashes not followed by double quotes are not special.
6431 - But 2*n+1 backslashes followed by a double quote become
6432 n backslashes followed by a double quote (n >= 0):
6433 \" -> "
6434 \\\" -> \"
6435 \\\\\" -> \\"
6436 */
6437 #define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
6438 #define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
6439 char **
6440 prepare_spawn (char **argv)
6441 {
6442 size_t argc;
6443 char **new_argv;
6444 size_t i;
6445
6446 /* Count number of arguments. */
6447 for (argc = 0; argv[argc] != NULL; argc++)
6448 ;
6449
6450 /* Allocate new argument vector. */
6451 new_argv = XMALLOC (char *, argc + 1);
6452
6453 /* Put quoted arguments into the new argument vector. */
6454 for (i = 0; i < argc; i++)
6455 {
6456 const char *string = argv[i];
6457
6458 if (string[0] == '\0')
6459 new_argv[i] = xstrdup ("\"\"");
6460 else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
6461 {
6462 int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
6463 size_t length;
6464 unsigned int backslashes;
6465 const char *s;
6466 char *quoted_string;
6467 char *p;
6468
6469 length = 0;
6470 backslashes = 0;
6471 if (quote_around)
6472 length++;
6473 for (s = string; *s != '\0'; s++)
6474 {
6475 char c = *s;
6476 if (c == '"')
6477 length += backslashes + 1;
6478 length++;
6479 if (c == '\\')
6480 backslashes++;
6481 else
6482 backslashes = 0;
6483 }
6484 if (quote_around)
6485 length += backslashes + 1;
6486
6487 quoted_string = XMALLOC (char, length + 1);
6488
6489 p = quoted_string;
6490 backslashes = 0;
6491 if (quote_around)
6492 *p++ = '"';
6493 for (s = string; *s != '\0'; s++)
6494 {
6495 char c = *s;
6496 if (c == '"')
6497 {
6498 unsigned int j;
6499 for (j = backslashes + 1; j > 0; j--)
6500 *p++ = '\\';
6501 }
6502 *p++ = c;
6503 if (c == '\\')
6504 backslashes++;
6505 else
6506 backslashes = 0;
6507 }
6508 if (quote_around)
6509 {
6510 unsigned int j;
6511 for (j = backslashes; j > 0; j--)
6512 *p++ = '\\';
6513 *p++ = '"';
6514 }
6515 *p = '\0';
6516
6517 new_argv[i] = quoted_string;
6518 }
6519 else
6520 new_argv[i] = (char *) string;
6521 }
6522 new_argv[argc] = NULL;
6523
6524 return new_argv;
6525 }
6526 EOF
6527 ;;
6528 esac
6529
6530 cat <<"EOF"
6531 void lt_dump_script (FILE* f)
6532 {
6533 EOF
6534 func_emit_wrapper yes |
6535 $SED -n -e '
6536 s/^\(.\{79\}\)\(..*\)/\1\
6537 \2/
6538 h
6539 s/\([\\"]\)/\\\1/g
6540 s/$/\\n/
6541 s/\([^\n]*\).*/ fputs ("\1", f);/p
6542 g
6543 D'
6544 cat <<"EOF"
6545 }
6546 EOF
6547 }
6548 # end: func_emit_cwrapperexe_src
6549
6550 # func_win32_import_lib_p ARG
6551 # True if ARG is an import lib, as indicated by $file_magic_cmd
6552 func_win32_import_lib_p ()
6553 {
6554 $debug_cmd
6555
6556 case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
6557 *import*) : ;;
6558 *) false ;;
6559 esac
6560 }
6561
6562 # func_suncc_cstd_abi
6563 # !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
6564 # Several compiler flags select an ABI that is incompatible with the
6565 # Cstd library. Avoid specifying it if any are in CXXFLAGS.
6566 func_suncc_cstd_abi ()
6567 {
6568 $debug_cmd
6569
6570 case " $compile_command " in
6571 *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
6572 suncc_use_cstd_abi=no
6573 ;;
6574 *)
6575 suncc_use_cstd_abi=yes
6576 ;;
6577 esac
6578 }
6579
6580 # func_mode_link arg...
6581 func_mode_link ()
6582 {
6583 $debug_cmd
6584
6585 case $host in
6586 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
6587 # It is impossible to link a dll without this setting, and
6588 # we shouldn't force the makefile maintainer to figure out
6589 # what system we are compiling for in order to pass an extra
6590 # flag for every libtool invocation.
6591 # allow_undefined=no
6592
6593 # FIXME: Unfortunately, there are problems with the above when trying
6594 # to make a dll that has undefined symbols, in which case not
6595 # even a static library is built. For now, we need to specify
6596 # -no-undefined on the libtool link line when we can be certain
6597 # that all symbols are satisfied, otherwise we get a static library.
6598 allow_undefined=yes
6599 ;;
6600 *)
6601 allow_undefined=yes
6602 ;;
6603 esac
6604 libtool_args=$nonopt
6605 base_compile="$nonopt $@"
6606 compile_command=$nonopt
6607 finalize_command=$nonopt
6608
6609 compile_rpath=
6610 finalize_rpath=
6611 compile_shlibpath=
6612 finalize_shlibpath=
6613 convenience=
6614 old_convenience=
6615 deplibs=
6616 old_deplibs=
6617 compiler_flags=
6618 linker_flags=
6619 dllsearchpath=
6620 lib_search_path=`pwd`
6621 inst_prefix_dir=
6622 new_inherited_linker_flags=
6623
6624 avoid_version=no
6625 bindir=
6626 dlfiles=
6627 dlprefiles=
6628 dlself=no
6629 export_dynamic=no
6630 export_symbols=
6631 export_symbols_regex=
6632 generated=
6633 libobjs=
6634 ltlibs=
6635 module=no
6636 no_install=no
6637 objs=
6638 os2dllname=
6639 non_pic_objects=
6640 precious_files_regex=
6641 prefer_static_libs=no
6642 preload=false
6643 prev=
6644 prevarg=
6645 release=
6646 rpath=
6647 xrpath=
6648 perm_rpath=
6649 temp_rpath=
6650 thread_safe=no
6651 vinfo=
6652 vinfo_number=no
6653 weak_libs=
6654 single_module=$wl-single_module
6655 func_infer_tag $base_compile
6656
6657 # We need to know -static, to get the right output filenames.
6658 for arg
6659 do
6660 case $arg in
6661 -shared)
6662 test yes != "$build_libtool_libs" \
6663 && func_fatal_configuration "cannot build a shared library"
6664 build_old_libs=no
6665 break
6666 ;;
6667 -all-static | -static | -static-libtool-libs)
6668 case $arg in
6669 -all-static)
6670 if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
6671 func_warning "complete static linking is impossible in this configuration"
6672 fi
6673 if test -n "$link_static_flag"; then
6674 dlopen_self=$dlopen_self_static
6675 fi
6676 prefer_static_libs=yes
6677 ;;
6678 -static)
6679 if test -z "$pic_flag" && test -n "$link_static_flag"; then
6680 dlopen_self=$dlopen_self_static
6681 fi
6682 prefer_static_libs=built
6683 ;;
6684 -static-libtool-libs)
6685 if test -z "$pic_flag" && test -n "$link_static_flag"; then
6686 dlopen_self=$dlopen_self_static
6687 fi
6688 prefer_static_libs=yes
6689 ;;
6690 esac
6691 build_libtool_libs=no
6692 build_old_libs=yes
6693 break
6694 ;;
6695 esac
6696 done
6697
6698 # See if our shared archives depend on static archives.
6699 test -n "$old_archive_from_new_cmds" && build_old_libs=yes
6700
6701 # Go through the arguments, transforming them on the way.
6702 while test "$#" -gt 0; do
6703 arg=$1
6704 shift
6705 func_quote_for_eval "$arg"
6706 qarg=$func_quote_for_eval_unquoted_result
6707 func_append libtool_args " $func_quote_for_eval_result"
6708
6709 # If the previous option needs an argument, assign it.
6710 if test -n "$prev"; then
6711 case $prev in
6712 output)
6713 func_append compile_command " @OUTPUT@"
6714 func_append finalize_command " @OUTPUT@"
6715 ;;
6716 esac
6717
6718 case $prev in
6719 bindir)
6720 bindir=$arg
6721 prev=
6722 continue
6723 ;;
6724 dlfiles|dlprefiles)
6725 $preload || {
6726 # Add the symbol object into the linking commands.
6727 func_append compile_command " @SYMFILE@"
6728 func_append finalize_command " @SYMFILE@"
6729 preload=:
6730 }
6731 case $arg in
6732 *.la | *.lo) ;; # We handle these cases below.
6733 force)
6734 if test no = "$dlself"; then
6735 dlself=needless
6736 export_dynamic=yes
6737 fi
6738 prev=
6739 continue
6740 ;;
6741 self)
6742 if test dlprefiles = "$prev"; then
6743 dlself=yes
6744 elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then
6745 dlself=yes
6746 else
6747 dlself=needless
6748 export_dynamic=yes
6749 fi
6750 prev=
6751 continue
6752 ;;
6753 *)
6754 if test dlfiles = "$prev"; then
6755 func_append dlfiles " $arg"
6756 else
6757 func_append dlprefiles " $arg"
6758 fi
6759 prev=
6760 continue
6761 ;;
6762 esac
6763 ;;
6764 expsyms)
6765 export_symbols=$arg
6766 test -f "$arg" \
6767 || func_fatal_error "symbol file '$arg' does not exist"
6768 prev=
6769 continue
6770 ;;
6771 expsyms_regex)
6772 export_symbols_regex=$arg
6773 prev=
6774 continue
6775 ;;
6776 framework)
6777 case $host in
6778 *-*-darwin*)
6779 case "$deplibs " in
6780 *" $qarg.ltframework "*) ;;
6781 *) func_append deplibs " $qarg.ltframework" # this is fixed later
6782 ;;
6783 esac
6784 ;;
6785 esac
6786 prev=
6787 continue
6788 ;;
6789 inst_prefix)
6790 inst_prefix_dir=$arg
6791 prev=
6792 continue
6793 ;;
6794 mllvm)
6795 # Clang does not use LLVM to link, so we can simply discard any
6796 # '-mllvm $arg' options when doing the link step.
6797 prev=
6798 continue
6799 ;;
6800 objectlist)
6801 if test -f "$arg"; then
6802 save_arg=$arg
6803 moreargs=
6804 for fil in `cat "$save_arg"`
6805 do
6806 # func_append moreargs " $fil"
6807 arg=$fil
6808 # A libtool-controlled object.
6809
6810 # Check to see that this really is a libtool object.
6811 if func_lalib_unsafe_p "$arg"; then
6812 pic_object=
6813 non_pic_object=
6814
6815 # Read the .lo file
6816 func_source "$arg"
6817
6818 if test -z "$pic_object" ||
6819 test -z "$non_pic_object" ||
6820 test none = "$pic_object" &&
6821 test none = "$non_pic_object"; then
6822 func_fatal_error "cannot find name of object for '$arg'"
6823 fi
6824
6825 # Extract subdirectory from the argument.
6826 func_dirname "$arg" "/" ""
6827 xdir=$func_dirname_result
6828
6829 if test none != "$pic_object"; then
6830 # Prepend the subdirectory the object is found in.
6831 pic_object=$xdir$pic_object
6832
6833 if test dlfiles = "$prev"; then
6834 if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
6835 func_append dlfiles " $pic_object"
6836 prev=
6837 continue
6838 else
6839 # If libtool objects are unsupported, then we need to preload.
6840 prev=dlprefiles
6841 fi
6842 fi
6843
6844 # CHECK ME: I think I busted this. -Ossama
6845 if test dlprefiles = "$prev"; then
6846 # Preload the old-style object.
6847 func_append dlprefiles " $pic_object"
6848 prev=
6849 fi
6850
6851 # A PIC object.
6852 func_append libobjs " $pic_object"
6853 arg=$pic_object
6854 fi
6855
6856 # Non-PIC object.
6857 if test none != "$non_pic_object"; then
6858 # Prepend the subdirectory the object is found in.
6859 non_pic_object=$xdir$non_pic_object
6860
6861 # A standard non-PIC object
6862 func_append non_pic_objects " $non_pic_object"
6863 if test -z "$pic_object" || test none = "$pic_object"; then
6864 arg=$non_pic_object
6865 fi
6866 else
6867 # If the PIC object exists, use it instead.
6868 # $xdir was prepended to $pic_object above.
6869 non_pic_object=$pic_object
6870 func_append non_pic_objects " $non_pic_object"
6871 fi
6872 else
6873 # Only an error if not doing a dry-run.
6874 if $opt_dry_run; then
6875 # Extract subdirectory from the argument.
6876 func_dirname "$arg" "/" ""
6877 xdir=$func_dirname_result
6878
6879 func_lo2o "$arg"
6880 pic_object=$xdir$objdir/$func_lo2o_result
6881 non_pic_object=$xdir$func_lo2o_result
6882 func_append libobjs " $pic_object"
6883 func_append non_pic_objects " $non_pic_object"
6884 else
6885 func_fatal_error "'$arg' is not a valid libtool object"
6886 fi
6887 fi
6888 done
6889 else
6890 func_fatal_error "link input file '$arg' does not exist"
6891 fi
6892 arg=$save_arg
6893 prev=
6894 continue
6895 ;;
6896 os2dllname)
6897 os2dllname=$arg
6898 prev=
6899 continue
6900 ;;
6901 precious_regex)
6902 precious_files_regex=$arg
6903 prev=
6904 continue
6905 ;;
6906 release)
6907 release=-$arg
6908 prev=
6909 continue
6910 ;;
6911 rpath | xrpath)
6912 # We need an absolute path.
6913 case $arg in
6914 [\\/]* | [A-Za-z]:[\\/]*) ;;
6915 *)
6916 func_fatal_error "only absolute run-paths are allowed"
6917 ;;
6918 esac
6919 if test rpath = "$prev"; then
6920 case "$rpath " in
6921 *" $arg "*) ;;
6922 *) func_append rpath " $arg" ;;
6923 esac
6924 else
6925 case "$xrpath " in
6926 *" $arg "*) ;;
6927 *) func_append xrpath " $arg" ;;
6928 esac
6929 fi
6930 prev=
6931 continue
6932 ;;
6933 shrext)
6934 shrext_cmds=$arg
6935 prev=
6936 continue
6937 ;;
6938 weak)
6939 func_append weak_libs " $arg"
6940 prev=
6941 continue
6942 ;;
6943 xcclinker)
6944 func_append linker_flags " $qarg"
6945 func_append compiler_flags " $qarg"
6946 prev=
6947 func_append compile_command " $qarg"
6948 func_append finalize_command " $qarg"
6949 continue
6950 ;;
6951 xcompiler)
6952 func_append compiler_flags " $qarg"
6953 prev=
6954 func_append compile_command " $qarg"
6955 func_append finalize_command " $qarg"
6956 continue
6957 ;;
6958 xlinker)
6959 func_append linker_flags " $qarg"
6960 func_append compiler_flags " $wl$qarg"
6961 prev=
6962 func_append compile_command " $wl$qarg"
6963 func_append finalize_command " $wl$qarg"
6964 continue
6965 ;;
6966 *)
6967 eval "$prev=\"\$arg\""
6968 prev=
6969 continue
6970 ;;
6971 esac
6972 fi # test -n "$prev"
6973
6974 prevarg=$arg
6975
6976 case $arg in
6977 -all-static)
6978 if test -n "$link_static_flag"; then
6979 # See comment for -static flag below, for more details.
6980 func_append compile_command " $link_static_flag"
6981 func_append finalize_command " $link_static_flag"
6982 fi
6983 continue
6984 ;;
6985
6986 -allow-undefined)
6987 # FIXME: remove this flag sometime in the future.
6988 func_fatal_error "'-allow-undefined' must not be used because it is the default"
6989 ;;
6990
6991 -avoid-version)
6992 avoid_version=yes
6993 continue
6994 ;;
6995
6996 -bindir)
6997 prev=bindir
6998 continue
6999 ;;
7000
7001 -dlopen)
7002 prev=dlfiles
7003 continue
7004 ;;
7005
7006 -dlpreopen)
7007 prev=dlprefiles
7008 continue
7009 ;;
7010
7011 -export-dynamic)
7012 export_dynamic=yes
7013 continue
7014 ;;
7015
7016 -export-symbols | -export-symbols-regex)
7017 if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
7018 func_fatal_error "more than one -exported-symbols argument is not allowed"
7019 fi
7020 if test X-export-symbols = "X$arg"; then
7021 prev=expsyms
7022 else
7023 prev=expsyms_regex
7024 fi
7025 continue
7026 ;;
7027
7028 -framework)
7029 prev=framework
7030 continue
7031 ;;
7032
7033 -inst-prefix-dir)
7034 prev=inst_prefix
7035 continue
7036 ;;
7037
7038 # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
7039 # so, if we see these flags be careful not to treat them like -L
7040 -L[A-Z][A-Z]*:*)
7041 case $with_gcc/$host in
7042 no/*-*-irix* | /*-*-irix*)
7043 func_append compile_command " $arg"
7044 func_append finalize_command " $arg"
7045 ;;
7046 esac
7047 continue
7048 ;;
7049
7050 -L*)
7051 func_stripname "-L" '' "$arg"
7052 if test -z "$func_stripname_result"; then
7053 if test "$#" -gt 0; then
7054 func_fatal_error "require no space between '-L' and '$1'"
7055 else
7056 func_fatal_error "need path for '-L' option"
7057 fi
7058 fi
7059 func_resolve_sysroot "$func_stripname_result"
7060 dir=$func_resolve_sysroot_result
7061 # We need an absolute path.
7062 case $dir in
7063 [\\/]* | [A-Za-z]:[\\/]*) ;;
7064 *)
7065 absdir=`cd "$dir" && pwd`
7066 test -z "$absdir" && \
7067 func_fatal_error "cannot determine absolute directory name of '$dir'"
7068 dir=$absdir
7069 ;;
7070 esac
7071 case "$deplibs " in
7072 *" -L$dir "* | *" $arg "*)
7073 # Will only happen for absolute or sysroot arguments
7074 ;;
7075 *)
7076 # Preserve sysroot, but never include relative directories
7077 case $dir in
7078 [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
7079 *) func_append deplibs " -L$dir" ;;
7080 esac
7081 func_append lib_search_path " $dir"
7082 ;;
7083 esac
7084 case $host in
7085 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
7086 testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
7087 case :$dllsearchpath: in
7088 *":$dir:"*) ;;
7089 ::) dllsearchpath=$dir;;
7090 *) func_append dllsearchpath ":$dir";;
7091 esac
7092 case :$dllsearchpath: in
7093 *":$testbindir:"*) ;;
7094 ::) dllsearchpath=$testbindir;;
7095 *) func_append dllsearchpath ":$testbindir";;
7096 esac
7097 ;;
7098 esac
7099 continue
7100 ;;
7101
7102 -l*)
7103 if test X-lc = "X$arg" || test X-lm = "X$arg"; then
7104 case $host in
7105 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
7106 # These systems don't actually have a C or math library (as such)
7107 continue
7108 ;;
7109 *-*-os2*)
7110 # These systems don't actually have a C library (as such)
7111 test X-lc = "X$arg" && continue
7112 ;;
7113 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
7114 # Do not include libc due to us having libc/libc_r.
7115 test X-lc = "X$arg" && continue
7116 ;;
7117 *-*-rhapsody* | *-*-darwin1.[012])
7118 # Rhapsody C and math libraries are in the System framework
7119 func_append deplibs " System.ltframework"
7120 continue
7121 ;;
7122 *-*-sco3.2v5* | *-*-sco5v6*)
7123 # Causes problems with __ctype
7124 test X-lc = "X$arg" && continue
7125 ;;
7126 *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
7127 # Compiler inserts libc in the correct place for threads to work
7128 test X-lc = "X$arg" && continue
7129 ;;
7130 esac
7131 elif test X-lc_r = "X$arg"; then
7132 case $host in
7133 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
7134 # Do not include libc_r directly, use -pthread flag.
7135 continue
7136 ;;
7137 esac
7138 fi
7139 func_append deplibs " $arg"
7140 continue
7141 ;;
7142
7143 -mllvm)
7144 prev=mllvm
7145 continue
7146 ;;
7147
7148 -module)
7149 module=yes
7150 continue
7151 ;;
7152
7153 # Tru64 UNIX uses -model [arg] to determine the layout of C++
7154 # classes, name mangling, and exception handling.
7155 # Darwin uses the -arch flag to determine output architecture.
7156 -model|-arch|-isysroot|--sysroot)
7157 func_append compiler_flags " $arg"
7158 func_append compile_command " $arg"
7159 func_append finalize_command " $arg"
7160 prev=xcompiler
7161 continue
7162 ;;
7163
7164 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
7165 |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
7166 func_append compiler_flags " $arg"
7167 func_append compile_command " $arg"
7168 func_append finalize_command " $arg"
7169 case "$new_inherited_linker_flags " in
7170 *" $arg "*) ;;
7171 * ) func_append new_inherited_linker_flags " $arg" ;;
7172 esac
7173 continue
7174 ;;
7175
7176 -multi_module)
7177 single_module=$wl-multi_module
7178 continue
7179 ;;
7180
7181 -no-fast-install)
7182 fast_install=no
7183 continue
7184 ;;
7185
7186 -no-install)
7187 case $host in
7188 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
7189 # The PATH hackery in wrapper scripts is required on Windows
7190 # and Darwin in order for the loader to find any dlls it needs.
7191 func_warning "'-no-install' is ignored for $host"
7192 func_warning "assuming '-no-fast-install' instead"
7193 fast_install=no
7194 ;;
7195 *) no_install=yes ;;
7196 esac
7197 continue
7198 ;;
7199
7200 -no-undefined)
7201 allow_undefined=no
7202 continue
7203 ;;
7204
7205 -objectlist)
7206 prev=objectlist
7207 continue
7208 ;;
7209
7210 -os2dllname)
7211 prev=os2dllname
7212 continue
7213 ;;
7214
7215 -o) prev=output ;;
7216
7217 -precious-files-regex)
7218 prev=precious_regex
7219 continue
7220 ;;
7221
7222 -release)
7223 prev=release
7224 continue
7225 ;;
7226
7227 -rpath)
7228 prev=rpath
7229 continue
7230 ;;
7231
7232 -R)
7233 prev=xrpath
7234 continue
7235 ;;
7236
7237 -R*)
7238 func_stripname '-R' '' "$arg"
7239 dir=$func_stripname_result
7240 # We need an absolute path.
7241 case $dir in
7242 [\\/]* | [A-Za-z]:[\\/]*) ;;
7243 =*)
7244 func_stripname '=' '' "$dir"
7245 dir=$lt_sysroot$func_stripname_result
7246 ;;
7247 *)
7248 func_fatal_error "only absolute run-paths are allowed"
7249 ;;
7250 esac
7251 case "$xrpath " in
7252 *" $dir "*) ;;
7253 *) func_append xrpath " $dir" ;;
7254 esac
7255 continue
7256 ;;
7257
7258 -shared)
7259 # The effects of -shared are defined in a previous loop.
7260 continue
7261 ;;
7262
7263 -shrext)
7264 prev=shrext
7265 continue
7266 ;;
7267
7268 -static | -static-libtool-libs)
7269 # The effects of -static are defined in a previous loop.
7270 # We used to do the same as -all-static on platforms that
7271 # didn't have a PIC flag, but the assumption that the effects
7272 # would be equivalent was wrong. It would break on at least
7273 # Digital Unix and AIX.
7274 continue
7275 ;;
7276
7277 -thread-safe)
7278 thread_safe=yes
7279 continue
7280 ;;
7281
7282 -version-info)
7283 prev=vinfo
7284 continue
7285 ;;
7286
7287 -version-number)
7288 prev=vinfo
7289 vinfo_number=yes
7290 continue
7291 ;;
7292
7293 -weak)
7294 prev=weak
7295 continue
7296 ;;
7297
7298 -Wc,*)
7299 func_stripname '-Wc,' '' "$arg"
7300 args=$func_stripname_result
7301 arg=
7302 save_ifs=$IFS; IFS=,
7303 for flag in $args; do
7304 IFS=$save_ifs
7305 func_quote_for_eval "$flag"
7306 func_append arg " $func_quote_for_eval_result"
7307 func_append compiler_flags " $func_quote_for_eval_result"
7308 done
7309 IFS=$save_ifs
7310 func_stripname ' ' '' "$arg"
7311 arg=$func_stripname_result
7312 ;;
7313
7314 -Wl,*)
7315 func_stripname '-Wl,' '' "$arg"
7316 args=$func_stripname_result
7317 arg=
7318 save_ifs=$IFS; IFS=,
7319 for flag in $args; do
7320 IFS=$save_ifs
7321 func_quote_for_eval "$flag"
7322 func_append arg " $wl$func_quote_for_eval_result"
7323 func_append compiler_flags " $wl$func_quote_for_eval_result"
7324 func_append linker_flags " $func_quote_for_eval_result"
7325 done
7326 IFS=$save_ifs
7327 func_stripname ' ' '' "$arg"
7328 arg=$func_stripname_result
7329 ;;
7330
7331 -Xcompiler)
7332 prev=xcompiler
7333 continue
7334 ;;
7335
7336 -Xlinker)
7337 prev=xlinker
7338 continue
7339 ;;
7340
7341 -XCClinker)
7342 prev=xcclinker
7343 continue
7344 ;;
7345
7346 # -msg_* for osf cc
7347 -msg_*)
7348 func_quote_for_eval "$arg"
7349 arg=$func_quote_for_eval_result
7350 ;;
7351
7352 # Flags to be passed through unchanged, with rationale:
7353 # -64, -mips[0-9] enable 64-bit mode for the SGI compiler
7354 # -r[0-9][0-9]* specify processor for the SGI compiler
7355 # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
7356 # +DA*, +DD* enable 64-bit mode for the HP compiler
7357 # -q* compiler args for the IBM compiler
7358 # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
7359 # -F/path path to uninstalled frameworks, gcc on darwin
7360 # -p, -pg, --coverage, -fprofile-* profiling flags for GCC
7361 # -fstack-protector* stack protector flags for GCC
7362 # @file GCC response files
7363 # -tp=* Portland pgcc target processor selection
7364 # --sysroot=* for sysroot support
7365 # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
7366 # -specs=* GCC specs files
7367 # -stdlib=* select c++ std lib with clang
7368 # -fsanitize=* Clang/GCC memory and address sanitizer
7369 # -fuse-ld=* Linker select flags for GCC
7370 # -static-* direct GCC to link specific libraries statically
7371 # -fcilkplus Cilk Plus language extension features for C/C++
7372 -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
7373 -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
7374 -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
7375 -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus)
7376 func_quote_for_eval "$arg"
7377 arg=$func_quote_for_eval_result
7378 func_append compile_command " $arg"
7379 func_append finalize_command " $arg"
7380 func_append compiler_flags " $arg"
7381 continue
7382 ;;
7383
7384 -Z*)
7385 if test os2 = "`expr $host : '.*\(os2\)'`"; then
7386 # OS/2 uses -Zxxx to specify OS/2-specific options
7387 compiler_flags="$compiler_flags $arg"
7388 func_append compile_command " $arg"
7389 func_append finalize_command " $arg"
7390 case $arg in
7391 -Zlinker | -Zstack)
7392 prev=xcompiler
7393 ;;
7394 esac
7395 continue
7396 else
7397 # Otherwise treat like 'Some other compiler flag' below
7398 func_quote_for_eval "$arg"
7399 arg=$func_quote_for_eval_result
7400 fi
7401 ;;
7402
7403 # Some other compiler flag.
7404 -* | +*)
7405 func_quote_for_eval "$arg"
7406 arg=$func_quote_for_eval_result
7407 ;;
7408
7409 *.$objext)
7410 # A standard object.
7411 func_append objs " $arg"
7412 ;;
7413
7414 *.lo)
7415 # A libtool-controlled object.
7416
7417 # Check to see that this really is a libtool object.
7418 if func_lalib_unsafe_p "$arg"; then
7419 pic_object=
7420 non_pic_object=
7421
7422 # Read the .lo file
7423 func_source "$arg"
7424
7425 if test -z "$pic_object" ||
7426 test -z "$non_pic_object" ||
7427 test none = "$pic_object" &&
7428 test none = "$non_pic_object"; then
7429 func_fatal_error "cannot find name of object for '$arg'"
7430 fi
7431
7432 # Extract subdirectory from the argument.
7433 func_dirname "$arg" "/" ""
7434 xdir=$func_dirname_result
7435
7436 test none = "$pic_object" || {
7437 # Prepend the subdirectory the object is found in.
7438 pic_object=$xdir$pic_object
7439
7440 if test dlfiles = "$prev"; then
7441 if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
7442 func_append dlfiles " $pic_object"
7443 prev=
7444 continue
7445 else
7446 # If libtool objects are unsupported, then we need to preload.
7447 prev=dlprefiles
7448 fi
7449 fi
7450
7451 # CHECK ME: I think I busted this. -Ossama
7452 if test dlprefiles = "$prev"; then
7453 # Preload the old-style object.
7454 func_append dlprefiles " $pic_object"
7455 prev=
7456 fi
7457
7458 # A PIC object.
7459 func_append libobjs " $pic_object"
7460 arg=$pic_object
7461 }
7462
7463 # Non-PIC object.
7464 if test none != "$non_pic_object"; then
7465 # Prepend the subdirectory the object is found in.
7466 non_pic_object=$xdir$non_pic_object
7467
7468 # A standard non-PIC object
7469 func_append non_pic_objects " $non_pic_object"
7470 if test -z "$pic_object" || test none = "$pic_object"; then
7471 arg=$non_pic_object
7472 fi
7473 else
7474 # If the PIC object exists, use it instead.
7475 # $xdir was prepended to $pic_object above.
7476 non_pic_object=$pic_object
7477 func_append non_pic_objects " $non_pic_object"
7478 fi
7479 else
7480 # Only an error if not doing a dry-run.
7481 if $opt_dry_run; then
7482 # Extract subdirectory from the argument.
7483 func_dirname "$arg" "/" ""
7484 xdir=$func_dirname_result
7485
7486 func_lo2o "$arg"
7487 pic_object=$xdir$objdir/$func_lo2o_result
7488 non_pic_object=$xdir$func_lo2o_result
7489 func_append libobjs " $pic_object"
7490 func_append non_pic_objects " $non_pic_object"
7491 else
7492 func_fatal_error "'$arg' is not a valid libtool object"
7493 fi
7494 fi
7495 ;;
7496
7497 *.$libext)
7498 # An archive.
7499 func_append deplibs " $arg"
7500 func_append old_deplibs " $arg"
7501 continue
7502 ;;
7503
7504 *.la)
7505 # A libtool-controlled library.
7506
7507 func_resolve_sysroot "$arg"
7508 if test dlfiles = "$prev"; then
7509 # This library was specified with -dlopen.
7510 func_append dlfiles " $func_resolve_sysroot_result"
7511 prev=
7512 elif test dlprefiles = "$prev"; then
7513 # The library was specified with -dlpreopen.
7514 func_append dlprefiles " $func_resolve_sysroot_result"
7515 prev=
7516 else
7517 func_append deplibs " $func_resolve_sysroot_result"
7518 fi
7519 continue
7520 ;;
7521
7522 # Some other compiler argument.
7523 *)
7524 # Unknown arguments in both finalize_command and compile_command need
7525 # to be aesthetically quoted because they are evaled later.
7526 func_quote_for_eval "$arg"
7527 arg=$func_quote_for_eval_result
7528 ;;
7529 esac # arg
7530
7531 # Now actually substitute the argument into the commands.
7532 if test -n "$arg"; then
7533 func_append compile_command " $arg"
7534 func_append finalize_command " $arg"
7535 fi
7536 done # argument parsing loop
7537
7538 test -n "$prev" && \
7539 func_fatal_help "the '$prevarg' option requires an argument"
7540
7541 if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then
7542 eval arg=\"$export_dynamic_flag_spec\"
7543 func_append compile_command " $arg"
7544 func_append finalize_command " $arg"
7545 fi
7546
7547 oldlibs=
7548 # calculate the name of the file, without its directory
7549 func_basename "$output"
7550 outputname=$func_basename_result
7551 libobjs_save=$libobjs
7552
7553 if test -n "$shlibpath_var"; then
7554 # get the directories listed in $shlibpath_var
7555 eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\`
7556 else
7557 shlib_search_path=
7558 fi
7559 eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
7560 eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
7561
7562 # Definition is injected by LT_CONFIG during libtool generation.
7563 func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
7564
7565 func_dirname "$output" "/" ""
7566 output_objdir=$func_dirname_result$objdir
7567 func_to_tool_file "$output_objdir/"
7568 tool_output_objdir=$func_to_tool_file_result
7569 # Create the object directory.
7570 func_mkdir_p "$output_objdir"
7571
7572 # Determine the type of output
7573 case $output in
7574 "")
7575 func_fatal_help "you must specify an output file"
7576 ;;
7577 *.$libext) linkmode=oldlib ;;
7578 *.lo | *.$objext) linkmode=obj ;;
7579 *.la) linkmode=lib ;;
7580 *) linkmode=prog ;; # Anything else should be a program.
7581 esac
7582
7583 specialdeplibs=
7584
7585 libs=
7586 # Find all interdependent deplibs by searching for libraries
7587 # that are linked more than once (e.g. -la -lb -la)
7588 for deplib in $deplibs; do
7589 if $opt_preserve_dup_deps; then
7590 case "$libs " in
7591 *" $deplib "*) func_append specialdeplibs " $deplib" ;;
7592 esac
7593 fi
7594 func_append libs " $deplib"
7595 done
7596
7597 if test lib = "$linkmode"; then
7598 libs="$predeps $libs $compiler_lib_search_path $postdeps"
7599
7600 # Compute libraries that are listed more than once in $predeps
7601 # $postdeps and mark them as special (i.e., whose duplicates are
7602 # not to be eliminated).
7603 pre_post_deps=
7604 if $opt_duplicate_compiler_generated_deps; then
7605 for pre_post_dep in $predeps $postdeps; do
7606 case "$pre_post_deps " in
7607 *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
7608 esac
7609 func_append pre_post_deps " $pre_post_dep"
7610 done
7611 fi
7612 pre_post_deps=
7613 fi
7614
7615 deplibs=
7616 newdependency_libs=
7617 newlib_search_path=
7618 need_relink=no # whether we're linking any uninstalled libtool libraries
7619 notinst_deplibs= # not-installed libtool libraries
7620 notinst_path= # paths that contain not-installed libtool libraries
7621
7622 case $linkmode in
7623 lib)
7624 passes="conv dlpreopen link"
7625 for file in $dlfiles $dlprefiles; do
7626 case $file in
7627 *.la) ;;
7628 *)
7629 func_fatal_help "libraries can '-dlopen' only libtool libraries: $file"
7630 ;;
7631 esac
7632 done
7633 ;;
7634 prog)
7635 compile_deplibs=
7636 finalize_deplibs=
7637 alldeplibs=false
7638 newdlfiles=
7639 newdlprefiles=
7640 passes="conv scan dlopen dlpreopen link"
7641 ;;
7642 *) passes="conv"
7643 ;;
7644 esac
7645
7646 for pass in $passes; do
7647 # The preopen pass in lib mode reverses $deplibs; put it back here
7648 # so that -L comes before libs that need it for instance...
7649 if test lib,link = "$linkmode,$pass"; then
7650 ## FIXME: Find the place where the list is rebuilt in the wrong
7651 ## order, and fix it there properly
7652 tmp_deplibs=
7653 for deplib in $deplibs; do
7654 tmp_deplibs="$deplib $tmp_deplibs"
7655 done
7656 deplibs=$tmp_deplibs
7657 fi
7658
7659 if test lib,link = "$linkmode,$pass" ||
7660 test prog,scan = "$linkmode,$pass"; then
7661 libs=$deplibs
7662 deplibs=
7663 fi
7664 if test prog = "$linkmode"; then
7665 case $pass in
7666 dlopen) libs=$dlfiles ;;
7667 dlpreopen) libs=$dlprefiles ;;
7668 link)
7669 libs="$deplibs %DEPLIBS%"
7670 test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
7671 ;;
7672 esac
7673 fi
7674 if test lib,dlpreopen = "$linkmode,$pass"; then
7675 # Collect and forward deplibs of preopened libtool libs
7676 for lib in $dlprefiles; do
7677 # Ignore non-libtool-libs
7678 dependency_libs=
7679 func_resolve_sysroot "$lib"
7680 case $lib in
7681 *.la) func_source "$func_resolve_sysroot_result" ;;
7682 esac
7683
7684 # Collect preopened libtool deplibs, except any this library
7685 # has declared as weak libs
7686 for deplib in $dependency_libs; do
7687 func_basename "$deplib"
7688 deplib_base=$func_basename_result
7689 case " $weak_libs " in
7690 *" $deplib_base "*) ;;
7691 *) func_append deplibs " $deplib" ;;
7692 esac
7693 done
7694 done
7695 libs=$dlprefiles
7696 fi
7697 if test dlopen = "$pass"; then
7698 # Collect dlpreopened libraries
7699 save_deplibs=$deplibs
7700 deplibs=
7701 fi
7702
7703 for deplib in $libs; do
7704 lib=
7705 found=false
7706 case $deplib in
7707 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
7708 |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
7709 if test prog,link = "$linkmode,$pass"; then
7710 compile_deplibs="$deplib $compile_deplibs"
7711 finalize_deplibs="$deplib $finalize_deplibs"
7712 else
7713 func_append compiler_flags " $deplib"
7714 if test lib = "$linkmode"; then
7715 case "$new_inherited_linker_flags " in
7716 *" $deplib "*) ;;
7717 * ) func_append new_inherited_linker_flags " $deplib" ;;
7718 esac
7719 fi
7720 fi
7721 continue
7722 ;;
7723 -l*)
7724 if test lib != "$linkmode" && test prog != "$linkmode"; then
7725 func_warning "'-l' is ignored for archives/objects"
7726 continue
7727 fi
7728 func_stripname '-l' '' "$deplib"
7729 name=$func_stripname_result
7730 if test lib = "$linkmode"; then
7731 searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
7732 else
7733 searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
7734 fi
7735 for searchdir in $searchdirs; do
7736 for search_ext in .la $std_shrext .so .a; do
7737 # Search the libtool library
7738 lib=$searchdir/lib$name$search_ext
7739 if test -f "$lib"; then
7740 if test .la = "$search_ext"; then
7741 found=:
7742 else
7743 found=false
7744 fi
7745 break 2
7746 fi
7747 done
7748 done
7749 if $found; then
7750 # deplib is a libtool library
7751 # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
7752 # We need to do some special things here, and not later.
7753 if test yes = "$allow_libtool_libs_with_static_runtimes"; then
7754 case " $predeps $postdeps " in
7755 *" $deplib "*)
7756 if func_lalib_p "$lib"; then
7757 library_names=
7758 old_library=
7759 func_source "$lib"
7760 for l in $old_library $library_names; do
7761 ll=$l
7762 done
7763 if test "X$ll" = "X$old_library"; then # only static version available
7764 found=false
7765 func_dirname "$lib" "" "."
7766 ladir=$func_dirname_result
7767 lib=$ladir/$old_library
7768 if test prog,link = "$linkmode,$pass"; then
7769 compile_deplibs="$deplib $compile_deplibs"
7770 finalize_deplibs="$deplib $finalize_deplibs"
7771 else
7772 deplibs="$deplib $deplibs"
7773 test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
7774 fi
7775 continue
7776 fi
7777 fi
7778 ;;
7779 *) ;;
7780 esac
7781 fi
7782 else
7783 # deplib doesn't seem to be a libtool library
7784 if test prog,link = "$linkmode,$pass"; then
7785 compile_deplibs="$deplib $compile_deplibs"
7786 finalize_deplibs="$deplib $finalize_deplibs"
7787 else
7788 deplibs="$deplib $deplibs"
7789 test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
7790 fi
7791 continue
7792 fi
7793 ;; # -l
7794 *.ltframework)
7795 if test prog,link = "$linkmode,$pass"; then
7796 compile_deplibs="$deplib $compile_deplibs"
7797 finalize_deplibs="$deplib $finalize_deplibs"
7798 else
7799 deplibs="$deplib $deplibs"
7800 if test lib = "$linkmode"; then
7801 case "$new_inherited_linker_flags " in
7802 *" $deplib "*) ;;
7803 * ) func_append new_inherited_linker_flags " $deplib" ;;
7804 esac
7805 fi
7806 fi
7807 continue
7808 ;;
7809 -L*)
7810 case $linkmode in
7811 lib)
7812 deplibs="$deplib $deplibs"
7813 test conv = "$pass" && continue
7814 newdependency_libs="$deplib $newdependency_libs"
7815 func_stripname '-L' '' "$deplib"
7816 func_resolve_sysroot "$func_stripname_result"
7817 func_append newlib_search_path " $func_resolve_sysroot_result"
7818 ;;
7819 prog)
7820 if test conv = "$pass"; then
7821 deplibs="$deplib $deplibs"
7822 continue
7823 fi
7824 if test scan = "$pass"; then
7825 deplibs="$deplib $deplibs"
7826 else
7827 compile_deplibs="$deplib $compile_deplibs"
7828 finalize_deplibs="$deplib $finalize_deplibs"
7829 fi
7830 func_stripname '-L' '' "$deplib"
7831 func_resolve_sysroot "$func_stripname_result"
7832 func_append newlib_search_path " $func_resolve_sysroot_result"
7833 ;;
7834 *)
7835 func_warning "'-L' is ignored for archives/objects"
7836 ;;
7837 esac # linkmode
7838 continue
7839 ;; # -L
7840 -R*)
7841 if test link = "$pass"; then
7842 func_stripname '-R' '' "$deplib"
7843 func_resolve_sysroot "$func_stripname_result"
7844 dir=$func_resolve_sysroot_result
7845 # Make sure the xrpath contains only unique directories.
7846 case "$xrpath " in
7847 *" $dir "*) ;;
7848 *) func_append xrpath " $dir" ;;
7849 esac
7850 fi
7851 deplibs="$deplib $deplibs"
7852 continue
7853 ;;
7854 *.la)
7855 func_resolve_sysroot "$deplib"
7856 lib=$func_resolve_sysroot_result
7857 ;;
7858 *.$libext)
7859 if test conv = "$pass"; then
7860 deplibs="$deplib $deplibs"
7861 continue
7862 fi
7863 case $linkmode in
7864 lib)
7865 # Linking convenience modules into shared libraries is allowed,
7866 # but linking other static libraries is non-portable.
7867 case " $dlpreconveniencelibs " in
7868 *" $deplib "*) ;;
7869 *)
7870 valid_a_lib=false
7871 case $deplibs_check_method in
7872 match_pattern*)
7873 set dummy $deplibs_check_method; shift
7874 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
7875 if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
7876 | $EGREP "$match_pattern_regex" > /dev/null; then
7877 valid_a_lib=:
7878 fi
7879 ;;
7880 pass_all)
7881 valid_a_lib=:
7882 ;;
7883 esac
7884 if $valid_a_lib; then
7885 echo
7886 $ECHO "*** Warning: Linking the shared library $output against the"
7887 $ECHO "*** static library $deplib is not portable!"
7888 deplibs="$deplib $deplibs"
7889 else
7890 echo
7891 $ECHO "*** Warning: Trying to link with static lib archive $deplib."
7892 echo "*** I have the capability to make that library automatically link in when"
7893 echo "*** you link to this library. But I can only do this if you have a"
7894 echo "*** shared version of the library, which you do not appear to have"
7895 echo "*** because the file extensions .$libext of this argument makes me believe"
7896 echo "*** that it is just a static archive that I should not use here."
7897 fi
7898 ;;
7899 esac
7900 continue
7901 ;;
7902 prog)
7903 if test link != "$pass"; then
7904 deplibs="$deplib $deplibs"
7905 else
7906 compile_deplibs="$deplib $compile_deplibs"
7907 finalize_deplibs="$deplib $finalize_deplibs"
7908 fi
7909 continue
7910 ;;
7911 esac # linkmode
7912 ;; # *.$libext
7913 *.lo | *.$objext)
7914 if test conv = "$pass"; then
7915 deplibs="$deplib $deplibs"
7916 elif test prog = "$linkmode"; then
7917 if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then
7918 # If there is no dlopen support or we're linking statically,
7919 # we need to preload.
7920 func_append newdlprefiles " $deplib"
7921 compile_deplibs="$deplib $compile_deplibs"
7922 finalize_deplibs="$deplib $finalize_deplibs"
7923 else
7924 func_append newdlfiles " $deplib"
7925 fi
7926 fi
7927 continue
7928 ;;
7929 %DEPLIBS%)
7930 alldeplibs=:
7931 continue
7932 ;;
7933 esac # case $deplib
7934
7935 $found || test -f "$lib" \
7936 || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'"
7937
7938 # Check to see that this really is a libtool archive.
7939 func_lalib_unsafe_p "$lib" \
7940 || func_fatal_error "'$lib' is not a valid libtool archive"
7941
7942 func_dirname "$lib" "" "."
7943 ladir=$func_dirname_result
7944
7945 dlname=
7946 dlopen=
7947 dlpreopen=
7948 libdir=
7949 library_names=
7950 old_library=
7951 inherited_linker_flags=
7952 # If the library was installed with an old release of libtool,
7953 # it will not redefine variables installed, or shouldnotlink
7954 installed=yes
7955 shouldnotlink=no
7956 avoidtemprpath=
7957
7958
7959 # Read the .la file
7960 func_source "$lib"
7961
7962 # Convert "-framework foo" to "foo.ltframework"
7963 if test -n "$inherited_linker_flags"; then
7964 tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
7965 for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
7966 case " $new_inherited_linker_flags " in
7967 *" $tmp_inherited_linker_flag "*) ;;
7968 *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
7969 esac
7970 done
7971 fi
7972 dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
7973 if test lib,link = "$linkmode,$pass" ||
7974 test prog,scan = "$linkmode,$pass" ||
7975 { test prog != "$linkmode" && test lib != "$linkmode"; }; then
7976 test -n "$dlopen" && func_append dlfiles " $dlopen"
7977 test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
7978 fi
7979
7980 if test conv = "$pass"; then
7981 # Only check for convenience libraries
7982 deplibs="$lib $deplibs"
7983 if test -z "$libdir"; then
7984 if test -z "$old_library"; then
7985 func_fatal_error "cannot find name of link library for '$lib'"
7986 fi
7987 # It is a libtool convenience library, so add in its objects.
7988 func_append convenience " $ladir/$objdir/$old_library"
7989 func_append old_convenience " $ladir/$objdir/$old_library"
7990 tmp_libs=
7991 for deplib in $dependency_libs; do
7992 deplibs="$deplib $deplibs"
7993 if $opt_preserve_dup_deps; then
7994 case "$tmp_libs " in
7995 *" $deplib "*) func_append specialdeplibs " $deplib" ;;
7996 esac
7997 fi
7998 func_append tmp_libs " $deplib"
7999 done
8000 elif test prog != "$linkmode" && test lib != "$linkmode"; then
8001 func_fatal_error "'$lib' is not a convenience library"
8002 fi
8003 continue
8004 fi # $pass = conv
8005
8006
8007 # Get the name of the library we link against.
8008 linklib=
8009 if test -n "$old_library" &&
8010 { test yes = "$prefer_static_libs" ||
8011 test built,no = "$prefer_static_libs,$installed"; }; then
8012 linklib=$old_library
8013 else
8014 for l in $old_library $library_names; do
8015 linklib=$l
8016 done
8017 fi
8018 if test -z "$linklib"; then
8019 func_fatal_error "cannot find name of link library for '$lib'"
8020 fi
8021
8022 # This library was specified with -dlopen.
8023 if test dlopen = "$pass"; then
8024 test -z "$libdir" \
8025 && func_fatal_error "cannot -dlopen a convenience library: '$lib'"
8026 if test -z "$dlname" ||
8027 test yes != "$dlopen_support" ||
8028 test no = "$build_libtool_libs"
8029 then
8030 # If there is no dlname, no dlopen support or we're linking
8031 # statically, we need to preload. We also need to preload any
8032 # dependent libraries so libltdl's deplib preloader doesn't
8033 # bomb out in the load deplibs phase.
8034 func_append dlprefiles " $lib $dependency_libs"
8035 else
8036 func_append newdlfiles " $lib"
8037 fi
8038 continue
8039 fi # $pass = dlopen
8040
8041 # We need an absolute path.
8042 case $ladir in
8043 [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;;
8044 *)
8045 abs_ladir=`cd "$ladir" && pwd`
8046 if test -z "$abs_ladir"; then
8047 func_warning "cannot determine absolute directory name of '$ladir'"
8048 func_warning "passing it literally to the linker, although it might fail"
8049 abs_ladir=$ladir
8050 fi
8051 ;;
8052 esac
8053 func_basename "$lib"
8054 laname=$func_basename_result
8055
8056 # Find the relevant object directory and library name.
8057 if test yes = "$installed"; then
8058 if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
8059 func_warning "library '$lib' was moved."
8060 dir=$ladir
8061 absdir=$abs_ladir
8062 libdir=$abs_ladir
8063 else
8064 dir=$lt_sysroot$libdir
8065 absdir=$lt_sysroot$libdir
8066 fi
8067 test yes = "$hardcode_automatic" && avoidtemprpath=yes
8068 else
8069 if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
8070 dir=$ladir
8071 absdir=$abs_ladir
8072 # Remove this search path later
8073 func_append notinst_path " $abs_ladir"
8074 else
8075 dir=$ladir/$objdir
8076 absdir=$abs_ladir/$objdir
8077 # Remove this search path later
8078 func_append notinst_path " $abs_ladir"
8079 fi
8080 fi # $installed = yes
8081 func_stripname 'lib' '.la' "$laname"
8082 name=$func_stripname_result
8083
8084 # This library was specified with -dlpreopen.
8085 if test dlpreopen = "$pass"; then
8086 if test -z "$libdir" && test prog = "$linkmode"; then
8087 func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'"
8088 fi
8089 case $host in
8090 # special handling for platforms with PE-DLLs.
8091 *cygwin* | *mingw* | *cegcc* )
8092 # Linker will automatically link against shared library if both
8093 # static and shared are present. Therefore, ensure we extract
8094 # symbols from the import library if a shared library is present
8095 # (otherwise, the dlopen module name will be incorrect). We do
8096 # this by putting the import library name into $newdlprefiles.
8097 # We recover the dlopen module name by 'saving' the la file
8098 # name in a special purpose variable, and (later) extracting the
8099 # dlname from the la file.
8100 if test -n "$dlname"; then
8101 func_tr_sh "$dir/$linklib"
8102 eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
8103 func_append newdlprefiles " $dir/$linklib"
8104 else
8105 func_append newdlprefiles " $dir/$old_library"
8106 # Keep a list of preopened convenience libraries to check
8107 # that they are being used correctly in the link pass.
8108 test -z "$libdir" && \
8109 func_append dlpreconveniencelibs " $dir/$old_library"
8110 fi
8111 ;;
8112 * )
8113 # Prefer using a static library (so that no silly _DYNAMIC symbols
8114 # are required to link).
8115 if test -n "$old_library"; then
8116 func_append newdlprefiles " $dir/$old_library"
8117 # Keep a list of preopened convenience libraries to check
8118 # that they are being used correctly in the link pass.
8119 test -z "$libdir" && \
8120 func_append dlpreconveniencelibs " $dir/$old_library"
8121 # Otherwise, use the dlname, so that lt_dlopen finds it.
8122 elif test -n "$dlname"; then
8123 func_append newdlprefiles " $dir/$dlname"
8124 else
8125 func_append newdlprefiles " $dir/$linklib"
8126 fi
8127 ;;
8128 esac
8129 fi # $pass = dlpreopen
8130
8131 if test -z "$libdir"; then
8132 # Link the convenience library
8133 if test lib = "$linkmode"; then
8134 deplibs="$dir/$old_library $deplibs"
8135 elif test prog,link = "$linkmode,$pass"; then
8136 compile_deplibs="$dir/$old_library $compile_deplibs"
8137 finalize_deplibs="$dir/$old_library $finalize_deplibs"
8138 else
8139 deplibs="$lib $deplibs" # used for prog,scan pass
8140 fi
8141 continue
8142 fi
8143
8144
8145 if test prog = "$linkmode" && test link != "$pass"; then
8146 func_append newlib_search_path " $ladir"
8147 deplibs="$lib $deplibs"
8148
8149 linkalldeplibs=false
8150 if test no != "$link_all_deplibs" || test -z "$library_names" ||
8151 test no = "$build_libtool_libs"; then
8152 linkalldeplibs=:
8153 fi
8154
8155 tmp_libs=
8156 for deplib in $dependency_libs; do
8157 case $deplib in
8158 -L*) func_stripname '-L' '' "$deplib"
8159 func_resolve_sysroot "$func_stripname_result"
8160 func_append newlib_search_path " $func_resolve_sysroot_result"
8161 ;;
8162 esac
8163 # Need to link against all dependency_libs?
8164 if $linkalldeplibs; then
8165 deplibs="$deplib $deplibs"
8166 else
8167 # Need to hardcode shared library paths
8168 # or/and link against static libraries
8169 newdependency_libs="$deplib $newdependency_libs"
8170 fi
8171 if $opt_preserve_dup_deps; then
8172 case "$tmp_libs " in
8173 *" $deplib "*) func_append specialdeplibs " $deplib" ;;
8174 esac
8175 fi
8176 func_append tmp_libs " $deplib"
8177 done # for deplib
8178 continue
8179 fi # $linkmode = prog...
8180
8181 if test prog,link = "$linkmode,$pass"; then
8182 if test -n "$library_names" &&
8183 { { test no = "$prefer_static_libs" ||
8184 test built,yes = "$prefer_static_libs,$installed"; } ||
8185 test -z "$old_library"; }; then
8186 # We need to hardcode the library path
8187 if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then
8188 # Make sure the rpath contains only unique directories.
8189 case $temp_rpath: in
8190 *"$absdir:"*) ;;
8191 *) func_append temp_rpath "$absdir:" ;;
8192 esac
8193 fi
8194
8195 # Hardcode the library path.
8196 # Skip directories that are in the system default run-time
8197 # search path.
8198 case " $sys_lib_dlsearch_path " in
8199 *" $absdir "*) ;;
8200 *)
8201 case "$compile_rpath " in
8202 *" $absdir "*) ;;
8203 *) func_append compile_rpath " $absdir" ;;
8204 esac
8205 ;;
8206 esac
8207 case " $sys_lib_dlsearch_path " in
8208 *" $libdir "*) ;;
8209 *)
8210 case "$finalize_rpath " in
8211 *" $libdir "*) ;;
8212 *) func_append finalize_rpath " $libdir" ;;
8213 esac
8214 ;;
8215 esac
8216 fi # $linkmode,$pass = prog,link...
8217
8218 if $alldeplibs &&
8219 { test pass_all = "$deplibs_check_method" ||
8220 { test yes = "$build_libtool_libs" &&
8221 test -n "$library_names"; }; }; then
8222 # We only need to search for static libraries
8223 continue
8224 fi
8225 fi
8226
8227 link_static=no # Whether the deplib will be linked statically
8228 use_static_libs=$prefer_static_libs
8229 if test built = "$use_static_libs" && test yes = "$installed"; then
8230 use_static_libs=no
8231 fi
8232 if test -n "$library_names" &&
8233 { test no = "$use_static_libs" || test -z "$old_library"; }; then
8234 case $host in
8235 *cygwin* | *mingw* | *cegcc* | *os2*)
8236 # No point in relinking DLLs because paths are not encoded
8237 func_append notinst_deplibs " $lib"
8238 need_relink=no
8239 ;;
8240 *)
8241 if test no = "$installed"; then
8242 func_append notinst_deplibs " $lib"
8243 need_relink=yes
8244 fi
8245 ;;
8246 esac
8247 # This is a shared library
8248
8249 # Warn about portability, can't link against -module's on some
8250 # systems (darwin). Don't bleat about dlopened modules though!
8251 dlopenmodule=
8252 for dlpremoduletest in $dlprefiles; do
8253 if test "X$dlpremoduletest" = "X$lib"; then
8254 dlopenmodule=$dlpremoduletest
8255 break
8256 fi
8257 done
8258 if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
8259 echo
8260 if test prog = "$linkmode"; then
8261 $ECHO "*** Warning: Linking the executable $output against the loadable module"
8262 else
8263 $ECHO "*** Warning: Linking the shared library $output against the loadable module"
8264 fi
8265 $ECHO "*** $linklib is not portable!"
8266 fi
8267 if test lib = "$linkmode" &&
8268 test yes = "$hardcode_into_libs"; then
8269 # Hardcode the library path.
8270 # Skip directories that are in the system default run-time
8271 # search path.
8272 case " $sys_lib_dlsearch_path " in
8273 *" $absdir "*) ;;
8274 *)
8275 case "$compile_rpath " in
8276 *" $absdir "*) ;;
8277 *) func_append compile_rpath " $absdir" ;;
8278 esac
8279 ;;
8280 esac
8281 case " $sys_lib_dlsearch_path " in
8282 *" $libdir "*) ;;
8283 *)
8284 case "$finalize_rpath " in
8285 *" $libdir "*) ;;
8286 *) func_append finalize_rpath " $libdir" ;;
8287 esac
8288 ;;
8289 esac
8290 fi
8291
8292 if test -n "$old_archive_from_expsyms_cmds"; then
8293 # figure out the soname
8294 set dummy $library_names
8295 shift
8296 realname=$1
8297 shift
8298 libname=`eval "\\$ECHO \"$libname_spec\""`
8299 # use dlname if we got it. it's perfectly good, no?
8300 if test -n "$dlname"; then
8301 soname=$dlname
8302 elif test -n "$soname_spec"; then
8303 # bleh windows
8304 case $host in
8305 *cygwin* | mingw* | *cegcc* | *os2*)
8306 func_arith $current - $age
8307 major=$func_arith_result
8308 versuffix=-$major
8309 ;;
8310 esac
8311 eval soname=\"$soname_spec\"
8312 else
8313 soname=$realname
8314 fi
8315
8316 # Make a new name for the extract_expsyms_cmds to use
8317 soroot=$soname
8318 func_basename "$soroot"
8319 soname=$func_basename_result
8320 func_stripname 'lib' '.dll' "$soname"
8321 newlib=libimp-$func_stripname_result.a
8322
8323 # If the library has no export list, then create one now
8324 if test -f "$output_objdir/$soname-def"; then :
8325 else
8326 func_verbose "extracting exported symbol list from '$soname'"
8327 func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
8328 fi
8329
8330 # Create $newlib
8331 if test -f "$output_objdir/$newlib"; then :; else
8332 func_verbose "generating import library for '$soname'"
8333 func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
8334 fi
8335 # make sure the library variables are pointing to the new library
8336 dir=$output_objdir
8337 linklib=$newlib
8338 fi # test -n "$old_archive_from_expsyms_cmds"
8339
8340 if test prog = "$linkmode" || test relink != "$opt_mode"; then
8341 add_shlibpath=
8342 add_dir=
8343 add=
8344 lib_linked=yes
8345 case $hardcode_action in
8346 immediate | unsupported)
8347 if test no = "$hardcode_direct"; then
8348 add=$dir/$linklib
8349 case $host in
8350 *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
8351 *-*-sysv4*uw2*) add_dir=-L$dir ;;
8352 *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
8353 *-*-unixware7*) add_dir=-L$dir ;;
8354 *-*-darwin* )
8355 # if the lib is a (non-dlopened) module then we cannot
8356 # link against it, someone is ignoring the earlier warnings
8357 if /usr/bin/file -L $add 2> /dev/null |
8358 $GREP ": [^:]* bundle" >/dev/null; then
8359 if test "X$dlopenmodule" != "X$lib"; then
8360 $ECHO "*** Warning: lib $linklib is a module, not a shared library"
8361 if test -z "$old_library"; then
8362 echo
8363 echo "*** And there doesn't seem to be a static archive available"
8364 echo "*** The link will probably fail, sorry"
8365 else
8366 add=$dir/$old_library
8367 fi
8368 elif test -n "$old_library"; then
8369 add=$dir/$old_library
8370 fi
8371 fi
8372 esac
8373 elif test no = "$hardcode_minus_L"; then
8374 case $host in
8375 *-*-sunos*) add_shlibpath=$dir ;;
8376 esac
8377 add_dir=-L$dir
8378 add=-l$name
8379 elif test no = "$hardcode_shlibpath_var"; then
8380 add_shlibpath=$dir
8381 add=-l$name
8382 else
8383 lib_linked=no
8384 fi
8385 ;;
8386 relink)
8387 if test yes = "$hardcode_direct" &&
8388 test no = "$hardcode_direct_absolute"; then
8389 add=$dir/$linklib
8390 elif test yes = "$hardcode_minus_L"; then
8391 add_dir=-L$absdir
8392 # Try looking first in the location we're being installed to.
8393 if test -n "$inst_prefix_dir"; then
8394 case $libdir in
8395 [\\/]*)
8396 func_append add_dir " -L$inst_prefix_dir$libdir"
8397 ;;
8398 esac
8399 fi
8400 add=-l$name
8401 elif test yes = "$hardcode_shlibpath_var"; then
8402 add_shlibpath=$dir
8403 add=-l$name
8404 else
8405 lib_linked=no
8406 fi
8407 ;;
8408 *) lib_linked=no ;;
8409 esac
8410
8411 if test yes != "$lib_linked"; then
8412 func_fatal_configuration "unsupported hardcode properties"
8413 fi
8414
8415 if test -n "$add_shlibpath"; then
8416 case :$compile_shlibpath: in
8417 *":$add_shlibpath:"*) ;;
8418 *) func_append compile_shlibpath "$add_shlibpath:" ;;
8419 esac
8420 fi
8421 if test prog = "$linkmode"; then
8422 test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
8423 test -n "$add" && compile_deplibs="$add $compile_deplibs"
8424 else
8425 test -n "$add_dir" && deplibs="$add_dir $deplibs"
8426 test -n "$add" && deplibs="$add $deplibs"
8427 if test yes != "$hardcode_direct" &&
8428 test yes != "$hardcode_minus_L" &&
8429 test yes = "$hardcode_shlibpath_var"; then
8430 case :$finalize_shlibpath: in
8431 *":$libdir:"*) ;;
8432 *) func_append finalize_shlibpath "$libdir:" ;;
8433 esac
8434 fi
8435 fi
8436 fi
8437
8438 if test prog = "$linkmode" || test relink = "$opt_mode"; then
8439 add_shlibpath=
8440 add_dir=
8441 add=
8442 # Finalize command for both is simple: just hardcode it.
8443 if test yes = "$hardcode_direct" &&
8444 test no = "$hardcode_direct_absolute"; then
8445 add=$libdir/$linklib
8446 elif test yes = "$hardcode_minus_L"; then
8447 add_dir=-L$libdir
8448 add=-l$name
8449 elif test yes = "$hardcode_shlibpath_var"; then
8450 case :$finalize_shlibpath: in
8451 *":$libdir:"*) ;;
8452 *) func_append finalize_shlibpath "$libdir:" ;;
8453 esac
8454 add=-l$name
8455 elif test yes = "$hardcode_automatic"; then
8456 if test -n "$inst_prefix_dir" &&
8457 test -f "$inst_prefix_dir$libdir/$linklib"; then
8458 add=$inst_prefix_dir$libdir/$linklib
8459 else
8460 add=$libdir/$linklib
8461 fi
8462 else
8463 # We cannot seem to hardcode it, guess we'll fake it.
8464 add_dir=-L$libdir
8465 # Try looking first in the location we're being installed to.
8466 if test -n "$inst_prefix_dir"; then
8467 case $libdir in
8468 [\\/]*)
8469 func_append add_dir " -L$inst_prefix_dir$libdir"
8470 ;;
8471 esac
8472 fi
8473 add=-l$name
8474 fi
8475
8476 if test prog = "$linkmode"; then
8477 test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
8478 test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
8479 else
8480 test -n "$add_dir" && deplibs="$add_dir $deplibs"
8481 test -n "$add" && deplibs="$add $deplibs"
8482 fi
8483 fi
8484 elif test prog = "$linkmode"; then
8485 # Here we assume that one of hardcode_direct or hardcode_minus_L
8486 # is not unsupported. This is valid on all known static and
8487 # shared platforms.
8488 if test unsupported != "$hardcode_direct"; then
8489 test -n "$old_library" && linklib=$old_library
8490 compile_deplibs="$dir/$linklib $compile_deplibs"
8491 finalize_deplibs="$dir/$linklib $finalize_deplibs"
8492 else
8493 compile_deplibs="-l$name -L$dir $compile_deplibs"
8494 finalize_deplibs="-l$name -L$dir $finalize_deplibs"
8495 fi
8496 elif test yes = "$build_libtool_libs"; then
8497 # Not a shared library
8498 if test pass_all != "$deplibs_check_method"; then
8499 # We're trying link a shared library against a static one
8500 # but the system doesn't support it.
8501
8502 # Just print a warning and add the library to dependency_libs so
8503 # that the program can be linked against the static library.
8504 echo
8505 $ECHO "*** Warning: This system cannot link to static lib archive $lib."
8506 echo "*** I have the capability to make that library automatically link in when"
8507 echo "*** you link to this library. But I can only do this if you have a"
8508 echo "*** shared version of the library, which you do not appear to have."
8509 if test yes = "$module"; then
8510 echo "*** But as you try to build a module library, libtool will still create "
8511 echo "*** a static module, that should work as long as the dlopening application"
8512 echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
8513 if test -z "$global_symbol_pipe"; then
8514 echo
8515 echo "*** However, this would only work if libtool was able to extract symbol"
8516 echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
8517 echo "*** not find such a program. So, this module is probably useless."
8518 echo "*** 'nm' from GNU binutils and a full rebuild may help."
8519 fi
8520 if test no = "$build_old_libs"; then
8521 build_libtool_libs=module
8522 build_old_libs=yes
8523 else
8524 build_libtool_libs=no
8525 fi
8526 fi
8527 else
8528 deplibs="$dir/$old_library $deplibs"
8529 link_static=yes
8530 fi
8531 fi # link shared/static library?
8532
8533 if test lib = "$linkmode"; then
8534 if test -n "$dependency_libs" &&
8535 { test yes != "$hardcode_into_libs" ||
8536 test yes = "$build_old_libs" ||
8537 test yes = "$link_static"; }; then
8538 # Extract -R from dependency_libs
8539 temp_deplibs=
8540 for libdir in $dependency_libs; do
8541 case $libdir in
8542 -R*) func_stripname '-R' '' "$libdir"
8543 temp_xrpath=$func_stripname_result
8544 case " $xrpath " in
8545 *" $temp_xrpath "*) ;;
8546 *) func_append xrpath " $temp_xrpath";;
8547 esac;;
8548 *) func_append temp_deplibs " $libdir";;
8549 esac
8550 done
8551 dependency_libs=$temp_deplibs
8552 fi
8553
8554 func_append newlib_search_path " $absdir"
8555 # Link against this library
8556 test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
8557 # ... and its dependency_libs
8558 tmp_libs=
8559 for deplib in $dependency_libs; do
8560 newdependency_libs="$deplib $newdependency_libs"
8561 case $deplib in
8562 -L*) func_stripname '-L' '' "$deplib"
8563 func_resolve_sysroot "$func_stripname_result";;
8564 *) func_resolve_sysroot "$deplib" ;;
8565 esac
8566 if $opt_preserve_dup_deps; then
8567 case "$tmp_libs " in
8568 *" $func_resolve_sysroot_result "*)
8569 func_append specialdeplibs " $func_resolve_sysroot_result" ;;
8570 esac
8571 fi
8572 func_append tmp_libs " $func_resolve_sysroot_result"
8573 done
8574
8575 if test no != "$link_all_deplibs"; then
8576 # Add the search paths of all dependency libraries
8577 for deplib in $dependency_libs; do
8578 path=
8579 case $deplib in
8580 -L*) path=$deplib ;;
8581 *.la)
8582 func_resolve_sysroot "$deplib"
8583 deplib=$func_resolve_sysroot_result
8584 func_dirname "$deplib" "" "."
8585 dir=$func_dirname_result
8586 # We need an absolute path.
8587 case $dir in
8588 [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;;
8589 *)
8590 absdir=`cd "$dir" && pwd`
8591 if test -z "$absdir"; then
8592 func_warning "cannot determine absolute directory name of '$dir'"
8593 absdir=$dir
8594 fi
8595 ;;
8596 esac
8597 if $GREP "^installed=no" $deplib > /dev/null; then
8598 case $host in
8599 *-*-darwin*)
8600 depdepl=
8601 eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
8602 if test -n "$deplibrary_names"; then
8603 for tmp in $deplibrary_names; do
8604 depdepl=$tmp
8605 done
8606 if test -f "$absdir/$objdir/$depdepl"; then
8607 depdepl=$absdir/$objdir/$depdepl
8608 darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
8609 if test -z "$darwin_install_name"; then
8610 darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
8611 fi
8612 func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl"
8613 func_append linker_flags " -dylib_file $darwin_install_name:$depdepl"
8614 path=
8615 fi
8616 fi
8617 ;;
8618 *)
8619 path=-L$absdir/$objdir
8620 ;;
8621 esac
8622 else
8623 eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
8624 test -z "$libdir" && \
8625 func_fatal_error "'$deplib' is not a valid libtool archive"
8626 test "$absdir" != "$libdir" && \
8627 func_warning "'$deplib' seems to be moved"
8628
8629 path=-L$absdir
8630 fi
8631 ;;
8632 esac
8633 case " $deplibs " in
8634 *" $path "*) ;;
8635 *) deplibs="$path $deplibs" ;;
8636 esac
8637 done
8638 fi # link_all_deplibs != no
8639 fi # linkmode = lib
8640 done # for deplib in $libs
8641 if test link = "$pass"; then
8642 if test prog = "$linkmode"; then
8643 compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
8644 finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
8645 else
8646 compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
8647 fi
8648 fi
8649 dependency_libs=$newdependency_libs
8650 if test dlpreopen = "$pass"; then
8651 # Link the dlpreopened libraries before other libraries
8652 for deplib in $save_deplibs; do
8653 deplibs="$deplib $deplibs"
8654 done
8655 fi
8656 if test dlopen != "$pass"; then
8657 test conv = "$pass" || {
8658 # Make sure lib_search_path contains only unique directories.
8659 lib_search_path=
8660 for dir in $newlib_search_path; do
8661 case "$lib_search_path " in
8662 *" $dir "*) ;;
8663 *) func_append lib_search_path " $dir" ;;
8664 esac
8665 done
8666 newlib_search_path=
8667 }
8668
8669 if test prog,link = "$linkmode,$pass"; then
8670 vars="compile_deplibs finalize_deplibs"
8671 else
8672 vars=deplibs
8673 fi
8674 for var in $vars dependency_libs; do
8675 # Add libraries to $var in reverse order
8676 eval tmp_libs=\"\$$var\"
8677 new_libs=
8678 for deplib in $tmp_libs; do
8679 # FIXME: Pedantically, this is the right thing to do, so
8680 # that some nasty dependency loop isn't accidentally
8681 # broken:
8682 #new_libs="$deplib $new_libs"
8683 # Pragmatically, this seems to cause very few problems in
8684 # practice:
8685 case $deplib in
8686 -L*) new_libs="$deplib $new_libs" ;;
8687 -R*) ;;
8688 *)
8689 # And here is the reason: when a library appears more
8690 # than once as an explicit dependence of a library, or
8691 # is implicitly linked in more than once by the
8692 # compiler, it is considered special, and multiple
8693 # occurrences thereof are not removed. Compare this
8694 # with having the same library being listed as a
8695 # dependency of multiple other libraries: in this case,
8696 # we know (pedantically, we assume) the library does not
8697 # need to be listed more than once, so we keep only the
8698 # last copy. This is not always right, but it is rare
8699 # enough that we require users that really mean to play
8700 # such unportable linking tricks to link the library
8701 # using -Wl,-lname, so that libtool does not consider it
8702 # for duplicate removal.
8703 case " $specialdeplibs " in
8704 *" $deplib "*) new_libs="$deplib $new_libs" ;;
8705 *)
8706 case " $new_libs " in
8707 *" $deplib "*) ;;
8708 *) new_libs="$deplib $new_libs" ;;
8709 esac
8710 ;;
8711 esac
8712 ;;
8713 esac
8714 done
8715 tmp_libs=
8716 for deplib in $new_libs; do
8717 case $deplib in
8718 -L*)
8719 case " $tmp_libs " in
8720 *" $deplib "*) ;;
8721 *) func_append tmp_libs " $deplib" ;;
8722 esac
8723 ;;
8724 *) func_append tmp_libs " $deplib" ;;
8725 esac
8726 done
8727 eval $var=\"$tmp_libs\"
8728 done # for var
8729 fi
8730
8731 # Add Sun CC postdeps if required:
8732 test CXX = "$tagname" && {
8733 case $host_os in
8734 linux*)
8735 case `$CC -V 2>&1 | sed 5q` in
8736 *Sun\ C*) # Sun C++ 5.9
8737 func_suncc_cstd_abi
8738
8739 if test no != "$suncc_use_cstd_abi"; then
8740 func_append postdeps ' -library=Cstd -library=Crun'
8741 fi
8742 ;;
8743 esac
8744 ;;
8745
8746 solaris*)
8747 func_cc_basename "$CC"
8748 case $func_cc_basename_result in
8749 CC* | sunCC*)
8750 func_suncc_cstd_abi
8751
8752 if test no != "$suncc_use_cstd_abi"; then
8753 func_append postdeps ' -library=Cstd -library=Crun'
8754 fi
8755 ;;
8756 esac
8757 ;;
8758 esac
8759 }
8760
8761 # Last step: remove runtime libs from dependency_libs
8762 # (they stay in deplibs)
8763 tmp_libs=
8764 for i in $dependency_libs; do
8765 case " $predeps $postdeps $compiler_lib_search_path " in
8766 *" $i "*)
8767 i=
8768 ;;
8769 esac
8770 if test -n "$i"; then
8771 func_append tmp_libs " $i"
8772 fi
8773 done
8774 dependency_libs=$tmp_libs
8775 done # for pass
8776 if test prog = "$linkmode"; then
8777 dlfiles=$newdlfiles
8778 fi
8779 if test prog = "$linkmode" || test lib = "$linkmode"; then
8780 dlprefiles=$newdlprefiles
8781 fi
8782
8783 case $linkmode in
8784 oldlib)
8785 if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
8786 func_warning "'-dlopen' is ignored for archives"
8787 fi
8788
8789 case " $deplibs" in
8790 *\ -l* | *\ -L*)
8791 func_warning "'-l' and '-L' are ignored for archives" ;;
8792 esac
8793
8794 test -n "$rpath" && \
8795 func_warning "'-rpath' is ignored for archives"
8796
8797 test -n "$xrpath" && \
8798 func_warning "'-R' is ignored for archives"
8799
8800 test -n "$vinfo" && \
8801 func_warning "'-version-info/-version-number' is ignored for archives"
8802
8803 test -n "$release" && \
8804 func_warning "'-release' is ignored for archives"
8805
8806 test -n "$export_symbols$export_symbols_regex" && \
8807 func_warning "'-export-symbols' is ignored for archives"
8808
8809 # Now set the variables for building old libraries.
8810 build_libtool_libs=no
8811 oldlibs=$output
8812 func_append objs "$old_deplibs"
8813 ;;
8814
8815 lib)
8816 # Make sure we only generate libraries of the form 'libNAME.la'.
8817 case $outputname in
8818 lib*)
8819 func_stripname 'lib' '.la' "$outputname"
8820 name=$func_stripname_result
8821 eval shared_ext=\"$shrext_cmds\"
8822 eval libname=\"$libname_spec\"
8823 ;;
8824 *)
8825 test no = "$module" \
8826 && func_fatal_help "libtool library '$output' must begin with 'lib'"
8827
8828 if test no != "$need_lib_prefix"; then
8829 # Add the "lib" prefix for modules if required
8830 func_stripname '' '.la' "$outputname"
8831 name=$func_stripname_result
8832 eval shared_ext=\"$shrext_cmds\"
8833 eval libname=\"$libname_spec\"
8834 else
8835 func_stripname '' '.la' "$outputname"
8836 libname=$func_stripname_result
8837 fi
8838 ;;
8839 esac
8840
8841 if test -n "$objs"; then
8842 if test pass_all != "$deplibs_check_method"; then
8843 func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
8844 else
8845 echo
8846 $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
8847 $ECHO "*** objects $objs is not portable!"
8848 func_append libobjs " $objs"
8849 fi
8850 fi
8851
8852 test no = "$dlself" \
8853 || func_warning "'-dlopen self' is ignored for libtool libraries"
8854
8855 set dummy $rpath
8856 shift
8857 test 1 -lt "$#" \
8858 && func_warning "ignoring multiple '-rpath's for a libtool library"
8859
8860 install_libdir=$1
8861
8862 oldlibs=
8863 if test -z "$rpath"; then
8864 if test yes = "$build_libtool_libs"; then
8865 # Building a libtool convenience library.
8866 # Some compilers have problems with a '.al' extension so
8867 # convenience libraries should have the same extension an
8868 # archive normally would.
8869 oldlibs="$output_objdir/$libname.$libext $oldlibs"
8870 build_libtool_libs=convenience
8871 build_old_libs=yes
8872 fi
8873
8874 test -n "$vinfo" && \
8875 func_warning "'-version-info/-version-number' is ignored for convenience libraries"
8876
8877 test -n "$release" && \
8878 func_warning "'-release' is ignored for convenience libraries"
8879 else
8880
8881 # Parse the version information argument.
8882 save_ifs=$IFS; IFS=:
8883 set dummy $vinfo 0 0 0
8884 shift
8885 IFS=$save_ifs
8886
8887 test -n "$7" && \
8888 func_fatal_help "too many parameters to '-version-info'"
8889
8890 # convert absolute version numbers to libtool ages
8891 # this retains compatibility with .la files and attempts
8892 # to make the code below a bit more comprehensible
8893
8894 case $vinfo_number in
8895 yes)
8896 number_major=$1
8897 number_minor=$2
8898 number_revision=$3
8899 #
8900 # There are really only two kinds -- those that
8901 # use the current revision as the major version
8902 # and those that subtract age and use age as
8903 # a minor version. But, then there is irix
8904 # that has an extra 1 added just for fun
8905 #
8906 case $version_type in
8907 # correct linux to gnu/linux during the next big refactor
8908 darwin|freebsd-elf|linux|osf|windows|none)
8909 func_arith $number_major + $number_minor
8910 current=$func_arith_result
8911 age=$number_minor
8912 revision=$number_revision
8913 ;;
8914 freebsd-aout|qnx|sunos)
8915 current=$number_major
8916 revision=$number_minor
8917 age=0
8918 ;;
8919 irix|nonstopux)
8920 func_arith $number_major + $number_minor
8921 current=$func_arith_result
8922 age=$number_minor
8923 revision=$number_minor
8924 lt_irix_increment=no
8925 ;;
8926 *)
8927 func_fatal_configuration "$modename: unknown library version type '$version_type'"
8928 ;;
8929 esac
8930 ;;
8931 no)
8932 current=$1
8933 revision=$2
8934 age=$3
8935 ;;
8936 esac
8937
8938 # Check that each of the things are valid numbers.
8939 case $current in
8940 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
8941 *)
8942 func_error "CURRENT '$current' must be a nonnegative integer"
8943 func_fatal_error "'$vinfo' is not valid version information"
8944 ;;
8945 esac
8946
8947 case $revision in
8948 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
8949 *)
8950 func_error "REVISION '$revision' must be a nonnegative integer"
8951 func_fatal_error "'$vinfo' is not valid version information"
8952 ;;
8953 esac
8954
8955 case $age in
8956 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
8957 *)
8958 func_error "AGE '$age' must be a nonnegative integer"
8959 func_fatal_error "'$vinfo' is not valid version information"
8960 ;;
8961 esac
8962
8963 if test "$age" -gt "$current"; then
8964 func_error "AGE '$age' is greater than the current interface number '$current'"
8965 func_fatal_error "'$vinfo' is not valid version information"
8966 fi
8967
8968 # Calculate the version variables.
8969 major=
8970 versuffix=
8971 verstring=
8972 case $version_type in
8973 none) ;;
8974
8975 darwin)
8976 # Like Linux, but with the current version available in
8977 # verstring for coding it into the library header
8978 func_arith $current - $age
8979 major=.$func_arith_result
8980 versuffix=$major.$age.$revision
8981 # Darwin ld doesn't like 0 for these options...
8982 func_arith $current + 1
8983 minor_current=$func_arith_result
8984 xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
8985 verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
8986 # On Darwin other compilers
8987 case $CC in
8988 nagfor*)
8989 verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
8990 ;;
8991 *)
8992 verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
8993 ;;
8994 esac
8995 ;;
8996
8997 freebsd-aout)
8998 major=.$current
8999 versuffix=.$current.$revision
9000 ;;
9001
9002 freebsd-elf)
9003 func_arith $current - $age
9004 major=.$func_arith_result
9005 versuffix=$major.$age.$revision
9006 ;;
9007
9008 irix | nonstopux)
9009 if test no = "$lt_irix_increment"; then
9010 func_arith $current - $age
9011 else
9012 func_arith $current - $age + 1
9013 fi
9014 major=$func_arith_result
9015
9016 case $version_type in
9017 nonstopux) verstring_prefix=nonstopux ;;
9018 *) verstring_prefix=sgi ;;
9019 esac
9020 verstring=$verstring_prefix$major.$revision
9021
9022 # Add in all the interfaces that we are compatible with.
9023 loop=$revision
9024 while test 0 -ne "$loop"; do
9025 func_arith $revision - $loop
9026 iface=$func_arith_result
9027 func_arith $loop - 1
9028 loop=$func_arith_result
9029 verstring=$verstring_prefix$major.$iface:$verstring
9030 done
9031
9032 # Before this point, $major must not contain '.'.
9033 major=.$major
9034 versuffix=$major.$revision
9035 ;;
9036
9037 linux) # correct to gnu/linux during the next big refactor
9038 func_arith $current - $age
9039 major=.$func_arith_result
9040 versuffix=$major.$age.$revision
9041 ;;
9042
9043 osf)
9044 func_arith $current - $age
9045 major=.$func_arith_result
9046 versuffix=.$current.$age.$revision
9047 verstring=$current.$age.$revision
9048
9049 # Add in all the interfaces that we are compatible with.
9050 loop=$age
9051 while test 0 -ne "$loop"; do
9052 func_arith $current - $loop
9053 iface=$func_arith_result
9054 func_arith $loop - 1
9055 loop=$func_arith_result
9056 verstring=$verstring:$iface.0
9057 done
9058
9059 # Make executables depend on our current version.
9060 func_append verstring ":$current.0"
9061 ;;
9062
9063 qnx)
9064 major=.$current
9065 versuffix=.$current
9066 ;;
9067
9068 sco)
9069 major=.$current
9070 versuffix=.$current
9071 ;;
9072
9073 sunos)
9074 major=.$current
9075 versuffix=.$current.$revision
9076 ;;
9077
9078 windows)
9079 # Use '-' rather than '.', since we only want one
9080 # extension on DOS 8.3 file systems.
9081 func_arith $current - $age
9082 major=$func_arith_result
9083 versuffix=-$major
9084 ;;
9085
9086 *)
9087 func_fatal_configuration "unknown library version type '$version_type'"
9088 ;;
9089 esac
9090
9091 # Clear the version info if we defaulted, and they specified a release.
9092 if test -z "$vinfo" && test -n "$release"; then
9093 major=
9094 case $version_type in
9095 darwin)
9096 # we can't check for "0.0" in archive_cmds due to quoting
9097 # problems, so we reset it completely
9098 verstring=
9099 ;;
9100 *)
9101 verstring=0.0
9102 ;;
9103 esac
9104 if test no = "$need_version"; then
9105 versuffix=
9106 else
9107 versuffix=.0.0
9108 fi
9109 fi
9110
9111 # Remove version info from name if versioning should be avoided
9112 if test yes,no = "$avoid_version,$need_version"; then
9113 major=
9114 versuffix=
9115 verstring=
9116 fi
9117
9118 # Check to see if the archive will have undefined symbols.
9119 if test yes = "$allow_undefined"; then
9120 if test unsupported = "$allow_undefined_flag"; then
9121 if test yes = "$build_old_libs"; then
9122 func_warning "undefined symbols not allowed in $host shared libraries; building static only"
9123 build_libtool_libs=no
9124 else
9125 func_fatal_error "can't build $host shared library unless -no-undefined is specified"
9126 fi
9127 fi
9128 else
9129 # Don't allow undefined symbols.
9130 allow_undefined_flag=$no_undefined_flag
9131 fi
9132
9133 fi
9134
9135 func_generate_dlsyms "$libname" "$libname" :
9136 func_append libobjs " $symfileobj"
9137 test " " = "$libobjs" && libobjs=
9138
9139 if test relink != "$opt_mode"; then
9140 # Remove our outputs, but don't remove object files since they
9141 # may have been created when compiling PIC objects.
9142 removelist=
9143 tempremovelist=`$ECHO "$output_objdir/*"`
9144 for p in $tempremovelist; do
9145 case $p in
9146 *.$objext | *.gcno)
9147 ;;
9148 $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*)
9149 if test -n "$precious_files_regex"; then
9150 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
9151 then
9152 continue
9153 fi
9154 fi
9155 func_append removelist " $p"
9156 ;;
9157 *) ;;
9158 esac
9159 done
9160 test -n "$removelist" && \
9161 func_show_eval "${RM}r \$removelist"
9162 fi
9163
9164 # Now set the variables for building old libraries.
9165 if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then
9166 func_append oldlibs " $output_objdir/$libname.$libext"
9167
9168 # Transform .lo files to .o files.
9169 oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP`
9170 fi
9171
9172 # Eliminate all temporary directories.
9173 #for path in $notinst_path; do
9174 # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
9175 # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
9176 # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
9177 #done
9178
9179 if test -n "$xrpath"; then
9180 # If the user specified any rpath flags, then add them.
9181 temp_xrpath=
9182 for libdir in $xrpath; do
9183 func_replace_sysroot "$libdir"
9184 func_append temp_xrpath " -R$func_replace_sysroot_result"
9185 case "$finalize_rpath " in
9186 *" $libdir "*) ;;
9187 *) func_append finalize_rpath " $libdir" ;;
9188 esac
9189 done
9190 if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
9191 dependency_libs="$temp_xrpath $dependency_libs"
9192 fi
9193 fi
9194
9195 # Make sure dlfiles contains only unique files that won't be dlpreopened
9196 old_dlfiles=$dlfiles
9197 dlfiles=
9198 for lib in $old_dlfiles; do
9199 case " $dlprefiles $dlfiles " in
9200 *" $lib "*) ;;
9201 *) func_append dlfiles " $lib" ;;
9202 esac
9203 done
9204
9205 # Make sure dlprefiles contains only unique files
9206 old_dlprefiles=$dlprefiles
9207 dlprefiles=
9208 for lib in $old_dlprefiles; do
9209 case "$dlprefiles " in
9210 *" $lib "*) ;;
9211 *) func_append dlprefiles " $lib" ;;
9212 esac
9213 done
9214
9215 if test yes = "$build_libtool_libs"; then
9216 if test -n "$rpath"; then
9217 case $host in
9218 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
9219 # these systems don't actually have a c library (as such)!
9220 ;;
9221 *-*-rhapsody* | *-*-darwin1.[012])
9222 # Rhapsody C library is in the System framework
9223 func_append deplibs " System.ltframework"
9224 ;;
9225 *-*-netbsd*)
9226 # Don't link with libc until the a.out ld.so is fixed.
9227 ;;
9228 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
9229 # Do not include libc due to us having libc/libc_r.
9230 ;;
9231 *-*-sco3.2v5* | *-*-sco5v6*)
9232 # Causes problems with __ctype
9233 ;;
9234 *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
9235 # Compiler inserts libc in the correct place for threads to work
9236 ;;
9237 *)
9238 # Add libc to deplibs on all other systems if necessary.
9239 if test yes = "$build_libtool_need_lc"; then
9240 func_append deplibs " -lc"
9241 fi
9242 ;;
9243 esac
9244 fi
9245
9246 # Transform deplibs into only deplibs that can be linked in shared.
9247 name_save=$name
9248 libname_save=$libname
9249 release_save=$release
9250 versuffix_save=$versuffix
9251 major_save=$major
9252 # I'm not sure if I'm treating the release correctly. I think
9253 # release should show up in the -l (ie -lgmp5) so we don't want to
9254 # add it in twice. Is that correct?
9255 release=
9256 versuffix=
9257 major=
9258 newdeplibs=
9259 droppeddeps=no
9260 case $deplibs_check_method in
9261 pass_all)
9262 # Don't check for shared/static. Everything works.
9263 # This might be a little naive. We might want to check
9264 # whether the library exists or not. But this is on
9265 # osf3 & osf4 and I'm not really sure... Just
9266 # implementing what was already the behavior.
9267 newdeplibs=$deplibs
9268 ;;
9269 test_compile)
9270 # This code stresses the "libraries are programs" paradigm to its
9271 # limits. Maybe even breaks it. We compile a program, linking it
9272 # against the deplibs as a proxy for the library. Then we can check
9273 # whether they linked in statically or dynamically with ldd.
9274 $opt_dry_run || $RM conftest.c
9275 cat > conftest.c <<EOF
9276 int main() { return 0; }
9277 EOF
9278 $opt_dry_run || $RM conftest
9279 if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
9280 ldd_output=`ldd conftest`
9281 for i in $deplibs; do
9282 case $i in
9283 -l*)
9284 func_stripname -l '' "$i"
9285 name=$func_stripname_result
9286 if test yes = "$allow_libtool_libs_with_static_runtimes"; then
9287 case " $predeps $postdeps " in
9288 *" $i "*)
9289 func_append newdeplibs " $i"
9290 i=
9291 ;;
9292 esac
9293 fi
9294 if test -n "$i"; then
9295 libname=`eval "\\$ECHO \"$libname_spec\""`
9296 deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
9297 set dummy $deplib_matches; shift
9298 deplib_match=$1
9299 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
9300 func_append newdeplibs " $i"
9301 else
9302 droppeddeps=yes
9303 echo
9304 $ECHO "*** Warning: dynamic linker does not accept needed library $i."
9305 echo "*** I have the capability to make that library automatically link in when"
9306 echo "*** you link to this library. But I can only do this if you have a"
9307 echo "*** shared version of the library, which I believe you do not have"
9308 echo "*** because a test_compile did reveal that the linker did not use it for"
9309 echo "*** its dynamic dependency list that programs get resolved with at runtime."
9310 fi
9311 fi
9312 ;;
9313 *)
9314 func_append newdeplibs " $i"
9315 ;;
9316 esac
9317 done
9318 else
9319 # Error occurred in the first compile. Let's try to salvage
9320 # the situation: Compile a separate program for each library.
9321 for i in $deplibs; do
9322 case $i in
9323 -l*)
9324 func_stripname -l '' "$i"
9325 name=$func_stripname_result
9326 $opt_dry_run || $RM conftest
9327 if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
9328 ldd_output=`ldd conftest`
9329 if test yes = "$allow_libtool_libs_with_static_runtimes"; then
9330 case " $predeps $postdeps " in
9331 *" $i "*)
9332 func_append newdeplibs " $i"
9333 i=
9334 ;;
9335 esac
9336 fi
9337 if test -n "$i"; then
9338 libname=`eval "\\$ECHO \"$libname_spec\""`
9339 deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
9340 set dummy $deplib_matches; shift
9341 deplib_match=$1
9342 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
9343 func_append newdeplibs " $i"
9344 else
9345 droppeddeps=yes
9346 echo
9347 $ECHO "*** Warning: dynamic linker does not accept needed library $i."
9348 echo "*** I have the capability to make that library automatically link in when"
9349 echo "*** you link to this library. But I can only do this if you have a"
9350 echo "*** shared version of the library, which you do not appear to have"
9351 echo "*** because a test_compile did reveal that the linker did not use this one"
9352 echo "*** as a dynamic dependency that programs can get resolved with at runtime."
9353 fi
9354 fi
9355 else
9356 droppeddeps=yes
9357 echo
9358 $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
9359 echo "*** make it link in! You will probably need to install it or some"
9360 echo "*** library that it depends on before this library will be fully"
9361 echo "*** functional. Installing it before continuing would be even better."
9362 fi
9363 ;;
9364 *)
9365 func_append newdeplibs " $i"
9366 ;;
9367 esac
9368 done
9369 fi
9370 ;;
9371 file_magic*)
9372 set dummy $deplibs_check_method; shift
9373 file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
9374 for a_deplib in $deplibs; do
9375 case $a_deplib in
9376 -l*)
9377 func_stripname -l '' "$a_deplib"
9378 name=$func_stripname_result
9379 if test yes = "$allow_libtool_libs_with_static_runtimes"; then
9380 case " $predeps $postdeps " in
9381 *" $a_deplib "*)
9382 func_append newdeplibs " $a_deplib"
9383 a_deplib=
9384 ;;
9385 esac
9386 fi
9387 if test -n "$a_deplib"; then
9388 libname=`eval "\\$ECHO \"$libname_spec\""`
9389 if test -n "$file_magic_glob"; then
9390 libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
9391 else
9392 libnameglob=$libname
9393 fi
9394 test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob`
9395 for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
9396 if test yes = "$want_nocaseglob"; then
9397 shopt -s nocaseglob
9398 potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
9399 $nocaseglob
9400 else
9401 potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
9402 fi
9403 for potent_lib in $potential_libs; do
9404 # Follow soft links.
9405 if ls -lLd "$potent_lib" 2>/dev/null |
9406 $GREP " -> " >/dev/null; then
9407 continue
9408 fi
9409 # The statement above tries to avoid entering an
9410 # endless loop below, in case of cyclic links.
9411 # We might still enter an endless loop, since a link
9412 # loop can be closed while we follow links,
9413 # but so what?
9414 potlib=$potent_lib
9415 while test -h "$potlib" 2>/dev/null; do
9416 potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
9417 case $potliblink in
9418 [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
9419 *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";;
9420 esac
9421 done
9422 if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
9423 $SED -e 10q |
9424 $EGREP "$file_magic_regex" > /dev/null; then
9425 func_append newdeplibs " $a_deplib"
9426 a_deplib=
9427 break 2
9428 fi
9429 done
9430 done
9431 fi
9432 if test -n "$a_deplib"; then
9433 droppeddeps=yes
9434 echo
9435 $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
9436 echo "*** I have the capability to make that library automatically link in when"
9437 echo "*** you link to this library. But I can only do this if you have a"
9438 echo "*** shared version of the library, which you do not appear to have"
9439 echo "*** because I did check the linker path looking for a file starting"
9440 if test -z "$potlib"; then
9441 $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
9442 else
9443 $ECHO "*** with $libname and none of the candidates passed a file format test"
9444 $ECHO "*** using a file magic. Last file checked: $potlib"
9445 fi
9446 fi
9447 ;;
9448 *)
9449 # Add a -L argument.
9450 func_append newdeplibs " $a_deplib"
9451 ;;
9452 esac
9453 done # Gone through all deplibs.
9454 ;;
9455 match_pattern*)
9456 set dummy $deplibs_check_method; shift
9457 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
9458 for a_deplib in $deplibs; do
9459 case $a_deplib in
9460 -l*)
9461 func_stripname -l '' "$a_deplib"
9462 name=$func_stripname_result
9463 if test yes = "$allow_libtool_libs_with_static_runtimes"; then
9464 case " $predeps $postdeps " in
9465 *" $a_deplib "*)
9466 func_append newdeplibs " $a_deplib"
9467 a_deplib=
9468 ;;
9469 esac
9470 fi
9471 if test -n "$a_deplib"; then
9472 libname=`eval "\\$ECHO \"$libname_spec\""`
9473 for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
9474 potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
9475 for potent_lib in $potential_libs; do
9476 potlib=$potent_lib # see symlink-check above in file_magic test
9477 if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
9478 $EGREP "$match_pattern_regex" > /dev/null; then
9479 func_append newdeplibs " $a_deplib"
9480 a_deplib=
9481 break 2
9482 fi
9483 done
9484 done
9485 fi
9486 if test -n "$a_deplib"; then
9487 droppeddeps=yes
9488 echo
9489 $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
9490 echo "*** I have the capability to make that library automatically link in when"
9491 echo "*** you link to this library. But I can only do this if you have a"
9492 echo "*** shared version of the library, which you do not appear to have"
9493 echo "*** because I did check the linker path looking for a file starting"
9494 if test -z "$potlib"; then
9495 $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
9496 else
9497 $ECHO "*** with $libname and none of the candidates passed a file format test"
9498 $ECHO "*** using a regex pattern. Last file checked: $potlib"
9499 fi
9500 fi
9501 ;;
9502 *)
9503 # Add a -L argument.
9504 func_append newdeplibs " $a_deplib"
9505 ;;
9506 esac
9507 done # Gone through all deplibs.
9508 ;;
9509 none | unknown | *)
9510 newdeplibs=
9511 tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
9512 if test yes = "$allow_libtool_libs_with_static_runtimes"; then
9513 for i in $predeps $postdeps; do
9514 # can't use Xsed below, because $i might contain '/'
9515 tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
9516 done
9517 fi
9518 case $tmp_deplibs in
9519 *[!\ \ ]*)
9520 echo
9521 if test none = "$deplibs_check_method"; then
9522 echo "*** Warning: inter-library dependencies are not supported in this platform."
9523 else
9524 echo "*** Warning: inter-library dependencies are not known to be supported."
9525 fi
9526 echo "*** All declared inter-library dependencies are being dropped."
9527 droppeddeps=yes
9528 ;;
9529 esac
9530 ;;
9531 esac
9532 versuffix=$versuffix_save
9533 major=$major_save
9534 release=$release_save
9535 libname=$libname_save
9536 name=$name_save
9537
9538 case $host in
9539 *-*-rhapsody* | *-*-darwin1.[012])
9540 # On Rhapsody replace the C library with the System framework
9541 newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
9542 ;;
9543 esac
9544
9545 if test yes = "$droppeddeps"; then
9546 if test yes = "$module"; then
9547 echo
9548 echo "*** Warning: libtool could not satisfy all declared inter-library"
9549 $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
9550 echo "*** a static module, that should work as long as the dlopening"
9551 echo "*** application is linked with the -dlopen flag."
9552 if test -z "$global_symbol_pipe"; then
9553 echo
9554 echo "*** However, this would only work if libtool was able to extract symbol"
9555 echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
9556 echo "*** not find such a program. So, this module is probably useless."
9557 echo "*** 'nm' from GNU binutils and a full rebuild may help."
9558 fi
9559 if test no = "$build_old_libs"; then
9560 oldlibs=$output_objdir/$libname.$libext
9561 build_libtool_libs=module
9562 build_old_libs=yes
9563 else
9564 build_libtool_libs=no
9565 fi
9566 else
9567 echo "*** The inter-library dependencies that have been dropped here will be"
9568 echo "*** automatically added whenever a program is linked with this library"
9569 echo "*** or is declared to -dlopen it."
9570
9571 if test no = "$allow_undefined"; then
9572 echo
9573 echo "*** Since this library must not contain undefined symbols,"
9574 echo "*** because either the platform does not support them or"
9575 echo "*** it was explicitly requested with -no-undefined,"
9576 echo "*** libtool will only create a static version of it."
9577 if test no = "$build_old_libs"; then
9578 oldlibs=$output_objdir/$libname.$libext
9579 build_libtool_libs=module
9580 build_old_libs=yes
9581 else
9582 build_libtool_libs=no
9583 fi
9584 fi
9585 fi
9586 fi
9587 # Done checking deplibs!
9588 deplibs=$newdeplibs
9589 fi
9590 # Time to change all our "foo.ltframework" stuff back to "-framework foo"
9591 case $host in
9592 *-*-darwin*)
9593 newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
9594 new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
9595 deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
9596 ;;
9597 esac
9598
9599 # move library search paths that coincide with paths to not yet
9600 # installed libraries to the beginning of the library search list
9601 new_libs=
9602 for path in $notinst_path; do
9603 case " $new_libs " in
9604 *" -L$path/$objdir "*) ;;
9605 *)
9606 case " $deplibs " in
9607 *" -L$path/$objdir "*)
9608 func_append new_libs " -L$path/$objdir" ;;
9609 esac
9610 ;;
9611 esac
9612 done
9613 for deplib in $deplibs; do
9614 case $deplib in
9615 -L*)
9616 case " $new_libs " in
9617 *" $deplib "*) ;;
9618 *) func_append new_libs " $deplib" ;;
9619 esac
9620 ;;
9621 *) func_append new_libs " $deplib" ;;
9622 esac
9623 done
9624 deplibs=$new_libs
9625
9626 # All the library-specific variables (install_libdir is set above).
9627 library_names=
9628 old_library=
9629 dlname=
9630
9631 # Test again, we may have decided not to build it any more
9632 if test yes = "$build_libtool_libs"; then
9633 # Remove $wl instances when linking with ld.
9634 # FIXME: should test the right _cmds variable.
9635 case $archive_cmds in
9636 *\$LD\ *) wl= ;;
9637 esac
9638 if test yes = "$hardcode_into_libs"; then
9639 # Hardcode the library paths
9640 hardcode_libdirs=
9641 dep_rpath=
9642 rpath=$finalize_rpath
9643 test relink = "$opt_mode" || rpath=$compile_rpath$rpath
9644 for libdir in $rpath; do
9645 if test -n "$hardcode_libdir_flag_spec"; then
9646 if test -n "$hardcode_libdir_separator"; then
9647 func_replace_sysroot "$libdir"
9648 libdir=$func_replace_sysroot_result
9649 if test -z "$hardcode_libdirs"; then
9650 hardcode_libdirs=$libdir
9651 else
9652 # Just accumulate the unique libdirs.
9653 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
9654 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
9655 ;;
9656 *)
9657 func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
9658 ;;
9659 esac
9660 fi
9661 else
9662 eval flag=\"$hardcode_libdir_flag_spec\"
9663 func_append dep_rpath " $flag"
9664 fi
9665 elif test -n "$runpath_var"; then
9666 case "$perm_rpath " in
9667 *" $libdir "*) ;;
9668 *) func_append perm_rpath " $libdir" ;;
9669 esac
9670 fi
9671 done
9672 # Substitute the hardcoded libdirs into the rpath.
9673 if test -n "$hardcode_libdir_separator" &&
9674 test -n "$hardcode_libdirs"; then
9675 libdir=$hardcode_libdirs
9676 eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
9677 fi
9678 if test -n "$runpath_var" && test -n "$perm_rpath"; then
9679 # We should set the runpath_var.
9680 rpath=
9681 for dir in $perm_rpath; do
9682 func_append rpath "$dir:"
9683 done
9684 eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
9685 fi
9686 test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
9687 fi
9688
9689 shlibpath=$finalize_shlibpath
9690 test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath
9691 if test -n "$shlibpath"; then
9692 eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
9693 fi
9694
9695 # Get the real and link names of the library.
9696 eval shared_ext=\"$shrext_cmds\"
9697 eval library_names=\"$library_names_spec\"
9698 set dummy $library_names
9699 shift
9700 realname=$1
9701 shift
9702
9703 if test -n "$soname_spec"; then
9704 eval soname=\"$soname_spec\"
9705 else
9706 soname=$realname
9707 fi
9708 if test -z "$dlname"; then
9709 dlname=$soname
9710 fi
9711
9712 lib=$output_objdir/$realname
9713 linknames=
9714 for link
9715 do
9716 func_append linknames " $link"
9717 done
9718
9719 # Use standard objects if they are pic
9720 test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
9721 test "X$libobjs" = "X " && libobjs=
9722
9723 delfiles=
9724 if test -n "$export_symbols" && test -n "$include_expsyms"; then
9725 $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
9726 export_symbols=$output_objdir/$libname.uexp
9727 func_append delfiles " $export_symbols"
9728 fi
9729
9730 orig_export_symbols=
9731 case $host_os in
9732 cygwin* | mingw* | cegcc*)
9733 if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
9734 # exporting using user supplied symfile
9735 func_dll_def_p "$export_symbols" || {
9736 # and it's NOT already a .def file. Must figure out
9737 # which of the given symbols are data symbols and tag
9738 # them as such. So, trigger use of export_symbols_cmds.
9739 # export_symbols gets reassigned inside the "prepare
9740 # the list of exported symbols" if statement, so the
9741 # include_expsyms logic still works.
9742 orig_export_symbols=$export_symbols
9743 export_symbols=
9744 always_export_symbols=yes
9745 }
9746 fi
9747 ;;
9748 esac
9749
9750 # Prepare the list of exported symbols
9751 if test -z "$export_symbols"; then
9752 if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then
9753 func_verbose "generating symbol list for '$libname.la'"
9754 export_symbols=$output_objdir/$libname.exp
9755 $opt_dry_run || $RM $export_symbols
9756 cmds=$export_symbols_cmds
9757 save_ifs=$IFS; IFS='~'
9758 for cmd1 in $cmds; do
9759 IFS=$save_ifs
9760 # Take the normal branch if the nm_file_list_spec branch
9761 # doesn't work or if tool conversion is not needed.
9762 case $nm_file_list_spec~$to_tool_file_cmd in
9763 *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
9764 try_normal_branch=yes
9765 eval cmd=\"$cmd1\"
9766 func_len " $cmd"
9767 len=$func_len_result
9768 ;;
9769 *)
9770 try_normal_branch=no
9771 ;;
9772 esac
9773 if test yes = "$try_normal_branch" \
9774 && { test "$len" -lt "$max_cmd_len" \
9775 || test "$max_cmd_len" -le -1; }
9776 then
9777 func_show_eval "$cmd" 'exit $?'
9778 skipped_export=false
9779 elif test -n "$nm_file_list_spec"; then
9780 func_basename "$output"
9781 output_la=$func_basename_result
9782 save_libobjs=$libobjs
9783 save_output=$output
9784 output=$output_objdir/$output_la.nm
9785 func_to_tool_file "$output"
9786 libobjs=$nm_file_list_spec$func_to_tool_file_result
9787 func_append delfiles " $output"
9788 func_verbose "creating $NM input file list: $output"
9789 for obj in $save_libobjs; do
9790 func_to_tool_file "$obj"
9791 $ECHO "$func_to_tool_file_result"
9792 done > "$output"
9793 eval cmd=\"$cmd1\"
9794 func_show_eval "$cmd" 'exit $?'
9795 output=$save_output
9796 libobjs=$save_libobjs
9797 skipped_export=false
9798 else
9799 # The command line is too long to execute in one step.
9800 func_verbose "using reloadable object file for export list..."
9801 skipped_export=:
9802 # Break out early, otherwise skipped_export may be
9803 # set to false by a later but shorter cmd.
9804 break
9805 fi
9806 done
9807 IFS=$save_ifs
9808 if test -n "$export_symbols_regex" && test : != "$skipped_export"; then
9809 func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
9810 func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
9811 fi
9812 fi
9813 fi
9814
9815 if test -n "$export_symbols" && test -n "$include_expsyms"; then
9816 tmp_export_symbols=$export_symbols
9817 test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
9818 $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
9819 fi
9820
9821 if test : != "$skipped_export" && test -n "$orig_export_symbols"; then
9822 # The given exports_symbols file has to be filtered, so filter it.
9823 func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
9824 # FIXME: $output_objdir/$libname.filter potentially contains lots of
9825 # 's' commands, which not all seds can handle. GNU sed should be fine
9826 # though. Also, the filter scales superlinearly with the number of
9827 # global variables. join(1) would be nice here, but unfortunately
9828 # isn't a blessed tool.
9829 $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
9830 func_append delfiles " $export_symbols $output_objdir/$libname.filter"
9831 export_symbols=$output_objdir/$libname.def
9832 $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
9833 fi
9834
9835 tmp_deplibs=
9836 for test_deplib in $deplibs; do
9837 case " $convenience " in
9838 *" $test_deplib "*) ;;
9839 *)
9840 func_append tmp_deplibs " $test_deplib"
9841 ;;
9842 esac
9843 done
9844 deplibs=$tmp_deplibs
9845
9846 if test -n "$convenience"; then
9847 if test -n "$whole_archive_flag_spec" &&
9848 test yes = "$compiler_needs_object" &&
9849 test -z "$libobjs"; then
9850 # extract the archives, so we have objects to list.
9851 # TODO: could optimize this to just extract one archive.
9852 whole_archive_flag_spec=
9853 fi
9854 if test -n "$whole_archive_flag_spec"; then
9855 save_libobjs=$libobjs
9856 eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
9857 test "X$libobjs" = "X " && libobjs=
9858 else
9859 gentop=$output_objdir/${outputname}x
9860 func_append generated " $gentop"
9861
9862 func_extract_archives $gentop $convenience
9863 func_append libobjs " $func_extract_archives_result"
9864 test "X$libobjs" = "X " && libobjs=
9865 fi
9866 fi
9867
9868 if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then
9869 eval flag=\"$thread_safe_flag_spec\"
9870 func_append linker_flags " $flag"
9871 fi
9872
9873 # Make a backup of the uninstalled library when relinking
9874 if test relink = "$opt_mode"; then
9875 $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
9876 fi
9877
9878 # Do each of the archive commands.
9879 if test yes = "$module" && test -n "$module_cmds"; then
9880 if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
9881 eval test_cmds=\"$module_expsym_cmds\"
9882 cmds=$module_expsym_cmds
9883 else
9884 eval test_cmds=\"$module_cmds\"
9885 cmds=$module_cmds
9886 fi
9887 else
9888 if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
9889 eval test_cmds=\"$archive_expsym_cmds\"
9890 cmds=$archive_expsym_cmds
9891 else
9892 eval test_cmds=\"$archive_cmds\"
9893 cmds=$archive_cmds
9894 fi
9895 fi
9896
9897 if test : != "$skipped_export" &&
9898 func_len " $test_cmds" &&
9899 len=$func_len_result &&
9900 test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
9901 :
9902 else
9903 # The command line is too long to link in one step, link piecewise
9904 # or, if using GNU ld and skipped_export is not :, use a linker
9905 # script.
9906
9907 # Save the value of $output and $libobjs because we want to
9908 # use them later. If we have whole_archive_flag_spec, we
9909 # want to use save_libobjs as it was before
9910 # whole_archive_flag_spec was expanded, because we can't
9911 # assume the linker understands whole_archive_flag_spec.
9912 # This may have to be revisited, in case too many
9913 # convenience libraries get linked in and end up exceeding
9914 # the spec.
9915 if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
9916 save_libobjs=$libobjs
9917 fi
9918 save_output=$output
9919 func_basename "$output"
9920 output_la=$func_basename_result
9921
9922 # Clear the reloadable object creation command queue and
9923 # initialize k to one.
9924 test_cmds=
9925 concat_cmds=
9926 objlist=
9927 last_robj=
9928 k=1
9929
9930 if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
9931 output=$output_objdir/$output_la.lnkscript
9932 func_verbose "creating GNU ld script: $output"
9933 echo 'INPUT (' > $output
9934 for obj in $save_libobjs
9935 do
9936 func_to_tool_file "$obj"
9937 $ECHO "$func_to_tool_file_result" >> $output
9938 done
9939 echo ')' >> $output
9940 func_append delfiles " $output"
9941 func_to_tool_file "$output"
9942 output=$func_to_tool_file_result
9943 elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
9944 output=$output_objdir/$output_la.lnk
9945 func_verbose "creating linker input file list: $output"
9946 : > $output
9947 set x $save_libobjs
9948 shift
9949 firstobj=
9950 if test yes = "$compiler_needs_object"; then
9951 firstobj="$1 "
9952 shift
9953 fi
9954 for obj
9955 do
9956 func_to_tool_file "$obj"
9957 $ECHO "$func_to_tool_file_result" >> $output
9958 done
9959 func_append delfiles " $output"
9960 func_to_tool_file "$output"
9961 output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
9962 else
9963 if test -n "$save_libobjs"; then
9964 func_verbose "creating reloadable object files..."
9965 output=$output_objdir/$output_la-$k.$objext
9966 eval test_cmds=\"$reload_cmds\"
9967 func_len " $test_cmds"
9968 len0=$func_len_result
9969 len=$len0
9970
9971 # Loop over the list of objects to be linked.
9972 for obj in $save_libobjs
9973 do
9974 func_len " $obj"
9975 func_arith $len + $func_len_result
9976 len=$func_arith_result
9977 if test -z "$objlist" ||
9978 test "$len" -lt "$max_cmd_len"; then
9979 func_append objlist " $obj"
9980 else
9981 # The command $test_cmds is almost too long, add a
9982 # command to the queue.
9983 if test 1 -eq "$k"; then
9984 # The first file doesn't have a previous command to add.
9985 reload_objs=$objlist
9986 eval concat_cmds=\"$reload_cmds\"
9987 else
9988 # All subsequent reloadable object files will link in
9989 # the last one created.
9990 reload_objs="$objlist $last_robj"
9991 eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
9992 fi
9993 last_robj=$output_objdir/$output_la-$k.$objext
9994 func_arith $k + 1
9995 k=$func_arith_result
9996 output=$output_objdir/$output_la-$k.$objext
9997 objlist=" $obj"
9998 func_len " $last_robj"
9999 func_arith $len0 + $func_len_result
10000 len=$func_arith_result
10001 fi
10002 done
10003 # Handle the remaining objects by creating one last
10004 # reloadable object file. All subsequent reloadable object
10005 # files will link in the last one created.
10006 test -z "$concat_cmds" || concat_cmds=$concat_cmds~
10007 reload_objs="$objlist $last_robj"
10008 eval concat_cmds=\"\$concat_cmds$reload_cmds\"
10009 if test -n "$last_robj"; then
10010 eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
10011 fi
10012 func_append delfiles " $output"
10013
10014 else
10015 output=
10016 fi
10017
10018 ${skipped_export-false} && {
10019 func_verbose "generating symbol list for '$libname.la'"
10020 export_symbols=$output_objdir/$libname.exp
10021 $opt_dry_run || $RM $export_symbols
10022 libobjs=$output
10023 # Append the command to create the export file.
10024 test -z "$concat_cmds" || concat_cmds=$concat_cmds~
10025 eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
10026 if test -n "$last_robj"; then
10027 eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
10028 fi
10029 }
10030
10031 test -n "$save_libobjs" &&
10032 func_verbose "creating a temporary reloadable object file: $output"
10033
10034 # Loop through the commands generated above and execute them.
10035 save_ifs=$IFS; IFS='~'
10036 for cmd in $concat_cmds; do
10037 IFS=$save_ifs
10038 $opt_quiet || {
10039 func_quote_for_expand "$cmd"
10040 eval "func_echo $func_quote_for_expand_result"
10041 }
10042 $opt_dry_run || eval "$cmd" || {
10043 lt_exit=$?
10044
10045 # Restore the uninstalled library and exit
10046 if test relink = "$opt_mode"; then
10047 ( cd "$output_objdir" && \
10048 $RM "${realname}T" && \
10049 $MV "${realname}U" "$realname" )
10050 fi
10051
10052 exit $lt_exit
10053 }
10054 done
10055 IFS=$save_ifs
10056
10057 if test -n "$export_symbols_regex" && ${skipped_export-false}; then
10058 func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
10059 func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
10060 fi
10061 fi
10062
10063 ${skipped_export-false} && {
10064 if test -n "$export_symbols" && test -n "$include_expsyms"; then
10065 tmp_export_symbols=$export_symbols
10066 test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
10067 $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
10068 fi
10069
10070 if test -n "$orig_export_symbols"; then
10071 # The given exports_symbols file has to be filtered, so filter it.
10072 func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
10073 # FIXME: $output_objdir/$libname.filter potentially contains lots of
10074 # 's' commands, which not all seds can handle. GNU sed should be fine
10075 # though. Also, the filter scales superlinearly with the number of
10076 # global variables. join(1) would be nice here, but unfortunately
10077 # isn't a blessed tool.
10078 $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
10079 func_append delfiles " $export_symbols $output_objdir/$libname.filter"
10080 export_symbols=$output_objdir/$libname.def
10081 $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
10082 fi
10083 }
10084
10085 libobjs=$output
10086 # Restore the value of output.
10087 output=$save_output
10088
10089 if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
10090 eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
10091 test "X$libobjs" = "X " && libobjs=
10092 fi
10093 # Expand the library linking commands again to reset the
10094 # value of $libobjs for piecewise linking.
10095
10096 # Do each of the archive commands.
10097 if test yes = "$module" && test -n "$module_cmds"; then
10098 if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
10099 cmds=$module_expsym_cmds
10100 else
10101 cmds=$module_cmds
10102 fi
10103 else
10104 if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
10105 cmds=$archive_expsym_cmds
10106 else
10107 cmds=$archive_cmds
10108 fi
10109 fi
10110 fi
10111
10112 if test -n "$delfiles"; then
10113 # Append the command to remove temporary files to $cmds.
10114 eval cmds=\"\$cmds~\$RM $delfiles\"
10115 fi
10116
10117 # Add any objects from preloaded convenience libraries
10118 if test -n "$dlprefiles"; then
10119 gentop=$output_objdir/${outputname}x
10120 func_append generated " $gentop"
10121
10122 func_extract_archives $gentop $dlprefiles
10123 func_append libobjs " $func_extract_archives_result"
10124 test "X$libobjs" = "X " && libobjs=
10125 fi
10126
10127 save_ifs=$IFS; IFS='~'
10128 for cmd in $cmds; do
10129 IFS=$sp$nl
10130 eval cmd=\"$cmd\"
10131 IFS=$save_ifs
10132 $opt_quiet || {
10133 func_quote_for_expand "$cmd"
10134 eval "func_echo $func_quote_for_expand_result"
10135 }
10136 $opt_dry_run || eval "$cmd" || {
10137 lt_exit=$?
10138
10139 # Restore the uninstalled library and exit
10140 if test relink = "$opt_mode"; then
10141 ( cd "$output_objdir" && \
10142 $RM "${realname}T" && \
10143 $MV "${realname}U" "$realname" )
10144 fi
10145
10146 exit $lt_exit
10147 }
10148 done
10149 IFS=$save_ifs
10150
10151 # Restore the uninstalled library and exit
10152 if test relink = "$opt_mode"; then
10153 $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
10154
10155 if test -n "$convenience"; then
10156 if test -z "$whole_archive_flag_spec"; then
10157 func_show_eval '${RM}r "$gentop"'
10158 fi
10159 fi
10160
10161 exit $EXIT_SUCCESS
10162 fi
10163
10164 # Create links to the real library.
10165 for linkname in $linknames; do
10166 if test "$realname" != "$linkname"; then
10167 func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
10168 fi
10169 done
10170
10171 # If -module or -export-dynamic was specified, set the dlname.
10172 if test yes = "$module" || test yes = "$export_dynamic"; then
10173 # On all known operating systems, these are identical.
10174 dlname=$soname
10175 fi
10176 fi
10177 ;;
10178
10179 obj)
10180 if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
10181 func_warning "'-dlopen' is ignored for objects"
10182 fi
10183
10184 case " $deplibs" in
10185 *\ -l* | *\ -L*)
10186 func_warning "'-l' and '-L' are ignored for objects" ;;
10187 esac
10188
10189 test -n "$rpath" && \
10190 func_warning "'-rpath' is ignored for objects"
10191
10192 test -n "$xrpath" && \
10193 func_warning "'-R' is ignored for objects"
10194
10195 test -n "$vinfo" && \
10196 func_warning "'-version-info' is ignored for objects"
10197
10198 test -n "$release" && \
10199 func_warning "'-release' is ignored for objects"
10200
10201 case $output in
10202 *.lo)
10203 test -n "$objs$old_deplibs" && \
10204 func_fatal_error "cannot build library object '$output' from non-libtool objects"
10205
10206 libobj=$output
10207 func_lo2o "$libobj"
10208 obj=$func_lo2o_result
10209 ;;
10210 *)
10211 libobj=
10212 obj=$output
10213 ;;
10214 esac
10215
10216 # Delete the old objects.
10217 $opt_dry_run || $RM $obj $libobj
10218
10219 # Objects from convenience libraries. This assumes
10220 # single-version convenience libraries. Whenever we create
10221 # different ones for PIC/non-PIC, this we'll have to duplicate
10222 # the extraction.
10223 reload_conv_objs=
10224 gentop=
10225 # if reload_cmds runs $LD directly, get rid of -Wl from
10226 # whole_archive_flag_spec and hope we can get by with turning comma
10227 # into space.
10228 case $reload_cmds in
10229 *\$LD[\ \$]*) wl= ;;
10230 esac
10231 if test -n "$convenience"; then
10232 if test -n "$whole_archive_flag_spec"; then
10233 eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
10234 test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
10235 reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags
10236 else
10237 gentop=$output_objdir/${obj}x
10238 func_append generated " $gentop"
10239
10240 func_extract_archives $gentop $convenience
10241 reload_conv_objs="$reload_objs $func_extract_archives_result"
10242 fi
10243 fi
10244
10245 # If we're not building shared, we need to use non_pic_objs
10246 test yes = "$build_libtool_libs" || libobjs=$non_pic_objects
10247
10248 # Create the old-style object.
10249 reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs
10250
10251 output=$obj
10252 func_execute_cmds "$reload_cmds" 'exit $?'
10253
10254 # Exit if we aren't doing a library object file.
10255 if test -z "$libobj"; then
10256 if test -n "$gentop"; then
10257 func_show_eval '${RM}r "$gentop"'
10258 fi
10259
10260 exit $EXIT_SUCCESS
10261 fi
10262
10263 test yes = "$build_libtool_libs" || {
10264 if test -n "$gentop"; then
10265 func_show_eval '${RM}r "$gentop"'
10266 fi
10267
10268 # Create an invalid libtool object if no PIC, so that we don't
10269 # accidentally link it into a program.
10270 # $show "echo timestamp > $libobj"
10271 # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
10272 exit $EXIT_SUCCESS
10273 }
10274
10275 if test -n "$pic_flag" || test default != "$pic_mode"; then
10276 # Only do commands if we really have different PIC objects.
10277 reload_objs="$libobjs $reload_conv_objs"
10278 output=$libobj
10279 func_execute_cmds "$reload_cmds" 'exit $?'
10280 fi
10281
10282 if test -n "$gentop"; then
10283 func_show_eval '${RM}r "$gentop"'
10284 fi
10285
10286 exit $EXIT_SUCCESS
10287 ;;
10288
10289 prog)
10290 case $host in
10291 *cygwin*) func_stripname '' '.exe' "$output"
10292 output=$func_stripname_result.exe;;
10293 esac
10294 test -n "$vinfo" && \
10295 func_warning "'-version-info' is ignored for programs"
10296
10297 test -n "$release" && \
10298 func_warning "'-release' is ignored for programs"
10299
10300 $preload \
10301 && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \
10302 && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support."
10303
10304 case $host in
10305 *-*-rhapsody* | *-*-darwin1.[012])
10306 # On Rhapsody replace the C library is the System framework
10307 compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
10308 finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
10309 ;;
10310 esac
10311
10312 case $host in
10313 *-*-darwin*)
10314 # Don't allow lazy linking, it breaks C++ global constructors
10315 # But is supposedly fixed on 10.4 or later (yay!).
10316 if test CXX = "$tagname"; then
10317 case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
10318 10.[0123])
10319 func_append compile_command " $wl-bind_at_load"
10320 func_append finalize_command " $wl-bind_at_load"
10321 ;;
10322 esac
10323 fi
10324 # Time to change all our "foo.ltframework" stuff back to "-framework foo"
10325 compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
10326 finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
10327 ;;
10328 esac
10329
10330
10331 # move library search paths that coincide with paths to not yet
10332 # installed libraries to the beginning of the library search list
10333 new_libs=
10334 for path in $notinst_path; do
10335 case " $new_libs " in
10336 *" -L$path/$objdir "*) ;;
10337 *)
10338 case " $compile_deplibs " in
10339 *" -L$path/$objdir "*)
10340 func_append new_libs " -L$path/$objdir" ;;
10341 esac
10342 ;;
10343 esac
10344 done
10345 for deplib in $compile_deplibs; do
10346 case $deplib in
10347 -L*)
10348 case " $new_libs " in
10349 *" $deplib "*) ;;
10350 *) func_append new_libs " $deplib" ;;
10351 esac
10352 ;;
10353 *) func_append new_libs " $deplib" ;;
10354 esac
10355 done
10356 compile_deplibs=$new_libs
10357
10358
10359 func_append compile_command " $compile_deplibs"
10360 func_append finalize_command " $finalize_deplibs"
10361
10362 if test -n "$rpath$xrpath"; then
10363 # If the user specified any rpath flags, then add them.
10364 for libdir in $rpath $xrpath; do
10365 # This is the magic to use -rpath.
10366 case "$finalize_rpath " in
10367 *" $libdir "*) ;;
10368 *) func_append finalize_rpath " $libdir" ;;
10369 esac
10370 done
10371 fi
10372
10373 # Now hardcode the library paths
10374 rpath=
10375 hardcode_libdirs=
10376 for libdir in $compile_rpath $finalize_rpath; do
10377 if test -n "$hardcode_libdir_flag_spec"; then
10378 if test -n "$hardcode_libdir_separator"; then
10379 if test -z "$hardcode_libdirs"; then
10380 hardcode_libdirs=$libdir
10381 else
10382 # Just accumulate the unique libdirs.
10383 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
10384 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
10385 ;;
10386 *)
10387 func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
10388 ;;
10389 esac
10390 fi
10391 else
10392 eval flag=\"$hardcode_libdir_flag_spec\"
10393 func_append rpath " $flag"
10394 fi
10395 elif test -n "$runpath_var"; then
10396 case "$perm_rpath " in
10397 *" $libdir "*) ;;
10398 *) func_append perm_rpath " $libdir" ;;
10399 esac
10400 fi
10401 case $host in
10402 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
10403 testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
10404 case :$dllsearchpath: in
10405 *":$libdir:"*) ;;
10406 ::) dllsearchpath=$libdir;;
10407 *) func_append dllsearchpath ":$libdir";;
10408 esac
10409 case :$dllsearchpath: in
10410 *":$testbindir:"*) ;;
10411 ::) dllsearchpath=$testbindir;;
10412 *) func_append dllsearchpath ":$testbindir";;
10413 esac
10414 ;;
10415 esac
10416 done
10417 # Substitute the hardcoded libdirs into the rpath.
10418 if test -n "$hardcode_libdir_separator" &&
10419 test -n "$hardcode_libdirs"; then
10420 libdir=$hardcode_libdirs
10421 eval rpath=\" $hardcode_libdir_flag_spec\"
10422 fi
10423 compile_rpath=$rpath
10424
10425 rpath=
10426 hardcode_libdirs=
10427 for libdir in $finalize_rpath; do
10428 if test -n "$hardcode_libdir_flag_spec"; then
10429 if test -n "$hardcode_libdir_separator"; then
10430 if test -z "$hardcode_libdirs"; then
10431 hardcode_libdirs=$libdir
10432 else
10433 # Just accumulate the unique libdirs.
10434 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
10435 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
10436 ;;
10437 *)
10438 func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
10439 ;;
10440 esac
10441 fi
10442 else
10443 eval flag=\"$hardcode_libdir_flag_spec\"
10444 func_append rpath " $flag"
10445 fi
10446 elif test -n "$runpath_var"; then
10447 case "$finalize_perm_rpath " in
10448 *" $libdir "*) ;;
10449 *) func_append finalize_perm_rpath " $libdir" ;;
10450 esac
10451 fi
10452 done
10453 # Substitute the hardcoded libdirs into the rpath.
10454 if test -n "$hardcode_libdir_separator" &&
10455 test -n "$hardcode_libdirs"; then
10456 libdir=$hardcode_libdirs
10457 eval rpath=\" $hardcode_libdir_flag_spec\"
10458 fi
10459 finalize_rpath=$rpath
10460
10461 if test -n "$libobjs" && test yes = "$build_old_libs"; then
10462 # Transform all the library objects into standard objects.
10463 compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
10464 finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
10465 fi
10466
10467 func_generate_dlsyms "$outputname" "@PROGRAM@" false
10468
10469 # template prelinking step
10470 if test -n "$prelink_cmds"; then
10471 func_execute_cmds "$prelink_cmds" 'exit $?'
10472 fi
10473
10474 wrappers_required=:
10475 case $host in
10476 *cegcc* | *mingw32ce*)
10477 # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
10478 wrappers_required=false
10479 ;;
10480 *cygwin* | *mingw* )
10481 test yes = "$build_libtool_libs" || wrappers_required=false
10482 ;;
10483 *)
10484 if test no = "$need_relink" || test yes != "$build_libtool_libs"; then
10485 wrappers_required=false
10486 fi
10487 ;;
10488 esac
10489 $wrappers_required || {
10490 # Replace the output file specification.
10491 compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
10492 link_command=$compile_command$compile_rpath
10493
10494 # We have no uninstalled library dependencies, so finalize right now.
10495 exit_status=0
10496 func_show_eval "$link_command" 'exit_status=$?'
10497
10498 if test -n "$postlink_cmds"; then
10499 func_to_tool_file "$output"
10500 postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
10501 func_execute_cmds "$postlink_cmds" 'exit $?'
10502 fi
10503
10504 # Delete the generated files.
10505 if test -f "$output_objdir/${outputname}S.$objext"; then
10506 func_show_eval '$RM "$output_objdir/${outputname}S.$objext"'
10507 fi
10508
10509 exit $exit_status
10510 }
10511
10512 if test -n "$compile_shlibpath$finalize_shlibpath"; then
10513 compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
10514 fi
10515 if test -n "$finalize_shlibpath"; then
10516 finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
10517 fi
10518
10519 compile_var=
10520 finalize_var=
10521 if test -n "$runpath_var"; then
10522 if test -n "$perm_rpath"; then
10523 # We should set the runpath_var.
10524 rpath=
10525 for dir in $perm_rpath; do
10526 func_append rpath "$dir:"
10527 done
10528 compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
10529 fi
10530 if test -n "$finalize_perm_rpath"; then
10531 # We should set the runpath_var.
10532 rpath=
10533 for dir in $finalize_perm_rpath; do
10534 func_append rpath "$dir:"
10535 done
10536 finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
10537 fi
10538 fi
10539
10540 if test yes = "$no_install"; then
10541 # We don't need to create a wrapper script.
10542 link_command=$compile_var$compile_command$compile_rpath
10543 # Replace the output file specification.
10544 link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
10545 # Delete the old output file.
10546 $opt_dry_run || $RM $output
10547 # Link the executable and exit
10548 func_show_eval "$link_command" 'exit $?'
10549
10550 if test -n "$postlink_cmds"; then
10551 func_to_tool_file "$output"
10552 postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
10553 func_execute_cmds "$postlink_cmds" 'exit $?'
10554 fi
10555
10556 exit $EXIT_SUCCESS
10557 fi
10558
10559 case $hardcode_action,$fast_install in
10560 relink,*)
10561 # Fast installation is not supported
10562 link_command=$compile_var$compile_command$compile_rpath
10563 relink_command=$finalize_var$finalize_command$finalize_rpath
10564
10565 func_warning "this platform does not like uninstalled shared libraries"
10566 func_warning "'$output' will be relinked during installation"
10567 ;;
10568 *,yes)
10569 link_command=$finalize_var$compile_command$finalize_rpath
10570 relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
10571 ;;
10572 *,no)
10573 link_command=$compile_var$compile_command$compile_rpath
10574 relink_command=$finalize_var$finalize_command$finalize_rpath
10575 ;;
10576 *,needless)
10577 link_command=$finalize_var$compile_command$finalize_rpath
10578 relink_command=
10579 ;;
10580 esac
10581
10582 # Replace the output file specification.
10583 link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
10584
10585 # Delete the old output files.
10586 $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
10587
10588 func_show_eval "$link_command" 'exit $?'
10589
10590 if test -n "$postlink_cmds"; then
10591 func_to_tool_file "$output_objdir/$outputname"
10592 postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
10593 func_execute_cmds "$postlink_cmds" 'exit $?'
10594 fi
10595
10596 # Now create the wrapper script.
10597 func_verbose "creating $output"
10598
10599 # Quote the relink command for shipping.
10600 if test -n "$relink_command"; then
10601 # Preserve any variables that may affect compiler behavior
10602 for var in $variables_saved_for_relink; do
10603 if eval test -z \"\${$var+set}\"; then
10604 relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
10605 elif eval var_value=\$$var; test -z "$var_value"; then
10606 relink_command="$var=; export $var; $relink_command"
10607 else
10608 func_quote_for_eval "$var_value"
10609 relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
10610 fi
10611 done
10612 relink_command="(cd `pwd`; $relink_command)"
10613 relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
10614 fi
10615
10616 # Only actually do things if not in dry run mode.
10617 $opt_dry_run || {
10618 # win32 will think the script is a binary if it has
10619 # a .exe suffix, so we strip it off here.
10620 case $output in
10621 *.exe) func_stripname '' '.exe' "$output"
10622 output=$func_stripname_result ;;
10623 esac
10624 # test for cygwin because mv fails w/o .exe extensions
10625 case $host in
10626 *cygwin*)
10627 exeext=.exe
10628 func_stripname '' '.exe' "$outputname"
10629 outputname=$func_stripname_result ;;
10630 *) exeext= ;;
10631 esac
10632 case $host in
10633 *cygwin* | *mingw* )
10634 func_dirname_and_basename "$output" "" "."
10635 output_name=$func_basename_result
10636 output_path=$func_dirname_result
10637 cwrappersource=$output_path/$objdir/lt-$output_name.c
10638 cwrapper=$output_path/$output_name.exe
10639 $RM $cwrappersource $cwrapper
10640 trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
10641
10642 func_emit_cwrapperexe_src > $cwrappersource
10643
10644 # The wrapper executable is built using the $host compiler,
10645 # because it contains $host paths and files. If cross-
10646 # compiling, it, like the target executable, must be
10647 # executed on the $host or under an emulation environment.
10648 $opt_dry_run || {
10649 $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
10650 $STRIP $cwrapper
10651 }
10652
10653 # Now, create the wrapper script for func_source use:
10654 func_ltwrapper_scriptname $cwrapper
10655 $RM $func_ltwrapper_scriptname_result
10656 trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
10657 $opt_dry_run || {
10658 # note: this script will not be executed, so do not chmod.
10659 if test "x$build" = "x$host"; then
10660 $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
10661 else
10662 func_emit_wrapper no > $func_ltwrapper_scriptname_result
10663 fi
10664 }
10665 ;;
10666 * )
10667 $RM $output
10668 trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
10669
10670 func_emit_wrapper no > $output
10671 chmod +x $output
10672 ;;
10673 esac
10674 }
10675 exit $EXIT_SUCCESS
10676 ;;
10677 esac
10678
10679 # See if we need to build an old-fashioned archive.
10680 for oldlib in $oldlibs; do
10681
10682 case $build_libtool_libs in
10683 convenience)
10684 oldobjs="$libobjs_save $symfileobj"
10685 addlibs=$convenience
10686 build_libtool_libs=no
10687 ;;
10688 module)
10689 oldobjs=$libobjs_save
10690 addlibs=$old_convenience
10691 build_libtool_libs=no
10692 ;;
10693 *)
10694 oldobjs="$old_deplibs $non_pic_objects"
10695 $preload && test -f "$symfileobj" \
10696 && func_append oldobjs " $symfileobj"
10697 addlibs=$old_convenience
10698 ;;
10699 esac
10700
10701 if test -n "$addlibs"; then
10702 gentop=$output_objdir/${outputname}x
10703 func_append generated " $gentop"
10704
10705 func_extract_archives $gentop $addlibs
10706 func_append oldobjs " $func_extract_archives_result"
10707 fi
10708
10709 # Do each command in the archive commands.
10710 if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then
10711 cmds=$old_archive_from_new_cmds
10712 else
10713
10714 # Add any objects from preloaded convenience libraries
10715 if test -n "$dlprefiles"; then
10716 gentop=$output_objdir/${outputname}x
10717 func_append generated " $gentop"
10718
10719 func_extract_archives $gentop $dlprefiles
10720 func_append oldobjs " $func_extract_archives_result"
10721 fi
10722
10723 # POSIX demands no paths to be encoded in archives. We have
10724 # to avoid creating archives with duplicate basenames if we
10725 # might have to extract them afterwards, e.g., when creating a
10726 # static archive out of a convenience library, or when linking
10727 # the entirety of a libtool archive into another (currently
10728 # not supported by libtool).
10729 if (for obj in $oldobjs
10730 do
10731 func_basename "$obj"
10732 $ECHO "$func_basename_result"
10733 done | sort | sort -uc >/dev/null 2>&1); then
10734 :
10735 else
10736 echo "copying selected object files to avoid basename conflicts..."
10737 gentop=$output_objdir/${outputname}x
10738 func_append generated " $gentop"
10739 func_mkdir_p "$gentop"
10740 save_oldobjs=$oldobjs
10741 oldobjs=
10742 counter=1
10743 for obj in $save_oldobjs
10744 do
10745 func_basename "$obj"
10746 objbase=$func_basename_result
10747 case " $oldobjs " in
10748 " ") oldobjs=$obj ;;
10749 *[\ /]"$objbase "*)
10750 while :; do
10751 # Make sure we don't pick an alternate name that also
10752 # overlaps.
10753 newobj=lt$counter-$objbase
10754 func_arith $counter + 1
10755 counter=$func_arith_result
10756 case " $oldobjs " in
10757 *[\ /]"$newobj "*) ;;
10758 *) if test ! -f "$gentop/$newobj"; then break; fi ;;
10759 esac
10760 done
10761 func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
10762 func_append oldobjs " $gentop/$newobj"
10763 ;;
10764 *) func_append oldobjs " $obj" ;;
10765 esac
10766 done
10767 fi
10768 func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
10769 tool_oldlib=$func_to_tool_file_result
10770 eval cmds=\"$old_archive_cmds\"
10771
10772 func_len " $cmds"
10773 len=$func_len_result
10774 if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
10775 cmds=$old_archive_cmds
10776 elif test -n "$archiver_list_spec"; then
10777 func_verbose "using command file archive linking..."
10778 for obj in $oldobjs
10779 do
10780 func_to_tool_file "$obj"
10781 $ECHO "$func_to_tool_file_result"
10782 done > $output_objdir/$libname.libcmd
10783 func_to_tool_file "$output_objdir/$libname.libcmd"
10784 oldobjs=" $archiver_list_spec$func_to_tool_file_result"
10785 cmds=$old_archive_cmds
10786 else
10787 # the command line is too long to link in one step, link in parts
10788 func_verbose "using piecewise archive linking..."
10789 save_RANLIB=$RANLIB
10790 RANLIB=:
10791 objlist=
10792 concat_cmds=
10793 save_oldobjs=$oldobjs
10794 oldobjs=
10795 # Is there a better way of finding the last object in the list?
10796 for obj in $save_oldobjs
10797 do
10798 last_oldobj=$obj
10799 done
10800 eval test_cmds=\"$old_archive_cmds\"
10801 func_len " $test_cmds"
10802 len0=$func_len_result
10803 len=$len0
10804 for obj in $save_oldobjs
10805 do
10806 func_len " $obj"
10807 func_arith $len + $func_len_result
10808 len=$func_arith_result
10809 func_append objlist " $obj"
10810 if test "$len" -lt "$max_cmd_len"; then
10811 :
10812 else
10813 # the above command should be used before it gets too long
10814 oldobjs=$objlist
10815 if test "$obj" = "$last_oldobj"; then
10816 RANLIB=$save_RANLIB
10817 fi
10818 test -z "$concat_cmds" || concat_cmds=$concat_cmds~
10819 eval concat_cmds=\"\$concat_cmds$old_archive_cmds\"
10820 objlist=
10821 len=$len0
10822 fi
10823 done
10824 RANLIB=$save_RANLIB
10825 oldobjs=$objlist
10826 if test -z "$oldobjs"; then
10827 eval cmds=\"\$concat_cmds\"
10828 else
10829 eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
10830 fi
10831 fi
10832 fi
10833 func_execute_cmds "$cmds" 'exit $?'
10834 done
10835
10836 test -n "$generated" && \
10837 func_show_eval "${RM}r$generated"
10838
10839 # Now create the libtool archive.
10840 case $output in
10841 *.la)
10842 old_library=
10843 test yes = "$build_old_libs" && old_library=$libname.$libext
10844 func_verbose "creating $output"
10845
10846 # Preserve any variables that may affect compiler behavior
10847 for var in $variables_saved_for_relink; do
10848 if eval test -z \"\${$var+set}\"; then
10849 relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
10850 elif eval var_value=\$$var; test -z "$var_value"; then
10851 relink_command="$var=; export $var; $relink_command"
10852 else
10853 func_quote_for_eval "$var_value"
10854 relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
10855 fi
10856 done
10857 # Quote the link command for shipping.
10858 relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
10859 relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
10860 if test yes = "$hardcode_automatic"; then
10861 relink_command=
10862 fi
10863
10864 # Only create the output if not a dry run.
10865 $opt_dry_run || {
10866 for installed in no yes; do
10867 if test yes = "$installed"; then
10868 if test -z "$install_libdir"; then
10869 break
10870 fi
10871 output=$output_objdir/${outputname}i
10872 # Replace all uninstalled libtool libraries with the installed ones
10873 newdependency_libs=
10874 for deplib in $dependency_libs; do
10875 case $deplib in
10876 *.la)
10877 func_basename "$deplib"
10878 name=$func_basename_result
10879 func_resolve_sysroot "$deplib"
10880 eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
10881 test -z "$libdir" && \
10882 func_fatal_error "'$deplib' is not a valid libtool archive"
10883 func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
10884 ;;
10885 -L*)
10886 func_stripname -L '' "$deplib"
10887 func_replace_sysroot "$func_stripname_result"
10888 func_append newdependency_libs " -L$func_replace_sysroot_result"
10889 ;;
10890 -R*)
10891 func_stripname -R '' "$deplib"
10892 func_replace_sysroot "$func_stripname_result"
10893 func_append newdependency_libs " -R$func_replace_sysroot_result"
10894 ;;
10895 *) func_append newdependency_libs " $deplib" ;;
10896 esac
10897 done
10898 dependency_libs=$newdependency_libs
10899 newdlfiles=
10900
10901 for lib in $dlfiles; do
10902 case $lib in
10903 *.la)
10904 func_basename "$lib"
10905 name=$func_basename_result
10906 eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
10907 test -z "$libdir" && \
10908 func_fatal_error "'$lib' is not a valid libtool archive"
10909 func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
10910 ;;
10911 *) func_append newdlfiles " $lib" ;;
10912 esac
10913 done
10914 dlfiles=$newdlfiles
10915 newdlprefiles=
10916 for lib in $dlprefiles; do
10917 case $lib in
10918 *.la)
10919 # Only pass preopened files to the pseudo-archive (for
10920 # eventual linking with the app. that links it) if we
10921 # didn't already link the preopened objects directly into
10922 # the library:
10923 func_basename "$lib"
10924 name=$func_basename_result
10925 eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
10926 test -z "$libdir" && \
10927 func_fatal_error "'$lib' is not a valid libtool archive"
10928 func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
10929 ;;
10930 esac
10931 done
10932 dlprefiles=$newdlprefiles
10933 else
10934 newdlfiles=
10935 for lib in $dlfiles; do
10936 case $lib in
10937 [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
10938 *) abs=`pwd`"/$lib" ;;
10939 esac
10940 func_append newdlfiles " $abs"
10941 done
10942 dlfiles=$newdlfiles
10943 newdlprefiles=
10944 for lib in $dlprefiles; do
10945 case $lib in
10946 [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
10947 *) abs=`pwd`"/$lib" ;;
10948 esac
10949 func_append newdlprefiles " $abs"
10950 done
10951 dlprefiles=$newdlprefiles
10952 fi
10953 $RM $output
10954 # place dlname in correct position for cygwin
10955 # In fact, it would be nice if we could use this code for all target
10956 # systems that can't hard-code library paths into their executables
10957 # and that have no shared library path variable independent of PATH,
10958 # but it turns out we can't easily determine that from inspecting
10959 # libtool variables, so we have to hard-code the OSs to which it
10960 # applies here; at the moment, that means platforms that use the PE
10961 # object format with DLL files. See the long comment at the top of
10962 # tests/bindir.at for full details.
10963 tdlname=$dlname
10964 case $host,$output,$installed,$module,$dlname in
10965 *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
10966 # If a -bindir argument was supplied, place the dll there.
10967 if test -n "$bindir"; then
10968 func_relative_path "$install_libdir" "$bindir"
10969 tdlname=$func_relative_path_result/$dlname
10970 else
10971 # Otherwise fall back on heuristic.
10972 tdlname=../bin/$dlname
10973 fi
10974 ;;
10975 esac
10976 $ECHO > $output "\
10977 # $outputname - a libtool library file
10978 # Generated by $PROGRAM (GNU $PACKAGE) $VERSION
10979 #
10980 # Please DO NOT delete this file!
10981 # It is necessary for linking the library.
10982
10983 # The name that we can dlopen(3).
10984 dlname='$tdlname'
10985
10986 # Names of this library.
10987 library_names='$library_names'
10988
10989 # The name of the static archive.
10990 old_library='$old_library'
10991
10992 # Linker flags that cannot go in dependency_libs.
10993 inherited_linker_flags='$new_inherited_linker_flags'
10994
10995 # Libraries that this one depends upon.
10996 dependency_libs='$dependency_libs'
10997
10998 # Names of additional weak libraries provided by this library
10999 weak_library_names='$weak_libs'
11000
11001 # Version information for $libname.
11002 current=$current
11003 age=$age
11004 revision=$revision
11005
11006 # Is this an already installed library?
11007 installed=$installed
11008
11009 # Should we warn about portability when linking against -modules?
11010 shouldnotlink=$module
11011
11012 # Files to dlopen/dlpreopen
11013 dlopen='$dlfiles'
11014 dlpreopen='$dlprefiles'
11015
11016 # Directory that this library needs to be installed in:
11017 libdir='$install_libdir'"
11018 if test no,yes = "$installed,$need_relink"; then
11019 $ECHO >> $output "\
11020 relink_command=\"$relink_command\""
11021 fi
11022 done
11023 }
11024
11025 # Do a symbolic link so that the libtool archive can be found in
11026 # LD_LIBRARY_PATH before the program is installed.
11027 func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
11028 ;;
11029 esac
11030 exit $EXIT_SUCCESS
11031 }
11032
11033 if test link = "$opt_mode" || test relink = "$opt_mode"; then
11034 func_mode_link ${1+"$@"}
11035 fi
11036
11037
11038 # func_mode_uninstall arg...
11039 func_mode_uninstall ()
11040 {
11041 $debug_cmd
11042
11043 RM=$nonopt
11044 files=
11045 rmforce=false
11046 exit_status=0
11047
11048 # This variable tells wrapper scripts just to set variables rather
11049 # than running their programs.
11050 libtool_install_magic=$magic
11051
11052 for arg
11053 do
11054 case $arg in
11055 -f) func_append RM " $arg"; rmforce=: ;;
11056 -*) func_append RM " $arg" ;;
11057 *) func_append files " $arg" ;;
11058 esac
11059 done
11060
11061 test -z "$RM" && \
11062 func_fatal_help "you must specify an RM program"
11063
11064 rmdirs=
11065
11066 for file in $files; do
11067 func_dirname "$file" "" "."
11068 dir=$func_dirname_result
11069 if test . = "$dir"; then
11070 odir=$objdir
11071 else
11072 odir=$dir/$objdir
11073 fi
11074 func_basename "$file"
11075 name=$func_basename_result
11076 test uninstall = "$opt_mode" && odir=$dir
11077
11078 # Remember odir for removal later, being careful to avoid duplicates
11079 if test clean = "$opt_mode"; then
11080 case " $rmdirs " in
11081 *" $odir "*) ;;
11082 *) func_append rmdirs " $odir" ;;
11083 esac
11084 fi
11085
11086 # Don't error if the file doesn't exist and rm -f was used.
11087 if { test -L "$file"; } >/dev/null 2>&1 ||
11088 { test -h "$file"; } >/dev/null 2>&1 ||
11089 test -f "$file"; then
11090 :
11091 elif test -d "$file"; then
11092 exit_status=1
11093 continue
11094 elif $rmforce; then
11095 continue
11096 fi
11097
11098 rmfiles=$file
11099
11100 case $name in
11101 *.la)
11102 # Possibly a libtool archive, so verify it.
11103 if func_lalib_p "$file"; then
11104 func_source $dir/$name
11105
11106 # Delete the libtool libraries and symlinks.
11107 for n in $library_names; do
11108 func_append rmfiles " $odir/$n"
11109 done
11110 test -n "$old_library" && func_append rmfiles " $odir/$old_library"
11111
11112 case $opt_mode in
11113 clean)
11114 case " $library_names " in
11115 *" $dlname "*) ;;
11116 *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
11117 esac
11118 test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
11119 ;;
11120 uninstall)
11121 if test -n "$library_names"; then
11122 # Do each command in the postuninstall commands.
11123 func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1'
11124 fi
11125
11126 if test -n "$old_library"; then
11127 # Do each command in the old_postuninstall commands.
11128 func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1'
11129 fi
11130 # FIXME: should reinstall the best remaining shared library.
11131 ;;
11132 esac
11133 fi
11134 ;;
11135
11136 *.lo)
11137 # Possibly a libtool object, so verify it.
11138 if func_lalib_p "$file"; then
11139
11140 # Read the .lo file
11141 func_source $dir/$name
11142
11143 # Add PIC object to the list of files to remove.
11144 if test -n "$pic_object" && test none != "$pic_object"; then
11145 func_append rmfiles " $dir/$pic_object"
11146 fi
11147
11148 # Add non-PIC object to the list of files to remove.
11149 if test -n "$non_pic_object" && test none != "$non_pic_object"; then
11150 func_append rmfiles " $dir/$non_pic_object"
11151 fi
11152 fi
11153 ;;
11154
11155 *)
11156 if test clean = "$opt_mode"; then
11157 noexename=$name
11158 case $file in
11159 *.exe)
11160 func_stripname '' '.exe' "$file"
11161 file=$func_stripname_result
11162 func_stripname '' '.exe' "$name"
11163 noexename=$func_stripname_result
11164 # $file with .exe has already been added to rmfiles,
11165 # add $file without .exe
11166 func_append rmfiles " $file"
11167 ;;
11168 esac
11169 # Do a test to see if this is a libtool program.
11170 if func_ltwrapper_p "$file"; then
11171 if func_ltwrapper_executable_p "$file"; then
11172 func_ltwrapper_scriptname "$file"
11173 relink_command=
11174 func_source $func_ltwrapper_scriptname_result
11175 func_append rmfiles " $func_ltwrapper_scriptname_result"
11176 else
11177 relink_command=
11178 func_source $dir/$noexename
11179 fi
11180
11181 # note $name still contains .exe if it was in $file originally
11182 # as does the version of $file that was added into $rmfiles
11183 func_append rmfiles " $odir/$name $odir/${name}S.$objext"
11184 if test yes = "$fast_install" && test -n "$relink_command"; then
11185 func_append rmfiles " $odir/lt-$name"
11186 fi
11187 if test "X$noexename" != "X$name"; then
11188 func_append rmfiles " $odir/lt-$noexename.c"
11189 fi
11190 fi
11191 fi
11192 ;;
11193 esac
11194 func_show_eval "$RM $rmfiles" 'exit_status=1'
11195 done
11196
11197 # Try to remove the $objdir's in the directories where we deleted files
11198 for dir in $rmdirs; do
11199 if test -d "$dir"; then
11200 func_show_eval "rmdir $dir >/dev/null 2>&1"
11201 fi
11202 done
11203
11204 exit $exit_status
11205 }
11206
11207 if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then
11208 func_mode_uninstall ${1+"$@"}
11209 fi
11210
11211 test -z "$opt_mode" && {
11212 help=$generic_help
11213 func_fatal_help "you must specify a MODE"
11214 }
11215
11216 test -z "$exec_cmd" && \
11217 func_fatal_help "invalid operation mode '$opt_mode'"
11218
11219 if test -n "$exec_cmd"; then
11220 eval exec "$exec_cmd"
11221 exit $EXIT_FAILURE
11222 fi
11223
11224 exit $exit_status
11225
11226
11227 # The TAGs below are defined such that we never get into a situation
11228 # where we disable both kinds of libraries. Given conflicting
11229 # choices, we go for a static library, that is the most portable,
11230 # since we can't tell whether shared libraries were disabled because
11231 # the user asked for that or because the platform doesn't support
11232 # them. This is particularly important on AIX, because we don't
11233 # support having both static and shared libraries enabled at the same
11234 # time on that platform, so we default to a shared-only configuration.
11235 # If a disable-shared tag is given, we'll fallback to a static-only
11236 # configuration. But we'll never go from static-only to shared-only.
11237
11238 # ### BEGIN LIBTOOL TAG CONFIG: disable-shared
11239 build_libtool_libs=no
11240 build_old_libs=yes
11241 # ### END LIBTOOL TAG CONFIG: disable-shared
11242
11243 # ### BEGIN LIBTOOL TAG CONFIG: disable-static
11244 build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
11245 # ### END LIBTOOL TAG CONFIG: disable-static
11246
11247 # Local Variables:
11248 # mode:shell-script
11249 # sh-indentation:2
11250 # End:
0 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
1 #
2 # Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
3 # Written by Gordon Matzigkeit, 1996
4 #
5 # This file is free software; the Free Software Foundation gives
6 # unlimited permission to copy and/or distribute it, with or without
7 # modifications, as long as this notice is preserved.
8
9 m4_define([_LT_COPYING], [dnl
10 # Copyright (C) 2014 Free Software Foundation, Inc.
11 # This is free software; see the source for copying conditions. There is NO
12 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
14 # GNU Libtool is free software; you can redistribute it and/or modify
15 # it under the terms of the GNU General Public License as published by
16 # the Free Software Foundation; either version 2 of of the License, or
17 # (at your option) any later version.
18 #
19 # As a special exception to the GNU General Public License, if you
20 # distribute this file as part of a program or library that is built
21 # using GNU Libtool, you may include this file under the same
22 # distribution terms that you use for the rest of that program.
23 #
24 # GNU Libtool is distributed in the hope that it will be useful, but
25 # WITHOUT ANY WARRANTY; without even the implied warranty of
26 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 # GNU General Public License for more details.
28 #
29 # You should have received a copy of the GNU General Public License
30 # along with this program. If not, see <http://www.gnu.org/licenses/>.
31 ])
32
33 # serial 58 LT_INIT
34
35
36 # LT_PREREQ(VERSION)
37 # ------------------
38 # Complain and exit if this libtool version is less that VERSION.
39 m4_defun([LT_PREREQ],
40 [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
41 [m4_default([$3],
42 [m4_fatal([Libtool version $1 or higher is required],
43 63)])],
44 [$2])])
45
46
47 # _LT_CHECK_BUILDDIR
48 # ------------------
49 # Complain if the absolute build directory name contains unusual characters
50 m4_defun([_LT_CHECK_BUILDDIR],
51 [case `pwd` in
52 *\ * | *\ *)
53 AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
54 esac
55 ])
56
57
58 # LT_INIT([OPTIONS])
59 # ------------------
60 AC_DEFUN([LT_INIT],
61 [AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
62 AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
63 AC_BEFORE([$0], [LT_LANG])dnl
64 AC_BEFORE([$0], [LT_OUTPUT])dnl
65 AC_BEFORE([$0], [LTDL_INIT])dnl
66 m4_require([_LT_CHECK_BUILDDIR])dnl
67
68 dnl Autoconf doesn't catch unexpanded LT_ macros by default:
69 m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
70 m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
71 dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
72 dnl unless we require an AC_DEFUNed macro:
73 AC_REQUIRE([LTOPTIONS_VERSION])dnl
74 AC_REQUIRE([LTSUGAR_VERSION])dnl
75 AC_REQUIRE([LTVERSION_VERSION])dnl
76 AC_REQUIRE([LTOBSOLETE_VERSION])dnl
77 m4_require([_LT_PROG_LTMAIN])dnl
78
79 _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
80
81 dnl Parse OPTIONS
82 _LT_SET_OPTIONS([$0], [$1])
83
84 # This can be used to rebuild libtool when needed
85 LIBTOOL_DEPS=$ltmain
86
87 # Always use our own libtool.
88 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
89 AC_SUBST(LIBTOOL)dnl
90
91 _LT_SETUP
92
93 # Only expand once:
94 m4_define([LT_INIT])
95 ])# LT_INIT
96
97 # Old names:
98 AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
99 AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
100 dnl aclocal-1.4 backwards compatibility:
101 dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
102 dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
103
104
105 # _LT_PREPARE_CC_BASENAME
106 # -----------------------
107 m4_defun([_LT_PREPARE_CC_BASENAME], [
108 # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
109 func_cc_basename ()
110 {
111 for cc_temp in @S|@*""; do
112 case $cc_temp in
113 compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
114 distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
115 \-*) ;;
116 *) break;;
117 esac
118 done
119 func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
120 }
121 ])# _LT_PREPARE_CC_BASENAME
122
123
124 # _LT_CC_BASENAME(CC)
125 # -------------------
126 # It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
127 # but that macro is also expanded into generated libtool script, which
128 # arranges for $SED and $ECHO to be set by different means.
129 m4_defun([_LT_CC_BASENAME],
130 [m4_require([_LT_PREPARE_CC_BASENAME])dnl
131 AC_REQUIRE([_LT_DECL_SED])dnl
132 AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
133 func_cc_basename $1
134 cc_basename=$func_cc_basename_result
135 ])
136
137
138 # _LT_FILEUTILS_DEFAULTS
139 # ----------------------
140 # It is okay to use these file commands and assume they have been set
141 # sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
142 m4_defun([_LT_FILEUTILS_DEFAULTS],
143 [: ${CP="cp -f"}
144 : ${MV="mv -f"}
145 : ${RM="rm -f"}
146 ])# _LT_FILEUTILS_DEFAULTS
147
148
149 # _LT_SETUP
150 # ---------
151 m4_defun([_LT_SETUP],
152 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
153 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
154 AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
155 AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
156
157 _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
158 dnl
159 _LT_DECL([], [host_alias], [0], [The host system])dnl
160 _LT_DECL([], [host], [0])dnl
161 _LT_DECL([], [host_os], [0])dnl
162 dnl
163 _LT_DECL([], [build_alias], [0], [The build system])dnl
164 _LT_DECL([], [build], [0])dnl
165 _LT_DECL([], [build_os], [0])dnl
166 dnl
167 AC_REQUIRE([AC_PROG_CC])dnl
168 AC_REQUIRE([LT_PATH_LD])dnl
169 AC_REQUIRE([LT_PATH_NM])dnl
170 dnl
171 AC_REQUIRE([AC_PROG_LN_S])dnl
172 test -z "$LN_S" && LN_S="ln -s"
173 _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
174 dnl
175 AC_REQUIRE([LT_CMD_MAX_LEN])dnl
176 _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
177 _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
178 dnl
179 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
180 m4_require([_LT_CHECK_SHELL_FEATURES])dnl
181 m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
182 m4_require([_LT_CMD_RELOAD])dnl
183 m4_require([_LT_CHECK_MAGIC_METHOD])dnl
184 m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
185 m4_require([_LT_CMD_OLD_ARCHIVE])dnl
186 m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
187 m4_require([_LT_WITH_SYSROOT])dnl
188 m4_require([_LT_CMD_TRUNCATE])dnl
189
190 _LT_CONFIG_LIBTOOL_INIT([
191 # See if we are running on zsh, and set the options that allow our
192 # commands through without removal of \ escapes INIT.
193 if test -n "\${ZSH_VERSION+set}"; then
194 setopt NO_GLOB_SUBST
195 fi
196 ])
197 if test -n "${ZSH_VERSION+set}"; then
198 setopt NO_GLOB_SUBST
199 fi
200
201 _LT_CHECK_OBJDIR
202
203 m4_require([_LT_TAG_COMPILER])dnl
204
205 case $host_os in
206 aix3*)
207 # AIX sometimes has problems with the GCC collect2 program. For some
208 # reason, if we set the COLLECT_NAMES environment variable, the problems
209 # vanish in a puff of smoke.
210 if test set != "${COLLECT_NAMES+set}"; then
211 COLLECT_NAMES=
212 export COLLECT_NAMES
213 fi
214 ;;
215 esac
216
217 # Global variables:
218 ofile=libtool
219 can_build_shared=yes
220
221 # All known linkers require a '.a' archive for static linking (except MSVC,
222 # which needs '.lib').
223 libext=a
224
225 with_gnu_ld=$lt_cv_prog_gnu_ld
226
227 old_CC=$CC
228 old_CFLAGS=$CFLAGS
229
230 # Set sane defaults for various variables
231 test -z "$CC" && CC=cc
232 test -z "$LTCC" && LTCC=$CC
233 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
234 test -z "$LD" && LD=ld
235 test -z "$ac_objext" && ac_objext=o
236
237 _LT_CC_BASENAME([$compiler])
238
239 # Only perform the check for file, if the check method requires it
240 test -z "$MAGIC_CMD" && MAGIC_CMD=file
241 case $deplibs_check_method in
242 file_magic*)
243 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
244 _LT_PATH_MAGIC
245 fi
246 ;;
247 esac
248
249 # Use C for the default configuration in the libtool script
250 LT_SUPPORTED_TAG([CC])
251 _LT_LANG_C_CONFIG
252 _LT_LANG_DEFAULT_CONFIG
253 _LT_CONFIG_COMMANDS
254 ])# _LT_SETUP
255
256
257 # _LT_PREPARE_SED_QUOTE_VARS
258 # --------------------------
259 # Define a few sed substitution that help us do robust quoting.
260 m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
261 [# Backslashify metacharacters that are still active within
262 # double-quoted strings.
263 sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
264
265 # Same as above, but do not quote variable references.
266 double_quote_subst='s/\([["`\\]]\)/\\\1/g'
267
268 # Sed substitution to delay expansion of an escaped shell variable in a
269 # double_quote_subst'ed string.
270 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
271
272 # Sed substitution to delay expansion of an escaped single quote.
273 delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
274
275 # Sed substitution to avoid accidental globbing in evaled expressions
276 no_glob_subst='s/\*/\\\*/g'
277 ])
278
279 # _LT_PROG_LTMAIN
280 # ---------------
281 # Note that this code is called both from 'configure', and 'config.status'
282 # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
283 # 'config.status' has no value for ac_aux_dir unless we are using Automake,
284 # so we pass a copy along to make sure it has a sensible value anyway.
285 m4_defun([_LT_PROG_LTMAIN],
286 [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
287 _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
288 ltmain=$ac_aux_dir/ltmain.sh
289 ])# _LT_PROG_LTMAIN
290
291
292 ## ------------------------------------- ##
293 ## Accumulate code for creating libtool. ##
294 ## ------------------------------------- ##
295
296 # So that we can recreate a full libtool script including additional
297 # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
298 # in macros and then make a single call at the end using the 'libtool'
299 # label.
300
301
302 # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
303 # ----------------------------------------
304 # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
305 m4_define([_LT_CONFIG_LIBTOOL_INIT],
306 [m4_ifval([$1],
307 [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
308 [$1
309 ])])])
310
311 # Initialize.
312 m4_define([_LT_OUTPUT_LIBTOOL_INIT])
313
314
315 # _LT_CONFIG_LIBTOOL([COMMANDS])
316 # ------------------------------
317 # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
318 m4_define([_LT_CONFIG_LIBTOOL],
319 [m4_ifval([$1],
320 [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
321 [$1
322 ])])])
323
324 # Initialize.
325 m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
326
327
328 # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
329 # -----------------------------------------------------
330 m4_defun([_LT_CONFIG_SAVE_COMMANDS],
331 [_LT_CONFIG_LIBTOOL([$1])
332 _LT_CONFIG_LIBTOOL_INIT([$2])
333 ])
334
335
336 # _LT_FORMAT_COMMENT([COMMENT])
337 # -----------------------------
338 # Add leading comment marks to the start of each line, and a trailing
339 # full-stop to the whole comment if one is not present already.
340 m4_define([_LT_FORMAT_COMMENT],
341 [m4_ifval([$1], [
342 m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
343 [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
344 )])
345
346
347
348 ## ------------------------ ##
349 ## FIXME: Eliminate VARNAME ##
350 ## ------------------------ ##
351
352
353 # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
354 # -------------------------------------------------------------------
355 # CONFIGNAME is the name given to the value in the libtool script.
356 # VARNAME is the (base) name used in the configure script.
357 # VALUE may be 0, 1 or 2 for a computed quote escaped value based on
358 # VARNAME. Any other value will be used directly.
359 m4_define([_LT_DECL],
360 [lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
361 [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
362 [m4_ifval([$1], [$1], [$2])])
363 lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
364 m4_ifval([$4],
365 [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
366 lt_dict_add_subkey([lt_decl_dict], [$2],
367 [tagged?], [m4_ifval([$5], [yes], [no])])])
368 ])
369
370
371 # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
372 # --------------------------------------------------------
373 m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
374
375
376 # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
377 # ------------------------------------------------
378 m4_define([lt_decl_tag_varnames],
379 [_lt_decl_filter([tagged?], [yes], $@)])
380
381
382 # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
383 # ---------------------------------------------------------
384 m4_define([_lt_decl_filter],
385 [m4_case([$#],
386 [0], [m4_fatal([$0: too few arguments: $#])],
387 [1], [m4_fatal([$0: too few arguments: $#: $1])],
388 [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
389 [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
390 [lt_dict_filter([lt_decl_dict], $@)])[]dnl
391 ])
392
393
394 # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
395 # --------------------------------------------------
396 m4_define([lt_decl_quote_varnames],
397 [_lt_decl_filter([value], [1], $@)])
398
399
400 # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
401 # ---------------------------------------------------
402 m4_define([lt_decl_dquote_varnames],
403 [_lt_decl_filter([value], [2], $@)])
404
405
406 # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
407 # ---------------------------------------------------
408 m4_define([lt_decl_varnames_tagged],
409 [m4_assert([$# <= 2])dnl
410 _$0(m4_quote(m4_default([$1], [[, ]])),
411 m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
412 m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
413 m4_define([_lt_decl_varnames_tagged],
414 [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
415
416
417 # lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
418 # ------------------------------------------------
419 m4_define([lt_decl_all_varnames],
420 [_$0(m4_quote(m4_default([$1], [[, ]])),
421 m4_if([$2], [],
422 m4_quote(lt_decl_varnames),
423 m4_quote(m4_shift($@))))[]dnl
424 ])
425 m4_define([_lt_decl_all_varnames],
426 [lt_join($@, lt_decl_varnames_tagged([$1],
427 lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
428 ])
429
430
431 # _LT_CONFIG_STATUS_DECLARE([VARNAME])
432 # ------------------------------------
433 # Quote a variable value, and forward it to 'config.status' so that its
434 # declaration there will have the same value as in 'configure'. VARNAME
435 # must have a single quote delimited value for this to work.
436 m4_define([_LT_CONFIG_STATUS_DECLARE],
437 [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
438
439
440 # _LT_CONFIG_STATUS_DECLARATIONS
441 # ------------------------------
442 # We delimit libtool config variables with single quotes, so when
443 # we write them to config.status, we have to be sure to quote all
444 # embedded single quotes properly. In configure, this macro expands
445 # each variable declared with _LT_DECL (and _LT_TAGDECL) into:
446 #
447 # <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
448 m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
449 [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
450 [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
451
452
453 # _LT_LIBTOOL_TAGS
454 # ----------------
455 # Output comment and list of tags supported by the script
456 m4_defun([_LT_LIBTOOL_TAGS],
457 [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
458 available_tags='_LT_TAGS'dnl
459 ])
460
461
462 # _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
463 # -----------------------------------
464 # Extract the dictionary values for VARNAME (optionally with TAG) and
465 # expand to a commented shell variable setting:
466 #
467 # # Some comment about what VAR is for.
468 # visible_name=$lt_internal_name
469 m4_define([_LT_LIBTOOL_DECLARE],
470 [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
471 [description])))[]dnl
472 m4_pushdef([_libtool_name],
473 m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
474 m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
475 [0], [_libtool_name=[$]$1],
476 [1], [_libtool_name=$lt_[]$1],
477 [2], [_libtool_name=$lt_[]$1],
478 [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
479 m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
480 ])
481
482
483 # _LT_LIBTOOL_CONFIG_VARS
484 # -----------------------
485 # Produce commented declarations of non-tagged libtool config variables
486 # suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
487 # script. Tagged libtool config variables (even for the LIBTOOL CONFIG
488 # section) are produced by _LT_LIBTOOL_TAG_VARS.
489 m4_defun([_LT_LIBTOOL_CONFIG_VARS],
490 [m4_foreach([_lt_var],
491 m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
492 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
493
494
495 # _LT_LIBTOOL_TAG_VARS(TAG)
496 # -------------------------
497 m4_define([_LT_LIBTOOL_TAG_VARS],
498 [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
499 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
500
501
502 # _LT_TAGVAR(VARNAME, [TAGNAME])
503 # ------------------------------
504 m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
505
506
507 # _LT_CONFIG_COMMANDS
508 # -------------------
509 # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
510 # variables for single and double quote escaping we saved from calls
511 # to _LT_DECL, we can put quote escaped variables declarations
512 # into 'config.status', and then the shell code to quote escape them in
513 # for loops in 'config.status'. Finally, any additional code accumulated
514 # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
515 m4_defun([_LT_CONFIG_COMMANDS],
516 [AC_PROVIDE_IFELSE([LT_OUTPUT],
517 dnl If the libtool generation code has been placed in $CONFIG_LT,
518 dnl instead of duplicating it all over again into config.status,
519 dnl then we will have config.status run $CONFIG_LT later, so it
520 dnl needs to know what name is stored there:
521 [AC_CONFIG_COMMANDS([libtool],
522 [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
523 dnl If the libtool generation code is destined for config.status,
524 dnl expand the accumulated commands and init code now:
525 [AC_CONFIG_COMMANDS([libtool],
526 [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
527 ])#_LT_CONFIG_COMMANDS
528
529
530 # Initialize.
531 m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
532 [
533
534 # The HP-UX ksh and POSIX shell print the target directory to stdout
535 # if CDPATH is set.
536 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
537
538 sed_quote_subst='$sed_quote_subst'
539 double_quote_subst='$double_quote_subst'
540 delay_variable_subst='$delay_variable_subst'
541 _LT_CONFIG_STATUS_DECLARATIONS
542 LTCC='$LTCC'
543 LTCFLAGS='$LTCFLAGS'
544 compiler='$compiler_DEFAULT'
545
546 # A function that is used when there is no print builtin or printf.
547 func_fallback_echo ()
548 {
549 eval 'cat <<_LTECHO_EOF
550 \$[]1
551 _LTECHO_EOF'
552 }
553
554 # Quote evaled strings.
555 for var in lt_decl_all_varnames([[ \
556 ]], lt_decl_quote_varnames); do
557 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
558 *[[\\\\\\\`\\"\\\$]]*)
559 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
560 ;;
561 *)
562 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
563 ;;
564 esac
565 done
566
567 # Double-quote double-evaled strings.
568 for var in lt_decl_all_varnames([[ \
569 ]], lt_decl_dquote_varnames); do
570 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
571 *[[\\\\\\\`\\"\\\$]]*)
572 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
573 ;;
574 *)
575 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
576 ;;
577 esac
578 done
579
580 _LT_OUTPUT_LIBTOOL_INIT
581 ])
582
583 # _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
584 # ------------------------------------
585 # Generate a child script FILE with all initialization necessary to
586 # reuse the environment learned by the parent script, and make the
587 # file executable. If COMMENT is supplied, it is inserted after the
588 # '#!' sequence but before initialization text begins. After this
589 # macro, additional text can be appended to FILE to form the body of
590 # the child script. The macro ends with non-zero status if the
591 # file could not be fully written (such as if the disk is full).
592 m4_ifdef([AS_INIT_GENERATED],
593 [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
594 [m4_defun([_LT_GENERATED_FILE_INIT],
595 [m4_require([AS_PREPARE])]dnl
596 [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
597 [lt_write_fail=0
598 cat >$1 <<_ASEOF || lt_write_fail=1
599 #! $SHELL
600 # Generated by $as_me.
601 $2
602 SHELL=\${CONFIG_SHELL-$SHELL}
603 export SHELL
604 _ASEOF
605 cat >>$1 <<\_ASEOF || lt_write_fail=1
606 AS_SHELL_SANITIZE
607 _AS_PREPARE
608 exec AS_MESSAGE_FD>&1
609 _ASEOF
610 test 0 = "$lt_write_fail" && chmod +x $1[]dnl
611 m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
612
613 # LT_OUTPUT
614 # ---------
615 # This macro allows early generation of the libtool script (before
616 # AC_OUTPUT is called), incase it is used in configure for compilation
617 # tests.
618 AC_DEFUN([LT_OUTPUT],
619 [: ${CONFIG_LT=./config.lt}
620 AC_MSG_NOTICE([creating $CONFIG_LT])
621 _LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
622 [# Run this file to recreate a libtool stub with the current configuration.])
623
624 cat >>"$CONFIG_LT" <<\_LTEOF
625 lt_cl_silent=false
626 exec AS_MESSAGE_LOG_FD>>config.log
627 {
628 echo
629 AS_BOX([Running $as_me.])
630 } >&AS_MESSAGE_LOG_FD
631
632 lt_cl_help="\
633 '$as_me' creates a local libtool stub from the current configuration,
634 for use in further configure time tests before the real libtool is
635 generated.
636
637 Usage: $[0] [[OPTIONS]]
638
639 -h, --help print this help, then exit
640 -V, --version print version number, then exit
641 -q, --quiet do not print progress messages
642 -d, --debug don't remove temporary files
643
644 Report bugs to <bug-libtool@gnu.org>."
645
646 lt_cl_version="\
647 m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
648 m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
649 configured by $[0], generated by m4_PACKAGE_STRING.
650
651 Copyright (C) 2011 Free Software Foundation, Inc.
652 This config.lt script is free software; the Free Software Foundation
653 gives unlimited permision to copy, distribute and modify it."
654
655 while test 0 != $[#]
656 do
657 case $[1] in
658 --version | --v* | -V )
659 echo "$lt_cl_version"; exit 0 ;;
660 --help | --h* | -h )
661 echo "$lt_cl_help"; exit 0 ;;
662 --debug | --d* | -d )
663 debug=: ;;
664 --quiet | --q* | --silent | --s* | -q )
665 lt_cl_silent=: ;;
666
667 -*) AC_MSG_ERROR([unrecognized option: $[1]
668 Try '$[0] --help' for more information.]) ;;
669
670 *) AC_MSG_ERROR([unrecognized argument: $[1]
671 Try '$[0] --help' for more information.]) ;;
672 esac
673 shift
674 done
675
676 if $lt_cl_silent; then
677 exec AS_MESSAGE_FD>/dev/null
678 fi
679 _LTEOF
680
681 cat >>"$CONFIG_LT" <<_LTEOF
682 _LT_OUTPUT_LIBTOOL_COMMANDS_INIT
683 _LTEOF
684
685 cat >>"$CONFIG_LT" <<\_LTEOF
686 AC_MSG_NOTICE([creating $ofile])
687 _LT_OUTPUT_LIBTOOL_COMMANDS
688 AS_EXIT(0)
689 _LTEOF
690 chmod +x "$CONFIG_LT"
691
692 # configure is writing to config.log, but config.lt does its own redirection,
693 # appending to config.log, which fails on DOS, as config.log is still kept
694 # open by configure. Here we exec the FD to /dev/null, effectively closing
695 # config.log, so it can be properly (re)opened and appended to by config.lt.
696 lt_cl_success=:
697 test yes = "$silent" &&
698 lt_config_lt_args="$lt_config_lt_args --quiet"
699 exec AS_MESSAGE_LOG_FD>/dev/null
700 $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
701 exec AS_MESSAGE_LOG_FD>>config.log
702 $lt_cl_success || AS_EXIT(1)
703 ])# LT_OUTPUT
704
705
706 # _LT_CONFIG(TAG)
707 # ---------------
708 # If TAG is the built-in tag, create an initial libtool script with a
709 # default configuration from the untagged config vars. Otherwise add code
710 # to config.status for appending the configuration named by TAG from the
711 # matching tagged config vars.
712 m4_defun([_LT_CONFIG],
713 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
714 _LT_CONFIG_SAVE_COMMANDS([
715 m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
716 m4_if(_LT_TAG, [C], [
717 # See if we are running on zsh, and set the options that allow our
718 # commands through without removal of \ escapes.
719 if test -n "${ZSH_VERSION+set}"; then
720 setopt NO_GLOB_SUBST
721 fi
722
723 cfgfile=${ofile}T
724 trap "$RM \"$cfgfile\"; exit 1" 1 2 15
725 $RM "$cfgfile"
726
727 cat <<_LT_EOF >> "$cfgfile"
728 #! $SHELL
729 # Generated automatically by $as_me ($PACKAGE) $VERSION
730 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
731
732 # Provide generalized library-building support services.
733 # Written by Gordon Matzigkeit, 1996
734
735 _LT_COPYING
736 _LT_LIBTOOL_TAGS
737
738 # Configured defaults for sys_lib_dlsearch_path munging.
739 : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
740
741 # ### BEGIN LIBTOOL CONFIG
742 _LT_LIBTOOL_CONFIG_VARS
743 _LT_LIBTOOL_TAG_VARS
744 # ### END LIBTOOL CONFIG
745
746 _LT_EOF
747
748 cat <<'_LT_EOF' >> "$cfgfile"
749
750 # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
751
752 _LT_PREPARE_MUNGE_PATH_LIST
753 _LT_PREPARE_CC_BASENAME
754
755 # ### END FUNCTIONS SHARED WITH CONFIGURE
756
757 _LT_EOF
758
759 case $host_os in
760 aix3*)
761 cat <<\_LT_EOF >> "$cfgfile"
762 # AIX sometimes has problems with the GCC collect2 program. For some
763 # reason, if we set the COLLECT_NAMES environment variable, the problems
764 # vanish in a puff of smoke.
765 if test set != "${COLLECT_NAMES+set}"; then
766 COLLECT_NAMES=
767 export COLLECT_NAMES
768 fi
769 _LT_EOF
770 ;;
771 esac
772
773 _LT_PROG_LTMAIN
774
775 # We use sed instead of cat because bash on DJGPP gets confused if
776 # if finds mixed CR/LF and LF-only lines. Since sed operates in
777 # text mode, it properly converts lines to CR/LF. This bash problem
778 # is reportedly fixed, but why not run on old versions too?
779 sed '$q' "$ltmain" >> "$cfgfile" \
780 || (rm -f "$cfgfile"; exit 1)
781
782 mv -f "$cfgfile" "$ofile" ||
783 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
784 chmod +x "$ofile"
785 ],
786 [cat <<_LT_EOF >> "$ofile"
787
788 dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
789 dnl in a comment (ie after a #).
790 # ### BEGIN LIBTOOL TAG CONFIG: $1
791 _LT_LIBTOOL_TAG_VARS(_LT_TAG)
792 # ### END LIBTOOL TAG CONFIG: $1
793 _LT_EOF
794 ])dnl /m4_if
795 ],
796 [m4_if([$1], [], [
797 PACKAGE='$PACKAGE'
798 VERSION='$VERSION'
799 RM='$RM'
800 ofile='$ofile'], [])
801 ])dnl /_LT_CONFIG_SAVE_COMMANDS
802 ])# _LT_CONFIG
803
804
805 # LT_SUPPORTED_TAG(TAG)
806 # ---------------------
807 # Trace this macro to discover what tags are supported by the libtool
808 # --tag option, using:
809 # autoconf --trace 'LT_SUPPORTED_TAG:$1'
810 AC_DEFUN([LT_SUPPORTED_TAG], [])
811
812
813 # C support is built-in for now
814 m4_define([_LT_LANG_C_enabled], [])
815 m4_define([_LT_TAGS], [])
816
817
818 # LT_LANG(LANG)
819 # -------------
820 # Enable libtool support for the given language if not already enabled.
821 AC_DEFUN([LT_LANG],
822 [AC_BEFORE([$0], [LT_OUTPUT])dnl
823 m4_case([$1],
824 [C], [_LT_LANG(C)],
825 [C++], [_LT_LANG(CXX)],
826 [Go], [_LT_LANG(GO)],
827 [Java], [_LT_LANG(GCJ)],
828 [Fortran 77], [_LT_LANG(F77)],
829 [Fortran], [_LT_LANG(FC)],
830 [Windows Resource], [_LT_LANG(RC)],
831 [m4_ifdef([_LT_LANG_]$1[_CONFIG],
832 [_LT_LANG($1)],
833 [m4_fatal([$0: unsupported language: "$1"])])])dnl
834 ])# LT_LANG
835
836
837 # _LT_LANG(LANGNAME)
838 # ------------------
839 m4_defun([_LT_LANG],
840 [m4_ifdef([_LT_LANG_]$1[_enabled], [],
841 [LT_SUPPORTED_TAG([$1])dnl
842 m4_append([_LT_TAGS], [$1 ])dnl
843 m4_define([_LT_LANG_]$1[_enabled], [])dnl
844 _LT_LANG_$1_CONFIG($1)])dnl
845 ])# _LT_LANG
846
847
848 m4_ifndef([AC_PROG_GO], [
849 ############################################################
850 # NOTE: This macro has been submitted for inclusion into #
851 # GNU Autoconf as AC_PROG_GO. When it is available in #
852 # a released version of Autoconf we should remove this #
853 # macro and use it instead. #
854 ############################################################
855 m4_defun([AC_PROG_GO],
856 [AC_LANG_PUSH(Go)dnl
857 AC_ARG_VAR([GOC], [Go compiler command])dnl
858 AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
859 _AC_ARG_VAR_LDFLAGS()dnl
860 AC_CHECK_TOOL(GOC, gccgo)
861 if test -z "$GOC"; then
862 if test -n "$ac_tool_prefix"; then
863 AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
864 fi
865 fi
866 if test -z "$GOC"; then
867 AC_CHECK_PROG(GOC, gccgo, gccgo, false)
868 fi
869 ])#m4_defun
870 ])#m4_ifndef
871
872
873 # _LT_LANG_DEFAULT_CONFIG
874 # -----------------------
875 m4_defun([_LT_LANG_DEFAULT_CONFIG],
876 [AC_PROVIDE_IFELSE([AC_PROG_CXX],
877 [LT_LANG(CXX)],
878 [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
879
880 AC_PROVIDE_IFELSE([AC_PROG_F77],
881 [LT_LANG(F77)],
882 [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
883
884 AC_PROVIDE_IFELSE([AC_PROG_FC],
885 [LT_LANG(FC)],
886 [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
887
888 dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
889 dnl pulling things in needlessly.
890 AC_PROVIDE_IFELSE([AC_PROG_GCJ],
891 [LT_LANG(GCJ)],
892 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
893 [LT_LANG(GCJ)],
894 [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
895 [LT_LANG(GCJ)],
896 [m4_ifdef([AC_PROG_GCJ],
897 [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
898 m4_ifdef([A][M_PROG_GCJ],
899 [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
900 m4_ifdef([LT_PROG_GCJ],
901 [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
902
903 AC_PROVIDE_IFELSE([AC_PROG_GO],
904 [LT_LANG(GO)],
905 [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
906
907 AC_PROVIDE_IFELSE([LT_PROG_RC],
908 [LT_LANG(RC)],
909 [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
910 ])# _LT_LANG_DEFAULT_CONFIG
911
912 # Obsolete macros:
913 AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
914 AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
915 AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
916 AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
917 AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
918 dnl aclocal-1.4 backwards compatibility:
919 dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
920 dnl AC_DEFUN([AC_LIBTOOL_F77], [])
921 dnl AC_DEFUN([AC_LIBTOOL_FC], [])
922 dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
923 dnl AC_DEFUN([AC_LIBTOOL_RC], [])
924
925
926 # _LT_TAG_COMPILER
927 # ----------------
928 m4_defun([_LT_TAG_COMPILER],
929 [AC_REQUIRE([AC_PROG_CC])dnl
930
931 _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
932 _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
933 _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
934 _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
935
936 # If no C compiler was specified, use CC.
937 LTCC=${LTCC-"$CC"}
938
939 # If no C compiler flags were specified, use CFLAGS.
940 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
941
942 # Allow CC to be a program name with arguments.
943 compiler=$CC
944 ])# _LT_TAG_COMPILER
945
946
947 # _LT_COMPILER_BOILERPLATE
948 # ------------------------
949 # Check for compiler boilerplate output or warnings with
950 # the simple compiler test code.
951 m4_defun([_LT_COMPILER_BOILERPLATE],
952 [m4_require([_LT_DECL_SED])dnl
953 ac_outfile=conftest.$ac_objext
954 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
955 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
956 _lt_compiler_boilerplate=`cat conftest.err`
957 $RM conftest*
958 ])# _LT_COMPILER_BOILERPLATE
959
960
961 # _LT_LINKER_BOILERPLATE
962 # ----------------------
963 # Check for linker boilerplate output or warnings with
964 # the simple link test code.
965 m4_defun([_LT_LINKER_BOILERPLATE],
966 [m4_require([_LT_DECL_SED])dnl
967 ac_outfile=conftest.$ac_objext
968 echo "$lt_simple_link_test_code" >conftest.$ac_ext
969 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
970 _lt_linker_boilerplate=`cat conftest.err`
971 $RM -r conftest*
972 ])# _LT_LINKER_BOILERPLATE
973
974 # _LT_REQUIRED_DARWIN_CHECKS
975 # -------------------------
976 m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
977 case $host_os in
978 rhapsody* | darwin*)
979 AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
980 AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
981 AC_CHECK_TOOL([LIPO], [lipo], [:])
982 AC_CHECK_TOOL([OTOOL], [otool], [:])
983 AC_CHECK_TOOL([OTOOL64], [otool64], [:])
984 _LT_DECL([], [DSYMUTIL], [1],
985 [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
986 _LT_DECL([], [NMEDIT], [1],
987 [Tool to change global to local symbols on Mac OS X])
988 _LT_DECL([], [LIPO], [1],
989 [Tool to manipulate fat objects and archives on Mac OS X])
990 _LT_DECL([], [OTOOL], [1],
991 [ldd/readelf like tool for Mach-O binaries on Mac OS X])
992 _LT_DECL([], [OTOOL64], [1],
993 [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
994
995 AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
996 [lt_cv_apple_cc_single_mod=no
997 if test -z "$LT_MULTI_MODULE"; then
998 # By default we will add the -single_module flag. You can override
999 # by either setting the environment variable LT_MULTI_MODULE
1000 # non-empty at configure time, or by adding -multi_module to the
1001 # link flags.
1002 rm -rf libconftest.dylib*
1003 echo "int foo(void){return 1;}" > conftest.c
1004 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1005 -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
1006 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1007 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
1008 _lt_result=$?
1009 # If there is a non-empty error log, and "single_module"
1010 # appears in it, assume the flag caused a linker warning
1011 if test -s conftest.err && $GREP single_module conftest.err; then
1012 cat conftest.err >&AS_MESSAGE_LOG_FD
1013 # Otherwise, if the output was created with a 0 exit code from
1014 # the compiler, it worked.
1015 elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
1016 lt_cv_apple_cc_single_mod=yes
1017 else
1018 cat conftest.err >&AS_MESSAGE_LOG_FD
1019 fi
1020 rm -rf libconftest.dylib*
1021 rm -f conftest.*
1022 fi])
1023
1024 AC_CACHE_CHECK([for -exported_symbols_list linker flag],
1025 [lt_cv_ld_exported_symbols_list],
1026 [lt_cv_ld_exported_symbols_list=no
1027 save_LDFLAGS=$LDFLAGS
1028 echo "_main" > conftest.sym
1029 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
1030 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
1031 [lt_cv_ld_exported_symbols_list=yes],
1032 [lt_cv_ld_exported_symbols_list=no])
1033 LDFLAGS=$save_LDFLAGS
1034 ])
1035
1036 AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
1037 [lt_cv_ld_force_load=no
1038 cat > conftest.c << _LT_EOF
1039 int forced_loaded() { return 2;}
1040 _LT_EOF
1041 echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
1042 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
1043 echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
1044 $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
1045 echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
1046 $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
1047 cat > conftest.c << _LT_EOF
1048 int main() { return 0;}
1049 _LT_EOF
1050 echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
1051 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
1052 _lt_result=$?
1053 if test -s conftest.err && $GREP force_load conftest.err; then
1054 cat conftest.err >&AS_MESSAGE_LOG_FD
1055 elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
1056 lt_cv_ld_force_load=yes
1057 else
1058 cat conftest.err >&AS_MESSAGE_LOG_FD
1059 fi
1060 rm -f conftest.err libconftest.a conftest conftest.c
1061 rm -rf conftest.dSYM
1062 ])
1063 case $host_os in
1064 rhapsody* | darwin1.[[012]])
1065 _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
1066 darwin1.*)
1067 _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
1068 darwin*) # darwin 5.x on
1069 # if running on 10.5 or later, the deployment target defaults
1070 # to the OS version, if on x86, and 10.4, the deployment
1071 # target defaults to 10.4. Don't you love it?
1072 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
1073 10.0,*86*-darwin8*|10.0,*-darwin[[912]]*)
1074 _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
1075 10.[[012]][[,.]]*)
1076 _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
1077 10.*|11.*)
1078 _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
1079 esac
1080 ;;
1081 esac
1082 if test yes = "$lt_cv_apple_cc_single_mod"; then
1083 _lt_dar_single_mod='$single_module'
1084 fi
1085 if test yes = "$lt_cv_ld_exported_symbols_list"; then
1086 _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
1087 else
1088 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
1089 fi
1090 if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
1091 _lt_dsymutil='~$DSYMUTIL $lib || :'
1092 else
1093 _lt_dsymutil=
1094 fi
1095 ;;
1096 esac
1097 ])
1098
1099
1100 # _LT_DARWIN_LINKER_FEATURES([TAG])
1101 # ---------------------------------
1102 # Checks for linker and compiler features on darwin
1103 m4_defun([_LT_DARWIN_LINKER_FEATURES],
1104 [
1105 m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1106 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1107 _LT_TAGVAR(hardcode_direct, $1)=no
1108 _LT_TAGVAR(hardcode_automatic, $1)=yes
1109 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1110 if test yes = "$lt_cv_ld_force_load"; then
1111 _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
1112 m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
1113 [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
1114 else
1115 _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1116 fi
1117 _LT_TAGVAR(link_all_deplibs, $1)=yes
1118 _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
1119 case $cc_basename in
1120 ifort*|nagfor*) _lt_dar_can_shared=yes ;;
1121 *) _lt_dar_can_shared=$GCC ;;
1122 esac
1123 if test yes = "$_lt_dar_can_shared"; then
1124 output_verbose_link_cmd=func_echo_all
1125 _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
1126 _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
1127 _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
1128 _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
1129 m4_if([$1], [CXX],
1130 [ if test yes != "$lt_cv_apple_cc_single_mod"; then
1131 _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
1132 _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
1133 fi
1134 ],[])
1135 else
1136 _LT_TAGVAR(ld_shlibs, $1)=no
1137 fi
1138 ])
1139
1140 # _LT_SYS_MODULE_PATH_AIX([TAGNAME])
1141 # ----------------------------------
1142 # Links a minimal program and checks the executable
1143 # for the system default hardcoded library path. In most cases,
1144 # this is /usr/lib:/lib, but when the MPI compilers are used
1145 # the location of the communication and MPI libs are included too.
1146 # If we don't find anything, use the default library path according
1147 # to the aix ld manual.
1148 # Store the results from the different compilers for each TAGNAME.
1149 # Allow to override them for all tags through lt_cv_aix_libpath.
1150 m4_defun([_LT_SYS_MODULE_PATH_AIX],
1151 [m4_require([_LT_DECL_SED])dnl
1152 if test set = "${lt_cv_aix_libpath+set}"; then
1153 aix_libpath=$lt_cv_aix_libpath
1154 else
1155 AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
1156 [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
1157 lt_aix_libpath_sed='[
1158 /Import File Strings/,/^$/ {
1159 /^0/ {
1160 s/^0 *\([^ ]*\) *$/\1/
1161 p
1162 }
1163 }]'
1164 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1165 # Check for a 64-bit object if we didn't find anything.
1166 if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1167 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1168 fi],[])
1169 if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1170 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
1171 fi
1172 ])
1173 aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
1174 fi
1175 ])# _LT_SYS_MODULE_PATH_AIX
1176
1177
1178 # _LT_SHELL_INIT(ARG)
1179 # -------------------
1180 m4_define([_LT_SHELL_INIT],
1181 [m4_divert_text([M4SH-INIT], [$1
1182 ])])# _LT_SHELL_INIT
1183
1184
1185
1186 # _LT_PROG_ECHO_BACKSLASH
1187 # -----------------------
1188 # Find how we can fake an echo command that does not interpret backslash.
1189 # In particular, with Autoconf 2.60 or later we add some code to the start
1190 # of the generated configure script that will find a shell with a builtin
1191 # printf (that we can use as an echo command).
1192 m4_defun([_LT_PROG_ECHO_BACKSLASH],
1193 [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1194 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1195 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1196
1197 AC_MSG_CHECKING([how to print strings])
1198 # Test print first, because it will be a builtin if present.
1199 if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
1200 test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
1201 ECHO='print -r --'
1202 elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
1203 ECHO='printf %s\n'
1204 else
1205 # Use this function as a fallback that always works.
1206 func_fallback_echo ()
1207 {
1208 eval 'cat <<_LTECHO_EOF
1209 $[]1
1210 _LTECHO_EOF'
1211 }
1212 ECHO='func_fallback_echo'
1213 fi
1214
1215 # func_echo_all arg...
1216 # Invoke $ECHO with all args, space-separated.
1217 func_echo_all ()
1218 {
1219 $ECHO "$*"
1220 }
1221
1222 case $ECHO in
1223 printf*) AC_MSG_RESULT([printf]) ;;
1224 print*) AC_MSG_RESULT([print -r]) ;;
1225 *) AC_MSG_RESULT([cat]) ;;
1226 esac
1227
1228 m4_ifdef([_AS_DETECT_SUGGESTED],
1229 [_AS_DETECT_SUGGESTED([
1230 test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
1231 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1232 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1233 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1234 PATH=/empty FPATH=/empty; export PATH FPATH
1235 test "X`printf %s $ECHO`" = "X$ECHO" \
1236 || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
1237
1238 _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1239 _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
1240 ])# _LT_PROG_ECHO_BACKSLASH
1241
1242
1243 # _LT_WITH_SYSROOT
1244 # ----------------
1245 AC_DEFUN([_LT_WITH_SYSROOT],
1246 [AC_MSG_CHECKING([for sysroot])
1247 AC_ARG_WITH([sysroot],
1248 [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
1249 [Search for dependent libraries within DIR (or the compiler's sysroot
1250 if not specified).])],
1251 [], [with_sysroot=no])
1252
1253 dnl lt_sysroot will always be passed unquoted. We quote it here
1254 dnl in case the user passed a directory name.
1255 lt_sysroot=
1256 case $with_sysroot in #(
1257 yes)
1258 if test yes = "$GCC"; then
1259 lt_sysroot=`$CC --print-sysroot 2>/dev/null`
1260 fi
1261 ;; #(
1262 /*)
1263 lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
1264 ;; #(
1265 no|'')
1266 ;; #(
1267 *)
1268 AC_MSG_RESULT([$with_sysroot])
1269 AC_MSG_ERROR([The sysroot must be an absolute path.])
1270 ;;
1271 esac
1272
1273 AC_MSG_RESULT([${lt_sysroot:-no}])
1274 _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
1275 [dependent libraries, and where our libraries should be installed.])])
1276
1277 # _LT_ENABLE_LOCK
1278 # ---------------
1279 m4_defun([_LT_ENABLE_LOCK],
1280 [AC_ARG_ENABLE([libtool-lock],
1281 [AS_HELP_STRING([--disable-libtool-lock],
1282 [avoid locking (might break parallel builds)])])
1283 test no = "$enable_libtool_lock" || enable_libtool_lock=yes
1284
1285 # Some flags need to be propagated to the compiler or linker for good
1286 # libtool support.
1287 case $host in
1288 ia64-*-hpux*)
1289 # Find out what ABI is being produced by ac_compile, and set mode
1290 # options accordingly.
1291 echo 'int i;' > conftest.$ac_ext
1292 if AC_TRY_EVAL(ac_compile); then
1293 case `/usr/bin/file conftest.$ac_objext` in
1294 *ELF-32*)
1295 HPUX_IA64_MODE=32
1296 ;;
1297 *ELF-64*)
1298 HPUX_IA64_MODE=64
1299 ;;
1300 esac
1301 fi
1302 rm -rf conftest*
1303 ;;
1304 *-*-irix6*)
1305 # Find out what ABI is being produced by ac_compile, and set linker
1306 # options accordingly.
1307 echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1308 if AC_TRY_EVAL(ac_compile); then
1309 if test yes = "$lt_cv_prog_gnu_ld"; then
1310 case `/usr/bin/file conftest.$ac_objext` in
1311 *32-bit*)
1312 LD="${LD-ld} -melf32bsmip"
1313 ;;
1314 *N32*)
1315 LD="${LD-ld} -melf32bmipn32"
1316 ;;
1317 *64-bit*)
1318 LD="${LD-ld} -melf64bmip"
1319 ;;
1320 esac
1321 else
1322 case `/usr/bin/file conftest.$ac_objext` in
1323 *32-bit*)
1324 LD="${LD-ld} -32"
1325 ;;
1326 *N32*)
1327 LD="${LD-ld} -n32"
1328 ;;
1329 *64-bit*)
1330 LD="${LD-ld} -64"
1331 ;;
1332 esac
1333 fi
1334 fi
1335 rm -rf conftest*
1336 ;;
1337
1338 mips64*-*linux*)
1339 # Find out what ABI is being produced by ac_compile, and set linker
1340 # options accordingly.
1341 echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1342 if AC_TRY_EVAL(ac_compile); then
1343 emul=elf
1344 case `/usr/bin/file conftest.$ac_objext` in
1345 *32-bit*)
1346 emul="${emul}32"
1347 ;;
1348 *64-bit*)
1349 emul="${emul}64"
1350 ;;
1351 esac
1352 case `/usr/bin/file conftest.$ac_objext` in
1353 *MSB*)
1354 emul="${emul}btsmip"
1355 ;;
1356 *LSB*)
1357 emul="${emul}ltsmip"
1358 ;;
1359 esac
1360 case `/usr/bin/file conftest.$ac_objext` in
1361 *N32*)
1362 emul="${emul}n32"
1363 ;;
1364 esac
1365 LD="${LD-ld} -m $emul"
1366 fi
1367 rm -rf conftest*
1368 ;;
1369
1370 x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
1371 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1372 # Find out what ABI is being produced by ac_compile, and set linker
1373 # options accordingly. Note that the listed cases only cover the
1374 # situations where additional linker options are needed (such as when
1375 # doing 32-bit compilation for a host where ld defaults to 64-bit, or
1376 # vice versa); the common cases where no linker options are needed do
1377 # not appear in the list.
1378 echo 'int i;' > conftest.$ac_ext
1379 if AC_TRY_EVAL(ac_compile); then
1380 case `/usr/bin/file conftest.o` in
1381 *32-bit*)
1382 case $host in
1383 x86_64-*kfreebsd*-gnu)
1384 LD="${LD-ld} -m elf_i386_fbsd"
1385 ;;
1386 x86_64-*linux*)
1387 case `/usr/bin/file conftest.o` in
1388 *x86-64*)
1389 LD="${LD-ld} -m elf32_x86_64"
1390 ;;
1391 *)
1392 LD="${LD-ld} -m elf_i386"
1393 ;;
1394 esac
1395 ;;
1396 powerpc64le-*linux*)
1397 LD="${LD-ld} -m elf32lppclinux"
1398 ;;
1399 powerpc64-*linux*)
1400 LD="${LD-ld} -m elf32ppclinux"
1401 ;;
1402 s390x-*linux*)
1403 LD="${LD-ld} -m elf_s390"
1404 ;;
1405 sparc64-*linux*)
1406 LD="${LD-ld} -m elf32_sparc"
1407 ;;
1408 esac
1409 ;;
1410 *64-bit*)
1411 case $host in
1412 x86_64-*kfreebsd*-gnu)
1413 LD="${LD-ld} -m elf_x86_64_fbsd"
1414 ;;
1415 x86_64-*linux*)
1416 LD="${LD-ld} -m elf_x86_64"
1417 ;;
1418 powerpcle-*linux*)
1419 LD="${LD-ld} -m elf64lppc"
1420 ;;
1421 powerpc-*linux*)
1422 LD="${LD-ld} -m elf64ppc"
1423 ;;
1424 s390*-*linux*|s390*-*tpf*)
1425 LD="${LD-ld} -m elf64_s390"
1426 ;;
1427 sparc*-*linux*)
1428 LD="${LD-ld} -m elf64_sparc"
1429 ;;
1430 esac
1431 ;;
1432 esac
1433 fi
1434 rm -rf conftest*
1435 ;;
1436
1437 *-*-sco3.2v5*)
1438 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1439 SAVE_CFLAGS=$CFLAGS
1440 CFLAGS="$CFLAGS -belf"
1441 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1442 [AC_LANG_PUSH(C)
1443 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1444 AC_LANG_POP])
1445 if test yes != "$lt_cv_cc_needs_belf"; then
1446 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1447 CFLAGS=$SAVE_CFLAGS
1448 fi
1449 ;;
1450 *-*solaris*)
1451 # Find out what ABI is being produced by ac_compile, and set linker
1452 # options accordingly.
1453 echo 'int i;' > conftest.$ac_ext
1454 if AC_TRY_EVAL(ac_compile); then
1455 case `/usr/bin/file conftest.o` in
1456 *64-bit*)
1457 case $lt_cv_prog_gnu_ld in
1458 yes*)
1459 case $host in
1460 i?86-*-solaris*|x86_64-*-solaris*)
1461 LD="${LD-ld} -m elf_x86_64"
1462 ;;
1463 sparc*-*-solaris*)
1464 LD="${LD-ld} -m elf64_sparc"
1465 ;;
1466 esac
1467 # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
1468 if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
1469 LD=${LD-ld}_sol2
1470 fi
1471 ;;
1472 *)
1473 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1474 LD="${LD-ld} -64"
1475 fi
1476 ;;
1477 esac
1478 ;;
1479 esac
1480 fi
1481 rm -rf conftest*
1482 ;;
1483 esac
1484
1485 need_locks=$enable_libtool_lock
1486 ])# _LT_ENABLE_LOCK
1487
1488
1489 # _LT_PROG_AR
1490 # -----------
1491 m4_defun([_LT_PROG_AR],
1492 [AC_CHECK_TOOLS(AR, [ar], false)
1493 : ${AR=ar}
1494 : ${AR_FLAGS=cr}
1495 _LT_DECL([], [AR], [1], [The archiver])
1496 _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
1497
1498 AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
1499 [lt_cv_ar_at_file=no
1500 AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
1501 [echo conftest.$ac_objext > conftest.lst
1502 lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
1503 AC_TRY_EVAL([lt_ar_try])
1504 if test 0 -eq "$ac_status"; then
1505 # Ensure the archiver fails upon bogus file names.
1506 rm -f conftest.$ac_objext libconftest.a
1507 AC_TRY_EVAL([lt_ar_try])
1508 if test 0 -ne "$ac_status"; then
1509 lt_cv_ar_at_file=@
1510 fi
1511 fi
1512 rm -f conftest.* libconftest.a
1513 ])
1514 ])
1515
1516 if test no = "$lt_cv_ar_at_file"; then
1517 archiver_list_spec=
1518 else
1519 archiver_list_spec=$lt_cv_ar_at_file
1520 fi
1521 _LT_DECL([], [archiver_list_spec], [1],
1522 [How to feed a file listing to the archiver])
1523 ])# _LT_PROG_AR
1524
1525
1526 # _LT_CMD_OLD_ARCHIVE
1527 # -------------------
1528 m4_defun([_LT_CMD_OLD_ARCHIVE],
1529 [_LT_PROG_AR
1530
1531 AC_CHECK_TOOL(STRIP, strip, :)
1532 test -z "$STRIP" && STRIP=:
1533 _LT_DECL([], [STRIP], [1], [A symbol stripping program])
1534
1535 AC_CHECK_TOOL(RANLIB, ranlib, :)
1536 test -z "$RANLIB" && RANLIB=:
1537 _LT_DECL([], [RANLIB], [1],
1538 [Commands used to install an old-style archive])
1539
1540 # Determine commands to create old-style static archives.
1541 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1542 old_postinstall_cmds='chmod 644 $oldlib'
1543 old_postuninstall_cmds=
1544
1545 if test -n "$RANLIB"; then
1546 case $host_os in
1547 bitrig* | openbsd*)
1548 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
1549 ;;
1550 *)
1551 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
1552 ;;
1553 esac
1554 old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
1555 fi
1556
1557 case $host_os in
1558 darwin*)
1559 lock_old_archive_extraction=yes ;;
1560 *)
1561 lock_old_archive_extraction=no ;;
1562 esac
1563 _LT_DECL([], [old_postinstall_cmds], [2])
1564 _LT_DECL([], [old_postuninstall_cmds], [2])
1565 _LT_TAGDECL([], [old_archive_cmds], [2],
1566 [Commands used to build an old-style archive])
1567 _LT_DECL([], [lock_old_archive_extraction], [0],
1568 [Whether to use a lock for old archive extraction])
1569 ])# _LT_CMD_OLD_ARCHIVE
1570
1571
1572 # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1573 # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1574 # ----------------------------------------------------------------
1575 # Check whether the given compiler option works
1576 AC_DEFUN([_LT_COMPILER_OPTION],
1577 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1578 m4_require([_LT_DECL_SED])dnl
1579 AC_CACHE_CHECK([$1], [$2],
1580 [$2=no
1581 m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1582 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1583 lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment
1584 # Insert the option either (1) after the last *FLAGS variable, or
1585 # (2) before a word containing "conftest.", or (3) at the end.
1586 # Note that $ac_compile itself does not contain backslashes and begins
1587 # with a dollar sign (not a hyphen), so the echo should work correctly.
1588 # The option is referenced via a variable to avoid confusing sed.
1589 lt_compile=`echo "$ac_compile" | $SED \
1590 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1591 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1592 -e 's:$: $lt_compiler_flag:'`
1593 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1594 (eval "$lt_compile" 2>conftest.err)
1595 ac_status=$?
1596 cat conftest.err >&AS_MESSAGE_LOG_FD
1597 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1598 if (exit $ac_status) && test -s "$ac_outfile"; then
1599 # The compiler can only warn and ignore the option if not recognized
1600 # So say no if there are warnings other than the usual output.
1601 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
1602 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1603 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1604 $2=yes
1605 fi
1606 fi
1607 $RM conftest*
1608 ])
1609
1610 if test yes = "[$]$2"; then
1611 m4_if([$5], , :, [$5])
1612 else
1613 m4_if([$6], , :, [$6])
1614 fi
1615 ])# _LT_COMPILER_OPTION
1616
1617 # Old name:
1618 AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1619 dnl aclocal-1.4 backwards compatibility:
1620 dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1621
1622
1623 # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1624 # [ACTION-SUCCESS], [ACTION-FAILURE])
1625 # ----------------------------------------------------
1626 # Check whether the given linker option works
1627 AC_DEFUN([_LT_LINKER_OPTION],
1628 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1629 m4_require([_LT_DECL_SED])dnl
1630 AC_CACHE_CHECK([$1], [$2],
1631 [$2=no
1632 save_LDFLAGS=$LDFLAGS
1633 LDFLAGS="$LDFLAGS $3"
1634 echo "$lt_simple_link_test_code" > conftest.$ac_ext
1635 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1636 # The linker can only warn and ignore the option if not recognized
1637 # So say no if there are warnings
1638 if test -s conftest.err; then
1639 # Append any errors to the config.log.
1640 cat conftest.err 1>&AS_MESSAGE_LOG_FD
1641 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
1642 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1643 if diff conftest.exp conftest.er2 >/dev/null; then
1644 $2=yes
1645 fi
1646 else
1647 $2=yes
1648 fi
1649 fi
1650 $RM -r conftest*
1651 LDFLAGS=$save_LDFLAGS
1652 ])
1653
1654 if test yes = "[$]$2"; then
1655 m4_if([$4], , :, [$4])
1656 else
1657 m4_if([$5], , :, [$5])
1658 fi
1659 ])# _LT_LINKER_OPTION
1660
1661 # Old name:
1662 AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1663 dnl aclocal-1.4 backwards compatibility:
1664 dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1665
1666
1667 # LT_CMD_MAX_LEN
1668 #---------------
1669 AC_DEFUN([LT_CMD_MAX_LEN],
1670 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
1671 # find the maximum length of command line arguments
1672 AC_MSG_CHECKING([the maximum length of command line arguments])
1673 AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1674 i=0
1675 teststring=ABCD
1676
1677 case $build_os in
1678 msdosdjgpp*)
1679 # On DJGPP, this test can blow up pretty badly due to problems in libc
1680 # (any single argument exceeding 2000 bytes causes a buffer overrun
1681 # during glob expansion). Even if it were fixed, the result of this
1682 # check would be larger than it should be.
1683 lt_cv_sys_max_cmd_len=12288; # 12K is about right
1684 ;;
1685
1686 gnu*)
1687 # Under GNU Hurd, this test is not required because there is
1688 # no limit to the length of command line arguments.
1689 # Libtool will interpret -1 as no limit whatsoever
1690 lt_cv_sys_max_cmd_len=-1;
1691 ;;
1692
1693 cygwin* | mingw* | cegcc*)
1694 # On Win9x/ME, this test blows up -- it succeeds, but takes
1695 # about 5 minutes as the teststring grows exponentially.
1696 # Worse, since 9x/ME are not pre-emptively multitasking,
1697 # you end up with a "frozen" computer, even though with patience
1698 # the test eventually succeeds (with a max line length of 256k).
1699 # Instead, let's just punt: use the minimum linelength reported by
1700 # all of the supported platforms: 8192 (on NT/2K/XP).
1701 lt_cv_sys_max_cmd_len=8192;
1702 ;;
1703
1704 mint*)
1705 # On MiNT this can take a long time and run out of memory.
1706 lt_cv_sys_max_cmd_len=8192;
1707 ;;
1708
1709 amigaos*)
1710 # On AmigaOS with pdksh, this test takes hours, literally.
1711 # So we just punt and use a minimum line length of 8192.
1712 lt_cv_sys_max_cmd_len=8192;
1713 ;;
1714
1715 bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
1716 # This has been around since 386BSD, at least. Likely further.
1717 if test -x /sbin/sysctl; then
1718 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1719 elif test -x /usr/sbin/sysctl; then
1720 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1721 else
1722 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1723 fi
1724 # And add a safety zone
1725 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1726 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1727 ;;
1728
1729 interix*)
1730 # We know the value 262144 and hardcode it with a safety zone (like BSD)
1731 lt_cv_sys_max_cmd_len=196608
1732 ;;
1733
1734 os2*)
1735 # The test takes a long time on OS/2.
1736 lt_cv_sys_max_cmd_len=8192
1737 ;;
1738
1739 osf*)
1740 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1741 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1742 # nice to cause kernel panics so lets avoid the loop below.
1743 # First set a reasonable default.
1744 lt_cv_sys_max_cmd_len=16384
1745 #
1746 if test -x /sbin/sysconfig; then
1747 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1748 *1*) lt_cv_sys_max_cmd_len=-1 ;;
1749 esac
1750 fi
1751 ;;
1752 sco3.2v5*)
1753 lt_cv_sys_max_cmd_len=102400
1754 ;;
1755 sysv5* | sco5v6* | sysv4.2uw2*)
1756 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1757 if test -n "$kargmax"; then
1758 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
1759 else
1760 lt_cv_sys_max_cmd_len=32768
1761 fi
1762 ;;
1763 *)
1764 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1765 if test -n "$lt_cv_sys_max_cmd_len" && \
1766 test undefined != "$lt_cv_sys_max_cmd_len"; then
1767 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1768 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1769 else
1770 # Make teststring a little bigger before we do anything with it.
1771 # a 1K string should be a reasonable start.
1772 for i in 1 2 3 4 5 6 7 8; do
1773 teststring=$teststring$teststring
1774 done
1775 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1776 # If test is not a shell built-in, we'll probably end up computing a
1777 # maximum length that is only half of the actual maximum length, but
1778 # we can't tell.
1779 while { test X`env echo "$teststring$teststring" 2>/dev/null` \
1780 = "X$teststring$teststring"; } >/dev/null 2>&1 &&
1781 test 17 != "$i" # 1/2 MB should be enough
1782 do
1783 i=`expr $i + 1`
1784 teststring=$teststring$teststring
1785 done
1786 # Only check the string length outside the loop.
1787 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1788 teststring=
1789 # Add a significant safety factor because C++ compilers can tack on
1790 # massive amounts of additional arguments before passing them to the
1791 # linker. It appears as though 1/2 is a usable value.
1792 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1793 fi
1794 ;;
1795 esac
1796 ])
1797 if test -n "$lt_cv_sys_max_cmd_len"; then
1798 AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1799 else
1800 AC_MSG_RESULT(none)
1801 fi
1802 max_cmd_len=$lt_cv_sys_max_cmd_len
1803 _LT_DECL([], [max_cmd_len], [0],
1804 [What is the maximum length of a command?])
1805 ])# LT_CMD_MAX_LEN
1806
1807 # Old name:
1808 AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1809 dnl aclocal-1.4 backwards compatibility:
1810 dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1811
1812
1813 # _LT_HEADER_DLFCN
1814 # ----------------
1815 m4_defun([_LT_HEADER_DLFCN],
1816 [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1817 ])# _LT_HEADER_DLFCN
1818
1819
1820 # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1821 # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1822 # ----------------------------------------------------------------
1823 m4_defun([_LT_TRY_DLOPEN_SELF],
1824 [m4_require([_LT_HEADER_DLFCN])dnl
1825 if test yes = "$cross_compiling"; then :
1826 [$4]
1827 else
1828 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1829 lt_status=$lt_dlunknown
1830 cat > conftest.$ac_ext <<_LT_EOF
1831 [#line $LINENO "configure"
1832 #include "confdefs.h"
1833
1834 #if HAVE_DLFCN_H
1835 #include <dlfcn.h>
1836 #endif
1837
1838 #include <stdio.h>
1839
1840 #ifdef RTLD_GLOBAL
1841 # define LT_DLGLOBAL RTLD_GLOBAL
1842 #else
1843 # ifdef DL_GLOBAL
1844 # define LT_DLGLOBAL DL_GLOBAL
1845 # else
1846 # define LT_DLGLOBAL 0
1847 # endif
1848 #endif
1849
1850 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1851 find out it does not work in some platform. */
1852 #ifndef LT_DLLAZY_OR_NOW
1853 # ifdef RTLD_LAZY
1854 # define LT_DLLAZY_OR_NOW RTLD_LAZY
1855 # else
1856 # ifdef DL_LAZY
1857 # define LT_DLLAZY_OR_NOW DL_LAZY
1858 # else
1859 # ifdef RTLD_NOW
1860 # define LT_DLLAZY_OR_NOW RTLD_NOW
1861 # else
1862 # ifdef DL_NOW
1863 # define LT_DLLAZY_OR_NOW DL_NOW
1864 # else
1865 # define LT_DLLAZY_OR_NOW 0
1866 # endif
1867 # endif
1868 # endif
1869 # endif
1870 #endif
1871
1872 /* When -fvisibility=hidden is used, assume the code has been annotated
1873 correspondingly for the symbols needed. */
1874 #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
1875 int fnord () __attribute__((visibility("default")));
1876 #endif
1877
1878 int fnord () { return 42; }
1879 int main ()
1880 {
1881 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1882 int status = $lt_dlunknown;
1883
1884 if (self)
1885 {
1886 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
1887 else
1888 {
1889 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1890 else puts (dlerror ());
1891 }
1892 /* dlclose (self); */
1893 }
1894 else
1895 puts (dlerror ());
1896
1897 return status;
1898 }]
1899 _LT_EOF
1900 if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
1901 (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1902 lt_status=$?
1903 case x$lt_status in
1904 x$lt_dlno_uscore) $1 ;;
1905 x$lt_dlneed_uscore) $2 ;;
1906 x$lt_dlunknown|x*) $3 ;;
1907 esac
1908 else :
1909 # compilation failed
1910 $3
1911 fi
1912 fi
1913 rm -fr conftest*
1914 ])# _LT_TRY_DLOPEN_SELF
1915
1916
1917 # LT_SYS_DLOPEN_SELF
1918 # ------------------
1919 AC_DEFUN([LT_SYS_DLOPEN_SELF],
1920 [m4_require([_LT_HEADER_DLFCN])dnl
1921 if test yes != "$enable_dlopen"; then
1922 enable_dlopen=unknown
1923 enable_dlopen_self=unknown
1924 enable_dlopen_self_static=unknown
1925 else
1926 lt_cv_dlopen=no
1927 lt_cv_dlopen_libs=
1928
1929 case $host_os in
1930 beos*)
1931 lt_cv_dlopen=load_add_on
1932 lt_cv_dlopen_libs=
1933 lt_cv_dlopen_self=yes
1934 ;;
1935
1936 mingw* | pw32* | cegcc*)
1937 lt_cv_dlopen=LoadLibrary
1938 lt_cv_dlopen_libs=
1939 ;;
1940
1941 cygwin*)
1942 lt_cv_dlopen=dlopen
1943 lt_cv_dlopen_libs=
1944 ;;
1945
1946 darwin*)
1947 # if libdl is installed we need to link against it
1948 AC_CHECK_LIB([dl], [dlopen],
1949 [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
1950 lt_cv_dlopen=dyld
1951 lt_cv_dlopen_libs=
1952 lt_cv_dlopen_self=yes
1953 ])
1954 ;;
1955
1956 tpf*)
1957 # Don't try to run any link tests for TPF. We know it's impossible
1958 # because TPF is a cross-compiler, and we know how we open DSOs.
1959 lt_cv_dlopen=dlopen
1960 lt_cv_dlopen_libs=
1961 lt_cv_dlopen_self=no
1962 ;;
1963
1964 *)
1965 AC_CHECK_FUNC([shl_load],
1966 [lt_cv_dlopen=shl_load],
1967 [AC_CHECK_LIB([dld], [shl_load],
1968 [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
1969 [AC_CHECK_FUNC([dlopen],
1970 [lt_cv_dlopen=dlopen],
1971 [AC_CHECK_LIB([dl], [dlopen],
1972 [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
1973 [AC_CHECK_LIB([svld], [dlopen],
1974 [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
1975 [AC_CHECK_LIB([dld], [dld_link],
1976 [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
1977 ])
1978 ])
1979 ])
1980 ])
1981 ])
1982 ;;
1983 esac
1984
1985 if test no = "$lt_cv_dlopen"; then
1986 enable_dlopen=no
1987 else
1988 enable_dlopen=yes
1989 fi
1990
1991 case $lt_cv_dlopen in
1992 dlopen)
1993 save_CPPFLAGS=$CPPFLAGS
1994 test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1995
1996 save_LDFLAGS=$LDFLAGS
1997 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
1998
1999 save_LIBS=$LIBS
2000 LIBS="$lt_cv_dlopen_libs $LIBS"
2001
2002 AC_CACHE_CHECK([whether a program can dlopen itself],
2003 lt_cv_dlopen_self, [dnl
2004 _LT_TRY_DLOPEN_SELF(
2005 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
2006 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
2007 ])
2008
2009 if test yes = "$lt_cv_dlopen_self"; then
2010 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
2011 AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
2012 lt_cv_dlopen_self_static, [dnl
2013 _LT_TRY_DLOPEN_SELF(
2014 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
2015 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
2016 ])
2017 fi
2018
2019 CPPFLAGS=$save_CPPFLAGS
2020 LDFLAGS=$save_LDFLAGS
2021 LIBS=$save_LIBS
2022 ;;
2023 esac
2024
2025 case $lt_cv_dlopen_self in
2026 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
2027 *) enable_dlopen_self=unknown ;;
2028 esac
2029
2030 case $lt_cv_dlopen_self_static in
2031 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
2032 *) enable_dlopen_self_static=unknown ;;
2033 esac
2034 fi
2035 _LT_DECL([dlopen_support], [enable_dlopen], [0],
2036 [Whether dlopen is supported])
2037 _LT_DECL([dlopen_self], [enable_dlopen_self], [0],
2038 [Whether dlopen of programs is supported])
2039 _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
2040 [Whether dlopen of statically linked programs is supported])
2041 ])# LT_SYS_DLOPEN_SELF
2042
2043 # Old name:
2044 AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
2045 dnl aclocal-1.4 backwards compatibility:
2046 dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
2047
2048
2049 # _LT_COMPILER_C_O([TAGNAME])
2050 # ---------------------------
2051 # Check to see if options -c and -o are simultaneously supported by compiler.
2052 # This macro does not hard code the compiler like AC_PROG_CC_C_O.
2053 m4_defun([_LT_COMPILER_C_O],
2054 [m4_require([_LT_DECL_SED])dnl
2055 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2056 m4_require([_LT_TAG_COMPILER])dnl
2057 AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
2058 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
2059 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
2060 $RM -r conftest 2>/dev/null
2061 mkdir conftest
2062 cd conftest
2063 mkdir out
2064 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
2065
2066 lt_compiler_flag="-o out/conftest2.$ac_objext"
2067 # Insert the option either (1) after the last *FLAGS variable, or
2068 # (2) before a word containing "conftest.", or (3) at the end.
2069 # Note that $ac_compile itself does not contain backslashes and begins
2070 # with a dollar sign (not a hyphen), so the echo should work correctly.
2071 lt_compile=`echo "$ac_compile" | $SED \
2072 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
2073 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
2074 -e 's:$: $lt_compiler_flag:'`
2075 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
2076 (eval "$lt_compile" 2>out/conftest.err)
2077 ac_status=$?
2078 cat out/conftest.err >&AS_MESSAGE_LOG_FD
2079 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
2080 if (exit $ac_status) && test -s out/conftest2.$ac_objext
2081 then
2082 # The compiler can only warn and ignore the option if not recognized
2083 # So say no if there are warnings
2084 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
2085 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
2086 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
2087 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
2088 fi
2089 fi
2090 chmod u+w . 2>&AS_MESSAGE_LOG_FD
2091 $RM conftest*
2092 # SGI C++ compiler will create directory out/ii_files/ for
2093 # template instantiation
2094 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
2095 $RM out/* && rmdir out
2096 cd ..
2097 $RM -r conftest
2098 $RM conftest*
2099 ])
2100 _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
2101 [Does compiler simultaneously support -c and -o options?])
2102 ])# _LT_COMPILER_C_O
2103
2104
2105 # _LT_COMPILER_FILE_LOCKS([TAGNAME])
2106 # ----------------------------------
2107 # Check to see if we can do hard links to lock some files if needed
2108 m4_defun([_LT_COMPILER_FILE_LOCKS],
2109 [m4_require([_LT_ENABLE_LOCK])dnl
2110 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2111 _LT_COMPILER_C_O([$1])
2112
2113 hard_links=nottested
2114 if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
2115 # do not overwrite the value of need_locks provided by the user
2116 AC_MSG_CHECKING([if we can lock with hard links])
2117 hard_links=yes
2118 $RM conftest*
2119 ln conftest.a conftest.b 2>/dev/null && hard_links=no
2120 touch conftest.a
2121 ln conftest.a conftest.b 2>&5 || hard_links=no
2122 ln conftest.a conftest.b 2>/dev/null && hard_links=no
2123 AC_MSG_RESULT([$hard_links])
2124 if test no = "$hard_links"; then
2125 AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
2126 need_locks=warn
2127 fi
2128 else
2129 need_locks=no
2130 fi
2131 _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
2132 ])# _LT_COMPILER_FILE_LOCKS
2133
2134
2135 # _LT_CHECK_OBJDIR
2136 # ----------------
2137 m4_defun([_LT_CHECK_OBJDIR],
2138 [AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
2139 [rm -f .libs 2>/dev/null
2140 mkdir .libs 2>/dev/null
2141 if test -d .libs; then
2142 lt_cv_objdir=.libs
2143 else
2144 # MS-DOS does not allow filenames that begin with a dot.
2145 lt_cv_objdir=_libs
2146 fi
2147 rmdir .libs 2>/dev/null])
2148 objdir=$lt_cv_objdir
2149 _LT_DECL([], [objdir], [0],
2150 [The name of the directory that contains temporary libtool files])dnl
2151 m4_pattern_allow([LT_OBJDIR])dnl
2152 AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
2153 [Define to the sub-directory where libtool stores uninstalled libraries.])
2154 ])# _LT_CHECK_OBJDIR
2155
2156
2157 # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
2158 # --------------------------------------
2159 # Check hardcoding attributes.
2160 m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
2161 [AC_MSG_CHECKING([how to hardcode library paths into programs])
2162 _LT_TAGVAR(hardcode_action, $1)=
2163 if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
2164 test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2165 test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
2166
2167 # We can hardcode non-existent directories.
2168 if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
2169 # If the only mechanism to avoid hardcoding is shlibpath_var, we
2170 # have to relink, otherwise we might link with an installed library
2171 # when we should be linking with a yet-to-be-installed one
2172 ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
2173 test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
2174 # Linking always hardcodes the temporary library directory.
2175 _LT_TAGVAR(hardcode_action, $1)=relink
2176 else
2177 # We can link without hardcoding, and we can hardcode nonexisting dirs.
2178 _LT_TAGVAR(hardcode_action, $1)=immediate
2179 fi
2180 else
2181 # We cannot hardcode anything, or else we can only hardcode existing
2182 # directories.
2183 _LT_TAGVAR(hardcode_action, $1)=unsupported
2184 fi
2185 AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
2186
2187 if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
2188 test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
2189 # Fast installation is not supported
2190 enable_fast_install=no
2191 elif test yes = "$shlibpath_overrides_runpath" ||
2192 test no = "$enable_shared"; then
2193 # Fast installation is not necessary
2194 enable_fast_install=needless
2195 fi
2196 _LT_TAGDECL([], [hardcode_action], [0],
2197 [How to hardcode a shared library path into an executable])
2198 ])# _LT_LINKER_HARDCODE_LIBPATH
2199
2200
2201 # _LT_CMD_STRIPLIB
2202 # ----------------
2203 m4_defun([_LT_CMD_STRIPLIB],
2204 [m4_require([_LT_DECL_EGREP])
2205 striplib=
2206 old_striplib=
2207 AC_MSG_CHECKING([whether stripping libraries is possible])
2208 if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2209 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2210 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2211 AC_MSG_RESULT([yes])
2212 else
2213 # FIXME - insert some real tests, host_os isn't really good enough
2214 case $host_os in
2215 darwin*)
2216 if test -n "$STRIP"; then
2217 striplib="$STRIP -x"
2218 old_striplib="$STRIP -S"
2219 AC_MSG_RESULT([yes])
2220 else
2221 AC_MSG_RESULT([no])
2222 fi
2223 ;;
2224 *)
2225 AC_MSG_RESULT([no])
2226 ;;
2227 esac
2228 fi
2229 _LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2230 _LT_DECL([], [striplib], [1])
2231 ])# _LT_CMD_STRIPLIB
2232
2233
2234 # _LT_PREPARE_MUNGE_PATH_LIST
2235 # ---------------------------
2236 # Make sure func_munge_path_list() is defined correctly.
2237 m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
2238 [[# func_munge_path_list VARIABLE PATH
2239 # -----------------------------------
2240 # VARIABLE is name of variable containing _space_ separated list of
2241 # directories to be munged by the contents of PATH, which is string
2242 # having a format:
2243 # "DIR[:DIR]:"
2244 # string "DIR[ DIR]" will be prepended to VARIABLE
2245 # ":DIR[:DIR]"
2246 # string "DIR[ DIR]" will be appended to VARIABLE
2247 # "DIRP[:DIRP]::[DIRA:]DIRA"
2248 # string "DIRP[ DIRP]" will be prepended to VARIABLE and string
2249 # "DIRA[ DIRA]" will be appended to VARIABLE
2250 # "DIR[:DIR]"
2251 # VARIABLE will be replaced by "DIR[ DIR]"
2252 func_munge_path_list ()
2253 {
2254 case x@S|@2 in
2255 x)
2256 ;;
2257 *:)
2258 eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
2259 ;;
2260 x:*)
2261 eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
2262 ;;
2263 *::*)
2264 eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
2265 eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
2266 ;;
2267 *)
2268 eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
2269 ;;
2270 esac
2271 }
2272 ]])# _LT_PREPARE_PATH_LIST
2273
2274
2275 # _LT_SYS_DYNAMIC_LINKER([TAG])
2276 # -----------------------------
2277 # PORTME Fill in your ld.so characteristics
2278 m4_defun([_LT_SYS_DYNAMIC_LINKER],
2279 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
2280 m4_require([_LT_DECL_EGREP])dnl
2281 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2282 m4_require([_LT_DECL_OBJDUMP])dnl
2283 m4_require([_LT_DECL_SED])dnl
2284 m4_require([_LT_CHECK_SHELL_FEATURES])dnl
2285 m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
2286 AC_MSG_CHECKING([dynamic linker characteristics])
2287 m4_if([$1],
2288 [], [
2289 if test yes = "$GCC"; then
2290 case $host_os in
2291 darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
2292 *) lt_awk_arg='/^libraries:/' ;;
2293 esac
2294 case $host_os in
2295 mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
2296 *) lt_sed_strip_eq='s|=/|/|g' ;;
2297 esac
2298 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
2299 case $lt_search_path_spec in
2300 *\;*)
2301 # if the path contains ";" then we assume it to be the separator
2302 # otherwise default to the standard path separator (i.e. ":") - it is
2303 # assumed that no part of a normal pathname contains ";" but that should
2304 # okay in the real world where ";" in dirpaths is itself problematic.
2305 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
2306 ;;
2307 *)
2308 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
2309 ;;
2310 esac
2311 # Ok, now we have the path, separated by spaces, we can step through it
2312 # and add multilib dir if necessary...
2313 lt_tmp_lt_search_path_spec=
2314 lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2315 # ...but if some path component already ends with the multilib dir we assume
2316 # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
2317 case "$lt_multi_os_dir; $lt_search_path_spec " in
2318 "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
2319 lt_multi_os_dir=
2320 ;;
2321 esac
2322 for lt_sys_path in $lt_search_path_spec; do
2323 if test -d "$lt_sys_path$lt_multi_os_dir"; then
2324 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
2325 elif test -n "$lt_multi_os_dir"; then
2326 test -d "$lt_sys_path" && \
2327 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2328 fi
2329 done
2330 lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
2331 BEGIN {RS = " "; FS = "/|\n";} {
2332 lt_foo = "";
2333 lt_count = 0;
2334 for (lt_i = NF; lt_i > 0; lt_i--) {
2335 if ($lt_i != "" && $lt_i != ".") {
2336 if ($lt_i == "..") {
2337 lt_count++;
2338 } else {
2339 if (lt_count == 0) {
2340 lt_foo = "/" $lt_i lt_foo;
2341 } else {
2342 lt_count--;
2343 }
2344 }
2345 }
2346 }
2347 if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2348 if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2349 }'`
2350 # AWK program above erroneously prepends '/' to C:/dos/paths
2351 # for these hosts.
2352 case $host_os in
2353 mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
2354 $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
2355 esac
2356 sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
2357 else
2358 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2359 fi])
2360 library_names_spec=
2361 libname_spec='lib$name'
2362 soname_spec=
2363 shrext_cmds=.so
2364 postinstall_cmds=
2365 postuninstall_cmds=
2366 finish_cmds=
2367 finish_eval=
2368 shlibpath_var=
2369 shlibpath_overrides_runpath=unknown
2370 version_type=none
2371 dynamic_linker="$host_os ld.so"
2372 sys_lib_dlsearch_path_spec="/lib /usr/lib"
2373 need_lib_prefix=unknown
2374 hardcode_into_libs=no
2375
2376 # when you set need_version to no, make sure it does not cause -set_version
2377 # flags to be left without arguments
2378 need_version=unknown
2379
2380 AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
2381 [User-defined run-time library search path.])
2382
2383 case $host_os in
2384 aix3*)
2385 version_type=linux # correct to gnu/linux during the next big refactor
2386 library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
2387 shlibpath_var=LIBPATH
2388
2389 # AIX 3 has no versioning support, so we append a major version to the name.
2390 soname_spec='$libname$release$shared_ext$major'
2391 ;;
2392
2393 aix[[4-9]]*)
2394 version_type=linux # correct to gnu/linux during the next big refactor
2395 need_lib_prefix=no
2396 need_version=no
2397 hardcode_into_libs=yes
2398 if test ia64 = "$host_cpu"; then
2399 # AIX 5 supports IA64
2400 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
2401 shlibpath_var=LD_LIBRARY_PATH
2402 else
2403 # With GCC up to 2.95.x, collect2 would create an import file
2404 # for dependence libraries. The import file would start with
2405 # the line '#! .'. This would cause the generated library to
2406 # depend on '.', always an invalid library. This was fixed in
2407 # development snapshots of GCC prior to 3.0.
2408 case $host_os in
2409 aix4 | aix4.[[01]] | aix4.[[01]].*)
2410 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2411 echo ' yes '
2412 echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
2413 :
2414 else
2415 can_build_shared=no
2416 fi
2417 ;;
2418 esac
2419 # Using Import Files as archive members, it is possible to support
2420 # filename-based versioning of shared library archives on AIX. While
2421 # this would work for both with and without runtime linking, it will
2422 # prevent static linking of such archives. So we do filename-based
2423 # shared library versioning with .so extension only, which is used
2424 # when both runtime linking and shared linking is enabled.
2425 # Unfortunately, runtime linking may impact performance, so we do
2426 # not want this to be the default eventually. Also, we use the
2427 # versioned .so libs for executables only if there is the -brtl
2428 # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
2429 # To allow for filename-based versioning support, we need to create
2430 # libNAME.so.V as an archive file, containing:
2431 # *) an Import File, referring to the versioned filename of the
2432 # archive as well as the shared archive member, telling the
2433 # bitwidth (32 or 64) of that shared object, and providing the
2434 # list of exported symbols of that shared object, eventually
2435 # decorated with the 'weak' keyword
2436 # *) the shared object with the F_LOADONLY flag set, to really avoid
2437 # it being seen by the linker.
2438 # At run time we better use the real file rather than another symlink,
2439 # but for link time we create the symlink libNAME.so -> libNAME.so.V
2440
2441 case $with_aix_soname,$aix_use_runtimelinking in
2442 # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
2443 # soname into executable. Probably we can add versioning support to
2444 # collect2, so additional links can be useful in future.
2445 aix,yes) # traditional libtool
2446 dynamic_linker='AIX unversionable lib.so'
2447 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2448 # instead of lib<name>.a to let people know that these are not
2449 # typical AIX shared libraries.
2450 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2451 ;;
2452 aix,no) # traditional AIX only
2453 dynamic_linker='AIX lib.a[(]lib.so.V[)]'
2454 # We preserve .a as extension for shared libraries through AIX4.2
2455 # and later when we are not doing run time linking.
2456 library_names_spec='$libname$release.a $libname.a'
2457 soname_spec='$libname$release$shared_ext$major'
2458 ;;
2459 svr4,*) # full svr4 only
2460 dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
2461 library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
2462 # We do not specify a path in Import Files, so LIBPATH fires.
2463 shlibpath_overrides_runpath=yes
2464 ;;
2465 *,yes) # both, prefer svr4
2466 dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
2467 library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
2468 # unpreferred sharedlib libNAME.a needs extra handling
2469 postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
2470 postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
2471 # We do not specify a path in Import Files, so LIBPATH fires.
2472 shlibpath_overrides_runpath=yes
2473 ;;
2474 *,no) # both, prefer aix
2475 dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
2476 library_names_spec='$libname$release.a $libname.a'
2477 soname_spec='$libname$release$shared_ext$major'
2478 # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
2479 postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
2480 postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
2481 ;;
2482 esac
2483 shlibpath_var=LIBPATH
2484 fi
2485 ;;
2486
2487 amigaos*)
2488 case $host_cpu in
2489 powerpc)
2490 # Since July 2007 AmigaOS4 officially supports .so libraries.
2491 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2492 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2493 ;;
2494 m68k)
2495 library_names_spec='$libname.ixlibrary $libname.a'
2496 # Create ${libname}_ixlibrary.a entries in /sys/libs.
2497 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
2498 ;;
2499 esac
2500 ;;
2501
2502 beos*)
2503 library_names_spec='$libname$shared_ext'
2504 dynamic_linker="$host_os ld.so"
2505 shlibpath_var=LIBRARY_PATH
2506 ;;
2507
2508 bsdi[[45]]*)
2509 version_type=linux # correct to gnu/linux during the next big refactor
2510 need_version=no
2511 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2512 soname_spec='$libname$release$shared_ext$major'
2513 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2514 shlibpath_var=LD_LIBRARY_PATH
2515 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2516 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2517 # the default ld.so.conf also contains /usr/contrib/lib and
2518 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2519 # libtool to hard-code these into programs
2520 ;;
2521
2522 cygwin* | mingw* | pw32* | cegcc*)
2523 version_type=windows
2524 shrext_cmds=.dll
2525 need_version=no
2526 need_lib_prefix=no
2527
2528 case $GCC,$cc_basename in
2529 yes,*)
2530 # gcc
2531 library_names_spec='$libname.dll.a'
2532 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2533 postinstall_cmds='base_file=`basename \$file`~
2534 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
2535 dldir=$destdir/`dirname \$dlpath`~
2536 test -d \$dldir || mkdir -p \$dldir~
2537 $install_prog $dir/$dlname \$dldir/$dlname~
2538 chmod a+x \$dldir/$dlname~
2539 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2540 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2541 fi'
2542 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2543 dlpath=$dir/\$dldll~
2544 $RM \$dlpath'
2545 shlibpath_overrides_runpath=yes
2546
2547 case $host_os in
2548 cygwin*)
2549 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2550 soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2551 m4_if([$1], [],[
2552 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
2553 ;;
2554 mingw* | cegcc*)
2555 # MinGW DLLs use traditional 'lib' prefix
2556 soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2557 ;;
2558 pw32*)
2559 # pw32 DLLs use 'pw' prefix rather than 'lib'
2560 library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2561 ;;
2562 esac
2563 dynamic_linker='Win32 ld.exe'
2564 ;;
2565
2566 *,cl*)
2567 # Native MSVC
2568 libname_spec='$name'
2569 soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2570 library_names_spec='$libname.dll.lib'
2571
2572 case $build_os in
2573 mingw*)
2574 sys_lib_search_path_spec=
2575 lt_save_ifs=$IFS
2576 IFS=';'
2577 for lt_path in $LIB
2578 do
2579 IFS=$lt_save_ifs
2580 # Let DOS variable expansion print the short 8.3 style file name.
2581 lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
2582 sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
2583 done
2584 IFS=$lt_save_ifs
2585 # Convert to MSYS style.
2586 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
2587 ;;
2588 cygwin*)
2589 # Convert to unix form, then to dos form, then back to unix form
2590 # but this time dos style (no spaces!) so that the unix form looks
2591 # like /cygdrive/c/PROGRA~1:/cygdr...
2592 sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
2593 sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
2594 sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2595 ;;
2596 *)
2597 sys_lib_search_path_spec=$LIB
2598 if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2599 # It is most probably a Windows format PATH.
2600 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2601 else
2602 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2603 fi
2604 # FIXME: find the short name or the path components, as spaces are
2605 # common. (e.g. "Program Files" -> "PROGRA~1")
2606 ;;
2607 esac
2608
2609 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2610 postinstall_cmds='base_file=`basename \$file`~
2611 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
2612 dldir=$destdir/`dirname \$dlpath`~
2613 test -d \$dldir || mkdir -p \$dldir~
2614 $install_prog $dir/$dlname \$dldir/$dlname'
2615 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2616 dlpath=$dir/\$dldll~
2617 $RM \$dlpath'
2618 shlibpath_overrides_runpath=yes
2619 dynamic_linker='Win32 link.exe'
2620 ;;
2621
2622 *)
2623 # Assume MSVC wrapper
2624 library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
2625 dynamic_linker='Win32 ld.exe'
2626 ;;
2627 esac
2628 # FIXME: first we should search . and the directory the executable is in
2629 shlibpath_var=PATH
2630 ;;
2631
2632 darwin* | rhapsody*)
2633 dynamic_linker="$host_os dyld"
2634 version_type=darwin
2635 need_lib_prefix=no
2636 need_version=no
2637 library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
2638 soname_spec='$libname$release$major$shared_ext'
2639 shlibpath_overrides_runpath=yes
2640 shlibpath_var=DYLD_LIBRARY_PATH
2641 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2642 m4_if([$1], [],[
2643 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2644 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2645 ;;
2646
2647 dgux*)
2648 version_type=linux # correct to gnu/linux during the next big refactor
2649 need_lib_prefix=no
2650 need_version=no
2651 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2652 soname_spec='$libname$release$shared_ext$major'
2653 shlibpath_var=LD_LIBRARY_PATH
2654 ;;
2655
2656 freebsd* | dragonfly*)
2657 # DragonFly does not have aout. When/if they implement a new
2658 # versioning mechanism, adjust this.
2659 if test -x /usr/bin/objformat; then
2660 objformat=`/usr/bin/objformat`
2661 else
2662 case $host_os in
2663 freebsd[[23]].*) objformat=aout ;;
2664 *) objformat=elf ;;
2665 esac
2666 fi
2667 version_type=freebsd-$objformat
2668 case $version_type in
2669 freebsd-elf*)
2670 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2671 soname_spec='$libname$release$shared_ext$major'
2672 need_version=no
2673 need_lib_prefix=no
2674 ;;
2675 freebsd-*)
2676 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2677 need_version=yes
2678 ;;
2679 esac
2680 shlibpath_var=LD_LIBRARY_PATH
2681 case $host_os in
2682 freebsd2.*)
2683 shlibpath_overrides_runpath=yes
2684 ;;
2685 freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2686 shlibpath_overrides_runpath=yes
2687 hardcode_into_libs=yes
2688 ;;
2689 freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2690 freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2691 shlibpath_overrides_runpath=no
2692 hardcode_into_libs=yes
2693 ;;
2694 *) # from 4.6 on, and DragonFly
2695 shlibpath_overrides_runpath=yes
2696 hardcode_into_libs=yes
2697 ;;
2698 esac
2699 ;;
2700
2701 haiku*)
2702 version_type=linux # correct to gnu/linux during the next big refactor
2703 need_lib_prefix=no
2704 need_version=no
2705 dynamic_linker="$host_os runtime_loader"
2706 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2707 soname_spec='$libname$release$shared_ext$major'
2708 shlibpath_var=LIBRARY_PATH
2709 shlibpath_overrides_runpath=no
2710 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
2711 hardcode_into_libs=yes
2712 ;;
2713
2714 hpux9* | hpux10* | hpux11*)
2715 # Give a soname corresponding to the major version so that dld.sl refuses to
2716 # link against other versions.
2717 version_type=sunos
2718 need_lib_prefix=no
2719 need_version=no
2720 case $host_cpu in
2721 ia64*)
2722 shrext_cmds='.so'
2723 hardcode_into_libs=yes
2724 dynamic_linker="$host_os dld.so"
2725 shlibpath_var=LD_LIBRARY_PATH
2726 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2727 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2728 soname_spec='$libname$release$shared_ext$major'
2729 if test 32 = "$HPUX_IA64_MODE"; then
2730 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2731 sys_lib_dlsearch_path_spec=/usr/lib/hpux32
2732 else
2733 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2734 sys_lib_dlsearch_path_spec=/usr/lib/hpux64
2735 fi
2736 ;;
2737 hppa*64*)
2738 shrext_cmds='.sl'
2739 hardcode_into_libs=yes
2740 dynamic_linker="$host_os dld.sl"
2741 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2742 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2743 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2744 soname_spec='$libname$release$shared_ext$major'
2745 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2746 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2747 ;;
2748 *)
2749 shrext_cmds='.sl'
2750 dynamic_linker="$host_os dld.sl"
2751 shlibpath_var=SHLIB_PATH
2752 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2753 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2754 soname_spec='$libname$release$shared_ext$major'
2755 ;;
2756 esac
2757 # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
2758 postinstall_cmds='chmod 555 $lib'
2759 # or fails outright, so override atomically:
2760 install_override_mode=555
2761 ;;
2762
2763 interix[[3-9]]*)
2764 version_type=linux # correct to gnu/linux during the next big refactor
2765 need_lib_prefix=no
2766 need_version=no
2767 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2768 soname_spec='$libname$release$shared_ext$major'
2769 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2770 shlibpath_var=LD_LIBRARY_PATH
2771 shlibpath_overrides_runpath=no
2772 hardcode_into_libs=yes
2773 ;;
2774
2775 irix5* | irix6* | nonstopux*)
2776 case $host_os in
2777 nonstopux*) version_type=nonstopux ;;
2778 *)
2779 if test yes = "$lt_cv_prog_gnu_ld"; then
2780 version_type=linux # correct to gnu/linux during the next big refactor
2781 else
2782 version_type=irix
2783 fi ;;
2784 esac
2785 need_lib_prefix=no
2786 need_version=no
2787 soname_spec='$libname$release$shared_ext$major'
2788 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
2789 case $host_os in
2790 irix5* | nonstopux*)
2791 libsuff= shlibsuff=
2792 ;;
2793 *)
2794 case $LD in # libtool.m4 will add one of these switches to LD
2795 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2796 libsuff= shlibsuff= libmagic=32-bit;;
2797 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2798 libsuff=32 shlibsuff=N32 libmagic=N32;;
2799 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2800 libsuff=64 shlibsuff=64 libmagic=64-bit;;
2801 *) libsuff= shlibsuff= libmagic=never-match;;
2802 esac
2803 ;;
2804 esac
2805 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2806 shlibpath_overrides_runpath=no
2807 sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
2808 sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
2809 hardcode_into_libs=yes
2810 ;;
2811
2812 # No shared lib support for Linux oldld, aout, or coff.
2813 linux*oldld* | linux*aout* | linux*coff*)
2814 dynamic_linker=no
2815 ;;
2816
2817 linux*android*)
2818 version_type=none # Android doesn't support versioned libraries.
2819 need_lib_prefix=no
2820 need_version=no
2821 library_names_spec='$libname$release$shared_ext'
2822 soname_spec='$libname$release$shared_ext'
2823 finish_cmds=
2824 shlibpath_var=LD_LIBRARY_PATH
2825 shlibpath_overrides_runpath=yes
2826
2827 # This implies no fast_install, which is unacceptable.
2828 # Some rework will be needed to allow for fast_install
2829 # before this can be enabled.
2830 hardcode_into_libs=yes
2831
2832 dynamic_linker='Android linker'
2833 # Don't embed -rpath directories since the linker doesn't support them.
2834 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
2835 ;;
2836
2837 # This must be glibc/ELF.
2838 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
2839 version_type=linux # correct to gnu/linux during the next big refactor
2840 need_lib_prefix=no
2841 need_version=no
2842 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2843 soname_spec='$libname$release$shared_ext$major'
2844 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2845 shlibpath_var=LD_LIBRARY_PATH
2846 shlibpath_overrides_runpath=no
2847
2848 # Some binutils ld are patched to set DT_RUNPATH
2849 AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
2850 [lt_cv_shlibpath_overrides_runpath=no
2851 save_LDFLAGS=$LDFLAGS
2852 save_libdir=$libdir
2853 eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2854 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2855 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2856 [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2857 [lt_cv_shlibpath_overrides_runpath=yes])])
2858 LDFLAGS=$save_LDFLAGS
2859 libdir=$save_libdir
2860 ])
2861 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
2862
2863 # This implies no fast_install, which is unacceptable.
2864 # Some rework will be needed to allow for fast_install
2865 # before this can be enabled.
2866 hardcode_into_libs=yes
2867
2868 # Ideally, we could use ldconfig to report *all* directores which are
2869 # searched for libraries, however this is still not possible. Aside from not
2870 # being certain /sbin/ldconfig is available, command
2871 # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
2872 # even though it is searched at run-time. Try to do the best guess by
2873 # appending ld.so.conf contents (and includes) to the search path.
2874 if test -f /etc/ld.so.conf; then
2875 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
2876 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2877 fi
2878
2879 # We used to test for /lib/ld.so.1 and disable shared libraries on
2880 # powerpc, because MkLinux only supported shared libraries with the
2881 # GNU dynamic linker. Since this was broken with cross compilers,
2882 # most powerpc-linux boxes support dynamic linking these days and
2883 # people can always --disable-shared, the test was removed, and we
2884 # assume the GNU/Linux dynamic linker is in use.
2885 dynamic_linker='GNU/Linux ld.so'
2886 ;;
2887
2888 netbsdelf*-gnu)
2889 version_type=linux
2890 need_lib_prefix=no
2891 need_version=no
2892 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2893 soname_spec='${libname}${release}${shared_ext}$major'
2894 shlibpath_var=LD_LIBRARY_PATH
2895 shlibpath_overrides_runpath=no
2896 hardcode_into_libs=yes
2897 dynamic_linker='NetBSD ld.elf_so'
2898 ;;
2899
2900 netbsd*)
2901 version_type=sunos
2902 need_lib_prefix=no
2903 need_version=no
2904 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2905 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2906 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2907 dynamic_linker='NetBSD (a.out) ld.so'
2908 else
2909 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2910 soname_spec='$libname$release$shared_ext$major'
2911 dynamic_linker='NetBSD ld.elf_so'
2912 fi
2913 shlibpath_var=LD_LIBRARY_PATH
2914 shlibpath_overrides_runpath=yes
2915 hardcode_into_libs=yes
2916 ;;
2917
2918 newsos6)
2919 version_type=linux # correct to gnu/linux during the next big refactor
2920 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2921 shlibpath_var=LD_LIBRARY_PATH
2922 shlibpath_overrides_runpath=yes
2923 ;;
2924
2925 *nto* | *qnx*)
2926 version_type=qnx
2927 need_lib_prefix=no
2928 need_version=no
2929 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2930 soname_spec='$libname$release$shared_ext$major'
2931 shlibpath_var=LD_LIBRARY_PATH
2932 shlibpath_overrides_runpath=no
2933 hardcode_into_libs=yes
2934 dynamic_linker='ldqnx.so'
2935 ;;
2936
2937 openbsd* | bitrig*)
2938 version_type=sunos
2939 sys_lib_dlsearch_path_spec=/usr/lib
2940 need_lib_prefix=no
2941 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
2942 need_version=no
2943 else
2944 need_version=yes
2945 fi
2946 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2947 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2948 shlibpath_var=LD_LIBRARY_PATH
2949 shlibpath_overrides_runpath=yes
2950 ;;
2951
2952 os2*)
2953 libname_spec='$name'
2954 version_type=windows
2955 shrext_cmds=.dll
2956 need_version=no
2957 need_lib_prefix=no
2958 # OS/2 can only load a DLL with a base name of 8 characters or less.
2959 soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
2960 v=$($ECHO $release$versuffix | tr -d .-);
2961 n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
2962 $ECHO $n$v`$shared_ext'
2963 library_names_spec='${libname}_dll.$libext'
2964 dynamic_linker='OS/2 ld.exe'
2965 shlibpath_var=BEGINLIBPATH
2966 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2967 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2968 postinstall_cmds='base_file=`basename \$file`~
2969 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
2970 dldir=$destdir/`dirname \$dlpath`~
2971 test -d \$dldir || mkdir -p \$dldir~
2972 $install_prog $dir/$dlname \$dldir/$dlname~
2973 chmod a+x \$dldir/$dlname~
2974 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2975 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2976 fi'
2977 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
2978 dlpath=$dir/\$dldll~
2979 $RM \$dlpath'
2980 ;;
2981
2982 osf3* | osf4* | osf5*)
2983 version_type=osf
2984 need_lib_prefix=no
2985 need_version=no
2986 soname_spec='$libname$release$shared_ext$major'
2987 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2988 shlibpath_var=LD_LIBRARY_PATH
2989 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2990 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2991 ;;
2992
2993 rdos*)
2994 dynamic_linker=no
2995 ;;
2996
2997 solaris*)
2998 version_type=linux # correct to gnu/linux during the next big refactor
2999 need_lib_prefix=no
3000 need_version=no
3001 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3002 soname_spec='$libname$release$shared_ext$major'
3003 shlibpath_var=LD_LIBRARY_PATH
3004 shlibpath_overrides_runpath=yes
3005 hardcode_into_libs=yes
3006 # ldd complains unless libraries are executable
3007 postinstall_cmds='chmod +x $lib'
3008 ;;
3009
3010 sunos4*)
3011 version_type=sunos
3012 library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
3013 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
3014 shlibpath_var=LD_LIBRARY_PATH
3015 shlibpath_overrides_runpath=yes
3016 if test yes = "$with_gnu_ld"; then
3017 need_lib_prefix=no
3018 fi
3019 need_version=yes
3020 ;;
3021
3022 sysv4 | sysv4.3*)
3023 version_type=linux # correct to gnu/linux during the next big refactor
3024 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3025 soname_spec='$libname$release$shared_ext$major'
3026 shlibpath_var=LD_LIBRARY_PATH
3027 case $host_vendor in
3028 sni)
3029 shlibpath_overrides_runpath=no
3030 need_lib_prefix=no
3031 runpath_var=LD_RUN_PATH
3032 ;;
3033 siemens)
3034 need_lib_prefix=no
3035 ;;
3036 motorola)
3037 need_lib_prefix=no
3038 need_version=no
3039 shlibpath_overrides_runpath=no
3040 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
3041 ;;
3042 esac
3043 ;;
3044
3045 sysv4*MP*)
3046 if test -d /usr/nec; then
3047 version_type=linux # correct to gnu/linux during the next big refactor
3048 library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
3049 soname_spec='$libname$shared_ext.$major'
3050 shlibpath_var=LD_LIBRARY_PATH
3051 fi
3052 ;;
3053
3054 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3055 version_type=sco
3056 need_lib_prefix=no
3057 need_version=no
3058 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
3059 soname_spec='$libname$release$shared_ext$major'
3060 shlibpath_var=LD_LIBRARY_PATH
3061 shlibpath_overrides_runpath=yes
3062 hardcode_into_libs=yes
3063 if test yes = "$with_gnu_ld"; then
3064 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
3065 else
3066 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
3067 case $host_os in
3068 sco3.2v5*)
3069 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
3070 ;;
3071 esac
3072 fi
3073 sys_lib_dlsearch_path_spec='/usr/lib'
3074 ;;
3075
3076 tpf*)
3077 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
3078 version_type=linux # correct to gnu/linux during the next big refactor
3079 need_lib_prefix=no
3080 need_version=no
3081 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3082 shlibpath_var=LD_LIBRARY_PATH
3083 shlibpath_overrides_runpath=no
3084 hardcode_into_libs=yes
3085 ;;
3086
3087 uts4*)
3088 version_type=linux # correct to gnu/linux during the next big refactor
3089 library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3090 soname_spec='$libname$release$shared_ext$major'
3091 shlibpath_var=LD_LIBRARY_PATH
3092 ;;
3093
3094 *)
3095 dynamic_linker=no
3096 ;;
3097 esac
3098 AC_MSG_RESULT([$dynamic_linker])
3099 test no = "$dynamic_linker" && can_build_shared=no
3100
3101 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
3102 if test yes = "$GCC"; then
3103 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
3104 fi
3105
3106 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
3107 sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
3108 fi
3109
3110 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
3111 sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
3112 fi
3113
3114 # remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
3115 configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
3116
3117 # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
3118 func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
3119
3120 # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
3121 configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
3122
3123 _LT_DECL([], [variables_saved_for_relink], [1],
3124 [Variables whose values should be saved in libtool wrapper scripts and
3125 restored at link time])
3126 _LT_DECL([], [need_lib_prefix], [0],
3127 [Do we need the "lib" prefix for modules?])
3128 _LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
3129 _LT_DECL([], [version_type], [0], [Library versioning type])
3130 _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
3131 _LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
3132 _LT_DECL([], [shlibpath_overrides_runpath], [0],
3133 [Is shlibpath searched before the hard-coded library search path?])
3134 _LT_DECL([], [libname_spec], [1], [Format of library name prefix])
3135 _LT_DECL([], [library_names_spec], [1],
3136 [[List of archive names. First name is the real one, the rest are links.
3137 The last name is the one that the linker finds with -lNAME]])
3138 _LT_DECL([], [soname_spec], [1],
3139 [[The coded name of the library, if different from the real name]])
3140 _LT_DECL([], [install_override_mode], [1],
3141 [Permission mode override for installation of shared libraries])
3142 _LT_DECL([], [postinstall_cmds], [2],
3143 [Command to use after installation of a shared archive])
3144 _LT_DECL([], [postuninstall_cmds], [2],
3145 [Command to use after uninstallation of a shared archive])
3146 _LT_DECL([], [finish_cmds], [2],
3147 [Commands used to finish a libtool library installation in a directory])
3148 _LT_DECL([], [finish_eval], [1],
3149 [[As "finish_cmds", except a single script fragment to be evaled but
3150 not shown]])
3151 _LT_DECL([], [hardcode_into_libs], [0],
3152 [Whether we should hardcode library paths into libraries])
3153 _LT_DECL([], [sys_lib_search_path_spec], [2],
3154 [Compile-time system search path for libraries])
3155 _LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
3156 [Detected run-time system search path for libraries])
3157 _LT_DECL([], [configure_time_lt_sys_library_path], [2],
3158 [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
3159 ])# _LT_SYS_DYNAMIC_LINKER
3160
3161
3162 # _LT_PATH_TOOL_PREFIX(TOOL)
3163 # --------------------------
3164 # find a file program that can recognize shared library
3165 AC_DEFUN([_LT_PATH_TOOL_PREFIX],
3166 [m4_require([_LT_DECL_EGREP])dnl
3167 AC_MSG_CHECKING([for $1])
3168 AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
3169 [case $MAGIC_CMD in
3170 [[\\/*] | ?:[\\/]*])
3171 lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
3172 ;;
3173 *)
3174 lt_save_MAGIC_CMD=$MAGIC_CMD
3175 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3176 dnl $ac_dummy forces splitting on constant user-supplied paths.
3177 dnl POSIX.2 word splitting is done only on the output of word expansions,
3178 dnl not every word. This closes a longstanding sh security hole.
3179 ac_dummy="m4_if([$2], , $PATH, [$2])"
3180 for ac_dir in $ac_dummy; do
3181 IFS=$lt_save_ifs
3182 test -z "$ac_dir" && ac_dir=.
3183 if test -f "$ac_dir/$1"; then
3184 lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
3185 if test -n "$file_magic_test_file"; then
3186 case $deplibs_check_method in
3187 "file_magic "*)
3188 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
3189 MAGIC_CMD=$lt_cv_path_MAGIC_CMD
3190 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
3191 $EGREP "$file_magic_regex" > /dev/null; then
3192 :
3193 else
3194 cat <<_LT_EOF 1>&2
3195
3196 *** Warning: the command libtool uses to detect shared libraries,
3197 *** $file_magic_cmd, produces output that libtool cannot recognize.
3198 *** The result is that libtool may fail to recognize shared libraries
3199 *** as such. This will affect the creation of libtool libraries that
3200 *** depend on shared libraries, but programs linked with such libtool
3201 *** libraries will work regardless of this problem. Nevertheless, you
3202 *** may want to report the problem to your system manager and/or to
3203 *** bug-libtool@gnu.org
3204
3205 _LT_EOF
3206 fi ;;
3207 esac
3208 fi
3209 break
3210 fi
3211 done
3212 IFS=$lt_save_ifs
3213 MAGIC_CMD=$lt_save_MAGIC_CMD
3214 ;;
3215 esac])
3216 MAGIC_CMD=$lt_cv_path_MAGIC_CMD
3217 if test -n "$MAGIC_CMD"; then
3218 AC_MSG_RESULT($MAGIC_CMD)
3219 else
3220 AC_MSG_RESULT(no)
3221 fi
3222 _LT_DECL([], [MAGIC_CMD], [0],
3223 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
3224 ])# _LT_PATH_TOOL_PREFIX
3225
3226 # Old name:
3227 AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
3228 dnl aclocal-1.4 backwards compatibility:
3229 dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
3230
3231
3232 # _LT_PATH_MAGIC
3233 # --------------
3234 # find a file program that can recognize a shared library
3235 m4_defun([_LT_PATH_MAGIC],
3236 [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
3237 if test -z "$lt_cv_path_MAGIC_CMD"; then
3238 if test -n "$ac_tool_prefix"; then
3239 _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
3240 else
3241 MAGIC_CMD=:
3242 fi
3243 fi
3244 ])# _LT_PATH_MAGIC
3245
3246
3247 # LT_PATH_LD
3248 # ----------
3249 # find the pathname to the GNU or non-GNU linker
3250 AC_DEFUN([LT_PATH_LD],
3251 [AC_REQUIRE([AC_PROG_CC])dnl
3252 AC_REQUIRE([AC_CANONICAL_HOST])dnl
3253 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3254 m4_require([_LT_DECL_SED])dnl
3255 m4_require([_LT_DECL_EGREP])dnl
3256 m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
3257
3258 AC_ARG_WITH([gnu-ld],
3259 [AS_HELP_STRING([--with-gnu-ld],
3260 [assume the C compiler uses GNU ld @<:@default=no@:>@])],
3261 [test no = "$withval" || with_gnu_ld=yes],
3262 [with_gnu_ld=no])dnl
3263
3264 ac_prog=ld
3265 if test yes = "$GCC"; then
3266 # Check if gcc -print-prog-name=ld gives a path.
3267 AC_MSG_CHECKING([for ld used by $CC])
3268 case $host in
3269 *-*-mingw*)
3270 # gcc leaves a trailing carriage return, which upsets mingw
3271 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3272 *)
3273 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3274 esac
3275 case $ac_prog in
3276 # Accept absolute paths.
3277 [[\\/]]* | ?:[[\\/]]*)
3278 re_direlt='/[[^/]][[^/]]*/\.\./'
3279 # Canonicalize the pathname of ld
3280 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
3281 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
3282 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
3283 done
3284 test -z "$LD" && LD=$ac_prog
3285 ;;
3286 "")
3287 # If it fails, then pretend we aren't using GCC.
3288 ac_prog=ld
3289 ;;
3290 *)
3291 # If it is relative, then search for the first ld in PATH.
3292 with_gnu_ld=unknown
3293 ;;
3294 esac
3295 elif test yes = "$with_gnu_ld"; then
3296 AC_MSG_CHECKING([for GNU ld])
3297 else
3298 AC_MSG_CHECKING([for non-GNU ld])
3299 fi
3300 AC_CACHE_VAL(lt_cv_path_LD,
3301 [if test -z "$LD"; then
3302 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3303 for ac_dir in $PATH; do
3304 IFS=$lt_save_ifs
3305 test -z "$ac_dir" && ac_dir=.
3306 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3307 lt_cv_path_LD=$ac_dir/$ac_prog
3308 # Check to see if the program is GNU ld. I'd rather use --version,
3309 # but apparently some variants of GNU ld only accept -v.
3310 # Break only if it was the GNU/non-GNU ld that we prefer.
3311 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
3312 *GNU* | *'with BFD'*)
3313 test no != "$with_gnu_ld" && break
3314 ;;
3315 *)
3316 test yes != "$with_gnu_ld" && break
3317 ;;
3318 esac
3319 fi
3320 done
3321 IFS=$lt_save_ifs
3322 else
3323 lt_cv_path_LD=$LD # Let the user override the test with a path.
3324 fi])
3325 LD=$lt_cv_path_LD
3326 if test -n "$LD"; then
3327 AC_MSG_RESULT($LD)
3328 else
3329 AC_MSG_RESULT(no)
3330 fi
3331 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3332 _LT_PATH_LD_GNU
3333 AC_SUBST([LD])
3334
3335 _LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
3336 ])# LT_PATH_LD
3337
3338 # Old names:
3339 AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
3340 AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
3341 dnl aclocal-1.4 backwards compatibility:
3342 dnl AC_DEFUN([AM_PROG_LD], [])
3343 dnl AC_DEFUN([AC_PROG_LD], [])
3344
3345
3346 # _LT_PATH_LD_GNU
3347 #- --------------
3348 m4_defun([_LT_PATH_LD_GNU],
3349 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3350 [# I'd rather use --version here, but apparently some GNU lds only accept -v.
3351 case `$LD -v 2>&1 </dev/null` in
3352 *GNU* | *'with BFD'*)
3353 lt_cv_prog_gnu_ld=yes
3354 ;;
3355 *)
3356 lt_cv_prog_gnu_ld=no
3357 ;;
3358 esac])
3359 with_gnu_ld=$lt_cv_prog_gnu_ld
3360 ])# _LT_PATH_LD_GNU
3361
3362
3363 # _LT_CMD_RELOAD
3364 # --------------
3365 # find reload flag for linker
3366 # -- PORTME Some linkers may need a different reload flag.
3367 m4_defun([_LT_CMD_RELOAD],
3368 [AC_CACHE_CHECK([for $LD option to reload object files],
3369 lt_cv_ld_reload_flag,
3370 [lt_cv_ld_reload_flag='-r'])
3371 reload_flag=$lt_cv_ld_reload_flag
3372 case $reload_flag in
3373 "" | " "*) ;;
3374 *) reload_flag=" $reload_flag" ;;
3375 esac
3376 reload_cmds='$LD$reload_flag -o $output$reload_objs'
3377 case $host_os in
3378 cygwin* | mingw* | pw32* | cegcc*)
3379 if test yes != "$GCC"; then
3380 reload_cmds=false
3381 fi
3382 ;;
3383 darwin*)
3384 if test yes = "$GCC"; then
3385 reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
3386 else
3387 reload_cmds='$LD$reload_flag -o $output$reload_objs'
3388 fi
3389 ;;
3390 esac
3391 _LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
3392 _LT_TAGDECL([], [reload_cmds], [2])dnl
3393 ])# _LT_CMD_RELOAD
3394
3395
3396 # _LT_PATH_DD
3397 # -----------
3398 # find a working dd
3399 m4_defun([_LT_PATH_DD],
3400 [AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
3401 [printf 0123456789abcdef0123456789abcdef >conftest.i
3402 cat conftest.i conftest.i >conftest2.i
3403 : ${lt_DD:=$DD}
3404 AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
3405 [if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
3406 cmp -s conftest.i conftest.out \
3407 && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
3408 fi])
3409 rm -f conftest.i conftest2.i conftest.out])
3410 ])# _LT_PATH_DD
3411
3412
3413 # _LT_CMD_TRUNCATE
3414 # ----------------
3415 # find command to truncate a binary pipe
3416 m4_defun([_LT_CMD_TRUNCATE],
3417 [m4_require([_LT_PATH_DD])
3418 AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
3419 [printf 0123456789abcdef0123456789abcdef >conftest.i
3420 cat conftest.i conftest.i >conftest2.i
3421 lt_cv_truncate_bin=
3422 if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
3423 cmp -s conftest.i conftest.out \
3424 && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
3425 fi
3426 rm -f conftest.i conftest2.i conftest.out
3427 test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
3428 _LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
3429 [Command to truncate a binary pipe])
3430 ])# _LT_CMD_TRUNCATE
3431
3432
3433 # _LT_CHECK_MAGIC_METHOD
3434 # ----------------------
3435 # how to check for library dependencies
3436 # -- PORTME fill in with the dynamic library characteristics
3437 m4_defun([_LT_CHECK_MAGIC_METHOD],
3438 [m4_require([_LT_DECL_EGREP])
3439 m4_require([_LT_DECL_OBJDUMP])
3440 AC_CACHE_CHECK([how to recognize dependent libraries],
3441 lt_cv_deplibs_check_method,
3442 [lt_cv_file_magic_cmd='$MAGIC_CMD'
3443 lt_cv_file_magic_test_file=
3444 lt_cv_deplibs_check_method='unknown'
3445 # Need to set the preceding variable on all platforms that support
3446 # interlibrary dependencies.
3447 # 'none' -- dependencies not supported.
3448 # 'unknown' -- same as none, but documents that we really don't know.
3449 # 'pass_all' -- all dependencies passed with no checks.
3450 # 'test_compile' -- check by making test program.
3451 # 'file_magic [[regex]]' -- check by looking for files in library path
3452 # that responds to the $file_magic_cmd with a given extended regex.
3453 # If you have 'file' or equivalent on your system and you're not sure
3454 # whether 'pass_all' will *always* work, you probably want this one.
3455
3456 case $host_os in
3457 aix[[4-9]]*)
3458 lt_cv_deplibs_check_method=pass_all
3459 ;;
3460
3461 beos*)
3462 lt_cv_deplibs_check_method=pass_all
3463 ;;
3464
3465 bsdi[[45]]*)
3466 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3467 lt_cv_file_magic_cmd='/usr/bin/file -L'
3468 lt_cv_file_magic_test_file=/shlib/libc.so
3469 ;;
3470
3471 cygwin*)
3472 # func_win32_libid is a shell function defined in ltmain.sh
3473 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3474 lt_cv_file_magic_cmd='func_win32_libid'
3475 ;;
3476
3477 mingw* | pw32*)
3478 # Base MSYS/MinGW do not provide the 'file' command needed by
3479 # func_win32_libid shell function, so use a weaker test based on 'objdump',
3480 # unless we find 'file', for example because we are cross-compiling.
3481 if ( file / ) >/dev/null 2>&1; then
3482 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3483 lt_cv_file_magic_cmd='func_win32_libid'
3484 else
3485 # Keep this pattern in sync with the one in func_win32_libid.
3486 lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
3487 lt_cv_file_magic_cmd='$OBJDUMP -f'
3488 fi
3489 ;;
3490
3491 cegcc*)
3492 # use the weaker test based on 'objdump'. See mingw*.
3493 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3494 lt_cv_file_magic_cmd='$OBJDUMP -f'
3495 ;;
3496
3497 darwin* | rhapsody*)
3498 lt_cv_deplibs_check_method=pass_all
3499 ;;
3500
3501 freebsd* | dragonfly*)
3502 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3503 case $host_cpu in
3504 i*86 )
3505 # Not sure whether the presence of OpenBSD here was a mistake.
3506 # Let's accept both of them until this is cleared up.
3507 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3508 lt_cv_file_magic_cmd=/usr/bin/file
3509 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3510 ;;
3511 esac
3512 else
3513 lt_cv_deplibs_check_method=pass_all
3514 fi
3515 ;;
3516
3517 haiku*)
3518 lt_cv_deplibs_check_method=pass_all
3519 ;;
3520
3521 hpux10.20* | hpux11*)
3522 lt_cv_file_magic_cmd=/usr/bin/file
3523 case $host_cpu in
3524 ia64*)
3525 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3526 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3527 ;;
3528 hppa*64*)
3529 [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
3530 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3531 ;;
3532 *)
3533 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
3534 lt_cv_file_magic_test_file=/usr/lib/libc.sl
3535 ;;
3536 esac
3537 ;;
3538
3539 interix[[3-9]]*)
3540 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3541 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3542 ;;
3543
3544 irix5* | irix6* | nonstopux*)
3545 case $LD in
3546 *-32|*"-32 ") libmagic=32-bit;;
3547 *-n32|*"-n32 ") libmagic=N32;;
3548 *-64|*"-64 ") libmagic=64-bit;;
3549 *) libmagic=never-match;;
3550 esac
3551 lt_cv_deplibs_check_method=pass_all
3552 ;;
3553
3554 # This must be glibc/ELF.
3555 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
3556 lt_cv_deplibs_check_method=pass_all
3557 ;;
3558
3559 netbsd* | netbsdelf*-gnu)
3560 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3561 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3562 else
3563 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3564 fi
3565 ;;
3566
3567 newos6*)
3568 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3569 lt_cv_file_magic_cmd=/usr/bin/file
3570 lt_cv_file_magic_test_file=/usr/lib/libnls.so
3571 ;;
3572
3573 *nto* | *qnx*)
3574 lt_cv_deplibs_check_method=pass_all
3575 ;;
3576
3577 openbsd* | bitrig*)
3578 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
3579 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3580 else
3581 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3582 fi
3583 ;;
3584
3585 osf3* | osf4* | osf5*)
3586 lt_cv_deplibs_check_method=pass_all
3587 ;;
3588
3589 rdos*)
3590 lt_cv_deplibs_check_method=pass_all
3591 ;;
3592
3593 solaris*)
3594 lt_cv_deplibs_check_method=pass_all
3595 ;;
3596
3597 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3598 lt_cv_deplibs_check_method=pass_all
3599 ;;
3600
3601 sysv4 | sysv4.3*)
3602 case $host_vendor in
3603 motorola)
3604 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
3605 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3606 ;;
3607 ncr)
3608 lt_cv_deplibs_check_method=pass_all
3609 ;;
3610 sequent)
3611 lt_cv_file_magic_cmd='/bin/file'
3612 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3613 ;;
3614 sni)
3615 lt_cv_file_magic_cmd='/bin/file'
3616 lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3617 lt_cv_file_magic_test_file=/lib/libc.so
3618 ;;
3619 siemens)
3620 lt_cv_deplibs_check_method=pass_all
3621 ;;
3622 pc)
3623 lt_cv_deplibs_check_method=pass_all
3624 ;;
3625 esac
3626 ;;
3627
3628 tpf*)
3629 lt_cv_deplibs_check_method=pass_all
3630 ;;
3631 os2*)
3632 lt_cv_deplibs_check_method=pass_all
3633 ;;
3634 esac
3635 ])
3636
3637 file_magic_glob=
3638 want_nocaseglob=no
3639 if test "$build" = "$host"; then
3640 case $host_os in
3641 mingw* | pw32*)
3642 if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
3643 want_nocaseglob=yes
3644 else
3645 file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
3646 fi
3647 ;;
3648 esac
3649 fi
3650
3651 file_magic_cmd=$lt_cv_file_magic_cmd
3652 deplibs_check_method=$lt_cv_deplibs_check_method
3653 test -z "$deplibs_check_method" && deplibs_check_method=unknown
3654
3655 _LT_DECL([], [deplibs_check_method], [1],
3656 [Method to check whether dependent libraries are shared objects])
3657 _LT_DECL([], [file_magic_cmd], [1],
3658 [Command to use when deplibs_check_method = "file_magic"])
3659 _LT_DECL([], [file_magic_glob], [1],
3660 [How to find potential files when deplibs_check_method = "file_magic"])
3661 _LT_DECL([], [want_nocaseglob], [1],
3662 [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
3663 ])# _LT_CHECK_MAGIC_METHOD
3664
3665
3666 # LT_PATH_NM
3667 # ----------
3668 # find the pathname to a BSD- or MS-compatible name lister
3669 AC_DEFUN([LT_PATH_NM],
3670 [AC_REQUIRE([AC_PROG_CC])dnl
3671 AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3672 [if test -n "$NM"; then
3673 # Let the user override the test.
3674 lt_cv_path_NM=$NM
3675 else
3676 lt_nm_to_check=${ac_tool_prefix}nm
3677 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3678 lt_nm_to_check="$lt_nm_to_check nm"
3679 fi
3680 for lt_tmp_nm in $lt_nm_to_check; do
3681 lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3682 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3683 IFS=$lt_save_ifs
3684 test -z "$ac_dir" && ac_dir=.
3685 tmp_nm=$ac_dir/$lt_tmp_nm
3686 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
3687 # Check to see if the nm accepts a BSD-compat flag.
3688 # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
3689 # nm: unknown option "B" ignored
3690 # Tru64's nm complains that /dev/null is an invalid object file
3691 # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
3692 case $build_os in
3693 mingw*) lt_bad_file=conftest.nm/nofile ;;
3694 *) lt_bad_file=/dev/null ;;
3695 esac
3696 case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
3697 *$lt_bad_file* | *'Invalid file or object type'*)
3698 lt_cv_path_NM="$tmp_nm -B"
3699 break 2
3700 ;;
3701 *)
3702 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3703 */dev/null*)
3704 lt_cv_path_NM="$tmp_nm -p"
3705 break 2
3706 ;;
3707 *)
3708 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3709 continue # so that we can try to find one that supports BSD flags
3710 ;;
3711 esac
3712 ;;
3713 esac
3714 fi
3715 done
3716 IFS=$lt_save_ifs
3717 done
3718 : ${lt_cv_path_NM=no}
3719 fi])
3720 if test no != "$lt_cv_path_NM"; then
3721 NM=$lt_cv_path_NM
3722 else
3723 # Didn't find any BSD compatible name lister, look for dumpbin.
3724 if test -n "$DUMPBIN"; then :
3725 # Let the user override the test.
3726 else
3727 AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
3728 case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
3729 *COFF*)
3730 DUMPBIN="$DUMPBIN -symbols -headers"
3731 ;;
3732 *)
3733 DUMPBIN=:
3734 ;;
3735 esac
3736 fi
3737 AC_SUBST([DUMPBIN])
3738 if test : != "$DUMPBIN"; then
3739 NM=$DUMPBIN
3740 fi
3741 fi
3742 test -z "$NM" && NM=nm
3743 AC_SUBST([NM])
3744 _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3745
3746 AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3747 [lt_cv_nm_interface="BSD nm"
3748 echo "int some_variable = 0;" > conftest.$ac_ext
3749 (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3750 (eval "$ac_compile" 2>conftest.err)
3751 cat conftest.err >&AS_MESSAGE_LOG_FD
3752 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3753 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3754 cat conftest.err >&AS_MESSAGE_LOG_FD
3755 (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
3756 cat conftest.out >&AS_MESSAGE_LOG_FD
3757 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3758 lt_cv_nm_interface="MS dumpbin"
3759 fi
3760 rm -f conftest*])
3761 ])# LT_PATH_NM
3762
3763 # Old names:
3764 AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3765 AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3766 dnl aclocal-1.4 backwards compatibility:
3767 dnl AC_DEFUN([AM_PROG_NM], [])
3768 dnl AC_DEFUN([AC_PROG_NM], [])
3769
3770 # _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3771 # --------------------------------
3772 # how to determine the name of the shared library
3773 # associated with a specific link library.
3774 # -- PORTME fill in with the dynamic library characteristics
3775 m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
3776 [m4_require([_LT_DECL_EGREP])
3777 m4_require([_LT_DECL_OBJDUMP])
3778 m4_require([_LT_DECL_DLLTOOL])
3779 AC_CACHE_CHECK([how to associate runtime and link libraries],
3780 lt_cv_sharedlib_from_linklib_cmd,
3781 [lt_cv_sharedlib_from_linklib_cmd='unknown'
3782
3783 case $host_os in
3784 cygwin* | mingw* | pw32* | cegcc*)
3785 # two different shell functions defined in ltmain.sh;
3786 # decide which one to use based on capabilities of $DLLTOOL
3787 case `$DLLTOOL --help 2>&1` in
3788 *--identify-strict*)
3789 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
3790 ;;
3791 *)
3792 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
3793 ;;
3794 esac
3795 ;;
3796 *)
3797 # fallback: assume linklib IS sharedlib
3798 lt_cv_sharedlib_from_linklib_cmd=$ECHO
3799 ;;
3800 esac
3801 ])
3802 sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
3803 test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
3804
3805 _LT_DECL([], [sharedlib_from_linklib_cmd], [1],
3806 [Command to associate shared and link libraries])
3807 ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3808
3809
3810 # _LT_PATH_MANIFEST_TOOL
3811 # ----------------------
3812 # locate the manifest tool
3813 m4_defun([_LT_PATH_MANIFEST_TOOL],
3814 [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
3815 test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
3816 AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
3817 [lt_cv_path_mainfest_tool=no
3818 echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
3819 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
3820 cat conftest.err >&AS_MESSAGE_LOG_FD
3821 if $GREP 'Manifest Tool' conftest.out > /dev/null; then
3822 lt_cv_path_mainfest_tool=yes
3823 fi
3824 rm -f conftest*])
3825 if test yes != "$lt_cv_path_mainfest_tool"; then
3826 MANIFEST_TOOL=:
3827 fi
3828 _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
3829 ])# _LT_PATH_MANIFEST_TOOL
3830
3831
3832 # _LT_DLL_DEF_P([FILE])
3833 # ---------------------
3834 # True iff FILE is a Windows DLL '.def' file.
3835 # Keep in sync with func_dll_def_p in the libtool script
3836 AC_DEFUN([_LT_DLL_DEF_P],
3837 [dnl
3838 test DEF = "`$SED -n dnl
3839 -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace
3840 -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments
3841 -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl
3842 -e q dnl Only consider the first "real" line
3843 $1`" dnl
3844 ])# _LT_DLL_DEF_P
3845
3846
3847 # LT_LIB_M
3848 # --------
3849 # check for math library
3850 AC_DEFUN([LT_LIB_M],
3851 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3852 LIBM=
3853 case $host in
3854 *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
3855 # These system don't have libm, or don't need it
3856 ;;
3857 *-ncr-sysv4.3*)
3858 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
3859 AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3860 ;;
3861 *)
3862 AC_CHECK_LIB(m, cos, LIBM=-lm)
3863 ;;
3864 esac
3865 AC_SUBST([LIBM])
3866 ])# LT_LIB_M
3867
3868 # Old name:
3869 AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3870 dnl aclocal-1.4 backwards compatibility:
3871 dnl AC_DEFUN([AC_CHECK_LIBM], [])
3872
3873
3874 # _LT_COMPILER_NO_RTTI([TAGNAME])
3875 # -------------------------------
3876 m4_defun([_LT_COMPILER_NO_RTTI],
3877 [m4_require([_LT_TAG_COMPILER])dnl
3878
3879 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3880
3881 if test yes = "$GCC"; then
3882 case $cc_basename in
3883 nvcc*)
3884 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
3885 *)
3886 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
3887 esac
3888
3889 _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3890 lt_cv_prog_compiler_rtti_exceptions,
3891 [-fno-rtti -fno-exceptions], [],
3892 [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
3893 fi
3894 _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3895 [Compiler flag to turn off builtin functions])
3896 ])# _LT_COMPILER_NO_RTTI
3897
3898
3899 # _LT_CMD_GLOBAL_SYMBOLS
3900 # ----------------------
3901 m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3902 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3903 AC_REQUIRE([AC_PROG_CC])dnl
3904 AC_REQUIRE([AC_PROG_AWK])dnl
3905 AC_REQUIRE([LT_PATH_NM])dnl
3906 AC_REQUIRE([LT_PATH_LD])dnl
3907 m4_require([_LT_DECL_SED])dnl
3908 m4_require([_LT_DECL_EGREP])dnl
3909 m4_require([_LT_TAG_COMPILER])dnl
3910
3911 # Check for command to grab the raw symbol name followed by C symbol from nm.
3912 AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3913 AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3914 [
3915 # These are sane defaults that work on at least a few old systems.
3916 # [They come from Ultrix. What could be older than Ultrix?!! ;)]
3917
3918 # Character class describing NM global symbol codes.
3919 symcode='[[BCDEGRST]]'
3920
3921 # Regexp to match symbols that can be accessed directly from C.
3922 sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3923
3924 # Define system-specific variables.
3925 case $host_os in
3926 aix*)
3927 symcode='[[BCDT]]'
3928 ;;
3929 cygwin* | mingw* | pw32* | cegcc*)
3930 symcode='[[ABCDGISTW]]'
3931 ;;
3932 hpux*)
3933 if test ia64 = "$host_cpu"; then
3934 symcode='[[ABCDEGRST]]'
3935 fi
3936 ;;
3937 irix* | nonstopux*)
3938 symcode='[[BCDEGRST]]'
3939 ;;
3940 osf*)
3941 symcode='[[BCDEGQRST]]'
3942 ;;
3943 solaris*)
3944 symcode='[[BDRT]]'
3945 ;;
3946 sco3.2v5*)
3947 symcode='[[DT]]'
3948 ;;
3949 sysv4.2uw2*)
3950 symcode='[[DT]]'
3951 ;;
3952 sysv5* | sco5v6* | unixware* | OpenUNIX*)
3953 symcode='[[ABDT]]'
3954 ;;
3955 sysv4)
3956 symcode='[[DFNSTU]]'
3957 ;;
3958 esac
3959
3960 # If we're using GNU nm, then use its standard symbol codes.
3961 case `$NM -V 2>&1` in
3962 *GNU* | *'with BFD'*)
3963 symcode='[[ABCDGIRSTW]]' ;;
3964 esac
3965
3966 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3967 # Gets list of data symbols to import.
3968 lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
3969 # Adjust the below global symbol transforms to fixup imported variables.
3970 lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
3971 lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
3972 lt_c_name_lib_hook="\
3973 -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
3974 -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
3975 else
3976 # Disable hooks by default.
3977 lt_cv_sys_global_symbol_to_import=
3978 lt_cdecl_hook=
3979 lt_c_name_hook=
3980 lt_c_name_lib_hook=
3981 fi
3982
3983 # Transform an extracted symbol line into a proper C declaration.
3984 # Some systems (esp. on ia64) link data and code symbols differently,
3985 # so use this general approach.
3986 lt_cv_sys_global_symbol_to_cdecl="sed -n"\
3987 $lt_cdecl_hook\
3988 " -e 's/^T .* \(.*\)$/extern int \1();/p'"\
3989 " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
3990
3991 # Transform an extracted symbol line into symbol name and symbol address
3992 lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
3993 $lt_c_name_hook\
3994 " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
3995 " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
3996
3997 # Transform an extracted symbol line into symbol name with lib prefix and
3998 # symbol address.
3999 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
4000 $lt_c_name_lib_hook\
4001 " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
4002 " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
4003 " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
4004
4005 # Handle CRLF in mingw tool chain
4006 opt_cr=
4007 case $build_os in
4008 mingw*)
4009 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
4010 ;;
4011 esac
4012
4013 # Try without a prefix underscore, then with it.
4014 for ac_symprfx in "" "_"; do
4015
4016 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
4017 symxfrm="\\1 $ac_symprfx\\2 \\2"
4018
4019 # Write the raw and C identifiers.
4020 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4021 # Fake it for dumpbin and say T for any non-static function,
4022 # D for any global variable and I for any imported variable.
4023 # Also find C++ and __fastcall symbols from MSVC++,
4024 # which start with @ or ?.
4025 lt_cv_sys_global_symbol_pipe="$AWK ['"\
4026 " {last_section=section; section=\$ 3};"\
4027 " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
4028 " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
4029 " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
4030 " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
4031 " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
4032 " \$ 0!~/External *\|/{next};"\
4033 " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
4034 " {if(hide[section]) next};"\
4035 " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
4036 " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
4037 " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
4038 " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
4039 " ' prfx=^$ac_symprfx]"
4040 else
4041 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
4042 fi
4043 lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
4044
4045 # Check to see that the pipe works correctly.
4046 pipe_works=no
4047
4048 rm -f conftest*
4049 cat > conftest.$ac_ext <<_LT_EOF
4050 #ifdef __cplusplus
4051 extern "C" {
4052 #endif
4053 char nm_test_var;
4054 void nm_test_func(void);
4055 void nm_test_func(void){}
4056 #ifdef __cplusplus
4057 }
4058 #endif
4059 int main(){nm_test_var='a';nm_test_func();return(0);}
4060 _LT_EOF
4061
4062 if AC_TRY_EVAL(ac_compile); then
4063 # Now try to grab the symbols.
4064 nlist=conftest.nm
4065 $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD
4066 if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then
4067 # Try sorting and uniquifying the output.
4068 if sort "$nlist" | uniq > "$nlist"T; then
4069 mv -f "$nlist"T "$nlist"
4070 else
4071 rm -f "$nlist"T
4072 fi
4073
4074 # Make sure that we snagged all the symbols we need.
4075 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
4076 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
4077 cat <<_LT_EOF > conftest.$ac_ext
4078 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
4079 #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
4080 /* DATA imports from DLLs on WIN32 can't be const, because runtime
4081 relocations are performed -- see ld's documentation on pseudo-relocs. */
4082 # define LT@&t@_DLSYM_CONST
4083 #elif defined __osf__
4084 /* This system does not cope well with relocations in const data. */
4085 # define LT@&t@_DLSYM_CONST
4086 #else
4087 # define LT@&t@_DLSYM_CONST const
4088 #endif
4089
4090 #ifdef __cplusplus
4091 extern "C" {
4092 #endif
4093
4094 _LT_EOF
4095 # Now generate the symbol file.
4096 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
4097
4098 cat <<_LT_EOF >> conftest.$ac_ext
4099
4100 /* The mapping between symbol names and symbols. */
4101 LT@&t@_DLSYM_CONST struct {
4102 const char *name;
4103 void *address;
4104 }
4105 lt__PROGRAM__LTX_preloaded_symbols[[]] =
4106 {
4107 { "@PROGRAM@", (void *) 0 },
4108 _LT_EOF
4109 $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
4110 cat <<\_LT_EOF >> conftest.$ac_ext
4111 {0, (void *) 0}
4112 };
4113
4114 /* This works around a problem in FreeBSD linker */
4115 #ifdef FREEBSD_WORKAROUND
4116 static const void *lt_preloaded_setup() {
4117 return lt__PROGRAM__LTX_preloaded_symbols;
4118 }
4119 #endif
4120
4121 #ifdef __cplusplus
4122 }
4123 #endif
4124 _LT_EOF
4125 # Now try linking the two files.
4126 mv conftest.$ac_objext conftstm.$ac_objext
4127 lt_globsym_save_LIBS=$LIBS
4128 lt_globsym_save_CFLAGS=$CFLAGS
4129 LIBS=conftstm.$ac_objext
4130 CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
4131 if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
4132 pipe_works=yes
4133 fi
4134 LIBS=$lt_globsym_save_LIBS
4135 CFLAGS=$lt_globsym_save_CFLAGS
4136 else
4137 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
4138 fi
4139 else
4140 echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
4141 fi
4142 else
4143 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
4144 fi
4145 else
4146 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
4147 cat conftest.$ac_ext >&5
4148 fi
4149 rm -rf conftest* conftst*
4150
4151 # Do not use the global_symbol_pipe unless it works.
4152 if test yes = "$pipe_works"; then
4153 break
4154 else
4155 lt_cv_sys_global_symbol_pipe=
4156 fi
4157 done
4158 ])
4159 if test -z "$lt_cv_sys_global_symbol_pipe"; then
4160 lt_cv_sys_global_symbol_to_cdecl=
4161 fi
4162 if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
4163 AC_MSG_RESULT(failed)
4164 else
4165 AC_MSG_RESULT(ok)
4166 fi
4167
4168 # Response file support.
4169 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4170 nm_file_list_spec='@'
4171 elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
4172 nm_file_list_spec='@'
4173 fi
4174
4175 _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
4176 [Take the output of nm and produce a listing of raw symbols and C names])
4177 _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
4178 [Transform the output of nm in a proper C declaration])
4179 _LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
4180 [Transform the output of nm into a list of symbols to manually relocate])
4181 _LT_DECL([global_symbol_to_c_name_address],
4182 [lt_cv_sys_global_symbol_to_c_name_address], [1],
4183 [Transform the output of nm in a C name address pair])
4184 _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
4185 [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
4186 [Transform the output of nm in a C name address pair when lib prefix is needed])
4187 _LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
4188 [The name lister interface])
4189 _LT_DECL([], [nm_file_list_spec], [1],
4190 [Specify filename containing input files for $NM])
4191 ]) # _LT_CMD_GLOBAL_SYMBOLS
4192
4193
4194 # _LT_COMPILER_PIC([TAGNAME])
4195 # ---------------------------
4196 m4_defun([_LT_COMPILER_PIC],
4197 [m4_require([_LT_TAG_COMPILER])dnl
4198 _LT_TAGVAR(lt_prog_compiler_wl, $1)=
4199 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4200 _LT_TAGVAR(lt_prog_compiler_static, $1)=
4201
4202 m4_if([$1], [CXX], [
4203 # C++ specific cases for pic, static, wl, etc.
4204 if test yes = "$GXX"; then
4205 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4206 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4207
4208 case $host_os in
4209 aix*)
4210 # All AIX code is PIC.
4211 if test ia64 = "$host_cpu"; then
4212 # AIX 5 now supports IA64 processor
4213 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4214 fi
4215 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4216 ;;
4217
4218 amigaos*)
4219 case $host_cpu in
4220 powerpc)
4221 # see comment about AmigaOS4 .so support
4222 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4223 ;;
4224 m68k)
4225 # FIXME: we need at least 68020 code to build shared libraries, but
4226 # adding the '-m68020' flag to GCC prevents building anything better,
4227 # like '-m68040'.
4228 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4229 ;;
4230 esac
4231 ;;
4232
4233 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4234 # PIC is the default for these OSes.
4235 ;;
4236 mingw* | cygwin* | os2* | pw32* | cegcc*)
4237 # This hack is so that the source file can tell whether it is being
4238 # built for inclusion in a dll (and should export symbols for example).
4239 # Although the cygwin gcc ignores -fPIC, still need this for old-style
4240 # (--disable-auto-import) libraries
4241 m4_if([$1], [GCJ], [],
4242 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4243 case $host_os in
4244 os2*)
4245 _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4246 ;;
4247 esac
4248 ;;
4249 darwin* | rhapsody*)
4250 # PIC is the default on this platform
4251 # Common symbols not allowed in MH_DYLIB files
4252 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4253 ;;
4254 *djgpp*)
4255 # DJGPP does not support shared libraries at all
4256 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4257 ;;
4258 haiku*)
4259 # PIC is the default for Haiku.
4260 # The "-static" flag exists, but is broken.
4261 _LT_TAGVAR(lt_prog_compiler_static, $1)=
4262 ;;
4263 interix[[3-9]]*)
4264 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4265 # Instead, we relocate shared libraries at runtime.
4266 ;;
4267 sysv4*MP*)
4268 if test -d /usr/nec; then
4269 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4270 fi
4271 ;;
4272 hpux*)
4273 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4274 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4275 # sets the default TLS model and affects inlining.
4276 case $host_cpu in
4277 hppa*64*)
4278 ;;
4279 *)
4280 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4281 ;;
4282 esac
4283 ;;
4284 *qnx* | *nto*)
4285 # QNX uses GNU C++, but need to define -shared option too, otherwise
4286 # it will coredump.
4287 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4288 ;;
4289 *)
4290 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4291 ;;
4292 esac
4293 else
4294 case $host_os in
4295 aix[[4-9]]*)
4296 # All AIX code is PIC.
4297 if test ia64 = "$host_cpu"; then
4298 # AIX 5 now supports IA64 processor
4299 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4300 else
4301 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4302 fi
4303 ;;
4304 chorus*)
4305 case $cc_basename in
4306 cxch68*)
4307 # Green Hills C++ Compiler
4308 # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
4309 ;;
4310 esac
4311 ;;
4312 mingw* | cygwin* | os2* | pw32* | cegcc*)
4313 # This hack is so that the source file can tell whether it is being
4314 # built for inclusion in a dll (and should export symbols for example).
4315 m4_if([$1], [GCJ], [],
4316 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4317 ;;
4318 dgux*)
4319 case $cc_basename in
4320 ec++*)
4321 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4322 ;;
4323 ghcx*)
4324 # Green Hills C++ Compiler
4325 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4326 ;;
4327 *)
4328 ;;
4329 esac
4330 ;;
4331 freebsd* | dragonfly*)
4332 # FreeBSD uses GNU C++
4333 ;;
4334 hpux9* | hpux10* | hpux11*)
4335 case $cc_basename in
4336 CC*)
4337 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4338 _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4339 if test ia64 != "$host_cpu"; then
4340 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4341 fi
4342 ;;
4343 aCC*)
4344 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4345 _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4346 case $host_cpu in
4347 hppa*64*|ia64*)
4348 # +Z the default
4349 ;;
4350 *)
4351 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4352 ;;
4353 esac
4354 ;;
4355 *)
4356 ;;
4357 esac
4358 ;;
4359 interix*)
4360 # This is c89, which is MS Visual C++ (no shared libs)
4361 # Anyone wants to do a port?
4362 ;;
4363 irix5* | irix6* | nonstopux*)
4364 case $cc_basename in
4365 CC*)
4366 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4367 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4368 # CC pic flag -KPIC is the default.
4369 ;;
4370 *)
4371 ;;
4372 esac
4373 ;;
4374 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
4375 case $cc_basename in
4376 KCC*)
4377 # KAI C++ Compiler
4378 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4379 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4380 ;;
4381 ecpc* )
4382 # old Intel C++ for x86_64, which still supported -KPIC.
4383 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4384 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4385 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4386 ;;
4387 icpc* )
4388 # Intel C++, used to be incompatible with GCC.
4389 # ICC 10 doesn't accept -KPIC any more.
4390 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4391 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4392 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4393 ;;
4394 pgCC* | pgcpp*)
4395 # Portland Group C++ compiler
4396 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4397 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4398 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4399 ;;
4400 cxx*)
4401 # Compaq C++
4402 # Make sure the PIC flag is empty. It appears that all Alpha
4403 # Linux and Compaq Tru64 Unix objects are PIC.
4404 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4405 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4406 ;;
4407 xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
4408 # IBM XL 8.0, 9.0 on PPC and BlueGene
4409 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4410 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4411 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4412 ;;
4413 *)
4414 case `$CC -V 2>&1 | sed 5q` in
4415 *Sun\ C*)
4416 # Sun C++ 5.9
4417 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4418 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4419 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4420 ;;
4421 esac
4422 ;;
4423 esac
4424 ;;
4425 lynxos*)
4426 ;;
4427 m88k*)
4428 ;;
4429 mvs*)
4430 case $cc_basename in
4431 cxx*)
4432 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4433 ;;
4434 *)
4435 ;;
4436 esac
4437 ;;
4438 netbsd* | netbsdelf*-gnu)
4439 ;;
4440 *qnx* | *nto*)
4441 # QNX uses GNU C++, but need to define -shared option too, otherwise
4442 # it will coredump.
4443 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4444 ;;
4445 osf3* | osf4* | osf5*)
4446 case $cc_basename in
4447 KCC*)
4448 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4449 ;;
4450 RCC*)
4451 # Rational C++ 2.4.1
4452 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4453 ;;
4454 cxx*)
4455 # Digital/Compaq C++
4456 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4457 # Make sure the PIC flag is empty. It appears that all Alpha
4458 # Linux and Compaq Tru64 Unix objects are PIC.
4459 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4460 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4461 ;;
4462 *)
4463 ;;
4464 esac
4465 ;;
4466 psos*)
4467 ;;
4468 solaris*)
4469 case $cc_basename in
4470 CC* | sunCC*)
4471 # Sun C++ 4.2, 5.x and Centerline C++
4472 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4473 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4474 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4475 ;;
4476 gcx*)
4477 # Green Hills C++ Compiler
4478 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4479 ;;
4480 *)
4481 ;;
4482 esac
4483 ;;
4484 sunos4*)
4485 case $cc_basename in
4486 CC*)
4487 # Sun C++ 4.x
4488 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4489 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4490 ;;
4491 lcc*)
4492 # Lucid
4493 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4494 ;;
4495 *)
4496 ;;
4497 esac
4498 ;;
4499 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4500 case $cc_basename in
4501 CC*)
4502 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4503 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4504 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4505 ;;
4506 esac
4507 ;;
4508 tandem*)
4509 case $cc_basename in
4510 NCC*)
4511 # NonStop-UX NCC 3.20
4512 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4513 ;;
4514 *)
4515 ;;
4516 esac
4517 ;;
4518 vxworks*)
4519 ;;
4520 *)
4521 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4522 ;;
4523 esac
4524 fi
4525 ],
4526 [
4527 if test yes = "$GCC"; then
4528 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4529 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4530
4531 case $host_os in
4532 aix*)
4533 # All AIX code is PIC.
4534 if test ia64 = "$host_cpu"; then
4535 # AIX 5 now supports IA64 processor
4536 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4537 fi
4538 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4539 ;;
4540
4541 amigaos*)
4542 case $host_cpu in
4543 powerpc)
4544 # see comment about AmigaOS4 .so support
4545 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4546 ;;
4547 m68k)
4548 # FIXME: we need at least 68020 code to build shared libraries, but
4549 # adding the '-m68020' flag to GCC prevents building anything better,
4550 # like '-m68040'.
4551 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4552 ;;
4553 esac
4554 ;;
4555
4556 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4557 # PIC is the default for these OSes.
4558 ;;
4559
4560 mingw* | cygwin* | pw32* | os2* | cegcc*)
4561 # This hack is so that the source file can tell whether it is being
4562 # built for inclusion in a dll (and should export symbols for example).
4563 # Although the cygwin gcc ignores -fPIC, still need this for old-style
4564 # (--disable-auto-import) libraries
4565 m4_if([$1], [GCJ], [],
4566 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4567 case $host_os in
4568 os2*)
4569 _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4570 ;;
4571 esac
4572 ;;
4573
4574 darwin* | rhapsody*)
4575 # PIC is the default on this platform
4576 # Common symbols not allowed in MH_DYLIB files
4577 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4578 ;;
4579
4580 haiku*)
4581 # PIC is the default for Haiku.
4582 # The "-static" flag exists, but is broken.
4583 _LT_TAGVAR(lt_prog_compiler_static, $1)=
4584 ;;
4585
4586 hpux*)
4587 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4588 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4589 # sets the default TLS model and affects inlining.
4590 case $host_cpu in
4591 hppa*64*)
4592 # +Z the default
4593 ;;
4594 *)
4595 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4596 ;;
4597 esac
4598 ;;
4599
4600 interix[[3-9]]*)
4601 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4602 # Instead, we relocate shared libraries at runtime.
4603 ;;
4604
4605 msdosdjgpp*)
4606 # Just because we use GCC doesn't mean we suddenly get shared libraries
4607 # on systems that don't support them.
4608 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4609 enable_shared=no
4610 ;;
4611
4612 *nto* | *qnx*)
4613 # QNX uses GNU C++, but need to define -shared option too, otherwise
4614 # it will coredump.
4615 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4616 ;;
4617
4618 sysv4*MP*)
4619 if test -d /usr/nec; then
4620 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4621 fi
4622 ;;
4623
4624 *)
4625 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4626 ;;
4627 esac
4628
4629 case $cc_basename in
4630 nvcc*) # Cuda Compiler Driver 2.2
4631 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
4632 if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4633 _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
4634 fi
4635 ;;
4636 esac
4637 else
4638 # PORTME Check for flag to pass linker flags through the system compiler.
4639 case $host_os in
4640 aix*)
4641 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4642 if test ia64 = "$host_cpu"; then
4643 # AIX 5 now supports IA64 processor
4644 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4645 else
4646 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4647 fi
4648 ;;
4649
4650 darwin* | rhapsody*)
4651 # PIC is the default on this platform
4652 # Common symbols not allowed in MH_DYLIB files
4653 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4654 case $cc_basename in
4655 nagfor*)
4656 # NAG Fortran compiler
4657 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4658 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4659 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4660 ;;
4661 esac
4662 ;;
4663
4664 mingw* | cygwin* | pw32* | os2* | cegcc*)
4665 # This hack is so that the source file can tell whether it is being
4666 # built for inclusion in a dll (and should export symbols for example).
4667 m4_if([$1], [GCJ], [],
4668 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4669 case $host_os in
4670 os2*)
4671 _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4672 ;;
4673 esac
4674 ;;
4675
4676 hpux9* | hpux10* | hpux11*)
4677 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4678 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4679 # not for PA HP-UX.
4680 case $host_cpu in
4681 hppa*64*|ia64*)
4682 # +Z the default
4683 ;;
4684 *)
4685 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4686 ;;
4687 esac
4688 # Is there a better lt_prog_compiler_static that works with the bundled CC?
4689 _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4690 ;;
4691
4692 irix5* | irix6* | nonstopux*)
4693 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4694 # PIC (with -KPIC) is the default.
4695 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4696 ;;
4697
4698 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
4699 case $cc_basename in
4700 # old Intel for x86_64, which still supported -KPIC.
4701 ecc*)
4702 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4703 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4704 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4705 ;;
4706 # flang / f18. f95 an alias for gfortran or flang on Debian
4707 flang* | f18* | f95*)
4708 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4709 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4710 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4711 ;;
4712 # icc used to be incompatible with GCC.
4713 # ICC 10 doesn't accept -KPIC any more.
4714 icc* | ifort*)
4715 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4716 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4717 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4718 ;;
4719 # Lahey Fortran 8.1.
4720 lf95*)
4721 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4722 _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4723 _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4724 ;;
4725 nagfor*)
4726 # NAG Fortran compiler
4727 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4728 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4729 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4730 ;;
4731 tcc*)
4732 # Fabrice Bellard et al's Tiny C Compiler
4733 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4734 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4735 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4736 ;;
4737 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
4738 # Portland Group compilers (*not* the Pentium gcc compiler,
4739 # which looks to be a dead project)
4740 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4741 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4742 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4743 ;;
4744 ccc*)
4745 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4746 # All Alpha code is PIC.
4747 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4748 ;;
4749 xl* | bgxl* | bgf* | mpixl*)
4750 # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
4751 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4752 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4753 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4754 ;;
4755 *)
4756 case `$CC -V 2>&1 | sed 5q` in
4757 *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
4758 # Sun Fortran 8.3 passes all unrecognized flags to the linker
4759 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4760 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4761 _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4762 ;;
4763 *Sun\ F* | *Sun*Fortran*)
4764 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4765 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4766 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4767 ;;
4768 *Sun\ C*)
4769 # Sun C 5.9
4770 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4771 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4772 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4773 ;;
4774 *Intel*\ [[CF]]*Compiler*)
4775 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4776 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4777 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4778 ;;
4779 *Portland\ Group*)
4780 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4781 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4782 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4783 ;;
4784 esac
4785 ;;
4786 esac
4787 ;;
4788
4789 newsos6)
4790 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4791 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4792 ;;
4793
4794 *nto* | *qnx*)
4795 # QNX uses GNU C++, but need to define -shared option too, otherwise
4796 # it will coredump.
4797 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4798 ;;
4799
4800 osf3* | osf4* | osf5*)
4801 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4802 # All OSF/1 code is PIC.
4803 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4804 ;;
4805
4806 rdos*)
4807 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4808 ;;
4809
4810 solaris*)
4811 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4812 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4813 case $cc_basename in
4814 f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
4815 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4816 *)
4817 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4818 esac
4819 ;;
4820
4821 sunos4*)
4822 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4823 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4824 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4825 ;;
4826
4827 sysv4 | sysv4.2uw2* | sysv4.3*)
4828 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4829 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4830 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4831 ;;
4832
4833 sysv4*MP*)
4834 if test -d /usr/nec; then
4835 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4836 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4837 fi
4838 ;;
4839
4840 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4841 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4842 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4843 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4844 ;;
4845
4846 unicos*)
4847 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4848 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4849 ;;
4850
4851 uts4*)
4852 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4853 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4854 ;;
4855
4856 *)
4857 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4858 ;;
4859 esac
4860 fi
4861 ])
4862 case $host_os in
4863 # For platforms that do not support PIC, -DPIC is meaningless:
4864 *djgpp*)
4865 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4866 ;;
4867 *)
4868 _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4869 ;;
4870 esac
4871
4872 AC_CACHE_CHECK([for $compiler option to produce PIC],
4873 [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
4874 [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4875 _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
4876
4877 #
4878 # Check to make sure the PIC flag actually works.
4879 #
4880 if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4881 _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4882 [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4883 [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4884 [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
4885 "" | " "*) ;;
4886 *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4887 esac],
4888 [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4889 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4890 fi
4891 _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4892 [Additional compiler flags for building library objects])
4893
4894 _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4895 [How to pass a linker flag through the compiler])
4896 #
4897 # Check to make sure the static flag actually works.
4898 #
4899 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4900 _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4901 _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
4902 $lt_tmp_static_flag,
4903 [],
4904 [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4905 _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4906 [Compiler flag to prevent dynamic linking])
4907 ])# _LT_COMPILER_PIC
4908
4909
4910 # _LT_LINKER_SHLIBS([TAGNAME])
4911 # ----------------------------
4912 # See if the linker supports building shared libraries.
4913 m4_defun([_LT_LINKER_SHLIBS],
4914 [AC_REQUIRE([LT_PATH_LD])dnl
4915 AC_REQUIRE([LT_PATH_NM])dnl
4916 m4_require([_LT_PATH_MANIFEST_TOOL])dnl
4917 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4918 m4_require([_LT_DECL_EGREP])dnl
4919 m4_require([_LT_DECL_SED])dnl
4920 m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4921 m4_require([_LT_TAG_COMPILER])dnl
4922 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4923 m4_if([$1], [CXX], [
4924 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4925 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4926 case $host_os in
4927 aix[[4-9]]*)
4928 # If we're using GNU nm, then we don't want the "-C" option.
4929 # -C means demangle to GNU nm, but means don't demangle to AIX nm.
4930 # Without the "-l" option, or with the "-B" option, AIX nm treats
4931 # weak defined symbols like other global defined symbols, whereas
4932 # GNU nm marks them as "W".
4933 # While the 'weak' keyword is ignored in the Export File, we need
4934 # it in the Import File for the 'aix-soname' feature, so we have
4935 # to replace the "-B" option with "-P" for AIX nm.
4936 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4937 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
4938 else
4939 _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
4940 fi
4941 ;;
4942 pw32*)
4943 _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
4944 ;;
4945 cygwin* | mingw* | cegcc*)
4946 case $cc_basename in
4947 cl*)
4948 _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
4949 ;;
4950 *)
4951 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
4952 _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
4953 ;;
4954 esac
4955 ;;
4956 linux* | k*bsd*-gnu | gnu*)
4957 _LT_TAGVAR(link_all_deplibs, $1)=no
4958 ;;
4959 *)
4960 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4961 ;;
4962 esac
4963 ], [
4964 runpath_var=
4965 _LT_TAGVAR(allow_undefined_flag, $1)=
4966 _LT_TAGVAR(always_export_symbols, $1)=no
4967 _LT_TAGVAR(archive_cmds, $1)=
4968 _LT_TAGVAR(archive_expsym_cmds, $1)=
4969 _LT_TAGVAR(compiler_needs_object, $1)=no
4970 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4971 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4972 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4973 _LT_TAGVAR(hardcode_automatic, $1)=no
4974 _LT_TAGVAR(hardcode_direct, $1)=no
4975 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4976 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4977 _LT_TAGVAR(hardcode_libdir_separator, $1)=
4978 _LT_TAGVAR(hardcode_minus_L, $1)=no
4979 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4980 _LT_TAGVAR(inherit_rpath, $1)=no
4981 _LT_TAGVAR(link_all_deplibs, $1)=unknown
4982 _LT_TAGVAR(module_cmds, $1)=
4983 _LT_TAGVAR(module_expsym_cmds, $1)=
4984 _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4985 _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4986 _LT_TAGVAR(thread_safe_flag_spec, $1)=
4987 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4988 # include_expsyms should be a list of space-separated symbols to be *always*
4989 # included in the symbol list
4990 _LT_TAGVAR(include_expsyms, $1)=
4991 # exclude_expsyms can be an extended regexp of symbols to exclude
4992 # it will be wrapped by ' (' and ')$', so one must not match beginning or
4993 # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
4994 # as well as any symbol that contains 'd'.
4995 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4996 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4997 # platforms (ab)use it in PIC code, but their linkers get confused if
4998 # the symbol is explicitly referenced. Since portable code cannot
4999 # rely on this symbol name, it's probably fine to never include it in
5000 # preloaded symbol tables.
5001 # Exclude shared library initialization/finalization symbols.
5002 dnl Note also adjust exclude_expsyms for C++ above.
5003 extract_expsyms_cmds=
5004
5005 case $host_os in
5006 cygwin* | mingw* | pw32* | cegcc*)
5007 # FIXME: the MSVC++ port hasn't been tested in a loooong time
5008 # When not using gcc, we currently assume that we are using
5009 # Microsoft Visual C++.
5010 if test yes != "$GCC"; then
5011 with_gnu_ld=no
5012 fi
5013 ;;
5014 interix*)
5015 # we just hope/assume this is gcc and not c89 (= MSVC++)
5016 with_gnu_ld=yes
5017 ;;
5018 openbsd* | bitrig*)
5019 with_gnu_ld=no
5020 ;;
5021 linux* | k*bsd*-gnu | gnu*)
5022 _LT_TAGVAR(link_all_deplibs, $1)=no
5023 ;;
5024 esac
5025
5026 _LT_TAGVAR(ld_shlibs, $1)=yes
5027
5028 # On some targets, GNU ld is compatible enough with the native linker
5029 # that we're better off using the native interface for both.
5030 lt_use_gnu_ld_interface=no
5031 if test yes = "$with_gnu_ld"; then
5032 case $host_os in
5033 aix*)
5034 # The AIX port of GNU ld has always aspired to compatibility
5035 # with the native linker. However, as the warning in the GNU ld
5036 # block says, versions before 2.19.5* couldn't really create working
5037 # shared libraries, regardless of the interface used.
5038 case `$LD -v 2>&1` in
5039 *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
5040 *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
5041 *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
5042 *)
5043 lt_use_gnu_ld_interface=yes
5044 ;;
5045 esac
5046 ;;
5047 *)
5048 lt_use_gnu_ld_interface=yes
5049 ;;
5050 esac
5051 fi
5052
5053 if test yes = "$lt_use_gnu_ld_interface"; then
5054 # If archive_cmds runs LD, not CC, wlarc should be empty
5055 wlarc='$wl'
5056
5057 # Set some defaults for GNU ld with shared library support. These
5058 # are reset later if shared libraries are not supported. Putting them
5059 # here allows them to be overridden if necessary.
5060 runpath_var=LD_RUN_PATH
5061 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5062 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
5063 # ancient GNU ld didn't support --whole-archive et. al.
5064 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
5065 _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
5066 else
5067 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5068 fi
5069 supports_anon_versioning=no
5070 case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
5071 *GNU\ gold*) supports_anon_versioning=yes ;;
5072 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
5073 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
5074 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
5075 *\ 2.11.*) ;; # other 2.11 versions
5076 *) supports_anon_versioning=yes ;;
5077 esac
5078
5079 # See if GNU ld supports shared libraries.
5080 case $host_os in
5081 aix[[3-9]]*)
5082 # On AIX/PPC, the GNU linker is very broken
5083 if test ia64 != "$host_cpu"; then
5084 _LT_TAGVAR(ld_shlibs, $1)=no
5085 cat <<_LT_EOF 1>&2
5086
5087 *** Warning: the GNU linker, at least up to release 2.19, is reported
5088 *** to be unable to reliably create shared libraries on AIX.
5089 *** Therefore, libtool is disabling shared libraries support. If you
5090 *** really care for shared libraries, you may want to install binutils
5091 *** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
5092 *** You will then need to restart the configuration process.
5093
5094 _LT_EOF
5095 fi
5096 ;;
5097
5098 amigaos*)
5099 case $host_cpu in
5100 powerpc)
5101 # see comment about AmigaOS4 .so support
5102 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5103 _LT_TAGVAR(archive_expsym_cmds, $1)=''
5104 ;;
5105 m68k)
5106 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
5107 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5108 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5109 ;;
5110 esac
5111 ;;
5112
5113 beos*)
5114 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5115 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5116 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
5117 # support --undefined. This deserves some investigation. FIXME
5118 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5119 else
5120 _LT_TAGVAR(ld_shlibs, $1)=no
5121 fi
5122 ;;
5123
5124 cygwin* | mingw* | pw32* | cegcc*)
5125 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5126 # as there is no search path for DLLs.
5127 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5128 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
5129 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5130 _LT_TAGVAR(always_export_symbols, $1)=no
5131 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5132 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
5133 _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
5134
5135 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5136 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5137 # If the export-symbols file already is a .def file, use it as
5138 # is; otherwise, prepend EXPORTS...
5139 _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
5140 cp $export_symbols $output_objdir/$soname.def;
5141 else
5142 echo EXPORTS > $output_objdir/$soname.def;
5143 cat $export_symbols >> $output_objdir/$soname.def;
5144 fi~
5145 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5146 else
5147 _LT_TAGVAR(ld_shlibs, $1)=no
5148 fi
5149 ;;
5150
5151 haiku*)
5152 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5153 _LT_TAGVAR(link_all_deplibs, $1)=yes
5154 ;;
5155
5156 os2*)
5157 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5158 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5159 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5160 shrext_cmds=.dll
5161 _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5162 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5163 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5164 $ECHO EXPORTS >> $output_objdir/$libname.def~
5165 emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
5166 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5167 emximp -o $lib $output_objdir/$libname.def'
5168 _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5169 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5170 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5171 $ECHO EXPORTS >> $output_objdir/$libname.def~
5172 prefix_cmds="$SED"~
5173 if test EXPORTS = "`$SED 1q $export_symbols`"; then
5174 prefix_cmds="$prefix_cmds -e 1d";
5175 fi~
5176 prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
5177 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
5178 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5179 emximp -o $lib $output_objdir/$libname.def'
5180 _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5181 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5182 ;;
5183
5184 interix[[3-9]]*)
5185 _LT_TAGVAR(hardcode_direct, $1)=no
5186 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5187 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5188 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5189 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5190 # Instead, shared libraries are loaded at an image base (0x10000000 by
5191 # default) and relocated if they conflict, which is a slow very memory
5192 # consuming and fragmenting process. To avoid this, we pick a random,
5193 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5194 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
5195 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5196 _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5197 ;;
5198
5199 gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
5200 tmp_diet=no
5201 if test linux-dietlibc = "$host_os"; then
5202 case $cc_basename in
5203 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
5204 esac
5205 fi
5206 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
5207 && test no = "$tmp_diet"
5208 then
5209 tmp_addflag=' $pic_flag'
5210 tmp_sharedflag='-shared'
5211 case $cc_basename,$host_cpu in
5212 pgcc*) # Portland Group C compiler
5213 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5214 tmp_addflag=' $pic_flag'
5215 ;;
5216 pgf77* | pgf90* | pgf95* | pgfortran*)
5217 # Portland Group f77 and f90 compilers
5218 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5219 tmp_addflag=' $pic_flag -Mnomain' ;;
5220 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
5221 tmp_addflag=' -i_dynamic' ;;
5222 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
5223 tmp_addflag=' -i_dynamic -nofor_main' ;;
5224 ifc* | ifort*) # Intel Fortran compiler
5225 tmp_addflag=' -nofor_main' ;;
5226 lf95*) # Lahey Fortran 8.1
5227 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5228 tmp_sharedflag='--shared' ;;
5229 nagfor*) # NAGFOR 5.3
5230 tmp_sharedflag='-Wl,-shared' ;;
5231 xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
5232 tmp_sharedflag='-qmkshrobj'
5233 tmp_addflag= ;;
5234 nvcc*) # Cuda Compiler Driver 2.2
5235 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5236 _LT_TAGVAR(compiler_needs_object, $1)=yes
5237 ;;
5238 esac
5239 case `$CC -V 2>&1 | sed 5q` in
5240 *Sun\ C*) # Sun C 5.9
5241 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5242 _LT_TAGVAR(compiler_needs_object, $1)=yes
5243 tmp_sharedflag='-G' ;;
5244 *Sun\ F*) # Sun Fortran 8.3
5245 tmp_sharedflag='-G' ;;
5246 esac
5247 _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5248
5249 if test yes = "$supports_anon_versioning"; then
5250 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5251 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5252 echo "local: *; };" >> $output_objdir/$libname.ver~
5253 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
5254 fi
5255
5256 case $cc_basename in
5257 tcc*)
5258 _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
5259 ;;
5260 xlf* | bgf* | bgxlf* | mpixlf*)
5261 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
5262 _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
5263 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5264 _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
5265 if test yes = "$supports_anon_versioning"; then
5266 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5267 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5268 echo "local: *; };" >> $output_objdir/$libname.ver~
5269 $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
5270 fi
5271 ;;
5272 esac
5273 else
5274 _LT_TAGVAR(ld_shlibs, $1)=no
5275 fi
5276 ;;
5277
5278 netbsd* | netbsdelf*-gnu)
5279 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5280 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
5281 wlarc=
5282 else
5283 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5284 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5285 fi
5286 ;;
5287
5288 solaris*)
5289 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
5290 _LT_TAGVAR(ld_shlibs, $1)=no
5291 cat <<_LT_EOF 1>&2
5292
5293 *** Warning: The releases 2.8.* of the GNU linker cannot reliably
5294 *** create shared libraries on Solaris systems. Therefore, libtool
5295 *** is disabling shared libraries support. We urge you to upgrade GNU
5296 *** binutils to release 2.9.1 or newer. Another option is to modify
5297 *** your PATH or compiler configuration so that the native linker is
5298 *** used, and then restart.
5299
5300 _LT_EOF
5301 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5302 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5303 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5304 else
5305 _LT_TAGVAR(ld_shlibs, $1)=no
5306 fi
5307 ;;
5308
5309 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
5310 case `$LD -v 2>&1` in
5311 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
5312 _LT_TAGVAR(ld_shlibs, $1)=no
5313 cat <<_LT_EOF 1>&2
5314
5315 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
5316 *** reliably create shared libraries on SCO systems. Therefore, libtool
5317 *** is disabling shared libraries support. We urge you to upgrade GNU
5318 *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
5319 *** your PATH or compiler configuration so that the native linker is
5320 *** used, and then restart.
5321
5322 _LT_EOF
5323 ;;
5324 *)
5325 # For security reasons, it is highly recommended that you always
5326 # use absolute paths for naming shared libraries, and exclude the
5327 # DT_RUNPATH tag from executables and libraries. But doing so
5328 # requires that you compile everything twice, which is a pain.
5329 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5330 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5331 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5332 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5333 else
5334 _LT_TAGVAR(ld_shlibs, $1)=no
5335 fi
5336 ;;
5337 esac
5338 ;;
5339
5340 sunos4*)
5341 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5342 wlarc=
5343 _LT_TAGVAR(hardcode_direct, $1)=yes
5344 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5345 ;;
5346
5347 *)
5348 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5349 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5350 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5351 else
5352 _LT_TAGVAR(ld_shlibs, $1)=no
5353 fi
5354 ;;
5355 esac
5356
5357 if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
5358 runpath_var=
5359 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5360 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
5361 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5362 fi
5363 else
5364 # PORTME fill in a description of your system's linker (not GNU ld)
5365 case $host_os in
5366 aix3*)
5367 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5368 _LT_TAGVAR(always_export_symbols, $1)=yes
5369 _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
5370 # Note: this linker hardcodes the directories in LIBPATH if there
5371 # are no directories specified by -L.
5372 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5373 if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
5374 # Neither direct hardcoding nor static linking is supported with a
5375 # broken collect2.
5376 _LT_TAGVAR(hardcode_direct, $1)=unsupported
5377 fi
5378 ;;
5379
5380 aix[[4-9]]*)
5381 if test ia64 = "$host_cpu"; then
5382 # On IA64, the linker does run time linking by default, so we don't
5383 # have to do anything special.
5384 aix_use_runtimelinking=no
5385 exp_sym_flag='-Bexport'
5386 no_entry_flag=
5387 else
5388 # If we're using GNU nm, then we don't want the "-C" option.
5389 # -C means demangle to GNU nm, but means don't demangle to AIX nm.
5390 # Without the "-l" option, or with the "-B" option, AIX nm treats
5391 # weak defined symbols like other global defined symbols, whereas
5392 # GNU nm marks them as "W".
5393 # While the 'weak' keyword is ignored in the Export File, we need
5394 # it in the Import File for the 'aix-soname' feature, so we have
5395 # to replace the "-B" option with "-P" for AIX nm.
5396 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
5397 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
5398 else
5399 _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
5400 fi
5401 aix_use_runtimelinking=no
5402
5403 # Test if we are trying to use run time linking or normal
5404 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5405 # have runtime linking enabled, and use it for executables.
5406 # For shared libraries, we enable/disable runtime linking
5407 # depending on the kind of the shared library created -
5408 # when "with_aix_soname,aix_use_runtimelinking" is:
5409 # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
5410 # "aix,yes" lib.so shared, rtl:yes, for executables
5411 # lib.a static archive
5412 # "both,no" lib.so.V(shr.o) shared, rtl:yes
5413 # lib.a(lib.so.V) shared, rtl:no, for executables
5414 # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
5415 # lib.a(lib.so.V) shared, rtl:no
5416 # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
5417 # lib.a static archive
5418 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5419 for ld_flag in $LDFLAGS; do
5420 if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
5421 aix_use_runtimelinking=yes
5422 break
5423 fi
5424 done
5425 if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
5426 # With aix-soname=svr4, we create the lib.so.V shared archives only,
5427 # so we don't have lib.a shared libs to link our executables.
5428 # We have to force runtime linking in this case.
5429 aix_use_runtimelinking=yes
5430 LDFLAGS="$LDFLAGS -Wl,-brtl"
5431 fi
5432 ;;
5433 esac
5434
5435 exp_sym_flag='-bexport'
5436 no_entry_flag='-bnoentry'
5437 fi
5438
5439 # When large executables or shared objects are built, AIX ld can
5440 # have problems creating the table of contents. If linking a library
5441 # or program results in "error TOC overflow" add -mminimal-toc to
5442 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5443 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5444
5445 _LT_TAGVAR(archive_cmds, $1)=''
5446 _LT_TAGVAR(hardcode_direct, $1)=yes
5447 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5448 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5449 _LT_TAGVAR(link_all_deplibs, $1)=yes
5450 _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
5451 case $with_aix_soname,$aix_use_runtimelinking in
5452 aix,*) ;; # traditional, no import file
5453 svr4,* | *,yes) # use import file
5454 # The Import File defines what to hardcode.
5455 _LT_TAGVAR(hardcode_direct, $1)=no
5456 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
5457 ;;
5458 esac
5459
5460 if test yes = "$GCC"; then
5461 case $host_os in aix4.[[012]]|aix4.[[012]].*)
5462 # We only want to do this on AIX 4.2 and lower, the check
5463 # below for broken collect2 doesn't work under 4.3+
5464 collect2name=`$CC -print-prog-name=collect2`
5465 if test -f "$collect2name" &&
5466 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5467 then
5468 # We have reworked collect2
5469 :
5470 else
5471 # We have old collect2
5472 _LT_TAGVAR(hardcode_direct, $1)=unsupported
5473 # It fails to find uninstalled libraries when the uninstalled
5474 # path is not listed in the libpath. Setting hardcode_minus_L
5475 # to unsupported forces relinking
5476 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5477 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5478 _LT_TAGVAR(hardcode_libdir_separator, $1)=
5479 fi
5480 ;;
5481 esac
5482 shared_flag='-shared'
5483 if test yes = "$aix_use_runtimelinking"; then
5484 shared_flag="$shared_flag "'$wl-G'
5485 fi
5486 # Need to ensure runtime linking is disabled for the traditional
5487 # shared library, or the linker may eventually find shared libraries
5488 # /with/ Import File - we do not want to mix them.
5489 shared_flag_aix='-shared'
5490 shared_flag_svr4='-shared $wl-G'
5491 else
5492 # not using gcc
5493 if test ia64 = "$host_cpu"; then
5494 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5495 # chokes on -Wl,-G. The following line is correct:
5496 shared_flag='-G'
5497 else
5498 if test yes = "$aix_use_runtimelinking"; then
5499 shared_flag='$wl-G'
5500 else
5501 shared_flag='$wl-bM:SRE'
5502 fi
5503 shared_flag_aix='$wl-bM:SRE'
5504 shared_flag_svr4='$wl-G'
5505 fi
5506 fi
5507
5508 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
5509 # It seems that -bexpall does not export symbols beginning with
5510 # underscore (_), so it is better to generate a list of symbols to export.
5511 _LT_TAGVAR(always_export_symbols, $1)=yes
5512 if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
5513 # Warning - without using the other runtime loading flags (-brtl),
5514 # -berok will link without error, but may produce a broken library.
5515 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5516 # Determine the default libpath from the value encoded in an
5517 # empty executable.
5518 _LT_SYS_MODULE_PATH_AIX([$1])
5519 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
5520 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
5521 else
5522 if test ia64 = "$host_cpu"; then
5523 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
5524 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5525 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
5526 else
5527 # Determine the default libpath from the value encoded in an
5528 # empty executable.
5529 _LT_SYS_MODULE_PATH_AIX([$1])
5530 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
5531 # Warning - without using the other run time loading flags,
5532 # -berok will link without error, but may produce a broken library.
5533 _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
5534 _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
5535 if test yes = "$with_gnu_ld"; then
5536 # We only use this code for GNU lds that support --whole-archive.
5537 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
5538 else
5539 # Exported symbols can be pulled into shared objects from archives
5540 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5541 fi
5542 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5543 _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
5544 # -brtl affects multiple linker settings, -berok does not and is overridden later
5545 compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
5546 if test svr4 != "$with_aix_soname"; then
5547 # This is similar to how AIX traditionally builds its shared libraries.
5548 _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
5549 fi
5550 if test aix != "$with_aix_soname"; then
5551 _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
5552 else
5553 # used by -dlpreopen to get the symbols
5554 _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
5555 fi
5556 _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
5557 fi
5558 fi
5559 ;;
5560
5561 amigaos*)
5562 case $host_cpu in
5563 powerpc)
5564 # see comment about AmigaOS4 .so support
5565 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5566 _LT_TAGVAR(archive_expsym_cmds, $1)=''
5567 ;;
5568 m68k)
5569 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
5570 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5571 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5572 ;;
5573 esac
5574 ;;
5575
5576 bsdi[[45]]*)
5577 _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
5578 ;;
5579
5580 cygwin* | mingw* | pw32* | cegcc*)
5581 # When not using gcc, we currently assume that we are using
5582 # Microsoft Visual C++.
5583 # hardcode_libdir_flag_spec is actually meaningless, as there is
5584 # no search path for DLLs.
5585 case $cc_basename in
5586 cl*)
5587 # Native MSVC
5588 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5589 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5590 _LT_TAGVAR(always_export_symbols, $1)=yes
5591 _LT_TAGVAR(file_list_spec, $1)='@'
5592 # Tell ltmain to make .lib files, not .a files.
5593 libext=lib
5594 # Tell ltmain to make .dll files, not .so files.
5595 shrext_cmds=.dll
5596 # FIXME: Setting linknames here is a bad hack.
5597 _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
5598 _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
5599 cp "$export_symbols" "$output_objdir/$soname.def";
5600 echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
5601 else
5602 $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
5603 fi~
5604 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
5605 linknames='
5606 # The linker will not automatically build a static lib if we build a DLL.
5607 # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5608 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5609 _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
5610 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
5611 # Don't use ranlib
5612 _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
5613 _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
5614 lt_tool_outputfile="@TOOL_OUTPUT@"~
5615 case $lt_outputfile in
5616 *.exe|*.EXE) ;;
5617 *)
5618 lt_outputfile=$lt_outputfile.exe
5619 lt_tool_outputfile=$lt_tool_outputfile.exe
5620 ;;
5621 esac~
5622 if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
5623 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
5624 $RM "$lt_outputfile.manifest";
5625 fi'
5626 ;;
5627 *)
5628 # Assume MSVC wrapper
5629 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5630 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5631 # Tell ltmain to make .lib files, not .a files.
5632 libext=lib
5633 # Tell ltmain to make .dll files, not .so files.
5634 shrext_cmds=.dll
5635 # FIXME: Setting linknames here is a bad hack.
5636 _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
5637 # The linker will automatically build a .lib file if we build a DLL.
5638 _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5639 # FIXME: Should let the user specify the lib program.
5640 _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
5641 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5642 ;;
5643 esac
5644 ;;
5645
5646 darwin* | rhapsody*)
5647 _LT_DARWIN_LINKER_FEATURES($1)
5648 ;;
5649
5650 dgux*)
5651 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5652 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5653 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5654 ;;
5655
5656 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
5657 # support. Future versions do this automatically, but an explicit c++rt0.o
5658 # does not break anything, and helps significantly (at the cost of a little
5659 # extra space).
5660 freebsd2.2*)
5661 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
5662 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5663 _LT_TAGVAR(hardcode_direct, $1)=yes
5664 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5665 ;;
5666
5667 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
5668 freebsd2.*)
5669 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5670 _LT_TAGVAR(hardcode_direct, $1)=yes
5671 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5672 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5673 ;;
5674
5675 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
5676 freebsd* | dragonfly*)
5677 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5678 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5679 _LT_TAGVAR(hardcode_direct, $1)=yes
5680 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5681 ;;
5682
5683 hpux9*)
5684 if test yes = "$GCC"; then
5685 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
5686 else
5687 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
5688 fi
5689 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5690 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5691 _LT_TAGVAR(hardcode_direct, $1)=yes
5692
5693 # hardcode_minus_L: Not really in the search PATH,
5694 # but as the default location of the library.
5695 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5696 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5697 ;;
5698
5699 hpux10*)
5700 if test yes,no = "$GCC,$with_gnu_ld"; then
5701 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5702 else
5703 _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
5704 fi
5705 if test no = "$with_gnu_ld"; then
5706 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5707 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5708 _LT_TAGVAR(hardcode_direct, $1)=yes
5709 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5710 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5711 # hardcode_minus_L: Not really in the search PATH,
5712 # but as the default location of the library.
5713 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5714 fi
5715 ;;
5716
5717 hpux11*)
5718 if test yes,no = "$GCC,$with_gnu_ld"; then
5719 case $host_cpu in
5720 hppa*64*)
5721 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5722 ;;
5723 ia64*)
5724 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5725 ;;
5726 *)
5727 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5728 ;;
5729 esac
5730 else
5731 case $host_cpu in
5732 hppa*64*)
5733 _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5734 ;;
5735 ia64*)
5736 _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5737 ;;
5738 *)
5739 m4_if($1, [], [
5740 # Older versions of the 11.00 compiler do not understand -b yet
5741 # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
5742 _LT_LINKER_OPTION([if $CC understands -b],
5743 _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
5744 [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
5745 [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
5746 [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
5747 ;;
5748 esac
5749 fi
5750 if test no = "$with_gnu_ld"; then
5751 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5752 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5753
5754 case $host_cpu in
5755 hppa*64*|ia64*)
5756 _LT_TAGVAR(hardcode_direct, $1)=no
5757 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5758 ;;
5759 *)
5760 _LT_TAGVAR(hardcode_direct, $1)=yes
5761 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5762 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5763
5764 # hardcode_minus_L: Not really in the search PATH,
5765 # but as the default location of the library.
5766 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5767 ;;
5768 esac
5769 fi
5770 ;;
5771
5772 irix5* | irix6* | nonstopux*)
5773 if test yes = "$GCC"; then
5774 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
5775 # Try to use the -exported_symbol ld option, if it does not
5776 # work, assume that -exports_file does not work either and
5777 # implicitly export all symbols.
5778 # This should be the same for all languages, so no per-tag cache variable.
5779 AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
5780 [lt_cv_irix_exported_symbol],
5781 [save_LDFLAGS=$LDFLAGS
5782 LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
5783 AC_LINK_IFELSE(
5784 [AC_LANG_SOURCE(
5785 [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
5786 [C++], [[int foo (void) { return 0; }]],
5787 [Fortran 77], [[
5788 subroutine foo
5789 end]],
5790 [Fortran], [[
5791 subroutine foo
5792 end]])])],
5793 [lt_cv_irix_exported_symbol=yes],
5794 [lt_cv_irix_exported_symbol=no])
5795 LDFLAGS=$save_LDFLAGS])
5796 if test yes = "$lt_cv_irix_exported_symbol"; then
5797 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
5798 fi
5799 _LT_TAGVAR(link_all_deplibs, $1)=no
5800 else
5801 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
5802 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
5803 fi
5804 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5805 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5806 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5807 _LT_TAGVAR(inherit_rpath, $1)=yes
5808 _LT_TAGVAR(link_all_deplibs, $1)=yes
5809 ;;
5810
5811 linux*)
5812 case $cc_basename in
5813 tcc*)
5814 # Fabrice Bellard et al's Tiny C Compiler
5815 _LT_TAGVAR(ld_shlibs, $1)=yes
5816 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5817 ;;
5818 esac
5819 ;;
5820
5821 netbsd* | netbsdelf*-gnu)
5822 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5823 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
5824 else
5825 _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
5826 fi
5827 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5828 _LT_TAGVAR(hardcode_direct, $1)=yes
5829 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5830 ;;
5831
5832 newsos6)
5833 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5834 _LT_TAGVAR(hardcode_direct, $1)=yes
5835 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5836 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5837 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5838 ;;
5839
5840 *nto* | *qnx*)
5841 ;;
5842
5843 openbsd* | bitrig*)
5844 if test -f /usr/libexec/ld.so; then
5845 _LT_TAGVAR(hardcode_direct, $1)=yes
5846 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5847 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5848 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
5849 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5850 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
5851 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5852 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5853 else
5854 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5855 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5856 fi
5857 else
5858 _LT_TAGVAR(ld_shlibs, $1)=no
5859 fi
5860 ;;
5861
5862 os2*)
5863 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5864 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5865 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5866 shrext_cmds=.dll
5867 _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5868 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5869 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5870 $ECHO EXPORTS >> $output_objdir/$libname.def~
5871 emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
5872 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5873 emximp -o $lib $output_objdir/$libname.def'
5874 _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5875 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5876 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5877 $ECHO EXPORTS >> $output_objdir/$libname.def~
5878 prefix_cmds="$SED"~
5879 if test EXPORTS = "`$SED 1q $export_symbols`"; then
5880 prefix_cmds="$prefix_cmds -e 1d";
5881 fi~
5882 prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
5883 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
5884 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5885 emximp -o $lib $output_objdir/$libname.def'
5886 _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5887 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5888 ;;
5889
5890 osf3*)
5891 if test yes = "$GCC"; then
5892 _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
5893 _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
5894 else
5895 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5896 _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
5897 fi
5898 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5899 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5900 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5901 ;;
5902
5903 osf4* | osf5*) # as osf3* with the addition of -msym flag
5904 if test yes = "$GCC"; then
5905 _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
5906 _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
5907 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5908 else
5909 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5910 _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
5911 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
5912 $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
5913
5914 # Both c and cxx compiler support -rpath directly
5915 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5916 fi
5917 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5918 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5919 ;;
5920
5921 solaris*)
5922 _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
5923 if test yes = "$GCC"; then
5924 wlarc='$wl'
5925 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5926 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5927 $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5928 else
5929 case `$CC -V 2>&1` in
5930 *"Compilers 5.0"*)
5931 wlarc=''
5932 _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
5933 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5934 $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
5935 ;;
5936 *)
5937 wlarc='$wl'
5938 _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
5939 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5940 $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5941 ;;
5942 esac
5943 fi
5944 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5945 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5946 case $host_os in
5947 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
5948 *)
5949 # The compiler driver will combine and reorder linker options,
5950 # but understands '-z linker_flag'. GCC discards it without '$wl',
5951 # but is careful enough not to reorder.
5952 # Supported since Solaris 2.6 (maybe 2.5.1?)
5953 if test yes = "$GCC"; then
5954 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
5955 else
5956 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
5957 fi
5958 ;;
5959 esac
5960 _LT_TAGVAR(link_all_deplibs, $1)=yes
5961 ;;
5962
5963 sunos4*)
5964 if test sequent = "$host_vendor"; then
5965 # Use $CC to link under sequent, because it throws in some extra .o
5966 # files that make .init and .fini sections work.
5967 _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
5968 else
5969 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
5970 fi
5971 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5972 _LT_TAGVAR(hardcode_direct, $1)=yes
5973 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5974 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5975 ;;
5976
5977 sysv4)
5978 case $host_vendor in
5979 sni)
5980 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5981 _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
5982 ;;
5983 siemens)
5984 ## LD is ld it makes a PLAMLIB
5985 ## CC just makes a GrossModule.
5986 _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5987 _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5988 _LT_TAGVAR(hardcode_direct, $1)=no
5989 ;;
5990 motorola)
5991 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5992 _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
5993 ;;
5994 esac
5995 runpath_var='LD_RUN_PATH'
5996 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5997 ;;
5998
5999 sysv4.3*)
6000 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6001 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6002 _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
6003 ;;
6004
6005 sysv4*MP*)
6006 if test -d /usr/nec; then
6007 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6008 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6009 runpath_var=LD_RUN_PATH
6010 hardcode_runpath_var=yes
6011 _LT_TAGVAR(ld_shlibs, $1)=yes
6012 fi
6013 ;;
6014
6015 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6016 _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
6017 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6018 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6019 runpath_var='LD_RUN_PATH'
6020
6021 if test yes = "$GCC"; then
6022 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6023 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6024 else
6025 _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6026 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6027 fi
6028 ;;
6029
6030 sysv5* | sco3.2v5* | sco5v6*)
6031 # Note: We CANNOT use -z defs as we might desire, because we do not
6032 # link with -lc, and that would cause any symbols used from libc to
6033 # always be unresolved, which means just about no library would
6034 # ever link correctly. If we're not using GNU ld we use -z text
6035 # though, which does catch some bad symbols but isn't as heavy-handed
6036 # as -z defs.
6037 _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
6038 _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
6039 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6040 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6041 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
6042 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6043 _LT_TAGVAR(link_all_deplibs, $1)=yes
6044 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
6045 runpath_var='LD_RUN_PATH'
6046
6047 if test yes = "$GCC"; then
6048 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6049 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6050 else
6051 _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6052 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6053 fi
6054 ;;
6055
6056 uts4*)
6057 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6058 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6059 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6060 ;;
6061
6062 *)
6063 _LT_TAGVAR(ld_shlibs, $1)=no
6064 ;;
6065 esac
6066
6067 if test sni = "$host_vendor"; then
6068 case $host in
6069 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
6070 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
6071 ;;
6072 esac
6073 fi
6074 fi
6075 ])
6076 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6077 test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
6078
6079 _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
6080
6081 _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
6082 _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
6083 _LT_DECL([], [extract_expsyms_cmds], [2],
6084 [The commands to extract the exported symbol list from a shared archive])
6085
6086 #
6087 # Do we need to explicitly link libc?
6088 #
6089 case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
6090 x|xyes)
6091 # Assume -lc should be added
6092 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6093
6094 if test yes,yes = "$GCC,$enable_shared"; then
6095 case $_LT_TAGVAR(archive_cmds, $1) in
6096 *'~'*)
6097 # FIXME: we may have to deal with multi-command sequences.
6098 ;;
6099 '$CC '*)
6100 # Test whether the compiler implicitly links with -lc since on some
6101 # systems, -lgcc has to come before -lc. If gcc already passes -lc
6102 # to ld, don't add -lc before -lgcc.
6103 AC_CACHE_CHECK([whether -lc should be explicitly linked in],
6104 [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
6105 [$RM conftest*
6106 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
6107
6108 if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
6109 soname=conftest
6110 lib=conftest
6111 libobjs=conftest.$ac_objext
6112 deplibs=
6113 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
6114 pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
6115 compiler_flags=-v
6116 linker_flags=-v
6117 verstring=
6118 output_objdir=.
6119 libname=conftest
6120 lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
6121 _LT_TAGVAR(allow_undefined_flag, $1)=
6122 if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
6123 then
6124 lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6125 else
6126 lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6127 fi
6128 _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
6129 else
6130 cat conftest.err 1>&5
6131 fi
6132 $RM conftest*
6133 ])
6134 _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
6135 ;;
6136 esac
6137 fi
6138 ;;
6139 esac
6140
6141 _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
6142 [Whether or not to add -lc for building shared libraries])
6143 _LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
6144 [enable_shared_with_static_runtimes], [0],
6145 [Whether or not to disallow shared libs when runtime libs are static])
6146 _LT_TAGDECL([], [export_dynamic_flag_spec], [1],
6147 [Compiler flag to allow reflexive dlopens])
6148 _LT_TAGDECL([], [whole_archive_flag_spec], [1],
6149 [Compiler flag to generate shared objects directly from archives])
6150 _LT_TAGDECL([], [compiler_needs_object], [1],
6151 [Whether the compiler copes with passing no objects directly])
6152 _LT_TAGDECL([], [old_archive_from_new_cmds], [2],
6153 [Create an old-style archive from a shared archive])
6154 _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
6155 [Create a temporary old-style archive to link instead of a shared archive])
6156 _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
6157 _LT_TAGDECL([], [archive_expsym_cmds], [2])
6158 _LT_TAGDECL([], [module_cmds], [2],
6159 [Commands used to build a loadable module if different from building
6160 a shared archive.])
6161 _LT_TAGDECL([], [module_expsym_cmds], [2])
6162 _LT_TAGDECL([], [with_gnu_ld], [1],
6163 [Whether we are building with GNU ld or not])
6164 _LT_TAGDECL([], [allow_undefined_flag], [1],
6165 [Flag that allows shared libraries with undefined symbols to be built])
6166 _LT_TAGDECL([], [no_undefined_flag], [1],
6167 [Flag that enforces no undefined symbols])
6168 _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
6169 [Flag to hardcode $libdir into a binary during linking.
6170 This must work even if $libdir does not exist])
6171 _LT_TAGDECL([], [hardcode_libdir_separator], [1],
6172 [Whether we need a single "-rpath" flag with a separated argument])
6173 _LT_TAGDECL([], [hardcode_direct], [0],
6174 [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
6175 DIR into the resulting binary])
6176 _LT_TAGDECL([], [hardcode_direct_absolute], [0],
6177 [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
6178 DIR into the resulting binary and the resulting library dependency is
6179 "absolute", i.e impossible to change by setting $shlibpath_var if the
6180 library is relocated])
6181 _LT_TAGDECL([], [hardcode_minus_L], [0],
6182 [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
6183 into the resulting binary])
6184 _LT_TAGDECL([], [hardcode_shlibpath_var], [0],
6185 [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
6186 into the resulting binary])
6187 _LT_TAGDECL([], [hardcode_automatic], [0],
6188 [Set to "yes" if building a shared library automatically hardcodes DIR
6189 into the library and all subsequent libraries and executables linked
6190 against it])
6191 _LT_TAGDECL([], [inherit_rpath], [0],
6192 [Set to yes if linker adds runtime paths of dependent libraries
6193 to runtime path list])
6194 _LT_TAGDECL([], [link_all_deplibs], [0],
6195 [Whether libtool must link a program against all its dependency libraries])
6196 _LT_TAGDECL([], [always_export_symbols], [0],
6197 [Set to "yes" if exported symbols are required])
6198 _LT_TAGDECL([], [export_symbols_cmds], [2],
6199 [The commands to list exported symbols])
6200 _LT_TAGDECL([], [exclude_expsyms], [1],
6201 [Symbols that should not be listed in the preloaded symbols])
6202 _LT_TAGDECL([], [include_expsyms], [1],
6203 [Symbols that must always be exported])
6204 _LT_TAGDECL([], [prelink_cmds], [2],
6205 [Commands necessary for linking programs (against libraries) with templates])
6206 _LT_TAGDECL([], [postlink_cmds], [2],
6207 [Commands necessary for finishing linking programs])
6208 _LT_TAGDECL([], [file_list_spec], [1],
6209 [Specify filename containing input files])
6210 dnl FIXME: Not yet implemented
6211 dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
6212 dnl [Compiler flag to generate thread safe objects])
6213 ])# _LT_LINKER_SHLIBS
6214
6215
6216 # _LT_LANG_C_CONFIG([TAG])
6217 # ------------------------
6218 # Ensure that the configuration variables for a C compiler are suitably
6219 # defined. These variables are subsequently used by _LT_CONFIG to write
6220 # the compiler configuration to 'libtool'.
6221 m4_defun([_LT_LANG_C_CONFIG],
6222 [m4_require([_LT_DECL_EGREP])dnl
6223 lt_save_CC=$CC
6224 AC_LANG_PUSH(C)
6225
6226 # Source file extension for C test sources.
6227 ac_ext=c
6228
6229 # Object file extension for compiled C test sources.
6230 objext=o
6231 _LT_TAGVAR(objext, $1)=$objext
6232
6233 # Code to be used in simple compile tests
6234 lt_simple_compile_test_code="int some_variable = 0;"
6235
6236 # Code to be used in simple link tests
6237 lt_simple_link_test_code='int main(){return(0);}'
6238
6239 _LT_TAG_COMPILER
6240 # Save the default compiler, since it gets overwritten when the other
6241 # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
6242 compiler_DEFAULT=$CC
6243
6244 # save warnings/boilerplate of simple test code
6245 _LT_COMPILER_BOILERPLATE
6246 _LT_LINKER_BOILERPLATE
6247
6248 ## CAVEAT EMPTOR:
6249 ## There is no encapsulation within the following macros, do not change
6250 ## the running order or otherwise move them around unless you know exactly
6251 ## what you are doing...
6252 if test -n "$compiler"; then
6253 _LT_COMPILER_NO_RTTI($1)
6254 _LT_COMPILER_PIC($1)
6255 _LT_COMPILER_C_O($1)
6256 _LT_COMPILER_FILE_LOCKS($1)
6257 _LT_LINKER_SHLIBS($1)
6258 _LT_SYS_DYNAMIC_LINKER($1)
6259 _LT_LINKER_HARDCODE_LIBPATH($1)
6260 LT_SYS_DLOPEN_SELF
6261 _LT_CMD_STRIPLIB
6262
6263 # Report what library types will actually be built
6264 AC_MSG_CHECKING([if libtool supports shared libraries])
6265 AC_MSG_RESULT([$can_build_shared])
6266
6267 AC_MSG_CHECKING([whether to build shared libraries])
6268 test no = "$can_build_shared" && enable_shared=no
6269
6270 # On AIX, shared libraries and static libraries use the same namespace, and
6271 # are all built from PIC.
6272 case $host_os in
6273 aix3*)
6274 test yes = "$enable_shared" && enable_static=no
6275 if test -n "$RANLIB"; then
6276 archive_cmds="$archive_cmds~\$RANLIB \$lib"
6277 postinstall_cmds='$RANLIB $lib'
6278 fi
6279 ;;
6280
6281 aix[[4-9]]*)
6282 if test ia64 != "$host_cpu"; then
6283 case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
6284 yes,aix,yes) ;; # shared object as lib.so file only
6285 yes,svr4,*) ;; # shared object as lib.so archive member only
6286 yes,*) enable_static=no ;; # shared object in lib.a archive as well
6287 esac
6288 fi
6289 ;;
6290 esac
6291 AC_MSG_RESULT([$enable_shared])
6292
6293 AC_MSG_CHECKING([whether to build static libraries])
6294 # Make sure either enable_shared or enable_static is yes.
6295 test yes = "$enable_shared" || enable_static=yes
6296 AC_MSG_RESULT([$enable_static])
6297
6298 _LT_CONFIG($1)
6299 fi
6300 AC_LANG_POP
6301 CC=$lt_save_CC
6302 ])# _LT_LANG_C_CONFIG
6303
6304
6305 # _LT_LANG_CXX_CONFIG([TAG])
6306 # --------------------------
6307 # Ensure that the configuration variables for a C++ compiler are suitably
6308 # defined. These variables are subsequently used by _LT_CONFIG to write
6309 # the compiler configuration to 'libtool'.
6310 m4_defun([_LT_LANG_CXX_CONFIG],
6311 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6312 m4_require([_LT_DECL_EGREP])dnl
6313 m4_require([_LT_PATH_MANIFEST_TOOL])dnl
6314 if test -n "$CXX" && ( test no != "$CXX" &&
6315 ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
6316 (test g++ != "$CXX"))); then
6317 AC_PROG_CXXCPP
6318 else
6319 _lt_caught_CXX_error=yes
6320 fi
6321
6322 AC_LANG_PUSH(C++)
6323 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6324 _LT_TAGVAR(allow_undefined_flag, $1)=
6325 _LT_TAGVAR(always_export_symbols, $1)=no
6326 _LT_TAGVAR(archive_expsym_cmds, $1)=
6327 _LT_TAGVAR(compiler_needs_object, $1)=no
6328 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
6329 _LT_TAGVAR(hardcode_direct, $1)=no
6330 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
6331 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6332 _LT_TAGVAR(hardcode_libdir_separator, $1)=
6333 _LT_TAGVAR(hardcode_minus_L, $1)=no
6334 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
6335 _LT_TAGVAR(hardcode_automatic, $1)=no
6336 _LT_TAGVAR(inherit_rpath, $1)=no
6337 _LT_TAGVAR(module_cmds, $1)=
6338 _LT_TAGVAR(module_expsym_cmds, $1)=
6339 _LT_TAGVAR(link_all_deplibs, $1)=unknown
6340 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6341 _LT_TAGVAR(reload_flag, $1)=$reload_flag
6342 _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
6343 _LT_TAGVAR(no_undefined_flag, $1)=
6344 _LT_TAGVAR(whole_archive_flag_spec, $1)=
6345 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6346
6347 # Source file extension for C++ test sources.
6348 ac_ext=cpp
6349
6350 # Object file extension for compiled C++ test sources.
6351 objext=o
6352 _LT_TAGVAR(objext, $1)=$objext
6353
6354 # No sense in running all these tests if we already determined that
6355 # the CXX compiler isn't working. Some variables (like enable_shared)
6356 # are currently assumed to apply to all compilers on this platform,
6357 # and will be corrupted by setting them based on a non-working compiler.
6358 if test yes != "$_lt_caught_CXX_error"; then
6359 # Code to be used in simple compile tests
6360 lt_simple_compile_test_code="int some_variable = 0;"
6361
6362 # Code to be used in simple link tests
6363 lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
6364
6365 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6366 _LT_TAG_COMPILER
6367
6368 # save warnings/boilerplate of simple test code
6369 _LT_COMPILER_BOILERPLATE
6370 _LT_LINKER_BOILERPLATE
6371
6372 # Allow CC to be a program name with arguments.
6373 lt_save_CC=$CC
6374 lt_save_CFLAGS=$CFLAGS
6375 lt_save_LD=$LD
6376 lt_save_GCC=$GCC
6377 GCC=$GXX
6378 lt_save_with_gnu_ld=$with_gnu_ld
6379 lt_save_path_LD=$lt_cv_path_LD
6380 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
6381 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
6382 else
6383 $as_unset lt_cv_prog_gnu_ld
6384 fi
6385 if test -n "${lt_cv_path_LDCXX+set}"; then
6386 lt_cv_path_LD=$lt_cv_path_LDCXX
6387 else
6388 $as_unset lt_cv_path_LD
6389 fi
6390 test -z "${LDCXX+set}" || LD=$LDCXX
6391 CC=${CXX-"c++"}
6392 CFLAGS=$CXXFLAGS
6393 compiler=$CC
6394 _LT_TAGVAR(compiler, $1)=$CC
6395 _LT_CC_BASENAME([$compiler])
6396
6397 if test -n "$compiler"; then
6398 # We don't want -fno-exception when compiling C++ code, so set the
6399 # no_builtin_flag separately
6400 if test yes = "$GXX"; then
6401 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
6402 else
6403 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
6404 fi
6405
6406 if test yes = "$GXX"; then
6407 # Set up default GNU C++ configuration
6408
6409 LT_PATH_LD
6410
6411 # Check if GNU C++ uses GNU ld as the underlying linker, since the
6412 # archiving commands below assume that GNU ld is being used.
6413 if test yes = "$with_gnu_ld"; then
6414 _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
6415 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
6416
6417 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6418 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
6419
6420 # If archive_cmds runs LD, not CC, wlarc should be empty
6421 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
6422 # investigate it a little bit more. (MM)
6423 wlarc='$wl'
6424
6425 # ancient GNU ld didn't support --whole-archive et. al.
6426 if eval "`$CC -print-prog-name=ld` --help 2>&1" |
6427 $GREP 'no-whole-archive' > /dev/null; then
6428 _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
6429 else
6430 _LT_TAGVAR(whole_archive_flag_spec, $1)=
6431 fi
6432 else
6433 with_gnu_ld=no
6434 wlarc=
6435
6436 # A generic and very simple default shared library creation
6437 # command for GNU C++ for the case where it uses the native
6438 # linker, instead of GNU ld. If possible, this setting should
6439 # overridden to take advantage of the native linker features on
6440 # the platform it is being used on.
6441 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6442 fi
6443
6444 # Commands to make compiler produce verbose output that lists
6445 # what "hidden" libraries, object files and flags are used when
6446 # linking a shared library.
6447 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
6448
6449 else
6450 GXX=no
6451 with_gnu_ld=no
6452 wlarc=
6453 fi
6454
6455 # PORTME: fill in a description of your system's C++ link characteristics
6456 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
6457 _LT_TAGVAR(ld_shlibs, $1)=yes
6458 case $host_os in
6459 aix3*)
6460 # FIXME: insert proper C++ library support
6461 _LT_TAGVAR(ld_shlibs, $1)=no
6462 ;;
6463 aix[[4-9]]*)
6464 if test ia64 = "$host_cpu"; then
6465 # On IA64, the linker does run time linking by default, so we don't
6466 # have to do anything special.
6467 aix_use_runtimelinking=no
6468 exp_sym_flag='-Bexport'
6469 no_entry_flag=
6470 else
6471 aix_use_runtimelinking=no
6472
6473 # Test if we are trying to use run time linking or normal
6474 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
6475 # have runtime linking enabled, and use it for executables.
6476 # For shared libraries, we enable/disable runtime linking
6477 # depending on the kind of the shared library created -
6478 # when "with_aix_soname,aix_use_runtimelinking" is:
6479 # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
6480 # "aix,yes" lib.so shared, rtl:yes, for executables
6481 # lib.a static archive
6482 # "both,no" lib.so.V(shr.o) shared, rtl:yes
6483 # lib.a(lib.so.V) shared, rtl:no, for executables
6484 # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
6485 # lib.a(lib.so.V) shared, rtl:no
6486 # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
6487 # lib.a static archive
6488 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
6489 for ld_flag in $LDFLAGS; do
6490 case $ld_flag in
6491 *-brtl*)
6492 aix_use_runtimelinking=yes
6493 break
6494 ;;
6495 esac
6496 done
6497 if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
6498 # With aix-soname=svr4, we create the lib.so.V shared archives only,
6499 # so we don't have lib.a shared libs to link our executables.
6500 # We have to force runtime linking in this case.
6501 aix_use_runtimelinking=yes
6502 LDFLAGS="$LDFLAGS -Wl,-brtl"
6503 fi
6504 ;;
6505 esac
6506
6507 exp_sym_flag='-bexport'
6508 no_entry_flag='-bnoentry'
6509 fi
6510
6511 # When large executables or shared objects are built, AIX ld can
6512 # have problems creating the table of contents. If linking a library
6513 # or program results in "error TOC overflow" add -mminimal-toc to
6514 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
6515 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
6516
6517 _LT_TAGVAR(archive_cmds, $1)=''
6518 _LT_TAGVAR(hardcode_direct, $1)=yes
6519 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6520 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6521 _LT_TAGVAR(link_all_deplibs, $1)=yes
6522 _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
6523 case $with_aix_soname,$aix_use_runtimelinking in
6524 aix,*) ;; # no import file
6525 svr4,* | *,yes) # use import file
6526 # The Import File defines what to hardcode.
6527 _LT_TAGVAR(hardcode_direct, $1)=no
6528 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
6529 ;;
6530 esac
6531
6532 if test yes = "$GXX"; then
6533 case $host_os in aix4.[[012]]|aix4.[[012]].*)
6534 # We only want to do this on AIX 4.2 and lower, the check
6535 # below for broken collect2 doesn't work under 4.3+
6536 collect2name=`$CC -print-prog-name=collect2`
6537 if test -f "$collect2name" &&
6538 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
6539 then
6540 # We have reworked collect2
6541 :
6542 else
6543 # We have old collect2
6544 _LT_TAGVAR(hardcode_direct, $1)=unsupported
6545 # It fails to find uninstalled libraries when the uninstalled
6546 # path is not listed in the libpath. Setting hardcode_minus_L
6547 # to unsupported forces relinking
6548 _LT_TAGVAR(hardcode_minus_L, $1)=yes
6549 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6550 _LT_TAGVAR(hardcode_libdir_separator, $1)=
6551 fi
6552 esac
6553 shared_flag='-shared'
6554 if test yes = "$aix_use_runtimelinking"; then
6555 shared_flag=$shared_flag' $wl-G'
6556 fi
6557 # Need to ensure runtime linking is disabled for the traditional
6558 # shared library, or the linker may eventually find shared libraries
6559 # /with/ Import File - we do not want to mix them.
6560 shared_flag_aix='-shared'
6561 shared_flag_svr4='-shared $wl-G'
6562 else
6563 # not using gcc
6564 if test ia64 = "$host_cpu"; then
6565 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
6566 # chokes on -Wl,-G. The following line is correct:
6567 shared_flag='-G'
6568 else
6569 if test yes = "$aix_use_runtimelinking"; then
6570 shared_flag='$wl-G'
6571 else
6572 shared_flag='$wl-bM:SRE'
6573 fi
6574 shared_flag_aix='$wl-bM:SRE'
6575 shared_flag_svr4='$wl-G'
6576 fi
6577 fi
6578
6579 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
6580 # It seems that -bexpall does not export symbols beginning with
6581 # underscore (_), so it is better to generate a list of symbols to
6582 # export.
6583 _LT_TAGVAR(always_export_symbols, $1)=yes
6584 if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
6585 # Warning - without using the other runtime loading flags (-brtl),
6586 # -berok will link without error, but may produce a broken library.
6587 # The "-G" linker flag allows undefined symbols.
6588 _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
6589 # Determine the default libpath from the value encoded in an empty
6590 # executable.
6591 _LT_SYS_MODULE_PATH_AIX([$1])
6592 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
6593
6594 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
6595 else
6596 if test ia64 = "$host_cpu"; then
6597 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
6598 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6599 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
6600 else
6601 # Determine the default libpath from the value encoded in an
6602 # empty executable.
6603 _LT_SYS_MODULE_PATH_AIX([$1])
6604 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
6605 # Warning - without using the other run time loading flags,
6606 # -berok will link without error, but may produce a broken library.
6607 _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
6608 _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
6609 if test yes = "$with_gnu_ld"; then
6610 # We only use this code for GNU lds that support --whole-archive.
6611 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
6612 else
6613 # Exported symbols can be pulled into shared objects from archives
6614 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6615 fi
6616 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6617 _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
6618 # -brtl affects multiple linker settings, -berok does not and is overridden later
6619 compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
6620 if test svr4 != "$with_aix_soname"; then
6621 # This is similar to how AIX traditionally builds its shared
6622 # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
6623 _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
6624 fi
6625 if test aix != "$with_aix_soname"; then
6626 _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
6627 else
6628 # used by -dlpreopen to get the symbols
6629 _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
6630 fi
6631 _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
6632 fi
6633 fi
6634 ;;
6635
6636 beos*)
6637 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
6638 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6639 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
6640 # support --undefined. This deserves some investigation. FIXME
6641 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6642 else
6643 _LT_TAGVAR(ld_shlibs, $1)=no
6644 fi
6645 ;;
6646
6647 chorus*)
6648 case $cc_basename in
6649 *)
6650 # FIXME: insert proper C++ library support
6651 _LT_TAGVAR(ld_shlibs, $1)=no
6652 ;;
6653 esac
6654 ;;
6655
6656 cygwin* | mingw* | pw32* | cegcc*)
6657 case $GXX,$cc_basename in
6658 ,cl* | no,cl*)
6659 # Native MSVC
6660 # hardcode_libdir_flag_spec is actually meaningless, as there is
6661 # no search path for DLLs.
6662 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
6663 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6664 _LT_TAGVAR(always_export_symbols, $1)=yes
6665 _LT_TAGVAR(file_list_spec, $1)='@'
6666 # Tell ltmain to make .lib files, not .a files.
6667 libext=lib
6668 # Tell ltmain to make .dll files, not .so files.
6669 shrext_cmds=.dll
6670 # FIXME: Setting linknames here is a bad hack.
6671 _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
6672 _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
6673 cp "$export_symbols" "$output_objdir/$soname.def";
6674 echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
6675 else
6676 $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
6677 fi~
6678 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
6679 linknames='
6680 # The linker will not automatically build a static lib if we build a DLL.
6681 # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
6682 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6683 # Don't use ranlib
6684 _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
6685 _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
6686 lt_tool_outputfile="@TOOL_OUTPUT@"~
6687 case $lt_outputfile in
6688 *.exe|*.EXE) ;;
6689 *)
6690 lt_outputfile=$lt_outputfile.exe
6691 lt_tool_outputfile=$lt_tool_outputfile.exe
6692 ;;
6693 esac~
6694 func_to_tool_file "$lt_outputfile"~
6695 if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
6696 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
6697 $RM "$lt_outputfile.manifest";
6698 fi'
6699 ;;
6700 *)
6701 # g++
6702 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6703 # as there is no search path for DLLs.
6704 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6705 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
6706 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6707 _LT_TAGVAR(always_export_symbols, $1)=no
6708 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6709
6710 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
6711 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6712 # If the export-symbols file already is a .def file, use it as
6713 # is; otherwise, prepend EXPORTS...
6714 _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
6715 cp $export_symbols $output_objdir/$soname.def;
6716 else
6717 echo EXPORTS > $output_objdir/$soname.def;
6718 cat $export_symbols >> $output_objdir/$soname.def;
6719 fi~
6720 $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6721 else
6722 _LT_TAGVAR(ld_shlibs, $1)=no
6723 fi
6724 ;;
6725 esac
6726 ;;
6727 darwin* | rhapsody*)
6728 _LT_DARWIN_LINKER_FEATURES($1)
6729 ;;
6730
6731 os2*)
6732 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6733 _LT_TAGVAR(hardcode_minus_L, $1)=yes
6734 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6735 shrext_cmds=.dll
6736 _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6737 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6738 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6739 $ECHO EXPORTS >> $output_objdir/$libname.def~
6740 emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
6741 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6742 emximp -o $lib $output_objdir/$libname.def'
6743 _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6744 $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6745 $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6746 $ECHO EXPORTS >> $output_objdir/$libname.def~
6747 prefix_cmds="$SED"~
6748 if test EXPORTS = "`$SED 1q $export_symbols`"; then
6749 prefix_cmds="$prefix_cmds -e 1d";
6750 fi~
6751 prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
6752 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
6753 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6754 emximp -o $lib $output_objdir/$libname.def'
6755 _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
6756 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6757 ;;
6758
6759 dgux*)
6760 case $cc_basename in
6761 ec++*)
6762 # FIXME: insert proper C++ library support
6763 _LT_TAGVAR(ld_shlibs, $1)=no
6764 ;;
6765 ghcx*)
6766 # Green Hills C++ Compiler
6767 # FIXME: insert proper C++ library support
6768 _LT_TAGVAR(ld_shlibs, $1)=no
6769 ;;
6770 *)
6771 # FIXME: insert proper C++ library support
6772 _LT_TAGVAR(ld_shlibs, $1)=no
6773 ;;
6774 esac
6775 ;;
6776
6777 freebsd2.*)
6778 # C++ shared libraries reported to be fairly broken before
6779 # switch to ELF
6780 _LT_TAGVAR(ld_shlibs, $1)=no
6781 ;;
6782
6783 freebsd-elf*)
6784 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6785 ;;
6786
6787 freebsd* | dragonfly*)
6788 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
6789 # conventions
6790 _LT_TAGVAR(ld_shlibs, $1)=yes
6791 ;;
6792
6793 haiku*)
6794 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6795 _LT_TAGVAR(link_all_deplibs, $1)=yes
6796 ;;
6797
6798 hpux9*)
6799 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
6800 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6801 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6802 _LT_TAGVAR(hardcode_direct, $1)=yes
6803 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6804 # but as the default
6805 # location of the library.
6806
6807 case $cc_basename in
6808 CC*)
6809 # FIXME: insert proper C++ library support
6810 _LT_TAGVAR(ld_shlibs, $1)=no
6811 ;;
6812 aCC*)
6813 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
6814 # Commands to make compiler produce verbose output that lists
6815 # what "hidden" libraries, object files and flags are used when
6816 # linking a shared library.
6817 #
6818 # There doesn't appear to be a way to prevent this compiler from
6819 # explicitly linking system object files so we need to strip them
6820 # from the output so that they don't get included in the library
6821 # dependencies.
6822 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
6823 ;;
6824 *)
6825 if test yes = "$GXX"; then
6826 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
6827 else
6828 # FIXME: insert proper C++ library support
6829 _LT_TAGVAR(ld_shlibs, $1)=no
6830 fi
6831 ;;
6832 esac
6833 ;;
6834
6835 hpux10*|hpux11*)
6836 if test no = "$with_gnu_ld"; then
6837 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
6838 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6839
6840 case $host_cpu in
6841 hppa*64*|ia64*)
6842 ;;
6843 *)
6844 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6845 ;;
6846 esac
6847 fi
6848 case $host_cpu in
6849 hppa*64*|ia64*)
6850 _LT_TAGVAR(hardcode_direct, $1)=no
6851 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6852 ;;
6853 *)
6854 _LT_TAGVAR(hardcode_direct, $1)=yes
6855 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6856 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6857 # but as the default
6858 # location of the library.
6859 ;;
6860 esac
6861
6862 case $cc_basename in
6863 CC*)
6864 # FIXME: insert proper C++ library support
6865 _LT_TAGVAR(ld_shlibs, $1)=no
6866 ;;
6867 aCC*)
6868 case $host_cpu in
6869 hppa*64*)
6870 _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6871 ;;
6872 ia64*)
6873 _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6874 ;;
6875 *)
6876 _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6877 ;;
6878 esac
6879 # Commands to make compiler produce verbose output that lists
6880 # what "hidden" libraries, object files and flags are used when
6881 # linking a shared library.
6882 #
6883 # There doesn't appear to be a way to prevent this compiler from
6884 # explicitly linking system object files so we need to strip them
6885 # from the output so that they don't get included in the library
6886 # dependencies.
6887 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
6888 ;;
6889 *)
6890 if test yes = "$GXX"; then
6891 if test no = "$with_gnu_ld"; then
6892 case $host_cpu in
6893 hppa*64*)
6894 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6895 ;;
6896 ia64*)
6897 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6898 ;;
6899 *)
6900 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6901 ;;
6902 esac
6903 fi
6904 else
6905 # FIXME: insert proper C++ library support
6906 _LT_TAGVAR(ld_shlibs, $1)=no
6907 fi
6908 ;;
6909 esac
6910 ;;
6911
6912 interix[[3-9]]*)
6913 _LT_TAGVAR(hardcode_direct, $1)=no
6914 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6915 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6916 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6917 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
6918 # Instead, shared libraries are loaded at an image base (0x10000000 by
6919 # default) and relocated if they conflict, which is a slow very memory
6920 # consuming and fragmenting process. To avoid this, we pick a random,
6921 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
6922 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
6923 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
6924 _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
6925 ;;
6926 irix5* | irix6*)
6927 case $cc_basename in
6928 CC*)
6929 # SGI C++
6930 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
6931
6932 # Archives containing C++ object files must be created using
6933 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
6934 # necessary to make sure instantiated templates are included
6935 # in the archive.
6936 _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
6937 ;;
6938 *)
6939 if test yes = "$GXX"; then
6940 if test no = "$with_gnu_ld"; then
6941 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
6942 else
6943 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
6944 fi
6945 fi
6946 _LT_TAGVAR(link_all_deplibs, $1)=yes
6947 ;;
6948 esac
6949 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6950 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6951 _LT_TAGVAR(inherit_rpath, $1)=yes
6952 ;;
6953
6954 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
6955 case $cc_basename in
6956 KCC*)
6957 # Kuck and Associates, Inc. (KAI) C++ Compiler
6958
6959 # KCC will only create a shared library if the output file
6960 # ends with ".so" (or ".sl" for HP-UX), so rename the library
6961 # to its proper name (with version) after linking.
6962 _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
6963 _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
6964 # Commands to make compiler produce verbose output that lists
6965 # what "hidden" libraries, object files and flags are used when
6966 # linking a shared library.
6967 #
6968 # There doesn't appear to be a way to prevent this compiler from
6969 # explicitly linking system object files so we need to strip them
6970 # from the output so that they don't get included in the library
6971 # dependencies.
6972 output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
6973
6974 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6975 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
6976
6977 # Archives containing C++ object files must be created using
6978 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
6979 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
6980 ;;
6981 icpc* | ecpc* )
6982 # Intel C++
6983 with_gnu_ld=yes
6984 # version 8.0 and above of icpc choke on multiply defined symbols
6985 # if we add $predep_objects and $postdep_objects, however 7.1 and
6986 # earlier do not add the objects themselves.
6987 case `$CC -V 2>&1` in
6988 *"Version 7."*)
6989 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
6990 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
6991 ;;
6992 *) # Version 8.0 or newer
6993 tmp_idyn=
6994 case $host_cpu in
6995 ia64*) tmp_idyn=' -i_dynamic';;
6996 esac
6997 _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6998 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
6999 ;;
7000 esac
7001 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7002 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7003 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7004 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
7005 ;;
7006 pgCC* | pgcpp*)
7007 # Portland Group C++ compiler
7008 case `$CC -V` in
7009 *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
7010 _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
7011 rm -rf $tpldir~
7012 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
7013 compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
7014 _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
7015 rm -rf $tpldir~
7016 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
7017 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
7018 $RANLIB $oldlib'
7019 _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
7020 rm -rf $tpldir~
7021 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
7022 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7023 _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
7024 rm -rf $tpldir~
7025 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
7026 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
7027 ;;
7028 *) # Version 6 and above use weak symbols
7029 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7030 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
7031 ;;
7032 esac
7033
7034 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
7035 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7036 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
7037 ;;
7038 cxx*)
7039 # Compaq C++
7040 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7041 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols'
7042
7043 runpath_var=LD_RUN_PATH
7044 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7045 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7046
7047 # Commands to make compiler produce verbose output that lists
7048 # what "hidden" libraries, object files and flags are used when
7049 # linking a shared library.
7050 #
7051 # There doesn't appear to be a way to prevent this compiler from
7052 # explicitly linking system object files so we need to strip them
7053 # from the output so that they don't get included in the library
7054 # dependencies.
7055 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
7056 ;;
7057 xl* | mpixl* | bgxl*)
7058 # IBM XL 8.0 on PPC, with GNU ld
7059 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7060 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7061 _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
7062 if test yes = "$supports_anon_versioning"; then
7063 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
7064 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
7065 echo "local: *; };" >> $output_objdir/$libname.ver~
7066 $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
7067 fi
7068 ;;
7069 *)
7070 case `$CC -V 2>&1 | sed 5q` in
7071 *Sun\ C*)
7072 # Sun C++ 5.9
7073 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7074 _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7075 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
7076 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7077 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
7078 _LT_TAGVAR(compiler_needs_object, $1)=yes
7079
7080 # Not sure whether something based on
7081 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
7082 # would be better.
7083 output_verbose_link_cmd='func_echo_all'
7084
7085 # Archives containing C++ object files must be created using
7086 # "CC -xar", where "CC" is the Sun C++ compiler. This is
7087 # necessary to make sure instantiated templates are included
7088 # in the archive.
7089 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
7090 ;;
7091 esac
7092 ;;
7093 esac
7094 ;;
7095
7096 lynxos*)
7097 # FIXME: insert proper C++ library support
7098 _LT_TAGVAR(ld_shlibs, $1)=no
7099 ;;
7100
7101 m88k*)
7102 # FIXME: insert proper C++ library support
7103 _LT_TAGVAR(ld_shlibs, $1)=no
7104 ;;
7105
7106 mvs*)
7107 case $cc_basename in
7108 cxx*)
7109 # FIXME: insert proper C++ library support
7110 _LT_TAGVAR(ld_shlibs, $1)=no
7111 ;;
7112 *)
7113 # FIXME: insert proper C++ library support
7114 _LT_TAGVAR(ld_shlibs, $1)=no
7115 ;;
7116 esac
7117 ;;
7118
7119 netbsd*)
7120 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
7121 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
7122 wlarc=
7123 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7124 _LT_TAGVAR(hardcode_direct, $1)=yes
7125 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7126 fi
7127 # Workaround some broken pre-1.5 toolchains
7128 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
7129 ;;
7130
7131 *nto* | *qnx*)
7132 _LT_TAGVAR(ld_shlibs, $1)=yes
7133 ;;
7134
7135 openbsd* | bitrig*)
7136 if test -f /usr/libexec/ld.so; then
7137 _LT_TAGVAR(hardcode_direct, $1)=yes
7138 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7139 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
7140 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
7141 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7142 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
7143 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
7144 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
7145 _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
7146 fi
7147 output_verbose_link_cmd=func_echo_all
7148 else
7149 _LT_TAGVAR(ld_shlibs, $1)=no
7150 fi
7151 ;;
7152
7153 osf3* | osf4* | osf5*)
7154 case $cc_basename in
7155 KCC*)
7156 # Kuck and Associates, Inc. (KAI) C++ Compiler
7157
7158 # KCC will only create a shared library if the output file
7159 # ends with ".so" (or ".sl" for HP-UX), so rename the library
7160 # to its proper name (with version) after linking.
7161 _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
7162
7163 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7164 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7165
7166 # Archives containing C++ object files must be created using
7167 # the KAI C++ compiler.
7168 case $host in
7169 osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
7170 *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
7171 esac
7172 ;;
7173 RCC*)
7174 # Rational C++ 2.4.1
7175 # FIXME: insert proper C++ library support
7176 _LT_TAGVAR(ld_shlibs, $1)=no
7177 ;;
7178 cxx*)
7179 case $host in
7180 osf3*)
7181 _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
7182 _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
7183 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7184 ;;
7185 *)
7186 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
7187 _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
7188 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
7189 echo "-hidden">> $lib.exp~
7190 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
7191 $RM $lib.exp'
7192 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7193 ;;
7194 esac
7195
7196 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7197
7198 # Commands to make compiler produce verbose output that lists
7199 # what "hidden" libraries, object files and flags are used when
7200 # linking a shared library.
7201 #
7202 # There doesn't appear to be a way to prevent this compiler from
7203 # explicitly linking system object files so we need to strip them
7204 # from the output so that they don't get included in the library
7205 # dependencies.
7206 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
7207 ;;
7208 *)
7209 if test yes,no = "$GXX,$with_gnu_ld"; then
7210 _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
7211 case $host in
7212 osf3*)
7213 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
7214 ;;
7215 *)
7216 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
7217 ;;
7218 esac
7219
7220 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7221 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7222
7223 # Commands to make compiler produce verbose output that lists
7224 # what "hidden" libraries, object files and flags are used when
7225 # linking a shared library.
7226 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
7227
7228 else
7229 # FIXME: insert proper C++ library support
7230 _LT_TAGVAR(ld_shlibs, $1)=no
7231 fi
7232 ;;
7233 esac
7234 ;;
7235
7236 psos*)
7237 # FIXME: insert proper C++ library support
7238 _LT_TAGVAR(ld_shlibs, $1)=no
7239 ;;
7240
7241 sunos4*)
7242 case $cc_basename in
7243 CC*)
7244 # Sun C++ 4.x
7245 # FIXME: insert proper C++ library support
7246 _LT_TAGVAR(ld_shlibs, $1)=no
7247 ;;
7248 lcc*)
7249 # Lucid
7250 # FIXME: insert proper C++ library support
7251 _LT_TAGVAR(ld_shlibs, $1)=no
7252 ;;
7253 *)
7254 # FIXME: insert proper C++ library support
7255 _LT_TAGVAR(ld_shlibs, $1)=no
7256 ;;
7257 esac
7258 ;;
7259
7260 solaris*)
7261 case $cc_basename in
7262 CC* | sunCC*)
7263 # Sun C++ 4.2, 5.x and Centerline C++
7264 _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
7265 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7266 _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7267 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7268 $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
7269
7270 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7271 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7272 case $host_os in
7273 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7274 *)
7275 # The compiler driver will combine and reorder linker options,
7276 # but understands '-z linker_flag'.
7277 # Supported since Solaris 2.6 (maybe 2.5.1?)
7278 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
7279 ;;
7280 esac
7281 _LT_TAGVAR(link_all_deplibs, $1)=yes
7282
7283 output_verbose_link_cmd='func_echo_all'
7284
7285 # Archives containing C++ object files must be created using
7286 # "CC -xar", where "CC" is the Sun C++ compiler. This is
7287 # necessary to make sure instantiated templates are included
7288 # in the archive.
7289 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
7290 ;;
7291 gcx*)
7292 # Green Hills C++ Compiler
7293 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7294
7295 # The C++ compiler must be used to create the archive.
7296 _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
7297 ;;
7298 *)
7299 # GNU C++ compiler with Solaris linker
7300 if test yes,no = "$GXX,$with_gnu_ld"; then
7301 _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
7302 if $CC --version | $GREP -v '^2\.7' > /dev/null; then
7303 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7304 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7305 $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
7306
7307 # Commands to make compiler produce verbose output that lists
7308 # what "hidden" libraries, object files and flags are used when
7309 # linking a shared library.
7310 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
7311 else
7312 # g++ 2.7 appears to require '-G' NOT '-shared' on this
7313 # platform.
7314 _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7315 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7316 $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
7317
7318 # Commands to make compiler produce verbose output that lists
7319 # what "hidden" libraries, object files and flags are used when
7320 # linking a shared library.
7321 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
7322 fi
7323
7324 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
7325 case $host_os in
7326 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7327 *)
7328 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
7329 ;;
7330 esac
7331 fi
7332 ;;
7333 esac
7334 ;;
7335
7336 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
7337 _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
7338 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7339 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7340 runpath_var='LD_RUN_PATH'
7341
7342 case $cc_basename in
7343 CC*)
7344 _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7345 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7346 ;;
7347 *)
7348 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7349 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7350 ;;
7351 esac
7352 ;;
7353
7354 sysv5* | sco3.2v5* | sco5v6*)
7355 # Note: We CANNOT use -z defs as we might desire, because we do not
7356 # link with -lc, and that would cause any symbols used from libc to
7357 # always be unresolved, which means just about no library would
7358 # ever link correctly. If we're not using GNU ld we use -z text
7359 # though, which does catch some bad symbols but isn't as heavy-handed
7360 # as -z defs.
7361 _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
7362 _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
7363 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7364 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7365 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
7366 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
7367 _LT_TAGVAR(link_all_deplibs, $1)=yes
7368 _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
7369 runpath_var='LD_RUN_PATH'
7370
7371 case $cc_basename in
7372 CC*)
7373 _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7374 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7375 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
7376 '"$_LT_TAGVAR(old_archive_cmds, $1)"
7377 _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
7378 '"$_LT_TAGVAR(reload_cmds, $1)"
7379 ;;
7380 *)
7381 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7382 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7383 ;;
7384 esac
7385 ;;
7386
7387 tandem*)
7388 case $cc_basename in
7389 NCC*)
7390 # NonStop-UX NCC 3.20
7391 # FIXME: insert proper C++ library support
7392 _LT_TAGVAR(ld_shlibs, $1)=no
7393 ;;
7394 *)
7395 # FIXME: insert proper C++ library support
7396 _LT_TAGVAR(ld_shlibs, $1)=no
7397 ;;
7398 esac
7399 ;;
7400
7401 vxworks*)
7402 # FIXME: insert proper C++ library support
7403 _LT_TAGVAR(ld_shlibs, $1)=no
7404 ;;
7405
7406 *)
7407 # FIXME: insert proper C++ library support
7408 _LT_TAGVAR(ld_shlibs, $1)=no
7409 ;;
7410 esac
7411
7412 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
7413 test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
7414
7415 _LT_TAGVAR(GCC, $1)=$GXX
7416 _LT_TAGVAR(LD, $1)=$LD
7417
7418 ## CAVEAT EMPTOR:
7419 ## There is no encapsulation within the following macros, do not change
7420 ## the running order or otherwise move them around unless you know exactly
7421 ## what you are doing...
7422 _LT_SYS_HIDDEN_LIBDEPS($1)
7423 _LT_COMPILER_PIC($1)
7424 _LT_COMPILER_C_O($1)
7425 _LT_COMPILER_FILE_LOCKS($1)
7426 _LT_LINKER_SHLIBS($1)
7427 _LT_SYS_DYNAMIC_LINKER($1)
7428 _LT_LINKER_HARDCODE_LIBPATH($1)
7429
7430 _LT_CONFIG($1)
7431 fi # test -n "$compiler"
7432
7433 CC=$lt_save_CC
7434 CFLAGS=$lt_save_CFLAGS
7435 LDCXX=$LD
7436 LD=$lt_save_LD
7437 GCC=$lt_save_GCC
7438 with_gnu_ld=$lt_save_with_gnu_ld
7439 lt_cv_path_LDCXX=$lt_cv_path_LD
7440 lt_cv_path_LD=$lt_save_path_LD
7441 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
7442 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
7443 fi # test yes != "$_lt_caught_CXX_error"
7444
7445 AC_LANG_POP
7446 ])# _LT_LANG_CXX_CONFIG
7447
7448
7449 # _LT_FUNC_STRIPNAME_CNF
7450 # ----------------------
7451 # func_stripname_cnf prefix suffix name
7452 # strip PREFIX and SUFFIX off of NAME.
7453 # PREFIX and SUFFIX must not contain globbing or regex special
7454 # characters, hashes, percent signs, but SUFFIX may contain a leading
7455 # dot (in which case that matches only a dot).
7456 #
7457 # This function is identical to the (non-XSI) version of func_stripname,
7458 # except this one can be used by m4 code that may be executed by configure,
7459 # rather than the libtool script.
7460 m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
7461 AC_REQUIRE([_LT_DECL_SED])
7462 AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
7463 func_stripname_cnf ()
7464 {
7465 case @S|@2 in
7466 .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
7467 *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
7468 esac
7469 } # func_stripname_cnf
7470 ])# _LT_FUNC_STRIPNAME_CNF
7471
7472
7473 # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
7474 # ---------------------------------
7475 # Figure out "hidden" library dependencies from verbose
7476 # compiler output when linking a shared library.
7477 # Parse the compiler output and extract the necessary
7478 # objects, libraries and library flags.
7479 m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
7480 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
7481 AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
7482 # Dependencies to place before and after the object being linked:
7483 _LT_TAGVAR(predep_objects, $1)=
7484 _LT_TAGVAR(postdep_objects, $1)=
7485 _LT_TAGVAR(predeps, $1)=
7486 _LT_TAGVAR(postdeps, $1)=
7487 _LT_TAGVAR(compiler_lib_search_path, $1)=
7488
7489 dnl we can't use the lt_simple_compile_test_code here,
7490 dnl because it contains code intended for an executable,
7491 dnl not a library. It's possible we should let each
7492 dnl tag define a new lt_????_link_test_code variable,
7493 dnl but it's only used here...
7494 m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
7495 int a;
7496 void foo (void) { a = 0; }
7497 _LT_EOF
7498 ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
7499 class Foo
7500 {
7501 public:
7502 Foo (void) { a = 0; }
7503 private:
7504 int a;
7505 };
7506 _LT_EOF
7507 ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
7508 subroutine foo
7509 implicit none
7510 integer*4 a
7511 a=0
7512 return
7513 end
7514 _LT_EOF
7515 ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
7516 subroutine foo
7517 implicit none
7518 integer a
7519 a=0
7520 return
7521 end
7522 _LT_EOF
7523 ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
7524 public class foo {
7525 private int a;
7526 public void bar (void) {
7527 a = 0;
7528 }
7529 };
7530 _LT_EOF
7531 ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
7532 package foo
7533 func foo() {
7534 }
7535 _LT_EOF
7536 ])
7537
7538 _lt_libdeps_save_CFLAGS=$CFLAGS
7539 case "$CC $CFLAGS " in #(
7540 *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
7541 *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
7542 *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
7543 esac
7544
7545 dnl Parse the compiler output and extract the necessary
7546 dnl objects, libraries and library flags.
7547 if AC_TRY_EVAL(ac_compile); then
7548 # Parse the compiler output and extract the necessary
7549 # objects, libraries and library flags.
7550
7551 # Sentinel used to keep track of whether or not we are before
7552 # the conftest object file.
7553 pre_test_object_deps_done=no
7554
7555 for p in `eval "$output_verbose_link_cmd"`; do
7556 case $prev$p in
7557
7558 -L* | -R* | -l*)
7559 # Some compilers place space between "-{L,R}" and the path.
7560 # Remove the space.
7561 if test x-L = "$p" ||
7562 test x-R = "$p"; then
7563 prev=$p
7564 continue
7565 fi
7566
7567 # Expand the sysroot to ease extracting the directories later.
7568 if test -z "$prev"; then
7569 case $p in
7570 -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
7571 -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
7572 -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
7573 esac
7574 fi
7575 case $p in
7576 =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
7577 esac
7578 if test no = "$pre_test_object_deps_done"; then
7579 case $prev in
7580 -L | -R)
7581 # Internal compiler library paths should come after those
7582 # provided the user. The postdeps already come after the
7583 # user supplied libs so there is no need to process them.
7584 if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
7585 _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
7586 else
7587 _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
7588 fi
7589 ;;
7590 # The "-l" case would never come before the object being
7591 # linked, so don't bother handling this case.
7592 esac
7593 else
7594 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
7595 _LT_TAGVAR(postdeps, $1)=$prev$p
7596 else
7597 _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
7598 fi
7599 fi
7600 prev=
7601 ;;
7602
7603 *.lto.$objext) ;; # Ignore GCC LTO objects
7604 *.$objext)
7605 # This assumes that the test object file only shows up
7606 # once in the compiler output.
7607 if test "$p" = "conftest.$objext"; then
7608 pre_test_object_deps_done=yes
7609 continue
7610 fi
7611
7612 if test no = "$pre_test_object_deps_done"; then
7613 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
7614 _LT_TAGVAR(predep_objects, $1)=$p
7615 else
7616 _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
7617 fi
7618 else
7619 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
7620 _LT_TAGVAR(postdep_objects, $1)=$p
7621 else
7622 _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
7623 fi
7624 fi
7625 ;;
7626
7627 *) ;; # Ignore the rest.
7628
7629 esac
7630 done
7631
7632 # Clean up.
7633 rm -f a.out a.exe
7634 else
7635 echo "libtool.m4: error: problem compiling $1 test program"
7636 fi
7637
7638 $RM -f confest.$objext
7639 CFLAGS=$_lt_libdeps_save_CFLAGS
7640
7641 # PORTME: override above test on systems where it is broken
7642 m4_if([$1], [CXX],
7643 [case $host_os in
7644 interix[[3-9]]*)
7645 # Interix 3.5 installs completely hosed .la files for C++, so rather than
7646 # hack all around it, let's just trust "g++" to DTRT.
7647 _LT_TAGVAR(predep_objects,$1)=
7648 _LT_TAGVAR(postdep_objects,$1)=
7649 _LT_TAGVAR(postdeps,$1)=
7650 ;;
7651 esac
7652 ])
7653
7654 case " $_LT_TAGVAR(postdeps, $1) " in
7655 *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
7656 esac
7657 _LT_TAGVAR(compiler_lib_search_dirs, $1)=
7658 if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
7659 _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
7660 fi
7661 _LT_TAGDECL([], [compiler_lib_search_dirs], [1],
7662 [The directories searched by this compiler when creating a shared library])
7663 _LT_TAGDECL([], [predep_objects], [1],
7664 [Dependencies to place before and after the objects being linked to
7665 create a shared library])
7666 _LT_TAGDECL([], [postdep_objects], [1])
7667 _LT_TAGDECL([], [predeps], [1])
7668 _LT_TAGDECL([], [postdeps], [1])
7669 _LT_TAGDECL([], [compiler_lib_search_path], [1],
7670 [The library search path used internally by the compiler when linking
7671 a shared library])
7672 ])# _LT_SYS_HIDDEN_LIBDEPS
7673
7674
7675 # _LT_LANG_F77_CONFIG([TAG])
7676 # --------------------------
7677 # Ensure that the configuration variables for a Fortran 77 compiler are
7678 # suitably defined. These variables are subsequently used by _LT_CONFIG
7679 # to write the compiler configuration to 'libtool'.
7680 m4_defun([_LT_LANG_F77_CONFIG],
7681 [AC_LANG_PUSH(Fortran 77)
7682 if test -z "$F77" || test no = "$F77"; then
7683 _lt_disable_F77=yes
7684 fi
7685
7686 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7687 _LT_TAGVAR(allow_undefined_flag, $1)=
7688 _LT_TAGVAR(always_export_symbols, $1)=no
7689 _LT_TAGVAR(archive_expsym_cmds, $1)=
7690 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7691 _LT_TAGVAR(hardcode_direct, $1)=no
7692 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7693 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7694 _LT_TAGVAR(hardcode_libdir_separator, $1)=
7695 _LT_TAGVAR(hardcode_minus_L, $1)=no
7696 _LT_TAGVAR(hardcode_automatic, $1)=no
7697 _LT_TAGVAR(inherit_rpath, $1)=no
7698 _LT_TAGVAR(module_cmds, $1)=
7699 _LT_TAGVAR(module_expsym_cmds, $1)=
7700 _LT_TAGVAR(link_all_deplibs, $1)=unknown
7701 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7702 _LT_TAGVAR(reload_flag, $1)=$reload_flag
7703 _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7704 _LT_TAGVAR(no_undefined_flag, $1)=
7705 _LT_TAGVAR(whole_archive_flag_spec, $1)=
7706 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7707
7708 # Source file extension for f77 test sources.
7709 ac_ext=f
7710
7711 # Object file extension for compiled f77 test sources.
7712 objext=o
7713 _LT_TAGVAR(objext, $1)=$objext
7714
7715 # No sense in running all these tests if we already determined that
7716 # the F77 compiler isn't working. Some variables (like enable_shared)
7717 # are currently assumed to apply to all compilers on this platform,
7718 # and will be corrupted by setting them based on a non-working compiler.
7719 if test yes != "$_lt_disable_F77"; then
7720 # Code to be used in simple compile tests
7721 lt_simple_compile_test_code="\
7722 subroutine t
7723 return
7724 end
7725 "
7726
7727 # Code to be used in simple link tests
7728 lt_simple_link_test_code="\
7729 program t
7730 end
7731 "
7732
7733 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7734 _LT_TAG_COMPILER
7735
7736 # save warnings/boilerplate of simple test code
7737 _LT_COMPILER_BOILERPLATE
7738 _LT_LINKER_BOILERPLATE
7739
7740 # Allow CC to be a program name with arguments.
7741 lt_save_CC=$CC
7742 lt_save_GCC=$GCC
7743 lt_save_CFLAGS=$CFLAGS
7744 CC=${F77-"f77"}
7745 CFLAGS=$FFLAGS
7746 compiler=$CC
7747 _LT_TAGVAR(compiler, $1)=$CC
7748 _LT_CC_BASENAME([$compiler])
7749 GCC=$G77
7750 if test -n "$compiler"; then
7751 AC_MSG_CHECKING([if libtool supports shared libraries])
7752 AC_MSG_RESULT([$can_build_shared])
7753
7754 AC_MSG_CHECKING([whether to build shared libraries])
7755 test no = "$can_build_shared" && enable_shared=no
7756
7757 # On AIX, shared libraries and static libraries use the same namespace, and
7758 # are all built from PIC.
7759 case $host_os in
7760 aix3*)
7761 test yes = "$enable_shared" && enable_static=no
7762 if test -n "$RANLIB"; then
7763 archive_cmds="$archive_cmds~\$RANLIB \$lib"
7764 postinstall_cmds='$RANLIB $lib'
7765 fi
7766 ;;
7767 aix[[4-9]]*)
7768 if test ia64 != "$host_cpu"; then
7769 case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
7770 yes,aix,yes) ;; # shared object as lib.so file only
7771 yes,svr4,*) ;; # shared object as lib.so archive member only
7772 yes,*) enable_static=no ;; # shared object in lib.a archive as well
7773 esac
7774 fi
7775 ;;
7776 esac
7777 AC_MSG_RESULT([$enable_shared])
7778
7779 AC_MSG_CHECKING([whether to build static libraries])
7780 # Make sure either enable_shared or enable_static is yes.
7781 test yes = "$enable_shared" || enable_static=yes
7782 AC_MSG_RESULT([$enable_static])
7783
7784 _LT_TAGVAR(GCC, $1)=$G77
7785 _LT_TAGVAR(LD, $1)=$LD
7786
7787 ## CAVEAT EMPTOR:
7788 ## There is no encapsulation within the following macros, do not change
7789 ## the running order or otherwise move them around unless you know exactly
7790 ## what you are doing...
7791 _LT_COMPILER_PIC($1)
7792 _LT_COMPILER_C_O($1)
7793 _LT_COMPILER_FILE_LOCKS($1)
7794 _LT_LINKER_SHLIBS($1)
7795 _LT_SYS_DYNAMIC_LINKER($1)
7796 _LT_LINKER_HARDCODE_LIBPATH($1)
7797
7798 _LT_CONFIG($1)
7799 fi # test -n "$compiler"
7800
7801 GCC=$lt_save_GCC
7802 CC=$lt_save_CC
7803 CFLAGS=$lt_save_CFLAGS
7804 fi # test yes != "$_lt_disable_F77"
7805
7806 AC_LANG_POP
7807 ])# _LT_LANG_F77_CONFIG
7808
7809
7810 # _LT_LANG_FC_CONFIG([TAG])
7811 # -------------------------
7812 # Ensure that the configuration variables for a Fortran compiler are
7813 # suitably defined. These variables are subsequently used by _LT_CONFIG
7814 # to write the compiler configuration to 'libtool'.
7815 m4_defun([_LT_LANG_FC_CONFIG],
7816 [AC_LANG_PUSH(Fortran)
7817
7818 if test -z "$FC" || test no = "$FC"; then
7819 _lt_disable_FC=yes
7820 fi
7821
7822 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7823 _LT_TAGVAR(allow_undefined_flag, $1)=
7824 _LT_TAGVAR(always_export_symbols, $1)=no
7825 _LT_TAGVAR(archive_expsym_cmds, $1)=
7826 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7827 _LT_TAGVAR(hardcode_direct, $1)=no
7828 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7829 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7830 _LT_TAGVAR(hardcode_libdir_separator, $1)=
7831 _LT_TAGVAR(hardcode_minus_L, $1)=no
7832 _LT_TAGVAR(hardcode_automatic, $1)=no
7833 _LT_TAGVAR(inherit_rpath, $1)=no
7834 _LT_TAGVAR(module_cmds, $1)=
7835 _LT_TAGVAR(module_expsym_cmds, $1)=
7836 _LT_TAGVAR(link_all_deplibs, $1)=unknown
7837 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7838 _LT_TAGVAR(reload_flag, $1)=$reload_flag
7839 _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7840 _LT_TAGVAR(no_undefined_flag, $1)=
7841 _LT_TAGVAR(whole_archive_flag_spec, $1)=
7842 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7843
7844 # Source file extension for fc test sources.
7845 ac_ext=${ac_fc_srcext-f}
7846
7847 # Object file extension for compiled fc test sources.
7848 objext=o
7849 _LT_TAGVAR(objext, $1)=$objext
7850
7851 # No sense in running all these tests if we already determined that
7852 # the FC compiler isn't working. Some variables (like enable_shared)
7853 # are currently assumed to apply to all compilers on this platform,
7854 # and will be corrupted by setting them based on a non-working compiler.
7855 if test yes != "$_lt_disable_FC"; then
7856 # Code to be used in simple compile tests
7857 lt_simple_compile_test_code="\
7858 subroutine t
7859 return
7860 end
7861 "
7862
7863 # Code to be used in simple link tests
7864 lt_simple_link_test_code="\
7865 program t
7866 end
7867 "
7868
7869 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7870 _LT_TAG_COMPILER
7871
7872 # save warnings/boilerplate of simple test code
7873 _LT_COMPILER_BOILERPLATE
7874 _LT_LINKER_BOILERPLATE
7875
7876 # Allow CC to be a program name with arguments.
7877 lt_save_CC=$CC
7878 lt_save_GCC=$GCC
7879 lt_save_CFLAGS=$CFLAGS
7880 CC=${FC-"f95"}
7881 CFLAGS=$FCFLAGS
7882 compiler=$CC
7883 GCC=$ac_cv_fc_compiler_gnu
7884
7885 _LT_TAGVAR(compiler, $1)=$CC
7886 _LT_CC_BASENAME([$compiler])
7887
7888 if test -n "$compiler"; then
7889 AC_MSG_CHECKING([if libtool supports shared libraries])
7890 AC_MSG_RESULT([$can_build_shared])
7891
7892 AC_MSG_CHECKING([whether to build shared libraries])
7893 test no = "$can_build_shared" && enable_shared=no
7894
7895 # On AIX, shared libraries and static libraries use the same namespace, and
7896 # are all built from PIC.
7897 case $host_os in
7898 aix3*)
7899 test yes = "$enable_shared" && enable_static=no
7900 if test -n "$RANLIB"; then
7901 archive_cmds="$archive_cmds~\$RANLIB \$lib"
7902 postinstall_cmds='$RANLIB $lib'
7903 fi
7904 ;;
7905 aix[[4-9]]*)
7906 if test ia64 != "$host_cpu"; then
7907 case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
7908 yes,aix,yes) ;; # shared object as lib.so file only
7909 yes,svr4,*) ;; # shared object as lib.so archive member only
7910 yes,*) enable_static=no ;; # shared object in lib.a archive as well
7911 esac
7912 fi
7913 ;;
7914 esac
7915 AC_MSG_RESULT([$enable_shared])
7916
7917 AC_MSG_CHECKING([whether to build static libraries])
7918 # Make sure either enable_shared or enable_static is yes.
7919 test yes = "$enable_shared" || enable_static=yes
7920 AC_MSG_RESULT([$enable_static])
7921
7922 _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
7923 _LT_TAGVAR(LD, $1)=$LD
7924
7925 ## CAVEAT EMPTOR:
7926 ## There is no encapsulation within the following macros, do not change
7927 ## the running order or otherwise move them around unless you know exactly
7928 ## what you are doing...
7929 _LT_SYS_HIDDEN_LIBDEPS($1)
7930 _LT_COMPILER_PIC($1)
7931 _LT_COMPILER_C_O($1)
7932 _LT_COMPILER_FILE_LOCKS($1)
7933 _LT_LINKER_SHLIBS($1)
7934 _LT_SYS_DYNAMIC_LINKER($1)
7935 _LT_LINKER_HARDCODE_LIBPATH($1)
7936
7937 _LT_CONFIG($1)
7938 fi # test -n "$compiler"
7939
7940 GCC=$lt_save_GCC
7941 CC=$lt_save_CC
7942 CFLAGS=$lt_save_CFLAGS
7943 fi # test yes != "$_lt_disable_FC"
7944
7945 AC_LANG_POP
7946 ])# _LT_LANG_FC_CONFIG
7947
7948
7949 # _LT_LANG_GCJ_CONFIG([TAG])
7950 # --------------------------
7951 # Ensure that the configuration variables for the GNU Java Compiler compiler
7952 # are suitably defined. These variables are subsequently used by _LT_CONFIG
7953 # to write the compiler configuration to 'libtool'.
7954 m4_defun([_LT_LANG_GCJ_CONFIG],
7955 [AC_REQUIRE([LT_PROG_GCJ])dnl
7956 AC_LANG_SAVE
7957
7958 # Source file extension for Java test sources.
7959 ac_ext=java
7960
7961 # Object file extension for compiled Java test sources.
7962 objext=o
7963 _LT_TAGVAR(objext, $1)=$objext
7964
7965 # Code to be used in simple compile tests
7966 lt_simple_compile_test_code="class foo {}"
7967
7968 # Code to be used in simple link tests
7969 lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
7970
7971 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7972 _LT_TAG_COMPILER
7973
7974 # save warnings/boilerplate of simple test code
7975 _LT_COMPILER_BOILERPLATE
7976 _LT_LINKER_BOILERPLATE
7977
7978 # Allow CC to be a program name with arguments.
7979 lt_save_CC=$CC
7980 lt_save_CFLAGS=$CFLAGS
7981 lt_save_GCC=$GCC
7982 GCC=yes
7983 CC=${GCJ-"gcj"}
7984 CFLAGS=$GCJFLAGS
7985 compiler=$CC
7986 _LT_TAGVAR(compiler, $1)=$CC
7987 _LT_TAGVAR(LD, $1)=$LD
7988 _LT_CC_BASENAME([$compiler])
7989
7990 # GCJ did not exist at the time GCC didn't implicitly link libc in.
7991 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7992
7993 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7994 _LT_TAGVAR(reload_flag, $1)=$reload_flag
7995 _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7996
7997 ## CAVEAT EMPTOR:
7998 ## There is no encapsulation within the following macros, do not change
7999 ## the running order or otherwise move them around unless you know exactly
8000 ## what you are doing...
8001 if test -n "$compiler"; then
8002 _LT_COMPILER_NO_RTTI($1)
8003 _LT_COMPILER_PIC($1)
8004 _LT_COMPILER_C_O($1)
8005 _LT_COMPILER_FILE_LOCKS($1)
8006 _LT_LINKER_SHLIBS($1)
8007 _LT_LINKER_HARDCODE_LIBPATH($1)
8008
8009 _LT_CONFIG($1)
8010 fi
8011
8012 AC_LANG_RESTORE
8013
8014 GCC=$lt_save_GCC
8015 CC=$lt_save_CC
8016 CFLAGS=$lt_save_CFLAGS
8017 ])# _LT_LANG_GCJ_CONFIG
8018
8019
8020 # _LT_LANG_GO_CONFIG([TAG])
8021 # --------------------------
8022 # Ensure that the configuration variables for the GNU Go compiler
8023 # are suitably defined. These variables are subsequently used by _LT_CONFIG
8024 # to write the compiler configuration to 'libtool'.
8025 m4_defun([_LT_LANG_GO_CONFIG],
8026 [AC_REQUIRE([LT_PROG_GO])dnl
8027 AC_LANG_SAVE
8028
8029 # Source file extension for Go test sources.
8030 ac_ext=go
8031
8032 # Object file extension for compiled Go test sources.
8033 objext=o
8034 _LT_TAGVAR(objext, $1)=$objext
8035
8036 # Code to be used in simple compile tests
8037 lt_simple_compile_test_code="package main; func main() { }"
8038
8039 # Code to be used in simple link tests
8040 lt_simple_link_test_code='package main; func main() { }'
8041
8042 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
8043 _LT_TAG_COMPILER
8044
8045 # save warnings/boilerplate of simple test code
8046 _LT_COMPILER_BOILERPLATE
8047 _LT_LINKER_BOILERPLATE
8048
8049 # Allow CC to be a program name with arguments.
8050 lt_save_CC=$CC
8051 lt_save_CFLAGS=$CFLAGS
8052 lt_save_GCC=$GCC
8053 GCC=yes
8054 CC=${GOC-"gccgo"}
8055 CFLAGS=$GOFLAGS
8056 compiler=$CC
8057 _LT_TAGVAR(compiler, $1)=$CC
8058 _LT_TAGVAR(LD, $1)=$LD
8059 _LT_CC_BASENAME([$compiler])
8060
8061 # Go did not exist at the time GCC didn't implicitly link libc in.
8062 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
8063
8064 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
8065 _LT_TAGVAR(reload_flag, $1)=$reload_flag
8066 _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
8067
8068 ## CAVEAT EMPTOR:
8069 ## There is no encapsulation within the following macros, do not change
8070 ## the running order or otherwise move them around unless you know exactly
8071 ## what you are doing...
8072 if test -n "$compiler"; then
8073 _LT_COMPILER_NO_RTTI($1)
8074 _LT_COMPILER_PIC($1)
8075 _LT_COMPILER_C_O($1)
8076 _LT_COMPILER_FILE_LOCKS($1)
8077 _LT_LINKER_SHLIBS($1)
8078 _LT_LINKER_HARDCODE_LIBPATH($1)
8079
8080 _LT_CONFIG($1)
8081 fi
8082
8083 AC_LANG_RESTORE
8084
8085 GCC=$lt_save_GCC
8086 CC=$lt_save_CC
8087 CFLAGS=$lt_save_CFLAGS
8088 ])# _LT_LANG_GO_CONFIG
8089
8090
8091 # _LT_LANG_RC_CONFIG([TAG])
8092 # -------------------------
8093 # Ensure that the configuration variables for the Windows resource compiler
8094 # are suitably defined. These variables are subsequently used by _LT_CONFIG
8095 # to write the compiler configuration to 'libtool'.
8096 m4_defun([_LT_LANG_RC_CONFIG],
8097 [AC_REQUIRE([LT_PROG_RC])dnl
8098 AC_LANG_SAVE
8099
8100 # Source file extension for RC test sources.
8101 ac_ext=rc
8102
8103 # Object file extension for compiled RC test sources.
8104 objext=o
8105 _LT_TAGVAR(objext, $1)=$objext
8106
8107 # Code to be used in simple compile tests
8108 lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
8109
8110 # Code to be used in simple link tests
8111 lt_simple_link_test_code=$lt_simple_compile_test_code
8112
8113 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
8114 _LT_TAG_COMPILER
8115
8116 # save warnings/boilerplate of simple test code
8117 _LT_COMPILER_BOILERPLATE
8118 _LT_LINKER_BOILERPLATE
8119
8120 # Allow CC to be a program name with arguments.
8121 lt_save_CC=$CC
8122 lt_save_CFLAGS=$CFLAGS
8123 lt_save_GCC=$GCC
8124 GCC=
8125 CC=${RC-"windres"}
8126 CFLAGS=
8127 compiler=$CC
8128 _LT_TAGVAR(compiler, $1)=$CC
8129 _LT_CC_BASENAME([$compiler])
8130 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
8131
8132 if test -n "$compiler"; then
8133 :
8134 _LT_CONFIG($1)
8135 fi
8136
8137 GCC=$lt_save_GCC
8138 AC_LANG_RESTORE
8139 CC=$lt_save_CC
8140 CFLAGS=$lt_save_CFLAGS
8141 ])# _LT_LANG_RC_CONFIG
8142
8143
8144 # LT_PROG_GCJ
8145 # -----------
8146 AC_DEFUN([LT_PROG_GCJ],
8147 [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
8148 [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
8149 [AC_CHECK_TOOL(GCJ, gcj,)
8150 test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
8151 AC_SUBST(GCJFLAGS)])])[]dnl
8152 ])
8153
8154 # Old name:
8155 AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
8156 dnl aclocal-1.4 backwards compatibility:
8157 dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
8158
8159
8160 # LT_PROG_GO
8161 # ----------
8162 AC_DEFUN([LT_PROG_GO],
8163 [AC_CHECK_TOOL(GOC, gccgo,)
8164 ])
8165
8166
8167 # LT_PROG_RC
8168 # ----------
8169 AC_DEFUN([LT_PROG_RC],
8170 [AC_CHECK_TOOL(RC, windres,)
8171 ])
8172
8173 # Old name:
8174 AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
8175 dnl aclocal-1.4 backwards compatibility:
8176 dnl AC_DEFUN([LT_AC_PROG_RC], [])
8177
8178
8179 # _LT_DECL_EGREP
8180 # --------------
8181 # If we don't have a new enough Autoconf to choose the best grep
8182 # available, choose the one first in the user's PATH.
8183 m4_defun([_LT_DECL_EGREP],
8184 [AC_REQUIRE([AC_PROG_EGREP])dnl
8185 AC_REQUIRE([AC_PROG_FGREP])dnl
8186 test -z "$GREP" && GREP=grep
8187 _LT_DECL([], [GREP], [1], [A grep program that handles long lines])
8188 _LT_DECL([], [EGREP], [1], [An ERE matcher])
8189 _LT_DECL([], [FGREP], [1], [A literal string matcher])
8190 dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
8191 AC_SUBST([GREP])
8192 ])
8193
8194
8195 # _LT_DECL_OBJDUMP
8196 # --------------
8197 # If we don't have a new enough Autoconf to choose the best objdump
8198 # available, choose the one first in the user's PATH.
8199 m4_defun([_LT_DECL_OBJDUMP],
8200 [AC_CHECK_TOOL(OBJDUMP, objdump, false)
8201 test -z "$OBJDUMP" && OBJDUMP=objdump
8202 _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
8203 AC_SUBST([OBJDUMP])
8204 ])
8205
8206 # _LT_DECL_DLLTOOL
8207 # ----------------
8208 # Ensure DLLTOOL variable is set.
8209 m4_defun([_LT_DECL_DLLTOOL],
8210 [AC_CHECK_TOOL(DLLTOOL, dlltool, false)
8211 test -z "$DLLTOOL" && DLLTOOL=dlltool
8212 _LT_DECL([], [DLLTOOL], [1], [DLL creation program])
8213 AC_SUBST([DLLTOOL])
8214 ])
8215
8216 # _LT_DECL_SED
8217 # ------------
8218 # Check for a fully-functional sed program, that truncates
8219 # as few characters as possible. Prefer GNU sed if found.
8220 m4_defun([_LT_DECL_SED],
8221 [AC_PROG_SED
8222 test -z "$SED" && SED=sed
8223 Xsed="$SED -e 1s/^X//"
8224 _LT_DECL([], [SED], [1], [A sed program that does not truncate output])
8225 _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
8226 [Sed that helps us avoid accidentally triggering echo(1) options like -n])
8227 ])# _LT_DECL_SED
8228
8229 m4_ifndef([AC_PROG_SED], [
8230 ############################################################
8231 # NOTE: This macro has been submitted for inclusion into #
8232 # GNU Autoconf as AC_PROG_SED. When it is available in #
8233 # a released version of Autoconf we should remove this #
8234 # macro and use it instead. #
8235 ############################################################
8236
8237 m4_defun([AC_PROG_SED],
8238 [AC_MSG_CHECKING([for a sed that does not truncate output])
8239 AC_CACHE_VAL(lt_cv_path_SED,
8240 [# Loop through the user's path and test for sed and gsed.
8241 # Then use that list of sed's as ones to test for truncation.
8242 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8243 for as_dir in $PATH
8244 do
8245 IFS=$as_save_IFS
8246 test -z "$as_dir" && as_dir=.
8247 for lt_ac_prog in sed gsed; do
8248 for ac_exec_ext in '' $ac_executable_extensions; do
8249 if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
8250 lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
8251 fi
8252 done
8253 done
8254 done
8255 IFS=$as_save_IFS
8256 lt_ac_max=0
8257 lt_ac_count=0
8258 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
8259 # along with /bin/sed that truncates output.
8260 for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
8261 test ! -f "$lt_ac_sed" && continue
8262 cat /dev/null > conftest.in
8263 lt_ac_count=0
8264 echo $ECHO_N "0123456789$ECHO_C" >conftest.in
8265 # Check for GNU sed and select it if it is found.
8266 if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
8267 lt_cv_path_SED=$lt_ac_sed
8268 break
8269 fi
8270 while true; do
8271 cat conftest.in conftest.in >conftest.tmp
8272 mv conftest.tmp conftest.in
8273 cp conftest.in conftest.nl
8274 echo >>conftest.nl
8275 $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
8276 cmp -s conftest.out conftest.nl || break
8277 # 10000 chars as input seems more than enough
8278 test 10 -lt "$lt_ac_count" && break
8279 lt_ac_count=`expr $lt_ac_count + 1`
8280 if test "$lt_ac_count" -gt "$lt_ac_max"; then
8281 lt_ac_max=$lt_ac_count
8282 lt_cv_path_SED=$lt_ac_sed
8283 fi
8284 done
8285 done
8286 ])
8287 SED=$lt_cv_path_SED
8288 AC_SUBST([SED])
8289 AC_MSG_RESULT([$SED])
8290 ])#AC_PROG_SED
8291 ])#m4_ifndef
8292
8293 # Old name:
8294 AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
8295 dnl aclocal-1.4 backwards compatibility:
8296 dnl AC_DEFUN([LT_AC_PROG_SED], [])
8297
8298
8299 # _LT_CHECK_SHELL_FEATURES
8300 # ------------------------
8301 # Find out whether the shell is Bourne or XSI compatible,
8302 # or has some other useful features.
8303 m4_defun([_LT_CHECK_SHELL_FEATURES],
8304 [if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
8305 lt_unset=unset
8306 else
8307 lt_unset=false
8308 fi
8309 _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
8310
8311 # test EBCDIC or ASCII
8312 case `echo X|tr X '\101'` in
8313 A) # ASCII based system
8314 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
8315 lt_SP2NL='tr \040 \012'
8316 lt_NL2SP='tr \015\012 \040\040'
8317 ;;
8318 *) # EBCDIC based system
8319 lt_SP2NL='tr \100 \n'
8320 lt_NL2SP='tr \r\n \100\100'
8321 ;;
8322 esac
8323 _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
8324 _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
8325 ])# _LT_CHECK_SHELL_FEATURES
8326
8327
8328 # _LT_PATH_CONVERSION_FUNCTIONS
8329 # -----------------------------
8330 # Determine what file name conversion functions should be used by
8331 # func_to_host_file (and, implicitly, by func_to_host_path). These are needed
8332 # for certain cross-compile configurations and native mingw.
8333 m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
8334 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
8335 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
8336 AC_MSG_CHECKING([how to convert $build file names to $host format])
8337 AC_CACHE_VAL(lt_cv_to_host_file_cmd,
8338 [case $host in
8339 *-*-mingw* )
8340 case $build in
8341 *-*-mingw* ) # actually msys
8342 lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
8343 ;;
8344 *-*-cygwin* )
8345 lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
8346 ;;
8347 * ) # otherwise, assume *nix
8348 lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
8349 ;;
8350 esac
8351 ;;
8352 *-*-cygwin* )
8353 case $build in
8354 *-*-mingw* ) # actually msys
8355 lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
8356 ;;
8357 *-*-cygwin* )
8358 lt_cv_to_host_file_cmd=func_convert_file_noop
8359 ;;
8360 * ) # otherwise, assume *nix
8361 lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
8362 ;;
8363 esac
8364 ;;
8365 * ) # unhandled hosts (and "normal" native builds)
8366 lt_cv_to_host_file_cmd=func_convert_file_noop
8367 ;;
8368 esac
8369 ])
8370 to_host_file_cmd=$lt_cv_to_host_file_cmd
8371 AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
8372 _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
8373 [0], [convert $build file names to $host format])dnl
8374
8375 AC_MSG_CHECKING([how to convert $build file names to toolchain format])
8376 AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
8377 [#assume ordinary cross tools, or native build.
8378 lt_cv_to_tool_file_cmd=func_convert_file_noop
8379 case $host in
8380 *-*-mingw* )
8381 case $build in
8382 *-*-mingw* ) # actually msys
8383 lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
8384 ;;
8385 esac
8386 ;;
8387 esac
8388 ])
8389 to_tool_file_cmd=$lt_cv_to_tool_file_cmd
8390 AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
8391 _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
8392 [0], [convert $build files to toolchain format])dnl
8393 ])# _LT_PATH_CONVERSION_FUNCTIONS
0 # Helper functions for option handling. -*- Autoconf -*-
1 #
2 # Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
3 # Foundation, Inc.
4 # Written by Gary V. Vaughan, 2004
5 #
6 # This file is free software; the Free Software Foundation gives
7 # unlimited permission to copy and/or distribute it, with or without
8 # modifications, as long as this notice is preserved.
9
10 # serial 8 ltoptions.m4
11
12 # This is to help aclocal find these macros, as it can't see m4_define.
13 AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
14
15
16 # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
17 # ------------------------------------------
18 m4_define([_LT_MANGLE_OPTION],
19 [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
20
21
22 # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
23 # ---------------------------------------
24 # Set option OPTION-NAME for macro MACRO-NAME, and if there is a
25 # matching handler defined, dispatch to it. Other OPTION-NAMEs are
26 # saved as a flag.
27 m4_define([_LT_SET_OPTION],
28 [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
29 m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
30 _LT_MANGLE_DEFUN([$1], [$2]),
31 [m4_warning([Unknown $1 option '$2'])])[]dnl
32 ])
33
34
35 # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
36 # ------------------------------------------------------------
37 # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
38 m4_define([_LT_IF_OPTION],
39 [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
40
41
42 # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
43 # -------------------------------------------------------
44 # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
45 # are set.
46 m4_define([_LT_UNLESS_OPTIONS],
47 [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
48 [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
49 [m4_define([$0_found])])])[]dnl
50 m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
51 ])[]dnl
52 ])
53
54
55 # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
56 # ----------------------------------------
57 # OPTION-LIST is a space-separated list of Libtool options associated
58 # with MACRO-NAME. If any OPTION has a matching handler declared with
59 # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
60 # the unknown option and exit.
61 m4_defun([_LT_SET_OPTIONS],
62 [# Set options
63 m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
64 [_LT_SET_OPTION([$1], _LT_Option)])
65
66 m4_if([$1],[LT_INIT],[
67 dnl
68 dnl Simply set some default values (i.e off) if boolean options were not
69 dnl specified:
70 _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
71 ])
72 _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
73 ])
74 dnl
75 dnl If no reference was made to various pairs of opposing options, then
76 dnl we run the default mode handler for the pair. For example, if neither
77 dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
78 dnl archives by default:
79 _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
80 _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
81 _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
82 _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
83 [_LT_ENABLE_FAST_INSTALL])
84 _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
85 [_LT_WITH_AIX_SONAME([aix])])
86 ])
87 ])# _LT_SET_OPTIONS
88
89
90 ## --------------------------------- ##
91 ## Macros to handle LT_INIT options. ##
92 ## --------------------------------- ##
93
94 # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
95 # -----------------------------------------
96 m4_define([_LT_MANGLE_DEFUN],
97 [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
98
99
100 # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
101 # -----------------------------------------------
102 m4_define([LT_OPTION_DEFINE],
103 [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
104 ])# LT_OPTION_DEFINE
105
106
107 # dlopen
108 # ------
109 LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
110 ])
111
112 AU_DEFUN([AC_LIBTOOL_DLOPEN],
113 [_LT_SET_OPTION([LT_INIT], [dlopen])
114 AC_DIAGNOSE([obsolete],
115 [$0: Remove this warning and the call to _LT_SET_OPTION when you
116 put the 'dlopen' option into LT_INIT's first parameter.])
117 ])
118
119 dnl aclocal-1.4 backwards compatibility:
120 dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
121
122
123 # win32-dll
124 # ---------
125 # Declare package support for building win32 dll's.
126 LT_OPTION_DEFINE([LT_INIT], [win32-dll],
127 [enable_win32_dll=yes
128
129 case $host in
130 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
131 AC_CHECK_TOOL(AS, as, false)
132 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
133 AC_CHECK_TOOL(OBJDUMP, objdump, false)
134 ;;
135 esac
136
137 test -z "$AS" && AS=as
138 _LT_DECL([], [AS], [1], [Assembler program])dnl
139
140 test -z "$DLLTOOL" && DLLTOOL=dlltool
141 _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
142
143 test -z "$OBJDUMP" && OBJDUMP=objdump
144 _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
145 ])# win32-dll
146
147 AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
148 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
149 _LT_SET_OPTION([LT_INIT], [win32-dll])
150 AC_DIAGNOSE([obsolete],
151 [$0: Remove this warning and the call to _LT_SET_OPTION when you
152 put the 'win32-dll' option into LT_INIT's first parameter.])
153 ])
154
155 dnl aclocal-1.4 backwards compatibility:
156 dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
157
158
159 # _LT_ENABLE_SHARED([DEFAULT])
160 # ----------------------------
161 # implement the --enable-shared flag, and supports the 'shared' and
162 # 'disable-shared' LT_INIT options.
163 # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
164 m4_define([_LT_ENABLE_SHARED],
165 [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
166 AC_ARG_ENABLE([shared],
167 [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
168 [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
169 [p=${PACKAGE-default}
170 case $enableval in
171 yes) enable_shared=yes ;;
172 no) enable_shared=no ;;
173 *)
174 enable_shared=no
175 # Look at the argument we got. We use all the common list separators.
176 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
177 for pkg in $enableval; do
178 IFS=$lt_save_ifs
179 if test "X$pkg" = "X$p"; then
180 enable_shared=yes
181 fi
182 done
183 IFS=$lt_save_ifs
184 ;;
185 esac],
186 [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
187
188 _LT_DECL([build_libtool_libs], [enable_shared], [0],
189 [Whether or not to build shared libraries])
190 ])# _LT_ENABLE_SHARED
191
192 LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
193 LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
194
195 # Old names:
196 AC_DEFUN([AC_ENABLE_SHARED],
197 [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
198 ])
199
200 AC_DEFUN([AC_DISABLE_SHARED],
201 [_LT_SET_OPTION([LT_INIT], [disable-shared])
202 ])
203
204 AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
205 AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
206
207 dnl aclocal-1.4 backwards compatibility:
208 dnl AC_DEFUN([AM_ENABLE_SHARED], [])
209 dnl AC_DEFUN([AM_DISABLE_SHARED], [])
210
211
212
213 # _LT_ENABLE_STATIC([DEFAULT])
214 # ----------------------------
215 # implement the --enable-static flag, and support the 'static' and
216 # 'disable-static' LT_INIT options.
217 # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
218 m4_define([_LT_ENABLE_STATIC],
219 [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
220 AC_ARG_ENABLE([static],
221 [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
222 [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
223 [p=${PACKAGE-default}
224 case $enableval in
225 yes) enable_static=yes ;;
226 no) enable_static=no ;;
227 *)
228 enable_static=no
229 # Look at the argument we got. We use all the common list separators.
230 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
231 for pkg in $enableval; do
232 IFS=$lt_save_ifs
233 if test "X$pkg" = "X$p"; then
234 enable_static=yes
235 fi
236 done
237 IFS=$lt_save_ifs
238 ;;
239 esac],
240 [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
241
242 _LT_DECL([build_old_libs], [enable_static], [0],
243 [Whether or not to build static libraries])
244 ])# _LT_ENABLE_STATIC
245
246 LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
247 LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
248
249 # Old names:
250 AC_DEFUN([AC_ENABLE_STATIC],
251 [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
252 ])
253
254 AC_DEFUN([AC_DISABLE_STATIC],
255 [_LT_SET_OPTION([LT_INIT], [disable-static])
256 ])
257
258 AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
259 AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
260
261 dnl aclocal-1.4 backwards compatibility:
262 dnl AC_DEFUN([AM_ENABLE_STATIC], [])
263 dnl AC_DEFUN([AM_DISABLE_STATIC], [])
264
265
266
267 # _LT_ENABLE_FAST_INSTALL([DEFAULT])
268 # ----------------------------------
269 # implement the --enable-fast-install flag, and support the 'fast-install'
270 # and 'disable-fast-install' LT_INIT options.
271 # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
272 m4_define([_LT_ENABLE_FAST_INSTALL],
273 [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
274 AC_ARG_ENABLE([fast-install],
275 [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
276 [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
277 [p=${PACKAGE-default}
278 case $enableval in
279 yes) enable_fast_install=yes ;;
280 no) enable_fast_install=no ;;
281 *)
282 enable_fast_install=no
283 # Look at the argument we got. We use all the common list separators.
284 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
285 for pkg in $enableval; do
286 IFS=$lt_save_ifs
287 if test "X$pkg" = "X$p"; then
288 enable_fast_install=yes
289 fi
290 done
291 IFS=$lt_save_ifs
292 ;;
293 esac],
294 [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
295
296 _LT_DECL([fast_install], [enable_fast_install], [0],
297 [Whether or not to optimize for fast installation])dnl
298 ])# _LT_ENABLE_FAST_INSTALL
299
300 LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
301 LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
302
303 # Old names:
304 AU_DEFUN([AC_ENABLE_FAST_INSTALL],
305 [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
306 AC_DIAGNOSE([obsolete],
307 [$0: Remove this warning and the call to _LT_SET_OPTION when you put
308 the 'fast-install' option into LT_INIT's first parameter.])
309 ])
310
311 AU_DEFUN([AC_DISABLE_FAST_INSTALL],
312 [_LT_SET_OPTION([LT_INIT], [disable-fast-install])
313 AC_DIAGNOSE([obsolete],
314 [$0: Remove this warning and the call to _LT_SET_OPTION when you put
315 the 'disable-fast-install' option into LT_INIT's first parameter.])
316 ])
317
318 dnl aclocal-1.4 backwards compatibility:
319 dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
320 dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
321
322
323 # _LT_WITH_AIX_SONAME([DEFAULT])
324 # ----------------------------------
325 # implement the --with-aix-soname flag, and support the `aix-soname=aix'
326 # and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
327 # is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
328 m4_define([_LT_WITH_AIX_SONAME],
329 [m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
330 shared_archive_member_spec=
331 case $host,$enable_shared in
332 power*-*-aix[[5-9]]*,yes)
333 AC_MSG_CHECKING([which variant of shared library versioning to provide])
334 AC_ARG_WITH([aix-soname],
335 [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
336 [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
337 [case $withval in
338 aix|svr4|both)
339 ;;
340 *)
341 AC_MSG_ERROR([Unknown argument to --with-aix-soname])
342 ;;
343 esac
344 lt_cv_with_aix_soname=$with_aix_soname],
345 [AC_CACHE_VAL([lt_cv_with_aix_soname],
346 [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
347 with_aix_soname=$lt_cv_with_aix_soname])
348 AC_MSG_RESULT([$with_aix_soname])
349 if test aix != "$with_aix_soname"; then
350 # For the AIX way of multilib, we name the shared archive member
351 # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
352 # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
353 # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
354 # the AIX toolchain works better with OBJECT_MODE set (default 32).
355 if test 64 = "${OBJECT_MODE-32}"; then
356 shared_archive_member_spec=shr_64
357 else
358 shared_archive_member_spec=shr
359 fi
360 fi
361 ;;
362 *)
363 with_aix_soname=aix
364 ;;
365 esac
366
367 _LT_DECL([], [shared_archive_member_spec], [0],
368 [Shared archive member basename, for filename based shared library versioning on AIX])dnl
369 ])# _LT_WITH_AIX_SONAME
370
371 LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
372 LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
373 LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
374
375
376 # _LT_WITH_PIC([MODE])
377 # --------------------
378 # implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
379 # LT_INIT options.
380 # MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
381 m4_define([_LT_WITH_PIC],
382 [AC_ARG_WITH([pic],
383 [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
384 [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
385 [lt_p=${PACKAGE-default}
386 case $withval in
387 yes|no) pic_mode=$withval ;;
388 *)
389 pic_mode=default
390 # Look at the argument we got. We use all the common list separators.
391 lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
392 for lt_pkg in $withval; do
393 IFS=$lt_save_ifs
394 if test "X$lt_pkg" = "X$lt_p"; then
395 pic_mode=yes
396 fi
397 done
398 IFS=$lt_save_ifs
399 ;;
400 esac],
401 [pic_mode=m4_default([$1], [default])])
402
403 _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
404 ])# _LT_WITH_PIC
405
406 LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
407 LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
408
409 # Old name:
410 AU_DEFUN([AC_LIBTOOL_PICMODE],
411 [_LT_SET_OPTION([LT_INIT], [pic-only])
412 AC_DIAGNOSE([obsolete],
413 [$0: Remove this warning and the call to _LT_SET_OPTION when you
414 put the 'pic-only' option into LT_INIT's first parameter.])
415 ])
416
417 dnl aclocal-1.4 backwards compatibility:
418 dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
419
420 ## ----------------- ##
421 ## LTDL_INIT Options ##
422 ## ----------------- ##
423
424 m4_define([_LTDL_MODE], [])
425 LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
426 [m4_define([_LTDL_MODE], [nonrecursive])])
427 LT_OPTION_DEFINE([LTDL_INIT], [recursive],
428 [m4_define([_LTDL_MODE], [recursive])])
429 LT_OPTION_DEFINE([LTDL_INIT], [subproject],
430 [m4_define([_LTDL_MODE], [subproject])])
431
432 m4_define([_LTDL_TYPE], [])
433 LT_OPTION_DEFINE([LTDL_INIT], [installable],
434 [m4_define([_LTDL_TYPE], [installable])])
435 LT_OPTION_DEFINE([LTDL_INIT], [convenience],
436 [m4_define([_LTDL_TYPE], [convenience])])
0 # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
1 #
2 # Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
3 # Foundation, Inc.
4 # Written by Gary V. Vaughan, 2004
5 #
6 # This file is free software; the Free Software Foundation gives
7 # unlimited permission to copy and/or distribute it, with or without
8 # modifications, as long as this notice is preserved.
9
10 # serial 6 ltsugar.m4
11
12 # This is to help aclocal find these macros, as it can't see m4_define.
13 AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
14
15
16 # lt_join(SEP, ARG1, [ARG2...])
17 # -----------------------------
18 # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
19 # associated separator.
20 # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
21 # versions in m4sugar had bugs.
22 m4_define([lt_join],
23 [m4_if([$#], [1], [],
24 [$#], [2], [[$2]],
25 [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
26 m4_define([_lt_join],
27 [m4_if([$#$2], [2], [],
28 [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
29
30
31 # lt_car(LIST)
32 # lt_cdr(LIST)
33 # ------------
34 # Manipulate m4 lists.
35 # These macros are necessary as long as will still need to support
36 # Autoconf-2.59, which quotes differently.
37 m4_define([lt_car], [[$1]])
38 m4_define([lt_cdr],
39 [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
40 [$#], 1, [],
41 [m4_dquote(m4_shift($@))])])
42 m4_define([lt_unquote], $1)
43
44
45 # lt_append(MACRO-NAME, STRING, [SEPARATOR])
46 # ------------------------------------------
47 # Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
48 # Note that neither SEPARATOR nor STRING are expanded; they are appended
49 # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
50 # No SEPARATOR is output if MACRO-NAME was previously undefined (different
51 # than defined and empty).
52 #
53 # This macro is needed until we can rely on Autoconf 2.62, since earlier
54 # versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
55 m4_define([lt_append],
56 [m4_define([$1],
57 m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
58
59
60
61 # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
62 # ----------------------------------------------------------
63 # Produce a SEP delimited list of all paired combinations of elements of
64 # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
65 # has the form PREFIXmINFIXSUFFIXn.
66 # Needed until we can rely on m4_combine added in Autoconf 2.62.
67 m4_define([lt_combine],
68 [m4_if(m4_eval([$# > 3]), [1],
69 [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
70 [[m4_foreach([_Lt_prefix], [$2],
71 [m4_foreach([_Lt_suffix],
72 ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
73 [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
74
75
76 # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
77 # -----------------------------------------------------------------------
78 # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
79 # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
80 m4_define([lt_if_append_uniq],
81 [m4_ifdef([$1],
82 [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
83 [lt_append([$1], [$2], [$3])$4],
84 [$5])],
85 [lt_append([$1], [$2], [$3])$4])])
86
87
88 # lt_dict_add(DICT, KEY, VALUE)
89 # -----------------------------
90 m4_define([lt_dict_add],
91 [m4_define([$1($2)], [$3])])
92
93
94 # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
95 # --------------------------------------------
96 m4_define([lt_dict_add_subkey],
97 [m4_define([$1($2:$3)], [$4])])
98
99
100 # lt_dict_fetch(DICT, KEY, [SUBKEY])
101 # ----------------------------------
102 m4_define([lt_dict_fetch],
103 [m4_ifval([$3],
104 m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
105 m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
106
107
108 # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
109 # -----------------------------------------------------------------
110 m4_define([lt_if_dict_fetch],
111 [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
112 [$5],
113 [$6])])
114
115
116 # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
117 # --------------------------------------------------------------
118 m4_define([lt_dict_filter],
119 [m4_if([$5], [], [],
120 [lt_join(m4_quote(m4_default([$4], [[, ]])),
121 lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
122 [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
123 ])
0 # ltversion.m4 -- version numbers -*- Autoconf -*-
1 #
2 # Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
3 # Written by Scott James Remnant, 2004
4 #
5 # This file is free software; the Free Software Foundation gives
6 # unlimited permission to copy and/or distribute it, with or without
7 # modifications, as long as this notice is preserved.
8
9 # @configure_input@
10
11 # serial 4179 ltversion.m4
12 # This file is part of GNU Libtool
13
14 m4_define([LT_PACKAGE_VERSION], [2.4.6])
15 m4_define([LT_PACKAGE_REVISION], [2.4.6])
16
17 AC_DEFUN([LTVERSION_VERSION],
18 [macro_version='2.4.6'
19 macro_revision='2.4.6'
20 _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
21 _LT_DECL(, macro_revision, 0)
22 ])
0 # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
1 #
2 # Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
3 # Foundation, Inc.
4 # Written by Scott James Remnant, 2004.
5 #
6 # This file is free software; the Free Software Foundation gives
7 # unlimited permission to copy and/or distribute it, with or without
8 # modifications, as long as this notice is preserved.
9
10 # serial 5 lt~obsolete.m4
11
12 # These exist entirely to fool aclocal when bootstrapping libtool.
13 #
14 # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
15 # which have later been changed to m4_define as they aren't part of the
16 # exported API, or moved to Autoconf or Automake where they belong.
17 #
18 # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
19 # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
20 # using a macro with the same name in our local m4/libtool.m4 it'll
21 # pull the old libtool.m4 in (it doesn't see our shiny new m4_define
22 # and doesn't know about Autoconf macros at all.)
23 #
24 # So we provide this file, which has a silly filename so it's always
25 # included after everything else. This provides aclocal with the
26 # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
27 # because those macros already exist, or will be overwritten later.
28 # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
29 #
30 # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
31 # Yes, that means every name once taken will need to remain here until
32 # we give up compatibility with versions before 1.7, at which point
33 # we need to keep only those names which we still refer to.
34
35 # This is to help aclocal find these macros, as it can't see m4_define.
36 AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
37
38 m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
39 m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
40 m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
41 m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
42 m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
43 m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
44 m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
45 m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
46 m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
47 m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
48 m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
49 m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
50 m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
51 m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
52 m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
53 m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
54 m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
55 m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
56 m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
57 m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
58 m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
59 m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
60 m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
61 m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
62 m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
63 m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
64 m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
65 m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
66 m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
67 m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
68 m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
69 m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
70 m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
71 m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
72 m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
73 m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
74 m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
75 m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
76 m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
77 m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
78 m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
79 m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
80 m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
81 m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
82 m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
83 m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
84 m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
85 m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
86 m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
87 m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
88 m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
89 m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
90 m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
91 m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
92 m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
93 m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
94 m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
95 m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
96 m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
97 m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
98 m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
0 #! /bin/sh
1 # Common wrapper for a few potentially missing GNU programs.
2
3 scriptversion=2018-03-07.03; # UTC
4
5 # Copyright (C) 1996-2020 Free Software Foundation, Inc.
6 # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
7
8 # This program is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2, or (at your option)
11 # any later version.
12
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
17
18 # You should have received a copy of the GNU General Public License
19 # along with this program. If not, see <https://www.gnu.org/licenses/>.
20
21 # As a special exception to the GNU General Public License, if you
22 # distribute this file as part of a program that contains a
23 # configuration script generated by Autoconf, you may include it under
24 # the same distribution terms that you use for the rest of that program.
25
26 if test $# -eq 0; then
27 echo 1>&2 "Try '$0 --help' for more information"
28 exit 1
29 fi
30
31 case $1 in
32
33 --is-lightweight)
34 # Used by our autoconf macros to check whether the available missing
35 # script is modern enough.
36 exit 0
37 ;;
38
39 --run)
40 # Back-compat with the calling convention used by older automake.
41 shift
42 ;;
43
44 -h|--h|--he|--hel|--help)
45 echo "\
46 $0 [OPTION]... PROGRAM [ARGUMENT]...
47
48 Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
49 to PROGRAM being missing or too old.
50
51 Options:
52 -h, --help display this help and exit
53 -v, --version output version information and exit
54
55 Supported PROGRAM values:
56 aclocal autoconf autoheader autom4te automake makeinfo
57 bison yacc flex lex help2man
58
59 Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
60 'g' are ignored when checking the name.
61
62 Send bug reports to <bug-automake@gnu.org>."
63 exit $?
64 ;;
65
66 -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
67 echo "missing $scriptversion (GNU Automake)"
68 exit $?
69 ;;
70
71 -*)
72 echo 1>&2 "$0: unknown '$1' option"
73 echo 1>&2 "Try '$0 --help' for more information"
74 exit 1
75 ;;
76
77 esac
78
79 # Run the given program, remember its exit status.
80 "$@"; st=$?
81
82 # If it succeeded, we are done.
83 test $st -eq 0 && exit 0
84
85 # Also exit now if we it failed (or wasn't found), and '--version' was
86 # passed; such an option is passed most likely to detect whether the
87 # program is present and works.
88 case $2 in --version|--help) exit $st;; esac
89
90 # Exit code 63 means version mismatch. This often happens when the user
91 # tries to use an ancient version of a tool on a file that requires a
92 # minimum version.
93 if test $st -eq 63; then
94 msg="probably too old"
95 elif test $st -eq 127; then
96 # Program was missing.
97 msg="missing on your system"
98 else
99 # Program was found and executed, but failed. Give up.
100 exit $st
101 fi
102
103 perl_URL=https://www.perl.org/
104 flex_URL=https://github.com/westes/flex
105 gnu_software_URL=https://www.gnu.org/software
106
107 program_details ()
108 {
109 case $1 in
110 aclocal|automake)
111 echo "The '$1' program is part of the GNU Automake package:"
112 echo "<$gnu_software_URL/automake>"
113 echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
114 echo "<$gnu_software_URL/autoconf>"
115 echo "<$gnu_software_URL/m4/>"
116 echo "<$perl_URL>"
117 ;;
118 autoconf|autom4te|autoheader)
119 echo "The '$1' program is part of the GNU Autoconf package:"
120 echo "<$gnu_software_URL/autoconf/>"
121 echo "It also requires GNU m4 and Perl in order to run:"
122 echo "<$gnu_software_URL/m4/>"
123 echo "<$perl_URL>"
124 ;;
125 esac
126 }
127
128 give_advice ()
129 {
130 # Normalize program name to check for.
131 normalized_program=`echo "$1" | sed '
132 s/^gnu-//; t
133 s/^gnu//; t
134 s/^g//; t'`
135
136 printf '%s\n' "'$1' is $msg."
137
138 configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
139 case $normalized_program in
140 autoconf*)
141 echo "You should only need it if you modified 'configure.ac',"
142 echo "or m4 files included by it."
143 program_details 'autoconf'
144 ;;
145 autoheader*)
146 echo "You should only need it if you modified 'acconfig.h' or"
147 echo "$configure_deps."
148 program_details 'autoheader'
149 ;;
150 automake*)
151 echo "You should only need it if you modified 'Makefile.am' or"
152 echo "$configure_deps."
153 program_details 'automake'
154 ;;
155 aclocal*)
156 echo "You should only need it if you modified 'acinclude.m4' or"
157 echo "$configure_deps."
158 program_details 'aclocal'
159 ;;
160 autom4te*)
161 echo "You might have modified some maintainer files that require"
162 echo "the 'autom4te' program to be rebuilt."
163 program_details 'autom4te'
164 ;;
165 bison*|yacc*)
166 echo "You should only need it if you modified a '.y' file."
167 echo "You may want to install the GNU Bison package:"
168 echo "<$gnu_software_URL/bison/>"
169 ;;
170 lex*|flex*)
171 echo "You should only need it if you modified a '.l' file."
172 echo "You may want to install the Fast Lexical Analyzer package:"
173 echo "<$flex_URL>"
174 ;;
175 help2man*)
176 echo "You should only need it if you modified a dependency" \
177 "of a man page."
178 echo "You may want to install the GNU Help2man package:"
179 echo "<$gnu_software_URL/help2man/>"
180 ;;
181 makeinfo*)
182 echo "You should only need it if you modified a '.texi' file, or"
183 echo "any other file indirectly affecting the aspect of the manual."
184 echo "You might want to install the Texinfo package:"
185 echo "<$gnu_software_URL/texinfo/>"
186 echo "The spurious makeinfo call might also be the consequence of"
187 echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
188 echo "want to install GNU make:"
189 echo "<$gnu_software_URL/make/>"
190 ;;
191 *)
192 echo "You might have modified some files without having the proper"
193 echo "tools for further handling them. Check the 'README' file, it"
194 echo "often tells you about the needed prerequisites for installing"
195 echo "this package. You may also peek at any GNU archive site, in"
196 echo "case some other package contains this missing '$1' program."
197 ;;
198 esac
199 }
200
201 give_advice "$1" | sed -e '1s/^/WARNING: /' \
202 -e '2,$s/^/ /' >&2
203
204 # Propagate the correct exit status (expected to be 127 for a program
205 # not found, 63 for a program that failed due to version mismatch).
206 exit $st
207
208 # Local variables:
209 # eval: (add-hook 'before-save-hook 'time-stamp)
210 # time-stamp-start: "scriptversion="
211 # time-stamp-format: "%:y-%02m-%02d.%02H"
212 # time-stamp-time-zone: "UTC0"
213 # time-stamp-end: "; # UTC"
214 # End:
0 # Makefile.in generated by automake 1.16.3 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2020 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15 VPATH = @srcdir@
16 am__is_gnu_make = { \
17 if test -z '$(MAKELEVEL)'; then \
18 false; \
19 elif test -n '$(MAKE_HOST)'; then \
20 true; \
21 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
22 true; \
23 else \
24 false; \
25 fi; \
26 }
27 am__make_running_with_option = \
28 case $${target_option-} in \
29 ?) ;; \
30 *) echo "am__make_running_with_option: internal error: invalid" \
31 "target option '$${target_option-}' specified" >&2; \
32 exit 1;; \
33 esac; \
34 has_opt=no; \
35 sane_makeflags=$$MAKEFLAGS; \
36 if $(am__is_gnu_make); then \
37 sane_makeflags=$$MFLAGS; \
38 else \
39 case $$MAKEFLAGS in \
40 *\\[\ \ ]*) \
41 bs=\\; \
42 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
43 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
44 esac; \
45 fi; \
46 skip_next=no; \
47 strip_trailopt () \
48 { \
49 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
50 }; \
51 for flg in $$sane_makeflags; do \
52 test $$skip_next = yes && { skip_next=no; continue; }; \
53 case $$flg in \
54 *=*|--*) continue;; \
55 -*I) strip_trailopt 'I'; skip_next=yes;; \
56 -*I?*) strip_trailopt 'I';; \
57 -*O) strip_trailopt 'O'; skip_next=yes;; \
58 -*O?*) strip_trailopt 'O';; \
59 -*l) strip_trailopt 'l'; skip_next=yes;; \
60 -*l?*) strip_trailopt 'l';; \
61 -[dEDm]) skip_next=yes;; \
62 -[JT]) skip_next=yes;; \
63 esac; \
64 case $$flg in \
65 *$$target_option*) has_opt=yes; break;; \
66 esac; \
67 done; \
68 test $$has_opt = yes
69 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
70 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
71 pkgdatadir = $(datadir)/@PACKAGE@
72 pkgincludedir = $(includedir)/@PACKAGE@
73 pkglibdir = $(libdir)/@PACKAGE@
74 pkglibexecdir = $(libexecdir)/@PACKAGE@
75 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
76 install_sh_DATA = $(install_sh) -c -m 644
77 install_sh_PROGRAM = $(install_sh) -c
78 install_sh_SCRIPT = $(install_sh) -c
79 INSTALL_HEADER = $(INSTALL_DATA)
80 transform = $(program_transform_name)
81 NORMAL_INSTALL = :
82 PRE_INSTALL = :
83 POST_INSTALL = :
84 NORMAL_UNINSTALL = :
85 PRE_UNINSTALL = :
86 POST_UNINSTALL = :
87 build_triplet = @build@
88 host_triplet = @host@
89 check_PROGRAMS = test_all$(EXEEXT) test_fuzz$(EXEEXT)
90 TESTS = test_all$(EXEEXT)
91 subdir = test
92 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
93 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
94 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
95 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
96 $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
97 $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
98 $(top_srcdir)/configure.ac
99 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
100 $(ACLOCAL_M4)
101 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
102 mkinstalldirs = $(install_sh) -d
103 CONFIG_HEADER = $(top_builddir)/htp_config_auto_gen.h
104 CONFIG_CLEAN_FILES =
105 CONFIG_CLEAN_VPATH_FILES =
106 ARFLAGS = cru
107 AM_V_AR = $(am__v_AR_@AM_V@)
108 am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
109 am__v_AR_0 = @echo " AR " $@;
110 am__v_AR_1 =
111 libgtest_a_AR = $(AR) $(ARFLAGS)
112 libgtest_a_LIBADD =
113 am__dirstamp = $(am__leading_dot)dirstamp
114 am_libgtest_a_OBJECTS = gtest/gtest-all.$(OBJEXT) \
115 gtest/gtest_main.$(OBJEXT)
116 libgtest_a_OBJECTS = $(am_libgtest_a_OBJECTS)
117 am_test_all_OBJECTS = test_bstr.$(OBJEXT) test_gunzip.$(OBJEXT) \
118 test_hybrid.$(OBJEXT) test_main.$(OBJEXT) \
119 test_multipart.$(OBJEXT) test.$(OBJEXT) test_utils.$(OBJEXT) \
120 test_bench.$(OBJEXT)
121 test_all_OBJECTS = $(am_test_all_OBJECTS)
122 am__DEPENDENCIES_1 = $(top_builddir)/htp/libhtp.la
123 test_all_DEPENDENCIES = libgtest.a $(am__DEPENDENCIES_1)
124 AM_V_lt = $(am__v_lt_@AM_V@)
125 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
126 am__v_lt_0 = --silent
127 am__v_lt_1 =
128 am_test_fuzz_OBJECTS = fuzz/onefile.$(OBJEXT) fuzz/fuzz_htp.$(OBJEXT) \
129 test.$(OBJEXT)
130 test_fuzz_OBJECTS = $(am_test_fuzz_OBJECTS)
131 test_fuzz_DEPENDENCIES = $(am__DEPENDENCIES_1)
132 AM_V_P = $(am__v_P_@AM_V@)
133 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
134 am__v_P_0 = false
135 am__v_P_1 = :
136 AM_V_GEN = $(am__v_GEN_@AM_V@)
137 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
138 am__v_GEN_0 = @echo " GEN " $@;
139 am__v_GEN_1 =
140 AM_V_at = $(am__v_at_@AM_V@)
141 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
142 am__v_at_0 = @
143 am__v_at_1 =
144 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
145 depcomp = $(SHELL) $(top_srcdir)/depcomp
146 am__maybe_remake_depfiles = depfiles
147 am__depfiles_remade = ./$(DEPDIR)/test.Po ./$(DEPDIR)/test_bench.Po \
148 ./$(DEPDIR)/test_bstr.Po ./$(DEPDIR)/test_gunzip.Po \
149 ./$(DEPDIR)/test_hybrid.Po ./$(DEPDIR)/test_main.Po \
150 ./$(DEPDIR)/test_multipart.Po ./$(DEPDIR)/test_utils.Po \
151 fuzz/$(DEPDIR)/fuzz_htp.Po fuzz/$(DEPDIR)/onefile.Po \
152 gtest/$(DEPDIR)/gtest-all.Po gtest/$(DEPDIR)/gtest_main.Po
153 am__mv = mv -f
154 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
155 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
156 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
157 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
158 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
159 $(AM_CFLAGS) $(CFLAGS)
160 AM_V_CC = $(am__v_CC_@AM_V@)
161 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
162 am__v_CC_0 = @echo " CC " $@;
163 am__v_CC_1 =
164 CCLD = $(CC)
165 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
166 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
167 $(AM_LDFLAGS) $(LDFLAGS) -o $@
168 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
169 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
170 am__v_CCLD_0 = @echo " CCLD " $@;
171 am__v_CCLD_1 =
172 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
173 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
174 LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
175 $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
176 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
177 $(AM_CXXFLAGS) $(CXXFLAGS)
178 AM_V_CXX = $(am__v_CXX_@AM_V@)
179 am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
180 am__v_CXX_0 = @echo " CXX " $@;
181 am__v_CXX_1 =
182 CXXLD = $(CXX)
183 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
184 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
185 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
186 AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
187 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
188 am__v_CXXLD_0 = @echo " CXXLD " $@;
189 am__v_CXXLD_1 =
190 SOURCES = $(libgtest_a_SOURCES) $(test_all_SOURCES) \
191 $(test_fuzz_SOURCES)
192 DIST_SOURCES = $(libgtest_a_SOURCES) $(test_all_SOURCES) \
193 $(test_fuzz_SOURCES)
194 am__can_run_installinfo = \
195 case $$AM_UPDATE_INFO_DIR in \
196 n|no|NO) false;; \
197 *) (install-info --version) >/dev/null 2>&1;; \
198 esac
199 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
200 # Read a list of newline-separated strings from the standard input,
201 # and print each of them once, without duplicates. Input order is
202 # *not* preserved.
203 am__uniquify_input = $(AWK) '\
204 BEGIN { nonempty = 0; } \
205 { items[$$0] = 1; nonempty = 1; } \
206 END { if (nonempty) { for (i in items) print i; }; } \
207 '
208 # Make sure the list of sources is unique. This is necessary because,
209 # e.g., the same source file might be shared among _SOURCES variables
210 # for different programs/libraries.
211 am__define_uniq_tagged_files = \
212 list='$(am__tagged_files)'; \
213 unique=`for i in $$list; do \
214 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
215 done | $(am__uniquify_input)`
216 ETAGS = etags
217 CTAGS = ctags
218 am__tty_colors_dummy = \
219 mgn= red= grn= lgn= blu= brg= std=; \
220 am__color_tests=no
221 am__tty_colors = { \
222 $(am__tty_colors_dummy); \
223 if test "X$(AM_COLOR_TESTS)" = Xno; then \
224 am__color_tests=no; \
225 elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
226 am__color_tests=yes; \
227 elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
228 am__color_tests=yes; \
229 fi; \
230 if test $$am__color_tests = yes; then \
231 red=''; \
232 grn=''; \
233 lgn=''; \
234 blu=''; \
235 mgn=''; \
236 brg=''; \
237 std=''; \
238 fi; \
239 }
240 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
241 am__vpath_adj = case $$p in \
242 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
243 *) f=$$p;; \
244 esac;
245 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
246 am__install_max = 40
247 am__nobase_strip_setup = \
248 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
249 am__nobase_strip = \
250 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
251 am__nobase_list = $(am__nobase_strip_setup); \
252 for p in $$list; do echo "$$p $$p"; done | \
253 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
254 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
255 if (++n[$$2] == $(am__install_max)) \
256 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
257 END { for (dir in files) print dir, files[dir] }'
258 am__base_list = \
259 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
260 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
261 am__uninstall_files_from_dir = { \
262 test -z "$$files" \
263 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
264 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
265 $(am__cd) "$$dir" && rm -f $$files; }; \
266 }
267 am__recheck_rx = ^[ ]*:recheck:[ ]*
268 am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
269 am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
270 # A command that, given a newline-separated list of test names on the
271 # standard input, print the name of the tests that are to be re-run
272 # upon "make recheck".
273 am__list_recheck_tests = $(AWK) '{ \
274 recheck = 1; \
275 while ((rc = (getline line < ($$0 ".trs"))) != 0) \
276 { \
277 if (rc < 0) \
278 { \
279 if ((getline line2 < ($$0 ".log")) < 0) \
280 recheck = 0; \
281 break; \
282 } \
283 else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
284 { \
285 recheck = 0; \
286 break; \
287 } \
288 else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
289 { \
290 break; \
291 } \
292 }; \
293 if (recheck) \
294 print $$0; \
295 close ($$0 ".trs"); \
296 close ($$0 ".log"); \
297 }'
298 # A command that, given a newline-separated list of test names on the
299 # standard input, create the global log from their .trs and .log files.
300 am__create_global_log = $(AWK) ' \
301 function fatal(msg) \
302 { \
303 print "fatal: making $@: " msg | "cat >&2"; \
304 exit 1; \
305 } \
306 function rst_section(header) \
307 { \
308 print header; \
309 len = length(header); \
310 for (i = 1; i <= len; i = i + 1) \
311 printf "="; \
312 printf "\n\n"; \
313 } \
314 { \
315 copy_in_global_log = 1; \
316 global_test_result = "RUN"; \
317 while ((rc = (getline line < ($$0 ".trs"))) != 0) \
318 { \
319 if (rc < 0) \
320 fatal("failed to read from " $$0 ".trs"); \
321 if (line ~ /$(am__global_test_result_rx)/) \
322 { \
323 sub("$(am__global_test_result_rx)", "", line); \
324 sub("[ ]*$$", "", line); \
325 global_test_result = line; \
326 } \
327 else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
328 copy_in_global_log = 0; \
329 }; \
330 if (copy_in_global_log) \
331 { \
332 rst_section(global_test_result ": " $$0); \
333 while ((rc = (getline line < ($$0 ".log"))) != 0) \
334 { \
335 if (rc < 0) \
336 fatal("failed to read from " $$0 ".log"); \
337 print line; \
338 }; \
339 printf "\n"; \
340 }; \
341 close ($$0 ".trs"); \
342 close ($$0 ".log"); \
343 }'
344 # Restructured Text title.
345 am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
346 # Solaris 10 'make', and several other traditional 'make' implementations,
347 # pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
348 # by disabling -e (using the XSI extension "set +e") if it's set.
349 am__sh_e_setup = case $$- in *e*) set +e;; esac
350 # Default flags passed to test drivers.
351 am__common_driver_flags = \
352 --color-tests "$$am__color_tests" \
353 --enable-hard-errors "$$am__enable_hard_errors" \
354 --expect-failure "$$am__expect_failure"
355 # To be inserted before the command running the test. Creates the
356 # directory for the log if needed. Stores in $dir the directory
357 # containing $f, in $tst the test, in $log the log. Executes the
358 # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
359 # passes TESTS_ENVIRONMENT. Set up options for the wrapper that
360 # will run the test scripts (or their associated LOG_COMPILER, if
361 # thy have one).
362 am__check_pre = \
363 $(am__sh_e_setup); \
364 $(am__vpath_adj_setup) $(am__vpath_adj) \
365 $(am__tty_colors); \
366 srcdir=$(srcdir); export srcdir; \
367 case "$@" in \
368 */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
369 *) am__odir=.;; \
370 esac; \
371 test "x$$am__odir" = x"." || test -d "$$am__odir" \
372 || $(MKDIR_P) "$$am__odir" || exit $$?; \
373 if test -f "./$$f"; then dir=./; \
374 elif test -f "$$f"; then dir=; \
375 else dir="$(srcdir)/"; fi; \
376 tst=$$dir$$f; log='$@'; \
377 if test -n '$(DISABLE_HARD_ERRORS)'; then \
378 am__enable_hard_errors=no; \
379 else \
380 am__enable_hard_errors=yes; \
381 fi; \
382 case " $(XFAIL_TESTS) " in \
383 *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
384 am__expect_failure=yes;; \
385 *) \
386 am__expect_failure=no;; \
387 esac; \
388 $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
389 # A shell command to get the names of the tests scripts with any registered
390 # extension removed (i.e., equivalently, the names of the test logs, with
391 # the '.log' extension removed). The result is saved in the shell variable
392 # '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
393 # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
394 # since that might cause problem with VPATH rewrites for suffix-less tests.
395 # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
396 am__set_TESTS_bases = \
397 bases='$(TEST_LOGS)'; \
398 bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
399 bases=`echo $$bases`
400 AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)'
401 RECHECK_LOGS = $(TEST_LOGS)
402 AM_RECURSIVE_TARGETS = check recheck
403 TEST_SUITE_LOG = test-suite.log
404 TEST_EXTENSIONS = @EXEEXT@ .test
405 LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
406 LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
407 am__set_b = \
408 case '$@' in \
409 */*) \
410 case '$*' in \
411 */*) b='$*';; \
412 *) b=`echo '$@' | sed 's/\.log$$//'`; \
413 esac;; \
414 *) \
415 b='$*';; \
416 esac
417 am__test_logs1 = $(TESTS:=.log)
418 am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
419 TEST_LOGS = $(am__test_logs2:.test.log=.log)
420 TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
421 TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
422 $(TEST_LOG_FLAGS)
423 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \
424 $(top_srcdir)/test-driver
425 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
426 ACLOCAL = @ACLOCAL@
427 AMTAR = @AMTAR@
428 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
429 AR = @AR@
430 AUTOCONF = @AUTOCONF@
431 AUTOHEADER = @AUTOHEADER@
432 AUTOMAKE = @AUTOMAKE@
433 AWK = @AWK@
434 CC = @CC@
435 CCDEPMODE = @CCDEPMODE@
436 CFLAGS = @CFLAGS@
437 CPP = @CPP@
438 CPPFLAGS = @CPPFLAGS@
439 CXX = @CXX@
440 CXXCPP = @CXXCPP@
441 CXXDEPMODE = @CXXDEPMODE@
442 CXXFLAGS = @CXXFLAGS@
443 CYGPATH_W = @CYGPATH_W@
444 DEFS = @DEFS@
445 DEPDIR = @DEPDIR@
446 DLLTOOL = @DLLTOOL@
447 DOXYGEN = @DOXYGEN@
448 DSYMUTIL = @DSYMUTIL@
449 DUMPBIN = @DUMPBIN@
450 ECHO_C = @ECHO_C@
451 ECHO_N = @ECHO_N@
452 ECHO_T = @ECHO_T@
453 EGREP = @EGREP@
454 EXEEXT = @EXEEXT@
455 FGREP = @FGREP@
456 GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@
457 GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
458 GENERIC_RELEASE = @GENERIC_RELEASE@
459 GENERIC_VERSION = @GENERIC_VERSION@
460 GREP = @GREP@
461 INSTALL = @INSTALL@
462 INSTALL_DATA = @INSTALL_DATA@
463 INSTALL_PROGRAM = @INSTALL_PROGRAM@
464 INSTALL_SCRIPT = @INSTALL_SCRIPT@
465 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
466 LCOV = @LCOV@
467 LD = @LD@
468 LDFLAGS = @LDFLAGS@
469 LIBICONV = @LIBICONV@
470 LIBOBJS = @LIBOBJS@
471 LIBS = @LIBS@
472 LIBTOOL = @LIBTOOL@
473 LIPO = @LIPO@
474 LN_S = @LN_S@
475 LTLIBICONV = @LTLIBICONV@
476 LTLIBOBJS = @LTLIBOBJS@
477 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
478 MAKEINFO = @MAKEINFO@
479 MANIFEST_TOOL = @MANIFEST_TOOL@
480 MKDIR_P = @MKDIR_P@
481 NM = @NM@
482 NMEDIT = @NMEDIT@
483 OBJDUMP = @OBJDUMP@
484 OBJEXT = @OBJEXT@
485 OTOOL = @OTOOL@
486 OTOOL64 = @OTOOL64@
487 PACKAGE = @PACKAGE@
488 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
489 PACKAGE_NAME = @PACKAGE_NAME@
490 PACKAGE_STRING = @PACKAGE_STRING@
491 PACKAGE_TARNAME = @PACKAGE_TARNAME@
492 PACKAGE_URL = @PACKAGE_URL@
493 PACKAGE_VERSION = @PACKAGE_VERSION@
494 PATH_SEPARATOR = @PATH_SEPARATOR@
495 RANLIB = @RANLIB@
496 SED = @SED@
497 SET_MAKE = @SET_MAKE@
498 SHELL = @SHELL@
499 STRIP = @STRIP@
500 VERSION = @VERSION@
501 abs_builddir = @abs_builddir@
502 abs_srcdir = @abs_srcdir@
503 abs_top_builddir = @abs_top_builddir@
504 abs_top_srcdir = @abs_top_srcdir@
505 ac_ct_AR = @ac_ct_AR@
506 ac_ct_CC = @ac_ct_CC@
507 ac_ct_CXX = @ac_ct_CXX@
508 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
509 am__include = @am__include@
510 am__leading_dot = @am__leading_dot@
511 am__quote = @am__quote@
512 am__tar = @am__tar@
513 am__untar = @am__untar@
514 bindir = @bindir@
515 build = @build@
516 build_alias = @build_alias@
517 build_cpu = @build_cpu@
518 build_os = @build_os@
519 build_vendor = @build_vendor@
520 builddir = @builddir@
521 datadir = @datadir@
522 datarootdir = @datarootdir@
523 docdir = @docdir@
524 doxygen = @doxygen@
525 dvidir = @dvidir@
526 exec_prefix = @exec_prefix@
527 host = @host@
528 host_alias = @host_alias@
529 host_cpu = @host_cpu@
530 host_os = @host_os@
531 host_vendor = @host_vendor@
532 htmldir = @htmldir@
533 includedir = @includedir@
534 infodir = @infodir@
535 install_sh = @install_sh@
536 libdir = @libdir@
537 libexecdir = @libexecdir@
538 localedir = @localedir@
539 localstatedir = @localstatedir@
540 mandir = @mandir@
541 mkdir_p = @mkdir_p@
542 oldincludedir = @oldincludedir@
543 pdfdir = @pdfdir@
544 prefix = @prefix@
545 program_transform_name = @program_transform_name@
546 psdir = @psdir@
547 runstatedir = @runstatedir@
548 sbindir = @sbindir@
549 sharedstatedir = @sharedstatedir@
550 srcdir = @srcdir@
551 sysconfdir = @sysconfdir@
552 target_alias = @target_alias@
553 top_build_prefix = @top_build_prefix@
554 top_builddir = @top_builddir@
555 top_srcdir = @top_srcdir@
556 LDADD = $(top_builddir)/htp/libhtp.la -lz @LIBICONV@
557 AM_CFLAGS = -D_GNU_SOURCE -g -Wall -Wextra -std=gnu99 -pedantic \
558 -Wextra -Wno-missing-field-initializers -Wshadow -Wpointer-arith \
559 -Wstrict-prototypes -Wmissing-prototypes -Wno-unused-parameter
560
561 AM_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir)/htp -Wno-write-strings -DGTEST_USE_OWN_TR1_TUPLE=1 \
562 -D_GNU_SOURCE -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare
563
564 AUTOMAKE_OPTIONS = subdir-objects
565 EXTRA_DIST = files
566 check_LIBRARIES = libgtest.a
567 test_all_SOURCES = test_bstr.cpp test_gunzip.cpp test_hybrid.cpp test_main.cpp test_multipart.cpp test.c test.h test_utils.cpp test_bench.cpp
568 test_all_LDADD = libgtest.a -lpthread $(LDADD)
569 test_fuzz_SOURCES = fuzz/onefile.c fuzz/fuzz_htp.c fuzz/fuzz_htp.h test.c
570 test_fuzz_LDADD = $(LDADD)
571 libgtest_a_SOURCES = gtest/gtest-all.cc gtest/gtest_main.cc gtest/gtest.h
572 TESTS_ENVIRONMENT = srcdir=$(srcdir)/files
573 all: all-am
574
575 .SUFFIXES:
576 .SUFFIXES: .c .cc .cpp .lo .log .o .obj .test .test$(EXEEXT) .trs
577 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
578 @for dep in $?; do \
579 case '$(am__configure_deps)' in \
580 *$$dep*) \
581 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
582 && { if test -f $@; then exit 0; else break; fi; }; \
583 exit 1;; \
584 esac; \
585 done; \
586 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \
587 $(am__cd) $(top_srcdir) && \
588 $(AUTOMAKE) --gnu test/Makefile
589 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
590 @case '$?' in \
591 *config.status*) \
592 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
593 *) \
594 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
595 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
596 esac;
597
598 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
599 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
600
601 $(top_srcdir)/configure: $(am__configure_deps)
602 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
603 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
604 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
605 $(am__aclocal_m4_deps):
606
607 clean-checkPROGRAMS:
608 @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
609 echo " rm -f" $$list; \
610 rm -f $$list || exit $$?; \
611 test -n "$(EXEEXT)" || exit 0; \
612 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
613 echo " rm -f" $$list; \
614 rm -f $$list
615
616 clean-checkLIBRARIES:
617 -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
618 gtest/$(am__dirstamp):
619 @$(MKDIR_P) gtest
620 @: > gtest/$(am__dirstamp)
621 gtest/$(DEPDIR)/$(am__dirstamp):
622 @$(MKDIR_P) gtest/$(DEPDIR)
623 @: > gtest/$(DEPDIR)/$(am__dirstamp)
624 gtest/gtest-all.$(OBJEXT): gtest/$(am__dirstamp) \
625 gtest/$(DEPDIR)/$(am__dirstamp)
626 gtest/gtest_main.$(OBJEXT): gtest/$(am__dirstamp) \
627 gtest/$(DEPDIR)/$(am__dirstamp)
628
629 libgtest.a: $(libgtest_a_OBJECTS) $(libgtest_a_DEPENDENCIES) $(EXTRA_libgtest_a_DEPENDENCIES)
630 $(AM_V_at)-rm -f libgtest.a
631 $(AM_V_AR)$(libgtest_a_AR) libgtest.a $(libgtest_a_OBJECTS) $(libgtest_a_LIBADD)
632 $(AM_V_at)$(RANLIB) libgtest.a
633
634 test_all$(EXEEXT): $(test_all_OBJECTS) $(test_all_DEPENDENCIES) $(EXTRA_test_all_DEPENDENCIES)
635 @rm -f test_all$(EXEEXT)
636 $(AM_V_CXXLD)$(CXXLINK) $(test_all_OBJECTS) $(test_all_LDADD) $(LIBS)
637 fuzz/$(am__dirstamp):
638 @$(MKDIR_P) fuzz
639 @: > fuzz/$(am__dirstamp)
640 fuzz/$(DEPDIR)/$(am__dirstamp):
641 @$(MKDIR_P) fuzz/$(DEPDIR)
642 @: > fuzz/$(DEPDIR)/$(am__dirstamp)
643 fuzz/onefile.$(OBJEXT): fuzz/$(am__dirstamp) \
644 fuzz/$(DEPDIR)/$(am__dirstamp)
645 fuzz/fuzz_htp.$(OBJEXT): fuzz/$(am__dirstamp) \
646 fuzz/$(DEPDIR)/$(am__dirstamp)
647
648 test_fuzz$(EXEEXT): $(test_fuzz_OBJECTS) $(test_fuzz_DEPENDENCIES) $(EXTRA_test_fuzz_DEPENDENCIES)
649 @rm -f test_fuzz$(EXEEXT)
650 $(AM_V_CCLD)$(LINK) $(test_fuzz_OBJECTS) $(test_fuzz_LDADD) $(LIBS)
651
652 mostlyclean-compile:
653 -rm -f *.$(OBJEXT)
654 -rm -f fuzz/*.$(OBJEXT)
655 -rm -f gtest/*.$(OBJEXT)
656
657 distclean-compile:
658 -rm -f *.tab.c
659
660 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test.Po@am__quote@ # am--include-marker
661 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_bench.Po@am__quote@ # am--include-marker
662 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_bstr.Po@am__quote@ # am--include-marker
663 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_gunzip.Po@am__quote@ # am--include-marker
664 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_hybrid.Po@am__quote@ # am--include-marker
665 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_main.Po@am__quote@ # am--include-marker
666 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_multipart.Po@am__quote@ # am--include-marker
667 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_utils.Po@am__quote@ # am--include-marker
668 @AMDEP_TRUE@@am__include@ @am__quote@fuzz/$(DEPDIR)/fuzz_htp.Po@am__quote@ # am--include-marker
669 @AMDEP_TRUE@@am__include@ @am__quote@fuzz/$(DEPDIR)/onefile.Po@am__quote@ # am--include-marker
670 @AMDEP_TRUE@@am__include@ @am__quote@gtest/$(DEPDIR)/gtest-all.Po@am__quote@ # am--include-marker
671 @AMDEP_TRUE@@am__include@ @am__quote@gtest/$(DEPDIR)/gtest_main.Po@am__quote@ # am--include-marker
672
673 $(am__depfiles_remade):
674 @$(MKDIR_P) $(@D)
675 @echo '# dummy' >$@-t && $(am__mv) $@-t $@
676
677 am--depfiles: $(am__depfiles_remade)
678
679 .c.o:
680 @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
681 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
682 @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
683 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
684 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
685 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
686
687 .c.obj:
688 @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
689 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
690 @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
691 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
692 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
693 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
694
695 .c.lo:
696 @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
697 @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
698 @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
699 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
700 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
701 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
702
703 .cc.o:
704 @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
705 @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
706 @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
707 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
708 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
709 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
710
711 .cc.obj:
712 @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
713 @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
714 @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
715 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
716 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
717 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
718
719 .cc.lo:
720 @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
721 @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
722 @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
723 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
724 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
725 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
726
727 .cpp.o:
728 @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
729 @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
730 @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
731 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
732 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
733 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
734
735 .cpp.obj:
736 @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
737 @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
738 @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
739 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
740 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
741 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
742
743 .cpp.lo:
744 @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
745 @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
746 @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
747 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
748 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
749 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
750
751 mostlyclean-libtool:
752 -rm -f *.lo
753
754 clean-libtool:
755 -rm -rf .libs _libs
756
757 ID: $(am__tagged_files)
758 $(am__define_uniq_tagged_files); mkid -fID $$unique
759 tags: tags-am
760 TAGS: tags
761
762 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
763 set x; \
764 here=`pwd`; \
765 $(am__define_uniq_tagged_files); \
766 shift; \
767 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
768 test -n "$$unique" || unique=$$empty_fix; \
769 if test $$# -gt 0; then \
770 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
771 "$$@" $$unique; \
772 else \
773 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
774 $$unique; \
775 fi; \
776 fi
777 ctags: ctags-am
778
779 CTAGS: ctags
780 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
781 $(am__define_uniq_tagged_files); \
782 test -z "$(CTAGS_ARGS)$$unique" \
783 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
784 $$unique
785
786 GTAGS:
787 here=`$(am__cd) $(top_builddir) && pwd` \
788 && $(am__cd) $(top_srcdir) \
789 && gtags -i $(GTAGS_ARGS) "$$here"
790 cscopelist: cscopelist-am
791
792 cscopelist-am: $(am__tagged_files)
793 list='$(am__tagged_files)'; \
794 case "$(srcdir)" in \
795 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
796 *) sdir=$(subdir)/$(srcdir) ;; \
797 esac; \
798 for i in $$list; do \
799 if test -f "$$i"; then \
800 echo "$(subdir)/$$i"; \
801 else \
802 echo "$$sdir/$$i"; \
803 fi; \
804 done >> $(top_builddir)/cscope.files
805
806 distclean-tags:
807 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
808
809 # Recover from deleted '.trs' file; this should ensure that
810 # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
811 # both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
812 # to avoid problems with "make -n".
813 .log.trs:
814 rm -f $< $@
815 $(MAKE) $(AM_MAKEFLAGS) $<
816
817 # Leading 'am--fnord' is there to ensure the list of targets does not
818 # expand to empty, as could happen e.g. with make check TESTS=''.
819 am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
820 am--force-recheck:
821 @:
822
823 $(TEST_SUITE_LOG): $(TEST_LOGS)
824 @$(am__set_TESTS_bases); \
825 am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
826 redo_bases=`for i in $$bases; do \
827 am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
828 done`; \
829 if test -n "$$redo_bases"; then \
830 redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
831 redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
832 if $(am__make_dryrun); then :; else \
833 rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
834 fi; \
835 fi; \
836 if test -n "$$am__remaking_logs"; then \
837 echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
838 "recursion detected" >&2; \
839 elif test -n "$$redo_logs"; then \
840 am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
841 fi; \
842 if $(am__make_dryrun); then :; else \
843 st=0; \
844 errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
845 for i in $$redo_bases; do \
846 test -f $$i.trs && test -r $$i.trs \
847 || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
848 test -f $$i.log && test -r $$i.log \
849 || { echo "$$errmsg $$i.log" >&2; st=1; }; \
850 done; \
851 test $$st -eq 0 || exit 1; \
852 fi
853 @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
854 ws='[ ]'; \
855 results=`for b in $$bases; do echo $$b.trs; done`; \
856 test -n "$$results" || results=/dev/null; \
857 all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
858 pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
859 fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
860 skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
861 xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
862 xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
863 error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
864 if test `expr $$fail + $$xpass + $$error` -eq 0; then \
865 success=true; \
866 else \
867 success=false; \
868 fi; \
869 br='==================='; br=$$br$$br$$br$$br; \
870 result_count () \
871 { \
872 if test x"$$1" = x"--maybe-color"; then \
873 maybe_colorize=yes; \
874 elif test x"$$1" = x"--no-color"; then \
875 maybe_colorize=no; \
876 else \
877 echo "$@: invalid 'result_count' usage" >&2; exit 4; \
878 fi; \
879 shift; \
880 desc=$$1 count=$$2; \
881 if test $$maybe_colorize = yes && test $$count -gt 0; then \
882 color_start=$$3 color_end=$$std; \
883 else \
884 color_start= color_end=; \
885 fi; \
886 echo "$${color_start}# $$desc $$count$${color_end}"; \
887 }; \
888 create_testsuite_report () \
889 { \
890 result_count $$1 "TOTAL:" $$all "$$brg"; \
891 result_count $$1 "PASS: " $$pass "$$grn"; \
892 result_count $$1 "SKIP: " $$skip "$$blu"; \
893 result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
894 result_count $$1 "FAIL: " $$fail "$$red"; \
895 result_count $$1 "XPASS:" $$xpass "$$red"; \
896 result_count $$1 "ERROR:" $$error "$$mgn"; \
897 }; \
898 { \
899 echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
900 $(am__rst_title); \
901 create_testsuite_report --no-color; \
902 echo; \
903 echo ".. contents:: :depth: 2"; \
904 echo; \
905 for b in $$bases; do echo $$b; done \
906 | $(am__create_global_log); \
907 } >$(TEST_SUITE_LOG).tmp || exit 1; \
908 mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
909 if $$success; then \
910 col="$$grn"; \
911 else \
912 col="$$red"; \
913 test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
914 fi; \
915 echo "$${col}$$br$${std}"; \
916 echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \
917 echo "$${col}$$br$${std}"; \
918 create_testsuite_report --maybe-color; \
919 echo "$$col$$br$$std"; \
920 if $$success; then :; else \
921 echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
922 if test -n "$(PACKAGE_BUGREPORT)"; then \
923 echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
924 fi; \
925 echo "$$col$$br$$std"; \
926 fi; \
927 $$success || exit 1
928
929 check-TESTS: $(check_PROGRAMS) $(check_LIBRARIES)
930 @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
931 @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
932 @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
933 @set +e; $(am__set_TESTS_bases); \
934 log_list=`for i in $$bases; do echo $$i.log; done`; \
935 trs_list=`for i in $$bases; do echo $$i.trs; done`; \
936 log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
937 $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
938 exit $$?;
939 recheck: all $(check_PROGRAMS) $(check_LIBRARIES)
940 @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
941 @set +e; $(am__set_TESTS_bases); \
942 bases=`for i in $$bases; do echo $$i; done \
943 | $(am__list_recheck_tests)` || exit 1; \
944 log_list=`for i in $$bases; do echo $$i.log; done`; \
945 log_list=`echo $$log_list`; \
946 $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
947 am__force_recheck=am--force-recheck \
948 TEST_LOGS="$$log_list"; \
949 exit $$?
950 test_all.log: test_all$(EXEEXT)
951 @p='test_all$(EXEEXT)'; \
952 b='test_all'; \
953 $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
954 --log-file $$b.log --trs-file $$b.trs \
955 $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
956 "$$tst" $(AM_TESTS_FD_REDIRECT)
957 .test.log:
958 @p='$<'; \
959 $(am__set_b); \
960 $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
961 --log-file $$b.log --trs-file $$b.trs \
962 $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
963 "$$tst" $(AM_TESTS_FD_REDIRECT)
964 @am__EXEEXT_TRUE@.test$(EXEEXT).log:
965 @am__EXEEXT_TRUE@ @p='$<'; \
966 @am__EXEEXT_TRUE@ $(am__set_b); \
967 @am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
968 @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \
969 @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
970 @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
971
972 distdir: $(BUILT_SOURCES)
973 $(MAKE) $(AM_MAKEFLAGS) distdir-am
974
975 distdir-am: $(DISTFILES)
976 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
977 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
978 list='$(DISTFILES)'; \
979 dist_files=`for file in $$list; do echo $$file; done | \
980 sed -e "s|^$$srcdirstrip/||;t" \
981 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
982 case $$dist_files in \
983 */*) $(MKDIR_P) `echo "$$dist_files" | \
984 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
985 sort -u` ;; \
986 esac; \
987 for file in $$dist_files; do \
988 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
989 if test -d $$d/$$file; then \
990 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
991 if test -d "$(distdir)/$$file"; then \
992 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
993 fi; \
994 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
995 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
996 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
997 fi; \
998 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
999 else \
1000 test -f "$(distdir)/$$file" \
1001 || cp -p $$d/$$file "$(distdir)/$$file" \
1002 || exit 1; \
1003 fi; \
1004 done
1005 check-am: all-am
1006 $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_LIBRARIES)
1007 $(MAKE) $(AM_MAKEFLAGS) check-TESTS
1008 check: check-am
1009 all-am: Makefile
1010 installdirs:
1011 install: install-am
1012 install-exec: install-exec-am
1013 install-data: install-data-am
1014 uninstall: uninstall-am
1015
1016 install-am: all-am
1017 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
1018
1019 installcheck: installcheck-am
1020 install-strip:
1021 if test -z '$(STRIP)'; then \
1022 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
1023 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
1024 install; \
1025 else \
1026 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
1027 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
1028 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
1029 fi
1030 mostlyclean-generic:
1031 -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
1032 -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
1033 -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
1034
1035 clean-generic:
1036
1037 distclean-generic:
1038 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
1039 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
1040 -rm -f fuzz/$(DEPDIR)/$(am__dirstamp)
1041 -rm -f fuzz/$(am__dirstamp)
1042 -rm -f gtest/$(DEPDIR)/$(am__dirstamp)
1043 -rm -f gtest/$(am__dirstamp)
1044
1045 maintainer-clean-generic:
1046 @echo "This command is intended for maintainers to use"
1047 @echo "it deletes files that may require special tools to rebuild."
1048 clean: clean-am
1049
1050 clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
1051 clean-libtool mostlyclean-am
1052
1053 distclean: distclean-am
1054 -rm -f ./$(DEPDIR)/test.Po
1055 -rm -f ./$(DEPDIR)/test_bench.Po
1056 -rm -f ./$(DEPDIR)/test_bstr.Po
1057 -rm -f ./$(DEPDIR)/test_gunzip.Po
1058 -rm -f ./$(DEPDIR)/test_hybrid.Po
1059 -rm -f ./$(DEPDIR)/test_main.Po
1060 -rm -f ./$(DEPDIR)/test_multipart.Po
1061 -rm -f ./$(DEPDIR)/test_utils.Po
1062 -rm -f fuzz/$(DEPDIR)/fuzz_htp.Po
1063 -rm -f fuzz/$(DEPDIR)/onefile.Po
1064 -rm -f gtest/$(DEPDIR)/gtest-all.Po
1065 -rm -f gtest/$(DEPDIR)/gtest_main.Po
1066 -rm -f Makefile
1067 distclean-am: clean-am distclean-compile distclean-generic \
1068 distclean-tags
1069
1070 dvi: dvi-am
1071
1072 dvi-am:
1073
1074 html: html-am
1075
1076 html-am:
1077
1078 info: info-am
1079
1080 info-am:
1081
1082 install-data-am:
1083
1084 install-dvi: install-dvi-am
1085
1086 install-dvi-am:
1087
1088 install-exec-am:
1089
1090 install-html: install-html-am
1091
1092 install-html-am:
1093
1094 install-info: install-info-am
1095
1096 install-info-am:
1097
1098 install-man:
1099
1100 install-pdf: install-pdf-am
1101
1102 install-pdf-am:
1103
1104 install-ps: install-ps-am
1105
1106 install-ps-am:
1107
1108 installcheck-am:
1109
1110 maintainer-clean: maintainer-clean-am
1111 -rm -f ./$(DEPDIR)/test.Po
1112 -rm -f ./$(DEPDIR)/test_bench.Po
1113 -rm -f ./$(DEPDIR)/test_bstr.Po
1114 -rm -f ./$(DEPDIR)/test_gunzip.Po
1115 -rm -f ./$(DEPDIR)/test_hybrid.Po
1116 -rm -f ./$(DEPDIR)/test_main.Po
1117 -rm -f ./$(DEPDIR)/test_multipart.Po
1118 -rm -f ./$(DEPDIR)/test_utils.Po
1119 -rm -f fuzz/$(DEPDIR)/fuzz_htp.Po
1120 -rm -f fuzz/$(DEPDIR)/onefile.Po
1121 -rm -f gtest/$(DEPDIR)/gtest-all.Po
1122 -rm -f gtest/$(DEPDIR)/gtest_main.Po
1123 -rm -f Makefile
1124 maintainer-clean-am: distclean-am maintainer-clean-generic
1125
1126 mostlyclean: mostlyclean-am
1127
1128 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
1129 mostlyclean-libtool
1130
1131 pdf: pdf-am
1132
1133 pdf-am:
1134
1135 ps: ps-am
1136
1137 ps-am:
1138
1139 uninstall-am:
1140
1141 .MAKE: check-am install-am install-strip
1142
1143 .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \
1144 check-am clean clean-checkLIBRARIES clean-checkPROGRAMS \
1145 clean-generic clean-libtool cscopelist-am ctags ctags-am \
1146 distclean distclean-compile distclean-generic \
1147 distclean-libtool distclean-tags distdir dvi dvi-am html \
1148 html-am info info-am install install-am install-data \
1149 install-data-am install-dvi install-dvi-am install-exec \
1150 install-exec-am install-html install-html-am install-info \
1151 install-info-am install-man install-pdf install-pdf-am \
1152 install-ps install-ps-am install-strip installcheck \
1153 installcheck-am installdirs maintainer-clean \
1154 maintainer-clean-generic mostlyclean mostlyclean-compile \
1155 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
1156 recheck tags tags-am uninstall uninstall-am
1157
1158 .PRECIOUS: Makefile
1159
1160
1161 test: check
1162 @echo
1163
1164 test-compile-only: all-am
1165 $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES)
1166 $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
1167
1168 check-compile-only: all-am
1169 $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES)
1170 $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
1171
1172 # Tell versions [3.59,3.63) of GNU make to not export all variables.
1173 # Otherwise a system limit (for SysV at least) may be exceeded.
1174 .NOEXPORT:
6767 static int HTPCallbackRequestBodyData(htp_tx_data_t *tx_data)
6868 {
6969 fprintf(logfile, "HTPCallbackRequestBodyData %"PRIuMAX"\n", (uintmax_t)tx_data->len);
70 if (tx_data->len > 0) {
70 if (tx_data->len > 0 && tx_data->data != NULL) {
7171 fprintf(logfile, "HTPCallbackRequestBodyData %x %x\n", tx_data->data[0], tx_data->data[(uintmax_t)tx_data->len-1]);
7272 }
7373 return 0;
7676 static int HTPCallbackResponseBodyData(htp_tx_data_t *tx_data)
7777 {
7878 fprintf(logfile, "HTPCallbackResponseBodyData %"PRIuMAX"\n", (uintmax_t)tx_data->len);
79 if (tx_data->len > 0) {
79 if (tx_data->len > 0 && tx_data->data != NULL) {
8080 fprintf(logfile, "HTPCallbackResponseBodyData %x %x\n", tx_data->data[0], tx_data->data[(uintmax_t)tx_data->len-1]);
8181 }
8282 return 0;
200200 }
201201 } else {
202202 if (out_data_other) {
203 rc = htp_connp_res_data(connp, NULL, out_data + out_data_offset, out_data_len - out_data_offset);
203 if (out_data == NULL) {
204 rc = htp_connp_res_data(connp, NULL, NULL, out_data_len - out_data_offset);
205 } else {
206 rc = htp_connp_res_data(connp, NULL, out_data + out_data_offset, out_data_len - out_data_offset);
207 }
204208 if (rc == HTP_STREAM_ERROR) {
205209 break;
206210 }
219223 out_data_offset = htp_connp_res_data_consumed(connp);
220224 }
221225 if (in_data_other) {
222 rc = htp_connp_req_data(connp, NULL, in_data + in_data_offset, in_data_len - in_data_offset);
226 if (in_data == NULL) {
227 rc = htp_connp_req_data(connp, NULL, NULL, in_data_len - in_data_offset);
228 } else {
229 rc = htp_connp_req_data(connp, NULL, in_data + in_data_offset, in_data_len - in_data_offset);
230 }
223231 if (rc == HTP_STREAM_ERROR) {
224232 break;
225233 }
228236 }
229237 }
230238 if (out_data_other) {
231 htp_connp_res_data(connp, NULL, out_data + out_data_offset, out_data_len - out_data_offset);
239 if (out_data == NULL) {
240 (void) htp_connp_res_data(connp, NULL, NULL, out_data_len - out_data_offset);
241 } else {
242 (void) htp_connp_res_data(connp, NULL, out_data + out_data_offset, out_data_len - out_data_offset);
243 }
232244 }
233245
234246 htp_connp_close(connp, NULL);
+0
-802
test/main.c less more
0 /***************************************************************************
1 * Copyright (c) 2009-2010 Open Information Security Foundation
2 * Copyright (c) 2010-2013 Qualys, Inc.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met:
8 *
9 * - Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11
12 * - Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15
16 * - Neither the name of the Qualys, Inc. nor the names of its
17 * contributors may be used to endorse or promote products derived from
18 * this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 ***************************************************************************/
32
33 /**
34 * @file
35 * @author Ivan Ristic <ivanr@webkreator.com>
36 */
37
38 #include <dirent.h>
39 #include <stdio.h>
40 #include <stdlib.h>
41 #include <sys/time.h>
42 #include <sys/types.h>
43 #include <unistd.h>
44 #include <time.h>
45
46 #include "../htp/bstr.h"
47 #include "../htp/htp.h"
48 #include "test.h"
49
50 char *home = NULL;
51
52 int callback_transaction_start(htp_connp_t *connp) {
53 printf("-- Callback: transaction_start\n");
54 }
55
56 int callback_request_line(htp_connp_t *connp) {
57 printf("-- Callback: request_line\n");
58 }
59
60 int callback_request_headers(htp_connp_t *connp) {
61 printf("-- Callback: request_headers\n");
62 bstr *raw = htp_tx_get_request_headers_raw(connp->in_tx);
63 fprint_raw_data(stdout, "REQUEST HEADERS RAW 1", bstr_ptr(raw), bstr_len(raw));
64 }
65
66 int callback_request_body_data(htp_tx_data_t *d) {
67 /*
68 if (d->data != NULL) {
69 printf("-- Callback: request_body_data\n");
70 fprint_raw_data(stdout, __FUNCTION__, d->data, d->len);
71 } else {
72 printf("-- Callback: request_body_data (LAST)\n");
73 }
74 */
75 }
76
77 int callback_request_trailer(htp_connp_t *connp) {
78 printf("-- Callback: request_trailer\n");
79 }
80
81 int callback_request(htp_connp_t *connp) {
82 printf("-- Callback: request\n");
83 }
84
85 int callback_response_line(htp_connp_t *connp) {
86 printf("-- Callback: response_line\n");
87 }
88
89 int callback_response_headers(htp_connp_t *connp) {
90 printf("-- Callback: response_headers\n");
91 }
92
93 int callback_response_body_data(htp_tx_data_t *d) {
94 if (d->data != NULL) {
95 printf("-- Callback: response_body_data\n");
96 fprint_raw_data(stdout, __FUNCTION__, d->data, d->len);
97 } else {
98 printf("-- Callback: response_body_data (LAST)\n");
99 }
100 }
101
102 int callback_request_file_data(htp_file_data_t *file_data) {
103 if (file_data->data != NULL) {
104 printf("-- Callback: request_file_data\n");
105 fprint_raw_data(stdout, __FUNCTION__, file_data->data, file_data->len);
106 } else {
107 printf("-- Callback: request_file_data (LAST)\n");
108 }
109 }
110
111 int callback_response_trailer(htp_connp_t *connp) {
112 printf("-- Callback: response_trailer\n");
113 }
114
115 int callback_response(htp_connp_t *connp) {
116 printf("-- Callback: response\n");
117 }
118
119 int callback_response_destroy(htp_connp_t *connp) {
120 htp_tx_destroy(connp->out_tx);
121 printf("-- Destroyed transaction\n");
122 }
123
124 int callback_log(htp_log_t *log) {
125 htp_print_log(stdout, log);
126 }
127
128 static void print_tx(htp_connp_t *connp, htp_tx_t *tx) {
129 char *request_line = bstr_util_strdup_to_c(tx->request_line);
130 htp_header_t *h_user_agent = htp_table_get_c(tx->request_headers, "user-agent");
131 htp_header_t *h_referer = htp_table_get_c(tx->request_headers, "referer");
132 char *referer, *user_agent;
133 char buf[256];
134
135 time_t t = time(NULL);
136 struct tm *tmp = localtime(&t);
137
138 strftime(buf, 255, "%d/%b/%Y:%T %z", tmp);
139
140 if (h_user_agent == NULL) user_agent = strdup("-");
141 else {
142 user_agent = bstr_util_strdup_to_c(h_user_agent->value);
143 }
144
145 if (h_referer == NULL) referer = strdup("-");
146 else {
147 referer = bstr_util_strdup_to_c(h_referer->value);
148 }
149
150 printf("%s - - [%s] \"%s\" %i %zu \"%s\" \"%s\"\n", connp->conn->client_addr, buf,
151 request_line, tx->response_status_number, tx->response_message_len,
152 referer, user_agent);
153
154 free(referer);
155 free(user_agent);
156 free(request_line);
157 }
158
159 static int run_directory(char *dirname, htp_cfg_t *cfg) {
160 struct dirent *entry;
161 char buf[1025];
162 DIR *d = opendir(dirname);
163 htp_connp_t *connp;
164
165 if (d == NULL) {
166 printf("Failed to open directory: %s\n", dirname);
167 return -1;
168 }
169
170 while ((entry = readdir(d)) != NULL) {
171 if (strncmp(entry->d_name, "stream", 6) == 0) {
172 int rc = test_run(dirname, entry->d_name, cfg, &connp);
173
174 if (rc < 0) {
175 if (connp != NULL) {
176 htp_log_t *last_error = htp_connp_get_last_error(connp);
177 if (last_error != NULL) {
178 printf(" -- failed: %s\n", last_error->msg);
179 } else {
180 printf(" -- failed: ERROR NOT AVAILABLE\n");
181 }
182
183 return 0;
184 } else {
185 return -1;
186 }
187 } else {
188 printf(" -- %zu transaction(s)\n", htp_list_size(connp->conn->transactions));
189
190 for (int i = 0, n = htp_list_size(connp->conn->transactions); i < n; i++) {
191 htp_tx_t *tx = htp_list_get(connp->conn->transactions, i);
192
193 printf(" ");
194 print_tx(connp, tx);
195 }
196
197 printf("\n");
198
199 htp_connp_destroy_all(connp);
200 }
201 }
202 }
203
204 closedir(d);
205
206 return 1;
207 }
208
209 int main_dir(int argc, char** argv) {
210 //int main(int argc, char** argv) {
211 htp_cfg_t *cfg = htp_config_create();
212 htp_config_register_log(cfg, callback_log);
213 htp_config_register_response_complete(cfg, callback_response_destroy);
214
215 run_directory("C:\\http_traces\\run1", cfg);
216 //run_directory("/home/ivanr/work/traces/run3/", cfg);
217
218 htp_config_destroy(cfg);
219 }
220
221 #define RUN_TEST(X, Y) \
222 {\
223 tests++; \
224 printf("---------------------------------\n"); \
225 printf("Test: " #X "\n"); \
226 int rc = X(Y); \
227 if (rc < 0) { \
228 printf(" Failed with %i\n", rc); \
229 failures++; \
230 } \
231 printf("\n"); \
232 }
233
234 /**
235 * Dummy entry point.
236 */
237 int main(int argc, char** argv) {
238 return EXIT_SUCCESS;
239 }
240
241 int main_path_decoding_tests(int argc, char** argv) {
242 htp_cfg_t *cfg = htp_config_create();
243 htp_connp_t *connp = htp_connp_create(cfg);
244 htp_tx_t *tx = htp_tx_create(connp);
245 char *str;
246 bstr *path = NULL;
247
248 //
249 path = bstr_dup_c("/One\\two///ThRee%2ffive%5csix/se%xxven");
250 cfg->path_case_insensitive = 1;
251
252 str = bstr_util_strdup_to_c(path);
253 printf("Before: %s\n", str);
254 free(str);
255 htp_decode_path_inplace(cfg, tx, path);
256 str = bstr_util_strdup_to_c(path);
257 printf("After: %s\n\n", str);
258 free(str);
259 bstr_free(path);
260
261 //
262 path = bstr_dup_c("/One\\two///ThRee%2ffive%5csix/se%xxven");
263 cfg->path_case_insensitive = 1;
264 cfg->path_compress_separators = 1;
265
266 str = bstr_util_strdup_to_c(path);
267 printf("Before: %s\n", str);
268 free(str);
269 htp_decode_path_inplace(cfg, tx, path);
270 str = bstr_util_strdup_to_c(path);
271 printf("After: %s\n\n", str);
272 free(str);
273 bstr_free(path);
274
275 //
276 path = bstr_dup_c("/One\\two///ThRee%2ffive%5csix/se%xxven");
277 cfg->path_case_insensitive = 1;
278 cfg->path_compress_separators = 1;
279 cfg->path_backslash_separators = 1;
280
281 str = bstr_util_strdup_to_c(path);
282 printf("Before: %s\n", str);
283 free(str);
284 htp_decode_path_inplace(cfg, tx, path);
285 str = bstr_util_strdup_to_c(path);
286 printf("After: %s\n\n", str);
287 free(str);
288 bstr_free(path);
289
290 //
291 path = bstr_dup_c("/One\\two///ThRee%2ffive%5csix/se%xxven");
292 cfg->path_case_insensitive = 1;
293 cfg->path_compress_separators = 1;
294 cfg->path_backslash_separators = 1;
295 cfg->path_encoded_separators_decode = 1;
296
297 str = bstr_util_strdup_to_c(path);
298 printf("Before: %s\n", str);
299 free(str);
300 htp_decode_path_inplace(cfg, tx, path);
301 str = bstr_util_strdup_to_c(path);
302 printf("After: %s\n\n", str);
303 free(str);
304 bstr_free(path);
305
306 //
307 path = bstr_dup_c("/One\\two///ThRee%2ffive%5csix/se%xxven");
308 cfg->path_case_insensitive = 1;
309 cfg->path_compress_separators = 1;
310 cfg->path_backslash_separators = 1;
311 cfg->path_encoded_separators_decode = 1;
312 cfg->path_invalid_encoding_handling = HTP_URL_DECODE_REMOVE_PERCENT;
313
314 str = bstr_util_strdup_to_c(path);
315 printf("Before: %s\n", str);
316 free(str);
317 htp_decode_path_inplace(cfg, tx, path);
318 str = bstr_util_strdup_to_c(path);
319 printf("After: %s\n\n", str);
320 free(str);
321 bstr_free(path);
322
323 //
324 path = bstr_dup_c("/One\\two///ThRee%2ffive%5csix/se%xxven/%u0074");
325 cfg->path_case_insensitive = 1;
326 cfg->path_compress_separators = 1;
327 cfg->path_backslash_separators = 1;
328 cfg->path_encoded_separators_decode = 1;
329 cfg->path_invalid_encoding_handling = HTP_URL_DECODE_PROCESS_INVALID;
330
331 str = bstr_util_strdup_to_c(path);
332 printf("Before: %s\n", str);
333 free(str);
334 htp_decode_path_inplace(cfg, tx, path);
335 str = bstr_util_strdup_to_c(path);
336 printf("After: %s\n\n", str);
337 free(str);
338 bstr_free(path);
339
340 //
341 path = bstr_dup_c("/One\\two///ThRee%2ffive%5csix/se%xxven/%u0074%u0100");
342 cfg->path_case_insensitive = 1;
343 cfg->path_compress_separators = 1;
344 cfg->path_backslash_separators = 1;
345 cfg->path_encoded_separators_decode = 1;
346 cfg->path_invalid_encoding_handling = HTP_URL_DECODE_PRESERVE_PERCENT;
347 cfg->path_u_encoding_decode = 1;
348
349 str = bstr_util_strdup_to_c(path);
350 printf("Before: %s\n", str);
351 free(str);
352 htp_decode_path_inplace(cfg, tx, path);
353 str = bstr_util_strdup_to_c(path);
354 printf("After: %s\n\n", str);
355 free(str);
356 bstr_free(path);
357 }
358
359 void encode_utf8_2(uint8_t *data, uint32_t i) {
360 i = i & 0x7ff;
361 data[0] = 0xc0 + (i >> 6);
362 data[1] = 0x80 + (i & 0x3f);
363 }
364
365 void encode_utf8_3(uint8_t *data, uint32_t i) {
366 i = i & 0xffff;
367 data[0] = 0xe0 + (i >> 12);
368 data[1] = 0x80 + ((i >> 6) & 0x3f);
369 data[2] = 0x80 + (i & 0x3f);
370 }
371
372 void encode_utf8_4(uint8_t *data, uint32_t i) {
373 i = i & 0x10ffff;
374 data[0] = 0xf0 + (i >> 18);
375 data[1] = 0x80 + ((i >> 12) & 0x3f);
376 data[2] = 0x80 + ((i >> 6) & 0x3f);
377 data[3] = 0x80 + (i & 0x3f);
378 }
379
380 int main_utf8_decoder_tests(int argc, char** argv) {
381 htp_cfg_t *cfg = htp_config_create();
382 htp_connp_t *connp = htp_connp_create(cfg);
383 htp_tx_t *tx = htp_tx_create(connp);
384
385 bstr *path = NULL;
386
387 path = bstr_dup_c("//////////");
388 uint8_t *data = bstr_ptr(path);
389
390 int i = 0;
391
392 for (i = 0; i < 0x80; i++) {
393 memset(data, 0x2f, 10);
394 tx->flags = 0;
395 encode_utf8_2(data, i);
396 htp_utf8_validate_path(tx, path);
397 if (tx->flags != HTP_PATH_UTF8_OVERLONG) {
398 printf("#2 i %i data %x %x flags %x\n", i, (uint8_t) data[0], (uint8_t) data[1], tx->flags);
399 }
400 }
401
402 for (i = 0; i < 0x800; i++) {
403 memset(data, 0x2f, 10);
404 tx->flags = 0;
405 encode_utf8_3(data, i);
406 htp_utf8_validate_path(tx, path);
407 if (tx->flags != HTP_PATH_UTF8_OVERLONG) {
408 printf("#3 i %x data %x %x %x flags %x\n", i, (uint8_t) data[0], (uint8_t) data[1], (uint8_t) data[2], tx->flags);
409 }
410 }
411
412 for (i = 0; i < 0x10000; i++) {
413 memset(data, 0x2f, 10);
414 tx->flags = 0;
415 encode_utf8_4(data, i);
416 htp_utf8_validate_path(tx, path);
417 if ((i >= 0xff00) && (i <= 0xffff)) {
418 if (tx->flags != (HTP_PATH_UTF8_OVERLONG | HTP_PATH_HALF_FULL_RANGE)) {
419 printf("#4 i %x data %x %x %x %x flags %x\n", i, (uint8_t) data[0], (uint8_t) data[1], (uint8_t) data[2], (uint8_t) data[3], tx->flags);
420 }
421 } else {
422 if (tx->flags != HTP_PATH_UTF8_OVERLONG) {
423 printf("#4 i %x data %x %x %x %x flags %x\n", i, (uint8_t) data[0], (uint8_t) data[1], (uint8_t) data[2], (uint8_t) data[3], tx->flags);
424 }
425 }
426 }
427
428 bstr_free(&path);
429 }
430
431 #define PATH_DECODE_TEST_BEFORE(NAME) \
432 test_name = NAME; \
433 tests++; \
434 expected_status = 0; \
435 expected_flags = -1; \
436 success = 0; \
437 cfg = htp_config_create(); \
438 connp = htp_connp_create(cfg); \
439 tx = htp_tx_create(connp);
440
441 #define PATH_DECODE_TEST_AFTER() \
442 htp_decode_path_inplace(cfg, tx, input); \
443 htp_utf8_decode_path_inplace(cfg, tx, input); \
444 if (bstr_cmp(input, expected) == 0) success = 1; \
445 printf("[%2i] %s: %s\n", tests, (success == 1 ? "SUCCESS" : "FAILURE"), test_name); \
446 if ((success == 0)||((expected_status != 0)&&(expected_status != tx->response_status_expected_number))) { \
447 char *s1 = bstr_util_strdup_to_c(input); \
448 char *s2 = bstr_util_strdup_to_c(expected); \
449 printf(" Output: [%s]\n", s1); \
450 printf(" Expected: [%s]\n", s2); \
451 if (expected_status != 0) { \
452 printf(" Expected status %i; got %i\n", expected_status, tx->response_status_expected_number); \
453 } \
454 if (expected_flags != -1) { \
455 printf(" Expected flags 0x%x; got 0x%x\n", expected_flags, tx->flags); \
456 } \
457 free(s2); \
458 free(s1); \
459 failures++; \
460 } \
461 htp_tx_destroy(tx); \
462 htp_config_destroy(cfg); \
463 bstr_free(&expected); \
464 bstr_free(&input);
465
466 int main_path_tests(int argc, char** argv) {
467 htp_cfg_t *cfg = NULL;
468 htp_connp_t *connp = NULL;
469 htp_tx_t *tx = NULL;
470 bstr *input = NULL;
471 bstr *expected = NULL;
472 int success = 0;
473 int tests = 0;
474 int failures = 0;
475 int expected_status = 0;
476 int expected_flags = 0;
477 char *test_name = NULL;
478
479 PATH_DECODE_TEST_BEFORE("URL-decoding");
480 input = bstr_dup_c("/%64est");
481 expected = bstr_dup_c("/dest");
482 PATH_DECODE_TEST_AFTER();
483
484 PATH_DECODE_TEST_BEFORE("Invalid URL-encoded, preserve %");
485 input = bstr_dup_c("/%xxest");
486 expected = bstr_dup_c("/%xxest");
487 expected_flags = HTP_PATH_INVALID_ENCODING;
488 cfg->path_invalid_encoding_handling = HTP_URL_DECODE_PRESERVE_PERCENT;
489 PATH_DECODE_TEST_AFTER();
490
491 PATH_DECODE_TEST_BEFORE("Invalid URL-encoded, remove %");
492 input = bstr_dup_c("/%xxest");
493 expected = bstr_dup_c("/xxest");
494 expected_flags = HTP_PATH_INVALID_ENCODING;
495 cfg->path_invalid_encoding_handling = HTP_URL_DECODE_REMOVE_PERCENT;
496 PATH_DECODE_TEST_AFTER();
497
498 PATH_DECODE_TEST_BEFORE("Invalid URL-encoded (end of string, test 1), preserve %");
499 input = bstr_dup_c("/test/%2");
500 expected = bstr_dup_c("/test/%2");
501 expected_flags = HTP_PATH_INVALID_ENCODING;
502 cfg->path_invalid_encoding_handling = HTP_URL_DECODE_PRESERVE_PERCENT;
503 PATH_DECODE_TEST_AFTER();
504
505 PATH_DECODE_TEST_BEFORE("Invalid URL-encoded (end of string, test 2), preserve %");
506 input = bstr_dup_c("/test/%");
507 expected = bstr_dup_c("/test/%");
508 expected_flags = HTP_PATH_INVALID_ENCODING;
509 cfg->path_invalid_encoding_handling = HTP_URL_DECODE_PRESERVE_PERCENT;
510 PATH_DECODE_TEST_AFTER();
511
512 PATH_DECODE_TEST_BEFORE("Invalid URL-encoded, preserve % and 400");
513 input = bstr_dup_c("/%xxest");
514 expected = bstr_dup_c("/%xxest");
515 expected_status = 400;
516 expected_flags = HTP_PATH_INVALID_ENCODING;
517 cfg->path_invalid_encoding_handling = HTP_URL_DECODE_PRESERVE_PERCENT;
518 cfg->path_invalid_encoding_unwanted = HTP_UNWANTED_400;
519 PATH_DECODE_TEST_AFTER();
520
521 PATH_DECODE_TEST_BEFORE("%u decoding (expected not to decode; 400)");
522 input = bstr_dup_c("/%u0064");
523 expected = bstr_dup_c("/%u0064");
524 expected_flags = HTP_PATH_INVALID_ENCODING;
525 expected_status = 400;
526 cfg->path_invalid_encoding_handling = HTP_URL_DECODE_PRESERVE_PERCENT;
527 cfg->path_invalid_encoding_unwanted = HTP_UNWANTED_400;
528 PATH_DECODE_TEST_AFTER();
529
530 PATH_DECODE_TEST_BEFORE("%u decoding (decode; 400)");
531 input = bstr_dup_c("/%u0064");
532 expected = bstr_dup_c("/d");
533 expected_status = 400;
534 expected_flags = HTP_PATH_OVERLONG_U;
535 cfg->path_u_encoding_unwanted = HTP_UNWANTED_400;
536 PATH_DECODE_TEST_AFTER();
537
538 PATH_DECODE_TEST_BEFORE("%u decoding (also overlong)");
539 input = bstr_dup_c("/%u0064");
540 expected = bstr_dup_c("/d");
541 expected_flags = HTP_PATH_OVERLONG_U;
542 cfg->path_u_encoding_decode = 1;
543 PATH_DECODE_TEST_AFTER();
544
545 PATH_DECODE_TEST_BEFORE("Invalid %u decoding, leave; preserve percent");
546 input = bstr_dup_c("/%uXXXX---");
547 expected = bstr_dup_c("/%uXXXX---");
548 expected_flags = HTP_PATH_INVALID_ENCODING;
549 cfg->path_u_encoding_decode = 1;
550 cfg->path_invalid_encoding_handling = HTP_URL_DECODE_PRESERVE_PERCENT;
551 PATH_DECODE_TEST_AFTER();
552
553 PATH_DECODE_TEST_BEFORE("Invalid %u decoding, decode invalid; preserve percent");
554 input = bstr_dup_c("/%uXXXX---");
555 expected = bstr_dup_c("/?---");
556 expected_flags = HTP_PATH_INVALID_ENCODING;
557 cfg->path_u_encoding_decode = 1;
558 cfg->path_invalid_encoding_handling = HTP_URL_DECODE_PROCESS_INVALID;
559 PATH_DECODE_TEST_AFTER();
560
561 PATH_DECODE_TEST_BEFORE("Invalid %u decoding, decode invalid; preserve percent; 400");
562 input = bstr_dup_c("/%uXXXX---");
563 expected = bstr_dup_c("/?---");
564 expected_flags = HTP_PATH_INVALID_ENCODING;
565 expected_status = 400;
566 cfg->path_u_encoding_decode = 1;
567 cfg->path_invalid_encoding_handling = HTP_URL_DECODE_PRESERVE_PERCENT;
568 cfg->path_invalid_encoding_unwanted = HTP_UNWANTED_400;
569 PATH_DECODE_TEST_AFTER();
570
571 PATH_DECODE_TEST_BEFORE("Invalid %u decoding (not enough data 1), preserve percent");
572 input = bstr_dup_c("/%u123");
573 expected = bstr_dup_c("/%u123");
574 expected_flags = HTP_PATH_INVALID_ENCODING;
575 cfg->path_u_encoding_decode = 1;
576 cfg->path_invalid_encoding_handling = HTP_URL_DECODE_PRESERVE_PERCENT;
577 PATH_DECODE_TEST_AFTER();
578
579 PATH_DECODE_TEST_BEFORE("Invalid %u decoding (not enough data 2), preserve percent");
580 input = bstr_dup_c("/%u12");
581 expected = bstr_dup_c("/%u12");
582 expected_flags = HTP_PATH_INVALID_ENCODING;
583 cfg->path_u_encoding_decode = 1;
584 cfg->path_invalid_encoding_handling = HTP_URL_DECODE_PRESERVE_PERCENT;
585 PATH_DECODE_TEST_AFTER();
586
587 PATH_DECODE_TEST_BEFORE("Invalid %u decoding (not enough data 3), preserve percent");
588 input = bstr_dup_c("/%u1");
589 expected = bstr_dup_c("/%u1");
590 expected_flags = HTP_PATH_INVALID_ENCODING;
591 cfg->path_u_encoding_decode = 1;
592 cfg->path_invalid_encoding_handling = HTP_URL_DECODE_PRESERVE_PERCENT;
593 PATH_DECODE_TEST_AFTER();
594
595 PATH_DECODE_TEST_BEFORE("%u decoding, best-fit mapping");
596 input = bstr_dup_c("/%u0107");
597 expected = bstr_dup_c("/c");
598 cfg->path_u_encoding_decode = 1;
599 PATH_DECODE_TEST_AFTER();
600
601 PATH_DECODE_TEST_BEFORE("%u decoding, 404 to UCS-2 characters");
602 input = bstr_dup_c("/%u0107");
603 expected = bstr_dup_c("/c");
604 expected_status = 404;
605 cfg->path_u_encoding_decode = 1;
606 cfg->path_unicode_unwanted = HTP_UNWANTED_404;
607 PATH_DECODE_TEST_AFTER();
608
609 PATH_DECODE_TEST_BEFORE("Forward slash (URL-encoded), not expect to decode");
610 input = bstr_dup_c("/one%2ftwo");
611 expected = bstr_dup_c("/one%2ftwo");
612 PATH_DECODE_TEST_AFTER();
613
614 PATH_DECODE_TEST_BEFORE("Forward slash (URL-encoded), expect to decode");
615 input = bstr_dup_c("/one%2ftwo");
616 expected = bstr_dup_c("/one/two");
617 cfg->path_encoded_separators_decode = 1;
618 PATH_DECODE_TEST_AFTER();
619
620 PATH_DECODE_TEST_BEFORE("Forward slash (URL-encoded), expect not do decode and 404");
621 input = bstr_dup_c("/one%2ftwo");
622 expected = bstr_dup_c("/one%2ftwo");
623 expected_status = 404;
624 cfg->path_encoded_separators_decode = 0;
625 cfg->path_encoded_separators_unwanted = HTP_UNWANTED_404;
626 PATH_DECODE_TEST_AFTER();
627
628 PATH_DECODE_TEST_BEFORE("Forward slash (%u-encoded), expect to decode");
629 input = bstr_dup_c("/one%u002ftwo");
630 expected = bstr_dup_c("/one/two");
631 cfg->path_encoded_separators_decode = 1;
632 cfg->path_u_encoding_decode = 1;
633 PATH_DECODE_TEST_AFTER();
634
635 PATH_DECODE_TEST_BEFORE("Forward slash (%u-encoded, fullwidth), expect to decode");
636 input = bstr_dup_c("/one%uff0ftwo");
637 expected = bstr_dup_c("/one/two");
638 cfg->path_encoded_separators_decode = 1;
639 cfg->path_u_encoding_decode = 1;
640 PATH_DECODE_TEST_AFTER();
641
642 PATH_DECODE_TEST_BEFORE("Backslash (URL-encoded), not a separator; expect to decode");
643 input = bstr_dup_c("/one%5ctwo");
644 expected = bstr_dup_c("/one\\two");
645 cfg->path_encoded_separators_decode = 1;
646 PATH_DECODE_TEST_AFTER();
647
648 PATH_DECODE_TEST_BEFORE("Backslash (URL-encoded), as path segment separator");
649 input = bstr_dup_c("/one%5ctwo");
650 expected = bstr_dup_c("/one/two");
651 cfg->path_encoded_separators_decode = 1;
652 cfg->path_backslash_separators = 1;
653 PATH_DECODE_TEST_AFTER();
654
655 PATH_DECODE_TEST_BEFORE("Backslash (not encoded), as path segment separator");
656 input = bstr_dup_c("/one\\two");
657 expected = bstr_dup_c("/one/two");
658 cfg->path_backslash_separators = 1;
659 PATH_DECODE_TEST_AFTER();
660
661 PATH_DECODE_TEST_BEFORE("Backslash (%u-encoded), as path segment separator");
662 input = bstr_dup_c("/one%u005ctwo");
663 expected = bstr_dup_c("/one/two");
664 cfg->path_encoded_separators_decode = 1;
665 cfg->path_backslash_separators = 1;
666 cfg->path_u_encoding_decode = 1;
667 PATH_DECODE_TEST_AFTER();
668
669 PATH_DECODE_TEST_BEFORE("Backslash (%u-encoded, fullwidth), as path segment separator");
670 input = bstr_dup_c("/one%uff3ctwo");
671 expected = bstr_dup_c("/one/two");
672 cfg->path_encoded_separators_decode = 1;
673 cfg->path_backslash_separators = 1;
674 cfg->path_u_encoding_decode = 1;
675 PATH_DECODE_TEST_AFTER();
676
677 PATH_DECODE_TEST_BEFORE("Invalid UTF-8 encoding, encoded");
678 input = bstr_dup_c("/%f7test");
679 expected = bstr_dup_c("/\xf7test");
680 PATH_DECODE_TEST_AFTER();
681
682 PATH_DECODE_TEST_BEFORE("Invalid UTF-8 encoding, encoded (400)");
683 input = bstr_dup_c("/%f7test");
684 expected = bstr_dup_c("/\xf7test");
685 expected_status = 400;
686 expected_flags = HTP_PATH_UTF8_INVALID;
687 cfg->path_utf8_invalid_unwanted = HTP_UNWANTED_400;
688 PATH_DECODE_TEST_AFTER();
689
690 PATH_DECODE_TEST_BEFORE("NUL byte (raw) in path; leave");
691 input = bstr_dup_mem("/test\0text", 10);
692 expected = bstr_dup_mem("/test\0text", 10);
693 PATH_DECODE_TEST_AFTER();
694
695 PATH_DECODE_TEST_BEFORE("NUL byte (raw) in path; terminate path");
696 input = bstr_dup_mem("/test\0text", 10);
697 expected = bstr_dup_c("/test");
698 cfg->path_nul_raw_terminates = 1;
699 PATH_DECODE_TEST_AFTER();
700
701 PATH_DECODE_TEST_BEFORE("NUL byte (raw) in path; 400");
702 input = bstr_dup_mem("/test\0text", 10);
703 expected = bstr_dup_mem("/test\0text", 10);
704 cfg->path_nul_raw_unwanted = HTP_UNWANTED_400;
705 PATH_DECODE_TEST_AFTER();
706
707 PATH_DECODE_TEST_BEFORE("NUL byte (URL-encoded) in path; leave");
708 input = bstr_dup_c("/test%00text");
709 expected = bstr_dup_mem("/test\0text", 10);
710 PATH_DECODE_TEST_AFTER();
711
712 PATH_DECODE_TEST_BEFORE("NUL byte (URL-encoded) in path; terminate path");
713 input = bstr_dup_c("/test%00text");
714 expected = bstr_dup_c("/test");
715 cfg->path_nul_encoded_terminates = 1;
716 PATH_DECODE_TEST_AFTER();
717
718 PATH_DECODE_TEST_BEFORE("NUL byte (URL-encoded) in path; 400");
719 input = bstr_dup_c("/test%00text");
720 expected = bstr_dup_mem("/test\0text", 10);
721 cfg->path_nul_encoded_unwanted = HTP_UNWANTED_404;
722 expected_status = 400;
723 PATH_DECODE_TEST_AFTER();
724
725 PATH_DECODE_TEST_BEFORE("NUL byte (URL-encoded) in path; 404");
726 input = bstr_dup_c("/test%00text");
727 expected = bstr_dup_mem("/test\0text", 10);
728 cfg->path_nul_encoded_unwanted = HTP_UNWANTED_404;
729 expected_status = 404;
730 PATH_DECODE_TEST_AFTER();
731
732 PATH_DECODE_TEST_BEFORE("NUL byte (%u-encoded) in path; terminate path");
733 input = bstr_dup_c("/test%00text");
734 expected = bstr_dup_c("/test");
735 cfg->path_nul_encoded_terminates = 1;
736 cfg->path_u_encoding_decode = 1;
737 PATH_DECODE_TEST_AFTER();
738
739 PATH_DECODE_TEST_BEFORE("NUL byte (%u-encoded) in path; 400");
740 input = bstr_dup_c("/test%00text");
741 expected = bstr_dup_mem("/test\0text", 10);
742 cfg->path_nul_encoded_unwanted = HTP_UNWANTED_404;
743 cfg->path_u_encoding_decode = 1;
744 expected_status = 400;
745 PATH_DECODE_TEST_AFTER();
746
747 PATH_DECODE_TEST_BEFORE("NUL byte (%u-encoded) in path; 404");
748 input = bstr_dup_c("/test%00text");
749 expected = bstr_dup_mem("/test\0text", 10);
750 cfg->path_nul_encoded_unwanted = HTP_UNWANTED_404;
751 cfg->path_u_encoding_decode = 1;
752 expected_status = 404;
753 PATH_DECODE_TEST_AFTER();
754
755 PATH_DECODE_TEST_BEFORE("Control char in path, encoded (no effect)");
756 input = bstr_dup_c("/%01test");
757 expected = bstr_dup_c("/\x01test");
758 cfg->path_control_chars_unwanted = HTP_UNWANTED_IGNORE;
759 PATH_DECODE_TEST_AFTER();
760
761 PATH_DECODE_TEST_BEFORE("Control char in path, raw (no effect)");
762 input = bstr_dup_c("/\x01test");
763 expected = bstr_dup_c("/\x01test");
764 cfg->path_control_chars_unwanted = HTP_UNWANTED_IGNORE;
765 PATH_DECODE_TEST_AFTER();
766
767 PATH_DECODE_TEST_BEFORE("Control char in path, encoded (400)");
768 input = bstr_dup_c("/%01test");
769 expected = bstr_dup_c("/\x01test");
770 expected_status = 400;
771 cfg->path_control_chars_unwanted = HTP_UNWANTED_400;
772 PATH_DECODE_TEST_AFTER();
773
774 PATH_DECODE_TEST_BEFORE("Control char in path, raw (400)");
775 input = bstr_dup_c("/\x01test");
776 expected = bstr_dup_c("/\x01test");
777 expected_status = 400;
778 cfg->path_control_chars_unwanted = HTP_UNWANTED_400;
779 PATH_DECODE_TEST_AFTER();
780
781 PATH_DECODE_TEST_BEFORE("UTF-8; overlong 2-byte sequence");
782 input = bstr_dup_c("/%c1%b4est");
783 expected = bstr_dup_c("/test");
784 expected_flags = HTP_PATH_UTF8_OVERLONG;
785 PATH_DECODE_TEST_AFTER();
786
787 PATH_DECODE_TEST_BEFORE("UTF-8; overlong 3-byte sequence");
788 input = bstr_dup_c("/%e0%81%b4est");
789 expected = bstr_dup_c("/test");
790 expected_flags = HTP_PATH_UTF8_OVERLONG;
791 PATH_DECODE_TEST_AFTER();
792
793 PATH_DECODE_TEST_BEFORE("UTF-8; overlong 4-byte sequence");
794 input = bstr_dup_c("/%f0%80%81%b4est");
795 expected = bstr_dup_c("/test");
796 expected_flags = HTP_PATH_UTF8_OVERLONG;
797 PATH_DECODE_TEST_AFTER();
798
799 printf("\n");
800 printf("Total tests: %i, %i failure(s).\n", tests, failures);
801 }
+0
-17
test/pcaptohtp.py less more
0 import sys
1 import binascii
2
3 # Transforms a pcap into a test file for libhtp
4 # tshark -Tfields -e tcp.dstport -e tcp.payload -r input.pcap > input.txt
5 # python pcaptohtp.py input.txt > input.t
6
7 f = open(sys.argv[1])
8 for l in f.readlines():
9 portAndPl=l.split()
10 if len(portAndPl) == 2:
11 # determine request or response based on port
12 if portAndPl[0] == "80":
13 print(">>>")
14 else:
15 print("<<<")
16 print(binascii.unhexlify(portAndPl[1].replace(":","")))
+0
-351
test/test-tcpick.c less more
0 /***************************************************************************
1 * Copyright (c) 2009-2010 Open Information Security Foundation
2 * Copyright (c) 2010-2013 Qualys, Inc.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met:
8 *
9 * - Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11
12 * - Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15
16 * - Neither the name of the Qualys, Inc. nor the names of its
17 * contributors may be used to endorse or promote products derived from
18 * this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 ***************************************************************************/
32
33 /**
34 * @file
35 * @author Ivan Ristic <ivanr@webkreator.com>
36 */
37
38 #include <ctype.h>
39 #include <dirent.h>
40 #include <sys/time.h>
41 #include <sys/types.h>
42 #include <time.h>
43
44 #include "../htp/htp.h"
45
46 #define CLIENT 1
47 #define SERVER 2
48
49 static int parse_filename(const char *filename, char **remote_addr, char **local_addr) {
50 char *copy = strdup(filename);
51 char *p, *saveptr;
52
53 char *start = copy;
54 char *q = strrchr(copy, '/');
55 if (q != NULL) start = q;
56
57 q = strrchr(start, '\\');
58 if (q != NULL) start = q;
59
60 int count = 0;
61 p = strtok_r(start, "_", &saveptr);
62 while (p != NULL) {
63 count++;
64 // printf("%i %s\n", count, p);
65
66 switch (count) {
67 case 3:
68 *remote_addr = strdup(p);
69 break;
70 case 4:
71 *local_addr = strdup(p);
72 break;
73 }
74
75 p = strtok_r(NULL, "_", &saveptr);
76 }
77
78 free(copy);
79
80 return 0;
81 }
82
83 static int parse_chunk_info(char *buf, size_t *response_offset, size_t *response_len) {
84 char *p = buf;
85 size_t lastlen;
86
87 while ((*p != ']') && (p != '\0')) p++;
88 if (*p == '\0') return -1;
89 p++;
90
91 while (isspace(*p)) p++;
92
93 *response_offset = bstr_util_mem_to_pint(p, strlen(p), 10, &lastlen);
94
95 p += lastlen;
96
97 while ((*p != '(') && (p != '\0')) p++;
98 if (*p == '\0') return -1;
99 p++;
100
101 *response_len = bstr_util_mem_to_pint(p, strlen(p), 10, &lastlen);
102
103 return 1;
104 }
105
106 static int tcpick_run_file(const char *filename, htp_cfg_t *cfg, htp_connp_t **connp) {
107 struct timeval tv;
108 char buf[1025];
109 int first = -1, current = -1;
110 char *remote_addr, *local_addr;
111
112 char *request_last_chunk = NULL;
113 char *response_last_chunk = NULL;
114 size_t request_offset, request_len;
115 size_t request_last_offset = 0, request_last_len = 0;
116 size_t response_offset, response_len;
117 size_t response_last_offset = 0, response_last_len = 0;
118
119 if (parse_filename(filename, &remote_addr, &local_addr) < 0) {
120 printf("Failed to parse filename: %s\n", filename);
121 return -1;
122 }
123
124 FILE *f = fopen(filename, "rb");
125 if (f == NULL) {
126 printf("Unable to open file: %s\n", filename);
127 return -1;
128 }
129
130 gettimeofday(&tv, NULL);
131
132 // Create parser
133 *connp = htp_connp_create(cfg);
134
135 // Find all chunks and feed them to the parser
136 while (fgets(buf, 1024, f) != NULL) {
137 // Ignore empty lines
138 if (buf[0] == LF) {
139 continue;
140 }
141
142 if (strncmp(buf, "[server", 7) == 0) {
143 current = SERVER;
144 } else {
145 current = CLIENT;
146 }
147
148 if (first == -1) {
149 first = current;
150
151 if (first == SERVER) {
152 htp_connp_open(*connp, local_addr, 80, remote_addr, 80, &tv);
153 } else {
154 htp_connp_open(*connp, remote_addr, 80, local_addr, 80, &tv);
155 }
156 }
157
158 int len = 0;
159
160 if (first == current) {
161 if (parse_chunk_info(buf, &request_offset, &request_len) < 0) {
162 printf("Invalid line: %s", buf);
163 fclose(f);
164 htp_connp_destroy_all(*connp);
165 *connp = NULL;
166 return -1;
167 }
168
169 len = request_len;
170
171 // printf("# Request offset %i len %i\n", request_offset, request_len);
172 } else {
173 if (parse_chunk_info(buf, &response_offset, &response_len) < 0) {
174 printf("Invalid line: %s", buf);
175 fclose(f);
176 htp_connp_destroy_all(*connp);
177 *connp = NULL;
178 return -1;
179 }
180
181 len = response_len;
182
183 // printf("# Response offset %i len %i\n", response_offset, response_len);
184 }
185
186 // printf("Len: %i\n", len);
187
188 if (len <= 0) {
189 printf("Invalid length: %i\n", len);
190 fclose(f);
191 htp_connp_destroy_all(*connp);
192 *connp = NULL;
193 return -1;
194 }
195
196 char *data = malloc(len);
197 if (data == NULL) {
198 printf("Failed to allocate %i bytes\n", len);
199 fclose(f);
200 htp_connp_destroy_all(*connp);
201 *connp = NULL;
202 return -1;
203 }
204
205 int read = fread(data, 1, len, f);
206 if (read != len) {
207 // printf("Failed to read %i bytes (got %i)\n", len, read);
208 fclose(f);
209 htp_connp_destroy_all(*connp);
210 *connp = NULL;
211 return -1;
212 }
213
214 if (first == current) {
215 if ((request_last_chunk == NULL) || (request_len != request_last_len) || (memcmp(data, request_last_chunk, request_len) != 0)) {
216 // printf("# Parse request data: %i byte(s)\n", len);
217 if (htp_connp_req_data(*connp, &tv, data, len) == HTP_ERROR) {
218 fclose(f);
219 return -1;
220 }
221 }
222
223 request_last_offset = request_offset;
224 request_last_len = request_len;
225 if (request_last_chunk != NULL) {
226 free(request_last_chunk);
227 }
228 request_last_chunk = data;
229 } else {
230 if ((response_last_chunk == NULL) || (response_len != response_last_len) || (memcmp(data, response_last_chunk, response_len) != 0)) {
231 // printf("# Parse response data: %i byte(s)\n", len);
232 if (htp_connp_res_data(*connp, &tv, data, len) == HTP_ERROR) {
233 fclose(f);
234 return -1;
235 }
236 }
237
238 response_last_offset = response_offset;
239 response_last_len = response_len;
240 if (response_last_chunk != NULL) {
241 free(response_last_chunk);
242 }
243 response_last_chunk = data;
244 }
245 }
246
247 fclose(f);
248
249 htp_connp_close(*connp, &tv);
250
251 return 1;
252 }
253
254 static void print_tx(htp_connp_t *connp, htp_tx_t *tx) {
255 char *request_line = bstr_util_strdup_to_c(tx->request_line);
256 htp_header_t *h_user_agent = htp_table_get_c(tx->request_headers, "user-agent");
257 htp_header_t *h_referer = htp_table_get_c(tx->request_headers, "referer");
258 char *referer, *user_agent;
259 char buf[256];
260
261 time_t t = time(NULL);
262 struct tm *tmp = localtime(&t);
263
264 strftime(buf, 255, "%d/%b/%Y:%T %z", tmp);
265
266 if (h_user_agent == NULL) user_agent = strdup("-");
267 else {
268 user_agent = bstr_util_strdup_to_c(h_user_agent->value);
269 }
270
271 if (h_referer == NULL) referer = strdup("-");
272 else {
273 referer = bstr_util_strdup_to_c(h_referer->value);
274 }
275
276 printf("%s - - [%s] \"%s\" %i %zu \"%s\" \"%s\"\n", connp->conn->client_addr, buf,
277 request_line, tx->response_status_number, tx->response_message_len,
278 referer, user_agent);
279
280 free(referer);
281 free(user_agent);
282 free(request_line);
283 }
284
285 static int run_file(char *filename, htp_cfg_t *cfg) {
286 htp_connp_t *connp;
287
288 fprintf(stdout, "Running file %s", filename);
289
290 int rc = tcpick_run_file(filename, cfg, &connp);
291 if (rc < 0) {
292 if (connp != NULL) {
293 htp_log_t *last_error = htp_connp_get_last_error(connp);
294 if (last_error != NULL) {
295 printf(" -- failed: %s\n", last_error->msg);
296 } else {
297 printf(" -- failed: ERROR NOT AVAILABLE\n");
298 }
299
300 return 0;
301 } else {
302 return -1;
303 }
304 } else {
305 printf(" -- %zu transaction(s)\n", htp_list_size(connp->conn->transactions));
306
307 for (int i = 0, n = htp_list_size(connp->conn->transactions); i < n; i++) {
308 htp_tx_t *tx = htp_list_get(connp->conn->transactions, i);
309
310 printf(" ");
311 print_tx(connp, tx);
312 }
313
314 printf("\n");
315
316 htp_connp_destroy_all(connp);
317
318 return 1;
319 }
320 }
321
322 static int run_directory(char *dirname, htp_cfg_t *cfg) {
323 struct dirent *entry;
324 char buf[1025];
325 DIR *d = opendir(dirname);
326
327 if (d == NULL) {
328 printf("Failed to open directory: %s\n", dirname);
329 return -1;
330 }
331
332 while ((entry = readdir(d)) != NULL) {
333 if (strncmp(entry->d_name, "tcpick", 6) == 0) {
334 strncpy(buf, dirname, 1024);
335 strncat(buf, "/", 1024 - strlen(buf));
336 strncat(buf, entry->d_name, 1024 - strlen(buf));
337
338 // fprintf(stderr, "Filename: %s\n", buf);
339 run_file(buf, cfg);
340 //if (run_file(buf, cfg) <= 0) {
341 // closedir(d);
342 // return 0;
343 //}
344 }
345 }
346
347 closedir(d);
348
349 return 1;
350 }
7272 // Check that there's enough room
7373 if (pos + 3 >= test->len) return -1;
7474
75 if ((test->buf[pos] == '<') && (test->buf[pos + 1] == '<') && (test->buf[pos + 2] == '<')) {
75 if ((test->buf[pos] == '<') && (test->buf[pos + 1] == '<' || test->buf[pos + 1] == '>') && (test->buf[pos + 2] == '<')) {
7676 if (test->buf[pos + 3] == '\n') {
7777 return SERVER;
7878 }
8585 }
8686 }
8787
88 if ((test->buf[pos] == '>') && (test->buf[pos + 1] == '>') && (test->buf[pos + 2] == '>')) {
88 if ((test->buf[pos] == '>') && (test->buf[pos + 1] == '>' || test->buf[pos + 1] == '<') && (test->buf[pos + 2] == '>')) {
8989 if (test->buf[pos + 3] == '\n') {
9090 return CLIENT;
9191 }
206206 // which belongs to the next boundary
207207 if ((test->chunk_len > 0) && (test->chunk[test->chunk_len - 1] == '\r')) {
208208 test->chunk_len--;
209 }
210 if (test->buf[test->pos + 1] != test->buf[test->pos + 2]) {
211 // test gap
212 test->chunk = NULL;
209213 }
210214
211215 // Position at the next boundary line
+0
-9
test/valgrind less more
0 #!/bin/sh
1 # --gen-suppressions=all \
2 exec valgrind \
3 --suppressions=valgrind.supp \
4 --leak-check=full \
5 --show-reachable=yes \
6 --dsymutil=yes \
7 "$@"
8
+0
-155
test/valgrind.supp less more
0 {
1 gtest_1
2 Memcheck:Leak
3 fun:malloc
4 fun:__smakebuf
5 fun:__swsetup
6 fun:__sfvwrite
7 fun:fwrite
8 fun:_ZSt15__ostream_writeIcSt11char_traitsIcEEvRSt13basic_ostreamIT_T0_EPKS3_l
9 fun:_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
10 fun:main
11 }
12 {
13 gtest_2
14 Memcheck:Leak
15 fun:malloc
16 fun:_Znwm
17 fun:_Znam
18 fun:_ZN7testing4TestC2Ev
19 fun:_ZN7testing8internal15TestFactoryImplI26ConnectionParsing_Get_TestE10CreateTestEv
20 fun:_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS0_15TestFactoryBaseEPNS_4TestEEET0_PT_MS6_FS5_vEPKc
21 fun:_ZN7testing8TestInfo3RunEv
22 fun:_ZN7testing8TestCase3RunEv
23 fun:_ZN7testing8internal12UnitTestImpl11RunAllTestsEv
24 fun:_ZN7testing8internal38HandleSehExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc
25 fun:_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc
26 fun:_ZN7testing8UnitTest3RunEv
27 }
28 {
29 gtest_3
30 Memcheck:Leak
31 fun:malloc
32 fun:_Znwm
33 fun:_Znam
34 fun:_ZN7testing4TestC2Ev
35 fun:_ZN7testing8internal15TestFactoryImplI26ConnectionParsing_Get_TestE10CreateTestEv
36 fun:_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS0_15TestFactoryBaseEPNS_4TestEEET0_PT_MS6_FS5_vEPKc
37 fun:_ZN7testing8TestInfo3RunEv
38 fun:_ZN7testing8TestCase3RunEv
39 fun:_ZN7testing8internal12UnitTestImpl11RunAllTestsEv
40 fun:_ZN7testing8internal38HandleSehExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc
41 fun:_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc
42 fun:_ZN7testing8UnitTest3RunEv
43 }
44 {
45 gtest_4
46 Memcheck:Leak
47 fun:malloc
48 fun:_Znwm
49 fun:_Znam
50 fun:_ZN7testing4TestC2Ev
51 fun:_ZN7testing8internal15TestFactoryImplI26ConnectionParsing_Get_TestE10CreateTestEv
52 fun:_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS0_15TestFactoryBaseEPNS_4TestEEET0_PT_MS6_FS5_vEPKc
53 fun:_ZN7testing8TestInfo3RunEv
54 fun:_ZN7testing8TestCase3RunEv
55 fun:_ZN7testing8internal12UnitTestImpl11RunAllTestsEv
56 fun:_ZN7testing8internal38HandleSehExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc
57 fun:_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc
58 fun:_ZN7testing8UnitTest3RunEv
59 }
60 {
61 gtest_5
62 Memcheck:Leak
63 fun:malloc
64 fun:_Znwm
65 fun:_Znam
66 fun:_ZN7testing4TestC2Ev
67 fun:_ZN7testing8internal15TestFactoryImplI26ConnectionParsing_Get_TestE10CreateTestEv
68 fun:_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS0_15TestFactoryBaseEPNS_4TestEEET0_PT_MS6_FS5_vEPKc
69 fun:_ZN7testing8TestInfo3RunEv
70 fun:_ZN7testing8TestCase3RunEv
71 fun:_ZN7testing8internal12UnitTestImpl11RunAllTestsEv
72 fun:_ZN7testing8internal38HandleSehExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc
73 fun:_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc
74 fun:_ZN7testing8UnitTest3RunEv
75 }
76 {
77 gtest_6
78 Memcheck:Leak
79 fun:malloc
80 fun:_Znwm
81 fun:_Znam
82 fun:_ZN7testing4TestC2Ev
83 fun:_ZN7testing8internal15TestFactoryImplI26ConnectionParsing_Get_TestE10CreateTestEv
84 fun:_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS0_15TestFactoryBaseEPNS_4TestEEET0_PT_MS6_FS5_vEPKc
85 fun:_ZN7testing8TestInfo3RunEv
86 fun:_ZN7testing8TestCase3RunEv
87 fun:_ZN7testing8internal12UnitTestImpl11RunAllTestsEv
88 fun:_ZN7testing8internal38HandleSehExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc
89 fun:_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc
90 fun:_ZN7testing8UnitTest3RunEv
91 }
92 {
93 gtest_7
94 Memcheck:Leak
95 fun:malloc
96 fun:_Znwm
97 fun:_Znam
98 fun:_ZN7testing4TestC2Ev
99 fun:_ZN7testing8internal15TestFactoryImplI26ConnectionParsing_Get_TestE10CreateTestEv
100 fun:_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS0_15TestFactoryBaseEPNS_4TestEEET0_PT_MS6_FS5_vEPKc
101 fun:_ZN7testing8TestInfo3RunEv
102 fun:_ZN7testing8TestCase3RunEv
103 fun:_ZN7testing8internal12UnitTestImpl11RunAllTestsEv
104 fun:_ZN7testing8internal38HandleSehExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc
105 fun:_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc
106 fun:_ZN7testing8UnitTest3RunEv
107 }
108 {
109 gtest_8
110 Memcheck:Leak
111 fun:malloc
112 fun:_Znwm
113 fun:_ZN7testing8internal15TestFactoryImplI26ConnectionParsing_Get_TestE10CreateTestEv
114 fun:_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS0_15TestFactoryBaseEPNS_4TestEEET0_PT_MS6_FS5_vEPKc
115 fun:_ZN7testing8TestInfo3RunEv
116 fun:_ZN7testing8TestCase3RunEv
117 fun:_ZN7testing8internal12UnitTestImpl11RunAllTestsEv
118 fun:_ZN7testing8internal38HandleSehExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc
119 fun:_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc
120 fun:_ZN7testing8UnitTest3RunEv
121 fun:main
122 }
123 {
124 gtest_9
125 Memcheck:Leak
126 fun:malloc
127 fun:_Znwm
128 fun:_ZN7testing4TestC2Ev
129 fun:_ZN7testing8internal15TestFactoryImplI26ConnectionParsing_Get_TestE10CreateTestEv
130 fun:_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS0_15TestFactoryBaseEPNS_4TestEEET0_PT_MS6_FS5_vEPKc
131 fun:_ZN7testing8TestInfo3RunEv
132 fun:_ZN7testing8TestCase3RunEv
133 fun:_ZN7testing8internal12UnitTestImpl11RunAllTestsEv
134 fun:_ZN7testing8internal38HandleSehExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc
135 fun:_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc
136 fun:_ZN7testing8UnitTest3RunEv
137 fun:main
138 }
139 {
140 fprintf
141 Memcheck:Leak
142 fun:malloc
143 fun:__smakebuf
144 fun:__swsetup
145 fun:__vfprintf
146 fun:vfprintf_l
147 fun:fprintf
148 fun:fprint_raw_data_ex
149 fun:_ZN27ConnectionParsing_Util_Test8TestBodyEv
150 fun:_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS_4TestEvEET0_PT_MS4_FS3_vEPKc
151 fun:_ZN7testing4Test3RunEv
152 fun:_ZN7testing8TestInfo3RunEv
153 fun:_ZN7testing8TestCase3RunEv
154 }
0 #! /bin/sh
1 # test-driver - basic testsuite driver script.
2
3 scriptversion=2018-03-07.03; # UTC
4
5 # Copyright (C) 2011-2020 Free Software Foundation, Inc.
6 #
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2, or (at your option)
10 # any later version.
11 #
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program. If not, see <https://www.gnu.org/licenses/>.
19
20 # As a special exception to the GNU General Public License, if you
21 # distribute this file as part of a program that contains a
22 # configuration script generated by Autoconf, you may include it under
23 # the same distribution terms that you use for the rest of that program.
24
25 # This file is maintained in Automake, please report
26 # bugs to <bug-automake@gnu.org> or send patches to
27 # <automake-patches@gnu.org>.
28
29 # Make unconditional expansion of undefined variables an error. This
30 # helps a lot in preventing typo-related bugs.
31 set -u
32
33 usage_error ()
34 {
35 echo "$0: $*" >&2
36 print_usage >&2
37 exit 2
38 }
39
40 print_usage ()
41 {
42 cat <<END
43 Usage:
44 test-driver --test-name NAME --log-file PATH --trs-file PATH
45 [--expect-failure {yes|no}] [--color-tests {yes|no}]
46 [--enable-hard-errors {yes|no}] [--]
47 TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
48
49 The '--test-name', '--log-file' and '--trs-file' options are mandatory.
50 See the GNU Automake documentation for information.
51 END
52 }
53
54 test_name= # Used for reporting.
55 log_file= # Where to save the output of the test script.
56 trs_file= # Where to save the metadata of the test run.
57 expect_failure=no
58 color_tests=no
59 enable_hard_errors=yes
60 while test $# -gt 0; do
61 case $1 in
62 --help) print_usage; exit $?;;
63 --version) echo "test-driver $scriptversion"; exit $?;;
64 --test-name) test_name=$2; shift;;
65 --log-file) log_file=$2; shift;;
66 --trs-file) trs_file=$2; shift;;
67 --color-tests) color_tests=$2; shift;;
68 --expect-failure) expect_failure=$2; shift;;
69 --enable-hard-errors) enable_hard_errors=$2; shift;;
70 --) shift; break;;
71 -*) usage_error "invalid option: '$1'";;
72 *) break;;
73 esac
74 shift
75 done
76
77 missing_opts=
78 test x"$test_name" = x && missing_opts="$missing_opts --test-name"
79 test x"$log_file" = x && missing_opts="$missing_opts --log-file"
80 test x"$trs_file" = x && missing_opts="$missing_opts --trs-file"
81 if test x"$missing_opts" != x; then
82 usage_error "the following mandatory options are missing:$missing_opts"
83 fi
84
85 if test $# -eq 0; then
86 usage_error "missing argument"
87 fi
88
89 if test $color_tests = yes; then
90 # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
91 red='' # Red.
92 grn='' # Green.
93 lgn='' # Light green.
94 blu='' # Blue.
95 mgn='' # Magenta.
96 std='' # No color.
97 else
98 red= grn= lgn= blu= mgn= std=
99 fi
100
101 do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
102 trap "st=129; $do_exit" 1
103 trap "st=130; $do_exit" 2
104 trap "st=141; $do_exit" 13
105 trap "st=143; $do_exit" 15
106
107 # Test script is run here.
108 "$@" >$log_file 2>&1
109 estatus=$?
110
111 if test $enable_hard_errors = no && test $estatus -eq 99; then
112 tweaked_estatus=1
113 else
114 tweaked_estatus=$estatus
115 fi
116
117 case $tweaked_estatus:$expect_failure in
118 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
119 0:*) col=$grn res=PASS recheck=no gcopy=no;;
120 77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
121 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;;
122 *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;;
123 *:*) col=$red res=FAIL recheck=yes gcopy=yes;;
124 esac
125
126 # Report the test outcome and exit status in the logs, so that one can
127 # know whether the test passed or failed simply by looking at the '.log'
128 # file, without the need of also peaking into the corresponding '.trs'
129 # file (automake bug#11814).
130 echo "$res $test_name (exit status: $estatus)" >>$log_file
131
132 # Report outcome to console.
133 echo "${col}${res}${std}: $test_name"
134
135 # Register the test result, and other relevant metadata.
136 echo ":test-result: $res" > $trs_file
137 echo ":global-test-result: $res" >> $trs_file
138 echo ":recheck: $recheck" >> $trs_file
139 echo ":copy-in-global-log: $gcopy" >> $trs_file
140
141 # Local Variables:
142 # mode: shell-script
143 # sh-indentation: 2
144 # eval: (add-hook 'before-save-hook 'time-stamp)
145 # time-stamp-start: "scriptversion="
146 # time-stamp-format: "%:y-%02m-%02d.%02H"
147 # time-stamp-time-zone: "UTC0"
148 # time-stamp-end: "; # UTC"
149 # End: