summaryrefslogtreecommitdiffstats
path: root/m4/lib-prefix.m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4/lib-prefix.m4')
-rw-r--r--m4/lib-prefix.m461
1 files changed, 49 insertions, 12 deletions
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4
index b8b79ab..a8684e1 100644
--- a/m4/lib-prefix.m4
+++ b/m4/lib-prefix.m4
@@ -1,13 +1,18 @@
1# lib-prefix.m4 serial 1 (gettext-0.11) 1# lib-prefix.m4 serial 5 (gettext-0.15)
2dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. 2dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
3dnl This file is free software, distributed under the terms of the GNU 3dnl This file is free software; the Free Software Foundation
4dnl General Public License. As a special exception to the GNU General 4dnl gives unlimited permission to copy and/or distribute it,
5dnl Public License, this file may be distributed as part of a program 5dnl with or without modifications, as long as this notice is preserved.
6dnl that contains a configuration script generated by Autoconf, under
7dnl the same distribution terms as the rest of that program.
8 6
9dnl From Bruno Haible. 7dnl From Bruno Haible.
10 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
11dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed 16dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
12dnl to access previously installed libraries. The basic assumption is that 17dnl to access previously installed libraries. The basic assumption is that
13dnl a user will want packages to use other packages he previously installed 18dnl a user will want packages to use other packages he previously installed
@@ -19,6 +24,7 @@ AC_DEFUN([AC_LIB_PREFIX],
19 AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) 24 AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
20 AC_REQUIRE([AC_PROG_CC]) 25 AC_REQUIRE([AC_PROG_CC])
21 AC_REQUIRE([AC_CANONICAL_HOST]) 26 AC_REQUIRE([AC_CANONICAL_HOST])
27 AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
22 AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) 28 AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
23 dnl By default, look in $includedir and $libdir. 29 dnl By default, look in $includedir and $libdir.
24 use_additional=yes 30 use_additional=yes
@@ -26,7 +32,7 @@ AC_DEFUN([AC_LIB_PREFIX],
26 eval additional_includedir=\"$includedir\" 32 eval additional_includedir=\"$includedir\"
27 eval additional_libdir=\"$libdir\" 33 eval additional_libdir=\"$libdir\"
28 ]) 34 ])
29 AC_ARG_WITH([lib-prefix], 35 AC_LIB_ARG_WITH([lib-prefix],
30[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib 36[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
31 --without-lib-prefix don't search for libraries in includedir and libdir], 37 --without-lib-prefix don't search for libraries in includedir and libdir],
32[ 38[
@@ -40,7 +46,7 @@ AC_DEFUN([AC_LIB_PREFIX],
40 ]) 46 ])
41 else 47 else
42 additional_includedir="$withval/include" 48 additional_includedir="$withval/include"
43 additional_libdir="$withval/lib" 49 additional_libdir="$withval/$acl_libdirstem"
44 fi 50 fi
45 fi 51 fi
46]) 52])
@@ -64,7 +70,7 @@ AC_DEFUN([AC_LIB_PREFIX],
64 if test "X$additional_includedir" = "X/usr/local/include"; then 70 if test "X$additional_includedir" = "X/usr/local/include"; then
65 if test -n "$GCC"; then 71 if test -n "$GCC"; then
66 case $host_os in 72 case $host_os in
67 linux*) haveit=yes;; 73 linux* | gnu* | k*bsd*-gnu) haveit=yes;;
68 esac 74 esac
69 fi 75 fi
70 fi 76 fi
@@ -82,7 +88,7 @@ AC_DEFUN([AC_LIB_PREFIX],
82 dnl 2. if it's already present in $LDFLAGS, 88 dnl 2. if it's already present in $LDFLAGS,
83 dnl 3. if it's /usr/local/lib and we are using GCC on Linux, 89 dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
84 dnl 4. if it doesn't exist as a directory. 90 dnl 4. if it doesn't exist as a directory.
85 if test "X$additional_libdir" != "X/usr/lib"; then 91 if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
86 haveit= 92 haveit=
87 for x in $LDFLAGS; do 93 for x in $LDFLAGS; do
88 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) 94 AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
@@ -92,7 +98,7 @@ AC_DEFUN([AC_LIB_PREFIX],
92 fi 98 fi
93 done 99 done
94 if test -z "$haveit"; then 100 if test -z "$haveit"; then
95 if test "X$additional_libdir" = "X/usr/local/lib"; then 101 if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
96 if test -n "$GCC"; then 102 if test -n "$GCC"; then
97 case $host_os in 103 case $host_os in
98 linux*) haveit=yes;; 104 linux*) haveit=yes;;
@@ -146,3 +152,34 @@ AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
146 exec_prefix="$acl_save_exec_prefix" 152 exec_prefix="$acl_save_exec_prefix"
147 prefix="$acl_save_prefix" 153 prefix="$acl_save_prefix"
148]) 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])