From patchwork Mon Sep 23 14:11:50 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 277216 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]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id D2DC72C0122 for ; Tue, 24 Sep 2013 00:17:06 +1000 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:in-reply-to:references; q=dns; s= default; b=bhrMQ+SKBy88+5XJEKvLsHcb9kfMHXAhRxiA1UvVs6reP35eWMllt mRvaF7IC0rztpj32PyhYlPVKKN8+JZu+0jxhavTDiKLJVJApkWSsqeXwv2FVbxUC OiLmxqGSM8Rd2DvyO/vwCNJ9U2AI80AB1fvZzgpKDk7nc+6stR4Ag4= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:in-reply-to:references; s= default; bh=gwofqQjTkmDbdseb+vS+lay/CdQ=; b=oGu9erWH8E3oPOIjqHR7 5WDfyDFFl0xuE9XLQJGuF69cd3n60WRlOJZOBkJ3tbqTMlnYj7mAutWrY1DzTFsx UqWcg3dU49v+rTo+3epBOx5MXLh3Yq02WfjuKAizyp6anDhH0bs9ZleNwAERlxVf Xe8OqyR9V85PBQ+bf6Pa3ek= Received: (qmail 30571 invoked by alias); 23 Sep 2013 14:12:19 -0000 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 Received: (qmail 30553 invoked by uid 89); 23 Sep 2013 14:12:18 -0000 Received: from eggs.gnu.org (HELO eggs.gnu.org) (208.118.235.92) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Mon, 23 Sep 2013 14:12:18 +0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-4.6 required=5.0 tests=AWL, BAYES_00, RP_MATCHES_RCVD, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 X-HELO: eggs.gnu.org Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VO6ry-0001BG-4q for gcc-patches@gcc.gnu.org; Mon, 23 Sep 2013 10:12:15 -0400 Received: from mx1.redhat.com ([209.132.183.28]:62743) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VO6rx-0001B9-Sd for gcc-patches@gcc.gnu.org; Mon, 23 Sep 2013 10:12:10 -0400 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r8NEC9Eo028154 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 23 Sep 2013 10:12:09 -0400 Received: from barimba.redhat.com (ovpn-113-63.phx2.redhat.com [10.3.113.63]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r8NEC2Dh013468; Mon, 23 Sep 2013 10:12:08 -0400 From: Tom Tromey To: gcc-patches@gcc.gnu.org Cc: bonzini@gnu.org, Tom Tromey Subject: [PATCH v4 10/20] convert the Java front end to automatic dependencies Date: Mon, 23 Sep 2013 08:11:50 -0600 Message-Id: <1379945520-3839-11-git-send-email-tromey@redhat.com> In-Reply-To: <1379945520-3839-1-git-send-email-tromey@redhat.com> References: <1379945520-3839-1-git-send-email-tromey@redhat.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 209.132.183.28 This converts the Java front end. We also rename jvspec.o to java/jvspec.o, for uniformity; this lets us remove an explicit rule. * Make-lang.in (jvspec.o): Remove. (CFLAGS-java/jvspec.o): New variable. ($(XGCJ)$(exeext), java_OBJS): Use java/jvspec.o (java/jvspec.o-warn): Rename from jvspec.o-warn. (JAVA_TREE_H, java/jcf-dump.o, java/boehm.o, java/builtins.o) (java/class.o, java/constants.o, java/decl.o, java/except.o) (java/expr.o, java/jcf-depend.o, java/jcf-parse.o) (java/jvgenmain.o, java/lang.o, java/mangle.o, java/mangle_name.o) (java/resource.o java/typeck.o, java/win32-host.o) (java/verify-glue.o, java/verify-impl.o, java/zextract.o) (java/java-gimplify.o, java/jcf-io.o, java/jcf-path.o): Remove. --- gcc/java/Make-lang.in | 75 ++++----------------------------------------------- 1 file changed, 5 insertions(+), 70 deletions(-) diff --git a/gcc/java/Make-lang.in b/gcc/java/Make-lang.in index 078f6d4..5ed344c 100644 --- a/gcc/java/Make-lang.in +++ b/gcc/java/Make-lang.in @@ -55,16 +55,13 @@ JAVA_TARGET_INDEPENDENT_BIN_TOOLS = jcf-dump # Tell GNU make to ignore these if they exist. .PHONY: java -jvspec.o: $(srcdir)/java/jvspec.c $(SYSTEM_H) coretypes.h $(TM_H) \ - $(GCC_H) $(CONFIG_H) java/jcf.h java/javaop.h $(OPTS_H) - $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(DRIVER_DEFINES) \ - $(INCLUDES) $(srcdir)/java/jvspec.c $(OUTPUT_OPTION) +CFLAGS-java/jvspec.o += $(DRIVER_DEFINES) # Create the compiler driver for $(XGCJ). -$(XGCJ)$(exeext): $(GCC_OBJS) jvspec.o java/jcf-path.o \ +$(XGCJ)$(exeext): $(GCC_OBJS) java/jvspec.o java/jcf-path.o \ libcommon-target.a $(LIBDEPS) $(EXTRA_GCC_OBJS) +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(GCC_OBJS) \ - jvspec.o java/jcf-path.o $(EXTRA_GCC_OBJS) libcommon-target.a \ + java/jvspec.o java/jcf-path.o $(EXTRA_GCC_OBJS) libcommon-target.a \ $(EXTRA_GCC_LIBS) $(LIBS) # Create a version of the $(XGCJ) driver which calls the cross-compiler. @@ -88,13 +85,13 @@ JCFDUMP_OBJS = java/jcf-dump.o java/jcf-io.o java/jcf-depend.o java/jcf-path.o \ JVGENMAIN_OBJS = java/jvgenmain.o java/mangle_name.o -java_OBJS = $(sort $(JAVA_OBJS) $(JCFDUMP_OBJS) $(JVGENMAIN_OBJS)) jvspec.o +java_OBJS = $(sort $(JAVA_OBJS) $(JCFDUMP_OBJS) $(JVGENMAIN_OBJS)) java/jvspec.o # Use strict warnings for this front end. java-warn = $(STRICT_WARN) # String length warnings -jvspec.o-warn = -Wno-error +java/jvspec.o-warn = -Wno-error jc1$(exeext): $(JAVA_OBJS) $(BACKEND) $(LIBDEPS) attribs.o rm -f $@ @@ -262,76 +259,14 @@ java.stagefeedback: stageprofile-start -mv java/*$(objext) stagefeedback/java # -# .o:.h dependencies. -JAVA_TREE_H = $(TREE_H) $(HASHTAB_H) java/java-tree.h - -java/jcf-dump.o: $(CONFIG_H) $(SYSTEM_H) coretypes.h $(JAVA_TREE_H) \ - java/jcf-dump.c java/jcf-reader.c java/jcf.h java/javaop.h java/javaop.def \ - version.h $(GGC_H) intl.h java/zipfile.h $(DIAGNOSTIC_H) -java/boehm.o: java/boehm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ - $(TREE_H) $(JAVA_TREE_H) java/parse.h -java/builtins.o: java/builtins.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ - $(JAVA_TREE_H) $(GGC_H) $(FLAGS_H) $(OPTABS_H) $(EXPR_H) langhooks.h \ - gt-java-builtins.h -java/class.o: java/class.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ - $(JAVA_TREE_H) java/jcf.h java/parse.h toplev.h output.h $(GGC_H) \ - $(FUNCTION_H) gt-java-class.h -java/constants.o: java/constants.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h \ - toplev.h $(SYSTEM_H) coretypes.h $(TM_H) $(GGC_H) gt-java-constants.h -java/decl.o: java/decl.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h \ - toplev.h $(FLAGS_H) $(SYSTEM_H) coretypes.h $(TM_H) \ - java/java-except.h $(GGC_H) $(REAL_H) gt-java-decl.h \ - $(TARGET_H) $(CGRAPH_H) langhooks.h -java/except.o: java/except.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h $(REAL_H) \ - java/javaop.h java/java-opcodes.h java/java-except.h \ - toplev.h $(SYSTEM_H) coretypes.h -java/expr.o: java/expr.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h $(REAL_H) \ - java/javaop.h java/java-opcodes.h \ - java/java-except.h java/java-except.h java/parse.h \ - $(SYSTEM_H) coretypes.h $(TM_H) $(GGC_H) gt-java-expr.h $(TARGET_H) \ - tree-iterator.h -java/jcf-depend.o: java/jcf-depend.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - java/jcf.h -java/jcf-parse.o: java/jcf-parse.c $(CONFIG_H) $(JAVA_TREE_H) $(FLAGS_H) \ - input.h java/java-except.h $(SYSTEM_H) coretypes.h \ - java/parse.h $(GGC_H) debug.h $(REAL_H) gt-java-jcf-parse.h \ - java/jcf-reader.c java/zipfile.h java/jcf.h $(BITMAP_H) -java/jvgenmain.o: java/jvgenmain.c $(CONFIG_H) $(JAVA_TREE_H) $(SYSTEM_H) \ - coretypes.h $(TM_H) intl.h $(DIAGNOSTIC_H) -java/lang.o: java/lang.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h input.h \ - $(SYSTEM_H) coretypes.h $(TM_H) $(DIAGNOSTIC_H) \ - langhooks.h $(LANGHOOKS_DEF_H) gt-java-lang.h $(OPTS_H) $(OPTIONS_H) \ - $(TARGET_H) -java/mangle.o: java/mangle.c $(CONFIG_H) java/jcf.h $(JAVA_TREE_H) $(SYSTEM_H) \ - coretypes.h $(TM_H) $(GGC_H) gt-java-mangle.h $(LANGHOOKS_DEF_H) -java/mangle_name.o: java/mangle_name.c $(CONFIG_H) java/jcf.h $(JAVA_TREE_H) \ - $(SYSTEM_H) coretypes.h $(GGC_H) -java/resource.o: java/resource.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(JAVA_TREE_H) java/jcf.h java/parse.h toplev.h $(GGC_H) \ - $(TARGET_H) $(FUNCTION_H) gt-java-resource.h -java/typeck.o: java/typeck.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h \ - $(SYSTEM_H) coretypes.h $(GGC_H) $(REAL_H) -java/win32-host.o: java/win32-host.c $(CONFIG_H) $(SYSTEM_H) coretypes.h java/jcf.h -java/verify-glue.o: java/verify-glue.c $(CONFIG_H) $(SYSTEM_H) $(JAVA_TREE_H) \ - coretypes.h java/verify.h -java/verify-impl.o: java/verify-impl.c $(CONFIG_H) java/verify.h $(SYSTEM_H) \ - coretypes.h java/jcf.h $(JAVA_TREE_H) -java/zextract.o: java/zextract.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ - java/zipfile.h -java/java-gimplify.o: java/java-gimplify.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h dumpfile.h $(JAVA_TREE_H) $(GIMPLE_H) # jcf-io.o needs $(ZLIBINC) added to cflags. CFLAGS-java/jcf-io.o += $(ZLIBINC) -java/jcf-io.o: java/jcf-io.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(JAVA_TREE_H) java/zipfile.h $(HASH_TABLE_H) # jcf-path.o needs a -D. CFLAGS-java/jcf-path.o += \ -DLIBGCJ_ZIP_FILE='"$(datadir)/java/libgcj-$(version).jar"' \ -DDEFAULT_TARGET_VERSION=\"$(version)\" -java/jcf-path.o: java/jcf-path.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - java/jcf.h TEXI_JAVA_FILES = java/gcj.texi $(gcc_docdir)/include/fdl.texi \ $(gcc_docdir)/include/gpl_v3.texi $(gcc_docdir)/include/gcc-common.texi \