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