source: rtems/c/src/lib/libcpu/configure.in @ e07b6868

4.104.114.84.95
Last change on this file since e07b6868 was 35d7b15, checked in by Joel Sherrill <joel.sherrill@…>, on 12/21/99 at 14:41:43

Patch rtems-rc-19991203-7.diff from Ralf Corsepius <corsepiu@…>
which adds partial automake support to libcpu/<cpu>/*.

Until now I have only implemented full automake support for the sh (my
demonstration example :) and the i386 (inevitiable for structural
reasons of this subdirectory). For all other cpus only their toplevel
directories (exception: powerpc), include subdirectories and a few
selected subdirectories have been converted to automake.
I did this on purpose, because add automake support to each subdirectory
requires individual adaptations which to be tested individually.

Additionally the weirdnesses of the powerpc subdirectories hit again,
esp. some powerpc cpu-models

  • install files to $(PROJECT_INCLUDE)/<cpu-model>/ while others install them to $(PROJECT_INCLUDE)/
  • the scheme used to configure libcpu/powerpc/ is difficult to implement using automake, therefore this subdirectory still is configured by autoconf (The one out of an unlimited set selection scheme hits again :), though powerpc/*/* subdirectories already apply automake.

The patch also reveils structural weaknesses in RTEMS:

E.g. There seem to exist at least 5 different general schemes:

  • Not using libcpu at all (eg. i960)
  • Strictly tree-style a libcpu/<cpu-variant>/* (eg. m68k, sh)
  • Flat libcpu directory layout with cpu-variants merged into sources or not destinguishing cpu-variants (i386)
  • Not supporting variants with deep source tree (sparc, hppa, mips64orion)
  • Woven directory structure with shared directories (powerpc)

I regret having to say this, but from my POV this means, that there
doesn't exist a general implementation scheme for libcpu at all.

To apply:

rm -rf ./c/src/lib/libcpu/i386/wrapup
rm -rf ./c/src/lib/libcpu/mips64orion/include
rm -rf ./c/src/lib/libcpu/powerpc/ppc403/include
patch -p1 < rtems-rc-19991203-7.diff
./bootstrap

  • Property mode set to 100644
File size: 706 bytes
Line 
1dnl Process this file with autoconf to produce a configure script.
2dnl
3dnl $Id$
4
5AC_PREREQ(2.13)
6AC_INIT(README)
7RTEMS_TOP(../../../..)
8AC_CONFIG_AUX_DIR(../../../..)
9
10AC_PROG_MAKE_SET
11RTEMS_CANONICAL_TARGET_CPU
12
13AM_MAINTAINER_MODE
14
15RTEMS_ENABLE_LIBCDIR
16RTEMS_ENABLE_BARE
17
18RTEMS_ENV_RTEMSBSP
19
20AC_PROG_INSTALL
21
22RTEMS_CHECK_CPU
23RTEMS_CANONICAL_HOST
24
25RTEMS_PROJECT_ROOT
26
27dnl check target cc
28RTEMS_PROG_CC_FOR_TARGET
29RTEMS_CANONICALIZE_TOOLS
30
31RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
32
33# find all the CPU dependent library Makefiles
34if test -f $srcdir/$RTEMS_CPU/configure.in; then
35  cfg_subdirs="$RTEMS_CPU"
36else
37  RTEMS_CHECK_MAKEFILE($RTEMS_CPU)
38fi
39AC_CONFIG_SUBDIRS($cfg_subdirs)
40
41AC_OUTPUT(
42Makefile
43$makefiles)
Note: See TracBrowser for help on using the repository browser.