RTEMS 6 has moved the legacy network support out of the main repo
to a 3rd party library. This change adds support for using the
legacy networking stack with EPICS in a backwards compatible way.
A BSP can be built with libbsd or the legacy stack and by default
EPICS 7 assumes libbsd.
This patch also fixes the LDFLAGS adding the RTEMS LDFLAGS imported
from Makefile.inc.
Markdown can be generated from .pod and .dbd.pod files.
Markdown will be generated and installed by "make inc".
Co-authored-by: Timo Korhonen <timo.korhonen@ess.eu>
Co-authored-by: Andrew Johnson <anj@anl.gov>
The problem is that VSCode's make extension, in order to determine
some information about the project, runs
```
make --dry-run --always-make
```
which despite its name will actually try to remake the configure/*
files. Running `installEpics.pl` on these will delete them first,
then try copy them, resulting in an error.
Since Make version 4.4, MAKEFLAGS also contains long options and
overridden variables on the command-line[1].
[1]: https://git.savannah.gnu.org/cgit/make.git/tree/NEWS?h=4.4#n67
This means that parsing by filtering out '--%' doesn't work reliably
anymore, since it doesn't remove overrides:
Running 'make VAR=quacks' gives 'MAKEFLAGS=" -- VAR=quacks"', and
'checkflags' would understand that flags -q, -s, ... were set.
This would get transmitted below into 'QUIET_FLAGS' and
'QUESTION_FLAG', then passed to the 'genVersionHeader.pl' as '-i' and
'-q'.
The result would be that 'genVersionHeader.pl' would never create the
version header (only check for its up-to-date status), leading to
confusing errors:
../misc/epicsRelease.c:25:32: error: expected ')' before 'EPICS_VCS_VERSION'
25 | printf ( "## %s\n", "Rev. " EPICS_VCS_VERSION );
| ~ ^~~~~~~~~~~~~~~~~~
The NEWS file[1] recommends using 'firstword', but unfortunately this is
not compatible with GNUMake < 3.82.
FreeBSD 13 uses clang, not gcc, any more.
GNU_DIR must be set to /usr/local
Note: This change touches both the x86 and the x86_64 files.
It was tested on 'amd64' system only, which is x86_64
Commit b38ff09f6e and
commit d9ca8a70f0 introduced the TAB
completion in iocsh.
Commit 1f75813a4d enabled it for MacOs
having readline installed via HomeBrew.
This commit enables it for MacPorts.
That .pod file will now be converted to .html using the same style as
the individual local documents that it links to.
The dbdToHtml output files now include a header and footer that link to
the ComponentReference.html file (they started pointing to the original
RecordReference.html but that was broken on most people's builds because
we weren't converting that from the original Markdown version).
This commit also adjusts documentation/Makefile to use the build system
properly, and reorders the Doxygen main page index.
It's been deprecated by Apple in latest XCode and generates warning
messages when creating .dylib libraries, but they don't yet have a
solution for use when creating loadable libraries (.bundle files).
* The build can't descend into external submodules when there is no
configure/RULES_TOP file present in $(INSTALL_LOCATION).
* Recreate modules/RELEASE.<host>.local if configure/CONFIG_SITE or
configure/CONFIG_SITE.local have changed.
* Move the distclean of modules/RELEASE.<host>.local to RULES_TOP
* Several comment and white-space changes
On linux-arm STATIC_BUILD used the `-static` flag
which leads for some reason to the executables being
linked against `/lib/ld.so.1` which does not exists.
Setting `STATIC_LDFLAGS_YES= -Wl,-Bstatic` in CONFIG.linux-arm.linux-arm
fixed this issue for me.
This reverts commit 3e8f3a1ee9
which was wrong - recipes that start with '-' are still echoed,
they just don't fail the build if they don't succeed.
This fixes setting CHECK_RELEASE = WARN in configure/Makefile