1
%define cross_compile 0
2
%{?_with_crosscompile: %{expand: %%define cross_compile 1}}
3
%{!?_with_crosscompile: %{expand: %%define _host %{_target_platform}}}
4
%{!?_with_crosscompile: %{expand: %%define _build %{_target_platform}}}
6
# Define `coff_target' as coff if you want to add i386-coff instead of
9
%{?_with_coff: %{expand: %%define coff_target coff}}
11
%{?_with_all: %{expand: %%define all_targets 1}}
13
Summary: A GNU collection of binary utilities.
18
Group: Development/Tools
19
URL: http://sources.redhat.com/binutils
20
Source: http://www.kernel.org/pub/linux/devel/binutils/binutils-%{version}.tar.gz
21
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root
22
Prereq: /sbin/install-info
25
Binutils is a collection of binary utilities, including ar (for creating,
26
modifying and extracting from archives), nm (for listing symbols from
27
object files), objcopy (for copying and translating object files),
28
objdump (for displaying information from object files), ranlib (for
29
generating an index for the contents of an archive), size (for listing
30
the section sizes of an object or archive file), strings (for listing
31
printable strings from files), strip (for discarding symbols), c++filt
32
(a filter for demangling encoded C++ symbols), and addr2line (for
33
converting addresses to file and line).
38
# Apply additional Linux patches.
39
/bin/sh patches/README
42
if [ -x /usr/bin/getconf ] ; then
43
NRPROC=$(/usr/bin/getconf _NPROCESSORS_ONLN)
44
if [ $NRPROC -eq 0 ] ; then
50
echo "MAKE=make -j $NRPROC" > makefile
51
echo "include Makefile" >> makefile
55
ADDITIONAL_TARGETS="--enable-targets=alpha-linux,arm-linux,cris-linux,hppa-linux,i386-linux,x86_64-linux,ia64-linux,m68k-linux,mips-linux,mips64-linux,mips64el-linux,mipsel-linux,ppc-linux,ppc64-linux,s390-linux,s390x-linux,sh-linux,sparc-linux,sparc64-linux,i386-linuxaout"
58
ADDITIONAL_TARGETS="--enable-targets=i386-linuxaout,i386-%{coff_target}"
61
ADDITIONAL_TARGETS="--enable-targets=i386-linux"
63
%ifarch sparc ppc s390
64
ADDITIONAL_TARGETS="--enable-64-bit-bfd"
69
# Binutils come with its own custom libtool
70
%define __libtoolize echo
75
RANLIB=%{__ranlib}; export RANLIB
76
%configure --enable-shared $ADDITIONAL_TARGETS
79
make headers -C bfd CFLAGS=-O
80
make tooldir=%{_prefix} all info CFLAGS_FOR_BUILD="-O -pipe"
83
make tooldir=%{_prefix} all info
87
rm -rf ${RPM_BUILD_ROOT}
88
mkdir -p ${RPM_BUILD_ROOT}%{_prefix}
89
# Works for both rpm 3.0 and 4.0.
90
make prefix=${RPM_BUILD_ROOT}%{_prefix} \
91
exec_prefix=$RPM_BUILD_ROOT%{_prefix} \
92
tooldir=$RPM_BUILD_ROOT%{_prefix} \
93
infodir=${RPM_BUILD_ROOT}%{_infodir} \
94
mandir=${RPM_BUILD_ROOT}%{_mandir} \
95
includedir=$RPM_BUILD_ROOT%{_prefix}/include \
96
libdir=$RPM_BUILD_ROOT%{_prefix}/lib \
97
bindir=$RPM_BUILD_ROOT%{_prefix}/bin \
99
#%makeinstall tooldir=${RPM_BUILD_ROOT}%{_prefix}
100
#make prefix=${RPM_BUILD_ROOT}%{_prefix} infodir=${RPM_BUILD_ROOT}%{_infodir} install-info
101
strip ${RPM_BUILD_ROOT}%{_prefix}/bin/*
102
gzip -q9f ${RPM_BUILD_ROOT}%{_infodir}/*.info*
104
#install -m 644 libiberty/libiberty.a ${RPM_BUILD_ROOT}%{_prefix}/lib
105
install -m 644 include/libiberty.h ${RPM_BUILD_ROOT}%{_prefix}/include
107
chmod +x ${RPM_BUILD_ROOT}%{_prefix}/lib/lib*.so*
109
rm -f ${RPM_BUILD_ROOT}%{_prefix}/lib/lib{bfd,opcodes}.{la,so}
110
rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir
111
rm -f %{buildroot}%{_mandir}/man1/{dlltool,nlmconv,windres}*
114
rm -rf ${RPM_BUILD_ROOT}
118
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz
119
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
120
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
121
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
122
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
123
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/standards.info.gz
127
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
128
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
129
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
130
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
131
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
132
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/standards.info.gz
135
%postun -p /sbin/ldconfig
138
%defattr(-,root,root)
143
%{_prefix}/lib/ldscripts/*
146
%{_datadir}/locale/*/LC_MESSAGES/*.mo