mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
147 lines
3.9 KiB
Plaintext
147 lines
3.9 KiB
Plaintext
|
|
%define binutils_version @binutils_version@
|
|
%define binutils_target @target_alias@
|
|
|
|
Name: @rpmprefix@%{binutils_target}-binutils
|
|
Summary: Binutils for target %{binutils_target}
|
|
Group: %{rpmgroup}
|
|
Version: %{binutils_version}
|
|
Release: @Release@
|
|
License: GPL/LGPL
|
|
URL: http://sources.redhat.com/binutils
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
|
|
|
%if "%{_prefix}" != "/usr"
|
|
# Required for building the infos
|
|
BuildRequires: /sbin/install-info
|
|
BuildRequires: texinfo >= 4.2
|
|
%endif
|
|
BuildRequires: flex
|
|
|
|
Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-%{binutils_version}@binutils_suffix@
|
|
@PATCH1@
|
|
|
|
#
|
|
# The original sources are not included in the source RPM.
|
|
# If we included them, then the source RPMs for each target
|
|
# would duplicate MBs of source unnecessarily. This is
|
|
# a duplication of over 30 MBs of source for each of
|
|
# the more than 10 targets it is possible to build.
|
|
#
|
|
# You can get them yourself from the Internet and copy them to
|
|
# your /usr/src/redhat/SOURCES directory ($RPM_SOURCE_DIR).
|
|
# Or you can try the ftp options of rpm :-)
|
|
#
|
|
%{?!_with_sources:NoSource: 0}
|
|
|
|
# %description
|
|
#
|
|
# RTEMS is an open source operating system for embedded systems.
|
|
#
|
|
# This is binutils sources with patches for RTEMS.
|
|
|
|
%prep
|
|
%setup -q -c -T -n %{name}-%{version}
|
|
%setup -q -D -T -n %{name}-%{version} -a0
|
|
|
|
%if "%{_prefix}" != "/usr"
|
|
# Extract %%__os_install_post into os_install_post~
|
|
cat << \EOF >> os_install_post~
|
|
%__os_install_post
|
|
EOF
|
|
|
|
# Generate customized brp-*scripts
|
|
cat os_install_post~ | while read a x y; do
|
|
case $a in
|
|
%if "%{_prefix}" != "/usr"
|
|
# Fix up brp-compress to handle %%_prefix != /usr
|
|
*/brp-compress*)
|
|
b=$(basename $a)
|
|
sed -e 's,\./usr/,./%{_prefix},' < $a > $b
|
|
chmod a+x $b
|
|
;;
|
|
%endif
|
|
esac
|
|
done
|
|
|
|
sed -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \
|
|
< os_install_post~ > os_install_post
|
|
%define __os_install_post . ./os_install_post
|
|
%endif
|
|
|
|
cd binutils-%{version}
|
|
%{?PATCH0:%patch0 -p1}
|
|
cd ..
|
|
|
|
%build
|
|
mkdir -p build
|
|
cd build
|
|
CFLAGS="$RPM_OPT_FLAGS" \
|
|
../binutils-%{binutils_version}/configure \
|
|
--build=%_build --host=%_host \
|
|
--target=%{binutils_target} \
|
|
--verbose --disable-nls \
|
|
--prefix=%{_prefix} --bindir=%{_bindir} \
|
|
--includedir=%{_includedir} --libdir=%{_libdir} \
|
|
--mandir=%{_mandir} --infodir=%{_infodir} \
|
|
|
|
make all
|
|
%if "%{_prefix}" != "/usr"
|
|
make info
|
|
%endif
|
|
cd ..
|
|
|
|
%install
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
cd build
|
|
make prefix=$RPM_BUILD_ROOT%{_prefix} \
|
|
bindir=$RPM_BUILD_ROOT%{_bindir} \
|
|
includedir=$RPM_BUILD_ROOT%{_includedir} \
|
|
libdir=$RPM_BUILD_ROOT%{_libdir} \
|
|
infodir=$RPM_BUILD_ROOT%{_infodir} \
|
|
mandir=$RPM_BUILD_ROOT%{_mandir} \
|
|
install
|
|
|
|
%if "%{_prefix}" != "/usr"
|
|
make prefix=$RPM_BUILD_ROOT%{_prefix} \
|
|
bindir=$RPM_BUILD_ROOT%{_bindir} \
|
|
includedir=$RPM_BUILD_ROOT%{_includedir} \
|
|
libdir=$RPM_BUILD_ROOT%{_libdir} \
|
|
infodir=$RPM_BUILD_ROOT%{_infodir} \
|
|
mandir=$RPM_BUILD_ROOT%{_mandir} \
|
|
install-info
|
|
%endif
|
|
|
|
%if "%{_prefix}" == "/usr"
|
|
# Conflict with a native binutils' infos
|
|
rm -rf $RPM_BUILD_ROOT%{_infodir}
|
|
%else
|
|
%if "%{binutils_version}" < "2.9.5"
|
|
rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info*
|
|
%endif
|
|
|
|
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
|
|
touch $RPM_BUILD_ROOT%{_infodir}/dir
|
|
|
|
# binutils does not install share/locale, however it uses it
|
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/locale
|
|
%endif
|
|
|
|
# We don't ship host files
|
|
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty*
|
|
|
|
# manpages without corresponding tools
|
|
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/%{binutils_target}-dlltool%{_exeext}; then
|
|
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/%{binutils_target}-dlltool*
|
|
fi
|
|
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/%{binutils_target}-nlmconv%{_exeext}; then
|
|
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/%{binutils_target}-nlmconv*
|
|
fi
|
|
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/%{binutils_target}-windres%{_exeext}; then
|
|
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/%{binutils_target}-windres*
|
|
fi
|
|
|
|
cd ..
|
|
|