diff options
Diffstat (limited to 'scripts-ada/mkgdbspec.in')
-rw-r--r-- | scripts-ada/mkgdbspec.in | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/scripts-ada/mkgdbspec.in b/scripts-ada/mkgdbspec.in new file mode 100644 index 0000000000..1b38b83a4c --- /dev/null +++ b/scripts-ada/mkgdbspec.in @@ -0,0 +1,88 @@ +#!/bin/sh +# +# Usage: mkgdbspec CPU +# + +RTEMS_DIR=`dirname $0`/@top_srcdir@ + +CFG=setup.cache +dst=@RPM_SPECSdir@ +exe_ext=@EXEEXT@ + +usage() +{ + echo "$0 [options] <target_alias>" + echo " options:" + echo " -cfg <setup.cache>" + echo " -o <rpm-spec-dir>" + exit 1 ; +} + +while test $# -ge 2; do +case $1 in +-cfg) + shift + CFG=$1 + shift + ;; +-o) + shift + dst=$1 + shift + ;; +-*) + echo "invalid option $1"; + usage + ;; +esac +done + +if test ! $# -eq 1; +then + echo "Invalid number of arguments" + usage +fi + +# target to build for +target_alias=$1 + +. ./$CFG + +specfile=${dst}/$target_alias-gdb-${gdb_version}.spec + +case ${target_alias} in + powerpc*) + extra_configure_arguments="--enable-sim --enable-sim-powerpc --enable-sim-timebase --enable-sim-hardware" + # Enabling this causes the program image to be huge and causes + # some gcc/hosts combinations to run out of memory. + # --enable-sim-inline + ;; + sparc*) + extra_configure_arguments="--enable-sim" + ;; + *) + ;; +esac + +sed -e "s%@Release@%${gdb_rpm_release}%g" \ + -e "s%@rpm_build_root@%${rpm_build_root}%g" \ + -e "s%@target_alias@%${target_alias}%g" \ + -e "s%@gdb_version@%${gdb_version}%g" \ + -e "s%@gdb_patch_version@%${gdb_patch_version}%g" \ + -e "s%@extra_configure_arguments@%${extra_configure_arguments}%g" \ + -e "s%@exe_ext@%${exe_ext}%g" \ +< ${RTEMS_DIR}/gdb/gdb.spec.in \ +> ${specfile} + +case ${target_alias} in + powerpc*) + echo "/opt/rtems/bin/${target_alias}-run${exe_ext}" + ;; + sparc*) + echo "/opt/rtems/bin/${target_alias}-run${exe_ext}" + echo "/opt/rtems/bin/${target_alias}-sis${exe_ext}" + ;; + *) ;; +esac >> ${specfile} + +echo Generated ${specfile} |