summaryrefslogtreecommitdiffstats
path: root/rtems/config/tools/rtems-kernel-common.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'rtems/config/tools/rtems-kernel-common.cfg')
-rw-r--r--rtems/config/tools/rtems-kernel-common.cfg125
1 files changed, 65 insertions, 60 deletions
diff --git a/rtems/config/tools/rtems-kernel-common.cfg b/rtems/config/tools/rtems-kernel-common.cfg
index 157c7a4..431fc1d 100644
--- a/rtems/config/tools/rtems-kernel-common.cfg
+++ b/rtems/config/tools/rtems-kernel-common.cfg
@@ -9,7 +9,7 @@
# and BSPs. Only after the source to download.
#
%if %{_dry_run} && %{defined with_download}
- %log Kenrel configuration errors ignored
+ %log Kernel configuration errors ignored
%define rtems_kernel_error 0
%else
%define rtems_kernel_error 1
@@ -19,10 +19,15 @@
%define rtems_kernel_version %{rsb_version}
%endif
+%if %{defined with_rtems_bsp_config}
+ %define _target %(%{_sbdir}/sb/rtems-kernel-config-check -v %{rtems_version} -t %{with_rtems_bsp_config})
+ %define rtems_bsp %(%{_sbdir}/sb/rtems-kernel-config-check -b %{with_rtems_bsp_config})
+%endif
+
#
# The target. It could be set in rtems_target.
#
-%if %{defined rtems_target}
+%if %{defined rtems_target} && !%{defined with_rtems_bsp_config}
%define _target %{rtems_target}
%endif
%if %{_target} == %{nil} && %{rtems_kernel_error}
@@ -32,10 +37,21 @@
#
# The BSP.
#
-%if !%{defined with_rtems_bsp} && %{rtems_kernel_error}
+%if !%{defined with_rtems_bsp} && %{rtems_kernel_error} && !%{defined with_rtems_bsp_config}
%error No RTEMS BSP specified: --with-rtems-bsp=bsp
%endif
-%define rtems_bsp %{with_rtems_bsp}
+%if !%{defined with_rtems_bsp_config}
+ %define rtems_bsp %{with_rtems_bsp}
+%endif
+
+#
+# Configuration file used with waf
+#
+%ifn %{defined with_rtems_bsp_config}
+ %define config_file config-%{_target}-%{rtems_bsp}.ini
+%else
+ %define config_file %{with_rtems_bsp_config}
+%endif
#
# If no tools are provided use the prefix.
@@ -98,14 +114,6 @@ URL: https://www.rtems.org/
%define rtems_posix 0
%endif
-%if %{defined with_rtems_legacy_network}
- %define rtems_networking 1
-%endif
-
-%if %{defined with_rtems_cxx}
- %define rtems_cxx 1
-%endif
-
%if %{defined with_rtems_bspopts}
%define bspopts %{with_rtems_bspopts}
%endif
@@ -143,43 +151,43 @@ URL: https://www.rtems.org/
# --without-rtems-tests : Supported, forced to no
# --with-rtems-smp : Supported
# --without-rtems-smp : Don't care
-# --with-rtems-legacy-network : Supported
+# --with-rtems-legacy-network : Unsupported
# --without-rtems-legacy-network : Don't care
-# --with-rtems-bspopts : Supported, quote for a list
-# --without-rtems-bspopts : Don't care
-#
%if %{defined without_rtemsbsp}
%error Option --without-rtemsbsp is not supported.
%endif
+%if %{defined with_rtems_legacy_network}
+ echo "RTEMS legacy network has been removed."
+ echo "Please review and update your configuration."
+ exit 1
+%endif
+%if %{defined enable_cxx}
+ echo CXX has been removed."
+ echo "Please review and update your configuration."
+ exit 1
+%endif
+
%if %{defined without_rtems_tests}
- %define with_rtems_tests no
+ %define rtems_tests False
+ %define rtems_sample_tests False
%endif
%if %{defined with_rtems_tests}
%if %{with_rtems_tests} == 1
- %define with_rtems_tests yes
+ %define rtems_tests True
+ %define rtems_sample_tests True
%endif
- %if %{with_rtems_tests} == yes || \
- %{with_rtems_tests} == no || \
- %{with_rtems_tests} == samples
- %define rtems_tests %{with_rtems_tests}
+ %if %{with_rtems_tests} == samples
+ %define rtems_tests False
+ %define rtems_sample_tests True
%endif
%endif
%if %{defined with_rtems_smp}
%define rtems_smp 1
%endif
-%if %{defined with_rtems_legacy_network}
- %define rtems_networking 1
-%endif
%if %{defined with_rtems_bspopts}
%define rtems_bspopts %{with_rtems_bspopts}
%endif
-#
-# If C++ defined for the tool set use it to control RTEMS's setting..
-#
-%if %{defined enable_cxx}
- %define rtems_cxx %{enable_cxx}
-%endif
#
# Default set up. Override these in a BSP if you want a
@@ -188,14 +196,9 @@ URL: https://www.rtems.org/
%ifn %{defined rtems_posix}
%define rtems_posix 1
%endif
-%ifn %{defined rtems_networking}
- %define rtems_networking 0
-%endif
-%ifn %{defined rtems_cxx}
- %define rtems_cxx 1
-%endif
%ifn %{defined rtems_tests}
- %define rtems_tests samples
+ %define rtems_tests False
+ %define rtems_sample_tests True
%endif
%ifn %{defined rtems_bspopts}
%define rtems_bspopts %{nil}
@@ -213,8 +216,6 @@ URL: https://www.rtems.org/
%if %{defined _internal_autotools_path}
export PATH="%{_internal_autotools_path}/bin:${PATH}"
%endif
- ./bootstrap -c
- ./rtems-bootstrap
%endif
cd ..
@@ -225,38 +226,42 @@ URL: https://www.rtems.org/
else
build_dir="build"
fi
+
+ cd ${source_dir_rtems}
+
+ %if %{defined without_rtems_bsp_config}
+ cpu=`echo %{_target} | cut -d- -f1`
+ echo "[${cpu}/%{rtems_bsp}]" > %{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}
+ %endif
+
mkdir -p ${build_dir}
- cd ${build_dir}
-
- ../${source_dir_rtems}/configure \
- --build=%{_build} --host=%{_host} \
- --target=%{_target} \
- --enable-rtemsbsp="%{rtems_bsp}" \
- %{?rtems_cxx:--enable-cxx}%{!?rtems_cxx:--disable-cxx} \
- %{?rtems_posix:--enable-posix}%{!?rtems_posix:--disable-posix} \
- %{?rtems_networking:--enable-networking}%{!?rtems_networking:--disable-networking} \
- %{?rtems_tests:--enable-tests=%{rtems_tests}} \
- %{?rtems_smp:--enable-smp} \
+
+ ./waf configure \
+ --rtems-bsps=%{_target}/%{rtems_bsp} \
--prefix=%{_prefix} --bindir=%{_bindir} \
- --exec-prefix=%{_exec_prefix} \
- --includedir=%{_includedir} --libdir=%{_libdir} \
- --mandir=%{_mandir} --infodir=%{_infodir} \
- %{rtems_bspopts}
+ --rtems-config=%{config_file}
+
+ ./waf %{?_smp_mflags}
- %{__make} %{?_smp_mflags} all
cd ..
%install
%{__rmdir} $SB_BUILD_ROOT
- cd ${build_dir}
- %{__make} DESTDIR=$SB_BUILD_ROOT install
+ cd ${source_dir_rtems}
+ ./waf --destdir=$SB_BUILD_ROOT install
+
+ echo "rtems_tests: %{rtems_tests}"
- %if %{rtems_tests} != no
+ %if %{rtems_tests} != False
%define rtems_test_install %{_target}/%{rtems_bsp}/tests
mkdir -p $SB_BUILD_ROOT/%{_prefix}/%{rtems_test_install}
find . -name \*.exe -and -not -name \*.norun.exe \
-exec cp -v \{\} $SB_BUILD_ROOT/%{_prefix}/%{rtems_test_install}/ \;
%endif
- cd ..
+ cd -