From 80b7b3a50c04a27c6d210e0c42658b3f77ff2f78 Mon Sep 17 00:00:00 2001 From: Stu Grossman Date: Thu, 23 Jan 1997 22:08:21 +0000 Subject: [PATCH] * aclocal.m4 (SIM_AC_COMMON): Move contents of Make-common.in into here. Makes insertion into makefiles easier. Also, change the way that callback.o, gentmap, targ-vals.h, targ-map.c, targ-map.o, and run are built. They are now built in the individual simulator directories, taking sources from ../common as necessary. This replaces the merging of libcommon.a into linsim.a, which was problematic for the WinGDB build process. * run.c: Include config.h from . instead of ../common. * Make-common.in: Remove. It's no longer necessary. --- sim/common/ChangeLog | 21 +++ sim/common/aclocal.m4 | 307 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 328 insertions(+) create mode 100644 sim/common/aclocal.m4 diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog index 7cfaf1e1f3e..30dc7e872ca 100644 --- a/sim/common/ChangeLog +++ b/sim/common/ChangeLog @@ -1,3 +1,24 @@ +Thu Jan 23 13:35:03 1997 Stu Grossman (grossman@critters.cygnus.com) + + * aclocal.m4 (SIM_AC_COMMON): Move contents of Make-common.in + into here. Makes insertion into makefiles easier. Also, change + the way that callback.o, gentmap, targ-vals.h, targ-map.c, + targ-map.o, and run are built. They are now built in the + individual simulator directories, taking sources from ../common as + necessary. This replaces the merging of libcommon.a into + linsim.a, which was problematic for the WinGDB build process. + * run.c: Include config.h from . instead of ../common. + * Make-common.in: Remove. It's no longer necessary. + +Mon Dec 16 15:02:33 1996 Ian Lance Taylor + + * Make-common.in (ALL_CLAGS): Put CFLAGS at the end. + (.c.o): Put $(ALL_CFLAGS) before the file being compiled. + +Wed Dec 11 11:30:58 1996 Jim Wilson + + * run.c (main): Set target_byte_order before call to sim_open. + Sun Dec 8 18:22:06 1996 Doug Evans * callback.c: #include diff --git a/sim/common/aclocal.m4 b/sim/common/aclocal.m4 new file mode 100644 index 00000000000..c2c3982561b --- /dev/null +++ b/sim/common/aclocal.m4 @@ -0,0 +1,307 @@ +# This file contains common code used by all simulators. +# SIM_AC_COMMON invokes AC macros used by all simulators and by the +# common directory. +# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to use generate the +# Makefile in a target specific directory. + +AC_DEFUN(SIM_AC_COMMON, +[ +# autoconf.info says this should be called right after AC_INIT. +AC_CONFIG_HEADER(config.h:config.in) + +AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../..) +AC_CANONICAL_SYSTEM +AC_ARG_PROGRAM +AC_PROG_CC +AC_PROG_INSTALL +AC_C_BIGENDIAN + +# Put a plausible default for CC_FOR_BUILD in Makefile. +AC_C_CROSS +if test "x$cross_compiling" = "xno"; then + CC_FOR_BUILD='$(CC)' +else + CC_FOR_BUILD=gcc +fi +AC_SUBST(CC_FOR_BUILD) + +AC_SUBST(CFLAGS) +AC_SUBST(HDEFINES) +AR=${AR-ar} +AC_SUBST(AR) +AC_PROG_RANLIB + +. ${srcdir}/../../bfd/configure.host + +dnl Standard simulator options. +dnl Eventually all simulators will support these. +dnl Do not add any here that cannot be supported by all simulators. +dnl Do not add similar but different options to a particular simulator, +dnl all shall eventually behave the same way. + +AC_ARG_ENABLE(sim-cflags, +[ --enable-sim-cflags=opts Extra CFLAGS for use in building simulator], +[case "${enableval}" in + yes) sim_cflags="-O2";; + trace) AC_MSG_ERROR("Please use --enable-sim-debug instead."); sim_cflags="";; + no) sim_cflags="";; + *) sim_cflags=`echo "${enableval}" | sed -e "s/,/ /g"`;; +esac +if test x"$silent" != x"yes" && test x"$sim_cflags" != x""; then + echo "Setting sim cflags = $sim_cflags" 6>&1 +fi],[sim_cflags=""])dnl +AC_SUBST(sim_cflags) + +dnl --enable-sim-debug is for developers of the simulator +dnl the allowable values are work-in-progress +AC_ARG_ENABLE(sim-debug, +[ --enable-sim-debug=opts Enable debugging flags], +[case "${enableval}" in + yes) sim_debug="-DDEBUG=7";; + no) sim_debug="-DDEBUG=0";; + *) sim_debug="-DDEBUG='(${enableval})'";; +esac +if test x"$silent" != x"yes" && test x"$sim_debug" != x""; then + echo "Setting sim debug = $sim_debug" 6>&1 +fi],[sim_debug=""])dnl +AC_SUBST(sim_debug) + +dnl --enable-sim-trace is for users of the simulator +dnl the allowable values are work-in-progress +AC_ARG_ENABLE(sim-trace, +[ --enable-sim-trace=opts Enable tracing flags], +[case "${enableval}" in + yes) sim_trace="-DTRACE=1";; + no) sim_trace="-DTRACE=0";; + *) sim_trace="-DTRACE='(${enableval})'";; +esac +if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then + echo "Setting sim trace = $sim_trace" 6>&1 +fi],[sim_trace=""])dnl +AC_SUBST(sim_trace) + +dnl This is a generic option to enable special byte swapping +dnl insns on *any* cpu. +AC_ARG_ENABLE(sim-bswap, +[ --enable-sim-bswap Use Host specific BSWAP instruction.], +[case "${enableval}" in + yes) sim_bswap="-DUSE_BSWAP";; + no) sim_bswap="";; + *) AC_MSG_ERROR("--enable-sim-bswap does not take a value"); sim_bswap="";; +esac +if test x"$silent" != x"yes" && test x"$sim_bswap" != x""; then + echo "Setting bswap flags = $sim_bswap" 6>&1 +fi],[sim_bswap=""])dnl +AC_SUBST(sim_bswap) + +dnl These are available to append to as desired. +sim_link_files= +sim_link_links= + +dnl Create tconfig.h either from simulator's tconfig.in or default one +dnl in common. +sim_link_links=tconfig.h +if test -f ${srcdir}/tconfig.in +then + sim_link_files=tconfig.in +else + sim_link_files=../common/tconfig.in +fi + +case "${target}" in +*-*-*) + sim_link_files="${sim_link_files} ../common/nltvals.def" + sim_link_links="${sim_link_links} targ-vals.def" + ;; +esac + +dnl Stuff that gets inserted into the Makefile + +COMMON_MAKEFILE_FRAG=makefile-temp-$$ +cat > $COMMON_MAKEFILE_FRAG <targ-vals.h + +targ-map.c: gentmap + rm -f targ-map.c + ./gentmap -c >targ-map.c + +install: install-common \$(SIM_EXTRA_INSTALL) + +install-common: + \$(INSTALL_XFORM) run \$(bindir)/run + +check: + +info: +clean-info: +install-info: + +tags etags: TAGS + +TAGS: force + etags *.c *.h + +clean: \$(SIM_EXTRA_CLEAN) + rm -f *.[[oa]] *~ core gentmap targ-map.c targ-vals.h + rm -f run libsim.a + +distclean mostlyclean maintainer-clean realclean: clean + rm -f TAGS + rm -f Makefile config.cache config.log config.status + rm -f tconfig.h config.h stamp-h + +.c.o: + \$(CC) -c \$(ALL_CFLAGS) \$< + +# Dummy target to force execution of dependent targets. +force: + +Makefile: Makefile.in \$(srcdir)/../common/Make-common.in config.status + CONFIG_HEADERS= \$(SHELL) ./config.status + +config.status: configure + \$(SHELL) ./config.status --recheck + +config.h: stamp-h ; @true +stamp-h: config.in config.status + CONFIG_FILES= CONFIG_HEADERS=config.h:config.in \$(SHELL) ./config.status + +# We can't add dependencies to configure because it causes too much trouble +# to end users if configure's timestamp is out of sync. +.PHONY: run-autoconf +run-autoconf: + cd \$(srcdir) && autoconf -l ../common +EOF + +dnl end of COMMON_MAKEFILE_FRAG + +AC_SUBST_FILE(COMMON_MAKEFILE_FRAG) + +]) dnl End of SIM_AC_COMMON + +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 It also inserts default definitions of the SIM_FOO variables. + +AC_DEFUN(SIM_AC_OUTPUT, +[ +AC_LINK_FILES($sim_link_files, $sim_link_links) + AC_OUTPUT(Makefile,[ + case "x$CONFIG_HEADERS" in xconfig.h:config.in) echo > stamp-h ;; esac + ]) + +rm $COMMON_MAKEFILE_FRAG + +])dnl End of SIM_AC_OUTPUT -- 2.30.2