source: rtems-source-builder/rtems/config/tools/rtems-kernel-4-1.cfg @ 18d4d29

5
Last change on this file since 18d4d29 was 96c414c, checked in by Chris Johns <chrisj@…>, on 10/22/18 at 00:59:10

windows: Remove BuildRoot? from all configs, add a short tmp path.

Closes #3562.

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