The briefs of the libmisc files named a topic, not the content of the
file. Four shell briefs named the wrong command. The file
main_blksync.c said "RM Shell Command Implementation". The files
main_id.c, main_time.c and shellconfig.c named ls and debugrfs. Four
string conversion sources named the conversion, for example "Convert
String to Unsigned Long".
Write every brief in the style of the tree. A source brief starts with
"This source file contains". A command brief names the command the file
provides. A header brief starts with "This header file provides". Put
@file, @ingroup and @brief in this order in every block.
Updates #5717.
Assisted-by: Claude:claude-opus-5 claude-code
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
The capture engine, the monitor and the stdio redirector had no group on
any file. The flattened device tree implementation sat in rtems_fdt,
the group of its API. The string conversion, the BSP command line, the
dump buffer and the stack checker sources sat in the API group of the
interface they implement. Twenty-four files wrote the group title after
the group name, so Doxygen looked for one group per title word.
Give each component the group of its implementation. The stdio
redirector works on file descriptors, so it joins LibIO. Drop the group
title from every @ingroup line.
Updates #5717.
Assisted-by: Claude:claude-opus-5 claude-code
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
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.
The output of the modules.html is much improved. Most
filesystem and POSIX API related groups are properly nested.
Some formatting issues were addressed as were multiple
inconsistencies.
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
* configure.ac: Add check for weak function attribute.
Remove AM_CONDITIONAL([RTEMS_LIBSHELL].
Add AM_CONDITIONAL(LIBSHELL), AM_CONDITIONAL(LIBSERDBG).
* capture/Makefile.am: Use *.a instead of *-tmp.a.
* cpuuse/Makefile.am: Use *.a instead of *-tmp.a.
* devnull/Makefile.am: Use *.a instead of *-tmp.a.
* dummy/Makefile.am: Use *.a instead of *-tmp.a.
* dumpbuf/Makefile.am: Use *.a instead of *-tmp.a.
* monitor/Makefile.am: Use *.a instead of *-tmp.a.
* mw-fb/Makefile.am: Use *.a instead of *-tmp.a.
* rtmonuse/Makefile.am: Use *.a instead of *-tmp.a.
* serdbg/Makefile.am: Use *.a instead of *-tmp.a.
Build iff LIBSERDBG is true.
* shell/Makefile.am: Use *.a instead of *-tmp.a.
Build iff LIBSHELL is true.
* stackchk/Makefile.am: Use *.a instead of *-tmp.a.
* untar/Makefile.am: Use *.a instead of *-tmp.a.
* wrapup/Makefile.am: Reflect changes above.
* capture/Makefile.am: Don't include @RTEMS_BSP@.cfg.
* cpuuse/Makefile.am: Don't include @RTEMS_BSP@.cfg.
* devnull/Makefile.am: Don't include @RTEMS_BSP@.cfg.
* dummy/Makefile.am: Don't include @RTEMS_BSP@.cfg.
* dumpbuf/Makefile.am: Don't include @RTEMS_BSP@.cfg.
* monitor/Makefile.am: Don't include @RTEMS_BSP@.cfg.
* mw-fb/Makefile.am: Don't include @RTEMS_BSP@.cfg.
* rtmonuse/Makefile.am: Don't include @RTEMS_BSP@.cfg.
* serdbg/Makefile.am: Don't include @RTEMS_BSP@.cfg.
* shell/Makefile.am: Don't include @RTEMS_BSP@.cfg.
* stackchk/Makefile.am: Don't include @RTEMS_BSP@.cfg.
* untar/Makefile.am: Don't include @RTEMS_BSP@.cfg.
* wrapup/Makefile.am: Don't include @RTEMS_BSP@.cfg.
* capture/Makefile.am: Use .$(OBJEXT) instead of .o.
* cpuuse/Makefile.am: Use .$(OBJEXT) instead of .o.
* devnull/Makefile.am: Use .$(OBJEXT) instead of .o.
* dummy/Makefile.am: Use .$(OBJEXT) instead of .o.
* dumpbuf/Makefile.am: Use .$(OBJEXT) instead of .o.
* monitor/Makefile.am: Use .$(OBJEXT) instead of .o.
* mw-fb/Makefile.am: Use .$(OBJEXT) instead of .o.
* rtmonuse/Makefile.am: Use .$(OBJEXT) instead of .o.
* serdbg/Makefile.am: Use .$(OBJEXT) instead of .o.
* shell/Makefile.am: Use .$(OBJEXT) instead of .o.
* stackchk/Makefile.am: Use .$(OBJEXT) instead of .o.
* untar/Makefile.am: Use .$(OBJEXT) instead of .o.
* untar/Makefile.am: Use 'PREINSTALL_FILES ='.
* monitor/Makefile.am: Use 'PREINSTALL_FILES ='.
* shell/Makefile.am: Use 'PREINSTALL_FILES ='.
* devnull/Makefile.am: Use 'PREINSTALL_FILES ='.
* dumpbuf/Makefile.am: Use 'PREINSTALL_FILES ='.
* mw-fb/Makefile.am: Use 'PREINSTALL_FILES ='.
* stackchk/Makefile.am: Use 'PREINSTALL_FILES ='.
* rtmonuse/Makefile.am: Use 'PREINSTALL_FILES ='.
* cpuuse/Makefile.am: Use 'PREINSTALL_FILES ='.
* rootfs/Makefile.am: Use 'PREINSTALL_FILES ='.
* devnull/devnull.c (null_initialize): Added check to
ensure that the driver is only initialized once. Otherwise,
it will abort when the device /dev/null is present.
(null_write): Do not dereference a NULL pointer.
* devnull: New addition. Moved from libcpu/sh.
* devnull/devnull.c, devnull/devnull.h, devnull/.cvsignore,
devnull/Makefile.am: New files.
* Makefile.am, configure.in, wrapup/Makefile.am: Modified to reflect
addition of above.