Browse Source

Add lib-prefix

This should be added by other things, will want to figure that out.
master
Monty Taylor 3 months ago
parent
commit
6ac4ff1602
2 changed files with 224 additions and 2 deletions
  1. 224
    0
      m4/lib-prefix.m4
  2. 0
    2
      m4/zuul_canonical.m4

+ 224
- 0
m4/lib-prefix.m4 View File

@@ -0,0 +1,224 @@
1
+# lib-prefix.m4 serial 7 (gettext-0.18)
2
+dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc.
3
+dnl This file is free software; the Free Software Foundation
4
+dnl gives unlimited permission to copy and/or distribute it,
5
+dnl with or without modifications, as long as this notice is preserved.
6
+
7
+dnl From Bruno Haible.
8
+
9
+dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
10
+dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
11
+dnl require excessive bracketing.
12
+ifdef([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
+
16
+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
17
+dnl to access previously installed libraries. The basic assumption is that
18
+dnl a user will want packages to use other packages he previously installed
19
+dnl with the same --prefix option.
20
+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
21
+dnl libraries, but is otherwise very convenient.
22
+AC_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
+
119
+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
120
+dnl acl_final_exec_prefix, containing the values to which $prefix and
121
+dnl $exec_prefix will expand at the end of the configure script.
122
+AC_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
+
142
+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
143
+dnl variables prefix and exec_prefix bound to the values they will have
144
+dnl at the end of the configure script.
145
+AC_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
+
156
+dnl AC_LIB_PREPARE_MULTILIB creates
157
+dnl - a variable acl_libdirstem, containing the basename of the libdir, either
158
+dnl   "lib" or "lib64" or "lib/64",
159
+dnl - a variable acl_libdirstem2, as a secondary possible value for
160
+dnl   acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
161
+dnl   "lib/amd64".
162
+AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
163
+[
164
+  dnl There is no formal standard regarding lib and lib64.
165
+  dnl On glibc systems, the current practice is that on a system supporting
166
+  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
167
+  dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
168
+  dnl the compiler's default mode by looking at the compiler's library search
169
+  dnl path. If at least one of its elements ends in /lib64 or points to a
170
+  dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
171
+  dnl Otherwise we use the default, namely "lib".
172
+  dnl On Solaris systems, the current practice is that on a system supporting
173
+  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
174
+  dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
175
+  dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
176
+  AC_REQUIRE([AC_CANONICAL_HOST])
177
+  acl_libdirstem=lib
178
+  acl_libdirstem2=
179
+  case "$host_os" in
180
+    solaris*)
181
+      dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
182
+      dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
183
+      dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
184
+      dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
185
+      dnl symlink is missing, so we set acl_libdirstem2 too.
186
+      AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
187
+        [AC_EGREP_CPP([sixtyfour bits], [
188
+#ifdef _LP64
189
+sixtyfour bits
190
+#endif
191
+           ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
192
+        ])
193
+      if test $gl_cv_solaris_64bit = yes; then
194
+        acl_libdirstem=lib/64
195
+        case "$host_cpu" in
196
+          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
197
+          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
198
+        esac
199
+      fi
200
+      ;;
201
+    *)
202
+      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
203
+      if test -n "$searchpath"; then
204
+        acl_save_IFS="${IFS= 	}"; IFS=":"
205
+        for searchdir in $searchpath; do
206
+          if test -d "$searchdir"; then
207
+            case "$searchdir" in
208
+              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
209
+              */../ | */.. )
210
+                # Better ignore directories of this form. They are misleading.
211
+                ;;
212
+              *) searchdir=`cd "$searchdir" && pwd`
213
+                 case "$searchdir" in
214
+                   */lib64 ) acl_libdirstem=lib64 ;;
215
+                 esac ;;
216
+            esac
217
+          fi
218
+        done
219
+        IFS="$acl_save_IFS"
220
+      fi
221
+      ;;
222
+  esac
223
+  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
224
+])

+ 0
- 2
m4/zuul_canonical.m4 View File

@@ -84,8 +84,6 @@ AC_DEFUN([ZUUL_CANONICAL_TARGET],[
84 84
 
85 85
   PANDORA_WARNINGS(PCT_ALL_ARGS)
86 86
 
87
-  PANDORA_ENABLE_DTRACE
88
-
89 87
   AM_CFLAGS="${AM_CFLAGS} ${CC_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
90 88
   AM_CXXFLAGS="${AM_CXXFLAGS} ${CXX_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
91 89
 

Loading…
Cancel
Save