22 %define host_arch %{ARCH}-tizen-linux-gnu%{?ABI}
24 %define target_cpu %{?cross}%{!?cross:%{ARCH}}
25 %define target_abi %{?cross:%{?armv7l:eabi}%{?armv7hl:eabihf}}%{!?cross:%{?ABI}}
27 %define target_arch %{target_cpu}-tizen-linux-gnu%{?target_abi}
29 Name: binutils%{?cross:-%{cross}}
30 BuildRequires: makeinfo
33 BuildRequires: ncurses-devel
34 BuildRequires: zlib-devel
35 BuildRequires: gcc-c++
38 Url: http://www.gnu.org/software/binutils/
40 License: GFDL-1.3 and GPL-3.0+
41 Group: Development/Building
42 %{?cross:ExcludeArch: %{cross}}
43 Source: binutils-%{version}.tar.bz2
44 Source1001: binutils.manifest
47 C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib,
48 size, strings, and strip. These utilities are needed whenever you want
49 to compile a program or kernel.
53 Summary: The gold linker
55 Group: Development/Building
58 gold is an ELF linker. It is intended to have complete support for ELF
59 and to run as fast as possible on modern systems. For normal use it is
60 a drop-in replacement for the older GNU linker.
64 Summary: GNU binutils (BFD development files)
66 Group: Development/Building
70 This package includes header files and static libraries necessary to
71 build programs which use the GNU BFD library, which is part of
76 %setup -q -n binutils-%{version}
81 RPM_OPT_FLAGS="$RPM_OPT_FLAGS -Wno-error %{?cross:-DIGNORE_BROKEN_PLUGINS}"
82 export CFLAGS="${RPM_OPT_FLAGS}"
83 export CXXFLAGS="${RPM_OPT_FLAGS}"
89 --prefix=%{_prefix} --libdir=%{_libdir} \
90 --infodir=%{_infodir} --mandir=%{_mandir} \
91 --with-bugurl=http://bugs.tizen.org/ \
94 --with-separate-debug-dir=%{_prefix}/lib/debug \
96 --build=%{host_arch} --target=%{target_arch} \
99 --enable-targets=%{target_arch} \
100 --enable-64-bit-bfd \
103 --enable-targets=aarch64-tizen-linux,armv7l-tizen-linux,armv7hl-tizen-linux,armv8l-tizen-linux,i686-tizen-linux,x86_64-tizen-linux \
114 make DESTDIR=$RPM_BUILD_ROOT install
116 # Copy instead of hardlinks
117 for binary in ar as ld{,.bfd,.gold} nm obj{dump,copy} ranlib strip
119 rm %{buildroot}%{_prefix}/%{target_arch}/bin/$binary
121 cp %{buildroot}%{_bindir}/$binary %{buildroot}%{_prefix}/%{target_arch}/bin/$binary
124 cp %{buildroot}%{_bindir}/%{target_arch}-$binary %{buildroot}%{_prefix}/%{target_arch}/bin/$binary
128 install -m 644 libiberty/pic/libiberty.a %{buildroot}%{_prefix}/%{_lib}
129 install -m 644 ../include/libiberty.h %{buildroot}%{_prefix}/include
131 # Remove unwanted files to shut up rpm
133 rm -rf %{buildroot}%{_bindir}/gcore
134 rm -rf %{buildroot}%{_bindir}/gdb*
135 rm -rf %{buildroot}%{_datadir}/gdb
136 rm -rf %{buildroot}%{_libdir}/lib{bfd,opcodes,inproctrace}.{so,la}
138 rm -rf %{buildroot}%{_prefix}/%{target_arch}/lib/ldscripts
139 rm -rf %{buildroot}%{_prefix}/%{host_arch}
140 rm -rf %{buildroot}%{_includedir}
141 rm -rf %{buildroot}%{_prefix}/lib*
142 rm -rf %{buildroot}%{_datadir}
146 %manifest binutils.manifest
147 %defattr(-,root,root)
149 %{_prefix}/%{target_arch}/bin/*
151 %exclude %{_bindir}/ld.gold
152 %exclude %{_prefix}/%{target_arch}/bin/ld.gold
154 %{_prefix}/%{host_arch}/lib/ldscripts
157 %manifest binutils.manifest
158 %defattr(-,root,root)
160 %{_includedir}/gdb/*.h
164 %manifest binutils.manifest
165 %defattr(-,root,root)
167 %{_prefix}/%{target_arch}/bin/ld.gold