ltconfig 46.7 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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
# Check that we are running under the correct shell.
SHELL=${CONFIG_SHELL-/bin/sh}
if test "X$1" = "X--no-reexec"; then
  # Discard the --no-reexec flag, and continue.
  shift
elif test "X$SHELL" != X/bin/sh; then
  # 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

echo=echo
if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
else
  # 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'
#    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+"$@"}
    else
      # Try using printf.
      echo='printf %s\n'
      if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
      else
        # 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
89
# The name of this program.
#  
Jeff Law committed
90
progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
Jason Merrill committed
91 92 93 94

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

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

# Global variables:
#  
Jeff Law committed
103
default_ofile=libtool
Jason Merrill committed
104 105 106 107 108 109 110 111 112 113 114
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
115
ofile="$default_ofile"
Jason Merrill committed
116 117 118 119 120 121 122 123 124 125
verify_host=yes
with_gcc=no
with_gnu_ld=no

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

# 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
154
    --debug                enable verbose shell tracing
Jason Merrill committed
155 156 157 158
    --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
159
-o, --output=FILE          specify the output file [default=$default_ofile]
Jason Merrill committed
160
    --quiet                same as \`--silent'
#  
Jeff Law committed
161
    --silent               do not print informational messages
Jason Merrill committed
162 163 164 165 166 167 168 169 170 171 172 173 174
    --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
175 176 177 178 179
  --debug)
    echo "$progname: enabling shell trace mode"
    set -x
    ;;

Jason Merrill committed
180 181 182 183 184 185 186 187 188 189 190
  --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
191 192 193
  --output | -o) prev=ofile ;;
  --output=*) ofile="$optarg" ;;

Jason Merrill committed
194 195 196 197 198 199 200 201 202 203 204 205 206 207 208
  --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
209
# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
Jason Merrill committed
210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229
#      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

if test -f "$ltmain"; then :
else
#  
Jeff Law committed
230 231 232
  echo "$progname: \`$ltmain' does not exist" 1>&2
  echo "$help" 1>&2
  exit 1
Jason Merrill committed
233 234 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
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
284
  srcdir=`$echo "$ltmain" | $Xsed -e 's%/[^/]*$%%'`
Jason Merrill committed
285 286 287
  test "$srcdir" = "$ltmain" && srcdir=.
fi

#  
Jeff Law committed
288
trap "$rm conftest*; exit 1" 1 2 15
Jason Merrill committed
289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326
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.
  if $ac_config_sub sun4 >/dev/null 2>&1; then :
  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
  "")
    if host_alias=`$ac_config_guess`; then :
    else
      echo "$progname: cannot guess host type; you must specify one" 1>&2
      echo "$help" 1>&2
      exit 1
    fi ;;
  esac
  host=`$ac_config_sub $host_alias`
#  
Jeff Law committed
327 328 329 330
  echo "$ac_t$host" 1>&6

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

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
340 341 342 343
# 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
344 345 346 347 348 349
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
350 351 352 353 354 355 356 357 358 359 360 361
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
362 363 364
# Determine commands to create old-style static archives.
old_archive_cmds='$AR cru $oldlib$oldobjs'
old_postinstall_cmds='chmod 644 $oldlib'
#  
Jeff Law committed
365 366 367 368
old_postuninstall_cmds=

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

# 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
386
  echo "$ac_t$result" 1>&6
Jason Merrill committed
387 388 389 390
fi

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

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

Jason Merrill committed
398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414
# 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
415
      echo "$ac_t$CC" 1>&6
Jason Merrill committed
416
    else
#  
Jeff Law committed
417
      echo "$ac_t"no 1>&6
Jason Merrill committed
418 419 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
    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
454
      echo "$ac_t$CC" 1>&6
Jason Merrill committed
455
    else
#  
Jeff Law committed
456
      echo "$ac_t"no 1>&6
Jason Merrill committed
457 458 459 460 461 462 463 464 465 466 467
    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
#  
Jeff Law committed
468
  echo "$progname:468: checking whether we are using GNU C" >&5
Jason Merrill committed
469 470 471 472 473 474 475

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

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

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
492
no_builtin_flag=
Jason Merrill committed
493 494 495 496

if test "$with_gcc" = yes; then
  wl='-Wl,'
  link_static_flag='-static'
#  
Jeff Law committed
497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515
  no_builtin_flag=' -fno-builtin'

  case "$host_os" in
  aix3* | aix4* | irix5* | irix6* | osf3* | osf4*)
    # PIC is the default for these OSes.
    ;;
  cygwin32* | os2*)
    # 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
516 517 518 519
else
  # PORTME Check for PIC flags for the system compiler.
  case "$host_os" in
  aix3* | aix4*)
#  
Jeff Law committed
520
    # All AIX code is PIC.
Jason Merrill committed
521 522 523
    link_static_flag='-bnso -bI:/lib/syscalls.exp'
    ;;

#  
Jeff Law committed
524 525
  hpux9* | hpux10* | hpux11*)
    # Is there a better link_static_flag that works with the bundled CC?
Jason Merrill committed
526
    wl='-Wl,'
#  
Jeff Law committed
527
    link_static_flag="${wl}-a ${wl}archive"
Jason Merrill committed
528 529 530 531 532 533 534
    pic_flag='+Z'
    ;;

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

  cygwin32* | os2*)
    # We can build DLLs from non-PIC.
Jason Merrill committed
539 540 541
    ;;

  osf3* | osf4*)
#  
Jeff Law committed
542
    # All OSF/1 code is PIC.
Jason Merrill committed
543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564
    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
565 566 567 568 569 570 571 572 573 574 575
  sysv4.2uw2*)
    pic_flag='-KPIC'
    link_static_flag='-Bstatic'
    wl='-Wl,'
    ;;

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

Jason Merrill committed
576 577 578 579 580 581 582
  *)
    can_build_shared=no
    ;;
  esac
fi

if test -n "$pic_flag"; then
#  
Jeff Law committed
583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615
  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"
  echo "$progname:591: checking if $compiler PIC flag $pic_flag works" >&5
  if { (eval echo $progname:592: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
    # 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
616
else
#  
Jeff Law committed
617
  echo "$ac_t"none 1>&6
Jason Merrill committed
618 619 620 621 622 623 624 625 626 627 628 629
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
630 631 632 633 634 635 636 637
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"
echo "$progname:635: checking if $compiler static flag $link_static_flag works" >&5
if { (eval echo $progname:636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
  echo "$ac_t$link_static_flag" 1>&6
Jason Merrill committed
638
else
#  
Jeff Law committed
639 640
  echo "$ac_t"none 1>&6
  link_static_flag=
Jason Merrill committed
641
fi
#  
Jeff Law committed
642 643
LDFLAGS="$save_LDFLAGS"
$rm conftest*
Jason Merrill committed
644 645 646 647

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
648
  $rm conftestdata
Jason Merrill committed
649
  if ln -s X conftestdata 2>/dev/null; then
#  
Jeff Law committed
650
    $rm conftestdata
Jason Merrill committed
651 652 653 654 655 656 657 658 659 660 661
    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
662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690
# 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
    echo "$progname:668: checking for ld used by GCC" >&5
    ac_prog=`($CC -print-prog-name=ld) 2>&5`
    case "$ac_prog" in
    # Accept absolute paths.
    /* | [A-Za-z]:\\*)
      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
    echo "$progname:686: checking for GNU ld" >&5
  else
    echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
    echo "$progname:689: checking for non-GNU ld" >&5
  fi
Jason Merrill committed
691

#  
Jeff Law committed
692
  if test -z "$LD"; then
Jason Merrill committed
693 694 695
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
    for ac_dir in $PATH; do
      test -z "$ac_dir" && ac_dir=.
#  
Jeff Law committed
696 697
      if test -f "$ac_dir/$ac_prog"; then
	LD="$ac_dir/$ac_prog"
Jason Merrill committed
698 699 700
	# 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
701 702
	if "$LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
	  test "$with_gnu_ld" != no && break
Jason Merrill committed
703 704 705 706 707 708
	else
	  test "$with_gnu_ld" != yes && break
	fi
      fi
    done
    IFS="$ac_save_ifs"
#  
Jeff Law committed
709
  fi
Jason Merrill committed
710

#  
Jeff Law committed
711 712 713 714
  if test -n "$LD"; then
    echo "$ac_t$LD" 1>&6
  else
    echo "$ac_t"no 1>&6
Jason Merrill committed
715 716
  fi

#  
Jeff Law committed
717 718 719
  if test -z "$LD"; then
    echo "$progname: error: no acceptable ld found in \$PATH" 1>&2
    exit 1
Jason Merrill committed
720 721 722
  fi
fi

#  
Jeff Law committed
723 724 725 726 727 728 729 730 731 732
# 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
733 734 735 736
# 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
737
no_undefined_flag=
Jason Merrill committed
738
archive_cmds=
#  
Jeff Law committed
739 740
old_archive_from_new_cmds=
export_dynamic_flag_spec=
Jason Merrill committed
741 742 743 744 745 746 747 748 749 750
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
hardcode_direct=no
hardcode_minus_L=no
hardcode_shlibpath_var=unsupported
runpath_var=

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

#  
Jeff Law committed
751
  # See if GNU ld supports shared libraries.
Jason Merrill committed
752
  case "$host_os" in
#  
Jeff Law committed
753 754 755 756 757 758
  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
759
  sunos4*)
#  
Jeff Law committed
760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781
    archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
    ;;

  cygwin32*)
    # 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 '
#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
    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.o$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.o$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.o$libobjs$deplibs;$rm libtool.o $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'
Jason Merrill committed
782 783 784 785
    ;;

  *)
    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
#  
Jeff Law committed
786
      archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs'
Jason Merrill committed
787 788 789 790 791 792 793
    else
      ld_shlibs=no
    fi
    ;;
  esac

  if test "$ld_shlibs" = yes; then
#  
Jeff Law committed
794 795 796
    runpath_var=LD_RUN_PATH
    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
    export_dynamic_flag_spec='${wl}--export-dynamic'
Jason Merrill committed
797 798 799 800 801 802
  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
803
    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
804 805 806
    # Note: this linker hardcodes the directories in LIBPATH if there
    # are no directories specified by -L.
    hardcode_minus_L=yes
#  
Jeff Law committed
807 808 809 810 811
    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
812 813 814 815
    ;;

  aix4*)
    allow_undefined_flag=unsupported
#  
Jeff Law committed
816
    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
817 818 819 820
    hardcode_direct=yes
    hardcode_minus_L=yes
    ;;

#  
Jeff Law committed
821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847
  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
    ;;

  cygwin32*)
    # 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 '
#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
    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.o$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.o$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.o$libobjs$deplibs;$rm libtool.o $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'
    ;;

Jason Merrill committed
848 849
  # 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
850
  # does not break anything, and helps significantly (at the cost of a little
Jason Merrill committed
851 852
  # extra space).
  freebsd2.2*)
#  
Jeff Law committed
853 854
    archive_cmds='$LD -Bshareable -o $lib$libobjs /usr/lib/c++rt0.o'
    hardcode_libdir_flag_spec='-R$libdir'
Jason Merrill committed
855 856 857 858 859
    hardcode_direct=yes
    hardcode_minus_L=yes
    hardcode_shlibpath_var=no
    ;;

#  
Jeff Law committed
860
  # Unfortunately, older versions of FreeBSD 2 do not have this feature.
Jason Merrill committed
861
  freebsd2*)
#  
Jeff Law committed
862
    archive_cmds='$LD -Bshareable -o $lib$libobjs'
Jason Merrill committed
863 864 865 866 867 868 869
    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
870 871
    archive_cmds='$CC -shared -o $lib$libobjs'
    hardcode_libdir_flag_spec='-R$libdir'
Jason Merrill committed
872
    hardcode_direct=yes
#  
Jeff Law committed
873
    hardcode_minus_L=yes
Jason Merrill committed
874 875 876 877
    hardcode_shlibpath_var=no
    ;;

  hpux9*)
#  
Jeff Law committed
878
    archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs;mv $objdir/$soname $lib'
Jason Merrill committed
879 880 881
    hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
    hardcode_direct=yes
    hardcode_minus_L=yes
#  
Jeff Law committed
882
    export_dynamic_flag_spec='${wl}-E'
Jason Merrill committed
883 884
    ;;

#  
Jeff Law committed
885 886
  hpux10* | hpux11*)
    archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs'
Jason Merrill committed
887 888 889
    hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
    hardcode_direct=yes
    hardcode_minus_L=yes
#  
Jeff Law committed
890
    export_dynamic_flag_spec='${wl}-E'
Jason Merrill committed
891 892 893
    ;;

  irix5* | irix6*)
#  
Jeff Law committed
894 895 896 897 898
    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
899 900 901
    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
    ;;

#  
Jeff Law committed
902
  netbsd*)
Jason Merrill committed
903
    # Tested with NetBSD 1.2 ld
#  
Jeff Law committed
904
    archive_cmds='$LD -Bshareable -o $lib$libobjs'
Jason Merrill committed
905 906 907 908 909
    hardcode_libdir_flag_spec='-R$libdir'
    hardcode_direct=yes
    hardcode_shlibpath_var=no
    ;;

#  
Jeff Law committed
910 911 912 913 914 915 916 917 918 919 920 921 922 923 924
  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
925
  osf3* | osf4*)
#  
Jeff Law committed
926 927
    allow_undefined_flag=' -expect_unresolved \*'
    archive_cmds='$LD -shared${allow_undefined_flag} -o $lib -soname $soname -set_version $verstring$libobjs$deplibs'
Jason Merrill committed
928 929 930 931 932
    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
    hardcode_libdir_separator=:
    ;;

  sco3.2v5*)
#  
Jeff Law committed
933
    archive_cmds='$LD -G -o $lib$libobjs'
Jason Merrill committed
934 935 936 937
    hardcode_direct=yes
    ;;

  solaris2*)
#  
Jeff Law committed
938 939
    no_undefined_flag=' -z text'
    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib$libobjs'
Jason Merrill committed
940 941
    hardcode_libdir_flag_spec='-R$libdir'
    hardcode_shlibpath_var=no
#  
Jeff Law committed
942 943 944 945 946 947 948

    # Solaris 2 before 2.5 hardcodes -L paths.
    case "$host_os" in
    solaris2.[0-4]*)
      hardcode_minus_L=yes
      ;;
    esac
Jason Merrill committed
949 950 951 952 953 954 955 956 957 958
    ;;

  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
959 960 961 962 963 964 965 966
  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
967 968 969 970 971 972
  *)
    ld_shlibs=no
    can_build_shared=no
    ;;
  esac
fi
#  
Jeff Law committed
973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 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 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154
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
  /* | [A-Za-z]:\\*) ;; # Let the user override the test with a path.
  *)
    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]'
  ;;
cygwin32*)
  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
cygwin32*)
  # 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

echo "$progname:1068: checking if global_symbol_pipe works" >&5
if { (eval echo $progname:1069: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then
  # Now try to grab the symbols.
  nlist=conftest.nm
  if { echo "$progname:1072: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then

    # 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.
        mv conftest.o conftestm.o
	save_LIBS="$LIBS"
	save_CFLAGS="$CFLAGS"
        LIBS='conftestm.o'
	CFLAGS="$CFLAGS$no_builtin_flag"
        if { (eval echo $progname:1130: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
          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
1155 1156 1157 1158 1159

# 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
1160
   test -n "$runpath_var"; then
Jason Merrill committed
1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173

  # 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
1174 1175 1176
  # We cannot hardcode anything, or else we can only hardcode existing
  # directories.
  hardcode_action=unsupported
Jason Merrill committed
1177
fi
#  
Jeff Law committed
1178
echo "$ac_t$hardcode_action" 1>&6
Jason Merrill committed
1179 1180 1181 1182 1183


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
1184
# PORTME Some linkers may need a different reload flag.
Jason Merrill committed
1185
reload_flag='-r'
#  
Jeff Law committed
1186
echo "$ac_t$reload_flag" 1>&6
Jason Merrill committed
1187 1188 1189 1190
test -n "$reload_flag" && reload_flag=" $reload_flag"

# PORTME Fill in your ld.so characteristics
library_names_spec=
#  
Jeff Law committed
1191
libname_spec='lib$name'
Jason Merrill committed
1192 1193
soname_spec=
postinstall_cmds=
#  
Jeff Law committed
1194
postuninstall_cmds=
Jason Merrill committed
1195
finish_cmds=
#  
Jeff Law committed
1196
finish_eval=
Jason Merrill committed
1197 1198 1199 1200 1201 1202 1203 1204
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
1205
  library_names_spec='${libname}${release}.so$versuffix $libname.a'
Jason Merrill committed
1206 1207 1208
  shlibpath_var=LIBPATH

  # AIX has no versioning support, so we append a major version to the name.
#  
Jeff Law committed
1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222
  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'
  ;;

cygwin32*)
  version_type=windows
  library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.a'
  dynamic_linker='Win32 ld.exe'
  shlibpath_var=PATH
Jason Merrill committed
1223 1224 1225 1226
  ;;

freebsd2* | freebsd3*)
  version_type=sunos
#  
Jeff Law committed
1227
  library_names_spec='${libname}${release}.so$versuffix $libname.so'
Jason Merrill committed
1228 1229 1230 1231 1232 1233
  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
  shlibpath_var=LD_LIBRARY_PATH
  ;;

gnu*)
  version_type=sunos
#  
Jeff Law committed
1234
  library_names_spec='${libname}${release}.so$versuffix'
Jason Merrill committed
1235 1236 1237
  shlibpath_var=LD_LIBRARY_PATH
  ;;

#  
Jeff Law committed
1238
hpux9* | hpux10* | hpux11*)
Jason Merrill committed
1239 1240 1241 1242 1243
  # 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
1244 1245
  library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
  soname_spec='${libname}${release}.sl$major'
Jason Merrill committed
1246 1247 1248 1249 1250 1251
  # HP-UX runs *really* slowly unless shared libraries are mode 555.
  postinstall_cmds='chmod 555 $lib'
  ;;

irix5* | irix6*)
  version_type=osf
#  
Jeff Law committed
1252 1253
  soname_spec='${libname}${release}.so'
  library_names_spec='${libname}${release}.so$versuffix $libname.so'
Jason Merrill committed
1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264
  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
1265 1266
  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
  soname_spec='${libname}${release}.so$major'
Jason Merrill committed
1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282
  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
1283
  library_names_spec='${libname}${release}.so$versuffix'
Jason Merrill committed
1284 1285 1286 1287
  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
  shlibpath_var=LD_LIBRARY_PATH
  ;;

#  
Jeff Law committed
1288 1289 1290 1291 1292 1293 1294
os2*)
  libname_spec='$name'
  library_names_spec='$libname.dll $libname.a'
  dynamic_linker='OS/2 ld.exe'
  shlibpath_var=LIBPATH
  ;;

Jason Merrill committed
1295 1296
osf3* | osf4*)
  version_type=osf
#  
Jeff Law committed
1297 1298
  soname_spec='${libname}${release}.so'
  library_names_spec='${libname}${release}.so$versuffix $libname.so'
Jason Merrill committed
1299 1300 1301 1302 1303
  shlibpath_var=LD_LIBRARY_PATH
  ;;

sco3.2v5*)
  version_type=osf
#  
Jeff Law committed
1304 1305
  soname_spec='${libname}${release}.so$major'
  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
Jason Merrill committed
1306 1307 1308 1309 1310
  shlibpath_var=LD_LIBRARY_PATH
  ;;

solaris2*)
  version_type=linux
#  
Jeff Law committed
1311 1312
  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
  soname_spec='${libname}${release}.so$major'
Jason Merrill committed
1313 1314 1315 1316 1317
  shlibpath_var=LD_LIBRARY_PATH
  ;;

sunos4*)
  version_type=sunos
#  
Jeff Law committed
1318
  library_names_spec='${libname}${release}.so$versuffix'
Jason Merrill committed
1319 1320 1321 1322
  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
  shlibpath_var=LD_LIBRARY_PATH
  ;;

#  
Jeff Law committed
1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336
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
1337 1338 1339 1340
*)
  dynamic_linker=no
  ;;
esac
#  
Jeff Law committed
1341
echo "$ac_t$dynamic_linker"
Jason Merrill committed
1342 1343
test "$dynamic_linker" = no && can_build_shared=no

#  
Jeff Law committed
1344
# Report the final consequences.
Jason Merrill committed
1345 1346 1347 1348 1349
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
1350 1351
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
Jason Merrill committed
1352 1353 1354 1355 1356 1357 1358 1359 1360 1361
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
1362
echo "$ac_t$enable_shared" 1>&6
Jason Merrill committed
1363 1364 1365 1366 1367 1368

# 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
1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407
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 \
  export_dynamic_flag_spec libname_spec library_names_spec soname_spec RANLIB \
  old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
  old_postuninstall_cmds archive_cmds postinstall_cmds postuninstall_cmds \
  allow_undefined_flag no_undefined_flag \
  finish_cmds finish_eval global_symbol_pipe \
  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
1408

#  
Jeff Law committed
1409 1410 1411 1412 1413 1414 1415
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
1416
# Generated automatically by $PROGRAM - GNU $PACKAGE $VERSION
#  
Jeff Law committed
1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449
# 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
1450 1451
#
# CC="$old_CC" CFLAGS="$old_CFLAGS" CPPFLAGS="$old_CPPFLAGS" \\
#  
Jeff Law committed
1452 1453
# LD="$old_LD" NM="$old_NM" RANLIB="$old_RANLIB" LN_S="$old_LN_S" \\
# DLLTOOL="$old_DLLTOOL" AS="$old_AS" \\
Jason Merrill committed
1454 1455 1456 1457 1458 1459 1460 1461
#   $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
1462 1463 1464 1465
# Shell to use when invoking shell scripts.
SHELL="$SHELL"

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

#  
Jeff Law committed
1468
# Whether or not to build static libraries.
Jason Merrill committed
1469 1470 1471 1472 1473 1474
build_old_libs=$enable_static

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

#  
Jeff Law committed
1475 1476 1477
# An echo program that does not interpret backslashes.
echo="$ltecho"

Jason Merrill committed
1478
# The archiver.
#  
Jeff Law committed
1479 1480 1481 1482
AR="$AR"

# The default C compiler.
CC="$CC"
Jason Merrill committed
1483 1484

# The linker used to build libraries.
#  
Jeff Law committed
1485
LD="$LD"
Jason Merrill committed
1486 1487

# Whether we need hard or soft links.
#  
Jeff Law committed
1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500
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
1501 1502

# How to create reloadable object files.
#  
Jeff Law committed
1503 1504
reload_flag="$reload_flag"
reload_cmds="$reload_cmds"
Jason Merrill committed
1505 1506

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

# Additional compiler flags for building library objects.
#  
Jeff Law committed
1510
pic_flag="$pic_flag"
Jason Merrill committed
1511 1512

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

#  
Jeff Law committed
1515 1516
# Compiler flag to turn off builtin functions.
no_builtin_flag="$no_builtin_flag"
Jason Merrill committed
1517

#  
Jeff Law committed
1518 1519
# Compiler flag to allow reflexive dlopens.
export_dynamic_flag_spec="$export_dynamic_flag_spec"
Jason Merrill committed
1520 1521 1522 1523

# Library versioning type.
version_type=$version_type

#  
Jeff Law committed
1524 1525 1526
# Format of library name prefix.
libname_spec="$libname_spec"

Jason Merrill committed
1527 1528
# 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
1529
library_names_spec="$library_names_spec"
Jason Merrill committed
1530 1531

# The coded name of the library, if different from the real name.
#  
Jeff Law committed
1532
soname_spec="$soname_spec"
Jason Merrill committed
1533 1534

# Commands used to build and install an old-style archive.
#  
Jeff Law committed
1535 1536 1537 1538 1539 1540 1541
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
1542 1543

# Commands used to build and install a shared archive.
#  
Jeff Law committed
1544 1545 1546
archive_cmds="$archive_cmds"
postinstall_cmds="$postinstall_cmds"
postuninstall_cmds="$postuninstall_cmds"
Jason Merrill committed
1547 1548

# Flag that allows shared libraries with undefined symbols to be built.
#  
Jeff Law committed
1549 1550 1551 1552
allow_undefined_flag="$allow_undefined_flag"

# Flag that forces no undefined symbols.
no_undefined_flag="$no_undefined_flag"
Jason Merrill committed
1553 1554

# Commands used to finish a libtool library installation in a directory.
#  
Jeff Law committed
1555 1556 1557 1558
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
1559

#  
Jeff Law committed
1560 1561
# Take the output of nm and produce a listing of raw symbols and C names.
global_symbol_pipe="$global_symbol_pipe"
Jason Merrill committed
1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573

# 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
1574
hardcode_libdir_flag_spec="$hardcode_libdir_flag_spec"
Jason Merrill committed
1575 1576

# Whether we need a single -rpath flag with a separated argument.
#  
Jeff Law committed
1577
hardcode_libdir_separator="$hardcode_libdir_separator"
Jason Merrill committed
1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591

# 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
EOF

#  
Jeff Law committed
1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603
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
1604 1605 1606
  ;;
esac

#  
Jeff Law committed
1607 1608 1609 1610 1611
echo '### END LIBTOOL CONFIG' >> "$ofile"
echo >> "$ofile"

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

#  
Jeff Law committed
1613
chmod +x "$ofile"
Jason Merrill committed
1614 1615 1616 1617 1618 1619
exit 0

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