From 831ae05364bca67088ddbe07cdc611300ee806c7 Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Sun, 14 Jul 2019 15:11:46 +1000 Subject: rtems/bsp: Build packages for the beagle BSP. Closes #3769 --- rtems/config/rtems-bsp.cfg | 93 +++++++++++++++++++++++++++++++--------------- 1 file changed, 64 insertions(+), 29 deletions(-) (limited to 'rtems/config/rtems-bsp.cfg') diff --git a/rtems/config/rtems-bsp.cfg b/rtems/config/rtems-bsp.cfg index bf1f42b..1af77f9 100644 --- a/rtems/config/rtems-bsp.cfg +++ b/rtems/config/rtems-bsp.cfg @@ -53,6 +53,7 @@ %endif %define with_rtems_bsp sparc/erc32 %endif +%define rtems_bsp %{with_rtems_bsp} # # If no tools or RTEMS provided use the prefix. If staging use the staging @@ -87,6 +88,29 @@ # %{path prepend %{with_tools}/bin} +# +# Update the configure paths to be BSP specific. +# +%define rtems_bsp_prefix %{_prefix}/%{_host}/%{rtems_bsp} +%define _exec_prefix %{rtems_bsp_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_exec_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_exec_prefix}/etc +%define _sharedstatedir %{_exec_prefix}/com +%define _localstatedir %{_exec_prefix}/var +%define _includedir %{_libdir}/include +%define _lib lib +%define _libdir %{_exec_prefix}/%{_lib} +%define _libexecdir %{_exec_prefix}/libexec +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale +%define _localedir %{_datadir}/locale +%define _localstatedir %{_exec_prefix}/var + # # Set up how we manage pkgconfig. Set the prefix path to the RTEMS prefix, # enable support when crosscompiling, and filter specific optimisation and @@ -99,16 +123,50 @@ # # The RTEMS BSP Flags # -%define rtems_bsp %{with_rtems_bsp} -%define rtems_bsp_ccflags %{pkgconfig ccflags %{_host}-%{rtems_bsp}} -%define rtems_bsp_cflags %{pkgconfig cflags %{_host}-%{rtems_bsp}} -%define rtems_bsp_ldflags %{pkgconfig ldflags %{_host}-%{rtems_bsp}} -%define rtems_bsp_libs %{pkgconfig libs %{_host}-%{rtems_bsp}} +%define rtems_bsp_includes -I%{_includedir} +%define rtems_bsp_ccflags %{pkgconfig ccflags %{_host}-%{rtems_bsp}} +%define rtems_bsp_cflags %{pkgconfig cflags %{_host}-%{rtems_bsp}} +%define rtems_bsp_ldflags %{pkgconfig ldflags %{_host}-%{rtems_bsp}} +%define rtems_bsp_libs %{pkgconfig libs %{_host}-%{rtems_bsp}} %if %{rtems_bsp_cflags} == %{nil} && %{rtems_bsp_error} %error No RTEMS BSP CFLAGS found; Please check the --with-rtems-bsp option. %endif +# +# C++ flags are the C flags. +# +%if %{rtems_bsp_ccflags} == %{nil} + %define rtems_bsp_ccflags %{rtems_bsp_cflags} +%endif + +# +# If there are no LDFLAGS create a path to RTEMS. +# +%if %{rtems_bsp_ldflags} == %{nil} + %define rtems_bsp_ldflags -L%{rtems_bsp_prefix}/lib +%endif + +# +# Support for RTEMS's Makefile.inc support. +# +%define rtems_bsp_makefile_inc %{rtems_bsp_prefix} +%define rtems_bsp_rtems_root %{_prefix} + +# +# Filter the flags converting any prefix to the staging path if this is a +# staging build. +# +%if %{install_mode} == staging + %define staging_filter sed -e 's|%{_prefix}|%{stagingroot}|g' + %define rtems_bsp_prefix $(echo %{rtems_bsp_prefix} | %{staging_filter}) + %define rtems_bsp_includes $(echo %{rtems_bsp_includes} | %{staging_filter}) + %define rtems_bsp_ccflags $(echo %{rtems_bsp_ccflags} | %{staging_filter}) + %define rtems_bsp_cflags $(echo %{rtems_bsp_cflags} | %{staging_filter}) + %define rtems_bsp_ldflags $(echo %{rtems_bsp_ldflags} | %{staging_filter}) + %define rtems_bsp_rtems_root %{stagingroot} +%endif + %if %{rtems_bsp_ccflags} == %{nil} %define rtems_bsp_ccflags %{rtems_bsp_cflags} %endif @@ -146,35 +204,12 @@ %define rtems_bsp_libs %{rtems_bsp_libs} -lrtemsdefaultconfig %endif -# -# Update the configure paths to be BSP specific. -# -%define rtems_bsp_prefix %{_prefix}/%{_host}/%{rtems_bsp} -%define _exec_prefix %{rtems_bsp_prefix} -%define _bindir %{_exec_prefix}/bin -%define _sbindir %{_exec_prefix}/sbin -%define _libexecdir %{_exec_prefix}/libexec -%define _datarootdir %{_exec_prefix}/share -%define _datadir %{_datarootdir} -%define _sysconfdir %{_exec_prefix}/etc -%define _sharedstatedir %{_exec_prefix}/com -%define _localstatedir %{_exec_prefix}/var -%define _includedir %{_libdir}/include -%define _lib lib -%define _libdir %{_exec_prefix}/%{_lib} -%define _libexecdir %{_exec_prefix}/libexec -%define _mandir %{_datarootdir}/man -%define _infodir %{_datarootdir}/info -%define _localedir %{_datarootdir}/locale -%define _localedir %{_datadir}/locale -%define _localstatedir %{_exec_prefix}/var - # # Map to names used for cross compiling. # %define host_cc %{rtems_bsp_cc} %define host_cxx %{rtems_bsp_cxx} -%define host_includes -I%{_includedir} +%define host_includes %{rtems_bsp_includes} %define host_cflags %{rtems_bsp_cflags} %define host_cxxflags %{rtems_bsp_ccflags} %define host_ldflags %{rtems_bsp_ldflags} -- cgit v1.2.3