3 %bcond_without gnueabi # build without GNU Embedded ABI support
5 Summary: Cross ARM GNU binary utility development utilities - binutils
6 Summary(es.UTF-8): Utilitarios para desarrollo de binarios de la GNU - ARM binutils
7 Summary(fr.UTF-8): Utilitaires de développement binaire de GNU - ARM binutils
8 Summary(pl.UTF-8): Skrośne narzędzia programistyczne GNU dla ARM - binutils
9 Summary(pt_BR.UTF-8): Utilitários para desenvolvimento de binários da GNU - ARM binutils
10 Summary(tr.UTF-8): GNU geliştirme araçları - ARM binutils
11 Name: crossarm-binutils
13 Release: 1%{?with_gnueabi:gnueabi}
15 Group: Development/Tools
16 Source0: ftp://ftp.kernel.org/pub/linux/devel/binutils/binutils-%{version}.tar.bz2
17 # Source0-md5: ba4647b164a4700ca62e6eeb76cae4fc
18 Source1: crossarm-lpc2104.ld
19 Source2: crossarm-lpc2106.ld
20 URL: http://sources.redhat.com/binutils/
21 BuildRequires: automake
25 %{?with_gnueabi:Provides: crossarm-binutils(gnueabi)}
27 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
29 %define target arm-linux%{?with_gnueabi:-gnueabi}
30 %define arch %{_prefix}/%{target}
33 Binutils is a collection of binary utilities, including:
34 - ar - create, modify and extract from archives,
35 - nm - lists symbols from object files,
36 - objcopy - copy and translate object files,
37 - objdump - display information from object files,
38 - ranlib - generate an index for the contents of an archive,
39 - size - list the section sizes of an object or archive file,
40 - strings - list printable strings from files,
41 - strip - discard symbols,
42 - c++filt - a filter for demangling encoded C++ symbols,
43 - addr2line - convert addresses to file and line,
44 - nlmconv - convert object code into an NLM.
46 This package contains the cross version for ARM.
48 %description -l pl.UTF-8
49 Pakiet binutils zawiera zestaw narzędzi umożliwiających kompilację
50 programów. Znajdują się tutaj między innymi assembler, konsolidator
51 (linker), a także inne narzędzia do manipulowania binarnymi plikami
52 programów i bibliotek.
54 Ten pakiet zawiera wersję skrośną generującą kod dla ARM.
57 %setup -q -n binutils-%{version}
60 cp -f /usr/share/automake/config.sub .
62 # ldscripts won't be generated properly if SHELL is not bash...
63 CFLAGS="%{rpmcflags} -fno-strict-aliasing" \
64 LDFLAGS="%{rpmldflags}" \
65 CONFIG_SHELL="/bin/bash" \
72 --infodir=%{_infodir} \
74 --with-sysroot=%{_libdir}/%{target}
81 rm -rf $RPM_BUILD_ROOT
82 install -d $RPM_BUILD_ROOT%{_prefix}
85 prefix=$RPM_BUILD_ROOT%{_prefix} \
86 mandir=$RPM_BUILD_ROOT%{_mandir} \
87 infodir=$RPM_BUILD_ROOT%{_infodir} \
88 libdir=$RPM_BUILD_ROOT%{_libdir}
90 install %{SOURCE1} $RPM_BUILD_ROOT%{arch}/lib/ldscripts/lpc2104.ld
91 install %{SOURCE2} $RPM_BUILD_ROOT%{arch}/lib/ldscripts/lpc2106.ld
93 # remove these man pages unless we cross-build for win*/netware platforms.
94 # however, this should be done in Makefiles.
95 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/{*dlltool,*nlmconv,*windres}.1
98 rm -rf $RPM_BUILD_ROOT
101 %defattr(644,root,root,755)
103 %attr(755,root,root) %{_bindir}/%{target}-*
106 %attr(755,root,root) %{arch}/bin/*
109 %{arch}/lib/ldscripts/*
110 %{_mandir}/man?/%{target}-*