]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - sim/common/common.m4
sim: testsuite: regenerate configure
[thirdparty/binutils-gdb.git] / sim / common / common.m4
CommitLineData
f0569246
AC
1# This file contains common code used by all simulators.
2#
3# common.m4 invokes AC macros used by all simulators and by the common
4# directory. It is intended to be included before any target specific
5# stuff. SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate
6# the Makefile. It is intended to be invoked last.
7#
8# The simulator's configure.in should look like:
9#
10# dnl Process this file with autoconf to produce a configure script.
11# AC_PREREQ(2.5)dnl
12# AC_INIT(Makefile.in)
35695fd6 13# AC_CONFIG_HEADER(config.h:config.in)
f0569246 14#
35695fd6 15# sinclude(../common/aclocal.m4)
f0569246
AC
16# sinclude(../common/common.m4)
17#
18# ... target specific stuff ...
19
f0569246
AC
20AC_CANONICAL_SYSTEM
21AC_ARG_PROGRAM
22AC_PROG_CC
23AC_PROG_INSTALL
24
25# Put a plausible default for CC_FOR_BUILD in Makefile.
26if test "x$cross_compiling" = "xno"; then
27 CC_FOR_BUILD='$(CC)'
28else
29 CC_FOR_BUILD=gcc
30fi
31AC_SUBST(CC_FOR_BUILD)
32
33AC_SUBST(CFLAGS)
34AC_SUBST(HDEFINES)
35AR=${AR-ar}
36AC_SUBST(AR)
37AC_PROG_RANLIB
38
39dnl We don't use gettext, but bfd does. So we do the appropriate checks
40dnl to see if there are intl libraries we should link against.
41ALL_LINGUAS=
e85e3205 42ZW_GNU_GETTEXT_SISTER_DIR(../../intl)
f0569246
AC
43
44# Check for common headers.
45# FIXME: Seems to me this can cause problems for i386-windows hosts.
46# At one point there were hardcoded AC_DEFINE's if ${host} = i386-*-windows*.
47AC_CHECK_HEADERS(stdlib.h string.h strings.h unistd.h time.h)
48AC_CHECK_HEADERS(sys/time.h sys/resource.h)
49AC_CHECK_HEADERS(fcntl.h fpu_control.h)
50AC_CHECK_HEADERS(dlfcn.h errno.h sys/stat.h)
51AC_CHECK_FUNCS(getrusage time sigaction __setfpucw)
52
53# Check for socket libraries
54AC_CHECK_LIB(socket, bind)
55AC_CHECK_LIB(nsl, gethostbyname)
56
ecdfd004
HPN
57# BFD conditionally uses zlib, so we must link it in if libbfd does, by
58# using the same condition.
5912fadd 59AM_ZLIB
ecdfd004 60
f0569246
AC
61. ${srcdir}/../../bfd/configure.host
62
63dnl Standard (and optional) simulator options.
64dnl Eventually all simulators will support these.
65dnl Do not add any here that cannot be supported by all simulators.
66dnl Do not add similar but different options to a particular simulator,
67dnl all shall eventually behave the same way.
68
69
70dnl We don't use automake, but we still want to support
71dnl --enable-maintainer-mode.
72USE_MAINTAINER_MODE=no
73AC_ARG_ENABLE(maintainer-mode,
74[ --enable-maintainer-mode Enable developer functionality.],
75[case "${enableval}" in
76 yes) MAINT="" USE_MAINTAINER_MODE=yes ;;
77 no) MAINT="#" ;;
78 *) AC_MSG_ERROR("--enable-maintainer-mode does not take a value"); MAINT="#" ;;
79esac
80if test x"$silent" != x"yes" && test x"$MAINT" = x""; then
81 echo "Setting maintainer mode" 6>&1
82fi],[MAINT="#"])dnl
83AC_SUBST(MAINT)
84
85
86dnl This is a generic option to enable special byte swapping
87dnl insns on *any* cpu.
88AC_ARG_ENABLE(sim-bswap,
89[ --enable-sim-bswap Use Host specific BSWAP instruction.],
90[case "${enableval}" in
91 yes) sim_bswap="-DWITH_BSWAP=1 -DUSE_BSWAP=1";;
92 no) sim_bswap="-DWITH_BSWAP=0";;
93 *) AC_MSG_ERROR("--enable-sim-bswap does not take a value"); sim_bswap="";;
94esac
95if test x"$silent" != x"yes" && test x"$sim_bswap" != x""; then
96 echo "Setting bswap flags = $sim_bswap" 6>&1
97fi],[sim_bswap=""])dnl
98AC_SUBST(sim_bswap)
99
100
101AC_ARG_ENABLE(sim-cflags,
102[ --enable-sim-cflags=opts Extra CFLAGS for use in building simulator],
103[case "${enableval}" in
104 yes) sim_cflags="-O2 -fomit-frame-pointer";;
105 trace) AC_MSG_ERROR("Please use --enable-sim-debug instead."); sim_cflags="";;
106 no) sim_cflags="";;
107 *) sim_cflags=`echo "${enableval}" | sed -e "s/,/ /g"`;;
108esac
109if test x"$silent" != x"yes" && test x"$sim_cflags" != x""; then
110 echo "Setting sim cflags = $sim_cflags" 6>&1
111fi],[sim_cflags=""])dnl
112AC_SUBST(sim_cflags)
113
114
115dnl --enable-sim-debug is for developers of the simulator
116dnl the allowable values are work-in-progress
117AC_ARG_ENABLE(sim-debug,
118[ --enable-sim-debug=opts Enable debugging flags],
119[case "${enableval}" in
120 yes) sim_debug="-DDEBUG=7 -DWITH_DEBUG=7";;
121 no) sim_debug="-DDEBUG=0 -DWITH_DEBUG=0";;
122 *) sim_debug="-DDEBUG='(${enableval})' -DWITH_DEBUG='(${enableval})'";;
123esac
124if test x"$silent" != x"yes" && test x"$sim_debug" != x""; then
125 echo "Setting sim debug = $sim_debug" 6>&1
126fi],[sim_debug=""])dnl
127AC_SUBST(sim_debug)
128
129
130dnl --enable-sim-stdio is for users of the simulator
131dnl It determines if IO from the program is routed through STDIO (buffered)
132AC_ARG_ENABLE(sim-stdio,
133[ --enable-sim-stdio Specify whether to use stdio for console input/output.],
134[case "${enableval}" in
135 yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";;
136 no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";;
137 *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-stdio"); sim_stdio="";;
138esac
139if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then
140 echo "Setting stdio flags = $sim_stdio" 6>&1
141fi],[sim_stdio=""])dnl
142AC_SUBST(sim_stdio)
143
144
145dnl --enable-sim-trace is for users of the simulator
146dnl The argument is either a bitmask of things to enable [exactly what is
147dnl up to the simulator], or is a comma separated list of names of tracing
148dnl elements to enable. The latter is only supported on simulators that
149dnl use WITH_TRACE.
150AC_ARG_ENABLE(sim-trace,
151[ --enable-sim-trace=opts Enable tracing flags],
152[case "${enableval}" in
153 yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
154 no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
155 [[-0-9]]*)
156 sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
157 [[a-z]]*)
158 sim_trace=""
159 for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
160 if test x"$sim_trace" = x; then
161 sim_trace="-DWITH_TRACE='(TRACE_$x"
162 else
163 sim_trace="${sim_trace}|TRACE_$x"
164 fi
165 done
166 sim_trace="$sim_trace)'" ;;
167esac
168if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then
169 echo "Setting sim trace = $sim_trace" 6>&1
170fi],[sim_trace=""])dnl
171AC_SUBST(sim_trace)
172
173
174dnl --enable-sim-profile
175dnl The argument is either a bitmask of things to enable [exactly what is
176dnl up to the simulator], or is a comma separated list of names of profiling
177dnl elements to enable. The latter is only supported on simulators that
178dnl use WITH_PROFILE.
179AC_ARG_ENABLE(sim-profile,
180[ --enable-sim-profile=opts Enable profiling flags],
181[case "${enableval}" in
182 yes) sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1";;
183 no) sim_profile="-DPROFILE=0 -DWITH_PROFILE=0";;
184 [[-0-9]]*)
185 sim_profile="-DPROFILE='(${enableval})' -DWITH_PROFILE='(${enableval})'";;
186 [[a-z]]*)
187 sim_profile=""
188 for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
189 if test x"$sim_profile" = x; then
190 sim_profile="-DWITH_PROFILE='(PROFILE_$x"
191 else
192 sim_profile="${sim_profile}|PROFILE_$x"
193 fi
194 done
195 sim_profile="$sim_profile)'" ;;
196esac
197if test x"$silent" != x"yes" && test x"$sim_profile" != x""; then
198 echo "Setting sim profile = $sim_profile" 6>&1
199fi],[sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1"])dnl
200AC_SUBST(sim_profile)
201
6efef468
JM
202ACX_PKGVERSION([GDB])
203ACX_BUGURL([http://www.gnu.org/software/gdb/bugs/])
204AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Additional package description])
205AC_DEFINE_UNQUOTED([REPORT_BUGS_TO], ["$REPORT_BUGS_TO"], [Bug reporting address])
f0569246
AC
206
207dnl Types used by common code
208AC_TYPE_SIGNAL
209
210dnl Detect exe extension
211AC_EXEEXT
212
213dnl These are available to append to as desired.
214sim_link_files=
215sim_link_links=
216
217dnl Create tconfig.h either from simulator's tconfig.in or default one
218dnl in common.
219sim_link_links=tconfig.h
220if test -f ${srcdir}/tconfig.in
221then
222 sim_link_files=tconfig.in
223else
224 sim_link_files=../common/tconfig.in
225fi
226
227# targ-vals.def points to the libc macro description file.
228case "${target}" in
229*-*-*) TARG_VALS_DEF=../common/nltvals.def ;;
230esac
231sim_link_files="${sim_link_files} ${TARG_VALS_DEF}"
232sim_link_links="${sim_link_links} targ-vals.def"