sim: drop mention of & support for subdir configure

Now that no ports use these common configure APIs, delete the logic
and remove it from the documentation.
This commit is contained in:
Mike Frysinger 2023-01-01 17:35:16 -05:00
parent 0d9d77e506
commit 508de64120
3 changed files with 2 additions and 105 deletions

View File

@ -31,24 +31,6 @@ 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 configure.ac of a simulator using the common framework should look like:
--- snip ---
dnl Process this file with autoconf to produce a configure script.
AC_INIT(Makefile.in)
AC_CONFIG_MACRO_DIRS([../common ../.. ../../config])
... target specific additions ...
SIM_AC_OUTPUT
--- snip ---
SIM_AC_OUTPUT:
- creates the symbolic links defined in sim_link_{files,links}
- creates config.h
- creates the Makefile
The Makefile.in of a simulator using the common framework should look like:
--- snip ---
@ -81,7 +63,7 @@ SIM_EXTRA_CLEAN =
... target specific rules ...
--- snip ---
COMMON_{PRE,POST}_CONFIG_FRAG are markers for SIM_AC_OUTPUT to tell it
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
@ -107,35 +89,7 @@ are greppable and appear in the TAGS file.
Generating "configure" files
============================
For targets using the common framework, "configure" can be generated
by running `autoconf'.
To regenerate the configure files for all targets using the common framework:
$ cd devo/sim
$ make -f Makefile.in SHELL=/bin/sh autoconf-common
To add a change-log entry to the ChangeLog file for each updated
directory (WARNING - check the modified new-ChangeLog files before
renaming):
$ make -f Makefile.in SHELL=/bin/sh autoconf-changelog
$ more */new-ChangeLog
$ make -f Makefile.in SHELL=/bin/sh autoconf-install
In a similar vein, both the configure and config.in files can be
updated using the sequence:
$ cd devo/sim
$ make -f Makefile.in SHELL=/bin/sh autoheader-common
$ make -f Makefile.in SHELL=/bin/sh autoheader-changelog
$ more */new-ChangeLog
$ make -f Makefile.in SHELL=/bin/sh autoheader-install
To add the entries to an alternative ChangeLog file, use:
$ make ChangeLog=MyChangeLog ....
"configure" can be generated by running `autoreconf'.
C Language Assumptions
======================

View File

@ -13,12 +13,6 @@ dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
dnl
dnl Additional SIM options that can (optionally) be configured
dnl For optional simulator options, a macro SIM_AC_OPTION_* is defined.
dnl Simulators that wish to use the relevant option specify the macro
dnl in the simulator specific configure.ac file between the SIM_AC_COMMON
dnl and SIM_AC_OUTPUT lines.
dnl
dnl Specify the running environment.
dnl If the simulator invokes this in its configure.ac then without this option
dnl the default is the user environment and all are runtime selectable.

View File

@ -1,51 +0,0 @@
dnl Copyright (C) 1997-2023 Free Software Foundation, Inc.
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 3 of the License, or
dnl (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
dnl
dnl Generate the Makefile in a target specific directory.
dnl Substitutions aren't performed on the file in AC_SUBST_FILE,
dnl so this is a cover macro to tuck the details away of how we cope.
dnl We cope by having autoconf generate two files and then merge them into
dnl one afterwards. The two pieces of the common fragment are inserted into
dnl the target's fragment at the appropriate points.
AC_DEFUN([SIM_AC_OUTPUT],
[dnl
AC_CONFIG_FILES(Makefile.sim:Makefile.in)
AC_CONFIG_FILES(Make-common.sim:../common/Make-common.in)
AC_CONFIG_COMMANDS([Makefile],
[echo "Merging Makefile.sim+Make-common.sim into Makefile ..."
rm -f Makesim1.tmp Makesim2.tmp Makefile
sed -n -e '/^## COMMON_PRE_/,/^## End COMMON_PRE_/ p' <Make-common.sim >Makesim1.tmp
sed -n -e '/^## COMMON_POST_/,/^## End COMMON_POST_/ p' <Make-common.sim >Makesim2.tmp
sed -e '/^## COMMON_PRE_/ r Makesim1.tmp' \
-e '/^## COMMON_POST_/ r Makesim2.tmp' \
<Makefile.sim >Makefile
rm -f Makefile.sim Make-common.sim Makesim1.tmp Makesim2.tmp
])
AC_CONFIG_COMMANDS([stamp-h], [echo > stamp-h])
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.
AC_SUBST(sim_bitsize)
AC_SUBST(sim_float)
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)
AC_OUTPUT
])