3 Summary: Cross NaCL GNU binary utility development utilities - binutils
4 Name: crossnacl-binutils
6 Release: 0.git%{gitver}.%{rel}
8 Group: Development/Tools
9 Source0: nacl-binutils-%{version}-git%{gitver}.tar.xz
10 # Source0-md5: 62c1372814f7873be066fe316fbe1c9c
11 Source1: get-source.sh
12 Patch0: binutils-perl.patch
13 URL: https://chromium.googlesource.com/native_client/nacl-binutils/
18 BuildRequires: perl-tools-pod
19 BuildRequires: python-modules
20 BuildRequires: tar >= 1:1.22
22 ExclusiveArch: %{ix86} %{x8664}
23 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
25 %define target x86_64-nacl
26 %define archprefix %{_prefix}/%{target}
27 %define archbindir %{archprefix}/bin
28 %define archlibdir %{archprefix}/lib
31 Binutils is a collection of binary utilities, including:
32 - ar - create, modify and extract from archives,
33 - nm - lists symbols from object files,
34 - objcopy - copy and translate object files,
35 - objdump - display information from object files,
36 - ranlib - generate an index for the contents of an archive,
37 - size - list the section sizes of an object or archive file,
38 - strings - list printable strings from files,
39 - strip - discard symbols,
40 - c++filt - a filter for demangling encoded C++ symbols,
41 - addr2line - convert addresses to file and line.
43 This package contains the cross version for NaCL.
45 %description -l pl.UTF-8
46 Pakiet binutils zawiera zestaw narzędzi umożliwiających kompilację
47 programów. Znajdują się tutaj między innymi assembler, konsolidator
48 (linker), a także inne narzędzia do manipulowania binarnymi plikami
49 programów i bibliotek.
51 Ten pakiet zawiera wersję skrośną generującą kod dla NaCl.
54 %setup -q -n nacl-binutils-%{version}-git%{gitver}
58 # ldscripts won't be generated properly if SHELL is not bash...
59 CFLAGS="%{rpmcflags} -fno-strict-aliasing" \
60 LDFLAGS="%{rpmldflags}" \
61 CONFIG_SHELL="/bin/bash" \
63 --build=%{_target_platform} \
64 --host=%{_target_platform} \
69 --infodir=%{_infodir} \
70 --enable-targets=%{_host} \
71 %ifarch %{ix86} sparc sparc64 ppc ppc64 s390 sh %{arm}
84 rm -rf $RPM_BUILD_ROOT
85 install -d $RPM_BUILD_ROOT%{_prefix}
87 prefix=$RPM_BUILD_ROOT%{_prefix} \
88 mandir=$RPM_BUILD_ROOT%{_mandir} \
89 infodir=$RPM_BUILD_ROOT%{_infodir} \
90 libdir=$RPM_BUILD_ROOT%{_libdir}
92 # fix copies to be hardlinks (maybe should symlink in the future)
93 findup -m $RPM_BUILD_ROOT
95 # remove these man pages unless we cross-build for win*/netware platforms.
96 # however, this should be done in Makefiles.
97 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{*dlltool,*nlmconv,*windmc,*windres}.1
99 # packaged in base binutils
100 %{__rm} -r $RPM_BUILD_ROOT%{_infodir}
103 rm -rf $RPM_BUILD_ROOT
106 %defattr(644,root,root,755)
107 %doc README binutils/NEWS
108 %attr(755,root,root) %{_bindir}/%{target}-addr2line
109 %attr(755,root,root) %{_bindir}/%{target}-ar
110 %attr(755,root,root) %{_bindir}/%{target}-as
111 %attr(755,root,root) %{_bindir}/%{target}-c++filt
112 %attr(755,root,root) %{_bindir}/%{target}-elfedit
113 %attr(755,root,root) %{_bindir}/%{target}-gprof
114 %attr(755,root,root) %{_bindir}/%{target}-ld
115 %attr(755,root,root) %{_bindir}/%{target}-ld.bfd
116 %attr(755,root,root) %{_bindir}/%{target}-nm
117 %attr(755,root,root) %{_bindir}/%{target}-objcopy
118 %attr(755,root,root) %{_bindir}/%{target}-objdump
119 %attr(755,root,root) %{_bindir}/%{target}-ranlib
120 %attr(755,root,root) %{_bindir}/%{target}-readelf
121 %attr(755,root,root) %{_bindir}/%{target}-size
122 %attr(755,root,root) %{_bindir}/%{target}-strings
123 %attr(755,root,root) %{_bindir}/%{target}-strip
126 %attr(755,root,root) %{archbindir}/ar
127 %attr(755,root,root) %{archbindir}/as
128 %attr(755,root,root) %{archbindir}/ld
129 %attr(755,root,root) %{archbindir}/ld.bfd
130 %attr(755,root,root) %{archbindir}/nm
131 %attr(755,root,root) %{archbindir}/objcopy
132 %attr(755,root,root) %{archbindir}/objdump
133 %attr(755,root,root) %{archbindir}/ranlib
134 %attr(755,root,root) %{archbindir}/strip
136 %{archlibdir}/ldscripts
137 %{_mandir}/man1/%{target}-addr2line.1*
138 %{_mandir}/man1/%{target}-ar.1*
139 %{_mandir}/man1/%{target}-as.1*
140 %{_mandir}/man1/%{target}-c++filt.1*
141 %{_mandir}/man1/%{target}-elfedit.1*
142 %{_mandir}/man1/%{target}-gprof.1*
143 %{_mandir}/man1/%{target}-ld.1*
144 %{_mandir}/man1/%{target}-nm.1*
145 %{_mandir}/man1/%{target}-objcopy.1*
146 %{_mandir}/man1/%{target}-objdump.1*
147 %{_mandir}/man1/%{target}-ranlib.1*
148 %{_mandir}/man1/%{target}-readelf.1*
149 %{_mandir}/man1/%{target}-size.1*
150 %{_mandir}/man1/%{target}-strings.1*
151 %{_mandir}/man1/%{target}-strip.1*