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
15 Group: Development/Tools
16 Source0: https://ftp.gnu.org/gnu/binutils/binutils-%{version}.tar.lz
17 # Source0-md5: c1526faed7197b4e79dfe04eded7fc11
18 Source1: crossarm-lpc2104.ld
19 Source2: crossarm-lpc2106.ld
20 URL: http://sources.redhat.com/binutils/
21 BuildRequires: automake
26 BuildRequires: tar >= 1:1.22
27 BuildRequires: zlib-devel
28 %{?with_gnueabi:Provides: crossarm-binutils(gnueabi)}
30 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32 %define target arm-linux%{?with_gnueabi:-gnueabi}
33 %define arch %{_prefix}/%{target}
36 Binutils is a collection of binary utilities, including:
37 - ar - create, modify and extract from archives,
38 - nm - lists symbols from object files,
39 - objcopy - copy and translate object files,
40 - objdump - display information from object files,
41 - ranlib - generate an index for the contents of an archive,
42 - size - list the section sizes of an object or archive file,
43 - strings - list printable strings from files,
44 - strip - discard symbols,
45 - c++filt - a filter for demangling encoded C++ symbols,
46 - addr2line - convert addresses to file and line,
47 - nlmconv - convert object code into an NLM.
49 This package contains the cross version for ARM.
51 %description -l pl.UTF-8
52 Pakiet binutils zawiera zestaw narzędzi umożliwiających kompilację
53 programów. Znajdują się tutaj między innymi assembler, konsolidator
54 (linker), a także inne narzędzia do manipulowania binarnymi plikami
55 programów i bibliotek.
57 Ten pakiet zawiera wersję skrośną generującą kod dla ARM.
60 %setup -q -n binutils-%{version}
64 # ldscripts won't be generated properly if SHELL is not bash...
65 CFLAGS="%{rpmcflags} -fno-strict-aliasing" \
66 LDFLAGS="%{rpmldflags}" \
67 CONFIG_SHELL="/bin/bash" \
70 --disable-silent-rules \
75 --infodir=%{_infodir} \
77 --with-sysroot=%{_libdir}/%{target} \
78 --with-debuginfod=no \
89 rm -rf $RPM_BUILD_ROOT
90 install -d $RPM_BUILD_ROOT%{_prefix}
93 prefix=$RPM_BUILD_ROOT%{_prefix} \
94 mandir=$RPM_BUILD_ROOT%{_mandir} \
95 infodir=$RPM_BUILD_ROOT%{_infodir} \
96 libdir=$RPM_BUILD_ROOT%{_libdir}
98 install %{SOURCE1} $RPM_BUILD_ROOT%{arch}/lib/ldscripts/lpc2104.ld
99 install %{SOURCE2} $RPM_BUILD_ROOT%{arch}/lib/ldscripts/lpc2106.ld
101 # remove these man pages unless we cross-build for win*/netware platforms.
102 # however, this should be done in Makefiles.
103 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/{*dlltool,*nlmconv,*windres}.1
106 rm -rf $RPM_BUILD_ROOT
109 %defattr(644,root,root,755)
111 %attr(755,root,root) %{_bindir}/%{target}-*
114 %attr(755,root,root) %{arch}/bin/*
117 %{arch}/lib/ldscripts/*
118 %{_mandir}/man?/%{target}-*