intervals 0.3.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION.txt +1 -0
- data/ext/crlibm/AUTHORS +2 -0
- data/ext/crlibm/COPYING +504 -0
- data/ext/crlibm/ChangeLog +80 -0
- data/ext/crlibm/INSTALL +182 -0
- data/ext/crlibm/Makefile.am +84 -0
- data/ext/crlibm/Makefile.in +530 -0
- data/ext/crlibm/NEWS +0 -0
- data/ext/crlibm/README +31 -0
- data/ext/crlibm/TODO +47 -0
- data/ext/crlibm/VERSION +1 -0
- data/ext/crlibm/aclocal.m4 +989 -0
- data/ext/crlibm/atan-itanium.c +846 -0
- data/ext/crlibm/atan-pentium.c +261 -0
- data/ext/crlibm/atan_accurate.c +244 -0
- data/ext/crlibm/atan_accurate.h +191 -0
- data/ext/crlibm/atan_fast.c +324 -0
- data/ext/crlibm/atan_fast.h +678 -0
- data/ext/crlibm/config.guess +1461 -0
- data/ext/crlibm/config.sub +1566 -0
- data/ext/crlibm/configure +7517 -0
- data/ext/crlibm/configure.ac +364 -0
- data/ext/crlibm/crlibm.h +125 -0
- data/ext/crlibm/crlibm_config.h +149 -0
- data/ext/crlibm/crlibm_config.h.in +148 -0
- data/ext/crlibm/crlibm_private.c +293 -0
- data/ext/crlibm/crlibm_private.h +658 -0
- data/ext/crlibm/csh_fast.c +631 -0
- data/ext/crlibm/csh_fast.h +771 -0
- data/ext/crlibm/double-extended.h +496 -0
- data/ext/crlibm/exp-td.c +962 -0
- data/ext/crlibm/exp-td.h +685 -0
- data/ext/crlibm/exp_accurate.c +197 -0
- data/ext/crlibm/exp_accurate.h +85 -0
- data/ext/crlibm/gappa/log-de-E0-logir0.gappa +106 -0
- data/ext/crlibm/gappa/log-de-E0.gappa +79 -0
- data/ext/crlibm/gappa/log-de.gappa +81 -0
- data/ext/crlibm/gappa/log-td-E0-logir0.gappa +126 -0
- data/ext/crlibm/gappa/log-td-E0.gappa +143 -0
- data/ext/crlibm/gappa/log-td-accurate-E0-logir0.gappa +230 -0
- data/ext/crlibm/gappa/log-td-accurate-E0.gappa +213 -0
- data/ext/crlibm/gappa/log-td-accurate.gappa +217 -0
- data/ext/crlibm/gappa/log-td.gappa +156 -0
- data/ext/crlibm/gappa/trigoSinCosCase3.gappa +204 -0
- data/ext/crlibm/gappa/trigoTanCase2.gappa +73 -0
- data/ext/crlibm/install-sh +269 -0
- data/ext/crlibm/log-de.c +431 -0
- data/ext/crlibm/log-de.h +732 -0
- data/ext/crlibm/log-td.c +852 -0
- data/ext/crlibm/log-td.h +819 -0
- data/ext/crlibm/log10-td.c +906 -0
- data/ext/crlibm/log10-td.h +823 -0
- data/ext/crlibm/log2-td.c +935 -0
- data/ext/crlibm/log2-td.h +821 -0
- data/ext/crlibm/maple/atan.mpl +359 -0
- data/ext/crlibm/maple/common-procedures.mpl +997 -0
- data/ext/crlibm/maple/csh.mpl +446 -0
- data/ext/crlibm/maple/double-extended.mpl +151 -0
- data/ext/crlibm/maple/exp-td.mpl +195 -0
- data/ext/crlibm/maple/log-de.mpl +243 -0
- data/ext/crlibm/maple/log-td.mpl +316 -0
- data/ext/crlibm/maple/log10-td.mpl +345 -0
- data/ext/crlibm/maple/log2-td.mpl +334 -0
- data/ext/crlibm/maple/trigo.mpl +728 -0
- data/ext/crlibm/maple/triple-double.mpl +58 -0
- data/ext/crlibm/missing +198 -0
- data/ext/crlibm/mkinstalldirs +40 -0
- data/ext/crlibm/rem_pio2_accurate.c +219 -0
- data/ext/crlibm/rem_pio2_accurate.h +53 -0
- data/ext/crlibm/scs_lib/AUTHORS +3 -0
- data/ext/crlibm/scs_lib/COPYING +504 -0
- data/ext/crlibm/scs_lib/ChangeLog +16 -0
- data/ext/crlibm/scs_lib/INSTALL +215 -0
- data/ext/crlibm/scs_lib/Makefile.am +18 -0
- data/ext/crlibm/scs_lib/Makefile.in +328 -0
- data/ext/crlibm/scs_lib/NEWS +0 -0
- data/ext/crlibm/scs_lib/README +9 -0
- data/ext/crlibm/scs_lib/TODO +4 -0
- data/ext/crlibm/scs_lib/addition_scs.c +623 -0
- data/ext/crlibm/scs_lib/config.guess +1461 -0
- data/ext/crlibm/scs_lib/config.sub +1566 -0
- data/ext/crlibm/scs_lib/configure +6226 -0
- data/ext/crlibm/scs_lib/division_scs.c +110 -0
- data/ext/crlibm/scs_lib/double2scs.c +174 -0
- data/ext/crlibm/scs_lib/install-sh +269 -0
- data/ext/crlibm/scs_lib/missing +198 -0
- data/ext/crlibm/scs_lib/mkinstalldirs +40 -0
- data/ext/crlibm/scs_lib/multiplication_scs.c +456 -0
- data/ext/crlibm/scs_lib/poly_fct.c +112 -0
- data/ext/crlibm/scs_lib/print_scs.c +73 -0
- data/ext/crlibm/scs_lib/rand_scs.c +63 -0
- data/ext/crlibm/scs_lib/scs.h +353 -0
- data/ext/crlibm/scs_lib/scs2double.c +391 -0
- data/ext/crlibm/scs_lib/scs2mpf.c +58 -0
- data/ext/crlibm/scs_lib/scs2mpfr.c +61 -0
- data/ext/crlibm/scs_lib/scs_private.c +23 -0
- data/ext/crlibm/scs_lib/scs_private.h +133 -0
- data/ext/crlibm/scs_lib/tests/tbx_timing.h +102 -0
- data/ext/crlibm/scs_lib/wrapper_scs.h +486 -0
- data/ext/crlibm/scs_lib/zero_scs.c +52 -0
- data/ext/crlibm/stamp-h.in +1 -0
- data/ext/crlibm/tests/Makefile.am +43 -0
- data/ext/crlibm/tests/Makefile.in +396 -0
- data/ext/crlibm/tests/blind_test.c +148 -0
- data/ext/crlibm/tests/generate_test_vectors.c +258 -0
- data/ext/crlibm/tests/soak_test.c +334 -0
- data/ext/crlibm/tests/test_common.c +627 -0
- data/ext/crlibm/tests/test_common.h +28 -0
- data/ext/crlibm/tests/test_perf.c +570 -0
- data/ext/crlibm/tests/test_val.c +249 -0
- data/ext/crlibm/trigo_accurate.c +500 -0
- data/ext/crlibm/trigo_accurate.h +331 -0
- data/ext/crlibm/trigo_fast.c +1219 -0
- data/ext/crlibm/trigo_fast.h +639 -0
- data/ext/crlibm/triple-double.h +878 -0
- data/ext/extconf.rb +31 -0
- data/ext/fpu.c +107 -0
- data/ext/jamis-mod.rb +591 -0
- data/lib/fpu.rb +287 -0
- data/lib/interval.rb +1170 -0
- data/lib/intervals.rb +212 -0
- data/lib/struct_float.rb +133 -0
- data/test/data_atan.txt +360 -0
- data/test/data_cos.txt +346 -0
- data/test/data_cosh.txt +3322 -0
- data/test/data_exp.txt +3322 -0
- data/test/data_log.txt +141 -0
- data/test/data_sin.txt +140 -0
- data/test/data_sinh.txt +3322 -0
- data/test/data_tan.txt +342 -0
- metadata +186 -0
@@ -0,0 +1,989 @@
|
|
1
|
+
dnl aclocal.m4 generated automatically by aclocal 1.4-p6
|
2
|
+
|
3
|
+
dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
|
4
|
+
dnl This file is free software; the Free Software Foundation
|
5
|
+
dnl gives unlimited permission to copy and/or distribute it,
|
6
|
+
dnl with or without modifications, as long as this notice is preserved.
|
7
|
+
|
8
|
+
dnl This program is distributed in the hope that it will be useful,
|
9
|
+
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
10
|
+
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
11
|
+
dnl PARTICULAR PURPOSE.
|
12
|
+
|
13
|
+
# lib-prefix.m4 serial 4 (gettext-0.14.2)
|
14
|
+
dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
|
15
|
+
dnl This file is free software; the Free Software Foundation
|
16
|
+
dnl gives unlimited permission to copy and/or distribute it,
|
17
|
+
dnl with or without modifications, as long as this notice is preserved.
|
18
|
+
|
19
|
+
dnl From Bruno Haible.
|
20
|
+
|
21
|
+
dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
|
22
|
+
dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
|
23
|
+
dnl require excessive bracketing.
|
24
|
+
ifdef([AC_HELP_STRING],
|
25
|
+
[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
|
26
|
+
[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
|
27
|
+
|
28
|
+
dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
|
29
|
+
dnl to access previously installed libraries. The basic assumption is that
|
30
|
+
dnl a user will want packages to use other packages he previously installed
|
31
|
+
dnl with the same --prefix option.
|
32
|
+
dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
|
33
|
+
dnl libraries, but is otherwise very convenient.
|
34
|
+
AC_DEFUN([AC_LIB_PREFIX],
|
35
|
+
[
|
36
|
+
AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
|
37
|
+
AC_REQUIRE([AC_PROG_CC])
|
38
|
+
AC_REQUIRE([AC_CANONICAL_HOST])
|
39
|
+
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
40
|
+
dnl By default, look in $includedir and $libdir.
|
41
|
+
use_additional=yes
|
42
|
+
AC_LIB_WITH_FINAL_PREFIX([
|
43
|
+
eval additional_includedir=\"$includedir\"
|
44
|
+
eval additional_libdir=\"$libdir\"
|
45
|
+
])
|
46
|
+
AC_LIB_ARG_WITH([lib-prefix],
|
47
|
+
[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
|
48
|
+
--without-lib-prefix don't search for libraries in includedir and libdir],
|
49
|
+
[
|
50
|
+
if test "X$withval" = "Xno"; then
|
51
|
+
use_additional=no
|
52
|
+
else
|
53
|
+
if test "X$withval" = "X"; then
|
54
|
+
AC_LIB_WITH_FINAL_PREFIX([
|
55
|
+
eval additional_includedir=\"$includedir\"
|
56
|
+
eval additional_libdir=\"$libdir\"
|
57
|
+
])
|
58
|
+
else
|
59
|
+
additional_includedir="$withval/include"
|
60
|
+
additional_libdir="$withval/lib"
|
61
|
+
fi
|
62
|
+
fi
|
63
|
+
])
|
64
|
+
if test $use_additional = yes; then
|
65
|
+
dnl Potentially add $additional_includedir to $CPPFLAGS.
|
66
|
+
dnl But don't add it
|
67
|
+
dnl 1. if it's the standard /usr/include,
|
68
|
+
dnl 2. if it's already present in $CPPFLAGS,
|
69
|
+
dnl 3. if it's /usr/local/include and we are using GCC on Linux,
|
70
|
+
dnl 4. if it doesn't exist as a directory.
|
71
|
+
if test "X$additional_includedir" != "X/usr/include"; then
|
72
|
+
haveit=
|
73
|
+
for x in $CPPFLAGS; do
|
74
|
+
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
75
|
+
if test "X$x" = "X-I$additional_includedir"; then
|
76
|
+
haveit=yes
|
77
|
+
break
|
78
|
+
fi
|
79
|
+
done
|
80
|
+
if test -z "$haveit"; then
|
81
|
+
if test "X$additional_includedir" = "X/usr/local/include"; then
|
82
|
+
if test -n "$GCC"; then
|
83
|
+
case $host_os in
|
84
|
+
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
|
85
|
+
esac
|
86
|
+
fi
|
87
|
+
fi
|
88
|
+
if test -z "$haveit"; then
|
89
|
+
if test -d "$additional_includedir"; then
|
90
|
+
dnl Really add $additional_includedir to $CPPFLAGS.
|
91
|
+
CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
|
92
|
+
fi
|
93
|
+
fi
|
94
|
+
fi
|
95
|
+
fi
|
96
|
+
dnl Potentially add $additional_libdir to $LDFLAGS.
|
97
|
+
dnl But don't add it
|
98
|
+
dnl 1. if it's the standard /usr/lib,
|
99
|
+
dnl 2. if it's already present in $LDFLAGS,
|
100
|
+
dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
|
101
|
+
dnl 4. if it doesn't exist as a directory.
|
102
|
+
if test "X$additional_libdir" != "X/usr/lib"; then
|
103
|
+
haveit=
|
104
|
+
for x in $LDFLAGS; do
|
105
|
+
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
106
|
+
if test "X$x" = "X-L$additional_libdir"; then
|
107
|
+
haveit=yes
|
108
|
+
break
|
109
|
+
fi
|
110
|
+
done
|
111
|
+
if test -z "$haveit"; then
|
112
|
+
if test "X$additional_libdir" = "X/usr/local/lib"; then
|
113
|
+
if test -n "$GCC"; then
|
114
|
+
case $host_os in
|
115
|
+
linux*) haveit=yes;;
|
116
|
+
esac
|
117
|
+
fi
|
118
|
+
fi
|
119
|
+
if test -z "$haveit"; then
|
120
|
+
if test -d "$additional_libdir"; then
|
121
|
+
dnl Really add $additional_libdir to $LDFLAGS.
|
122
|
+
LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
|
123
|
+
fi
|
124
|
+
fi
|
125
|
+
fi
|
126
|
+
fi
|
127
|
+
fi
|
128
|
+
])
|
129
|
+
|
130
|
+
dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
|
131
|
+
dnl acl_final_exec_prefix, containing the values to which $prefix and
|
132
|
+
dnl $exec_prefix will expand at the end of the configure script.
|
133
|
+
AC_DEFUN([AC_LIB_PREPARE_PREFIX],
|
134
|
+
[
|
135
|
+
dnl Unfortunately, prefix and exec_prefix get only finally determined
|
136
|
+
dnl at the end of configure.
|
137
|
+
if test "X$prefix" = "XNONE"; then
|
138
|
+
acl_final_prefix="$ac_default_prefix"
|
139
|
+
else
|
140
|
+
acl_final_prefix="$prefix"
|
141
|
+
fi
|
142
|
+
if test "X$exec_prefix" = "XNONE"; then
|
143
|
+
acl_final_exec_prefix='${prefix}'
|
144
|
+
else
|
145
|
+
acl_final_exec_prefix="$exec_prefix"
|
146
|
+
fi
|
147
|
+
acl_save_prefix="$prefix"
|
148
|
+
prefix="$acl_final_prefix"
|
149
|
+
eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
|
150
|
+
prefix="$acl_save_prefix"
|
151
|
+
])
|
152
|
+
|
153
|
+
dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
|
154
|
+
dnl variables prefix and exec_prefix bound to the values they will have
|
155
|
+
dnl at the end of the configure script.
|
156
|
+
AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
|
157
|
+
[
|
158
|
+
acl_save_prefix="$prefix"
|
159
|
+
prefix="$acl_final_prefix"
|
160
|
+
acl_save_exec_prefix="$exec_prefix"
|
161
|
+
exec_prefix="$acl_final_exec_prefix"
|
162
|
+
$1
|
163
|
+
exec_prefix="$acl_save_exec_prefix"
|
164
|
+
prefix="$acl_save_prefix"
|
165
|
+
])
|
166
|
+
|
167
|
+
# lib-link.m4 serial 6 (gettext-0.14.3)
|
168
|
+
dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
|
169
|
+
dnl This file is free software; the Free Software Foundation
|
170
|
+
dnl gives unlimited permission to copy and/or distribute it,
|
171
|
+
dnl with or without modifications, as long as this notice is preserved.
|
172
|
+
|
173
|
+
dnl From Bruno Haible.
|
174
|
+
|
175
|
+
AC_PREREQ(2.50)
|
176
|
+
|
177
|
+
dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
|
178
|
+
dnl the libraries corresponding to explicit and implicit dependencies.
|
179
|
+
dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
|
180
|
+
dnl augments the CPPFLAGS variable.
|
181
|
+
AC_DEFUN([AC_LIB_LINKFLAGS],
|
182
|
+
[
|
183
|
+
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
184
|
+
AC_REQUIRE([AC_LIB_RPATH])
|
185
|
+
define([Name],[translit([$1],[./-], [___])])
|
186
|
+
define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
|
187
|
+
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
|
188
|
+
AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
|
189
|
+
AC_LIB_LINKFLAGS_BODY([$1], [$2])
|
190
|
+
ac_cv_lib[]Name[]_libs="$LIB[]NAME"
|
191
|
+
ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
|
192
|
+
ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
|
193
|
+
])
|
194
|
+
LIB[]NAME="$ac_cv_lib[]Name[]_libs"
|
195
|
+
LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
|
196
|
+
INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
|
197
|
+
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
|
198
|
+
AC_SUBST([LIB]NAME)
|
199
|
+
AC_SUBST([LTLIB]NAME)
|
200
|
+
dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
|
201
|
+
dnl results of this search when this library appears as a dependency.
|
202
|
+
HAVE_LIB[]NAME=yes
|
203
|
+
undefine([Name])
|
204
|
+
undefine([NAME])
|
205
|
+
])
|
206
|
+
|
207
|
+
dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
|
208
|
+
dnl searches for libname and the libraries corresponding to explicit and
|
209
|
+
dnl implicit dependencies, together with the specified include files and
|
210
|
+
dnl the ability to compile and link the specified testcode. If found, it
|
211
|
+
dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
|
212
|
+
dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
|
213
|
+
dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
|
214
|
+
dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
|
215
|
+
AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
|
216
|
+
[
|
217
|
+
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
|
218
|
+
AC_REQUIRE([AC_LIB_RPATH])
|
219
|
+
define([Name],[translit([$1],[./-], [___])])
|
220
|
+
define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
|
221
|
+
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
|
222
|
+
|
223
|
+
dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
|
224
|
+
dnl accordingly.
|
225
|
+
AC_LIB_LINKFLAGS_BODY([$1], [$2])
|
226
|
+
|
227
|
+
dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
|
228
|
+
dnl because if the user has installed lib[]Name and not disabled its use
|
229
|
+
dnl via --without-lib[]Name-prefix, he wants to use it.
|
230
|
+
ac_save_CPPFLAGS="$CPPFLAGS"
|
231
|
+
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
|
232
|
+
|
233
|
+
AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
|
234
|
+
ac_save_LIBS="$LIBS"
|
235
|
+
LIBS="$LIBS $LIB[]NAME"
|
236
|
+
AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
|
237
|
+
LIBS="$ac_save_LIBS"
|
238
|
+
])
|
239
|
+
if test "$ac_cv_lib[]Name" = yes; then
|
240
|
+
HAVE_LIB[]NAME=yes
|
241
|
+
AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
|
242
|
+
AC_MSG_CHECKING([how to link with lib[]$1])
|
243
|
+
AC_MSG_RESULT([$LIB[]NAME])
|
244
|
+
else
|
245
|
+
HAVE_LIB[]NAME=no
|
246
|
+
dnl If $LIB[]NAME didn't lead to a usable library, we don't need
|
247
|
+
dnl $INC[]NAME either.
|
248
|
+
CPPFLAGS="$ac_save_CPPFLAGS"
|
249
|
+
LIB[]NAME=
|
250
|
+
LTLIB[]NAME=
|
251
|
+
fi
|
252
|
+
AC_SUBST([HAVE_LIB]NAME)
|
253
|
+
AC_SUBST([LIB]NAME)
|
254
|
+
AC_SUBST([LTLIB]NAME)
|
255
|
+
undefine([Name])
|
256
|
+
undefine([NAME])
|
257
|
+
])
|
258
|
+
|
259
|
+
dnl Determine the platform dependent parameters needed to use rpath:
|
260
|
+
dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
|
261
|
+
dnl hardcode_direct, hardcode_minus_L.
|
262
|
+
AC_DEFUN([AC_LIB_RPATH],
|
263
|
+
[
|
264
|
+
dnl Tell automake >= 1.10 to complain if config.rpath is missing.
|
265
|
+
m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
|
266
|
+
AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
|
267
|
+
AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
|
268
|
+
AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
|
269
|
+
AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
|
270
|
+
AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
|
271
|
+
CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
|
272
|
+
${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
|
273
|
+
. ./conftest.sh
|
274
|
+
rm -f ./conftest.sh
|
275
|
+
acl_cv_rpath=done
|
276
|
+
])
|
277
|
+
wl="$acl_cv_wl"
|
278
|
+
libext="$acl_cv_libext"
|
279
|
+
shlibext="$acl_cv_shlibext"
|
280
|
+
hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
|
281
|
+
hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
|
282
|
+
hardcode_direct="$acl_cv_hardcode_direct"
|
283
|
+
hardcode_minus_L="$acl_cv_hardcode_minus_L"
|
284
|
+
dnl Determine whether the user wants rpath handling at all.
|
285
|
+
AC_ARG_ENABLE(rpath,
|
286
|
+
[ --disable-rpath do not hardcode runtime library paths],
|
287
|
+
:, enable_rpath=yes)
|
288
|
+
])
|
289
|
+
|
290
|
+
dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
|
291
|
+
dnl the libraries corresponding to explicit and implicit dependencies.
|
292
|
+
dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
|
293
|
+
AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
294
|
+
[
|
295
|
+
define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
|
296
|
+
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
|
297
|
+
dnl By default, look in $includedir and $libdir.
|
298
|
+
use_additional=yes
|
299
|
+
AC_LIB_WITH_FINAL_PREFIX([
|
300
|
+
eval additional_includedir=\"$includedir\"
|
301
|
+
eval additional_libdir=\"$libdir\"
|
302
|
+
])
|
303
|
+
AC_LIB_ARG_WITH([lib$1-prefix],
|
304
|
+
[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
|
305
|
+
--without-lib$1-prefix don't search for lib$1 in includedir and libdir],
|
306
|
+
[
|
307
|
+
if test "X$withval" = "Xno"; then
|
308
|
+
use_additional=no
|
309
|
+
else
|
310
|
+
if test "X$withval" = "X"; then
|
311
|
+
AC_LIB_WITH_FINAL_PREFIX([
|
312
|
+
eval additional_includedir=\"$includedir\"
|
313
|
+
eval additional_libdir=\"$libdir\"
|
314
|
+
])
|
315
|
+
else
|
316
|
+
additional_includedir="$withval/include"
|
317
|
+
additional_libdir="$withval/lib"
|
318
|
+
fi
|
319
|
+
fi
|
320
|
+
])
|
321
|
+
dnl Search the library and its dependencies in $additional_libdir and
|
322
|
+
dnl $LDFLAGS. Using breadth-first-seach.
|
323
|
+
LIB[]NAME=
|
324
|
+
LTLIB[]NAME=
|
325
|
+
INC[]NAME=
|
326
|
+
rpathdirs=
|
327
|
+
ltrpathdirs=
|
328
|
+
names_already_handled=
|
329
|
+
names_next_round='$1 $2'
|
330
|
+
while test -n "$names_next_round"; do
|
331
|
+
names_this_round="$names_next_round"
|
332
|
+
names_next_round=
|
333
|
+
for name in $names_this_round; do
|
334
|
+
already_handled=
|
335
|
+
for n in $names_already_handled; do
|
336
|
+
if test "$n" = "$name"; then
|
337
|
+
already_handled=yes
|
338
|
+
break
|
339
|
+
fi
|
340
|
+
done
|
341
|
+
if test -z "$already_handled"; then
|
342
|
+
names_already_handled="$names_already_handled $name"
|
343
|
+
dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
|
344
|
+
dnl or AC_LIB_HAVE_LINKFLAGS call.
|
345
|
+
uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
|
346
|
+
eval value=\"\$HAVE_LIB$uppername\"
|
347
|
+
if test -n "$value"; then
|
348
|
+
if test "$value" = yes; then
|
349
|
+
eval value=\"\$LIB$uppername\"
|
350
|
+
test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
|
351
|
+
eval value=\"\$LTLIB$uppername\"
|
352
|
+
test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
|
353
|
+
else
|
354
|
+
dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
|
355
|
+
dnl that this library doesn't exist. So just drop it.
|
356
|
+
:
|
357
|
+
fi
|
358
|
+
else
|
359
|
+
dnl Search the library lib$name in $additional_libdir and $LDFLAGS
|
360
|
+
dnl and the already constructed $LIBNAME/$LTLIBNAME.
|
361
|
+
found_dir=
|
362
|
+
found_la=
|
363
|
+
found_so=
|
364
|
+
found_a=
|
365
|
+
if test $use_additional = yes; then
|
366
|
+
if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
|
367
|
+
found_dir="$additional_libdir"
|
368
|
+
found_so="$additional_libdir/lib$name.$shlibext"
|
369
|
+
if test -f "$additional_libdir/lib$name.la"; then
|
370
|
+
found_la="$additional_libdir/lib$name.la"
|
371
|
+
fi
|
372
|
+
else
|
373
|
+
if test -f "$additional_libdir/lib$name.$libext"; then
|
374
|
+
found_dir="$additional_libdir"
|
375
|
+
found_a="$additional_libdir/lib$name.$libext"
|
376
|
+
if test -f "$additional_libdir/lib$name.la"; then
|
377
|
+
found_la="$additional_libdir/lib$name.la"
|
378
|
+
fi
|
379
|
+
fi
|
380
|
+
fi
|
381
|
+
fi
|
382
|
+
if test "X$found_dir" = "X"; then
|
383
|
+
for x in $LDFLAGS $LTLIB[]NAME; do
|
384
|
+
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
385
|
+
case "$x" in
|
386
|
+
-L*)
|
387
|
+
dir=`echo "X$x" | sed -e 's/^X-L//'`
|
388
|
+
if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
|
389
|
+
found_dir="$dir"
|
390
|
+
found_so="$dir/lib$name.$shlibext"
|
391
|
+
if test -f "$dir/lib$name.la"; then
|
392
|
+
found_la="$dir/lib$name.la"
|
393
|
+
fi
|
394
|
+
else
|
395
|
+
if test -f "$dir/lib$name.$libext"; then
|
396
|
+
found_dir="$dir"
|
397
|
+
found_a="$dir/lib$name.$libext"
|
398
|
+
if test -f "$dir/lib$name.la"; then
|
399
|
+
found_la="$dir/lib$name.la"
|
400
|
+
fi
|
401
|
+
fi
|
402
|
+
fi
|
403
|
+
;;
|
404
|
+
esac
|
405
|
+
if test "X$found_dir" != "X"; then
|
406
|
+
break
|
407
|
+
fi
|
408
|
+
done
|
409
|
+
fi
|
410
|
+
if test "X$found_dir" != "X"; then
|
411
|
+
dnl Found the library.
|
412
|
+
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
|
413
|
+
if test "X$found_so" != "X"; then
|
414
|
+
dnl Linking with a shared library. We attempt to hardcode its
|
415
|
+
dnl directory into the executable's runpath, unless it's the
|
416
|
+
dnl standard /usr/lib.
|
417
|
+
if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
|
418
|
+
dnl No hardcoding is needed.
|
419
|
+
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
420
|
+
else
|
421
|
+
dnl Use an explicit option to hardcode DIR into the resulting
|
422
|
+
dnl binary.
|
423
|
+
dnl Potentially add DIR to ltrpathdirs.
|
424
|
+
dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
|
425
|
+
haveit=
|
426
|
+
for x in $ltrpathdirs; do
|
427
|
+
if test "X$x" = "X$found_dir"; then
|
428
|
+
haveit=yes
|
429
|
+
break
|
430
|
+
fi
|
431
|
+
done
|
432
|
+
if test -z "$haveit"; then
|
433
|
+
ltrpathdirs="$ltrpathdirs $found_dir"
|
434
|
+
fi
|
435
|
+
dnl The hardcoding into $LIBNAME is system dependent.
|
436
|
+
if test "$hardcode_direct" = yes; then
|
437
|
+
dnl Using DIR/libNAME.so during linking hardcodes DIR into the
|
438
|
+
dnl resulting binary.
|
439
|
+
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
440
|
+
else
|
441
|
+
if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
|
442
|
+
dnl Use an explicit option to hardcode DIR into the resulting
|
443
|
+
dnl binary.
|
444
|
+
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
445
|
+
dnl Potentially add DIR to rpathdirs.
|
446
|
+
dnl The rpathdirs will be appended to $LIBNAME at the end.
|
447
|
+
haveit=
|
448
|
+
for x in $rpathdirs; do
|
449
|
+
if test "X$x" = "X$found_dir"; then
|
450
|
+
haveit=yes
|
451
|
+
break
|
452
|
+
fi
|
453
|
+
done
|
454
|
+
if test -z "$haveit"; then
|
455
|
+
rpathdirs="$rpathdirs $found_dir"
|
456
|
+
fi
|
457
|
+
else
|
458
|
+
dnl Rely on "-L$found_dir".
|
459
|
+
dnl But don't add it if it's already contained in the LDFLAGS
|
460
|
+
dnl or the already constructed $LIBNAME
|
461
|
+
haveit=
|
462
|
+
for x in $LDFLAGS $LIB[]NAME; do
|
463
|
+
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
464
|
+
if test "X$x" = "X-L$found_dir"; then
|
465
|
+
haveit=yes
|
466
|
+
break
|
467
|
+
fi
|
468
|
+
done
|
469
|
+
if test -z "$haveit"; then
|
470
|
+
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
|
471
|
+
fi
|
472
|
+
if test "$hardcode_minus_L" != no; then
|
473
|
+
dnl FIXME: Not sure whether we should use
|
474
|
+
dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
|
475
|
+
dnl here.
|
476
|
+
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
477
|
+
else
|
478
|
+
dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
|
479
|
+
dnl here, because this doesn't fit in flags passed to the
|
480
|
+
dnl compiler. So give up. No hardcoding. This affects only
|
481
|
+
dnl very old systems.
|
482
|
+
dnl FIXME: Not sure whether we should use
|
483
|
+
dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
|
484
|
+
dnl here.
|
485
|
+
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
|
486
|
+
fi
|
487
|
+
fi
|
488
|
+
fi
|
489
|
+
fi
|
490
|
+
else
|
491
|
+
if test "X$found_a" != "X"; then
|
492
|
+
dnl Linking with a static library.
|
493
|
+
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
|
494
|
+
else
|
495
|
+
dnl We shouldn't come here, but anyway it's good to have a
|
496
|
+
dnl fallback.
|
497
|
+
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
|
498
|
+
fi
|
499
|
+
fi
|
500
|
+
dnl Assume the include files are nearby.
|
501
|
+
additional_includedir=
|
502
|
+
case "$found_dir" in
|
503
|
+
*/lib | */lib/)
|
504
|
+
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
|
505
|
+
additional_includedir="$basedir/include"
|
506
|
+
;;
|
507
|
+
esac
|
508
|
+
if test "X$additional_includedir" != "X"; then
|
509
|
+
dnl Potentially add $additional_includedir to $INCNAME.
|
510
|
+
dnl But don't add it
|
511
|
+
dnl 1. if it's the standard /usr/include,
|
512
|
+
dnl 2. if it's /usr/local/include and we are using GCC on Linux,
|
513
|
+
dnl 3. if it's already present in $CPPFLAGS or the already
|
514
|
+
dnl constructed $INCNAME,
|
515
|
+
dnl 4. if it doesn't exist as a directory.
|
516
|
+
if test "X$additional_includedir" != "X/usr/include"; then
|
517
|
+
haveit=
|
518
|
+
if test "X$additional_includedir" = "X/usr/local/include"; then
|
519
|
+
if test -n "$GCC"; then
|
520
|
+
case $host_os in
|
521
|
+
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
|
522
|
+
esac
|
523
|
+
fi
|
524
|
+
fi
|
525
|
+
if test -z "$haveit"; then
|
526
|
+
for x in $CPPFLAGS $INC[]NAME; do
|
527
|
+
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
528
|
+
if test "X$x" = "X-I$additional_includedir"; then
|
529
|
+
haveit=yes
|
530
|
+
break
|
531
|
+
fi
|
532
|
+
done
|
533
|
+
if test -z "$haveit"; then
|
534
|
+
if test -d "$additional_includedir"; then
|
535
|
+
dnl Really add $additional_includedir to $INCNAME.
|
536
|
+
INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
|
537
|
+
fi
|
538
|
+
fi
|
539
|
+
fi
|
540
|
+
fi
|
541
|
+
fi
|
542
|
+
dnl Look for dependencies.
|
543
|
+
if test -n "$found_la"; then
|
544
|
+
dnl Read the .la file. It defines the variables
|
545
|
+
dnl dlname, library_names, old_library, dependency_libs, current,
|
546
|
+
dnl age, revision, installed, dlopen, dlpreopen, libdir.
|
547
|
+
save_libdir="$libdir"
|
548
|
+
case "$found_la" in
|
549
|
+
*/* | *\\*) . "$found_la" ;;
|
550
|
+
*) . "./$found_la" ;;
|
551
|
+
esac
|
552
|
+
libdir="$save_libdir"
|
553
|
+
dnl We use only dependency_libs.
|
554
|
+
for dep in $dependency_libs; do
|
555
|
+
case "$dep" in
|
556
|
+
-L*)
|
557
|
+
additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
|
558
|
+
dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
|
559
|
+
dnl But don't add it
|
560
|
+
dnl 1. if it's the standard /usr/lib,
|
561
|
+
dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
|
562
|
+
dnl 3. if it's already present in $LDFLAGS or the already
|
563
|
+
dnl constructed $LIBNAME,
|
564
|
+
dnl 4. if it doesn't exist as a directory.
|
565
|
+
if test "X$additional_libdir" != "X/usr/lib"; then
|
566
|
+
haveit=
|
567
|
+
if test "X$additional_libdir" = "X/usr/local/lib"; then
|
568
|
+
if test -n "$GCC"; then
|
569
|
+
case $host_os in
|
570
|
+
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
|
571
|
+
esac
|
572
|
+
fi
|
573
|
+
fi
|
574
|
+
if test -z "$haveit"; then
|
575
|
+
haveit=
|
576
|
+
for x in $LDFLAGS $LIB[]NAME; do
|
577
|
+
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
578
|
+
if test "X$x" = "X-L$additional_libdir"; then
|
579
|
+
haveit=yes
|
580
|
+
break
|
581
|
+
fi
|
582
|
+
done
|
583
|
+
if test -z "$haveit"; then
|
584
|
+
if test -d "$additional_libdir"; then
|
585
|
+
dnl Really add $additional_libdir to $LIBNAME.
|
586
|
+
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
|
587
|
+
fi
|
588
|
+
fi
|
589
|
+
haveit=
|
590
|
+
for x in $LDFLAGS $LTLIB[]NAME; do
|
591
|
+
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
592
|
+
if test "X$x" = "X-L$additional_libdir"; then
|
593
|
+
haveit=yes
|
594
|
+
break
|
595
|
+
fi
|
596
|
+
done
|
597
|
+
if test -z "$haveit"; then
|
598
|
+
if test -d "$additional_libdir"; then
|
599
|
+
dnl Really add $additional_libdir to $LTLIBNAME.
|
600
|
+
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
|
601
|
+
fi
|
602
|
+
fi
|
603
|
+
fi
|
604
|
+
fi
|
605
|
+
;;
|
606
|
+
-R*)
|
607
|
+
dir=`echo "X$dep" | sed -e 's/^X-R//'`
|
608
|
+
if test "$enable_rpath" != no; then
|
609
|
+
dnl Potentially add DIR to rpathdirs.
|
610
|
+
dnl The rpathdirs will be appended to $LIBNAME at the end.
|
611
|
+
haveit=
|
612
|
+
for x in $rpathdirs; do
|
613
|
+
if test "X$x" = "X$dir"; then
|
614
|
+
haveit=yes
|
615
|
+
break
|
616
|
+
fi
|
617
|
+
done
|
618
|
+
if test -z "$haveit"; then
|
619
|
+
rpathdirs="$rpathdirs $dir"
|
620
|
+
fi
|
621
|
+
dnl Potentially add DIR to ltrpathdirs.
|
622
|
+
dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
|
623
|
+
haveit=
|
624
|
+
for x in $ltrpathdirs; do
|
625
|
+
if test "X$x" = "X$dir"; then
|
626
|
+
haveit=yes
|
627
|
+
break
|
628
|
+
fi
|
629
|
+
done
|
630
|
+
if test -z "$haveit"; then
|
631
|
+
ltrpathdirs="$ltrpathdirs $dir"
|
632
|
+
fi
|
633
|
+
fi
|
634
|
+
;;
|
635
|
+
-l*)
|
636
|
+
dnl Handle this in the next round.
|
637
|
+
names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
|
638
|
+
;;
|
639
|
+
*.la)
|
640
|
+
dnl Handle this in the next round. Throw away the .la's
|
641
|
+
dnl directory; it is already contained in a preceding -L
|
642
|
+
dnl option.
|
643
|
+
names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
|
644
|
+
;;
|
645
|
+
*)
|
646
|
+
dnl Most likely an immediate library name.
|
647
|
+
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
|
648
|
+
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
|
649
|
+
;;
|
650
|
+
esac
|
651
|
+
done
|
652
|
+
fi
|
653
|
+
else
|
654
|
+
dnl Didn't find the library; assume it is in the system directories
|
655
|
+
dnl known to the linker and runtime loader. (All the system
|
656
|
+
dnl directories known to the linker should also be known to the
|
657
|
+
dnl runtime loader, otherwise the system is severely misconfigured.)
|
658
|
+
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
|
659
|
+
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
|
660
|
+
fi
|
661
|
+
fi
|
662
|
+
fi
|
663
|
+
done
|
664
|
+
done
|
665
|
+
if test "X$rpathdirs" != "X"; then
|
666
|
+
if test -n "$hardcode_libdir_separator"; then
|
667
|
+
dnl Weird platform: only the last -rpath option counts, the user must
|
668
|
+
dnl pass all path elements in one option. We can arrange that for a
|
669
|
+
dnl single library, but not when more than one $LIBNAMEs are used.
|
670
|
+
alldirs=
|
671
|
+
for found_dir in $rpathdirs; do
|
672
|
+
alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
|
673
|
+
done
|
674
|
+
dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
|
675
|
+
acl_save_libdir="$libdir"
|
676
|
+
libdir="$alldirs"
|
677
|
+
eval flag=\"$hardcode_libdir_flag_spec\"
|
678
|
+
libdir="$acl_save_libdir"
|
679
|
+
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
|
680
|
+
else
|
681
|
+
dnl The -rpath options are cumulative.
|
682
|
+
for found_dir in $rpathdirs; do
|
683
|
+
acl_save_libdir="$libdir"
|
684
|
+
libdir="$found_dir"
|
685
|
+
eval flag=\"$hardcode_libdir_flag_spec\"
|
686
|
+
libdir="$acl_save_libdir"
|
687
|
+
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
|
688
|
+
done
|
689
|
+
fi
|
690
|
+
fi
|
691
|
+
if test "X$ltrpathdirs" != "X"; then
|
692
|
+
dnl When using libtool, the option that works for both libraries and
|
693
|
+
dnl executables is -R. The -R options are cumulative.
|
694
|
+
for found_dir in $ltrpathdirs; do
|
695
|
+
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
|
696
|
+
done
|
697
|
+
fi
|
698
|
+
])
|
699
|
+
|
700
|
+
dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
|
701
|
+
dnl unless already present in VAR.
|
702
|
+
dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
|
703
|
+
dnl contains two or three consecutive elements that belong together.
|
704
|
+
AC_DEFUN([AC_LIB_APPENDTOVAR],
|
705
|
+
[
|
706
|
+
for element in [$2]; do
|
707
|
+
haveit=
|
708
|
+
for x in $[$1]; do
|
709
|
+
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
710
|
+
if test "X$x" = "X$element"; then
|
711
|
+
haveit=yes
|
712
|
+
break
|
713
|
+
fi
|
714
|
+
done
|
715
|
+
if test -z "$haveit"; then
|
716
|
+
[$1]="${[$1]}${[$1]:+ }$element"
|
717
|
+
fi
|
718
|
+
done
|
719
|
+
])
|
720
|
+
|
721
|
+
# lib-ld.m4 serial 3 (gettext-0.13)
|
722
|
+
dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
|
723
|
+
dnl This file is free software; the Free Software Foundation
|
724
|
+
dnl gives unlimited permission to copy and/or distribute it,
|
725
|
+
dnl with or without modifications, as long as this notice is preserved.
|
726
|
+
|
727
|
+
dnl Subroutines of libtool.m4,
|
728
|
+
dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
|
729
|
+
dnl with libtool.m4.
|
730
|
+
|
731
|
+
dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
|
732
|
+
AC_DEFUN([AC_LIB_PROG_LD_GNU],
|
733
|
+
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
|
734
|
+
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
|
735
|
+
case `$LD -v 2>&1 </dev/null` in
|
736
|
+
*GNU* | *'with BFD'*)
|
737
|
+
acl_cv_prog_gnu_ld=yes ;;
|
738
|
+
*)
|
739
|
+
acl_cv_prog_gnu_ld=no ;;
|
740
|
+
esac])
|
741
|
+
with_gnu_ld=$acl_cv_prog_gnu_ld
|
742
|
+
])
|
743
|
+
|
744
|
+
dnl From libtool-1.4. Sets the variable LD.
|
745
|
+
AC_DEFUN([AC_LIB_PROG_LD],
|
746
|
+
[AC_ARG_WITH(gnu-ld,
|
747
|
+
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
|
748
|
+
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
|
749
|
+
AC_REQUIRE([AC_PROG_CC])dnl
|
750
|
+
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
751
|
+
# Prepare PATH_SEPARATOR.
|
752
|
+
# The user is always right.
|
753
|
+
if test "${PATH_SEPARATOR+set}" != set; then
|
754
|
+
echo "#! /bin/sh" >conf$$.sh
|
755
|
+
echo "exit 0" >>conf$$.sh
|
756
|
+
chmod +x conf$$.sh
|
757
|
+
if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
|
758
|
+
PATH_SEPARATOR=';'
|
759
|
+
else
|
760
|
+
PATH_SEPARATOR=:
|
761
|
+
fi
|
762
|
+
rm -f conf$$.sh
|
763
|
+
fi
|
764
|
+
ac_prog=ld
|
765
|
+
if test "$GCC" = yes; then
|
766
|
+
# Check if gcc -print-prog-name=ld gives a path.
|
767
|
+
AC_MSG_CHECKING([for ld used by GCC])
|
768
|
+
case $host in
|
769
|
+
*-*-mingw*)
|
770
|
+
# gcc leaves a trailing carriage return which upsets mingw
|
771
|
+
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
|
772
|
+
*)
|
773
|
+
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
|
774
|
+
esac
|
775
|
+
case $ac_prog in
|
776
|
+
# Accept absolute paths.
|
777
|
+
[[\\/]* | [A-Za-z]:[\\/]*)]
|
778
|
+
[re_direlt='/[^/][^/]*/\.\./']
|
779
|
+
# Canonicalize the path of ld
|
780
|
+
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
|
781
|
+
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
|
782
|
+
ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
|
783
|
+
done
|
784
|
+
test -z "$LD" && LD="$ac_prog"
|
785
|
+
;;
|
786
|
+
"")
|
787
|
+
# If it fails, then pretend we aren't using GCC.
|
788
|
+
ac_prog=ld
|
789
|
+
;;
|
790
|
+
*)
|
791
|
+
# If it is relative, then search for the first ld in PATH.
|
792
|
+
with_gnu_ld=unknown
|
793
|
+
;;
|
794
|
+
esac
|
795
|
+
elif test "$with_gnu_ld" = yes; then
|
796
|
+
AC_MSG_CHECKING([for GNU ld])
|
797
|
+
else
|
798
|
+
AC_MSG_CHECKING([for non-GNU ld])
|
799
|
+
fi
|
800
|
+
AC_CACHE_VAL(acl_cv_path_LD,
|
801
|
+
[if test -z "$LD"; then
|
802
|
+
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
|
803
|
+
for ac_dir in $PATH; do
|
804
|
+
test -z "$ac_dir" && ac_dir=.
|
805
|
+
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
|
806
|
+
acl_cv_path_LD="$ac_dir/$ac_prog"
|
807
|
+
# Check to see if the program is GNU ld. I'd rather use --version,
|
808
|
+
# but apparently some GNU ld's only accept -v.
|
809
|
+
# Break only if it was the GNU/non-GNU ld that we prefer.
|
810
|
+
case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
|
811
|
+
*GNU* | *'with BFD'*)
|
812
|
+
test "$with_gnu_ld" != no && break ;;
|
813
|
+
*)
|
814
|
+
test "$with_gnu_ld" != yes && break ;;
|
815
|
+
esac
|
816
|
+
fi
|
817
|
+
done
|
818
|
+
IFS="$ac_save_ifs"
|
819
|
+
else
|
820
|
+
acl_cv_path_LD="$LD" # Let the user override the test with a path.
|
821
|
+
fi])
|
822
|
+
LD="$acl_cv_path_LD"
|
823
|
+
if test -n "$LD"; then
|
824
|
+
AC_MSG_RESULT($LD)
|
825
|
+
else
|
826
|
+
AC_MSG_RESULT(no)
|
827
|
+
fi
|
828
|
+
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
|
829
|
+
AC_LIB_PROG_LD_GNU
|
830
|
+
])
|
831
|
+
|
832
|
+
# Do all the work for Automake. This macro actually does too much --
|
833
|
+
# some checks are only needed if your package does certain things.
|
834
|
+
# But this isn't really a big deal.
|
835
|
+
|
836
|
+
# serial 1
|
837
|
+
|
838
|
+
dnl Usage:
|
839
|
+
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
|
840
|
+
|
841
|
+
AC_DEFUN([AM_INIT_AUTOMAKE],
|
842
|
+
[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
|
843
|
+
AC_REQUIRE([AC_PROG_INSTALL])
|
844
|
+
PACKAGE=[$1]
|
845
|
+
AC_SUBST(PACKAGE)
|
846
|
+
VERSION=[$2]
|
847
|
+
AC_SUBST(VERSION)
|
848
|
+
dnl test to see if srcdir already configured
|
849
|
+
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
|
850
|
+
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
851
|
+
fi
|
852
|
+
ifelse([$3],,
|
853
|
+
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
|
854
|
+
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
|
855
|
+
AC_REQUIRE([AM_SANITY_CHECK])
|
856
|
+
AC_REQUIRE([AC_ARG_PROGRAM])
|
857
|
+
dnl FIXME This is truly gross.
|
858
|
+
missing_dir=`cd $ac_aux_dir && pwd`
|
859
|
+
AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}, $missing_dir)
|
860
|
+
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
|
861
|
+
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}, $missing_dir)
|
862
|
+
AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
|
863
|
+
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
|
864
|
+
AC_REQUIRE([AC_PROG_MAKE_SET])])
|
865
|
+
|
866
|
+
# Copyright 2002 Free Software Foundation, Inc.
|
867
|
+
|
868
|
+
# This program is free software; you can redistribute it and/or modify
|
869
|
+
# it under the terms of the GNU General Public License as published by
|
870
|
+
# the Free Software Foundation; either version 2, or (at your option)
|
871
|
+
# any later version.
|
872
|
+
|
873
|
+
# This program is distributed in the hope that it will be useful,
|
874
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
875
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
876
|
+
# GNU General Public License for more details.
|
877
|
+
|
878
|
+
# You should have received a copy of the GNU General Public License
|
879
|
+
# along with this program; if not, write to the Free Software
|
880
|
+
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
881
|
+
|
882
|
+
# AM_AUTOMAKE_VERSION(VERSION)
|
883
|
+
# ----------------------------
|
884
|
+
# Automake X.Y traces this macro to ensure aclocal.m4 has been
|
885
|
+
# generated from the m4 files accompanying Automake X.Y.
|
886
|
+
AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.4"])
|
887
|
+
|
888
|
+
# AM_SET_CURRENT_AUTOMAKE_VERSION
|
889
|
+
# -------------------------------
|
890
|
+
# Call AM_AUTOMAKE_VERSION so it can be traced.
|
891
|
+
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
|
892
|
+
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
893
|
+
[AM_AUTOMAKE_VERSION([1.4-p6])])
|
894
|
+
|
895
|
+
#
|
896
|
+
# Check to make sure that the build environment is sane.
|
897
|
+
#
|
898
|
+
|
899
|
+
AC_DEFUN([AM_SANITY_CHECK],
|
900
|
+
[AC_MSG_CHECKING([whether build environment is sane])
|
901
|
+
# Just in case
|
902
|
+
sleep 1
|
903
|
+
echo timestamp > conftestfile
|
904
|
+
# Do `set' in a subshell so we don't clobber the current shell's
|
905
|
+
# arguments. Must try -L first in case configure is actually a
|
906
|
+
# symlink; some systems play weird games with the mod time of symlinks
|
907
|
+
# (eg FreeBSD returns the mod time of the symlink's containing
|
908
|
+
# directory).
|
909
|
+
if (
|
910
|
+
set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
|
911
|
+
if test "[$]*" = "X"; then
|
912
|
+
# -L didn't work.
|
913
|
+
set X `ls -t $srcdir/configure conftestfile`
|
914
|
+
fi
|
915
|
+
if test "[$]*" != "X $srcdir/configure conftestfile" \
|
916
|
+
&& test "[$]*" != "X conftestfile $srcdir/configure"; then
|
917
|
+
|
918
|
+
# If neither matched, then we have a broken ls. This can happen
|
919
|
+
# if, for instance, CONFIG_SHELL is bash and it inherits a
|
920
|
+
# broken ls alias from the environment. This has actually
|
921
|
+
# happened. Such a system could not be considered "sane".
|
922
|
+
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
|
923
|
+
alias in your environment])
|
924
|
+
fi
|
925
|
+
|
926
|
+
test "[$]2" = conftestfile
|
927
|
+
)
|
928
|
+
then
|
929
|
+
# Ok.
|
930
|
+
:
|
931
|
+
else
|
932
|
+
AC_MSG_ERROR([newly created file is older than distributed files!
|
933
|
+
Check your system clock])
|
934
|
+
fi
|
935
|
+
rm -f conftest*
|
936
|
+
AC_MSG_RESULT(yes)])
|
937
|
+
|
938
|
+
dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
|
939
|
+
dnl The program must properly implement --version.
|
940
|
+
AC_DEFUN([AM_MISSING_PROG],
|
941
|
+
[AC_MSG_CHECKING(for working $2)
|
942
|
+
# Run test in a subshell; some versions of sh will print an error if
|
943
|
+
# an executable is not found, even if stderr is redirected.
|
944
|
+
# Redirect stdin to placate older versions of autoconf. Sigh.
|
945
|
+
if ($2 --version) < /dev/null > /dev/null 2>&1; then
|
946
|
+
$1=$2
|
947
|
+
AC_MSG_RESULT(found)
|
948
|
+
else
|
949
|
+
$1="$3/missing $2"
|
950
|
+
AC_MSG_RESULT(missing)
|
951
|
+
fi
|
952
|
+
AC_SUBST($1)])
|
953
|
+
|
954
|
+
# Like AC_CONFIG_HEADER, but automatically create stamp file.
|
955
|
+
|
956
|
+
AC_DEFUN([AM_CONFIG_HEADER],
|
957
|
+
[AC_PREREQ([2.12])
|
958
|
+
AC_CONFIG_HEADER([$1])
|
959
|
+
dnl When config.status generates a header, we must update the stamp-h file.
|
960
|
+
dnl This file resides in the same directory as the config header
|
961
|
+
dnl that is generated. We must strip everything past the first ":",
|
962
|
+
dnl and everything past the last "/".
|
963
|
+
AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
|
964
|
+
ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
|
965
|
+
<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
|
966
|
+
<<am_indx=1
|
967
|
+
for am_file in <<$1>>; do
|
968
|
+
case " <<$>>CONFIG_HEADERS " in
|
969
|
+
*" <<$>>am_file "*<<)>>
|
970
|
+
echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
|
971
|
+
;;
|
972
|
+
esac
|
973
|
+
am_indx=`expr "<<$>>am_indx" + 1`
|
974
|
+
done<<>>dnl>>)
|
975
|
+
changequote([,]))])
|
976
|
+
|
977
|
+
# Define a conditional.
|
978
|
+
|
979
|
+
AC_DEFUN([AM_CONDITIONAL],
|
980
|
+
[AC_SUBST($1_TRUE)
|
981
|
+
AC_SUBST($1_FALSE)
|
982
|
+
if $2; then
|
983
|
+
$1_TRUE=
|
984
|
+
$1_FALSE='#'
|
985
|
+
else
|
986
|
+
$1_TRUE='#'
|
987
|
+
$1_FALSE=
|
988
|
+
fi])
|
989
|
+
|