rtems/kernel: Support a list of BSPs as arch/bsp

This commit is contained in:
Chris Johns 2022-09-01 15:50:07 +10:00
parent 3a4892dce1
commit ce77a10078

View File

@ -42,15 +42,18 @@
%endif
%if !%{defined with_rtems_bsp_config}
%define rtems_bsp %{with_rtems_bsp}
# If a list the path gets too long
%define rtems_bsp_pkgname bsps
%endif
#
# Configuration file used with waf
#
%ifn %{defined with_rtems_bsp_config}
%define config_file config-%{_target}-%{rtems_bsp}.ini
%if !%{defined with_rtems_bsp_config}
%define config_file config.ini
%else
%define config_file %{with_rtems_bsp_config}
%define rtems_bsp_pkgname %(basename %{with_rtems_bsp_config})
%endif
#
@ -68,12 +71,12 @@
#
# Define the package.
#
package: rtems-%{rtems_version}-%{_target}-%{rtems_bsp}-%{_host}-%{release}
package: rtems-%{rtems_version}-%{_target}-%{rtems_bsp_pkgname}-%{_host}-%{release}
#
# Package details.
#
Name: %{_target}-kernel-%{rtems_bsp}-%{release}
Name: %{_target}-kernel-%{rtems_bsp_pkgname}-%{release}
Summary: RTEMS v%{rtems_kernel_version} for target %{_target} BSP %{rtems_bsp}
Version: %{rtems_kernel_version}
Release: %{release}
@ -83,23 +86,6 @@ URL: https://www.rtems.org/
%include %{_configdir}/base.cfg
%include %{_configdir}/versions.cfg
#
# A magic internal path that would break if changes in the defaults.mc
# macro file are made.
#
%define _internal_autotools_path %{_tmppath}/sb-%{_uid}/${SB_PREFIX_CLEAN}
#
# Check the version of autoconf. Check autoreconf as it is used.
#
%if %{__autoreconf_ver} <= 2.68
%if %{__autoreconf_bindir_ver} <= 2.68
%if %{__autoreconf_path_ver} <= 2.68
%error Autoconf (autoreconf) version 2.69 or higher is needed.
%endif
%endif
%endif
#
# If no tools provided use the prefix.
#
@ -162,7 +148,7 @@ URL: https://www.rtems.org/
exit 1
%endif
%if %{defined enable_cxx}
echo CXX has been removed."
echo "CXX has been removed."
echo "Please review and update your configuration."
exit 1
%endif
@ -229,20 +215,24 @@ URL: https://www.rtems.org/
cd ${source_dir_rtems}
%if %{defined without_rtems_bsp_config}
cpu=`echo %{_target} | cut -d- -f1`
echo "[${cpu}/%{rtems_bsp}]" > %{config_file}
%ifn %{defined with_rtems_bsp_config}
echo "[DEFAULT]" > %{config_file}
echo "RTEMS_POSIX_API = %{?rtems_posix:True}%{!?rtems_posix:False}" >> %{config_file}
echo "RTEMS_SMP = %{?rtems_smp:True}%{!?rtems_smp:False}" >> %{config_file}
echo "BUILD_TESTS = %{rtems_tests}" >> %{config_file}
echo "BUILD_SAMPLES = %{rtems_sample_tests}" >> %{config_file}
echo "" >> %{config_file}
for bsp in %{rtems_bsp}
do
echo "[$bsp]" >> %{config_file};
echo "" >> %{config_file}
done
%endif
mkdir -p ${build_dir}
./waf configure \
--rtems-bsps=%{_target}/%{rtems_bsp} \
--prefix=%{_prefix} --bindir=%{_bindir} \
--prefix=%{_prefix} \
--rtems-config=%{config_file}
./waf %{?_smp_mflags}