Compare commits

...

555 Commits

Author SHA1 Message Date
Andrew Johnson
abfe30ef13 Set version numbers for release
Some checks failed
Base / CentOS-7 (push) Failing after 1s
Base / CentOS-8 (push) Failing after 2s
Base / Fedora-33 (push) Failing after 1s
Base / Fedora-latest (push) Failing after 2s
Base / Win2019 MSC-19, static (push) Has been cancelled
Base / Ub-20 clang-10 C++11 (push) Has been cancelled
Base / MacOS clang-12 (push) Has been cancelled
Base / Ub-20 clang-10 (push) Has been cancelled
Base / Ub-20 gcc-9 + MinGW (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-4.10 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-4.9 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-5.1 beatnik (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-5.1 pc686 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-5.1 uC5282 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-5.1 xilinx_zynq_a9_qemu (push) Has been cancelled
Base / Win2019 mingw (push) Has been cancelled
Base / Ub-20 gcc-9 C++11, static (push) Has been cancelled
Base / Ub-20 gcc-9 + MinGW, static (push) Has been cancelled
Base / Win2019 MSC-19, debug (push) Has been cancelled
Base / Win2019 MSC-19 (push) Has been cancelled
2021-10-06 20:11:17 -05:00
Andrew Johnson
9895ee8b53 Release notes 2021-10-06 20:06:22 -05:00
Andrew Johnson
78b7441383 Checkout submodules for release 2021-10-06 17:23:31 -05:00
Andrew Johnson
48d070d29d UNRELEASED => EPICS 7.0.6.1 for Release 2021-10-06 15:28:20 -05:00
Andrew Johnson
a5864e152b Adjust Doxygen annotation comments 2021-10-06 15:21:36 -05:00
Andrew Johnson
b6da758275 Merge the mbboDirect-bit-fields branch into 7.0
Fixes: lp: #1939568
2021-10-05 17:21:18 -05:00
Andrew Johnson
59ee7b32bc "Desired Output": change "Loc" to "Link" in prompt string 2021-10-05 00:19:50 -05:00
Andrew Johnson
3f43b0bb8a Record POD updates
Mostly fixing links and adding some field tables.
Some rewriting of descriptions.
2021-10-04 23:57:01 -05:00
Andrew Johnson
e867b0a095 mbboDirect: Document the behavior changes
Wording assumes this will go into the EPICS 7.0.6.1 release.
2021-10-04 23:36:01 -05:00
Andrew Johnson
dabcf893f7 mbboDirect: Fix initialization from VAL vs. B* 2021-10-03 00:53:35 -05:00
Andrew Johnson
bf2cdc9f61 mbboDirect: Remove debugging db_post_events() calls 2021-10-02 19:52:11 -05:00
Andrew Johnson
2ce583ffff Apply suggested changes to DEBUG fixes 2021-10-01 14:53:55 -05:00
Andrew Johnson
98aac49a8b Merge Torsten's FixCompilationErrorsForDEBUG branch 2021-10-01 14:44:38 -05:00
Andrew Johnson
66ff5a7bb6 Update pvAccess submodule 2021-09-25 22:55:14 -05:00
Andrew Johnson
23e55bf247 Makefile tweak 2021-09-25 22:52:57 -05:00
Andrew Johnson
687dad47da aSub POD: Note about accessing the NOT field 2021-09-25 22:45:37 -05:00
Andrew Johnson
7d2ca62a78 Misc doxygen fixes and updates 2021-09-25 22:34:05 -05:00
Andrew Johnson
3d09106b51 Merge 3.15 branch into 7.0 2021-09-17 11:44:04 -05:00
Andrew Johnson
5cddcea829 Change the epicsTimerTest delayVerify failure condition
This test verifies timer delays between 1.0 and 3.4 seconds.
A test failure now means the measured delay was more than
0.25 seconds different than the request, instead of being
5% of the request. This should now pass on GHA macOS.

On the 7.0 branch it should call testImpreciseTiming() and
use a smaller absolute delay threshold for better targets.
2021-09-17 11:16:00 -05:00
Andrew Johnson
9b69e63a69 Update GHA config, drop Ubuntu-16.04 builds 2021-09-17 10:06:10 -05:00
Andrew Johnson
422513990e Release notes for Win32 timer fix. 2021-09-16 14:54:31 -05:00
Andrew Johnson
3313860691 Win32 osdThread.c polishing
A little optimization of Freddie's code
Rename the new non-public routine
2021-09-16 14:45:25 -05:00
Andrew Johnson
2b8eb97b79 Merge Freddie's refactor_get_param_win32 branch 2021-09-16 13:28:42 -05:00
Andrew Johnson
9842bd1b20 Prefer to install %.html files from O.Common 2021-09-16 13:21:59 -05:00
Andrew Johnson
e7ea81c7a2 Reference doc tweaks to the dfanout record 2021-09-14 18:26:32 -05:00
Andrew Johnson
c528948f45 Adjust build rules for POD to HTML conversion 2021-09-14 18:25:30 -05:00
Freddie Akeroyd
00e9ecf7b5 Fix typo in osdThreadGetTimer 2021-09-11 22:19:40 +01:00
Freddie Akeroyd
65b34874bd Check for NULL in osdThreadGetTimer 2021-09-11 22:17:09 +01:00
Freddie Akeroyd
939d84f31a Refactor to use common epicsThreadGetParamWIN32() function 2021-09-11 22:10:10 +01:00
Andrew Johnson
fe4050b8c9 Workaround for RTEMS-mv2[17]00 parallel builds 2021-09-03 17:27:17 -05:00
Andrew Johnson
1fd7190cf5 Fix RTEMS-4 uC5282 build and atomic typos 2021-09-03 17:25:45 -05:00
Andrew Johnson
8e2f78caf5 dbStatic: Better error reports for bad JSON string chars 2021-09-03 14:16:37 -05:00
Andrew Johnson
33ffabaa93 Minimum Perl version is 5.10.1 2021-09-03 14:13:45 -05:00
Michael Davidsaver
9c1340d7d5 cleanup mbboDirect bit field handling
B0 -> BF shall always follow the corresponding bit in VAL.

Remove special handling for OMSL.
2021-09-01 12:15:35 -07:00
Torsten Bögershausen
420fb45fbc Fix several compilation errors for -DDEBUG
After Adding "-DDEBUG" to the compiler options some files don't
compile any more.
Fix the compilation errors.
2021-09-01 11:13:40 +02:00
Michael Davidsaver
7ce69155a9 test regressLinkSevr 2021-08-29 07:34:53 -07:00
Michael Davidsaver
f6e8a75026 Fix DB link to DBF_MENU as DBF_STRING 2021-08-29 07:32:36 -07:00
Michael Davidsaver
88079c9107 long CALC$ regressTest 2021-08-29 07:31:11 -07:00
Michael Davidsaver
82ec539e49 Fix long string handling for CALC$ 2021-08-29 07:30:20 -07:00
Michael Davidsaver
e34b6c5c0c Fix spelling in comments
Should be non-functional, except for some error message strings.
2021-08-29 07:27:50 -07:00
42d06d6a38 Fix bugs in dbRecordNameValidate() 2021-08-29 07:25:14 -07:00
Michael Davidsaver
21e7e4ddfb cleanup regressTest 2021-08-15 10:27:37 -07:00
Andrew Johnson
4efa937429 Merge Lewis' calcout-doc-fix branch into 7.0 2021-08-10 20:59:59 -05:00
Andrew Johnson
a0ab5aa4a3 Merge Kay's int64in_monitor branch into 7.0 2021-08-10 20:58:26 -05:00
Andrew Johnson
7c6d049698 Merge branch 'gcc-atomic-cleanup' into 7.0 2021-08-10 20:54:39 -05:00
Andrew Johnson
8175cc8e64 POD text updates to dbCommon and various record types 2021-08-10 20:35:19 -05:00
Andrew Johnson
72626cd5dd Add newlines to a couple iocsh usage strings 2021-08-10 20:31:16 -05:00
Andrew Johnson
8beb7bd2c8 Restore the -p flag to MKDIR which RTEMS host.cfg removes 2021-08-10 20:29:32 -05:00
Michael Davidsaver
cb8c7998b6 epicsTime: rework
Re-implement around epicsTimeStamp (C API)
with class epicsTime becoming a wrapper.

Prefer epicsInt64 arithmetic.

Remove opaque struct l_fp (NTP time conversion)
2021-08-05 08:30:53 -07:00
JJL772
7c991f3f2a Fix segfault in dbtpn when value parameter is nullptr
Running 'dbtpn Record' in iocsh would result in a segfault.
2021-08-05 08:30:53 -07:00
JJL772
32d76623f2 Fix potential memory leak on error
In osdThread.c for POSIX if pthread_create_key fails
In iocLogServer.c if fdmgr_init returns NULL
In dbBkpt.c if semaphore creation fails while adding a bp to a lockset
In devSiSoftCallback.c if linked record is not found
2021-08-05 08:30:23 -07:00
Andrew Johnson
540a5c87d9 Adjust wording of classification descriptions 2021-08-02 18:26:44 -05:00
Andrew Johnson
a667cc7aa4 Move GCC+Clang common headers to a new file 2021-08-02 18:26:02 -05:00
Michael Davidsaver
78d2f20fa8 Com: Adjust epicsAtomic conditionals for GCC
cf. https://bugs.launchpad.net/epics-base/+bug/1932118
2021-08-02 18:13:40 -05:00
Kay Kasemir
3091f7c56f int64in: Fix monitor delta test
Only the lower 32 bit used to be compared.
https://bugs.launchpad.net/epics-base/+bug/1938459
2021-07-29 14:38:16 -04:00
Andrew Johnson
ec87b2a867 recGbl: Update to using dbGetTimeStampTag() 2021-07-21 11:08:06 -05:00
Andrew Johnson
7a6aa3edd1 waveform: Update POD, describe BUSY field 2021-07-21 11:06:34 -05:00
Andrew Johnson
16c3202992 waveform: Add back lost PACT = TRUE
Fixes GitHub Issue #187
2021-07-21 11:05:41 -05:00
8e11406fc6 Fix calcout rec doc typo: s/If it met/If met/ 2021-07-21 09:53:11 -05:00
Michael Davidsaver
967846b950 tap files are PRECIOUS 2021-07-18 08:21:46 -07:00
Michael Davidsaver
e5aece682e ci: replace GHA deprecated ubuntu-16.04 with CentOS/Fedora builds
Maintain coverage of older GCC on Linux
2021-07-15 13:46:14 -07:00
Andrew Johnson
f801ca0501 Drop version number from README 2021-07-03 21:26:18 -05:00
Andrew Johnson
9363052956 Update submodules after release 2021-07-03 20:56:53 -05:00
Andrew Johnson
f5cb3cf8f6 Update version numbers after tagging 2021-07-03 20:56:32 -05:00
Andrew Johnson
5912445991 Set version numbers for release
Some checks failed
Base / Ub-20 clang-10 C++11 (push) Has been cancelled
Base / MacOS clang-12 (push) Has been cancelled
Base / Ub-16 clang-9 (push) Has been cancelled
Base / Ub-20 clang-10 (push) Has been cancelled
Base / Ub-20 gcc-9 + MinGW (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-4.10 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-4.9 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-5.1 beatnik (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-5.1 pc686 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-5.1 uC5282 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-5.1 xilinx_zynq_a9_qemu (push) Has been cancelled
Base / Win2019 mingw (push) Has been cancelled
Base / Ub-20 gcc-9 C++11, static (push) Has been cancelled
Base / Ub-20 gcc-9 + MinGW, static (push) Has been cancelled
Base / Ub-16 gcc-4.8 (push) Has been cancelled
Base / Ub-16 gcc-4.9 (push) Has been cancelled
Base / Ub-20 gcc-8 (push) Has been cancelled
Base / Ub-20 gcc-9 (push) Has been cancelled
Base / Win2019 MSC-19, debug (push) Has been cancelled
Base / Win2019 MSC-19 (push) Has been cancelled
Base / Win2019 MSC-19, static (push) Has been cancelled
2021-07-03 20:46:58 -05:00
Andrew Johnson
67bf1a72e7 Substitute version in @since UNRELEASED annotations 2021-07-03 20:14:04 -05:00
Andrew Johnson
ba3550c287 Update submodules for release 2021-07-02 16:28:22 -05:00
Andrew Johnson
c0cfeb249a Merge Dirk's vxWorks6.3-fix branch 2021-07-02 12:05:31 -05:00
Michael Davidsaver
710c50b5ed add initHookTest 2021-06-30 13:40:53 -07:00
Michael Davidsaver
8e7d3e9216 re-sync initHookName() with initHookState enum 2021-06-30 13:40:50 -07:00
Michael Davidsaver
e2d3b9a246 osiSockTest: ignore large messages on WIN32 2021-06-30 13:40:43 -07:00
Michael Davidsaver
5feb18b0b0 update PVD/PVA modules 2021-06-30 10:47:05 -07:00
Andrew Johnson
7ca25d3c88 Check module set EPICS_BASE in a RELEASE file 2021-06-29 21:59:57 -05:00
Andrew Johnson
dff72029f1 Fix typos in internal build variable names 2021-06-29 21:57:42 -05:00
Andrew Johnson
f2ac69604d Fix typos in Release Notes 2021-06-29 21:55:54 -05:00
Andrew Johnson
f92b4b456a Merge 3.15 branch changes into 7.0 2021-06-29 21:51:44 -05:00
Andrew Johnson
67fcd65656 Update versions after tagging 2021-06-27 12:20:41 -05:00
Andrew Johnson
3be67aca3c Releasing R3.15.9
Some checks failed
Base / Ub-20 gcc-8 (push) Has been cancelled
Base / Ub-16 gcc-4.9 (push) Has been cancelled
Base / Win2019 MSC-19 (push) Has been cancelled
Base / Ub-20 clang-10 (push) Has been cancelled
Base / Ub-20 clang-10 C++11 (push) Has been cancelled
Base / MacOS clang-12 (push) Has been cancelled
Base / Ub-16 clang-9 (push) Has been cancelled
Base / Ub-20 gcc-9 + MinGW (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-4.10 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-4.9 (push) Has been cancelled
Base / Ub-20 gcc-9 C++11, static (push) Has been cancelled
Base / Ub-20 gcc-9 + MinGW, static (push) Has been cancelled
Base / Ub-16 gcc-4.8 (push) Has been cancelled
Base / Win2019 MSC-19, static (push) Has been cancelled
2021-06-27 12:18:45 -05:00
Andrew Johnson
ebf4a155d7 Added missing entries to Release Notes 2021-06-26 18:08:52 -05:00
Andrew Johnson
28531b0dbb Reworked the README.md file
Lots of updates; removed version number
2021-06-26 17:57:33 -05:00
Andrew Johnson
5c3ecf9054 Dump the Darwin README file, very dated 2021-06-26 17:55:11 -05:00
Andrew Johnson
c7e2acb1a6 Merge Freddie's fix_socket_include branch into 7.0 2021-06-25 10:10:00 -05:00
Andrew Johnson
51c1a33687 Merge changes from 3.15 into 7.0 2021-06-25 10:02:21 -05:00
Freddie Akeroyd
e8c5748f89 Use <osiSock.h> rather than <osdSock.h> 2021-06-25 11:37:07 +01:00
Freddie Akeroyd
4dad8ca503 Use <osiSock.h> rather than <osdSock.h>
Fix compile issue building PCAS module, which just includes
<caProto.h> resulting in LIBCOM_API being undefined
2021-06-25 11:27:20 +01:00
c36485ab2e fix missing declaration of 'close' function in vxWorks 6.3 and lower 2021-06-24 10:54:14 +02:00
Kathryn Baker
1cacd058cd Stdio doxygen annotations 2021-06-20 19:17:44 -05:00
Andrew Johnson
ce876d6f11 Adjust RTEMS-mvme2100 and -mvme2700 build config's
Untested.
These changes let them build, but `make -j` is still broken.
2021-06-20 13:13:31 -05:00
Andrew Johnson
cb5f68994f Squish various compiler warnings
* CPP's defined() is UB outside of a #if line
* Use (void)! cast to prevent recent GCCs & glibc from warning
  about ignoring the return status from chdir()
2021-06-20 12:47:38 -05:00
ac6eb5e212 Protect callbackRequest() from failed callbackInit()
Fixes lp: #1932120
2021-06-20 12:29:41 -05:00
b5265ed853 Fix vxWorks version of epicsAtomicCmpAndSwapIntT()
vxCas() returns TRUE or FALSE, not the original target value.

Fixes lp: #1932118
2021-06-20 12:22:15 -05:00
Andrew Johnson
983f77e119 Let build find convertRelease.pl before it's installed
There are several different cases that FIND_TOOL has to handle,
and all 3 file paths given are needed in different circumstances:

1. First build of Base after checkout/untar
2. During builds after the script has been installed
3. In a submodule during 'make distclean' or 'make cvsclean'

Fixes lp: #1932033
2021-06-17 13:34:00 -05:00
Michael Davidsaver
ca2ea14082 dbEvent: join worker 2021-06-16 08:15:18 -07:00
Michael Davidsaver
b35064d26c Revert "dbEvent simplify db_close_events() with join"
This reverts commit 37a76b433a.

# Conflicts:
#	modules/database/src/ioc/db/dbEvent.c
2021-06-16 08:15:18 -07:00
Michael Davidsaver
256babf961 quiet use "may be used uninitialized" warnings 2021-06-15 08:10:48 -07:00
Andrew Johnson
b471e8388f GHA: Don't worry if no artifacts to upload 2021-06-14 18:23:47 -05:00
Andrew Johnson
f825136f65 makeBaseApp.pl: Allow relative paths to $0 2021-06-14 18:22:23 -05:00
Andrew Johnson
3c329c1b48 Disable some RTEMS targets, tests on RTEMS-pc686-qemu 2021-06-10 10:15:08 -05:00
Andrew Johnson
6c7214ee06 Add tests for special link fields too 2021-06-09 18:09:18 -05:00
Andrew Johnson
b42a145824 Regression tests for RSET::special() return status
Adds tests to ensure that a record's special() routine can
return an error status that gets fed back to the client from
both before and after special() calls.

This was broken from 3.15 through 7.0.5 inclusive.
2021-06-09 18:09:18 -05:00
Andrew Johnson
c98e5085c3 Merge branch 'drop-obselete-archs' into 7.0 2021-06-05 02:17:08 -05:00
Andrew Johnson
5ccc11569b Oops, fix path 2021-06-05 02:16:43 -05:00
Andrew Johnson
dcee3b2c33 Document removals 2021-06-05 02:10:28 -05:00
Andrew Johnson
b5a3e4aea5 Drop RTEMS-gen68360, RTEMS-mcp750 and RTEMS-mvme167 2021-06-05 01:59:27 -05:00
Andrew Johnson
0f90793d17 Obsolete Extensions template files 2021-06-05 01:56:30 -05:00
Andrew Johnson
a17c30e51f Drop CPU-specific linux-[3456]86 cross-targets 2021-06-05 01:56:30 -05:00
Andrew Johnson
462916f9e4 Drop RTEMS-at91rm9200ek and RTEMS-psim targets 2021-06-05 01:56:14 -05:00
Andrew Johnson
6d96ea06d0 Remove linux-cris target files 2021-06-05 01:52:53 -05:00
Andrew Johnson
5e61f7e499 Remove aix-ppc files from extensions template 2021-06-05 01:52:53 -05:00
Andrew Johnson
ead24c4fd6 Drop macOS i386 ARCH_CLASS, add arm64 2021-06-05 01:52:53 -05:00
Andrew Johnson
f3da6e9464 Drop macOS PowerPC host-arch's 2021-06-05 01:52:52 -05:00
Andrew Johnson
8e468da4cc Rename RTEMS-kernel to RTEMS-score (OS_API) 2021-06-05 01:34:03 -05:00
Andrew Johnson
1b825da9ec Add missing dependency 2021-06-04 18:29:29 -05:00
Andrew Johnson
c6247329ab Fix warning when not using CLOEXEC 2021-06-04 18:29:01 -05:00
Andrew Johnson
c5c6facc3e Update Release Notes for RTEMS-5 port 2021-06-04 18:03:37 -05:00
Andrew Johnson
57fab5104f Fixed indentation in GHA config file 2021-06-04 16:36:23 -05:00
Andrew Johnson
c7eb41abbc Attempt to fix GHA config file 2021-06-04 16:31:54 -05:00
Andrew Johnson
ac0693f2f2 Merge 7.0 into rtems5 2021-06-04 16:11:10 -05:00
Andrew Johnson
e8512ceba0 Drop pragma message in rtems_init 2021-06-04 15:59:13 -05:00
Andrew Johnson
e4ce0ec255 Adjust Max FDs to match newlib 2021-06-04 15:58:29 -05:00
Andrew Johnson
e3e9d9bb37 Merge rtems5 branch into 7.0 2021-06-04 15:56:30 -05:00
Andrew Johnson
75caf83194 Fix old comments 2021-06-04 13:27:54 -05:00
Andrew Johnson
38c146d89d RTEMS-uC5282 BSP provides bspExtMemProbe() 2021-06-04 13:27:10 -05:00
Andrew Johnson
457febb3a6 Fix implicit declaration of memcpy() 2021-05-20 13:28:30 -05:00
b777233efb Support glob pattern for epicsEnvShow
Add epicsStrnGlobMatch with tests
2021-05-19 12:11:06 -07:00
Michael Davidsaver
08b741ed05 ca: fallback to repeater thread if unable to exec caRepeater
Silently fallback to in-process repeater thread on all targets.
Including on host targets when caRepeater executable is unavailable.
2021-05-19 11:07:53 -07:00
Michael Davidsaver
a9457fc02b osiSpawnDetachedProcess() prefix process name with '!' to silence warning 2021-05-19 10:55:38 -07:00
Michael Davidsaver
f8e720da28 posix: osiSpawnDetachedProcess() find out if exec() errors.
Presently, success just means fork()
2021-05-19 10:55:38 -07:00
555e671246 allow glob pattern in var command 2021-05-19 10:54:49 -07:00
Michael Davidsaver
5f1eb1dd9e Merge remote-tracking branch 'origin/3.15' into 7.0
* origin/3.15:
  ci: install versioned g++
  Fix issue with very large timeout passed to epicsEventWaitWithTimeout()
2021-05-19 09:46:16 -07:00
Michael Davidsaver
8adf03f74a update release notes 2021-05-19 09:44:38 -07:00
Ralph Lange
379a68b93c Fix simmTest failures on targets with imprecise timing 2021-05-19 09:03:27 -07:00
Michael Davidsaver
1b8a1ebd07 deprecate epicsThreadExitMain() 2021-05-19 09:02:55 -07:00
Michael Davidsaver
de3cdcef39 softIoc: spin to keep alive 2021-05-19 09:02:55 -07:00
Michael Davidsaver
315fb3df69 init scripts use FINAL_LOCATION 2021-05-19 09:02:21 -07:00
Michael Davidsaver
fa9fb0a3ca one FINAL_LOCATION 2021-05-19 09:02:21 -07:00
Michael Davidsaver
857527280b ci: install versioned g++ 2021-05-19 08:49:24 -07:00
Freddie Akeroyd
d1ddbad053 Fix issue with very large timeout passed to epicsEventWaitWithTimeout()
A very large timeout was getting converted to a 0 wait and causing
some unit tests to fail in strange and random ways. Not trapping
large timeouts was an oversight when converting to waitable timers
on WIN32
2021-05-19 08:46:11 -07:00
Andrew Johnson
2952d114f5 Merge Hugo's missing_epics_base branch into 7.0 2021-05-17 18:24:18 -05:00
Andrew Johnson
1db35d9edc Cosmetic changes to template configure/CONFIG files 2021-05-17 12:16:55 -05:00
Andrew Johnson
cc3e1039ce checkRelease(): expand EPICS_BASE checks 2021-05-17 12:13:53 -05:00
Andrew Johnson
e20502fb4c Remove EPICS_BASE check from releaseTops() 2021-05-17 12:12:19 -05:00
Andrew Johnson
9cca12936d Expand EPICS_BASE checks in templates 2021-05-17 12:11:00 -05:00
Michael Davidsaver
28f3239b32 set SONAME for cross builds 2021-05-12 19:30:43 -07:00
Andrew Johnson
6a9d92f8f4 Merge 3.15 branch into 7.0 2021-05-06 12:33:47 -05:00
Andrew Johnson
b55c019f10 Merged Freddie's waitable_timers branch into 3.15 2021-05-05 17:55:00 -05:00
Andrew Johnson
31584e52be Merged Ralph's win-Z7 branch into 3.15 2021-05-05 17:49:11 -05:00
Torsten Bögershausen
dc03d519fb Proper CRLF handling
Add proper CLRF-LF rules to .gitattributes.
Renormalize the bat files to LF in the repo and CRLF on disk.

Remove executable bit of files which shouldn't have it set
2021-05-05 08:34:05 -07:00
Andrew Johnson
2eb5af3167 Return dbPutSpecial(paddr, 1) status from dbPut()
The status from RSET::special(paddr, 1) has not been returned
to the put caller since 3.14, due to a bad up-merge.
2021-05-04 11:18:54 -05:00
Hugo Slepicka
f02884d996 Add error message for when EPICS_BASE is not set on templates.
Add error message and validation at convertRelease.pl for empty RELEASE files.
2021-04-29 17:11:36 -07:00
Andrew Johnson
71a1ff1292 Merge branch 'timeout-tests' into 7.0 2021-04-26 18:16:08 -05:00
Andrew Johnson
c07ebcee5c Added "Win2019 MSC-19, debug" build to GHA
... as suggested by Freddie.
2021-04-23 18:26:19 -05:00
Michael Davidsaver
b00130493f update .ci 2021-04-21 16:03:36 -07:00
Andrew Johnson
4c63cb79dd Disable netget test on CI systems 2021-04-21 13:13:56 -05:00
Andrew Johnson
67bbc0fa21 Increase default timeout, improve notes 2021-04-20 20:21:05 -05:00
Andrew Johnson
58a9767aa4 Release notes describing test timeouts 2021-04-20 20:21:05 -05:00
Andrew Johnson
54d40a398a Correct comments in makeTestfile, add "export" 2021-04-20 20:21:05 -05:00
Andrew Johnson
cbab8daae0 Turn off debug in netget.plt 2021-04-20 20:21:05 -05:00
Andrew Johnson
e3d04e9cd8 Make BAIL_OUT display what was thrown 2021-04-20 20:21:05 -05:00
Andrew Johnson
cde7d3d254 Kill CA & PVA clients properly if they time out
Uses Win32::Process or fork() to run caget/pvget.

The system_timeout() and qx_timeout() utilities added here
should be extracted into a separate EPICS::Timeouts module.
2021-04-20 20:21:05 -05:00
Andrew Johnson
e2a9678b15 netget: watchdog() now returns a result
Currently this can only be a scaler value.
On timeout, calls the fail function and returns its result instead.
2021-04-20 20:21:05 -05:00
Andrew Johnson
e2313d0c58 Generate comments on how to adjust the timeout 2021-04-20 20:21:05 -05:00
Andrew Johnson
e812323792 Replace Win32::Job with Win32::Process
GitHub Actions builders won't let us use Win32::Job
2021-04-20 20:21:05 -05:00
Andrew Johnson
396624fefc Timeouts for running unit test programs
The generated .t file now kills the test program if it hasn't
completed within a defined interval, 5 minutes by default.
Separate implementations for Windows and Unix hosts.
2021-04-20 20:21:05 -05:00
Andrew Johnson
f727d16b0d CI: Allow up to 5 minutes for make test-results 2021-04-20 17:39:25 -05:00
Andrew Johnson
348d1bba17 Update CI test configurations
- Limit test-results step to 1 min in case a test hangs without
  generating a tapfile, as `make test-results` may re-run it.
- Limit Appveyor tests to 20 mins.
- Always run `make test-results` on GHA.
2021-04-06 18:05:46 -05:00
Michael Davidsaver
0edf986c31 minor and doc 2021-04-05 10:35:30 -07:00
Michael Davidsaver
3f4432b7bd review cleanup 2021-04-05 10:31:25 -07:00
Michael Davidsaver
f69b938401 dbfl_type_rec goes away 2021-04-05 10:31:25 -07:00
Michael Davidsaver
bd3ecf1cbc Split out amsg/utag options through dbGet() 2021-04-05 10:31:25 -07:00
Michael Davidsaver
b94afaa045 UTAG uint64 2021-04-05 10:31:25 -07:00
Michael Davidsaver
1ceb26eeb8 add utag filter 2021-04-05 10:31:25 -07:00
Michael Davidsaver
633859d7ab pass amsg/utag through dbGet() options 2021-04-05 10:31:25 -07:00
Michael Davidsaver
aad3476c04 add dbDbLinkTest 2021-04-05 10:31:25 -07:00
Michael Davidsaver
12f1818b39 propagate utag w/ links (including TSEL)
add lset::getTimestampTag()
2021-04-05 10:31:25 -07:00
Michael Davidsaver
4ca765d813 dbCommon add UTAG 2021-04-05 10:31:25 -07:00
Michael Davidsaver
5143c71a43 add lset::getAlarmMsg() 2021-04-05 10:31:25 -07:00
Michael Davidsaver
a12684e7ad AMSG feature test 2021-04-05 10:31:25 -07:00
Michael Davidsaver
d19586fdfd use recGblSetSevrMsg() 2021-04-05 10:31:25 -07:00
Michael Davidsaver
892a361de7 add alarm message field 2021-04-05 10:31:25 -07:00
Michael Davidsaver
235f8ed2fb add db_field_log::mask
Allow filters to distingush DBE_PROPERTY
2021-04-05 10:31:25 -07:00
Michael Davidsaver
91b2b65c68 doc 2021-04-04 22:51:46 -07:00
Marcio Paduan Donadio
614961da17 iocsh: set PWD
Set the env variable PWD during libCom IOC shell function registration.
Change environment variable PWD when a user calls cd from the IOC shell
2021-04-04 12:26:07 -07:00
Kathryn Baker
dd09afc4e8 Addying Doxugen annotations for cvtFast.h and freeList.h 2021-04-04 11:21:44 -07:00
Michael Davidsaver
417821ddc0 fixups for DBCORE_API 2021-04-01 11:09:53 -07:00
Michael Davidsaver
0f428ea334 use DBCORE_API
git ls-files modules/database/src/ioc|egrep '\.[hc]p*$' | xargs sed -i \
 -e 's|epicsShareFunc|DBCORE_API|g' \
 -e 's|epicsShareClass|DBCORE_API|g' \
 -e 's|epicsShareExtern|DBCORE_API extern|g' \
 -e 's|epicsShareDef\s*||g' \
 -e 's|shareLib\.h|dbCoreAPI.h|g' \
 -e 's|epicsShareAPI|epicsStdCall|g' \
 -e '/#define\s*epicsExportSharedSymbols/d'
2021-04-01 10:57:19 -07:00
Michael Davidsaver
c829ca39d8 ci: enable overall test timeout 2021-04-01 10:20:47 -07:00
Michael Davidsaver
51cdfe9e8e ci: appveyor more recent mingw 2021-04-01 10:19:28 -07:00
Michael Davidsaver
6ed6dc11bb doc dbUnitTest.h 2021-04-01 10:19:14 -07:00
Andrew Johnson
0d2228b536 Recognize linux-ppc64 in EpicsHostArch.pl 2021-04-01 10:26:17 -05:00
Michael Davidsaver
3eeebb74cd Com: avoid intentional memory leak in epicsEnvSet
Switch default impl. to setenv/unsetenv
Switch WIN32 to use _putenv_s
On vxWorks putenv() is documented to make a copy.

log error, but never halt, if env (un)set not possible.

RTEMS <4.10 compat where unsetenv() returns void.
2021-03-29 10:55:30 -07:00
Michael Davidsaver
1bd041745b epicsEnvTest: ensure epicsEnvSet copies argument 2021-03-29 10:55:30 -07:00
Ralph Lange
fa069b0845 Revert config fixes for parallel builds with MSVC
This reverts commit 1454f42a27.
This reverts commit 4aee25e8e2.
2021-03-29 17:49:02 +02:00
Michael Davidsaver
e5aab6561c ci: remove travis debris 2021-03-26 11:48:57 -07:00
Ralph Lange
c78db512f2 Windows: use -Z7 instead of -Zi to generate debug symbols
"C7 compatible" or "old-style" debug information is kept local
in the translation unit (.obj file) and does not create issues
with parallel builds
2021-03-26 17:30:36 +01:00
Brendan Chandler
1c6b02b9be Merge remote-tracking branch 'origin/7.0' into rtems5 2021-03-25 18:41:15 -05:00
Andrew Johnson
f9ea6a5bff CI config and git export tweaks
Add paths-ignore filters for GHA PRs
Stop .tools/ and .gitattributes commits from triggering CI
Exclude CI files from git exports
2021-03-25 14:46:28 -05:00
Brendan Chandler
fc4379595e Update release note about RTEMS 5 support 2021-03-24 13:06:18 -05:00
Brendan Chandler
af2d4de942 Update release notes and documentation for RTEMS5 2021-03-19 13:17:07 -05:00
Michael Davidsaver
54e9d3f5d1 ci: github actions add mingw 2021-03-18 14:06:45 -07:00
Michael Davidsaver
7e01cdacac ci: GHA always upload tapfiles 2021-03-18 14:06:45 -07:00
Ziga Oven
746d21c71d Add usage messages 2021-03-18 14:06:45 -07:00
Brendan Chandler
3874c1bcfc Disable building mvme2100, mvme167, uC8252 for RTEMS5
Someone needs to take a look at these targets and get them to work
with RTEMS5, but for now, disable building them in the CI scripts.
2021-03-15 14:28:04 -05:00
Oksana Ivashkevych
7eb7988e55 Add usage to miscIocRegister.c and dbStaticIocRegister.c 2021-03-14 16:30:28 -07:00
Matthew Pearson
5daf4fc932 epicsStdlib.h: add doxygen comments. 2021-03-14 16:30:28 -07:00
Matthew Pearson
ef878808ce errlog.h: added doxygen comments. 2021-03-14 16:30:28 -07:00
Dominic Oram
1fcbdad5e9 Adds doxygen annotations to epicsType.h 2021-03-14 16:30:28 -07:00
Freddie Akeroyd
29e9843056 Add release notes entry for waitable timers 2021-03-12 19:24:09 +00:00
Michael Davidsaver
ca3ef9c61e dbUnitTest use dbChannel
Allows testing of server side filters
2021-03-12 09:16:31 -08:00
Andrew Johnson
e10b1d7660 Merge 3.15 branch into 7.0
Includes support for 'make inc'
2021-03-12 00:04:32 -06:00
Andrew Johnson
0c4ab7b24a Merge my 'make-inc-fix' branch into 3.15 2021-03-11 20:45:37 -06:00
Andrew Johnson
d831c2b384 Merge 'FreddieAkeroyd-use_epicsStrtod' into 3.15 2021-03-11 20:18:57 -06:00
Andrew Johnson
34d06b6e36 Merge branch 'gabrielfedel-fix_msi' into 3.15 2021-03-11 20:12:07 -06:00
Andrew Johnson
b2f7f4e173 Minor fixes in configure/RULES files 2021-03-11 18:13:44 -06:00
Michael Davidsaver
f30e9533c4 epicsLoadTest use INSTALL_LOCATION 2021-03-11 09:30:28 -08:00
Freddie Akeroyd
3c7fb7990f Use <epicsStdlib.h> 2021-03-11 15:08:00 +00:00
Andrew Johnson
c359b49aed Fix the 3.15 'make inc' build target
Now generates and installs dbd, header and html files.
No compilation involved/required.
2021-03-10 22:05:39 -06:00
Freddie Akeroyd
c140a0a804 Add additional cleanup and error handling 2021-03-10 21:58:35 +00:00
Gabriel Fedel
0bc2a3e999 Fix variable type and cast on msi.cpp
This way the attribution of i to cmdind is a valid value.
2021-03-10 14:37:14 +01:00
Freddie Akeroyd
8e7702c8a5 Use epicsStrtod, remove some warnings 2021-03-10 11:29:45 +00:00
Freddie Akeroyd
5f94ab6d9f Tidy up 2021-03-10 10:47:24 +00:00
Gabriel Fedel
6ac10d43b1 Fix type comparision on msi.cpp
This change fix the comparision of different signedess (int and long
unsigned int).
2021-03-10 09:45:01 +01:00
Andrew Johnson
436a5e7fa2 Fix markdown link in Release Notes
Found by Kathryn Baker
2021-03-10 01:14:56 -06:00
Andrew Johnson
09820d799e Fix POD-generated HTML anchor IDs 2021-03-10 01:14:56 -06:00
Freddie Akeroyd
c6af4a245d Use waitable timers 2021-03-10 01:17:47 +00:00
Andrew Johnson
9184983cf0 Merge branch Ticket80_use_os_strtod_if_above_vs_2015 2021-03-09 18:27:18 -06:00
Michael Davidsaver
979445c8fe ci: add gcc-9 build 2021-03-09 09:26:44 -08:00
Jack Harper
30172226f9 whoops, MSVC 1900 not 1800 2021-03-09 13:13:16 +00:00
Jack Harper
2ea0994507 tests passing 2021-03-09 13:04:57 +00:00
Andrew Johnson
f571c5950b Modify DBD processing scripts to output Doxygen comments 2021-03-08 21:39:39 -06:00
Andrew Johnson
6786b2e7c2 Modify the Doxyfile to match earlier settings 2021-03-08 21:25:24 -06:00
Michael Davidsaver
504191441d Merge remote-tracking branch 'github/pr/99' into 7.0
* github/pr/99:
  fix an out-dated comment in the array filter code
  add macro dbfl_pfield to db_field_log.h and use it in dbGet
  fix in dbGet: decide use of db_field_log based on whether it has copy or not
  add macro dbfl_has_copy to db_field_log.h and use it in dbAccess.c
  refactor db_field_log and filters to get rid of dbfl_type_rec
  make it clearer what the result of wrapArrayIndices will be
2021-03-07 21:17:21 -08:00
Andrew Johnson
3ba778c08b documentation/Makefile tweaks 2021-03-07 21:35:07 -06:00
Andrew Johnson
1fbbae73de Modify documentation/Doxyfile to parse include directory
Excludes the include/pv and include/pva directories,
which are processed separately in their own modules.
2021-03-07 20:27:45 -06:00
Andrew Johnson
4baf7912e1 Tidying up in documentation directory 2021-03-07 20:23:19 -06:00
Michael Davidsaver
01cc99ac87 ci: update toolchain and test more targets 2021-03-07 10:57:34 -08:00
Michael Davidsaver
c0886b3037 RTEMS: Drop dependency on bspExt
integrate the polling implementation of bspExt.
2021-03-07 09:42:42 -08:00
Andrew Johnson
31ade32004 Fixes for RTEMS-uC5282 with legacy stack 2021-03-04 23:15:31 -06:00
Brendan Chandler
c606048e57 rtems_config: Change config options based on BSP name
This replaces an implementation that used a header guard being defined
to indicate BSP specific options.  Hopefully this method is more
explicit when config options should be set for specific BSPs.
2021-03-04 14:11:42 -06:00
Brendan Chandler
f69ff5afde rtems_config: Fix typo in #if statement 2021-03-04 14:11:32 -06:00
Andrew Johnson
bbb4d86f78 Enable RTEMS testing in modules/database/test/std/link 2021-03-03 18:17:31 -06:00
Brendan Chandler
102e30eaa9 rtems_config: Guard using __RTEMS_MAJOR__ rather than net stack 2021-03-03 17:02:03 -06:00
Brendan Chandler
75063a69ec RTEMS ne2kpci: clean up when its included
This looks like a merge issue, where we included ne2kpci possibly
twice, based on CPU being i386 and BSP being pc686.  Just
checking CPU as i386 should be sufficient for all cases.
2021-03-03 15:58:37 -06:00
Brendan Chandler
f41276bef8 epicPosicMutexInit: avoid calling with 0 which is platform dependent
Different platforms (RTEMS5) can define different values for
PTHREAD_MUTEX_DEFAULT, so we shouldn't pass 0 assuming its
PTHREAD_MUTEX_DEFAULT.
2021-03-02 22:44:56 -08:00
Brendan Chandler
f34d744f5f Remove unused DHAVE_SOCKADDR_SA_LEN 2021-03-02 15:03:56 -06:00
Andrew Johnson
f9e3e86401 Support VxWorks 6.9.x before taskWait() was added
We don't know exactly which version this was added in,
but it is present in 6.9.4.1 so use that.

Fixes lp: #1913699
2021-03-02 11:54:17 -06:00
Brendan Chandler
8e50b3109a Allow RTEMS to use normal dlopen() symbols
RTEMS supports POSIX dlopen related symbols, so we should allow using them.
2021-03-02 09:23:27 -06:00
Michael Davidsaver
3c46542630 posix: epicsMutexOsdShowAll check for PI support 2021-03-02 06:47:43 -08:00
Andrew Johnson
f8eb0be7a4 Update submodules after release 2021-02-28 21:39:28 -06:00
Andrew Johnson
ff5df5fbf3 Update version numbers after tagging 2021-02-28 20:21:41 -06:00
Brendan Chandler
79242da515 epicPosicMutexInit: avoid calling with 0 which is platform dependent
Different platforms (RTEMS5) can define different values for
PTHREAD_MUTEX_DEFAULT, so we shouldn't pass 0 assuming its
PTHREAD_MUTEX_DEFAULT.
2021-02-28 20:07:33 -06:00
Andrew Johnson
7f142e03f5 Version number updates for 7.0.5 release
Some checks failed
Base / Ub-20 clang-10 C++11 (push) Has been cancelled
Base / MacOS clang-12 (push) Has been cancelled
Base / Ub-16 clang-9 (push) Has been cancelled
Base / Ub-20 clang-10 (push) Has been cancelled
Base / Ub-20 gcc-9 + MinGW (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-4.10 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-4.9 (push) Has been cancelled
Base / Ub-20 gcc-9 C++11, static (push) Has been cancelled
Base / Ub-20 gcc-9 + MinGW, static (push) Has been cancelled
Base / Ub-16 gcc-4.8 (push) Has been cancelled
Base / Ub-16 gcc-4.9 (push) Has been cancelled
Base / Ub-20 gcc-8 (push) Has been cancelled
Base / Win2019 MSC-19 (push) Has been cancelled
Base / Win2019 MSC-19, static (push) Has been cancelled
2021-02-28 20:06:40 -06:00
Andrew Johnson
bb7b754730 Documentation updates for release
Mostly version numbers, a few text and formatting changes.
2021-02-28 20:04:16 -06:00
Andrew Johnson
a9ff175cf0 Replace "UNRELEASED" in epicsString.h 2021-02-28 17:37:40 -06:00
Andrew Johnson
458c0af4e9 Checkout submodules at tagged versions for 7.0.5 2021-02-28 17:36:25 -06:00
Andrew Johnson
eacee1b548 Merge Krisztian Loki's issue_97 branch into 7.0 2021-02-28 15:40:11 -06:00
Andrew Johnson
6754404d0f Replace magic "2" with macro AAI_DEVINIT_PASS1 2021-02-28 15:02:27 -06:00
Andrew Johnson
6734918e6e Release notes and aai documentation updates 2021-02-27 22:19:48 -06:00
Andrew Johnson
1c566e2110 Modify aai to support pass-1 device initialization
The Soft Channel device support requests pass-1 initialization.
It no longer needs to initialize the INP link or allocate the
array buffer itself, these are taken care of elsewhere.

The record code uses PACT to remember that the device must be
initialized again in pass 1.
2021-02-27 22:08:50 -06:00
Andrew Johnson
7f878d3074 Merge fix-1908305 branch into 7.0 2021-02-27 17:20:30 -06:00
Andrew Johnson
12ab69402a Improve the message from a DBD field-count mismatch 2021-02-27 17:15:47 -06:00
Andrew Johnson
0926f7db0f Release Notes updates
Added notes for the Windows Monotonic fix, and Apple arm64 support.
Expanded and edited some other notes.
2021-02-27 17:15:35 -06:00
Andrew Johnson
08eaea64d2 Fix up comments & messages, add Release Notes 2021-02-27 16:48:55 -06:00
Andrew Johnson
bee00658ae Limit auto-declaration of record types to regRecDevDrv only
Allowing this while expanding DBD files for IOCs can insert other
device supports before of the Base "Soft Channel" ones, making the
other type the default. Adds a note that DBD file order matters.

Fixes lp: #1908305
2021-02-27 16:48:55 -06:00
Michael Davidsaver
e881cb15c4 registerAllRecordDeviceDrivers() handle function 2021-02-26 07:42:17 -08:00
Brendan Chandler
11fedecefc Only write out dhcpcd.conf if it doesn't exist.
rtems_init.c will write out a dhcpcd.conf if one doesn't already
exist, but if there's a filesystem including this file, don't write
over it, use whatever's there instead.
2021-02-25 15:50:58 -06:00
Brendan Chandler
17b0c69dd6 Merge branch 'rtems5-dev' into rtems5 2021-02-25 14:06:59 -06:00
Brendan Chandler
e2d37bc70d Merge branch '7.0' of https://github.com/epics-base/epics-base into rtems5 2021-02-25 14:06:41 -06:00
Brendan Chandler
45907d6553 RTEMS e500: use mkimage from RTEMS rathr than system one 2021-02-25 14:03:36 -06:00
Brendan Chandler
317828fd74 Merge remote-tracking branch 'origin/7.0' into rtems5-dev 2021-02-25 13:52:46 -06:00
Brendan Chandler
35ec367eac Remove unused variable 2021-02-25 11:24:02 -06:00
Brendan Chandler
c4944b5357 Enable initializing the filesystem in RTEMS5 2021-02-25 11:23:26 -06:00
Krisztián Löki
4a0f488657 Fixed db_post_events to not use bptr 2021-02-25 16:13:48 +01:00
Krisztián Löki
2340c6e6c1 Allow changing the BPTR field
This fixes github issue #97:
Reading into an aai record from a compress or histogram or subArray record
could cause a segfault if the aai record was initialized before the
linked one.
2021-02-25 14:54:07 +01:00
Brendan Chandler
2c29dd0c7e Fix merge error in osiSockTest.c 2021-02-22 17:32:57 -06:00
Brendan Chandler
9a8e56d83e Merge branch 'rtems5-dev' of github.com:brendanchandler/epics-base into rtems5-dev 2021-02-22 17:23:36 -06:00
Brendan Chandler
cd6e642eee makeTestfile: revert to e1000
rt18139 was not working with DHCP when running osiSockTest.

e1000 exhibits the annoying ~60s delay when rtems initializes, but at least
the tests get a network connection for now.
2021-02-22 17:21:29 -06:00
Brendan Chandler
25b9655f60 RTEMS DHCP: Use safer versions of string functions
Use strtok_r rather than strtok

Use strlen() rather than harcoded string size.  GCC should optimize
this to the hardcoded string size, so the result should be the same
but maybe prevents future mistakes.

replace strncpy() with snprintf() to avoid issues with NULL terminated
strings.
2021-02-22 17:19:28 -06:00
Brendan Chandler
f5eb5033f2 osiSockTest: use strerror rather than strerror_r
Windows vsc19 and mingw on ubuntu were failing with this symbol.
2021-02-22 17:03:25 -06:00
Brendan Chandler
633055aa56 Merge branch 'rtems5' into rtems5-dev 2021-02-22 16:27:56 -06:00
Brendan Chandler
a1d073955f makeTestfile: revert to e1000
rt18139 was not working with DHCP when running osiSockTest.

e1000 exhibits the annoying ~60s delay when rtems initializes, but at least
the tests get a network connection for now.
2021-02-22 16:21:07 -06:00
Brendan Chandler
dc1bf9106e osiSockTest: Give a clearer error message if sendto() fails 2021-02-22 16:20:01 -06:00
Brendan Chandler
74fa27d316 Add commented code that starts an RTEMS shell, useful for debugging
In the future, it would be nice to add an ioc shell command to launch
into an RTEMS shell, but for now, it can be helpful when debugging to
enable this section for poking around in an RTEMS shell check network
configuration and stuff like that.
2021-02-22 16:18:00 -06:00
Brendan Chandler
3bdfb9ec45 Increase DHCP timeouts
RTEMS dhcp will wait indefinitely for a response.

rtems_init.c will wait on DHCP for 10 minutes, before timing out and
starting main().  Note that rtems should still be waiting in the
background and a dhcp connection could still come up after this timeout.
2021-02-22 16:11:50 -06:00
Brendan Chandler
a934570cce rtems dhcp: remove strncmp on environment vars in favor of strcmp 2021-02-22 16:08:18 -06:00
Michael Davidsaver
5593103c11 posix: epicsMutexShowAll() print if PI mutex are used
Confirms that pthread_mutex_t are actually being created
with PTHREAD_PRIO_INHERIT, ie. if both libc and kernel
support is present.
2021-02-21 20:01:45 -08:00
5a8b6e4111 posix: PI for epicsMutex, epicsEvent etc.
Enable priority-inheritance for primitives based on pthread_mutex_t.

Based on work by Till Straumann <till.straumann@psi.ch>
2021-02-21 20:01:45 -08:00
Michael Davidsaver
c4348dc6e0 ci: fix gcc 4.8 builds 2021-02-21 11:16:20 -08:00
Andrew Johnson
9d0597fc15 Fix MS compiler issue that I introduced into Freddie's code
Plus a little more code simplification.
2021-02-21 12:04:07 -06:00
Andrew Johnson
93208af61c Merged Freddie Akeroyd's fix_win32_monotonic_time branch 2021-02-20 17:36:21 -06:00
Andrew Johnson
9c23247c04 Windows: Move cxx warning flag to the right CONFIG file 2021-02-20 17:02:09 -06:00
Michael Davidsaver
552b2d1766 dbConstAddLink bounds check dbrType
cf. 6c914d19c3
2021-02-19 15:53:32 -08:00
Andrew Johnson
1755a46bfe Merge Han's darwin-aarch64 branch into 7.0 2021-02-19 17:36:45 -06:00
Brendan Chandler
6965f86298 Change telnetd configuration to use defaults
Currently, this configuration doesn't seem to be used yet, but
regardless we'll update the settings to use RTEMS defaults.
2021-02-16 15:51:25 -06:00
Brendan Chandler
af88e9f6c6 Clean up a couple warnings in RTEMS code 2021-02-16 15:51:25 -06:00
Brendan Chandler
a309912c8b RTEMS DHCP: Use safer versions of string functions
Use strtok_r rather than strtok

Use strlen() rather than harcoded string size.  GCC should optimize
this to the hardcoded string size, so the result should be the same
but maybe prevents future mistakes.

replace strncpy() with snprintf() to avoid issues with NULL terminated
strings.
2021-02-16 15:51:06 -06:00
Brendan Chandler
b0dfb76871 Change telnetd configuration to use defaults
Currently, this configuration doesn't seem to be used yet, but
regardless we'll update the settings to use RTEMS defaults.
2021-02-16 15:12:28 -06:00
Brendan Chandler
125fc08993 Clean up a couple warnings in RTEMS code 2021-02-16 15:12:06 -06:00
Brendan Chandler
e38a8b15d4 squash me 2021-02-16 15:11:40 -06:00
Brendan Chandler
c628db82ac RTEMS DHCP: Use safer versions of string functions
Use strtok_r rather than strtok

Use strlen() rather than harcoded string size.  GCC should optimize
this to the hardcoded string size, so the result should be the same
but maybe prevents future mistakes.

replace strncpy() with snprintf() to avoid issues with NULL terminated
strings.
2021-02-16 12:51:11 -06:00
Brendan Chandler
4755d6c7f0 Enable tests for RTEMS5 2021-02-12 09:11:42 -06:00
Brendan Chandler
3fd9ffc995 Include osdTime using compiler include path
Previously it was using a relative directory name, #included in the .c file.
2021-02-09 15:05:31 -06:00
Brendan Chandler
a8262573f5 Don't use or include mlock() on RTEMS 2021-02-09 14:28:11 -06:00
Brendan Chandler
e4b17bdab5 Remove local def of VERSION_INIT in favor of one from epicsVersion.h 2021-02-09 14:27:24 -06:00
Brendan Chandler
ea40041b45 Remove FHI specific information from NTP and bootp variable init 2021-02-09 14:26:26 -06:00
Brendan Chandler
6bf26782a0 Fix license comment in epicsNtp.c and .h 2021-02-09 14:25:55 -06:00
Andrew Johnson
36d0fbd7be Another c89 compat fix 2021-02-08 13:34:01 -06:00
Michael Davidsaver
30e1431fb4 c89 compat 2021-02-08 09:43:51 -08:00
Michael Davidsaver
3f209efa3c release notes 2021-02-08 09:23:27 -08:00
Michael Davidsaver
2c1c35268e db: Suggest DBF_MENU values on parser error 2021-02-08 09:22:27 -08:00
Michael Davidsaver
745c3f552e Com: add epicsStrSimilarity() 2021-02-08 09:22:27 -08:00
Michael Davidsaver
27918cb7a1 improve error message from dbPutString() for DBF_MENU/DEVICE 2021-02-08 09:22:27 -08:00
Michael Davidsaver
8723d4d9cb include database S_* in error string table 2021-02-08 09:22:27 -08:00
Michael Ritzert
410921b5ef Use getifaddrs instead of SIOCGIFCONF.
The old code is preserved in osdNetIfConf.c, which is used by the default
platform directory.

Platforms that support getifaddrs use the new code from osdNetIfAddrs.c.
2021-02-06 08:27:21 -08:00
Jeong Han Lee
d3e96c4c2b fixed a typo in CONFIG.Common.darwin-aarch64 2021-02-05 17:02:54 -08:00
Brendan Chandler
c523fe7a3e Restore CROSS_COMPILER_TARGET_ARCHS initialization in CONFIG_SITE 2021-02-05 15:25:56 -06:00
Brendan Chandler
ce264306b8 Fix merge issues with src/tools/makeTestfile.pl
When I switched from merge to rebase of RTEMS5 changes, I think this
file didn't get merge correctly.  These changes bring the file back to
match what was originally merged, and I believe correct.
2021-02-05 15:10:22 -06:00
Brendan Chandler
188f46f74b Remove prototype definition of select() from osdSock.h 2021-02-05 14:26:02 -06:00
Brendan Chandler
518ac1d7c1 Remove define of bzero to use memset
As far as I can tell, we don't use bzero().
2021-02-05 14:01:12 -06:00
Brendan Chandler
0adaa7fcf1 re-remove osdMessageQueue.c from RTEMS-kernel 2021-02-05 13:40:42 -06:00
Brendan Chandler
d21c6d5545 Merge branch '7.0' into rtems5 2021-02-05 12:39:22 -06:00
Michael Davidsaver
43bd5ee1c2 Com: always skip SOCK_CLOEXEC for RTEMS and vxWorks 2021-02-05 10:32:47 -08:00
Brendan Chandler
5c792687a6 Merge branch '7.0' into rtems5 2021-02-05 12:21:20 -06:00
Brendan Chandler
347d24a2a8 Switch to rtl8139 network interface for RTEMS tests 2021-02-05 11:42:42 -06:00
Brendan Chandler
cd0e6a4f9a Make sure the definition of IPPORT_USERRESERVED is defined
caProto.h was using IPPORT_USERRESERVED but not including itself,
meaning there was an order dependency of header inclusion when using
this header.  Now there shouldn't be.

Also, RTEMS wasn't defining IPPORT_USERRESERVED, so that definition
has been added.
2021-02-05 10:42:02 -06:00
Brendan Chandler
8d7c98aac4 Make RTEMS-pc386-qemu use RTEMS-pc386 rather than pc686 2021-02-04 12:21:41 -06:00
Jeong Han Lee
34a0b387b0 add dawrin-aarch64 (arm64) Host Arch 2021-02-02 17:26:12 -08:00
Brendan Chandler
54c91f1458 Fix compile errors after rebasing changes for RTEMS5 2021-02-02 16:44:01 -06:00
Andrew Johnson
78d685688c Add VALID_BUILDS support for "Command" 2021-02-02 16:06:42 -06:00
Brendan Chandler
9cac0b6410 Make pvData and pvAccess submodules use epics-base
Previously they used mdavidsaver's branch in order to pick up some
commits that hadn't made it into mainline yet.
2021-01-29 12:36:33 -06:00
Brendan Chandler
a5604ccbf0 Reintroduce API_CPPFLAGS argument to fix Windows builds 2021-01-29 12:36:32 -06:00
Brendan Chandler
e2927417c3 Remove tab from ci-scripts-build.yml 2021-01-29 12:36:32 -06:00
Brendan Chandler
277e9050a8 Fixes for CI mechanics
- Removed .travis.yml since we're no longer using travis.
- Named the rtems pc686 target in github actions
- Cleaned up CONFIG_SITE.Common.RTEMS
2021-01-29 12:36:32 -06:00
Brendan Chandler
fe3e2c60a5 remove missing rtems_bsd_set_vprintf_handler 2021-01-29 12:36:32 -06:00
Brendan Chandler
e4885d2446 Remove redundant CPU_FLAGS use.
This variable is included in the generic OP_SYS_LDFLAGS and doesn't
need to also be set in OP_SYS_LDFLAGS_kernel.
2021-01-29 12:36:32 -06:00
Heinz Junkes
08b7dd1208 Add dhcp option cmdline (129) 2021-01-29 12:36:32 -06:00
Heinz Junkes
25a072540f Cosmetics and some typos 2021-01-29 12:36:32 -06:00
Heinz Junkes
399c63ec5c Add posix cpp flags to RTEMS config 2021-01-29 12:36:32 -06:00
Heinz Junkes
341ca91229 Add LEGACY_STACK_SUPPORT and telnet client 2021-01-29 12:36:32 -06:00
Heinz Junkes
97e6f0a53d Link pvData module to mdavidsaver 2021-01-29 12:36:32 -06:00
Heinz Junkes
54f2d8887f changed pvAccess url, save adaption to old network stack 2021-01-29 12:36:31 -06:00
Heinz Junkes
4127f6efec MQ name creation changed 2021-01-29 12:36:31 -06:00
Heinz Junkes
97ce6aecc7 cleanup netconfig 2021-01-29 12:36:31 -06:00
Heinz Junkes
a718357211 Fixed stupid typo in CONFIG.Common.RTEMS 2021-01-29 12:36:31 -06:00
Heinz Junkes
9f387b9675 Prepared RTEMS 4.10 posix with network 2021-01-29 12:36:31 -06:00
Heinz Junkes
8ef4d29c48 Enable Epics for RTEMS5 (posix) 2021-01-29 12:36:31 -06:00
Michael Davidsaver
1b6b32e9ca restore $(API_CPPFLAGS) 2021-01-29 12:36:31 -06:00
Andrew Johnson
761ebff6d7 Simplify RTEMS OP_SYS_CFLAGS settings 2021-01-29 12:36:31 -06:00
Andrew Johnson
f685b0edb4 Set RTEMS_TARGET for Travis builds 2021-01-29 12:36:31 -06:00
Andrew Johnson
14140acd78 Enable RTEMS testing in modules/database/test/std/link 2021-01-29 12:36:31 -06:00
Andrew Johnson
9c01c55f08 Clean up CONFIG.Common.RTEMS 2021-01-29 12:36:30 -06:00
Andrew Johnson
ec94351a5e Add RTEMS-pc686-qemu for use on RTEMS 5.x
RTEMS 5.x moved the PC BSP to 686. This commit makes the EPICS
target match; RTEMS-pc386 and the -qemu variant can only be built
when RTEMS_VERSION != 5, whereas RTEMS-pc686 and its -qemu version
will only build when RTEMS_VERSION == 5 (there are checks with
descriptive errors included).

makeTestFile.pl was also reformatted and modified to use exec to
run tests on non-Windows hosts as required by the Perl test harness.
2021-01-29 12:36:26 -06:00
Michael Davidsaver
cf3173b6f4 posix: use SOCK_CLOEXEC and accept4()
If available, ensure O_CLOEXEC is set atomically.
Continue to F_SETFD as well (paranoia).

Available at least on Linux, freebsd, and RTEMS 5 w/ libbsd
2021-01-29 08:45:44 -08:00
Andrew Johnson
708cecfadc Move HAVE_SOCKADDR_SA_LEN=1 for darwin targets 2021-01-27 15:37:24 -06:00
Andrew Johnson
b2c4f0d015 Explain the RTEMS config variables 2021-01-27 15:37:24 -06:00
Andrew Johnson
8b766f767f Set GNU_TARGET automatically
The individual CONFIG.Common.RTEMS-$(T_A) files don't really need
to set the new GNU_TARGET variable themselves, this addition allows
the unmodified RTEMS-uC5282 target build fine (on 4.10.1 at least).
2021-01-27 15:37:24 -06:00
Andrew Johnson
629f958427 Install toolchain data into cfg/ directory 2021-01-27 15:37:24 -06:00
Michael Davidsaver
bb860ae001 rtems5: correct ifreq_size() 2021-01-27 15:37:24 -06:00
Michael Davidsaver
75548c95d1 rtems5: fix linking of dependent modules, need -lCom after -lrtemsCom 2021-01-27 15:37:24 -06:00
Michael Davidsaver
8a2f336f8f re-drop RTEMS osdMessageQueue 2021-01-27 15:37:23 -06:00
Michael Davidsaver
4d69b7621d RTEMS: fix NIC for testing w/ RTEMS5
Add two NICs, ne2k used by RTEMS 4.x
and e1000 used by RTEMS 5.1.
Each ignores the NIC it doesn't understand.
2021-01-27 15:37:23 -06:00
Michael Davidsaver
2b28d97063 RTEMS5: redirect to serial via runtime 2021-01-27 15:37:23 -06:00
Michael Davidsaver
5a5345d44a WIP: fix missing bits needed by osiNTPTime.c 2021-01-27 15:37:23 -06:00
Michael Davidsaver
10aff42da6 epicsNtp: avoid deprecated/non-standard bzero() 2021-01-27 15:37:23 -06:00
Michael Davidsaver
8366770d72 ci: RTEMS update 2021-01-27 15:36:21 -06:00
Michael Davidsaver
e2e606d53f RTEMS: auto-detect OS_API 2021-01-27 15:36:21 -06:00
Heinz Junkes
bba7d8c8f8 Enable Epics for RTEMS5 (posix) 2021-01-27 15:36:10 -06:00
Michael Davidsaver
077b41e6c1 Extract compiler pre-defined macros as Make variables 2021-01-27 15:34:02 -06:00
Michael Davidsaver
c95cbe4a0f ci: re-add .appveyor.yml
Re-introduce default config file for use with repositories
other than the main ones.
2021-01-27 09:19:58 -08:00
Michael Davidsaver
1e471832e9 consolidate osiFileName.h
Don't really need 10 files for this
2021-01-27 09:19:13 -08:00
Ralph Lange
40d9a21c0c Merge 3.15 into 7.0 - build system fixes
- improve silencing the build
- assemblies fix for Windows
2021-01-26 17:44:24 +01:00
Ralph Lange
dd9f38d711 Build: Fix spurious failures with SNIPPETS in Windows
Under some combinations of shell / Make version / Windows version,
Windows make was giving up searching for a target "../"
2021-01-26 17:14:00 +01:00
Andrew Johnson
7050bded31 Update MSVC paths in Windows startup files 2021-01-22 12:32:33 -06:00
Michael Davidsaver
c19605232a epicsAtomicDefault.h typo 2021-01-18 08:23:54 -08:00
Ben Franksen
236bb2c671 fix an out-dated comment in the array filter code 2021-01-15 15:13:47 +01:00
Ben Franksen
372e937717 add macro dbfl_pfield to db_field_log.h and use it in dbGet 2021-01-14 17:45:25 +01:00
Ben Franksen
56f05d722d fix in dbGet: decide use of db_field_log based on whether it has copy or not 2021-01-14 17:40:37 +01:00
Ben Franksen
85822f3051 add macro dbfl_has_copy to db_field_log.h and use it in dbAccess.c
It encapsulates the slightly tricky logic to decide whether a pointer
to a db_field_log has ownership of the data or not.
2021-01-12 17:49:10 +01:00
Ben Franksen
27fe3e4468 refactor db_field_log and filters to get rid of dbfl_type_rec
This refactor simplifies and streamlines the code associated with server
side filters. Apart from immediate benefits (clearer code, less duplication)
it is also hoped that this will make it easier to add write filters.

The data pointer dbfl_ref.field can now either point to a copy owned by a
filter, or it can point to the original data owned by a record. In the
latter case, the dbfl_ref.dtor is NULL.

The dbExtractArray* functions are unified to the single function
dbExtractArray and stripped of conversion functionality. This is redundant
because we always call dbGet after applying filters, which takes care of
conversion. Accordingly, dbChannelMakeArrayCopy is now obsolete and its
single use (in the ts filter) replaced with dbExtractArray. Instead, we add
the helper function dbChannelGetArrayInfo to wrap the common boilerplate
around calls to the get_array_info method, used in both arr.c and ts.c.
2021-01-12 17:49:10 +01:00
Ben Franksen
4ab9808180 make it clearer what the result of wrapArrayIndices will be 2021-01-12 15:56:32 +01:00
Andrew Johnson
4e81eaa7e8 Update pvAccess module (caProvider) 2021-01-05 21:42:59 -06:00
Andrew Johnson
99852c6504 Merge JSON5 support into 7.0 2021-01-05 21:39:15 -06:00
Michael Ritzert
a9e3fa74aa FTBFS on FreeBSD 12 2021-01-05 08:56:57 -08:00
Andrew Johnson
d997690aa5 Build: Fix tests for the 'make -s' flag
'make -j2' or more adds an 's' to MFLAGS in "--jobserver-fds".
This is the correct way to do the check.
2020-12-30 13:08:48 -06:00
Andrew Johnson
326ef00bc9 Merge 3.15 into 7.0 - GHA tapfiles Artifact 2020-12-29 15:42:44 -06:00
Andrew Johnson
a043599e18 GHA: Save .tap files as an artifact 2020-12-28 18:04:06 -06:00
Andrew Johnson
02be10069e Make the CI commit-ignore patterns match 2020-12-28 17:13:45 -06:00
Andrew Johnson
4f14e9e674 Merge up Appveyor changes from 3.15 into 7.0 2020-12-28 16:22:15 -06:00
Andrew Johnson
ff4317d05a Make .appveyor.yml into a branch-specific filename
The name should match the Appveyor account that builds the branch;
From a suggestion by Michael.
2020-12-28 15:59:12 -06:00
Andrew Johnson
63919e199c Fix menuPriority filename in RecordReference index 2020-12-28 13:40:35 -06:00
Andrew Johnson
f775e0b8f6 Merge 3.15 branch into 7.0
Adjust updated test result displays for submodules
2020-12-23 16:18:21 -06:00
Andrew Johnson
518bab9675 Clean up .appveyor.yml
Whitelist the tagged versions too
Exclude MinGW debug builds since (unlike the VS builds) they use
the same system libraries as the non-debug builds.
We aren't building vs2008 any more anyway.
2020-12-23 11:56:32 -06:00
Andrew Johnson
a8036d7f34 posix/osdThread: Use "Once" versions properly
Functions used before epicsThreadInit() returns must call the
checkStatusOnceQuit() version to avoid recursion from errlogInit()
2020-12-23 11:53:05 -06:00
Andrew Johnson
436ce4526b Appveyor: Update CMP from mingw => gcc 2020-12-21 15:49:52 -06:00
Michael Davidsaver
b49f06916e gcc -Werror-implicit-function-declaration
Treat implicit declarations as an error in GCC builds.
2020-12-21 07:38:24 -08:00
Andrew Johnson
9ba0081a82 Change the Appveyor steps to call the new cue.py script 2020-12-18 15:35:18 -06:00
Andrew Johnson
c60056d4d6 Reconfigure and tidy up the testFailure stuff
Many variables renamed.
Generated files are now named .log for .gitignore
Actions are now defined in CONFIG_BASE variables.
2020-12-18 15:32:46 -06:00
Andrew Johnson
68c056f2f8 Fix makeTestfile.pl to report test failures properly
If a test program reports test failures, the Perl wrapper
must return the same error status. On Windows where we use
system() instead of exec() that needs some value fiddling.
2020-12-18 10:20:31 -06:00
Andrew Johnson
48a6d2f781 GH-Actions: Undo my workflow name change
Changing it also modified the names of all previous builds.
2020-12-17 20:59:56 -06:00
Andrew Johnson
79bb9e000b GH-Actions: Tweaks 2020-12-17 20:39:08 -06:00
Andrew Johnson
c404eb3f83 GH-Actions: Add short names for each job 2020-12-17 20:38:06 -06:00
Andrew Johnson
7beb32e209 Extend testFailures.pl to list the failed test programs
Creates a file .taps-failed in each O.<arch> directory,
appending the name of each tapfile that has failures to it.
The testFailures script now reads the .taps-failed files
from each directory listed in .tests-failed and nicely
displays the failing tests listed in each.
2020-12-17 18:34:24 -06:00
Andrew Johnson
a365de2419 Fix return value of epicsUnitTest::testDone()
Wasn't properly returning a non-zero exit status
when HARNESS_ACTIVE was set.
2020-12-17 18:21:07 -06:00
Andrew Johnson
035ffdf045 Additions to .gitignore 2020-12-08 10:11:55 -06:00
Andrew Johnson
5f0d52cd5c errSymLib Fix from Ivo Hanak
Fixes lp: #1907077
2020-12-08 10:10:03 -06:00
Ralph Lange
2035fc641a PCAS: fix scope of tsDLList when used in other classes
Use ::tsDLList to avoid resolving to privately inherited
name (which was breaking builds on newer clang compilers)
2020-12-07 10:07:23 +01:00
Ralph Lange
d25c9a74ad ci: travis-ci -> github actions 2020-12-06 15:12:28 +01:00
Michael Davidsaver
e20151439b ci: use ci-core-dumper 2020-12-03 08:33:57 -08:00
Michael Davidsaver
4e055610b7 epicsUnitTest: SetErrorMode() 2020-12-03 08:33:57 -08:00
Andrew Johnson
db027d4a7f makeTestfile SetErrorMode() 2020-12-02 11:43:39 -08:00
Michael Davidsaver
17ee7dd6c7 update PVA modules 2020-12-02 10:44:21 -08:00
Michael Davidsaver
dc99d63df8 C89 compat
Present for Dirk
2020-11-20 17:25:27 -08:00
Michael Davidsaver
53897d4a82 ci: need apt-get update 2020-11-20 17:23:43 -08:00
Michael Davidsaver
d24a297304 osiSockTest: fix timeout 2020-11-19 13:07:05 -08:00
Michael Davidsaver
761edcae15 travis-ci -> github actions 2020-11-18 11:11:37 -08:00
Michael Davidsaver
b890d584bc softIoc: avoid extra iocInit() 2020-11-18 11:11:37 -08:00
Michael Davidsaver
db2f7d8b92 use auto_ptr or unique_ptr 2020-11-18 10:54:44 -08:00
Michael Davidsaver
d83e3b5de1 osiSockTest: probe for !EPERM 2020-11-18 10:54:44 -08:00
Michael Davidsaver
cbac1c54f5 test/ioc/db: xRecord handle alarms 2020-11-18 10:54:44 -08:00
Michael Davidsaver
2cfbf5c1c9 fix release notes 2020-11-18 10:54:10 -08:00
Michael Davidsaver
d108a1ff11 Merge remote-tracking branch 'lp-zimoch/dbChannelForDBLinks' into 7.0
* lp-zimoch/dbChannelForDBLinks: (43 commits)
  add tests for empty array filter results
  Fix linkFilterTest, move Release Notes to the right place
  do not handle empty arrays (undefined behavior)
  Revert "new error code for empty arrays"
  test code beautification
  make db_init_event_freelists private
  remove unnecessary check
  remove needless pointer access
  new error code for empty arrays
  clean up code structure
  Release notes updated
  set number of planned link filter tests
  removed unnecessary recGblSetSevr call
  re-order link filter tests to alternate between success and failure
  unused variable removed
  Revert "fix crash in PINI: use local db_field_log"
  initialize free lists when starting dbChannel
  db link filter tests added
  bugfix: dbGet should not crash because of empty array requests
  fix crash in PINI: use local db_field_log
  ...

# Conflicts:
#	documentation/RELEASE_NOTES.md
2020-11-18 10:53:50 -08:00
Michael Davidsaver
0a65707383 Merge remote-tracking branch 'githubbhill/timestamp-before-outlink' into 7.0
* githubbhill/timestamp-before-outlink:
  Update RELEASE_NOTES for timestamp-before-outlink
  Patch record processing routines to update timestamp before processing outlinks
2020-11-18 10:48:57 -08:00
9048e998fb add tests for empty array filter results 2020-11-17 15:22:40 +01:00
Andrew Johnson
7632c355ee dbpr: Catch buffer overflow from long link strings.
Fixes lp: #1776141

Currently this just truncates when we hit the end of the buffer,
a better solution is warranted.
2020-11-16 14:25:51 -05:00
Andrew Johnson
4730e14cc7 Document the PINI, POST and PRIO menus 2020-11-13 18:17:47 -06:00
Ralph Lange
c969f05f51 AppVeyor: explicitly set default runner image (VS2015) 2020-11-03 12:04:57 +01:00
Ralph Lange
8fd36d8eef AppVeyor: whitelist 7.0 branch
The AppVeyor epics-base-7 project is supposed to pull the .appveyor.yml from this branch to only build commits and pull requests from/for 7.0.
2020-11-03 10:02:34 +01:00
Ralph Lange
3947b9a061 Appveyor: whitelist 3.15 branch
- DO NOT UPMERGE TO 7.0

The AppVeyor epics-base-3 project is supposed to pull the .appveyor.yml from this branch to only build commits from 3.15.
2020-11-03 09:41:45 +01:00
Andrew Johnson
cf56a0e08e Fix linkFilterTest, move Release Notes to the right place 2020-10-30 17:43:03 -05:00
6b5abf76c8 do not handle empty arrays (undefined behavior) 2020-10-30 17:07:09 -05:00
3b3261c877 Revert "new error code for empty arrays"
This reverts commit d51b5513fda5ca7c6058990396d315cfff81cbfe.

Conflicts:
	modules/database/src/ioc/db/dbAccess.c
	modules/database/src/ioc/db/dbDbLink.c
2020-10-30 17:07:09 -05:00
30d8febb0b test code beautification 2020-10-30 17:07:09 -05:00
4ad98d5b4f make db_init_event_freelists private 2020-10-30 17:07:09 -05:00
14b9ac3277 remove unnecessary check 2020-10-30 17:07:09 -05:00
275c4c7cf4 remove needless pointer access 2020-10-30 17:07:09 -05:00
5d808b7c02 new error code for empty arrays 2020-10-30 17:07:09 -05:00
afdf34b791 clean up code structure 2020-10-30 17:07:09 -05:00
ea05bab26a Release notes updated 2020-10-30 17:07:09 -05:00
edb8f1a5df set number of planned link filter tests 2020-10-30 17:07:09 -05:00
8f5be5f0ad removed unnecessary recGblSetSevr call 2020-10-30 17:07:09 -05:00
bc34526bcb re-order link filter tests to alternate between success and failure 2020-10-30 17:07:09 -05:00
0ee36388cb unused variable removed 2020-10-30 17:07:09 -05:00
c51c83b1d5 Revert "fix crash in PINI: use local db_field_log"
This reverts commit a590151accb1d187562c515a48e013244dd98a45.

Conflicts:
	modules/database/src/ioc/db/dbDbLink.c
2020-10-30 17:07:09 -05:00
d0ef45acc3 initialize free lists when starting dbChannel 2020-10-30 17:07:09 -05:00
7ab56a68d1 db link filter tests added 2020-10-30 17:07:09 -05:00
39c8d5619a bugfix: dbGet should not crash because of empty array requests 2020-10-30 17:07:09 -05:00
e0dfb6cff8 fix crash in PINI: use local db_field_log 2020-10-30 17:07:09 -05:00
3627c38a57 don't crash when filter results in 0 elements 2020-10-30 17:07:09 -05:00
17a8dbc2d7 apply filters in dbDbGetValue 2020-10-30 17:07:09 -05:00
b1f445925d use dbChannel in link instead of DBADDR 2020-10-30 17:07:09 -05:00
Andrew Johnson
297f04bddc Make dbgf display something for an empty array
Also significantly expands on Dirk's Release Notes entries.
2020-10-30 13:37:50 -05:00
Andrew Johnson
a7bf59079f Merge Dirk Zimoch's fix_zero_size_arrays branch 2020-10-29 17:07:35 -05:00
Andrew Johnson
baced535e3 Add -v (verbose) flag to softIoc
Only display the startup steps taken if -v was given.
Show each step *before* running it, so error messages follow it.
2020-10-28 23:55:24 -05:00
Andrew Johnson
be7c6a0a0a Build: Do clean before uninstall actions (if requested) 2020-10-28 23:26:25 -05:00
Andrew Johnson
14476391c0 Warn about NULL dbevEventUserFreeList 2020-10-28 23:25:02 -05:00
Andrew Johnson
223b292c33 Merge fix-wrong-order-phas fixes from 3.15 branch 2020-10-22 10:31:52 -05:00
Andrew Johnson
68121ec907 Merged Dirk's fix_one_element_input_link_arrays branch 2020-10-22 10:14:10 -05:00
Martin Konrad
228ad79b7a Simplify addToList() function 2020-10-13 18:38:17 -04:00
Martin Konrad
bbc0a56d2b Fix wrong PHAS order
Records with lower PHAS value than any previously loaded records
were inserted at the end of the list rather than at the beginning.
This fixes lp: #1899697. Also fixes a proto-bug in that the second
argument to the previously used ellAdd() call assumed that
offsetof(scan_element, node)==0.

Thanks to Bruno Martins for providing this patch.
2020-10-13 18:34:39 -04:00
Andrew Johnson
9726b9efc9 aSubRecord: Fix OVLA..OVLU POD field list 2020-10-12 15:34:43 -05:00
Bruce Hill
f44f4ac7ad Update RELEASE_NOTES for timestamp-before-outlink 2020-10-07 06:47:44 -07:00
Bruce Hill
f1e83b22f2 Patch record processing routines to update timestamp before processing outlinks 2020-10-07 06:47:44 -07:00
Freddie Akeroyd
cdc627a15c Use native Windows type for perfCounterOffset 2020-10-04 01:20:44 +01:00
Freddie Akeroyd
8a90688880 Make returned value relative to IOC boot time to improve accuracy 2020-10-04 00:20:11 +01:00
Freddie Akeroyd
bbdd9392fe Call cantProceed() if performance counter is unavailable 2020-09-27 00:42:20 +01:00
Freddie Akeroyd
fe35e6e703 Remove use of GetTickCount() - only use performance counter 2020-09-25 20:59:20 +01:00
Gabriel Fedel
3e891a12ff Fix asub documentation: alarm happens when retunr status is < 0 2020-09-23 09:36:36 +02:00
Freddie Akeroyd
f8a6735691 Print warning if using GetTickCount() 2020-09-19 00:53:05 +01:00
Freddie Akeroyd
dc579b78db * Fix and enable usage of QueryPerformanceCounter()
* Use GetTickCount64() as fallback on Windows Vista and above
2020-09-19 00:07:06 +01:00
Andrew Johnson
22ee229aca Add support for linux-aarch64 native builds 2020-09-16 00:45:19 -05:00
Andrew Johnson
1ae3bd6c70 Add warnings to CONFIG_SITE files that can't override gnuCommon
Move the clang and '-g' suggestions to the right places
2020-09-08 16:57:48 -05:00
Ralph Lange
cbba08b1ef Merge pull request #88 from HiteshDhola/patch-1
Update README.md
2020-08-26 10:17:42 +02:00
Hitesh Dhola
53044571fb Update README.md
Pointing out few err in the release version. As this is the first document anyone would Read. 

-Corrected released version. Removed old references.
PS : I also use this file to restore my "base" folder with older original version when new EPICS version is released. This way I can keep all of my compiled version isolated.
2020-08-26 12:47:19 +05:30
Ralph Lange
f8df3473ab Redo d3d40689 that was lost in upmerging 2020-08-25 16:06:39 +02:00
Ralph Lange
e8bee54531 Redo 97b29129/0fbfc741 that was lost in upmerging 2020-08-25 16:04:04 +02:00
Michael Davidsaver
0cae0db98b compat IPPORT_USERRESERVED
musl libc doesn't define IPPORT_USERRESERVED
2020-08-22 07:51:33 -07:00
Michael Davidsaver
df6981ceae doc 2020-08-22 07:51:33 -07:00
Michael Davidsaver
11984633dc conditional test of registerAllRecordDeviceDrivers() 2020-08-22 07:50:40 -07:00
Michael Davidsaver
051ba20fe1 fix registerAllRecordDeviceDrivers() prints 2020-08-22 07:50:40 -07:00
Michael Davidsaver
d6cf29e942 add HAS_registerAllRecordDeviceDrivers 2020-08-22 07:50:40 -07:00
Michael Davidsaver
bdd41cca13 move test of registerAllRecordDeviceDrivers() 2020-08-22 07:50:40 -07:00
Michael Davidsaver
e40970bd5e rename dynamic_registerRecordDeviceDriver -> registerAllRecordDeviceDrivers 2020-08-22 07:50:40 -07:00
Michael Davidsaver
9e3d5d52ab iocshRegisterVariable() avoid spurious redefinition warning
Compare the contents, not the container.
2020-08-22 07:50:40 -07:00
Michael Davidsaver
2c389a90d1 test dynamic_registerRecordDeviceDriver() 2020-08-22 07:50:40 -07:00
Michael Davidsaver
8d98387245 add dynamic_registerRecordDeviceDriver()
Use epicsFindSymbol() to build a dynamic and idempotent equivalent
to the code generated by registerRecordDeviceDriver.pl

Also add runRegistrarOnce() to prevent registrars
from running multiple times, except from unittest code.
2020-08-22 07:50:40 -07:00
Andrew Johnson
b36e5262c7 const init a char array from a string value 2020-08-21 17:59:46 -05:00
Andrew Johnson
79d7ac9315 Support undefine in RELEASE files 2020-08-21 16:30:06 -05:00
Andrew Johnson
03c4fe8a8d Merge Record ref updates from 3.15 into 7.0 2020-08-21 15:47:53 -05:00
Andrew Johnson
ad3728d00d Edits to the Record Ref index page 2020-08-21 15:43:48 -05:00
Michael Davidsaver
c465354c67 Set next development version 2020-08-14 13:25:40 -07:00
Michael Davidsaver
4e84f36faf Update version numbers for release 2020-08-14 12:56:39 -07:00
Matic Pogacnik
5b37663bcb Check if input string to aToIPAddr is null 2020-08-14 10:04:56 -07:00
Andrew Johnson
a808e3c790 Document ARM architecture adjustments 2020-08-12 17:39:07 -05:00
Andrew Johnson
0743aabaad Remove linux-arm_eb and linux-arm_el targets 2020-08-12 13:46:35 -05:00
Andrew Johnson
0035ca1846 Add cross-builds for linux-aarch64 2020-08-12 13:46:35 -05:00
Andrew Johnson
d7434eadc3 printf record: Document ll format modifier 2020-08-12 13:25:58 -05:00
Andrew Johnson
5f5cc85e28 Release Notes for json5 changes 2020-08-09 00:35:52 -05:00
Andrew Johnson
7cc246afc1 Modify database tests to use JSON5
(except for the tests that check parsing).
Remove escaped double-quotes in map keys where possible.
Replace escaped double-quotes with single quotes.
2020-08-09 00:33:07 -05:00
Andrew Johnson
75b89b40bf Support single-quoted strings in dbStatic JSON5 values
Teach lexer to recognize them.
Strip leading & trailing quotes from string values.
Add some tests.
2020-08-09 00:33:07 -05:00
Andrew Johnson
b34d3c83fc Add support for hex escapes to the dbStatic lexer
Only translate escaped chars that are inside a jsonSTRING value.
2020-08-09 00:33:07 -05:00
Andrew Johnson
c1152f94fd epicsString: Remove support for Octal character escapes \nnn
These changes to the functions epicsStrnRawFromEscaped() and
epicsStrnEscapedFromRaw() were prompted by the addition of JSON5
support to the dbStatic parser.

 * \0 now represents a zero byte
 * Unprintable characters are now escaped in hex

Tests for the octal escapes have been removed.
2020-08-09 00:33:07 -05:00
Andrew Johnson
8c9e42d15e Fixed the response of epicsStrnRawFromEscaped() to numeric overflows
\x only takes 2 hex digits now, and the octal parser ignores a 3rd
digit if it would take the value over 0xff:
    "\400"  => ' ' then '0'
    "\x088" => '\b' then '8'

With additional tests.
2020-08-09 00:33:07 -05:00
Andrew Johnson
0c800d4428 JSON5 in dbStatic: Update bare-word JSON keys
Our bare-word character set is wider than JSON5's. Quote any
keys containing the extra characters so YAJL can parse them,
but don't quote keys unnecessarily.

Tests for this behavior are in dbStaticTest.db

Adjust the other tests that read links parsed by the dbStatic
parser that used bareword keys, which are no longer quoted.
2020-08-09 00:33:07 -05:00
Andrew Johnson
0fca5fc8a9 JSON5 in dbStatic: Lexer support for NaN and Infinity
The JSON5 spec requires exact capitalization of these strings.
Other numeric parsers such as strtod() are usually more lenient.
2020-08-09 00:33:07 -05:00
Andrew Johnson
fe177e40fd JSON5 in dbStatic: Add lexer support for hex integers
dbLex.l accepts hex notation in JSON numbers.
Tested in dbStaticTest.db as before.
2020-08-09 00:33:07 -05:00
Andrew Johnson
fa4af8b27d JSON5 in dbStatic: Modify lexer's number support
dbLex.l acceps a leading or trailing decimal point with float/double
values and an explicit leading + on all numbers.
Tested in dbStaticTest.db but only passing tests.
2020-08-09 00:33:07 -05:00
Andrew Johnson
980711589a database/test: Give xRecord fields of all numeric types
Extend dbStaticTest to check dbVerify() with all types.
2020-08-09 00:33:07 -05:00
Andrew Johnson
b2ef47573c Drop TODOs from regression tests, hex now works in array values 2020-08-09 00:33:07 -05:00
Andrew Johnson
b0d78921fd Final changes to YAJL for use in Base
* Bump the YAJL version number
* Define a HAS_JSON5 macro
* Set yajl_allow_json5 by default, fixing yajl_test and API comments
2020-08-09 00:33:07 -05:00
Andrew Johnson
c00f638f7e yajl: Add yajl_gen_reset() routine
For some reason this never got added with the rest of the generator.
2020-08-09 00:33:07 -05:00
Andrew Johnson
975e9ec553 Doxygen text and markup fixes and updates 2020-08-09 00:33:07 -05:00
Andrew Johnson
de2de5e2fd yajl: Clean up the formatting of some C macros 2020-08-09 00:33:07 -05:00
Andrew Johnson
a8e0de043c Support for 'single-quoted strings'
Also adds missing character flag VIC for 'r'.
The a5_spec_example test was copied from the JSON5 spec.
2020-08-09 00:33:07 -05:00
Andrew Johnson
549d6f67e3 YAJL support for JSON5 \xXX hex escapes in strings, with tests
Teach the lexer/parser to recognize and decode them in JSON5 mode.
Teach the encoder to use them in JSON5 mode.
Add another error message for bad hex digits.
Test cases to show they work, and that the bad-digit check fires.
2020-08-09 00:33:07 -05:00
Andrew Johnson
55f4e55383 Support for JSON5 character escapes in strings
Any character other than the digits 1-9 may be preceded by a
reverse solidus '\', and unless the combination has an explicitly
defined expansion the character is included without the solidus.
JSON5 adds \', \0 and \v to the set of defined escapes, and an
escaped newline is omitted from a string.

In the test case Perl uses \13 instead of \v in the output
but it is the correct character (13 octal = 11 decimal = '\v').
2020-08-09 00:33:07 -05:00
Andrew Johnson
e2256d0663 Accept unquoted identifiers as map keys
Adds another lexer entry point for lexing map keys only,
adjust parser to use this instead of the general lexer.
Also defines another lexer token for internal use only.
2020-08-09 00:33:07 -05:00
Andrew Johnson
88e0ced03e JSON5 support for generating unquoted map keys
Added a new routine to yajl_encode.c that validates bare identifiers.
Use this in yajl_gen_string() to avoid quoting keys we don't have to.
2020-08-09 00:33:07 -05:00
Andrew Johnson
baaf50c6d2 Add yajl_gen_json5 option and generator support for special numbers
When this flag is set, the yajl_gen_double() routine can output
the values NaN, -Infinity and +Infinity.
2020-08-09 00:33:07 -05:00
Andrew Johnson
97b8df6912 Added JSON5 support for parsing special numbers
NaN and both Infinities, with tests.
Special handling was added to yajl_test since different OSs don't
always generate the same output for special numbers (nan/NaN/...).
2020-08-09 00:33:07 -05:00
Andrew Johnson
98a358437f Add JSON5 support for hexadecimal integers
With tests for YAJL.

Note yajl_parse_integer still can't handle LLONG_MIN in base 10 or 16.
2020-08-09 00:33:07 -05:00
Andrew Johnson
00ac15cec5 Turning on JSON5 also enables comments
Includes the simple test case.
2020-08-09 00:33:07 -05:00
Andrew Johnson
456e774d85 JSON5: Modified lexer for some number support
If configured for JSON5 the lexer now allows a leading or trailing
decimal point on doubles, and an explicit leading + sign on integers
or double numbers.

Includes test cases.
2020-08-09 00:33:07 -05:00
Andrew Johnson
91c5b2fee2 Trailing commas now require a json5 parser
Modifies the yajl test case to add the -5 option
2020-08-09 00:33:06 -05:00
Andrew Johnson
ae604b2a55 Start of JSON5 support
Added yajl_allow_json5 config flag, pass it around.
Added -5 option to yajl_test and yajlTestConverter.pl
2020-08-09 00:33:06 -05:00
Andrew Johnson
d381a936b5 Fix for yajl#188 potential UB
Apparently it is UB to use an enum in va_start()
2020-08-09 00:33:06 -05:00
Andrew Johnson
e542a22631 Fix Darwin version of epicsMonotonicResolution() 2020-08-04 16:22:03 -05:00
Andrew Johnson
97edcfc289 simmTest.c: Allow the clock to not always tick
On some systems the wall clock may tick slowly, so we must allow
the time to not change at all between checks.
Show the time differences.
2020-08-03 18:03:05 -05:00
Andrew Johnson
951b6acbbc Fix Cygwin TCP_NODELAY issue from Paul Chu & Freddie 2020-08-03 12:25:31 -05:00
Andrew Johnson
3c99391d93 Added SPDX License ID to all EPICS-original source files
In some cases the license-identification header was missing,
so I added that as well. Replaced the remaining headers that
specifically identified "Versions 3.13.7 and higher".

Makefiles and the build system were deliberately excluded.
2020-08-03 11:53:01 -05:00
Andrew Johnson
957f386d77 Removed EPICS license header and (c) from yacc/antelope sources
These should never have been added in the first place.
2020-08-03 11:49:56 -05:00
Andrew Johnson
60aaa16e1d Removed EPICS license header and (c) from flex sources
These should never have been added in the first place.
2020-08-03 11:49:56 -05:00
Andrew Johnson
82b3856535 Release notes updated 2020-08-03 11:38:12 -05:00
Andrew Johnson
3506d11558 Speed up osdTimeGetCurrent() on recent macOS
Fixes https://github.com/epics-base/epics-base/issues/83
2020-08-03 11:37:19 -05:00
Michael Davidsaver
29bdca3b84 forgot commit-gh.sh 2020-07-27 14:38:15 -07:00
Michael Davidsaver
a6cdb4c5b6 Set next development version 2020-07-26 14:45:02 -07:00
d1491e0860 Use JSON arrays in dbpf 2020-07-17 15:03:53 +02:00
7709239636 make sure put_array_info exists before using it 2020-07-17 09:26:55 +02:00
a9731b90f6 Don't freeze the shell when we are out of memory 2020-07-17 09:12:54 +02:00
4368697f58 Updated RELEASE_NOTES.md 2020-07-13 14:53:20 +02:00
12cfd418d6 fix dbPut to set target to INVALID/LINK alarm when writing empty arrays into scalars 2020-07-06 15:22:54 +02:00
e5a48f152a RELEASE_NOTES updated 2020-06-29 23:00:30 +02:00
0a1fb25e6b fix dbCaGetLink to fail when reading scalars from empty arrays 2020-06-29 22:23:21 +02:00
473790124b bugfix: ai SoftDevice should return error status when get fails 2020-06-29 14:54:39 +02:00
0353ede517 don't use epicsOldString 2020-06-27 16:05:54 +02:00
73b86d4921 prevent buffer overflow in dbpf 2020-06-22 13:23:26 +02:00
dec4fc30d9 bugfix in dbpf 2020-06-22 11:30:59 +02:00
e68e38ad95 update RELEASE_NOTES.md about empty arrays 2020-06-10 17:48:09 +02:00
3176651c71 fix dbGet to fail when reading scalars from empty arrays 2020-06-09 16:14:49 +02:00
a42197f0d6 allow to write empty arrays with caput 2020-06-09 10:57:05 +02:00
f8035d8d5e support arrays in dbpf 2020-06-09 10:56:58 +02:00
e4dcd3cefd fix aSub record to support reading empty arrays 2020-06-09 10:56:52 +02:00
c4c13d8ce0 fix subArray soft device support to support reading empty arrays 2020-06-09 10:56:45 +02:00
19c50d4c3d fix aai and waveform soft device support to support reading empty arrays 2020-06-09 10:56:34 +02:00
8cc20393f1 fix dbr size of empty arrays. Fixes caget returning non 0 in first element 2020-06-09 10:56:24 +02:00
cc616371b1 allow constant links with numeric 1 element arrays like [42] 2020-06-08 15:05:22 +02:00
1197 changed files with 15043 additions and 8246 deletions

View File

@@ -1,5 +1,5 @@
# .appveyor.yml for use with EPICS Base ci-scripts
# (see: https://github.com/epics-base/ci-scripts)
# Appveyor configuration file for EPICS Base 7 builds
# (see also https://github.com/epics-base/ci-scripts)
# Version format
version: base-{branch}-{build}
@@ -29,9 +29,12 @@ clone_depth: 5
skip_commits:
files:
- 'documentation/*'
- 'startup/*'
- '.github/*'
- '.tools/*'
- '.gitattributes'
- '**/*.html'
- '**/*.md'
- '.travis.yml'
#---------------------------------#
# build matrix configuration #
@@ -63,6 +66,7 @@ environment:
- CMP: vs2012
- CMP: vs2010
- CMP: gcc
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
# Platform: processor architecture
platform:
@@ -77,14 +81,17 @@ matrix:
CMP: vs2012
- platform: x64
CMP: vs2010
- platform: x64
CMP: vs2008
# Exclude more jobs to reduce build time
# Skip 32-bit for "middle-aged" compilers
- platform: x86
CMP: vs2017
- platform: x86
CMP: vs2015
# MinGW debug builds use the same libraries, unlike VS
- configuration: dynamic-debug
CMP: gcc
- configuration: static-debug
CMP: gcc
#---------------------------------#
# building & testing #
@@ -92,17 +99,22 @@ matrix:
install:
- cmd: git submodule update --init --recursive
- cmd: pip install git+https://github.com/mdavidsaver/ci-core-dumper#egg=ci-core-dumper
- cmd: python .ci/cue.py prepare
build_script:
- cmd: python .ci/cue.py build
test_script:
- cmd: python .ci/cue.py test
- cmd: python -m ci_core_dumper install
- cmd: python .ci/cue.py -T 20M test
on_finish:
- ps: Get-ChildItem *.tap -Recurse -Force | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
- cmd: python .ci/cue.py build test-results -s
- cmd: python .ci/cue.py -T 5M test-results
on_failure:
- cmd: python -m ci_core_dumper report
#---------------------------------#
# debugging #

152
.appveyor/epics-base-7.yml Normal file
View File

@@ -0,0 +1,152 @@
# Appveyor configuration file for EPICS Base 7 builds
# (see also https://github.com/epics-base/ci-scripts)
# branches to build
branches:
# whitelist
only:
- 7.0
- /R7\.0\.\d+.*/
# Version format
version: base-{branch}-{build}
#---------------------------------#
# build cache #
#---------------------------------#
# The AppVeyor cache allowance is way too small (1GB per account across all projects, branches and jobs)
# to be used for the dependency builds.
cache:
- C:\Users\appveyor\.tools
#---------------------------------#
# repository cloning #
#---------------------------------#
# Called at very beginning, before repo cloning
init:
# Set autocrlf to make batch files work
- git config --global core.autocrlf true
# Set clone depth (do not fetch complete history)
clone_depth: 5
# Skipping commits affecting only specific files
skip_commits:
files:
- 'documentation/*'
- 'startup/*'
- '.github/*'
- '.tools/*'
- '.gitattributes'
- '**/*.html'
- '**/*.md'
#---------------------------------#
# build matrix configuration #
#---------------------------------#
image: Visual Studio 2015
# Build Configurations: dll/static, regular/debug
configuration:
- dynamic
- static
- dynamic-debug
- static-debug
# Environment variables: compiler toolchain, base version, setup file, ...
environment:
# common / default variables for all jobs
SETUP_PATH: .ci-local:.ci
BASE: SELF
EPICS_TEST_IMPRECISE_TIMING: YES
matrix:
- CMP: vs2019
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
- CMP: vs2017
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- CMP: vs2015
- CMP: vs2013
- CMP: vs2012
- CMP: vs2010
- CMP: gcc
# Platform: processor architecture
platform:
- x86
- x64
# Matrix configuration: exclude sets of jobs
matrix:
exclude:
# VS2012 and older installs don't have the 64 bit compiler
- platform: x64
CMP: vs2012
- platform: x64
CMP: vs2010
# Exclude more jobs to reduce build time
# Skip 32-bit for "middle-aged" compilers
- platform: x86
CMP: vs2017
- platform: x86
CMP: vs2015
# MinGW debug builds use the same libraries, unlike VS
- configuration: dynamic-debug
CMP: gcc
- configuration: static-debug
CMP: gcc
#---------------------------------#
# building & testing #
#---------------------------------#
install:
- cmd: git submodule update --init --recursive
- cmd: pip install git+https://github.com/mdavidsaver/ci-core-dumper#egg=ci-core-dumper
- cmd: python .ci/cue.py prepare
build_script:
- cmd: python .ci/cue.py build
test_script:
- cmd: python -m ci_core_dumper install
- cmd: python .ci/cue.py -T 20M test
on_finish:
- ps: Get-ChildItem *.tap -Recurse -Force | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
- cmd: python .ci/cue.py -T 5M test-results
on_failure:
- cmd: python -m ci_core_dumper report
#---------------------------------#
# debugging #
#---------------------------------#
## if you want to connect by remote desktop to a failed build, uncomment these lines
## note that you will need to connect within the usual build timeout limit (60 minutes)
## so you may want to adjust the build matrix above to just build the one of interest
# print the connection info
#init:
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
# block a failed build (until the watchdog barks)
#on_failure:
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
#---------------------------------#
# notifications #
#---------------------------------#
notifications:
- provider: Email
to:
- core-talk@aps.anl.gov
on_build_success: false
- provider: GitHubPullRequest

2
.ci

Submodule .ci updated: 87942a7c29...75bae77c1d

View File

@@ -1,19 +0,0 @@
#!/bin/sh
set -e -u -x
env|grep TRAVIS
[ "$TRAVIS_OS_NAME" = "linux" ] || exit 0
# Ensure there is an interface with a (correct) broadcast address
# eg. 'trusty' VMs have interface broadcast address mis-configured
# (why oh why do people insist on setting this explicitly?)
sudo ip tuntap add dev tap42 mode tap
sudo ip addr add 192.168.240.1/24 broadcast + dev tap42
sudo ip link set dev tap42 up
# note that this device will be UP but not RUNNING
# so java will see it as not UP since java confuses UP and RUNNING

22
.gitattributes vendored
View File

@@ -1,5 +1,25 @@
.ci/ export-ignore
.tools/ export-ignore
.github/ export-ignore
.appveyor/ export-ignore
.appveyor.yml export-ignore
.travis.yml export-ignore
README export-subst
#Which files need CRLF handling
# default to automatic
* text=auto
# batch script parser on windows requires CRLF
*.bat text eol=crlf
# extensions for scripts which may be executable via. "#!..." must have LF
*.pl text eol=lf
*.plt text eol=lf
*.sh text eol=lf
*.cmd text eol=lf
# .cmd in unexpanded templates
*.cmd@* text eol=lf
# executable scripts w/o extensions
modules/ca/src/client/S99caRepeater@ text eol=lf
modules/libcom/src/log/S99logServer@ text eol=lf
startup/EpicsHostArch text eol=lf

284
.github/workflows/ci-scripts-build.yml vendored Normal file
View File

@@ -0,0 +1,284 @@
# .github/workflows/ci-scripts-build.yml for use with EPICS Base ci-scripts
# (see: https://github.com/epics-base/ci-scripts)
# This is YAML - indentation levels are crucial
# Workflow name, shared by all branches
name: Base
# Trigger on pushes and PRs to any branch
on:
push:
paths-ignore:
- 'documentation/*'
- 'startup/*'
- '.appveyor/*'
- '.tools/*'
- '.gitattributes'
- '**/*.html'
- '**/*.md'
pull_request:
paths-ignore:
- 'documentation/*'
- 'startup/*'
- '.appveyor/*'
- '.tools/*'
- '.gitattributes'
- '**/*.html'
- '**/*.md'
env:
SETUP_PATH: .ci-local:.ci
BASE: SELF
EPICS_TEST_IMPRECISE_TIMING: YES
jobs:
native:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
# Set environment variables from matrix parameters
env:
CMP: ${{ matrix.cmp }}
BCFG: ${{ matrix.configuration }}
WINE: ${{ matrix.wine }}
RTEMS: ${{ matrix.rtems }}
RTEMS_TARGET: ${{ matrix.rtems_target }}
EXTRA: ${{ matrix.extra }}
TEST: ${{ matrix.test }}
strategy:
fail-fast: false
matrix:
# Job names also name artifacts, character limitations apply
include:
- os: ubuntu-20.04
cmp: gcc
configuration: default
wine: "64"
name: "Ub-20 gcc-9 + MinGW"
- os: ubuntu-20.04
cmp: gcc
configuration: static
wine: "64"
name: "Ub-20 gcc-9 + MinGW, static"
- os: ubuntu-20.04
cmp: gcc
configuration: static
extra: "CMD_CXXFLAGS=-std=c++11"
name: "Ub-20 gcc-9 C++11, static"
- os: ubuntu-20.04
cmp: clang
configuration: default
name: "Ub-20 clang-10"
- os: ubuntu-20.04
cmp: clang
configuration: default
extra: "CMD_CXXFLAGS=-std=c++11"
name: "Ub-20 clang-10 C++11"
- os: ubuntu-20.04
cmp: gcc
configuration: default
rtems: "5"
rtems_target: RTEMS-pc686-qemu
test: NO
name: "Ub-20 gcc-9 + RT-5.1 pc686"
- os: ubuntu-20.04
cmp: gcc
configuration: default
rtems: "5"
rtems_target: RTEMS-beatnik
test: NO
name: "Ub-20 gcc-9 + RT-5.1 beatnik"
# Only build one RTEMS target per CPU family
# unless it's running the tests
#
# - os: ubuntu-20.04
# cmp: gcc
# configuration: default
# rtems: "5"
# rtems_target: RTEMS-mvme3100
# test: NO
# name: "Ub-20 gcc-9 + RT-5.1 mvme3100"
#
# - os: ubuntu-20.04
# cmp: gcc
# configuration: default
# rtems: "5"
# rtems_target: RTEMS-qoriq_e500
# test: NO
# name: "Ub-20 gcc-9 + RT-5.1 qoriq_e500"
- os: ubuntu-20.04
cmp: gcc
configuration: default
rtems: "5"
rtems_target: RTEMS-xilinx_zynq_a9_qemu
test: NO
name: "Ub-20 gcc-9 + RT-5.1 xilinx_zynq_a9_qemu"
- os: ubuntu-20.04
cmp: gcc
configuration: default
rtems: "5"
rtems_target: RTEMS-uC5282
test: NO
name: "Ub-20 gcc-9 + RT-5.1 uC5282"
- os: ubuntu-20.04
cmp: gcc
configuration: default
rtems: "4.10"
name: "Ub-20 gcc-9 + RT-4.10"
rtems_target: RTEMS-pc386-qemu
- os: ubuntu-20.04
cmp: gcc
configuration: default
rtems: "4.9"
name: "Ub-20 gcc-9 + RT-4.9"
rtems_target: RTEMS-pc386-qemu
- os: macos-latest
cmp: clang
configuration: default
name: "MacOS clang-12"
- os: windows-2019
cmp: vs2019
configuration: default
name: "Win2019 MSC-19"
- os: windows-2019
cmp: vs2019
configuration: static
name: "Win2019 MSC-19, static"
- os: windows-2019
cmp: vs2019
configuration: debug
name: "Win2019 MSC-19, debug"
- os: windows-2019
cmp: gcc
configuration: default
name: "Win2019 mingw"
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Automatic core dumper analysis
uses: mdavidsaver/ci-core-dumper@master
- name: "apt-get install"
run: |
sudo apt-get update
sudo apt-get -y install qemu-system-x86 g++-mingw-w64-x86-64 gdb
if: runner.os == 'Linux'
- name: Prepare and compile dependencies
run: python .ci/cue.py prepare
- name: Build main module
run: python .ci/cue.py build
- name: Run main module tests
run: python .ci/cue.py -T 20M test
- name: Upload tapfiles Artifact
if: ${{ always() }}
uses: actions/upload-artifact@v2
with:
name: tapfiles ${{ matrix.name }}
path: '**/O.*/*.tap'
if-no-files-found: ignore
- name: Collect and show test results
if: ${{ always() }}
run: python .ci/cue.py -T 5M test-results
docker:
name: ${{ matrix.name }}
runs-on: ubuntu-latest
container:
image: ${{ matrix.image }}
# Set environment variables from matrix parameters
env:
CMP: ${{ matrix.cmp }}
BCFG: ${{ matrix.configuration }}
EXTRA: ${{ matrix.extra }}
TEST: ${{ matrix.test }}
strategy:
fail-fast: false
matrix:
# Job names also name artifacts, character limitations apply
include:
- name: "CentOS-7"
image: centos:7
cmp: gcc
configuration: default
- name: "CentOS-8"
image: centos:8
cmp: gcc
configuration: default
- name: "Fedora-33"
image: fedora:33
cmp: gcc
configuration: default
- name: "Fedora-latest"
image: fedora:latest
cmp: gcc
configuration: default
steps:
- name: "Build newer Git"
# actions/checkout@v2 wants git >=2.18
# centos:7 has 1.8
if: matrix.image=='centos:7'
run: |
yum -y install curl make gcc curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
curl https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.29.0.tar.gz | tar -xz
cd git-*
make -j2 prefix=/usr/local all
make prefix=/usr/local install
cd ..
rm -rf git-*
type -a git
git --version
- name: "Redhat setup"
run: |
dnfyum() {
dnf -y "$@" || yum -y "$@"
return $?
}
dnfyum install python3 gdb make perl gcc-c++ glibc-devel readline-devel ncurses-devel perl-devel perl-Test-Simple
git --version || dnfyum install git
# rather than just bite the bullet and link python3 -> python,
# people would rather just break all existing scripts...
[ -e /usr/bin/python ] || ln -sf python3 /usr/bin/python
python --version
- uses: actions/checkout@v2
with:
submodules: true
- name: Automatic core dumper analysis
uses: mdavidsaver/ci-core-dumper@master
- name: Prepare and compile dependencies
run: python .ci/cue.py prepare
- name: Build main module
run: python .ci/cue.py build
- name: Run main module tests
run: python .ci/cue.py -T 20M test
- name: Upload tapfiles Artifact
if: ${{ always() }}
uses: actions/upload-artifact@v2
with:
name: tapfiles ${{ matrix.name }}
path: '**/O.*/*.tap'
if-no-files-found: ignore
- name: Collect and show test results
if: ${{ always() }}
run: python .ci/cue.py -T 5M test-results

2
.gitignore vendored
View File

@@ -11,6 +11,8 @@
/modules/Makefile.local
O.*/
/QtC-*
/.vscode/
*.orig
*.log
.*.swp
.DS_Store

102
.tools/adjustver.py Executable file
View File

@@ -0,0 +1,102 @@
#!/usr/bin/env python3
import logging
import sys
import re
from io import StringIO
_log = logging.getLogger(__name__)
def main(args):
logging.basicConfig(level=args.level)
if args.dev is True:
actions=[
('DEVELOPMENT_FLAG', '1'),
('DEV_SNAPSHOT', '-DEV'),
]
elif args.dev is False:
actions=[
('DEVELOPMENT_FLAG', '0'),
('DEV_SNAPSHOT', ''),
]
elif args.version:
M=re.match(r'R?(\d+).(\d+).(\d+)(?:.(\d+))?(-.*)?', args.version)
actions=[
('SITE_VERSION', None),
('SHORT_VERSION', None),
('MINOR_VERSION', M[2]),
('REVISION', M[2]),
('MODIFICATION', M[3]),
('MAINTENANCE_VERSION', M[3]),
('PATCH_LEVEL', M[4] or '0'),
('DEVELOPMENT_FLAG', '1' if (M[5] or '').upper().endswith('-DEV') else '0'),
('DEV_SNAPSHOT', M[5] or ''),
('MAJOR_VERSION', M[1]),
('VERSION', M[1]), # plain _VERSION must be last to resolve ambiguity
]
elif args.dry_run:
_log.debug('Print existing')
for fname in args.conf:
print('# ', fname)
with open(fname, 'r') as F:
sys.stdout.write(F.read())
return
else:
print('One of --version, --release, --dev, or --dry-run is required')
sys.exit(1)
for name, val in actions:
_log.debug('Pattern "%s" -> "%s"', name, val)
for fname in args.conf:
OUT=StringIO()
with open(fname, 'r') as F:
for line in F:
_log.debug('Line: %s', repr(line))
for name, val in actions:
M = re.match(r'(\s*[A-Z_]+' + name + r'\s*=[\t ]*)(\S*)(\s*)', line)
if M and val is None:
_log.debug('Ignore')
OUT.write(line)
break
elif M:
_log.debug(' Match %s -> %s', M.re.pattern, M.groups())
OUT.write(M[1]+val+M[3])
break
else:
_log.debug('No match')
OUT.write(line)
if args.dry_run:
print('# ', fname)
print(OUT.getvalue())
else:
with open(fname, 'w') as F:
F.write(OUT.getvalue())
def getargs():
from argparse import ArgumentParser
P = ArgumentParser()
P.add_argument('-n','--dry-run', action='store_true', default=False)
P.add_argument('-d','--debug', dest='level', action='store_const',
const=logging.DEBUG, default=logging.INFO)
P.add_argument('-V', '--version', help='A version in R1.2.3-xyz or 1.2.3 form')
P.add_argument('-D', '--dev', action='store_true', default=None)
P.add_argument('-R', '--release', dest='dev', action='store_false')
P.add_argument('conf', nargs='+',
help='A configure/CONFIG_*_VERSION file name')
return P
if __name__=='__main__':
main(getargs().parse_args())

View File

@@ -1,91 +0,0 @@
# .travis.yml for use with EPICS Base ci-scripts
# (see: https://github.com/epics-base/ci-scripts)
language: cpp
compiler: gcc
dist: xenial
cache:
directories:
- $HOME/.cache
env:
global:
- SETUP_PATH=.ci-local:.ci
- BASE=SELF
- EPICS_TEST_IMPRECISE_TIMING=YES
addons:
apt:
packages:
# for all EPICS builds
- libreadline6-dev
- libncurses5-dev
- perl
# for clang compiler
- clang
# for mingw builds (32bit and 64bit)
- g++-mingw-w64-i686
- g++-mingw-w64-x86-64
# for RTEMS cross builds
- qemu-system-x86
homebrew:
packages:
# for all EPICS builds
- bash
update: true
install:
- ./.ci-local/travis-fixup.sh
- python .ci/cue.py prepare
script:
- python .ci/cue.py build
- python .ci/cue.py test
- python .ci/cue.py test-results
# Define build jobs
jobs:
include:
# Different configurations of default gcc and clang
- dist: bionic
- dist: xenial
- dist: bionic
env: BCFG=static EXTRA="CMD_CXXFLAGS=-std=c++11"
- dist: trusty
env: EXTRA="CMD_CXXFLAGS=-std=c++11"
- dist: bionic
compiler: clang
- compiler: clang
- dist: trusty
compiler: clang
env: BCFG=static
# Cross-compilations to Windows using MinGW and WINE
- env: WINE=32 TEST=NO BCFG=static
- env: WINE=32 TEST=NO
# Cross-compilation to RTEMS
- env: RTEMS=4.10
- env: RTEMS=4.9
# MacOS build
- os: osx
env:
- EXTRA="CMD_CFLAGS=-mmacosx-version-min=10.7"
- EXTRA1="CMD_CXXFLAGS=-mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++"
- EXTRA2="CMD_LDXFLAGS=-mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++"
compiler: clang

View File

@@ -16,6 +16,10 @@ ifneq ($(wildcard $(TOP)/configure/CONFIG_BASE_VERSION),)
CONFIG = $(TOP)/configure
BASE_TOP=YES
else
ifneq ($(origin EPICS_BASE),file)
# Essential for the EPICS build system, see convertRelease.pl
$(error EPICS_BASE must be set in a configure/RELEASE file)
endif
CONFIG ?= $(EPICS_BASE)/configure
endif
@@ -62,6 +66,9 @@ include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).Common
RELEASE_TOPS := $(shell $(CONVERTRELEASE) -T $(TOP) releaseTops)
ifdef T_A
# Information from the target's compiler
#
-include $(EPICS_BASE)/cfg/TOOLCHAIN.$(EPICS_HOST_ARCH).$(T_A)
# Cross compile specific definitions
#

View File

@@ -3,8 +3,7 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# EPICS Base is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
@@ -32,7 +31,7 @@ PROF_CFLAGS_YES = -p
GPROF_CFLAGS_YES = -pg
CODE_CFLAGS = $(PROF_CFLAGS_$(PROFILE)) $(GPROF_CFLAGS_$(GPROF))
CODE_CFLAGS += $(ASAN_FLAGS_$(ENABLE_ASAN))
WARN_CFLAGS_YES = -Wall
WARN_CFLAGS_YES = -Wall -Werror-implicit-function-declaration
WARN_CFLAGS_NO = -w
OPT_CFLAGS_YES = -O3
OPT_CFLAGS_NO = -g
@@ -51,14 +50,13 @@ CODE_LDFLAGS += $(ASAN_LDFLAGS_$(ENABLE_ASAN))
PIPE_CFLAGS_YES_YES = -pipe
PIPE_CFLAGS = $(PIPE_CFLAGS_$(GCC_PIPE)_$(GNU))
PIPE_CXXFLAGS = $(PIPE_CFLAGS)
STATIC_LDFLAGS_YES = -static
STATIC_LDFLAGS_NO =
SHRLIB_CFLAGS = -fPIC
SHRLIB_LDFLAGS = -shared -fPIC
LOADABLE_SHRLIB_LDFLAGS = -shared -fPIC
SHRLIB_LDFLAGS = -shared -fPIC -Wl,-h$@
LOADABLE_SHRLIB_LDFLAGS = -shared -fPIC -Wl,-h$@
GNU_LDLIBS_YES = -lgcc

View File

@@ -31,10 +31,12 @@ endif # BASE_TOP
# Where to find the installed build tools
# Windows does not like commands with relative paths starting ../
# so TOOLS must be an absolute path, although Perl scripts are OK.
# FIND_TOOL is for scripts run before the build reaches src/tools.
# FIND_TOOL is for scripts run before the build reaches src/tools
# and must also work in submodules when EPICS_BASE is not built.
TOOLS = $(abspath $(EPICS_BASE_HOST_BIN))
FIND_TOOL = $(firstword $(wildcard $(TOOLS)/$(1) $(EPICS_BASE)/src/tools/$(1)))
FIND_TOOL = $(firstword $(wildcard $(TOOLS)/$(1) \
$(TOP)/src/tools/$(1)) $(EPICS_BASE)/src/tools/$(1))
#---------------------------------------------------------------
# EPICS Base build tools and tool flags
@@ -64,10 +66,15 @@ DEPCLEAN = $(call FIND_TOOL,depclean.pl)
#---------------------------------------------------------------
# Tools for testing
TAPTOJUNIT = $(PERL) $(TOOLS)/tap-to-junit-xml.pl
PROVE = $(PERL) $(TOOLS)/epicsProve.pl
PROVE.tap = $(PROVE) --ext .tap --exec "$(CAT)"
TAPS_FAILED_LOG = .taps-failed.log
TESTS_FAILED_LOG = .tests-failed.log
TESTS_FAILED_PATH = $(abspath $(TOP)/$(TESTS_FAILED_LOG))
TEST_FAILURE_FILENAME = .tests-failed.log
TEST_FAILURE_FILE = $(TOP)/$(TEST_FAILURE_FILENAME)
PROVE_FAILURE = echo $(abspath .)>> $(TEST_FAILURE_FILE)
TAPTOJUNIT = $(PERL) $(TOOLS)/tap-to-junit-xml.pl
PROVE = $(PERL) $(TOOLS)/epicsProve.pl --failures --color
PROVE.tap = $(PROVE) --ext .tap --exec "$(CAT)"
TESTFAILURES = $(PERL) $(TOOLS)/testFailures.pl
SHOWTESTFAILURES = $(TESTFAILURES) $(TESTS_FAILED_PATH) $(TAPS_FAILED_LOG)
PROVE_FAILURE = echo $(abspath .)>> $(TESTS_FAILED_PATH)
TAPFILE_FAILURE = echo $@>> $(TAPS_FAILED_LOG)

View File

@@ -48,7 +48,7 @@ EPICS_VERSION = 7
EPICS_REVISION = 0
# EPICS_MODIFICATION must be a number >=0 and <256
EPICS_MODIFICATION = 4
EPICS_MODIFICATION = 6
# EPICS_PATCH_LEVEL must be a number (win32 resource file requirement)
# Not included in the official EPICS version number if zero
@@ -56,12 +56,7 @@ EPICS_PATCH_LEVEL = 1
# Immediately after an official release the EPICS_PATCH_LEVEL is incremented
# and the -DEV suffix is added (similar to the Maven -SNAPSHOT versions)
#EPICS_DEV_SNAPSHOT=
#EPICS_DEV_SNAPSHOT=-DEV
#EPICS_DEV_SNAPSHOT=-pre1
#EPICS_DEV_SNAPSHOT=-pre1-DEV
EPICS_DEV_SNAPSHOT=-rc1
#EPICS_DEV_SNAPSHOT=-rc1-DEV
EPICS_DEV_SNAPSHOT=
# No changes should be needed below here

View File

@@ -1,8 +1,8 @@
# Version number for the Channel Access API and shared library
EPICS_CA_MAJOR_VERSION = 4
EPICS_CA_MINOR_VERSION = 13
EPICS_CA_MAINTENANCE_VERSION = 7
EPICS_CA_MINOR_VERSION = 14
EPICS_CA_MAINTENANCE_VERSION = 1
# Development flag, set to zero for release versions

View File

@@ -71,6 +71,8 @@ INSTALL_DBD = $(INSTALL_LOCATION)/dbd
INSTALL_DB = $(INSTALL_LOCATION)/db
INSTALL_CONFIG = $(INSTALL_LOCATION)/configure
FINAL_LOCATION = $(shell $(PERL) $(TOOLS)/fullPathName.pl $(INSTALL_LOCATION))
# Directory for OS independant build created files
COMMON_DIR = ../O.Common
@@ -80,12 +82,12 @@ IOCS_APPL_TOP = $(shell $(FULLPATHNAME) $(INSTALL_LOCATION))
#-------------------------------------------------------
# Silencing the build - suppress messages during 'make -s'
NOP = :
ECHO = @$(if $(findstring s,$(MFLAGS)),$(NOP),echo)
QUIET_FLAG := $(if $(findstring s,$(MFLAGS)),-q,)
ECHO = @$(if $(filter -s,$(MFLAGS)),$(NOP),echo)
QUIET_FLAG := $(if $(filter -s,$(MFLAGS)),-q,)
#-------------------------------------------------------
# Convert 'make -q' flag into '-i' for genVersionHeader.pl
QUESTION_FLAG := $(if $(findstring q,$(MFLAGS)),-i,)
QUESTION_FLAG := $(if $(filter -q,$(MFLAGS)),-i,)
#-------------------------------------------------------
ifdef T_A
@@ -142,9 +144,10 @@ BUILDLIB_SUFFIX = $(BUILDLIB_SUFFIX_$(SHARED_LIBRARIES))
#--------------------------------------------------
# vpath directories
POSIX_YES = os/posix
OS_IMPL_DIRS = $(if $(OS_API),os/$(OS_CLASS)-$(OS_API),) os/$(OS_CLASS)
GENERIC_SRC_DIRS = .. $(SRC_DIRS)
OS_SRC_DIRS += . $(foreach dir, .. $(SRC_DIRS), \
$(addprefix $(dir)/, os/$(OS_CLASS) $(POSIX_$(POSIX)) os/default ))
$(addprefix $(dir)/, $(OS_IMPL_DIRS) $(POSIX_$(POSIX)) os/default ))
CMPLR_SRC_DIRS += . $(foreach dir, .. $(SRC_DIRS), \
$(addprefix $(dir)/, compiler/$(CMPLR_CLASS) compiler/default ))
ALL_SRC_DIRS = $(CMPLR_SRC_DIRS) $(OS_SRC_DIRS) $(GENERIC_SRC_DIRS)
@@ -257,7 +260,7 @@ OPT_CXXFLAGS = $(OPT_CXXFLAGS_$($(BUILD_CLASS)_OPT))
# Static build flags
STATIC_CFLAGS = $(STATIC_CFLAGS_$(STATIC_BUILD))
STATIC_CXXCFLAGS = $(STATIC_CXXFLAGS_$(STATIC_BUILD))
STATIC_CXXFLAGS = $(STATIC_CXXFLAGS_$(STATIC_BUILD))
STATIC_LDFLAGS = $(STATIC_LDFLAGS_$(STATIC_BUILD))
STATIC_LDLIBS = $(STATIC_LDLIBS_$(STATIC_BUILD))
@@ -294,7 +297,7 @@ CFLAGS = $($(BUILD_CLASS)_CFLAGS) $(POSIX_CFLAGS) $(OPT_CFLAGS)\
CXXFLAGS = $($(BUILD_CLASS)_CXXFLAGS) $(POSIX_CXXFLAGS) $(OPT_CXXFLAGS)\
$(DEBUG_CXXFLAGS) $(PIPE_CFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS)\
$(USR_CXXFLAGS) $(CMD_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(CODE_CXXFLAGS)\
$(STATIC_CXXCFLAGS) $(OP_SYS_CXXFLAGS) $(LIBRARY_SRC_CFLAGS)
$(STATIC_CXXFLAGS) $(OP_SYS_CXXFLAGS) $(LIBRARY_SRC_CFLAGS)
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(CMD_LDFLAGS)\
$(POSIX_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(DEBUG_LDFLAGS) $(OP_SYS_LDFLAGS)\

View File

@@ -24,3 +24,5 @@ MSI3_15 = $(EPICS_DATABASE_HOST_BIN)/msi$(HOSTEXE)
# Libraries needed to link a basic IOC
EPICS_BASE_IOC_LIBS = dbRecStd dbCore ca Com
HAS_registerAllRecordDeviceDrivers=YES

View File

@@ -1,8 +1,8 @@
# Version number for the database APIs and shared library
EPICS_DATABASE_MAJOR_VERSION = 3
EPICS_DATABASE_MINOR_VERSION = 18
EPICS_DATABASE_MAINTENANCE_VERSION = 1
EPICS_DATABASE_MINOR_VERSION = 21
EPICS_DATABASE_MAINTENANCE_VERSION = 0
# Development flag, set to zero for release versions

View File

@@ -1,8 +1,8 @@
# Version number for the libcom APIs and shared library
EPICS_LIBCOM_MAJOR_VERSION = 3
EPICS_LIBCOM_MINOR_VERSION = 18
EPICS_LIBCOM_MAINTENANCE_VERSION = 1
EPICS_LIBCOM_MINOR_VERSION = 21
EPICS_LIBCOM_MAINTENANCE_VERSION = 0
# Development flag, set to zero for release versions

View File

@@ -17,11 +17,11 @@
# Currently Supporting:
# cygwin-x86 (cygwin compiler used for host builds)
# cygwin-x86_64 (cygwin compiler used for host builds)
# darwin-ppc (PowerPC based Apple running OSX)
# darwin-ppcx86 (Universal binaries for both CPUs)
# darwin-x86 (Intel based Apple running OSX)
# darwin-aarch64 (M1 based Apple using CLANG compiler)
# darwin-x86 (Intel based Apple using CLANG compiler)
# freebsd-x86 (GNU compiler used for host builds)
# freebsd-x86_64 (GNU compiler used for host builds)
# linux-aarch64 (GNU compiler used for host builds)
# linux-arm (GNU compiler used for host builds)
# linux-ppc (GNU compiler used for host builds)
# linux-ppc64 (GNU compiler used for host builds)
@@ -51,7 +51,6 @@
# windows-x64-debug (MS Visual C++ compiler with debug option for host builds)
# EPICS_HOST_ARCH is a required environment variable
# Do not set EPICS_HOST_ARCH in this file.
# Use base/startup files to set EPICS_HOST_ARCH or
# provide EPICS_HOST_ARCH on the GNU make command line.
@@ -62,23 +61,11 @@
# ios-arm (darwin-x86 host)
# ios-386 (darwin-x86 host)
# linux-386 (linux-x86 host)
# linux-486 (linux-x86 host)
# linux-586 (linux-x86 host)
# linux-686 (linux-x86 host)
# linux-arm (linux-x86 or -x86_64 host)
# linux-arm_eb (linux-x86 host)
# linux-arm_el (linux-x86 host)
# linux-athlon (linux-x86 host)
# linux-cris (Axis GNU crosscompiler on linux-x86 host)
# linux-cris_v10 (Axis GNU crosscompiler on linux-x86 host)
# linux-cris_v32 (Axis GNU crosscompiler on linux-x86 host)
# linux-aarch64 (linux-x86_64 host)
# linux-microblaze
# linux-xscale_be
# vxWorks-486
# vxWorks-68040
# vxWorks-68040lc
# vxWorks-68060
# vxWorks-pentium
# vxWorks-ppc32 (32-bit PowerPC CPUs with full FPU)
# vxWorks-ppc32sf (32-bit PowerPC CPUs without FPU)
@@ -89,18 +76,20 @@
# vxWorks-ppc604_altivec
# vxWorks-mpc8540
# vxWorks-mpc8548
# RTEMS-at91rm9200ek
# RTEMS-beagleboneblack
# RTEMS-beatnik
# RTEMS-gen68360
# RTEMS-mcp750
# RTEMS-mvme167
# RTEMS-mvme2100
# RTEMS-mvme2700
# RTEMS-mvme3100
# RTEMS-mvme5500
# RTEMS-pc386
# RTEMS-psim
# RTEMS-pc386 (RTEMS 4)
# RTEMS-pc386-qemu (RTEMS 4)
# RTEMS-pc686 (RTEMS 5)
# RTEMS-pc686-qemu (RTEMS 5)
# RTEMS-qoriq_e500
# RTEMS-uC5282
# RTEMS-xilinx-zynq-a9_qemu
# RTEMS-xilinx_zynq_zedboard
# win32-x86-mingw (linux-x86 or -x86_64 host)
#
@@ -108,7 +97,6 @@
# Definitions in configure/os/CONFIG_SITE.<host>.Common
# may override this setting.
CROSS_COMPILER_TARGET_ARCHS=
#CROSS_COMPILER_TARGET_ARCHS=vxWorks-ppc32
# If only some of your host architectures can compile the
# above CROSS_COMPILER_TARGET_ARCHS specify those host
@@ -155,6 +143,14 @@ CROSS_WARN=YES
# different location then uncomment and set this.
#INSTALL_LOCATION=<fullpathname>
# The location from which files placed in INSTALL_LOCATION will actually run.
# This path is compiled into executables, and so should be an absolute.
# May be used to achieve the effect of autotools. eg.
# ./configure --prefix=<FINAL_LOCATION>
# make DESTDIR=<INSTALL_LOCATION>
# Defaults to the absolute expansion of $(INSTALL_LOCATION)
#FINAL_LOCATION=
# Use POSIX thread priority scheduling (if available).
# Must be either YES or NO
USE_POSIX_THREAD_PRIORITY_SCHEDULING = YES

View File

@@ -15,7 +15,8 @@ include $(TOP)/configure/CONFIG
TOOLS = $(TOP)/src/tools
CONFIGS += $(subst ../,,$(wildcard ../CONFIG*))
CONFIGS += $(subst ../,,$(wildcard ../os/CONFIG*))
CONFIGS += $(subst ../,,$(wildcard ../os/CONFIG.*))
CONFIGS += $(subst ../,,$(wildcard ../os/CONFIG_SITE.*))
CONFIGS += $(subst ../,,$(wildcard ../RELEASE*))
CONFIGS += $(subst ../,,$(wildcard ../RULES*))
@@ -29,5 +30,9 @@ CFG += CONFIG_CA_VERSION
CFG += CONFIG_DATABASE_MODULE
CFG += CONFIG_DATABASE_VERSION
CFG += TOOLCHAIN.$(EPICS_HOST_ARCH).$(T_A)
include $(TOP)/configure/RULES
TOOLCHAIN.$(EPICS_HOST_ARCH).$(T_A): toolchain.c
$(PREPROCESS.cpp)

View File

@@ -196,12 +196,12 @@ endif
#---------------------------------------------------------------
# build dependancies, clean rule
inc: $(COMMON_INC) $(INSTALL_INC)
inc: $(COMMON_INC) $(INSTALL_INC) $(COMMON_DBDS) $(COMMON_DBDCATS) \
$(INSTALL_DBDS) $(INSTALL_DBD_INSTALLS)
build: $(COMMON_DBDS) $(COMMON_DBS) $(COMMON_DBDCATS) \
$(INSTALL_DBDS) $(INSTALL_DBS) \
build: $(COMMON_DBS) $(INSTALL_DBS) \
$(DBDDEPENDS_FILES) $(TARGETS) \
$(INSTALL_DB_INSTALLS) $(INSTALL_DBD_INSTALLS)
$(INSTALL_DB_INSTALLS)
clean: db_clean
@@ -455,7 +455,7 @@ $(COMMON_DIR)/%.html: ../%.pl
$(PODTOHTML) -s -o $(notdir $@) $<
@$(MV) $(notdir $@) $@
.PRECIOUS: $(COMMON_DIR)/%.html %.html
.PRECIOUS: $(COMMON_DIR)/%.html
#---------------------------------------------------------------
# DB files

View File

@@ -32,12 +32,12 @@ vpath %.l $(USR_VPATH) $(ALL_SRC_DIRS)
include $(CONFIG)/CONFIG_ADDONS
#---------------------------------------------------------------
# Set PROD, TESTPROD, OBJS, and LIBRARY
SCRIPTS_HOST += $(PERL_SCRIPTS)
# PERL_SCRIPTS are installed into existing $(INSTALL_BIN) for Host systems
ifeq ($(findstring Host,$(VALID_BUILDS)),Host)
# Host targets can compile and run programs
ifneq (,$(findstring Host,$(VALID_BUILDS)))
LIBRARY += $(LIBRARY_HOST)
LOADABLE_LIBRARY += $(LOADABLE_LIBRARY_HOST)
OBJS += $(OBJS_HOST)
@@ -49,7 +49,21 @@ TESTSCRIPTS += $(TESTSCRIPTS_HOST)
TESTPROD += $(TESTPROD_HOST)
endif
ifeq ($(findstring Ioc,$(VALID_BUILDS)),Ioc)
# Command targets have a command line and support main()
ifneq (,$(findstring Command,$(VALID_BUILDS)))
LIBRARY += $(LIBRARY_CMD)
LOADABLE_LIBRARY += $(LOADABLE_LIBRARY_CMD)
OBJS += $(OBJS_CMD)
PROD += $(PROD_CMD)
SCRIPTS += $(SCRIPTS_CMD)
TARGETS += $(TARGETS_CMD)
TESTLIBRARY += $(TESTLIBRARY_CMD)
TESTSCRIPTS += $(TESTSCRIPTS_CMD)
TESTPROD += $(TESTPROD_CMD)
endif
# Ioc targets can run IOCs
ifneq (,$(findstring Ioc,$(VALID_BUILDS)))
LIBRARY += $(LIBRARY_IOC)
LOADABLE_LIBRARY += $(LOADABLE_LIBRARY_IOC)
OBJS += $(OBJS_IOC)
@@ -89,17 +103,20 @@ include $(CONFIG)/RULES.Db
#---------------------------------------------------------------
# Include defines and rules for prod, library and test* targets
#ifneq (,$(strip $(PROD) $(TESTPROD) $(LIBRARY) $(TESTLIBRARY) $(LOADABLE_LIBRARY) ))
ifneq (,$(strip $(PROD) $(TESTPROD) $(LIBRARY) $(TESTLIBRARY) \
$(LOADABLE_LIBRARY)))
include $(CONFIG)/RULES_TARGET
#endif
endif
#---------------------------------------------------------------
# Read dependency files
ifneq (inc,$(strip $(MAKECMDGOALS)))
ifneq (,$(strip $(HDEPENDS_FILES)))
$(filter-out $(wildcard *$(DEP)), $(HDEPENDS_FILES)): | $(COMMON_INC)
-include $(HDEPENDS_FILES)
endif
endif
#---------------------------------------------------------------
# Products and Object libraries
@@ -147,12 +164,13 @@ build: inc
build: $(OBJSNAME) $(LIBTARGETS) $(PRODTARGETS) $(TESTPRODTARGETS) \
$(TARGETS) $(TESTSCRIPTS) $(INSTALL_LIB_INSTALLS)
inc: $(COMMON_INC) $(INSTALL_INC) $(INSTALL_CONFIGS)
inc: $(COMMON_INC) $(INSTALL_INC) $(INSTALL_CONFIGS) $(INSTALLS_CFG) \
$(INSTALL_HTMLS) $(INSTALLS_PERL_MODULES) $(INSTALL_SCRIPTS)
buildInstall: \
$(INSTALL_SCRIPTS) $(INSTALL_PROD) $(INSTALL_MUNCHS) \
$(INSTALL_PROD) $(INSTALL_MUNCHS) \
$(INSTALL_TCLLIBS) $(INSTALL_TCLINDEX) \
$(INSTALL_HTMLS) $(INSTALL_DOCS) \
$(INSTALL_DOCS) \
$(INSTALL_OBJS) \
$(INSTALL_TEMPLATE) \
$(INSTALL_BIN_INSTALLS)
@@ -358,18 +376,22 @@ runtests: run-tap-tests
run-tap-tests: $(TESTSCRIPTS.t)
ifneq ($(TESTSCRIPTS.t),)
ifdef RUNTESTS_ENABLED
$(PROVE) --failures --color $^ || $(PROVE_FAILURE)
$(ECHO) "$(PROVE) $^"
@$(PROVE) $^ || $(PROVE_FAILURE)
endif
endif
tapfiles: $(TAPFILES)
junitfiles: $(JUNITFILES)
# prevent deletion of partial output from failing tests
.PRECIOUS: $(TAPFILES) $(JUNITFILES)
test-results: tap-results
tap-results: $(TAPFILES)
ifneq ($(strip $(TAPFILES)),)
ifdef RUNTESTS_ENABLED
$(PROVE.tap) --failures --color $^ || $(PROVE_FAILURE)
$(ECHO) "$(PROVE.tap) $^"
@$(PROVE.tap) $^ || $(PROVE_FAILURE)
endif
CURRENT_TAPFILES := $(wildcard $(TAPFILES))
@@ -377,8 +399,8 @@ CURRENT_JUNITFILES := $(wildcard $(JUNITFILES))
endif
clean-tests:
ifneq ($(CURRENT_TAPFILES),)
$(RM) $(CURRENT_TAPFILES)
ifneq ($(CURRENT_TAPFILES)$(TAPS_FAILED_LOG),)
$(RM) $(CURRENT_TAPFILES) $(TAPS_FAILED_LOG)
endif
ifneq ($(CURRENT_JUNITFILES),)
$(RM) $(CURRENT_JUNITFILES)
@@ -387,7 +409,8 @@ endif
# A .tap file is the output from running the associated test script
$(TAPFILES.t): %.tap: %.t
ifdef RUNTESTS_ENABLED
$(PERL) $< -tap > $@
$(ECHO) "$(PERL) $< -tap > $@"
@$(PERL) $< -tap > $@ || $(TAPFILE_FAILURE)
endif
$(JUNITFILES.t): %-results.xml: %.tap
@@ -540,6 +563,10 @@ $(INSTALL_DOC)/%: ../%
$(ECHO) "Installing doc $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(INSTALL_DOC)
$(INSTALL_HTML)/$(HTMLS_DIR)/%: $(COMMON_DIR)/%
$(ECHO) "Installing generated html $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
$(INSTALL_HTML)/$(HTMLS_DIR)/%: %
$(ECHO) "Installing html $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
@@ -548,10 +575,6 @@ $(INSTALL_HTML)/$(HTMLS_DIR)/%: ../%
$(ECHO) "Installing html $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
$(INSTALL_HTML)/$(HTMLS_DIR)/%: $(COMMON_DIR)/%
$(ECHO) "Installing generated html $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
$(INSTALL_TEMPLATES_SUBDIR)/%: ../%
$(ECHO) "Installing $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)

View File

@@ -86,8 +86,10 @@ expand_clean:
ASSEMBLE_TOOL ?= $(PERL) $(TOOLS)/assembleSnippets.pl
define COMMON_ASSEMBLY_template
ifneq '$$($1_PATTERN)' ''
$1_SNIPPETS += $$(foreach dir, .. $$(SRC_DIRS), \
$$(wildcard $$(dir)/$$($1_PATTERN)))
endif
$(COMMON_DIR)/$1: $$($1_SNIPPETS)
$(ECHO) "Assembling common file $$@ from snippets"
@$(RM) $1
@@ -98,8 +100,10 @@ $(foreach asy, $(COMMON_ASSEMBLIES), \
$(eval $(call COMMON_ASSEMBLY_template,$(strip $(asy)))))
define ASSEMBLY_template
ifneq '$$($1_PATTERN)' ''
$1_SNIPPETS += $$(foreach dir, .. $$(SRC_DIRS), \
$$(wildcard $$(dir)/$$($1_PATTERN)))
endif
$1: $$($1_SNIPPETS)
$(ECHO) "Assembling file $$@ from snippets"
@$(RM) $$@

View File

@@ -47,14 +47,9 @@ realclean:
.PHONY: RELEASE.host realclean
# Append all our live submodule failure files
FAILURE_FILES = $(addsuffix /$(TEST_FAILURE_FILENAME), $(LIVE_SUBMODULES))
define combine_failure_files
@$(TOUCH) $(FAILURE_FILES)
@$(CAT) $(FAILURE_FILES) >> $(TEST_FAILURE_FILE)
endef
runtests: | $(addsuffix $(DIVIDER)runtests, $(LIVE_SUBMODULES))
$(if $(FAILURE_FILES), $(combine_failure_files))
test-results: | $(addsuffix $(DIVIDER)test-results, $(LIVE_SUBMODULES))
$(if $(FAILURE_FILES), $(combine_failure_files))
# Testing: Combine test failure logs from the live submodules
TESTS_FAILED_LOGS = $(wildcard $(addsuffix /$(TESTS_FAILED_LOG), \
$(LIVE_SUBMODULES)))
runtests test-results: % : | $(addsuffix $(DIVIDER)%, $(LIVE_SUBMODULES))
$(if $(TESTS_FAILED_LOGS), \
@$(CAT) $(TESTS_FAILED_LOGS)>> $(TESTS_FAILED_PATH))

View File

@@ -21,7 +21,6 @@ $(foreach target, $(PROD) $(TESTPROD) $(LIBRARY) $(TESTLIBRARY) $(LOADABLE_LIBRA
#-----------------------------------------------------------------------
# This define block requires GNU make 3.81
define PROD_template
ifeq ($$(strip $$($(1)_OBJS) $$($(1)_SRCS) $$(PRODUCT_OBJS)),)
$(1)_OBJS = $(1)$$(OBJ)

View File

@@ -33,7 +33,7 @@ UNINSTALL_DIRS += $(INSTALL_INCLUDE) $(INSTALL_TEMPLATES) $(DIRECTORY_TARGETS)
ifneq ($(INSTALL_LOCATION),$(TOP))
UNINSTALL_DIRS += $(INSTALL_CONFIG)
endif
uninstallDirs:
uninstallDirs: | clean
$(RMDIR) $(UNINSTALL_DIRS)
# Remove the bin and lib directories if they have no sub-directories
@@ -41,17 +41,18 @@ uninstallDirs:
EMPTY_INSTALL_DIRS = \
$(if $(wildcard $(INSTALL_LOCATION_BIN)/*),,$(INSTALL_LOCATION_BIN)) \
$(if $(wildcard $(INSTALL_LOCATION_LIB)/*),,$(INSTALL_LOCATION_LIB))
uninstall: archuninstall uninstallDirs
uninstall: archuninstall uninstallDirs | clean
$(RMDIR) $(EMPTY_INSTALL_DIRS)
archuninstall: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS))
uninstall$(DIVIDER)%:
uninstall$(DIVIDER)%: | clean
$(RMDIR) $(addsuffix /$(subst uninstall$(DIVIDER),,$@), \
$(INSTALL_LOCATION_BIN) $(INSTALL_LOCATION_LIB))
# Only run this at the top of the parent
runtests test-results:
@$(PERL) $(TOOLS)/testFailures.pl $(TEST_FAILURE_FILE)
@$(SHOWTESTFAILURES)
else
#
@@ -63,16 +64,16 @@ else
endif # DISABLE_TOP_RULES
# Clean out old results
before-runtests before-test-results: rm-failure-file
rm-failure-file:
@$(RM) $(TEST_FAILURE_FILE)
@$(TOUCH) $(TEST_FAILURE_FILE)
$(RM) $(TESTS_FAILED_PATH)
help:
@echo "Usage: gnumake [options] [target] ..."
@echo "Targets supported by all Makefiles:"
@echo " all - Same as install (default rule)"
@echo " inc - Installs header files"
@echo " inc - Installs header, dbd and html files"
@echo " build - Builds and installs all targets"
@echo " install - Builds and installs all targets"
@echo " buildInstall - Same as install (deprecated)"

View File

@@ -3,8 +3,8 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE Versions 3.13.7
# and higher are distributed subject to a Software License Agreement found
# SPDX-License-Identifier: EPICS
# EPICS Base is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# Makefile for base/src/sample

View File

@@ -28,12 +28,13 @@ ifneq ($(CONFIG),$(TOP)/configure)
endif
#--------------------------------------------------
# Set RTEMS_BSP from T_A if not already done
# Set RTEMS_BSP and GNU_TARGET if not already done
RTEMS_BSP ?= $(subst RTEMS-,,$(T_A))
GNU_TARGET ?= $(RTEMS_TARGET_CPU)-rtems
#-------------------------------------------------------
# Pick up the RTEMS tool/path definitions from the RTEMS BSP directory.
include $(RTEMS_BASE)/$(RTEMS_TARGET_CPU)-rtems$(RTEMS_VERSION)/$(RTEMS_BSP)/Makefile.inc
include $(RTEMS_BASE)/$(GNU_TARGET)$(RTEMS_VERSION)/$(RTEMS_BSP)/Makefile.inc
include $(RTEMS_CUSTOM)
include $(CONFIG.CC)
@@ -41,7 +42,7 @@ include $(CONFIG.CC)
# RTEMS cross-development tools
CC = $(RTEMS_TOOLS)/bin/$(CC_FOR_TARGET) $(GCCSPECS) -fasm
CCC = $(RTEMS_TOOLS)/bin/$(CXX)
CPP = $(RTEMS_TOOLS)/bin/$(CC_FOR_TARGET) -x c -E
CPP = $(RTEMS_TOOLS)/bin/$(CC_FOR_TARGET) -x c -E $(GCCSPECS)
AR = $(RTEMS_TOOLS)/bin/$(AR_FOR_TARGET)
LD = $(RTEMS_TOOLS)/bin/$(LD_FOR_TARGET) -r
@@ -62,7 +63,7 @@ CFLAGS = $($(BUILD_CLASS)_CFLAGS) $(POSIX_CFLAGS) $(OPT_CFLAGS)\
CXXFLAGS = $($(BUILD_CLASS)_CXXFLAGS) $(POSIX_CXXFLAGS) $(OPT_CXXFLAGS)\
$(DEBUG_CXXFLAGS) $(PIPE_CFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS)\
$(USR_CXXFLAGS) $(CMD_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(CODE_CXXFLAGS)\
$(STATIC_CXXCFLAGS) $(OP_SYS_CXXFLAGS) $(LIBRARY_SRC_CFLAGS)
$(STATIC_CXXFLAGS) $(OP_SYS_CXXFLAGS) $(LIBRARY_SRC_CFLAGS)
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(CMD_LDFLAGS)\
$(POSIX_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(DEBUG_LDFLAGS) $(OP_SYS_LDFLAGS)\
@@ -76,7 +77,10 @@ CPPFLAGS += $($(BUILD_CLASS)_CPPFLAGS) $(POSIX_CPPFLAGS) $(OPT_CPPFLAGS)\
$(USR_CPPFLAGS) $(CMD_CPPFLAGS) $(ARCH_DEP_CPPFLAGS) $(OP_SYS_CPPFLAGS)\
$(OP_SYS_INCLUDE_CPPFLAGS) $(CODE_CPPFLAGS)
ECHO = @$(if $(findstring s,$(MFLAGS)),$(NOP),echo)
ECHO = @$(if $(filter -s,$(MFLAGS)),$(NOP),echo)
# Originally set in os/CONFIG.UnixCommon.Common
MKDIR = mkdir -p
#--------------------------------------------------
# Although RTEMS uses gcc, it wants to use gcc its own way
@@ -95,20 +99,39 @@ MODEXT=.obj
OS_CLASS = RTEMS
#--------------------------------------------------
# Operating system flags
OP_SYS_LDLIBS += -lrtemsCom -lc -lrtemscpu -lCom -lnfs -lm
OP_SYS_LDFLAGS += $(CPU_CFLAGS) -u Init \
# Operating system compile & link flags
OP_SYS_CFLAGS += -D__LINUX_ERRNO_EXTENSIONS__
OP_SYS_CFLAGS_NET_yes = -DRTEMS_LEGACY_STACK
OP_SYS_CFLAGS += $(OP_SYS_CFLAGS_NET_$(RTEMS_HAS_NETWORKING))
ifeq ($(RTEMS_HAS_POSIX_API),yes)
POSIX_CPPFLAGS = -D_GNU_SOURCE -D_DEFAULT_SOURCE
endif
OP_SYS_LDLIBS_posix_NET_yes = -ltftpfs -lnfs -lz -ltelnetd
OP_SYS_LDLIBS_posix_NET_no = -ltftpfs -lbsd -lz
OP_SYS_LDLIBS_score_NET_yes = -lnfs
OP_SYS_LDLIBS_score_NET_no = -lnfs
OP_SYS_LDLIBS += -lrtemsCom -lCom
OP_SYS_LDLIBS += $(OP_SYS_LDLIBS_$(OS_API)_NET_$(RTEMS_HAS_NETWORKING))
OP_SYS_LDLIBS += -lrtemscpu -lc -lm
OP_SYS_LDFLAGS_posix = -u POSIX_Init
OP_SYS_LDFLAGS_score = -u Init \
$(PROJECT_RELEASE)/lib/no-dpmem.rel \
$(PROJECT_RELEASE)/lib/no-mp.rel \
$(PROJECT_RELEASE)/lib/no-part.rel \
$(PROJECT_RELEASE)/lib/no-signal.rel \
$(PROJECT_RELEASE)/lib/no-rtmon.rel
OP_SYS_LDFLAGS += $(CPU_CFLAGS) $(OP_SYS_LDFLAGS_$(OS_API))
# Settings for GeSys
MOD_SYS_LDFLAGS += $(CPU_CFLAGS) -Wl,-r -nostdlib
# Do not link against libraries which are part of the Generic Image
GESYS_LIBS += -lgcc
GESYS_LIBS += -lc -lm -lrtemscpu -lrtemsbsp -lrtems++ -lbspExt
GESYS_LIBS += -lc -lm -lrtemscpu -lrtemsbsp -lrtems++
GESYS_LIBS += -lcexp -ltecla_r -lspencer_regexp -lpmelf -lpmbfd
GESYS_LIBS += -lnfs -ltelnetd -lrtems-gdb-stub

View File

@@ -1,14 +0,0 @@
#
# CONFIG.Common.RTEMS-at91rm9200ek
# Author: Ralf Hartmann
# BESSY
# Ralf.Hartmann@bessy.de
#
# Atmel AT91RM9200-EK evaluation kit
# using the AT91RM9200 ARM9-based 32-bit RISC microcontroller
#
# All RTEMS targets use the same Makefile fragment
#
RTEMS_BSP = at91rm9200ek
RTEMS_TARGET_CPU = arm
include $(CONFIG)/os/CONFIG.Common.RTEMS

View File

@@ -0,0 +1,18 @@
#
# CONFIG.Common.RTEMS-beaglebineblack
# Author: Heinz Junkes <junkes@fhi-berlin.mpg.de>
#
# All RTEMS targets use the same Makefile fragment
#
#EXE = .elf
RTEMS_BSP = beagleboneblack
RTEMS_TARGET_CPU = arm
GNU_TARGET = arm-rtems
OP_SYS_LDLIBS += -Wl,--gc-sections
ARCH_DEP_LDFLAGS = -L$(RTEMS_BASE)/$(GNU_TARGET)$(RTEMS_VERSION)/beagleboneblack/lib/
include $(CONFIG)/os/CONFIG.Common.RTEMS

View File

@@ -8,14 +8,16 @@ EXE = .elf
RTEMS_BSP = beatnik
RTEMS_TARGET_CPU = powerpc
GNU_TARGET = powerpc-rtems
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
# optimization trouble in postfix.c
ARCH_DEP_CFLAGS += -DRTEMS_HAS_ALTIVEC
#will use bootp
#ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
ARCH_DEP_CFLAGS += -DHAVE_MOTLOAD
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120
OP_SYS_LDLIBS += -lbspExt
MUNCH_SUFFIX = .boot
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
define MUNCH_CMD
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
endef

View File

@@ -1,10 +0,0 @@
#
# Author: W. Eric Norum
# Canadian Light Source
# eric@cls.usask.ca
#
# All RTEMS targets use the same Makefile fragment
#
RTEMS_BSP = gen68360
RTEMS_TARGET_CPU = m68k
include $(CONFIG)/os/CONFIG.Common.RTEMS

View File

@@ -1,10 +0,0 @@
#
# Author: W. Eric Norum
# Canadian Light Source
# eric@cls.usask.ca
#
# All RTEMS targets use the same Makefile fragment
#
RTEMS_BSP = mcp750
RTEMS_TARGET_CPU = ppc
include $(CONFIG)/os/CONFIG.Common.RTEMS

View File

@@ -1,10 +0,0 @@
#
# Author: W. Eric Norum
# Canadian Light Source
# eric@cls.usask.ca
#
# All RTEMS targets use the same Makefile fragment
#
RTEMS_BSP = mvme167
RTEMS_TARGET_CPU = m68k
include $(CONFIG)/os/CONFIG.Common.RTEMS

View File

@@ -11,8 +11,6 @@ GNU_TARGET = powerpc-rtems
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
ARCH_DEP_CFLAGS += -DHAVE_PPCBUG
OP_SYS_LDLIBS += -lbspExt
MUNCH_SUFFIX = .boot
define MUNCH_CMD
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< rtems
@@ -21,6 +19,7 @@ define MUNCH_CMD
$(PROJECT_RELEASE)/lib/bootloader.o \
--just-symbols=$< \
-b binary rtems.gz \
--no-warn-mismatch \
-T $(PROJECT_RELEASE)/lib/ppcboot.lds \
-Map $<.map
rm -f rtems.gz

View File

@@ -1,7 +1,7 @@
#
# Author: Matt Rippa
#
RTEMS_BSP = mvme2700
RTEMS_BSP = mvme2307
RTEMS_TARGET_CPU = powerpc
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
ARCH_DEP_CFLAGS += -DHAVE_PPCBUG
@@ -15,11 +15,10 @@ define MUNCH_CMD
$(PROJECT_RELEASE)/lib/bootloader.o \
--just-symbols=$< \
-b binary rtems.gz \
--no-warn-mismatch \
-T $(PROJECT_RELEASE)/lib/ppcboot.lds \
-Map $<.map
rm -f rtems.gz
endef
OP_SYS_LDLIBS += -lbspExt
include $(CONFIG)/os/CONFIG.Common.RTEMS

View File

@@ -13,8 +13,6 @@ ARCH_DEP_CFLAGS += -DHAVE_MOTLOAD
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120
OP_SYS_LDLIBS += -lbspExt
MUNCH_SUFFIX = .boot
define MUNCH_CMD
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@

View File

@@ -14,13 +14,9 @@ ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120
ARCH_DEP_CFLAGS += -DBSP_NVRAM_BASE_ADDR=0xf1110000
OP_SYS_LDLIBS += -lbspExt
MUNCH_SUFFIX = .boot
define MUNCH_CMD
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
endef
OP_SYS_LDLIBS += -lbspExt
include $(CONFIG)/os/CONFIG.Common.RTEMS

View File

@@ -1,12 +1,13 @@
# CONFIG.Common.RTEMS-pc386
#
# Author: W. Eric Norum
# Canadian Light Source
# eric@cls.usask.ca
#
# All RTEMS targets use the same Makefile fragment
# Definitions for the RTEMS-pc386 target, RTEMS 4.x only
# Site-specific overrides go in CONFIG_SITE.Common.RTEMS-pc386
#
#-------------------------------------------------------
RTEMS_BSP = pc386
RTEMS_TARGET_CPU = i386
GNU_TARGET = i386-rtems
MUNCH_SUFFIX = .boot
define MUNCH_CMD
@@ -22,3 +23,10 @@ include $(CONFIG)/os/CONFIG.Common.RTEMS
# Put text segment where it will work with etherboot
#
OP_SYS_LDFLAGS += -Wl,-Ttext,0x100000
# This check must appear after the above include
ifeq ($(RTEMS_VERSION),5)
$(info *** This target is not compatible with the configured RTEMS version.)
$(info *** Build the RTEMS-pc686 (-qemu) target for RTEMS 5.x)
$(error Can't continue)
endif

View File

@@ -6,6 +6,7 @@
#-------------------------------------------------------
# Include definitions from RTEMS-pc386
# For Tests overwrite it with pc686
include $(CONFIG)/os/CONFIG.Common.RTEMS-pc386
RTEMS_QEMU_FIXUPS = YES

View File

@@ -0,0 +1,39 @@
# CONFIG.Common.RTEMS-pc686
#
# Definitions for the RTEMS-pc686 target, RTEMS 5.x only
# Site-specific overrides go in CONFIG_SITE.Common.RTEMS-pc686
#
#-------------------------------------------------------
#
# Author: W. Eric Norum
# Canadian Light Source
# eric@cls.usask.ca
#
# All RTEMS targets use the same Makefile fragment
#
RTEMS_BSP = pc686
RTEMS_TARGET_CPU = i386
GNU_TARGET = i386-rtems
MUNCH_SUFFIX = .boot
define MUNCH_CMD
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< $@
endef
OP_SYS_LDLIBS += -Wl,--gc-sections
ARCH_DEP_LDFLAGS = -L$(RTEMS_BASE)/$(GNU_TARGET)$(RTEMS_VERSION)/pc686/lib/
include $(CONFIG)/os/CONFIG.Common.RTEMS
#
# Put text segment where it will work with etherboot
#
OP_SYS_LDFLAGS += -Wl,-Ttext,0x100000
# This check must appear after the above include
ifneq ($(RTEMS_VERSION),5)
$(info *** This target is not compatible with the configured RTEMS version.)
$(info *** Build the RTEMS-pc386 (-qemu) target for RTEMS 4.x)
$(error Can't continue)
endif

View File

@@ -0,0 +1,11 @@
# CONFIG.Common.RTEMS-pc686-qemu
#
# Definitions for the RTEMS-pc686-qemu target
# Site-specific overrides go in CONFIG_SITE.Common.RTEMS-pc686-qemu
#
#-------------------------------------------------------
# Include definitions from RTEMS-pc686
include $(CONFIG)/os/CONFIG.Common.RTEMS-pc686
RTEMS_QEMU_FIXUPS = YES

View File

@@ -1,10 +0,0 @@
#
# Author: W. Eric Norum
# University of Saskatchewan
# eric.norum@usask.ca
#
# All RTEMS targets use the same Makefile fragment
#
RTEMS_BSP = psim
RTEMS_TARGET_CPU = ppc
include $(CONFIG)/os/CONFIG.Common.RTEMS

View File

@@ -0,0 +1,48 @@
#
# CONFIG.Common.RTEMS-qoriq_e500
# Author: Heinz Junkes <junkes@fhi-berlin.mpg.de>
#
# All RTEMS targets use the same Makefile fragment
#
EXE = .elf
RTEMS_BSP = qoriq_e500
RTEMS_TARGET_CPU = powerpc
GNU_TARGET = powerpc-rtems
# optimization trouble in postfix.c
ARCH_DEP_CFLAGS += -DRTEMS_HAS_ALTIVEC
#will use bootp
#ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
#ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048
#ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120
#netbsdlib
#ARCH_DEP_CFLAGS += -I$(RTEMS_BASE)/powerpc-rtems5/qoriq_e500/lib/include
#OP_SYS_LDLIBS += -lbspExt #does not use posix stuff ... want to ignore
OP_SYS_LDLIBS += -Wl,--gc-sections
#ARCH_DEP_LDFLAGS = -mcpu=8540 -meabi -msdata=sysv -mstrict-align -mspe -mabi=spe -mfloat-gprs=double
ARCH_DEP_LDFLAGS = -L$(RTEMS_BASE)/powerpc-rtems5/qoriq_e500/lib
MUNCH_SUFFIX = .img
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
define MUNCH_CMD
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
gzip -9 -f $@
$(RTEMS_TOOLS)/bin/mkimage.py -A ppc -O linux -T kernel -a 0x4000 -e 0x4000 -n $* -d $@.gz $*.img
endef
include $(CONFIG)/os/CONFIG.Common.RTEMS
RTEMSSYMS=$(PRODNAME:%$(EXE)=%.sym)
RTEMSIMGS=$(PRODNAME:%$(EXE)=%.bin)
INSTALL_RTEMSSYMS=$(RTEMSSYMS:%=$(INSTALL_BIN)/%)
INSTALL_RTEMSIMGS=$(RTEMSIMGS:%=$(INSTALL_BIN)/%)
%.sym: %$(EXE)
$(XSYMS) $^ $@
%.bin: %$(EXE)
$(OBJCOPY) -Obinary $^ $@
#PRODTARGETS+=$(INSTALL_RTEMSSYMS) $(INSTALL_RTEMSIMGS)

View File

@@ -9,6 +9,10 @@ RTEMS_BSP = uC5282
RTEMS_TARGET_CPU = m68k
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
# Hopefully a temporary fix:
ARCH_DEP_CXXFLAGS_5 = -std=c++98
ARCH_DEP_CXXFLAGS += $(ARCH_DEP_CXXFLAGS_$(RTEMS_VERSION))
MUNCH_SUFFIX = .boot
define MUNCH_CMD
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< $@

View File

@@ -0,0 +1,20 @@
#
# CONFIG.Common.RTEMS-xilinx_zynq_a9_qemu
# Author: Heinz Junkes <junkes@fhi-berlin.mpg.de>
#
# All RTEMS targets use the same Makefile fragment
#
#EXE = .elf
RTEMS_BSP = xilinx_zynq_a9_qemu
RTEMS_TARGET_CPU = arm
GNU_TARGET = arm-rtems
#use dhcp/bootp
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
OP_SYS_LDLIBS += -Wl,--gc-sections
ARCH_DEP_LDFLAGS = -L$(RTEMS_BASE)/$(GNU_TARGET)$(RTEMS_VERSION)/xilinx_zynq_a9_qemu/lib/
include $(CONFIG)/os/CONFIG.Common.RTEMS

View File

@@ -0,0 +1,19 @@
#
# CONFIG.Common.RTEMS-xilinx_zynq_zedboard
# Author: Heinz Junkes <junkes@fhi-berlin.mpg.de>
#
# All RTEMS targets use the same Makefile fragment
#
#EXE = .elf
RTEMS_BSP = xilinx_zynq_zedboard
RTEMS_TARGET_CPU = arm
GNU_TARGET = arm-rtems
OP_SYS_LDLIBS += -Wl,--gc-sections
ARCH_DEP_LDFLAGS = -L$(RTEMS_BASE)/$(GNU_TARGET)$(RTEMS_VERSION)/xilinx_zynq_zedboard/lib/
include $(CONFIG)/os/CONFIG.Common.RTEMS

View File

@@ -8,7 +8,7 @@
#-------------------------------------------------------
# Unix valid build types
VALID_BUILDS = Host Ioc
VALID_BUILDS = Host Ioc Command
#-------------------------------------------------------
# Unix prefix and suffix definitions

View File

@@ -1,14 +1,14 @@
# CONFIG.Common.darwin-ppc
# CONFIG.Common.darwin-aarch64
#
# This file is maintained by the build community.
#
# Definitions for darwin-ppc target builds
# Sites may override these definitions in CONFIG_SITE.Common.darwin-ppc
# Definitions for darwin-aarch64 target builds
# Sites may override these definitions in CONFIG_SITE.Common.darwin-aarch64
#-------------------------------------------------------
#
# To build universal binaries, configure ARCH_CLASS
# in the file CONFIG_SITE.Common.darwin-ppc
# in the file CONFIG_SITE.Common.darwin-aarch64
# Include definitions common to all Darwin targets
include $(CONFIG)/os/CONFIG.darwinCommon.darwinCommon

View File

@@ -1,14 +0,0 @@
# CONFIG.Common.darwin-ppcx86
#
# This file is maintained by the build community.
#
# Definitions for Darwin universal PowerPC + x86 target builds
# Sites may override these definitions in CONFIG_SITE.Common.darwin-ppcx86
#-------------------------------------------------------
#
# To build universal binaries, configure ARCH_CLASS
# in the file CONFIG_SITE.Common.darwin-ppcx86
# Include definitions common to all Darwin targets
include $(CONFIG)/os/CONFIG.darwinCommon.darwinCommon

View File

@@ -1,21 +0,0 @@
# CONFIG.Common.linux-386
#
# This file is maintained by the build community.
#
# Definitions for linux-386 target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-386
#-------------------------------------------------------
# Include definitions common to all linux x86 targets
include $(CONFIG)/os/CONFIG.Common.linux-x86
ARCH_DEP_CFLAGS = -march=i386
ifeq ($(BUILD_CLASS),CROSS)
VALID_BUILDS = Ioc
endif
# If your crosscompiler name has a GNU target prefix like <gnutarget>-gcc,
# e.g. i386-pc-linux-gnu-gcc, put a GNU_TARGET definition in
# CONFIG_SITE.<host>.linux-386 file, e.g. GNU_TARGET=i386-pc-linux-gnu

View File

@@ -1,19 +0,0 @@
# CONFIG.Common.linux-486
#
# Definitions for linux-486 target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-486
#-------------------------------------------------------
# Include definitions common to all linux x86 targets
include $(CONFIG)/os/CONFIG.Common.linux-x86
ARCH_DEP_CFLAGS = -march=i486
ifeq ($(BUILD_CLASS),CROSS)
VALID_BUILDS = Ioc
endif
# If your crosscompiler name has a GNU target prefix like <gnutarget>-gcc,
# e.g. i486-pc-linux-gnu-gcc, put a GNU_TARGET definition in
# CONFIG_SITE.<host>.linux-486 file, e.g. GNU_TARGET=i486-pc-linux-gnu

View File

@@ -1,21 +0,0 @@
# CONFIG.Common.linux-586
#
# Definitions for linux-586 target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-586
#-------------------------------------------------------
# Include definitions common to all linux x86 targets
include $(CONFIG)/os/CONFIG.Common.linux-x86
# i586 is equivalent to pentium
ARCH_DEP_CFLAGS = -march=i586
ifeq ($(BUILD_CLASS),CROSS)
VALID_BUILDS = Ioc
endif
# If your crosscompiler name has a GNU target prefix like <gnutarget>-gcc,
# e.g. i586-pc-linux-gnu-gcc, put a GNU_TARGET definition in
# CONFIG_SITE.<host>.linux-586 file, e.g. GNU_TARGET=i586-pc-linux-gnu

View File

@@ -1,20 +0,0 @@
# CONFIG.Common.linux-686
#
# Definitions for linux-686 target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-686
#-------------------------------------------------------
# Include definitions common to all linux x86 targets
include $(CONFIG)/os/CONFIG.Common.linux-x86
# i686 is euivalent to pentiumpro
ARCH_DEP_CFLAGS = -march=i686
ifeq ($(BUILD_CLASS),CROSS)
VALID_BUILDS = Ioc
endif
# If your crosscompiler name has a GNU target prefix like <gnutarget>-gcc,
# e.g. i686-pc-linux-gnu-gcc, put a GNU_TARGET definition in
# CONFIG_SITE.<host>.linux-686 file, e.g. GNU_TARGET=i686-pc-linux-gnu

View File

@@ -0,0 +1,11 @@
# CONFIG.Common.linux-aarch64
#
# Definitions for linux-arm target builds
# Override these settings in CONFIG_SITE.Common.linux-aarch64
#-------------------------------------------------------
# Include definitions common to all Linux targets
include $(CONFIG)/os/CONFIG.Common.linuxCommon
ARCH_CLASS = aarch64

View File

@@ -1,9 +0,0 @@
# CONFIG.Common.linux-arm_eb
#
# Definitions for linux-arm_eb (big endian) target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-arm_eb
#-------------------------------------------------------
# Include definitions common to all Linux-arm targets
include $(CONFIG)/os/CONFIG.Common.linux-arm

View File

@@ -1,9 +0,0 @@
# CONFIG.Common.linux-arm_el
#
# Definitions for linux-arm_el (little endian) target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-arm_el
#-------------------------------------------------------
# Include definitions common to all linux-arm targets
include $(CONFIG)/os/CONFIG.Common.linux-arm

View File

@@ -1,19 +0,0 @@
# CONFIG.Common.linux-athlon
#
# Definitions for linux-athlon target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-athlon
#-------------------------------------------------------
# Include definitions common to all linux x86 targets
include $(CONFIG)/os/CONFIG.Common.linux-x86
ARCH_DEP_CFLAGS += -march=athlon-mp -mfpmath=sse
ifeq ($(BUILD_CLASS),CROSS)
VALID_BUILDS = Ioc
endif
# If your crosscompiler name has a GNU target prefix like <gnutarget>-gcc,
# e.g. athlon-pc-linux-gnu-gcc, put a GNU_TARGET definition in
# CONFIG_SITE.<host>.linux-athlon file, e.g. GNU_TARGET=athlon-pc-linux-gnu

View File

@@ -1,58 +0,0 @@
# CONFIG.Common.linux-cris
#
# Author: Peter Zumbruch
# GSI
# P.Zumbruch@gsi.de
#
# Definitions for linux-cris target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-cris
#-------------------------------------------------------
# Include definitions common to all linux targets
include $(CONFIG)/os/CONFIG.Common.linuxCommon
ARCH_CLASS = cris
ifeq ($(BUILD_CLASS),CROSS)
GNU_TARGET = cris-axis-linux-gnu
# prefix of compiler tools
CMPLR_SUFFIX =
CMPLR_PREFIX = $(addsuffix -,$(GNU_TARGET))
# CROSS_TOP_DIR
# usually AXIS_TOP_DIR is defined via
# the init_env script of the SDK provided by Axis
#
## AXIS_TOP_DIR defined? Make missing mandatory variable visible
AXIS_TOP_DIR?=UNDEFINED_ENV__AXIS_TOP_DIR
AXIS_SDK_DIR?=$(AXIS_TOP_DIR)
# CROSS_INCLUDES
AXIS_SDK_TARGET_INCLUDE_DIR = $(AXIS_SDK_DIR)/target/$(GNU_TARGET)/include
AXIS_SDK_TARGET_INCLUDE_DIR +=$(AXIS_SDK_DIR)/target/$(GNU_TARGET)/usr/include
CROSS_INCLUDES = $(addprefix -isystem ,$(AXIS_SDK_TARGET_INCLUDE_DIR))
# CROSS_LDFLAGS
AXIS_SDK_TARGET_LIB_DIR = $(AXIS_SDK_DIR)/target/$(GNU_TARGET)/lib
AXIS_SDK_TARGET_LIB_DIR += $(AXIS_SDK_DIR)/target/$(GNU_TARGET)/usr/lib
CROSS_LDFLAGS = $(addprefix -L,$(AXIS_SDK_TARGET_LIB_DIR))
-include $(CONFIG)/os/CONFIG_SITE.Common.linux-cris
ifeq ($(EPICS_HOST_ARCH), linux-x86)
-include $(CONFIG)/os/CONFIG.linux-x86.linux-cris
-include $(CONFIG)/os/CONFIG_SITE.linux-x86.linux-cris
endif
endif
SHARED_LIBRARIES=NO
STATIC_BUILD=YES
ARCH_DEP_CFLAGS += -mno-mul-bug-workaround
OP_SYS_CFLAGS += -mlinux
ARCH_DEP_CPPFLAGS += -D_cris_ -mlinux
#uncomment CRIS_COMPILER_DEBUG for debugging cris-compiled code
#CRIS_COMPILER_DEBUG

View File

@@ -15,7 +15,7 @@ include $(CONFIG)/os/CONFIG.Common.linuxCommon
ARCH_CLASS = microblaze
ifeq ($(BUILD_CLASS),CROSS)
VALID_BUILDS = Ioc
VALID_BUILDS = Ioc Command
GNU_TARGET = microblazeel-unknown-linux-gnu
CMPLR_PREFIX = $(addsuffix -,$(GNU_TARGET))
endif

View File

@@ -13,7 +13,7 @@ include $(CONFIG)/os/CONFIG.Common.linuxCommon
ARCH_CLASS = xscale
ifeq ($(BUILD_CLASS),CROSS)
VALID_BUILDS = Ioc
VALID_BUILDS = Ioc Command
GNU_TARGET = xscale_be
CMPLR_PREFIX = $(GNU_TARGET:%=%-)

View File

@@ -0,0 +1,8 @@
# CONFIG.darwin-aarch64.Common
#
# Definitions for darwin-aarch64 host builds
# Sites may override these definitions in CONFIG_SITE.darwin-aarch64.Common
#-------------------------------------------------------
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common

View File

@@ -1,8 +0,0 @@
# CONFIG.darwin-ppc.Common
#
# Definitions for darwin-ppc host builds
# Sites may override these definitions in CONFIG_SITE.darwin-ppc.Common
#-------------------------------------------------------
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common

View File

@@ -1,13 +0,0 @@
# CONFIG.darwin-ppc.darwin-ppc-debug
#
# Definitions for darwin-ppc host - darwin-ppc-debug target build with debug compiler flags
# Sites may override these definitions in CONFIG_SITE.darwin-ppc.darwin-ppc-debug
#-------------------------------------------------------
-include $(CONFIG)/os/CONFIG.Common.darwin-ppc
-include $(CONFIG)/os/CONFIG.darwin-ppc.darwin-ppc
-include $(CONFIG)/os/CONFIG_SITE.Common.darwin-ppc
-include $(CONFIG)/os/CONFIG_SITE.darwin-ppc.darwin-ppc
BUILD_CLASS=HOST
HOST_OPT = NO

View File

@@ -1,8 +0,0 @@
# CONFIG.darwin-ppcx86.Common
#
# Definitions for Darwin universal PowerPC + x86 host builds
# Sites may override these definitions in CONFIG_SITE.darwin-ppcx86.Common
#-------------------------------------------------------
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common

View File

@@ -3,6 +3,6 @@
# Definitions for darwin-x86 host builds
# Sites may override these definitions in CONFIG_SITE.darwin-x86.Common
#-------------------------------------------------------
#support for IPv6 etc.
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common

View File

@@ -30,6 +30,7 @@ ARCH_DEP_LDFLAGS += $(ARCH_DEP_FLAGS)
#
# Special flags for Darwin
# No common blocks (as required when using shared libraries)
# OS provides socket address length
#
OP_SYS_CFLAGS += -fno-common

View File

@@ -1,10 +0,0 @@
# CONFIG.linux-386.Common
#
# Definitions for linux-386 host builds
# Sites may override these definitions in CONFIG_SITE.linux-386.Common
#-------------------------------------------------------
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common
WIND_HOST_TYPE = x86-linux2

View File

@@ -1,8 +0,0 @@
# CONFIG.linux-386.linux-386
#
# Definitions for linux-386 host - linux-386 target builds
# Sites may override these definitions in CONFIG_SITE.linux-386.linux-386
#-------------------------------------------------------
# Include linux-x86 compiler definitions
include $(CONFIG)/os/CONFIG.linux-x86.linux-x86

View File

@@ -1,10 +0,0 @@
# CONFIG.linux-486.Common
#
# Definitions for linux-486 host builds
# Sites may override these definitions in CONFIG_SITE.linux-486.Common
#-------------------------------------------------------
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common
WIND_HOST_TYPE = x86-linux2

View File

@@ -1,9 +0,0 @@
# CONFIG.linux-486.linux-486
#
# Definitions for linux-486 host - linux-486 target builds
# Sites may override these definitions in CONFIG_SITE.linux-486.linux-486
#-------------------------------------------------------
# Include linux-x86 compiler definitions
include $(CONFIG)/os/CONFIG.linux-x86.linux-x86

View File

@@ -1,10 +0,0 @@
# CONFIG.linux-586.Common
#
# Definitions for linux-586 host builds
# Sites may override these definitions in CONFIG_SITE.linux-586.Common
#-------------------------------------------------------
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common
WIND_HOST_TYPE = x86-linux2

View File

@@ -1,9 +0,0 @@
# CONFIG.linux-586.linux-586
#
# Definitions for linux-586 host - linux-586 target builds
# Sites may override these definitions in CONFIG_SITE.linux-586.linux-586
#-------------------------------------------------------
# Include linux-x86 compiler definitions
include $(CONFIG)/os/CONFIG.linux-x86.linux-x86

View File

@@ -1,10 +0,0 @@
# CONFIG.linux-686.Common
#
# Definitions for linux-686 host builds
# Sites may override these definitions in CONFIG_SITE.linux-686.Common
#-------------------------------------------------------
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common
WIND_HOST_TYPE = x86-linux2

View File

@@ -1,9 +0,0 @@
# CONFIG.linux-686.linux-686
#
# Definitions for linux-686 host - linux-686 target builds
# Sites may override these definitions in CONFIG_SITE.linux-686.linux-686
#-------------------------------------------------------
# Include linux-x86 compiler definitions
include $(CONFIG)/os/CONFIG.linux-x86.linux-x86

View File

@@ -0,0 +1,8 @@
# CONFIG.linux-aarch64.Common
#
# Definitions for linux-aarch64 host builds
# Sites may override these definitions in CONFIG_SITE.linux-aarch64.Common
#-------------------------------------------------------
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common

View File

@@ -0,0 +1,8 @@
# CONFIG.linux-aarch64.linux-aarch64
#
# Definitions for native linux-aarch64 builds
# Override these definitions in CONFIG_SITE.linux-aarch64.linux-aarch64
#-------------------------------------------------------
# Include common gnu compiler definitions
include $(CONFIG)/CONFIG.gnuCommon

View File

@@ -4,7 +4,7 @@
# Override these settings in CONFIG_SITE.linux-x86.linux-arm
#-------------------------------------------------------
VALID_BUILDS = Ioc
VALID_BUILDS = Ioc Command
GNU_TARGET = arm-linux
# prefix of compiler tools

View File

@@ -1,9 +0,0 @@
# CONFIG.linux-x86.linux-arm_eb
#
# Definitions for linux-x86 host - linux-arm_eb (big endian) target builds
# Sites may override these definitions in CONFIG_SITE.linux-x86.linux-arm_eb
#-------------------------------------------------------
# Include definitions for linux-arm targets
include $(CONFIG)/os/CONFIG.linux-x86.linux-arm

View File

@@ -1,9 +0,0 @@
# CONFIG.linux-x86.linux-arm_el
#
# Definitions for linux-x86 host - linux-arm_el (little endian) target builds
# Sites may override these definitions in CONFIG_SITE.linux-x86.linux-arm_el
#-------------------------------------------------------
# Include definitions for linux-arm targets
include $(CONFIG)/os/CONFIG.linux-x86.linux-arm

View File

@@ -1,38 +0,0 @@
# CONFIG.linux-x86.linux-cris
#
# Author: Peter Zumbruch
# GSI
# P.Zumbruch@gsi.de
#
# Definitions for linux-x86 host - linux-cris target builds
# Sites may override these definitions in CONFIG_SITE.linux-x86.linux-cris
#-------------------------------------------------------
GNU_DIR = $(CRIS_CROSS_COMPILER)
#STATIC_...
STATIC_LDFLAGS_YES= -Wl,-Bstatic
## debian-gcc Bug#438641
GNU_LDLIBS_YES =
STATIC_LDFLAGS_YES += -static-libgcc
# if not in debug mode strip all symbols
ifndef CRIS_COMPILER_DEBUG
STATIC_LDFLAGS_YES += -Wl,--strip-all
endif
ifeq ($(GNU),YES)
STATIC_LDFLAGS_NO = -lgcc
else
STATIC_LDFLAGS_NO =
endif
STATIC_LDLIBS_YES=
STATIC_LDLIBS_NO=
OPT_CXXFLAGS_YES = -Os
ifeq ($(STATIC_BUILD), YES)
$(shell echo yes)
endif

View File

@@ -1,20 +0,0 @@
# CONFIG.linux-x86.linux-cris_v10
#
# Author: Peter Zumbruch
# GSI
# P.Zumbruch@gsi.de
#
# Definitions for linux-x86 host - linux-cris_v10 target builds
# Sites may override these definitions in CONFIG_SITE.linux-x86.linux-cris_v10
#-------------------------------------------------------
# Include definitions common to all linux-cris targets
include $(CONFIG)/os/CONFIG.Common.linux-cris
GNU_TARGET = cris-axis-linux-gnu
ARCH_DEP_CFLAGS += -march=v10
# if you are using different places for cris_v10 cris_v32
# you have to define for each architecture
# AXIS_SDK_DIR=<AXIS_TOP_DIR_v10>

View File

@@ -1,20 +0,0 @@
# CONFIG.linux-x86.linux-cris_v32
#
# Author: Peter Zumbruch
# GSI
# P.Zumbruch@gsi.de
#
# Definitions for linux-x86 host - linux-cris_v32 target builds
# Sites may override these definitions in CONFIG_SITE.linux-x86.linux-cris_v32
#-------------------------------------------------------
# Include definitions common to all linux-cris targets
include $(CONFIG)/os/CONFIG.Common.linux-cris
GNU_TARGET = crisv32-axis-linux-gnu
ARCH_DEP_CFLAGS += -march=v32
# if you are using different places for cris_v10 cris_v32
# you have to define for each architecture
# AXIS_SDK_DIR=<AXIS_TOP_DIR_v32>

View File

@@ -11,6 +11,3 @@ STATIC_LDFLAGS_YES= -Wl,-Bstatic
STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Wl,-Bdynamic
STATIC_LDLIBS_NO=
SHRLIB_LDFLAGS += -Wl,-h$@
LOADABLE_SHRLIB_LDFLAGS += -Wl,-h$@

View File

@@ -0,0 +1,28 @@
# CONFIG.linux-x86_64.linux-aarch64
#
# Definitions for linux-x86_64 host - linux-aarch64 target builds
# Sites may override these in CONFIG_SITE.linux-x86_64.linux-aarch64
#-------------------------------------------------------
VALID_BUILDS = Ioc Command
GNU_TARGET = aarch64-linux
# prefix of compiler tools
CMPLR_SUFFIX =
CMPLR_PREFIX = $(addsuffix -,$(GNU_TARGET))
# Provide a link-time path for readline if needed
OP_SYS_INCLUDES += $(READLINE_DIR:%=-I%/include)
READLINE_LDFLAGS = $(READLINE_DIR:%=-L%/lib)
RUNTIME_LDFLAGS_READLINE_YES_NO = $(READLINE_DIR:%=-Wl,-rpath,%/lib)
RUNTIME_LDFLAGS += \
$(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH)_$(STATIC_BUILD))
SHRLIBDIR_LDFLAGS += $(READLINE_LDFLAGS)
PRODDIR_LDFLAGS += $(READLINE_LDFLAGS)
# Library flags
STATIC_LDFLAGS_YES= -Wl,-Bstatic
STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Wl,-Bdynamic
STATIC_LDLIBS_NO=

View File

@@ -18,6 +18,6 @@ STATIC_LDLIBS_NO=
OP_SYS_LDFLAGS += -z ignore -z combreloc -z lazyload
SHRLIB_LDFLAGS += -Wl,-z,defs -Wl,-z,text -Wl,-h,$@
LOADABLE_SHRLIB_LDFLAGS += -Wl,-z,text -Wl,-h,$@
SHRLIB_LDFLAGS += -Wl,-z,defs -Wl,-z,text
LOADABLE_SHRLIB_LDFLAGS += -Wl,-z,text
GNU_LDLIBS_YES += -lc

View File

@@ -26,6 +26,3 @@ endif
# Needed to find dlls for base installed build tools (antelope,eflex,...)
PATH := $(EPICS_BASE_BIN):$(PATH)
# Silence the tr1 namespace deprecation warnings
USR_CXXFLAGS_WIN32 += -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING

View File

@@ -6,7 +6,7 @@
# Win32 valid build types and include directory suffixes
VALID_BUILDS = Host Ioc
VALID_BUILDS = Host Ioc Command
CMPLR_CLASS = msvc
@@ -49,9 +49,9 @@ OPT_CFLAGS_YES_NO = -Ox -Oy-
OPT_CFLAGS_YES = $(OPT_CFLAGS_YES_$(OPT_WHOLE_PROGRAM))
#
# -Zi generate program database for debugging information
# -Z7 generate C7 compatible debugging information (inside .obj)
# -RTCsu enable run-time error checks
OPT_CFLAGS_NO = -Zi -RTCsu
OPT_CFLAGS_NO = -Z7 -RTCsu
# specify object file name and location
OBJ_CFLAG = -Fo
@@ -107,6 +107,9 @@ CODE_CPPFLAGS += -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
WARN_CXXFLAGS_YES = -W3 -w44355 -w44344 -w44251
WARN_CXXFLAGS_NO = -W1
# Silence tr1 namespace deprecation warnings
WARN_CXXFLAGS += -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING
#
# -Ox maximum optimizations
# -GL whole program optimization
@@ -116,9 +119,9 @@ OPT_CXXFLAGS_YES_NO = -Ox -Oy-
OPT_CXXFLAGS_YES = $(OPT_CXXFLAGS_YES_$(OPT_WHOLE_PROGRAM))
#
# -Zi generate program database for debugging information
# -Z7 generate C7 compatible debugging information (inside .obj)
# -RTCsu enable run-time error checks
OPT_CXXFLAGS_NO = -RTCsu -Zi
OPT_CXXFLAGS_NO = -RTCsu -Z7
# specify object file name and location
OBJ_CXXFLAG = -Fo
@@ -140,20 +143,6 @@ STATIC_LDLIBS_NO=
STATIC_LDFLAGS=
RANLIB=
#
# option needed for parallel builds with Visual Studio 2013 onward
# VS2012 and above have VisualStudioVersion, so just need to exclude 2012 (11.0)
# -FS Force Synchronous PDB Writes
#
ifneq ($(VisualStudioVersion),)
ifneq ($(VisualStudioVersion),11.0)
OPT_CXXFLAGS_NO += -FS
OPT_CFLAGS_NO += -FS
endif
endif
#
# add -profile here to run the ms profiler
# -LTCG whole program optimization
# -incremental:no full linking

View File

@@ -3,11 +3,26 @@
# Site-specific information for all RTEMS targets
#-------------------------------------------------------
# Where to find RTEMS
# Where to find RTEMS, and what version is it
#
# RTEMS_BASE must point to the specific installation of RTEMS to
# build the target code with.
# RTEMS_VERSION is used in the path to the toolsets inside that
# installation. For RTEMS 5 only the major version number is
# used, but for RTEMS 4.10.2 say all 3 components are required.
#
# FHI:
#RTEMS_VERSION = 5
#RTEMS_BASE = /home/h1/DBG/rtems
#RTEMS_BASE = /home/ad/MVME6100/rtems/$(RTEMS_VERSION)
#RTEMS_BASE = /opt/RTEMS/qoriq/rtems/$(RTEMS_VERSION)
# APS:
RTEMS_VERSION = 4.10.2
RTEMS_BASE = /usr/local/vw/rtems/rtems-$(RTEMS_VERSION)
#RTEMS_VERSION = 4.10.2
#RTEMS_BASE = /usr/local/vw/rtems/rtems-4.10.2
#RTEMS_VERSION = 5
#RTEMS_BASE = /usr/local/vw/rtems/rtems-5.1
# Cross-compile toolchain in $(RTEMS_TOOLS)/bin
#

View File

@@ -6,4 +6,4 @@
# If you're building this architecture you _probably_ want to
# run the tests for it under QEMU, but if not you can turn
# them off here by commenting out this line:
CROSS_COMPILER_RUNTEST_ARCHS += RTEMS-pc386-qemu
CROSS_COMPILER_RUNTEST_ARCHS += $(T_A)

View File

@@ -0,0 +1,9 @@
# CONFIG_SITE.Common.RTEMS-pc686-qemu
#
# Site-specific overrides for the RTEMS-pc686-qemu target
#
# If you're building this architecture you _probably_ want to
# run the tests for it under QEMU, but if not you can turn
# them off here by commenting out this line:
CROSS_COMPILER_RUNTEST_ARCHS += $(T_A)

View File

@@ -16,3 +16,9 @@ COMMANDLINE_LIBRARY = READLINE_NCURSESW
# No other libraries needed
#COMMANDLINE_LIBRARY = READLINE
# WARNING: Variables that are set in $(CONFIG)/CONFIG.gnuCommon cannot be
# overridden in this file for native builds, e.g. variables such as
# OPT_CFLAGS_YES, WARN_CFLAGS, SHRLIB_LDFLAGS
# They must be set in CONFIG_SITE.cygwin-x86.cygwin-x86 instead.

View File

@@ -11,10 +11,8 @@
#LDLIBS_READLINE = -lreadline -lcurses
# It makes sense to include debugging symbols even in optimized builds
# in case you want to attach gdb to the process or examine a core-dump.
# This does cost disk space, but not memory as debug symbols are not
# loaded into RAM when the binary is loaded.
OPT_CFLAGS_YES += -g
OPT_CXXFLAGS_YES += -g
# WARNING: Variables that are set in $(CONFIG)/CONFIG.gnuCommon cannot be
# overridden in this file for native builds, e.g. variables such as
# OPT_CFLAGS_YES, WARN_CFLAGS, SHRLIB_LDFLAGS
# They must be set in CONFIG_SITE.cygwin-x86_64.cygwin-x86_64 instead.

View File

@@ -0,0 +1,9 @@
# CONFIG_SITE.Common.darwin-aarch64
#
# Site override definitions for darwin-aarch64 target builds
#-------------------------------------------------------
#
# arm64 devices: Apple Silicon M1
ARCH_CLASS = arm64

View File

@@ -1,12 +0,0 @@
# CONFIG_SITE.Common.darwin-ppc
#
# Site override definitions for darwin-ppc target builds
#-------------------------------------------------------
# Select which CPU architectures to include in your universal binaries:
# ppc
# ppc64 - Not tested
ARCH_CLASS = ppc
#ARCH_CLASS = ppc64
#ARCH_CLASS = ppc ppc64

View File

@@ -1,20 +0,0 @@
# CONFIG_SITE.Common.darwin-ppcx86
#
# Site override definitions for darwin-ppcx86 target builds
#----------------------------------------------------------
# Select which CPU architectures to include in your universal binaries:
# ppc
# i386
# ppc64 - Not tested
# x86_64 - Needs MacOS 10.4 with Universal SDK, or 10.5 or later.
ARCH_CLASS = ppc i386
#ARCH_CLASS = ppc x86_64
#ARCH_CLASS = ppc i386 x86_64
#ARCH_CLASS = ppc64 i386
#ARCH_CLASS = ppc64 x86_64
#ARCH_CLASS = ppc64 i386 x86_64
#ARCH_CLASS = ppc ppc64 i386
#ARCH_CLASS = ppc ppc64 x86_64
#ARCH_CLASS = ppc ppc64 i386 x86_64

View File

@@ -4,14 +4,12 @@
#-------------------------------------------------------
# Select which CPU architecture(s) to include in your MacOS binaries:
# i386, x86_64, or both (fat binaries).
# x86_64 only, or arm64 as well (fat binaries).
#ARCH_CLASS = i386
ARCH_CLASS = x86_64
#ARCH_CLASS = i386 x86_64
#ARCH_CLASS = arm64 x86_64
#
# Uncomment the following 3 lines to build with Apple's GCC instead of CLANG.
# Uncomment the following 3 lines to build with GCC instead of CLANG.
#
#CMPLR_CLASS = gcc
#CC = gcc

View File

@@ -0,0 +1,38 @@
# CONFIG_SITE.Common.linux-aarch64
#
# Site Specific definitions for all linux-aarch64 targets
#-------------------------------------------------------
# NOTE for SHARED_LIBRARIES: In most cases if this is set to YES the
# shared libraries will be found automatically. However if the .so
# files are installed at a different path to their compile-time path
# then in order to be found at runtime do one of these:
# a) LD_LIBRARY_PATH must include the full absolute pathname to
# $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) when invoking base
# executables.
# b) Add the runtime path to SHRLIB_DEPLIB_DIRS and PROD_DEPLIB_DIRS, which
# will add the named directory to the list contained in the executables.
# c) Add the runtime path to /etc/ld.so.conf and run ldconfig
# to inform the system of the shared library location.
# Depending on your version of Linux you'll want one of the following
# lines to enable command-line editing and history in iocsh. If you're
# not sure which, start with the top one and work downwards until the
# build doesn't fail to link the readline library. If none of them work,
# comment them all out to build without readline support.
# No other libraries needed (recent Fedora, Ubuntu etc.):
#COMMANDLINE_LIBRARY = READLINE
# Needs -lncurses (RHEL 5 etc.):
#COMMANDLINE_LIBRARY = READLINE_NCURSES
# Needs -lcurses (older versions)
#COMMANDLINE_LIBRARY = READLINE_CURSES
# WARNING: Variables that are set in $(CONFIG)/CONFIG.gnuCommon cannot be
# overridden in this file for native builds, e.g. variables such as
# OPT_CFLAGS_YES, WARN_CFLAGS, SHRLIB_LDFLAGS
# They must be set in CONFIG_SITE.linux-aarch64.linux-aarch64 instead.

View File

@@ -33,3 +33,12 @@ COMMANDLINE_LIBRARY = $(strip $(if $(wildcard \
# Readline is broken or you don't want use it:
#COMMANDLINE_LIBRARY = EPICS
# WARNING: Variables that are set in $(CONFIG)/CONFIG.gnuCommon cannot be
# overridden in this file for native builds, e.g. variables such as
# OPT_CFLAGS_YES, WARN_CFLAGS, SHRLIB_LDFLAGS
# They must be set in CONFIG_SITE.linux-arm.linux-arm instead.
# Permit access to 64-bit file-systems
OP_SYS_CFLAGS += -D_FILE_OFFSET_BITS=64

View File

@@ -1,34 +0,0 @@
# CONFIG_SITE.Common.linux-cris
#
# Site-specific settings for the linux-cris target
# NOTE: In most cases if SHARED_LIBRARIES is set to YES the
# shared libraries will be found automatically. However if the .so
# files are installed at a different path to their compile-time path
# then in order to be found at runtime do one of these:
# a) LD_LIBRARY_PATH must include the full absolute pathname to
# $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) when invoking base
# executables.
# b) Add the runtime path to SHRLIB_DEPLIB_DIRS and PROD_DEPLIB_DIRS, which
# will add the named directory to the list contained in the executables.
# c) Add the runtime path to /etc/ld.so.conf and run ldconfig
# to inform the system of the shared library location.
# Use GNU Readline if the header file is installed
COMMANDLINE_LIBRARY = $(strip $(if $(wildcard \
$(GNU_DIR)/include/readline/readline.h), READLINE, EPICS))
# If libreadline needs additional libraries to be linked with it, try
# uncommenting each of the lines below in turn, starting with the top
# one and working downwards, until the build succeeds. Do a 'make rebuild'
# from the top of the Base tree after changing this setting.
# Needs -lncurses:
#COMMANDLINE_LIBRARY = READLINE_NCURSES
# Needs -lcurses:
#COMMANDLINE_LIBRARY = READLINE_CURSES
# Readline is broken or you don't want use it:
#COMMANDLINE_LIBRARY = EPICS

Some files were not shown because too many files have changed in this diff Show More