From: Mike Frysinger Date: Mon, 2 Jan 2023 03:58:35 +0000 (-0500) Subject: sim: build: delete Make-common.in logic X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fe0adb538f0b1bdf3a0804b20cf97a4601caec57;p=binutils-gdb.git sim: build: delete Make-common.in logic Now that all (other than ppc) build in the top-level, this logic is unused, so punt it all. --- diff --git a/sim/Makefile.in b/sim/Makefile.in index 94d699bb00d..14db403586f 100644 --- a/sim/Makefile.in +++ b/sim/Makefile.in @@ -1658,8 +1658,6 @@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ -SIM_COMMON_BUILD_FALSE = @SIM_COMMON_BUILD_FALSE@ -SIM_COMMON_BUILD_TRUE = @SIM_COMMON_BUILD_TRUE@ SIM_ENABLED_ARCHES = @SIM_ENABLED_ARCHES@ SIM_FRV_TRAPDUMP_FLAGS = @SIM_FRV_TRAPDUMP_FLAGS@ SIM_HW_CFLAGS = @SIM_HW_CFLAGS@ @@ -1731,8 +1729,6 @@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ -sim_bitsize = @sim_bitsize@ -sim_float = @sim_float@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ diff --git a/sim/README-HACKING b/sim/README-HACKING index fd6461e5ae9..55caa7b15b2 100644 --- a/sim/README-HACKING +++ b/sim/README-HACKING @@ -17,54 +17,11 @@ The common directory contains: - common documentation files (e.g. run.1, and maybe in time .texi files) - common source files (e.g. run.c) -- common Makefile fragment and configury (e.g. Make-common.in, aclocal.m4). +- common Makefile fragment and configury (e.g. common/local.mk) In addition "common" contains portions of the system call support (e.g. callback.c, target-newlib-*.c). -Common Makefile Support -======================= - -A common configuration framework is available for simulators that want -to use it. The common framework exists to remove a lot of duplication -in configure.ac and Makefile.in, and it also provides a foundation for -enhancing the simulators uniformly (e.g. the more they share in common -the easier a feature added to one is added to all). - -The Makefile.in of a simulator using the common framework should look like: - ---- snip --- -# Makefile for blah ... -# Copyright blah ... - -## COMMON_PRE_CONFIG_FRAG - -# These variables are given default values in COMMON_PRE_CONFIG_FRAG. -# We override the ones we need to here. -# Not all of these need to be mentioned, only the necessary ones. -# In fact it is better to *not* mention ones if the value is the default. - -# List of flags to always pass to $(CC). -SIM_EXTRA_CFLAGS = -# Dependency of `clean' to clean any extra files. -SIM_EXTRA_CLEAN = - -## COMMON_POST_CONFIG_FRAG - -... target specific rules ... ---- snip --- - -COMMON_{PRE,POST}_CONFIG_FRAG are markers for configure to tell it -where to insert the two pieces of common/Make-common.in. -The resulting Makefile is created by doing autoconf substitions on -both the target's Makefile.in and Make-common.in, and inserting -the two pieces of Make-common.in into the target's Makefile.in at -COMMON_{PRE,POST}_CONFIG_FRAG. - -Note that SIM_EXTRA_{INSTALL,CLEAN} could be removed and "::" targets -could be used instead. However, it's not clear yet whether "::" targets -are portable enough. - TAGS support ============ diff --git a/sim/common/Make-common.in b/sim/common/Make-common.in deleted file mode 100644 index a081525c91c..00000000000 --- a/sim/common/Make-common.in +++ /dev/null @@ -1,210 +0,0 @@ -# Makefile fragment for common parts of all simulators. -# Copyright 1997-2023 Free Software Foundation, Inc. -# Contributed by Cygnus Support. - -# 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 Makefile fragment consists of two separate parts. -# They are merged into the final Makefile at points denoted by -# "## COMMON_PRE_CONFIG_FRAG" and "## COMMON_POST_CONFIG_FRAG". -# -# The target Makefile should look like: -# -#># Copyright blah blah -#> -#>## COMMON_PRE_CONFIG_FRAG -#> -#># Any overrides necessary for the SIM_FOO config vars. -#>SIM_FOO = ... -#> -#>## COMMON_POST_CONFIG_FRAG -#> -#># Rules to build target specific .o's. - -## COMMON_PRE_CONFIG_FRAG - -srcdir = @abs_srcdir@ -VPATH = $(srcdir):$(srccom) -srccom = $(srcdir)/../common -srcroot = $(srcdir)/../.. -srcsim = $(srcdir)/.. - -@SIM_COMMON_BUILD_FALSE@config.status = config.status -@SIM_COMMON_BUILD_TRUE@config.status = ../config.status - -# Settings from top-level configure. -include ../arch-subdir.mk - -include $(srcroot)/gdb/silent-rules.mk - -ifeq ($(V),0) -ECHO_STAMP = @echo " GEN " -else -ECHO_STAMP = @: -endif - -# Helper code from gnulib. -GNULIB_PARENT_DIR = ../.. -include $(GNULIB_PARENT_DIR)/gnulib/Makefile.gnulib.inc - -# This can be referenced by the gettext configuration code. -top_builddir = .. - -SHELL = @SHELL@ - -SIM_BITSIZE = @sim_bitsize@ -SIM_FLOAT = @sim_float@ -SIM_WARN_CFLAGS = $(WARN_CFLAGS) -SIM_WERROR_CFLAGS = $(WERROR_CFLAGS) - -# Dependency tracking information. -depcomp = $(SHELL) $(srcroot)/depcomp - -# Note that these are overridden by GNU make-specific code below if -# GNU make is used. The overrides implement dependency tracking. -COMPILE.pre = $(CC) $(C_DIALECT) -COMPILE.post = -c -o $@ -COMPILE = $(ECHO_CC) $(COMPILE.pre) $(ALL_CFLAGS) $(COMPILE.post) -POSTCOMPILE = @true - -# Each simulator's Makefile.in defines one or more of these variables -# to override our settings as necessary. There is no need to define these -# in the simulator's Makefile.in if one is using the default value. In fact -# it's preferable not to. - -# List of flags to always pass to $(CC). -SIM_EXTRA_CFLAGS = -# Dependency of `clean' to clean any extra files. -SIM_EXTRA_CLEAN = - -# Every time a new general purpose source file was added every target's -# Makefile.in needed to be updated to include the file. -# This doesn't scale. -# This variable specifies all the generic stuff common to the newer simulators. -# Things like sim-reason.o can't go here as the cpu may provide its own -# (though hopefully in time that won't be so). Things like sim-bits.o can go -# here. Some files are used by all simulators (e.g. callback.o). - -## End COMMON_PRE_CONFIG_FRAG - -## COMMON_POST_CONFIG_FRAG - -CONFIG_CFLAGS = \ - -DHAVE_CONFIG_H \ - $(SIM_BITSIZE) \ - $(SIM_FLOAT) \ - $(SIM_HW_CFLAGS) \ - $(SIM_INLINE) \ - $(SIM_WARN_CFLAGS) \ - $(SIM_WERROR_CFLAGS) -CSEARCH = -I. -I$(srcdir) -I$(srccom) \ - -I$(srcroot)/include \ - -I../../bfd \ - -I$(srcroot) \ - -I../.. -ALL_CFLAGS = $(CONFIG_CFLAGS) $(CSEARCH) $(INCGNU) $(SIM_EXTRA_CFLAGS) $(CFLAGS) -BUILD_CFLAGS = $(CFLAGS_FOR_BUILD) $(CSEARCH) - -COMMON_DEP_CFLAGS = $(CONFIG_CFLAGS) $(CSEARCH) $(SIM_EXTRA_CFLAGS) - -LIBIBERTY_LIB = ../../libiberty/libiberty.a -BFD_LIB = ../../bfd/libbfd.la -OPCODES_LIB = ../../opcodes/libopcodes.la -LIBDEPS = $(BFD_LIB) $(OPCODES_LIB) $(LIBIBERTY_LIB) -EXTRA_LIBS = $(BFD_LIB) $(OPCODES_LIB) $(LIBIBERTY_LIB) \ - $(COMMON_LIBS) $(LIBGNU) $(LIBGNU_EXTRA_LIBS) - -COMPILE_FOR_BUILD = $(CC_FOR_BUILD) $(BUILD_CFLAGS) -LINK_FOR_BUILD = $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(LDFLAGS_FOR_BUILD) -o $@ - -RUNTESTFLAGS = - -all: - -# -# Dependency tracking. Most of this is conditional on GNU Make being -# found by configure; if GNU Make is not found, we fall back to a -# simpler scheme. -# - -ifeq ($(DEPMODE),depmode=gcc3) -# Note that we put the dependencies into a .Tpo file, then move them -# into place if the compile succeeds. We need this because gcc does -# not atomically write the dependency output file. -override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \ - -MF $(DEPDIR)/$(basename $(@F)).Tpo -override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \ - $(DEPDIR)/$(basename $(@F)).Po -else -override COMPILE.pre = source='$<' object='$@' libtool=no \ - DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC) -# depcomp handles atomicity for us, so we don't need a postcompile -# step. -override POSTCOMPILE = -endif - -# Support targets. - -install: -installdirs: -uninstall: - -check: - -html: -clean-html: -install-html: - -info: -clean-info: -install-info: - -pdf: -clean-pdf: -install-pdf: - -.NOEXPORT: -MAKEOVERRIDES= - -tags etags: TAGS - -# Macros like EXTERN_SIM_CORE confuse tags. -# And the sim-n-foo.h files create functions that can't be found either. -TAGS: force - cd $(srcdir) && \ - etags --regex '/^\([[:lower:]_]+\) (/\1/' --regex '/^\/[*] TAGS: .*/' \ - *.[ch] ../common/*.[ch] - -mostlyclean clean: $(SIM_EXTRA_CLEAN) - rm -f *.[oa] *~ core - -distclean maintainer-clean realclean: clean - rm -f TAGS Makefile - -.c.o: - $(COMPILE) $< - $(POSTCOMPILE) - -# Dummy target to force execution of dependent targets. -force: - -Makefile: Makefile.in $(srccom)/Make-common.in $(config.status) -@SIM_COMMON_BUILD_FALSE@ $(ECHO_GEN) CONFIG_HEADERS= $(SHELL) ./config.status -@SIM_COMMON_BUILD_TRUE@ $(ECHO_GEN) pwd=`pwd` && subdir=`basename "$$pwd"` && cd .. && \ -@SIM_COMMON_BUILD_TRUE@ $(SHELL) ./config.status Make-common.sim $$subdir/Makefile.sim $$subdir/Makefile - -@SIM_COMMON_BUILD_FALSE@config.status: configure -@SIM_COMMON_BUILD_FALSE@ $(ECHO_GEN) $(SHELL) ./config.status --recheck - -## End COMMON_POST_CONFIG_FRAG diff --git a/sim/common/local.mk b/sim/common/local.mk index f79a3011374..0ed18359ae4 100644 --- a/sim/common/local.mk +++ b/sim/common/local.mk @@ -16,7 +16,6 @@ ## along with this program. If not, see . ## Parts of the common/ sim code that have been unified. -## Most still lives in common/Make-common.in. AM_CPPFLAGS += \ -I$(srcdir)/%D% \ diff --git a/sim/configure b/sim/configure index 95c1e9db754..64855e7db07 100755 --- a/sim/configure +++ b/sim/configure @@ -657,8 +657,6 @@ SIM_MIPS_FPU_BITSIZE SIM_MIPS_BITSIZE SIM_MIPS_SUBTARGET SIM_FRV_TRAPDUMP_FLAGS -sim_float -sim_bitsize IGEN_FLAGS_SMP SIM_INLINE SIM_HW_SOCKSER @@ -836,8 +834,6 @@ AS_FOR_TARGET_AARCH64 LD_FOR_TARGET AS_FOR_TARGET CC_FOR_TARGET -SIM_COMMON_BUILD_FALSE -SIM_COMMON_BUILD_TRUE SIM_ENABLED_ARCHES SIM_PRIMARY_TARGET AM_BACKSLASH @@ -12448,7 +12444,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12451 "configure" +#line 12447 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12554,7 +12550,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12557 "configure" +#line 12553 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -14268,11 +14264,6 @@ SIM_PRIMARY_TARGET= SIM_ENABLED_ARCHES= -SIM_COMMON_BUILD_TRUE= -SIM_COMMON_BUILD_FALSE='#' - - - ENABLE_SIM=no @@ -16171,9 +16162,6 @@ $as_echo "${WARN_CFLAGS} ${WERROR_CFLAGS}" >&6; } fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sim frv should dump cpu state on unknown traps" >&5 $as_echo_n "checking whether sim frv should dump cpu state on unknown traps... " >&6; } # Check whether --enable-sim-frv-trapdump was given. diff --git a/sim/configure.ac b/sim/configure.ac index 8f93aa77f41..68a0cc450e5 100644 --- a/sim/configure.ac +++ b/sim/configure.ac @@ -52,12 +52,6 @@ dnl List of enabled arch backends. SIM_ENABLED_ARCHES= AC_SUBST(SIM_ENABLED_ARCHES) -dnl Used by common/Make-common.in to see which configure script created it. -SIM_COMMON_BUILD_TRUE= -SIM_COMMON_BUILD_FALSE='#' -AC_SUBST(SIM_COMMON_BUILD_TRUE) -AC_SUBST(SIM_COMMON_BUILD_FALSE) - ENABLE_SIM=no dnl Build a particular arch subdir. dnl arg[1] is the arch subdir name. @@ -166,13 +160,6 @@ SIM_AC_OPTION_STDIO SIM_AC_OPTION_TRACE SIM_AC_OPTION_WARNINGS -dnl These are unfortunate. They are conditionally called by other sim macros -dnl but always used by common/Make-common.in. So we have to subst here even -dnl when the rest of the code is in the respective macros. Once we merge the -dnl respective SIM_AC_OPTION_xxx call above, we can drop these. -AC_SUBST(sim_bitsize) -AC_SUBST(sim_float) - dnl Some arches have unique configure flags. m4_include([frv/acinclude.m4]) m4_include([mips/acinclude.m4])