1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
#!/bin/sh
#
# Usage: mkspec CPU
#
RTEMS_DIR=`dirname $0`/@top_srcdir@
CFG=../setup.cache
usage()
{
echo "$0 [options] <target_alias>"
echo " options:"
echo " -cfg <setup.cache>"
echo " -a <alternate specs.in>"
exit 1 ;
}
specsrc=./gccnewlib.spec.in
while test $# -ge 2; do
case $1 in
-cfg)
shift
CFG=$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
if test -n "${gcc_patch_version}"; then
PATCH0="Patch0: gcc-${gcc_version}-rtems-${gcc_patch_version}.diff"
fi
if test -n "${newlib_patch_version}"; then
PATCH50="Patch50: newlib-${newlib_version}-rtems-${newlib_patch_version}.diff"
fi
# note that the variables in the gccnewlib directory are actually the same
sed -e "s,@PATCH0\@,${PATCH0}," \
-e "s,@PATCH50\@,${PATCH50}," \
-e "s,@Release\@,${gccnewlib_rpm_release},g" \
-e "s,@target_alias\@,${target_alias},g" \
-e "s,@prefix\@,@prefix@,g" \
-e "s,@rpmprefix\@,@rpmprefix@,g" \
-e "s,@rpmgroup\@,@rpmgroup@,g" \
-e "s,@osversion\@,@osversion@,g" \
-e "s,@gcc_version\@,${gcc_version},g" \
-e "s,@gcc_patch_version\@,${gcc_patch_version},g" \
-e "s,@gcc_suffix\@,${gcc_suffix},g" \
-e "s,@newlib_version\@,${newlib_version},g" \
-e "s,@newlib_patch_version\@,${newlib_patch_version},g" \
-e "s,@newlib_suffix\@,${newlib_suffix},g" \
< ${specsrc}
|