blob: 2298f011a3a5c11970add3161b85c48546277540 (
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
|
%define binutils_version @binutils_version@
%define binutils_target @target_alias@
Name: @rpmprefix@%{binutils_target}-binutils
Summary: binutils for target %{binutils_target}
Group: %{rpmgroup}
Release: @Release@
License: GPL/LGPL
BuildRequires: /sbin/install-info
BuildRequires: texinfo >= 4.2
BuildRequires: flex
Version: %{binutils_version}
Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-%{binutils_version}@binutils_suffix@
@PATCH1@
Source98: brp-rtems-strip.in
Source99: brp-rtems-compress.in
%define __os_install_post ./brp-rtems-compress && ./brp-rtems-strip
#
# 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 :-)
#
%{?!_with_sources:NoSource: 0}
# %description
#
# RTEMS is an open source operating system for embedded systems.
#
# This is binutils sources with patches for RTEMS.
%prep
%setup -c -T -n %{name}-%{version} -a0
sed 's,@BRPSTRIPPATH@,.%_bindir .%_prefix/%binutils_target/bin,' \
%SOURCE98 > brp-rtems-strip
chmod +x brp-rtems-strip
sed 's,@BRPCOMPRESSPATH@,.%_mandir/man* .%_infodir,' \
%SOURCE99 > brp-rtems-compress
chmod +x brp-rtems-compress
cd binutils-%{version}
%{?PATCH0:%patch0 -p1}
cd ..
mkdir -p build
%build
cd build
CFLAGS="$RPM_OPT_FLAGS" \
../binutils-%{binutils_version}/configure \
--build=%_build --host=%_host \
--target=%{binutils_target} \
--verbose --disable-nls \
--prefix=%{_prefix} --bindir=%{_bindir} \
--includedir=%{_includedir} --libdir=%{_libdir} \
--mandir=%{_mandir} --infodir=%{_infodir} \
make all
make info
%install
rm -rf $RPM_BUILD_ROOT
cd build
make prefix=$RPM_BUILD_ROOT%{_prefix} \
bindir=$RPM_BUILD_ROOT%{_bindir} \
includedir=$RPM_BUILD_ROOT%{_includedir} \
libdir=$RPM_BUILD_ROOT%{_libdir} \
infodir=$RPM_BUILD_ROOT%{_infodir} \
mandir=$RPM_BUILD_ROOT%{_mandir} \
install
make prefix=$RPM_BUILD_ROOT%{_prefix} \
bindir=$RPM_BUILD_ROOT%{_bindir} \
includedir=$RPM_BUILD_ROOT%{_includedir} \
libdir=$RPM_BUILD_ROOT%{_libdir} \
infodir=$RPM_BUILD_ROOT%{_infodir} \
mandir=$RPM_BUILD_ROOT%{_mandir} \
install-info
# A bug in binutils: binutils does not install share/locale
# however it uses it
mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/locale
%if "%{binutils_version}" < "2.9.5"
rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info*
%endif
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir
%if "%{_prefix}" == "/usr"
# Conflict with a native binutils' infos
rm -rf $RPM_BUILD_ROOT%{_infodir}
%endif
# We don't ship host files
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty*
# manpages without corresponding tools
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/%{binutils_target}-dlltool*
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/%{binutils_target}-nlmconv*
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/%{binutils_target}-windres*
cd ..
|