From patchwork Sun Oct 31 19:09:26 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Lance Taylor X-Patchwork-Id: 69734 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 16A20B6EF1 for ; Mon, 1 Nov 2010 06:09:59 +1100 (EST) Received: (qmail 19745 invoked by alias); 31 Oct 2010 19:09:45 -0000 Received: (qmail 19712 invoked by uid 22791); 31 Oct 2010 19:09:44 -0000 X-SWARE-Spam-Status: No, hits=-4.6 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, RCVD_IN_DNSWL_HI, SPF_HELO_PASS, TW_GC, TW_IB, T_RP_MATCHES_RCVD, T_TVD_MIME_NO_HEADERS X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (74.125.121.35) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 31 Oct 2010 19:09:35 +0000 Received: from hpaq14.eem.corp.google.com (hpaq14.eem.corp.google.com [172.25.149.14]) by smtp-out.google.com with ESMTP id o9VJ9WVu024154 for ; Sun, 31 Oct 2010 12:09:32 -0700 Received: from pzk7 (pzk7.prod.google.com [10.243.19.135]) by hpaq14.eem.corp.google.com with ESMTP id o9VJ9U3s019298 for ; Sun, 31 Oct 2010 12:09:31 -0700 Received: by pzk7 with SMTP id 7so722899pzk.26 for ; Sun, 31 Oct 2010 12:09:30 -0700 (PDT) Received: by 10.142.132.6 with SMTP id f6mr3877830wfd.63.1288552170240; Sun, 31 Oct 2010 12:09:30 -0700 (PDT) Received: from coign.google.com (adsl-71-133-8-30.dsl.pltn13.pacbell.net [71.133.8.30]) by mx.google.com with ESMTPS id w42sm7251976wfh.3.2010.10.31.12.09.28 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 31 Oct 2010 12:09:29 -0700 (PDT) From: Ian Lance Taylor To: gcc@gcc.gnu.org, java@gcc.gnu.org Cc: gcc-patches@gcc.gnu.org, java-patches@gcc.gnu.org Subject: PATCH RFA: Do not build java by default Date: Sun, 31 Oct 2010 12:09:26 -0700 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 X-System-Of-Record: true X-IsSubscribed: yes 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 Currently we build the Java frontend and libjava by default. At the GCC Summit we raised the question of whether should turn this off, thus only building it when java is explicitly selected at configure time with --enable-languages. Among the people at the summit, there was general support for this, and nobody was opposed to it. Here is a patch which implements that. I'm sending this to the mailing lists gcc@ and java@, as well as the relevant -patches@ lists, because it does deserve some broader discussion. This is not a proposal to remove the Java frontend nor is it leading up to that. It is a proposal to not build the frontend by default, putting Java in the same category as Ada and Objective C++. The main argument in favor of this proposal is twofold: 1) building libjava is a large component of gcc bootstrap time, and thus a large component in the amount of time it takes to test changes; 2) it is in practice very unusual for middle-end or back-end changes to cause problems with Java without also causing problems for C/C++, thus building and testing libjava does not in practice help ensure the stability of the compiler. A supporting argument is since Sun has released their Java tools under the GPL, community interest seems to have shifted toward the Sun tools; gcc's Java frontend is in maintenance mode, with little new development currently planned. This patch should not of course change whether or not distros choose to package the Java compiler; undoubtedly they would continue to do so, just as they package the Ada compiler today. Comments? Approvals? Ian gcc/java/ChangeLog: 2010-10-31 Ian Lance Taylor * config-lang.in (build_by_default): Set to no. gcc/ChangeLog: 2010-10-31 Ian Lance Taylor * doc/install.texi (Configuration): Note in two places that Java is not enabled by default. Index: gcc/java/config-lang.in =================================================================== --- gcc/java/config-lang.in (revision 166080) +++ gcc/java/config-lang.in (working copy) @@ -36,5 +36,7 @@ gtfiles="\$(srcdir)/java/java-tree.h \$( target_libs=${libgcj_saved} lang_dirs="fastjar" -#build_by_default=no lang_requires=c++ + +# Do not build java by default. +build_by_default=no Index: gcc/doc/install.texi =================================================================== --- gcc/doc/install.texi (revision 166080) +++ gcc/doc/install.texi (working copy) @@ -1320,7 +1309,7 @@ Currently, you can use any of the follow Building the Ada compiler has special requirements, see below. If you do not pass this flag, or specify the option @code{all}, then all default languages available in the @file{gcc} sub-tree will be configured. -Ada and Objective-C++ are not default languages; the rest are. +Java, Ada and Objective-C++ are not default languages; the rest are. Re-defining @code{LANGUAGES} when calling @samp{make} @strong{does not} work anymore, as those language sub-directories might not have been configured! @@ -1763,7 +1741,9 @@ tools. @subheading Java-Specific Options -The following option applies to the build of the Java front end. +The following option applies to the build of the Java front end. Note +that the Java front end is not built by default; in order to build it, +use the @option{--enable-languages} option described above. @table @code @item --disable-libgcj