This is the mail archive of the libstdc++@sourceware.cygnus.com mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [CVS gcc toplevel patch] v2 + v3, --enable-libstdcxx-v3



Ok Jason, these latest patches actually change the compiler's default
behavior. Slight changes to libstdc++ will have to be made in addition
to these patches: for instance, the rebuilding of libgcc.a is now not
necessary. It can be disabled in libstdc++-v3/configure.in like so:

#GLIBCPP_ENABLE_RELIBGCC([../..])

Also, mkcheck.in will have to deal correctly with includes. 

-benjamin


Here's round two:

2000-04-05  Benjamin Kosnik  <bkoz@cygnus.com>
            Martin v. Loewis  <martin@loewis.home.cs.tu-berlin.de>

        * configure.in (enable_libstdcxx_v3): Add.
        (target_libs): Add bits here to switch between libstdc++-v2 and
        libstdc++-v3.
        * Makefile.in: Add libstdc++-v3 targets.
 
Index: configure.in
===================================================================
RCS file: /cvs/gcc/egcs/configure.in,v
retrieving revision 1.46
diff -u -p -c -p -r1.46 configure.in
*** configure.in	2000/03/30 02:08:17	1.46
--- configure.in	2000/04/05 19:25:45
*************** if [ "${enable_gdbgui}" = "yes" ] ; then
*** 47,52 ****
--- 47,59 ----
  	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.
*************** host_tools="texinfo byacc flex bison bin
*** 59,67 ****
  target_libs="target-libiberty \
  		target-libgloss \
  		target-newlib \
! 		target-libio \
  		target-librx \
- 		target-libstdc++ \
  		target-libg++ \
  		target-libf2c \
  		target-libchill \
--- 66,73 ----
  target_libs="target-libiberty \
  		target-libgloss \
  		target-newlib \
! 		${libstdcxx_version} \
  		target-librx \
  		target-libg++ \
  		target-libf2c \
  		target-libchill \
*************** esac
*** 561,567 ****
  
  case "${target}" in
    *-*-netware)
!     noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-librx target-newlib target-libiberty target-libgloss"
      ;;
    *-*-rtems*)
      noconfigdirs="$noconfigdirs target-libgloss"
--- 567,573 ----
  
  case "${target}" in
    *-*-netware)
!     noconfigdirs="$noconfigdirs target-libg++ ${libstdcxx_version} target-librx target-newlib target-libiberty target-libgloss"
      ;;
    *-*-rtems*)
      noconfigdirs="$noconfigdirs target-libgloss"
*************** case "${target}" in
*** 598,608 ****
      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"
      skipdirs="$skipdirs target-newlib"
      case "${host}" in
        *-*-cygwin*) ;; # keep gdb and readline
!       *) noconfigdirs="$noconfigdirs gdb readline target-libio target-libstdc++ target-libg++"
  	 ;;
      esac
      ;;
--- 604,614 ----
      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++ ${libstdcxx_version} 
      skipdirs="$skipdirs target-newlib"
      case "${host}" in
        *-*-cygwin*) ;; # keep gdb and readline
!       *) noconfigdirs="$noconfigdirs gdb readline ${libstdcxx_version} target-libg++"
  	 ;;
      esac
      ;;
*************** case "${target}" in
*** 625,631 ****
      fi
      ;;
    c4x-*-*)
!     noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss"
      ;;
    thumb-*-coff)
      noconfigdirs="$noconfigdirs target-libgloss"
--- 631,637 ----
      fi
      ;;
    c4x-*-*)
!     noconfigdirs="$noconfigdirs target-libg++ ${libstdcxx_version} target-librx target-libgloss"
      ;;
    thumb-*-coff)
      noconfigdirs="$noconfigdirs target-libgloss"
*************** case "${target}" in
*** 634,640 ****
      noconfigdirs="$noconfigdirs ld target-libgloss"
      ;;
    d10v-*-*)
!     noconfigdirs="$noconfigdirs target-librx target-libg++ target-libstdc++ target-libio target-libgloss"
      ;;
    fr30-*-elf*)
      if [ x${is_cross_compiler} != xno ] ; then
--- 640,646 ----
      noconfigdirs="$noconfigdirs ld target-libgloss"
      ;;
    d10v-*-*)
!     noconfigdirs="$noconfigdirs target-librx target-libg++ ${libstdcxx_version} target-libgloss"
      ;;
    fr30-*-elf*)
      if [ x${is_cross_compiler} != xno ] ; then
*************** case "${target}" in
*** 643,649 ****
      ;;
    h8300*-*-* | \
    h8500-*-*)
!     noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss"
      ;;
    hppa*-*-*elf* | \
    hppa*-*-lites*)
--- 649,655 ----
      ;;
    h8300*-*-* | \
    h8500-*-*)
!     noconfigdirs="$noconfigdirs target-libg++ ${libstdcxx_version} target-librx target-libgloss"
      ;;
    hppa*-*-*elf* | \
    hppa*-*-lites*)
*************** case "${target}" in
*** 661,667 ****
      ;;
    i[3456]86-*-go32* | i[3456]-*-msdosdjgpp*)
      # but don't build gdb
!     noconfigdirs="$noconfigdirs gdb target-libg++ target-libstdc++ target-libio target-librx"
      ;;
    *-*-linux*)
      # linux has rx in libc
--- 667,673 ----
      ;;
    i[3456]86-*-go32* | i[3456]-*-msdosdjgpp*)
      # but don't build gdb
!     noconfigdirs="$noconfigdirs gdb target-libg++ ${libstdcxx_version} target-librx"
      ;;
    *-*-linux*)
      # linux has rx in libc
*************** case "${target}" in
*** 692,698 ****
      esac
      ;;    
    i[3456]86-*-pe)
!     noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss"
      ;;
    i[3456]86-*-sco3.2v5*)
      # The linker does not yet know about weak symbols in COFF,
--- 698,704 ----
      esac
      ;;    
    i[3456]86-*-pe)
!     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,
*************** case "${target}" in
*** 831,837 ****
      fi
      ;;
    v810-*-*)
!     noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libio target-libg++ target-libstdc++ opcodes target-libgloss"
      ;;
    v850-*-*)
      noconfigdirs="$noconfigdirs target-libgloss"
--- 837,843 ----
      fi
      ;;
    v810-*-*)
!     noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libg++ ${libstdcxx_version} opcodes target-libgloss"
      ;;
    v850-*-*)
      noconfigdirs="$noconfigdirs target-libgloss"
Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/egcs/Makefile.in,v
retrieving revision 1.44
diff -u -p -c -p -r1.44 Makefile.in
*** Makefile.in	2000/02/26 20:04:50	1.44
--- Makefile.in	2000/04/05 19:26:07
*************** OTHERS = 
*** 169,175 ****
  
  # This is set by the configure script to the list of directories which
  # should be built using the target tools.
! TARGET_CONFIGDIRS = libiberty libgloss newlib libio librx libstdc++ libg++ winsup opcodes libstub cygmon libf2c libchill libobjc
  
  # Target libraries are put under this directory:
  # Changed by configure to $(target_alias) if cross.
--- 169,175 ----
  
  # This is set by the configure script to the list of directories which
  # should be built using the target tools.
! TARGET_CONFIGDIRS = libiberty libgloss newlib libio libstdc++ librx libg++ winsup opcodes libstub cygmon libf2c libchill libobjc 
  
  # Target libraries are put under this directory:
  # Changed by configure to $(target_alias) if cross.
*************** INSTALL_X11_MODULES = \
*** 772,777 ****
--- 772,778 ----
  ALL_TARGET_MODULES = \
  	all-target-libio \
  	all-target-libstdc++ \
+ 	all-target-libstdc++-v3 \
  	all-target-librx \
  	all-target-libg++ \
  	all-target-newlib \
*************** ALL_TARGET_MODULES = \
*** 795,800 ****
--- 796,802 ----
  CONFIGURE_TARGET_MODULES = \
  	configure-target-libio \
  	configure-target-libstdc++ \
+ 	configure-target-libstdc++-v3 \
  	configure-target-librx \
  	configure-target-libg++ \
  	configure-target-newlib \
*************** CONFIGURE_TARGET_MODULES = \
*** 818,823 ****
--- 820,826 ----
  CHECK_TARGET_MODULES = \
  	check-target-libio \
  	check-target-libstdc++ \
+ 	check-target-libstdc++-v3 \
  	check-target-libg++ \
  	check-target-newlib \
  	check-target-libf2c \
*************** CHECK_TARGET_MODULES = \
*** 836,841 ****
--- 839,845 ----
  INSTALL_TARGET_MODULES = \
  	install-target-libio \
  	install-target-libstdc++ \
+ 	install-target-libstdc++-v3 \
  	install-target-libg++ \
  	install-target-newlib \
  	install-target-libf2c \
*************** CLEAN_MODULES = \
*** 922,927 ****
--- 926,932 ----
  CLEAN_TARGET_MODULES = \
  	clean-target-libio \
  	clean-target-libstdc++ \
+ 	clean-target-libstdc++-v3 \
  	clean-target-librx \
  	clean-target-libg++ \
  	clean-target-newlib \
*************** all-target-libjava: configure-target-lib
*** 1634,1640 ****
--- 1639,1647 ----
  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:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]