blob: 110514e04457962e2bb776f8f2a34f517c6febec (
plain) (
blame)
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
#
# spec file for package rtems
#
# Copyright (c) 1999 OARCorp, Huntsville, AL
#
# please send bugfixes or comments to joel@OARcorp.com
#
# neededforbuild @target_alias@-binutils @target_alias@-gcc
Vendor: OAR Corporation
Distribution: Linux
Name: rtems-@target_alias@-tools
Release: @Release@
Copyright: 1999 OARCorp
Group: unsorted
Provides: rtems-@target_alias@-tools
Autoreqprov: on
Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com
Version: @Version@
Summary: rtems gcc tool chain for target @target_alias@
Source0: gcc-2.95.1.tar.gz
Source1: newlib-1.8.2.tar.gz
Source2: binutils-990901.tar.gz
Patch0: gcc-2.95.1-rtems-19991015.diff
Patch1: newlib-1.8.2-rtems-19991015.diff
Patch2: binutils-990901-rtems-19991015.diff
Buildroot: /tmp
# Patch:
%description
RTEMS is an open source operating system for embedded systems.
Authors:
--------
Joel Sherrill (joel@oarcorp.com)
...
%prep
# untar the sources inside rtems-@target_alias@-@bsp@-@Version@
%setup -c -n rtems-@target_alias@-tools -a 1 -a 2
# %setup -c -n rtems-@target_alias@ -a 1 -a 2
%patch0 -p0
%patch1 -p0
%patch2 -p0
mkdir src
( cd src
# The configure scripts and share libraries should be taken from
# the tool component with the newest version.
GET_CONFIGURE_SCRIPTS_FROM=gcc-2.95.1
for f in config config.guess config.sub configure configure.in \
config-ml.in Makefile.in install-sh move-if-change \
mkinstalldirs libiberty config.if ltconfig missing
do
ln -s ../${GET_CONFIGURE_SCRIPTS_FROM}/$f .
done
# Link in GCC or EGCS
for f in gcc libio libstdc++ texinfo xiberty
do
ln -s ../gcc-2.95.1/${f} .
done
# Get these components from binutils
for f in bfd binutils gas gprof ld opcodes etc
do
ln -s ../binutils-990901/$f .
done
# Now get the C library
ln -s ../newlib-1.8.2/newlib .
)
%build
test -d build || mkdir build
( cd build
../src/configure --target=@target_alias@ \
--with-gnu-as --with-gnu-ld --with-newlib --verbose \
--prefix=/opt/rtems
test -d $RPM_BUILD_ROOT/opt \
|| mkdir $RPM_BUILD_ROOT/opt
test -d $RPM_BUILD_ROOT/opt/rtems \
|| mkdir $RPM_BUILD_ROOT/opt/rtems
test -d $RPM_BUILD_ROOT/opt/rtems/@target_alias@ \
|| mkdir $RPM_BUILD_ROOT/opt/rtems/@target_alias@
test -d $RPM_BUILD_ROOT/opt/rtems/@target_alias@/include \
|| mkdir $RPM_BUILD_ROOT/opt/rtems/@target_alias@/include
test -d $RPM_BUILD_ROOT/opt/rtems/@target_alias@/sys-include \
|| mkdir $RPM_BUILD_ROOT/opt/rtems/@target_alias@/sys-include
srclimits=../src/newlib/libc/sys/rtems/include/limits.h
for dir in $RPM_BUILD_ROOT/opt/rtems/@target_alias@/include \
$RPM_BUILD_ROOT/opt/rtems/@target_alias@/sys-include
do
cp ${srclimits} ${dir}
done
make LANGUAGES="c c++" all
cd gcc
rm -f stmp-multilib
find . -name "*.a" -print | xargs -e rm -f
make LANGUAGES="c c++" all
cd ..
)
%install
( cd build
make prefix=$RPM_BUILD_ROOT/opt/rtems LANGUAGES="c c++" install
)
%files
/opt/rtems/@target_alias@/bin
/opt/rtems/@target_alias@/include
/opt/rtems/@target_alias@/lib
/opt/rtems/@target_alias@/sys-include
/opt/rtems/bin/@target_alias@*
/opt/rtems/lib/gcc-lib/@target_alias@/2.95.1
|