X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=ltcf-cxx.sh;h=fa8dbd08d6337535eb6f245b2da43ee9a332f8cd;hb=9c0dd46b95f82899ba2648fb6c1e7561382098dc;hp=c239ee1649db7a9f54cb98ff6e6dd54313500791;hpb=b7e4a93120d624e352c42b82d10d90a683907ac3;p=deliverable%2Fbinutils-gdb.git diff --git a/ltcf-cxx.sh b/ltcf-cxx.sh index c239ee1649..fa8dbd08d6 100644 --- a/ltcf-cxx.sh +++ b/ltcf-cxx.sh @@ -22,7 +22,7 @@ # # 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. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -68,11 +68,16 @@ if { ac_try='${CC-c++} -E conftest.$ac_ext'; { (eval echo \"$ac_try\") 1>&5; (ev # Set up default GNU C++ configuration # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if eval "`$CC -print-prog-name=ld` --version 2>&1" | \ - egrep 'GNU ld' > /dev/null; then - with_gnu_ld=yes - + # archiving commands below assume that GNU ld is being used. The + # assumption here is that the linker is going to be the same as that + # used by the C compiler. For the purposes of GCC, this is ok, but + # if someone uses g++ along with a non-GNU C compiler that doesn't + # use GNU ld, we may lose. This is ok for the toolchain tree, since + # the only users of ltcf-cxx.sh are libstdc++-v3 and libjava, + # anyway, and those use both gcc and g++, so the settings are bound + # to be the same. + + if test "$with_gnu_ld" = yes; then archive_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' @@ -92,7 +97,6 @@ if { ac_try='${CC-c++} -E conftest.$ac_ext'; { (eval echo \"$ac_try\") 1>&5; (ev whole_archive_flag_spec= fi else - with_gnu_ld=no wlarc= # A generic and very simple default shared library creation @@ -110,7 +114,6 @@ if { ac_try='${CC-c++} -E conftest.$ac_ext'; { (eval echo \"$ac_try\") 1>&5; (ev else with_gcc=no - with_gnu_ld=no wlarc= fi @@ -241,7 +244,7 @@ case $host_os in # C++ shared libraries reported to be fairly broken before switch to ELF ld_shlibs=no ;; - freebsd*) + freebsd* | kfreebsd*-gnu) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs=yes @@ -401,7 +404,7 @@ case $host_os in ;; esac ;; - netbsd*) + netbsd* | knetbsd*-gnu) # NetBSD uses g++ - do we need to do anything? ;; osf3*) @@ -649,6 +652,9 @@ case $host_os in ;; esac ;; + tpf*) + ld_shlibs=yes + ;; unixware*) # FIXME: insert proper C++ library support ld_shlibs=no @@ -756,7 +762,7 @@ else ;; esac ;; - freebsd*) + freebsd* | kfreebsd*-gnu) # FreeBSD uses GNU C++ ;; gnu*)