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