From patchwork Tue Mar 29 20:55:41 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joseph Myers X-Patchwork-Id: 88863 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 3367CB6EDD for ; Wed, 30 Mar 2011 07:55:54 +1100 (EST) Received: (qmail 27156 invoked by alias); 29 Mar 2011 20:55:53 -0000 Received: (qmail 27136 invoked by uid 22791); 29 Mar 2011 20:55:51 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL, BAYES_00, TW_BF, TW_GC, TW_IB, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 29 Mar 2011 20:55:44 +0000 Received: (qmail 4945 invoked from network); 29 Mar 2011 20:55:43 -0000 Received: from unknown (HELO digraph.polyomino.org.uk) (joseph@127.0.0.2) by mail.codesourcery.com with ESMTPA; 29 Mar 2011 20:55:43 -0000 Received: from jsm28 (helo=localhost) by digraph.polyomino.org.uk with local-esmtp (Exim 4.72) (envelope-from ) id 1Q4fwz-0001Nu-TG; Tue, 29 Mar 2011 20:55:41 +0000 Date: Tue, 29 Mar 2011 20:55:41 +0000 (UTC) From: "Joseph S. Myers" To: gcc-patches@gcc.gnu.org cc: bonzini@gnu.org, dj@redhat.com, neroden@gcc.gnu.org, aoliva@redhat.com, Ralf.Wildenhues@gmx.de Subject: Continue toplevel cleanup (GCC library handling for unsupported targets etc.) Message-ID: MIME-Version: 1.0 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org This patch continues cleaning up the toplevel configure.ac, in particular as regards cases handling GCC libraries for targets where GCC is no longer (or never was) supported. The principle there, as discussed for the original deprecated targets removal patch, is that in the absence of GCC support for a target it doesn't matter exactly how toplevel is configured to build GCC libraries (or other GCC-related directories) for that target - builds will and should fail if GCC is included in the source tree - so toplevel configure.ac should be set up for maximal simplicity. In most cases that means no explicit mention of GCC libraries for such a target; in some cases it means removing the target entry altogether so that another case becomes active instead (possibly the *-*-* case that disables libgcj only). In general cases just disabling libgcj are redundant with the *-*-* case unless they prevent some other case being active for the target, and so are removed. There were also a couple of removed cases for targets with no support in GCC or src at all (romp-*-*, vax-*-vms) - if there's no support in GCC or src, it's right that a build should fail trying to build whatever sources you have there, and silly for toplevel to try disabling everything because nothing is supported. Other cleanups here: noconfigdirs="$noconfigdirs" is completely useless and was removed; c54x*-*-* is always mapped to tic54x-*-* by config.sub so that case can be simplified; cris*-*-none acts just like cris*-*-elf in config.gcc so it's appropriate to make the "*" subcase of cris*-*-* act like the -elf case; mmix-*-* disabled "libgloss", i.e. libgloss for the host, which is never built anyway. OK to commit? 2011-03-29 Joseph Myers * configure.ac (*-*-chorusos): Don't disable libgcj. (*-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*): Remove case. (*-*-kaos*): Don't disable GCC libraries, zlib or fastjar. (arm-*-coff): Don't disable libgcj. (arm*-*-linux-gnueabi): Remove useless assignment. (arm-*-riscix*): Don't disable libgcj. (bfin-*-*): Don't enable target-bsp and target-cygmon depending on configuration. (c4x-*-* | tic4x-*-*): Don't disable GCC libraries. (c54x*-*-*): Remove case. (tic54x-*-*): Don't disable GCC or GCC libraries. (cris-*-* | crisv32-*-*): Don't handle *-*-aout. Change *-*-elf to *. (d10v-*-*): Don't disable GCC libraries. (d30v-*-*): Don't disable libgcj. (h8500-*-*): Don't disable GCC libraries. (i960-*-*): Don't disable libgcj. (i[[3456789]]86-*-linux*): Don't handle *-*-*libc1*. (i[[3456789]]86-*-sco3.2v5*, i[[3456789]]86-*-sco*, i[[3456789]]86-*-sysv4*, i[[3456789]]86-*-beos*): Don't disable libgcj. (m68k-*-coff*): Remove case. (mmix-*-*): Don't disable libgloss on host. (mn10200-*-*, mn10300-*-*): Remove cases. (powerpc*-*-winnt* | powerpc*-*-pe*, powerpcle-*-solaris*, powerpc-*-beos*, m68k-apollo-*, mips*-*-irix5*, mips*-*-bsd*): Don't disable libgcj. (romp-*-*): Remove case. (sparclite-*-*, sparc-*-sunos4*): Don't disable libgcj. (sparc-*-solaris2.[[0-6]] | sparc-*-solaris2.[[0-6]].*): Remove case. (v810-*-*): Don't disable GCC libraries. (v850*-*-*, vax-*-vms, xtensa*-*-*): Remove cases. (ip2k-*-*): Don't disable GCC libraries. * configure: Regenerate. Index: configure.ac =================================================================== --- configure.ac (revision 171675) +++ configure.ac (working copy) @@ -521,7 +521,7 @@ case "${target}" in *-*-chorusos) - noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; powerpc-*-darwin*) noconfigdirs="$noconfigdirs ld gas gdb gprof" @@ -543,9 +543,6 @@ *-*-dragonfly*) noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; - *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" - ;; *-*-freebsd*) noconfigdirs="$noconfigdirs target-newlib target-libgloss" if test "x$with_gmp" = x && test "x$with_gmp_dir" = x \ @@ -565,9 +562,7 @@ ;; *-*-kaos*) # Remove unsupported stuff on all kaOS configurations. - skipdirs="target-libiberty ${libgcj} target-libstdc++-v3" - skipdirs="$skipdirs target-libobjc" - skipdirs="$skipdirs zlib fastjar target-libjava target-boehm-gc target-zlib" + skipdirs="target-libiberty" noconfigdirs="$noconfigdirs target-libgloss" ;; *-*-netbsd*) @@ -636,7 +631,6 @@ noconfigdirs="$noconfigdirs target-libgloss" ;; arm-*-coff) - noconfigdirs="$noconfigdirs ${libgcj}" libgloss_dir=arm ;; arm-*-elf* | arm*-*-eabi* ) @@ -644,7 +638,6 @@ libgloss_dir=arm ;; arm*-*-linux-gnueabi) - noconfigdirs="$noconfigdirs" case ${with_newlib} in no) noconfigdirs="$noconfigdirs target-newlib target-libgloss" esac @@ -658,7 +651,7 @@ noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" ;; arm-*-riscix*) - noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs ld target-libgloss" ;; avr-*-*) noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj} target-libssp" @@ -666,15 +659,12 @@ bfin-*-*) unsupported_languages="$unsupported_languages java" noconfigdirs="$noconfigdirs target-boehm-gc" - if test x${is_cross_compiler} != xno ; then - target_configdirs="${target_configdirs} target-bsp target-cygmon" - fi ;; c4x-*-* | tic4x-*-*) - noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss" ;; - c54x*-*-* | tic54x-*-*) - noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb" + tic54x-*-*) + noconfigdirs="$noconfigdirs target-libgloss gdb" ;; cr16-*-*) noconfigdirs="$noconfigdirs ${libgcj} gdb" @@ -682,24 +672,18 @@ cris-*-* | crisv32-*-*) unsupported_languages="$unsupported_languages java" case "${target}" in - *-*-aout) - unsupported_languages="$unsupported_languages fortran" - noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";; - *-*-elf) # See PR46792 regarding target-libffi. - noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";; *-*-linux*) noconfigdirs="$noconfigdirs target-newlib target-libgloss";; - *) - unsupported_languages="$unsupported_languages fortran" - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss";; + *) # See PR46792 regarding target-libffi. + noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";; esac libgloss_dir=cris ;; d10v-*-*) - noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss" ;; d30v-*-*) - noconfigdirs="$noconfigdirs ${libgcj} gdb" + noconfigdirs="$noconfigdirs gdb" ;; fr30-*-elf*) noconfigdirs="$noconfigdirs ${libgcj} gdb" @@ -715,7 +699,7 @@ noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" ;; h8500-*-*) - noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss" ;; hppa1.1-*-osf* | hppa1.1-*-bsd* ) ;; @@ -745,7 +729,7 @@ noconfigdirs="$noconfigdirs ld ${libgcj}" ;; i960-*-*) - noconfigdirs="$noconfigdirs ${libgcj} gdb" + noconfigdirs="$noconfigdirs gdb" ;; ia64*-*-elf*) # No gdb support yet. @@ -764,13 +748,6 @@ libgloss_dir=i386 ;; i[[3456789]]86-*-linux*) - # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's - # not build java stuff by default. - case "${target}" in - *-*-*libc1*) - noconfigdirs="$noconfigdirs ${libgcj}";; - esac - # This section makes it possible to build newlib natively on linux. # If we are using a cross compiler then don't configure newlib. if test x${is_cross_compiler} != xno ; then @@ -810,19 +787,19 @@ i[[3456789]]86-*-sco3.2v5*) # The linker does not yet know about weak symbols in COFF, # and is not configured to handle mixed ELF and COFF. - noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs ld target-libgloss" ;; i[[3456789]]86-*-sco*) - noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss" ;; i[[3456789]]86-*-solaris2*) noconfigdirs="$noconfigdirs target-libgloss" ;; i[[3456789]]86-*-sysv4*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss" ;; i[[3456789]]86-*-beos*) - noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" ;; i[[3456789]]86-*-rdos*) noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" @@ -837,22 +814,13 @@ m68k-*-elf*) noconfigdirs="$noconfigdirs ${libgcj}" ;; - m68k-*-coff*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; m68*-*-* | fido-*-*) libgloss_dir=m68k ;; mmix-*-*) - noconfigdirs="$noconfigdirs target-libffi target-boehm-gc gdb libgloss" + noconfigdirs="$noconfigdirs target-libffi target-boehm-gc gdb" unsupported_languages="$unsupported_languages fortran java" ;; - mn10200-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - mn10300-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; mt-*-*) noconfigdirs="$noconfigdirs sim" ;; @@ -865,17 +833,17 @@ ;; powerpc*-*-winnt* | powerpc*-*-pe*) target_configdirs="$target_configdirs target-winsup" - noconfigdirs="$noconfigdirs gdb tcl tk target-libgloss itcl ${libgcj}" + noconfigdirs="$noconfigdirs gdb tcl tk target-libgloss itcl" # always build newlib. skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;; # This is temporary until we can link against shared libraries powerpcle-*-solaris*) - noconfigdirs="$noconfigdirs gdb sim tcl tk itcl ${libgcj}" + noconfigdirs="$noconfigdirs gdb sim tcl tk itcl" libgloss_dir=rs6000 ;; powerpc-*-beos*) - noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" ;; powerpc-*-eabi) noconfigdirs="$noconfigdirs ${libgcj}" @@ -894,7 +862,7 @@ noconfigdirs="$noconfigdirs gprof ${libgcj}" ;; m68k-apollo-*) - noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss" ;; microblaze*) noconfigdirs="$noconfigdirs gprof target-libssp ${libgcj}" @@ -908,7 +876,7 @@ libgloss_dir=mips ;; mips*-*-irix5*) - noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss" ;; mips*-*-irix6*) # Linking libjava exceeds command-line length limits on at least @@ -918,7 +886,7 @@ noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" ;; mips*-*-bsd*) - noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss" ;; mips*-*-linux*) noconfigdirs="$noconfigdirs target-newlib target-libgloss" @@ -927,9 +895,6 @@ noconfigdirs="$noconfigdirs gprof ${libgcj}" libgloss_dir=mips ;; - romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" - ;; sh-*-* | sh64-*-*) case "${target}" in sh*-*-elf) @@ -949,42 +914,28 @@ libgloss_dir=sparc ;; sparclite-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" libgloss_dir=sparc ;; sparc-*-sunos4*) - noconfigdirs="$noconfigdirs ${libgcj}" if test x${is_cross_compiler} != xno ; then noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" else use_gnu_ld=no fi ;; - sparc-*-solaris2.[[0-6]] | sparc-*-solaris2.[[0-6]].*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*) ;; tic6x-*-*) noconfigdirs="$noconfigdirs gdb sim ${libgcj}" ;; v810-*-*) - noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libstdc++-v3 opcodes target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs bfd binutils gas gdb ld opcodes target-libgloss" ;; - v850*-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - vax-*-vms) - noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}" - ;; vax-*-*) noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" ;; - xtensa*-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; ip2k-*-*) - noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}" + noconfigdirs="$noconfigdirs target-libiberty" ;; *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu) noconfigdirs="$noconfigdirs target-newlib target-libgloss"