source: rtems-source-builder/rtems/config/tools/rtems-kernel-4-1.cfg @ 49033ff

4.11
Last change on this file since 49033ff was 49033ff, checked in by Chris Johns <chrisj@…>, on 01/18/18 at 07:11:17

kernel: Do not build the RTEMS kernel by default when released.

Close #3275

  • Property mode set to 100644
File size: 4.7 KB
Line 
1#
2# RTEMS 4.xx Version 1.
3#
4# This configuration file configure's, make's and install's RTEMS.
5#
6
7%if %{rsb_released}
8 %define rtems_kernel_version %{rsb_version}
9%else
10 %define rtems_kernel_version %{rtems_version}
11%endif
12
13#
14# Package details.
15#
16Name:      %{_target}-kernel-%{rtems_kernel_version}-%{release}
17Summary:   RTEMS v%{rtems_kernel_version} for target %{_target} on host %{_host}
18Version:   %{rtems_kernel_version}
19Release:   %{release}
20URL:       http://www.rtems.org/
21BuildRoot: %{_tmppath}/%{name}-root-%(%{__id_u} -n)
22
23#
24# Build if the RSB is released or optionally enable/disable building the RTEMS
25# kernel via the command line.
26#
27%if %{defined with_rtems}
28 %define rtems_kernel_build 1
29%else
30 %define rtems_kernel_build 0
31%endif
32%if %{defined without_rtems}
33 %define rtems_kernel_build 0
34%endif
35
36%if %{rtems_kernel_build}
37 %include %{_configdir}/checks.cfg
38 %include %{_configdir}/base.cfg
39 %include %{_configdir}/versions.cfg
40
41 #
42 # A magic internal path that would break if changes in the defaults.mc
43 # macro file are made.
44 #
45 %define _internal_autotools_path %{_tmppath}/sb-%{_uid}/${SB_PREFIX_CLEAN}
46
47 #
48 # Check the version of autoconf. Check autoreconf as it is used.
49 #
50 %if %{__autoreconf_ver} <= 2.68
51  %if %{__autoreconf_bindir_ver} <= 2.68
52   %if %{__autoreconf_path_ver} <= 2.68
53    %error Autoconf (autoreconf) version 2.69 or higher is needed.
54   %endif
55  %endif
56 %endif
57
58 #
59 # Source
60 #
61 %if %{rsb_released}
62  %if ! %{defined rtems_kernel_compression}
63   %define rtems_kernel_compression xz
64  %endif
65  %define rtems_kernel_version %{rsb_version}
66  %source set rtems %{rtems_release_url}/rtems-%{rtems_kernel_version}.tar.%{rtems_kernel_compression}
67  %define rtems_bootstrap 0
68 %else
69  #
70  # The code in git needs to be bootstrapped. Do each build because we have
71  # no way to change what changes may have happened in the code.
72  #
73  %define rtems_bootstrap 1
74
75  %if ! %{defined rtems_kernel_version}
76   %define rtems_kernel_version HEAD
77  %endif
78  %if %{defined rtems_kernel_git_commit_hash}
79   %define rtems_kernel_git_checkout ?checkout=%{defined rtems_kernel_git_commit_hash}
80  %else
81   %define rtems_kernel_git_checkout %{nil}
82  %endif
83
84  %source set rtems git://git.rtems.org/rtems.git?reset=hard?branch=%{rtems_kernel_version}?pull%{rtems_kernel_git_checkout} #
85 %endif
86
87 #
88 # If C++ defined for the tool set use it to control RTEMS's setting..
89 #
90 %if %{defined enable_cxx}
91  %define rtems_cxx %{enable_cxx}
92 %endif
93
94 #
95 # Default set up.
96 #
97 %ifn %{defined rtems_posix}
98  %define rtems_posix 1
99 %endif
100 %ifn %{defined rtems_networking}
101  %define rtems_networking 1
102 %endif
103 %ifn %{defined rtems_cxx}
104  %define rtems_cxx 1
105 %endif
106 %ifn %{defined rtems_tests}
107  %define rtems_tests samples
108 %endif
109
110 %if %{rtems_tests} == disable
111  %define rtems_tests_opt --disable-tests
112 %else
113  %define rtems_tests_opt --enable-tests=%{rtems_tests}
114 %endif
115
116 #
117 # Check the various --with/--without options we support.
118 #
119 # --with-rtemsbsp   : Supported, list of BSPs
120 # --without-rtemsbsp: Not supported
121 # --with-tests      : Supported, samples/yes/no
122 # --without-tests   : Not supported
123 # --with-smp        : Supported
124 # --without-smp     : Not care
125 #
126 #
127 %if %{defined without_rtemsbsp}
128  %error Option --without-rtemsbsp is not supported.
129 %endif
130 %if %{defined without_rtems_tests}
131  %define with_rtems_tests no
132 %endif
133
134 #
135 # Prepare the source code.
136 #
137 %prep
138   source_dir_rtems="rtems-%{rtems_kernel_version}"
139   %source setup rtems -q -c -n %{name}-%{version}
140   cd ${source_dir_rtems}
141   %patch setup rtems -p1
142 %if %{rtems_bootstrap}
143   %if %{defined _internal_autotools_path}
144     export PATH="%{_internal_autotools_path}/bin:${PATH}"
145   %endif
146   ./bootstrap -c
147   %{_sbdir}/sb-bootstrap --preinstall
148   %{_sbdir}/sb-bootstrap
149 %endif
150   cd ..
151
152 %build
153   # Build directory support.
154   if test "%{_build}" != "%{_host}" ; then
155     build_dir="build-cxc"
156   else
157     build_dir="build"
158   fi
159   mkdir -p ${build_dir}
160   cd ${build_dir}
161
162   ../${source_dir_rtems}/configure \
163     --build=%{_build} --host=%{_host} \
164     --target=%{_target} \
165     %{?rtems_posix:--enable-posix}%{!?rtems_posix:--disable-posix} \
166     %{?rtems_networking:--enable-networking}%{!?rtems_networking:--disable-networking} \
167     %{?rtems_cxx:--enable-cxx}%{!?rtems_cxx:--disable-cxx} \
168     %{?with_rtems_tests:--enable-tests=%{with_rtems_tests}} \
169     %{?with_rtemsbsp:--enable-rtemsbsp="%{with_rtemsbsp}"} \
170     %{?with_rtems_smp:--enable-smp} \
171     --prefix=%{_prefix} --bindir=%{_bindir} \
172     --exec-prefix=%{_exec_prefix} \
173     --includedir=%{_includedir} --libdir=%{_libdir} \
174     --mandir=%{_mandir} --infodir=%{_infodir}
175
176   %{__make} %{?_smp_mflags} all
177   cd ..
178
179 %install
180   %{__rmdir} $SB_BUILD_ROOT
181
182   cd ${build_dir}
183   %{__make} DESTDIR=$SB_BUILD_ROOT install
184
185   cd ..
186
187%endif
Note: See TracBrowser for help on using the repository browser.