From a39fc002e33ff78c6a4f2c512c5c6fddd3bcdaf8 Mon Sep 17 00:00:00 2001
From: Evan Daykin
Date: Thu, 24 Mar 2022 11:33:57 -0400
Subject: [PATCH 1/5] New upstream version 7.0.6
---
Makefile | 10 +-
README | 13 +-
configure/CONFIG | 9 +-
configure/CONFIG.gnuCommon | 17 +-
configure/CONFIG_ADDONS | 30 +-
configure/CONFIG_BASE | 118 +-
configure/CONFIG_BASE_VERSION | 43 +-
.../CONFIG_CA_MODULE | 8 +-
configure/CONFIG_CA_VERSION | 12 +
configure/CONFIG_COMMON | 62 +-
configure/CONFIG_DATABASE_MODULE | 28 +
configure/CONFIG_DATABASE_VERSION | 12 +
configure/CONFIG_ENV | 15 +-
configure/CONFIG_LIBCOM_MODULE | 17 +
configure/CONFIG_LIBCOM_VERSION | 12 +
configure/CONFIG_SITE | 54 +-
configure/CONFIG_SITE_ENV | 4 +-
configure/Makefile | 16 +-
configure/RULES | 7 +-
configure/RULES.Db | 214 +-
configure/RULES.ioc | 5 +-
configure/RULES_ARCHS | 4 +-
configure/RULES_BUILD | 167 +-
configure/RULES_COMMON | 48 +
configure/RULES_DIRS | 5 +-
configure/RULES_EXPAND | 72 +-
configure/RULES_FILE_TYPE | 12 +-
configure/RULES_MODULES | 55 +
configure/RULES_OCTAVE | 7 +-
configure/RULES_TARGET | 32 +-
configure/RULES_TOP | 86 +-
configure/Sample.Makefile | 4 +-
configure/os/CONFIG.Common.RTEMS | 40 +-
configure/os/CONFIG.Common.RTEMS-at91rm9200ek | 13 -
.../os/CONFIG.Common.RTEMS-beagleboneblack | 18 +
configure/os/CONFIG.Common.RTEMS-beatnik | 9 +-
configure/os/CONFIG.Common.RTEMS-gen68360 | 9 -
configure/os/CONFIG.Common.RTEMS-mcp750 | 9 -
configure/os/CONFIG.Common.RTEMS-mvme167 | 9 -
configure/os/CONFIG.Common.RTEMS-mvme2100 | 4 +-
configure/os/CONFIG.Common.RTEMS-mvme2700 | 4 +-
configure/os/CONFIG.Common.RTEMS-mvme3100 | 3 +-
configure/os/CONFIG.Common.RTEMS-mvme5500 | 5 +-
configure/os/CONFIG.Common.RTEMS-pc386 | 27 +-
configure/os/CONFIG.Common.RTEMS-pc386-qemu | 12 +
configure/os/CONFIG.Common.RTEMS-pc686 | 39 +
configure/os/CONFIG.Common.RTEMS-pc686-qemu | 11 +
configure/os/CONFIG.Common.RTEMS-psim | 9 -
configure/os/CONFIG.Common.RTEMS-qoriq_e500 | 48 +
configure/os/CONFIG.Common.RTEMS-uC5282 | 5 +
.../CONFIG.Common.RTEMS-xilinx_zynq_a9_qemu | 20 +
.../CONFIG.Common.RTEMS-xilinx_zynq_zedboard | 19 +
configure/os/CONFIG.Common.UnixCommon | 2 +-
...arwin-ppc => CONFIG.Common.darwin-aarch64} | 8 +-
configure/os/CONFIG.Common.darwin-ppcx86 | 14 -
configure/os/CONFIG.Common.linux-386 | 21 -
configure/os/CONFIG.Common.linux-486 | 19 -
configure/os/CONFIG.Common.linux-586 | 21 -
configure/os/CONFIG.Common.linux-686 | 20 -
configure/os/CONFIG.Common.linux-aarch64 | 11 +
configure/os/CONFIG.Common.linux-arm_eb | 9 -
configure/os/CONFIG.Common.linux-arm_el | 9 -
configure/os/CONFIG.Common.linux-athlon | 19 -
configure/os/CONFIG.Common.linux-cris | 58 -
configure/os/CONFIG.Common.linux-microblaze | 2 +-
configure/os/CONFIG.Common.linux-xscale_be | 2 +-
configure/os/CONFIG.Common.linuxCommon | 14 +-
configure/os/CONFIG.Common.vxWorksCommon | 45 +-
configure/os/CONFIG.UnixCommon.Common | 3 +-
configure/os/CONFIG.darwin-aarch64.Common | 8 +
configure/os/CONFIG.darwin-ppc.Common | 8 -
.../os/CONFIG.darwin-ppc.darwin-ppc-debug | 13 -
configure/os/CONFIG.darwin-ppcx86.Common | 8 -
configure/os/CONFIG.darwin-x86.Common | 2 +-
configure/os/CONFIG.darwinCommon.darwinCommon | 3 +-
configure/os/CONFIG.linux-386.Common | 10 -
configure/os/CONFIG.linux-386.linux-386 | 8 -
configure/os/CONFIG.linux-486.Common | 10 -
configure/os/CONFIG.linux-486.linux-486 | 9 -
configure/os/CONFIG.linux-586.Common | 10 -
configure/os/CONFIG.linux-586.linux-586 | 9 -
configure/os/CONFIG.linux-686.Common | 10 -
configure/os/CONFIG.linux-686.linux-686 | 9 -
configure/os/CONFIG.linux-aarch64.Common | 8 +
.../os/CONFIG.linux-aarch64.linux-aarch64 | 8 +
configure/os/CONFIG.linux-x86.Common | 2 +-
configure/os/CONFIG.linux-x86.linux-arm | 2 +-
configure/os/CONFIG.linux-x86.linux-arm_eb | 9 -
configure/os/CONFIG.linux-x86.linux-arm_el | 9 -
configure/os/CONFIG.linux-x86.linux-cris | 38 -
configure/os/CONFIG.linux-x86.linux-cris_v10 | 20 -
configure/os/CONFIG.linux-x86.linux-cris_v32 | 20 -
configure/os/CONFIG.linux-x86.linux-x86 | 3 -
configure/os/CONFIG.linux-x86.win32-x86-mingw | 2 +-
configure/os/CONFIG.linux-x86_64.Common | 2 +-
.../os/CONFIG.linux-x86_64.linux-aarch64 | 28 +
...CONFIG.solaris-sparc-gnu.solaris-sparc-gnu | 4 +-
.../os/CONFIG.win32-x86-mingw.win32-x86-mingw | 2 +-
configure/os/CONFIG.win32-x86.Common | 2 +-
configure/os/CONFIG.win32-x86.win32-x86 | 29 +-
configure/os/CONFIG_SITE.Common.RTEMS | 21 +-
configure/os/CONFIG_SITE.Common.RTEMS-pc386 | 3 -
.../os/CONFIG_SITE.Common.RTEMS-pc386-qemu | 9 +
.../os/CONFIG_SITE.Common.RTEMS-pc686-qemu | 9 +
configure/os/CONFIG_SITE.Common.cygwin-x86 | 6 +
configure/os/CONFIG_SITE.Common.cygwin-x86_64 | 10 +-
.../os/CONFIG_SITE.Common.darwin-aarch64 | 9 +
configure/os/CONFIG_SITE.Common.darwin-ppc | 12 -
configure/os/CONFIG_SITE.Common.darwin-ppcx86 | 20 -
configure/os/CONFIG_SITE.Common.darwin-x86 | 8 +-
configure/os/CONFIG_SITE.Common.linux-aarch64 | 38 +
configure/os/CONFIG_SITE.Common.linux-arm | 9 +
configure/os/CONFIG_SITE.Common.linux-cris | 34 -
configure/os/CONFIG_SITE.Common.linux-x86 | 17 +-
configure/os/CONFIG_SITE.Common.linux-x86_64 | 14 +-
configure/os/CONFIG_SITE.Common.linuxCommon | 11 +-
configure/os/CONFIG_SITE.Common.vxWorksCommon | 15 +-
.../os/CONFIG_SITE.cygwin-x86.cygwin-x86 | 8 +
configure/os/CONFIG_SITE.darwin-ppc.Common | 4 -
configure/os/CONFIG_SITE.darwin-ppcx86.Common | 4 -
.../CONFIG_SITE.linux-aarch64.linux-aarch64 | 12 +
configure/os/CONFIG_SITE.linux-x86.Common | 6 +-
configure/os/CONFIG_SITE.linux-x86.linux-arm | 3 +-
.../os/CONFIG_SITE.linux-x86.linux-arm_eb | 13 -
.../os/CONFIG_SITE.linux-x86.linux-arm_el | 13 -
configure/os/CONFIG_SITE.linux-x86.linux-cris | 14 -
configure/os/CONFIG_SITE.linux-x86.linux-x86 | 14 +
.../os/CONFIG_SITE.linux-x86.win32-x86-mingw | 8 +-
.../os/CONFIG_SITE.linux-x86_64.linux-aarch64 | 30 +
.../os/CONFIG_SITE.linux-x86_64.linux-x86_64 | 13 +
configure/toolchain.c | 37 +
documentation/.gitignore | 3 +
documentation/Doxyfile@ | 2351 ++++++
documentation/KnownProblems.html | 18 +-
documentation/Makefile | 35 +
documentation/README.cris | 67 -
documentation/README.darwin.html | 184 -
documentation/README.md | 467 +-
documentation/RELEASE_NOTES.md | 3009 +++++---
documentation/RecordReference.md | 31 +-
documentation/ReleaseChecklist.html | 312 +-
documentation/commit-gh.sh | 45 +
documentation/mainpage.dox | 15 +
modules/CONFIG_SITE.local | 13 +
modules/Makefile | 43 +
.../pcas/example => modules/ca}/Makefile | 12 +-
.../menuPini.dbd => modules/ca/src/Makefile | 29 +-
{src/ca => modules/ca/src}/client/CASG.cpp | 14 +-
{src/ca => modules/ca/src}/client/CAref.html | 32 +-
{src/ca => modules/ca/src}/client/Makefile | 33 +-
.../ca/src}/client/S99caRepeater@ | 0
.../ca => modules/ca/src}/client/SearchDest.h | 14 +-
{src/ca => modules/ca/src}/client/access.cpp | 584 +-
{src/ca => modules/ca/src}/client/acctst.c | 482 +-
.../ca => modules/ca/src}/client/acctstMain.c | 26 +-
.../ca/src}/client/acctstRegister.cpp | 3 +-
{src/ca => modules/ca/src}/client/addrList.h | 27 +-
.../ca/src}/client/autoPtrFreeList.h | 39 +-
.../ca/src}/client/autoPtrRecycle.h | 30 +-
.../ca => modules/ca/src}/client/baseNMIU.cpp | 8 +-
{src/ca => modules/ca/src}/client/bhe.cpp | 77 +-
{src/ca => modules/ca/src}/client/bhe.h | 75 +-
{src/ca => modules/ca/src}/client/ca.rc | 0
.../ca/src}/client/caConnTest.cpp | 42 +-
.../ca/src}/client/caConnTestMain.cpp | 6 +-
.../ca/src}/client/caDiagnostics.h | 16 +-
.../ca/src}/client/caEventRate.cpp | 34 +-
.../ca/src}/client/caEventRateMain.cpp | 6 +-
{src/ca => modules/ca/src}/client/caProto.h | 71 +-
modules/ca/src/client/caRepeater.cpp | 97 +
.../ca/src}/client/caRepeater.service@ | 0
.../ca => modules/ca/src}/client/caServerID.h | 20 +-
modules/ca/src/client/caVersion.h@ | 22 +
.../ca/src}/client/ca_client_context.cpp | 20 +-
{src/ca => modules/ca/src}/client/cac.cpp | 34 +-
{src/ca => modules/ca/src}/client/cac.h | 64 +-
.../ca/src}/client/cacChannel.cpp | 41 +-
modules/ca/src/client/cacChannelNotify.cpp | 32 +
.../ca/src}/client/cacContextNotify.cpp | 14 +-
{src/ca => modules/ca/src}/client/cacIO.h | 50 +-
.../ca/src}/client/cacReadNotify.cpp | 10 +-
.../ca/src}/client/cacStateNotify.cpp | 10 +-
.../ca/src}/client/cacWriteNotify.cpp | 10 +-
{src/ca => modules/ca/src}/client/cadef.h | 324 +-
{src/ca => modules/ca/src}/client/caerr.h | 36 +-
.../ca/src}/client/caeventmask.h | 12 +-
{src/ca => modules/ca/src}/client/casw.cpp | 46 +-
{src/ca => modules/ca/src}/client/catime.c | 92 +-
.../ca => modules/ca/src}/client/catimeMain.c | 6 +-
{src/ca => modules/ca/src}/client/comBuf.cpp | 26 +-
{src/ca => modules/ca/src}/client/comBuf.h | 52 +-
.../ca/src}/client/comQueRecv.cpp | 16 +-
.../ca => modules/ca/src}/client/comQueRecv.h | 32 +-
.../ca/src}/client/comQueSend.cpp | 121 +-
.../ca => modules/ca/src}/client/comQueSend.h | 106 +-
{src/ca => modules/ca/src}/client/convert.cpp | 189 +-
modules/ca/src/client/db_access.h | 732 ++
.../src}/client/disconnectGovernorTimer.cpp | 25 +-
.../ca/src}/client/disconnectGovernorTimer.h | 51 +-
modules/ca/src/client/evtime.c | 95 +
.../ca/src}/client/future_work.txt | 0
.../ca/src}/client/getCallback.cpp | 27 +-
{src/ca => modules/ca/src}/client/getCopy.cpp | 47 +-
.../ca/src}/client/hostNameCache.cpp | 24 +-
.../ca/src}/client/hostNameCache.h | 37 +-
.../ca => modules/ca/src}/client/inetAddrID.h | 16 +-
{src/ca => modules/ca/src}/client/iocinf.cpp | 54 +-
{src/ca => modules/ca/src}/client/iocinf.h | 36 +-
.../ca/src}/client/localHostName.cpp | 12 +-
.../ca/src}/client/localHostName.h | 23 +-
.../src}/client/msgForMultiplyDefinedPV.cpp | 33 +-
.../ca/src}/client/msgForMultiplyDefinedPV.h | 43 +-
{src/ca => modules/ca/src}/client/nciu.cpp | 15 +-
{src/ca => modules/ca/src}/client/nciu.h | 31 +-
{src/ca => modules/ca/src}/client/netIO.h | 164 +-
.../ca/src}/client/netReadNotifyIO.cpp | 36 +-
.../ca/src}/client/netSubscription.cpp | 59 +-
.../ca/src}/client/netWriteNotifyIO.cpp | 36 +-
.../ca/src}/client/net_convert.h | 20 +-
{src/ca => modules/ca/src}/client/netiiu.cpp | 48 +-
{src/ca => modules/ca/src}/client/netiiu.h | 82 +-
{src/ca => modules/ca/src}/client/noopiiu.cpp | 73 +-
{src/ca => modules/ca/src}/client/noopiiu.h | 86 +-
{src/ca => modules/ca/src}/client/oldAccess.h | 137 +-
.../ca/src}/client/oldChannelNotify.cpp | 53 +-
.../ca/src}/client/oldSubscription.cpp | 21 +-
.../ca/src}/client/putCallback.cpp | 31 +-
.../ca => modules/ca/src}/client/repeater.cpp | 111 +-
.../ca/src}/client/repeaterClient.h | 44 +-
.../ca/src}/client/repeaterSubscribeTimer.cpp | 22 +-
.../ca/src}/client/repeaterSubscribeTimer.h | 59 +-
.../ca/src}/client/searchTimer.cpp | 134 +-
.../ca/src}/client/searchTimer.h | 71 +-
{src/ca => modules/ca/src}/client/sgAutoPtr.h | 36 +-
{src/ca => modules/ca/src}/client/syncGroup.h | 41 +-
.../ca/src}/client/syncGroupNotify.cpp | 9 +-
.../ca/src}/client/syncGroupReadNotify.cpp | 7 +-
.../ca/src}/client/syncGroupWriteNotify.cpp | 7 +-
{src/ca => modules/ca/src}/client/syncgrp.cpp | 27 +-
.../ca/src}/client/tcpRecvWatchdog.cpp | 64 +-
.../ca/src}/client/tcpRecvWatchdog.h | 50 +-
.../ca/src}/client/tcpSendWatchdog.cpp | 16 +-
.../ca/src}/client/tcpSendWatchdog.h | 43 +-
{src/ca => modules/ca/src}/client/tcpiiu.cpp | 535 +-
modules/ca/src/client/test/ca_test.c | 323 +
.../ca/src}/client/test/ca_test.h | 10 +-
modules/ca/src/client/test/ca_test_main.c | 55 +
.../ca/src}/client/test_event.cpp | 31 +-
{src/ca => modules/ca/src}/client/udpiiu.cpp | 468 +-
{src/ca => modules/ca/src}/client/udpiiu.h | 232 +-
.../ca/src}/client/virtualCircuit.h | 189 +-
{src/ca/client => modules/ca/src}/perl/CA.pm | 12 +-
.../ca/client => modules/ca/src}/perl/Cap5.xs | 16 +-
.../client => modules/ca/src}/perl/Makefile | 16 +-
.../ca/client => modules/ca/src}/perl/capr.pl | 55 +-
.../ca/src}/perl/perlConfig.pl | 0
modules/ca/src/template/Makefile | 17 +
.../ca/src/template}/top/caClientApp/Makefile | 0
.../src/template}/top/caClientApp/caExample.c | 8 +-
.../src/template}/top/caClientApp/caMonitor.c | 62 +-
.../ca/src/template/top/caPerlApp/Makefile | 17 +
.../ca/src/template/top/caPerlApp}/caget.pl | 5 +-
.../ca/src/template/top/caPerlApp}/cainfo.pl | 5 +-
.../src/template/top/caPerlApp}/camonitor.pl | 9 +-
.../ca/src/template/top/caPerlApp}/caput.pl | 5 +-
.../client => modules/ca/src}/tools/Makefile | 10 +-
.../client => modules/ca/src}/tools/caget.c | 41 +-
.../client => modules/ca/src}/tools/cainfo.c | 29 +-
.../ca/src}/tools/camonitor.c | 35 +-
.../client => modules/ca/src}/tools/caput.c | 34 +-
.../ca/src}/tools/tool_lib.c | 55 +-
.../ca/src}/tools/tool_lib.h | 5 +-
.../legacy/pcas => modules/database}/Makefile | 12 +-
modules/database/src/Makefile | 31 +
{src => modules/database/src}/ioc/Makefile | 28 +-
{src => modules/database/src}/ioc/as/Makefile | 1 -
{src => modules/database/src}/ioc/as/asCa.c | 246 +-
{src => modules/database/src}/ioc/as/asCa.h | 17 +-
.../database/src}/ioc/as/asDbLib.c | 132 +-
modules/database/src/ioc/as/asDbLib.h | 56 +
.../database/src}/ioc/as/asIocRegister.c | 44 +-
.../database/src}/ioc/as/asIocRegister.h | 7 +-
.../database/src}/ioc/as/ascheck.c | 45 +-
.../database/src}/ioc/bpt/Makefile | 5 +-
{src => modules/database/src}/ioc/bpt/RULES | 3 +-
.../database/src}/ioc/bpt/bptTypeJdegC.data | 0
.../database/src}/ioc/bpt/bptTypeJdegF.data | 0
.../database/src}/ioc/bpt/bptTypeKdegC.data | 0
.../database/src}/ioc/bpt/bptTypeKdegF.data | 0
.../database/src}/ioc/bpt/cvtTable.h | 14 +-
modules/database/src/ioc/bpt/makeBpt.c | 427 ++
.../database/src}/ioc/bpt/menuConvert.dbd.pod | 0
modules/database/src/ioc/databaseVersion.h@ | 22 +
{src => modules/database/src}/ioc/db/Makefile | 13 +-
{src => modules/database/src}/ioc/db/RULES | 2 +-
.../database/src}/ioc/db/callback.c | 138 +-
modules/database/src/ioc/db/callback.h | 94 +
.../database/src}/ioc/db/chfPlugin.c | 2 +-
.../database/src}/ioc/db/chfPlugin.h | 7 +-
modules/database/src/ioc/db/cvtBpt.c | 201 +
.../database/src}/ioc/db/dbAccess.c | 822 +-
.../database/src}/ioc/db/dbAccess.h | 7 +-
.../database/src}/ioc/db/dbAccessDefs.h | 184 +-
{src => modules/database/src}/ioc/db/dbAddr.h | 1 +
{src => modules/database/src}/ioc/db/dbBkpt.c | 49 +-
{src => modules/database/src}/ioc/db/dbBkpt.h | 36 +-
{src => modules/database/src}/ioc/db/dbCAC.h | 37 +-
{src => modules/database/src}/ioc/db/dbCa.c | 415 +-
modules/database/src/ioc/db/dbCa.h | 88 +
modules/database/src/ioc/db/dbCaPvt.h | 99 +
.../database/src}/ioc/db/dbCaTest.c | 16 +-
.../database/src}/ioc/db/dbCaTest.h | 9 +-
.../database/src}/ioc/db/dbChannel.c | 151 +-
.../database/src}/ioc/db/dbChannel.h | 46 +-
.../database/src}/ioc/db/dbChannelIO.cpp | 12 +-
.../database/src}/ioc/db/dbChannelIO.h | 20 +-
modules/database/src/ioc/db/dbChannelNOOP.h | 118 +
.../database/src}/ioc/db/dbCommon.dbd.pod | 28 +-
.../database/src}/ioc/db/dbCommonInput.pod | 99 +-
.../database/src}/ioc/db/dbCommonOutput.pod | 50 +-
modules/database/src/ioc/db/dbCommonPvt.h | 27 +
.../src}/ioc/db/dbCommonRecord.dbd.pod | 0
modules/database/src/ioc/db/dbConstLink.c | 237 +
modules/database/src/ioc/db/dbConstLink.h | 35 +
.../database/src}/ioc/db/dbContext.cpp | 58 +-
.../src}/ioc/db/dbContextReadNotifyCache.cpp | 32 +-
modules/database/src/ioc/db/dbConvert.c | 1839 +++++
.../database/src}/ioc/db/dbConvert.h | 9 +-
.../database/src}/ioc/db/dbConvertFast.h | 12 +-
modules/database/src/ioc/db/dbConvertJSON.c | 255 +
modules/database/src/ioc/db/dbConvertJSON.h | 29 +
modules/database/src/ioc/db/dbDbLink.c | 513 ++
modules/database/src/ioc/db/dbDbLink.h | 36 +
.../database/src}/ioc/db/dbEvent.c | 163 +-
.../database/src}/ioc/db/dbEvent.h | 63 +-
modules/database/src/ioc/db/dbExtractArray.c | 55 +
modules/database/src/ioc/db/dbExtractArray.h | 60 +
.../database/src}/ioc/db/dbFastLinkConv.c | 828 ++-
.../database/src}/ioc/db/dbIocRegister.c | 203 +-
.../database/src}/ioc/db/dbIocRegister.h | 7 +-
modules/database/src/ioc/db/dbJLink.c | 592 ++
modules/database/src/ioc/db/dbJLink.h | 145 +
modules/database/src/ioc/db/dbLink.c | 536 ++
modules/database/src/ioc/db/dbLink.h | 463 ++
modules/database/src/ioc/db/dbLock.c | 989 +++
modules/database/src/ioc/db/dbLock.h | 66 +
modules/database/src/ioc/db/dbLockPvt.h | 119 +
.../database/src}/ioc/db/dbNotify.c | 59 +-
.../database/src}/ioc/db/dbNotify.h | 55 +-
.../src}/ioc/db/dbPutNotifyBlocker.cpp | 18 +-
.../database/src}/ioc/db/dbPutNotifyBlocker.h | 25 +-
{src => modules/database/src}/ioc/db/dbScan.c | 140 +-
modules/database/src/ioc/db/dbScan.h | 89 +
modules/database/src/ioc/db/dbServer.c | 146 +
modules/database/src/ioc/db/dbServer.h | 176 +
.../database/src}/ioc/db/dbState.c | 2 +-
.../database/src}/ioc/db/dbState.h | 26 +-
.../database/src}/ioc/db/dbSubscriptionIO.cpp | 16 +-
{src => modules/database/src}/ioc/db/dbTest.c | 528 +-
{src => modules/database/src}/ioc/db/dbTest.h | 33 +-
modules/database/src/ioc/db/dbUnitTest.c | 488 ++
modules/database/src/ioc/db/dbUnitTest.h | 341 +
.../database/src}/ioc/db/db_access.c | 2 +-
.../database/src}/ioc/db/db_access_routines.h | 15 +-
modules/database/src/ioc/db/db_convert.h | 73 +
.../database/src}/ioc/db/db_field_log.h | 85 +-
.../database/src}/ioc/db/db_test.c | 17 +-
.../database/src}/ioc/db/db_test.h | 11 +-
.../src}/ioc/db/menuAlarmSevr.dbd.pod | 0
.../src}/ioc/db/menuAlarmStat.dbd.pod | 4 +-
.../database/src}/ioc/db/menuFtype.dbd.pod | 7 +-
.../database/src}/ioc/db/menuIvoa.dbd.pod | 2 +-
.../database/src}/ioc/db/menuOmsl.dbd.pod | 0
modules/database/src/ioc/db/menuPini.dbd.pod | 66 +
modules/database/src/ioc/db/menuPost.dbd.pod | 21 +
.../database/src/ioc/db/menuPriority.dbd.pod | 28 +
.../database/src}/ioc/db/menuScan.dbd.pod | 0
.../database/src}/ioc/db/menuSimm.dbd.pod | 0
.../database/src}/ioc/db/menuYesNo.dbd.pod | 0
{src => modules/database/src}/ioc/db/recGbl.c | 227 +-
modules/database/src/ioc/db/recGbl.h | 100 +
{src => modules/database/src}/ioc/dbCore.rc | 0
.../database/src}/ioc/dbStatic/Makefile | 0
.../database/src}/ioc/dbStatic/RULES | 0
modules/database/src/ioc/dbStatic/dbBase.h | 188 +
.../database/src}/ioc/dbStatic/dbFldTypes.h | 90 +-
modules/database/src/ioc/dbStatic/dbLex.l | 149 +
.../src}/ioc/dbStatic/dbLexRoutines.c | 707 +-
.../database/src}/ioc/dbStatic/dbPvdLib.c | 6 +-
.../src}/ioc/dbStatic/dbStaticIocRegister.c | 71 +-
.../src}/ioc/dbStatic/dbStaticIocRegister.h | 7 +-
.../database/src/ioc/dbStatic/dbStaticLib.c | 3635 +++++++++
.../database/src/ioc/dbStatic/dbStaticLib.h | 256 +
.../database/src/ioc/dbStatic/dbStaticPvt.h | 115 +
.../database/src/ioc/dbStatic/dbStaticRun.c | 568 ++
modules/database/src/ioc/dbStatic/dbYacc.y | 397 +
modules/database/src/ioc/dbStatic/devSup.h | 186 +
modules/database/src/ioc/dbStatic/drvSup.h | 60 +
.../database/src}/ioc/dbStatic/guigroup.h | 10 +-
modules/database/src/ioc/dbStatic/link.h | 207 +
modules/database/src/ioc/dbStatic/recSup.h | 103 +
modules/database/src/ioc/dbStatic/special.h | 68 +
.../database/src}/ioc/dbtemplate/Makefile | 0
.../database/src}/ioc/dbtemplate/RULES | 0
.../src}/ioc/dbtemplate/dbLoadTemplate.h | 16 +-
.../src}/ioc/dbtemplate/dbLoadTemplate.y | 7 +-
.../src}/ioc/dbtemplate/dbLoadTemplate_lex.l | 7 +-
.../src}/ioc/dbtemplate/dbtoolsIocRegister.c | 6 +-
.../src}/ioc/dbtemplate/dbtoolsIocRegister.h | 7 +-
.../database/src}/ioc/dbtemplate/msi.cpp | 5 +-
.../database/src}/ioc/dbtemplate/msi.html | 0
.../database/src}/ioc/misc/Makefile | 1 +
.../database/src}/ioc/misc/dbCore.dbd | 8 +
.../database/src}/ioc/misc/dlload.c | 14 +-
.../database/src}/ioc/misc/dlload.dbd | 0
.../database/src}/ioc/misc/epicsRelease.c | 7 +-
.../database/src}/ioc/misc/epicsRelease.h | 10 +-
.../database/src}/ioc/misc/iocInit.c | 121 +-
.../database/src}/ioc/misc/iocInit.h | 21 +-
.../src}/ioc/misc/iocshRegisterCommon.c | 17 +-
.../src}/ioc/misc/iocshRegisterCommon.h | 23 +-
.../database/src}/ioc/misc/miscIocRegister.c | 38 +-
.../database/src}/ioc/misc/miscIocRegister.h | 7 +-
.../misc/registerAllRecordDeviceDrivers.cpp | 254 +
.../database/src}/ioc/misc/system.dbd | 0
.../database/src}/ioc/registry/Makefile | 2 +
.../src}/ioc/registry/registryCommon.c | 18 +-
.../src}/ioc/registry/registryCommon.h | 14 +-
.../src}/ioc/registry/registryDeviceSupport.c | 8 +-
.../src}/ioc/registry/registryDeviceSupport.h | 11 +-
.../src}/ioc/registry/registryDriverSupport.c | 6 +-
.../src}/ioc/registry/registryDriverSupport.h | 9 +-
.../src}/ioc/registry/registryFunction.c | 8 +-
.../src}/ioc/registry/registryFunction.h | 11 +-
.../src}/ioc/registry/registryIocRegister.c | 4 +-
.../src}/ioc/registry/registryIocRegister.h | 7 +-
.../src/ioc/registry/registryJLinks.c | 23 +
.../src/ioc/registry/registryJLinks.h | 29 +
.../src}/ioc/registry/registryRecordType.c | 6 +-
.../src}/ioc/registry/registryRecordType.h | 12 +-
.../database/src}/ioc/rsrv/Makefile | 6 +-
.../database/src}/ioc/rsrv/camessage.c | 456 +-
.../database/src}/ioc/rsrv/camsgtask.c | 19 +-
.../database/src}/ioc/rsrv/caserverio.c | 45 +-
.../database/src}/ioc/rsrv/caservertask.c | 238 +-
.../database/src}/ioc/rsrv/cast_server.c | 34 +-
.../database/src}/ioc/rsrv/online_notify.c | 47 +-
modules/database/src/ioc/rsrv/rsrv.dbd | 3 +
{src => modules/database/src}/ioc/rsrv/rsrv.h | 15 +-
.../database/src}/ioc/rsrv/rsrvIocRegister.c | 19 +-
.../database/src}/ioc/rsrv/server.h | 22 +-
{src => modules/database/src}/std/Makefile | 15 +-
{src => modules/database/src}/std/dbRecStd.rc | 0
.../database/src}/std/dev/Makefile | 6 +-
.../src}/std/dev/asSubRecordFunctions.c | 28 +-
modules/database/src/std/dev/devAaiSoft.c | 103 +
.../database/src}/std/dev/devAaoSoft.c | 43 +-
modules/database/src/std/dev/devAiSoft.c | 95 +
.../database/src}/std/dev/devAiSoftCallback.c | 51 +-
modules/database/src/std/dev/devAiSoftRaw.c | 69 +
.../database/src}/std/dev/devAoSoft.c | 36 +-
.../database/src}/std/dev/devAoSoftCallback.c | 53 +-
.../database/src}/std/dev/devAoSoftRaw.c | 30 +-
.../database/src}/std/dev/devBiDbState.c | 24 +-
modules/database/src/std/dev/devBiSoft.c | 70 +
.../database/src}/std/dev/devBiSoftCallback.c | 45 +-
.../database/src}/std/dev/devBiSoftRaw.c | 64 +-
.../database/src}/std/dev/devBoDbState.c | 20 +-
.../database/src}/std/dev/devBoSoft.c | 37 +-
.../database/src}/std/dev/devBoSoftCallback.c | 48 +-
.../database/src}/std/dev/devBoSoftRaw.c | 41 +-
.../database/src}/std/dev/devCalcoutSoft.c | 15 +-
.../src}/std/dev/devCalcoutSoftCallback.c | 35 +-
.../database/src}/std/dev/devEnviron.c | 17 +-
modules/database/src/std/dev/devEventSoft.c | 88 +
.../database/src}/std/dev/devGeneralTime.c | 53 +-
.../database/src/std/dev/devHistogramSoft.c | 54 +
modules/database/src/std/dev/devI64inSoft.c | 67 +
.../src/std/dev/devI64inSoftCallback.c | 212 +
modules/database/src/std/dev/devI64outSoft.c | 45 +
.../src/std/dev/devI64outSoftCallback.c | 50 +
modules/database/src/std/dev/devLiSoft.c | 70 +
.../database/src}/std/dev/devLiSoftCallback.c | 45 +-
.../database/src}/std/dev/devLoSoft.c | 38 +-
.../database/src}/std/dev/devLoSoftCallback.c | 52 +-
.../database/src}/std/dev/devLsiSoft.c | 28 +-
.../database/src}/std/dev/devLsoSoft.c | 3 +-
.../src}/std/dev/devLsoSoftCallback.c | 23 +-
.../database/src/std/dev/devMbbiDirectSoft.c | 71 +
.../src}/std/dev/devMbbiDirectSoftCallback.c | 49 +-
.../src}/std/dev/devMbbiDirectSoftRaw.c | 50 +-
modules/database/src/std/dev/devMbbiSoft.c | 71 +
.../src}/std/dev/devMbbiSoftCallback.c | 49 +-
modules/database/src/std/dev/devMbbiSoftRaw.c | 77 +
.../database/src}/std/dev/devMbboDirectSoft.c | 10 +-
.../src}/std/dev/devMbboDirectSoftCallback.c | 27 +-
.../src}/std/dev/devMbboDirectSoftRaw.c | 12 +-
.../database/src}/std/dev/devMbboSoft.c | 34 +-
.../src}/std/dev/devMbboSoftCallback.c | 51 +-
.../database/src}/std/dev/devMbboSoftRaw.c | 10 +-
.../database/src}/std/dev/devPrintfSoft.c | 5 +-
.../src}/std/dev/devPrintfSoftCallback.c | 22 +-
modules/database/src/std/dev/devSASoft.c | 127 +
modules/database/src/std/dev/devSiSoft.c | 75 +
.../database/src}/std/dev/devSiSoftCallback.c | 50 +-
.../database/src}/std/dev/devSoSoft.c | 22 +-
.../database/src}/std/dev/devSoSoftCallback.c | 44 +-
.../database/src}/std/dev/devSoft.dbd | 4 +
.../database/src}/std/dev/devStdio.c | 15 +-
.../database/src}/std/dev/devTimestamp.c | 20 +-
modules/database/src/std/dev/devWfSoft.c | 96 +
.../database/src}/std/dev/softDevIoc.rc | 0
.../database/src}/std/filters/Makefile | 3 +-
.../database/src}/std/filters/arr.c | 151 +-
.../database/src}/std/filters/dbnd.c | 15 +-
.../database/src}/std/filters/decimate.c | 1 +
.../database/src}/std/filters/filters.dbd.pod | 25 +
.../database/src}/std/filters/sync.c | 15 +-
.../database/src}/std/filters/ts.c | 47 +-
modules/database/src/std/filters/utag.c | 99 +
modules/database/src/std/link/Makefile | 19 +
modules/database/src/std/link/links.dbd.pod | 235 +
modules/database/src/std/link/lnkCalc.c | 797 ++
modules/database/src/std/link/lnkConst.c | 590 ++
modules/database/src/std/link/lnkDebug.c | 1046 +++
modules/database/src/std/link/lnkState.c | 236 +
.../database/src}/std/rec/Makefile | 4 +-
{src => modules/database/src}/std/rec/RULES | 2 +-
.../database/src}/std/rec/aSubRecord.c | 82 +-
.../database/src}/std/rec/aSubRecord.dbd.pod | 529 +-
.../database/src}/std/rec/aaiRecord.c | 159 +-
.../database/src}/std/rec/aaiRecord.dbd.pod | 183 +-
.../database/src}/std/rec/aaoRecord.c | 138 +-
.../database/src}/std/rec/aaoRecord.dbd.pod | 121 +-
.../database/src}/std/rec/aiRecord.c | 411 +-
.../database/src}/std/rec/aiRecord.dbd.pod | 78 +-
.../database/src}/std/rec/aoRecord.c | 451 +-
.../database/src}/std/rec/aoRecord.dbd.pod | 62 +-
modules/database/src/std/rec/biRecord.c | 318 +
.../database/src}/std/rec/biRecord.dbd.pod | 108 +-
modules/database/src/std/rec/boRecord.c | 457 ++
.../database/src}/std/rec/boRecord.dbd.pod | 74 +-
.../database/src}/std/rec/calcRecord.c | 49 +-
.../database/src}/std/rec/calcRecord.dbd.pod | 42 +-
.../database/src}/std/rec/calcoutRecord.c | 170 +-
.../src}/std/rec/calcoutRecord.dbd.pod | 52 +-
.../database/src}/std/rec/compressRecord.c | 417 +-
.../src}/std/rec/compressRecord.dbd.pod | 43 +-
.../database/src}/std/rec/dfanoutRecord.c | 86 +-
.../src}/std/rec/dfanoutRecord.dbd.pod | 72 +-
modules/database/src/std/rec/eventRecord.c | 212 +
.../database/src}/std/rec/eventRecord.dbd.pod | 71 +-
.../database/src}/std/rec/fanoutRecord.c | 19 +-
.../src}/std/rec/fanoutRecord.dbd.pod | 31 +-
.../database/src}/std/rec/histogramRecord.c | 116 +-
.../src}/std/rec/histogramRecord.dbd.pod | 57 +-
.../src}/std/rec/image/compress-1.png | Bin
.../src}/std/rec/image/compress-2.png | Bin
modules/database/src/std/rec/int64inRecord.c | 433 ++
.../src/std/rec/int64inRecord.dbd.pod | 568 ++
modules/database/src/std/rec/int64outRecord.c | 426 ++
.../src/std/rec/int64outRecord.dbd.pod | 620 ++
.../database/src}/std/rec/longinRecord.c | 263 +-
.../src}/std/rec/longinRecord.dbd.pod | 82 +-
.../database/src}/std/rec/longoutRecord.c | 321 +-
.../src}/std/rec/longoutRecord.dbd.pod | 98 +-
.../database/src}/std/rec/lsiRecord.c | 63 +-
.../database/src}/std/rec/lsiRecord.dbd.pod | 80 +-
.../database/src}/std/rec/lsoRecord.c | 56 +-
.../database/src}/std/rec/lsoRecord.dbd.pod | 125 +-
.../database/src}/std/rec/mbbiDirectRecord.c | 146 +-
.../src}/std/rec/mbbiDirectRecord.dbd.pod | 211 +-
.../database/src}/std/rec/mbbiRecord.c | 132 +-
.../database/src}/std/rec/mbbiRecord.dbd.pod | 80 +-
.../database/src}/std/rec/mbboDirectRecord.c | 141 +-
.../src}/std/rec/mbboDirectRecord.dbd.pod | 372 +-
.../database/src}/std/rec/mbboRecord.c | 121 +-
.../database/src}/std/rec/mbboRecord.dbd.pod | 97 +-
.../database/src}/std/rec/permissiveRecord.c | 50 +-
.../src}/std/rec/permissiveRecord.dbd.pod | 8 +-
.../database/src}/std/rec/printfRecord.c | 65 +-
.../src}/std/rec/printfRecord.dbd.pod | 31 +-
.../database/src}/std/rec/selRecord.c | 150 +-
.../database/src}/std/rec/selRecord.dbd.pod | 26 +-
.../database/src}/std/rec/seqRecord.c | 41 +-
.../database/src}/std/rec/seqRecord.dbd.pod | 45 +-
.../database/src}/std/rec/stateRecord.c | 80 +-
.../database/src}/std/rec/stateRecord.dbd.pod | 13 +-
modules/database/src/std/rec/stringinRecord.c | 232 +
.../src}/std/rec/stringinRecord.dbd.pod | 104 +-
.../database/src/std/rec/stringoutRecord.c | 267 +
.../src}/std/rec/stringoutRecord.dbd.pod | 183 +-
.../database/src}/std/rec/subArrayRecord.c | 45 +-
.../src}/std/rec/subArrayRecord.dbd.pod | 28 +-
.../database/src}/std/rec/subRecord.c | 29 +-
.../database/src}/std/rec/subRecord.dbd.pod | 32 +-
.../database/src}/std/rec/waveformRecord.c | 153 +-
.../src}/std/rec/waveformRecord.dbd.pod | 109 +-
.../database/src}/std/softIoc/Makefile | 2 -
.../database/src}/std/softIoc/RULES | 4 +-
.../database/src}/std/softIoc/asSub.dbd | 0
.../database/src}/std/softIoc/base.dbd | 5 +
.../src}/std/softIoc/makeInstallDir.pl | 3 +-
.../database/src}/std/softIoc/softIocExit.db | 0
modules/database/src/std/softIoc/softMain.cpp | 273 +
modules/database/src/template/Makefile | 70 +
modules/database/src/template/top/Makefile | 31 +
.../src/template}/top/exampleApp/Db/Makefile | 2 +
.../top/exampleApp/Db/_APPNAME_Version.db | 6 +
.../src/template/top/exampleApp/Db/circle.db | 72 +
.../template}/top/exampleApp/Db/dbExample1.db | 0
.../template}/top/exampleApp/Db/dbExample2.db | 0
.../top/exampleApp/Db/dbSubExample.db | 0
.../top/exampleApp/Db/user.substitutions | 4 +
.../src/template}/top/exampleApp/Makefile | 0
.../src/template}/top/exampleApp/src/Makefile | 26 +-
.../top/exampleApp/src/_APPNAME_Hello.c | 4 +-
.../top/exampleApp/src/_APPNAME_Hello.dbd | 0
.../top/exampleApp}/src/_APPNAME_Main.cpp | 2 +-
.../top/exampleApp/src/dbSubExample.c | 0
.../top/exampleApp/src/dbSubExample.dbd | 0
.../template}/top/exampleApp/src/devXxxSoft.c | 28 +-
.../top/exampleApp/src/dev_APPNAME_Version.c | 38 +
.../exampleApp/src/dev_APPNAME_Version.dbd | 1 +
.../template}/top/exampleApp/src/initTrace.c | 0
.../top/exampleApp/src/initTrace.dbd | 0
.../top/exampleApp/src/sncExample.dbd | 0
.../top/exampleApp/src/sncExample.stt | 22 +
.../top/exampleApp/src/sncProgram.st | 0
.../template/top/exampleApp/src/xxxRecord.c | 273 +
.../top/exampleApp/src/xxxRecord.dbd | 0
.../top/exampleApp/src/xxxSupport.dbd | 2 +
.../src/template}/top/exampleBoot/Makefile | 0
.../top/exampleBoot/ioc/Makefile@Common | 0
.../top/exampleBoot/ioc/Makefile@cygwin | 0
.../top/exampleBoot/ioc/Makefile@vxWorks | 0
.../top/exampleBoot/ioc/Makefile@win32 | 0
.../top/exampleBoot/ioc/Makefile@windows | 0
.../top/exampleBoot/ioc/README@Common | 0
.../top/exampleBoot/ioc/README@RTEMS | 0
.../top/exampleBoot/ioc/README@vxWorks | 0
.../top/exampleBoot/ioc/st.cmd@Common | 9 +-
.../top/exampleBoot/ioc/st.cmd@RTEMS | 11 +-
.../top/exampleBoot/ioc/st.cmd@vxWorks | 15 +-
.../top/exampleBoot/nfsCommands@RTEMS | 26 +
.../top/exampleBoot/nfsCommands@vxWorks | 29 +
.../src/template/top/iocApp}/Db/Makefile | 4 -
.../src/template}/top/iocApp/Makefile | 0
.../src/template}/top/iocApp/src/Makefile | 0
.../top/iocApp}/src/_APPNAME_Main.cpp | 2 +-
.../src/template}/top/iocBoot/Makefile | 0
.../template}/top/iocBoot/ioc/Makefile@Common | 0
.../template}/top/iocBoot/ioc/Makefile@cygwin | 0
.../top/iocBoot/ioc/Makefile@vxWorks | 0
.../template}/top/iocBoot/ioc/Makefile@win32 | 0
.../top/iocBoot/ioc/Makefile@windows | 0
.../template}/top/iocBoot/ioc/st.cmd@Common | 4 +-
.../template}/top/iocBoot/ioc/st.cmd@Cross | 4 +-
.../template}/top/iocBoot/ioc/st.cmd@RTEMS | 6 +-
.../template}/top/iocBoot/ioc/st.cmd@vxWorks | 6 +-
.../template/top/iocBoot/nfsCommands@RTEMS | 29 +
.../template/top/iocBoot/nfsCommands@vxWorks | 29 +
.../src/template/top/supportApp}/Db/Makefile | 4 -
.../src/template}/top/supportApp/Makefile | 0
.../src/template}/top/supportApp/src/Makefile | 0
.../top/supportApp/src/_APPNAME_.dbd | 0
{src => modules/database/src}/tools/DBD.pm | 29 +-
.../database/src}/tools/DBD/Base.pm | 52 +-
.../database/src}/tools/DBD/Breaktable.pm | 21 +-
.../database/src}/tools/DBD/Device.pm | 33 +-
modules/database/src/tools/DBD/Driver.pm | 17 +
modules/database/src/tools/DBD/Function.pm | 17 +
modules/database/src/tools/DBD/Link.pm | 30 +
.../database/src}/tools/DBD/Menu.pm | 21 +-
.../database/src}/tools/DBD/Output.pm | 65 +-
modules/database/src/tools/DBD/Parser.pm | 333 +
.../database/src}/tools/DBD/Recfield.pm | 94 +-
modules/database/src/tools/DBD/Record.pm | 129 +
.../database/src}/tools/DBD/Recordtype.pm | 22 +-
modules/database/src/tools/DBD/Registrar.pm | 17 +
.../database/src}/tools/DBD/Variable.pm | 16 +-
modules/database/src/tools/EPICS/IOC.pm | 525 ++
modules/database/src/tools/Makefile | 63 +
modules/database/src/tools/dbExpand.pl | 89 +
.../database/src}/tools/dbdExpand.pl | 15 +-
.../database/src}/tools/dbdReport.pl | 10 +-
.../database/src}/tools/dbdToHtml.pl | 12 +-
.../database/src}/tools/dbdToMenuH.pl | 13 +-
.../database/src}/tools/dbdToRecordtypeH.pl | 91 +-
.../database/src}/tools/epics-base-arch.pc@ | 1 +
.../database/src}/tools/epics-base.pc@ | 0
.../database/src}/tools/makeIncludeDbd.pl | 4 +-
.../src}/tools/registerRecordDeviceDriver.pl | 43 +-
modules/database/test/Makefile | 22 +
.../database/test/ioc/db}/Makefile | 97 +-
.../database/test/ioc/db}/arrRecord.c | 20 +-
.../database/test/ioc/db}/arrRecord.dbd | 8 +
.../database/test/ioc/db}/arrShorthandTest.c | 26 +-
.../database/test/ioc/db}/benchdbConvert.c | 3 +
.../test/ioc/db}/callbackParallelTest.c | 5 +-
.../database/test/ioc/db}/callbackTest.c | 7 +-
.../database/test/ioc/db}/chfPluginTest.c | 85 +-
.../database/test/ioc/db}/dbBadLink.db | 5 +
modules/database/test/ioc/db/dbCACTest.cpp | 85 +
modules/database/test/ioc/db/dbCaLinkTest.c | 633 ++
modules/database/test/ioc/db/dbCaLinkTest1.db | 5 +
modules/database/test/ioc/db/dbCaLinkTest2.db | 10 +
modules/database/test/ioc/db/dbCaLinkTest3.db | 14 +
.../database/test/ioc/db}/dbCaStats.db | 0
.../database/test/ioc/db}/dbCaStatsTest.c | 1 +
.../database/test/ioc/db}/dbChArrTest.cpp | 44 +-
.../database/test/ioc/db}/dbChArrTest.db | 0
.../database/test/ioc/db}/dbChannelTest.c | 45 +-
modules/database/test/ioc/db/dbDbLinkTest.c | 136 +
modules/database/test/ioc/db/dbDbLinkTest.db | 6 +
.../database/test/ioc/db}/dbLinkdset.c | 12 +-
.../database/test/ioc/db}/dbLinkdset.dbd | 3 +-
modules/database/test/ioc/db/dbLockTest.c | 432 ++
.../database/test/ioc/db}/dbLockTest.db | 3 +
modules/database/test/ioc/db/dbPutGetTest.c | 381 +
.../database/test/ioc/db}/dbPutGetTest.db | 11 +-
modules/database/test/ioc/db/dbPutLinkTest.c | 714 ++
.../database/test/ioc/db}/dbPutLinkTest.db | 9 +
.../database/test/ioc/db/dbPutLinkTestJ.db | 16 +
modules/database/test/ioc/db/dbScanTest.c | 74 +
modules/database/test/ioc/db/dbServerTest.c | 197 +
.../database/test/ioc/db}/dbShutdownTest.c | 1 +
.../database/test/ioc/db}/dbStateTest.c | 1 +
modules/database/test/ioc/db/dbStaticTest.c | 342 +
modules/database/test/ioc/db/dbStaticTest.db | 87 +
modules/database/test/ioc/db/dbStressLock.c | 359 +
modules/database/test/ioc/db/dbStressLock.db | 40 +
modules/database/test/ioc/db/devx.c | 160 +
modules/database/test/ioc/db/devx.dbd | 2 +
modules/database/test/ioc/db/devx.h | 53 +
.../database/test/ioc/db}/epicsRunDbTests.c | 11 +
modules/database/test/ioc/db/jlinkz.c | 259 +
modules/database/test/ioc/db/jlinkz.dbd | 1 +
modules/database/test/ioc/db/jlinkz.h | 28 +
.../test/ioc/db}/recGblCheckDeadbandTest.c | 1 +
.../database/test/ioc/db}/rtemsTestHarness.c | 1 +
modules/database/test/ioc/db/scanIoTest.c | 309 +
modules/database/test/ioc/db/scanIoTest.db | 6 +
.../database/test/ioc/db}/testdbConvert.c | 7 +-
modules/database/test/ioc/db/xLink.c | 88 +
modules/database/test/ioc/db/xLink.dbd | 1 +
modules/database/test/ioc/db/xRecord.c | 170 +
.../database/test/ioc/db}/xRecord.db | 0
modules/database/test/ioc/db/xRecord.dbd | 66 +
.../database/test/ioc/dbtemplate}/Makefile | 13 +-
.../test/ioc/dbtemplate}/dbltExpand.c | 1 +
.../database/test/ioc/dbtemplate}/msi.plt | 6 +-
.../test/ioc/dbtemplate}/t1-include.txt | 0
.../test/ioc/dbtemplate}/t1-result.txt | 0
.../test/ioc/dbtemplate}/t1-template.txt | 0
.../test/ioc/dbtemplate}/t10-result.txt | 0
.../test/ioc/dbtemplate}/t10-substitute.txt | 0
.../test/ioc/dbtemplate}/t10-template.txt | 0
.../test/ioc/dbtemplate}/t11-result.txt | 0
.../test/ioc/dbtemplate}/t11-substitute.txt | 0
.../test/ioc/dbtemplate}/t11-template.txt | 0
.../test/ioc/dbtemplate}/t12-result.txt | 0
.../test/ioc/dbtemplate}/t12-substitute.txt | 0
.../test/ioc/dbtemplate}/t12-template.txt | 0
.../test/ioc/dbtemplate}/t2-result.txt | 0
.../test/ioc/dbtemplate}/t2-substitution.txt | 0
.../test/ioc/dbtemplate}/t2-template.txt | 0
.../test/ioc/dbtemplate}/t3-result.txt | 0
.../test/ioc/dbtemplate}/t3-substitution.txt | 0
.../test/ioc/dbtemplate}/t3-template.txt | 0
.../test/ioc/dbtemplate}/t4-result.txt | 0
.../test/ioc/dbtemplate}/t4-substitution.txt | 0
.../test/ioc/dbtemplate}/t5-result.txt | 0
.../test/ioc/dbtemplate}/t5-substitute.txt | 0
.../test/ioc/dbtemplate}/t5-template.txt | 0
.../test/ioc/dbtemplate}/t6-result.txt | 0
.../test/ioc/dbtemplate}/t6-substitute.txt | 0
.../test/ioc/dbtemplate}/t6-template.txt | 0
.../test/ioc/dbtemplate}/t7-result.txt | 0
.../test/ioc/dbtemplate}/t8-result.txt | 0
.../test/ioc/dbtemplate}/t9-result.txt | 0
.../database/test/std/filters}/Makefile | 16 +-
.../database/test/std/filters}/arrRecord.c | 19 +-
.../database/test/std/filters}/arrRecord.dbd | 8 +
.../database/test/std/filters}/arrTest.cpp | 21 +-
.../database/test/std/filters}/arrTest.db | 0
.../database/test/std/filters}/dbndTest.c | 18 +-
.../database/test/std/filters}/decTest.c | 17 +-
.../test/std/filters}/epicsRunFilterTests.c | 1 +
.../test/std/filters}/rtemsTestHarness.c | 1 +
.../database/test/std/filters}/syncTest.c | 19 +-
.../database/test/std/filters}/tsTest.c | 3 +-
.../database/test/std/filters}/xRecord.c | 1 +
.../database/test/std/filters}/xRecord.db | 0
.../database/test/std/filters}/xRecord.dbd | 0
modules/database/test/std/link/Makefile | 71 +
.../test/std/link/epicsRunLinkTests.c | 30 +
modules/database/test/std/link/ioRecord.c | 23 +
modules/database/test/std/link/ioRecord.db | 1 +
modules/database/test/std/link/ioRecord.dbd | 14 +
modules/database/test/std/link/lnkCalcTest.c | 165 +
modules/database/test/std/link/lnkStateTest.c | 131 +
.../database/test/std/link/rtemsTestHarness.c | 15 +
modules/database/test/std/rec/Makefile | 207 +
.../test/std/rec}/analogMonitorTest.c | 3 +-
.../test/std/rec}/analogMonitorTest.db | 26 +-
.../database/test/std/rec}/arrayOpTest.c | 24 +-
.../database/test/std/rec}/arrayOpTest.db | 1 +
modules/database/test/std/rec/asTest.c | 51 +
modules/database/test/std/rec/asTest.db | 12 +
modules/database/test/std/rec/asTest.dbd | 2 +
modules/database/test/std/rec/asTestLib.c | 292 +
modules/database/test/std/rec/asyncSoftTest.c | 190 +
.../database/test/std/rec/asyncSoftTest.db | 188 +
modules/database/test/std/rec/asyncproctest.c | 150 +
.../database/test/std/rec/asyncproctest.db | 93 +
modules/database/test/std/rec/badCaLink.db | 4 +
modules/database/test/std/rec/compressTest.c | 355 +
modules/database/test/std/rec/compressTest.db | 7 +
modules/database/test/std/rec/dbHeaderTest.c | 242 +
.../database/test/std/rec/dbHeaderTestxx.cpp | 2 +
.../test/std/rec}/epicsRunRecordTests.c | 25 +
.../database/test/std/rec/linkFilterTest.c | 158 +
.../database/test/std/rec/linkFilterTest.db | 16 +
modules/database/test/std/rec/linkInitTest.c | 256 +
modules/database/test/std/rec/linkInitTest.db | 107 +
.../database/test/std/rec/linkRetargetLink.db | 25 +
.../test/std/rec/linkRetargetLinkTest.c | 123 +
.../database/test/std/rec/mbbioDirectTest.c | 146 +
.../database/test/std/rec/mbbioDirectTest.db | 47 +
modules/database/test/std/rec/netget.plt | 214 +
modules/database/test/std/rec/recMiscTest.c | 99 +
modules/database/test/std/rec/recMiscTest.db | 10 +
.../database/test/std/rec}/regressArray1.db | 0
.../database/test/std/rec}/regressHex.db | 0
.../database/test/std/rec}/regressLinkMS.db | 0
.../database/test/std/rec}/regressTest.c | 20 +-
.../database/test/std/rec}/rtemsTestHarness.c | 1 +
.../database/test/std/rec}/scanEventTest.c | 1 +
.../database/test/std/rec}/scanEventTest.db | 0
modules/database/test/std/rec/seqTest.c | 56 +
modules/database/test/std/rec/seqTest.db | 39 +
modules/database/test/std/rec/simmSetup.db | 16 +
modules/database/test/std/rec/simmSimlFail.db | 6 +
modules/database/test/std/rec/simmTest.c | 531 ++
.../test/std/rec/simmTest.substitutions | 32 +
.../test/std/rec/simmTestArray.template | 15 +
.../test/std/rec/simmTestHistogram.template | 12 +
.../test/std/rec/simmTestSimple.template | 10 +
modules/database/test/std/rec/softTest.c | 252 +
modules/database/test/std/rec/softTest.db | 393 +
modules/database/test/tools/Base.plt | 103 +
.../database/test/tools}/Breaktable.plt | 9 +-
.../database/test/tools}/DBD.plt | 9 +-
modules/database/test/tools/Device.plt | 37 +
modules/database/test/tools/Driver.plt | 17 +
modules/database/test/tools/Function.plt | 17 +
.../database/test/tools}/Makefile | 9 +-
.../database/test/tools}/Menu.plt | 19 +-
.../database/test/tools}/Recfield.plt | 9 +-
.../database/test/tools}/Recordtype.plt | 11 +-
modules/database/test/tools/Registrar.plt | 17 +
modules/database/test/tools/Variable.plt | 19 +
modules/libcom/Makefile | 24 +
{src/libCom => modules/libcom}/RTEMS/Makefile | 27 +-
modules/libcom/RTEMS/epicsMakeMemFs.pl | 85 +
modules/libcom/RTEMS/epicsMemFs.c | 111 +
modules/libcom/RTEMS/epicsMemFs.h | 33 +
modules/libcom/RTEMS/epicsNtp.c | 85 +
modules/libcom/RTEMS/epicsNtp.h | 42 +
.../libcom}/RTEMS/epicsRtemsInitHookPost.c | 7 +-
.../libcom}/RTEMS/epicsRtemsInitHookPre.c | 7 +-
.../libcom}/RTEMS/epicsRtemsInitHooks.h | 19 +-
modules/libcom/RTEMS/ne2kpci.c | 59 +
modules/libcom/RTEMS/posix/rtems_config.c | 173 +
modules/libcom/RTEMS/posix/rtems_init.c | 1183 +++
.../libcom}/RTEMS/rtems_netconfig.c | 51 +-
.../libcom}/RTEMS/rtems_util.c | 8 +-
.../libcom/RTEMS/score}/rtems_config.c | 7 +-
.../libcom/RTEMS/score}/rtems_init.c | 185 +-
.../libcom}/RTEMS/setBootConfigFromNVRAM.c | 4 +
{src/libCom => modules/libcom/src}/Com.rc | 0
{src/libCom => modules/libcom/src}/Makefile | 32 +-
.../libCom => modules/libcom/src}/as/Makefile | 0
{src/libCom => modules/libcom/src}/as/RULES | 6 +-
modules/libcom/src/as/asLib.h | 251 +
modules/libcom/src/as/asLib.y | 231 +
modules/libcom/src/as/asLibRoutines.c | 1409 ++++
modules/libcom/src/as/asLib_lex.l | 95 +
.../libcom/src}/as/asTrapWrite.c | 16 +-
modules/libcom/src/as/asTrapWrite.h | 95 +
.../libcom/src}/bucketLib/Makefile | 0
modules/libcom/src/bucketLib/bucketLib.c | 522 ++
modules/libcom/src/bucketLib/bucketLib.h | 199 +
.../libcom/src}/calc/Makefile | 0
modules/libcom/src/calc/calcPerform.c | 519 ++
modules/libcom/src/calc/postfix.c | 635 ++
modules/libcom/src/calc/postfix.h | 366 +
.../libcom/src}/calc/postfixPvt.h | 123 +-
.../libcom/src}/cppStd/Makefile | 1 -
modules/libcom/src/cppStd/epicsAlgorithm.h | 107 +
.../libcom/src}/cvtFast/Makefile | 0
modules/libcom/src/cvtFast/cvtFast.c | 523 ++
modules/libcom/src/cvtFast/cvtFast.h | 86 +
.../libcom/src}/cxxTemplates/Makefile | 3 -
.../libcom/src}/cxxTemplates/README | 0
.../libcom/src}/cxxTemplates/epicsGuard.h | 36 +-
.../libcom/src}/cxxTemplates/epicsSingleton.h | 88 +-
.../src}/cxxTemplates/epicsSingletonMutex.cpp | 13 +-
.../libcom/src}/cxxTemplates/resourceLib.cpp | 5 +-
.../libcom/src}/cxxTemplates/resourceLib.h | 187 +-
.../libcom/src}/cxxTemplates/test/Makefile | 29 +-
.../src/cxxTemplates/test/minmaxTest.cc | 39 +
.../src/cxxTemplates/test/resourceLibTest.cc | 309 +
.../src/cxxTemplates/test/tsDLListBench.cc | 71 +
.../src}/cxxTemplates/test/tsDLListTest.cc | 14 +-
.../src/cxxTemplates/test/tsSLListBench.cc | 85 +
.../src/cxxTemplates/test/tsSLListTest.cc | 108 +
.../libcom/src}/cxxTemplates/tsDLList.h | 88 +-
.../libcom/src}/cxxTemplates/tsFreeList.h | 38 +-
.../libcom/src}/cxxTemplates/tsMinMax.h | 14 +-
.../libcom/src}/cxxTemplates/tsSLList.h | 22 +-
.../libcom/src}/dbmf/Makefile | 0
modules/libcom/src/dbmf/dbmf.c | 299 +
modules/libcom/src/dbmf/dbmf.h | 114 +
.../libcom/src}/ellLib/Makefile | 0
.../libcom/src}/ellLib/ellLib.c | 4 +-
modules/libcom/src/ellLib/ellLib.h | 218 +
.../libcom/src}/ellLib/ellSort.c | 2 +-
.../libcom/src}/env/Makefile | 6 +-
{src/libCom => modules/libcom/src}/env/RULES | 11 +-
.../libcom/src}/env/bldEnvData.pl | 19 +-
modules/libcom/src/env/envDefs.h | 246 +
modules/libcom/src/env/envSubr.c | 425 ++
.../libcom/src}/error/Makefile | 13 +-
.../libCom => modules/libcom/src}/error/RULES | 0
.../libcom/src}/error/epicsPrint.h | 6 +-
modules/libcom/src/error/errMdef.h | 48 +
modules/libcom/src/error/errSymLib.c | 282 +
modules/libcom/src/error/errSymTbl.h | 51 +
.../libcom/src}/error/errlog.c | 58 +-
modules/libcom/src/error/errlog.h | 254 +
modules/libcom/src/error/makeStatTbl.pl | 117 +
.../libcom/src}/fdmgr/Makefile | 0
.../libcom/src}/fdmgr/fdManager.cpp | 65 +-
.../libcom/src}/fdmgr/fdManager.h | 44 +-
.../libcom/src}/fdmgr/fdmgr.cpp | 85 +-
.../libcom/src}/fdmgr/fdmgr.h | 90 +-
.../libcom/src}/flex/COPYING | 0
.../libcom/src}/flex/Changes | 0
.../libcom/src}/flex/EPICS_READ_THIS | 0
.../libcom/src}/flex/Flex.doc | 0
.../libcom/src}/flex/Makefile | 1 -
.../libCom => modules/libcom/src}/flex/README | 0
{src/libCom => modules/libcom/src}/flex/RULES | 4 +-
{src/libCom => modules/libcom/src}/flex/ccl.c | 84 +-
modules/libcom/src/flex/dfa.c | 1048 +++
modules/libcom/src/flex/ecs.c | 334 +
modules/libcom/src/flex/flex.c | 744 ++
.../libcom/src}/flex/flex.html | 0
.../libcom/src}/flex/flex.skel | 554 +-
.../libcom/src}/flex/flex.skel.static | 560 +-
.../libcom/src}/flex/flexdef.h | 139 +-
.../libcom/src}/flex/flexdoc.html | 0
modules/libcom/src/flex/gen.c | 1306 ++++
modules/libcom/src/flex/libmain.c | 8 +
.../libCom => modules/libcom/src}/flex/misc.c | 374 +-
{src/libCom => modules/libcom/src}/flex/nfa.c | 400 +-
modules/libcom/src/flex/parse.y | 702 ++
.../libCom => modules/libcom/src}/flex/scan.c | 1374 ++--
.../libcom/src}/flex/scan.l.DISTRIB | 0
{src/libCom => modules/libcom/src}/flex/sym.c | 90 +-
.../libcom/src}/flex/tblcmp.c | 780 +-
modules/libcom/src/flex/yylex.c | 210 +
.../libcom/src}/freeList/Makefile | 3 +-
modules/libcom/src/freeList/freeList.h | 44 +
modules/libcom/src/freeList/freeListLib.c | 180 +
.../libcom/src}/gpHash/Makefile | 3 +-
.../libcom/src}/gpHash/gpHash.h | 30 +-
.../libcom/src}/gpHash/gpHashLib.c | 18 +-
.../libcom/src}/iocsh/Makefile | 2 +
.../libcom/src/iocsh}/initHooks.c | 15 +-
.../libcom/src/iocsh}/initHooks.h | 21 +-
.../libcom/src}/iocsh/iocsh.cpp | 354 +-
modules/libcom/src/iocsh/iocsh.h | 123 +
.../libcom/src}/iocsh/libComRegister.c | 187 +-
.../libcom/src}/iocsh/libComRegister.h | 7 +-
.../libcom/src}/iocsh/registry.c | 23 +-
.../libcom/src}/iocsh/registry.h | 20 +-
modules/libcom/src/libComVersion.h@ | 22 +
.../libcom/src}/log/Makefile | 4 +-
.../libcom/src}/log/S99logServer@ | 0
.../libcom/src}/log/iocLog.c | 19 +-
.../libcom/src}/log/iocLog.h | 20 +-
modules/libcom/src/log/iocLogServer.c | 1003 +++
.../libcom/src}/log/logClient.c | 112 +-
.../libcom/src}/log/logClient.h | 24 +-
.../libcom/src/macLib}/EPICS/macLib.pm | 4 +-
.../libcom/src}/macLib/Makefile | 2 +
.../libcom/src}/macLib/macCore.c | 30 +-
.../libcom/src}/macLib/macEnv.c | 10 +-
modules/libcom/src/macLib/macLib.h | 309 +
.../libcom/src}/macLib/macLibNOTES | 0
.../libcom/src}/macLib/macLibREADME | 0
modules/libcom/src/macLib/macUtil.c | 284 +
.../libcom/src}/misc/Makefile | 1 -
{src/libCom => modules/libcom/src}/misc/RULES | 2 +-
.../libcom/src}/misc/aToIPAddr.c | 42 +-
.../libcom/src}/misc/adjustment.c | 19 +-
modules/libcom/src/misc/adjustment.h | 36 +
modules/libcom/src/misc/alarm.h | 131 +
.../libcom/src}/misc/alarmString.c | 8 +-
.../libcom/src}/misc/alarmString.h | 20 +-
.../libcom/src}/misc/cantProceed.c | 17 +-
modules/libcom/src/misc/cantProceed.h | 78 +
.../libcom/src}/misc/dbDefs.h | 40 +-
modules/libcom/src/misc/epicsConvert.c | 35 +
.../libcom/src}/misc/epicsConvert.h | 5 +-
.../libcom/src}/misc/epicsExit.c | 30 +-
modules/libcom/src/misc/epicsExit.h | 95 +
modules/libcom/src/misc/epicsExport.h | 122 +
.../libcom/src}/misc/epicsStdlib.c | 44 +-
modules/libcom/src/misc/epicsStdlib.h | 209 +
.../libcom/src}/misc/epicsString.c | 187 +-
modules/libcom/src/misc/epicsString.h | 85 +
.../libcom/src}/misc/epicsTypes.h | 89 +-
.../libcom/src}/misc/epicsUnitTest.c | 140 +-
modules/libcom/src/misc/epicsUnitTest.h | 280 +
.../src}/misc/ipAddrToAsciiAsynchronous.cpp | 56 +-
.../src}/misc/ipAddrToAsciiAsynchronous.h | 30 +-
.../libcom/src}/misc/locationException.h | 6 +-
.../libcom/src}/misc/makeEpicsVersion.pl | 10 +-
.../libcom/src}/misc/shareLib.h | 125 +-
.../libcom/src}/misc/testMain.h | 11 +-
modules/libcom/src/misc/truncateFile.c | 137 +
.../libcom/src}/osi/Makefile | 5 +-
{src/libCom => modules/libcom/src}/osi/RULES | 0
.../libcom/src}/osi/TODOfuture | 0
.../osi/compiler/clang/compilerSpecific.h | 12 +-
.../src}/osi/compiler/clang/epicsAtomicCD.h | 3 +-
.../osi/compiler/default/compilerSpecific.h | 7 +-
.../src}/osi/compiler/default/epicsAtomicCD.h | 3 +-
.../src}/osi/compiler/gcc/compilerSpecific.h | 36 +-
.../src}/osi/compiler/gcc/epicsAtomicCD.h | 33 +-
.../src}/osi/compiler/msvc/compilerSpecific.h | 29 +-
.../src}/osi/compiler/msvc/epicsAtomicCD.h | 27 +-
.../osi/compiler/solStudio/compilerSpecific.h | 5 +-
.../osi/compiler/solStudio/epicsAtomicCD.h | 3 +-
.../libcom/src}/osi/compilerDependencies.h | 33 +-
modules/libcom/src/osi/devLib.h | 139 +
.../libcom/src}/osi/devLibVME.c | 60 +-
modules/libcom/src/osi/devLibVME.h | 431 ++
modules/libcom/src/osi/devLibVMEImpl.h | 89 +
modules/libcom/src/osi/epicsAssert.h | 96 +
.../libcom/src}/osi/epicsAtomic.h | 33 +-
.../libcom/src}/osi/epicsAtomicDefault.h | 41 +-
.../libcom/src}/osi/epicsEndian.h | 3 +-
.../libcom/src}/osi/epicsEvent.cpp | 20 +-
modules/libcom/src/osi/epicsEvent.h | 221 +
.../libcom/src}/osi/epicsFindSymbol.h | 11 +-
.../libcom/src}/osi/epicsGeneralTime.c | 80 +-
modules/libcom/src/osi/epicsGeneralTime.h | 155 +
.../libcom/src}/osi/epicsInterrupt.h | 13 +-
.../libcom/src}/osi/epicsMath.cpp | 8 +-
.../libcom/src}/osi/epicsMessageQueue.cpp | 9 +-
modules/libcom/src/osi/epicsMessageQueue.h | 309 +
.../libcom/src}/osi/epicsMutex.cpp | 104 +-
modules/libcom/src/osi/epicsMutex.h | 271 +
modules/libcom/src/osi/epicsReadline.c | 154 +
modules/libcom/src/osi/epicsReadline.h | 52 +
.../libcom/src}/osi/epicsSignal.h | 28 +-
.../libcom/src}/osi/epicsSpin.h | 15 +-
modules/libcom/src/osi/epicsStackTrace.c | 123 +
.../libcom/src}/osi/epicsStackTrace.h | 13 +-
.../libcom/src}/osi/epicsStackTracePvt.h | 23 +-
.../libcom/src}/osi/epicsStdio.c | 30 +-
modules/libcom/src/osi/epicsStdio.h | 195 +
.../libcom/src}/osi/epicsStdioRedirect.h | 3 +-
.../libcom/src}/osi/epicsTempFile.h | 16 +-
.../libcom/src}/osi/epicsThread.cpp | 55 +-
modules/libcom/src/osi/epicsThread.h | 501 ++
.../libcom/src}/osi/epicsTime.cpp | 161 +-
modules/libcom/src/osi/epicsTime.h | 612 ++
.../libcom/src}/osi/generalTimeSup.h | 13 +-
.../libcom/src}/osi/os/Darwin/epicsMath.h | 9 +-
.../src/osi/os/Darwin}/osdBackTrace.cpp | 7 +-
.../libcom/src}/osi/os/Darwin/osdFindAddr.c | 8 +-
.../libcom/src/osi/os/Darwin/osdMonotonic.c | 34 +
modules/libcom/src/osi/os/Darwin/osdNetIntf.c | 1 +
.../libcom/src}/osi/os/Darwin/osdSock.h | 3 +
.../src/osi/os/Darwin}/osdSockUnsentCount.c | 1 +
.../libcom/src}/osi/os/Darwin/osdTime.cpp | 55 +-
.../libcom/src}/osi/os/Darwin/osdTime.h | 5 +-
modules/libcom/src/osi/os/Darwin/osdgetexec.c | 54 +
.../libcom/src/osi/os/Linux}/osdBackTrace.cpp | 7 +-
.../libcom/src}/osi/os/Linux/osdFindAddr.c | 7 +-
modules/libcom/src/osi/os/Linux/osdNetIntf.c | 1 +
.../libcom/src}/osi/os/Linux/osdSock.h | 6 +
.../src}/osi/os/Linux/osdSockUnsentCount.c | 1 +
.../libcom/src}/osi/os/Linux/osdThread.h | 9 +-
.../libcom/src}/osi/os/Linux/osdThreadExtra.c | 6 +-
.../libcom/src}/osi/os/Linux/osdTime.h | 8 +-
modules/libcom/src/osi/os/Linux/osdgetexec.c | 62 +
.../libcom/src}/osi/os/Linux/osiUnistd.h | 14 +-
.../src/osi/os/RTEMS-posix/devLibVMEOSD.c | 6 +
.../src/osi/os/RTEMS-posix/osdMessageQueue.c | 160 +
.../src/osi/os/RTEMS-posix}/osdMessageQueue.h | 11 +-
.../libcom/src/osi/os/RTEMS-posix/osdMutex.c | 8 +
.../src/osi/os/RTEMS-posix/osdPoolStatus.c | 43 +
.../libcom/src/osi/os/RTEMS-posix/osdSock.h | 81 +
.../src/osi/os/RTEMS-score}/devLibVMEOSD.c | 110 +-
.../osi/os/RTEMS-score}/epicsAtomicOSD.cpp | 0
.../src/osi/os/RTEMS-score}/epicsAtomicOSD.h | 5 +-
.../src/osi/os/RTEMS-score}/epicsMath.h | 9 +-
.../libcom/src/osi/os/RTEMS-score}/osdEvent.c | 23 +-
.../libcom/src/osi/os/RTEMS-score}/osdEvent.h | 6 +-
.../src/osi/os/RTEMS-score}/osdFindSymbol.c | 10 +-
.../libcom/src/osi/os/RTEMS-score}/osdMutex.c | 22 +-
.../libcom/src/osi/os/RTEMS-score}/osdMutex.h | 6 +-
.../src/osi/os/RTEMS-score}/osdPoolStatus.c | 9 +-
.../src/osi/os/RTEMS-score}/osdProcess.c | 13 +-
.../src/osi/os/RTEMS-score/osdReadline.c | 71 +
.../src/osi/os/RTEMS-score/osdSignal.cpp | 20 +
.../libcom/src/osi/os/RTEMS-score}/osdSock.h | 8 +-
.../libcom/src/osi/os/RTEMS-score}/osdSpin.c | 1 +
.../src/osi/os/RTEMS-score}/osdStrtod.h | 6 +-
.../src/osi/os/RTEMS-score}/osdThread.c | 234 +-
.../libcom/src/osi/os/RTEMS-score/osdThread.h | 15 +-
.../src/osi/os/RTEMS-score}/osdThreadExtra.c | 6 +-
.../src/osi/os/RTEMS-score}/osdTime.cpp | 8 +-
.../libcom/src/osi/os/RTEMS-score}/osdTime.h | 1 +
.../src/osi/os/RTEMS-score}/osiUnistd.h | 14 +-
.../libcom/src}/osi/os/RTEMS/epicsMMIO.h | 1 +
.../libcom/src}/osi/os/RTEMS/osdInterrupt.c | 12 +-
.../libcom/src}/osi/os/RTEMS/osdInterrupt.h | 6 +-
.../libcom/src}/osi/os/RTEMS/osdVME.h | 14 +-
.../libcom/src}/osi/os/WIN32/epicsAtomicMS.h | 43 +-
.../libcom/src}/osi/os/WIN32/epicsAtomicOSD.h | 17 +-
modules/libcom/src/osi/os/WIN32/epicsGetopt.c | 126 +
.../libcom/src}/osi/os/WIN32/epicsGetopt.h | 14 +-
.../libcom/src}/osi/os/WIN32/epicsMath.h | 11 +-
.../WIN32/epicsSocketConvertErrnoToString.cpp | 6 +-
.../libcom/src/osi/os/WIN32/epicsTempFile.c | 60 +
.../osi/os/WIN32/forceBadAllocException.cpp | 14 +-
.../libcom/src}/osi/os/WIN32/osdBackTrace.cpp | 8 +-
modules/libcom/src/osi/os/WIN32/osdEnv.c | 70 +
.../libcom/src}/osi/os/WIN32/osdEvent.c | 72 +-
.../libcom/src}/osi/os/WIN32/osdEvent.h | 6 +-
modules/libcom/src/osi/os/WIN32/osdFindAddr.c | 108 +
.../libcom/src/osi/os/WIN32/osdFindSymbol.c | 116 +
.../libcom/src/osi/os/WIN32/osdMonotonic.c | 56 +
.../libcom/src}/osi/os/WIN32/osdMutex.c | 53 +-
.../libcom/src}/osi/os/WIN32/osdMutex.h | 6 +-
.../libcom/src}/osi/os/WIN32/osdNetIntf.c | 72 +-
.../libcom/src/osi/os/WIN32}/osdPoolStatus.c | 9 +-
.../libcom/src}/osi/os/WIN32/osdPoolStatus.h | 6 +-
.../libcom/src}/osi/os/WIN32/osdProcess.c | 61 +-
modules/libcom/src/osi/os/WIN32/osdSignal.cpp | 20 +
modules/libcom/src/osi/os/WIN32/osdSock.c | 189 +
.../libcom/src}/osi/os/WIN32/osdSock.h | 27 +-
.../src}/osi/os/WIN32/osdSockUnsentCount.c | 2 +-
.../libcom/src}/osi/os/WIN32/osdStdio.c | 8 +-
.../libcom/src}/osi/os/WIN32/osdStrtod.h | 24 +-
.../libcom/src}/osi/os/WIN32/osdThread.c | 379 +-
.../libcom/src}/osi/os/WIN32/osdThread.h | 7 +-
.../libcom/src}/osi/os/WIN32/osdThreadExtra.c | 6 +-
.../libcom/src/osi/os/WIN32/osdThreadPvt.h | 20 +
.../libcom/src}/osi/os/WIN32/osdTime.cpp | 50 +-
.../libcom/src}/osi/os/WIN32/osdTime.h | 1 +
.../libcom/src}/osi/os/WIN32/osdWireConfig.h | 6 +
modules/libcom/src/osi/os/WIN32/osdgetexec.c | 56 +
.../libcom/src/osi/os/WIN32/osiUnistd.h | 17 +-
.../src}/osi/os/WIN32/setThreadName.cpp | 8 +-
.../src}/osi/os/WIN32/systemCallIntMech.cpp | 11 +-
.../src}/osi/os/cygwin32/devLibVMEOSD.c | 4 +-
.../libcom/src/osi/os/cygwin32/osdNetIntf.c | 1 +
.../libcom/src}/osi/os/cygwin32/osdSock.h | 7 +
.../libcom/src/osi/os/cygwin32}/osdStrtod.h | 8 +-
.../osi/os/cygwin32/systemCallIntMech.cpp | 6 +-
.../libcom/src}/osi/os/default/devLibVMEOSD.c | 4 +-
.../src}/osi/os/default/epicsAtomicOSD.cpp | 0
.../libcom/src}/osi/os/default/epicsGetopt.h | 6 +-
.../libcom/src}/osi/os/default/epicsMMIO.h | 0
.../libcom/src}/osi/os/default/epicsMMIODef.h | 93 +-
.../epicsSocketConvertErrnoToString.cpp | 8 +-
.../libcom/src/osi/os/default/gnuReadline.c | 125 +
.../libcom/src}/osi/os/default/osdAssert.c | 4 +-
.../src}/osi/os/default/osdBackTrace.cpp | 10 +-
modules/libcom/src/osi/os/default/osdEnv.c | 78 +
.../libcom/src}/osi/os/default/osdFindAddr.c | 8 +-
.../src}/osi/os/default/osdFindSymbol.c | 10 +-
.../libcom/src}/osi/os/default/osdInterrupt.c | 12 +-
.../libcom/src}/osi/os/default/osdInterrupt.h | 6 +-
.../src}/osi/os/default/osdMessageQueue.cpp | 27 +-
.../src}/osi/os/default/osdMessageQueue.h | 0
.../libcom/src/osi/os/default/osdNetIntf.c | 1 +
.../src/osi/os/default}/osdPoolStatus.c | 9 +-
.../src}/osi/os/default/osdPoolStatus.h | 6 +-
.../libcom/src/osi/os/default/osdSignal.cpp | 20 +
.../src/osi/os/default/osdSockAddrReuse.cpp | 68 +
.../src}/osi/os/default/osdSockUnsentCount.c | 1 +
.../libcom/src}/osi/os/default/osdSpin.c | 4 +-
.../src}/osi/os/default/osdThreadExtra.c | 6 +-
.../src}/osi/os/default/osdThreadHooks.c | 17 +-
.../libcom/src}/osi/os/default/osdVME.h | 6 +-
.../src}/osi/os/default/osdWireConfig.h | 12 +-
.../src}/osi/os/default/osdWireFormat.h | 47 +-
.../libcom/src/osi/os/default/osdgetexec.c | 19 +-
.../libcom/src/osi/os/freebsd/osdNetIntf.c | 1 +
.../libcom/src}/osi/os/freebsd/osdSock.h | 3 +
.../libcom/src}/osi/os/freebsd/osdTime.h | 5 +-
.../libcom/src/osi/os/freebsd/osdgetexec.c | 74 +
.../libcom/src}/osi/os/freebsd/osiUnistd.h | 11 +-
.../libcom/src}/osi/os/iOS/epicsMath.h | 9 +-
modules/libcom/src/osi/os/iOS/osdMonotonic.c | 34 +
modules/libcom/src/osi/os/iOS/osdNetIntf.c | 1 +
.../libcom/src}/osi/os/iOS/osdSock.h | 3 +
.../src/osi/os/iOS}/osdSockUnsentCount.c | 1 +
.../libcom/src}/osi/os/iOS/osdTime.h | 3 +-
.../libcom/src}/osi/os/posix/README | 0
.../src}/osi/os/posix/epicsAtomicOSD.cpp | 28 +-
.../libcom/src}/osi/os/posix/epicsAtomicOSD.h | 11 +-
.../libcom/src}/osi/os/posix/epicsMath.h | 9 +-
.../libcom/src/osi/os/posix/epicsTempFile.c | 10 +-
.../libcom/src}/osi/os/posix/osdElfFindAddr.c | 32 +-
.../libcom/src}/osi/os/posix/osdEvent.c | 23 +-
.../libcom/src}/osi/os/posix/osdEvent.h | 6 +-
.../src/osi/os/posix/osdExecinfoBackTrace.cpp | 36 +
.../libcom/src}/osi/os/posix/osdFindSymbol.c | 21 +-
.../libcom/src/osi/os/posix/osdMonotonic.c | 72 +
modules/libcom/src/osi/os/posix/osdMutex.c | 208 +
.../libcom/src}/osi/os/posix/osdMutex.h | 6 +-
.../src/osi/os/posix/osdPosixMutexPriv.h | 28 +
.../libcom/src}/osi/os/posix/osdProcess.c | 57 +-
.../libcom/src}/osi/os/posix/osdSignal.cpp | 12 +-
.../libcom/src}/osi/os/posix/osdSock.c | 105 +-
.../libcom/src}/osi/os/posix/osdSpin.c | 8 +-
.../libcom/src}/osi/os/posix/osdStdio.c | 11 +-
.../libcom/src}/osi/os/posix/osdStrtod.h | 6 +-
.../libcom/src}/osi/os/posix/osdThread.c | 264 +-
.../libcom/src}/osi/os/posix/osdThread.h | 14 +-
.../libcom/src}/osi/os/posix/osdThreadExtra.c | 6 +-
.../libcom/src}/osi/os/posix/osdTime.cpp | 28 +-
.../libcom/src}/osi/os/posix/osdTime.h | 24 +-
.../libcom/src}/osi/os/posix/osiUnistd.h | 14 +-
.../src}/osi/os/posix/systemCallIntMech.cpp | 11 +-
.../src}/osi/os/solaris/epicsAtomicOSD.h | 17 +-
.../libcom/src}/osi/os/solaris/epicsMath.h | 9 +-
.../src}/osi/os/solaris/osdBackTrace.cpp | 34 +-
.../libcom/src}/osi/os/solaris/osdFindAddr.c | 7 +-
.../libcom/src}/osi/os/solaris/osdSock.h | 3 +
.../libcom/src/osi/os/solaris}/osdStrtod.h | 8 +-
.../src}/osi/os/solaris/osdWireConfig.h | 6 +
.../libcom/src/osi/os/solaris/osdgetexec.c | 34 +
.../libcom/src}/osi/os/vxWorks/atReboot.cpp | 3 +-
modules/libcom/src/osi/os/vxWorks/camacLib.h | 63 +
.../libcom/src}/osi/os/vxWorks/devLibVMEOSD.c | 95 +-
.../src}/osi/os/vxWorks/epicsAtomicOSD.cpp | 0
.../src}/osi/os/vxWorks/epicsAtomicOSD.h | 109 +-
.../libcom/src}/osi/os/vxWorks/epicsDynLink.c | 1 +
.../libcom/src}/osi/os/vxWorks/epicsDynLink.h | 1 +
.../libcom/src}/osi/os/vxWorks/epicsMMIO.h | 1 +
.../libcom/src}/osi/os/vxWorks/epicsMath.h | 9 +-
.../src}/osi/os/vxWorks/logMsgToErrlog.cpp | 28 +-
.../libcom/src}/osi/os/vxWorks/module_types.h | 272 +-
modules/libcom/src/osi/os/vxWorks/osdEnv.c | 98 +
.../libcom/src}/osi/os/vxWorks/osdEvent.c | 3 +-
.../libcom/src}/osi/os/vxWorks/osdEvent.h | 3 +-
.../src}/osi/os/vxWorks/osdFindSymbol.c | 8 +-
.../libcom/src}/osi/os/vxWorks/osdInterrupt.c | 6 +-
.../libcom/src}/osi/os/vxWorks/osdInterrupt.h | 6 +-
.../src}/osi/os/vxWorks/osdMessageQueue.cpp | 11 +-
.../src}/osi/os/vxWorks/osdMessageQueue.h | 6 +-
.../libcom/src/osi/os/vxWorks/osdMonotonic.c | 138 +
.../libcom/src}/osi/os/vxWorks/osdMutex.c | 9 +-
.../libcom/src}/osi/os/vxWorks/osdMutex.h | 6 +-
.../src}/osi/os/vxWorks/osdPoolStatus.c | 12 +-
.../libcom/src}/osi/os/vxWorks/osdProcess.c | 14 +-
.../libcom/src/osi/os/vxWorks/osdReadline.c | 101 +
.../libcom/src/osi/os/vxWorks/osdSignal.cpp | 19 +
.../libcom/src}/osi/os/vxWorks/osdSock.c | 40 +-
.../libcom/src}/osi/os/vxWorks/osdSock.h | 5 +-
.../libcom/src}/osi/os/vxWorks/osdSpin.c | 1 +
.../libcom/src}/osi/os/vxWorks/osdStdio.c | 6 +-
.../libcom/src}/osi/os/vxWorks/osdStrtod.h | 7 +-
.../libcom/src}/osi/os/vxWorks/osdThread.c | 177 +-
modules/libcom/src/osi/os/vxWorks/osdThread.h | 29 +
.../src}/osi/os/vxWorks/osdThreadExtra.c | 6 +-
.../libcom/src}/osi/os/vxWorks/osdTime.cpp | 3 +
.../libcom/src}/osi/os/vxWorks/osdTime.h | 6 +-
.../libcom/src}/osi/os/vxWorks/osdVME.h | 6 +-
.../src}/osi/os/vxWorks/osdWireConfig.h | 7 +
modules/libcom/src/osi/os/vxWorks/osiUnistd.h | 21 +
modules/libcom/src/osi/os/vxWorks/strtoll.c | 139 +
.../libcom/src}/osi/os/vxWorks/strtoull.c | 132 +-
.../libcom/src/osi/os/vxWorks/task_params.h | 184 +
.../libcom/src}/osi/os/vxWorks/tz2timezone.c | 1 +
modules/libcom/src/osi/os/vxWorks/veclist.c | 208 +
.../libcom/src}/osi/os/vxWorks/vxComLibrary.c | 4 +-
modules/libcom/src/osi/osdNetIfAddrs.c | 223 +
.../libcom/src/osi/osdNetIfConf.c | 99 +-
.../libcom/src}/osi/osiClockTime.c | 32 +-
.../libcom/src}/osi/osiClockTime.h | 3 +-
modules/libcom/src/osi/osiFileName.h | 47 +
.../libcom/src}/osi/osiNTPTime.c | 19 +-
.../libcom/src}/osi/osiNTPTime.h | 3 +-
modules/libcom/src/osi/osiPoolStatus.h | 47 +
.../libcom/src}/osi/osiProcess.h | 15 +-
.../libcom/src}/osi/osiSock.c | 77 +-
.../libcom/src}/osi/osiSock.h | 103 +-
.../libcom/src}/osi/osiWireFormat.h | 49 +-
.../libcom/src}/pool/Makefile | 0
.../libcom/src}/pool/epicsThreadPool.h | 33 +-
.../libcom/src}/pool/poolJob.c | 2 +-
.../libcom/src}/pool/poolPriv.h | 9 +
.../libcom/src}/pool/threadPool.c | 6 +-
.../libcom/src}/ring/Makefile | 0
.../libcom/src}/ring/epicsRingBytes.c | 55 +-
modules/libcom/src/ring/epicsRingBytes.h | 136 +
.../libcom/src}/ring/epicsRingPointer.cpp | 36 +-
modules/libcom/src/ring/epicsRingPointer.h | 348 +
.../libcom/src}/taskwd/Makefile | 0
.../libcom/src}/taskwd/taskwd.c | 31 +-
.../libcom/src}/taskwd/taskwd.h | 23 +-
.../libcom/src}/timer/Makefile | 0
.../libcom/src}/timer/epicsTimer.cpp | 74 +-
.../libcom/src}/timer/epicsTimer.h | 76 +-
.../libcom/src}/timer/timer.cpp | 25 +-
.../libcom/src}/timer/timerPrivate.h | 55 +-
.../libcom/src}/timer/timerQueue.cpp | 53 +-
.../libcom/src}/timer/timerQueueActive.cpp | 33 +-
.../libcom/src}/timer/timerQueueActiveMgr.cpp | 16 +-
.../libcom/src}/timer/timerQueuePassive.cpp | 17 +-
modules/libcom/src/valgrind/valgrind.h | 6587 +++++++++++++++++
.../libcom/src}/yacc/ACKNOWLEDGEMENTS | 0
.../libcom/src}/yacc/EPICS_READ_THIS | 0
.../libcom/src}/yacc/Makefile | 1 -
.../libcom/src}/yacc/NEW_FEATURES | 0
{src/libCom => modules/libcom/src}/yacc/NOTES | 0
.../libcom/src}/yacc/NO_WARRANTY | 0
.../libCom => modules/libcom/src}/yacc/README | 0
modules/libcom/src/yacc/antelope.c | 346 +
.../libcom/src}/yacc/closure.c | 193 +-
.../libCom => modules/libcom/src}/yacc/defs.h | 102 +-
modules/libcom/src/yacc/error.c | 306 +
.../libCom => modules/libcom/src}/yacc/lalr.c | 330 +-
{src/libCom => modules/libcom/src}/yacc/lr0.c | 379 +-
modules/libcom/src/yacc/mkpar.c | 363 +
modules/libcom/src/yacc/output.c | 1239 ++++
modules/libcom/src/yacc/reader.c | 1797 +++++
.../libcom/src}/yacc/skeleton.c | 86 +-
.../libcom/src}/yacc/symtab.c | 26 +-
modules/libcom/src/yacc/verbose.c | 340 +
modules/libcom/src/yacc/warshall.c | 80 +
.../libcom/src}/yacc/yacc.html | 9 -
.../libcom/src}/yajl/Makefile | 1 +
modules/libcom/src/yajl/RULES | 17 +
modules/libcom/src/yajl/yajl.c | 186 +
modules/libcom/src/yajl/yajl_alloc.c | 50 +
modules/libcom/src/yajl/yajl_alloc.h | 46 +
modules/libcom/src/yajl/yajl_buf.c | 107 +
modules/libcom/src/yajl/yajl_buf.h | 65 +
modules/libcom/src/yajl/yajl_bytestack.h | 69 +
modules/libcom/src/yajl/yajl_common.h | 100 +
modules/libcom/src/yajl/yajl_encode.c | 287 +
modules/libcom/src/yajl/yajl_encode.h | 45 +
.../libcom/src}/yajl/yajl_gen.c | 253 +-
modules/libcom/src/yajl/yajl_gen.h | 225 +
.../libcom/src}/yajl/yajl_lex.c | 666 +-
.../libcom/src}/yajl/yajl_lex.h | 106 +-
modules/libcom/src/yajl/yajl_parse.h | 261 +
.../libcom/src}/yajl/yajl_parser.c | 301 +-
modules/libcom/src/yajl/yajl_parser.h | 85 +
{src/libCom => modules/libcom}/test/Makefile | 90 +-
modules/libcom/test/aslibtest.c | 155 +
.../libcom}/test/blockingSockTest.cpp | 27 +-
.../libCom => modules/libcom}/test/buckTest.c | 1 +
modules/libcom/test/cvtFastPerform.cpp | 357 +
modules/libcom/test/cvtFastTest.c | 460 ++
.../libcom}/test/epicsAlgorithmTest.cpp | 25 +-
.../libcom}/test/epicsAtomicPerform.cpp | 175 +-
.../libcom}/test/epicsAtomicTest.cpp | 228 +-
.../libcom}/test/epicsCalcTest.cpp | 207 +-
.../libcom}/test/epicsEllTest.c | 3 +-
.../libcom}/test/epicsEnvTest.c | 44 +-
.../libcom}/test/epicsEnvUnsetTest.c | 6 +
.../libcom}/test/epicsErrlogTest.c | 45 +-
.../libcom}/test/epicsEventTest.cpp | 46 +-
.../libcom}/test/epicsExitTest.c | 1 +
.../libcom}/test/epicsInlineTest1.c | 1 +
.../libcom}/test/epicsInlineTest2.c | 1 +
.../libcom}/test/epicsInlineTest3.cpp | 1 +
.../libcom}/test/epicsInlineTest4.cpp | 1 +
modules/libcom/test/epicsLoadTest.cpp | 100 +
.../libcom}/test/epicsMMIOTest.c | 3 +-
.../libcom}/test/epicsMathTest.c | 19 +-
.../libcom}/test/epicsMaxThreads.c | 1 +
.../libcom}/test/epicsMessageQueueTest.cpp | 188 +-
.../libcom}/test/epicsMutexTest.cpp | 23 +-
.../libcom}/test/epicsRunLibComTests.c | 5 +
.../libcom}/test/epicsSockResolveTest.c | 3 +
.../libcom}/test/epicsSpinTest.c | 1 +
.../libcom}/test/epicsStackTraceTest.c | 36 +-
.../libcom}/test/epicsStdioTest.c | 13 +-
.../libcom}/test/epicsStdlibTest.c | 7 +
.../libcom}/test/epicsStringTest.c | 130 +-
.../libcom}/test/epicsThreadClassTest.cpp | 1 +
.../libcom}/test/epicsThreadHooksTest.c | 1 +
.../libcom}/test/epicsThreadOnceTest.c | 1 +
.../libcom}/test/epicsThreadPerform.cpp | 17 +-
.../libcom}/test/epicsThreadPoolTest.c | 3 +-
.../libcom}/test/epicsThreadPriorityTest.cpp | 1 +
.../libcom}/test/epicsThreadPrivateTest.cpp | 5 +-
modules/libcom/test/epicsThreadTest.cpp | 241 +
.../libcom}/test/epicsTimeTest.cpp | 46 +-
.../libcom}/test/epicsTimeZoneTest.c | 1 +
.../libcom}/test/epicsTimerTest.cpp | 19 +-
.../libcom}/test/epicsTypesTest.c | 1 +
.../libcom}/test/epicsUnitTestTest.c | 1 +
.../libcom}/test/epicsUnitTestTest.plt | 5 +
.../libcom}/test/fdmgrTest.c | 7 +-
modules/libcom/test/initHookTest.c | 30 +
modules/libcom/test/iocshTest.cpp | 132 +
modules/libcom/test/iocshTestBadArg.cmd | 4 +
.../libcom/test/iocshTestBadArgIndirect.cmd | 3 +
modules/libcom/test/iocshTestSuccess.cmd | 8 +
.../libcom/test/iocshTestSuccessIndirect.cmd | 3 +
.../libcom}/test/ipAddrToAsciiTest.cpp | 1 +
.../libcom}/test/macDefExpandTest.c | 11 +-
{src/tools => modules/libcom}/test/macLib.plt | 7 +-
.../libcom}/test/macLibTest.c | 1 +
.../test/nonEpicsThreadPriorityTest.cpp | 106 +
modules/libcom/test/osiSockTest.c | 427 ++
.../libcom}/test/ringBytesTest.c | 41 +-
.../libcom}/test/ringPointerTest.c | 16 +-
.../libcom}/test/rtemsTestHarness.c | 1 +
.../libcom}/test/taskwdTest.c | 57 +-
modules/libcom/test/testexecname.c | 29 +
modules/libcom/test/yajlTest.plt | 51 +
modules/libcom/test/yajlTestCases.pm | 3388 +++++++++
modules/libcom/test/yajlTestConverter.pl | 101 +
modules/libcom/test/yajl_test.c | 309 +
modules/libcom/vxWorks/Makefile | 63 +
modules/libcom/vxWorks/boost/assert.hpp | 131 +
.../libcom/vxWorks/boost/checked_delete.hpp | 69 +
modules/libcom/vxWorks/boost/config.hpp | 70 +
.../libcom/vxWorks/boost/config/auto_link.hpp | 423 ++
.../vxWorks/boost/config/compiler/gcc.hpp | 260 +
.../vxWorks/boost/config/no_tr1/memory.hpp | 28 +
.../vxWorks/boost/config/no_tr1/utility.hpp | 28 +
.../vxWorks/boost/config/platform/vxworks.hpp | 31 +
.../vxWorks/boost/config/posix_features.hpp | 95 +
.../boost/config/select_compiler_config.hpp | 112 +
.../boost/config/select_platform_config.hpp | 105 +
.../boost/config/select_stdlib_config.hpp | 85 +
.../boost/config/stdlib/dinkumware.hpp | 155 +
.../libcom/vxWorks/boost/config/suffix.hpp | 920 +++
modules/libcom/vxWorks/boost/config/user.hpp | 124 +
.../libcom/vxWorks/boost/current_function.hpp | 68 +
.../vxWorks/boost/detail/sp_typeinfo.hpp | 135 +
.../vxWorks/boost/detail/workaround.hpp | 267 +
.../vxWorks/boost/enable_shared_from_this.hpp | 18 +
.../exception/detail/attribute_noreturn.hpp | 17 +
.../vxWorks/boost/exception/exception.hpp | 483 ++
modules/libcom/vxWorks/boost/memory_order.hpp | 53 +
modules/libcom/vxWorks/boost/shared_ptr.hpp | 19 +
.../vxWorks/boost/smart_ptr/bad_weak_ptr.hpp | 59 +
.../boost/smart_ptr/detail/operator_bool.hpp | 63 +
.../boost/smart_ptr/detail/shared_count.hpp | 603 ++
.../boost/smart_ptr/detail/sp_convertible.hpp | 91 +
.../smart_ptr/detail/sp_counted_base.hpp | 79 +
.../detail/sp_counted_base_gcc_ppc.hpp | 182 +
.../detail/sp_counted_base_gcc_x86.hpp | 174 +
.../smart_ptr/detail/sp_counted_impl.hpp | 254 +
.../boost/smart_ptr/detail/sp_has_sync.hpp | 69 +
.../boost/smart_ptr/detail/sp_nullptr_t.hpp | 45 +
.../boost/smart_ptr/detail/spinlock.hpp | 56 +
.../boost/smart_ptr/detail/spinlock_pool.hpp | 91 +
.../boost/smart_ptr/detail/spinlock_pt.hpp | 79 +
.../boost/smart_ptr/detail/spinlock_sync.hpp | 87 +
.../boost/smart_ptr/detail/yield_k.hpp | 149 +
.../smart_ptr/enable_shared_from_this.hpp | 79 +
.../vxWorks/boost/smart_ptr/shared_ptr.hpp | 1035 +++
.../vxWorks/boost/smart_ptr/weak_ptr.hpp | 253 +
.../libcom/vxWorks/boost/throw_exception.hpp | 100 +
.../vxWorks/boost/tr1/detail/config.hpp | 169 +
modules/libcom/vxWorks/boost/tr1/memory.hpp | 72 +
.../vxWorks/boost/type_traits/is_signed.hpp | 140 +
modules/libcom/vxWorks/boost/weak_ptr.hpp | 18 +
src/Makefile | 61 +-
src/ca/client/autoPtrDestroy.h | 94 -
src/ca/client/caRepeater.cpp | 44 -
src/ca/client/cacChannelNotify.cpp | 34 -
src/ca/client/db_access.h | 740 --
src/ca/client/evtime.c | 95 -
src/ca/client/tcpRecvThread.cpp | 11 -
src/ca/client/templateInstances.cpp | 89 -
src/ca/client/test/ca_test.c | 323 -
src/ca/client/test/ca_test_main.c | 55 -
src/ca/client/ucx.h | 102 -
src/ca/legacy/gdd/Makefile | 92 -
src/ca/legacy/gdd/README | 158 -
src/ca/legacy/gdd/aitConvert.cc | 449 --
src/ca/legacy/gdd/aitConvert.h | 169 -
src/ca/legacy/gdd/aitGen.c | 440 --
src/ca/legacy/gdd/aitHelpers.cc | 243 -
src/ca/legacy/gdd/aitHelpers.h | 462 --
src/ca/legacy/gdd/aitTypes.c | 89 -
src/ca/legacy/gdd/aitTypes.h | 137 -
src/ca/legacy/gdd/dbMapper.cc | 1802 -----
src/ca/legacy/gdd/dbMapper.h | 63 -
src/ca/legacy/gdd/gdd.cc | 1827 -----
src/ca/legacy/gdd/gdd.gif | Bin 4417 -> 0 bytes
src/ca/legacy/gdd/gdd.h | 516 --
src/ca/legacy/gdd/gdd.html | 497 --
src/ca/legacy/gdd/gdd.rc | 36 -
src/ca/legacy/gdd/gddAppDefs.cc | 265 -
src/ca/legacy/gdd/gddAppFuncTable.h | 269 -
src/ca/legacy/gdd/gddAppTable.cc | 622 --
src/ca/legacy/gdd/gddAppTable.h | 203 -
src/ca/legacy/gdd/gddArray.cc | 101 -
src/ca/legacy/gdd/gddArray.h | 59 -
src/ca/legacy/gdd/gddArrayI.h | 31 -
src/ca/legacy/gdd/gddContainer.cc | 156 -
src/ca/legacy/gdd/gddContainer.h | 112 -
src/ca/legacy/gdd/gddContainerI.h | 109 -
src/ca/legacy/gdd/gddEnumStringTable.cc | 152 -
src/ca/legacy/gdd/gddEnumStringTable.h | 50 -
src/ca/legacy/gdd/gddErrorCodes.cc | 30 -
src/ca/legacy/gdd/gddErrorCodes.h | 54 -
src/ca/legacy/gdd/gddI.h | 689 --
src/ca/legacy/gdd/gddNewDel.cc | 78 -
src/ca/legacy/gdd/gddNewDel.h | 118 -
src/ca/legacy/gdd/gddScalar.h | 52 -
src/ca/legacy/gdd/gddScalarI.h | 33 -
src/ca/legacy/gdd/gddTest.cc | 538 --
src/ca/legacy/gdd/gddUtils.cc | 59 -
src/ca/legacy/gdd/gddUtils.h | 147 -
src/ca/legacy/gdd/gddUtilsI.h | 33 -
src/ca/legacy/gdd/gddref.html | 511 --
src/ca/legacy/gdd/gddref2.html | 658 --
src/ca/legacy/gdd/genApps.cc | 51 -
src/ca/legacy/gdd/smartGDDPointer.h | 186 -
src/ca/legacy/pcas/README | 26 -
src/ca/legacy/pcas/RELEASE_NOTES | 253 -
src/ca/legacy/pcas/build/Makefile | 91 -
src/ca/legacy/pcas/build/cas.rc | 36 -
src/ca/legacy/pcas/ex/Makefile | 36 -
src/ca/legacy/pcas/example/README | 7 -
.../pcas/example/directoryService/Makefile | 37 -
.../pcas/example/directoryService/README | 13 -
.../directoryService/directoryServer.cc | 169 -
.../directoryService/directoryServer.h | 147 -
.../pcas/example/directoryService/main.cc | 209 -
.../example/directoryService/pvDirectory.txt | 5 -
.../pcas/example/directoryService/test.adl | 844 ---
.../pcas/example/directoryService/vxEntry.cc | 78 -
src/ca/legacy/pcas/generic/README | 43 -
.../pcas/generic/beaconAnomalyGovernor.cc | 84 -
.../pcas/generic/beaconAnomalyGovernor.h | 53 -
src/ca/legacy/pcas/generic/beaconTimer.cc | 89 -
src/ca/legacy/pcas/generic/beaconTimer.h | 54 -
src/ca/legacy/pcas/generic/caHdrLargeArray.h | 47 -
src/ca/legacy/pcas/generic/caNetAddr.cc | 197 -
src/ca/legacy/pcas/generic/caNetAddr.h | 71 -
src/ca/legacy/pcas/generic/caServer.cc | 182 -
src/ca/legacy/pcas/generic/caServerDefs.h | 34 -
src/ca/legacy/pcas/generic/caServerI.cc | 331 -
src/ca/legacy/pcas/generic/caServerI.h | 176 -
src/ca/legacy/pcas/generic/casAddr.h | 17 -
src/ca/legacy/pcas/generic/casAsyncIOI.cc | 125 -
src/ca/legacy/pcas/generic/casAsyncIOI.h | 66 -
.../legacy/pcas/generic/casAsyncPVAttachIO.cc | 64 -
.../pcas/generic/casAsyncPVAttachIOI.cpp | 67 -
.../legacy/pcas/generic/casAsyncPVAttachIOI.h | 43 -
.../legacy/pcas/generic/casAsyncPVExistIO.cc | 54 -
.../pcas/generic/casAsyncPVExistIOI.cpp | 68 -
.../legacy/pcas/generic/casAsyncPVExistIOI.h | 46 -
src/ca/legacy/pcas/generic/casAsyncReadIO.cc | 58 -
src/ca/legacy/pcas/generic/casAsyncReadIOI.cc | 107 -
src/ca/legacy/pcas/generic/casAsyncReadIOI.h | 45 -
src/ca/legacy/pcas/generic/casAsyncWriteIO.cc | 55 -
.../legacy/pcas/generic/casAsyncWriteIOI.cpp | 69 -
src/ca/legacy/pcas/generic/casAsyncWriteIOI.h | 44 -
.../legacy/pcas/generic/casBufferFactory.cpp | 104 -
src/ca/legacy/pcas/generic/casChannel.cc | 119 -
src/ca/legacy/pcas/generic/casChannelI.cc | 120 -
src/ca/legacy/pcas/generic/casChannelI.h | 166 -
src/ca/legacy/pcas/generic/casCoreClient.cc | 209 -
src/ca/legacy/pcas/generic/casCoreClient.h | 249 -
src/ca/legacy/pcas/generic/casCtx.cc | 46 -
src/ca/legacy/pcas/generic/casCtx.h | 105 -
src/ca/legacy/pcas/generic/casCtxIL.h | 116 -
src/ca/legacy/pcas/generic/casDGClient.cc | 958 ---
src/ca/legacy/pcas/generic/casDGClient.h | 107 -
src/ca/legacy/pcas/generic/casEvent.h | 51 -
src/ca/legacy/pcas/generic/casEventMask.cc | 153 -
src/ca/legacy/pcas/generic/casEventMask.h | 107 -
src/ca/legacy/pcas/generic/casEventRegistry.h | 64 -
src/ca/legacy/pcas/generic/casEventSys.cc | 396 -
src/ca/legacy/pcas/generic/casEventSys.h | 141 -
src/ca/legacy/pcas/generic/casMonEvent.cc | 70 -
src/ca/legacy/pcas/generic/casMonEvent.h | 77 -
src/ca/legacy/pcas/generic/casMonitor.cc | 172 -
src/ca/legacy/pcas/generic/casMonitor.h | 111 -
src/ca/legacy/pcas/generic/casOpaqueAddr.cc | 38 -
src/ca/legacy/pcas/generic/casOpaqueAddrIL.h | 55 -
src/ca/legacy/pcas/generic/casPV.cc | 184 -
src/ca/legacy/pcas/generic/casPVI.cc | 547 --
src/ca/legacy/pcas/generic/casPVI.h | 120 -
src/ca/legacy/pcas/generic/casStrmClient.cc | 2940 --------
src/ca/legacy/pcas/generic/casStrmClient.h | 196 -
src/ca/legacy/pcas/generic/casdef.h | 981 ---
src/ca/legacy/pcas/generic/chanIntfForPV.cc | 65 -
src/ca/legacy/pcas/generic/chanIntfForPV.h | 91 -
.../pcas/generic/channelDestroyEvent.cpp | 33 -
.../legacy/pcas/generic/channelDestroyEvent.h | 56 -
.../pcas/generic/clientBufMemoryManager.cpp | 54 -
.../pcas/generic/clientBufMemoryManager.h | 50 -
src/ca/legacy/pcas/generic/inBuf.cc | 178 -
src/ca/legacy/pcas/generic/inBuf.h | 159 -
src/ca/legacy/pcas/generic/ioBlocked.h | 60 -
src/ca/legacy/pcas/generic/mt/README | 5 -
src/ca/legacy/pcas/generic/mt/ioBlocked.cc | 80 -
src/ca/legacy/pcas/generic/outBuf.cc | 331 -
src/ca/legacy/pcas/generic/outBuf.h | 171 -
src/ca/legacy/pcas/generic/pvAttachReturn.cc | 91 -
src/ca/legacy/pcas/generic/pvExistReturn.cc | 56 -
src/ca/legacy/pcas/generic/st/README | 5 -
src/ca/legacy/pcas/generic/st/caServerOS.cc | 0
src/ca/legacy/pcas/generic/st/casDGEvWakeup.h | 28 -
src/ca/legacy/pcas/generic/st/casDGIOWakeup.h | 41 -
src/ca/legacy/pcas/generic/st/casDGIntfOS.cc | 484 --
src/ca/legacy/pcas/generic/st/casDGIntfOS.h | 57 -
src/ca/legacy/pcas/generic/st/casIntfOS.cc | 72 -
src/ca/legacy/pcas/generic/st/casIntfOS.h | 41 -
src/ca/legacy/pcas/generic/st/casOSD.h | 48 -
src/ca/legacy/pcas/generic/st/casStreamOS.cc | 632 --
src/ca/legacy/pcas/generic/st/casStreamOS.h | 90 -
src/ca/legacy/pcas/generic/st/ioBlocked.cc | 112 -
src/ca/legacy/pcas/generic/st/osiMutexCAS.h | 15 -
.../legacy/pcas/generic/templateInstances.cpp | 29 -
src/ca/legacy/pcas/io/bsdSocket/README | 6 -
src/ca/legacy/pcas/io/bsdSocket/caServerIO.cc | 212 -
src/ca/legacy/pcas/io/bsdSocket/caServerIO.h | 49 -
.../legacy/pcas/io/bsdSocket/casDGIntfIO.cc | 552 --
src/ca/legacy/pcas/io/bsdSocket/casDGIntfIO.h | 68 -
src/ca/legacy/pcas/io/bsdSocket/casIOD.h | 37 -
src/ca/legacy/pcas/io/bsdSocket/casIntfIO.cc | 235 -
src/ca/legacy/pcas/io/bsdSocket/casIntfIO.h | 58 -
.../legacy/pcas/io/bsdSocket/casStreamIO.cc | 314 -
src/ca/legacy/pcas/io/bsdSocket/casStreamIO.h | 46 -
.../pcas/io/bsdSocket/ipIgnoreEntry.cpp | 81 -
.../legacy/pcas/io/bsdSocket/ipIgnoreEntry.h | 46 -
src/ca/legacy/pcas/os/vms/BUILD_VMS.COM | 203 -
src/ca/legacy/pcas/os/vms/README | 7 -
src/ca/legacy/pcas/os/vms/casSpecificOS.h | 57 -
src/ca/legacy/pcas/os/vms/login.com | 3 -
src/ca/legacy/pcas/os/vms/mitfp.c | 271 -
src/ca/legacy/pcas/os/vms/mitfp.cc | 284 -
src/ca/legacy/pcas/os/vms/mitfp.h | 17 -
src/ca/legacy/pcas/os/vms/vms_depen.h | 45 -
.../legacy/pcas/test/gddAppFuncTableTest.cc | 74 -
src/ioc/as/asDbLib.h | 54 -
src/ioc/bpt/makeBpt.c | 427 --
src/ioc/db/callback.h | 82 -
src/ioc/db/cvtBpt.c | 202 -
src/ioc/db/dbCa.h | 78 -
src/ioc/db/dbCaPvt.h | 94 -
src/ioc/db/dbConvert.c | 4671 ------------
src/ioc/db/dbExtractArray.c | 85 -
src/ioc/db/dbExtractArray.h | 34 -
src/ioc/db/dbLink.c | 838 ---
src/ioc/db/dbLink.h | 95 -
src/ioc/db/dbLock.c | 654 --
src/ioc/db/dbLock.h | 54 -
src/ioc/db/dbScan.h | 77 -
src/ioc/db/dbServer.c | 58 -
src/ioc/db/dbServer.h | 58 -
src/ioc/db/dbUnitTest.c | 294 -
src/ioc/db/dbUnitTest.h | 140 -
src/ioc/db/db_convert.h | 71 -
src/ioc/db/recGbl.h | 72 -
src/ioc/db/templateInstances.cpp | 36 -
src/ioc/db/test/dbLockTest.c | 84 -
src/ioc/db/test/dbPutGetTest.c | 150 -
src/ioc/db/test/dbPutLinkTest.c | 397 -
src/ioc/db/test/scanIoTest.c | 519 --
src/ioc/db/test/scanIoTest.db | 4 -
src/ioc/db/test/xRecord.c | 37 -
src/ioc/db/test/xRecord.dbd | 14 -
src/ioc/db/test/yRecord.dbd | 10 -
src/ioc/dbStatic/dbBase.h | 175 -
src/ioc/dbStatic/dbLex.l | 95 -
src/ioc/dbStatic/dbStaticLib.c | 3374 ---------
src/ioc/dbStatic/dbStaticLib.h | 267 -
src/ioc/dbStatic/dbStaticPvt.h | 70 -
src/ioc/dbStatic/dbStaticRun.c | 696 --
src/ioc/dbStatic/dbYacc.y | 298 -
src/ioc/dbStatic/devSup.h | 70 -
src/ioc/dbStatic/drvSup.h | 34 -
src/ioc/dbStatic/link.h | 192 -
src/ioc/dbStatic/recSup.h | 78 -
src/ioc/dbStatic/special.h | 68 -
src/libCom/as/asLib.h | 244 -
src/libCom/as/asLib.y | 230 -
src/libCom/as/asLibRoutines.c | 1352 ----
src/libCom/as/asLib_lex.l | 94 -
src/libCom/as/asTrapWrite.h | 56 -
src/libCom/bucketLib/bucketLib.c | 522 --
src/libCom/bucketLib/bucketLib.h | 91 -
src/libCom/calc/calcPerform.c | 519 --
src/libCom/calc/postfix.c | 628 --
src/libCom/calc/postfix.h | 89 -
src/libCom/cppStd/epicsAlgorithm.h | 79 -
src/libCom/cppStd/epicsMemory.h | 115 -
src/libCom/cvtFast/cvtFast.c | 595 --
src/libCom/cvtFast/cvtFast.h | 82 -
src/libCom/cxxTemplates/epicsOnce.cpp | 103 -
src/libCom/cxxTemplates/epicsOnce.h | 36 -
.../cxxTemplates/epicsSingletonBase.cpp | 59 -
src/libCom/cxxTemplates/test/minmaxTest.cc | 39 -
.../cxxTemplates/test/resourceLibTest.cc | 309 -
src/libCom/cxxTemplates/test/tsBTreeBench.cc | 95 -
src/libCom/cxxTemplates/test/tsBTreeTest.cc | 93 -
src/libCom/cxxTemplates/test/tsDLListBench.cc | 71 -
src/libCom/cxxTemplates/test/tsSLListBench.cc | 85 -
src/libCom/cxxTemplates/test/tsSLListTest.cc | 106 -
src/libCom/cxxTemplates/tsBTree.h | 279 -
src/libCom/dbmf/dbmf.c | 238 -
src/libCom/dbmf/dbmf.h | 46 -
src/libCom/ellLib/ellLib.h | 68 -
src/libCom/env/envDefs.h | 106 -
src/libCom/env/envSubr.c | 426 --
src/libCom/error/errMdef.h | 65 -
src/libCom/error/errSymLib.c | 320 -
src/libCom/error/errSymTbl.h | 33 -
src/libCom/error/errlog.h | 88 -
src/libCom/error/error.h | 56 -
src/libCom/error/makeStatTbl.pl | 127 -
src/libCom/flex/dfa.c | 1056 ---
src/libCom/flex/ecs.c | 342 -
src/libCom/flex/flex.c | 747 --
src/libCom/flex/gen.c | 1314 ----
src/libCom/flex/parse.y | 702 --
src/libCom/flex/yylex.c | 218 -
src/libCom/freeList/freeList.h | 33 -
src/libCom/freeList/freeList.html | 76 -
src/libCom/freeList/freeListLib.c | 155 -
src/libCom/gpHash/gpHash.html | 130 -
src/libCom/iocsh/iocsh.h | 95 -
src/libCom/log/iocLogServer.c | 1002 ---
src/libCom/macLib/macLib.h | 164 -
src/libCom/macLib/macUtil.c | 284 -
src/libCom/misc/adjustment.h | 28 -
src/libCom/misc/alarm.h | 108 -
src/libCom/misc/cantProceed.h | 29 -
src/libCom/misc/epicsConvert.c | 45 -
src/libCom/misc/epicsExit.h | 34 -
src/libCom/misc/epicsExport.h | 43 -
src/libCom/misc/epicsStdlib.h | 84 -
src/libCom/misc/epicsString.h | 50 -
src/libCom/misc/epicsUnitTest.h | 56 -
src/libCom/misc/truncateFile.c | 138 -
src/libCom/misc/unixFileName.h | 20 -
src/libCom/osi/devLib.h | 106 -
src/libCom/osi/devLibVME.h | 306 -
src/libCom/osi/devLibVMEImpl.h | 104 -
src/libCom/osi/epicsAssert.h | 61 -
src/libCom/osi/epicsEvent.h | 80 -
src/libCom/osi/epicsGeneralTime.h | 43 -
src/libCom/osi/epicsMessageQueue.h | 100 -
src/libCom/osi/epicsMutex.h | 112 -
src/libCom/osi/epicsStackTrace.c | 123 -
src/libCom/osi/epicsStdio.h | 107 -
src/libCom/osi/epicsThread.h | 247 -
src/libCom/osi/epicsTime.h | 349 -
src/libCom/osi/os/Darwin/osdEnv.c | 71 -
src/libCom/osi/os/Darwin/osdSockAddrReuse.cpp | 48 -
src/libCom/osi/os/Darwin/osiFileName.h | 16 -
src/libCom/osi/os/Linux/osiFileName.h | 19 -
src/libCom/osi/os/RTEMS/osdMessageQueue.c | 251 -
src/libCom/osi/os/RTEMS/osdSignal.cpp | 21 -
src/libCom/osi/os/RTEMS/osdThread.h | 12 -
src/libCom/osi/os/RTEMS/osiFileName.h | 18 -
src/libCom/osi/os/WIN32/epicsGetopt.c | 127 -
src/libCom/osi/os/WIN32/epicsTempFile.cpp | 64 -
src/libCom/osi/os/WIN32/osdEnv.c | 89 -
src/libCom/osi/os/WIN32/osdFindSymbol.c | 46 -
src/libCom/osi/os/WIN32/osdSignal.cpp | 21 -
src/libCom/osi/os/WIN32/osdSock.c | 190 -
src/libCom/osi/os/WIN32/osdSockAddrReuse.cpp | 44 -
src/libCom/osi/os/WIN32/osiFileName.h | 21 -
src/libCom/osi/os/WIN32/osiUnistd.h | 16 -
.../osi/os/cygwin32/osdSockAddrReuse.cpp | 44 -
src/libCom/osi/os/cygwin32/osiFileName.h | 20 -
src/libCom/osi/os/default/epicsReadline.c | 400 -
src/libCom/osi/os/default/epicsReadline.h | 28 -
src/libCom/osi/os/default/osdEnv.c | 89 -
src/libCom/osi/os/default/osdSignal.cpp | 21 -
src/libCom/osi/os/freebsd/osiFileName.h | 18 -
src/libCom/osi/os/iOS/osdEnv.c | 68 -
src/libCom/osi/os/iOS/osdSockAddrReuse.cpp | 47 -
.../osi/os/posix/osdExecinfoBackTrace.cpp | 18 -
src/libCom/osi/os/posix/osdMutex.c | 331 -
src/libCom/osi/os/posix/osdSockAddrReuse.cpp | 49 -
src/libCom/osi/os/solaris/osdEnv.c | 62 -
src/libCom/osi/os/solaris/osiFileName.h | 21 -
src/libCom/osi/os/vxWorks/README | 3 -
src/libCom/osi/os/vxWorks/camacLib.h | 57 -
src/libCom/osi/os/vxWorks/osdEnv.c | 88 -
src/libCom/osi/os/vxWorks/osdSignal.cpp | 20 -
src/libCom/osi/os/vxWorks/osdThread.h | 13 -
src/libCom/osi/os/vxWorks/osiFileName.h | 19 -
src/libCom/osi/os/vxWorks/strtoll.c | 139 -
src/libCom/osi/os/vxWorks/task_params.h | 184 -
src/libCom/osi/os/vxWorks/veclist.c | 208 -
src/libCom/osi/osiPoolStatus.h | 42 -
src/libCom/ring/epicsRingBytes.h | 54 -
src/libCom/ring/epicsRingPointer.h | 201 -
src/libCom/test/cvtFastPerform.cpp | 148 -
src/libCom/test/epicsThreadTest.cpp | 115 -
src/libCom/test/osiSockTest.c | 74 -
src/libCom/yacc/antelope.c | 343 -
src/libCom/yacc/error.c | 314 -
src/libCom/yacc/mkpar.c | 372 -
src/libCom/yacc/output.c | 1247 ----
src/libCom/yacc/reader.c | 1805 -----
src/libCom/yacc/verbose.c | 349 -
src/libCom/yacc/warshall.c | 88 -
src/libCom/yajl/yajl.c | 160 -
src/libCom/yajl/yajl_alloc.c | 67 -
src/libCom/yajl/yajl_alloc.h | 50 -
src/libCom/yajl/yajl_buf.c | 120 -
src/libCom/yajl/yajl_buf.h | 73 -
src/libCom/yajl/yajl_bytestack.h | 85 -
src/libCom/yajl/yajl_common.h | 76 -
src/libCom/yajl/yajl_encode.c | 196 -
src/libCom/yajl/yajl_encode.h | 50 -
src/libCom/yajl/yajl_gen.h | 159 -
src/libCom/yajl/yajl_parse.h | 193 -
src/libCom/yajl/yajl_parser.h | 82 -
src/std/dev/devAaiSoft.c | 93 -
src/std/dev/devAiSoft.c | 96 -
src/std/dev/devAiSoftRaw.c | 77 -
src/std/dev/devBiSoft.c | 78 -
src/std/dev/devEventSoft.c | 86 -
src/std/dev/devHistogramSoft.c | 76 -
src/std/dev/devLiSoft.c | 78 -
src/std/dev/devMbbiDirectSoft.c | 78 -
src/std/dev/devMbbiSoft.c | 78 -
src/std/dev/devMbbiSoftRaw.c | 79 -
src/std/dev/devSASoft.c | 103 -
src/std/dev/devSiSoft.c | 83 -
src/std/dev/devWfSoft.c | 85 -
src/std/rec/biRecord.c | 292 -
src/std/rec/boRecord.c | 430 --
src/std/rec/eventRecord.c | 203 -
src/std/rec/stringinRecord.c | 208 -
src/std/rec/stringoutRecord.c | 233 -
src/std/rec/test/Makefile | 74 -
src/std/softIoc/softMain.cpp | 233 -
src/template/base/Makefile | 77 -
src/template/base/makeBaseApp.pl | 302 +-
src/template/base/top/caServerApp/Makefile | 34 -
src/template/base/top/caServerApp/README | 63 -
.../base/top/caServerApp/exAsyncPV.cc | 228 -
.../base/top/caServerApp/exChannel.cc | 41 -
src/template/base/top/caServerApp/exPV.cc | 344 -
.../base/top/caServerApp/exScalarPV.cc | 120 -
src/template/base/top/caServerApp/exServer.cc | 435 --
src/template/base/top/caServerApp/exServer.h | 602 --
.../base/top/caServerApp/exVectorPV.cc | 264 -
src/template/base/top/caServerApp/main.cc | 151 -
src/template/base/top/caServerApp/test.adl | 844 ---
src/template/base/top/caServerApp/vxEntry.cc | 78 -
src/template/base/top/configure/CONFIG | 22 +-
src/template/base/top/configure/RELEASE | 21 +-
.../base/top/exampleApp/src/sncExample.stt | 22 -
.../base/top/exampleApp/src/xxxRecord.c | 273 -
.../base/top/exampleApp/src/xxxSupport.dbd | 2 -
.../base/top/exampleBoot/nfsCommands@RTEMS | 26 -
.../base/top/exampleBoot/nfsCommands@vxWorks | 29 -
.../base/top/iocBoot/nfsCommands@RTEMS | 29 -
.../base/top/iocBoot/nfsCommands@vxWorks | 29 -
src/template/ext/makeBaseExt.pl | 22 +-
src/template/ext/top/configure/CONFIG | 37 +-
src/template/ext/top/configure/RULES_JAVA | 6 +-
.../configure/os/CONFIG.linux-x86.linux-386 | 2 -
.../configure/os/CONFIG_SITE.Common.Common | 10 -
.../os/CONFIG_SITE.aix-ppc-gnu.aix-ppc-gnu | 11 -
.../configure/os/CONFIG_SITE.aix-ppc.aix-ppc | 77 -
.../os/CONFIG_SITE.cygwin-x86.cygwin-x86 | 1 -
.../os/CONFIG_SITE.darwin-x86.darwin-x86 | 2 -
.../os/CONFIG_SITE.linux-x86.linux-athlon | 11 -
.../os/CONFIG_SITE.linux-x86.linux-x86 | 2 -
.../CONFIG_SITE.solaris-sparc.solaris-sparc | 2 -
...FIG_SITE.win32-x86-cygwin.win32-x86-cygwin | 11 -
.../os/CONFIG_SITE.win32-x86.win32-x86 | 2 -
src/tools/DBD/Driver.pm | 9 -
src/tools/DBD/Function.pm | 9 -
src/tools/DBD/Parser.pm | 227 -
src/tools/DBD/Registrar.pm | 9 -
src/tools/EPICS/Copy.pm | 1 +
src/tools/EPICS/Getopts.pm | 70 +
src/tools/EPICS/Path.pm | 52 +-
src/tools/EPICS/PodHtml.pm | 21 +-
src/tools/EPICS/Readfile.pm | 113 +-
src/tools/EPICS/Release.pm | 66 +-
src/tools/EpicsHostArch.pl | 7 +-
src/tools/Makefile | 62 +-
src/tools/assembleSnippets.pl | 1 +
src/tools/convertRelease.pl | 60 +-
src/tools/cvsclean.pl | 3 +-
src/tools/depclean.pl | 21 +
src/tools/dos2unix.pl | 10 +-
src/tools/epicsProve.pl | 26 +-
src/tools/expandVars.pl | 15 +-
src/tools/fullPathName.pl | 59 +-
src/tools/genVersionHeader.pl | 193 +
src/tools/installEpics.pl | 1 +
src/tools/makeAPIheader.pl | 188 +
src/tools/makeMakefile.pl | 10 +-
src/tools/makeRPath.py | 86 +
src/tools/makeTestfile.pl | 148 +-
src/tools/mkmf.pl | 1 +
src/tools/munch.pl | 70 +-
src/tools/podRemove.pl | 65 +-
src/tools/podToHtml.pl | 94 +-
src/tools/replaceVAR.pl | 4 +-
src/tools/test/Device.plt | 32 -
src/tools/test/Driver.plt | 12 -
src/tools/test/Function.plt | 12 -
src/tools/test/Registrar.plt | 12 -
src/tools/test/Variable.plt | 14 -
src/tools/testFailures.pl | 53 +-
src/tools/useManifestTool.pl | 5 +
startup/EpicsHostArch | 6 +
startup/unix.csh | 4 +-
startup/unix.sh | 4 +-
startup/win32.bat | 5 +-
startup/windows.bat | 5 +-
src/ioc/db/menuPriority.dbd => test/Makefile | 17 +-
test/tools/Makefile | 15 +
{src/tools/test => test/tools}/Snippets.plt | 7 +-
1945 files changed, 118434 insertions(+), 101461 deletions(-)
rename src/ioc/db/menuPost.dbd => configure/CONFIG_CA_MODULE (65%)
create mode 100644 configure/CONFIG_CA_VERSION
create mode 100644 configure/CONFIG_DATABASE_MODULE
create mode 100644 configure/CONFIG_DATABASE_VERSION
create mode 100644 configure/CONFIG_LIBCOM_MODULE
create mode 100644 configure/CONFIG_LIBCOM_VERSION
create mode 100644 configure/RULES_COMMON
create mode 100644 configure/RULES_MODULES
delete mode 100644 configure/os/CONFIG.Common.RTEMS-at91rm9200ek
create mode 100644 configure/os/CONFIG.Common.RTEMS-beagleboneblack
delete mode 100644 configure/os/CONFIG.Common.RTEMS-gen68360
delete mode 100644 configure/os/CONFIG.Common.RTEMS-mcp750
delete mode 100644 configure/os/CONFIG.Common.RTEMS-mvme167
create mode 100644 configure/os/CONFIG.Common.RTEMS-pc386-qemu
create mode 100644 configure/os/CONFIG.Common.RTEMS-pc686
create mode 100644 configure/os/CONFIG.Common.RTEMS-pc686-qemu
delete mode 100644 configure/os/CONFIG.Common.RTEMS-psim
create mode 100644 configure/os/CONFIG.Common.RTEMS-qoriq_e500
create mode 100644 configure/os/CONFIG.Common.RTEMS-xilinx_zynq_a9_qemu
create mode 100644 configure/os/CONFIG.Common.RTEMS-xilinx_zynq_zedboard
rename configure/os/{CONFIG.Common.darwin-ppc => CONFIG.Common.darwin-aarch64} (70%)
delete mode 100644 configure/os/CONFIG.Common.darwin-ppcx86
delete mode 100644 configure/os/CONFIG.Common.linux-386
delete mode 100644 configure/os/CONFIG.Common.linux-486
delete mode 100644 configure/os/CONFIG.Common.linux-586
delete mode 100644 configure/os/CONFIG.Common.linux-686
create mode 100644 configure/os/CONFIG.Common.linux-aarch64
delete mode 100644 configure/os/CONFIG.Common.linux-arm_eb
delete mode 100644 configure/os/CONFIG.Common.linux-arm_el
delete mode 100644 configure/os/CONFIG.Common.linux-athlon
delete mode 100644 configure/os/CONFIG.Common.linux-cris
create mode 100644 configure/os/CONFIG.darwin-aarch64.Common
delete mode 100644 configure/os/CONFIG.darwin-ppc.Common
delete mode 100644 configure/os/CONFIG.darwin-ppc.darwin-ppc-debug
delete mode 100644 configure/os/CONFIG.darwin-ppcx86.Common
delete mode 100644 configure/os/CONFIG.linux-386.Common
delete mode 100644 configure/os/CONFIG.linux-386.linux-386
delete mode 100644 configure/os/CONFIG.linux-486.Common
delete mode 100644 configure/os/CONFIG.linux-486.linux-486
delete mode 100644 configure/os/CONFIG.linux-586.Common
delete mode 100644 configure/os/CONFIG.linux-586.linux-586
delete mode 100644 configure/os/CONFIG.linux-686.Common
delete mode 100644 configure/os/CONFIG.linux-686.linux-686
create mode 100644 configure/os/CONFIG.linux-aarch64.Common
create mode 100644 configure/os/CONFIG.linux-aarch64.linux-aarch64
delete mode 100644 configure/os/CONFIG.linux-x86.linux-arm_eb
delete mode 100644 configure/os/CONFIG.linux-x86.linux-arm_el
delete mode 100644 configure/os/CONFIG.linux-x86.linux-cris
delete mode 100644 configure/os/CONFIG.linux-x86.linux-cris_v10
delete mode 100644 configure/os/CONFIG.linux-x86.linux-cris_v32
create mode 100644 configure/os/CONFIG.linux-x86_64.linux-aarch64
delete mode 100644 configure/os/CONFIG_SITE.Common.RTEMS-pc386
create mode 100644 configure/os/CONFIG_SITE.Common.RTEMS-pc386-qemu
create mode 100644 configure/os/CONFIG_SITE.Common.RTEMS-pc686-qemu
create mode 100644 configure/os/CONFIG_SITE.Common.darwin-aarch64
delete mode 100644 configure/os/CONFIG_SITE.Common.darwin-ppc
delete mode 100644 configure/os/CONFIG_SITE.Common.darwin-ppcx86
create mode 100644 configure/os/CONFIG_SITE.Common.linux-aarch64
delete mode 100644 configure/os/CONFIG_SITE.Common.linux-cris
delete mode 100644 configure/os/CONFIG_SITE.darwin-ppc.Common
delete mode 100644 configure/os/CONFIG_SITE.darwin-ppcx86.Common
create mode 100644 configure/os/CONFIG_SITE.linux-aarch64.linux-aarch64
delete mode 100644 configure/os/CONFIG_SITE.linux-x86.linux-arm_eb
delete mode 100644 configure/os/CONFIG_SITE.linux-x86.linux-arm_el
delete mode 100644 configure/os/CONFIG_SITE.linux-x86.linux-cris
create mode 100644 configure/os/CONFIG_SITE.linux-x86_64.linux-aarch64
create mode 100644 configure/toolchain.c
create mode 100644 documentation/.gitignore
create mode 100644 documentation/Doxyfile@
create mode 100644 documentation/Makefile
delete mode 100644 documentation/README.cris
delete mode 100644 documentation/README.darwin.html
create mode 100755 documentation/commit-gh.sh
create mode 100644 documentation/mainpage.dox
create mode 100644 modules/CONFIG_SITE.local
create mode 100644 modules/Makefile
rename {src/ca/legacy/pcas/example => modules/ca}/Makefile (67%)
rename src/ioc/db/menuPini.dbd => modules/ca/src/Makefile (51%)
rename {src/ca => modules/ca/src}/client/CASG.cpp (96%)
rename {src/ca => modules/ca/src}/client/CAref.html (99%)
rename {src/ca => modules/ca/src}/client/Makefile (79%)
rename {src/ca => modules/ca/src}/client/S99caRepeater@ (100%)
rename {src/ca => modules/ca/src}/client/SearchDest.h (79%)
rename {src/ca => modules/ca/src}/client/access.cpp (55%)
rename {src/ca => modules/ca/src}/client/acctst.c (93%)
rename {src/ca => modules/ca/src}/client/acctstMain.c (77%)
rename {src/ca => modules/ca/src}/client/acctstRegister.cpp (97%)
rename {src/ca => modules/ca/src}/client/addrList.h (54%)
rename {src/ca => modules/ca/src}/client/autoPtrFreeList.h (76%)
rename {src/ca => modules/ca/src}/client/autoPtrRecycle.h (78%)
rename {src/ca => modules/ca/src}/client/baseNMIU.cpp (83%)
rename {src/ca => modules/ca/src}/client/bhe.cpp (87%)
rename {src/ca => modules/ca/src}/client/bhe.h (57%)
rename {src/ca => modules/ca/src}/client/ca.rc (100%)
rename {src/ca => modules/ca/src}/client/caConnTest.cpp (75%)
rename {src/ca => modules/ca/src}/client/caConnTestMain.cpp (88%)
rename {src/ca => modules/ca/src}/client/caDiagnostics.h (67%)
rename {src/ca => modules/ca/src}/client/caEventRate.cpp (90%)
rename {src/ca => modules/ca/src}/client/caEventRateMain.cpp (85%)
rename {src/ca => modules/ca/src}/client/caProto.h (78%)
create mode 100644 modules/ca/src/client/caRepeater.cpp
rename {src/ca => modules/ca/src}/client/caRepeater.service@ (100%)
rename {src/ca => modules/ca/src}/client/caServerID.h (86%)
create mode 100644 modules/ca/src/client/caVersion.h@
rename {src/ca => modules/ca/src}/client/ca_client_context.cpp (98%)
rename {src/ca => modules/ca/src}/client/cac.cpp (97%)
rename {src/ca => modules/ca/src}/client/cac.h (91%)
rename {src/ca => modules/ca/src}/client/cacChannel.cpp (80%)
create mode 100644 modules/ca/src/client/cacChannelNotify.cpp
rename {src/ca => modules/ca/src}/client/cacContextNotify.cpp (67%)
rename {src/ca => modules/ca/src}/client/cacIO.h (92%)
rename {src/ca => modules/ca/src}/client/cacReadNotify.cpp (74%)
rename {src/ca => modules/ca/src}/client/cacStateNotify.cpp (74%)
rename {src/ca => modules/ca/src}/client/cacWriteNotify.cpp (74%)
rename {src/ca => modules/ca/src}/client/cadef.h (74%)
rename {src/ca => modules/ca/src}/client/caerr.h (88%)
rename {src/ca => modules/ca/src}/client/caeventmask.h (79%)
rename {src/ca => modules/ca/src}/client/casw.cpp (90%)
rename {src/ca => modules/ca/src}/client/catime.c (92%)
rename {src/ca => modules/ca/src}/client/catimeMain.c (91%)
rename {src/ca => modules/ca/src}/client/comBuf.cpp (78%)
rename {src/ca => modules/ca/src}/client/comBuf.h (90%)
rename {src/ca => modules/ca/src}/client/comQueRecv.cpp (97%)
rename {src/ca => modules/ca/src}/client/comQueRecv.h (84%)
rename {src/ca => modules/ca/src}/client/comQueSend.cpp (86%)
rename {src/ca => modules/ca/src}/client/comQueSend.h (71%)
rename {src/ca => modules/ca/src}/client/convert.cpp (95%)
create mode 100644 modules/ca/src/client/db_access.h
rename {src/ca => modules/ca/src}/client/disconnectGovernorTimer.cpp (85%)
rename {src/ca => modules/ca/src}/client/disconnectGovernorTimer.h (61%)
create mode 100644 modules/ca/src/client/evtime.c
rename {src/ca => modules/ca/src}/client/future_work.txt (100%)
rename {src/ca => modules/ca/src}/client/getCallback.cpp (85%)
rename {src/ca => modules/ca/src}/client/getCopy.cpp (80%)
rename {src/ca => modules/ca/src}/client/hostNameCache.cpp (86%)
rename {src/ca => modules/ca/src}/client/hostNameCache.h (65%)
rename {src/ca => modules/ca/src}/client/inetAddrID.h (85%)
rename {src/ca => modules/ca/src}/client/iocinf.cpp (85%)
rename {src/ca => modules/ca/src}/client/iocinf.h (75%)
rename {src/ca => modules/ca/src}/client/localHostName.cpp (87%)
rename {src/ca => modules/ca/src}/client/localHostName.h (70%)
rename {src/ca => modules/ca/src}/client/msgForMultiplyDefinedPV.cpp (80%)
rename {src/ca => modules/ca/src}/client/msgForMultiplyDefinedPV.h (72%)
rename {src/ca => modules/ca/src}/client/nciu.cpp (97%)
rename {src/ca => modules/ca/src}/client/nciu.h (95%)
rename {src/ca => modules/ca/src}/client/netIO.h (78%)
rename {src/ca => modules/ca/src}/client/netReadNotifyIO.cpp (81%)
rename {src/ca => modules/ca/src}/client/netSubscription.cpp (77%)
rename {src/ca => modules/ca/src}/client/netWriteNotifyIO.cpp (80%)
rename {src/ca => modules/ca/src}/client/net_convert.h (59%)
rename {src/ca => modules/ca/src}/client/netiiu.cpp (75%)
rename {src/ca => modules/ca/src}/client/netiiu.h (56%)
rename {src/ca => modules/ca/src}/client/noopiiu.cpp (68%)
rename {src/ca => modules/ca/src}/client/noopiiu.h (52%)
rename {src/ca => modules/ca/src}/client/oldAccess.h (85%)
rename {src/ca => modules/ca/src}/client/oldChannelNotify.cpp (93%)
rename {src/ca => modules/ca/src}/client/oldSubscription.cpp (87%)
rename {src/ca => modules/ca/src}/client/putCallback.cpp (83%)
rename {src/ca => modules/ca/src}/client/repeater.cpp (85%)
rename {src/ca => modules/ca/src}/client/repeaterClient.h (64%)
rename {src/ca => modules/ca/src}/client/repeaterSubscribeTimer.cpp (84%)
rename {src/ca => modules/ca/src}/client/repeaterSubscribeTimer.h (52%)
rename {src/ca => modules/ca/src}/client/searchTimer.cpp (82%)
rename {src/ca => modules/ca/src}/client/searchTimer.h (65%)
rename {src/ca => modules/ca/src}/client/sgAutoPtr.h (77%)
rename {src/ca => modules/ca/src}/client/syncGroup.h (90%)
rename {src/ca => modules/ca/src}/client/syncGroupNotify.cpp (73%)
rename {src/ca => modules/ca/src}/client/syncGroupReadNotify.cpp (96%)
rename {src/ca => modules/ca/src}/client/syncGroupWriteNotify.cpp (95%)
rename {src/ca => modules/ca/src}/client/syncgrp.cpp (92%)
rename {src/ca => modules/ca/src}/client/tcpRecvWatchdog.cpp (83%)
rename {src/ca => modules/ca/src}/client/tcpRecvWatchdog.h (64%)
rename {src/ca => modules/ca/src}/client/tcpSendWatchdog.cpp (84%)
rename {src/ca => modules/ca/src}/client/tcpSendWatchdog.h (59%)
rename {src/ca => modules/ca/src}/client/tcpiiu.cpp (86%)
create mode 100644 modules/ca/src/client/test/ca_test.c
rename {src/ca => modules/ca/src}/client/test/ca_test.h (69%)
create mode 100644 modules/ca/src/client/test/ca_test_main.c
rename {src/ca => modules/ca/src}/client/test_event.cpp (96%)
rename {src/ca => modules/ca/src}/client/udpiiu.cpp (82%)
rename {src/ca => modules/ca/src}/client/udpiiu.h (63%)
rename {src/ca => modules/ca/src}/client/virtualCircuit.h (75%)
rename {src/ca/client => modules/ca/src}/perl/CA.pm (98%)
rename {src/ca/client => modules/ca/src}/perl/Cap5.xs (98%)
rename {src/ca/client => modules/ca/src}/perl/Makefile (86%)
rename {src/ca/client => modules/ca/src}/perl/capr.pl (89%)
rename {src/ca/client => modules/ca/src}/perl/perlConfig.pl (100%)
create mode 100644 modules/ca/src/template/Makefile
rename {src/template/base => modules/ca/src/template}/top/caClientApp/Makefile (100%)
rename {src/template/base => modules/ca/src/template}/top/caClientApp/caExample.c (83%)
rename {src/template/base => modules/ca/src/template}/top/caClientApp/caMonitor.c (63%)
create mode 100644 modules/ca/src/template/top/caPerlApp/Makefile
rename {src/ca/client/perl => modules/ca/src/template/top/caPerlApp}/caget.pl (97%)
rename {src/ca/client/perl => modules/ca/src/template/top/caPerlApp}/cainfo.pl (91%)
rename {src/ca/client/perl => modules/ca/src/template/top/caPerlApp}/camonitor.pl (97%)
rename {src/ca/client/perl => modules/ca/src/template/top/caPerlApp}/caput.pl (97%)
rename {src/ca/client => modules/ca/src}/tools/Makefile (80%)
rename {src/ca/client => modules/ca/src}/tools/caget.c (95%)
rename {src/ca/client => modules/ca/src}/tools/cainfo.c (91%)
rename {src/ca/client => modules/ca/src}/tools/camonitor.c (94%)
rename {src/ca/client => modules/ca/src}/tools/caput.c (95%)
rename {src/ca/client => modules/ca/src}/tools/tool_lib.c (96%)
rename {src/ca/client => modules/ca/src}/tools/tool_lib.h (97%)
rename {src/ca/legacy/pcas => modules/database}/Makefile (79%)
create mode 100644 modules/database/src/Makefile
rename {src => modules/database/src}/ioc/Makefile (57%)
rename {src => modules/database/src}/ioc/as/Makefile (99%)
rename {src => modules/database/src}/ioc/as/asCa.c (53%)
rename {src => modules/database/src}/ioc/as/asCa.h (63%)
rename {src => modules/database/src}/ioc/as/asDbLib.c (70%)
create mode 100644 modules/database/src/ioc/as/asDbLib.h
rename {src => modules/database/src}/ioc/as/asIocRegister.c (69%)
rename {src => modules/database/src}/ioc/as/asIocRegister.h (79%)
rename {src => modules/database/src}/ioc/as/ascheck.c (54%)
rename {src => modules/database/src}/ioc/bpt/Makefile (88%)
rename {src => modules/database/src}/ioc/bpt/RULES (90%)
rename {src => modules/database/src}/ioc/bpt/bptTypeJdegC.data (100%)
rename {src => modules/database/src}/ioc/bpt/bptTypeJdegF.data (100%)
rename {src => modules/database/src}/ioc/bpt/bptTypeKdegC.data (100%)
rename {src => modules/database/src}/ioc/bpt/bptTypeKdegF.data (100%)
rename {src => modules/database/src}/ioc/bpt/cvtTable.h (72%)
create mode 100644 modules/database/src/ioc/bpt/makeBpt.c
rename {src => modules/database/src}/ioc/bpt/menuConvert.dbd.pod (100%)
create mode 100644 modules/database/src/ioc/databaseVersion.h@
rename {src => modules/database/src}/ioc/db/Makefile (93%)
rename {src => modules/database/src}/ioc/db/RULES (94%)
rename {src => modules/database/src}/ioc/db/callback.c (74%)
create mode 100644 modules/database/src/ioc/db/callback.h
rename {src => modules/database/src}/ioc/db/chfPlugin.c (99%)
rename {src => modules/database/src}/ioc/db/chfPlugin.h (97%)
create mode 100644 modules/database/src/ioc/db/cvtBpt.c
rename {src => modules/database/src}/ioc/db/dbAccess.c (63%)
rename {src => modules/database/src}/ioc/db/dbAccess.h (85%)
rename {src => modules/database/src}/ioc/db/dbAccessDefs.h (59%)
rename {src => modules/database/src}/ioc/db/dbAddr.h (97%)
rename {src => modules/database/src}/ioc/db/dbBkpt.c (96%)
rename {src => modules/database/src}/ioc/db/dbBkpt.h (76%)
rename {src => modules/database/src}/ioc/db/dbCAC.h (94%)
rename {src => modules/database/src}/ioc/db/dbCa.c (76%)
create mode 100644 modules/database/src/ioc/db/dbCa.h
create mode 100644 modules/database/src/ioc/db/dbCaPvt.h
rename {src => modules/database/src}/ioc/db/dbCaTest.c (94%)
rename {src => modules/database/src}/ioc/db/dbCaTest.h (72%)
rename {src => modules/database/src}/ioc/db/dbChannel.c (84%)
rename {src => modules/database/src}/ioc/db/dbChannel.h (84%)
rename {src => modules/database/src}/ioc/db/dbChannelIO.cpp (97%)
rename {src => modules/database/src}/ioc/db/dbChannelIO.h (89%)
create mode 100644 modules/database/src/ioc/db/dbChannelNOOP.h
rename {src => modules/database/src}/ioc/db/dbCommon.dbd.pod (96%)
rename {src => modules/database/src}/ioc/db/dbCommonInput.pod (61%)
rename {src => modules/database/src}/ioc/db/dbCommonOutput.pod (83%)
create mode 100644 modules/database/src/ioc/db/dbCommonPvt.h
rename {src => modules/database/src}/ioc/db/dbCommonRecord.dbd.pod (100%)
create mode 100644 modules/database/src/ioc/db/dbConstLink.c
create mode 100644 modules/database/src/ioc/db/dbConstLink.h
rename {src => modules/database/src}/ioc/db/dbContext.cpp (88%)
rename {src => modules/database/src}/ioc/db/dbContextReadNotifyCache.cpp (84%)
create mode 100644 modules/database/src/ioc/db/dbConvert.c
rename {src => modules/database/src}/ioc/db/dbConvert.h (76%)
rename {src => modules/database/src}/ioc/db/dbConvertFast.h (62%)
create mode 100644 modules/database/src/ioc/db/dbConvertJSON.c
create mode 100644 modules/database/src/ioc/db/dbConvertJSON.h
create mode 100644 modules/database/src/ioc/db/dbDbLink.c
create mode 100644 modules/database/src/ioc/db/dbDbLink.h
rename {src => modules/database/src}/ioc/db/dbEvent.c (90%)
rename {src => modules/database/src}/ioc/db/dbEvent.h (52%)
create mode 100644 modules/database/src/ioc/db/dbExtractArray.c
create mode 100644 modules/database/src/ioc/db/dbExtractArray.h
rename {src => modules/database/src}/ioc/db/dbFastLinkConv.c (60%)
rename {src => modules/database/src}/ioc/db/dbIocRegister.c (63%)
rename {src => modules/database/src}/ioc/db/dbIocRegister.h (79%)
create mode 100644 modules/database/src/ioc/db/dbJLink.c
create mode 100644 modules/database/src/ioc/db/dbJLink.h
create mode 100644 modules/database/src/ioc/db/dbLink.c
create mode 100644 modules/database/src/ioc/db/dbLink.h
create mode 100644 modules/database/src/ioc/db/dbLock.c
create mode 100644 modules/database/src/ioc/db/dbLock.h
create mode 100644 modules/database/src/ioc/db/dbLockPvt.h
rename {src => modules/database/src}/ioc/db/dbNotify.c (94%)
rename {src => modules/database/src}/ioc/db/dbNotify.h (80%)
rename {src => modules/database/src}/ioc/db/dbPutNotifyBlocker.cpp (96%)
rename {src => modules/database/src}/ioc/db/dbPutNotifyBlocker.h (81%)
rename {src => modules/database/src}/ioc/db/dbScan.c (89%)
create mode 100644 modules/database/src/ioc/db/dbScan.h
create mode 100644 modules/database/src/ioc/db/dbServer.c
create mode 100644 modules/database/src/ioc/db/dbServer.h
rename {src => modules/database/src}/ioc/db/dbState.c (98%)
rename {src => modules/database/src}/ioc/db/dbState.h (81%)
rename {src => modules/database/src}/ioc/db/dbSubscriptionIO.cpp (94%)
rename {src => modules/database/src}/ioc/db/dbTest.c (76%)
rename {src => modules/database/src}/ioc/db/dbTest.h (57%)
create mode 100644 modules/database/src/ioc/db/dbUnitTest.c
create mode 100644 modules/database/src/ioc/db/dbUnitTest.h
rename {src => modules/database/src}/ioc/db/db_access.c (99%)
rename {src => modules/database/src}/ioc/db/db_access_routines.h (73%)
create mode 100644 modules/database/src/ioc/db/db_convert.h
rename {src => modules/database/src}/ioc/db/db_field_log.h (64%)
rename {src => modules/database/src}/ioc/db/db_test.c (95%)
rename {src => modules/database/src}/ioc/db/db_test.h (68%)
rename {src => modules/database/src}/ioc/db/menuAlarmSevr.dbd.pod (100%)
rename {src => modules/database/src}/ioc/db/menuAlarmStat.dbd.pod (93%)
rename {src => modules/database/src}/ioc/db/menuFtype.dbd.pod (79%)
rename {src => modules/database/src}/ioc/db/menuIvoa.dbd.pod (91%)
rename {src => modules/database/src}/ioc/db/menuOmsl.dbd.pod (100%)
create mode 100644 modules/database/src/ioc/db/menuPini.dbd.pod
create mode 100644 modules/database/src/ioc/db/menuPost.dbd.pod
create mode 100644 modules/database/src/ioc/db/menuPriority.dbd.pod
rename {src => modules/database/src}/ioc/db/menuScan.dbd.pod (100%)
rename {src => modules/database/src}/ioc/db/menuSimm.dbd.pod (100%)
rename {src => modules/database/src}/ioc/db/menuYesNo.dbd.pod (100%)
rename {src => modules/database/src}/ioc/db/recGbl.c (57%)
create mode 100644 modules/database/src/ioc/db/recGbl.h
rename {src => modules/database/src}/ioc/dbCore.rc (100%)
rename {src => modules/database/src}/ioc/dbStatic/Makefile (100%)
rename {src => modules/database/src}/ioc/dbStatic/RULES (100%)
create mode 100644 modules/database/src/ioc/dbStatic/dbBase.h
rename {src => modules/database/src}/ioc/dbStatic/dbFldTypes.h (50%)
create mode 100644 modules/database/src/ioc/dbStatic/dbLex.l
rename {src => modules/database/src}/ioc/dbStatic/dbLexRoutines.c (64%)
rename {src => modules/database/src}/ioc/dbStatic/dbPvdLib.c (98%)
rename {src => modules/database/src}/ioc/dbStatic/dbStaticIocRegister.c (62%)
rename {src => modules/database/src}/ioc/dbStatic/dbStaticIocRegister.h (79%)
create mode 100644 modules/database/src/ioc/dbStatic/dbStaticLib.c
create mode 100644 modules/database/src/ioc/dbStatic/dbStaticLib.h
create mode 100644 modules/database/src/ioc/dbStatic/dbStaticPvt.h
create mode 100644 modules/database/src/ioc/dbStatic/dbStaticRun.c
create mode 100644 modules/database/src/ioc/dbStatic/dbYacc.y
create mode 100644 modules/database/src/ioc/dbStatic/devSup.h
create mode 100644 modules/database/src/ioc/dbStatic/drvSup.h
rename {src => modules/database/src}/ioc/dbStatic/guigroup.h (74%)
create mode 100644 modules/database/src/ioc/dbStatic/link.h
create mode 100644 modules/database/src/ioc/dbStatic/recSup.h
create mode 100644 modules/database/src/ioc/dbStatic/special.h
rename {src => modules/database/src}/ioc/dbtemplate/Makefile (100%)
rename {src => modules/database/src}/ioc/dbtemplate/RULES (100%)
rename {src => modules/database/src}/ioc/dbtemplate/dbLoadTemplate.h (73%)
rename {src => modules/database/src}/ioc/dbtemplate/dbLoadTemplate.y (99%)
rename {src => modules/database/src}/ioc/dbtemplate/dbLoadTemplate_lex.l (87%)
rename {src => modules/database/src}/ioc/dbtemplate/dbtoolsIocRegister.c (85%)
rename {src => modules/database/src}/ioc/dbtemplate/dbtoolsIocRegister.h (75%)
rename {src => modules/database/src}/ioc/dbtemplate/msi.cpp (99%)
rename {src => modules/database/src}/ioc/dbtemplate/msi.html (100%)
rename {src => modules/database/src}/ioc/misc/Makefile (94%)
rename {src => modules/database/src}/ioc/misc/dbCore.dbd (82%)
rename {src => modules/database/src}/ioc/misc/dlload.c (80%)
rename {src => modules/database/src}/ioc/misc/dlload.dbd (100%)
rename {src => modules/database/src}/ioc/misc/epicsRelease.c (86%)
rename {src => modules/database/src}/ioc/misc/epicsRelease.h (70%)
rename {src => modules/database/src}/ioc/misc/iocInit.c (89%)
rename {src => modules/database/src}/ioc/misc/iocInit.h (62%)
rename {src => modules/database/src}/ioc/misc/iocshRegisterCommon.c (78%)
rename {src => modules/database/src}/ioc/misc/iocshRegisterCommon.h (62%)
rename {src => modules/database/src}/ioc/misc/miscIocRegister.c (61%)
rename {src => modules/database/src}/ioc/misc/miscIocRegister.h (79%)
create mode 100644 modules/database/src/ioc/misc/registerAllRecordDeviceDrivers.cpp
rename {src => modules/database/src}/ioc/misc/system.dbd (100%)
rename {src => modules/database/src}/ioc/registry/Makefile (94%)
rename {src => modules/database/src}/ioc/registry/registryCommon.c (84%)
rename {src => modules/database/src}/ioc/registry/registryCommon.h (75%)
rename {src => modules/database/src}/ioc/registry/registryDeviceSupport.c (81%)
rename {src => modules/database/src}/ioc/registry/registryDeviceSupport.h (73%)
rename {src => modules/database/src}/ioc/registry/registryDriverSupport.c (86%)
rename {src => modules/database/src}/ioc/registry/registryDriverSupport.h (77%)
rename {src => modules/database/src}/ioc/registry/registryFunction.c (88%)
rename {src => modules/database/src}/ioc/registry/registryFunction.h (78%)
rename {src => modules/database/src}/ioc/registry/registryIocRegister.c (96%)
rename {src => modules/database/src}/ioc/registry/registryIocRegister.h (79%)
create mode 100644 modules/database/src/ioc/registry/registryJLinks.c
create mode 100644 modules/database/src/ioc/registry/registryJLinks.h
rename {src => modules/database/src}/ioc/registry/registryRecordType.c (86%)
rename {src => modules/database/src}/ioc/registry/registryRecordType.h (80%)
rename {src => modules/database/src}/ioc/rsrv/Makefile (91%)
rename {src => modules/database/src}/ioc/rsrv/camessage.c (88%)
rename {src => modules/database/src}/ioc/rsrv/camsgtask.c (93%)
rename {src => modules/database/src}/ioc/rsrv/caserverio.c (91%)
rename {src => modules/database/src}/ioc/rsrv/caservertask.c (90%)
rename {src => modules/database/src}/ioc/rsrv/cast_server.c (93%)
rename {src => modules/database/src}/ioc/rsrv/online_notify.c (67%)
create mode 100644 modules/database/src/ioc/rsrv/rsrv.dbd
rename {src => modules/database/src}/ioc/rsrv/rsrv.h (72%)
rename {src => modules/database/src}/ioc/rsrv/rsrvIocRegister.c (52%)
rename {src => modules/database/src}/ioc/rsrv/server.h (96%)
rename {src => modules/database/src}/std/Makefile (64%)
rename {src => modules/database/src}/std/dbRecStd.rc (100%)
rename {src => modules/database/src}/std/dev/Makefile (94%)
rename {src => modules/database/src}/std/dev/asSubRecordFunctions.c (75%)
create mode 100644 modules/database/src/std/dev/devAaiSoft.c
rename {src => modules/database/src}/std/dev/devAaoSoft.c (61%)
create mode 100644 modules/database/src/std/dev/devAiSoft.c
rename {src => modules/database/src}/std/dev/devAiSoftCallback.c (83%)
create mode 100644 modules/database/src/std/dev/devAiSoftRaw.c
rename {src => modules/database/src}/std/dev/devAoSoft.c (67%)
rename {src => modules/database/src}/std/dev/devAoSoftCallback.c (52%)
rename {src => modules/database/src}/std/dev/devAoSoftRaw.c (70%)
rename {src => modules/database/src}/std/dev/devBiDbState.c (81%)
create mode 100644 modules/database/src/std/dev/devBiSoft.c
rename {src => modules/database/src}/std/dev/devBiSoftCallback.c (84%)
rename {src => modules/database/src}/std/dev/devBiSoftRaw.c (50%)
rename {src => modules/database/src}/std/dev/devBoDbState.c (86%)
rename {src => modules/database/src}/std/dev/devBoSoft.c (69%)
rename {src => modules/database/src}/std/dev/devBoSoftCallback.c (53%)
rename {src => modules/database/src}/std/dev/devBoSoftRaw.c (63%)
rename {src => modules/database/src}/std/dev/devCalcoutSoft.c (79%)
rename {src => modules/database/src}/std/dev/devCalcoutSoftCallback.c (64%)
rename {src => modules/database/src}/std/dev/devEnviron.c (86%)
create mode 100644 modules/database/src/std/dev/devEventSoft.c
rename {src => modules/database/src}/std/dev/devGeneralTime.c (87%)
create mode 100644 modules/database/src/std/dev/devHistogramSoft.c
create mode 100644 modules/database/src/std/dev/devI64inSoft.c
create mode 100644 modules/database/src/std/dev/devI64inSoftCallback.c
create mode 100644 modules/database/src/std/dev/devI64outSoft.c
create mode 100644 modules/database/src/std/dev/devI64outSoftCallback.c
create mode 100644 modules/database/src/std/dev/devLiSoft.c
rename {src => modules/database/src}/std/dev/devLiSoftCallback.c (84%)
rename {src => modules/database/src}/std/dev/devLoSoft.c (57%)
rename {src => modules/database/src}/std/dev/devLoSoftCallback.c (50%)
rename {src => modules/database/src}/std/dev/devLsiSoft.c (57%)
rename {src => modules/database/src}/std/dev/devLsoSoft.c (89%)
rename {src => modules/database/src}/std/dev/devLsoSoftCallback.c (67%)
create mode 100644 modules/database/src/std/dev/devMbbiDirectSoft.c
rename {src => modules/database/src}/std/dev/devMbbiDirectSoftCallback.c (82%)
rename {src => modules/database/src}/std/dev/devMbbiDirectSoftRaw.c (53%)
create mode 100644 modules/database/src/std/dev/devMbbiSoft.c
rename {src => modules/database/src}/std/dev/devMbbiSoftCallback.c (83%)
create mode 100644 modules/database/src/std/dev/devMbbiSoftRaw.c
rename {src => modules/database/src}/std/dev/devMbboDirectSoft.c (83%)
rename {src => modules/database/src}/std/dev/devMbboDirectSoftCallback.c (67%)
rename {src => modules/database/src}/std/dev/devMbboDirectSoftRaw.c (83%)
rename {src => modules/database/src}/std/dev/devMbboSoft.c (66%)
rename {src => modules/database/src}/std/dev/devMbboSoftCallback.c (52%)
rename {src => modules/database/src}/std/dev/devMbboSoftRaw.c (88%)
rename {src => modules/database/src}/std/dev/devPrintfSoft.c (82%)
rename {src => modules/database/src}/std/dev/devPrintfSoftCallback.c (67%)
create mode 100644 modules/database/src/std/dev/devSASoft.c
create mode 100644 modules/database/src/std/dev/devSiSoft.c
rename {src => modules/database/src}/std/dev/devSiSoftCallback.c (83%)
rename {src => modules/database/src}/std/dev/devSoSoft.c (70%)
rename {src => modules/database/src}/std/dev/devSoSoftCallback.c (54%)
rename {src => modules/database/src}/std/dev/devSoft.dbd (92%)
rename {src => modules/database/src}/std/dev/devStdio.c (93%)
rename {src => modules/database/src}/std/dev/devTimestamp.c (82%)
create mode 100644 modules/database/src/std/dev/devWfSoft.c
rename {src => modules/database/src}/std/dev/softDevIoc.rc (100%)
rename {src => modules/database/src}/std/filters/Makefile (87%)
rename {src => modules/database/src}/std/filters/arr.c (53%)
rename {src => modules/database/src}/std/filters/dbnd.c (93%)
rename {src => modules/database/src}/std/filters/decimate.c (98%)
rename {src => modules/database/src}/std/filters/filters.dbd.pod (96%)
rename {src => modules/database/src}/std/filters/sync.c (95%)
rename {src => modules/database/src}/std/filters/ts.c (54%)
create mode 100644 modules/database/src/std/filters/utag.c
create mode 100644 modules/database/src/std/link/Makefile
create mode 100644 modules/database/src/std/link/links.dbd.pod
create mode 100644 modules/database/src/std/link/lnkCalc.c
create mode 100644 modules/database/src/std/link/lnkConst.c
create mode 100644 modules/database/src/std/link/lnkDebug.c
create mode 100644 modules/database/src/std/link/lnkState.c
rename {src => modules/database/src}/std/rec/Makefile (93%)
rename {src => modules/database/src}/std/rec/RULES (90%)
rename {src => modules/database/src}/std/rec/aSubRecord.c (89%)
rename {src => modules/database/src}/std/rec/aSubRecord.dbd.pod (72%)
rename {src => modules/database/src}/std/rec/aaiRecord.c (69%)
rename {src => modules/database/src}/std/rec/aaiRecord.dbd.pod (69%)
rename {src => modules/database/src}/std/rec/aaoRecord.c (70%)
rename {src => modules/database/src}/std/rec/aaoRecord.dbd.pod (82%)
rename {src => modules/database/src}/std/rec/aiRecord.c (54%)
rename {src => modules/database/src}/std/rec/aiRecord.dbd.pod (91%)
rename {src => modules/database/src}/std/rec/aoRecord.c (53%)
rename {src => modules/database/src}/std/rec/aoRecord.dbd.pod (94%)
create mode 100644 modules/database/src/std/rec/biRecord.c
rename {src => modules/database/src}/std/rec/biRecord.dbd.pod (85%)
create mode 100644 modules/database/src/std/rec/boRecord.c
rename {src => modules/database/src}/std/rec/boRecord.dbd.pod (87%)
rename {src => modules/database/src}/std/rec/calcRecord.c (92%)
rename {src => modules/database/src}/std/rec/calcRecord.dbd.pod (96%)
rename {src => modules/database/src}/std/rec/calcoutRecord.c (84%)
rename {src => modules/database/src}/std/rec/calcoutRecord.dbd.pod (97%)
rename {src => modules/database/src}/std/rec/compressRecord.c (53%)
rename {src => modules/database/src}/std/rec/compressRecord.dbd.pod (92%)
rename {src => modules/database/src}/std/rec/dfanoutRecord.c (83%)
rename {src => modules/database/src}/std/rec/dfanoutRecord.dbd.pod (86%)
create mode 100644 modules/database/src/std/rec/eventRecord.c
rename {src => modules/database/src}/std/rec/eventRecord.dbd.pod (83%)
rename {src => modules/database/src}/std/rec/fanoutRecord.c (88%)
rename {src => modules/database/src}/std/rec/fanoutRecord.dbd.pod (92%)
rename {src => modules/database/src}/std/rec/histogramRecord.c (79%)
rename {src => modules/database/src}/std/rec/histogramRecord.dbd.pod (87%)
rename {src => modules/database/src}/std/rec/image/compress-1.png (100%)
rename {src => modules/database/src}/std/rec/image/compress-2.png (100%)
create mode 100644 modules/database/src/std/rec/int64inRecord.c
create mode 100644 modules/database/src/std/rec/int64inRecord.dbd.pod
create mode 100644 modules/database/src/std/rec/int64outRecord.c
create mode 100644 modules/database/src/std/rec/int64outRecord.dbd.pod
rename {src => modules/database/src}/std/rec/longinRecord.c (64%)
rename {src => modules/database/src}/std/rec/longinRecord.dbd.pod (84%)
rename {src => modules/database/src}/std/rec/longoutRecord.c (55%)
rename {src => modules/database/src}/std/rec/longoutRecord.dbd.pod (86%)
rename {src => modules/database/src}/std/rec/lsiRecord.c (77%)
rename {src => modules/database/src}/std/rec/lsiRecord.dbd.pod (72%)
rename {src => modules/database/src}/std/rec/lsoRecord.c (81%)
rename {src => modules/database/src}/std/rec/lsoRecord.dbd.pod (68%)
rename {src => modules/database/src}/std/rec/mbbiDirectRecord.c (57%)
rename {src => modules/database/src}/std/rec/mbbiDirectRecord.dbd.pod (70%)
rename {src => modules/database/src}/std/rec/mbbiRecord.c (73%)
rename {src => modules/database/src}/std/rec/mbbiRecord.dbd.pod (89%)
rename {src => modules/database/src}/std/rec/mbboDirectRecord.c (68%)
rename {src => modules/database/src}/std/rec/mbboDirectRecord.dbd.pod (71%)
rename {src => modules/database/src}/std/rec/mbboRecord.c (76%)
rename {src => modules/database/src}/std/rec/mbboRecord.dbd.pod (89%)
rename {src => modules/database/src}/std/rec/permissiveRecord.c (75%)
rename {src => modules/database/src}/std/rec/permissiveRecord.dbd.pod (91%)
rename {src => modules/database/src}/std/rec/printfRecord.c (86%)
rename {src => modules/database/src}/std/rec/printfRecord.dbd.pod (92%)
rename {src => modules/database/src}/std/rec/selRecord.c (79%)
rename {src => modules/database/src}/std/rec/selRecord.dbd.pod (94%)
rename {src => modules/database/src}/std/rec/seqRecord.c (90%)
rename {src => modules/database/src}/std/rec/seqRecord.dbd.pod (92%)
rename {src => modules/database/src}/std/rec/stateRecord.c (58%)
rename {src => modules/database/src}/std/rec/stateRecord.dbd.pod (85%)
create mode 100644 modules/database/src/std/rec/stringinRecord.c
rename {src => modules/database/src}/std/rec/stringinRecord.dbd.pod (75%)
create mode 100644 modules/database/src/std/rec/stringoutRecord.c
rename {src => modules/database/src}/std/rec/stringoutRecord.dbd.pod (77%)
rename {src => modules/database/src}/std/rec/subArrayRecord.c (88%)
rename {src => modules/database/src}/std/rec/subArrayRecord.dbd.pod (93%)
rename {src => modules/database/src}/std/rec/subRecord.c (94%)
rename {src => modules/database/src}/std/rec/subRecord.dbd.pod (94%)
rename {src => modules/database/src}/std/rec/waveformRecord.c (71%)
rename {src => modules/database/src}/std/rec/waveformRecord.dbd.pod (80%)
rename {src => modules/database/src}/std/softIoc/Makefile (91%)
rename {src => modules/database/src}/std/softIoc/RULES (85%)
rename {src => modules/database/src}/std/softIoc/asSub.dbd (100%)
rename {src => modules/database/src}/std/softIoc/base.dbd (87%)
rename {src => modules/database/src}/std/softIoc/makeInstallDir.pl (89%)
rename {src => modules/database/src}/std/softIoc/softIocExit.db (100%)
create mode 100644 modules/database/src/std/softIoc/softMain.cpp
create mode 100644 modules/database/src/template/Makefile
create mode 100644 modules/database/src/template/top/Makefile
rename {src/template/base => modules/database/src/template}/top/exampleApp/Db/Makefile (91%)
create mode 100644 modules/database/src/template/top/exampleApp/Db/_APPNAME_Version.db
create mode 100644 modules/database/src/template/top/exampleApp/Db/circle.db
rename {src/template/base => modules/database/src/template}/top/exampleApp/Db/dbExample1.db (100%)
rename {src/template/base => modules/database/src/template}/top/exampleApp/Db/dbExample2.db (100%)
rename {src/template/base => modules/database/src/template}/top/exampleApp/Db/dbSubExample.db (100%)
rename {src/template/base => modules/database/src/template}/top/exampleApp/Db/user.substitutions (83%)
rename {src/template/base => modules/database/src/template}/top/exampleApp/Makefile (100%)
rename {src/template/base => modules/database/src/template}/top/exampleApp/src/Makefile (71%)
rename {src/template/base => modules/database/src/template}/top/exampleApp/src/_APPNAME_Hello.c (89%)
rename {src/template/base => modules/database/src/template}/top/exampleApp/src/_APPNAME_Hello.dbd (100%)
rename {src/template/base/top/iocApp => modules/database/src/template/top/exampleApp}/src/_APPNAME_Main.cpp (94%)
rename {src/template/base => modules/database/src/template}/top/exampleApp/src/dbSubExample.c (100%)
rename {src/template/base => modules/database/src/template}/top/exampleApp/src/dbSubExample.dbd (100%)
rename {src/template/base => modules/database/src/template}/top/exampleApp/src/devXxxSoft.c (75%)
create mode 100644 modules/database/src/template/top/exampleApp/src/dev_APPNAME_Version.c
create mode 100644 modules/database/src/template/top/exampleApp/src/dev_APPNAME_Version.dbd
rename {src/template/base => modules/database/src/template}/top/exampleApp/src/initTrace.c (100%)
rename {src/template/base => modules/database/src/template}/top/exampleApp/src/initTrace.dbd (100%)
rename {src/template/base => modules/database/src/template}/top/exampleApp/src/sncExample.dbd (100%)
create mode 100644 modules/database/src/template/top/exampleApp/src/sncExample.stt
rename {src/template/base => modules/database/src/template}/top/exampleApp/src/sncProgram.st (100%)
create mode 100644 modules/database/src/template/top/exampleApp/src/xxxRecord.c
rename {src/template/base => modules/database/src/template}/top/exampleApp/src/xxxRecord.dbd (100%)
create mode 100644 modules/database/src/template/top/exampleApp/src/xxxSupport.dbd
rename {src/template/base => modules/database/src/template}/top/exampleBoot/Makefile (100%)
rename {src/template/base => modules/database/src/template}/top/exampleBoot/ioc/Makefile@Common (100%)
rename {src/template/base => modules/database/src/template}/top/exampleBoot/ioc/Makefile@cygwin (100%)
rename {src/template/base => modules/database/src/template}/top/exampleBoot/ioc/Makefile@vxWorks (100%)
rename {src/template/base => modules/database/src/template}/top/exampleBoot/ioc/Makefile@win32 (100%)
rename {src/template/base => modules/database/src/template}/top/exampleBoot/ioc/Makefile@windows (100%)
rename {src/template/base => modules/database/src/template}/top/exampleBoot/ioc/README@Common (100%)
rename {src/template/base => modules/database/src/template}/top/exampleBoot/ioc/README@RTEMS (100%)
rename {src/template/base => modules/database/src/template}/top/exampleBoot/ioc/README@vxWorks (100%)
rename {src/template/base => modules/database/src/template}/top/exampleBoot/ioc/st.cmd@Common (65%)
rename {src/template/base => modules/database/src/template}/top/exampleBoot/ioc/st.cmd@RTEMS (58%)
rename {src/template/base => modules/database/src/template}/top/exampleBoot/ioc/st.cmd@vxWorks (54%)
create mode 100644 modules/database/src/template/top/exampleBoot/nfsCommands@RTEMS
create mode 100644 modules/database/src/template/top/exampleBoot/nfsCommands@vxWorks
rename {src/template/base/top/supportApp => modules/database/src/template/top/iocApp}/Db/Makefile (82%)
rename {src/template/base => modules/database/src/template}/top/iocApp/Makefile (100%)
rename {src/template/base => modules/database/src/template}/top/iocApp/src/Makefile (100%)
rename {src/template/base/top/exampleApp => modules/database/src/template/top/iocApp}/src/_APPNAME_Main.cpp (94%)
rename {src/template/base => modules/database/src/template}/top/iocBoot/Makefile (100%)
rename {src/template/base => modules/database/src/template}/top/iocBoot/ioc/Makefile@Common (100%)
rename {src/template/base => modules/database/src/template}/top/iocBoot/ioc/Makefile@cygwin (100%)
rename {src/template/base => modules/database/src/template}/top/iocBoot/ioc/Makefile@vxWorks (100%)
rename {src/template/base => modules/database/src/template}/top/iocBoot/ioc/Makefile@win32 (100%)
rename {src/template/base => modules/database/src/template}/top/iocBoot/ioc/Makefile@windows (100%)
rename {src/template/base => modules/database/src/template}/top/iocBoot/ioc/st.cmd@Common (78%)
rename {src/template/base => modules/database/src/template}/top/iocBoot/ioc/st.cmd@Cross (78%)
rename {src/template/base => modules/database/src/template}/top/iocBoot/ioc/st.cmd@RTEMS (72%)
rename {src/template/base => modules/database/src/template}/top/iocBoot/ioc/st.cmd@vxWorks (76%)
create mode 100644 modules/database/src/template/top/iocBoot/nfsCommands@RTEMS
create mode 100644 modules/database/src/template/top/iocBoot/nfsCommands@vxWorks
rename {src/template/base/top/iocApp => modules/database/src/template/top/supportApp}/Db/Makefile (82%)
rename {src/template/base => modules/database/src/template}/top/supportApp/Makefile (100%)
rename {src/template/base => modules/database/src/template}/top/supportApp/src/Makefile (100%)
rename {src/template/base => modules/database/src/template}/top/supportApp/src/_APPNAME_.dbd (100%)
rename {src => modules/database/src}/tools/DBD.pm (73%)
rename {src => modules/database/src}/tools/DBD/Base.pm (70%)
rename {src => modules/database/src}/tools/DBD/Breaktable.pm (67%)
rename {src => modules/database/src}/tools/DBD/Device.pm (69%)
create mode 100644 modules/database/src/tools/DBD/Driver.pm
create mode 100644 modules/database/src/tools/DBD/Function.pm
create mode 100644 modules/database/src/tools/DBD/Link.pm
rename {src => modules/database/src}/tools/DBD/Menu.pm (74%)
rename {src => modules/database/src}/tools/DBD/Output.pm (55%)
create mode 100644 modules/database/src/tools/DBD/Parser.pm
rename {src => modules/database/src}/tools/DBD/Recfield.pm (84%)
create mode 100644 modules/database/src/tools/DBD/Record.pm
rename {src => modules/database/src}/tools/DBD/Recordtype.pm (83%)
create mode 100644 modules/database/src/tools/DBD/Registrar.pm
rename {src => modules/database/src}/tools/DBD/Variable.pm (65%)
create mode 100644 modules/database/src/tools/EPICS/IOC.pm
create mode 100644 modules/database/src/tools/Makefile
create mode 100644 modules/database/src/tools/dbExpand.pl
rename {src => modules/database/src}/tools/dbdExpand.pl (88%)
mode change 100755 => 100644
rename {src => modules/database/src}/tools/dbdReport.pl (87%)
mode change 100755 => 100644
rename {src => modules/database/src}/tools/dbdToHtml.pl (98%)
rename {src => modules/database/src}/tools/dbdToMenuH.pl (89%)
mode change 100755 => 100644
rename {src => modules/database/src}/tools/dbdToRecordtypeH.pl (80%)
mode change 100755 => 100644
rename {src => modules/database/src}/tools/epics-base-arch.pc@ (95%)
rename {src => modules/database/src}/tools/epics-base.pc@ (100%)
rename {src => modules/database/src}/tools/makeIncludeDbd.pl (89%)
rename {src => modules/database/src}/tools/registerRecordDeviceDriver.pl (86%)
create mode 100644 modules/database/test/Makefile
rename {src/ioc/db/test => modules/database/test/ioc/db}/Makefile (63%)
rename {src/std/filters/test => modules/database/test/ioc/db}/arrRecord.c (86%)
rename {src/ioc/db/test => modules/database/test/ioc/db}/arrRecord.dbd (78%)
rename {src/ioc/db/test => modules/database/test/ioc/db}/arrShorthandTest.c (86%)
rename {src/ioc/db/test => modules/database/test/ioc/db}/benchdbConvert.c (95%)
rename {src/ioc/db/test => modules/database/test/ioc/db}/callbackParallelTest.c (98%)
rename {src/ioc/db/test => modules/database/test/ioc/db}/callbackTest.c (98%)
rename {src/ioc/db/test => modules/database/test/ioc/db}/chfPluginTest.c (90%)
rename {src/ioc/db/test => modules/database/test/ioc/db}/dbBadLink.db (80%)
create mode 100644 modules/database/test/ioc/db/dbCACTest.cpp
create mode 100644 modules/database/test/ioc/db/dbCaLinkTest.c
create mode 100644 modules/database/test/ioc/db/dbCaLinkTest1.db
create mode 100644 modules/database/test/ioc/db/dbCaLinkTest2.db
create mode 100644 modules/database/test/ioc/db/dbCaLinkTest3.db
rename {src/ioc/db/test => modules/database/test/ioc/db}/dbCaStats.db (100%)
rename {src/ioc/db/test => modules/database/test/ioc/db}/dbCaStatsTest.c (98%)
rename {src/ioc/db/test => modules/database/test/ioc/db}/dbChArrTest.cpp (89%)
rename {src/ioc/db/test => modules/database/test/ioc/db}/dbChArrTest.db (100%)
rename {src/ioc/db/test => modules/database/test/ioc/db}/dbChannelTest.c (86%)
create mode 100644 modules/database/test/ioc/db/dbDbLinkTest.c
create mode 100644 modules/database/test/ioc/db/dbDbLinkTest.db
rename {src/ioc/db/test => modules/database/test/ioc/db}/dbLinkdset.c (59%)
rename {src/ioc/db/test => modules/database/test/ioc/db}/dbLinkdset.dbd (89%)
create mode 100644 modules/database/test/ioc/db/dbLockTest.c
rename {src/ioc/db/test => modules/database/test/ioc/db}/dbLockTest.db (91%)
create mode 100644 modules/database/test/ioc/db/dbPutGetTest.c
rename {src/ioc/db/test => modules/database/test/ioc/db}/dbPutGetTest.db (82%)
create mode 100644 modules/database/test/ioc/db/dbPutLinkTest.c
rename {src/ioc/db/test => modules/database/test/ioc/db}/dbPutLinkTest.db (86%)
create mode 100644 modules/database/test/ioc/db/dbPutLinkTestJ.db
create mode 100644 modules/database/test/ioc/db/dbScanTest.c
create mode 100644 modules/database/test/ioc/db/dbServerTest.c
rename {src/ioc/db/test => modules/database/test/ioc/db}/dbShutdownTest.c (98%)
rename {src/ioc/db/test => modules/database/test/ioc/db}/dbStateTest.c (98%)
create mode 100644 modules/database/test/ioc/db/dbStaticTest.c
create mode 100644 modules/database/test/ioc/db/dbStaticTest.db
create mode 100644 modules/database/test/ioc/db/dbStressLock.c
create mode 100644 modules/database/test/ioc/db/dbStressLock.db
create mode 100644 modules/database/test/ioc/db/devx.c
create mode 100644 modules/database/test/ioc/db/devx.dbd
create mode 100644 modules/database/test/ioc/db/devx.h
rename {src/ioc/db/test => modules/database/test/ioc/db}/epicsRunDbTests.c (83%)
create mode 100644 modules/database/test/ioc/db/jlinkz.c
create mode 100644 modules/database/test/ioc/db/jlinkz.dbd
create mode 100644 modules/database/test/ioc/db/jlinkz.h
rename {src/ioc/db/test => modules/database/test/ioc/db}/recGblCheckDeadbandTest.c (99%)
rename {src/ioc/db/test => modules/database/test/ioc/db}/rtemsTestHarness.c (93%)
create mode 100644 modules/database/test/ioc/db/scanIoTest.c
create mode 100644 modules/database/test/ioc/db/scanIoTest.db
rename {src/ioc/db/test => modules/database/test/ioc/db}/testdbConvert.c (92%)
create mode 100644 modules/database/test/ioc/db/xLink.c
create mode 100644 modules/database/test/ioc/db/xLink.dbd
create mode 100644 modules/database/test/ioc/db/xRecord.c
rename {src/ioc/db/test => modules/database/test/ioc/db}/xRecord.db (100%)
create mode 100644 modules/database/test/ioc/db/xRecord.dbd
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/Makefile (68%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/dbltExpand.c (98%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/msi.plt (93%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t1-include.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t1-result.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t1-template.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t10-result.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t10-substitute.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t10-template.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t11-result.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t11-substitute.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t11-template.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t12-result.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t12-substitute.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t12-template.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t2-result.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t2-substitution.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t2-template.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t3-result.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t3-substitution.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t3-template.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t4-result.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t4-substitution.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t5-result.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t5-substitute.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t5-template.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t6-result.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t6-substitute.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t6-template.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t7-result.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t8-result.txt (100%)
rename {src/ioc/dbtemplate/test => modules/database/test/ioc/dbtemplate}/t9-result.txt (100%)
rename {src/std/filters/test => modules/database/test/std/filters}/Makefile (85%)
rename {src/ioc/db/test => modules/database/test/std/filters}/arrRecord.c (86%)
rename {src/std/filters/test => modules/database/test/std/filters}/arrRecord.dbd (78%)
rename {src/std/filters/test => modules/database/test/std/filters}/arrTest.cpp (92%)
rename {src/std/filters/test => modules/database/test/std/filters}/arrTest.db (100%)
rename {src/std/filters/test => modules/database/test/std/filters}/dbndTest.c (93%)
rename {src/std/filters/test => modules/database/test/std/filters}/decTest.c (93%)
rename {src/std/filters/test => modules/database/test/std/filters}/epicsRunFilterTests.c (96%)
rename {src/std/filters/test => modules/database/test/std/filters}/rtemsTestHarness.c (94%)
rename {src/std/filters/test => modules/database/test/std/filters}/syncTest.c (94%)
rename {src/std/filters/test => modules/database/test/std/filters}/tsTest.c (96%)
rename {src/std/filters/test => modules/database/test/std/filters}/xRecord.c (95%)
rename {src/std/filters/test => modules/database/test/std/filters}/xRecord.db (100%)
rename {src/std/filters/test => modules/database/test/std/filters}/xRecord.dbd (100%)
create mode 100644 modules/database/test/std/link/Makefile
create mode 100644 modules/database/test/std/link/epicsRunLinkTests.c
create mode 100644 modules/database/test/std/link/ioRecord.c
create mode 100644 modules/database/test/std/link/ioRecord.db
create mode 100644 modules/database/test/std/link/ioRecord.dbd
create mode 100644 modules/database/test/std/link/lnkCalcTest.c
create mode 100644 modules/database/test/std/link/lnkStateTest.c
create mode 100644 modules/database/test/std/link/rtemsTestHarness.c
create mode 100644 modules/database/test/std/rec/Makefile
rename {src/std/rec/test => modules/database/test/std/rec}/analogMonitorTest.c (99%)
rename {src/std/rec/test => modules/database/test/std/rec}/analogMonitorTest.db (94%)
rename {src/std/rec/test => modules/database/test/std/rec}/arrayOpTest.c (86%)
rename {src/std/rec/test => modules/database/test/std/rec}/arrayOpTest.db (85%)
create mode 100644 modules/database/test/std/rec/asTest.c
create mode 100644 modules/database/test/std/rec/asTest.db
create mode 100644 modules/database/test/std/rec/asTest.dbd
create mode 100644 modules/database/test/std/rec/asTestLib.c
create mode 100644 modules/database/test/std/rec/asyncSoftTest.c
create mode 100644 modules/database/test/std/rec/asyncSoftTest.db
create mode 100644 modules/database/test/std/rec/asyncproctest.c
create mode 100644 modules/database/test/std/rec/asyncproctest.db
create mode 100644 modules/database/test/std/rec/badCaLink.db
create mode 100644 modules/database/test/std/rec/compressTest.c
create mode 100644 modules/database/test/std/rec/compressTest.db
create mode 100644 modules/database/test/std/rec/dbHeaderTest.c
create mode 100644 modules/database/test/std/rec/dbHeaderTestxx.cpp
rename {src/std/rec/test => modules/database/test/std/rec}/epicsRunRecordTests.c (61%)
create mode 100644 modules/database/test/std/rec/linkFilterTest.c
create mode 100644 modules/database/test/std/rec/linkFilterTest.db
create mode 100644 modules/database/test/std/rec/linkInitTest.c
create mode 100644 modules/database/test/std/rec/linkInitTest.db
create mode 100644 modules/database/test/std/rec/linkRetargetLink.db
create mode 100644 modules/database/test/std/rec/linkRetargetLinkTest.c
create mode 100644 modules/database/test/std/rec/mbbioDirectTest.c
create mode 100644 modules/database/test/std/rec/mbbioDirectTest.db
create mode 100644 modules/database/test/std/rec/netget.plt
create mode 100644 modules/database/test/std/rec/recMiscTest.c
create mode 100644 modules/database/test/std/rec/recMiscTest.db
rename {src/std/rec/test => modules/database/test/std/rec}/regressArray1.db (100%)
rename {src/std/rec/test => modules/database/test/std/rec}/regressHex.db (100%)
rename {src/std/rec/test => modules/database/test/std/rec}/regressLinkMS.db (100%)
rename {src/std/rec/test => modules/database/test/std/rec}/regressTest.c (86%)
rename {src/std/rec/test => modules/database/test/std/rec}/rtemsTestHarness.c (94%)
rename {src/std/rec/test => modules/database/test/std/rec}/scanEventTest.c (99%)
rename {src/std/rec/test => modules/database/test/std/rec}/scanEventTest.db (100%)
create mode 100644 modules/database/test/std/rec/seqTest.c
create mode 100644 modules/database/test/std/rec/seqTest.db
create mode 100644 modules/database/test/std/rec/simmSetup.db
create mode 100644 modules/database/test/std/rec/simmSimlFail.db
create mode 100644 modules/database/test/std/rec/simmTest.c
create mode 100644 modules/database/test/std/rec/simmTest.substitutions
create mode 100644 modules/database/test/std/rec/simmTestArray.template
create mode 100644 modules/database/test/std/rec/simmTestHistogram.template
create mode 100644 modules/database/test/std/rec/simmTestSimple.template
create mode 100644 modules/database/test/std/rec/softTest.c
create mode 100644 modules/database/test/std/rec/softTest.db
create mode 100644 modules/database/test/tools/Base.plt
rename {src/tools/test => modules/database/test/tools}/Breaktable.plt (62%)
rename {src/tools/test => modules/database/test/tools}/DBD.plt (82%)
create mode 100644 modules/database/test/tools/Device.plt
create mode 100644 modules/database/test/tools/Driver.plt
create mode 100644 modules/database/test/tools/Function.plt
rename {src/tools/test => modules/database/test/tools}/Makefile (84%)
rename {src/tools/test => modules/database/test/tools}/Menu.plt (64%)
rename {src/tools/test => modules/database/test/tools}/Recfield.plt (93%)
rename {src/tools/test => modules/database/test/tools}/Recordtype.plt (84%)
create mode 100644 modules/database/test/tools/Registrar.plt
create mode 100644 modules/database/test/tools/Variable.plt
create mode 100644 modules/libcom/Makefile
rename {src/libCom => modules/libcom}/RTEMS/Makefile (56%)
create mode 100644 modules/libcom/RTEMS/epicsMakeMemFs.pl
create mode 100644 modules/libcom/RTEMS/epicsMemFs.c
create mode 100644 modules/libcom/RTEMS/epicsMemFs.h
create mode 100644 modules/libcom/RTEMS/epicsNtp.c
create mode 100644 modules/libcom/RTEMS/epicsNtp.h
rename {src/libCom => modules/libcom}/RTEMS/epicsRtemsInitHookPost.c (78%)
rename {src/libCom => modules/libcom}/RTEMS/epicsRtemsInitHookPre.c (78%)
rename {src/libCom => modules/libcom}/RTEMS/epicsRtemsInitHooks.h (65%)
create mode 100644 modules/libcom/RTEMS/ne2kpci.c
create mode 100644 modules/libcom/RTEMS/posix/rtems_config.c
create mode 100644 modules/libcom/RTEMS/posix/rtems_init.c
rename {src/libCom => modules/libcom}/RTEMS/rtems_netconfig.c (77%)
rename {src/libCom => modules/libcom}/RTEMS/rtems_util.c (84%)
rename {src/libCom/RTEMS => modules/libcom/RTEMS/score}/rtems_config.c (91%)
rename {src/libCom/RTEMS => modules/libcom/RTEMS/score}/rtems_init.c (81%)
rename {src/libCom => modules/libcom}/RTEMS/setBootConfigFromNVRAM.c (99%)
rename {src/libCom => modules/libcom/src}/Com.rc (100%)
rename {src/libCom => modules/libcom/src}/Makefile (68%)
rename {src/libCom => modules/libcom/src}/as/Makefile (100%)
rename {src/libCom => modules/libcom/src}/as/RULES (83%)
create mode 100644 modules/libcom/src/as/asLib.h
create mode 100644 modules/libcom/src/as/asLib.y
create mode 100644 modules/libcom/src/as/asLibRoutines.c
create mode 100644 modules/libcom/src/as/asLib_lex.l
rename {src/libCom => modules/libcom/src}/as/asTrapWrite.c (94%)
create mode 100644 modules/libcom/src/as/asTrapWrite.h
rename {src/libCom => modules/libcom/src}/bucketLib/Makefile (100%)
create mode 100644 modules/libcom/src/bucketLib/bucketLib.c
create mode 100644 modules/libcom/src/bucketLib/bucketLib.h
rename {src/libCom => modules/libcom/src}/calc/Makefile (100%)
create mode 100644 modules/libcom/src/calc/calcPerform.c
create mode 100644 modules/libcom/src/calc/postfix.c
create mode 100644 modules/libcom/src/calc/postfix.h
rename {src/libCom => modules/libcom/src}/calc/postfixPvt.h (56%)
rename {src/libCom => modules/libcom/src}/cppStd/Makefile (95%)
create mode 100644 modules/libcom/src/cppStd/epicsAlgorithm.h
rename {src/libCom => modules/libcom/src}/cvtFast/Makefile (100%)
create mode 100644 modules/libcom/src/cvtFast/cvtFast.c
create mode 100644 modules/libcom/src/cvtFast/cvtFast.h
rename {src/libCom => modules/libcom/src}/cxxTemplates/Makefile (91%)
rename {src/libCom => modules/libcom/src}/cxxTemplates/README (100%)
rename {src/libCom => modules/libcom/src}/cxxTemplates/epicsGuard.h (72%)
rename {src/libCom => modules/libcom/src}/cxxTemplates/epicsSingleton.h (69%)
rename {src/libCom => modules/libcom/src}/cxxTemplates/epicsSingletonMutex.cpp (84%)
rename {src/libCom => modules/libcom/src}/cxxTemplates/resourceLib.cpp (88%)
rename {src/libCom => modules/libcom/src}/cxxTemplates/resourceLib.h (90%)
rename {src/libCom => modules/libcom/src}/cxxTemplates/test/Makefile (56%)
create mode 100644 modules/libcom/src/cxxTemplates/test/minmaxTest.cc
create mode 100644 modules/libcom/src/cxxTemplates/test/resourceLibTest.cc
create mode 100644 modules/libcom/src/cxxTemplates/test/tsDLListBench.cc
rename {src/libCom => modules/libcom/src}/cxxTemplates/test/tsDLListTest.cc (91%)
create mode 100644 modules/libcom/src/cxxTemplates/test/tsSLListBench.cc
create mode 100644 modules/libcom/src/cxxTemplates/test/tsSLListTest.cc
rename {src/libCom => modules/libcom/src}/cxxTemplates/tsDLList.h (89%)
rename {src/libCom => modules/libcom/src}/cxxTemplates/tsFreeList.h (85%)
rename {src/libCom => modules/libcom/src}/cxxTemplates/tsMinMax.h (70%)
rename {src/libCom => modules/libcom/src}/cxxTemplates/tsSLList.h (95%)
rename {src/libCom => modules/libcom/src}/dbmf/Makefile (100%)
create mode 100644 modules/libcom/src/dbmf/dbmf.c
create mode 100644 modules/libcom/src/dbmf/dbmf.h
rename {src/libCom => modules/libcom/src}/ellLib/Makefile (100%)
rename {src/libCom => modules/libcom/src}/ellLib/ellLib.c (99%)
create mode 100644 modules/libcom/src/ellLib/ellLib.h
rename {src/libCom => modules/libcom/src}/ellLib/ellSort.c (98%)
rename {src/libCom => modules/libcom/src}/env/Makefile (79%)
rename {src/libCom => modules/libcom/src}/env/RULES (57%)
rename {src/libCom => modules/libcom/src}/env/bldEnvData.pl (86%)
create mode 100644 modules/libcom/src/env/envDefs.h
create mode 100644 modules/libcom/src/env/envSubr.c
rename {src/libCom => modules/libcom/src}/error/Makefile (66%)
rename {src/libCom => modules/libcom/src}/error/RULES (100%)
rename {src/libCom => modules/libcom/src}/error/epicsPrint.h (76%)
create mode 100644 modules/libcom/src/error/errMdef.h
create mode 100644 modules/libcom/src/error/errSymLib.c
create mode 100644 modules/libcom/src/error/errSymTbl.h
rename {src/libCom => modules/libcom/src}/error/errlog.c (91%)
create mode 100644 modules/libcom/src/error/errlog.h
create mode 100644 modules/libcom/src/error/makeStatTbl.pl
rename {src/libCom => modules/libcom/src}/fdmgr/Makefile (100%)
rename {src/libCom => modules/libcom/src}/fdmgr/fdManager.cpp (87%)
rename {src/libCom => modules/libcom/src}/fdmgr/fdManager.h (81%)
rename {src/libCom => modules/libcom/src}/fdmgr/fdmgr.cpp (70%)
rename {src/libCom => modules/libcom/src}/fdmgr/fdmgr.h (57%)
rename {src/libCom => modules/libcom/src}/flex/COPYING (100%)
rename {src/libCom => modules/libcom/src}/flex/Changes (100%)
rename {src/libCom => modules/libcom/src}/flex/EPICS_READ_THIS (100%)
rename {src/libCom => modules/libcom/src}/flex/Flex.doc (100%)
rename {src/libCom => modules/libcom/src}/flex/Makefile (96%)
rename {src/libCom => modules/libcom/src}/flex/README (100%)
rename {src/libCom => modules/libcom/src}/flex/RULES (83%)
rename {src/libCom => modules/libcom/src}/flex/ccl.c (62%)
create mode 100644 modules/libcom/src/flex/dfa.c
create mode 100644 modules/libcom/src/flex/ecs.c
create mode 100644 modules/libcom/src/flex/flex.c
rename {src/libCom => modules/libcom/src}/flex/flex.html (100%)
rename {src/libCom => modules/libcom/src}/flex/flex.skel (51%)
rename {src/libCom => modules/libcom/src}/flex/flex.skel.static (51%)
rename {src/libCom => modules/libcom/src}/flex/flexdef.h (86%)
rename {src/libCom => modules/libcom/src}/flex/flexdoc.html (100%)
create mode 100644 modules/libcom/src/flex/gen.c
create mode 100644 modules/libcom/src/flex/libmain.c
rename {src/libCom => modules/libcom/src}/flex/misc.c (69%)
rename {src/libCom => modules/libcom/src}/flex/nfa.c (63%)
create mode 100644 modules/libcom/src/flex/parse.y
rename {src/libCom => modules/libcom/src}/flex/scan.c (69%)
rename {src/libCom => modules/libcom/src}/flex/scan.l.DISTRIB (100%)
rename {src/libCom => modules/libcom/src}/flex/sym.c (77%)
rename {src/libCom => modules/libcom/src}/flex/tblcmp.c (54%)
create mode 100644 modules/libcom/src/flex/yylex.c
rename {src/libCom => modules/libcom/src}/freeList/Makefile (94%)
create mode 100644 modules/libcom/src/freeList/freeList.h
create mode 100644 modules/libcom/src/freeList/freeListLib.c
rename {src/libCom => modules/libcom/src}/gpHash/Makefile (94%)
rename {src/libCom => modules/libcom/src}/gpHash/gpHash.h (61%)
rename {src/libCom => modules/libcom/src}/gpHash/gpHashLib.c (91%)
rename {src/libCom => modules/libcom/src}/iocsh/Makefile (93%)
rename {src/ioc/db => modules/libcom/src/iocsh}/initHooks.c (91%)
rename {src/ioc/db => modules/libcom/src/iocsh}/initHooks.h (72%)
rename {src/libCom => modules/libcom/src}/iocsh/iocsh.cpp (73%)
create mode 100644 modules/libcom/src/iocsh/iocsh.h
rename {src/libCom => modules/libcom/src}/iocsh/libComRegister.c (64%)
rename {src/libCom => modules/libcom/src}/iocsh/libComRegister.h (74%)
rename {src/libCom => modules/libcom/src}/iocsh/registry.c (78%)
rename {src/libCom => modules/libcom/src}/iocsh/registry.h (57%)
create mode 100644 modules/libcom/src/libComVersion.h@
rename {src/libCom => modules/libcom/src}/log/Makefile (86%)
rename {src/libCom => modules/libcom/src}/log/S99logServer@ (100%)
rename {src/libCom => modules/libcom/src}/log/iocLog.c (87%)
rename {src/libCom => modules/libcom/src}/log/iocLog.h (56%)
create mode 100644 modules/libcom/src/log/iocLogServer.c
rename {src/libCom => modules/libcom/src}/log/logClient.c (85%)
rename {src/libCom => modules/libcom/src}/log/logClient.h (57%)
rename {src/tools => modules/libcom/src/macLib}/EPICS/macLib.pm (98%)
rename {src/libCom => modules/libcom/src}/macLib/Makefile (94%)
rename {src/libCom => modules/libcom/src}/macLib/macCore.c (98%)
rename {src/libCom => modules/libcom/src}/macLib/macEnv.c (92%)
create mode 100644 modules/libcom/src/macLib/macLib.h
rename {src/libCom => modules/libcom/src}/macLib/macLibNOTES (100%)
rename {src/libCom => modules/libcom/src}/macLib/macLibREADME (100%)
create mode 100644 modules/libcom/src/macLib/macUtil.c
rename {src/libCom => modules/libcom/src}/misc/Makefile (98%)
rename {src/libCom => modules/libcom/src}/misc/RULES (93%)
rename {src/libCom => modules/libcom/src}/misc/aToIPAddr.c (90%)
rename {src/libCom => modules/libcom/src}/misc/adjustment.c (85%)
create mode 100644 modules/libcom/src/misc/adjustment.h
create mode 100644 modules/libcom/src/misc/alarm.h
rename {src/libCom => modules/libcom/src}/misc/alarmString.c (81%)
rename {src/libCom => modules/libcom/src}/misc/alarmString.h (63%)
rename {src/libCom => modules/libcom/src}/misc/cantProceed.c (81%)
create mode 100644 modules/libcom/src/misc/cantProceed.h
rename {src/libCom => modules/libcom/src}/misc/dbDefs.h (54%)
create mode 100644 modules/libcom/src/misc/epicsConvert.c
rename {src/libCom => modules/libcom/src}/misc/epicsConvert.h (85%)
rename {src/libCom => modules/libcom/src}/misc/epicsExit.c (89%)
create mode 100644 modules/libcom/src/misc/epicsExit.h
create mode 100644 modules/libcom/src/misc/epicsExport.h
rename {src/libCom => modules/libcom/src}/misc/epicsStdlib.c (94%)
create mode 100644 modules/libcom/src/misc/epicsStdlib.h
rename {src/libCom => modules/libcom/src}/misc/epicsString.c (68%)
create mode 100644 modules/libcom/src/misc/epicsString.h
rename {src/libCom => modules/libcom/src}/misc/epicsTypes.h (71%)
rename {src/libCom => modules/libcom/src}/misc/epicsUnitTest.c (63%)
create mode 100644 modules/libcom/src/misc/epicsUnitTest.h
rename {src/libCom => modules/libcom/src}/misc/ipAddrToAsciiAsynchronous.cpp (93%)
rename {src/libCom => modules/libcom/src}/misc/ipAddrToAsciiAsynchronous.h (64%)
rename {src/libCom => modules/libcom/src}/misc/locationException.h (92%)
rename {src/libCom => modules/libcom/src}/misc/makeEpicsVersion.pl (93%)
rename {src/libCom => modules/libcom/src}/misc/shareLib.h (68%)
rename {src/libCom => modules/libcom/src}/misc/testMain.h (80%)
create mode 100644 modules/libcom/src/misc/truncateFile.c
rename {src/libCom => modules/libcom/src}/osi/Makefile (96%)
rename {src/libCom => modules/libcom/src}/osi/RULES (100%)
rename {src/libCom => modules/libcom/src}/osi/TODOfuture (100%)
rename {src/libCom => modules/libcom/src}/osi/compiler/clang/compilerSpecific.h (85%)
rename {src/libCom => modules/libcom/src}/osi/compiler/clang/epicsAtomicCD.h (86%)
rename {src/libCom => modules/libcom/src}/osi/compiler/default/compilerSpecific.h (91%)
rename {src/libCom => modules/libcom/src}/osi/compiler/default/epicsAtomicCD.h (86%)
rename {src/libCom => modules/libcom/src}/osi/compiler/gcc/compilerSpecific.h (65%)
rename {src/libCom => modules/libcom/src}/osi/compiler/gcc/epicsAtomicCD.h (88%)
rename {src/libCom => modules/libcom/src}/osi/compiler/msvc/compilerSpecific.h (72%)
rename {src/libCom => modules/libcom/src}/osi/compiler/msvc/epicsAtomicCD.h (88%)
rename {src/libCom => modules/libcom/src}/osi/compiler/solStudio/compilerSpecific.h (92%)
rename {src/libCom => modules/libcom/src}/osi/compiler/solStudio/epicsAtomicCD.h (86%)
rename {src/libCom => modules/libcom/src}/osi/compilerDependencies.h (68%)
create mode 100644 modules/libcom/src/osi/devLib.h
rename {src/libCom => modules/libcom/src}/osi/devLibVME.c (97%)
create mode 100644 modules/libcom/src/osi/devLibVME.h
create mode 100644 modules/libcom/src/osi/devLibVMEImpl.h
create mode 100644 modules/libcom/src/osi/epicsAssert.h
rename {src/libCom => modules/libcom/src}/osi/epicsAtomic.h (92%)
rename {src/libCom => modules/libcom/src}/osi/epicsAtomicDefault.h (86%)
rename {src/libCom => modules/libcom/src}/osi/epicsEndian.h (91%)
rename {src/libCom => modules/libcom/src}/osi/epicsEvent.cpp (89%)
create mode 100644 modules/libcom/src/osi/epicsEvent.h
rename {src/libCom => modules/libcom/src}/osi/epicsFindSymbol.h (67%)
rename {src/libCom => modules/libcom/src}/osi/epicsGeneralTime.c (90%)
create mode 100644 modules/libcom/src/osi/epicsGeneralTime.h
rename {src/libCom => modules/libcom/src}/osi/epicsInterrupt.h (65%)
rename {src/libCom => modules/libcom/src}/osi/epicsMath.cpp (81%)
rename {src/libCom => modules/libcom/src}/osi/epicsMessageQueue.cpp (90%)
create mode 100644 modules/libcom/src/osi/epicsMessageQueue.h
rename {src/libCom => modules/libcom/src}/osi/epicsMutex.cpp (74%)
create mode 100644 modules/libcom/src/osi/epicsMutex.h
create mode 100644 modules/libcom/src/osi/epicsReadline.c
create mode 100644 modules/libcom/src/osi/epicsReadline.h
rename {src/libCom => modules/libcom/src}/osi/epicsSignal.h (61%)
rename {src/libCom => modules/libcom/src}/osi/epicsSpin.h (63%)
create mode 100644 modules/libcom/src/osi/epicsStackTrace.c
rename {src/libCom => modules/libcom/src}/osi/epicsStackTrace.h (80%)
rename {src/libCom => modules/libcom/src}/osi/epicsStackTracePvt.h (65%)
rename {src/libCom => modules/libcom/src}/osi/epicsStdio.c (79%)
create mode 100644 modules/libcom/src/osi/epicsStdio.h
rename {src/libCom => modules/libcom/src}/osi/epicsStdioRedirect.h (88%)
rename {src/libCom => modules/libcom/src}/osi/epicsTempFile.h (62%)
rename {src/libCom => modules/libcom/src}/osi/epicsThread.cpp (87%)
create mode 100644 modules/libcom/src/osi/epicsThread.h
rename {src/libCom => modules/libcom/src}/osi/epicsTime.cpp (89%)
create mode 100644 modules/libcom/src/osi/epicsTime.h
rename {src/libCom => modules/libcom/src}/osi/generalTimeSup.h (76%)
rename {src/libCom => modules/libcom/src}/osi/os/Darwin/epicsMath.h (77%)
rename {src/libCom/osi/os/Linux => modules/libcom/src/osi/os/Darwin}/osdBackTrace.cpp (70%)
rename {src/libCom => modules/libcom/src}/osi/os/Darwin/osdFindAddr.c (89%)
create mode 100644 modules/libcom/src/osi/os/Darwin/osdMonotonic.c
create mode 100644 modules/libcom/src/osi/os/Darwin/osdNetIntf.c
rename {src/libCom => modules/libcom/src}/osi/os/Darwin/osdSock.h (94%)
rename {src/libCom/osi/os/iOS => modules/libcom/src/osi/os/Darwin}/osdSockUnsentCount.c (95%)
rename {src/libCom => modules/libcom/src}/osi/os/Darwin/osdTime.cpp (64%)
rename {src/libCom => modules/libcom/src}/osi/os/Darwin/osdTime.h (78%)
create mode 100644 modules/libcom/src/osi/os/Darwin/osdgetexec.c
rename {src/libCom/osi/os/Darwin => modules/libcom/src/osi/os/Linux}/osdBackTrace.cpp (70%)
rename {src/libCom => modules/libcom/src}/osi/os/Linux/osdFindAddr.c (70%)
create mode 100644 modules/libcom/src/osi/os/Linux/osdNetIntf.c
rename {src/libCom => modules/libcom/src}/osi/os/Linux/osdSock.h (92%)
rename {src/libCom => modules/libcom/src}/osi/os/Linux/osdSockUnsentCount.c (94%)
rename {src/libCom => modules/libcom/src}/osi/os/Linux/osdThread.h (84%)
rename {src/libCom => modules/libcom/src}/osi/os/Linux/osdThreadExtra.c (92%)
rename {src/libCom => modules/libcom/src}/osi/os/Linux/osdTime.h (75%)
create mode 100644 modules/libcom/src/osi/os/Linux/osdgetexec.c
rename {src/libCom => modules/libcom/src}/osi/os/Linux/osiUnistd.h (73%)
create mode 100644 modules/libcom/src/osi/os/RTEMS-posix/devLibVMEOSD.c
create mode 100644 modules/libcom/src/osi/os/RTEMS-posix/osdMessageQueue.c
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-posix}/osdMessageQueue.h (73%)
create mode 100644 modules/libcom/src/osi/os/RTEMS-posix/osdMutex.c
create mode 100644 modules/libcom/src/osi/os/RTEMS-posix/osdPoolStatus.c
create mode 100644 modules/libcom/src/osi/os/RTEMS-posix/osdSock.h
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/devLibVMEOSD.c (80%)
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/epicsAtomicOSD.cpp (100%)
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/epicsAtomicOSD.h (92%)
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/epicsMath.h (77%)
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/osdEvent.c (94%)
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/osdEvent.h (68%)
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/osdFindSymbol.c (72%)
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/osdMutex.c (91%)
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/osdMutex.h (68%)
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/osdPoolStatus.c (70%)
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/osdProcess.c (72%)
create mode 100644 modules/libcom/src/osi/os/RTEMS-score/osdReadline.c
create mode 100644 modules/libcom/src/osi/os/RTEMS-score/osdSignal.cpp
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/osdSock.h (93%)
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/osdSpin.c (98%)
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/osdStrtod.h (64%)
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/osdThread.c (74%)
rename src/ioc/rsrv/rsrvIocRegister.h => modules/libcom/src/osi/os/RTEMS-score/osdThread.h (60%)
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/osdThreadExtra.c (75%)
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/osdTime.cpp (96%)
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/osdTime.h (96%)
rename {src/libCom/osi/os/RTEMS => modules/libcom/src/osi/os/RTEMS-score}/osiUnistd.h (80%)
rename {src/libCom => modules/libcom/src}/osi/os/RTEMS/epicsMMIO.h (98%)
rename {src/libCom => modules/libcom/src}/osi/os/RTEMS/osdInterrupt.c (89%)
rename {src/libCom => modules/libcom/src}/osi/os/RTEMS/osdInterrupt.h (74%)
rename {src/libCom => modules/libcom/src}/osi/os/RTEMS/osdVME.h (70%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/epicsAtomicMS.h (88%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/epicsAtomicOSD.h (77%)
create mode 100644 modules/libcom/src/osi/os/WIN32/epicsGetopt.c
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/epicsGetopt.h (66%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/epicsMath.h (76%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/epicsSocketConvertErrnoToString.cpp (91%)
create mode 100644 modules/libcom/src/osi/os/WIN32/epicsTempFile.c
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/forceBadAllocException.cpp (79%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/osdBackTrace.cpp (85%)
create mode 100644 modules/libcom/src/osi/os/WIN32/osdEnv.c
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/osdEvent.c (51%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/osdEvent.h (76%)
create mode 100644 modules/libcom/src/osi/os/WIN32/osdFindAddr.c
create mode 100644 modules/libcom/src/osi/os/WIN32/osdFindSymbol.c
create mode 100644 modules/libcom/src/osi/os/WIN32/osdMonotonic.c
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/osdMutex.c (80%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/osdMutex.h (77%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/osdNetIntf.c (79%)
rename {src/libCom/osi/os/default => modules/libcom/src/osi/os/WIN32}/osdPoolStatus.c (63%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/osdPoolStatus.h (72%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/osdProcess.c (77%)
create mode 100644 modules/libcom/src/osi/os/WIN32/osdSignal.cpp
create mode 100644 modules/libcom/src/osi/os/WIN32/osdSock.c
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/osdSock.h (75%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/osdSockUnsentCount.c (96%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/osdStdio.c (82%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/osdStrtod.h (60%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/osdThread.c (77%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/osdThread.h (72%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/osdThreadExtra.c (75%)
create mode 100644 modules/libcom/src/osi/os/WIN32/osdThreadPvt.h
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/osdTime.cpp (95%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/osdTime.h (97%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/osdWireConfig.h (51%)
create mode 100644 modules/libcom/src/osi/os/WIN32/osdgetexec.c
rename src/libCom/flex/libmain.c => modules/libcom/src/osi/os/WIN32/osiUnistd.h (68%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/setThreadName.cpp (87%)
rename {src/libCom => modules/libcom/src}/osi/os/WIN32/systemCallIntMech.cpp (64%)
rename {src/libCom => modules/libcom/src}/osi/os/cygwin32/devLibVMEOSD.c (84%)
create mode 100644 modules/libcom/src/osi/os/cygwin32/osdNetIntf.c
rename {src/libCom => modules/libcom/src}/osi/os/cygwin32/osdSock.h (92%)
rename {src/libCom/osi/os/solaris => modules/libcom/src/osi/os/cygwin32}/osdStrtod.h (64%)
rename {src/libCom => modules/libcom/src}/osi/os/cygwin32/systemCallIntMech.cpp (88%)
rename {src/libCom => modules/libcom/src}/osi/os/default/devLibVMEOSD.c (87%)
rename {src/libCom => modules/libcom/src}/osi/os/default/epicsAtomicOSD.cpp (100%)
rename {src/libCom => modules/libcom/src}/osi/os/default/epicsGetopt.h (77%)
rename {src/libCom => modules/libcom/src}/osi/os/default/epicsMMIO.h (100%)
rename {src/libCom => modules/libcom/src}/osi/os/default/epicsMMIODef.h (78%)
rename {src/libCom => modules/libcom/src}/osi/os/default/epicsSocketConvertErrnoToString.cpp (85%)
create mode 100644 modules/libcom/src/osi/os/default/gnuReadline.c
rename {src/libCom => modules/libcom/src}/osi/os/default/osdAssert.c (94%)
rename {src/libCom => modules/libcom/src}/osi/os/default/osdBackTrace.cpp (71%)
create mode 100644 modules/libcom/src/osi/os/default/osdEnv.c
rename {src/libCom => modules/libcom/src}/osi/os/default/osdFindAddr.c (81%)
rename {src/libCom => modules/libcom/src}/osi/os/default/osdFindSymbol.c (68%)
rename {src/libCom => modules/libcom/src}/osi/os/default/osdInterrupt.c (79%)
rename {src/libCom => modules/libcom/src}/osi/os/default/osdInterrupt.h (72%)
rename {src/libCom => modules/libcom/src}/osi/os/default/osdMessageQueue.cpp (95%)
rename {src/libCom => modules/libcom/src}/osi/os/default/osdMessageQueue.h (100%)
create mode 100644 modules/libcom/src/osi/os/default/osdNetIntf.c
rename {src/libCom/osi/os/WIN32 => modules/libcom/src/osi/os/default}/osdPoolStatus.c (63%)
rename {src/libCom => modules/libcom/src}/osi/os/default/osdPoolStatus.h (72%)
create mode 100644 modules/libcom/src/osi/os/default/osdSignal.cpp
create mode 100644 modules/libcom/src/osi/os/default/osdSockAddrReuse.cpp
rename {src/libCom => modules/libcom/src}/osi/os/default/osdSockUnsentCount.c (93%)
rename {src/libCom => modules/libcom/src}/osi/os/default/osdSpin.c (97%)
rename {src/libCom => modules/libcom/src}/osi/os/default/osdThreadExtra.c (75%)
rename {src/libCom => modules/libcom/src}/osi/os/default/osdThreadHooks.c (87%)
rename {src/libCom => modules/libcom/src}/osi/os/default/osdVME.h (70%)
rename {src/libCom => modules/libcom/src}/osi/os/default/osdWireConfig.h (84%)
rename {src/libCom => modules/libcom/src}/osi/os/default/osdWireFormat.h (87%)
rename src/libCom/osi/os/iOS/osiFileName.h => modules/libcom/src/osi/os/default/osdgetexec.c (62%)
create mode 100644 modules/libcom/src/osi/os/freebsd/osdNetIntf.c
rename {src/libCom => modules/libcom/src}/osi/os/freebsd/osdSock.h (95%)
rename {src/libCom => modules/libcom/src}/osi/os/freebsd/osdTime.h (84%)
create mode 100644 modules/libcom/src/osi/os/freebsd/osdgetexec.c
rename {src/libCom => modules/libcom/src}/osi/os/freebsd/osiUnistd.h (81%)
rename {src/libCom => modules/libcom/src}/osi/os/iOS/epicsMath.h (73%)
create mode 100644 modules/libcom/src/osi/os/iOS/osdMonotonic.c
create mode 100644 modules/libcom/src/osi/os/iOS/osdNetIntf.c
rename {src/libCom => modules/libcom/src}/osi/os/iOS/osdSock.h (94%)
rename {src/libCom/osi/os/Darwin => modules/libcom/src/osi/os/iOS}/osdSockUnsentCount.c (95%)
rename {src/libCom => modules/libcom/src}/osi/os/iOS/osdTime.h (86%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/README (100%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/epicsAtomicOSD.cpp (76%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/epicsAtomicOSD.h (78%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/epicsMath.h (82%)
rename src/libCom/osi/os/posix/epicsTempFile.cpp => modules/libcom/src/osi/os/posix/epicsTempFile.c (62%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/osdElfFindAddr.c (97%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/osdEvent.c (85%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/osdEvent.h (72%)
create mode 100644 modules/libcom/src/osi/os/posix/osdExecinfoBackTrace.cpp
rename {src/libCom => modules/libcom/src}/osi/os/posix/osdFindSymbol.c (53%)
create mode 100644 modules/libcom/src/osi/os/posix/osdMonotonic.c
create mode 100644 modules/libcom/src/osi/os/posix/osdMutex.c
rename {src/libCom => modules/libcom/src}/osi/os/posix/osdMutex.h (72%)
create mode 100644 modules/libcom/src/osi/os/posix/osdPosixMutexPriv.h
rename {src/libCom => modules/libcom/src}/osi/os/posix/osdProcess.c (63%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/osdSignal.cpp (77%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/osdSock.c (61%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/osdSpin.c (95%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/osdStdio.c (71%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/osdStrtod.h (69%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/osdThread.c (76%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/osdThread.h (74%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/osdThreadExtra.c (90%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/osdTime.cpp (86%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/osdTime.h (59%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/osiUnistd.h (62%)
rename {src/libCom => modules/libcom/src}/osi/os/posix/systemCallIntMech.cpp (64%)
rename {src/libCom => modules/libcom/src}/osi/os/solaris/epicsAtomicOSD.h (94%)
rename {src/libCom => modules/libcom/src}/osi/os/solaris/epicsMath.h (78%)
rename {src/libCom => modules/libcom/src}/osi/os/solaris/osdBackTrace.cpp (54%)
rename {src/libCom => modules/libcom/src}/osi/os/solaris/osdFindAddr.c (70%)
rename {src/libCom => modules/libcom/src}/osi/os/solaris/osdSock.h (95%)
rename {src/libCom/osi/os/cygwin32 => modules/libcom/src/osi/os/solaris}/osdStrtod.h (64%)
rename {src/libCom => modules/libcom/src}/osi/os/solaris/osdWireConfig.h (64%)
create mode 100644 modules/libcom/src/osi/os/solaris/osdgetexec.c
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/atReboot.cpp (92%)
create mode 100644 modules/libcom/src/osi/os/vxWorks/camacLib.h
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/devLibVMEOSD.c (89%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/epicsAtomicOSD.cpp (100%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/epicsAtomicOSD.h (77%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/epicsDynLink.c (98%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/epicsDynLink.h (97%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/epicsMMIO.h (99%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/epicsMath.h (84%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/logMsgToErrlog.cpp (85%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/module_types.h (59%)
create mode 100644 modules/libcom/src/osi/os/vxWorks/osdEnv.c
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdEvent.c (95%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdEvent.h (89%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdFindSymbol.c (92%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdInterrupt.c (83%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdInterrupt.h (74%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdMessageQueue.cpp (78%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdMessageQueue.h (88%)
create mode 100644 modules/libcom/src/osi/os/vxWorks/osdMonotonic.c
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdMutex.c (84%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdMutex.h (83%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdPoolStatus.c (87%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdProcess.c (78%)
create mode 100644 modules/libcom/src/osi/os/vxWorks/osdReadline.c
create mode 100644 modules/libcom/src/osi/os/vxWorks/osdSignal.cpp
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdSock.c (76%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdSock.h (95%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdSpin.c (98%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdStdio.c (96%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdStrtod.h (75%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdThread.c (73%)
create mode 100644 modules/libcom/src/osi/os/vxWorks/osdThread.h
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdThreadExtra.c (75%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdTime.cpp (97%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdTime.h (82%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdVME.h (71%)
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/osdWireConfig.h (63%)
create mode 100644 modules/libcom/src/osi/os/vxWorks/osiUnistd.h
create mode 100644 modules/libcom/src/osi/os/vxWorks/strtoll.c
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/strtoull.c (53%)
create mode 100644 modules/libcom/src/osi/os/vxWorks/task_params.h
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/tz2timezone.c (99%)
create mode 100644 modules/libcom/src/osi/os/vxWorks/veclist.c
rename {src/libCom => modules/libcom/src}/osi/os/vxWorks/vxComLibrary.c (88%)
create mode 100644 modules/libcom/src/osi/osdNetIfAddrs.c
rename src/libCom/osi/os/default/osdNetIntf.c => modules/libcom/src/osi/osdNetIfConf.c (85%)
rename {src/libCom => modules/libcom/src}/osi/osiClockTime.c (86%)
rename {src/libCom => modules/libcom/src}/osi/osiClockTime.h (89%)
create mode 100644 modules/libcom/src/osi/osiFileName.h
rename {src/libCom => modules/libcom/src}/osi/osiNTPTime.c (90%)
rename {src/libCom => modules/libcom/src}/osi/osiNTPTime.h (85%)
create mode 100644 modules/libcom/src/osi/osiPoolStatus.h
rename {src/libCom => modules/libcom/src}/osi/osiProcess.h (76%)
rename {src/libCom => modules/libcom/src}/osi/osiSock.c (74%)
rename {src/libCom => modules/libcom/src}/osi/osiSock.h (70%)
rename {src/libCom => modules/libcom/src}/osi/osiWireFormat.h (89%)
rename {src/libCom => modules/libcom/src}/pool/Makefile (100%)
rename {src/libCom => modules/libcom/src}/pool/epicsThreadPool.h (81%)
rename {src/libCom => modules/libcom/src}/pool/poolJob.c (99%)
rename {src/libCom => modules/libcom/src}/pool/poolPriv.h (96%)
rename {src/libCom => modules/libcom/src}/pool/threadPool.c (98%)
rename {src/libCom => modules/libcom/src}/ring/Makefile (100%)
rename {src/libCom => modules/libcom/src}/ring/epicsRingBytes.c (77%)
create mode 100644 modules/libcom/src/ring/epicsRingBytes.h
rename {src/libCom => modules/libcom/src}/ring/epicsRingPointer.cpp (61%)
create mode 100644 modules/libcom/src/ring/epicsRingPointer.h
rename {src/libCom => modules/libcom/src}/taskwd/Makefile (100%)
rename {src/libCom => modules/libcom/src}/taskwd/taskwd.c (92%)
rename {src/libCom => modules/libcom/src}/taskwd/taskwd.h (68%)
rename {src/libCom => modules/libcom/src}/timer/Makefile (100%)
rename {src/libCom => modules/libcom/src}/timer/epicsTimer.cpp (72%)
rename {src/libCom => modules/libcom/src}/timer/epicsTimer.h (73%)
rename {src/libCom => modules/libcom/src}/timer/timer.cpp (92%)
rename {src/libCom => modules/libcom/src}/timer/timerPrivate.h (87%)
rename {src/libCom => modules/libcom/src}/timer/timerQueue.cpp (89%)
rename {src/libCom => modules/libcom/src}/timer/timerQueueActive.cpp (85%)
rename {src/libCom => modules/libcom/src}/timer/timerQueueActiveMgr.cpp (88%)
rename {src/libCom => modules/libcom/src}/timer/timerQueuePassive.cpp (81%)
create mode 100644 modules/libcom/src/valgrind/valgrind.h
rename {src/libCom => modules/libcom/src}/yacc/ACKNOWLEDGEMENTS (100%)
rename {src/libCom => modules/libcom/src}/yacc/EPICS_READ_THIS (100%)
rename {src/libCom => modules/libcom/src}/yacc/Makefile (96%)
rename {src/libCom => modules/libcom/src}/yacc/NEW_FEATURES (100%)
rename {src/libCom => modules/libcom/src}/yacc/NOTES (100%)
rename {src/libCom => modules/libcom/src}/yacc/NO_WARRANTY (100%)
rename {src/libCom => modules/libcom/src}/yacc/README (100%)
create mode 100644 modules/libcom/src/yacc/antelope.c
rename {src/libCom => modules/libcom/src}/yacc/closure.c (50%)
rename {src/libCom => modules/libcom/src}/yacc/defs.h (71%)
create mode 100644 modules/libcom/src/yacc/error.c
rename {src/libCom => modules/libcom/src}/yacc/lalr.c (64%)
rename {src/libCom => modules/libcom/src}/yacc/lr0.c (54%)
create mode 100644 modules/libcom/src/yacc/mkpar.c
create mode 100644 modules/libcom/src/yacc/output.c
create mode 100644 modules/libcom/src/yacc/reader.c
rename {src/libCom => modules/libcom/src}/yacc/skeleton.c (81%)
rename {src/libCom => modules/libcom/src}/yacc/symtab.c (68%)
create mode 100644 modules/libcom/src/yacc/verbose.c
create mode 100644 modules/libcom/src/yacc/warshall.c
rename {src/libCom => modules/libcom/src}/yacc/yacc.html (86%)
rename {src/libCom => modules/libcom/src}/yajl/Makefile (97%)
create mode 100644 modules/libcom/src/yajl/RULES
create mode 100644 modules/libcom/src/yajl/yajl.c
create mode 100644 modules/libcom/src/yajl/yajl_alloc.c
create mode 100644 modules/libcom/src/yajl/yajl_alloc.h
create mode 100644 modules/libcom/src/yajl/yajl_buf.c
create mode 100644 modules/libcom/src/yajl/yajl_buf.h
create mode 100644 modules/libcom/src/yajl/yajl_bytestack.h
create mode 100644 modules/libcom/src/yajl/yajl_common.h
create mode 100644 modules/libcom/src/yajl/yajl_encode.c
create mode 100644 modules/libcom/src/yajl/yajl_encode.h
rename {src/libCom => modules/libcom/src}/yajl/yajl_gen.c (57%)
create mode 100644 modules/libcom/src/yajl/yajl_gen.h
rename {src/libCom => modules/libcom/src}/yajl/yajl_lex.c (51%)
rename {src/libCom => modules/libcom/src}/yajl/yajl_lex.h (54%)
create mode 100644 modules/libcom/src/yajl/yajl_parse.h
rename {src/libCom => modules/libcom/src}/yajl/yajl_parser.c (69%)
create mode 100644 modules/libcom/src/yajl/yajl_parser.h
rename {src/libCom => modules/libcom}/test/Makefile (73%)
mode change 100755 => 100644
create mode 100644 modules/libcom/test/aslibtest.c
rename {src/libCom => modules/libcom}/test/blockingSockTest.cpp (92%)
rename {src/libCom => modules/libcom}/test/buckTest.c (98%)
create mode 100644 modules/libcom/test/cvtFastPerform.cpp
create mode 100644 modules/libcom/test/cvtFastTest.c
rename {src/libCom => modules/libcom}/test/epicsAlgorithmTest.cpp (95%)
rename {src/libCom => modules/libcom}/test/epicsAtomicPerform.cpp (83%)
rename {src/libCom => modules/libcom}/test/epicsAtomicTest.cpp (55%)
rename {src/libCom => modules/libcom}/test/epicsCalcTest.cpp (88%)
rename {src/libCom => modules/libcom}/test/epicsEllTest.c (98%)
rename {src/libCom => modules/libcom}/test/epicsEnvTest.c (66%)
rename {src/libCom => modules/libcom}/test/epicsEnvUnsetTest.c (70%)
rename {src/libCom => modules/libcom}/test/epicsErrlogTest.c (88%)
rename {src/libCom => modules/libcom}/test/epicsEventTest.cpp (87%)
rename {src/libCom => modules/libcom}/test/epicsExitTest.c (98%)
rename {src/libCom => modules/libcom}/test/epicsInlineTest1.c (98%)
rename {src/libCom => modules/libcom}/test/epicsInlineTest2.c (95%)
rename {src/libCom => modules/libcom}/test/epicsInlineTest3.cpp (95%)
rename {src/libCom => modules/libcom}/test/epicsInlineTest4.cpp (95%)
create mode 100644 modules/libcom/test/epicsLoadTest.cpp
rename {src/libCom => modules/libcom}/test/epicsMMIOTest.c (97%)
rename {src/libCom => modules/libcom}/test/epicsMathTest.c (98%)
rename {src/libCom => modules/libcom}/test/epicsMaxThreads.c (97%)
rename {src/libCom => modules/libcom}/test/epicsMessageQueueTest.cpp (71%)
rename {src/libCom => modules/libcom}/test/epicsMutexTest.cpp (94%)
rename {src/libCom => modules/libcom}/test/epicsRunLibComTests.c (96%)
rename {src/libCom => modules/libcom}/test/epicsSockResolveTest.c (94%)
rename {src/libCom => modules/libcom}/test/epicsSpinTest.c (99%)
rename {src/libCom => modules/libcom}/test/epicsStackTraceTest.c (89%)
rename {src/libCom => modules/libcom}/test/epicsStdioTest.c (95%)
rename {src/libCom => modules/libcom}/test/epicsStdlibTest.c (99%)
rename {src/libCom => modules/libcom}/test/epicsStringTest.c (78%)
rename {src/libCom => modules/libcom}/test/epicsThreadClassTest.cpp (99%)
rename {src/libCom => modules/libcom}/test/epicsThreadHooksTest.c (99%)
rename {src/libCom => modules/libcom}/test/epicsThreadOnceTest.c (98%)
rename {src/libCom => modules/libcom}/test/epicsThreadPerform.cpp (93%)
rename {src/libCom => modules/libcom}/test/epicsThreadPoolTest.c (99%)
rename {src/libCom => modules/libcom}/test/epicsThreadPriorityTest.cpp (99%)
rename {src/libCom => modules/libcom}/test/epicsThreadPrivateTest.cpp (92%)
create mode 100644 modules/libcom/test/epicsThreadTest.cpp
rename {src/libCom => modules/libcom}/test/epicsTimeTest.cpp (86%)
rename {src/libCom => modules/libcom}/test/epicsTimeZoneTest.c (99%)
rename {src/libCom => modules/libcom}/test/epicsTimerTest.cpp (96%)
rename {src/libCom => modules/libcom}/test/epicsTypesTest.c (97%)
rename {src/libCom => modules/libcom}/test/epicsUnitTestTest.c (96%)
rename {src/libCom => modules/libcom}/test/epicsUnitTestTest.plt (63%)
rename {src/libCom => modules/libcom}/test/fdmgrTest.c (98%)
create mode 100644 modules/libcom/test/initHookTest.c
create mode 100644 modules/libcom/test/iocshTest.cpp
create mode 100644 modules/libcom/test/iocshTestBadArg.cmd
create mode 100644 modules/libcom/test/iocshTestBadArgIndirect.cmd
create mode 100644 modules/libcom/test/iocshTestSuccess.cmd
create mode 100644 modules/libcom/test/iocshTestSuccessIndirect.cmd
rename {src/libCom => modules/libcom}/test/ipAddrToAsciiTest.cpp (99%)
rename {src/libCom => modules/libcom}/test/macDefExpandTest.c (99%)
rename {src/tools => modules/libcom}/test/macLib.plt (88%)
rename {src/libCom => modules/libcom}/test/macLibTest.c (99%)
create mode 100644 modules/libcom/test/nonEpicsThreadPriorityTest.cpp
create mode 100644 modules/libcom/test/osiSockTest.c
rename {src/libCom => modules/libcom}/test/ringBytesTest.c (80%)
rename {src/libCom => modules/libcom}/test/ringPointerTest.c (92%)
rename {src/libCom => modules/libcom}/test/rtemsTestHarness.c (94%)
rename {src/libCom => modules/libcom}/test/taskwdTest.c (51%)
create mode 100644 modules/libcom/test/testexecname.c
create mode 100644 modules/libcom/test/yajlTest.plt
create mode 100644 modules/libcom/test/yajlTestCases.pm
create mode 100755 modules/libcom/test/yajlTestConverter.pl
create mode 100644 modules/libcom/test/yajl_test.c
create mode 100644 modules/libcom/vxWorks/Makefile
create mode 100644 modules/libcom/vxWorks/boost/assert.hpp
create mode 100644 modules/libcom/vxWorks/boost/checked_delete.hpp
create mode 100644 modules/libcom/vxWorks/boost/config.hpp
create mode 100644 modules/libcom/vxWorks/boost/config/auto_link.hpp
create mode 100644 modules/libcom/vxWorks/boost/config/compiler/gcc.hpp
create mode 100644 modules/libcom/vxWorks/boost/config/no_tr1/memory.hpp
create mode 100644 modules/libcom/vxWorks/boost/config/no_tr1/utility.hpp
create mode 100644 modules/libcom/vxWorks/boost/config/platform/vxworks.hpp
create mode 100644 modules/libcom/vxWorks/boost/config/posix_features.hpp
create mode 100644 modules/libcom/vxWorks/boost/config/select_compiler_config.hpp
create mode 100644 modules/libcom/vxWorks/boost/config/select_platform_config.hpp
create mode 100644 modules/libcom/vxWorks/boost/config/select_stdlib_config.hpp
create mode 100644 modules/libcom/vxWorks/boost/config/stdlib/dinkumware.hpp
create mode 100644 modules/libcom/vxWorks/boost/config/suffix.hpp
create mode 100644 modules/libcom/vxWorks/boost/config/user.hpp
create mode 100644 modules/libcom/vxWorks/boost/current_function.hpp
create mode 100644 modules/libcom/vxWorks/boost/detail/sp_typeinfo.hpp
create mode 100644 modules/libcom/vxWorks/boost/detail/workaround.hpp
create mode 100644 modules/libcom/vxWorks/boost/enable_shared_from_this.hpp
create mode 100644 modules/libcom/vxWorks/boost/exception/detail/attribute_noreturn.hpp
create mode 100644 modules/libcom/vxWorks/boost/exception/exception.hpp
create mode 100644 modules/libcom/vxWorks/boost/memory_order.hpp
create mode 100644 modules/libcom/vxWorks/boost/shared_ptr.hpp
create mode 100644 modules/libcom/vxWorks/boost/smart_ptr/bad_weak_ptr.hpp
create mode 100644 modules/libcom/vxWorks/boost/smart_ptr/detail/operator_bool.hpp
create mode 100644 modules/libcom/vxWorks/boost/smart_ptr/detail/shared_count.hpp
create mode 100644 modules/libcom/vxWorks/boost/smart_ptr/detail/sp_convertible.hpp
create mode 100644 modules/libcom/vxWorks/boost/smart_ptr/detail/sp_counted_base.hpp
create mode 100644 modules/libcom/vxWorks/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp
create mode 100644 modules/libcom/vxWorks/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp
create mode 100644 modules/libcom/vxWorks/boost/smart_ptr/detail/sp_counted_impl.hpp
create mode 100644 modules/libcom/vxWorks/boost/smart_ptr/detail/sp_has_sync.hpp
create mode 100644 modules/libcom/vxWorks/boost/smart_ptr/detail/sp_nullptr_t.hpp
create mode 100644 modules/libcom/vxWorks/boost/smart_ptr/detail/spinlock.hpp
create mode 100644 modules/libcom/vxWorks/boost/smart_ptr/detail/spinlock_pool.hpp
create mode 100644 modules/libcom/vxWorks/boost/smart_ptr/detail/spinlock_pt.hpp
create mode 100644 modules/libcom/vxWorks/boost/smart_ptr/detail/spinlock_sync.hpp
create mode 100644 modules/libcom/vxWorks/boost/smart_ptr/detail/yield_k.hpp
create mode 100644 modules/libcom/vxWorks/boost/smart_ptr/enable_shared_from_this.hpp
create mode 100644 modules/libcom/vxWorks/boost/smart_ptr/shared_ptr.hpp
create mode 100644 modules/libcom/vxWorks/boost/smart_ptr/weak_ptr.hpp
create mode 100644 modules/libcom/vxWorks/boost/throw_exception.hpp
create mode 100644 modules/libcom/vxWorks/boost/tr1/detail/config.hpp
create mode 100644 modules/libcom/vxWorks/boost/tr1/memory.hpp
create mode 100644 modules/libcom/vxWorks/boost/type_traits/is_signed.hpp
create mode 100644 modules/libcom/vxWorks/boost/weak_ptr.hpp
delete mode 100644 src/ca/client/autoPtrDestroy.h
delete mode 100644 src/ca/client/caRepeater.cpp
delete mode 100644 src/ca/client/cacChannelNotify.cpp
delete mode 100644 src/ca/client/db_access.h
delete mode 100644 src/ca/client/evtime.c
delete mode 100644 src/ca/client/tcpRecvThread.cpp
delete mode 100644 src/ca/client/templateInstances.cpp
delete mode 100644 src/ca/client/test/ca_test.c
delete mode 100644 src/ca/client/test/ca_test_main.c
delete mode 100644 src/ca/client/ucx.h
delete mode 100644 src/ca/legacy/gdd/Makefile
delete mode 100644 src/ca/legacy/gdd/README
delete mode 100644 src/ca/legacy/gdd/aitConvert.cc
delete mode 100644 src/ca/legacy/gdd/aitConvert.h
delete mode 100644 src/ca/legacy/gdd/aitGen.c
delete mode 100644 src/ca/legacy/gdd/aitHelpers.cc
delete mode 100644 src/ca/legacy/gdd/aitHelpers.h
delete mode 100644 src/ca/legacy/gdd/aitTypes.c
delete mode 100644 src/ca/legacy/gdd/aitTypes.h
delete mode 100644 src/ca/legacy/gdd/dbMapper.cc
delete mode 100644 src/ca/legacy/gdd/dbMapper.h
delete mode 100644 src/ca/legacy/gdd/gdd.cc
delete mode 100644 src/ca/legacy/gdd/gdd.gif
delete mode 100644 src/ca/legacy/gdd/gdd.h
delete mode 100644 src/ca/legacy/gdd/gdd.html
delete mode 100644 src/ca/legacy/gdd/gdd.rc
delete mode 100644 src/ca/legacy/gdd/gddAppDefs.cc
delete mode 100644 src/ca/legacy/gdd/gddAppFuncTable.h
delete mode 100644 src/ca/legacy/gdd/gddAppTable.cc
delete mode 100644 src/ca/legacy/gdd/gddAppTable.h
delete mode 100644 src/ca/legacy/gdd/gddArray.cc
delete mode 100644 src/ca/legacy/gdd/gddArray.h
delete mode 100644 src/ca/legacy/gdd/gddArrayI.h
delete mode 100644 src/ca/legacy/gdd/gddContainer.cc
delete mode 100644 src/ca/legacy/gdd/gddContainer.h
delete mode 100644 src/ca/legacy/gdd/gddContainerI.h
delete mode 100644 src/ca/legacy/gdd/gddEnumStringTable.cc
delete mode 100644 src/ca/legacy/gdd/gddEnumStringTable.h
delete mode 100644 src/ca/legacy/gdd/gddErrorCodes.cc
delete mode 100644 src/ca/legacy/gdd/gddErrorCodes.h
delete mode 100644 src/ca/legacy/gdd/gddI.h
delete mode 100644 src/ca/legacy/gdd/gddNewDel.cc
delete mode 100644 src/ca/legacy/gdd/gddNewDel.h
delete mode 100644 src/ca/legacy/gdd/gddScalar.h
delete mode 100644 src/ca/legacy/gdd/gddScalarI.h
delete mode 100644 src/ca/legacy/gdd/gddTest.cc
delete mode 100644 src/ca/legacy/gdd/gddUtils.cc
delete mode 100644 src/ca/legacy/gdd/gddUtils.h
delete mode 100644 src/ca/legacy/gdd/gddUtilsI.h
delete mode 100644 src/ca/legacy/gdd/gddref.html
delete mode 100644 src/ca/legacy/gdd/gddref2.html
delete mode 100644 src/ca/legacy/gdd/genApps.cc
delete mode 100644 src/ca/legacy/gdd/smartGDDPointer.h
delete mode 100644 src/ca/legacy/pcas/README
delete mode 100644 src/ca/legacy/pcas/RELEASE_NOTES
delete mode 100644 src/ca/legacy/pcas/build/Makefile
delete mode 100644 src/ca/legacy/pcas/build/cas.rc
delete mode 100644 src/ca/legacy/pcas/ex/Makefile
delete mode 100644 src/ca/legacy/pcas/example/README
delete mode 100644 src/ca/legacy/pcas/example/directoryService/Makefile
delete mode 100644 src/ca/legacy/pcas/example/directoryService/README
delete mode 100644 src/ca/legacy/pcas/example/directoryService/directoryServer.cc
delete mode 100644 src/ca/legacy/pcas/example/directoryService/directoryServer.h
delete mode 100644 src/ca/legacy/pcas/example/directoryService/main.cc
delete mode 100644 src/ca/legacy/pcas/example/directoryService/pvDirectory.txt
delete mode 100644 src/ca/legacy/pcas/example/directoryService/test.adl
delete mode 100644 src/ca/legacy/pcas/example/directoryService/vxEntry.cc
delete mode 100644 src/ca/legacy/pcas/generic/README
delete mode 100644 src/ca/legacy/pcas/generic/beaconAnomalyGovernor.cc
delete mode 100644 src/ca/legacy/pcas/generic/beaconAnomalyGovernor.h
delete mode 100644 src/ca/legacy/pcas/generic/beaconTimer.cc
delete mode 100644 src/ca/legacy/pcas/generic/beaconTimer.h
delete mode 100644 src/ca/legacy/pcas/generic/caHdrLargeArray.h
delete mode 100644 src/ca/legacy/pcas/generic/caNetAddr.cc
delete mode 100644 src/ca/legacy/pcas/generic/caNetAddr.h
delete mode 100644 src/ca/legacy/pcas/generic/caServer.cc
delete mode 100644 src/ca/legacy/pcas/generic/caServerDefs.h
delete mode 100644 src/ca/legacy/pcas/generic/caServerI.cc
delete mode 100644 src/ca/legacy/pcas/generic/caServerI.h
delete mode 100644 src/ca/legacy/pcas/generic/casAddr.h
delete mode 100644 src/ca/legacy/pcas/generic/casAsyncIOI.cc
delete mode 100644 src/ca/legacy/pcas/generic/casAsyncIOI.h
delete mode 100644 src/ca/legacy/pcas/generic/casAsyncPVAttachIO.cc
delete mode 100644 src/ca/legacy/pcas/generic/casAsyncPVAttachIOI.cpp
delete mode 100644 src/ca/legacy/pcas/generic/casAsyncPVAttachIOI.h
delete mode 100644 src/ca/legacy/pcas/generic/casAsyncPVExistIO.cc
delete mode 100644 src/ca/legacy/pcas/generic/casAsyncPVExistIOI.cpp
delete mode 100644 src/ca/legacy/pcas/generic/casAsyncPVExistIOI.h
delete mode 100644 src/ca/legacy/pcas/generic/casAsyncReadIO.cc
delete mode 100644 src/ca/legacy/pcas/generic/casAsyncReadIOI.cc
delete mode 100644 src/ca/legacy/pcas/generic/casAsyncReadIOI.h
delete mode 100644 src/ca/legacy/pcas/generic/casAsyncWriteIO.cc
delete mode 100644 src/ca/legacy/pcas/generic/casAsyncWriteIOI.cpp
delete mode 100644 src/ca/legacy/pcas/generic/casAsyncWriteIOI.h
delete mode 100644 src/ca/legacy/pcas/generic/casBufferFactory.cpp
delete mode 100644 src/ca/legacy/pcas/generic/casChannel.cc
delete mode 100644 src/ca/legacy/pcas/generic/casChannelI.cc
delete mode 100644 src/ca/legacy/pcas/generic/casChannelI.h
delete mode 100644 src/ca/legacy/pcas/generic/casCoreClient.cc
delete mode 100644 src/ca/legacy/pcas/generic/casCoreClient.h
delete mode 100644 src/ca/legacy/pcas/generic/casCtx.cc
delete mode 100644 src/ca/legacy/pcas/generic/casCtx.h
delete mode 100644 src/ca/legacy/pcas/generic/casCtxIL.h
delete mode 100644 src/ca/legacy/pcas/generic/casDGClient.cc
delete mode 100644 src/ca/legacy/pcas/generic/casDGClient.h
delete mode 100644 src/ca/legacy/pcas/generic/casEvent.h
delete mode 100644 src/ca/legacy/pcas/generic/casEventMask.cc
delete mode 100644 src/ca/legacy/pcas/generic/casEventMask.h
delete mode 100644 src/ca/legacy/pcas/generic/casEventRegistry.h
delete mode 100644 src/ca/legacy/pcas/generic/casEventSys.cc
delete mode 100644 src/ca/legacy/pcas/generic/casEventSys.h
delete mode 100644 src/ca/legacy/pcas/generic/casMonEvent.cc
delete mode 100644 src/ca/legacy/pcas/generic/casMonEvent.h
delete mode 100644 src/ca/legacy/pcas/generic/casMonitor.cc
delete mode 100644 src/ca/legacy/pcas/generic/casMonitor.h
delete mode 100644 src/ca/legacy/pcas/generic/casOpaqueAddr.cc
delete mode 100644 src/ca/legacy/pcas/generic/casOpaqueAddrIL.h
delete mode 100644 src/ca/legacy/pcas/generic/casPV.cc
delete mode 100644 src/ca/legacy/pcas/generic/casPVI.cc
delete mode 100644 src/ca/legacy/pcas/generic/casPVI.h
delete mode 100644 src/ca/legacy/pcas/generic/casStrmClient.cc
delete mode 100644 src/ca/legacy/pcas/generic/casStrmClient.h
delete mode 100644 src/ca/legacy/pcas/generic/casdef.h
delete mode 100644 src/ca/legacy/pcas/generic/chanIntfForPV.cc
delete mode 100644 src/ca/legacy/pcas/generic/chanIntfForPV.h
delete mode 100644 src/ca/legacy/pcas/generic/channelDestroyEvent.cpp
delete mode 100644 src/ca/legacy/pcas/generic/channelDestroyEvent.h
delete mode 100644 src/ca/legacy/pcas/generic/clientBufMemoryManager.cpp
delete mode 100644 src/ca/legacy/pcas/generic/clientBufMemoryManager.h
delete mode 100644 src/ca/legacy/pcas/generic/inBuf.cc
delete mode 100644 src/ca/legacy/pcas/generic/inBuf.h
delete mode 100644 src/ca/legacy/pcas/generic/ioBlocked.h
delete mode 100644 src/ca/legacy/pcas/generic/mt/README
delete mode 100644 src/ca/legacy/pcas/generic/mt/ioBlocked.cc
delete mode 100644 src/ca/legacy/pcas/generic/outBuf.cc
delete mode 100644 src/ca/legacy/pcas/generic/outBuf.h
delete mode 100644 src/ca/legacy/pcas/generic/pvAttachReturn.cc
delete mode 100644 src/ca/legacy/pcas/generic/pvExistReturn.cc
delete mode 100644 src/ca/legacy/pcas/generic/st/README
delete mode 100644 src/ca/legacy/pcas/generic/st/caServerOS.cc
delete mode 100644 src/ca/legacy/pcas/generic/st/casDGEvWakeup.h
delete mode 100644 src/ca/legacy/pcas/generic/st/casDGIOWakeup.h
delete mode 100644 src/ca/legacy/pcas/generic/st/casDGIntfOS.cc
delete mode 100644 src/ca/legacy/pcas/generic/st/casDGIntfOS.h
delete mode 100644 src/ca/legacy/pcas/generic/st/casIntfOS.cc
delete mode 100644 src/ca/legacy/pcas/generic/st/casIntfOS.h
delete mode 100644 src/ca/legacy/pcas/generic/st/casOSD.h
delete mode 100644 src/ca/legacy/pcas/generic/st/casStreamOS.cc
delete mode 100644 src/ca/legacy/pcas/generic/st/casStreamOS.h
delete mode 100644 src/ca/legacy/pcas/generic/st/ioBlocked.cc
delete mode 100644 src/ca/legacy/pcas/generic/st/osiMutexCAS.h
delete mode 100644 src/ca/legacy/pcas/generic/templateInstances.cpp
delete mode 100644 src/ca/legacy/pcas/io/bsdSocket/README
delete mode 100644 src/ca/legacy/pcas/io/bsdSocket/caServerIO.cc
delete mode 100644 src/ca/legacy/pcas/io/bsdSocket/caServerIO.h
delete mode 100644 src/ca/legacy/pcas/io/bsdSocket/casDGIntfIO.cc
delete mode 100644 src/ca/legacy/pcas/io/bsdSocket/casDGIntfIO.h
delete mode 100644 src/ca/legacy/pcas/io/bsdSocket/casIOD.h
delete mode 100644 src/ca/legacy/pcas/io/bsdSocket/casIntfIO.cc
delete mode 100644 src/ca/legacy/pcas/io/bsdSocket/casIntfIO.h
delete mode 100644 src/ca/legacy/pcas/io/bsdSocket/casStreamIO.cc
delete mode 100644 src/ca/legacy/pcas/io/bsdSocket/casStreamIO.h
delete mode 100644 src/ca/legacy/pcas/io/bsdSocket/ipIgnoreEntry.cpp
delete mode 100644 src/ca/legacy/pcas/io/bsdSocket/ipIgnoreEntry.h
delete mode 100644 src/ca/legacy/pcas/os/vms/BUILD_VMS.COM
delete mode 100644 src/ca/legacy/pcas/os/vms/README
delete mode 100644 src/ca/legacy/pcas/os/vms/casSpecificOS.h
delete mode 100644 src/ca/legacy/pcas/os/vms/login.com
delete mode 100644 src/ca/legacy/pcas/os/vms/mitfp.c
delete mode 100644 src/ca/legacy/pcas/os/vms/mitfp.cc
delete mode 100644 src/ca/legacy/pcas/os/vms/mitfp.h
delete mode 100644 src/ca/legacy/pcas/os/vms/vms_depen.h
delete mode 100644 src/ca/legacy/pcas/test/gddAppFuncTableTest.cc
delete mode 100644 src/ioc/as/asDbLib.h
delete mode 100644 src/ioc/bpt/makeBpt.c
delete mode 100644 src/ioc/db/callback.h
delete mode 100644 src/ioc/db/cvtBpt.c
delete mode 100644 src/ioc/db/dbCa.h
delete mode 100644 src/ioc/db/dbCaPvt.h
delete mode 100644 src/ioc/db/dbConvert.c
delete mode 100644 src/ioc/db/dbExtractArray.c
delete mode 100644 src/ioc/db/dbExtractArray.h
delete mode 100644 src/ioc/db/dbLink.c
delete mode 100644 src/ioc/db/dbLink.h
delete mode 100644 src/ioc/db/dbLock.c
delete mode 100644 src/ioc/db/dbLock.h
delete mode 100644 src/ioc/db/dbScan.h
delete mode 100644 src/ioc/db/dbServer.c
delete mode 100644 src/ioc/db/dbServer.h
delete mode 100644 src/ioc/db/dbUnitTest.c
delete mode 100644 src/ioc/db/dbUnitTest.h
delete mode 100644 src/ioc/db/db_convert.h
delete mode 100644 src/ioc/db/recGbl.h
delete mode 100644 src/ioc/db/templateInstances.cpp
delete mode 100644 src/ioc/db/test/dbLockTest.c
delete mode 100644 src/ioc/db/test/dbPutGetTest.c
delete mode 100644 src/ioc/db/test/dbPutLinkTest.c
delete mode 100644 src/ioc/db/test/scanIoTest.c
delete mode 100644 src/ioc/db/test/scanIoTest.db
delete mode 100644 src/ioc/db/test/xRecord.c
delete mode 100644 src/ioc/db/test/xRecord.dbd
delete mode 100644 src/ioc/db/test/yRecord.dbd
delete mode 100644 src/ioc/dbStatic/dbBase.h
delete mode 100644 src/ioc/dbStatic/dbLex.l
delete mode 100644 src/ioc/dbStatic/dbStaticLib.c
delete mode 100644 src/ioc/dbStatic/dbStaticLib.h
delete mode 100644 src/ioc/dbStatic/dbStaticPvt.h
delete mode 100644 src/ioc/dbStatic/dbStaticRun.c
delete mode 100644 src/ioc/dbStatic/dbYacc.y
delete mode 100644 src/ioc/dbStatic/devSup.h
delete mode 100644 src/ioc/dbStatic/drvSup.h
delete mode 100644 src/ioc/dbStatic/link.h
delete mode 100644 src/ioc/dbStatic/recSup.h
delete mode 100644 src/ioc/dbStatic/special.h
delete mode 100644 src/libCom/as/asLib.h
delete mode 100644 src/libCom/as/asLib.y
delete mode 100644 src/libCom/as/asLibRoutines.c
delete mode 100644 src/libCom/as/asLib_lex.l
delete mode 100644 src/libCom/as/asTrapWrite.h
delete mode 100644 src/libCom/bucketLib/bucketLib.c
delete mode 100644 src/libCom/bucketLib/bucketLib.h
delete mode 100644 src/libCom/calc/calcPerform.c
delete mode 100644 src/libCom/calc/postfix.c
delete mode 100644 src/libCom/calc/postfix.h
delete mode 100644 src/libCom/cppStd/epicsAlgorithm.h
delete mode 100644 src/libCom/cppStd/epicsMemory.h
delete mode 100644 src/libCom/cvtFast/cvtFast.c
delete mode 100644 src/libCom/cvtFast/cvtFast.h
delete mode 100644 src/libCom/cxxTemplates/epicsOnce.cpp
delete mode 100644 src/libCom/cxxTemplates/epicsOnce.h
delete mode 100644 src/libCom/cxxTemplates/epicsSingletonBase.cpp
delete mode 100644 src/libCom/cxxTemplates/test/minmaxTest.cc
delete mode 100644 src/libCom/cxxTemplates/test/resourceLibTest.cc
delete mode 100644 src/libCom/cxxTemplates/test/tsBTreeBench.cc
delete mode 100644 src/libCom/cxxTemplates/test/tsBTreeTest.cc
delete mode 100644 src/libCom/cxxTemplates/test/tsDLListBench.cc
delete mode 100644 src/libCom/cxxTemplates/test/tsSLListBench.cc
delete mode 100644 src/libCom/cxxTemplates/test/tsSLListTest.cc
delete mode 100644 src/libCom/cxxTemplates/tsBTree.h
delete mode 100644 src/libCom/dbmf/dbmf.c
delete mode 100644 src/libCom/dbmf/dbmf.h
delete mode 100644 src/libCom/ellLib/ellLib.h
delete mode 100644 src/libCom/env/envDefs.h
delete mode 100644 src/libCom/env/envSubr.c
delete mode 100644 src/libCom/error/errMdef.h
delete mode 100644 src/libCom/error/errSymLib.c
delete mode 100644 src/libCom/error/errSymTbl.h
delete mode 100644 src/libCom/error/errlog.h
delete mode 100644 src/libCom/error/error.h
delete mode 100644 src/libCom/error/makeStatTbl.pl
delete mode 100644 src/libCom/flex/dfa.c
delete mode 100644 src/libCom/flex/ecs.c
delete mode 100644 src/libCom/flex/flex.c
delete mode 100644 src/libCom/flex/gen.c
delete mode 100644 src/libCom/flex/parse.y
delete mode 100644 src/libCom/flex/yylex.c
delete mode 100644 src/libCom/freeList/freeList.h
delete mode 100644 src/libCom/freeList/freeList.html
delete mode 100644 src/libCom/freeList/freeListLib.c
delete mode 100644 src/libCom/gpHash/gpHash.html
delete mode 100644 src/libCom/iocsh/iocsh.h
delete mode 100644 src/libCom/log/iocLogServer.c
delete mode 100644 src/libCom/macLib/macLib.h
delete mode 100644 src/libCom/macLib/macUtil.c
delete mode 100644 src/libCom/misc/adjustment.h
delete mode 100644 src/libCom/misc/alarm.h
delete mode 100644 src/libCom/misc/cantProceed.h
delete mode 100644 src/libCom/misc/epicsConvert.c
delete mode 100644 src/libCom/misc/epicsExit.h
delete mode 100644 src/libCom/misc/epicsExport.h
delete mode 100644 src/libCom/misc/epicsStdlib.h
delete mode 100644 src/libCom/misc/epicsString.h
delete mode 100644 src/libCom/misc/epicsUnitTest.h
delete mode 100644 src/libCom/misc/truncateFile.c
delete mode 100644 src/libCom/misc/unixFileName.h
delete mode 100644 src/libCom/osi/devLib.h
delete mode 100644 src/libCom/osi/devLibVME.h
delete mode 100644 src/libCom/osi/devLibVMEImpl.h
delete mode 100644 src/libCom/osi/epicsAssert.h
delete mode 100644 src/libCom/osi/epicsEvent.h
delete mode 100644 src/libCom/osi/epicsGeneralTime.h
delete mode 100644 src/libCom/osi/epicsMessageQueue.h
delete mode 100644 src/libCom/osi/epicsMutex.h
delete mode 100644 src/libCom/osi/epicsStackTrace.c
delete mode 100644 src/libCom/osi/epicsStdio.h
delete mode 100644 src/libCom/osi/epicsThread.h
delete mode 100644 src/libCom/osi/epicsTime.h
delete mode 100644 src/libCom/osi/os/Darwin/osdEnv.c
delete mode 100644 src/libCom/osi/os/Darwin/osdSockAddrReuse.cpp
delete mode 100644 src/libCom/osi/os/Darwin/osiFileName.h
delete mode 100644 src/libCom/osi/os/Linux/osiFileName.h
delete mode 100644 src/libCom/osi/os/RTEMS/osdMessageQueue.c
delete mode 100644 src/libCom/osi/os/RTEMS/osdSignal.cpp
delete mode 100644 src/libCom/osi/os/RTEMS/osdThread.h
delete mode 100644 src/libCom/osi/os/RTEMS/osiFileName.h
delete mode 100644 src/libCom/osi/os/WIN32/epicsGetopt.c
delete mode 100644 src/libCom/osi/os/WIN32/epicsTempFile.cpp
delete mode 100644 src/libCom/osi/os/WIN32/osdEnv.c
delete mode 100644 src/libCom/osi/os/WIN32/osdFindSymbol.c
delete mode 100644 src/libCom/osi/os/WIN32/osdSignal.cpp
delete mode 100644 src/libCom/osi/os/WIN32/osdSock.c
delete mode 100644 src/libCom/osi/os/WIN32/osdSockAddrReuse.cpp
delete mode 100644 src/libCom/osi/os/WIN32/osiFileName.h
delete mode 100644 src/libCom/osi/os/WIN32/osiUnistd.h
delete mode 100644 src/libCom/osi/os/cygwin32/osdSockAddrReuse.cpp
delete mode 100644 src/libCom/osi/os/cygwin32/osiFileName.h
delete mode 100644 src/libCom/osi/os/default/epicsReadline.c
delete mode 100644 src/libCom/osi/os/default/epicsReadline.h
delete mode 100644 src/libCom/osi/os/default/osdEnv.c
delete mode 100644 src/libCom/osi/os/default/osdSignal.cpp
delete mode 100644 src/libCom/osi/os/freebsd/osiFileName.h
delete mode 100644 src/libCom/osi/os/iOS/osdEnv.c
delete mode 100644 src/libCom/osi/os/iOS/osdSockAddrReuse.cpp
delete mode 100644 src/libCom/osi/os/posix/osdExecinfoBackTrace.cpp
delete mode 100644 src/libCom/osi/os/posix/osdMutex.c
delete mode 100644 src/libCom/osi/os/posix/osdSockAddrReuse.cpp
delete mode 100644 src/libCom/osi/os/solaris/osdEnv.c
delete mode 100644 src/libCom/osi/os/solaris/osiFileName.h
delete mode 100644 src/libCom/osi/os/vxWorks/README
delete mode 100644 src/libCom/osi/os/vxWorks/camacLib.h
delete mode 100644 src/libCom/osi/os/vxWorks/osdEnv.c
delete mode 100644 src/libCom/osi/os/vxWorks/osdSignal.cpp
delete mode 100644 src/libCom/osi/os/vxWorks/osdThread.h
delete mode 100644 src/libCom/osi/os/vxWorks/osiFileName.h
delete mode 100644 src/libCom/osi/os/vxWorks/strtoll.c
delete mode 100644 src/libCom/osi/os/vxWorks/task_params.h
delete mode 100644 src/libCom/osi/os/vxWorks/veclist.c
delete mode 100644 src/libCom/osi/osiPoolStatus.h
delete mode 100644 src/libCom/ring/epicsRingBytes.h
delete mode 100644 src/libCom/ring/epicsRingPointer.h
delete mode 100644 src/libCom/test/cvtFastPerform.cpp
delete mode 100644 src/libCom/test/epicsThreadTest.cpp
delete mode 100644 src/libCom/test/osiSockTest.c
delete mode 100644 src/libCom/yacc/antelope.c
delete mode 100644 src/libCom/yacc/error.c
delete mode 100644 src/libCom/yacc/mkpar.c
delete mode 100644 src/libCom/yacc/output.c
delete mode 100644 src/libCom/yacc/reader.c
delete mode 100644 src/libCom/yacc/verbose.c
delete mode 100644 src/libCom/yacc/warshall.c
delete mode 100644 src/libCom/yajl/yajl.c
delete mode 100644 src/libCom/yajl/yajl_alloc.c
delete mode 100644 src/libCom/yajl/yajl_alloc.h
delete mode 100644 src/libCom/yajl/yajl_buf.c
delete mode 100644 src/libCom/yajl/yajl_buf.h
delete mode 100644 src/libCom/yajl/yajl_bytestack.h
delete mode 100644 src/libCom/yajl/yajl_common.h
delete mode 100644 src/libCom/yajl/yajl_encode.c
delete mode 100644 src/libCom/yajl/yajl_encode.h
delete mode 100644 src/libCom/yajl/yajl_gen.h
delete mode 100644 src/libCom/yajl/yajl_parse.h
delete mode 100644 src/libCom/yajl/yajl_parser.h
delete mode 100644 src/std/dev/devAaiSoft.c
delete mode 100644 src/std/dev/devAiSoft.c
delete mode 100644 src/std/dev/devAiSoftRaw.c
delete mode 100644 src/std/dev/devBiSoft.c
delete mode 100644 src/std/dev/devEventSoft.c
delete mode 100644 src/std/dev/devHistogramSoft.c
delete mode 100644 src/std/dev/devLiSoft.c
delete mode 100644 src/std/dev/devMbbiDirectSoft.c
delete mode 100644 src/std/dev/devMbbiSoft.c
delete mode 100644 src/std/dev/devMbbiSoftRaw.c
delete mode 100644 src/std/dev/devSASoft.c
delete mode 100644 src/std/dev/devSiSoft.c
delete mode 100644 src/std/dev/devWfSoft.c
delete mode 100644 src/std/rec/biRecord.c
delete mode 100644 src/std/rec/boRecord.c
delete mode 100644 src/std/rec/eventRecord.c
delete mode 100644 src/std/rec/stringinRecord.c
delete mode 100644 src/std/rec/stringoutRecord.c
delete mode 100644 src/std/rec/test/Makefile
delete mode 100644 src/std/softIoc/softMain.cpp
delete mode 100644 src/template/base/top/caServerApp/Makefile
delete mode 100644 src/template/base/top/caServerApp/README
delete mode 100644 src/template/base/top/caServerApp/exAsyncPV.cc
delete mode 100644 src/template/base/top/caServerApp/exChannel.cc
delete mode 100644 src/template/base/top/caServerApp/exPV.cc
delete mode 100644 src/template/base/top/caServerApp/exScalarPV.cc
delete mode 100644 src/template/base/top/caServerApp/exServer.cc
delete mode 100644 src/template/base/top/caServerApp/exServer.h
delete mode 100644 src/template/base/top/caServerApp/exVectorPV.cc
delete mode 100644 src/template/base/top/caServerApp/main.cc
delete mode 100644 src/template/base/top/caServerApp/test.adl
delete mode 100644 src/template/base/top/caServerApp/vxEntry.cc
delete mode 100644 src/template/base/top/exampleApp/src/sncExample.stt
delete mode 100644 src/template/base/top/exampleApp/src/xxxRecord.c
delete mode 100644 src/template/base/top/exampleApp/src/xxxSupport.dbd
delete mode 100644 src/template/base/top/exampleBoot/nfsCommands@RTEMS
delete mode 100644 src/template/base/top/exampleBoot/nfsCommands@vxWorks
delete mode 100644 src/template/base/top/iocBoot/nfsCommands@RTEMS
delete mode 100644 src/template/base/top/iocBoot/nfsCommands@vxWorks
delete mode 100644 src/template/ext/top/configure/os/CONFIG.linux-x86.linux-386
delete mode 100644 src/template/ext/top/configure/os/CONFIG_SITE.Common.Common
delete mode 100644 src/template/ext/top/configure/os/CONFIG_SITE.aix-ppc-gnu.aix-ppc-gnu
delete mode 100644 src/template/ext/top/configure/os/CONFIG_SITE.aix-ppc.aix-ppc
delete mode 100644 src/template/ext/top/configure/os/CONFIG_SITE.linux-x86.linux-athlon
delete mode 100644 src/template/ext/top/configure/os/CONFIG_SITE.win32-x86-cygwin.win32-x86-cygwin
delete mode 100644 src/tools/DBD/Driver.pm
delete mode 100644 src/tools/DBD/Function.pm
delete mode 100644 src/tools/DBD/Parser.pm
delete mode 100644 src/tools/DBD/Registrar.pm
create mode 100644 src/tools/depclean.pl
create mode 100644 src/tools/genVersionHeader.pl
create mode 100644 src/tools/makeAPIheader.pl
create mode 100644 src/tools/makeRPath.py
delete mode 100644 src/tools/test/Device.plt
delete mode 100644 src/tools/test/Driver.plt
delete mode 100644 src/tools/test/Function.plt
delete mode 100644 src/tools/test/Registrar.plt
delete mode 100644 src/tools/test/Variable.plt
rename src/ioc/db/menuPriority.dbd => test/Makefile (56%)
create mode 100644 test/tools/Makefile
rename {src/tools/test => test/tools}/Snippets.plt (91%)
diff --git a/Makefile b/Makefile
index d058e8fbe..6efaeb7f2 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@
# 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 file LICENSE that is included with this distribution.
#*************************************************************************
TOP = .
@@ -14,8 +14,12 @@ include $(TOP)/configure/CONFIG
TOOLS = $(TOP)/src/tools
DIRS += configure src
-
src_DEPEND_DIRS = configure
-include $(TOP)/configure/RULES_TOP
+DIRS += test
+test_DEPEND_DIRS = src
+DIRS += modules
+modules_DEPEND_DIRS = src
+
+include $(TOP)/configure/RULES_TOP
diff --git a/README b/README
index a4d27876e..942d00cb3 100644
--- a/README
+++ b/README
@@ -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.
---------------------------------------------------------
@@ -22,3 +22,6 @@ training materials, additional components, links to other
websites etc. is available on the EPICS home page at
https://epics.anl.gov/
+$Format:%cD$
+$Format:%H$
+https://code.launchpad.net/epics-base
diff --git a/configure/CONFIG b/configure/CONFIG
index e40d3f5f7..df454b29b 100644
--- a/configure/CONFIG
+++ b/configure/CONFIG
@@ -16,6 +16,10 @@ ifneq ($(wildcard $(TOP)/configure/CONFIG_BASE_VERSION),)
CONFIG = $(TOP)/configure
BASE_TOP=YES
else
+ ifneq ($(origin EPICS_BASE),file)
+ # Essential for the EPICS build system, see convertRelease.pl
+ $(error EPICS_BASE must be set in a configure/RELEASE file)
+ endif
CONFIG ?= $(EPICS_BASE)/configure
endif
@@ -58,10 +62,13 @@ include $(CONFIG)/CONFIG_BASE_VERSION
include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).Common
-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).Common
+# Parse configure/RELEASE to find all upstream modules
RELEASE_TOPS := $(shell $(CONVERTRELEASE) -T $(TOP) releaseTops)
-
ifdef T_A
+ # Information from the target's compiler
+ #
+ -include $(EPICS_BASE)/cfg/TOOLCHAIN.$(EPICS_HOST_ARCH).$(T_A)
# Cross compile specific definitions
#
diff --git a/configure/CONFIG.gnuCommon b/configure/CONFIG.gnuCommon
index 025391548..d3a9a41cf 100644
--- a/configure/CONFIG.gnuCommon
+++ b/configure/CONFIG.gnuCommon
@@ -3,8 +3,7 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
-# EPICS BASE Versions 3.13.7
-# and higher are distributed subject to a Software License Agreement found
+# EPICS Base is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
@@ -24,10 +23,15 @@ LD = $(GNU_BIN)/$(CMPLR_PREFIX)ld$(CMPLR_SUFFIX) -r
CPP = $(CC) -x c -E
RANLIB = $(GNU_BIN)/$(CMPLR_PREFIX)ranlib$(CMPLR_SUFFIX)
+# Requires at least GCC 4.8 or LLVM (clang) 3.1
+ASAN_FLAGS_YES = -fsanitize=address
+ASAN_LDFLAGS_YES = $(ASAN_FLAGS_YES)
+
PROF_CFLAGS_YES = -p
GPROF_CFLAGS_YES = -pg
CODE_CFLAGS = $(PROF_CFLAGS_$(PROFILE)) $(GPROF_CFLAGS_$(GPROF))
-WARN_CFLAGS_YES = -Wall
+CODE_CFLAGS += $(ASAN_FLAGS_$(ENABLE_ASAN))
+WARN_CFLAGS_YES = -Wall -Werror-implicit-function-declaration
WARN_CFLAGS_NO = -w
OPT_CFLAGS_YES = -O3
OPT_CFLAGS_NO = -g
@@ -35,23 +39,24 @@ OPT_CFLAGS_NO = -g
PROF_CXXFLAGS_YES = -p
GPROF_CXXFLAGS_YES = -pg
CODE_CXXFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF))
+CODE_CXXFLAGS += $(ASAN_FLAGS_$(ENABLE_ASAN))
WARN_CXXFLAGS_YES = -Wall
WARN_CXXFLAGS_NO = -w
OPT_CXXFLAGS_YES = -O3
OPT_CXXFLAGS_NO = -g
CODE_LDFLAGS = $(PROF_CXXFLAGS_$(PROFILE)) $(GPROF_CXXFLAGS_$(GPROF))
+CODE_LDFLAGS += $(ASAN_LDFLAGS_$(ENABLE_ASAN))
PIPE_CFLAGS_YES_YES = -pipe
PIPE_CFLAGS = $(PIPE_CFLAGS_$(GCC_PIPE)_$(GNU))
-PIPE_CXXFLAGS = $(PIPE_CFLAGS)
STATIC_LDFLAGS_YES = -static
STATIC_LDFLAGS_NO =
SHRLIB_CFLAGS = -fPIC
-SHRLIB_LDFLAGS = -shared -fPIC
-LOADABLE_SHRLIB_LDFLAGS = -shared -fPIC
+SHRLIB_LDFLAGS = -shared -fPIC -Wl,-h$@
+LOADABLE_SHRLIB_LDFLAGS = -shared -fPIC -Wl,-h$@
GNU_LDLIBS_YES = -lgcc
diff --git a/configure/CONFIG_ADDONS b/configure/CONFIG_ADDONS
index 29a33c415..d32d91165 100644
--- a/configure/CONFIG_ADDONS
+++ b/configure/CONFIG_ADDONS
@@ -4,7 +4,7 @@
# 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 file LICENSE that is included with this distribution.
#*************************************************************************
#
# check for add-on CFLAGS and CXXFLAGS
@@ -37,9 +37,6 @@
# PROD_LIBS libs needed by PROD and TESTPROD
# LIB_LIBS libs needed by shared LIBRARY
# SHRLIB_LIBS libs needed by shared LIBRARY
-# USR_OBJLIBS R3.13 vxWorks object libs needed building libraries and prods
-# PROD_OBJLIBS R3.13 vxWorks object libs needed for building prods
-# LIB_OBJLIBS R3.13 vxWorks object libs needed for building libraries
# USR_SYS_LIBS system libs needed building libraries and prods
# PROD_SYS_LIBS system libs needed for building prods
# LIB_SYS_LIBS system libs needed for building libraries
@@ -273,30 +270,6 @@ OBJS_HOST+=$(OBJS_HOST_DEFAULT)
endif
endif
-ifneq ($(strip $(PROD_OBJLIBS_$(OS_CLASS))),)
-PROD_OBJLIBS+=$(subst -nil-,,$(PROD_OBJLIBS_$(OS_CLASS)))
-else
-ifdef PROD_OBJLIBS_DEFAULT
-PROD_OBJLIBS+=$(PROD_OBJLIBS_DEFAULT)
-endif
-endif
-
-ifneq ($(strip $(LIB_OBJLIBS_$(OS_CLASS))),)
-LIB_OBJLIBS+=$(subst -nil-,,$(LIB_OBJLIBS_$(OS_CLASS)))
-else
-ifdef LIB_OBJLIBS_DEFAULT
-LIB_OBJLIBS+=$(LIB_OBJLIBS_DEFAULT)
-endif
-endif
-
-ifneq ($(strip $(USR_OBJLIBS_$(OS_CLASS))),)
-USR_OBJLIBS+=$(subst -nil-,,$(USR_OBJLIBS_$(OS_CLASS)))
-else
-ifdef USR_OBJLIBS_DEFAULT
-USR_OBJLIBS+=$(USR_OBJLIBS_DEFAULT)
-endif
-endif
-
ifneq ($(strip $(LIB_OBJS_$(OS_CLASS))),)
LIB_OBJS+=$(subst -nil-,,$(LIB_OBJS_$(OS_CLASS)))
else
@@ -581,4 +554,3 @@ ifdef LIB_RCS_DEFAULT
LIB_RCS+=$(LIB_RCS_DEFAULT)
endif
endif
-
diff --git a/configure/CONFIG_BASE b/configure/CONFIG_BASE
index 54747d8e3..4b15e4cdc 100644
--- a/configure/CONFIG_BASE
+++ b/configure/CONFIG_BASE
@@ -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
-# 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.
#*************************************************************************
#---------------------------------------------------------------
-# 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)
@@ -18,17 +17,6 @@ ifdef T_A
EPICS_BASE_BIN = $(EPICS_BASE)/bin/$(T_A)
endif
-#---------------------------------------------------------------
-# Epics base Ioc libraries
-
-EPICS_BASE_IOC_LIBS += dbRecStd dbCore ca Com
-
-#---------------------------------------------------------------
-# Epics base Host libraries
-
-EPICS_BASE_HOST_LIBS += cas gdd
-EPICS_BASE_HOST_LIBS += ca Com
-
#---------------------------------------------------------------
# Version number for base shared libraries (and win32 products)
@@ -39,88 +27,54 @@ ifdef BASE_TOP
PROD_VERSION = $(EPICS_VERSION).$(EPICS_REVISION)
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
+# so TOOLS must be an absolute path, although Perl scripts are OK.
+# FIND_TOOL is for scripts run before the build reaches src/tools
+# and must also work in submodules when EPICS_BASE is not built.
TOOLS = $(abspath $(EPICS_BASE_HOST_BIN))
-FIND_TOOL = $(firstword $(wildcard $(TOOLS)/$(1) $(TOP)/src/tools/$(1)))
+FIND_TOOL = $(firstword $(wildcard $(TOOLS)/$(1) \
+ $(TOP)/src/tools/$(1)) $(EPICS_BASE)/src/tools/$(1))
#---------------------------------------------------------------
-# Epics base build tools and tool flags
+# EPICS Base build tools and tool flags
+
+PODTOHTML = $(PERL) $(TOOLS)/podToHtml.pl
+CONVERTRELEASE = $(PERL) $(call FIND_TOOL,convertRelease.pl)
+FULLPATHNAME = $(PERL) $(TOOLS)/fullPathName.pl
+GENVERSIONHEADER = $(PERL) $(TOOLS)/genVersionHeader.pl $(QUIET_FLAG) $(QUESTION_FLAG)
-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) $(call FIND_TOOL,convertRelease.pl)
-FULLPATHNAME = $(PERL) $(TOOLS)/fullPathName.pl
+MAKERPATH = $(PYTHON) $(TOOLS)/makeRPath.py
-#-------------------------------------------------------
+#---------------------------------------------------------------
# tools for installing libraries and products
-INSTALL_QUIETLY := $(if $(findstring s,$(MFLAGS)),-q,)
-INSTALL = $(PERL) $(TOOLS)/installEpics.pl $(INSTALL_QUIETLY)
+INSTALL = $(PERL) $(TOOLS)/installEpics.pl $(QUIET_FLAG)
INSTALL_PRODUCT = $(INSTALL)
INSTALL_LIBRARY = $(INSTALL)
#---------------------------------------------------------------
-# tools for making header dependancies and variable replacement
-MKMF = $(PERL) $(TOOLS)/mkmf.pl
-REPLACEVAR = $(PERL) $(TOOLS)/replaceVAR.pl
+# tools for making header dependencies and variable replacement
+MKMF = $(PERL) $(TOOLS)/mkmf.pl
+REPLACEVAR = $(PERL) $(TOOLS)/replaceVAR.pl
#---------------------------------------------------------------
-# Tools for testing
-TAPTOJUNIT = $(PERL) $(TOOLS)/tap-to-junit-xml.pl
-PROVE = $(PERL) $(TOOLS)/epicsProve.pl
-PROVE.tap = $(PROVE) --ext .tap --exec "$(CAT)"
-
-TEST_FAILURE_FILE = $(TOP)/.tests-failed
-PROVE_FAILURE = echo $(abspath .)>> $(TEST_FAILURE_FILE)
+# tools for cleaning out unwanted files
+CVSCLEAN = $(call FIND_TOOL,cvsclean.pl)
+DEPCLEAN = $(call FIND_TOOL,depclean.pl)
#---------------------------------------------------------------
-# private versions of lex/yacc from EPICS
-EYACC = $(TOOLS)/antelope$(HOSTEXE)
-ELEX = $(TOOLS)/e_flex$(HOSTEXE) -S$(EPICS_BASE)/include/flex.skel.static
-
-YACC = $(EYACC)
-LEX = $(ELEX)
-
-#---------------------------------------------------------------
-# Our use of msi is incompatible with older versions
-
-MSI3_15 = $(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
-
-
-
+# Tools for testing
+TAPS_FAILED_LOG = .taps-failed.log
+TESTS_FAILED_LOG = .tests-failed.log
+TESTS_FAILED_PATH = $(abspath $(TOP)/$(TESTS_FAILED_LOG))
+
+TAPTOJUNIT = $(PERL) $(TOOLS)/tap-to-junit-xml.pl
+PROVE = $(PERL) $(TOOLS)/epicsProve.pl --failures --color
+PROVE.tap = $(PROVE) --ext .tap --exec "$(CAT)"
+TESTFAILURES = $(PERL) $(TOOLS)/testFailures.pl
+SHOWTESTFAILURES = $(TESTFAILURES) $(TESTS_FAILED_PATH) $(TAPS_FAILED_LOG)
+
+PROVE_FAILURE = echo $(abspath .)>> $(TESTS_FAILED_PATH)
+TAPFILE_FAILURE = echo $@>> $(TAPS_FAILED_LOG)
diff --git a/configure/CONFIG_BASE_VERSION b/configure/CONFIG_BASE_VERSION
index eaeb0f2de..efa0afee7 100644
--- a/configure/CONFIG_BASE_VERSION
+++ b/configure/CONFIG_BASE_VERSION
@@ -15,30 +15,47 @@
# 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 convenience macros for our release series to be NO or YES, so
+# Makefiles can detect 'Series X or later', or 'Series X only' like this:
+#
+# ifdef BASE_3_14
+# true for 3.14 or later
+# ifdef BASE_3_15
+# true for 3.15 or later
+# ifdef BASE_3_16
+# true for 3.16 or later
+# ifdef BASE_7_0
+# true for 7.0 or later
+#
+# ifeq ($(BASE_3_14),YES)
+# true for 3.14.x only
+# ifeq ($(BASE_3_15),YES)
+# true for 3.15.x only
+# ifeq ($(BASE_3_16),YES)
+# true for 3.16.x only.
+# ifeq ($(BASE_7_0),YES)
+# true for 7.0.x only.
+
BASE_3_14 = NO
-BASE_3_15 = YES
+BASE_3_15 = NO
+BASE_3_16 = NO
+BASE_7_0 = YES
# EPICS_VERSION must be a number >0 and <256
-EPICS_VERSION = 3
+EPICS_VERSION = 7
# EPICS_REVISION must be a number >=0 and <256
-EPICS_REVISION = 15
+EPICS_REVISION = 0
# EPICS_MODIFICATION must be a number >=0 and <256
-EPICS_MODIFICATION = 8
+EPICS_MODIFICATION = 6
# EPICS_PATCH_LEVEL must be a number (win32 resource file requirement)
-# Not included if zero
+# Not included in the official EPICS version number if zero
EPICS_PATCH_LEVEL = 0
-# This will end in -DEV between official releases
-#EPICS_DEV_SNAPSHOT=-DEV
-#EPICS_DEV_SNAPSHOT=-pre1
-#EPICS_DEV_SNAPSHOT=-pre1-DEV
-#EPICS_DEV_SNAPSHOT=-rc1
-#EPICS_DEV_SNAPSHOT=-rc1-DEV
+# Immediately after an official release the EPICS_PATCH_LEVEL is incremented
+# and the -DEV suffix is added (similar to the Maven -SNAPSHOT versions)
EPICS_DEV_SNAPSHOT=
# No changes should be needed below here
diff --git a/src/ioc/db/menuPost.dbd b/configure/CONFIG_CA_MODULE
similarity index 65%
rename from src/ioc/db/menuPost.dbd
rename to configure/CONFIG_CA_MODULE
index a86b25b5e..70ffac19b 100644
--- a/src/ioc/db/menuPost.dbd
+++ b/configure/CONFIG_CA_MODULE
@@ -1,11 +1,9 @@
#*************************************************************************
-# Copyright (c) 2012 UChicago Argonne LLC, as Operator of Argonne
+# Copyright (c) 2017 UChicago Argonne LLC, as Operator of Argonne
# National Laboratory.
# EPICS BASE is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
-menu(menuPost) {
- choice(menuPost_OnChange, "On Change")
- choice(menuPost_Always, "Always")
-}
+# Libraries needed to link a host tool
+EPICS_BASE_HOST_LIBS = ca Com
diff --git a/configure/CONFIG_CA_VERSION b/configure/CONFIG_CA_VERSION
new file mode 100644
index 000000000..ce95a0ad3
--- /dev/null
+++ b/configure/CONFIG_CA_VERSION
@@ -0,0 +1,12 @@
+# Version number for the Channel Access API and shared library
+
+EPICS_CA_MAJOR_VERSION = 4
+EPICS_CA_MINOR_VERSION = 14
+EPICS_CA_MAINTENANCE_VERSION = 0
+
+# Development flag, set to zero for release versions
+
+EPICS_CA_DEVELOPMENT_FLAG = 0
+
+# Immediately after a release the MAINTENANCE_VERSION
+# will be incremented and the DEVELOPMENT_FLAG set to 1
diff --git a/configure/CONFIG_COMMON b/configure/CONFIG_COMMON
index 43f4866d7..316f971d7 100644
--- a/configure/CONFIG_COMMON
+++ b/configure/CONFIG_COMMON
@@ -4,7 +4,7 @@
# 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 file LICENSE that is included with this distribution.
#*************************************************************************
#
# CONFIG_COMMON
@@ -38,9 +38,7 @@ BUILD_ARCHS = $(EPICS_HOST_ARCH) $(CROSS1) $(CROSS2)
# otherwise override this in os/CONFIG_SITE..Common
PERL = perl -CSD
-#-------------------------------------------------------
-# dbst based database optimization default
-DB_OPT = NO
+PYTHON = python
#-------------------------------------------------------
# Check configure/RELEASE file for consistency
@@ -73,6 +71,8 @@ INSTALL_DBD = $(INSTALL_LOCATION)/dbd
INSTALL_DB = $(INSTALL_LOCATION)/db
INSTALL_CONFIG = $(INSTALL_LOCATION)/configure
+FINAL_LOCATION = $(shell $(PERL) $(TOOLS)/fullPathName.pl $(INSTALL_LOCATION))
+
# Directory for OS independant build created files
COMMON_DIR = ../O.Common
@@ -80,9 +80,14 @@ COMMON_DIR = ../O.Common
IOCS_APPL_TOP = $(shell $(FULLPATHNAME) $(INSTALL_LOCATION))
#-------------------------------------------------------
-# Make echo output - suppress echoing if make's '-s' flag is set
+# Silencing the build - suppress messages during 'make -s'
NOP = :
-ECHO = @$(if $(findstring s,$(MFLAGS)),$(NOP),echo)
+ECHO = @$(if $(filter -s,$(MFLAGS)),$(NOP),echo)
+QUIET_FLAG := $(if $(filter -s,$(MFLAGS)),-q,)
+
+#-------------------------------------------------------
+# Convert 'make -q' flag into '-i' for genVersionHeader.pl
+QUESTION_FLAG := $(if $(filter -q,$(MFLAGS)),-i,)
#-------------------------------------------------------
ifdef T_A
@@ -92,7 +97,7 @@ INSTALL_SHRLIB = $(INSTALL_LOCATION_LIB)/$(T_A)
INSTALL_TCLLIB = $(INSTALL_LOCATION_LIB)/$(T_A)
INSTALL_BIN = $(INSTALL_LOCATION_BIN)/$(T_A)
-#Directories for libraries
+# Directories for libraries
SHRLIB_SEARCH_DIRS = $(INSTALL_LIB)
#-------------------------------------------------------
@@ -139,9 +144,10 @@ BUILDLIB_SUFFIX = $(BUILDLIB_SUFFIX_$(SHARED_LIBRARIES))
#--------------------------------------------------
# vpath directories
POSIX_YES = os/posix
+OS_IMPL_DIRS = $(if $(OS_API),os/$(OS_CLASS)-$(OS_API),) os/$(OS_CLASS)
GENERIC_SRC_DIRS = .. $(SRC_DIRS)
OS_SRC_DIRS += . $(foreach dir, .. $(SRC_DIRS), \
- $(addprefix $(dir)/, os/$(OS_CLASS) $(POSIX_$(POSIX)) os/default ))
+ $(addprefix $(dir)/, $(OS_IMPL_DIRS) $(POSIX_$(POSIX)) os/default ))
CMPLR_SRC_DIRS += . $(foreach dir, .. $(SRC_DIRS), \
$(addprefix $(dir)/, compiler/$(CMPLR_CLASS) compiler/default ))
ALL_SRC_DIRS = $(CMPLR_SRC_DIRS) $(OS_SRC_DIRS) $(GENERIC_SRC_DIRS)
@@ -166,13 +172,13 @@ TESTSHRLIBNAME = $(TESTSHRLIBNAME_$(SHARED_LIBRARIES))
#--------------------------------------------------
# obj files
-TARGET_OBJS = $($*_OBJLIBS) $($*_LDOBJS) $(addsuffix $(OBJ),$(basename $($*_OBJS) $($*_SRCS)))
+TARGET_OBJS = $($*_LDOBJS) $(addsuffix $(OBJ),$(basename $($*_OBJS) $($*_SRCS)))
PRODUCT_OBJS = $(addsuffix $(OBJ),$(basename $(SRCS) $(USR_SRCS) $(PROD_SRCS) $(USR_OBJS) $(PROD_OBJS)))
-PROD_LD_OBJS = $(USR_OBJLIBS) $(PROD_OBJLIBS) $(TARGET_OBJS) $(PRODUCT_OBJS)
+PROD_LD_OBJS = $(TARGET_OBJS) $(PRODUCT_OBJS)
LIBRARY_OBJS = $(addsuffix $(OBJ),$(basename $(SRCS) $(USR_SRCS) $(LIB_SRCS) $(LIBSRCS) $(USR_OBJS) $(LIB_OBJS)))
-LIBRARY_LD_OBJS = $(USR_OBJLIBS) $(LIB_OBJLIBS) $(TARGET_OBJS) $(LIBRARY_OBJS)
+LIBRARY_LD_OBJS = $(TARGET_OBJS) $(LIBRARY_OBJS)
#--------------------------------------------------
# Windows resource files
@@ -254,7 +260,7 @@ OPT_CXXFLAGS = $(OPT_CXXFLAGS_$($(BUILD_CLASS)_OPT))
# Static build flags
STATIC_CFLAGS = $(STATIC_CFLAGS_$(STATIC_BUILD))
-STATIC_CXXCFLAGS = $(STATIC_CXXFLAGS_$(STATIC_BUILD))
+STATIC_CXXFLAGS = $(STATIC_CXXFLAGS_$(STATIC_BUILD))
STATIC_LDFLAGS = $(STATIC_LDFLAGS_$(STATIC_BUILD))
STATIC_LDLIBS = $(STATIC_LDLIBS_$(STATIC_BUILD))
@@ -264,7 +270,7 @@ LIBRARY_SRCS=$(basename $(foreach lib,$(LIBRARY) $(TESTLIBRARY) $(LOADABLE_LIBRA
LIBRARY_SRC_CFLAGS=$($(patsubst $*,SHRLIB,$(findstring $*,$(LIBRARY_SRCS)))_CFLAGS)
#--------------------------------------------------
-# prefix, suffix, and ldflags for loadable shared libraries
+# prefix, suffix, and ldflags for loadable shared libraries
TARGET_LIB_LDFLAGS=$($(patsubst $*,LOADABLE_,$(findstring $*,$(LOADABLE_LIBRARY)))SHRLIB_LDFLAGS)
LOADABLE_SHRLIB_PREFIX=$(SHRLIB_PREFIX)
LOADABLE_SHRLIB_SUFFIX=$(SHRLIB_SUFFIX)
@@ -291,7 +297,7 @@ CFLAGS = $($(BUILD_CLASS)_CFLAGS) $(POSIX_CFLAGS) $(OPT_CFLAGS)\
CXXFLAGS = $($(BUILD_CLASS)_CXXFLAGS) $(POSIX_CXXFLAGS) $(OPT_CXXFLAGS)\
$(DEBUG_CXXFLAGS) $(PIPE_CFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS)\
$(USR_CXXFLAGS) $(CMD_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(CODE_CXXFLAGS)\
- $(STATIC_CXXCFLAGS) $(OP_SYS_CXXFLAGS) $(LIBRARY_SRC_CFLAGS)
+ $(STATIC_CXXFLAGS) $(OP_SYS_CXXFLAGS) $(LIBRARY_SRC_CFLAGS)
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(CMD_LDFLAGS)\
$(POSIX_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(DEBUG_LDFLAGS) $(OP_SYS_LDFLAGS)\
@@ -303,7 +309,7 @@ LDLIBS = $(POSIX_LDLIBS) $(ARCH_DEP_LDLIBS) $(DEBUG_LDLIBS) $(OP_SYS_LDLIBS)\
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)
+ $(OP_SYS_INCLUDE_CPPFLAGS) $(CODE_CPPFLAGS) $(API_CPPFLAGS)
#--------------------------------------------------
# ar definition default
@@ -332,6 +338,14 @@ 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
@@ -367,14 +381,14 @@ PATH_FILTER = $(1)$(warning PATH_FILTER is deprecated; used for $(1))
# each list starts with the destination directory name(s)
# to make sure it's there
-INSTALL_PROD= $(PRODNAME:%= $(INSTALL_BIN)/%)
-INSTALL_LIBS= $(LIBNAME:%=$(INSTALL_LIB)/%)
-INSTALL_MUNCHS= $(MUNCHNAME:%=$(INSTALL_BIN)/%)
-INSTALL_SHRLIBS= $(SHRLIBNAME:%=$(INSTALL_SHRLIB)/%)
-INSTALL_LOADABLE_SHRLIBS= $(LOADABLE_SHRLIBNAME:%=$(INSTALL_SHRLIB)/%)
-INSTALL_DLLSTUB_LIBS=$(DLLSTUB_LIBNAME:%=$(INSTALL_LIB)/%)
-INSTALL_TCLLIBS=$(TCLLIBNAME:%=$(INSTALL_TCLLIB)/%)
-INSTALL_TCLINDEX=$(TCLINDEX:%=$(INSTALL_TCLLIB)/%)
+INSTALL_PROD = $(PRODNAME:%= $(INSTALL_BIN)/%)
+INSTALL_LIBS = $(LIBNAME:%=$(INSTALL_LIB)/%)
+INSTALL_MUNCHS = $(MUNCHNAME:%=$(INSTALL_BIN)/%)
+INSTALL_SHRLIBS = $(SHRLIBNAME:%=$(INSTALL_SHRLIB)/%)
+INSTALL_LOADABLE_SHRLIBS = $(LOADABLE_SHRLIBNAME:%=$(INSTALL_SHRLIB)/%)
+INSTALL_DLLSTUB_LIBS = $(DLLSTUB_LIBNAME:%=$(INSTALL_LIB)/%)
+INSTALL_TCLLIBS = $(TCLLIBNAME:%=$(INSTALL_TCLLIB)/%)
+INSTALL_TCLINDEX = $(TCLINDEX:%=$(INSTALL_TCLLIB)/%)
INSTALL_SCRIPTS = $(SCRIPTS:%= $(INSTALL_BIN)/%)
INSTALL_OBJS = $(OBJSNAME:%= $(INSTALL_BIN)/%)
@@ -454,5 +468,5 @@ COMMON_INC += $(filter $(COMMON_DIR)/%, $(foreach file, $(INC), \
SOURCE_INC = $(wildcard $(file) $(SOURCE_INC_bbb) )
SOURCE_INC_bbb = $(foreach dir, $(ALL_SRC_DIRS), $(SOURCE_INC_aaa) )
SOURCE_INC_aaa = $(addsuffix /$(file), $(dir) )
-
+
endif
diff --git a/configure/CONFIG_DATABASE_MODULE b/configure/CONFIG_DATABASE_MODULE
new file mode 100644
index 000000000..3376ff67c
--- /dev/null
+++ b/configure/CONFIG_DATABASE_MODULE
@@ -0,0 +1,28 @@
+#*************************************************************************
+# Copyright (c) 2017 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# Set EPICS_DATABASE if necessary
+ifndef EPICS_DATABASE
+ EPICS_DATABASE = $(if $(BUILDING_DATABASE),$(INSTALL_LOCATION),$(EPICS_BASE))
+
+ # Paths to tools built here
+ EPICS_DATABASE_HOST_BIN = $(EPICS_DATABASE)/bin/$(EPICS_HOST_ARCH)
+endif
+
+# Set location of locally-built tools
+MAKEBPT = $(EPICS_DATABASE_HOST_BIN)/makeBpt$(HOSTEXE)
+DBEXPAND = $(PERL) $(EPICS_DATABASE_HOST_BIN)/dbdExpand.pl
+DBTORECORDTYPEH = $(PERL) $(EPICS_DATABASE_HOST_BIN)/dbdToRecordtypeH.pl
+DBTOMENUH = $(PERL) $(EPICS_DATABASE_HOST_BIN)/dbdToMenuH.pl
+DBDTOHTML = $(PERL) $(EPICS_DATABASE_HOST_BIN)/dbdToHtml.pl
+REGISTERRECORDDEVICEDRIVER = $(PERL) $(EPICS_DATABASE_HOST_BIN)/registerRecordDeviceDriver.pl
+MSI3_15 = $(EPICS_DATABASE_HOST_BIN)/msi$(HOSTEXE)
+
+# Libraries needed to link a basic IOC
+EPICS_BASE_IOC_LIBS = dbRecStd dbCore ca Com
+
+HAS_registerAllRecordDeviceDrivers=YES
diff --git a/configure/CONFIG_DATABASE_VERSION b/configure/CONFIG_DATABASE_VERSION
new file mode 100644
index 000000000..348a69b11
--- /dev/null
+++ b/configure/CONFIG_DATABASE_VERSION
@@ -0,0 +1,12 @@
+# Version number for the database APIs and shared library
+
+EPICS_DATABASE_MAJOR_VERSION = 3
+EPICS_DATABASE_MINOR_VERSION = 20
+EPICS_DATABASE_MAINTENANCE_VERSION = 0
+
+# Development flag, set to zero for release versions
+
+EPICS_DATABASE_DEVELOPMENT_FLAG = 0
+
+# Immediately after a release the MAINTENANCE_VERSION
+# will be incremented and the DEVELOPMENT_FLAG set to 1
diff --git a/configure/CONFIG_ENV b/configure/CONFIG_ENV
index 173dceaca..6d0d52a79 100644
--- a/configure/CONFIG_ENV
+++ b/configure/CONFIG_ENV
@@ -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.
#*************************************************************************
# Author: Andrew Johnson
# Date: 20 April 1995
@@ -35,8 +34,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=""
@@ -45,12 +46,10 @@ EPICS_CAS_SERVER_PORT=
EPICS_CAS_INTF_ADDR_LIST=""
EPICS_CAS_IGNORE_ADDR_LIST=""
+# Servers to disable
+EPICS_IOC_IGNORE_SERVERS=""
+
# Log Server:
# EPICS_IOC_LOG_PORT Log server port number etc.
EPICS_IOC_LOG_PORT=7004
-# Other services:
-
-EPICS_CMD_PROTO_PORT=
-EPICS_AR_PORT=7002
-
diff --git a/configure/CONFIG_LIBCOM_MODULE b/configure/CONFIG_LIBCOM_MODULE
new file mode 100644
index 000000000..32bb937c2
--- /dev/null
+++ b/configure/CONFIG_LIBCOM_MODULE
@@ -0,0 +1,17 @@
+#*************************************************************************
+# Copyright (c) 2017 UChicago Argonne LLC, as Operator of Argonne
+# National Laboratory.
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# Set location of locally generated tools
+YACC = $(abspath $(EPICS_BASE)/bin/$(EPICS_HOST_ARCH))/antelope$(HOSTEXE)
+LEX = $(abspath $(EPICS_BASE)/bin/$(EPICS_HOST_ARCH))/e_flex$(HOSTEXE) \
+ -S$(EPICS_BASE)/include/flex.skel.static
+
+# Default stack size for osiThread
+OSITHREAD_USE_DEFAULT_STACK = NO
+OSITHREAD_DEFAULT_STACK_FLAGS_YES = -DOSITHREAD_USE_DEFAULT_STACK
+
+BASE_CPPFLAGS += $(OSITHREAD_DEFAULT_STACK_FLAGS_$(OSITHREAD_USE_DEFAULT_STACK))
diff --git a/configure/CONFIG_LIBCOM_VERSION b/configure/CONFIG_LIBCOM_VERSION
new file mode 100644
index 000000000..76a5a5fcf
--- /dev/null
+++ b/configure/CONFIG_LIBCOM_VERSION
@@ -0,0 +1,12 @@
+# Version number for the libcom APIs and shared library
+
+EPICS_LIBCOM_MAJOR_VERSION = 3
+EPICS_LIBCOM_MINOR_VERSION = 20
+EPICS_LIBCOM_MAINTENANCE_VERSION = 0
+
+# Development flag, set to zero for release versions
+
+EPICS_LIBCOM_DEVELOPMENT_FLAG = 0
+
+# Immediately after a release the MAINTENANCE_VERSION
+# will be incremented and the DEVELOPMENT_FLAG set to 1
diff --git a/configure/CONFIG_SITE b/configure/CONFIG_SITE
index b657f5b65..03ec6d114 100644
--- a/configure/CONFIG_SITE
+++ b/configure/CONFIG_SITE
@@ -17,11 +17,11 @@
# Currently Supporting:
# cygwin-x86 (cygwin compiler used for host builds)
# cygwin-x86_64 (cygwin compiler used for host builds)
-# darwin-ppc (PowerPC based Apple running OSX)
-# darwin-ppcx86 (Universal binaries for both CPUs)
-# darwin-x86 (Intel based Apple running OSX)
+# darwin-aarch64 (M1 based Apple using CLANG compiler)
+# darwin-x86 (Intel based Apple using CLANG compiler)
# freebsd-x86 (GNU compiler used for host builds)
# freebsd-x86_64 (GNU compiler used for host builds)
+# linux-aarch64 (GNU compiler used for host builds)
# linux-arm (GNU compiler used for host builds)
# linux-ppc (GNU compiler used for host builds)
# linux-ppc64 (GNU compiler used for host builds)
@@ -51,7 +51,6 @@
# windows-x64-debug (MS Visual C++ compiler with debug option for host builds)
-# EPICS_HOST_ARCH is a required environment variable
# Do not set EPICS_HOST_ARCH in this file.
# Use base/startup files to set EPICS_HOST_ARCH or
# provide EPICS_HOST_ARCH on the GNU make command line.
@@ -62,23 +61,11 @@
# ios-arm (darwin-x86 host)
# ios-386 (darwin-x86 host)
-# linux-386 (linux-x86 host)
-# linux-486 (linux-x86 host)
-# linux-586 (linux-x86 host)
-# linux-686 (linux-x86 host)
# linux-arm (linux-x86 or -x86_64 host)
-# linux-arm_eb (linux-x86 host)
-# linux-arm_el (linux-x86 host)
-# linux-athlon (linux-x86 host)
-# linux-cris (Axis GNU crosscompiler on linux-x86 host)
-# linux-cris_v10 (Axis GNU crosscompiler on linux-x86 host)
-# linux-cris_v32 (Axis GNU crosscompiler on linux-x86 host)
+# linux-aarch64 (linux-x86_64 host)
# linux-microblaze
# linux-xscale_be
# vxWorks-486
-# vxWorks-68040
-# vxWorks-68040lc
-# vxWorks-68060
# vxWorks-pentium
# vxWorks-ppc32 (32-bit PowerPC CPUs with full FPU)
# vxWorks-ppc32sf (32-bit PowerPC CPUs without FPU)
@@ -89,18 +76,20 @@
# vxWorks-ppc604_altivec
# vxWorks-mpc8540
# vxWorks-mpc8548
-# RTEMS-at91rm9200ek
+# RTEMS-beagleboneblack
# RTEMS-beatnik
-# RTEMS-gen68360
-# RTEMS-mcp750
-# RTEMS-mvme167
# RTEMS-mvme2100
# RTEMS-mvme2700
# RTEMS-mvme3100
# RTEMS-mvme5500
-# RTEMS-pc386
-# RTEMS-psim
+# RTEMS-pc386 (RTEMS 4)
+# RTEMS-pc386-qemu (RTEMS 4)
+# RTEMS-pc686 (RTEMS 5)
+# RTEMS-pc686-qemu (RTEMS 5)
+# RTEMS-qoriq_e500
# RTEMS-uC5282
+# RTEMS-xilinx-zynq-a9_qemu
+# RTEMS-xilinx_zynq_zedboard
# win32-x86-mingw (linux-x86 or -x86_64 host)
#
@@ -108,7 +97,6 @@
# Definitions in configure/os/CONFIG_SITE..Common
# may override this setting.
CROSS_COMPILER_TARGET_ARCHS=
-#CROSS_COMPILER_TARGET_ARCHS=vxWorks-ppc32
# If only some of your host architectures can compile the
# above CROSS_COMPILER_TARGET_ARCHS specify those host
@@ -155,6 +143,14 @@ CROSS_WARN=YES
# different location then uncomment and set this.
#INSTALL_LOCATION=
+# The location from which files placed in INSTALL_LOCATION will actually run.
+# This path is compiled into executables, and so should be an absolute.
+# May be used to achieve the effect of autotools. eg.
+# ./configure --prefix=
+# make DESTDIR=
+# Defaults to the absolute expansion of $(INSTALL_LOCATION)
+#FINAL_LOCATION=
+
# Use POSIX thread priority scheduling (if available).
# Must be either YES or NO
USE_POSIX_THREAD_PRIORITY_SCHEDULING = YES
@@ -169,10 +165,18 @@ EPICS_SITE_VERSION =
GCC_PIPE = NO
# Set RPATH when linking executables and libraries.
-# Must be either YES or NO. If you set this to NO you must also provide a
+# Must be either YES, NO, or ORIGIN. If you set this to NO you must also provide a
# way for Base executables to find their shared libraries when they are
# run at build-time, e.g. set the LD_LIBRARY_PATH environment variable.
+# ORIGIN is a feature of the ELF executable format used by Linux, freebsd, and solaris.
LINKER_USE_RPATH = YES
+# Only used when LINKER_USE_RPATH=ORIGIN
+# The build time root(s) of the relocatable tree (separate multiple w/ ':').
+# Linking to libraries under any root directory will be relative.
+# Linking to libraries outside of this root will be absolute.
+# All root directories are considered to be the same.
+LINKER_ORIGIN_ROOT = $(INSTALL_LOCATION)
+
# Overrides for the settings above may appear in a CONFIG_SITE.local file
-include $(CONFIG)/CONFIG_SITE.local
diff --git a/configure/CONFIG_SITE_ENV b/configure/CONFIG_SITE_ENV
index 008467933..bacbc14a5 100644
--- a/configure/CONFIG_SITE_ENV
+++ b/configure/CONFIG_SITE_ENV
@@ -59,7 +59,6 @@ EPICS_TZ = "CST6CDT,M3.2.0/2,M11.1.0/2"
# US Hawaiian Standard Time, no DST:
#EPICS_TZ = "HST10"
-
# EPICS_TS_NTP_INET
# NTP time server ip address for VxWorks and RTEMS.
# IOC will use its boot host if this is not set.
@@ -70,8 +69,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
diff --git a/configure/Makefile b/configure/Makefile
index 377879766..ba77d5089 100644
--- a/configure/Makefile
+++ b/configure/Makefile
@@ -15,10 +15,24 @@ include $(TOP)/configure/CONFIG
TOOLS = $(TOP)/src/tools
CONFIGS += $(subst ../,,$(wildcard ../CONFIG*))
-CONFIGS += $(subst ../,,$(wildcard ../os/CONFIG*))
+CONFIGS += $(subst ../,,$(wildcard ../os/CONFIG.*))
+CONFIGS += $(subst ../,,$(wildcard ../os/CONFIG_SITE.*))
CONFIGS += $(subst ../,,$(wildcard ../RELEASE*))
CONFIGS += $(subst ../,,$(wildcard ../RULES*))
+CFG += CONFIG_LIBCOM_MODULE
+CFG += CONFIG_LIBCOM_VERSION
+
+CFG += CONFIG_CA_MODULE
+CFG += CONFIG_CA_VERSION
+
+CFG += CONFIG_DATABASE_MODULE
+CFG += CONFIG_DATABASE_VERSION
+
+CFG += TOOLCHAIN.$(EPICS_HOST_ARCH).$(T_A)
+
include $(TOP)/configure/RULES
+TOOLCHAIN.$(EPICS_HOST_ARCH).$(T_A): toolchain.c
+ $(PREPROCESS.cpp)
diff --git a/configure/RULES b/configure/RULES
index bdc895a4d..e4ae22497 100644
--- a/configure/RULES
+++ b/configure/RULES
@@ -1,11 +1,10 @@
#*************************************************************************
-# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
+# Copyright (c) 2006 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.
#*************************************************************************
ifndef T_A
diff --git a/configure/RULES.Db b/configure/RULES.Db
index 8c5d99ed7..406c1eb16 100644
--- a/configure/RULES.Db
+++ b/configure/RULES.Db
@@ -4,14 +4,17 @@
# 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.
#*************************************************************************
-#RULES.Db
-# Set db substitutions file suffix
+# RULES.Db
+
+# 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,12 +22,13 @@ 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)
@@ -33,13 +37,15 @@ 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 +92,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 +126,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 +137,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 =
@@ -153,59 +157,65 @@ ACTIONS += install
ACTIONS += buildInstall
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
+include $(CONFIG)/CONFIG_APP_INCLUDE
all: install
-ifeq ($(EPICS_HOST_ARCH),$T_A)
-host: install
-else
-# Do nothing
-host:
-endif
install: buildInstall
-buildInstall : build
+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)
+inc: $(COMMON_INC) $(INSTALL_INC) $(COMMON_DBDS) $(COMMON_DBDCATS) \
+ $(INSTALL_DBDS) $(INSTALL_DBD_INSTALLS)
-build : $(COMMON_DBDS) $(COMMON_DBS) $(COMMON_DBDCATS) \
- $(INSTALL_DBDS) $(INSTALL_DBS) \
+build: $(COMMON_DBS) $(INSTALL_DBS) \
$(DBDDEPENDS_FILES) $(TARGETS) \
- $(INSTALL_DB_INSTALLS) $(INSTALL_DBD_INSTALLS)
+ $(INSTALL_DB_INSTALLS)
clean: db_clean
-db_clean :
+db_clean:
@$(RM) $(COMMONS) $(DBDDEPENDS_FILES)
@$(RM) *_registerRecordDeviceDriver.cpp
@$(RM) $(TARGETS)
-.PHONY : db_clean
+.PHONY: db_clean
realclean: clean
-##################################################### Dependency files
+#---------------------------------------------------------------
+# Dependency files
%Record.h$(DEP): $(COMMON_DIR)/%Record.dbd
@$(RM) $@
@@ -256,19 +266,19 @@ 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) $@
$(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) -S$< $(TEMPLATE_FILENAME) > $@
-%.db$(RAW)$(DEP): ../%$(SUBST_SUFFIX)
+%.db$(DEP): ../%$(SUBST_SUFFIX)
@$(RM) $@
$(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) -S$< $(TEMPLATE_FILENAME) > $@
-%.db$(RAW)$(DEP): %.template
+%.db$(DEP): %$(TEMPL_SUFFIX)
@$(RM) $@
$(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) $< > $@
-%.db$(RAW)$(DEP): ../%.template
+%.db$(DEP): ../%$(TEMPL_SUFFIX)
@$(RM) $@
$(MSI3_15) -D $(DBFLAGS) -o $(COMMONDEP_TARGET) $< > $@
@@ -282,14 +292,8 @@ menu%.h$(DEP): ../menu%.dbd
.PRECIOUS: %$(DEP)
-##################################################### CapFast filter
-
-$(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
@@ -310,25 +314,21 @@ $(INSTALL_DB)/%$(SUBST_SUFFIX): ../%$(SUBST_SUFFIX)
.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
+$(INSTALL_DB)/%$(TEMPL_SUFFIX): %$(TEMPL_SUFFIX)
$(ECHO) "Installing template file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
-$(INSTALL_DB)/%.template: ../%.template
+$(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 $@)
@@ -362,7 +362,8 @@ $(COMMON_DIR)/menu%.h: ../menu%.dbd
.PRECIOUS: $(COMMON_DIR)/%.h
-##################################################### DBD files
+#---------------------------------------------------------------
+# DBD files
$(COMMON_DIR)/bpt%.dbd: bpt%.data
@$(RM) $(notdir $@)
@@ -388,7 +389,7 @@ $(COMMON_DIR)/%.dbd: ../%Include.dbd
# Make DBDCAT file x depend on x_DBD source files
define DBDCAT_template
-$$(COMMON_DIR)/$(1).dbd : ../Makefile $$(foreach file, $$($(1)_DBD),$$(DBDCAT_SOURCE) )
+$$(COMMON_DIR)/$(1).dbd: ../Makefile $$(foreach file, $$($(1)_DBD),$$(DBDCAT_SOURCE) )
endef
$(foreach name,$(subst .dbd,,$(DBDCAT)), $(eval $(call DBDCAT_template,$(name))))
@@ -417,7 +418,7 @@ $(INSTALL_DBD)/%: ../%
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
define DBD_INSTALLS_template
-$$(INSTALL_DBD)/$$(notdir $(1)) : $(1)
+$$(INSTALL_DBD)/$$(notdir $(1)): $(1)
$(ECHO) "Installing $$@"
@$$(INSTALL) -d -m $$(INSTALL_PERMISSIONS) $$^ $$(INSTALL_DBD)
endef
@@ -425,56 +426,64 @@ $(foreach file, $(DBD_INSTALLS), $(eval $(call DBD_INSTALLS_template, $(file))))
.PRECIOUS: $(COMMON_DBDS) $(COMMON_DIR)/%.dbd
-##################################################### HTML files
+#---------------------------------------------------------------
+# HTML files
-$(COMMON_DIR)/%.html: %.dbd.pod $(TOOLS)/dbdToHtml.pl
+$(COMMON_DIR)/%.html: %.dbd.pod
@$(RM) $(notdir $@)
- $(PERL) $(TOOLS)/dbdToHtml.pl $(DBDFLAGS) -o $(notdir $@) $<
+ $(DBDTOHTML) $(DBDFLAGS) -o $(notdir $@) $<
@$(MV) $(notdir $@) $@
-$(COMMON_DIR)/%.html: %.pod $(TOOLS)/podToHtml.pl
+$(COMMON_DIR)/%.html: %.pod
@$(RM) $(notdir $@)
- $(PERL) $(TOOLS)/podToHtml.pl -o $(notdir $@) $<
+ $(PODTOHTML) -s -s -o $(notdir $@) $<
@$(MV) $(notdir $@) $@
-$(COMMON_DIR)/%.html: %.pm $(TOOLS)/podToHtml.pl
+$(COMMON_DIR)/%.html: %.pm
@$(RM) $(notdir $@)
- $(PERL) $(TOOLS)/podToHtml.pl -o $(notdir $@) $<
+ $(PODTOHTML) -o $(notdir $@) $<
@$(MV) $(notdir $@) $@
-$(COMMON_DIR)/%.html: ../%.pm $(TOOLS)/podToHtml.pl
+$(COMMON_DIR)/%.html: ../%.pm
@$(RM) $(notdir $@)
- $(PERL) $(TOOLS)/podToHtml.pl -o $(notdir $@) $<
+ $(PODTOHTML) -s -o $(notdir $@) $<
+ @$(MKDIR) $(dir $@)
+ @$(MV) $(notdir $@) $@
+
+$(COMMON_DIR)/%.html: ../%.pl
+ @$(RM) $(notdir $@)
+ $(PODTOHTML) -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) $(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) $(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) $(notdir $@)
$(MSI3_15) $(DBFLAGS) -o $(notdir $@) $<
@$(MV) $(notdir $@) $@
-$(COMMON_DIR)/%.db$(RAW): ../%.template
+$(COMMON_DIR)/%.db: ../%$(TEMPL_SUFFIX)
$(ECHO) "Inflating database from $<"
@$(RM) $(notdir $@)
$(MSI3_15) $(DBFLAGS) -o $(notdir $@) $<
@@ -492,22 +501,6 @@ $(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 $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
@@ -515,14 +508,13 @@ $(INSTALL_DB)/%: %
$(INSTALL_DB)/%: ../%
$(ECHO) "Installing $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
-endif
$(INSTALL_DB)/%.db: $(COMMON_DIR)/%.db
$(ECHO) "Installing created db file $@"
@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
define DB_INSTALLS_template
-$$(INSTALL_DB)/$$(notdir $(1)) : $(1)
+$$(INSTALL_DB)/$$(notdir $(1)): $(1)
$(ECHO) "Installing $$@"
@$$(INSTALL) -d -m $$(INSTALL_PERMISSIONS) $$^ $$(INSTALL_DB)
endef
@@ -531,8 +523,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) $@
@@ -547,5 +539,3 @@ $(foreach file, $(DB_INSTALLS), $(eval $(call DB_INSTALLS_template, $(file))))
$(REGISTERRECORDDEVICEDRIVER) $(REGRDDFLAGS) -o $@ $< $(basename $@) $(IOCS_APPL_TOP)
.PRECIOUS: %_registerRecordDeviceDriver.cpp
-
-##################################################### END OF FILE
diff --git a/configure/RULES.ioc b/configure/RULES.ioc
index fa0482ec0..385e9e6de 100644
--- a/configure/RULES.ioc
+++ b/configure/RULES.ioc
@@ -4,9 +4,10 @@
# 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.
#*************************************************************************
-#RULES.ioc
+
+# RULES.ioc
include $(CONFIG)/RULES_DIRS
diff --git a/configure/RULES_ARCHS b/configure/RULES_ARCHS
index dc3fa04fe..4aaa75870 100644
--- a/configure/RULES_ARCHS
+++ b/configure/RULES_ARCHS
@@ -90,6 +90,4 @@ realclean:
.PHONY : $(BUILD_ARCHS) rebuild archsCommonClean
.PHONY : $(ACTIONS) clean realclean archclean host all
-# User specific rules
-#
--include $(HOME)/configure/RULES_USER
+include $(CONFIG)/RULES_COMMON
diff --git a/configure/RULES_BUILD b/configure/RULES_BUILD
index c7f3ba7b6..53297af52 100644
--- a/configure/RULES_BUILD
+++ b/configure/RULES_BUILD
@@ -6,11 +6,12 @@
# EPICS BASE is distributed subject to a Software License Agreement found
# in the file LICENSE that is included with this distribution.
#*************************************************************************
+
+# RULES_BUILD
+
+# Rules for making things specified in a Makefile
#
-# Rules for making things specified in Makefile
-#
-# we are in O.$(T_A), but most sources are elsewhere
-#
+# CWD is O.$(T_A), but most sources are elsewhere
ifndef BASE_RULES_BUILD
BASE_RULES_BUILD=1
@@ -31,28 +32,44 @@ vpath %.l $(USR_VPATH) $(ALL_SRC_DIRS)
include $(CONFIG)/CONFIG_ADDONS
#---------------------------------------------------------------
-# Set PROD, TESTPROD, OBJS, and LIBRARY
SCRIPTS_HOST += $(PERL_SCRIPTS)
# PERL_SCRIPTS are installed into existing $(INSTALL_BIN) for Host systems
-ifeq ($(findstring Host,$(VALID_BUILDS)),Host)
+# Host targets can compile and run programs
+ifneq (,$(findstring Host,$(VALID_BUILDS)))
LIBRARY += $(LIBRARY_HOST)
LOADABLE_LIBRARY += $(LOADABLE_LIBRARY_HOST)
OBJS += $(OBJS_HOST)
PROD += $(PROD_HOST)
SCRIPTS += $(SCRIPTS_HOST)
+TARGETS += $(TARGETS_HOST)
TESTLIBRARY += $(TESTLIBRARY_HOST)
TESTSCRIPTS += $(TESTSCRIPTS_HOST)
TESTPROD += $(TESTPROD_HOST)
endif
-ifeq ($(findstring Ioc,$(VALID_BUILDS)),Ioc)
+# Command targets have a command line and support main()
+ifneq (,$(findstring Command,$(VALID_BUILDS)))
+LIBRARY += $(LIBRARY_CMD)
+LOADABLE_LIBRARY += $(LOADABLE_LIBRARY_CMD)
+OBJS += $(OBJS_CMD)
+PROD += $(PROD_CMD)
+SCRIPTS += $(SCRIPTS_CMD)
+TARGETS += $(TARGETS_CMD)
+TESTLIBRARY += $(TESTLIBRARY_CMD)
+TESTSCRIPTS += $(TESTSCRIPTS_CMD)
+TESTPROD += $(TESTPROD_CMD)
+endif
+
+# Ioc targets can run IOCs
+ifneq (,$(findstring Ioc,$(VALID_BUILDS)))
LIBRARY += $(LIBRARY_IOC)
LOADABLE_LIBRARY += $(LOADABLE_LIBRARY_IOC)
OBJS += $(OBJS_IOC)
PROD += $(PROD_IOC)
SCRIPTS += $(SCRIPTS_IOC)
+TARGETS += $(TARGETS_IOC)
TESTLIBRARY += $(TESTLIBRARY_IOC)
TESTSCRIPTS += $(TESTSCRIPTS_IOC)
TESTPROD += $(TESTPROD_IOC)
@@ -72,31 +89,34 @@ HTMLS_DIR ?= .
# First target
all: install
-ifeq ($(EPICS_HOST_ARCH),$T_A)
+ifeq ($(EPICS_HOST_ARCH),$(T_A))
host: install
else
# Do nothing
host:
endif
--include $(CONFIG)/RULES_FILE_TYPE
+include $(CONFIG)/RULES_FILE_TYPE
--include $(CONFIG)/RULES.Db
+include $(CONFIG)/RULES.Db
#---------------------------------------------------------------
# Include defines and rules for prod, library and test* targets
-#ifneq (,$(strip $(PROD) $(TESTPROD) $(LIBRARY) $(TESTLIBRARY) $(LOADABLE_LIBRARY) ))
+ifneq (,$(strip $(PROD) $(TESTPROD) $(LIBRARY) $(TESTLIBRARY) \
+ $(LOADABLE_LIBRARY)))
include $(CONFIG)/RULES_TARGET
-#endif
+endif
#---------------------------------------------------------------
# Read dependency files
+ifneq (inc,$(strip $(MAKECMDGOALS)))
ifneq (,$(strip $(HDEPENDS_FILES)))
$(filter-out $(wildcard *$(DEP)), $(HDEPENDS_FILES)): | $(COMMON_INC)
-include $(HDEPENDS_FILES)
endif
+endif
#---------------------------------------------------------------
# Products and Object libraries
@@ -113,7 +133,7 @@ ifneq (,$(filter $(T_A), $(EPICS_HOST_ARCH) $(CROSS_COMPILER_RUNTEST_ARCHS)))
RUNTESTS_ENABLED = YES
TESTSCRIPTS.t = $(filter %.t, $(TESTSCRIPTS))
TAPFILES.t += $(TESTSCRIPTS.t:.t=.tap)
-JUNITFILES.t += $(TESTSCRIPTS.t:.t=.xml)
+JUNITFILES.t += $(TESTSCRIPTS.t:.t=-results.xml)
TAPFILES += $(TAPFILES.t)
JUNITFILES += $(JUNITFILES.t)
endif
@@ -144,14 +164,14 @@ build: inc
build: $(OBJSNAME) $(LIBTARGETS) $(PRODTARGETS) $(TESTPRODTARGETS) \
$(TARGETS) $(TESTSCRIPTS) $(INSTALL_LIB_INSTALLS)
-inc : $(COMMON_INC) $(INSTALL_INC) $(INSTALL_CONFIGS)
+inc: $(COMMON_INC) $(INSTALL_INC) $(INSTALL_CONFIGS) $(INSTALLS_CFG) \
+ $(INSTALL_HTMLS) $(INSTALLS_PERL_MODULES) $(INSTALL_SCRIPTS)
-buildInstall : \
- $(INSTALL_SCRIPTS) $(INSTALL_PROD) $(INSTALL_MUNCHS) \
+buildInstall: \
+ $(INSTALL_PROD) $(INSTALL_MUNCHS) \
$(INSTALL_TCLLIBS) $(INSTALL_TCLINDEX) \
- $(INSTALL_OBJS) \
$(INSTALL_DOCS) \
- $(INSTALL_HTMLS) \
+ $(INSTALL_OBJS) \
$(INSTALL_TEMPLATE) \
$(INSTALL_BIN_INSTALLS)
@@ -171,9 +191,9 @@ ifdef RES
@$(RM) *$(RES)
endif
-# Sort mkdir targets to remove duplicates & make parents first
-$(DIRECTORY_TARGETS):
- $(MKDIR) $(sort $@)
+# Sort directories to remove duplicates & make parents first
+$(sort $(DIRECTORY_TARGETS)):
+ $(MKDIR) $@
# Install LIB_INSTALLS libraries before linking executables
$(TESTPRODNAME) $(PRODNAME): | $(INSTALL_LIB_INSTALLS)
@@ -185,26 +205,33 @@ endif
# RELEASE file consistency checking
checkRelease:
- $(CONVERTRELEASE) checkRelease
+ +$(CONVERTRELEASE) checkRelease
warnRelease:
- -$(CONVERTRELEASE) checkRelease
+ $(CONVERTRELEASE) checkRelease
noCheckRelease:
ifeq ($(EPICS_HOST_ARCH),$(T_A))
$(info Warning: RELEASE file consistency checks have been disabled)
endif
+# $(FINAL_DIR) signals eventual install locations to makeRPath script
+$(TESTPRODNAME): FINAL_DIR=.
+$(PRODNAME): FINAL_DIR=$(INSTALL_BIN)
+$(TESTSHRLIBNAME): FINAL_DIR=.
+$(SHRLIBNAME): FINAL_DIR=$(INSTALL_SHRLIB)
+$(LOADABLE_SHRLIBNAME): FINAL_DIR=$(INSTALL_SHRLIB)
+
#---------------------------------------------------------------
# The order of the following rules is
# VERY IMPORTANT !!!!
$(TESTPRODNAME) $(PRODNAME): $(PRODUCT_OBJS) $(PROD_RESS) $(PROD_DEPLIBS)
-$(TESTPRODNAME) $(PRODNAME): %$(EXE):
+$(TESTPRODNAME) $(PRODNAME): %$(EXE): | $(INSTALL_LIB)
@$(RM) $@
- $(DEBUGCMD) $(LINK.cpp)
+ $(LINK.cpp)
$(MT_EXE_COMMAND)
-%_ctdt$(OBJ) : %_ctdt.c
+%_ctdt$(OBJ): %_ctdt.c
@$(RM) $@
$(COMPILE.ctdt) $<
@@ -222,9 +249,9 @@ $(TESTPRODNAME) $(PRODNAME): %$(EXE):
# Cancel GNUMake's built-in rules, which don't have our _INC
# dependencies so could get used in some circumstances (gdd)
-%.o : %.c
-%.o : %.cc
-%.o : %.cpp
+%.o: %.c
+%.o: %.cc
+%.o: %.cpp
# Include files are order-only prerequisites for compilation:
%$(OBJ): %.c | $(COMMON_INC) $(INSTALL_INC)
@@ -258,7 +285,7 @@ YACCOPT ?= $($*_YACCOPT)
# must be a separate rule since when not using '-d' the
# prefix for .h will be different then .c
-%.h : %.c %.y
+%.h: %.c %.y
%.c: %.l
@$(RM) $@
@@ -302,6 +329,10 @@ $(LOADABLE_SHRLIBNAME): $(LOADABLE_SHRLIB_PREFIX)%$(LOADABLE_SHRLIB_SUFFIX):
$(LINK.shrlib)
$(MT_DLL_COMMAND)
+$(LIBNAME) $(SHRLIBNAME) $(LOADABLE_SHRLIBNAME): | $(INSTALL_LIB)
+$(INSTALL_LIB):
+ @$(MKDIR) $@
+
#---------------------------------------------------------------
# C++ munching for VxWorks
@@ -332,6 +363,12 @@ $(MODNAME): %$(MODEXT): %$(EXE)
@$(RM) $@
$(LINK.mod)
+#---------------------------------------------------------------
+# Generate Perl include path module
+%ModuleDirs.pm: $(wildcard $(TOP)/configure/RELEASE*)
+ @$(MKDIR) $(dir $@)
+ $(CONVERTRELEASE) -T $(TOP) $@
+
#---------------------------------------------------------------
# Automated testing
@@ -339,7 +376,8 @@ runtests: run-tap-tests
run-tap-tests: $(TESTSCRIPTS.t)
ifneq ($(TESTSCRIPTS.t),)
ifdef RUNTESTS_ENABLED
- $(PROVE) --failures --color $^ || $(PROVE_FAILURE)
+ $(ECHO) "$(PROVE) $^"
+ @$(PROVE) $^ || $(PROVE_FAILURE)
endif
endif
@@ -350,7 +388,8 @@ test-results: tap-results
tap-results: $(TAPFILES)
ifneq ($(strip $(TAPFILES)),)
ifdef RUNTESTS_ENABLED
- $(PROVE.tap) --failures --color $^ || $(PROVE_FAILURE)
+ $(ECHO) "$(PROVE.tap) $^"
+ @$(PROVE.tap) $^ || $(PROVE_FAILURE)
endif
CURRENT_TAPFILES := $(wildcard $(TAPFILES))
@@ -358,8 +397,8 @@ CURRENT_JUNITFILES := $(wildcard $(JUNITFILES))
endif
clean-tests:
-ifneq ($(CURRENT_TAPFILES),)
- $(RM) $(CURRENT_TAPFILES)
+ifneq ($(CURRENT_TAPFILES)$(TAPS_FAILED_LOG),)
+ $(RM) $(CURRENT_TAPFILES) $(TAPS_FAILED_LOG)
endif
ifneq ($(CURRENT_JUNITFILES),)
$(RM) $(CURRENT_JUNITFILES)
@@ -368,35 +407,61 @@ endif
# A .tap file is the output from running the associated test script
$(TAPFILES.t): %.tap: %.t
ifdef RUNTESTS_ENABLED
- -$(PERL) $< -tap > $@
+ $(ECHO) "$(PERL) $< -tap > $@"
+ @$(PERL) $< -tap > $@ || $(TAPFILE_FAILURE)
endif
-$(JUNITFILES.t): %.xml: %.tap
+$(JUNITFILES.t): %-results.xml: %.tap
$(TAPTOJUNIT) --puretap --output $@ --input $< $*
# If there's a perl test script (.plt) available, use it
%.t: ../%.plt
@$(RM) $@
- $(CP) $< $@
+ $(EXPAND_TOOL) -t $(INSTALL_LOCATION) -a $(T_A) $< $@
# Test programs (.t files) must be written in Perl.
# Generate a perl program to exec the real test binary.
%.t: %$(EXE) $(TOOLS)/makeTestfile.pl
@$(RM) $@
- $(PERL) $(TOOLS)/makeTestfile.pl $@ $<
+ $(PERL) $(TOOLS)/makeTestfile.pl $(T_A) $(EPICS_HOST_ARCH) $@ $<
+
+#---------------------------------------------------------------
+# Generate $(API_HEADER) files on request (%API.h)
+
+ifdef API_HEADER
+# Install them
+INC += $(API_HEADER)
+
+# Ensure we generate them early enough
+INSTALL_API_HEADERS = $(addprefix $(INSTALL_INCLUDE)/,$(API_HEADER))
+$(filter-out $(INSTALL_API_HEADERS), $(INSTALL_INC)) $(HDEPENDS_FILES): \
+ | $(INSTALL_API_HEADERS)
+
+# How to make one
+$(COMMON_DIR)/%API.h: $(TOOLS)/makeAPIheader.pl
+ @$(RM) $@
+ $(PERL) $(TOOLS)/makeAPIheader.pl -o $@ $(@:$(COMMON_DIR)/%API.h=%)
+endif
+
+# 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
define BIN_INSTALLS_template
-$$(INSTALL_BIN)/$$(notdir $(1)) : $(1)
+$$(INSTALL_BIN)/$$(notdir $(1)): $(1)
$(ECHO) "Installing $$( build directory.
+# make PRINT.T_A
+
+PRINT_Var = $(@:PRINT.%=%)
+PRINT.%:
+ @echo $(PRINT_Var) = '$($(PRINT_Var))'
+
+.PHONY: PRINT PRINT.%
+
+
+# Clean rules for recursively deleting editor backup files
+# and dependency (.d) files from CWD and below.
+
+cvsclean:
+ $(PERL) $(CVSCLEAN)
+depclean:
+ $(PERL) $(DEPCLEAN)
+
+.PHONY: cvsclean depclean
+
+
+# User specific rules
+#
+-include $(HOME)/configure/RULES_USER
diff --git a/configure/RULES_DIRS b/configure/RULES_DIRS
index 92d2035dc..f47df4a53 100644
--- a/configure/RULES_DIRS
+++ b/configure/RULES_DIRS
@@ -99,7 +99,4 @@ $(ARCHS) $(ACTIONS) $(actionArchTargets) :%: \
.PHONY : $(dirActionArchTargets)
.PHONY : $(actionArchTargets)
-
-# User specific rules
-#
--include $(HOME)/configure/RULES_USER
+include $(CONFIG)/RULES_COMMON
diff --git a/configure/RULES_EXPAND b/configure/RULES_EXPAND
index 51657ebd8..16c299c6d 100644
--- a/configure/RULES_EXPAND
+++ b/configure/RULES_EXPAND
@@ -1,30 +1,83 @@
-# /configure/RULES_EXPAND
+#*************************************************************************
+# Copyright (c) 2011 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.
+#*************************************************************************
+
+# RULES_EXPAND
vpath %@ $(USR_VPATH) $(ALL_SRC_DIRS)
#---------------------------------------------------------------
-# Variable expansion
+# Template variable expansion
+
+# This feature allows you to instantiate simple template files at
+# build-time, replacing macros spelled @NAME@ with values provided
+# by the Makefile. The template filename must end with an @ sign,
+# which is removed to create the expanded filename.
+
+# Makefiles can use this variable expansion as follows:
+#
+# 1. Add the template filename (with the trailing @ sign) to either
+# the EXPAND or EXPAND_COMMON variable, for example:
+# EXPAND_COMMON += myVersion.h@
+# Use EXPAND_COMMON for templates that don't depend on the
+# target architecture (these will be generated in O.Common).
+# 2. There are 2 ways of defining template macros. The simplest
+# is to add a NAME=VALUE string to the EXPAND_VARS variable for
+# the desired macros, e.g.:
+# EXPAND_VARS += MY_MAJOR_VERSION=$(MY_MAJOR_VERSION)
+# EXPAND_VARS += MY_MINOR_VERSION=$(MY_MINOR_VERSION)
+# These values may not contain spaces, even if inside quotes.
+# 3. A better way in the above case is to add the names of any
+# Makefile variables that should be provided as macros to the
+# variable EXPAND_ME, like this:
+# EXPAND_ME += MY_MAJOR_VERSION
+# EXPAND_ME += MY_MINOR_VERSION
+# The values of these variables may contain spaces.
+# 4. The macros TOP and ARCH will be set by the build system.
+# TOP is the value of $(INSTALL_LOCATION) for this module.
+# ARCH is the target architecture $(T_A), but is only set
+# while expanding files in EXPAND
+# 5. Add the expanded filename to some other variable that will
+# cause it to be created and used, such as INC here:
+# INC += myVersion.h
# Default settings
EXPAND_TOOL ?= $(PERL) $(TOOLS)/expandVars.pl
-EXPANDFLAGS += -t $(INSTALL_LOCATION) -a $(T_A)
-EXPANDFLAGS += $(addprefix -D ,$(EXPAND_VARS))
+EXPANDARCH = -a $(T_A)
+EXPANDFLAGS += -t $(INSTALL_LOCATION)
+EXPANDFLAGS += $(addprefix -D ,$(EXPAND_VARS) $($@_EXPAND_VARS))
+EXPANDFLAGS += $(foreach var, $(EXPAND_ME) $($@_EXPAND_ME), \
+ -D$(var)="$(strip $($(var)))")
# The names of files to be expanded must end with '@'
EXPANDED = $(EXPAND:%@=%)
+EXPANDED_COM = $(EXPAND_COMMON:%@=%)
+EXPANDED_COMMON = $(EXPANDED_COM:%=$(COMMON_DIR)/%)
$(EXPANDED): %: %@
$(ECHO) "Expanding $< to $@"
@$(RM) $@
- @$(EXPAND_TOOL) $(EXPANDFLAGS) $($@_EXPANDFLAGS) $< $@
+ $(EXPAND_TOOL) $(EXPANDARCH) $(EXPANDFLAGS) $($@_EXPANDFLAGS) $< $@
+
+$(EXPANDED_COM): %: %@
+ $(ECHO) "Expanding $< to $(COMMON_DIR)/$@"
+ @$(RM) $@
+ $(EXPAND_TOOL) $(EXPANDFLAGS) $($@_EXPANDFLAGS) $< $@
+$(EXPANDED_COMMON): $(COMMON_DIR)/%: %
+ @$(MV) $< $@
clean: expand_clean
expand_clean:
- @$(RM) $(EXPANDED)
+ @$(RM) $(EXPANDED) $(EXPANDED_COMMON)
-.PRECIOUS: $(EXPANDED)
+.PRECIOUS: $(EXPANDED) $(EXPANDED_COMMON)
.PHONY: expand_clean
#---------------------------------------------------------------
@@ -33,8 +86,10 @@ expand_clean:
ASSEMBLE_TOOL ?= $(PERL) $(TOOLS)/assembleSnippets.pl
define COMMON_ASSEMBLY_template
+ifneq '$$($1_PATTERN)' ''
$1_SNIPPETS += $$(foreach dir, .. $$(SRC_DIRS), \
$$(wildcard $$(dir)/$$($1_PATTERN)))
+endif
$(COMMON_DIR)/$1: $$($1_SNIPPETS)
$(ECHO) "Assembling common file $$@ from snippets"
@$(RM) $1
@@ -45,8 +100,10 @@ $(foreach asy, $(COMMON_ASSEMBLIES), \
$(eval $(call COMMON_ASSEMBLY_template,$(strip $(asy)))))
define ASSEMBLY_template
+ifneq '$$($1_PATTERN)' ''
$1_SNIPPETS += $$(foreach dir, .. $$(SRC_DIRS), \
$$(wildcard $$(dir)/$$($1_PATTERN)))
+endif
$1: $$($1_SNIPPETS)
$(ECHO) "Assembling file $$@ from snippets"
@$(RM) $$@
@@ -61,4 +118,3 @@ $1$(DEP):
endef
$(foreach asy, $(sort $(COMMON_ASSEMBLIES) $(ASSEMBLIES)), \
$(eval $(call ASSEMBLY_DEP_template,$(strip $(asy)))))
-
diff --git a/configure/RULES_FILE_TYPE b/configure/RULES_FILE_TYPE
index 28cc74bd4..5936fd5e0 100644
--- a/configure/RULES_FILE_TYPE
+++ b/configure/RULES_FILE_TYPE
@@ -7,9 +7,11 @@
# in the file LICENSE that is included with this distribution.
#*************************************************************************
-# Include /configure/RULES_BUILD from tops defined in RELEASE* files
+# Include /configure/RULES_BUILD from tops defined in RELEASE* files,
+# excluding EPICS_BASE
#
-RELEASE_RULES_BUILDS = $(foreach top, $(RELEASE_TOPS), \
+RELEASE_RULES_BUILDS = $(foreach top, \
+ $(filter-out EPICS_BASE, $(RELEASE_TOPS)), \
$(wildcard $($(top))/configure/RULES_BUILD))
ifneq ($(RELEASE_RULES_BUILDS),)
include $(RELEASE_RULES_BUILDS)
@@ -23,7 +25,7 @@ ifneq ($(RELEASE_CFG_RULES),)
include $(RELEASE_CFG_RULES)
endif
-# If this is not BASE then include /configure/RULES_BUILD
+# If this is not BASE then include /configure/RULES_BUILD
#
ifeq ($(wildcard $(TOP)/configure/CONFIG_BASE_VERSION),)
TOP_RULES_BUILDS = $(wildcard $(TOP)/configure/RULES_BUILD)
@@ -67,7 +69,3 @@ file_type_clean:
@$(RM) $(foreach type, $(FILE_TYPE), $($(type)))
.PHONY : file_type_clean
-
-# User specific rules
-#
--include $(HOME)/configure/RULES_USER
diff --git a/configure/RULES_MODULES b/configure/RULES_MODULES
new file mode 100644
index 000000000..a0886bdf3
--- /dev/null
+++ b/configure/RULES_MODULES
@@ -0,0 +1,55 @@
+#*************************************************************************
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# Support modules can use these rules to build submodules too.
+#
+# The requirements to do so are:
+# 1. Create a file CONFIG_SITE.local in the same directory as the
+# Makefile, which defines these variables (the last one is empty):
+# PARENT_MODULE - The name submodules call their parent
+# INSTALL_LOCATION := $($(PARENT_MODULE))
+# CONFIG_INSTALLS =
+# 2. The Makefile must set TOP and include $(TOP)/configure/CONFIG and
+# CONFIG_SITE.local
+# 3. Submodules are added to the SUBMODULES variable in the Makefile
+# 4. Dependencies between submodules must be set using
+# _DEPEND_DIRS =
+# 5. The Makefile must end by including $(TOP)/configure/RULES_MODULES
+# 6. Submodules must have a configure/RELEASE file that contains
+# -include $(TOP)/../RELEASE.$(EPICS_HOST_ARCH).local
+# 7. Submodules must have a configure/CONFIG_SITE file that contains
+# -include $(TOP)/../CONFIG_SITE.local
+
+# Add checked-out submodules to DIRS
+LIVE_SUBMODULES = $(subst /Makefile,,$(wildcard $(addsuffix /Makefile, $(SUBMODULES))))
+DIRS += $(LIVE_SUBMODULES)
+
+include $(CONFIG)/RULES_DIRS
+
+INSTALL_LOCATION_ABS := $(abspath $(INSTALL_LOCATION))
+RELEASE_LOCAL := RELEASE.$(EPICS_HOST_ARCH).local
+
+# Ensure that RELEASE..local exists before doing anything else
+all host $(DIRS) $(ARCHS) $(ACTIONS) $(dirActionTargets) $(dirArchTargets) \
+ $(dirActionArchTargets) $(actionArchTargets): | $(RELEASE_LOCAL)
+
+# Convenience target
+RELEASE.host: $(RELEASE_LOCAL)
+
+$(RELEASE_LOCAL): Makefile CONFIG_SITE.local
+ $(ECHO) Creating $@ with
+ $(ECHO) " $(PARENT_MODULE) = $(INSTALL_LOCATION_ABS)"
+ @echo $(PARENT_MODULE) = $(INSTALL_LOCATION_ABS)> $@
+realclean:
+ $(RM) $(wildcard RELEASE.*.local)
+
+.PHONY: RELEASE.host realclean
+
+# Testing: Combine test failure logs from the live submodules
+TESTS_FAILED_LOGS = $(wildcard $(addsuffix /$(TESTS_FAILED_LOG), \
+ $(LIVE_SUBMODULES)))
+runtests test-results: % : | $(addsuffix $(DIVIDER)%, $(LIVE_SUBMODULES))
+ $(if $(TESTS_FAILED_LOGS), \
+ @$(CAT) $(TESTS_FAILED_LOGS)>> $(TESTS_FAILED_PATH))
diff --git a/configure/RULES_OCTAVE b/configure/RULES_OCTAVE
index a06fb075a..1ec4cc7b2 100644
--- a/configure/RULES_OCTAVE
+++ b/configure/RULES_OCTAVE
@@ -1,11 +1,10 @@
#*************************************************************************
-# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
+# Copyright (c) 2006 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.
#*************************************************************************
# Octave definitions and rules
diff --git a/configure/RULES_TARGET b/configure/RULES_TARGET
index 4e9cb6e05..06f8a447d 100644
--- a/configure/RULES_TARGET
+++ b/configure/RULES_TARGET
@@ -1,18 +1,13 @@
#*************************************************************************
-# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
+# Copyright (c) 2011 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.
#*************************************************************************
-#
-# RULES_TARGET
-#
-# This file is to be maintained by the community.
-#
-#-----------------------------------------------------------------------
+
+# RULES_TARGET
define TARGET_template
$(1)_$(2) += $$(if $$(strip $$($(1)_$(2)_$$(OS_CLASS))), \
@@ -20,13 +15,12 @@ $(1)_$(2) += $$(if $$(strip $$($(1)_$(2)_$$(OS_CLASS))), \
$$($(1)_$(2)_DEFAULT))
endef
-$(foreach type, SRCS RCS OBJS LDFLAGS OBJLIBS LDOBJS SYS_LIBS , \
+$(foreach type, SRCS RCS OBJS LDFLAGS LDOBJS SYS_LIBS , \
$(foreach target, $(PROD) $(TESTPROD) $(LIBRARY) $(TESTLIBRARY) $(LOADABLE_LIBRARY) , \
$(eval $(call TARGET_template,$(strip $(target)),$(type)))))
#-----------------------------------------------------------------------
-# This define block requires GNU make 3.81
define PROD_template
ifeq ($$(strip $$($(1)_OBJS) $$($(1)_SRCS) $$(PRODUCT_OBJS)),)
$(1)_OBJS = $(1)$$(OBJ)
@@ -100,12 +94,20 @@ $(1)_DLL_DEPLIBS=$$(foreach lib, $$($(1)_DLL_LIBS), \
$$(LIB_PREFIX)$(1)$$(LIB_SUFFIX):$$($(1)_OBJSNAME) $$($(1)_RESS)
$$(LIB_PREFIX)$(1)$$(LIB_SUFFIX):$$($(1)_DEPLIBS)
+ifneq ($$($(1)_API),)
+$$(LIB_PREFIX)$(1)$$(LIB_SUFFIX): API_CPPFLAGS += -DBUILDING_$$($(1)_API)_API
+endif
+
ifeq ($$(SHARED_LIBRARIES),YES)
ifdef SHRLIB_SUFFIX
$$(SHRLIB_PREFIX)$(1)$$(SHRLIB_SUFFIX):$$($(1)_OBJSNAME) $$($(1)_RESS)
$$(SHRLIB_PREFIX)$(1)$$(SHRLIB_SUFFIX):$$($(1)_DEPLIBS)
$$(SHRLIB_PREFIX)$(1)$$(SHRLIB_SUFFIX):$$($(1)_DLL_DEPLIBS)
+
+ifneq ($$($(1)_API),)
+$$(SHRLIB_PREFIX)$(1)$$(SHRLIB_SUFFIX): API_CPPFLAGS += -DBUILDING_$$($(1)_API)_API
+endif
endif
endif
@@ -146,10 +148,14 @@ $(1)_DLL_DEPLIBS=$$(foreach lib, $$($(1)_DLL_LIBS),\
$$(LOADABLE_SHRLIB_PREFIX)$(1)$$(LOADABLE_SHRLIB_SUFFIX):$$($(1)_OBJSNAME) $$($(1)_RESS)
$$(LOADABLE_SHRLIB_PREFIX)$(1)$$(LOADABLE_SHRLIB_SUFFIX):$$($(1)_DEPLIBS)
$$(LOADABLE_SHRLIB_PREFIX)$(1)$$(LOADABLE_SHRLIB_SUFFIX):$$($(1)_DLL_DEPLIBS)
+
+ifneq ($$($(1)_API),)
+$$(LOADABLE_SHRLIB_PREFIX)$(1)$$(LOADABLE_SHRLIB_SUFFIX): \
+ API_CPPFLAGS += -DBUILDING_$$($(1)_API)_API
+endif
endef
$(foreach target, $(LOADABLE_LIBRARY), \
$(eval $(call LOADABLE_LIBRARY_template,$(strip $(target)))))
#-----------------------------------------------------------------------
-
diff --git a/configure/RULES_TOP b/configure/RULES_TOP
index d77e2a6c3..60b52e0de 100644
--- a/configure/RULES_TOP
+++ b/configure/RULES_TOP
@@ -9,43 +9,71 @@
include $(CONFIG)/RULES_DIRS
-distclean: realclean cvsclean realuninstall
+# Disable most top rules when installing into a parent's tree, indicated
+# by PARENT_MODULE being set in the modules/CONFIG_SITE.local file and
+# INSTALL_LOCATION pointing to the the same place as in the parent.
+ifeq ($(origin PARENT_MODULE),file)
+ ifeq ($(INSTALL_LOCATION),$($(PARENT_MODULE)))
+ DISABLE_TOP_RULES=YES
+ endif
+endif
-CVSCLEAN = $(call FIND_TOOL,cvsclean.pl)
-cvsclean:
- $(PERL) $(CVSCLEAN)
+ifndef DISABLE_TOP_RULES
+ #
+ # Rules for a regular application top directory
+ #
+
+distclean: realclean cvsclean realuninstall
realuninstall: uninstallDirs
$(RMDIR) $(INSTALL_LOCATION_BIN) $(INSTALL_LOCATION_LIB)
-UNINSTALL_DIRS += $(INSTALL_DBD) $(INSTALL_INCLUDE) $(INSTALL_DOC) \
- $(INSTALL_HTML) $(INSTALL_TEMPLATES) $(INSTALL_DB) $(DIRECTORY_TARGETS)
-uninstallDirs:
+UNINSTALL_DIRS += $(INSTALL_DB) $(INSTALL_DBD) $(INSTALL_DOC) $(INSTALL_HTML)
+UNINSTALL_DIRS += $(INSTALL_INCLUDE) $(INSTALL_TEMPLATES) $(DIRECTORY_TARGETS)
+ifneq ($(INSTALL_LOCATION),$(TOP))
+ UNINSTALL_DIRS += $(INSTALL_CONFIG)
+endif
+uninstallDirs: | clean
$(RMDIR) $(UNINSTALL_DIRS)
+ # Remove the bin and lib directories if they have no sub-directories
+ #
EMPTY_INSTALL_DIRS = \
$(if $(wildcard $(INSTALL_LOCATION_BIN)/*),,$(INSTALL_LOCATION_BIN)) \
$(if $(wildcard $(INSTALL_LOCATION_LIB)/*),,$(INSTALL_LOCATION_LIB))
-uninstall: archuninstall uninstallDirs
+uninstall: archuninstall uninstallDirs | clean
$(RMDIR) $(EMPTY_INSTALL_DIRS)
archuninstall: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS))
-uninstall$(DIVIDER)%:
+uninstall$(DIVIDER)%: | clean
$(RMDIR) $(addsuffix /$(subst uninstall$(DIVIDER),,$@), \
$(INSTALL_LOCATION_BIN) $(INSTALL_LOCATION_LIB))
+# Only run this at the top of the parent
+runtests test-results:
+ @$(SHOWTESTFAILURES)
+
+else
+ #
+ # Using a disabled rule aborts
+ #
+
+ distclean uninstall realuninstall archuninstall:
+ $(error Target '$@' not available in a submodule)
+
+endif # DISABLE_TOP_RULES
+
+# Clean out old results
before-runtests before-test-results: rm-failure-file
rm-failure-file:
- @$(RM) $(TEST_FAILURE_FILE)
-runtests test-results:
- $(PERL) $(TOOLS)/testFailures.pl $(TEST_FAILURE_FILE)
+ $(RM) $(TESTS_FAILED_PATH)
help:
@echo "Usage: gnumake [options] [target] ..."
@echo "Targets supported by all Makefiles:"
@echo " all - Same as install (default rule)"
- @echo " inc - Installs header files"
+ @echo " inc - Installs header, dbd and html files"
@echo " build - Builds and installs all targets"
@echo " install - Builds and installs all targets"
@echo " buildInstall - Same as install (deprecated)"
@@ -55,31 +83,39 @@ help:
@echo " Cannot be used within an O. dir"
@echo " rebuild - Same as clean install"
@echo " archclean - Removes O. dirs but not O.Common dir"
- @echo " runtests - Run self-tests, summarize results"
+ @echo " depclean - Removes .d files from all O. dirs."
+ @echo " cvsclean - Removes backup files etc. from all dirs below"
+ @echo " runtests - Run self-tests, summarize results immediately"
+ @echo " tapfiles - Run self-tests, save to O./*.tap files"
+ @echo " test-results - Summarize all O./*.tap files"
+ @echo " clean-tests - Removes all O./*.tap files"
@echo "\"Partial\" build targets supported by Makefiles:"
@echo " host - Builds and installs $(EPICS_HOST_ARCH) only."
@echo " inc$(DIVIDER) - Installs only header files."
@echo " build$(DIVIDER) - Builds and installs only."
@echo " install$(DIVIDER) - Builds and installs only."
@echo " clean$(DIVIDER) - Cleans binaries in O. dirs only."
- @echo " uninstall$(DIVIDER) - Remove bin & lib directories for only."
@echo "Targets supported by top level Makefile:"
+ifndef DISABLE_TOP_RULES
@echo " archuninstall - Remove bin & lib directories created by this hostarch."
+ @echo " uninstall$(DIVIDER) - Remove bin & lib directories for only."
@echo " uninstall - Remove install directories created by this hostarch."
@echo " realuninstall - Removes ALL install dirs"
@echo " distclean - Same as realclean cvsclean realuninstall."
- @echo " cvsclean - Removes cvs .#* files in all dirs of directory tree"
+endif
@echo " help - Prints this list of valid make targets "
- @echo "Indiv. object targets are supported by O. level Makefile .e.g"
+ @echo "Object targets are supported by the O. level Makefile .e.g"
@echo " xxxRecord.o"
-.PHONY: distclean cvsclean realuninstall archuninstall uninstallDirs
-.PHONY: uninstall rm-failure-file help
+.PHONY: distclean uninstall rm-failure-file help
+.PHONY: realuninstall archuninstall uninstallDirs
-# Include /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)
+ifndef DISABLE_TOP_RULES
+ # Include /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
endif
diff --git a/configure/Sample.Makefile b/configure/Sample.Makefile
index a84ccbb45..e0e9675bf 100644
--- a/configure/Sample.Makefile
+++ b/configure/Sample.Makefile
@@ -3,8 +3,8 @@
# National Laboratory.
# Copyright (c) 2002 The Regents of the University of California, as
# Operator of Los Alamos National Laboratory.
-# EPICS BASE Versions 3.13.7
-# and higher are distributed subject to a Software License Agreement found
+# SPDX-License-Identifier: EPICS
+# EPICS Base is distributed subject to a Software License Agreement found
# in file LICENSE that is included with this distribution.
#*************************************************************************
# Makefile for base/src/sample
diff --git a/configure/os/CONFIG.Common.RTEMS b/configure/os/CONFIG.Common.RTEMS
index 8f65b08f7..b7a42d137 100644
--- a/configure/os/CONFIG.Common.RTEMS
+++ b/configure/os/CONFIG.Common.RTEMS
@@ -27,9 +27,14 @@ ifneq ($(CONFIG),$(TOP)/configure)
-include $(TOP)/configure/CONFIG_SITE.Common.RTEMS
endif
+#--------------------------------------------------
+# Set RTEMS_BSP and GNU_TARGET if not already done
+RTEMS_BSP ?= $(subst RTEMS-,,$(T_A))
+GNU_TARGET ?= $(RTEMS_TARGET_CPU)-rtems
+
#-------------------------------------------------------
# Pick up the RTEMS tool/path definitions from the RTEMS BSP directory.
-include $(RTEMS_BASE)/$(RTEMS_TARGET_CPU)-rtems$(RTEMS_VERSION)/$(subst RTEMS-,,$(T_A))/Makefile.inc
+include $(RTEMS_BASE)/$(GNU_TARGET)$(RTEMS_VERSION)/$(RTEMS_BSP)/Makefile.inc
include $(RTEMS_CUSTOM)
include $(CONFIG.CC)
@@ -37,7 +42,7 @@ include $(CONFIG.CC)
# RTEMS cross-development tools
CC = $(RTEMS_TOOLS)/bin/$(CC_FOR_TARGET) $(GCCSPECS) -fasm
CCC = $(RTEMS_TOOLS)/bin/$(CXX)
-CPP = $(RTEMS_TOOLS)/bin/$(CC_FOR_TARGET) -x c -E
+CPP = $(RTEMS_TOOLS)/bin/$(CC_FOR_TARGET) -x c -E $(GCCSPECS)
AR = $(RTEMS_TOOLS)/bin/$(AR_FOR_TARGET)
LD = $(RTEMS_TOOLS)/bin/$(LD_FOR_TARGET) -r
@@ -58,7 +63,7 @@ CFLAGS = $($(BUILD_CLASS)_CFLAGS) $(POSIX_CFLAGS) $(OPT_CFLAGS)\
CXXFLAGS = $($(BUILD_CLASS)_CXXFLAGS) $(POSIX_CXXFLAGS) $(OPT_CXXFLAGS)\
$(DEBUG_CXXFLAGS) $(PIPE_CFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS)\
$(USR_CXXFLAGS) $(CMD_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(CODE_CXXFLAGS)\
- $(STATIC_CXXCFLAGS) $(OP_SYS_CXXFLAGS) $(LIBRARY_SRC_CFLAGS)
+ $(STATIC_CXXFLAGS) $(OP_SYS_CXXFLAGS) $(LIBRARY_SRC_CFLAGS)
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(CMD_LDFLAGS)\
$(POSIX_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(DEBUG_LDFLAGS) $(OP_SYS_LDFLAGS)\
@@ -72,7 +77,7 @@ CPPFLAGS += $($(BUILD_CLASS)_CPPFLAGS) $(POSIX_CPPFLAGS) $(OPT_CPPFLAGS)\
$(USR_CPPFLAGS) $(CMD_CPPFLAGS) $(ARCH_DEP_CPPFLAGS) $(OP_SYS_CPPFLAGS)\
$(OP_SYS_INCLUDE_CPPFLAGS) $(CODE_CPPFLAGS)
-ECHO = @$(if $(findstring s,$(MFLAGS)),$(NOP),echo)
+ECHO = @$(if $(filter -s,$(MFLAGS)),$(NOP),echo)
#--------------------------------------------------
# Although RTEMS uses gcc, it wants to use gcc its own way
@@ -91,20 +96,39 @@ MODEXT=.obj
OS_CLASS = RTEMS
#--------------------------------------------------
-# Operating system flags
-OP_SYS_LDLIBS += -lrtemsCom -lc -lrtemscpu -lCom -lnfs -lm
-OP_SYS_LDFLAGS += $(CPU_CFLAGS) -u Init \
+# Operating system compile & link flags
+OP_SYS_CFLAGS += -D__LINUX_ERRNO_EXTENSIONS__
+
+OP_SYS_CFLAGS_NET_yes = -DRTEMS_LEGACY_STACK
+OP_SYS_CFLAGS += $(OP_SYS_CFLAGS_NET_$(RTEMS_HAS_NETWORKING))
+
+ifeq ($(RTEMS_HAS_POSIX_API),yes)
+POSIX_CPPFLAGS = -D_GNU_SOURCE -D_DEFAULT_SOURCE
+endif
+
+OP_SYS_LDLIBS_posix_NET_yes = -ltftpfs -lnfs -lz -ltelnetd
+OP_SYS_LDLIBS_posix_NET_no = -ltftpfs -lbsd -lz
+OP_SYS_LDLIBS_score_NET_yes = -lnfs
+OP_SYS_LDLIBS_score_NET_no = -lnfs
+OP_SYS_LDLIBS += -lrtemsCom -lCom
+OP_SYS_LDLIBS += $(OP_SYS_LDLIBS_$(OS_API)_NET_$(RTEMS_HAS_NETWORKING))
+OP_SYS_LDLIBS += -lrtemscpu -lc -lm
+
+OP_SYS_LDFLAGS_posix = -u POSIX_Init
+OP_SYS_LDFLAGS_score = -u Init \
$(PROJECT_RELEASE)/lib/no-dpmem.rel \
$(PROJECT_RELEASE)/lib/no-mp.rel \
$(PROJECT_RELEASE)/lib/no-part.rel \
$(PROJECT_RELEASE)/lib/no-signal.rel \
$(PROJECT_RELEASE)/lib/no-rtmon.rel
+OP_SYS_LDFLAGS += $(CPU_CFLAGS) $(OP_SYS_LDFLAGS_$(OS_API))
+# Settings for GeSys
MOD_SYS_LDFLAGS += $(CPU_CFLAGS) -Wl,-r -nostdlib
# Do not link against libraries which are part of the Generic Image
GESYS_LIBS += -lgcc
-GESYS_LIBS += -lc -lm -lrtemscpu -lrtemsbsp -lrtems++ -lbspExt
+GESYS_LIBS += -lc -lm -lrtemscpu -lrtemsbsp -lrtems++
GESYS_LIBS += -lcexp -ltecla_r -lspencer_regexp -lpmelf -lpmbfd
GESYS_LIBS += -lnfs -ltelnetd -lrtems-gdb-stub
diff --git a/configure/os/CONFIG.Common.RTEMS-at91rm9200ek b/configure/os/CONFIG.Common.RTEMS-at91rm9200ek
deleted file mode 100644
index 6f5f97732..000000000
--- a/configure/os/CONFIG.Common.RTEMS-at91rm9200ek
+++ /dev/null
@@ -1,13 +0,0 @@
-#
-# CONFIG.Common.RTEMS-at91rm9200ek
-# Author: Ralf Hartmann
-# BESSY
-# Ralf.Hartmann@bessy.de
-#
-# Atmel AT91RM9200-EK evaluation kit
-# using the AT91RM9200 ARM9-based 32-bit RISC microcontroller
-#
-# All RTEMS targets use the same Makefile fragment
-#
-RTEMS_TARGET_CPU=arm
-include $(CONFIG)/os/CONFIG.Common.RTEMS
diff --git a/configure/os/CONFIG.Common.RTEMS-beagleboneblack b/configure/os/CONFIG.Common.RTEMS-beagleboneblack
new file mode 100644
index 000000000..4b6107b05
--- /dev/null
+++ b/configure/os/CONFIG.Common.RTEMS-beagleboneblack
@@ -0,0 +1,18 @@
+#
+# CONFIG.Common.RTEMS-beaglebineblack
+# Author: Heinz Junkes
+#
+# All RTEMS targets use the same Makefile fragment
+#
+#EXE = .elf
+RTEMS_BSP = beagleboneblack
+RTEMS_TARGET_CPU = arm
+GNU_TARGET = arm-rtems
+
+OP_SYS_LDLIBS += -Wl,--gc-sections
+ARCH_DEP_LDFLAGS = -L$(RTEMS_BASE)/$(GNU_TARGET)$(RTEMS_VERSION)/beagleboneblack/lib/
+
+include $(CONFIG)/os/CONFIG.Common.RTEMS
+
+
+
diff --git a/configure/os/CONFIG.Common.RTEMS-beatnik b/configure/os/CONFIG.Common.RTEMS-beatnik
index aaf611638..b133fd489 100644
--- a/configure/os/CONFIG.Common.RTEMS-beatnik
+++ b/configure/os/CONFIG.Common.RTEMS-beatnik
@@ -5,16 +5,19 @@
# All RTEMS targets use the same Makefile fragment
#
EXE = .elf
+RTEMS_BSP = beatnik
RTEMS_TARGET_CPU = powerpc
GNU_TARGET = powerpc-rtems
-ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
+# optimization trouble in postfix.c
+ARCH_DEP_CFLAGS += -DRTEMS_HAS_ALTIVEC
+#will use bootp
+#ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
ARCH_DEP_CFLAGS += -DHAVE_MOTLOAD
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120
-OP_SYS_LDLIBS += -lbspExt
-
MUNCH_SUFFIX = .boot
+MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
define MUNCH_CMD
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
endef
diff --git a/configure/os/CONFIG.Common.RTEMS-gen68360 b/configure/os/CONFIG.Common.RTEMS-gen68360
deleted file mode 100644
index a6663afc2..000000000
--- a/configure/os/CONFIG.Common.RTEMS-gen68360
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# Author: W. Eric Norum
-# Canadian Light Source
-# eric@cls.usask.ca
-#
-# All RTEMS targets use the same Makefile fragment
-#
-RTEMS_TARGET_CPU=m68k
-include $(CONFIG)/os/CONFIG.Common.RTEMS
diff --git a/configure/os/CONFIG.Common.RTEMS-mcp750 b/configure/os/CONFIG.Common.RTEMS-mcp750
deleted file mode 100644
index d834ad9ec..000000000
--- a/configure/os/CONFIG.Common.RTEMS-mcp750
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# Author: W. Eric Norum
-# Canadian Light Source
-# eric@cls.usask.ca
-#
-# All RTEMS targets use the same Makefile fragment
-#
-RTEMS_TARGET_CPU=ppc
-include $(CONFIG)/os/CONFIG.Common.RTEMS
diff --git a/configure/os/CONFIG.Common.RTEMS-mvme167 b/configure/os/CONFIG.Common.RTEMS-mvme167
deleted file mode 100644
index a6663afc2..000000000
--- a/configure/os/CONFIG.Common.RTEMS-mvme167
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# Author: W. Eric Norum
-# Canadian Light Source
-# eric@cls.usask.ca
-#
-# All RTEMS targets use the same Makefile fragment
-#
-RTEMS_TARGET_CPU=m68k
-include $(CONFIG)/os/CONFIG.Common.RTEMS
diff --git a/configure/os/CONFIG.Common.RTEMS-mvme2100 b/configure/os/CONFIG.Common.RTEMS-mvme2100
index 0ae64c791..930b33bad 100644
--- a/configure/os/CONFIG.Common.RTEMS-mvme2100
+++ b/configure/os/CONFIG.Common.RTEMS-mvme2100
@@ -5,13 +5,12 @@
# All RTEMS targets use the same Makefile fragment
#
EXE = .elf
+RTEMS_BSP = mvme2100
RTEMS_TARGET_CPU = powerpc
GNU_TARGET = powerpc-rtems
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
ARCH_DEP_CFLAGS += -DHAVE_PPCBUG
-OP_SYS_LDLIBS += -lbspExt
-
MUNCH_SUFFIX = .boot
define MUNCH_CMD
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< rtems
@@ -20,6 +19,7 @@ define MUNCH_CMD
$(PROJECT_RELEASE)/lib/bootloader.o \
--just-symbols=$< \
-b binary rtems.gz \
+ --no-warn-mismatch \
-T $(PROJECT_RELEASE)/lib/ppcboot.lds \
-Map $<.map
rm -f rtems.gz
diff --git a/configure/os/CONFIG.Common.RTEMS-mvme2700 b/configure/os/CONFIG.Common.RTEMS-mvme2700
index 899fab17f..0ee8ac862 100644
--- a/configure/os/CONFIG.Common.RTEMS-mvme2700
+++ b/configure/os/CONFIG.Common.RTEMS-mvme2700
@@ -1,6 +1,7 @@
#
# Author: Matt Rippa
#
+RTEMS_BSP = mvme2307
RTEMS_TARGET_CPU = powerpc
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
ARCH_DEP_CFLAGS += -DHAVE_PPCBUG
@@ -14,11 +15,10 @@ define MUNCH_CMD
$(PROJECT_RELEASE)/lib/bootloader.o \
--just-symbols=$< \
-b binary rtems.gz \
+ --no-warn-mismatch \
-T $(PROJECT_RELEASE)/lib/ppcboot.lds \
-Map $<.map
rm -f rtems.gz
endef
-OP_SYS_LDLIBS += -lbspExt
-
include $(CONFIG)/os/CONFIG.Common.RTEMS
diff --git a/configure/os/CONFIG.Common.RTEMS-mvme3100 b/configure/os/CONFIG.Common.RTEMS-mvme3100
index e94d46211..2cbf49a84 100644
--- a/configure/os/CONFIG.Common.RTEMS-mvme3100
+++ b/configure/os/CONFIG.Common.RTEMS-mvme3100
@@ -5,6 +5,7 @@
# All RTEMS targets use the same Makefile fragment
#
EXE = .elf
+RTEMS_BSP = mvme3100
RTEMS_TARGET_CPU = powerpc
GNU_TARGET = powerpc-rtems
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
@@ -12,8 +13,6 @@ ARCH_DEP_CFLAGS += -DHAVE_MOTLOAD
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120
-OP_SYS_LDLIBS += -lbspExt
-
MUNCH_SUFFIX = .boot
define MUNCH_CMD
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
diff --git a/configure/os/CONFIG.Common.RTEMS-mvme5500 b/configure/os/CONFIG.Common.RTEMS-mvme5500
index 44ef7ea3e..a240a298a 100644
--- a/configure/os/CONFIG.Common.RTEMS-mvme5500
+++ b/configure/os/CONFIG.Common.RTEMS-mvme5500
@@ -5,6 +5,7 @@
# All RTEMS targets use the same Makefile fragment
#
EXE = .elf
+RTEMS_BSP = mvme5500
RTEMS_TARGET_CPU = powerpc
GNU_TARGET = powerpc-rtems
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
@@ -13,13 +14,9 @@ ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048
ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120
ARCH_DEP_CFLAGS += -DBSP_NVRAM_BASE_ADDR=0xf1110000
-OP_SYS_LDLIBS += -lbspExt
-
MUNCH_SUFFIX = .boot
define MUNCH_CMD
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
endef
-OP_SYS_LDLIBS += -lbspExt
-
include $(CONFIG)/os/CONFIG.Common.RTEMS
diff --git a/configure/os/CONFIG.Common.RTEMS-pc386 b/configure/os/CONFIG.Common.RTEMS-pc386
index 92ef4ac22..9fc518d6b 100644
--- a/configure/os/CONFIG.Common.RTEMS-pc386
+++ b/configure/os/CONFIG.Common.RTEMS-pc386
@@ -1,18 +1,20 @@
+# CONFIG.Common.RTEMS-pc386
#
-# Author: W. Eric Norum
-# Canadian Light Source
-# eric@cls.usask.ca
+# Definitions for the RTEMS-pc386 target, RTEMS 4.x only
+# Site-specific overrides go in CONFIG_SITE.Common.RTEMS-pc386
#
-# All RTEMS targets use the same Makefile fragment
-#
-RTEMS_TARGET_CPU=i386
+#-------------------------------------------------------
+
+RTEMS_BSP = pc386
+RTEMS_TARGET_CPU = i386
+GNU_TARGET = i386-rtems
MUNCH_SUFFIX = .boot
define MUNCH_CMD
- $(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< temp.bin
+ $(RM) $*.bin
+ $(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< $*.bin
$(BIN2BOOT) $@ 0x00097E00 \
- $(PROJECT_RELEASE)/lib/start16.bin 0x00097C00 0 temp.bin 0x00100000 0
- rm -f temp.bin
+ $(PROJECT_RELEASE)/lib/start16.bin 0x00097C00 0 $*.bin 0x00100000 0
endef
include $(CONFIG)/os/CONFIG.Common.RTEMS
@@ -21,3 +23,10 @@ include $(CONFIG)/os/CONFIG.Common.RTEMS
# Put text segment where it will work with etherboot
#
OP_SYS_LDFLAGS += -Wl,-Ttext,0x100000
+
+# This check must appear after the above include
+ifeq ($(RTEMS_VERSION),5)
+ $(info *** This target is not compatible with the configured RTEMS version.)
+ $(info *** Build the RTEMS-pc686 (-qemu) target for RTEMS 5.x)
+ $(error Can't continue)
+endif
diff --git a/configure/os/CONFIG.Common.RTEMS-pc386-qemu b/configure/os/CONFIG.Common.RTEMS-pc386-qemu
new file mode 100644
index 000000000..07bf30e7c
--- /dev/null
+++ b/configure/os/CONFIG.Common.RTEMS-pc386-qemu
@@ -0,0 +1,12 @@
+# CONFIG.Common.RTEMS-pc386-qemu
+#
+# Definitions for the RTEMS-pc386-qemu target
+# Site-specific overrides go in CONFIG_SITE.Common.RTEMS-pc386-qemu
+#
+#-------------------------------------------------------
+
+# Include definitions from RTEMS-pc386
+# For Tests overwrite it with pc686
+include $(CONFIG)/os/CONFIG.Common.RTEMS-pc386
+
+RTEMS_QEMU_FIXUPS = YES
diff --git a/configure/os/CONFIG.Common.RTEMS-pc686 b/configure/os/CONFIG.Common.RTEMS-pc686
new file mode 100644
index 000000000..882a2f3cb
--- /dev/null
+++ b/configure/os/CONFIG.Common.RTEMS-pc686
@@ -0,0 +1,39 @@
+# CONFIG.Common.RTEMS-pc686
+#
+# Definitions for the RTEMS-pc686 target, RTEMS 5.x only
+# Site-specific overrides go in CONFIG_SITE.Common.RTEMS-pc686
+#
+#-------------------------------------------------------
+#
+# Author: W. Eric Norum
+# Canadian Light Source
+# eric@cls.usask.ca
+#
+# All RTEMS targets use the same Makefile fragment
+#
+RTEMS_BSP = pc686
+RTEMS_TARGET_CPU = i386
+GNU_TARGET = i386-rtems
+
+MUNCH_SUFFIX = .boot
+define MUNCH_CMD
+ $(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< $@
+endef
+
+OP_SYS_LDLIBS += -Wl,--gc-sections
+ARCH_DEP_LDFLAGS = -L$(RTEMS_BASE)/$(GNU_TARGET)$(RTEMS_VERSION)/pc686/lib/
+
+include $(CONFIG)/os/CONFIG.Common.RTEMS
+
+#
+# Put text segment where it will work with etherboot
+#
+OP_SYS_LDFLAGS += -Wl,-Ttext,0x100000
+
+
+# This check must appear after the above include
+ifneq ($(RTEMS_VERSION),5)
+ $(info *** This target is not compatible with the configured RTEMS version.)
+ $(info *** Build the RTEMS-pc386 (-qemu) target for RTEMS 4.x)
+ $(error Can't continue)
+endif
diff --git a/configure/os/CONFIG.Common.RTEMS-pc686-qemu b/configure/os/CONFIG.Common.RTEMS-pc686-qemu
new file mode 100644
index 000000000..1de543a30
--- /dev/null
+++ b/configure/os/CONFIG.Common.RTEMS-pc686-qemu
@@ -0,0 +1,11 @@
+# CONFIG.Common.RTEMS-pc686-qemu
+#
+# Definitions for the RTEMS-pc686-qemu target
+# Site-specific overrides go in CONFIG_SITE.Common.RTEMS-pc686-qemu
+#
+#-------------------------------------------------------
+
+# Include definitions from RTEMS-pc686
+include $(CONFIG)/os/CONFIG.Common.RTEMS-pc686
+
+RTEMS_QEMU_FIXUPS = YES
diff --git a/configure/os/CONFIG.Common.RTEMS-psim b/configure/os/CONFIG.Common.RTEMS-psim
deleted file mode 100644
index 230d72e1f..000000000
--- a/configure/os/CONFIG.Common.RTEMS-psim
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# Author: W. Eric Norum
-# University of Saskatchewan
-# eric.norum@usask.ca
-#
-# All RTEMS targets use the same Makefile fragment
-#
-RTEMS_TARGET_CPU=ppc
-include $(CONFIG)/os/CONFIG.Common.RTEMS
diff --git a/configure/os/CONFIG.Common.RTEMS-qoriq_e500 b/configure/os/CONFIG.Common.RTEMS-qoriq_e500
new file mode 100644
index 000000000..7f5c42e8e
--- /dev/null
+++ b/configure/os/CONFIG.Common.RTEMS-qoriq_e500
@@ -0,0 +1,48 @@
+#
+# CONFIG.Common.RTEMS-qoriq_e500
+# Author: Heinz Junkes
+#
+# All RTEMS targets use the same Makefile fragment
+#
+EXE = .elf
+RTEMS_BSP = qoriq_e500
+RTEMS_TARGET_CPU = powerpc
+GNU_TARGET = powerpc-rtems
+# optimization trouble in postfix.c
+ARCH_DEP_CFLAGS += -DRTEMS_HAS_ALTIVEC
+#will use bootp
+#ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
+
+#ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048
+#ARCH_DEP_CFLAGS += -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120
+
+#netbsdlib
+#ARCH_DEP_CFLAGS += -I$(RTEMS_BASE)/powerpc-rtems5/qoriq_e500/lib/include
+
+#OP_SYS_LDLIBS += -lbspExt #does not use posix stuff ... want to ignore
+OP_SYS_LDLIBS += -Wl,--gc-sections
+#ARCH_DEP_LDFLAGS = -mcpu=8540 -meabi -msdata=sysv -mstrict-align -mspe -mabi=spe -mfloat-gprs=double
+ARCH_DEP_LDFLAGS = -L$(RTEMS_BASE)/powerpc-rtems5/qoriq_e500/lib
+
+MUNCH_SUFFIX = .img
+MUNCHNAME = $(PRODNAME:%$(EXE)=%$(MUNCH_SUFFIX))
+define MUNCH_CMD
+ $(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary $< $@
+ gzip -9 -f $@
+ $(RTEMS_TOOLS)/bin/mkimage.py -A ppc -O linux -T kernel -a 0x4000 -e 0x4000 -n $* -d $@.gz $*.img
+endef
+
+include $(CONFIG)/os/CONFIG.Common.RTEMS
+
+RTEMSSYMS=$(PRODNAME:%$(EXE)=%.sym)
+RTEMSIMGS=$(PRODNAME:%$(EXE)=%.bin)
+INSTALL_RTEMSSYMS=$(RTEMSSYMS:%=$(INSTALL_BIN)/%)
+INSTALL_RTEMSIMGS=$(RTEMSIMGS:%=$(INSTALL_BIN)/%)
+
+%.sym: %$(EXE)
+ $(XSYMS) $^ $@
+
+%.bin: %$(EXE)
+ $(OBJCOPY) -Obinary $^ $@
+
+#PRODTARGETS+=$(INSTALL_RTEMSSYMS) $(INSTALL_RTEMSIMGS)
diff --git a/configure/os/CONFIG.Common.RTEMS-uC5282 b/configure/os/CONFIG.Common.RTEMS-uC5282
index 6b0903e07..c0cdaff74 100644
--- a/configure/os/CONFIG.Common.RTEMS-uC5282
+++ b/configure/os/CONFIG.Common.RTEMS-uC5282
@@ -5,9 +5,14 @@
#
# All RTEMS targets use the same Makefile fragment
#
+RTEMS_BSP = uC5282
RTEMS_TARGET_CPU = m68k
ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
+# Hopefully a temporary fix:
+ARCH_DEP_CXXFLAGS_5 = -std=c++98
+ARCH_DEP_CXXFLAGS += $(ARCH_DEP_CXXFLAGS_$(RTEMS_VERSION))
+
MUNCH_SUFFIX = .boot
define MUNCH_CMD
$(RTEMS_TOOLS)/bin/$(OBJCOPY_FOR_TARGET) -O binary -R .comment -S $< $@
diff --git a/configure/os/CONFIG.Common.RTEMS-xilinx_zynq_a9_qemu b/configure/os/CONFIG.Common.RTEMS-xilinx_zynq_a9_qemu
new file mode 100644
index 000000000..83b518b69
--- /dev/null
+++ b/configure/os/CONFIG.Common.RTEMS-xilinx_zynq_a9_qemu
@@ -0,0 +1,20 @@
+#
+# CONFIG.Common.RTEMS-xilinx_zynq_a9_qemu
+# Author: Heinz Junkes
+#
+# All RTEMS targets use the same Makefile fragment
+#
+#EXE = .elf
+RTEMS_BSP = xilinx_zynq_a9_qemu
+RTEMS_TARGET_CPU = arm
+GNU_TARGET = arm-rtems
+
+#use dhcp/bootp
+ARCH_DEP_CFLAGS += -DMY_DO_BOOTP=NULL
+
+OP_SYS_LDLIBS += -Wl,--gc-sections
+ARCH_DEP_LDFLAGS = -L$(RTEMS_BASE)/$(GNU_TARGET)$(RTEMS_VERSION)/xilinx_zynq_a9_qemu/lib/
+
+
+include $(CONFIG)/os/CONFIG.Common.RTEMS
+
diff --git a/configure/os/CONFIG.Common.RTEMS-xilinx_zynq_zedboard b/configure/os/CONFIG.Common.RTEMS-xilinx_zynq_zedboard
new file mode 100644
index 000000000..bac33eb91
--- /dev/null
+++ b/configure/os/CONFIG.Common.RTEMS-xilinx_zynq_zedboard
@@ -0,0 +1,19 @@
+#
+# CONFIG.Common.RTEMS-xilinx_zynq_zedboard
+# Author: Heinz Junkes
+#
+# All RTEMS targets use the same Makefile fragment
+#
+#EXE = .elf
+RTEMS_BSP = xilinx_zynq_zedboard
+RTEMS_TARGET_CPU = arm
+GNU_TARGET = arm-rtems
+
+OP_SYS_LDLIBS += -Wl,--gc-sections
+ARCH_DEP_LDFLAGS = -L$(RTEMS_BASE)/$(GNU_TARGET)$(RTEMS_VERSION)/xilinx_zynq_zedboard/lib/
+
+
+include $(CONFIG)/os/CONFIG.Common.RTEMS
+
+
+
diff --git a/configure/os/CONFIG.Common.UnixCommon b/configure/os/CONFIG.Common.UnixCommon
index add84873e..1151dce3f 100644
--- a/configure/os/CONFIG.Common.UnixCommon
+++ b/configure/os/CONFIG.Common.UnixCommon
@@ -8,7 +8,7 @@
#-------------------------------------------------------
# Unix valid build types
-VALID_BUILDS = Host Ioc
+VALID_BUILDS = Host Ioc Command
#-------------------------------------------------------
# Unix prefix and suffix definitions
diff --git a/configure/os/CONFIG.Common.darwin-ppc b/configure/os/CONFIG.Common.darwin-aarch64
similarity index 70%
rename from configure/os/CONFIG.Common.darwin-ppc
rename to configure/os/CONFIG.Common.darwin-aarch64
index 7ac704314..eaba1efb2 100644
--- a/configure/os/CONFIG.Common.darwin-ppc
+++ b/configure/os/CONFIG.Common.darwin-aarch64
@@ -1,14 +1,14 @@
-# CONFIG.Common.darwin-ppc
+# CONFIG.Common.darwin-aarch64
#
# This file is maintained by the build community.
#
-# Definitions for darwin-ppc target builds
-# Sites may override these definitions in CONFIG_SITE.Common.darwin-ppc
+# Definitions for darwin-aarch64 target builds
+# Sites may override these definitions in CONFIG_SITE.Common.darwin-aarch64
#-------------------------------------------------------
#
# To build universal binaries, configure ARCH_CLASS
-# in the file CONFIG_SITE.Common.darwin-ppc
+# in the file CONFIG_SITE.Common.darwin-aarch64
# Include definitions common to all Darwin targets
include $(CONFIG)/os/CONFIG.darwinCommon.darwinCommon
diff --git a/configure/os/CONFIG.Common.darwin-ppcx86 b/configure/os/CONFIG.Common.darwin-ppcx86
deleted file mode 100644
index 12107944f..000000000
--- a/configure/os/CONFIG.Common.darwin-ppcx86
+++ /dev/null
@@ -1,14 +0,0 @@
-# CONFIG.Common.darwin-ppcx86
-#
-# This file is maintained by the build community.
-#
-# Definitions for Darwin universal PowerPC + x86 target builds
-# Sites may override these definitions in CONFIG_SITE.Common.darwin-ppcx86
-#-------------------------------------------------------
-
-#
-# To build universal binaries, configure ARCH_CLASS
-# in the file CONFIG_SITE.Common.darwin-ppcx86
-
-# Include definitions common to all Darwin targets
-include $(CONFIG)/os/CONFIG.darwinCommon.darwinCommon
diff --git a/configure/os/CONFIG.Common.linux-386 b/configure/os/CONFIG.Common.linux-386
deleted file mode 100644
index 8549a8ab6..000000000
--- a/configure/os/CONFIG.Common.linux-386
+++ /dev/null
@@ -1,21 +0,0 @@
-# CONFIG.Common.linux-386
-#
-# This file is maintained by the build community.
-#
-# Definitions for linux-386 target builds
-# Sites may override these definitions in CONFIG_SITE.Common.linux-386
-#-------------------------------------------------------
-
-# Include definitions common to all linux x86 targets
-include $(CONFIG)/os/CONFIG.Common.linux-x86
-
-ARCH_DEP_CFLAGS = -march=i386
-
-ifeq ($(BUILD_CLASS),CROSS)
- VALID_BUILDS = Ioc
-endif
-
-# If your crosscompiler name has a GNU target prefix like -gcc,
-# e.g. i386-pc-linux-gnu-gcc, put a GNU_TARGET definition in
-# CONFIG_SITE..linux-386 file, e.g. GNU_TARGET=i386-pc-linux-gnu
-
diff --git a/configure/os/CONFIG.Common.linux-486 b/configure/os/CONFIG.Common.linux-486
deleted file mode 100644
index cf39b92d2..000000000
--- a/configure/os/CONFIG.Common.linux-486
+++ /dev/null
@@ -1,19 +0,0 @@
-# CONFIG.Common.linux-486
-#
-# Definitions for linux-486 target builds
-# Sites may override these definitions in CONFIG_SITE.Common.linux-486
-#-------------------------------------------------------
-
-# Include definitions common to all linux x86 targets
-include $(CONFIG)/os/CONFIG.Common.linux-x86
-
-ARCH_DEP_CFLAGS = -march=i486
-
-ifeq ($(BUILD_CLASS),CROSS)
- VALID_BUILDS = Ioc
-endif
-
-# If your crosscompiler name has a GNU target prefix like -gcc,
-# e.g. i486-pc-linux-gnu-gcc, put a GNU_TARGET definition in
-# CONFIG_SITE..linux-486 file, e.g. GNU_TARGET=i486-pc-linux-gnu
-
diff --git a/configure/os/CONFIG.Common.linux-586 b/configure/os/CONFIG.Common.linux-586
deleted file mode 100644
index 9b2fa466b..000000000
--- a/configure/os/CONFIG.Common.linux-586
+++ /dev/null
@@ -1,21 +0,0 @@
-# CONFIG.Common.linux-586
-#
-# Definitions for linux-586 target builds
-# Sites may override these definitions in CONFIG_SITE.Common.linux-586
-#-------------------------------------------------------
-
-# Include definitions common to all linux x86 targets
-include $(CONFIG)/os/CONFIG.Common.linux-x86
-
-# i586 is equivalent to pentium
-ARCH_DEP_CFLAGS = -march=i586
-
-ifeq ($(BUILD_CLASS),CROSS)
- VALID_BUILDS = Ioc
-endif
-
-# If your crosscompiler name has a GNU target prefix like -gcc,
-# e.g. i586-pc-linux-gnu-gcc, put a GNU_TARGET definition in
-# CONFIG_SITE..linux-586 file, e.g. GNU_TARGET=i586-pc-linux-gnu
-
-
diff --git a/configure/os/CONFIG.Common.linux-686 b/configure/os/CONFIG.Common.linux-686
deleted file mode 100644
index 5a2e0ef5f..000000000
--- a/configure/os/CONFIG.Common.linux-686
+++ /dev/null
@@ -1,20 +0,0 @@
-# CONFIG.Common.linux-686
-#
-# Definitions for linux-686 target builds
-# Sites may override these definitions in CONFIG_SITE.Common.linux-686
-#-------------------------------------------------------
-
-# Include definitions common to all linux x86 targets
-include $(CONFIG)/os/CONFIG.Common.linux-x86
-
-# i686 is euivalent to pentiumpro
-ARCH_DEP_CFLAGS = -march=i686
-
-ifeq ($(BUILD_CLASS),CROSS)
- VALID_BUILDS = Ioc
-endif
-
-# If your crosscompiler name has a GNU target prefix like -gcc,
-# e.g. i686-pc-linux-gnu-gcc, put a GNU_TARGET definition in
-# CONFIG_SITE..linux-686 file, e.g. GNU_TARGET=i686-pc-linux-gnu
-
diff --git a/configure/os/CONFIG.Common.linux-aarch64 b/configure/os/CONFIG.Common.linux-aarch64
new file mode 100644
index 000000000..d6eac21dc
--- /dev/null
+++ b/configure/os/CONFIG.Common.linux-aarch64
@@ -0,0 +1,11 @@
+# CONFIG.Common.linux-aarch64
+#
+# Definitions for linux-arm target builds
+# Override these settings in CONFIG_SITE.Common.linux-aarch64
+#-------------------------------------------------------
+
+# Include definitions common to all Linux targets
+include $(CONFIG)/os/CONFIG.Common.linuxCommon
+
+ARCH_CLASS = aarch64
+
diff --git a/configure/os/CONFIG.Common.linux-arm_eb b/configure/os/CONFIG.Common.linux-arm_eb
deleted file mode 100644
index 69a255020..000000000
--- a/configure/os/CONFIG.Common.linux-arm_eb
+++ /dev/null
@@ -1,9 +0,0 @@
-# CONFIG.Common.linux-arm_eb
-#
-# Definitions for linux-arm_eb (big endian) target builds
-# Sites may override these definitions in CONFIG_SITE.Common.linux-arm_eb
-#-------------------------------------------------------
-
-# Include definitions common to all Linux-arm targets
-include $(CONFIG)/os/CONFIG.Common.linux-arm
-
diff --git a/configure/os/CONFIG.Common.linux-arm_el b/configure/os/CONFIG.Common.linux-arm_el
deleted file mode 100644
index 40701b616..000000000
--- a/configure/os/CONFIG.Common.linux-arm_el
+++ /dev/null
@@ -1,9 +0,0 @@
-# CONFIG.Common.linux-arm_el
-#
-# Definitions for linux-arm_el (little endian) target builds
-# Sites may override these definitions in CONFIG_SITE.Common.linux-arm_el
-#-------------------------------------------------------
-
-# Include definitions common to all linux-arm targets
-include $(CONFIG)/os/CONFIG.Common.linux-arm
-
diff --git a/configure/os/CONFIG.Common.linux-athlon b/configure/os/CONFIG.Common.linux-athlon
deleted file mode 100644
index 69f20a81d..000000000
--- a/configure/os/CONFIG.Common.linux-athlon
+++ /dev/null
@@ -1,19 +0,0 @@
-# CONFIG.Common.linux-athlon
-#
-# Definitions for linux-athlon target builds
-# Sites may override these definitions in CONFIG_SITE.Common.linux-athlon
-#-------------------------------------------------------
-
-# Include definitions common to all linux x86 targets
-include $(CONFIG)/os/CONFIG.Common.linux-x86
-
-ARCH_DEP_CFLAGS += -march=athlon-mp -mfpmath=sse
-
-ifeq ($(BUILD_CLASS),CROSS)
- VALID_BUILDS = Ioc
-endif
-
-# If your crosscompiler name has a GNU target prefix like -gcc,
-# e.g. athlon-pc-linux-gnu-gcc, put a GNU_TARGET definition in
-# CONFIG_SITE..linux-athlon file, e.g. GNU_TARGET=athlon-pc-linux-gnu
-
diff --git a/configure/os/CONFIG.Common.linux-cris b/configure/os/CONFIG.Common.linux-cris
deleted file mode 100644
index d419b23e8..000000000
--- a/configure/os/CONFIG.Common.linux-cris
+++ /dev/null
@@ -1,58 +0,0 @@
-# CONFIG.Common.linux-cris
-#
-# Author: Peter Zumbruch
-# GSI
-# P.Zumbruch@gsi.de
-#
-# Definitions for linux-cris target builds
-# Sites may override these definitions in CONFIG_SITE.Common.linux-cris
-#-------------------------------------------------------
-
-# Include definitions common to all linux targets
-include $(CONFIG)/os/CONFIG.Common.linuxCommon
-
-ARCH_CLASS = cris
-
-ifeq ($(BUILD_CLASS),CROSS)
- GNU_TARGET = cris-axis-linux-gnu
-
- # prefix of compiler tools
- CMPLR_SUFFIX =
- CMPLR_PREFIX = $(addsuffix -,$(GNU_TARGET))
-
- # CROSS_TOP_DIR
- # usually AXIS_TOP_DIR is defined via
- # the init_env script of the SDK provided by Axis
- #
- ## AXIS_TOP_DIR defined? Make missing mandatory variable visible
- AXIS_TOP_DIR?=UNDEFINED_ENV__AXIS_TOP_DIR
- AXIS_SDK_DIR?=$(AXIS_TOP_DIR)
-
- # CROSS_INCLUDES
- AXIS_SDK_TARGET_INCLUDE_DIR = $(AXIS_SDK_DIR)/target/$(GNU_TARGET)/include
- AXIS_SDK_TARGET_INCLUDE_DIR +=$(AXIS_SDK_DIR)/target/$(GNU_TARGET)/usr/include
-
- CROSS_INCLUDES = $(addprefix -isystem ,$(AXIS_SDK_TARGET_INCLUDE_DIR))
-
- # CROSS_LDFLAGS
- AXIS_SDK_TARGET_LIB_DIR = $(AXIS_SDK_DIR)/target/$(GNU_TARGET)/lib
- AXIS_SDK_TARGET_LIB_DIR += $(AXIS_SDK_DIR)/target/$(GNU_TARGET)/usr/lib
-
- CROSS_LDFLAGS = $(addprefix -L,$(AXIS_SDK_TARGET_LIB_DIR))
-
--include $(CONFIG)/os/CONFIG_SITE.Common.linux-cris
-ifeq ($(EPICS_HOST_ARCH), linux-x86)
--include $(CONFIG)/os/CONFIG.linux-x86.linux-cris
--include $(CONFIG)/os/CONFIG_SITE.linux-x86.linux-cris
-endif
-endif
-
-SHARED_LIBRARIES=NO
-STATIC_BUILD=YES
-
-ARCH_DEP_CFLAGS += -mno-mul-bug-workaround
-OP_SYS_CFLAGS += -mlinux
-ARCH_DEP_CPPFLAGS += -D_cris_ -mlinux
-
-#uncomment CRIS_COMPILER_DEBUG for debugging cris-compiled code
-#CRIS_COMPILER_DEBUG
diff --git a/configure/os/CONFIG.Common.linux-microblaze b/configure/os/CONFIG.Common.linux-microblaze
index 21ecb03ac..e5f645b96 100644
--- a/configure/os/CONFIG.Common.linux-microblaze
+++ b/configure/os/CONFIG.Common.linux-microblaze
@@ -15,7 +15,7 @@ include $(CONFIG)/os/CONFIG.Common.linuxCommon
ARCH_CLASS = microblaze
ifeq ($(BUILD_CLASS),CROSS)
- VALID_BUILDS = Ioc
+ VALID_BUILDS = Ioc Command
GNU_TARGET = microblazeel-unknown-linux-gnu
CMPLR_PREFIX = $(addsuffix -,$(GNU_TARGET))
endif
diff --git a/configure/os/CONFIG.Common.linux-xscale_be b/configure/os/CONFIG.Common.linux-xscale_be
index 462320f66..97e38337c 100644
--- a/configure/os/CONFIG.Common.linux-xscale_be
+++ b/configure/os/CONFIG.Common.linux-xscale_be
@@ -13,7 +13,7 @@ include $(CONFIG)/os/CONFIG.Common.linuxCommon
ARCH_CLASS = xscale
ifeq ($(BUILD_CLASS),CROSS)
- VALID_BUILDS = Ioc
+ VALID_BUILDS = Ioc Command
GNU_TARGET = xscale_be
CMPLR_PREFIX = $(GNU_TARGET:%=%-)
diff --git a/configure/os/CONFIG.Common.linuxCommon b/configure/os/CONFIG.Common.linuxCommon
index 965de09b8..24b1a0c33 100644
--- a/configure/os/CONFIG.Common.linuxCommon
+++ b/configure/os/CONFIG.Common.linuxCommon
@@ -23,15 +23,17 @@ STATIC_LDFLAGS_YES= -Wl,-Bstatic
STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Wl,-Bdynamic
-# Set runtime path for shared libraries if USE_RPATH=YES and STATIC_BUILD=NO
-SHRLIBDIR_RPATH_LDFLAGS_YES_NO = $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath,%)
+# Set runtime path for shared libraries if LINKER_USE_RPATH=YES
+SHRLIBDIR_RPATH_LDFLAGS_YES = $(SHRLIB_DEPLIB_DIRS:%=-Wl,-rpath,%)
+SHRLIBDIR_RPATH_LDFLAGS_ORIGIN = $(shell $(MAKERPATH) -O '\$$ORIGIN' -F $(FINAL_DIR) -R $(LINKER_ORIGIN_ROOT) $(SHRLIB_DEPLIB_DIRS))
SHRLIBDIR_LDFLAGS += \
- $(SHRLIBDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH)_$(STATIC_BUILD))
+ $(SHRLIBDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
-# Set runtime path for products if USE_RPATH=YES and STATIC_BUILD=NO
-PRODDIR_RPATH_LDFLAGS_YES_NO = $(PROD_DEPLIB_DIRS:%=-Wl,-rpath,%)
+# Set runtime path for products if LINKER_USE_RPATH=YES
+PRODDIR_RPATH_LDFLAGS_YES = $(PROD_DEPLIB_DIRS:%=-Wl,-rpath,%)
+PRODDIR_RPATH_LDFLAGS_ORIGIN = $(shell $(MAKERPATH) -O '\$$ORIGIN' -F $(FINAL_DIR) -R $(LINKER_ORIGIN_ROOT) $(PROD_DEPLIB_DIRS))
PRODDIR_LDFLAGS += \
- $(PRODDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH)_$(STATIC_BUILD))
+ $(PRODDIR_RPATH_LDFLAGS_$(LINKER_USE_RPATH))
# Link libraries controlled by COMMANDLINE_LIBRARY
# The newest Linux versions only need readline, older ones need both
diff --git a/configure/os/CONFIG.Common.vxWorksCommon b/configure/os/CONFIG.Common.vxWorksCommon
index 95f8f7f70..f28f0e327 100644
--- a/configure/os/CONFIG.Common.vxWorksCommon
+++ b/configure/os/CONFIG.Common.vxWorksCommon
@@ -1,7 +1,7 @@
# CONFIG.Common.vxWorksCommon
#
# Definitions for vxWorks target archs
-# Sites may override these definitions in CONFIG_SITE.Common.vxWorksCommon
+# Override these definitions in CONFIG_SITE.Common.vxWorksCommon
# or CONFIG_SITE..vxWorksCommon
#-------------------------------------------------------
@@ -63,8 +63,6 @@ VXWORKS_MAJOR_VERSION = $(basename $(basename $(VXWORKS_VERSION)))
# These are needed for vxWorks 6.x; the GNU toolset version number
# is in the path to the compiler tools:
-VX_GNU_VERSION_5.4 = 2.95
-VX_GNU_VERSION_5.5 = 2.96
VX_GNU_VERSION_6.0 = 3.3.2
VX_GNU_VERSION_6.1 = 3.3.2
VX_GNU_VERSION_6.2 = 3.3.2
@@ -80,30 +78,21 @@ VX_GNU_VERSION = $(VX_GNU_VERSION_$(VXWORKS_VERSION))
VX_GNU_MAJOR_VERSION = $(basename $(basename $(VX_GNU_VERSION)))
#--------------------------------------------------
-# Fix WIND_BASE for vxWorks 6.x on linux
-# NB: We know the value of WIND_HOST_TYPE here, but not VXWORKS_VERSION
+# Fix old Linux WIND_HOST_TYPE
ifeq ($(WIND_HOST_TYPE),x86-linux)
- WIND_HOST_TYPE_5 = x86-linux
- WIND_HOST_TYPE_6 = x86-linux2
- WIND_HOST_TYPE = $(WIND_HOST_TYPE_$(VXWORKS_MAJOR_VERSION))
+ WIND_HOST_TYPE = x86-linux2
endif
#--------------------------------------------------
# vxWorks directory definitions
-VX_DIR_5 = $(WIND_BASE)
-VX_DIR_6 = $(WIND_BASE)/vxworks-$(VXWORKS_VERSION)
-VX_DIR = $(VX_DIR_$(VXWORKS_MAJOR_VERSION))
+VX_DIR = $(WIND_BASE)/vxworks-$(VXWORKS_VERSION)
-VX_INCLUDE_DIRS_5 = $(VX_DIR)/target/h
-VX_INCLUDE_DIRS_6 = $(VX_DIR)/target/h $(VX_DIR)/target/h/wrn/coreip
-GNU_TARGET_INCLUDE_DIR = $(VX_INCLUDE_DIRS_$(VXWORKS_MAJOR_VERSION))
+GNU_TARGET_INCLUDE_DIR = $(VX_DIR)/target/h $(VX_DIR)/target/h/wrn/coreip
#--------------------------------------------------
# vxWorks GNU directories
-GNU_DIR_5 = $(WIND_BASE)/host/$(WIND_HOST_TYPE)
-GNU_DIR_6 = $(WIND_BASE)/gnu/$(VX_GNU_VERSION)-vxworks-$(VXWORKS_VERSION)/$(WIND_HOST_TYPE)
-GNU_DIR = $(GNU_DIR_$(VXWORKS_MAJOR_VERSION))
+GNU_DIR = $(WIND_BASE)/gnu/$(VX_GNU_VERSION)-vxworks-$(VXWORKS_VERSION)/$(WIND_HOST_TYPE)
#--------------------------------------------------
# This finds nm on any supported VxWorks version
@@ -113,9 +102,7 @@ NM = $(firstword $(wildcard $(WIND_BASE)/*/$(WIND_HOST_TYPE)/bin/$(NMPROG)))
#--------------------------------------------------
# A linker script is essential for munching from vxWorks 6.6 onwards
-# (i.e. with versions that use gcc 4.1.2 or later). It can be used
-# with any vxWorks 5 or 6 version, but apparently should not be used
-# when compiling for 68K (which isn't supported in vxWorks 6 anyway)
+# (i.e. with versions that use gcc 4.1.2 or later).
MUNCH_LDFLAGS_6 = -T $(VX_DIR)/target/h/tool/gnu/ldscripts/link.OUT
MUNCH_LDFLAGS = $(MUNCH_LDFLAGS_$(VXWORKS_MAJOR_VERSION))
@@ -131,11 +118,10 @@ export TOOL_FAMILY = GNU
OP_SYS_CPPFLAGS += -DvxWorks=vxWorks
OP_SYS_CFLAGS += -fno-builtin
-# Fix for vxWorks 5 headers that use macros defined in vxWorks.h but
+# Fix for vxWorks headers that use macros defined in vxWorks.h but
# which don't actually include vxWorks.h themselves, for example the
# target/h/sys/stat.h file which uses ULONG. This also stops dbDefs.h
-# from defining the OFFSET macro, which generates lots of warnings in
-# both vxWorks 5 and 6.
+# from defining the OFFSET macro, which generates lots of warnings.
OP_SYS_INCLUDE_CPPFLAGS += -include $(VX_DIR)/target/h/vxWorks.h
#--------------------------------------------------
@@ -148,7 +134,6 @@ OPT_CXXFLAGS_YES = -O2
CODE_CFLAGS =
#
# For vxWorks versions before 6.3 we need this g++ compiler flag
-CODE_CXXFLAGS_5 = -fno-implicit-templates
CODE_CXXFLAGS_6.0 = -fno-implicit-templates
CODE_CXXFLAGS_6.1 = -fno-implicit-templates
CODE_CXXFLAGS_6.2 = -fno-implicit-templates
@@ -161,8 +146,10 @@ SHRLIB_CFLAGS =
SHRLIB_LDFLAGS =
#--------------------------------------------------
-# Earlier versions of gcc don't understand -MF
-HDEPENDS_COMPFLAGS = -MM > $@
+# Don't use gcc 2.x for dependency generation
+
+HDEPENDS_METHOD_2 = MKMF
+HDEPENDS_METHOD = $(firstword $(HDEPENDS_METHOD_$(VX_GNU_MAJOR_VERSION)) COMP)
#--------------------------------------------------
# osithead use default stack, YES or NO override
@@ -186,10 +173,8 @@ VXCPPFLAGS = $(filter-out $(OP_SYS_INCLUDE_CPPFLAGS),$(CPPFLAGS))
PREPROCESS.cpp = $(CPP) $(VXCPPFLAGS) $(INCLUDES) $< > $@
#--------------------------------------------------
-# Don't use gcc 2.x for dependency generation
-
-HDEPENDS_METHOD_2 = MKMF
-HDEPENDS_METHOD = $(firstword $(HDEPENDS_METHOD_$(VX_GNU_MAJOR_VERSION)) COMP)
+# Use LEDLIB for command-line editing
+COMMANDLINE_LIBRARY = LEDLIB
#--------------------------------------------------
# Allow site overrides
diff --git a/configure/os/CONFIG.UnixCommon.Common b/configure/os/CONFIG.UnixCommon.Common
index 5f02d23c4..72c1ee929 100644
--- a/configure/os/CONFIG.UnixCommon.Common
+++ b/configure/os/CONFIG.UnixCommon.Common
@@ -8,9 +8,10 @@
CP = cp
MV = mv
RM = rm -f
-MKDIR = mkdir
+MKDIR = mkdir -p
RMDIR = rm -rf
CAT = cat
+TOUCH = touch
# Allow site overrides
-include $(CONFIG)/os/CONFIG_SITE.UnixCommon.Common
diff --git a/configure/os/CONFIG.darwin-aarch64.Common b/configure/os/CONFIG.darwin-aarch64.Common
new file mode 100644
index 000000000..0be8d68fe
--- /dev/null
+++ b/configure/os/CONFIG.darwin-aarch64.Common
@@ -0,0 +1,8 @@
+# CONFIG.darwin-aarch64.Common
+#
+# Definitions for darwin-aarch64 host builds
+# Sites may override these definitions in CONFIG_SITE.darwin-aarch64.Common
+#-------------------------------------------------------
+
+#Include definitions common to unix hosts
+include $(CONFIG)/os/CONFIG.UnixCommon.Common
diff --git a/configure/os/CONFIG.darwin-ppc.Common b/configure/os/CONFIG.darwin-ppc.Common
deleted file mode 100644
index ac176878f..000000000
--- a/configure/os/CONFIG.darwin-ppc.Common
+++ /dev/null
@@ -1,8 +0,0 @@
-# CONFIG.darwin-ppc.Common
-#
-# Definitions for darwin-ppc host builds
-# Sites may override these definitions in CONFIG_SITE.darwin-ppc.Common
-#-------------------------------------------------------
-
-#Include definitions common to unix hosts
-include $(CONFIG)/os/CONFIG.UnixCommon.Common
diff --git a/configure/os/CONFIG.darwin-ppc.darwin-ppc-debug b/configure/os/CONFIG.darwin-ppc.darwin-ppc-debug
deleted file mode 100644
index 985052031..000000000
--- a/configure/os/CONFIG.darwin-ppc.darwin-ppc-debug
+++ /dev/null
@@ -1,13 +0,0 @@
-# CONFIG.darwin-ppc.darwin-ppc-debug
-#
-# Definitions for darwin-ppc host - darwin-ppc-debug target build with debug compiler flags
-# Sites may override these definitions in CONFIG_SITE.darwin-ppc.darwin-ppc-debug
-#-------------------------------------------------------
-
--include $(CONFIG)/os/CONFIG.Common.darwin-ppc
--include $(CONFIG)/os/CONFIG.darwin-ppc.darwin-ppc
--include $(CONFIG)/os/CONFIG_SITE.Common.darwin-ppc
--include $(CONFIG)/os/CONFIG_SITE.darwin-ppc.darwin-ppc
-
-BUILD_CLASS=HOST
-HOST_OPT = NO
diff --git a/configure/os/CONFIG.darwin-ppcx86.Common b/configure/os/CONFIG.darwin-ppcx86.Common
deleted file mode 100644
index 749835ced..000000000
--- a/configure/os/CONFIG.darwin-ppcx86.Common
+++ /dev/null
@@ -1,8 +0,0 @@
-# CONFIG.darwin-ppcx86.Common
-#
-# Definitions for Darwin universal PowerPC + x86 host builds
-# Sites may override these definitions in CONFIG_SITE.darwin-ppcx86.Common
-#-------------------------------------------------------
-
-#Include definitions common to unix hosts
-include $(CONFIG)/os/CONFIG.UnixCommon.Common
diff --git a/configure/os/CONFIG.darwin-x86.Common b/configure/os/CONFIG.darwin-x86.Common
index e779f7dc1..c88d8f7ea 100644
--- a/configure/os/CONFIG.darwin-x86.Common
+++ b/configure/os/CONFIG.darwin-x86.Common
@@ -3,6 +3,6 @@
# Definitions for darwin-x86 host builds
# Sites may override these definitions in CONFIG_SITE.darwin-x86.Common
#-------------------------------------------------------
-
+#support for IPv6 etc.
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common
diff --git a/configure/os/CONFIG.darwinCommon.darwinCommon b/configure/os/CONFIG.darwinCommon.darwinCommon
index 4a8f3ef8e..3ee6fd5f9 100644
--- a/configure/os/CONFIG.darwinCommon.darwinCommon
+++ b/configure/os/CONFIG.darwinCommon.darwinCommon
@@ -30,6 +30,7 @@ ARCH_DEP_LDFLAGS += $(ARCH_DEP_FLAGS)
#
# Special flags for Darwin
# No common blocks (as required when using shared libraries)
+# OS provides socket address length
#
OP_SYS_CFLAGS += -fno-common
@@ -65,7 +66,7 @@ GNU = NO
#
# Darwin shared libraries
#
-SHRLIB_LDFLAGS = -dynamiclib -undefined dynamic_lookup \
+SHRLIB_LDFLAGS = -dynamiclib -flat_namespace -undefined dynamic_lookup \
-install_name $(shell $(FULLPATHNAME) $(INSTALL_LIB))/$@ \
$(addprefix -compatibility_version , $(SHRLIB_VERSION)) \
$(addprefix -current_version , $(SHRLIB_VERSION))
diff --git a/configure/os/CONFIG.linux-386.Common b/configure/os/CONFIG.linux-386.Common
deleted file mode 100644
index 691a1aad4..000000000
--- a/configure/os/CONFIG.linux-386.Common
+++ /dev/null
@@ -1,10 +0,0 @@
-# CONFIG.linux-386.Common
-#
-# Definitions for linux-386 host builds
-# Sites may override these definitions in CONFIG_SITE.linux-386.Common
-#-------------------------------------------------------
-
-#Include definitions common to unix hosts
-include $(CONFIG)/os/CONFIG.UnixCommon.Common
-
-WIND_HOST_TYPE = x86-linux
diff --git a/configure/os/CONFIG.linux-386.linux-386 b/configure/os/CONFIG.linux-386.linux-386
deleted file mode 100644
index f65ac46b7..000000000
--- a/configure/os/CONFIG.linux-386.linux-386
+++ /dev/null
@@ -1,8 +0,0 @@
-# CONFIG.linux-386.linux-386
-#
-# Definitions for linux-386 host - linux-386 target builds
-# Sites may override these definitions in CONFIG_SITE.linux-386.linux-386
-#-------------------------------------------------------
-
-# Include linux-x86 compiler definitions
-include $(CONFIG)/os/CONFIG.linux-x86.linux-x86
diff --git a/configure/os/CONFIG.linux-486.Common b/configure/os/CONFIG.linux-486.Common
deleted file mode 100644
index 3b285ae71..000000000
--- a/configure/os/CONFIG.linux-486.Common
+++ /dev/null
@@ -1,10 +0,0 @@
-# CONFIG.linux-486.Common
-#
-# Definitions for linux-486 host builds
-# Sites may override these definitions in CONFIG_SITE.linux-486.Common
-#-------------------------------------------------------
-
-#Include definitions common to unix hosts
-include $(CONFIG)/os/CONFIG.UnixCommon.Common
-
-WIND_HOST_TYPE = x86-linux
diff --git a/configure/os/CONFIG.linux-486.linux-486 b/configure/os/CONFIG.linux-486.linux-486
deleted file mode 100644
index 551cacc29..000000000
--- a/configure/os/CONFIG.linux-486.linux-486
+++ /dev/null
@@ -1,9 +0,0 @@
-# CONFIG.linux-486.linux-486
-#
-# Definitions for linux-486 host - linux-486 target builds
-# Sites may override these definitions in CONFIG_SITE.linux-486.linux-486
-#-------------------------------------------------------
-
-# Include linux-x86 compiler definitions
-include $(CONFIG)/os/CONFIG.linux-x86.linux-x86
-
diff --git a/configure/os/CONFIG.linux-586.Common b/configure/os/CONFIG.linux-586.Common
deleted file mode 100644
index baa7af29c..000000000
--- a/configure/os/CONFIG.linux-586.Common
+++ /dev/null
@@ -1,10 +0,0 @@
-# CONFIG.linux-586.Common
-#
-# Definitions for linux-586 host builds
-# Sites may override these definitions in CONFIG_SITE.linux-586.Common
-#-------------------------------------------------------
-
-#Include definitions common to unix hosts
-include $(CONFIG)/os/CONFIG.UnixCommon.Common
-
-WIND_HOST_TYPE = x86-linux
diff --git a/configure/os/CONFIG.linux-586.linux-586 b/configure/os/CONFIG.linux-586.linux-586
deleted file mode 100644
index 990bfad74..000000000
--- a/configure/os/CONFIG.linux-586.linux-586
+++ /dev/null
@@ -1,9 +0,0 @@
-# CONFIG.linux-586.linux-586
-#
-# Definitions for linux-586 host - linux-586 target builds
-# Sites may override these definitions in CONFIG_SITE.linux-586.linux-586
-#-------------------------------------------------------
-
-# Include linux-x86 compiler definitions
-include $(CONFIG)/os/CONFIG.linux-x86.linux-x86
-
diff --git a/configure/os/CONFIG.linux-686.Common b/configure/os/CONFIG.linux-686.Common
deleted file mode 100644
index 3d8c960cf..000000000
--- a/configure/os/CONFIG.linux-686.Common
+++ /dev/null
@@ -1,10 +0,0 @@
-# CONFIG.linux-686.Common
-#
-# Definitions for linux-686 host builds
-# Sites may override these definitions in CONFIG_SITE.linux-686.Common
-#-------------------------------------------------------
-
-#Include definitions common to unix hosts
-include $(CONFIG)/os/CONFIG.UnixCommon.Common
-
-WIND_HOST_TYPE = x86-linux
diff --git a/configure/os/CONFIG.linux-686.linux-686 b/configure/os/CONFIG.linux-686.linux-686
deleted file mode 100644
index e4195a40a..000000000
--- a/configure/os/CONFIG.linux-686.linux-686
+++ /dev/null
@@ -1,9 +0,0 @@
-# CONFIG.linux-686.linux-686
-#
-# Definitions for linux-686 host - linux-686 target builds
-# Sites may override these definitions in CONFIG_SITE.linux-686.linux-686
-#-------------------------------------------------------
-
-# Include linux-x86 compiler definitions
-include $(CONFIG)/os/CONFIG.linux-x86.linux-x86
-
diff --git a/configure/os/CONFIG.linux-aarch64.Common b/configure/os/CONFIG.linux-aarch64.Common
new file mode 100644
index 000000000..6e577110f
--- /dev/null
+++ b/configure/os/CONFIG.linux-aarch64.Common
@@ -0,0 +1,8 @@
+# CONFIG.linux-aarch64.Common
+#
+# Definitions for linux-aarch64 host builds
+# Sites may override these definitions in CONFIG_SITE.linux-aarch64.Common
+#-------------------------------------------------------
+
+#Include definitions common to unix hosts
+include $(CONFIG)/os/CONFIG.UnixCommon.Common
diff --git a/configure/os/CONFIG.linux-aarch64.linux-aarch64 b/configure/os/CONFIG.linux-aarch64.linux-aarch64
new file mode 100644
index 000000000..3090a875e
--- /dev/null
+++ b/configure/os/CONFIG.linux-aarch64.linux-aarch64
@@ -0,0 +1,8 @@
+# CONFIG.linux-aarch64.linux-aarch64
+#
+# Definitions for native linux-aarch64 builds
+# Override these definitions in CONFIG_SITE.linux-aarch64.linux-aarch64
+#-------------------------------------------------------
+
+# Include common gnu compiler definitions
+include $(CONFIG)/CONFIG.gnuCommon
diff --git a/configure/os/CONFIG.linux-x86.Common b/configure/os/CONFIG.linux-x86.Common
index bfaf967ca..4a525551e 100644
--- a/configure/os/CONFIG.linux-x86.Common
+++ b/configure/os/CONFIG.linux-x86.Common
@@ -7,4 +7,4 @@
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common
-WIND_HOST_TYPE = x86-linux
+WIND_HOST_TYPE = x86-linux2
diff --git a/configure/os/CONFIG.linux-x86.linux-arm b/configure/os/CONFIG.linux-x86.linux-arm
index 63bd5d8be..49834e70f 100644
--- a/configure/os/CONFIG.linux-x86.linux-arm
+++ b/configure/os/CONFIG.linux-x86.linux-arm
@@ -4,7 +4,7 @@
# Override these settings in CONFIG_SITE.linux-x86.linux-arm
#-------------------------------------------------------
-VALID_BUILDS = Ioc
+VALID_BUILDS = Ioc Command
GNU_TARGET = arm-linux
# prefix of compiler tools
diff --git a/configure/os/CONFIG.linux-x86.linux-arm_eb b/configure/os/CONFIG.linux-x86.linux-arm_eb
deleted file mode 100644
index f67bf3990..000000000
--- a/configure/os/CONFIG.linux-x86.linux-arm_eb
+++ /dev/null
@@ -1,9 +0,0 @@
-# CONFIG.linux-x86.linux-arm_eb
-#
-# Definitions for linux-x86 host - linux-arm_eb (big endian) target builds
-# Sites may override these definitions in CONFIG_SITE.linux-x86.linux-arm_eb
-#-------------------------------------------------------
-
-# Include definitions for linux-arm targets
-include $(CONFIG)/os/CONFIG.linux-x86.linux-arm
-
diff --git a/configure/os/CONFIG.linux-x86.linux-arm_el b/configure/os/CONFIG.linux-x86.linux-arm_el
deleted file mode 100644
index f924796a9..000000000
--- a/configure/os/CONFIG.linux-x86.linux-arm_el
+++ /dev/null
@@ -1,9 +0,0 @@
-# CONFIG.linux-x86.linux-arm_el
-#
-# Definitions for linux-x86 host - linux-arm_el (little endian) target builds
-# Sites may override these definitions in CONFIG_SITE.linux-x86.linux-arm_el
-#-------------------------------------------------------
-
-# Include definitions for linux-arm targets
-include $(CONFIG)/os/CONFIG.linux-x86.linux-arm
-
diff --git a/configure/os/CONFIG.linux-x86.linux-cris b/configure/os/CONFIG.linux-x86.linux-cris
deleted file mode 100644
index 8244916e5..000000000
--- a/configure/os/CONFIG.linux-x86.linux-cris
+++ /dev/null
@@ -1,38 +0,0 @@
-# CONFIG.linux-x86.linux-cris
-#
-# Author: Peter Zumbruch
-# GSI
-# P.Zumbruch@gsi.de
-#
-# Definitions for linux-x86 host - linux-cris target builds
-# Sites may override these definitions in CONFIG_SITE.linux-x86.linux-cris
-#-------------------------------------------------------
-
-GNU_DIR = $(CRIS_CROSS_COMPILER)
-
-#STATIC_...
-STATIC_LDFLAGS_YES= -Wl,-Bstatic
-
-## debian-gcc Bug#438641
-GNU_LDLIBS_YES =
-STATIC_LDFLAGS_YES += -static-libgcc
-
-# if not in debug mode strip all symbols
-ifndef CRIS_COMPILER_DEBUG
-STATIC_LDFLAGS_YES += -Wl,--strip-all
-endif
-
-ifeq ($(GNU),YES)
-STATIC_LDFLAGS_NO = -lgcc
-else
-STATIC_LDFLAGS_NO =
-endif
-
-STATIC_LDLIBS_YES=
-STATIC_LDLIBS_NO=
-
-OPT_CXXFLAGS_YES = -Os
-
-ifeq ($(STATIC_BUILD), YES)
- $(shell echo yes)
-endif
diff --git a/configure/os/CONFIG.linux-x86.linux-cris_v10 b/configure/os/CONFIG.linux-x86.linux-cris_v10
deleted file mode 100644
index a227ac07c..000000000
--- a/configure/os/CONFIG.linux-x86.linux-cris_v10
+++ /dev/null
@@ -1,20 +0,0 @@
-# CONFIG.linux-x86.linux-cris_v10
-#
-# Author: Peter Zumbruch
-# GSI
-# P.Zumbruch@gsi.de
-#
-# Definitions for linux-x86 host - linux-cris_v10 target builds
-# Sites may override these definitions in CONFIG_SITE.linux-x86.linux-cris_v10
-#-------------------------------------------------------
-
-# Include definitions common to all linux-cris targets
-include $(CONFIG)/os/CONFIG.Common.linux-cris
-
-GNU_TARGET = cris-axis-linux-gnu
-
-ARCH_DEP_CFLAGS += -march=v10
-
-# if you are using different places for cris_v10 cris_v32
-# you have to define for each architecture
-# AXIS_SDK_DIR=
diff --git a/configure/os/CONFIG.linux-x86.linux-cris_v32 b/configure/os/CONFIG.linux-x86.linux-cris_v32
deleted file mode 100644
index eee8f3344..000000000
--- a/configure/os/CONFIG.linux-x86.linux-cris_v32
+++ /dev/null
@@ -1,20 +0,0 @@
-# CONFIG.linux-x86.linux-cris_v32
-#
-# Author: Peter Zumbruch
-# GSI
-# P.Zumbruch@gsi.de
-#
-# Definitions for linux-x86 host - linux-cris_v32 target builds
-# Sites may override these definitions in CONFIG_SITE.linux-x86.linux-cris_v32
-#-------------------------------------------------------
-
-# Include definitions common to all linux-cris targets
-include $(CONFIG)/os/CONFIG.Common.linux-cris
-
-GNU_TARGET = crisv32-axis-linux-gnu
-
-ARCH_DEP_CFLAGS += -march=v32
-
-# if you are using different places for cris_v10 cris_v32
-# you have to define for each architecture
-# AXIS_SDK_DIR=
diff --git a/configure/os/CONFIG.linux-x86.linux-x86 b/configure/os/CONFIG.linux-x86.linux-x86
index f6a79241a..153ce0d68 100644
--- a/configure/os/CONFIG.linux-x86.linux-x86
+++ b/configure/os/CONFIG.linux-x86.linux-x86
@@ -11,6 +11,3 @@ STATIC_LDFLAGS_YES= -Wl,-Bstatic
STATIC_LDFLAGS_NO=
STATIC_LDLIBS_YES= -Wl,-Bdynamic
STATIC_LDLIBS_NO=
-
-SHRLIB_LDFLAGS += -Wl,-h$@
-LOADABLE_SHRLIB_LDFLAGS += -Wl,-h$@
diff --git a/configure/os/CONFIG.linux-x86.win32-x86-mingw b/configure/os/CONFIG.linux-x86.win32-x86-mingw
index 150f13864..655b33f23 100644
--- a/configure/os/CONFIG.linux-x86.win32-x86-mingw
+++ b/configure/os/CONFIG.linux-x86.win32-x86-mingw
@@ -21,4 +21,4 @@ LOADABLE_SHRLIB_LDFLAGS = -shared \
GNU_LDLIBS_YES =
# Link with system libraries
-OP_SYS_LDLIBS = -lws2_32 -ladvapi32 -luser32 -lkernel32 -lwinmm
+OP_SYS_LDLIBS = -lpsapi -lws2_32 -ladvapi32 -luser32 -lkernel32 -lwinmm -ldbghelp
diff --git a/configure/os/CONFIG.linux-x86_64.Common b/configure/os/CONFIG.linux-x86_64.Common
index 2a751b38c..22cab92ef 100644
--- a/configure/os/CONFIG.linux-x86_64.Common
+++ b/configure/os/CONFIG.linux-x86_64.Common
@@ -7,4 +7,4 @@
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common
-WIND_HOST_TYPE = x86-linux
+WIND_HOST_TYPE = x86-linux2
diff --git a/configure/os/CONFIG.linux-x86_64.linux-aarch64 b/configure/os/CONFIG.linux-x86_64.linux-aarch64
new file mode 100644
index 000000000..2a237eff3
--- /dev/null
+++ b/configure/os/CONFIG.linux-x86_64.linux-aarch64
@@ -0,0 +1,28 @@
+# CONFIG.linux-x86_64.linux-aarch64
+#
+# Definitions for linux-x86_64 host - linux-aarch64 target builds
+# Sites may override these in CONFIG_SITE.linux-x86_64.linux-aarch64
+#-------------------------------------------------------
+
+VALID_BUILDS = Ioc Command
+GNU_TARGET = aarch64-linux
+
+# prefix of compiler tools
+CMPLR_SUFFIX =
+CMPLR_PREFIX = $(addsuffix -,$(GNU_TARGET))
+
+# Provide a link-time path for readline if needed
+OP_SYS_INCLUDES += $(READLINE_DIR:%=-I%/include)
+READLINE_LDFLAGS = $(READLINE_DIR:%=-L%/lib)
+RUNTIME_LDFLAGS_READLINE_YES_NO = $(READLINE_DIR:%=-Wl,-rpath,%/lib)
+RUNTIME_LDFLAGS += \
+ $(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH)_$(STATIC_BUILD))
+SHRLIBDIR_LDFLAGS += $(READLINE_LDFLAGS)
+PRODDIR_LDFLAGS += $(READLINE_LDFLAGS)
+
+# Library flags
+STATIC_LDFLAGS_YES= -Wl,-Bstatic
+STATIC_LDFLAGS_NO=
+STATIC_LDLIBS_YES= -Wl,-Bdynamic
+STATIC_LDLIBS_NO=
+
diff --git a/configure/os/CONFIG.solaris-sparc-gnu.solaris-sparc-gnu b/configure/os/CONFIG.solaris-sparc-gnu.solaris-sparc-gnu
index 03476b833..dfa1522ea 100644
--- a/configure/os/CONFIG.solaris-sparc-gnu.solaris-sparc-gnu
+++ b/configure/os/CONFIG.solaris-sparc-gnu.solaris-sparc-gnu
@@ -18,6 +18,6 @@ STATIC_LDLIBS_NO=
OP_SYS_LDFLAGS += -z ignore -z combreloc -z lazyload
-SHRLIB_LDFLAGS += -Wl,-z,defs -Wl,-z,text -Wl,-h,$@
-LOADABLE_SHRLIB_LDFLAGS += -Wl,-z,text -Wl,-h,$@
+SHRLIB_LDFLAGS += -Wl,-z,defs -Wl,-z,text
+LOADABLE_SHRLIB_LDFLAGS += -Wl,-z,text
GNU_LDLIBS_YES += -lc
diff --git a/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw b/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw
index 2a7827ccd..8430011c4 100644
--- a/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw
+++ b/configure/os/CONFIG.win32-x86-mingw.win32-x86-mingw
@@ -32,4 +32,4 @@ LOADABLE_SHRLIB_LDFLAGS = -shared \
GNU_LDLIBS_YES =
# Link with system libraries
-OP_SYS_LDLIBS = -lws2_32 -ladvapi32 -luser32 -lkernel32 -lwinmm
+OP_SYS_LDLIBS = -lpsapi -lws2_32 -ladvapi32 -luser32 -lkernel32 -lwinmm -ldbghelp
diff --git a/configure/os/CONFIG.win32-x86.Common b/configure/os/CONFIG.win32-x86.Common
index be328cc19..8ea906688 100644
--- a/configure/os/CONFIG.win32-x86.Common
+++ b/configure/os/CONFIG.win32-x86.Common
@@ -11,6 +11,7 @@ MKDIR = $(PERL) -MExtUtils::Command -e mkpath
RMDIR = $(PERL) -MExtUtils::Command -e rm_rf
NOP = $(PERL) -e ''
CAT = $(PERL) -MExtUtils::Command -e cat
+TOUCH = $(PERL) -MExtUtils::Command -e touch
WIND_HOST_TYPE = x86-win32
OSITHREAD_USE_DEFAULT_STACK = NO
@@ -25,4 +26,3 @@ endif
# Needed to find dlls for base installed build tools (antelope,eflex,...)
PATH := $(EPICS_BASE_BIN):$(PATH)
-
diff --git a/configure/os/CONFIG.win32-x86.win32-x86 b/configure/os/CONFIG.win32-x86.win32-x86
index 6a5078d60..767f4c7fa 100644
--- a/configure/os/CONFIG.win32-x86.win32-x86
+++ b/configure/os/CONFIG.win32-x86.win32-x86
@@ -6,7 +6,7 @@
# Win32 valid build types and include directory suffixes
-VALID_BUILDS = Host Ioc
+VALID_BUILDS = Host Ioc Command
CMPLR_CLASS = msvc
@@ -49,9 +49,9 @@ OPT_CFLAGS_YES_NO = -Ox -Oy-
OPT_CFLAGS_YES = $(OPT_CFLAGS_YES_$(OPT_WHOLE_PROGRAM))
#
-# -Zi generate program database for debugging information
+# -Z7 generate C7 compatible debugging information (inside .obj)
# -RTCsu enable run-time error checks
-OPT_CFLAGS_NO = -Zi -RTCsu
+OPT_CFLAGS_NO = -Z7 -RTCsu
# specify object file name and location
OBJ_CFLAG = -Fo
@@ -107,6 +107,9 @@ CODE_CPPFLAGS += -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
WARN_CXXFLAGS_YES = -W3 -w44355 -w44344 -w44251
WARN_CXXFLAGS_NO = -W1
+# Silence tr1 namespace deprecation warnings
+WARN_CXXFLAGS += -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING
+
#
# -Ox maximum optimizations
# -GL whole program optimization
@@ -116,9 +119,9 @@ OPT_CXXFLAGS_YES_NO = -Ox -Oy-
OPT_CXXFLAGS_YES = $(OPT_CXXFLAGS_YES_$(OPT_WHOLE_PROGRAM))
#
-# -Zi generate program database for debugging information
+# -Z7 generate C7 compatible debugging information (inside .obj)
# -RTCsu enable run-time error checks
-OPT_CXXFLAGS_NO = -RTCsu -Zi
+OPT_CXXFLAGS_NO = -RTCsu -Z7
# specify object file name and location
OBJ_CXXFLAG = -Fo
@@ -135,25 +138,11 @@ OBJ_CXXFLAG = -Fo
STATIC_CXXFLAGS_YES= -MT$(VISC_CFLAGS_DEBUG) $(BUILD_DLL_CFLAGS)
STATIC_CXXFLAGS_NO= -MD$(VISC_CFLAGS_DEBUG) $(BUILD_DLL_CFLAGS) -DEPICS_CALL_DLL
-STATIC_LDLIBS_YES=ws2_32.lib advapi32.lib user32.lib kernel32.lib winmm.lib
+STATIC_LDLIBS_YES=ws2_32.lib advapi32.lib user32.lib kernel32.lib winmm.lib dbghelp.lib
STATIC_LDLIBS_NO=
STATIC_LDFLAGS=
RANLIB=
-#
-# option needed for parallel builds with Visual Studio 2013 onward
-# VS2012 and above have VisualStudioVersion, so just need to exclude 2012 (11.0)
-# -FS Force Synchronous PDB Writes
-#
-ifneq ($(VisualStudioVersion),)
-ifneq ($(VisualStudioVersion),11.0)
- OPT_CXXFLAGS_NO += -FS
- OPT_CFLAGS_NO += -FS
-endif
-endif
-
-
-#
# add -profile here to run the ms profiler
# -LTCG whole program optimization
# -incremental:no full linking
diff --git a/configure/os/CONFIG_SITE.Common.RTEMS b/configure/os/CONFIG_SITE.Common.RTEMS
index 0b5d227ee..6857dc9a9 100644
--- a/configure/os/CONFIG_SITE.Common.RTEMS
+++ b/configure/os/CONFIG_SITE.Common.RTEMS
@@ -3,11 +3,26 @@
# Site-specific information for all RTEMS targets
#-------------------------------------------------------
-# Where to find RTEMS
+# Where to find RTEMS, and what version is it
#
+# RTEMS_BASE must point to the specific installation of RTEMS to
+# build the target code with.
+# RTEMS_VERSION is used in the path to the toolsets inside that
+# installation. For RTEMS 5 only the major version number is
+# used, but for RTEMS 4.10.2 say all 3 components are required.
+#
+
+# FHI:
+#RTEMS_VERSION = 5
+#RTEMS_BASE = /home/h1/DBG/rtems
+#RTEMS_BASE = /home/ad/MVME6100/rtems/$(RTEMS_VERSION)
+#RTEMS_BASE = /opt/RTEMS/qoriq/rtems/$(RTEMS_VERSION)
+
# APS:
-RTEMS_VERSION = 4.10.2
-RTEMS_BASE = /usr/local/vw/rtems/rtems-$(RTEMS_VERSION)
+#RTEMS_VERSION = 4.10.2
+#RTEMS_BASE = /usr/local/vw/rtems/rtems-4.10.2
+#RTEMS_VERSION = 5
+#RTEMS_BASE = /usr/local/vw/rtems/rtems-5.1
# Cross-compile toolchain in $(RTEMS_TOOLS)/bin
#
diff --git a/configure/os/CONFIG_SITE.Common.RTEMS-pc386 b/configure/os/CONFIG_SITE.Common.RTEMS-pc386
deleted file mode 100644
index c772c44fc..000000000
--- a/configure/os/CONFIG_SITE.Common.RTEMS-pc386
+++ /dev/null
@@ -1,3 +0,0 @@
-#
-# Site-specific overrides for RTEMS-pc386 target
-#
diff --git a/configure/os/CONFIG_SITE.Common.RTEMS-pc386-qemu b/configure/os/CONFIG_SITE.Common.RTEMS-pc386-qemu
new file mode 100644
index 000000000..0f930c5d9
--- /dev/null
+++ b/configure/os/CONFIG_SITE.Common.RTEMS-pc386-qemu
@@ -0,0 +1,9 @@
+# CONFIG_SITE.Common.RTEMS-pc386-qemu
+#
+# Site-specific overrides for the RTEMS-pc386-qemu target
+#
+
+# If you're building this architecture you _probably_ want to
+# run the tests for it under QEMU, but if not you can turn
+# them off here by commenting out this line:
+CROSS_COMPILER_RUNTEST_ARCHS += $(T_A)
diff --git a/configure/os/CONFIG_SITE.Common.RTEMS-pc686-qemu b/configure/os/CONFIG_SITE.Common.RTEMS-pc686-qemu
new file mode 100644
index 000000000..4ed2ed36c
--- /dev/null
+++ b/configure/os/CONFIG_SITE.Common.RTEMS-pc686-qemu
@@ -0,0 +1,9 @@
+# CONFIG_SITE.Common.RTEMS-pc686-qemu
+#
+# Site-specific overrides for the RTEMS-pc686-qemu target
+#
+
+# If you're building this architecture you _probably_ want to
+# run the tests for it under QEMU, but if not you can turn
+# them off here by commenting out this line:
+CROSS_COMPILER_RUNTEST_ARCHS += $(T_A)
diff --git a/configure/os/CONFIG_SITE.Common.cygwin-x86 b/configure/os/CONFIG_SITE.Common.cygwin-x86
index eae9ee5dd..e346c3475 100644
--- a/configure/os/CONFIG_SITE.Common.cygwin-x86
+++ b/configure/os/CONFIG_SITE.Common.cygwin-x86
@@ -16,3 +16,9 @@ COMMANDLINE_LIBRARY = READLINE_NCURSESW
# No other libraries needed
#COMMANDLINE_LIBRARY = READLINE
+
+
+# WARNING: Variables that are set in $(CONFIG)/CONFIG.gnuCommon cannot be
+# overridden in this file for native builds, e.g. variables such as
+# OPT_CFLAGS_YES, WARN_CFLAGS, SHRLIB_LDFLAGS
+# They must be set in CONFIG_SITE.cygwin-x86.cygwin-x86 instead.
diff --git a/configure/os/CONFIG_SITE.Common.cygwin-x86_64 b/configure/os/CONFIG_SITE.Common.cygwin-x86_64
index 8d318e04e..8c549fe9b 100644
--- a/configure/os/CONFIG_SITE.Common.cygwin-x86_64
+++ b/configure/os/CONFIG_SITE.Common.cygwin-x86_64
@@ -11,10 +11,8 @@
#LDLIBS_READLINE = -lreadline -lcurses
-# It makes sense to include debugging symbols even in optimized builds
-# in case you want to attach gdb to the process or examine a core-dump.
-# This does cost disk space, but not memory as debug symbols are not
-# loaded into RAM when the binary is loaded.
-OPT_CFLAGS_YES += -g
-OPT_CXXFLAGS_YES += -g
+# WARNING: Variables that are set in $(CONFIG)/CONFIG.gnuCommon cannot be
+# overridden in this file for native builds, e.g. variables such as
+# OPT_CFLAGS_YES, WARN_CFLAGS, SHRLIB_LDFLAGS
+# They must be set in CONFIG_SITE.cygwin-x86_64.cygwin-x86_64 instead.
diff --git a/configure/os/CONFIG_SITE.Common.darwin-aarch64 b/configure/os/CONFIG_SITE.Common.darwin-aarch64
new file mode 100644
index 000000000..8d79eb16e
--- /dev/null
+++ b/configure/os/CONFIG_SITE.Common.darwin-aarch64
@@ -0,0 +1,9 @@
+# CONFIG_SITE.Common.darwin-aarch64
+#
+# Site override definitions for darwin-aarch64 target builds
+#-------------------------------------------------------
+
+#
+# arm64 devices: Apple Silicon M1
+
+ARCH_CLASS = arm64
diff --git a/configure/os/CONFIG_SITE.Common.darwin-ppc b/configure/os/CONFIG_SITE.Common.darwin-ppc
deleted file mode 100644
index a2550147f..000000000
--- a/configure/os/CONFIG_SITE.Common.darwin-ppc
+++ /dev/null
@@ -1,12 +0,0 @@
-# CONFIG_SITE.Common.darwin-ppc
-#
-# Site override definitions for darwin-ppc target builds
-#-------------------------------------------------------
-
-# Select which CPU architectures to include in your universal binaries:
-# ppc
-# ppc64 - Not tested
-
-ARCH_CLASS = ppc
-#ARCH_CLASS = ppc64
-#ARCH_CLASS = ppc ppc64
diff --git a/configure/os/CONFIG_SITE.Common.darwin-ppcx86 b/configure/os/CONFIG_SITE.Common.darwin-ppcx86
deleted file mode 100644
index 2191d54f8..000000000
--- a/configure/os/CONFIG_SITE.Common.darwin-ppcx86
+++ /dev/null
@@ -1,20 +0,0 @@
-# CONFIG_SITE.Common.darwin-ppcx86
-#
-# Site override definitions for darwin-ppcx86 target builds
-#----------------------------------------------------------
-
-# Select which CPU architectures to include in your universal binaries:
-# ppc
-# i386
-# ppc64 - Not tested
-# x86_64 - Needs MacOS 10.4 with Universal SDK, or 10.5 or later.
-
-ARCH_CLASS = ppc i386
-#ARCH_CLASS = ppc x86_64
-#ARCH_CLASS = ppc i386 x86_64
-#ARCH_CLASS = ppc64 i386
-#ARCH_CLASS = ppc64 x86_64
-#ARCH_CLASS = ppc64 i386 x86_64
-#ARCH_CLASS = ppc ppc64 i386
-#ARCH_CLASS = ppc ppc64 x86_64
-#ARCH_CLASS = ppc ppc64 i386 x86_64
diff --git a/configure/os/CONFIG_SITE.Common.darwin-x86 b/configure/os/CONFIG_SITE.Common.darwin-x86
index 1c5c93696..e837d63f0 100644
--- a/configure/os/CONFIG_SITE.Common.darwin-x86
+++ b/configure/os/CONFIG_SITE.Common.darwin-x86
@@ -4,14 +4,12 @@
#-------------------------------------------------------
# Select which CPU architecture(s) to include in your MacOS binaries:
-# i386, x86_64, or both (fat binaries).
+# x86_64 only, or arm64 as well (fat binaries).
-#ARCH_CLASS = i386
ARCH_CLASS = x86_64
-#ARCH_CLASS = i386 x86_64
+#ARCH_CLASS = arm64 x86_64
-#
-# Uncomment the following 3 lines to build with Apple's GCC instead of CLANG.
+# Uncomment the following 3 lines to build with GCC instead of CLANG.
#
#CMPLR_CLASS = gcc
#CC = gcc
diff --git a/configure/os/CONFIG_SITE.Common.linux-aarch64 b/configure/os/CONFIG_SITE.Common.linux-aarch64
new file mode 100644
index 000000000..5c34e9e10
--- /dev/null
+++ b/configure/os/CONFIG_SITE.Common.linux-aarch64
@@ -0,0 +1,38 @@
+# CONFIG_SITE.Common.linux-aarch64
+#
+# Site Specific definitions for all linux-aarch64 targets
+#-------------------------------------------------------
+
+# NOTE for SHARED_LIBRARIES: In most cases if this is set to YES the
+# shared libraries will be found automatically. However if the .so
+# files are installed at a different path to their compile-time path
+# then in order to be found at runtime do one of these:
+# a) LD_LIBRARY_PATH must include the full absolute pathname to
+# $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) when invoking base
+# executables.
+# b) Add the runtime path to SHRLIB_DEPLIB_DIRS and PROD_DEPLIB_DIRS, which
+# will add the named directory to the list contained in the executables.
+# c) Add the runtime path to /etc/ld.so.conf and run ldconfig
+# to inform the system of the shared library location.
+
+# Depending on your version of Linux you'll want one of the following
+# lines to enable command-line editing and history in iocsh. If you're
+# not sure which, start with the top one and work downwards until the
+# build doesn't fail to link the readline library. If none of them work,
+# comment them all out to build without readline support.
+
+# No other libraries needed (recent Fedora, Ubuntu etc.):
+#COMMANDLINE_LIBRARY = READLINE
+
+# Needs -lncurses (RHEL 5 etc.):
+#COMMANDLINE_LIBRARY = READLINE_NCURSES
+
+# Needs -lcurses (older versions)
+#COMMANDLINE_LIBRARY = READLINE_CURSES
+
+
+# WARNING: Variables that are set in $(CONFIG)/CONFIG.gnuCommon cannot be
+# overridden in this file for native builds, e.g. variables such as
+# OPT_CFLAGS_YES, WARN_CFLAGS, SHRLIB_LDFLAGS
+# They must be set in CONFIG_SITE.linux-aarch64.linux-aarch64 instead.
+
diff --git a/configure/os/CONFIG_SITE.Common.linux-arm b/configure/os/CONFIG_SITE.Common.linux-arm
index 8f5fb8c82..90f792cde 100644
--- a/configure/os/CONFIG_SITE.Common.linux-arm
+++ b/configure/os/CONFIG_SITE.Common.linux-arm
@@ -33,3 +33,12 @@ COMMANDLINE_LIBRARY = $(strip $(if $(wildcard \
# Readline is broken or you don't want use it:
#COMMANDLINE_LIBRARY = EPICS
+
+
+# WARNING: Variables that are set in $(CONFIG)/CONFIG.gnuCommon cannot be
+# overridden in this file for native builds, e.g. variables such as
+# OPT_CFLAGS_YES, WARN_CFLAGS, SHRLIB_LDFLAGS
+# They must be set in CONFIG_SITE.linux-arm.linux-arm instead.
+
+# Permit access to 64-bit file-systems
+OP_SYS_CFLAGS += -D_FILE_OFFSET_BITS=64
diff --git a/configure/os/CONFIG_SITE.Common.linux-cris b/configure/os/CONFIG_SITE.Common.linux-cris
deleted file mode 100644
index 699f346ff..000000000
--- a/configure/os/CONFIG_SITE.Common.linux-cris
+++ /dev/null
@@ -1,34 +0,0 @@
-# CONFIG_SITE.Common.linux-cris
-#
-# Site-specific settings for the linux-cris target
-
-# NOTE: In most cases if SHARED_LIBRARIES is set to YES the
-# shared libraries will be found automatically. However if the .so
-# files are installed at a different path to their compile-time path
-# then in order to be found at runtime do one of these:
-# a) LD_LIBRARY_PATH must include the full absolute pathname to
-# $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) when invoking base
-# executables.
-# b) Add the runtime path to SHRLIB_DEPLIB_DIRS and PROD_DEPLIB_DIRS, which
-# will add the named directory to the list contained in the executables.
-# c) Add the runtime path to /etc/ld.so.conf and run ldconfig
-# to inform the system of the shared library location.
-
-
-# Use GNU Readline if the header file is installed
-COMMANDLINE_LIBRARY = $(strip $(if $(wildcard \
- $(GNU_DIR)/include/readline/readline.h), READLINE, EPICS))
-
-# If libreadline needs additional libraries to be linked with it, try
-# uncommenting each of the lines below in turn, starting with the top
-# one and working downwards, until the build succeeds. Do a 'make rebuild'
-# from the top of the Base tree after changing this setting.
-
-# Needs -lncurses:
-#COMMANDLINE_LIBRARY = READLINE_NCURSES
-
-# Needs -lcurses:
-#COMMANDLINE_LIBRARY = READLINE_CURSES
-
-# Readline is broken or you don't want use it:
-#COMMANDLINE_LIBRARY = EPICS
diff --git a/configure/os/CONFIG_SITE.Common.linux-x86 b/configure/os/CONFIG_SITE.Common.linux-x86
index 22410a5af..ae779c265 100644
--- a/configure/os/CONFIG_SITE.Common.linux-x86
+++ b/configure/os/CONFIG_SITE.Common.linux-x86
@@ -34,18 +34,17 @@ COMMANDLINE_LIBRARY = $(strip $(if $(wildcard \
#COMMANDLINE_LIBRARY = EPICS
+# WARNING: Variables that are set in $(CONFIG)/CONFIG.gnuCommon cannot be
+# overridden in this file for native builds, e.g. variables such as
+# OPT_CFLAGS_YES, WARN_CFLAGS, SHRLIB_LDFLAGS
+# They must be set in CONFIG_SITE.linux-x86.linux-x86 instead.
+
# Permit access to 64-bit file-systems
OP_SYS_CFLAGS += -D_FILE_OFFSET_BITS=64
-
-# Uncomment the followings lines to build with CLANG instead of GCC.
-#
-#GNU = NO
-#CMPLR_CLASS = clang
-#CC = clang
-#CCC = clang++
-
-
# Tune GNU compiler output for a specific 32-bit cpu-type
# (e.g. generic, native, i386, i686, pentium2/3/4, prescott, k6, athlon etc.)
GNU_TUNE_CFLAGS = -mtune=generic
+
+# Developers using a suitable compiler may enable its address sanitizer:
+#ENABLE_ASAN = YES
diff --git a/configure/os/CONFIG_SITE.Common.linux-x86_64 b/configure/os/CONFIG_SITE.Common.linux-x86_64
index f75c4f210..e098b7601 100644
--- a/configure/os/CONFIG_SITE.Common.linux-x86_64
+++ b/configure/os/CONFIG_SITE.Common.linux-x86_64
@@ -34,14 +34,14 @@ COMMANDLINE_LIBRARY = $(strip $(if $(wildcard \
#COMMANDLINE_LIBRARY = EPICS
-# Uncomment the followings lines to build with CLANG instead of GCC.
-#
-#GNU = NO
-#CMPLR_CLASS = clang
-#CC = clang
-#CCC = clang++
-
+# WARNING: Variables that are set in $(CONFIG)/CONFIG.gnuCommon cannot be
+# overridden in this file for native builds, e.g. variables such as
+# OPT_CFLAGS_YES, WARN_CFLAGS, SHRLIB_LDFLAGS
+# They must be set in CONFIG_SITE.linux-x86_64.linux-x86_64 instead.
# Tune GNU compiler output for a specific 64-bit cpu-type
# (e.g. generic, native, core2, nocona, k8, opteron, athlon64, barcelona etc.)
GNU_TUNE_CFLAGS = -mtune=generic
+
+# Developers using a suitable compiler may enable its address sanitizer:
+#ENABLE_ASAN = YES
diff --git a/configure/os/CONFIG_SITE.Common.linuxCommon b/configure/os/CONFIG_SITE.Common.linuxCommon
index 7f5d4aa11..2b035eac9 100644
--- a/configure/os/CONFIG_SITE.Common.linuxCommon
+++ b/configure/os/CONFIG_SITE.Common.linuxCommon
@@ -2,10 +2,9 @@
#
# Site-specific settings for all linux targets
+# WARNING: Variables that are set in $(CONFIG)/CONFIG.gnuCommon cannot be
+# overridden in this file for native builds, e.g. variables such as
+# OPT_CFLAGS_YES, WARN_CFLAGS, SHRLIB_LDFLAGS
+# They must be set in the host+target specific file instead:
+# CONFIG_SITE..
-# It makes sense to include debugging symbols even in optimized builds
-# in case you want to attach gdb to the process or examine a core-dump.
-# This does cost disk space, but not memory as debug symbols are not
-# loaded into RAM when the binary is loaded.
-OPT_CFLAGS_YES += -g
-OPT_CXXFLAGS_YES += -g
diff --git a/configure/os/CONFIG_SITE.Common.vxWorksCommon b/configure/os/CONFIG_SITE.Common.vxWorksCommon
index 38e63893f..0b0654aeb 100644
--- a/configure/os/CONFIG_SITE.Common.vxWorksCommon
+++ b/configure/os/CONFIG_SITE.Common.vxWorksCommon
@@ -1,21 +1,13 @@
# CONFIG_SITE.Common.vxWorksCommon
#
# Site specific definitions for vxWorks target builds.
-# Only the local epics system manager should modify this file
# Compiler options can vary with the vxWorks version number, so we
-# need to know that. However don't include any third-level digits
-# (e.g. the .2 in 5.5.2) because we don't need them.
+# need to know that. Do not include any third-level digits.
-# Note: vxWorks 5.4.x (Tornado 2.0.x) is not supported
+# Note: vxWorks 5.4.x and 5.5.x (Tornado 2.x) are not supported.
+# VxWorks 6.0 through 6.5 use older, untested versions of GCC.
-#VXWORKS_VERSION = 5.5
-#VXWORKS_VERSION = 6.0
-#VXWORKS_VERSION = 6.1
-#VXWORKS_VERSION = 6.2
-#VXWORKS_VERSION = 6.3
-#VXWORKS_VERSION = 6.4
-#VXWORKS_VERSION = 6.5
#VXWORKS_VERSION = 6.6
#VXWORKS_VERSION = 6.7
#VXWORKS_VERSION = 6.8
@@ -27,7 +19,6 @@ VXWORKS_VERSION = 6.9
# CONFIG_SITE.$(EPICS_HOST_ARCH).vxWorksCommon file.
# WIND_BASE is where you installed the Wind River software.
-# Under vxWorks 6.x this is *not* the same as the old VX_DIR setting
#WIND_BASE = /usr/local/vw/tornado22-$(ARCH_CLASS)
WIND_BASE = /usr/local/vw/vxWorks-$(VXWORKS_VERSION)
diff --git a/configure/os/CONFIG_SITE.cygwin-x86.cygwin-x86 b/configure/os/CONFIG_SITE.cygwin-x86.cygwin-x86
index 3125c7a64..46a1eccea 100644
--- a/configure/os/CONFIG_SITE.cygwin-x86.cygwin-x86
+++ b/configure/os/CONFIG_SITE.cygwin-x86.cygwin-x86
@@ -6,3 +6,11 @@
# GNU_DIR used when COMMANDLINE_LIBRARY is READLINE
#GNU_DIR=C:/cygwin
+
+# It makes sense to include debugging symbols even in optimized builds
+# in case you want to attach gdb to the process or examine a core-dump.
+# This does cost disk space, but not memory as debug symbols are not
+# loaded into RAM when the binary is loaded.
+OPT_CFLAGS_YES += -g
+OPT_CXXFLAGS_YES += -g
+
diff --git a/configure/os/CONFIG_SITE.darwin-ppc.Common b/configure/os/CONFIG_SITE.darwin-ppc.Common
deleted file mode 100644
index 05417e1f9..000000000
--- a/configure/os/CONFIG_SITE.darwin-ppc.Common
+++ /dev/null
@@ -1,4 +0,0 @@
-# CONFIG_SITE.darwin-ppc.Common
-#
-# Site override definitions for darwin-ppc host builds
-#-------------------------------------------------------
diff --git a/configure/os/CONFIG_SITE.darwin-ppcx86.Common b/configure/os/CONFIG_SITE.darwin-ppcx86.Common
deleted file mode 100644
index 42bd00531..000000000
--- a/configure/os/CONFIG_SITE.darwin-ppcx86.Common
+++ /dev/null
@@ -1,4 +0,0 @@
-# CONFIG_SITE.darwin-ppcx86.Common
-#
-# Site override definitions for darwin-ppcx86 host builds
-#-------------------------------------------------------
diff --git a/configure/os/CONFIG_SITE.linux-aarch64.linux-aarch64 b/configure/os/CONFIG_SITE.linux-aarch64.linux-aarch64
new file mode 100644
index 000000000..e196135b7
--- /dev/null
+++ b/configure/os/CONFIG_SITE.linux-aarch64.linux-aarch64
@@ -0,0 +1,12 @@
+# CONFIG_SITE.linux-aarch64.linux-aarch64
+#
+# Site specific definitions for native linux-aarch64 builds
+#-------------------------------------------------------
+
+# It makes sense to include debugging symbols even in optimized builds
+# in case you want to attach gdb to the process or examine a core-dump.
+# This does cost disk space, but not memory as debug symbols are not
+# loaded into RAM when the binary is loaded.
+OPT_CFLAGS_YES += -g
+OPT_CXXFLAGS_YES += -g
+
diff --git a/configure/os/CONFIG_SITE.linux-x86.Common b/configure/os/CONFIG_SITE.linux-x86.Common
index dc29e8f0d..afb74e914 100644
--- a/configure/os/CONFIG_SITE.linux-x86.Common
+++ b/configure/os/CONFIG_SITE.linux-x86.Common
@@ -3,7 +3,5 @@
# Site override definitions for linux-x86 host builds
#-------------------------------------------------------
-# JBA test override values
-#CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040 solaris-sparc
-#CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040
-#CROSS_COMPILER_TARGET_ARCHS = RTEMS-mvme2100 RTEMS-pc386 # RTEMS-mvme5500 RTEMS-mvme167
+#CROSS_COMPILER_TARGET_ARCHS = vxWorks-ppc32
+#CROSS_COMPILER_TARGET_ARCHS = RTEMS-mvme2100 RTEMS-pc386-qemu
diff --git a/configure/os/CONFIG_SITE.linux-x86.linux-arm b/configure/os/CONFIG_SITE.linux-x86.linux-arm
index a1edb423d..231c54bb8 100644
--- a/configure/os/CONFIG_SITE.linux-x86.linux-arm
+++ b/configure/os/CONFIG_SITE.linux-x86.linux-arm
@@ -8,7 +8,8 @@ GNU_TARGET = arm-xilinx-linux-gnueabi
# Set GNU tools install path
# Examples are installations at the APS:
-GNU_DIR = /usr/local/vw/zynq-2011.09
+#GNU_DIR = /usr/local/vw/zynq-2011.09
+GNU_DIR = /usr/local/vw/zynq-2016.1/gnu/arm/lin
#GNU_DIR = /usr/local/Xilinx/SDK/2016.3/gnu/arm/lin
#GNU_DIR = /APSshare/XilinxSDK/2015.4/gnu/arm/lin
diff --git a/configure/os/CONFIG_SITE.linux-x86.linux-arm_eb b/configure/os/CONFIG_SITE.linux-x86.linux-arm_eb
deleted file mode 100644
index 0bc2a4e5a..000000000
--- a/configure/os/CONFIG_SITE.linux-x86.linux-arm_eb
+++ /dev/null
@@ -1,13 +0,0 @@
-# CONFIG_SITE.linux-x86.linux-arm_eb
-#
-# Site specific definitions for linux-x86 host - linux-arm_eb target builds
-#-------------------------------------------------------
-
-# Include definitions for linux-arm targets
-include $(CONFIG)/os/CONFIG_SITE.linux-x86.linux-arm
-
-# Path to the GNU toolset for linux-arm_eb (big endian) target
-#GNU_DIR = /local/anj/cross-arm/gcc-3.4.5-glibc-2.3.6/armeb-linux
-
-# GNU crosscompiler target name
-#GNU_TARGET = armeb-linux
diff --git a/configure/os/CONFIG_SITE.linux-x86.linux-arm_el b/configure/os/CONFIG_SITE.linux-x86.linux-arm_el
deleted file mode 100644
index b82bc13bf..000000000
--- a/configure/os/CONFIG_SITE.linux-x86.linux-arm_el
+++ /dev/null
@@ -1,13 +0,0 @@
-# CONFIG_SITE.linux-x86.linux-arm_el
-#
-# Site specific definitions for linux-x86 host - linux-arm_el target builds
-#-------------------------------------------------------
-
-# Include definitions for linux-arm targets
-include $(CONFIG)/os/CONFIG_SITE.linux-x86.linux-arm
-
-# Path to the GNU toolset for linux-arm_el (little endian) target
-#GNU_DIR = /local/anj/cross-arm/gcc-3.4.5-glibc-2.3.6/armel-linux
-
-# GNU crosscompiler target name
-#GNU_TARGET = armel-linux
diff --git a/configure/os/CONFIG_SITE.linux-x86.linux-cris b/configure/os/CONFIG_SITE.linux-x86.linux-cris
deleted file mode 100644
index eb756ca8a..000000000
--- a/configure/os/CONFIG_SITE.linux-x86.linux-cris
+++ /dev/null
@@ -1,14 +0,0 @@
-# CONFIG_SITE.linux-x86.linux-cris
-#
-# Author: Peter Zumbruch
-# GSI
-# P.Zumbruch@gsi.de
-#
-# Site specific definitions for linux-x86 host - linux-cris target builds
-#-------------------------------------------------------
-
-# define site specific location of cris cross compiler's gnu directory
-# but without bin sub directory, this will be added automatically.
-
-CRIS_CROSS_COMPILER ?= UNDEFINED_ENV__CRIS_CROSS_COMPILER
-
diff --git a/configure/os/CONFIG_SITE.linux-x86.linux-x86 b/configure/os/CONFIG_SITE.linux-x86.linux-x86
index d359d174f..5b2fa7c65 100644
--- a/configure/os/CONFIG_SITE.linux-x86.linux-x86
+++ b/configure/os/CONFIG_SITE.linux-x86.linux-x86
@@ -3,3 +3,17 @@
# Site specific definitions for linux-x86 host - linux-x86 target builds
#-------------------------------------------------------
+# It makes sense to include debugging symbols even in optimized builds
+# in case you want to attach gdb to the process or examine a core-dump.
+# This does cost disk space, but not memory as debug symbols are not
+# loaded into RAM when the binary is loaded.
+OPT_CFLAGS_YES += -g
+OPT_CXXFLAGS_YES += -g
+
+# Uncomment the followings lines to build with CLANG instead of GCC.
+#
+#GNU = NO
+#CMPLR_CLASS = clang
+#CC = clang
+#CCC = clang++
+
diff --git a/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw b/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw
index dfc947eba..363664f26 100644
--- a/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw
+++ b/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw
@@ -14,10 +14,10 @@
#GNU_DIR = /usr/local
# Different distribution cross-build packages use different prefixes:
-# Ubuntu:
-#CMPLR_PREFIX = i686-w64-mingw32-
-# RHEL:
-CMPLR_PREFIX = i686-pc-mingw32-
+# Ubuntu, RHEL7:
+CMPLR_PREFIX = i686-w64-mingw32-
+# RHEL6:
+#CMPLR_PREFIX = i686-pc-mingw32-
# Debian?
#CMPLR_PREFIX = i586-mingw32msvc-
diff --git a/configure/os/CONFIG_SITE.linux-x86_64.linux-aarch64 b/configure/os/CONFIG_SITE.linux-x86_64.linux-aarch64
new file mode 100644
index 000000000..f4748621f
--- /dev/null
+++ b/configure/os/CONFIG_SITE.linux-x86_64.linux-aarch64
@@ -0,0 +1,30 @@
+# CONFIG_SITE.linux-x86.linux-aarch64
+#
+# Site specific definitions for linux-x86 host - linux-aarch64 target builds
+#-------------------------------------------------------
+
+# Set GNU crosscompiler target name
+GNU_TARGET = aarch64-linux-gnu
+
+# Set GNU tools install path
+# Examples is the installation at the APS:
+GNU_DIR = /usr/local/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux
+
+# If cross-building shared libraries and the paths on the target machine are
+# different than on the build host, you should uncomment the lines below to
+# disable embedding compile-time library paths into the generated files.
+# You will need to provide another way for programs to find their shared
+# libraries at runtime, such as by setting LD_LIBRARY_PATH or (better) using
+# mechanisms related to /etc/ld.so.conf
+#SHRLIBDIR_RPATH_LDFLAGS_YES_NO =
+#PRODDIR_RPATH_LDFLAGS_YES_NO =
+# However it is usually simpler to set STATIC_BUILD=YES here and not
+# try to use shared libraries at all when cross-building, like this:
+STATIC_BUILD=YES
+SHARED_LIBRARIES=NO
+
+# To use libreadline, point this to its install prefix
+#READLINE_DIR = $(GNU_DIR)
+#READLINE_DIR = /tools/cross/linux-x86.linux-arm/readline
+# See CONFIG_SITE.Common.linux-arm for other COMMANDLINE_LIBRARY values
+#COMMANDLINE_LIBRARY = READLINE
diff --git a/configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64 b/configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64
index 7a19d0dfe..9178afd43 100644
--- a/configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64
+++ b/configure/os/CONFIG_SITE.linux-x86_64.linux-x86_64
@@ -3,4 +3,17 @@
# Site specific definitions for linux-x86_64 host - linux-x86_64 target builds
#-------------------------------------------------------
+# It makes sense to include debugging symbols even in optimized builds
+# in case you want to attach gdb to the process or examine a core-dump.
+# This does cost disk space, but not memory as debug symbols are not
+# loaded into RAM when the binary is loaded.
+OPT_CFLAGS_YES += -g
+OPT_CXXFLAGS_YES += -g
+
+# Uncomment the followings lines to build with CLANG instead of GCC.
+#
+#GNU = NO
+#CMPLR_CLASS = clang
+#CC = clang
+#CCC = clang++
diff --git a/configure/toolchain.c b/configure/toolchain.c
new file mode 100644
index 000000000..a97085ae3
--- /dev/null
+++ b/configure/toolchain.c
@@ -0,0 +1,37 @@
+#ifdef _COMMENT_
+/* Extract compiler pre-defined macros as Make variables
+ *
+ * Expanded as $(INSTALL_CFG)/TOOLCHAIN.$(EPICS_HOST_ARCH).$(T_A)
+ *
+ * Must be careful not to #include any C definitions
+ * into what is really a Makefile snippet
+ *
+ * cf. https://sourceforge.net/p/predef/wiki/Home/
+ */
+/* GCC preprocessor drops C comments from output.
+ * MSVC preprocessor emits C comments in output
+ */
+#endif
+
+#if defined(__GNUC__) && !defined(__clang__)
+GCC_MAJOR = __GNUC__
+GCC_MINOR = __GNUC_MINOR__
+GCC_PATCH = __GNUC_PATCHLEVEL__
+
+#elif defined(__clang__)
+CLANG_MAJOR = __clang_major__
+CLANG_MINOR = __clang_minor__
+CLANG_PATCH = __clang_patchlevel__
+
+#elif defined(_MSC_VER)
+MSVC_VER = _MSC_VER
+#endif
+
+#ifdef __rtems__
+#include
+# if __RTEMS_MAJOR__>=5
+OS_API = posix
+# else
+OS_API = score
+# endif
+#endif
diff --git a/documentation/.gitignore b/documentation/.gitignore
new file mode 100644
index 000000000..52230970a
--- /dev/null
+++ b/documentation/.gitignore
@@ -0,0 +1,3 @@
+*.db
+epics-base.tag
+html/
diff --git a/documentation/Doxyfile@ b/documentation/Doxyfile@
new file mode 100644
index 000000000..bf53ee0ce
--- /dev/null
+++ b/documentation/Doxyfile@
@@ -0,0 +1,2351 @@
+# Doxyfile 1.8.8
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project.
+#
+# All text after a double hash (##) is considered a comment and is placed in
+# front of the TAG it is preceding.
+#
+# All text after a single hash (#) is considered a comment and will be ignored.
+# The format is:
+# TAG = value [value, ...]
+# For lists, items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (\" \").
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all text
+# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
+# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
+# for the list of possible encodings.
+# The default value is: UTF-8.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
+# double-quotes, unless you are using Doxywizard) that should identify the
+# project for which the documentation is generated. This name is used in the
+# title of most generated pages and in a few other places.
+# The default value is: My Project.
+
+PROJECT_NAME = "EPICS Base"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
+# could be handy for archiving the generated documentation or if some version
+# control system is used.
+
+PROJECT_NUMBER = @EPICS_VERSION@.@EPICS_REVISION@.@EPICS_MODIFICATION@.@EPICS_PATCH_LEVEL@
+
+# Using the PROJECT_BRIEF tag one can provide an optional one line description
+# for a project that appears at the top of each page and should give viewer a
+# quick idea about the purpose of the project. Keep the description short.
+
+PROJECT_BRIEF =
+
+# With the PROJECT_LOGO tag one can specify an logo or icon that is included in
+# the documentation. The maximum height of the logo should not exceed 55 pixels
+# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo
+# to the output directory.
+
+PROJECT_LOGO =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
+# into which the generated documentation will be written. If a relative path is
+# entered, it will be relative to the location where doxygen was started. If
+# left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = .
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
+# directories (in 2 levels) under the output directory of each output format and
+# will distribute the generated files over these directories. Enabling this
+# option can be useful when feeding doxygen a huge amount of source files, where
+# putting all generated files in the same directory would otherwise causes
+# performance problems for the file system.
+# The default value is: NO.
+
+CREATE_SUBDIRS = NO
+
+# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
+# characters to appear in the names of generated files. If set to NO, non-ASCII
+# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
+# U+3044.
+# The default value is: NO.
+
+ALLOW_UNICODE_NAMES = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
+# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
+# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
+# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
+# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
+# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
+# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
+# Ukrainian and Vietnamese.
+# The default value is: English.
+
+OUTPUT_LANGUAGE = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member
+# descriptions after the members that are listed in the file and class
+# documentation (similar to Javadoc). Set to NO to disable this.
+# The default value is: YES.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief
+# description of a member or function before the detailed description
+#
+# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+# The default value is: YES.
+
+REPEAT_BRIEF = NO
+
+# This tag implements a quasi-intelligent brief description abbreviator that is
+# used to form the text in various listings. Each string in this list, if found
+# as the leading text of the brief description, will be stripped from the text
+# and the result, after processing the whole list, is used as the annotated
+# text. Otherwise, the brief description is used as-is. If left blank, the
+# following values are used ($name is automatically replaced with the name of
+# the entity):The $name class, The $name widget, The $name file, is, provides,
+# specifies, contains, represents, a, an and the.
+
+ABBREVIATE_BRIEF = "The $name class" \
+ "The $name widget" \
+ "The $name file" \
+ is \
+ provides \
+ specifies \
+ contains \
+ represents \
+ a \
+ an \
+ the
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# doxygen will generate a detailed section even if there is only a brief
+# description.
+# The default value is: NO.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+# The default value is: NO.
+
+INLINE_INHERITED_MEMB = YES
+
+# If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path
+# before files name in the file list and in the header files. If set to NO the
+# shortest path that makes the file name unique will be used
+# The default value is: YES.
+
+FULL_PATH_NAMES = YES
+
+# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
+# Stripping is only done if one of the specified strings matches the left-hand
+# part of the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the path to
+# strip.
+#
+# Note that you can specify absolute paths here, but also relative paths, which
+# will be relative from the directory where doxygen is started.
+# This tag requires that the tag FULL_PATH_NAMES is set to YES.
+
+STRIP_FROM_PATH = @TOP@/include \
+ ..
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
+# path mentioned in the documentation of a class, which tells the reader which
+# header file to include in order to use a class. If left blank only the name of
+# the header file containing the class definition is used. Otherwise one should
+# specify the list of include paths that are normally passed to the compiler
+# using the -I flag.
+
+STRIP_FROM_INC_PATH = @TOP@/include \
+ ..
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
+# less readable) file names. This can be useful is your file systems doesn't
+# support long names like on DOS, Mac, or CD-ROM.
+# The default value is: NO.
+
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
+# first line (until the first dot) of a Javadoc-style comment as the brief
+# description. If set to NO, the Javadoc-style will behave just like regular Qt-
+# style comments (thus requiring an explicit @brief command for a brief
+# description.)
+# The default value is: NO.
+
+JAVADOC_AUTOBRIEF = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
+# line (until the first dot) of a Qt-style comment as the brief description. If
+# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
+# requiring an explicit \brief command for a brief description.)
+# The default value is: NO.
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
+# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
+# a brief description. This used to be the default behavior. The new default is
+# to treat a multi-line C++ comment block as a detailed description. Set this
+# tag to YES if you prefer the old behavior instead.
+#
+# Note that setting this tag to YES also means that rational rose comments are
+# not recognized any more.
+# The default value is: NO.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
+# documentation from any documented member that it re-implements.
+# The default value is: YES.
+
+INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a
+# new page for each member. If set to NO, the documentation of a member will be
+# part of the file/class/namespace that contains it.
+# The default value is: NO.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
+# uses this value to replace tabs by spaces in code fragments.
+# Minimum value: 1, maximum value: 16, default value: 4.
+
+TAB_SIZE = 8
+
+# This tag can be used to specify a number of aliases that act as commands in
+# the documentation. An alias has the form:
+# name=value
+# For example adding
+# "sideeffect=@par Side Effects:\n"
+# will allow you to put the command \sideeffect (or @sideeffect) in the
+# documentation, which will result in a user-defined paragraph with heading
+# "Side Effects:". You can put \n's in the value part of an alias to insert
+# newlines.
+
+ALIASES =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C. For
+# instance, some of the names that are used will be different. The list of all
+# members will be omitted, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
+# Python sources only. Doxygen will then generate output that is more tailored
+# for that language. For instance, namespaces will be presented as packages,
+# qualified scopes will look different, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources. Doxygen will then generate output that is tailored for Fortran.
+# The default value is: NO.
+
+OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for VHDL.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_VHDL = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it
+# parses. With this tag you can assign which parser to use for a given
+# extension. Doxygen has a built-in mapping, but you can override or extend it
+# using this tag. The format is ext=language, where ext is a file extension, and
+# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
+# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
+# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
+# Fortran. In the later case the parser tries to guess whether the code is fixed
+# or free formatted code, this is the default for Fortran type files), VHDL. For
+# instance to make doxygen treat .inc files as Fortran files (default is PHP),
+# and .f files as C (default is Fortran), use: inc=Fortran f=C.
+#
+# Note For files without extension you can use no_extension as a placeholder.
+#
+# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
+# the files are not read by doxygen.
+
+EXTENSION_MAPPING =
+
+# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
+# according to the Markdown format, which allows for more readable
+# documentation. See http://daringfireball.net/projects/markdown/ for details.
+# The output of markdown processing is further processed by doxygen, so you can
+# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
+# case of backward compatibilities issues.
+# The default value is: YES.
+
+MARKDOWN_SUPPORT = YES
+
+# When enabled doxygen tries to link words that correspond to documented
+# classes, or namespaces to their corresponding documentation. Such a link can
+# be prevented in individual cases by by putting a % sign in front of the word
+# or globally by setting AUTOLINK_SUPPORT to NO.
+# The default value is: YES.
+
+AUTOLINK_SUPPORT = YES
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should set this
+# tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string);
+# versus func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+# The default value is: NO.
+
+BUILTIN_STL_SUPPORT = YES
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+# The default value is: NO.
+
+CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
+# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
+# will parse them like normal C++ but will assume all classes use public instead
+# of private inheritance when no explicit protection keyword is present.
+# The default value is: NO.
+
+SIP_SUPPORT = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate
+# getter and setter methods for a property. Setting this option to YES will make
+# doxygen to replace the get and set methods by a property in the documentation.
+# This will only work if the methods are indeed getting or setting a simple
+# type. If this is not the case, or you want to show the methods anyway, you
+# should set this option to NO.
+# The default value is: YES.
+
+IDL_PROPERTY_SUPPORT = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+# The default value is: NO.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# Set the SUBGROUPING tag to YES to allow class member groups of the same type
+# (for instance a group of public functions) to be put as a subgroup of that
+# type (e.g. under the Public Functions section). Set it to NO to prevent
+# subgrouping. Alternatively, this can be done per class using the
+# \nosubgrouping command.
+# The default value is: YES.
+
+SUBGROUPING = YES
+
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
+# are shown inside the group in which they are included (e.g. using \ingroup)
+# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
+# and RTF).
+#
+# Note that this feature does not work in combination with
+# SEPARATE_MEMBER_PAGES.
+# The default value is: NO.
+
+INLINE_GROUPED_CLASSES = NO
+
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
+# with only public data fields or simple typedef fields will be shown inline in
+# the documentation of the scope in which they are defined (i.e. file,
+# namespace, or group documentation), provided this scope is documented. If set
+# to NO, structs, classes, and unions are shown on a separate page (for HTML and
+# Man pages) or section (for LaTeX and RTF).
+# The default value is: NO.
+
+INLINE_SIMPLE_STRUCTS = NO
+
+# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
+# enum is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically be
+# useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+# The default value is: NO.
+
+TYPEDEF_HIDES_STRUCT = YES
+
+# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
+# cache is used to resolve symbols given their name and scope. Since this can be
+# an expensive process and often the same symbol appears multiple times in the
+# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
+# doxygen will become slower. If the cache is too large, memory is wasted. The
+# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
+# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
+# symbols. At the end of a run doxygen will report the cache usage and suggest
+# the optimal cache size from a speed point of view.
+# Minimum value: 0, maximum value: 9, default value: 0.
+
+LOOKUP_CACHE_SIZE = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available. Private
+# class members and static file members will be hidden unless the
+# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
+# Note: This will also disable the warnings about undocumented members that are
+# normally produced when WARNINGS is set to YES.
+# The default value is: NO.
+
+EXTRACT_ALL = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will
+# be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PRIVATE = NO
+
+# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
+# scope will be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PACKAGE = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file will be
+# included in the documentation.
+# The default value is: NO.
+
+EXTRACT_STATIC = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined
+# locally in source files will be included in the documentation. If set to NO
+# only classes defined in header files are included. Does not have any effect
+# for Java sources.
+# The default value is: YES.
+
+EXTRACT_LOCAL_CLASSES = NO
+
+# This flag is only useful for Objective-C code. When set to YES local methods,
+# which are defined in the implementation section but not in the interface are
+# included in the documentation. If set to NO only methods in the interface are
+# included.
+# The default value is: NO.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base name of
+# the file that contains the anonymous namespace. By default anonymous namespace
+# are hidden.
+# The default value is: NO.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
+# undocumented members inside documented classes or files. If set to NO these
+# members will be included in the various overviews, but no documentation
+# section is generated. This option has no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy. If set
+# to NO these classes will be included in the various overviews. This option has
+# no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
+# (class|struct|union) declarations. If set to NO these declarations will be
+# included in the documentation.
+# The default value is: NO.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
+# documentation blocks found inside the body of a function. If set to NO these
+# blocks will be appended to the function's detailed documentation block.
+# The default value is: NO.
+
+HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation that is typed after a
+# \internal command is included. If the tag is set to NO then the documentation
+# will be excluded. Set it to YES to include the internal documentation.
+# The default value is: NO.
+
+INTERNAL_DOCS = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
+# names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+# The default value is: system dependent.
+
+CASE_SENSE_NAMES = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
+# their full class and namespace scopes in the documentation. If set to YES the
+# scope will be hidden.
+# The default value is: NO.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
+# the files that are included by a file in the documentation of that file.
+# The default value is: YES.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
+# grouped member an include statement to the documentation, telling the reader
+# which file to include in order to use the member.
+# The default value is: NO.
+
+SHOW_GROUPED_MEMB_INC = NO
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
+# files with double quotes in the documentation rather than with sharp brackets.
+# The default value is: NO.
+
+FORCE_LOCAL_INCLUDES = NO
+
+# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
+# documentation for inline members.
+# The default value is: YES.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
+# (detailed) documentation of file and class members alphabetically by member
+# name. If set to NO the members will appear in declaration order.
+# The default value is: YES.
+
+SORT_MEMBER_DOCS = NO
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
+# descriptions of file, namespace and class members alphabetically by member
+# name. If set to NO the members will appear in declaration order. Note that
+# this will also influence the order of the classes in the class list.
+# The default value is: NO.
+
+SORT_BRIEF_DOCS = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
+# (brief and detailed) documentation of class members so that constructors and
+# destructors are listed first. If set to NO the constructors will appear in the
+# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
+# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
+# member documentation.
+# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
+# detailed member documentation.
+# The default value is: NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
+# of group names into alphabetical order. If set to NO the group names will
+# appear in their defined order.
+# The default value is: NO.
+
+SORT_GROUP_NAMES = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
+# fully-qualified names, including namespaces. If set to NO, the class list will
+# be sorted only by class name, not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the alphabetical
+# list.
+# The default value is: NO.
+
+SORT_BY_SCOPE_NAME = NO
+
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
+# type resolution of all parameters of a function it will reject a match between
+# the prototype and the implementation of a member function even if there is
+# only one candidate or it is obvious which candidate to choose by doing a
+# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
+# accept a match between prototype and implementation in such cases.
+# The default value is: NO.
+
+STRICT_PROTO_MATCHING = NO
+
+# The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the
+# todo list. This list is created by putting \todo commands in the
+# documentation.
+# The default value is: YES.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the
+# test list. This list is created by putting \test commands in the
+# documentation.
+# The default value is: YES.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug
+# list. This list is created by putting \bug commands in the documentation.
+# The default value is: YES.
+
+GENERATE_BUGLIST = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO)
+# the deprecated list. This list is created by putting \deprecated commands in
+# the documentation.
+# The default value is: YES.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional documentation
+# sections, marked by \if ... \endif and \cond
+# ... \endcond blocks.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
+# initial value of a variable or macro / define can have for it to appear in the
+# documentation. If the initializer consists of more lines than specified here
+# it will be hidden. Use a value of 0 to hide initializers completely. The
+# appearance of the value of individual variables and macros / defines can be
+# controlled using \showinitializer or \hideinitializer command in the
+# documentation regardless of this setting.
+# Minimum value: 0, maximum value: 10000, default value: 30.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
+# the bottom of the documentation of classes and structs. If set to YES the list
+# will mention the files that were used to generate the documentation.
+# The default value is: YES.
+
+SHOW_USED_FILES = YES
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
+# will remove the Files entry from the Quick Index and from the Folder Tree View
+# (if specified).
+# The default value is: YES.
+
+SHOW_FILES = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
+# page. This will remove the Namespaces entry from the Quick Index and from the
+# Folder Tree View (if specified).
+# The default value is: YES.
+
+SHOW_NAMESPACES = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command command input-file, where command is the value of the
+# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
+# by doxygen. Whatever the program writes to standard output is used as the file
+# version. For an example see the documentation.
+
+FILE_VERSION_FILTER =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+# by doxygen. The layout file controls the global structure of the generated
+# output files in an output format independent way. To create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option. You can
+# optionally specify a file name after the option, if omitted DoxygenLayout.xml
+# will be used as the name of the layout file.
+#
+# Note that if you run doxygen from a directory containing a file called
+# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
+# tag is left empty.
+
+LAYOUT_FILE =
+
+# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
+# the reference definitions. This must be a list of .bib files. The .bib
+# extension is automatically appended if omitted. This requires the bibtex tool
+# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
+# For LaTeX the style of the bibliography can be controlled using
+# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
+# search path. See also \cite for info how to create references.
+
+CITE_BIB_FILES =
+
+#---------------------------------------------------------------------------
+# Configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated to
+# standard output by doxygen. If QUIET is set to YES this implies that the
+# messages are off.
+# The default value is: NO.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES
+# this implies that the warnings are on.
+#
+# Tip: Turn warnings on while writing the documentation.
+# The default value is: YES.
+
+WARNINGS = YES
+
+# If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate
+# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
+# will automatically be disabled.
+# The default value is: YES.
+
+WARN_IF_UNDOCUMENTED = NO
+
+# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some parameters
+# in a documented function, or documenting parameters that don't exist or using
+# markup commands wrongly.
+# The default value is: YES.
+
+WARN_IF_DOC_ERROR = YES
+
+# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
+# are documented, but have no documentation for their parameters or return
+# value. If set to NO doxygen will only warn about wrong or incomplete parameter
+# documentation, but not about the absence of documentation.
+# The default value is: NO.
+
+WARN_NO_PARAMDOC = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that doxygen
+# can produce. The string should contain the $file, $line, and $text tags, which
+# will be replaced by the file and line number from which the warning originated
+# and the warning text. Optionally the format may contain $version, which will
+# be replaced by the version of the file (if it could be obtained via
+# FILE_VERSION_FILTER)
+# The default value is: $file:$line: $text.
+
+WARN_FORMAT = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning and error
+# messages should be written. If left blank the output is written to standard
+# error (stderr).
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag is used to specify the files and/or directories that contain
+# documented source files. You may enter file names like myfile.cpp or
+# directories like /usr/src/myproject. Separate the files or directories with
+# spaces.
+# Note: If this tag is empty the current directory is searched.
+
+INPUT = ../mainpage.dox \
+ ../RELEASE_NOTES.md \
+ ../README.md \
+ ../RecordReference.md \
+ @TOP@/include
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
+# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
+# documentation (see: http://www.gnu.org/software/libiconv) for the list of
+# possible encodings.
+# The default value is: UTF-8.
+
+INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
+# *.h) to filter out the source-files in the directories. If left blank the
+# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
+# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
+# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
+# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
+# *.qsf, *.as and *.js.
+
+FILE_PATTERNS = *.h \
+ *.hpp \
+ *.md \
+ *.dox
+
+# The RECURSIVE tag can be used to specify whether or not subdirectories should
+# be searched for input files as well.
+# The default value is: NO.
+
+RECURSIVE = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should be
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+#
+# Note that relative paths are relative to the directory from which doxygen is
+# run.
+
+EXCLUDE = @TOP@/include/pv \
+ @TOP@/include/pva
+
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
+# directories that are symbolic links (a Unix file system feature) are excluded
+# from the input.
+# The default value is: NO.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories for example use the pattern */test/*
+
+EXCLUDE_PATTERNS = /O.*/
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories use the pattern */test/*
+
+EXCLUDE_SYMBOLS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or directories
+# that contain example code fragments that are included (see the \include
+# command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
+# *.h) to filter out the source-files in the directories. If left blank all
+# files are included.
+
+EXAMPLE_PATTERNS = *
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude commands
+# irrespective of the value of the RECURSIVE tag.
+# The default value is: NO.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or directories
+# that contain images that are to be included in the documentation (see the
+# \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command:
+#
+#
+#
+# where is the value of the INPUT_FILTER tag, and is the
+# name of an input file. Doxygen will then use the output that the filter
+# program writes to standard output. If FILTER_PATTERNS is specified, this tag
+# will be ignored.
+#
+# Note that the filter must not add or remove lines; it is applied before the
+# code is scanned, but not when the output code is generated. If lines are added
+# or removed, the anchors will not be placed correctly.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form: pattern=filter
+# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
+# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
+# patterns match the file name, INPUT_FILTER is applied.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER ) will also be used to filter the input files that are used for
+# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
+# The default value is: NO.
+
+FILTER_SOURCE_FILES = NO
+
+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
+# it is also possible to disable source filtering for a specific pattern using
+# *.ext= (so without naming a filter).
+# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
+
+FILTER_SOURCE_PATTERNS =
+
+# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
+# is part of the input, its contents will be placed on the main page
+# (index.html). This can be useful if you have a project on for instance GitHub
+# and want to reuse the introduction page also for the doxygen output.
+
+USE_MDFILE_AS_MAINPAGE =
+
+#---------------------------------------------------------------------------
+# Configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
+# generated. Documented entities will be cross-referenced with these sources.
+#
+# Note: To get rid of all source code in the generated output, make sure that
+# also VERBATIM_HEADERS is set to NO.
+# The default value is: NO.
+
+SOURCE_BROWSER = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body of functions,
+# classes and enums directly into the documentation.
+# The default value is: NO.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
+# special comment blocks from generated source code fragments. Normal C, C++ and
+# Fortran comments will always remain visible.
+# The default value is: YES.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
+# function all documented functions referencing it will be listed.
+# The default value is: NO.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES then for each documented function
+# all documented entities called/used by that function will be listed.
+# The default value is: NO.
+
+REFERENCES_RELATION = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
+# to YES, then the hyperlinks from functions in REFERENCES_RELATION and
+# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
+# link to the documentation.
+# The default value is: YES.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
+# source code will show a tooltip with additional information such as prototype,
+# brief description and links to the definition and documentation. Since this
+# will make the HTML file larger and loading of large files a bit slower, you
+# can opt to disable this feature.
+# The default value is: YES.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+SOURCE_TOOLTIPS = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code will
+# point to the HTML generated by the htags(1) tool instead of doxygen built-in
+# source browser. The htags tool is part of GNU's global source tagging system
+# (see http://www.gnu.org/software/global/global.html). You will need version
+# 4.8.6 or higher.
+#
+# To use it do the following:
+# - Install the latest version of global
+# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
+# - Make sure the INPUT points to the root of the source tree
+# - Run doxygen as normal
+#
+# Doxygen will invoke htags (and that will in turn invoke gtags), so these
+# tools must be available from the command line (i.e. in the search path).
+#
+# The result: instead of the source browser generated by doxygen, the links to
+# source code will now point to the output of htags.
+# The default value is: NO.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
+# verbatim copy of the header file for each class for which an include is
+# specified. Set to NO to disable this.
+# See also: Section \class.
+# The default value is: YES.
+
+VERBATIM_HEADERS = YES
+
+# If the CLANG_ASSISTED_PARSING tag is set to YES, then doxygen will use the
+# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the
+# cost of reduced performance. This can be particularly helpful with template
+# rich C++ code for which doxygen's built-in parser lacks the necessary type
+# information.
+# Note: The availability of this option depends on whether or not doxygen was
+# compiled with the --with-libclang option.
+# The default value is: NO.
+
+CLANG_ASSISTED_PARSING = NO
+
+# If clang assisted parsing is enabled you can provide the compiler with command
+# line options that you would normally use when invoking the compiler. Note that
+# the include paths will already be set by doxygen for the files and directories
+# specified with INPUT and INCLUDE_PATH.
+# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
+
+CLANG_OPTIONS =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
+# compounds will be generated. Enable this if the project contains a lot of
+# classes, structs, unions or interfaces.
+# The default value is: YES.
+
+ALPHABETICAL_INDEX = YES
+
+# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
+# which the alphabetical index list will be split.
+# Minimum value: 1, maximum value: 20, default value: 5.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all classes will
+# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
+# can be used to specify a prefix (or a list of prefixes) that should be ignored
+# while generating the index headers.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output
+# The default value is: YES.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_OUTPUT = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
+# generated HTML page (for example: .htm, .php, .asp).
+# The default value is: .html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
+# each generated HTML page. If the tag is left blank doxygen will generate a
+# standard header.
+#
+# To get valid HTML the header file that includes any scripts and style sheets
+# that doxygen needs, which is dependent on the configuration options used (e.g.
+# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
+# default header using
+# doxygen -w html new_header.html new_footer.html new_stylesheet.css
+# YourConfigFile
+# and then modify the file new_header.html. See also section "Doxygen usage"
+# for information on how to generate the default header that doxygen normally
+# uses.
+# Note: The header is subject to change so you typically have to regenerate the
+# default header when upgrading to a newer version of doxygen. For a description
+# of the possible markers and block names see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
+# generated HTML page. If the tag is left blank doxygen will generate a standard
+# footer. See HTML_HEADER for more information on how to generate a default
+# footer and what special commands can be used inside the footer. See also
+# section "Doxygen usage" for information on how to generate the default footer
+# that doxygen normally uses.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
+# sheet that is used by each HTML page. It can be used to fine-tune the look of
+# the HTML output. If left blank doxygen will generate a default style sheet.
+# See also section "Doxygen usage" for information on how to generate the style
+# sheet that doxygen normally uses.
+# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
+# it is more robust and this tag (HTML_STYLESHEET) will in the future become
+# obsolete.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_STYLESHEET =
+
+# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# cascading style sheets that are included after the standard style sheets
+# created by doxygen. Using this option one can overrule certain style aspects.
+# This is preferred over using HTML_STYLESHEET since it does not replace the
+# standard style sheet and is therefor more robust against future updates.
+# Doxygen will copy the style sheet files to the output directory.
+# Note: The order of the extra stylesheet files is of importance (e.g. the last
+# stylesheet in the list overrules the setting of the previous ones in the
+# list). For an example see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_EXTRA_STYLESHEET =
+
+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the HTML output directory. Note
+# that these files will be copied to the base HTML output directory. Use the
+# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
+# files will be copied as-is; there are no commands or markers available.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_EXTRA_FILES =
+
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
+# will adjust the colors in the stylesheet and background images according to
+# this color. Hue is specified as an angle on a colorwheel, see
+# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
+# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
+# purple, and 360 is red again.
+# Minimum value: 0, maximum value: 359, default value: 220.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_HUE = 220
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
+# in the HTML output. For a value of 0 the output will use grayscales only. A
+# value of 255 will produce the most vivid colors.
+# Minimum value: 0, maximum value: 255, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_SAT = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
+# luminance component of the colors in the HTML output. Values below 100
+# gradually make the output lighter, whereas values above 100 make the output
+# darker. The value divided by 100 is the actual gamma applied, so 80 represents
+# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
+# change the gamma.
+# Minimum value: 40, maximum value: 240, default value: 80.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_GAMMA = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting this
+# to NO can help when comparing the output of multiple runs.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_TIMESTAMP = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_DYNAMIC_SECTIONS = NO
+
+# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
+# shown in the various tree structured indices initially; the user can expand
+# and collapse entries dynamically later on. Doxygen will expand the tree to
+# such a level that at most the specified number of entries are visible (unless
+# a fully collapsed tree already exceeds this amount). So setting the number of
+# entries 1 will produce a full collapsed tree by default. 0 is a special value
+# representing an infinite number of entries and will result in a full expanded
+# tree by default.
+# Minimum value: 0, maximum value: 9999, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_INDEX_NUM_ENTRIES = 100
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files will be
+# generated that can be used as input for Apple's Xcode 3 integrated development
+# environment (see: http://developer.apple.com/tools/xcode/), introduced with
+# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
+# Makefile in the HTML output directory. Running make will produce the docset in
+# that directory and running make install will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
+# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+# for more information.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_DOCSET = NO
+
+# This tag determines the name of the docset feed. A documentation feed provides
+# an umbrella under which multiple documentation sets from a single provider
+# (such as a company or product suite) can be grouped.
+# The default value is: Doxygen generated docs.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_FEEDNAME = "Doxygen generated docs"
+
+# This tag specifies a string that should uniquely identify the documentation
+# set bundle. This should be a reverse domain-name style string, e.g.
+# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_BUNDLE_ID = org.doxygen.Project
+
+# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
+# the documentation publisher. This should be a reverse domain-name style
+# string, e.g. com.mycompany.MyDocSet.documentation.
+# The default value is: org.doxygen.Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_PUBLISHER_ID = org.doxygen.Publisher
+
+# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
+# The default value is: Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_PUBLISHER_NAME = Publisher
+
+# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
+# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
+# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
+# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
+# Windows.
+#
+# The HTML Help Workshop contains a compiler that can convert all HTML output
+# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
+# files are now used as the Windows 98 help format, and will replace the old
+# Windows help format (.hlp) on all Windows platforms in the future. Compressed
+# HTML files also contain an index, a table of contents, and you can search for
+# words in the documentation. The HTML workshop also contains a viewer for
+# compressed HTML files.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_HTMLHELP = NO
+
+# The CHM_FILE tag can be used to specify the file name of the resulting .chm
+# file. You can add a path in front of the file if the result should not be
+# written to the html output directory.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+CHM_FILE =
+
+# The HHC_LOCATION tag can be used to specify the location (absolute path
+# including file name) of the HTML help compiler ( hhc.exe). If non-empty
+# doxygen will try to run the HTML help compiler on the generated index.hhp.
+# The file has to be specified with full path.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+HHC_LOCATION =
+
+# The GENERATE_CHI flag controls if a separate .chi index file is generated (
+# YES) or that it should be included in the master .chm file ( NO).
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+GENERATE_CHI = NO
+
+# The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc)
+# and project file content.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+CHM_INDEX_ENCODING =
+
+# The BINARY_TOC flag controls whether a binary table of contents is generated (
+# YES) or a normal table of contents ( NO) in the .chm file. Furthermore it
+# enables the Previous and Next buttons.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members to
+# the table of contents of the HTML help documentation and to the tree view.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+TOC_EXPAND = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
+# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
+# (.qch) of the generated HTML documentation.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_QHP = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
+# the file name of the resulting .qch file. The path specified is relative to
+# the HTML output folder.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QCH_FILE =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
+# Project output. For more information please see Qt Help Project / Namespace
+# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_NAMESPACE = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
+# Help Project output. For more information please see Qt Help Project / Virtual
+# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
+# folders).
+# The default value is: doc.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_VIRTUAL_FOLDER = doc
+
+# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
+# filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+# filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_CUST_FILTER_NAME =
+
+# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+# filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_CUST_FILTER_ATTRS =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+# project's filter section matches. Qt Help Project / Filter Attributes (see:
+# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_SECT_FILTER_ATTRS =
+
+# The QHG_LOCATION tag can be used to specify the location of Qt's
+# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
+# generated .qhp file.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHG_LOCATION =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
+# generated, together with the HTML files, they form an Eclipse help plugin. To
+# install this plugin and make it available under the help contents menu in
+# Eclipse, the contents of the directory containing the HTML and XML files needs
+# to be copied into the plugins directory of eclipse. The name of the directory
+# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
+# After copying Eclipse needs to be restarted before the help appears.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_ECLIPSEHELP = NO
+
+# A unique identifier for the Eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have this
+# name. Each documentation set should have its own identifier.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
+
+ECLIPSE_DOC_ID = org.doxygen.Project
+
+# If you want full control over the layout of the generated HTML pages it might
+# be necessary to disable the index and replace it with your own. The
+# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
+# of each HTML page. A value of NO enables the index and the value YES disables
+# it. Since the tabs in the index contain the same information as the navigation
+# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+DISABLE_INDEX = NO
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information. If the tag
+# value is set to YES, a side panel will be generated containing a tree-like
+# index structure (just like the one that is generated for HTML Help). For this
+# to work a browser that supports JavaScript, DHTML, CSS and frames is required
+# (i.e. any modern browser). Windows users are probably better off using the
+# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
+# further fine-tune the look of the index. As an example, the default style
+# sheet generated by doxygen has an example that shows how to put an image at
+# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
+# the same information as the tab index, you could consider setting
+# DISABLE_INDEX to YES when enabling this option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_TREEVIEW = NO
+
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
+# doxygen will group on one line in the generated HTML documentation.
+#
+# Note that a value of 0 will completely suppress the enum values from appearing
+# in the overview section.
+# Minimum value: 0, maximum value: 20, default value: 4.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+ENUM_VALUES_PER_LINE = 4
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
+# to set the initial width (in pixels) of the frame in which the tree is shown.
+# Minimum value: 0, maximum value: 1500, default value: 250.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+TREEVIEW_WIDTH = 250
+
+# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to
+# external symbols imported via tag files in a separate window.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+EXT_LINKS_IN_WINDOW = NO
+
+# Use this tag to change the font size of LaTeX formulas included as images in
+# the HTML documentation. When you change the font size after a successful
+# doxygen run you need to manually remove any form_*.png images from the HTML
+# output directory to force them to be regenerated.
+# Minimum value: 8, maximum value: 50, default value: 10.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+FORMULA_FONTSIZE = 10
+
+# Use the FORMULA_TRANPARENT tag to determine whether or not the images
+# generated for formulas are transparent PNGs. Transparent PNGs are not
+# supported properly for IE 6.0, but are supported on all modern browsers.
+#
+# Note that when changing this option you need to delete any form_*.png files in
+# the HTML output directory before the changes have effect.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+FORMULA_TRANSPARENT = YES
+
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
+# http://www.mathjax.org) which uses client side Javascript for the rendering
+# instead of using prerendered bitmaps. Use this if you do not have LaTeX
+# installed or if you want to formulas look prettier in the HTML output. When
+# enabled you may also need to install MathJax separately and configure the path
+# to it using the MATHJAX_RELPATH option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+USE_MATHJAX = NO
+
+# When MathJax is enabled you can set the default output format to be used for
+# the MathJax output. See the MathJax site (see:
+# http://docs.mathjax.org/en/latest/output.html) for more details.
+# Possible values are: HTML-CSS (which is slower, but has the best
+# compatibility), NativeMML (i.e. MathML) and SVG.
+# The default value is: HTML-CSS.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_FORMAT = HTML-CSS
+
+# When MathJax is enabled you need to specify the location relative to the HTML
+# output directory using the MATHJAX_RELPATH option. The destination directory
+# should contain the MathJax.js script. For instance, if the mathjax directory
+# is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
+# Content Delivery Network so you can quickly see the result without installing
+# MathJax. However, it is strongly recommended to install a local copy of
+# MathJax from http://www.mathjax.org before deployment.
+# The default value is: http://cdn.mathjax.org/mathjax/latest.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
+
+# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
+# extension names that should be enabled during MathJax rendering. For example
+# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_EXTENSIONS =
+
+# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
+# of code that will be used on startup of the MathJax code. See the MathJax site
+# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
+# example see the documentation.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_CODEFILE =
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
+# the HTML output. The underlying search engine uses javascript and DHTML and
+# should work on any modern browser. Note that when using HTML help
+# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
+# there is already a search function so this one should typically be disabled.
+# For large projects the javascript based search engine can be slow, then
+# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
+# search using the keyboard; to jump to the search box use + S
+# (what the is depends on the OS and browser, but it is typically
+# , /
The Release Process
+
Full Process
+
The version released on the Feature Freeze date is designated the first
-pre-release, -pre1. The first Release Candidate -rc1 is the
-first version that has undergone widespread testing and which has no known
-problems in it that are slated to be fixed in this release. New versions should
-be made at 2-weekly intervals during the testing and debugging period, and will
-be designated as either pre-release versions or Release Candidates by the
-Release Manager. After a Release Candidate has been available to the whole
-community for testing for at least a week without any additional problems being
-reported or significant changes being committed, the branch can be designated as
-the final release version.
+pre-release, -pre1. The first release candidate -rc1 is the
+first version that has undergone testing by the developers and has shown no
+problems that must be fixed before release. New versions should be made at about
+2-weekly intervals after the -pre1 release, and designated as either
+pre-release or release candidate versions by the Release Manager. Release
+candidates are announced to the whole community via the tech-talk mailing list,
+pre-releases are announced to to the developers via the core-talk list. After a
+release candidate has been available for 2 weeks without any new problems being
+reported or major changes having to be committed, the final release can be
+made.
+
+
Short Process for Patch Releases
+
+
The Patch Release date and its scope are agreed upon a few weeks ahead of the
+release. If no blocking issues are raised, the release is made by the Release
+Manager on or as soon as possible after that date, following the steps below
+starting at Release Approval.
Roles
-
The following roles are required. The individuals named here have have been
-responsible for these tasks in the past and are expected to continue in the
-relevent roles unless the Release Manager designates otherwise:
+
The following roles are used below:
-
Release Manager (Ralph Lange)
+
Release Manager ()
Responsible for managing and tagging the release
Platform Developers (optional)
Responsible for individual operating system platforms
@@ -65,6 +73,7 @@
Roles
Responsible for the EPICS website
+
diff --git a/documentation/commit-gh.sh b/documentation/commit-gh.sh
new file mode 100755
index 000000000..d630165d2
--- /dev/null
+++ b/documentation/commit-gh.sh
@@ -0,0 +1,45 @@
+#!/bin/sh
+set -e -x
+# Usage: commit-gh
+#
+# Creates a commit containing only the files in the sub-directory provided as an argument
+#
+# Does not disturb the working copy or index
+
+prefix="$1"
+shift
+
+# Commit to this branch
+BRANCH=refs/heads/gh-pages
+
+# Use the main branch description as the gh-pages commit message
+MSG=`git describe --tags --always`
+
+# Scratch space
+TDIR=`mktemp -d -p $PWD`
+
+# Automatic cleanup of scratch space
+trap 'rm -rf $TDIR' INT TERM QUIT EXIT
+
+export GIT_INDEX_FILE="$TDIR/index"
+
+# Add listed files to a new (empty) index
+git update-index --add "$@"
+
+# Write the index into the repo, get tree hash
+TREE=`git write-tree --prefix="$prefix"`
+
+echo "TREE $TREE"
+git cat-file -p $TREE
+
+# Create a commit with our new tree
+# Reference current branch head as parent (if any)
+CMT=`git commit-tree -m "$MSG" $TREE`
+
+echo "COMMIT $CMT"
+git cat-file -p $CMT
+
+# Update the branch with the new commit tree hash
+git update-ref $BRANCH $CMT
+
+echo "Done"
diff --git a/documentation/mainpage.dox b/documentation/mainpage.dox
new file mode 100644
index 000000000..472f1d999
--- /dev/null
+++ b/documentation/mainpage.dox
@@ -0,0 +1,15 @@
+/**
+@mainpage EPICS Base
+
+Documentation index
+
+@li @ref releasenotes
+@li @ref install
+@li @ref recordrefmanual
+@li Channel Access Reference Manual
+@li Server Side Filters Reference
+@li msi: Macro Substitution and Include Tool
+@li JSON Link Types
+@li Perl 5 Interface to Channel Access
+
+*/
diff --git a/modules/CONFIG_SITE.local b/modules/CONFIG_SITE.local
new file mode 100644
index 000000000..db97a5b78
--- /dev/null
+++ b/modules/CONFIG_SITE.local
@@ -0,0 +1,13 @@
+#*************************************************************************
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+# The name our submodules know us by:
+PARENT_MODULE = EPICS_BASE
+
+# When building submodules, this should always be true:
+INSTALL_LOCATION := $($(PARENT_MODULE))
+
+# Stop submodules installing their configure/ files into our area
+CONFIG_INSTALLS =
diff --git a/modules/Makefile b/modules/Makefile
new file mode 100644
index 000000000..ae221dead
--- /dev/null
+++ b/modules/Makefile
@@ -0,0 +1,43 @@
+#*************************************************************************
+# EPICS BASE is distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+
+TOP = ..
+include $(TOP)/configure/CONFIG
+include CONFIG_SITE.local
+
+DIRS += libcom
+
+DIRS += ca
+ca_DEPEND_DIRS = libcom
+
+DIRS += database
+database_DEPEND_DIRS = ca
+
+# Submodules for bundle build
+SUBMODULES += pvData
+pvData_DEPEND_DIRS = libcom
+
+SUBMODULES += pvAccess
+pvAccess_DEPEND_DIRS = pvData database
+
+SUBMODULES += normativeTypes
+normativeTypes_DEPEND_DIRS = pvData
+
+SUBMODULES += pvaClient
+pvaClient_DEPEND_DIRS = pvAccess normativeTypes
+
+SUBMODULES += pvDatabase
+pvDatabase_DEPEND_DIRS = pvAccess
+
+SUBMODULES += pva2pva
+pva2pva_DEPEND_DIRS = pvAccess
+
+SUBMODULES += example
+example_DEPEND_DIRS = pva2pva pvaClient
+
+# Allow sites to add extra submodules
+-include Makefile.local
+
+include $(TOP)/configure/RULES_MODULES
diff --git a/src/ca/legacy/pcas/example/Makefile b/modules/ca/Makefile
similarity index 67%
rename from src/ca/legacy/pcas/example/Makefile
rename to modules/ca/Makefile
index 9ec9d6b6a..8fde37827 100644
--- a/src/ca/legacy/pcas/example/Makefile
+++ b/modules/ca/Makefile
@@ -3,17 +3,13 @@
# 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.
#*************************************************************************
-TOP=../../../../..
-
+TOP = ../..
include $(TOP)/configure/CONFIG
-DIRS = directoryService
+DIRS += src
include $(TOP)/configure/RULES_DIRS
-
-
diff --git a/src/ioc/db/menuPini.dbd b/modules/ca/src/Makefile
similarity index 51%
rename from src/ioc/db/menuPini.dbd
rename to modules/ca/src/Makefile
index 96aca7298..335cec67e 100644
--- a/src/ioc/db/menuPini.dbd
+++ b/modules/ca/src/Makefile
@@ -1,16 +1,25 @@
#*************************************************************************
-# Copyright (c) 2009 UChicago Argonne LLC, as Operator of Argonne
+# Copyright (c) 2008 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 file LICENSE that is included with this distribution.
+# in the file LICENSE that is included with this distribution.
#*************************************************************************
-menu(menuPini) {
- choice(menuPiniNO,"NO")
- choice(menuPiniYES,"YES")
- choice(menuPiniRUN,"RUN")
- choice(menuPiniRUNNING,"RUNNING")
- choice(menuPiniPAUSE,"PAUSE")
- choice(menuPiniPAUSED,"PAUSED")
-}
+
+TOP = ../../..
+include $(TOP)/configure/CONFIG
+
+# Channel Access Client
+
+DIRS += client
+
+DIRS += tools
+tools_DEPEND_DIRS = client
+
+DIRS += perl
+perl_DEPEND_DIRS = client
+
+DIRS += template
+
+include $(TOP)/configure/RULES_DIRS
diff --git a/src/ca/client/CASG.cpp b/modules/ca/src/client/CASG.cpp
similarity index 96%
rename from src/ca/client/CASG.cpp
rename to modules/ca/src/client/CASG.cpp
index b2dbaac4d..811ea8f2b 100644
--- a/src/ca/client/CASG.cpp
+++ b/modules/ca/src/client/CASG.cpp
@@ -3,6 +3,7 @@
* National Laboratory.
* Copyright (c) 2002 The Regents of the University of California, as
* Operator of Los Alamos National Laboratory.
+* SPDX-License-Identifier: EPICS
* EPICS BASE is distributed subject to a Software License Agreement found
* in file LICENSE that is included with this distribution.
\*************************************************************************/
@@ -18,7 +19,6 @@
#include "errlog.h"
-#define epicsExportSharedSymbols
#include "iocinf.h"
#include "syncGroup.h"
#include "oldAccess.h"
@@ -209,23 +209,23 @@ bool CASG::ioComplete (
return this->ioPendingList.count () == 0u;
}
-void CASG::put ( epicsGuard < epicsMutex > & guard, chid pChan,
+void CASG::put ( epicsGuard < epicsMutex > & guard, chid pChan,
unsigned type, arrayElementCount count, const void * pValue )
{
guard.assertIdenticalMutex ( this->client.mutexRef() );
sgAutoPtr < syncGroupWriteNotify > pNotify ( guard, *this );
- pNotify = syncGroupWriteNotify::factory (
+ pNotify = syncGroupWriteNotify::factory (
this->freeListWriteOP, *this, & CASG :: recycleWriteNotifyIO, pChan );
pNotify->begin ( guard, type, count, pValue );
pNotify.release ();
}
-void CASG::get ( epicsGuard < epicsMutex > & guard, chid pChan,
+void CASG::get ( epicsGuard < epicsMutex > & guard, chid pChan,
unsigned type, arrayElementCount count, void *pValue )
{
guard.assertIdenticalMutex ( this->client.mutexRef() );
sgAutoPtr < syncGroupReadNotify > pNotify ( guard, *this );
- pNotify = syncGroupReadNotify::factory (
+ pNotify = syncGroupReadNotify::factory (
this->freeListReadOP, *this, & CASG :: recycleReadNotifyIO, pChan, pValue );
pNotify->begin ( guard, type, count );
pNotify.release ();
@@ -242,14 +242,14 @@ void CASG::completionNotify (
}
}
-void CASG :: recycleReadNotifyIO ( epicsGuard < epicsMutex > & guard,
+void CASG :: recycleReadNotifyIO ( epicsGuard < epicsMutex > & guard,
syncGroupReadNotify & io )
{
guard.assertIdenticalMutex ( this->client.mutexRef() );
this->freeListReadOP.release ( & io );
}
-void CASG :: recycleWriteNotifyIO ( epicsGuard < epicsMutex > & guard,
+void CASG :: recycleWriteNotifyIO ( epicsGuard < epicsMutex > & guard,
syncGroupWriteNotify & io )
{
guard.assertIdenticalMutex ( this->client.mutexRef() );
diff --git a/src/ca/client/CAref.html b/modules/ca/src/client/CAref.html
similarity index 99%
rename from src/ca/client/CAref.html
rename to modules/ca/src/client/CAref.html
index ef4df758e..7b6ff143f 100644
--- a/src/ca/client/CAref.html
+++ b/modules/ca/src/client/CAref.html
@@ -3,7 +3,7 @@
- EPICS R3.15 Channel Access Reference Manual
+ EPICS Channel Access 4.13.1 Reference Manual