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],[sim_cflags=""])dnl AC_ARG_ENABLE(sim-config, [ --enable-sim-config=file Override default config file], [case "${enableval}" in yes) sim_config="std-config.h";; no) sim_config="std-config.h";; *) sim_config="${enableval}";; esac],[sim_config="std-config.h]")dnl AC_ARG_ENABLE(sim-opcode, [ --enable-sim-opcode=which Override default opcode lookup.], [case "${enableval}" in yes) sim_opcode="ppc-opcode-simple";; no) sim_opcode="ppc-opcode-simple";; *) sim_opcode="ppc-opcode-${enableval}";; esac],[sim_opcode="ppc-opcode-simple"])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";; *) sim_switch="";; esac],[sim_switch=""])dnl AC_ARG_ENABLE(sim-duplicate, [ --enable-sim-duplicate Expand (duplicate) semantic functions.], [case "${enableval}" in yes) sim_dup="-e";; *) sim_dup="";; esac],[sim_dup=""])dnl AC_ARG_ENABLE(sim-filter, [ --enable-sim-filter=rule Specify filter rules.], [case "${enableval}" in yes) sim_filter="";; *) sim_filter="-f $enableval";; esac],[sim_filter="-f 64"])dnl AC_ARG_ENABLE(sim-icache, [ --enable-sim-icache=size Specify instruction cache size.], [case "${enableval}" in yes) sim_icache="-r 1024";; *) sim_icache="";; esac],[sim_icache=""])dnl AC_ARG_ENABLE(sim-inline, [ --enable-sim-inline=inlines Specify which functions should be inlined.], [sim_inline="" case "$enableval" in no) sim_inline="";; 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=`sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;; *) new_flag="-D$x""_INLINE=2";; esac if x"$sim_inline" = x""; then sim_inline="$new_flag" else sim_inline="$flags $new_flag" fi done;; esac],[sim_inline=""])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";; *) sim_bswap="";; esac],[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";; *) sim_endian="";; esac],[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";; *) sim_hostendian="";; esac],[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=2";; no) sim_smp="-DWITH_SMP=0";; *) sim_smp="-DWITH_SMP=$enableval";; esac],[sim_smp=""])dnl AC_ARG_ENABLE(sim-bitsize, [ --enable-sim-bitsize=n Specify target bitsize (32 or 64).], [case "${enableval}" in yes) sim_bitsize="";; no) sim_bitsize="";; *) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=$enableval";; esac],[sim_bitsize=""])dnl AC_ARG_ENABLE(sim-hostbitsize, [ --enable-sim-hostbitsize=n Specify host bitsize (32 or 64).], [case "${enableval}" in yes) sim_hostbitsize="";; no) sim_hostbitsize="";; *) sim_hostbitsize="-DWITH_HOST_WORD_BITSIZE=$enableval";; esac],[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";; *) sim_env="";; esac],[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";; *) sim_timebase="";; esac],[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=NOSTRICT_ALIGNMENT";; *) sim_alignment="-DWITH_ALIGNMENT=$enableval";; esac],[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";; *) sim_trace="";; esac],[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";; *) sim_assert="";; esac],[sim_assert=""])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";; *) sim_float="";; esac],[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";; *) sim_mon="-DWITH_MON='$enableval'";; esac],[sim_float=""])dnl AC_CONFIG_HEADER(config.h:config.in) AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../..) AC_CANONICAL_SYSTEM AC_ARG_PROGRAM . ${srcdir}/../../bfd/configure.host 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_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_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_monitor) 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])