diff --git a/ChangeLog b/ChangeLog index 6b3f6fc20da..3a982e81c8d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2000-04-05 Benjamin Kosnik + Martin v. Loewis + + * configure.in (enable_libstdcxx_v3): Add. + (target_libs): Add bits here to switch between libstdc++-v2 and + libstdc++-v3. + * config.if: And this file too. + * Makefile.in: Add libstdc++-v3 targets. + 2000-04-05 Michael Meissner * config.sub (d30v): Add d30v as a basic machine type. diff --git a/Makefile.in b/Makefile.in index 0de1a86dea8..40569591fe6 100644 --- a/Makefile.in +++ b/Makefile.in @@ -772,6 +772,7 @@ INSTALL_X11_MODULES = \ ALL_TARGET_MODULES = \ all-target-libio \ all-target-libstdc++ \ + all-target-libstdc++-v3 \ all-target-librx \ all-target-libg++ \ all-target-newlib \ @@ -795,6 +796,7 @@ ALL_TARGET_MODULES = \ CONFIGURE_TARGET_MODULES = \ configure-target-libio \ configure-target-libstdc++ \ + configure-target-libstdc++-v3 \ configure-target-librx \ configure-target-libg++ \ configure-target-newlib \ @@ -818,6 +820,7 @@ CONFIGURE_TARGET_MODULES = \ CHECK_TARGET_MODULES = \ check-target-libio \ check-target-libstdc++ \ + check-target-libstdc++-v3 \ check-target-libg++ \ check-target-newlib \ check-target-libf2c \ @@ -836,6 +839,7 @@ CHECK_TARGET_MODULES = \ INSTALL_TARGET_MODULES = \ install-target-libio \ install-target-libstdc++ \ + install-target-libstdc++-v3 \ install-target-libg++ \ install-target-newlib \ install-target-libf2c \ @@ -922,6 +926,7 @@ CLEAN_MODULES = \ CLEAN_TARGET_MODULES = \ clean-target-libio \ clean-target-libstdc++ \ + clean-target-libstdc++-v3 \ clean-target-librx \ clean-target-libg++ \ clean-target-newlib \ @@ -1634,7 +1639,9 @@ all-target-libjava: configure-target-libjava all-gcc all-zip all-target-newlib a configure-target-librx: $(ALL_GCC) configure-target-newlib all-target-librx: configure-target-librx configure-target-libstdc++: $(ALL_GCC) +configure-target-libstdc++-v3: $(ALL_GCC) all-target-libstdc++: configure-target-libstdc++ all-gas all-ld all-gcc all-target-libiberty all-target-newlib all-target-libio +all-target-libstdc++-v3: configure-target-libstdc++-v3 all-gas all-ld all-gcc all-target-libiberty all-target-newlib configure-target-libstub: $(ALL_GCC) all-target-libstub: configure-target-libstub all-libtool: diff --git a/config.if b/config.if index bcc026908d8..f8e086de2a8 100644 --- a/config.if +++ b/config.if @@ -21,9 +21,16 @@ else if_topsrcdir=${top_srcdir} fi -if [ -f ${if_topsrcdir}/libstdc++/Makefile.in ]; then +if [ "${enable_libstdcxx_v3}" = "yes" ] ; then + libstdcxx_srcdir=${if_topsrcdir}/libstdc++-v3 +else + libstdcxx_srcdir=${if_topsrcdir}/libstdc++ +fi + +echo "${libstdcxx_srcdir} is where" +if [ -f ${libstdcxx_srcdir}/Makefile.in ]; then # We check libstdc++ for libstdcxx_interface. -libstdcxx_interface=`grep "^INTERFACE" ${if_topsrcdir}/libstdc++/Makefile.in | sed 's/INTERFACE[ ]*=[ ]*\(.*\)/\1/'` +libstdcxx_interface=`grep "^INTERFACE" ${libstdcxx_srcdir}/Makefile.in | sed 's/INTERFACE[ ]*=[ ]*\(.*\)/\1/'` else libstdcxx_interface= fi diff --git a/configure.in b/configure.in index fd56879fe62..c8431d71452 100644 --- a/configure.in +++ b/configure.in @@ -47,6 +47,13 @@ if [ "${enable_gdbgui}" = "yes" ] ; then host_libs="${host_libs} libgui" fi +# Set up configure/Makefile variables if libstdc++-v3 is to be built. +if [ "${enable_libstdcxx_v3}" = "yes" ] ; then + libstdcxx_version="target-libstdc++-v3" +else + libstdcxx_version="target-libio target-libstdc++" +fi + # these tools are built for the host environment # Note, the powerpc-eabi build depends on sim occurring before gdb in order to # know that we are building the simulator. @@ -59,9 +66,8 @@ host_tools="texinfo byacc flex bison binutils ld gas gcc sim gdb make patch prms target_libs="target-libiberty \ target-libgloss \ target-newlib \ - target-libio \ + ${libstdcxx_version} \ target-librx \ - target-libstdc++ \ target-libg++ \ target-libf2c \ target-libchill \ @@ -561,7 +567,7 @@ esac case "${target}" in *-*-netware) - noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-librx target-newlib target-libiberty target-libgloss" + noconfigdirs="$noconfigdirs target-libg++ ${libstdcxx_version} target-librx target-newlib target-libiberty target-libgloss" ;; *-*-rtems*) noconfigdirs="$noconfigdirs target-libgloss" @@ -598,11 +604,11 @@ case "${target}" in noconfigdirs="$noconfigdirs tcl tix tk itcl libgui sim" noconfigdirs="$noconfigdirs expect dejagnu" # the C++ libraries don't build on top of CE's C libraries - noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio" + noconfigdirs="$noconfigdirs target-libg++ ${libstdcxx_version}" skipdirs="$skipdirs target-newlib" case "${host}" in *-*-cygwin*) ;; # keep gdb and readline - *) noconfigdirs="$noconfigdirs gdb readline target-libio target-libstdc++ target-libg++" + *) noconfigdirs="$noconfigdirs gdb readline ${libstdcxx_version} target-libg++" ;; esac ;; @@ -625,7 +631,7 @@ case "${target}" in fi ;; c4x-*-*) - noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss" + noconfigdirs="$noconfigdirs target-libg++ ${libstdcxx_version} target-librx target-libgloss" ;; thumb-*-coff) noconfigdirs="$noconfigdirs target-libgloss" @@ -634,7 +640,7 @@ case "${target}" in noconfigdirs="$noconfigdirs ld target-libgloss" ;; d10v-*-*) - noconfigdirs="$noconfigdirs target-librx target-libg++ target-libstdc++ target-libio target-libgloss" + noconfigdirs="$noconfigdirs target-librx target-libg++ ${libstdcxx_version} target-libgloss" ;; fr30-*-elf*) if [ x${is_cross_compiler} != xno ] ; then @@ -643,7 +649,7 @@ case "${target}" in ;; h8300*-*-* | \ h8500-*-*) - noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss" + noconfigdirs="$noconfigdirs target-libg++ ${libstdcxx_version} target-librx target-libgloss" ;; hppa*-*-*elf* | \ hppa*-*-lites*) @@ -661,7 +667,7 @@ case "${target}" in ;; i[3456]86-*-go32* | i[3456]-*-msdosdjgpp*) # but don't build gdb - noconfigdirs="$noconfigdirs gdb target-libg++ target-libstdc++ target-libio target-librx" + noconfigdirs="$noconfigdirs gdb target-libg++ ${libstdcxx_version} target-librx" ;; *-*-linux*) # linux has rx in libc @@ -692,7 +698,7 @@ case "${target}" in esac ;; i[3456]86-*-pe) - noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss" + noconfigdirs="$noconfigdirs target-libg++ ${libstdcxx_version} target-librx target-libgloss" ;; i[3456]86-*-sco3.2v5*) # The linker does not yet know about weak symbols in COFF, @@ -831,7 +837,7 @@ case "${target}" in fi ;; v810-*-*) - noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libio target-libg++ target-libstdc++ opcodes target-libgloss" + noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld ${libstdcxx_version} target-libg++ opcodes target-libgloss" ;; v850-*-*) noconfigdirs="$noconfigdirs target-libgloss"