]> git.pld-linux.org Git - packages/binutils.git/blame_incremental - binutils.spec
- release 2.
[packages/binutils.git] / binutils.spec
... / ...
CommitLineData
1#
2# Conditional build:
3%bcond_with allarchs # enable all targets
4# define addtargets x,y,z # build with additional targets x,y,z (e.g. x86_64-linux)
5 # http://sourceware.org/ml/binutils/2008-03/msg00162.html
6%bcond_without pax # without PaX flags (for upstream bugreports)
7%bcond_without default_ld # default ld instead of gold
8#
9Summary: GNU Binary Utility Development Utilities
10Summary(de.UTF-8): GNU Binary Utility Development Utilities
11Summary(es.UTF-8): Utilitarios para desarrollo de binarios de la GNU
12Summary(fr.UTF-8): Utilitaires de développement binaire de GNU
13Summary(pl.UTF-8): Narzędzia GNU dla programistów
14Summary(pt_BR.UTF-8): Utilitários para desenvolvimento de binários da GNU
15Summary(ru.UTF-8): Набор инструментов GNU для построения исполняемых программ
16Summary(tr.UTF-8): GNU geliştirme araçları
17Summary(uk.UTF-8): Набір інструментів GNU для побудови виконуваних програм
18Name: binutils
19Version: 2.21.51.0.9
20Release: 2
21Epoch: 3
22License: GPL v3+
23Group: Development/Tools
24Source0: ftp://ftp.kernel.org/pub/linux/devel/binutils/%{name}-%{version}.tar.bz2
25# Source0-md5: 2ac3a7dae9f177f2b29f4ef1852c27a8
26Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
27# Source1-md5: a717d9707ec77d82acb6ec9078c472d6
28Patch0: %{name}-gasp.patch
29Patch1: %{name}-info.patch
30Patch2: %{name}-libtool-relink.patch
31Patch3: %{name}-pt_pax_flags.patch
32Patch5: %{name}-discarded.patch
33Patch6: %{name}-absolute-gnu_debuglink-path.patch
34Patch7: %{name}-libtool-m.patch
35Patch8: %{name}-build-id.patch
36Patch9: %{name}-tooldir.patch
37Patch10: %{name}-pr12163.patch
38URL: http://sources.redhat.com/binutils/
39BuildRequires: autoconf >= 2.64
40BuildRequires: automake >= 1:1.11
41BuildRequires: bison
42BuildRequires: flex
43BuildRequires: gettext-devel
44BuildRequires: libstdc++-devel >= 6:4.0-1
45BuildRequires: perl-tools-pod
46%ifarch sparc sparc32
47BuildRequires: sparc32
48%endif
49BuildRequires: texinfo >= 4.2
50Conflicts: gcc-c++ < 5:3.3
51Conflicts: modutils < 2.4.17
52Obsoletes: binutils-gold
53BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54
55%description
56Binutils is a collection of binary utilities, including:
57- ar - create, modify and extract from archives,
58- nm - lists symbols from object files,
59- objcopy - copy and translate object files,
60- objdump - display information from object files,
61- ranlib - generate an index for the contents of an archive,
62- size - list the section sizes of an object or archive file,
63- strings - list printable strings from files,
64- strip - discard symbols,
65- addr2line - convert addresses to file and line,
66- nlmconv - convert object code into an NLM.
67
68%description -l es.UTF-8
69Binutils es una colección de utilitarios necesarios para compilar
70programas. Incluye assembler y linker, así como varios otros programas
71para trabajar con formatos que se puedan ejecutar.
72
73%description -l pl.UTF-8
74Pakiet binutils zawiera zestaw narzędzi umożliwiających kompilację
75programów. Znajdują się tutaj między innymi assembler, konsolidator
76(linker), a także inne narzędzia do manipulowania binarnymi plikami
77programów i bibliotek.
78
79%description -l pt_BR.UTF-8
80binutils é uma coletânea de utilitários necessários para compilar
81programas. Inclui assembler e linker, assim como vários outros
82programas para trabalhar com formatos executáveis.
83
84%description -l ru.UTF-8
85binutils - это набор инструментов, необходимых для компилляции
86программ. Включает ассемблер, компоновщик и набор других программ для
87работы с исполняемыми файлами разнообразных форматов.
88
89%description -l uk.UTF-8
90binutils - це набір інструментів, необхідних для компіляції програм.
91Містить асемблер, компоновщик та інші програми, необхідні для роботи з
92виконуваними файлами різних форматів.
93
94%package libs
95Summary: GNU binutils shared libraries
96Summary(pl.UTF-8): Biblioteki współdzielone GNU binutils
97Group: Libraries
98Conflicts: binutils < 3:2.17.50.0.8-3
99
100%description libs
101GNU binutils shared libraries (libbfd, libopcodes).
102
103%description libs -l pl.UTF-8
104Biblioteki współdzielone GNU binutils (libbfd, libopcodes).
105
106%package devel
107Summary: Development files for GNU binutils libraries
108Summary(pl.UTF-8): Pliki programistyczne bibliotek GNU binutils
109Group: Development/Libraries
110Requires: %{name}-libs = %{epoch}:%{version}-%{release}
111
112%description devel
113Development files for GNU binutils libraries (libbfd, libopcodes) and
114static libiberty library.
115
116%description devel -l pl.UTF-8
117Pliki programistyczne bibliotek GNU binutils (libbfd, libopcodes) oraz
118statyczna biblioteka libiberty.
119
120%package static
121Summary: GNU binutils static libraries
122Summary(pl.UTF-8): Biblioteki statyczne do GNU binutils
123Group: Development/Libraries
124Requires: %{name}-devel = %{epoch}:%{version}-%{release}
125
126%description static
127Static GNU binutils libraries (libbfd, libopcodes).
128
129%description static -l pl.UTF-8
130Biblioteki statyczne GNU binutils (libbfd, libopcodes).
131
132%package gasp
133Summary: GASP - old preprocessor for assembly programs
134Summary(pl.UTF-8): GASP - stary preprocesor dla programów w asemblerze
135Group: Development/Tools
136Requires: %{name} = %{epoch}:%{version}-%{release}
137
138%description gasp
139GASP - old preprocessor for assembly programs. It's officially
140obsoleted, but it's still needed to build some packages.
141
142%description gasp -l pl.UTF-8
143GASP - stary preprocesor dla programów w asemblerze. Jest oficjalnie
144uznany za przestarzały, ale jest nadal potrzebny do zbudowania
145niektórych pakietów.
146
147%prep
148%setup -q
149%patch0 -p1
150%patch1 -p1
151%patch2 -p1
152%{?with_pax:%patch3 -p1}
153%patch5 -p1
154%patch6 -p1
155%patch7 -p1
156%patch8 -p0
157%patch9 -p1
158%patch10 -p1
159
160# file contains hacks for ac 2.59 only
161%{__rm} config/override.m4
162
163%build
164%{__aclocal}
165%{__autoconf}
166
167# non-standard regeneration (needed because of gasp patch)
168# AM_BINUTILS_WARNINGS in bfd/warning.m4, ZW_GNU_GETTEXT_SISTER_DIR in config/gettext-sister.m4
169for dir in gas bfd; do
170 cd $dir || exit 1
171 %{__aclocal} -I .. -I ../config -I ../bfd
172 %{__automake} Makefile
173 %{__automake} doc/Makefile
174 %{__autoconf}
175 cd ..
176done
177
178# More targets
179TARGETS=
180%ifarch ia64
181TARGETS=i686-linux
182%endif
183# uhm?
184%ifarch %{ix86}
185TARGETS=x86_64-linux
186%endif
187%ifarch sparc
188TARGETS=sparc64-linux
189%endif
190%{?addtargets:TARGETS="%{addtargets}"}
191
192cp -f /usr/share/automake/config.* .
193CFLAGS="%{rpmcflags}"; export CFLAGS
194CXXFLAGS="%{rpmcxxflags}"; export CXXFLAGS
195CC="%{__cc}"; export CC
196CXX="%{__cxx}"; export CXX
197%ifarch sparc
198sparc32 \
199%endif
200./configure %{_target_platform} \
201 --disable-debug \
202 --disable-werror \
203 --enable-build-warnings=,-Wno-missing-prototypes \
204 --enable-shared \
205 --prefix=%{_prefix} \
206 --libdir=%{_libdir} \
207 --infodir=%{_infodir} \
208 --mandir=%{_mandir} \
209 --with-tooldir=%{_prefix} \
210 %{!?with_allarchs:`[ -n "${TARGETS}" ] && echo "--enable-targets=${TARGETS}"`} \
211%ifarch sparc
212 --enable-64-bit-bfd \
213%else
214 %{?with_allarchs:--enable-64-bit-bfd} \
215%endif
216 %{?with_allarchs:--enable-targets=alpha-linux,arm-linux,cris-linux,hppa-linux,i386-linux,ia64-linux,x86_64-linux,m68k-linux,mips-linux,mips64-linux,mips64el-linux,mipsel-linux,ppc-linux,s390-linux,s390x-linux,sh-linux,sparc-linux,sparc64-linux,i386-linuxaout} \
217%ifarch %{ix86} %{x8664}
218 --enable-gold%{!?with_default_ld:=default} --enable-ld%{?with_default_ld:=default} \
219%endif
220
221%{__make}
222
223%install
224rm -rf $RPM_BUILD_ROOT
225
226%{__make} install \
227 DESTDIR=$RPM_BUILD_ROOT
228
229%{__rm} $RPM_BUILD_ROOT%{_infodir}/standards.info*
230
231# remove these man pages unless we cross-build for win*/netware platforms.
232# however, this should be done in Makefiles.
233%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{dlltool,nlmconv,windres}.1
234
235bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
236
237install include/libiberty.h $RPM_BUILD_ROOT%{_includedir}
238install libiberty/pic/libiberty.a $RPM_BUILD_ROOT%{_libdir}
239
240# remove evil -L pointing inside builder's home
241perl -pi -e 's@-L[^ ]*/pic @@g' $RPM_BUILD_ROOT%{_libdir}/libbfd.la
242
243[ -x $RPM_BUILD_ROOT%{_bindir}/ld.bfd ] || ln $RPM_BUILD_ROOT%{_bindir}/ld{,.bfd}
244
245rm -f $RPM_BUILD_ROOT%{_infodir}/dir
246
247%find_lang bfd
248%find_lang binutils
249%find_lang gas
250%find_lang gprof
251touch ld.lang
252%find_lang ld
253%ifarch %{ix86} %{x8664}
254%find_lang gold
255%else
256:> gold.lang
257%endif
258%find_lang opcodes
259cat bfd.lang opcodes.lang > %{name}-libs.lang
260cat gas.lang gprof.lang ld.lang gold.lang >> %{name}.lang
261
262%clean
263rm -rf $RPM_BUILD_ROOT
264
265%post -p /sbin/postshell
266-/usr/sbin/fix-info-dir -c %{_infodir}
267
268%postun -p /sbin/postshell
269-/usr/sbin/fix-info-dir -c %{_infodir}
270
271%post libs -p /sbin/ldconfig
272%postun libs -p /sbin/ldconfig
273
274%post devel -p /sbin/postshell
275-/usr/sbin/fix-info-dir -c %{_infodir}
276
277%postun devel -p /sbin/postshell
278-/usr/sbin/fix-info-dir -c %{_infodir}
279
280%files -f %{name}.lang
281%defattr(644,root,root,755)
282%doc README
283%attr(755,root,root) %{_bindir}/addr2line
284%attr(755,root,root) %{_bindir}/ar
285%attr(755,root,root) %{_bindir}/as
286%attr(755,root,root) %{_bindir}/c++filt
287%attr(755,root,root) %{_bindir}/elfedit
288%attr(755,root,root) %{_bindir}/gprof
289%attr(755,root,root) %{_bindir}/ld
290%attr(755,root,root) %{_bindir}/ld.bfd
291%ifarch %{ix86} %{x8664}
292%attr(755,root,root) %{_bindir}/ld.gold
293%endif
294%attr(755,root,root) %{_bindir}/nm
295%attr(755,root,root) %{_bindir}/objcopy
296%attr(755,root,root) %{_bindir}/objdump
297%attr(755,root,root) %{_bindir}/ranlib
298%attr(755,root,root) %{_bindir}/readelf
299%attr(755,root,root) %{_bindir}/size
300%attr(755,root,root) %{_bindir}/strings
301%attr(755,root,root) %{_bindir}/strip
302%{_infodir}/as.info*
303%{_infodir}/binutils.info*
304%{_infodir}/configure.info*
305%{_infodir}/gprof.info*
306%{_infodir}/ld.info*
307%{_prefix}/lib/ldscripts
308%{_mandir}/man1/*
309%lang(cs) %{_mandir}/cs/man1/*
310%lang(de) %{_mandir}/de/man1/*
311%lang(es) %{_mandir}/es/man1/*
312%lang(fi) %{_mandir}/fi/man1/*
313%lang(fr) %{_mandir}/fr/man1/*
314%lang(hu) %{_mandir}/hu/man1/*
315%lang(ja) %{_mandir}/ja/man1/*
316%lang(pl) %{_mandir}/pl/man1/*
317
318%files libs -f %{name}-libs.lang
319%defattr(644,root,root,755)
320%attr(755,root,root) %{_libdir}/libbfd-*.so
321%attr(755,root,root) %{_libdir}/libopcodes-*.so
322
323%files devel
324%defattr(644,root,root,755)
325%attr(755,root,root) %{_libdir}/libbfd.so
326%attr(755,root,root) %{_libdir}/libopcodes.so
327%{_libdir}/libbfd.la
328%{_libdir}/libopcodes.la
329%{_libdir}/libiberty.a
330%{_includedir}/ansidecl.h
331%{_includedir}/bfd.h
332%{_includedir}/bfdlink.h
333%{_includedir}/dis-asm.h
334%{_includedir}/libiberty.h
335%{_includedir}/symcat.h
336%{_infodir}/bfd.info*
337
338%files static
339%defattr(644,root,root,755)
340%{_libdir}/libbfd.a
341%{_libdir}/libopcodes.a
342
343%files gasp
344%defattr(644,root,root,755)
345%attr(755,root,root) %{_bindir}/gasp
346%{_infodir}/gasp.info*
This page took 0.033258 seconds and 4 git commands to generate.