420 lines
15 KiB
Plaintext
420 lines
15 KiB
Plaintext
dnl Process this file with autoconf to produce a configure script.
|
|
AC_PREREQ(2.3)dnl
|
|
AC_INIT(Makefile.in)
|
|
|
|
AC_ARG_ENABLE(sim-cflags,
|
|
[ --enable-sim-cflags=opts Extra CFLAGS for use in building simulator],
|
|
[case "${enableval}" in
|
|
yes) sim_cflags="-O2 -fomit-frame-pointer";;
|
|
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_ARG_ENABLE(sim-warnings,
|
|
[ --enable-sim-warnings=opts Extra CFLAGS for turning on compiler warnings except for idecode.o, semantics.o and psim.o],
|
|
[case "${enableval}" in
|
|
yes) sim_warnings="-Werror -Wall -Wpointer-arith -Wmissing-prototypes";;
|
|
no) sim_warnings="-w";;
|
|
*) sim_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_warnings" != x""; then
|
|
echo "Setting warning flags = $sim_warnings" 6>&1
|
|
fi],[sim_warnings=""])dnl
|
|
|
|
AC_ARG_ENABLE(sim-config,
|
|
[ --enable-sim-config=file Override default config file],
|
|
[case "${enableval}" in
|
|
yes|no) AC_MSG_ERROR("No value supplied for --enable-sim-config=file");;
|
|
*) if test -f "${srcdir}/${enableval}"; then
|
|
sim_config="${enableval}";
|
|
elif test -f "${srcdir}/${enableval}-config.h"; then
|
|
sim_config="${enableval}-config.h"
|
|
else
|
|
AC_MSG_ERROR("Config file $enableval was not found");
|
|
sim_config=std-config.h
|
|
fi;;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_config" != x""; then
|
|
echo "Setting config flags = $sim_config" 6>&1
|
|
fi],[sim_config="std-config.h"
|
|
if test x"$silent" != x"yes"; then
|
|
echo "Setting config flags = $sim_config" 6>&1
|
|
fi])dnl
|
|
|
|
AC_ARG_ENABLE(sim-opcode,
|
|
[ --enable-sim-opcode=which Override default opcode lookup.],
|
|
[case "${enableval}" in
|
|
yes|no) AC_MSG_ERROR("No value supplied for --enable-sim-opcode=file");;
|
|
*) if test -f "${srcdir}/${enableval}"; then
|
|
sim_opcode="${enableval}"
|
|
elif test -f "${srcdir}/ppc-opcode-${enableval}"; then
|
|
sim_opcode="ppc-opcode-${enableval}"
|
|
else
|
|
AC_MSG_ERROR("File $enableval is not an opcode rules file");
|
|
sim_opcode="ppc-opcode-complex"
|
|
fi;;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_opcode" != x""; then
|
|
echo "Setting opcode flags = $sim_opcode" 6>&1
|
|
fi],[sim_opcode="ppc-opcode-complex"
|
|
if test x"$silent" != x"yes"; then
|
|
echo "Setting opcode flags = $sim_opcode"
|
|
fi])dnl
|
|
|
|
AC_ARG_ENABLE(sim-switch,
|
|
[ --enable-sim-switch Use a switch instead of a table for instruction call.],
|
|
[case "${enableval}" in
|
|
yes) sim_switch="-s";;
|
|
no) sim_switch="";;
|
|
*) AC_MSG_ERROR("--enable-sim-switch does not take a value"); sim_switch="";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_switch" != x""; then
|
|
echo "Setting switch flags = $sim_switch" 6>&1
|
|
fi],[sim_switch="-s";
|
|
if test x"$silent" != x"yes"; then
|
|
echo "Setting switch flags = $sim_switch" 6>&1
|
|
fi])dnl
|
|
|
|
AC_ARG_ENABLE(sim-duplicate,
|
|
[ --enable-sim-duplicate Expand (duplicate) semantic functions.],
|
|
[case "${enableval}" in
|
|
yes) sim_dup="-e";;
|
|
no) sim_dup="";;
|
|
*) AC_MSG_ERROR("--enable-sim-duplicate does not take a value"); sim_dup="";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_dup" != x""; then
|
|
echo "Setting duplicate flags = $sim_dup" 6>&1
|
|
fi],[sim_dup="-e"
|
|
if test x"$silent" != x"yes"; then
|
|
echo "Setting duplicate flags = $sim_dup" 6>&1
|
|
fi])dnl
|
|
|
|
AC_ARG_ENABLE(sim-filter,
|
|
[ --enable-sim-filter=rule Specify filter rules.],
|
|
[case "${enableval}" in
|
|
yes) AC_MSG_ERROR("--enable-sim-filter must be specified with a rule to filter or no"); sim_filter="";;
|
|
no) sim_filter="";;
|
|
*) sim_filter="-f $enableval";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_filter" != x""; then
|
|
echo "Setting filter flags = $sim_filter" 6>&1
|
|
fi],[sim_filter="-f 64"
|
|
if test x"$silent" != x"yes"; then
|
|
echo "Setting filter flags = $sim_filter" 6>&1
|
|
fi])dnl
|
|
|
|
AC_ARG_ENABLE(sim-icache,
|
|
[ --enable-sim-icache=size Specify instruction cache size.],
|
|
icache=""
|
|
[case "${enableval}" in
|
|
yes) sim_icache="-r 1024"; icache="1024";;
|
|
no) sim_icache="";;
|
|
*) sim_icache="-r ${enableval}"; icache="${enableval}";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$icache" != x""; then
|
|
echo "Setting instruction cache size to $icache"
|
|
fi],[sim_icache="-r 1024"
|
|
if test x"$silent" != x"yes"; then
|
|
echo "Setting instruction cache size to 1024"
|
|
fi])dnl
|
|
|
|
AC_ARG_ENABLE(sim-inline,
|
|
[ --enable-sim-inline=inlines Specify which functions should be inlined.],
|
|
[sim_inline=""
|
|
case "$enableval" in
|
|
no) sim_inline="-DDEFAULT_INLINE=0 -DINLINE=";;
|
|
0) sim_inline="-DDEFAULT_INLINE=0";;
|
|
yes | 2) sim_inline="-DDEFAULT_INLINE=2";;
|
|
1) sim_inline="-DDEFAULT_INLINE=1";;
|
|
*) for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
|
|
new_flag=""
|
|
case "$x" in
|
|
*_INLINE=*) new_flag="-D$x";;
|
|
*_INLINE) new_flag="-D$x=2";;
|
|
*=*) new_flag=`echo "$x" | sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;;
|
|
*) new_flag="-D$x""_INLINE=2";;
|
|
esac
|
|
if test x"$sim_inline" = x""; then
|
|
sim_inline="$new_flag"
|
|
else
|
|
sim_inline="$sim_inline $new_flag"
|
|
fi
|
|
done;;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_inline" != x""; then
|
|
echo "Setting inline flags = $sim_inline" 6>&1
|
|
fi],[if test x"$GCC" != ""; then
|
|
sim_inline="-DDEFAULT_INLINE=1"
|
|
if test x"$silent" != x"yes"; then
|
|
echo "Setting inline flags = $sim_inline" 6>&1
|
|
fi
|
|
else
|
|
sim_inline=""
|
|
fi])dnl
|
|
|
|
AC_ARG_ENABLE(sim-bswap,
|
|
[ --enable-sim-bswap Use the BSWAP instruction on Intel 486s and Pentiums.],
|
|
[case "${enableval}" in
|
|
yes) sim_bswap="-DWITH_BSWAP=1";;
|
|
no) sim_bswap="-DWITH_BSWAP=0";;
|
|
*) 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_ARG_ENABLE(sim-endian,
|
|
[ --enable-sim-endian=endian Specify target byte endian orientation.],
|
|
[case "${enableval}" in
|
|
yes) case "$target" in
|
|
*powerpc-*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";;
|
|
*powerpcle-*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
|
|
*) echo "Unknown target $target" 1>&6; sim_endian="-DWITH_TARGET_BYTE_ORDER=0";;
|
|
esac;;
|
|
no) sim_endian="-DWITH_TARGET_BYTE_ORDER=0";;
|
|
b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";;
|
|
l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
|
|
*) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-endian"); sim_endian="";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
|
|
echo "Setting endian flags = $sim_endian" 6>&1
|
|
fi],[sim_endian=""])dnl
|
|
|
|
AC_ARG_ENABLE(sim-hostendian,
|
|
[ --enable-sim-hostendain=end Specify host byte endian orientation.],
|
|
[case "${enableval}" in
|
|
no) sim_hostendian="-DWITH_HOST_BYTE_ORDER=0";;
|
|
b*|B*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN";;
|
|
l*|L*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN";;
|
|
*) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-hostendian"); sim_hostendian="";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_hostendian" != x""; then
|
|
echo "Setting hostendian flags = $sim_hostendian" 6>&1
|
|
fi],[sim_hostendian=""])dnl
|
|
|
|
AC_ARG_ENABLE(sim-smp,
|
|
[ --enable-sim-smp=n Specify number of processors to configure for.],
|
|
[case "${enableval}" in
|
|
yes) sim_smp="-DWITH_SMP=5";;
|
|
no) sim_smp="-DWITH_SMP=0";;
|
|
*) sim_smp="-DWITH_SMP=$enableval";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_smp" != x""; then
|
|
echo "Setting smp flags = $sim_smp" 6>&1
|
|
fi],[sim_smp="-DWITH_SMP=0"
|
|
if test x"$silent" != x"yes"; then
|
|
echo "Setting smp flags = $sim_smp" 6>&1
|
|
fi])dnl
|
|
|
|
AC_ARG_ENABLE(sim-xor-endian,
|
|
[ --enable-sim-xor-endian=n Specify number bytes involved in PowerPC XOR bi-endian mode (default 8).],
|
|
[case "${enableval}" in
|
|
yes) sim_xor_endian="-DWITH_XOR_ENDIAN=8";;
|
|
no) sim_xor_endian="-DWITH_XOR_ENDIAN=0";;
|
|
*) sim_xor_endian="-DWITH_XOR_ENDIAN=$enableval";;
|
|
esac],[sim_xor_endian=""])dnl
|
|
|
|
AC_ARG_ENABLE(sim-bitsize,
|
|
[ --enable-sim-bitsize=n Specify target bitsize (32 or 64).],
|
|
[case "${enableval}" in
|
|
32|64) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=$enableval";;
|
|
*) AC_MSG_ERROR("--enable-sim-bitsize was given $enableval, expected 32 or 64"); sim_bitsize="";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_bitsize" != x""; then
|
|
echo "Setting bitsize flags = $sim_bitsize" 6>&1
|
|
fi],[sim_bitsize=""])dnl
|
|
|
|
AC_ARG_ENABLE(sim-hostbitsize,
|
|
[ --enable-sim-hostbitsize=32|64 Specify host bitsize (32 or 64).],
|
|
[case "${enableval}" in
|
|
32|64) sim_hostbitsize="-DWITH_HOST_WORD_BITSIZE=$enableval";;
|
|
*) AC_MSG_ERROR("--enable-sim-hostbitsize was given $enableval, expected 32 or 64"); sim_hostbitsize="";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_hostbitsize" != x""; then
|
|
echo "Setting hostbitsize flags = $sim_hostbitsize" 6>&1
|
|
fi],[sim_hostbitsize=""])dnl
|
|
|
|
AC_ARG_ENABLE(sim-env,
|
|
[ --enable-sim-env=env Specify target environment (operating, virtual, user).],
|
|
[case "${enableval}" in
|
|
operating | os | oea) sim_env="-DWITH_ENVIRONMENT=OPERATING_ENVIRONMENT";;
|
|
virtual | vea) sim_env="-DWITH_ENVIRONMENT=VIRTUAL_ENVIRONMENT";;
|
|
user | uea) sim_env="-DWITH_ENVIRONMENT=USER_ENVIRONMENT";;
|
|
no) sim_env="-DWITH_ENVIRONMENT=0";;
|
|
*) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-env"); sim_env="";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_env" != x""; then
|
|
echo "Setting env flags = $sim_env" 6>&1
|
|
fi],[sim_env=""])dnl
|
|
|
|
AC_ARG_ENABLE(sim-timebase,
|
|
[ --enable-sim-timebase Specify whether the PPC timebase is supported.],
|
|
[case "${enableval}" in
|
|
yes) sim_timebase="-DWITH_TIME_BASE=1";;
|
|
no) sim_timebase="-DWITH_TIME_BASE=0";;
|
|
*) AC_MSG_ERROR("--enable-sim-timebase does not take a value"); sim_timebase="";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_timebase" != x""; then
|
|
echo "Setting timebase flags = $sim_timebase" 6>&1
|
|
fi],[sim_timebase=""])dnl
|
|
|
|
AC_ARG_ENABLE(sim-alignment,
|
|
[ --enable-sim-alignment=align Specify strict or nonstrict alignment.],
|
|
[case "${enableval}" in
|
|
yes | strict | STRICT) sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
|
|
no | nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
|
|
*) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-alignment"); sim_alignment="";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
|
|
echo "Setting alignment flags = $sim_alignment" 6>&1
|
|
fi],[sim_alignment=""])dnl
|
|
|
|
AC_ARG_ENABLE(sim-trace,
|
|
[ --enable-sim-trace Specify whether tracing is supported.],
|
|
[case "${enableval}" in
|
|
yes) sim_trace="-DWITH_TRACE=1";;
|
|
no) sim_trace="-DWITH_TRACE=0";;
|
|
*) AC_MSG_ERROR("--enable-sim-trace does not take a value"); sim_trace="";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then
|
|
echo "Setting trace flags = $sim_trace" 6>&1
|
|
fi],[sim_trace=""])dnl
|
|
|
|
AC_ARG_ENABLE(sim-assert,
|
|
[ --enable-sim-assert Specify whether to perform random assertions.],
|
|
[case "${enableval}" in
|
|
yes) sim_assert="-DWITH_ASSERT=1";;
|
|
no) sim_assert="-DWITH_ASSERT=0";;
|
|
*) AC_MSG_ERROR("--enable-sim-assert does not take a value"); sim_assert="";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_assert" != x""; then
|
|
echo "Setting assert flags = $sim_assert" 6>&1
|
|
fi],[sim_assert=""])dnl
|
|
|
|
AC_ARG_ENABLE(sim-reserved-bits,
|
|
[ --enable-sim-reserved-bits Specify whether to check reserved bits in instruction.],
|
|
[case "${enableval}" in
|
|
yes) sim_reserved="-DWITH_RESERVED_BITS=1";;
|
|
no) sim_reserved="-DWITH_RESERVED_BITS=0";;
|
|
*) AC_MSG_ERROR("--enable-sim-reserved-bits does not take a value"); sim_reserved="";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_reserved" != x""; then
|
|
echo "Setting reserved flags = $sim_reserved" 6>&1
|
|
fi],[sim_reserved=""])dnl
|
|
|
|
AC_ARG_ENABLE(sim-float,
|
|
[ --enable-sim-float Specify whether to use host floating point or simulate.],
|
|
[case "${enableval}" in
|
|
yes | hard) sim_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT";;
|
|
no | soft) sim_float="-DWITH_FLOATING_POINT=SOFT_FLOATING_POINT";;
|
|
*) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-float"); sim_float="";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_float" != x""; then
|
|
echo "Setting float flags = $sim_float" 6>&1
|
|
fi],[sim_float=""])dnl
|
|
|
|
AC_ARG_ENABLE(sim-monitor,
|
|
[ --enable-sim-monitor=mon Specify whether to enable monitoring events.],
|
|
[case "${enableval}" in
|
|
yes) sim_mon="-DWITH_MON='MONITOR_INSTRUCTION_ISSUE | MONITOR_LOAD_STORE_UNIT'";;
|
|
no) sim_mon="-DWITH_MON=0";;
|
|
instruction) sim_mon="-DWITH_MON=MONITOR_INSTRUCTION_ISSUE";;
|
|
memory) sim_mon="-DWITH_MON=MONITOR_LOAD_STORE_UNIT";;
|
|
*) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-mon"); sim_env="";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_mon" != x""; then
|
|
echo "Setting monitor flags = $sim_mon" 6>&1
|
|
fi],[sim_mon=""])dnl
|
|
|
|
AC_ARG_ENABLE(sim-model,
|
|
[ --enable-sim-model=which Specify PowerPC to model.],
|
|
[case "${enableval}" in
|
|
yes|no) AC_MSG_ERROR("No value supplied for --enable-sim-model=model");;
|
|
*) sim_model="-DWITH_MODEL=${enableval}";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_model" != x""; then
|
|
echo "Setting model flags = $sim_model" 6>&1
|
|
fi],[sim_model=""])dnl
|
|
|
|
AC_ARG_ENABLE(sim-default-model,
|
|
[ --enable-sim-default-model=which Specify default PowerPC to model.],
|
|
[case "${enableval}" in
|
|
yes|no) AC_MSG_ERROR("No value supplied for --enable-sim-default-model=model");;
|
|
*) sim_default_model="-DWITH_DEFAULT_MODEL=${enableval}";;
|
|
esac
|
|
if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
|
|
echo "Setting default-model flags = $sim_default_model" 6>&1
|
|
fi],[sim_model=""])dnl
|
|
|
|
AC_ARG_ENABLE(sim-model-issue,
|
|
[ --enable-sim-model-issue Specify whether to simulate model specific actions],
|
|
[case "${enableval}" in
|
|
yes) sim_model_issue="-DWITH_MODEL_ISSUE=1";;
|
|
no) sim_model_issue="-DWITH_MODEL_ISSUE=0";;
|
|
*) AC_MSG_ERROR("--enable-sim-model-issue does not take a value"); sim_model_issue="";;
|
|
esac
|
|
if test x"$silent" != x"yes"; then
|
|
echo "Setting model-issue flags = $sim_model_issue" 6>&1
|
|
fi],[sim_model_issue=""])dnl
|
|
|
|
AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../..)
|
|
AC_CANONICAL_SYSTEM
|
|
AC_ARG_PROGRAM
|
|
|
|
. ${srcdir}/../../bfd/configure.host
|
|
|
|
AC_CONFIG_HEADER(config.h:config.in)
|
|
|
|
AC_PROG_CC
|
|
AC_SUBST(CFLAGS)
|
|
AC_SUBST(HDEFINES)
|
|
AR=${AR-ar}
|
|
AC_SUBST(AR)
|
|
AC_PROG_RANLIB
|
|
AC_SUBST(sim_cflags)
|
|
AC_SUBST(sim_warnings)
|
|
AC_SUBST(sim_config)
|
|
AC_SUBST(sim_opcode)
|
|
AC_SUBST(sim_switch)
|
|
AC_SUBST(sim_dup)
|
|
AC_SUBST(sim_filter)
|
|
AC_SUBST(sim_icache)
|
|
AC_SUBST(sim_inline)
|
|
AC_SUBST(sim_bswap)
|
|
AC_SUBST(sim_endian)
|
|
AC_SUBST(sim_xor_endian)
|
|
AC_SUBST(sim_hostendian)
|
|
AC_SUBST(sim_smp)
|
|
AC_SUBST(sim_bitsize)
|
|
AC_SUBST(sim_hostbitsize)
|
|
AC_SUBST(sim_env)
|
|
AC_SUBST(sim_timebase)
|
|
AC_SUBST(sim_alignment)
|
|
AC_SUBST(sim_float)
|
|
AC_SUBST(sim_trace)
|
|
AC_SUBST(sim_assert)
|
|
AC_SUBST(sim_reserved)
|
|
AC_SUBST(sim_monitor)
|
|
AC_SUBST(sim_model)
|
|
AC_SUBST(sim_default_model)
|
|
AC_SUBST(sim_model_issue)
|
|
|
|
AC_CHECK_FUNCS(getrusage)
|
|
|
|
# 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_CHECK_HEADERS(string.h strings.h stdlib.h time.h sys/times.h unistd.h sys/resource.h)
|
|
|
|
AC_OUTPUT(Makefile,
|
|
[case x$CONFIG_HEADERS in xconfig.h:config.in) echo > stamp-h ;; esac])
|