forked from Imagelibrary/rtems
by all targets and one or more target specific RPMs. This significantly reduces the conflicts between the RPMs whether installing one or multiple targets.
72 lines
1.2 KiB
Bash
72 lines
1.2 KiB
Bash
#!/bin/sh
|
|
#
|
|
# Usage: mktoolspec 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 ;
|
|
}
|
|
|
|
specsrc=${RTEMS_DIR}/gccnewlib/gccnewlib.spec.in
|
|
|
|
while test $# -ge 2; do
|
|
case $1 in
|
|
-cfg)
|
|
shift
|
|
CFG=$1
|
|
shift
|
|
;;
|
|
-o)
|
|
shift
|
|
dst=$1
|
|
shift
|
|
;;
|
|
-a) # alternate specs file
|
|
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
|
|
|
|
specfile=${dst}/$target_alias-gcc-${gcc_version}-newlib-${newlib_version}.spec
|
|
|
|
sed -e "s%@Release@%${gccnewlib_rpm_release}%g" \
|
|
-e "s%@target_alias@%${target_alias}%g" \
|
|
-e "s%@rpm_build_root@%${rpm_build_root}%g" \
|
|
-e "s%@gcc_version@%${gcc_version}%g" \
|
|
-e "s%@gcc_patch_version@%${gcc_patch_version}%g" \
|
|
-e "s%@newlib_version@%${newlib_version}%g" \
|
|
-e "s%@newlib_patch_version@%${newlib_patch_version}%g" \
|
|
-e "s%@exe_ext@%${exe_ext}%g" \
|
|
< ${specsrc} \
|
|
> ${specfile}
|
|
|
|
echo Generated ${specfile}.
|