Add Bare support for GNU tools.

Add support to build bare metal tools such as sparc-elf.
This commit is contained in:
Chris Johns 2013-11-05 22:09:11 +11:00
parent 1bae150e67
commit 873016c249
8 changed files with 242 additions and 0 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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