aboutsummaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorNils Durner <durner@gnunet.org>2009-05-29 19:20:23 +0000
committerNils Durner <durner@gnunet.org>2009-05-29 19:20:23 +0000
commit179946965cc0f171e4af1bd053b42ec36314c86e (patch)
treedf49518ea91d8a644ecbd0e6a48c26c1e7fe93b3 /m4
parentc137702c332798fb68622739f61ae06bbf6286df (diff)
downloadgnunet-179946965cc0f171e4af1bd053b42ec36314c86e.tar.gz
gnunet-179946965cc0f171e4af1bd053b42ec36314c86e.zip
cp
Diffstat (limited to 'm4')
-rw-r--r--m4/ChangeLog66
-rw-r--r--m4/Makefile.am36
-rw-r--r--m4/ac_define_dir.m435
-rw-r--r--m4/align.m428
-rw-r--r--m4/argz.m479
-rw-r--r--m4/codeset.m421
-rw-r--r--m4/freetype2.m4178
-rw-r--r--m4/gettext.m4419
-rw-r--r--m4/glib-2.0.m4212
-rw-r--r--m4/glib-gettext.m4380
-rw-r--r--m4/glibc2.m430
-rw-r--r--m4/glibc21.m430
-rw-r--r--m4/gtk-2.0.m4196
-rw-r--r--m4/iconv.m4101
-rw-r--r--m4/intdiv0.m470
-rw-r--r--m4/intl.m4259
-rw-r--r--m4/intldir.m419
-rw-r--r--m4/intmax.m433
-rw-r--r--m4/inttypes-pri.m436
-rw-r--r--m4/inttypes.m427
-rw-r--r--m4/inttypes_h.m426
-rw-r--r--m4/isc-posix.m426
-rw-r--r--m4/lcmessage.m430
-rw-r--r--m4/lib-ld.m4110
-rw-r--r--m4/lib-link.m4644
-rw-r--r--m4/lib-prefix.m4185
-rw-r--r--m4/libcurl.m4239
-rw-r--r--m4/libgcrypt.m4108
-rw-r--r--m4/libltdl-external.m475
-rw-r--r--m4/libtool.m47325
-rw-r--r--m4/libxml2.m4188
-rw-r--r--m4/lock.m4311
-rw-r--r--m4/longdouble.m431
-rw-r--r--m4/longlong.m448
-rw-r--r--m4/ltdl.m4824
-rw-r--r--m4/ltoptions.m4368
-rw-r--r--m4/ltsugar.m4123
-rw-r--r--m4/ltversion.m423
-rw-r--r--m4/lt~obsolete.m492
-rw-r--r--m4/nls.m431
-rw-r--r--m4/pkg.m457
-rw-r--r--m4/po.m4428
-rw-r--r--m4/printf-posix.m444
-rw-r--r--m4/progtest.m492
-rw-r--r--m4/signed.m419
-rw-r--r--m4/size_max.m462
-rw-r--r--m4/stdint_h.m426
-rw-r--r--m4/uintmax_t.m430
-rw-r--r--m4/ulonglong.m448
-rw-r--r--m4/visibility.m452
-rw-r--r--m4/wchar_t.m420
-rw-r--r--m4/wint_t.m420
-rw-r--r--m4/xsize.m413
53 files changed, 13973 insertions, 0 deletions
diff --git a/m4/ChangeLog b/m4/ChangeLog
new file mode 100644
index 000000000..e76f4b088
--- /dev/null
+++ b/m4/ChangeLog
@@ -0,0 +1,66 @@
12007-02-08 gettextize <bug-gnu-gettext@gnu.org>
2
3 * gettext.m4: Upgrade to gettext-0.16.1.
4 * iconv.m4: Upgrade to gettext-0.16.1.
5 * lib-ld.m4: Upgrade to gettext-0.16.1.
6 * lib-link.m4: Upgrade to gettext-0.16.1.
7 * lib-prefix.m4: Upgrade to gettext-0.16.1.
8 * nls.m4: Upgrade to gettext-0.16.1.
9 * po.m4: Upgrade to gettext-0.16.1.
10 * progtest.m4: Upgrade to gettext-0.16.1.
11 * codeset.m4: Upgrade to gettext-0.16.1.
12 * glibc2.m4: New file, from gettext-0.16.1.
13 * glibc21.m4: Upgrade to gettext-0.16.1.
14 * intdiv0.m4: Upgrade to gettext-0.16.1.
15 * intl.m4: New file, from gettext-0.16.1.
16 * intldir.m4: New file, from gettext-0.16.1.
17 * intmax.m4: Upgrade to gettext-0.16.1.
18 * inttypes_h.m4: Upgrade to gettext-0.16.1.
19 * inttypes-pri.m4: Upgrade to gettext-0.16.1.
20 * lcmessage.m4: Upgrade to gettext-0.16.1.
21 * lock.m4: New file, from gettext-0.16.1.
22 * longdouble.m4: Upgrade to gettext-0.16.1.
23 * longlong.m4: Upgrade to gettext-0.16.1.
24 * printf-posix.m4: Upgrade to gettext-0.16.1.
25 * size_max.m4: Upgrade to gettext-0.16.1.
26 * stdint_h.m4: Upgrade to gettext-0.16.1.
27 * uintmax_t.m4: Upgrade to gettext-0.16.1.
28 * ulonglong.m4: Upgrade to gettext-0.16.1.
29 * visibility.m4: New file, from gettext-0.16.1.
30 * wchar_t.m4: Upgrade to gettext-0.16.1.
31 * wint_t.m4: Upgrade to gettext-0.16.1.
32 * xsize.m4: Upgrade to gettext-0.16.1.
33 * Makefile.am (EXTRA_DIST): Add the new files.
34
352004-08-21 gettextize <bug-gnu-gettext@gnu.org>
36
37 * codeset.m4: New file, from gettext-0.14.
38 * gettext.m4: New file, from gettext-0.14.
39 * glibc21.m4: New file, from gettext-0.14.
40 * iconv.m4: New file, from gettext-0.14.
41 * intdiv0.m4: New file, from gettext-0.14.
42 * intmax.m4: New file, from gettext-0.14.
43 * inttypes.m4: New file, from gettext-0.14.
44 * inttypes_h.m4: New file, from gettext-0.14.
45 * inttypes-pri.m4: New file, from gettext-0.14.
46 * isc-posix.m4: New file, from gettext-0.14.
47 * lcmessage.m4: New file, from gettext-0.14.
48 * lib-ld.m4: New file, from gettext-0.14.
49 * lib-link.m4: New file, from gettext-0.14.
50 * lib-prefix.m4: New file, from gettext-0.14.
51 * longdouble.m4: New file, from gettext-0.14.
52 * longlong.m4: New file, from gettext-0.14.
53 * nls.m4: New file, from gettext-0.14.
54 * po.m4: New file, from gettext-0.14.
55 * printf-posix.m4: New file, from gettext-0.14.
56 * progtest.m4: New file, from gettext-0.14.
57 * signed.m4: New file, from gettext-0.14.
58 * size_max.m4: New file, from gettext-0.14.
59 * stdint_h.m4: New file, from gettext-0.14.
60 * uintmax_t.m4: New file, from gettext-0.14.
61 * ulonglong.m4: New file, from gettext-0.14.
62 * wchar_t.m4: New file, from gettext-0.14.
63 * wint_t.m4: New file, from gettext-0.14.
64 * xsize.m4: New file, from gettext-0.14.
65 * Makefile.am: New file.
66
diff --git a/m4/Makefile.am b/m4/Makefile.am
new file mode 100644
index 000000000..3afad7e81
--- /dev/null
+++ b/m4/Makefile.am
@@ -0,0 +1,36 @@
1EXTRA_DIST = glibc2.m4 intl.m4 intldir.m4 lock.m4 visibility.m4 \
2codeset.m4 \
3freetype2.m4\
4gettext.m4\
5glib-2.0.m4\
6glibc21.m4\
7glib-gettext.m4\
8gtk-2.0.m4\
9iconv.m4\
10intdiv0.m4\
11intmax.m4\
12inttypes_h.m4\
13inttypes.m4\
14inttypes-pri.m4\
15isc-posix.m4\
16lcmessage.m4\
17libgcrypt.m4\
18lib-ld.m4\
19lib-link.m4\
20lib-prefix.m4\
21libxml2.m4\
22longdouble.m4\
23longlong.m4\
24nls.m4\
25pkg.m4\
26po.m4\
27printf-posix.m4\
28progtest.m4\
29signed.m4\
30size_max.m4\
31stdint_h.m4\
32uintmax_t.m4\
33ulonglong.m4\
34wchar_t.m4\
35wint_t.m4\
36xsize.m4
diff --git a/m4/ac_define_dir.m4 b/m4/ac_define_dir.m4
new file mode 100644
index 000000000..f7e028fca
--- /dev/null
+++ b/m4/ac_define_dir.m4
@@ -0,0 +1,35 @@
1dnl @synopsis AC_DEFINE_DIR(VARNAME, DIR [, DESCRIPTION])
2dnl
3dnl This macro _AC_DEFINEs VARNAME to the expansion of the DIR
4dnl variable, taking care of fixing up ${prefix} and such.
5dnl
6dnl VARNAME is offered as both a C preprocessor symbol, and an output
7dnl variable.
8dnl
9dnl Note that the 3 argument form is only supported with autoconf 2.13
10dnl and later (i.e. only where _AC_DEFINE supports 3 arguments).
11dnl
12dnl Examples:
13dnl
14dnl AC_DEFINE_DIR(DATADIR, datadir)
15dnl AC_DEFINE_DIR(PROG_PATH, bindir, [Location of installed binaries])
16dnl
17dnl @category Misc
18dnl @author Stepan Kasal <kasal@ucw.cz>
19dnl @author Andreas Schwab <schwab@suse.de>
20dnl @author Guido Draheim <guidod@gmx.de>
21dnl @author Alexandre Oliva
22dnl @version 2005-01-17
23dnl @license AllPermissive
24
25AC_DEFUN([AC_DEFINE_DIR], [
26 prefix_NONE=
27 exec_prefix_NONE=
28 test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
29 test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
30 eval ac_define_dir="\"[$]$2\""
31 AC_SUBST($1, "$ac_define_dir")
32 AC_DEFINE_UNQUOTED($1, "$ac_define_dir", [$3])
33 test "$prefix_NONE" && prefix=NONE
34 test "$exec_prefix_NONE" && exec_prefix=NONE
35])
diff --git a/m4/align.m4 b/m4/align.m4
new file mode 100644
index 000000000..256300e37
--- /dev/null
+++ b/m4/align.m4
@@ -0,0 +1,28 @@
1# align.m4
2dnl Copyright (C) 2008 Christian Grothoff
3dnl This file is free software, distributed under the terms of the GNU
4dnl General Public License. As a special exception to the GNU General
5dnl Public License, this file may be distributed as part of a program
6dnl that contains a configuration script generated by Autoconf, under
7dnl the same distribution terms as the rest of that program.
8
9# Define HAVE_UNALIGNED_64_ACCESS if reading a 64-bit value at a 32-bit aligned offset works
10# Note that the program intentionally causes a SIGBUS (so you may
11# see some message along those lines on the console).
12AC_DEFUN([AC_UNALIGNED_64_ACCESS],
13[AC_CACHE_CHECK([whether unaligned 64-bit access works],
14 ac_cv_unaligned_64_access,
15 [
16 AC_RUN_IFELSE(AC_LANG_PROGRAM([[struct S { int a,b,c;};]],
17 [[struct S s = {0,0,0}; long long * p = &s.b;
18 long long x = *p; return (int) x*x;]]),
19 ac_cv_unaligned_64_access=yes,
20 ac_cv_unaligned_64_access=no,
21 ac_cv_unaligned_64_access=no)
22 ])
23 case "$ac_cv_unaligned_64_access" in
24 *yes) value=1;;
25 *) value=0;;
26 esac
27 AC_DEFINE_UNQUOTED([HAVE_UNALIGNED_64_ACCESS], $value, [We can access-64 bit values that are only 32-bit aligned])
28])
diff --git a/m4/argz.m4 b/m4/argz.m4
new file mode 100644
index 000000000..edc99bbce
--- /dev/null
+++ b/m4/argz.m4
@@ -0,0 +1,79 @@
1# Portability macros for glibc argz. -*- Autoconf -*-
2#
3# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
4# Written by Gary V. Vaughan <gary@gnu.org>
5#
6# This file is free software; the Free Software Foundation gives
7# unlimited permission to copy and/or distribute it, with or without
8# modifications, as long as this notice is preserved.
9
10# serial 5 argz.m4
11
12AC_DEFUN([gl_FUNC_ARGZ],
13[gl_PREREQ_ARGZ
14
15AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT])
16
17AC_CHECK_TYPES([error_t],
18 [],
19 [AC_DEFINE([error_t], [int],
20 [Define to a type to use for `error_t' if it is not otherwise available.])
21 AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h
22 does not typedef error_t.])],
23 [#if defined(HAVE_ARGZ_H)
24# include <argz.h>
25#endif])
26
27ARGZ_H=
28AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \
29 argz_next argz_stringify], [], [ARGZ_H=argz.h; AC_LIBOBJ([argz])])
30
31dnl if have system argz functions, allow forced use of
32dnl libltdl-supplied implementation (and default to do so
33dnl on "known bad" systems). Could use a runtime check, but
34dnl (a) detecting malloc issues is notoriously unreliable
35dnl (b) only known system that declares argz functions,
36dnl provides them, yet they are broken, is cygwin
37dnl releases prior to 16-Mar-2007 (1.5.24 and earlier)
38dnl So, it's more straightforward simply to special case
39dnl this for known bad systems.
40AS_IF([test -z "$ARGZ_H"],
41 [AC_CACHE_CHECK(
42 [if argz actually works],
43 [lt_cv_sys_argz_works],
44 [[case $host_os in #(
45 *cygwin*)
46 lt_cv_sys_argz_works=no
47 if test "$cross_compiling" != no; then
48 lt_cv_sys_argz_works="guessing no"
49 else
50 lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/'
51 save_IFS=$IFS
52 IFS=-.
53 set x `uname -r | sed -e "$lt_sed_extract_leading_digits"`
54 IFS=$save_IFS
55 lt_os_major=${2-0}
56 lt_os_minor=${3-0}
57 lt_os_micro=${4-0}
58 if test "$lt_os_major" -gt 1 \
59 || { test "$lt_os_major" -eq 1 \
60 && { test "$lt_os_minor" -gt 5 \
61 || { test "$lt_os_minor" -eq 5 \
62 && test "$lt_os_micro" -gt 24; }; }; }; then
63 lt_cv_sys_argz_works=yes
64 fi
65 fi
66 ;; #(
67 *) lt_cv_sys_argz_works=yes ;;
68 esac]])
69 AS_IF([test $lt_cv_sys_argz_works = yes],
70 [AC_DEFINE([HAVE_WORKING_ARGZ], 1,
71 [This value is set to 1 to indicate that the system argz facility works])],
72 [ARGZ_H=argz.h
73 AC_LIBOBJ([argz])])])
74
75AC_SUBST([ARGZ_H])
76])
77
78# Prerequisites of lib/argz.c.
79AC_DEFUN([gl_PREREQ_ARGZ], [:])
diff --git a/m4/codeset.m4 b/m4/codeset.m4
new file mode 100644
index 000000000..223955b45
--- /dev/null
+++ b/m4/codeset.m4
@@ -0,0 +1,21 @@
1# codeset.m4 serial 2 (gettext-0.16)
2dnl Copyright (C) 2000-2002, 2006 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Bruno Haible.
8
9AC_DEFUN([AM_LANGINFO_CODESET],
10[
11 AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
12 [AC_TRY_LINK([#include <langinfo.h>],
13 [char* cs = nl_langinfo(CODESET); return !cs;],
14 am_cv_langinfo_codeset=yes,
15 am_cv_langinfo_codeset=no)
16 ])
17 if test $am_cv_langinfo_codeset = yes; then
18 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
19 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
20 fi
21])
diff --git a/m4/freetype2.m4 b/m4/freetype2.m4
new file mode 100644
index 000000000..7424a32ab
--- /dev/null
+++ b/m4/freetype2.m4
@@ -0,0 +1,178 @@
1# Configure paths for FreeType2
2# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
3#
4# serial 2
5
6# AC_CHECK_FT2([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
7# Test for FreeType 2, and define FT2_CFLAGS and FT2_LIBS.
8# MINIMUM-VERSION is what libtool reports; the default is `7.0.1' (this is
9# FreeType 2.0.4).
10#
11AC_DEFUN([AC_CHECK_FT2],
12 [# Get the cflags and libraries from the freetype-config script
13 #
14 AC_ARG_WITH([ft-prefix],
15 dnl don't quote AS_HELP_STRING!
16 AS_HELP_STRING([--with-ft-prefix=PREFIX],
17 [Prefix where FreeType is installed (optional)]),
18 [ft_config_prefix="$withval"],
19 [ft_config_prefix=""])
20
21 AC_ARG_WITH([ft-exec-prefix],
22 dnl don't quote AS_HELP_STRING!
23 AS_HELP_STRING([--with-ft-exec-prefix=PREFIX],
24 [Exec prefix where FreeType is installed (optional)]),
25 [ft_config_exec_prefix="$withval"],
26 [ft_config_exec_prefix=""])
27
28 AC_ARG_ENABLE([freetypetest],
29 dnl don't quote AS_HELP_STRING!
30 AS_HELP_STRING([--disable-freetypetest],
31 [Do not try to compile and run a test FreeType program]),
32 [],
33 [enable_fttest=yes])
34
35 if test x$ft_config_exec_prefix != x ; then
36 ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix"
37 if test x${FT2_CONFIG+set} != xset ; then
38 FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config
39 fi
40 fi
41
42 if test x$ft_config_prefix != x ; then
43 ft_config_args="$ft_config_args --prefix=$ft_config_prefix"
44 if test x${FT2_CONFIG+set} != xset ; then
45 FT2_CONFIG=$ft_config_prefix/bin/freetype-config
46 fi
47 fi
48
49 AC_PATH_PROG([FT2_CONFIG], [freetype-config], [no])
50
51 min_ft_version=m4_if([$1], [], [7.0.1], [$1])
52 AC_MSG_CHECKING([for FreeType -- version >= $min_ft_version])
53 no_ft=""
54 if test "$FT2_CONFIG" = "no" ; then
55 no_ft=yes
56 else
57 FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags`
58 FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs`
59 ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \
60 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
61 ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \
62 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
63 ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \
64 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
65 ft_min_major_version=`echo $min_ft_version | \
66 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
67 ft_min_minor_version=`echo $min_ft_version | \
68 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
69 ft_min_micro_version=`echo $min_ft_version | \
70 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
71 if test x$enable_fttest = xyes ; then
72 ft_config_is_lt=""
73 if test $ft_config_major_version -lt $ft_min_major_version ; then
74 ft_config_is_lt=yes
75 else
76 if test $ft_config_major_version -eq $ft_min_major_version ; then
77 if test $ft_config_minor_version -lt $ft_min_minor_version ; then
78 ft_config_is_lt=yes
79 else
80 if test $ft_config_minor_version -eq $ft_min_minor_version ; then
81 if test $ft_config_micro_version -lt $ft_min_micro_version ; then
82 ft_config_is_lt=yes
83 fi
84 fi
85 fi
86 fi
87 fi
88 if test x$ft_config_is_lt = xyes ; then
89 no_ft=yes
90 else
91 ac_save_CFLAGS="$CFLAGS"
92 ac_save_LIBS="$LIBS"
93 CFLAGS="$CFLAGS $FT2_CFLAGS"
94 LIBS="$FT2_LIBS $LIBS"
95
96 #
97 # Sanity checks for the results of freetype-config to some extent.
98 #
99 AC_RUN_IFELSE([
100 AC_LANG_SOURCE([[
101
102#include <ft2build.h>
103#include FT_FREETYPE_H
104#include <stdio.h>
105#include <stdlib.h>
106
107int
108main()
109{
110 FT_Library library;
111 FT_Error error;
112
113 error = FT_Init_FreeType(&library);
114
115 if (error)
116 return 1;
117 else
118 {
119 FT_Done_FreeType(library);
120 return 0;
121 }
122}
123
124 ]])
125 ],
126 [],
127 [no_ft=yes],
128 [echo $ECHO_N "cross compiling; assuming OK... $ECHO_C"])
129
130 CFLAGS="$ac_save_CFLAGS"
131 LIBS="$ac_save_LIBS"
132 fi # test $ft_config_version -lt $ft_min_version
133 fi # test x$enable_fttest = xyes
134 fi # test "$FT2_CONFIG" = "no"
135
136 if test x$no_ft = x ; then
137 AC_MSG_RESULT([yes])
138 m4_if([$2], [], [:], [$2])
139 else
140 AC_MSG_RESULT([no])
141 if test "$FT2_CONFIG" = "no" ; then
142 AC_MSG_WARN([
143
144 The freetype-config script installed by FreeType 2 could not be found.
145 If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in
146 your path, or set the FT2_CONFIG environment variable to the
147 full path to freetype-config.
148 ])
149 else
150 if test x$ft_config_is_lt = xyes ; then
151 AC_MSG_WARN([
152
153 Your installed version of the FreeType 2 library is too old.
154 If you have different versions of FreeType 2, make sure that
155 correct values for --with-ft-prefix or --with-ft-exec-prefix
156 are used, or set the FT2_CONFIG environment variable to the
157 full path to freetype-config.
158 ])
159 else
160 AC_MSG_WARN([
161
162 The FreeType test program failed to run. If your system uses
163 shared libraries and they are installed outside the normal
164 system library path, make sure the variable LD_LIBRARY_PATH
165 (or whatever is appropiate for your system) is correctly set.
166 ])
167 fi
168 fi
169
170 FT2_CFLAGS=""
171 FT2_LIBS=""
172 m4_if([$3], [], [:], [$3])
173 fi
174
175 AC_SUBST([FT2_CFLAGS])
176 AC_SUBST([FT2_LIBS])])
177
178# end of freetype2.m4
diff --git a/m4/gettext.m4 b/m4/gettext.m4
new file mode 100644
index 000000000..91c345e99
--- /dev/null
+++ b/m4/gettext.m4
@@ -0,0 +1,419 @@
1# gettext.m4 serial 59 (gettext-0.16.1)
2dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6dnl
7dnl This file can can be used in projects which are not available under
8dnl the GNU General Public License or the GNU Library General Public
9dnl License but which still want to provide support for the GNU gettext
10dnl functionality.
11dnl Please note that the actual code of the GNU gettext library is covered
12dnl by the GNU Library General Public License, and the rest of the GNU
13dnl gettext package package is covered by the GNU General Public License.
14dnl They are *not* in the public domain.
15
16dnl Authors:
17dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
18dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006.
19
20dnl Macro to add for using GNU gettext.
21
22dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
23dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
24dnl default (if it is not specified or empty) is 'no-libtool'.
25dnl INTLSYMBOL should be 'external' for packages with no intl directory,
26dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
27dnl If INTLSYMBOL is 'use-libtool', then a libtool library
28dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
29dnl depending on --{enable,disable}-{shared,static} and on the presence of
30dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
31dnl $(top_builddir)/intl/libintl.a will be created.
32dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
33dnl implementations (in libc or libintl) without the ngettext() function
34dnl will be ignored. If NEEDSYMBOL is specified and is
35dnl 'need-formatstring-macros', then GNU gettext implementations that don't
36dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
37dnl INTLDIR is used to find the intl libraries. If empty,
38dnl the value `$(top_builddir)/intl/' is used.
39dnl
40dnl The result of the configuration is one of three cases:
41dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
42dnl and used.
43dnl Catalog format: GNU --> install in $(datadir)
44dnl Catalog extension: .mo after installation, .gmo in source tree
45dnl 2) GNU gettext has been found in the system's C library.
46dnl Catalog format: GNU --> install in $(datadir)
47dnl Catalog extension: .mo after installation, .gmo in source tree
48dnl 3) No internationalization, always use English msgid.
49dnl Catalog format: none
50dnl Catalog extension: none
51dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
52dnl The use of .gmo is historical (it was needed to avoid overwriting the
53dnl GNU format catalogs when building on a platform with an X/Open gettext),
54dnl but we keep it in order not to force irrelevant filename changes on the
55dnl maintainers.
56dnl
57AC_DEFUN([AM_GNU_GETTEXT],
58[
59 dnl Argument checking.
60 ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
61 [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
62])])])])])
63 ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
64 [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
65])])])])
66 define([gt_included_intl],
67 ifelse([$1], [external],
68 ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]),
69 [yes]))
70 define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
71 gt_NEEDS_INIT
72 AM_GNU_GETTEXT_NEED([$2])
73
74 AC_REQUIRE([AM_PO_SUBDIRS])dnl
75 ifelse(gt_included_intl, yes, [
76 AC_REQUIRE([AM_INTL_SUBDIR])dnl
77 ])
78
79 dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
80 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
81 AC_REQUIRE([AC_LIB_RPATH])
82
83 dnl Sometimes libintl requires libiconv, so first search for libiconv.
84 dnl Ideally we would do this search only after the
85 dnl if test "$USE_NLS" = "yes"; then
86 dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
87 dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
88 dnl the configure script would need to contain the same shell code
89 dnl again, outside any 'if'. There are two solutions:
90 dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
91 dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
92 dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
93 dnl documented, we avoid it.
94 ifelse(gt_included_intl, yes, , [
95 AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
96 ])
97
98 dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
99 gt_INTL_MACOSX
100
101 dnl Set USE_NLS.
102 AC_REQUIRE([AM_NLS])
103
104 ifelse(gt_included_intl, yes, [
105 BUILD_INCLUDED_LIBINTL=no
106 USE_INCLUDED_LIBINTL=no
107 ])
108 LIBINTL=
109 LTLIBINTL=
110 POSUB=
111
112 dnl Add a version number to the cache macros.
113 case " $gt_needs " in
114 *" need-formatstring-macros "*) gt_api_version=3 ;;
115 *" need-ngettext "*) gt_api_version=2 ;;
116 *) gt_api_version=1 ;;
117 esac
118 gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
119 gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
120
121 dnl If we use NLS figure out what method
122 if test "$USE_NLS" = "yes"; then
123 gt_use_preinstalled_gnugettext=no
124 ifelse(gt_included_intl, yes, [
125 AC_MSG_CHECKING([whether included gettext is requested])
126 AC_ARG_WITH(included-gettext,
127 [ --with-included-gettext use the GNU gettext library included here],
128 nls_cv_force_use_gnu_gettext=$withval,
129 nls_cv_force_use_gnu_gettext=no)
130 AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
131
132 nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
133 if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
134 ])
135 dnl User does not insist on using GNU NLS library. Figure out what
136 dnl to use. If GNU gettext is available we use this. Else we have
137 dnl to fall back to GNU NLS library.
138
139 if test $gt_api_version -ge 3; then
140 gt_revision_test_code='
141#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
142#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
143#endif
144changequote(,)dnl
145typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
146changequote([,])dnl
147'
148 else
149 gt_revision_test_code=
150 fi
151 if test $gt_api_version -ge 2; then
152 gt_expression_test_code=' + * ngettext ("", "", 0)'
153 else
154 gt_expression_test_code=
155 fi
156
157 AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
158 [AC_TRY_LINK([#include <libintl.h>
159$gt_revision_test_code
160extern int _nl_msg_cat_cntr;
161extern int *_nl_domain_bindings;],
162 [bindtextdomain ("", "");
163return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings],
164 [eval "$gt_func_gnugettext_libc=yes"],
165 [eval "$gt_func_gnugettext_libc=no"])])
166
167 if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
168 dnl Sometimes libintl requires libiconv, so first search for libiconv.
169 ifelse(gt_included_intl, yes, , [
170 AM_ICONV_LINK
171 ])
172 dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
173 dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
174 dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
175 dnl even if libiconv doesn't exist.
176 AC_LIB_LINKFLAGS_BODY([intl])
177 AC_CACHE_CHECK([for GNU gettext in libintl],
178 [$gt_func_gnugettext_libintl],
179 [gt_save_CPPFLAGS="$CPPFLAGS"
180 CPPFLAGS="$CPPFLAGS $INCINTL"
181 gt_save_LIBS="$LIBS"
182 LIBS="$LIBS $LIBINTL"
183 dnl Now see whether libintl exists and does not depend on libiconv.
184 AC_TRY_LINK([#include <libintl.h>
185$gt_revision_test_code
186extern int _nl_msg_cat_cntr;
187extern
188#ifdef __cplusplus
189"C"
190#endif
191const char *_nl_expand_alias (const char *);],
192 [bindtextdomain ("", "");
193return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
194 [eval "$gt_func_gnugettext_libintl=yes"],
195 [eval "$gt_func_gnugettext_libintl=no"])
196 dnl Now see whether libintl exists and depends on libiconv.
197 if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
198 LIBS="$LIBS $LIBICONV"
199 AC_TRY_LINK([#include <libintl.h>
200$gt_revision_test_code
201extern int _nl_msg_cat_cntr;
202extern
203#ifdef __cplusplus
204"C"
205#endif
206const char *_nl_expand_alias (const char *);],
207 [bindtextdomain ("", "");
208return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
209 [LIBINTL="$LIBINTL $LIBICONV"
210 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
211 eval "$gt_func_gnugettext_libintl=yes"
212 ])
213 fi
214 CPPFLAGS="$gt_save_CPPFLAGS"
215 LIBS="$gt_save_LIBS"])
216 fi
217
218 dnl If an already present or preinstalled GNU gettext() is found,
219 dnl use it. But if this macro is used in GNU gettext, and GNU
220 dnl gettext is already preinstalled in libintl, we update this
221 dnl libintl. (Cf. the install rule in intl/Makefile.in.)
222 if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
223 || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
224 && test "$PACKAGE" != gettext-runtime \
225 && test "$PACKAGE" != gettext-tools; }; then
226 gt_use_preinstalled_gnugettext=yes
227 else
228 dnl Reset the values set by searching for libintl.
229 LIBINTL=
230 LTLIBINTL=
231 INCINTL=
232 fi
233
234 ifelse(gt_included_intl, yes, [
235 if test "$gt_use_preinstalled_gnugettext" != "yes"; then
236 dnl GNU gettext is not found in the C library.
237 dnl Fall back on included GNU gettext library.
238 nls_cv_use_gnu_gettext=yes
239 fi
240 fi
241
242 if test "$nls_cv_use_gnu_gettext" = "yes"; then
243 dnl Mark actions used to generate GNU NLS library.
244 BUILD_INCLUDED_LIBINTL=yes
245 USE_INCLUDED_LIBINTL=yes
246 LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD"
247 LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
248 LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
249 fi
250
251 CATOBJEXT=
252 if test "$gt_use_preinstalled_gnugettext" = "yes" \
253 || test "$nls_cv_use_gnu_gettext" = "yes"; then
254 dnl Mark actions to use GNU gettext tools.
255 CATOBJEXT=.gmo
256 fi
257 ])
258
259 if test -n "$INTL_MACOSX_LIBS"; then
260 if test "$gt_use_preinstalled_gnugettext" = "yes" \
261 || test "$nls_cv_use_gnu_gettext" = "yes"; then
262 dnl Some extra flags are needed during linking.
263 LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
264 LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
265 fi
266 fi
267
268 if test "$gt_use_preinstalled_gnugettext" = "yes" \
269 || test "$nls_cv_use_gnu_gettext" = "yes"; then
270 AC_DEFINE(ENABLE_NLS, 1,
271 [Define to 1 if translation of program messages to the user's native language
272 is requested.])
273 else
274 USE_NLS=no
275 fi
276 fi
277
278 AC_MSG_CHECKING([whether to use NLS])
279 AC_MSG_RESULT([$USE_NLS])
280 if test "$USE_NLS" = "yes"; then
281 AC_MSG_CHECKING([where the gettext function comes from])
282 if test "$gt_use_preinstalled_gnugettext" = "yes"; then
283 if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
284 gt_source="external libintl"
285 else
286 gt_source="libc"
287 fi
288 else
289 gt_source="included intl directory"
290 fi
291 AC_MSG_RESULT([$gt_source])
292 fi
293
294 if test "$USE_NLS" = "yes"; then
295
296 if test "$gt_use_preinstalled_gnugettext" = "yes"; then
297 if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
298 AC_MSG_CHECKING([how to link with libintl])
299 AC_MSG_RESULT([$LIBINTL])
300 AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
301 fi
302
303 dnl For backward compatibility. Some packages may be using this.
304 AC_DEFINE(HAVE_GETTEXT, 1,
305 [Define if the GNU gettext() function is already present or preinstalled.])
306 AC_DEFINE(HAVE_DCGETTEXT, 1,
307 [Define if the GNU dcgettext() function is already present or preinstalled.])
308 fi
309
310 dnl We need to process the po/ directory.
311 POSUB=po
312 fi
313
314 ifelse(gt_included_intl, yes, [
315 dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
316 dnl to 'yes' because some of the testsuite requires it.
317 if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
318 BUILD_INCLUDED_LIBINTL=yes
319 fi
320
321 dnl Make all variables we use known to autoconf.
322 AC_SUBST(BUILD_INCLUDED_LIBINTL)
323 AC_SUBST(USE_INCLUDED_LIBINTL)
324 AC_SUBST(CATOBJEXT)
325
326 dnl For backward compatibility. Some configure.ins may be using this.
327 nls_cv_header_intl=
328 nls_cv_header_libgt=
329
330 dnl For backward compatibility. Some Makefiles may be using this.
331 DATADIRNAME=share
332 AC_SUBST(DATADIRNAME)
333
334 dnl For backward compatibility. Some Makefiles may be using this.
335 INSTOBJEXT=.mo
336 AC_SUBST(INSTOBJEXT)
337
338 dnl For backward compatibility. Some Makefiles may be using this.
339 GENCAT=gencat
340 AC_SUBST(GENCAT)
341
342 dnl For backward compatibility. Some Makefiles may be using this.
343 INTLOBJS=
344 if test "$USE_INCLUDED_LIBINTL" = yes; then
345 INTLOBJS="\$(GETTOBJS)"
346 fi
347 AC_SUBST(INTLOBJS)
348
349 dnl Enable libtool support if the surrounding package wishes it.
350 INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
351 AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
352 ])
353
354 dnl For backward compatibility. Some Makefiles may be using this.
355 INTLLIBS="$LIBINTL"
356 AC_SUBST(INTLLIBS)
357
358 dnl Make all documented variables known to autoconf.
359 AC_SUBST(LIBINTL)
360 AC_SUBST(LTLIBINTL)
361 AC_SUBST(POSUB)
362])
363
364
365dnl Checks for special options needed on MacOS X.
366dnl Defines INTL_MACOSX_LIBS.
367AC_DEFUN([gt_INTL_MACOSX],
368[
369 dnl Check for API introduced in MacOS X 10.2.
370 AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
371 gt_cv_func_CFPreferencesCopyAppValue,
372 [gt_save_LIBS="$LIBS"
373 LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
374 AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>],
375 [CFPreferencesCopyAppValue(NULL, NULL)],
376 [gt_cv_func_CFPreferencesCopyAppValue=yes],
377 [gt_cv_func_CFPreferencesCopyAppValue=no])
378 LIBS="$gt_save_LIBS"])
379 if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
380 AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1,
381 [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
382 fi
383 dnl Check for API introduced in MacOS X 10.3.
384 AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent,
385 [gt_save_LIBS="$LIBS"
386 LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
387 AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();],
388 [gt_cv_func_CFLocaleCopyCurrent=yes],
389 [gt_cv_func_CFLocaleCopyCurrent=no])
390 LIBS="$gt_save_LIBS"])
391 if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
392 AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
393 [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
394 fi
395 INTL_MACOSX_LIBS=
396 if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
397 INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
398 fi
399 AC_SUBST([INTL_MACOSX_LIBS])
400])
401
402
403dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
404m4_define([gt_NEEDS_INIT],
405[
406 m4_divert_text([DEFAULTS], [gt_needs=])
407 m4_define([gt_NEEDS_INIT], [])
408])
409
410
411dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
412AC_DEFUN([AM_GNU_GETTEXT_NEED],
413[
414 m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
415])
416
417
418dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
419AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
diff --git a/m4/glib-2.0.m4 b/m4/glib-2.0.m4
new file mode 100644
index 000000000..13a3ce68f
--- /dev/null
+++ b/m4/glib-2.0.m4
@@ -0,0 +1,212 @@
1# Configure paths for GLIB
2# Owen Taylor 1997-2001
3
4dnl AM_PATH_GLIB_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
5dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if gmodule, gobject or
6dnl gthread is specified in MODULES, pass to pkg-config
7dnl
8AC_DEFUN([AM_PATH_GLIB_2_0],
9[dnl
10dnl Get the cflags and libraries from pkg-config
11dnl
12AC_ARG_ENABLE(glibtest, [ --disable-glibtest do not try to compile and run a test GLIB program],
13 , enable_glibtest=yes)
14
15 pkg_config_args=glib-2.0
16 for module in . $4
17 do
18 case "$module" in
19 gmodule)
20 pkg_config_args="$pkg_config_args gmodule-2.0"
21 ;;
22 gobject)
23 pkg_config_args="$pkg_config_args gobject-2.0"
24 ;;
25 gthread)
26 pkg_config_args="$pkg_config_args gthread-2.0"
27 ;;
28 esac
29 done
30
31 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
32
33 no_glib=""
34
35 if test x$PKG_CONFIG != xno ; then
36 if $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then
37 :
38 else
39 echo *** pkg-config too old; version 0.7 or better required.
40 no_glib=yes
41 PKG_CONFIG=no
42 fi
43 else
44 no_glib=yes
45 fi
46
47 min_glib_version=ifelse([$1], ,2.0.0,$1)
48 AC_MSG_CHECKING(for GLIB - version >= $min_glib_version)
49
50 if test x$PKG_CONFIG != xno ; then
51 ## don't try to run the test against uninstalled libtool libs
52 if $PKG_CONFIG --uninstalled $pkg_config_args; then
53 echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH"
54 enable_glibtest=no
55 fi
56
57 if $PKG_CONFIG --atleast-version $min_glib_version $pkg_config_args; then
58 :
59 else
60 no_glib=yes
61 fi
62 fi
63
64 if test x"$no_glib" = x ; then
65 GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
66 GOBJECT_QUERY=`$PKG_CONFIG --variable=gobject_query glib-2.0`
67 GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
68
69 GLIB_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_args`
70 GLIB_LIBS=`$PKG_CONFIG --libs $pkg_config_args`
71 glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 | \
72 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
73 glib_config_minor_version=`$PKG_CONFIG --modversion glib-2.0 | \
74 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
75 glib_config_micro_version=`$PKG_CONFIG --modversion glib-2.0 | \
76 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
77 if test "x$enable_glibtest" = "xyes" ; then
78 ac_save_CFLAGS="$CFLAGS"
79 ac_save_LIBS="$LIBS"
80 CFLAGS="$CFLAGS $GLIB_CFLAGS"
81 LIBS="$GLIB_LIBS $LIBS"
82dnl
83dnl Now check if the installed GLIB is sufficiently new. (Also sanity
84dnl checks the results of pkg-config to some extent)
85dnl
86 rm -f conf.glibtest
87 AC_TRY_RUN([
88#include <glib.h>
89#include <stdio.h>
90#include <stdlib.h>
91
92int
93main ()
94{
95 int major, minor, micro;
96 char *tmp_version;
97
98 system ("touch conf.glibtest");
99
100 /* HP/UX 9 (%@#!) writes to sscanf strings */
101 tmp_version = g_strdup("$min_glib_version");
102 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
103 printf("%s, bad version string\n", "$min_glib_version");
104 exit(1);
105 }
106
107 if ((glib_major_version != $glib_config_major_version) ||
108 (glib_minor_version != $glib_config_minor_version) ||
109 (glib_micro_version != $glib_config_micro_version))
110 {
111 printf("\n*** 'pkg-config --modversion glib-2.0' returned %d.%d.%d, but GLIB (%d.%d.%d)\n",
112 $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version,
113 glib_major_version, glib_minor_version, glib_micro_version);
114 printf ("*** was found! If pkg-config was correct, then it is best\n");
115 printf ("*** to remove the old version of GLib. You may also be able to fix the error\n");
116 printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
117 printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
118 printf("*** required on your system.\n");
119 printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n");
120 printf("*** to point to the correct configuration files\n");
121 }
122 else if ((glib_major_version != GLIB_MAJOR_VERSION) ||
123 (glib_minor_version != GLIB_MINOR_VERSION) ||
124 (glib_micro_version != GLIB_MICRO_VERSION))
125 {
126 printf("*** GLIB header files (version %d.%d.%d) do not match\n",
127 GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
128 printf("*** library (version %d.%d.%d)\n",
129 glib_major_version, glib_minor_version, glib_micro_version);
130 }
131 else
132 {
133 if ((glib_major_version > major) ||
134 ((glib_major_version == major) && (glib_minor_version > minor)) ||
135 ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro)))
136 {
137 return 0;
138 }
139 else
140 {
141 printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n",
142 glib_major_version, glib_minor_version, glib_micro_version);
143 printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n",
144 major, minor, micro);
145 printf("*** GLIB is always available from ftp://ftp.gtk.org.\n");
146 printf("***\n");
147 printf("*** If you have already installed a sufficiently new version, this error\n");
148 printf("*** probably means that the wrong copy of the pkg-config shell script is\n");
149 printf("*** being found. The easiest way to fix this is to remove the old version\n");
150 printf("*** of GLIB, but you can also set the PKG_CONFIG environment to point to the\n");
151 printf("*** correct copy of pkg-config. (In this case, you will have to\n");
152 printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
153 printf("*** so that the correct libraries are found at run-time))\n");
154 }
155 }
156 return 1;
157}
158],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
159 CFLAGS="$ac_save_CFLAGS"
160 LIBS="$ac_save_LIBS"
161 fi
162 fi
163 if test "x$no_glib" = x ; then
164 AC_MSG_RESULT(yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version))
165 ifelse([$2], , :, [$2])
166 else
167 AC_MSG_RESULT(no)
168 if test "$PKG_CONFIG" = "no" ; then
169 echo "*** A new enough version of pkg-config was not found."
170 echo "*** See http://www.freedesktop.org/software/pkgconfig/"
171 else
172 if test -f conf.glibtest ; then
173 :
174 else
175 echo "*** Could not run GLIB test program, checking why..."
176 ac_save_CFLAGS="$CFLAGS"
177 ac_save_LIBS="$LIBS"
178 CFLAGS="$CFLAGS $GLIB_CFLAGS"
179 LIBS="$LIBS $GLIB_LIBS"
180 AC_TRY_LINK([
181#include <glib.h>
182#include <stdio.h>
183], [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ],
184 [ echo "*** The test program compiled, but did not run. This usually means"
185 echo "*** that the run-time linker is not finding GLIB or finding the wrong"
186 echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your"
187 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
188 echo "*** to the installed location Also, make sure you have run ldconfig if that"
189 echo "*** is required on your system"
190 echo "***"
191 echo "*** If you have an old version installed, it is best to remove it, although"
192 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
193 [ echo "*** The test program failed to compile or link. See the file config.log for the"
194 echo "*** exact error that occured. This usually means GLIB is incorrectly installed."])
195 CFLAGS="$ac_save_CFLAGS"
196 LIBS="$ac_save_LIBS"
197 fi
198 fi
199 GLIB_CFLAGS=""
200 GLIB_LIBS=""
201 GLIB_GENMARSHAL=""
202 GOBJECT_QUERY=""
203 GLIB_MKENUMS=""
204 ifelse([$3], , :, [$3])
205 fi
206 AC_SUBST(GLIB_CFLAGS)
207 AC_SUBST(GLIB_LIBS)
208 AC_SUBST(GLIB_GENMARSHAL)
209 AC_SUBST(GOBJECT_QUERY)
210 AC_SUBST(GLIB_MKENUMS)
211 rm -f conf.glibtest
212])
diff --git a/m4/glib-gettext.m4 b/m4/glib-gettext.m4
new file mode 100644
index 000000000..5a4ef2814
--- /dev/null
+++ b/m4/glib-gettext.m4
@@ -0,0 +1,380 @@
1# Copyright (C) 1995-2002 Free Software Foundation, Inc.
2# Copyright (C) 2001-2003 Red Hat, Inc.
3#
4# This file is free software, distributed under the terms of the GNU
5# General Public License. As a special exception to the GNU General
6# Public License, this file may be distributed as part of a program
7# that contains a configuration script generated by Autoconf, under
8# the same distribution terms as the rest of that program.
9#
10# This file can be copied and used freely without restrictions. It can
11# be used in projects which are not available under the GNU Public License
12# but which still want to provide support for the GNU gettext functionality.
13#
14# Macro to add for using GNU gettext.
15# Ulrich Drepper <drepper@cygnus.com>, 1995, 1996
16#
17# Modified to never use included libintl.
18# Owen Taylor <otaylor@redhat.com>, 12/15/1998
19#
20# Major rework to remove unused code
21# Owen Taylor <otaylor@redhat.com>, 12/11/2002
22#
23# Added better handling of ALL_LINGUAS from GNU gettext version
24# written by Bruno Haible, Owen Taylor <otaylor.redhat.com> 5/30/3002
25
26#
27# We need this here as well, since someone might use autoconf-2.5x
28# to configure GLib then an older version to configure a package
29# using AM_GLIB_GNU_GETTEXT
30AC_PREREQ(2.53)
31
32dnl
33dnl We go to great lengths to make sure that aclocal won't
34dnl try to pull in the installed version of these macros
35dnl when running aclocal in the glib directory.
36dnl
37m4_copy([AC_DEFUN],[glib_DEFUN])
38m4_copy([AC_REQUIRE],[glib_REQUIRE])
39dnl
40dnl At the end, if we're not within glib, we'll define the public
41dnl definitions in terms of our private definitions.
42dnl
43
44# GLIB_LC_MESSAGES
45#--------------------
46glib_DEFUN([GLIB_LC_MESSAGES],
47 [AC_CHECK_HEADERS([locale.h])
48 if test $ac_cv_header_locale_h = yes; then
49 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
50 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
51 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
52 if test $am_cv_val_LC_MESSAGES = yes; then
53 AC_DEFINE(HAVE_LC_MESSAGES, 1,
54 [Define if your <locale.h> file defines LC_MESSAGES.])
55 fi
56 fi])
57
58# GLIB_PATH_PROG_WITH_TEST
59#----------------------------
60dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
61dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
62glib_DEFUN([GLIB_PATH_PROG_WITH_TEST],
63[# Extract the first word of "$2", so it can be a program name with args.
64set dummy $2; ac_word=[$]2
65AC_MSG_CHECKING([for $ac_word])
66AC_CACHE_VAL(ac_cv_path_$1,
67[case "[$]$1" in
68 /*)
69 ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
70 ;;
71 *)
72 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
73 for ac_dir in ifelse([$5], , $PATH, [$5]); do
74 test -z "$ac_dir" && ac_dir=.
75 if test -f $ac_dir/$ac_word; then
76 if [$3]; then
77 ac_cv_path_$1="$ac_dir/$ac_word"
78 break
79 fi
80 fi
81 done
82 IFS="$ac_save_ifs"
83dnl If no 4th arg is given, leave the cache variable unset,
84dnl so AC_PATH_PROGS will keep looking.
85ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
86])dnl
87 ;;
88esac])dnl
89$1="$ac_cv_path_$1"
90if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
91 AC_MSG_RESULT([$]$1)
92else
93 AC_MSG_RESULT(no)
94fi
95AC_SUBST($1)dnl
96])
97
98# GLIB_WITH_NLS
99#-----------------
100glib_DEFUN([GLIB_WITH_NLS],
101 dnl NLS is obligatory
102 [USE_NLS=yes
103 AC_SUBST(USE_NLS)
104
105 gt_cv_have_gettext=no
106
107 CATOBJEXT=NONE
108 XGETTEXT=:
109 INTLLIBS=
110
111 AC_CHECK_HEADER(libintl.h,
112 [gt_cv_func_dgettext_libintl="no"
113 libintl_extra_libs=""
114
115 #
116 # First check in libc
117 #
118 AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc,
119 [AC_TRY_LINK([
120#include <libintl.h>
121],
122 [return (int) dgettext ("","")],
123 gt_cv_func_dgettext_libc=yes,
124 gt_cv_func_dgettext_libc=no)
125 ])
126
127 if test "$gt_cv_func_dgettext_libc" = "yes" ; then
128 AC_CHECK_FUNCS(bind_textdomain_codeset)
129 fi
130
131 #
132 # If we don't have everything we want, check in libintl
133 #
134 if test "$gt_cv_func_dgettext_libc" != "yes" \
135 || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then
136
137 AC_CHECK_LIB(intl, bindtextdomain,
138 [AC_CHECK_LIB(intl, dgettext,
139 gt_cv_func_dgettext_libintl=yes)])
140
141 if test "$gt_cv_func_dgettext_libintl" != "yes" ; then
142 AC_MSG_CHECKING([if -liconv is needed to use gettext])
143 AC_MSG_RESULT([])
144 AC_CHECK_LIB(intl, dcgettext,
145 [gt_cv_func_dgettext_libintl=yes
146 libintl_extra_libs=-liconv],
147 :,-liconv)
148 fi
149
150 #
151 # If we found libintl, then check in it for bind_textdomain_codeset();
152 # we'll prefer libc if neither have bind_textdomain_codeset(),
153 # and both have dgettext
154 #
155 if test "$gt_cv_func_dgettext_libintl" = "yes" ; then
156 glib_save_LIBS="$LIBS"
157 LIBS="$LIBS -lintl $libintl_extra_libs"
158 unset ac_cv_func_bind_textdomain_codeset
159 AC_CHECK_FUNCS(bind_textdomain_codeset)
160 LIBS="$glib_save_LIBS"
161
162 if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then
163 gt_cv_func_dgettext_libc=no
164 else
165 if test "$gt_cv_func_dgettext_libc" = "yes"; then
166 gt_cv_func_dgettext_libintl=no
167 fi
168 fi
169 fi
170 fi
171
172 if test "$gt_cv_func_dgettext_libc" = "yes" \
173 || test "$gt_cv_func_dgettext_libintl" = "yes"; then
174 gt_cv_have_gettext=yes
175 fi
176
177 if test "$gt_cv_func_dgettext_libintl" = "yes"; then
178 INTLLIBS="-lintl $libintl_extra_libs"
179 fi
180
181 if test "$gt_cv_have_gettext" = "yes"; then
182 AC_DEFINE(HAVE_GETTEXT,1,
183 [Define if the GNU gettext() function is already present or preinstalled.])
184 GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
185 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
186 if test "$MSGFMT" != "no"; then
187 glib_save_LIBS="$LIBS"
188 LIBS="$LIBS $INTLLIBS"
189 AC_CHECK_FUNCS(dcgettext)
190 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
191 GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
192 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
193 AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
194 return _nl_msg_cat_cntr],
195 [CATOBJEXT=.gmo
196 DATADIRNAME=share],
197 [case $host in
198 *-*-solaris*)
199 dnl On Solaris, if bind_textdomain_codeset is in libc,
200 dnl GNU format message catalog is always supported,
201 dnl since both are added to the libc all together.
202 dnl Hence, we'd like to go with DATADIRNAME=share and
203 dnl and CATOBJEXT=.gmo in this case.
204 AC_CHECK_FUNC(bind_textdomain_codeset,
205 [CATOBJEXT=.gmo
206 DATADIRNAME=share],
207 [CATOBJEXT=.mo
208 DATADIRNAME=lib])
209 ;;
210 *)
211 CATOBJEXT=.mo
212 DATADIRNAME=lib
213 ;;
214 esac])
215 LIBS="$glib_save_LIBS"
216 INSTOBJEXT=.mo
217 else
218 gt_cv_have_gettext=no
219 fi
220 fi
221 ])
222
223 if test "$gt_cv_have_gettext" = "yes" ; then
224 AC_DEFINE(ENABLE_NLS, 1,
225 [always defined to indicate that i18n is enabled])
226 fi
227
228 dnl Test whether we really found GNU xgettext.
229 if test "$XGETTEXT" != ":"; then
230 dnl If it is not GNU xgettext we define it as : so that the
231 dnl Makefiles still can work.
232 if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
233 : ;
234 else
235 AC_MSG_RESULT(
236 [found xgettext program is not GNU xgettext; ignore it])
237 XGETTEXT=":"
238 fi
239 fi
240
241 # We need to process the po/ directory.
242 POSUB=po
243
244 AC_OUTPUT_COMMANDS(
245 [case "$CONFIG_FILES" in *po/Makefile.in*)
246 sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
247 esac])
248
249 dnl These rules are solely for the distribution goal. While doing this
250 dnl we only have to keep exactly one list of the available catalogs
251 dnl in configure.in.
252 for lang in $ALL_LINGUAS; do
253 GMOFILES="$GMOFILES $lang.gmo"
254 POFILES="$POFILES $lang.po"
255 done
256
257 dnl Make all variables we use known to autoconf.
258 AC_SUBST(CATALOGS)
259 AC_SUBST(CATOBJEXT)
260 AC_SUBST(DATADIRNAME)
261 AC_SUBST(GMOFILES)
262 AC_SUBST(INSTOBJEXT)
263 AC_SUBST(INTLLIBS)
264 AC_SUBST(PO_IN_DATADIR_TRUE)
265 AC_SUBST(PO_IN_DATADIR_FALSE)
266 AC_SUBST(POFILES)
267 AC_SUBST(POSUB)
268 ])
269
270# AM_GLIB_GNU_GETTEXT
271# -------------------
272# Do checks necessary for use of gettext. If a suitable implementation
273# of gettext is found in either in libintl or in the C library,
274# it will set INTLLIBS to the libraries needed for use of gettext
275# and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable
276# gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST()
277# on various variables needed by the Makefile.in.in installed by
278# glib-gettextize.
279dnl
280glib_DEFUN([GLIB_GNU_GETTEXT],
281 [AC_REQUIRE([AC_PROG_CC])dnl
282 AC_REQUIRE([AC_HEADER_STDC])dnl
283
284 GLIB_LC_MESSAGES
285 GLIB_WITH_NLS
286
287 if test "$gt_cv_have_gettext" = "yes"; then
288 if test "x$ALL_LINGUAS" = "x"; then
289 LINGUAS=
290 else
291 AC_MSG_CHECKING(for catalogs to be installed)
292 NEW_LINGUAS=
293 for presentlang in $ALL_LINGUAS; do
294 useit=no
295 if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then
296 desiredlanguages="$LINGUAS"
297 else
298 desiredlanguages="$ALL_LINGUAS"
299 fi
300 for desiredlang in $desiredlanguages; do
301 # Use the presentlang catalog if desiredlang is
302 # a. equal to presentlang, or
303 # b. a variant of presentlang (because in this case,
304 # presentlang can be used as a fallback for messages
305 # which are not translated in the desiredlang catalog).
306 case "$desiredlang" in
307 "$presentlang"*) useit=yes;;
308 esac
309 done
310 if test $useit = yes; then
311 NEW_LINGUAS="$NEW_LINGUAS $presentlang"
312 fi
313 done
314 LINGUAS=$NEW_LINGUAS
315 AC_MSG_RESULT($LINGUAS)
316 fi
317
318 dnl Construct list of names of catalog files to be constructed.
319 if test -n "$LINGUAS"; then
320 for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
321 fi
322 fi
323
324 dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
325 dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
326 dnl Try to locate is.
327 MKINSTALLDIRS=
328 if test -n "$ac_aux_dir"; then
329 MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
330 fi
331 if test -z "$MKINSTALLDIRS"; then
332 MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
333 fi
334 AC_SUBST(MKINSTALLDIRS)
335
336 dnl Generate list of files to be processed by xgettext which will
337 dnl be included in po/Makefile.
338 test -d po || mkdir po
339 if test "x$srcdir" != "x."; then
340 if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
341 posrcprefix="$srcdir/"
342 else
343 posrcprefix="../$srcdir/"
344 fi
345 else
346 posrcprefix="../"
347 fi
348 rm -f po/POTFILES
349 sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
350 < $srcdir/po/POTFILES.in > po/POTFILES
351 ])
352
353# AM_GLIB_DEFINE_LOCALEDIR(VARIABLE)
354# -------------------------------
355# Define VARIABLE to the location where catalog files will
356# be installed by po/Makefile.
357glib_DEFUN([GLIB_DEFINE_LOCALEDIR],
358[glib_REQUIRE([GLIB_GNU_GETTEXT])dnl
359glib_save_prefix="$prefix"
360glib_save_exec_prefix="$exec_prefix"
361test "x$prefix" = xNONE && prefix=$ac_default_prefix
362test "x$exec_prefix" = xNONE && exec_prefix=$prefix
363if test "x$CATOBJEXT" = "x.mo" ; then
364 localedir=`eval echo "${libdir}/locale"`
365else
366 localedir=`eval echo "${datadir}/locale"`
367fi
368prefix="$glib_save_prefix"
369exec_prefix="$glib_save_exec_prefix"
370AC_DEFINE_UNQUOTED($1, "$localedir",
371 [Define the location where the catalogs will be installed])
372])
373
374dnl
375dnl Now the definitions that aclocal will find
376dnl
377ifdef(glib_configure_in,[],[
378AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)])
379AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)])
380])dnl
diff --git a/m4/glibc2.m4 b/m4/glibc2.m4
new file mode 100644
index 000000000..e8f5bfe6e
--- /dev/null
+++ b/m4/glibc2.m4
@@ -0,0 +1,30 @@
1# glibc2.m4 serial 1
2dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7# Test for the GNU C Library, version 2.0 or newer.
8# From Bruno Haible.
9
10AC_DEFUN([gt_GLIBC2],
11 [
12 AC_CACHE_CHECK(whether we are using the GNU C Library 2 or newer,
13 ac_cv_gnu_library_2,
14 [AC_EGREP_CPP([Lucky GNU user],
15 [
16#include <features.h>
17#ifdef __GNU_LIBRARY__
18 #if (__GLIBC__ >= 2)
19 Lucky GNU user
20 #endif
21#endif
22 ],
23 ac_cv_gnu_library_2=yes,
24 ac_cv_gnu_library_2=no)
25 ]
26 )
27 AC_SUBST(GLIBC2)
28 GLIBC2="$ac_cv_gnu_library_2"
29 ]
30)
diff --git a/m4/glibc21.m4 b/m4/glibc21.m4
new file mode 100644
index 000000000..d95fd9861
--- /dev/null
+++ b/m4/glibc21.m4
@@ -0,0 +1,30 @@
1# glibc21.m4 serial 3
2dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7# Test for the GNU C Library, version 2.1 or newer.
8# From Bruno Haible.
9
10AC_DEFUN([gl_GLIBC21],
11 [
12 AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
13 ac_cv_gnu_library_2_1,
14 [AC_EGREP_CPP([Lucky GNU user],
15 [
16#include <features.h>
17#ifdef __GNU_LIBRARY__
18 #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
19 Lucky GNU user
20 #endif
21#endif
22 ],
23 ac_cv_gnu_library_2_1=yes,
24 ac_cv_gnu_library_2_1=no)
25 ]
26 )
27 AC_SUBST(GLIBC21)
28 GLIBC21="$ac_cv_gnu_library_2_1"
29 ]
30)
diff --git a/m4/gtk-2.0.m4 b/m4/gtk-2.0.m4
new file mode 100644
index 000000000..3deba01be
--- /dev/null
+++ b/m4/gtk-2.0.m4
@@ -0,0 +1,196 @@
1# Configure paths for GTK+
2# Owen Taylor 1997-2001
3
4dnl AM_PATH_GTK_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
5dnl Test for GTK+, and define GTK_CFLAGS and GTK_LIBS, if gthread is specified in MODULES,
6dnl pass to pkg-config
7dnl
8AC_DEFUN([AM_PATH_GTK_2_0],
9[dnl
10dnl Get the cflags and libraries from pkg-config
11dnl
12AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run a test GTK+ program],
13 , enable_gtktest=yes)
14
15 pkg_config_args=gtk+-2.0
16 for module in . $4
17 do
18 case "$module" in
19 gthread)
20 pkg_config_args="$pkg_config_args gthread-2.0"
21 ;;
22 esac
23 done
24
25 no_gtk=""
26
27 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
28
29 if test x$PKG_CONFIG != xno ; then
30 if pkg-config --atleast-pkgconfig-version 0.7 ; then
31 :
32 else
33 echo "*** pkg-config too old; version 0.7 or better required."
34 no_gtk=yes
35 PKG_CONFIG=no
36 fi
37 else
38 no_gtk=yes
39 fi
40
41 min_gtk_version=ifelse([$1], ,2.0.0,$1)
42 AC_MSG_CHECKING(for GTK+ - version >= $min_gtk_version)
43
44 if test x$PKG_CONFIG != xno ; then
45 ## don't try to run the test against uninstalled libtool libs
46 if $PKG_CONFIG --uninstalled $pkg_config_args; then
47 echo "Will use uninstalled version of GTK+ found in PKG_CONFIG_PATH"
48 enable_gtktest=no
49 fi
50
51 if $PKG_CONFIG --atleast-version $min_gtk_version $pkg_config_args; then
52 :
53 else
54 no_gtk=yes
55 fi
56 fi
57
58 if test x"$no_gtk" = x ; then
59 GTK_CFLAGS=`$PKG_CONFIG $pkg_config_args --cflags`
60 GTK_LIBS=`$PKG_CONFIG $pkg_config_args --libs`
61 gtk_config_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
62 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
63 gtk_config_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
64 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
65 gtk_config_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
66 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
67 if test "x$enable_gtktest" = "xyes" ; then
68 ac_save_CFLAGS="$CFLAGS"
69 ac_save_LIBS="$LIBS"
70 CFLAGS="$CFLAGS $GTK_CFLAGS"
71 LIBS="$GTK_LIBS $LIBS"
72dnl
73dnl Now check if the installed GTK+ is sufficiently new. (Also sanity
74dnl checks the results of pkg-config to some extent)
75dnl
76 rm -f conf.gtktest
77 AC_TRY_RUN([
78#include <gtk/gtk.h>
79#include <stdio.h>
80#include <stdlib.h>
81
82int
83main ()
84{
85 int major, minor, micro;
86 char *tmp_version;
87
88 system ("touch conf.gtktest");
89
90 /* HP/UX 9 (%@#!) writes to sscanf strings */
91 tmp_version = g_strdup("$min_gtk_version");
92 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
93 printf("%s, bad version string\n", "$min_gtk_version");
94 exit(1);
95 }
96
97 if ((gtk_major_version != $gtk_config_major_version) ||
98 (gtk_minor_version != $gtk_config_minor_version) ||
99 (gtk_micro_version != $gtk_config_micro_version))
100 {
101 printf("\n*** 'pkg-config --modversion gtk+-2.0' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
102 $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
103 gtk_major_version, gtk_minor_version, gtk_micro_version);
104 printf ("*** was found! If pkg-config was correct, then it is best\n");
105 printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
106 printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
107 printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
108 printf("*** required on your system.\n");
109 printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n");
110 printf("*** to point to the correct configuration files\n");
111 }
112 else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
113 (gtk_minor_version != GTK_MINOR_VERSION) ||
114 (gtk_micro_version != GTK_MICRO_VERSION))
115 {
116 printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
117 GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
118 printf("*** library (version %d.%d.%d)\n",
119 gtk_major_version, gtk_minor_version, gtk_micro_version);
120 }
121 else
122 {
123 if ((gtk_major_version > major) ||
124 ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
125 ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
126 {
127 return 0;
128 }
129 else
130 {
131 printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
132 gtk_major_version, gtk_minor_version, gtk_micro_version);
133 printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
134 major, minor, micro);
135 printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
136 printf("***\n");
137 printf("*** If you have already installed a sufficiently new version, this error\n");
138 printf("*** probably means that the wrong copy of the pkg-config shell script is\n");
139 printf("*** being found. The easiest way to fix this is to remove the old version\n");
140 printf("*** of GTK+, but you can also set the PKG_CONFIG environment to point to the\n");
141 printf("*** correct copy of pkg-config. (In this case, you will have to\n");
142 printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
143 printf("*** so that the correct libraries are found at run-time))\n");
144 }
145 }
146 return 1;
147}
148],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
149 CFLAGS="$ac_save_CFLAGS"
150 LIBS="$ac_save_LIBS"
151 fi
152 fi
153 if test "x$no_gtk" = x ; then
154 AC_MSG_RESULT(yes (version $gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version))
155 ifelse([$2], , :, [$2])
156 else
157 AC_MSG_RESULT(no)
158 if test "$PKG_CONFIG" = "no" ; then
159 echo "*** A new enough version of pkg-config was not found."
160 echo "*** See http://pkgconfig.sourceforge.net"
161 else
162 if test -f conf.gtktest ; then
163 :
164 else
165 echo "*** Could not run GTK+ test program, checking why..."
166 ac_save_CFLAGS="$CFLAGS"
167 ac_save_LIBS="$LIBS"
168 CFLAGS="$CFLAGS $GTK_CFLAGS"
169 LIBS="$LIBS $GTK_LIBS"
170 AC_TRY_LINK([
171#include <gtk/gtk.h>
172#include <stdio.h>
173], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
174 [ echo "*** The test program compiled, but did not run. This usually means"
175 echo "*** that the run-time linker is not finding GTK+ or finding the wrong"
176 echo "*** version of GTK+. If it is not finding GTK+, you'll need to set your"
177 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
178 echo "*** to the installed location Also, make sure you have run ldconfig if that"
179 echo "*** is required on your system"
180 echo "***"
181 echo "*** If you have an old version installed, it is best to remove it, although"
182 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
183 [ echo "*** The test program failed to compile or link. See the file config.log for the"
184 echo "*** exact error that occured. This usually means GTK+ is incorrectly installed."])
185 CFLAGS="$ac_save_CFLAGS"
186 LIBS="$ac_save_LIBS"
187 fi
188 fi
189 GTK_CFLAGS=""
190 GTK_LIBS=""
191 ifelse([$3], , :, [$3])
192 fi
193 AC_SUBST(GTK_CFLAGS)
194 AC_SUBST(GTK_LIBS)
195 rm -f conf.gtktest
196])
diff --git a/m4/iconv.m4 b/m4/iconv.m4
new file mode 100644
index 000000000..654c41589
--- /dev/null
+++ b/m4/iconv.m4
@@ -0,0 +1,101 @@
1# iconv.m4 serial AM4 (gettext-0.11.3)
2dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Bruno Haible.
8
9AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
10[
11 dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
12 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
13 AC_REQUIRE([AC_LIB_RPATH])
14
15 dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
16 dnl accordingly.
17 AC_LIB_LINKFLAGS_BODY([iconv])
18])
19
20AC_DEFUN([AM_ICONV_LINK],
21[
22 dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
23 dnl those with the standalone portable GNU libiconv installed).
24
25 dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
26 dnl accordingly.
27 AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
28
29 dnl Add $INCICONV to CPPFLAGS before performing the following checks,
30 dnl because if the user has installed libiconv and not disabled its use
31 dnl via --without-libiconv-prefix, he wants to use it. The first
32 dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
33 am_save_CPPFLAGS="$CPPFLAGS"
34 AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
35
36 AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
37 am_cv_func_iconv="no, consider installing GNU libiconv"
38 am_cv_lib_iconv=no
39 AC_TRY_LINK([#include <stdlib.h>
40#include <iconv.h>],
41 [iconv_t cd = iconv_open("","");
42 iconv(cd,NULL,NULL,NULL,NULL);
43 iconv_close(cd);],
44 am_cv_func_iconv=yes)
45 if test "$am_cv_func_iconv" != yes; then
46 am_save_LIBS="$LIBS"
47 LIBS="$LIBS $LIBICONV"
48 AC_TRY_LINK([#include <stdlib.h>
49#include <iconv.h>],
50 [iconv_t cd = iconv_open("","");
51 iconv(cd,NULL,NULL,NULL,NULL);
52 iconv_close(cd);],
53 am_cv_lib_iconv=yes
54 am_cv_func_iconv=yes)
55 LIBS="$am_save_LIBS"
56 fi
57 ])
58 if test "$am_cv_func_iconv" = yes; then
59 AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
60 fi
61 if test "$am_cv_lib_iconv" = yes; then
62 AC_MSG_CHECKING([how to link with libiconv])
63 AC_MSG_RESULT([$LIBICONV])
64 else
65 dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
66 dnl either.
67 CPPFLAGS="$am_save_CPPFLAGS"
68 LIBICONV=
69 LTLIBICONV=
70 fi
71 AC_SUBST(LIBICONV)
72 AC_SUBST(LTLIBICONV)
73])
74
75AC_DEFUN([AM_ICONV],
76[
77 AM_ICONV_LINK
78 if test "$am_cv_func_iconv" = yes; then
79 AC_MSG_CHECKING([for iconv declaration])
80 AC_CACHE_VAL(am_cv_proto_iconv, [
81 AC_TRY_COMPILE([
82#include <stdlib.h>
83#include <iconv.h>
84extern
85#ifdef __cplusplus
86"C"
87#endif
88#if defined(__STDC__) || defined(__cplusplus)
89size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
90#else
91size_t iconv();
92#endif
93], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
94 am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
95 am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
96 AC_MSG_RESULT([$]{ac_t:-
97 }[$]am_cv_proto_iconv)
98 AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
99 [Define as const if the declaration of iconv() needs const.])
100 fi
101])
diff --git a/m4/intdiv0.m4 b/m4/intdiv0.m4
new file mode 100644
index 000000000..b8d78176a
--- /dev/null
+++ b/m4/intdiv0.m4
@@ -0,0 +1,70 @@
1# intdiv0.m4 serial 1 (gettext-0.11.3)
2dnl Copyright (C) 2002 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Bruno Haible.
8
9AC_DEFUN([gt_INTDIV0],
10[
11 AC_REQUIRE([AC_PROG_CC])dnl
12 AC_REQUIRE([AC_CANONICAL_HOST])dnl
13
14 AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
15 gt_cv_int_divbyzero_sigfpe,
16 [
17 AC_TRY_RUN([
18#include <stdlib.h>
19#include <signal.h>
20
21static void
22#ifdef __cplusplus
23sigfpe_handler (int sig)
24#else
25sigfpe_handler (sig) int sig;
26#endif
27{
28 /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
29 exit (sig != SIGFPE);
30}
31
32int x = 1;
33int y = 0;
34int z;
35int nan;
36
37int main ()
38{
39 signal (SIGFPE, sigfpe_handler);
40/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
41#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
42 signal (SIGTRAP, sigfpe_handler);
43#endif
44/* Linux/SPARC yields signal SIGILL. */
45#if defined (__sparc__) && defined (__linux__)
46 signal (SIGILL, sigfpe_handler);
47#endif
48
49 z = x / y;
50 nan = y / y;
51 exit (1);
52}
53], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
54 [
55 # Guess based on the CPU.
56 case "$host_cpu" in
57 alpha* | i[34567]86 | m68k | s390*)
58 gt_cv_int_divbyzero_sigfpe="guessing yes";;
59 *)
60 gt_cv_int_divbyzero_sigfpe="guessing no";;
61 esac
62 ])
63 ])
64 case "$gt_cv_int_divbyzero_sigfpe" in
65 *yes) value=1;;
66 *) value=0;;
67 esac
68 AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
69 [Define if integer division by zero raises signal SIGFPE.])
70])
diff --git a/m4/intl.m4 b/m4/intl.m4
new file mode 100644
index 000000000..dcefb118c
--- /dev/null
+++ b/m4/intl.m4
@@ -0,0 +1,259 @@
1# intl.m4 serial 3 (gettext-0.16)
2dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6dnl
7dnl This file can can be used in projects which are not available under
8dnl the GNU General Public License or the GNU Library General Public
9dnl License but which still want to provide support for the GNU gettext
10dnl functionality.
11dnl Please note that the actual code of the GNU gettext library is covered
12dnl by the GNU Library General Public License, and the rest of the GNU
13dnl gettext package package is covered by the GNU General Public License.
14dnl They are *not* in the public domain.
15
16dnl Authors:
17dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
18dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006.
19
20AC_PREREQ(2.52)
21
22dnl Checks for all prerequisites of the intl subdirectory,
23dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
24dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
25AC_DEFUN([AM_INTL_SUBDIR],
26[
27 AC_REQUIRE([AC_PROG_INSTALL])dnl
28 AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
29 AC_REQUIRE([AC_PROG_CC])dnl
30 AC_REQUIRE([AC_CANONICAL_HOST])dnl
31 AC_REQUIRE([gt_GLIBC2])dnl
32 AC_REQUIRE([AC_PROG_RANLIB])dnl
33 AC_REQUIRE([gl_VISIBILITY])dnl
34 AC_REQUIRE([gt_INTL_SUBDIR_CORE])dnl
35 AC_REQUIRE([AC_TYPE_LONG_LONG_INT])dnl
36 AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl
37 AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
38 AC_REQUIRE([gt_TYPE_WINT_T])dnl
39 AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
40 AC_REQUIRE([gt_TYPE_INTMAX_T])
41 AC_REQUIRE([gt_PRINTF_POSIX])
42 AC_REQUIRE([gl_GLIBC21])dnl
43 AC_REQUIRE([gl_XSIZE])dnl
44 AC_REQUIRE([gt_INTL_MACOSX])dnl
45
46 AC_CHECK_TYPE([ptrdiff_t], ,
47 [AC_DEFINE([ptrdiff_t], [long],
48 [Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
49 ])
50 AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
51 AC_CHECK_FUNCS([asprintf fwprintf putenv setenv setlocale snprintf wcslen])
52
53 dnl Use the _snprintf function only if it is declared (because on NetBSD it
54 dnl is defined as a weak alias of snprintf; we prefer to use the latter).
55 gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
56 gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
57
58 dnl Use the *_unlocked functions only if they are declared.
59 dnl (because some of them were defined without being declared in Solaris
60 dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
61 dnl on Solaris 2.5.1 to run on Solaris 2.6).
62 dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
63 gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
64
65 case $gt_cv_func_printf_posix in
66 *yes) HAVE_POSIX_PRINTF=1 ;;
67 *) HAVE_POSIX_PRINTF=0 ;;
68 esac
69 AC_SUBST([HAVE_POSIX_PRINTF])
70 if test "$ac_cv_func_asprintf" = yes; then
71 HAVE_ASPRINTF=1
72 else
73 HAVE_ASPRINTF=0
74 fi
75 AC_SUBST([HAVE_ASPRINTF])
76 if test "$ac_cv_func_snprintf" = yes; then
77 HAVE_SNPRINTF=1
78 else
79 HAVE_SNPRINTF=0
80 fi
81 AC_SUBST([HAVE_SNPRINTF])
82 if test "$ac_cv_func_wprintf" = yes; then
83 HAVE_WPRINTF=1
84 else
85 HAVE_WPRINTF=0
86 fi
87 AC_SUBST([HAVE_WPRINTF])
88
89 AM_LANGINFO_CODESET
90 gt_LC_MESSAGES
91
92 dnl Compilation on mingw and Cygwin needs special Makefile rules, because
93 dnl 1. when we install a shared library, we must arrange to export
94 dnl auxiliary pointer variables for every exported variable,
95 dnl 2. when we install a shared library and a static library simultaneously,
96 dnl the include file specifies __declspec(dllimport) and therefore we
97 dnl must arrange to define the auxiliary pointer variables for the
98 dnl exported variables _also_ in the static library.
99 if test "$enable_shared" = yes; then
100 case "$host_os" in
101 cygwin*) is_woe32dll=yes ;;
102 *) is_woe32dll=no ;;
103 esac
104 else
105 is_woe32dll=no
106 fi
107 WOE32DLL=$is_woe32dll
108 AC_SUBST([WOE32DLL])
109
110 dnl Rename some macros and functions used for locking.
111 AH_BOTTOM([
112#define __libc_lock_t gl_lock_t
113#define __libc_lock_define gl_lock_define
114#define __libc_lock_define_initialized gl_lock_define_initialized
115#define __libc_lock_init gl_lock_init
116#define __libc_lock_lock gl_lock_lock
117#define __libc_lock_unlock gl_lock_unlock
118#define __libc_lock_recursive_t gl_recursive_lock_t
119#define __libc_lock_define_recursive gl_recursive_lock_define
120#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized
121#define __libc_lock_init_recursive gl_recursive_lock_init
122#define __libc_lock_lock_recursive gl_recursive_lock_lock
123#define __libc_lock_unlock_recursive gl_recursive_lock_unlock
124#define glthread_in_use libintl_thread_in_use
125#define glthread_lock_init libintl_lock_init
126#define glthread_lock_lock libintl_lock_lock
127#define glthread_lock_unlock libintl_lock_unlock
128#define glthread_lock_destroy libintl_lock_destroy
129#define glthread_rwlock_init libintl_rwlock_init
130#define glthread_rwlock_rdlock libintl_rwlock_rdlock
131#define glthread_rwlock_wrlock libintl_rwlock_wrlock
132#define glthread_rwlock_unlock libintl_rwlock_unlock
133#define glthread_rwlock_destroy libintl_rwlock_destroy
134#define glthread_recursive_lock_init libintl_recursive_lock_init
135#define glthread_recursive_lock_lock libintl_recursive_lock_lock
136#define glthread_recursive_lock_unlock libintl_recursive_lock_unlock
137#define glthread_recursive_lock_destroy libintl_recursive_lock_destroy
138#define glthread_once libintl_once
139#define glthread_once_call libintl_once_call
140#define glthread_once_singlethreaded libintl_once_singlethreaded
141])
142])
143
144
145dnl Checks for the core files of the intl subdirectory:
146dnl dcigettext.c
147dnl eval-plural.h
148dnl explodename.c
149dnl finddomain.c
150dnl gettextP.h
151dnl gmo.h
152dnl hash-string.h hash-string.c
153dnl l10nflist.c
154dnl libgnuintl.h.in (except the *printf stuff)
155dnl loadinfo.h
156dnl loadmsgcat.c
157dnl localealias.c
158dnl log.c
159dnl plural-exp.h plural-exp.c
160dnl plural.y
161dnl Used by libglocale.
162AC_DEFUN([gt_INTL_SUBDIR_CORE],
163[
164 AC_REQUIRE([AC_C_INLINE])dnl
165 AC_REQUIRE([AC_TYPE_SIZE_T])dnl
166 AC_REQUIRE([gl_AC_HEADER_STDINT_H])
167 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
168 AC_REQUIRE([AC_FUNC_MMAP])dnl
169 AC_REQUIRE([gt_INTDIV0])dnl
170 AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl
171 AC_REQUIRE([gt_INTTYPES_PRI])dnl
172 AC_REQUIRE([gl_LOCK])dnl
173
174 AC_TRY_LINK(
175 [int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }],
176 [],
177 [AC_DEFINE([HAVE_BUILTIN_EXPECT], 1,
178 [Define to 1 if the compiler understands __builtin_expect.])])
179
180 AC_CHECK_HEADERS([argz.h inttypes.h limits.h unistd.h sys/param.h])
181 AC_CHECK_FUNCS([getcwd getegid geteuid getgid getuid mempcpy munmap \
182 stpcpy strcasecmp strdup strtoul tsearch argz_count argz_stringify \
183 argz_next __fsetlocking])
184
185 dnl Use the *_unlocked functions only if they are declared.
186 dnl (because some of them were defined without being declared in Solaris
187 dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
188 dnl on Solaris 2.5.1 to run on Solaris 2.6).
189 dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
190 gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
191 gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
192
193 AM_ICONV
194
195 dnl glibc >= 2.4 has a NL_LOCALE_NAME macro when _GNU_SOURCE is defined,
196 dnl and a _NL_LOCALE_NAME macro always.
197 AC_CACHE_CHECK([for NL_LOCALE_NAME macro], gt_cv_nl_locale_name,
198 [AC_TRY_LINK([#include <langinfo.h>
199#include <locale.h>],
200 [char* cs = nl_langinfo(_NL_LOCALE_NAME(LC_MESSAGES));],
201 gt_cv_nl_locale_name=yes,
202 gt_cv_nl_locale_name=no)
203 ])
204 if test $gt_cv_nl_locale_name = yes; then
205 AC_DEFINE(HAVE_NL_LOCALE_NAME, 1,
206 [Define if you have <langinfo.h> and it defines the NL_LOCALE_NAME macro if _GNU_SOURCE is defined.])
207 fi
208
209 dnl intl/plural.c is generated from intl/plural.y. It requires bison,
210 dnl because plural.y uses bison specific features. It requires at least
211 dnl bison-1.26 because earlier versions generate a plural.c that doesn't
212 dnl compile.
213 dnl bison is only needed for the maintainer (who touches plural.y). But in
214 dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
215 dnl the rule in general Makefile. Now, some people carelessly touch the
216 dnl files or have a broken "make" program, hence the plural.c rule will
217 dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
218 dnl present or too old.
219 AC_CHECK_PROGS([INTLBISON], [bison])
220 if test -z "$INTLBISON"; then
221 ac_verc_fail=yes
222 else
223 dnl Found it, now check the version.
224 AC_MSG_CHECKING([version of bison])
225changequote(<<,>>)dnl
226 ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
227 case $ac_prog_version in
228 '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
229 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
230changequote([,])dnl
231 ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
232 *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
233 esac
234 AC_MSG_RESULT([$ac_prog_version])
235 fi
236 if test $ac_verc_fail = yes; then
237 INTLBISON=:
238 fi
239])
240
241
242dnl gt_CHECK_DECL(FUNC, INCLUDES)
243dnl Check whether a function is declared.
244AC_DEFUN([gt_CHECK_DECL],
245[
246 AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1,
247 [AC_TRY_COMPILE([$2], [
248#ifndef $1
249 char *p = (char *) $1;
250#endif
251], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)])
252 if test $ac_cv_have_decl_$1 = yes; then
253 gt_value=1
254 else
255 gt_value=0
256 fi
257 AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
258 [Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
259])
diff --git a/m4/intldir.m4 b/m4/intldir.m4
new file mode 100644
index 000000000..7a28843f6
--- /dev/null
+++ b/m4/intldir.m4
@@ -0,0 +1,19 @@
1# intldir.m4 serial 1 (gettext-0.16)
2dnl Copyright (C) 2006 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6dnl
7dnl This file can can be used in projects which are not available under
8dnl the GNU General Public License or the GNU Library General Public
9dnl License but which still want to provide support for the GNU gettext
10dnl functionality.
11dnl Please note that the actual code of the GNU gettext library is covered
12dnl by the GNU Library General Public License, and the rest of the GNU
13dnl gettext package package is covered by the GNU General Public License.
14dnl They are *not* in the public domain.
15
16AC_PREREQ(2.52)
17
18dnl Tells the AM_GNU_GETTEXT macro to consider an intl/ directory.
19AC_DEFUN([AM_GNU_GETTEXT_INTL_SUBDIR], [])
diff --git a/m4/intmax.m4 b/m4/intmax.m4
new file mode 100644
index 000000000..ce7a8a49d
--- /dev/null
+++ b/m4/intmax.m4
@@ -0,0 +1,33 @@
1# intmax.m4 serial 3 (gettext-0.16)
2dnl Copyright (C) 2002-2005 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Bruno Haible.
8dnl Test whether the system has the 'intmax_t' type, but don't attempt to
9dnl find a replacement if it is lacking.
10
11AC_DEFUN([gt_TYPE_INTMAX_T],
12[
13 AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
14 AC_REQUIRE([gl_AC_HEADER_STDINT_H])
15 AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t,
16 [AC_TRY_COMPILE([
17#include <stddef.h>
18#include <stdlib.h>
19#if HAVE_STDINT_H_WITH_UINTMAX
20#include <stdint.h>
21#endif
22#if HAVE_INTTYPES_H_WITH_UINTMAX
23#include <inttypes.h>
24#endif
25], [intmax_t x = -1;
26 return !x;],
27 gt_cv_c_intmax_t=yes,
28 gt_cv_c_intmax_t=no)])
29 if test $gt_cv_c_intmax_t = yes; then
30 AC_DEFINE(HAVE_INTMAX_T, 1,
31 [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
32 fi
33])
diff --git a/m4/inttypes-pri.m4 b/m4/inttypes-pri.m4
new file mode 100644
index 000000000..7c7f89401
--- /dev/null
+++ b/m4/inttypes-pri.m4
@@ -0,0 +1,36 @@
1# inttypes-pri.m4 serial 4 (gettext-0.16)
2dnl Copyright (C) 1997-2002, 2006 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Bruno Haible.
8
9AC_PREREQ(2.52)
10
11# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
12# macros to non-string values. This is the case on AIX 4.3.3.
13
14AC_DEFUN([gt_INTTYPES_PRI],
15[
16 AC_CHECK_HEADERS([inttypes.h])
17 if test $ac_cv_header_inttypes_h = yes; then
18 AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
19 gt_cv_inttypes_pri_broken,
20 [
21 AC_TRY_COMPILE([#include <inttypes.h>
22#ifdef PRId32
23char *p = PRId32;
24#endif
25], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
26 ])
27 fi
28 if test "$gt_cv_inttypes_pri_broken" = yes; then
29 AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
30 [Define if <inttypes.h> exists and defines unusable PRI* macros.])
31 PRI_MACROS_BROKEN=1
32 else
33 PRI_MACROS_BROKEN=0
34 fi
35 AC_SUBST([PRI_MACROS_BROKEN])
36])
diff --git a/m4/inttypes.m4 b/m4/inttypes.m4
new file mode 100644
index 000000000..ab370ffe0
--- /dev/null
+++ b/m4/inttypes.m4
@@ -0,0 +1,27 @@
1# inttypes.m4 serial 1 (gettext-0.11.4)
2dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
3dnl This file is free software, distributed under the terms of the GNU
4dnl General Public License. As a special exception to the GNU General
5dnl Public License, this file may be distributed as part of a program
6dnl that contains a configuration script generated by Autoconf, under
7dnl the same distribution terms as the rest of that program.
8
9dnl From Paul Eggert.
10
11# Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with
12# <sys/types.h>.
13
14AC_DEFUN([gt_HEADER_INTTYPES_H],
15[
16 AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
17 [
18 AC_TRY_COMPILE(
19 [#include <sys/types.h>
20#include <inttypes.h>],
21 [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
22 ])
23 if test $gt_cv_header_inttypes_h = yes; then
24 AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
25 [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])
26 fi
27])
diff --git a/m4/inttypes_h.m4 b/m4/inttypes_h.m4
new file mode 100644
index 000000000..edc8ecb2d
--- /dev/null
+++ b/m4/inttypes_h.m4
@@ -0,0 +1,26 @@
1# inttypes_h.m4 serial 7
2dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Paul Eggert.
8
9# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
10# doesn't clash with <sys/types.h>, and declares uintmax_t.
11
12AC_DEFUN([gl_AC_HEADER_INTTYPES_H],
13[
14 AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h,
15 [AC_TRY_COMPILE(
16 [#include <sys/types.h>
17#include <inttypes.h>],
18 [uintmax_t i = (uintmax_t) -1; return !i;],
19 gl_cv_header_inttypes_h=yes,
20 gl_cv_header_inttypes_h=no)])
21 if test $gl_cv_header_inttypes_h = yes; then
22 AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
23 [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
24 and declares uintmax_t. ])
25 fi
26])
diff --git a/m4/isc-posix.m4 b/m4/isc-posix.m4
new file mode 100644
index 000000000..1319dd1c7
--- /dev/null
+++ b/m4/isc-posix.m4
@@ -0,0 +1,26 @@
1# isc-posix.m4 serial 2 (gettext-0.11.2)
2dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
3dnl This file is free software, distributed under the terms of the GNU
4dnl General Public License. As a special exception to the GNU General
5dnl Public License, this file may be distributed as part of a program
6dnl that contains a configuration script generated by Autoconf, under
7dnl the same distribution terms as the rest of that program.
8
9# This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
10
11# This test replaces the one in autoconf.
12# Currently this macro should have the same name as the autoconf macro
13# because gettext's gettext.m4 (distributed in the automake package)
14# still uses it. Otherwise, the use in gettext.m4 makes autoheader
15# give these diagnostics:
16# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
17# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
18
19undefine([AC_ISC_POSIX])
20
21AC_DEFUN([AC_ISC_POSIX],
22 [
23 dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
24 AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
25 ]
26)
diff --git a/m4/lcmessage.m4 b/m4/lcmessage.m4
new file mode 100644
index 000000000..19aa77e4f
--- /dev/null
+++ b/m4/lcmessage.m4
@@ -0,0 +1,30 @@
1# lcmessage.m4 serial 4 (gettext-0.14.2)
2dnl Copyright (C) 1995-2002, 2004-2005 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6dnl
7dnl This file can can be used in projects which are not available under
8dnl the GNU General Public License or the GNU Library General Public
9dnl License but which still want to provide support for the GNU gettext
10dnl functionality.
11dnl Please note that the actual code of the GNU gettext library is covered
12dnl by the GNU Library General Public License, and the rest of the GNU
13dnl gettext package package is covered by the GNU General Public License.
14dnl They are *not* in the public domain.
15
16dnl Authors:
17dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
18
19# Check whether LC_MESSAGES is available in <locale.h>.
20
21AC_DEFUN([gt_LC_MESSAGES],
22[
23 AC_CACHE_CHECK([for LC_MESSAGES], gt_cv_val_LC_MESSAGES,
24 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
25 gt_cv_val_LC_MESSAGES=yes, gt_cv_val_LC_MESSAGES=no)])
26 if test $gt_cv_val_LC_MESSAGES = yes; then
27 AC_DEFINE(HAVE_LC_MESSAGES, 1,
28 [Define if your <locale.h> file defines LC_MESSAGES.])
29 fi
30])
diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4
new file mode 100644
index 000000000..96c4e2c33
--- /dev/null
+++ b/m4/lib-ld.m4
@@ -0,0 +1,110 @@
1# lib-ld.m4 serial 3 (gettext-0.13)
2dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl Subroutines of libtool.m4,
8dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
9dnl with libtool.m4.
10
11dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
12AC_DEFUN([AC_LIB_PROG_LD_GNU],
13[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
14[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
15case `$LD -v 2>&1 </dev/null` in
16*GNU* | *'with BFD'*)
17 acl_cv_prog_gnu_ld=yes ;;
18*)
19 acl_cv_prog_gnu_ld=no ;;
20esac])
21with_gnu_ld=$acl_cv_prog_gnu_ld
22])
23
24dnl From libtool-1.4. Sets the variable LD.
25AC_DEFUN([AC_LIB_PROG_LD],
26[AC_ARG_WITH(gnu-ld,
27[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
28test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
29AC_REQUIRE([AC_PROG_CC])dnl
30AC_REQUIRE([AC_CANONICAL_HOST])dnl
31# Prepare PATH_SEPARATOR.
32# The user is always right.
33if test "${PATH_SEPARATOR+set}" != set; then
34 echo "#! /bin/sh" >conf$$.sh
35 echo "exit 0" >>conf$$.sh
36 chmod +x conf$$.sh
37 if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
38 PATH_SEPARATOR=';'
39 else
40 PATH_SEPARATOR=:
41 fi
42 rm -f conf$$.sh
43fi
44ac_prog=ld
45if test "$GCC" = yes; then
46 # Check if gcc -print-prog-name=ld gives a path.
47 AC_MSG_CHECKING([for ld used by GCC])
48 case $host in
49 *-*-mingw*)
50 # gcc leaves a trailing carriage return which upsets mingw
51 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
52 *)
53 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
54 esac
55 case $ac_prog in
56 # Accept absolute paths.
57 [[\\/]* | [A-Za-z]:[\\/]*)]
58 [re_direlt='/[^/][^/]*/\.\./']
59 # Canonicalize the path of ld
60 ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
61 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
62 ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
63 done
64 test -z "$LD" && LD="$ac_prog"
65 ;;
66 "")
67 # If it fails, then pretend we aren't using GCC.
68 ac_prog=ld
69 ;;
70 *)
71 # If it is relative, then search for the first ld in PATH.
72 with_gnu_ld=unknown
73 ;;
74 esac
75elif test "$with_gnu_ld" = yes; then
76 AC_MSG_CHECKING([for GNU ld])
77else
78 AC_MSG_CHECKING([for non-GNU ld])
79fi
80AC_CACHE_VAL(acl_cv_path_LD,
81[if test -z "$LD"; then
82 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
83 for ac_dir in $PATH; do
84 test -z "$ac_dir" && ac_dir=.
85 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
86 acl_cv_path_LD="$ac_dir/$ac_prog"
87 # Check to see if the program is GNU ld. I'd rather use --version,
88 # but apparently some GNU ld's only accept -v.
89 # Break only if it was the GNU/non-GNU ld that we prefer.
90 case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
91 *GNU* | *'with BFD'*)
92 test "$with_gnu_ld" != no && break ;;
93 *)
94 test "$with_gnu_ld" != yes && break ;;
95 esac
96 fi
97 done
98 IFS="$ac_save_ifs"
99else
100 acl_cv_path_LD="$LD" # Let the user override the test with a path.
101fi])
102LD="$acl_cv_path_LD"
103if test -n "$LD"; then
104 AC_MSG_RESULT($LD)
105else
106 AC_MSG_RESULT(no)
107fi
108test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
109AC_LIB_PROG_LD_GNU
110])
diff --git a/m4/lib-link.m4 b/m4/lib-link.m4
new file mode 100644
index 000000000..f95b7ba88
--- /dev/null
+++ b/m4/lib-link.m4
@@ -0,0 +1,644 @@
1# lib-link.m4 serial 9 (gettext-0.16)
2dnl Copyright (C) 2001-2006 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Bruno Haible.
8
9AC_PREREQ(2.50)
10
11dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
12dnl the libraries corresponding to explicit and implicit dependencies.
13dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
14dnl augments the CPPFLAGS variable.
15AC_DEFUN([AC_LIB_LINKFLAGS],
16[
17 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
18 AC_REQUIRE([AC_LIB_RPATH])
19 define([Name],[translit([$1],[./-], [___])])
20 define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
21 [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
22 AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
23 AC_LIB_LINKFLAGS_BODY([$1], [$2])
24 ac_cv_lib[]Name[]_libs="$LIB[]NAME"
25 ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
26 ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
27 ])
28 LIB[]NAME="$ac_cv_lib[]Name[]_libs"
29 LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
30 INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
31 AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
32 AC_SUBST([LIB]NAME)
33 AC_SUBST([LTLIB]NAME)
34 dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
35 dnl results of this search when this library appears as a dependency.
36 HAVE_LIB[]NAME=yes
37 undefine([Name])
38 undefine([NAME])
39])
40
41dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
42dnl searches for libname and the libraries corresponding to explicit and
43dnl implicit dependencies, together with the specified include files and
44dnl the ability to compile and link the specified testcode. If found, it
45dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
46dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
47dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
48dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
49AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
50[
51 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
52 AC_REQUIRE([AC_LIB_RPATH])
53 define([Name],[translit([$1],[./-], [___])])
54 define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
55 [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
56
57 dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
58 dnl accordingly.
59 AC_LIB_LINKFLAGS_BODY([$1], [$2])
60
61 dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
62 dnl because if the user has installed lib[]Name and not disabled its use
63 dnl via --without-lib[]Name-prefix, he wants to use it.
64 ac_save_CPPFLAGS="$CPPFLAGS"
65 AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
66
67 AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
68 ac_save_LIBS="$LIBS"
69 LIBS="$LIBS $LIB[]NAME"
70 AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
71 LIBS="$ac_save_LIBS"
72 ])
73 if test "$ac_cv_lib[]Name" = yes; then
74 HAVE_LIB[]NAME=yes
75 AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
76 AC_MSG_CHECKING([how to link with lib[]$1])
77 AC_MSG_RESULT([$LIB[]NAME])
78 else
79 HAVE_LIB[]NAME=no
80 dnl If $LIB[]NAME didn't lead to a usable library, we don't need
81 dnl $INC[]NAME either.
82 CPPFLAGS="$ac_save_CPPFLAGS"
83 LIB[]NAME=
84 LTLIB[]NAME=
85 fi
86 AC_SUBST([HAVE_LIB]NAME)
87 AC_SUBST([LIB]NAME)
88 AC_SUBST([LTLIB]NAME)
89 undefine([Name])
90 undefine([NAME])
91])
92
93dnl Determine the platform dependent parameters needed to use rpath:
94dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
95dnl hardcode_direct, hardcode_minus_L.
96AC_DEFUN([AC_LIB_RPATH],
97[
98 dnl Tell automake >= 1.10 to complain if config.rpath is missing.
99 m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
100 AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
101 AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
102 AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
103 AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
104 AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
105 CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
106 ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
107 . ./conftest.sh
108 rm -f ./conftest.sh
109 acl_cv_rpath=done
110 ])
111 wl="$acl_cv_wl"
112 libext="$acl_cv_libext"
113 shlibext="$acl_cv_shlibext"
114 hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
115 hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
116 hardcode_direct="$acl_cv_hardcode_direct"
117 hardcode_minus_L="$acl_cv_hardcode_minus_L"
118 dnl Determine whether the user wants rpath handling at all.
119 AC_ARG_ENABLE(rpath,
120 [ --disable-rpath do not hardcode runtime library paths],
121 :, enable_rpath=yes)
122])
123
124dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
125dnl the libraries corresponding to explicit and implicit dependencies.
126dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
127AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
128[
129 AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
130 define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
131 [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
132 dnl By default, look in $includedir and $libdir.
133 use_additional=yes
134 AC_LIB_WITH_FINAL_PREFIX([
135 eval additional_includedir=\"$includedir\"
136 eval additional_libdir=\"$libdir\"
137 ])
138 AC_LIB_ARG_WITH([lib$1-prefix],
139[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
140 --without-lib$1-prefix don't search for lib$1 in includedir and libdir],
141[
142 if test "X$withval" = "Xno"; then
143 use_additional=no
144 else
145 if test "X$withval" = "X"; then
146 AC_LIB_WITH_FINAL_PREFIX([
147 eval additional_includedir=\"$includedir\"
148 eval additional_libdir=\"$libdir\"
149 ])
150 else
151 additional_includedir="$withval/include"
152 additional_libdir="$withval/$acl_libdirstem"
153 fi
154 fi
155])
156 dnl Search the library and its dependencies in $additional_libdir and
157 dnl $LDFLAGS. Using breadth-first-seach.
158 LIB[]NAME=
159 LTLIB[]NAME=
160 INC[]NAME=
161 rpathdirs=
162 ltrpathdirs=
163 names_already_handled=
164 names_next_round='$1 $2'
165 while test -n "$names_next_round"; do
166 names_this_round="$names_next_round"
167 names_next_round=
168 for name in $names_this_round; do
169 already_handled=
170 for n in $names_already_handled; do
171 if test "$n" = "$name"; then
172 already_handled=yes
173 break
174 fi
175 done
176 if test -z "$already_handled"; then
177 names_already_handled="$names_already_handled $name"
178 dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
179 dnl or AC_LIB_HAVE_LINKFLAGS call.
180 uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
181 eval value=\"\$HAVE_LIB$uppername\"
182 if test -n "$value"; then
183 if test "$value" = yes; then
184 eval value=\"\$LIB$uppername\"
185 test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
186 eval value=\"\$LTLIB$uppername\"
187 test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
188 else
189 dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
190 dnl that this library doesn't exist. So just drop it.
191 :
192 fi
193 else
194 dnl Search the library lib$name in $additional_libdir and $LDFLAGS
195 dnl and the already constructed $LIBNAME/$LTLIBNAME.
196 found_dir=
197 found_la=
198 found_so=
199 found_a=
200 if test $use_additional = yes; then
201 if test -n "$shlibext" \
202 && { test -f "$additional_libdir/lib$name.$shlibext" \
203 || { test "$shlibext" = dll \
204 && test -f "$additional_libdir/lib$name.dll.a"; }; }; then
205 found_dir="$additional_libdir"
206 if test -f "$additional_libdir/lib$name.$shlibext"; then
207 found_so="$additional_libdir/lib$name.$shlibext"
208 else
209 found_so="$additional_libdir/lib$name.dll.a"
210 fi
211 if test -f "$additional_libdir/lib$name.la"; then
212 found_la="$additional_libdir/lib$name.la"
213 fi
214 else
215 if test -f "$additional_libdir/lib$name.$libext"; then
216 found_dir="$additional_libdir"
217 found_a="$additional_libdir/lib$name.$libext"
218 if test -f "$additional_libdir/lib$name.la"; then
219 found_la="$additional_libdir/lib$name.la"
220 fi
221 fi
222 fi
223 fi
224 if test "X$found_dir" = "X"; then
225 for x in $LDFLAGS $LTLIB[]NAME; do
226 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
227 case "$x" in
228 -L*)
229 dir=`echo "X$x" | sed -e 's/^X-L//'`
230 if test -n "$shlibext" \
231 && { test -f "$dir/lib$name.$shlibext" \
232 || { test "$shlibext" = dll \
233 && test -f "$dir/lib$name.dll.a"; }; }; then
234 found_dir="$dir"
235 if test -f "$dir/lib$name.$shlibext"; then
236 found_so="$dir/lib$name.$shlibext"
237 else
238 found_so="$dir/lib$name.dll.a"
239 fi
240 if test -f "$dir/lib$name.la"; then
241 found_la="$dir/lib$name.la"
242 fi
243 else
244 if test -f "$dir/lib$name.$libext"; then
245 found_dir="$dir"
246 found_a="$dir/lib$name.$libext"
247 if test -f "$dir/lib$name.la"; then
248 found_la="$dir/lib$name.la"
249 fi
250 fi
251 fi
252 ;;
253 esac
254 if test "X$found_dir" != "X"; then
255 break
256 fi
257 done
258 fi
259 if test "X$found_dir" != "X"; then
260 dnl Found the library.
261 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
262 if test "X$found_so" != "X"; then
263 dnl Linking with a shared library. We attempt to hardcode its
264 dnl directory into the executable's runpath, unless it's the
265 dnl standard /usr/lib.
266 if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
267 dnl No hardcoding is needed.
268 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
269 else
270 dnl Use an explicit option to hardcode DIR into the resulting
271 dnl binary.
272 dnl Potentially add DIR to ltrpathdirs.
273 dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
274 haveit=
275 for x in $ltrpathdirs; do
276 if test "X$x" = "X$found_dir"; then
277 haveit=yes
278 break
279 fi
280 done
281 if test -z "$haveit"; then
282 ltrpathdirs="$ltrpathdirs $found_dir"
283 fi
284 dnl The hardcoding into $LIBNAME is system dependent.
285 if test "$hardcode_direct" = yes; then
286 dnl Using DIR/libNAME.so during linking hardcodes DIR into the
287 dnl resulting binary.
288 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
289 else
290 if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
291 dnl Use an explicit option to hardcode DIR into the resulting
292 dnl binary.
293 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
294 dnl Potentially add DIR to rpathdirs.
295 dnl The rpathdirs will be appended to $LIBNAME at the end.
296 haveit=
297 for x in $rpathdirs; do
298 if test "X$x" = "X$found_dir"; then
299 haveit=yes
300 break
301 fi
302 done
303 if test -z "$haveit"; then
304 rpathdirs="$rpathdirs $found_dir"
305 fi
306 else
307 dnl Rely on "-L$found_dir".
308 dnl But don't add it if it's already contained in the LDFLAGS
309 dnl or the already constructed $LIBNAME
310 haveit=
311 for x in $LDFLAGS $LIB[]NAME; do
312 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
313 if test "X$x" = "X-L$found_dir"; then
314 haveit=yes
315 break
316 fi
317 done
318 if test -z "$haveit"; then
319 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
320 fi
321 if test "$hardcode_minus_L" != no; then
322 dnl FIXME: Not sure whether we should use
323 dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
324 dnl here.
325 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
326 else
327 dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
328 dnl here, because this doesn't fit in flags passed to the
329 dnl compiler. So give up. No hardcoding. This affects only
330 dnl very old systems.
331 dnl FIXME: Not sure whether we should use
332 dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
333 dnl here.
334 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
335 fi
336 fi
337 fi
338 fi
339 else
340 if test "X$found_a" != "X"; then
341 dnl Linking with a static library.
342 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
343 else
344 dnl We shouldn't come here, but anyway it's good to have a
345 dnl fallback.
346 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
347 fi
348 fi
349 dnl Assume the include files are nearby.
350 additional_includedir=
351 case "$found_dir" in
352 */$acl_libdirstem | */$acl_libdirstem/)
353 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
354 additional_includedir="$basedir/include"
355 ;;
356 esac
357 if test "X$additional_includedir" != "X"; then
358 dnl Potentially add $additional_includedir to $INCNAME.
359 dnl But don't add it
360 dnl 1. if it's the standard /usr/include,
361 dnl 2. if it's /usr/local/include and we are using GCC on Linux,
362 dnl 3. if it's already present in $CPPFLAGS or the already
363 dnl constructed $INCNAME,
364 dnl 4. if it doesn't exist as a directory.
365 if test "X$additional_includedir" != "X/usr/include"; then
366 haveit=
367 if test "X$additional_includedir" = "X/usr/local/include"; then
368 if test -n "$GCC"; then
369 case $host_os in
370 linux* | gnu* | k*bsd*-gnu) haveit=yes;;
371 esac
372 fi
373 fi
374 if test -z "$haveit"; then
375 for x in $CPPFLAGS $INC[]NAME; do
376 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
377 if test "X$x" = "X-I$additional_includedir"; then
378 haveit=yes
379 break
380 fi
381 done
382 if test -z "$haveit"; then
383 if test -d "$additional_includedir"; then
384 dnl Really add $additional_includedir to $INCNAME.
385 INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
386 fi
387 fi
388 fi
389 fi
390 fi
391 dnl Look for dependencies.
392 if test -n "$found_la"; then
393 dnl Read the .la file. It defines the variables
394 dnl dlname, library_names, old_library, dependency_libs, current,
395 dnl age, revision, installed, dlopen, dlpreopen, libdir.
396 save_libdir="$libdir"
397 case "$found_la" in
398 */* | *\\*) . "$found_la" ;;
399 *) . "./$found_la" ;;
400 esac
401 libdir="$save_libdir"
402 dnl We use only dependency_libs.
403 for dep in $dependency_libs; do
404 case "$dep" in
405 -L*)
406 additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
407 dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
408 dnl But don't add it
409 dnl 1. if it's the standard /usr/lib,
410 dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
411 dnl 3. if it's already present in $LDFLAGS or the already
412 dnl constructed $LIBNAME,
413 dnl 4. if it doesn't exist as a directory.
414 if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
415 haveit=
416 if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
417 if test -n "$GCC"; then
418 case $host_os in
419 linux* | gnu* | k*bsd*-gnu) haveit=yes;;
420 esac
421 fi
422 fi
423 if test -z "$haveit"; then
424 haveit=
425 for x in $LDFLAGS $LIB[]NAME; do
426 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
427 if test "X$x" = "X-L$additional_libdir"; then
428 haveit=yes
429 break
430 fi
431 done
432 if test -z "$haveit"; then
433 if test -d "$additional_libdir"; then
434 dnl Really add $additional_libdir to $LIBNAME.
435 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
436 fi
437 fi
438 haveit=
439 for x in $LDFLAGS $LTLIB[]NAME; do
440 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
441 if test "X$x" = "X-L$additional_libdir"; then
442 haveit=yes
443 break
444 fi
445 done
446 if test -z "$haveit"; then
447 if test -d "$additional_libdir"; then
448 dnl Really add $additional_libdir to $LTLIBNAME.
449 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
450 fi
451 fi
452 fi
453 fi
454 ;;
455 -R*)
456 dir=`echo "X$dep" | sed -e 's/^X-R//'`
457 if test "$enable_rpath" != no; then
458 dnl Potentially add DIR to rpathdirs.
459 dnl The rpathdirs will be appended to $LIBNAME at the end.
460 haveit=
461 for x in $rpathdirs; do
462 if test "X$x" = "X$dir"; then
463 haveit=yes
464 break
465 fi
466 done
467 if test -z "$haveit"; then
468 rpathdirs="$rpathdirs $dir"
469 fi
470 dnl Potentially add DIR to ltrpathdirs.
471 dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
472 haveit=
473 for x in $ltrpathdirs; do
474 if test "X$x" = "X$dir"; then
475 haveit=yes
476 break
477 fi
478 done
479 if test -z "$haveit"; then
480 ltrpathdirs="$ltrpathdirs $dir"
481 fi
482 fi
483 ;;
484 -l*)
485 dnl Handle this in the next round.
486 names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
487 ;;
488 *.la)
489 dnl Handle this in the next round. Throw away the .la's
490 dnl directory; it is already contained in a preceding -L
491 dnl option.
492 names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
493 ;;
494 *)
495 dnl Most likely an immediate library name.
496 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
497 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
498 ;;
499 esac
500 done
501 fi
502 else
503 dnl Didn't find the library; assume it is in the system directories
504 dnl known to the linker and runtime loader. (All the system
505 dnl directories known to the linker should also be known to the
506 dnl runtime loader, otherwise the system is severely misconfigured.)
507 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
508 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
509 fi
510 fi
511 fi
512 done
513 done
514 if test "X$rpathdirs" != "X"; then
515 if test -n "$hardcode_libdir_separator"; then
516 dnl Weird platform: only the last -rpath option counts, the user must
517 dnl pass all path elements in one option. We can arrange that for a
518 dnl single library, but not when more than one $LIBNAMEs are used.
519 alldirs=
520 for found_dir in $rpathdirs; do
521 alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
522 done
523 dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
524 acl_save_libdir="$libdir"
525 libdir="$alldirs"
526 eval flag=\"$hardcode_libdir_flag_spec\"
527 libdir="$acl_save_libdir"
528 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
529 else
530 dnl The -rpath options are cumulative.
531 for found_dir in $rpathdirs; do
532 acl_save_libdir="$libdir"
533 libdir="$found_dir"
534 eval flag=\"$hardcode_libdir_flag_spec\"
535 libdir="$acl_save_libdir"
536 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
537 done
538 fi
539 fi
540 if test "X$ltrpathdirs" != "X"; then
541 dnl When using libtool, the option that works for both libraries and
542 dnl executables is -R. The -R options are cumulative.
543 for found_dir in $ltrpathdirs; do
544 LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
545 done
546 fi
547])
548
549dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
550dnl unless already present in VAR.
551dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
552dnl contains two or three consecutive elements that belong together.
553AC_DEFUN([AC_LIB_APPENDTOVAR],
554[
555 for element in [$2]; do
556 haveit=
557 for x in $[$1]; do
558 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
559 if test "X$x" = "X$element"; then
560 haveit=yes
561 break
562 fi
563 done
564 if test -z "$haveit"; then
565 [$1]="${[$1]}${[$1]:+ }$element"
566 fi
567 done
568])
569
570dnl For those cases where a variable contains several -L and -l options
571dnl referring to unknown libraries and directories, this macro determines the
572dnl necessary additional linker options for the runtime path.
573dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
574dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
575dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
576dnl otherwise linking without libtool is assumed.
577AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
578[
579 AC_REQUIRE([AC_LIB_RPATH])
580 AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
581 $1=
582 if test "$enable_rpath" != no; then
583 if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
584 dnl Use an explicit option to hardcode directories into the resulting
585 dnl binary.
586 rpathdirs=
587 next=
588 for opt in $2; do
589 if test -n "$next"; then
590 dir="$next"
591 dnl No need to hardcode the standard /usr/lib.
592 if test "X$dir" != "X/usr/$acl_libdirstem"; then
593 rpathdirs="$rpathdirs $dir"
594 fi
595 next=
596 else
597 case $opt in
598 -L) next=yes ;;
599 -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
600 dnl No need to hardcode the standard /usr/lib.
601 if test "X$dir" != "X/usr/$acl_libdirstem"; then
602 rpathdirs="$rpathdirs $dir"
603 fi
604 next= ;;
605 *) next= ;;
606 esac
607 fi
608 done
609 if test "X$rpathdirs" != "X"; then
610 if test -n ""$3""; then
611 dnl libtool is used for linking. Use -R options.
612 for dir in $rpathdirs; do
613 $1="${$1}${$1:+ }-R$dir"
614 done
615 else
616 dnl The linker is used for linking directly.
617 if test -n "$hardcode_libdir_separator"; then
618 dnl Weird platform: only the last -rpath option counts, the user
619 dnl must pass all path elements in one option.
620 alldirs=
621 for dir in $rpathdirs; do
622 alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$dir"
623 done
624 acl_save_libdir="$libdir"
625 libdir="$alldirs"
626 eval flag=\"$hardcode_libdir_flag_spec\"
627 libdir="$acl_save_libdir"
628 $1="$flag"
629 else
630 dnl The -rpath options are cumulative.
631 for dir in $rpathdirs; do
632 acl_save_libdir="$libdir"
633 libdir="$dir"
634 eval flag=\"$hardcode_libdir_flag_spec\"
635 libdir="$acl_save_libdir"
636 $1="${$1}${$1:+ }$flag"
637 done
638 fi
639 fi
640 fi
641 fi
642 fi
643 AC_SUBST([$1])
644])
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4
new file mode 100644
index 000000000..a8684e17e
--- /dev/null
+++ b/m4/lib-prefix.m4
@@ -0,0 +1,185 @@
1# lib-prefix.m4 serial 5 (gettext-0.15)
2dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Bruno Haible.
8
9dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
10dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
11dnl require excessive bracketing.
12ifdef([AC_HELP_STRING],
13[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
14[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
15
16dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
17dnl to access previously installed libraries. The basic assumption is that
18dnl a user will want packages to use other packages he previously installed
19dnl with the same --prefix option.
20dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
21dnl libraries, but is otherwise very convenient.
22AC_DEFUN([AC_LIB_PREFIX],
23[
24 AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
25 AC_REQUIRE([AC_PROG_CC])
26 AC_REQUIRE([AC_CANONICAL_HOST])
27 AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
28 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
29 dnl By default, look in $includedir and $libdir.
30 use_additional=yes
31 AC_LIB_WITH_FINAL_PREFIX([
32 eval additional_includedir=\"$includedir\"
33 eval additional_libdir=\"$libdir\"
34 ])
35 AC_LIB_ARG_WITH([lib-prefix],
36[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
37 --without-lib-prefix don't search for libraries in includedir and libdir],
38[
39 if test "X$withval" = "Xno"; then
40 use_additional=no
41 else
42 if test "X$withval" = "X"; then
43 AC_LIB_WITH_FINAL_PREFIX([
44 eval additional_includedir=\"$includedir\"
45 eval additional_libdir=\"$libdir\"
46 ])
47 else
48 additional_includedir="$withval/include"
49 additional_libdir="$withval/$acl_libdirstem"
50 fi
51 fi
52])
53 if test $use_additional = yes; then
54 dnl Potentially add $additional_includedir to $CPPFLAGS.
55 dnl But don't add it
56 dnl 1. if it's the standard /usr/include,
57 dnl 2. if it's already present in $CPPFLAGS,
58 dnl 3. if it's /usr/local/include and we are using GCC on Linux,
59 dnl 4. if it doesn't exist as a directory.
60 if test "X$additional_includedir" != "X/usr/include"; then
61 haveit=
62 for x in $CPPFLAGS; do
63 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
64 if test "X$x" = "X-I$additional_includedir"; then
65 haveit=yes
66 break
67 fi
68 done
69 if test -z "$haveit"; then
70 if test "X$additional_includedir" = "X/usr/local/include"; then
71 if test -n "$GCC"; then
72 case $host_os in
73 linux* | gnu* | k*bsd*-gnu) haveit=yes;;
74 esac
75 fi
76 fi
77 if test -z "$haveit"; then
78 if test -d "$additional_includedir"; then
79 dnl Really add $additional_includedir to $CPPFLAGS.
80 CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
81 fi
82 fi
83 fi
84 fi
85 dnl Potentially add $additional_libdir to $LDFLAGS.
86 dnl But don't add it
87 dnl 1. if it's the standard /usr/lib,
88 dnl 2. if it's already present in $LDFLAGS,
89 dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
90 dnl 4. if it doesn't exist as a directory.
91 if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
92 haveit=
93 for x in $LDFLAGS; do
94 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
95 if test "X$x" = "X-L$additional_libdir"; then
96 haveit=yes
97 break
98 fi
99 done
100 if test -z "$haveit"; then
101 if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
102 if test -n "$GCC"; then
103 case $host_os in
104 linux*) haveit=yes;;
105 esac
106 fi
107 fi
108 if test -z "$haveit"; then
109 if test -d "$additional_libdir"; then
110 dnl Really add $additional_libdir to $LDFLAGS.
111 LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
112 fi
113 fi
114 fi
115 fi
116 fi
117])
118
119dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
120dnl acl_final_exec_prefix, containing the values to which $prefix and
121dnl $exec_prefix will expand at the end of the configure script.
122AC_DEFUN([AC_LIB_PREPARE_PREFIX],
123[
124 dnl Unfortunately, prefix and exec_prefix get only finally determined
125 dnl at the end of configure.
126 if test "X$prefix" = "XNONE"; then
127 acl_final_prefix="$ac_default_prefix"
128 else
129 acl_final_prefix="$prefix"
130 fi
131 if test "X$exec_prefix" = "XNONE"; then
132 acl_final_exec_prefix='${prefix}'
133 else
134 acl_final_exec_prefix="$exec_prefix"
135 fi
136 acl_save_prefix="$prefix"
137 prefix="$acl_final_prefix"
138 eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
139 prefix="$acl_save_prefix"
140])
141
142dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
143dnl variables prefix and exec_prefix bound to the values they will have
144dnl at the end of the configure script.
145AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
146[
147 acl_save_prefix="$prefix"
148 prefix="$acl_final_prefix"
149 acl_save_exec_prefix="$exec_prefix"
150 exec_prefix="$acl_final_exec_prefix"
151 $1
152 exec_prefix="$acl_save_exec_prefix"
153 prefix="$acl_save_prefix"
154])
155
156dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing
157dnl the basename of the libdir, either "lib" or "lib64".
158AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
159[
160 dnl There is no formal standard regarding lib and lib64. The current
161 dnl practice is that on a system supporting 32-bit and 64-bit instruction
162 dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit
163 dnl libraries go under $prefix/lib. We determine the compiler's default
164 dnl mode by looking at the compiler's library search path. If at least
165 dnl of its elements ends in /lib64 or points to a directory whose absolute
166 dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the
167 dnl default, namely "lib".
168 acl_libdirstem=lib
169 searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
170 if test -n "$searchpath"; then
171 acl_save_IFS="${IFS= }"; IFS=":"
172 for searchdir in $searchpath; do
173 if test -d "$searchdir"; then
174 case "$searchdir" in
175 */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
176 *) searchdir=`cd "$searchdir" && pwd`
177 case "$searchdir" in
178 */lib64 ) acl_libdirstem=lib64 ;;
179 esac ;;
180 esac
181 fi
182 done
183 IFS="$acl_save_IFS"
184 fi
185])
diff --git a/m4/libcurl.m4 b/m4/libcurl.m4
new file mode 100644
index 000000000..a9bfa2e23
--- /dev/null
+++ b/m4/libcurl.m4
@@ -0,0 +1,239 @@
1# LIBCURL_CHECK_CONFIG ([DEFAULT-ACTION], [MINIMUM-VERSION],
2# [ACTION-IF-YES], [ACTION-IF-NO])
3# ----------------------------------------------------------
4# David Shaw <dshaw@jabberwocky.com> May-09-2006
5#
6# Checks for libcurl. DEFAULT-ACTION is the string yes or no to
7# specify whether to default to --with-libcurl or --without-libcurl.
8# If not supplied, DEFAULT-ACTION is yes. MINIMUM-VERSION is the
9# minimum version of libcurl to accept. Pass the version as a regular
10# version number like 7.10.1. If not supplied, any version is
11# accepted. ACTION-IF-YES is a list of shell commands to run if
12# libcurl was successfully found and passed the various tests.
13# ACTION-IF-NO is a list of shell commands that are run otherwise.
14# Note that using --without-libcurl does run ACTION-IF-NO.
15#
16# This macro #defines HAVE_LIBCURL if a working libcurl setup is
17# found, and sets @LIBCURL@ and @LIBCURL_CPPFLAGS@ to the necessary
18# values. Other useful defines are LIBCURL_FEATURE_xxx where xxx are
19# the various features supported by libcurl, and LIBCURL_PROTOCOL_yyy
20# where yyy are the various protocols supported by libcurl. Both xxx
21# and yyy are capitalized. See the list of AH_TEMPLATEs at the top of
22# the macro for the complete list of possible defines. Shell
23# variables $libcurl_feature_xxx and $libcurl_protocol_yyy are also
24# defined to 'yes' for those features and protocols that were found.
25# Note that xxx and yyy keep the same capitalization as in the
26# curl-config list (e.g. it's "HTTP" and not "http").
27#
28# Users may override the detected values by doing something like:
29# LIBCURL="-lcurl" LIBCURL_CPPFLAGS="-I/usr/myinclude" ./configure
30#
31# For the sake of sanity, this macro assumes that any libcurl that is
32# found is after version 7.7.2, the first version that included the
33# curl-config script. Note that it is very important for people
34# packaging binary versions of libcurl to include this script!
35# Without curl-config, we can only guess what protocols are available,
36# or use curl_version_info to figure it out at runtime.
37
38AC_DEFUN([LIBCURL_CHECK_CONFIG],
39[
40 AH_TEMPLATE([LIBCURL_FEATURE_SSL],[Defined if libcurl supports SSL])
41 AH_TEMPLATE([LIBCURL_FEATURE_KRB4],[Defined if libcurl supports KRB4])
42 AH_TEMPLATE([LIBCURL_FEATURE_IPV6],[Defined if libcurl supports IPv6])
43 AH_TEMPLATE([LIBCURL_FEATURE_LIBZ],[Defined if libcurl supports libz])
44 AH_TEMPLATE([LIBCURL_FEATURE_ASYNCHDNS],[Defined if libcurl supports AsynchDNS])
45 AH_TEMPLATE([LIBCURL_FEATURE_IDN],[Defined if libcurl supports IDN])
46 AH_TEMPLATE([LIBCURL_FEATURE_SSPI],[Defined if libcurl supports SSPI])
47 AH_TEMPLATE([LIBCURL_FEATURE_NTLM],[Defined if libcurl supports NTLM])
48
49 AH_TEMPLATE([LIBCURL_PROTOCOL_HTTP],[Defined if libcurl supports HTTP])
50 AH_TEMPLATE([LIBCURL_PROTOCOL_HTTPS],[Defined if libcurl supports HTTPS])
51 AH_TEMPLATE([LIBCURL_PROTOCOL_FTP],[Defined if libcurl supports FTP])
52 AH_TEMPLATE([LIBCURL_PROTOCOL_FTPS],[Defined if libcurl supports FTPS])
53 AH_TEMPLATE([LIBCURL_PROTOCOL_FILE],[Defined if libcurl supports FILE])
54 AH_TEMPLATE([LIBCURL_PROTOCOL_TELNET],[Defined if libcurl supports TELNET])
55 AH_TEMPLATE([LIBCURL_PROTOCOL_LDAP],[Defined if libcurl supports LDAP])
56 AH_TEMPLATE([LIBCURL_PROTOCOL_DICT],[Defined if libcurl supports DICT])
57 AH_TEMPLATE([LIBCURL_PROTOCOL_TFTP],[Defined if libcurl supports TFTP])
58
59 AC_ARG_WITH(libcurl,
60 AC_HELP_STRING([--with-libcurl=DIR],[look for the curl library in DIR]),
61 [_libcurl_with=$withval],[_libcurl_with=ifelse([$1],,[yes],[$1])])
62
63 if test "$_libcurl_with" != "no" ; then
64
65 AC_PROG_AWK
66
67 _libcurl_version_parse="eval $AWK '{split(\$NF,A,\".\"); X=256*256*A[[1]]+256*A[[2]]+A[[3]]; print X;}'"
68
69 _libcurl_try_link=yes
70
71 if test -d "$_libcurl_with" ; then
72 LIBCURL_CPPFLAGS="-I$withval/include"
73 _libcurl_ldflags="-L$withval/lib"
74 AC_PATH_PROG([_libcurl_config],["$withval/bin/curl-config"])
75 else
76 AC_PATH_PROG([_libcurl_config],[curl-config])
77 fi
78
79 if test x$_libcurl_config != "x" ; then
80 AC_CACHE_CHECK([for the version of libcurl],
81 [libcurl_cv_lib_curl_version],
82 [libcurl_cv_lib_curl_version=`$_libcurl_config --version | $AWK '{print $[]2}'`])
83
84 _libcurl_version=`echo $libcurl_cv_lib_curl_version | $_libcurl_version_parse`
85 _libcurl_wanted=`echo ifelse([$2],,[0],[$2]) | $_libcurl_version_parse`
86
87 if test $_libcurl_wanted -gt 0 ; then
88 AC_CACHE_CHECK([for libcurl >= version $2],
89 [libcurl_cv_lib_version_ok],
90 [
91 if test $_libcurl_version -ge $_libcurl_wanted ; then
92 libcurl_cv_lib_version_ok=yes
93 else
94 libcurl_cv_lib_version_ok=no
95 fi
96 ])
97 fi
98
99 if test $_libcurl_wanted -eq 0 || test x$libcurl_cv_lib_version_ok = xyes ; then
100 if test x"$LIBCURL_CPPFLAGS" = "x" ; then
101 LIBCURL_CPPFLAGS=`$_libcurl_config --cflags`
102 fi
103 if test x"$LIBCURL" = "x" ; then
104 LIBCURL=`$_libcurl_config --libs`
105
106 # This is so silly, but Apple actually has a bug in their
107 # curl-config script. Fixed in Tiger, but there are still
108 # lots of Panther installs around.
109 case "${host}" in
110 powerpc-apple-darwin7*)
111 LIBCURL=`echo $LIBCURL | sed -e 's|-arch i386||g'`
112 ;;
113 esac
114 fi
115
116 # All curl-config scripts support --feature
117 _libcurl_features=`$_libcurl_config --feature`
118
119 # Is it modern enough to have --protocols? (7.12.4)
120 if test $_libcurl_version -ge 461828 ; then
121 _libcurl_protocols=`$_libcurl_config --protocols`
122 fi
123 else
124 _libcurl_try_link=no
125 fi
126
127 unset _libcurl_wanted
128 fi
129
130 if test $_libcurl_try_link = yes ; then
131
132 # we didn't find curl-config, so let's see if the user-supplied
133 # link line (or failing that, "-lcurl") is enough.
134 LIBCURL=${LIBCURL-"$_libcurl_ldflags -lcurl"}
135
136 AC_CACHE_CHECK([whether libcurl is usable],
137 [libcurl_cv_lib_curl_usable],
138 [
139 _libcurl_save_cppflags=$CPPFLAGS
140 CPPFLAGS="$LIBCURL_CPPFLAGS $CPPFLAGS"
141 _libcurl_save_libs=$LIBS
142 LIBS="$LIBCURL $LIBS"
143
144 AC_LINK_IFELSE(AC_LANG_PROGRAM([#include <curl/curl.h>],[
145/* Try and use a few common options to force a failure if we are
146 missing symbols or can't link. */
147int x;
148curl_easy_setopt(NULL,CURLOPT_URL,NULL);
149x=CURL_ERROR_SIZE;
150x=CURLOPT_WRITEFUNCTION;
151x=CURLOPT_FILE;
152x=CURLOPT_ERRORBUFFER;
153x=CURLOPT_STDERR;
154x=CURLOPT_VERBOSE;
155]),libcurl_cv_lib_curl_usable=yes,libcurl_cv_lib_curl_usable=no)
156
157 CPPFLAGS=$_libcurl_save_cppflags
158 LIBS=$_libcurl_save_libs
159 unset _libcurl_save_cppflags
160 unset _libcurl_save_libs
161 ])
162
163 if test $libcurl_cv_lib_curl_usable = yes ; then
164
165 # Does curl_free() exist in this version of libcurl?
166 # If not, fake it with free()
167
168 _libcurl_save_cppflags=$CPPFLAGS
169 CPPFLAGS="$CPPFLAGS $LIBCURL_CPPFLAGS"
170 _libcurl_save_libs=$LIBS
171 LIBS="$LIBS $LIBCURL"
172
173 AC_CHECK_FUNC(curl_free,,
174 AC_DEFINE(curl_free,free,
175 [Define curl_free() as free() if our version of curl lacks curl_free.]))
176
177 CPPFLAGS=$_libcurl_save_cppflags
178 LIBS=$_libcurl_save_libs
179 unset _libcurl_save_cppflags
180 unset _libcurl_save_libs
181
182 AC_DEFINE(HAVE_LIBCURL,1,
183 [Define to 1 if you have a functional curl library.])
184 AC_SUBST(LIBCURL_CPPFLAGS)
185 AC_SUBST(LIBCURL)
186
187 for _libcurl_feature in $_libcurl_features ; do
188 AC_DEFINE_UNQUOTED(AS_TR_CPP(libcurl_feature_$_libcurl_feature),[1])
189 eval AS_TR_SH(libcurl_feature_$_libcurl_feature)=yes
190 done
191
192 if test "x$_libcurl_protocols" = "x" ; then
193
194 # We don't have --protocols, so just assume that all
195 # protocols are available
196 _libcurl_protocols="HTTP FTP FILE TELNET LDAP DICT"
197
198 if test x$libcurl_feature_SSL = xyes ; then
199 _libcurl_protocols="$_libcurl_protocols HTTPS"
200
201 # FTPS wasn't standards-compliant until version
202 # 7.11.0
203 if test $_libcurl_version -ge 461568; then
204 _libcurl_protocols="$_libcurl_protocols FTPS"
205 fi
206 fi
207 fi
208
209 for _libcurl_protocol in $_libcurl_protocols ; do
210 AC_DEFINE_UNQUOTED(AS_TR_CPP(libcurl_protocol_$_libcurl_protocol),[1])
211 eval AS_TR_SH(libcurl_protocol_$_libcurl_protocol)=yes
212 done
213 else
214 unset LIBCURL
215 unset LIBCURL_CPPFLAGS
216 fi
217 fi
218
219 unset _libcurl_try_link
220 unset _libcurl_version_parse
221 unset _libcurl_config
222 unset _libcurl_feature
223 unset _libcurl_features
224 unset _libcurl_protocol
225 unset _libcurl_protocols
226 unset _libcurl_version
227 unset _libcurl_ldflags
228 fi
229
230 if test x$_libcurl_with = xno || test x$libcurl_cv_lib_curl_usable != xyes ; then
231 # This is the IF-NO path
232 ifelse([$4],,:,[$4])
233 else
234 # This is the IF-YES path
235 ifelse([$3],,:,[$3])
236 fi
237
238 unset _libcurl_with
239])dnl
diff --git a/m4/libgcrypt.m4 b/m4/libgcrypt.m4
new file mode 100644
index 000000000..20bd10556
--- /dev/null
+++ b/m4/libgcrypt.m4
@@ -0,0 +1,108 @@
1dnl Autoconf macros for libgcrypt
2dnl Copyright (C) 2002, 2004 Free Software Foundation, Inc.
3dnl
4dnl This file is free software; as a special exception the author gives
5dnl unlimited permission to copy and/or distribute it, with or without
6dnl modifications, as long as this notice is preserved.
7dnl
8dnl This file is distributed in the hope that it will be useful, but
9dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
10dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11
12
13dnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION,
14dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
15dnl Test for libgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS.
16dnl MINIMUN-VERSION is a string with the version number optionalliy prefixed
17dnl with the API version to also check the API compatibility. Example:
18dnl a MINIMUN-VERSION of 1:1.2.5 won't pass the test unless the installed
19dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using
20dnl this features allows to prevent build against newer versions of libgcrypt
21dnl with a changed API.
22dnl
23AC_DEFUN([AM_PATH_LIBGCRYPT],
24[ AC_ARG_WITH(libgcrypt-prefix,
25 AC_HELP_STRING([--with-libgcrypt-prefix=PFX],
26 [prefix where LIBGCRYPT is installed (optional)]),
27 libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="")
28 if test x$libgcrypt_config_prefix != x ; then
29 if test x${LIBGCRYPT_CONFIG+set} != xset ; then
30 LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config
31 fi
32 fi
33
34 AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no)
35 tmp=ifelse([$1], ,1:1.2.0,$1)
36 if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
37 req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'`
38 min_libgcrypt_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'`
39 else
40 req_libgcrypt_api=0
41 min_libgcrypt_version="$tmp"
42 fi
43
44 AC_MSG_CHECKING(for LIBGCRYPT - version >= $min_libgcrypt_version)
45 ok=no
46 if test "$LIBGCRYPT_CONFIG" != "no" ; then
47 req_major=`echo $min_libgcrypt_version | \
48 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
49 req_minor=`echo $min_libgcrypt_version | \
50 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
51 req_micro=`echo $min_libgcrypt_version | \
52 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
53 libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version`
54 major=`echo $libgcrypt_config_version | \
55 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
56 minor=`echo $libgcrypt_config_version | \
57 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
58 micro=`echo $libgcrypt_config_version | \
59 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
60 if test "$major" -gt "$req_major"; then
61 ok=yes
62 else
63 if test "$major" -eq "$req_major"; then
64 if test "$minor" -gt "$req_minor"; then
65 ok=yes
66 else
67 if test "$minor" -eq "$req_minor"; then
68 if test "$micro" -ge "$req_micro"; then
69 ok=yes
70 fi
71 fi
72 fi
73 fi
74 fi
75 fi
76 if test $ok = yes; then
77 AC_MSG_RESULT(yes)
78 else
79 AC_MSG_RESULT(no)
80 fi
81 if test $ok = yes; then
82 # If we have a recent libgcrypt, we should also check that the
83 # API is compatible
84 if test "$req_libgcrypt_api" -gt 0 ; then
85 tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0`
86 if test "$tmp" -gt 0 ; then
87 AC_MSG_CHECKING([LIBGCRYPT API version])
88 if test "$req_libgcrypt_api" -eq "$tmp" ; then
89 AC_MSG_RESULT(okay)
90 else
91 ok=no
92 AC_MSG_RESULT([does not match (want=$req_libgcrypt_api got=$tmp)])
93 fi
94 fi
95 fi
96 fi
97 if test $ok = yes; then
98 LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags`
99 LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs`
100 ifelse([$2], , :, [$2])
101 else
102 LIBGCRYPT_CFLAGS=""
103 LIBGCRYPT_LIBS=""
104 ifelse([$3], , :, [$3])
105 fi
106 AC_SUBST(LIBGCRYPT_CFLAGS)
107 AC_SUBST(LIBGCRYPT_LIBS)
108])
diff --git a/m4/libltdl-external.m4 b/m4/libltdl-external.m4
new file mode 100644
index 000000000..1c4ce09b2
--- /dev/null
+++ b/m4/libltdl-external.m4
@@ -0,0 +1,75 @@
1dnl Autoconf macro for an always external libltdl
2dnl Copyright (C) 2009 Heikki Lindholm
3dnl
4dnl This file is free software; as a special exception the author gives
5dnl unlimited permission to copy and/or distribute it, with or without
6dnl modifications, as long as this notice is preserved.
7dnl
8dnl This file is distributed in the hope that it will be useful, but
9dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
10dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11
12dnl AM_PATH_LIBLTDL(
13dnl [CHECK-SYMBOLS, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
14dnl
15AC_DEFUN([AM_PATH_LIBLTDL],
16[ AC_ARG_WITH(libltdl-prefix,
17 AC_HELP_STRING([--with-libltdl-prefix=PFX],
18 [prefix where libltdl is installed (optional)]),
19 libltdl_prefix="$withval", libltdl_prefix="")
20 ltdl_save_CPPFLAGS="$CPPFLAGS"
21 ltdl_save_LDFLAGS="$LDFLAGS"
22 if test x$libltdl_prefix != x ; then
23 CPPFLAGS="-I$libltdl_prefix/include $CPPFLAGS"
24 LDFLAGS="-L$libltdl_prefix/lib -lltdl $LDFLAGS"
25 else
26 if test x"$LIBLTDL" = x ; then
27 LIBLTDL="-lltdl"
28 fi
29 CPPFLAGS="$LTDLINCL $CPPFLAGS"
30 LDFLAGS="$LIBLTDL $LDFLAGS"
31 fi
32
33 symbols_to_check=ifelse([$1], ,"ltdl_dlopen","$1")
34 ltdl_found=yes
35 AC_CHECK_HEADER([ltdl.h],
36 [
37 for sym in $symbols_to_check
38 do
39 AC_CHECK_DECL([$sym],
40 [AC_LINK_IFELSE(AC_LANG_CALL([], [$sym]),
41 [ltdl_found=yes],
42 [ltdl_found=no])],
43 [ltdl_found=no],
44 [AC_INCLUDES_DEFAULT
45 #include <ltdl.h>])
46 done
47 ],
48 [ltdl_found=no],
49 [AC_INCLUDES_DEFAULT]
50 )
51
52 if test x$libltdl_prefix != x ; then
53 LTDLINCL="-I$libltdl_prefix/include"
54 LIBLTDL="-L$libltdl_prefix/lib -lltdl"
55 else
56 if test x"$LIBLTDL" = x ; then
57 LIBLTDL="-lltdl"
58 fi
59 fi
60 CPPFLAGS="$ltdl_save_CPPFLAGS"
61 LDFLAGS="$ltdl_save_LDFLAGS"
62
63 AC_MSG_CHECKING(for libltdl with symbols $symbols_to_check)
64 if test $ltdl_found = yes; then
65 AC_MSG_RESULT(yes)
66 ifelse([$2], , :, [$2])
67 else
68 LTDLINCL=""
69 LIBLTDL=""
70 AC_MSG_RESULT(no)
71 ifelse([$3], , :, [$3])
72 fi
73 AC_SUBST(LTDLINCL)
74 AC_SUBST(LIBLTDL)
75])
diff --git a/m4/libtool.m4 b/m4/libtool.m4
new file mode 100644
index 000000000..6e86e5b43
--- /dev/null
+++ b/m4/libtool.m4
@@ -0,0 +1,7325 @@
1# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
2#
3# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
4# 2006, 2007, 2008 Free Software Foundation, Inc.
5# Written by Gordon Matzigkeit, 1996
6#
7# This file is free software; the Free Software Foundation gives
8# unlimited permission to copy and/or distribute it, with or without
9# modifications, as long as this notice is preserved.
10
11m4_define([_LT_COPYING], [dnl
12# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
13# 2006, 2007, 2008 Free Software Foundation, Inc.
14# Written by Gordon Matzigkeit, 1996
15#
16# This file is part of GNU Libtool.
17#
18# GNU Libtool is free software; you can redistribute it and/or
19# modify it under the terms of the GNU General Public License as
20# published by the Free Software Foundation; either version 2 of
21# the License, or (at your option) any later version.
22#
23# As a special exception to the GNU General Public License,
24# if you distribute this file as part of a program or library that
25# is built using GNU Libtool, you may include this file under the
26# same distribution terms that you use for the rest of that program.
27#
28# GNU Libtool is distributed in the hope that it will be useful,
29# but WITHOUT ANY WARRANTY; without even the implied warranty of
30# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
31# GNU General Public License for more details.
32#
33# You should have received a copy of the GNU General Public License
34# along with GNU Libtool; see the file COPYING. If not, a copy
35# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
36# obtained by writing to the Free Software Foundation, Inc.,
37# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
38])
39
40# serial 56 LT_INIT
41
42
43# LT_PREREQ(VERSION)
44# ------------------
45# Complain and exit if this libtool version is less that VERSION.
46m4_defun([LT_PREREQ],
47[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
48 [m4_default([$3],
49 [m4_fatal([Libtool version $1 or higher is required],
50 63)])],
51 [$2])])
52
53
54# _LT_CHECK_BUILDDIR
55# ------------------
56# Complain if the absolute build directory name contains unusual characters
57m4_defun([_LT_CHECK_BUILDDIR],
58[case `pwd` in
59 *\ * | *\ *)
60 AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
61esac
62])
63
64
65# LT_INIT([OPTIONS])
66# ------------------
67AC_DEFUN([LT_INIT],
68[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
69AC_BEFORE([$0], [LT_LANG])dnl
70AC_BEFORE([$0], [LT_OUTPUT])dnl
71AC_BEFORE([$0], [LTDL_INIT])dnl
72m4_require([_LT_CHECK_BUILDDIR])dnl
73
74dnl Autoconf doesn't catch unexpanded LT_ macros by default:
75m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
76m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
77dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
78dnl unless we require an AC_DEFUNed macro:
79AC_REQUIRE([LTOPTIONS_VERSION])dnl
80AC_REQUIRE([LTSUGAR_VERSION])dnl
81AC_REQUIRE([LTVERSION_VERSION])dnl
82AC_REQUIRE([LTOBSOLETE_VERSION])dnl
83m4_require([_LT_PROG_LTMAIN])dnl
84
85dnl Parse OPTIONS
86_LT_SET_OPTIONS([$0], [$1])
87
88# This can be used to rebuild libtool when needed
89LIBTOOL_DEPS="$ltmain"
90
91# Always use our own libtool.
92LIBTOOL='$(SHELL) $(top_builddir)/libtool'
93AC_SUBST(LIBTOOL)dnl
94
95_LT_SETUP
96
97# Only expand once:
98m4_define([LT_INIT])
99])# LT_INIT
100
101# Old names:
102AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
103AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
104dnl aclocal-1.4 backwards compatibility:
105dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
106dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
107
108
109# _LT_CC_BASENAME(CC)
110# -------------------
111# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
112m4_defun([_LT_CC_BASENAME],
113[for cc_temp in $1""; do
114 case $cc_temp in
115 compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
116 distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
117 \-*) ;;
118 *) break;;
119 esac
120done
121cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
122])
123
124
125# _LT_FILEUTILS_DEFAULTS
126# ----------------------
127# It is okay to use these file commands and assume they have been set
128# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
129m4_defun([_LT_FILEUTILS_DEFAULTS],
130[: ${CP="cp -f"}
131: ${MV="mv -f"}
132: ${RM="rm -f"}
133])# _LT_FILEUTILS_DEFAULTS
134
135
136# _LT_SETUP
137# ---------
138m4_defun([_LT_SETUP],
139[AC_REQUIRE([AC_CANONICAL_HOST])dnl
140AC_REQUIRE([AC_CANONICAL_BUILD])dnl
141_LT_DECL([], [host_alias], [0], [The host system])dnl
142_LT_DECL([], [host], [0])dnl
143_LT_DECL([], [host_os], [0])dnl
144dnl
145_LT_DECL([], [build_alias], [0], [The build system])dnl
146_LT_DECL([], [build], [0])dnl
147_LT_DECL([], [build_os], [0])dnl
148dnl
149AC_REQUIRE([AC_PROG_CC])dnl
150AC_REQUIRE([LT_PATH_LD])dnl
151AC_REQUIRE([LT_PATH_NM])dnl
152dnl
153AC_REQUIRE([AC_PROG_LN_S])dnl
154test -z "$LN_S" && LN_S="ln -s"
155_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
156dnl
157AC_REQUIRE([LT_CMD_MAX_LEN])dnl
158_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
159_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
160dnl
161m4_require([_LT_FILEUTILS_DEFAULTS])dnl
162m4_require([_LT_CHECK_SHELL_FEATURES])dnl
163m4_require([_LT_CMD_RELOAD])dnl
164m4_require([_LT_CHECK_MAGIC_METHOD])dnl
165m4_require([_LT_CMD_OLD_ARCHIVE])dnl
166m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
167
168_LT_CONFIG_LIBTOOL_INIT([
169# See if we are running on zsh, and set the options which allow our
170# commands through without removal of \ escapes INIT.
171if test -n "\${ZSH_VERSION+set}" ; then
172 setopt NO_GLOB_SUBST
173fi
174])
175if test -n "${ZSH_VERSION+set}" ; then
176 setopt NO_GLOB_SUBST
177fi
178
179_LT_CHECK_OBJDIR
180
181m4_require([_LT_TAG_COMPILER])dnl
182_LT_PROG_ECHO_BACKSLASH
183
184case $host_os in
185aix3*)
186 # AIX sometimes has problems with the GCC collect2 program. For some
187 # reason, if we set the COLLECT_NAMES environment variable, the problems
188 # vanish in a puff of smoke.
189 if test "X${COLLECT_NAMES+set}" != Xset; then
190 COLLECT_NAMES=
191 export COLLECT_NAMES
192 fi
193 ;;
194esac
195
196# Sed substitution that helps us do robust quoting. It backslashifies
197# metacharacters that are still active within double-quoted strings.
198sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
199
200# Same as above, but do not quote variable references.
201double_quote_subst='s/\([["`\\]]\)/\\\1/g'
202
203# Sed substitution to delay expansion of an escaped shell variable in a
204# double_quote_subst'ed string.
205delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
206
207# Sed substitution to delay expansion of an escaped single quote.
208delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
209
210# Sed substitution to avoid accidental globbing in evaled expressions
211no_glob_subst='s/\*/\\\*/g'
212
213# Global variables:
214ofile=libtool
215can_build_shared=yes
216
217# All known linkers require a `.a' archive for static linking (except MSVC,
218# which needs '.lib').
219libext=a
220
221with_gnu_ld="$lt_cv_prog_gnu_ld"
222
223old_CC="$CC"
224old_CFLAGS="$CFLAGS"
225
226# Set sane defaults for various variables
227test -z "$CC" && CC=cc
228test -z "$LTCC" && LTCC=$CC
229test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
230test -z "$LD" && LD=ld
231test -z "$ac_objext" && ac_objext=o
232
233_LT_CC_BASENAME([$compiler])
234
235# Only perform the check for file, if the check method requires it
236test -z "$MAGIC_CMD" && MAGIC_CMD=file
237case $deplibs_check_method in
238file_magic*)
239 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
240 _LT_PATH_MAGIC
241 fi
242 ;;
243esac
244
245# Use C for the default configuration in the libtool script
246LT_SUPPORTED_TAG([CC])
247_LT_LANG_C_CONFIG
248_LT_LANG_DEFAULT_CONFIG
249_LT_CONFIG_COMMANDS
250])# _LT_SETUP
251
252
253# _LT_PROG_LTMAIN
254# ---------------
255# Note that this code is called both from `configure', and `config.status'
256# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
257# `config.status' has no value for ac_aux_dir unless we are using Automake,
258# so we pass a copy along to make sure it has a sensible value anyway.
259m4_defun([_LT_PROG_LTMAIN],
260[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
261_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
262ltmain="$ac_aux_dir/ltmain.sh"
263])# _LT_PROG_LTMAIN
264
265
266## ------------------------------------- ##
267## Accumulate code for creating libtool. ##
268## ------------------------------------- ##
269
270# So that we can recreate a full libtool script including additional
271# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
272# in macros and then make a single call at the end using the `libtool'
273# label.
274
275
276# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
277# ----------------------------------------
278# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
279m4_define([_LT_CONFIG_LIBTOOL_INIT],
280[m4_ifval([$1],
281 [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
282 [$1
283])])])
284
285# Initialize.
286m4_define([_LT_OUTPUT_LIBTOOL_INIT])
287
288
289# _LT_CONFIG_LIBTOOL([COMMANDS])
290# ------------------------------
291# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
292m4_define([_LT_CONFIG_LIBTOOL],
293[m4_ifval([$1],
294 [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
295 [$1
296])])])
297
298# Initialize.
299m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
300
301
302# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
303# -----------------------------------------------------
304m4_defun([_LT_CONFIG_SAVE_COMMANDS],
305[_LT_CONFIG_LIBTOOL([$1])
306_LT_CONFIG_LIBTOOL_INIT([$2])
307])
308
309
310# _LT_FORMAT_COMMENT([COMMENT])
311# -----------------------------
312# Add leading comment marks to the start of each line, and a trailing
313# full-stop to the whole comment if one is not present already.
314m4_define([_LT_FORMAT_COMMENT],
315[m4_ifval([$1], [
316m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
317 [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
318)])
319
320
321
322## ------------------------ ##
323## FIXME: Eliminate VARNAME ##
324## ------------------------ ##
325
326
327# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
328# -------------------------------------------------------------------
329# CONFIGNAME is the name given to the value in the libtool script.
330# VARNAME is the (base) name used in the configure script.
331# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
332# VARNAME. Any other value will be used directly.
333m4_define([_LT_DECL],
334[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
335 [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
336 [m4_ifval([$1], [$1], [$2])])
337 lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
338 m4_ifval([$4],
339 [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
340 lt_dict_add_subkey([lt_decl_dict], [$2],
341 [tagged?], [m4_ifval([$5], [yes], [no])])])
342])
343
344
345# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
346# --------------------------------------------------------
347m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
348
349
350# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
351# ------------------------------------------------
352m4_define([lt_decl_tag_varnames],
353[_lt_decl_filter([tagged?], [yes], $@)])
354
355
356# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
357# ---------------------------------------------------------
358m4_define([_lt_decl_filter],
359[m4_case([$#],
360 [0], [m4_fatal([$0: too few arguments: $#])],
361 [1], [m4_fatal([$0: too few arguments: $#: $1])],
362 [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
363 [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
364 [lt_dict_filter([lt_decl_dict], $@)])[]dnl
365])
366
367
368# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
369# --------------------------------------------------
370m4_define([lt_decl_quote_varnames],
371[_lt_decl_filter([value], [1], $@)])
372
373
374# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
375# ---------------------------------------------------
376m4_define([lt_decl_dquote_varnames],
377[_lt_decl_filter([value], [2], $@)])
378
379
380# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
381# ---------------------------------------------------
382m4_define([lt_decl_varnames_tagged],
383[_$0(m4_quote(m4_default([$1], [[, ]])),
384 m4_quote(m4_if([$2], [],
385 m4_quote(lt_decl_tag_varnames),
386 m4_quote(m4_shift($@)))),
387 m4_split(m4_normalize(m4_quote(_LT_TAGS))))])
388m4_define([_lt_decl_varnames_tagged], [lt_combine([$1], [$2], [_], $3)])
389
390
391# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
392# ------------------------------------------------
393m4_define([lt_decl_all_varnames],
394[_$0(m4_quote(m4_default([$1], [[, ]])),
395 m4_if([$2], [],
396 m4_quote(lt_decl_varnames),
397 m4_quote(m4_shift($@))))[]dnl
398])
399m4_define([_lt_decl_all_varnames],
400[lt_join($@, lt_decl_varnames_tagged([$1],
401 lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
402])
403
404
405# _LT_CONFIG_STATUS_DECLARE([VARNAME])
406# ------------------------------------
407# Quote a variable value, and forward it to `config.status' so that its
408# declaration there will have the same value as in `configure'. VARNAME
409# must have a single quote delimited value for this to work.
410m4_define([_LT_CONFIG_STATUS_DECLARE],
411[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
412
413
414# _LT_CONFIG_STATUS_DECLARATIONS
415# ------------------------------
416# We delimit libtool config variables with single quotes, so when
417# we write them to config.status, we have to be sure to quote all
418# embedded single quotes properly. In configure, this macro expands
419# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
420#
421# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
422m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
423[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
424 [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
425
426
427# _LT_LIBTOOL_TAGS
428# ----------------
429# Output comment and list of tags supported by the script
430m4_defun([_LT_LIBTOOL_TAGS],
431[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
432available_tags="_LT_TAGS"dnl
433])
434
435
436# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
437# -----------------------------------
438# Extract the dictionary values for VARNAME (optionally with TAG) and
439# expand to a commented shell variable setting:
440#
441# # Some comment about what VAR is for.
442# visible_name=$lt_internal_name
443m4_define([_LT_LIBTOOL_DECLARE],
444[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
445 [description])))[]dnl
446m4_pushdef([_libtool_name],
447 m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
448m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
449 [0], [_libtool_name=[$]$1],
450 [1], [_libtool_name=$lt_[]$1],
451 [2], [_libtool_name=$lt_[]$1],
452 [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
453m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
454])
455
456
457# _LT_LIBTOOL_CONFIG_VARS
458# -----------------------
459# Produce commented declarations of non-tagged libtool config variables
460# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
461# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
462# section) are produced by _LT_LIBTOOL_TAG_VARS.
463m4_defun([_LT_LIBTOOL_CONFIG_VARS],
464[m4_foreach([_lt_var],
465 m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
466 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
467
468
469# _LT_LIBTOOL_TAG_VARS(TAG)
470# -------------------------
471m4_define([_LT_LIBTOOL_TAG_VARS],
472[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
473 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
474
475
476# _LT_TAGVAR(VARNAME, [TAGNAME])
477# ------------------------------
478m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
479
480
481# _LT_CONFIG_COMMANDS
482# -------------------
483# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
484# variables for single and double quote escaping we saved from calls
485# to _LT_DECL, we can put quote escaped variables declarations
486# into `config.status', and then the shell code to quote escape them in
487# for loops in `config.status'. Finally, any additional code accumulated
488# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
489m4_defun([_LT_CONFIG_COMMANDS],
490[AC_PROVIDE_IFELSE([LT_OUTPUT],
491 dnl If the libtool generation code has been placed in $CONFIG_LT,
492 dnl instead of duplicating it all over again into config.status,
493 dnl then we will have config.status run $CONFIG_LT later, so it
494 dnl needs to know what name is stored there:
495 [AC_CONFIG_COMMANDS([libtool],
496 [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
497 dnl If the libtool generation code is destined for config.status,
498 dnl expand the accumulated commands and init code now:
499 [AC_CONFIG_COMMANDS([libtool],
500 [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
501])#_LT_CONFIG_COMMANDS
502
503
504# Initialize.
505m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
506[
507
508# The HP-UX ksh and POSIX shell print the target directory to stdout
509# if CDPATH is set.
510(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
511
512sed_quote_subst='$sed_quote_subst'
513double_quote_subst='$double_quote_subst'
514delay_variable_subst='$delay_variable_subst'
515_LT_CONFIG_STATUS_DECLARATIONS
516LTCC='$LTCC'
517LTCFLAGS='$LTCFLAGS'
518compiler='$compiler_DEFAULT'
519
520# Quote evaled strings.
521for var in lt_decl_all_varnames([[ \
522]], lt_decl_quote_varnames); do
523 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
524 *[[\\\\\\\`\\"\\\$]]*)
525 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
526 ;;
527 *)
528 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
529 ;;
530 esac
531done
532
533# Double-quote double-evaled strings.
534for var in lt_decl_all_varnames([[ \
535]], lt_decl_dquote_varnames); do
536 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
537 *[[\\\\\\\`\\"\\\$]]*)
538 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
539 ;;
540 *)
541 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
542 ;;
543 esac
544done
545
546# Fix-up fallback echo if it was mangled by the above quoting rules.
547case \$lt_ECHO in
548*'\\\[$]0 --fallback-echo"')dnl "
549 lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
550 ;;
551esac
552
553_LT_OUTPUT_LIBTOOL_INIT
554])
555
556
557# LT_OUTPUT
558# ---------
559# This macro allows early generation of the libtool script (before
560# AC_OUTPUT is called), incase it is used in configure for compilation
561# tests.
562AC_DEFUN([LT_OUTPUT],
563[: ${CONFIG_LT=./config.lt}
564AC_MSG_NOTICE([creating $CONFIG_LT])
565cat >"$CONFIG_LT" <<_LTEOF
566#! $SHELL
567# Generated by $as_me.
568# Run this file to recreate a libtool stub with the current configuration.
569
570lt_cl_silent=false
571SHELL=\${CONFIG_SHELL-$SHELL}
572_LTEOF
573
574cat >>"$CONFIG_LT" <<\_LTEOF
575AS_SHELL_SANITIZE
576_AS_PREPARE
577
578exec AS_MESSAGE_FD>&1
579exec AS_MESSAGE_LOG_FD>>config.log
580{
581 echo
582 AS_BOX([Running $as_me.])
583} >&AS_MESSAGE_LOG_FD
584
585lt_cl_help="\
586\`$as_me' creates a local libtool stub from the current configuration,
587for use in further configure time tests before the real libtool is
588generated.
589
590Usage: $[0] [[OPTIONS]]
591
592 -h, --help print this help, then exit
593 -V, --version print version number, then exit
594 -q, --quiet do not print progress messages
595 -d, --debug don't remove temporary files
596
597Report bugs to <bug-libtool@gnu.org>."
598
599lt_cl_version="\
600m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
601m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
602configured by $[0], generated by m4_PACKAGE_STRING.
603
604Copyright (C) 2008 Free Software Foundation, Inc.
605This config.lt script is free software; the Free Software Foundation
606gives unlimited permision to copy, distribute and modify it."
607
608while test $[#] != 0
609do
610 case $[1] in
611 --version | --v* | -V )
612 echo "$lt_cl_version"; exit 0 ;;
613 --help | --h* | -h )
614 echo "$lt_cl_help"; exit 0 ;;
615 --debug | --d* | -d )
616 debug=: ;;
617 --quiet | --q* | --silent | --s* | -q )
618 lt_cl_silent=: ;;
619
620 -*) AC_MSG_ERROR([unrecognized option: $[1]
621Try \`$[0] --help' for more information.]) ;;
622
623 *) AC_MSG_ERROR([unrecognized argument: $[1]
624Try \`$[0] --help' for more information.]) ;;
625 esac
626 shift
627done
628
629if $lt_cl_silent; then
630 exec AS_MESSAGE_FD>/dev/null
631fi
632_LTEOF
633
634cat >>"$CONFIG_LT" <<_LTEOF
635_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
636_LTEOF
637
638cat >>"$CONFIG_LT" <<\_LTEOF
639AC_MSG_NOTICE([creating $ofile])
640_LT_OUTPUT_LIBTOOL_COMMANDS
641AS_EXIT(0)
642_LTEOF
643chmod +x "$CONFIG_LT"
644
645# configure is writing to config.log, but config.lt does its own redirection,
646# appending to config.log, which fails on DOS, as config.log is still kept
647# open by configure. Here we exec the FD to /dev/null, effectively closing
648# config.log, so it can be properly (re)opened and appended to by config.lt.
649if test "$no_create" != yes; then
650 lt_cl_success=:
651 test "$silent" = yes &&
652 lt_config_lt_args="$lt_config_lt_args --quiet"
653 exec AS_MESSAGE_LOG_FD>/dev/null
654 $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
655 exec AS_MESSAGE_LOG_FD>>config.log
656 $lt_cl_success || AS_EXIT(1)
657fi
658])# LT_OUTPUT
659
660
661# _LT_CONFIG(TAG)
662# ---------------
663# If TAG is the built-in tag, create an initial libtool script with a
664# default configuration from the untagged config vars. Otherwise add code
665# to config.status for appending the configuration named by TAG from the
666# matching tagged config vars.
667m4_defun([_LT_CONFIG],
668[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
669_LT_CONFIG_SAVE_COMMANDS([
670 m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
671 m4_if(_LT_TAG, [C], [
672 # See if we are running on zsh, and set the options which allow our
673 # commands through without removal of \ escapes.
674 if test -n "${ZSH_VERSION+set}" ; then
675 setopt NO_GLOB_SUBST
676 fi
677
678 cfgfile="${ofile}T"
679 trap "$RM \"$cfgfile\"; exit 1" 1 2 15
680 $RM "$cfgfile"
681
682 cat <<_LT_EOF >> "$cfgfile"
683#! $SHELL
684
685# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
686# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
687# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
688# NOTE: Changes made to this file will be lost: look at ltmain.sh.
689#
690_LT_COPYING
691_LT_LIBTOOL_TAGS
692
693# ### BEGIN LIBTOOL CONFIG
694_LT_LIBTOOL_CONFIG_VARS
695_LT_LIBTOOL_TAG_VARS
696# ### END LIBTOOL CONFIG
697
698_LT_EOF
699
700 case $host_os in
701 aix3*)
702 cat <<\_LT_EOF >> "$cfgfile"
703# AIX sometimes has problems with the GCC collect2 program. For some
704# reason, if we set the COLLECT_NAMES environment variable, the problems
705# vanish in a puff of smoke.
706if test "X${COLLECT_NAMES+set}" != Xset; then
707 COLLECT_NAMES=
708 export COLLECT_NAMES
709fi
710_LT_EOF
711 ;;
712 esac
713
714 _LT_PROG_LTMAIN
715
716 # We use sed instead of cat because bash on DJGPP gets confused if
717 # if finds mixed CR/LF and LF-only lines. Since sed operates in
718 # text mode, it properly converts lines to CR/LF. This bash problem
719 # is reportedly fixed, but why not run on old versions too?
720 sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
721 || (rm -f "$cfgfile"; exit 1)
722
723 _LT_PROG_XSI_SHELLFNS
724
725 sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
726 || (rm -f "$cfgfile"; exit 1)
727
728 mv -f "$cfgfile" "$ofile" ||
729 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
730 chmod +x "$ofile"
731],
732[cat <<_LT_EOF >> "$ofile"
733
734dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
735dnl in a comment (ie after a #).
736# ### BEGIN LIBTOOL TAG CONFIG: $1
737_LT_LIBTOOL_TAG_VARS(_LT_TAG)
738# ### END LIBTOOL TAG CONFIG: $1
739_LT_EOF
740])dnl /m4_if
741],
742[m4_if([$1], [], [
743 PACKAGE='$PACKAGE'
744 VERSION='$VERSION'
745 TIMESTAMP='$TIMESTAMP'
746 RM='$RM'
747 ofile='$ofile'], [])
748])dnl /_LT_CONFIG_SAVE_COMMANDS
749])# _LT_CONFIG
750
751
752# LT_SUPPORTED_TAG(TAG)
753# ---------------------
754# Trace this macro to discover what tags are supported by the libtool
755# --tag option, using:
756# autoconf --trace 'LT_SUPPORTED_TAG:$1'
757AC_DEFUN([LT_SUPPORTED_TAG], [])
758
759
760# C support is built-in for now
761m4_define([_LT_LANG_C_enabled], [])
762m4_define([_LT_TAGS], [])
763
764
765# LT_LANG(LANG)
766# -------------
767# Enable libtool support for the given language if not already enabled.
768AC_DEFUN([LT_LANG],
769[AC_BEFORE([$0], [LT_OUTPUT])dnl
770m4_case([$1],
771 [C], [_LT_LANG(C)],
772 [C++], [_LT_LANG(CXX)],
773 [Java], [_LT_LANG(GCJ)],
774 [Fortran 77], [_LT_LANG(F77)],
775 [Fortran], [_LT_LANG(FC)],
776 [Windows Resource], [_LT_LANG(RC)],
777 [m4_ifdef([_LT_LANG_]$1[_CONFIG],
778 [_LT_LANG($1)],
779 [m4_fatal([$0: unsupported language: "$1"])])])dnl
780])# LT_LANG
781
782
783# _LT_LANG(LANGNAME)
784# ------------------
785m4_defun([_LT_LANG],
786[m4_ifdef([_LT_LANG_]$1[_enabled], [],
787 [LT_SUPPORTED_TAG([$1])dnl
788 m4_append([_LT_TAGS], [$1 ])dnl
789 m4_define([_LT_LANG_]$1[_enabled], [])dnl
790 _LT_LANG_$1_CONFIG($1)])dnl
791])# _LT_LANG
792
793
794# _LT_LANG_DEFAULT_CONFIG
795# -----------------------
796m4_defun([_LT_LANG_DEFAULT_CONFIG],
797[AC_PROVIDE_IFELSE([AC_PROG_CXX],
798 [LT_LANG(CXX)],
799 [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
800
801AC_PROVIDE_IFELSE([AC_PROG_F77],
802 [LT_LANG(F77)],
803 [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
804
805AC_PROVIDE_IFELSE([AC_PROG_FC],
806 [LT_LANG(FC)],
807 [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
808
809dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
810dnl pulling things in needlessly.
811AC_PROVIDE_IFELSE([AC_PROG_GCJ],
812 [LT_LANG(GCJ)],
813 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
814 [LT_LANG(GCJ)],
815 [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
816 [LT_LANG(GCJ)],
817 [m4_ifdef([AC_PROG_GCJ],
818 [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
819 m4_ifdef([A][M_PROG_GCJ],
820 [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
821 m4_ifdef([LT_PROG_GCJ],
822 [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
823
824AC_PROVIDE_IFELSE([LT_PROG_RC],
825 [LT_LANG(RC)],
826 [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
827])# _LT_LANG_DEFAULT_CONFIG
828
829# Obsolete macros:
830AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
831AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
832AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
833AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
834dnl aclocal-1.4 backwards compatibility:
835dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
836dnl AC_DEFUN([AC_LIBTOOL_F77], [])
837dnl AC_DEFUN([AC_LIBTOOL_FC], [])
838dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
839
840
841# _LT_TAG_COMPILER
842# ----------------
843m4_defun([_LT_TAG_COMPILER],
844[AC_REQUIRE([AC_PROG_CC])dnl
845
846_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
847_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
848_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
849_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
850
851# If no C compiler was specified, use CC.
852LTCC=${LTCC-"$CC"}
853
854# If no C compiler flags were specified, use CFLAGS.
855LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
856
857# Allow CC to be a program name with arguments.
858compiler=$CC
859])# _LT_TAG_COMPILER
860
861
862# _LT_COMPILER_BOILERPLATE
863# ------------------------
864# Check for compiler boilerplate output or warnings with
865# the simple compiler test code.
866m4_defun([_LT_COMPILER_BOILERPLATE],
867[m4_require([_LT_DECL_SED])dnl
868ac_outfile=conftest.$ac_objext
869echo "$lt_simple_compile_test_code" >conftest.$ac_ext
870eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
871_lt_compiler_boilerplate=`cat conftest.err`
872$RM conftest*
873])# _LT_COMPILER_BOILERPLATE
874
875
876# _LT_LINKER_BOILERPLATE
877# ----------------------
878# Check for linker boilerplate output or warnings with
879# the simple link test code.
880m4_defun([_LT_LINKER_BOILERPLATE],
881[m4_require([_LT_DECL_SED])dnl
882ac_outfile=conftest.$ac_objext
883echo "$lt_simple_link_test_code" >conftest.$ac_ext
884eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
885_lt_linker_boilerplate=`cat conftest.err`
886$RM -r conftest*
887])# _LT_LINKER_BOILERPLATE
888
889# _LT_REQUIRED_DARWIN_CHECKS
890# -------------------------
891m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
892 case $host_os in
893 rhapsody* | darwin*)
894 AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
895 AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
896 AC_CHECK_TOOL([LIPO], [lipo], [:])
897 AC_CHECK_TOOL([OTOOL], [otool], [:])
898 AC_CHECK_TOOL([OTOOL64], [otool64], [:])
899 _LT_DECL([], [DSYMUTIL], [1],
900 [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
901 _LT_DECL([], [NMEDIT], [1],
902 [Tool to change global to local symbols on Mac OS X])
903 _LT_DECL([], [LIPO], [1],
904 [Tool to manipulate fat objects and archives on Mac OS X])
905 _LT_DECL([], [OTOOL], [1],
906 [ldd/readelf like tool for Mach-O binaries on Mac OS X])
907 _LT_DECL([], [OTOOL64], [1],
908 [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
909
910 AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
911 [lt_cv_apple_cc_single_mod=no
912 if test -z "${LT_MULTI_MODULE}"; then
913 # By default we will add the -single_module flag. You can override
914 # by either setting the environment variable LT_MULTI_MODULE
915 # non-empty at configure time, or by adding -multi_module to the
916 # link flags.
917 rm -rf libconftest.dylib*
918 echo "int foo(void){return 1;}" > conftest.c
919 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
920-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
921 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
922 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
923 _lt_result=$?
924 if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
925 lt_cv_apple_cc_single_mod=yes
926 else
927 cat conftest.err >&AS_MESSAGE_LOG_FD
928 fi
929 rm -rf libconftest.dylib*
930 rm -f conftest.*
931 fi])
932 AC_CACHE_CHECK([for -exported_symbols_list linker flag],
933 [lt_cv_ld_exported_symbols_list],
934 [lt_cv_ld_exported_symbols_list=no
935 save_LDFLAGS=$LDFLAGS
936 echo "_main" > conftest.sym
937 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
938 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
939 [lt_cv_ld_exported_symbols_list=yes],
940 [lt_cv_ld_exported_symbols_list=no])
941 LDFLAGS="$save_LDFLAGS"
942 ])
943 case $host_os in
944 rhapsody* | darwin1.[[012]])
945 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
946 darwin1.*)
947 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
948 darwin*) # darwin 5.x on
949 # if running on 10.5 or later, the deployment target defaults
950 # to the OS version, if on x86, and 10.4, the deployment
951 # target defaults to 10.4. Don't you love it?
952 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
953 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
954 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
955 10.[[012]]*)
956 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
957 10.*)
958 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
959 esac
960 ;;
961 esac
962 if test "$lt_cv_apple_cc_single_mod" = "yes"; then
963 _lt_dar_single_mod='$single_module'
964 fi
965 if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
966 _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
967 else
968 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
969 fi
970 if test "$DSYMUTIL" != ":"; then
971 _lt_dsymutil='~$DSYMUTIL $lib || :'
972 else
973 _lt_dsymutil=
974 fi
975 ;;
976 esac
977])
978
979
980# _LT_DARWIN_LINKER_FEATURES
981# --------------------------
982# Checks for linker and compiler features on darwin
983m4_defun([_LT_DARWIN_LINKER_FEATURES],
984[
985 m4_require([_LT_REQUIRED_DARWIN_CHECKS])
986 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
987 _LT_TAGVAR(hardcode_direct, $1)=no
988 _LT_TAGVAR(hardcode_automatic, $1)=yes
989 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
990 _LT_TAGVAR(whole_archive_flag_spec, $1)=''
991 _LT_TAGVAR(link_all_deplibs, $1)=yes
992 _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
993 if test "$GCC" = "yes"; then
994 output_verbose_link_cmd=echo
995 _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}"
996 _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
997 _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}"
998 _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}"
999 m4_if([$1], [CXX],
1000[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
1001 _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}"
1002 _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}"
1003 fi
1004],[])
1005 else
1006 _LT_TAGVAR(ld_shlibs, $1)=no
1007 fi
1008])
1009
1010# _LT_SYS_MODULE_PATH_AIX
1011# -----------------------
1012# Links a minimal program and checks the executable
1013# for the system default hardcoded library path. In most cases,
1014# this is /usr/lib:/lib, but when the MPI compilers are used
1015# the location of the communication and MPI libs are included too.
1016# If we don't find anything, use the default library path according
1017# to the aix ld manual.
1018m4_defun([_LT_SYS_MODULE_PATH_AIX],
1019[m4_require([_LT_DECL_SED])dnl
1020AC_LINK_IFELSE(AC_LANG_PROGRAM,[
1021lt_aix_libpath_sed='
1022 /Import File Strings/,/^$/ {
1023 /^0/ {
1024 s/^0 *\(.*\)$/\1/
1025 p
1026 }
1027 }'
1028aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1029# Check for a 64-bit object if we didn't find anything.
1030if test -z "$aix_libpath"; then
1031 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1032fi],[])
1033if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
1034])# _LT_SYS_MODULE_PATH_AIX
1035
1036
1037# _LT_SHELL_INIT(ARG)
1038# -------------------
1039m4_define([_LT_SHELL_INIT],
1040[ifdef([AC_DIVERSION_NOTICE],
1041 [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
1042 [AC_DIVERT_PUSH(NOTICE)])
1043$1
1044AC_DIVERT_POP
1045])# _LT_SHELL_INIT
1046
1047
1048# _LT_PROG_ECHO_BACKSLASH
1049# -----------------------
1050# Add some code to the start of the generated configure script which
1051# will find an echo command which doesn't interpret backslashes.
1052m4_defun([_LT_PROG_ECHO_BACKSLASH],
1053[_LT_SHELL_INIT([
1054# Check that we are running under the correct shell.
1055SHELL=${CONFIG_SHELL-/bin/sh}
1056
1057case X$lt_ECHO in
1058X*--fallback-echo)
1059 # Remove one level of quotation (which was required for Make).
1060 ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
1061 ;;
1062esac
1063
1064ECHO=${lt_ECHO-echo}
1065if test "X[$]1" = X--no-reexec; then
1066 # Discard the --no-reexec flag, and continue.
1067 shift
1068elif test "X[$]1" = X--fallback-echo; then
1069 # Avoid inline document here, it may be left over
1070 :
1071elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
1072 # Yippee, $ECHO works!
1073 :
1074else
1075 # Restart under the correct shell.
1076 exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
1077fi
1078
1079if test "X[$]1" = X--fallback-echo; then
1080 # used as fallback echo
1081 shift
1082 cat <<_LT_EOF
1083[$]*
1084_LT_EOF
1085 exit 0
1086fi
1087
1088# The HP-UX ksh and POSIX shell print the target directory to stdout
1089# if CDPATH is set.
1090(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
1091
1092if test -z "$lt_ECHO"; then
1093 if test "X${echo_test_string+set}" != Xset; then
1094 # find a string as large as possible, as long as the shell can cope with it
1095 for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
1096 # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
1097 if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
1098 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
1099 then
1100 break
1101 fi
1102 done
1103 fi
1104
1105 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1106 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1107 test "X$echo_testing_string" = "X$echo_test_string"; then
1108 :
1109 else
1110 # The Solaris, AIX, and Digital Unix default echo programs unquote
1111 # backslashes. This makes it impossible to quote backslashes using
1112 # echo "$something" | sed 's/\\/\\\\/g'
1113 #
1114 # So, first we look for a working echo in the user's PATH.
1115
1116 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
1117 for dir in $PATH /usr/ucb; do
1118 IFS="$lt_save_ifs"
1119 if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
1120 test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
1121 echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
1122 test "X$echo_testing_string" = "X$echo_test_string"; then
1123 ECHO="$dir/echo"
1124 break
1125 fi
1126 done
1127 IFS="$lt_save_ifs"
1128
1129 if test "X$ECHO" = Xecho; then
1130 # We didn't find a better echo, so look for alternatives.
1131 if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
1132 echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
1133 test "X$echo_testing_string" = "X$echo_test_string"; then
1134 # This shell has a builtin print -r that does the trick.
1135 ECHO='print -r'
1136 elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
1137 test "X$CONFIG_SHELL" != X/bin/ksh; then
1138 # If we have ksh, try running configure again with it.
1139 ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
1140 export ORIGINAL_CONFIG_SHELL
1141 CONFIG_SHELL=/bin/ksh
1142 export CONFIG_SHELL
1143 exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
1144 else
1145 # Try using printf.
1146 ECHO='printf %s\n'
1147 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1148 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1149 test "X$echo_testing_string" = "X$echo_test_string"; then
1150 # Cool, printf works
1151 :
1152 elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1153 test "X$echo_testing_string" = 'X\t' &&
1154 echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1155 test "X$echo_testing_string" = "X$echo_test_string"; then
1156 CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
1157 export CONFIG_SHELL
1158 SHELL="$CONFIG_SHELL"
1159 export SHELL
1160 ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1161 elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1162 test "X$echo_testing_string" = 'X\t' &&
1163 echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1164 test "X$echo_testing_string" = "X$echo_test_string"; then
1165 ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1166 else
1167 # maybe with a smaller string...
1168 prev=:
1169
1170 for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
1171 if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
1172 then
1173 break
1174 fi
1175 prev="$cmd"
1176 done
1177
1178 if test "$prev" != 'sed 50q "[$]0"'; then
1179 echo_test_string=`eval $prev`
1180 export echo_test_string
1181 exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
1182 else
1183 # Oops. We lost completely, so just stick with echo.
1184 ECHO=echo
1185 fi
1186 fi
1187 fi
1188 fi
1189 fi
1190fi
1191
1192# Copy echo and quote the copy suitably for passing to libtool from
1193# the Makefile, instead of quoting the original, which is used later.
1194lt_ECHO=$ECHO
1195if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
1196 lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
1197fi
1198
1199AC_SUBST(lt_ECHO)
1200])
1201_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1202_LT_DECL([], [ECHO], [1],
1203 [An echo program that does not interpret backslashes])
1204])# _LT_PROG_ECHO_BACKSLASH
1205
1206
1207# _LT_ENABLE_LOCK
1208# ---------------
1209m4_defun([_LT_ENABLE_LOCK],
1210[AC_ARG_ENABLE([libtool-lock],
1211 [AS_HELP_STRING([--disable-libtool-lock],
1212 [avoid locking (might break parallel builds)])])
1213test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1214
1215# Some flags need to be propagated to the compiler or linker for good
1216# libtool support.
1217case $host in
1218ia64-*-hpux*)
1219 # Find out which ABI we are using.
1220 echo 'int i;' > conftest.$ac_ext
1221 if AC_TRY_EVAL(ac_compile); then
1222 case `/usr/bin/file conftest.$ac_objext` in
1223 *ELF-32*)
1224 HPUX_IA64_MODE="32"
1225 ;;
1226 *ELF-64*)
1227 HPUX_IA64_MODE="64"
1228 ;;
1229 esac
1230 fi
1231 rm -rf conftest*
1232 ;;
1233*-*-irix6*)
1234 # Find out which ABI we are using.
1235 echo '[#]line __oline__ "configure"' > conftest.$ac_ext
1236 if AC_TRY_EVAL(ac_compile); then
1237 if test "$lt_cv_prog_gnu_ld" = yes; then
1238 case `/usr/bin/file conftest.$ac_objext` in
1239 *32-bit*)
1240 LD="${LD-ld} -melf32bsmip"
1241 ;;
1242 *N32*)
1243 LD="${LD-ld} -melf32bmipn32"
1244 ;;
1245 *64-bit*)
1246 LD="${LD-ld} -melf64bmip"
1247 ;;
1248 esac
1249 else
1250 case `/usr/bin/file conftest.$ac_objext` in
1251 *32-bit*)
1252 LD="${LD-ld} -32"
1253 ;;
1254 *N32*)
1255 LD="${LD-ld} -n32"
1256 ;;
1257 *64-bit*)
1258 LD="${LD-ld} -64"
1259 ;;
1260 esac
1261 fi
1262 fi
1263 rm -rf conftest*
1264 ;;
1265
1266x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
1267s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1268 # Find out which ABI we are using.
1269 echo 'int i;' > conftest.$ac_ext
1270 if AC_TRY_EVAL(ac_compile); then
1271 case `/usr/bin/file conftest.o` in
1272 *32-bit*)
1273 case $host in
1274 x86_64-*kfreebsd*-gnu)
1275 LD="${LD-ld} -m elf_i386_fbsd"
1276 ;;
1277 x86_64-*linux*)
1278 LD="${LD-ld} -m elf_i386"
1279 ;;
1280 ppc64-*linux*|powerpc64-*linux*)
1281 LD="${LD-ld} -m elf32ppclinux"
1282 ;;
1283 s390x-*linux*)
1284 LD="${LD-ld} -m elf_s390"
1285 ;;
1286 sparc64-*linux*)
1287 LD="${LD-ld} -m elf32_sparc"
1288 ;;
1289 esac
1290 ;;
1291 *64-bit*)
1292 case $host in
1293 x86_64-*kfreebsd*-gnu)
1294 LD="${LD-ld} -m elf_x86_64_fbsd"
1295 ;;
1296 x86_64-*linux*)
1297 LD="${LD-ld} -m elf_x86_64"
1298 ;;
1299 ppc*-*linux*|powerpc*-*linux*)
1300 LD="${LD-ld} -m elf64ppc"
1301 ;;
1302 s390*-*linux*|s390*-*tpf*)
1303 LD="${LD-ld} -m elf64_s390"
1304 ;;
1305 sparc*-*linux*)
1306 LD="${LD-ld} -m elf64_sparc"
1307 ;;
1308 esac
1309 ;;
1310 esac
1311 fi
1312 rm -rf conftest*
1313 ;;
1314
1315*-*-sco3.2v5*)
1316 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1317 SAVE_CFLAGS="$CFLAGS"
1318 CFLAGS="$CFLAGS -belf"
1319 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1320 [AC_LANG_PUSH(C)
1321 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1322 AC_LANG_POP])
1323 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
1324 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1325 CFLAGS="$SAVE_CFLAGS"
1326 fi
1327 ;;
1328sparc*-*solaris*)
1329 # Find out which ABI we are using.
1330 echo 'int i;' > conftest.$ac_ext
1331 if AC_TRY_EVAL(ac_compile); then
1332 case `/usr/bin/file conftest.o` in
1333 *64-bit*)
1334 case $lt_cv_prog_gnu_ld in
1335 yes*) LD="${LD-ld} -m elf64_sparc" ;;
1336 *)
1337 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1338 LD="${LD-ld} -64"
1339 fi
1340 ;;
1341 esac
1342 ;;
1343 esac
1344 fi
1345 rm -rf conftest*
1346 ;;
1347esac
1348
1349need_locks="$enable_libtool_lock"
1350])# _LT_ENABLE_LOCK
1351
1352
1353# _LT_CMD_OLD_ARCHIVE
1354# -------------------
1355m4_defun([_LT_CMD_OLD_ARCHIVE],
1356[AC_CHECK_TOOL(AR, ar, false)
1357test -z "$AR" && AR=ar
1358test -z "$AR_FLAGS" && AR_FLAGS=cru
1359_LT_DECL([], [AR], [1], [The archiver])
1360_LT_DECL([], [AR_FLAGS], [1])
1361
1362AC_CHECK_TOOL(STRIP, strip, :)
1363test -z "$STRIP" && STRIP=:
1364_LT_DECL([], [STRIP], [1], [A symbol stripping program])
1365
1366AC_CHECK_TOOL(RANLIB, ranlib, :)
1367test -z "$RANLIB" && RANLIB=:
1368_LT_DECL([], [RANLIB], [1],
1369 [Commands used to install an old-style archive])
1370
1371# Determine commands to create old-style static archives.
1372old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1373old_postinstall_cmds='chmod 644 $oldlib'
1374old_postuninstall_cmds=
1375
1376if test -n "$RANLIB"; then
1377 case $host_os in
1378 openbsd*)
1379 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
1380 ;;
1381 *)
1382 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
1383 ;;
1384 esac
1385 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
1386fi
1387_LT_DECL([], [old_postinstall_cmds], [2])
1388_LT_DECL([], [old_postuninstall_cmds], [2])
1389_LT_TAGDECL([], [old_archive_cmds], [2],
1390 [Commands used to build an old-style archive])
1391])# _LT_CMD_OLD_ARCHIVE
1392
1393
1394# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1395# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1396# ----------------------------------------------------------------
1397# Check whether the given compiler option works
1398AC_DEFUN([_LT_COMPILER_OPTION],
1399[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1400m4_require([_LT_DECL_SED])dnl
1401AC_CACHE_CHECK([$1], [$2],
1402 [$2=no
1403 m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1404 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1405 lt_compiler_flag="$3"
1406 # Insert the option either (1) after the last *FLAGS variable, or
1407 # (2) before a word containing "conftest.", or (3) at the end.
1408 # Note that $ac_compile itself does not contain backslashes and begins
1409 # with a dollar sign (not a hyphen), so the echo should work correctly.
1410 # The option is referenced via a variable to avoid confusing sed.
1411 lt_compile=`echo "$ac_compile" | $SED \
1412 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1413 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1414 -e 's:$: $lt_compiler_flag:'`
1415 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1416 (eval "$lt_compile" 2>conftest.err)
1417 ac_status=$?
1418 cat conftest.err >&AS_MESSAGE_LOG_FD
1419 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1420 if (exit $ac_status) && test -s "$ac_outfile"; then
1421 # The compiler can only warn and ignore the option if not recognized
1422 # So say no if there are warnings other than the usual output.
1423 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
1424 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1425 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1426 $2=yes
1427 fi
1428 fi
1429 $RM conftest*
1430])
1431
1432if test x"[$]$2" = xyes; then
1433 m4_if([$5], , :, [$5])
1434else
1435 m4_if([$6], , :, [$6])
1436fi
1437])# _LT_COMPILER_OPTION
1438
1439# Old name:
1440AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1441dnl aclocal-1.4 backwards compatibility:
1442dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1443
1444
1445# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1446# [ACTION-SUCCESS], [ACTION-FAILURE])
1447# ----------------------------------------------------
1448# Check whether the given linker option works
1449AC_DEFUN([_LT_LINKER_OPTION],
1450[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1451m4_require([_LT_DECL_SED])dnl
1452AC_CACHE_CHECK([$1], [$2],
1453 [$2=no
1454 save_LDFLAGS="$LDFLAGS"
1455 LDFLAGS="$LDFLAGS $3"
1456 echo "$lt_simple_link_test_code" > conftest.$ac_ext
1457 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1458 # The linker can only warn and ignore the option if not recognized
1459 # So say no if there are warnings
1460 if test -s conftest.err; then
1461 # Append any errors to the config.log.
1462 cat conftest.err 1>&AS_MESSAGE_LOG_FD
1463 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
1464 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1465 if diff conftest.exp conftest.er2 >/dev/null; then
1466 $2=yes
1467 fi
1468 else
1469 $2=yes
1470 fi
1471 fi
1472 $RM -r conftest*
1473 LDFLAGS="$save_LDFLAGS"
1474])
1475
1476if test x"[$]$2" = xyes; then
1477 m4_if([$4], , :, [$4])
1478else
1479 m4_if([$5], , :, [$5])
1480fi
1481])# _LT_LINKER_OPTION
1482
1483# Old name:
1484AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1485dnl aclocal-1.4 backwards compatibility:
1486dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1487
1488
1489# LT_CMD_MAX_LEN
1490#---------------
1491AC_DEFUN([LT_CMD_MAX_LEN],
1492[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1493# find the maximum length of command line arguments
1494AC_MSG_CHECKING([the maximum length of command line arguments])
1495AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1496 i=0
1497 teststring="ABCD"
1498
1499 case $build_os in
1500 msdosdjgpp*)
1501 # On DJGPP, this test can blow up pretty badly due to problems in libc
1502 # (any single argument exceeding 2000 bytes causes a buffer overrun
1503 # during glob expansion). Even if it were fixed, the result of this
1504 # check would be larger than it should be.
1505 lt_cv_sys_max_cmd_len=12288; # 12K is about right
1506 ;;
1507
1508 gnu*)
1509 # Under GNU Hurd, this test is not required because there is
1510 # no limit to the length of command line arguments.
1511 # Libtool will interpret -1 as no limit whatsoever
1512 lt_cv_sys_max_cmd_len=-1;
1513 ;;
1514
1515 cygwin* | mingw*)
1516 # On Win9x/ME, this test blows up -- it succeeds, but takes
1517 # about 5 minutes as the teststring grows exponentially.
1518 # Worse, since 9x/ME are not pre-emptively multitasking,
1519 # you end up with a "frozen" computer, even though with patience
1520 # the test eventually succeeds (with a max line length of 256k).
1521 # Instead, let's just punt: use the minimum linelength reported by
1522 # all of the supported platforms: 8192 (on NT/2K/XP).
1523 lt_cv_sys_max_cmd_len=8192;
1524 ;;
1525
1526 amigaos*)
1527 # On AmigaOS with pdksh, this test takes hours, literally.
1528 # So we just punt and use a minimum line length of 8192.
1529 lt_cv_sys_max_cmd_len=8192;
1530 ;;
1531
1532 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
1533 # This has been around since 386BSD, at least. Likely further.
1534 if test -x /sbin/sysctl; then
1535 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1536 elif test -x /usr/sbin/sysctl; then
1537 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1538 else
1539 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1540 fi
1541 # And add a safety zone
1542 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1543 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1544 ;;
1545
1546 interix*)
1547 # We know the value 262144 and hardcode it with a safety zone (like BSD)
1548 lt_cv_sys_max_cmd_len=196608
1549 ;;
1550
1551 osf*)
1552 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1553 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1554 # nice to cause kernel panics so lets avoid the loop below.
1555 # First set a reasonable default.
1556 lt_cv_sys_max_cmd_len=16384
1557 #
1558 if test -x /sbin/sysconfig; then
1559 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1560 *1*) lt_cv_sys_max_cmd_len=-1 ;;
1561 esac
1562 fi
1563 ;;
1564 sco3.2v5*)
1565 lt_cv_sys_max_cmd_len=102400
1566 ;;
1567 sysv5* | sco5v6* | sysv4.2uw2*)
1568 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1569 if test -n "$kargmax"; then
1570 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
1571 else
1572 lt_cv_sys_max_cmd_len=32768
1573 fi
1574 ;;
1575 *)
1576 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1577 if test -n "$lt_cv_sys_max_cmd_len"; then
1578 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1579 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1580 else
1581 # Make teststring a little bigger before we do anything with it.
1582 # a 1K string should be a reasonable start.
1583 for i in 1 2 3 4 5 6 7 8 ; do
1584 teststring=$teststring$teststring
1585 done
1586 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1587 # If test is not a shell built-in, we'll probably end up computing a
1588 # maximum length that is only half of the actual maximum length, but
1589 # we can't tell.
1590 while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
1591 = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
1592 test $i != 17 # 1/2 MB should be enough
1593 do
1594 i=`expr $i + 1`
1595 teststring=$teststring$teststring
1596 done
1597 # Only check the string length outside the loop.
1598 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1599 teststring=
1600 # Add a significant safety factor because C++ compilers can tack on
1601 # massive amounts of additional arguments before passing them to the
1602 # linker. It appears as though 1/2 is a usable value.
1603 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1604 fi
1605 ;;
1606 esac
1607])
1608if test -n $lt_cv_sys_max_cmd_len ; then
1609 AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1610else
1611 AC_MSG_RESULT(none)
1612fi
1613max_cmd_len=$lt_cv_sys_max_cmd_len
1614_LT_DECL([], [max_cmd_len], [0],
1615 [What is the maximum length of a command?])
1616])# LT_CMD_MAX_LEN
1617
1618# Old name:
1619AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1620dnl aclocal-1.4 backwards compatibility:
1621dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1622
1623
1624# _LT_HEADER_DLFCN
1625# ----------------
1626m4_defun([_LT_HEADER_DLFCN],
1627[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1628])# _LT_HEADER_DLFCN
1629
1630
1631# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1632# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1633# ----------------------------------------------------------------
1634m4_defun([_LT_TRY_DLOPEN_SELF],
1635[m4_require([_LT_HEADER_DLFCN])dnl
1636if test "$cross_compiling" = yes; then :
1637 [$4]
1638else
1639 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1640 lt_status=$lt_dlunknown
1641 cat > conftest.$ac_ext <<_LT_EOF
1642[#line __oline__ "configure"
1643#include "confdefs.h"
1644
1645#if HAVE_DLFCN_H
1646#include <dlfcn.h>
1647#endif
1648
1649#include <stdio.h>
1650
1651#ifdef RTLD_GLOBAL
1652# define LT_DLGLOBAL RTLD_GLOBAL
1653#else
1654# ifdef DL_GLOBAL
1655# define LT_DLGLOBAL DL_GLOBAL
1656# else
1657# define LT_DLGLOBAL 0
1658# endif
1659#endif
1660
1661/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1662 find out it does not work in some platform. */
1663#ifndef LT_DLLAZY_OR_NOW
1664# ifdef RTLD_LAZY
1665# define LT_DLLAZY_OR_NOW RTLD_LAZY
1666# else
1667# ifdef DL_LAZY
1668# define LT_DLLAZY_OR_NOW DL_LAZY
1669# else
1670# ifdef RTLD_NOW
1671# define LT_DLLAZY_OR_NOW RTLD_NOW
1672# else
1673# ifdef DL_NOW
1674# define LT_DLLAZY_OR_NOW DL_NOW
1675# else
1676# define LT_DLLAZY_OR_NOW 0
1677# endif
1678# endif
1679# endif
1680# endif
1681#endif
1682
1683#ifdef __cplusplus
1684extern "C" void exit (int);
1685#endif
1686
1687void fnord() { int i=42;}
1688int main ()
1689{
1690 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1691 int status = $lt_dlunknown;
1692
1693 if (self)
1694 {
1695 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
1696 else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1697 /* dlclose (self); */
1698 }
1699 else
1700 puts (dlerror ());
1701
1702 exit (status);
1703}]
1704_LT_EOF
1705 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
1706 (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1707 lt_status=$?
1708 case x$lt_status in
1709 x$lt_dlno_uscore) $1 ;;
1710 x$lt_dlneed_uscore) $2 ;;
1711 x$lt_dlunknown|x*) $3 ;;
1712 esac
1713 else :
1714 # compilation failed
1715 $3
1716 fi
1717fi
1718rm -fr conftest*
1719])# _LT_TRY_DLOPEN_SELF
1720
1721
1722# LT_SYS_DLOPEN_SELF
1723# ------------------
1724AC_DEFUN([LT_SYS_DLOPEN_SELF],
1725[m4_require([_LT_HEADER_DLFCN])dnl
1726if test "x$enable_dlopen" != xyes; then
1727 enable_dlopen=unknown
1728 enable_dlopen_self=unknown
1729 enable_dlopen_self_static=unknown
1730else
1731 lt_cv_dlopen=no
1732 lt_cv_dlopen_libs=
1733
1734 case $host_os in
1735 beos*)
1736 lt_cv_dlopen="load_add_on"
1737 lt_cv_dlopen_libs=
1738 lt_cv_dlopen_self=yes
1739 ;;
1740
1741 mingw* | pw32*)
1742 lt_cv_dlopen="LoadLibrary"
1743 lt_cv_dlopen_libs=
1744 ;;
1745
1746 cygwin*)
1747 lt_cv_dlopen="dlopen"
1748 lt_cv_dlopen_libs=
1749 ;;
1750
1751 darwin*)
1752 # if libdl is installed we need to link against it
1753 AC_CHECK_LIB([dl], [dlopen],
1754 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
1755 lt_cv_dlopen="dyld"
1756 lt_cv_dlopen_libs=
1757 lt_cv_dlopen_self=yes
1758 ])
1759 ;;
1760
1761 *)
1762 AC_CHECK_FUNC([shl_load],
1763 [lt_cv_dlopen="shl_load"],
1764 [AC_CHECK_LIB([dld], [shl_load],
1765 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
1766 [AC_CHECK_FUNC([dlopen],
1767 [lt_cv_dlopen="dlopen"],
1768 [AC_CHECK_LIB([dl], [dlopen],
1769 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
1770 [AC_CHECK_LIB([svld], [dlopen],
1771 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
1772 [AC_CHECK_LIB([dld], [dld_link],
1773 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
1774 ])
1775 ])
1776 ])
1777 ])
1778 ])
1779 ;;
1780 esac
1781
1782 if test "x$lt_cv_dlopen" != xno; then
1783 enable_dlopen=yes
1784 else
1785 enable_dlopen=no
1786 fi
1787
1788 case $lt_cv_dlopen in
1789 dlopen)
1790 save_CPPFLAGS="$CPPFLAGS"
1791 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1792
1793 save_LDFLAGS="$LDFLAGS"
1794 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
1795
1796 save_LIBS="$LIBS"
1797 LIBS="$lt_cv_dlopen_libs $LIBS"
1798
1799 AC_CACHE_CHECK([whether a program can dlopen itself],
1800 lt_cv_dlopen_self, [dnl
1801 _LT_TRY_DLOPEN_SELF(
1802 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
1803 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
1804 ])
1805
1806 if test "x$lt_cv_dlopen_self" = xyes; then
1807 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
1808 AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
1809 lt_cv_dlopen_self_static, [dnl
1810 _LT_TRY_DLOPEN_SELF(
1811 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
1812 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
1813 ])
1814 fi
1815
1816 CPPFLAGS="$save_CPPFLAGS"
1817 LDFLAGS="$save_LDFLAGS"
1818 LIBS="$save_LIBS"
1819 ;;
1820 esac
1821
1822 case $lt_cv_dlopen_self in
1823 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1824 *) enable_dlopen_self=unknown ;;
1825 esac
1826
1827 case $lt_cv_dlopen_self_static in
1828 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1829 *) enable_dlopen_self_static=unknown ;;
1830 esac
1831fi
1832_LT_DECL([dlopen_support], [enable_dlopen], [0],
1833 [Whether dlopen is supported])
1834_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
1835 [Whether dlopen of programs is supported])
1836_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
1837 [Whether dlopen of statically linked programs is supported])
1838])# LT_SYS_DLOPEN_SELF
1839
1840# Old name:
1841AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
1842dnl aclocal-1.4 backwards compatibility:
1843dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
1844
1845
1846# _LT_COMPILER_C_O([TAGNAME])
1847# ---------------------------
1848# Check to see if options -c and -o are simultaneously supported by compiler.
1849# This macro does not hard code the compiler like AC_PROG_CC_C_O.
1850m4_defun([_LT_COMPILER_C_O],
1851[m4_require([_LT_DECL_SED])dnl
1852m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1853m4_require([_LT_TAG_COMPILER])dnl
1854AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
1855 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
1856 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
1857 $RM -r conftest 2>/dev/null
1858 mkdir conftest
1859 cd conftest
1860 mkdir out
1861 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1862
1863 lt_compiler_flag="-o out/conftest2.$ac_objext"
1864 # Insert the option either (1) after the last *FLAGS variable, or
1865 # (2) before a word containing "conftest.", or (3) at the end.
1866 # Note that $ac_compile itself does not contain backslashes and begins
1867 # with a dollar sign (not a hyphen), so the echo should work correctly.
1868 lt_compile=`echo "$ac_compile" | $SED \
1869 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1870 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1871 -e 's:$: $lt_compiler_flag:'`
1872 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1873 (eval "$lt_compile" 2>out/conftest.err)
1874 ac_status=$?
1875 cat out/conftest.err >&AS_MESSAGE_LOG_FD
1876 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1877 if (exit $ac_status) && test -s out/conftest2.$ac_objext
1878 then
1879 # The compiler can only warn and ignore the option if not recognized
1880 # So say no if there are warnings
1881 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
1882 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
1883 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
1884 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
1885 fi
1886 fi
1887 chmod u+w . 2>&AS_MESSAGE_LOG_FD
1888 $RM conftest*
1889 # SGI C++ compiler will create directory out/ii_files/ for
1890 # template instantiation
1891 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
1892 $RM out/* && rmdir out
1893 cd ..
1894 $RM -r conftest
1895 $RM conftest*
1896])
1897_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
1898 [Does compiler simultaneously support -c and -o options?])
1899])# _LT_COMPILER_C_O
1900
1901
1902# _LT_COMPILER_FILE_LOCKS([TAGNAME])
1903# ----------------------------------
1904# Check to see if we can do hard links to lock some files if needed
1905m4_defun([_LT_COMPILER_FILE_LOCKS],
1906[m4_require([_LT_ENABLE_LOCK])dnl
1907m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1908_LT_COMPILER_C_O([$1])
1909
1910hard_links="nottested"
1911if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
1912 # do not overwrite the value of need_locks provided by the user
1913 AC_MSG_CHECKING([if we can lock with hard links])
1914 hard_links=yes
1915 $RM conftest*
1916 ln conftest.a conftest.b 2>/dev/null && hard_links=no
1917 touch conftest.a
1918 ln conftest.a conftest.b 2>&5 || hard_links=no
1919 ln conftest.a conftest.b 2>/dev/null && hard_links=no
1920 AC_MSG_RESULT([$hard_links])
1921 if test "$hard_links" = no; then
1922 AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
1923 need_locks=warn
1924 fi
1925else
1926 need_locks=no
1927fi
1928_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
1929])# _LT_COMPILER_FILE_LOCKS
1930
1931
1932# _LT_CHECK_OBJDIR
1933# ----------------
1934m4_defun([_LT_CHECK_OBJDIR],
1935[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
1936[rm -f .libs 2>/dev/null
1937mkdir .libs 2>/dev/null
1938if test -d .libs; then
1939 lt_cv_objdir=.libs
1940else
1941 # MS-DOS does not allow filenames that begin with a dot.
1942 lt_cv_objdir=_libs
1943fi
1944rmdir .libs 2>/dev/null])
1945objdir=$lt_cv_objdir
1946_LT_DECL([], [objdir], [0],
1947 [The name of the directory that contains temporary libtool files])dnl
1948m4_pattern_allow([LT_OBJDIR])dnl
1949AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
1950 [Define to the sub-directory in which libtool stores uninstalled libraries.])
1951])# _LT_CHECK_OBJDIR
1952
1953
1954# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
1955# --------------------------------------
1956# Check hardcoding attributes.
1957m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
1958[AC_MSG_CHECKING([how to hardcode library paths into programs])
1959_LT_TAGVAR(hardcode_action, $1)=
1960if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
1961 test -n "$_LT_TAGVAR(runpath_var, $1)" ||
1962 test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
1963
1964 # We can hardcode non-existent directories.
1965 if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
1966 # If the only mechanism to avoid hardcoding is shlibpath_var, we
1967 # have to relink, otherwise we might link with an installed library
1968 # when we should be linking with a yet-to-be-installed one
1969 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
1970 test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
1971 # Linking always hardcodes the temporary library directory.
1972 _LT_TAGVAR(hardcode_action, $1)=relink
1973 else
1974 # We can link without hardcoding, and we can hardcode nonexisting dirs.
1975 _LT_TAGVAR(hardcode_action, $1)=immediate
1976 fi
1977else
1978 # We cannot hardcode anything, or else we can only hardcode existing
1979 # directories.
1980 _LT_TAGVAR(hardcode_action, $1)=unsupported
1981fi
1982AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
1983
1984if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
1985 test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
1986 # Fast installation is not supported
1987 enable_fast_install=no
1988elif test "$shlibpath_overrides_runpath" = yes ||
1989 test "$enable_shared" = no; then
1990 # Fast installation is not necessary
1991 enable_fast_install=needless
1992fi
1993_LT_TAGDECL([], [hardcode_action], [0],
1994 [How to hardcode a shared library path into an executable])
1995])# _LT_LINKER_HARDCODE_LIBPATH
1996
1997
1998# _LT_CMD_STRIPLIB
1999# ----------------
2000m4_defun([_LT_CMD_STRIPLIB],
2001[m4_require([_LT_DECL_EGREP])
2002striplib=
2003old_striplib=
2004AC_MSG_CHECKING([whether stripping libraries is possible])
2005if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2006 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2007 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2008 AC_MSG_RESULT([yes])
2009else
2010# FIXME - insert some real tests, host_os isn't really good enough
2011 case $host_os in
2012 darwin*)
2013 if test -n "$STRIP" ; then
2014 striplib="$STRIP -x"
2015 old_striplib="$STRIP -S"
2016 AC_MSG_RESULT([yes])
2017 else
2018 AC_MSG_RESULT([no])
2019 fi
2020 ;;
2021 *)
2022 AC_MSG_RESULT([no])
2023 ;;
2024 esac
2025fi
2026_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2027_LT_DECL([], [striplib], [1])
2028])# _LT_CMD_STRIPLIB
2029
2030
2031# _LT_SYS_DYNAMIC_LINKER([TAG])
2032# -----------------------------
2033# PORTME Fill in your ld.so characteristics
2034m4_defun([_LT_SYS_DYNAMIC_LINKER],
2035[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2036m4_require([_LT_DECL_EGREP])dnl
2037m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2038m4_require([_LT_DECL_SED])dnl
2039AC_MSG_CHECKING([dynamic linker characteristics])
2040m4_if([$1],
2041 [], [
2042if test "$GCC" = yes; then
2043 case $host_os in
2044 darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
2045 *) lt_awk_arg="/^libraries:/" ;;
2046 esac
2047 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2048 if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
2049 # if the path contains ";" then we assume it to be the separator
2050 # otherwise default to the standard path separator (i.e. ":") - it is
2051 # assumed that no part of a normal pathname contains ";" but that should
2052 # okay in the real world where ";" in dirpaths is itself problematic.
2053 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
2054 else
2055 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2056 fi
2057 # Ok, now we have the path, separated by spaces, we can step through it
2058 # and add multilib dir if necessary.
2059 lt_tmp_lt_search_path_spec=
2060 lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2061 for lt_sys_path in $lt_search_path_spec; do
2062 if test -d "$lt_sys_path/$lt_multi_os_dir"; then
2063 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
2064 else
2065 test -d "$lt_sys_path" && \
2066 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2067 fi
2068 done
2069 lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
2070BEGIN {RS=" "; FS="/|\n";} {
2071 lt_foo="";
2072 lt_count=0;
2073 for (lt_i = NF; lt_i > 0; lt_i--) {
2074 if ($lt_i != "" && $lt_i != ".") {
2075 if ($lt_i == "..") {
2076 lt_count++;
2077 } else {
2078 if (lt_count == 0) {
2079 lt_foo="/" $lt_i lt_foo;
2080 } else {
2081 lt_count--;
2082 }
2083 }
2084 }
2085 }
2086 if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2087 if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2088}'`
2089 sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
2090else
2091 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2092fi])
2093library_names_spec=
2094libname_spec='lib$name'
2095soname_spec=
2096shrext_cmds=".so"
2097postinstall_cmds=
2098postuninstall_cmds=
2099finish_cmds=
2100finish_eval=
2101shlibpath_var=
2102shlibpath_overrides_runpath=unknown
2103version_type=none
2104dynamic_linker="$host_os ld.so"
2105sys_lib_dlsearch_path_spec="/lib /usr/lib"
2106need_lib_prefix=unknown
2107hardcode_into_libs=no
2108
2109# when you set need_version to no, make sure it does not cause -set_version
2110# flags to be left without arguments
2111need_version=unknown
2112
2113case $host_os in
2114aix3*)
2115 version_type=linux
2116 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
2117 shlibpath_var=LIBPATH
2118
2119 # AIX 3 has no versioning support, so we append a major version to the name.
2120 soname_spec='${libname}${release}${shared_ext}$major'
2121 ;;
2122
2123aix[[4-9]]*)
2124 version_type=linux
2125 need_lib_prefix=no
2126 need_version=no
2127 hardcode_into_libs=yes
2128 if test "$host_cpu" = ia64; then
2129 # AIX 5 supports IA64
2130 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
2131 shlibpath_var=LD_LIBRARY_PATH
2132 else
2133 # With GCC up to 2.95.x, collect2 would create an import file
2134 # for dependence libraries. The import file would start with
2135 # the line `#! .'. This would cause the generated library to
2136 # depend on `.', always an invalid library. This was fixed in
2137 # development snapshots of GCC prior to 3.0.
2138 case $host_os in
2139 aix4 | aix4.[[01]] | aix4.[[01]].*)
2140 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2141 echo ' yes '
2142 echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
2143 :
2144 else
2145 can_build_shared=no
2146 fi
2147 ;;
2148 esac
2149 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2150 # soname into executable. Probably we can add versioning support to
2151 # collect2, so additional links can be useful in future.
2152 if test "$aix_use_runtimelinking" = yes; then
2153 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2154 # instead of lib<name>.a to let people know that these are not
2155 # typical AIX shared libraries.
2156 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2157 else
2158 # We preserve .a as extension for shared libraries through AIX4.2
2159 # and later when we are not doing run time linking.
2160 library_names_spec='${libname}${release}.a $libname.a'
2161 soname_spec='${libname}${release}${shared_ext}$major'
2162 fi
2163 shlibpath_var=LIBPATH
2164 fi
2165 ;;
2166
2167amigaos*)
2168 case $host_cpu in
2169 powerpc)
2170 # Since July 2007 AmigaOS4 officially supports .so libraries.
2171 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2172 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2173 ;;
2174 m68k)
2175 library_names_spec='$libname.ixlibrary $libname.a'
2176 # Create ${libname}_ixlibrary.a entries in /sys/libs.
2177 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''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'
2178 ;;
2179 esac
2180 ;;
2181
2182beos*)
2183 library_names_spec='${libname}${shared_ext}'
2184 dynamic_linker="$host_os ld.so"
2185 shlibpath_var=LIBRARY_PATH
2186 ;;
2187
2188bsdi[[45]]*)
2189 version_type=linux
2190 need_version=no
2191 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2192 soname_spec='${libname}${release}${shared_ext}$major'
2193 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2194 shlibpath_var=LD_LIBRARY_PATH
2195 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2196 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2197 # the default ld.so.conf also contains /usr/contrib/lib and
2198 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2199 # libtool to hard-code these into programs
2200 ;;
2201
2202cygwin* | mingw* | pw32*)
2203 version_type=windows
2204 shrext_cmds=".dll"
2205 need_version=no
2206 need_lib_prefix=no
2207
2208 case $GCC,$host_os in
2209 yes,cygwin* | yes,mingw* | yes,pw32*)
2210 library_names_spec='$libname.dll.a'
2211 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2212 postinstall_cmds='base_file=`basename \${file}`~
2213 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2214 dldir=$destdir/`dirname \$dlpath`~
2215 test -d \$dldir || mkdir -p \$dldir~
2216 $install_prog $dir/$dlname \$dldir/$dlname~
2217 chmod a+x \$dldir/$dlname~
2218 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2219 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2220 fi'
2221 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2222 dlpath=$dir/\$dldll~
2223 $RM \$dlpath'
2224 shlibpath_overrides_runpath=yes
2225
2226 case $host_os in
2227 cygwin*)
2228 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2229 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2230 sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
2231 ;;
2232 mingw*)
2233 # MinGW DLLs use traditional 'lib' prefix
2234 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2235 sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2236 if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2237 # It is most probably a Windows format PATH printed by
2238 # mingw gcc, but we are running on Cygwin. Gcc prints its search
2239 # path with ; separators, and with drive letters. We can handle the
2240 # drive letters (cygwin fileutils understands them), so leave them,
2241 # especially as we might pass files found there to a mingw objdump,
2242 # which wouldn't understand a cygwinified path. Ahh.
2243 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2244 else
2245 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2246 fi
2247 ;;
2248 pw32*)
2249 # pw32 DLLs use 'pw' prefix rather than 'lib'
2250 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2251 ;;
2252 esac
2253 ;;
2254
2255 *)
2256 library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
2257 ;;
2258 esac
2259 dynamic_linker='Win32 ld.exe'
2260 # FIXME: first we should search . and the directory the executable is in
2261 shlibpath_var=PATH
2262 ;;
2263
2264darwin* | rhapsody*)
2265 dynamic_linker="$host_os dyld"
2266 version_type=darwin
2267 need_lib_prefix=no
2268 need_version=no
2269 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
2270 soname_spec='${libname}${release}${major}$shared_ext'
2271 shlibpath_overrides_runpath=yes
2272 shlibpath_var=DYLD_LIBRARY_PATH
2273 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2274m4_if([$1], [],[
2275 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2276 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2277 ;;
2278
2279dgux*)
2280 version_type=linux
2281 need_lib_prefix=no
2282 need_version=no
2283 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2284 soname_spec='${libname}${release}${shared_ext}$major'
2285 shlibpath_var=LD_LIBRARY_PATH
2286 ;;
2287
2288freebsd1*)
2289 dynamic_linker=no
2290 ;;
2291
2292freebsd* | dragonfly*)
2293 # DragonFly does not have aout. When/if they implement a new
2294 # versioning mechanism, adjust this.
2295 if test -x /usr/bin/objformat; then
2296 objformat=`/usr/bin/objformat`
2297 else
2298 case $host_os in
2299 freebsd[[123]]*) objformat=aout ;;
2300 *) objformat=elf ;;
2301 esac
2302 fi
2303 version_type=freebsd-$objformat
2304 case $version_type in
2305 freebsd-elf*)
2306 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2307 need_version=no
2308 need_lib_prefix=no
2309 ;;
2310 freebsd-*)
2311 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
2312 need_version=yes
2313 ;;
2314 esac
2315 shlibpath_var=LD_LIBRARY_PATH
2316 case $host_os in
2317 freebsd2*)
2318 shlibpath_overrides_runpath=yes
2319 ;;
2320 freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2321 shlibpath_overrides_runpath=yes
2322 hardcode_into_libs=yes
2323 ;;
2324 freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2325 freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2326 shlibpath_overrides_runpath=no
2327 hardcode_into_libs=yes
2328 ;;
2329 *) # from 4.6 on, and DragonFly
2330 shlibpath_overrides_runpath=yes
2331 hardcode_into_libs=yes
2332 ;;
2333 esac
2334 ;;
2335
2336gnu*)
2337 version_type=linux
2338 need_lib_prefix=no
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 shlibpath_var=LD_LIBRARY_PATH
2343 hardcode_into_libs=yes
2344 ;;
2345
2346hpux9* | hpux10* | hpux11*)
2347 # Give a soname corresponding to the major version so that dld.sl refuses to
2348 # link against other versions.
2349 version_type=sunos
2350 need_lib_prefix=no
2351 need_version=no
2352 case $host_cpu in
2353 ia64*)
2354 shrext_cmds='.so'
2355 hardcode_into_libs=yes
2356 dynamic_linker="$host_os dld.so"
2357 shlibpath_var=LD_LIBRARY_PATH
2358 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2359 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2360 soname_spec='${libname}${release}${shared_ext}$major'
2361 if test "X$HPUX_IA64_MODE" = X32; then
2362 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2363 else
2364 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2365 fi
2366 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2367 ;;
2368 hppa*64*)
2369 shrext_cmds='.sl'
2370 hardcode_into_libs=yes
2371 dynamic_linker="$host_os dld.sl"
2372 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2373 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2374 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2375 soname_spec='${libname}${release}${shared_ext}$major'
2376 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2377 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2378 ;;
2379 *)
2380 shrext_cmds='.sl'
2381 dynamic_linker="$host_os dld.sl"
2382 shlibpath_var=SHLIB_PATH
2383 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2384 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2385 soname_spec='${libname}${release}${shared_ext}$major'
2386 ;;
2387 esac
2388 # HP-UX runs *really* slowly unless shared libraries are mode 555.
2389 postinstall_cmds='chmod 555 $lib'
2390 ;;
2391
2392interix[[3-9]]*)
2393 version_type=linux
2394 need_lib_prefix=no
2395 need_version=no
2396 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2397 soname_spec='${libname}${release}${shared_ext}$major'
2398 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2399 shlibpath_var=LD_LIBRARY_PATH
2400 shlibpath_overrides_runpath=no
2401 hardcode_into_libs=yes
2402 ;;
2403
2404irix5* | irix6* | nonstopux*)
2405 case $host_os in
2406 nonstopux*) version_type=nonstopux ;;
2407 *)
2408 if test "$lt_cv_prog_gnu_ld" = yes; then
2409 version_type=linux
2410 else
2411 version_type=irix
2412 fi ;;
2413 esac
2414 need_lib_prefix=no
2415 need_version=no
2416 soname_spec='${libname}${release}${shared_ext}$major'
2417 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
2418 case $host_os in
2419 irix5* | nonstopux*)
2420 libsuff= shlibsuff=
2421 ;;
2422 *)
2423 case $LD in # libtool.m4 will add one of these switches to LD
2424 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2425 libsuff= shlibsuff= libmagic=32-bit;;
2426 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2427 libsuff=32 shlibsuff=N32 libmagic=N32;;
2428 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2429 libsuff=64 shlibsuff=64 libmagic=64-bit;;
2430 *) libsuff= shlibsuff= libmagic=never-match;;
2431 esac
2432 ;;
2433 esac
2434 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2435 shlibpath_overrides_runpath=no
2436 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2437 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2438 hardcode_into_libs=yes
2439 ;;
2440
2441# No shared lib support for Linux oldld, aout, or coff.
2442linux*oldld* | linux*aout* | linux*coff*)
2443 dynamic_linker=no
2444 ;;
2445
2446# This must be Linux ELF.
2447linux* | k*bsd*-gnu)
2448 version_type=linux
2449 need_lib_prefix=no
2450 need_version=no
2451 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2452 soname_spec='${libname}${release}${shared_ext}$major'
2453 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2454 shlibpath_var=LD_LIBRARY_PATH
2455 shlibpath_overrides_runpath=no
2456 # Some binutils ld are patched to set DT_RUNPATH
2457 save_LDFLAGS=$LDFLAGS
2458 save_libdir=$libdir
2459 eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2460 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2461 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2462 [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2463 [shlibpath_overrides_runpath=yes])])
2464 LDFLAGS=$save_LDFLAGS
2465 libdir=$save_libdir
2466
2467 # This implies no fast_install, which is unacceptable.
2468 # Some rework will be needed to allow for fast_install
2469 # before this can be enabled.
2470 hardcode_into_libs=yes
2471
2472 # Append ld.so.conf contents to the search path
2473 if test -f /etc/ld.so.conf; then
2474 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;/^$/d' | tr '\n' ' '`
2475 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2476 fi
2477
2478 # We used to test for /lib/ld.so.1 and disable shared libraries on
2479 # powerpc, because MkLinux only supported shared libraries with the
2480 # GNU dynamic linker. Since this was broken with cross compilers,
2481 # most powerpc-linux boxes support dynamic linking these days and
2482 # people can always --disable-shared, the test was removed, and we
2483 # assume the GNU/Linux dynamic linker is in use.
2484 dynamic_linker='GNU/Linux ld.so'
2485 ;;
2486
2487netbsdelf*-gnu)
2488 version_type=linux
2489 need_lib_prefix=no
2490 need_version=no
2491 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2492 soname_spec='${libname}${release}${shared_ext}$major'
2493 shlibpath_var=LD_LIBRARY_PATH
2494 shlibpath_overrides_runpath=no
2495 hardcode_into_libs=yes
2496 dynamic_linker='NetBSD ld.elf_so'
2497 ;;
2498
2499netbsd*)
2500 version_type=sunos
2501 need_lib_prefix=no
2502 need_version=no
2503 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2504 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2505 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2506 dynamic_linker='NetBSD (a.out) ld.so'
2507 else
2508 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2509 soname_spec='${libname}${release}${shared_ext}$major'
2510 dynamic_linker='NetBSD ld.elf_so'
2511 fi
2512 shlibpath_var=LD_LIBRARY_PATH
2513 shlibpath_overrides_runpath=yes
2514 hardcode_into_libs=yes
2515 ;;
2516
2517newsos6)
2518 version_type=linux
2519 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2520 shlibpath_var=LD_LIBRARY_PATH
2521 shlibpath_overrides_runpath=yes
2522 ;;
2523
2524*nto* | *qnx*)
2525 version_type=qnx
2526 need_lib_prefix=no
2527 need_version=no
2528 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2529 soname_spec='${libname}${release}${shared_ext}$major'
2530 shlibpath_var=LD_LIBRARY_PATH
2531 shlibpath_overrides_runpath=no
2532 hardcode_into_libs=yes
2533 dynamic_linker='ldqnx.so'
2534 ;;
2535
2536openbsd*)
2537 version_type=sunos
2538 sys_lib_dlsearch_path_spec="/usr/lib"
2539 need_lib_prefix=no
2540 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
2541 case $host_os in
2542 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
2543 *) need_version=no ;;
2544 esac
2545 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2546 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2547 shlibpath_var=LD_LIBRARY_PATH
2548 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2549 case $host_os in
2550 openbsd2.[[89]] | openbsd2.[[89]].*)
2551 shlibpath_overrides_runpath=no
2552 ;;
2553 *)
2554 shlibpath_overrides_runpath=yes
2555 ;;
2556 esac
2557 else
2558 shlibpath_overrides_runpath=yes
2559 fi
2560 ;;
2561
2562os2*)
2563 libname_spec='$name'
2564 shrext_cmds=".dll"
2565 need_lib_prefix=no
2566 library_names_spec='$libname${shared_ext} $libname.a'
2567 dynamic_linker='OS/2 ld.exe'
2568 shlibpath_var=LIBPATH
2569 ;;
2570
2571osf3* | osf4* | osf5*)
2572 version_type=osf
2573 need_lib_prefix=no
2574 need_version=no
2575 soname_spec='${libname}${release}${shared_ext}$major'
2576 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2577 shlibpath_var=LD_LIBRARY_PATH
2578 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2579 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2580 ;;
2581
2582rdos*)
2583 dynamic_linker=no
2584 ;;
2585
2586solaris*)
2587 version_type=linux
2588 need_lib_prefix=no
2589 need_version=no
2590 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2591 soname_spec='${libname}${release}${shared_ext}$major'
2592 shlibpath_var=LD_LIBRARY_PATH
2593 shlibpath_overrides_runpath=yes
2594 hardcode_into_libs=yes
2595 # ldd complains unless libraries are executable
2596 postinstall_cmds='chmod +x $lib'
2597 ;;
2598
2599sunos4*)
2600 version_type=sunos
2601 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2602 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2603 shlibpath_var=LD_LIBRARY_PATH
2604 shlibpath_overrides_runpath=yes
2605 if test "$with_gnu_ld" = yes; then
2606 need_lib_prefix=no
2607 fi
2608 need_version=yes
2609 ;;
2610
2611sysv4 | sysv4.3*)
2612 version_type=linux
2613 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2614 soname_spec='${libname}${release}${shared_ext}$major'
2615 shlibpath_var=LD_LIBRARY_PATH
2616 case $host_vendor in
2617 sni)
2618 shlibpath_overrides_runpath=no
2619 need_lib_prefix=no
2620 runpath_var=LD_RUN_PATH
2621 ;;
2622 siemens)
2623 need_lib_prefix=no
2624 ;;
2625 motorola)
2626 need_lib_prefix=no
2627 need_version=no
2628 shlibpath_overrides_runpath=no
2629 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2630 ;;
2631 esac
2632 ;;
2633
2634sysv4*MP*)
2635 if test -d /usr/nec ;then
2636 version_type=linux
2637 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
2638 soname_spec='$libname${shared_ext}.$major'
2639 shlibpath_var=LD_LIBRARY_PATH
2640 fi
2641 ;;
2642
2643sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2644 version_type=freebsd-elf
2645 need_lib_prefix=no
2646 need_version=no
2647 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2648 soname_spec='${libname}${release}${shared_ext}$major'
2649 shlibpath_var=LD_LIBRARY_PATH
2650 shlibpath_overrides_runpath=yes
2651 hardcode_into_libs=yes
2652 if test "$with_gnu_ld" = yes; then
2653 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
2654 else
2655 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
2656 case $host_os in
2657 sco3.2v5*)
2658 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
2659 ;;
2660 esac
2661 fi
2662 sys_lib_dlsearch_path_spec='/usr/lib'
2663 ;;
2664
2665tpf*)
2666 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
2667 version_type=linux
2668 need_lib_prefix=no
2669 need_version=no
2670 library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2671 shlibpath_var=LD_LIBRARY_PATH
2672 shlibpath_overrides_runpath=no
2673 hardcode_into_libs=yes
2674 ;;
2675
2676uts4*)
2677 version_type=linux
2678 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2679 soname_spec='${libname}${release}${shared_ext}$major'
2680 shlibpath_var=LD_LIBRARY_PATH
2681 ;;
2682
2683*)
2684 dynamic_linker=no
2685 ;;
2686esac
2687AC_MSG_RESULT([$dynamic_linker])
2688test "$dynamic_linker" = no && can_build_shared=no
2689
2690variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2691if test "$GCC" = yes; then
2692 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2693fi
2694
2695if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
2696 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
2697fi
2698if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
2699 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
2700fi
2701
2702_LT_DECL([], [variables_saved_for_relink], [1],
2703 [Variables whose values should be saved in libtool wrapper scripts and
2704 restored at link time])
2705_LT_DECL([], [need_lib_prefix], [0],
2706 [Do we need the "lib" prefix for modules?])
2707_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
2708_LT_DECL([], [version_type], [0], [Library versioning type])
2709_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
2710_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
2711_LT_DECL([], [shlibpath_overrides_runpath], [0],
2712 [Is shlibpath searched before the hard-coded library search path?])
2713_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
2714_LT_DECL([], [library_names_spec], [1],
2715 [[List of archive names. First name is the real one, the rest are links.
2716 The last name is the one that the linker finds with -lNAME]])
2717_LT_DECL([], [soname_spec], [1],
2718 [[The coded name of the library, if different from the real name]])
2719_LT_DECL([], [postinstall_cmds], [2],
2720 [Command to use after installation of a shared archive])
2721_LT_DECL([], [postuninstall_cmds], [2],
2722 [Command to use after uninstallation of a shared archive])
2723_LT_DECL([], [finish_cmds], [2],
2724 [Commands used to finish a libtool library installation in a directory])
2725_LT_DECL([], [finish_eval], [1],
2726 [[As "finish_cmds", except a single script fragment to be evaled but
2727 not shown]])
2728_LT_DECL([], [hardcode_into_libs], [0],
2729 [Whether we should hardcode library paths into libraries])
2730_LT_DECL([], [sys_lib_search_path_spec], [2],
2731 [Compile-time system search path for libraries])
2732_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
2733 [Run-time system search path for libraries])
2734])# _LT_SYS_DYNAMIC_LINKER
2735
2736
2737# _LT_PATH_TOOL_PREFIX(TOOL)
2738# --------------------------
2739# find a file program which can recognize shared library
2740AC_DEFUN([_LT_PATH_TOOL_PREFIX],
2741[m4_require([_LT_DECL_EGREP])dnl
2742AC_MSG_CHECKING([for $1])
2743AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2744[case $MAGIC_CMD in
2745[[\\/*] | ?:[\\/]*])
2746 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2747 ;;
2748*)
2749 lt_save_MAGIC_CMD="$MAGIC_CMD"
2750 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2751dnl $ac_dummy forces splitting on constant user-supplied paths.
2752dnl POSIX.2 word splitting is done only on the output of word expansions,
2753dnl not every word. This closes a longstanding sh security hole.
2754 ac_dummy="m4_if([$2], , $PATH, [$2])"
2755 for ac_dir in $ac_dummy; do
2756 IFS="$lt_save_ifs"
2757 test -z "$ac_dir" && ac_dir=.
2758 if test -f $ac_dir/$1; then
2759 lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2760 if test -n "$file_magic_test_file"; then
2761 case $deplibs_check_method in
2762 "file_magic "*)
2763 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
2764 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2765 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
2766 $EGREP "$file_magic_regex" > /dev/null; then
2767 :
2768 else
2769 cat <<_LT_EOF 1>&2
2770
2771*** Warning: the command libtool uses to detect shared libraries,
2772*** $file_magic_cmd, produces output that libtool cannot recognize.
2773*** The result is that libtool may fail to recognize shared libraries
2774*** as such. This will affect the creation of libtool libraries that
2775*** depend on shared libraries, but programs linked with such libtool
2776*** libraries will work regardless of this problem. Nevertheless, you
2777*** may want to report the problem to your system manager and/or to
2778*** bug-libtool@gnu.org
2779
2780_LT_EOF
2781 fi ;;
2782 esac
2783 fi
2784 break
2785 fi
2786 done
2787 IFS="$lt_save_ifs"
2788 MAGIC_CMD="$lt_save_MAGIC_CMD"
2789 ;;
2790esac])
2791MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2792if test -n "$MAGIC_CMD"; then
2793 AC_MSG_RESULT($MAGIC_CMD)
2794else
2795 AC_MSG_RESULT(no)
2796fi
2797_LT_DECL([], [MAGIC_CMD], [0],
2798 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
2799])# _LT_PATH_TOOL_PREFIX
2800
2801# Old name:
2802AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
2803dnl aclocal-1.4 backwards compatibility:
2804dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
2805
2806
2807# _LT_PATH_MAGIC
2808# --------------
2809# find a file program which can recognize a shared library
2810m4_defun([_LT_PATH_MAGIC],
2811[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
2812if test -z "$lt_cv_path_MAGIC_CMD"; then
2813 if test -n "$ac_tool_prefix"; then
2814 _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
2815 else
2816 MAGIC_CMD=:
2817 fi
2818fi
2819])# _LT_PATH_MAGIC
2820
2821
2822# LT_PATH_LD
2823# ----------
2824# find the pathname to the GNU or non-GNU linker
2825AC_DEFUN([LT_PATH_LD],
2826[AC_REQUIRE([AC_PROG_CC])dnl
2827AC_REQUIRE([AC_CANONICAL_HOST])dnl
2828AC_REQUIRE([AC_CANONICAL_BUILD])dnl
2829m4_require([_LT_DECL_SED])dnl
2830m4_require([_LT_DECL_EGREP])dnl
2831
2832AC_ARG_WITH([gnu-ld],
2833 [AS_HELP_STRING([--with-gnu-ld],
2834 [assume the C compiler uses GNU ld @<:@default=no@:>@])],
2835 [test "$withval" = no || with_gnu_ld=yes],
2836 [with_gnu_ld=no])dnl
2837
2838ac_prog=ld
2839if test "$GCC" = yes; then
2840 # Check if gcc -print-prog-name=ld gives a path.
2841 AC_MSG_CHECKING([for ld used by $CC])
2842 case $host in
2843 *-*-mingw*)
2844 # gcc leaves a trailing carriage return which upsets mingw
2845 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
2846 *)
2847 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
2848 esac
2849 case $ac_prog in
2850 # Accept absolute paths.
2851 [[\\/]]* | ?:[[\\/]]*)
2852 re_direlt='/[[^/]][[^/]]*/\.\./'
2853 # Canonicalize the pathname of ld
2854 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
2855 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
2856 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
2857 done
2858 test -z "$LD" && LD="$ac_prog"
2859 ;;
2860 "")
2861 # If it fails, then pretend we aren't using GCC.
2862 ac_prog=ld
2863 ;;
2864 *)
2865 # If it is relative, then search for the first ld in PATH.
2866 with_gnu_ld=unknown
2867 ;;
2868 esac
2869elif test "$with_gnu_ld" = yes; then
2870 AC_MSG_CHECKING([for GNU ld])
2871else
2872 AC_MSG_CHECKING([for non-GNU ld])
2873fi
2874AC_CACHE_VAL(lt_cv_path_LD,
2875[if test -z "$LD"; then
2876 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2877 for ac_dir in $PATH; do
2878 IFS="$lt_save_ifs"
2879 test -z "$ac_dir" && ac_dir=.
2880 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
2881 lt_cv_path_LD="$ac_dir/$ac_prog"
2882 # Check to see if the program is GNU ld. I'd rather use --version,
2883 # but apparently some variants of GNU ld only accept -v.
2884 # Break only if it was the GNU/non-GNU ld that we prefer.
2885 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
2886 *GNU* | *'with BFD'*)
2887 test "$with_gnu_ld" != no && break
2888 ;;
2889 *)
2890 test "$with_gnu_ld" != yes && break
2891 ;;
2892 esac
2893 fi
2894 done
2895 IFS="$lt_save_ifs"
2896else
2897 lt_cv_path_LD="$LD" # Let the user override the test with a path.
2898fi])
2899LD="$lt_cv_path_LD"
2900if test -n "$LD"; then
2901 AC_MSG_RESULT($LD)
2902else
2903 AC_MSG_RESULT(no)
2904fi
2905test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
2906_LT_PATH_LD_GNU
2907AC_SUBST([LD])
2908
2909_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
2910])# LT_PATH_LD
2911
2912# Old names:
2913AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
2914AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
2915dnl aclocal-1.4 backwards compatibility:
2916dnl AC_DEFUN([AM_PROG_LD], [])
2917dnl AC_DEFUN([AC_PROG_LD], [])
2918
2919
2920# _LT_PATH_LD_GNU
2921#- --------------
2922m4_defun([_LT_PATH_LD_GNU],
2923[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
2924[# I'd rather use --version here, but apparently some GNU lds only accept -v.
2925case `$LD -v 2>&1 </dev/null` in
2926*GNU* | *'with BFD'*)
2927 lt_cv_prog_gnu_ld=yes
2928 ;;
2929*)
2930 lt_cv_prog_gnu_ld=no
2931 ;;
2932esac])
2933with_gnu_ld=$lt_cv_prog_gnu_ld
2934])# _LT_PATH_LD_GNU
2935
2936
2937# _LT_CMD_RELOAD
2938# --------------
2939# find reload flag for linker
2940# -- PORTME Some linkers may need a different reload flag.
2941m4_defun([_LT_CMD_RELOAD],
2942[AC_CACHE_CHECK([for $LD option to reload object files],
2943 lt_cv_ld_reload_flag,
2944 [lt_cv_ld_reload_flag='-r'])
2945reload_flag=$lt_cv_ld_reload_flag
2946case $reload_flag in
2947"" | " "*) ;;
2948*) reload_flag=" $reload_flag" ;;
2949esac
2950reload_cmds='$LD$reload_flag -o $output$reload_objs'
2951case $host_os in
2952 darwin*)
2953 if test "$GCC" = yes; then
2954 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
2955 else
2956 reload_cmds='$LD$reload_flag -o $output$reload_objs'
2957 fi
2958 ;;
2959esac
2960_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
2961_LT_DECL([], [reload_cmds], [2])dnl
2962])# _LT_CMD_RELOAD
2963
2964
2965# _LT_CHECK_MAGIC_METHOD
2966# ----------------------
2967# how to check for library dependencies
2968# -- PORTME fill in with the dynamic library characteristics
2969m4_defun([_LT_CHECK_MAGIC_METHOD],
2970[m4_require([_LT_DECL_EGREP])
2971AC_CACHE_CHECK([how to recognize dependent libraries],
2972lt_cv_deplibs_check_method,
2973[lt_cv_file_magic_cmd='$MAGIC_CMD'
2974lt_cv_file_magic_test_file=
2975lt_cv_deplibs_check_method='unknown'
2976# Need to set the preceding variable on all platforms that support
2977# interlibrary dependencies.
2978# 'none' -- dependencies not supported.
2979# `unknown' -- same as none, but documents that we really don't know.
2980# 'pass_all' -- all dependencies passed with no checks.
2981# 'test_compile' -- check by making test program.
2982# 'file_magic [[regex]]' -- check by looking for files in library path
2983# which responds to the $file_magic_cmd with a given extended regex.
2984# If you have `file' or equivalent on your system and you're not sure
2985# whether `pass_all' will *always* work, you probably want this one.
2986
2987case $host_os in
2988aix[[4-9]]*)
2989 lt_cv_deplibs_check_method=pass_all
2990 ;;
2991
2992beos*)
2993 lt_cv_deplibs_check_method=pass_all
2994 ;;
2995
2996bsdi[[45]]*)
2997 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
2998 lt_cv_file_magic_cmd='/usr/bin/file -L'
2999 lt_cv_file_magic_test_file=/shlib/libc.so
3000 ;;
3001
3002cygwin*)
3003 # func_win32_libid is a shell function defined in ltmain.sh
3004 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3005 lt_cv_file_magic_cmd='func_win32_libid'
3006 ;;
3007
3008mingw* | pw32*)
3009 # Base MSYS/MinGW do not provide the 'file' command needed by
3010 # func_win32_libid shell function, so use a weaker test based on 'objdump',
3011 # unless we find 'file', for example because we are cross-compiling.
3012 if ( file / ) >/dev/null 2>&1; then
3013 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3014 lt_cv_file_magic_cmd='func_win32_libid'
3015 else
3016 lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
3017 lt_cv_file_magic_cmd='$OBJDUMP -f'
3018 fi
3019 ;;
3020
3021darwin* | rhapsody*)
3022 lt_cv_deplibs_check_method=pass_all
3023 ;;
3024
3025freebsd* | dragonfly*)
3026 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3027 case $host_cpu in
3028 i*86 )
3029 # Not sure whether the presence of OpenBSD here was a mistake.
3030 # Let's accept both of them until this is cleared up.
3031 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3032 lt_cv_file_magic_cmd=/usr/bin/file
3033 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3034 ;;
3035 esac
3036 else
3037 lt_cv_deplibs_check_method=pass_all
3038 fi
3039 ;;
3040
3041gnu*)
3042 lt_cv_deplibs_check_method=pass_all
3043 ;;
3044
3045hpux10.20* | hpux11*)
3046 lt_cv_file_magic_cmd=/usr/bin/file
3047 case $host_cpu in
3048 ia64*)
3049 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3050 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3051 ;;
3052 hppa*64*)
3053 [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
3054 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3055 ;;
3056 *)
3057 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
3058 lt_cv_file_magic_test_file=/usr/lib/libc.sl
3059 ;;
3060 esac
3061 ;;
3062
3063interix[[3-9]]*)
3064 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3065 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3066 ;;
3067
3068irix5* | irix6* | nonstopux*)
3069 case $LD in
3070 *-32|*"-32 ") libmagic=32-bit;;
3071 *-n32|*"-n32 ") libmagic=N32;;
3072 *-64|*"-64 ") libmagic=64-bit;;
3073 *) libmagic=never-match;;
3074 esac
3075 lt_cv_deplibs_check_method=pass_all
3076 ;;
3077
3078# This must be Linux ELF.
3079linux* | k*bsd*-gnu)
3080 lt_cv_deplibs_check_method=pass_all
3081 ;;
3082
3083netbsd* | netbsdelf*-gnu)
3084 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3085 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3086 else
3087 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3088 fi
3089 ;;
3090
3091newos6*)
3092 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3093 lt_cv_file_magic_cmd=/usr/bin/file
3094 lt_cv_file_magic_test_file=/usr/lib/libnls.so
3095 ;;
3096
3097*nto* | *qnx*)
3098 lt_cv_deplibs_check_method=pass_all
3099 ;;
3100
3101openbsd*)
3102 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3103 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3104 else
3105 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3106 fi
3107 ;;
3108
3109osf3* | osf4* | osf5*)
3110 lt_cv_deplibs_check_method=pass_all
3111 ;;
3112
3113rdos*)
3114 lt_cv_deplibs_check_method=pass_all
3115 ;;
3116
3117solaris*)
3118 lt_cv_deplibs_check_method=pass_all
3119 ;;
3120
3121sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3122 lt_cv_deplibs_check_method=pass_all
3123 ;;
3124
3125sysv4 | sysv4.3*)
3126 case $host_vendor in
3127 motorola)
3128 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]]'
3129 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3130 ;;
3131 ncr)
3132 lt_cv_deplibs_check_method=pass_all
3133 ;;
3134 sequent)
3135 lt_cv_file_magic_cmd='/bin/file'
3136 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3137 ;;
3138 sni)
3139 lt_cv_file_magic_cmd='/bin/file'
3140 lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3141 lt_cv_file_magic_test_file=/lib/libc.so
3142 ;;
3143 siemens)
3144 lt_cv_deplibs_check_method=pass_all
3145 ;;
3146 pc)
3147 lt_cv_deplibs_check_method=pass_all
3148 ;;
3149 esac
3150 ;;
3151
3152tpf*)
3153 lt_cv_deplibs_check_method=pass_all
3154 ;;
3155esac
3156])
3157file_magic_cmd=$lt_cv_file_magic_cmd
3158deplibs_check_method=$lt_cv_deplibs_check_method
3159test -z "$deplibs_check_method" && deplibs_check_method=unknown
3160
3161_LT_DECL([], [deplibs_check_method], [1],
3162 [Method to check whether dependent libraries are shared objects])
3163_LT_DECL([], [file_magic_cmd], [1],
3164 [Command to use when deplibs_check_method == "file_magic"])
3165])# _LT_CHECK_MAGIC_METHOD
3166
3167
3168# LT_PATH_NM
3169# ----------
3170# find the pathname to a BSD- or MS-compatible name lister
3171AC_DEFUN([LT_PATH_NM],
3172[AC_REQUIRE([AC_PROG_CC])dnl
3173AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3174[if test -n "$NM"; then
3175 # Let the user override the test.
3176 lt_cv_path_NM="$NM"
3177else
3178 lt_nm_to_check="${ac_tool_prefix}nm"
3179 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3180 lt_nm_to_check="$lt_nm_to_check nm"
3181 fi
3182 for lt_tmp_nm in $lt_nm_to_check; do
3183 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3184 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3185 IFS="$lt_save_ifs"
3186 test -z "$ac_dir" && ac_dir=.
3187 tmp_nm="$ac_dir/$lt_tmp_nm"
3188 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
3189 # Check to see if the nm accepts a BSD-compat flag.
3190 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3191 # nm: unknown option "B" ignored
3192 # Tru64's nm complains that /dev/null is an invalid object file
3193 case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
3194 */dev/null* | *'Invalid file or object type'*)
3195 lt_cv_path_NM="$tmp_nm -B"
3196 break
3197 ;;
3198 *)
3199 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3200 */dev/null*)
3201 lt_cv_path_NM="$tmp_nm -p"
3202 break
3203 ;;
3204 *)
3205 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3206 continue # so that we can try to find one that supports BSD flags
3207 ;;
3208 esac
3209 ;;
3210 esac
3211 fi
3212 done
3213 IFS="$lt_save_ifs"
3214 done
3215 : ${lt_cv_path_NM=no}
3216fi])
3217if test "$lt_cv_path_NM" != "no"; then
3218 NM="$lt_cv_path_NM"
3219else
3220 # Didn't find any BSD compatible name lister, look for dumpbin.
3221 AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
3222 AC_SUBST([DUMPBIN])
3223 if test "$DUMPBIN" != ":"; then
3224 NM="$DUMPBIN"
3225 fi
3226fi
3227test -z "$NM" && NM=nm
3228AC_SUBST([NM])
3229_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3230
3231AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3232 [lt_cv_nm_interface="BSD nm"
3233 echo "int some_variable = 0;" > conftest.$ac_ext
3234 (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3235 (eval "$ac_compile" 2>conftest.err)
3236 cat conftest.err >&AS_MESSAGE_LOG_FD
3237 (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3238 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3239 cat conftest.err >&AS_MESSAGE_LOG_FD
3240 (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
3241 cat conftest.out >&AS_MESSAGE_LOG_FD
3242 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3243 lt_cv_nm_interface="MS dumpbin"
3244 fi
3245 rm -f conftest*])
3246])# LT_PATH_NM
3247
3248# Old names:
3249AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3250AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3251dnl aclocal-1.4 backwards compatibility:
3252dnl AC_DEFUN([AM_PROG_NM], [])
3253dnl AC_DEFUN([AC_PROG_NM], [])
3254
3255
3256# LT_LIB_M
3257# --------
3258# check for math library
3259AC_DEFUN([LT_LIB_M],
3260[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3261LIBM=
3262case $host in
3263*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
3264 # These system don't have libm, or don't need it
3265 ;;
3266*-ncr-sysv4.3*)
3267 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3268 AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3269 ;;
3270*)
3271 AC_CHECK_LIB(m, cos, LIBM="-lm")
3272 ;;
3273esac
3274AC_SUBST([LIBM])
3275])# LT_LIB_M
3276
3277# Old name:
3278AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3279dnl aclocal-1.4 backwards compatibility:
3280dnl AC_DEFUN([AC_CHECK_LIBM], [])
3281
3282
3283# _LT_COMPILER_NO_RTTI([TAGNAME])
3284# -------------------------------
3285m4_defun([_LT_COMPILER_NO_RTTI],
3286[m4_require([_LT_TAG_COMPILER])dnl
3287
3288_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3289
3290if test "$GCC" = yes; then
3291 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
3292
3293 _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3294 lt_cv_prog_compiler_rtti_exceptions,
3295 [-fno-rtti -fno-exceptions], [],
3296 [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
3297fi
3298_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3299 [Compiler flag to turn off builtin functions])
3300])# _LT_COMPILER_NO_RTTI
3301
3302
3303# _LT_CMD_GLOBAL_SYMBOLS
3304# ----------------------
3305m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3306[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3307AC_REQUIRE([AC_PROG_CC])dnl
3308AC_REQUIRE([LT_PATH_NM])dnl
3309AC_REQUIRE([LT_PATH_LD])dnl
3310m4_require([_LT_DECL_SED])dnl
3311m4_require([_LT_DECL_EGREP])dnl
3312m4_require([_LT_TAG_COMPILER])dnl
3313
3314# Check for command to grab the raw symbol name followed by C symbol from nm.
3315AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3316AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3317[
3318# These are sane defaults that work on at least a few old systems.
3319# [They come from Ultrix. What could be older than Ultrix?!! ;)]
3320
3321# Character class describing NM global symbol codes.
3322symcode='[[BCDEGRST]]'
3323
3324# Regexp to match symbols that can be accessed directly from C.
3325sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3326
3327# Define system-specific variables.
3328case $host_os in
3329aix*)
3330 symcode='[[BCDT]]'
3331 ;;
3332cygwin* | mingw* | pw32*)
3333 symcode='[[ABCDGISTW]]'
3334 ;;
3335hpux*)
3336 if test "$host_cpu" = ia64; then
3337 symcode='[[ABCDEGRST]]'
3338 fi
3339 ;;
3340irix* | nonstopux*)
3341 symcode='[[BCDEGRST]]'
3342 ;;
3343osf*)
3344 symcode='[[BCDEGQRST]]'
3345 ;;
3346solaris*)
3347 symcode='[[BDRT]]'
3348 ;;
3349sco3.2v5*)
3350 symcode='[[DT]]'
3351 ;;
3352sysv4.2uw2*)
3353 symcode='[[DT]]'
3354 ;;
3355sysv5* | sco5v6* | unixware* | OpenUNIX*)
3356 symcode='[[ABDT]]'
3357 ;;
3358sysv4)
3359 symcode='[[DFNSTU]]'
3360 ;;
3361esac
3362
3363# If we're using GNU nm, then use its standard symbol codes.
3364case `$NM -V 2>&1` in
3365*GNU* | *'with BFD'*)
3366 symcode='[[ABCDGIRSTW]]' ;;
3367esac
3368
3369# Transform an extracted symbol line into a proper C declaration.
3370# Some systems (esp. on ia64) link data and code symbols differently,
3371# so use this general approach.
3372lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
3373
3374# Transform an extracted symbol line into symbol name and symbol address
3375lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
3376lt_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'"
3377
3378# Handle CRLF in mingw tool chain
3379opt_cr=
3380case $build_os in
3381mingw*)
3382 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
3383 ;;
3384esac
3385
3386# Try without a prefix underscore, then with it.
3387for ac_symprfx in "" "_"; do
3388
3389 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
3390 symxfrm="\\1 $ac_symprfx\\2 \\2"
3391
3392 # Write the raw and C identifiers.
3393 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3394 # Fake it for dumpbin and say T for any non-static function
3395 # and D for any global variable.
3396 # Also find C++ and __fastcall symbols from MSVC++,
3397 # which start with @ or ?.
3398 lt_cv_sys_global_symbol_pipe="$AWK ['"\
3399" {last_section=section; section=\$ 3};"\
3400" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
3401" \$ 0!~/External *\|/{next};"\
3402" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
3403" {if(hide[section]) next};"\
3404" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
3405" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
3406" s[1]~/^[@?]/{print s[1], s[1]; next};"\
3407" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
3408" ' prfx=^$ac_symprfx]"
3409 else
3410 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
3411 fi
3412
3413 # Check to see that the pipe works correctly.
3414 pipe_works=no
3415
3416 rm -f conftest*
3417 cat > conftest.$ac_ext <<_LT_EOF
3418#ifdef __cplusplus
3419extern "C" {
3420#endif
3421char nm_test_var;
3422void nm_test_func(void);
3423void nm_test_func(void){}
3424#ifdef __cplusplus
3425}
3426#endif
3427int main(){nm_test_var='a';nm_test_func();return(0);}
3428_LT_EOF
3429
3430 if AC_TRY_EVAL(ac_compile); then
3431 # Now try to grab the symbols.
3432 nlist=conftest.nm
3433 if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
3434 # Try sorting and uniquifying the output.
3435 if sort "$nlist" | uniq > "$nlist"T; then
3436 mv -f "$nlist"T "$nlist"
3437 else
3438 rm -f "$nlist"T
3439 fi
3440
3441 # Make sure that we snagged all the symbols we need.
3442 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
3443 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
3444 cat <<_LT_EOF > conftest.$ac_ext
3445#ifdef __cplusplus
3446extern "C" {
3447#endif
3448
3449_LT_EOF
3450 # Now generate the symbol file.
3451 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
3452
3453 cat <<_LT_EOF >> conftest.$ac_ext
3454
3455/* The mapping between symbol names and symbols. */
3456const struct {
3457 const char *name;
3458 void *address;
3459}
3460lt__PROGRAM__LTX_preloaded_symbols[[]] =
3461{
3462 { "@PROGRAM@", (void *) 0 },
3463_LT_EOF
3464 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
3465 cat <<\_LT_EOF >> conftest.$ac_ext
3466 {0, (void *) 0}
3467};
3468
3469/* This works around a problem in FreeBSD linker */
3470#ifdef FREEBSD_WORKAROUND
3471static const void *lt_preloaded_setup() {
3472 return lt__PROGRAM__LTX_preloaded_symbols;
3473}
3474#endif
3475
3476#ifdef __cplusplus
3477}
3478#endif
3479_LT_EOF
3480 # Now try linking the two files.
3481 mv conftest.$ac_objext conftstm.$ac_objext
3482 lt_save_LIBS="$LIBS"
3483 lt_save_CFLAGS="$CFLAGS"
3484 LIBS="conftstm.$ac_objext"
3485 CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
3486 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
3487 pipe_works=yes
3488 fi
3489 LIBS="$lt_save_LIBS"
3490 CFLAGS="$lt_save_CFLAGS"
3491 else
3492 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
3493 fi
3494 else
3495 echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
3496 fi
3497 else
3498 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
3499 fi
3500 else
3501 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
3502 cat conftest.$ac_ext >&5
3503 fi
3504 rm -rf conftest* conftst*
3505
3506 # Do not use the global_symbol_pipe unless it works.
3507 if test "$pipe_works" = yes; then
3508 break
3509 else
3510 lt_cv_sys_global_symbol_pipe=
3511 fi
3512done
3513])
3514if test -z "$lt_cv_sys_global_symbol_pipe"; then
3515 lt_cv_sys_global_symbol_to_cdecl=
3516fi
3517if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
3518 AC_MSG_RESULT(failed)
3519else
3520 AC_MSG_RESULT(ok)
3521fi
3522
3523_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
3524 [Take the output of nm and produce a listing of raw symbols and C names])
3525_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
3526 [Transform the output of nm in a proper C declaration])
3527_LT_DECL([global_symbol_to_c_name_address],
3528 [lt_cv_sys_global_symbol_to_c_name_address], [1],
3529 [Transform the output of nm in a C name address pair])
3530_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
3531 [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
3532 [Transform the output of nm in a C name address pair when lib prefix is needed])
3533]) # _LT_CMD_GLOBAL_SYMBOLS
3534
3535
3536# _LT_COMPILER_PIC([TAGNAME])
3537# ---------------------------
3538m4_defun([_LT_COMPILER_PIC],
3539[m4_require([_LT_TAG_COMPILER])dnl
3540_LT_TAGVAR(lt_prog_compiler_wl, $1)=
3541_LT_TAGVAR(lt_prog_compiler_pic, $1)=
3542_LT_TAGVAR(lt_prog_compiler_static, $1)=
3543
3544AC_MSG_CHECKING([for $compiler option to produce PIC])
3545m4_if([$1], [CXX], [
3546 # C++ specific cases for pic, static, wl, etc.
3547 if test "$GXX" = yes; then
3548 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3549 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3550
3551 case $host_os in
3552 aix*)
3553 # All AIX code is PIC.
3554 if test "$host_cpu" = ia64; then
3555 # AIX 5 now supports IA64 processor
3556 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3557 fi
3558 ;;
3559
3560 amigaos*)
3561 case $host_cpu in
3562 powerpc)
3563 # see comment about AmigaOS4 .so support
3564 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3565 ;;
3566 m68k)
3567 # FIXME: we need at least 68020 code to build shared libraries, but
3568 # adding the `-m68020' flag to GCC prevents building anything better,
3569 # like `-m68040'.
3570 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3571 ;;
3572 esac
3573 ;;
3574
3575 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3576 # PIC is the default for these OSes.
3577 ;;
3578 mingw* | cygwin* | os2* | pw32*)
3579 # This hack is so that the source file can tell whether it is being
3580 # built for inclusion in a dll (and should export symbols for example).
3581 # Although the cygwin gcc ignores -fPIC, still need this for old-style
3582 # (--disable-auto-import) libraries
3583 m4_if([$1], [GCJ], [],
3584 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3585 ;;
3586 darwin* | rhapsody*)
3587 # PIC is the default on this platform
3588 # Common symbols not allowed in MH_DYLIB files
3589 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3590 ;;
3591 *djgpp*)
3592 # DJGPP does not support shared libraries at all
3593 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3594 ;;
3595 interix[[3-9]]*)
3596 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3597 # Instead, we relocate shared libraries at runtime.
3598 ;;
3599 sysv4*MP*)
3600 if test -d /usr/nec; then
3601 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3602 fi
3603 ;;
3604 hpux*)
3605 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
3606 # not for PA HP-UX.
3607 case $host_cpu in
3608 hppa*64*|ia64*)
3609 ;;
3610 *)
3611 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3612 ;;
3613 esac
3614 ;;
3615 *qnx* | *nto*)
3616 # QNX uses GNU C++, but need to define -shared option too, otherwise
3617 # it will coredump.
3618 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3619 ;;
3620 *)
3621 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3622 ;;
3623 esac
3624 else
3625 case $host_os in
3626 aix[[4-9]]*)
3627 # All AIX code is PIC.
3628 if test "$host_cpu" = ia64; then
3629 # AIX 5 now supports IA64 processor
3630 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3631 else
3632 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
3633 fi
3634 ;;
3635 chorus*)
3636 case $cc_basename in
3637 cxch68*)
3638 # Green Hills C++ Compiler
3639 # _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"
3640 ;;
3641 esac
3642 ;;
3643 dgux*)
3644 case $cc_basename in
3645 ec++*)
3646 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3647 ;;
3648 ghcx*)
3649 # Green Hills C++ Compiler
3650 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3651 ;;
3652 *)
3653 ;;
3654 esac
3655 ;;
3656 freebsd* | dragonfly*)
3657 # FreeBSD uses GNU C++
3658 ;;
3659 hpux9* | hpux10* | hpux11*)
3660 case $cc_basename in
3661 CC*)
3662 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3663 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
3664 if test "$host_cpu" != ia64; then
3665 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
3666 fi
3667 ;;
3668 aCC*)
3669 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3670 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
3671 case $host_cpu in
3672 hppa*64*|ia64*)
3673 # +Z the default
3674 ;;
3675 *)
3676 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
3677 ;;
3678 esac
3679 ;;
3680 *)
3681 ;;
3682 esac
3683 ;;
3684 interix*)
3685 # This is c89, which is MS Visual C++ (no shared libs)
3686 # Anyone wants to do a port?
3687 ;;
3688 irix5* | irix6* | nonstopux*)
3689 case $cc_basename in
3690 CC*)
3691 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3692 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3693 # CC pic flag -KPIC is the default.
3694 ;;
3695 *)
3696 ;;
3697 esac
3698 ;;
3699 linux* | k*bsd*-gnu)
3700 case $cc_basename in
3701 KCC*)
3702 # KAI C++ Compiler
3703 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
3704 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3705 ;;
3706 icpc* | ecpc* )
3707 # Intel C++
3708 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3709 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3710 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3711 ;;
3712 pgCC* | pgcpp*)
3713 # Portland Group C++ compiler
3714 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3715 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
3716 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3717 ;;
3718 cxx*)
3719 # Compaq C++
3720 # Make sure the PIC flag is empty. It appears that all Alpha
3721 # Linux and Compaq Tru64 Unix objects are PIC.
3722 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3723 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3724 ;;
3725 xlc* | xlC*)
3726 # IBM XL 8.0 on PPC
3727 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3728 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
3729 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
3730 ;;
3731 *)
3732 case `$CC -V 2>&1 | sed 5q` in
3733 *Sun\ C*)
3734 # Sun C++ 5.9
3735 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3736 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3737 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
3738 ;;
3739 esac
3740 ;;
3741 esac
3742 ;;
3743 lynxos*)
3744 ;;
3745 m88k*)
3746 ;;
3747 mvs*)
3748 case $cc_basename in
3749 cxx*)
3750 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
3751 ;;
3752 *)
3753 ;;
3754 esac
3755 ;;
3756 netbsd* | netbsdelf*-gnu)
3757 ;;
3758 *qnx* | *nto*)
3759 # QNX uses GNU C++, but need to define -shared option too, otherwise
3760 # it will coredump.
3761 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3762 ;;
3763 osf3* | osf4* | osf5*)
3764 case $cc_basename in
3765 KCC*)
3766 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
3767 ;;
3768 RCC*)
3769 # Rational C++ 2.4.1
3770 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3771 ;;
3772 cxx*)
3773 # Digital/Compaq C++
3774 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3775 # Make sure the PIC flag is empty. It appears that all Alpha
3776 # Linux and Compaq Tru64 Unix objects are PIC.
3777 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3778 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3779 ;;
3780 *)
3781 ;;
3782 esac
3783 ;;
3784 psos*)
3785 ;;
3786 solaris*)
3787 case $cc_basename in
3788 CC*)
3789 # Sun C++ 4.2, 5.x and Centerline C++
3790 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3791 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3792 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
3793 ;;
3794 gcx*)
3795 # Green Hills C++ Compiler
3796 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
3797 ;;
3798 *)
3799 ;;
3800 esac
3801 ;;
3802 sunos4*)
3803 case $cc_basename in
3804 CC*)
3805 # Sun C++ 4.x
3806 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3807 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3808 ;;
3809 lcc*)
3810 # Lucid
3811 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3812 ;;
3813 *)
3814 ;;
3815 esac
3816 ;;
3817 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
3818 case $cc_basename in
3819 CC*)
3820 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3821 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3822 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3823 ;;
3824 esac
3825 ;;
3826 tandem*)
3827 case $cc_basename in
3828 NCC*)
3829 # NonStop-UX NCC 3.20
3830 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3831 ;;
3832 *)
3833 ;;
3834 esac
3835 ;;
3836 vxworks*)
3837 ;;
3838 *)
3839 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
3840 ;;
3841 esac
3842 fi
3843],
3844[
3845 if test "$GCC" = yes; then
3846 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3847 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3848
3849 case $host_os in
3850 aix*)
3851 # All AIX code is PIC.
3852 if test "$host_cpu" = ia64; then
3853 # AIX 5 now supports IA64 processor
3854 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3855 fi
3856 ;;
3857
3858 amigaos*)
3859 case $host_cpu in
3860 powerpc)
3861 # see comment about AmigaOS4 .so support
3862 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3863 ;;
3864 m68k)
3865 # FIXME: we need at least 68020 code to build shared libraries, but
3866 # adding the `-m68020' flag to GCC prevents building anything better,
3867 # like `-m68040'.
3868 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3869 ;;
3870 esac
3871 ;;
3872
3873 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3874 # PIC is the default for these OSes.
3875 ;;
3876
3877 mingw* | cygwin* | pw32* | os2*)
3878 # This hack is so that the source file can tell whether it is being
3879 # built for inclusion in a dll (and should export symbols for example).
3880 # Although the cygwin gcc ignores -fPIC, still need this for old-style
3881 # (--disable-auto-import) libraries
3882 m4_if([$1], [GCJ], [],
3883 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3884 ;;
3885
3886 darwin* | rhapsody*)
3887 # PIC is the default on this platform
3888 # Common symbols not allowed in MH_DYLIB files
3889 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3890 ;;
3891
3892 hpux*)
3893 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
3894 # not for PA HP-UX.
3895 case $host_cpu in
3896 hppa*64*|ia64*)
3897 # +Z the default
3898 ;;
3899 *)
3900 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3901 ;;
3902 esac
3903 ;;
3904
3905 interix[[3-9]]*)
3906 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3907 # Instead, we relocate shared libraries at runtime.
3908 ;;
3909
3910 msdosdjgpp*)
3911 # Just because we use GCC doesn't mean we suddenly get shared libraries
3912 # on systems that don't support them.
3913 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
3914 enable_shared=no
3915 ;;
3916
3917 *nto* | *qnx*)
3918 # QNX uses GNU C++, but need to define -shared option too, otherwise
3919 # it will coredump.
3920 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3921 ;;
3922
3923 sysv4*MP*)
3924 if test -d /usr/nec; then
3925 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3926 fi
3927 ;;
3928
3929 *)
3930 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3931 ;;
3932 esac
3933 else
3934 # PORTME Check for flag to pass linker flags through the system compiler.
3935 case $host_os in
3936 aix*)
3937 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3938 if test "$host_cpu" = ia64; then
3939 # AIX 5 now supports IA64 processor
3940 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3941 else
3942 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
3943 fi
3944 ;;
3945
3946 mingw* | cygwin* | pw32* | os2*)
3947 # This hack is so that the source file can tell whether it is being
3948 # built for inclusion in a dll (and should export symbols for example).
3949 m4_if([$1], [GCJ], [],
3950 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3951 ;;
3952
3953 hpux9* | hpux10* | hpux11*)
3954 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3955 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
3956 # not for PA HP-UX.
3957 case $host_cpu in
3958 hppa*64*|ia64*)
3959 # +Z the default
3960 ;;
3961 *)
3962 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
3963 ;;
3964 esac
3965 # Is there a better lt_prog_compiler_static that works with the bundled CC?
3966 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
3967 ;;
3968
3969 irix5* | irix6* | nonstopux*)
3970 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3971 # PIC (with -KPIC) is the default.
3972 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3973 ;;
3974
3975 linux* | k*bsd*-gnu)
3976 case $cc_basename in
3977 icc* | ecc* | ifort*)
3978 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3979 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3980 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3981 ;;
3982 pgcc* | pgf77* | pgf90* | pgf95*)
3983 # Portland Group compilers (*not* the Pentium gcc compiler,
3984 # which looks to be a dead project)
3985 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3986 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
3987 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3988 ;;
3989 ccc*)
3990 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3991 # All Alpha code is PIC.
3992 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3993 ;;
3994 xl*)
3995 # IBM XL C 8.0/Fortran 10.1 on PPC
3996 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3997 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
3998 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
3999 ;;
4000 *)
4001 case `$CC -V 2>&1 | sed 5q` in
4002 *Sun\ C*)
4003 # Sun C 5.9
4004 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4005 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4006 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4007 ;;
4008 *Sun\ F*)
4009 # Sun Fortran 8.3 passes all unrecognized flags to the linker
4010 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4011 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4012 _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4013 ;;
4014 esac
4015 ;;
4016 esac
4017 ;;
4018
4019 newsos6)
4020 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4021 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4022 ;;
4023
4024 *nto* | *qnx*)
4025 # QNX uses GNU C++, but need to define -shared option too, otherwise
4026 # it will coredump.
4027 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4028 ;;
4029
4030 osf3* | osf4* | osf5*)
4031 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4032 # All OSF/1 code is PIC.
4033 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4034 ;;
4035
4036 rdos*)
4037 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4038 ;;
4039
4040 solaris*)
4041 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4042 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4043 case $cc_basename in
4044 f77* | f90* | f95*)
4045 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4046 *)
4047 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4048 esac
4049 ;;
4050
4051 sunos4*)
4052 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4053 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4054 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4055 ;;
4056
4057 sysv4 | sysv4.2uw2* | sysv4.3*)
4058 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4059 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4060 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4061 ;;
4062
4063 sysv4*MP*)
4064 if test -d /usr/nec ;then
4065 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4066 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4067 fi
4068 ;;
4069
4070 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4071 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4072 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4073 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4074 ;;
4075
4076 unicos*)
4077 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4078 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4079 ;;
4080
4081 uts4*)
4082 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4083 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4084 ;;
4085
4086 *)
4087 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4088 ;;
4089 esac
4090 fi
4091])
4092case $host_os in
4093 # For platforms which do not support PIC, -DPIC is meaningless:
4094 *djgpp*)
4095 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4096 ;;
4097 *)
4098 _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4099 ;;
4100esac
4101AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4102_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4103 [How to pass a linker flag through the compiler])
4104
4105#
4106# Check to make sure the PIC flag actually works.
4107#
4108if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4109 _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4110 [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4111 [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4112 [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
4113 "" | " "*) ;;
4114 *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4115 esac],
4116 [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4117 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4118fi
4119_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4120 [Additional compiler flags for building library objects])
4121
4122#
4123# Check to make sure the static flag actually works.
4124#
4125wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4126_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4127 _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
4128 $lt_tmp_static_flag,
4129 [],
4130 [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4131_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4132 [Compiler flag to prevent dynamic linking])
4133])# _LT_COMPILER_PIC
4134
4135
4136# _LT_LINKER_SHLIBS([TAGNAME])
4137# ----------------------------
4138# See if the linker supports building shared libraries.
4139m4_defun([_LT_LINKER_SHLIBS],
4140[AC_REQUIRE([LT_PATH_LD])dnl
4141AC_REQUIRE([LT_PATH_NM])dnl
4142m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4143m4_require([_LT_DECL_EGREP])dnl
4144m4_require([_LT_DECL_SED])dnl
4145m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4146m4_require([_LT_TAG_COMPILER])dnl
4147AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4148m4_if([$1], [CXX], [
4149 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4150 case $host_os in
4151 aix[[4-9]]*)
4152 # If we're using GNU nm, then we don't want the "-C" option.
4153 # -C means demangle to AIX nm, but means don't demangle with GNU nm
4154 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4155 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4156 else
4157 _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'
4158 fi
4159 ;;
4160 pw32*)
4161 _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
4162 ;;
4163 cygwin* | mingw*)
4164 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
4165 ;;
4166 linux* | k*bsd*-gnu)
4167 _LT_TAGVAR(link_all_deplibs, $1)=no
4168 ;;
4169 *)
4170 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4171 ;;
4172 esac
4173 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4174], [
4175 runpath_var=
4176 _LT_TAGVAR(allow_undefined_flag, $1)=
4177 _LT_TAGVAR(always_export_symbols, $1)=no
4178 _LT_TAGVAR(archive_cmds, $1)=
4179 _LT_TAGVAR(archive_expsym_cmds, $1)=
4180 _LT_TAGVAR(compiler_needs_object, $1)=no
4181 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4182 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4183 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4184 _LT_TAGVAR(hardcode_automatic, $1)=no
4185 _LT_TAGVAR(hardcode_direct, $1)=no
4186 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4187 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4188 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
4189 _LT_TAGVAR(hardcode_libdir_separator, $1)=
4190 _LT_TAGVAR(hardcode_minus_L, $1)=no
4191 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4192 _LT_TAGVAR(inherit_rpath, $1)=no
4193 _LT_TAGVAR(link_all_deplibs, $1)=unknown
4194 _LT_TAGVAR(module_cmds, $1)=
4195 _LT_TAGVAR(module_expsym_cmds, $1)=
4196 _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4197 _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4198 _LT_TAGVAR(thread_safe_flag_spec, $1)=
4199 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4200 # include_expsyms should be a list of space-separated symbols to be *always*
4201 # included in the symbol list
4202 _LT_TAGVAR(include_expsyms, $1)=
4203 # exclude_expsyms can be an extended regexp of symbols to exclude
4204 # it will be wrapped by ` (' and `)$', so one must not match beginning or
4205 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
4206 # as well as any symbol that contains `d'.
4207 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4208 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4209 # platforms (ab)use it in PIC code, but their linkers get confused if
4210 # the symbol is explicitly referenced. Since portable code cannot
4211 # rely on this symbol name, it's probably fine to never include it in
4212 # preloaded symbol tables.
4213 # Exclude shared library initialization/finalization symbols.
4214dnl Note also adjust exclude_expsyms for C++ above.
4215 extract_expsyms_cmds=
4216
4217 case $host_os in
4218 cygwin* | mingw* | pw32*)
4219 # FIXME: the MSVC++ port hasn't been tested in a loooong time
4220 # When not using gcc, we currently assume that we are using
4221 # Microsoft Visual C++.
4222 if test "$GCC" != yes; then
4223 with_gnu_ld=no
4224 fi
4225 ;;
4226 interix*)
4227 # we just hope/assume this is gcc and not c89 (= MSVC++)
4228 with_gnu_ld=yes
4229 ;;
4230 openbsd*)
4231 with_gnu_ld=no
4232 ;;
4233 esac
4234
4235 _LT_TAGVAR(ld_shlibs, $1)=yes
4236 if test "$with_gnu_ld" = yes; then
4237 # If archive_cmds runs LD, not CC, wlarc should be empty
4238 wlarc='${wl}'
4239
4240 # Set some defaults for GNU ld with shared library support. These
4241 # are reset later if shared libraries are not supported. Putting them
4242 # here allows them to be overridden if necessary.
4243 runpath_var=LD_RUN_PATH
4244 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4245 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4246 # ancient GNU ld didn't support --whole-archive et. al.
4247 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
4248 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4249 else
4250 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4251 fi
4252 supports_anon_versioning=no
4253 case `$LD -v 2>&1` in
4254 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
4255 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
4256 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
4257 *\ 2.11.*) ;; # other 2.11 versions
4258 *) supports_anon_versioning=yes ;;
4259 esac
4260
4261 # See if GNU ld supports shared libraries.
4262 case $host_os in
4263 aix[[3-9]]*)
4264 # On AIX/PPC, the GNU linker is very broken
4265 if test "$host_cpu" != ia64; then
4266 _LT_TAGVAR(ld_shlibs, $1)=no
4267 cat <<_LT_EOF 1>&2
4268
4269*** Warning: the GNU linker, at least up to release 2.9.1, is reported
4270*** to be unable to reliably create shared libraries on AIX.
4271*** Therefore, libtool is disabling shared libraries support. If you
4272*** really care for shared libraries, you may want to modify your PATH
4273*** so that a non-GNU linker is found, and then restart.
4274
4275_LT_EOF
4276 fi
4277 ;;
4278
4279 amigaos*)
4280 case $host_cpu in
4281 powerpc)
4282 # see comment about AmigaOS4 .so support
4283 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4284 _LT_TAGVAR(archive_expsym_cmds, $1)=''
4285 ;;
4286 m68k)
4287 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
4288 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4289 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4290 ;;
4291 esac
4292 ;;
4293
4294 beos*)
4295 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4296 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4297 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4298 # support --undefined. This deserves some investigation. FIXME
4299 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4300 else
4301 _LT_TAGVAR(ld_shlibs, $1)=no
4302 fi
4303 ;;
4304
4305 cygwin* | mingw* | pw32*)
4306 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
4307 # as there is no search path for DLLs.
4308 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4309 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4310 _LT_TAGVAR(always_export_symbols, $1)=no
4311 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4312 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
4313
4314 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
4315 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
4316 # If the export-symbols file already is a .def file (1st line
4317 # is EXPORTS), use it as is; otherwise, prepend...
4318 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
4319 cp $export_symbols $output_objdir/$soname.def;
4320 else
4321 echo EXPORTS > $output_objdir/$soname.def;
4322 cat $export_symbols >> $output_objdir/$soname.def;
4323 fi~
4324 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
4325 else
4326 _LT_TAGVAR(ld_shlibs, $1)=no
4327 fi
4328 ;;
4329
4330 interix[[3-9]]*)
4331 _LT_TAGVAR(hardcode_direct, $1)=no
4332 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4333 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4334 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4335 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
4336 # Instead, shared libraries are loaded at an image base (0x10000000 by
4337 # default) and relocated if they conflict, which is a slow very memory
4338 # consuming and fragmenting process. To avoid this, we pick a random,
4339 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
4340 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
4341 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
4342 _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
4343 ;;
4344
4345 gnu* | linux* | tpf* | k*bsd*-gnu)
4346 tmp_diet=no
4347 if test "$host_os" = linux-dietlibc; then
4348 case $cc_basename in
4349 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
4350 esac
4351 fi
4352 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
4353 && test "$tmp_diet" = no
4354 then
4355 tmp_addflag=
4356 tmp_sharedflag='-shared'
4357 case $cc_basename,$host_cpu in
4358 pgcc*) # Portland Group C compiler
4359 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
4360 tmp_addflag=' $pic_flag'
4361 ;;
4362 pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
4363 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
4364 tmp_addflag=' $pic_flag -Mnomain' ;;
4365 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
4366 tmp_addflag=' -i_dynamic' ;;
4367 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
4368 tmp_addflag=' -i_dynamic -nofor_main' ;;
4369 ifc* | ifort*) # Intel Fortran compiler
4370 tmp_addflag=' -nofor_main' ;;
4371 xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
4372 tmp_sharedflag='-qmkshrobj'
4373 tmp_addflag= ;;
4374 esac
4375 case `$CC -V 2>&1 | sed 5q` in
4376 *Sun\ C*) # Sun C 5.9
4377 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
4378 _LT_TAGVAR(compiler_needs_object, $1)=yes
4379 tmp_sharedflag='-G' ;;
4380 *Sun\ F*) # Sun Fortran 8.3
4381 tmp_sharedflag='-G' ;;
4382 esac
4383 _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4384
4385 if test "x$supports_anon_versioning" = xyes; then
4386 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4387 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4388 echo "local: *; };" >> $output_objdir/$libname.ver~
4389 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
4390 fi
4391
4392 case $cc_basename in
4393 xlf*)
4394 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
4395 _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
4396 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4397 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
4398 _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
4399 if test "x$supports_anon_versioning" = xyes; then
4400 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4401 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4402 echo "local: *; };" >> $output_objdir/$libname.ver~
4403 $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
4404 fi
4405 ;;
4406 esac
4407 else
4408 _LT_TAGVAR(ld_shlibs, $1)=no
4409 fi
4410 ;;
4411
4412 netbsd* | netbsdelf*-gnu)
4413 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4414 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
4415 wlarc=
4416 else
4417 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4418 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4419 fi
4420 ;;
4421
4422 solaris*)
4423 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
4424 _LT_TAGVAR(ld_shlibs, $1)=no
4425 cat <<_LT_EOF 1>&2
4426
4427*** Warning: The releases 2.8.* of the GNU linker cannot reliably
4428*** create shared libraries on Solaris systems. Therefore, libtool
4429*** is disabling shared libraries support. We urge you to upgrade GNU
4430*** binutils to release 2.9.1 or newer. Another option is to modify
4431*** your PATH or compiler configuration so that the native linker is
4432*** used, and then restart.
4433
4434_LT_EOF
4435 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4436 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4437 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4438 else
4439 _LT_TAGVAR(ld_shlibs, $1)=no
4440 fi
4441 ;;
4442
4443 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
4444 case `$LD -v 2>&1` in
4445 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
4446 _LT_TAGVAR(ld_shlibs, $1)=no
4447 cat <<_LT_EOF 1>&2
4448
4449*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
4450*** reliably create shared libraries on SCO systems. Therefore, libtool
4451*** is disabling shared libraries support. We urge you to upgrade GNU
4452*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
4453*** your PATH or compiler configuration so that the native linker is
4454*** used, and then restart.
4455
4456_LT_EOF
4457 ;;
4458 *)
4459 # For security reasons, it is highly recommended that you always
4460 # use absolute paths for naming shared libraries, and exclude the
4461 # DT_RUNPATH tag from executables and libraries. But doing so
4462 # requires that you compile everything twice, which is a pain.
4463 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4464 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4465 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4466 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4467 else
4468 _LT_TAGVAR(ld_shlibs, $1)=no
4469 fi
4470 ;;
4471 esac
4472 ;;
4473
4474 sunos4*)
4475 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4476 wlarc=
4477 _LT_TAGVAR(hardcode_direct, $1)=yes
4478 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4479 ;;
4480
4481 *)
4482 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4483 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4484 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4485 else
4486 _LT_TAGVAR(ld_shlibs, $1)=no
4487 fi
4488 ;;
4489 esac
4490
4491 if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
4492 runpath_var=
4493 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4494 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4495 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4496 fi
4497 else
4498 # PORTME fill in a description of your system's linker (not GNU ld)
4499 case $host_os in
4500 aix3*)
4501 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4502 _LT_TAGVAR(always_export_symbols, $1)=yes
4503 _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
4504 # Note: this linker hardcodes the directories in LIBPATH if there
4505 # are no directories specified by -L.
4506 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4507 if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
4508 # Neither direct hardcoding nor static linking is supported with a
4509 # broken collect2.
4510 _LT_TAGVAR(hardcode_direct, $1)=unsupported
4511 fi
4512 ;;
4513
4514 aix[[4-9]]*)
4515 if test "$host_cpu" = ia64; then
4516 # On IA64, the linker does run time linking by default, so we don't
4517 # have to do anything special.
4518 aix_use_runtimelinking=no
4519 exp_sym_flag='-Bexport'
4520 no_entry_flag=""
4521 else
4522 # If we're using GNU nm, then we don't want the "-C" option.
4523 # -C means demangle to AIX nm, but means don't demangle with GNU nm
4524 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4525 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4526 else
4527 _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'
4528 fi
4529 aix_use_runtimelinking=no
4530
4531 # Test if we are trying to use run time linking or normal
4532 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
4533 # need to do runtime linking.
4534 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
4535 for ld_flag in $LDFLAGS; do
4536 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
4537 aix_use_runtimelinking=yes
4538 break
4539 fi
4540 done
4541 ;;
4542 esac
4543
4544 exp_sym_flag='-bexport'
4545 no_entry_flag='-bnoentry'
4546 fi
4547
4548 # When large executables or shared objects are built, AIX ld can
4549 # have problems creating the table of contents. If linking a library
4550 # or program results in "error TOC overflow" add -mminimal-toc to
4551 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
4552 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
4553
4554 _LT_TAGVAR(archive_cmds, $1)=''
4555 _LT_TAGVAR(hardcode_direct, $1)=yes
4556 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4557 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
4558 _LT_TAGVAR(link_all_deplibs, $1)=yes
4559 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
4560
4561 if test "$GCC" = yes; then
4562 case $host_os in aix4.[[012]]|aix4.[[012]].*)
4563 # We only want to do this on AIX 4.2 and lower, the check
4564 # below for broken collect2 doesn't work under 4.3+
4565 collect2name=`${CC} -print-prog-name=collect2`
4566 if test -f "$collect2name" &&
4567 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
4568 then
4569 # We have reworked collect2
4570 :
4571 else
4572 # We have old collect2
4573 _LT_TAGVAR(hardcode_direct, $1)=unsupported
4574 # It fails to find uninstalled libraries when the uninstalled
4575 # path is not listed in the libpath. Setting hardcode_minus_L
4576 # to unsupported forces relinking
4577 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4578 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4579 _LT_TAGVAR(hardcode_libdir_separator, $1)=
4580 fi
4581 ;;
4582 esac
4583 shared_flag='-shared'
4584 if test "$aix_use_runtimelinking" = yes; then
4585 shared_flag="$shared_flag "'${wl}-G'
4586 fi
4587 _LT_TAGVAR(link_all_deplibs, $1)=no
4588 else
4589 # not using gcc
4590 if test "$host_cpu" = ia64; then
4591 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
4592 # chokes on -Wl,-G. The following line is correct:
4593 shared_flag='-G'
4594 else
4595 if test "$aix_use_runtimelinking" = yes; then
4596 shared_flag='${wl}-G'
4597 else
4598 shared_flag='${wl}-bM:SRE'
4599 fi
4600 fi
4601 fi
4602
4603 # It seems that -bexpall does not export symbols beginning with
4604 # underscore (_), so it is better to generate a list of symbols to export.
4605 _LT_TAGVAR(always_export_symbols, $1)=yes
4606 if test "$aix_use_runtimelinking" = yes; then
4607 # Warning - without using the other runtime loading flags (-brtl),
4608 # -berok will link without error, but may produce a broken library.
4609 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
4610 # Determine the default libpath from the value encoded in an
4611 # empty executable.
4612 _LT_SYS_MODULE_PATH_AIX
4613 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4614 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
4615 else
4616 if test "$host_cpu" = ia64; then
4617 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
4618 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
4619 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
4620 else
4621 # Determine the default libpath from the value encoded in an
4622 # empty executable.
4623 _LT_SYS_MODULE_PATH_AIX
4624 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4625 # Warning - without using the other run time loading flags,
4626 # -berok will link without error, but may produce a broken library.
4627 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
4628 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
4629 # Exported symbols can be pulled into shared objects from archives
4630 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
4631 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
4632 # This is similar to how AIX traditionally builds its shared libraries.
4633 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
4634 fi
4635 fi
4636 ;;
4637
4638 amigaos*)
4639 case $host_cpu in
4640 powerpc)
4641 # see comment about AmigaOS4 .so support
4642 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4643 _LT_TAGVAR(archive_expsym_cmds, $1)=''
4644 ;;
4645 m68k)
4646 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
4647 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4648 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4649 ;;
4650 esac
4651 ;;
4652
4653 bsdi[[45]]*)
4654 _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
4655 ;;
4656
4657 cygwin* | mingw* | pw32*)
4658 # When not using gcc, we currently assume that we are using
4659 # Microsoft Visual C++.
4660 # hardcode_libdir_flag_spec is actually meaningless, as there is
4661 # no search path for DLLs.
4662 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
4663 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4664 # Tell ltmain to make .lib files, not .a files.
4665 libext=lib
4666 # Tell ltmain to make .dll files, not .so files.
4667 shrext_cmds=".dll"
4668 # FIXME: Setting linknames here is a bad hack.
4669 _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
4670 # The linker will automatically build a .lib file if we build a DLL.
4671 _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
4672 # FIXME: Should let the user specify the lib program.
4673 _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
4674 _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
4675 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4676 ;;
4677
4678 darwin* | rhapsody*)
4679 _LT_DARWIN_LINKER_FEATURES($1)
4680 ;;
4681
4682 dgux*)
4683 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4684 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4685 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4686 ;;
4687
4688 freebsd1*)
4689 _LT_TAGVAR(ld_shlibs, $1)=no
4690 ;;
4691
4692 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
4693 # support. Future versions do this automatically, but an explicit c++rt0.o
4694 # does not break anything, and helps significantly (at the cost of a little
4695 # extra space).
4696 freebsd2.2*)
4697 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
4698 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4699 _LT_TAGVAR(hardcode_direct, $1)=yes
4700 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4701 ;;
4702
4703 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
4704 freebsd2*)
4705 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4706 _LT_TAGVAR(hardcode_direct, $1)=yes
4707 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4708 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4709 ;;
4710
4711 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
4712 freebsd* | dragonfly*)
4713 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
4714 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4715 _LT_TAGVAR(hardcode_direct, $1)=yes
4716 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4717 ;;
4718
4719 hpux9*)
4720 if test "$GCC" = yes; then
4721 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
4722 else
4723 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
4724 fi
4725 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4726 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4727 _LT_TAGVAR(hardcode_direct, $1)=yes
4728
4729 # hardcode_minus_L: Not really in the search PATH,
4730 # but as the default location of the library.
4731 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4732 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4733 ;;
4734
4735 hpux10*)
4736 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
4737 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4738 else
4739 _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
4740 fi
4741 if test "$with_gnu_ld" = no; then
4742 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4743 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
4744 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4745 _LT_TAGVAR(hardcode_direct, $1)=yes
4746 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4747 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4748 # hardcode_minus_L: Not really in the search PATH,
4749 # but as the default location of the library.
4750 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4751 fi
4752 ;;
4753
4754 hpux11*)
4755 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
4756 case $host_cpu in
4757 hppa*64*)
4758 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4759 ;;
4760 ia64*)
4761 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
4762 ;;
4763 *)
4764 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4765 ;;
4766 esac
4767 else
4768 case $host_cpu in
4769 hppa*64*)
4770 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4771 ;;
4772 ia64*)
4773 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
4774 ;;
4775 *)
4776 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4777 ;;
4778 esac
4779 fi
4780 if test "$with_gnu_ld" = no; then
4781 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4782 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4783
4784 case $host_cpu in
4785 hppa*64*|ia64*)
4786 _LT_TAGVAR(hardcode_direct, $1)=no
4787 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4788 ;;
4789 *)
4790 _LT_TAGVAR(hardcode_direct, $1)=yes
4791 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4792 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4793
4794 # hardcode_minus_L: Not really in the search PATH,
4795 # but as the default location of the library.
4796 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4797 ;;
4798 esac
4799 fi
4800 ;;
4801
4802 irix5* | irix6* | nonstopux*)
4803 if test "$GCC" = yes; then
4804 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
4805 # Try to use the -exported_symbol ld option, if it does not
4806 # work, assume that -exports_file does not work either and
4807 # implicitly export all symbols.
4808 save_LDFLAGS="$LDFLAGS"
4809 LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
4810 AC_LINK_IFELSE(int foo(void) {},
4811 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
4812 )
4813 LDFLAGS="$save_LDFLAGS"
4814 else
4815 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
4816 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
4817 fi
4818 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4819 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4820 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4821 _LT_TAGVAR(inherit_rpath, $1)=yes
4822 _LT_TAGVAR(link_all_deplibs, $1)=yes
4823 ;;
4824
4825 netbsd* | netbsdelf*-gnu)
4826 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4827 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
4828 else
4829 _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
4830 fi
4831 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4832 _LT_TAGVAR(hardcode_direct, $1)=yes
4833 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4834 ;;
4835
4836 newsos6)
4837 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4838 _LT_TAGVAR(hardcode_direct, $1)=yes
4839 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4840 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4841 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4842 ;;
4843
4844 *nto* | *qnx*)
4845 ;;
4846
4847 openbsd*)
4848 if test -f /usr/libexec/ld.so; then
4849 _LT_TAGVAR(hardcode_direct, $1)=yes
4850 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4851 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4852 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
4853 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4854 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
4855 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4856 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4857 else
4858 case $host_os in
4859 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
4860 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4861 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4862 ;;
4863 *)
4864 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4865 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4866 ;;
4867 esac
4868 fi
4869 else
4870 _LT_TAGVAR(ld_shlibs, $1)=no
4871 fi
4872 ;;
4873
4874 os2*)
4875 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4876 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4877 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4878 _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
4879 _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
4880 ;;
4881
4882 osf3*)
4883 if test "$GCC" = yes; then
4884 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4885 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
4886 else
4887 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4888 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
4889 fi
4890 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4891 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4892 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4893 ;;
4894
4895 osf4* | osf5*) # as osf3* with the addition of -msym flag
4896 if test "$GCC" = yes; then
4897 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4898 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
4899 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4900 else
4901 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4902 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
4903 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
4904 $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
4905
4906 # Both c and cxx compiler support -rpath directly
4907 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
4908 fi
4909 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4910 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4911 ;;
4912
4913 solaris*)
4914 _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
4915 if test "$GCC" = yes; then
4916 wlarc='${wl}'
4917 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4918 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4919 $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
4920 else
4921 case `$CC -V 2>&1` in
4922 *"Compilers 5.0"*)
4923 wlarc=''
4924 _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
4925 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4926 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
4927 ;;
4928 *)
4929 wlarc='${wl}'
4930 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
4931 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4932 $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
4933 ;;
4934 esac
4935 fi
4936 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4937 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4938 case $host_os in
4939 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
4940 *)
4941 # The compiler driver will combine and reorder linker options,
4942 # but understands `-z linker_flag'. GCC discards it without `$wl',
4943 # but is careful enough not to reorder.
4944 # Supported since Solaris 2.6 (maybe 2.5.1?)
4945 if test "$GCC" = yes; then
4946 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
4947 else
4948 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
4949 fi
4950 ;;
4951 esac
4952 _LT_TAGVAR(link_all_deplibs, $1)=yes
4953 ;;
4954
4955 sunos4*)
4956 if test "x$host_vendor" = xsequent; then
4957 # Use $CC to link under sequent, because it throws in some extra .o
4958 # files that make .init and .fini sections work.
4959 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
4960 else
4961 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
4962 fi
4963 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4964 _LT_TAGVAR(hardcode_direct, $1)=yes
4965 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4966 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4967 ;;
4968
4969 sysv4)
4970 case $host_vendor in
4971 sni)
4972 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4973 _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
4974 ;;
4975 siemens)
4976 ## LD is ld it makes a PLAMLIB
4977 ## CC just makes a GrossModule.
4978 _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
4979 _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
4980 _LT_TAGVAR(hardcode_direct, $1)=no
4981 ;;
4982 motorola)
4983 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4984 _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
4985 ;;
4986 esac
4987 runpath_var='LD_RUN_PATH'
4988 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4989 ;;
4990
4991 sysv4.3*)
4992 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4993 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4994 _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
4995 ;;
4996
4997 sysv4*MP*)
4998 if test -d /usr/nec; then
4999 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5000 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5001 runpath_var=LD_RUN_PATH
5002 hardcode_runpath_var=yes
5003 _LT_TAGVAR(ld_shlibs, $1)=yes
5004 fi
5005 ;;
5006
5007 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
5008 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5009 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5010 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5011 runpath_var='LD_RUN_PATH'
5012
5013 if test "$GCC" = yes; then
5014 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5015 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5016 else
5017 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5018 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5019 fi
5020 ;;
5021
5022 sysv5* | sco3.2v5* | sco5v6*)
5023 # Note: We can NOT use -z defs as we might desire, because we do not
5024 # link with -lc, and that would cause any symbols used from libc to
5025 # always be unresolved, which means just about no library would
5026 # ever link correctly. If we're not using GNU ld we use -z text
5027 # though, which does catch some bad symbols but isn't as heavy-handed
5028 # as -z defs.
5029 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5030 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
5031 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5032 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5033 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
5034 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5035 _LT_TAGVAR(link_all_deplibs, $1)=yes
5036 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
5037 runpath_var='LD_RUN_PATH'
5038
5039 if test "$GCC" = yes; then
5040 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5041 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5042 else
5043 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5044 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5045 fi
5046 ;;
5047
5048 uts4*)
5049 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5050 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5051 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5052 ;;
5053
5054 *)
5055 _LT_TAGVAR(ld_shlibs, $1)=no
5056 ;;
5057 esac
5058
5059 if test x$host_vendor = xsni; then
5060 case $host in
5061 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
5062 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
5063 ;;
5064 esac
5065 fi
5066 fi
5067])
5068AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
5069test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5070
5071_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
5072
5073_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
5074_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
5075_LT_DECL([], [extract_expsyms_cmds], [2],
5076 [The commands to extract the exported symbol list from a shared archive])
5077
5078#
5079# Do we need to explicitly link libc?
5080#
5081case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
5082x|xyes)
5083 # Assume -lc should be added
5084 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5085
5086 if test "$enable_shared" = yes && test "$GCC" = yes; then
5087 case $_LT_TAGVAR(archive_cmds, $1) in
5088 *'~'*)
5089 # FIXME: we may have to deal with multi-command sequences.
5090 ;;
5091 '$CC '*)
5092 # Test whether the compiler implicitly links with -lc since on some
5093 # systems, -lgcc has to come before -lc. If gcc already passes -lc
5094 # to ld, don't add -lc before -lgcc.
5095 AC_MSG_CHECKING([whether -lc should be explicitly linked in])
5096 $RM conftest*
5097 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
5098
5099 if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
5100 soname=conftest
5101 lib=conftest
5102 libobjs=conftest.$ac_objext
5103 deplibs=
5104 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
5105 pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
5106 compiler_flags=-v
5107 linker_flags=-v
5108 verstring=
5109 output_objdir=.
5110 libname=conftest
5111 lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
5112 _LT_TAGVAR(allow_undefined_flag, $1)=
5113 if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
5114 then
5115 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5116 else
5117 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5118 fi
5119 _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
5120 else
5121 cat conftest.err 1>&5
5122 fi
5123 $RM conftest*
5124 AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
5125 ;;
5126 esac
5127 fi
5128 ;;
5129esac
5130
5131_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
5132 [Whether or not to add -lc for building shared libraries])
5133_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
5134 [enable_shared_with_static_runtimes], [0],
5135 [Whether or not to disallow shared libs when runtime libs are static])
5136_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
5137 [Compiler flag to allow reflexive dlopens])
5138_LT_TAGDECL([], [whole_archive_flag_spec], [1],
5139 [Compiler flag to generate shared objects directly from archives])
5140_LT_TAGDECL([], [compiler_needs_object], [1],
5141 [Whether the compiler copes with passing no objects directly])
5142_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
5143 [Create an old-style archive from a shared archive])
5144_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
5145 [Create a temporary old-style archive to link instead of a shared archive])
5146_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
5147_LT_TAGDECL([], [archive_expsym_cmds], [2])
5148_LT_TAGDECL([], [module_cmds], [2],
5149 [Commands used to build a loadable module if different from building
5150 a shared archive.])
5151_LT_TAGDECL([], [module_expsym_cmds], [2])
5152_LT_TAGDECL([], [with_gnu_ld], [1],
5153 [Whether we are building with GNU ld or not])
5154_LT_TAGDECL([], [allow_undefined_flag], [1],
5155 [Flag that allows shared libraries with undefined symbols to be built])
5156_LT_TAGDECL([], [no_undefined_flag], [1],
5157 [Flag that enforces no undefined symbols])
5158_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
5159 [Flag to hardcode $libdir into a binary during linking.
5160 This must work even if $libdir does not exist])
5161_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
5162 [[If ld is used when linking, flag to hardcode $libdir into a binary
5163 during linking. This must work even if $libdir does not exist]])
5164_LT_TAGDECL([], [hardcode_libdir_separator], [1],
5165 [Whether we need a single "-rpath" flag with a separated argument])
5166_LT_TAGDECL([], [hardcode_direct], [0],
5167 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5168 DIR into the resulting binary])
5169_LT_TAGDECL([], [hardcode_direct_absolute], [0],
5170 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5171 DIR into the resulting binary and the resulting library dependency is
5172 "absolute", i.e impossible to change by setting ${shlibpath_var} if the
5173 library is relocated])
5174_LT_TAGDECL([], [hardcode_minus_L], [0],
5175 [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
5176 into the resulting binary])
5177_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
5178 [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
5179 into the resulting binary])
5180_LT_TAGDECL([], [hardcode_automatic], [0],
5181 [Set to "yes" if building a shared library automatically hardcodes DIR
5182 into the library and all subsequent libraries and executables linked
5183 against it])
5184_LT_TAGDECL([], [inherit_rpath], [0],
5185 [Set to yes if linker adds runtime paths of dependent libraries
5186 to runtime path list])
5187_LT_TAGDECL([], [link_all_deplibs], [0],
5188 [Whether libtool must link a program against all its dependency libraries])
5189_LT_TAGDECL([], [fix_srcfile_path], [1],
5190 [Fix the shell variable $srcfile for the compiler])
5191_LT_TAGDECL([], [always_export_symbols], [0],
5192 [Set to "yes" if exported symbols are required])
5193_LT_TAGDECL([], [export_symbols_cmds], [2],
5194 [The commands to list exported symbols])
5195_LT_TAGDECL([], [exclude_expsyms], [1],
5196 [Symbols that should not be listed in the preloaded symbols])
5197_LT_TAGDECL([], [include_expsyms], [1],
5198 [Symbols that must always be exported])
5199_LT_TAGDECL([], [prelink_cmds], [2],
5200 [Commands necessary for linking programs (against libraries) with templates])
5201_LT_TAGDECL([], [file_list_spec], [1],
5202 [Specify filename containing input files])
5203dnl FIXME: Not yet implemented
5204dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
5205dnl [Compiler flag to generate thread safe objects])
5206])# _LT_LINKER_SHLIBS
5207
5208
5209# _LT_LANG_C_CONFIG([TAG])
5210# ------------------------
5211# Ensure that the configuration variables for a C compiler are suitably
5212# defined. These variables are subsequently used by _LT_CONFIG to write
5213# the compiler configuration to `libtool'.
5214m4_defun([_LT_LANG_C_CONFIG],
5215[m4_require([_LT_DECL_EGREP])dnl
5216lt_save_CC="$CC"
5217AC_LANG_PUSH(C)
5218
5219# Source file extension for C test sources.
5220ac_ext=c
5221
5222# Object file extension for compiled C test sources.
5223objext=o
5224_LT_TAGVAR(objext, $1)=$objext
5225
5226# Code to be used in simple compile tests
5227lt_simple_compile_test_code="int some_variable = 0;"
5228
5229# Code to be used in simple link tests
5230lt_simple_link_test_code='int main(){return(0);}'
5231
5232_LT_TAG_COMPILER
5233# Save the default compiler, since it gets overwritten when the other
5234# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
5235compiler_DEFAULT=$CC
5236
5237# save warnings/boilerplate of simple test code
5238_LT_COMPILER_BOILERPLATE
5239_LT_LINKER_BOILERPLATE
5240
5241## CAVEAT EMPTOR:
5242## There is no encapsulation within the following macros, do not change
5243## the running order or otherwise move them around unless you know exactly
5244## what you are doing...
5245if test -n "$compiler"; then
5246 _LT_COMPILER_NO_RTTI($1)
5247 _LT_COMPILER_PIC($1)
5248 _LT_COMPILER_C_O($1)
5249 _LT_COMPILER_FILE_LOCKS($1)
5250 _LT_LINKER_SHLIBS($1)
5251 _LT_SYS_DYNAMIC_LINKER($1)
5252 _LT_LINKER_HARDCODE_LIBPATH($1)
5253 LT_SYS_DLOPEN_SELF
5254 _LT_CMD_STRIPLIB
5255
5256 # Report which library types will actually be built
5257 AC_MSG_CHECKING([if libtool supports shared libraries])
5258 AC_MSG_RESULT([$can_build_shared])
5259
5260 AC_MSG_CHECKING([whether to build shared libraries])
5261 test "$can_build_shared" = "no" && enable_shared=no
5262
5263 # On AIX, shared libraries and static libraries use the same namespace, and
5264 # are all built from PIC.
5265 case $host_os in
5266 aix3*)
5267 test "$enable_shared" = yes && enable_static=no
5268 if test -n "$RANLIB"; then
5269 archive_cmds="$archive_cmds~\$RANLIB \$lib"
5270 postinstall_cmds='$RANLIB $lib'
5271 fi
5272 ;;
5273
5274 aix[[4-9]]*)
5275 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
5276 test "$enable_shared" = yes && enable_static=no
5277 fi
5278 ;;
5279 esac
5280 AC_MSG_RESULT([$enable_shared])
5281
5282 AC_MSG_CHECKING([whether to build static libraries])
5283 # Make sure either enable_shared or enable_static is yes.
5284 test "$enable_shared" = yes || enable_static=yes
5285 AC_MSG_RESULT([$enable_static])
5286
5287 _LT_CONFIG($1)
5288fi
5289AC_LANG_POP
5290CC="$lt_save_CC"
5291])# _LT_LANG_C_CONFIG
5292
5293
5294# _LT_PROG_CXX
5295# ------------
5296# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
5297# compiler, we have our own version here.
5298m4_defun([_LT_PROG_CXX],
5299[
5300pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
5301AC_PROG_CXX
5302if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
5303 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
5304 (test "X$CXX" != "Xg++"))) ; then
5305 AC_PROG_CXXCPP
5306else
5307 _lt_caught_CXX_error=yes
5308fi
5309popdef([AC_MSG_ERROR])
5310])# _LT_PROG_CXX
5311
5312dnl aclocal-1.4 backwards compatibility:
5313dnl AC_DEFUN([_LT_PROG_CXX], [])
5314
5315
5316# _LT_LANG_CXX_CONFIG([TAG])
5317# --------------------------
5318# Ensure that the configuration variables for a C++ compiler are suitably
5319# defined. These variables are subsequently used by _LT_CONFIG to write
5320# the compiler configuration to `libtool'.
5321m4_defun([_LT_LANG_CXX_CONFIG],
5322[AC_REQUIRE([_LT_PROG_CXX])dnl
5323m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5324m4_require([_LT_DECL_EGREP])dnl
5325
5326AC_LANG_PUSH(C++)
5327_LT_TAGVAR(archive_cmds_need_lc, $1)=no
5328_LT_TAGVAR(allow_undefined_flag, $1)=
5329_LT_TAGVAR(always_export_symbols, $1)=no
5330_LT_TAGVAR(archive_expsym_cmds, $1)=
5331_LT_TAGVAR(compiler_needs_object, $1)=no
5332_LT_TAGVAR(export_dynamic_flag_spec, $1)=
5333_LT_TAGVAR(hardcode_direct, $1)=no
5334_LT_TAGVAR(hardcode_direct_absolute, $1)=no
5335_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5336_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
5337_LT_TAGVAR(hardcode_libdir_separator, $1)=
5338_LT_TAGVAR(hardcode_minus_L, $1)=no
5339_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5340_LT_TAGVAR(hardcode_automatic, $1)=no
5341_LT_TAGVAR(inherit_rpath, $1)=no
5342_LT_TAGVAR(module_cmds, $1)=
5343_LT_TAGVAR(module_expsym_cmds, $1)=
5344_LT_TAGVAR(link_all_deplibs, $1)=unknown
5345_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
5346_LT_TAGVAR(no_undefined_flag, $1)=
5347_LT_TAGVAR(whole_archive_flag_spec, $1)=
5348_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5349
5350# Source file extension for C++ test sources.
5351ac_ext=cpp
5352
5353# Object file extension for compiled C++ test sources.
5354objext=o
5355_LT_TAGVAR(objext, $1)=$objext
5356
5357# No sense in running all these tests if we already determined that
5358# the CXX compiler isn't working. Some variables (like enable_shared)
5359# are currently assumed to apply to all compilers on this platform,
5360# and will be corrupted by setting them based on a non-working compiler.
5361if test "$_lt_caught_CXX_error" != yes; then
5362 # Code to be used in simple compile tests
5363 lt_simple_compile_test_code="int some_variable = 0;"
5364
5365 # Code to be used in simple link tests
5366 lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
5367
5368 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5369 _LT_TAG_COMPILER
5370
5371 # save warnings/boilerplate of simple test code
5372 _LT_COMPILER_BOILERPLATE
5373 _LT_LINKER_BOILERPLATE
5374
5375 # Allow CC to be a program name with arguments.
5376 lt_save_CC=$CC
5377 lt_save_LD=$LD
5378 lt_save_GCC=$GCC
5379 GCC=$GXX
5380 lt_save_with_gnu_ld=$with_gnu_ld
5381 lt_save_path_LD=$lt_cv_path_LD
5382 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
5383 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
5384 else
5385 $as_unset lt_cv_prog_gnu_ld
5386 fi
5387 if test -n "${lt_cv_path_LDCXX+set}"; then
5388 lt_cv_path_LD=$lt_cv_path_LDCXX
5389 else
5390 $as_unset lt_cv_path_LD
5391 fi
5392 test -z "${LDCXX+set}" || LD=$LDCXX
5393 CC=${CXX-"c++"}
5394 compiler=$CC
5395 _LT_TAGVAR(compiler, $1)=$CC
5396 _LT_CC_BASENAME([$compiler])
5397
5398 if test -n "$compiler"; then
5399 # We don't want -fno-exception when compiling C++ code, so set the
5400 # no_builtin_flag separately
5401 if test "$GXX" = yes; then
5402 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
5403 else
5404 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
5405 fi
5406
5407 if test "$GXX" = yes; then
5408 # Set up default GNU C++ configuration
5409
5410 LT_PATH_LD
5411
5412 # Check if GNU C++ uses GNU ld as the underlying linker, since the
5413 # archiving commands below assume that GNU ld is being used.
5414 if test "$with_gnu_ld" = yes; then
5415 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5416 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5417
5418 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5419 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5420
5421 # If archive_cmds runs LD, not CC, wlarc should be empty
5422 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
5423 # investigate it a little bit more. (MM)
5424 wlarc='${wl}'
5425
5426 # ancient GNU ld didn't support --whole-archive et. al.
5427 if eval "`$CC -print-prog-name=ld` --help 2>&1" |
5428 $GREP 'no-whole-archive' > /dev/null; then
5429 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
5430 else
5431 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5432 fi
5433 else
5434 with_gnu_ld=no
5435 wlarc=
5436
5437 # A generic and very simple default shared library creation
5438 # command for GNU C++ for the case where it uses the native
5439 # linker, instead of GNU ld. If possible, this setting should
5440 # overridden to take advantage of the native linker features on
5441 # the platform it is being used on.
5442 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
5443 fi
5444
5445 # Commands to make compiler produce verbose output that lists
5446 # what "hidden" libraries, object files and flags are used when
5447 # linking a shared library.
5448 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
5449
5450 else
5451 GXX=no
5452 with_gnu_ld=no
5453 wlarc=
5454 fi
5455
5456 # PORTME: fill in a description of your system's C++ link characteristics
5457 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
5458 _LT_TAGVAR(ld_shlibs, $1)=yes
5459 case $host_os in
5460 aix3*)
5461 # FIXME: insert proper C++ library support
5462 _LT_TAGVAR(ld_shlibs, $1)=no
5463 ;;
5464 aix[[4-9]]*)
5465 if test "$host_cpu" = ia64; then
5466 # On IA64, the linker does run time linking by default, so we don't
5467 # have to do anything special.
5468 aix_use_runtimelinking=no
5469 exp_sym_flag='-Bexport'
5470 no_entry_flag=""
5471 else
5472 aix_use_runtimelinking=no
5473
5474 # Test if we are trying to use run time linking or normal
5475 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5476 # need to do runtime linking.
5477 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5478 for ld_flag in $LDFLAGS; do
5479 case $ld_flag in
5480 *-brtl*)
5481 aix_use_runtimelinking=yes
5482 break
5483 ;;
5484 esac
5485 done
5486 ;;
5487 esac
5488
5489 exp_sym_flag='-bexport'
5490 no_entry_flag='-bnoentry'
5491 fi
5492
5493 # When large executables or shared objects are built, AIX ld can
5494 # have problems creating the table of contents. If linking a library
5495 # or program results in "error TOC overflow" add -mminimal-toc to
5496 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5497 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5498
5499 _LT_TAGVAR(archive_cmds, $1)=''
5500 _LT_TAGVAR(hardcode_direct, $1)=yes
5501 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5502 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5503 _LT_TAGVAR(link_all_deplibs, $1)=yes
5504 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
5505
5506 if test "$GXX" = yes; then
5507 case $host_os in aix4.[[012]]|aix4.[[012]].*)
5508 # We only want to do this on AIX 4.2 and lower, the check
5509 # below for broken collect2 doesn't work under 4.3+
5510 collect2name=`${CC} -print-prog-name=collect2`
5511 if test -f "$collect2name" &&
5512 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5513 then
5514 # We have reworked collect2
5515 :
5516 else
5517 # We have old collect2
5518 _LT_TAGVAR(hardcode_direct, $1)=unsupported
5519 # It fails to find uninstalled libraries when the uninstalled
5520 # path is not listed in the libpath. Setting hardcode_minus_L
5521 # to unsupported forces relinking
5522 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5523 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5524 _LT_TAGVAR(hardcode_libdir_separator, $1)=
5525 fi
5526 esac
5527 shared_flag='-shared'
5528 if test "$aix_use_runtimelinking" = yes; then
5529 shared_flag="$shared_flag "'${wl}-G'
5530 fi
5531 else
5532 # not using gcc
5533 if test "$host_cpu" = ia64; then
5534 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5535 # chokes on -Wl,-G. The following line is correct:
5536 shared_flag='-G'
5537 else
5538 if test "$aix_use_runtimelinking" = yes; then
5539 shared_flag='${wl}-G'
5540 else
5541 shared_flag='${wl}-bM:SRE'
5542 fi
5543 fi
5544 fi
5545
5546 # It seems that -bexpall does not export symbols beginning with
5547 # underscore (_), so it is better to generate a list of symbols to
5548 # export.
5549 _LT_TAGVAR(always_export_symbols, $1)=yes
5550 if test "$aix_use_runtimelinking" = yes; then
5551 # Warning - without using the other runtime loading flags (-brtl),
5552 # -berok will link without error, but may produce a broken library.
5553 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5554 # Determine the default libpath from the value encoded in an empty
5555 # executable.
5556 _LT_SYS_MODULE_PATH_AIX
5557 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5558
5559 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
5560 else
5561 if test "$host_cpu" = ia64; then
5562 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5563 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5564 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
5565 else
5566 # Determine the default libpath from the value encoded in an
5567 # empty executable.
5568 _LT_SYS_MODULE_PATH_AIX
5569 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5570 # Warning - without using the other run time loading flags,
5571 # -berok will link without error, but may produce a broken library.
5572 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5573 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
5574 # Exported symbols can be pulled into shared objects from archives
5575 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5576 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5577 # This is similar to how AIX traditionally builds its shared
5578 # libraries.
5579 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
5580 fi
5581 fi
5582 ;;
5583
5584 beos*)
5585 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5586 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5587 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
5588 # support --undefined. This deserves some investigation. FIXME
5589 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5590 else
5591 _LT_TAGVAR(ld_shlibs, $1)=no
5592 fi
5593 ;;
5594
5595 chorus*)
5596 case $cc_basename in
5597 *)
5598 # FIXME: insert proper C++ library support
5599 _LT_TAGVAR(ld_shlibs, $1)=no
5600 ;;
5601 esac
5602 ;;
5603
5604 cygwin* | mingw* | pw32*)
5605 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5606 # as there is no search path for DLLs.
5607 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5608 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5609 _LT_TAGVAR(always_export_symbols, $1)=no
5610 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5611
5612 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5613 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5614 # If the export-symbols file already is a .def file (1st line
5615 # is EXPORTS), use it as is; otherwise, prepend...
5616 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5617 cp $export_symbols $output_objdir/$soname.def;
5618 else
5619 echo EXPORTS > $output_objdir/$soname.def;
5620 cat $export_symbols >> $output_objdir/$soname.def;
5621 fi~
5622 $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5623 else
5624 _LT_TAGVAR(ld_shlibs, $1)=no
5625 fi
5626 ;;
5627 darwin* | rhapsody*)
5628 _LT_DARWIN_LINKER_FEATURES($1)
5629 ;;
5630
5631 dgux*)
5632 case $cc_basename in
5633 ec++*)
5634 # FIXME: insert proper C++ library support
5635 _LT_TAGVAR(ld_shlibs, $1)=no
5636 ;;
5637 ghcx*)
5638 # Green Hills C++ Compiler
5639 # FIXME: insert proper C++ library support
5640 _LT_TAGVAR(ld_shlibs, $1)=no
5641 ;;
5642 *)
5643 # FIXME: insert proper C++ library support
5644 _LT_TAGVAR(ld_shlibs, $1)=no
5645 ;;
5646 esac
5647 ;;
5648
5649 freebsd[[12]]*)
5650 # C++ shared libraries reported to be fairly broken before
5651 # switch to ELF
5652 _LT_TAGVAR(ld_shlibs, $1)=no
5653 ;;
5654
5655 freebsd-elf*)
5656 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5657 ;;
5658
5659 freebsd* | dragonfly*)
5660 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
5661 # conventions
5662 _LT_TAGVAR(ld_shlibs, $1)=yes
5663 ;;
5664
5665 gnu*)
5666 ;;
5667
5668 hpux9*)
5669 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5670 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5671 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5672 _LT_TAGVAR(hardcode_direct, $1)=yes
5673 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
5674 # but as the default
5675 # location of the library.
5676
5677 case $cc_basename in
5678 CC*)
5679 # FIXME: insert proper C++ library support
5680 _LT_TAGVAR(ld_shlibs, $1)=no
5681 ;;
5682 aCC*)
5683 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5684 # Commands to make compiler produce verbose output that lists
5685 # what "hidden" libraries, object files and flags are used when
5686 # linking a shared library.
5687 #
5688 # There doesn't appear to be a way to prevent this compiler from
5689 # explicitly linking system object files so we need to strip them
5690 # from the output so that they don't get included in the library
5691 # dependencies.
5692 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
5693 ;;
5694 *)
5695 if test "$GXX" = yes; then
5696 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5697 else
5698 # FIXME: insert proper C++ library support
5699 _LT_TAGVAR(ld_shlibs, $1)=no
5700 fi
5701 ;;
5702 esac
5703 ;;
5704
5705 hpux10*|hpux11*)
5706 if test $with_gnu_ld = no; then
5707 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5708 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5709
5710 case $host_cpu in
5711 hppa*64*|ia64*)
5712 ;;
5713 *)
5714 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5715 ;;
5716 esac
5717 fi
5718 case $host_cpu in
5719 hppa*64*|ia64*)
5720 _LT_TAGVAR(hardcode_direct, $1)=no
5721 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5722 ;;
5723 *)
5724 _LT_TAGVAR(hardcode_direct, $1)=yes
5725 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5726 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
5727 # but as the default
5728 # location of the library.
5729 ;;
5730 esac
5731
5732 case $cc_basename in
5733 CC*)
5734 # FIXME: insert proper C++ library support
5735 _LT_TAGVAR(ld_shlibs, $1)=no
5736 ;;
5737 aCC*)
5738 case $host_cpu in
5739 hppa*64*)
5740 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5741 ;;
5742 ia64*)
5743 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5744 ;;
5745 *)
5746 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5747 ;;
5748 esac
5749 # Commands to make compiler produce verbose output that lists
5750 # what "hidden" libraries, object files and flags are used when
5751 # linking a shared library.
5752 #
5753 # There doesn't appear to be a way to prevent this compiler from
5754 # explicitly linking system object files so we need to strip them
5755 # from the output so that they don't get included in the library
5756 # dependencies.
5757 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
5758 ;;
5759 *)
5760 if test "$GXX" = yes; then
5761 if test $with_gnu_ld = no; then
5762 case $host_cpu in
5763 hppa*64*)
5764 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5765 ;;
5766 ia64*)
5767 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5768 ;;
5769 *)
5770 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5771 ;;
5772 esac
5773 fi
5774 else
5775 # FIXME: insert proper C++ library support
5776 _LT_TAGVAR(ld_shlibs, $1)=no
5777 fi
5778 ;;
5779 esac
5780 ;;
5781
5782 interix[[3-9]]*)
5783 _LT_TAGVAR(hardcode_direct, $1)=no
5784 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5785 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5786 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5787 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5788 # Instead, shared libraries are loaded at an image base (0x10000000 by
5789 # default) and relocated if they conflict, which is a slow very memory
5790 # consuming and fragmenting process. To avoid this, we pick a random,
5791 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5792 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
5793 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5794 _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5795 ;;
5796 irix5* | irix6*)
5797 case $cc_basename in
5798 CC*)
5799 # SGI C++
5800 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
5801
5802 # Archives containing C++ object files must be created using
5803 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
5804 # necessary to make sure instantiated templates are included
5805 # in the archive.
5806 _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
5807 ;;
5808 *)
5809 if test "$GXX" = yes; then
5810 if test "$with_gnu_ld" = no; then
5811 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
5812 else
5813 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
5814 fi
5815 fi
5816 _LT_TAGVAR(link_all_deplibs, $1)=yes
5817 ;;
5818 esac
5819 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5820 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5821 _LT_TAGVAR(inherit_rpath, $1)=yes
5822 ;;
5823
5824 linux* | k*bsd*-gnu)
5825 case $cc_basename in
5826 KCC*)
5827 # Kuck and Associates, Inc. (KAI) C++ Compiler
5828
5829 # KCC will only create a shared library if the output file
5830 # ends with ".so" (or ".sl" for HP-UX), so rename the library
5831 # to its proper name (with version) after linking.
5832 _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
5833 _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
5834 # Commands to make compiler produce verbose output that lists
5835 # what "hidden" libraries, object files and flags are used when
5836 # linking a shared library.
5837 #
5838 # There doesn't appear to be a way to prevent this compiler from
5839 # explicitly linking system object files so we need to strip them
5840 # from the output so that they don't get included in the library
5841 # dependencies.
5842 output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
5843
5844 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5845 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5846
5847 # Archives containing C++ object files must be created using
5848 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
5849 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
5850 ;;
5851 icpc* | ecpc* )
5852 # Intel C++
5853 with_gnu_ld=yes
5854 # version 8.0 and above of icpc choke on multiply defined symbols
5855 # if we add $predep_objects and $postdep_objects, however 7.1 and
5856 # earlier do not add the objects themselves.
5857 case `$CC -V 2>&1` in
5858 *"Version 7."*)
5859 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5860 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5861 ;;
5862 *) # Version 8.0 or newer
5863 tmp_idyn=
5864 case $host_cpu in
5865 ia64*) tmp_idyn=' -i_dynamic';;
5866 esac
5867 _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5868 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5869 ;;
5870 esac
5871 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5872 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5873 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5874 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
5875 ;;
5876 pgCC* | pgcpp*)
5877 # Portland Group C++ compiler
5878 case `$CC -V` in
5879 *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
5880 _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
5881 rm -rf $tpldir~
5882 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
5883 compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
5884 _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
5885 rm -rf $tpldir~
5886 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
5887 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
5888 $RANLIB $oldlib'
5889 _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
5890 rm -rf $tpldir~
5891 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
5892 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
5893 _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
5894 rm -rf $tpldir~
5895 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
5896 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
5897 ;;
5898 *) # Version 6 will use weak symbols
5899 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
5900 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
5901 ;;
5902 esac
5903
5904 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
5905 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5906 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
5907 ;;
5908 cxx*)
5909 # Compaq C++
5910 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5911 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
5912
5913 runpath_var=LD_RUN_PATH
5914 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5915 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5916
5917 # Commands to make compiler produce verbose output that lists
5918 # what "hidden" libraries, object files and flags are used when
5919 # linking a shared library.
5920 #
5921 # There doesn't appear to be a way to prevent this compiler from
5922 # explicitly linking system object files so we need to strip them
5923 # from the output so that they don't get included in the library
5924 # dependencies.
5925 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
5926 ;;
5927 xl*)
5928 # IBM XL 8.0 on PPC, with GNU ld
5929 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5930 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5931 _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5932 if test "x$supports_anon_versioning" = xyes; then
5933 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5934 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5935 echo "local: *; };" >> $output_objdir/$libname.ver~
5936 $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
5937 fi
5938 ;;
5939 *)
5940 case `$CC -V 2>&1 | sed 5q` in
5941 *Sun\ C*)
5942 # Sun C++ 5.9
5943 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
5944 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5945 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
5946 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5947 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
5948 _LT_TAGVAR(compiler_needs_object, $1)=yes
5949
5950 # Not sure whether something based on
5951 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
5952 # would be better.
5953 output_verbose_link_cmd='echo'
5954
5955 # Archives containing C++ object files must be created using
5956 # "CC -xar", where "CC" is the Sun C++ compiler. This is
5957 # necessary to make sure instantiated templates are included
5958 # in the archive.
5959 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
5960 ;;
5961 esac
5962 ;;
5963 esac
5964 ;;
5965
5966 lynxos*)
5967 # FIXME: insert proper C++ library support
5968 _LT_TAGVAR(ld_shlibs, $1)=no
5969 ;;
5970
5971 m88k*)
5972 # FIXME: insert proper C++ library support
5973 _LT_TAGVAR(ld_shlibs, $1)=no
5974 ;;
5975
5976 mvs*)
5977 case $cc_basename in
5978 cxx*)
5979 # FIXME: insert proper C++ library support
5980 _LT_TAGVAR(ld_shlibs, $1)=no
5981 ;;
5982 *)
5983 # FIXME: insert proper C++ library support
5984 _LT_TAGVAR(ld_shlibs, $1)=no
5985 ;;
5986 esac
5987 ;;
5988
5989 netbsd*)
5990 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5991 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
5992 wlarc=
5993 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5994 _LT_TAGVAR(hardcode_direct, $1)=yes
5995 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5996 fi
5997 # Workaround some broken pre-1.5 toolchains
5998 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
5999 ;;
6000
6001 *nto* | *qnx*)
6002 _LT_TAGVAR(ld_shlibs, $1)=yes
6003 ;;
6004
6005 openbsd2*)
6006 # C++ shared libraries are fairly broken
6007 _LT_TAGVAR(ld_shlibs, $1)=no
6008 ;;
6009
6010 openbsd*)
6011 if test -f /usr/libexec/ld.so; then
6012 _LT_TAGVAR(hardcode_direct, $1)=yes
6013 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6014 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6015 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6016 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6017 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
6018 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
6019 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6020 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6021 fi
6022 output_verbose_link_cmd=echo
6023 else
6024 _LT_TAGVAR(ld_shlibs, $1)=no
6025 fi
6026 ;;
6027
6028 osf3* | osf4* | osf5*)
6029 case $cc_basename in
6030 KCC*)
6031 # Kuck and Associates, Inc. (KAI) C++ Compiler
6032
6033 # KCC will only create a shared library if the output file
6034 # ends with ".so" (or ".sl" for HP-UX), so rename the library
6035 # to its proper name (with version) after linking.
6036 _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
6037
6038 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6039 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6040
6041 # Archives containing C++ object files must be created using
6042 # the KAI C++ compiler.
6043 case $host in
6044 osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
6045 *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
6046 esac
6047 ;;
6048 RCC*)
6049 # Rational C++ 2.4.1
6050 # FIXME: insert proper C++ library support
6051 _LT_TAGVAR(ld_shlibs, $1)=no
6052 ;;
6053 cxx*)
6054 case $host in
6055 osf3*)
6056 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6057 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
6058 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6059 ;;
6060 *)
6061 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6062 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
6063 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
6064 echo "-hidden">> $lib.exp~
6065 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
6066 $RM $lib.exp'
6067 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6068 ;;
6069 esac
6070
6071 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6072
6073 # Commands to make compiler produce verbose output that lists
6074 # what "hidden" libraries, object files and flags are used when
6075 # linking a shared library.
6076 #
6077 # There doesn't appear to be a way to prevent this compiler from
6078 # explicitly linking system object files so we need to strip them
6079 # from the output so that they don't get included in the library
6080 # dependencies.
6081 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
6082 ;;
6083 *)
6084 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6085 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6086 case $host in
6087 osf3*)
6088 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6089 ;;
6090 *)
6091 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6092 ;;
6093 esac
6094
6095 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6096 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6097
6098 # Commands to make compiler produce verbose output that lists
6099 # what "hidden" libraries, object files and flags are used when
6100 # linking a shared library.
6101 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6102
6103 else
6104 # FIXME: insert proper C++ library support
6105 _LT_TAGVAR(ld_shlibs, $1)=no
6106 fi
6107 ;;
6108 esac
6109 ;;
6110
6111 psos*)
6112 # FIXME: insert proper C++ library support
6113 _LT_TAGVAR(ld_shlibs, $1)=no
6114 ;;
6115
6116 sunos4*)
6117 case $cc_basename in
6118 CC*)
6119 # Sun C++ 4.x
6120 # FIXME: insert proper C++ library support
6121 _LT_TAGVAR(ld_shlibs, $1)=no
6122 ;;
6123 lcc*)
6124 # Lucid
6125 # FIXME: insert proper C++ library support
6126 _LT_TAGVAR(ld_shlibs, $1)=no
6127 ;;
6128 *)
6129 # FIXME: insert proper C++ library support
6130 _LT_TAGVAR(ld_shlibs, $1)=no
6131 ;;
6132 esac
6133 ;;
6134
6135 solaris*)
6136 case $cc_basename in
6137 CC*)
6138 # Sun C++ 4.2, 5.x and Centerline C++
6139 _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
6140 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6141 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6142 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6143 $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6144
6145 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6146 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6147 case $host_os in
6148 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6149 *)
6150 # The compiler driver will combine and reorder linker options,
6151 # but understands `-z linker_flag'.
6152 # Supported since Solaris 2.6 (maybe 2.5.1?)
6153 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
6154 ;;
6155 esac
6156 _LT_TAGVAR(link_all_deplibs, $1)=yes
6157
6158 output_verbose_link_cmd='echo'
6159
6160 # Archives containing C++ object files must be created using
6161 # "CC -xar", where "CC" is the Sun C++ compiler. This is
6162 # necessary to make sure instantiated templates are included
6163 # in the archive.
6164 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6165 ;;
6166 gcx*)
6167 # Green Hills C++ Compiler
6168 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6169
6170 # The C++ compiler must be used to create the archive.
6171 _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
6172 ;;
6173 *)
6174 # GNU C++ compiler with Solaris linker
6175 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6176 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
6177 if $CC --version | $GREP -v '^2\.7' > /dev/null; then
6178 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6179 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6180 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6181
6182 # Commands to make compiler produce verbose output that lists
6183 # what "hidden" libraries, object files and flags are used when
6184 # linking a shared library.
6185 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6186 else
6187 # g++ 2.7 appears to require `-G' NOT `-shared' on this
6188 # platform.
6189 _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6190 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6191 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6192
6193 # Commands to make compiler produce verbose output that lists
6194 # what "hidden" libraries, object files and flags are used when
6195 # linking a shared library.
6196 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6197 fi
6198
6199 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
6200 case $host_os in
6201 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6202 *)
6203 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
6204 ;;
6205 esac
6206 fi
6207 ;;
6208 esac
6209 ;;
6210
6211 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6212 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6213 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6214 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6215 runpath_var='LD_RUN_PATH'
6216
6217 case $cc_basename in
6218 CC*)
6219 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6220 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6221 ;;
6222 *)
6223 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6224 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6225 ;;
6226 esac
6227 ;;
6228
6229 sysv5* | sco3.2v5* | sco5v6*)
6230 # Note: We can NOT use -z defs as we might desire, because we do not
6231 # link with -lc, and that would cause any symbols used from libc to
6232 # always be unresolved, which means just about no library would
6233 # ever link correctly. If we're not using GNU ld we use -z text
6234 # though, which does catch some bad symbols but isn't as heavy-handed
6235 # as -z defs.
6236 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6237 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
6238 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6239 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6240 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
6241 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6242 _LT_TAGVAR(link_all_deplibs, $1)=yes
6243 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
6244 runpath_var='LD_RUN_PATH'
6245
6246 case $cc_basename in
6247 CC*)
6248 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6249 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6250 ;;
6251 *)
6252 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6253 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6254 ;;
6255 esac
6256 ;;
6257
6258 tandem*)
6259 case $cc_basename in
6260 NCC*)
6261 # NonStop-UX NCC 3.20
6262 # FIXME: insert proper C++ library support
6263 _LT_TAGVAR(ld_shlibs, $1)=no
6264 ;;
6265 *)
6266 # FIXME: insert proper C++ library support
6267 _LT_TAGVAR(ld_shlibs, $1)=no
6268 ;;
6269 esac
6270 ;;
6271
6272 vxworks*)
6273 # FIXME: insert proper C++ library support
6274 _LT_TAGVAR(ld_shlibs, $1)=no
6275 ;;
6276
6277 *)
6278 # FIXME: insert proper C++ library support
6279 _LT_TAGVAR(ld_shlibs, $1)=no
6280 ;;
6281 esac
6282
6283 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6284 test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
6285
6286 _LT_TAGVAR(GCC, $1)="$GXX"
6287 _LT_TAGVAR(LD, $1)="$LD"
6288
6289 ## CAVEAT EMPTOR:
6290 ## There is no encapsulation within the following macros, do not change
6291 ## the running order or otherwise move them around unless you know exactly
6292 ## what you are doing...
6293 _LT_SYS_HIDDEN_LIBDEPS($1)
6294 _LT_COMPILER_PIC($1)
6295 _LT_COMPILER_C_O($1)
6296 _LT_COMPILER_FILE_LOCKS($1)
6297 _LT_LINKER_SHLIBS($1)
6298 _LT_SYS_DYNAMIC_LINKER($1)
6299 _LT_LINKER_HARDCODE_LIBPATH($1)
6300
6301 _LT_CONFIG($1)
6302 fi # test -n "$compiler"
6303
6304 CC=$lt_save_CC
6305 LDCXX=$LD
6306 LD=$lt_save_LD
6307 GCC=$lt_save_GCC
6308 with_gnu_ld=$lt_save_with_gnu_ld
6309 lt_cv_path_LDCXX=$lt_cv_path_LD
6310 lt_cv_path_LD=$lt_save_path_LD
6311 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
6312 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
6313fi # test "$_lt_caught_CXX_error" != yes
6314
6315AC_LANG_POP
6316])# _LT_LANG_CXX_CONFIG
6317
6318
6319# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
6320# ---------------------------------
6321# Figure out "hidden" library dependencies from verbose
6322# compiler output when linking a shared library.
6323# Parse the compiler output and extract the necessary
6324# objects, libraries and library flags.
6325m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
6326[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6327# Dependencies to place before and after the object being linked:
6328_LT_TAGVAR(predep_objects, $1)=
6329_LT_TAGVAR(postdep_objects, $1)=
6330_LT_TAGVAR(predeps, $1)=
6331_LT_TAGVAR(postdeps, $1)=
6332_LT_TAGVAR(compiler_lib_search_path, $1)=
6333
6334dnl we can't use the lt_simple_compile_test_code here,
6335dnl because it contains code intended for an executable,
6336dnl not a library. It's possible we should let each
6337dnl tag define a new lt_????_link_test_code variable,
6338dnl but it's only used here...
6339m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
6340int a;
6341void foo (void) { a = 0; }
6342_LT_EOF
6343], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
6344class Foo
6345{
6346public:
6347 Foo (void) { a = 0; }
6348private:
6349 int a;
6350};
6351_LT_EOF
6352], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
6353 subroutine foo
6354 implicit none
6355 integer*4 a
6356 a=0
6357 return
6358 end
6359_LT_EOF
6360], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
6361 subroutine foo
6362 implicit none
6363 integer a
6364 a=0
6365 return
6366 end
6367_LT_EOF
6368], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
6369public class foo {
6370 private int a;
6371 public void bar (void) {
6372 a = 0;
6373 }
6374};
6375_LT_EOF
6376])
6377dnl Parse the compiler output and extract the necessary
6378dnl objects, libraries and library flags.
6379if AC_TRY_EVAL(ac_compile); then
6380 # Parse the compiler output and extract the necessary
6381 # objects, libraries and library flags.
6382
6383 # Sentinel used to keep track of whether or not we are before
6384 # the conftest object file.
6385 pre_test_object_deps_done=no
6386
6387 for p in `eval "$output_verbose_link_cmd"`; do
6388 case $p in
6389
6390 -L* | -R* | -l*)
6391 # Some compilers place space between "-{L,R}" and the path.
6392 # Remove the space.
6393 if test $p = "-L" ||
6394 test $p = "-R"; then
6395 prev=$p
6396 continue
6397 else
6398 prev=
6399 fi
6400
6401 if test "$pre_test_object_deps_done" = no; then
6402 case $p in
6403 -L* | -R*)
6404 # Internal compiler library paths should come after those
6405 # provided the user. The postdeps already come after the
6406 # user supplied libs so there is no need to process them.
6407 if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
6408 _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
6409 else
6410 _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
6411 fi
6412 ;;
6413 # The "-l" case would never come before the object being
6414 # linked, so don't bother handling this case.
6415 esac
6416 else
6417 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
6418 _LT_TAGVAR(postdeps, $1)="${prev}${p}"
6419 else
6420 _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
6421 fi
6422 fi
6423 ;;
6424
6425 *.$objext)
6426 # This assumes that the test object file only shows up
6427 # once in the compiler output.
6428 if test "$p" = "conftest.$objext"; then
6429 pre_test_object_deps_done=yes
6430 continue
6431 fi
6432
6433 if test "$pre_test_object_deps_done" = no; then
6434 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
6435 _LT_TAGVAR(predep_objects, $1)="$p"
6436 else
6437 _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
6438 fi
6439 else
6440 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
6441 _LT_TAGVAR(postdep_objects, $1)="$p"
6442 else
6443 _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
6444 fi
6445 fi
6446 ;;
6447
6448 *) ;; # Ignore the rest.
6449
6450 esac
6451 done
6452
6453 # Clean up.
6454 rm -f a.out a.exe
6455else
6456 echo "libtool.m4: error: problem compiling $1 test program"
6457fi
6458
6459$RM -f confest.$objext
6460
6461# PORTME: override above test on systems where it is broken
6462m4_if([$1], [CXX],
6463[case $host_os in
6464interix[[3-9]]*)
6465 # Interix 3.5 installs completely hosed .la files for C++, so rather than
6466 # hack all around it, let's just trust "g++" to DTRT.
6467 _LT_TAGVAR(predep_objects,$1)=
6468 _LT_TAGVAR(postdep_objects,$1)=
6469 _LT_TAGVAR(postdeps,$1)=
6470 ;;
6471
6472linux*)
6473 case `$CC -V 2>&1 | sed 5q` in
6474 *Sun\ C*)
6475 # Sun C++ 5.9
6476
6477 # The more standards-conforming stlport4 library is
6478 # incompatible with the Cstd library. Avoid specifying
6479 # it if it's in CXXFLAGS. Ignore libCrun as
6480 # -library=stlport4 depends on it.
6481 case " $CXX $CXXFLAGS " in
6482 *" -library=stlport4 "*)
6483 solaris_use_stlport4=yes
6484 ;;
6485 esac
6486
6487 if test "$solaris_use_stlport4" != yes; then
6488 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
6489 fi
6490 ;;
6491 esac
6492 ;;
6493
6494solaris*)
6495 case $cc_basename in
6496 CC*)
6497 # The more standards-conforming stlport4 library is
6498 # incompatible with the Cstd library. Avoid specifying
6499 # it if it's in CXXFLAGS. Ignore libCrun as
6500 # -library=stlport4 depends on it.
6501 case " $CXX $CXXFLAGS " in
6502 *" -library=stlport4 "*)
6503 solaris_use_stlport4=yes
6504 ;;
6505 esac
6506
6507 # Adding this requires a known-good setup of shared libraries for
6508 # Sun compiler versions before 5.6, else PIC objects from an old
6509 # archive will be linked into the output, leading to subtle bugs.
6510 if test "$solaris_use_stlport4" != yes; then
6511 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
6512 fi
6513 ;;
6514 esac
6515 ;;
6516esac
6517])
6518
6519case " $_LT_TAGVAR(postdeps, $1) " in
6520*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
6521esac
6522 _LT_TAGVAR(compiler_lib_search_dirs, $1)=
6523if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
6524 _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
6525fi
6526_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
6527 [The directories searched by this compiler when creating a shared library])
6528_LT_TAGDECL([], [predep_objects], [1],
6529 [Dependencies to place before and after the objects being linked to
6530 create a shared library])
6531_LT_TAGDECL([], [postdep_objects], [1])
6532_LT_TAGDECL([], [predeps], [1])
6533_LT_TAGDECL([], [postdeps], [1])
6534_LT_TAGDECL([], [compiler_lib_search_path], [1],
6535 [The library search path used internally by the compiler when linking
6536 a shared library])
6537])# _LT_SYS_HIDDEN_LIBDEPS
6538
6539
6540# _LT_PROG_F77
6541# ------------
6542# Since AC_PROG_F77 is broken, in that it returns the empty string
6543# if there is no fortran compiler, we have our own version here.
6544m4_defun([_LT_PROG_F77],
6545[
6546pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
6547AC_PROG_F77
6548if test -z "$F77" || test "X$F77" = "Xno"; then
6549 _lt_disable_F77=yes
6550fi
6551popdef([AC_MSG_ERROR])
6552])# _LT_PROG_F77
6553
6554dnl aclocal-1.4 backwards compatibility:
6555dnl AC_DEFUN([_LT_PROG_F77], [])
6556
6557
6558# _LT_LANG_F77_CONFIG([TAG])
6559# --------------------------
6560# Ensure that the configuration variables for a Fortran 77 compiler are
6561# suitably defined. These variables are subsequently used by _LT_CONFIG
6562# to write the compiler configuration to `libtool'.
6563m4_defun([_LT_LANG_F77_CONFIG],
6564[AC_REQUIRE([_LT_PROG_F77])dnl
6565AC_LANG_PUSH(Fortran 77)
6566
6567_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6568_LT_TAGVAR(allow_undefined_flag, $1)=
6569_LT_TAGVAR(always_export_symbols, $1)=no
6570_LT_TAGVAR(archive_expsym_cmds, $1)=
6571_LT_TAGVAR(export_dynamic_flag_spec, $1)=
6572_LT_TAGVAR(hardcode_direct, $1)=no
6573_LT_TAGVAR(hardcode_direct_absolute, $1)=no
6574_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6575_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6576_LT_TAGVAR(hardcode_libdir_separator, $1)=
6577_LT_TAGVAR(hardcode_minus_L, $1)=no
6578_LT_TAGVAR(hardcode_automatic, $1)=no
6579_LT_TAGVAR(inherit_rpath, $1)=no
6580_LT_TAGVAR(module_cmds, $1)=
6581_LT_TAGVAR(module_expsym_cmds, $1)=
6582_LT_TAGVAR(link_all_deplibs, $1)=unknown
6583_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6584_LT_TAGVAR(no_undefined_flag, $1)=
6585_LT_TAGVAR(whole_archive_flag_spec, $1)=
6586_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6587
6588# Source file extension for f77 test sources.
6589ac_ext=f
6590
6591# Object file extension for compiled f77 test sources.
6592objext=o
6593_LT_TAGVAR(objext, $1)=$objext
6594
6595# No sense in running all these tests if we already determined that
6596# the F77 compiler isn't working. Some variables (like enable_shared)
6597# are currently assumed to apply to all compilers on this platform,
6598# and will be corrupted by setting them based on a non-working compiler.
6599if test "$_lt_disable_F77" != yes; then
6600 # Code to be used in simple compile tests
6601 lt_simple_compile_test_code="\
6602 subroutine t
6603 return
6604 end
6605"
6606
6607 # Code to be used in simple link tests
6608 lt_simple_link_test_code="\
6609 program t
6610 end
6611"
6612
6613 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6614 _LT_TAG_COMPILER
6615
6616 # save warnings/boilerplate of simple test code
6617 _LT_COMPILER_BOILERPLATE
6618 _LT_LINKER_BOILERPLATE
6619
6620 # Allow CC to be a program name with arguments.
6621 lt_save_CC="$CC"
6622 lt_save_GCC=$GCC
6623 CC=${F77-"f77"}
6624 compiler=$CC
6625 _LT_TAGVAR(compiler, $1)=$CC
6626 _LT_CC_BASENAME([$compiler])
6627 GCC=$G77
6628 if test -n "$compiler"; then
6629 AC_MSG_CHECKING([if libtool supports shared libraries])
6630 AC_MSG_RESULT([$can_build_shared])
6631
6632 AC_MSG_CHECKING([whether to build shared libraries])
6633 test "$can_build_shared" = "no" && enable_shared=no
6634
6635 # On AIX, shared libraries and static libraries use the same namespace, and
6636 # are all built from PIC.
6637 case $host_os in
6638 aix3*)
6639 test "$enable_shared" = yes && enable_static=no
6640 if test -n "$RANLIB"; then
6641 archive_cmds="$archive_cmds~\$RANLIB \$lib"
6642 postinstall_cmds='$RANLIB $lib'
6643 fi
6644 ;;
6645 aix[[4-9]]*)
6646 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
6647 test "$enable_shared" = yes && enable_static=no
6648 fi
6649 ;;
6650 esac
6651 AC_MSG_RESULT([$enable_shared])
6652
6653 AC_MSG_CHECKING([whether to build static libraries])
6654 # Make sure either enable_shared or enable_static is yes.
6655 test "$enable_shared" = yes || enable_static=yes
6656 AC_MSG_RESULT([$enable_static])
6657
6658 _LT_TAGVAR(GCC, $1)="$G77"
6659 _LT_TAGVAR(LD, $1)="$LD"
6660
6661 ## CAVEAT EMPTOR:
6662 ## There is no encapsulation within the following macros, do not change
6663 ## the running order or otherwise move them around unless you know exactly
6664 ## what you are doing...
6665 _LT_COMPILER_PIC($1)
6666 _LT_COMPILER_C_O($1)
6667 _LT_COMPILER_FILE_LOCKS($1)
6668 _LT_LINKER_SHLIBS($1)
6669 _LT_SYS_DYNAMIC_LINKER($1)
6670 _LT_LINKER_HARDCODE_LIBPATH($1)
6671
6672 _LT_CONFIG($1)
6673 fi # test -n "$compiler"
6674
6675 GCC=$lt_save_GCC
6676 CC="$lt_save_CC"
6677fi # test "$_lt_disable_F77" != yes
6678
6679AC_LANG_POP
6680])# _LT_LANG_F77_CONFIG
6681
6682
6683# _LT_PROG_FC
6684# -----------
6685# Since AC_PROG_FC is broken, in that it returns the empty string
6686# if there is no fortran compiler, we have our own version here.
6687m4_defun([_LT_PROG_FC],
6688[
6689pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
6690AC_PROG_FC
6691if test -z "$FC" || test "X$FC" = "Xno"; then
6692 _lt_disable_FC=yes
6693fi
6694popdef([AC_MSG_ERROR])
6695])# _LT_PROG_FC
6696
6697dnl aclocal-1.4 backwards compatibility:
6698dnl AC_DEFUN([_LT_PROG_FC], [])
6699
6700
6701# _LT_LANG_FC_CONFIG([TAG])
6702# -------------------------
6703# Ensure that the configuration variables for a Fortran compiler are
6704# suitably defined. These variables are subsequently used by _LT_CONFIG
6705# to write the compiler configuration to `libtool'.
6706m4_defun([_LT_LANG_FC_CONFIG],
6707[AC_REQUIRE([_LT_PROG_FC])dnl
6708AC_LANG_PUSH(Fortran)
6709
6710_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6711_LT_TAGVAR(allow_undefined_flag, $1)=
6712_LT_TAGVAR(always_export_symbols, $1)=no
6713_LT_TAGVAR(archive_expsym_cmds, $1)=
6714_LT_TAGVAR(export_dynamic_flag_spec, $1)=
6715_LT_TAGVAR(hardcode_direct, $1)=no
6716_LT_TAGVAR(hardcode_direct_absolute, $1)=no
6717_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6718_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6719_LT_TAGVAR(hardcode_libdir_separator, $1)=
6720_LT_TAGVAR(hardcode_minus_L, $1)=no
6721_LT_TAGVAR(hardcode_automatic, $1)=no
6722_LT_TAGVAR(inherit_rpath, $1)=no
6723_LT_TAGVAR(module_cmds, $1)=
6724_LT_TAGVAR(module_expsym_cmds, $1)=
6725_LT_TAGVAR(link_all_deplibs, $1)=unknown
6726_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6727_LT_TAGVAR(no_undefined_flag, $1)=
6728_LT_TAGVAR(whole_archive_flag_spec, $1)=
6729_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6730
6731# Source file extension for fc test sources.
6732ac_ext=${ac_fc_srcext-f}
6733
6734# Object file extension for compiled fc test sources.
6735objext=o
6736_LT_TAGVAR(objext, $1)=$objext
6737
6738# No sense in running all these tests if we already determined that
6739# the FC compiler isn't working. Some variables (like enable_shared)
6740# are currently assumed to apply to all compilers on this platform,
6741# and will be corrupted by setting them based on a non-working compiler.
6742if test "$_lt_disable_FC" != yes; then
6743 # Code to be used in simple compile tests
6744 lt_simple_compile_test_code="\
6745 subroutine t
6746 return
6747 end
6748"
6749
6750 # Code to be used in simple link tests
6751 lt_simple_link_test_code="\
6752 program t
6753 end
6754"
6755
6756 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6757 _LT_TAG_COMPILER
6758
6759 # save warnings/boilerplate of simple test code
6760 _LT_COMPILER_BOILERPLATE
6761 _LT_LINKER_BOILERPLATE
6762
6763 # Allow CC to be a program name with arguments.
6764 lt_save_CC="$CC"
6765 lt_save_GCC=$GCC
6766 CC=${FC-"f95"}
6767 compiler=$CC
6768 GCC=$ac_cv_fc_compiler_gnu
6769
6770 _LT_TAGVAR(compiler, $1)=$CC
6771 _LT_CC_BASENAME([$compiler])
6772
6773 if test -n "$compiler"; then
6774 AC_MSG_CHECKING([if libtool supports shared libraries])
6775 AC_MSG_RESULT([$can_build_shared])
6776
6777 AC_MSG_CHECKING([whether to build shared libraries])
6778 test "$can_build_shared" = "no" && enable_shared=no
6779
6780 # On AIX, shared libraries and static libraries use the same namespace, and
6781 # are all built from PIC.
6782 case $host_os in
6783 aix3*)
6784 test "$enable_shared" = yes && enable_static=no
6785 if test -n "$RANLIB"; then
6786 archive_cmds="$archive_cmds~\$RANLIB \$lib"
6787 postinstall_cmds='$RANLIB $lib'
6788 fi
6789 ;;
6790 aix[[4-9]]*)
6791 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
6792 test "$enable_shared" = yes && enable_static=no
6793 fi
6794 ;;
6795 esac
6796 AC_MSG_RESULT([$enable_shared])
6797
6798 AC_MSG_CHECKING([whether to build static libraries])
6799 # Make sure either enable_shared or enable_static is yes.
6800 test "$enable_shared" = yes || enable_static=yes
6801 AC_MSG_RESULT([$enable_static])
6802
6803 _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
6804 _LT_TAGVAR(LD, $1)="$LD"
6805
6806 ## CAVEAT EMPTOR:
6807 ## There is no encapsulation within the following macros, do not change
6808 ## the running order or otherwise move them around unless you know exactly
6809 ## what you are doing...
6810 _LT_SYS_HIDDEN_LIBDEPS($1)
6811 _LT_COMPILER_PIC($1)
6812 _LT_COMPILER_C_O($1)
6813 _LT_COMPILER_FILE_LOCKS($1)
6814 _LT_LINKER_SHLIBS($1)
6815 _LT_SYS_DYNAMIC_LINKER($1)
6816 _LT_LINKER_HARDCODE_LIBPATH($1)
6817
6818 _LT_CONFIG($1)
6819 fi # test -n "$compiler"
6820
6821 GCC=$lt_save_GCC
6822 CC="$lt_save_CC"
6823fi # test "$_lt_disable_FC" != yes
6824
6825AC_LANG_POP
6826])# _LT_LANG_FC_CONFIG
6827
6828
6829# _LT_LANG_GCJ_CONFIG([TAG])
6830# --------------------------
6831# Ensure that the configuration variables for the GNU Java Compiler compiler
6832# are suitably defined. These variables are subsequently used by _LT_CONFIG
6833# to write the compiler configuration to `libtool'.
6834m4_defun([_LT_LANG_GCJ_CONFIG],
6835[AC_REQUIRE([LT_PROG_GCJ])dnl
6836AC_LANG_SAVE
6837
6838# Source file extension for Java test sources.
6839ac_ext=java
6840
6841# Object file extension for compiled Java test sources.
6842objext=o
6843_LT_TAGVAR(objext, $1)=$objext
6844
6845# Code to be used in simple compile tests
6846lt_simple_compile_test_code="class foo {}"
6847
6848# Code to be used in simple link tests
6849lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
6850
6851# ltmain only uses $CC for tagged configurations so make sure $CC is set.
6852_LT_TAG_COMPILER
6853
6854# save warnings/boilerplate of simple test code
6855_LT_COMPILER_BOILERPLATE
6856_LT_LINKER_BOILERPLATE
6857
6858# Allow CC to be a program name with arguments.
6859lt_save_CC="$CC"
6860lt_save_GCC=$GCC
6861GCC=yes
6862CC=${GCJ-"gcj"}
6863compiler=$CC
6864_LT_TAGVAR(compiler, $1)=$CC
6865_LT_TAGVAR(LD, $1)="$LD"
6866_LT_CC_BASENAME([$compiler])
6867
6868# GCJ did not exist at the time GCC didn't implicitly link libc in.
6869_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6870
6871_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6872
6873## CAVEAT EMPTOR:
6874## There is no encapsulation within the following macros, do not change
6875## the running order or otherwise move them around unless you know exactly
6876## what you are doing...
6877if test -n "$compiler"; then
6878 _LT_COMPILER_NO_RTTI($1)
6879 _LT_COMPILER_PIC($1)
6880 _LT_COMPILER_C_O($1)
6881 _LT_COMPILER_FILE_LOCKS($1)
6882 _LT_LINKER_SHLIBS($1)
6883 _LT_LINKER_HARDCODE_LIBPATH($1)
6884
6885 _LT_CONFIG($1)
6886fi
6887
6888AC_LANG_RESTORE
6889
6890GCC=$lt_save_GCC
6891CC="$lt_save_CC"
6892])# _LT_LANG_GCJ_CONFIG
6893
6894
6895# _LT_LANG_RC_CONFIG([TAG])
6896# -------------------------
6897# Ensure that the configuration variables for the Windows resource compiler
6898# are suitably defined. These variables are subsequently used by _LT_CONFIG
6899# to write the compiler configuration to `libtool'.
6900m4_defun([_LT_LANG_RC_CONFIG],
6901[AC_REQUIRE([LT_PROG_RC])dnl
6902AC_LANG_SAVE
6903
6904# Source file extension for RC test sources.
6905ac_ext=rc
6906
6907# Object file extension for compiled RC test sources.
6908objext=o
6909_LT_TAGVAR(objext, $1)=$objext
6910
6911# Code to be used in simple compile tests
6912lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
6913
6914# Code to be used in simple link tests
6915lt_simple_link_test_code="$lt_simple_compile_test_code"
6916
6917# ltmain only uses $CC for tagged configurations so make sure $CC is set.
6918_LT_TAG_COMPILER
6919
6920# save warnings/boilerplate of simple test code
6921_LT_COMPILER_BOILERPLATE
6922_LT_LINKER_BOILERPLATE
6923
6924# Allow CC to be a program name with arguments.
6925lt_save_CC="$CC"
6926lt_save_GCC=$GCC
6927GCC=
6928CC=${RC-"windres"}
6929compiler=$CC
6930_LT_TAGVAR(compiler, $1)=$CC
6931_LT_CC_BASENAME([$compiler])
6932_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
6933
6934if test -n "$compiler"; then
6935 :
6936 _LT_CONFIG($1)
6937fi
6938
6939GCC=$lt_save_GCC
6940AC_LANG_RESTORE
6941CC="$lt_save_CC"
6942])# _LT_LANG_RC_CONFIG
6943
6944
6945# LT_PROG_GCJ
6946# -----------
6947AC_DEFUN([LT_PROG_GCJ],
6948[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
6949 [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
6950 [AC_CHECK_TOOL(GCJ, gcj,)
6951 test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
6952 AC_SUBST(GCJFLAGS)])])[]dnl
6953])
6954
6955# Old name:
6956AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
6957dnl aclocal-1.4 backwards compatibility:
6958dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
6959
6960
6961# LT_PROG_RC
6962# ----------
6963AC_DEFUN([LT_PROG_RC],
6964[AC_CHECK_TOOL(RC, windres,)
6965])
6966
6967# Old name:
6968AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
6969dnl aclocal-1.4 backwards compatibility:
6970dnl AC_DEFUN([LT_AC_PROG_RC], [])
6971
6972
6973# _LT_DECL_EGREP
6974# --------------
6975# If we don't have a new enough Autoconf to choose the best grep
6976# available, choose the one first in the user's PATH.
6977m4_defun([_LT_DECL_EGREP],
6978[AC_REQUIRE([AC_PROG_EGREP])dnl
6979AC_REQUIRE([AC_PROG_FGREP])dnl
6980test -z "$GREP" && GREP=grep
6981_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
6982_LT_DECL([], [EGREP], [1], [An ERE matcher])
6983_LT_DECL([], [FGREP], [1], [A literal string matcher])
6984dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
6985AC_SUBST([GREP])
6986])
6987
6988
6989# _LT_DECL_SED
6990# ------------
6991# Check for a fully-functional sed program, that truncates
6992# as few characters as possible. Prefer GNU sed if found.
6993m4_defun([_LT_DECL_SED],
6994[AC_PROG_SED
6995test -z "$SED" && SED=sed
6996Xsed="$SED -e 1s/^X//"
6997_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
6998_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
6999 [Sed that helps us avoid accidentally triggering echo(1) options like -n])
7000])# _LT_DECL_SED
7001
7002m4_ifndef([AC_PROG_SED], [
7003############################################################
7004# NOTE: This macro has been submitted for inclusion into #
7005# GNU Autoconf as AC_PROG_SED. When it is available in #
7006# a released version of Autoconf we should remove this #
7007# macro and use it instead. #
7008############################################################
7009
7010m4_defun([AC_PROG_SED],
7011[AC_MSG_CHECKING([for a sed that does not truncate output])
7012AC_CACHE_VAL(lt_cv_path_SED,
7013[# Loop through the user's path and test for sed and gsed.
7014# Then use that list of sed's as ones to test for truncation.
7015as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7016for as_dir in $PATH
7017do
7018 IFS=$as_save_IFS
7019 test -z "$as_dir" && as_dir=.
7020 for lt_ac_prog in sed gsed; do
7021 for ac_exec_ext in '' $ac_executable_extensions; do
7022 if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
7023 lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
7024 fi
7025 done
7026 done
7027done
7028IFS=$as_save_IFS
7029lt_ac_max=0
7030lt_ac_count=0
7031# Add /usr/xpg4/bin/sed as it is typically found on Solaris
7032# along with /bin/sed that truncates output.
7033for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
7034 test ! -f $lt_ac_sed && continue
7035 cat /dev/null > conftest.in
7036 lt_ac_count=0
7037 echo $ECHO_N "0123456789$ECHO_C" >conftest.in
7038 # Check for GNU sed and select it if it is found.
7039 if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
7040 lt_cv_path_SED=$lt_ac_sed
7041 break
7042 fi
7043 while true; do
7044 cat conftest.in conftest.in >conftest.tmp
7045 mv conftest.tmp conftest.in
7046 cp conftest.in conftest.nl
7047 echo >>conftest.nl
7048 $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
7049 cmp -s conftest.out conftest.nl || break
7050 # 10000 chars as input seems more than enough
7051 test $lt_ac_count -gt 10 && break
7052 lt_ac_count=`expr $lt_ac_count + 1`
7053 if test $lt_ac_count -gt $lt_ac_max; then
7054 lt_ac_max=$lt_ac_count
7055 lt_cv_path_SED=$lt_ac_sed
7056 fi
7057 done
7058done
7059])
7060SED=$lt_cv_path_SED
7061AC_SUBST([SED])
7062AC_MSG_RESULT([$SED])
7063])#AC_PROG_SED
7064])#m4_ifndef
7065
7066# Old name:
7067AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
7068dnl aclocal-1.4 backwards compatibility:
7069dnl AC_DEFUN([LT_AC_PROG_SED], [])
7070
7071
7072# _LT_CHECK_SHELL_FEATURES
7073# ------------------------
7074# Find out whether the shell is Bourne or XSI compatible,
7075# or has some other useful features.
7076m4_defun([_LT_CHECK_SHELL_FEATURES],
7077[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
7078# Try some XSI features
7079xsi_shell=no
7080( _lt_dummy="a/b/c"
7081 test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
7082 = c,a/b,, \
7083 && eval 'test $(( 1 + 1 )) -eq 2 \
7084 && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
7085 && xsi_shell=yes
7086AC_MSG_RESULT([$xsi_shell])
7087_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
7088
7089AC_MSG_CHECKING([whether the shell understands "+="])
7090lt_shell_append=no
7091( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
7092 >/dev/null 2>&1 \
7093 && lt_shell_append=yes
7094AC_MSG_RESULT([$lt_shell_append])
7095_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
7096
7097if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
7098 lt_unset=unset
7099else
7100 lt_unset=false
7101fi
7102_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
7103
7104# test EBCDIC or ASCII
7105case `echo X|tr X '\101'` in
7106 A) # ASCII based system
7107 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
7108 lt_SP2NL='tr \040 \012'
7109 lt_NL2SP='tr \015\012 \040\040'
7110 ;;
7111 *) # EBCDIC based system
7112 lt_SP2NL='tr \100 \n'
7113 lt_NL2SP='tr \r\n \100\100'
7114 ;;
7115esac
7116_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
7117_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
7118])# _LT_CHECK_SHELL_FEATURES
7119
7120
7121# _LT_PROG_XSI_SHELLFNS
7122# ---------------------
7123# Bourne and XSI compatible variants of some useful shell functions.
7124m4_defun([_LT_PROG_XSI_SHELLFNS],
7125[case $xsi_shell in
7126 yes)
7127 cat << \_LT_EOF >> "$cfgfile"
7128
7129# func_dirname file append nondir_replacement
7130# Compute the dirname of FILE. If nonempty, add APPEND to the result,
7131# otherwise set result to NONDIR_REPLACEMENT.
7132func_dirname ()
7133{
7134 case ${1} in
7135 */*) func_dirname_result="${1%/*}${2}" ;;
7136 * ) func_dirname_result="${3}" ;;
7137 esac
7138}
7139
7140# func_basename file
7141func_basename ()
7142{
7143 func_basename_result="${1##*/}"
7144}
7145
7146# func_dirname_and_basename file append nondir_replacement
7147# perform func_basename and func_dirname in a single function
7148# call:
7149# dirname: Compute the dirname of FILE. If nonempty,
7150# add APPEND to the result, otherwise set result
7151# to NONDIR_REPLACEMENT.
7152# value returned in "$func_dirname_result"
7153# basename: Compute filename of FILE.
7154# value retuned in "$func_basename_result"
7155# Implementation must be kept synchronized with func_dirname
7156# and func_basename. For efficiency, we do not delegate to
7157# those functions but instead duplicate the functionality here.
7158func_dirname_and_basename ()
7159{
7160 case ${1} in
7161 */*) func_dirname_result="${1%/*}${2}" ;;
7162 * ) func_dirname_result="${3}" ;;
7163 esac
7164 func_basename_result="${1##*/}"
7165}
7166
7167# func_stripname prefix suffix name
7168# strip PREFIX and SUFFIX off of NAME.
7169# PREFIX and SUFFIX must not contain globbing or regex special
7170# characters, hashes, percent signs, but SUFFIX may contain a leading
7171# dot (in which case that matches only a dot).
7172func_stripname ()
7173{
7174 # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
7175 # positional parameters, so assign one to ordinary parameter first.
7176 func_stripname_result=${3}
7177 func_stripname_result=${func_stripname_result#"${1}"}
7178 func_stripname_result=${func_stripname_result%"${2}"}
7179}
7180
7181# func_opt_split
7182func_opt_split ()
7183{
7184 func_opt_split_opt=${1%%=*}
7185 func_opt_split_arg=${1#*=}
7186}
7187
7188# func_lo2o object
7189func_lo2o ()
7190{
7191 case ${1} in
7192 *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
7193 *) func_lo2o_result=${1} ;;
7194 esac
7195}
7196
7197# func_xform libobj-or-source
7198func_xform ()
7199{
7200 func_xform_result=${1%.*}.lo
7201}
7202
7203# func_arith arithmetic-term...
7204func_arith ()
7205{
7206 func_arith_result=$(( $[*] ))
7207}
7208
7209# func_len string
7210# STRING may not start with a hyphen.
7211func_len ()
7212{
7213 func_len_result=${#1}
7214}
7215
7216_LT_EOF
7217 ;;
7218 *) # Bourne compatible functions.
7219 cat << \_LT_EOF >> "$cfgfile"
7220
7221# func_dirname file append nondir_replacement
7222# Compute the dirname of FILE. If nonempty, add APPEND to the result,
7223# otherwise set result to NONDIR_REPLACEMENT.
7224func_dirname ()
7225{
7226 # Extract subdirectory from the argument.
7227 func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
7228 if test "X$func_dirname_result" = "X${1}"; then
7229 func_dirname_result="${3}"
7230 else
7231 func_dirname_result="$func_dirname_result${2}"
7232 fi
7233}
7234
7235# func_basename file
7236func_basename ()
7237{
7238 func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
7239}
7240
7241dnl func_dirname_and_basename
7242dnl A portable version of this function is already defined in general.m4sh
7243dnl so there is no need for it here.
7244
7245# func_stripname prefix suffix name
7246# strip PREFIX and SUFFIX off of NAME.
7247# PREFIX and SUFFIX must not contain globbing or regex special
7248# characters, hashes, percent signs, but SUFFIX may contain a leading
7249# dot (in which case that matches only a dot).
7250# func_strip_suffix prefix name
7251func_stripname ()
7252{
7253 case ${2} in
7254 .*) func_stripname_result=`$ECHO "X${3}" \
7255 | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
7256 *) func_stripname_result=`$ECHO "X${3}" \
7257 | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
7258 esac
7259}
7260
7261# sed scripts:
7262my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
7263my_sed_long_arg='1s/^-[[^=]]*=//'
7264
7265# func_opt_split
7266func_opt_split ()
7267{
7268 func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
7269 func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
7270}
7271
7272# func_lo2o object
7273func_lo2o ()
7274{
7275 func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
7276}
7277
7278# func_xform libobj-or-source
7279func_xform ()
7280{
7281 func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
7282}
7283
7284# func_arith arithmetic-term...
7285func_arith ()
7286{
7287 func_arith_result=`expr "$[@]"`
7288}
7289
7290# func_len string
7291# STRING may not start with a hyphen.
7292func_len ()
7293{
7294 func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
7295}
7296
7297_LT_EOF
7298esac
7299
7300case $lt_shell_append in
7301 yes)
7302 cat << \_LT_EOF >> "$cfgfile"
7303
7304# func_append var value
7305# Append VALUE to the end of shell variable VAR.
7306func_append ()
7307{
7308 eval "$[1]+=\$[2]"
7309}
7310_LT_EOF
7311 ;;
7312 *)
7313 cat << \_LT_EOF >> "$cfgfile"
7314
7315# func_append var value
7316# Append VALUE to the end of shell variable VAR.
7317func_append ()
7318{
7319 eval "$[1]=\$$[1]\$[2]"
7320}
7321
7322_LT_EOF
7323 ;;
7324 esac
7325])
diff --git a/m4/libxml2.m4 b/m4/libxml2.m4
new file mode 100644
index 000000000..68cd8242f
--- /dev/null
+++ b/m4/libxml2.m4
@@ -0,0 +1,188 @@
1# Configure paths for LIBXML2
2# Mike Hommey 2004-06-19
3# use CPPFLAGS instead of CFLAGS
4# Toshio Kuratomi 2001-04-21
5# Adapted from:
6# Configure paths for GLIB
7# Owen Taylor 97-11-3
8
9dnl AM_PATH_XML2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
10dnl Test for XML, and define XML_CPPFLAGS and XML_LIBS
11dnl
12AC_DEFUN([AM_PATH_XML2],[
13AC_ARG_WITH(xml-prefix,
14 [ --with-xml-prefix=PFX Prefix where libxml is installed (optional)],
15 xml_config_prefix="$withval", xml_config_prefix="")
16AC_ARG_WITH(xml-exec-prefix,
17 [ --with-xml-exec-prefix=PFX Exec prefix where libxml is installed (optional)],
18 xml_config_exec_prefix="$withval", xml_config_exec_prefix="")
19AC_ARG_ENABLE(xmltest,
20 [ --disable-xmltest Do not try to compile and run a test LIBXML program],,
21 enable_xmltest=yes)
22
23 if test x$xml_config_exec_prefix != x ; then
24 xml_config_args="$xml_config_args"
25 if test x${XML2_CONFIG+set} != xset ; then
26 XML2_CONFIG=$xml_config_exec_prefix/bin/xml2-config
27 fi
28 fi
29 if test x$xml_config_prefix != x ; then
30 xml_config_args="$xml_config_args --prefix=$xml_config_prefix"
31 if test x${XML2_CONFIG+set} != xset ; then
32 XML2_CONFIG=$xml_config_prefix/bin/xml2-config
33 fi
34 fi
35
36 AC_PATH_PROG(XML2_CONFIG, xml2-config, no)
37 min_xml_version=ifelse([$1], ,2.0.0,[$1])
38 AC_MSG_CHECKING(for libxml - version >= $min_xml_version)
39 no_xml=""
40 if test "$XML2_CONFIG" = "no" ; then
41 no_xml=yes
42 else
43 XML_CPPFLAGS=`$XML2_CONFIG $xml_config_args --cflags`
44 XML_LIBS=`$XML2_CONFIG $xml_config_args --libs`
45 xml_config_major_version=`$XML2_CONFIG $xml_config_args --version | \
46 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
47 xml_config_minor_version=`$XML2_CONFIG $xml_config_args --version | \
48 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
49 xml_config_micro_version=`$XML2_CONFIG $xml_config_args --version | \
50 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
51 if test "x$enable_xmltest" = "xyes" ; then
52 ac_save_CPPFLAGS="$CPPFLAGS"
53 ac_save_LIBS="$LIBS"
54 CPPFLAGS="$CPPFLAGS $XML_CPPFLAGS"
55 LIBS="$XML_LIBS $LIBS"
56dnl
57dnl Now check if the installed libxml is sufficiently new.
58dnl (Also sanity checks the results of xml2-config to some extent)
59dnl
60 rm -f conf.xmltest
61 AC_TRY_RUN([
62#include <stdlib.h>
63#include <stdio.h>
64#include <string.h>
65#include <libxml/xmlversion.h>
66
67int
68main()
69{
70 int xml_major_version, xml_minor_version, xml_micro_version;
71 int major, minor, micro;
72 char *tmp_version;
73
74 system("touch conf.xmltest");
75
76 /* Capture xml2-config output via autoconf/configure variables */
77 /* HP/UX 9 (%@#!) writes to sscanf strings */
78 tmp_version = (char *)strdup("$min_xml_version");
79 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
80 printf("%s, bad version string from xml2-config\n", "$min_xml_version");
81 exit(1);
82 }
83 free(tmp_version);
84
85 /* Capture the version information from the header files */
86 tmp_version = (char *)strdup(LIBXML_DOTTED_VERSION);
87 if (sscanf(tmp_version, "%d.%d.%d", &xml_major_version, &xml_minor_version, &xml_micro_version) != 3) {
88 printf("%s, bad version string from libxml includes\n", "LIBXML_DOTTED_VERSION");
89 exit(1);
90 }
91 free(tmp_version);
92
93 /* Compare xml2-config output to the libxml headers */
94 if ((xml_major_version != $xml_config_major_version) ||
95 (xml_minor_version != $xml_config_minor_version) ||
96 (xml_micro_version != $xml_config_micro_version))
97 {
98 printf("*** libxml header files (version %d.%d.%d) do not match\n",
99 xml_major_version, xml_minor_version, xml_micro_version);
100 printf("*** xml2-config (version %d.%d.%d)\n",
101 $xml_config_major_version, $xml_config_minor_version, $xml_config_micro_version);
102 return 1;
103 }
104/* Compare the headers to the library to make sure we match */
105 /* Less than ideal -- doesn't provide us with return value feedback,
106 * only exits if there's a serious mismatch between header and library.
107 */
108 LIBXML_TEST_VERSION;
109
110 /* Test that the library is greater than our minimum version */
111 if ((xml_major_version > major) ||
112 ((xml_major_version == major) && (xml_minor_version > minor)) ||
113 ((xml_major_version == major) && (xml_minor_version == minor) &&
114 (xml_micro_version >= micro)))
115 {
116 return 0;
117 }
118 else
119 {
120 printf("\n*** An old version of libxml (%d.%d.%d) was found.\n",
121 xml_major_version, xml_minor_version, xml_micro_version);
122 printf("*** You need a version of libxml newer than %d.%d.%d. The latest version of\n",
123 major, minor, micro);
124 printf("*** libxml is always available from ftp://ftp.xmlsoft.org.\n");
125 printf("***\n");
126 printf("*** If you have already installed a sufficiently new version, this error\n");
127 printf("*** probably means that the wrong copy of the xml2-config shell script is\n");
128 printf("*** being found. The easiest way to fix this is to remove the old version\n");
129 printf("*** of LIBXML, but you can also set the XML2_CONFIG environment to point to the\n");
130 printf("*** correct copy of xml2-config. (In this case, you will have to\n");
131 printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
132 printf("*** so that the correct libraries are found at run-time))\n");
133 }
134 return 1;
135}
136],, no_xml=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
137 CPPFLAGS="$ac_save_CPPFLAGS"
138 LIBS="$ac_save_LIBS"
139 fi
140 fi
141
142 if test "x$no_xml" = x ; then
143 AC_MSG_RESULT(yes (version $xml_config_major_version.$xml_config_minor_version.$xml_config_micro_version))
144 ifelse([$2], , :, [$2])
145 else
146 AC_MSG_RESULT(no)
147 if test "$XML2_CONFIG" = "no" ; then
148 echo "*** The xml2-config script installed by LIBXML could not be found"
149 echo "*** If libxml was installed in PREFIX, make sure PREFIX/bin is in"
150 echo "*** your path, or set the XML2_CONFIG environment variable to the"
151 echo "*** full path to xml2-config."
152 else
153 if test -f conf.xmltest ; then
154 :
155 else
156 echo "*** Could not run libxml test program, checking why..."
157 CPPFLAGS="$CPPFLAGS $XML_CPPFLAGS"
158 LIBS="$LIBS $XML_LIBS"
159 AC_TRY_LINK([
160#include <libxml/xmlversion.h>
161#include <stdio.h>
162], [ LIBXML_TEST_VERSION; return 0;],
163 [ echo "*** The test program compiled, but did not run. This usually means"
164 echo "*** that the run-time linker is not finding LIBXML or finding the wrong"
165 echo "*** version of LIBXML. If it is not finding LIBXML, you'll need to set your"
166 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
167 echo "*** to the installed location Also, make sure you have run ldconfig if that"
168 echo "*** is required on your system"
169 echo "***"
170 echo "*** If you have an old version installed, it is best to remove it, although"
171 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
172 [ echo "*** The test program failed to compile or link. See the file config.log for the"
173 echo "*** exact error that occured. This usually means LIBXML was incorrectly installed"
174 echo "*** or that you have moved LIBXML since it was installed. In the latter case, you"
175 echo "*** may want to edit the xml2-config script: $XML2_CONFIG" ])
176 CPPFLAGS="$ac_save_CPPFLAGS"
177 LIBS="$ac_save_LIBS"
178 fi
179 fi
180
181 XML_CPPFLAGS=""
182 XML_LIBS=""
183 ifelse([$3], , :, [$3])
184 fi
185 AC_SUBST(XML_CPPFLAGS)
186 AC_SUBST(XML_LIBS)
187 rm -f conf.xmltest
188])
diff --git a/m4/lock.m4 b/m4/lock.m4
new file mode 100644
index 000000000..0224f2ff8
--- /dev/null
+++ b/m4/lock.m4
@@ -0,0 +1,311 @@
1# lock.m4 serial 6 (gettext-0.16)
2dnl Copyright (C) 2005-2006 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Bruno Haible.
8
9dnl Tests for a multithreading library to be used.
10dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS,
11dnl USE_PTH_THREADS, USE_WIN32_THREADS
12dnl Sets the variables LIBTHREAD and LTLIBTHREAD to the linker options for use
13dnl in a Makefile (LIBTHREAD for use without libtool, LTLIBTHREAD for use with
14dnl libtool).
15dnl Sets the variables LIBMULTITHREAD and LTLIBMULTITHREAD similarly, for
16dnl programs that really need multithread functionality. The difference
17dnl between LIBTHREAD and LIBMULTITHREAD is that on platforms supporting weak
18dnl symbols, typically LIBTHREAD="" whereas LIBMULTITHREAD="-lpthread".
19dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for
20dnl multithread-safe programs.
21
22AC_DEFUN([gl_LOCK_EARLY],
23[
24 AC_REQUIRE([gl_LOCK_EARLY_BODY])
25])
26
27dnl The guts of gl_LOCK_EARLY. Needs to be expanded only once.
28
29AC_DEFUN([gl_LOCK_EARLY_BODY],
30[
31 dnl Ordering constraints: This macro modifies CPPFLAGS in a way that
32 dnl influences the result of the autoconf tests that test for *_unlocked
33 dnl declarations, on AIX 5 at least. Therefore it must come early.
34 AC_BEFORE([$0], [gl_FUNC_GLIBC_UNLOCKED_IO])dnl
35 AC_BEFORE([$0], [gl_ARGP])dnl
36
37 AC_REQUIRE([AC_CANONICAL_HOST])
38 AC_REQUIRE([AC_GNU_SOURCE]) dnl needed for pthread_rwlock_t on glibc systems
39 dnl Check for multithreading.
40 AC_ARG_ENABLE(threads,
41AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API])
42AC_HELP_STRING([--disable-threads], [build without multithread safety]),
43 [gl_use_threads=$enableval],
44 [case "$host_os" in
45 dnl Disable multithreading by default on OSF/1, because it interferes
46 dnl with fork()/exec(): When msgexec is linked with -lpthread, its child
47 dnl process gets an endless segmentation fault inside execvp().
48 osf*) gl_use_threads=no ;;
49 *) gl_use_threads=yes ;;
50 esac
51 ])
52 if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
53 # For using <pthread.h>:
54 case "$host_os" in
55 osf*)
56 # On OSF/1, the compiler needs the flag -D_REENTRANT so that it
57 # groks <pthread.h>. cc also understands the flag -pthread, but
58 # we don't use it because 1. gcc-2.95 doesn't understand -pthread,
59 # 2. putting a flag into CPPFLAGS that has an effect on the linker
60 # causes the AC_TRY_LINK test below to succeed unexpectedly,
61 # leading to wrong values of LIBTHREAD and LTLIBTHREAD.
62 CPPFLAGS="$CPPFLAGS -D_REENTRANT"
63 ;;
64 esac
65 # Some systems optimize for single-threaded programs by default, and
66 # need special flags to disable these optimizations. For example, the
67 # definition of 'errno' in <errno.h>.
68 case "$host_os" in
69 aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;;
70 solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;;
71 esac
72 fi
73])
74
75dnl The guts of gl_LOCK. Needs to be expanded only once.
76
77AC_DEFUN([gl_LOCK_BODY],
78[
79 AC_REQUIRE([gl_LOCK_EARLY_BODY])
80 gl_threads_api=none
81 LIBTHREAD=
82 LTLIBTHREAD=
83 LIBMULTITHREAD=
84 LTLIBMULTITHREAD=
85 if test "$gl_use_threads" != no; then
86 dnl Check whether the compiler and linker support weak declarations.
87 AC_MSG_CHECKING([whether imported symbols can be declared weak])
88 gl_have_weak=no
89 AC_TRY_LINK([extern void xyzzy ();
90#pragma weak xyzzy], [xyzzy();], [gl_have_weak=yes])
91 AC_MSG_RESULT([$gl_have_weak])
92 if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
93 # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that
94 # it groks <pthread.h>. It's added above, in gl_LOCK_EARLY_BODY.
95 AC_CHECK_HEADER(pthread.h, gl_have_pthread_h=yes, gl_have_pthread_h=no)
96 if test "$gl_have_pthread_h" = yes; then
97 # Other possible tests:
98 # -lpthreads (FSU threads, PCthreads)
99 # -lgthreads
100 gl_have_pthread=
101 # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist
102 # in libc. IRIX 6.5 has the first one in both libc and libpthread, but
103 # the second one only in libpthread, and lock.c needs it.
104 AC_TRY_LINK([#include <pthread.h>],
105 [pthread_mutex_lock((pthread_mutex_t*)0);
106 pthread_mutexattr_init((pthread_mutexattr_t*)0);],
107 [gl_have_pthread=yes])
108 # Test for libpthread by looking for pthread_kill. (Not pthread_self,
109 # since it is defined as a macro on OSF/1.)
110 if test -n "$gl_have_pthread"; then
111 # The program links fine without libpthread. But it may actually
112 # need to link with libpthread in order to create multiple threads.
113 AC_CHECK_LIB(pthread, pthread_kill,
114 [LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread
115 # On Solaris and HP-UX, most pthread functions exist also in libc.
116 # Therefore pthread_in_use() needs to actually try to create a
117 # thread: pthread_create from libc will fail, whereas
118 # pthread_create will actually create a thread.
119 case "$host_os" in
120 solaris* | hpux*)
121 AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], 1,
122 [Define if the pthread_in_use() detection is hard.])
123 esac
124 ])
125 else
126 # Some library is needed. Try libpthread and libc_r.
127 AC_CHECK_LIB(pthread, pthread_kill,
128 [gl_have_pthread=yes
129 LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread
130 LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread])
131 if test -z "$gl_have_pthread"; then
132 # For FreeBSD 4.
133 AC_CHECK_LIB(c_r, pthread_kill,
134 [gl_have_pthread=yes
135 LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r
136 LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r])
137 fi
138 fi
139 if test -n "$gl_have_pthread"; then
140 gl_threads_api=posix
141 AC_DEFINE([USE_POSIX_THREADS], 1,
142 [Define if the POSIX multithreading library can be used.])
143 if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
144 if test $gl_have_weak = yes; then
145 AC_DEFINE([USE_POSIX_THREADS_WEAK], 1,
146 [Define if references to the POSIX multithreading library should be made weak.])
147 LIBTHREAD=
148 LTLIBTHREAD=
149 fi
150 fi
151 # OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the
152 # pthread_rwlock_* functions.
153 AC_CHECK_TYPE([pthread_rwlock_t],
154 [AC_DEFINE([HAVE_PTHREAD_RWLOCK], 1,
155 [Define if the POSIX multithreading library has read/write locks.])],
156 [],
157 [#include <pthread.h>])
158 # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro.
159 AC_TRY_COMPILE([#include <pthread.h>],
160 [#if __FreeBSD__ == 4
161error "No, in FreeBSD 4.0 recursive mutexes actually don't work."
162#else
163int x = (int)PTHREAD_MUTEX_RECURSIVE;
164return !x;
165#endif],
166 [AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], 1,
167 [Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE.])])
168 fi
169 fi
170 fi
171 if test -z "$gl_have_pthread"; then
172 if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then
173 gl_have_solaristhread=
174 gl_save_LIBS="$LIBS"
175 LIBS="$LIBS -lthread"
176 AC_TRY_LINK([#include <thread.h>
177#include <synch.h>],
178 [thr_self();],
179 [gl_have_solaristhread=yes])
180 LIBS="$gl_save_LIBS"
181 if test -n "$gl_have_solaristhread"; then
182 gl_threads_api=solaris
183 LIBTHREAD=-lthread
184 LTLIBTHREAD=-lthread
185 LIBMULTITHREAD="$LIBTHREAD"
186 LTLIBMULTITHREAD="$LTLIBTHREAD"
187 AC_DEFINE([USE_SOLARIS_THREADS], 1,
188 [Define if the old Solaris multithreading library can be used.])
189 if test $gl_have_weak = yes; then
190 AC_DEFINE([USE_SOLARIS_THREADS_WEAK], 1,
191 [Define if references to the old Solaris multithreading library should be made weak.])
192 LIBTHREAD=
193 LTLIBTHREAD=
194 fi
195 fi
196 fi
197 fi
198 if test "$gl_use_threads" = pth; then
199 gl_save_CPPFLAGS="$CPPFLAGS"
200 AC_LIB_LINKFLAGS(pth)
201 gl_have_pth=
202 gl_save_LIBS="$LIBS"
203 LIBS="$LIBS -lpth"
204 AC_TRY_LINK([#include <pth.h>], [pth_self();], gl_have_pth=yes)
205 LIBS="$gl_save_LIBS"
206 if test -n "$gl_have_pth"; then
207 gl_threads_api=pth
208 LIBTHREAD="$LIBPTH"
209 LTLIBTHREAD="$LTLIBPTH"
210 LIBMULTITHREAD="$LIBTHREAD"
211 LTLIBMULTITHREAD="$LTLIBTHREAD"
212 AC_DEFINE([USE_PTH_THREADS], 1,
213 [Define if the GNU Pth multithreading library can be used.])
214 if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
215 if test $gl_have_weak = yes; then
216 AC_DEFINE([USE_PTH_THREADS_WEAK], 1,
217 [Define if references to the GNU Pth multithreading library should be made weak.])
218 LIBTHREAD=
219 LTLIBTHREAD=
220 fi
221 fi
222 else
223 CPPFLAGS="$gl_save_CPPFLAGS"
224 fi
225 fi
226 if test -z "$gl_have_pthread"; then
227 if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then
228 if { case "$host_os" in
229 mingw*) true;;
230 *) false;;
231 esac
232 }; then
233 gl_threads_api=win32
234 AC_DEFINE([USE_WIN32_THREADS], 1,
235 [Define if the Win32 multithreading API can be used.])
236 fi
237 fi
238 fi
239 fi
240 AC_MSG_CHECKING([for multithread API to use])
241 AC_MSG_RESULT([$gl_threads_api])
242 AC_SUBST(LIBTHREAD)
243 AC_SUBST(LTLIBTHREAD)
244 AC_SUBST(LIBMULTITHREAD)
245 AC_SUBST(LTLIBMULTITHREAD)
246])
247
248AC_DEFUN([gl_LOCK],
249[
250 AC_REQUIRE([gl_LOCK_EARLY])
251 AC_REQUIRE([gl_LOCK_BODY])
252 gl_PREREQ_LOCK
253])
254
255# Prerequisites of lib/lock.c.
256AC_DEFUN([gl_PREREQ_LOCK], [
257 AC_REQUIRE([AC_C_INLINE])
258])
259
260dnl Survey of platforms:
261dnl
262dnl Platform Available Compiler Supports test-lock
263dnl flavours option weak result
264dnl --------------- --------- --------- -------- ---------
265dnl Linux 2.4/glibc posix -lpthread Y OK
266dnl
267dnl GNU Hurd/glibc posix
268dnl
269dnl FreeBSD 5.3 posix -lc_r Y
270dnl posix -lkse ? Y
271dnl posix -lpthread ? Y
272dnl posix -lthr Y
273dnl
274dnl FreeBSD 5.2 posix -lc_r Y
275dnl posix -lkse Y
276dnl posix -lthr Y
277dnl
278dnl FreeBSD 4.0,4.10 posix -lc_r Y OK
279dnl
280dnl NetBSD 1.6 --
281dnl
282dnl OpenBSD 3.4 posix -lpthread Y OK
283dnl
284dnl MacOS X 10.[123] posix -lpthread Y OK
285dnl
286dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK
287dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK
288dnl
289dnl HP-UX 11 posix -lpthread N (cc) OK
290dnl Y (gcc)
291dnl
292dnl IRIX 6.5 posix -lpthread Y 0.5
293dnl
294dnl AIX 4.3,5.1 posix -lpthread N AIX 4: 0.5; AIX 5: OK
295dnl
296dnl OSF/1 4.0,5.1 posix -pthread (cc) N OK
297dnl -lpthread (gcc) Y
298dnl
299dnl Cygwin posix -lpthread Y OK
300dnl
301dnl Any of the above pth -lpth 0.0
302dnl
303dnl Mingw win32 N OK
304dnl
305dnl BeOS 5 --
306dnl
307dnl The test-lock result shows what happens if in test-lock.c EXPLICIT_YIELD is
308dnl turned off:
309dnl OK if all three tests terminate OK,
310dnl 0.5 if the first test terminates OK but the second one loops endlessly,
311dnl 0.0 if the first test already loops endlessly.
diff --git a/m4/longdouble.m4 b/m4/longdouble.m4
new file mode 100644
index 000000000..25590f470
--- /dev/null
+++ b/m4/longdouble.m4
@@ -0,0 +1,31 @@
1# longdouble.m4 serial 2 (gettext-0.15)
2dnl Copyright (C) 2002-2003, 2006 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Bruno Haible.
8dnl Test whether the compiler supports the 'long double' type.
9dnl Prerequisite: AC_PROG_CC
10
11dnl This file is only needed in autoconf <= 2.59. Newer versions of autoconf
12dnl have a macro AC_TYPE_LONG_DOUBLE with identical semantics.
13
14AC_DEFUN([gt_TYPE_LONGDOUBLE],
15[
16 AC_CACHE_CHECK([for long double], gt_cv_c_long_double,
17 [if test "$GCC" = yes; then
18 gt_cv_c_long_double=yes
19 else
20 AC_TRY_COMPILE([
21 /* The Stardent Vistra knows sizeof(long double), but does not support it. */
22 long double foo = 0.0;
23 /* On Ultrix 4.3 cc, long double is 4 and double is 8. */
24 int array [2*(sizeof(long double) >= sizeof(double)) - 1];
25 ], ,
26 gt_cv_c_long_double=yes, gt_cv_c_long_double=no)
27 fi])
28 if test $gt_cv_c_long_double = yes; then
29 AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.])
30 fi
31])
diff --git a/m4/longlong.m4 b/m4/longlong.m4
new file mode 100644
index 000000000..3716c09f6
--- /dev/null
+++ b/m4/longlong.m4
@@ -0,0 +1,48 @@
1# longlong.m4 serial 8
2dnl Copyright (C) 1999-2006 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Paul Eggert.
8
9# Define HAVE_LONG_LONG_INT if 'long long int' works.
10# This fixes a bug in Autoconf 2.60, but can be removed once we
11# assume 2.61 everywhere.
12
13# Note: If the type 'long long int' exists but is only 32 bits large
14# (as on some very old compilers), AC_TYPE_LONG_LONG_INT will not be
15# defined. In this case you can treat 'long long int' like 'long int'.
16
17AC_DEFUN([AC_TYPE_LONG_LONG_INT],
18[
19 AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int],
20 [AC_LINK_IFELSE(
21 [AC_LANG_PROGRAM(
22 [[long long int ll = 9223372036854775807ll;
23 long long int nll = -9223372036854775807LL;
24 typedef int a[((-9223372036854775807LL < 0
25 && 0 < 9223372036854775807ll)
26 ? 1 : -1)];
27 int i = 63;]],
28 [[long long int llmax = 9223372036854775807ll;
29 return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
30 | (llmax / ll) | (llmax % ll));]])],
31 [ac_cv_type_long_long_int=yes],
32 [ac_cv_type_long_long_int=no])])
33 if test $ac_cv_type_long_long_int = yes; then
34 AC_DEFINE([HAVE_LONG_LONG_INT], 1,
35 [Define to 1 if the system has the type `long long int'.])
36 fi
37])
38
39# This macro is obsolescent and should go away soon.
40AC_DEFUN([gl_AC_TYPE_LONG_LONG],
41[
42 AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
43 ac_cv_type_long_long=$ac_cv_type_long_long_int
44 if test $ac_cv_type_long_long = yes; then
45 AC_DEFINE(HAVE_LONG_LONG, 1,
46 [Define if you have the 'long long' type.])
47 fi
48])
diff --git a/m4/ltdl.m4 b/m4/ltdl.m4
new file mode 100644
index 000000000..eb8db0cd1
--- /dev/null
+++ b/m4/ltdl.m4
@@ -0,0 +1,824 @@
1# ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*-
2#
3# Copyright (C) 1999-2006, 2007, 2008 Free Software Foundation, Inc.
4# Written by Thomas Tanner, 1999
5#
6# This file is free software; the Free Software Foundation gives
7# unlimited permission to copy and/or distribute it, with or without
8# modifications, as long as this notice is preserved.
9
10# serial 15 LTDL_INIT
11
12# LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE])
13# ------------------------------------------
14# DIRECTORY contains the libltdl sources. It is okay to call this
15# function multiple times, as long as the same DIRECTORY is always given.
16AC_DEFUN([LT_CONFIG_LTDL_DIR],
17[AC_BEFORE([$0], [LTDL_INIT])
18_$0($*)
19])# LT_CONFIG_LTDL_DIR
20
21# We break this out into a separate macro, so that we can call it safely
22# internally without being caught accidentally by the sed scan in libtoolize.
23m4_defun([_LT_CONFIG_LTDL_DIR],
24[dnl remove trailing slashes
25m4_pushdef([_ARG_DIR], m4_bpatsubst([$1], [/*$]))
26m4_case(_LTDL_DIR,
27 [], [dnl only set lt_ltdl_dir if _ARG_DIR is not simply `.'
28 m4_if(_ARG_DIR, [.],
29 [],
30 [m4_define([_LTDL_DIR], _ARG_DIR)
31 _LT_SHELL_INIT([lt_ltdl_dir=']_ARG_DIR['])])],
32 [m4_if(_ARG_DIR, _LTDL_DIR,
33 [],
34 [m4_fatal([multiple libltdl directories: `]_LTDL_DIR[', `]_ARG_DIR['])])])
35m4_popdef([_ARG_DIR])
36])# _LT_CONFIG_LTDL_DIR
37
38# Initialise:
39m4_define([_LTDL_DIR], [])
40
41
42# _LT_BUILD_PREFIX
43# ----------------
44# If Autoconf is new enough, expand to `${top_build_prefix}', otherwise
45# to `${top_builddir}/'.
46m4_define([_LT_BUILD_PREFIX],
47[m4_ifdef([AC_AUTOCONF_VERSION],
48 [m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]), [2.62]),
49 [-1], [m4_ifdef([_AC_HAVE_TOP_BUILD_PREFIX],
50 [${top_build_prefix}],
51 [${top_builddir}/])],
52 [${top_build_prefix}])],
53 [${top_builddir}/])[]dnl
54])
55
56
57# LTDL_CONVENIENCE
58# ----------------
59# sets LIBLTDL to the link flags for the libltdl convenience library and
60# LTDLINCL to the include flags for the libltdl header and adds
61# --enable-ltdl-convenience to the configure arguments. Note that
62# AC_CONFIG_SUBDIRS is not called here. LIBLTDL will be prefixed with
63# '${top_build_prefix}' if available, otherwise with '${top_builddir}/',
64# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
65# quotes!). If your package is not flat and you're not using automake,
66# define top_build_prefix, top_builddir, and top_srcdir appropriately
67# in your Makefiles.
68AC_DEFUN([LTDL_CONVENIENCE],
69[AC_BEFORE([$0], [LTDL_INIT])dnl
70dnl Although the argument is deprecated and no longer documented,
71dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one
72dnl here make sure it is the same as any other declaration of libltdl's
73dnl location! This also ensures lt_ltdl_dir is set when configure.ac is
74dnl not yet using an explicit LT_CONFIG_LTDL_DIR.
75m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl
76_$0()
77])# LTDL_CONVENIENCE
78
79# AC_LIBLTDL_CONVENIENCE accepted a directory argument in older libtools,
80# now we have LT_CONFIG_LTDL_DIR:
81AU_DEFUN([AC_LIBLTDL_CONVENIENCE],
82[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
83_LTDL_CONVENIENCE])
84
85dnl aclocal-1.4 backwards compatibility:
86dnl AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [])
87
88
89# _LTDL_CONVENIENCE
90# -----------------
91# Code shared by LTDL_CONVENIENCE and LTDL_INIT([convenience]).
92m4_defun([_LTDL_CONVENIENCE],
93[case $enable_ltdl_convenience in
94 no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
95 "") enable_ltdl_convenience=yes
96 ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
97esac
98LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdlc.la"
99LTDLDEPS=$LIBLTDL
100LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}"
101
102AC_SUBST([LIBLTDL])
103AC_SUBST([LTDLDEPS])
104AC_SUBST([LTDLINCL])
105
106# For backwards non-gettext consistent compatibility...
107INCLTDL="$LTDLINCL"
108AC_SUBST([INCLTDL])
109])# _LTDL_CONVENIENCE
110
111
112# LTDL_INSTALLABLE
113# ----------------
114# sets LIBLTDL to the link flags for the libltdl installable library
115# and LTDLINCL to the include flags for the libltdl header and adds
116# --enable-ltdl-install to the configure arguments. Note that
117# AC_CONFIG_SUBDIRS is not called from here. If an installed libltdl
118# is not found, LIBLTDL will be prefixed with '${top_build_prefix}' if
119# available, otherwise with '${top_builddir}/', and LTDLINCL will be
120# prefixed with '${top_srcdir}/' (note the single quotes!). If your
121# package is not flat and you're not using automake, define top_build_prefix,
122# top_builddir, and top_srcdir appropriately in your Makefiles.
123# In the future, this macro may have to be called after LT_INIT.
124AC_DEFUN([LTDL_INSTALLABLE],
125[AC_BEFORE([$0], [LTDL_INIT])dnl
126dnl Although the argument is deprecated and no longer documented,
127dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one
128dnl here make sure it is the same as any other declaration of libltdl's
129dnl location! This also ensures lt_ltdl_dir is set when configure.ac is
130dnl not yet using an explicit LT_CONFIG_LTDL_DIR.
131m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl
132_$0()
133])# LTDL_INSTALLABLE
134
135# AC_LIBLTDL_INSTALLABLE accepted a directory argument in older libtools,
136# now we have LT_CONFIG_LTDL_DIR:
137AU_DEFUN([AC_LIBLTDL_INSTALLABLE],
138[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
139_LTDL_INSTALLABLE])
140
141dnl aclocal-1.4 backwards compatibility:
142dnl AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [])
143
144
145# _LTDL_INSTALLABLE
146# -----------------
147# Code shared by LTDL_INSTALLABLE and LTDL_INIT([installable]).
148m4_defun([_LTDL_INSTALLABLE],
149[if test -f $prefix/lib/libltdl.la; then
150 lt_save_LDFLAGS="$LDFLAGS"
151 LDFLAGS="-L$prefix/lib $LDFLAGS"
152 AC_CHECK_LIB([ltdl], [lt_dlinit], [lt_lib_ltdl=yes])
153 LDFLAGS="$lt_save_LDFLAGS"
154 if test x"${lt_lib_ltdl-no}" = xyes; then
155 if test x"$enable_ltdl_install" != xyes; then
156 # Don't overwrite $prefix/lib/libltdl.la without --enable-ltdl-install
157 AC_MSG_WARN([not overwriting libltdl at $prefix, force with `--enable-ltdl-install'])
158 enable_ltdl_install=no
159 fi
160 elif test x"$enable_ltdl_install" = xno; then
161 AC_MSG_WARN([libltdl not installed, but installation disabled])
162 fi
163fi
164
165# If configure.ac declared an installable ltdl, and the user didn't override
166# with --disable-ltdl-install, we will install the shipped libltdl.
167case $enable_ltdl_install in
168 no) ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
169 LIBLTDL="-lltdl"
170 LTDLDEPS=
171 LTDLINCL=
172 ;;
173 *) enable_ltdl_install=yes
174 ac_configure_args="$ac_configure_args --enable-ltdl-install"
175 LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdl.la"
176 LTDLDEPS=$LIBLTDL
177 LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}"
178 ;;
179esac
180
181AC_SUBST([LIBLTDL])
182AC_SUBST([LTDLDEPS])
183AC_SUBST([LTDLINCL])
184
185# For backwards non-gettext consistent compatibility...
186INCLTDL="$LTDLINCL"
187AC_SUBST([INCLTDL])
188])# LTDL_INSTALLABLE
189
190
191# _LTDL_MODE_DISPATCH
192# -------------------
193m4_define([_LTDL_MODE_DISPATCH],
194[dnl If _LTDL_DIR is `.', then we are configuring libltdl itself:
195m4_if(_LTDL_DIR, [],
196 [],
197 dnl if _LTDL_MODE was not set already, the default value is `subproject':
198 [m4_case(m4_default(_LTDL_MODE, [subproject]),
199 [subproject], [AC_CONFIG_SUBDIRS(_LTDL_DIR)
200 _LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"])],
201 [nonrecursive], [_LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"; lt_libobj_prefix="$lt_ltdl_dir/"])],
202 [recursive], [],
203 [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])dnl
204dnl Be careful not to expand twice:
205m4_define([$0], [])
206])# _LTDL_MODE_DISPATCH
207
208
209# _LT_LIBOBJ(MODULE_NAME)
210# -----------------------
211# Like AC_LIBOBJ, except that MODULE_NAME goes into _LT_LIBOBJS instead
212# of into LIBOBJS.
213AC_DEFUN([_LT_LIBOBJ], [
214 m4_pattern_allow([^_LT_LIBOBJS$])
215 AS_LITERAL_IF([$1], [_LT_LIBSOURCES([$1.c])])dnl
216 _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext"
217])# _LT_LIBOBJS
218
219
220# _LT_LIBSOURCES(MODULE_NAMES)
221# ----------------------------
222# Like AC_LIBSOURCES, except the directory where the libltdl source files
223# are expected is distinct from the user LIBOBJ directory.
224AC_DEFUN([_LT_LIBSOURCES], [
225 m4_foreach([_LTNAME], [$1], [
226 m4_syscmd([test -r "$lt_libobj_prefix]_LTNAME[" ||
227 test -z "$lt_libobj_prefix" ||
228 test ! -d "$lt_libobj_prefix"])dnl
229 m4_if(m4_sysval, [0], [],
230 [AC_FATAL([missing $lt_libobj_prefix/]_LTNAME)])
231 ])
232])# _LT_LIBSOURCES
233
234
235# LTDL_INIT([OPTIONS])
236# --------------------
237# Clients of libltdl can use this macro to allow the installer to
238# choose between a shipped copy of the ltdl sources or a preinstalled
239# version of the library. If the shipped ltdl sources are not in a
240# subdirectory named libltdl, the directory name must be given by
241# LT_CONFIG_LTDL_DIR.
242AC_DEFUN([LTDL_INIT],
243[dnl Parse OPTIONS
244_LT_SET_OPTIONS([$0], [$1])
245
246dnl We need to keep our own list of libobjs separate from our parent project,
247dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while
248dnl we look for our own LIBOBJs. Definitions in ltdl-libobj.m4.
249m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ]))
250m4_pushdef([AC_LIBSOURCES], m4_defn([_LT_LIBSOURCES]))
251
252dnl If not otherwise defined, default to the 1.5.x compatible subproject mode:
253m4_if(_LTDL_MODE, [],
254 [m4_define([_LTDL_MODE], m4_default([$2], [subproject]))
255 m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])],
256 [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])
257
258AC_ARG_WITH([included_ltdl],
259 [AS_HELP_STRING([--with-included-ltdl],
260 [use the GNU ltdl sources included here])])
261
262if test "x$with_included_ltdl" != xyes; then
263 # We are not being forced to use the included libltdl sources, so
264 # decide whether there is a useful installed version we can use.
265 AC_CHECK_HEADER([ltdl.h],
266 [AC_CHECK_DECL([lt_dlinterface_register],
267 [AC_CHECK_LIB([ltdl], [lt_dlinterface_register],
268 [with_included_ltdl=no],
269 [with_included_ltdl=yes])],
270 [with_included_ltdl=yes],
271 [AC_INCLUDES_DEFAULT
272 #include <ltdl.h>])],
273 [with_included_ltdl=yes],
274 [AC_INCLUDES_DEFAULT]
275 )
276fi
277
278dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE
279dnl was called yet, then for old times' sake, we assume libltdl is in an
280dnl eponymous directory:
281AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])])
282
283AC_ARG_WITH([ltdl_include],
284 [AS_HELP_STRING([--with-ltdl-include=DIR],
285 [use the ltdl headers installed in DIR])])
286
287if test -n "$with_ltdl_include"; then
288 if test -f "$with_ltdl_include/ltdl.h"; then :
289 else
290 AC_MSG_ERROR([invalid ltdl include directory: `$with_ltdl_include'])
291 fi
292else
293 with_ltdl_include=no
294fi
295
296AC_ARG_WITH([ltdl_lib],
297 [AS_HELP_STRING([--with-ltdl-lib=DIR],
298 [use the libltdl.la installed in DIR])])
299
300if test -n "$with_ltdl_lib"; then
301 if test -f "$with_ltdl_lib/libltdl.la"; then :
302 else
303 AC_MSG_ERROR([invalid ltdl library directory: `$with_ltdl_lib'])
304 fi
305else
306 with_ltdl_lib=no
307fi
308
309case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in
310 ,yes,no,no,)
311 m4_case(m4_default(_LTDL_TYPE, [convenience]),
312 [convenience], [_LTDL_CONVENIENCE],
313 [installable], [_LTDL_INSTALLABLE],
314 [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)])
315 ;;
316 ,no,no,no,)
317 # If the included ltdl is not to be used, then use the
318 # preinstalled libltdl we found.
319 AC_DEFINE([HAVE_LTDL], [1],
320 [Define this if a modern libltdl is already installed])
321 LIBLTDL=-lltdl
322 LTDLDEPS=
323 LTDLINCL=
324 ;;
325 ,no*,no,*)
326 AC_MSG_ERROR([`--with-ltdl-include' and `--with-ltdl-lib' options must be used together])
327 ;;
328 *) with_included_ltdl=no
329 LIBLTDL="-L$with_ltdl_lib -lltdl"
330 LTDLDEPS=
331 LTDLINCL="-I$with_ltdl_include"
332 ;;
333esac
334INCLTDL="$LTDLINCL"
335
336# Report our decision...
337AC_MSG_CHECKING([where to find libltdl headers])
338AC_MSG_RESULT([$LTDLINCL])
339AC_MSG_CHECKING([where to find libltdl library])
340AC_MSG_RESULT([$LIBLTDL])
341
342_LTDL_SETUP
343
344dnl restore autoconf definition.
345m4_popdef([AC_LIBOBJ])
346m4_popdef([AC_LIBSOURCES])
347
348AC_CONFIG_COMMANDS_PRE([
349 _ltdl_libobjs=
350 _ltdl_ltlibobjs=
351 if test -n "$_LT_LIBOBJS"; then
352 # Remove the extension.
353 _lt_sed_drop_objext='s/\.o$//;s/\.obj$//'
354 for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do
355 _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext"
356 _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo"
357 done
358 fi
359 AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs])
360 AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs])
361])
362
363# Only expand once:
364m4_define([LTDL_INIT])
365])# LTDL_INIT
366
367# Old names:
368AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)])
369AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)])
370AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)])
371dnl aclocal-1.4 backwards compatibility:
372dnl AC_DEFUN([AC_LIB_LTDL], [])
373dnl AC_DEFUN([AC_WITH_LTDL], [])
374dnl AC_DEFUN([LT_WITH_LTDL], [])
375
376
377# _LTDL_SETUP
378# -----------
379# Perform all the checks necessary for compilation of the ltdl objects
380# -- including compiler checks and header checks. This is a public
381# interface mainly for the benefit of libltdl's own configure.ac, most
382# other users should call LTDL_INIT instead.
383AC_DEFUN([_LTDL_SETUP],
384[AC_REQUIRE([AC_PROG_CC])dnl
385AC_REQUIRE([LT_SYS_MODULE_EXT])dnl
386AC_REQUIRE([LT_SYS_MODULE_PATH])dnl
387AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl
388AC_REQUIRE([LT_LIB_DLLOAD])dnl
389AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl
390AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl
391AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl
392AC_REQUIRE([gl_FUNC_ARGZ])dnl
393
394m4_require([_LT_CHECK_OBJDIR])dnl
395m4_require([_LT_HEADER_DLFCN])dnl
396m4_require([_LT_CHECK_DLPREOPEN])dnl
397m4_require([_LT_DECL_SED])dnl
398
399# lt_cv_dlopen_self gets defined by LT_SYS_DLOPEN_SELF, called by LT_INIT
400if test "$lt_cv_dlopen_self" = yes; then
401 AC_DEFINE([LTDL_DLOPEN_SELF_WORKS], [1],
402 [Define if dlopen(NULL) is able to resolve symbols from the main program.])
403fi
404
405dnl Don't require this, or it will be expanded earlier than the code
406dnl that sets the variables it relies on:
407_LT_ENABLE_INSTALL
408
409dnl _LTDL_MODE specific code must be called at least once:
410_LTDL_MODE_DISPATCH
411
412# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS
413# the user used. This is so that ltdl.h can pick up the parent projects
414# config.h file, The first file in AC_CONFIG_HEADERS must contain the
415# definitions required by ltdl.c.
416# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility).
417AC_CONFIG_COMMANDS_PRE([dnl
418m4_pattern_allow([^LT_CONFIG_H$])dnl
419m4_ifset([AH_HEADER],
420 [LT_CONFIG_H=AH_HEADER],
421 [m4_ifset([AC_LIST_HEADERS],
422 [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's,^[[ ]]*,,;s,[[ :]].*$,,'`],
423 [])])])
424AC_SUBST([LT_CONFIG_H])
425
426AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h],
427 [], [], [AC_INCLUDES_DEFAULT])
428
429AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])])
430AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])])
431
432name=ltdl
433LTDLOPEN=`eval "\\$ECHO \"$libname_spec\""`
434AC_SUBST([LTDLOPEN])
435])# _LTDL_SETUP
436
437
438# _LT_ENABLE_INSTALL
439# ------------------
440m4_define([_LT_ENABLE_INSTALL],
441[AC_ARG_ENABLE([ltdl-install],
442 [AS_HELP_STRING([--enable-ltdl-install], [install libltdl])])
443
444case ,${enable_ltdl_install},${enable_ltdl_convenience} in
445 *yes*) ;;
446 *) enable_ltdl_convenience=yes ;;
447esac
448
449m4_ifdef([AM_CONDITIONAL],
450[AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno)
451 AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)])
452])# _LT_ENABLE_INSTALL
453
454
455# LT_SYS_DLOPEN_DEPLIBS
456# ---------------------
457AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS],
458[AC_REQUIRE([AC_CANONICAL_HOST])dnl
459AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
460 [lt_cv_sys_dlopen_deplibs],
461 [# PORTME does your system automatically load deplibs for dlopen?
462 # or its logical equivalent (e.g. shl_load for HP-UX < 11)
463 # For now, we just catch OSes we know something about -- in the
464 # future, we'll try test this programmatically.
465 lt_cv_sys_dlopen_deplibs=unknown
466 case $host_os in
467 aix3*|aix4.1.*|aix4.2.*)
468 # Unknown whether this is true for these versions of AIX, but
469 # we want this `case' here to explicitly catch those versions.
470 lt_cv_sys_dlopen_deplibs=unknown
471 ;;
472 aix[[4-9]]*)
473 lt_cv_sys_dlopen_deplibs=yes
474 ;;
475 amigaos*)
476 case $host_cpu in
477 powerpc)
478 lt_cv_sys_dlopen_deplibs=no
479 ;;
480 esac
481 ;;
482 darwin*)
483 # Assuming the user has installed a libdl from somewhere, this is true
484 # If you are looking for one http://www.opendarwin.org/projects/dlcompat
485 lt_cv_sys_dlopen_deplibs=yes
486 ;;
487 freebsd* | dragonfly*)
488 lt_cv_sys_dlopen_deplibs=yes
489 ;;
490 gnu* | linux* | k*bsd*-gnu)
491 # GNU and its variants, using gnu ld.so (Glibc)
492 lt_cv_sys_dlopen_deplibs=yes
493 ;;
494 hpux10*|hpux11*)
495 lt_cv_sys_dlopen_deplibs=yes
496 ;;
497 interix*)
498 lt_cv_sys_dlopen_deplibs=yes
499 ;;
500 irix[[12345]]*|irix6.[[01]]*)
501 # Catch all versions of IRIX before 6.2, and indicate that we don't
502 # know how it worked for any of those versions.
503 lt_cv_sys_dlopen_deplibs=unknown
504 ;;
505 irix*)
506 # The case above catches anything before 6.2, and it's known that
507 # at 6.2 and later dlopen does load deplibs.
508 lt_cv_sys_dlopen_deplibs=yes
509 ;;
510 netbsd* | netbsdelf*-gnu)
511 lt_cv_sys_dlopen_deplibs=yes
512 ;;
513 openbsd*)
514 lt_cv_sys_dlopen_deplibs=yes
515 ;;
516 osf[[1234]]*)
517 # dlopen did load deplibs (at least at 4.x), but until the 5.x series,
518 # it did *not* use an RPATH in a shared library to find objects the
519 # library depends on, so we explicitly say `no'.
520 lt_cv_sys_dlopen_deplibs=no
521 ;;
522 osf5.0|osf5.0a|osf5.1)
523 # dlopen *does* load deplibs and with the right loader patch applied
524 # it even uses RPATH in a shared library to search for shared objects
525 # that the library depends on, but there's no easy way to know if that
526 # patch is installed. Since this is the case, all we can really
527 # say is unknown -- it depends on the patch being installed. If
528 # it is, this changes to `yes'. Without it, it would be `no'.
529 lt_cv_sys_dlopen_deplibs=unknown
530 ;;
531 osf*)
532 # the two cases above should catch all versions of osf <= 5.1. Read
533 # the comments above for what we know about them.
534 # At > 5.1, deplibs are loaded *and* any RPATH in a shared library
535 # is used to find them so we can finally say `yes'.
536 lt_cv_sys_dlopen_deplibs=yes
537 ;;
538 qnx*)
539 lt_cv_sys_dlopen_deplibs=yes
540 ;;
541 solaris*)
542 lt_cv_sys_dlopen_deplibs=yes
543 ;;
544 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
545 libltdl_cv_sys_dlopen_deplibs=yes
546 ;;
547 esac
548 ])
549if test "$lt_cv_sys_dlopen_deplibs" != yes; then
550 AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1],
551 [Define if the OS needs help to load dependent libraries for dlopen().])
552fi
553])# LT_SYS_DLOPEN_DEPLIBS
554
555# Old name:
556AU_ALIAS([AC_LTDL_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS])
557dnl aclocal-1.4 backwards compatibility:
558dnl AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [])
559
560
561# LT_SYS_MODULE_EXT
562# -----------------
563AC_DEFUN([LT_SYS_MODULE_EXT],
564[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
565AC_CACHE_CHECK([which extension is used for runtime loadable modules],
566 [libltdl_cv_shlibext],
567[
568module=yes
569eval libltdl_cv_shlibext=$shrext_cmds
570 ])
571if test -n "$libltdl_cv_shlibext"; then
572 m4_pattern_allow([LT_MODULE_EXT])dnl
573 AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"],
574 [Define to the extension used for runtime loadable modules, say, ".so".])
575fi
576])# LT_SYS_MODULE_EXT
577
578# Old name:
579AU_ALIAS([AC_LTDL_SHLIBEXT], [LT_SYS_MODULE_EXT])
580dnl aclocal-1.4 backwards compatibility:
581dnl AC_DEFUN([AC_LTDL_SHLIBEXT], [])
582
583
584# LT_SYS_MODULE_PATH
585# ------------------
586AC_DEFUN([LT_SYS_MODULE_PATH],
587[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
588AC_CACHE_CHECK([which variable specifies run-time module search path],
589 [lt_cv_module_path_var], [lt_cv_module_path_var="$shlibpath_var"])
590if test -n "$lt_cv_module_path_var"; then
591 m4_pattern_allow([LT_MODULE_PATH_VAR])dnl
592 AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"],
593 [Define to the name of the environment variable that determines the run-time module search path.])
594fi
595])# LT_SYS_MODULE_PATH
596
597# Old name:
598AU_ALIAS([AC_LTDL_SHLIBPATH], [LT_SYS_MODULE_PATH])
599dnl aclocal-1.4 backwards compatibility:
600dnl AC_DEFUN([AC_LTDL_SHLIBPATH], [])
601
602
603# LT_SYS_DLSEARCH_PATH
604# --------------------
605AC_DEFUN([LT_SYS_DLSEARCH_PATH],
606[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
607AC_CACHE_CHECK([for the default library search path],
608 [lt_cv_sys_dlsearch_path],
609 [lt_cv_sys_dlsearch_path="$sys_lib_dlsearch_path_spec"])
610if test -n "$lt_cv_sys_dlsearch_path"; then
611 sys_dlsearch_path=
612 for dir in $lt_cv_sys_dlsearch_path; do
613 if test -z "$sys_dlsearch_path"; then
614 sys_dlsearch_path="$dir"
615 else
616 sys_dlsearch_path="$sys_dlsearch_path$PATH_SEPARATOR$dir"
617 fi
618 done
619 m4_pattern_allow([LT_DLSEARCH_PATH])dnl
620 AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"],
621 [Define to the system default library search path.])
622fi
623])# LT_SYS_DLSEARCH_PATH
624
625# Old name:
626AU_ALIAS([AC_LTDL_SYSSEARCHPATH], [LT_SYS_DLSEARCH_PATH])
627dnl aclocal-1.4 backwards compatibility:
628dnl AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [])
629
630
631# _LT_CHECK_DLPREOPEN
632# -------------------
633m4_defun([_LT_CHECK_DLPREOPEN],
634[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
635AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen],
636 [libltdl_cv_preloaded_symbols],
637 [if test -n "$lt_cv_sys_global_symbol_pipe"; then
638 libltdl_cv_preloaded_symbols=yes
639 else
640 libltdl_cv_preloaded_symbols=no
641 fi
642 ])
643if test x"$libltdl_cv_preloaded_symbols" = xyes; then
644 AC_DEFINE([HAVE_PRELOADED_SYMBOLS], [1],
645 [Define if libtool can extract symbol lists from object files.])
646fi
647])# _LT_CHECK_DLPREOPEN
648
649
650# LT_LIB_DLLOAD
651# -------------
652AC_DEFUN([LT_LIB_DLLOAD],
653[m4_pattern_allow([^LT_DLLOADERS$])
654LT_DLLOADERS=
655AC_SUBST([LT_DLLOADERS])
656
657AC_LANG_PUSH([C])
658
659LIBADD_DLOPEN=
660AC_SEARCH_LIBS([dlopen], [dl],
661 [AC_DEFINE([HAVE_LIBDL], [1],
662 [Define if you have the libdl library or equivalent.])
663 if test "$ac_cv_search_dlopen" != "none required" ; then
664 LIBADD_DLOPEN="-ldl"
665 fi
666 libltdl_cv_lib_dl_dlopen="yes"
667 LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"],
668 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H
669# include <dlfcn.h>
670#endif
671 ]], [[dlopen(0, 0);]])],
672 [AC_DEFINE([HAVE_LIBDL], [1],
673 [Define if you have the libdl library or equivalent.])
674 libltdl_cv_func_dlopen="yes"
675 LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"],
676 [AC_CHECK_LIB([svld], [dlopen],
677 [AC_DEFINE([HAVE_LIBDL], [1],
678 [Define if you have the libdl library or equivalent.])
679 LIBADD_DLOPEN="-lsvld" libltdl_cv_func_dlopen="yes"
680 LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])])
681if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes
682then
683 lt_save_LIBS="$LIBS"
684 LIBS="$LIBS $LIBADD_DLOPEN"
685 AC_CHECK_FUNCS([dlerror])
686 LIBS="$lt_save_LIBS"
687fi
688AC_SUBST([LIBADD_DLOPEN])
689
690LIBADD_SHL_LOAD=
691AC_CHECK_FUNC([shl_load],
692 [AC_DEFINE([HAVE_SHL_LOAD], [1],
693 [Define if you have the shl_load function.])
694 LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"],
695 [AC_CHECK_LIB([dld], [shl_load],
696 [AC_DEFINE([HAVE_SHL_LOAD], [1],
697 [Define if you have the shl_load function.])
698 LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"
699 LIBADD_SHL_LOAD="-ldld"])])
700AC_SUBST([LIBADD_SHL_LOAD])
701
702case $host_os in
703darwin[[1567]].*)
704# We only want this for pre-Mac OS X 10.4.
705 AC_CHECK_FUNC([_dyld_func_lookup],
706 [AC_DEFINE([HAVE_DYLD], [1],
707 [Define if you have the _dyld_func_lookup function.])
708 LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"])
709 ;;
710beos*)
711 LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la"
712 ;;
713cygwin* | mingw* | os2* | pw32*)
714 AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include <sys/cygwin.h>]])
715 LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la"
716 ;;
717esac
718
719AC_CHECK_LIB([dld], [dld_link],
720 [AC_DEFINE([HAVE_DLD], [1],
721 [Define if you have the GNU dld library.])
722 LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"])
723AC_SUBST([LIBADD_DLD_LINK])
724
725m4_pattern_allow([^LT_DLPREOPEN$])
726LT_DLPREOPEN=
727if test -n "$LT_DLLOADERS"
728then
729 for lt_loader in $LT_DLLOADERS; do
730 LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader "
731 done
732 AC_DEFINE([HAVE_LIBDLLOADER], [1],
733 [Define if libdlloader will be built on this platform])
734fi
735AC_SUBST([LT_DLPREOPEN])
736
737dnl This isn't used anymore, but set it for backwards compatibility
738LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD"
739AC_SUBST([LIBADD_DL])
740
741AC_LANG_POP
742])# LT_LIB_DLLOAD
743
744# Old name:
745AU_ALIAS([AC_LTDL_DLLIB], [LT_LIB_DLLOAD])
746dnl aclocal-1.4 backwards compatibility:
747dnl AC_DEFUN([AC_LTDL_DLLIB], [])
748
749
750# LT_SYS_SYMBOL_USCORE
751# --------------------
752# does the compiler prefix global symbols with an underscore?
753AC_DEFUN([LT_SYS_SYMBOL_USCORE],
754[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
755AC_CACHE_CHECK([for _ prefix in compiled symbols],
756 [lt_cv_sys_symbol_underscore],
757 [lt_cv_sys_symbol_underscore=no
758 cat > conftest.$ac_ext <<_LT_EOF
759void nm_test_func(){}
760int main(){nm_test_func;return 0;}
761_LT_EOF
762 if AC_TRY_EVAL(ac_compile); then
763 # Now try to grab the symbols.
764 ac_nlist=conftest.nm
765 if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
766 # See whether the symbols have a leading underscore.
767 if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
768 lt_cv_sys_symbol_underscore=yes
769 else
770 if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
771 :
772 else
773 echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD
774 fi
775 fi
776 else
777 echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
778 fi
779 else
780 echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
781 cat conftest.c >&AS_MESSAGE_LOG_FD
782 fi
783 rm -rf conftest*
784 ])
785 sys_symbol_underscore=$lt_cv_sys_symbol_underscore
786 AC_SUBST([sys_symbol_underscore])
787])# LT_SYS_SYMBOL_USCORE
788
789# Old name:
790AU_ALIAS([AC_LTDL_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE])
791dnl aclocal-1.4 backwards compatibility:
792dnl AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [])
793
794
795# LT_FUNC_DLSYM_USCORE
796# --------------------
797AC_DEFUN([LT_FUNC_DLSYM_USCORE],
798[AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl
799if test x"$lt_cv_sys_symbol_underscore" = xyes; then
800 if test x"$libltdl_cv_func_dlopen" = xyes ||
801 test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then
802 AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
803 [libltdl_cv_need_uscore],
804 [libltdl_cv_need_uscore=unknown
805 save_LIBS="$LIBS"
806 LIBS="$LIBS $LIBADD_DLOPEN"
807 _LT_TRY_DLOPEN_SELF(
808 [libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes],
809 [], [libltdl_cv_need_uscore=cross])
810 LIBS="$save_LIBS"
811 ])
812 fi
813fi
814
815if test x"$libltdl_cv_need_uscore" = xyes; then
816 AC_DEFINE([NEED_USCORE], [1],
817 [Define if dlsym() requires a leading underscore in symbol names.])
818fi
819])# LT_FUNC_DLSYM_USCORE
820
821# Old name:
822AU_ALIAS([AC_LTDL_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE])
823dnl aclocal-1.4 backwards compatibility:
824dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], [])
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
new file mode 100644
index 000000000..e97011948
--- /dev/null
+++ b/m4/ltoptions.m4
@@ -0,0 +1,368 @@
1# Helper functions for option handling. -*- Autoconf -*-
2#
3# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
4# Written by Gary V. Vaughan, 2004
5#
6# This file is free software; the Free Software Foundation gives
7# unlimited permission to copy and/or distribute it, with or without
8# modifications, as long as this notice is preserved.
9
10# serial 6 ltoptions.m4
11
12# This is to help aclocal find these macros, as it can't see m4_define.
13AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
14
15
16# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
17# ------------------------------------------
18m4_define([_LT_MANGLE_OPTION],
19[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
20
21
22# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
23# ---------------------------------------
24# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
25# matching handler defined, dispatch to it. Other OPTION-NAMEs are
26# saved as a flag.
27m4_define([_LT_SET_OPTION],
28[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
29m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
30 _LT_MANGLE_DEFUN([$1], [$2]),
31 [m4_warning([Unknown $1 option `$2'])])[]dnl
32])
33
34
35# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
36# ------------------------------------------------------------
37# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
38m4_define([_LT_IF_OPTION],
39[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
40
41
42# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
43# -------------------------------------------------------
44# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
45# are set.
46m4_define([_LT_UNLESS_OPTIONS],
47[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
48 [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
49 [m4_define([$0_found])])])[]dnl
50m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
51])[]dnl
52])
53
54
55# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
56# ----------------------------------------
57# OPTION-LIST is a space-separated list of Libtool options associated
58# with MACRO-NAME. If any OPTION has a matching handler declared with
59# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
60# the unknown option and exit.
61m4_defun([_LT_SET_OPTIONS],
62[# Set options
63m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
64 [_LT_SET_OPTION([$1], _LT_Option)])
65
66m4_if([$1],[LT_INIT],[
67 dnl
68 dnl Simply set some default values (i.e off) if boolean options were not
69 dnl specified:
70 _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
71 ])
72 _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
73 ])
74 dnl
75 dnl If no reference was made to various pairs of opposing options, then
76 dnl we run the default mode handler for the pair. For example, if neither
77 dnl `shared' nor `disable-shared' was passed, we enable building of shared
78 dnl archives by default:
79 _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
80 _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
81 _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
82 _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
83 [_LT_ENABLE_FAST_INSTALL])
84 ])
85])# _LT_SET_OPTIONS
86
87
88## --------------------------------- ##
89## Macros to handle LT_INIT options. ##
90## --------------------------------- ##
91
92# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
93# -----------------------------------------
94m4_define([_LT_MANGLE_DEFUN],
95[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
96
97
98# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
99# -----------------------------------------------
100m4_define([LT_OPTION_DEFINE],
101[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
102])# LT_OPTION_DEFINE
103
104
105# dlopen
106# ------
107LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
108])
109
110AU_DEFUN([AC_LIBTOOL_DLOPEN],
111[_LT_SET_OPTION([LT_INIT], [dlopen])
112AC_DIAGNOSE([obsolete],
113[$0: Remove this warning and the call to _LT_SET_OPTION when you
114put the `dlopen' option into LT_INIT's first parameter.])
115])
116
117dnl aclocal-1.4 backwards compatibility:
118dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
119
120
121# win32-dll
122# ---------
123# Declare package support for building win32 dll's.
124LT_OPTION_DEFINE([LT_INIT], [win32-dll],
125[enable_win32_dll=yes
126
127case $host in
128*-*-cygwin* | *-*-mingw* | *-*-pw32*)
129 AC_CHECK_TOOL(AS, as, false)
130 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
131 AC_CHECK_TOOL(OBJDUMP, objdump, false)
132 ;;
133esac
134
135test -z "$AS" && AS=as
136_LT_DECL([], [AS], [0], [Assembler program])dnl
137
138test -z "$DLLTOOL" && DLLTOOL=dlltool
139_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
140
141test -z "$OBJDUMP" && OBJDUMP=objdump
142_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
143])# win32-dll
144
145AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
146[AC_REQUIRE([AC_CANONICAL_HOST])dnl
147_LT_SET_OPTION([LT_INIT], [win32-dll])
148AC_DIAGNOSE([obsolete],
149[$0: Remove this warning and the call to _LT_SET_OPTION when you
150put the `win32-dll' option into LT_INIT's first parameter.])
151])
152
153dnl aclocal-1.4 backwards compatibility:
154dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
155
156
157# _LT_ENABLE_SHARED([DEFAULT])
158# ----------------------------
159# implement the --enable-shared flag, and supports the `shared' and
160# `disable-shared' LT_INIT options.
161# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
162m4_define([_LT_ENABLE_SHARED],
163[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
164AC_ARG_ENABLE([shared],
165 [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
166 [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
167 [p=${PACKAGE-default}
168 case $enableval in
169 yes) enable_shared=yes ;;
170 no) enable_shared=no ;;
171 *)
172 enable_shared=no
173 # Look at the argument we got. We use all the common list separators.
174 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
175 for pkg in $enableval; do
176 IFS="$lt_save_ifs"
177 if test "X$pkg" = "X$p"; then
178 enable_shared=yes
179 fi
180 done
181 IFS="$lt_save_ifs"
182 ;;
183 esac],
184 [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
185
186 _LT_DECL([build_libtool_libs], [enable_shared], [0],
187 [Whether or not to build shared libraries])
188])# _LT_ENABLE_SHARED
189
190LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
191LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
192
193# Old names:
194AC_DEFUN([AC_ENABLE_SHARED],
195[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
196])
197
198AC_DEFUN([AC_DISABLE_SHARED],
199[_LT_SET_OPTION([LT_INIT], [disable-shared])
200])
201
202AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
203AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
204
205dnl aclocal-1.4 backwards compatibility:
206dnl AC_DEFUN([AM_ENABLE_SHARED], [])
207dnl AC_DEFUN([AM_DISABLE_SHARED], [])
208
209
210
211# _LT_ENABLE_STATIC([DEFAULT])
212# ----------------------------
213# implement the --enable-static flag, and support the `static' and
214# `disable-static' LT_INIT options.
215# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
216m4_define([_LT_ENABLE_STATIC],
217[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
218AC_ARG_ENABLE([static],
219 [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
220 [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
221 [p=${PACKAGE-default}
222 case $enableval in
223 yes) enable_static=yes ;;
224 no) enable_static=no ;;
225 *)
226 enable_static=no
227 # Look at the argument we got. We use all the common list separators.
228 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
229 for pkg in $enableval; do
230 IFS="$lt_save_ifs"
231 if test "X$pkg" = "X$p"; then
232 enable_static=yes
233 fi
234 done
235 IFS="$lt_save_ifs"
236 ;;
237 esac],
238 [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
239
240 _LT_DECL([build_old_libs], [enable_static], [0],
241 [Whether or not to build static libraries])
242])# _LT_ENABLE_STATIC
243
244LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
245LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
246
247# Old names:
248AC_DEFUN([AC_ENABLE_STATIC],
249[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
250])
251
252AC_DEFUN([AC_DISABLE_STATIC],
253[_LT_SET_OPTION([LT_INIT], [disable-static])
254])
255
256AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
257AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
258
259dnl aclocal-1.4 backwards compatibility:
260dnl AC_DEFUN([AM_ENABLE_STATIC], [])
261dnl AC_DEFUN([AM_DISABLE_STATIC], [])
262
263
264
265# _LT_ENABLE_FAST_INSTALL([DEFAULT])
266# ----------------------------------
267# implement the --enable-fast-install flag, and support the `fast-install'
268# and `disable-fast-install' LT_INIT options.
269# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
270m4_define([_LT_ENABLE_FAST_INSTALL],
271[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
272AC_ARG_ENABLE([fast-install],
273 [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
274 [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
275 [p=${PACKAGE-default}
276 case $enableval in
277 yes) enable_fast_install=yes ;;
278 no) enable_fast_install=no ;;
279 *)
280 enable_fast_install=no
281 # Look at the argument we got. We use all the common list separators.
282 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
283 for pkg in $enableval; do
284 IFS="$lt_save_ifs"
285 if test "X$pkg" = "X$p"; then
286 enable_fast_install=yes
287 fi
288 done
289 IFS="$lt_save_ifs"
290 ;;
291 esac],
292 [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
293
294_LT_DECL([fast_install], [enable_fast_install], [0],
295 [Whether or not to optimize for fast installation])dnl
296])# _LT_ENABLE_FAST_INSTALL
297
298LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
299LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
300
301# Old names:
302AU_DEFUN([AC_ENABLE_FAST_INSTALL],
303[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
304AC_DIAGNOSE([obsolete],
305[$0: Remove this warning and the call to _LT_SET_OPTION when you put
306the `fast-install' option into LT_INIT's first parameter.])
307])
308
309AU_DEFUN([AC_DISABLE_FAST_INSTALL],
310[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
311AC_DIAGNOSE([obsolete],
312[$0: Remove this warning and the call to _LT_SET_OPTION when you put
313the `disable-fast-install' option into LT_INIT's first parameter.])
314])
315
316dnl aclocal-1.4 backwards compatibility:
317dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
318dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
319
320
321# _LT_WITH_PIC([MODE])
322# --------------------
323# implement the --with-pic flag, and support the `pic-only' and `no-pic'
324# LT_INIT options.
325# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
326m4_define([_LT_WITH_PIC],
327[AC_ARG_WITH([pic],
328 [AS_HELP_STRING([--with-pic],
329 [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
330 [pic_mode="$withval"],
331 [pic_mode=default])
332
333test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
334
335_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
336])# _LT_WITH_PIC
337
338LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
339LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
340
341# Old name:
342AU_DEFUN([AC_LIBTOOL_PICMODE],
343[_LT_SET_OPTION([LT_INIT], [pic-only])
344AC_DIAGNOSE([obsolete],
345[$0: Remove this warning and the call to _LT_SET_OPTION when you
346put the `pic-only' option into LT_INIT's first parameter.])
347])
348
349dnl aclocal-1.4 backwards compatibility:
350dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
351
352## ----------------- ##
353## LTDL_INIT Options ##
354## ----------------- ##
355
356m4_define([_LTDL_MODE], [])
357LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
358 [m4_define([_LTDL_MODE], [nonrecursive])])
359LT_OPTION_DEFINE([LTDL_INIT], [recursive],
360 [m4_define([_LTDL_MODE], [recursive])])
361LT_OPTION_DEFINE([LTDL_INIT], [subproject],
362 [m4_define([_LTDL_MODE], [subproject])])
363
364m4_define([_LTDL_TYPE], [])
365LT_OPTION_DEFINE([LTDL_INIT], [installable],
366 [m4_define([_LTDL_TYPE], [installable])])
367LT_OPTION_DEFINE([LTDL_INIT], [convenience],
368 [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
new file mode 100644
index 000000000..0d258e070
--- /dev/null
+++ b/m4/ltsugar.m4
@@ -0,0 +1,123 @@
1# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
2#
3# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
4# Written by Gary V. Vaughan, 2004
5#
6# This file is free software; the Free Software Foundation gives
7# unlimited permission to copy and/or distribute it, with or without
8# modifications, as long as this notice is preserved.
9
10# serial 5 ltsugar.m4
11
12# This is to help aclocal find these macros, as it can't see m4_define.
13AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
14
15
16# lt_join(SEP, ARG1, [ARG2...])
17# -----------------------------
18# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
19# associated separator.
20# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
21# versions in m4sugar had bugs.
22m4_define([lt_join],
23[m4_if([$#], [1], [],
24 [$#], [2], [[$2]],
25 [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
26m4_define([_lt_join],
27[m4_if([$#$2], [2], [],
28 [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
29
30
31# lt_car(LIST)
32# lt_cdr(LIST)
33# ------------
34# Manipulate m4 lists.
35# These macros are necessary as long as will still need to support
36# Autoconf-2.59 which quotes differently.
37m4_define([lt_car], [[$1]])
38m4_define([lt_cdr],
39[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
40 [$#], 1, [],
41 [m4_dquote(m4_shift($@))])])
42m4_define([lt_unquote], $1)
43
44
45# lt_append(MACRO-NAME, STRING, [SEPARATOR])
46# ------------------------------------------
47# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
48# Note that neither SEPARATOR nor STRING are expanded; they are appended
49# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
50# No SEPARATOR is output if MACRO-NAME was previously undefined (different
51# than defined and empty).
52#
53# This macro is needed until we can rely on Autoconf 2.62, since earlier
54# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
55m4_define([lt_append],
56[m4_define([$1],
57 m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
58
59
60
61# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
62# ----------------------------------------------------------
63# Produce a SEP delimited list of all paired combinations of elements of
64# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
65# has the form PREFIXmINFIXSUFFIXn.
66m4_define([lt_combine],
67[m4_if([$2], [], [],
68 [m4_if([$4], [], [],
69 [lt_join(m4_quote(m4_default([$1], [[, ]])),
70 lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_prefix, [$2],
71 [m4_foreach(_Lt_suffix, lt_car([m4_shiftn(3, $@)]),
72 [_Lt_prefix[]$3[]_Lt_suffix ])])))))])])dnl
73])
74
75
76# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
77# -----------------------------------------------------------------------
78# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
79# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
80m4_define([lt_if_append_uniq],
81[m4_ifdef([$1],
82 [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
83 [lt_append([$1], [$2], [$3])$4],
84 [$5])],
85 [lt_append([$1], [$2], [$3])$4])])
86
87
88# lt_dict_add(DICT, KEY, VALUE)
89# -----------------------------
90m4_define([lt_dict_add],
91[m4_define([$1($2)], [$3])])
92
93
94# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
95# --------------------------------------------
96m4_define([lt_dict_add_subkey],
97[m4_define([$1($2:$3)], [$4])])
98
99
100# lt_dict_fetch(DICT, KEY, [SUBKEY])
101# ----------------------------------
102m4_define([lt_dict_fetch],
103[m4_ifval([$3],
104 m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
105 m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
106
107
108# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
109# -----------------------------------------------------------------
110m4_define([lt_if_dict_fetch],
111[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
112 [$5],
113 [$6])])
114
115
116# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
117# --------------------------------------------------------------
118m4_define([lt_dict_filter],
119[m4_if([$5], [], [],
120 [lt_join(m4_quote(m4_default([$4], [[, ]])),
121 lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
122 [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
123])
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
new file mode 100644
index 000000000..45cb1557c
--- /dev/null
+++ b/m4/ltversion.m4
@@ -0,0 +1,23 @@
1# ltversion.m4 -- version numbers -*- Autoconf -*-
2#
3# Copyright (C) 2004 Free Software Foundation, Inc.
4# Written by Scott James Remnant, 2004
5#
6# This file is free software; the Free Software Foundation gives
7# unlimited permission to copy and/or distribute it, with or without
8# modifications, as long as this notice is preserved.
9
10# Generated from ltversion.in.
11
12# serial 2976 ltversion.m4
13# This file is part of GNU Libtool
14
15m4_define([LT_PACKAGE_VERSION], [2.2.4])
16m4_define([LT_PACKAGE_REVISION], [1.2976])
17
18AC_DEFUN([LTVERSION_VERSION],
19[macro_version='2.2.4'
20macro_revision='1.2976'
21_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
22_LT_DECL(, macro_revision, 0)
23])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
new file mode 100644
index 000000000..637bb2066
--- /dev/null
+++ b/m4/lt~obsolete.m4
@@ -0,0 +1,92 @@
1# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
2#
3# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
4# Written by Scott James Remnant, 2004.
5#
6# This file is free software; the Free Software Foundation gives
7# unlimited permission to copy and/or distribute it, with or without
8# modifications, as long as this notice is preserved.
9
10# serial 4 lt~obsolete.m4
11
12# These exist entirely to fool aclocal when bootstrapping libtool.
13#
14# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
15# which have later been changed to m4_define as they aren't part of the
16# exported API, or moved to Autoconf or Automake where they belong.
17#
18# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
19# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
20# using a macro with the same name in our local m4/libtool.m4 it'll
21# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
22# and doesn't know about Autoconf macros at all.)
23#
24# So we provide this file, which has a silly filename so it's always
25# included after everything else. This provides aclocal with the
26# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
27# because those macros already exist, or will be overwritten later.
28# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
29#
30# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
31# Yes, that means every name once taken will need to remain here until
32# we give up compatibility with versions before 1.7, at which point
33# we need to keep only those names which we still refer to.
34
35# This is to help aclocal find these macros, as it can't see m4_define.
36AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
37
38m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
39m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
40m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
41m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
42m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
43m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
44m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
45m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
46m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
47m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
48m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
49m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
50m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
51m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
52m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
53m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
54m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
55m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
56m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
57m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
58m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
59m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
60m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
61m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
62m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
63m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
64m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
65m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
66m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
67m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
68m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
69m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
70m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
71m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
72m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
73m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
74m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
75m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
76m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
77m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
78m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
79m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
80m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
81m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
82m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
83m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
84m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
85m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
86m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
87m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
88m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
89m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
90m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
91m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
92m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
diff --git a/m4/nls.m4 b/m4/nls.m4
new file mode 100644
index 000000000..7967cc2f9
--- /dev/null
+++ b/m4/nls.m4
@@ -0,0 +1,31 @@
1# nls.m4 serial 3 (gettext-0.15)
2dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6dnl
7dnl This file can can be used in projects which are not available under
8dnl the GNU General Public License or the GNU Library General Public
9dnl License but which still want to provide support for the GNU gettext
10dnl functionality.
11dnl Please note that the actual code of the GNU gettext library is covered
12dnl by the GNU Library General Public License, and the rest of the GNU
13dnl gettext package package is covered by the GNU General Public License.
14dnl They are *not* in the public domain.
15
16dnl Authors:
17dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
18dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
19
20AC_PREREQ(2.50)
21
22AC_DEFUN([AM_NLS],
23[
24 AC_MSG_CHECKING([whether NLS is requested])
25 dnl Default is enabled NLS
26 AC_ARG_ENABLE(nls,
27 [ --disable-nls do not use Native Language Support],
28 USE_NLS=$enableval, USE_NLS=yes)
29 AC_MSG_RESULT($USE_NLS)
30 AC_SUBST(USE_NLS)
31])
diff --git a/m4/pkg.m4 b/m4/pkg.m4
new file mode 100644
index 000000000..f2bfc2d49
--- /dev/null
+++ b/m4/pkg.m4
@@ -0,0 +1,57 @@
1
2dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
3dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
4dnl also defines GSTUFF_PKG_ERRORS on error
5AC_DEFUN([PKG_CHECK_MODULES], [
6 succeeded=no
7
8 if test -z "$PKG_CONFIG"; then
9 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
10 fi
11
12 if test "$PKG_CONFIG" = "no" ; then
13 echo "*** The pkg-config script could not be found. Make sure it is"
14 echo "*** in your path, or set the PKG_CONFIG environment variable"
15 echo "*** to the full path to pkg-config."
16 echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
17 else
18 PKG_CONFIG_MIN_VERSION=0.9.0
19 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
20 AC_MSG_CHECKING(for $2)
21
22 if $PKG_CONFIG --exists "$2" ; then
23 AC_MSG_RESULT(yes)
24 succeeded=yes
25
26 AC_MSG_CHECKING($1_CFLAGS)
27 $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
28 AC_MSG_RESULT($$1_CFLAGS)
29
30 AC_MSG_CHECKING($1_LIBS)
31 $1_LIBS=`$PKG_CONFIG --libs "$2"`
32 AC_MSG_RESULT($$1_LIBS)
33 else
34 $1_CFLAGS=""
35 $1_LIBS=""
36 ## If we have a custom action on failure, don't print errors, but
37 ## do set a variable so people can do so.
38 $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
39 ifelse([$4], ,echo $$1_PKG_ERRORS,)
40 fi
41
42 AC_SUBST($1_CFLAGS)
43 AC_SUBST($1_LIBS)
44 else
45 echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
46 echo "*** See http://www.freedesktop.org/software/pkgconfig"
47 fi
48 fi
49
50 if test $succeeded = yes; then
51 ifelse([$3], , :, [$3])
52 else
53 ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
54 fi
55])
56
57
diff --git a/m4/po.m4 b/m4/po.m4
new file mode 100644
index 000000000..00133ef36
--- /dev/null
+++ b/m4/po.m4
@@ -0,0 +1,428 @@
1# po.m4 serial 13 (gettext-0.15)
2dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6dnl
7dnl This file can can be used in projects which are not available under
8dnl the GNU General Public License or the GNU Library General Public
9dnl License but which still want to provide support for the GNU gettext
10dnl functionality.
11dnl Please note that the actual code of the GNU gettext library is covered
12dnl by the GNU Library General Public License, and the rest of the GNU
13dnl gettext package package is covered by the GNU General Public License.
14dnl They are *not* in the public domain.
15
16dnl Authors:
17dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
18dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
19
20AC_PREREQ(2.50)
21
22dnl Checks for all prerequisites of the po subdirectory.
23AC_DEFUN([AM_PO_SUBDIRS],
24[
25 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
26 AC_REQUIRE([AC_PROG_INSTALL])dnl
27 AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
28 AC_REQUIRE([AM_NLS])dnl
29
30 dnl Perform the following tests also if --disable-nls has been given,
31 dnl because they are needed for "make dist" to work.
32
33 dnl Search for GNU msgfmt in the PATH.
34 dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
35 dnl The second test excludes FreeBSD msgfmt.
36 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
37 [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
38 (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
39 :)
40 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
41
42 dnl Test whether it is GNU msgfmt >= 0.15.
43changequote(,)dnl
44 case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
45 '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
46 *) MSGFMT_015=$MSGFMT ;;
47 esac
48changequote([,])dnl
49 AC_SUBST([MSGFMT_015])
50changequote(,)dnl
51 case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
52 '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
53 *) GMSGFMT_015=$GMSGFMT ;;
54 esac
55changequote([,])dnl
56 AC_SUBST([GMSGFMT_015])
57
58 dnl Search for GNU xgettext 0.12 or newer in the PATH.
59 dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
60 dnl The second test excludes FreeBSD xgettext.
61 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
62 [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
63 (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
64 :)
65 dnl Remove leftover from FreeBSD xgettext call.
66 rm -f messages.po
67
68 dnl Test whether it is GNU xgettext >= 0.15.
69changequote(,)dnl
70 case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
71 '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
72 *) XGETTEXT_015=$XGETTEXT ;;
73 esac
74changequote([,])dnl
75 AC_SUBST([XGETTEXT_015])
76
77 dnl Search for GNU msgmerge 0.11 or newer in the PATH.
78 AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
79 [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
80
81 dnl Installation directories.
82 dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
83 dnl have to define it here, so that it can be used in po/Makefile.
84 test -n "$localedir" || localedir='${datadir}/locale'
85 AC_SUBST([localedir])
86
87 AC_CONFIG_COMMANDS([po-directories], [[
88 for ac_file in $CONFIG_FILES; do
89 # Support "outfile[:infile[:infile...]]"
90 case "$ac_file" in
91 *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
92 esac
93 # PO directories have a Makefile.in generated from Makefile.in.in.
94 case "$ac_file" in */Makefile.in)
95 # Adjust a relative srcdir.
96 ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
97 ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
98 ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
99 # In autoconf-2.13 it is called $ac_given_srcdir.
100 # In autoconf-2.50 it is called $srcdir.
101 test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
102 case "$ac_given_srcdir" in
103 .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
104 /*) top_srcdir="$ac_given_srcdir" ;;
105 *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
106 esac
107 # Treat a directory as a PO directory if and only if it has a
108 # POTFILES.in file. This allows packages to have multiple PO
109 # directories under different names or in different locations.
110 if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
111 rm -f "$ac_dir/POTFILES"
112 test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
113 cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
114 POMAKEFILEDEPS="POTFILES.in"
115 # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
116 # on $ac_dir but don't depend on user-specified configuration
117 # parameters.
118 if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
119 # The LINGUAS file contains the set of available languages.
120 if test -n "$OBSOLETE_ALL_LINGUAS"; then
121 test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
122 fi
123 ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
124 # Hide the ALL_LINGUAS assigment from automake < 1.5.
125 eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
126 POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
127 else
128 # The set of available languages was given in configure.in.
129 # Hide the ALL_LINGUAS assigment from automake < 1.5.
130 eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
131 fi
132 # Compute POFILES
133 # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
134 # Compute UPDATEPOFILES
135 # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
136 # Compute DUMMYPOFILES
137 # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
138 # Compute GMOFILES
139 # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
140 case "$ac_given_srcdir" in
141 .) srcdirpre= ;;
142 *) srcdirpre='$(srcdir)/' ;;
143 esac
144 POFILES=
145 UPDATEPOFILES=
146 DUMMYPOFILES=
147 GMOFILES=
148 for lang in $ALL_LINGUAS; do
149 POFILES="$POFILES $srcdirpre$lang.po"
150 UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
151 DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
152 GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
153 done
154 # CATALOGS depends on both $ac_dir and the user's LINGUAS
155 # environment variable.
156 INST_LINGUAS=
157 if test -n "$ALL_LINGUAS"; then
158 for presentlang in $ALL_LINGUAS; do
159 useit=no
160 if test "%UNSET%" != "$LINGUAS"; then
161 desiredlanguages="$LINGUAS"
162 else
163 desiredlanguages="$ALL_LINGUAS"
164 fi
165 for desiredlang in $desiredlanguages; do
166 # Use the presentlang catalog if desiredlang is
167 # a. equal to presentlang, or
168 # b. a variant of presentlang (because in this case,
169 # presentlang can be used as a fallback for messages
170 # which are not translated in the desiredlang catalog).
171 case "$desiredlang" in
172 "$presentlang"*) useit=yes;;
173 esac
174 done
175 if test $useit = yes; then
176 INST_LINGUAS="$INST_LINGUAS $presentlang"
177 fi
178 done
179 fi
180 CATALOGS=
181 if test -n "$INST_LINGUAS"; then
182 for lang in $INST_LINGUAS; do
183 CATALOGS="$CATALOGS $lang.gmo"
184 done
185 fi
186 test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
187 sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
188 for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
189 if test -f "$f"; then
190 case "$f" in
191 *.orig | *.bak | *~) ;;
192 *) cat "$f" >> "$ac_dir/Makefile" ;;
193 esac
194 fi
195 done
196 fi
197 ;;
198 esac
199 done]],
200 [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
201 # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
202 # from automake < 1.5.
203 eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
204 # Capture the value of LINGUAS because we need it to compute CATALOGS.
205 LINGUAS="${LINGUAS-%UNSET%}"
206 ])
207])
208
209dnl Postprocesses a Makefile in a directory containing PO files.
210AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
211[
212 # When this code is run, in config.status, two variables have already been
213 # set:
214 # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
215 # - LINGUAS is the value of the environment variable LINGUAS at configure
216 # time.
217
218changequote(,)dnl
219 # Adjust a relative srcdir.
220 ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
221 ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
222 ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
223 # In autoconf-2.13 it is called $ac_given_srcdir.
224 # In autoconf-2.50 it is called $srcdir.
225 test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
226 case "$ac_given_srcdir" in
227 .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
228 /*) top_srcdir="$ac_given_srcdir" ;;
229 *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
230 esac
231
232 # Find a way to echo strings without interpreting backslash.
233 if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
234 gt_echo='echo'
235 else
236 if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
237 gt_echo='printf %s\n'
238 else
239 echo_func () {
240 cat <<EOT
241$*
242EOT
243 }
244 gt_echo='echo_func'
245 fi
246 fi
247
248 # A sed script that extracts the value of VARIABLE from a Makefile.
249 sed_x_variable='
250# Test if the hold space is empty.
251x
252s/P/P/
253x
254ta
255# Yes it was empty. Look if we have the expected variable definition.
256/^[ ]*VARIABLE[ ]*=/{
257 # Seen the first line of the variable definition.
258 s/^[ ]*VARIABLE[ ]*=//
259 ba
260}
261bd
262:a
263# Here we are processing a line from the variable definition.
264# Remove comment, more precisely replace it with a space.
265s/#.*$/ /
266# See if the line ends in a backslash.
267tb
268:b
269s/\\$//
270# Print the line, without the trailing backslash.
271p
272tc
273# There was no trailing backslash. The end of the variable definition is
274# reached. Clear the hold space.
275s/^.*$//
276x
277bd
278:c
279# A trailing backslash means that the variable definition continues in the
280# next line. Put a nonempty string into the hold space to indicate this.
281s/^.*$/P/
282x
283:d
284'
285changequote([,])dnl
286
287 # Set POTFILES to the value of the Makefile variable POTFILES.
288 sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
289 POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
290 # Compute POTFILES_DEPS as
291 # $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
292 POTFILES_DEPS=
293 for file in $POTFILES; do
294 POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
295 done
296 POMAKEFILEDEPS=""
297
298 if test -n "$OBSOLETE_ALL_LINGUAS"; then
299 test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
300 fi
301 if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
302 # The LINGUAS file contains the set of available languages.
303 ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
304 POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
305 else
306 # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
307 sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
308 ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
309 fi
310 # Hide the ALL_LINGUAS assigment from automake < 1.5.
311 eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
312 # Compute POFILES
313 # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
314 # Compute UPDATEPOFILES
315 # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
316 # Compute DUMMYPOFILES
317 # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
318 # Compute GMOFILES
319 # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
320 # Compute PROPERTIESFILES
321 # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
322 # Compute CLASSFILES
323 # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
324 # Compute QMFILES
325 # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
326 # Compute MSGFILES
327 # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
328 # Compute RESOURCESDLLFILES
329 # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
330 case "$ac_given_srcdir" in
331 .) srcdirpre= ;;
332 *) srcdirpre='$(srcdir)/' ;;
333 esac
334 POFILES=
335 UPDATEPOFILES=
336 DUMMYPOFILES=
337 GMOFILES=
338 PROPERTIESFILES=
339 CLASSFILES=
340 QMFILES=
341 MSGFILES=
342 RESOURCESDLLFILES=
343 for lang in $ALL_LINGUAS; do
344 POFILES="$POFILES $srcdirpre$lang.po"
345 UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
346 DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
347 GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
348 PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
349 CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
350 QMFILES="$QMFILES $srcdirpre$lang.qm"
351 frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
352 MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
353 frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
354 RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
355 done
356 # CATALOGS depends on both $ac_dir and the user's LINGUAS
357 # environment variable.
358 INST_LINGUAS=
359 if test -n "$ALL_LINGUAS"; then
360 for presentlang in $ALL_LINGUAS; do
361 useit=no
362 if test "%UNSET%" != "$LINGUAS"; then
363 desiredlanguages="$LINGUAS"
364 else
365 desiredlanguages="$ALL_LINGUAS"
366 fi
367 for desiredlang in $desiredlanguages; do
368 # Use the presentlang catalog if desiredlang is
369 # a. equal to presentlang, or
370 # b. a variant of presentlang (because in this case,
371 # presentlang can be used as a fallback for messages
372 # which are not translated in the desiredlang catalog).
373 case "$desiredlang" in
374 "$presentlang"*) useit=yes;;
375 esac
376 done
377 if test $useit = yes; then
378 INST_LINGUAS="$INST_LINGUAS $presentlang"
379 fi
380 done
381 fi
382 CATALOGS=
383 JAVACATALOGS=
384 QTCATALOGS=
385 TCLCATALOGS=
386 CSHARPCATALOGS=
387 if test -n "$INST_LINGUAS"; then
388 for lang in $INST_LINGUAS; do
389 CATALOGS="$CATALOGS $lang.gmo"
390 JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
391 QTCATALOGS="$QTCATALOGS $lang.qm"
392 frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
393 TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
394 frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
395 CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
396 done
397 fi
398
399 sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
400 if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
401 # Add dependencies that cannot be formulated as a simple suffix rule.
402 for lang in $ALL_LINGUAS; do
403 frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
404 cat >> "$ac_file.tmp" <<EOF
405$frobbedlang.msg: $lang.po
406 @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
407 \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
408EOF
409 done
410 fi
411 if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
412 # Add dependencies that cannot be formulated as a simple suffix rule.
413 for lang in $ALL_LINGUAS; do
414 frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
415 cat >> "$ac_file.tmp" <<EOF
416$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
417 @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
418 \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
419EOF
420 done
421 fi
422 if test -n "$POMAKEFILEDEPS"; then
423 cat >> "$ac_file.tmp" <<EOF
424Makefile: $POMAKEFILEDEPS
425EOF
426 fi
427 mv "$ac_file.tmp" "$ac_file"
428])
diff --git a/m4/printf-posix.m4 b/m4/printf-posix.m4
new file mode 100644
index 000000000..af10170af
--- /dev/null
+++ b/m4/printf-posix.m4
@@ -0,0 +1,44 @@
1# printf-posix.m4 serial 2 (gettext-0.13.1)
2dnl Copyright (C) 2003 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Bruno Haible.
8dnl Test whether the printf() function supports POSIX/XSI format strings with
9dnl positions.
10
11AC_DEFUN([gt_PRINTF_POSIX],
12[
13 AC_REQUIRE([AC_PROG_CC])
14 AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings],
15 gt_cv_func_printf_posix,
16 [
17 AC_TRY_RUN([
18#include <stdio.h>
19#include <string.h>
20/* The string "%2$d %1$d", with dollar characters protected from the shell's
21 dollar expansion (possibly an autoconf bug). */
22static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' };
23static char buf[100];
24int main ()
25{
26 sprintf (buf, format, 33, 55);
27 return (strcmp (buf, "55 33") != 0);
28}], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no,
29 [
30 AC_EGREP_CPP(notposix, [
31#if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__
32 notposix
33#endif
34 ], gt_cv_func_printf_posix="guessing no",
35 gt_cv_func_printf_posix="guessing yes")
36 ])
37 ])
38 case $gt_cv_func_printf_posix in
39 *yes)
40 AC_DEFINE(HAVE_POSIX_PRINTF, 1,
41 [Define if your printf() function supports format strings with positions.])
42 ;;
43 esac
44])
diff --git a/m4/progtest.m4 b/m4/progtest.m4
new file mode 100644
index 000000000..a56365cd3
--- /dev/null
+++ b/m4/progtest.m4
@@ -0,0 +1,92 @@
1# progtest.m4 serial 4 (gettext-0.14.2)
2dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6dnl
7dnl This file can can be used in projects which are not available under
8dnl the GNU General Public License or the GNU Library General Public
9dnl License but which still want to provide support for the GNU gettext
10dnl functionality.
11dnl Please note that the actual code of the GNU gettext library is covered
12dnl by the GNU Library General Public License, and the rest of the GNU
13dnl gettext package package is covered by the GNU General Public License.
14dnl They are *not* in the public domain.
15
16dnl Authors:
17dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
18
19AC_PREREQ(2.50)
20
21# Search path for a program which passes the given test.
22
23dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
24dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
25AC_DEFUN([AM_PATH_PROG_WITH_TEST],
26[
27# Prepare PATH_SEPARATOR.
28# The user is always right.
29if test "${PATH_SEPARATOR+set}" != set; then
30 echo "#! /bin/sh" >conf$$.sh
31 echo "exit 0" >>conf$$.sh
32 chmod +x conf$$.sh
33 if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
34 PATH_SEPARATOR=';'
35 else
36 PATH_SEPARATOR=:
37 fi
38 rm -f conf$$.sh
39fi
40
41# Find out how to test for executable files. Don't use a zero-byte file,
42# as systems may use methods other than mode bits to determine executability.
43cat >conf$$.file <<_ASEOF
44#! /bin/sh
45exit 0
46_ASEOF
47chmod +x conf$$.file
48if test -x conf$$.file >/dev/null 2>&1; then
49 ac_executable_p="test -x"
50else
51 ac_executable_p="test -f"
52fi
53rm -f conf$$.file
54
55# Extract the first word of "$2", so it can be a program name with args.
56set dummy $2; ac_word=[$]2
57AC_MSG_CHECKING([for $ac_word])
58AC_CACHE_VAL(ac_cv_path_$1,
59[case "[$]$1" in
60 [[\\/]]* | ?:[[\\/]]*)
61 ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
62 ;;
63 *)
64 ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
65 for ac_dir in ifelse([$5], , $PATH, [$5]); do
66 IFS="$ac_save_IFS"
67 test -z "$ac_dir" && ac_dir=.
68 for ac_exec_ext in '' $ac_executable_extensions; do
69 if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
70 echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
71 if [$3]; then
72 ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
73 break 2
74 fi
75 fi
76 done
77 done
78 IFS="$ac_save_IFS"
79dnl If no 4th arg is given, leave the cache variable unset,
80dnl so AC_PATH_PROGS will keep looking.
81ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
82])dnl
83 ;;
84esac])dnl
85$1="$ac_cv_path_$1"
86if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
87 AC_MSG_RESULT([$]$1)
88else
89 AC_MSG_RESULT(no)
90fi
91AC_SUBST($1)dnl
92])
diff --git a/m4/signed.m4 b/m4/signed.m4
new file mode 100644
index 000000000..dc1f54f10
--- /dev/null
+++ b/m4/signed.m4
@@ -0,0 +1,19 @@
1# signed.m4 serial 1 (gettext-0.10.40)
2dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
3dnl This file is free software, distributed under the terms of the GNU
4dnl General Public License. As a special exception to the GNU General
5dnl Public License, this file may be distributed as part of a program
6dnl that contains a configuration script generated by Autoconf, under
7dnl the same distribution terms as the rest of that program.
8
9dnl From Bruno Haible.
10
11AC_DEFUN([bh_C_SIGNED],
12[
13 AC_CACHE_CHECK([for signed], bh_cv_c_signed,
14 [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)])
15 if test $bh_cv_c_signed = no; then
16 AC_DEFINE(signed, ,
17 [Define to empty if the C compiler doesn't support this keyword.])
18 fi
19])
diff --git a/m4/size_max.m4 b/m4/size_max.m4
new file mode 100644
index 000000000..bfba811eb
--- /dev/null
+++ b/m4/size_max.m4
@@ -0,0 +1,62 @@
1# size_max.m4 serial 5
2dnl Copyright (C) 2003, 2005-2006 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Bruno Haible.
8
9AC_DEFUN([gl_SIZE_MAX],
10[
11 AC_CHECK_HEADERS(stdint.h)
12 dnl First test whether the system already has SIZE_MAX.
13 AC_MSG_CHECKING([for SIZE_MAX])
14 AC_CACHE_VAL([gl_cv_size_max], [
15 gl_cv_size_max=
16 AC_EGREP_CPP([Found it], [
17#include <limits.h>
18#if HAVE_STDINT_H
19#include <stdint.h>
20#endif
21#ifdef SIZE_MAX
22Found it
23#endif
24], gl_cv_size_max=yes)
25 if test -z "$gl_cv_size_max"; then
26 dnl Define it ourselves. Here we assume that the type 'size_t' is not wider
27 dnl than the type 'unsigned long'. Try hard to find a definition that can
28 dnl be used in a preprocessor #if, i.e. doesn't contain a cast.
29 _AC_COMPUTE_INT([sizeof (size_t) * CHAR_BIT - 1], size_t_bits_minus_1,
30 [#include <stddef.h>
31#include <limits.h>], size_t_bits_minus_1=)
32 _AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint,
33 [#include <stddef.h>], fits_in_uint=)
34 if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then
35 if test $fits_in_uint = 1; then
36 dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
37 dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
38 AC_TRY_COMPILE([#include <stddef.h>
39 extern size_t foo;
40 extern unsigned long foo;
41 ], [], fits_in_uint=0)
42 fi
43 dnl We cannot use 'expr' to simplify this expression, because 'expr'
44 dnl works only with 'long' integers in the host environment, while we
45 dnl might be cross-compiling from a 32-bit platform to a 64-bit platform.
46 if test $fits_in_uint = 1; then
47 gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)"
48 else
49 gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)"
50 fi
51 else
52 dnl Shouldn't happen, but who knows...
53 gl_cv_size_max='((size_t)~(size_t)0)'
54 fi
55 fi
56 ])
57 AC_MSG_RESULT([$gl_cv_size_max])
58 if test "$gl_cv_size_max" != yes; then
59 AC_DEFINE_UNQUOTED([SIZE_MAX], [$gl_cv_size_max],
60 [Define as the maximum value of type 'size_t', if the system doesn't define it.])
61 fi
62])
diff --git a/m4/stdint_h.m4 b/m4/stdint_h.m4
new file mode 100644
index 000000000..db9a8ac4c
--- /dev/null
+++ b/m4/stdint_h.m4
@@ -0,0 +1,26 @@
1# stdint_h.m4 serial 6
2dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Paul Eggert.
8
9# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
10# doesn't clash with <sys/types.h>, and declares uintmax_t.
11
12AC_DEFUN([gl_AC_HEADER_STDINT_H],
13[
14 AC_CACHE_CHECK([for stdint.h], gl_cv_header_stdint_h,
15 [AC_TRY_COMPILE(
16 [#include <sys/types.h>
17#include <stdint.h>],
18 [uintmax_t i = (uintmax_t) -1; return !i;],
19 gl_cv_header_stdint_h=yes,
20 gl_cv_header_stdint_h=no)])
21 if test $gl_cv_header_stdint_h = yes; then
22 AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
23 [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
24 and declares uintmax_t. ])
25 fi
26])
diff --git a/m4/uintmax_t.m4 b/m4/uintmax_t.m4
new file mode 100644
index 000000000..bf83ed746
--- /dev/null
+++ b/m4/uintmax_t.m4
@@ -0,0 +1,30 @@
1# uintmax_t.m4 serial 9
2dnl Copyright (C) 1997-2004 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Paul Eggert.
8
9AC_PREREQ(2.13)
10
11# Define uintmax_t to 'unsigned long' or 'unsigned long long'
12# if it is not already defined in <stdint.h> or <inttypes.h>.
13
14AC_DEFUN([gl_AC_TYPE_UINTMAX_T],
15[
16 AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
17 AC_REQUIRE([gl_AC_HEADER_STDINT_H])
18 if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then
19 AC_REQUIRE([gl_AC_TYPE_UNSIGNED_LONG_LONG])
20 test $ac_cv_type_unsigned_long_long = yes \
21 && ac_type='unsigned long long' \
22 || ac_type='unsigned long'
23 AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
24 [Define to unsigned long or unsigned long long
25 if <stdint.h> and <inttypes.h> don't define.])
26 else
27 AC_DEFINE(HAVE_UINTMAX_T, 1,
28 [Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.])
29 fi
30])
diff --git a/m4/ulonglong.m4 b/m4/ulonglong.m4
new file mode 100644
index 000000000..9fae98e3a
--- /dev/null
+++ b/m4/ulonglong.m4
@@ -0,0 +1,48 @@
1# ulonglong.m4 serial 6
2dnl Copyright (C) 1999-2006 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Paul Eggert.
8
9# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works.
10# This fixes a bug in Autoconf 2.60, but can be removed once we
11# assume 2.61 everywhere.
12
13# Note: If the type 'unsigned long long int' exists but is only 32 bits
14# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT
15# will not be defined. In this case you can treat 'unsigned long long int'
16# like 'unsigned long int'.
17
18AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
19[
20 AC_CACHE_CHECK([for unsigned long long int],
21 [ac_cv_type_unsigned_long_long_int],
22 [AC_LINK_IFELSE(
23 [AC_LANG_PROGRAM(
24 [[unsigned long long int ull = 18446744073709551615ULL;
25 typedef int a[(18446744073709551615ULL <= (unsigned long long int) -1
26 ? 1 : -1)];
27 int i = 63;]],
28 [[unsigned long long int ullmax = 18446744073709551615ull;
29 return (ull << 63 | ull >> 63 | ull << i | ull >> i
30 | ullmax / ull | ullmax % ull);]])],
31 [ac_cv_type_unsigned_long_long_int=yes],
32 [ac_cv_type_unsigned_long_long_int=no])])
33 if test $ac_cv_type_unsigned_long_long_int = yes; then
34 AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], 1,
35 [Define to 1 if the system has the type `unsigned long long int'.])
36 fi
37])
38
39# This macro is obsolescent and should go away soon.
40AC_DEFUN([gl_AC_TYPE_UNSIGNED_LONG_LONG],
41[
42 AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
43 ac_cv_type_unsigned_long_long=$ac_cv_type_unsigned_long_long_int
44 if test $ac_cv_type_unsigned_long_long = yes; then
45 AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
46 [Define if you have the 'unsigned long long' type.])
47 fi
48])
diff --git a/m4/visibility.m4 b/m4/visibility.m4
new file mode 100644
index 000000000..2ff6330aa
--- /dev/null
+++ b/m4/visibility.m4
@@ -0,0 +1,52 @@
1# visibility.m4 serial 1 (gettext-0.15)
2dnl Copyright (C) 2005 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Bruno Haible.
8
9dnl Tests whether the compiler supports the command-line option
10dnl -fvisibility=hidden and the function and variable attributes
11dnl __attribute__((__visibility__("hidden"))) and
12dnl __attribute__((__visibility__("default"))).
13dnl Does *not* test for __visibility__("protected") - which has tricky
14dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on
15dnl MacOS X.
16dnl Does *not* test for __visibility__("internal") - which has processor
17dnl dependent semantics.
18dnl Does *not* test for #pragma GCC visibility push(hidden) - which is
19dnl "really only recommended for legacy code".
20dnl Set the variable CFLAG_VISIBILITY.
21dnl Defines and sets the variable HAVE_VISIBILITY.
22
23AC_DEFUN([gl_VISIBILITY],
24[
25 AC_REQUIRE([AC_PROG_CC])
26 CFLAG_VISIBILITY=
27 HAVE_VISIBILITY=0
28 if test -n "$GCC"; then
29 AC_MSG_CHECKING([for simple visibility declarations])
30 AC_CACHE_VAL(gl_cv_cc_visibility, [
31 gl_save_CFLAGS="$CFLAGS"
32 CFLAGS="$CFLAGS -fvisibility=hidden"
33 AC_TRY_COMPILE(
34 [extern __attribute__((__visibility__("hidden"))) int hiddenvar;
35 extern __attribute__((__visibility__("default"))) int exportedvar;
36 extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
37 extern __attribute__((__visibility__("default"))) int exportedfunc (void);],
38 [],
39 gl_cv_cc_visibility=yes,
40 gl_cv_cc_visibility=no)
41 CFLAGS="$gl_save_CFLAGS"])
42 AC_MSG_RESULT([$gl_cv_cc_visibility])
43 if test $gl_cv_cc_visibility = yes; then
44 CFLAG_VISIBILITY="-fvisibility=hidden"
45 HAVE_VISIBILITY=1
46 fi
47 fi
48 AC_SUBST([CFLAG_VISIBILITY])
49 AC_SUBST([HAVE_VISIBILITY])
50 AC_DEFINE_UNQUOTED([HAVE_VISIBILITY], [$HAVE_VISIBILITY],
51 [Define to 1 or 0, depending whether the compiler supports simple visibility declarations.])
52])
diff --git a/m4/wchar_t.m4 b/m4/wchar_t.m4
new file mode 100644
index 000000000..cde2129a9
--- /dev/null
+++ b/m4/wchar_t.m4
@@ -0,0 +1,20 @@
1# wchar_t.m4 serial 1 (gettext-0.12)
2dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Bruno Haible.
8dnl Test whether <stddef.h> has the 'wchar_t' type.
9dnl Prerequisite: AC_PROG_CC
10
11AC_DEFUN([gt_TYPE_WCHAR_T],
12[
13 AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t,
14 [AC_TRY_COMPILE([#include <stddef.h>
15 wchar_t foo = (wchar_t)'\0';], ,
16 gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)])
17 if test $gt_cv_c_wchar_t = yes; then
18 AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.])
19 fi
20])
diff --git a/m4/wint_t.m4 b/m4/wint_t.m4
new file mode 100644
index 000000000..b8fff9c86
--- /dev/null
+++ b/m4/wint_t.m4
@@ -0,0 +1,20 @@
1# wint_t.m4 serial 1 (gettext-0.12)
2dnl Copyright (C) 2003 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Bruno Haible.
8dnl Test whether <wchar.h> has the 'wint_t' type.
9dnl Prerequisite: AC_PROG_CC
10
11AC_DEFUN([gt_TYPE_WINT_T],
12[
13 AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t,
14 [AC_TRY_COMPILE([#include <wchar.h>
15 wint_t foo = (wchar_t)'\0';], ,
16 gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)])
17 if test $gt_cv_c_wint_t = yes; then
18 AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.])
19 fi
20])
diff --git a/m4/xsize.m4 b/m4/xsize.m4
new file mode 100644
index 000000000..85bb721e4
--- /dev/null
+++ b/m4/xsize.m4
@@ -0,0 +1,13 @@
1# xsize.m4 serial 3
2dnl Copyright (C) 2003-2004 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7AC_DEFUN([gl_XSIZE],
8[
9 dnl Prerequisites of lib/xsize.h.
10 AC_REQUIRE([gl_SIZE_MAX])
11 AC_REQUIRE([AC_C_INLINE])
12 AC_CHECK_HEADERS(stdint.h)
13])