summaryrefslogtreecommitdiffstats
path: root/scripts/mkgccnewlibspec
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/mkgccnewlibspec')
-rw-r--r--scripts/mkgccnewlibspec63
1 files changed, 41 insertions, 22 deletions
diff --git a/scripts/mkgccnewlibspec b/scripts/mkgccnewlibspec
index 172d905ca6..9b1c1bf747 100644
--- a/scripts/mkgccnewlibspec
+++ b/scripts/mkgccnewlibspec
@@ -5,41 +5,60 @@
RTEMS_DIR=`dirname $0`
-target_alias=$1
-
-# RPM release number
-rpm_release=0
+CFG=user.cfg
+dst=/usr/src/packages/SPECS
-# gcc version number
-gcc_version=2.95.1
-gcc_patch_version=19991015
+usage()
+{
+ echo "$0 [options] <target_alias>"
+ echo " options:"
+ echo " -cfg <user.cfg>"
+ echo " -o <rpm-spec-dir>"
+ exit 1 ;
+}
-# newlib version number
-newlib_version=1.8.2
-newlib_patch_version=19991015
+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
-# Some linux distributions use /usr/src/packages
-# redhat uses /usr/src/redhat
-# others might use /usr/src
-if test -d /usr/src/packages/SPECS;
-then
-dst=/usr/src/packages/SPECS;
-elif test -d /usr/src/redhat/SPECS;
- then
-dst=/usr/src/redhat/SPECS;
-elif test -d /usr/src/SPECS/;
+if test ! $# -eq 1;
then
-dst=/usr/src/SPECS;
+ echo "Invalid number of arguments"
+ usage
fi
+# target to build for
+target_alias=$1
+
+# RPM release number
+rpm_release=0
+
+. ./$CFG
+
specfile=${dst}/$target_alias-gcc-${gcc_version}-newlib-${newlib_version}.spec
+
sed -e "s%@Release@%${rpm_release}%g" \
-e "s%@target_alias@%${target_alias}%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" \
-< ${RTEMS_DIR}/gccnewlib.spec.in \
+< ${RTEMS_DIR}/gccnewlib/gccnewlib.spec.in \
> ${specfile}
echo Generated ${specfile}.