2013-02-28 16:37:27 +11:00

101 lines
2.8 KiB
INI

#
# Binutils 2.xx Version 1.
#
# This configuration file configure's, make's and install's binutils.
#
%include %{_configdir}/checks.cfg
Name: %{_target}-binutils-%{binutils_version}-%{release}
Summary: Binutils v%{binutils_version} for target %{_target} on host %{_host}
Version: %{binutils_version}
Release: %{release}
URL: http://sources.redhat.com/binutils
BuildRoot: %{_tmppath}/%{name}-root-%(%{__id_u} -n)
#
# Source
#
%ifn %{defined Source0}
Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_version}.tar.bz2
VersionControl0: cvs -z 9 -d :pserver:anoncvs@sourceware.org:/cvs/src co binutils
%endif
#
# Prepare the source code.
#
%prep
%setup -q -c -n %{name}-%{version}
cd binutils-%{binutils_version}
%{?patch0:%patch0 -p1}
%{?patch1:%patch1 -p1}
%{?patch2:%patch2 -p1}
%{?patch3:%patch3 -p1}
%{?patch4:%patch4 -p1}
%{?patch5:%patch5 -p1}
%{?patch6:%patch6 -p1}
%{?patch7:%patch7 -p1}
%{?patch8:%patch8 -p1}
%{?patch9:%patch9 -p1}
cd ..
%build
export PATH="%{_bindir}:${PATH}"
mkdir -p build
cd build
%{?host_force_32bit:HOST_FORCE_32BIT="-m32"}
%if "%{_build}" != "%{_host}"
CFLAGS_FOR_BUILD="-g -O2 -Wall ${HOST_FORCE_32BIT}" \
%endif
CFLAGS="$SB_OPT_FLAGS" \
../binutils-%{binutils_version}/configure \
--build=%{_build} --host=%{_host} \
--target=%{_target} \
--verbose --disable-nls \
%{?with_deterministic_archives:--enable-deterministic-archives} \
--without-included-gettext \
--disable-win32-registry \
--disable-werror \
--prefix=%{_prefix} --bindir=%{_bindir} \
--exec-prefix=%{_exec_prefix} \
--includedir=%{_includedir} --libdir=%{_libdir} \
--mandir=%{_mandir} --infodir=%{_infodir}
%{__make} %{?_smp_mflags} all
cd ..
%install
export PATH="%{_bindir}:${PATH}"
rm -rf $SB_BUILD_ROOT
cd build
%{__make} DESTDIR=$SB_BUILD_ROOT install
# Dropped in FSF-binutils-2.9.5, but Cygwin still ships it.
rm -rf $SB_BUILD_ROOT%{_infodir}/configure.info*
rm -f $SB_BUILD_ROOT%{_infodir}/dir
touch $SB_BUILD_ROOT%{_infodir}/dir
# binutils does not install share/locale, however it uses it
mkdir -p $SB_BUILD_ROOT%{_prefix}/share/locale
# We don't ship host files
rm -f ${SB_BUILD_ROOT}%{_libdir}/libiberty*
# manpages without corresponding tools
if test ! -f ${SB_BUILD_ROOT}%{_bindir}/%{_target}-dlltool%{_exeext}; then
rm -f ${SB_BUILD_ROOT}%{_mandir}/man1/%{_target}-dlltool*
fi
if test ! -f ${SB_BUILD_ROOT}%{_bindir}/%{_target}-nlmconv%{_exeext}; then
rm -f ${SB_BUILD_ROOT}%{_mandir}/man1/%{_target}-nlmconv*
fi
if test ! -f ${SB_BUILD_ROOT}%{_bindir}/%{_target}-windres%{_exeext}; then
rm -f ${SB_BUILD_ROOT}%{_mandir}/man1/%{_target}-windres*
fi
if test ! -f ${SB_BUILD_ROOT}%{_bindir}/%{_target}-windmc%{_exeext}; then
rm -f ${SB_BUILD_ROOT}%{_mandir}/man1/%{_target}-windmc*
fi
cd ..