Compare commits

..

1104 Commits

Author SHA1 Message Date
Andrew Johnson
ee91b29fe0 Clear version snapshot for 3.16.1 final release 2017-06-02 14:54:58 -05:00
Andrew Johnson
0c9254f768 Final documentation updates 2017-06-02 14:53:11 -05:00
Andrew Johnson
073f3f33a6 Merge 3.15 branch into 3.16 2017-06-01 16:42:10 -05:00
Andrew Johnson
1293747cf3 Merge 3.14 branch into 3.15 2017-06-01 16:40:33 -05:00
Andrew Johnson
9c859ffdca Protect casStatsFetch() if called before rsrv_init()
Also ensures clientQ is initialized before creating clientQlock.

Fixes LP: #1694966
2017-06-01 15:37:34 -05:00
Andrew Johnson
29c069db3d Testing msi: Add retries if necessary
Hoping this will fix the annoying problems on Windows Jenkins.
2017-05-31 12:51:39 -05:00
Andrew Johnson
77c00faabe Merge 3.15 branch into 3.16 2017-05-30 17:17:59 -05:00
Andrew Johnson
12d22e392f Merge 3.14 branch into 3.15 2017-05-30 17:14:56 -05:00
Andrew Johnson
0dc850f4ec A gitignore pattern for vi on MacOS 2017-05-30 17:13:56 -05:00
Andrew Johnson
117e294ec6 Set asynSoftTest plan 2017-05-27 21:59:44 -05:00
Andrew Johnson
afdb6af0c7 Fix buffer size issue in devI64inSoftCallback 2017-05-27 21:56:10 -05:00
Andrew Johnson
b97f04464c Add asyncSoftTest to record test harness 2017-05-27 21:45:46 -05:00
Andrew Johnson
b2473f939f Rename asyncSoft main routine 2017-05-27 21:41:37 -05:00
Andrew Johnson
c05fa4ddb7 Add tests for Async Soft Channel devices 2017-05-27 20:57:42 -05:00
Andrew Johnson
c8fcfbea9f Convert all Async Soft Channel input devices to use link support 2017-05-27 20:35:53 -05:00
Andrew Johnson
07aa712b07 Convert int64out Async Soft Channel device to use link support 2017-05-27 20:33:38 -05:00
Michael Davidsaver
1865e84321 ioc/db: dbLockCleanupRecords() warn only if lockSets remain 2017-05-24 18:41:32 -04:00
Andrew Johnson
7efba21d1f Fix 32-bit issue in linkInitTest.c 2017-05-24 16:41:34 -04:00
Andrew Johnson
c22c94a3aa Convert devI64inSoft for Link Support
Includes tests to make sure it actually works
2017-05-24 00:20:38 -04:00
Andrew Johnson
542353aedb Fix aai constant initialization
The aai record is "special" and does things its own way.
These changes let it support {const:[...]} initialization without
breaking regular input link types which could be initialized twice
without the new DBLINK_FLAG_INITIALIZED guard in dbInitLink().

Also adds tests for this, and for similar links for waveform.
2017-05-23 23:51:26 -04:00
Andrew Johnson
c670ef0199 Merge 3.15 branch into master 2017-05-19 17:42:40 -05:00
Andrew Johnson
98b0f7e48b Merge 3.14 branch into 3.15 2017-05-19 17:34:49 -05:00
Andrew Johnson
672fd16ec8 Add make targets test-results and clean-tests
These are mainly intended for CI builds.
2017-05-19 15:44:15 -05:00
Ralph Lange
dcadeac903 ci: add appveyor configuration 2017-05-19 13:38:39 +09:00
Andrew Johnson
43ea188385 Merge 3.15 branch into 3.16
# Conflicts:
#	configure/CONFIG_BASE
#	configure/RULES_BUILD
2017-05-18 17:10:40 -05:00
Andrew Johnson
0b3e44747e Merge 3.14 branch into 3.15
# Conflicts:
#	configure/RULES.Db
#	configure/RULES_ARCHS
#	configure/RULES_BUILD
#	documentation/RELEASE_NOTES.html
2017-05-18 17:07:41 -05:00
Andrew Johnson
b7b3dd2b37 Support for 'make junitfiles' target.
The Perl XML::Generator module must be installed to use this.
2017-05-18 16:31:43 -05:00
Andrew Johnson
ffa7399c71 Merge changes from 3.15 branch 2017-05-11 16:39:52 -05:00
Andrew Johnson
b14d77dcf2 Fix tools/test/*.plt 'use lib' lines
This allows the tests to work when INSTALL_LOCATION is set.
2017-05-11 15:29:52 -05:00
Andrew Johnson
cb89710bbd Update comments in the configure/RELEASE file 2017-05-11 14:50:00 -05:00
Andrew Johnson
b3bbf67ce8 Add support for a CONFIG_SITE.local file 2017-05-11 14:49:04 -05:00
Ralph Lange
78b910574d ci/appveyor: print perl version to console log 2017-05-10 17:31:25 +02:00
Xiaoqiang Wang
82396ee3ef fix data size of gdd container type
getDataSizeElement of gdd container returns the number of sub fields.
It has to be called on the "value" field. This fix has already been done
in monitorReponse.
2017-05-10 10:22:13 -05:00
Andrew Johnson
020f09e83a Fix EPICS_CA_AUTO_ARRAY_BYTES doc'n in CAref.html 2017-05-09 14:58:40 -05:00
Andrew Johnson
ac590e671e Adjustments to Checklist commands 2017-05-09 14:46:25 -05:00
Andrew Johnson
e0dea7ab23 Set snapshot to -rc1-DEV 2017-05-09 14:45:55 -05:00
Andrew Johnson
7aefee6737 Set Base version number for 3.16.1-rc1 2017-05-09 14:00:29 -05:00
Andrew Johnson
f9564a3b82 Various Release Notes tweaks 2017-05-09 13:57:17 -05:00
Andrew Johnson
17da4bfc1f Additional ReleaseChecklist updates 2017-05-09 13:08:59 -05:00
Ralph Lange
2fe8d82872 ci: make appveyor version number unambiguous 2017-05-09 14:03:40 +02:00
Ralph Lange
2ff9f249a0 ci: add appveyor configuration 2017-05-09 12:01:36 +02:00
Andrew Johnson
5ec1340902 Convert ReleaseChecklist commands to git 2017-05-08 20:45:39 -05:00
Michael Davidsaver
269f828733 ca: assume that CA name servers have minor version >=12
Assume that servers listed in EPICS_CA_NAME_SERVERS
support CA >=12, practically >=1 to support the
authentication messages.
2017-05-07 20:27:34 -04:00
Michael Davidsaver
4ce60c9797 src/tools: avoid dep. warning in rRDD generated
when building a support module
2017-05-07 20:27:34 -04:00
Michael Davidsaver
d5fc8c9b76 ioc/dbStatic: reduce warning spam for typed rset
There are an amazing number of warnings in any code which
includes recSup.h indirectly, including dbStaticLib.h.
Don't use the RECSUPFUN typedef internally to reduce
the number.
2017-05-07 10:06:38 -04:00
Andrew Johnson
93c0dcd3e5 Missing include 2017-05-06 01:11:53 -05:00
Andrew Johnson
fd583ac594 Fix MSC 2-digit-exponent in cvtFastTest.c 2017-05-06 00:41:52 -05:00
Michael Davidsaver
9621ff1552 libCom/test: cvtFastTest improve output 2017-05-05 20:54:19 -04:00
Michael Davidsaver
3f49787be1 ioc/db/test: fix jlinkz dllimport/export 2017-05-05 20:38:20 -04:00
Michael Davidsaver
bbd9ba0b6d std/filters: fix filters test harness 2017-05-05 20:15:03 -04:00
Michael Davidsaver
fcd443a026 missing test spec 2017-05-05 17:14:15 -04:00
Michael Davidsaver
02809de380 fix long long constants 2017-05-04 21:13:07 -04:00
Michael Davidsaver
987943be4e Merge remote-tracking branch 'int64b/master'
* int64b/master: (25 commits)
  std/rec: streamline variable names in int64in/int64out
  std/rec/test: recMiscTest check in64in/out
  ioc/db: dbUnitTest helps support int64
  std/rec: ioc64in/outRecord typed rset
  minor
  std/rec: fix copyright in int64in sources
  std: remove SCM keywords from int64in and int64out sources
  std/rec: fix promptgroups in dbd.pod files
  std/rec: add and improve pod for int64in and int64out
  std/rec: add pod documentation content for int64out
  std/rec: add pod documentation for int64out record
  dbStatic: dbPutStringNum() overflow handling
  dbStatic: more informative error for bad field value
  dbStatic: dbPutStringNum(, "") not an error
  Release Notes
  cvtFastPerform: Rename reserved member names, fix for vxWorks
  Simplify epicsConvertDoubleToFloat()
  More cvtFastPerform changes
  Collate and report by precision
  Restructure cvtFastPerform, fix VxWorks build
  ...
2017-05-04 20:18:24 -04:00
Michael Davidsaver
16a3657613 Merge remote-tracking branch 'linksup/master'
* linksup/master: (112 commits)
  ioc/dbStatic: rename link debugging info tags
  jlif future proof for 64-bit json parser
  Demonstrate and use numeric literals in calc args
  separate jlink and lset debug flags
  std/link: runtime conditional debugging in calc/const
  std/rec/test: extend linkRetargetLink w/ jlink
  ioc/db: dbUnitTest add testdbPutArrFieldOk()
  ioc/db: cleanup dbEvent freeLists
  ioc/db: dbUnitTest testMonitor leaks dbChannel
  std/link: all calc example
  jlink conditional debug print
  ioc/as: dbCore needs ca
  Additional linkInitTest checks
  Minimize work done in readLocked routine
  Minimize work done in readLocked() routine
  Cosmetic changes to various soft device supports
  Enhancements to subArray record & soft device support
  Fix bug in eventRecord::init_record
  Updates to Release Notes and links.html
  Make dbLinkIs{Constant|Volatile}() return only true/false
  ...

Conflicts:
	documentation/RELEASE_NOTES.html
	src/ioc/db/dbAccess.c
2017-05-04 20:14:30 -04:00
Michael Davidsaver
8ae7930375 ioc/dbStatic: rename link debugging info tags 2017-05-04 20:12:02 -04:00
Andrew Johnson
05d3e640cd Testing msi: Add retries if necessary
Hoping this will fix the annoying problems on Windows Jenkins.
2017-05-04 14:48:18 -05:00
Andrew Johnson
efe8d69f82 dbStaticTest: More friendly test output 2017-05-04 12:33:32 -05:00
Andrew Johnson
2c65739286 Change indfield settings in new dbInitEntryFrom*()
Can get indfield value from dbAddr->pflddes->indRecordType.
Make FromRecord set indfield=0 like dbFindRecord() does.

Adjust dbStaticTest to match.
2017-05-04 12:31:17 -05:00
Andrew Johnson
93fe387e87 Fix dbStaticTest recnode flags check 2017-05-04 12:23:57 -05:00
Ralph Lange
ad0695b119 std/rec: streamline variable names in int64in/int64out 2017-05-04 09:27:23 +02:00
Michael Davidsaver
8f880a614c ioc/db/test: check record node flags 2017-05-03 19:32:50 -04:00
Michael Davidsaver
7805fbe295 ioc/dbStatic: rename dbRecordNode aliasedRecord -> aliasedRecnode 2017-05-03 19:31:38 -04:00
Michael Davidsaver
2a81e0b338 std/rec/test: recMiscTest check in64in/out 2017-05-03 19:18:52 -04:00
Michael Davidsaver
5e0dc5d1c9 ioc/db: dbUnitTest helps support int64 2017-05-03 18:39:43 -04:00
Michael Davidsaver
1b16c7130b std/rec: ioc64in/outRecord typed rset 2017-05-03 17:58:29 -04:00
Michael Davidsaver
925d03bcec minor 2017-05-03 17:54:58 -04:00
Michael Davidsaver
1151d78cb5 Merge remote-tracking branch 'launchpad/master'
* launchpad/master: (116 commits)
  ioc/rsrv: bounds check DBR
  CAref mention EPICS_CA_MCAST_TTL
  EPICS_CA_AUTO_MAX_ARRAY_BYTES -> EPICS_CA_AUTO_ARRAY_BYTES
  missing include
  ioc/db/test: dbStaticTest dbInitEntryFromAddr() works before iocInit()
  ioc/db/test: dbStaticTest test operations on aliases
  ioc: rename dbCommonPvt::recnode
  ioc/dbStatic: better alias tracking
  ioc/dbStatic: add dbInitEntryFromRecord()
  ioc: populate RDES early
  rename dbInitEntryFromChannel -> dbInitEntryFromAddr
  ioc/db: Add dbCommonPvt
  ioc/dbStatic: add dbInitEntryFromChannel()
  ioc/dbStatic: dbAllocRecord whitespace
  ioc/rsrv: fix C89 issue
  add EPICS_CA_MCAST_TTL
  update RELEASE_NOTES
  replace caLimitArray with EPICS_CA_AUTO_MAX_ARRAY_BYTES
  update RELEASE_NOTES
  rename iocshFind -> iocshFindCommand
  ...

Conflicts:
	documentation/RELEASE_NOTES.html
	src/ioc/db/dbConvert.c
	src/ioc/db/dbFastLinkConv.c
	src/ioc/db/test/Makefile
	src/ioc/db/test/dbPutGetTest.c
	src/ioc/db/test/dbPutGetTest.db
	src/ioc/dbStatic/dbStaticRun.c
2017-05-03 17:54:43 -04:00
Michael Davidsaver
b4c625d8d1 jlif future proof for 64-bit json parser 2017-05-03 17:27:57 -04:00
Michael Davidsaver
096fb5e0a2 Merge remote-tracking branch 'addr2entry/master'
* addr2entry/master:
  ioc/db/test: dbStaticTest dbInitEntryFromAddr() works before iocInit()
  ioc/db/test: dbStaticTest test operations on aliases
  ioc: rename dbCommonPvt::recnode
  ioc/dbStatic: better alias tracking
  ioc/dbStatic: add dbInitEntryFromRecord()
  ioc: populate RDES early
  rename dbInitEntryFromChannel -> dbInitEntryFromAddr
  ioc/db: Add dbCommonPvt
  ioc/dbStatic: add dbInitEntryFromChannel()
  ioc/dbStatic: dbAllocRecord whitespace
2017-05-03 17:07:07 -04:00
Michael Davidsaver
8640e1c9fb Merge remote-tracking branch 'launchpad/3.15'
* launchpad/3.15:
  ioc/rsrv: bounds check DBR
2017-05-03 17:06:51 -04:00
Michael Davidsaver
a7c14ec995 Merge remote-tracking branch 'launchpad/3.14'
* launchpad/3.14:
  ioc/rsrv: bounds check DBR
2017-05-03 16:53:43 -04:00
Michael Davidsaver
e430d097b7 ioc/rsrv: bounds check DBR
avoid array overrun when evaluating dbr_size_n() macro.
2017-05-03 16:49:28 -04:00
Michael Davidsaver
d154d8eab7 CAref mention EPICS_CA_MCAST_TTL 2017-05-03 14:17:56 -04:00
Michael Davidsaver
3fbdcdb032 EPICS_CA_AUTO_MAX_ARRAY_BYTES -> EPICS_CA_AUTO_ARRAY_BYTES 2017-05-03 13:59:35 -04:00
Ralph Lange
eedf296cd2 std/rec: fix copyright in int64in sources 2017-05-03 17:07:46 +02:00
Ralph Lange
f0d7d42ab4 std: remove SCM keywords from int64in and int64out sources 2017-05-03 17:07:06 +02:00
Ralph Lange
5761028d6f std/rec: fix promptgroups in dbd.pod files 2017-05-03 17:00:19 +02:00
Michael Davidsaver
fbc1ed26f0 missing include 2017-05-03 10:18:32 -04:00
Ralph Lange
93b47f103e std/rec: add and improve pod for int64in and int64out 2017-05-03 16:17:27 +02:00
Michael Davidsaver
1917d0563a ioc/db/test: dbStaticTest dbInitEntryFromAddr() works before iocInit() 2017-05-02 21:30:43 -04:00
Michael Davidsaver
da4bf2d5ee ioc/db/test: dbStaticTest test operations on aliases 2017-05-02 21:12:09 -04:00
Michael Davidsaver
ec3a89e43c ioc: rename dbCommonPvt::recnode 2017-05-02 21:11:46 -04:00
Michael Davidsaver
62475a383e ioc/dbStatic: better alias tracking
Ensure that alias of alias sets DBRN_FLAGS_HASALIAS
on the aliased dbRecordNode.

Add dbFollowAlias() for completeness.
2017-05-02 21:11:46 -04:00
Michael Davidsaver
6ba949cdb4 ioc/dbStatic: add dbInitEntryFromRecord() 2017-05-02 21:11:46 -04:00
Michael Davidsaver
5d37bc2996 ioc: populate RDES early
The record type is known at allocation time,
so store RDES immediately.
2017-05-02 21:11:46 -04:00
Michael Davidsaver
2eaede9925 rename dbInitEntryFromChannel -> dbInitEntryFromAddr 2017-05-02 21:11:46 -04:00
Michael Davidsaver
12d68e6021 ioc/db: Add dbCommonPvt
Add some hidden "fields" for every record.
Allows Base internal hidden accounting
which can be changed without an ABI break.
2017-05-02 21:11:46 -04:00
Michael Davidsaver
78a7ad168e ioc/dbStatic: add dbInitEntryFromChannel()
Constant time population of a DBENTRY from
a valid dbAddr.
2017-05-02 21:11:46 -04:00
Michael Davidsaver
f716b1b26a ioc/dbStatic: dbAllocRecord whitespace 2017-05-02 21:11:46 -04:00
Michael Davidsaver
0bbb381efd ioc/rsrv: fix C89 issue 2017-05-02 21:06:35 -04:00
Michael Davidsaver
f2a1834dc9 add EPICS_CA_MCAST_TTL
may be necessary/helpful for mcast search/beacon usage
across sub-nets.
2017-05-02 20:35:00 -04:00
Michael Davidsaver
6572816a6a update RELEASE_NOTES 2017-05-02 20:16:49 -04:00
Michael Davidsaver
c304e29da6 Merge remote-tracking branch 'cahuge/master'
* cahuge/master:
  replace caLimitArray with EPICS_CA_AUTO_MAX_ARRAY_BYTES
  ca: fix export caLimitArray on win32
  rsrv: export variable caLimitArray
  rsrv: optional max_array_bytes
  cas: simplify buffer alloc
  ca: large array free list is optional
  rsrv: support larger than max. array bytes
  pcas: support larger than max array bytes
  ca: support alloc larger than max array bytes
2017-05-02 20:06:54 -04:00
Michael Davidsaver
9fd8eec2e2 replace caLimitArray with EPICS_CA_AUTO_MAX_ARRAY_BYTES 2017-05-02 19:31:21 -04:00
Michael Davidsaver
a873c4f3dc Merge remote-tracking branch 'launchpad/3.15'
* launchpad/3.15:
  rename iocshFind -> iocshFindCommand
  Added patch
  Changed function outputs to remove pointer to next function.
  more whitespace
  whitespace
  Added functions to allow access to what functions and variables the ioc shell has registered.
  missing include
  ioc/dbStatic: dbFreeBase() don't double free alias'd records
  ioc/dbStatic: plug leak in dbFreeBase()
  ioc/dbStatic: whitespace
  Fix indentation warning from GCC
  libCom/test: errlog test more verbose
  libCom: STATIC_ASSERT use c++11 static_assert when possible
  Check for empty PV names in Perl catools

Conflicts:
	src/std/rec/subRecord.c
2017-05-02 19:08:51 -04:00
Michael Davidsaver
26650d6cbf update RELEASE_NOTES 2017-05-02 19:02:18 -04:00
Michael Davidsaver
d1a0b74c83 Merge remote-tracking branch 'camodern/master'
* camodern/master:
  cas: ignore CA client version older than v4.4
  rsrv: remove !CA_V44() code
  rsrv: no ca exception response to UDP
  rsrv: ignore CA client version older than v4.4
  cas: honor DOREPLY for TCP searches
  cas: ignore echo and unexpected UDP
  rsrv: send channel create failure
  rsrv: UDP search ignore DOREPLY
  rsrv: ignore echo and unexpected UDP

Conflicts:
	src/ca/legacy/pcas/generic/casDGClient.cc
2017-05-02 18:41:09 -04:00
Michael Davidsaver
875e4db3f9 Merge remote-tracking branch 'launchpad/3.14'
* launchpad/3.14:
  missing include

Conflicts:
	src/ioc/dbStatic/dbStaticLib.c
2017-05-02 18:38:40 -04:00
Michael Davidsaver
8c8604c503 Merge remote-tracking branch 'launchpad/3.14'
* launchpad/3.14:
  ioc/dbStatic: dbFreeBase() don't double free alias'd records
  ioc/dbStatic: plug leak in dbFreeBase()
  ioc/dbStatic: whitespace
  Fix indentation warning from GCC
  libCom/test: errlog test more verbose
  libCom: STATIC_ASSERT use c++11 static_assert when possible
  Check for empty PV names in Perl catools

Conflicts:
	src/ioc/dbStatic/dbStaticLib.c
	src/libCom/osi/epicsAssert.h
2017-05-02 18:31:40 -04:00
Michael Davidsaver
9d7c4434ad rename iocshFind -> iocshFindCommand 2017-05-02 18:23:52 -04:00
Keenan Lang
67e12bca9f Added patch 2017-05-02 18:23:52 -04:00
Keenan Lang
15cb72acbc Changed function outputs to remove pointer to next function. 2017-05-02 18:23:52 -04:00
Keenan Lang
45ed461665 more whitespace 2017-05-02 18:23:52 -04:00
Keenan Lang
3986e43135 whitespace 2017-05-02 18:23:51 -04:00
Keenan Lang
daad3c6995 Added functions to allow access to what functions and variables the ioc shell has registered. 2017-05-02 18:23:51 -04:00
Michael Davidsaver
38be82a154 missing include 2017-05-02 18:22:57 -04:00
Michael Davidsaver
27cd9fd051 ioc/dbStatic: dbFreeBase() don't double free alias'd records
dbFreeBase() has been broken since alias() was introduced.

Traversal of recList in the function assumed that dbDeleteRecord()
remove only the current dbRecordNode.  However, dbDeleteRecord()
called dbDeleteAliases() which removes alias dbRecordNode s.
If this happens (as it often does) to be the node immediately
after the real node, dbFreeBase() will then iterate using
a ellDelete()d node.
2017-05-02 18:04:06 -04:00
Michael Davidsaver
1ffce72a38 ioc/dbStatic: plug leak in dbFreeBase() 2017-05-02 18:02:05 -04:00
Michael Davidsaver
dcac64d50f ioc/dbStatic: whitespace 2017-05-02 18:01:39 -04:00
Andrew Johnson
83428d2b2c db/test: Cleanup unused variable 2017-05-02 12:39:09 -05:00
Ralph Lange
1235ad76e7 std/rec: add pod documentation content for int64out 2017-05-02 13:51:44 +02:00
Andrew Johnson
1cad1c5ba6 Demonstrate and use numeric literals in calc args 2017-04-29 20:43:54 -05:00
Michael Davidsaver
12fc7ed07c libCom: add EPICS_FUNCTION
Automatic macro which expands to the current function name.
Useful in debug prints.
2017-04-28 19:19:14 -04:00
Michael Davidsaver
564ef01951 typo 2017-04-28 19:19:14 -04:00
Michael Davidsaver
f65b2119ad separate jlink and lset debug flags
"lsetDebug" for lset callbacks and "jlinkDebug" for jlink parsing.
2017-04-28 17:11:47 -04:00
Michael Davidsaver
4a9fe82575 std/link: runtime conditional debugging in calc/const 2017-04-28 16:59:26 -04:00
Michael Davidsaver
2a1f790909 std/rec/test: extend linkRetargetLink w/ jlink 2017-04-28 16:59:26 -04:00
Michael Davidsaver
d752b962d5 ioc/db: dbUnitTest add testdbPutArrFieldOk() 2017-04-28 16:44:18 -04:00
Andrew Johnson
0bf789db4c Fix indentation warning from GCC 2017-04-28 14:56:18 -05:00
Michael Davidsaver
b4db176e48 ioc/db: cleanup dbEvent freeLists 2017-04-28 15:47:27 -04:00
Michael Davidsaver
d397f0fd92 ioc/db: dbUnitTest testMonitor leaks dbChannel 2017-04-28 15:43:17 -04:00
Ralph Lange
b096dc3e01 std/rec: add pod documentation for int64out record 2017-04-28 16:41:02 +02:00
Michael Davidsaver
be8de34130 std/link: all calc example 2017-04-27 19:50:46 -04:00
Michael Davidsaver
579a0791ea jlink conditional debug print
Enable magic info("linkDebug","YES") to enable
debug prints during parsing.
2017-04-27 19:46:33 -04:00
Michael Davidsaver
e51cc39b0c ioc/as: dbCore needs ca 2017-04-27 17:24:23 -04:00
Michael Davidsaver
e296e99667 Merge remote-tracking branch 'launchpad/master'
* launchpad/master:
  libCom: dbmfMalloc cantProeed() on failure
  ioc/db/test: dbCaLinkTest fix sync
  oops
  std/filter/test: use dbUnitTest
  travis-ci enable mingw w/ dll
  travisci
  catools: Fix SEGFAULT from bad PV names
  typo
  Fix for dbCa warning seg-fault
  Fix postfix.h macro arg, document
  libCom/test: epicsCalcTest use exact postifx buffers

Conflicts:
	src/ioc/db/test/dbCaLinkTest.c
2017-04-27 17:17:29 -04:00
Michael Davidsaver
57cbe61709 libCom/test: errlog test more verbose 2017-04-27 16:53:40 -04:00
Michael Davidsaver
a2ab17a782 libCom: STATIC_ASSERT use c++11 static_assert when possible 2017-04-27 16:52:33 -04:00
Michael Davidsaver
8677c84528 libCom: dbmfMalloc cantProeed() on failure
most calling code doesn't check for NULL.
2017-04-27 15:30:35 -04:00
Michael Davidsaver
052573f4ca ioc/db/test: dbCaLinkTest fix sync 2017-04-27 15:14:58 -04:00
Michael Davidsaver
7a727bbd41 Merge remote-tracking branch 'launchpad/3.15'
* launchpad/3.15:
  oops
  std/filter/test: use dbUnitTest
  travis-ci enable mingw w/ dll
  travisci
  catools: Fix SEGFAULT from bad PV names
  typo
  Fix for dbCa warning seg-fault
  Fix postfix.h macro arg, document
  libCom/test: epicsCalcTest use exact postifx buffers
2017-04-27 14:31:53 -04:00
Michael Davidsaver
c6910decfc oops 2017-04-27 14:19:15 -04:00
Michael Davidsaver
b01dd38526 std/filter/test: use dbUnitTest 2017-04-27 14:09:41 -04:00
Andrew Johnson
d825f87359 Check for empty PV names in Perl catools 2017-04-27 12:10:27 -05:00
Michael Davidsaver
82ff67a204 travis-ci enable mingw w/ dll 2017-04-27 12:57:01 -04:00
Michael Davidsaver
e751480b06 Merge remote-tracking branch 'launchpad/3.14'
* launchpad/3.14:
  travisci
  catools: Fix SEGFAULT from bad PV names
  typo
2017-04-27 12:55:35 -04:00
Michael Davidsaver
3184371e8d travisci 2017-04-27 12:53:35 -04:00
Andrew Johnson
f2e54be965 catools: Fix SEGFAULT from bad PV names 2017-04-27 10:52:07 -05:00
Andrew Johnson
0748adfb9a Additional linkInitTest checks
Now tests array record types and the eventRecord.
Also moved repeated IOC startup code into separate function.
2017-04-26 16:04:13 -05:00
Andrew Johnson
4813b37538 Minimize work done in readLocked routine
Move post-I/O back to read_event.
Fix initialization bug.
2017-04-26 16:01:09 -05:00
Andrew Johnson
bbd94928bb Minimize work done in readLocked() routine
Move post-I/O work back to the read_xx routines.
2017-04-26 15:59:03 -05:00
Andrew Johnson
c13a4f24ce Cosmetic changes to various soft device supports 2017-04-26 15:55:03 -05:00
Andrew Johnson
d1af663705 Enhancements to subArray record & soft device support
Permit record's use as a look-up-table by reading constant
input array data in dset::read_sa() routine.

Move sub-array operation into a separate function.
Extract subarray from constant INP value at device init.
Reduce the work done inside readLocked() to a minimum.
Limit NELM value to at most MALM in record init routine.
2017-04-26 15:52:08 -05:00
Andrew Johnson
4eafb6fd8e Fix bug in eventRecord::init_record
Look up event handle /after/ the device init routine has been run,
in case it modified the event name in VAL. That didn't used to
be possible because constant links couldn't return strings.
2017-04-26 15:03:43 -05:00
Andrew Johnson
33f3145fcc Updates to Release Notes and links.html 2017-04-25 22:52:08 -05:00
Andrew Johnson
c71afb631c Make dbLinkIs{Constant|Volatile}() return only true/false 2017-04-25 20:37:09 -05:00
Jeong Han Lee
c22670cbb0 typo 2017-04-24 21:06:30 -04:00
Andrew Johnson
35385bc688 Merge changes from 3.14 into 3.15
Changes to be committed:
	modified:   src/ioc/db/dbCa.c
	modified:   src/libCom/calc/postfix.h
	modified:   src/libCom/test/epicsCalcTest.cpp
2017-04-24 18:10:53 -05:00
Andrew Johnson
c5decfbd12 Fix for dbCa warning seg-fault
Don't queue an errlog message containing a pointer to a string
that will disappear soon.

Thanks to Matt Pearson for the bug analysis.
2017-04-24 18:03:53 -05:00
Andrew Johnson
da94b7a2e4 Fix dbConstLink to handle a long-string array properly
Added a new parser dbLSConvertJSON for long-string arrays.
New test checks that only the first string element is used.
2017-04-24 17:09:01 -05:00
Andrew Johnson
311ad57e93 printfRecord: Handle const long-strings in "%ls"
Adds some tests for printfRecord.
2017-04-24 15:18:52 -05:00
Andrew Johnson
30e634b97b Adjust calcout's handling of undefined links 2017-04-23 23:32:15 -05:00
Andrew Johnson
421a2c8eb9 Tidy up lnkConst.c after Michael's bug-fix changes
Should make the code easier to follow.
2017-04-23 00:11:22 -05:00
Michael Davidsaver
cfe9a51c5d std/rec/test: start linkInitTest 2017-04-21 17:26:58 -04:00
Michael Davidsaver
066984e11d Merge branch 'master' into link
* master: (226 commits)
  ioc/db: testdbGetFieldEqual() detect zero size
  Cleanup in asLib
  Allow whitespace before comments in AS config files
  Supress MS warning C4251
  Add a plan to std/filters/test/syncTest.c
  Fix dbUnitTest.c
  avoid void* +=
  Fix and test for macLib losing error status
  update notes
  libCom/test: ipAddrToAsciiTest skip cleanup unless valgrind is possible
  libCom/test: add ipAddrToAsciiTest to testHarness
  db/test: dbPutGetTest check dbGet() of long string field
  db: dbGet() ensure long string nil and actual string length
  db/test: dbPutGetTest check for dbGet() attribute crash
  db: fix dbGet() for attributes as long string
  db/test: dbPutGetTest add test for lp:1678494
  db: fix dbGet() of link fields as DBF_CHAR
  dbUnitTest: add testdbGetArrFieldEqual()
  db/test: add dbPutGetTest
  Update release notes as per Michael's review comment
  ...

Conflicts:
	src/ioc/db/dbLink.c
	src/ioc/db/test/Makefile
	src/std/dev/devSoSoftCallback.c
	src/std/rec/boRecord.c
	src/std/rec/dfanoutRecord.c
	src/std/rec/longinRecord.c
	src/std/rec/longoutRecord.c
2017-04-21 17:20:12 -04:00
Andrew Johnson
e25a2964bc Fix postfix.h macro arg, document 2017-04-21 16:09:36 -05:00
Michael Davidsaver
6c062981fb Merge remote-tracking branch 'launchpad/3.15'
* launchpad/3.15:
  ioc/db: testdbGetFieldEqual() detect zero size
  Cleanup in asLib
  Allow whitespace before comments in AS config files
  Supress MS warning C4251
  Add a plan to std/filters/test/syncTest.c
  Fix dbUnitTest.c
  avoid void* +=
  Fix and test for macLib losing error status
  update notes
  libCom/test: ipAddrToAsciiTest skip cleanup unless valgrind is possible
  libCom/test: add ipAddrToAsciiTest to testHarness
  Adjusted .gitignore patterns
  libCom/test: add network libraries for Windows builds
  Moved .bzrignore to .gitignore
  libCom/test: add ipAddrToAsciiTest
  libCom: revise ipAddrToAscii
2017-04-21 16:16:03 -04:00
Michael Davidsaver
22b10adf29 ioc/db: testdbGetFieldEqual() detect zero size 2017-04-21 16:14:43 -04:00
Michael Davidsaver
8382367495 libCom/test: epicsCalcTest use exact postifx buffers
exposes INFIX_TO_POSTFIX_SIZE() bug
2017-04-21 16:13:18 -04:00
Michael Davidsaver
54e94a1e12 std/link: lnkConst refactor
Avoid variable with same name as typedef.
Confuses qtcreator.
2017-04-21 16:08:48 -04:00
Michael Davidsaver
414e5b82b8 std/link: lnkCalc require expression
error if 'expr' key isn't provided.
2017-04-21 16:08:33 -04:00
Michael Davidsaver
b99a7b9252 std/link: lnkConst fix mem leak and hard fail on no mem 2017-04-21 16:08:15 -04:00
Michael Davidsaver
43f6a06bcd std/link: lnkConst avoid cantProceed() 2017-04-21 16:08:10 -04:00
Michael Davidsaver
7121b016d5 ioc/db: dbConstLoadLS handle size=0
handle size=0 and clarify
2017-04-21 16:08:04 -04:00
Michael Davidsaver
8b24383e9e arrayOpTest: check initial dbGet value 2017-04-21 16:07:55 -04:00
Andrew Johnson
e99fe61e07 Fix postfix.h macro arg and document 2017-04-21 14:18:05 -05:00
Andrew Johnson
23cef0339e Fix buffer allocation bug in lnkCalc.c 2017-04-21 13:56:49 -05:00
Andrew Johnson
611cb3f52e Fix typos, remove FIXMEs from lnkConst.c 2017-04-21 13:55:59 -05:00
Andrew Johnson
7e60faae10 No need to truncate const string array elements 2017-04-21 13:04:53 -05:00
Andrew Johnson
821fb1302b Merged changes from 3.14 branch into 3.15 2017-04-20 16:57:08 -05:00
Andrew Johnson
64c16c0f6e Cleanup in asLib
Improve error messages.
Remove unnecessary pointer casts.
2017-04-20 16:27:20 -05:00
Andrew Johnson
9f01c47542 Allow whitespace before comments in AS config files
Fixes lp: #1677302
Makes the lexer patterns more like dbStatic.
Handle non-printable invalid characters in input properly.
2017-04-20 16:23:36 -05:00
Andrew Johnson
aca7b44a05 Supress MS warning C4251 2017-04-20 11:42:52 -05:00
Michael Davidsaver
4f1b244589 ca: fix export caLimitArray on win32 2017-04-20 09:54:05 -04:00
Andrew Johnson
dcb1f75b4d Cosmetic cleanups 2017-04-19 16:53:12 -05:00
Andrew Johnson
89f13aa51b Modify soft devices to synchronize TSEL=-2 timestamps
Use dbLinkDoLocked() to ensure a timestamp set by TSEL=-2
comes from the same update as the value.
2017-04-19 16:50:38 -05:00
Andrew Johnson
d2db634ed2 Add dbLinkDoLocked() support
New lset method, implemented in all link types.
Includes a test for the dbCa implementation.
2017-04-19 16:44:11 -05:00
Andrew Johnson
b8f542fc0d Add a plan to std/filters/test/syncTest.c 2017-04-18 14:49:40 -05:00
Andrew Johnson
6f9905d060 Fix dbUnitTest.c 2017-04-18 14:48:54 -05:00
Michael Davidsaver
f3841c4767 avoid void* += 2017-04-17 18:58:19 -04:00
Andrew Johnson
4f8fd545fa Merge branch 'fix-async-dns/master' into 3.14 2017-04-17 15:52:10 -05:00
Andrew Johnson
d4552af39b Fix and test for macLib losing error status
Problem found & diagnosed by Mark Rivers.
2017-04-17 11:47:21 -05:00
Michael Davidsaver
0c02c5cb30 update notes 2017-04-15 19:38:56 -04:00
Michael Davidsaver
1f90e98491 libCom/test: ipAddrToAsciiTest skip cleanup unless valgrind is possible 2017-04-15 19:34:04 -04:00
Michael Davidsaver
352fd32c45 libCom/test: add ipAddrToAsciiTest to testHarness 2017-04-12 20:30:23 -04:00
Michael Davidsaver
6bf66d1c93 Merge remote-tracking branch 'launchpad/3.15'
* launchpad/3.15:
  db/test: dbPutGetTest check dbGet() of long string field
  db: dbGet() ensure long string nil and actual string length
  db/test: dbPutGetTest check for dbGet() attribute crash
  db: fix dbGet() for attributes as long string
  db/test: dbPutGetTest add test for lp:1678494
  db: fix dbGet() of link fields as DBF_CHAR
  dbUnitTest: add testdbGetArrFieldEqual()
  db/test: add dbPutGetTest
  Adjusted .gitignore patterns
  Move .bzrignore to .gitignore
2017-04-06 20:32:48 -04:00
Michael Davidsaver
b624222a0f db/test: dbPutGetTest check dbGet() of long string field 2017-04-06 20:28:04 -04:00
Michael Davidsaver
739a112bec db: dbGet() ensure long string nil and actual string length 2017-04-06 20:28:01 -04:00
Michael Davidsaver
5e082bb75d db/test: dbPutGetTest check for dbGet() attribute crash 2017-04-06 20:27:37 -04:00
Michael Davidsaver
8ebfd0821a db: fix dbGet() for attributes as long string
dbGet() of "rec.RTYP$" with DBF_CHAR and nRequest==1
not handled correctly.  Results in crash.
2017-04-06 20:27:34 -04:00
Michael Davidsaver
fc8d4c2b5f db/test: dbPutGetTest add test for lp:1678494 2017-04-06 20:27:18 -04:00
Michael Davidsaver
1888253093 db: fix dbGet() of link fields as DBF_CHAR
dbGet() DBF_CHAR with nRequest==1 not handled correctly.
Results in crash.
2017-04-06 20:27:13 -04:00
Michael Davidsaver
8edefb9d63 dbUnitTest: add testdbGetArrFieldEqual() 2017-04-06 20:27:03 -04:00
Michael Davidsaver
0f31e35b87 db/test: add dbPutGetTest 2017-04-06 20:25:55 -04:00
Ralph Lange
865a870912 Merged typed-recsup branch (by Ben / Ralph) 2017-04-05 09:42:16 +02:00
Ralph Lange
9bfc8d8fad Update release notes as per Michael's review comment 2017-04-03 09:55:06 +02:00
Andrew Johnson
23a856ae9b Adjusted .gitignore patterns 2017-03-31 12:22:29 -05:00
Andrew Johnson
5a73ac59a1 Adjusted .gitignore patterns 2017-03-31 12:18:43 -05:00
Andrew Johnson
e0af3e2af5 Adjusted .gitignore patterns 2017-03-31 12:08:03 -05:00
Ralph Lange
5726ca6964 libCom/test: add network libraries for Windows builds 2017-03-31 15:01:51 +02:00
Ralph Lange
f164b14ba1 Moved .bzrignore to .gitignore 2017-03-30 15:43:15 -05:00
Ralph Lange
4c06cdc660 Move .bzrignore to .gitignore 2017-03-30 17:10:52 +02:00
Ralph Lange
6884e0ce61 Moved .bzrignore to .gitignore 2017-03-30 17:08:29 +02:00
Ralph Lange
9e778511ee Add opt-in switch to makeBaseApp example 2017-03-30 16:35:54 +02:00
Ralph Lange
bad1b0ead3 Update release notes with opt-in instructions 2017-03-30 16:26:54 +02:00
Ralph Lange
ecf5ab4a4c Deprecate RECSUPFUN and the untyped struct rset. 2017-03-30 16:14:09 +02:00
Ralph Lange
2f510af603 Use (typed) rset instead of (untyped) struct rset inside Base 2017-03-30 14:35:24 +02:00
Ralph Lange
0f2e26bc4c Make generated code always use typed_rset
always cast to cover old-style supports
2017-03-30 14:33:06 +02:00
Ralph Lange
26a4e1489f Make compilation inside Base USE_TYPED_RSET 2017-03-30 14:30:53 +02:00
Ralph Lange
19be96ec3a Add opt-in switch USE_TYPED_RSET 2017-03-30 14:28:48 +02:00
Ralph Lange
6397204354 Update release notes, C++ instructions are tested 2017-03-27 09:51:32 +02:00
Ralph Lange
89a858f655 Remove remaining REC_TYPE defines 2017-03-27 09:49:30 +02:00
Ralph Lange
0b410c1b03 Update release notes entry 2017-03-24 17:16:18 +01:00
Ralph Lange
4f8134c63c Fix xxxRecord in templates to make exampleApp work 2017-03-24 17:08:07 +01:00
Ralph Lange
ef2da59c24 Remove REC_TYPE and UNTYPED_RSET/oldRecSup.h; add casts to record types 2017-03-24 17:07:22 +01:00
Ben Franksen
40c9e4799b use new typed rset only if UNTYPED_RSET is not defined, adapted release notes
Also moved the old definition(s) to a separate header file named oldRecSup.h
to avoid cluttering the new header file.
2017-03-21 17:01:13 +01:00
Michael Davidsaver
675c2aff14 rsrv: export variable caLimitArray 2017-03-18 17:41:33 -04:00
Michael Davidsaver
1636f3d9fe rsrv: optional max_array_bytes
use of large array free list is optional
2017-03-18 17:41:33 -04:00
Michael Davidsaver
1e7c80c909 cas: simplify buffer alloc
eliminate casBufferFactory.
move small buffer free list into clientBufMemoryManager
2017-03-18 17:41:33 -04:00
Michael Davidsaver
2096c60652 ca: large array free list is optional 2017-03-18 17:41:33 -04:00
Michael Davidsaver
3009f88f64 rsrv: support larger than max. array bytes 2017-03-13 19:22:56 -04:00
Michael Davidsaver
b783427bf7 pcas: support larger than max array bytes
clientBufMemoryManager already supports allocations
larger than max array bytes, adjust callers inBuf/outBuf
to actually request larger allocations.
2017-03-13 19:22:53 -04:00
Michael Davidsaver
85b6b5c507 ca: support alloc larger than max array bytes
automatically try to allocate a custom buffer
when a message larger than ca max array bytes
is encountered.
2017-03-13 19:22:50 -04:00
Andrew Johnson
20627c0465 Merged changes from 3.15 branch to revno 12809 2017-03-08 10:36:41 -06:00
Andrew Johnson
f71102982f Fix "make -q" problems with shared library stubs 2017-03-06 18:46:46 -06:00
Andrew Johnson
d6b0c3041e Merged changes from 3.14 branch to revno 12703 2017-03-06 15:40:28 -06:00
Andrew Johnson
214e9534cc Allow 'make -q' to work with CHECK_RELEASE=NO 2017-03-03 18:18:57 -06:00
Andrew Johnson
17bd1ae6d0 db/test: Fix warning from clang 2017-03-03 12:23:36 -06:00
Ben Franksen
f71fe62bc3 added release notes entry 2017-03-03 17:40:24 +01:00
Ben Franksen
825c075df7 fixes in recSup and record types according to merge review
* removed struct valueDes
* made get_value take void (no arguments), added deprecation note
* removed misleading array size comment for get_units

Also added const to method parameters exactly where called in base with
const arguments.
2017-03-03 16:43:50 +01:00
Ben Franksen
ff91ede462 revert use of struct dbr_precision in call to get_precision in dbAccess.c 2017-03-03 16:41:03 +01:00
Michael Davidsaver
1d749ac7e7 dbLock: add assert in dbScanLock
catch locking attempts before iocInit()
2017-02-28 21:00:57 -06:00
Michael Davidsaver
6377c2e1e4 db/test: dbPutLinkTest include json links and more 2017-02-28 20:58:11 -06:00
Andrew Johnson
8069d9d80b dbUnitTest: Improve output slightly 2017-02-28 20:55:05 -06:00
Michael Davidsaver
46993a5e38 dbUnitTest: more informative dbPutField*() 2017-02-28 20:09:21 -06:00
Michael Davidsaver
2bb02e732a libCom: add errSymMsg() error message lookup
Like errSymLookup() but always returns a static string.
2017-02-28 20:06:42 -06:00
Michael Davidsaver
428dfe7a5c add testing lset 2017-02-28 18:00:51 -06:00
Andrew Johnson
5dcd3483ba dbStatic: dbPutStringNum() overflow handling
Default to accepting over-size integers in DB fields, truncate to field size.
E.g. permits setting DBF_LONG fields to 0xffffffff.
Adds dbConvertStrict config variable to disable this.
2017-02-28 00:25:43 -06:00
Michael Davidsaver
2a0cd00958 libca: lock when removing from msgMultiPVList 2017-02-27 14:48:30 -05:00
Michael Davidsaver
d744b06a28 libca: findOrCreateVirtCircuit() can return w/ piiu==NULL 2017-02-27 11:07:17 -05:00
Ben Franksen
1c3ffa1c76 fixed the wrong fix for getOptions in dbAccess.h 2017-02-26 13:54:58 +01:00
Michael Davidsaver
048b75304d libCom/test: add ipAddrToAsciiTest 2017-02-25 19:08:46 -05:00
Ben Franksen
aaafb1a5de db: call rset::get_precision with wrong type 2017-02-25 16:42:29 -05:00
Ben Franksen
cc946b760c partly fix lp:1666924, i.e. for rset only, as described in the ticket
This means:

* typed method definitions for struct rset
* using REC_TYPE macro in place of dbCommon
* define REC_TYPE as dbCommon unless defined
* in record supports, define REC_TYPE before including epics headers
* fix a few method types in record supports (e.g. void* -> REC_TYPE*)
* fix the type errors gcc finds in dbAccess.c and dbConvert.c
2017-02-24 21:11:11 +01:00
Michael Davidsaver
5783823e25 libCom: revise ipAddrToAscii
create multiple light-weight engines to
track transactions by engine and cancel
all transactions when an engine is released.

prior to fix for lp:1527636 this was ensured
for the last/only owner for the engine singleton.
2017-02-23 20:08:46 -05:00
Andrew Johnson
00549c832a Fix HTML entities 2017-02-17 14:16:57 -06:00
Andrew Johnson
c52088205e Remove constant link checks from test device 2017-02-17 14:15:31 -06:00
Andrew Johnson
e95fcb2e06 Merged changes from 3.15 branch, to revno 12807 2017-02-01 11:57:04 -06:00
Andrew Johnson
a7f0525ac7 Update Release Checklist 2017-01-30 18:04:47 -06:00
Andrew Johnson
de698f370a Merged Windows fixes from 3.14 branch, to revno 12699 2017-01-30 14:31:04 -06:00
Andrew Johnson
faf691a5be VS2015 starting to dislike '/' for compiler flags 2017-01-30 12:11:29 -06:00
Andrew Johnson
3a0e52fc3f Fix Windows dllPath.bat properly 2017-01-24 14:17:37 -06:00
Andrew Johnson
a105c6f538 Always quote Windows PATH arg's 2017-01-24 11:48:36 -06:00
Andrew Johnson
73eecbb759 Merged ARCH and bind fixes from 3.14 branch, revno 12696 2017-01-23 17:20:51 -06:00
Andrew Johnson
3e58c59377 Fix CA server bind issue from Freddie Akeroyd 2017-01-19 12:33:54 -06:00
Andrew Johnson
b9ae6c3308 Allow ARCH with trailing spaces 2017-01-18 10:59:36 -06:00
Andrew Johnson
3fd659e693 Merged PATH fix from 3.14 branch, revno 12694 2017-01-16 16:12:04 -06:00
Andrew Johnson
7310d78057 Prepend to PATH, not append 2017-01-16 10:46:56 -06:00
Andrew Johnson
051c059938 Removed some Revision-Id keywords 2017-01-06 17:31:51 -06:00
Andrew Johnson
dfc1b8ac23 Merged scan-rate protection changes from 3.14 branch, to revno 12693 2017-01-06 17:24:57 -06:00
Andrew Johnson
49e0e23f76 Better protection against bad periodic scan rates 2017-01-06 15:38:03 -06:00
Andrew Johnson
4a0fd0b954 Fix error message 2017-01-05 14:09:03 -06:00
Andrew Johnson
20dda339cc Make *_INC files order-only prerequisites 2017-01-04 16:32:13 -06:00
Andrew Johnson
7ec6be5d14 Update version numbers in documents for 3.15.6 2016-12-13 17:03:54 -06:00
Ralph Lange
eff44268e9 Set version to 3.15.5-DEV, close 3.15.5 chapter in release notes 2016-12-13 15:33:01 +01:00
Ralph Lange
fd53e175b4 Update CONFIG_BASE_VERSION for 3.15.5, remove "not released" from RELEASE_NOTES 2016-12-13 14:25:23 +01:00
Andrew Johnson
fab5ce675f Update comments in calcoutRecord 2016-12-12 17:44:01 -06:00
Andrew Johnson
85b5551b3b Merged final changes from 3.14.12.6 release 2016-12-09 17:27:35 -06:00
Andrew Johnson
260bc64b59 Set SNAPSHOT back to -DEV 2016-12-09 13:50:17 -06:00
Andrew Johnson
5097ac3230 Set SNAPSHOT for 3.14.12.6 2016-12-09 13:48:55 -06:00
Andrew Johnson
8d7bf52e51 One more cppcheck issue fixed 2016-12-09 11:17:43 -06:00
Andrew Johnson
a13416309c Merged asLib fix from 3.14 branch, to revno 12688 2016-12-08 14:00:52 -06:00
Andrew Johnson
1cb75ebb6e asLib message buffer too small (Freddie Akeroyd) 2016-12-08 13:57:23 -06:00
Andrew Johnson
63b059c35e Resolve additional cppcheck issues; fix iOS build 2016-12-07 17:51:00 -06:00
Andrew Johnson
dba6971e07 Merged changes from 3.14 branch to revno 12687 2016-12-07 16:36:58 -06:00
Andrew Johnson
94397b52fc Resolve some cppcheck errors & warnings 2016-12-07 13:53:26 -06:00
Andrew Johnson
7fe152ce1b Merge Bruce Hill's pcas-deadlock-fix-3.14 branch 2016-12-07 10:43:06 -06:00
Bruce Hill
d3568605ce Fetch nativeCount() in casChannelI constructor to avoid deadlock
if we fetch it from eventSysProcess()
2016-12-06 13:43:59 -08:00
Andrew Johnson
666721c7ad Document caput scalar arg's, update usage docs 2016-12-06 12:16:35 -06:00
Andrew Johnson
c3bb2bf2c2 Merged changes from 3.14 branch to revno 12682 2016-11-30 12:04:00 -06:00
0f7f4710c6 PCAS dynamic array support for GDD container types 2016-11-30 11:58:24 -06:00
Ralph Lange
2841af7069 rec: add promptgroups for OFFS and SHFT of fanout and seq 2016-11-29 14:48:57 +01:00
Andrew Johnson
0a4981093a Update mingw32 cross-target name for RHEL7 2016-11-15 17:44:21 -06:00
Andrew Johnson
726d7c6715 Fix chfPluginTest for MS 2015 compiler 2016-11-15 10:34:10 -06:00
Andrew Johnson
f1439f8b1c Fix epicsStdioTest for MS 2015 compiler 2016-11-15 09:56:42 -06:00
Andrew Johnson
aa6e976f92 Add .local includes to makeBaseApp templates 2016-11-04 17:18:14 -05:00
Andrew Johnson
3e0ddbb542 Set snapshot to -rc1-DEV 2016-10-31 18:06:50 -05:00
Andrew Johnson
67daaaa9b7 Set snapshot to -rc1-DEV 2016-10-31 17:06:19 -05:00
Andrew Johnson
a36443557b Set version to 3.14.12.6-rc1 2016-10-31 17:03:35 -05:00
Ralph Lange
628382d72d Update version to 3.15.5-rc1 2016-10-31 13:48:06 +01:00
Andrew Johnson
3c546617ab Merged release note updates from 3.14 branch, to revno 12677 2016-10-29 15:56:49 -05:00
Andrew Johnson
435ac7b086 Release note updates 2016-10-29 15:49:13 -05:00
Andrew Johnson
e2c897bb54 Corrections/updates to release documentation 2016-10-21 14:43:16 -05:00
Andrew Johnson
33025641fc Update version to 3.15.5-pre1-DEV 2016-10-21 12:16:25 -05:00
Andrew Johnson
9ea2ac7bc1 Update version to 3.15.5-pre1 2016-10-21 12:15:09 -05:00
Andrew Johnson
14819ef1ec Update version numbers in docs 2016-10-21 12:07:26 -05:00
Andrew Johnson
178a8a835a Update version to 3.14.12.6-pre1-DEV 2016-10-20 18:03:50 -05:00
Andrew Johnson
3e3b691518 Update version to 3.14.12.6-pre1 2016-10-20 18:03:03 -05:00
Andrew Johnson
321e87aabf Merged changes from the 3.14 branch, to revno 12674 2016-10-20 15:32:06 -05:00
Andrew Johnson
ba555ee496 Fix Whole Program opt settings (windows only) 2016-10-20 12:23:06 -05:00
Andrew Johnson
0743417231 Merged the pcas-vararray-3.14 branch, with fixes and notes 2016-10-20 12:22:00 -05:00
Ralph Lange
ac6b8bfcc7 templates: make caServerApp use variable size vectors 2016-10-19 14:22:25 +02:00
Ralph Lange
5d5cc1029e gdd: make put() write full array if requested size=0 2016-10-19 11:57:13 +02:00
Andrew Johnson
994cf0ff07 Add whole-program optimization control for MSVS
Introduce a new config variable OPT_WHOLE_PROGRAM for
Microsoft builds to control compiler and linker flags.
Static builds with MSVS-2010 don't work properly with
whole-program optimization enabled; this lets the static
targets be built with normal optimization enabled and
just the whole-program flags turned off.

This commit also makes the CONFIG file for Microsoft
builds more like the 3.15 version.
2016-10-18 16:34:25 -05:00
Ralph Lange
92ffe1d726 cas: fix first subscription update returning only 1 element when 0 were requested 2016-10-18 11:39:38 +02:00
Andrew Johnson
1351eceead Clean up unused code warnings from Clang 2016-10-14 13:48:56 -05:00
Ralph Lange
9ac237b3de cas: Add real implementation for variable length arrays (Bruce Hill, Matej Sekoranja) 2016-10-12 13:41:55 +02:00
Andrew Johnson
f73d48bb6a Apply fix for lp:1581505 2016-10-10 17:19:10 -05:00
Andrew Johnson
6e2705c23f Merged commit 12741 from Michael's pcas-fake-dynamic branch 2016-10-10 15:12:26 -05:00
Andrew Johnson
b59a60e266 Merged the bigdb-3.15 branch with PHAS fix 2016-10-07 17:35:07 -05:00
Ralph Lange
a32faa573c ioc/misc: add dbRecordsAbcSorted to dbCore.dbd 2016-10-07 11:56:06 +02:00
Ralph Lange
3fa8f2ac22 libCom/ellLib: make sort comparator args const pointers 2016-10-07 10:52:13 +02:00
Ralph Lange
de6a442048 dbStatic: fix compiler warnings (unused variables) 2016-10-07 10:29:28 +02:00
Andrew Johnson
928ebe82bd Build rules: Enable tests only when we can run them 2016-10-06 13:13:59 -05:00
Ralph Lange
768c6234bd Mention dbRenameRecord() removal in release notes 2016-10-06 15:44:02 +02:00
Ralph Lange
336bd656c8 dbStatic: only sort records alphabetically if explicitly configured (default: no sorting) 2016-10-06 15:36:44 +02:00
Ralph Lange
344928bdc6 dbStatic: remove dbRenameRecord() 2016-10-06 13:31:40 +02:00
Ralph Lange
843fb8ca95 dbStatic: update dbCreateAlias() to add to record list (instead of insertion sort) 2016-10-06 13:02:46 +02:00
Andrew Johnson
2fd298b440 Fixed issues with previous epicsTime.cpp changes 2016-10-05 15:11:57 -05:00
Ralph Lange
4da0e2c27e Add release note info for the epicsTime change 2016-10-05 09:41:49 +02:00
Andrew Johnson
8531da6496 Merged Ralph's add-epicstime-from-gmtm branch 2016-10-04 18:04:26 -05:00
Ralph Lange
67323441ec libCom/test: add roundtrip test for epicsTime from/to UTC struct tm conversion 2016-10-04 16:17:45 +02:00
Ralph Lange
3702401171 libCom/osi: add full epicsTime conversion from/to UTC struct tm (without timezone mechanism) 2016-10-04 16:16:42 +02:00
Andrew Johnson
8d6875fe15 Merged changes from the 3.14 branch to revno 12664 2016-10-03 15:21:48 -05:00
5ad61d25f6 Fix race condition in gdd 2016-09-29 11:23:14 -05:00
Andrew Johnson
6623cb0112 Back-ported 64-bit MinGW cross-build stuff from 3.15 2016-09-28 17:10:38 -05:00
Jeff Hill
c2b17feaf1 libCom: Missing unlock in epicsThreadShow for RTEMS
fixes lp:1628323
2016-09-27 21:36:28 -04:00
Andrew Johnson
8fb2267218 Revert breaktable point() syntax, not in dbStatic 2016-09-27 16:57:53 -05:00
Ralph Lange
9de65e05d4 libCom/osi: fix timespec definition for MinGW
(cherry-picked from 3.15)
2016-09-27 15:59:53 +02:00
Michael Davidsaver
99500b9be4 dbStatic: more informative error for bad field value 2016-09-18 17:35:19 -04:00
Michael Davidsaver
0821c8c4ff dbStatic: dbPutStringNum(, "") not an error
Restore previous behavour that empty string
is equivalent to numeric zero.

epicsParse*() returns S_stdlib_noConversion
where previously strtoul() did not.

Conflicts:
	src/ioc/db/test/Makefile
2016-09-12 18:20:02 -04:00
Andrew Johnson
da5455ed22 Fixes for Windows builds 2016-09-09 11:14:59 -05:00
Andrew Johnson
58c78af4f9 Initialize all fields of jlink, link types may not use calloc 2016-09-07 23:35:39 -05:00
Andrew Johnson
813166128e Merged changes from 3.15 branch, to revno 12781 2016-09-07 10:04:54 -05:00
Andrew Johnson
b2012fdfb5 Added test link type, fix dbPutLinkTest for JSON_LINKs 2016-09-07 00:50:40 -05:00
Andrew Johnson
c12a35e388 Clean up memory leaks 2016-09-07 00:47:51 -05:00
Andrew Johnson
8a9707e74f Fixed a small memory leak in lnkCalc 2016-09-06 22:28:36 -05:00
Andrew Johnson
2d4301f0bb Fix warnings from clang 2016-09-05 22:36:45 -05:00
Andrew Johnson
268e59b052 Minor updates 2016-09-05 15:38:16 -05:00
Andrew Johnson
5b74799605 Some documentation updates 2016-09-05 15:12:09 -05:00
Andrew Johnson
cd49e245c2 Added JLink reporting infrastructure
Command 'dbjlr <record|*> <level>' calls the report method for
all JSON links in all records, or in one named record.
Added level and indent arguments to the jlif::report() method.

Added jlif::map_children() method for recursing through all
JSON links, plus dbJLinkMapChildren() and dbJLinkMapAll() APIs.

Implemented the report and map_children methods in the const
and calc link types.
2016-09-05 14:25:33 -05:00
Andrew Johnson
19447dc7ff Make the long-string buffer for link fields bigger
When representing a link field as a long string (.INP$)
we have to pick some size limit for the buffer.
Previously this was the max length of a PV name + 12 chars,
but with JSON links that's not big enough.

This commit sets it to 1KB and defines a macro so it will be
easier to change in the future if necessary.
2016-09-04 16:56:15 -05:00
Andrew Johnson
dd311be319 JLink: Convert parser->linkDepth into jlink->parseDepth
This counter is indicates when we've finished parsing a link,
and needs to be stored with link rather than the parser so it
keeps its value while parsing embedded links. This fixes the
embedded links bug.

Also removed the limit on a link name's length.
2016-09-04 16:33:10 -05:00
Andrew Johnson
4448317d73 Add lnkConst_remove, fix debug messages 2016-09-04 16:02:59 -05:00
Andrew Johnson
ec6d86c91c Fix jlink memory leak in dbStaticLib
Added dbFreeLinkInfo(), use everywhere to release dbLinkInfo resources.

Renamed link_type => expected_type in db[Can]SetLink(),
my brain understands this name faster.
2016-09-04 15:56:39 -05:00
Andrew Johnson
4302da3628 Minor fixes to the calc link-type 2016-09-03 22:24:55 -05:00
Andrew Johnson
25315882ec Clean up JSON_LINKs in doCloseLinks 2016-09-03 22:22:12 -05:00
Andrew Johnson
f8d6cd98a0 Minor cleanups 2016-09-03 19:44:49 -05:00
Andrew Johnson
5fe3e8bfb5 Added calc link-type 2016-09-03 19:22:55 -05:00
Andrew Johnson
8d1c416551 Moved PV_LINK-specific code out of dbLink.c into link types
This required a change to the lset::getValue arguments, removing
the pstat and psevr pointers. Links can still return a non-zero
value from getValue and trigger a LINK:INVALID alarm, but for any
other alarm settings they must manipulate the record themselves.
2016-09-03 19:21:11 -05:00
Andrew Johnson
07b09eed1f Fixes to dbJLink, added dbJLinkFree()
Moved the clearing of key_is_link to the right place,
embedded links now parse correctly.
2016-09-03 13:36:17 -05:00
Andrew Johnson
1e1c52cb69 Use new epicsStrnDup() API 2016-09-03 13:27:30 -05:00
Andrew Johnson
6e88d48615 Added epicsStrnDup() and dbmfStrndup() routines
The JSON parser passes string arguments with a length
instead or nil-terminating them. These routines make it
simple to copy such strings into either permanent or
temporary storage.
2016-09-03 13:25:19 -05:00
Andrew Johnson
147166849b Empty merge of backported big-fix from 3.14 branch, to revno 12660 2016-09-02 15:17:07 -05:00
Andrew Johnson
661058e43e ca: Fix client bug (race condition) in ipAddrToAsciiEngine 2016-09-02 15:12:50 -05:00
Andrew Johnson
4686a062c8 Merged generalTime update from 3.14 branch, revno 12659 2016-09-02 12:47:23 -05:00
Andrew Johnson
25b3eae1c7 Merged changes from the 3.14 branch to revno 12658 2016-09-02 11:54:23 -05:00
Andrew Johnson
23c71e9965 Various improvements
* Added new lset::openLink() method, called on JSON_LINKs only
* Cleanup in dbJLink.c to prevent memory leaks.
* Removed jlif::start_parse() method.
* Renamed jlif::end_parse() to end_child, which will be called on
the parent link when a child link has succesfully finished parsing.
2016-09-01 23:21:23 -05:00
Andrew Johnson
3992d4b92a Split dbJLinkInit, JLinks are now parsed at load-time 2016-09-01 00:56:26 -05:00
Andrew Johnson
40a3a66745 Added loadLS routine to lset
The long string in/out records use a different initializer
for constant links. The new loadLS method allows a constant
link type to initialize such a long string field.

NB: This routine was added in the middle of the lset table.
Any external link support implementations must be adjusted.
2016-08-31 00:36:23 -05:00
Andrew Johnson
d0dcd61b23 Add code for arrays of strings 2016-08-30 23:03:08 -05:00
Andrew Johnson
5ec0633282 Pass link dbfType to jlif allocator; needed! 2016-08-30 01:13:15 -05:00
Andrew Johnson
80eaad4118 GeneralTime updates to improve time provider synchronization 2016-08-29 13:04:48 -05:00
Andrew Johnson
33e565b67d Fix build warning from clang 2016-08-29 10:41:51 -05:00
Andrew Johnson
7edc0c67ca JSON Links implementation
The lnkConst.c implementation is not yet complete, no support for arrays of
strings (JMOP).

Link error messages should display their record & field name, which is not yet
possible.

The ability to embed links as parameters to other link types is not complete
yet; this will be required for the calc link type.

This code currently passes all existing tests, but additional tests are needed
for the new functionality.
2016-08-29 01:12:09 -05:00
Andrew Johnson
056edc0d8a Undo buggy change 2016-08-28 23:41:35 -05:00
Andrew Johnson
fc66793ee2 Start documenting changes 2016-08-27 16:31:49 -05:00
Andrew Johnson
37b6cbb50c Use new dbLink APIs instead of checking link.type 2016-08-27 16:30:48 -05:00
Andrew Johnson
cca6a5d05a Add isConstant and isVolatile to LSET 2016-08-27 16:26:55 -05:00
Andrew Johnson
b671d1cc40 mingw: Fix the list of Windows OS libraries to link against 2016-08-25 14:49:29 -05:00
Andrew Johnson
6934f9b4c1 darwin: Add Homebrew settings to CONFIG_SITE 2016-08-25 14:39:05 -05:00
Andrew Johnson
3963dcb4df dbgf: Don't print beyond last buffer char 2016-08-24 20:17:36 -05:00
Andrew Johnson
82385c9f1b Missed a spot handling JSON_LINK field values 2016-08-18 00:18:41 -05:00
Andrew Johnson
e5d0915b51 MS build config updates, suppress warning C4344 2016-08-17 11:19:15 -05:00
Andrew Johnson
cbc7af0ef8 Remove 2 obsolete dbStatic routines (forms) 2016-08-15 20:19:19 -05:00
Andrew Johnson
bed1c618a8 Use dbPutLinkAsync() in all output SoftCallback dev's 2016-08-13 21:53:31 -05:00
Andrew Johnson
7df97f074e Add lset::dbPutLinkAsync and S_db_noLSET 2016-08-13 21:42:23 -05:00
Ralph Lange
b3ac81923a cas: update enum string table on updates for enum type data 2016-08-13 14:00:57 +02:00
Andrew Johnson
fe71fc98b8 Undo a small & unnecessary behaviour change 2016-08-12 23:53:42 -05:00
Andrew Johnson
d3a9ba7701 Fix issues related to const array initialization 2016-08-12 23:21:26 -05:00
Andrew Johnson
bb58598eba A cleaner way to close CA & DB links 2016-08-12 23:20:24 -05:00
Michael Davidsaver
899feb24b2 iocInit: close CA_LINKs through lset 2016-08-12 19:50:17 -04:00
Andrew Johnson
57b8617cca dbdExpand.pl 2016-08-11 15:48:01 -05:00
Andrew Johnson
fb785e45c7 Adjust record and device support for array constants 2016-08-10 12:53:39 -05:00
Andrew Johnson
519208833f Add lset::loadArray and JSON parsing
Replace lset::loadLink with lset::loadScalar, add lset::loadArray
Add dbLoadLinkArray() routine to dbLink.h API
New dbConvertJSON.h API for use by dbConstLoadArray()
2016-08-10 12:49:49 -05:00
Andrew Johnson
ae2180f5b5 Comments in Makefile 2016-08-10 12:21:03 -05:00
Andrew Johnson
dafe2a83a3 libCom: Make yajl_alloc.h usable 2016-08-10 12:19:53 -05:00
Michael Davidsaver
ebfaca8228 cas: ignore CA client version older than v4.4
CAS ignore search and version messages
from CA minor versions older than 4.4.
2016-07-30 11:45:42 -04:00
Michael Davidsaver
da78e01e89 rsrv: remove !CA_V44() code
Remove code supporting deprecated
CA minor versions < 3
2016-07-31 19:49:08 -04:00
Michael Davidsaver
caf70216d3 rsrv: no ca exception response to UDP 2016-07-31 19:35:25 -04:00
Michael Davidsaver
95fd255dd6 rsrv: ignore CA client version older than v4.4
RSRV ignore search and version messages
from CA minor versions older than 4.
2016-07-30 10:35:49 -04:00
Michael Davidsaver
2dd16f4362 cas: honor DOREPLY for TCP searches 2016-07-31 15:10:36 -04:00
Michael Davidsaver
4c2b8819cd cas: ignore echo and unexpected UDP
Ignore UDP echo.
By default, don't log unexpected/invalid
UDP messages.
2016-07-30 11:46:28 -04:00
Michael Davidsaver
8992d5a593 rsrv: send channel create failure 2016-07-30 12:09:33 -04:00
Michael Davidsaver
802f29df47 rsrv: UDP search ignore DOREPLY
Don't send notice of failure
for lookup via. UDP.
2016-07-30 10:46:21 -04:00
Michael Davidsaver
16c419350b rsrv: ignore echo and unexpected UDP
Ignore UDP echo.
By default, don't log unexpected/invalid
UDP messages.
2016-07-30 10:41:39 -04:00
Andrew Johnson
064cc94f59 Allow up to 100 network interfaces on Windows.
Fixes lp:1606848
2016-07-27 10:14:35 -05:00
Andrew Johnson
e9abac25bc Merged changes from 3.14 branch to revo 12652 2016-07-21 23:37:54 -05:00
Andrew Johnson
f169781de0 Merged remove-keywords-3.15 branch 2016-07-21 14:12:51 -05:00
Andrew Johnson
3d4d3181de DOS to Unix line-ending conversions 2016-07-21 12:47:48 -05:00
Andrew Johnson
c8351c329b Clarify comments in exampleApp Makefile 2016-07-18 11:25:08 -05:00
Michael Davidsaver
4223b31f9a bswap16/32 as functions
Turn bswap16() and bswap32() into functions
to avoid evaluating the argument more than once.
2016-07-08 16:20:35 -04:00
Andrew Johnson
bffdfdcb28 Fix GetUser routine in makeBaseApp.pl 2016-07-08 13:18:53 -05:00
Andrew Johnson
6dda3decf9 Merged remove-keywords-3.14 branch 2016-07-07 16:43:29 -05:00
Andrew Johnson
ddeb0a827c Make EXPAND rule work on all arch's
Fixes build for linux-arm in src/util.
Don't expand files unless specifically requested.
Expanded files are always precious.
2016-07-06 17:05:04 -05:00
Andrew Johnson
22ef569682 Provide a systemd service file for caRepeater
Also changes how the sysvinit files are generated to use
the expandVars.pl script and rules instead of sed.
2016-07-06 15:23:58 -05:00
Andrew Johnson
b9aa877727 Fix RTEMS build 2016-07-06 14:06:21 -05:00
Andrew Johnson
8da6c172d1 Removed epicsExceptionTest.cpp
Too many build failures on newer C++ compilers. Since this
is just testing that the compiler runtime follows the C++
standard it isn't really necessary any more (it was in the
early days of C++ before standardization).
2016-07-06 11:36:09 -05:00
Andrew Johnson
bf85143381 Fix for g++ 6.x on Fedora 24, cleanup 2016-06-22 12:25:17 -05:00
Andrew Johnson
203fcecc23 Adjust linux-arm config for Xilinx SDK users 2016-06-20 14:06:42 -05:00
Andrew Johnson
935ab02bc1 Fix build failure on Solaris 2016-06-07 12:31:15 -05:00
Andrew Johnson
63d8651474 Make Perl DB parser handle duplicates and rtyp '*' 2016-06-07 01:00:38 -05:00
Andrew Johnson
c01967d64f Remove spurious include dbCa.h 2016-06-02 22:29:45 -05:00
Andrew Johnson
d1986edd9e Simplify link-type checks in record supports 2016-06-02 22:22:11 -05:00
Andrew Johnson
7627454f63 Simplify link-type checks in soft device supports 2016-06-02 22:02:54 -05:00
Andrew Johnson
667f74759d Allow (discard) comments inside JSON 2016-06-01 15:46:24 -05:00
Andrew Johnson
7a38da0e44 Ignore RULES, TOP & TEMPLATE_TOP in new checks 2016-05-31 11:18:29 -05:00
Andrew Johnson
11e98798bb Fix dependency file generation on Windows & Darwin 2016-05-27 23:15:59 +02:00
Ralph Lange
d1e49a97b5 Set version to 3.15.4-DEV, close 3.15.4 chapter in release notes 2016-05-27 09:12:58 +02:00
Ralph Lange
65574b5971 Update CONFIG_BASE_VERSION for 3.15.4, remove "not released" from RELEASE_NOTES 2016-05-27 08:54:04 +02:00
Andrew Johnson
4284222b54 Convert GUI_ promptgroup strings to new-style 2016-05-26 16:15:48 +02:00
Ralph Lange
54bab1e2f0 pcas: fix compiler warning (gcc 5.3.1) 2016-05-26 14:14:56 +02:00
Andrew Johnson
df200de27f Fix lsi/lso puts with DBF_STRING data 2016-05-26 13:49:18 +02:00
Ralph Lange
22d6ebe7e1 Merge changes from 3.14 branch up to rev 12642 2016-05-26 13:18:38 +02:00
Ralph Lange
9c3ed1bfe2 catools: fix escape handling when sending long strings 2016-05-26 13:13:29 +02:00
Ralph Lange
23fd4e202b ca: Fix client bug (race condition) in ipAddrToAsciiEngine 2016-05-25 12:26:32 +02:00
Andrew Johnson
1f726c8760 Recognize arrays as constant links 2016-05-24 12:01:38 +02:00
Andrew Johnson
08b7802009 Recognize numbers before barewords 2016-05-24 11:59:08 +02:00
Andrew Johnson
a5b8b0b890 Use fabs() in calcPerform 2016-05-24 11:12:25 +02:00
Andrew Johnson
f6c4099634 Make info tags also JSON objects 2016-05-23 12:00:11 +02:00
Andrew Johnson
b9f0ef5158 Merge 3.14 version and add 3.15 edits 2016-05-22 14:38:18 +02:00
Andrew Johnson
988614ae8a Reset SNAPSHOT after -rc1 tagged 2016-05-22 06:06:53 +02:00
Andrew Johnson
f4a16a1e1e Remaining Revision-Id keywords in source 2016-05-22 05:43:09 +02:00
Andrew Johnson
c03d3eb69a Removed commit date from CONFIG_BASE_VERSION 2016-05-22 05:41:50 +02:00
Andrew Johnson
1218e3db91 documentation dir; Added Release note 2016-05-21 04:36:49 +02:00
Andrew Johnson
a66d56f5cf startup dir 2016-05-21 04:28:49 +02:00
Andrew Johnson
89c8c78564 Removed Revision-Id from configure; still one Date 2016-05-21 04:27:03 +02:00
Andrew Johnson
0a5f7f03cb config directory 2016-05-21 04:01:24 +02:00
Andrew Johnson
c76041b14c Rename JSON_STR to JSON_LINK 2016-05-20 20:32:39 -05:00
Ralph Lange
fe887b4f83 Update CONFIG_BASE_VERSION for 3.15.4-rc1 2016-05-20 16:37:06 +02:00
Andrew Johnson
7ea544673a Accept bareword JSON strings, quote them 2016-05-20 00:02:45 -05:00
Andrew Johnson
6e6ae4354b Fix warnings from dbmfStrdup() change 2016-05-19 14:01:05 -05:00
Andrew Johnson
61e82ee1ae Fix memory allocation bugs 2016-05-19 01:32:12 -05:00
Andrew Johnson
28b3b1678c ioc/dbStatic: Add JSON parsing of field values
The parsing removes all white-space outside of quotes from the JSON.
dbRecordField() now strips quotes from simple string values itself.
2016-05-19 01:15:33 -05:00
Andrew Johnson
efb5ba27ae libCom/dbmf: Add dbmfStrcat3() for JSON parsing
Also removed all epicsShareAPI attributes
Made string arguments const char *
2016-05-19 00:58:45 -05:00
Andrew Johnson
574db56740 Make antelope's error messages slightly nicer 2016-05-19 00:51:23 -05:00
Andrew Johnson
7be7ad2768 Merge changes from 3.14 branch, to revno 12640 2016-05-18 10:44:16 -05:00
Andrew Johnson
6c9555310a Update EPICS_TIMEZONE with info for 2016-2021 2016-05-18 10:26:04 -05:00
Andrew Johnson
4ccc2e9d3a Merged my devEnviron branch 2016-05-18 09:48:22 -05:00
Andrew Johnson
122fb6c731 New "getenv" device support for string input types 2016-05-17 19:09:48 -05:00
Andrew Johnson
3b8fd13152 libCom: NTP Time Provider adjusts to OS tick rate changes
Allow the NTP Time provider (used on VxWorks and RTEMS only)
to adapt to changes in the OS clock tick rate after the provider
has been initialized.

Changing the tick rate after iocInit() is not advisable,
other software might still misbehave if initialized before
an OS tick rate change.

Back-ported from the 3.15 branch (commit 12468).
2016-05-17 16:03:27 -05:00
Andrew Johnson
04a9fdb4e3 Clean up warnings from gcc 5.2 2016-05-16 17:02:34 -05:00
Andrew Johnson
3c61880d79 Allow some callback slow-ups before failing tests
The tests occasionally fail on Windows because the server
is busy; this will accept up to 4 slow callbacks without
them causing the build to fail.
2016-05-16 16:55:50 -05:00
Andrew Johnson
998c3c1648 Clean up warnings from gcc 5.2 2016-05-16 14:55:58 -05:00
Andrew Johnson
8081d3ada4 Merged Till's fix for lp:1581212, modified 2016-05-13 14:48:08 -05:00
Andrew Johnson
6d35ee9c3c Move dbLock.h *after* epicsExportSharedSymbols 2016-05-13 13:40:37 -05:00
Andrew Johnson
b5a0657adc Applied Till's fix for lp:1581212 2016-05-13 13:30:55 -05:00
Andrew Johnson
b87f3eaaee Merged changes from 3.14 branch to revno 12636 2016-05-13 13:12:08 -05:00
Andrew Johnson
6db0e13809 Added CROSS_COMPILER_RUNTEST_ARCHS 2016-05-13 13:00:48 -05:00
Michael Davidsaver
0f6c997288 osdNetIntf: ignore 0.0.0.0 as a broadcast address
It seems in some situations Linux (at least)
sets IFF_BROADCAST bug leaves the bcast address
set to 0.0.0.0.

Fixes lp:1581505
2016-05-13 09:31:26 -04:00
Michael Davidsaver
704c748fbd Revert "libCom/osi: osiSockDiscoverBroadcastAddresses() finds 127.255.255.255"
This reverts commit e805abe971.
2016-05-13 09:14:20 -04:00
Andrew Johnson
82456f83ee Fix Menu declaration test 2016-05-12 16:35:54 -05:00
Andrew Johnson
e98a6bbafa Make <menu>_NUM_CHOICES not an enum tag
Fixes lp:1580972
2016-05-12 15:05:18 -05:00
Andrew Johnson
6a592dc2c0 Support "link(name, lset)" syntax in DBD files
Both Perl and dbStaticLib support included.
Also added a new std/link directory for link types.
Nothing looks up the registered link support tables yet.
2016-05-08 22:57:42 -05:00
Andrew Johnson
9b51444fb7 Fix data types and macro name 2016-05-04 18:15:54 -05:00
Andrew Johnson
ac5c7b0314 Merged Michael's cxxcleanup branch 2016-05-04 17:50:59 -05:00
Andrew Johnson
3be97865b3 Warn instead of building cap5 if xsubpp is missing 2016-05-04 14:41:51 -05:00
Andrew Johnson
67097456e3 Add additional RELEASE file checks
These checks are important for mixing Debian modules with
privately-built applications.
2016-05-03 12:26:40 -05:00
Michael Davidsaver
d674866219 epicsGuard.h add typedefs linking guard and release 2016-05-02 20:53:51 -04:00
Michael Davidsaver
a1bd644502 drop all templateInstances.cpp
No longer needed by any targets.
2016-05-02 20:51:11 -04:00
Andrew Johnson
3c8af4c571 Catch bad attribute names/values to prevent a segfault 2016-05-02 11:38:51 -05:00
Michael Davidsaver
26c04844cf add test for lp:1577108 2016-05-01 13:30:45 -04:00
Michael Davidsaver
a3d981ad0a dbLink.c: fix dbGetLink for array of length 1 2016-05-01 13:30:45 -04:00
Ralph Lange
924aa2f93b Set Base version to -pre1-DEV 2016-04-29 12:20:35 +02:00
Ralph Lange
457fb8fa13 Update CONFIG_BASE_VERSION for 3.15.4-pre1 2016-04-29 11:34:05 +02:00
Ralph Lange
b8b259de6f Merge Andrew's libs-prereq branch 2016-04-29 10:42:03 +02:00
Andrew Johnson
7ce8e5ea01 Fix RTEMS Makefile issue 2016-04-28 23:59:39 -05:00
Andrew Johnson
496414c88c Fix for VxWorks 5.5 compiler 2016-04-28 23:28:39 -05:00
Andrew Johnson
2acde8bac7 Merged changes from 3.14 branch to revno 12630 2016-04-28 21:39:55 -05:00
Andrew Johnson
2c69ddbee5 Merged my ioc-arch branch, manually re-based 2016-04-28 19:26:11 -05:00
Andrew Johnson
ba0d5f9443 Disallow single-quoted strings in Perl DBD parser 2016-04-28 19:03:17 -05:00
Andrew Johnson
08fd987c60 Perl script clean-up 2016-04-28 19:00:37 -05:00
Andrew Johnson
5a605fa0c3 Set various EPICS_VERSION_* environment variables
These are set at the same time as the ARCH variable.
Had to add EPICS_VERSION_SHORT and EPICS_VERSION_FULL to epicsVersion.h.

This uses more uniform names, should we change epicsVersion.h names?
We would continue to support the old names in parallel for some time.
2016-04-28 18:58:07 -05:00
Andrew Johnson
0e5dc2a21c More build parameters.
Renamed EPICS_TARGET_ARCH to EPICS_BUILD_TARGET_ARCH
Added EPICS_BUILD_OS_CLASS and EPICS_BUILD_COMPILER_CLASS
2016-04-28 18:56:03 -05:00
Andrew Johnson
230603f4ac Remove ARCH from cdCommands and envPaths files
Set it in iocshRegisterCommon() instead.
Remove ARCH from iocBoot/ioc/Makefile@Common templates.
2016-04-28 18:50:41 -05:00
Andrew Johnson
396ff3c484 Add EPICS_TARGET_ARCH parameter
Set its default value automatically in the generated envData.c
2016-04-28 18:49:10 -05:00
Andrew Johnson
09fbeaf6d3 Merged Ralph's new-promptgroups branch 2016-04-28 18:27:15 -05:00
Andrew Johnson
b4a8a1ac98 Fix dbFreeBase() issue causing segfaults 2016-04-28 18:10:26 -05:00
Andrew Johnson
ee87aecd6e Always have linker search INSTALL_LIB 2016-04-28 14:32:21 -05:00
Andrew Johnson
054a234c70 Parentheses in macro 2016-04-28 13:27:47 -05:00
Michael Davidsaver
a38dccfb1a add guard/release typedefs for epicsMutex 2016-04-28 09:20:13 -04:00
Michael Davidsaver
17edfd0652 use epicsMin/Max instead of tsMin/Max
Don't remove tsMinMax.h yet as it appeared
in caServerApp template.
2016-04-28 09:20:13 -04:00
Michael Davidsaver
afd48be98c drop unused tsBTree.h 2016-04-28 09:20:13 -04:00
Michael Davidsaver
d92af8c44d remove unused autoPtrDestroy.h 2016-04-28 09:20:13 -04:00
Michael Davidsaver
2af37d076d drop unused epicsOnce 2016-04-28 09:20:13 -04:00
Michael Davidsaver
64c1a28f69 remove unused locationException.h includes 2016-04-28 09:20:13 -04:00
Michael Davidsaver
954874dbd6 drop epicsMemory.h 2016-04-28 09:20:13 -04:00
Michael Davidsaver
673cb24fc2 replace use of epics_auto_ptr w/ eapt_array
add helpers for udpiiu to calculate parameters maxPeriod and nTimers,
allowing them to be const.
Add SearchArray to hold fixed-size array of auto_ptr.
2016-04-28 09:20:13 -04:00
Michael Davidsaver
05c347434b use auto_ptr instead of epics_auto_ptr where applicable 2016-04-28 09:20:13 -04:00
Andrew Johnson
13294f80cc Add basic support and tests for a JSON link address type 2016-04-27 20:47:17 -05:00
Andrew Johnson
778aa18c00 More cleanup 2016-04-27 20:29:16 -05:00
Andrew Johnson
24ddcd2524 Fix epicsTimeZoneTest.cpp => .c and remove conditional 2016-04-27 12:09:10 -05:00
Michael Davidsaver
2226f3acb9 libCom/test: don't include epicsTimeZoneTest for vxWorks 2016-04-27 12:45:18 -04:00
Andrew Johnson
f0f89b4b1c Fix file paths in comments 2016-04-27 10:28:57 -05:00
Andrew Johnson
fdda079b8f BSD's finite expects a double; make glibc 2.23 happy 2016-04-27 10:28:01 -05:00
Michael Davidsaver
55895e6d66 ellSort: comments and redundant asserts 2016-04-27 07:58:39 -04:00
Ralph Lange
1f36670175 dbStatic: remove obsolete GUIGROUPS_GBLSOURCE definition 2016-04-27 09:14:51 +02:00
Andrew Johnson
0348c2295b Cleanup 2016-04-26 22:13:12 -05:00
Michael Davidsaver
77d6609bbd fixup comments 2016-04-26 20:19:19 -04:00
Andrew Johnson
1ede873200 Fixed some space/tab issues in DBD files 2016-04-26 16:20:12 -05:00
Michael Davidsaver
51dd371784 rsrv: add rsrvCS_shutdown to avoid race in destroyAllChannels()
A race can occur between rsrv and cac by way of asLib
whereby casAccessRightsCB() is called after
a channel_in_use has been removed from
chanList/chanPendingUpdateARList.
casAccessRightsCB() would then attempt to remove
the node again, causing corruption.

Create a new rsrvCS_shutdown state when the
channel is not in either list.

Attempt to resolve lp:1571224
2016-04-26 17:06:22 -04:00
Andrew Johnson
72745d7b0c Only make runtests and tapfiles if T_A = EPICS_HOST_ARCH 2016-04-29 16:20:25 -05:00
Andrew Johnson
c933d77963 Add rule to install libraries before linking executables
The rule must be disabled for building libCom and gdd though.
2016-04-26 15:18:31 -05:00
Michael Davidsaver
b035bd9963 test ellSortStable 2016-04-26 13:57:22 -04:00
Michael Davidsaver
70fc52bca0 dbCreateRecord use ellSortStable()
sort records once per dbLoadCOM()
2016-04-26 13:57:22 -04:00
Michael Davidsaver
40d110fd7d ellSort 2016-04-26 13:56:57 -04:00
Michael Davidsaver
56d5a59356 dbScan: optimize addToList
Insert from back to maintain ~same order.
Avoid iterating entire list each time
in the common case where all PHAS==0
2016-04-26 13:56:57 -04:00
Michael Davidsaver
b392c1ca7d whitespace 2016-04-26 13:56:57 -04:00
Michael Davidsaver
93597e20d5 add epicsTimeZoneTest to libCom test harness 2016-04-26 09:59:22 -04:00
Michael Davidsaver
f0453faf36 libCom/test: add test for HST time zone
Test US/Hawaii zone which does not observe daylight saving time.
2016-04-26 09:28:09 -04:00
Ralph Lange
473992cfb9 Update release notes 2016-04-26 13:47:12 +02:00
Ralph Lange
6a362f467d rec: implement new promptgroup (gui_group) choices 2016-04-26 13:28:28 +02:00
Andrew Johnson
af07e0fd51 Fix oops in last commit 2016-04-25 12:24:05 -05:00
Andrew Johnson
de38b80795 Apply partial solution for Windows builds of Cap5 2016-04-25 11:54:17 -05:00
Ralph Lange
7bb27ad3e7 dbStatic: deprecate guigroup.h; remove from includes 2016-04-22 17:02:21 +02:00
Ralph Lange
1e1799c30e tools: change RE to allow any value for promptgroup in the Perl DBD parser 2016-04-18 09:56:41 +02:00
Andrew Johnson
79f1257f1d Merged commit 12739 from 3.15 branch = 12623 from 3.14 branch. 2016-04-15 17:41:26 -05:00
Andrew Johnson
8358580190 Merged commit 12623 from 3.14 branch. 2016-04-15 17:38:41 -05:00
Andrew Johnson
24e39b252d Print RTEMS version at startup 2016-04-15 17:37:07 -05:00
Ralph Lange
ce7044c711 dbStatic: collect promptgroup enum choices when reading dbd 2016-04-06 15:38:35 +02:00
Andrew Johnson
8a5d1a08ad Restore loadLink to lset, move CONSTANT link code into its own source file 2016-04-03 01:29:28 -05:00
Andrew Johnson
1e028d68d8 Move DBLINK support code into its own source file 2016-04-03 00:49:36 -05:00
Andrew Johnson
c888b4b6f0 Merged changes from 3.15 branch, to revno 12738 2016-03-30 12:39:36 -05:00
Andrew Johnson
177090e35e Merged fixes for lp:1558206 and lp:1563191 from 3.14 branch, revno 12622 2016-03-30 11:26:53 -05:00
Andrew Johnson
430da57a35 Release notes for lp:1563191 2016-03-30 11:00:48 -05:00
Andrew Johnson
d2d637d0c2 Prevent string overflow in recGblInitConstantLink() 2016-03-29 12:04:08 -05:00
Michael Davidsaver
106fae3b26 dbStatic: prevent overflow in dbPutString()
The bounds check should be before the string
copy.  Also zero the last element out of
paranoia (should already be zero).

Fix lp:1563191
2016-03-29 17:36:39 +09:00
Michael Davidsaver
7a1766279c dbLock: dbLockerAlloc() accept const array of non-const pointers 2016-03-24 13:42:49 -04:00
Andrew Johnson
cec0222c5a Merged Keenan Lang's iocsh-silent branch 2016-03-24 10:13:17 -05:00
Andrew Johnson
d33c402b00 Release Notes 2016-03-23 17:15:57 -05:00
Andrew Johnson
bc2a47b849 cvtFastPerform: Rename reserved member names, fix for vxWorks 2016-03-23 16:56:34 -05:00
Andrew Johnson
0a0b9a93a2 Simplify epicsConvertDoubleToFloat() 2016-03-22 18:14:12 -05:00
Andrew Johnson
d949e34c13 More cvtFastPerform changes
Added a converter using std::streambuf (slow!)
Pass buffer size to converters
Added verbose flag and # numbers to measure
Do the small number tests first
2016-03-22 17:47:03 -05:00
Andrew Johnson
db4f208659 Collate and report by precision 2016-03-22 01:01:51 -05:00
Keenan Lang
394820318c Getting branch up to date with trunk 2016-03-21 10:01:11 -05:00
Michael Davidsaver
45db78981c iocInit: no need to break DB_LINK when isolated
This is being done to free the link private struct,
but dbDbRemoveLink() is not used to avoid the overhead
of splitting every lockset just before the PDB
is free'd.

No reason to do this for non-isolated until scans threads
are stopped.
2016-03-20 09:43:40 -04:00
Michael Davidsaver
7d94d05bb7 iocInit: special clear link set in doCloseLinks() 2016-03-19 17:15:08 -04:00
Andrew Johnson
e82449171f Restructure cvtFastPerform, fix VxWorks build 2016-03-18 17:45:52 -05:00
Andrew Johnson
3179e65791 Clean-up after lp:1558206 fix 2016-03-16 18:15:14 -05:00
Michael Davidsaver
6b9bfb09a5 pWaitRelease in wrong place
waitRelease==false indicates that pThread
has not be delete'd
2016-03-16 17:43:52 -04:00
Michael Davidsaver
4e312b9f64 libCom: exitWait() from thread exit handler corrupts stack
The epicsThreadCallEntryPoint() function stores a pointer
to a local variable in epicsThread::pWaitReleaseFlag.
Calling epicsAtThreadExit::exitWait() from that thread's
epicsAtThreadExit() handler writes to this pointer
after epicsThreadCallEntryPoint() has returned.
Thus corrupting the stack.

Set pWaitReleaseFlag=NULL before return to prevent this.

fixes lp:1558206
2016-03-16 14:40:37 -04:00
Andrew Johnson
e7bba39737 Add int64 record types and device support, from long 2016-03-16 13:14:49 -05:00
Andrew Johnson
59fea64390 Add missing dependencies for Test.dbd files 2016-03-16 13:10:17 -05:00
Andrew Johnson
f97c1a345e Fix cvtFast and tests
We might still want to change the actual behaviour though,
see the FIXME comments.
2016-03-16 09:44:35 -05:00
Keenan Lang
5c93eb6049 Updated Changelog 2016-03-15 16:04:57 -05:00
Andrew Johnson
f260124733 Ensure mbb* MASK calculated properly 2016-03-10 13:05:00 -06:00
Keenan Lang
92bd217ade Updating example iocsh startup scripts 2016-03-07 14:38:59 -06:00
Keenan Lang
f0b5b52cef Whitespace 2016-03-07 14:14:33 -06:00
Keenan Lang
e0b578aff5 Eliminated @-sign echo disabling, replaced with ability to disable comment echoing with '#-' 2016-03-07 14:12:04 -06:00
Keenan Lang
0fd07d1632 Updated iocsh to allow user to select that lines from included scripts not be echoed. 2016-03-04 16:08:05 -06:00
Andrew Johnson
fbf6b6d3e5 The usual post-tag updates 2016-03-03 17:41:58 -06:00
Andrew Johnson
82042e270e CONFIG_BASE_VERSION for R3.16.0.1 2016-03-03 17:36:43 -06:00
Andrew Johnson
32c3f8a44f Merged reformatted Release Notes from 3.15, to revno 12735 2016-03-03 17:32:51 -06:00
Andrew Johnson
fc4f010972 Documentation updates for release 2016-03-03 17:19:50 -06:00
Andrew Johnson
bd2ada3f8c Reformat Release Notes slightly 2016-03-03 16:02:46 -06:00
Andrew Johnson
3d7e95b88a Debug print value of IF flags in default/osdNetIntf.c 2016-03-03 13:39:48 -06:00
Andrew Johnson
113076a009 Allow quotes in DBD argument strings 2016-03-03 11:19:22 -06:00
Andrew Johnson
8fea0117ae Clean up build rules, remove CapFast & dbst support 2016-03-02 14:20:53 -06:00
Andrew Johnson
8392106f59 Merged revno 12734 from 3.15 branch 2016-03-02 10:44:40 -06:00
Andrew Johnson
9502841b55 Silence unused variable warning 2016-03-02 10:41:34 -06:00
Michael Davidsaver
19680d7869 libCom/test: fixup epicsAtomicTest
Add testBasic to check basic op symantics.
Add anon namespace to hide symbols other than MAIN(epicsAtomicTest).
Replace using namespace with using for individual functions.
For RTEMS skip the tests using threads as the use of
RTEMS_NO_TIMESLICE prevents them from being meaningful
2016-03-01 10:57:26 -05:00
Michael Davidsaver
4a0ef34771 edit RELEASE_NOTES.html 2016-02-29 21:08:25 -05:00
Michael Davidsaver
5d42e60745 rec/test: asTest fixup rtems test harness
Since this test has device support it must appear in a
DLL for windows dynamic builds.
However, the rRDD function is in the executable,
and not accessible here.  So use iocsh.
For rtems/vxworks the test harness clears
iocsh registrations, so iocsh can't work here.
2016-02-29 20:43:40 -05:00
Michael Davidsaver
e01d4b14d6 rec/test: add missing TESTFILES 2016-02-29 20:37:25 -05:00
Andrew Johnson
791fa1310a Merge fixes from 3.15 branch, to revno 12733 2016-02-29 18:15:28 -06:00
Andrew Johnson
b4404c8266 Clean up Release Notes merge 2016-02-29 17:53:59 -06:00
Andrew Johnson
f73f3332fa Merge RTEMS NTP fix from 3.14 branch, to revno 12615 2016-02-29 17:49:08 -06:00
Andrew Johnson
3f4c6abb31 Fix for RTEMS NTP sync issue 2016-02-29 17:07:03 -06:00
Andrew Johnson
64cd49410e Make epicsMutex intialization use epicsThreadOnceId
Includes Michael's patch to replace calls to the epicsMutex API
from inside the libCom/osi/os/RTEMS/osdThread.c code.

Fixes lp:1542539
2016-02-29 16:22:43 -06:00
Andrew Johnson
0f6f833e91 Merged link-support branch 2016-02-29 13:48:18 -06:00
Andrew Johnson
c08df82898 Merged compress branch 2016-02-29 13:24:16 -06:00
Andrew Johnson
f0c56bcbba Merged 3.15 changes, to revno 12731 2016-02-26 18:16:26 -06:00
Andrew Johnson
76c422c5fd Merge Cygwin fix from 3.14, fix in rsrv too 2016-02-26 17:10:35 -06:00
Andrew Johnson
fee62836cd Use OS __CYGWIN__ macro, deprecate our CYGWIN32 2016-02-26 16:27:13 -06:00
Michael Davidsaver
2c48bcc26b dbChannelShow reporting detail level changed 2016-02-26 16:07:47 -05:00
Andrew Johnson
a3ab342833 Fix Release Notes for last commit 2016-02-26 14:22:00 -06:00
Andrew Johnson
3304470323 Merged the rsrvbindiface branch 2016-02-26 14:15:22 -06:00
Andrew Johnson
4f2f910d09 Added extern "C" wrappers to clean up some Solaris warnings 2016-02-26 13:50:39 -06:00
Andrew Johnson
217f515985 Merged fix-dbGet-arrays branch 2016-02-26 12:29:20 -06:00
Andrew Johnson
ebc59a4223 Add epicsAtomicTest to epicsRunLibComTests 2016-02-26 12:27:33 -06:00
Andrew Johnson
58285501de Revert, test programs may be included in harness without being run 2016-02-26 12:25:59 -06:00
Andrew Johnson
fa07bc3efe Added build files for cygwin to cross-compile linux-arm targets
Slightly strange combination and not actually tested, but could
be useful for some developers -- some FPGA tool-sets come with a
Cygwin cross-build environment for their target devices.
2016-02-26 11:19:37 -06:00
Michael Davidsaver
bfa8e324f7 remove dbChArrTest from testHarness
dbChArrTest calls iocInit() and so can't
be in the shared test harness
2016-02-25 21:10:42 -05:00
Michael Davidsaver
51a69862e7 ioc/db: single return for dbGet()
Single return path after call to prset->get_array_info
to ensure that paddr->pfield is restored.
2016-02-25 20:59:10 -05:00
Michael Davidsaver
4b8c11aeef memset transposed arguments 2016-02-25 20:08:44 -05:00
Andrew Johnson
62efa2e96a Fix the dbGet() array with field-log bug.
This also fixes a problem where the array is used in circular buffer
mode and the request has an offset, but the array is not actually
full at the time; to copy the data out of the array the convert()
routine needs to know the capacity of the array to know when to wrap
around, but we were passing it the current length instead.
2016-02-25 17:50:33 -06:00
Andrew Johnson
c7bcb09540 Add tests for dbGet() with db_field_log
Regression testing for a bug where an array field with a sub-array
channel filter can read past the end of the db_field_log array,
because in dbGet() the call to prset->get_array_info() occurs even
when pfl is supposed to be overriding the record's array.
2016-02-25 17:44:45 -06:00
Andrew Johnson
5ee778b0c2 Merged changes from Base-3.14, to revno 12613 2016-02-25 14:13:40 -06:00
Michael Davidsaver
7b3a040b34 rsrv: use SOCKERRNO
Must use OSI SOCKERRNO for correct handling
of errors w/ winsock
2016-02-25 11:32:56 -05:00
Andrew Johnson
e721be4ff5 Merged the posix-mlockall branch 2016-02-25 10:20:56 -06:00
Michael Davidsaver
88b47c021c cygwin inherits winsock broadcast behavior 2016-02-25 11:10:28 -05:00
Michael Davidsaver
d0a316f7ca win32: include ws2tcpip.h from osdSock.h
Needed to get some additional definitions
including IP_ADD_MEMBERSHIP
2016-02-25 11:02:09 -05:00
Ralph Lange
ba307ba6e7 rsrv: populate the server list - also on Windows builds 2016-02-25 09:36:31 +01:00
Andrew Johnson
d943f6966f Minor updates to the extensions/configure template 2016-02-24 17:39:29 -06:00
Andrew Johnson
76d7ce1f76 Fix MSVC (de)-optimizer issue 2016-02-24 15:06:59 -06:00
Andrew Johnson
66b0acbe3e Report UDP client status on Windows 2016-02-24 11:07:33 -06:00
Ralph Lange
822c6815c5 pcas: fix compilation on MSC Windows 2016-02-24 11:24:17 +01:00
Andrew Johnson
684ae7b35c Merged the fix-calc-bit-manipulation branch 2016-02-23 16:21:38 -06:00
Andrew Johnson
e18eca80db Changes from patch in lp:1539791 2016-02-23 15:43:26 -06:00
Andrew Johnson
b45622ac5e Test each bitwise cast individually for overflow 2016-02-23 12:42:00 -06:00
Andrew Johnson
89e6fdbca0 Fixed conversion overflows in tests
Minor tidying-up, added comments about casting for bitwise operations.
2016-02-19 15:57:44 -06:00
Ralph Lange
599e6635fb libCom/calc: fix bit31 bit manipulations 2016-02-18 15:19:01 +01:00
Ralph Lange
4241b4e6cb libCom/test: add calc tests for bit31 operators (lp:1514520) 2016-02-18 15:17:52 +01:00
Ralph Lange
9eedf0581e libCom/calc: Use epics(U)Int32 for all integer calculations
Adapted backport of 3.15 revision 12308
2016-02-18 14:44:43 +01:00
Michael Davidsaver
ffb23a3480 pcas: don't send beacons w/ connect()d socket
use sendto() and leave the origin field to 0.0.0.0
so it will be filled in by the receiving repeater
2016-02-16 16:28:04 -05:00
Michael Davidsaver
2be59e985d Avoid race in linkRetarget
Add dbCaSync() to avoid a race between a call to dbCaGetField()
and the link becoming connected.
2016-02-16 15:07:40 -05:00
Michael Davidsaver
b4fd19e7db libCom/test: remove test_debug from epicsStackTraceTest
No one will look at this output unless the test fails,
then more output is better.
2016-02-15 17:09:44 -05:00
Michael Davidsaver
969b1030b2 RTEMS: show PWD and nfsMount() args on start 2016-02-15 12:29:22 -05:00
Michael Davidsaver
84880e876d dbUnitTest: show PWD when database load fails 2016-02-15 12:29:22 -05:00
Michael Davidsaver
45a741ac6f libCom/RTEMS: ensure lookup of localhost on RTEMS
create /etc/hosts if it doesn't already exist
2016-02-15 12:29:06 -05:00
Michael Davidsaver
0575d3764f libCom/test: fixup RTEMS tests to run clean 2016-02-15 12:29:06 -05:00
Michael Davidsaver
48da96cce5 libCom/test: epicsMMIOTest missing test spec 2016-02-15 12:29:06 -05:00
Michael Davidsaver
18d863b918 db/test: missing/wrong .db file names 2016-02-15 12:06:10 -05:00
Andrew Johnson
61e61aab24 Use MS' strto[u]ll() if present 2016-02-12 15:15:19 -06:00
Andrew Johnson
d3e046a466 Document [s:e] and [s] filter usage 2016-02-12 14:20:33 -06:00
Andrew Johnson
f528f347cd Increase testMonitorWait() timeout 2016-02-12 11:33:54 -06:00
Andrew Johnson
ffed8910c0 Merged Michael's dbcadynamic branch 2016-02-12 10:22:47 -06:00
Andrew Johnson
99d331e50a Print timestamp with bad UDP msg errors 2016-02-11 14:36:48 -06:00
Andrew Johnson
0fb923186a Merged dbentrybuf branch 2016-02-10 14:27:38 -06:00
Andrew Johnson
ce500bc98c More indentation and other trivial cleanup 2016-02-10 14:03:52 -06:00
Andrew Johnson
6376ae8b1a Fixed some issues with indentation 2016-02-09 18:31:17 -06:00
Andrew Johnson
445c0ada8c Fix Windows problems from Valgrind merge. 2016-02-09 14:10:51 -06:00
Andrew Johnson
87759d1c1d Merged Michael's valgrind branch 2016-02-08 18:01:59 -06:00
Andrew Johnson
9d95528eba Show UDP name server status in casr 2+ output 2016-02-08 16:34:37 -06:00
Michael Davidsaver
95a1998e0b update release notes 2016-02-04 19:09:44 -05:00
Michael Davidsaver
5769db3862 rsrv: "casr 1" shows ignore list 2016-02-04 18:57:02 -05:00
Michael Davidsaver
00a74fbb4e libCom: fix debug print formats in osiSockDiscoverBroadcastAddresses() 2016-02-04 18:45:18 -05:00
Michael Davidsaver
03fde89dd4 rsrv: EPICS_CAS_IGNORE_ADDR_LIST 2016-02-04 18:44:33 -05:00
Michael Davidsaver
8421b46398 update release notes 2016-02-04 17:59:08 -05:00
Michael Davidsaver
650aaea203 ca: update CAref.html with changes to beacon address list
Note that server beacon address list will no longer
consider client address list as a fallback.
2016-02-04 17:56:31 -05:00
Michael Davidsaver
fcfe7ed312 pcas: no fallbacks for beacon address list
Don't mix client and server configuration
by defaulting the server beacon list to use
the client address list.
2016-02-04 17:39:28 -05:00
Andrew Johnson
f2c4b2c81e Add config for linux cross-compile to windows-x64-mingw 2016-02-04 15:57:23 -06:00
Michael Davidsaver
167dea3735 rsrv: decouple some client/server config
the automatic beacon address list should follow
the server interface address list, and not be
effected by any client config.

Also, don't populate the interface address list
from EPICS_CAS_BEACON_ADDR_LIST as this will
almost never contain local interface addresses.
2016-01-29 08:33:41 -05:00
Andrew Johnson
1c1eb030a9 Improve casr() output 2016-01-27 17:59:38 -06:00
Andrew Johnson
43cf5af621 dbQuietMacroWarnings control 2016-01-26 12:28:00 -06:00
Michael Davidsaver
235e4bd835 rsrv: more beacon address fixups
should really be based on *server* config
as beacons should be sent to clients attempting
to connect to the server.

By default send beacons to bcast addresses
from the interface address list.
2016-01-23 16:15:17 -05:00
Michael Davidsaver
601d6d9fe8 rsrv: oops
improper rebase
2016-01-23 13:53:44 -05:00
Michael Davidsaver
b961b25151 rsrv: fix wildcard check ordering
filter out mcast addresses before wildcard uniqueness check.
2016-01-23 13:53:44 -05:00
Michael Davidsaver
eb9246e4c9 rsrv: beaconCounter not updated 2016-01-21 17:14:23 -05:00
Andrew Johnson
d729006908 Fix build for vxWorks 5.5.2 (again) 2016-01-21 12:27:01 -06:00
Michael Davidsaver
0aeba281be update release notes 2016-01-21 13:05:56 -05:00
Michael Davidsaver
04fee51795 ipAddrToAsciiAsync.: don't try to join the daemon thread
This isn't really necessary and may unnecessarily delay
things (~10 sec. on Linux) if a query to an unreachable
DNS server is in progress.
2016-01-21 13:00:50 -05:00
Michael Davidsaver
cba449d53b pcas: listen for mcast search request 2016-01-21 12:17:02 -05:00
Michael Davidsaver
cdffcbfbae update release notes 2016-01-21 12:17:02 -05:00
Michael Davidsaver
ba5ea5da93 don't use EPICS_CA_ADDR_LIST for server interface list
keep existing behavior, and server binds wildcard
when only client address list is specified.
2016-01-21 12:17:02 -05:00
Michael Davidsaver
c884175a86 rsrv: loopback mcast beacons 2016-01-21 12:17:02 -05:00
Michael Davidsaver
a4e9dcff00 rsrv: fixup beacon address list handling
should be based on client interface list,
not server.
2016-01-21 12:17:02 -05:00
Michael Davidsaver
c9323da5e3 minor
fix typo
expand error message
skip redundant (and misleading) print of beacon address list
2016-01-21 12:17:02 -05:00
Andrew Johnson
ffe441d032 Fix build for vxWorks 5.5.2 2016-01-21 10:34:32 -06:00
Michael Davidsaver
6143520680 update release notes 2016-01-13 21:46:00 -05:00
Michael Davidsaver
f814398d77 std/rec/test: add compressTest
test circular buffer mode for FIFO and LIFO
2016-01-13 20:58:58 -05:00
Michael Davidsaver
d2e4fcbbac compressRecord: LIFO doesn't zero pad
Change handling of OFF so that reading a partially
populated buffer doesn't pad with zero.

Simplify put_value() and get_array_info()
2016-01-13 20:58:58 -05:00
Michael Davidsaver
4cca4673ca compress: copy some text from RRM wiki
Still a lot remaining.  No idea what to do about the images.
2016-01-13 20:58:58 -05:00
Michael Davidsaver
840da801fb std/filters: arr wrap on capacity not length 2016-01-13 20:58:58 -05:00
Michael Davidsaver
e75f44100e dbAccess: dbGet wrap at capacity count not valid count
Change the usage of rset::get_array_info in dbGet()
in the case that offset>0 and no_elements<max_elements.
Presently this results in an early wrap which corrupts
the last valid element in the result buffer
in the case that offset==1 and no_element==max_elements-1.

Should have no effect in other situations.
2016-01-13 20:58:58 -05:00
Ralph Lange
45c8a173f3 libCom/osi: fix timespec definition for MinGW 2016-01-13 17:28:23 +01:00
Michael Davidsaver
e227ae3590 update asTest
test dbGetString()
and fix cleanup order
2016-01-12 11:37:01 -05:00
Michael Davidsaver
ecedd9c362 Move dbGetStringNum() to dbStaticLib.c
use getpMessage() and keep it private
2016-01-12 11:36:58 -05:00
Michael Davidsaver
4e7b185977 update release notes 2016-01-12 10:13:10 -05:00
Michael Davidsaver
b74ecff2fc dbCa: set putnelements for scalar case
ensure that putnelements is kept in sync. w/ pputNative
2016-01-12 09:38:28 -05:00
Michael Davidsaver
1255e75828 db/test: missing coverage for dbGetLink w/ larger element count 2016-01-12 09:32:47 -05:00
Michael Davidsaver
d6eea14fd0 dbCa: dbCaGet/PutLink dynamic size
dbCaGetLink return actual number of elements w/o zero padding.
dbCaPutLink write only requested number of elements, w/o padding
2016-01-11 23:01:26 -05:00
Michael Davidsaver
98504d1cdc libca: enable mcast loopback 2016-01-11 20:59:08 -05:00
Michael Davidsaver
568ece9c27 rsrv: multicast name lookup 2016-01-11 20:59:08 -05:00
Michael Davidsaver
f876bdb42c rsrv: don't leak sockets when building tcp set 2016-01-11 20:59:08 -05:00
Michael Davidsaver
605074a580 rsrv: additional fallback for interface list 2016-01-11 20:59:08 -05:00
Michael Davidsaver
64da181e6f expand beacon address list when binding to wildcard 2016-01-11 20:59:08 -05:00
Michael Davidsaver
823613fb4f libca: addAddrToChannelAccessAddressList report success 2016-01-11 20:59:08 -05:00
Michael Davidsaver
f837add8c4 envDefs: add envGetBoolConfigParam 2016-01-11 20:59:08 -05:00
Michael Davidsaver
15307c4db6 rsrv: redo initialization to support bind multiple interfaces.
consolidate most setup tasks in rsrv_init(),
which now spawns threads directly.
For each interface create 3-4 sockets,

* TCP listener
* UDP receiver (unicast)
* UDP receiver (broadcast optional)
* UDP beacon sender
2016-01-11 20:59:07 -05:00
Michael Davidsaver
8d5815ac95 rsrv: move some from req_server to rsrv_init 2016-01-11 20:59:07 -05:00
Michael Davidsaver
25d7d46e08 rsrv: no lazy init of BUCKET 2016-01-11 20:59:07 -05:00
Michael Davidsaver
5f31d9d2b1 rsrv: unglobalize IOC_sock 2016-01-11 20:59:07 -05:00
Michael Davidsaver
bb67c9db2f rsrv: UDP listener on more than one iface 2016-01-11 20:59:07 -05:00
Michael Davidsaver
cb965611ce rsrv: casr show multiple UDP clients 2016-01-11 20:59:07 -05:00
Michael Davidsaver
e805abe971 libCom/osi: osiSockDiscoverBroadcastAddresses() finds 127.255.255.255
For the default implementation of osiSockDiscoverBroadcastAddresses()
allow the loopback interface to have IFF_BROADCAST set (usually isn't)
and on Linux assume that the loopback broadcast address is usable
even if IFF_BROADCAST isn't set.
2016-01-11 20:59:07 -05:00
Michael Davidsaver
c80f71e294 rsrv: more renaming 2016-01-11 20:59:07 -05:00
Michael Davidsaver
692bbafffe rsrv: placeholder for cast_server thread shutdown 2016-01-11 20:59:07 -05:00
Michael Davidsaver
fd863738be rename prsrv_cast_client in cast_server() 2016-01-11 20:59:07 -05:00
Michael Davidsaver
2052062324 remove global prsrv_cast_client 2016-01-11 20:59:07 -05:00
Michael Davidsaver
5d74216017 rsrv: unnecessary use of global 2016-01-11 20:59:07 -05:00
Michael Davidsaver
991ff308e0 rsrv: when binding to a specific interface also bind to iface bcast
An oddness of BSD sockets (not winsock) is that binding to
INADDR_ANY will receive unicast and broadcast, but binding to
a specific interface address receives only unicast.  The trick
is to bind a second socket to the interface broadcast address,
which will then receive only broadcasts.
2016-01-11 20:59:07 -05:00
Andrew Johnson
9779d6987c Merged Michael's dbunittestmonitor branch 2016-01-07 13:22:43 -06:00
Michael Davidsaver
b7c2815c21 linkRetargetLinkTest set number of tests 2016-01-07 14:08:51 -05:00
Michael Davidsaver
77a5f0db77 epicsMMIODef.h use static inline
'static inline' is necessary for consistent behavior with C and C++.
Plain 'inline' in C can result in multiply defined symbol
errors when linking.
2016-01-05 21:31:51 -05:00
Bjorklund, Eric A
8d6469957e vxWorks: missing extern "C" around sysPci* prototypes 2016-01-05 21:16:04 -05:00
Andrew Johnson
ef90d2d3c7 Merged Michael's tzwin32 branch 2016-01-05 17:17:58 -06:00
Michael Davidsaver
29d2b7f6a2 RTEMS: readline missing } 2015-12-28 16:36:58 -05:00
Michael Davidsaver
ef39f658cd dbStaticLib: dbGetString() fix spaces in link modifiers 2015-12-21 19:42:31 -05:00
Michael Davidsaver
e298fb4c27 dbStatic: avoid write past end of DBENTRY::message
Prevent long link strings (and maybe others)
from overflowing the fixed length string
buffer associated with each DBENTRY.
2015-12-21 18:56:39 -05:00
Michael Davidsaver
d94840ae6c std/filter: plugins cleanup freeList 2015-12-21 13:44:23 -05:00
Michael Davidsaver
c1f742e741 libCom: valgrind track taskwd freelist 2015-12-21 13:44:23 -05:00
Michael Davidsaver
6f0814108a libCom: all valgrind hooks to epicsMutex free-list 2015-12-21 13:44:23 -05:00
Michael Davidsaver
770d9ab313 freeListLib: instrument with valgrind 2015-12-21 13:44:23 -05:00
Michael Davidsaver
7e7cca6164 dbmf: instrument with valgrind 2015-12-21 13:44:23 -05:00
Michael Davidsaver
03bdf4effa include valgrind.h 2015-12-21 13:44:23 -05:00
Michael Davidsaver
3258927bab freeListLib: cleanup indent
all whitespace
2015-12-21 13:44:23 -05:00
Michael Davidsaver
a8e285067d dbmf: cleanup indent
whitespace only
2015-12-21 13:44:23 -05:00
Michael Davidsaver
2d9c529f5e osdTime: win32 use C89 localtime/gmtime
as recommended by Freddie Akeroyd
2015-12-21 11:15:04 -05:00
Michael Davidsaver
05d3dbf453 add epicsTimeZoneTest 2015-12-21 11:13:36 -05:00
Andrew Johnson
695f516cbf Fix softIoc build with space in path to Base
Also improved error messages from makeInstallDir.pl.
2015-12-10 13:26:21 -06:00
Ralph Lange
fda3824ab4 Set version back to -DEV, add "not released" to RELEASE_NOTES 2015-11-22 18:10:40 +01:00
Ralph Lange
42a67524e0 Update CONFIG_BASE_VERSION for 3.15.3, remove "not released" from RELEASE_NOTES 2015-11-22 17:54:12 +01:00
Ralph Lange
d4ed70154b doc: add reference to LP bug #1466129 to known problems page 2015-11-22 17:33:58 +01:00
Andrew Johnson
f776f6b422 Set Base version to -rc1-DEV 2015-10-26 14:31:25 -05:00
Ralph Lange
cd746a339f configure: update CONFIG_BASE_VERSION for 3.15.3-rc1 2015-10-26 17:22:37 +01:00
Ralph Lange
6438750615 tools: change builtin _USER_ macro name to avoid clashes with makeBaseApp 2015-10-26 13:41:46 +01:00
Andrew Johnson
b099ea2966 Clean up g++ unused-but-set-variable warning in pcas 2015-10-18 21:41:46 -05:00
Andrew Johnson
2ec5c80652 Fix internal anchor in filters.pod 2015-10-13 18:39:50 -05:00
Andrew Johnson
e1039bacfc Merged DB file parser fix from 3.14, revno 12605 2015-10-13 14:41:39 -05:00
Andrew Johnson
54381b7bf9 Fix DB file parser crashes 2015-10-13 12:03:32 -05:00
Andrew Johnson
69d3c94328 Set Base version to -pre1-DEV 2015-10-12 10:38:00 -05:00
Ralph Lange
a02860728e configure: update CONFIG_BASE_VERSION for 3.15.3-pre1 2015-10-12 10:35:30 +02:00
Ralph Lange
440ccc3c4a Merged Andrew's ntptime-on-vxworks branch 2015-10-11 12:04:16 +02:00
Ralph Lange
3d19f19d81 Merge Ralph's config-from-snippets branch 2015-10-11 09:59:39 +02:00
Andrew Johnson
214edd42d1 Minor RULES_EXPAND changes
Added support for a _PATTERN variable which calls $(wildcard) and
prepends .. and the other SRC_DIRS automatically.
Use $(ECHO) instead of @echo so make -s works silently.
Added another meta-rule to create .d files when make needs one.
2015-10-11 00:50:50 -05:00
Ralph Lange
f8b0b2f5f0 tools: add new builtin macros to assemblies 2015-10-10 19:12:11 +02:00
Ralph Lange
8596dc41f2 configure: add assemblies to RULES_EXPAND 2015-10-10 18:55:17 +02:00
Ralph Lange
88cb33a04d tools: fix in assembleSnippets script and test for Windows (getpwuid() not implemented) 2015-10-10 18:54:20 +02:00
Ralph Lange
5af0663058 Back out 12706 (assembly integration in build system) 2015-10-10 18:17:35 +02:00
Ralph Lange
830704021d Add creating config files from snippets to build system. 2015-10-09 17:28:46 +02:00
Ralph Lange
96ee2cd00c tools: install assembleSnippets.pl 2015-10-09 15:28:40 +02:00
Ralph Lange
c2d2f671bb tools: add -M option to assembleSnippets.pl (creates dependency file) 2015-10-09 14:15:26 +02:00
Ralph Lange
4b9958304d tools: add assembleSnippets.pl and test 2015-10-09 11:25:45 +02:00
Andrew Johnson
d0875f4f12 Make the NTPTime provider optional on VxWorks 2015-10-05 17:44:26 -05:00
Andrew Johnson
c4b128dfff Merged changes from 3.15 branch, to revno 12702 2015-09-18 18:13:58 -05:00
Andrew Johnson
c74eb27474 Merged changes from 3.14 branch, to revno 12604 2015-09-18 11:51:51 -05:00
Ralph Lange
a245c3805a ioc/db/test: fix Makefile to link against librt on Solaris and Linux only 2015-09-16 17:33:20 +02:00
Ralph Lange
5aa145920d rec: fix promptgroups for biRecord 2015-09-16 13:56:52 +02:00
Ralph Lange
122b9d3185 db/test: Link dbStressTest against librt on all targets (not just solaris)
man clock_gettime: "Link with -lrt (only for glibc versions before 2.17)."
2015-09-16 13:43:43 +02:00
Andrew Johnson
4081377c4b Build fixes for Solaris 2015-09-10 13:26:37 -05:00
Andrew Johnson
405f50533e Fix for linux-x86 2015-09-10 09:56:50 -05:00
Michael Davidsaver
8f0950288a dbChannelTest missing call to testdbPrepare() 2015-09-08 10:04:06 -04:00
Michael Davidsaver
3551513297 dbStressLock: attempt to fix solaris linking failure 2015-09-08 09:52:52 -04:00
Michael Davidsaver
fc775d76aa asTest: copy+paste error
Didn't remove all use of local variable
2015-09-07 15:37:46 -04:00
Michael Davidsaver
7195372caf release note for new locking 2015-09-07 15:23:04 -04:00
Michael Davidsaver
655735fa13 asTest: fix link with mingw
This test has device support, which the registerRDD script
always emits as dllimport, so it fails to link if the dsets
are part of the executable itself.

Use iocsh to avoid calling the RDD function directly since
a DLL can't link against functions in the main executable.
2015-09-07 15:06:02 -04:00
Michael Davidsaver
8aea808b1d libCom: cross mingw imports posix time.h by default
at least mingw 4.9.1 for Debian 8 i386 host.
2015-09-07 10:50:48 -04:00
Andrew Johnson
66e126bae8 Merged Micheal's lockopt branch 2015-09-06 23:15:21 -05:00
Andrew Johnson
8ce86bb061 Undefine LOCKSET_DEBUG & LOCKSET_NOFREE 2015-08-31 16:08:08 -05:00
Andrew Johnson
f2ff270644 Fix comment 2015-08-31 15:55:39 -05:00
Andrew Johnson
bc3cbd990f Applied Ambroz Bizjak's freeListItemsAvail.patch 2015-08-31 12:11:30 -05:00
Andrew Johnson
53bf7cd994 Applied Ambroz Bizjak's epicsSingletonMutex.patch 2015-08-31 11:54:04 -05:00
Andrew Johnson
a9c4d59537 Applied Ambroz Bizjak's timerQueueActive.patch 2015-08-31 11:52:32 -05:00
Andrew Johnson
895b415968 dbCaLinkTest fixes
* Attempt to fix Windows build failures
* Use C-style comments, not C++
2015-08-31 11:29:46 -05:00
Michael Davidsaver
87999c7047 dbLock: better error check when recursive locking attempted 2015-08-31 11:20:35 -04:00
Michael Davidsaver
9331ca3f44 dbLockTest: check additional recursive case 2015-08-31 11:17:34 -04:00
Andrew Johnson
1587c44d79 db/test: Add missing dependency 2015-08-28 15:19:23 -05:00
Michael Davidsaver
51f0a4509b std/rec/test: missing testdbPrepare() 2015-08-27 15:43:05 -04:00
Michael Davidsaver
94f00cb0c6 dbCa: more verbose error message in eventCallback 2015-08-27 12:44:50 -04:00
Robert Soliday
d32332d545 libCom/test: Fix for MSVS 2015 2015-08-27 11:34:41 -05:00
Michael Davidsaver
4544be090d std/rec/test: add linkRetargetLinkTest 2015-08-27 12:13:49 -04:00
Michael Davidsaver
15db30ba79 dbUnitTest: add testMonitor
Synchronize unittests by waiting for monitor updates
2015-08-27 13:46:22 -04:00
Andrew Johnson
cd79a7b53d dbCa: use dbf_type_to_DBR_TIME() macro 2015-08-27 10:30:42 -05:00
Michael Davidsaver
717d7ff4eb db/test: dbStressTest conditional TIME_STATS 2015-08-25 18:00:39 -04:00
Andrew Johnson
696e00eec9 Cleanup in callback.c 2015-08-24 12:18:23 -05:00
Andrew Johnson
a81d123ea5 Undo s/printf/errlogPrintf/ in iocsh commands 2015-08-24 11:26:25 -05:00
Andrew Johnson
f21fce0b42 Remove some unnecesary #includes 2015-08-24 10:47:51 -05:00
Andrew Johnson
6fffcf9985 Make dbLockTest work when LOCKSET_DEBUG undefined 2015-08-24 10:32:37 -05:00
Michael Davidsaver
d890c80961 dbLock: restore initialization of PV_LINK
PV_LINK -> DB_LINK must happen in doResolveLinks after add_record
2015-08-20 15:52:30 -04:00
Andrew Johnson
d49fc94314 Merge changes from 3.15 branch, to revno 12701 2015-08-20 11:24:07 -05:00
Andrew Johnson
88864e949b Merge changes from 3.14 branch, to revno 12599 2015-08-20 11:14:01 -05:00
Andrew Johnson
536c6e91ff Export private dbLock*Ref() functions for tests 2015-08-19 11:26:47 -05:00
Michael Davidsaver
35c07a958f libCom/osi: osiLocalAddr() missing free() 2015-08-19 07:28:53 -04:00
Ambroz Bizjak
67aa96b957 freeListItemsAvail.patch from lp:1479316 2015-08-18 15:51:38 -04:00
Michael Davidsaver
041423092f osdnetIntf.c cleanup indentation 2015-08-18 15:51:38 -04:00
Michael Davidsaver
869410d6f6 libCom/osi: osiLocalAddr() avoid race on initialization 2015-08-18 15:46:22 -04:00
Ambroz Bizjak
6862ef6580 timerQueueActive.patch from lp:1479316 2015-08-18 14:39:27 -04:00
Ambroz Bizjak
b6aea68304 epicsSingletonMutex.patch from lp:1479316 2015-08-18 14:38:18 -04:00
Michael Davidsaver
9d00978176 src/ca/client: no need to remove const 2015-08-18 14:33:44 -04:00
Ambroz Bizjak
b6fbea9610 repeaterSubscribeTimer.patch from lp:1479316 2015-08-18 14:24:10 -04:00
Michael Davidsaver
180f40c1f7 dbLock: fix unlock w/o lock during iocInit 2015-08-18 11:09:35 -04:00
Michael Davidsaver
d5832354e8 iocInit: Don't free LSET until scan tasks have stopped 2015-08-18 11:09:35 -04:00
Michael Davidsaver
44980a1dac dbContextReadNotifyCache: variable length for CAC gets 2015-08-18 10:46:20 -04:00
Michael Davidsaver
af1daea3e7 dbContext: local CA variable length 2015-08-18 10:46:20 -04:00
Michael Davidsaver
b2716f0a19 dbCa: subscribe to variable length arrays 2015-08-18 10:46:20 -04:00
Michael Davidsaver
050b9f9a48 ioc/db/test: dbChannelTest use dbUnitTest.h 2015-08-18 09:07:18 -04:00
Michael Davidsaver
4ab6aa79e3 ioc/db/test: fixup arrShorthandTest to use dbUnitTest 2015-08-18 09:07:18 -04:00
Michael Davidsaver
1e39224836 dbCa: simplify shutdown
Don't need partial shutdown case anymore.
Also avoid race when destorying startStopEvent
2015-08-18 09:07:18 -04:00
Michael Davidsaver
f99fbe1964 move dbCaShutdown earlier
shutdown dbCa thread before free'ing records
2015-08-18 09:07:18 -04:00
Michael Davidsaver
aa04941119 ioc/db/test: wrong variable for -I 2015-08-18 09:07:18 -04:00
Andrew Johnson
46853d6862 Clean up compiler warnings 2015-08-16 17:43:10 -05:00
Andrew Johnson
fe4f607e63 libCom/errlog: Don't store stderr in pvtData.console
Some VxWorks BSPs close the stderr stream that the shell running
the startup script created and open a new one for the interactive
shell. This change makes pvtData.console==NULL mean use stderr
instead of storing the stderr value in pvtData.console at init.
2015-08-13 10:44:52 -05:00
Michael Davidsaver
02ac91aa2a epicsReadline: ensure readline context is zero'd
Otherwise ->osd != NULL for the default RTEMS readline impl
2015-08-12 10:17:31 -05:00
Andrew Johnson
9e82a96700 dbTest: Remove special ENUM handling from dbpf()
This was preventing the value check in cvt_st_menu() from working.
2015-08-10 15:04:11 -05:00
Andrew Johnson
ef7399159c dbAccess: Make dbPut() always do special processing after put
If the value gets rejected by a put to SCAN, we must still call
dbPutSpecial() to add the record back onto its old scan thread.
2015-08-10 15:03:48 -05:00
Andrew Johnson
d7b3293ba3 libCom: Use MSVC's struct timespec when available 2015-08-07 09:41:48 -05:00
Andrew Johnson
9014ca899d dbStatic: Fix invalid memory read 2015-07-30 11:57:50 -05:00
Andrew Johnson
f1b403b59a Merged calinktest branch 2015-07-28 14:22:06 -05:00
Andrew Johnson
877a409de1 Fix podToHtml build issue on Windows 2015-07-24 15:59:38 -05:00
Andrew Johnson
7395d1d88d Make dbCa routines macros to dbLink wrappers 2015-07-24 14:06:45 -05:00
Andrew Johnson
4d3831ce58 Merged changes from 3.15 branch to revno 12699 2015-07-24 12:01:53 -05:00
Andrew Johnson
c5130468cd Let dbdToHtml work with wrong newlines 2015-07-24 10:42:09 -05:00
Andrew Johnson
7dd067e887 Merged dbCa bug-fix from 3.14 branch, revno 12595 2015-07-23 18:02:54 -05:00
Andrew Johnson
c56091978c db: Fixed obscure dbCa bug
This could be triggered if dbCaRemoveLink() is called on a link for
which there is an outstanding dbCaPutCallback().

Normally a dbCaPutCallback() callback routine is passed the associated
userPvt pointer as an argument, but in the event that dbCaRemoveLink()
gets used on the same link between the put and its completion callback,
the callback routine was being called with the link pointer as the
argument instead.

For all the existing Asyn Soft Channel device supports this is not a
problem as they all pass the link pointer as their userPvt argument, but
that won't necessarily always be the case.

Also updated the comments describing the process of removing links.
2015-07-23 17:57:30 -05:00
Andrew Johnson
2f8e6bf17e Fix smoothing for Nan/Inf values in devAiSoftCallback 2015-07-23 13:05:38 -05:00
Andrew Johnson
144281e0a3 Removed extraneous .db file 2015-07-23 12:34:05 -05:00
Andrew Johnson
83c2414ad0 Merged changes from 3.14 branch to revno 12594 2015-07-23 10:13:07 -05:00
Andrew Johnson
1d99ad6cfc Move closer to having pluggable link types.
All link types now have a plink->precord pointer.
Add link support entry tables for const, DB and CA link types.
Route all link I/O options through the new plink->lset.
2015-07-22 14:56:48 -05:00
Andrew Johnson
bd4d8ec26b Merged lockopt branch 2015-08-21 22:44:11 -05:00
Michael Davidsaver
504665bf09 iocInit: move dbCaShutdown earlier
Switch dbCaShutdown from an exit hook to
be called from iocShutdown.  Place it
after callback shutdown.
2015-07-21 19:08:07 -04:00
Michael Davidsaver
1411522a11 dbCa: only add dbCaExit once 2015-07-21 15:53:37 -04:00
Andrew Johnson
ae3d3904d9 Fix minor locking issue in dbEvent.c 2015-07-17 18:09:14 -05:00
Andrew Johnson
002bafdf07 Add testHarnessDone 2015-07-17 18:06:58 -05:00
Michael Davidsaver
8bfa40d858 dbScan: avoid race on shutdown 2015-07-16 17:05:41 -04:00
Michael Davidsaver
138e2f1ad5 callback: fix race on shutdown
epicsEventDestory() in the main thread could be called
before epicsEventTrigger() completes in the worker.
2015-07-16 17:05:41 -04:00
Andrew Johnson
a5e1f367d6 Merged cbshutdown changes from 3.15 branch, revno 12690 2015-07-16 11:54:40 -05:00
Michael Davidsaver
fefe6fd1fc Fix shutdown issues with scan and callback.
The main reason for this merge proposal is the change to "public" API functions.

Use atomic counter to resolve data race on threadsRunning in callback.

Split up callbackShutdown() and scanShutdown() into two phases *Stop() and
*Cleanup(). The *Stop() functions signal worker threads, and wait for them to
exit. The *Cleanup() functions actually reclaim global resources.

These two mechanisms have couplings which are quite complex. I/O Intr scans
involve both scan lists and callbacks.
2015-07-16 11:48:29 -05:00
Michael Davidsaver
eb31fcedeb iocInit: dbCa shutdown order 2015-07-13 17:51:46 -04:00
Michael Davidsaver
dd6edb103c scanIoTest: set # of tests 2015-07-13 17:51:46 -04:00
Andrew Johnson
50e6a305b1 Merged changes from 3.15 branch to revno 12689 2015-07-13 13:42:10 -05:00
Andrew Johnson
5eb49ebaf0 Merged changes from 3.14 branch to revno 12590 2015-07-13 13:05:33 -05:00
Andrew Johnson
58602cfa80 Clean up in src/ioc/db/test/scanIoTest.c 2015-07-10 16:22:31 -05:00
Andrew Johnson
1e68f3899d Merged gen-vcs-version branch 2015-07-10 14:02:01 -05:00
Michael Davidsaver
8b3d37d392 genVersionHeader: work with git repo w/o tags
--always is necessary for (new) repositories w/o any tags.
--abbrev=20 to get more than the default 7 characters of the hash
2015-07-10 14:19:44 -04:00
Andrew Johnson
ed4bcd831f Update example template, release notes
Changed device support to use the long string input rectype.
Moved the device registration into its own file.
Used _APPNAME_ more, trying to prevent future name clashes.
2015-07-10 12:28:49 -05:00
Andrew Johnson
837111296e Updates to build rules and genVersionHeader.pl script
Added -q (quiet) flag, renamed INSTALL_QUIETLY build variable.
Moved GENVERSION variables into normal locations.
Changed from :: rule to : rule with FORCE dependency.
Removed use of --git-dir, only works when CWD is TOP.
Simplified some parts, more perlish.
Added VCS used to generated output file.
Expanded on the -v (verbose) output.
2015-07-10 12:09:37 -05:00
Michael Davidsaver
9198428619 dbLock: minor
must match following condition
2015-07-09 17:16:39 -04:00
Michael Davidsaver
8f3fcc2787 dbLock: fix initialization of self links
initPVLinks() doesn't correctly handle case where a record links
to itself.  This results it being added twice to lockRecordList,
which corrupts the list count, and the lockset ref. counter.

The error appears in dbLockCleanupRecords() when not all
locksets are free'd.
2015-07-09 17:07:49 -04:00
Kukhee Kim
a308fb7c1e fill zeros into buffer when BALG is changed to LIFO from FIFO. 2015-07-09 13:34:37 -07:00
Andrew Johnson
60823bd2fb Some edits to the Perl script 2015-07-08 16:46:34 -05:00
Andrew Johnson
d0790c3060 Merged epicsTime-status branch 2015-07-08 10:54:28 -05:00
Andrew Johnson
9f0d34656a Remove old libCom HTML files 2015-07-06 11:27:03 -05:00
Andrew Johnson
f6cdbe2693 tools: Support for DB files, added dbExpand.pl 2015-07-06 11:26:35 -05:00
Andrew Johnson
625172419e libCom: Make epicsReadline behave the same on Darwin 2015-07-01 12:00:42 -05:00
Andrew Johnson
80343363a4 configure: Include RULES_FILE_TYPE earlier
From Benjamin Franksen:

There is one remaining problem with the order of includes in the build
rules for 3.14.12.5: configure/RULES_BUILD includes RULES_FILE_TYPE
(which in turn includes the cfg/RULES* from modules in the RELEASE file)
*after* including RULES.Db and RULES_JAVA. This makes it impossible to
override (pattern) rules in one of these files. Instead,
$(CONFIG)/RULES_FILE_TYPE should be included first.
2015-07-01 11:30:02 -05:00
Andrew Johnson
444b89f557 libCom: Make readline support clean up on epicsExit() 2015-06-30 14:08:32 -05:00
Andrew Johnson
3a54e97758 libCom: epicsReadline refactoring 2015-06-29 17:45:18 -05:00
Andrew Johnson
fa1ddeeb1b Removed the last vestiges of RSET::get_value() 2015-06-23 18:04:33 -05:00
Andrew Johnson
ca46bf70b7 Fixes to attribute handling in dbStaticLib
From Peter Leban of i-tech (Libera)
2015-06-23 17:06:54 -05:00
Andrew Johnson
c0e2a44365 Register dbPutAttribute with iocsh 2015-06-23 17:04:37 -05:00
Andrew Johnson
84c3ec7c64 db: Correct DBF_CHAR range in recGbl.c
Seems invisible, but spotted by Lawrence T. Prevatte III.
2015-06-23 15:51:00 -05:00
Andrew Johnson
65e781d58a db: Fix off-by-one error in initHookName()
Thanks to Lawrence T. Prevatte III for noticing that.
2015-06-23 14:46:29 -05:00
Andrew Johnson
a613a96ad3 libCom: Fix routine name in error message 2015-06-18 10:56:43 -05:00
Andrew Johnson
155017bf09 Removed references to VxWorks 5.x 2015-06-09 15:36:28 -05:00
Andrew Johnson
961dc450c4 Merged changes from 3.15 branch up to Revno 12686 2015-06-05 13:48:57 -05:00
Ralph Lange
fbd2d4dd31 dbStatic: fix buffer overrun in printing functions by extending the local buffer accordingly 2015-06-05 11:10:10 +02:00
Andrew Johnson
53d01f6fb4 Show how to make time providers backwards-compatible 2015-06-03 00:15:39 -05:00
Michael Davidsaver
7fd4ac5a67 update template
use waveform as long string
use app. name in header and macro name
2015-06-01 19:19:24 -04:00
Michael Davidsaver
1240f09797 genVersionHeader: update HG, add SVN and BZR
Update the HG case to use --cwd to avoid dependence on shell syntax.
2015-06-01 19:19:24 -04:00
Michael Davidsaver
7947807e09 fix typo 2015-05-18 21:46:01 -04:00
Andrew Johnson
2c28d4b69e Merged Lewis Muir's CAref ToC update
Also added some entries for a couple of missing ca_sg routines.
2015-05-15 10:41:19 -05:00
Andrew Johnson
9946681f72 Update version numbers in documentation for 3.15.3 2015-05-15 10:06:06 -05:00
Ralph Lange
196baac7da documentation: put back red "not released yet" header to RELEASE_NOTES 2015-05-15 14:05:59 +02:00
Ralph Lange
ce93142fe1 configure: set version snapshot back to -DEV 2015-05-15 13:50:14 +02:00
Ralph Lange
e7b20537b9 configure: update CONFIG_BASE_VERSION for 3.15.2 (2nd time for tag move) 2015-05-15 13:47:33 +02:00
Ralph Lange
42a8e61832 documentation: remove red "not released yet" header from RELEASE_NOTES 2015-05-15 13:36:42 +02:00
J. Lewis Muir
5d61a512d1 doc: add ca_put_callback to CA ref man func call interface index
The ca_put_callback function is not listed in the CA Reference Manual's
function call interface index; add it.
2015-05-14 16:23:23 -05:00
Ralph Lange
37e1feac12 configure: set version snapshot back to -DEV 2015-05-14 14:16:53 +02:00
Ralph Lange
3090561b5e configure: update CONFIG_BASE_VERSION for 3.15.2 2015-05-14 14:09:28 +02:00
Ralph Lange
1849b9f4ab Update KnownProblems to new version, add Windows parallel build issue 2015-05-14 14:08:18 +02:00
Ralph Lange
2bf58d3187 Update ReleaseChecklist to new version. 2015-05-14 14:06:47 +02:00
Andrew Johnson
2f6fad0cc3 Fixing and/or investigating Cygwin issues 2015-05-01 11:38:54 -05:00
Andrew Johnson
f384232864 Merged Cygwin fix from 3.14 branch, revno 12584 2015-04-29 14:21:40 -05:00
Andrew Johnson
33b9fba00b Fix for latest Cygwin 2015-04-29 14:01:07 -05:00
Ralph Lange
b7b9e2a79b configure: set version snapshot to -rc1-DEV 2015-04-29 14:20:18 +02:00
Ralph Lange
6de155e97a configure: update CONFIG_BASE_VERSION for 3.15.2-rc1 2015-04-29 13:58:56 +02:00
Andrew Johnson
1f73716d5c Adjust linux-x86 & -x86_64 flags
Moved -m64 from ARCH_DEP_*FLAGS to OP_SYS_*FLAGS where it is on -x86.
Added GNU_TUNE_CFLAGS to -x86_64, adjust related comments
Added -D_FILE_OFFSET_BITS=64 to -x86 builds
2015-04-28 11:27:06 -05:00
Andrew Johnson
3a7cb33234 Fixed some build issues in db/test 2015-04-22 18:01:20 -05:00
Andrew Johnson
6b6eb5ff6a Merged fix from 3.15 branch, up to revno 12671 2015-04-22 16:54:30 -05:00
Andrew Johnson
2774b4c4af Fix type problem with local CA channels
This commit fixes a problem introduced in Bazaar commit 12658.
Local CA channels were seeing the data type of a channel as an
IOC-specific (dbFldTypes.h) type value instead of the CA type
value from db_access.h.

We introduce a pair of dbChannel*CAType() macros which convert
the dbChannel's dbr_field_type and final_type values into the
CA equivalent type values, and use these macros whenever the
CA encoded field type value is needed. This ensures that the
meaning of the dbChannel member fields never changes (in 3.14
the addr.dbr_field_type was overwritten with the converted
value when connected to by rsrv).
2015-04-22 16:51:31 -05:00
Andrew Johnson
e4f336de94 Perl style fixes, document more Perl programs 2015-04-21 15:09:24 -05:00
Andrew Johnson
fa23ba8a6a Merged changes from 3.15 branch up to revno 12670 2015-04-16 18:12:59 -05:00
Ralph Lange
bcf47ac663 gdd: fix 64 bit warnings using explicit casts for strlen() results 2015-04-16 14:05:33 +02:00
Ralph Lange
da93312b79 configure: fix Windows builds - don't use static link to create DLL stub 2015-04-16 10:55:14 +02:00
Andrew Johnson
ee8bf98f94 Generate documentation from Perl modules
Add rules to generate HTML from POD in Perl modules and scripts.
Generate docs from several EPICS/ Perl modules.
2015-04-15 18:01:26 -05:00
Andrew Johnson
874087f454 Update some version numbers in documentation 2015-04-14 17:58:33 -05:00
Andrew Johnson
a6d3c4f792 Document -D option to msi 2015-04-14 17:57:10 -05:00
Ralph Lange
f168a0f612 configure: set version snapshot to -pre1-DEV 2015-04-14 11:04:27 +02:00
Ralph Lange
5c3032059c configure: update CONFIG_BASE_VERSION for 3.15.2-pre1 2015-04-14 10:14:29 +02:00
Andrew Johnson
76205e5c58 Add podRemove.pl script
Use this to generate .dbd files from .dbd.pod files
so installed *Record.dbd files don't have the
dbdCommon.dbd file expanded out.

Fixes lp:1417428
2015-04-13 10:36:13 -05:00
Ralph Lange
09fab352b0 dbstatic: raise link field length limit to 256 by bumping internal buffer size 2015-04-13 17:13:09 +02:00
Andrew Johnson
30b8872150 Merged changes from 3.15 branch, to revno 12662 2015-04-09 16:13:54 -05:00
Andrew Johnson
2a0356c84f Merged fix to ReadNotifyCache buffer size issue from 3.14 branch 2015-04-09 15:53:16 -05:00
Michael Davidsaver
7a8266c419 ioc/db/test: ensure dbCaLinkTest tests dbContextReadNotifyCacheAllocator
Read the same size twice to ensure that a cached buffer is reused
2015-04-09 14:55:56 -04:00
Michael Davidsaver
b082e7d1e8 dbContextReadNotify: Improper handling of array size changes
Issue diagnosed and reported by Ambroz Bizjak.

The dbContextReadNotifyCacheAllocator allocator clears
its cache of free buffers on an array size change.
But doesn't consider buffer already in use, which
will later be free'd.  Such buffers were being
returned to the cache, then reused in allocations
for which they are too short.

Track the size of buffers which are in use.
Only return buffers with the present length
to the cache.  Others are free'd immediately.
2015-04-09 14:39:24 -04:00
Michael Davidsaver
0c16937a5a ioc/db/test: extend dbCaLinkTest to check CAC get operation 2015-04-09 14:36:14 -04:00
Michael Davidsaver
ad6f55d92f dbStatic: always clear parser tempList
Warn if tempList is not empty when it should be
2015-04-08 18:37:12 -04:00
Michael Davidsaver
e852de64ff dbStatic: fix leak in parser
"% cdef" not free'd
2015-04-02 18:58:15 -04:00
Michael Davidsaver
f72ebb9fb9 dbmf: add flag to disable freelist 2015-04-02 18:58:15 -04:00
Andrew Johnson
198dedba93 Move section divider comment in RULES_BUILD 2015-03-30 11:19:07 -05:00
Andrew Johnson
ffcbd4ca8b Merge changes from 3.14.12.5 (revno 12582) 2015-03-25 12:53:13 -05:00
Andrew Johnson
0a1cf17681 Trivial spacing changes in RELEASE_NOTES 2015-03-25 11:25:09 -05:00
Michael Davidsaver
6ac1e050bd dbCa: missing inc. ref. when scan requests are queued
Missing caLinkInc() in scanComplete() drops ref.
2015-03-24 18:44:28 -04:00
Michael Davidsaver
ff4c88ed05 dbLock: comments 2015-03-24 14:18:11 -04:00
Michael Davidsaver
7a5d4cf6cc dbLock: minor 2015-03-24 14:18:11 -04:00
Michael Davidsaver
765fb7c63e dbLock: remove some unnecessary code
no need to hold spinlock for lockRecordList
the lockRecordList is protected by the lockSet::lock
2015-03-24 14:18:11 -04:00
Michael Davidsaver
fa4678798c iocInit: remove no-op
The work which was done here is moved to dbCloseLinks()
2015-03-24 14:18:11 -04:00
Michael Davidsaver
127bdfd9aa dbLock: comments 2015-03-24 14:18:11 -04:00
Michael Davidsaver
8fea2f5ae6 dbLock: default build options
Enable extra debugging.
Disable lockSet free list.
Enable recomputeCnt optimization
2015-03-24 14:18:11 -04:00
Michael Davidsaver
07bb2fbef7 dbLock: no c++ comments in c code 2015-03-24 14:18:11 -04:00
Michael Davidsaver
58a8a07cc4 dbAccess.c: dbLocker needs at most two refs 2015-03-24 14:18:11 -04:00
Michael Davidsaver
a78abd0070 dbLock: describe build options 2015-03-24 14:18:11 -04:00
Michael Davidsaver
c26b02c20d dbCaTest: adjust locking in dbcar() 2015-03-24 14:18:11 -04:00
Michael Davidsaver
ee297dc558 dbLock: use new backref tracking 2015-03-24 14:18:11 -04:00
Michael Davidsaver
8ce0ba1e54 dbLink: backward link tracking 2015-03-24 14:18:11 -04:00
Michael Davidsaver
b8a7da18d2 iocInit: links now initialized in dbLockInitRecords() 2015-03-24 14:18:11 -04:00
Michael Davidsaver
8af3ffb653 dbAccess: multi-locking in dbPutFieldLink
Use new locking API in dbPutFieldLink()
Adjust dbAddLink() and dbRemoveLink()
to pass a dbLocker* through to lockSet merge/split
2015-03-24 14:18:11 -04:00
Michael Davidsaver
ffd188bea3 dbLockTest and dbStressLock 2015-03-24 14:14:46 -04:00
Michael Davidsaver
af89b716f4 dbLock: multi-locking
new API to lock 2 or more lockSets simultaneously
removes global locks for dbScanLock() only
one global lock for debugging/freelist
Introduce dbLockPvt.h for internal API
2015-03-24 14:14:46 -04:00
Michael Davidsaver
adcde46e9e populate RDES early 2015-03-24 14:12:00 -04:00
Andrew Johnson
22768b2bb3 Set SNAPSHOT back to -DEV 2015-03-24 10:08:56 -05:00
Andrew Johnson
dc61957963 Set SNAPSHOT for R3.14.12.5 2015-03-24 09:57:35 -05:00
Janet Anderson
583108e42a Set version number to R3.14.12.5. 2015-03-24 08:50:39 -05:00
Andrew Johnson
9470830091 catools: Fix printing -ve DBF_LONG values on 64-bit 2015-03-23 15:59:11 -05:00
Andrew Johnson
e84e7b930f Release notes for ao-convert changes 2015-03-20 17:05:16 -05:00
Andrew Johnson
f498b36438 Prevent overflows in ao value conversion.
Also makes ROFF fields unsigned, needed for ROFF=0x80000000
2015-03-20 16:34:14 -05:00
Michael Davidsaver
c9d889ef3e asTest: quiet 2015-03-19 11:26:48 -04:00
Andrew Johnson
490540b005 Merged from 3.14 branch up to revno 12575 2015-03-19 10:22:15 -05:00
Andrew Johnson
d927afe257 Make including cfg/CONFIG* files unconditional 2015-03-19 10:18:23 -05:00
Andrew Johnson
8344b4ed79 Merged changes from 3.15 up to revno 12658 2015-03-18 17:01:34 -05:00
Andrew Johnson
eaef9aabdf Fix export type of .LINK$ fields, add tests 2015-03-18 16:48:07 -05:00
Andrew Johnson
1fd91f52e2 dbStatic: Add field type lookup routines 2015-03-18 16:34:07 -05:00
Andrew Johnson
f994944531 libCom/posix: Remove pthread_setcanceltype() 2015-03-18 11:36:06 -05:00
Michael Davidsaver
3a647fb38b iocInit: prepareLinks after autosave pass0
Allow autosave to restore link fields again...
2015-03-17 19:13:33 -04:00
Michael Davidsaver
8bf765365f std/rec/test: add asTest to RTEMS test harness 2015-03-17 15:26:08 -04:00
Michael Davidsaver
e7037cc519 dbStatic: fix CONSTANT links
constantStr==NULL and constantStr=="" have different
meanings for recGblInitConstantLink() which is used with DOL.
constantStr should remain NULL unless explicitly set
by either initial("") or field(..., "")
2015-03-17 11:34:36 -04:00
Michael Davidsaver
0d41dd0113 std/rec/test: add asTest 2015-03-16 18:47:58 -04:00
Michael Davidsaver
52fc47dec5 start dbCaLinkTest 2015-03-13 15:24:07 -04:00
Michael Davidsaver
e73ed24631 db/test: copy arrRecord from std/filters/test 2015-03-13 15:24:07 -04:00
Michael Davidsaver
40cb21df9f std/filters/test: add input link to arrRecord 2015-03-13 15:24:07 -04:00
Michael Davidsaver
40d4d608ed std/filters/test: add simple processing callback to arrRecord 2015-03-13 15:24:07 -04:00
Michael Davidsaver
77efc973da iocInit: free PPNR 2015-03-13 15:24:07 -04:00
Michael Davidsaver
3e8ba7d7cf dbCa: enable unittests 2015-03-13 15:24:07 -04:00
Michael Davidsaver
a7a87372aa dbNotify: cleanup freelist 2015-03-13 15:24:07 -04:00
Michael Davidsaver
a014314384 db/test: add simple processing callback to xRecord 2015-03-13 15:24:07 -04:00
Michael Davidsaver
8ef1e0d177 re-write scanIoTest 2015-03-13 15:24:07 -04:00
Michael Davidsaver
b9cbf7a3ac Add xRecord device support 2015-03-13 15:24:06 -04:00
Michael Davidsaver
4bd4b93649 dbCa: update comments on locking 2015-03-13 15:15:03 -04:00
Michael Davidsaver
c120027768 dbCa: fix race in scanComplete
Use a reference counter in caLink to ensure it isn't
free'd while callbacks remain in the scanOnce queue.
2015-03-13 15:15:03 -04:00
Andrew Johnson
e1b2a0c5a3 Merged changes from 3.14 branch up to revno 12573 2015-03-13 11:50:26 -05:00
Andrew Johnson
5ffda58351 ca: Fix missing guard argument 2015-03-13 11:08:05 -05:00
Andrew Johnson
f6373093a5 Fix Windows linkage warning in alarmString.h 2015-03-13 10:56:03 -05:00
Andrew Johnson
8215244a28 Fix Windows time discontinuity report 2015-03-13 10:06:23 -05:00
Andrew Johnson
cc3a01d460 Merged changes from 3.15 branch up to revno 12655 2015-03-11 17:20:40 -05:00
Andrew Johnson
99f1dbb75e Merged changes from 3.14 branch up to revno 12570 2015-03-11 16:26:15 -05:00
Andrew Johnson
9577615bba Merged changes from 3.14 branch up to revno 12564 2015-03-11 16:08:29 -05:00
Andrew Johnson
de298da94c Fix Jenkins instability on Windows 2015-03-11 10:53:37 -05:00
Andrew Johnson
753bfcc579 Check sender threads are starting 2015-03-10 18:14:11 -05:00
Andrew Johnson
4568cd3616 Chasing Jenkins instability on Windows 2015-03-10 14:17:28 -05:00
Andrew Johnson
1cacb8ef72 Make TOP an absolute path when running test programs
If the test starts an IOC, the registerRecordDeviceDriver
routine will compare the absolute path of TOP at build time
against the environment variable value (normally relative)
and print a warning if they differ.
This change cleans up the .tap output from such tests.
2015-03-10 13:04:15 -05:00
Michael Davidsaver
fb7273046c epicsAtomic: also prevent vxWorks from using posix/epicsAtomicOSD.cpp 2015-03-10 10:39:37 -04:00
Michael Davidsaver
5bbd954ec8 epicsAtomic: fix noop OSDs
Ensure that all are epicsAtomicOSD.cpp and use
no-op to prevent RTEMS from using the posix
implementation.
2015-03-09 21:27:49 -04:00
Michael Davidsaver
6bf3f5554f epicsAtomic: fix function def. order
epicsAtomicMemoryBarrierFallback used before definition
2015-03-09 19:48:30 -04:00
Andrew Johnson
e0f97a9215 Set testPlan in dbCaStatsTest.c 2015-03-09 18:07:13 -05:00
Andrew Johnson
a3793c368a Merged changes from 3.14 branch up to revno 12561 2015-03-09 17:59:08 -05:00
Andrew Johnson
dad5b1cc94 Merged Michael's fixatomiclinkage branch 2015-03-09 17:43:44 -05:00
Andrew Johnson
e75ec5f85b Set snapshot to -rc1-DEV 2015-03-09 14:33:17 -05:00
Andrew Johnson
657f726527 Fix FIND_TOOL 2015-03-09 14:24:44 -05:00
Janet Anderson
0f0a8cbbe5 Set version to 3.14.12.5-rc1 2015-03-09 12:34:42 -05:00
Andrew Johnson
84e74d0924 Fix 'Can't find convertRelease.pl' problem 2015-03-09 11:33:50 -05:00
Andrew Johnson
74c6e81752 Fixed HDEPENDS_MKMFFLAGS 2015-03-08 15:26:07 -05:00
Andrew Johnson
2a6714fd03 configure: Cosmetic changes only, comments & spacing. 2015-03-06 18:14:59 -06:00
Andrew Johnson
5610b07068 configure: Support for cfg/TOP_RULES* and cfg/DIR_RULES*
Idea and initial implementation from Benjamin Franksen,
I added the DIR_RULES and ACTIONS support.
Reverses the order in which cfg/CONFIG* files are included.
2015-03-06 17:43:26 -06:00
Andrew Johnson
20155602fc Renamed the record test harness routine
Now named epicsRunRecordTests and as such it
matches the other test harness routines.
2015-03-05 14:50:42 -06:00
Andrew Johnson
d26654674c Fix the RTEMS override of the ECHO variable 2015-03-03 11:53:23 -06:00
Benjamin Franksen
5f638805dd Improved "Installing ..." messages in RULES.Db 2015-03-03 11:47:37 -06:00
Benjamin Franksen
bc52c8e374 Fixed RELEASE_PERL_MODULE_DIRS 2015-03-03 11:45:23 -06:00
Andrew Johnson
f6067a3949 Merged changes from 3.14 branch up to revno 12557 2015-03-03 11:35:46 -06:00
Andrew Johnson
8a85cea75e Merged revno 12549 from 3.14 branch 2015-03-03 11:21:09 -06:00
Andrew Johnson
c3cef8b295 Merged changes from 3.14 branch up to revno 12548 2015-03-02 17:55:15 -06:00
Andrew Johnson
573d06d71d Merged revno 12546 from 3.14 branch (no changes) 2015-03-02 17:53:17 -06:00
Andrew Johnson
0f6cce2bd1 Merged changes from 3.14 branch up to revno 12545 2015-03-02 17:52:15 -06:00
Andrew Johnson
61438b4e7e Fix Windows builds 2015-03-02 15:04:09 -06:00
Andrew Johnson
d432fb3115 Fix Darwin build 2015-03-02 14:22:25 -06:00
Andrew Johnson
02a105e5ab Merged changes from 3.14 branch up to revno 12540 2015-03-02 11:43:20 -06:00
Andrew Johnson
e8c9783e06 Merged changes from 3.14 branch up to revno 12530 2015-03-02 10:35:35 -06:00
Andrew Johnson
510e477087 Merged revno 12527 from 3.14 branch (no changes) 2015-03-02 10:06:48 -06:00
Andrew Johnson
fb1a0c2b1e Clean up g++ warnings in repeater.cpp 2015-02-28 20:20:56 -06:00
Andrew Johnson
92b4d8e48d Merged changes from 3.14 branch up to revno 12526 2015-02-27 18:11:37 -06:00
Andrew Johnson
b8da39d46b Merged revno 12517 from 3.14 branch (no changes) 2015-02-27 17:52:07 -06:00
Andrew Johnson
b745dbff10 Merged changes from 3.14 branch up to revno 12516 2015-02-27 17:47:55 -06:00
Michael Davidsaver
89596fc308 Fix typo in epicsAtomicTest.cpp testClassify() 2015-02-27 17:29:11 -05:00
Michael Davidsaver
73dcc2745f Fix for Solaris C++ compiler 2015-02-27 17:29:11 -05:00
Michael Davidsaver
332fd550ad epicsAtomic: RTEMS ISR safe impl. for epicsAtomicLock() 2015-02-27 17:29:11 -05:00
Michael Davidsaver
214c9003a9 epicsAtomicTest: include some information about build conditions
Give some idea which implementations are being used
2015-02-27 17:29:11 -05:00
Michael Davidsaver
0d4519eb54 epicsAtomic: fix C linkage
With gcc -std=gnu99 (present default) functions qualified
with plain 'inline' emit strong public symbols (nm says 'T')
in every compilation unit the definition appears.
This causes linking to fail in all cases where executable
are statically linked, and many where dynamic linking is used.
2015-02-27 17:29:11 -05:00
Michael Davidsaver
84e9ff3bc5 libCom/test: Add epicsInlineTest 2015-02-27 17:29:10 -05:00
Michael Davidsaver
b3bfac3f16 add EPICS_ALWAYS_INLINE 2015-02-27 17:29:10 -05:00
Andrew Johnson
2378d465d1 Update supported targets lists in CONFIG_SITE 2015-02-27 16:07:07 -06:00
Janet Anderson
2799f1cf3f Fixed incorrect comment lines 2015-02-26 13:26:56 -06:00
Janet Anderson
91c8ba592d Added directory change comment for Older Xcode 2015-02-26 13:24:29 -06:00
Andrew Johnson
004e7237c3 Snapshot to -pre1-DEV 2015-02-25 16:24:28 -06:00
Andrew Johnson
d53521f160 Set version to 3.14.12.5-pre1 2015-02-25 16:23:05 -06:00
Andrew Johnson
12793d3313 Cosmetic changes in configure/os 2015-02-25 12:02:34 -06:00
Andrew Johnson
65d39fcbc8 Moved linux-arm cross-build link-time settings 2015-02-24 16:51:59 -06:00
Andrew Johnson
b7baa2504e Only build Cap5.so for the host architecture 2015-02-24 16:23:14 -06:00
Andrew Johnson
4a0880003c Support MinGW cross-builds on linux-x86 and x86_64 2015-02-24 14:30:42 -06:00
Andrew Johnson
d06b1a178a Applied Added-configure-files-for-linux-arm-debug.patch 2015-02-23 14:12:39 -06:00
Andrew Johnson
2bae36845e Adjust a few CONFIG_SITE files, mostly comments 2015-02-23 13:30:45 -06:00
Andrew Johnson
2d7a8a4aee Pull blockingSockTest.cpp from 3.15 2015-02-20 16:35:47 -06:00
Andrew Johnson
3601a73b77 Applied rtems-use-macro-for-BIN2BOOT.patch 2015-02-20 15:42:14 -06:00
Andrew Johnson
335cba0049 Applied rtems-mvme5500-needs-libbspExt.patch 2015-02-20 15:35:59 -06:00
Andrew Johnson
0f2d6eac9b Applied rtems-build-gesys-loadable-objects.patch 2015-02-20 15:34:57 -06:00
Andrew Johnson
88314d0374 Release notes for CMD_ variables 2015-02-20 15:24:29 -06:00
Andrew Johnson
4658a88584 Allow compiler flags from command line
The following variables are reserved for use from the
GNUmake command line:
  CMD_INCLUDES
  CMD_CPPFLAGS
  CMD_CFLAGS
  CMD_CXXFLAGS
  CMD_LDFLAGS
  CMD_DBFLAGS
  CMD_DBDFLAGS
  CMD_ARFLAGS

For example:
  make CMD_INCLUDES=/opt/local/include CMD_LDFLAGS=-L/opt/local/lib
2015-02-20 14:48:05 -06:00
Andrew Johnson
4cf3613ace Applied missing-header.patch 2015-02-20 12:38:26 -06:00
Andrew Johnson
0fa8702842 Applied test-epicsTimerQueue-reference-counter.patch 2015-02-20 12:34:53 -06:00
Andrew Johnson
a437768c9c Applied linux-runtime-disable-RT-priorities-if-not-supported.patch 2015-02-20 12:25:28 -06:00
Andrew Johnson
a6af0daae9 Applied linux-use-RT-thread-priorities.patch 2015-02-20 12:21:45 -06:00
Andrew Johnson
3e6597be90 Applied record-support-santity-check.patch 2015-02-20 12:13:05 -06:00
Michael Davidsaver
06beb2cafb dbCaTest: use dbCaIsLinkConnected() instead of inspecting caLink* 2015-02-20 12:14:23 -05:00
Michael Davidsaver
c0cf25eeee dbCa: dbCaPutLinkCallback initialize entire array
CA links will write the full target array size.
Ensure that uninitialized elements are zeroed.
2015-02-19 19:18:27 -05:00
Michael Davidsaver
3501fda48d dbCa: dbCaPutLinkCallback prevent out of bounds write
The internal buffer of the caLink is sized based on the
number of elements of the destination PV.
2015-02-19 19:18:16 -05:00
Andrew Johnson
e822d8d8c4 Suppress corrupt error output from dbStatic parser
The yyerror() routine gets called twice in some cases.
Don't print the yytext or input file location the second
time through -- yytext has already been freed, and the
user doesn't need to see the location twice.

Fixes lp:1422803
2015-02-19 17:33:27 -06:00
Andrew Johnson
9813fa6474 db: Allow link fields to return a DOUBLE value
A dbCa link does a ca_get with type DBR_CTRL_DOUBLE
to populate its list of attribute values immediately
after connecting. If the target is a DBF_*LINK field
it used to return an error, preventing the link from
properly connecting. This change makes dbGetField()
return a single NAN value instead of rejecting the
request.

Fixes: lp:545358
2015-02-19 15:55:48 -06:00
Andrew Johnson
b1e99f6f1a Merged Lewis Muir's readme-fixes branch 2015-02-18 17:11:51 -06:00
J. Lewis Muir
836d81f0b7 doc: HTML: fix typos and list of files in documentation directory 2015-02-18 16:55:09 -06:00
Andrew Johnson
804aeafaa7 Fix dbVerify()'s postfix buffer size 2015-02-18 16:44:07 -06:00
Andrew Johnson
dda4eb3a58 Fix more MS idiocy
Windows has signed characters, but if you pass a negative
value (i.e. a character with value >= 0x80) into the debug
version of its isprint() runtime library function it asserts.
2015-02-18 16:36:42 -06:00
J. Lewis Muir
b041041518 doc: fix typos and list of files in documentation directory 2015-02-18 15:46:05 -06:00
Michael Davidsaver
be06b37b42 dbPutLinkTest: don't use variadic macros
MSVC doesn't seem to support them correctly
2015-02-18 10:47:42 -05:00
Andrew Johnson
d2a216b28e More MS Windows-x64 test fixes 2015-02-17 16:21:13 -06:00
Michael Davidsaver
a526d0eb04 dbPutLinkTest: attempt MSVC workaround
Apparently MSVC doesn't play well with variadic macros.
2015-02-17 16:57:20 -05:00
Andrew Johnson
7e36a58f1e Back-ported dbLoadRecordsHook from the 3.15 branch 2015-02-17 14:29:20 -06:00
Andrew Johnson
cd228ccf0e Merged dbscan-update branch 2015-02-17 14:12:38 -06:00
Andrew Johnson
f16bdb0c83 Merged trap-write-data branch 2015-02-17 14:02:15 -06:00
Andrew Johnson
681a996bf0 Unifying rsrv error messages 2015-02-17 13:59:13 -06:00
Michael Davidsaver
bbbf05414d dbScan: rename scanOnce3 to scanOnceCallback 2015-02-17 11:31:05 -05:00
Michael Davidsaver
276ea54ee4 don't destroy locked mutex 2015-02-17 11:03:06 -05:00
Michael Davidsaver
2623c2f46f dbStaticLib.c: clean pdbbase after free 2015-02-17 11:01:49 -05:00
Michael Davidsaver
b996e63beb dbReadTest.c: flush errlog on exit as per lp:1419879 2015-02-17 10:57:05 -05:00
Michael Davidsaver
2f0e9172a4 tool_lib.c: ensure output string is always set
Ensure that val2str always writes to its output buffer,
which is static and shared between all PVs.
Should make bugs like lp:1418526 more obvious.
2015-02-17 10:45:30 -05:00
Andrew Johnson
c5ded30684 Extended asTrapWrite to provide put data
Backwards-compatible enhancement to the asTrapWrite API to provide
listener routines with the data being put by the client.
The asTrapWriteMessage structure is extended with 3 new fields
for data type, element count and a pointer to the source buffer.

Tim Mooney requested this enhancement for his caPutRecorder code,
which doesn't work if the record overwrites the new value within
its process() routine, e.g. when jogging a motor record.
2015-02-16 16:30:52 -06:00
Andrew Johnson
2e4d8b31ff Mark windows-x64 Math failures as TODO 2015-02-13 15:56:50 -06:00
Andrew Johnson
26d60bc516 Attempt to fix Windows test failures
epicsMessageQueue test wasn't printing the last test result.
2015-02-13 15:29:08 -06:00
Andrew Johnson
f874913cf7 Fix epicsExceptionTest on darwin
Clang's optimizer seems to elide the new (nothrow) if we don't
actually observe the value of p...
2015-02-13 12:17:24 -06:00
Andrew Johnson
26ab431c0a Back-ported the tapfiles build target from 3.15
This is the version that works on Windows.
2015-02-13 11:16:24 -06:00
Andrew Johnson
02aa7e2f73 Stop bogus error messages from CA Repeater on Windows
Required adding a new API to osiSock.h and the 2
implementations of epicsSocketConvertErrnoToString.
2015-02-10 18:10:33 -06:00
Andrew Johnson
7fe5f2f3a3 Another order-only prerequisite 2015-02-06 10:22:55 -06:00
Andrew Johnson
727a3af59d Merged Richard Fearn's caget-lb-zero-fix branch
... after some modification.
2015-02-05 11:19:30 -06:00
Richard Fearn
1a094f5971 catools: make caget -lb output '0' instead of empty string for zero value 2015-02-05 11:53:33 +01:00
Andrew Johnson
971a819446 Use order-only prerequisites for include files
This prevents unnecessary recompilations when an include
file gets regenerated.
2015-02-04 16:28:23 -06:00
Andrew Johnson
d7d45beedd Merged changes from 3.15 branch, revno 12629 2015-02-04 11:48:08 -06:00
Andrew Johnson
9316233ba2 Merged changes from 3.14 branch, revno 12514 2015-02-04 11:43:23 -06:00
Andrew Johnson
d9060d85eb Make .t files depend on /makeTestfile.pl 2015-02-04 11:39:26 -06:00
Andrew Johnson
fb960e5fc4 Fix "make tapfiles" on Windows 2015-02-04 11:04:40 -06:00
Andrew Johnson
4b0a4ffee2 Build configuration for iOS 2015-02-04 10:11:14 -06:00
Andrew Johnson
a7ad9a1256 Merged Michael's link-parsing branch 2015-02-03 00:38:23 -06:00
Andrew Johnson
c91725d3a4 Linux flag changes to remove glibc 2.20 warnings
Replace _BSD_SOURCE and other flags with _GNU_SOURCE and _DEFAULT_SOURCE
2015-01-30 16:12:42 -06:00
Ralph Lange
6a9eccdec1 gdd: fix issue when copying from an emtpy array
if the source array is empty, the index of the first element to copy (0) being equal
   to the source array size (0) does not constitute an out-of-bounds condition
2015-01-29 14:36:55 +01:00
Michael Davidsaver
92641e9160 dbCaStatsTest: set # of tests 2015-01-05 17:45:00 -05:00
Michael Davidsaver
368223f783 db/test: devExtend() only during pass 0 2015-01-05 17:43:45 -05:00
Michael Davidsaver
85e21863dc dbStaticLib: set pdbbase=NULL after freeing 2015-01-05 17:43:17 -05:00
Michael Davidsaver
b9b8cde5f6 dbScan: avoid mustAlloc in eventNameToHandle()
Can already return NULL for other error conditions
2015-01-05 16:26:48 -05:00
Michael Davidsaver
6d7a0327e0 dbScanTest: start with test of scanOnce3() 2015-01-05 16:26:47 -05:00
Michael Davidsaver
d897c9b686 dbCa: use scanOnce3() to prevent once queue overflow
Prevent CP links to high rate records from
overflowing the once queue.
2015-01-05 16:26:47 -05:00
Michael Davidsaver
ff14d811a7 dbCaPvt.h: normalize indentation 2015-01-05 16:26:47 -05:00
Michael Davidsaver
2ba2b90b06 dbScan: add scanOnce3() w/ completion callback 2015-01-05 16:26:47 -05:00
Michael Davidsaver
7d50f62aed dbScan: allow direct scan of I/O Intr list
add scanIoImmediate() to allow drivers to implement
I/O Intr scanning without the overhead of maintaining
their own scan lists.
2015-01-05 16:26:47 -05:00
Michael Davidsaver
4518e8fa7f dbLink: re-intorduce struct lset and dbDb_lset"
without initLink, addLink, and loadLink
2014-12-29 18:16:26 -05:00
Andrew Johnson
e06b0a87b2 Merged changes from upstream 2014-12-23 12:21:37 -06:00
Andrew Johnson
8705a42a39 Merged fixes from 3.14 branch.
Added new link_field_name() function to dbLink.c, needed to
be able to print the link field name.
2014-12-23 12:01:35 -06:00
Andrew Johnson
2b950754c4 Fix FLNK-over-CA error message 2014-12-23 10:35:09 -06:00
Andrew Johnson
07c8b67549 Add missing DLLSTUB dependency rules 2014-12-11 14:56:31 -06:00
Andrew Johnson
36850cf677 Remove trailing ; from dbGetSevr macro 2014-12-11 13:56:15 -06:00
Andrew Johnson
5b6dce2681 Fix Windows builds
The windows shell doesn't like commands that start ../
Those commands are all found using TOOLS, so by making that
an absolute path we fix that problem.
However GNUmake doesn't recognize targets with relative paths
as being the same as their absolute path, so we have to fix up
some places that were using TOOLS in dependencies.
2014-12-10 17:40:40 -06:00
Andrew Johnson
e886022343 Deprecate and remove all uses of PATH_FILTER 2014-12-10 13:35:15 -06:00
Andrew Johnson
d1481b23d9 Use msi for dependency rules generation
Added -D command, modified RULES.Db to use it.
2014-12-10 12:09:34 -06:00
Andrew Johnson
846d55dac5 Build support for 64-bit iPhone Simulator
From Tom Palaia.
2014-12-04 14:05:44 -06:00
Ralph Lange
db0fbf9f73 .bzrignore: add wildcard for suppressing QtCreator project files 2014-12-03 15:11:30 +01:00
Andrew Johnson
c16c4590ec Replace epicsTimeERROR with specific error status values
Introduced error status values for epicsTime routines.
The epicsTimeERROR identifier no longer exists, so code that uses it will
no longer compile (deliberately). Replace all uses of it with a specific
error status value.
2014-12-02 15:25:09 -06:00
Andrew Johnson
b3ad20dec7 Merge perlbin fix from 3.14 2014-12-02 11:35:27 -06:00
Andrew Johnson
0f23784b32 Tweak to callback API. 2014-12-02 11:30:37 -06:00
Andrew Johnson
24d39ae79d Merge perlbin fix from 3.14. 2014-12-02 11:16:18 -06:00
Andrew Johnson
c1d33e614c Fix non-OS Perl xsubpp issue
This should be the right fix.
Also cleaned up compile warnings from Clang in the cap5 build.
2014-12-02 11:03:16 -06:00
Andrew Johnson
42a3cf8e11 Set version numbers for 3.16.0.0-DEV 2014-12-01 15:31:18 -06:00
Andrew Johnson
73c40f052e Set version snapshot back to -DEV 2014-12-01 15:13:48 -06:00
Michael Davidsaver
79497c359c add release note 2014-08-29 11:05:56 -07:00
Michael Davidsaver
75321140ef update example template 2014-08-29 10:58:18 -07:00
Michael Davidsaver
95d0d97f6a more consistent macro names 2014-08-29 10:58:18 -07:00
Michael Davidsaver
e24d4637c9 genVersionHeader: use date+time as the default version number 2014-08-29 09:56:32 -07:00
Kukhee Kim
e5b354708e Implement LIFO behavior in compress record 2014-08-28 12:11:51 -07:00
Michael Davidsaver
bc9255ba1c add version header to example template 2014-08-28 10:38:24 -07:00
Michael Davidsaver
3f462bd032 check errors 2014-08-27 17:24:44 -07:00
Ralph Lange
6a018dce35 tools: Add support for Darcs to genVersionHeader.pl 2014-08-27 11:06:57 -07:00
Ralph Lange
55cf45364c tools: Make genVersionHeader.pl log more detailed and streamlined with other EPICS build output 2014-08-27 11:03:54 -07:00
Andrew Johnson
4a5a675ef8 Remove development printf() statements 2014-08-24 23:48:32 -05:00
Michael Davidsaver
3885c809a6 introduce genVersionHeader.pl 2014-08-22 15:23:51 -04:00
Michael Davidsaver
5847f98f89 oops 2014-08-01 13:55:33 -04:00
Michael Davidsaver
6ed997aacc Invalid HW links no longer partially initialized 2014-08-01 11:28:10 -04:00
Michael Davidsaver
5a8915c051 INST_IO no longer accept invalid string as empty 2014-08-01 11:28:10 -04:00
Michael Davidsaver
a919d7e09d dbLink: pass DBADDR* to dbAddLink()
Now we know whether a DB or CA link is created
before calling dbAddLink().
2014-08-01 11:28:10 -04:00
Michael Davidsaver
c5da1e3f89 dbAccess: update dbPutFieldLink() to use dbParseLink()/dbSetLink()
Now returns early for invalid link strings w/o modifying the
field, or detaching device support.
2014-08-01 11:28:10 -04:00
Michael Davidsaver
33804bd7ea iocInit: initialize links in iocBuild
Done before any driver, record, or device supports run.
Also before the hooks used by autosave.
2014-08-01 11:28:10 -04:00
Michael Davidsaver
200355bc00 dbStatic: re-write dbPutString() to use new link parsing
dbPutString() now has two behaviors.  If link_type==CONSTANT
and constantStr==NULL, the link has not yet been initialized.
Just set the ->text field.

If the link has been initialized, then use dbSetLink() to
make the assignment.

Eliminate special handling for DBF_DEVICE.
2014-08-01 11:28:10 -04:00
Michael Davidsaver
480797c0e0 db/test: extend dbPutLinkTest to cover dbParseLink() 2014-08-01 11:28:10 -04:00
Michael Davidsaver
470a9f9fc9 Introduce struct dbLinkInfo and dbParseLink()
This structure holds the processed form of any link type.
It is populated by dbParseLink(), which can be called w/o
record locking.

dbCanSetLink() checks the the parsed link, and a DBLINK field
have compatible types for assignment.
Record locking is required, but this does not modify the field.

dbSetLink() makes the actual assignment.
2014-08-01 11:28:10 -04:00
Michael Davidsaver
99626f03cd dbLink: remove struct lset and dbDb_lset
unnecessary exposure of internal API
2014-08-01 11:28:10 -04:00
Michael Davidsaver
8c60e7e2cb track INP/OUT field in struct dbFldDes
avoid string comparisons
2014-08-01 11:28:10 -04:00
Andrew Johnson
2d4243981f Fix warnings found by clang 2014-07-12 01:12:08 -05:00
Andrew Johnson
2fb0b0763d Implement 64-bit database field types.
Incorporates major reworking of the dbConvert.c file.
if the 64-bit stuff gets rejected most of that should
get pulled in anyway.
2014-07-10 18:13:28 -05:00
Michael Davidsaver
428268a71e rsrv: avoid strlen() on possible unterminated strings
Detect these w/o risk of SIGSEGV
2014-01-11 10:59:57 -05:00
Michael Davidsaver
746c739769 add epicsStrnLen()
Base currently requires only POSIX 2001 while
strnlen() is part of POSIX 2008.
2014-01-11 10:58:39 -05:00
1211 changed files with 40249 additions and 21324 deletions

View File

@@ -1,9 +0,0 @@
./bin
./lib
./db
./dbd
./html
./include
./templates
**/O.*
./QtC-*

14
.gitignore vendored Normal file
View File

@@ -0,0 +1,14 @@
/cfg/
/bin/
/lib/
/db/
/dbd/
/html/
/include/
/templates/
/configure/*.local
O.*/
/QtC-*
*.orig
*.log
.*.swp

32
.travis.yml Normal file
View File

@@ -0,0 +1,32 @@
sudo: false
dist: trusty
language: c
compiler:
- gcc
env:
- CMPLR=gcc
- CMPLR=gcc EXTRA=CMD_CXXFLAGS=-std=c++11
- CMPLR=gcc STATIC=YES
- CMPLR=clang
- CMPLR=clang STATIC=YES
- WINE=32 TEST=NO STATIC=YES
- WINE=32 TEST=NO STATIC=NO
- RTEMS=4.10 TEST=NO
- RTEMS=4.9 TEST=NO
addons:
apt:
packages:
- libreadline6-dev
- libncurses5-dev
- perl
- clang
- g++-mingw-w64-i686
- bison
- flex
- texinfo
- install-info
cache:
directories:
- $HOME/.cache
install: sh ci/travis-prepare.sh </dev/null
script: sh ci/travis-build.sh </dev/null

View File

@@ -6,9 +6,6 @@
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
#
# $Revision-Id$
#
TOP = .
include $(TOP)/configure/CONFIG

10
README
View File

@@ -2,14 +2,14 @@
EPICS Base - the central core of a control system toolkit
---------------------------------------------------------
Copyright (c) 1991-2003 The University of Chicago, as Operator
of Argonne National Laboratory.
Copyright UChicago Argonne LLC, as Operator of Argonne
National Laboratory.
Copyright (c) 1991-2003 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 in the
file LICENSE that is included with this distribution.
EPICS Base is distributed subject to a Software License
Agreement found in the file LICENSE that is included with
this distribution.
---------------------------------------------------------

86
appveyor.yml Normal file
View File

@@ -0,0 +1,86 @@
# AppVeyor configuration for EPICS Base
# Ralph Lange <ralph.lange@gmx.de>
# Copyright (c) 2016-2017 ITER Organization
# Version format
version: base-{branch}-{build}
#---------------------------------#
# 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: 2
# Skipping commits affecting only specific files
skip_commits:
files:
- 'documentation/*'
- 'templates/*'
- '**/*.html'
- '**/*.md'
#---------------------------------#
# build matrix configuration #
#---------------------------------#
# Build Configurations: dll/static, regular/debug
configuration:
- dynamic
- static
- dynamic-debug
- static-debug
# Environment variables: compiler toolchain
environment:
matrix:
- TOOLCHAIN: 9.0
- TOOLCHAIN: 10.0
- TOOLCHAIN: 11.0
- TOOLCHAIN: 12.0
- TOOLCHAIN: 14.0
- TOOLCHAIN: cygwin
- TOOLCHAIN: mingw
# Platform: architecture
platform:
- x86
- x64
# Matrix configuration: allow specific failing jobs
matrix:
exclude:
# VS Express installs don't have the 64 bit compiler
- platform: x64
TOOLCHAIN: 9.0
- platform: x64
TOOLCHAIN: 10.0
#---------------------------------#
# building & testing #
#---------------------------------#
install:
- cmd: ci/appveyor-prepare.bat
build_script:
- cmd: ci/appveyor-make.bat
test_script:
- cmd: ci/appveyor-make.bat runtests
#---------------------------------#
# notifications #
#---------------------------------#
notifications:
- provider: Slack
incoming_webhook:
secure: RYOm3FIUYeZGjWKaeTVKwq+C3fzK54AKwbmAoECED45mex3lN+8HmrC845a6mg9xPUJ/ND51RopWVaKDD9/UzaM0SO195RQLKqUTIUafiuM=

118
ci/appveyor-make.bat Normal file
View File

@@ -0,0 +1,118 @@
:: Universal build script for AppVeyor (https://ci.appveyor.com/)
:: Environment:
:: TOOLCHAIN - toolchain version [9.0/10.0/11.0/12.0/14.0/cygwin/mingw]
:: CONFIGURATION - determines EPICS build [dynamic/static]
:: PLATFORM - architecture [x86/x64]
::
:: All command line args are passed to make
Setlocal EnableDelayedExpansion
set "ST="
if /i "%CONFIGURATION%"=="static" set ST=-static
set OS=64BIT
if "%PLATFORM%"=="x86" set OS=32BIT
echo [INFO] Platform: %OS%
:: Use parallel make, except for 3.14
set "MAKEARGS=-j2 -Otarget"
if "%APPVEYOR_REPO_BRANCH%"=="3.14" set MAKEARGS=
if "%TOOLCHAIN%"=="cygwin" (
set "MAKE=make"
if "%OS%"=="64BIT" (
set "EPICS_HOST_ARCH=cygwin-x86_64"
set "INCLUDE=C:\cygwin64\include;%INCLUDE%"
set "PATH=C:\cygwin64\bin;%PATH%"
echo [INFO] Cygwin Toolchain 64bit
) else (
set "EPICS_HOST_ARCH=cygwin-x86"
set "INCLUDE=C:\cygwin\include;%INCLUDE%"
set "PATH=C:\cygwin\bin;%PATH%"
echo [INFO] Cygwin Toolchain 32bit
)
echo [INFO] Compiler Version
gcc -v
goto Finish
)
if "%TOOLCHAIN%"=="mingw" (
set "MAKE=mingw32-make"
if "%OS%"=="64BIT" (
set "EPICS_HOST_ARCH=windows-x64-mingw"
set "INCLUDE=C:\tools\mingw64\include;%INCLUDE%"
set "PATH=C:\tools\mingw64\bin;%PATH%"
echo [INFO] MinGW Toolchain 64bit
) else (
set "EPICS_HOST_ARCH=win32-x86-mingw"
set "INCLUDE=C:\tools\mingw32\include;%INCLUDE%"
set "PATH=C:\tools\mingw32\bin;%PATH%"
echo [INFO] MinGW Toolchain 32bit
)
echo [INFO] Compiler Version
gcc -v
goto Finish
)
set "VSINSTALL=C:\Program Files (x86)\Microsoft Visual Studio %TOOLCHAIN%"
set "MAKE=C:\tools\make"
if "%OS%"=="64BIT" (
set EPICS_HOST_ARCH=windows-x64%ST%
if exist "%VSINSTALL%\VC\vcvarsall.bat" (
call "%VSINSTALL%\VC\vcvarsall.bat" amd64
where cl
if !ERRORLEVEL! NEQ 0 (
call "%VSINSTALL%\VC\vcvarsall.bat" x86_amd64
where cl
if !ERRORLEVEL! NEQ 0 goto MSMissing
)
goto MSFound
)
if exist "%VSINSTALL%\VC\bin\amd64\vcvars64.bat" (
call "%VSINSTALL%\VC\bin\amd64\vcvars64.bat"
where cl
if !ERRORLEVEL! NEQ 0 goto MSMissing
goto MSFound
)
) else (
set EPICS_HOST_ARCH=win32-x86%ST%
if exist "%VSINSTALL%\VC\vcvarsall.bat" (
call "%VSINSTALL%\VC\vcvarsall.bat" x86
where cl
if !ERRORLEVEL! NEQ 0 goto MSMissing
goto MSFound
)
if exist "%VSINSTALL%\VC\bin\vcvars32.bat" (
call "%VSINSTALL%\VC\bin\vcvars32.bat"
where cl
if !ERRORLEVEL! NEQ 0 goto MSMissing
goto MSFound
)
if exist "%VSINSTALL%\Common7\Tools\vsvars32.bat" (
call "%VSINSTALL%\Common7\Tools\vsvars32.bat"
where cl
if !ERRORLEVEL! NEQ 0 goto MSMissing
goto MSFound
)
)
:MSMissing
echo [INFO] Installation for MSVC Toolchain %TOOLCHAIN% / %OS% seems to be missing
exit 1
:MSFound
echo [INFO] Microsoft Visual Studio Toolchain %TOOLCHAIN%
echo [INFO] Compiler Version
cl
:Finish
echo [INFO] EPICS_HOST_ARCH: %EPICS_HOST_ARCH%
echo [INFO] Make version
%MAKE% --version
echo [INFO] Perl version
perl --version
%MAKE% %MAKEARGS% %*

70
ci/appveyor-prepare.bat Normal file
View File

@@ -0,0 +1,70 @@
:: Build script for AppVeyor (https://ci.appveyor.com/)
:: Environment:
:: TOOLCHAIN - Toolchain Version [9.0/10.0/11.0/12.0/14.0/cygwin/mingw]
:: CONFIGURATION - determines EPICS build [dynamic/static, -debug]
:: PLATFORM - "x86" -> use 32bit architecture
::
:: Prepares an Appveyor build by excuting the following steps
:: - Set up configure\CONFIG_SITE for static vs. dynamic build
:: - Install Cygwin / Mingw (TOOLCHAIN setting) in the in the appropriate flavor
:: - Download and install Make-4.1 from EPICS download page
Setlocal EnableDelayedExpansion
set OS=64BIT
if "%PLATFORM%"=="x86" set OS=32BIT
echo [INFO] Platform: %OS%
if "%TOOLCHAIN%"=="cygwin" (
echo.%CONFIGURATION% | findstr /C:"static">nul && (
echo SHARED_LIBRARIES=NO>> configure\CONFIG_SITE
echo STATIC_BUILD=YES>> configure\CONFIG_SITE
echo [INFO] EPICS set up for static build
) || (
echo [INFO] EPICS set up for dynamic build
)
echo.%CONFIGURATION% | findstr /C:"debug">nul && (
echo HOST_OPT=NO>> configure\CONFIG_SITE
echo [INFO] EPICS set up for debug build
) || (
echo [INFO] EPICS set up for optimized build
)
if "%OS%"=="64BIT" (
echo [INFO] Installing Cygwin 64bit and dependencies
@powershell -Command "(new-object net.webclient).DownloadFile('http://www.cygwin.com/setup-x86_64.exe', 'C:\cygwin64\setup-x86_64.exe')"
C:\cygwin64\setup-x86_64.exe -q -P "libreadline-devel,libncursesw-devel"
) else (
echo [INFO] Installing Cygwin 32bit and dependencies
@powershell -Command "(new-object net.webclient).DownloadFile('http://www.cygwin.com/setup-x86.exe', 'C:\cygwin\setup-x86.exe')"
C:\cygwin\setup-x86.exe -q -P "libreadline-devel,libncursesw-devel"
)
)
if "%TOOLCHAIN%"=="mingw" (
echo.%CONFIGURATION% | findstr /C:"static">nul && (
echo SHARED_LIBRARIES=NO>> configure\CONFIG_SITE
echo STATIC_BUILD=YES>> configure\CONFIG_SITE
echo [INFO] EPICS set up for static build
) || (
echo [INFO] EPICS set up for dynamic build
)
echo.%CONFIGURATION% | findstr /C:"debug">nul && (
echo HOST_OPT=NO>> configure\CONFIG_SITE
echo [INFO] EPICS set up for debug build
) || (
echo [INFO] EPICS set up for optimized build
)
if "%OS%"=="64BIT" (
echo [INFO] Installing MinGW 64bit
cinst mingw || cinst mingw
) else (
echo [INFO] Installing MinGW 32bit
cinst mingw --x86 || cinst mingw --x86
)
)
echo [INFO] Installing Make 4.1
@powershell -Command "(new-object net.webclient).DownloadFile('https://www.aps.anl.gov/epics/download/tools/make-4.1-win64.zip', 'C:\tools\make-4.1.zip')"
cd \tools
"C:\Program Files\7-Zip\7z" e make-4.1.zip

90
ci/travis-build.sh Normal file
View File

@@ -0,0 +1,90 @@
#!/bin/sh
set -e -x
die() {
echo "$1" >&2
exit 1
}
ticker() {
while true
do
sleep 60
date -R
[ -r "$1" ] && tail -n10 "$1"
done
}
CACHEKEY=1
EPICS_HOST_ARCH=`sh startup/EpicsHostArch`
[ -e configure/os/CONFIG_SITE.Common.linux-x86 ] || die "Wrong location: $PWD"
case "$CMPLR" in
clang)
echo "Host compiler is clang"
cat << EOF >> configure/os/CONFIG_SITE.Common.$EPICS_HOST_ARCH
GNU = NO
CMPLR_CLASS = clang
CC = clang
CCC = clang++
EOF
;;
*) echo "Host compiler is default";;
esac
if [ "$STATIC" = "YES" ]
then
echo "Build static libraries/executables"
cat << EOF >> configure/CONFIG_SITE
SHARED_LIBRARIES=NO
STATIC_BUILD=YES
EOF
fi
# requires wine and g++-mingw-w64-i686
if [ "$WINE" = "32" ]
then
echo "Cross mingw32"
sed -i -e '/CMPLR_PREFIX/d' configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw
cat << EOF >> configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw
CMPLR_PREFIX=i686-w64-mingw32-
EOF
cat << EOF >> configure/CONFIG_SITE
CROSS_COMPILER_TARGET_ARCHS+=win32-x86-mingw
EOF
fi
# set RTEMS to eg. "4.9" or "4.10"
# requires qemu, bison, flex, texinfo, install-info
if [ -n "$RTEMS" ]
then
echo "Cross RTEMS${RTEMS} for pc386"
install -d /home/travis/.cache
curl -L "https://github.com/mdavidsaver/rsb/releases/download/travis-20160306-2/rtems${RTEMS}-i386-trusty-20190306-2.tar.gz" \
| tar -C /home/travis/.cache -xj
sed -i -e '/^RTEMS_VERSION/d' -e '/^RTEMS_BASE/d' configure/os/CONFIG_SITE.Common.RTEMS
cat << EOF >> configure/os/CONFIG_SITE.Common.RTEMS
RTEMS_VERSION=$RTEMS
RTEMS_BASE=/home/travis/.cache/rtems${RTEMS}-i386
EOF
cat << EOF >> configure/CONFIG_SITE
CROSS_COMPILER_TARGET_ARCHS+=RTEMS-pc386
EOF
# find local qemu-system-i386
export PATH="$HOME/.cache/qemu/usr/bin:$PATH"
echo -n "Using QEMU: "
type qemu-system-i386 || echo "Missing qemu"
EXTRA=RTEMS_QEMU_FIXUPS=YES
fi
make -j2 $EXTRA
if [ "$TEST" != "NO" ]
then
make tapfiles
find . -name '*.tap' -print0 | xargs -0 -n1 prove -e cat -f
fi

40
ci/travis-prepare.sh Normal file
View File

@@ -0,0 +1,40 @@
#!/bin/sh
set -e -x
die() {
echo "$1" >&2
exit 1
}
CURDIR="$PWD"
QDIR="$HOME/.cache/qemu"
if [ -n "$RTEMS" -a "$TEST" = "YES" ]
then
git clone --quiet --branch vme --depth 10 https://github.com/mdavidsaver/qemu.git "$HOME/.build/qemu"
cd "$HOME/.build/qemu"
HEAD=`git log -n1 --pretty=format:%H`
echo "HEAD revision $HEAD"
[ -e "$HOME/.cache/qemu/built" ] && BUILT=`cat "$HOME/.cache/qemu/built"`
echo "Cached revision $BUILT"
if [ "$HEAD" != "$BUILT" ]
then
echo "Building QEMU"
git submodule --quiet update --init
install -d "$HOME/.build/qemu/build"
cd "$HOME/.build/qemu/build"
"$HOME/.build/qemu/configure" --prefix="$HOME/.cache/qemu/usr" --target-list=i386-softmmu --disable-werror
make -j2
make install
echo "$HEAD" > "$HOME/.cache/qemu/built"
fi
fi
cd "$CURDIR"

View File

@@ -6,25 +6,23 @@
# EPICS BASE is distributed subject to a Software License Agreement found
# in the file LICENSE that is included with this distribution.
#*************************************************************************
#
# $Revision-Id$
#
# Common build definitions
#
ifneq ($(wildcard $(TOP)/configure/CONFIG_BASE_VERSION),)
EPICS_BASE = $(INSTALL_LOCATION)
CONFIG = $(TOP)/configure
BASE_TOP=YES
EPICS_BASE = $(INSTALL_LOCATION)
CONFIG = $(TOP)/configure
BASE_TOP=YES
else
CONFIG ?= $(EPICS_BASE)/configure
CONFIG ?= $(EPICS_BASE)/configure
endif
# Provide a default if the user hasn't set EPICS_HOST_ARCH
ifeq ($(origin EPICS_HOST_ARCH), undefined)
# NB: Must use a simply expanded variable here for performance:
EPICS_HOST_ARCH := $(shell $(CONFIG)/../startup/EpicsHostArch.pl)
# NB: We use a simply expanded variable here for performance:
EPICS_HOST_ARCH := $(shell $(CONFIG)/../startup/EpicsHostArch.pl)
endif
#
@@ -32,8 +30,8 @@ endif
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH)
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH).Common
ifdef T_A
-include $(CONFIG)/RELEASE.Common.$(T_A)
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH).$(T_A)
-include $(CONFIG)/RELEASE.Common.$(T_A)
-include $(CONFIG)/RELEASE.$(EPICS_HOST_ARCH).$(T_A)
endif
include $(CONFIG)/CONFIG_COMMON
@@ -56,58 +54,64 @@ include $(CONFIG)/CONFIG_BASE_VERSION
include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).Common
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).Common
RELEASE_TOPS := $(shell $(CONVERTRELEASE) -T $(TOP) releaseTops)
ifdef T_A
# Cross compile specific definitions
#
ifneq ($(EPICS_HOST_ARCH),$(T_A))
include $(CONFIG)/CONFIG.CrossCommon
endif
# Cross compile specific definitions
#
ifneq ($(EPICS_HOST_ARCH),$(T_A))
include $(CONFIG)/CONFIG.CrossCommon
endif
# Target architecture specific definitions
#
-include $(CONFIG)/os/CONFIG.Common.$(T_A)
# Target architecture specific definitions
#
-include $(CONFIG)/os/CONFIG.Common.$(T_A)
# Host-Target architecture specific definitions
#
-include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).$(T_A)
# Host-Target architecture specific definitions
#
-include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).$(T_A)
# RELEASE file specific definitions
#
ifneq ($(CONFIG),$(TOP)/configure)
-include $(CONFIG)/CONFIG_APP_INCLUDE
endif
# RELEASE file specific definitions
#
ifneq ($(CONFIG),$(TOP)/configure)
-include $(CONFIG)/CONFIG_APP_INCLUDE
endif
# Site specific target and host-target definitions
#
-include $(CONFIG)/os/CONFIG_SITE.Common.$(T_A)
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
endif # ifdef T_A
# Site specific target and host-target definitions
#
-include $(CONFIG)/os/CONFIG_SITE.Common.$(T_A)
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
# Include <top>/cfg/CONFIG* definitions from tops defined in RELEASE* files
#
ifneq ($(CONFIG),$(TOP)/configure)
RELEASE_TOPS := $(shell $(CONVERTRELEASE) -T $(TOP) releaseTops)
RELEASE_CFG_CONFIGS = $(foreach top, $(RELEASE_TOPS), $(wildcard $($(top))/cfg/CONFIG*))
ifneq ($(RELEASE_CFG_CONFIGS),)
include $(RELEASE_CFG_CONFIGS)
endif
RELEASE_TOPS_REVERSE := $(shell \
$(PERL) -e '$$,=" ";print reverse @ARGV' $(RELEASE_TOPS))
RELEASE_CFG_CONFIGS = $(foreach top, $(RELEASE_TOPS_REVERSE), \
$(wildcard $($(top))/cfg/CONFIG*))
ifneq ($(RELEASE_CFG_CONFIGS),)
include $(RELEASE_CFG_CONFIGS)
endif
endif
# Include $(INSTALL_CFG)/CONFIG* definitions
#
TOP_CFG_CONFIGS = $(wildcard $(INSTALL_CFG)/CONFIG*)
ifneq ($(TOP_CFG_CONFIGS),)
include $(TOP_CFG_CONFIGS)
include $(TOP_CFG_CONFIGS)
endif
endif # ifdef T_A
# User specific definitions
#
-include $(HOME)/configure/CONFIG_USER
-include $(HOME)/configure/CONFIG_USER.$(EPICS_HOST_ARCH)
ifdef T_A
-include $(HOME)/configure/CONFIG_USER.Common.$(T_A)
-include $(HOME)/configure/CONFIG_USER.$(EPICS_HOST_ARCH).$(T_A)
-include $(HOME)/configure/CONFIG_USER.Common.$(T_A)
-include $(HOME)/configure/CONFIG_USER.$(EPICS_HOST_ARCH).$(T_A)
endif

View File

@@ -3,9 +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
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# Cross compiler default definitions
@@ -27,6 +26,6 @@ CROSS_LDFLAGS = $(addprefix -L,$(GNU_TARGET_LIB_DIR))
CMPLR_PREFIX_CROSS=$(addsuffix -,$(GNU_TARGET))
CMPLR_PREFIX=$(CMPLR_PREFIX_$(BUILD_CLASS))
# All cross builds use the gnu compiler
# Cross builds usually use the gnu compiler
include $(CONFIG)/CONFIG.gnuCommon

View File

@@ -7,7 +7,7 @@
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
#--------------------------------------------------
# GNU compiler defaults
GNU = YES

View File

@@ -6,7 +6,6 @@
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# $Revision-Id$
#
# check for add-on CFLAGS and CXXFLAGS
#
@@ -26,7 +25,6 @@
# USR_CFLAGS C flags
# USR_CXXFLAGS C++ flags
# USR_CPPFLAGS c preprocesser flags
# INC include-files to install
# SRCS source files for building libraries and prods
# USR_SRCS source files for building libraries and prods
# PROD_SRCS source files for building prods

View File

@@ -1,25 +1,32 @@
export TOP
export IOCAPPS
#*************************************************************************
# Copyright (c) 2013 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE is distributed subject to a Software License Agreement found
# in the file LICENSE that is included with this distribution.
#*************************************************************************
RELEASE_TOPS := $(shell $(CONVERTRELEASE) -T $(TOP) releaseTops)
export TOP
ifneq ($(RELEASE_TOPS),)
define RELEASE_FLAGS_template
export $(1)
$(1)_HOST_BIN = $$(strip $$($(1)))/bin/$$(EPICS_HOST_ARCH)
$(1)_HOST_LIB = $$(strip $$($(1)))/lib/$$(EPICS_HOST_ARCH)
$(1)_BIN = $$(wildcard $$(strip $$($(1)))/bin/$$(T_A))
$(1)_LIB = $$(wildcard $$(strip $$($(1)))/lib/$$(T_A))
$(1)_HOST_BIN = $$(strip $$($(1)))/bin/$(EPICS_HOST_ARCH)
$(1)_HOST_LIB = $$(strip $$($(1)))/lib/$(EPICS_HOST_ARCH)
$(1)_BIN = $$(wildcard $$(strip $$($(1)))/bin/$(T_A))
$(1)_LIB = $$(wildcard $$(strip $$($(1)))/lib/$(T_A))
SHRLIB_SEARCH_DIRS += $$($(1)_LIB)
RELEASE_INCLUDES += $$(addprefix -I,$$(wildcard $$(strip $$($(1)))/include/compiler/$$(CMPLR_CLASS)))
RELEASE_INCLUDES += $$(addprefix -I,$$(wildcard $$(strip $$($(1)))/include/os/$$(OS_CLASS)))
RELEASE_INCLUDES += $$(addprefix -I,$$(wildcard $$(strip $$($(1)))/include/compiler/$(CMPLR_CLASS)))
RELEASE_INCLUDES += $$(addprefix -I,$$(wildcard $$(strip $$($(1)))/include/os/$(OS_CLASS)))
RELEASE_INCLUDES += $$(addprefix -I,$$(wildcard $$(strip $$($(1)))/include))
RELEASE_DBD_DIRS += $$(wildcard $$(strip $$($(1)))/dbd)
RELEASE_DB_DIRS += $$(wildcard $$(strip $$($(1)))/db)
RELEASE_PERL_MODULE_DIRS += $$(wildcard $$($(1)_LIB)/perl)
RELEASE_PERL_MODULE_DIRS += $$(wildcard $$(strip $$($(1)))/lib/perl)
endef
$(foreach top, $(RELEASE_TOPS), $(eval $(call RELEASE_FLAGS_template,$(top)) ))
$(foreach top, $(RELEASE_TOPS), \
$(eval $(call RELEASE_FLAGS_template,$(top))))
endif

View File

@@ -3,13 +3,12 @@
# 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.
#*************************************************************************
#---------------------------------------------------------------
# Epics base directories
# EPICS Base directories
EPICS_BASE_HOST_BIN = $(EPICS_BASE)/bin/$(EPICS_HOST_ARCH)
EPICS_BASE_HOST_LIB = $(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)
@@ -19,12 +18,12 @@ ifdef T_A
endif
#---------------------------------------------------------------
# Epics base Ioc libraries
# EPICS Base Ioc libraries
EPICS_BASE_IOC_LIBS += dbRecStd dbCore ca Com
#---------------------------------------------------------------
# Epics base Host libraries
# EPICS Base Host libraries
EPICS_BASE_HOST_LIBS += cas gdd
EPICS_BASE_HOST_LIBS += ca Com
@@ -37,39 +36,42 @@ ifdef BASE_TOP
SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)
# Windows only allows 2 levels of version numbering
PROD_VERSION = $(EPICS_VERSION).$(EPICS_REVISION)
BASE_CPPFLAGS += -DUSE_TYPED_RSET
endif # BASE_TOP
#---------------------------------------------------------------
# Base c preprocessor flags
BASE_CPPFLAGS =
# osithread default stack
OSITHREAD_USE_DEFAULT_STACK = NO
OSITHREAD_DEFAULT_STACK_FLAGS_YES = -DOSITHREAD_USE_DEFAULT_STACK
OSITHREAD_DEFAULT_STACK_FLAGS_NO =
BASE_CPPFLAGS += $(OSITHREAD_DEFAULT_STACK_FLAGS_$(OSITHREAD_USE_DEFAULT_STACK))
#---------------------------------------------------------------
# Where to find the installed build tools
# Windows does not like commands with relative paths starting ../
# but the Perl scripts in TOP/src/tools are OK
TOOLS = $(EPICS_BASE_HOST_BIN)
TOOLS = $(abspath $(EPICS_BASE_HOST_BIN))
FIND_TOOL = $(firstword $(wildcard $(TOOLS)/$(1) $(TOP)/src/tools/$(1)))
#---------------------------------------------------------------
# Epics base build tools and tool flags
# EPICS Base build tools and tool flags
MAKEBPT = $(call PATH_FILTER, $(TOOLS)/makeBpt$(HOSTEXE))
MAKEBPT = $(TOOLS)/makeBpt$(HOSTEXE)
DBEXPAND = $(PERL) $(TOOLS)/dbdExpand.pl
DBTORECORDTYPEH = $(PERL) $(TOOLS)/dbdToRecordtypeH.pl
DBTOMENUH = $(PERL) $(TOOLS)/dbdToMenuH.pl
REGISTERRECORDDEVICEDRIVER = $(PERL) $(TOOLS)/registerRecordDeviceDriver.pl
CONVERTRELEASE = $(PERL) $(TOOLS)/convertRelease.pl
CONVERTRELEASE = $(PERL) $(call FIND_TOOL,convertRelease.pl)
FULLPATHNAME = $(PERL) $(TOOLS)/fullPathName.pl
TAPTOJUNIT = $(PERL) $(TOOLS)/tap-to-junit-xml.pl
GENVERSIONHEADER = $(PERL) $(TOOLS)/genVersionHeader.pl $(QUIET_FLAG)
#-------------------------------------------------------
#---------------------------------------------------------------
# tools for installing libraries and products
INSTALL_QUIETLY := $(if $(findstring s,$(MAKEFLAGS)),-q,)
INSTALL = $(PERL) $(TOOLS)/installEpics.pl $(INSTALL_QUIETLY)
INSTALL = $(PERL) $(TOOLS)/installEpics.pl $(QUIET_FLAG)
INSTALL_PRODUCT = $(INSTALL)
INSTALL_LIBRARY = $(INSTALL)
@@ -79,36 +81,14 @@ MKMF = $(PERL) $(TOOLS)/mkmf.pl
REPLACEVAR = $(PERL) $(TOOLS)/replaceVAR.pl
#---------------------------------------------------------------
# private versions of lex/yacc from EPICS
EYACC = $(call PATH_FILTER, $(TOOLS)/antelope$(HOSTEXE))
ELEX = $(call PATH_FILTER, $(TOOLS)/e_flex$(HOSTEXE)) -S$(EPICS_BASE)/include/flex.skel.static
# Our versions of lex (flex) and yacc (antelope)
EYACC = $(TOOLS)/antelope$(HOSTEXE)
ELEX = $(TOOLS)/e_flex$(HOSTEXE) -S$(EPICS_BASE)/include/flex.skel.static
YACC = $(EYACC)
LEX = $(ELEX)
#---------------------------------------------------------------
# msi used to be an external tool
MSI ?= $(EPICS_BASE_HOST_BIN)/msi
#---------------------------------------------------------------
# External tools and tool flags - must be in path or defined in application
ADL2DL ?= adl2dl
# sch2edif compiler and flags
SCH2EDIF = sch2edif
SCH2EDIF_PATH =
SCH2EDIF_SYSFLAGS = -n -ap -p.+..+$(SCH2EDIF_PATH)+$(CAPFAST_TEMPLATES)/sym+
SCH2EDIF_FLAGS =
# e2db and flags
# - again there is an assumption where edb.def is installed.
E2DB ?= e2db
E2DB_SYSFLAGS = -ate -d $(CAPFAST_TEMPLATES)/edb.def
E2DB_FLAGS =
DBST ?= dbst
# The 3.15 version of msi supports new options
MSI3_15 = $(EPICS_BASE_HOST_BIN)/msi

View File

@@ -4,11 +4,9 @@
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE is distributed subject to a Software License Agreement found
# in the file LICENSE that is included with this distribution.
# in the file LICENSE that is included with this distribution.
#*************************************************************************
#
# $Revision-Id$
#
# EPICS Version information
#
# Only the person making an official EPICS release should make changes in
@@ -17,18 +15,29 @@
# EPICS_SITE_VERSION is defined in CONFIG_SITE for sites that want a local
# version number to be included in the reported version string.
# In 3.15 we still define BASE_3_14 so "ifdef BASE_3_14" means
# 3.14 or later, but "ifeq ($(BASE_3_14),YES)" means 3.14 only.
# We define BASE_3_14 and BASE_3_15 as NO and BASE_3_16 as YES, so
# ifdef BASE_3_14
# true for 3.14 or later
# ifdef BASE_3_15
# true for 3.15 or later
# ifeq ($(BASE_3_14),YES)
# true for 3.14.x only
# ifeq ($(BASE_3_15),YES)
# true for 3.15 only
# ifeq ($(BASE_3_16),YES)
# true for 3.16 only.
BASE_3_14 = NO
BASE_3_15 = YES
BASE_3_15 = NO
BASE_3_16 = YES
# EPICS_VERSION must be a number >0 and <256
EPICS_VERSION = 3
# EPICS_REVISION must be a number >=0 and <256
EPICS_REVISION = 15
# EPICS_REVISION must be a number >=0 and <256
EPICS_REVISION = 16
# EPICS_MODIFICATION must be a number >=0 and <256
# EPICS_MODIFICATION must be a number >=0 and <256
EPICS_MODIFICATION = 1
# EPICS_PATCH_LEVEL must be a number (win32 resource file requirement)
@@ -61,4 +70,5 @@ EPICS_SHORT_VERSION=$(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION)$(EP
EPICS_VERSION_NUMBER=$(EPICS_SHORT_VERSION)$(EPICS_DEV_SNAPSHOT)$(EPICS_SITE_VSTRING)
EPICS_VERSION_STRING="EPICS Version $(EPICS_VERSION_NUMBER)"
COMMIT_DATE="\$$Date$$"
# Provide this in case anyone is still using the old name
COMMIT_DATE="-no-date-"

View File

@@ -7,8 +7,6 @@
# in file LICENSE that is included with this distribution.
#*************************************************************************
#
# $Revision-Id$
#
# CONFIG_COMMON
#
# This file is to be maintained by the community.
@@ -40,10 +38,6 @@ BUILD_ARCHS = $(EPICS_HOST_ARCH) $(CROSS1) $(CROSS2)
# otherwise override this in os/CONFIG_SITE.<host_arch>.Common
PERL = perl -CSD
#-------------------------------------------------------
# dbst based database optimization default
DB_OPT = NO
#-------------------------------------------------------
# Check configure/RELEASE file for consistency
CHECK_RELEASE_YES = checkRelease
@@ -85,6 +79,7 @@ IOCS_APPL_TOP = $(shell $(FULLPATHNAME) $(INSTALL_LOCATION))
# Make echo output - suppress echoing if make's '-s' flag is set
NOP = :
ECHO = @$(if $(findstring s,$(patsubst T_A=%,,$(MAKEFLAGS))),$(NOP),echo)
QUIET_FLAG := $(if $(findstring s,$(MAKEFLAGS)),-q,)
#-------------------------------------------------------
ifdef T_A
@@ -214,6 +209,16 @@ USR_CPPFLAGS =
USR_DBDFLAGS =
USR_ARFLAGS =
# Variables to be set only on the command-line:
# CMD_INCLUDES =
# CMD_CFLAGS =
# CMD_CXXFLAGS =
# CMD_LDFLAGS =
# CMD_CPPFLAGS =
# CMD_DBFLAGS =
# CMD_DBDFLAGS =
# CMD_ARFLAGS =
# Debug specific options
DEBUG_CPPFLAGS =
DEBUG_CFLAGS =
@@ -272,32 +277,35 @@ RUNTIME_LDFLAGS += $(RUNTIME_LDFLAGS_$(COMMANDLINE_LIBRARY))
# Flags
INCLUDES = -I. $(SRC_INCLUDES) $(INSTALL_INCLUDES) $(RELEASE_INCLUDES)\
$(TARGET_INCLUDES) $(USR_INCLUDES) $(OP_SYS_INCLUDES) $($(BUILD_CLASS)_INCLUDES)
$(TARGET_INCLUDES) $(USR_INCLUDES) $(CMD_INCLUDES) $(OP_SYS_INCLUDES)\
$($(BUILD_CLASS)_INCLUDES)
CFLAGS = $($(BUILD_CLASS)_CFLAGS) $(POSIX_CFLAGS) $(OPT_CFLAGS) $(DEBUG_CFLAGS)\
$(PIPE_CFLAGS) $(WARN_CFLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS)\
$(CODE_CFLAGS) $(STATIC_CFLAGS) $(OP_SYS_CFLAGS) $(LIBRARY_SRC_CFLAGS)
CFLAGS = $($(BUILD_CLASS)_CFLAGS) $(POSIX_CFLAGS) $(OPT_CFLAGS)\
$(DEBUG_CFLAGS) $(PIPE_CFLAGS) $(WARN_CFLAGS) $(TARGET_CFLAGS)\
$(USR_CFLAGS) $(CMD_CFLAGS) $(ARCH_DEP_CFLAGS) $(CODE_CFLAGS)\
$(STATIC_CFLAGS) $(OP_SYS_CFLAGS) $(LIBRARY_SRC_CFLAGS)
CXXFLAGS = $($(BUILD_CLASS)_CXXFLAGS) $(POSIX_CXXFLAGS) $(OPT_CXXFLAGS) $(DEBUG_CXXFLAGS)\
$(PIPE_CFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) $(ARCH_DEP_CXXFLAGS)\
$(CODE_CXXFLAGS) $(STATIC_CXXCFLAGS) $(OP_SYS_CXXFLAGS) $(LIBRARY_SRC_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)
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(POSIX_LDFLAGS) \
$(ARCH_DEP_LDFLAGS) $(DEBUG_LDFLAGS) $(OP_SYS_LDFLAGS) $($(BUILD_CLASS)_LDFLAGS)\
$(RUNTIME_LDFLAGS) $(CODE_LDFLAGS)
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(CMD_LDFLAGS)\
$(POSIX_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(DEBUG_LDFLAGS) $(OP_SYS_LDFLAGS)\
$($(BUILD_CLASS)_LDFLAGS) $(RUNTIME_LDFLAGS) $(CODE_LDFLAGS)
LDLIBS = \
$(POSIX_LDLIBS) $(ARCH_DEP_LDLIBS) $(DEBUG_LDLIBS) $(OP_SYS_LDLIBS) $(GNU_LDLIBS_$(GNU))
LDLIBS = $(POSIX_LDLIBS) $(ARCH_DEP_LDLIBS) $(DEBUG_LDLIBS) $(OP_SYS_LDLIBS)\
$(GNU_LDLIBS_$(GNU))
CPPFLAGS += $($(BUILD_CLASS)_CPPFLAGS) $(POSIX_CPPFLAGS)\
$(OPT_CPPFLAGS) $(DEBUG_CPPFLAGS) $(WARN_CPPFLAGS)\
$(BASE_CPPFLAGS) $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) $(ARCH_DEP_CPPFLAGS)\
$(OP_SYS_CPPFLAGS) $(OP_SYS_INCLUDE_CPPFLAGS) $(CODE_CPPFLAGS)
CPPFLAGS = $($(BUILD_CLASS)_CPPFLAGS) $(POSIX_CPPFLAGS) $(OPT_CPPFLAGS)\
$(DEBUG_CPPFLAGS) $(WARN_CPPFLAGS) $(BASE_CPPFLAGS) $(TARGET_CPPFLAGS)\
$(USR_CPPFLAGS) $(CMD_CPPFLAGS) $(ARCH_DEP_CPPFLAGS) $(OP_SYS_CPPFLAGS)\
$(OP_SYS_INCLUDE_CPPFLAGS) $(CODE_CPPFLAGS)
#--------------------------------------------------
# ar definition default
ARFLAGS =
ARCMD = $(AR) $(ARFLAGS) $(USR_ARFLAGS) $@ $(LIBRARY_LD_OBJS)
ARCMD = $(AR) $(ARFLAGS) $(USR_ARFLAGS) $(CMD_ARFLAGS) $@ $(LIBRARY_LD_OBJS)
#--------------------------------------------------
# 'Munch' link-edit
@@ -314,7 +322,6 @@ LEXOPT += -I
#--------------------------------------------------
# Build compile line here
PATH_FILTER = $(1)
COMPILE.c = $(CC) $(CPPFLAGS) $(CFLAGS) $(INCLUDES)
COMPILE.cpp = $(CCC) $(CPPFLAGS) $(CXXFLAGS) $(INCLUDES)
@@ -322,12 +329,20 @@ COMPILE.cpp = $(CCC) $(CPPFLAGS) $(CXXFLAGS) $(INCLUDES)
# C preprocessor command
PREPROCESS.cpp = $(CPP) $(CPPFLAGS) $(INCLUDES) $< > $@
#--------------------------------------------------
# genVersion header defaults
# C macro name
GENVERSIONMACRO = VCSVERSION
# C macro default value (empty to use date+time)
GENVERSIONDEFAULT =
#--------------------------------------------------
# Header dependency file generation
HDEPENDS_METHOD = MKMF
HDEPENDS_MKMFFLAGS = -m $*$(DEP) $(subst -I,,$(INCLUDES)) $@
HDEPENDS_MKMFFLAGS = -m $@ $(INCLUDES) $*$(OBJ)
HDEPENDS_MKMF.c = $(MKMF) $(HDEPENDS_FLAGS) $(HDEPENDS_MKMFFLAGS)
HDEPENDS_MKMF.cpp = $(MKMF) $(HDEPENDS_FLAGS) $(HDEPENDS_MKMFFLAGS)
@@ -346,6 +361,11 @@ TARGET_SRCS = $(foreach name, \
SRC_FILES = $(LIB_SRCS) $(LIBSRCS) $(SRCS) $(USR_SRCS) $(PROD_SRCS) $(TARGET_SRCS)
HDEPENDS_FILES = $(addsuffix $(DEP),$(notdir $(basename $(SRC_FILES))))
#--------------------------------------------------
# Deprecated and no longer used in Base
PATH_FILTER = $(1)$(warning PATH_FILTER is deprecated; used for $(1))
#---------------------------------------------------------------
# Names of installed items
#

View File

@@ -7,7 +7,6 @@
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# $Revision-Id$
# Author: Andrew Johnson
# Date: 20 April 1995
#
@@ -36,8 +35,10 @@ EPICS_CA_CONN_TMO=30.0
EPICS_CA_REPEATER_PORT=5065
EPICS_CA_SERVER_PORT=5064
EPICS_CA_MAX_ARRAY_BYTES=16384
EPICS_CA_AUTO_ARRAY_BYTES=YES
EPICS_CA_BEACON_PERIOD=15.0
EPICS_CA_MAX_SEARCH_PERIOD=300.0
EPICS_CA_MCAST_TTL=1
EPICS_CAS_BEACON_PERIOD=
EPICS_CAS_BEACON_PORT=
EPICS_CAS_AUTO_BEACON_ADDR_LIST=""

View File

@@ -6,7 +6,6 @@
# EPICS BASE is distributed subject to a Software License Agreement found
# in the file LICENSE that is included with this distribution.
#*************************************************************************
# $Revision-Id$
#
# Macros and rules to create a new installation file type
#

View File

@@ -6,8 +6,7 @@
# EPICS BASE is distributed subject to a Software License Agreement found
# in the file LICENSE that is included with this distribution.
#*************************************************************************
#
# $Revision-Id$
#
# CONFIG_SITE - Global site configuration file
#
@@ -23,6 +22,7 @@
# darwin-x86 (Intel based Apple running OSX)
# freebsd-x86 (GNU compiler used for host builds)
# freebsd-x86_64 (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)
# linux-x86 (GNU compiler used for host builds)
@@ -37,10 +37,13 @@
# solaris-x86_64-gnu (GNU compiler used for host builds)
# win32-x86 (MS Visual C++ compiler used for host builds)
# win32-x86-mingw (MinGW compiler used for host builds)
# win32-x86-static (MS Visual C++ compiler used for host builds)
# windows-x64 (MS Visual C++ compiler used for host builds)
# windows-x64-mingw (MinGW compiler used for host builds)
# windows-x64-static (MS Visual C++ compiler used for host builds)
# Debugging builds:
# linux-arm-debug (GNU compiler used for host builds)
# linux-x86-debug (GNU compiler with -g option for host builds)
# linux-x86_64-debug (GNU compiler with -g option for host builds)
# solaris-sparc-debug (sun compiler no optimization,-g for debugging info)
@@ -57,13 +60,13 @@
#
# Currently Supporting:
# ios-arm
# ios-386
# 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 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)
@@ -98,6 +101,7 @@
# RTEMS-pc386
# RTEMS-psim
# RTEMS-uC5282
# win32-x86-mingw (linux-x86 or -x86_64 host)
#
# Which target architectures to cross-compile for.
@@ -113,6 +117,12 @@ CROSS_COMPILER_TARGET_ARCHS=
# configure/os/CONFIG_SITE.<host>.Common files instead.
CROSS_COMPILER_HOST_ARCHS=
# The 'runtests', 'tapfiles' and 'junitfiles' make targets normally only run
# self-tests for the EPICS_HOST_ARCH architecture. If the host can execute
# the self-test programs for any other cross-built architectures such as
# a -debug architecture, those architectures must be named in this variable:
CROSS_COMPILER_RUNTEST_ARCHS=
# Build shared libraries (DLLs on Windows).
# Must be either YES or NO. Definitions in the target-specific
# os/CONFIG.Common.<target> and os/CONFIG_SITE.Common.<target> files may
@@ -147,7 +157,7 @@ CROSS_WARN=YES
# Use POSIX thread priority scheduling (if available).
# Must be either YES or NO
USE_POSIX_THREAD_PRIORITY_SCHEDULING = NO
USE_POSIX_THREAD_PRIORITY_SCHEDULING = YES
# Site version number, if set will append '-' and this string to the
# EPICS version number string that is reported by many tools.
@@ -164,3 +174,5 @@ GCC_PIPE = NO
# run at build-time, e.g. set the LD_LIBRARY_PATH environment variable.
LINKER_USE_RPATH = YES
# Overrides for the settings above may appear in a CONFIG_SITE.local file
-include $(CONFIG)/CONFIG_SITE.local

View File

@@ -6,7 +6,6 @@
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# $Revision-Id$
# Author: Andrew Johnson
# Date: 1 May 1995
#
@@ -30,10 +29,8 @@
# local timezone info for vxWorks and RTEMS IOCs. The format is
# <name>::<minutesWest>:<start daylight>:<end daylight>
# where the start and end are mmddhh - that is month,day,hour
# e.g. for ANL in 2015: EPICS_TIMEZONE=CST/CDT::360:030802:110102
# e.g. for ANL in 2016: EPICS_TIMEZONE=CST/CDT::360:031302:110602
#
# DST for 2015 US: Mar 08 - Nov 01
# EU: Mar 29 - Oct 25
# DST for 2016 US: Mar 13 - Nov 06
# EU: Mar 27 - Oct 30
# DST for 2017 US: Mar 12 - Nov 05
@@ -42,11 +39,15 @@
# EU: Mar 25 - Oct 28
# DST for 2019 US: Mar 10 - Nov 03
# EU: Mar 31 - Oct 27
# (see: http://www.timeanddate.com/time/map/)
# DST for 2020 US: Mar 08 - Nov 01
# EU: Mar 29 - Oct 25
# DST for 2021 US: Mar 14 - Nov 07
# EU: Mar 28 - Oct 31
# (see: http://www.timeanddate.com/time/dst/2016.html etc. )
#
# These values are for 2015:
EPICS_TIMEZONE=CST/CDT::360:030802:110102
#EPICS_TIMEZONE=CET/CEST::-60:032902:102502
# These values are for 2016:
EPICS_TIMEZONE=CST/CDT::360:031302:110602
#EPICS_TIMEZONE=CET/CEST::-60:032702:103002
# EPICS_TS_NTP_INET
# NTP time server ip address. Uses boot host if not set.
@@ -57,8 +58,11 @@ EPICS_TS_NTP_INET=
# Prompt string
# IOCSH_HISTSIZE
# Number of lines of command history to keep.
# IOCSH_HISTEDIT_DISABLE
# Prevents use of readline or equivalent if defined.
IOCSH_PS1="epics> "
IOCSH_HISTSIZE=50
IOCSH_HISTEDIT_DISABLE=
# Log Server:
# EPICS_IOC_LOG_INET

View File

@@ -6,9 +6,6 @@
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
#
# $Revision-Id$
#
TOP=..

View File

@@ -1,19 +1,20 @@
#*************************************************************************
# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
# Copyright (c) 2012 UChicago Argonne LLC, as Operator of Argonne
# 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
# in file LICENSE that is included with this distribution.
# EPICS BASE is distributed subject to a Software License Agreement found
# in the file LICENSE that is included with this distribution.
#*************************************************************************
# RELEASE: Define location of external EPICS products
#
# RELEASE: Define the location of external EPICS products
#
# The version of this file in Base should normally be empty.
#
# Define INSTALL_LOCATION in CONFIG_SITE
# VX_DIR definition now in os/CONFIG_SITE.Common.vxWorksCommon
# RTEMS_BASE (and RTEMS_VERSION) now in os/CONFIG_SITE.Common.RTEMS
# NB: Settings in RELEASE files can be overridden in files named
# RELEASE.$(EPICS_HOST_ARCH).Common
# RELEASE.Common.$(T_A)

View File

@@ -7,7 +7,6 @@
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# $Revision-Id$
ifndef T_A

View File

@@ -8,10 +8,12 @@
#*************************************************************************
#RULES.Db
# Set db substitutions file suffix
# Set db substitutions and template file suffixes
SUBST_SUFFIX ?= .substitutions
TEMPL_SUFFIX ?= .template
##################################################### vpath
#---------------------------------------------------------------
# vpath
vpath %.pm $(USR_VPATH) $(SRC_DIRS) $(dir $(DBD))
vpath %.pod $(USR_VPATH) $(SRC_DIRS) $(dir $(DBD))
@@ -19,27 +21,30 @@ vpath %.dbd $(USR_VPATH) $(SRC_DIRS) $(dir $(DBD))
vpath %.db $(USR_VPATH) $(SRC_DIRS) $(dir $(DB))
vpath %.vdb $(USR_VPATH) $(SRC_DIRS) $(dir $(DB))
vpath %$(SUBST_SUFFIX) $(USR_VPATH) $(SRC_DIRS) $(COMMON_DIR)
vpath %.template $(USR_VPATH) $(SRC_DIRS) $(COMMON_DIR)
vpath %$(TEMPL_SUFFIX) $(USR_VPATH) $(SRC_DIRS) $(COMMON_DIR)
vpath bpt%.data $(USR_VPATH) $(SRC_DIRS) $(COMMON_DIR)
vpath %.acf $(USR_VPATH) $(SRC_DIRS) $(COMMON_DIR)
vpath %.acs $(USR_VPATH) $(SRC_DIRS) $(COMMON_DIR)
##################################################### dbflags dbdflags
#---------------------------------------------------------------
# dbflags dbdflags
DBD_SEARCH_DIRS = . .. $(COMMON_DIR) $(SRC_DIRS) $(INSTALL_DBD) $(RELEASE_DBD_DIRS)
DB_SEARCH_DIRS = . .. $(COMMON_DIR) $(SRC_DIRS) $(INSTALL_DB) $(RELEASE_DB_DIRS)
DBDFLAGS = $(USR_DBDFLAGS) $(addprefix -I,$(DBD_SEARCH_DIRS))
DBFLAGS = $($*_DBFLAGS) $(USR_DBFLAGS) $(addprefix -I,$(DB_SEARCH_DIRS))
REGRDDFLAGS = $(DBDFLAGS) $($*_REGRDDFLAGS) $(USR_REGRDDFLAGS)
DBDFLAGS = $(USR_DBDFLAGS) $(CMD_DBDFLAGS) $(addprefix -I,$(DBD_SEARCH_DIRS))
DBFLAGS = $($*_DBFLAGS) $(USR_DBFLAGS) $(CMD_DBFLAGS) $(addprefix -I,$(DB_SEARCH_DIRS))
REGRDDFLAGS = $(DBDFLAGS) $($*_REGRDDFLAGS) $(USR_REGRDDFLAGS) $(CMD_REGRDDFLAGS)
##################################################### Targets
#---------------------------------------------------------------
# Targets
# ---------------------------------------------------
# To allow os specific dbd files AND have the -j option work properly,
CROSS_TARGET_OS_TYPES = $(sort $(foreach target, \
$(EPICS_HOST_ARCH) $(CROSS_COMPILER_TARGET_ARCHS),$(firstword $(subst -, ,$(target)))))
CROSS_TARGET_OS_TYPES = $(sort $(foreach target, \
$(EPICS_HOST_ARCH) $(CROSS_COMPILER_TARGET_ARCHS), \
$(firstword $(subst -, ,$(target)))))
DBD += $(foreach type, $(CROSS_TARGET_OS_TYPES), $(DBD_$(type)))
# Users add os specific dbd files to a Makefile as follows
@@ -86,31 +91,28 @@ SOURCE_DB_bbb = $(foreach dir, $(GENERIC_SRC_DIRS), $(SOURCE_DB_aaa) )
SOURCE_DB_aaa = $(addsuffix /$(file), $(dir) )
COMMONS = $(COMMON_DIR)/*.dbd $(COMMON_DIR)/*.db $(COMMON_DIR)/*.h \
$(COMMON_DIR)/*$(SUBST_SUFFIX) $(COMMON_DIR)/*.template
$(COMMON_DIR)/*$(SUBST_SUFFIX) $(COMMON_DIR)/*$(TEMPL_SUFFIX)
# Remove trailing numbers (to 99) on stem
TEMPLATE1=$(patsubst %0,%,$(patsubst %1,%,$(patsubst %2,%,$(patsubst %3,%,$(patsubst %4,%, \
$(patsubst %5,%,$(patsubst %6,%,$(patsubst %7,%,$(patsubst %8,%,$(patsubst %9,%, \
$*))))))))))
TEMPLATE2=$(patsubst %0,%,$(patsubst %1,%,$(patsubst %2,%,$(patsubst %3,%,$(patsubst %4,%, \
$(patsubst %5,%,$(patsubst %6,%,$(patsubst %7,%,$(patsubst %8,%,$(patsubst %9,%, \
$(TEMPLATE1)))))))))))
TEMPLATE3=$(addsuffix .template,$(addprefix ../,$(TEMPLATE2)))
TEMPLATE_FILENAME=$(firstword $(wildcard $($*_TEMPLATE) $(addprefix ../,$($*_TEMPLATE)) ../$*.template $(TEMPLATE3) ../template))
# dbst based database optimization
ifeq '$(DB_OPT)' 'YES'
RAW=.raw
DBS = $(filter %.db,$(DB)) $(addsuffix $(RAW),$(filter %.db,$(DB)))
COMMON_DBS = $(addprefix $(COMMON_DIR)/,$(DBS))
endif
TEMPLATE1 = $(patsubst %0,%,$(patsubst %1,%,$(patsubst %2,%,$(patsubst %3,%, \
$(patsubst %4,%,$(patsubst %5,%,$(patsubst %6,%,$(patsubst %7,%, \
$(patsubst %8,%,$(patsubst %9,%,$*))))))))))
TEMPLATE2 = $(patsubst %0,%,$(patsubst %1,%,$(patsubst %2,%,$(patsubst %3,%, \
$(patsubst %4,%,$(patsubst %5,%,$(patsubst %6,%,$(patsubst %7,%, \
$(patsubst %8,%,$(patsubst %9,%,$(TEMPLATE1)))))))))))
TEMPLATE3 = $(addsuffix $(TEMPL_SUFFIX),$(addprefix ../,$(TEMPLATE2)))
TEMPLATE_FILENAME = $(firstword $(wildcard $($*_TEMPLATE) \
$(addprefix ../,$($*_TEMPLATE)) ../$*$(TEMPL_SUFFIX) $(TEMPLATE3) \
../template))
INSTALL_DB_INSTALLS = $(addprefix $(INSTALL_DB)/,$(notdir $(DB_INSTALLS)))
INSTALL_DBD_INSTALLS = $(addprefix $(INSTALL_DBD)/,$(notdir $(DBD_INSTALLS)))
COMMONDEP_TARGET = $(COMMON_DIR)/$(basename $@)
##################################################### acf files
#---------------------------------------------------------------
# acf files
# An access security configuration file, *.acf, can be created from
# an *.acs file (has format of acf file plus #include "filename" lines)
@@ -123,7 +125,8 @@ ACF_INCLUDES = -I. $(TARGET_INCLUDES) $(USR_INCLUDES)\
ACFDEPENDS_CMD = $(MKMF) -m $@ $(ACF_INCLUDES) $(COMMONDEP_TARGET) $<
ACF_CMD = $(CPP) $(ACF_CPPFLAGS) $(ACF_INCLUDES) $< > $@
##################################################### dependancies
#---------------------------------------------------------------
# dependencies
HINC += $(addsuffix .h,$(DBDINC_NAME))
COMMON_DBDINC += $(addprefix $(COMMON_DIR)/,$(HINC))
@@ -133,12 +136,12 @@ DBDDEPENDS_FILES += $(addsuffix $(DEP),$(HINC) \
$(patsubst $(COMMON_DIR)/%,%, \
$(filter-out $(COMMON_DIR)/bpt%.dbd,$(COMMON_DBDS))))
#####################################################
#---------------------------------------------------------------
ifndef T_A
DEP = .d
TEMPLATE3+=$(addsuffix .template, $(TEMPLATE2))
TEMPLATE3 += $(addsuffix $(TEMPL_SUFFIX), $(TEMPLATE2))
COMMON_DIR = .
INSTALL_DBDS =
@@ -151,20 +154,15 @@ ACTIONS = inc
ACTIONS += build
ACTIONS += install
ACTIONS += buildInstall
ACTIONS += runtests tapfiles
ACTIONS += runtests tapfiles clean-tests test-results junitfiles
actionArchTargets = $(foreach x, $(ACTIONS),\ $(foreach arch,$(BUILD_ARCHS), $(x)$(DIVIDER)$(arch)))
actionArchTargets = $(foreach action, $(ACTIONS), \
$(foreach arch, $(BUILD_ARCHS), $(action)$(DIVIDER)$(arch)))
cleanArchTargets = $(foreach arch, $(BUILD_ARCHS), clean$(DIVIDER)$(arch))
cleanArchTargets = $(foreach arch,$(BUILD_ARCHS), clean$(DIVIDER)$(arch))
-include $(TOP)/configure/CONFIG_APP_INCLUDE
all: install
ifeq ($(EPICS_HOST_ARCH),$T_A)
host: install
else
# Do nothing
host:
endif
install: buildInstall
@@ -172,20 +170,30 @@ buildInstall : build
rebuild: clean install
.PHONY: all host $(ACTIONS)
.PHONY: all $(ACTIONS)
$(actionArchTargets) $(BUILD_ARCHS): install
$(cleanArchTargets): clean
.PHONY: $(BUILD_ARCHS) $(actionArchTargets) $(cleanArchTargets)
endif # T_A defined
else
# T_A is defined
ifeq ($(EPICS_HOST_ARCH),$(T_A))
host: install
else
host:
endif
.PHONY: host
endif # T_A
ifneq (,$(strip $(DBDDEPENDS_FILES)))
-include $(DBDDEPENDS_FILES)
endif
##################################################### build dependancies, clean rule
#---------------------------------------------------------------
# build dependancies, clean rule
inc : $(COMMON_INC) $(INSTALL_INC)
@@ -205,7 +213,8 @@ db_clean :
realclean: clean
##################################################### Dependency files
#---------------------------------------------------------------
# Dependency files
%Record.h$(DEP): $(COMMON_DIR)/%Record.dbd
@$(RM) $@
@@ -239,8 +248,7 @@ menu%.h$(DEP): ../menu%.dbd
%.dbd$(DEP): %.dbd.pod
@$(RM) $@
@$(DBEXPAND) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $< > $@
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
@echo "$(COMMONDEP_TARGET): ../Makefile" > $@
%.dbd$(DEP): %Include.dbd
@$(RM) $@
@@ -257,25 +265,21 @@ menu%.h$(DEP): ../menu%.dbd
@$(DBEXPAND) -D $(DBDFLAGS) -o $(COMMONDEP_TARGET) $($*_DBD) > $@
@echo "$(COMMONDEP_TARGET): ../Makefile" >> $@
%.db$(RAW)$(DEP): %$(SUBST_SUFFIX)
%.db$(DEP): %$(SUBST_SUFFIX)
@$(RM) $@
$(MKMF) -m$@ $(DBFLAGS) $(COMMONDEP_TARGET) $< $(TEMPLATE_FILENAME)
@echo "$(COMMONDEP_TARGET): $(TEMPLATE_FILENAME)" >> $@
@echo "$@: $(TEMPLATE_FILENAME)" >> $@
$(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) -S$< $(TEMPLATE_FILENAME) > $@
%.db$(RAW)$(DEP): ../%$(SUBST_SUFFIX)
%.db$(DEP): ../%$(SUBST_SUFFIX)
@$(RM) $@
$(MKMF) -m$@ $(DBFLAGS) $(COMMONDEP_TARGET) $< $(TEMPLATE_FILENAME)
@echo "$(COMMONDEP_TARGET): $(TEMPLATE_FILENAME)" >> $@
@echo "$@: $(TEMPLATE_FILENAME)" >> $@
$(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) -S$< $(TEMPLATE_FILENAME) > $@
%.db$(RAW)$(DEP): %.template
%.db$(DEP): %$(TEMPL_SUFFIX)
@$(RM) $@
$(MKMF) -m$@ $(DBFLAGS) $(COMMONDEP_TARGET) $<
$(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) $< > $@
%.db$(RAW)$(DEP): ../%.template
%.db$(DEP): ../%$(TEMPL_SUFFIX)
@$(RM) $@
$(MKMF) -m$@ $(DBFLAGS) $(COMMONDEP_TARGET) $<
$(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) $< > $@
%.acf$(DEP): %.acs
@$(RM) $@
@@ -285,14 +289,10 @@ menu%.h$(DEP): ../menu%.dbd
@$(RM) $@
@$(ACFDEPENDS_CMD)
##################################################### CapFast filter
.PRECIOUS: %$(DEP)
$(COMMON_DIR)/%.edf: ../%.sch $(DEPSCHS)
@$(RM) $@
@if [ ! -f cad.rc -a -r ../cad.rc ] ; then ln -s ../cad.rc ; fi
$(SCH2EDIF) $(SCH2EDIF_SYSFLAGS) $(SCH2EDIF_FLAGS) -o $@ $<
##################################################### Substitution files
#---------------------------------------------------------------
# Substitution files
# WARNING: CREATESUBSTITUTIONS script needs output dir on command line
@@ -304,34 +304,30 @@ $(COMMON_DIR)/%$(SUBST_SUFFIX):
endif
$(INSTALL_DB)/%$(SUBST_SUFFIX): %$(SUBST_SUFFIX)
$(ECHO) "Installing db file $@"
$(ECHO) "Installing substitution file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
$(INSTALL_DB)/%$(SUBST_SUFFIX): ../%$(SUBST_SUFFIX)
$(ECHO) "Installing db file $@"
$(ECHO) "Installing substitution file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
.PRECIOUS: $(COMMON_DIR)/%$(SUBST_SUFFIX)
##################################################### Template files
#---------------------------------------------------------------
# Template files
$(COMMON_DIR)/%.template: $(COMMON_DIR)/%.edf
@$(RM) $@
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) -n $@.VAR $<
@$(REPLACEVAR) < $@.VAR > $@
@$(RM) $@.VAR
$(INSTALL_DB)/%.template: %.template
$(ECHO) "Installing db file $@"
$(INSTALL_DB)/%$(TEMPL_SUFFIX): %$(TEMPL_SUFFIX)
$(ECHO) "Installing template file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
$(INSTALL_DB)/%.template: ../%.template
$(ECHO) "Installing db file $@"
$(INSTALL_DB)/%$(TEMPL_SUFFIX): ../%$(TEMPL_SUFFIX)
$(ECHO) "Installing template file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
.PRECIOUS: $(COMMON_DIR)/%.template
.PRECIOUS: $(COMMON_DIR)/%$(TEMPL_SUFFIX)
##################################################### INC files
#---------------------------------------------------------------
# INC files
$(COMMON_DIR)/%Record.h: $(COMMON_DIR)/%Record.dbd
@$(RM) $(notdir $@)
@@ -365,7 +361,8 @@ $(COMMON_DIR)/menu%.h: ../menu%.dbd
.PRECIOUS: $(COMMON_DIR)/%.h
##################################################### DBD files
#---------------------------------------------------------------
# DBD files
$(COMMON_DIR)/bpt%.dbd: bpt%.data
@$(RM) $(notdir $@)
@@ -374,7 +371,7 @@ $(COMMON_DIR)/bpt%.dbd: bpt%.data
$(COMMON_DIR)/%.dbd: %.dbd.pod
@$(RM) $(notdir $@)
$(DBEXPAND) $(DBDFLAGS) -o $(notdir $@) $<
$(PERL) $(TOOLS)/podRemove.pl -o $(notdir $@) $<
@$(MV) $(notdir $@) $@
$(COMMON_DIR)/%.dbd: %Include.dbd
@@ -426,9 +423,10 @@ $$(INSTALL_DBD)/$$(notdir $(1)) : $(1)
endef
$(foreach file, $(DBD_INSTALLS), $(eval $(call DBD_INSTALLS_template, $(file))))
.PRECIOUS: $(COMMON_DBDS) $(COMMON_DIR)/%Include.dbd
.PRECIOUS: $(COMMON_DBDS) $(COMMON_DIR)/%.dbd
##################################################### HTML files
#---------------------------------------------------------------
# HTML files
$(COMMON_DIR)/%.html: %.dbd.pod $(TOOLS)/dbdToHtml.pl
@$(RM) $(notdir $@)
@@ -447,41 +445,48 @@ $(COMMON_DIR)/%.html: %.pm $(TOOLS)/podToHtml.pl
$(COMMON_DIR)/%.html: ../%.pm $(TOOLS)/podToHtml.pl
@$(RM) $(notdir $@)
$(PERL) $(TOOLS)/podToHtml.pl -o $(notdir $@) $<
$(PERL) $(TOOLS)/podToHtml.pl -s -o $(notdir $@) $<
@$(MKDIR) $(dir $@)
@$(MV) $(notdir $@) $@
$(COMMON_DIR)/%.html: ../%.pl $(TOOLS)/podToHtml.pl
@$(RM) $(notdir $@)
$(PERL) $(TOOLS)/podToHtml.pl -s -o $(notdir $@) $<
@$(MV) $(notdir $@) $@
.PRECIOUS: $(COMMON_DIR)/%.html %.html
##################################################### DB files
#---------------------------------------------------------------
# DB files
$(COMMON_DIR)/%.db$(RAW): $(COMMON_DIR)/%.edf
$(COMMON_DIR)/%.db: $(COMMON_DIR)/%.edf
$(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) -n $*.VAR $<
@$(REPLACEVAR) < $*.VAR > $@
@$(RM) $*.VAR
$(COMMON_DIR)/%.db$(RAW): %$(SUBST_SUFFIX)
$(COMMON_DIR)/%.db: %$(SUBST_SUFFIX)
$(ECHO) "Inflating database from $< $(TEMPLATE_FILENAME)"
@$(RM) $@ $*.tmp
$(MSI) $(DBFLAGS) -S$< $(TEMPLATE_FILENAME) > $*.tmp
$(MV) $*.tmp $@
@$(RM) $(notdir $@)
$(MSI3_15) $(DBFLAGS) -o $(notdir $@) -S$< $(TEMPLATE_FILENAME)
@$(MV) $(notdir $@) $@
$(COMMON_DIR)/%.db$(RAW): ../%$(SUBST_SUFFIX)
$(COMMON_DIR)/%.db: ../%$(SUBST_SUFFIX)
$(ECHO) "Inflating database from $< $(TEMPLATE_FILENAME)"
@$(RM) $@ $*.tmp
$(MSI) $(DBFLAGS) -S$< $(TEMPLATE_FILENAME) > $*.tmp
$(MV) $*.tmp $@
@$(RM) $(notdir $@)
$(MSI3_15) $(DBFLAGS) -o $(notdir $@) -S$< $(TEMPLATE_FILENAME)
@$(MV) $(notdir $@) $@
$(COMMON_DIR)/%.db$(RAW): %.template
$(COMMON_DIR)/%.db: %$(TEMPL_SUFFIX)
$(ECHO) "Inflating database from $<"
@$(RM) $@ $*.tmp
$(MSI) $(DBFLAGS) $< > $*.tmp
$(MV) $*.tmp $@
@$(RM) $(notdir $@)
$(MSI3_15) $(DBFLAGS) -o $(notdir $@) $<
@$(MV) $(notdir $@) $@
$(COMMON_DIR)/%.db$(RAW): ../%.template
$(COMMON_DIR)/%.db: ../%$(TEMPL_SUFFIX)
$(ECHO) "Inflating database from $<"
@$(RM) $@ $*.tmp
$(MSI) $(DBFLAGS) $< > $*.tmp
$(MV) $*.tmp $@
@$(RM) $(notdir $@)
$(MSI3_15) $(DBFLAGS) -o $(notdir $@) $<
@$(MV) $(notdir $@) $@
$(COMMON_DIR)/%.acf: %.acs
$(ECHO) "Creating acf file $@"
@@ -495,30 +500,13 @@ $(COMMON_DIR)/%.acf: ../%.acs
.PRECIOUS: $(COMMON_DIR)/%.acf
# dbst based database optimization
ifeq '$(DB_OPT)' 'YES'
$(COMMON_DIR)/%.db$(RAW): ../%.db
@$(RM) $@
$(CP) $< $@
$(COMMON_DIR)/%.db: $(COMMON_DIR)/%.db$(RAW)
$(ECHO) "Optimizing database $@"
@$(RM) $@
$(DBST) . $< -d > $@
.PRECIOUS: $(COMMON_DIR)/%.db
.PRECIOUS: $(DB:%=$(COMMON_DIR)/%$(RAW))
else
$(INSTALL_DB)/%: %
$(ECHO) "Installing db file $@"
$(ECHO) "Installing $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
$(INSTALL_DB)/%: ../%
$(ECHO) "Installing db file $@"
$(ECHO) "Installing $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
endif
$(INSTALL_DB)/%.db: $(COMMON_DIR)/%.db
$(ECHO) "Installing created db file $@"
@@ -534,8 +522,8 @@ $(foreach file, $(DB_INSTALLS), $(eval $(call DB_INSTALLS_template, $(file))))
.PRECIOUS: $(COMMON_DIR)/%.edf
.PRECIOUS: $(COMMON_DBS)
##################################################### register record,device,driver support
#---------------------------------------------------------------
# register record,device,driver support
%_registerRecordDeviceDriver.cpp: $(COMMON_DIR)/%.dbd
@$(RM) $@
@@ -551,4 +539,3 @@ $(foreach file, $(DB_INSTALLS), $(eval $(call DB_INSTALLS_template, $(file))))
.PRECIOUS: %_registerRecordDeviceDriver.cpp
##################################################### END OF FILE

View File

@@ -14,7 +14,7 @@ build$(DIVIDER)$(ARCH) build: buildInstall
install$(DIVIDER)$(ARCH) install: buildInstall
$(ARCH): buildInstall
ifeq ($(filter $(ARCH),$(BUILD_ARCHS)),$(ARCH))
ifeq ($(filter $(ARCH),$(BUILD_ARCHS)),$(strip $(ARCH)))
buildInstall$(DIVIDER)$(ARCH) buildInstall: $(TARGETS)
clean$(DIVIDER)$(ARCH) clean:
@@ -24,11 +24,14 @@ else
clean$(DIVIDER)$(ARCH) clean:
endif
cdCommands envPaths dllPath.bat relPaths.sh: \
cdCommands dllPath.bat relPaths.sh: \
$(wildcard $(TOP)/configure/RELEASE*) \
$(wildcard $(TOP)/configure/CONFIG_SITE*) $(INSTALL_BIN)
$(wildcard $(TOP)/configure/CONFIG_SITE*) | $(INSTALL_BIN)
$(CONVERTRELEASE) -a $(ARCH) -t $(IOCS_APPL_TOP) $@
envPaths: $(wildcard $(TOP)/configure/RELEASE*) \
$(wildcard $(TOP)/configure/CONFIG_SITE*) | $(INSTALL_BIN)
$(CONVERTRELEASE) -t $(IOCS_APPL_TOP) $@
realclean:
$(RM) cdCommands envPaths dllPath.bat relPaths.sh

View File

@@ -6,9 +6,6 @@
# EPICS BASE is distributed subject to a Software License Agreement found
# in the file LICENSE that is included with this distribution.
#*************************************************************************
#
# $Revision-Id$
#
all: install
host: install$(DIVIDER)$(EPICS_HOST_ARCH)
@@ -17,10 +14,7 @@ ACTIONS = inc
ACTIONS += build
ACTIONS += install
ACTIONS += buildInstall
ACTIONS += runtests tapfiles
actionPart = $(word 1, $(subst $(DIVIDER), ,$@))
archPart = $(word 2, $(subst $(DIVIDER), ,$@))
ACTIONS += runtests tapfiles clean-tests test-results junitfiles
actionArchTargets = $(foreach action, $(ACTIONS), \
$(addprefix $(action)$(DIVIDER), $(BUILD_ARCHS)))
@@ -29,9 +23,17 @@ cleanArchTargets = $(addprefix clean$(DIVIDER), $(BUILD_ARCHS))
buildDirs = $(addprefix O., $(BUILD_ARCHS))
#*************************************************************************
# Create EPICS_HOST_ARCH dependancies for GNU make -j option
# Needed in dirs where EPICS_HOST_ARCH builds a tool used by
# Include <top>/cfg/DIR_RULES* files from tops defined in RELEASE* files
# Do this here so they can add ACTIONS
#
RELEASE_CFG_DIR_RULES = $(foreach top, $(RELEASE_TOPS), \
$(wildcard $($(top))/cfg/DIR_RULES*))
ifneq ($(RELEASE_CFG_DIR_RULES),)
include $(RELEASE_CFG_DIR_RULES)
endif
# Create EPICS_HOST_ARCH dependancies for GNU make -j option.
# Needed in dirs where EPICS_HOST_ARCH build creates a tool used in
# cross arch builds
CROSS_ARCHS += $(CROSS1) $(CROSS2)
@@ -40,11 +42,9 @@ define DEP_template
$(2) : $(EPICS_HOST_ARCH)
$(1)$(DIVIDER)$(2) : $(1)$(DIVIDER)$(EPICS_HOST_ARCH) O.$(2)
endef
$(foreach action, $(ACTIONS), $(foreach arch, $(CROSS_ARCHS), \
$(eval $(call DEP_template,$(action),$(arch)))))
#*************************************************************************
$(foreach action, $(ACTIONS), \
$(foreach arch, $(CROSS_ARCHS), \
$(eval $(call DEP_template,$(action),$(arch)))))
# Allows rebuild to work with parallel builds option, -j.
ifeq (rebuild,$(filter rebuild,$(MAKECMDGOALS)))
@@ -52,8 +52,11 @@ ifeq (rebuild,$(filter rebuild,$(MAKECMDGOALS)))
rebuild : install
endif
archPart = $(word 2, $(subst $(DIVIDER), ,$@))
actionPart = $(word 1, $(subst $(DIVIDER), ,$@))
$(actionArchTargets) : $(buildDirs) O.Common
$(MAKE) -C O.$(archPart) -f ../Makefile TOP=$(TOP)/.. T_A=$(archPart) $(actionPart)
$(MAKE) -C O.$(archPart) -f ../Makefile TOP=$(TOP)/.. \
T_A=$(archPart) $(actionPart)
$(BUILD_ARCHS) : % : O.% O.Common
$(MAKE) -C O.$@ -f ../Makefile TOP=$(TOP)/.. T_A=$@
@@ -66,8 +69,7 @@ $(buildDirs):
O.Common:
$(MKDIR) O.Common
#
# special clean rule
# Clean rules
#
clean: archsCommonClean
@@ -87,3 +89,7 @@ realclean:
.PHONY : $(cleanArchTargets)
.PHONY : $(BUILD_ARCHS) rebuild archsCommonClean
.PHONY : $(ACTIONS) clean realclean archclean host all
# User specific rules
#
-include $(HOME)/configure/RULES_USER

View File

@@ -4,9 +4,8 @@
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE is distributed subject to a Software License Agreement found
# in the file LICENSE that is included with this distribution.
# in the file LICENSE that is included with this distribution.
#*************************************************************************
# $Revision-Id$
#
# Rules for making things specified in Makefile
#
@@ -81,6 +80,8 @@ else
host:
endif
-include $(CONFIG)/RULES_FILE_TYPE
-include $(CONFIG)/RULES.Db
#---------------------------------------------------------------
@@ -94,7 +95,7 @@ include $(CONFIG)/RULES_TARGET
# Read dependency files
ifneq (,$(strip $(HDEPENDS_FILES)))
$(filter-out $(wildcard *$(DEP)), $(HDEPENDS_FILES)): $(COMMON_INC)
$(filter-out $(wildcard *$(DEP)), $(HDEPENDS_FILES)): | $(COMMON_INC)
-include $(HDEPENDS_FILES)
endif
@@ -104,16 +105,21 @@ endif
PRODTARGETS += $(PRODNAME) $(MUNCHNAME) $(CTDT_SRCS) $(CTDT_OBJS) $(NMS)
#---------------------------------------------------------------
# Generate a test specification if any tests are defined.
# Test specifications and test result files
#
ifneq (,$(strip $(TESTS)))
TARGETS += testspec
endif
# Enable testing if this host can run tests on the current target
ifneq (,$(findstring $(T_A),$(EPICS_HOST_ARCH) $(CROSS_COMPILER_RUNTEST_ARCHS)))
RUNTESTS_ENABLED = YES
TAPFILES += $(TESTSCRIPTS:.t=.tap)
JUNITFILES += $(TAPFILES:.tap=.xml)
endif
#---------------------------------------------------------------
# Libraries
# Libraries
#
LIBTARGETS += $(LIBNAME) $(INSTALL_LIBS) $(TESTLIBNAME) \
@@ -122,20 +128,18 @@ LIBTARGETS += $(LIBNAME) $(INSTALL_LIBS) $(TESTLIBNAME) \
$(LOADABLE_SHRLIBNAME) $(INSTALL_LOADABLE_SHRLIBS)
-include $(CONFIG)/RULES_FILE_TYPE
# Main targets
install: buildInstall
install: buildInstall
buildInstall : build
buildInstall: build
# Allows rebuild to work with parallel builds option, -j.
install: $(patsubst rebuild,clean,$(filter rebuild,$(MAKECMDGOALS)))
rebuild: clean install
build : inc
build: inc
build: $(OBJSNAME) $(LIBTARGETS) $(PRODTARGETS) $(TESTPRODNAME) \
$(TARGETS) $(TESTSCRIPTS) $(INSTALL_LIB_INSTALLS)
@@ -162,15 +166,21 @@ build_clean:
$(INC) $(TARGETS) $(TDS) $(CLEANS) \
*.out MakefileInclude *.manifest *.exp \
$(COMMON_INC) $(HDEPENDS_FILES) $(PRODTARGETS) \
$(TESTSCRIPTS) $(TAPFILES)
$(TESTSCRIPTS) $(TAPFILES) $(JUNITFILES)
ifdef RES
@$(RM) *$(RES)
endif
$(DIRECTORY_TARGETS) :
$(MKDIR) -p $@
$(MKDIR) $@
$(PRODNAME): $(INSTALL_LIB_INSTALLS)
# Install LIB_INSTALLS libraries before linking executables
$(TESTPRODNAME) $(PRODNAME): | $(INSTALL_LIB_INSTALLS)
# Install built libraries too, unless Makefile says to wait
ifneq ($(DELAY_INSTALL_LIBS),YES)
$(TESTPRODNAME) $(PRODNAME): | $(INSTALL_LIBS) $(INSTALL_DLLSTUB_LIBS)
endif
# RELEASE file consistency checking
checkRelease:
@@ -179,7 +189,7 @@ warnRelease:
-$(CONVERTRELEASE) checkRelease
noCheckRelease:
ifeq ($(EPICS_HOST_ARCH),$(T_A))
@echo "Warning: RELEASE file consistency checks have been disabled"
$(info Warning: RELEASE file consistency checks have been disabled)
endif
#---------------------------------------------------------------
@@ -215,15 +225,16 @@ $(TESTPRODNAME) $(PRODNAME): %$(EXE):
%.o : %.cc
%.o : %.cpp
%$(OBJ): %.c $(COMMON_INC) $(INSTALL_INC)
# Include files are order-only prerequisites for compilation:
%$(OBJ): %.c | $(COMMON_INC) $(INSTALL_INC)
@$(RM) $@
$(COMPILE.c) -c $<
%$(OBJ): %.cc $(COMMON_INC) $(INSTALL_INC)
%$(OBJ): %.cc | $(COMMON_INC) $(INSTALL_INC)
@$(RM) $@
$(COMPILE.cpp) -c $<
%$(OBJ): %.cpp $(COMMON_INC) $(INSTALL_INC)
%$(OBJ): %.cpp | $(COMMON_INC) $(INSTALL_INC)
@$(RM) $@
$(COMPILE.cpp) -c $<
@@ -259,7 +270,7 @@ YACCOPT ?= $($*_YACCOPT)
$(LIBNAME) $(TESTLIBNAME): $(LIBRARY_OBJS)
$(LIBNAME) $(TESTLIBNAME): $(LIB_PREFIX)%$(LIB_SUFFIX):
$(filter-out $(DLLSTUB_LIBNAME) $(TESTDLLSTUB_LIBNAME), $(LIBNAME) $(TESTLIBNAME)): $(LIB_PREFIX)%$(LIB_SUFFIX):
@$(RM) $@
$(ARCMD)
ifneq ($(strip $(RANLIB)),)
@@ -269,11 +280,17 @@ endif # RANLIB
$(SHRLIBNAME) $(DLLSTUB_LIBNAME) $(TESTSHRLIBNAME) $(TESTDLLSTUB_LIBNAME): \
$(LIBRARY_OBJS) $(LIBRARY_RESS) $(SHRLIB_DEPLIBS)
# Stub library timestamps may be earlier than the DLL itself.
# This order-only prerequisite resolves any related problems.
# The $(LINK.shrlib) command must build both library files if
# the target requires a separate stub library file.
$(DLLSTUB_LIBNAME): | $(SHRLIBNAME);
$(SHRLIBNAME): $(SHRLIB_PREFIX)%$(SHRLIB_SUFFIX):
@$(RM) $@
$(LINK.shrlib)
$(MT_DLL_COMMAND)
$(TESTDLLSTUB_LIBNAME): | $(TESTSHRLIBNAME);
$(TESTSHRLIBNAME): $(SHRLIB_PREFIX)%$(SHRLIB_SUFFIX):
@$(RM) $@
$(LINK.shrlib)
@@ -297,7 +314,7 @@ $(LOADABLE_SHRLIBNAME): $(LOADABLE_SHRLIB_PREFIX)%$(LOADABLE_SHRLIB_SUFFIX):
@$(RM) $@
$(NM) $< > $@
%_ctdt.c: %.nm
%_ctdt.c: %.nm $(TOOLS)/munch.pl
@$(RM) $@
$(PERL) $(TOOLS)/munch.pl -o $@ $<
@@ -305,11 +322,20 @@ $(MUNCHNAME): %$(MUNCH_SUFFIX): $(MUNCH_DEPENDS) %$(EXE)
@$(RM) $@
$(MUNCH_CMD)
#---------------------------------------------------------------
# GeSys modules for RTEMS
$(MODNAME): %$(MODEXT): %$(EXE)
@echo "Building module $@"
@$(RM) $@
$(LINK.mod)
#---------------------------------------------------------------
# Automated testing
runtests: $(TESTSCRIPTS)
ifdef RUNTESTS_ENABLED
-$(PERL) -MTest::Harness -e 'runtests @ARGV if @ARGV;' $^
endif
testspec: $(TESTSCRIPTS)
@$(RM) $@
@@ -319,11 +345,32 @@ testspec: $(TESTSCRIPTS)
$(if $(TESTFILES), @echo Files: $(TESTFILES) >> $@)
$(if $(TESTSPEC_$(OS_CLASS)), @echo "Harness: $(TESTSPEC_$(OS_CLASS))" >> $@)
test-results: tapfiles
ifneq ($(TAPFILES),)
ifdef RUNTESTS_ENABLED
prove --failures --ext .tap --exec cat --color $(TAPFILES)
endif
endif
clean-tests:
ifneq ($(TAPFILES),)
$(RM) $(TAPFILES)
endif
ifneq ($(JUNITFILES),)
$(RM) $(JUNITFILES)
endif
tapfiles: $(TESTSCRIPTS) $(TAPFILES)
junitfiles: $(JUNITFILES)
# A .tap file is the output from running the associated test script
%.tap: %.t
-HARNESS_ACTIVE=1 $(PERL) $< > $@
ifdef RUNTESTS_ENABLED
-$(PERL) $< -tap > $@
endif
%.xml: %.tap
$(TAPTOJUNIT) --puretap --output $@ --input $< $*
# If there's a perl test script (.plt) available, use it
%.t: ../%.plt
@@ -332,10 +379,18 @@ tapfiles: $(TESTSCRIPTS) $(TAPFILES)
# Test programs (.t files) must be written in Perl.
# Generate a perl program to exec the real test binary.
%.t: %$(EXE)
%.t: %$(EXE) $(TOOLS)/makeTestfile.pl
@$(RM) $@
$(PERL) $(TOOLS)/makeTestfile.pl $@ $<
#---------------------------------------------------------------
# Generate header with version number from VCS
ifneq ($(GENVERSION),)
$(COMMON_DIR)/$(GENVERSION): FORCE
$(GENVERSIONHEADER) -t $(TOP) -N $(GENVERSIONMACRO) -V "$(GENVERSIONDEFAULT)" $@
endif
#---------------------------------------------------------------
# Install rules for BIN_INSTALLS and LIB_INSTALLS
@@ -469,7 +524,8 @@ $(INSTALL_TEMPLATES_SUBDIR)/%: %
.PRECIOUS: $(COMMON_INC)
.PHONY: all host inc build install clean rebuild buildInstall build_clean
.PHONY: runtests tapfiles checkRelease warnRelease noCheckRelease
.PHONY: runtests tapfiles clean-tests test-results junitfiles
.PHONY: checkRelease warnRelease noCheckRelease FORCE
endif # BASE_RULES_BUILD
# EOF RULES_BUILD

View File

@@ -6,37 +6,37 @@
# EPICS BASE is distributed subject to a Software License Agreement found
# in the file LICENSE that is included with this distribution.
#*************************************************************************
#
# $Revision-Id$
#
ARCHS += $(BUILD_ARCHS)
ACTIONS += inc build install buildInstall clean realclean archclean
ACTIONS += runtests tapfiles
dirPart = $(join $(dir $@), $(word 1, $(subst $(DIVIDER), ,$(notdir $@))))
actionArchPart = $(join $(word 2, $(subst $(DIVIDER), ,$(notdir $@))), \
$(addprefix $(DIVIDER),$(word 3, $(subst $(DIVIDER), ,$(notdir $@)))))
ACTIONS += runtests tapfiles clean-tests test-results junitfiles
dirActionArchTargets = $(foreach dir, $(DIRS), \
$(foreach action, $(ACTIONS),\
$(foreach arch, $(ARCHS), \
$(dir)$(DIVIDER)$(action)$(DIVIDER)$(arch))))
$(foreach action, $(ACTIONS), \
$(foreach arch, $(ARCHS), \
$(dir)$(DIVIDER)$(action)$(DIVIDER)$(arch))))
dirArchTargets += $(foreach dir, $(DIRS), \
$(foreach arch, $(ARCHS),\
$(dir)$(DIVIDER)$(arch)))
$(foreach arch, $(ARCHS), \
$(dir)$(DIVIDER)$(arch)))
dirActionTargets += $(foreach dir, $(DIRS), \
$(foreach action, $(ACTIONS),\
$(dir)$(DIVIDER)$(action)))
actionArchTargets = $(foreach action, $(ACTIONS),\
$(foreach arch, $(ARCHS), \
$(action)$(DIVIDER)$(arch)))
$(foreach action, $(ACTIONS), \
$(dir)$(DIVIDER)$(action)))
actionArchTargets = $(foreach action, $(ACTIONS), \
$(foreach arch, $(ARCHS), \
$(action)$(DIVIDER)$(arch)))
all: install
host: install$(DIVIDER)$(EPICS_HOST_ARCH)
# Include <top>/cfg/DIR_RULES* files from tops defined in RELEASE* files
# Do this here so they can add ACTIONS
#
RELEASE_CFG_DIR_RULES = $(foreach top, $(RELEASE_TOPS), \
$(wildcard $($(top))/cfg/DIR_RULES*))
ifneq ($(RELEASE_CFG_DIR_RULES),)
include $(RELEASE_CFG_DIR_RULES)
endif
# Allows rebuild to work with parallel builds option, -j.
ifeq (rebuild,$(filter rebuild,$(MAKECMDGOALS)))
$(foreach dir, $(DIRS), $(dir)$(DIVIDER)install): \
@@ -49,30 +49,42 @@ endif
define DEP_template1
$(1): $$($(1)_DEPEND_DIRS)
endef
$(foreach dir, $(DIRS),$(eval $(call DEP_template1,$(dir))))
$(foreach dir, $(DIRS), \
$(eval $(call DEP_template1,$(dir))))
define DEP_template2
$(1)$$(DIVIDER)$(2) : $$(foreach ddir, $$($(1)_DEPEND_DIRS),$$(addsuffix $$(DIVIDER)$(2),$$(ddir)))
$(1)$$(DIVIDER)$(2) : $$(foreach ddir, $$($(1)_DEPEND_DIRS), \
$$(addsuffix $$(DIVIDER)$(2),$$(ddir)))
endef
$(foreach action, $(ACTIONS), $(foreach dir, $(DIRS),$(eval $(call DEP_template2,$(dir),$(action)))))
$(foreach action, $(ACTIONS), \
$(foreach dir, $(DIRS), \
$(eval $(call DEP_template2,$(dir),$(action)))))
define DEP_template3
$(1)$$(DIVIDER)$(2) : $$(foreach ddir, $$($(1)_DEPEND_DIRS),$$(addsuffix $$(DIVIDER)$(2),$$(ddir)))
$(1)$$(DIVIDER)$(2) : $$(foreach ddir, $$($(1)_DEPEND_DIRS), \
$$(addsuffix $$(DIVIDER)$(2),$$(ddir)))
endef
$(foreach arch, $(ARCHS), $(foreach dir, $(DIRS),$(eval $(call DEP_template3,$(dir),$(arch)))))
$(foreach arch, $(ARCHS), \
$(foreach dir, $(DIRS), \
$(eval $(call DEP_template3,$(dir),$(arch)))))
define DEP_template4
$(1)$$(DIVIDER)$(2)$$(DIVIDER)$(3) : $$(foreach ddir, $$($(1)_DEPEND_DIRS),$$(addsuffix $$(DIVIDER)$(2)$$(DIVIDER)$(3),$$(ddir)))
$(1)$$(DIVIDER)$(2)$$(DIVIDER)$(3) : $$(foreach ddir, $$($(1)_DEPEND_DIRS), \
$$(addsuffix $$(DIVIDER)$(2)$$(DIVIDER)$(3),$$(ddir)))
endef
$(foreach arch, $(ARCHS), $(foreach action, $(ACTIONS), $(foreach dir, $(DIRS), \
$(eval $(call DEP_template4,$(dir),$(action),$(arch))))))
$(foreach arch, $(ARCHS), \
$(foreach action, $(ACTIONS), \
$(foreach dir, $(DIRS), \
$(eval $(call DEP_template4,$(dir),$(action),$(arch))))))
dirPart = $(join $(dir $@), $(word 1, $(subst $(DIVIDER), ,$(notdir $@))))
actionArchPart = $(join $(word 2, $(subst $(DIVIDER), ,$(notdir $@))), \
$(addprefix $(DIVIDER),$(word 3, $(subst $(DIVIDER), ,$(notdir $@)))))
$(DIRS) $(dirActionTargets) $(dirArchTargets) $(dirActionArchTargets) :
$(MAKE) -C $(dirPart) $(actionArchPart)
$(ARCHS) $(ACTIONS) $(actionArchTargets) :%: \
$(foreach dir, $(DIRS), $(dir)$(DIVIDER)%)
$(foreach dir, $(DIRS), $(dir)$(DIVIDER)%)
.PHONY : $(DIRS) all host rebuild
.PHONY : $(ARCHS) $(ACTIONS)
@@ -80,3 +92,7 @@ $(ARCHS) $(ACTIONS) $(actionArchTargets) :%: \
.PHONY : $(dirActionArchTargets)
.PHONY : $(actionArchTargets)
# User specific rules
#
-include $(HOME)/configure/RULES_USER

View File

@@ -2,6 +2,9 @@
vpath %@ $(USR_VPATH) $(ALL_SRC_DIRS)
#---------------------------------------------------------------
# Variable expansion
# Default settings
EXPAND_TOOL ?= $(PERL) $(TOOLS)/expandVars.pl
@@ -11,8 +14,6 @@ EXPANDFLAGS += $(addprefix -D ,$(EXPAND_VARS))
# The names of files to be expanded must end with '@'
EXPANDED = $(EXPAND:%@=%)
buildInstall: $(EXPANDED)
$(EXPANDED): %: %@
$(ECHO) "Expanding $< to $@"
@$(RM) $@
@@ -23,4 +24,41 @@ clean: expand_clean
expand_clean:
@$(RM) $(EXPANDED)
.PHONY : expand_clean
.PRECIOUS: $(EXPANDED)
.PHONY: expand_clean
#---------------------------------------------------------------
# Assemblies (files assembled from snippets)
ASSEMBLE_TOOL ?= $(PERL) $(TOOLS)/assembleSnippets.pl
define COMMON_ASSEMBLY_template
$1_SNIPPETS += $$(foreach dir, .. $$(SRC_DIRS), \
$$(wildcard $$(dir)/$$($1_PATTERN)))
$(COMMON_DIR)/$1: $$($1_SNIPPETS)
$(ECHO) "Assembling common file $$@ from snippets"
@$(RM) $1
$(ASSEMBLE_TOOL) -o $1 $$^
@$(MV) $1 $$@
endef
$(foreach asy, $(COMMON_ASSEMBLIES), \
$(eval $(call COMMON_ASSEMBLY_template,$(strip $(asy)))))
define ASSEMBLY_template
$1_SNIPPETS += $$(foreach dir, .. $$(SRC_DIRS), \
$$(wildcard $$(dir)/$$($1_PATTERN)))
$1: $$($1_SNIPPETS)
$(ECHO) "Assembling file $$@ from snippets"
@$(RM) $$@
$(ASSEMBLE_TOOL) -o $$@ $$^
endef
$(foreach asy, $(ASSEMBLIES), \
$(eval $(call ASSEMBLY_template,$(strip $(asy)))))
define ASSEMBLY_DEP_template
$1$(DEP):
@echo $1: > $$@
endef
$(foreach asy, $(sort $(COMMON_ASSEMBLIES) $(ASSEMBLIES)), \
$(eval $(call ASSEMBLY_DEP_template,$(strip $(asy)))))

View File

@@ -6,27 +6,24 @@
# EPICS BASE is distributed subject to a Software License Agreement found
# in the file LICENSE that is included with this distribution.
#*************************************************************************
# $Revision-Id$
#
#---------------------------------------------------------------
# Include <top>/configure/RULES_BUILD definitions from tops defined in RELEASE* files
# Include <top>/configure/RULES_BUILD from tops defined in RELEASE* files
#
RELEASE_RULES_BUILDS = $(foreach top, $(RELEASE_TOPS), $(wildcard $($(top))/configure/RULES_BUILD))
RELEASE_RULES_BUILDS = $(foreach top, $(RELEASE_TOPS), \
$(wildcard $($(top))/configure/RULES_BUILD))
ifneq ($(RELEASE_RULES_BUILDS),)
include $(RELEASE_RULES_BUILDS)
endif
#---------------------------------------------------------------
# Include <top>/cfg/RULES* definitions from tops defined in RELEASE* files
# Include <top>/cfg/RULES* files from tops defined in RELEASE* files
#
RELEASE_CFG_RULES = $(foreach top, $(RELEASE_TOPS), $(wildcard $($(top))/cfg/RULES*))
RELEASE_CFG_RULES = $(foreach top, $(RELEASE_TOPS), \
$(wildcard $($(top))/cfg/RULES*))
ifneq ($(RELEASE_CFG_RULES),)
include $(RELEASE_CFG_RULES)
endif
#---------------------------------------------------------------
# If this is not BASE then include TOP/configure/RULES_BUILD definitions
# If this is not BASE then include <TOP>/configure/RULES_BUILD
#
ifeq ($(wildcard $(TOP)/configure/CONFIG_BASE_VERSION),)
TOP_RULES_BUILDS = $(wildcard $(TOP)/configure/RULES_BUILD)
@@ -35,40 +32,42 @@ ifneq ($(TOP_RULES_BUILDS),)
endif
endif
#---------------------------------------------
# Include our own $(INSTALL_CFG)/RULES* definitions
# Include our own $(INSTALL_CFG)/RULES* files
#
TOP_CFG_RULES = $(wildcard $(INSTALL_CFG)/RULES*)
ifneq ($(TOP_CFG_RULES),)
include $(TOP_CFG_RULES)
endif
#---------------------------------------------------------------
# Rules to install each FILE_TYPE
#
define FILE_TYPE_template
$(1) += $$(if $$(strip $$($(1)_$$(OS_CLASS))),$$(subst -nil-,,$$($(1)_$$(OS_CLASS))), $$($(1)_DEFAULT))
$(1) += $$(if $$(strip $$($(1)_$(OS_CLASS))), \
$$(subst -nil-,,$$($(1)_$(OS_CLASS))), \
$$($(1)_DEFAULT))
INSTALLS_$(1) = $$($(1):%=$$(INSTALL_$(1))/%)
$$(INSTALL_$(1))/%: ../%
$(ECHO) "Installing $(1) file $$@"
@$$(INSTALL) -d -m $$(INSTALL_PERMISSIONS) $$< $$(dir $$@)
$$(INSTALL_$(1))/%: %
$(ECHO) "Installing $(1) file $$@"
@$$(INSTALL) -d -m $$(INSTALL_PERMISSIONS) $$< $$(dir $$@)
buildInstall : $$(INSTALLS_$(1))
buildInstall: $$(INSTALLS_$(1))
endef
$(foreach type, $(FILE_TYPE), \
$(eval $(call FILE_TYPE_template,$(strip $(type)))))
$(foreach type, $(FILE_TYPE),$(eval $(call FILE_TYPE_template,$(strip $(type)))))
#---------------------------------------------
# Cleaning FILE_TYPE files
#
clean: file_type_clean
file_type_clean:
@$(RM) $(foreach type, $(FILE_TYPE), $($(type)))
.PHONY : file_type_clean
# User specific rules
#
-include $(HOME)/configure/RULES_USER

View File

@@ -7,9 +7,7 @@
# and higher are distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# $Revision-Id$
#
#-------------------------------------------------------
# Octave definitions and rules
ifeq ($(findstring Host,$(VALID_BUILDS)),Host)

View File

@@ -8,8 +8,6 @@
# in file LICENSE that is included with this distribution.
#*************************************************************************
#
# $Revision-Id$
#
# RULES_TARGET
#
# This file is to be maintained by the community.

View File

@@ -4,17 +4,14 @@
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
# in the file LICENSE that is included with this distribution.
#*************************************************************************
#
# $Revision-Id$
#
include $(CONFIG)/RULES_DIRS
distclean: realclean cvsclean realuninstall
CVSCLEAN=$(firstword $(wildcard $(TOOLS)/cvsclean.pl $(TOP)/src/tools/cvsclean.pl))
CVSCLEAN = $(call FIND_TOOL,cvsclean.pl)
cvsclean:
$(PERL) $(CVSCLEAN)
@@ -22,16 +19,14 @@ realuninstall: uninstallDirs
$(RMDIR) $(INSTALL_LOCATION_BIN)
$(RMDIR) $(INSTALL_LOCATION_LIB)
UNINSTALL_DIRS += $(INSTALL_DBD) $(INSTALL_INCLUDE) $(INSTALL_DOC)
UNINSTALL_DIRS += $(INSTALL_HTML) $(INSTALL_TEMPLATES) $(INSTALL_DB)
UNINSTALL_DIRS += $(DIRECTORY_TARGETS)
UNINSTALL_DIRS += $(INSTALL_DBD) $(INSTALL_INCLUDE) $(INSTALL_DOC) \
$(INSTALL_HTML) $(INSTALL_TEMPLATES) $(INSTALL_DB) $(DIRECTORY_TARGETS)
uninstallDirs:
$(RMDIR) $(UNINSTALL_DIRS)
uninstall: archuninstall uninstallDirs
archuninstall: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS))
@$(MAKE) -f Makefile cleandirs
archuninstall: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS)) | cleandirs
archPart = $(word 2, $(subst $(DIVIDER), ,$@))
uninstall$(DIVIDER)%:
@@ -39,14 +34,14 @@ uninstall$(DIVIDER)%:
$(RMDIR) $(INSTALL_LOCATION_LIB)/$(archPart)
cleandirs:
@$(NOP)
ifeq ($(wildcard $(INSTALL_LOCATION_BIN)/*),)
$(RMDIR) $(INSTALL_LOCATION_BIN)
endif
ifeq ($(wildcard $(INSTALL_LOCATION_LIB)/*),)
$(RMDIR) $(INSTALL_LOCATION_LIB)
endif
@echo
# The echo above stops a "nothing to be done for cleandirs" message
help:
@echo "Usage: gnumake [options] [target] ..."
@@ -62,6 +57,7 @@ help:
@echo " Cannot be used within an O.<arch> dir"
@echo " rebuild - Same as clean install"
@echo " archclean - Removes O.<arch> dirs but not O.Common dir"
@echo " runtests - Run self-tests, summarize results"
@echo "\"Partial\" build targets supported by Makefiles:"
@echo " host - Builds and installs $(EPICS_HOST_ARCH) only."
@echo " inc$(DIVIDER)<arch> - Installs <arch> only header files."
@@ -82,3 +78,10 @@ help:
.PHONY: cleandirs distclean cvsclean realuninstall archuninstall uninstallDirs
.PHONY: uninstall help
# Include <top>/cfg/TOP_RULES* files from tops defined in RELEASE* files
#
RELEASE_CFG_TOP_RULES = $(foreach top, $(RELEASE_TOPS), \
$(wildcard $($(top))/cfg/TOP_RULES*))
ifneq ($(RELEASE_CFG_TOP_RULES),)
include $(RELEASE_CFG_TOP_RULES)
endif

View File

@@ -1,7 +1,6 @@
#
# This file contains definitions for RTEMS builds
#
# $Revision-Id$
# Author: W. Eric Norum
# University of Saskatchewan
# eric.norum@usask.ca
@@ -49,27 +48,29 @@ RANLIB := $(RTEMS_TOOLS)/bin/$(RANLIB)
VALID_BUILDS = Ioc
#--------------------------------------------------
# The RTEMS Makefiles redefine several macros, so we have to go
# through the following contortions to get the EPICS flags back.
CFLAGS = $(CROSS_CFLAGS) $(OPT_CFLAGS) $(DEBUG_CFLAGS)\
$(WARN_CFLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS)\
$(CODE_CFLAGS) $(STATIC_CFLAGS) $(OP_SYS_CFLAGS) $(LIBRARY_SRC_CFLAGS)
# The RTEMS Makefiles redefine several macros, so we have to
# reset them to the proper EPICS values, from CONFIG_COMMON
CFLAGS = $($(BUILD_CLASS)_CFLAGS) $(POSIX_CFLAGS) $(OPT_CFLAGS)\
$(DEBUG_CFLAGS) $(PIPE_CFLAGS) $(WARN_CFLAGS) $(TARGET_CFLAGS)\
$(USR_CFLAGS) $(CMD_CFLAGS) $(ARCH_DEP_CFLAGS) $(CODE_CFLAGS)\
$(STATIC_CFLAGS) $(OP_SYS_CFLAGS) $(LIBRARY_SRC_CFLAGS)
CXXFLAGS = $(CROSS_CXXFLAGS) $(OPT_CXXFLAGS)\
$(DEBUG_CXXFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS)\
$(ARCH_DEP_CXXFLAGS) $(CODE_CXXFLAGS) $(STATIC_CXXCFLAGS) $(OP_SYS_CXXFLAGS)\
$(LIBRARY_SRC_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)
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) \
$(ARCH_DEP_LDFLAGS) $(DEBUG_LDFLAGS) $(OP_SYS_LDFLAGS) $(CROSS_LDFLAGS)\
$(RUNTIME_LDFLAGS) $(CODE_LDFLAGS)
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(CMD_LDFLAGS)\
$(POSIX_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(DEBUG_LDFLAGS) $(OP_SYS_LDFLAGS)\
$($(BUILD_CLASS)_LDFLAGS) $(RUNTIME_LDFLAGS) $(CODE_LDFLAGS)
LDLIBS = \
$(POSIX_LDLIBS) $(ARCH_DEP_LDLIBS) $(DEBUG_LDLIBS) $(OP_SYS_LDLIBS)
LDLIBS = $(POSIX_LDLIBS) $(ARCH_DEP_LDLIBS) $(DEBUG_LDLIBS) $(OP_SYS_LDLIBS)\
$(GNU_LDLIBS_$(GNU))
CPPFLAGS += $(CROSS_CPPFLAGS) $(POSIX_CPPFLAGS)\
$(BASE_CPPFLAGS) $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) $(ARCH_DEP_CPPFLAGS)\
$(OP_SYS_CPPFLAGS) $(OP_SYS_INCLUDE_CPPFLAGS) $(CODE_CPPFLAGS)
CPPFLAGS += $($(BUILD_CLASS)_CPPFLAGS) $(POSIX_CPPFLAGS) $(OPT_CPPFLAGS)\
$(DEBUG_CPPFLAGS) $(WARN_CPPFLAGS) $(BASE_CPPFLAGS) $(TARGET_CPPFLAGS)\
$(USR_CPPFLAGS) $(CMD_CPPFLAGS) $(ARCH_DEP_CPPFLAGS) $(OP_SYS_CPPFLAGS)\
$(OP_SYS_INCLUDE_CPPFLAGS) $(CODE_CPPFLAGS)
ECHO = @$(if $(findstring s,$(patsubst T_A=%,,$(MAKEFLAGS))),$(NOP),echo)
@@ -83,6 +84,8 @@ OPT_CXXFLAGS_YES = $(CFLAGS_OPTIMIZE_V)
OPT_CFLAGS_NO = $(CFLAGS_DEBUG_V)
OPT_CXXFLAGS_NO = $(CFLAGS_DEBUG_V)
MODEXT=.obj
#--------------------------------------------------
# operating system class (include/os/<os_class>)
OS_CLASS = RTEMS
@@ -97,6 +100,42 @@ OP_SYS_LDFLAGS += $(CPU_CFLAGS) -u Init \
$(PROJECT_RELEASE)/lib/no-signal.rel \
$(PROJECT_RELEASE)/lib/no-rtmon.rel
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 += -lcexp -ltecla_r -lspencer_regexp -lpmelf -lpmbfd
GESYS_LIBS += -lnfs -ltelnetd -lrtems-gdb-stub
# While not part of the Generic Image it provides symbols which
# would conflict.
GESYS_LIBS += -lrtemsCom
#--------------------------------------------------
# Options for building GeSys loadable objects
MODNAME_YES = $(PRODNAME:%$(EXE)=%$(MODEXT))
MODNAME += $(MODNAME_$(USE_GESYS))
PRODTARGETS += $(MODNAME)
BIN_INSTALLS += $(MODNAME)
# changes to LDFLAGS in CONFIG_COMMON and LINK.cpp in CONFIG.Common.UnixCommon
# should be reflected here with the following exceptions
#
# replace OP_SYS_LDFLAGS with MOD_SYS_LDFLAGS
# replace PROD_LDLIBS with MOD_LDLIBS
# remove STATIC_LDFLAGS
MOD_LDLIBS = $(filter-out $(GESYS_LIBS),$(PROD_LDLIBS))
MOD_LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(POSIX_LDFLAGS) \
$(ARCH_DEP_LDFLAGS) $(DEBUG_LDFLAGS) $(MOD_SYS_LDFLAGS) $($(BUILD_CLASS)_LDFLAGS)\
$(RUNTIME_LDFLAGS) $(CODE_LDFLAGS)
LINK.mod = $(CCC) -o $@ $(PRODDIR_LDFLAGS) $(MOD_LDFLAGS)
LINK.mod += $(PROD_LDFLAGS) $(PROD_LD_OBJS) $(PROD_LD_RESS) $(MOD_LDLIBS)
#--------------------------------------------------
# RTEMS has neither shared libraries nor dynamic loading
STATIC_BUILD=YES

View File

@@ -1,6 +1,5 @@
#
# CONFIG.Common.RTEMS-beatnik
# $Revision-Id$
# Author: Dayle Kotturi <dayle@slac.stanford.edu>
#
# All RTEMS targets use the same Makefile fragment

View File

@@ -1,5 +1,4 @@
#
# $Revision-Id$
# Author: W. Eric Norum
# Canadian Light Source
# eric@cls.usask.ca

View File

@@ -1,5 +1,4 @@
#
# $Revision-Id$
# Author: W. Eric Norum
# Canadian Light Source
# eric@cls.usask.ca

View File

@@ -1,5 +1,4 @@
#
# $Revision-Id$
# Author: W. Eric Norum
# Canadian Light Source
# eric@cls.usask.ca

View File

@@ -1,6 +1,5 @@
#
# CONFIG.Common.RTEMS-mvme3100
# $Revision-Id$
# CONFIG.Common.RTEMS-mvme2100
# Author: W. Eric Norum <wenorum@lbl.gov>
#
# All RTEMS targets use the same Makefile fragment

View File

@@ -1,6 +1,5 @@
#
# CONFIG.Common.RTEMS-mvme3100
# $Revision-Id$
# Author: W. Eric Norum <wenorum@lbl.gov>
#
# All RTEMS targets use the same Makefile fragment

View File

@@ -1,6 +1,5 @@
#
# CONFIG.Common.RTEMS-mvme5500
# $Revision-Id$
# Author: W. Eric Norum <wenorum@lbl.gov>
#
# All RTEMS targets use the same Makefile fragment
@@ -22,4 +21,6 @@ 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,5 +1,4 @@
#
# $Revision-Id$
# Author: W. Eric Norum
# Canadian Light Source
# eric@cls.usask.ca
@@ -12,7 +11,7 @@ MUNCH_SUFFIX = .boot
MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
define MUNCH_CMD
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< temp.bin
$(PROJECT_RELEASE)/build-tools/bin2boot $@ 0x00097E00 \
$(BIN2BOOT) $@ 0x00097E00 \
$(PROJECT_RELEASE)/lib/start16.bin 0x00097C00 0 temp.bin 0x00100000 0
rm -f temp.bin
endef

View File

@@ -1,5 +1,4 @@
#
# $Revision-Id$
# Author: W. Eric Norum
# University of Saskatchewan
# eric.norum@usask.ca

View File

@@ -1,5 +1,4 @@
#
# $Revision-Id$
# Author: W. Eric Norum
# Canadian Light Source
# eric@cls.usask.ca

View File

@@ -1,7 +1,5 @@
# CONFIG.Common.UnixCommon
#
# $Revision-Id$
#
# Contains definitions common to all Unix target archs
#
# This file is maintained by the build community.
@@ -57,7 +55,7 @@ SHRLIB_LDLIBS = $(addprefix -l, $($*_LDLIBS) $(LIB_LIBS) $(USR_LIBS)) \
$(LDLIBS)
SHRLIB_DEPLIB_DIRS = $(foreach word, \
$(sort $(dir $($*_DEPLIBS) $(SHRLIB_DEPLIBS))), \
$(sort $(INSTALL_LIB)/ $(dir $($*_DEPLIBS) $(SHRLIB_DEPLIBS))), \
$(shell $(FULLPATHNAME) $(word)))
SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-L%)
@@ -86,7 +84,7 @@ PROD_LDLIBS += $($(firstword $(LDLIBS_STATIC_$(STATIC_BUILD)) \
$(LDLIBS_SHARED_$(SHARED_LIBRARIES))))
PROD_DEPLIB_DIRS = $(foreach word, \
$(sort $(dir $($*_DEPLIBS) $(PROD_DEPLIBS))), \
$(sort $(INSTALL_LIB)/ $(dir $($*_DEPLIBS) $(PROD_DEPLIBS))), \
$(shell $(FULLPATHNAME) $(word)))
PRODDIR_LDFLAGS += $(PROD_DEPLIB_DIRS:%=-L%)

View File

@@ -1,6 +1,5 @@
# CONFIG.Common.cygwin-x86
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for cygwin-x86 target builds
@@ -26,14 +25,14 @@ POSIX_LDLIBS += -lpthread
ARCH_DEP_CFLAGS += -m32
ARCH_DEP_LDFLAGS += -m32
# Compiler defines _X86_ 1
# Compiler defines __MSVCRT__ 1
# 32-bit compiler defines _X86_ 1
# Compiler defines __CYGWIN__ 1
# Compiler defines __CYGWIN32__ 1
# 32-bit compiler defines __CYGWIN32__ 1
# Compiler defines __unix__ 1
# Compiler defines __unix 1
# Compiler defines unix 1
# This macro now deprecated, use __CYGWIN__ in the future
OP_SYS_CPPFLAGS += -DCYGWIN32
EXE = .exe

View File

@@ -1,14 +1,13 @@
# CONFIG.Common.cygwin-x86_64
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for cygwin-x86_64 target builds
# Sites may override these definitions in CONFIG_SITE.Common.cygwin-x86_64
#-------------------------------------------------------
include $(CONFIG)/os/CONFIG.Common.cygwin-x86
ARCH_DEP_CFLAGS = -m64
ARCH_DEP_LDFLAGS = -m64
# CONFIG.Common.cygwin-x86_64
#
# This file is maintained by the build community.
#
# Definitions for cygwin-x86_64 target builds
# Sites may override these definitions in CONFIG_SITE.Common.cygwin-x86_64
#-------------------------------------------------------
include $(CONFIG)/os/CONFIG.Common.cygwin-x86
ARCH_DEP_CFLAGS = -m64
ARCH_DEP_LDFLAGS = -m64

View File

@@ -1,6 +1,5 @@
# CONFIG.Common.darwin-ppc
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for darwin-ppc target builds

View File

@@ -1,6 +1,5 @@
# CONFIG.Common.darwin-ppcx86
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for Darwin universal PowerPC + x86 target builds

View File

@@ -1,6 +1,5 @@
# CONFIG.Common.darwin-x86
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for darwin-x86 target builds

View File

@@ -1,4 +1,3 @@
# $Revision-Id$
#
# This file is maintained by the build community.
#

View File

@@ -1,4 +1,3 @@
# $Revision-Id$
#
# This file is maintained by the build community.
#

View File

@@ -1,4 +1,3 @@
# $Revision-Id$
#
# This file is maintained by the build community.
#

View File

@@ -1,6 +1,5 @@
# CONFIG.Common.ios-arm
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for ios-arm target builds

View File

@@ -1,6 +1,5 @@
# CONFIG.Common.ios-x86
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for ios-x86 target builds
@@ -13,10 +12,5 @@ IOS_PLATFORM = iPhoneSimulator
OP_SYS_CFLAGS += -mios-simulator-version-min=$(IOS_DEPLOYMENT_TARGET)
OP_SYS_LDFLAGS += -mios-simulator-version-min=$(IOS_DEPLOYMENT_TARGET)
#
# Architecture-specific information
#
ARCH_CLASS = i386
# Include definitions common to all iOS targets
include $(CONFIG)/os/CONFIG.Common.iosCommon

View File

@@ -1,6 +1,5 @@
# CONFIG.Common.iosCommon
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for all Apple iOS builds

View File

@@ -1,6 +1,5 @@
# CONFIG.Common.linux-386
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for linux-386 target builds

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.linux-486
#
# $Id
# This file is maintained by the build community.
#
# Definitions for linux-486 target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-486
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.linux-586
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for linux-586 target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-586
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.linux-686
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for linux-686 target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-686
#-------------------------------------------------------

View File

@@ -1,9 +1,7 @@
# CONFIG.Common.linux-arm
#
# This file is maintained by the build community.
#
# Definitions for linux-arm target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-arm
# Override these settings in CONFIG_SITE.Common.linux-arm
#-------------------------------------------------------
# Include definitions common to all Linux targets
@@ -11,26 +9,3 @@ include $(CONFIG)/os/CONFIG.Common.linuxCommon
ARCH_CLASS = arm
ifeq ($(BUILD_CLASS),CROSS)
VALID_BUILDS = Ioc
GNU_TARGET = arm-linux
# prefix of compiler tools
CMPLR_SUFFIX =
CMPLR_PREFIX = $(addsuffix -,$(GNU_TARGET))
# Provide a link-time path for shared libraries
SHRLIBDIR_RPATH_LDFLAGS_YES += $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath-link,%)
SHRLIBDIR_LDFLAGS += $(SHRLIBDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
# Provide a link-time path for products
PRODDIR_RPATH_LDFLAGS_YES += $(PROD_DEPLIB_DIRS:%=-Wl,-rpath-link,%)
PRODDIR_LDFLAGS += $(PRODDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
# Provide a link-time path for readline
RUNTIME_LDFLAGS_READLINE_YES = -Wl,-rpath-link,$(GNU_DIR)/lib
RUNTIME_LDFLAGS_READLINE = $(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH))
RUNTIME_LDFLAGS_READLINE_CURSES = $(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH))
RUNTIME_LDFLAGS_READLINE_NCURSES = $(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH))
endif

View File

@@ -0,0 +1,10 @@
# CONFIG.Common.linux-arm-debug
#
# Definitions for linux-arm with debug compiler flags
# Override these settings in CONFIG_SITE.Common.linux-arm-debug
#-------------------------------------------------------
# Include definitions common to all linux-arm target archs
include $(CONFIG)/os/CONFIG.Common.linux-arm
HOST_OPT=NO

View File

@@ -1,7 +1,5 @@
# CONFIG.Common.linux-arm_eb
#
# This file is maintained by the build community.
#
# Definitions for linux-arm_eb (big endian) target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-arm_eb
#-------------------------------------------------------

View File

@@ -1,7 +1,5 @@
# CONFIG.Common.linux-arm_el
#
# This file is maintained by the build community.
#
# Definitions for linux-arm_el (little endian) target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-arm_el
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.linux-athlon
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for linux-athlon target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-athlon
#-------------------------------------------------------

View File

@@ -1,7 +1,5 @@
# CONFIG.Common.linux-ppc
#
# This file is maintained by the build community.
#
# Definitions for linux-ppc target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-ppc
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.linux-ppc64
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for linux-ppc64 target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-ppc64
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.linux-x86
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for linux-x86 target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-x86
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.linux-x86-debug
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for linux-x86 with debug compiler flags
# Sites may override these definitions in CONFIG_SITE.Common.linux-x86-debug
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.linux-x86_64
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for linux-x86_64 target builds
# Sites may override these definitions in CONFIG_SITE.Common.linux-x86_64
#-------------------------------------------------------
@@ -12,9 +9,11 @@ include $(CONFIG)/os/CONFIG.Common.linuxCommon
ARCH_CLASS = x86_64
ARCH_DEP_CFLAGS = $(GNU_TUNE_CFLAGS)
ARCH_DEP_CPPFLAGS += -D_X86_64_
ARCH_DEP_CFLAGS += -m64
ARCH_DEP_LDFLAGS += -m64
OP_SYS_CFLAGS += -m64
OP_SYS_LDFLAGS += -m64
# If your crosscompiler name has a GNU target prefix like <gnutarget>-gcc,
# e.g. x86_64-redhat-linux-gcc, put a GNU_TARGET definition in

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.linux-x86_64-debug
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for linux-x86_64 with debug compiler flags
# Sites may override these definitions in CONFIG_SITE.Common.linux-x86_64-debug
#-------------------------------------------------------

View File

@@ -1,7 +1,5 @@
# CONFIG.Common.linux-xscale_be
#
# This file is maintained by the build community.
#
# Definitions for linux-xscale_be (big-endian) target builds.
# This target has been tested with the MOXA UC-7408-LX Plus.

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.linuxCommon
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for linux target builds
# Sites may override these definitions in CONFIG_SITE.Common.linuxCommon
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.solaris-sparc
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for solaris-sparc target archs
# Sites may override these definitions in CONFIG_SITE.Common.solaris-sparc
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.solaris-sparc-debug
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for solaris-sparc with debug compiler flags
# Sites may override these definitions in CONFIG_SITE.Common.solaris-sparc-debug
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.solaris-sparc-gnu
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for solaris-sparc gnu compiler target archs
# Sites may override these definitions in CONFIG_SITE.Common.solaris-sparc-gnu
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.solaris-sparc64
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for solaris-sparc64 compiler target archs
# Sites may override these definitions in CONFIG_SITE.Common.solaris-sparc64
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.solaris-sparc64-gnu
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for solaris-sparc64 gnu compiler target archs
# Sites may override these definitions in CONFIG_SITE.Common.solaris-sparc64-gnu
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.solaris-x86
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for solaris-x86 target archs
# Sites may override these definitions in CONFIG_SITE.Common.solaris-x86
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.solaris-x86-gnu
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for solaris-x86 gnu compiler target archs
# Sites may override these definitions in CONFIG_SITE.Common.solaris-x86-gnu
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.solaris-x86_64
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for solaris-x86_64 compiler target archs
# Sites may override these definitions in CONFIG_SITE.Common.solaris-x86_64
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.solaris-x86_64-gnu
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for solaris-x86_64 gnu compiler target archs
# Sites may override these definitions in CONFIG_SITE.Common.solaris-x86_64-gnu
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.vxWorks-486
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-486 target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-486
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.vxWorks-486-debug
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-486-debug target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-486-debug
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.vxWorks-68040
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-68040 target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68040
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.vxWorks-68040-debug
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-68040-debug target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68040-debug
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.vxWorks-68040lc
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-68040lc target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68040lc
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.vxWorks-68040lc-debug
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-68040lc-debug target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68040lc-debug
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.vxWorks-68060
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-68060 target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68060
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.vxWorks-68060-debug
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-68060-debug target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68060-debug
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.vxWorks-mpc8540
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-mpc8540 target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-mpc8540
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.vxWorks-mpc8540-debug
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-mpc8540-debug target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-mpc8540-debug
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.vxWorks-mpc8548
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-mpc8548 target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-mpc8548
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.vxWorks-mpc8548-debug
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-mpc8548-debug targets.
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-mpc8548-debug
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.vxWorks-pentium
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-pentium target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-pentium
#-------------------------------------------------------

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.vxWorks-pentium-debug
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-pentium-debug target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-pentium-debug
#-------------------------------------------------------

View File

@@ -1,9 +1,7 @@
# $Revision-Id$
#
# Definitions for vxWorks-ppc603 targets with >32MB of RAM
# Site-specific overrides go in CONFIG_SITE.Common.vxWorks-ppc603_long
#
# This file is maintained by the EPICS build community.
#-------------------------------------------------------
# Include definitions common to all vxWorks target archs

View File

@@ -1,8 +1,5 @@
# CONFIG.Common.vxWorks-ppc32-debug
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for vxWorks-ppc32-debug target archs
# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-ppc32-debug
#-------------------------------------------------------

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