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";; define) sim_icache="-r 1024 -R"; 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";; 0) sim_inline="-DDEFAULT_INLINE=0";; yes | 2) sim_inline="-DDEFAULT_INLINE=ALL_INLINE";; 1) sim_inline="-DDEFAULT_INLINE=INLINE_LOCALS";; *) 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=ALL_INLINE";; *=*) new_flag=`echo "$x" | sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;; *) new_flag="-D$x""_INLINE=ALL_INLINE";; 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=INLINE_LOCALS" 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_monitor="-DWITH_MON='MONITOR_INSTRUCTION_ISSUE | MONITOR_LOAD_STORE_UNIT'";; no) sim_monitor="-DWITH_MON=0";; instruction) sim_monitor="-DWITH_MON=MONITOR_INSTRUCTION_ISSUE";; memory) sim_monitor="-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_monitor" != x""; then echo "Setting monitor flags = $sim_monitor" 6>&1 fi],[sim_monitor=""])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=MODEL_ISSUE_PROCESS";; no) sim_model_issue="-DWITH_MODEL_ISSUE=MODEL_ISSUE_IGNORE";; *) 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_C_BIGENDIAN AC_SUBST(WORDS_BIGENDIAN) AC_CHECK_HEADERS(string.h strings.h stdlib.h time.h sys/types.h sys/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])