mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-07 13:39:43 +08:00
Now that the ppc configure script is just namespaced options, we can move it to ppc/acinclude.m4 and include it directly in the top-level configure script and kill off the last subdir configure script.
229 lines
9.5 KiB
Plaintext
229 lines
9.5 KiB
Plaintext
AC_MSG_CHECKING([for sim ppc bitsize settings])
|
|
AC_ARG_ENABLE(sim-ppc-bitsize,
|
|
[AS_HELP_STRING([--enable-sim-ppc-bitsize=n], [Specify target bitsize (32 or 64).])],
|
|
[case "${enableval}" in
|
|
32|64) sim_ppc_bitsize="-DWITH_TARGET_WORD_BITSIZE=$enableval";;
|
|
*) AC_MSG_ERROR("--enable-sim-ppc-bitsize was given $enableval. Expected 32 or 64");;
|
|
esac], [sim_ppc_bitsize=""])
|
|
AC_MSG_RESULT($sim_ppc_bitsize)
|
|
|
|
AC_MSG_CHECKING([for sim ppc decode mechanism])
|
|
AC_ARG_ENABLE(sim-ppc-decode-mechanism,
|
|
[AS_HELP_STRING([--enable-sim-ppc-decode-mechanism=which], [Specify the instruction decode mechanism.])],
|
|
[case "${enableval}" in
|
|
yes|no) AC_MSG_ERROR("No value supplied for --enable-sim-ppc-decode-mechanism=file");;
|
|
array|switch|padded-switch|goto-switch) sim_ppc_decode_mechanism="-T ${enableval}";;
|
|
*) AC_MSG_ERROR("File $enableval is not an opcode rules file");;
|
|
esac], [sim_ppc_decode_mechanism=""])
|
|
AC_MSG_RESULT($sim_ppc_decode_mechanism)
|
|
|
|
AC_MSG_CHECKING([for sim ppc default model])
|
|
AC_ARG_ENABLE(sim-ppc-default-model,
|
|
[AS_HELP_STRING([--enable-sim-ppc-default-model=which], [Specify default PowerPC to model.])],
|
|
[case "${enableval}" in
|
|
yes|no) AC_MSG_ERROR("No value supplied for --enable-sim-ppc-default-model=model");;
|
|
*) sim_ppc_default_model="-DWITH_DEFAULT_MODEL=${enableval}";;
|
|
esac], [sim_ppc_default_model=""])
|
|
AC_MSG_RESULT($sim_ppc_default_model)
|
|
|
|
AC_MSG_CHECKING([for sim ppc duplicate settings])
|
|
AC_ARG_ENABLE(sim-ppc-duplicate,
|
|
[AS_HELP_STRING([--enable-sim-ppc-duplicate], [Expand (duplicate) semantic functions.])],
|
|
[case "${enableval}" in
|
|
yes) sim_ppc_dup="-E";;
|
|
no) sim_ppc_dup="";;
|
|
*) AC_MSG_ERROR("--enable-sim-ppc-duplicate does not take a value");;
|
|
esac], [sim_ppc_dup="-E"])
|
|
AC_MSG_RESULT($sim_ppc_dup)
|
|
|
|
AC_MSG_CHECKING([for sim ppc filter rules])
|
|
AC_ARG_ENABLE(sim-ppc-filter,
|
|
[AS_HELP_STRING([--enable-sim-ppc-filter=rule], [Specify filter rules.])],
|
|
[case "${enableval}" in
|
|
yes) AC_MSG_ERROR("--enable-sim-ppc-filter must be specified with a rule to filter or no");;
|
|
no) sim_ppc_filter="";;
|
|
*) sim_ppc_filter="-F $enableval";;
|
|
esac], [sim_ppc_filter="-F 32,f,o"])
|
|
AC_MSG_RESULT($sim_ppc_filter)
|
|
|
|
AC_MSG_CHECKING([for sim ppc float settings])
|
|
AC_ARG_ENABLE(sim-ppc-float,
|
|
[AS_HELP_STRING([--enable-sim-ppc-float], [Specify whether the target has hard, soft, altivec or e500 floating point.])],
|
|
[case "${enableval}" in
|
|
yes | hard) sim_ppc_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT";;
|
|
no | soft) sim_ppc_float="-DWITH_FLOATING_POINT=SOFT_FLOATING_POINT";;
|
|
altivec) sim_ppc_float="-DWITH_ALTIVEC" ; sim_ppc_filter="${sim_ppc_filter},av" ;;
|
|
*spe*|*simd*) sim_ppc_float="-DWITH_E500" ; sim_ppc_filter="${sim_ppc_filter},e500" ;;
|
|
*) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-ppc-float");;
|
|
esac],
|
|
[case "${target}" in
|
|
*altivec*) sim_ppc_float="-DWITH_ALTIVEC" ; sim_ppc_filter="${sim_ppc_filter},av" ;;
|
|
*spe*|*simd*) sim_ppc_float="-DWITH_E500" ; sim_ppc_filter="${sim_ppc_filter},e500" ;;
|
|
*) sim_ppc_float=""
|
|
esac])
|
|
AC_MSG_RESULT($sim_ppc_float)
|
|
|
|
AC_MSG_CHECKING([for sim ppc hardware settings])
|
|
hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide,sem,shm"
|
|
AC_ARG_ENABLE(sim-ppc-hardware,
|
|
[AS_HELP_STRING([--enable-sim-ppc-hardware=list], [Specify the hardware to be included in the build.])],
|
|
[case "${enableval}" in
|
|
yes) ;;
|
|
no) AC_MSG_ERROR("List of hardware must be specified for --enable-sim-ppc-hardware");;
|
|
,*) hardware="${hardware}${enableval}";;
|
|
*,) hardware="${enableval}${hardware}";;
|
|
*) hardware="${enableval}"'';;
|
|
esac])
|
|
sim_ppc_hw_src=`echo $hardware | sed -e 's/,/.c hw_/g' -e 's/^/hw_/' -e s'/$/.c/'`
|
|
sim_ppc_hw_obj=`echo $sim_ppc_hw_src | sed -e 's/\.c/.o/g'`
|
|
AC_MSG_RESULT($hardware)
|
|
|
|
AC_MSG_CHECKING([for sim ppc icache settings])
|
|
AC_ARG_ENABLE(sim-ppc-icache,
|
|
[AS_HELP_STRING([--enable-sim-ppc-icache=size], [Specify instruction-decode cache size and type.])],
|
|
[icache="-R"
|
|
case "${enableval}" in
|
|
yes) icache="1024"; sim_ppc_icache="-I $icache";;
|
|
no) sim_ppc_icache="-R";;
|
|
*) icache=1024
|
|
sim_ppc_icache="-"
|
|
for x in `echo "${enableval}" | sed -e "s/,/ /g"`; do
|
|
case "$x" in
|
|
define) sim_ppc_icache="${sim_ppc_icache}R";;
|
|
semantic) sim_ppc_icache="${sim_ppc_icache}C";;
|
|
insn) sim_ppc_icache="${sim_ppc_icache}S";;
|
|
0*|1*|2*|3*|4*|5*|6*|7*|8*|9*) icache=$x;;
|
|
*) AC_MSG_ERROR("Unknown value $x for --enable-sim-ppc-icache");;
|
|
esac
|
|
done
|
|
sim_ppc_icache="${sim_ppc_icache}I $icache";;
|
|
esac], [sim_ppc_icache="-CSRI 1024"])
|
|
AC_MSG_RESULT($sim_ppc_icache)
|
|
|
|
AC_MSG_CHECKING([for sim ppc jump settings])
|
|
AC_ARG_ENABLE(sim-ppc-jump,
|
|
[AS_HELP_STRING([--enable-sim-ppc-jump], [Jump between semantic code (instead of call/return).])],
|
|
[case "${enableval}" in
|
|
yes) sim_ppc_jump="-J";;
|
|
no) sim_ppc_jump="";;
|
|
*) AC_MSG_ERROR("--enable-sim-ppc-jump does not take a value");;
|
|
esac], [sim_ppc_jump=""])
|
|
AC_MSG_RESULT($sim_ppc_jump)
|
|
|
|
AC_MSG_CHECKING([for sim ppc source debug line numbers])
|
|
AC_ARG_ENABLE(sim-ppc-line-nr,
|
|
[AS_HELP_STRING([--enable-sim-ppc-line-nr=opts], [Generate extra CPP code that references source rather than generated code])],
|
|
[case "${enableval}" in
|
|
yes) sim_ppc_line_nr="";;
|
|
no) sim_ppc_line_nr="-L";;
|
|
*) AC_MSG_ERROR("--enable-sim-ppc-line-nr does not take a value");;
|
|
esac], [sim_ppc_line_nr=""])
|
|
AC_MSG_RESULT($sim_ppc_line_nr)
|
|
|
|
AC_MSG_CHECKING([for sim ppc model])
|
|
AC_ARG_ENABLE(sim-ppc-model,
|
|
[AS_HELP_STRING([--enable-sim-ppc-model=which], [Specify PowerPC to model.])],
|
|
[case "${enableval}" in
|
|
yes|no) AC_MSG_ERROR("No value supplied for --enable-sim-ppc-model=model");;
|
|
*) sim_ppc_model="-DWITH_MODEL=${enableval}";;
|
|
esac], [sim_ppc_model=""])
|
|
AC_MSG_RESULT($sim_ppc_model)
|
|
|
|
AC_MSG_CHECKING([for sim ppc model issue])
|
|
AC_ARG_ENABLE(sim-ppc-model-issue,
|
|
[AS_HELP_STRING([--enable-sim-ppc-model-issue], [Specify whether to simulate model specific actions])],
|
|
[case "${enableval}" in
|
|
yes) sim_ppc_model_issue="-DWITH_MODEL_ISSUE=MODEL_ISSUE_PROCESS";;
|
|
no) sim_ppc_model_issue="-DWITH_MODEL_ISSUE=MODEL_ISSUE_IGNORE";;
|
|
*) AC_MSG_ERROR("--enable-sim-ppc-model-issue does not take a value");;
|
|
esac], [sim_ppc_model_issue=""])
|
|
AC_MSG_RESULT($sim_ppc_model_issue)
|
|
|
|
AC_MSG_CHECKING([for sim ppc event monitoring])
|
|
AC_ARG_ENABLE(sim-ppc-monitor,
|
|
[AS_HELP_STRING([--enable-sim-ppc-monitor=mon], [Specify whether to enable monitoring events.])],
|
|
[case "${enableval}" in
|
|
yes) sim_ppc_monitor="-DWITH_MON='MONITOR_INSTRUCTION_ISSUE | MONITOR_LOAD_STORE_UNIT'";;
|
|
no) sim_ppc_monitor="-DWITH_MON=0";;
|
|
instruction) sim_ppc_monitor="-DWITH_MON=MONITOR_INSTRUCTION_ISSUE";;
|
|
memory) sim_ppc_monitor="-DWITH_MON=MONITOR_LOAD_STORE_UNIT";;
|
|
*) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-ppc-mon");;
|
|
esac], [sim_ppc_monitor=""])
|
|
AC_MSG_RESULT($sim_ppc_monitor)
|
|
|
|
AC_MSG_CHECKING([for sim ppc opcode lookup settings])
|
|
AC_ARG_ENABLE(sim-ppc-opcode,
|
|
[AS_HELP_STRING([--enable-sim-ppc-opcode=which], [Override default opcode lookup.])],
|
|
[case "${enableval}" in
|
|
yes|no) AC_MSG_ERROR("No value supplied for --enable-sim-ppc-opcode=file");;
|
|
*) if test -f "${srcdir}/${enableval}"; then
|
|
sim_ppc_opcode="${enableval}"
|
|
elif test -f "${srcdir}/dc-${enableval}"; then
|
|
sim_ppc_opcode="dc-${enableval}"
|
|
else
|
|
AC_MSG_ERROR("File $enableval is not an opcode rules file")
|
|
fi;;
|
|
esac], [sim_ppc_opcode="dc-complex"])
|
|
AC_MSG_RESULT($sim_ppc_opcode)
|
|
|
|
AC_MSG_CHECKING([for sim ppc smp settings])
|
|
AC_ARG_ENABLE(sim-ppc-smp,
|
|
[AS_HELP_STRING([--enable-sim-ppc-smp=n], [Specify number of processors to configure for.])],
|
|
[case "${enableval}" in
|
|
yes) sim_ppc_smp="-DWITH_SMP=5" ; sim_ppc_igen_smp="-N 5";;
|
|
no) sim_ppc_smp="-DWITH_SMP=0" ; sim_ppc_igen_smp="-N 0";;
|
|
*) sim_ppc_smp="-DWITH_SMP=$enableval" ; sim_ppc_igen_smp="-N $enableval";;
|
|
esac], [sim_ppc_smp="-DWITH_SMP=5" ; sim_ppc_igen_smp="-N 5"])
|
|
AC_MSG_RESULT($sim_ppc_smp)
|
|
|
|
AC_MSG_CHECKING([for sim ppc switch table settings])
|
|
AC_ARG_ENABLE(sim-ppc-switch,
|
|
[AS_HELP_STRING([--enable-sim-ppc-switch], [Use a switch instead of a table for instruction call.])],
|
|
[case "${enableval}" in
|
|
yes) sim_ppc_switch="-DWITH_SPREG_SWITCH_TABLE";;
|
|
no) sim_ppc_switch="";;
|
|
*) AC_MSG_ERROR("--enable-sim-ppc-switch does not take a value");;
|
|
esac], [sim_ppc_switch=""])
|
|
AC_MSG_RESULT($sim_ppc_switch)
|
|
|
|
AC_MSG_CHECKING([for sim ppc timebase])
|
|
AC_ARG_ENABLE(sim-ppc-timebase,
|
|
[AS_HELP_STRING([--enable-sim-ppc-timebase], [Specify whether the PPC timebase is supported.])],
|
|
[case "${enableval}" in
|
|
yes) sim_ppc_timebase="-DWITH_TIME_BASE=1";;
|
|
no) sim_ppc_timebase="-DWITH_TIME_BASE=0";;
|
|
*) AC_MSG_ERROR("--enable-sim-ppc-timebase does not take a value");;
|
|
esac], [sim_ppc_timebase=""])
|
|
AC_MSG_RESULT($sim_ppc_timebase)
|
|
|
|
AC_MSG_CHECKING([for sim ppc xor endian settings])
|
|
AC_ARG_ENABLE(sim-ppc-xor-endian,
|
|
[AS_HELP_STRING([--enable-sim-ppc-xor-endian=n], [Specify number bytes involved in PowerPC XOR bi-endian mode (default 8).])],
|
|
[case "${enableval}" in
|
|
yes) sim_ppc_xor_endian="-DWITH_XOR_ENDIAN=8";;
|
|
no) sim_ppc_xor_endian="-DWITH_XOR_ENDIAN=0";;
|
|
*) sim_ppc_xor_endian="-DWITH_XOR_ENDIAN=$enableval";;
|
|
esac], [sim_ppc_xor_endian=""])
|
|
AC_MSG_RESULT($sim_ppc_xor_endian)
|
|
|
|
AC_SUBST(sim_ppc_line_nr)
|
|
AC_SUBST(sim_ppc_opcode)
|
|
AC_SUBST(sim_ppc_switch)
|
|
AC_SUBST(sim_ppc_dup)
|
|
AC_SUBST(sim_ppc_decode_mechanism)
|
|
AC_SUBST(sim_ppc_jump)
|
|
AC_SUBST(sim_ppc_filter)
|
|
AC_SUBST(sim_ppc_icache)
|
|
AC_SUBST(sim_ppc_hw_src)
|
|
AC_SUBST(sim_ppc_hw_obj)
|
|
AC_SUBST(sim_ppc_xor_endian)
|
|
AC_SUBST(sim_ppc_smp)
|
|
AC_SUBST(sim_ppc_igen_smp)
|
|
AC_SUBST(sim_ppc_bitsize)
|
|
AC_SUBST(sim_ppc_timebase)
|
|
AC_SUBST(sim_ppc_float)
|
|
AC_SUBST(sim_ppc_monitor)
|
|
AC_SUBST(sim_ppc_model)
|
|
AC_SUBST(sim_ppc_default_model)
|
|
AC_SUBST(sim_ppc_model_issue)
|