1# lib-link.m4 serial 6 (gettext-0.14.3) 2dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. 3dnl This file is free software; the Free Software Foundation 4dnl gives unlimited permission to copy and/or distribute it, 5dnl with or without modifications, as long as this notice is preserved. 6 7dnl From Bruno Haible. 8 9AC_PREREQ(2.50) 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 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 124dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and 125dnl the libraries corresponding to explicit and implicit dependencies. 126dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. 127AC_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 534dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, 535dnl unless already present in VAR. 536dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes 537dnl contains two or three consecutive elements that belong together. 538AC_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]) 554