From 40a28c61681ea3e7ae4ed84159f3d37c8d893ede9a4a1a4b843c3699ad5f6094 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Mon, 12 Mar 2018 10:37:51 +0000 Subject: [PATCH] Accepting request 585475 from home:a_faerber:arm:none Add arm-none-eabi target - depends on gcc7 sr#585463 OBS-URL: https://build.opensuse.org/request/show/585475 OBS-URL: https://build.opensuse.org/package/show/devel:gcc/newlib?expand=0&rev=7 --- cross-arm-none-newlib-devel.changes | 88 ++++++++++++++++++++++++++++ cross-arm-none-newlib-devel.spec | 89 +++++++++++++++++++++++++++++ cross-epiphany-newlib-devel.spec | 6 ++ cross-rx-newlib-devel.spec | 6 ++ newlib.spec.in | 6 ++ pre_checkin.sh | 2 +- 6 files changed, 196 insertions(+), 1 deletion(-) create mode 100644 cross-arm-none-newlib-devel.changes create mode 100644 cross-arm-none-newlib-devel.spec diff --git a/cross-arm-none-newlib-devel.changes b/cross-arm-none-newlib-devel.changes new file mode 100644 index 0000000..51b1254 --- /dev/null +++ b/cross-arm-none-newlib-devel.changes @@ -0,0 +1,88 @@ +------------------------------------------------------------------- +Sun Mar 11 17:44:01 UTC 2018 - afaerber@suse.de + +- Update to v3.0.0 + +------------------------------------------------------------------- +Sun Mar 11 16:50:55 UTC 2018 - afaerber@suse.de + +- Prepare for %cross_arch with dashes by consistently quoting +- Leave the choice of cross-*-binutils to cross-*-gcc* +- Update to v2.5.0 + +------------------------------------------------------------------- +Wed Jan 24 09:29:00 UTC 2018 - rguenther@suse.com + +- Handle debugsources.list to debugsourcefiles.list rename of new rpm. + +------------------------------------------------------------------- +Fri Jul 1 12:32:49 UTC 2016 - rguenther@suse.com + +- Add rx and epiphany targets + +------------------------------------------------------------------- +Tue May 17 17:55:35 UTC 2016 - afaerber@suse.de + +- Drop newlib-rpmlintrc + +------------------------------------------------------------------- +Sat May 14 00:18:57 UTC 2016 - afaerber@suse.de + +- Apply epiphany-fixes.diff not only to cross builds (.spec.in) but + also in newlib.spec, to please factory-auto checker (sr#395228) + +------------------------------------------------------------------- +Fri May 13 16:57:05 UTC 2016 - afaerber@suse.de + +- Prepare rl78 target +- Update to 2.4.0 +* Info files are no longer built +* Package all license and read-me files +- Clean up makeinfo dependency +- Drop cross .spec files in preparation for Factory submission + +------------------------------------------------------------------- +Mon Jul 20 21:52:07 UTC 2015 - afaerber@suse.de + +- Update to 2.2.0.20150623 +- Add cross-rx-newlib-devel package +- Revert installing files to sysroot + +------------------------------------------------------------------- +Fri Jul 10 21:50:42 UTC 2015 - afaerber@suse.de + +- Switch cross template to gcc5 + +------------------------------------------------------------------- +Mon Apr 6 15:53:44 UTC 2015 - afaerber@suse.de + +- Install target files to sysroot + +------------------------------------------------------------------- +Sat Nov 1 00:52:40 UTC 2014 - afaerber@suse.de + +- Enable native builds + +------------------------------------------------------------------- +Fri Oct 31 21:08:45 UTC 2014 - afaerber@suse.de + +- epiphany-fixes.diff: Drop executable permissions of + libepiphany.a and crt0.o + +------------------------------------------------------------------- +Fri Oct 31 20:05:26 UTC 2014 - afaerber@suse.de + +- Turn cross-epiphany-newlib into generic newlib package +* Rename packages to -devel to avoid empty -newlib packages + +------------------------------------------------------------------- +Tue Oct 21 07:21:21 UTC 2014 - afaerber@suse.de + +- Update to official 2.1.0 tarball +* Drop portability.patch + +------------------------------------------------------------------- +Tue Sep 30 02:29:16 UTC 2014 - afaerber@suse.de + +- Initial + diff --git a/cross-arm-none-newlib-devel.spec b/cross-arm-none-newlib-devel.spec new file mode 100644 index 0000000..22efe3d --- /dev/null +++ b/cross-arm-none-newlib-devel.spec @@ -0,0 +1,89 @@ +# +# spec file for package cross-arm-none-newlib-devel +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +%define cross_arch arm-none + +Name: cross-%{cross_arch}-newlib-devel +Version: 3.0.0 +Release: 0 +Summary: C library intended for use on %{cross_arch} embedded systems +License: BSD-3-Clause and MIT and LGPL-2.0+ and ISC +Group: Development/Tools +Url: https://sourceware.org/newlib/ +Source0: ftp://sourceware.org/pub/newlib/newlib-%{version}.tar.gz + +Patch1: epiphany-fixes.diff + +BuildRequires: cross-%{cross_arch}-gcc%{gcc_version}-bootstrap +%if %{suse_version} > 1220 +BuildRequires: makeinfo +%else +BuildRequires: texinfo +%endif + +%description +Newlib is a C library intended for use on embedded systems. It is a +conglomeration of several library parts, all under free software licenses +that make them easily usable on embedded products. + +%define target %{cross_arch} +%if "%{cross_arch}" == "epiphany" || "%{cross_arch}" == "rl78" || "%{cross_arch}" == "rx" +%define target %{cross_arch}-elf +%endif +%if "%{cross_arch}" == "arm-none" +%define target %{cross_arch}-eabi +%endif +%if "%{cross_arch}" == "spu" +%define sysroot /usr/spu +%else +%define sysroot %{_prefix}/%{target}/sys-root +%endif + +%prep +%setup -q -n newlib-%{version} +%patch1 -p1 + +%build +mkdir build-dir +cd build-dir +../configure \ + --prefix=%{_prefix} --libdir=%{_libdir} --mandir=%{_mandir} --infodir=%{_infodir} \ + --target=%{target} \ +%if "%{cross_arch}" == "arm-none" + --with-multilib-list=armv6-m,armv7-m,armv7e-m,cortex-m7,armv7-r \ +%endif + --with-build-sysroot=%{sysroot} +make %{?_smp_mflags} + +%install +# All binaries built are for the target architecture - don't damage them. +export NO_BRP_STRIP_DEBUG=true +export NO_DEBUGINFO_STRIP_DEBUG=true +%define __debug_install_post %{nil} +: >debugfiles.list +: >debugsourcefiles.list +: >debugsources.list + +cd build-dir +make install DESTDIR=%{buildroot} + +%files +%defattr(-,root,root,-) +%{_prefix}/%{target}/ + +%changelog diff --git a/cross-epiphany-newlib-devel.spec b/cross-epiphany-newlib-devel.spec index 61e721d..a0ebb58 100644 --- a/cross-epiphany-newlib-devel.spec +++ b/cross-epiphany-newlib-devel.spec @@ -45,6 +45,9 @@ that make them easily usable on embedded products. %if "%{cross_arch}" == "epiphany" || "%{cross_arch}" == "rl78" || "%{cross_arch}" == "rx" %define target %{cross_arch}-elf %endif +%if "%{cross_arch}" == "arm-none" +%define target %{cross_arch}-eabi +%endif %if "%{cross_arch}" == "spu" %define sysroot /usr/spu %else @@ -61,6 +64,9 @@ cd build-dir ../configure \ --prefix=%{_prefix} --libdir=%{_libdir} --mandir=%{_mandir} --infodir=%{_infodir} \ --target=%{target} \ +%if "%{cross_arch}" == "arm-none" + --with-multilib-list=armv6-m,armv7-m,armv7e-m,cortex-m7,armv7-r \ +%endif --with-build-sysroot=%{sysroot} make %{?_smp_mflags} diff --git a/cross-rx-newlib-devel.spec b/cross-rx-newlib-devel.spec index 8010325..891e114 100644 --- a/cross-rx-newlib-devel.spec +++ b/cross-rx-newlib-devel.spec @@ -45,6 +45,9 @@ that make them easily usable on embedded products. %if "%{cross_arch}" == "epiphany" || "%{cross_arch}" == "rl78" || "%{cross_arch}" == "rx" %define target %{cross_arch}-elf %endif +%if "%{cross_arch}" == "arm-none" +%define target %{cross_arch}-eabi +%endif %if "%{cross_arch}" == "spu" %define sysroot /usr/spu %else @@ -61,6 +64,9 @@ cd build-dir ../configure \ --prefix=%{_prefix} --libdir=%{_libdir} --mandir=%{_mandir} --infodir=%{_infodir} \ --target=%{target} \ +%if "%{cross_arch}" == "arm-none" + --with-multilib-list=armv6-m,armv7-m,armv7e-m,cortex-m7,armv7-r \ +%endif --with-build-sysroot=%{sysroot} make %{?_smp_mflags} diff --git a/newlib.spec.in b/newlib.spec.in index 5658307..d0ebd41 100644 --- a/newlib.spec.in +++ b/newlib.spec.in @@ -26,6 +26,9 @@ that make them easily usable on embedded products. %if "%{cross_arch}" == "epiphany" || "%{cross_arch}" == "rl78" || "%{cross_arch}" == "rx" %define target %{cross_arch}-elf %endif +%if "%{cross_arch}" == "arm-none" +%define target %{cross_arch}-eabi +%endif %if "%{cross_arch}" == "spu" %define sysroot /usr/spu %else @@ -42,6 +45,9 @@ cd build-dir ../configure \ --prefix=%{_prefix} --libdir=%{_libdir} --mandir=%{_mandir} --infodir=%{_infodir} \ --target=%{target} \ +%if "%{cross_arch}" == "arm-none" + --with-multilib-list=armv6-m,armv7-m,armv7e-m,cortex-m7,armv7-r \ +%endif --with-build-sysroot=%{sysroot} make %{?_smp_mflags} diff --git a/pre_checkin.sh b/pre_checkin.sh index 2cf53a8..6ff4f6d 100644 --- a/pre_checkin.sh +++ b/pre_checkin.sh @@ -2,7 +2,7 @@ rm -f cross*.spec cross*.changes -for arch in epiphany rx; do +for arch in arm-none epiphany rx; do pkgname=cross-$arch-newlib-devel outfile=$pkgname.spec echo "%define cross_arch $arch" > $outfile