Merge lp:~indicator-applet-developers/ubuntu/precise/indicator-application/upstream into lp:~ubuntu-desktop/indicator-application/ubuntu

Proposed by Charles Kerr
Status: Merged
Merged at revision: 291
Proposed branch: lp:~indicator-applet-developers/ubuntu/precise/indicator-application/upstream
Merge into: lp:~ubuntu-desktop/indicator-application/ubuntu
Diff against target: 18972 lines (+9251/-8897)
25 files modified
ChangeLog (+24/-0)
INSTALL (+7/-2)
Makefile.am (+1/-34)
Makefile.am.coverage (+48/-0)
Makefile.in (+50/-41)
aclocal.m4 (+5/-8606)
compile (+183/-16)
config.guess (+31/-18)
config.sub (+39/-26)
configure (+104/-65)
configure.ac (+5/-5)
data/Makefile.in (+5/-2)
debian/changelog (+8/-0)
depcomp (+66/-8)
install-sh (+18/-11)
m4/gcov.m4 (+13/-10)
m4/libtool.m4 (+8001/-0)
m4/ltoptions.m4 (+384/-0)
m4/ltsugar.m4 (+123/-0)
m4/ltversion.m4 (+23/-0)
m4/lt~obsolete.m4 (+98/-0)
missing (+4/-49)
src/Makefile.in (+5/-2)
src/indicator-application.c (+1/-0)
tests/Makefile.in (+5/-2)
To merge this branch: bzr merge lp:~indicator-applet-developers/ubuntu/precise/indicator-application/upstream
Reviewer Review Type Date Requested Status
Ken VanDine Pending
Review via email: mp+101612@code.launchpad.net

Description of the change

indicator-application 0.5.0

 * Fix parent pointer object for unity-panel-service
 * Improved gcov rules in our Automake files

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'ChangeLog'
--- ChangeLog 2012-03-21 22:13:03 +0000
+++ ChangeLog 2012-04-11 17:27:20 +0000
@@ -1,5 +1,29 @@
1# Generated by Makefile. Do not edit.1# Generated by Makefile. Do not edit.
22
32012-04-11 Charles Kerr <charles.kerr@canonical.com>
4
5 0.5.0
6
72012-04-11 Charles Kerr <charles.kerr@canonical.com>
8
9 merge lp:~allanlesage/indicator-application/TDD to improve our automake gcov rules
10
112012-03-27 Allan LeSage <allanlesage@gmail.com>
12
13 Pedantic name change for gcovr xml coverage results.
14
152012-03-27 Allan LeSage <allanlesage@gmail.com>
16
17 Removed gcovr dependency, moved coverage targets to own makefile, cleaning up *.gcno.
18
192012-04-10 Charles Kerr <charles.kerr@canonical.com>
20
21 merge lp:~ted/indicator-application/parent-pointer to add in the parent object pointer for unity-panel-service.
22
232012-04-09 Ted Gould <ted@gould.cx>
24
25 Set the parent object pointer to help unity-panel-service
26
32012-03-21 Ted Gould <ted@gould.cx>272012-03-21 Ted Gould <ted@gould.cx>
428
5 0.4.9429 0.4.94
630
=== modified file 'INSTALL'
--- INSTALL 2012-03-21 22:13:03 +0000
+++ INSTALL 2012-04-11 17:27:20 +0000
@@ -1,8 +1,8 @@
1Installation Instructions1Installation Instructions
2*************************2*************************
33
4Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,4Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
52006, 2007, 2008, 2009 Free Software Foundation, Inc.5Inc.
66
7 Copying and distribution of this file, with or without modification,7 Copying and distribution of this file, with or without modification,
8are permitted in any medium without royalty provided the copyright8are permitted in any medium without royalty provided the copyright
@@ -226,6 +226,11 @@
226226
227and if that doesn't work, install pre-built binaries of GCC for HP-UX.227and if that doesn't work, install pre-built binaries of GCC for HP-UX.
228228
229 HP-UX `make' updates targets which have the same time stamps as
230their prerequisites, which makes it generally unusable when shipped
231generated files such as `configure' are involved. Use GNU `make'
232instead.
233
229 On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot234 On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
230parse its `<wchar.h>' header file. The option `-nodtk' can be used as235parse its `<wchar.h>' header file. The option `-nodtk' can be used as
231a workaround. If GNU CC is not installed, it is therefore recommended236a workaround. If GNU CC is not installed, it is therefore recommended
232237
=== modified file 'Makefile.am'
--- Makefile.am 2011-12-06 21:49:39 +0000
+++ Makefile.am 2012-04-11 17:27:20 +0000
@@ -34,37 +34,4 @@
34 fi34 fi
3535
3636
37# Coverage targets37include $(top_srcdir)/Makefile.am.coverage
38
39.PHONY: clean-gcda
40clean-gcda:
41 @echo Removing old coverage results
42 -find -name '*.gcda' -print | xargs -r rm
43
44.PHONY: coverage-html generate-coverage-html clean-coverage-html
45coverage-html: clean-gcda
46 -$(MAKE) $(AM_MAKEFLAGS) -k check
47 $(MAKE) $(AM_MAKEFLAGS) generate-coverage-html
48
49generate-coverage-html:
50 @echo Collecting coverage data
51 $(LCOV) --directory $(top_builddir) --capture --output-file coverage.info --no-checksum --compat-libtool
52 LANG=C $(GENHTML) --prefix $(top_builddir) --output-directory coveragereport --title "Code Coverage" --legend --show-details coverage.info
53
54clean-coverage-html: clean-gcda
55 -$(LCOV) --directory $(top_builddir) -z
56 -rm -rf coverage.info coveragereport
57
58.PHONY: coverage-xml generate-coverage-xml clean-coverage-xml
59coverage-xml: clean-gcda
60 -$(MAKE) $(AM_MAKEFLAGS) -k check
61 $(MAKE) $(AM_MAKEFLAGS) generate-coverage-xml
62
63generate-coverage-xml:
64 @echo Generating coverage XML report
65 $(GCOVR) -x -r $(top_builddir) -o $(top_builddir)/coverage.xml
66
67clean-coverage-xml: clean-gcda
68 -rm -rf $(top_builddir)/coverage.xml
69
70clean-local: clean-coverage-html clean-coverage-xml
7138
=== added file 'Makefile.am.coverage'
--- Makefile.am.coverage 1970-01-01 00:00:00 +0000
+++ Makefile.am.coverage 2012-04-11 17:27:20 +0000
@@ -0,0 +1,48 @@
1
2# Coverage targets
3
4.PHONY: clean-gcno clean-gcda \
5 coverage-html generate-coverage-html clean-coverage-html \
6 coverage-gcovr generate-coverage-gcovr clean-coverage-gcovr
7
8clean-local: clean-gcno clean-coverage-html clean-coverage-gcovr
9
10if HAVE_GCOV
11
12clean-gcno:
13 @echo Removing old coverage instrumentation
14 -find -name '*.gcno' -print | xargs -r rm
15
16clean-gcda:
17 @echo Removing old coverage results
18 -find -name '*.gcda' -print | xargs -r rm
19
20coverage-html: clean-gcda
21 -$(MAKE) $(AM_MAKEFLAGS) -k check
22 $(MAKE) $(AM_MAKEFLAGS) generate-coverage-html
23
24generate-coverage-html:
25 @echo Collecting coverage data
26 $(LCOV) --directory $(top_builddir) --capture --output-file coverage.info --no-checksum --compat-libtool
27 LANG=C $(GENHTML) --prefix $(top_builddir) --output-directory coveragereport --title "Code Coverage" --legend --show-details coverage.info
28
29clean-coverage-html: clean-gcda
30 -$(LCOV) --directory $(top_builddir) -z
31 -rm -rf coverage.info coveragereport
32
33if HAVE_GCOVR
34
35coverage-gcovr: clean-gcda
36 -$(MAKE) $(AM_MAKEFLAGS) -k check
37 $(MAKE) $(AM_MAKEFLAGS) generate-coverage-gcovr
38
39generate-coverage-gcovr:
40 @echo Generating coverage GCOVR report
41 $(GCOVR) -x -r $(top_builddir) -o $(top_builddir)/coverage.xml
42
43clean-coverage-gcovr: clean-gcda
44 -rm -rf $(top_builddir)/coverage.xml
45
46endif # HAVE_GCOVR
47
48endif # HAVE_GCOV
049
=== modified file 'Makefile.in'
--- Makefile.in 2012-03-21 22:13:03 +0000
+++ Makefile.in 2012-04-11 17:27:20 +0000
@@ -14,6 +14,8 @@
14# PARTICULAR PURPOSE.14# PARTICULAR PURPOSE.
1515
16@SET_MAKE@16@SET_MAKE@
17
18# Coverage targets
17VPATH = @srcdir@19VPATH = @srcdir@
18pkgdatadir = $(datadir)/@PACKAGE@20pkgdatadir = $(datadir)/@PACKAGE@
19pkgincludedir = $(includedir)/@PACKAGE@21pkgincludedir = $(includedir)/@PACKAGE@
@@ -33,15 +35,18 @@
33POST_UNINSTALL = :35POST_UNINSTALL = :
34build_triplet = @build@36build_triplet = @build@
35host_triplet = @host@37host_triplet = @host@
36subdir = .
37DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \38DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
38 $(srcdir)/Makefile.in $(srcdir)/config.h.in \39 $(srcdir)/Makefile.in $(srcdir)/config.h.in \
39 $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \40 $(top_srcdir)/Makefile.am.coverage $(top_srcdir)/configure \
40 compile config.guess config.sub depcomp install-sh ltmain.sh \41 AUTHORS COPYING ChangeLog INSTALL NEWS compile config.guess \
41 missing42 config.sub depcomp install-sh ltmain.sh missing
43subdir = .
42ACLOCAL_M4 = $(top_srcdir)/aclocal.m444ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
43am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \45am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
44 $(top_srcdir)/m4/gcov.m4 $(top_srcdir)/configure.ac46 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
47 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
48 $(top_srcdir)/acinclude.m4 $(top_srcdir)/m4/gcov.m4 \
49 $(top_srcdir)/configure.ac
45am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \50am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
46 $(ACLOCAL_M4)51 $(ACLOCAL_M4)
47am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \52am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -261,7 +266,7 @@
261.SUFFIXES:266.SUFFIXES:
262am--refresh: Makefile267am--refresh: Makefile
263 @:268 @:
264$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)269$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.am.coverage $(am__configure_deps)
265 @for dep in $?; do \270 @for dep in $?; do \
266 case '$(am__configure_deps)' in \271 case '$(am__configure_deps)' in \
267 *$$dep*) \272 *$$dep*) \
@@ -284,6 +289,7 @@
284 echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \289 echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
285 cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \290 cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
286 esac;291 esac;
292$(top_srcdir)/Makefile.am.coverage:
287293
288$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)294$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
289 $(SHELL) ./config.status --recheck295 $(SHELL) ./config.status --recheck
@@ -798,40 +804,43 @@
798 echo Failed to generate AUTHORS: not a branch >&2; \804 echo Failed to generate AUTHORS: not a branch >&2; \
799 fi805 fi
800806
801# Coverage targets807.PHONY: clean-gcno clean-gcda \
802808 coverage-html generate-coverage-html clean-coverage-html \
803.PHONY: clean-gcda809 coverage-gcovr generate-coverage-gcovr clean-coverage-gcovr
804clean-gcda:810
805 @echo Removing old coverage results811clean-local: clean-gcno clean-coverage-html clean-coverage-gcovr
806 -find -name '*.gcda' -print | xargs -r rm812
807813@HAVE_GCOV_TRUE@clean-gcno:
808.PHONY: coverage-html generate-coverage-html clean-coverage-html814@HAVE_GCOV_TRUE@ @echo Removing old coverage instrumentation
809coverage-html: clean-gcda815@HAVE_GCOV_TRUE@ -find -name '*.gcno' -print | xargs -r rm
810 -$(MAKE) $(AM_MAKEFLAGS) -k check816
811 $(MAKE) $(AM_MAKEFLAGS) generate-coverage-html817@HAVE_GCOV_TRUE@clean-gcda:
812818@HAVE_GCOV_TRUE@ @echo Removing old coverage results
813generate-coverage-html:819@HAVE_GCOV_TRUE@ -find -name '*.gcda' -print | xargs -r rm
814 @echo Collecting coverage data820
815 $(LCOV) --directory $(top_builddir) --capture --output-file coverage.info --no-checksum --compat-libtool821@HAVE_GCOV_TRUE@coverage-html: clean-gcda
816 LANG=C $(GENHTML) --prefix $(top_builddir) --output-directory coveragereport --title "Code Coverage" --legend --show-details coverage.info822@HAVE_GCOV_TRUE@ -$(MAKE) $(AM_MAKEFLAGS) -k check
817823@HAVE_GCOV_TRUE@ $(MAKE) $(AM_MAKEFLAGS) generate-coverage-html
818clean-coverage-html: clean-gcda824
819 -$(LCOV) --directory $(top_builddir) -z825@HAVE_GCOV_TRUE@generate-coverage-html:
820 -rm -rf coverage.info coveragereport826@HAVE_GCOV_TRUE@ @echo Collecting coverage data
821827@HAVE_GCOV_TRUE@ $(LCOV) --directory $(top_builddir) --capture --output-file coverage.info --no-checksum --compat-libtool
822.PHONY: coverage-xml generate-coverage-xml clean-coverage-xml828@HAVE_GCOV_TRUE@ LANG=C $(GENHTML) --prefix $(top_builddir) --output-directory coveragereport --title "Code Coverage" --legend --show-details coverage.info
823coverage-xml: clean-gcda829
824 -$(MAKE) $(AM_MAKEFLAGS) -k check830@HAVE_GCOV_TRUE@clean-coverage-html: clean-gcda
825 $(MAKE) $(AM_MAKEFLAGS) generate-coverage-xml831@HAVE_GCOV_TRUE@ -$(LCOV) --directory $(top_builddir) -z
826832@HAVE_GCOV_TRUE@ -rm -rf coverage.info coveragereport
827generate-coverage-xml:833
828 @echo Generating coverage XML report834@HAVE_GCOVR_TRUE@@HAVE_GCOV_TRUE@coverage-gcovr: clean-gcda
829 $(GCOVR) -x -r $(top_builddir) -o $(top_builddir)/coverage.xml835@HAVE_GCOVR_TRUE@@HAVE_GCOV_TRUE@ -$(MAKE) $(AM_MAKEFLAGS) -k check
830836@HAVE_GCOVR_TRUE@@HAVE_GCOV_TRUE@ $(MAKE) $(AM_MAKEFLAGS) generate-coverage-gcovr
831clean-coverage-xml: clean-gcda837
832 -rm -rf $(top_builddir)/coverage.xml838@HAVE_GCOVR_TRUE@@HAVE_GCOV_TRUE@generate-coverage-gcovr:
833839@HAVE_GCOVR_TRUE@@HAVE_GCOV_TRUE@ @echo Generating coverage GCOVR report
834clean-local: clean-coverage-html clean-coverage-xml840@HAVE_GCOVR_TRUE@@HAVE_GCOV_TRUE@ $(GCOVR) -x -r $(top_builddir) -o $(top_builddir)/coverage.xml
841
842@HAVE_GCOVR_TRUE@@HAVE_GCOV_TRUE@clean-coverage-gcovr: clean-gcda
843@HAVE_GCOVR_TRUE@@HAVE_GCOV_TRUE@ -rm -rf $(top_builddir)/coverage.xml
835844
836# Tell versions [3.59,3.63) of GNU make to not export all variables.845# Tell versions [3.59,3.63) of GNU make to not export all variables.
837# Otherwise a system limit (for SysV at least) may be exceeded.846# Otherwise a system limit (for SysV at least) may be exceeded.
838847
=== modified file 'aclocal.m4'
--- aclocal.m4 2012-03-21 22:13:03 +0000
+++ aclocal.m4 2012-04-11 17:27:20 +0000
@@ -20,8612 +20,6 @@
20If you have problems, you may need to regenerate the build system entirely.20If you have problems, you may need to regenerate the build system entirely.
21To do so, use the procedure documented by the package, typically `autoreconf'.])])21To do so, use the procedure documented by the package, typically `autoreconf'.])])
2222
23# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
24#
25# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
26# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
27# Foundation, Inc.
28# Written by Gordon Matzigkeit, 1996
29#
30# This file is free software; the Free Software Foundation gives
31# unlimited permission to copy and/or distribute it, with or without
32# modifications, as long as this notice is preserved.
33
34m4_define([_LT_COPYING], [dnl
35# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
36# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
37# Foundation, Inc.
38# Written by Gordon Matzigkeit, 1996
39#
40# This file is part of GNU Libtool.
41#
42# GNU Libtool is free software; you can redistribute it and/or
43# modify it under the terms of the GNU General Public License as
44# published by the Free Software Foundation; either version 2 of
45# the License, or (at your option) any later version.
46#
47# As a special exception to the GNU General Public License,
48# if you distribute this file as part of a program or library that
49# is built using GNU Libtool, you may include this file under the
50# same distribution terms that you use for the rest of that program.
51#
52# GNU Libtool is distributed in the hope that it will be useful,
53# but WITHOUT ANY WARRANTY; without even the implied warranty of
54# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
55# GNU General Public License for more details.
56#
57# You should have received a copy of the GNU General Public License
58# along with GNU Libtool; see the file COPYING. If not, a copy
59# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
60# obtained by writing to the Free Software Foundation, Inc.,
61# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
62])
63
64# serial 57 LT_INIT
65
66
67# LT_PREREQ(VERSION)
68# ------------------
69# Complain and exit if this libtool version is less that VERSION.
70m4_defun([LT_PREREQ],
71[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
72 [m4_default([$3],
73 [m4_fatal([Libtool version $1 or higher is required],
74 63)])],
75 [$2])])
76
77
78# _LT_CHECK_BUILDDIR
79# ------------------
80# Complain if the absolute build directory name contains unusual characters
81m4_defun([_LT_CHECK_BUILDDIR],
82[case `pwd` in
83 *\ * | *\ *)
84 AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
85esac
86])
87
88
89# LT_INIT([OPTIONS])
90# ------------------
91AC_DEFUN([LT_INIT],
92[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
93AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
94AC_BEFORE([$0], [LT_LANG])dnl
95AC_BEFORE([$0], [LT_OUTPUT])dnl
96AC_BEFORE([$0], [LTDL_INIT])dnl
97m4_require([_LT_CHECK_BUILDDIR])dnl
98
99dnl Autoconf doesn't catch unexpanded LT_ macros by default:
100m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
101m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
102dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
103dnl unless we require an AC_DEFUNed macro:
104AC_REQUIRE([LTOPTIONS_VERSION])dnl
105AC_REQUIRE([LTSUGAR_VERSION])dnl
106AC_REQUIRE([LTVERSION_VERSION])dnl
107AC_REQUIRE([LTOBSOLETE_VERSION])dnl
108m4_require([_LT_PROG_LTMAIN])dnl
109
110_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
111
112dnl Parse OPTIONS
113_LT_SET_OPTIONS([$0], [$1])
114
115# This can be used to rebuild libtool when needed
116LIBTOOL_DEPS="$ltmain"
117
118# Always use our own libtool.
119LIBTOOL='$(SHELL) $(top_builddir)/libtool'
120AC_SUBST(LIBTOOL)dnl
121
122_LT_SETUP
123
124# Only expand once:
125m4_define([LT_INIT])
126])# LT_INIT
127
128# Old names:
129AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
130AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
131dnl aclocal-1.4 backwards compatibility:
132dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
133dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
134
135
136# _LT_CC_BASENAME(CC)
137# -------------------
138# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
139m4_defun([_LT_CC_BASENAME],
140[for cc_temp in $1""; do
141 case $cc_temp in
142 compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
143 distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
144 \-*) ;;
145 *) break;;
146 esac
147done
148cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
149])
150
151
152# _LT_FILEUTILS_DEFAULTS
153# ----------------------
154# It is okay to use these file commands and assume they have been set
155# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
156m4_defun([_LT_FILEUTILS_DEFAULTS],
157[: ${CP="cp -f"}
158: ${MV="mv -f"}
159: ${RM="rm -f"}
160])# _LT_FILEUTILS_DEFAULTS
161
162
163# _LT_SETUP
164# ---------
165m4_defun([_LT_SETUP],
166[AC_REQUIRE([AC_CANONICAL_HOST])dnl
167AC_REQUIRE([AC_CANONICAL_BUILD])dnl
168AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
169AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
170
171_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
172dnl
173_LT_DECL([], [host_alias], [0], [The host system])dnl
174_LT_DECL([], [host], [0])dnl
175_LT_DECL([], [host_os], [0])dnl
176dnl
177_LT_DECL([], [build_alias], [0], [The build system])dnl
178_LT_DECL([], [build], [0])dnl
179_LT_DECL([], [build_os], [0])dnl
180dnl
181AC_REQUIRE([AC_PROG_CC])dnl
182AC_REQUIRE([LT_PATH_LD])dnl
183AC_REQUIRE([LT_PATH_NM])dnl
184dnl
185AC_REQUIRE([AC_PROG_LN_S])dnl
186test -z "$LN_S" && LN_S="ln -s"
187_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
188dnl
189AC_REQUIRE([LT_CMD_MAX_LEN])dnl
190_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
191_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
192dnl
193m4_require([_LT_FILEUTILS_DEFAULTS])dnl
194m4_require([_LT_CHECK_SHELL_FEATURES])dnl
195m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
196m4_require([_LT_CMD_RELOAD])dnl
197m4_require([_LT_CHECK_MAGIC_METHOD])dnl
198m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
199m4_require([_LT_CMD_OLD_ARCHIVE])dnl
200m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
201m4_require([_LT_WITH_SYSROOT])dnl
202
203_LT_CONFIG_LIBTOOL_INIT([
204# See if we are running on zsh, and set the options which allow our
205# commands through without removal of \ escapes INIT.
206if test -n "\${ZSH_VERSION+set}" ; then
207 setopt NO_GLOB_SUBST
208fi
209])
210if test -n "${ZSH_VERSION+set}" ; then
211 setopt NO_GLOB_SUBST
212fi
213
214_LT_CHECK_OBJDIR
215
216m4_require([_LT_TAG_COMPILER])dnl
217
218case $host_os in
219aix3*)
220 # AIX sometimes has problems with the GCC collect2 program. For some
221 # reason, if we set the COLLECT_NAMES environment variable, the problems
222 # vanish in a puff of smoke.
223 if test "X${COLLECT_NAMES+set}" != Xset; then
224 COLLECT_NAMES=
225 export COLLECT_NAMES
226 fi
227 ;;
228esac
229
230# Global variables:
231ofile=libtool
232can_build_shared=yes
233
234# All known linkers require a `.a' archive for static linking (except MSVC,
235# which needs '.lib').
236libext=a
237
238with_gnu_ld="$lt_cv_prog_gnu_ld"
239
240old_CC="$CC"
241old_CFLAGS="$CFLAGS"
242
243# Set sane defaults for various variables
244test -z "$CC" && CC=cc
245test -z "$LTCC" && LTCC=$CC
246test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
247test -z "$LD" && LD=ld
248test -z "$ac_objext" && ac_objext=o
249
250_LT_CC_BASENAME([$compiler])
251
252# Only perform the check for file, if the check method requires it
253test -z "$MAGIC_CMD" && MAGIC_CMD=file
254case $deplibs_check_method in
255file_magic*)
256 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
257 _LT_PATH_MAGIC
258 fi
259 ;;
260esac
261
262# Use C for the default configuration in the libtool script
263LT_SUPPORTED_TAG([CC])
264_LT_LANG_C_CONFIG
265_LT_LANG_DEFAULT_CONFIG
266_LT_CONFIG_COMMANDS
267])# _LT_SETUP
268
269
270# _LT_PREPARE_SED_QUOTE_VARS
271# --------------------------
272# Define a few sed substitution that help us do robust quoting.
273m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
274[# Backslashify metacharacters that are still active within
275# double-quoted strings.
276sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
277
278# Same as above, but do not quote variable references.
279double_quote_subst='s/\([["`\\]]\)/\\\1/g'
280
281# Sed substitution to delay expansion of an escaped shell variable in a
282# double_quote_subst'ed string.
283delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
284
285# Sed substitution to delay expansion of an escaped single quote.
286delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
287
288# Sed substitution to avoid accidental globbing in evaled expressions
289no_glob_subst='s/\*/\\\*/g'
290])
291
292# _LT_PROG_LTMAIN
293# ---------------
294# Note that this code is called both from `configure', and `config.status'
295# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
296# `config.status' has no value for ac_aux_dir unless we are using Automake,
297# so we pass a copy along to make sure it has a sensible value anyway.
298m4_defun([_LT_PROG_LTMAIN],
299[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
300_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
301ltmain="$ac_aux_dir/ltmain.sh"
302])# _LT_PROG_LTMAIN
303
304
305
306# So that we can recreate a full libtool script including additional
307# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
308# in macros and then make a single call at the end using the `libtool'
309# label.
310
311
312# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
313# ----------------------------------------
314# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
315m4_define([_LT_CONFIG_LIBTOOL_INIT],
316[m4_ifval([$1],
317 [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
318 [$1
319])])])
320
321# Initialize.
322m4_define([_LT_OUTPUT_LIBTOOL_INIT])
323
324
325# _LT_CONFIG_LIBTOOL([COMMANDS])
326# ------------------------------
327# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
328m4_define([_LT_CONFIG_LIBTOOL],
329[m4_ifval([$1],
330 [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
331 [$1
332])])])
333
334# Initialize.
335m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
336
337
338# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
339# -----------------------------------------------------
340m4_defun([_LT_CONFIG_SAVE_COMMANDS],
341[_LT_CONFIG_LIBTOOL([$1])
342_LT_CONFIG_LIBTOOL_INIT([$2])
343])
344
345
346# _LT_FORMAT_COMMENT([COMMENT])
347# -----------------------------
348# Add leading comment marks to the start of each line, and a trailing
349# full-stop to the whole comment if one is not present already.
350m4_define([_LT_FORMAT_COMMENT],
351[m4_ifval([$1], [
352m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
353 [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
354)])
355
356
357
358
359
360# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
361# -------------------------------------------------------------------
362# CONFIGNAME is the name given to the value in the libtool script.
363# VARNAME is the (base) name used in the configure script.
364# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
365# VARNAME. Any other value will be used directly.
366m4_define([_LT_DECL],
367[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
368 [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
369 [m4_ifval([$1], [$1], [$2])])
370 lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
371 m4_ifval([$4],
372 [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
373 lt_dict_add_subkey([lt_decl_dict], [$2],
374 [tagged?], [m4_ifval([$5], [yes], [no])])])
375])
376
377
378# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
379# --------------------------------------------------------
380m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
381
382
383# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
384# ------------------------------------------------
385m4_define([lt_decl_tag_varnames],
386[_lt_decl_filter([tagged?], [yes], $@)])
387
388
389# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
390# ---------------------------------------------------------
391m4_define([_lt_decl_filter],
392[m4_case([$#],
393 [0], [m4_fatal([$0: too few arguments: $#])],
394 [1], [m4_fatal([$0: too few arguments: $#: $1])],
395 [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
396 [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
397 [lt_dict_filter([lt_decl_dict], $@)])[]dnl
398])
399
400
401# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
402# --------------------------------------------------
403m4_define([lt_decl_quote_varnames],
404[_lt_decl_filter([value], [1], $@)])
405
406
407# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
408# ---------------------------------------------------
409m4_define([lt_decl_dquote_varnames],
410[_lt_decl_filter([value], [2], $@)])
411
412
413# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
414# ---------------------------------------------------
415m4_define([lt_decl_varnames_tagged],
416[m4_assert([$# <= 2])dnl
417_$0(m4_quote(m4_default([$1], [[, ]])),
418 m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
419 m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
420m4_define([_lt_decl_varnames_tagged],
421[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
422
423
424# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
425# ------------------------------------------------
426m4_define([lt_decl_all_varnames],
427[_$0(m4_quote(m4_default([$1], [[, ]])),
428 m4_if([$2], [],
429 m4_quote(lt_decl_varnames),
430 m4_quote(m4_shift($@))))[]dnl
431])
432m4_define([_lt_decl_all_varnames],
433[lt_join($@, lt_decl_varnames_tagged([$1],
434 lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
435])
436
437
438# _LT_CONFIG_STATUS_DECLARE([VARNAME])
439# ------------------------------------
440# Quote a variable value, and forward it to `config.status' so that its
441# declaration there will have the same value as in `configure'. VARNAME
442# must have a single quote delimited value for this to work.
443m4_define([_LT_CONFIG_STATUS_DECLARE],
444[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
445
446
447# _LT_CONFIG_STATUS_DECLARATIONS
448# ------------------------------
449# We delimit libtool config variables with single quotes, so when
450# we write them to config.status, we have to be sure to quote all
451# embedded single quotes properly. In configure, this macro expands
452# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
453#
454# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
455m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
456[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
457 [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
458
459
460# _LT_LIBTOOL_TAGS
461# ----------------
462# Output comment and list of tags supported by the script
463m4_defun([_LT_LIBTOOL_TAGS],
464[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
465available_tags="_LT_TAGS"dnl
466])
467
468
469# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
470# -----------------------------------
471# Extract the dictionary values for VARNAME (optionally with TAG) and
472# expand to a commented shell variable setting:
473#
474# # Some comment about what VAR is for.
475# visible_name=$lt_internal_name
476m4_define([_LT_LIBTOOL_DECLARE],
477[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
478 [description])))[]dnl
479m4_pushdef([_libtool_name],
480 m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
481m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
482 [0], [_libtool_name=[$]$1],
483 [1], [_libtool_name=$lt_[]$1],
484 [2], [_libtool_name=$lt_[]$1],
485 [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
486m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
487])
488
489
490# _LT_LIBTOOL_CONFIG_VARS
491# -----------------------
492# Produce commented declarations of non-tagged libtool config variables
493# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
494# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
495# section) are produced by _LT_LIBTOOL_TAG_VARS.
496m4_defun([_LT_LIBTOOL_CONFIG_VARS],
497[m4_foreach([_lt_var],
498 m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
499 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
500
501
502# _LT_LIBTOOL_TAG_VARS(TAG)
503# -------------------------
504m4_define([_LT_LIBTOOL_TAG_VARS],
505[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
506 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
507
508
509# _LT_TAGVAR(VARNAME, [TAGNAME])
510# ------------------------------
511m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
512
513
514# _LT_CONFIG_COMMANDS
515# -------------------
516# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
517# variables for single and double quote escaping we saved from calls
518# to _LT_DECL, we can put quote escaped variables declarations
519# into `config.status', and then the shell code to quote escape them in
520# for loops in `config.status'. Finally, any additional code accumulated
521# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
522m4_defun([_LT_CONFIG_COMMANDS],
523[AC_PROVIDE_IFELSE([LT_OUTPUT],
524 dnl If the libtool generation code has been placed in $CONFIG_LT,
525 dnl instead of duplicating it all over again into config.status,
526 dnl then we will have config.status run $CONFIG_LT later, so it
527 dnl needs to know what name is stored there:
528 [AC_CONFIG_COMMANDS([libtool],
529 [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
530 dnl If the libtool generation code is destined for config.status,
531 dnl expand the accumulated commands and init code now:
532 [AC_CONFIG_COMMANDS([libtool],
533 [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
534])#_LT_CONFIG_COMMANDS
535
536
537# Initialize.
538m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
539[
540
541# The HP-UX ksh and POSIX shell print the target directory to stdout
542# if CDPATH is set.
543(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
544
545sed_quote_subst='$sed_quote_subst'
546double_quote_subst='$double_quote_subst'
547delay_variable_subst='$delay_variable_subst'
548_LT_CONFIG_STATUS_DECLARATIONS
549LTCC='$LTCC'
550LTCFLAGS='$LTCFLAGS'
551compiler='$compiler_DEFAULT'
552
553# A function that is used when there is no print builtin or printf.
554func_fallback_echo ()
555{
556 eval 'cat <<_LTECHO_EOF
557\$[]1
558_LTECHO_EOF'
559}
560
561# Quote evaled strings.
562for var in lt_decl_all_varnames([[ \
563]], lt_decl_quote_varnames); do
564 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
565 *[[\\\\\\\`\\"\\\$]]*)
566 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
567 ;;
568 *)
569 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
570 ;;
571 esac
572done
573
574# Double-quote double-evaled strings.
575for var in lt_decl_all_varnames([[ \
576]], lt_decl_dquote_varnames); do
577 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
578 *[[\\\\\\\`\\"\\\$]]*)
579 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
580 ;;
581 *)
582 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
583 ;;
584 esac
585done
586
587_LT_OUTPUT_LIBTOOL_INIT
588])
589
590# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
591# ------------------------------------
592# Generate a child script FILE with all initialization necessary to
593# reuse the environment learned by the parent script, and make the
594# file executable. If COMMENT is supplied, it is inserted after the
595# `#!' sequence but before initialization text begins. After this
596# macro, additional text can be appended to FILE to form the body of
597# the child script. The macro ends with non-zero status if the
598# file could not be fully written (such as if the disk is full).
599m4_ifdef([AS_INIT_GENERATED],
600[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
601[m4_defun([_LT_GENERATED_FILE_INIT],
602[m4_require([AS_PREPARE])]dnl
603[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
604[lt_write_fail=0
605cat >$1 <<_ASEOF || lt_write_fail=1
606#! $SHELL
607# Generated by $as_me.
608$2
609SHELL=\${CONFIG_SHELL-$SHELL}
610export SHELL
611_ASEOF
612cat >>$1 <<\_ASEOF || lt_write_fail=1
613AS_SHELL_SANITIZE
614_AS_PREPARE
615exec AS_MESSAGE_FD>&1
616_ASEOF
617test $lt_write_fail = 0 && chmod +x $1[]dnl
618m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
619
620# LT_OUTPUT
621# ---------
622# This macro allows early generation of the libtool script (before
623# AC_OUTPUT is called), incase it is used in configure for compilation
624# tests.
625AC_DEFUN([LT_OUTPUT],
626[: ${CONFIG_LT=./config.lt}
627AC_MSG_NOTICE([creating $CONFIG_LT])
628_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
629[# Run this file to recreate a libtool stub with the current configuration.])
630
631cat >>"$CONFIG_LT" <<\_LTEOF
632lt_cl_silent=false
633exec AS_MESSAGE_LOG_FD>>config.log
634{
635 echo
636 AS_BOX([Running $as_me.])
637} >&AS_MESSAGE_LOG_FD
638
639lt_cl_help="\
640\`$as_me' creates a local libtool stub from the current configuration,
641for use in further configure time tests before the real libtool is
642generated.
643
644Usage: $[0] [[OPTIONS]]
645
646 -h, --help print this help, then exit
647 -V, --version print version number, then exit
648 -q, --quiet do not print progress messages
649 -d, --debug don't remove temporary files
650
651Report bugs to <bug-libtool@gnu.org>."
652
653lt_cl_version="\
654m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
655m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
656configured by $[0], generated by m4_PACKAGE_STRING.
657
658Copyright (C) 2011 Free Software Foundation, Inc.
659This config.lt script is free software; the Free Software Foundation
660gives unlimited permision to copy, distribute and modify it."
661
662while test $[#] != 0
663do
664 case $[1] in
665 --version | --v* | -V )
666 echo "$lt_cl_version"; exit 0 ;;
667 --help | --h* | -h )
668 echo "$lt_cl_help"; exit 0 ;;
669 --debug | --d* | -d )
670 debug=: ;;
671 --quiet | --q* | --silent | --s* | -q )
672 lt_cl_silent=: ;;
673
674 -*) AC_MSG_ERROR([unrecognized option: $[1]
675Try \`$[0] --help' for more information.]) ;;
676
677 *) AC_MSG_ERROR([unrecognized argument: $[1]
678Try \`$[0] --help' for more information.]) ;;
679 esac
680 shift
681done
682
683if $lt_cl_silent; then
684 exec AS_MESSAGE_FD>/dev/null
685fi
686_LTEOF
687
688cat >>"$CONFIG_LT" <<_LTEOF
689_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
690_LTEOF
691
692cat >>"$CONFIG_LT" <<\_LTEOF
693AC_MSG_NOTICE([creating $ofile])
694_LT_OUTPUT_LIBTOOL_COMMANDS
695AS_EXIT(0)
696_LTEOF
697chmod +x "$CONFIG_LT"
698
699# configure is writing to config.log, but config.lt does its own redirection,
700# appending to config.log, which fails on DOS, as config.log is still kept
701# open by configure. Here we exec the FD to /dev/null, effectively closing
702# config.log, so it can be properly (re)opened and appended to by config.lt.
703lt_cl_success=:
704test "$silent" = yes &&
705 lt_config_lt_args="$lt_config_lt_args --quiet"
706exec AS_MESSAGE_LOG_FD>/dev/null
707$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
708exec AS_MESSAGE_LOG_FD>>config.log
709$lt_cl_success || AS_EXIT(1)
710])# LT_OUTPUT
711
712
713# _LT_CONFIG(TAG)
714# ---------------
715# If TAG is the built-in tag, create an initial libtool script with a
716# default configuration from the untagged config vars. Otherwise add code
717# to config.status for appending the configuration named by TAG from the
718# matching tagged config vars.
719m4_defun([_LT_CONFIG],
720[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
721_LT_CONFIG_SAVE_COMMANDS([
722 m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
723 m4_if(_LT_TAG, [C], [
724 # See if we are running on zsh, and set the options which allow our
725 # commands through without removal of \ escapes.
726 if test -n "${ZSH_VERSION+set}" ; then
727 setopt NO_GLOB_SUBST
728 fi
729
730 cfgfile="${ofile}T"
731 trap "$RM \"$cfgfile\"; exit 1" 1 2 15
732 $RM "$cfgfile"
733
734 cat <<_LT_EOF >> "$cfgfile"
735#! $SHELL
736
737# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
738# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
739# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
740# NOTE: Changes made to this file will be lost: look at ltmain.sh.
741#
742_LT_COPYING
743_LT_LIBTOOL_TAGS
744
745# ### BEGIN LIBTOOL CONFIG
746_LT_LIBTOOL_CONFIG_VARS
747_LT_LIBTOOL_TAG_VARS
748# ### END LIBTOOL CONFIG
749
750_LT_EOF
751
752 case $host_os in
753 aix3*)
754 cat <<\_LT_EOF >> "$cfgfile"
755# AIX sometimes has problems with the GCC collect2 program. For some
756# reason, if we set the COLLECT_NAMES environment variable, the problems
757# vanish in a puff of smoke.
758if test "X${COLLECT_NAMES+set}" != Xset; then
759 COLLECT_NAMES=
760 export COLLECT_NAMES
761fi
762_LT_EOF
763 ;;
764 esac
765
766 _LT_PROG_LTMAIN
767
768 # We use sed instead of cat because bash on DJGPP gets confused if
769 # if finds mixed CR/LF and LF-only lines. Since sed operates in
770 # text mode, it properly converts lines to CR/LF. This bash problem
771 # is reportedly fixed, but why not run on old versions too?
772 sed '$q' "$ltmain" >> "$cfgfile" \
773 || (rm -f "$cfgfile"; exit 1)
774
775 _LT_PROG_REPLACE_SHELLFNS
776
777 mv -f "$cfgfile" "$ofile" ||
778 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
779 chmod +x "$ofile"
780],
781[cat <<_LT_EOF >> "$ofile"
782
783dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
784dnl in a comment (ie after a #).
785# ### BEGIN LIBTOOL TAG CONFIG: $1
786_LT_LIBTOOL_TAG_VARS(_LT_TAG)
787# ### END LIBTOOL TAG CONFIG: $1
788_LT_EOF
789])dnl /m4_if
790],
791[m4_if([$1], [], [
792 PACKAGE='$PACKAGE'
793 VERSION='$VERSION'
794 TIMESTAMP='$TIMESTAMP'
795 RM='$RM'
796 ofile='$ofile'], [])
797])dnl /_LT_CONFIG_SAVE_COMMANDS
798])# _LT_CONFIG
799
800
801# LT_SUPPORTED_TAG(TAG)
802# ---------------------
803# Trace this macro to discover what tags are supported by the libtool
804# --tag option, using:
805# autoconf --trace 'LT_SUPPORTED_TAG:$1'
806AC_DEFUN([LT_SUPPORTED_TAG], [])
807
808
809# C support is built-in for now
810m4_define([_LT_LANG_C_enabled], [])
811m4_define([_LT_TAGS], [])
812
813
814# LT_LANG(LANG)
815# -------------
816# Enable libtool support for the given language if not already enabled.
817AC_DEFUN([LT_LANG],
818[AC_BEFORE([$0], [LT_OUTPUT])dnl
819m4_case([$1],
820 [C], [_LT_LANG(C)],
821 [C++], [_LT_LANG(CXX)],
822 [Go], [_LT_LANG(GO)],
823 [Java], [_LT_LANG(GCJ)],
824 [Fortran 77], [_LT_LANG(F77)],
825 [Fortran], [_LT_LANG(FC)],
826 [Windows Resource], [_LT_LANG(RC)],
827 [m4_ifdef([_LT_LANG_]$1[_CONFIG],
828 [_LT_LANG($1)],
829 [m4_fatal([$0: unsupported language: "$1"])])])dnl
830])# LT_LANG
831
832
833# _LT_LANG(LANGNAME)
834# ------------------
835m4_defun([_LT_LANG],
836[m4_ifdef([_LT_LANG_]$1[_enabled], [],
837 [LT_SUPPORTED_TAG([$1])dnl
838 m4_append([_LT_TAGS], [$1 ])dnl
839 m4_define([_LT_LANG_]$1[_enabled], [])dnl
840 _LT_LANG_$1_CONFIG($1)])dnl
841])# _LT_LANG
842
843
844m4_ifndef([AC_PROG_GO], [
845# NOTE: This macro has been submitted for inclusion into #
846# GNU Autoconf as AC_PROG_GO. When it is available in #
847# a released version of Autoconf we should remove this #
848# macro and use it instead. #
849m4_defun([AC_PROG_GO],
850[AC_LANG_PUSH(Go)dnl
851AC_ARG_VAR([GOC], [Go compiler command])dnl
852AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
853_AC_ARG_VAR_LDFLAGS()dnl
854AC_CHECK_TOOL(GOC, gccgo)
855if test -z "$GOC"; then
856 if test -n "$ac_tool_prefix"; then
857 AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
858 fi
859fi
860if test -z "$GOC"; then
861 AC_CHECK_PROG(GOC, gccgo, gccgo, false)
862fi
863])#m4_defun
864])#m4_ifndef
865
866
867# _LT_LANG_DEFAULT_CONFIG
868# -----------------------
869m4_defun([_LT_LANG_DEFAULT_CONFIG],
870[AC_PROVIDE_IFELSE([AC_PROG_CXX],
871 [LT_LANG(CXX)],
872 [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
873
874AC_PROVIDE_IFELSE([AC_PROG_F77],
875 [LT_LANG(F77)],
876 [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
877
878AC_PROVIDE_IFELSE([AC_PROG_FC],
879 [LT_LANG(FC)],
880 [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
881
882dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
883dnl pulling things in needlessly.
884AC_PROVIDE_IFELSE([AC_PROG_GCJ],
885 [LT_LANG(GCJ)],
886 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
887 [LT_LANG(GCJ)],
888 [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
889 [LT_LANG(GCJ)],
890 [m4_ifdef([AC_PROG_GCJ],
891 [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
892 m4_ifdef([A][M_PROG_GCJ],
893 [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
894 m4_ifdef([LT_PROG_GCJ],
895 [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
896
897AC_PROVIDE_IFELSE([AC_PROG_GO],
898 [LT_LANG(GO)],
899 [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
900
901AC_PROVIDE_IFELSE([LT_PROG_RC],
902 [LT_LANG(RC)],
903 [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
904])# _LT_LANG_DEFAULT_CONFIG
905
906# Obsolete macros:
907AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
908AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
909AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
910AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
911AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
912dnl aclocal-1.4 backwards compatibility:
913dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
914dnl AC_DEFUN([AC_LIBTOOL_F77], [])
915dnl AC_DEFUN([AC_LIBTOOL_FC], [])
916dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
917dnl AC_DEFUN([AC_LIBTOOL_RC], [])
918
919
920# _LT_TAG_COMPILER
921# ----------------
922m4_defun([_LT_TAG_COMPILER],
923[AC_REQUIRE([AC_PROG_CC])dnl
924
925_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
926_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
927_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
928_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
929
930# If no C compiler was specified, use CC.
931LTCC=${LTCC-"$CC"}
932
933# If no C compiler flags were specified, use CFLAGS.
934LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
935
936# Allow CC to be a program name with arguments.
937compiler=$CC
938])# _LT_TAG_COMPILER
939
940
941# _LT_COMPILER_BOILERPLATE
942# ------------------------
943# Check for compiler boilerplate output or warnings with
944# the simple compiler test code.
945m4_defun([_LT_COMPILER_BOILERPLATE],
946[m4_require([_LT_DECL_SED])dnl
947ac_outfile=conftest.$ac_objext
948echo "$lt_simple_compile_test_code" >conftest.$ac_ext
949eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
950_lt_compiler_boilerplate=`cat conftest.err`
951$RM conftest*
952])# _LT_COMPILER_BOILERPLATE
953
954
955# _LT_LINKER_BOILERPLATE
956# ----------------------
957# Check for linker boilerplate output or warnings with
958# the simple link test code.
959m4_defun([_LT_LINKER_BOILERPLATE],
960[m4_require([_LT_DECL_SED])dnl
961ac_outfile=conftest.$ac_objext
962echo "$lt_simple_link_test_code" >conftest.$ac_ext
963eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
964_lt_linker_boilerplate=`cat conftest.err`
965$RM -r conftest*
966])# _LT_LINKER_BOILERPLATE
967
968# _LT_REQUIRED_DARWIN_CHECKS
969# -------------------------
970m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
971 case $host_os in
972 rhapsody* | darwin*)
973 AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
974 AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
975 AC_CHECK_TOOL([LIPO], [lipo], [:])
976 AC_CHECK_TOOL([OTOOL], [otool], [:])
977 AC_CHECK_TOOL([OTOOL64], [otool64], [:])
978 _LT_DECL([], [DSYMUTIL], [1],
979 [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
980 _LT_DECL([], [NMEDIT], [1],
981 [Tool to change global to local symbols on Mac OS X])
982 _LT_DECL([], [LIPO], [1],
983 [Tool to manipulate fat objects and archives on Mac OS X])
984 _LT_DECL([], [OTOOL], [1],
985 [ldd/readelf like tool for Mach-O binaries on Mac OS X])
986 _LT_DECL([], [OTOOL64], [1],
987 [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
988
989 AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
990 [lt_cv_apple_cc_single_mod=no
991 if test -z "${LT_MULTI_MODULE}"; then
992 # By default we will add the -single_module flag. You can override
993 # by either setting the environment variable LT_MULTI_MODULE
994 # non-empty at configure time, or by adding -multi_module to the
995 # link flags.
996 rm -rf libconftest.dylib*
997 echo "int foo(void){return 1;}" > conftest.c
998 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
999-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
1000 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1001 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
1002 _lt_result=$?
1003 # If there is a non-empty error log, and "single_module"
1004 # appears in it, assume the flag caused a linker warning
1005 if test -s conftest.err && $GREP single_module conftest.err; then
1006 cat conftest.err >&AS_MESSAGE_LOG_FD
1007 # Otherwise, if the output was created with a 0 exit code from
1008 # the compiler, it worked.
1009 elif test -f libconftest.dylib && test $_lt_result -eq 0; then
1010 lt_cv_apple_cc_single_mod=yes
1011 else
1012 cat conftest.err >&AS_MESSAGE_LOG_FD
1013 fi
1014 rm -rf libconftest.dylib*
1015 rm -f conftest.*
1016 fi])
1017
1018 AC_CACHE_CHECK([for -exported_symbols_list linker flag],
1019 [lt_cv_ld_exported_symbols_list],
1020 [lt_cv_ld_exported_symbols_list=no
1021 save_LDFLAGS=$LDFLAGS
1022 echo "_main" > conftest.sym
1023 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
1024 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
1025 [lt_cv_ld_exported_symbols_list=yes],
1026 [lt_cv_ld_exported_symbols_list=no])
1027 LDFLAGS="$save_LDFLAGS"
1028 ])
1029
1030 AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
1031 [lt_cv_ld_force_load=no
1032 cat > conftest.c << _LT_EOF
1033int forced_loaded() { return 2;}
1034_LT_EOF
1035 echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
1036 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
1037 echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
1038 $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
1039 echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
1040 $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
1041 cat > conftest.c << _LT_EOF
1042int main() { return 0;}
1043_LT_EOF
1044 echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
1045 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
1046 _lt_result=$?
1047 if test -s conftest.err && $GREP force_load conftest.err; then
1048 cat conftest.err >&AS_MESSAGE_LOG_FD
1049 elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
1050 lt_cv_ld_force_load=yes
1051 else
1052 cat conftest.err >&AS_MESSAGE_LOG_FD
1053 fi
1054 rm -f conftest.err libconftest.a conftest conftest.c
1055 rm -rf conftest.dSYM
1056 ])
1057 case $host_os in
1058 rhapsody* | darwin1.[[012]])
1059 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
1060 darwin1.*)
1061 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1062 darwin*) # darwin 5.x on
1063 # if running on 10.5 or later, the deployment target defaults
1064 # to the OS version, if on x86, and 10.4, the deployment
1065 # target defaults to 10.4. Don't you love it?
1066 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
1067 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
1068 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1069 10.[[012]]*)
1070 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1071 10.*)
1072 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1073 esac
1074 ;;
1075 esac
1076 if test "$lt_cv_apple_cc_single_mod" = "yes"; then
1077 _lt_dar_single_mod='$single_module'
1078 fi
1079 if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
1080 _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
1081 else
1082 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
1083 fi
1084 if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
1085 _lt_dsymutil='~$DSYMUTIL $lib || :'
1086 else
1087 _lt_dsymutil=
1088 fi
1089 ;;
1090 esac
1091])
1092
1093
1094# _LT_DARWIN_LINKER_FEATURES([TAG])
1095# ---------------------------------
1096# Checks for linker and compiler features on darwin
1097m4_defun([_LT_DARWIN_LINKER_FEATURES],
1098[
1099 m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1100 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1101 _LT_TAGVAR(hardcode_direct, $1)=no
1102 _LT_TAGVAR(hardcode_automatic, $1)=yes
1103 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1104 if test "$lt_cv_ld_force_load" = "yes"; then
1105 _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\"`'
1106 m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
1107 [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
1108 else
1109 _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1110 fi
1111 _LT_TAGVAR(link_all_deplibs, $1)=yes
1112 _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
1113 case $cc_basename in
1114 ifort*) _lt_dar_can_shared=yes ;;
1115 *) _lt_dar_can_shared=$GCC ;;
1116 esac
1117 if test "$_lt_dar_can_shared" = "yes"; then
1118 output_verbose_link_cmd=func_echo_all
1119 _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}"
1120 _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
1121 _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}"
1122 _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}"
1123 m4_if([$1], [CXX],
1124[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
1125 _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}"
1126 _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}"
1127 fi
1128],[])
1129 else
1130 _LT_TAGVAR(ld_shlibs, $1)=no
1131 fi
1132])
1133
1134# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
1135# ----------------------------------
1136# Links a minimal program and checks the executable
1137# for the system default hardcoded library path. In most cases,
1138# this is /usr/lib:/lib, but when the MPI compilers are used
1139# the location of the communication and MPI libs are included too.
1140# If we don't find anything, use the default library path according
1141# to the aix ld manual.
1142# Store the results from the different compilers for each TAGNAME.
1143# Allow to override them for all tags through lt_cv_aix_libpath.
1144m4_defun([_LT_SYS_MODULE_PATH_AIX],
1145[m4_require([_LT_DECL_SED])dnl
1146if test "${lt_cv_aix_libpath+set}" = set; then
1147 aix_libpath=$lt_cv_aix_libpath
1148else
1149 AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
1150 [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
1151 lt_aix_libpath_sed='[
1152 /Import File Strings/,/^$/ {
1153 /^0/ {
1154 s/^0 *\([^ ]*\) *$/\1/
1155 p
1156 }
1157 }]'
1158 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1159 # Check for a 64-bit object if we didn't find anything.
1160 if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1161 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1162 fi],[])
1163 if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1164 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
1165 fi
1166 ])
1167 aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
1168fi
1169])# _LT_SYS_MODULE_PATH_AIX
1170
1171
1172# _LT_SHELL_INIT(ARG)
1173# -------------------
1174m4_define([_LT_SHELL_INIT],
1175[m4_divert_text([M4SH-INIT], [$1
1176])])# _LT_SHELL_INIT
1177
1178
1179
1180# _LT_PROG_ECHO_BACKSLASH
1181# -----------------------
1182# Find how we can fake an echo command that does not interpret backslash.
1183# In particular, with Autoconf 2.60 or later we add some code to the start
1184# of the generated configure script which will find a shell with a builtin
1185# printf (which we can use as an echo command).
1186m4_defun([_LT_PROG_ECHO_BACKSLASH],
1187[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1188ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1189ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1190
1191AC_MSG_CHECKING([how to print strings])
1192# Test print first, because it will be a builtin if present.
1193if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
1194 test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
1195 ECHO='print -r --'
1196elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
1197 ECHO='printf %s\n'
1198else
1199 # Use this function as a fallback that always works.
1200 func_fallback_echo ()
1201 {
1202 eval 'cat <<_LTECHO_EOF
1203$[]1
1204_LTECHO_EOF'
1205 }
1206 ECHO='func_fallback_echo'
1207fi
1208
1209# func_echo_all arg...
1210# Invoke $ECHO with all args, space-separated.
1211func_echo_all ()
1212{
1213 $ECHO "$*"
1214}
1215
1216case "$ECHO" in
1217 printf*) AC_MSG_RESULT([printf]) ;;
1218 print*) AC_MSG_RESULT([print -r]) ;;
1219 *) AC_MSG_RESULT([cat]) ;;
1220esac
1221
1222m4_ifdef([_AS_DETECT_SUGGESTED],
1223[_AS_DETECT_SUGGESTED([
1224 test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
1225 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1226 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1227 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1228 PATH=/empty FPATH=/empty; export PATH FPATH
1229 test "X`printf %s $ECHO`" = "X$ECHO" \
1230 || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
1231
1232_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1233_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
1234])# _LT_PROG_ECHO_BACKSLASH
1235
1236
1237# _LT_WITH_SYSROOT
1238# ----------------
1239AC_DEFUN([_LT_WITH_SYSROOT],
1240[AC_MSG_CHECKING([for sysroot])
1241AC_ARG_WITH([sysroot],
1242[ --with-sysroot[=DIR] Search for dependent libraries within DIR
1243 (or the compiler's sysroot if not specified).],
1244[], [with_sysroot=no])
1245
1246dnl lt_sysroot will always be passed unquoted. We quote it here
1247dnl in case the user passed a directory name.
1248lt_sysroot=
1249case ${with_sysroot} in #(
1250 yes)
1251 if test "$GCC" = yes; then
1252 lt_sysroot=`$CC --print-sysroot 2>/dev/null`
1253 fi
1254 ;; #(
1255 /*)
1256 lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
1257 ;; #(
1258 no|'')
1259 ;; #(
1260 *)
1261 AC_MSG_RESULT([${with_sysroot}])
1262 AC_MSG_ERROR([The sysroot must be an absolute path.])
1263 ;;
1264esac
1265
1266 AC_MSG_RESULT([${lt_sysroot:-no}])
1267_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
1268[dependent libraries, and in which our libraries should be installed.])])
1269
1270# _LT_ENABLE_LOCK
1271# ---------------
1272m4_defun([_LT_ENABLE_LOCK],
1273[AC_ARG_ENABLE([libtool-lock],
1274 [AS_HELP_STRING([--disable-libtool-lock],
1275 [avoid locking (might break parallel builds)])])
1276test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1277
1278# Some flags need to be propagated to the compiler or linker for good
1279# libtool support.
1280case $host in
1281ia64-*-hpux*)
1282 # Find out which ABI we are using.
1283 echo 'int i;' > conftest.$ac_ext
1284 if AC_TRY_EVAL(ac_compile); then
1285 case `/usr/bin/file conftest.$ac_objext` in
1286 *ELF-32*)
1287 HPUX_IA64_MODE="32"
1288 ;;
1289 *ELF-64*)
1290 HPUX_IA64_MODE="64"
1291 ;;
1292 esac
1293 fi
1294 rm -rf conftest*
1295 ;;
1296*-*-irix6*)
1297 # Find out which ABI we are using.
1298 echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1299 if AC_TRY_EVAL(ac_compile); then
1300 if test "$lt_cv_prog_gnu_ld" = yes; then
1301 case `/usr/bin/file conftest.$ac_objext` in
1302 *32-bit*)
1303 LD="${LD-ld} -melf32bsmip"
1304 ;;
1305 *N32*)
1306 LD="${LD-ld} -melf32bmipn32"
1307 ;;
1308 *64-bit*)
1309 LD="${LD-ld} -melf64bmip"
1310 ;;
1311 esac
1312 else
1313 case `/usr/bin/file conftest.$ac_objext` in
1314 *32-bit*)
1315 LD="${LD-ld} -32"
1316 ;;
1317 *N32*)
1318 LD="${LD-ld} -n32"
1319 ;;
1320 *64-bit*)
1321 LD="${LD-ld} -64"
1322 ;;
1323 esac
1324 fi
1325 fi
1326 rm -rf conftest*
1327 ;;
1328
1329x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
1330s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1331 # Find out which ABI we are using.
1332 echo 'int i;' > conftest.$ac_ext
1333 if AC_TRY_EVAL(ac_compile); then
1334 case `/usr/bin/file conftest.o` in
1335 *32-bit*)
1336 case $host in
1337 x86_64-*kfreebsd*-gnu)
1338 LD="${LD-ld} -m elf_i386_fbsd"
1339 ;;
1340 x86_64-*linux*)
1341 LD="${LD-ld} -m elf_i386"
1342 ;;
1343 ppc64-*linux*|powerpc64-*linux*)
1344 LD="${LD-ld} -m elf32ppclinux"
1345 ;;
1346 s390x-*linux*)
1347 LD="${LD-ld} -m elf_s390"
1348 ;;
1349 sparc64-*linux*)
1350 LD="${LD-ld} -m elf32_sparc"
1351 ;;
1352 esac
1353 ;;
1354 *64-bit*)
1355 case $host in
1356 x86_64-*kfreebsd*-gnu)
1357 LD="${LD-ld} -m elf_x86_64_fbsd"
1358 ;;
1359 x86_64-*linux*)
1360 LD="${LD-ld} -m elf_x86_64"
1361 ;;
1362 ppc*-*linux*|powerpc*-*linux*)
1363 LD="${LD-ld} -m elf64ppc"
1364 ;;
1365 s390*-*linux*|s390*-*tpf*)
1366 LD="${LD-ld} -m elf64_s390"
1367 ;;
1368 sparc*-*linux*)
1369 LD="${LD-ld} -m elf64_sparc"
1370 ;;
1371 esac
1372 ;;
1373 esac
1374 fi
1375 rm -rf conftest*
1376 ;;
1377
1378*-*-sco3.2v5*)
1379 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1380 SAVE_CFLAGS="$CFLAGS"
1381 CFLAGS="$CFLAGS -belf"
1382 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1383 [AC_LANG_PUSH(C)
1384 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1385 AC_LANG_POP])
1386 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
1387 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1388 CFLAGS="$SAVE_CFLAGS"
1389 fi
1390 ;;
1391*-*solaris*)
1392 # Find out which ABI we are using.
1393 echo 'int i;' > conftest.$ac_ext
1394 if AC_TRY_EVAL(ac_compile); then
1395 case `/usr/bin/file conftest.o` in
1396 *64-bit*)
1397 case $lt_cv_prog_gnu_ld in
1398 yes*)
1399 case $host in
1400 i?86-*-solaris*)
1401 LD="${LD-ld} -m elf_x86_64"
1402 ;;
1403 sparc*-*-solaris*)
1404 LD="${LD-ld} -m elf64_sparc"
1405 ;;
1406 esac
1407 # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
1408 if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
1409 LD="${LD-ld}_sol2"
1410 fi
1411 ;;
1412 *)
1413 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1414 LD="${LD-ld} -64"
1415 fi
1416 ;;
1417 esac
1418 ;;
1419 esac
1420 fi
1421 rm -rf conftest*
1422 ;;
1423esac
1424
1425need_locks="$enable_libtool_lock"
1426])# _LT_ENABLE_LOCK
1427
1428
1429# _LT_PROG_AR
1430# -----------
1431m4_defun([_LT_PROG_AR],
1432[AC_CHECK_TOOLS(AR, [ar], false)
1433: ${AR=ar}
1434: ${AR_FLAGS=cru}
1435_LT_DECL([], [AR], [1], [The archiver])
1436_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
1437
1438AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
1439 [lt_cv_ar_at_file=no
1440 AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
1441 [echo conftest.$ac_objext > conftest.lst
1442 lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
1443 AC_TRY_EVAL([lt_ar_try])
1444 if test "$ac_status" -eq 0; then
1445 # Ensure the archiver fails upon bogus file names.
1446 rm -f conftest.$ac_objext libconftest.a
1447 AC_TRY_EVAL([lt_ar_try])
1448 if test "$ac_status" -ne 0; then
1449 lt_cv_ar_at_file=@
1450 fi
1451 fi
1452 rm -f conftest.* libconftest.a
1453 ])
1454 ])
1455
1456if test "x$lt_cv_ar_at_file" = xno; then
1457 archiver_list_spec=
1458else
1459 archiver_list_spec=$lt_cv_ar_at_file
1460fi
1461_LT_DECL([], [archiver_list_spec], [1],
1462 [How to feed a file listing to the archiver])
1463])# _LT_PROG_AR
1464
1465
1466# _LT_CMD_OLD_ARCHIVE
1467# -------------------
1468m4_defun([_LT_CMD_OLD_ARCHIVE],
1469[_LT_PROG_AR
1470
1471AC_CHECK_TOOL(STRIP, strip, :)
1472test -z "$STRIP" && STRIP=:
1473_LT_DECL([], [STRIP], [1], [A symbol stripping program])
1474
1475AC_CHECK_TOOL(RANLIB, ranlib, :)
1476test -z "$RANLIB" && RANLIB=:
1477_LT_DECL([], [RANLIB], [1],
1478 [Commands used to install an old-style archive])
1479
1480# Determine commands to create old-style static archives.
1481old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1482old_postinstall_cmds='chmod 644 $oldlib'
1483old_postuninstall_cmds=
1484
1485if test -n "$RANLIB"; then
1486 case $host_os in
1487 openbsd*)
1488 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
1489 ;;
1490 *)
1491 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
1492 ;;
1493 esac
1494 old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
1495fi
1496
1497case $host_os in
1498 darwin*)
1499 lock_old_archive_extraction=yes ;;
1500 *)
1501 lock_old_archive_extraction=no ;;
1502esac
1503_LT_DECL([], [old_postinstall_cmds], [2])
1504_LT_DECL([], [old_postuninstall_cmds], [2])
1505_LT_TAGDECL([], [old_archive_cmds], [2],
1506 [Commands used to build an old-style archive])
1507_LT_DECL([], [lock_old_archive_extraction], [0],
1508 [Whether to use a lock for old archive extraction])
1509])# _LT_CMD_OLD_ARCHIVE
1510
1511
1512# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1513# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1514# ----------------------------------------------------------------
1515# Check whether the given compiler option works
1516AC_DEFUN([_LT_COMPILER_OPTION],
1517[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1518m4_require([_LT_DECL_SED])dnl
1519AC_CACHE_CHECK([$1], [$2],
1520 [$2=no
1521 m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1522 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1523 lt_compiler_flag="$3"
1524 # Insert the option either (1) after the last *FLAGS variable, or
1525 # (2) before a word containing "conftest.", or (3) at the end.
1526 # Note that $ac_compile itself does not contain backslashes and begins
1527 # with a dollar sign (not a hyphen), so the echo should work correctly.
1528 # The option is referenced via a variable to avoid confusing sed.
1529 lt_compile=`echo "$ac_compile" | $SED \
1530 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1531 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1532 -e 's:$: $lt_compiler_flag:'`
1533 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1534 (eval "$lt_compile" 2>conftest.err)
1535 ac_status=$?
1536 cat conftest.err >&AS_MESSAGE_LOG_FD
1537 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1538 if (exit $ac_status) && test -s "$ac_outfile"; then
1539 # The compiler can only warn and ignore the option if not recognized
1540 # So say no if there are warnings other than the usual output.
1541 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
1542 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1543 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1544 $2=yes
1545 fi
1546 fi
1547 $RM conftest*
1548])
1549
1550if test x"[$]$2" = xyes; then
1551 m4_if([$5], , :, [$5])
1552else
1553 m4_if([$6], , :, [$6])
1554fi
1555])# _LT_COMPILER_OPTION
1556
1557# Old name:
1558AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1559dnl aclocal-1.4 backwards compatibility:
1560dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1561
1562
1563# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1564# [ACTION-SUCCESS], [ACTION-FAILURE])
1565# ----------------------------------------------------
1566# Check whether the given linker option works
1567AC_DEFUN([_LT_LINKER_OPTION],
1568[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1569m4_require([_LT_DECL_SED])dnl
1570AC_CACHE_CHECK([$1], [$2],
1571 [$2=no
1572 save_LDFLAGS="$LDFLAGS"
1573 LDFLAGS="$LDFLAGS $3"
1574 echo "$lt_simple_link_test_code" > conftest.$ac_ext
1575 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1576 # The linker can only warn and ignore the option if not recognized
1577 # So say no if there are warnings
1578 if test -s conftest.err; then
1579 # Append any errors to the config.log.
1580 cat conftest.err 1>&AS_MESSAGE_LOG_FD
1581 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
1582 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1583 if diff conftest.exp conftest.er2 >/dev/null; then
1584 $2=yes
1585 fi
1586 else
1587 $2=yes
1588 fi
1589 fi
1590 $RM -r conftest*
1591 LDFLAGS="$save_LDFLAGS"
1592])
1593
1594if test x"[$]$2" = xyes; then
1595 m4_if([$4], , :, [$4])
1596else
1597 m4_if([$5], , :, [$5])
1598fi
1599])# _LT_LINKER_OPTION
1600
1601# Old name:
1602AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1603dnl aclocal-1.4 backwards compatibility:
1604dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1605
1606
1607# LT_CMD_MAX_LEN
1608#---------------
1609AC_DEFUN([LT_CMD_MAX_LEN],
1610[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1611# find the maximum length of command line arguments
1612AC_MSG_CHECKING([the maximum length of command line arguments])
1613AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1614 i=0
1615 teststring="ABCD"
1616
1617 case $build_os in
1618 msdosdjgpp*)
1619 # On DJGPP, this test can blow up pretty badly due to problems in libc
1620 # (any single argument exceeding 2000 bytes causes a buffer overrun
1621 # during glob expansion). Even if it were fixed, the result of this
1622 # check would be larger than it should be.
1623 lt_cv_sys_max_cmd_len=12288; # 12K is about right
1624 ;;
1625
1626 gnu*)
1627 # Under GNU Hurd, this test is not required because there is
1628 # no limit to the length of command line arguments.
1629 # Libtool will interpret -1 as no limit whatsoever
1630 lt_cv_sys_max_cmd_len=-1;
1631 ;;
1632
1633 cygwin* | mingw* | cegcc*)
1634 # On Win9x/ME, this test blows up -- it succeeds, but takes
1635 # about 5 minutes as the teststring grows exponentially.
1636 # Worse, since 9x/ME are not pre-emptively multitasking,
1637 # you end up with a "frozen" computer, even though with patience
1638 # the test eventually succeeds (with a max line length of 256k).
1639 # Instead, let's just punt: use the minimum linelength reported by
1640 # all of the supported platforms: 8192 (on NT/2K/XP).
1641 lt_cv_sys_max_cmd_len=8192;
1642 ;;
1643
1644 mint*)
1645 # On MiNT this can take a long time and run out of memory.
1646 lt_cv_sys_max_cmd_len=8192;
1647 ;;
1648
1649 amigaos*)
1650 # On AmigaOS with pdksh, this test takes hours, literally.
1651 # So we just punt and use a minimum line length of 8192.
1652 lt_cv_sys_max_cmd_len=8192;
1653 ;;
1654
1655 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
1656 # This has been around since 386BSD, at least. Likely further.
1657 if test -x /sbin/sysctl; then
1658 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1659 elif test -x /usr/sbin/sysctl; then
1660 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1661 else
1662 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1663 fi
1664 # And add a safety zone
1665 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1666 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1667 ;;
1668
1669 interix*)
1670 # We know the value 262144 and hardcode it with a safety zone (like BSD)
1671 lt_cv_sys_max_cmd_len=196608
1672 ;;
1673
1674 os2*)
1675 # The test takes a long time on OS/2.
1676 lt_cv_sys_max_cmd_len=8192
1677 ;;
1678
1679 osf*)
1680 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1681 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1682 # nice to cause kernel panics so lets avoid the loop below.
1683 # First set a reasonable default.
1684 lt_cv_sys_max_cmd_len=16384
1685 #
1686 if test -x /sbin/sysconfig; then
1687 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1688 *1*) lt_cv_sys_max_cmd_len=-1 ;;
1689 esac
1690 fi
1691 ;;
1692 sco3.2v5*)
1693 lt_cv_sys_max_cmd_len=102400
1694 ;;
1695 sysv5* | sco5v6* | sysv4.2uw2*)
1696 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1697 if test -n "$kargmax"; then
1698 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
1699 else
1700 lt_cv_sys_max_cmd_len=32768
1701 fi
1702 ;;
1703 *)
1704 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1705 if test -n "$lt_cv_sys_max_cmd_len"; then
1706 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1707 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1708 else
1709 # Make teststring a little bigger before we do anything with it.
1710 # a 1K string should be a reasonable start.
1711 for i in 1 2 3 4 5 6 7 8 ; do
1712 teststring=$teststring$teststring
1713 done
1714 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1715 # If test is not a shell built-in, we'll probably end up computing a
1716 # maximum length that is only half of the actual maximum length, but
1717 # we can't tell.
1718 while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
1719 = "X$teststring$teststring"; } >/dev/null 2>&1 &&
1720 test $i != 17 # 1/2 MB should be enough
1721 do
1722 i=`expr $i + 1`
1723 teststring=$teststring$teststring
1724 done
1725 # Only check the string length outside the loop.
1726 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1727 teststring=
1728 # Add a significant safety factor because C++ compilers can tack on
1729 # massive amounts of additional arguments before passing them to the
1730 # linker. It appears as though 1/2 is a usable value.
1731 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1732 fi
1733 ;;
1734 esac
1735])
1736if test -n $lt_cv_sys_max_cmd_len ; then
1737 AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1738else
1739 AC_MSG_RESULT(none)
1740fi
1741max_cmd_len=$lt_cv_sys_max_cmd_len
1742_LT_DECL([], [max_cmd_len], [0],
1743 [What is the maximum length of a command?])
1744])# LT_CMD_MAX_LEN
1745
1746# Old name:
1747AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1748dnl aclocal-1.4 backwards compatibility:
1749dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1750
1751
1752# _LT_HEADER_DLFCN
1753# ----------------
1754m4_defun([_LT_HEADER_DLFCN],
1755[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1756])# _LT_HEADER_DLFCN
1757
1758
1759# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1760# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1761# ----------------------------------------------------------------
1762m4_defun([_LT_TRY_DLOPEN_SELF],
1763[m4_require([_LT_HEADER_DLFCN])dnl
1764if test "$cross_compiling" = yes; then :
1765 [$4]
1766else
1767 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1768 lt_status=$lt_dlunknown
1769 cat > conftest.$ac_ext <<_LT_EOF
1770[#line $LINENO "configure"
1771#include "confdefs.h"
1772
1773#if HAVE_DLFCN_H
1774#include <dlfcn.h>
1775#endif
1776
1777#include <stdio.h>
1778
1779#ifdef RTLD_GLOBAL
1780# define LT_DLGLOBAL RTLD_GLOBAL
1781#else
1782# ifdef DL_GLOBAL
1783# define LT_DLGLOBAL DL_GLOBAL
1784# else
1785# define LT_DLGLOBAL 0
1786# endif
1787#endif
1788
1789/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1790 find out it does not work in some platform. */
1791#ifndef LT_DLLAZY_OR_NOW
1792# ifdef RTLD_LAZY
1793# define LT_DLLAZY_OR_NOW RTLD_LAZY
1794# else
1795# ifdef DL_LAZY
1796# define LT_DLLAZY_OR_NOW DL_LAZY
1797# else
1798# ifdef RTLD_NOW
1799# define LT_DLLAZY_OR_NOW RTLD_NOW
1800# else
1801# ifdef DL_NOW
1802# define LT_DLLAZY_OR_NOW DL_NOW
1803# else
1804# define LT_DLLAZY_OR_NOW 0
1805# endif
1806# endif
1807# endif
1808# endif
1809#endif
1810
1811/* When -fvisbility=hidden is used, assume the code has been annotated
1812 correspondingly for the symbols needed. */
1813#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
1814int fnord () __attribute__((visibility("default")));
1815#endif
1816
1817int fnord () { return 42; }
1818int main ()
1819{
1820 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1821 int status = $lt_dlunknown;
1822
1823 if (self)
1824 {
1825 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
1826 else
1827 {
1828 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1829 else puts (dlerror ());
1830 }
1831 /* dlclose (self); */
1832 }
1833 else
1834 puts (dlerror ());
1835
1836 return status;
1837}]
1838_LT_EOF
1839 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
1840 (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1841 lt_status=$?
1842 case x$lt_status in
1843 x$lt_dlno_uscore) $1 ;;
1844 x$lt_dlneed_uscore) $2 ;;
1845 x$lt_dlunknown|x*) $3 ;;
1846 esac
1847 else :
1848 # compilation failed
1849 $3
1850 fi
1851fi
1852rm -fr conftest*
1853])# _LT_TRY_DLOPEN_SELF
1854
1855
1856# LT_SYS_DLOPEN_SELF
1857# ------------------
1858AC_DEFUN([LT_SYS_DLOPEN_SELF],
1859[m4_require([_LT_HEADER_DLFCN])dnl
1860if test "x$enable_dlopen" != xyes; then
1861 enable_dlopen=unknown
1862 enable_dlopen_self=unknown
1863 enable_dlopen_self_static=unknown
1864else
1865 lt_cv_dlopen=no
1866 lt_cv_dlopen_libs=
1867
1868 case $host_os in
1869 beos*)
1870 lt_cv_dlopen="load_add_on"
1871 lt_cv_dlopen_libs=
1872 lt_cv_dlopen_self=yes
1873 ;;
1874
1875 mingw* | pw32* | cegcc*)
1876 lt_cv_dlopen="LoadLibrary"
1877 lt_cv_dlopen_libs=
1878 ;;
1879
1880 cygwin*)
1881 lt_cv_dlopen="dlopen"
1882 lt_cv_dlopen_libs=
1883 ;;
1884
1885 darwin*)
1886 # if libdl is installed we need to link against it
1887 AC_CHECK_LIB([dl], [dlopen],
1888 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
1889 lt_cv_dlopen="dyld"
1890 lt_cv_dlopen_libs=
1891 lt_cv_dlopen_self=yes
1892 ])
1893 ;;
1894
1895 *)
1896 AC_CHECK_FUNC([shl_load],
1897 [lt_cv_dlopen="shl_load"],
1898 [AC_CHECK_LIB([dld], [shl_load],
1899 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
1900 [AC_CHECK_FUNC([dlopen],
1901 [lt_cv_dlopen="dlopen"],
1902 [AC_CHECK_LIB([dl], [dlopen],
1903 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
1904 [AC_CHECK_LIB([svld], [dlopen],
1905 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
1906 [AC_CHECK_LIB([dld], [dld_link],
1907 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
1908 ])
1909 ])
1910 ])
1911 ])
1912 ])
1913 ;;
1914 esac
1915
1916 if test "x$lt_cv_dlopen" != xno; then
1917 enable_dlopen=yes
1918 else
1919 enable_dlopen=no
1920 fi
1921
1922 case $lt_cv_dlopen in
1923 dlopen)
1924 save_CPPFLAGS="$CPPFLAGS"
1925 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1926
1927 save_LDFLAGS="$LDFLAGS"
1928 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
1929
1930 save_LIBS="$LIBS"
1931 LIBS="$lt_cv_dlopen_libs $LIBS"
1932
1933 AC_CACHE_CHECK([whether a program can dlopen itself],
1934 lt_cv_dlopen_self, [dnl
1935 _LT_TRY_DLOPEN_SELF(
1936 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
1937 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
1938 ])
1939
1940 if test "x$lt_cv_dlopen_self" = xyes; then
1941 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
1942 AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
1943 lt_cv_dlopen_self_static, [dnl
1944 _LT_TRY_DLOPEN_SELF(
1945 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
1946 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
1947 ])
1948 fi
1949
1950 CPPFLAGS="$save_CPPFLAGS"
1951 LDFLAGS="$save_LDFLAGS"
1952 LIBS="$save_LIBS"
1953 ;;
1954 esac
1955
1956 case $lt_cv_dlopen_self in
1957 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1958 *) enable_dlopen_self=unknown ;;
1959 esac
1960
1961 case $lt_cv_dlopen_self_static in
1962 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1963 *) enable_dlopen_self_static=unknown ;;
1964 esac
1965fi
1966_LT_DECL([dlopen_support], [enable_dlopen], [0],
1967 [Whether dlopen is supported])
1968_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
1969 [Whether dlopen of programs is supported])
1970_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
1971 [Whether dlopen of statically linked programs is supported])
1972])# LT_SYS_DLOPEN_SELF
1973
1974# Old name:
1975AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
1976dnl aclocal-1.4 backwards compatibility:
1977dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
1978
1979
1980# _LT_COMPILER_C_O([TAGNAME])
1981# ---------------------------
1982# Check to see if options -c and -o are simultaneously supported by compiler.
1983# This macro does not hard code the compiler like AC_PROG_CC_C_O.
1984m4_defun([_LT_COMPILER_C_O],
1985[m4_require([_LT_DECL_SED])dnl
1986m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1987m4_require([_LT_TAG_COMPILER])dnl
1988AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
1989 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
1990 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
1991 $RM -r conftest 2>/dev/null
1992 mkdir conftest
1993 cd conftest
1994 mkdir out
1995 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1996
1997 lt_compiler_flag="-o out/conftest2.$ac_objext"
1998 # Insert the option either (1) after the last *FLAGS variable, or
1999 # (2) before a word containing "conftest.", or (3) at the end.
2000 # Note that $ac_compile itself does not contain backslashes and begins
2001 # with a dollar sign (not a hyphen), so the echo should work correctly.
2002 lt_compile=`echo "$ac_compile" | $SED \
2003 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
2004 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
2005 -e 's:$: $lt_compiler_flag:'`
2006 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
2007 (eval "$lt_compile" 2>out/conftest.err)
2008 ac_status=$?
2009 cat out/conftest.err >&AS_MESSAGE_LOG_FD
2010 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
2011 if (exit $ac_status) && test -s out/conftest2.$ac_objext
2012 then
2013 # The compiler can only warn and ignore the option if not recognized
2014 # So say no if there are warnings
2015 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
2016 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
2017 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
2018 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
2019 fi
2020 fi
2021 chmod u+w . 2>&AS_MESSAGE_LOG_FD
2022 $RM conftest*
2023 # SGI C++ compiler will create directory out/ii_files/ for
2024 # template instantiation
2025 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
2026 $RM out/* && rmdir out
2027 cd ..
2028 $RM -r conftest
2029 $RM conftest*
2030])
2031_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
2032 [Does compiler simultaneously support -c and -o options?])
2033])# _LT_COMPILER_C_O
2034
2035
2036# _LT_COMPILER_FILE_LOCKS([TAGNAME])
2037# ----------------------------------
2038# Check to see if we can do hard links to lock some files if needed
2039m4_defun([_LT_COMPILER_FILE_LOCKS],
2040[m4_require([_LT_ENABLE_LOCK])dnl
2041m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2042_LT_COMPILER_C_O([$1])
2043
2044hard_links="nottested"
2045if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
2046 # do not overwrite the value of need_locks provided by the user
2047 AC_MSG_CHECKING([if we can lock with hard links])
2048 hard_links=yes
2049 $RM conftest*
2050 ln conftest.a conftest.b 2>/dev/null && hard_links=no
2051 touch conftest.a
2052 ln conftest.a conftest.b 2>&5 || hard_links=no
2053 ln conftest.a conftest.b 2>/dev/null && hard_links=no
2054 AC_MSG_RESULT([$hard_links])
2055 if test "$hard_links" = no; then
2056 AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
2057 need_locks=warn
2058 fi
2059else
2060 need_locks=no
2061fi
2062_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
2063])# _LT_COMPILER_FILE_LOCKS
2064
2065
2066# _LT_CHECK_OBJDIR
2067# ----------------
2068m4_defun([_LT_CHECK_OBJDIR],
2069[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
2070[rm -f .libs 2>/dev/null
2071mkdir .libs 2>/dev/null
2072if test -d .libs; then
2073 lt_cv_objdir=.libs
2074else
2075 # MS-DOS does not allow filenames that begin with a dot.
2076 lt_cv_objdir=_libs
2077fi
2078rmdir .libs 2>/dev/null])
2079objdir=$lt_cv_objdir
2080_LT_DECL([], [objdir], [0],
2081 [The name of the directory that contains temporary libtool files])dnl
2082m4_pattern_allow([LT_OBJDIR])dnl
2083AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
2084 [Define to the sub-directory in which libtool stores uninstalled libraries.])
2085])# _LT_CHECK_OBJDIR
2086
2087
2088# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
2089# --------------------------------------
2090# Check hardcoding attributes.
2091m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
2092[AC_MSG_CHECKING([how to hardcode library paths into programs])
2093_LT_TAGVAR(hardcode_action, $1)=
2094if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
2095 test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2096 test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
2097
2098 # We can hardcode non-existent directories.
2099 if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
2100 # If the only mechanism to avoid hardcoding is shlibpath_var, we
2101 # have to relink, otherwise we might link with an installed library
2102 # when we should be linking with a yet-to-be-installed one
2103 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
2104 test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
2105 # Linking always hardcodes the temporary library directory.
2106 _LT_TAGVAR(hardcode_action, $1)=relink
2107 else
2108 # We can link without hardcoding, and we can hardcode nonexisting dirs.
2109 _LT_TAGVAR(hardcode_action, $1)=immediate
2110 fi
2111else
2112 # We cannot hardcode anything, or else we can only hardcode existing
2113 # directories.
2114 _LT_TAGVAR(hardcode_action, $1)=unsupported
2115fi
2116AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
2117
2118if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
2119 test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
2120 # Fast installation is not supported
2121 enable_fast_install=no
2122elif test "$shlibpath_overrides_runpath" = yes ||
2123 test "$enable_shared" = no; then
2124 # Fast installation is not necessary
2125 enable_fast_install=needless
2126fi
2127_LT_TAGDECL([], [hardcode_action], [0],
2128 [How to hardcode a shared library path into an executable])
2129])# _LT_LINKER_HARDCODE_LIBPATH
2130
2131
2132# _LT_CMD_STRIPLIB
2133# ----------------
2134m4_defun([_LT_CMD_STRIPLIB],
2135[m4_require([_LT_DECL_EGREP])
2136striplib=
2137old_striplib=
2138AC_MSG_CHECKING([whether stripping libraries is possible])
2139if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2140 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2141 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2142 AC_MSG_RESULT([yes])
2143else
2144# FIXME - insert some real tests, host_os isn't really good enough
2145 case $host_os in
2146 darwin*)
2147 if test -n "$STRIP" ; then
2148 striplib="$STRIP -x"
2149 old_striplib="$STRIP -S"
2150 AC_MSG_RESULT([yes])
2151 else
2152 AC_MSG_RESULT([no])
2153 fi
2154 ;;
2155 *)
2156 AC_MSG_RESULT([no])
2157 ;;
2158 esac
2159fi
2160_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2161_LT_DECL([], [striplib], [1])
2162])# _LT_CMD_STRIPLIB
2163
2164
2165# _LT_SYS_DYNAMIC_LINKER([TAG])
2166# -----------------------------
2167# PORTME Fill in your ld.so characteristics
2168m4_defun([_LT_SYS_DYNAMIC_LINKER],
2169[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2170m4_require([_LT_DECL_EGREP])dnl
2171m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2172m4_require([_LT_DECL_OBJDUMP])dnl
2173m4_require([_LT_DECL_SED])dnl
2174m4_require([_LT_CHECK_SHELL_FEATURES])dnl
2175AC_MSG_CHECKING([dynamic linker characteristics])
2176m4_if([$1],
2177 [], [
2178if test "$GCC" = yes; then
2179 case $host_os in
2180 darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
2181 *) lt_awk_arg="/^libraries:/" ;;
2182 esac
2183 case $host_os in
2184 mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
2185 *) lt_sed_strip_eq="s,=/,/,g" ;;
2186 esac
2187 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
2188 case $lt_search_path_spec in
2189 *\;*)
2190 # if the path contains ";" then we assume it to be the separator
2191 # otherwise default to the standard path separator (i.e. ":") - it is
2192 # assumed that no part of a normal pathname contains ";" but that should
2193 # okay in the real world where ";" in dirpaths is itself problematic.
2194 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
2195 ;;
2196 *)
2197 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
2198 ;;
2199 esac
2200 # Ok, now we have the path, separated by spaces, we can step through it
2201 # and add multilib dir if necessary.
2202 lt_tmp_lt_search_path_spec=
2203 lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2204 for lt_sys_path in $lt_search_path_spec; do
2205 if test -d "$lt_sys_path/$lt_multi_os_dir"; then
2206 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
2207 else
2208 test -d "$lt_sys_path" && \
2209 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2210 fi
2211 done
2212 lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
2213BEGIN {RS=" "; FS="/|\n";} {
2214 lt_foo="";
2215 lt_count=0;
2216 for (lt_i = NF; lt_i > 0; lt_i--) {
2217 if ($lt_i != "" && $lt_i != ".") {
2218 if ($lt_i == "..") {
2219 lt_count++;
2220 } else {
2221 if (lt_count == 0) {
2222 lt_foo="/" $lt_i lt_foo;
2223 } else {
2224 lt_count--;
2225 }
2226 }
2227 }
2228 }
2229 if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2230 if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2231}'`
2232 # AWK program above erroneously prepends '/' to C:/dos/paths
2233 # for these hosts.
2234 case $host_os in
2235 mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
2236 $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
2237 esac
2238 sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
2239else
2240 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2241fi])
2242library_names_spec=
2243libname_spec='lib$name'
2244soname_spec=
2245shrext_cmds=".so"
2246postinstall_cmds=
2247postuninstall_cmds=
2248finish_cmds=
2249finish_eval=
2250shlibpath_var=
2251shlibpath_overrides_runpath=unknown
2252version_type=none
2253dynamic_linker="$host_os ld.so"
2254sys_lib_dlsearch_path_spec="/lib /usr/lib"
2255need_lib_prefix=unknown
2256hardcode_into_libs=no
2257
2258# when you set need_version to no, make sure it does not cause -set_version
2259# flags to be left without arguments
2260need_version=unknown
2261
2262case $host_os in
2263aix3*)
2264 version_type=linux # correct to gnu/linux during the next big refactor
2265 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
2266 shlibpath_var=LIBPATH
2267
2268 # AIX 3 has no versioning support, so we append a major version to the name.
2269 soname_spec='${libname}${release}${shared_ext}$major'
2270 ;;
2271
2272aix[[4-9]]*)
2273 version_type=linux # correct to gnu/linux during the next big refactor
2274 need_lib_prefix=no
2275 need_version=no
2276 hardcode_into_libs=yes
2277 if test "$host_cpu" = ia64; then
2278 # AIX 5 supports IA64
2279 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
2280 shlibpath_var=LD_LIBRARY_PATH
2281 else
2282 # With GCC up to 2.95.x, collect2 would create an import file
2283 # for dependence libraries. The import file would start with
2284 # the line `#! .'. This would cause the generated library to
2285 # depend on `.', always an invalid library. This was fixed in
2286 # development snapshots of GCC prior to 3.0.
2287 case $host_os in
2288 aix4 | aix4.[[01]] | aix4.[[01]].*)
2289 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2290 echo ' yes '
2291 echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
2292 :
2293 else
2294 can_build_shared=no
2295 fi
2296 ;;
2297 esac
2298 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2299 # soname into executable. Probably we can add versioning support to
2300 # collect2, so additional links can be useful in future.
2301 if test "$aix_use_runtimelinking" = yes; then
2302 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2303 # instead of lib<name>.a to let people know that these are not
2304 # typical AIX shared libraries.
2305 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2306 else
2307 # We preserve .a as extension for shared libraries through AIX4.2
2308 # and later when we are not doing run time linking.
2309 library_names_spec='${libname}${release}.a $libname.a'
2310 soname_spec='${libname}${release}${shared_ext}$major'
2311 fi
2312 shlibpath_var=LIBPATH
2313 fi
2314 ;;
2315
2316amigaos*)
2317 case $host_cpu in
2318 powerpc)
2319 # Since July 2007 AmigaOS4 officially supports .so libraries.
2320 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2321 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2322 ;;
2323 m68k)
2324 library_names_spec='$libname.ixlibrary $libname.a'
2325 # Create ${libname}_ixlibrary.a entries in /sys/libs.
2326 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $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'
2327 ;;
2328 esac
2329 ;;
2330
2331beos*)
2332 library_names_spec='${libname}${shared_ext}'
2333 dynamic_linker="$host_os ld.so"
2334 shlibpath_var=LIBRARY_PATH
2335 ;;
2336
2337bsdi[[45]]*)
2338 version_type=linux # correct to gnu/linux during the next big refactor
2339 need_version=no
2340 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2341 soname_spec='${libname}${release}${shared_ext}$major'
2342 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2343 shlibpath_var=LD_LIBRARY_PATH
2344 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2345 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2346 # the default ld.so.conf also contains /usr/contrib/lib and
2347 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2348 # libtool to hard-code these into programs
2349 ;;
2350
2351cygwin* | mingw* | pw32* | cegcc*)
2352 version_type=windows
2353 shrext_cmds=".dll"
2354 need_version=no
2355 need_lib_prefix=no
2356
2357 case $GCC,$cc_basename in
2358 yes,*)
2359 # gcc
2360 library_names_spec='$libname.dll.a'
2361 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2362 postinstall_cmds='base_file=`basename \${file}`~
2363 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2364 dldir=$destdir/`dirname \$dlpath`~
2365 test -d \$dldir || mkdir -p \$dldir~
2366 $install_prog $dir/$dlname \$dldir/$dlname~
2367 chmod a+x \$dldir/$dlname~
2368 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2369 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2370 fi'
2371 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2372 dlpath=$dir/\$dldll~
2373 $RM \$dlpath'
2374 shlibpath_overrides_runpath=yes
2375
2376 case $host_os in
2377 cygwin*)
2378 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2379 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2380m4_if([$1], [],[
2381 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
2382 ;;
2383 mingw* | cegcc*)
2384 # MinGW DLLs use traditional 'lib' prefix
2385 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2386 ;;
2387 pw32*)
2388 # pw32 DLLs use 'pw' prefix rather than 'lib'
2389 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2390 ;;
2391 esac
2392 dynamic_linker='Win32 ld.exe'
2393 ;;
2394
2395 *,cl*)
2396 # Native MSVC
2397 libname_spec='$name'
2398 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2399 library_names_spec='${libname}.dll.lib'
2400
2401 case $build_os in
2402 mingw*)
2403 sys_lib_search_path_spec=
2404 lt_save_ifs=$IFS
2405 IFS=';'
2406 for lt_path in $LIB
2407 do
2408 IFS=$lt_save_ifs
2409 # Let DOS variable expansion print the short 8.3 style file name.
2410 lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
2411 sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
2412 done
2413 IFS=$lt_save_ifs
2414 # Convert to MSYS style.
2415 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
2416 ;;
2417 cygwin*)
2418 # Convert to unix form, then to dos form, then back to unix form
2419 # but this time dos style (no spaces!) so that the unix form looks
2420 # like /cygdrive/c/PROGRA~1:/cygdr...
2421 sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
2422 sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
2423 sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2424 ;;
2425 *)
2426 sys_lib_search_path_spec="$LIB"
2427 if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2428 # It is most probably a Windows format PATH.
2429 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2430 else
2431 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2432 fi
2433 # FIXME: find the short name or the path components, as spaces are
2434 # common. (e.g. "Program Files" -> "PROGRA~1")
2435 ;;
2436 esac
2437
2438 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2439 postinstall_cmds='base_file=`basename \${file}`~
2440 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2441 dldir=$destdir/`dirname \$dlpath`~
2442 test -d \$dldir || mkdir -p \$dldir~
2443 $install_prog $dir/$dlname \$dldir/$dlname'
2444 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2445 dlpath=$dir/\$dldll~
2446 $RM \$dlpath'
2447 shlibpath_overrides_runpath=yes
2448 dynamic_linker='Win32 link.exe'
2449 ;;
2450
2451 *)
2452 # Assume MSVC wrapper
2453 library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
2454 dynamic_linker='Win32 ld.exe'
2455 ;;
2456 esac
2457 # FIXME: first we should search . and the directory the executable is in
2458 shlibpath_var=PATH
2459 ;;
2460
2461darwin* | rhapsody*)
2462 dynamic_linker="$host_os dyld"
2463 version_type=darwin
2464 need_lib_prefix=no
2465 need_version=no
2466 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
2467 soname_spec='${libname}${release}${major}$shared_ext'
2468 shlibpath_overrides_runpath=yes
2469 shlibpath_var=DYLD_LIBRARY_PATH
2470 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2471m4_if([$1], [],[
2472 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2473 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2474 ;;
2475
2476dgux*)
2477 version_type=linux # correct to gnu/linux during the next big refactor
2478 need_lib_prefix=no
2479 need_version=no
2480 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2481 soname_spec='${libname}${release}${shared_ext}$major'
2482 shlibpath_var=LD_LIBRARY_PATH
2483 ;;
2484
2485freebsd* | dragonfly*)
2486 # DragonFly does not have aout. When/if they implement a new
2487 # versioning mechanism, adjust this.
2488 if test -x /usr/bin/objformat; then
2489 objformat=`/usr/bin/objformat`
2490 else
2491 case $host_os in
2492 freebsd[[23]].*) objformat=aout ;;
2493 *) objformat=elf ;;
2494 esac
2495 fi
2496 version_type=freebsd-$objformat
2497 case $version_type in
2498 freebsd-elf*)
2499 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2500 need_version=no
2501 need_lib_prefix=no
2502 ;;
2503 freebsd-*)
2504 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
2505 need_version=yes
2506 ;;
2507 esac
2508 shlibpath_var=LD_LIBRARY_PATH
2509 case $host_os in
2510 freebsd2.*)
2511 shlibpath_overrides_runpath=yes
2512 ;;
2513 freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2514 shlibpath_overrides_runpath=yes
2515 hardcode_into_libs=yes
2516 ;;
2517 freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2518 freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2519 shlibpath_overrides_runpath=no
2520 hardcode_into_libs=yes
2521 ;;
2522 *) # from 4.6 on, and DragonFly
2523 shlibpath_overrides_runpath=yes
2524 hardcode_into_libs=yes
2525 ;;
2526 esac
2527 ;;
2528
2529gnu*)
2530 version_type=linux # correct to gnu/linux during the next big refactor
2531 need_lib_prefix=no
2532 need_version=no
2533 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2534 soname_spec='${libname}${release}${shared_ext}$major'
2535 shlibpath_var=LD_LIBRARY_PATH
2536 shlibpath_overrides_runpath=no
2537 hardcode_into_libs=yes
2538 ;;
2539
2540haiku*)
2541 version_type=linux # correct to gnu/linux during the next big refactor
2542 need_lib_prefix=no
2543 need_version=no
2544 dynamic_linker="$host_os runtime_loader"
2545 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2546 soname_spec='${libname}${release}${shared_ext}$major'
2547 shlibpath_var=LIBRARY_PATH
2548 shlibpath_overrides_runpath=yes
2549 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
2550 hardcode_into_libs=yes
2551 ;;
2552
2553hpux9* | hpux10* | hpux11*)
2554 # Give a soname corresponding to the major version so that dld.sl refuses to
2555 # link against other versions.
2556 version_type=sunos
2557 need_lib_prefix=no
2558 need_version=no
2559 case $host_cpu in
2560 ia64*)
2561 shrext_cmds='.so'
2562 hardcode_into_libs=yes
2563 dynamic_linker="$host_os dld.so"
2564 shlibpath_var=LD_LIBRARY_PATH
2565 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2566 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2567 soname_spec='${libname}${release}${shared_ext}$major'
2568 if test "X$HPUX_IA64_MODE" = X32; then
2569 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2570 else
2571 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2572 fi
2573 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2574 ;;
2575 hppa*64*)
2576 shrext_cmds='.sl'
2577 hardcode_into_libs=yes
2578 dynamic_linker="$host_os dld.sl"
2579 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2580 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2581 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2582 soname_spec='${libname}${release}${shared_ext}$major'
2583 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2584 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2585 ;;
2586 *)
2587 shrext_cmds='.sl'
2588 dynamic_linker="$host_os dld.sl"
2589 shlibpath_var=SHLIB_PATH
2590 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2591 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2592 soname_spec='${libname}${release}${shared_ext}$major'
2593 ;;
2594 esac
2595 # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
2596 postinstall_cmds='chmod 555 $lib'
2597 # or fails outright, so override atomically:
2598 install_override_mode=555
2599 ;;
2600
2601interix[[3-9]]*)
2602 version_type=linux # correct to gnu/linux during the next big refactor
2603 need_lib_prefix=no
2604 need_version=no
2605 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2606 soname_spec='${libname}${release}${shared_ext}$major'
2607 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2608 shlibpath_var=LD_LIBRARY_PATH
2609 shlibpath_overrides_runpath=no
2610 hardcode_into_libs=yes
2611 ;;
2612
2613irix5* | irix6* | nonstopux*)
2614 case $host_os in
2615 nonstopux*) version_type=nonstopux ;;
2616 *)
2617 if test "$lt_cv_prog_gnu_ld" = yes; then
2618 version_type=linux # correct to gnu/linux during the next big refactor
2619 else
2620 version_type=irix
2621 fi ;;
2622 esac
2623 need_lib_prefix=no
2624 need_version=no
2625 soname_spec='${libname}${release}${shared_ext}$major'
2626 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
2627 case $host_os in
2628 irix5* | nonstopux*)
2629 libsuff= shlibsuff=
2630 ;;
2631 *)
2632 case $LD in # libtool.m4 will add one of these switches to LD
2633 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2634 libsuff= shlibsuff= libmagic=32-bit;;
2635 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2636 libsuff=32 shlibsuff=N32 libmagic=N32;;
2637 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2638 libsuff=64 shlibsuff=64 libmagic=64-bit;;
2639 *) libsuff= shlibsuff= libmagic=never-match;;
2640 esac
2641 ;;
2642 esac
2643 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2644 shlibpath_overrides_runpath=no
2645 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2646 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2647 hardcode_into_libs=yes
2648 ;;
2649
2650# No shared lib support for Linux oldld, aout, or coff.
2651linux*oldld* | linux*aout* | linux*coff*)
2652 dynamic_linker=no
2653 ;;
2654
2655# This must be glibc/ELF.
2656linux* | k*bsd*-gnu | kopensolaris*-gnu)
2657 version_type=linux # correct to gnu/linux during the next big refactor
2658 need_lib_prefix=no
2659 need_version=no
2660 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2661 soname_spec='${libname}${release}${shared_ext}$major'
2662 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2663 shlibpath_var=LD_LIBRARY_PATH
2664 shlibpath_overrides_runpath=no
2665
2666 # Some binutils ld are patched to set DT_RUNPATH
2667 AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
2668 [lt_cv_shlibpath_overrides_runpath=no
2669 save_LDFLAGS=$LDFLAGS
2670 save_libdir=$libdir
2671 eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2672 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2673 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2674 [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2675 [lt_cv_shlibpath_overrides_runpath=yes])])
2676 LDFLAGS=$save_LDFLAGS
2677 libdir=$save_libdir
2678 ])
2679 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
2680
2681 # This implies no fast_install, which is unacceptable.
2682 # Some rework will be needed to allow for fast_install
2683 # before this can be enabled.
2684 hardcode_into_libs=yes
2685
2686 # Append ld.so.conf contents to the search path
2687 if test -f /etc/ld.so.conf; then
2688 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' ' '`
2689 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2690 fi
2691
2692 # We used to test for /lib/ld.so.1 and disable shared libraries on
2693 # powerpc, because MkLinux only supported shared libraries with the
2694 # GNU dynamic linker. Since this was broken with cross compilers,
2695 # most powerpc-linux boxes support dynamic linking these days and
2696 # people can always --disable-shared, the test was removed, and we
2697 # assume the GNU/Linux dynamic linker is in use.
2698 dynamic_linker='GNU/Linux ld.so'
2699 ;;
2700
2701netbsdelf*-gnu)
2702 version_type=linux
2703 need_lib_prefix=no
2704 need_version=no
2705 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2706 soname_spec='${libname}${release}${shared_ext}$major'
2707 shlibpath_var=LD_LIBRARY_PATH
2708 shlibpath_overrides_runpath=no
2709 hardcode_into_libs=yes
2710 dynamic_linker='NetBSD ld.elf_so'
2711 ;;
2712
2713netbsd*)
2714 version_type=sunos
2715 need_lib_prefix=no
2716 need_version=no
2717 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2718 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2719 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2720 dynamic_linker='NetBSD (a.out) ld.so'
2721 else
2722 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2723 soname_spec='${libname}${release}${shared_ext}$major'
2724 dynamic_linker='NetBSD ld.elf_so'
2725 fi
2726 shlibpath_var=LD_LIBRARY_PATH
2727 shlibpath_overrides_runpath=yes
2728 hardcode_into_libs=yes
2729 ;;
2730
2731newsos6)
2732 version_type=linux # correct to gnu/linux during the next big refactor
2733 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2734 shlibpath_var=LD_LIBRARY_PATH
2735 shlibpath_overrides_runpath=yes
2736 ;;
2737
2738*nto* | *qnx*)
2739 version_type=qnx
2740 need_lib_prefix=no
2741 need_version=no
2742 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2743 soname_spec='${libname}${release}${shared_ext}$major'
2744 shlibpath_var=LD_LIBRARY_PATH
2745 shlibpath_overrides_runpath=no
2746 hardcode_into_libs=yes
2747 dynamic_linker='ldqnx.so'
2748 ;;
2749
2750openbsd*)
2751 version_type=sunos
2752 sys_lib_dlsearch_path_spec="/usr/lib"
2753 need_lib_prefix=no
2754 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
2755 case $host_os in
2756 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
2757 *) need_version=no ;;
2758 esac
2759 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2760 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2761 shlibpath_var=LD_LIBRARY_PATH
2762 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2763 case $host_os in
2764 openbsd2.[[89]] | openbsd2.[[89]].*)
2765 shlibpath_overrides_runpath=no
2766 ;;
2767 *)
2768 shlibpath_overrides_runpath=yes
2769 ;;
2770 esac
2771 else
2772 shlibpath_overrides_runpath=yes
2773 fi
2774 ;;
2775
2776os2*)
2777 libname_spec='$name'
2778 shrext_cmds=".dll"
2779 need_lib_prefix=no
2780 library_names_spec='$libname${shared_ext} $libname.a'
2781 dynamic_linker='OS/2 ld.exe'
2782 shlibpath_var=LIBPATH
2783 ;;
2784
2785osf3* | osf4* | osf5*)
2786 version_type=osf
2787 need_lib_prefix=no
2788 need_version=no
2789 soname_spec='${libname}${release}${shared_ext}$major'
2790 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2791 shlibpath_var=LD_LIBRARY_PATH
2792 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2793 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2794 ;;
2795
2796rdos*)
2797 dynamic_linker=no
2798 ;;
2799
2800solaris*)
2801 version_type=linux # correct to gnu/linux during the next big refactor
2802 need_lib_prefix=no
2803 need_version=no
2804 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2805 soname_spec='${libname}${release}${shared_ext}$major'
2806 shlibpath_var=LD_LIBRARY_PATH
2807 shlibpath_overrides_runpath=yes
2808 hardcode_into_libs=yes
2809 # ldd complains unless libraries are executable
2810 postinstall_cmds='chmod +x $lib'
2811 ;;
2812
2813sunos4*)
2814 version_type=sunos
2815 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2816 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2817 shlibpath_var=LD_LIBRARY_PATH
2818 shlibpath_overrides_runpath=yes
2819 if test "$with_gnu_ld" = yes; then
2820 need_lib_prefix=no
2821 fi
2822 need_version=yes
2823 ;;
2824
2825sysv4 | sysv4.3*)
2826 version_type=linux # correct to gnu/linux during the next big refactor
2827 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2828 soname_spec='${libname}${release}${shared_ext}$major'
2829 shlibpath_var=LD_LIBRARY_PATH
2830 case $host_vendor in
2831 sni)
2832 shlibpath_overrides_runpath=no
2833 need_lib_prefix=no
2834 runpath_var=LD_RUN_PATH
2835 ;;
2836 siemens)
2837 need_lib_prefix=no
2838 ;;
2839 motorola)
2840 need_lib_prefix=no
2841 need_version=no
2842 shlibpath_overrides_runpath=no
2843 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2844 ;;
2845 esac
2846 ;;
2847
2848sysv4*MP*)
2849 if test -d /usr/nec ;then
2850 version_type=linux # correct to gnu/linux during the next big refactor
2851 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
2852 soname_spec='$libname${shared_ext}.$major'
2853 shlibpath_var=LD_LIBRARY_PATH
2854 fi
2855 ;;
2856
2857sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2858 version_type=freebsd-elf
2859 need_lib_prefix=no
2860 need_version=no
2861 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2862 soname_spec='${libname}${release}${shared_ext}$major'
2863 shlibpath_var=LD_LIBRARY_PATH
2864 shlibpath_overrides_runpath=yes
2865 hardcode_into_libs=yes
2866 if test "$with_gnu_ld" = yes; then
2867 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
2868 else
2869 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
2870 case $host_os in
2871 sco3.2v5*)
2872 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
2873 ;;
2874 esac
2875 fi
2876 sys_lib_dlsearch_path_spec='/usr/lib'
2877 ;;
2878
2879tpf*)
2880 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
2881 version_type=linux # correct to gnu/linux during the next big refactor
2882 need_lib_prefix=no
2883 need_version=no
2884 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2885 shlibpath_var=LD_LIBRARY_PATH
2886 shlibpath_overrides_runpath=no
2887 hardcode_into_libs=yes
2888 ;;
2889
2890uts4*)
2891 version_type=linux # correct to gnu/linux during the next big refactor
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 ;;
2896
2897*)
2898 dynamic_linker=no
2899 ;;
2900esac
2901AC_MSG_RESULT([$dynamic_linker])
2902test "$dynamic_linker" = no && can_build_shared=no
2903
2904variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2905if test "$GCC" = yes; then
2906 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2907fi
2908
2909if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
2910 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
2911fi
2912if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
2913 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
2914fi
2915
2916_LT_DECL([], [variables_saved_for_relink], [1],
2917 [Variables whose values should be saved in libtool wrapper scripts and
2918 restored at link time])
2919_LT_DECL([], [need_lib_prefix], [0],
2920 [Do we need the "lib" prefix for modules?])
2921_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
2922_LT_DECL([], [version_type], [0], [Library versioning type])
2923_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
2924_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
2925_LT_DECL([], [shlibpath_overrides_runpath], [0],
2926 [Is shlibpath searched before the hard-coded library search path?])
2927_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
2928_LT_DECL([], [library_names_spec], [1],
2929 [[List of archive names. First name is the real one, the rest are links.
2930 The last name is the one that the linker finds with -lNAME]])
2931_LT_DECL([], [soname_spec], [1],
2932 [[The coded name of the library, if different from the real name]])
2933_LT_DECL([], [install_override_mode], [1],
2934 [Permission mode override for installation of shared libraries])
2935_LT_DECL([], [postinstall_cmds], [2],
2936 [Command to use after installation of a shared archive])
2937_LT_DECL([], [postuninstall_cmds], [2],
2938 [Command to use after uninstallation of a shared archive])
2939_LT_DECL([], [finish_cmds], [2],
2940 [Commands used to finish a libtool library installation in a directory])
2941_LT_DECL([], [finish_eval], [1],
2942 [[As "finish_cmds", except a single script fragment to be evaled but
2943 not shown]])
2944_LT_DECL([], [hardcode_into_libs], [0],
2945 [Whether we should hardcode library paths into libraries])
2946_LT_DECL([], [sys_lib_search_path_spec], [2],
2947 [Compile-time system search path for libraries])
2948_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
2949 [Run-time system search path for libraries])
2950])# _LT_SYS_DYNAMIC_LINKER
2951
2952
2953# _LT_PATH_TOOL_PREFIX(TOOL)
2954# --------------------------
2955# find a file program which can recognize shared library
2956AC_DEFUN([_LT_PATH_TOOL_PREFIX],
2957[m4_require([_LT_DECL_EGREP])dnl
2958AC_MSG_CHECKING([for $1])
2959AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2960[case $MAGIC_CMD in
2961[[\\/*] | ?:[\\/]*])
2962 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2963 ;;
2964*)
2965 lt_save_MAGIC_CMD="$MAGIC_CMD"
2966 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2967dnl $ac_dummy forces splitting on constant user-supplied paths.
2968dnl POSIX.2 word splitting is done only on the output of word expansions,
2969dnl not every word. This closes a longstanding sh security hole.
2970 ac_dummy="m4_if([$2], , $PATH, [$2])"
2971 for ac_dir in $ac_dummy; do
2972 IFS="$lt_save_ifs"
2973 test -z "$ac_dir" && ac_dir=.
2974 if test -f $ac_dir/$1; then
2975 lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2976 if test -n "$file_magic_test_file"; then
2977 case $deplibs_check_method in
2978 "file_magic "*)
2979 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
2980 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2981 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
2982 $EGREP "$file_magic_regex" > /dev/null; then
2983 :
2984 else
2985 cat <<_LT_EOF 1>&2
2986
2987*** Warning: the command libtool uses to detect shared libraries,
2988*** $file_magic_cmd, produces output that libtool cannot recognize.
2989*** The result is that libtool may fail to recognize shared libraries
2990*** as such. This will affect the creation of libtool libraries that
2991*** depend on shared libraries, but programs linked with such libtool
2992*** libraries will work regardless of this problem. Nevertheless, you
2993*** may want to report the problem to your system manager and/or to
2994*** bug-libtool@gnu.org
2995
2996_LT_EOF
2997 fi ;;
2998 esac
2999 fi
3000 break
3001 fi
3002 done
3003 IFS="$lt_save_ifs"
3004 MAGIC_CMD="$lt_save_MAGIC_CMD"
3005 ;;
3006esac])
3007MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
3008if test -n "$MAGIC_CMD"; then
3009 AC_MSG_RESULT($MAGIC_CMD)
3010else
3011 AC_MSG_RESULT(no)
3012fi
3013_LT_DECL([], [MAGIC_CMD], [0],
3014 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
3015])# _LT_PATH_TOOL_PREFIX
3016
3017# Old name:
3018AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
3019dnl aclocal-1.4 backwards compatibility:
3020dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
3021
3022
3023# _LT_PATH_MAGIC
3024# --------------
3025# find a file program which can recognize a shared library
3026m4_defun([_LT_PATH_MAGIC],
3027[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
3028if test -z "$lt_cv_path_MAGIC_CMD"; then
3029 if test -n "$ac_tool_prefix"; then
3030 _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
3031 else
3032 MAGIC_CMD=:
3033 fi
3034fi
3035])# _LT_PATH_MAGIC
3036
3037
3038# LT_PATH_LD
3039# ----------
3040# find the pathname to the GNU or non-GNU linker
3041AC_DEFUN([LT_PATH_LD],
3042[AC_REQUIRE([AC_PROG_CC])dnl
3043AC_REQUIRE([AC_CANONICAL_HOST])dnl
3044AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3045m4_require([_LT_DECL_SED])dnl
3046m4_require([_LT_DECL_EGREP])dnl
3047m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
3048
3049AC_ARG_WITH([gnu-ld],
3050 [AS_HELP_STRING([--with-gnu-ld],
3051 [assume the C compiler uses GNU ld @<:@default=no@:>@])],
3052 [test "$withval" = no || with_gnu_ld=yes],
3053 [with_gnu_ld=no])dnl
3054
3055ac_prog=ld
3056if test "$GCC" = yes; then
3057 # Check if gcc -print-prog-name=ld gives a path.
3058 AC_MSG_CHECKING([for ld used by $CC])
3059 case $host in
3060 *-*-mingw*)
3061 # gcc leaves a trailing carriage return which upsets mingw
3062 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3063 *)
3064 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3065 esac
3066 case $ac_prog in
3067 # Accept absolute paths.
3068 [[\\/]]* | ?:[[\\/]]*)
3069 re_direlt='/[[^/]][[^/]]*/\.\./'
3070 # Canonicalize the pathname of ld
3071 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
3072 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
3073 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
3074 done
3075 test -z "$LD" && LD="$ac_prog"
3076 ;;
3077 "")
3078 # If it fails, then pretend we aren't using GCC.
3079 ac_prog=ld
3080 ;;
3081 *)
3082 # If it is relative, then search for the first ld in PATH.
3083 with_gnu_ld=unknown
3084 ;;
3085 esac
3086elif test "$with_gnu_ld" = yes; then
3087 AC_MSG_CHECKING([for GNU ld])
3088else
3089 AC_MSG_CHECKING([for non-GNU ld])
3090fi
3091AC_CACHE_VAL(lt_cv_path_LD,
3092[if test -z "$LD"; then
3093 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3094 for ac_dir in $PATH; do
3095 IFS="$lt_save_ifs"
3096 test -z "$ac_dir" && ac_dir=.
3097 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3098 lt_cv_path_LD="$ac_dir/$ac_prog"
3099 # Check to see if the program is GNU ld. I'd rather use --version,
3100 # but apparently some variants of GNU ld only accept -v.
3101 # Break only if it was the GNU/non-GNU ld that we prefer.
3102 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
3103 *GNU* | *'with BFD'*)
3104 test "$with_gnu_ld" != no && break
3105 ;;
3106 *)
3107 test "$with_gnu_ld" != yes && break
3108 ;;
3109 esac
3110 fi
3111 done
3112 IFS="$lt_save_ifs"
3113else
3114 lt_cv_path_LD="$LD" # Let the user override the test with a path.
3115fi])
3116LD="$lt_cv_path_LD"
3117if test -n "$LD"; then
3118 AC_MSG_RESULT($LD)
3119else
3120 AC_MSG_RESULT(no)
3121fi
3122test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3123_LT_PATH_LD_GNU
3124AC_SUBST([LD])
3125
3126_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
3127])# LT_PATH_LD
3128
3129# Old names:
3130AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
3131AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
3132dnl aclocal-1.4 backwards compatibility:
3133dnl AC_DEFUN([AM_PROG_LD], [])
3134dnl AC_DEFUN([AC_PROG_LD], [])
3135
3136
3137# _LT_PATH_LD_GNU
3138#- --------------
3139m4_defun([_LT_PATH_LD_GNU],
3140[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3141[# I'd rather use --version here, but apparently some GNU lds only accept -v.
3142case `$LD -v 2>&1 </dev/null` in
3143*GNU* | *'with BFD'*)
3144 lt_cv_prog_gnu_ld=yes
3145 ;;
3146*)
3147 lt_cv_prog_gnu_ld=no
3148 ;;
3149esac])
3150with_gnu_ld=$lt_cv_prog_gnu_ld
3151])# _LT_PATH_LD_GNU
3152
3153
3154# _LT_CMD_RELOAD
3155# --------------
3156# find reload flag for linker
3157# -- PORTME Some linkers may need a different reload flag.
3158m4_defun([_LT_CMD_RELOAD],
3159[AC_CACHE_CHECK([for $LD option to reload object files],
3160 lt_cv_ld_reload_flag,
3161 [lt_cv_ld_reload_flag='-r'])
3162reload_flag=$lt_cv_ld_reload_flag
3163case $reload_flag in
3164"" | " "*) ;;
3165*) reload_flag=" $reload_flag" ;;
3166esac
3167reload_cmds='$LD$reload_flag -o $output$reload_objs'
3168case $host_os in
3169 cygwin* | mingw* | pw32* | cegcc*)
3170 if test "$GCC" != yes; then
3171 reload_cmds=false
3172 fi
3173 ;;
3174 darwin*)
3175 if test "$GCC" = yes; then
3176 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
3177 else
3178 reload_cmds='$LD$reload_flag -o $output$reload_objs'
3179 fi
3180 ;;
3181esac
3182_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
3183_LT_TAGDECL([], [reload_cmds], [2])dnl
3184])# _LT_CMD_RELOAD
3185
3186
3187# _LT_CHECK_MAGIC_METHOD
3188# ----------------------
3189# how to check for library dependencies
3190# -- PORTME fill in with the dynamic library characteristics
3191m4_defun([_LT_CHECK_MAGIC_METHOD],
3192[m4_require([_LT_DECL_EGREP])
3193m4_require([_LT_DECL_OBJDUMP])
3194AC_CACHE_CHECK([how to recognize dependent libraries],
3195lt_cv_deplibs_check_method,
3196[lt_cv_file_magic_cmd='$MAGIC_CMD'
3197lt_cv_file_magic_test_file=
3198lt_cv_deplibs_check_method='unknown'
3199# Need to set the preceding variable on all platforms that support
3200# interlibrary dependencies.
3201# 'none' -- dependencies not supported.
3202# `unknown' -- same as none, but documents that we really don't know.
3203# 'pass_all' -- all dependencies passed with no checks.
3204# 'test_compile' -- check by making test program.
3205# 'file_magic [[regex]]' -- check by looking for files in library path
3206# which responds to the $file_magic_cmd with a given extended regex.
3207# If you have `file' or equivalent on your system and you're not sure
3208# whether `pass_all' will *always* work, you probably want this one.
3209
3210case $host_os in
3211aix[[4-9]]*)
3212 lt_cv_deplibs_check_method=pass_all
3213 ;;
3214
3215beos*)
3216 lt_cv_deplibs_check_method=pass_all
3217 ;;
3218
3219bsdi[[45]]*)
3220 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3221 lt_cv_file_magic_cmd='/usr/bin/file -L'
3222 lt_cv_file_magic_test_file=/shlib/libc.so
3223 ;;
3224
3225cygwin*)
3226 # func_win32_libid is a shell function defined in ltmain.sh
3227 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3228 lt_cv_file_magic_cmd='func_win32_libid'
3229 ;;
3230
3231mingw* | pw32*)
3232 # Base MSYS/MinGW do not provide the 'file' command needed by
3233 # func_win32_libid shell function, so use a weaker test based on 'objdump',
3234 # unless we find 'file', for example because we are cross-compiling.
3235 # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
3236 if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
3237 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3238 lt_cv_file_magic_cmd='func_win32_libid'
3239 else
3240 # Keep this pattern in sync with the one in func_win32_libid.
3241 lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
3242 lt_cv_file_magic_cmd='$OBJDUMP -f'
3243 fi
3244 ;;
3245
3246cegcc*)
3247 # use the weaker test based on 'objdump'. See mingw*.
3248 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3249 lt_cv_file_magic_cmd='$OBJDUMP -f'
3250 ;;
3251
3252darwin* | rhapsody*)
3253 lt_cv_deplibs_check_method=pass_all
3254 ;;
3255
3256freebsd* | dragonfly*)
3257 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3258 case $host_cpu in
3259 i*86 )
3260 # Not sure whether the presence of OpenBSD here was a mistake.
3261 # Let's accept both of them until this is cleared up.
3262 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3263 lt_cv_file_magic_cmd=/usr/bin/file
3264 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3265 ;;
3266 esac
3267 else
3268 lt_cv_deplibs_check_method=pass_all
3269 fi
3270 ;;
3271
3272gnu*)
3273 lt_cv_deplibs_check_method=pass_all
3274 ;;
3275
3276haiku*)
3277 lt_cv_deplibs_check_method=pass_all
3278 ;;
3279
3280hpux10.20* | hpux11*)
3281 lt_cv_file_magic_cmd=/usr/bin/file
3282 case $host_cpu in
3283 ia64*)
3284 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3285 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3286 ;;
3287 hppa*64*)
3288 [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]']
3289 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3290 ;;
3291 *)
3292 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
3293 lt_cv_file_magic_test_file=/usr/lib/libc.sl
3294 ;;
3295 esac
3296 ;;
3297
3298interix[[3-9]]*)
3299 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3300 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3301 ;;
3302
3303irix5* | irix6* | nonstopux*)
3304 case $LD in
3305 *-32|*"-32 ") libmagic=32-bit;;
3306 *-n32|*"-n32 ") libmagic=N32;;
3307 *-64|*"-64 ") libmagic=64-bit;;
3308 *) libmagic=never-match;;
3309 esac
3310 lt_cv_deplibs_check_method=pass_all
3311 ;;
3312
3313# This must be glibc/ELF.
3314linux* | k*bsd*-gnu | kopensolaris*-gnu)
3315 lt_cv_deplibs_check_method=pass_all
3316 ;;
3317
3318netbsd* | netbsdelf*-gnu)
3319 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3320 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3321 else
3322 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3323 fi
3324 ;;
3325
3326newos6*)
3327 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3328 lt_cv_file_magic_cmd=/usr/bin/file
3329 lt_cv_file_magic_test_file=/usr/lib/libnls.so
3330 ;;
3331
3332*nto* | *qnx*)
3333 lt_cv_deplibs_check_method=pass_all
3334 ;;
3335
3336openbsd*)
3337 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3338 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3339 else
3340 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3341 fi
3342 ;;
3343
3344osf3* | osf4* | osf5*)
3345 lt_cv_deplibs_check_method=pass_all
3346 ;;
3347
3348rdos*)
3349 lt_cv_deplibs_check_method=pass_all
3350 ;;
3351
3352solaris*)
3353 lt_cv_deplibs_check_method=pass_all
3354 ;;
3355
3356sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3357 lt_cv_deplibs_check_method=pass_all
3358 ;;
3359
3360sysv4 | sysv4.3*)
3361 case $host_vendor in
3362 motorola)
3363 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]]'
3364 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3365 ;;
3366 ncr)
3367 lt_cv_deplibs_check_method=pass_all
3368 ;;
3369 sequent)
3370 lt_cv_file_magic_cmd='/bin/file'
3371 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3372 ;;
3373 sni)
3374 lt_cv_file_magic_cmd='/bin/file'
3375 lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3376 lt_cv_file_magic_test_file=/lib/libc.so
3377 ;;
3378 siemens)
3379 lt_cv_deplibs_check_method=pass_all
3380 ;;
3381 pc)
3382 lt_cv_deplibs_check_method=pass_all
3383 ;;
3384 esac
3385 ;;
3386
3387tpf*)
3388 lt_cv_deplibs_check_method=pass_all
3389 ;;
3390esac
3391])
3392
3393file_magic_glob=
3394want_nocaseglob=no
3395if test "$build" = "$host"; then
3396 case $host_os in
3397 mingw* | pw32*)
3398 if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
3399 want_nocaseglob=yes
3400 else
3401 file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
3402 fi
3403 ;;
3404 esac
3405fi
3406
3407file_magic_cmd=$lt_cv_file_magic_cmd
3408deplibs_check_method=$lt_cv_deplibs_check_method
3409test -z "$deplibs_check_method" && deplibs_check_method=unknown
3410
3411_LT_DECL([], [deplibs_check_method], [1],
3412 [Method to check whether dependent libraries are shared objects])
3413_LT_DECL([], [file_magic_cmd], [1],
3414 [Command to use when deplibs_check_method = "file_magic"])
3415_LT_DECL([], [file_magic_glob], [1],
3416 [How to find potential files when deplibs_check_method = "file_magic"])
3417_LT_DECL([], [want_nocaseglob], [1],
3418 [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
3419])# _LT_CHECK_MAGIC_METHOD
3420
3421
3422# LT_PATH_NM
3423# ----------
3424# find the pathname to a BSD- or MS-compatible name lister
3425AC_DEFUN([LT_PATH_NM],
3426[AC_REQUIRE([AC_PROG_CC])dnl
3427AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3428[if test -n "$NM"; then
3429 # Let the user override the test.
3430 lt_cv_path_NM="$NM"
3431else
3432 lt_nm_to_check="${ac_tool_prefix}nm"
3433 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3434 lt_nm_to_check="$lt_nm_to_check nm"
3435 fi
3436 for lt_tmp_nm in $lt_nm_to_check; do
3437 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3438 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3439 IFS="$lt_save_ifs"
3440 test -z "$ac_dir" && ac_dir=.
3441 tmp_nm="$ac_dir/$lt_tmp_nm"
3442 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
3443 # Check to see if the nm accepts a BSD-compat flag.
3444 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3445 # nm: unknown option "B" ignored
3446 # Tru64's nm complains that /dev/null is an invalid object file
3447 case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
3448 */dev/null* | *'Invalid file or object type'*)
3449 lt_cv_path_NM="$tmp_nm -B"
3450 break
3451 ;;
3452 *)
3453 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3454 */dev/null*)
3455 lt_cv_path_NM="$tmp_nm -p"
3456 break
3457 ;;
3458 *)
3459 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3460 continue # so that we can try to find one that supports BSD flags
3461 ;;
3462 esac
3463 ;;
3464 esac
3465 fi
3466 done
3467 IFS="$lt_save_ifs"
3468 done
3469 : ${lt_cv_path_NM=no}
3470fi])
3471if test "$lt_cv_path_NM" != "no"; then
3472 NM="$lt_cv_path_NM"
3473else
3474 # Didn't find any BSD compatible name lister, look for dumpbin.
3475 if test -n "$DUMPBIN"; then :
3476 # Let the user override the test.
3477 else
3478 AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
3479 case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
3480 *COFF*)
3481 DUMPBIN="$DUMPBIN -symbols"
3482 ;;
3483 *)
3484 DUMPBIN=:
3485 ;;
3486 esac
3487 fi
3488 AC_SUBST([DUMPBIN])
3489 if test "$DUMPBIN" != ":"; then
3490 NM="$DUMPBIN"
3491 fi
3492fi
3493test -z "$NM" && NM=nm
3494AC_SUBST([NM])
3495_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3496
3497AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3498 [lt_cv_nm_interface="BSD nm"
3499 echo "int some_variable = 0;" > conftest.$ac_ext
3500 (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3501 (eval "$ac_compile" 2>conftest.err)
3502 cat conftest.err >&AS_MESSAGE_LOG_FD
3503 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3504 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3505 cat conftest.err >&AS_MESSAGE_LOG_FD
3506 (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
3507 cat conftest.out >&AS_MESSAGE_LOG_FD
3508 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3509 lt_cv_nm_interface="MS dumpbin"
3510 fi
3511 rm -f conftest*])
3512])# LT_PATH_NM
3513
3514# Old names:
3515AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3516AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3517dnl aclocal-1.4 backwards compatibility:
3518dnl AC_DEFUN([AM_PROG_NM], [])
3519dnl AC_DEFUN([AC_PROG_NM], [])
3520
3521# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3522# --------------------------------
3523# how to determine the name of the shared library
3524# associated with a specific link library.
3525# -- PORTME fill in with the dynamic library characteristics
3526m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
3527[m4_require([_LT_DECL_EGREP])
3528m4_require([_LT_DECL_OBJDUMP])
3529m4_require([_LT_DECL_DLLTOOL])
3530AC_CACHE_CHECK([how to associate runtime and link libraries],
3531lt_cv_sharedlib_from_linklib_cmd,
3532[lt_cv_sharedlib_from_linklib_cmd='unknown'
3533
3534case $host_os in
3535cygwin* | mingw* | pw32* | cegcc*)
3536 # two different shell functions defined in ltmain.sh
3537 # decide which to use based on capabilities of $DLLTOOL
3538 case `$DLLTOOL --help 2>&1` in
3539 *--identify-strict*)
3540 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
3541 ;;
3542 *)
3543 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
3544 ;;
3545 esac
3546 ;;
3547*)
3548 # fallback: assume linklib IS sharedlib
3549 lt_cv_sharedlib_from_linklib_cmd="$ECHO"
3550 ;;
3551esac
3552])
3553sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
3554test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
3555
3556_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
3557 [Command to associate shared and link libraries])
3558])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3559
3560
3561# _LT_PATH_MANIFEST_TOOL
3562# ----------------------
3563# locate the manifest tool
3564m4_defun([_LT_PATH_MANIFEST_TOOL],
3565[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
3566test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
3567AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
3568 [lt_cv_path_mainfest_tool=no
3569 echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
3570 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
3571 cat conftest.err >&AS_MESSAGE_LOG_FD
3572 if $GREP 'Manifest Tool' conftest.out > /dev/null; then
3573 lt_cv_path_mainfest_tool=yes
3574 fi
3575 rm -f conftest*])
3576if test "x$lt_cv_path_mainfest_tool" != xyes; then
3577 MANIFEST_TOOL=:
3578fi
3579_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
3580])# _LT_PATH_MANIFEST_TOOL
3581
3582
3583# LT_LIB_M
3584# --------
3585# check for math library
3586AC_DEFUN([LT_LIB_M],
3587[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3588LIBM=
3589case $host in
3590*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
3591 # These system don't have libm, or don't need it
3592 ;;
3593*-ncr-sysv4.3*)
3594 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3595 AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3596 ;;
3597*)
3598 AC_CHECK_LIB(m, cos, LIBM="-lm")
3599 ;;
3600esac
3601AC_SUBST([LIBM])
3602])# LT_LIB_M
3603
3604# Old name:
3605AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3606dnl aclocal-1.4 backwards compatibility:
3607dnl AC_DEFUN([AC_CHECK_LIBM], [])
3608
3609
3610# _LT_COMPILER_NO_RTTI([TAGNAME])
3611# -------------------------------
3612m4_defun([_LT_COMPILER_NO_RTTI],
3613[m4_require([_LT_TAG_COMPILER])dnl
3614
3615_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3616
3617if test "$GCC" = yes; then
3618 case $cc_basename in
3619 nvcc*)
3620 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
3621 *)
3622 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
3623 esac
3624
3625 _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3626 lt_cv_prog_compiler_rtti_exceptions,
3627 [-fno-rtti -fno-exceptions], [],
3628 [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
3629fi
3630_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3631 [Compiler flag to turn off builtin functions])
3632])# _LT_COMPILER_NO_RTTI
3633
3634
3635# _LT_CMD_GLOBAL_SYMBOLS
3636# ----------------------
3637m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3638[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3639AC_REQUIRE([AC_PROG_CC])dnl
3640AC_REQUIRE([AC_PROG_AWK])dnl
3641AC_REQUIRE([LT_PATH_NM])dnl
3642AC_REQUIRE([LT_PATH_LD])dnl
3643m4_require([_LT_DECL_SED])dnl
3644m4_require([_LT_DECL_EGREP])dnl
3645m4_require([_LT_TAG_COMPILER])dnl
3646
3647# Check for command to grab the raw symbol name followed by C symbol from nm.
3648AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3649AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3650[
3651# These are sane defaults that work on at least a few old systems.
3652# [They come from Ultrix. What could be older than Ultrix?!! ;)]
3653
3654# Character class describing NM global symbol codes.
3655symcode='[[BCDEGRST]]'
3656
3657# Regexp to match symbols that can be accessed directly from C.
3658sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3659
3660# Define system-specific variables.
3661case $host_os in
3662aix*)
3663 symcode='[[BCDT]]'
3664 ;;
3665cygwin* | mingw* | pw32* | cegcc*)
3666 symcode='[[ABCDGISTW]]'
3667 ;;
3668hpux*)
3669 if test "$host_cpu" = ia64; then
3670 symcode='[[ABCDEGRST]]'
3671 fi
3672 ;;
3673irix* | nonstopux*)
3674 symcode='[[BCDEGRST]]'
3675 ;;
3676osf*)
3677 symcode='[[BCDEGQRST]]'
3678 ;;
3679solaris*)
3680 symcode='[[BDRT]]'
3681 ;;
3682sco3.2v5*)
3683 symcode='[[DT]]'
3684 ;;
3685sysv4.2uw2*)
3686 symcode='[[DT]]'
3687 ;;
3688sysv5* | sco5v6* | unixware* | OpenUNIX*)
3689 symcode='[[ABDT]]'
3690 ;;
3691sysv4)
3692 symcode='[[DFNSTU]]'
3693 ;;
3694esac
3695
3696# If we're using GNU nm, then use its standard symbol codes.
3697case `$NM -V 2>&1` in
3698*GNU* | *'with BFD'*)
3699 symcode='[[ABCDGIRSTW]]' ;;
3700esac
3701
3702# Transform an extracted symbol line into a proper C declaration.
3703# Some systems (esp. on ia64) link data and code symbols differently,
3704# so use this general approach.
3705lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
3706
3707# Transform an extracted symbol line into symbol name and symbol address
3708lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
3709lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
3710
3711# Handle CRLF in mingw tool chain
3712opt_cr=
3713case $build_os in
3714mingw*)
3715 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
3716 ;;
3717esac
3718
3719# Try without a prefix underscore, then with it.
3720for ac_symprfx in "" "_"; do
3721
3722 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
3723 symxfrm="\\1 $ac_symprfx\\2 \\2"
3724
3725 # Write the raw and C identifiers.
3726 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3727 # Fake it for dumpbin and say T for any non-static function
3728 # and D for any global variable.
3729 # Also find C++ and __fastcall symbols from MSVC++,
3730 # which start with @ or ?.
3731 lt_cv_sys_global_symbol_pipe="$AWK ['"\
3732" {last_section=section; section=\$ 3};"\
3733" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
3734" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
3735" \$ 0!~/External *\|/{next};"\
3736" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
3737" {if(hide[section]) next};"\
3738" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
3739" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
3740" s[1]~/^[@?]/{print s[1], s[1]; next};"\
3741" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
3742" ' prfx=^$ac_symprfx]"
3743 else
3744 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
3745 fi
3746 lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
3747
3748 # Check to see that the pipe works correctly.
3749 pipe_works=no
3750
3751 rm -f conftest*
3752 cat > conftest.$ac_ext <<_LT_EOF
3753#ifdef __cplusplus
3754extern "C" {
3755#endif
3756char nm_test_var;
3757void nm_test_func(void);
3758void nm_test_func(void){}
3759#ifdef __cplusplus
3760}
3761#endif
3762int main(){nm_test_var='a';nm_test_func();return(0);}
3763_LT_EOF
3764
3765 if AC_TRY_EVAL(ac_compile); then
3766 # Now try to grab the symbols.
3767 nlist=conftest.nm
3768 if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
3769 # Try sorting and uniquifying the output.
3770 if sort "$nlist" | uniq > "$nlist"T; then
3771 mv -f "$nlist"T "$nlist"
3772 else
3773 rm -f "$nlist"T
3774 fi
3775
3776 # Make sure that we snagged all the symbols we need.
3777 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
3778 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
3779 cat <<_LT_EOF > conftest.$ac_ext
3780/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
3781#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
3782/* DATA imports from DLLs on WIN32 con't be const, because runtime
3783 relocations are performed -- see ld's documentation on pseudo-relocs. */
3784# define LT@&t@_DLSYM_CONST
3785#elif defined(__osf__)
3786/* This system does not cope well with relocations in const data. */
3787# define LT@&t@_DLSYM_CONST
3788#else
3789# define LT@&t@_DLSYM_CONST const
3790#endif
3791
3792#ifdef __cplusplus
3793extern "C" {
3794#endif
3795
3796_LT_EOF
3797 # Now generate the symbol file.
3798 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
3799
3800 cat <<_LT_EOF >> conftest.$ac_ext
3801
3802/* The mapping between symbol names and symbols. */
3803LT@&t@_DLSYM_CONST struct {
3804 const char *name;
3805 void *address;
3806}
3807lt__PROGRAM__LTX_preloaded_symbols[[]] =
3808{
3809 { "@PROGRAM@", (void *) 0 },
3810_LT_EOF
3811 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
3812 cat <<\_LT_EOF >> conftest.$ac_ext
3813 {0, (void *) 0}
3814};
3815
3816/* This works around a problem in FreeBSD linker */
3817#ifdef FREEBSD_WORKAROUND
3818static const void *lt_preloaded_setup() {
3819 return lt__PROGRAM__LTX_preloaded_symbols;
3820}
3821#endif
3822
3823#ifdef __cplusplus
3824}
3825#endif
3826_LT_EOF
3827 # Now try linking the two files.
3828 mv conftest.$ac_objext conftstm.$ac_objext
3829 lt_globsym_save_LIBS=$LIBS
3830 lt_globsym_save_CFLAGS=$CFLAGS
3831 LIBS="conftstm.$ac_objext"
3832 CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
3833 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
3834 pipe_works=yes
3835 fi
3836 LIBS=$lt_globsym_save_LIBS
3837 CFLAGS=$lt_globsym_save_CFLAGS
3838 else
3839 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
3840 fi
3841 else
3842 echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
3843 fi
3844 else
3845 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
3846 fi
3847 else
3848 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
3849 cat conftest.$ac_ext >&5
3850 fi
3851 rm -rf conftest* conftst*
3852
3853 # Do not use the global_symbol_pipe unless it works.
3854 if test "$pipe_works" = yes; then
3855 break
3856 else
3857 lt_cv_sys_global_symbol_pipe=
3858 fi
3859done
3860])
3861if test -z "$lt_cv_sys_global_symbol_pipe"; then
3862 lt_cv_sys_global_symbol_to_cdecl=
3863fi
3864if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
3865 AC_MSG_RESULT(failed)
3866else
3867 AC_MSG_RESULT(ok)
3868fi
3869
3870# Response file support.
3871if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3872 nm_file_list_spec='@'
3873elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
3874 nm_file_list_spec='@'
3875fi
3876
3877_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
3878 [Take the output of nm and produce a listing of raw symbols and C names])
3879_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
3880 [Transform the output of nm in a proper C declaration])
3881_LT_DECL([global_symbol_to_c_name_address],
3882 [lt_cv_sys_global_symbol_to_c_name_address], [1],
3883 [Transform the output of nm in a C name address pair])
3884_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
3885 [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
3886 [Transform the output of nm in a C name address pair when lib prefix is needed])
3887_LT_DECL([], [nm_file_list_spec], [1],
3888 [Specify filename containing input files for $NM])
3889]) # _LT_CMD_GLOBAL_SYMBOLS
3890
3891
3892# _LT_COMPILER_PIC([TAGNAME])
3893# ---------------------------
3894m4_defun([_LT_COMPILER_PIC],
3895[m4_require([_LT_TAG_COMPILER])dnl
3896_LT_TAGVAR(lt_prog_compiler_wl, $1)=
3897_LT_TAGVAR(lt_prog_compiler_pic, $1)=
3898_LT_TAGVAR(lt_prog_compiler_static, $1)=
3899
3900m4_if([$1], [CXX], [
3901 # C++ specific cases for pic, static, wl, etc.
3902 if test "$GXX" = yes; then
3903 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3904 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3905
3906 case $host_os in
3907 aix*)
3908 # All AIX code is PIC.
3909 if test "$host_cpu" = ia64; then
3910 # AIX 5 now supports IA64 processor
3911 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3912 fi
3913 ;;
3914
3915 amigaos*)
3916 case $host_cpu in
3917 powerpc)
3918 # see comment about AmigaOS4 .so support
3919 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3920 ;;
3921 m68k)
3922 # FIXME: we need at least 68020 code to build shared libraries, but
3923 # adding the `-m68020' flag to GCC prevents building anything better,
3924 # like `-m68040'.
3925 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3926 ;;
3927 esac
3928 ;;
3929
3930 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3931 # PIC is the default for these OSes.
3932 ;;
3933 mingw* | cygwin* | os2* | pw32* | cegcc*)
3934 # This hack is so that the source file can tell whether it is being
3935 # built for inclusion in a dll (and should export symbols for example).
3936 # Although the cygwin gcc ignores -fPIC, still need this for old-style
3937 # (--disable-auto-import) libraries
3938 m4_if([$1], [GCJ], [],
3939 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3940 ;;
3941 darwin* | rhapsody*)
3942 # PIC is the default on this platform
3943 # Common symbols not allowed in MH_DYLIB files
3944 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3945 ;;
3946 *djgpp*)
3947 # DJGPP does not support shared libraries at all
3948 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3949 ;;
3950 haiku*)
3951 # PIC is the default for Haiku.
3952 # The "-static" flag exists, but is broken.
3953 _LT_TAGVAR(lt_prog_compiler_static, $1)=
3954 ;;
3955 interix[[3-9]]*)
3956 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3957 # Instead, we relocate shared libraries at runtime.
3958 ;;
3959 sysv4*MP*)
3960 if test -d /usr/nec; then
3961 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3962 fi
3963 ;;
3964 hpux*)
3965 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3966 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
3967 # sets the default TLS model and affects inlining.
3968 case $host_cpu in
3969 hppa*64*)
3970 ;;
3971 *)
3972 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3973 ;;
3974 esac
3975 ;;
3976 *qnx* | *nto*)
3977 # QNX uses GNU C++, but need to define -shared option too, otherwise
3978 # it will coredump.
3979 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3980 ;;
3981 *)
3982 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3983 ;;
3984 esac
3985 else
3986 case $host_os in
3987 aix[[4-9]]*)
3988 # All AIX code is PIC.
3989 if test "$host_cpu" = ia64; then
3990 # AIX 5 now supports IA64 processor
3991 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3992 else
3993 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
3994 fi
3995 ;;
3996 chorus*)
3997 case $cc_basename in
3998 cxch68*)
3999 # Green Hills C++ Compiler
4000 # _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"
4001 ;;
4002 esac
4003 ;;
4004 mingw* | cygwin* | os2* | pw32* | cegcc*)
4005 # This hack is so that the source file can tell whether it is being
4006 # built for inclusion in a dll (and should export symbols for example).
4007 m4_if([$1], [GCJ], [],
4008 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4009 ;;
4010 dgux*)
4011 case $cc_basename in
4012 ec++*)
4013 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4014 ;;
4015 ghcx*)
4016 # Green Hills C++ Compiler
4017 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4018 ;;
4019 *)
4020 ;;
4021 esac
4022 ;;
4023 freebsd* | dragonfly*)
4024 # FreeBSD uses GNU C++
4025 ;;
4026 hpux9* | hpux10* | hpux11*)
4027 case $cc_basename in
4028 CC*)
4029 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4030 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4031 if test "$host_cpu" != ia64; then
4032 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4033 fi
4034 ;;
4035 aCC*)
4036 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4037 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4038 case $host_cpu in
4039 hppa*64*|ia64*)
4040 # +Z the default
4041 ;;
4042 *)
4043 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4044 ;;
4045 esac
4046 ;;
4047 *)
4048 ;;
4049 esac
4050 ;;
4051 interix*)
4052 # This is c89, which is MS Visual C++ (no shared libs)
4053 # Anyone wants to do a port?
4054 ;;
4055 irix5* | irix6* | nonstopux*)
4056 case $cc_basename in
4057 CC*)
4058 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4059 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4060 # CC pic flag -KPIC is the default.
4061 ;;
4062 *)
4063 ;;
4064 esac
4065 ;;
4066 linux* | k*bsd*-gnu | kopensolaris*-gnu)
4067 case $cc_basename in
4068 KCC*)
4069 # KAI C++ Compiler
4070 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4071 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4072 ;;
4073 ecpc* )
4074 # old Intel C++ for x86_64 which still supported -KPIC.
4075 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4076 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4077 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4078 ;;
4079 icpc* )
4080 # Intel C++, used to be incompatible with GCC.
4081 # ICC 10 doesn't accept -KPIC any more.
4082 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4083 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4084 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4085 ;;
4086 pgCC* | pgcpp*)
4087 # Portland Group C++ compiler
4088 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4089 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4090 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4091 ;;
4092 cxx*)
4093 # Compaq C++
4094 # Make sure the PIC flag is empty. It appears that all Alpha
4095 # Linux and Compaq Tru64 Unix objects are PIC.
4096 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4097 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4098 ;;
4099 xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
4100 # IBM XL 8.0, 9.0 on PPC and BlueGene
4101 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4102 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4103 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4104 ;;
4105 *)
4106 case `$CC -V 2>&1 | sed 5q` in
4107 *Sun\ C*)
4108 # Sun C++ 5.9
4109 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4110 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4111 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4112 ;;
4113 esac
4114 ;;
4115 esac
4116 ;;
4117 lynxos*)
4118 ;;
4119 m88k*)
4120 ;;
4121 mvs*)
4122 case $cc_basename in
4123 cxx*)
4124 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4125 ;;
4126 *)
4127 ;;
4128 esac
4129 ;;
4130 netbsd* | netbsdelf*-gnu)
4131 ;;
4132 *qnx* | *nto*)
4133 # QNX uses GNU C++, but need to define -shared option too, otherwise
4134 # it will coredump.
4135 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4136 ;;
4137 osf3* | osf4* | osf5*)
4138 case $cc_basename in
4139 KCC*)
4140 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4141 ;;
4142 RCC*)
4143 # Rational C++ 2.4.1
4144 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4145 ;;
4146 cxx*)
4147 # Digital/Compaq C++
4148 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4149 # Make sure the PIC flag is empty. It appears that all Alpha
4150 # Linux and Compaq Tru64 Unix objects are PIC.
4151 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4152 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4153 ;;
4154 *)
4155 ;;
4156 esac
4157 ;;
4158 psos*)
4159 ;;
4160 solaris*)
4161 case $cc_basename in
4162 CC* | sunCC*)
4163 # Sun C++ 4.2, 5.x and Centerline C++
4164 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4165 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4166 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4167 ;;
4168 gcx*)
4169 # Green Hills C++ Compiler
4170 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4171 ;;
4172 *)
4173 ;;
4174 esac
4175 ;;
4176 sunos4*)
4177 case $cc_basename in
4178 CC*)
4179 # Sun C++ 4.x
4180 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4181 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4182 ;;
4183 lcc*)
4184 # Lucid
4185 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4186 ;;
4187 *)
4188 ;;
4189 esac
4190 ;;
4191 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4192 case $cc_basename in
4193 CC*)
4194 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4195 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4196 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4197 ;;
4198 esac
4199 ;;
4200 tandem*)
4201 case $cc_basename in
4202 NCC*)
4203 # NonStop-UX NCC 3.20
4204 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4205 ;;
4206 *)
4207 ;;
4208 esac
4209 ;;
4210 vxworks*)
4211 ;;
4212 *)
4213 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4214 ;;
4215 esac
4216 fi
4217],
4218[
4219 if test "$GCC" = yes; then
4220 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4221 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4222
4223 case $host_os in
4224 aix*)
4225 # All AIX code is PIC.
4226 if test "$host_cpu" = ia64; then
4227 # AIX 5 now supports IA64 processor
4228 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4229 fi
4230 ;;
4231
4232 amigaos*)
4233 case $host_cpu in
4234 powerpc)
4235 # see comment about AmigaOS4 .so support
4236 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4237 ;;
4238 m68k)
4239 # FIXME: we need at least 68020 code to build shared libraries, but
4240 # adding the `-m68020' flag to GCC prevents building anything better,
4241 # like `-m68040'.
4242 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4243 ;;
4244 esac
4245 ;;
4246
4247 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4248 # PIC is the default for these OSes.
4249 ;;
4250
4251 mingw* | cygwin* | pw32* | os2* | cegcc*)
4252 # This hack is so that the source file can tell whether it is being
4253 # built for inclusion in a dll (and should export symbols for example).
4254 # Although the cygwin gcc ignores -fPIC, still need this for old-style
4255 # (--disable-auto-import) libraries
4256 m4_if([$1], [GCJ], [],
4257 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4258 ;;
4259
4260 darwin* | rhapsody*)
4261 # PIC is the default on this platform
4262 # Common symbols not allowed in MH_DYLIB files
4263 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4264 ;;
4265
4266 haiku*)
4267 # PIC is the default for Haiku.
4268 # The "-static" flag exists, but is broken.
4269 _LT_TAGVAR(lt_prog_compiler_static, $1)=
4270 ;;
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 # +Z the default
4279 ;;
4280 *)
4281 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4282 ;;
4283 esac
4284 ;;
4285
4286 interix[[3-9]]*)
4287 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4288 # Instead, we relocate shared libraries at runtime.
4289 ;;
4290
4291 msdosdjgpp*)
4292 # Just because we use GCC doesn't mean we suddenly get shared libraries
4293 # on systems that don't support them.
4294 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4295 enable_shared=no
4296 ;;
4297
4298 *nto* | *qnx*)
4299 # QNX uses GNU C++, but need to define -shared option too, otherwise
4300 # it will coredump.
4301 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4302 ;;
4303
4304 sysv4*MP*)
4305 if test -d /usr/nec; then
4306 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4307 fi
4308 ;;
4309
4310 *)
4311 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4312 ;;
4313 esac
4314
4315 case $cc_basename in
4316 nvcc*) # Cuda Compiler Driver 2.2
4317 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
4318 if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4319 _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
4320 fi
4321 ;;
4322 esac
4323 else
4324 # PORTME Check for flag to pass linker flags through the system compiler.
4325 case $host_os in
4326 aix*)
4327 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4328 if test "$host_cpu" = ia64; then
4329 # AIX 5 now supports IA64 processor
4330 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4331 else
4332 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4333 fi
4334 ;;
4335
4336 mingw* | cygwin* | pw32* | os2* | cegcc*)
4337 # This hack is so that the source file can tell whether it is being
4338 # built for inclusion in a dll (and should export symbols for example).
4339 m4_if([$1], [GCJ], [],
4340 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4341 ;;
4342
4343 hpux9* | hpux10* | hpux11*)
4344 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4345 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4346 # not for PA HP-UX.
4347 case $host_cpu in
4348 hppa*64*|ia64*)
4349 # +Z the default
4350 ;;
4351 *)
4352 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4353 ;;
4354 esac
4355 # Is there a better lt_prog_compiler_static that works with the bundled CC?
4356 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4357 ;;
4358
4359 irix5* | irix6* | nonstopux*)
4360 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4361 # PIC (with -KPIC) is the default.
4362 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4363 ;;
4364
4365 linux* | k*bsd*-gnu | kopensolaris*-gnu)
4366 case $cc_basename in
4367 # old Intel for x86_64 which still supported -KPIC.
4368 ecc*)
4369 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4370 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4371 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4372 ;;
4373 # icc used to be incompatible with GCC.
4374 # ICC 10 doesn't accept -KPIC any more.
4375 icc* | ifort*)
4376 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4377 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4378 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4379 ;;
4380 # Lahey Fortran 8.1.
4381 lf95*)
4382 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4383 _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4384 _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4385 ;;
4386 nagfor*)
4387 # NAG Fortran compiler
4388 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4389 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4390 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4391 ;;
4392 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
4393 # Portland Group compilers (*not* the Pentium gcc compiler,
4394 # which looks to be a dead project)
4395 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4396 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4397 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4398 ;;
4399 ccc*)
4400 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4401 # All Alpha code is PIC.
4402 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4403 ;;
4404 xl* | bgxl* | bgf* | mpixl*)
4405 # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
4406 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4407 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4408 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4409 ;;
4410 *)
4411 case `$CC -V 2>&1 | sed 5q` in
4412 *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
4413 # Sun Fortran 8.3 passes all unrecognized flags to the linker
4414 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4415 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4416 _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4417 ;;
4418 *Sun\ F* | *Sun*Fortran*)
4419 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4420 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4421 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4422 ;;
4423 *Sun\ C*)
4424 # Sun C 5.9
4425 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4426 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4427 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4428 ;;
4429 *Intel*\ [[CF]]*Compiler*)
4430 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4431 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4432 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4433 ;;
4434 *Portland\ Group*)
4435 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4436 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4437 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4438 ;;
4439 esac
4440 ;;
4441 esac
4442 ;;
4443
4444 newsos6)
4445 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4446 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4447 ;;
4448
4449 *nto* | *qnx*)
4450 # QNX uses GNU C++, but need to define -shared option too, otherwise
4451 # it will coredump.
4452 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4453 ;;
4454
4455 osf3* | osf4* | osf5*)
4456 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4457 # All OSF/1 code is PIC.
4458 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4459 ;;
4460
4461 rdos*)
4462 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4463 ;;
4464
4465 solaris*)
4466 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4467 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4468 case $cc_basename in
4469 f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
4470 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4471 *)
4472 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4473 esac
4474 ;;
4475
4476 sunos4*)
4477 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4478 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4479 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4480 ;;
4481
4482 sysv4 | sysv4.2uw2* | sysv4.3*)
4483 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4484 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4485 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4486 ;;
4487
4488 sysv4*MP*)
4489 if test -d /usr/nec ;then
4490 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4491 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4492 fi
4493 ;;
4494
4495 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4496 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4497 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4498 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4499 ;;
4500
4501 unicos*)
4502 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4503 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4504 ;;
4505
4506 uts4*)
4507 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4508 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4509 ;;
4510
4511 *)
4512 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4513 ;;
4514 esac
4515 fi
4516])
4517case $host_os in
4518 # For platforms which do not support PIC, -DPIC is meaningless:
4519 *djgpp*)
4520 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4521 ;;
4522 *)
4523 _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4524 ;;
4525esac
4526
4527AC_CACHE_CHECK([for $compiler option to produce PIC],
4528 [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
4529 [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4530_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
4531
4532#
4533# Check to make sure the PIC flag actually works.
4534#
4535if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4536 _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4537 [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4538 [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4539 [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
4540 "" | " "*) ;;
4541 *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4542 esac],
4543 [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4544 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4545fi
4546_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4547 [Additional compiler flags for building library objects])
4548
4549_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4550 [How to pass a linker flag through the compiler])
4551#
4552# Check to make sure the static flag actually works.
4553#
4554wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4555_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4556 _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
4557 $lt_tmp_static_flag,
4558 [],
4559 [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4560_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4561 [Compiler flag to prevent dynamic linking])
4562])# _LT_COMPILER_PIC
4563
4564
4565# _LT_LINKER_SHLIBS([TAGNAME])
4566# ----------------------------
4567# See if the linker supports building shared libraries.
4568m4_defun([_LT_LINKER_SHLIBS],
4569[AC_REQUIRE([LT_PATH_LD])dnl
4570AC_REQUIRE([LT_PATH_NM])dnl
4571m4_require([_LT_PATH_MANIFEST_TOOL])dnl
4572m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4573m4_require([_LT_DECL_EGREP])dnl
4574m4_require([_LT_DECL_SED])dnl
4575m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4576m4_require([_LT_TAG_COMPILER])dnl
4577AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4578m4_if([$1], [CXX], [
4579 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4580 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4581 case $host_os in
4582 aix[[4-9]]*)
4583 # If we're using GNU nm, then we don't want the "-C" option.
4584 # -C means demangle to AIX nm, but means don't demangle with GNU nm
4585 # Also, AIX nm treats weak defined symbols like other global defined
4586 # symbols, whereas GNU nm marks them as "W".
4587 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4588 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4589 else
4590 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4591 fi
4592 ;;
4593 pw32*)
4594 _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
4595 ;;
4596 cygwin* | mingw* | cegcc*)
4597 case $cc_basename in
4598 cl*)
4599 _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
4600 ;;
4601 *)
4602 _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'
4603 _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
4604 ;;
4605 esac
4606 ;;
4607 linux* | k*bsd*-gnu | gnu*)
4608 _LT_TAGVAR(link_all_deplibs, $1)=no
4609 ;;
4610 *)
4611 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4612 ;;
4613 esac
4614], [
4615 runpath_var=
4616 _LT_TAGVAR(allow_undefined_flag, $1)=
4617 _LT_TAGVAR(always_export_symbols, $1)=no
4618 _LT_TAGVAR(archive_cmds, $1)=
4619 _LT_TAGVAR(archive_expsym_cmds, $1)=
4620 _LT_TAGVAR(compiler_needs_object, $1)=no
4621 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4622 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4623 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4624 _LT_TAGVAR(hardcode_automatic, $1)=no
4625 _LT_TAGVAR(hardcode_direct, $1)=no
4626 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4627 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4628 _LT_TAGVAR(hardcode_libdir_separator, $1)=
4629 _LT_TAGVAR(hardcode_minus_L, $1)=no
4630 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4631 _LT_TAGVAR(inherit_rpath, $1)=no
4632 _LT_TAGVAR(link_all_deplibs, $1)=unknown
4633 _LT_TAGVAR(module_cmds, $1)=
4634 _LT_TAGVAR(module_expsym_cmds, $1)=
4635 _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4636 _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4637 _LT_TAGVAR(thread_safe_flag_spec, $1)=
4638 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4639 # include_expsyms should be a list of space-separated symbols to be *always*
4640 # included in the symbol list
4641 _LT_TAGVAR(include_expsyms, $1)=
4642 # exclude_expsyms can be an extended regexp of symbols to exclude
4643 # it will be wrapped by ` (' and `)$', so one must not match beginning or
4644 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
4645 # as well as any symbol that contains `d'.
4646 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4647 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4648 # platforms (ab)use it in PIC code, but their linkers get confused if
4649 # the symbol is explicitly referenced. Since portable code cannot
4650 # rely on this symbol name, it's probably fine to never include it in
4651 # preloaded symbol tables.
4652 # Exclude shared library initialization/finalization symbols.
4653dnl Note also adjust exclude_expsyms for C++ above.
4654 extract_expsyms_cmds=
4655
4656 case $host_os in
4657 cygwin* | mingw* | pw32* | cegcc*)
4658 # FIXME: the MSVC++ port hasn't been tested in a loooong time
4659 # When not using gcc, we currently assume that we are using
4660 # Microsoft Visual C++.
4661 if test "$GCC" != yes; then
4662 with_gnu_ld=no
4663 fi
4664 ;;
4665 interix*)
4666 # we just hope/assume this is gcc and not c89 (= MSVC++)
4667 with_gnu_ld=yes
4668 ;;
4669 openbsd*)
4670 with_gnu_ld=no
4671 ;;
4672 linux* | k*bsd*-gnu | gnu*)
4673 _LT_TAGVAR(link_all_deplibs, $1)=no
4674 ;;
4675 esac
4676
4677 _LT_TAGVAR(ld_shlibs, $1)=yes
4678
4679 # On some targets, GNU ld is compatible enough with the native linker
4680 # that we're better off using the native interface for both.
4681 lt_use_gnu_ld_interface=no
4682 if test "$with_gnu_ld" = yes; then
4683 case $host_os in
4684 aix*)
4685 # The AIX port of GNU ld has always aspired to compatibility
4686 # with the native linker. However, as the warning in the GNU ld
4687 # block says, versions before 2.19.5* couldn't really create working
4688 # shared libraries, regardless of the interface used.
4689 case `$LD -v 2>&1` in
4690 *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
4691 *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
4692 *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
4693 *)
4694 lt_use_gnu_ld_interface=yes
4695 ;;
4696 esac
4697 ;;
4698 *)
4699 lt_use_gnu_ld_interface=yes
4700 ;;
4701 esac
4702 fi
4703
4704 if test "$lt_use_gnu_ld_interface" = yes; then
4705 # If archive_cmds runs LD, not CC, wlarc should be empty
4706 wlarc='${wl}'
4707
4708 # Set some defaults for GNU ld with shared library support. These
4709 # are reset later if shared libraries are not supported. Putting them
4710 # here allows them to be overridden if necessary.
4711 runpath_var=LD_RUN_PATH
4712 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4713 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4714 # ancient GNU ld didn't support --whole-archive et. al.
4715 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
4716 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4717 else
4718 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4719 fi
4720 supports_anon_versioning=no
4721 case `$LD -v 2>&1` in
4722 *GNU\ gold*) supports_anon_versioning=yes ;;
4723 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
4724 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
4725 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches