~vcs-imports-ii/xboard/master

« back to all changes in this revision

Viewing changes to m4/lib-link.m4

  • Committer: Arun Persaud
  • Date: 2014-09-30 03:48:58 UTC
  • Revision ID: git-v1:65af6e8e751bc3c290f21193664ae41b38709ee7
update gettext configuration to not include any generated files in git

before we had a somewhat mixed setup, which seems to create problems
when a different gettext version was installed on the users machine compared
to the version used to generate the files in git. This should solve
the problem. The user will now have to generate these files using autopoint,
which we call from autogen.sh.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# lib-link.m4 serial 21 (gettext-0.18)
2
 
dnl Copyright (C) 2001-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
 
AC_PREREQ([2.54])
10
 
 
11
 
dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
12
 
dnl the libraries corresponding to explicit and implicit dependencies.
13
 
dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
14
 
dnl augments the CPPFLAGS variable.
15
 
dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
16
 
dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
17
 
AC_DEFUN([AC_LIB_LINKFLAGS],
18
 
[
19
 
  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
20
 
  AC_REQUIRE([AC_LIB_RPATH])
21
 
  pushdef([Name],[translit([$1],[./-], [___])])
22
 
  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
23
 
                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
24
 
  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
25
 
    AC_LIB_LINKFLAGS_BODY([$1], [$2])
26
 
    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
27
 
    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
28
 
    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
29
 
    ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
30
 
  ])
31
 
  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
32
 
  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
33
 
  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
34
 
  LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
35
 
  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
36
 
  AC_SUBST([LIB]NAME)
37
 
  AC_SUBST([LTLIB]NAME)
38
 
  AC_SUBST([LIB]NAME[_PREFIX])
39
 
  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
40
 
  dnl results of this search when this library appears as a dependency.
41
 
  HAVE_LIB[]NAME=yes
42
 
  popdef([NAME])
43
 
  popdef([Name])
44
 
])
45
 
 
46
 
dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
47
 
dnl searches for libname and the libraries corresponding to explicit and
48
 
dnl implicit dependencies, together with the specified include files and
49
 
dnl the ability to compile and link the specified testcode. The missing-message
50
 
dnl defaults to 'no' and may contain additional hints for the user.
51
 
dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
52
 
dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
53
 
dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
54
 
dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
55
 
dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
56
 
dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
57
 
AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
58
 
[
59
 
  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
60
 
  AC_REQUIRE([AC_LIB_RPATH])
61
 
  pushdef([Name],[translit([$1],[./-], [___])])
62
 
  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
63
 
                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
64
 
 
65
 
  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
66
 
  dnl accordingly.
67
 
  AC_LIB_LINKFLAGS_BODY([$1], [$2])
68
 
 
69
 
  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
70
 
  dnl because if the user has installed lib[]Name and not disabled its use
71
 
  dnl via --without-lib[]Name-prefix, he wants to use it.
72
 
  ac_save_CPPFLAGS="$CPPFLAGS"
73
 
  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
74
 
 
75
 
  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
76
 
    ac_save_LIBS="$LIBS"
77
 
    dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
78
 
    dnl because these -l options might require -L options that are present in
79
 
    dnl LIBS. -l options benefit only from the -L options listed before it.
80
 
    dnl Otherwise, add it to the front of LIBS, because it may be a static
81
 
    dnl library that depends on another static library that is present in LIBS.
82
 
    dnl Static libraries benefit only from the static libraries listed after
83
 
    dnl it.
84
 
    case " $LIB[]NAME" in
85
 
      *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
86
 
      *)       LIBS="$LIB[]NAME $LIBS" ;;
87
 
    esac
88
 
    AC_TRY_LINK([$3], [$4],
89
 
      [ac_cv_lib[]Name=yes],
90
 
      [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
91
 
    LIBS="$ac_save_LIBS"
92
 
  ])
93
 
  if test "$ac_cv_lib[]Name" = yes; then
94
 
    HAVE_LIB[]NAME=yes
95
 
    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
96
 
    AC_MSG_CHECKING([how to link with lib[]$1])
97
 
    AC_MSG_RESULT([$LIB[]NAME])
98
 
  else
99
 
    HAVE_LIB[]NAME=no
100
 
    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
101
 
    dnl $INC[]NAME either.
102
 
    CPPFLAGS="$ac_save_CPPFLAGS"
103
 
    LIB[]NAME=
104
 
    LTLIB[]NAME=
105
 
    LIB[]NAME[]_PREFIX=
106
 
  fi
107
 
  AC_SUBST([HAVE_LIB]NAME)
108
 
  AC_SUBST([LIB]NAME)
109
 
  AC_SUBST([LTLIB]NAME)
110
 
  AC_SUBST([LIB]NAME[_PREFIX])
111
 
  popdef([NAME])
112
 
  popdef([Name])
113
 
])
114
 
 
115
 
dnl Determine the platform dependent parameters needed to use rpath:
116
 
dnl   acl_libext,
117
 
dnl   acl_shlibext,
118
 
dnl   acl_hardcode_libdir_flag_spec,
119
 
dnl   acl_hardcode_libdir_separator,
120
 
dnl   acl_hardcode_direct,
121
 
dnl   acl_hardcode_minus_L.
122
 
AC_DEFUN([AC_LIB_RPATH],
123
 
[
124
 
  dnl Tell automake >= 1.10 to complain if config.rpath is missing.
125
 
  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
126
 
  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
127
 
  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
128
 
  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
129
 
  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
130
 
  AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
131
 
    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
132
 
    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
133
 
    . ./conftest.sh
134
 
    rm -f ./conftest.sh
135
 
    acl_cv_rpath=done
136
 
  ])
137
 
  wl="$acl_cv_wl"
138
 
  acl_libext="$acl_cv_libext"
139
 
  acl_shlibext="$acl_cv_shlibext"
140
 
  acl_libname_spec="$acl_cv_libname_spec"
141
 
  acl_library_names_spec="$acl_cv_library_names_spec"
142
 
  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
143
 
  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
144
 
  acl_hardcode_direct="$acl_cv_hardcode_direct"
145
 
  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
146
 
  dnl Determine whether the user wants rpath handling at all.
147
 
  AC_ARG_ENABLE([rpath],
148
 
    [  --disable-rpath         do not hardcode runtime library paths],
149
 
    :, enable_rpath=yes)
150
 
])
151
 
 
152
 
dnl AC_LIB_FROMPACKAGE(name, package)
153
 
dnl declares that libname comes from the given package. The configure file
154
 
dnl will then not have a --with-libname-prefix option but a
155
 
dnl --with-package-prefix option. Several libraries can come from the same
156
 
dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
157
 
dnl macro call that searches for libname.
158
 
AC_DEFUN([AC_LIB_FROMPACKAGE],
159
 
[
160
 
  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
161
 
                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
162
 
  define([acl_frompackage_]NAME, [$2])
163
 
  popdef([NAME])
164
 
  pushdef([PACK],[$2])
165
 
  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
166
 
                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
167
 
  define([acl_libsinpackage_]PACKUP,
168
 
    m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1])
169
 
  popdef([PACKUP])
170
 
  popdef([PACK])
171
 
])
172
 
 
173
 
dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
174
 
dnl the libraries corresponding to explicit and implicit dependencies.
175
 
dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
176
 
dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
177
 
dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
178
 
AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
179
 
[
180
 
  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
181
 
  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
182
 
                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
183
 
  pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
184
 
  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
185
 
                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
186
 
  pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
187
 
  dnl Autoconf >= 2.61 supports dots in --with options.
188
 
  pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)])
189
 
  dnl By default, look in $includedir and $libdir.
190
 
  use_additional=yes
191
 
  AC_LIB_WITH_FINAL_PREFIX([
192
 
    eval additional_includedir=\"$includedir\"
193
 
    eval additional_libdir=\"$libdir\"
194
 
  ])
195
 
  AC_ARG_WITH(P_A_C_K[-prefix],
196
 
[[  --with-]]P_A_C_K[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
197
 
  --without-]]P_A_C_K[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
198
 
[
199
 
    if test "X$withval" = "Xno"; then
200
 
      use_additional=no
201
 
    else
202
 
      if test "X$withval" = "X"; then
203
 
        AC_LIB_WITH_FINAL_PREFIX([
204
 
          eval additional_includedir=\"$includedir\"
205
 
          eval additional_libdir=\"$libdir\"
206
 
        ])
207
 
      else
208
 
        additional_includedir="$withval/include"
209
 
        additional_libdir="$withval/$acl_libdirstem"
210
 
        if test "$acl_libdirstem2" != "$acl_libdirstem" \
211
 
           && ! test -d "$withval/$acl_libdirstem"; then
212
 
          additional_libdir="$withval/$acl_libdirstem2"
213
 
        fi
214
 
      fi
215
 
    fi
216
 
])
217
 
  dnl Search the library and its dependencies in $additional_libdir and
218
 
  dnl $LDFLAGS. Using breadth-first-seach.
219
 
  LIB[]NAME=
220
 
  LTLIB[]NAME=
221
 
  INC[]NAME=
222
 
  LIB[]NAME[]_PREFIX=
223
 
  dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
224
 
  dnl computed. So it has to be reset here.
225
 
  HAVE_LIB[]NAME=
226
 
  rpathdirs=
227
 
  ltrpathdirs=
228
 
  names_already_handled=
229
 
  names_next_round='$1 $2'
230
 
  while test -n "$names_next_round"; do
231
 
    names_this_round="$names_next_round"
232
 
    names_next_round=
233
 
    for name in $names_this_round; do
234
 
      already_handled=
235
 
      for n in $names_already_handled; do
236
 
        if test "$n" = "$name"; then
237
 
          already_handled=yes
238
 
          break
239
 
        fi
240
 
      done
241
 
      if test -z "$already_handled"; then
242
 
        names_already_handled="$names_already_handled $name"
243
 
        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
244
 
        dnl or AC_LIB_HAVE_LINKFLAGS call.
245
 
        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
246
 
        eval value=\"\$HAVE_LIB$uppername\"
247
 
        if test -n "$value"; then
248
 
          if test "$value" = yes; then
249
 
            eval value=\"\$LIB$uppername\"
250
 
            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
251
 
            eval value=\"\$LTLIB$uppername\"
252
 
            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
253
 
          else
254
 
            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
255
 
            dnl that this library doesn't exist. So just drop it.
256
 
            :
257
 
          fi
258
 
        else
259
 
          dnl Search the library lib$name in $additional_libdir and $LDFLAGS
260
 
          dnl and the already constructed $LIBNAME/$LTLIBNAME.
261
 
          found_dir=
262
 
          found_la=
263
 
          found_so=
264
 
          found_a=
265
 
          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
266
 
          if test -n "$acl_shlibext"; then
267
 
            shrext=".$acl_shlibext"             # typically: shrext=.so
268
 
          else
269
 
            shrext=
270
 
          fi
271
 
          if test $use_additional = yes; then
272
 
            dir="$additional_libdir"
273
 
            dnl The same code as in the loop below:
274
 
            dnl First look for a shared library.
275
 
            if test -n "$acl_shlibext"; then
276
 
              if test -f "$dir/$libname$shrext"; then
277
 
                found_dir="$dir"
278
 
                found_so="$dir/$libname$shrext"
279
 
              else
280
 
                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
281
 
                  ver=`(cd "$dir" && \
282
 
                        for f in "$libname$shrext".*; do echo "$f"; done \
283
 
                        | sed -e "s,^$libname$shrext\\\\.,," \
284
 
                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
285
 
                        | sed 1q ) 2>/dev/null`
286
 
                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
287
 
                    found_dir="$dir"
288
 
                    found_so="$dir/$libname$shrext.$ver"
289
 
                  fi
290
 
                else
291
 
                  eval library_names=\"$acl_library_names_spec\"
292
 
                  for f in $library_names; do
293
 
                    if test -f "$dir/$f"; then
294
 
                      found_dir="$dir"
295
 
                      found_so="$dir/$f"
296
 
                      break
297
 
                    fi
298
 
                  done
299
 
                fi
300
 
              fi
301
 
            fi
302
 
            dnl Then look for a static library.
303
 
            if test "X$found_dir" = "X"; then
304
 
              if test -f "$dir/$libname.$acl_libext"; then
305
 
                found_dir="$dir"
306
 
                found_a="$dir/$libname.$acl_libext"
307
 
              fi
308
 
            fi
309
 
            if test "X$found_dir" != "X"; then
310
 
              if test -f "$dir/$libname.la"; then
311
 
                found_la="$dir/$libname.la"
312
 
              fi
313
 
            fi
314
 
          fi
315
 
          if test "X$found_dir" = "X"; then
316
 
            for x in $LDFLAGS $LTLIB[]NAME; do
317
 
              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
318
 
              case "$x" in
319
 
                -L*)
320
 
                  dir=`echo "X$x" | sed -e 's/^X-L//'`
321
 
                  dnl First look for a shared library.
322
 
                  if test -n "$acl_shlibext"; then
323
 
                    if test -f "$dir/$libname$shrext"; then
324
 
                      found_dir="$dir"
325
 
                      found_so="$dir/$libname$shrext"
326
 
                    else
327
 
                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
328
 
                        ver=`(cd "$dir" && \
329
 
                              for f in "$libname$shrext".*; do echo "$f"; done \
330
 
                              | sed -e "s,^$libname$shrext\\\\.,," \
331
 
                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
332
 
                              | sed 1q ) 2>/dev/null`
333
 
                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
334
 
                          found_dir="$dir"
335
 
                          found_so="$dir/$libname$shrext.$ver"
336
 
                        fi
337
 
                      else
338
 
                        eval library_names=\"$acl_library_names_spec\"
339
 
                        for f in $library_names; do
340
 
                          if test -f "$dir/$f"; then
341
 
                            found_dir="$dir"
342
 
                            found_so="$dir/$f"
343
 
                            break
344
 
                          fi
345
 
                        done
346
 
                      fi
347
 
                    fi
348
 
                  fi
349
 
                  dnl Then look for a static library.
350
 
                  if test "X$found_dir" = "X"; then
351
 
                    if test -f "$dir/$libname.$acl_libext"; then
352
 
                      found_dir="$dir"
353
 
                      found_a="$dir/$libname.$acl_libext"
354
 
                    fi
355
 
                  fi
356
 
                  if test "X$found_dir" != "X"; then
357
 
                    if test -f "$dir/$libname.la"; then
358
 
                      found_la="$dir/$libname.la"
359
 
                    fi
360
 
                  fi
361
 
                  ;;
362
 
              esac
363
 
              if test "X$found_dir" != "X"; then
364
 
                break
365
 
              fi
366
 
            done
367
 
          fi
368
 
          if test "X$found_dir" != "X"; then
369
 
            dnl Found the library.
370
 
            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
371
 
            if test "X$found_so" != "X"; then
372
 
              dnl Linking with a shared library. We attempt to hardcode its
373
 
              dnl directory into the executable's runpath, unless it's the
374
 
              dnl standard /usr/lib.
375
 
              if test "$enable_rpath" = no \
376
 
                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
377
 
                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
378
 
                dnl No hardcoding is needed.
379
 
                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
380
 
              else
381
 
                dnl Use an explicit option to hardcode DIR into the resulting
382
 
                dnl binary.
383
 
                dnl Potentially add DIR to ltrpathdirs.
384
 
                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
385
 
                haveit=
386
 
                for x in $ltrpathdirs; do
387
 
                  if test "X$x" = "X$found_dir"; then
388
 
                    haveit=yes
389
 
                    break
390
 
                  fi
391
 
                done
392
 
                if test -z "$haveit"; then
393
 
                  ltrpathdirs="$ltrpathdirs $found_dir"
394
 
                fi
395
 
                dnl The hardcoding into $LIBNAME is system dependent.
396
 
                if test "$acl_hardcode_direct" = yes; then
397
 
                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the
398
 
                  dnl resulting binary.
399
 
                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
400
 
                else
401
 
                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
402
 
                    dnl Use an explicit option to hardcode DIR into the resulting
403
 
                    dnl binary.
404
 
                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
405
 
                    dnl Potentially add DIR to rpathdirs.
406
 
                    dnl The rpathdirs will be appended to $LIBNAME at the end.
407
 
                    haveit=
408
 
                    for x in $rpathdirs; do
409
 
                      if test "X$x" = "X$found_dir"; then
410
 
                        haveit=yes
411
 
                        break
412
 
                      fi
413
 
                    done
414
 
                    if test -z "$haveit"; then
415
 
                      rpathdirs="$rpathdirs $found_dir"
416
 
                    fi
417
 
                  else
418
 
                    dnl Rely on "-L$found_dir".
419
 
                    dnl But don't add it if it's already contained in the LDFLAGS
420
 
                    dnl or the already constructed $LIBNAME
421
 
                    haveit=
422
 
                    for x in $LDFLAGS $LIB[]NAME; do
423
 
                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
424
 
                      if test "X$x" = "X-L$found_dir"; then
425
 
                        haveit=yes
426
 
                        break
427
 
                      fi
428
 
                    done
429
 
                    if test -z "$haveit"; then
430
 
                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
431
 
                    fi
432
 
                    if test "$acl_hardcode_minus_L" != no; then
433
 
                      dnl FIXME: Not sure whether we should use
434
 
                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
435
 
                      dnl here.
436
 
                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
437
 
                    else
438
 
                      dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
439
 
                      dnl here, because this doesn't fit in flags passed to the
440
 
                      dnl compiler. So give up. No hardcoding. This affects only
441
 
                      dnl very old systems.
442
 
                      dnl FIXME: Not sure whether we should use
443
 
                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
444
 
                      dnl here.
445
 
                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
446
 
                    fi
447
 
                  fi
448
 
                fi
449
 
              fi
450
 
            else
451
 
              if test "X$found_a" != "X"; then
452
 
                dnl Linking with a static library.
453
 
                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
454
 
              else
455
 
                dnl We shouldn't come here, but anyway it's good to have a
456
 
                dnl fallback.
457
 
                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
458
 
              fi
459
 
            fi
460
 
            dnl Assume the include files are nearby.
461
 
            additional_includedir=
462
 
            case "$found_dir" in
463
 
              */$acl_libdirstem | */$acl_libdirstem/)
464
 
                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
465
 
                if test "$name" = '$1'; then
466
 
                  LIB[]NAME[]_PREFIX="$basedir"
467
 
                fi
468
 
                additional_includedir="$basedir/include"
469
 
                ;;
470
 
              */$acl_libdirstem2 | */$acl_libdirstem2/)
471
 
                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
472
 
                if test "$name" = '$1'; then
473
 
                  LIB[]NAME[]_PREFIX="$basedir"
474
 
                fi
475
 
                additional_includedir="$basedir/include"
476
 
                ;;
477
 
            esac
478
 
            if test "X$additional_includedir" != "X"; then
479
 
              dnl Potentially add $additional_includedir to $INCNAME.
480
 
              dnl But don't add it
481
 
              dnl   1. if it's the standard /usr/include,
482
 
              dnl   2. if it's /usr/local/include and we are using GCC on Linux,
483
 
              dnl   3. if it's already present in $CPPFLAGS or the already
484
 
              dnl      constructed $INCNAME,
485
 
              dnl   4. if it doesn't exist as a directory.
486
 
              if test "X$additional_includedir" != "X/usr/include"; then
487
 
                haveit=
488
 
                if test "X$additional_includedir" = "X/usr/local/include"; then
489
 
                  if test -n "$GCC"; then
490
 
                    case $host_os in
491
 
                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
492
 
                    esac
493
 
                  fi
494
 
                fi
495
 
                if test -z "$haveit"; then
496
 
                  for x in $CPPFLAGS $INC[]NAME; do
497
 
                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
498
 
                    if test "X$x" = "X-I$additional_includedir"; then
499
 
                      haveit=yes
500
 
                      break
501
 
                    fi
502
 
                  done
503
 
                  if test -z "$haveit"; then
504
 
                    if test -d "$additional_includedir"; then
505
 
                      dnl Really add $additional_includedir to $INCNAME.
506
 
                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
507
 
                    fi
508
 
                  fi
509
 
                fi
510
 
              fi
511
 
            fi
512
 
            dnl Look for dependencies.
513
 
            if test -n "$found_la"; then
514
 
              dnl Read the .la file. It defines the variables
515
 
              dnl dlname, library_names, old_library, dependency_libs, current,
516
 
              dnl age, revision, installed, dlopen, dlpreopen, libdir.
517
 
              save_libdir="$libdir"
518
 
              case "$found_la" in
519
 
                */* | *\\*) . "$found_la" ;;
520
 
                *) . "./$found_la" ;;
521
 
              esac
522
 
              libdir="$save_libdir"
523
 
              dnl We use only dependency_libs.
524
 
              for dep in $dependency_libs; do
525
 
                case "$dep" in
526
 
                  -L*)
527
 
                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
528
 
                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
529
 
                    dnl But don't add it
530
 
                    dnl   1. if it's the standard /usr/lib,
531
 
                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
532
 
                    dnl   3. if it's already present in $LDFLAGS or the already
533
 
                    dnl      constructed $LIBNAME,
534
 
                    dnl   4. if it doesn't exist as a directory.
535
 
                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
536
 
                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
537
 
                      haveit=
538
 
                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
539
 
                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
540
 
                        if test -n "$GCC"; then
541
 
                          case $host_os in
542
 
                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
543
 
                          esac
544
 
                        fi
545
 
                      fi
546
 
                      if test -z "$haveit"; then
547
 
                        haveit=
548
 
                        for x in $LDFLAGS $LIB[]NAME; do
549
 
                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
550
 
                          if test "X$x" = "X-L$additional_libdir"; then
551
 
                            haveit=yes
552
 
                            break
553
 
                          fi
554
 
                        done
555
 
                        if test -z "$haveit"; then
556
 
                          if test -d "$additional_libdir"; then
557
 
                            dnl Really add $additional_libdir to $LIBNAME.
558
 
                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
559
 
                          fi
560
 
                        fi
561
 
                        haveit=
562
 
                        for x in $LDFLAGS $LTLIB[]NAME; do
563
 
                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
564
 
                          if test "X$x" = "X-L$additional_libdir"; then
565
 
                            haveit=yes
566
 
                            break
567
 
                          fi
568
 
                        done
569
 
                        if test -z "$haveit"; then
570
 
                          if test -d "$additional_libdir"; then
571
 
                            dnl Really add $additional_libdir to $LTLIBNAME.
572
 
                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
573
 
                          fi
574
 
                        fi
575
 
                      fi
576
 
                    fi
577
 
                    ;;
578
 
                  -R*)
579
 
                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
580
 
                    if test "$enable_rpath" != no; then
581
 
                      dnl Potentially add DIR to rpathdirs.
582
 
                      dnl The rpathdirs will be appended to $LIBNAME at the end.
583
 
                      haveit=
584
 
                      for x in $rpathdirs; do
585
 
                        if test "X$x" = "X$dir"; then
586
 
                          haveit=yes
587
 
                          break
588
 
                        fi
589
 
                      done
590
 
                      if test -z "$haveit"; then
591
 
                        rpathdirs="$rpathdirs $dir"
592
 
                      fi
593
 
                      dnl Potentially add DIR to ltrpathdirs.
594
 
                      dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
595
 
                      haveit=
596
 
                      for x in $ltrpathdirs; do
597
 
                        if test "X$x" = "X$dir"; then
598
 
                          haveit=yes
599
 
                          break
600
 
                        fi
601
 
                      done
602
 
                      if test -z "$haveit"; then
603
 
                        ltrpathdirs="$ltrpathdirs $dir"
604
 
                      fi
605
 
                    fi
606
 
                    ;;
607
 
                  -l*)
608
 
                    dnl Handle this in the next round.
609
 
                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
610
 
                    ;;
611
 
                  *.la)
612
 
                    dnl Handle this in the next round. Throw away the .la's
613
 
                    dnl directory; it is already contained in a preceding -L
614
 
                    dnl option.
615
 
                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
616
 
                    ;;
617
 
                  *)
618
 
                    dnl Most likely an immediate library name.
619
 
                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
620
 
                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
621
 
                    ;;
622
 
                esac
623
 
              done
624
 
            fi
625
 
          else
626
 
            dnl Didn't find the library; assume it is in the system directories
627
 
            dnl known to the linker and runtime loader. (All the system
628
 
            dnl directories known to the linker should also be known to the
629
 
            dnl runtime loader, otherwise the system is severely misconfigured.)
630
 
            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
631
 
            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
632
 
          fi
633
 
        fi
634
 
      fi
635
 
    done
636
 
  done
637
 
  if test "X$rpathdirs" != "X"; then
638
 
    if test -n "$acl_hardcode_libdir_separator"; then
639
 
      dnl Weird platform: only the last -rpath option counts, the user must
640
 
      dnl pass all path elements in one option. We can arrange that for a
641
 
      dnl single library, but not when more than one $LIBNAMEs are used.
642
 
      alldirs=
643
 
      for found_dir in $rpathdirs; do
644
 
        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
645
 
      done
646
 
      dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
647
 
      acl_save_libdir="$libdir"
648
 
      libdir="$alldirs"
649
 
      eval flag=\"$acl_hardcode_libdir_flag_spec\"
650
 
      libdir="$acl_save_libdir"
651
 
      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
652
 
    else
653
 
      dnl The -rpath options are cumulative.
654
 
      for found_dir in $rpathdirs; do
655
 
        acl_save_libdir="$libdir"
656
 
        libdir="$found_dir"
657
 
        eval flag=\"$acl_hardcode_libdir_flag_spec\"
658
 
        libdir="$acl_save_libdir"
659
 
        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
660
 
      done
661
 
    fi
662
 
  fi
663
 
  if test "X$ltrpathdirs" != "X"; then
664
 
    dnl When using libtool, the option that works for both libraries and
665
 
    dnl executables is -R. The -R options are cumulative.
666
 
    for found_dir in $ltrpathdirs; do
667
 
      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
668
 
    done
669
 
  fi
670
 
  popdef([P_A_C_K])
671
 
  popdef([PACKLIBS])
672
 
  popdef([PACKUP])
673
 
  popdef([PACK])
674
 
  popdef([NAME])
675
 
])
676
 
 
677
 
dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
678
 
dnl unless already present in VAR.
679
 
dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
680
 
dnl contains two or three consecutive elements that belong together.
681
 
AC_DEFUN([AC_LIB_APPENDTOVAR],
682
 
[
683
 
  for element in [$2]; do
684
 
    haveit=
685
 
    for x in $[$1]; do
686
 
      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
687
 
      if test "X$x" = "X$element"; then
688
 
        haveit=yes
689
 
        break
690
 
      fi
691
 
    done
692
 
    if test -z "$haveit"; then
693
 
      [$1]="${[$1]}${[$1]:+ }$element"
694
 
    fi
695
 
  done
696
 
])
697
 
 
698
 
dnl For those cases where a variable contains several -L and -l options
699
 
dnl referring to unknown libraries and directories, this macro determines the
700
 
dnl necessary additional linker options for the runtime path.
701
 
dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
702
 
dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
703
 
dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
704
 
dnl otherwise linking without libtool is assumed.
705
 
AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
706
 
[
707
 
  AC_REQUIRE([AC_LIB_RPATH])
708
 
  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
709
 
  $1=
710
 
  if test "$enable_rpath" != no; then
711
 
    if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
712
 
      dnl Use an explicit option to hardcode directories into the resulting
713
 
      dnl binary.
714
 
      rpathdirs=
715
 
      next=
716
 
      for opt in $2; do
717
 
        if test -n "$next"; then
718
 
          dir="$next"
719
 
          dnl No need to hardcode the standard /usr/lib.
720
 
          if test "X$dir" != "X/usr/$acl_libdirstem" \
721
 
             && test "X$dir" != "X/usr/$acl_libdirstem2"; then
722
 
            rpathdirs="$rpathdirs $dir"
723
 
          fi
724
 
          next=
725
 
        else
726
 
          case $opt in
727
 
            -L) next=yes ;;
728
 
            -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
729
 
                 dnl No need to hardcode the standard /usr/lib.
730
 
                 if test "X$dir" != "X/usr/$acl_libdirstem" \
731
 
                    && test "X$dir" != "X/usr/$acl_libdirstem2"; then
732
 
                   rpathdirs="$rpathdirs $dir"
733
 
                 fi
734
 
                 next= ;;
735
 
            *) next= ;;
736
 
          esac
737
 
        fi
738
 
      done
739
 
      if test "X$rpathdirs" != "X"; then
740
 
        if test -n ""$3""; then
741
 
          dnl libtool is used for linking. Use -R options.
742
 
          for dir in $rpathdirs; do
743
 
            $1="${$1}${$1:+ }-R$dir"
744
 
          done
745
 
        else
746
 
          dnl The linker is used for linking directly.
747
 
          if test -n "$acl_hardcode_libdir_separator"; then
748
 
            dnl Weird platform: only the last -rpath option counts, the user
749
 
            dnl must pass all path elements in one option.
750
 
            alldirs=
751
 
            for dir in $rpathdirs; do
752
 
              alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
753
 
            done
754
 
            acl_save_libdir="$libdir"
755
 
            libdir="$alldirs"
756
 
            eval flag=\"$acl_hardcode_libdir_flag_spec\"
757
 
            libdir="$acl_save_libdir"
758
 
            $1="$flag"
759
 
          else
760
 
            dnl The -rpath options are cumulative.
761
 
            for dir in $rpathdirs; do
762
 
              acl_save_libdir="$libdir"
763
 
              libdir="$dir"
764
 
              eval flag=\"$acl_hardcode_libdir_flag_spec\"
765
 
              libdir="$acl_save_libdir"
766
 
              $1="${$1}${$1:+ }$flag"
767
 
            done
768
 
          fi
769
 
        fi
770
 
      fi
771
 
    fi
772
 
  fi
773
 
  AC_SUBST([$1])
774
 
])