Subject: Re: libtool fails w/o c++ compiler
To: Julio M. Merino Vidal <jmmv@menta.net>
From: grant beattie <grant@NetBSD.org>
List: tech-pkg
Date: 11/28/2004 01:10:29
--n/aVsWSeQ4JHkrmm
Content-Type: multipart/mixed; boundary="H8ygTp4AXg6deix2"
Content-Disposition: inline


--H8ygTp4AXg6deix2
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Nov 27, 2004 at 09:22:25PM +1100, grant beattie wrote:

> > Upon inspection of config.log, I found that cpp couldn't open cc1plus.
> > And, after installing the gcc-g++ package, all worked fine.  Which could
> > be the right solution here?  Mark the package as c++-dependent?  Avoid
> > using c++?
>=20
> I found this was also case on Tru64 where you get a c compiler but no
> c++ compiler in base (though the failure is slightly different, the
> command to extract symbols from libraries fails for me).

try replacing patch-ab with the attached version. it changes where
$CXX gets used, and fixes the "extract symbols" test on osf1 for me.
it should fix other problems that happen when a c++ compiler isn't
found, too.

grant.


--H8ygTp4AXg6deix2
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="libtool.patch-ab"
Content-Transfer-Encoding: quoted-printable

$NetBSD$

--- configure.orig	2004-09-19 22:22:04.000000000 +1000
+++ configure
@@ -322,11 +322,11 @@ else
=20
   if test "X$echo" =3D Xecho; then
     # We didn't find a better echo, so look for alternatives.
-    if test "X`(print -r '\t') 2>/dev/null`" =3D 'X\t' &&
+    if test "X`(print -r - '\t') 2>/dev/null`" =3D 'X\t' &&
        echo_testing_string=3D`(print -r "$echo_test_string") 2>/dev/null` =
&&
        test "X$echo_testing_string" =3D "X$echo_test_string"; then
       # This shell has a builtin print -r that does the trick.
-      echo=3D'print -r'
+      echo=3D'print -r -'
     elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
 	 test "X$CONFIG_SHELL" !=3D X/bin/ksh; then
       # If we have ksh, try running configure again with it.
@@ -4534,6 +4534,10 @@ hpux10.20* | hpux11*)
   esac
   ;;
=20
+interix3*)
+  lt_cv_deplibs_check_method=3D'match_pattern /lib[^/]+(\.so|\.a)$'
+  ;;
+
 irix5* | irix6* | nonstopux*)
   case $LD in
   *-32|*"-32 ") libmagic=3D32-bit;;
@@ -5690,12 +5694,7 @@ fi
=20
 done
=20
-
-
-if test -n "$CXX" && ( test "X$CXX" !=3D "Xno" &&
-    ( (test "X$CXX" =3D "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" !=3D "Xg++"))) ; then
-  ac_ext=3Dcc
+ac_ext=3Dcc
 ac_cpp=3D'$CXXCPP $CPPFLAGS'
 ac_compile=3D'$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link=3D'$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftes=
t.$ac_ext $LIBS >&5'
@@ -5919,13 +5918,18 @@ See \`config.log' for more details." >&2
    { (exit 1); exit 1; }; }
 fi
=20
-ac_ext=3Dcc
-ac_cpp=3D'$CXXCPP $CPPFLAGS'
-ac_compile=3D'$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link=3D'$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftes=
t.$ac_ext $LIBS >&5'
-ac_compiler_gnu=3D$ac_cv_cxx_compiler_gnu
-
-fi
+# these checks don't use c++
+#
+#ac_ext=3Dcc
+#ac_cpp=3D'$CXXCPP $CPPFLAGS'
+#ac_compile=3D'$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+#ac_link=3D'$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS confte=
st.$ac_ext $LIBS >&5'
+#ac_compiler_gnu=3D$ac_cv_cxx_compiler_gnu
+ac_ext=3Dc
+ac_cpp=3D'$CPP $CPPFLAGS'
+ac_compile=3D'$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link=3D'$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$=
ac_ext $LIBS >&5'
+ac_compiler_gnu=3D$ac_cv_c_compiler_gnu
=20
=20
=20
@@ -6021,7 +6025,6 @@ fi
=20
=20
=20
-
 # Check for command to grab the raw symbol name followed by C symbol from =
nm.
 echo "$as_me:$LINENO: checking command to parse $NM output from $compiler =
object" >&5
 echo $ECHO_N "checking command to parse $NM output from $compiler object..=
. $ECHO_C" >&6
@@ -6042,10 +6045,10 @@ sympat=3D'\([_A-Za-z][_A-Za-z0-9]*\)'
 symxfrm=3D'\1 \2\3 \3'
=20
 # Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl=3D"sed -n -e 's/^. .* \(.*\)$/extern int =
\1;/p'"
+lt_cv_sys_global_symbol_to_cdecl=3D"$SED -n -e 's/^. .* \(.*\)$/extern int=
 \1;/p'"
=20
 # Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address=3D"sed -n -e 's/^: \([^ ]*\) $/ =
 {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/  {\"\2\=
", (lt_ptr) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address=3D"$SED -n -e 's/^: \([^ ]*\) $/=
  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/  {\"\2=
\", (lt_ptr) \&\2},/p'"
=20
 # Define system-specific variables.
 case $host_os in
@@ -6101,7 +6104,7 @@ esac
 for ac_symprfx in "" "_"; do
=20
   # Write the raw and C identifiers.
-  lt_cv_sys_global_symbol_pipe=3D"sed -n -e 's/^.*[ 	]\($symcode$symcode*\=
)[ 	][ 	]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
+  lt_cv_sys_global_symbol_pipe=3D"$SED -n -e 's/^.*[ 	]\($symcode$symcode*=
\)[ 	][ 	]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
=20
   # Check to see that the pipe works correctly.
   pipe_works=3Dno
@@ -6909,9 +6912,11 @@ echo $ECHO_N "checking for $compiler opt
       ;;
=20
     darwin* | rhapsody*)
-      # PIC is the default on this platform
+      # PIC is the default on this platform, and static linking of
+      # binaries generally doesn't work
       # Common symbols not allowed in MH_DYLIB files
       lt_prog_compiler_pic=3D'-fno-common'
+      lt_prog_compiler_static=3D''
       ;;
=20
     msdosdjgpp*)
@@ -6940,6 +6945,11 @@ echo $ECHO_N "checking for $compiler opt
       esac
       ;;
=20
+    interix3*)
+      # Interix 3.0-3.5 -fPIC option generates borked code.
+      # (Instead, shlibs are relocated at runtime.)
+      ;;
+
     *)
       lt_prog_compiler_pic=3D'-fPIC'
       ;;
@@ -7325,6 +7335,17 @@ EOF
       fi
       ;;
=20
+    interix3*)
+      # Oy, what a hack.
+      # Because shlibs are not compiled -fPIC due to broken code, we must
+      # choose an --image-base.  Otherwise, 0x10000000 will be chosen for
+      # all libraries, leading to runtime relocations -- slow and very
+      # memory consuming.  To do this, we pick a random 256KB-aligned
+      # start address between 0x50000000 and 0x6ffc0000 at link time.
+      archive_cmds=3D'$CC -shared $libobjs $deplibs $compiler_flags ${wl}-=
h,$soname ${wl}--image-base,$(($RANDOM %4096/2*262144+1342177280)) -o $lib'
+      archive_expsym_cmds=3D'sed s,^,_, $export_symbols >$output_objdir/$s=
oname.exp && $CC -shared $libobjs $deplibs $compiler_flags ${wl}-h,$soname =
${wl}--retain-symbols-file $wl$output_objdir/$soname.exp ${wl}--image-base,=
$(($RANDOM %4096/2*262144+1342177280)) -o $lib'
+      ;;
+
     netbsd*)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds=3D'$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
@@ -7832,6 +7853,21 @@ if test -z "$aix_libpath"; then aix_libp
       fi
       ;;
=20
+    interix3*)
+      # Oy, what a hack.
+      # Because shlibs are not compiled -fPIC due to broken code, we must
+      # choose an --image-base.  Otherwise, 0x10000000 will be chosen for
+      # all libraries, leading to runtime relocations -- slow and very
+      # memory consuming.  To do this, we pick a random 256KB-aligned
+      # start address between 0x50000000 and 0x6ffc0000 at link time.
+      archive_cmds=3D'$CC -shared $libobjs $deplibs $compiler_flags ${wl}-=
-image-base,$(($RANDOM %4096/2*262144+1342177280)) -o $lib'
+      archive_expsym_cmds=3D'sed s,^,_, $export_symbols >$output_objdir/$s=
oname.exp && $CC -shared $libobjs $deplibs $compiler_flags ${wl}-h,$soname =
${wl}--retain-symbols-file $wl$output_objdir/$soname ${wl}--image-base,$(($=
RANDOM %4096/2*262144+1342177280)) -o $lib'
+      export_dynamic_flag_spec=3D'${wl}-E'
+      hardcode_direct=3Dyes
+      hardcode_libdir_flag_spec=3D'${wl}-h,$libdir'
+      hardcode_shlibpath_var=3Dno
+      ;;
+
     irix5* | irix6* | nonstopux*)
       if test "$GCC" =3D yes; then
 	archive_cmds=3D'$CC -shared $libobjs $deplibs $compiler_flags ${wl}-sonam=
e ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstr=
ing` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
@@ -8223,6 +8259,7 @@ beos*)
 bsdi[45]*)
   version_type=3Dlinux
   need_version=3Dno
+  need_lib_prefix=3Dno
   library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${libn=
ame}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec=3D'${libname}${release}${shared_ext}$major'
   finish_cmds=3D'PATH=3D"\$PATH:/sbin" ldconfig $libdir'
@@ -8337,16 +8374,17 @@ kfreebsd*-gnu)
   ;;
=20
 freebsd*)
+  version_type=3Dlinux
   objformat=3D`test -x /usr/bin/objformat && /usr/bin/objformat || echo ao=
ut`
-  version_type=3Dfreebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${=
libname}${release}${shared_ext} $libname${shared_ext}'
+  case $objformat in
+    elf*)
+      library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${=
libname}${release}${shared_ext}$major $libname${shared_ext}'
+      soname_spec=3D'${libname}${release}${shared_ext}$major'
       need_version=3Dno
       need_lib_prefix=3Dno
       ;;
-    freebsd-*)
-      library_names_spec=3D'${libname}${release}${shared_ext}$versuffix $l=
ibname${shared_ext}$versuffix'
+    *)
+      library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${=
libname}${shared_ext}$versuffix2'
       need_version=3Dyes
       ;;
   esac
@@ -8422,15 +8460,22 @@ hpux9* | hpux10* | hpux11*)
   postinstall_cmds=3D'chmod 555 $lib'
   ;;
=20
+interix3*)
+  version_type=3Dlinux
+  need_lib_prefix=3Dno
+  need_version=3Dno
+  library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${libn=
ame}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec=3D'${libname}${release}${shared_ext}$major'
+  dynamic_linker=3D'Interix 3.x ld.so'
+  shlibpath_var=3DLD_LIBRARY_PATH
+  shlibpath_overrides_runpath=3Dyes
+  hardcode_into_libs=3Dyes
+  ;;
+
 irix5* | irix6* | nonstopux*)
   case $host_os in
     nonstopux*) version_type=3Dnonstopux ;;
-    *)
-	if test "$lt_cv_prog_gnu_ld" =3D yes; then
-		version_type=3Dlinux
-	else
-		version_type=3Dirix
-	fi ;;
+    *) version_type=3Dirix ;;
   esac
   need_lib_prefix=3Dno
   need_version=3Dno
@@ -8507,11 +8552,11 @@ knetbsd*-gnu)
   ;;
=20
 netbsd*)
-  version_type=3Dsunos
+  version_type=3Dlinux
   need_lib_prefix=3Dno
   need_version=3Dno
   if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${li=
bname}${shared_ext}$versuffix'
+    library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${li=
bname}${shared_ext}$versuffix2'
     finish_cmds=3D'PATH=3D"\$PATH:/sbin" ldconfig -m $libdir'
     dynamic_linker=3D'NetBSD (a.out) ld.so'
   else
@@ -8542,10 +8587,10 @@ nto-qnx*)
   ;;
=20
 openbsd*)
-  version_type=3Dsunos
+  version_type=3Dlinux
   need_lib_prefix=3Dno
   need_version=3Dno
-  library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${libn=
ame}${shared_ext}$versuffix'
+  library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${libn=
ame}${shared_ext}$versuffix2'
   finish_cmds=3D'PATH=3D"\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=3DLD_LIBRARY_PATH
   if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-=
$host_cpu" =3D "openbsd2.8-powerpc"; then
@@ -10105,9 +10150,7 @@ echo "$as_me: error: tag name \"$tagname
=20
       case $tagname in
       CXX)
-	if test -n "$CXX" && ( test "X$CXX" !=3D "Xno" &&
-	    ( (test "X$CXX" =3D "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-	    (test "X$CXX" !=3D "Xg++"))) ; then
+	if test -n "$CXX" && test "X$CXX" !=3D "Xno"; then
 	  ac_ext=3Dcc
 ac_cpp=3D'$CXXCPP $CPPFLAGS'
 ac_compile=3D'$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -10817,6 +10860,16 @@ if test -z "$aix_libpath"; then aix_libp
 	;;
     esac
     ;;
+  interix3*)
+    # Oy, what a hack.
+    # Because shlibs are not compiled -fPIC due to broken code, we must
+    # choose an --image-base.  Otherwise, 0x10000000 will be chosen for
+    # all libraries, leading to runtime relocations -- slow and very
+    # memory consuming.  To do this, we pick a random 256KB-aligned
+    # start address between 0x50000000 and 0x6ffc0000 at link time.
+    archive_cmds_CXX=3D'$CC -shared $libobjs $deplibs $compiler_flags ${wl=
}--image-base,$(($RANDOM %4096/2*262144+1342177280)) -o $lib'
+    archive_expsym_cmds_CXX=3D'sed s,^,_, $export_symbols >$output_objdir/=
$soname.exp && $CC -shared $libobjs $deplibs $compiler_flags ${wl}-h,$sonam=
e ${wl}--retain-symbols-file $wl$output_objdir/$soname ${wl}--image-base,$(=
($RANDOM %4096/2*262144+1342177280)) -o $lib'
+    ;;
   irix5* | irix6*)
     case $cc_basename in
       CC)
@@ -10934,14 +10987,29 @@ if test -z "$aix_libpath"; then aix_libp
     ;;
   netbsd*)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+      # a.out is quite broken and goes directly to ld
       archive_cmds_CXX=3D'$LD -Bshareable  -o $lib $predep_objects $libobj=
s $deplibs $postdep_objects $linker_flags'
       wlarc=3D
+      # Determine if we need to override the c++rt0 that is
+      # picked up by analysing output_verbose_link_cmds
+      if test -f ${PREFIX}/lib/c++rt0/c++rt0.o.PIC; then
+        cpprt0_file=3D"${PREFIX}/lib/c++rt0/c++rt0.o.PIC"
+      else
+        cpprt0_file=3D
+      fi
       hardcode_libdir_flag_spec_CXX=3D'-R$libdir'
       hardcode_direct_CXX=3Dyes
       hardcode_shlibpath_var_CXX=3Dno
+      output_verbose_link_cmd=3D'$CC -shared $CFLAGS -v conftest.$objext 2=
>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+    elif $CC -dumpspecs | grep -- '-lgcc -lc -lgcc' >/dev/null; then
+      # Workaround some broken pre-1.5 ELF toolchains
+      output_verbose_link_cmd=3D'$CC -shared $CFLAGS -v conftest.$objext 2=
>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+    else
+      # Modern ELF works sanely as-is
+      archive_cmds_CXX=3D'$CC -shared $libobjs $deplibs $compiler_flags ${=
wl}-soname $wl$soname -o $lib'
+      archive_expsym_cmds_CXX=3D'$CC -shared $libobjs $deplibs $compiler_f=
lags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -=
o $lib'
+      output_verbose_link_cmd=3D'echo'
     fi
-    # Workaround some broken pre-1.5 toolchains
-    output_verbose_link_cmd=3D'$CC -shared $CFLAGS -v conftest.$objext 2>&=
1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
     ;;
   openbsd2*)
     # C++ shared libraries are fairly broken
@@ -11324,6 +11392,21 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
     esac
   done
=20
+  case "$host_os" in
+  netbsd*)
+    if test -n "$cpprt0_file"; then
+      predep_objects_CXX=3D`eval echo $predep_objects_CXX | sed -e 's:/usr=
/lib/c++rt0.o:$cpprt0_file:'`
+    fi
+    ;;
+  interix3*)
+    # Interix installs completely hosed .la files for C++, so rather than
+    # hack all around it, let's just trust "g++" to DTRT.
+    predep_objects_CXX=3D
+    postdep_objects_CXX=3D
+    postdeps_CXX=3D
+    ;;
+  esac
+
   # Clean up.
   rm -f a.out a.exe
 else
@@ -11371,9 +11454,11 @@ echo $ECHO_N "checking for $compiler opt
       lt_prog_compiler_pic_CXX=3D'-DDLL_EXPORT'
       ;;
     darwin* | rhapsody*)
-      # PIC is the default on this platform
+      # PIC is the default on this platform, and static linking of
+      # binaries generally doesn't work
       # Common symbols not allowed in MH_DYLIB files
       lt_prog_compiler_pic_CXX=3D'-fno-common'
+      lt_prog_compiler_static_CXX=3D''
       ;;
     *djgpp*)
       # DJGPP does not support shared libraries at all
@@ -11395,6 +11480,10 @@ echo $ECHO_N "checking for $compiler opt
 	;;
       esac
       ;;
+    interix3*)
+      # Interix 3.0-3.5 -fPIC option generates borked code.
+      # (Instead, shlibs are relocated at runtime.)
+      ;;
     *)
       lt_prog_compiler_pic_CXX=3D'-fPIC'
       ;;
@@ -11469,6 +11558,8 @@ echo $ECHO_N "checking for $compiler opt
 	    ;;
 	esac
 	;;
+      interix3*)
+	;;
       irix5* | irix6* | nonstopux*)
 	case $cc_basename in
 	  CC)
@@ -11939,6 +12030,7 @@ beos*)
 bsdi[45]*)
   version_type=3Dlinux
   need_version=3Dno
+  need_lib_prefix=3Dno
   library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${libn=
ame}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec=3D'${libname}${release}${shared_ext}$major'
   finish_cmds=3D'PATH=3D"\$PATH:/sbin" ldconfig $libdir'
@@ -12053,16 +12145,17 @@ kfreebsd*-gnu)
   ;;
=20
 freebsd*)
+  version_type=3Dlinux
   objformat=3D`test -x /usr/bin/objformat && /usr/bin/objformat || echo ao=
ut`
-  version_type=3Dfreebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${=
libname}${release}${shared_ext} $libname${shared_ext}'
+  case $objformat in
+    elf*)
+      library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${=
libname}${release}${shared_ext}$major $libname${shared_ext}'
+      soname_spec=3D'${libname}${release}${shared_ext}$major'
       need_version=3Dno
       need_lib_prefix=3Dno
       ;;
-    freebsd-*)
-      library_names_spec=3D'${libname}${release}${shared_ext}$versuffix $l=
ibname${shared_ext}$versuffix'
+    *)
+      library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${=
libname}${shared_ext}$versuffix2'
       need_version=3Dyes
       ;;
   esac
@@ -12138,15 +12231,22 @@ hpux9* | hpux10* | hpux11*)
   postinstall_cmds=3D'chmod 555 $lib'
   ;;
=20
+interix3*)
+  version_type=3Dlinux
+  need_lib_prefix=3Dno
+  need_version=3Dno
+  library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${libn=
ame}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec=3D'${libname}${release}${shared_ext}$major'
+  dynamic_linker=3D'Interix 3.x ld.so'
+  shlibpath_var=3DLD_LIBRARY_PATH
+  shlibpath_overrides_runpath=3Dyes
+  hardcode_into_libs=3Dyes
+  ;;
+
 irix5* | irix6* | nonstopux*)
   case $host_os in
     nonstopux*) version_type=3Dnonstopux ;;
-    *)
-	if test "$lt_cv_prog_gnu_ld" =3D yes; then
-		version_type=3Dlinux
-	else
-		version_type=3Dirix
-	fi ;;
+    *) version_type=3Dirix ;;
   esac
   need_lib_prefix=3Dno
   need_version=3Dno
@@ -12223,11 +12323,11 @@ knetbsd*-gnu)
   ;;
=20
 netbsd*)
-  version_type=3Dsunos
+  version_type=3Dlinux
   need_lib_prefix=3Dno
   need_version=3Dno
   if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${li=
bname}${shared_ext}$versuffix'
+    library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${li=
bname}${shared_ext}$versuffix2'
     finish_cmds=3D'PATH=3D"\$PATH:/sbin" ldconfig -m $libdir'
     dynamic_linker=3D'NetBSD (a.out) ld.so'
   else
@@ -12258,10 +12358,10 @@ nto-qnx*)
   ;;
=20
 openbsd*)
-  version_type=3Dsunos
+  version_type=3Dlinux
   need_lib_prefix=3Dno
   need_version=3Dno
-  library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${libn=
ame}${shared_ext}$versuffix'
+  library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${libn=
ame}${shared_ext}$versuffix2'
   finish_cmds=3D'PATH=3D"\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=3DLD_LIBRARY_PATH
   if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-=
$host_cpu" =3D "openbsd2.8-powerpc"; then
@@ -13805,9 +13905,11 @@ echo $ECHO_N "checking for $compiler opt
       ;;
=20
     darwin* | rhapsody*)
-      # PIC is the default on this platform
+      # PIC is the default on this platform, and static linking of
+      # binaries generally doesn't work
       # Common symbols not allowed in MH_DYLIB files
       lt_prog_compiler_pic_F77=3D'-fno-common'
+      lt_prog_compiler_static_F77=3D''
       ;;
=20
     msdosdjgpp*)
@@ -13836,6 +13938,11 @@ echo $ECHO_N "checking for $compiler opt
       esac
       ;;
=20
+    interix3*)
+      # Interix 3.0-3.5 -fPIC option generates borked code.
+      # (Instead, shlibs are relocated at runtime.)
+      ;;
+
     *)
       lt_prog_compiler_pic_F77=3D'-fPIC'
       ;;
@@ -14221,6 +14328,17 @@ EOF
       fi
       ;;
=20
+    interix3*)
+      # Oy, what a hack.
+      # Because shlibs are not compiled -fPIC due to broken code, we must
+      # choose an --image-base.  Otherwise, 0x10000000 will be chosen for
+      # all libraries, leading to runtime relocations -- slow and very
+      # memory consuming.  To do this, we pick a random 256KB-aligned
+      # start address between 0x50000000 and 0x6ffc0000 at link time.
+      archive_cmds_F77=3D'$CC -shared $libobjs $deplibs $compiler_flags ${=
wl}-h,$soname ${wl}--image-base,$(($RANDOM %4096/2*262144+1342177280)) -o $=
lib'
+      archive_expsym_cmds_F77=3D'sed s,^,_, $export_symbols >$output_objdi=
r/$soname.exp && $CC -shared $libobjs $deplibs $compiler_flags ${wl}-h,$son=
ame ${wl}--retain-symbols-file $wl$output_objdir/$soname.exp ${wl}--image-b=
ase,$(($RANDOM %4096/2*262144+1342177280)) -o $lib'
+      ;;
+
     netbsd*)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds_F77=3D'$LD -Bshareable $libobjs $deplibs $linker_flags -o $l=
ib'
@@ -14708,6 +14826,21 @@ if test -z "$aix_libpath"; then aix_libp
       fi
       ;;
=20
+    interix3*)
+      # Oy, what a hack.
+      # Because shlibs are not compiled -fPIC due to broken code, we must
+      # choose an --image-base.  Otherwise, 0x10000000 will be chosen for
+      # all libraries, leading to runtime relocations -- slow and very
+      # memory consuming.  To do this, we pick a random 256KB-aligned
+      # start address between 0x50000000 and 0x6ffc0000 at link time.
+      archive_cmds_F77=3D'$CC -shared $libobjs $deplibs $compiler_flags ${=
wl}--image-base,$(($RANDOM %4096/2*262144+1342177280)) -o $lib'
+      archive_expsym_cmds_F77=3D'sed s,^,_, $export_symbols >$output_objdi=
r/$soname.exp && $CC -shared $libobjs $deplibs $compiler_flags ${wl}-h,$son=
ame ${wl}--retain-symbols-file $wl$output_objdir/$soname ${wl}--image-base,=
$(($RANDOM %4096/2*262144+1342177280)) -o $lib'
+      export_dynamic_flag_spec_F77=3D'${wl}-E'
+      hardcode_direct_F77=3Dyes
+      hardcode_libdir_flag_spec_F77=3D'${wl}-h,$libdir'
+      hardcode_shlibpath_var_F77=3Dno
+      ;;
+
     irix5* | irix6* | nonstopux*)
       if test "$GCC" =3D yes; then
 	archive_cmds_F77=3D'$CC -shared $libobjs $deplibs $compiler_flags ${wl}-s=
oname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$ve=
rstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
@@ -15099,6 +15232,7 @@ beos*)
 bsdi[45]*)
   version_type=3Dlinux
   need_version=3Dno
+  need_lib_prefix=3Dno
   library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${libn=
ame}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec=3D'${libname}${release}${shared_ext}$major'
   finish_cmds=3D'PATH=3D"\$PATH:/sbin" ldconfig $libdir'
@@ -15213,16 +15347,17 @@ kfreebsd*-gnu)
   ;;
=20
 freebsd*)
+  version_type=3Dlinux
   objformat=3D`test -x /usr/bin/objformat && /usr/bin/objformat || echo ao=
ut`
-  version_type=3Dfreebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${=
libname}${release}${shared_ext} $libname${shared_ext}'
+  case $objformat in
+    elf*)
+      library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${=
libname}${release}${shared_ext}$major $libname${shared_ext}'
+      soname_spec=3D'${libname}${release}${shared_ext}$major'
       need_version=3Dno
       need_lib_prefix=3Dno
       ;;
-    freebsd-*)
-      library_names_spec=3D'${libname}${release}${shared_ext}$versuffix $l=
ibname${shared_ext}$versuffix'
+    *)
+      library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${=
libname}${shared_ext}$versuffix2'
       need_version=3Dyes
       ;;
   esac
@@ -15298,15 +15433,22 @@ hpux9* | hpux10* | hpux11*)
   postinstall_cmds=3D'chmod 555 $lib'
   ;;
=20
+interix3*)
+  version_type=3Dlinux
+  need_lib_prefix=3Dno
+  need_version=3Dno
+  library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${libn=
ame}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec=3D'${libname}${release}${shared_ext}$major'
+  dynamic_linker=3D'Interix 3.x ld.so'
+  shlibpath_var=3DLD_LIBRARY_PATH
+  shlibpath_overrides_runpath=3Dyes
+  hardcode_into_libs=3Dyes
+  ;;
+
 irix5* | irix6* | nonstopux*)
   case $host_os in
     nonstopux*) version_type=3Dnonstopux ;;
-    *)
-	if test "$lt_cv_prog_gnu_ld" =3D yes; then
-		version_type=3Dlinux
-	else
-		version_type=3Dirix
-	fi ;;
+    *) version_type=3Dirix ;;
   esac
   need_lib_prefix=3Dno
   need_version=3Dno
@@ -15383,11 +15525,11 @@ knetbsd*-gnu)
   ;;
=20
 netbsd*)
-  version_type=3Dsunos
+  version_type=3Dlinux
   need_lib_prefix=3Dno
   need_version=3Dno
   if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${li=
bname}${shared_ext}$versuffix'
+    library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${li=
bname}${shared_ext}$versuffix2'
     finish_cmds=3D'PATH=3D"\$PATH:/sbin" ldconfig -m $libdir'
     dynamic_linker=3D'NetBSD (a.out) ld.so'
   else
@@ -15418,10 +15560,10 @@ nto-qnx*)
   ;;
=20
 openbsd*)
-  version_type=3Dsunos
+  version_type=3Dlinux
   need_lib_prefix=3Dno
   need_version=3Dno
-  library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${libn=
ame}${shared_ext}$versuffix'
+  library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${libn=
ame}${shared_ext}$versuffix2'
   finish_cmds=3D'PATH=3D"\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=3DLD_LIBRARY_PATH
   if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-=
$host_cpu" =3D "openbsd2.8-powerpc"; then
@@ -16147,9 +16289,11 @@ echo $ECHO_N "checking for $compiler opt
       ;;
=20
     darwin* | rhapsody*)
-      # PIC is the default on this platform
+      # PIC is the default on this platform, and static linking of
+      # binaries generally doesn't work
       # Common symbols not allowed in MH_DYLIB files
       lt_prog_compiler_pic_GCJ=3D'-fno-common'
+      lt_prog_compiler_static_GCJ=3D''
       ;;
=20
     msdosdjgpp*)
@@ -16178,6 +16322,11 @@ echo $ECHO_N "checking for $compiler opt
       esac
       ;;
=20
+    interix3*)
+      # Interix 3.0-3.5 -fPIC option generates borked code.
+      # (Instead, shlibs are relocated at runtime.)
+      ;;
+
     *)
       lt_prog_compiler_pic_GCJ=3D'-fPIC'
       ;;
@@ -16563,6 +16712,17 @@ EOF
       fi
       ;;
=20
+    interix3*)
+      # Oy, what a hack.
+      # Because shlibs are not compiled -fPIC due to broken code, we must
+      # choose an --image-base.  Otherwise, 0x10000000 will be chosen for
+      # all libraries, leading to runtime relocations -- slow and very
+      # memory consuming.  To do this, we pick a random 256KB-aligned
+      # start address between 0x50000000 and 0x6ffc0000 at link time.
+      archive_cmds_GCJ=3D'$CC -shared $libobjs $deplibs $compiler_flags ${=
wl}-h,$soname ${wl}--image-base,$(($RANDOM %4096/2*262144+1342177280)) -o $=
lib'
+      archive_expsym_cmds_GCJ=3D'sed s,^,_, $export_symbols >$output_objdi=
r/$soname.exp && $CC -shared $libobjs $deplibs $compiler_flags ${wl}-h,$son=
ame ${wl}--retain-symbols-file $wl$output_objdir/$soname.exp ${wl}--image-b=
ase,$(($RANDOM %4096/2*262144+1342177280)) -o $lib'
+      ;;
+
     netbsd*)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds_GCJ=3D'$LD -Bshareable $libobjs $deplibs $linker_flags -o $l=
ib'
@@ -17070,6 +17230,21 @@ if test -z "$aix_libpath"; then aix_libp
       fi
       ;;
=20
+    interix3*)
+      # Oy, what a hack.
+      # Because shlibs are not compiled -fPIC due to broken code, we must
+      # choose an --image-base.  Otherwise, 0x10000000 will be chosen for
+      # all libraries, leading to runtime relocations -- slow and very
+      # memory consuming.  To do this, we pick a random 256KB-aligned
+      # start address between 0x50000000 and 0x6ffc0000 at link time.
+      archive_cmds_GCJ=3D'$CC -shared $libobjs $deplibs $compiler_flags ${=
wl}--image-base,$(($RANDOM %4096/2*262144+1342177280)) -o $lib'
+      archive_expsym_cmds_GCJ=3D'sed s,^,_, $export_symbols >$output_objdi=
r/$soname.exp && $CC -shared $libobjs $deplibs $compiler_flags ${wl}-h,$son=
ame ${wl}--retain-symbols-file $wl$output_objdir/$soname ${wl}--image-base,=
$(($RANDOM %4096/2*262144+1342177280)) -o $lib'
+      export_dynamic_flag_spec_GCJ=3D'${wl}-E'
+      hardcode_direct_GCJ=3Dyes
+      hardcode_libdir_flag_spec_GCJ=3D'${wl}-h,$libdir'
+      hardcode_shlibpath_var_GCJ=3Dno
+      ;;
+
     irix5* | irix6* | nonstopux*)
       if test "$GCC" =3D yes; then
 	archive_cmds_GCJ=3D'$CC -shared $libobjs $deplibs $compiler_flags ${wl}-s=
oname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$ve=
rstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
@@ -17461,6 +17636,7 @@ beos*)
 bsdi[45]*)
   version_type=3Dlinux
   need_version=3Dno
+  need_lib_prefix=3Dno
   library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${libn=
ame}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec=3D'${libname}${release}${shared_ext}$major'
   finish_cmds=3D'PATH=3D"\$PATH:/sbin" ldconfig $libdir'
@@ -17575,16 +17751,17 @@ kfreebsd*-gnu)
   ;;
=20
 freebsd*)
+  version_type=3Dlinux
   objformat=3D`test -x /usr/bin/objformat && /usr/bin/objformat || echo ao=
ut`
-  version_type=3Dfreebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${=
libname}${release}${shared_ext} $libname${shared_ext}'
+  case $objformat in
+    elf*)
+      library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${=
libname}${release}${shared_ext}$major $libname${shared_ext}'
+      soname_spec=3D'${libname}${release}${shared_ext}$major'
       need_version=3Dno
       need_lib_prefix=3Dno
       ;;
-    freebsd-*)
-      library_names_spec=3D'${libname}${release}${shared_ext}$versuffix $l=
ibname${shared_ext}$versuffix'
+    *)
+      library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${=
libname}${shared_ext}$versuffix2'
       need_version=3Dyes
       ;;
   esac
@@ -17660,15 +17837,22 @@ hpux9* | hpux10* | hpux11*)
   postinstall_cmds=3D'chmod 555 $lib'
   ;;
=20
+interix3*)
+  version_type=3Dlinux
+  need_lib_prefix=3Dno
+  need_version=3Dno
+  library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${libn=
ame}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec=3D'${libname}${release}${shared_ext}$major'
+  dynamic_linker=3D'Interix 3.x ld.so'
+  shlibpath_var=3DLD_LIBRARY_PATH
+  shlibpath_overrides_runpath=3Dyes
+  hardcode_into_libs=3Dyes
+  ;;
+
 irix5* | irix6* | nonstopux*)
   case $host_os in
     nonstopux*) version_type=3Dnonstopux ;;
-    *)
-	if test "$lt_cv_prog_gnu_ld" =3D yes; then
-		version_type=3Dlinux
-	else
-		version_type=3Dirix
-	fi ;;
+    *) version_type=3Dirix ;;
   esac
   need_lib_prefix=3Dno
   need_version=3Dno
@@ -17745,11 +17929,11 @@ knetbsd*-gnu)
   ;;
=20
 netbsd*)
-  version_type=3Dsunos
+  version_type=3Dlinux
   need_lib_prefix=3Dno
   need_version=3Dno
   if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${li=
bname}${shared_ext}$versuffix'
+    library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${li=
bname}${shared_ext}$versuffix2'
     finish_cmds=3D'PATH=3D"\$PATH:/sbin" ldconfig -m $libdir'
     dynamic_linker=3D'NetBSD (a.out) ld.so'
   else
@@ -17780,10 +17964,10 @@ nto-qnx*)
   ;;
=20
 openbsd*)
-  version_type=3Dsunos
+  version_type=3Dlinux
   need_lib_prefix=3Dno
   need_version=3Dno
-  library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${libn=
ame}${shared_ext}$versuffix'
+  library_names_spec=3D'${libname}${release}${shared_ext}$versuffix ${libn=
ame}${shared_ext}$versuffix2'
   finish_cmds=3D'PATH=3D"\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=3DLD_LIBRARY_PATH
   if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-=
$host_cpu" =3D "openbsd2.8-powerpc"; then

--H8ygTp4AXg6deix2--

--n/aVsWSeQ4JHkrmm
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (NetBSD)

iD8DBQFBqIrVluYOb9yiFXoRAghqAKCh0Dxul2h5VoBr9A+rzpZm+Xcw7ACeLAMk
Yvq0LewPEZnQ52W/LNdKtIQ=
=bpFH
-----END PGP SIGNATURE-----

--n/aVsWSeQ4JHkrmm--