summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2013-06-05 12:30:20 +0100
committerDavid Howells <dhowells@redhat.com>2013-06-05 13:41:53 +0100
commited831d0361ca82944da808e550103d526fa94a2f (patch)
tree0b2442947237b5b779ed9b1696d2f82f82d2f641
parent7c5a46262ee18289b58d18ed64584d0411649a24 (diff)
downloadcross-binutils-ed831d0361ca82944da808e550103d526fa94a2f.tar.gz
cross-binutils-ed831d0361ca82944da808e550103d526fa94a2f.tar.xz
cross-binutils-ed831d0361ca82944da808e550103d526fa94a2f.zip
Provide links for ppc{,64}-linux-gnu to powerpc{,64}-linux-gnu
-rw-r--r--cross-binutils.spec52
1 files changed, 50 insertions, 2 deletions
diff --git a/cross-binutils.spec b/cross-binutils.spec
index a66fbf2..624ad20 100644
--- a/cross-binutils.spec
+++ b/cross-binutils.spec
@@ -113,6 +113,16 @@ Requires: %{cross}-binutils-common == %{version}-%{release} \
Cross-build binary image generation, manipulation and query tools. \
%endif
+%define do_symlink() \
+%if %2 \
+%package -n %{rpmprefix}binutils-%1 \
+Summary: Cross-build binary utilities for %1 \
+Group: Development/Tools \
+Requires: binutils-%3 == %{version}-%{release} \
+%description -n %{rpmprefix}binutils-%1 \
+Cross-build binary image generation, manipulation and query tools. \
+%endif
+
%do_package alpha-linux-gnu %{build_alpha}
%do_package arm-linux-gnu %{build_arm}
%do_package aarch64-linux-gnu %{build_aarch64}
@@ -136,6 +146,8 @@ Cross-build binary image generation, manipulation and query tools. \
%do_package openrisc-linux-gnu %{build_openrisc}
%do_package powerpc-linux-gnu %{build_powerpc}
%do_package powerpc64-linux-gnu %{build_powerpc64}
+%do_symlink ppc-linux-gnu %{build_powerpc} powerpc-linux-gnu
+%do_symlink ppc64-linux-gnu %{build_powerpc64} powerpc64-linux-gnu
%do_package s390-linux-gnu %{build_s390}
%do_package s390x-linux-gnu %{build_s390x}
%do_package score-linux-gnu %{build_score}
@@ -405,8 +417,33 @@ cd ..
rm -rf %{buildroot}
function install_bin () {
- build_dir=${1%%%%-*}
+ cpu=${1%%%%-*}
+ build_dir=$cpu
make install -C $build_dir DESTDIR=%{buildroot}
+
+ # We want links for ppc and ppc64 also if we make powerpc or powerpc64
+ case $cpu in
+ powerpc*)
+ cd %{buildroot}/usr/bin
+ for i in $cpu-*
+ do
+ ln -s $i ppc${i#powerpc}
+ done
+ cd -
+ cd %{buildroot}/usr/
+ for i in $cpu-*
+ do
+ ln -s $i ppc${i#powerpc}
+ done
+ cd -
+ cd %{buildroot}/usr/share/man/man1
+ for i in $cpu-*
+ do
+ ln -s $i ppc${i#powerpc}
+ done
+ cd -
+ ;;
+ esac
}
for target in `cat target.list`
@@ -434,6 +471,10 @@ make install -C %{cross}-binutils/gprof/po DESTDIR=%{buildroot}
make install -C %{cross}-binutils/bfd/po DESTDIR=%{buildroot}
make install -C %{cross}-binutils/opcodes/po DESTDIR=%{buildroot}
+# Add the additional symlink-only targets
+grep ^powerpc target.list | sed -e s/powerpc/ppc/ >symlink-target.list
+cat symlink-target.list >>target.list
+
# For cross-binutils we drop the documentation.
echo "=== REMOVE documentation ==="
rm -rf %{buildroot}%{_infodir}
@@ -465,7 +506,12 @@ function build_file_list () {
echo '%%defattr(-,root,root,-)'
echo %{_bindir}/$arch-[!l]\*
echo %{_bindir}/$arch-ld\*
- echo %{auxbin_prefix}/$target_cpu-*/bin/\*
+ if [ -L %{buildroot}%{auxbin_prefix}/$target_cpu-* ]
+ then
+ echo %{auxbin_prefix}/$target_cpu-*
+ else
+ echo %{auxbin_prefix}/$target_cpu-*/bin/\*
+ fi
echo %{_mandir}/man1/$arch-\*
) >files.$arch
}
@@ -567,6 +613,8 @@ rm -rf %{buildroot}
%do_files openrisc-linux-gnu %{build_openrisc}
%do_files powerpc-linux-gnu %{build_powerpc}
%do_files powerpc64-linux-gnu %{build_powerpc64}
+%do_files ppc-linux-gnu %{build_powerpc}
+%do_files ppc64-linux-gnu %{build_powerpc64}
%do_files s390-linux-gnu %{build_s390}
%do_files s390x-linux-gnu %{build_s390x}
%do_files score-linux-gnu %{build_score}