From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) by sourceware.org (Postfix) with ESMTP id 324BA388A43B for ; Sat, 13 Mar 2021 17:24:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 324BA388A43B Received: from vapier.lan (localhost [127.0.0.1]) by smtp.gentoo.org (Postfix) with ESMTP id 2DD22340AED for ; Sat, 13 Mar 2021 17:24:12 +0000 (UTC) From: Mike Frysinger To: gdb-patches@sourceware.org Subject: [PATCH v2 2/3] sim: igen: merge build into top level Date: Sat, 13 Mar 2021 12:24:04 -0500 Message-Id: <20210313172405.11792-2-vapier@gentoo.org> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210313172405.11792-1-vapier@gentoo.org> References: <20210308033320.29670-1-vapier@gentoo.org> <20210313172405.11792-1-vapier@gentoo.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 13 Mar 2021 17:24:18 -0000 This simplifies the build a bit (especially for deps in port subdirs), and avoids recursive make. This in turn speeds up the build, and sets us up for multi-target. --- sim/ChangeLog | 7 + sim/Makefile.am | 8 + sim/Makefile.in | 330 ++- sim/configure | 21 +- sim/configure.ac | 4 +- sim/igen/ChangeLog | 5 + sim/igen/Makefile.in | 176 -- sim/igen/configure | 5245 --------------------------------------- sim/igen/configure.ac | 9 - sim/igen/local.mk | 89 + sim/mips/ChangeLog | 5 + sim/mips/Makefile.in | 7 - sim/mn10300/ChangeLog | 5 + sim/mn10300/Makefile.in | 4 - sim/v850/ChangeLog | 5 + sim/v850/Makefile.in | 4 - 16 files changed, 451 insertions(+), 5473 deletions(-) delete mode 100644 sim/igen/Makefile.in delete mode 100755 sim/igen/configure delete mode 100644 sim/igen/configure.ac create mode 100644 sim/igen/local.mk diff --git a/sim/ChangeLog b/sim/ChangeLog index eb3bce7a292e..e0d1045eb966 100644 --- a/sim/ChangeLog +++ b/sim/ChangeLog @@ -1,3 +1,10 @@ +2021-03-07 Mike Frysinger + + * Makefile.am [SIM_ENABLE_IGEN]: Include igen/local.mk. + * configure.ac: Delete AC_CONFIG_SUBDIRS(igen) call. + (SIM_ENABLE_IGEN): Define. + * configure, Makefile.in: Regenerate. + 2021-03-07 Mike Frysinger * Makefile.am (ACLOCAL_AMFLAGS): Add -Im4. diff --git a/sim/Makefile.am b/sim/Makefile.am index f9084d360ed3..af79bb5d5c7b 100644 --- a/sim/Makefile.am +++ b/sim/Makefile.am @@ -22,6 +22,11 @@ srcroot = $(srcdir)/.. SUBDIRS = @subdirs@ +# We don't set some of these files here, but we need to define them so they may +# be used consistently in local.mk files we include below. +noinst_LIBRARIES = +EXTRA_PROGRAMS = + MOSTLYCLEANFILES = core COMPILE_FOR_BUILD = $(CC_FOR_BUILD) $(AM_CPPFLAGS) $(CFLAGS_FOR_BUILD) @@ -38,4 +43,7 @@ nltvals: $(abs_srcdir)/common/gennltvals.py --cpp "$(CPP)" --output nltvals.def --srcroot $(srcroot) $(SHELL) $(srcroot)/move-if-change nltvals.def $(abs_srcdir)/common/nltvals.def +if SIM_ENABLE_IGEN +include igen/local.mk +endif include testsuite/local.mk diff --git a/sim/configure.ac b/sim/configure.ac index e233f9c4750c..48d812b98855 100644 --- a/sim/configure.ac +++ b/sim/configure.ac @@ -123,10 +123,8 @@ if test "${enable_sim}" != no; then sim_igen=yes ;; esac - if test "$sim_igen" = yes; then - AC_CONFIG_SUBDIRS(igen) - fi fi +AM_CONDITIONAL([SIM_ENABLE_IGEN], [test "$sim_igen" = "yes"]) AC_CONFIG_FILES([Makefile]) AC_OUTPUT diff --git a/sim/igen/ChangeLog b/sim/igen/ChangeLog index 89e11892452f..c862e98f4650 100644 --- a/sim/igen/ChangeLog +++ b/sim/igen/ChangeLog @@ -1,3 +1,8 @@ +2021-03-07 Mike Frysinger + + * local.mk: New file. + * Makefile.in, configure.ac, configure: Removed. + 2021-03-07 Mike Frysinger * configure.ac: Call SIM_AC_TOOLCHAIN and AC_CONFIG_FILES. diff --git a/sim/igen/local.mk b/sim/igen/local.mk new file mode 100644 index 000000000000..10f0f6d227da --- /dev/null +++ b/sim/igen/local.mk @@ -0,0 +1,89 @@ +# The IGEN simulator generator for GDB, the GNU Debugger. +# +# Copyright 2002-2021 Free Software Foundation, Inc. +# +# Contributed by Andrew Cagney. +# +# This file is part of GDB. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# This makes sure igen is available before building the arch-subdirs which +# need to run the igen tool. +all-recursive: igen/igen$(EXEEXT) + +# Alias for developers. +igen: %D%/igen$(EXEEXT) + +noinst_LIBRARIES += %D%/libigen.a +%C%_libigen_a_SOURCES = \ + %D%/table.c \ + %D%/lf.c \ + %D%/misc.c \ + %D%/filter_host.c \ + %D%/ld-decode.c \ + %D%/ld-cache.c \ + %D%/filter.c \ + %D%/ld-insn.c \ + %D%/gen-model.c \ + %D%/gen-itable.c \ + %D%/gen-icache.c \ + %D%/gen-semantics.c \ + %D%/gen-idecode.c \ + %D%/gen-support.c \ + %D%/gen-engine.c \ + %D%/gen.c + +%C%_igen_SOURCES = %D%/igen.c +%C%_igen_LDADD = %D%/libigen.a + +%D%/igen$(EXEEXT): $(%C%_igen_OBJECTS) $(%C%_igen_DEPENDENCIES) %D%/$(am__dirstamp) + $(AM_V_CCLD)$(LINK_FOR_BUILD) $(%C%_igen_OBJECTS) $(%C%_igen_LDADD) + +# igen is a build-time only tool. Override the default rules for it. +%D%/%.o: %D%/%.c + $(AM_V_CC)$(COMPILE_FOR_BUILD) -c $< -o $@ + +# Build some of the files in standalone mode for developers of igen itself. +%D%/%-main.o: %D%/%.c + $(AM_V_CC)$(COMPILE_FOR_BUILD) -DMAIN -c $< -o $@ + +%C%_filter_SOURCES = +%C%_filter_LDADD = %D%/filter-main.o %D%/libigen.a + +%C%_gen_SOURCES = +%C%_gen_LDADD = %D%/gen-main.o %D%/libigen.a + +%C%_ld_cache_SOURCES = +%C%_ld_cache_LDADD = %D%/ld-cache-main.o %D%/libigen.a + +%C%_ld_decode_SOURCES = +%C%_ld_decode_LDADD = %D%/ld-decode-main.o %D%/libigen.a + +%C%_ld_insn_SOURCES = +%C%_ld_insn_LDADD = %D%/ld-insn-main.o %D%/libigen.a + +%C%_table_SOURCES = +%C%_table_LDADD = %D%/table-main.o %D%/libigen.a + +%C%_IGEN_TOOLS = \ + %D%/igen \ + %D%/filter \ + %D%/gen \ + %D%/ld-cache \ + %D%/ld-decode \ + %D%/ld-insn \ + %D%/table +EXTRA_PROGRAMS += $(%C%_IGEN_TOOLS) +MOSTLYCLEANFILES += $(%C%_IGEN_TOOLS) diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog index 12347a7e3e23..ba73810dc433 100644 --- a/sim/mips/ChangeLog +++ b/sim/mips/ChangeLog @@ -1,3 +1,8 @@ +2021-03-07 Mike Frysinger + + * Makefile.in (../igen/igen): Delete rule. + (tmp-igen, tmp-m16, tmp-micromips): Delete ../igen make. + 2021-02-28 Mike Frysinger * configure: Regenerate. diff --git a/sim/mips/Makefile.in b/sim/mips/Makefile.in index c94bd11282b8..c66c6e839782 100644 --- a/sim/mips/Makefile.in +++ b/sim/mips/Makefile.in @@ -95,9 +95,6 @@ micromipsrun.o: sim-main.h micromips16_idecode.h micromips32_idecode.h \ multi-run.o: multi-include.h tmp-mach-multi -../igen/igen: - cd ../igen && $(MAKE) - IGEN_TRACE= # -G omit-line-numbers # -G trace-rule-selection -G trace-rule-rejection -G trace-entries # -G trace-all IGEN_INSN=$(srcdir)/mips.igen IGEN_DC=$(srcdir)/mips.dc @@ -152,7 +149,6 @@ BUILT_SRC_FROM_IGEN = \ $(BUILT_SRC_FROM_IGEN): tmp-igen tmp-igen: $(IGEN_INSN) $(IGEN_DC) ../igen/igen $(IGEN_INCLUDE) - cd ../igen && $(MAKE) ../igen/igen \ $(IGEN_TRACE) \ -I $(srcdir) \ @@ -224,7 +220,6 @@ BUILT_SRC_FROM_M16 = \ $(BUILT_SRC_FROM_M16): tmp-m16 tmp-m16: $(IGEN_INSN) $(IGEN_DC) ../igen/igen $(IGEN_INCLUDE) - cd ../igen && $(MAKE) ../igen/igen \ $(IGEN_TRACE) \ -I $(srcdir) \ @@ -351,7 +346,6 @@ BUILT_SRC_FROM_MICROMIPS = \ $(BUILT_SRC_FROM_MICROMIPS): tmp-micromips tmp-micromips: $(IGEN_INSN) $(IGEN_DC) ../igen/igen $(IGEN_INCLUDE) - cd ../igen && $(MAKE) ../igen/igen \ $(IGEN_TRACE) \ -I $(srcdir) \ @@ -397,7 +391,6 @@ tmp-micromips: $(IGEN_INSN) $(IGEN_DC) ../igen/igen $(IGEN_INCLUDE) micromips16_support.h $(SHELL) $(srcdir)/../../move-if-change tmp-support.c \ micromips16_support.c - cd ../igen && $(MAKE) ../igen/igen \ $(IGEN_TRACE) \ -I $(srcdir) \ diff --git a/sim/mn10300/ChangeLog b/sim/mn10300/ChangeLog index c9de7a4b1c21..cca76a7f87e2 100644 --- a/sim/mn10300/ChangeLog +++ b/sim/mn10300/ChangeLog @@ -1,3 +1,8 @@ +2021-03-07 Mike Frysinger + + * Makefile.in (../igen/igen): Delete rule. + (tmp-igen): Delete ../igen make. + 2021-02-28 Mike Frysinger * configure: Regenerate. diff --git a/sim/mn10300/Makefile.in b/sim/mn10300/Makefile.in index 916900095d8c..6cdf9712882b 100644 --- a/sim/mn10300/Makefile.in +++ b/sim/mn10300/Makefile.in @@ -65,14 +65,10 @@ clean-igen: rm -f $(BUILT_SRC_FROM_IGEN) rm -f tmp-igen tmp-insns -../igen/igen: - cd ../igen && $(MAKE) - IGEN_TRACE= # -G omit-line-numbers # -G trace-rule-selection -G trace-rule-rejection -G trace-entries IGEN_INSN=$(srcdir)/mn10300.igen $(srcdir)/am33.igen $(srcdir)/am33-2.igen IGEN_DC=$(srcdir)/mn10300.dc tmp-igen: $(IGEN_INSN) $(IGEN_DC) ../igen/igen - cd ../igen && $(MAKE) ../igen/igen \ $(IGEN_TRACE) \ -G gen-direct-access \ diff --git a/sim/v850/ChangeLog b/sim/v850/ChangeLog index 495a7e28975c..f1eb8d62c9e3 100644 --- a/sim/v850/ChangeLog +++ b/sim/v850/ChangeLog @@ -1,3 +1,8 @@ +2021-03-07 Mike Frysinger + + * Makefile.in (../igen/igen): Delete rule. + (tmp-igen): Delete ../igen make. + 2021-02-28 Mike Frysinger * configure: Regenerate. diff --git a/sim/v850/Makefile.in b/sim/v850/Makefile.in index 29e75528a5b0..983fc79f93a7 100644 --- a/sim/v850/Makefile.in +++ b/sim/v850/Makefile.in @@ -65,14 +65,10 @@ clean-igen: rm -f $(BUILT_SRC_FROM_IGEN) rm -f tmp-igen tmp-insns -../igen/igen: - cd ../igen && $(MAKE) - IGEN_TRACE= # -G omit-line-numbers # -G trace-rule-selection -G trace-rule-rejection -G trace-entries IGEN_INSN=$(srcdir)/v850.igen IGEN_DC=$(srcdir)/v850-dc tmp-igen: $(IGEN_INSN) $(IGEN_DC) ../igen/igen - cd ../igen && $(MAKE) ../igen/igen \ $(IGEN_TRACE) \ -G gen-direct-access \ -- 2.30.0