[PATCH] [RSB] Add support for building Epiphany tools
Chris Johns
chrisj at rtems.org
Tue Apr 21 22:30:42 UTC 2015
On 22/04/2015 2:33 am, Hesham ALMatary wrote:
> This patch adds support for building Epiphany tools.
Great to see this support being adding.
> Currently some tools
> are fetched from my repositories (until my pull requests get merged), and
> other tools are fetched from Adapteva repositories. In the future, the
> tools should be fetched from GNU upstreams when Adapteva folks push
> their latest changes there.
Have you posted your changes to Adapteva ? Would they accept them ?
> ---
> rtems/config/4.11/rtems-epiphany.bset | 43 ++++++++++++++++++++++++++++++++++
> source-builder/config/binutils-2-1.cfg | 4 ++--
> source-builder/config/gcc-common-1.cfg | 5 ++--
> source-builder/config/gdb-7-1.cfg | 4 ++--
> 4 files changed, 50 insertions(+), 6 deletions(-)
> create mode 100644 rtems/config/4.11/rtems-epiphany.bset
>
> diff --git a/rtems/config/4.11/rtems-epiphany.bset b/rtems/config/4.11/rtems-epiphany.bset
> new file mode 100644
> index 0000000..429031f
> --- /dev/null
> +++ b/rtems/config/4.11/rtems-epiphany.bset
> @@ -0,0 +1,43 @@
> +#
> +# Tools Set for RTEMS Epiphany 4.11 Stable
> +#
> +
> +%define release 1
> +
> +%define rtems_arch epiphany
> +
> +#
> +# Get GNU tools from external repositories.
> +#
> +%define binutils_external 1
> +%define gcc_external 1
> +%define gdb_external 1
> +
> +#
> +# Expanded names of the GNU tools
> +#
> +%define binutils_expand_name epiphany-binutils-gdb-epiphany-binutils-2.23-software-cache
> +%define gcc_expand_name epiphany-gcc-epiphany-gcc-4.9
> +%define gdb_expand_name epiphany-binutils-gdb-epiphany-gdb-7.8
> +
Is this really 'binutils_source_name' or 'binutils_source_top' ?
> +#
> +# Fetch GNU tools from external repos (temporarly).
> +#
> +%source set binutils https://github.com/adapteva/epiphany-binutils-gdb/archive/epiphany-binutils-2.23-software-cache.zip
Is the expanded tree in the ZIP file not the same as the file name ?
> +%source set gcc https://github.com/heshamelmatary/epiphany-gcc/archive/epiphany-gcc-4.9.zip
> +%source set gdb https://github.com/heshamelmatary/epiphany-binutils-gdb/archive/epiphany-gdb-7.8.zip
> +
> +#
> +# The RTEMS 4.11 base defines.
> +#
> +%include rtems-4.11-base.bset
> +
> +#
> +# Tools configuration.
> +#
> +4.11/rtems-autotools
> +devel/expat-2.1.0-1
> +tools/rtems-binutils-2.23.1-1
> +tools/rtems-gcc-4.9.1-newlib-git-1
> +tools/rtems-gdb-7.8.1-1
> +tools/rtems-tools-4.11-1
> diff --git a/source-builder/config/binutils-2-1.cfg b/source-builder/config/binutils-2-1.cfg
> index c74a2c7..d37674d 100644
> --- a/source-builder/config/binutils-2-1.cfg
> +++ b/source-builder/config/binutils-2-1.cfg
> @@ -37,8 +37,8 @@ BuildRoot: %{_tmppath}/%{name}-root-%(%{__id_u} -n)
> %prep
> build_top=$(pwd)
>
> - source_dir_binutils="binutils-%{binutils_version}"
> - %source setup binutils -q -n binutils-%{binutils_version}
> + source_dir_binutils=%{?binutils_external:%{binutils_expand_name}}%{!?binutils_external:"binutils-%{binutils_version}"}
> + %source setup binutils -q -n %{?binutils_external:%{binutils_expand_name}}%{!?binutils_external:binutils-%{binutils_version}}
Can this be simplified with something like:
%binutils_sources=%{?binutils_source_name:%{binutils_source_name}}%{!?binutils_source_name:"binutils-%{binutils_version}"}
source_dir_binutils=%{binutils_sources}
%source setup binutils -q -n %{binutils_sources}
The same would go for the other tools.
Chris
> %patch setup binutils -p1
>
> cd ${build_top}
> diff --git a/source-builder/config/gcc-common-1.cfg b/source-builder/config/gcc-common-1.cfg
> index dd0cf4c..b6fa4bd 100644
> --- a/source-builder/config/gcc-common-1.cfg
> +++ b/source-builder/config/gcc-common-1.cfg
> @@ -41,8 +41,9 @@ BuildRoot: %{_tmppath}/%{name}-root-%(%{__id_u} -n)
> build_top=$(pwd)
>
> # gcc and optional the g++ core if separate packages
> - source_dir_gcc="gcc-%{gcc_version}"
> - %source setup gcc -q -n gcc-%{gcc_version}
> + source_dir_gcc=%{?gcc_external:%{gcc_expand_name}}%{!?gcc_external:"gcc-%{gcc_version}"}
> + %source setup gcc -q -n %{?gcc_external:%{gcc_expand_name}}%{!?gcc_external:gcc-%{gcc_version}}
> +
> %patch setup gcc -p1
> cd ${build_top}
>
> diff --git a/source-builder/config/gdb-7-1.cfg b/source-builder/config/gdb-7-1.cfg
> index 6e84375..792db50 100644
> --- a/source-builder/config/gdb-7-1.cfg
> +++ b/source-builder/config/gdb-7-1.cfg
> @@ -66,8 +66,8 @@ BuildRoot: %{_tmppath}/%{name}-root-%(%{__id_u} -n)
> %prep
> build_top=$(pwd)
>
> - source_dir_gdb="gdb-%{gdb_version}"
> - %source setup gdb -q -n gdb-%{gdb_version}
> + source_dir_gdb=%{?gdb_external:%{gdb_expand_name}}%{!?gdb_external:"gdb-%{gdb_version}"}
> + %source setup gdb -q -n %{?gdb_external:%{gdb_expand_name}}%{!?gdb_external:gdb-%{gdb_version}}
> %patch setup gdb -p1
>
> cd ${build_top}
>
More information about the devel
mailing list