blob: 316cd29b92bcb8b93efbfe55c62f8238462dbcab (
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
|
%define gdb_version @gdb_version@
%define gdb_target @target_alias@
Name: %{rpmprefix}%{gdb_target}-gdb-collection
Release: @Release@
License: GPL/LGPL
Group: %{rpmgroup}
Autoreqprov: on
Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com
Version: %{gdb_version}
Summary: gdb for target %{gdb_version}
Source0: ftp://ftp.gnu.org/pub/gnu/gdb-%{gdb_version}.tar.gz
Patch0: gdb-%{gdb_version}-rtems-base-@gdb_patch_version@.diff
Patch1: gdb-%{gdb_version}-rtems-cg-@gdb_patch_version@.diff
Patch2: gdb-%{gdb_version}-rtems-rdbg-@gdb_patch_version@.diff
%if "%{_vendor}" == "redhat"
BuildPreReq: ncurses-devel
%endif
#
# The original sources are not included in the source RPM.
# If we included them, then the source RPMs for each target
# would duplicate MBs of source unnecessarily. This is
# a duplication of over 30 MBs of source for each of
# the more than 10 targets it is possible to build.
#
# You can get them yourself from the Internet and copy them to
# your /usr/src/redhat/SOURCES directory ($RPM_SOURCE_DIR).
# Or you can try the ftp options of rpm :-)
#
NoSource: 0
# Account as best possible for targets without simulators
# and targets which require extra arguments.
%define _sim 1
%if "%{gdb_target}" == "m68k-rtems@osversion@"
%define _sim 0
%endif
%if "%{gdb_target}" == "i386-rtems@osversion@"
%define _sim 0
%endif
%description
RTEMS is an open source operating system for embedded systems.
This is the GNU gdb for RTEMS targetting %{gdb_version}.
%prep
%setup -c -n %{name}-%{version} -a 0
cd gdb-%{gdb_version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build
%if "%_sim" == "1"
simargs="--enable-sim"
%endif
%if "%{gdb_target}" == "powerpc-rtems@osversion@"
simargs="$simargs --enable-sim-timebase --enable-sim-hardware"
# Enabling this causes the program image to be huge and causes
# some gcc/hosts combinations to run out of memory.
# simargs="$simargs --enable-sim-inline"
%endif
test -d build || mkdir build
cd build
export PATH="%{_bindir}:${PATH}"
../gdb-%{gdb_version}/configure \
--build=%_build --host=%_host \
--target=%{gdb_target} \
--verbose --prefix=%{_prefix} $simargs \
--disable-nls
make all
make info
%install
cd build
make prefix=$RPM_BUILD_ROOT%{_prefix} install
make prefix=$RPM_BUILD_ROOT%{_prefix} install-info
# host files
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/*.h
rm -rf $RPM_BUILD_ROOT%{_prefix}/lib/lib*a
# These come from other packages
rm -rf $RPM_BUILD_ROOT%{_prefix}/info/bfd*
rm -rf $RPM_BUILD_ROOT%{_prefix}/info/configure*
rm -rf $RPM_BUILD_ROOT%{_prefix}/info/standards*
# gzip info files
gzip -f $RPM_BUILD_ROOT%{_prefix}/info/*.info 2>/dev/null
gzip -f $RPM_BUILD_ROOT%{_prefix}/info/*.info-? 2>/dev/null
gzip -f $RPM_BUILD_ROOT%{_prefix}/info/*.info-?? 2>/dev/null
|