diff options
Diffstat (limited to 'scripts/binutils/mkspec.in')
-rw-r--r-- | scripts/binutils/mkspec.in | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/scripts/binutils/mkspec.in b/scripts/binutils/mkspec.in new file mode 100644 index 0000000000..64d3207dd6 --- /dev/null +++ b/scripts/binutils/mkspec.in @@ -0,0 +1,68 @@ +#!/bin/sh +# +# Usage: mkspec CPU +# + +RTEMS_DIR=`dirname $0`/@top_srcdir@ + +CFG=../setup.cache +exe_ext=@EXEEXT@ + +specsrc=${RTEMS_DIR}/binutils/binutils.spec.in + +usage() +{ + echo "$0 [options] <target_alias>" + echo " options:" + echo " -cfg <setup.cache>" + echo " -a <alternate specs.in>" + exit 1 ; +} + +while test $# -ge 2; do +case $1 in +-cfg) + shift + CFG=$1 + shift + ;; +-a) + shift + specsrc=$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 + +if test -n "${binutils_patch_version}"; then +PATCH1="Patch0: binutils-${binutils_version}-rtems-${binutils_patch_version}.diff" +PATCH2="%patch0 -p0" +fi + +sed -e "s%@Release\@%${binutils_rpm_release}%g" \ + -e "s,@rpm_build_root\@,${rpm_build_root},g" \ + -e "s%@target_alias\@%${target_alias}%g" \ + -e "s%@build_alias\@%@build_alias@%g" \ + -e "s%@host_alias\@%@host_alias@%g" \ + -e "s%@prefix\@%@prefix@%g" \ + -e "s%@binutils_version\@%${binutils_version}%g" \ + -e "s%@binutils_patch_version\@%${binutils_patch_version}%g" \ + -e "s%@exe_ext\@%${exe_ext}%g" \ + -e "s,@PATCH1\@,${PATCH1}," \ + -e "s,@PATCH2\@,${PATCH2}," \ +< ${specsrc} |