Committed, configure.in (unsupported_languages): New macro.

Hans-Peter Nilsson hans-peter.nilsson@axis.com
Mon Jun 6 23:59:00 GMT 2005


This is what I actually committed; it differs only in the ChangeLog and
what goes for the targets I maintain: I settled for explicitly mentioning
target libraries that aren't ported, as in the "rules" D.J. suggested, to
better make these settings serve as a guide.  These settings, pruning
$libgcj, are currently nops, as the lang frag will disable all of $libgcj
if java is unsupported.  Target maintainers, please consider the
consequences of
<URL:http://gcc.gnu.org/ml/gcc-patches/2005-06/msg00531.html> before
tweaking noconfigdirs (i.e. don't just remove ${libgcj} when you add
unsupported_languages="$unsupported_languages java").

Oh, I'll commit this to src too.

	* configure.in (unsupported_languages): New macro.
	<mmix-knuth-mmixware>: Set unsupported_languages.  Name explicit
	non-ported target libraries in noconfigdirs.
	<cris-*, crisv32-*> Ditto, except for non-aout, non-elf,
	non-linux-gnu.  Remove libgcj_ex_libffi.
 	<lang_frag loop>: Set add_this_lang=no if the language is in
	unsupported_languages.
	* configure: Regenerate.

Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/configure.in,v
retrieving revision 1.352
diff -p -c -r1.352 configure.in
*** configure.in	4 Jun 2005 22:30:56 -0000	1.352
--- configure.in	6 Jun 2005 23:26:45 -0000
*************** case "${host}" in
*** 257,262 ****
--- 257,266 ----
      configdirs="$configdirs libtermcap" ;;
  esac
  
+ # A target can indicate whether a language isn't supported for some reason.
+ # Only spaces may be used in this macro; not newlines or tabs.
+ unsupported_languages=
+ 
  # Remove more programs from consideration, based on the host or 
  # target this usually means that a port of the program doesn't
  # exist yet.
*************** case "${target}" in
*** 481,495 ****
      noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib"
      ;;
    cris-*-* | crisv32-*-*)
!     libgcj_ex_libffi=`echo ${libgcj} | sed -e 's/target-libffi//'`
      case "${target}" in
        *-*-aout)
! 	noconfigdirs="$noconfigdirs ${libgcj}";;
        *-*-elf)
! 	noconfigdirs="$noconfigdirs ${libgcj_ex_libffi}";;
        *-*-linux*)
! 	noconfigdirs="$noconfigdirs ${libgcj_ex_libffi} target-newlib target-libgloss";;
        *)
  	noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss";;
      esac
      ;;
--- 485,502 ----
      noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib"
      ;;
    cris-*-* | crisv32-*-*)
!     unsupported_languages="$unsupported_languages java"
      case "${target}" in
        *-*-aout)
! 	unsupported_languages="$unsupported_languages f95"
! 	noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
        *-*-elf)
! 	unsupported_languages="$unsupported_languages f95"
! 	noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
        *-*-linux*)
! 	noconfigdirs="$noconfigdirs target-libffi target-newlib target-libgloss";;
        *)
+ 	unsupported_languages="$unsupported_languages f95"
  	noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss";;
      esac
      ;;
*************** case "${target}" in
*** 639,645 ****
      noconfigdirs="$noconfigdirs target-libstdc++-v3"
      ;;
    mmix-*-*)
!     noconfigdirs="$noconfigdirs ${libgcj} gdb libgloss target-libgfortran"
      ;;
    mn10200-*-*)
      noconfigdirs="$noconfigdirs ${libgcj}"
--- 646,653 ----
      noconfigdirs="$noconfigdirs target-libstdc++-v3"
      ;;
    mmix-*-*)
!     noconfigdirs="$noconfigdirs target-libffi target-boehm-gc gdb libgloss"
!     unsupported_languages="$unsupported_languages f95 java"
      ;;
    mn10200-*-*)
      noconfigdirs="$noconfigdirs ${libgcj}"
*************** if test -d ${srcdir}/gcc; then
*** 1210,1216 ****
              add_this_lang=no
              ;;
          esac
!         
  	case $add_this_lang in
  	  no)
              # Remove language-dependent dirs.
--- 1218,1231 ----
              add_this_lang=no
              ;;
          esac
! 
! 	# Disable a language that is unsupported by the target.
! 	case " $unsupported_languages " in
! 	  *" $language "*)
! 	    add_this_lang=no
! 	    ;;
! 	esac
! 
  	case $add_this_lang in
  	  no)
              # Remove language-dependent dirs.

brgds, H-P



More information about the Gcc-patches mailing list