[cross-binutils/f19] Provide links for ppc{, 64}-linux-gnu to powerpc{, 64}-linux-gnu

David Howells dhowells at fedoraproject.org
Fri Aug 9 08:35:47 UTC 2013


commit ed831d0361ca82944da808e550103d526fa94a2f
Author: David Howells <dhowells at redhat.com>
Date:   Wed Jun 5 12:30:20 2013 +0100

    Provide links for ppc{,64}-linux-gnu to powerpc{,64}-linux-gnu

 cross-binutils.spec |   52 +++++++++++++++++++++++++++++++++++++++++++++++++-
 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}


More information about the scm-commits mailing list