source: rtems/testsuites/sptests/configure.ac @ 2afb22b

5
Last change on this file since 2afb22b was 2afb22b, checked in by Chris Johns <chrisj@…>, on 12/23/17 at 07:18:56

Remove make preinstall

A speciality of the RTEMS build system was the make preinstall step. It
copied header files from arbitrary locations into the build tree. The
header files were included via the -Bsome/build/tree/path GCC command
line option.

This has at least seven problems:

  • The make preinstall step itself needs time and disk space.
  • Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error.
  • There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult.
  • The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit.
  • An introduction of a new build system is difficult.
  • Include paths specified by the -B option are system headers. This may suppress warnings.
  • The parallel build had sporadic failures on some hosts.

This patch removes the make preinstall step. All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.

The new cpukit include directories are:

  • cpukit/include
  • cpukit/score/cpu/@RTEMS_CPU@/include
  • cpukit/libnetworking

The new BSP include directories are:

  • bsps/include
  • bsps/@RTEMS_CPU@/include
  • bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include

There are build tree include directories for generated files.

The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.

The "bootstrap -p" option was removed. The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.

Update #3254.

  • Property mode set to 100644
File size: 5.0 KB
Line 
1## Process this file with autoconf to produce a configure script.
2
3AC_PREREQ([2.69])
4AC_INIT([rtems-c-src-tests-sptests],[_RTEMS_VERSION],[https://devel.rtems.org/newticket])
5AC_CONFIG_SRCDIR([sp01])
6AC_CONFIG_HEADER([config.h])
7RTEMS_TOP([../..],[..])
8RTEMS_SOURCE_TOP
9RTEMS_BUILD_TOP
10
11RTEMS_CANONICAL_TARGET_CPU
12
13AM_INIT_AUTOMAKE([no-define foreign 1.12.2])
14AM_MAINTAINER_MODE
15
16RTEMS_ENABLE_CXX
17RTEMS_ENV_RTEMSBSP
18RTEMS_CHECK_RTEMS_TEST_NO_PAUSE
19
20RTEMS_PROJECT_ROOT
21
22RTEMS_PROG_CC_FOR_TARGET
23RTEMS_PROG_CXX_FOR_TARGET
24
25RTEMS_CANONICALIZE_TOOLS
26
27RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
28RTEMS_CHECK_CXX(RTEMS_BSP)
29
30AM_CONDITIONAL([HAS_CPLUSPLUS],[test $HAS_CPLUSPLUS = "yes"])
31
32# FIXME: We should get rid of this. It's a cludge.
33AC_CHECK_SIZEOF([time_t])
34
35# Some tests should not be built/run in SMP configurations
36RTEMS_CHECK_CPUOPTS([RTEMS_SMP])
37AM_CONDITIONAL(HAS_SMP,test "$rtems_cv_RTEMS_SMP" = "yes")
38
39# Explicitly list all Makefiles here
40AC_CONFIG_FILES([Makefile
41sptls04/Makefile
42spconsole01/Makefile
43spintrcritical24/Makefile
44spfatal31/Makefile
45spfatal30/Makefile
46spmutex01/Makefile
47spextensions01/Makefile
48sptimerserver01/Makefile
49spsysinit01/Makefile
50splinkersets01/Makefile
51spstdthreads01/Makefile
52spsyslock01/Makefile
53sptasknopreempt01/Makefile
54spintrcritical23/Makefile
55sptimecounter01/Makefile
56sptimecounter02/Makefile
57sptimecounter03/Makefile
58sptimecounter04/Makefile
59spatomic01/Makefile
60spglobalcon01/Makefile
61spintrcritical22/Makefile
62spsem03/Makefile
63spmrsp01/Makefile
64spscheduler01/Makefile
65spfatal28/Makefile
66spthreadlife01/Makefile
67spprofiling01/Makefile
68spcache01/Makefile
69sptls03/Makefile
70spcpucounter01/Makefile
71sptls02/Makefile
72sptls01/Makefile
73spintrcritical20/Makefile
74spintrcritical21/Makefile
75spcontext01/Makefile
76spfatal26/Makefile
77spinternalerror02/Makefile
78spinternalerror01/Makefile
79speventsystem01/Makefile
80speventtransient01/Makefile
81spintrcritical18/Makefile
82sp01/Makefile
83sp02/Makefile
84sp03/Makefile
85sp04/Makefile
86sp05/Makefile
87sp06/Makefile
88sp07/Makefile
89sp08/Makefile
90sp11/Makefile
91sp12/Makefile
92sp13/Makefile
93sp14/Makefile
94sp15/Makefile
95sp16/Makefile
96sp17/Makefile
97sp18/Makefile
98sp19/Makefile
99sp20/Makefile
100sp21/Makefile
101sp22/Makefile
102sp23/Makefile
103sp24/Makefile
104sp25/Makefile
105sp26/Makefile
106sp27/Makefile
107sp27a/Makefile
108sp29/Makefile
109sp30/Makefile
110sp31/Makefile
111sp32/Makefile
112sp33/Makefile
113sp34/Makefile
114sp35/Makefile
115sp36/Makefile
116sp37/Makefile
117sp38/Makefile
118sp40/Makefile
119sp41/Makefile
120sp42/Makefile
121sp43/Makefile
122sp44/Makefile
123sp45/Makefile
124sp46/Makefile
125sp47/Makefile
126sp48/Makefile
127sp49/Makefile
128sp50/Makefile
129sp51/Makefile
130sp52/Makefile
131sp53/Makefile
132sp54/Makefile
133sp55/Makefile
134sp56/Makefile
135sp57/Makefile
136sp58/Makefile
137sp59/Makefile
138sp60/Makefile
139sp62/Makefile
140sp63/Makefile
141sp64/Makefile
142sp65/Makefile
143sp66/Makefile
144sp67/Makefile
145sp68/Makefile
146sp69/Makefile
147sp70/Makefile
148sp71/Makefile
149sp72/Makefile
150sp73/Makefile
151sp74/Makefile
152sp75/Makefile
153sp76/Makefile
154sp77/Makefile
155sprmsched02/Makefile
156sp2038/Makefile
157spassoc01/Makefile
158spcbssched01/Makefile
159spcbssched02/Makefile
160spcbssched03/Makefile
161spchain/Makefile
162spclock_err01/Makefile
163spclock_err02/Makefile
164spcoverage/Makefile
165spedfsched01/Makefile
166spedfsched02/Makefile
167spedfsched03/Makefile
168spedfsched04/Makefile
169sperror01/Makefile
170sperror02/Makefile
171sperror03/Makefile
172spevent_err03/Makefile
173spfatal01/Makefile
174spfatal02/Makefile
175spfatal03/Makefile
176spfatal04/Makefile
177spfatal05/Makefile
178spfatal06/Makefile
179spfatal07/Makefile
180spfatal08/Makefile
181spfatal09/Makefile
182spfatal10/Makefile
183spfatal11/Makefile
184spfatal12/Makefile
185spfatal13/Makefile
186spfatal14/Makefile
187spfatal15/Makefile
188spfatal16/Makefile
189spfatal17/Makefile
190spfatal18/Makefile
191spfatal19/Makefile
192spfatal20/Makefile
193spfatal24/Makefile
194spfatal25/Makefile
195spfatal27/Makefile
196spfatal29/Makefile
197spfifo01/Makefile
198spfifo02/Makefile
199spfifo03/Makefile
200spfifo04/Makefile
201spfifo05/Makefile
202spfreechain01/Makefile
203spintr_err01/Makefile
204spintrcritical01/Makefile
205spintrcritical02/Makefile
206spintrcritical03/Makefile
207spintrcritical04/Makefile
208spintrcritical05/Makefile
209spintrcritical06/Makefile
210spintrcritical07/Makefile
211spintrcritical08/Makefile
212spintrcritical09/Makefile
213spintrcritical10/Makefile
214spintrcritical11/Makefile
215spintrcritical12/Makefile
216spintrcritical13/Makefile
217spintrcritical14/Makefile
218spintrcritical15/Makefile
219spintrcritical16/Makefile
220spheapprot/Makefile
221spmkdir/Makefile
222spmountmgr01/Makefile
223spmsgq_err01/Makefile
224spmsgq_err02/Makefile
225spnsext01/Makefile
226spobjgetnext/Makefile
227sppagesize/Makefile
228spport_err01/Makefile
229spprintk/Makefile
230spprivenv01/Makefile
231spqreslib/Makefile
232spratemon_err01/Makefile
233sprbtree01/Makefile
234spsem_err01/Makefile
235spsem_err02/Makefile
236spsem01/Makefile
237spsem02/Makefile
238spsignal_err01/Makefile
239spsimplesched01/Makefile
240spsimplesched02/Makefile
241spsimplesched03/Makefile
242spsize/Makefile
243spstkalloc/Makefile
244spstkalloc02/Makefile
245spthreadq01/Makefile
246sptimespec01/Makefile
247spwatchdog/Makefile
248spwkspace/Makefile
249sptask_err01/Makefile
250sptask_err02/Makefile
251sptask_err03/Makefile
252sptask_err04/Makefile
253sptimer_err01/Makefile
254sptimer_err02/Makefile
255spcpuset01/Makefile
256spregion_err01/Makefile
257sppartition_err01/Makefile
258sprmsched01/Makefile
259spversion01/Makefile
260])
261AC_OUTPUT
Note: See TracBrowser for help on using the repository browser.