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