~ubuntu-branches/ubuntu/utopic/hello/utopic

« back to all changes in this revision

Viewing changes to m4/lib-link.m4

  • Committer: Bazaar Package Importer
  • Author(s): Santiago Vila
  • Date: 2004-01-05 16:42:30 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20040105164230-ze0yqbimyx4sx1gs
Tags: 2.1.1-4
Updated config.guess and config.sub for GNU/K*BSD.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# lib-link.m4 serial 2 (gettext-0.11.2)
 
2
dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
 
3
dnl This file is free software, distributed under the terms of the GNU
 
4
dnl General Public License.  As a special exception to the GNU General
 
5
dnl Public License, this file may be distributed as part of a program
 
6
dnl that contains a configuration script generated by Autoconf, under
 
7
dnl the same distribution terms as the rest of that program.
 
8
 
 
9
dnl From Bruno Haible.
 
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
AC_DEFUN([AC_LIB_LINKFLAGS],
 
16
[
 
17
  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
 
18
  AC_REQUIRE([AC_LIB_RPATH])
 
19
  define([Name],[translit([$1],[./-], [___])])
 
20
  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
 
21
                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
 
22
  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
 
23
    AC_LIB_LINKFLAGS_BODY([$1], [$2])
 
24
    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
 
25
    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
 
26
    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
 
27
  ])
 
28
  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
 
29
  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
 
30
  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
 
31
  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
 
32
  AC_SUBST([LIB]NAME)
 
33
  AC_SUBST([LTLIB]NAME)
 
34
  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
 
35
  dnl results of this search when this library appears as a dependency.
 
36
  HAVE_LIB[]NAME=yes
 
37
  undefine([Name])
 
38
  undefine([NAME])
 
39
])
 
40
 
 
41
dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
 
42
dnl searches for libname and the libraries corresponding to explicit and
 
43
dnl implicit dependencies, together with the specified include files and
 
44
dnl the ability to compile and link the specified testcode. If found, it
 
45
dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
 
46
dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
 
47
dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
 
48
dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
 
49
AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
 
50
[
 
51
  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
 
52
  AC_REQUIRE([AC_LIB_RPATH])
 
53
  define([Name],[translit([$1],[./-], [___])])
 
54
  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
 
55
                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
 
56
 
 
57
  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
 
58
  dnl accordingly.
 
59
  AC_LIB_LINKFLAGS_BODY([$1], [$2])
 
60
 
 
61
  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
 
62
  dnl because if the user has installed lib[]Name and not disabled its use
 
63
  dnl via --without-lib[]Name-prefix, he wants to use it.
 
64
  ac_save_CPPFLAGS="$CPPFLAGS"
 
65
  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
 
66
 
 
67
  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
 
68
    ac_save_LIBS="$LIBS"
 
69
    LIBS="$LIBS $LIB[]NAME"
 
70
    AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
 
71
    LIBS="$ac_save_LIBS"
 
72
  ])
 
73
  if test "$ac_cv_lib[]Name" = yes; then
 
74
    HAVE_LIB[]NAME=yes
 
75
    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
 
76
    AC_MSG_CHECKING([how to link with lib[]$1])
 
77
    AC_MSG_RESULT([$LIB[]NAME])
 
78
  else
 
79
    HAVE_LIB[]NAME=no
 
80
    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
 
81
    dnl $INC[]NAME either.
 
82
    CPPFLAGS="$ac_save_CPPFLAGS"
 
83
    LIB[]NAME=
 
84
    LTLIB[]NAME=
 
85
  fi
 
86
  AC_SUBST([HAVE_LIB]NAME)
 
87
  AC_SUBST([LIB]NAME)
 
88
  AC_SUBST([LTLIB]NAME)
 
89
  undefine([Name])
 
90
  undefine([NAME])
 
91
])
 
92
 
 
93
dnl Determine the platform dependent parameters needed to use rpath:
 
94
dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
 
95
dnl hardcode_direct, hardcode_minus_L,
 
96
dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec.
 
97
AC_DEFUN([AC_LIB_RPATH],
 
98
[
 
99
  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
 
100
  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
 
101
  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
 
102
  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
 
103
  AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
 
104
    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
 
105
    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
 
106
    . ./conftest.sh
 
107
    rm -f ./conftest.sh
 
108
    acl_cv_rpath=done
 
109
  ])
 
110
  wl="$acl_cv_wl"
 
111
  libext="$acl_cv_libext"
 
112
  shlibext="$acl_cv_shlibext"
 
113
  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
 
114
  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
 
115
  hardcode_direct="$acl_cv_hardcode_direct"
 
116
  hardcode_minus_L="$acl_cv_hardcode_minus_L"
 
117
  sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec"
 
118
  sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec"
 
119
])
 
120
 
 
121
dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
 
122
dnl the libraries corresponding to explicit and implicit dependencies.
 
123
dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
 
124
AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
 
125
[
 
126
  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
 
127
                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
 
128
  dnl By default, look in $includedir and $libdir.
 
129
  use_additional=yes
 
130
  AC_LIB_WITH_FINAL_PREFIX([
 
131
    eval additional_includedir=\"$includedir\"
 
132
    eval additional_libdir=\"$libdir\"
 
133
  ])
 
134
  AC_ARG_WITH([lib$1-prefix],
 
135
[  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
 
136
  --without-lib$1-prefix     don't search for lib$1 in includedir and libdir],
 
137
[
 
138
    if test "X$withval" = "Xno"; then
 
139
      use_additional=no
 
140
    else
 
141
      if test "X$withval" = "X"; then
 
142
        AC_LIB_WITH_FINAL_PREFIX([
 
143
          eval additional_includedir=\"$includedir\"
 
144
          eval additional_libdir=\"$libdir\"
 
145
        ])
 
146
      else
 
147
        additional_includedir="$withval/include"
 
148
        additional_libdir="$withval/lib"
 
149
      fi
 
150
    fi
 
151
])
 
152
  dnl Search the library and its dependencies in $additional_libdir and
 
153
  dnl $LDFLAGS. Using breadth-first-seach.
 
154
  LIB[]NAME=
 
155
  LTLIB[]NAME=
 
156
  INC[]NAME=
 
157
  rpathdirs=
 
158
  ltrpathdirs=
 
159
  names_already_handled=
 
160
  names_next_round='$1 $2'
 
161
  while test -n "$names_next_round"; do
 
162
    names_this_round="$names_next_round"
 
163
    names_next_round=
 
164
    for name in $names_this_round; do
 
165
      already_handled=
 
166
      for n in $names_already_handled; do
 
167
        if test "$n" = "$name"; then
 
168
          already_handled=yes
 
169
          break
 
170
        fi
 
171
      done
 
172
      if test -z "$already_handled"; then
 
173
        names_already_handled="$names_already_handled $name"
 
174
        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
 
175
        dnl or AC_LIB_HAVE_LINKFLAGS call.
 
176
        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
 
177
        eval value=\"\$HAVE_LIB$uppername\"
 
178
        if test -n "$value"; then
 
179
          if test "$value" = yes; then
 
180
            eval value=\"\$LIB$uppername\"
 
181
            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
 
182
            eval value=\"\$LTLIB$uppername\"
 
183
            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
 
184
          else
 
185
            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
 
186
            dnl that this library doesn't exist. So just drop it.
 
187
            :
 
188
          fi
 
189
        else
 
190
          dnl Search the library lib$name in $additional_libdir and $LDFLAGS
 
191
          dnl and the already constructed $LIBNAME/$LTLIBNAME.
 
192
          found_dir=
 
193
          found_la=
 
194
          found_so=
 
195
          found_a=
 
196
          if test $use_additional = yes; then
 
197
            if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
 
198
              found_dir="$additional_libdir"
 
199
              found_so="$additional_libdir/lib$name.$shlibext"
 
200
              if test -f "$additional_libdir/lib$name.la"; then
 
201
                found_la="$additional_libdir/lib$name.la"
 
202
              fi
 
203
            else
 
204
              if test -f "$additional_libdir/lib$name.$libext"; then
 
205
                found_dir="$additional_libdir"
 
206
                found_a="$additional_libdir/lib$name.$libext"
 
207
                if test -f "$additional_libdir/lib$name.la"; then
 
208
                  found_la="$additional_libdir/lib$name.la"
 
209
                fi
 
210
              fi
 
211
            fi
 
212
          fi
 
213
          if test "X$found_dir" = "X"; then
 
214
            for x in $LDFLAGS $LTLIB[]NAME; do
 
215
              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
 
216
              case "$x" in
 
217
                -L*)
 
218
                  dir=`echo "X$x" | sed -e 's/^X-L//'`
 
219
                  if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
 
220
                    found_dir="$dir"
 
221
                    found_so="$dir/lib$name.$shlibext"
 
222
                    if test -f "$dir/lib$name.la"; then
 
223
                      found_la="$dir/lib$name.la"
 
224
                    fi
 
225
                  else
 
226
                    if test -f "$dir/lib$name.$libext"; then
 
227
                      found_dir="$dir"
 
228
                      found_a="$dir/lib$name.$libext"
 
229
                      if test -f "$dir/lib$name.la"; then
 
230
                        found_la="$dir/lib$name.la"
 
231
                      fi
 
232
                    fi
 
233
                  fi
 
234
                  ;;
 
235
              esac
 
236
              if test "X$found_dir" != "X"; then
 
237
                break
 
238
              fi
 
239
            done
 
240
          fi
 
241
          if test "X$found_dir" != "X"; then
 
242
            dnl Found the library.
 
243
            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
 
244
            if test "X$found_so" != "X"; then
 
245
              dnl Linking with a shared library. We attempt to hardcode its
 
246
              dnl directory into the executable's runpath, unless it's the
 
247
              dnl standard /usr/lib.
 
248
              if test "X$found_dir" = "X/usr/lib"; then
 
249
                dnl No hardcoding is needed.
 
250
                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
 
251
              else
 
252
                dnl Use an explicit option to hardcode DIR into the resulting
 
253
                dnl binary.
 
254
                dnl Potentially add DIR to ltrpathdirs.
 
255
                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
 
256
                haveit=
 
257
                for x in $ltrpathdirs; do
 
258
                  if test "X$x" = "X$found_dir"; then
 
259
                    haveit=yes
 
260
                    break
 
261
                  fi
 
262
                done
 
263
                if test -z "$haveit"; then
 
264
                  ltrpathdirs="$ltrpathdirs $found_dir"
 
265
                fi
 
266
                dnl The hardcoding into $LIBNAME is system dependent.
 
267
                if test "$hardcode_direct" = yes; then
 
268
                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the
 
269
                  dnl resulting binary.
 
270
                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
 
271
                else
 
272
                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
 
273
                    dnl Use an explicit option to hardcode DIR into the resulting
 
274
                    dnl binary.
 
275
                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
 
276
                    dnl Potentially add DIR to rpathdirs.
 
277
                    dnl The rpathdirs will be appended to $LIBNAME at the end.
 
278
                    haveit=
 
279
                    for x in $rpathdirs; do
 
280
                      if test "X$x" = "X$found_dir"; then
 
281
                        haveit=yes
 
282
                        break
 
283
                      fi
 
284
                    done
 
285
                    if test -z "$haveit"; then
 
286
                      rpathdirs="$rpathdirs $found_dir"
 
287
                    fi
 
288
                  else
 
289
                    dnl Rely on "-L$found_dir".
 
290
                    dnl But don't add it if it's already contained in the LDFLAGS
 
291
                    dnl or the already constructed $LIBNAME
 
292
                    haveit=
 
293
                    for x in $LDFLAGS $LIB[]NAME; do
 
294
                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
 
295
                      if test "X$x" = "X-L$found_dir"; then
 
296
                        haveit=yes
 
297
                        break
 
298
                      fi
 
299
                    done
 
300
                    if test -z "$haveit"; then
 
301
                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
 
302
                    fi
 
303
                    if test "$hardcode_minus_L" != no; then
 
304
                      dnl FIXME: Not sure whether we should use
 
305
                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
 
306
                      dnl here.
 
307
                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
 
308
                    else
 
309
                      dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
 
310
                      dnl here, because this doesn't fit in flags passed to the
 
311
                      dnl compiler. So give up. No hardcoding. This affects only
 
312
                      dnl very old systems.
 
313
                      dnl FIXME: Not sure whether we should use
 
314
                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
 
315
                      dnl here.
 
316
                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
 
317
                    fi
 
318
                  fi
 
319
                fi
 
320
              fi
 
321
            else
 
322
              if test "X$found_a" != "X"; then
 
323
                dnl Linking with a static library.
 
324
                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
 
325
              else
 
326
                dnl We shouldn't come here, but anyway it's good to have a
 
327
                dnl fallback.
 
328
                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
 
329
              fi
 
330
            fi
 
331
            dnl Assume the include files are nearby.
 
332
            additional_includedir=
 
333
            case "$found_dir" in
 
334
              */lib | */lib/)
 
335
                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
 
336
                additional_includedir="$basedir/include"
 
337
                ;;
 
338
            esac
 
339
            if test "X$additional_includedir" != "X"; then
 
340
              dnl Potentially add $additional_includedir to $INCNAME.
 
341
              dnl But don't add it
 
342
              dnl   1. if it's the standard /usr/include,
 
343
              dnl   2. if it's /usr/local/include and we are using GCC on Linux,
 
344
              dnl   3. if it's already present in $CPPFLAGS or the already
 
345
              dnl      constructed $INCNAME,
 
346
              dnl   4. if it doesn't exist as a directory.
 
347
              if test "X$additional_includedir" != "X/usr/include"; then
 
348
                haveit=
 
349
                if test "X$additional_includedir" = "X/usr/local/include"; then
 
350
                  if test -n "$GCC"; then
 
351
                    case $host_os in
 
352
                      linux*) haveit=yes;;
 
353
                    esac
 
354
                  fi
 
355
                fi
 
356
                if test -z "$haveit"; then
 
357
                  for x in $CPPFLAGS $INC[]NAME; do
 
358
                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
 
359
                    if test "X$x" = "X-I$additional_includedir"; then
 
360
                      haveit=yes
 
361
                      break
 
362
                    fi
 
363
                  done
 
364
                  if test -z "$haveit"; then
 
365
                    if test -d "$additional_includedir"; then
 
366
                      dnl Really add $additional_includedir to $INCNAME.
 
367
                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
 
368
                    fi
 
369
                  fi
 
370
                fi
 
371
              fi
 
372
            fi
 
373
            dnl Look for dependencies.
 
374
            if test -n "$found_la"; then
 
375
              dnl Read the .la file. It defines the variables
 
376
              dnl dlname, library_names, old_library, dependency_libs, current,
 
377
              dnl age, revision, installed, dlopen, dlpreopen, libdir.
 
378
              save_libdir="$libdir"
 
379
              case "$found_la" in
 
380
                */* | *\\*) . "$found_la" ;;
 
381
                *) . "./$found_la" ;;
 
382
              esac
 
383
              libdir="$save_libdir"
 
384
              dnl We use only dependency_libs.
 
385
              for dep in $dependency_libs; do
 
386
                case "$dep" in
 
387
                  -L*)
 
388
                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
 
389
                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
 
390
                    dnl But don't add it
 
391
                    dnl   1. if it's the standard /usr/lib,
 
392
                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
 
393
                    dnl   3. if it's already present in $LDFLAGS or the already
 
394
                    dnl      constructed $LIBNAME,
 
395
                    dnl   4. if it doesn't exist as a directory.
 
396
                    if test "X$additional_libdir" != "X/usr/lib"; then
 
397
                      haveit=
 
398
                      if test "X$additional_libdir" = "X/usr/local/lib"; then
 
399
                        if test -n "$GCC"; then
 
400
                          case $host_os in
 
401
                            linux*) haveit=yes;;
 
402
                          esac
 
403
                        fi
 
404
                      fi
 
405
                      if test -z "$haveit"; then
 
406
                        haveit=
 
407
                        for x in $LDFLAGS $LIB[]NAME; do
 
408
                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
 
409
                          if test "X$x" = "X-L$additional_libdir"; then
 
410
                            haveit=yes
 
411
                            break
 
412
                          fi
 
413
                        done
 
414
                        if test -z "$haveit"; then
 
415
                          if test -d "$additional_libdir"; then
 
416
                            dnl Really add $additional_libdir to $LIBNAME.
 
417
                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
 
418
                          fi
 
419
                        fi
 
420
                        haveit=
 
421
                        for x in $LDFLAGS $LTLIB[]NAME; do
 
422
                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
 
423
                          if test "X$x" = "X-L$additional_libdir"; then
 
424
                            haveit=yes
 
425
                            break
 
426
                          fi
 
427
                        done
 
428
                        if test -z "$haveit"; then
 
429
                          if test -d "$additional_libdir"; then
 
430
                            dnl Really add $additional_libdir to $LTLIBNAME.
 
431
                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
 
432
                          fi
 
433
                        fi
 
434
                      fi
 
435
                    fi
 
436
                    ;;
 
437
                  -R*)
 
438
                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
 
439
                    dnl Potentially add DIR to rpathdirs.
 
440
                    dnl The rpathdirs will be appended to $LIBNAME at the end.
 
441
                    haveit=
 
442
                    for x in $rpathdirs; do
 
443
                      if test "X$x" = "X$dir"; then
 
444
                        haveit=yes
 
445
                        break
 
446
                      fi
 
447
                    done
 
448
                    if test -z "$haveit"; then
 
449
                      rpathdirs="$rpathdirs $dir"
 
450
                    fi
 
451
                    dnl Potentially add DIR to ltrpathdirs.
 
452
                    dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
 
453
                    haveit=
 
454
                    for x in $ltrpathdirs; do
 
455
                      if test "X$x" = "X$dir"; then
 
456
                        haveit=yes
 
457
                        break
 
458
                      fi
 
459
                    done
 
460
                    if test -z "$haveit"; then
 
461
                      ltrpathdirs="$ltrpathdirs $dir"
 
462
                    fi
 
463
                    ;;
 
464
                  -l*)
 
465
                    dnl Handle this in the next round.
 
466
                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
 
467
                    ;;
 
468
                  *.la)
 
469
                    dnl Handle this in the next round. Throw away the .la's
 
470
                    dnl directory; it is already contained in a preceding -L
 
471
                    dnl option.
 
472
                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
 
473
                    ;;
 
474
                  *)
 
475
                    dnl Most likely an immediate library name.
 
476
                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
 
477
                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
 
478
                    ;;
 
479
                esac
 
480
              done
 
481
            fi
 
482
          else
 
483
            dnl Didn't find the library; assume it is in the system directories
 
484
            dnl known to the linker and runtime loader. (All the system
 
485
            dnl directories known to the linker should also be known to the
 
486
            dnl runtime loader, otherwise the system is severely misconfigured.)
 
487
            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
 
488
            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
 
489
          fi
 
490
        fi
 
491
      fi
 
492
    done
 
493
  done
 
494
  if test "X$rpathdirs" != "X"; then
 
495
    if test -n "$hardcode_libdir_separator"; then
 
496
      dnl Weird platform: only the last -rpath option counts, the user must
 
497
      dnl pass all path elements in one option. We can arrange that for a
 
498
      dnl single library, but not when more than one $LIBNAMEs are used.
 
499
      alldirs=
 
500
      for found_dir in $rpathdirs; do
 
501
        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
 
502
      done
 
503
      dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
 
504
      acl_save_libdir="$libdir"
 
505
      libdir="$alldirs"
 
506
      eval flag=\"$hardcode_libdir_flag_spec\"
 
507
      libdir="$acl_save_libdir"
 
508
      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
 
509
    else
 
510
      dnl The -rpath options are cumulative.
 
511
      for found_dir in $rpathdirs; do
 
512
        acl_save_libdir="$libdir"
 
513
        libdir="$found_dir"
 
514
        eval flag=\"$hardcode_libdir_flag_spec\"
 
515
        libdir="$acl_save_libdir"
 
516
        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
 
517
      done
 
518
    fi
 
519
  fi
 
520
  if test "X$ltrpathdirs" != "X"; then
 
521
    dnl When using libtool, the option that works for both libraries and
 
522
    dnl executables is -R. The -R options are cumulative.
 
523
    for found_dir in $ltrpathdirs; do
 
524
      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
 
525
    done
 
526
  fi
 
527
])
 
528
 
 
529
dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
 
530
dnl unless already present in VAR.
 
531
dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
 
532
dnl contains two or three consecutive elements that belong together.
 
533
AC_DEFUN([AC_LIB_APPENDTOVAR],
 
534
[
 
535
  for element in [$2]; do
 
536
    haveit=
 
537
    for x in $[$1]; do
 
538
      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
 
539
      if test "X$x" = "X$element"; then
 
540
        haveit=yes
 
541
        break
 
542
      fi
 
543
    done
 
544
    if test -z "$haveit"; then
 
545
      [$1]="${[$1]}${[$1]:+ }$element"
 
546
    fi
 
547
  done
 
548
])