]> git.pld-linux.org Git - packages/binutils.git/blame - binutils.spec
- updated to 2.21.51.0.1
[packages/binutils.git] / binutils.spec
CommitLineData
c5304b32 1#
501f7670
JB
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)
a3e16156 5 # http://sourceware.org/ml/binutils/2008-03/msg00162.html
41248ac5 6%bcond_without gold # don't build gold (no C++ dependencies)
a64f9a91 7%bcond_without pax # without PaX flags (for upstream bugreports)
c5304b32 8#
58a689fe 9Summary: GNU Binary Utility Development Utilities
ceb5138c
ER
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 для побудови виконуваних програм
58a689fe 18Name: binutils
1bb7a9bf 19Version: 2.21.51.0.1
2a85ff93 20Release: 1
2a3747ce 21Epoch: 3
0f5b7b0a 22License: GPL v3+
58a689fe 23Group: Development/Tools
9743462a 24Source0: ftp://ftp.kernel.org/pub/linux/devel/binutils/%{name}-%{version}.tar.bz2
1bb7a9bf 25# Source0-md5: 3e8b6349f38d6e0feba317055f0ced14
ab9f8866 26Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
e866ad8f 27# Source1-md5: a717d9707ec77d82acb6ec9078c472d6
2859501d 28Patch0: %{name}-gasp.patch
f0309959 29Patch1: %{name}-info.patch
fb2b373b
JB
30Patch2: %{name}-libtool-relink.patch
31Patch3: %{name}-pt_pax_flags.patch
3ecba8d9
AM
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
4770b19c 37URL: http://sources.redhat.com/binutils/
08f839ed
AM
38BuildRequires: autoconf >= 2.64
39BuildRequires: automake >= 1:1.11
92b879dd 40BuildRequires: bison
4770b19c 41BuildRequires: flex
d8488630 42BuildRequires: gettext-devel
41248ac5 43%{?with_gold:BuildRequires: libstdc++-devel >= 6:4.0-1}
3aee031d 44BuildRequires: perl-tools-pod
c1a8e558 45%ifarch sparc sparc32
46BuildRequires: sparc32
47%endif
e6b8978d 48BuildRequires: texinfo >= 4.2
74cc5371 49Conflicts: gcc-c++ < 5:3.3
bc650d31 50Conflicts: modutils < 2.4.17
59f56279 51BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
1928db7d 52
53%description
948596dc 54Binutils is a collection of binary utilities, including:
55- ar - create, modify and extract from archives,
56- nm - lists symbols from object files,
57- objcopy - copy and translate object files,
58- objdump - display information from object files,
59- ranlib - generate an index for the contents of an archive,
60- size - list the section sizes of an object or archive file,
61- strings - list printable strings from files,
62- strip - discard symbols,
948596dc 63- addr2line - convert addresses to file and line,
64- nlmconv - convert object code into an NLM.
1928db7d 65
0c3d68f2
JR
66%description -l es.UTF-8
67Binutils es una colección de utilitarios necesarios para compilar
68programas. Incluye assembler y linker, así como varios otros programas
eaa0ca5c 69para trabajar con formatos que se puedan ejecutar.
70
0c3d68f2
JR
71%description -l pl.UTF-8
72Pakiet binutils zawiera zestaw narzędzi umożliwiających kompilację
73programów. Znajdują się tutaj między innymi assembler, konsolidator
74(linker), a także inne narzędzia do manipulowania binarnymi plikami
75programów i bibliotek.
1928db7d 76
0c3d68f2
JR
77%description -l pt_BR.UTF-8
78binutils é uma coletânea de utilitários necessários para compilar
79programas. Inclui assembler e linker, assim como vários outros
80programas para trabalhar com formatos executáveis.
54b53cb0 81
0c3d68f2
JR
82%description -l ru.UTF-8
83binutils - это набор инструментов, необходимых для компилляции
84программ. Включает ассемблер, компоновщик и набор других программ для
85работы с исполняемыми файлами разнообразных форматов.
c5304b32 86
0c3d68f2
JR
87%description -l uk.UTF-8
88binutils - це набір інструментів, необхідних для компіляції програм.
89Містить асемблер, компоновщик та інші програми, необхідні для роботи з
90виконуваними файлами різних форматів.
c5304b32 91
49b19461
JB
92%package libs
93Summary: GNU binutils shared libraries
ceb5138c 94Summary(pl.UTF-8): Biblioteki współdzielone GNU binutils
49b19461 95Group: Libraries
40e06b51 96Conflicts: binutils < 3:2.17.50.0.8-3
49b19461
JB
97
98%description libs
99GNU binutils shared libraries (libbfd, libopcodes).
100
0c3d68f2
JR
101%description libs -l pl.UTF-8
102Biblioteki współdzielone GNU binutils (libbfd, libopcodes).
49b19461
JB
103
104%package devel
105Summary: Development files for GNU binutils libraries
ceb5138c 106Summary(pl.UTF-8): Pliki programistyczne bibliotek GNU binutils
49b19461
JB
107Group: Development/Libraries
108Requires: %{name}-libs = %{epoch}:%{version}-%{release}
109
110%description devel
5516fb05
ER
111Development files for GNU binutils libraries (libbfd, libopcodes) and
112static libiberty library.
49b19461 113
0c3d68f2 114%description devel -l pl.UTF-8
49b19461
JB
115Pliki programistyczne bibliotek GNU binutils (libbfd, libopcodes) oraz
116statyczna biblioteka libiberty.
117
16317b98 118%package static
49b19461 119Summary: GNU binutils static libraries
ceb5138c 120Summary(pl.UTF-8): Biblioteki statyczne do GNU binutils
a26dabf1 121Group: Development/Libraries
49b19461 122Requires: %{name}-devel = %{epoch}:%{version}-%{release}
a806649c 123
124%description static
49b19461 125Static GNU binutils libraries (libbfd, libopcodes).
a806649c 126
0c3d68f2 127%description static -l pl.UTF-8
49b19461 128Biblioteki statyczne GNU binutils (libbfd, libopcodes).
a806649c 129
2859501d
JB
130%package gasp
131Summary: GASP - old preprocessor for assembly programs
ceb5138c 132Summary(pl.UTF-8): GASP - stary preprocesor dla programów w asemblerze
2859501d 133Group: Development/Tools
a8538388 134Requires: %{name} = %{epoch}:%{version}-%{release}
2859501d
JB
135
136%description gasp
137GASP - old preprocessor for assembly programs. It's officially
138obsoleted, but it's still needed to build some packages.
139
0c3d68f2
JR
140%description gasp -l pl.UTF-8
141GASP - stary preprocesor dla programów w asemblerze. Jest oficjalnie
142uznany za przestarzały, ale jest nadal potrzebny do zbudowania
143niektórych pakietów.
2859501d 144
41248ac5
JB
145%package gold
146Summary: GOLD - new version of ELF linker originally developed at Google
147Summary(pl.UTF-8): GOLD - nowa wersja linkera ELF powstała w Google
148Group: Development/Tools
149Requires: %{name} = %{epoch}:%{version}-%{release}
150
151%description gold
152gold is an ELF linker. It is intended to have complete support for ELF
153and to run as fast as possible on modern systems. For normal use it is
154a drop-in replacement for the older GNU linker. gold was originally
155developed at Google, and was contributed to the Free Software
156Foundation in March 2008.
157
158gold supports most of the features of the GNU linker for ELF targets.
159Notable omissions - features of the GNU linker not currently supported
160in gold - are:
161 - MEMORY regions in linker scripts
162 - MRI compatible linker scripts
163 - cross-reference reports (--cref)
164 - various other minor options.
165
166%description gold -l pl.UTF-8
167gold to linker dla plików ELF. Powstał z myślą o pełnej obsłudze
168formatu ELF i jak najszybszym działaniu na współczesnych systemach.
169Przy zwykłym użyciu jest zamiennikiem starszego linkera GNU. gold
170początkowo był rozwijany przez Google i został przekazany Free
171Software Foundation w marcu 2008.
172
173gold obsługuje większość funkcji linkera GNU dla plików ELF. Istotne
174braki - możliwości linkera GNU aktualnie nie obsługiwane przez gold -
175to:
176- regiony typu MEMORY w skryptach linkera
177- skrypty linkera kompatybilne z MRI
178- raporty odsyłaczy (--cref)
179- kilka innych, mniej istotnych opcji.
180
1928db7d 181%prep
501f7670 182%setup -q
948596dc 183%patch0 -p1
c5304b32 184%patch1 -p1
f0309959 185%patch2 -p1
a64f9a91 186%{?with_pax:%patch3 -p1}
fb2b373b 187%patch5 -p1
8c2c8b6f 188%patch6 -p1
3cd495cf 189%patch7 -p1
2cca3b33 190%patch8 -p1
8dd9627c 191%patch9 -p1
1928db7d 192
437f76a6 193# file contains hacks for ac 2.59 only
bfa6591a
JB
194rm config/override.m4
195
1928db7d 196%build
437f76a6 197%{__aclocal}
198%{__autoconf}
199
a8538388 200# non-standard regeneration (needed because of gasp patch)
fe27c565 201# AM_BINUTILS_WARNINGS in bfd/warning.m4, ZW_GNU_GETTEXT_SISTER_DIR in config/gettext-sister.m4
71ec0766
AM
202for dir in gas bfd; do
203 cd $dir || exit 1
4274db7b
AM
204 %{__aclocal} -I .. -I ../config -I ../bfd
205 %{__automake} Makefile
206 %{__automake} doc/Makefile
207 %{__autoconf}
71ec0766
AM
208 cd ..
209done
266c72dc 210
3cc4a1c4
AM
211# More targets
212TARGETS=
213%ifarch ia64
214TARGETS=i686-linux
215%endif
501f7670 216# uhm?
3cc4a1c4
AM
217%ifarch %{ix86}
218TARGETS=x86_64-linux
219%endif
220%ifarch sparc
221TARGETS=sparc64-linux
222%endif
501f7670 223%{?addtargets:TARGETS="%{addtargets}"}
3cc4a1c4 224
bc650d31 225cp -f /usr/share/automake/config.* .
e1177480 226CFLAGS="%{rpmcflags}"; export CFLAGS
1530b74b 227CXXFLAGS="%{rpmcxxflags}"; export CXXFLAGS
bc650d31 228CC="%{__cc}"; export CC
1530b74b 229CXX="%{__cxx}"; export CXX
c5304b32 230%ifarch sparc
8a52c890 231sparc32 \
232%endif
1e19fd88 233./configure %{_target_platform} \
1e19fd88 234 --disable-debug \
ae41e561 235 --disable-werror \
fb2b373b
JB
236 --enable-build-warnings=,-Wno-missing-prototypes \
237 --enable-shared \
1e19fd88 238 --prefix=%{_prefix} \
a74f9904 239 --libdir=%{_libdir} \
1e19fd88 240 --infodir=%{_infodir} \
c1bfddd6 241 --mandir=%{_mandir} \
437f76a6 242 --with-tooldir=%{_prefix} \
501f7670 243 %{!?with_allarchs:`[ -n "${TARGETS}" ] && echo "--enable-targets=${TARGETS}"`} \
c446d5a3 244%ifarch sparc
ab151dc7 245 --enable-64-bit-bfd \
501f7670
JB
246%else
247 %{?with_allarchs:--enable-64-bit-bfd} \
c446d5a3 248%endif
9c6ae50d 249 %{?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} \
41248ac5 250%if %{with gold}
d3e3464a 251 --enable-gold=both/ld
41248ac5
JB
252%else
253 --disable-gold
254%endif
58a689fe 255
437f76a6 256%{__make}
1928db7d 257
258%install
259rm -rf $RPM_BUILD_ROOT
58a689fe 260
437f76a6 261%{__make} install \
262 DESTDIR=$RPM_BUILD_ROOT
1928db7d 263
437f76a6 264rm $RPM_BUILD_ROOT%{_infodir}/standards.info*
ac97d311 265
3f010e6c 266# remove these man pages unless we cross-build for win*/netware platforms.
267# however, this should be done in Makefiles.
437f76a6 268rm $RPM_BUILD_ROOT%{_mandir}/man1/{dlltool,nlmconv,windres}.1
3f010e6c 269
bc650d31 270bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
3f010e6c 271
8d8a6b9c 272install include/libiberty.h $RPM_BUILD_ROOT%{_includedir}
7fc7d1a5 273install libiberty/pic/libiberty.a $RPM_BUILD_ROOT%{_libdir}
1928db7d 274
3aee031d
JB
275# remove evil -L pointing inside builder's home
276perl -pi -e 's@-L[^ ]*/pic @@g' $RPM_BUILD_ROOT%{_libdir}/libbfd.la
277
16885b7f 278[ -x $RPM_BUILD_ROOT%{_bindir}/ld.bfd ] || ln $RPM_BUILD_ROOT%{_bindir}/ld{,.bfd}
279
ab025e6a
ER
280rm -f $RPM_BUILD_ROOT%{_infodir}/dir
281
49b19461
JB
282%find_lang bfd
283%find_lang binutils
284%find_lang gas
285%find_lang gprof
9c6ae50d 286touch ld.lang
49b19461 287%find_lang ld
41248ac5 288%if %{with gold}
9dedc7ea 289%find_lang gold
41248ac5 290%endif
49b19461 291%find_lang opcodes
632dfa0c 292cat bfd.lang opcodes.lang > %{name}-libs.lang
41248ac5 293cat gas.lang gprof.lang ld.lang >> %{name}.lang
bc650d31 294
1928db7d 295%clean
296rm -rf $RPM_BUILD_ROOT
297
bfa6591a 298%post -p /sbin/postshell
c3790715 299-/usr/sbin/fix-info-dir -c %{_infodir}
1928db7d 300
bfa6591a 301%postun -p /sbin/postshell
c3790715 302-/usr/sbin/fix-info-dir -c %{_infodir}
49b19461
JB
303
304%post libs -p /sbin/ldconfig
305%postun libs -p /sbin/ldconfig
306
bfa6591a 307%post devel -p /sbin/postshell
5ff961d5 308-/usr/sbin/fix-info-dir -c %{_infodir}
49b19461 309
bfa6591a 310%postun devel -p /sbin/postshell
5ff961d5 311-/usr/sbin/fix-info-dir -c %{_infodir}
1928db7d 312
bc650d31 313%files -f %{name}.lang
58a689fe 314%defattr(644,root,root,755)
dc044c3b 315%doc README
41248ac5
JB
316%attr(755,root,root) %{_bindir}/addr2line
317%attr(755,root,root) %{_bindir}/ar
318%attr(755,root,root) %{_bindir}/as
319%attr(755,root,root) %{_bindir}/c++filt
320%attr(755,root,root) %{_bindir}/elfedit
321%attr(755,root,root) %{_bindir}/gprof
322%attr(755,root,root) %{_bindir}/ld
323%attr(755,root,root) %{_bindir}/ld.bfd
324%attr(755,root,root) %{_bindir}/nm
325%attr(755,root,root) %{_bindir}/objcopy
326%attr(755,root,root) %{_bindir}/objdump
327%attr(755,root,root) %{_bindir}/ranlib
328%attr(755,root,root) %{_bindir}/readelf
329%attr(755,root,root) %{_bindir}/size
330%attr(755,root,root) %{_bindir}/strings
331%attr(755,root,root) %{_bindir}/strip
49b19461
JB
332%{_infodir}/as.info*
333%{_infodir}/binutils.info*
334%{_infodir}/configure.info*
335%{_infodir}/gprof.info*
336%{_infodir}/ld.info*
9c6ae50d 337%{_prefix}/lib/ldscripts
e85b7701 338%{_mandir}/man1/*
3f010e6c 339%lang(cs) %{_mandir}/cs/man1/*
340%lang(de) %{_mandir}/de/man1/*
341%lang(es) %{_mandir}/es/man1/*
342%lang(fi) %{_mandir}/fi/man1/*
343%lang(fr) %{_mandir}/fr/man1/*
344%lang(hu) %{_mandir}/hu/man1/*
345%lang(ja) %{_mandir}/ja/man1/*
346%lang(pl) %{_mandir}/pl/man1/*
1928db7d 347
49b19461
JB
348%files libs -f %{name}-libs.lang
349%defattr(644,root,root,755)
350%attr(755,root,root) %{_libdir}/libbfd-*.so
351%attr(755,root,root) %{_libdir}/libopcodes-*.so
352
353%files devel
354%defattr(644,root,root,755)
355%attr(755,root,root) %{_libdir}/libbfd.so
356%attr(755,root,root) %{_libdir}/libopcodes.so
357%{_libdir}/libbfd.la
358%{_libdir}/libopcodes.la
359%{_libdir}/libiberty.a
41248ac5
JB
360%{_includedir}/ansidecl.h
361%{_includedir}/bfd.h
362%{_includedir}/bfdlink.h
363%{_includedir}/dis-asm.h
364%{_includedir}/libiberty.h
365%{_includedir}/symcat.h
49b19461
JB
366%{_infodir}/bfd.info*
367
a806649c 368%files static
8d8a6b9c 369%defattr(644,root,root,755)
49b19461
JB
370%{_libdir}/libbfd.a
371%{_libdir}/libopcodes.a
2859501d
JB
372
373%files gasp
374%defattr(644,root,root,755)
375%attr(755,root,root) %{_bindir}/gasp
376%{_infodir}/gasp.info*
41248ac5
JB
377
378%if %{with gold}
379%files gold -f gold.lang
380%defattr(644,root,root,755)
381%doc gold/{ChangeLog,README,TODO}
382%attr(755,root,root) %{_bindir}/ld.gold
383%endif
This page took 0.094624 seconds and 4 git commands to generate.