Makefile.am: Reflect having moved automake.
cache/Makefile.am: Reflect having moved automake.
reg_win/Makefile.am: Reflect having moved automake.
syscall/Makefile.am: Reflect having moved automake.
* cache/Makefile.am: Use .$(OBJEXT) instead of .o.
* reg_win/Makefile.am: Use .$(OBJEXT) instead of .o.
* syscall/Makefile.am: Use .$(OBJEXT) instead of .o.
* cpu_asm.S: Small patch to fix a bug in the rtems sparc port. The
bug has been there all the time, but only hits the leon bsp since the
leon cpu has a 5-stage pipeline (erc32 has 4 stages).
* Makefile.am, configure.in: Added support for instruction
cache enabling based on CPU model.
* cache/.cvsignore, cache/Makefile.am, cache/cache.c,
cache/cache_.h: New files.
routines and structures that require CPU model specific information
are now in libcpu. This primarily required moving erc32 specific
information from score/cpu files to libcpu/sparc and the erc32 BSP.
that contains:
* Removes remaining (now illegal) references to $(SRC) from a couple of
Makefile.ams
* Removes duplicate AC_CONFIG_SUBDIRS macro from c/configure.in
* Moves ENABLE_LIBCDIR into RTEMS_PROG_C[C|XX]_FOR_TARGET (hides LIBCDIR
from most configure scripts, i.e. LIBCDIR becomes less visible)
* Adds RTEMS_PROG_C[C|XX]_FOR_TARGET and RTEMS_CANONICALIZE_TOOLS to
libbsp/*/configure.ins (A minor bug in previous implementations, which
only has an impact when switching to GNU/Cygnus canonicalization)
* Cleans up several bogus comments.
* Removes MKLIB
* Switches the version number to 4.5.0 (for testing version number
handling)
Ralf Corsepius <corsepiu@faw.uni-ulm.de> that contain:
* Modifications, (minor) corrections, cleanups to most existing
Makefile.ams
* Adds automake support to all remaining BSPs which have not yet been
converted to automake.
* Makefile.am for all remaining wrapup/Makefile.ams
which does the following:
* some cleanups, fixes, addtions to the libbsp automake transition
patches
* The missing Automake transistion patches all libcpu/<cpu>/<variant>/*
previously not yet been converted to automake (libcpu/powerpc,
libcpu/hppa1.1, libcpu/mips64orion, libcpu/sparc)
=> With this patch, libcpu/*/* is under full automake control.
NOTES:
* This patch is tested by building for random set of bsps affected by
this patch, but not tested for all BSPs.
* The parts of this patch related to libcpu/powerpc fix many small bugs
inside of those Makefiles.
* Have a look into libcpu/powerpc/mpc6xx/, which is in rather bad shape,
IMO. Obviously most subdirectories seem to be build but are not included
into libcpu.a by wrapup/Makefile. Addtionally, no actual BSP uses this
cpu-variant subdirectory. Furthermore libcpu/powerpc/mpc6xx has a
different directory layout than all other powerpc/<variant>/
directories.
Joel's note: I agree but the issue is that there is a conflict between
including timer or clock in libcpu/XXX/wrapup/Makefile.* and letting
a BSP specifically decide to pick it up. There is no clear solution
to this at the moment.
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