Commit cf4ccd63 by Jeff Law

#

	* mpw-* Delete.  Not used.
	* ltconfig, ltmain.sh: Update to libtool 1.2a.
	* Makefile.in (CC_FOR_TARGET): Use $(TARGET_SUBDIR) when passing -B
	for newlib directory.
	(CXX_FOR_TARGET): Likewise.
Bring over from devo.

From-SVN: r19691
parent 9c7d6038
#! /bin/sh #! /bin/sh
# ltconfig - Create a system-specific libtool. # ltconfig - Create a system-specific libtool.
# When updating this script, search for LINENUM and fix line number refs. # Copyright (C) 1996-1998 Free Software Foundation, Inc.
# Generated automatically from ltconfig.in by configure.
# Copyright (C) 1996, 1997, Free Software Foundation, Inc.
# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
# #
# This file is free software; you can redistribute it and/or modify it # This file is free software; you can redistribute it and/or modify it
...@@ -27,19 +25,82 @@ ...@@ -27,19 +25,82 @@
# A lot of this script is taken from autoconf-2.10. # A lot of this script is taken from autoconf-2.10.
# 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'
# The name of this program. # The name of this program.
progname=`echo "$0" | sed 's%^.*/%%'` progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
# Constants: # Constants:
PROGRAM=ltconfig PROGRAM=ltconfig
PACKAGE=libtool PACKAGE=libtool
VERSION=1.0 VERSION=1.2a
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5'
rm="rm -f" rm="rm -f"
help="Try \`$progname --help' for more information." help="Try \`$progname --help' for more information."
# Global variables: # Global variables:
default_ofile=libtool
can_build_shared=yes can_build_shared=yes
enable_shared=yes enable_shared=yes
# All known linkers require a `.a' archive for static linking. # All known linkers require a `.a' archive for static linking.
...@@ -51,6 +112,7 @@ ac_config_guess= ...@@ -51,6 +112,7 @@ ac_config_guess=
ac_config_sub= ac_config_sub=
host= host=
nonopt= nonopt=
ofile="$default_ofile"
verify_host=yes verify_host=yes
with_gcc=no with_gcc=no
with_gnu_ld=no with_gnu_ld=no
...@@ -61,9 +123,10 @@ old_CFLAGS="$CFLAGS" ...@@ -61,9 +123,10 @@ old_CFLAGS="$CFLAGS"
old_CPPFLAGS="$CPPFLAGS" old_CPPFLAGS="$CPPFLAGS"
old_LD="$LD" old_LD="$LD"
old_LN_S="$LN_S" old_LN_S="$LN_S"
old_NM="$NM"
old_RANLIB="$RANLIB" old_RANLIB="$RANLIB"
old_DLLTOOL="$DLLTOOL"
test -z "$AR" && AR=ar old_AS="$AS"
# Parse the command line options. # Parse the command line options.
args= args=
...@@ -88,12 +151,14 @@ Usage: $progname [OPTION]... LTMAIN [HOST] ...@@ -88,12 +151,14 @@ Usage: $progname [OPTION]... LTMAIN [HOST]
Generate a system-specific libtool script. Generate a system-specific libtool script.
--debug enable verbose shell tracing
--disable-shared do not build shared libraries --disable-shared do not build shared libraries
--disable-static do not build static libraries --disable-static do not build static libraries
--help display this help and exit --help display this help and exit
--no-verify do not verify that HOST is a valid host type --no-verify do not verify that HOST is a valid host type
-o, --output=FILE specify the output file [default=$default_ofile]
--quiet same as \`--silent' --quiet same as \`--silent'
--silent don't print informational messages --silent do not print informational messages
--srcdir=DIR find \`config.guess' in DIR --srcdir=DIR find \`config.guess' in DIR
--version output version information and exit --version output version information and exit
--with-gcc assume that the GNU C compiler will be used --with-gcc assume that the GNU C compiler will be used
...@@ -107,6 +172,11 @@ EOM ...@@ -107,6 +172,11 @@ EOM
exit 0 exit 0
;; ;;
--debug)
echo "$progname: enabling shell trace mode"
set -x
;;
--disable-shared) enable_shared=no ;; --disable-shared) enable_shared=no ;;
--disable-static) enable_static=no ;; --disable-static) enable_static=no ;;
...@@ -118,6 +188,9 @@ EOM ...@@ -118,6 +188,9 @@ EOM
--no-verify) verify_host=no ;; --no-verify) verify_host=no ;;
--output | -o) prev=ofile ;;
--output=*) ofile="$optarg" ;;
--version) echo "$PROGRAM (GNU $PACKAGE) $VERSION"; exit 0 ;; --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION"; exit 0 ;;
--with-gcc) with_gcc=yes ;; --with-gcc) with_gcc=yes ;;
...@@ -133,7 +206,7 @@ EOM ...@@ -133,7 +206,7 @@ EOM
if test -z "$ltmain"; then if test -z "$ltmain"; then
ltmain="$option" ltmain="$option"
elif test -z "$host"; then elif test -z "$host"; then
# FIXME This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1 # This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
# if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then # if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then
# echo "$progname: warning \`$option' is not a valid host type" 1>&2 # echo "$progname: warning \`$option' is not a valid host type" 1>&2
# fi # fi
...@@ -154,7 +227,9 @@ fi ...@@ -154,7 +227,9 @@ fi
if test -f "$ltmain"; then : if test -f "$ltmain"; then :
else else
echo "$progname: warning: \`$ltmain' does not exist" 1>&2 echo "$progname: \`$ltmain' does not exist" 1>&2
echo "$help" 1>&2
exit 1
fi fi
# Quote any args containing shell metacharacters. # Quote any args containing shell metacharacters.
...@@ -206,10 +281,11 @@ fi ...@@ -206,10 +281,11 @@ fi
if test -z "$srcdir"; then if test -z "$srcdir"; then
# Assume the source directory is the same one as the path to ltmain.sh. # Assume the source directory is the same one as the path to ltmain.sh.
srcdir=`echo "$ltmain" | sed 's%/[^/]*$%%'` srcdir=`$echo "$ltmain" | $Xsed -e 's%/[^/]*$%%'`
test "$srcdir" = "$ltmain" && srcdir=. test "$srcdir" = "$ltmain" && srcdir=.
fi fi
trap "$rm conftest*; exit 1" 1 2 15
if test "$verify_host" = yes; then if test "$verify_host" = yes; then
# Check for config.guess and config.sub. # Check for config.guess and config.sub.
ac_aux_dir= ac_aux_dir=
...@@ -248,7 +324,10 @@ if test "$verify_host" = yes; then ...@@ -248,7 +324,10 @@ if test "$verify_host" = yes; then
fi ;; fi ;;
esac esac
host=`$ac_config_sub $host_alias` host=`$ac_config_sub $host_alias`
echo "$ac_t""$host" 1>&6 echo "$ac_t$host" 1>&6
# Make sure the host verified.
test -z "$host" && exit 1
elif test -z "$host"; then elif test -z "$host"; then
echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2 echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2
...@@ -258,19 +337,35 @@ else ...@@ -258,19 +337,35 @@ else
host_alias=$host host_alias=$host
fi fi
# Transform *-*-linux* to *-*-linux-gnu*, to support old configure scripts. # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
case "$host" in case "$host_os" in
*-*-linux-gnu*) ;; linux-gnu*) ;;
*-*-linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
esac esac
host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
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
# Determine commands to create old-style static archives. # Determine commands to create old-style static archives.
old_archive_cmds='$AR cru $oldlib$oldobjs' old_archive_cmds='$AR cru $oldlib$oldobjs'
old_postinstall_cmds='chmod 644 $oldlib' old_postinstall_cmds='chmod 644 $oldlib'
old_postuninstall_cmds=
# Set a sane default for `AR'.
test -z "$AR" && AR=ar
# If RANLIB is not set, then run the test. # If RANLIB is not set, then run the test.
if test "${RANLIB+set}" != "set"; then if test "${RANLIB+set}" != "set"; then
...@@ -288,14 +383,18 @@ if test "${RANLIB+set}" != "set"; then ...@@ -288,14 +383,18 @@ if test "${RANLIB+set}" != "set"; then
done done
IFS="$save_ifs" IFS="$save_ifs"
echo $ac_t "$result" 1>&6 echo "$ac_t$result" 1>&6
fi fi
if test -n "$RANLIB"; then if test -n "$RANLIB"; then
old_archive_cmds="$old_archive_cmds;\$RANLIB \$oldlib" old_archive_cmds="$old_archive_cmds;\$RANLIB \$oldlib"
old_postinstall_cmds="$old_postinstall_cmds;\$RANLIB \$oldlib" old_postinstall_cmds="\$RANLIB \$oldlib;$old_postinstall_cmds"
fi fi
# Set sane defaults for `DLLTOOL' and `AS', used on cygwin32.
test -z "$DLLTOOL" && DLLTOOL=dlltool
test -z "$AS" && AS=as
# Check to see if we are using GCC. # Check to see if we are using GCC.
if test "$with_gcc" != yes || test -z "$CC"; then if test "$with_gcc" != yes || test -z "$CC"; then
# If CC is not set, then try to find GCC or a usable CC. # If CC is not set, then try to find GCC or a usable CC.
...@@ -313,9 +412,9 @@ if test "$with_gcc" != yes || test -z "$CC"; then ...@@ -313,9 +412,9 @@ if test "$with_gcc" != yes || test -z "$CC"; then
IFS="$save_ifs" IFS="$save_ifs"
if test -n "$CC"; then if test -n "$CC"; then
echo "$ac_t""$CC" 1>&6 echo "$ac_t$CC" 1>&6
else else
echo "$ac_t""no" 1>&6 echo "$ac_t"no 1>&6
fi fi
fi fi
...@@ -352,9 +451,9 @@ if test "$with_gcc" != yes || test -z "$CC"; then ...@@ -352,9 +451,9 @@ if test "$with_gcc" != yes || test -z "$CC"; then
fi fi
if test -n "$CC"; then if test -n "$CC"; then
echo "$ac_t""$CC" 1>&6 echo "$ac_t$CC" 1>&6
else else
echo "$ac_t""no" 1>&6 echo "$ac_t"no 1>&6
fi fi
if test -z "$CC"; then if test -z "$CC"; then
...@@ -366,20 +465,19 @@ if test "$with_gcc" != yes || test -z "$CC"; then ...@@ -366,20 +465,19 @@ if test "$with_gcc" != yes || test -z "$CC"; then
# Now see if the compiler is really GCC. # Now see if the compiler is really GCC.
with_gcc=no with_gcc=no
echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6 echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
echo "$progname:468: checking whether we are using GNU C" >&5
trap "$rm conftest.c; exit 1" 1 2 15
$rm conftest.c $rm conftest.c
cat > conftest.c <<EOF cat > conftest.c <<EOF
#ifdef __GNUC__ #ifdef __GNUC__
yes; yes;
#endif #endif
EOF EOF
# LINENUM 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
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:378: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
with_gcc=yes with_gcc=yes
fi fi
$rm conftest.c $rm conftest.c
echo $ac_t "$with_gcc" 1>&6 echo "$ac_t$with_gcc" 1>&6
fi fi
# Allow CC to be a program name with arguments. # Allow CC to be a program name with arguments.
...@@ -388,29 +486,45 @@ compiler="$2" ...@@ -388,29 +486,45 @@ compiler="$2"
echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6 echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
pic_flag= pic_flag=
profile_flag_pattern=
special_shlib_compile_flags= special_shlib_compile_flags=
wl= wl=
link_static_flag= link_static_flag=
no_builtin_flag=
if test "$with_gcc" = yes; then if test "$with_gcc" = yes; then
pic_flag='-fPIC'
profile_flag_pattern='-pg?'
wl='-Wl,' wl='-Wl,'
link_static_flag='-static' link_static_flag='-static'
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
else else
# PORTME Check for PIC flags for the system compiler. # PORTME Check for PIC flags for the system compiler.
case "$host_os" in case "$host_os" in
aix3* | aix4*) aix3* | aix4*)
# FIXME All rs/6000 code is PIC, but is there any non-rs/6000 AIX platform? # All AIX code is PIC.
pic_flag=
link_static_flag='-bnso -bI:/lib/syscalls.exp' link_static_flag='-bnso -bI:/lib/syscalls.exp'
;; ;;
hpux9* | hpux10*) hpux9* | hpux10* | hpux11*)
# FIXME is there a better link_static_flag that works with the bundled CC? # Is there a better link_static_flag that works with the bundled CC?
wl='-Wl,' wl='-Wl,'
link_static_flag='${wl}-a ${wl}archive' link_static_flag="${wl}-a ${wl}archive"
pic_flag='+Z' pic_flag='+Z'
;; ;;
...@@ -418,11 +532,14 @@ else ...@@ -418,11 +532,14 @@ else
wl='-Wl,' wl='-Wl,'
link_static_flag='-non_shared' link_static_flag='-non_shared'
# PIC (with -KPIC) is the default. # PIC (with -KPIC) is the default.
pic_flag= ;;
cygwin32* | os2*)
# We can build DLLs from non-PIC.
;; ;;
osf3* | osf4*) osf3* | osf4*)
# FIXME - pic_flag is probably required for hppa*-osf* and i860-osf* # All OSF/1 code is PIC.
wl='-Wl,' wl='-Wl,'
link_static_flag='-non_shared' link_static_flag='-non_shared'
;; ;;
...@@ -445,24 +562,59 @@ else ...@@ -445,24 +562,59 @@ else
wl='-Qoption ld ' wl='-Qoption ld '
;; ;;
sysv4.2uw2*)
pic_flag='-KPIC'
link_static_flag='-Bstatic'
wl='-Wl,'
;;
uts4*)
pic_flag='-pic'
link_static_flag='-Bstatic'
;;
*) *)
can_build_shared=no can_build_shared=no
;; ;;
esac esac
fi fi
case "$host_cpu" in
rs6000 | powerpc | powerpcle)
# Yippee! All RS/6000 and PowerPC code is position-independent.
pic_flag=
;;
esac
if test -n "$pic_flag"; then if test -n "$pic_flag"; then
echo $ac_t "$pic_flag" 1>&6 echo "$ac_t$pic_flag" 1>&6
pic_flag=" $pic_flag"
# 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*
else else
echo $ac_t none 1>&6 echo "$ac_t"none 1>&6
fi fi
# Check for any special shared library compilation flags. # Check for any special shared library compilation flags.
...@@ -475,36 +627,27 @@ if test -n "$special_shlib_compile_flags"; then ...@@ -475,36 +627,27 @@ if test -n "$special_shlib_compile_flags"; then
fi fi
fi fi
# See if we are using a broken GCC collect2 program. echo $ac_n "checking if $compiler static flag $link_static_flag works... $ac_c" 1>&6
if test "$with_gcc" = yes; then $rm conftest*
echo $ac_n "checking for broken GCC collect2... $ac_c" 1>&6 echo 'main(){return(0);}' > conftest.c
save_LDFLAGS="$LDFLAGS"
# FIXME: Run a test here, instead of relying on the canonical system name. LDFLAGS="$LDFLAGS $link_static_flag"
case "$host_os" in echo "$progname:635: checking if $compiler static flag $link_static_flag works" >&5
aix3*) if { (eval echo $progname:636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
can_build_shared=no echo "$ac_t$link_static_flag" 1>&6
echo $ac_t yes 1>&6
echo "$progname: to build shared libraries, set the CC env variable to \`xlc' and reconfigure" 1>&2
;;
*)
echo $ac_t no 1>&6
;;
esac
fi
echo $ac_n "checking for $compiler option to statically link programs... $ac_c" 1>&6
if test -n "$link_static_flag"; then
echo $ac_t "$link_static_flag" 1>&6
else else
echo $ac_t none 1>&6 echo "$ac_t"none 1>&6
link_static_flag=
fi fi
LDFLAGS="$save_LDFLAGS"
$rm conftest*
if test -z "$LN_S"; then if test -z "$LN_S"; then
# Check to see if we can use ln -s, or we need hard links. # 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 echo $ac_n "checking whether ln -s works... $ac_c" 1>&6
rm -f conftestdata $rm conftestdata
if ln -s X conftestdata 2>/dev/null; then if ln -s X conftestdata 2>/dev/null; then
rm -f conftestdata $rm conftestdata
LN_S="ln -s" LN_S="ln -s"
else else
LN_S=ln LN_S=ln
...@@ -516,81 +659,131 @@ if test -z "$LN_S"; then ...@@ -516,81 +659,131 @@ if test -z "$LN_S"; then
fi fi
fi fi
if test "$with_gnu_ld" != yes || test -z "$LD"; then # Make sure LD is an absolute path.
if test -z "$LD"; then if test -z "$LD"; then
if test "$with_gnu_ld" = yes; then ac_prog=ld
echo $ac_n "checking for GNU ld... $ac_c" 1>&6 if test "$with_gcc" = yes; then
else # Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for non-GNU ld... $ac_c" 1>&6 echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
fi 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
if test -z "$LD"; then
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
for ac_dir in $PATH; do for ac_dir in $PATH; do
test -z "$ac_dir" && ac_dir=. test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/ld"; then if test -f "$ac_dir/$ac_prog"; then
LD="$ac_dir/ld" LD="$ac_dir/$ac_prog"
# Check to see if the program is GNU ld. I'd rather use --version, # Check to see if the program is GNU ld. I'd rather use --version,
# but apparently some GNU ld's only accept -v. # but apparently some GNU ld's only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer. # Break only if it was the GNU/non-GNU ld that we prefer.
if "$LD" -v 2>&1 < /dev/null | egrep '(GNU ld|with BFD)' > /dev/null; then if "$LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
test "$with_gnu_ld" = yes && break test "$with_gnu_ld" != no && break
else else
test "$with_gnu_ld" != yes && break test "$with_gnu_ld" != yes && break
fi fi
fi fi
done done
IFS="$ac_save_ifs" IFS="$ac_save_ifs"
fi
if test -n "$LD"; then if test -n "$LD"; then
echo "$ac_t""$LD" 1>&6 echo "$ac_t$LD" 1>&6
else else
echo "$ac_t""no" 1>&6 echo "$ac_t"no 1>&6
fi
if test -z "$LD"; then
echo "$progname: error: no acceptable ld found in \$PATH" 1>&2
exit 1
fi
fi fi
echo $ac_n "checking whether we are using GNU ld... $ac_c" 1>&6 if test -z "$LD"; then
# I'd rather use --version here, but apparently some GNU ld's only accept -v. echo "$progname: error: no acceptable ld found in \$PATH" 1>&2
if $LD -v 2>&1 </dev/null | egrep '(GNU ld|with BFD)' > /dev/null; then exit 1
with_gnu_ld=yes
fi fi
echo $ac_t "$with_gnu_ld" 1>&6
fi fi
# 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
# See if the linker supports building shared libraries. # See if the linker supports building shared libraries.
echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6 echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6
allow_undefined_flag= allow_undefined_flag=
no_undefined_flag=
archive_cmds= archive_cmds=
export_dynamic_flag= old_archive_from_new_cmds=
export_dynamic_flag_spec=
hardcode_libdir_flag_spec= hardcode_libdir_flag_spec=
hardcode_libdir_separator= hardcode_libdir_separator=
hardcode_direct=no hardcode_direct=no
hardcode_minus_L=no hardcode_minus_L=no
hardcode_runpath_var=no
hardcode_shlibpath_var=unsupported hardcode_shlibpath_var=unsupported
runpath_var= runpath_var=
ld_shlibs=yes ld_shlibs=yes
if test "$with_gnu_ld" = yes; then if test "$with_gnu_ld" = yes; then
# See if GNU ld supports shared libraries.
# See if GNU ld supports shared libraries.
case "$host_os" in case "$host_os" in
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
;;
sunos4*) sunos4*)
ld_shlibs=yes archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
hardcode_direct=yes ;;
hardcode_shlibpath_var=no
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'
;; ;;
*) *)
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
runpath_var=LD_RUN_PATH archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs'
hardcode_runpath_var=yes
ld_shlibs=yes
else else
ld_shlibs=no ld_shlibs=no
fi fi
...@@ -598,42 +791,75 @@ if test "$with_gnu_ld" = yes; then ...@@ -598,42 +791,75 @@ if test "$with_gnu_ld" = yes; then
esac esac
if test "$ld_shlibs" = yes; then if test "$ld_shlibs" = yes; then
archive_cmds='$cc -shared ${wl}-soname $wl$soname -o $lib$libobjs$deplibs' runpath_var=LD_RUN_PATH
hardcode_libdir_flag_spec='${wl}-rpath $wl$libdir' hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
export_dynamic_flag='${wl}-export-dynamic' export_dynamic_flag_spec='${wl}--export-dynamic'
fi fi
else else
# PORTME fill in a description of your system's linker (not GNU ld) # PORTME fill in a description of your system's linker (not GNU ld)
case "$host_os" in case "$host_os" in
aix3*) aix3*)
allow_undefined_flag=unsupported allow_undefined_flag=unsupported
archive_cmds='/usr/ucb/nm$libobjs | egrep \" [BD] \" | sed \"s/^.* //\" > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE -lc$deplibs;$AR cru $lib $objdir/$soname' 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'
# Note: this linker hardcodes the directories in LIBPATH if there # Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L. # are no directories specified by -L.
hardcode_minus_L=yes hardcode_minus_L=yes
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
;; ;;
aix4*) aix4*)
allow_undefined_flag=unsupported allow_undefined_flag=unsupported
archive_cmds='/bin/nm -B$libobjs | egrep \" [BD] \" | sed \"s/^.* //\" > $lib.exp;$cc -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry$deplibs;$AR cru $lib $objdir/$soname' 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'
hardcode_direct=yes hardcode_direct=yes
hardcode_minus_L=yes hardcode_minus_L=yes
;; ;;
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'
;;
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # 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 # support. Future versions do this automatically, but an explicit c++rt0.o
# doesn't break anything, and helps significantly (at the cost of a little # does not break anything, and helps significantly (at the cost of a little
# extra space). # extra space).
freebsd2.2*) freebsd2.2*)
archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs /usr/lib/c++rt0.o' archive_cmds='$LD -Bshareable -o $lib$libobjs /usr/lib/c++rt0.o'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes hardcode_direct=yes
hardcode_minus_L=yes hardcode_minus_L=yes
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
;; ;;
# Unfortunately, older versions of FreeBSD 2 don't have this feature. # Unfortunately, older versions of FreeBSD 2 do not have this feature.
freebsd2*) freebsd2*)
archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs' archive_cmds='$LD -Bshareable -o $lib$libobjs'
hardcode_direct=yes hardcode_direct=yes
hardcode_minus_L=yes hardcode_minus_L=yes
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
...@@ -641,55 +867,85 @@ else ...@@ -641,55 +867,85 @@ else
# FreeBSD 3, at last, uses gcc -shared to do shared libraries. # FreeBSD 3, at last, uses gcc -shared to do shared libraries.
freebsd3*) freebsd3*)
archive_cmds='$CC -shared -o $lib$libobjs$deplibs' archive_cmds='$CC -shared -o $lib$libobjs'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes hardcode_direct=yes
hardcode_minusL=yes hardcode_minus_L=yes
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
;; ;;
hpux9*) hpux9*)
archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs$deplibs;mv $objdir/$soname $lib' archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs;mv $objdir/$soname $lib'
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_direct=yes hardcode_direct=yes
hardcode_minus_L=yes hardcode_minus_L=yes
export_dynamic_flag_spec='${wl}-E'
;; ;;
hpux10*) hpux10* | hpux11*)
archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs$deplibs' archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs'
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_direct=yes hardcode_direct=yes
hardcode_minus_L=yes hardcode_minus_L=yes
export_dynamic_flag_spec='${wl}-E'
;; ;;
irix5* | irix6*) irix5* | irix6*)
archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs -lc$deplibs' 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
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
;; ;;
netbsd* | openbsd*) netbsd*)
# Tested with NetBSD 1.2 ld # Tested with NetBSD 1.2 ld
archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs' archive_cmds='$LD -Bshareable -o $lib$libobjs'
hardcode_libdir_flag_spec='-R$libdir' hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes hardcode_direct=yes
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
;; ;;
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'
;;
osf3* | osf4*) osf3* | osf4*)
allow_undefined_flag=' -expect_unresolved' allow_undefined_flag=' -expect_unresolved \*'
archive_cmds='$LD -shared${allow_undefined_flag} -o $lib -soname $soname -set_version $verstring$libobjs -lc$deplibs' archive_cmds='$LD -shared${allow_undefined_flag} -o $lib -soname $soname -set_version $verstring$libobjs$deplibs'
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=: hardcode_libdir_separator=:
;; ;;
sco3.2v5*) sco3.2v5*)
archive_cmds='$LD -G -o $lib$libobjs$deplibs' archive_cmds='$LD -G -o $lib$libobjs'
hardcode_direct=yes hardcode_direct=yes
;; ;;
solaris2*) solaris2*)
archive_cmds='$LD -G -z text -h $soname -o $lib$libobjs$deplibs' no_undefined_flag=' -z text'
archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib$libobjs'
hardcode_libdir_flag_spec='-R$libdir' hardcode_libdir_flag_spec='-R$libdir'
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
# Solaris 2 before 2.5 hardcodes -L paths.
case "$host_os" in
solaris2.[0-4]*)
hardcode_minus_L=yes
;;
esac
;; ;;
sunos4*) sunos4*)
...@@ -700,19 +956,208 @@ else ...@@ -700,19 +956,208 @@ else
hardcode_shlibpath_var=no hardcode_shlibpath_var=no
;; ;;
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
;;
*) *)
ld_shlibs=no ld_shlibs=no
can_build_shared=no can_build_shared=no
;; ;;
esac esac
fi fi
echo $ac_t "$ld_shlibs" 1>&6 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=
# Check hardcoding attributes. # Check hardcoding attributes.
echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6 echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6
hardcode_action= hardcode_action=
if test -n "$hardcode_libdir_flag_spec" || \ if test -n "$hardcode_libdir_flag_spec" || \
test "$hardcode_runpath_var" = yes; then test -n "$runpath_var"; then
# We can hardcode non-existant directories. # We can hardcode non-existant directories.
if test "$hardcode_direct" != no && \ if test "$hardcode_direct" != no && \
...@@ -725,32 +1170,30 @@ if test -n "$hardcode_libdir_flag_spec" || \ ...@@ -725,32 +1170,30 @@ if test -n "$hardcode_libdir_flag_spec" || \
# We can link without hardcoding, and we can hardcode nonexisting dirs. # We can link without hardcoding, and we can hardcode nonexisting dirs.
hardcode_action=immediate hardcode_action=immediate
fi fi
elif test "$hardcode_direct" != yes && \
test "$hardcode_minus_L" != yes && \
test "$hardcode_shlibpath_var" != yes; then
# We can't hardcode anything.
hardcode_action=unsupported
else else
# We can only hardcode existing directories. # We cannot hardcode anything, or else we can only hardcode existing
hardcode_action=relink # directories.
hardcode_action=unsupported
fi fi
echo $ac_t "$hardcode_action" 1>&6 echo "$ac_t$hardcode_action" 1>&6
test "$hardcode_action" = unsupported && can_build_shared=no
reload_flag= reload_flag=
reload_cmds='$LD$reload_flag -o $output$reload_objs' reload_cmds='$LD$reload_flag -o $output$reload_objs'
echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6 echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6
# PORTME Some linker may need a different reload flag. # PORTME Some linkers may need a different reload flag.
reload_flag='-r' reload_flag='-r'
echo $ac_t "$reload_flag" echo "$ac_t$reload_flag" 1>&6
test -n "$reload_flag" && reload_flag=" $reload_flag" test -n "$reload_flag" && reload_flag=" $reload_flag"
# PORTME Fill in your ld.so characteristics # PORTME Fill in your ld.so characteristics
library_names_spec= library_names_spec=
libname_spec='lib$name'
soname_spec= soname_spec=
postinstall_cmds= postinstall_cmds=
postuninstall_cmds=
finish_cmds= finish_cmds=
finish_eval=
shlibpath_var= shlibpath_var=
version_type=none version_type=none
dynamic_linker="$host_os ld.so" dynamic_linker="$host_os ld.so"
...@@ -759,42 +1202,55 @@ echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6 ...@@ -759,42 +1202,55 @@ echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
case "$host_os" in case "$host_os" in
aix3* | aix4*) aix3* | aix4*)
version_type=linux version_type=linux
library_names_spec='$libname.so.$versuffix $libname.a' library_names_spec='${libname}${release}.so$versuffix $libname.a'
shlibpath_var=LIBPATH shlibpath_var=LIBPATH
# AIX has no versioning support, so we append a major version to the name. # AIX has no versioning support, so we append a major version to the name.
soname_spec='$libname.so.$major' 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
;; ;;
freebsd2* | freebsd3*) freebsd2* | freebsd3*)
version_type=sunos version_type=sunos
library_names_spec='$libname.so.$versuffix $libname.so' library_names_spec='${libname}${release}.so$versuffix $libname.so'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
gnu*) gnu*)
version_type=sunos version_type=sunos
library_names_spec='$libname.so.$versuffix' library_names_spec='${libname}${release}.so$versuffix'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
hpux9* | hpux10*) hpux9* | hpux10* | hpux11*)
# Give a soname corresponding to the major version so that dld.sl refuses to # Give a soname corresponding to the major version so that dld.sl refuses to
# link against other versions. # link against other versions.
dynamic_linker="$host_os dld.sl" dynamic_linker="$host_os dld.sl"
version_type=sunos version_type=sunos
shlibpath_var=SHLIB_PATH shlibpath_var=SHLIB_PATH
library_names_spec='$libname.sl.$versuffix $libname.sl.$major $libname.sl' library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
soname_spec='$libname.sl.$major' soname_spec='${libname}${release}.sl$major'
# HP-UX runs *really* slowly unless shared libraries are mode 555. # HP-UX runs *really* slowly unless shared libraries are mode 555.
postinstall_cmds='chmod 555 $lib' postinstall_cmds='chmod 555 $lib'
;; ;;
irix5* | irix6*) irix5* | irix6*)
version_type=osf version_type=osf
soname_spec='$libname.so' soname_spec='${libname}${release}.so'
library_names_spec='$libname.so.$versuffix $libname.so' library_names_spec='${libname}${release}.so$versuffix $libname.so'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
...@@ -806,8 +1262,8 @@ linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) ...@@ -806,8 +1262,8 @@ linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
# This must be Linux ELF. # This must be Linux ELF.
linux-gnu*) linux-gnu*)
version_type=linux version_type=linux
library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
soname_spec='$libname.so.$major' soname_spec='${libname}${release}.so$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
...@@ -824,76 +1280,75 @@ linux-gnu*) ...@@ -824,76 +1280,75 @@ linux-gnu*)
netbsd* | openbsd*) netbsd* | openbsd*)
version_type=sunos version_type=sunos
library_names_spec='$libname.so.$versuffix' library_names_spec='${libname}${release}.so$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
os2*)
libname_spec='$name'
library_names_spec='$libname.dll $libname.a'
dynamic_linker='OS/2 ld.exe'
shlibpath_var=LIBPATH
;;
osf3* | osf4*) osf3* | osf4*)
version_type=osf version_type=osf
soname_spec='$libname.so' soname_spec='${libname}${release}.so'
library_names_spec='$libname.so.$versuffix $libname.so' library_names_spec='${libname}${release}.so$versuffix $libname.so'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
sco3.2v5*) sco3.2v5*)
version_type=osf version_type=osf
soname_spec='$libname.so.$major' soname_spec='${libname}${release}.so$major'
library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
solaris2*) solaris2*)
version_type=linux version_type=linux
library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
soname_spec='$libname.so.$major' soname_spec='${libname}${release}.so$major'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
sunos4*) sunos4*)
version_type=sunos version_type=sunos
library_names_spec='$libname.so.$versuffix' library_names_spec='${libname}${release}.so$versuffix'
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH shlibpath_var=LD_LIBRARY_PATH
;; ;;
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
;;
*) *)
dynamic_linker=no dynamic_linker=no
;; ;;
esac esac
echo "$ac_t""$dynamic_linker" echo "$ac_t$dynamic_linker"
test "$dynamic_linker" = no && can_build_shared=no test "$dynamic_linker" = no && can_build_shared=no
# FIXME need to add library stripping features # Report the final consequences.
# strip -x works for most platforms, though not for static libraries on NetBSD
# HP-UX requires "-r" for library stripping
striplib=
old_striplib=
#echo $ac_n "checking for static library strip program... $ac_c" 1>&6
#if test -n "$old_striplib"; then
# echo $ac_t "$old_striplib" 1>&6
#else
# echo $ac_t none 1>&6
#fi
#if test "$can_build_shared" = yes; then
# echo $ac_n "checking for shared library strip program... $ac_c" 1>&6
#
# if test -n "$striplib"; then
# echo $ac_t "$striplib" 1>&6
# else
# echo $ac_t none 1>&6
# fi
#fi
# Report the consequences.
echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6 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 echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6
test "$can_build_shared" = "no" && enable_shared=no test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace. # On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case "$host_os" in case "$host_os" in
aix*) aix*)
test "$enable_shared" = yes && enable_static=no test "$enable_shared" = yes && enable_static=no
...@@ -904,28 +1359,98 @@ aix*) ...@@ -904,28 +1359,98 @@ aix*)
;; ;;
esac esac
echo "$ac_t""$enable_shared" 1>&6 echo "$ac_t$enable_shared" 1>&6
# Make sure either enable_shared or enable_static is yes. # Make sure either enable_shared or enable_static is yes.
test "$enable_shared" = yes || enable_static=yes test "$enable_shared" = yes || enable_static=yes
echo "checking whether to build static libraries... $enable_static" 1>&6 echo "checking whether to build static libraries... $enable_static" 1>&6
ofile=libtool echo $ac_n "checking for objdir... $ac_c" 1>&6
trap "$rm $ofile; exit 1" 1 2 15 rm -f .libs 2>/dev/null
echo creating $ofile mkdir .libs 2>/dev/null
rm -fr $ofile if test -d .libs; then
cat <<EOF > $ofile objdir=.libs
#! /bin/sh 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
# libtool - Provide generalized library-building support services. 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.
# Generated automatically by $PROGRAM - GNU $PACKAGE $VERSION # Generated automatically by $PROGRAM - GNU $PACKAGE $VERSION
# This program was configured as follows, # NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: #
# 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`:
# #
# CC="$old_CC" CFLAGS="$old_CFLAGS" CPPFLAGS="$old_CPPFLAGS" \\ # CC="$old_CC" CFLAGS="$old_CFLAGS" CPPFLAGS="$old_CPPFLAGS" \\
# LD="$old_LD" RANLIB="$old_RANLIB" LN_S="$old_LN_S" \\ # LD="$old_LD" NM="$old_NM" RANLIB="$old_RANLIB" LN_S="$old_LN_S" \\
# DLLTOOL="$old_DLLTOOL" AS="$old_AS" \\
# $0$ltconfig_args # $0$ltconfig_args
# #
# Compiler and other test output produced by $progname, useful for # Compiler and other test output produced by $progname, useful for
...@@ -934,72 +1459,106 @@ cat <<EOF > $ofile ...@@ -934,72 +1459,106 @@ cat <<EOF > $ofile
# The version of $progname that generated this script. # The version of $progname that generated this script.
LTCONFIG_VERSION="$VERSION" LTCONFIG_VERSION="$VERSION"
# Whether or not to build libtool libraries. # Shell to use when invoking shell scripts.
SHELL="$SHELL"
# Whether or not to build shared libraries.
build_libtool_libs=$enable_shared build_libtool_libs=$enable_shared
# Whether or not to build old-style libraries. # Whether or not to build static libraries.
build_old_libs=$enable_static build_old_libs=$enable_static
# The host system. # The host system.
host_alias="$host_alias" host_alias="$host_alias"
host="$host" host="$host"
# An echo program that does not interpret backslashes.
echo="$ltecho"
# The archiver. # The archiver.
AR='$AR' AR="$AR"
# The default C compiler.
CC="$CC"
# The linker used to build libraries. # The linker used to build libraries.
LD='$LD' LD="$LD"
# Whether we need hard or soft links. # Whether we need hard or soft links.
LN_S='$LN_S' 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"
# How to create reloadable object files. # How to create reloadable object files.
reload_flag='$reload_flag' reload_flag="$reload_flag"
reload_cmds='$reload_cmds' reload_cmds="$reload_cmds"
# How to pass a linker flag through the compiler. # How to pass a linker flag through the compiler.
wl='$wl' wl="$wl"
# Additional compiler flags for building library objects. # Additional compiler flags for building library objects.
pic_flag='$pic_flag' pic_flag="$pic_flag"
# Compiler flag to prevent dynamic linking. # Compiler flag to prevent dynamic linking.
link_static_flag='$link_static_flag' link_static_flag="$link_static_flag"
# Compiler flag to allow reflexive dlopens. # Compiler flag to turn off builtin functions.
export_dynamic_flag='$export_dynamic_flag' no_builtin_flag="$no_builtin_flag"
# Pattern to match compiler flags for creating libNAME_p libraries: # Compiler flag to allow reflexive dlopens.
profile_flag_pattern='$profile_flag_pattern' export_dynamic_flag_spec="$export_dynamic_flag_spec"
# Library versioning type. # Library versioning type.
version_type=$version_type version_type=$version_type
# Format of library name prefix.
libname_spec="$libname_spec"
# List of archive names. First name is the real one, the rest are links. # 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. # The last name is the one that the linker finds with -lNAME.
library_names_spec='$library_names_spec' library_names_spec="$library_names_spec"
# The coded name of the library, if different from the real name. # The coded name of the library, if different from the real name.
soname_spec='$soname_spec' soname_spec="$soname_spec"
# Commands used to build and install an old-style archive. # Commands used to build and install an old-style archive.
RANLIB='$RANLIB' RANLIB="$RANLIB"
old_archive_cmds='$old_archive_cmds' old_archive_cmds="$old_archive_cmds"
old_postinstall_cmds='$old_postinstall_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"
# Commands used to build and install a shared archive. # Commands used to build and install a shared archive.
archive_cmds='$archive_cmds' archive_cmds="$archive_cmds"
postinstall_cmds='$postinstall_cmds' postinstall_cmds="$postinstall_cmds"
postuninstall_cmds="$postuninstall_cmds"
# Flag that allows shared libraries with undefined symbols to be built. # Flag that allows shared libraries with undefined symbols to be built.
allow_undefined_flag='$allow_undefined_flag' allow_undefined_flag="$allow_undefined_flag"
# Flag that forces no undefined symbols.
no_undefined_flag="$no_undefined_flag"
# Commands used to finish a libtool library installation in a directory. # Commands used to finish a libtool library installation in a directory.
finish_cmds='$finish_cmds' finish_cmds="$finish_cmds"
# Same as above, but a single script fragment to be evaled but not shown.
finish_eval="$finish_eval"
# How to strip a library file. # Take the output of nm and produce a listing of raw symbols and C names.
striplib='$striplib' global_symbol_pipe="$global_symbol_pipe"
old_striplib='$old_striplib'
# This is the shared library runtime path variable. # This is the shared library runtime path variable.
runpath_var=$runpath_var runpath_var=$runpath_var
...@@ -1012,10 +1571,10 @@ hardcode_action=$hardcode_action ...@@ -1012,10 +1571,10 @@ hardcode_action=$hardcode_action
# Flag to hardcode \$libdir into a binary during linking. # Flag to hardcode \$libdir into a binary during linking.
# This must work even if \$libdir does not exist. # This must work even if \$libdir does not exist.
hardcode_libdir_flag_spec='$hardcode_libdir_flag_spec' hardcode_libdir_flag_spec="$hardcode_libdir_flag_spec"
# Whether we need a single -rpath flag with a separated argument. # Whether we need a single -rpath flag with a separated argument.
hardcode_libdir_separator='$hardcode_libdir_separator' hardcode_libdir_separator="$hardcode_libdir_separator"
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
# resulting binary. # resulting binary.
...@@ -1025,37 +1584,33 @@ hardcode_direct=$hardcode_direct ...@@ -1025,37 +1584,33 @@ hardcode_direct=$hardcode_direct
# resulting binary. # resulting binary.
hardcode_minus_L=$hardcode_minus_L hardcode_minus_L=$hardcode_minus_L
# Set to yes if using RUNPATH_VAR=DIR during linking hardcodes DIR into the
# resulting binary.
hardcode_runpath_var=$hardcode_runpath_var
# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
# the resulting binary. # the resulting binary.
hardcode_shlibpath_var=$hardcode_shlibpath_var hardcode_shlibpath_var=$hardcode_shlibpath_var
EOF EOF
# Detect if we are using a relative or absolute path to ltmain.sh. case "$host_os" in
case "$ltmain" in aix3*)
/*) cat <<EOF2 >> $ofile cat <<\EOF >> "$ofile"
# Execute the libtool backend.
. $ltmain # AIX sometimes has problems with the GCC collect2 program. For some
EOF2 # reason, if we set the COLLECT_NAMES environment variable, the problems
;; # vanish in a puff of smoke.
*) cat <<EOF3 >> $ofile if test "${COLLECT_NAMES+set}" != set; then
# Find the path to this script. COLLECT_NAMES=
thisdir=\`echo "\$0" | sed -e 's%/[^/]*\$%%'\` export COLLECT_NAMES
test "X\$0" = "X\$thisdir" && thisdir=. fi
EOF
# Execute the libtool backend.
. \$thisdir/$ltmain
EOF3
;; ;;
esac esac
echo 'exit 1' >> $ofile echo '### END LIBTOOL CONFIG' >> "$ofile"
echo >> "$ofile"
# Append the ltmain.sh script.
cat "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1)
chmod +x $ofile chmod +x "$ofile"
exit 0 exit 0
# Local Variables: # Local Variables:
......
This source diff could not be displayed because it is too large. You can view the blob instead.
# Top-level script fragment to build everything for MPW.
Set savedir "`Directory`"
#Set Echo 1
Set ThisScript "{0}"
Set objdir ":"
Set verify 0
Set BuildTarget "none"
# Parse arguments.
Loop
Break If {#} == 0
If "{BuildTarget}" =~ /none/
Set BuildTarget "{1}"
Else
Echo Only one build target allowed, ignoring "{1}"
End If
Shift 1
End Loop
If "{BuildTarget}" =~ /none/
Set BuildTarget "all"
End If
If {verify} == 1
Echo "#" Doing "{ThisScript}" "{BuildTarget}" in "`Directory`" ...
End If
Set ranmake 0
If "`Exists Makefile`" != ""
Echo "Set Echo 1" >{BuildTarget}.makeout
Make -f Makefile {BuildTarget} >>{BuildTarget}.makeout
{BuildTarget}.makeout
Delete {BuildTarget}.makeout
Set ranmake 1
End If
If "`Exists Makefile.PPC`" != ""
Echo "Set Echo 1" >{BuildTarget}.makeout.ppc
Make -f Makefile.PPC {BuildTarget} >>{BuildTarget}.makeout.ppc
{BuildTarget}.makeout.ppc
Delete {BuildTarget}.makeout.ppc
Set ranmake 1
End If
If {ranmake} == 1
Exit
End If
# Dispatch on various pseudo-targets.
If "{BuildTarget}" =~ /all/
Echo Started `Date`
"{ThisScript}" all-gcc
"{ThisScript}" all-gdb
Echo Finished `Date`
Else If "{BuildTarget}" =~ /all-libiberty/
"{ThisScript}" do-libiberty
Else If "{BuildTarget}" =~ /all-bfd/
"{ThisScript}" do-bfd
Else If "{BuildTarget}" =~ /all-opcodes/
"{ThisScript}" do-opcodes
Else If "{BuildTarget}" =~ /all-byacc/
"{ThisScript}" do-byacc
Else If "{BuildTarget}" =~ /all-flex/
"{ThisScript}" all-libiberty
"{ThisScript}" do-flex
Else If "{BuildTarget}" =~ /all-binutils/
"{ThisScript}" all-libiberty
"{ThisScript}" all-bfd
"{ThisScript}" all-opcodes
"{ThisScript}" do-binutils
Else If "{BuildTarget}" =~ /all-gas/
"{ThisScript}" all-libiberty
"{ThisScript}" all-bfd
"{ThisScript}" all-opcodes
"{ThisScript}" do-gas
Else If "{BuildTarget}" =~ /all-gcc/
"{ThisScript}" all-libiberty
"{ThisScript}" all-gas
"{ThisScript}" all-binutils
"{ThisScript}" all-ld
"{ThisScript}" do-gcc
Else If "{BuildTarget}" =~ /all-gdb/
"{ThisScript}" all-libiberty
"{ThisScript}" all-bfd
"{ThisScript}" all-opcodes
"{ThisScript}" do-gdb
Else If "{BuildTarget}" =~ /all-grez/
"{ThisScript}" all-libiberty
"{ThisScript}" all-bfd
"{ThisScript}" do-grez
Else If "{BuildTarget}" =~ /all-ld/
"{ThisScript}" all-libiberty
"{ThisScript}" all-bfd
"{ThisScript}" all-opcodes
"{ThisScript}" do-ld
Else If "{BuildTarget}" =~ /do-byacc/
SetDirectory :byacc:
::mpw-build all
Else If "{BuildTarget}" =~ /do-flex/
SetDirectory :flex:
::mpw-build _bootstrap
::mpw-build all
Else If "{BuildTarget}" =~ /do-bfd/
SetDirectory :bfd:
::mpw-build all
Else If "{BuildTarget}" =~ /do-libiberty/
SetDirectory :libiberty:
::mpw-build all
Else If "{BuildTarget}" =~ /do-opcodes/
SetDirectory :opcodes:
::mpw-build all
Else If "{BuildTarget}" =~ /do-binutils/
SetDirectory :binutils:
::mpw-build stamps
::mpw-build all
Else If "{BuildTarget}" =~ /do-gas/
SetDirectory :gas:
::mpw-build stamps
::mpw-build all
Else If "{BuildTarget}" =~ /do-gcc/
SetDirectory :gcc:
:mpw-build all
Else If "{BuildTarget}" =~ /do-gdb/
SetDirectory :gdb:
::mpw-build all
Else If "{BuildTarget}" =~ /do-grez/
SetDirectory :grez:
::mpw-build all
Else If "{BuildTarget}" =~ /do-ld/
SetDirectory :ld:
::mpw-build all
Else If "{BuildTarget}" =~ /do-newlib/
SetDirectory :newlib:
::mpw-build all
Else If "{BuildTarget}" =~ /install/
"{ThisScript}" install-only-top
"{ThisScript}" install-binutils
"{ThisScript}" install-gas
"{ThisScript}" install-gcc
"{ThisScript}" install-ld
"{ThisScript}" install-gdb
Else If "{BuildTarget}" =~ /install-binutils/
SetDirectory :binutils:
::mpw-build install
Else If "{BuildTarget}" =~ /install-gas/
SetDirectory :gas:
::mpw-build install
Else If "{BuildTarget}" =~ /install-gcc/
SetDirectory :gcc:
:mpw-build install
Else If "{BuildTarget}" =~ /install-gdb/
SetDirectory :gdb:
::mpw-build install
Else If "{BuildTarget}" =~ /install-grez/
SetDirectory :grez:
::mpw-build install
Else If "{BuildTarget}" =~ /install-ld/
SetDirectory :ld:
::mpw-build install
Else If "{BuildTarget}" =~ /install-only/
"{ThisScript}" install-only-top
"{ThisScript}" install-only-binutils
"{ThisScript}" install-only-gas
"{ThisScript}" install-only-gcc
"{ThisScript}" install-only-gdb
"{ThisScript}" install-only-ld
Else If "{BuildTarget}" =~ /install-only-binutils/
SetDirectory :binutils:
::mpw-build install-only
Else If "{BuildTarget}" =~ /install-only-gas/
SetDirectory :gas:
::mpw-build install-only
Else If "{BuildTarget}" =~ /install-only-gcc/
SetDirectory :gcc:
:mpw-build install-only
Else If "{BuildTarget}" =~ /install-only-gdb/
SetDirectory :gdb:
::mpw-build install-only
Else If "{BuildTarget}" =~ /install-only-grez/
SetDirectory :grez:
::mpw-build install-only
Else If "{BuildTarget}" =~ /install-only-ld/
SetDirectory :ld:
::mpw-build install-only
Else If "{BuildTarget}" =~ /install-only-top/
NewFolderRecursive "{prefix}"
If "{prefix}" != "`Directory`"
Duplicate -y 'Read Me for MPW' "{prefix}"'Read Me for MPW'
Duplicate -y Install "{prefix}"Install
End If
Else
Echo {BuildTarget} not understood, ignoring
End If
SetDirectory "{savedir}"
# Configuration fragment for Cygnus source tree.
# Check that we can find all the special tools that we will need.
# The test for sed is semi-pointless, because it's already been invoked
# by the calculation of target_cpu in the main configure script, but
# the test will also show which one is being used.
Set Exit 0
Echo byacc is `Which byacc`
Echo flex is `Which flex`
Echo forward-include is `Which forward-include`
Echo MoveIfChange is `Which MoveIfChange`
Echo mpw-touch is `Which mpw-touch`
Echo mpw-true is `Which mpw-true`
Echo NewFolderRecursive is `Which NewFolderRecursive`
Echo null-command is `Which null-command`
Echo open-brace is `Which open-brace`
Echo sed is `Which sed`
Echo 'tr-7to8' is `Which tr-7to8`
Echo true is `Which true`
Set Exit 1
Set host_libs "mmalloc libiberty opcodes bfd readline gash tcl tk tclX"
Set host_tools "texinfo byacc flex bison binutils ld gas gcc gdb make patch \Option-d
prms send-pr gprof gdbtest tgas etc expect dejagnu sim bash \Option-d
m4 autoconf ispell grep diff rcs cvs fileutils shellutils time \Option-d
textutils wdiff find emacs emacs19 uudecode hello tar gzip indent \Option-d
recode release sed utils guile perl apache inet gawk"
Set target_libs "newlib"
Set target_tools "examples"
# Configure the resource compiler if targeting Macs.
If {target_os} =~ /macos/ || {target_os} =~ /mpw/
Set host_tools "{host_tools} grez"
End If
Set configdirs "{host_libs} {host_tools} {target_libs} {target_tools}"
Export configdirs
# Make up a special include directory that tools will share.
If "`Exists "{objdir}"extra-include`" == ""
NewFolder "{objdir}"extra-include
End If
Set edir "{objdir}extra-include:"
forward-include "{srcdir}"include:mpw:sys:file.h "{edir}"'sys/file.h'
forward-include "{srcdir}"include:mpw:sys:ioctl.h "{edir}"'sys/ioctl.h'
forward-include "{srcdir}"include:mpw:sys:param.h "{edir}"'sys/param.h'
forward-include "{srcdir}"include:mpw:sys:resource.h "{edir}"'sys/resource.h'
forward-include "{srcdir}"include:mpw:sys:stat.h "{edir}"'sys/stat.h'
forward-include "{srcdir}"include:mpw:sys:time.h "{edir}"'sys/time.h'
forward-include "{srcdir}"include:mpw:sys:types.h "{edir}"'sys/types.h'
forward-include "{srcroot}"include:aout:aout64.h "{edir}"'aout/aout64.h'
forward-include "{srcroot}"include:aout:ar.h "{edir}"'aout/ar.h'
forward-include "{srcroot}"include:aout:ranlib.h "{edir}"'aout/ranlib.h'
forward-include "{srcroot}"include:aout:reloc.h "{edir}"'aout/reloc.h'
forward-include "{srcroot}"include:aout:stab.def "{edir}"'aout/stab.def'
forward-include "{srcroot}"include:aout:stab_gnu.h "{edir}"'aout/stab_gnu.h'
If "`Exists "{srcroot}"include:aout:"{target_cpu}".h`" != ""
forward-include "{srcroot}"include:aout:"{target_cpu}".h "{edir}"'aout/'"{target_cpu}"'.h'
End If
forward-include "{srcroot}"include:coff:ecoff.h "{edir}"'coff/ecoff.h'
forward-include "{srcroot}"include:coff:internal.h "{edir}"'coff/internal.h'
forward-include "{srcroot}"include:coff:sym.h "{edir}"'coff/sym.h'
forward-include "{srcroot}"include:coff:symconst.h "{edir}"'coff/symconst.h'
If "`Exists "{srcroot}"include:coff:"{target_cpu}".h`" != ""
forward-include "{srcroot}"include:coff:"{target_cpu}".h "{edir}"'coff/'"{target_cpu}"'.h'
End If
If "{target_cpu}" =~ /powerpc/
forward-include "{srcroot}"include:coff:rs6000.h "{edir}"'coff/rs6000.h'
End If
forward-include "{srcroot}"include:elf:common.h "{edir}"'elf/common.h'
forward-include "{srcroot}"include:elf:dwarf.h "{edir}"'elf/dwarf.h'
forward-include "{srcroot}"include:elf:dwarf2.h "{edir}"'elf/dwarf2.h'
forward-include "{srcroot}"include:elf:external.h "{edir}"'elf/external.h'
forward-include "{srcroot}"include:elf:internal.h "{edir}"'elf/internal.h'
# Believe it or not, GDB needs this for all targets.
forward-include "{srcroot}"include:elf:mips.h "{edir}"'elf/mips.h'
If "`Exists "{srcroot}"include:elf:"{target_cpu}".h`" != ""
forward-include "{srcroot}"include:elf:"{target_cpu}".h "{edir}"'elf/'"{target_cpu}"'.h'
End If
If "{target_cpu}" =~ /powerpc/
forward-include "{srcroot}"include:elf:ppc.h "{edir}"'elf/ppc.h'
End If
If "`Exists "{srcroot}"include:opcode:"{target_cpu}".h`" != ""
forward-include "{srcroot}"include:opcode:"{target_cpu}".h "{edir}"'opcode/'"{target_cpu}"'.h'
End If
If "{target_cpu}" =~ /powerpc/
forward-include "{srcroot}"include:opcode:ppc.h "{edir}"'opcode/ppc.h'
End If
# Add some bfd includes that get mentioned outside the bfd dir.
forward-include "{srcroot}"bfd:libcoff.h "{edir}"'bfd/libcoff.h'
forward-include "{srcroot}"bfd:libecoff.h "{edir}"'bfd/libecoff.h'
# Translate random files into MPW-only character set.
tr-7to8 "{srcdir}"mpw-README > "{objdir}Read Me for MPW"
tr-7to8 "{srcdir}"mpw-install > "{objdir}"Install
# Configuration script
# Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
# 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.
### WARNING
### This script must NOT use any 8-bit chars!
### WARNING
# This is an MPW Shell script that sets everything up for compilation,
# mainly creating directories, and editing copies of files.
Set savedir "`Directory`"
#Set Echo 1
Set ThisScript "{0}"
Set srcroot "--------"
Set srcdir ":"
Set objdir ":"
Set prefix "{MPW}":GNUTools:
Set exec_prefix ""
Set bindir ""
Set host_alias "m68k-apple-mpw"
Set target_alias {host_alias}
Set host_cc "mpwc"
Set with_gnu_ld 0
Set helpoutput 0
Set recurse 1
Set verify 0
Set verifystr ""
Set enable_options ""
Set disable_options ""
# Parse arguments.
Loop
Break If {#} == 0
If "{1}" =~ /--cc/
Set host_cc "{2}"
Shift 1
Else If "{1}" =~ /--bindir/
Set bindir "{2}"
Shift 1
Else If "{1}" =~ /--disable-?+/
Set `Echo {1} | sed -e 's/--disable-/enable_/'` no
Set disable_options "{disable_options} '{1}'"
Else If "{1}" =~ /--enable-?+/
Set `Echo {1} | sed -e 's/--enable-/enable_/'` yes
Set enable_options "{enable_options} '{1}'"
Else If "{1}" =~ /--exec-prefix/
Set exec_prefix "{2}"
Shift 1
Else If "{1}" =~ /--help/
Set helpoutput 1
Else If "{1}" =~ /--host/
Set host_alias "{2}"
Shift 1
Else If "{1}" =~ /--norecursion/
Set recurse 0
Else If "{1}" =~ /--prefix/
Set prefix "{2}"
Shift 1
Else If "{1}" =~ /--srcdir/
Set srcdir "{2}"
Shift 1
Else If "{1}" =~ /--srcroot/
Set srcroot "{2}"
Shift 1
Else If "{1}" =~ /--target/
Set target_alias "{2}"
Shift 1
Else If "{1}" =~ /-v/
Set verify 1
Set verifystr "-v"
Else If "{1}" =~ /--with-gnu-ld/
Set with_gnu_ld 1
Else
Echo -n 'mpw-configure: Unrecognized option: "'
Echo -n "{1}"
Echo '"; use --help for usage.'
Exit 1
End If
Shift 1
End Loop
If {helpoutput} == 1
Echo "Usage: mpw-configure [OPTIONS]"
Echo ""
Echo "Options: [defaults in brackets]"
Echo "--bindir DIR directory for binaries []"
Echo "--cc CC use C compiler CC [mpwc]"
Echo "--disable-FOO do not include feature FOO"
Echo "--enable-FOO include feature FOO"
Echo "--exec-prefix DIR install host-dependent files into DIR []"
Echo "--help print this message"
Echo "--host HOST configure for HOST [m68k-apple-mpw]"
Echo "--norecursion configure this directory only [recurse]"
Echo "--prefix DIR install into DIR [{MPW}:GNUTools:]"
Echo "--srcdir DIR find the sources in DIR [:]"
Echo "--srcroot DIR find the toplevel sources in DIR [:]"
Echo "--target TARGET configure for TARGET [TARGET=HOST]"
Echo "-v verbose"
Echo "--with-gnu-ld link using GNU ld [no]"
Exit 0
End If
Set Exit 0
# Default exec_prefix from prefix.
If "{exec_prefix}" == ""
Set exec_prefix "{prefix}"
End If
If "{bindir}" == ""
Set bindir "{prefix}"bin:
End If
# Point to the correct set of tools to use with the chosen compiler.
If "{host_cc}" =~ /mpwc/
Set host_alias "m68k-apple-mpw"
Set cc_name '{CC_MPW_C}'
Set segment_flag '-s '
Set ar_name '{AR_LIB}'
Set ranlib_name '{RANLIB_NULL}'
Set cc_ld_name '{CC_LD_LINK}'
Set prog_ext_name '{PROG_EXT_68K}'
Set extralibs_name '{EXTRALIBS_C}'
Set makepef_name '{MAKEPEF_NULL}'
Set rez_name '{REZ_68K}'
Else If "{host_cc}" =~ /sc68k/
Set host_alias "m68k-apple-mpw"
Set cc_name '{CC_SC}'
Set segment_flag '-s '
Set ar_name '{AR_LIB}'
Set ranlib_name '{RANLIB_NULL}'
Set cc_ld_name '{CC_LD_LINK}'
Set prog_ext_name '{PROG_EXT_68K}'
Set extralibs_name '{EXTRALIBS_C}'
Set makepef_name '{MAKEPEF_NULL}'
Set rez_name '{REZ_68K}'
Else If "{host_cc}" =~ /mwc68k/
Set host_alias "m68k-apple-mpw"
Set cc_name '{CC_MWC68K}'
Set segment_flag '-s '
Set ar_name '{AR_MWLINK68K}'
Set ranlib_name '{RANLIB_NULL}'
Set cc_ld_name '{CC_LD_MWLINK68K}'
Set prog_ext_name '{PROG_EXT_68K}'
Set extralibs_name '{EXTRALIBS_MWC68K}'
Set makepef_name '{MAKEPEF_NULL}'
Set rez_name '{REZ_68K}'
Else If "{host_cc}" =~ /gcc68k/
Set host_alias "m68k-apple-mpw"
Set cc_name '{CC_68K_GCC}'
Set segment_flag '-s '
Set ar_name '{AR_68K_AR}'
Set ranlib_name '{RANLIB_RANLIB}'
Set cc_ld_name '{CC_68K_GCC}'
Set prog_ext_name '{PROG_EXT_68K}'
Set extralibs_name '{EXTRALIBS_C}'
Set makepef_name '{MAKEPEF_NULL}'
Set rez_name '{REZ_68K}'
Else If "{host_cc}" =~ /ppcc/
Set host_alias "powerpc-apple-mpw"
Set cc_name '{CC_PPCC}'
Set segment_flag '-d ___s_e_g___='
Set ar_name '{AR_PPCLINK}'
Set ranlib_name '{RANLIB_NULL}'
Set cc_ld_name '{CC_LD_PPCLINK}'
Set prog_ext_name '{PROG_EXT_XCOFF}'
Set extralibs_name '{EXTRALIBS_PPC}'
Set makepef_name '{MAKEPEF_PPC}'
Set rez_name '{REZ_PPC}'
Else If "{host_cc}" =~ /mrc/
Set host_alias "powerpc-apple-mpw"
Set cc_name '{CC_MRC}'
Set segment_flag '-d ___s_e_g___='
Set ar_name '{AR_PPCLINK}'
Set ranlib_name '{RANLIB_NULL}'
Set cc_ld_name '{CC_LD_PPCLINK}'
Set prog_ext_name '{PROG_EXT_XCOFF}'
Set extralibs_name '{EXTRALIBS_PPC}'
Set makepef_name '{MAKEPEF_PPC}'
Set rez_name '{REZ_PPC}'
Else If "{host_cc}" =~ /scppc/
Set host_alias "powerpc-apple-mpw"
Set cc_name '{CC_SC}'
Set segment_flag '-d ___s_e_g___='
Set ar_name '{AR_PPCLINK}'
Set ranlib_name '{RANLIB_NULL}'
Set cc_ld_name '{CC_LD_PPCLINK}'
Set prog_ext_name '{PROG_EXT_XCOFF}'
Set extralibs_name '{EXTRALIBS_PPC}'
Set makepef_name '{MAKEPEF_PPC}'
Set rez_name '{REZ_PPC}'
Else If "{host_cc}" =~ /mwcppc/
Set host_alias "powerpc-apple-mpw"
Set cc_name '{CC_MWCPPC}'
Set segment_flag '-d ___s_e_g___='
Set ar_name '{AR_MWLINKPPC}'
Set ranlib_name '{RANLIB_NULL}'
Set cc_ld_name '{CC_LD_MWLINKPPC}'
# Misleading, but we don't need a PEF step.
Set prog_ext_name '{PROG_EXT_68K}'
Set extralibs_name '{EXTRALIBS_MWCPPC}'
Set makepef_name '{MAKEPEF_NULL}'
Set rez_name '{REZ_PPC}'
Else If "{host_cc}" =~ /gccppc/
Set host_alias "powerpc-apple-mpw"
Set cc_name '{CC_PPC_GCC}'
Set segment_flag '-d ___s_e_g___='
Set ar_name '{AR_PPCLINK}'
If {with_gnu_ld} == 1
Set ranlib_name '{RANLIB_RANLIB}'
Set cc_ld_name '{CC_LD_GLD}'
Else
Set ranlib_name '{RANLIB_NULL}'
Set cc_ld_name '{CC_LD_PPCLINK}'
End If
Set prog_ext_name '{PROG_EXT_XCOFF}'
Set extralibs_name '{EXTRALIBS_PPC}'
Set makepef_name '{MAKEPEF_PPC}'
Set rez_name '{REZ_PPC}'
Else
Echo "{host_cc}" is not a known MPW compiler type
End If
Set dash_c_flag ''
If "{host_cc}" =~ /gcc68k/
Set dash_c_flag '-c'
Else If "{host_cc}" =~ /gccppc/
Set dash_c_flag '-c'
End If
# (should interpret aliases if not in canonical form)
Set host_canonical "{host_alias}"
Set target_canonical "{target_alias}"
Set configdirs ""
If "{srcroot}" =~ /--------/
Set srcroot "{srcdir}"
End If
If "`Exists "{srcdir}"`" == ""
Echo Source directory {srcdir} does not exist!
Exit 1
End If
If "`Exists "{srcroot}"`" == ""
Echo Top-level source directory {srcroot} does not exist!
Exit 1
End If
Set target_cpu "`echo {target_canonical} | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`"
Set target_vendor "`echo {target_canonical} | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`"
Set target_os "`echo {target_canonical} | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`"
# Create a file that is guaranteed to be older than any other here.
If "`Exists "{objdir}"_oldest`" == ""
mpw-touch _oldest
End If
# Record this before creating any files, makefiles sometimes mention
# dependencies on config.status.
Echo "# This directory was configured as follows:" >config.new
Echo "{ThisScript} --host {host_alias} --target {target_alias} --srcdir {srcdir} --srcroot {srcroot} --prefix {prefix} --cc {host_cc} {verifystr} {enable_options} {disable_options} --norecursion" >>config.new
MoveIfChange config.new config.status
If "`Exists "{srcdir}"mpw-config.in`" != ""
tr-7to8 "{srcdir}"mpw-config.in >"{objdir}"mpw-config.in
Execute "{objdir}"mpw-config.in
End If
# Start Makefile construction by defining all the variables chosen by
# configuration.
Echo "# This Makefile produced by mpw-configure. Changes may get lost!" > "{objdir}"Makefile.tem
Echo "srcroot = " {srcroot} >> "{objdir}"Makefile.tem
Echo "topsrcdir = " {srcroot} >> "{objdir}"Makefile.tem
Echo "srcdir = " {srcdir} >> "{objdir}"Makefile.tem
Echo "mpw_prefix = " {prefix} >> "{objdir}"Makefile.tem
Echo "mpw_exec_prefix = " {exec_prefix} >> "{objdir}"Makefile.tem
Echo "mpw_bindir = " {bindir} >> "{objdir}"Makefile.tem
Echo "host_alias = " {host_alias} >> "{objdir}"Makefile.tem
Echo "target_alias = " {target_alias} >> "{objdir}"Makefile.tem
Echo "target_cpu = " {target_cpu} >> "{objdir}"Makefile.tem
Echo "target_vendor = " {target_vendor} >> "{objdir}"Makefile.tem
Echo "target_os = " {target_os} >> "{objdir}"Makefile.tem
Echo "target_canonical = " {target_canonical} >> "{objdir}"Makefile.tem
Echo "host_makefile_frag = " >> "{objdir}"Makefile.tem
Echo "target_makefile_frag = " >> "{objdir}"Makefile.tem
Echo "CC = " {cc_name} >> "{objdir}"Makefile.tem
Echo "AR = " {ar_name} >> "{objdir}"Makefile.tem
Echo "RANLIB = " {ranlib_name} >> "{objdir}"Makefile.tem
Echo "CC_LD = " {cc_ld_name} >> "{objdir}"Makefile.tem
Echo "PROG_EXT = " {prog_ext_name} >> "{objdir}"Makefile.tem
Echo "EXTRALIBS = " {extralibs_name} >> "{objdir}"Makefile.tem
Echo "MAKEPEF = " {makepef_name} >> "{objdir}"Makefile.tem
Echo "REZ = " {rez_name} >> "{objdir}"Makefile.tem
If {host_cc} =~ /gccppc/
Echo -n "dq =\Option-d\Option-d\Option-d" > "{objdir}"Makefile.tem0
Echo '"' >> "{objdir}"Makefile.tem0
tr-7to8 "{objdir}"Makefile.tem0 >>"{objdir}"Makefile.tem
Else
Echo -n "dq ='" >> "{objdir}"Makefile.tem
Echo -n '"' >> "{objdir}"Makefile.tem
Echo "'" >> "{objdir}"Makefile.tem
End If
# Append the master set of definitions for the various compilers.
If "`Exists "{srcdir}"config:mpw-mh-mpw`" != ""
tr-7to8 "{srcdir}"config:mpw-mh-mpw >>"{objdir}"Makefile.tem
Else If "`Exists "{srcroot}"config:mpw-mh-mpw`" != ""
tr-7to8 "{srcroot}"config:mpw-mh-mpw >>"{objdir}"Makefile.tem
Else
Echo "can't find a host config file!"
Exit 0
End If
# Append anything produced by the directory's mpw-config.in.
If "`Exists "{objdir}"mk.tmp`" != ""
Catenate "{objdir}"mk.tmp >>"{objdir}"Makefile.tem
# An mpw-config.in might change so as not to create this
# anymore, so get rid of it now to be safe.
Delete -i -y "{objdir}"mk.tmp
End If
# If there are sed scripts to edit the Unix Makefile.in, use them; otherwise
# use an mpw-make.in if present.
If "`Exists "{srcdir}"mpw-make.sed`" != ""
If "`Exists "{objdir}"hacked_Makefile.in`" != ""
Set MakefileIn "{objdir}"hacked_Makefile.in
Else
Set MakefileIn "{srcdir}"Makefile.in
End If
# Find the generic makefile editing script.
If "`Exists "{srcroot}"config:mpw:g-mpw-make.sed`" != ""
sed -f "{srcroot}"config:mpw:g-mpw-make.sed "{MakefileIn}" >"{objdir}"Makefile.tem1
Else If "`Exists "{srcroot}"utils:mpw:g-mpw-make.sed`" != ""
sed -f "{srcroot}"utils:mpw:g-mpw-make.sed "{MakefileIn}" >"{objdir}"Makefile.tem1
Else If "`Exists "{srcdir}"g-mpw-make.sed`" != ""
sed -f "{srcdir}"g-mpw-make.sed "{MakefileIn}" >"{objdir}"Makefile.tem1
Else
Echo Warning: g-mpw-make.sed not found, copying "{MakefileIn}" verbatim...
Catenate "{MakefileIn}" >"{objdir}"Makefile.tem1
End If
sed -f "{srcdir}"mpw-make.sed "{objdir}"Makefile.tem1 >"{objdir}"Makefile.tem2
sed -e 's/^prefix = .*$/prefix = {mpw_prefix}/g' -e 's/^exec_prefix = .*$/exec_prefix = {mpw_exec_prefix}/g' -e 's/^bindir = @bindir@/bindir = {mpw_bindir}/g' "{objdir}"Makefile.tem2 >"{objdir}"Makefile.tem3
sed -e "s/@DASH_C_FLAG@/{dash_c_flag}/" -e "s/@SEGMENT_FLAG(\([^)]*\))@/{segment_flag}\1/" "{objdir}"Makefile.tem3 >"{objdir}"mpw-make.in
tr-7to8 "{objdir}"mpw-make.in >>"{objdir}"Makefile.tem
If "`Exists "{objdir}"mk.sed`" != ""
sed -f "{objdir}"mk.sed "{objdir}"Makefile.tem >"{objdir}"Makefile.tem2
Rename -y "{objdir}"Makefile.tem2 "{objdir}"Makefile.tem
End If
MoveIfChange "{objdir}"Makefile.tem "{objdir}"Makefile
Delete -i -y "{objdir}"Makefile.tem[12]
If {verify} == 1
Echo Created Makefile in "`Directory`"
End If
Else If "`Exists "{srcdir}"mpw-make.in`" != ""
sed -e 's/^prefix = .*$/prefix = {mpw_prefix}/g' "{srcdir}"mpw-make.in >"{objdir}"Makefile.tem1
sed -e "s/@DASH_C_FLAG@/{dash_c_flag}/" -e "s/@SEGMENT_FLAG(\([^)]*\))@/{segment_flag}}\1/" "{objdir}"Makefile.tem1 >"{objdir}"Makefile.tem2
tr-7to8 "{objdir}"Makefile.tem2 >>"{objdir}"Makefile.tem
If "`Exists "{objdir}"mk.sed`" != ""
sed -f "{objdir}"mk.sed "{objdir}"Makefile.tem >"{objdir}"Makefile.tem2
Rename -y "{objdir}"Makefile.tem2 "{objdir}"Makefile.tem
End If
MoveIfChange "{objdir}"Makefile.tem "{objdir}"Makefile
Delete -i -y "{objdir}"Makefile.tem[12]
If {verify} == 1
Echo Created Makefile in "`Directory`"
End If
End If
# Produce a build script if the source is defined.
If "`Exists "{srcdir}"mpw-build.in`" != ""
Echo "Set srcroot " {srcroot} > "{objdir}"mpw-build.tem
Echo "Set srcdir " {srcdir} >> "{objdir}"mpw-build.tem
Echo "Set target_canonical " {target_canonical} >> "{objdir}"mpw-build.tem
Echo "Set prefix " {prefix} >> "{objdir}"mpw-build.tem
tr-7to8 "{srcdir}"mpw-build.in >>"{objdir}"mpw-build.tem
MoveIfChange "{objdir}"mpw-build.tem "{objdir}"mpw-build
If {verify} == 1
Echo Created mpw-build in "`Directory`"
End If
End If
# Apply ourselves recursively to the list of subdirectories to configure.
If {recurse} == 1
For subdir In {configdirs}
Set savedir "`Directory`"
If "`Exists "{srcdir}{subdir}:"`" == ""
If {verify} == 1
Echo No "{srcdir}{subdir}:" found, skipping
End If
Continue
End If
If {verify} == 1
Echo Configuring {subdir}...
End If
If "`Exists "{objdir}{subdir}:"`" == ""
NewFolder "{objdir}{subdir}"
End If
SetDirectory "{objdir}{subdir}:"
"{ThisScript}" --target "{target_canonical}" --srcdir "{srcdir}{subdir}:" --srcroot "{srcroot}" --prefix "{prefix}" --cc "{host_cc}" {verifystr} {enable_options} {disable_options}
SetDirectory "{savedir}"
End For
End If
SetDirectory "{savedir}"
# GNU Install script for MPW.
Set OldExit "{Exit}"
Set Exit 0
Set TempUserStartup "{TempFolder}"__temp__UserStartup
Echo '# UserStartup generated by GNU Install script' > "{TempUserStartup}"
Echo '' >> "{TempUserStartup}"
# (should) Check that disk space is sufficient for installation.
# Assume that the install script is where everything else is.
Set thisdir "`Directory`"
# Copy the binaries to the desired place.
Confirm -t "Copy the binaries to somewhere else?"
Set TmpStatus {Status}
If {TmpStatus} == 0
Set bindest "`GetFileName -d -m "Where to install the binaries?"`"
If {Status} == 0
If "`Exists "{thisdir}bin"`" != ""
For afile In "{thisdir}"bin:\Option-x
Duplicate -y "{afile}" "{bindest}"
End For
Else
Echo "bin directory not found, exiting"
Exit 1
End If
Else
Echo "No destination supplied, exiting"
Exit 1
End If
Else If {TmpStatus} == 4
# Use the existing directory.
Set bindest "{thisdir}bin:"
Else
# Cancelled from confirmation, escape altogether.
Exit 1
End If
# Copy the libraries to the desired place.
Confirm -t "Copy the libraries to somewhere else?"
Set TmpStatus {Status}
If {TmpStatus} == 0
Set libdest "`GetFileName -d -m "Where to install the libraries?"`"
If {Status} == 0
If "`Exists "{thisdir}lib:"`" != ""
For afile In "{thisdir}"lib:\Option-x
Duplicate -y "{afile}" "{libdest}"
End For
Else
Echo "lib directory not found, exiting"
Exit 1
End If
Else
Echo "No destination supplied, exiting"
Exit 1
End If
Else If {TmpStatus} == 4
# Use the existing directory.
Set libdest "{thisdir}lib:"
Else
# Cancelled from confirmation, escape altogether.
Exit 1
End If
# Add the location of the binaries to the command path.
Echo -n 'Set Commands "' >> "{TempUserStartup}"
Echo -n "{bindest}" >> "{TempUserStartup}"
Echo ',{Commands}"' >> "{TempUserStartup}"
Echo '' >> "{TempUserStartup}"
# Set up GCC exec prefix.
Set gcclibdir "{libdest}"gcc-lib:
Echo -n 'Set GCC_EXEC_PREFIX "' >> "{TempUserStartup}"
Echo -n "{gcclibdir}" >> "{TempUserStartup}"
Echo '"' >> "{TempUserStartup}"
Echo "Export GCC_EXEC_PREFIX" >> "{TempUserStartup}"
Echo '' >> "{TempUserStartup}"
# Set up path to libgcc.xcoff etc.
Echo -n 'Set GCCPPCLibraries "' >> "{TempUserStartup}"
Echo -n "{libdest}" >> "{TempUserStartup}"
Echo '"' >> "{TempUserStartup}"
Echo "Export GCCPPCLibraries" >> "{TempUserStartup}"
Echo '' >> "{TempUserStartup}"
# Display contents of UserStartup, confirm installation.
Set UserStartupName "UserStartup\Option-8GNU"
Echo "Contents of" {UserStartupName} "will be:"
Catenate "{TempUserStartup}"
Confirm "Install {UserStartupName} into the MPW folder {MPW} ?"
If {Status} == 0
Duplicate "{TempUserStartup}" "{MPW}{UserStartupName}"
Delete -y "{TempUserStartup}"
Else
Echo "{UserStartupName} file not installed"
End If
# (should) Check HEXA resource, warn if low.
# (should) Check for spaces in pathnames, warn if found.
Echo "Installation was successful."
Echo ""
Echo "Be sure to review the usage notes in 'Read Me for MPW' before proceeding!"
# Restore previous settings.
Set Exit "{OldExit}"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment