packaging: support aarch64 build
[platform/upstream/binutils.git] / packaging / cross-arm-binutils.spec
index 8702b5f..70c878e 100644 (file)
@@ -11,7 +11,8 @@ BuildRequires:  glibc-devel-static
 BuildRequires:  bc
 BuildRequires:  makeinfo
 BuildRequires:  zlib-devel-static
-Version:        2.23.1
+Requires(pre):  update-alternatives
+Version:        2.24.51
 Release:        0
 #
 # RUN_TESTS
@@ -22,7 +23,7 @@ Release:        0
 #
 # handle test suite failures
 #
-%ifarch alpha %arm hppa mips sh4 %sparc
+%ifarch alpha %arm aarch64 hppa mips sh4 %sparc
 %define        make_check_handling     true
 %else
 # XXX check again
@@ -34,21 +35,21 @@ Release:        0
 %define        make_check_handling     false
 %endif
 # handle all binary object formats supported by SuSE (and a few more)
-%ifarch %ix86 %arm ia64 ppc ppc64 s390 s390x x86_64
+%ifarch %ix86 %arm aarch64 ia64 ppc ppc64 s390 s390x x86_64
 %define build_multitarget 1
 %else
 %define build_multitarget 0
 %endif
-%define target_list alpha armv5l armv7l armv8l hppa hppa64 i686 ia64 m68k mips powerpc powerpc64 s390 s390x sh4 sparc sparc64 x86_64
+%define target_list aarch64 alpha armv5l armv7l armv8l hppa hppa64 i686 ia64 m68k mips powerpc powerpc64 s390 s390x sh4 sparc sparc64 x86_64
 #
 #
 #
 Url:            http://www.gnu.org/software/binutils/
-%define binutils_version %(echo %version | sed 's/\\.[0-9]\\{8\\}$//')
+#%define binutils_version %(echo %version | sed 's/\\.[0-9]\\{8\\}$//')
 Summary:        GNU Binutils
 License:        GFDL-1.3 and GPL-3.0+
 Group:          Development/Tools/Building
-Source:         binutils-%{binutils_version}.tar.bz2
+Source:         binutils-%{version}.tar.bz2
 Source1:        pre_checkin.sh
 Source3:        baselibs.conf
 
@@ -64,7 +65,7 @@ License:        GPL-3.0+
 Group:          Development/Tools/Building
 Requires:       binutils = %{version}-%{release}
 %if 0%{!?cross:1}
-%define gold_archs %ix86 %arm x86_64 ppc ppc64 %sparc
+%define gold_archs %ix86 %arm aarch64 x86_64 ppc ppc64 %sparc
 %endif
 
 %description gold
@@ -96,7 +97,7 @@ binutils.
 
 %prep
 echo "make check will return with %{make_check_handling} in case of testsuite failures."
-%setup -q -n binutils-%{binutils_version}
+%setup -q -n binutils-%{version}
 
 sed -i -e '/BFD_VERSION_DATE/s/$/-%(echo %release | sed 's/\.[0-9]*$//')/' bfd/version.h
 %build
@@ -131,6 +132,9 @@ EXTRA_TARGETS="$EXTRA_TARGETS,spu-elf"
 %ifarch %arm
 EXTRA_TARGETS="$EXTRA_TARGETS,arm-tizen-linux-gnueabi"
 %endif
+%ifarch aarch64
+EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-tizen-linux"
+%endif
 %endif
 %define common_flags CFLAGS="${RPM_OPT_FLAGS}" CXXFLAGS="${RPM_OPT_FLAGS}" \\\
        --prefix=%{_prefix} --libdir=%{_libdir} \\\
@@ -181,6 +185,9 @@ EXTRA_TARGETS="$EXTRA_TARGETS,hppa64-tizen-linux"
 %if "%{TARGET}" == "arm"
 EXTRA_TARGETS="$EXTRA_TARGETS,arm-tizen-linux-gnueabi"
 %endif
+%if "%{TARGET}" == "aarch64"
+EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-tizen-linux"
+%endif
 %if "%{TARGET}" == "avr" || "%{TARGET}" == "spu"
 TARGET_OS=%{TARGET}
 %else
@@ -248,8 +255,9 @@ rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
 mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
 ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin
 
-#mv $RPM_BUILD_ROOT%{_prefix}/%{HOST}/lib/ldscripts $RPM_BUILD_ROOT%{_libdir}
-#ln -sf ../../%{_lib}/ldscripts $RPM_BUILD_ROOT%{_prefix}/%{HOST}/lib/ldscripts
+mv $RPM_BUILD_ROOT%{_prefix}/%{HOST}/lib/ldscripts $RPM_BUILD_ROOT%{_libdir}
+ln -sf ../../%{_lib}/ldscripts $RPM_BUILD_ROOT%{_prefix}/%{HOST}/lib/ldscripts
+
 # Install header files
 make -C libiberty install_to_libdir target_header_dir=/usr/include DESTDIR=$RPM_BUILD_ROOT
 # We want the PIC libiberty.a
@@ -261,7 +269,6 @@ chmod a+x $RPM_BUILD_ROOT%{_libdir}/libopcodes-*
 rm $RPM_BUILD_ROOT%{_libdir}/lib{bfd,opcodes}.so
 rm $RPM_BUILD_ROOT%{_libdir}/lib{bfd,opcodes}.la
 # Remove unwanted files to shut up rpm
-rm $RPM_BUILD_ROOT%{_infodir}/configure* $RPM_BUILD_ROOT%{_infodir}/standards.info*
 rm $RPM_BUILD_ROOT%{_mandir}/man1/dlltool.1 $RPM_BUILD_ROOT%{_mandir}/man1/windres.1 $RPM_BUILD_ROOT%{_mandir}/man1/windmc.1
 cd ..
 #%find_lang binutils
@@ -303,11 +310,11 @@ cd $RPM_BUILD_DIR/binutils-%version
 %docs_package
 %post
 "%_sbindir/update-alternatives" --install \
-    "%_bindir/ld" ld "%_bindir/ld.bfd" 2
+    "%_bindir/ld" ld "%_bindir/ld.bfd" 1
 
 %post gold
 "%_sbindir/update-alternatives" --install \
-    "%_bindir/ld" ld "%_bindir/ld.gold" 1
+    "%_bindir/ld" ld "%_bindir/ld.gold" 2
 
 
 %preun
@@ -329,7 +336,7 @@ fi;
 %{_prefix}/%{HOST}/bin/*
 %{_prefix}/%{HOST}/lib/ldscripts
 %ghost %_sysconfdir/alternatives/ld
-#%{_libdir}/ldscripts
+%{_libdir}/ldscripts
 %{_bindir}/*
 %ifarch %gold_archs
 %exclude %{_bindir}/gold