ltconfig 50.3 KB
Newer Older
Jason Merrill committed
1 2 3
#! /bin/sh

# ltconfig - Create a system-specific libtool.
#  
Jeff Law committed
4
# Copyright (C) 1996-1998 Free Software Foundation, Inc.
Jason Merrill committed
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.

# A lot of this script is taken from autoconf-2.10.

#  
Jeff Law committed
28 29
# Check that we are running under the correct shell.
SHELL=${CONFIG_SHELL-/bin/sh}
30 31
echo=echo
if test "X$1" = X--no-reexec; then
#  
Jeff Law committed
32 33
  # Discard the --no-reexec flag, and continue.
  shift
34 35 36 37
elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
  # Yippee, $echo works!
  :
else
#  
Jeff Law committed
38 39 40 41 42 43 44 45
  # Restart under the correct shell.
  exec "$SHELL" "$0" --no-reexec ${1+"$@"}
fi

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi

46
if test "X`($echo '\t') 2>/dev/null`" != 'X\t'; then
#  
Jeff Law committed
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
  # The Solaris, AIX, and Digital Unix default echo programs unquote
  # backslashes.  This makes it impossible to quote backslashes using
  #   echo "$something" | sed 's/\\/\\\\/g'
  #
  # So, first we look for a working echo in the user's PATH.
  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}:"
  for dir in $PATH /usr/ucb; do
    if test -f $dir/echo && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t'; then
      echo="$dir/echo"
      break
    fi
  done
  IFS="$save_ifs"

  if test "X$echo" = Xecho; then
    # We didn't find a better echo, so look for alternatives.
    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t'; then
      # This shell has a builtin print -r that does the trick.
      echo='print -r'
66 67 68 69 70
    elif test -f /bin/ksh && test "X$CONFIG_SHELL" != X/bin/ksh; then
      # If we have ksh, try running ltconfig again with it.
      CONFIG_SHELL=/bin/ksh
      export CONFIG_SHELL
      exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"}
#  
Jeff Law committed
71 72 73
    else
      # Try using printf.
      echo='printf %s\n'
74
      if test "X`($echo '\t') 2>/dev/null`" != 'X\t'; then
#  
Jeff Law committed
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
        # Oops.  We lost completely, so just stick with echo.
        echo=echo
      fi
    fi
  fi
fi

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
Xsed='sed -e s/^X//'
sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'

# Same as above, but do not quote variable references.
double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'

Jason Merrill committed
90
# The name of this program.
#  
Jeff Law committed
91
progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
Jason Merrill committed
92 93 94 95

# Constants:
PROGRAM=ltconfig
PACKAGE=libtool
96
VERSION=1.2b
Jason Merrill committed
97
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'
#  
Jeff Law committed
98
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5'
Jason Merrill committed
99 100 101 102 103
rm="rm -f"

help="Try \`$progname --help' for more information."

# Global variables:
#  
Jeff Law committed
104
default_ofile=libtool
Jason Merrill committed
105 106 107 108 109 110 111 112 113 114 115
can_build_shared=yes
enable_shared=yes
# All known linkers require a `.a' archive for static linking.
enable_static=yes
ltmain=
silent=
srcdir=
ac_config_guess=
ac_config_sub=
host=
nonopt=
#  
Jeff Law committed
116
ofile="$default_ofile"
Jason Merrill committed
117 118 119
verify_host=yes
with_gcc=no
with_gnu_ld=no
120 121
objext=o
libext=a
Jason Merrill committed
122 123 124 125 126 127 128

old_AR="$AR"
old_CC="$CC"
old_CFLAGS="$CFLAGS"
old_CPPFLAGS="$CPPFLAGS"
old_LD="$LD"
old_LN_S="$LN_S"
#  
Jeff Law committed
129
old_NM="$NM"
Jason Merrill committed
130
old_RANLIB="$RANLIB"
#  
Jeff Law committed
131 132
old_DLLTOOL="$DLLTOOL"
old_AS="$AS"
Jason Merrill committed
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156

# Parse the command line options.
args=
prev=
for option
do
  case "$option" in
  -*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
  *) optarg= ;;
  esac

  # If the previous option needs an argument, assign it.
  if test -n "$prev"; then
    eval "$prev=\$option"
    prev=
    continue
  fi

  case "$option" in
  --help) cat <<EOM
Usage: $progname [OPTION]... LTMAIN [HOST]

Generate a system-specific libtool script.

#  
Jeff Law committed
157
    --debug                enable verbose shell tracing
Jason Merrill committed
158 159 160 161
    --disable-shared       do not build shared libraries
    --disable-static       do not build static libraries
    --help                 display this help and exit
    --no-verify            do not verify that HOST is a valid host type
#  
Jeff Law committed
162
-o, --output=FILE          specify the output file [default=$default_ofile]
Jason Merrill committed
163
    --quiet                same as \`--silent'
#  
Jeff Law committed
164
    --silent               do not print informational messages
Jason Merrill committed
165 166 167 168 169 170 171 172 173 174 175 176 177
    --srcdir=DIR           find \`config.guess' in DIR
    --version              output version information and exit
    --with-gcc             assume that the GNU C compiler will be used
    --with-gnu-ld          assume that the C compiler uses the GNU linker

LTMAIN is the \`ltmain.sh' shell script fragment that provides basic libtool
functionality.

HOST is the canonical host system name [default=guessed].
EOM
  exit 0
  ;;

#  
Jeff Law committed
178 179 180 181 182
  --debug)
    echo "$progname: enabling shell trace mode"
    set -x
    ;;

Jason Merrill committed
183 184 185 186 187 188 189 190 191 192 193
  --disable-shared) enable_shared=no ;;

  --disable-static) enable_static=no ;;

  --quiet | --silent) silent=yes ;;

  --srcdir) prev=srcdir ;;
  --srcdir=*) srcdir="$optarg" ;;

  --no-verify) verify_host=no ;;

#  
Jeff Law committed
194 195 196
  --output | -o) prev=ofile ;;
  --output=*) ofile="$optarg" ;;

Jason Merrill committed
197 198 199 200 201 202 203 204 205 206 207 208 209 210 211
  --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION"; exit 0 ;;

  --with-gcc) with_gcc=yes ;;
  --with-gnu-ld) with_gnu_ld=yes ;;

  -*)
    echo "$progname: unrecognized option \`$option'" 1>&2
    echo "$help" 1>&2
    exit 1
    ;;

  *)
    if test -z "$ltmain"; then
      ltmain="$option"
    elif test -z "$host"; then
#  
Jeff Law committed
212
# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
Jason Merrill committed
213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230
#      if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then
#        echo "$progname: warning \`$option' is not a valid host type" 1>&2
#      fi
      host="$option"
    else
      echo "$progname: too many arguments" 1>&2
      echo "$help" 1>&2
      exit 1
    fi ;;
  esac
done

if test -z "$ltmain"; then
  echo "$progname: you must specify a LTMAIN file" 1>&2
  echo "$help" 1>&2
  exit 1
fi

231
if test ! -f "$ltmain"; then
#  
Jeff Law committed
232 233 234
  echo "$progname: \`$ltmain' does not exist" 1>&2
  echo "$help" 1>&2
  exit 1
Jason Merrill committed
235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285
fi

# Quote any args containing shell metacharacters.
ltconfig_args=
for arg
do
  case "$arg" in
  *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
  ltconfig_args="$ltconfig_args '$arg'" ;;
  *) ltconfig_args="$ltconfig_args $arg" ;;
  esac
done

# A relevant subset of AC_INIT.

# File descriptor usage:
# 0 standard input
# 1 file creation
# 2 errors and warnings
# 3 some systems may open it to /dev/tty
# 4 used on the Kubota Titan
# 5 compiler messages saved in config.log
# 6 checking for... messages and results
if test "$silent" = yes; then
  exec 6>/dev/null
else
  exec 6>&1
fi
exec 5>>./config.log

# NLS nuisances.
# Only set LANG and LC_ALL to C if already set.
# These must not be set unconditionally because not all systems understand
# e.g. LANG=C (notably SCO).
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi

if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
    ac_n= ac_c='
' ac_t='	'
  else
    ac_n=-n ac_c= ac_t=
  fi
else
  ac_n= ac_c='\c' ac_t=
fi

if test -z "$srcdir"; then
  # Assume the source directory is the same one as the path to ltmain.sh.
#  
Jeff Law committed
286
  srcdir=`$echo "$ltmain" | $Xsed -e 's%/[^/]*$%%'`
Jason Merrill committed
287 288 289
  test "$srcdir" = "$ltmain" && srcdir=.
fi

#  
Jeff Law committed
290
trap "$rm conftest*; exit 1" 1 2 15
Jason Merrill committed
291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308
if test "$verify_host" = yes; then
  # Check for config.guess and config.sub.
  ac_aux_dir=
  for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
    if test -f $ac_dir/config.guess; then
      ac_aux_dir=$ac_dir
      break
    fi
  done
  if test -z "$ac_aux_dir"; then
    echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2
    echo "$help" 1>&2
    exit 1
  fi
  ac_config_guess=$ac_aux_dir/config.guess
  ac_config_sub=$ac_aux_dir/config.sub

  # Make sure we can run config.sub.
309
  if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then :
Jason Merrill committed
310 311 312 313 314 315 316 317 318 319 320
  else
    echo "$progname: cannot run $ac_config_sub" 1>&2
    echo "$help" 1>&2
    exit 1
  fi

  echo $ac_n "checking host system type""... $ac_c" 1>&6

  host_alias=$host
  case "$host_alias" in
  "")
321
    if host_alias=`$SHELL $ac_config_guess`; then :
Jason Merrill committed
322 323 324 325 326 327
    else
      echo "$progname: cannot guess host type; you must specify one" 1>&2
      echo "$help" 1>&2
      exit 1
    fi ;;
  esac
328
  host=`$SHELL $ac_config_sub $host_alias`
#  
Jeff Law committed
329 330 331 332
  echo "$ac_t$host" 1>&6

  # Make sure the host verified.
  test -z "$host" && exit 1
Jason Merrill committed
333 334 335 336 337 338 339 340 341

elif test -z "$host"; then
  echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2
  echo "$help" 1>&2
  exit 1
else
  host_alias=$host
fi

#  
Jeff Law committed
342 343 344 345
# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
case "$host_os" in
linux-gnu*) ;;
linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
Jason Merrill committed
346 347 348 349 350 351
esac

host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`

#  
Jeff Law committed
352 353 354 355 356 357 358 359 360 361 362 363
case "$host_os" in
aix3*)
  # AIX sometimes has problems with the GCC collect2 program.  For some
  # reason, if we set the COLLECT_NAMES environment variable, the problems
  # vanish in a puff of smoke.
  if test "${COLLECT_NAMES+set}" != set; then
    COLLECT_NAMES=
    export COLLECT_NAMES
  fi
  ;;
esac

Jason Merrill committed
364 365 366
# Determine commands to create old-style static archives.
old_archive_cmds='$AR cru $oldlib$oldobjs'
old_postinstall_cmds='chmod 644 $oldlib'
#  
Jeff Law committed
367 368 369 370
old_postuninstall_cmds=

# Set a sane default for `AR'.
test -z "$AR" && AR=ar
Jason Merrill committed
371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387

# If RANLIB is not set, then run the test.
if test "${RANLIB+set}" != "set"; then
  result=no

  echo $ac_n "checking for ranlib... $ac_c" 1>&6
  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}:"
  for dir in $PATH; do
    test -z "$dir" && dir=.
    if test -f $dir/ranlib; then
      RANLIB="ranlib"
      result="ranlib"
      break
    fi
  done
  IFS="$save_ifs"

#  
Jeff Law committed
388
  echo "$ac_t$result" 1>&6
Jason Merrill committed
389 390 391 392
fi

if test -n "$RANLIB"; then
  old_archive_cmds="$old_archive_cmds;\$RANLIB \$oldlib"
#  
Jeff Law committed
393
  old_postinstall_cmds="\$RANLIB \$oldlib;$old_postinstall_cmds"
Jason Merrill committed
394 395
fi

#  
Jeff Law committed
396 397 398 399
# Set sane defaults for `DLLTOOL' and `AS', used on cygwin32.
test -z "$DLLTOOL" && DLLTOOL=dlltool
test -z "$AS" && AS=as

Jason Merrill committed
400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416
# Check to see if we are using GCC.
if test "$with_gcc" != yes || test -z "$CC"; then
  # If CC is not set, then try to find GCC or a usable CC.
  if test -z "$CC"; then
    echo $ac_n "checking for gcc... $ac_c" 1>&6
    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}:"
    for dir in $PATH; do
      IFS="$save_ifs"
      test -z "$dir" && dir=.
      if test -f $dir/gcc; then
	CC="gcc"
	break
      fi
    done
    IFS="$save_ifs"

    if test -n "$CC"; then
#  
Jeff Law committed
417
      echo "$ac_t$CC" 1>&6
Jason Merrill committed
418
    else
#  
Jeff Law committed
419
      echo "$ac_t"no 1>&6
Jason Merrill committed
420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455
    fi
  fi

  # Not "gcc", so try "cc", rejecting "/usr/ucb/cc".
  if test -z "$CC"; then
    echo $ac_n "checking for cc... $ac_c" 1>&6
    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}:"
    cc_rejected=no
    for dir in $PATH; do
      test -z "$dir" && dir=.
      if test -f $dir/cc; then
	if test "$dir/cc" = "/usr/ucb/cc"; then
	  cc_rejected=yes
	  continue
	fi
	CC="cc"
	break
      fi
    done
    IFS="$save_ifs"
    if test $cc_rejected = yes; then
      # We found a bogon in the path, so make sure we never use it.
      set dummy $CC
      shift
      if test $# -gt 0; then
	# We chose a different compiler from the bogus one.
	# However, it has the same name, so the bogon will be chosen
	# first if we set CC to just the name; use the full file name.
	shift
	set dummy "$dir/cc" "$@"
	shift
	CC="$@"
      fi
    fi

    if test -n "$CC"; then
#  
Jeff Law committed
456
      echo "$ac_t$CC" 1>&6
Jason Merrill committed
457
    else
#  
Jeff Law committed
458
      echo "$ac_t"no 1>&6
Jason Merrill committed
459 460 461 462 463 464 465 466 467 468 469
    fi

    if test -z "$CC"; then
      echo "$progname: error: no acceptable cc found in \$PATH" 1>&2
      exit 1
    fi
  fi

  # Now see if the compiler is really GCC.
  with_gcc=no
  echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
470
  echo "$progname:470: checking whether we are using GNU C" >&5
Jason Merrill committed
471 472 473 474 475 476 477

  $rm conftest.c
  cat > conftest.c <<EOF
#ifdef __GNUC__
  yes;
#endif
EOF
478
  if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:478: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
Jason Merrill committed
479 480 481
    with_gcc=yes
  fi
  $rm conftest.c
#  
Jeff Law committed
482
  echo "$ac_t$with_gcc" 1>&6
Jason Merrill committed
483 484 485 486 487 488
fi

# Allow CC to be a program name with arguments.
set dummy $CC
compiler="$2"

489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510
echo $ac_n "checking for object suffix... $ac_c" 1>&6
$rm conftest*
echo 'int i = 1;' > conftest.c
echo "$progname:492: checking for object suffix" >& 5
if { (eval echo $progname:493: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then
  # Append any warnings to the config.log.
  cat conftest.err 1>&5

  for ac_file in conftest.*; do
    case $ac_file in
    *.c) ;;
    *) objext=`echo $ac_file | sed -e s/conftest.//` ;;
    esac
  done
else
  cat conftest.err 1>&5
  echo "$progname: failed program was:" >&5
  cat conftest.c >&5
fi
$rm conftest*
echo "$ac_t$objext" 1>&6

Jason Merrill committed
511 512 513 514 515
echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
pic_flag=
special_shlib_compile_flags=
wl=
link_static_flag=
#  
Jeff Law committed
516
no_builtin_flag=
Jason Merrill committed
517 518 519 520

if test "$with_gcc" = yes; then
  wl='-Wl,'
  link_static_flag='-static'
#  
Jeff Law committed
521 522 523 524 525 526
  no_builtin_flag=' -fno-builtin'

  case "$host_os" in
  aix3* | aix4* | irix5* | irix6* | osf3* | osf4*)
    # PIC is the default for these OSes.
    ;;
527
  cygwin32* | mingw32* | os2*)
#  
Jeff Law committed
528 529 530 531 532 533 534 535 536 537 538 539
    # We can build DLLs from non-PIC.
    ;;
  amigaos*)
    # FIXME: we need at least 68020 code to build shared libraries, but
    # adding the `-m68020' flag to GCC prevents building anything better,
    # like `-m68040'.
    pic_flag='-m68020 -resident32 -malways-restore-a4'
    ;;
  *)
    pic_flag='-fPIC'
    ;;
  esac
Jason Merrill committed
540 541 542 543
else
  # PORTME Check for PIC flags for the system compiler.
  case "$host_os" in
  aix3* | aix4*)
#  
Jeff Law committed
544
    # All AIX code is PIC.
Jason Merrill committed
545 546 547
    link_static_flag='-bnso -bI:/lib/syscalls.exp'
    ;;

#  
Jeff Law committed
548 549
  hpux9* | hpux10* | hpux11*)
    # Is there a better link_static_flag that works with the bundled CC?
Jason Merrill committed
550
    wl='-Wl,'
#  
Jeff Law committed
551
    link_static_flag="${wl}-a ${wl}archive"
Jason Merrill committed
552 553 554 555 556 557 558
    pic_flag='+Z'
    ;;

  irix5* | irix6*)
    wl='-Wl,'
    link_static_flag='-non_shared'
    # PIC (with -KPIC) is the default.
#  
Jeff Law committed
559 560
    ;;

561
  cygwin32* | mingw32* | os2*)
#  
Jeff Law committed
562
    # We can build DLLs from non-PIC.
Jason Merrill committed
563 564 565
    ;;

  osf3* | osf4*)
#  
Jeff Law committed
566
    # All OSF/1 code is PIC.
Jason Merrill committed
567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588
    wl='-Wl,'
    link_static_flag='-non_shared'
    ;;

  sco3.2v5*)
    pic_flag='-Kpic'
    link_static_flag='-dn'
    special_shlib_compile_flags='-belf'
    ;;

  solaris2*)
    pic_flag='-KPIC'
    link_static_flag='-Bstatic'
    wl='-Wl,'
    ;;

  sunos4*)
    pic_flag='-PIC'
    link_static_flag='-Bstatic'
    wl='-Qoption ld '
    ;;

#  
Jeff Law committed
589 590 591 592 593 594 595 596 597 598 599
  sysv4.2uw2*)
    pic_flag='-KPIC'
    link_static_flag='-Bstatic'
    wl='-Wl,'
    ;;

  uts4*)
    pic_flag='-pic'
    link_static_flag='-Bstatic'
    ;;

Jason Merrill committed
600 601 602 603 604 605 606
  *)
    can_build_shared=no
    ;;
  esac
fi

if test -n "$pic_flag"; then
#  
Jeff Law committed
607 608 609 610 611 612 613 614
  echo "$ac_t$pic_flag" 1>&6

  # Check to make sure the pic_flag actually works.
  echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6
  $rm conftest*
  echo "int some_variable = 0;" > conftest.c
  save_CFLAGS="$CFLAGS"
  CFLAGS="$CFLAGS $pic_flag -DPIC"
615 616
  echo "$progname:615: checking if $compiler PIC flag $pic_flag works" >&5
  if { (eval echo $progname:616: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then
#  
Jeff Law committed
617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639
    # Append any warnings to the config.log.
    cat conftest.err 1>&5

    # On HP-UX, both CC and GCC only warn that PIC is supported... then they
    # create non-PIC objects.  So, if there were any warnings, we assume that
    # PIC is not supported.
    if test -s conftest.err; then
      echo "$ac_t"no 1>&6
      can_build_shared=no
      pic_flag=
    else
      echo "$ac_t"yes 1>&6
      pic_flag=" $pic_flag"
    fi
  else
    # Append any errors to the config.log.
    cat conftest.err 1>&5
    can_build_shared=no
    pic_flag=
    echo "$ac_t"no 1>&6
  fi
  CFLAGS="$save_CFLAGS"
  $rm conftest*
Jason Merrill committed
640
else
#  
Jeff Law committed
641
  echo "$ac_t"none 1>&6
Jason Merrill committed
642 643 644 645 646 647 648 649 650 651 652 653
fi

# Check for any special shared library compilation flags.
if test -n "$special_shlib_compile_flags"; then
  echo "$progname: warning: \`$CC' requires \`$special_shlib_compile_flags' to build shared libraries" 1>&2
  if echo "$old_CC $old_CFLAGS " | egrep -e "[ 	]$special_shlib_compile_flags[ 	]" >/dev/null; then :
  else
    echo "$progname: add \`$special_shlib_compile_flags' to the CC or CFLAGS env variable and reconfigure" 1>&2
    can_build_shared=no
  fi
fi

#  
Jeff Law committed
654 655 656 657 658
echo $ac_n "checking if $compiler static flag $link_static_flag works... $ac_c" 1>&6
$rm conftest*
echo 'main(){return(0);}' > conftest.c
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $link_static_flag"
659 660
echo "$progname:659: checking if $compiler static flag $link_static_flag works" >&5
if { (eval echo $progname:660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
#  
Jeff Law committed
661
  echo "$ac_t$link_static_flag" 1>&6
Jason Merrill committed
662
else
#  
Jeff Law committed
663 664
  echo "$ac_t"none 1>&6
  link_static_flag=
Jason Merrill committed
665
fi
#  
Jeff Law committed
666 667
LDFLAGS="$save_LDFLAGS"
$rm conftest*
Jason Merrill committed
668 669 670 671

if test -z "$LN_S"; then
  # Check to see if we can use ln -s, or we need hard links.
  echo $ac_n "checking whether ln -s works... $ac_c" 1>&6
#  
Jeff Law committed
672
  $rm conftestdata
Jason Merrill committed
673
  if ln -s X conftestdata 2>/dev/null; then
#  
Jeff Law committed
674
    $rm conftestdata
Jason Merrill committed
675 676 677 678 679 680 681 682 683 684 685
    LN_S="ln -s"
  else
    LN_S=ln
  fi
  if test "$LN_S" = "ln -s"; then
    echo "$ac_t"yes 1>&6
  else
    echo "$ac_t"no 1>&6
  fi
fi

#  
Jeff Law committed
686 687 688 689 690 691
# Make sure LD is an absolute path.
if test -z "$LD"; then
  ac_prog=ld
  if test "$with_gcc" = yes; then
    # Check if gcc -print-prog-name=ld gives a path.
    echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
692
    echo "$progname:692: checking for ld used by GCC" >&5
#  
Jeff Law committed
693 694 695
    ac_prog=`($CC -print-prog-name=ld) 2>&5`
    case "$ac_prog" in
    # Accept absolute paths.
696
    /* | [A-Za-z]:[/\\]*)
#  
Jeff Law committed
697 698 699 700 701 702 703 704 705 706 707 708 709
      test -z "$LD" && LD="$ac_prog"
      ;;
    "")
      # If it fails, then pretend we are not using GCC.
      ac_prog=ld
      ;;
    *)
      # If it is relative, then search for the first ld in PATH.
      with_gnu_ld=unknown
      ;;
    esac
  elif test "$with_gnu_ld" = yes; then
    echo $ac_n "checking for GNU ld... $ac_c" 1>&6
710
    echo "$progname:710: checking for GNU ld" >&5
#  
Jeff Law committed
711 712
  else
    echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
713
    echo "$progname:713: checking for non-GNU ld" >&5
#  
Jeff Law committed
714
  fi
Jason Merrill committed
715

#  
Jeff Law committed
716
  if test -z "$LD"; then
Jason Merrill committed
717 718 719
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
    for ac_dir in $PATH; do
      test -z "$ac_dir" && ac_dir=.
#  
Jeff Law committed
720 721
      if test -f "$ac_dir/$ac_prog"; then
	LD="$ac_dir/$ac_prog"
Jason Merrill committed
722 723 724
	# Check to see if the program is GNU ld.  I'd rather use --version,
	# but apparently some GNU ld's only accept -v.
	# Break only if it was the GNU/non-GNU ld that we prefer.
#  
Jeff Law committed
725 726
	if "$LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
	  test "$with_gnu_ld" != no && break
Jason Merrill committed
727 728 729 730 731 732
	else
	  test "$with_gnu_ld" != yes && break
	fi
      fi
    done
    IFS="$ac_save_ifs"
#  
Jeff Law committed
733
  fi
Jason Merrill committed
734

#  
Jeff Law committed
735 736 737 738
  if test -n "$LD"; then
    echo "$ac_t$LD" 1>&6
  else
    echo "$ac_t"no 1>&6
Jason Merrill committed
739 740
  fi

#  
Jeff Law committed
741 742 743
  if test -z "$LD"; then
    echo "$progname: error: no acceptable ld found in \$PATH" 1>&2
    exit 1
Jason Merrill committed
744 745 746
  fi
fi

#  
Jeff Law committed
747 748 749 750 751 752 753 754 755 756
# Check to see if it really is or is not GNU ld.
echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6
# I'd rather use --version here, but apparently some GNU ld's only accept -v.
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
  with_gnu_ld=yes
else
  with_gnu_ld=no
fi
echo "$ac_t$with_gnu_ld" 1>&6

Jason Merrill committed
757 758 759 760
# See if the linker supports building shared libraries.
echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6

allow_undefined_flag=
#  
Jeff Law committed
761
no_undefined_flag=
Jason Merrill committed
762
archive_cmds=
#  
Jeff Law committed
763 764
old_archive_from_new_cmds=
export_dynamic_flag_spec=
765
whole_archive_flag_spec=
Jason Merrill committed
766 767 768 769 770 771
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
hardcode_direct=no
hardcode_minus_L=no
hardcode_shlibpath_var=unsupported
runpath_var=
772 773 774 775 776 777 778 779
fix_srcfile_path=

case "$host_os" in
aix3* | aix4*)
  # On AIX, the GNU linker works like the native linker.
  with_gnu_ld=no
  ;;
esac
Jason Merrill committed
780 781 782 783

ld_shlibs=yes
if test "$with_gnu_ld" = yes; then

#  
Jeff Law committed
784
  # See if GNU ld supports shared libraries.
Jason Merrill committed
785
  case "$host_os" in
#  
Jeff Law committed
786 787 788 789 790 791
  amigaos*)
    archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)'
    hardcode_libdir_flag_spec='-L$libdir'
    hardcode_minus_L=yes
    ;;

Jason Merrill committed
792
  sunos4*)
#  
Jeff Law committed
793
    archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
794 795 796 797 798 799
    hardcode_direct=yes
    # The GNU linker will only hardcode -L options if -rpath is not
    # used, but we will be using -rpath because we set
    # hardcode_libdir_flag_spec below.
    hardcode_minus_L=no
    hardcode_shlibpath_var=no
#  
Jeff Law committed
800 801
    ;;

802 803 804 805 806 807 808 809
  cygwin32* | mingw32*)
    if test "$with_gcc" = yes; then
      # hardcode_libdir_flag_spec is actually meaningless, as there is
      # no search path for DLLs.
      hardcode_libdir_flag_spec='-L$libdir'
      allow_undefined_flag=unsupported
      # Very, very bogus.
      echo '
#  
Jeff Law committed
810 811 812 813 814 815 816 817 818 819
#include <windows.h>

struct _reent *_impure_ptr;
extern struct _reent *__imp_reent_data;
BOOL APIENTRY
__dll_entry (HINSTANCE hinst, DWORD reason, LPVOID reserved)
{
  _impure_ptr = __imp_reent_data;
}
' > libtool.c
820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839
      archive_cmds='$CC -c '"`pwd`"'/libtool.c;echo EXPORTS > $soname-def;$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' >> $soname-def;$LD -s --base-file $soname-base --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD -s --base-file $soname-base $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$rm libtool.$objext $soname-base $soname-exp'
      old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $soname-def --output-lib $objdir/$libname.a;$rm $soname-def'
    else
      # When not using gcc, we currently assume that we are using
      # Microsoft Visual C++.
      with_gnu_ld=no
      # hardcode_libdir_flag_spec is actually meaningless, as there is
      # no search path for DLLs.
      hardcode_libdir_flag_spec=' '
      allow_undefined_flag=unsupported
      # Tell ltmain to make .lib files, not .a files.
      libext=lib
      # FIXME: Setting linknames here is a bad hack.
      archive_cmds='$CC -o $lib$libobjs`echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll;linknames='
      # The linker will automatically build a .lib file if we build a DLL.
      old_archive_from_new_cmds='true'
      # FIXME: Should let the user specify the lib program.
      old_archive_cmds='lib /OUT:$oldlib$oldobjs'
      fix_srcfile_path='`cygpath -w $srcfile`'
    fi
Jason Merrill committed
840 841 842 843
    ;;

  *)
    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
#  
Jeff Law committed
844
      archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs'
Jason Merrill committed
845 846 847 848 849 850
    else
      ld_shlibs=no
    fi
    ;;
  esac

851
  if test "$ld_shlibs" = yes && test "$with_gnu_ld" = yes; then
#  
Jeff Law committed
852 853 854
    runpath_var=LD_RUN_PATH
    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
    export_dynamic_flag_spec='${wl}--export-dynamic'
855
    whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
Jason Merrill committed
856 857 858 859 860 861
  fi
else
  # PORTME fill in a description of your system's linker (not GNU ld)
  case "$host_os" in
  aix3*)
    allow_undefined_flag=unsupported
#  
Jeff Law committed
862
    archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR cru $lib $objdir/$soname'
Jason Merrill committed
863 864 865
    # Note: this linker hardcodes the directories in LIBPATH if there
    # are no directories specified by -L.
    hardcode_minus_L=yes
#  
Jeff Law committed
866 867 868 869 870
    if test "$with_gcc" = yes && test -z "$link_static_flag"; then
      # Neither direct hardcoding nor static linking is supported with a
      # broken collect2.
      hardcode_direct=unsupported
    fi
Jason Merrill committed
871 872 873 874
    ;;

  aix4*)
    allow_undefined_flag=unsupported
#  
Jeff Law committed
875
    archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry;$AR cru $lib $objdir/$soname'
Jason Merrill committed
876 877 878 879
    hardcode_direct=yes
    hardcode_minus_L=yes
    ;;

#  
Jeff Law committed
880 881 882 883 884 885
  amigaos*)
    archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)'
    hardcode_libdir_flag_spec='-L$libdir'
    hardcode_minus_L=yes
    ;;

886 887 888 889 890 891 892 893
  cygwin32* | mingw32*)
    if test "$with_gcc" = yes; then
      # hardcode_libdir_flag_spec is actually meaningless, as there is
      # no search path for DLLs.
      hardcode_libdir_flag_spec='-L$libdir'
      allow_undefined_flag=unsupported
      # Very, very bogus.
      echo '
#  
Jeff Law committed
894 895 896 897 898 899 900 901 902 903
#include <windows.h>

struct _reent *_impure_ptr;
extern struct _reent *__imp_reent_data;
BOOL APIENTRY
__dll_entry (HINSTANCE hinst, DWORD reason, LPVOID reserved)
{
  _impure_ptr = __imp_reent_data;
}
' > libtool.c
904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922
      archive_cmds='$CC -c '"`pwd`"'/libtool.c;echo EXPORTS > $soname-def;$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' >> $soname-def;$LD -s --base-file $soname-base --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD -s --base-file $soname-base $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$DLLTOOL --as=$AS --dllname $soname --def $soname-def --base-file $soname-base --output-exp $soname-exp;$LD $soname-exp --dll -e ___dll_entry@12 -o $lib libtool.$objext$libobjs$deplibs;$rm libtool.$objext $soname-base $soname-exp'
      old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $soname-def --output-lib $objdir/$libname.a;$rm $soname-def'
    else
      # When not using gcc, we currently assume that we are using
      # Microsoft Visual C++.
      # hardcode_libdir_flag_spec is actually meaningless, as there is
      # no search path for DLLs.
      hardcode_libdir_flag_spec=' '
      allow_undefined_flag=unsupported
      # Tell ltmain to make .lib files, not .a files.
      libext=lib
      # FIXME: Setting linknames here is a bad hack.
      archive_cmds='$CC -o $lib$libobjs`echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll;linknames='
      # The linker will automatically build a .lib file if we build a DLL.
      old_archive_from_new_cmds='true'
      # FIXME: Should let the user specify the lib program.
      old_archive_cmds='lib /OUT:$oldlib$oldobjs'
      fix_srcfile_path='`cygpath -w $srcfile`'
    fi
#  
Jeff Law committed
923 924
    ;;

Jason Merrill committed
925 926
  # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
  # support.  Future versions do this automatically, but an explicit c++rt0.o
#  
Jeff Law committed
927
  # does not break anything, and helps significantly (at the cost of a little
Jason Merrill committed
928 929
  # extra space).
  freebsd2.2*)
#  
Jeff Law committed
930 931
    archive_cmds='$LD -Bshareable -o $lib$libobjs /usr/lib/c++rt0.o'
    hardcode_libdir_flag_spec='-R$libdir'
Jason Merrill committed
932 933 934 935 936
    hardcode_direct=yes
    hardcode_minus_L=yes
    hardcode_shlibpath_var=no
    ;;

#  
Jeff Law committed
937
  # Unfortunately, older versions of FreeBSD 2 do not have this feature.
Jason Merrill committed
938
  freebsd2*)
#  
Jeff Law committed
939
    archive_cmds='$LD -Bshareable -o $lib$libobjs'
Jason Merrill committed
940 941 942 943 944 945 946
    hardcode_direct=yes
    hardcode_minus_L=yes
    hardcode_shlibpath_var=no
    ;;

  # FreeBSD 3, at last, uses gcc -shared to do shared libraries.
  freebsd3*)
#  
Jeff Law committed
947 948
    archive_cmds='$CC -shared -o $lib$libobjs'
    hardcode_libdir_flag_spec='-R$libdir'
Jason Merrill committed
949
    hardcode_direct=yes
950
    hardcode_minus_L=no
Jason Merrill committed
951 952 953 954
    hardcode_shlibpath_var=no
    ;;

  hpux9*)
#  
Jeff Law committed
955
    archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs;mv $objdir/$soname $lib'
Jason Merrill committed
956 957 958
    hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
    hardcode_direct=yes
    hardcode_minus_L=yes
#  
Jeff Law committed
959
    export_dynamic_flag_spec='${wl}-E'
Jason Merrill committed
960 961
    ;;

#  
Jeff Law committed
962 963
  hpux10* | hpux11*)
    archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs'
Jason Merrill committed
964 965 966
    hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
    hardcode_direct=yes
    hardcode_minus_L=yes
#  
Jeff Law committed
967
    export_dynamic_flag_spec='${wl}-E'
Jason Merrill committed
968 969 970
    ;;

  irix5* | irix6*)
#  
Jeff Law committed
971 972 973 974 975
    if test "$with_gcc" = yes; then
      archive_cmds='$CC -shared -o $lib ${wl}-soname ${wl}$soname ${wl}-set_version ${wl}$verstring$libobjs'
    else
      archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs'
    fi
Jason Merrill committed
976 977 978
    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
    ;;

#  
Jeff Law committed
979
  netbsd*)
Jason Merrill committed
980
    # Tested with NetBSD 1.2 ld
#  
Jeff Law committed
981
    archive_cmds='$LD -Bshareable -o $lib$libobjs'
Jason Merrill committed
982 983 984 985 986
    hardcode_libdir_flag_spec='-R$libdir'
    hardcode_direct=yes
    hardcode_shlibpath_var=no
    ;;

#  
Jeff Law committed
987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001
  openbsd*)
    archive_cmds='$LD -Bshareable -o $lib$libobjs'
    hardcode_libdir_flag_spec='-R$libdir'
    hardcode_direct=yes
    hardcode_shlibpath_var=no
    ;;

  os2*)
    hardcode_libdir_flag_spec='-L$libdir'
    hardcode_minus_L=yes
    allow_undefined_flag=unsupported
    archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def;$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def;$echo DATA >> $objdir/$libname.def;$echo " SINGLE NONSHARED" >> $objdir/$libname.def;$echo EXPORTS >> $objdir/$libname.def;emxexp$libobjs >> $objdir/$libname.def;$CC -Zdll -Zcrtdll -o $lib$libobjs $objdir/$libname.def'
    old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def'
    ;;

Jason Merrill committed
1002
  osf3* | osf4*)
#  
Jeff Law committed
1003 1004
    allow_undefined_flag=' -expect_unresolved \*'
    archive_cmds='$LD -shared${allow_undefined_flag} -o $lib -soname $soname -set_version $verstring$libobjs$deplibs'
Jason Merrill committed
1005 1006 1007 1008 1009
    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
    hardcode_libdir_separator=:
    ;;

  sco3.2v5*)
#  
Jeff Law committed
1010
    archive_cmds='$LD -G -o $lib$libobjs'
Jason Merrill committed
1011 1012 1013 1014
    hardcode_direct=yes
    ;;

  solaris2*)
#  
Jeff Law committed
1015 1016
    no_undefined_flag=' -z text'
    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib$libobjs'
Jason Merrill committed
1017 1018
    hardcode_libdir_flag_spec='-R$libdir'
    hardcode_shlibpath_var=no
#  
Jeff Law committed
1019 1020 1021 1022 1023 1024 1025

    # Solaris 2 before 2.5 hardcodes -L paths.
    case "$host_os" in
    solaris2.[0-4]*)
      hardcode_minus_L=yes
      ;;
    esac
Jason Merrill committed
1026 1027 1028 1029 1030 1031 1032 1033 1034 1035
    ;;

  sunos4*)
    archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
    hardcode_libdir_flag_spec='-L$libdir'
    hardcode_direct=yes
    hardcode_minus_L=yes
    hardcode_shlibpath_var=no
    ;;

#  
Jeff Law committed
1036 1037 1038 1039 1040 1041 1042 1043
  uts4*)
    archive_cmds='$LD -G -h $soname -o $lib$libobjs'
    hardcode_libdir_flag_spec='-L$libdir'
    hardcode_direct=no
    hardcode_minus_L=no
    hardcode_shlibpath_var=no
    ;;

Jason Merrill committed
1044 1045 1046 1047 1048 1049
  *)
    ld_shlibs=no
    can_build_shared=no
    ;;
  esac
fi
#  
Jeff Law committed
1050 1051 1052 1053 1054
echo "$ac_t$ld_shlibs" 1>&6

if test -z "$NM"; then
  echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6
  case "$NM" in
1055
  /* | [A-Za-z]:[/\\]*) ;; # Let the user override the test with a path.
#  
Jeff Law committed
1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100
  *)
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
    for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/nm; then
        # Check to see if the nm accepts a BSD-compat flag.
        # Adding the `sed 1q' prevents false positives on HP-UX, which says:
        #   nm: unknown option "B" ignored
        if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
          NM="$ac_dir/nm -B"
        elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
          NM="$ac_dir/nm -p"
	else
          NM="$ac_dir/nm"
	fi
        break
      fi
    done
    IFS="$ac_save_ifs"
    test -z "$NM" && NM=nm
    ;;
  esac
  echo "$ac_t$NM" 1>&6
fi

# Check for command to grab the raw symbol name followed by C symbol from nm.
echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6

# These are sane defaults that work on at least a few old systems.
# [They come from Ultrix.  What could be older than Ultrix?!! ;)]

# Character class describing NM global symbol codes.
symcode='[BCDEGRSTU]'

# Regexp to match symbols that can be accessed directly from C.
sympat='\([_A-Za-z][_A-Za-z0-9]*\)'

# Transform the above into a raw symbol and a C symbol.
symxfrm='\1 \1'

# Define system-specific variables.
case "$host_os" in
aix*)
  symcode='[BCDTU]'
  ;;
1101
cygwin32* | mingw32*)
#  
Jeff Law committed
1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119
  sympat='_\([_A-Za-z][_A-Za-z0-9]*\)'
  symxfrm='_\1 \1'
  ;;
irix*)
  # Cannot use undefined symbols on IRIX because inlined functions mess us up.
  symcode='[BCDEGRST]'
  ;;
solaris2*)
  symcode='[BDTU]'
  ;;
esac

# If we're using GNU nm, then use its standard symbol codes.
if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
  symcode='[ABCDGISTUW]'
fi

case "$host_os" in
1120
cygwin32* | mingw32*)
#  
Jeff Law committed
1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144
  # We do not want undefined symbols on cygwin32.  The user must
  # arrange to define them via -l arguments.
  symcode='[ABCDGISTW]'
  ;;
esac

# Write the raw and C identifiers.
global_symbol_pipe="sed -n -e 's/^.* $symcode $sympat$/$symxfrm/p'"

# Check to see that the pipe works correctly.
pipe_works=no
$rm conftest*
cat > conftest.c <<EOF
#ifdef __cplusplus
extern "C" {
#endif
char nm_test_var;
void nm_test_func(){}
#ifdef __cplusplus
}
#endif
main(){nm_test_var='a';nm_test_func();return(0);}
EOF

1145 1146
echo "$progname:1145: checking if global_symbol_pipe works" >&5
if { (eval echo $progname:1146: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
#  
Jeff Law committed
1147 1148
  # Now try to grab the symbols.
  nlist=conftest.nm
1149
  if { echo "$progname:1149: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
#  
Jeff Law committed
1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201

    # Try sorting and uniquifying the output.
    if sort "$nlist" | uniq > "$nlist"T; then
      mv -f "$nlist"T "$nlist"
      wcout=`wc "$nlist" 2>/dev/null`
      count=`$echo "X$wcout" | $Xsed -e 's/^[ 	]*\([0-9][0-9]*\).*$/\1/'`
      (test "$count" -ge 0) 2>/dev/null || count=-1
    else
      rm -f "$nlist"T
      count=-1
    fi

    # Make sure that we snagged all the symbols we need.
    if egrep ' nm_test_var$' "$nlist" >/dev/null; then
      if egrep ' nm_test_func$' "$nlist" >/dev/null; then
	cat <<EOF > conftest.c
#ifdef __cplusplus
extern "C" {
#endif

EOF
        # Now generate the symbol file.
        sed 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> conftest.c

	cat <<EOF >> conftest.c
#if defined (__STDC__) && __STDC__
# define __ptr_t void *
#else
# define __ptr_t char *
#endif

/* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */
int dld_preloaded_symbol_count = $count;

/* The mapping between symbol names and symbols. */
struct {
  char *name;
  __ptr_t address;
}
dld_preloaded_symbols[] =
{
EOF
        sed 's/^\(.*\) \(.*\)$/  {"\1", (__ptr_t) \&\2},/' < "$nlist" >> conftest.c
        cat <<\EOF >> conftest.c
  {0, (__ptr_t) 0}
};

#ifdef __cplusplus
}
#endif
EOF
        # Now try linking the two files.
1202
        mv conftest.$objext conftestm.$objext
#  
Jeff Law committed
1203 1204
	save_LIBS="$LIBS"
	save_CFLAGS="$CFLAGS"
1205
        LIBS="conftestm.$objext"
#  
Jeff Law committed
1206
	CFLAGS="$CFLAGS$no_builtin_flag"
1207
        if { (eval echo $progname:1207: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
#  
Jeff Law committed
1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231
          pipe_works=yes
        else
          echo "$progname: failed program was:" >&5
          cat conftest.c >&5
        fi
        LIBS="$save_LIBS"
      else
        echo "cannot find nm_test_func in $nlist" >&5
      fi
    else
      echo "cannot find nm_test_var in $nlist" >&5
    fi
  else
    echo "cannot run $global_symbol_pipe" >&5
  fi
else
  echo "$progname: failed program was:" >&5
  cat conftest.c >&5
fi
$rm conftest*

# Do not use the global_symbol_pipe unless it works.
echo "$ac_t$pipe_works" 1>&6
test "$pipe_works" = yes || global_symbol_pipe=
Jason Merrill committed
1232 1233 1234 1235 1236

# Check hardcoding attributes.
echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6
hardcode_action=
if test -n "$hardcode_libdir_flag_spec" || \
#  
Jeff Law committed
1237
   test -n "$runpath_var"; then
Jason Merrill committed
1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250

  # We can hardcode non-existant directories.
  if test "$hardcode_direct" != no && \
     test "$hardcode_minus_L" != no && \
     test "$hardcode_shlibpath_var" != no; then

    # Linking always hardcodes the temporary library directory.
    hardcode_action=relink
  else
    # We can link without hardcoding, and we can hardcode nonexisting dirs.
    hardcode_action=immediate
  fi
else
#  
Jeff Law committed
1251 1252 1253
  # We cannot hardcode anything, or else we can only hardcode existing
  # directories.
  hardcode_action=unsupported
Jason Merrill committed
1254
fi
#  
Jeff Law committed
1255
echo "$ac_t$hardcode_action" 1>&6
Jason Merrill committed
1256 1257 1258 1259 1260


reload_flag=
reload_cmds='$LD$reload_flag -o $output$reload_objs'
echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6
#  
Jeff Law committed
1261
# PORTME Some linkers may need a different reload flag.
Jason Merrill committed
1262
reload_flag='-r'
#  
Jeff Law committed
1263
echo "$ac_t$reload_flag" 1>&6
Jason Merrill committed
1264 1265 1266 1267
test -n "$reload_flag" && reload_flag=" $reload_flag"

# PORTME Fill in your ld.so characteristics
library_names_spec=
#  
Jeff Law committed
1268
libname_spec='lib$name'
Jason Merrill committed
1269 1270
soname_spec=
postinstall_cmds=
#  
Jeff Law committed
1271
postuninstall_cmds=
Jason Merrill committed
1272
finish_cmds=
#  
Jeff Law committed
1273
finish_eval=
Jason Merrill committed
1274 1275 1276 1277 1278 1279 1280 1281
shlibpath_var=
version_type=none
dynamic_linker="$host_os ld.so"

echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
case "$host_os" in
aix3* | aix4*)
  version_type=linux
#  
Jeff Law committed
1282
  library_names_spec='${libname}${release}.so$versuffix $libname.a'
Jason Merrill committed
1283 1284 1285
  shlibpath_var=LIBPATH

  # AIX has no versioning support, so we append a major version to the name.
#  
Jeff Law committed
1286 1287 1288 1289 1290 1291 1292 1293 1294
  soname_spec='${libname}${release}.so$major'
  ;;

amigaos*)
  library_names_spec='$libname.ixlibrary $libname.a'
  # Create ${libname}_ixlibrary.a entries in /sys/libs.
  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
  ;;

1295
cygwin32* | mingw32*)
#  
Jeff Law committed
1296
  version_type=windows
1297 1298 1299 1300 1301
  if test "$with_gcc" = yes; then
    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.a'
  else
    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib'
  fi
#  
Jeff Law committed
1302 1303
  dynamic_linker='Win32 ld.exe'
  shlibpath_var=PATH
Jason Merrill committed
1304 1305 1306 1307
  ;;

freebsd2* | freebsd3*)
  version_type=sunos
#  
Jeff Law committed
1308
  library_names_spec='${libname}${release}.so$versuffix $libname.so'
Jason Merrill committed
1309 1310 1311 1312 1313
  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
  shlibpath_var=LD_LIBRARY_PATH
  ;;

gnu*)
1314 1315
  version_type=linux
  library_names_spec='${libname}${release}.so$versuffix ${libname}.so'
Jason Merrill committed
1316 1317 1318
  shlibpath_var=LD_LIBRARY_PATH
  ;;

#  
Jeff Law committed
1319
hpux9* | hpux10* | hpux11*)
Jason Merrill committed
1320 1321 1322 1323 1324
  # Give a soname corresponding to the major version so that dld.sl refuses to
  # link against other versions.
  dynamic_linker="$host_os dld.sl"
  version_type=sunos
  shlibpath_var=SHLIB_PATH
#  
Jeff Law committed
1325 1326
  library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
  soname_spec='${libname}${release}.sl$major'
Jason Merrill committed
1327 1328 1329 1330 1331 1332
  # HP-UX runs *really* slowly unless shared libraries are mode 555.
  postinstall_cmds='chmod 555 $lib'
  ;;

irix5* | irix6*)
  version_type=osf
#  
Jeff Law committed
1333 1334
  soname_spec='${libname}${release}.so'
  library_names_spec='${libname}${release}.so$versuffix $libname.so'
Jason Merrill committed
1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345
  shlibpath_var=LD_LIBRARY_PATH
  ;;

# No shared lib support for Linux oldld, aout, or coff.
linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
  dynamic_linker=no
  ;;

# This must be Linux ELF.
linux-gnu*)
  version_type=linux
#  
Jeff Law committed
1346 1347
  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
  soname_spec='${libname}${release}.so$major'
Jason Merrill committed
1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363
  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
  shlibpath_var=LD_LIBRARY_PATH

  if test -f /lib/ld.so.1; then
    dynamic_linker='GNU ld.so'
  else
    # Only the GNU ld.so supports shared libraries on MkLinux.
    case "$host_cpu" in
    powerpc*) dynamic_linker=no ;;
    *) dynamic_linker='Linux ld.so' ;;
    esac
  fi
  ;;

netbsd* | openbsd*)
  version_type=sunos
#  
Jeff Law committed
1364
  library_names_spec='${libname}${release}.so$versuffix'
Jason Merrill committed
1365 1366 1367 1368
  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
  shlibpath_var=LD_LIBRARY_PATH
  ;;

#  
Jeff Law committed
1369 1370 1371 1372 1373 1374 1375
os2*)
  libname_spec='$name'
  library_names_spec='$libname.dll $libname.a'
  dynamic_linker='OS/2 ld.exe'
  shlibpath_var=LIBPATH
  ;;

Jason Merrill committed
1376 1377
osf3* | osf4*)
  version_type=osf
#  
Jeff Law committed
1378 1379
  soname_spec='${libname}${release}.so'
  library_names_spec='${libname}${release}.so$versuffix $libname.so'
Jason Merrill committed
1380 1381 1382 1383 1384
  shlibpath_var=LD_LIBRARY_PATH
  ;;

sco3.2v5*)
  version_type=osf
#  
Jeff Law committed
1385 1386
  soname_spec='${libname}${release}.so$major'
  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
Jason Merrill committed
1387 1388 1389 1390 1391
  shlibpath_var=LD_LIBRARY_PATH
  ;;

solaris2*)
  version_type=linux
#  
Jeff Law committed
1392 1393
  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
  soname_spec='${libname}${release}.so$major'
Jason Merrill committed
1394
  shlibpath_var=LD_LIBRARY_PATH
1395 1396
  # ldd complains unless libraries are executable
  postinstall_cmds='chmod +x $lib'
Jason Merrill committed
1397 1398 1399 1400
  ;;

sunos4*)
  version_type=sunos
1401
  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
Jason Merrill committed
1402 1403 1404 1405
  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
  shlibpath_var=LD_LIBRARY_PATH
  ;;

#  
Jeff Law committed
1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419
sysv4.2uw2*)
  version_type=linux
  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
  soname_spec='${libname}${release}.so$major'
  shlibpath_var=LD_LIBRARY_PATH
  ;;

uts4*)
  version_type=linux
  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
  soname_spec='${libname}${release}.so$major'
  shlibpath_var=LD_LIBRARY_PATH
  ;;

Jason Merrill committed
1420 1421 1422 1423
*)
  dynamic_linker=no
  ;;
esac
#  
Jeff Law committed
1424
echo "$ac_t$dynamic_linker"
Jason Merrill committed
1425 1426
test "$dynamic_linker" = no && can_build_shared=no

#  
Jeff Law committed
1427
# Report the final consequences.
Jason Merrill committed
1428 1429 1430 1431 1432
echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6

echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6
test "$can_build_shared" = "no" && enable_shared=no

#  
Jeff Law committed
1433 1434
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
Jason Merrill committed
1435 1436 1437 1438 1439 1440 1441 1442 1443 1444
case "$host_os" in
aix*)
  test "$enable_shared" = yes && enable_static=no
  if test -n "$RANLIB"; then
    archive_cmds="$archive_cmds;\$RANLIB \$lib"
    postinstall_cmds='$RANLIB $lib'
  fi
  ;;
esac

#  
Jeff Law committed
1445
echo "$ac_t$enable_shared" 1>&6
Jason Merrill committed
1446 1447 1448 1449 1450 1451

# Make sure either enable_shared or enable_static is yes.
test "$enable_shared" = yes || enable_static=yes

echo "checking whether to build static libraries... $enable_static" 1>&6

#  
Jeff Law committed
1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471
echo $ac_n "checking for objdir... $ac_c" 1>&6
rm -f .libs 2>/dev/null
mkdir .libs 2>/dev/null
if test -d .libs; then
  objdir=.libs
else
  # MS-DOS does not allow filenames that begin with a dot.
  objdir=_libs
fi
rmdir .libs 2>/dev/null
echo "$ac_t$objdir" 1>&6

# Copy echo and quote the copy, instead of the original, because it is
# used later.
ltecho="$echo"

# Now quote all the things that may contain metacharacters.
for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
  old_LN_S old_DLLTOOL old_AS AR CC LD LN_S NM DLLTOOL AS reload_flag \
  reload_cmds wl pic_flag link_static_flag no_builtin_flag \
1472 1473
  export_dynamic_flag_spec whole_archive_flag_spec libname_spec \
  library_names_spec soname_spec RANLIB \
#  
Jeff Law committed
1474 1475
  old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
  old_postuninstall_cmds archive_cmds postinstall_cmds postuninstall_cmds \
1476 1477
  allow_undefined_flag no_undefined_flag objext libext \
  finish_cmds finish_eval global_symbol_pipe fix_srcfile_path \
#  
Jeff Law committed
1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491
  hardcode_libdir_flag_spec hardcode_libdir_separator; do

  case "$var" in
  reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
  old_postinstall_cmds | old_postuninstall_cmds | archive_cmds | \
  postinstall_cmds | postuninstall_cmds | finish_cmds)
    # Double-quote double-evaled strings.
    eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`"
    ;;
  *)
    eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`"
    ;;
  esac
done
Jason Merrill committed
1492

#  
Jeff Law committed
1493 1494 1495 1496 1497 1498 1499
trap "$rm \"$ofile\"; exit 1" 1 2 15
echo "creating $ofile"
$rm "$ofile"
cat <<EOF > "$ofile"
#! $SHELL

# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
Jason Merrill committed
1500
# Generated automatically by $PROGRAM - GNU $PACKAGE $VERSION
#  
Jeff Law committed
1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533
# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
#
# Copyright (C) 1996-1998 Free Software Foundation, Inc.
# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.

# Sed that helps us avoid accidentally triggering echo(1) options like -n.
Xsed="sed -e s/^X//"

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
if test "\${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi

### BEGIN LIBTOOL CONFIG
# Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
Jason Merrill committed
1534 1535
#
# CC="$old_CC" CFLAGS="$old_CFLAGS" CPPFLAGS="$old_CPPFLAGS" \\
#  
Jeff Law committed
1536 1537
# LD="$old_LD" NM="$old_NM" RANLIB="$old_RANLIB" LN_S="$old_LN_S" \\
# DLLTOOL="$old_DLLTOOL" AS="$old_AS" \\
Jason Merrill committed
1538 1539 1540 1541 1542 1543 1544 1545
#   $0$ltconfig_args
#
# Compiler and other test output produced by $progname, useful for
# debugging $progname, is in ./config.log if it exists.

# The version of $progname that generated this script.
LTCONFIG_VERSION="$VERSION"

#  
Jeff Law committed
1546 1547 1548 1549
# Shell to use when invoking shell scripts.
SHELL="$SHELL"

# Whether or not to build shared libraries.
Jason Merrill committed
1550 1551
build_libtool_libs=$enable_shared

#  
Jeff Law committed
1552
# Whether or not to build static libraries.
Jason Merrill committed
1553 1554 1555 1556 1557 1558
build_old_libs=$enable_static

# The host system.
host_alias="$host_alias"
host="$host"

#  
Jeff Law committed
1559 1560 1561
# An echo program that does not interpret backslashes.
echo="$ltecho"

Jason Merrill committed
1562
# The archiver.
#  
Jeff Law committed
1563 1564 1565 1566
AR="$AR"

# The default C compiler.
CC="$CC"
Jason Merrill committed
1567 1568

# The linker used to build libraries.
#  
Jeff Law committed
1569
LD="$LD"
Jason Merrill committed
1570 1571

# Whether we need hard or soft links.
#  
Jeff Law committed
1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584
LN_S="$LN_S"

# A BSD-compatible nm program.
NM="$NM"

# Used on cygwin32: DLL creation program.
DLLTOOL="$DLLTOOL"

# Used on cygwin32: assembler.
AS="$AS"

# The name of the directory that contains temporary libtool files.
objdir="$objdir"
Jason Merrill committed
1585 1586

# How to create reloadable object files.
#  
Jeff Law committed
1587 1588
reload_flag="$reload_flag"
reload_cmds="$reload_cmds"
Jason Merrill committed
1589 1590

# How to pass a linker flag through the compiler.
#  
Jeff Law committed
1591
wl="$wl"
Jason Merrill committed
1592

1593 1594 1595 1596 1597 1598
# Object file suffix (normally "o").
objext="$objext"

# Old archive suffix (normally "a").
libext="$libext"

Jason Merrill committed
1599
# Additional compiler flags for building library objects.
#  
Jeff Law committed
1600
pic_flag="$pic_flag"
Jason Merrill committed
1601 1602

# Compiler flag to prevent dynamic linking.
#  
Jeff Law committed
1603
link_static_flag="$link_static_flag"
Jason Merrill committed
1604

#  
Jeff Law committed
1605 1606
# Compiler flag to turn off builtin functions.
no_builtin_flag="$no_builtin_flag"
Jason Merrill committed
1607

#  
Jeff Law committed
1608 1609
# Compiler flag to allow reflexive dlopens.
export_dynamic_flag_spec="$export_dynamic_flag_spec"
Jason Merrill committed
1610

1611 1612 1613
# Compiler flag to generate shared objects directly from archives.
whole_archive_flag_spec="$whole_archive_flag_spec"

Jason Merrill committed
1614 1615 1616
# Library versioning type.
version_type=$version_type

#  
Jeff Law committed
1617 1618 1619
# Format of library name prefix.
libname_spec="$libname_spec"

Jason Merrill committed
1620 1621
# List of archive names.  First name is the real one, the rest are links.
# The last name is the one that the linker finds with -lNAME.
#  
Jeff Law committed
1622
library_names_spec="$library_names_spec"
Jason Merrill committed
1623 1624

# The coded name of the library, if different from the real name.
#  
Jeff Law committed
1625
soname_spec="$soname_spec"
Jason Merrill committed
1626 1627

# Commands used to build and install an old-style archive.
#  
Jeff Law committed
1628 1629 1630 1631 1632 1633 1634
RANLIB="$RANLIB"
old_archive_cmds="$old_archive_cmds"
old_postinstall_cmds="$old_postinstall_cmds"
old_postuninstall_cmds="$old_postuninstall_cmds"

# Create an old-style archive from a shared archive.
old_archive_from_new_cmds="$old_archive_from_new_cmds"
Jason Merrill committed
1635 1636

# Commands used to build and install a shared archive.
#  
Jeff Law committed
1637 1638 1639
archive_cmds="$archive_cmds"
postinstall_cmds="$postinstall_cmds"
postuninstall_cmds="$postuninstall_cmds"
Jason Merrill committed
1640 1641

# Flag that allows shared libraries with undefined symbols to be built.
#  
Jeff Law committed
1642 1643 1644 1645
allow_undefined_flag="$allow_undefined_flag"

# Flag that forces no undefined symbols.
no_undefined_flag="$no_undefined_flag"
Jason Merrill committed
1646 1647

# Commands used to finish a libtool library installation in a directory.
#  
Jeff Law committed
1648 1649 1650 1651
finish_cmds="$finish_cmds"

# Same as above, but a single script fragment to be evaled but not shown.
finish_eval="$finish_eval"
Jason Merrill committed
1652

#  
Jeff Law committed
1653 1654
# Take the output of nm and produce a listing of raw symbols and C names.
global_symbol_pipe="$global_symbol_pipe"
Jason Merrill committed
1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666

# This is the shared library runtime path variable.
runpath_var=$runpath_var

# This is the shared library path variable.
shlibpath_var=$shlibpath_var

# How to hardcode a shared library path into an executable.
hardcode_action=$hardcode_action

# Flag to hardcode \$libdir into a binary during linking.
# This must work even if \$libdir does not exist.
#  
Jeff Law committed
1667
hardcode_libdir_flag_spec="$hardcode_libdir_flag_spec"
Jason Merrill committed
1668 1669

# Whether we need a single -rpath flag with a separated argument.
#  
Jeff Law committed
1670
hardcode_libdir_separator="$hardcode_libdir_separator"
Jason Merrill committed
1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682

# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
# resulting binary.
hardcode_direct=$hardcode_direct

# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
# resulting binary.
hardcode_minus_L=$hardcode_minus_L

# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
# the resulting binary.
hardcode_shlibpath_var=$hardcode_shlibpath_var
1683 1684 1685

# Fix the shell variable \$srcfile for the compiler.
fix_srcfile_path="$fix_srcfile_path"
Jason Merrill committed
1686 1687
EOF

#  
Jeff Law committed
1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699
case "$host_os" in
aix3*)
  cat <<\EOF >> "$ofile"

# AIX sometimes has problems with the GCC collect2 program.  For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
if test "${COLLECT_NAMES+set}" != set; then
  COLLECT_NAMES=
  export COLLECT_NAMES
fi
EOF
Jason Merrill committed
1700 1701 1702
  ;;
esac

#  
Jeff Law committed
1703 1704 1705 1706 1707
echo '### END LIBTOOL CONFIG' >> "$ofile"
echo >> "$ofile"

# Append the ltmain.sh script.
cat "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1)
Jason Merrill committed
1708

#  
Jeff Law committed
1709
chmod +x "$ofile"
Jason Merrill committed
1710 1711 1712 1713 1714 1715
exit 0

# Local Variables:
# mode:shell-script
# sh-indentation:2
# End: