From 873016c24940e94595a236941ef496724b665bca Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Tue, 5 Nov 2013 22:09:11 +1100 Subject: Add Bare support for GNU tools. Add support to build bare metal tools such as sparc-elf. --- bare/config/bare-binutils-patches.cfg | 27 ++++++++++++++ bare/config/bare-config.cfg | 14 ++++++++ bare/config/bare-gcc-patches.cfg | 51 ++++++++++++++++++++++++++ bare/config/bare-gdb-patches.cfg | 27 ++++++++++++++ bare/config/devel/binutils-2.23.2-1.cfg | 27 ++++++++++++++ bare/config/devel/gcc-4.8.2-newlib-cvs-1.cfg | 53 ++++++++++++++++++++++++++++ bare/config/devel/gdb-7.6.1-1.cfg | 18 ++++++++++ bare/config/gnu-tools-4.8.2.bset | 25 +++++++++++++ 8 files changed, 242 insertions(+) create mode 100644 bare/config/bare-binutils-patches.cfg create mode 100644 bare/config/bare-config.cfg create mode 100644 bare/config/bare-gcc-patches.cfg create mode 100644 bare/config/bare-gdb-patches.cfg create mode 100644 bare/config/devel/binutils-2.23.2-1.cfg create mode 100644 bare/config/devel/gcc-4.8.2-newlib-cvs-1.cfg create mode 100644 bare/config/devel/gdb-7.6.1-1.cfg create mode 100644 bare/config/gnu-tools-4.8.2.bset (limited to 'bare') diff --git a/bare/config/bare-binutils-patches.cfg b/bare/config/bare-binutils-patches.cfg new file mode 100644 index 0000000..c61a29b --- /dev/null +++ b/bare/config/bare-binutils-patches.cfg @@ -0,0 +1,27 @@ +# +# Manage Bare Binutils specific patches in the build sets +# +%if %{defined bare_binutils_patch1} + Patch1: %{bare_binutils_patch1} +%endif +%if %{defined bare_binutils_patch2} + Patch2: %{bare_binutils_patch2} +%endif +%if %{defined bare_binutils_patch3} + Patch3: %{bare_binutils_patch3} +%endif +%if %{defined bare_binutils_patch4} + Patch4: %{bare_binutils_patch4} +%endif +%if %{defined bare_binutils_patch11} + Patch11: %{bare_binutils_patch11} +%endif +%if %{defined bare_binutils_patch12} + Patch12: %{bare_binutils_patch12} +%endif +%if %{defined bare_binutils_patch13} + Patch13: %{bare_binutils_patch13} +%endif +%if %{defined bare_binutils_patch14} + Patch14: %{bare_binutils_patch14} +%endif diff --git a/bare/config/bare-config.cfg b/bare/config/bare-config.cfg new file mode 100644 index 0000000..2633cd7 --- /dev/null +++ b/bare/config/bare-config.cfg @@ -0,0 +1,14 @@ +# +# Base defines for Bare Tools. We use the RTEMS Tools repo for patches. +# + +# +# The RTEMS http git URL. +# +%define rtems_version 4.11 +%define rtems_http_git http://git.rtems.org +%define rtems_git_tools %{rtems_http_git}/rtems-tools/plain/tools/%{rtems_version} +%define bare_binutils_patches %{rtems_git_tools}/binutils +%define bare_gcc_patches %{rtems_git_tools}/gcc +%define bare_newlib_patches %{rtems_git_tools}/newlib +%define bare_gdb_patches %{rtems_git_tools}/gdb diff --git a/bare/config/bare-gcc-patches.cfg b/bare/config/bare-gcc-patches.cfg new file mode 100644 index 0000000..953771e --- /dev/null +++ b/bare/config/bare-gcc-patches.cfg @@ -0,0 +1,51 @@ +# +# Manage Bare GCC/Newlib specific patches in the build sets +# +%if %{defined bare_gcc_patch1} + Patch1: %{bare_gcc_patch1} + %if %{defined bare_gcc_patch1_opts} + %define patch1_opts %{bare_gcc_patch1_opts} + %endif +%endif +%if %{defined bare_gcc_patch2} + Patch2: %{bare_gcc_patch2} + %if %{defined bare_gcc_patch2_opts} + %define patch2_opts %{bare_gcc_patch2_opts} + %endif +%endif +%if %{defined bare_gcc_patch3} + Patch3: %{bare_gcc_patch3} + %if %{defined bare_gcc_patch3_opts} + %define patch3_opts %{bare_gcc_patch3_opts} + %endif +%endif +%if %{defined bare_gcc_patch4} + Patch4: %{bare_gcc_patch4} + %if %{defined bare_gcc_patch4_opts} + %define patch4_opts %{bare_gcc_patch4_opts} + %endif +%endif +%if %{defined bare_gcc_patch11} + Patch11: %{bare_gcc_patch11} + %if %{defined bare_gcc_patch11_opts} + %define patch11_opts %{bare_gcc_patch11_opts} + %endif +%endif +%if %{defined bare_gcc_patch12} + Patch12: %{bare_gcc_patch12} + %if %{defined bare_gcc_patch12_opts} + %define patch12_opts %{bare_gcc_patch12_opts} + %endif +%endif +%if %{defined bare_gcc_patch13} + Patch13: %{bare_gcc_patch13} + %if %{defined bare_gcc_patch13_opts} + %define patch13_opts %{bare_gcc_patch13_opts} + %endif +%endif +%if %{defined bare_gcc_patch14} + Patch14: %{bare_gcc_patch14} + %if %{defined bare_gcc_patch14_opts} + %define patch14_opts %{bare_gcc_patch14_opts} + %endif +%endif diff --git a/bare/config/bare-gdb-patches.cfg b/bare/config/bare-gdb-patches.cfg new file mode 100644 index 0000000..78b37a8 --- /dev/null +++ b/bare/config/bare-gdb-patches.cfg @@ -0,0 +1,27 @@ +# +# Manage Bare GDB specific patches in the build sets +# +%if %{defined bare_gdb_patch1} + Patch1: %{bare_gdb_patch1} +%endif +%if %{defined bare_gdb_patch2} + Patch2: %{bare_gdb_patch2} +%endif +%if %{defined bare_gdb_patch3} + Patch3: %{bare_gdb_patch3} +%endif +%if %{defined bare_gdb_patch4} + Patch4: %{bare_gdb_patch4} +%endif +%if %{defined bare_gdb_patch11} + Patch11: %{bare_gdb_patch11} +%endif +%if %{defined bare_gdb_patch12} + Patch12: %{bare_gdb_patch12} +%endif +%if %{defined bare_gdb_patch13} + Patch13: %{bare_gdb_patch13} +%endif +%if %{defined bare_gdb_patch14} + Patch14: %{bare_gdb_patch14} +%endif diff --git a/bare/config/devel/binutils-2.23.2-1.cfg b/bare/config/devel/binutils-2.23.2-1.cfg new file mode 100644 index 0000000..b785e58 --- /dev/null +++ b/bare/config/devel/binutils-2.23.2-1.cfg @@ -0,0 +1,27 @@ +# +# Binutils 2.23. +# + +%include %{_configdir}/bare-config.cfg + +%include %{_configdir}/checks.cfg +%include %{_configdir}/base.cfg + +%define binutils_version 2.23.2 + +# +# Enable deterministic archives by default. This will be the default +# there all tools using this binutils will create deterministic +# archives. +# +%define with_deterministic_archives 1 + +# +# Include the bare patches +# +%include bare-binutils-patches.cfg + +# +# The binutils build instructions. We use 2.xx Release 1. +# +%include %{_configdir}/binutils-2-1.cfg diff --git a/bare/config/devel/gcc-4.8.2-newlib-cvs-1.cfg b/bare/config/devel/gcc-4.8.2-newlib-cvs-1.cfg new file mode 100644 index 0000000..176bba1 --- /dev/null +++ b/bare/config/devel/gcc-4.8.2-newlib-cvs-1.cfg @@ -0,0 +1,53 @@ +# +# GCC 4.8.2., Newlib CVS +# + +%include %{_configdir}/bare-config.cfg + +%include %{_configdir}/checks.cfg +%include %{_configdir}/base.cfg +%include %{_configdir}/versions.cfg + +%define gcc_version 4.8.2 +%define newlib_version 1-Nov-2013 +%define mpfr_version 3.0.1 +%define mpc_version 0.8.2 +%define gmp_version 5.0.5 + +# +# Project custom message +# +%define gcc_version_message RSB-%{_sbgit_id})-%{release},gcc-%{gcc_version}/newlib-%{newlib_version} + +%define with_threads 0 +%define with_plugin 0 + +%ifn %{defined with_iconv} +%define with_iconv 1 +%endif + +# Incompatible with Texinfo 5 +%if %{__makeinfo_ver} >= 5.0 + %error Incomaptible version of makeinfo found! +%endif + +# +# Newlib is from CVS. +# +Source10: cvs://pserver:anoncvs@sourceware.org/cvs/src?module=newlib?src-prefix=src?date=%{newlib_version}?reset + +# +# Joel's stack_t patch. +# +%define bare_gcc_patch11 %{bare_newlib_patches}/newlib-sys-signal-20130532.diff +%define bare_gcc_patch11_opts -p0 + +# +# +# Manage bare patches +# +%include bare-gcc-patches.cfg + +# The gcc/newlib build instructions. We use 4.8 Release 1. +# +%include %{_configdir}/gcc-4.8-1.cfg diff --git a/bare/config/devel/gdb-7.6.1-1.cfg b/bare/config/devel/gdb-7.6.1-1.cfg new file mode 100644 index 0000000..4ad433d --- /dev/null +++ b/bare/config/devel/gdb-7.6.1-1.cfg @@ -0,0 +1,18 @@ +# +# GDB 7.6.1. +# + +%include %{_configdir}/checks.cfg +%include %{_configdir}/base.cfg + +%define gdb_version 7.6.1 + +# +# Bare Build Set patches. +# +%include bare-gdb-patches.cfg + +# +# The gdb build instructions. We use 7.xx Release 1. +# +%include %{_configdir}/gdb-7-1.cfg diff --git a/bare/config/gnu-tools-4.8.2.bset b/bare/config/gnu-tools-4.8.2.bset new file mode 100644 index 0000000..b428d88 --- /dev/null +++ b/bare/config/gnu-tools-4.8.2.bset @@ -0,0 +1,25 @@ +# +# GNU Tools Set +# + +%define release 1 + +package: gnu-tools-%{_target}-%{release} + +# +# Project custom message +# +%define gcc_version_message SB-%{release},gcc-%{gcc_version}/newlib-%{newlib_version} + +# +# Enable G++ +# +%define enable_cxx 1 + +# +# Tool configuration. +# +devel/expat-2.1.0-1 +devel/binutils-2.23.2-1 +devel/gcc-4.8.2-newlib-cvs-1 +devel/gdb-7.6.1-1 -- cgit v1.2.3