From: Gordon Matzigkeit Date: Sat, 8 Nov 1997 06:25:09 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: release-1-0~53 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ff915e483eae14e75224013589d49cfad6c6addb;p=thirdparty%2Flibtool.git *** empty log message *** --- diff --git a/ChangeLog b/ChangeLog index d850a02dc..cf139f9b6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +Fri Nov 7 11:31:22 1997 Gordon Matzigkeit + + * libtool.m4 (LD): Add a more sophisticated test to determine the + ABI flag on IRIX 6. Suggested by Lars Hecking and Ian Lance + Taylor. + + * ltconfig.in, ltmain.in (COLLECT_NAMES): Only export this + variable if we are running under AIX. Otherwise, we tickle a g++ + bug under IRIX. From Paul Kendall. + + * Change bug reporting address to . + + * ltconfig.in (allow_undefined_flag): OSF/1 3.x also requires a + wildcard argument to `-expect_unresolved'. From Stephan Kulow. + Thu Nov 6 08:11:25 1997 Gordon Matzigkeit * ltmain.in (link): Use libname_spec. @@ -285,11 +300,11 @@ Fri Aug 1 10:06:55 1997 Gordon Matzigkeit libtool objects. This means that dlopened modules no longer need to be shared libraries. - * ltconfig.in (pic_flag): GCC on Irix 6 always builds PIC. + * ltconfig.in (pic_flag): GCC on IRIX 6 always builds PIC. Reported by Ian Lance Taylor. * libtool.m4 (LD): Always add `-n32' to the linker if we are using - GCC on Irix 6. Reported by Ian Lance Taylor. + GCC on IRIX 6. Reported by Ian Lance Taylor. Wed Jul 30 13:11:09 1997 Gordon Matzigkeit diff --git a/README b/README index d4a128630..5cfc54c3b 100644 --- a/README +++ b/README @@ -36,6 +36,6 @@ library support was tested on. If you have any suggestions or bug reports, or you wish to port libtool to a new platform, please send electronic mail to the libtool -mailing list . Don't forget to mention -the version of libtool that you are currently using (by typing -`ltconfig --version'). +mailing list . Don't forget to mention the +version of libtool that you are currently using (by typing `ltconfig +--version'). diff --git a/README-alpha b/README-alpha index 8f2dc5e45..d87c78392 100644 --- a/README-alpha +++ b/README-alpha @@ -2,7 +2,7 @@ This is an alpha testing release of GNU libtool. Please do not send any bug reports or questions about it to public forums (such as GNU newsgroups), send them directly to the libtool -mailing list . +mailing list . Automake diff --git a/doc/libtool.texi b/doc/libtool.texi index 6a306648c..d343a469c 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -7,8 +7,8 @@ @c %**end of header @include version.texi -@set BUGADDR the libtool mailing list @code{} -@set objdir _libs +@set BUGADDR the libtool mailing list @code{} +@set objdir .libs @dircategory GNU programming tools @direntry @@ -613,7 +613,7 @@ Now that's significantly cooler@dots{} libtool just ran an obscure library. @c FIXME: TeX cannot handle @value{objdir} in an index entry -@cindex @file{_libs} subdirectory +@cindex @file{.libs} subdirectory @c @cindex @file{@value{objdir}} subdirectory Note how libtool creates extra files in the @file{@value{objdir}} subdirectory, rather than the current directory. This feature is to diff --git a/libtool.m4 b/libtool.m4 index e6482af06..6ef59eb80 100644 --- a/libtool.m4 +++ b/libtool.m4 @@ -21,7 +21,7 @@ ## configuration script generated by Autoconf, you may include it under ## the same distribution terms that you use for the rest of that program. -# serial 16 AM_PROG_LIBTOOL +# serial 17 AM_PROG_LIBTOOL AC_DEFUN(AM_PROG_LIBTOOL, [AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_PROG_RANLIB]) @@ -68,12 +68,28 @@ test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" [case "$host" in *-*-irix6*) ac_save_CFLAGS="$CFLAGS" - # -n32 always needs to be added to the linker when using GCC. - test "$ac_cv_prog_gcc" = yes && CFLAGS="$CFLAGS -n32" - for f in '-32' '-64' '-cckr' '-n32' '-mips1' '-mips2' '-mips3' '-mips4'; do - if echo " $CC $CFLAGS " | egrep -e "[ ]$f[ ]" > /dev/null; then - LD="${LD-ld} $f" - fi + flag_passed=no + for f in -32 -64 -n32 ABI -cckr -mips1 -mips2 -mips3 -mips4; do + case "$f" in + ABI) + test -n "$SGI_ABI" && flag_passed=yes + if test "$flag_passed" = no && test "$ac_cv_prog_gcc" = yes; then + # Choose the ABI flag according to GCC's specs. + if $CC -dumpspecs 2>&1 | sed '/^\*link:$/,/^$/!d' | egrep -e '[ ]-32' >/dev/null; then + LD="${LD-ld} -32" + else + LD="${LD-ld} -n32" + fi + fi + ;; + + *) + if echo " $CC $CFLAGS " | egrep -e "[ ]$f[ ]" > /dev/null; then + flag_passed=yes + LD="${LD-ld} $f" + fi + ;; + esac done CFLAGS="$ac_save_CFLAGS" ;; diff --git a/ltconfig.in b/ltconfig.in index 9ef33a28f..62b1ecd98 100755 --- a/ltconfig.in +++ b/ltconfig.in @@ -46,14 +46,6 @@ sed_quote_subst='s/\([\\"$\\\\]\)/\\\1/g' # Same as above, but don't quote variable references. double_quote_subst='s/\([\\"\\\\]\)/\\\1/g' -# 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 - # Global variables: can_build_shared=yes enable_shared=yes @@ -286,6 +278,18 @@ host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +case "$host_os" in +aix*) + # 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. old_archive_cmds='$AR cru $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' @@ -776,14 +780,7 @@ else old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def' ;; - osf3*) - allow_undefined_flag=' -expect_unresolved' - 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_separator=: - ;; - - osf4*) + osf3* | osf4*) allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$LD -shared${allow_undefined_flag} -o $lib -soname $soname -set_version $verstring$libobjs$deplibs' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' @@ -1374,21 +1371,36 @@ hardcode_shlibpath_var=$hardcode_shlibpath_var EOF +case "$host_os" in +aix*) + cat <<\EOF +# 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 + ;; +esac + # Detect if we are using a relative or absolute path to ltmain.sh. case "$ltmain" in -/*) cat <> $ofile +/*) cat <> $ofile # Execute the libtool backend. . $ltmain -EOF2 +EOF ;; -*) cat <> $ofile +*) cat <> $ofile # Find the path to this script. thisdir=\`echo "\$0" | sed -e 's%/[^/]*\$%%'\` test "X\$0" = "X\$thisdir" && thisdir=. # Execute the libtool backend. . \$thisdir/$ltmain -EOF3 +EOF ;; esac diff --git a/ltmain.in b/ltmain.in index ee41b5a59..8fb8a40fe 100644 --- a/ltmain.in +++ b/ltmain.in @@ -81,21 +81,12 @@ if test "$LTCONFIG_VERSION" != "$VERSION"; then exit 1 fi -# if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then $echo "$progname: not configured to build any kind of library" 1>&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit 1 fi -# 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 - # Global variables. mode=$default_mode nonopt= @@ -1171,19 +1162,17 @@ if test -z "$show_help"; then finalize_command=`$echo "$finalize_command " | sed -e 's/\.lo /.o /g' -e 's/ $//'` fi - if test "$export_dynamic" = yes && test -n "$global_symbol_pipe"; then + if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${output}S.c" + else + dlsyms= + fi + + if test -n "$dlsyms"; then # Add our own program objects to the preloaded list. dlprefiles=`$echo "$objs$dlprefiles " | sed -e 's/\.lo /.o /g' -e 's/ $//'` - # Discover the nlist of each of the dlfiles. - if test -n "$NM" && test -n "$global_symbol_pipe"; then - dlsyms="${output}S.c" - else - NM= - global_symbol_pipe= - dlsyms= - fi - + # Discover the nlist of each of the dlfiles. nlist="$objdir/${output}.nm" if test -d $objdir; then @@ -1200,10 +1189,8 @@ if test -z "$show_help"; then fi for arg in $dlprefiles; do - if test -n "$NM"; then - $show "extracting global C symbols from \`$arg'" - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - fi + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" done # Parse the name list into a source file.