Merge tag 'R7.0.5' into 7.0.5-troubleshoot
Some checks failed
Base / Win2019 MSC-19 (push) Has been cancelled
Base / Win2019 MSC-19, static (push) Has been cancelled
Base / Ub-20 clang-10 C++11 (push) Has been cancelled
Base / MacOS clang-12 (push) Has been cancelled
Base / Ub-20 gcc-9 C++11, static (push) Has been cancelled
Base / Ub-20 gcc-9 + MinGW, static (push) Has been cancelled
Base / Ub-16 gcc-4.8 (push) Has been cancelled
Base / Ub-20 gcc-8 (push) Has been cancelled
Base / Ub-16 clang-9 (push) Has been cancelled
Base / Ub-20 clang-10 (push) Has been cancelled
Base / Ub-20 gcc-9 + MinGW (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-4.10 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-4.9 (push) Has been cancelled
Base / Ub-16 gcc-4.9 (push) Has been cancelled
Some checks failed
Base / Win2019 MSC-19 (push) Has been cancelled
Base / Win2019 MSC-19, static (push) Has been cancelled
Base / Ub-20 clang-10 C++11 (push) Has been cancelled
Base / MacOS clang-12 (push) Has been cancelled
Base / Ub-20 gcc-9 C++11, static (push) Has been cancelled
Base / Ub-20 gcc-9 + MinGW, static (push) Has been cancelled
Base / Ub-16 gcc-4.8 (push) Has been cancelled
Base / Ub-20 gcc-8 (push) Has been cancelled
Base / Ub-16 clang-9 (push) Has been cancelled
Base / Ub-20 clang-10 (push) Has been cancelled
Base / Ub-20 gcc-9 + MinGW (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-4.10 (push) Has been cancelled
Base / Ub-20 gcc-9 + RT-4.9 (push) Has been cancelled
Base / Ub-16 gcc-4.9 (push) Has been cancelled
ANJ: Tagged for release Conflicts: configure/os/CONFIG_SITE.Common.linuxCommon
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
# .appveyor.yml for use with EPICS Base ci-scripts
|
||||
# (see: https://github.com/epics-base/ci-scripts)
|
||||
# Appveyor configuration file for EPICS Base 7 builds
|
||||
# (see also https://github.com/epics-base/ci-scripts)
|
||||
|
||||
# Version format
|
||||
version: base-{branch}-{build}
|
||||
@@ -29,9 +29,10 @@ clone_depth: 5
|
||||
skip_commits:
|
||||
files:
|
||||
- 'documentation/*'
|
||||
- 'startup/*'
|
||||
- '.github/*'
|
||||
- '**/*.html'
|
||||
- '**/*.md'
|
||||
- '.travis.yml'
|
||||
|
||||
#---------------------------------#
|
||||
# build matrix configuration #
|
||||
@@ -77,14 +78,17 @@ matrix:
|
||||
CMP: vs2012
|
||||
- platform: x64
|
||||
CMP: vs2010
|
||||
- platform: x64
|
||||
CMP: vs2008
|
||||
# Exclude more jobs to reduce build time
|
||||
# Skip 32-bit for "middle-aged" compilers
|
||||
- platform: x86
|
||||
CMP: vs2017
|
||||
- platform: x86
|
||||
CMP: vs2015
|
||||
# MinGW debug builds use the same libraries, unlike VS
|
||||
- configuration: dynamic-debug
|
||||
CMP: gcc
|
||||
- configuration: static-debug
|
||||
CMP: gcc
|
||||
|
||||
#---------------------------------#
|
||||
# building & testing #
|
||||
@@ -92,18 +96,23 @@ matrix:
|
||||
|
||||
install:
|
||||
- cmd: git submodule update --init --recursive
|
||||
- cmd: pip install git+https://github.com/mdavidsaver/ci-core-dumper#egg=ci-core-dumper
|
||||
- cmd: python .ci/cue.py prepare
|
||||
|
||||
build_script:
|
||||
- cmd: python .ci/cue.py build
|
||||
|
||||
test_script:
|
||||
- cmd: python -m ci_core_dumper install
|
||||
- cmd: python .ci/cue.py test
|
||||
|
||||
on_finish:
|
||||
- ps: Get-ChildItem *.tap -Recurse -Force | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
|
||||
- cmd: python .ci/cue.py build test-results -s
|
||||
|
||||
on_failure:
|
||||
- cmd: python -m ci_core_dumper report
|
||||
|
||||
#---------------------------------#
|
||||
# debugging #
|
||||
#---------------------------------#
|
||||
|
||||
150
.appveyor/epics-base-7.yml
Normal file
150
.appveyor/epics-base-7.yml
Normal file
@@ -0,0 +1,150 @@
|
||||
# Appveyor configuration file for EPICS Base 7 builds
|
||||
# (see also https://github.com/epics-base/ci-scripts)
|
||||
|
||||
# branches to build
|
||||
branches:
|
||||
# whitelist
|
||||
only:
|
||||
- 7.0
|
||||
- /R7\.0\.\d+.*/
|
||||
|
||||
# Version format
|
||||
version: base-{branch}-{build}
|
||||
|
||||
#---------------------------------#
|
||||
# build cache #
|
||||
#---------------------------------#
|
||||
# The AppVeyor cache allowance is way too small (1GB per account across all projects, branches and jobs)
|
||||
# to be used for the dependency builds.
|
||||
|
||||
cache:
|
||||
- C:\Users\appveyor\.tools
|
||||
|
||||
#---------------------------------#
|
||||
# repository cloning #
|
||||
#---------------------------------#
|
||||
|
||||
# Called at very beginning, before repo cloning
|
||||
init:
|
||||
# Set autocrlf to make batch files work
|
||||
- git config --global core.autocrlf true
|
||||
|
||||
# Set clone depth (do not fetch complete history)
|
||||
clone_depth: 5
|
||||
|
||||
# Skipping commits affecting only specific files
|
||||
skip_commits:
|
||||
files:
|
||||
- 'documentation/*'
|
||||
- 'startup/*'
|
||||
- '.github/*'
|
||||
- '**/*.html'
|
||||
- '**/*.md'
|
||||
|
||||
#---------------------------------#
|
||||
# build matrix configuration #
|
||||
#---------------------------------#
|
||||
|
||||
image: Visual Studio 2015
|
||||
|
||||
# Build Configurations: dll/static, regular/debug
|
||||
configuration:
|
||||
- dynamic
|
||||
- static
|
||||
- dynamic-debug
|
||||
- static-debug
|
||||
|
||||
# Environment variables: compiler toolchain, base version, setup file, ...
|
||||
environment:
|
||||
# common / default variables for all jobs
|
||||
SETUP_PATH: .ci-local:.ci
|
||||
BASE: SELF
|
||||
EPICS_TEST_IMPRECISE_TIMING: YES
|
||||
|
||||
matrix:
|
||||
- CMP: vs2019
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
||||
- CMP: vs2017
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
- CMP: vs2015
|
||||
- CMP: vs2013
|
||||
- CMP: vs2012
|
||||
- CMP: vs2010
|
||||
- CMP: gcc
|
||||
|
||||
# Platform: processor architecture
|
||||
platform:
|
||||
- x86
|
||||
- x64
|
||||
|
||||
# Matrix configuration: exclude sets of jobs
|
||||
matrix:
|
||||
exclude:
|
||||
# VS2012 and older installs don't have the 64 bit compiler
|
||||
- platform: x64
|
||||
CMP: vs2012
|
||||
- platform: x64
|
||||
CMP: vs2010
|
||||
# Exclude more jobs to reduce build time
|
||||
# Skip 32-bit for "middle-aged" compilers
|
||||
- platform: x86
|
||||
CMP: vs2017
|
||||
- platform: x86
|
||||
CMP: vs2015
|
||||
# MinGW debug builds use the same libraries, unlike VS
|
||||
- configuration: dynamic-debug
|
||||
CMP: gcc
|
||||
- configuration: static-debug
|
||||
CMP: gcc
|
||||
|
||||
#---------------------------------#
|
||||
# building & testing #
|
||||
#---------------------------------#
|
||||
|
||||
install:
|
||||
- cmd: git submodule update --init --recursive
|
||||
- cmd: pip install git+https://github.com/mdavidsaver/ci-core-dumper#egg=ci-core-dumper
|
||||
- cmd: python .ci/cue.py prepare
|
||||
|
||||
build_script:
|
||||
- cmd: python .ci/cue.py build
|
||||
|
||||
test_script:
|
||||
- cmd: python -m ci_core_dumper install
|
||||
- cmd: python .ci/cue.py test
|
||||
|
||||
on_finish:
|
||||
- ps: Get-ChildItem *.tap -Recurse -Force | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
|
||||
- cmd: python .ci/cue.py build test-results -s
|
||||
|
||||
on_failure:
|
||||
- cmd: python -m ci_core_dumper report
|
||||
|
||||
#---------------------------------#
|
||||
# debugging #
|
||||
#---------------------------------#
|
||||
|
||||
## if you want to connect by remote desktop to a failed build, uncomment these lines
|
||||
## note that you will need to connect within the usual build timeout limit (60 minutes)
|
||||
## so you may want to adjust the build matrix above to just build the one of interest
|
||||
|
||||
# print the connection info
|
||||
#init:
|
||||
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
||||
|
||||
# block a failed build (until the watchdog barks)
|
||||
#on_failure:
|
||||
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
||||
|
||||
#---------------------------------#
|
||||
# notifications #
|
||||
#---------------------------------#
|
||||
|
||||
notifications:
|
||||
|
||||
- provider: Email
|
||||
to:
|
||||
- core-talk@aps.anl.gov
|
||||
on_build_success: false
|
||||
|
||||
- provider: GitHubPullRequest
|
||||
2
.ci
2
.ci
Submodule .ci updated: 87942a7c29...3db08b5977
152
.github/workflows/ci-scripts-build.yml
vendored
Normal file
152
.github/workflows/ci-scripts-build.yml
vendored
Normal file
@@ -0,0 +1,152 @@
|
||||
# .github/workflows/ci-scripts-build.yml for use with EPICS Base ci-scripts
|
||||
# (see: https://github.com/epics-base/ci-scripts)
|
||||
|
||||
# This is YAML - indentation levels are crucial
|
||||
|
||||
# Workflow name, shared by all branches
|
||||
|
||||
name: Base
|
||||
|
||||
# Trigger on pushes and PRs to any branch
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- 'documentation/*'
|
||||
- 'startup/*'
|
||||
- '.appveyor/*'
|
||||
- '**/*.html'
|
||||
- '**/*.md'
|
||||
pull_request:
|
||||
|
||||
env:
|
||||
SETUP_PATH: .ci-local:.ci
|
||||
BASE: SELF
|
||||
EPICS_TEST_IMPRECISE_TIMING: YES
|
||||
|
||||
jobs:
|
||||
build-base:
|
||||
name: ${{ matrix.name }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
# Set environment variables from matrix parameters
|
||||
env:
|
||||
CMP: ${{ matrix.cmp }}
|
||||
BCFG: ${{ matrix.configuration }}
|
||||
WINE: ${{ matrix.wine }}
|
||||
RTEMS: ${{ matrix.rtems }}
|
||||
EXTRA: ${{ matrix.extra }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# Job names also name artifacts, character limitations apply
|
||||
include:
|
||||
- os: ubuntu-20.04
|
||||
cmp: gcc
|
||||
configuration: default
|
||||
wine: "64"
|
||||
name: "Ub-20 gcc-9 + MinGW"
|
||||
|
||||
- os: ubuntu-20.04
|
||||
cmp: gcc
|
||||
configuration: static
|
||||
wine: "64"
|
||||
name: "Ub-20 gcc-9 + MinGW, static"
|
||||
|
||||
- os: ubuntu-20.04
|
||||
cmp: gcc
|
||||
configuration: static
|
||||
extra: "CMD_CXXFLAGS=-std=c++11"
|
||||
name: "Ub-20 gcc-9 C++11, static"
|
||||
|
||||
- os: ubuntu-16.04
|
||||
cmp: clang
|
||||
configuration: default
|
||||
name: "Ub-16 clang-9"
|
||||
|
||||
- os: ubuntu-20.04
|
||||
cmp: clang
|
||||
configuration: default
|
||||
extra: "CMD_CXXFLAGS=-std=c++11"
|
||||
name: "Ub-20 clang-10 C++11"
|
||||
|
||||
- os: ubuntu-20.04
|
||||
cmp: gcc
|
||||
configuration: default
|
||||
rtems: "4.10"
|
||||
name: "Ub-20 gcc-9 + RT-4.10"
|
||||
|
||||
- os: ubuntu-20.04
|
||||
cmp: gcc
|
||||
configuration: default
|
||||
rtems: "4.9"
|
||||
name: "Ub-20 gcc-9 + RT-4.9"
|
||||
|
||||
- os: ubuntu-16.04
|
||||
cmp: gcc-4.8
|
||||
utoolchain: "4.8"
|
||||
configuration: default
|
||||
name: "Ub-16 gcc-4.8"
|
||||
|
||||
- os: ubuntu-16.04
|
||||
cmp: gcc-4.9
|
||||
utoolchain: "4.9"
|
||||
configuration: default
|
||||
name: "Ub-16 gcc-4.9"
|
||||
|
||||
- os: ubuntu-20.04
|
||||
cmp: gcc-8
|
||||
utoolchain: "8"
|
||||
configuration: default
|
||||
name: "Ub-20 gcc-8"
|
||||
|
||||
- os: ubuntu-20.04
|
||||
cmp: clang
|
||||
configuration: default
|
||||
name: "Ub-20 clang-10"
|
||||
|
||||
- os: macos-latest
|
||||
cmp: clang
|
||||
configuration: default
|
||||
name: "MacOS clang-12"
|
||||
|
||||
- os: windows-2019
|
||||
cmp: vs2019
|
||||
configuration: default
|
||||
name: "Win2019 MSC-19"
|
||||
|
||||
- os: windows-2019
|
||||
cmp: vs2019
|
||||
configuration: static
|
||||
name: "Win2019 MSC-19, static"
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
- name: Automatic core dumper analysis
|
||||
uses: mdavidsaver/ci-core-dumper@master
|
||||
- name: "apt-get install"
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install qemu-system-x86 g++-mingw-w64-x86-64 gdb
|
||||
if: runner.os == 'Linux'
|
||||
- name: "apt-get install ${{ matrix.cmp }}"
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install software-properties-common
|
||||
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install g++-${{ matrix.utoolchain }}
|
||||
if: matrix.utoolchain
|
||||
- name: Prepare and compile dependencies
|
||||
run: python .ci/cue.py prepare
|
||||
- name: Build main module
|
||||
run: python .ci/cue.py build
|
||||
- name: Run main module tests
|
||||
run: python .ci/cue.py test
|
||||
- name: Upload tapfiles Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: tapfiles ${{ matrix.name }}
|
||||
path: '**/O.*/*.tap'
|
||||
- name: Collect and show test results
|
||||
run: python .ci/cue.py test-results
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -11,6 +11,8 @@
|
||||
/modules/Makefile.local
|
||||
O.*/
|
||||
/QtC-*
|
||||
/.vscode/
|
||||
*.orig
|
||||
*.log
|
||||
.*.swp
|
||||
.DS_Store
|
||||
|
||||
102
.tools/adjustver.py
Executable file
102
.tools/adjustver.py
Executable file
@@ -0,0 +1,102 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import logging
|
||||
import sys
|
||||
import re
|
||||
from io import StringIO
|
||||
|
||||
_log = logging.getLogger(__name__)
|
||||
|
||||
def main(args):
|
||||
logging.basicConfig(level=args.level)
|
||||
|
||||
if args.dev is True:
|
||||
actions=[
|
||||
('DEVELOPMENT_FLAG', '1'),
|
||||
('DEV_SNAPSHOT', '-DEV'),
|
||||
]
|
||||
|
||||
elif args.dev is False:
|
||||
actions=[
|
||||
('DEVELOPMENT_FLAG', '0'),
|
||||
('DEV_SNAPSHOT', ''),
|
||||
]
|
||||
|
||||
elif args.version:
|
||||
M=re.match(r'R?(\d+).(\d+).(\d+)(?:.(\d+))?(-.*)?', args.version)
|
||||
actions=[
|
||||
('SITE_VERSION', None),
|
||||
('SHORT_VERSION', None),
|
||||
|
||||
('MINOR_VERSION', M[2]),
|
||||
('REVISION', M[2]),
|
||||
|
||||
('MODIFICATION', M[3]),
|
||||
('MAINTENANCE_VERSION', M[3]),
|
||||
|
||||
('PATCH_LEVEL', M[4] or '0'),
|
||||
|
||||
('DEVELOPMENT_FLAG', '1' if (M[5] or '').upper().endswith('-DEV') else '0'),
|
||||
('DEV_SNAPSHOT', M[5] or ''),
|
||||
|
||||
('MAJOR_VERSION', M[1]),
|
||||
('VERSION', M[1]), # plain _VERSION must be last to resolve ambiguity
|
||||
]
|
||||
|
||||
elif args.dry_run:
|
||||
_log.debug('Print existing')
|
||||
for fname in args.conf:
|
||||
print('# ', fname)
|
||||
with open(fname, 'r') as F:
|
||||
sys.stdout.write(F.read())
|
||||
return
|
||||
|
||||
else:
|
||||
print('One of --version, --release, --dev, or --dry-run is required')
|
||||
sys.exit(1)
|
||||
|
||||
for name, val in actions:
|
||||
_log.debug('Pattern "%s" -> "%s"', name, val)
|
||||
|
||||
for fname in args.conf:
|
||||
OUT=StringIO()
|
||||
|
||||
with open(fname, 'r') as F:
|
||||
for line in F:
|
||||
_log.debug('Line: %s', repr(line))
|
||||
for name, val in actions:
|
||||
M = re.match(r'(\s*[A-Z_]+' + name + r'\s*=[\t ]*)(\S*)(\s*)', line)
|
||||
if M and val is None:
|
||||
_log.debug('Ignore')
|
||||
OUT.write(line)
|
||||
break
|
||||
elif M:
|
||||
_log.debug(' Match %s -> %s', M.re.pattern, M.groups())
|
||||
OUT.write(M[1]+val+M[3])
|
||||
break
|
||||
else:
|
||||
_log.debug('No match')
|
||||
OUT.write(line)
|
||||
|
||||
if args.dry_run:
|
||||
print('# ', fname)
|
||||
print(OUT.getvalue())
|
||||
else:
|
||||
with open(fname, 'w') as F:
|
||||
F.write(OUT.getvalue())
|
||||
|
||||
def getargs():
|
||||
from argparse import ArgumentParser
|
||||
P = ArgumentParser()
|
||||
P.add_argument('-n','--dry-run', action='store_true', default=False)
|
||||
P.add_argument('-d','--debug', dest='level', action='store_const',
|
||||
const=logging.DEBUG, default=logging.INFO)
|
||||
P.add_argument('-V', '--version', help='A version in R1.2.3-xyz or 1.2.3 form')
|
||||
P.add_argument('-D', '--dev', action='store_true', default=None)
|
||||
P.add_argument('-R', '--release', dest='dev', action='store_false')
|
||||
P.add_argument('conf', nargs='+',
|
||||
help='A configure/CONFIG_*_VERSION file name')
|
||||
return P
|
||||
|
||||
if __name__=='__main__':
|
||||
main(getargs().parse_args())
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Make tar for git repo w/ one level of sub modules.
|
||||
#
|
||||
set -e -u
|
||||
set -e
|
||||
|
||||
die() {
|
||||
echo "$1" >&2
|
||||
|
||||
91
.travis.yml
91
.travis.yml
@@ -1,91 +0,0 @@
|
||||
# .travis.yml for use with EPICS Base ci-scripts
|
||||
# (see: https://github.com/epics-base/ci-scripts)
|
||||
|
||||
language: cpp
|
||||
compiler: gcc
|
||||
dist: xenial
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.cache
|
||||
|
||||
env:
|
||||
global:
|
||||
- SETUP_PATH=.ci-local:.ci
|
||||
- BASE=SELF
|
||||
- EPICS_TEST_IMPRECISE_TIMING=YES
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
# for all EPICS builds
|
||||
- libreadline6-dev
|
||||
- libncurses5-dev
|
||||
- perl
|
||||
# for clang compiler
|
||||
- clang
|
||||
# for mingw builds (32bit and 64bit)
|
||||
- g++-mingw-w64-i686
|
||||
- g++-mingw-w64-x86-64
|
||||
# for RTEMS cross builds
|
||||
- qemu-system-x86
|
||||
homebrew:
|
||||
packages:
|
||||
# for all EPICS builds
|
||||
- bash
|
||||
update: true
|
||||
|
||||
install:
|
||||
- ./.ci-local/travis-fixup.sh
|
||||
- python .ci/cue.py prepare
|
||||
|
||||
script:
|
||||
- python .ci/cue.py build
|
||||
- python .ci/cue.py test
|
||||
- python .ci/cue.py test-results
|
||||
|
||||
# Define build jobs
|
||||
|
||||
jobs:
|
||||
include:
|
||||
|
||||
# Different configurations of default gcc and clang
|
||||
- dist: bionic
|
||||
|
||||
- dist: xenial
|
||||
|
||||
- dist: bionic
|
||||
env: BCFG=static EXTRA="CMD_CXXFLAGS=-std=c++11"
|
||||
|
||||
- dist: trusty
|
||||
env: EXTRA="CMD_CXXFLAGS=-std=c++11"
|
||||
|
||||
- dist: bionic
|
||||
compiler: clang
|
||||
|
||||
- compiler: clang
|
||||
|
||||
- dist: trusty
|
||||
compiler: clang
|
||||
env: BCFG=static
|
||||
|
||||
# Cross-compilations to Windows using MinGW and WINE
|
||||
|
||||
- env: WINE=32 TEST=NO BCFG=static
|
||||
|
||||
- env: WINE=32 TEST=NO
|
||||
|
||||
# Cross-compilation to RTEMS
|
||||
|
||||
- env: RTEMS=4.10
|
||||
|
||||
- env: RTEMS=4.9
|
||||
|
||||
# MacOS build
|
||||
|
||||
- os: osx
|
||||
env:
|
||||
- EXTRA="CMD_CFLAGS=-mmacosx-version-min=10.7"
|
||||
- EXTRA1="CMD_CXXFLAGS=-mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++"
|
||||
- EXTRA2="CMD_LDXFLAGS=-mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++"
|
||||
compiler: clang
|
||||
@@ -3,8 +3,7 @@
|
||||
# National Laboratory.
|
||||
# Copyright (c) 2002 The Regents of the University of California, as
|
||||
# Operator of Los Alamos National Laboratory.
|
||||
# EPICS BASE Versions 3.13.7
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# EPICS Base is distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
|
||||
@@ -32,7 +31,7 @@ PROF_CFLAGS_YES = -p
|
||||
GPROF_CFLAGS_YES = -pg
|
||||
CODE_CFLAGS = $(PROF_CFLAGS_$(PROFILE)) $(GPROF_CFLAGS_$(GPROF))
|
||||
CODE_CFLAGS += $(ASAN_FLAGS_$(ENABLE_ASAN))
|
||||
WARN_CFLAGS_YES = -Wall
|
||||
WARN_CFLAGS_YES = -Wall -Werror-implicit-function-declaration
|
||||
WARN_CFLAGS_NO = -w
|
||||
OPT_CFLAGS_YES = -O3 -g
|
||||
OPT_CFLAGS_NO = -g
|
||||
|
||||
@@ -64,10 +64,15 @@ DEPCLEAN = $(call FIND_TOOL,depclean.pl)
|
||||
|
||||
#---------------------------------------------------------------
|
||||
# Tools for testing
|
||||
TAPTOJUNIT = $(PERL) $(TOOLS)/tap-to-junit-xml.pl
|
||||
PROVE = $(PERL) $(TOOLS)/epicsProve.pl
|
||||
PROVE.tap = $(PROVE) --ext .tap --exec "$(CAT)"
|
||||
TAPS_FAILED_LOG = .taps-failed.log
|
||||
TESTS_FAILED_LOG = .tests-failed.log
|
||||
TESTS_FAILED_PATH = $(abspath $(TOP)/$(TESTS_FAILED_LOG))
|
||||
|
||||
TEST_FAILURE_FILENAME = .tests-failed.log
|
||||
TEST_FAILURE_FILE = $(TOP)/$(TEST_FAILURE_FILENAME)
|
||||
PROVE_FAILURE = echo $(abspath .)>> $(TEST_FAILURE_FILE)
|
||||
TAPTOJUNIT = $(PERL) $(TOOLS)/tap-to-junit-xml.pl
|
||||
PROVE = $(PERL) $(TOOLS)/epicsProve.pl --failures --color
|
||||
PROVE.tap = $(PROVE) --ext .tap --exec "$(CAT)"
|
||||
TESTFAILURES = $(PERL) $(TOOLS)/testFailures.pl
|
||||
SHOWTESTFAILURES = $(TESTFAILURES) $(TESTS_FAILED_PATH) $(TAPS_FAILED_LOG)
|
||||
|
||||
PROVE_FAILURE = echo $(abspath .)>> $(TESTS_FAILED_PATH)
|
||||
TAPFILE_FAILURE = echo $@>> $(TAPS_FAILED_LOG)
|
||||
|
||||
@@ -48,20 +48,15 @@ EPICS_VERSION = 7
|
||||
EPICS_REVISION = 0
|
||||
|
||||
# EPICS_MODIFICATION must be a number >=0 and <256
|
||||
EPICS_MODIFICATION = 4
|
||||
EPICS_MODIFICATION = 5
|
||||
|
||||
# EPICS_PATCH_LEVEL must be a number (win32 resource file requirement)
|
||||
# Not included in the official EPICS version number if zero
|
||||
EPICS_PATCH_LEVEL = 1
|
||||
EPICS_PATCH_LEVEL = 0
|
||||
|
||||
# Immediately after an official release the EPICS_PATCH_LEVEL is incremented
|
||||
# and the -DEV suffix is added (similar to the Maven -SNAPSHOT versions)
|
||||
#EPICS_DEV_SNAPSHOT=
|
||||
EPICS_DEV_SNAPSHOT=-DEV
|
||||
#EPICS_DEV_SNAPSHOT=-pre1
|
||||
#EPICS_DEV_SNAPSHOT=-pre1-DEV
|
||||
#EPICS_DEV_SNAPSHOT=-rc1
|
||||
#EPICS_DEV_SNAPSHOT=-rc1-DEV
|
||||
EPICS_DEV_SNAPSHOT=
|
||||
|
||||
# No changes should be needed below here
|
||||
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
EPICS_CA_MAJOR_VERSION = 4
|
||||
EPICS_CA_MINOR_VERSION = 13
|
||||
EPICS_CA_MAINTENANCE_VERSION = 7
|
||||
EPICS_CA_MAINTENANCE_VERSION = 8
|
||||
|
||||
# Development flag, set to zero for release versions
|
||||
|
||||
EPICS_CA_DEVELOPMENT_FLAG = 1
|
||||
EPICS_CA_DEVELOPMENT_FLAG = 0
|
||||
|
||||
# Immediately after a release the MAINTENANCE_VERSION
|
||||
# will be incremented and the DEVELOPMENT_FLAG set to 1
|
||||
|
||||
@@ -80,12 +80,12 @@ IOCS_APPL_TOP = $(shell $(FULLPATHNAME) $(INSTALL_LOCATION))
|
||||
#-------------------------------------------------------
|
||||
# Silencing the build - suppress messages during 'make -s'
|
||||
NOP = :
|
||||
ECHO = @$(if $(findstring s,$(MFLAGS)),$(NOP),echo)
|
||||
QUIET_FLAG := $(if $(findstring s,$(MFLAGS)),-q,)
|
||||
ECHO = @$(if $(filter -s,$(MFLAGS)),$(NOP),echo)
|
||||
QUIET_FLAG := $(if $(filter -s,$(MFLAGS)),-q,)
|
||||
|
||||
#-------------------------------------------------------
|
||||
# Convert 'make -q' flag into '-i' for genVersionHeader.pl
|
||||
QUESTION_FLAG := $(if $(findstring q,$(MFLAGS)),-i,)
|
||||
QUESTION_FLAG := $(if $(filter -q,$(MFLAGS)),-i,)
|
||||
|
||||
#-------------------------------------------------------
|
||||
ifdef T_A
|
||||
|
||||
@@ -24,3 +24,5 @@ MSI3_15 = $(EPICS_DATABASE_HOST_BIN)/msi$(HOSTEXE)
|
||||
|
||||
# Libraries needed to link a basic IOC
|
||||
EPICS_BASE_IOC_LIBS = dbRecStd dbCore ca Com
|
||||
|
||||
HAS_registerAllRecordDeviceDrivers=YES
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# Version number for the database APIs and shared library
|
||||
|
||||
EPICS_DATABASE_MAJOR_VERSION = 3
|
||||
EPICS_DATABASE_MINOR_VERSION = 18
|
||||
EPICS_DATABASE_MAINTENANCE_VERSION = 1
|
||||
EPICS_DATABASE_MINOR_VERSION = 19
|
||||
EPICS_DATABASE_MAINTENANCE_VERSION = 0
|
||||
|
||||
# Development flag, set to zero for release versions
|
||||
|
||||
EPICS_DATABASE_DEVELOPMENT_FLAG = 1
|
||||
EPICS_DATABASE_DEVELOPMENT_FLAG = 0
|
||||
|
||||
# Immediately after a release the MAINTENANCE_VERSION
|
||||
# will be incremented and the DEVELOPMENT_FLAG set to 1
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# Version number for the libcom APIs and shared library
|
||||
|
||||
EPICS_LIBCOM_MAJOR_VERSION = 3
|
||||
EPICS_LIBCOM_MINOR_VERSION = 18
|
||||
EPICS_LIBCOM_MAINTENANCE_VERSION = 1
|
||||
EPICS_LIBCOM_MINOR_VERSION = 19
|
||||
EPICS_LIBCOM_MAINTENANCE_VERSION = 0
|
||||
|
||||
# Development flag, set to zero for release versions
|
||||
|
||||
EPICS_LIBCOM_DEVELOPMENT_FLAG = 1
|
||||
EPICS_LIBCOM_DEVELOPMENT_FLAG = 0
|
||||
|
||||
# Immediately after a release the MAINTENANCE_VERSION
|
||||
# will be incremented and the DEVELOPMENT_FLAG set to 1
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
# darwin-x86 (Intel based Apple running OSX)
|
||||
# freebsd-x86 (GNU compiler used for host builds)
|
||||
# freebsd-x86_64 (GNU compiler used for host builds)
|
||||
# linux-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 +52,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.
|
||||
@@ -67,8 +67,7 @@
|
||||
# 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-aarch64 (linux-x86_64 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)
|
||||
@@ -76,9 +75,6 @@
|
||||
# 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)
|
||||
|
||||
@@ -32,12 +32,12 @@ vpath %.l $(USR_VPATH) $(ALL_SRC_DIRS)
|
||||
include $(CONFIG)/CONFIG_ADDONS
|
||||
|
||||
#---------------------------------------------------------------
|
||||
# Set PROD, TESTPROD, OBJS, and LIBRARY
|
||||
|
||||
SCRIPTS_HOST += $(PERL_SCRIPTS)
|
||||
# PERL_SCRIPTS are installed into existing $(INSTALL_BIN) for Host systems
|
||||
|
||||
ifeq ($(findstring Host,$(VALID_BUILDS)),Host)
|
||||
# Host targets can compile and run programs
|
||||
ifneq (,$(findstring Host,$(VALID_BUILDS)))
|
||||
LIBRARY += $(LIBRARY_HOST)
|
||||
LOADABLE_LIBRARY += $(LOADABLE_LIBRARY_HOST)
|
||||
OBJS += $(OBJS_HOST)
|
||||
@@ -49,7 +49,21 @@ TESTSCRIPTS += $(TESTSCRIPTS_HOST)
|
||||
TESTPROD += $(TESTPROD_HOST)
|
||||
endif
|
||||
|
||||
ifeq ($(findstring Ioc,$(VALID_BUILDS)),Ioc)
|
||||
# Command targets have a command line and support main()
|
||||
ifneq (,$(findstring Command,$(VALID_BUILDS)))
|
||||
LIBRARY += $(LIBRARY_CMD)
|
||||
LOADABLE_LIBRARY += $(LOADABLE_LIBRARY_CMD)
|
||||
OBJS += $(OBJS_CMD)
|
||||
PROD += $(PROD_CMD)
|
||||
SCRIPTS += $(SCRIPTS_CMD)
|
||||
TARGETS += $(TARGETS_CMD)
|
||||
TESTLIBRARY += $(TESTLIBRARY_CMD)
|
||||
TESTSCRIPTS += $(TESTSCRIPTS_CMD)
|
||||
TESTPROD += $(TESTPROD_CMD)
|
||||
endif
|
||||
|
||||
# Ioc targets can run IOCs
|
||||
ifneq (,$(findstring Ioc,$(VALID_BUILDS)))
|
||||
LIBRARY += $(LIBRARY_IOC)
|
||||
LOADABLE_LIBRARY += $(LOADABLE_LIBRARY_IOC)
|
||||
OBJS += $(OBJS_IOC)
|
||||
@@ -371,7 +385,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
|
||||
|
||||
@@ -382,7 +397,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))
|
||||
@@ -390,8 +406,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)
|
||||
@@ -400,7 +416,8 @@ endif
|
||||
# A .tap file is the output from running the associated test script
|
||||
$(TAPFILES.t): %.tap: %.t
|
||||
ifdef RUNTESTS_ENABLED
|
||||
$(PERL) $< -tap > $@
|
||||
$(ECHO) "$(PERL) $< -tap > $@"
|
||||
@$(PERL) $< -tap > $@ || $(TAPFILE_FAILURE)
|
||||
endif
|
||||
|
||||
$(JUNITFILES.t): %-results.xml: %.tap
|
||||
|
||||
@@ -86,8 +86,10 @@ expand_clean:
|
||||
ASSEMBLE_TOOL ?= $(PERL) $(TOOLS)/assembleSnippets.pl
|
||||
|
||||
define COMMON_ASSEMBLY_template
|
||||
ifneq '$$($1_PATTERN)' ''
|
||||
$1_SNIPPETS += $$(foreach dir, .. $$(SRC_DIRS), \
|
||||
$$(wildcard $$(dir)/$$($1_PATTERN)))
|
||||
endif
|
||||
$(COMMON_DIR)/$1: $$($1_SNIPPETS)
|
||||
$(ECHO) "Assembling common file $$@ from snippets"
|
||||
@$(RM) $1
|
||||
@@ -98,8 +100,10 @@ $(foreach asy, $(COMMON_ASSEMBLIES), \
|
||||
$(eval $(call COMMON_ASSEMBLY_template,$(strip $(asy)))))
|
||||
|
||||
define ASSEMBLY_template
|
||||
ifneq '$$($1_PATTERN)' ''
|
||||
$1_SNIPPETS += $$(foreach dir, .. $$(SRC_DIRS), \
|
||||
$$(wildcard $$(dir)/$$($1_PATTERN)))
|
||||
endif
|
||||
$1: $$($1_SNIPPETS)
|
||||
$(ECHO) "Assembling file $$@ from snippets"
|
||||
@$(RM) $$@
|
||||
|
||||
@@ -47,14 +47,9 @@ realclean:
|
||||
|
||||
.PHONY: RELEASE.host realclean
|
||||
|
||||
# Append all our live submodule failure files
|
||||
FAILURE_FILES = $(addsuffix /$(TEST_FAILURE_FILENAME), $(LIVE_SUBMODULES))
|
||||
|
||||
define combine_failure_files
|
||||
@$(TOUCH) $(FAILURE_FILES)
|
||||
@$(CAT) $(FAILURE_FILES) >> $(TEST_FAILURE_FILE)
|
||||
endef
|
||||
runtests: | $(addsuffix $(DIVIDER)runtests, $(LIVE_SUBMODULES))
|
||||
$(if $(FAILURE_FILES), $(combine_failure_files))
|
||||
test-results: | $(addsuffix $(DIVIDER)test-results, $(LIVE_SUBMODULES))
|
||||
$(if $(FAILURE_FILES), $(combine_failure_files))
|
||||
# Testing: Combine test failure logs from the live submodules
|
||||
TESTS_FAILED_LOGS = $(wildcard $(addsuffix /$(TESTS_FAILED_LOG), \
|
||||
$(LIVE_SUBMODULES)))
|
||||
runtests test-results: % : | $(addsuffix $(DIVIDER)%, $(LIVE_SUBMODULES))
|
||||
$(if $(TESTS_FAILED_LOGS), \
|
||||
@$(CAT) $(TESTS_FAILED_LOGS)>> $(TESTS_FAILED_PATH))
|
||||
|
||||
@@ -50,8 +50,9 @@ uninstall$(DIVIDER)%: | clean
|
||||
$(RMDIR) $(addsuffix /$(subst uninstall$(DIVIDER),,$@), \
|
||||
$(INSTALL_LOCATION_BIN) $(INSTALL_LOCATION_LIB))
|
||||
|
||||
# Only run this at the top of the parent
|
||||
runtests test-results:
|
||||
@$(PERL) $(TOOLS)/testFailures.pl $(TEST_FAILURE_FILE)
|
||||
@$(SHOWTESTFAILURES)
|
||||
|
||||
else
|
||||
#
|
||||
@@ -63,10 +64,10 @@ else
|
||||
|
||||
endif # DISABLE_TOP_RULES
|
||||
|
||||
# Clean out old results
|
||||
before-runtests before-test-results: rm-failure-file
|
||||
rm-failure-file:
|
||||
@$(RM) $(TEST_FAILURE_FILE)
|
||||
@$(TOUCH) $(TEST_FAILURE_FILE)
|
||||
$(RM) $(TESTS_FAILED_PATH)
|
||||
|
||||
help:
|
||||
@echo "Usage: gnumake [options] [target] ..."
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -76,7 +76,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
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Unix valid build types
|
||||
VALID_BUILDS = Host Ioc
|
||||
VALID_BUILDS = Host Ioc Command
|
||||
|
||||
#-------------------------------------------------------
|
||||
# Unix prefix and suffix definitions
|
||||
|
||||
14
configure/os/CONFIG.Common.darwin-aarch64
Normal file
14
configure/os/CONFIG.Common.darwin-aarch64
Normal file
@@ -0,0 +1,14 @@
|
||||
# CONFIG.Common.darwin-aarch64
|
||||
#
|
||||
# This file is maintained by the build community.
|
||||
#
|
||||
# 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-aarch64
|
||||
|
||||
# Include definitions common to all Darwin targets
|
||||
include $(CONFIG)/os/CONFIG.darwinCommon.darwinCommon
|
||||
@@ -12,7 +12,7 @@ include $(CONFIG)/os/CONFIG.Common.linux-x86
|
||||
ARCH_DEP_CFLAGS = -march=i386
|
||||
|
||||
ifeq ($(BUILD_CLASS),CROSS)
|
||||
VALID_BUILDS = Ioc
|
||||
VALID_BUILDS = Ioc Command
|
||||
endif
|
||||
|
||||
# If your crosscompiler name has a GNU target prefix like <gnutarget>-gcc,
|
||||
|
||||
@@ -10,7 +10,7 @@ include $(CONFIG)/os/CONFIG.Common.linux-x86
|
||||
ARCH_DEP_CFLAGS = -march=i486
|
||||
|
||||
ifeq ($(BUILD_CLASS),CROSS)
|
||||
VALID_BUILDS = Ioc
|
||||
VALID_BUILDS = Ioc Command
|
||||
endif
|
||||
|
||||
# If your crosscompiler name has a GNU target prefix like <gnutarget>-gcc,
|
||||
|
||||
@@ -11,7 +11,7 @@ include $(CONFIG)/os/CONFIG.Common.linux-x86
|
||||
ARCH_DEP_CFLAGS = -march=i586
|
||||
|
||||
ifeq ($(BUILD_CLASS),CROSS)
|
||||
VALID_BUILDS = Ioc
|
||||
VALID_BUILDS = Ioc Command
|
||||
endif
|
||||
|
||||
# If your crosscompiler name has a GNU target prefix like <gnutarget>-gcc,
|
||||
|
||||
@@ -11,7 +11,7 @@ include $(CONFIG)/os/CONFIG.Common.linux-x86
|
||||
ARCH_DEP_CFLAGS = -march=i686
|
||||
|
||||
ifeq ($(BUILD_CLASS),CROSS)
|
||||
VALID_BUILDS = Ioc
|
||||
VALID_BUILDS = Ioc Command
|
||||
endif
|
||||
|
||||
# If your crosscompiler name has a GNU target prefix like <gnutarget>-gcc,
|
||||
|
||||
11
configure/os/CONFIG.Common.linux-aarch64
Normal file
11
configure/os/CONFIG.Common.linux-aarch64
Normal file
@@ -0,0 +1,11 @@
|
||||
# CONFIG.Common.linux-aarch64
|
||||
#
|
||||
# Definitions for linux-arm target builds
|
||||
# Override these settings in CONFIG_SITE.Common.linux-aarch64
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include definitions common to all Linux targets
|
||||
include $(CONFIG)/os/CONFIG.Common.linuxCommon
|
||||
|
||||
ARCH_CLASS = aarch64
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -10,7 +10,7 @@ include $(CONFIG)/os/CONFIG.Common.linux-x86
|
||||
ARCH_DEP_CFLAGS += -march=athlon-mp -mfpmath=sse
|
||||
|
||||
ifeq ($(BUILD_CLASS),CROSS)
|
||||
VALID_BUILDS = Ioc
|
||||
VALID_BUILDS = Ioc Command
|
||||
endif
|
||||
|
||||
# If your crosscompiler name has a GNU target prefix like <gnutarget>-gcc,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:%=%-)
|
||||
|
||||
|
||||
8
configure/os/CONFIG.darwin-aarch64.Common
Normal file
8
configure/os/CONFIG.darwin-aarch64.Common
Normal file
@@ -0,0 +1,8 @@
|
||||
# CONFIG.darwin-aarch64.Common
|
||||
#
|
||||
# Definitions for darwin-aarch64 host builds
|
||||
# Sites may override these definitions in CONFIG_SITE.darwin-aarch64.Common
|
||||
#-------------------------------------------------------
|
||||
|
||||
#Include definitions common to unix hosts
|
||||
include $(CONFIG)/os/CONFIG.UnixCommon.Common
|
||||
8
configure/os/CONFIG.linux-aarch64.Common
Normal file
8
configure/os/CONFIG.linux-aarch64.Common
Normal file
@@ -0,0 +1,8 @@
|
||||
# CONFIG.linux-aarch64.Common
|
||||
#
|
||||
# Definitions for linux-aarch64 host builds
|
||||
# Sites may override these definitions in CONFIG_SITE.linux-aarch64.Common
|
||||
#-------------------------------------------------------
|
||||
|
||||
#Include definitions common to unix hosts
|
||||
include $(CONFIG)/os/CONFIG.UnixCommon.Common
|
||||
8
configure/os/CONFIG.linux-aarch64.linux-aarch64
Normal file
8
configure/os/CONFIG.linux-aarch64.linux-aarch64
Normal file
@@ -0,0 +1,8 @@
|
||||
# CONFIG.linux-aarch64.linux-aarch64
|
||||
#
|
||||
# Definitions for native linux-aarch64 builds
|
||||
# Override these definitions in CONFIG_SITE.linux-aarch64.linux-aarch64
|
||||
#-------------------------------------------------------
|
||||
|
||||
# Include common gnu compiler definitions
|
||||
include $(CONFIG)/CONFIG.gnuCommon
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
28
configure/os/CONFIG.linux-x86_64.linux-aarch64
Normal file
28
configure/os/CONFIG.linux-x86_64.linux-aarch64
Normal file
@@ -0,0 +1,28 @@
|
||||
# CONFIG.linux-x86_64.linux-aarch64
|
||||
#
|
||||
# Definitions for linux-x86_64 host - linux-aarch64 target builds
|
||||
# Sites may override these in CONFIG_SITE.linux-x86_64.linux-aarch64
|
||||
#-------------------------------------------------------
|
||||
|
||||
VALID_BUILDS = Ioc Command
|
||||
GNU_TARGET = aarch64-linux
|
||||
|
||||
# prefix of compiler tools
|
||||
CMPLR_SUFFIX =
|
||||
CMPLR_PREFIX = $(addsuffix -,$(GNU_TARGET))
|
||||
|
||||
# Provide a link-time path for readline if needed
|
||||
OP_SYS_INCLUDES += $(READLINE_DIR:%=-I%/include)
|
||||
READLINE_LDFLAGS = $(READLINE_DIR:%=-L%/lib)
|
||||
RUNTIME_LDFLAGS_READLINE_YES_NO = $(READLINE_DIR:%=-Wl,-rpath,%/lib)
|
||||
RUNTIME_LDFLAGS += \
|
||||
$(RUNTIME_LDFLAGS_READLINE_$(LINKER_USE_RPATH)_$(STATIC_BUILD))
|
||||
SHRLIBDIR_LDFLAGS += $(READLINE_LDFLAGS)
|
||||
PRODDIR_LDFLAGS += $(READLINE_LDFLAGS)
|
||||
|
||||
# Library flags
|
||||
STATIC_LDFLAGS_YES= -Wl,-Bstatic
|
||||
STATIC_LDFLAGS_NO=
|
||||
STATIC_LDLIBS_YES= -Wl,-Bdynamic
|
||||
STATIC_LDLIBS_NO=
|
||||
|
||||
@@ -26,6 +26,3 @@ endif
|
||||
|
||||
# Needed to find dlls for base installed build tools (antelope,eflex,...)
|
||||
PATH := $(EPICS_BASE_BIN):$(PATH)
|
||||
|
||||
# Silence the tr1 namespace deprecation warnings
|
||||
USR_CXXFLAGS_WIN32 += -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
# Win32 valid build types and include directory suffixes
|
||||
|
||||
VALID_BUILDS = Host Ioc
|
||||
VALID_BUILDS = Host Ioc Command
|
||||
|
||||
CMPLR_CLASS = msvc
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
9
configure/os/CONFIG_SITE.Common.darwin-aarch64
Normal file
9
configure/os/CONFIG_SITE.Common.darwin-aarch64
Normal file
@@ -0,0 +1,9 @@
|
||||
# CONFIG_SITE.Common.darwin-aarch64
|
||||
#
|
||||
# Site override definitions for darwin-aarch64 target builds
|
||||
#-------------------------------------------------------
|
||||
|
||||
#
|
||||
# arm64 devices: Apple Silicon M1
|
||||
|
||||
ARCH_CLASS = arm64
|
||||
38
configure/os/CONFIG_SITE.Common.linux-aarch64
Normal file
38
configure/os/CONFIG_SITE.Common.linux-aarch64
Normal file
@@ -0,0 +1,38 @@
|
||||
# CONFIG_SITE.Common.linux-aarch64
|
||||
#
|
||||
# Site Specific definitions for all linux-aarch64 targets
|
||||
#-------------------------------------------------------
|
||||
|
||||
# NOTE for SHARED_LIBRARIES: In most cases if this is set to YES the
|
||||
# shared libraries will be found automatically. However if the .so
|
||||
# files are installed at a different path to their compile-time path
|
||||
# then in order to be found at runtime do one of these:
|
||||
# a) LD_LIBRARY_PATH must include the full absolute pathname to
|
||||
# $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) when invoking base
|
||||
# executables.
|
||||
# b) Add the runtime path to SHRLIB_DEPLIB_DIRS and PROD_DEPLIB_DIRS, which
|
||||
# will add the named directory to the list contained in the executables.
|
||||
# c) Add the runtime path to /etc/ld.so.conf and run ldconfig
|
||||
# to inform the system of the shared library location.
|
||||
|
||||
# Depending on your version of Linux you'll want one of the following
|
||||
# lines to enable command-line editing and history in iocsh. If you're
|
||||
# not sure which, start with the top one and work downwards until the
|
||||
# build doesn't fail to link the readline library. If none of them work,
|
||||
# comment them all out to build without readline support.
|
||||
|
||||
# No other libraries needed (recent Fedora, Ubuntu etc.):
|
||||
#COMMANDLINE_LIBRARY = READLINE
|
||||
|
||||
# Needs -lncurses (RHEL 5 etc.):
|
||||
#COMMANDLINE_LIBRARY = READLINE_NCURSES
|
||||
|
||||
# Needs -lcurses (older versions)
|
||||
#COMMANDLINE_LIBRARY = READLINE_CURSES
|
||||
|
||||
|
||||
# WARNING: Variables that are set in $(CONFIG)/CONFIG.gnuCommon cannot be
|
||||
# overridden in this file for native builds, e.g. variables such as
|
||||
# OPT_CFLAGS_YES, WARN_CFLAGS, SHRLIB_LDFLAGS
|
||||
# They must be set in CONFIG_SITE.linux-aarch64.linux-aarch64 instead.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -34,22 +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
|
||||
|
||||
@@ -34,18 +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
|
||||
|
||||
@@ -2,6 +2,11 @@
|
||||
#
|
||||
# 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.<linux-arch>.<linux-arch>
|
||||
|
||||
# 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.
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
12
configure/os/CONFIG_SITE.linux-aarch64.linux-aarch64
Normal file
12
configure/os/CONFIG_SITE.linux-aarch64.linux-aarch64
Normal file
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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++
|
||||
|
||||
|
||||
30
configure/os/CONFIG_SITE.linux-x86_64.linux-aarch64
Normal file
30
configure/os/CONFIG_SITE.linux-x86_64.linux-aarch64
Normal file
@@ -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
|
||||
@@ -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++
|
||||
|
||||
|
||||
3
documentation/.gitignore
vendored
Normal file
3
documentation/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
*.db
|
||||
epics-base.tag
|
||||
html/
|
||||
2407
documentation/Doxyfile@
Normal file
2407
documentation/Doxyfile@
Normal file
File diff suppressed because it is too large
Load Diff
33
documentation/Makefile
Normal file
33
documentation/Makefile
Normal file
@@ -0,0 +1,33 @@
|
||||
TOP = ..
|
||||
include $(TOP)/configure/CONFIG
|
||||
|
||||
ifdef T_A
|
||||
|
||||
DOXYGEN=doxygen
|
||||
|
||||
EXPAND = Doxyfile
|
||||
|
||||
EXPAND_ME += EPICS_VERSION
|
||||
EXPAND_ME += EPICS_REVISION
|
||||
EXPAND_ME += EPICS_MODIFICATION
|
||||
EXPAND_ME += EPICS_PATCH_LEVEL
|
||||
|
||||
ME = documentation/O.$(T_A)/html
|
||||
|
||||
install: doxygen
|
||||
|
||||
doxygen: Doxyfile
|
||||
$(DOXYGEN)
|
||||
rsync -av $(TOP)/html/ html/
|
||||
|
||||
.PHONY: doxygen
|
||||
|
||||
commit: doxygen
|
||||
$(TOUCH) html/.nojekyll
|
||||
(cd $(TOP) && $(CURDIR)/../commit-gh.sh $(ME)/ $(ME)/.nojekyll $(ME)/*.* $(ME)/*/*.*)
|
||||
|
||||
.PHONY: commit
|
||||
|
||||
endif # T_A
|
||||
|
||||
include $(TOP)/configure/RULES
|
||||
@@ -1,6 +1,6 @@
|
||||
# Installation Instructions
|
||||
# Installation Instructions {#install}
|
||||
|
||||
## EPICS Base Release 7.0.3.1
|
||||
## EPICS Base Release 7.0.5
|
||||
|
||||
-----
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
- [Supported platforms](#0_0_4)
|
||||
- [Supported compilers](#0_0_5)
|
||||
- [Software requirements](#0_0_6)
|
||||
- [Host system storage requirements](#0_0_7)
|
||||
- [Documentation](#0_0_8)
|
||||
- [Directory Structure](#0_0_10)
|
||||
- [Build related components](#0_0_11)
|
||||
@@ -39,7 +38,7 @@ interfaces) of various types.
|
||||
Please check the `RELEASE_NOTES` file in the distribution for
|
||||
description of changes and release migration details.
|
||||
|
||||
### <span id="0_0_3">Copyright</span>
|
||||
### <span id="0_0_3">Copyright Licenses</span>
|
||||
|
||||
Please review the LICENSE file included in the distribution for legal
|
||||
terms of usage.
|
||||
@@ -68,10 +67,10 @@ path to do EPICS builds; check the definitions of CC and CCC in
|
||||
|
||||
**GNU make**
|
||||
You must use GNU make, gnumake, for any EPICS builds. Set your path so
|
||||
that a gnumake version 3.81 or later is available.
|
||||
that a gnumake version 4.1 or later is available.
|
||||
|
||||
**Perl**
|
||||
You must have Perl version 5.8.1 or later installed. The EPICS
|
||||
You must have Perl version 5.10 or later installed. The EPICS
|
||||
configuration files do not specify the perl full pathname, so the perl
|
||||
executable must be found through your normal search path.
|
||||
|
||||
@@ -114,13 +113,6 @@ installed on linux-x86. Command-line editing and history will then be
|
||||
those supplied by the os. On vxWorks the ledLib command-line input
|
||||
library is used instead.
|
||||
|
||||
### <span id="0_0_7">Host system storage requirements</span>
|
||||
|
||||
The compressed tar file is approximately 1.6 MB in size. The
|
||||
distribution source tree takes up approximately 12 MB. Each host
|
||||
target will need around 40 MB for build files, and each cross-compiled
|
||||
target around 20 MB.
|
||||
|
||||
### <span id="0_0_8">Documentation</span>
|
||||
|
||||
EPICS documentation is available through the [EPICS
|
||||
@@ -237,22 +229,18 @@ Files in the base/startup directory have been provided to help set
|
||||
required path and other environment variables.
|
||||
|
||||
* `EPICS_HOST_ARCH`
|
||||
Before you can build or use EPICS R3.15, the environment variable
|
||||
Before you can build or use this EPICS base, the environment variable
|
||||
`EPICS_HOST_ARCH` must be defined. A perl script EpicsHostArch.pl in
|
||||
the base/startup directory has been provided to help set
|
||||
`EPICS_HOST_ARCH.` You should have `EPICS_HOST_ARCH` set to your
|
||||
host operating system followed by a dash and then your host
|
||||
architecture, e.g. solaris-sparc. If you are not using the OS
|
||||
architecture, e.g. linux-x86_64. If you are not using the OS
|
||||
vendor's c/c++ compiler for host builds, you will need another dash
|
||||
followed by the alternate compiler name (e.g. "-gnu" for GNU c/c++
|
||||
compilers on a solaris host or "-mingw" for MinGW c/c++ compilers on
|
||||
a WIN32 host). See `configure/CONFIG_SITE` for a list of supported
|
||||
Windows). See `configure/CONFIG_SITE` for a list of supported
|
||||
`EPICS_HOST_ARCH` values.
|
||||
|
||||
* `PERLLIB`
|
||||
On WIN32, some versions of Perl require that the environment
|
||||
variable PERLLIB be set to <perl directory location>.
|
||||
|
||||
* `PATH`
|
||||
As already mentioned, you must have the perl executable and you may
|
||||
need C and C++ compilers in your search path. For building base you
|
||||
@@ -263,7 +251,7 @@ ranlib in your path, and the C compiler may require as and ld in
|
||||
your path. On solaris systems you need uname in your path.
|
||||
|
||||
* `LD_LIBRARY_PATH`
|
||||
R3.15 shared libraries and executables normally contain the full
|
||||
EPICS shared libraries and executables normally contain the full
|
||||
path to any libraries they require. However, if you move the EPICS
|
||||
files or directories from their build-time location then in order
|
||||
for the shared libraries to be found at runtime `LD_LIBRARY_PATH`
|
||||
@@ -336,10 +324,10 @@ A perl tool, makeBaseApp.pl is included in the distribution file. This
|
||||
script will create a sample application that can be built and then
|
||||
executed to try out this release of base.
|
||||
|
||||
Instructions for building and executing the 3.15 example application
|
||||
Instructions for building and executing the EPICS example application
|
||||
can be found in the section "Example Application" of Chapter 2,
|
||||
"Getting Started", in the "IOC Application Developer's Guide" for this
|
||||
release. The "Example IOC Application" section briefly explains how to
|
||||
"Getting Started", in the "EPICS Application Developer's Guide".
|
||||
The "Example IOC Application" section briefly explains how to
|
||||
create and build an example application in a user created <top>
|
||||
directory. It also explains how to run the example application on a
|
||||
vxWorks ioc or as a process on the host system. By running the example
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# EPICS 7.0 Release Notes
|
||||
# EPICS 7.0 Release Notes {#releasenotes}
|
||||
|
||||
These release notes describe changes that have been made since the previous
|
||||
release of this series of EPICS Base. **Note that changes which were merged up
|
||||
@@ -11,12 +11,341 @@ release.
|
||||
The PVA submodules each have their own individual sets of release notes which
|
||||
should also be read to understand what has changed since earlier releases.
|
||||
|
||||
**This version of EPICS has not been released yet.**
|
||||
## EPICS Release 7.0.5
|
||||
|
||||
## Changes made on the 7.0 branch since 7.0.4
|
||||
### Fix aai's Device Support Initialization
|
||||
|
||||
<!-- Insert new items immediately below here ... -->
|
||||
Krisztian Loki [reported](https://github.com/epics-base/epics-base/issues/97)
|
||||
segfaults occurring when a Soft Channel aai record INP field was a DB link to
|
||||
an array field of a compress record. This was caused by the aai record's
|
||||
pass-0 device support initialization clashing with the semantics of the new
|
||||
link support API.
|
||||
|
||||
The aai record
|
||||
[has been modified](https://github.com/epics-base/epics-base/pull/114) to
|
||||
allow the Soft Channel device support to request a pass-1 initialization
|
||||
callback. See the Device Support section of the Array Analogue Input Record
|
||||
Reference pages in this release for the API changes, which are fully backwards
|
||||
compatible for existing aai device support.
|
||||
|
||||
### Prevent default DTYPs from changing
|
||||
|
||||
[Kay Kasemir reported](https://bugs.launchpad.net/epics-base/+bug/1908305) that
|
||||
it is possible to change the Base record type's default DTYP if a `device()`
|
||||
entry is seen before the `recordtype()` definition to which it refers. The
|
||||
default DTYP is the first device loaded, which is normally the `Soft Channel`
|
||||
support from Base. A warning was being displayed by dbdExpand when a `device()`
|
||||
entry was see first, but that was easily missed.
|
||||
|
||||
The DBD file parser in dbdExpand.pl has now been modified to make this an error,
|
||||
although the registerRecordDeviceDriver.pl script will still accept `device()`
|
||||
entries without having their `recordtype()` loaded since this is necessary to
|
||||
compile device supports as loadable modules.
|
||||
|
||||
|
||||
### Priority inversion safe Posix mutexes
|
||||
|
||||
On Posix systems, epicsMutex now support priority inheritance if available.
|
||||
The IOC needs to run with SCHED_FIFO engaged to use these.
|
||||
Support for Posix implementations before POSIX.1-2001 (`_XOPEN_SOURCE < 500`,
|
||||
glibc version < 2.3.3) has been dropped.
|
||||
|
||||
The IOC shell's `epicsMutexShowAll` command prints "PI is enabled" if both
|
||||
libc and kernel support is present.
|
||||
|
||||
### Fix for Periodic Scan threads hanging on Windows
|
||||
|
||||
Since 7.0.3.1 a Windows IOC could not run for more than 49.7 days; at that
|
||||
time the periodic scan threads would stop processing. This issue should now
|
||||
have been fixed and the Monotonic time functions on Windows should return
|
||||
values which count at nanosecond resolution. However we have not waited 49.7
|
||||
days to test the final software, so there is a small chance that it's still
|
||||
broken.
|
||||
|
||||
This fixes [lauchpad bug #1896295](https://bugs.launchpad.net/bugs/1896295).
|
||||
|
||||
### Support for Apple M1 (arm64) Processors
|
||||
|
||||
Thanks to Jeong Han Lee this release comes with build support for Apple's new
|
||||
M1 CPUs running macOS, using the target name `darwin-aarch64`.
|
||||
|
||||
It should also be possible to build universal binaries containing code for
|
||||
both the Intel and arm64 processors under either target name: In the
|
||||
appropriate `configure/os/CONFIG_SITE.Common.darwin-*` file add the other
|
||||
architecture class name to the `ARCH_CLASS` variable (after a space).
|
||||
|
||||
### New String Comparison Routine `epicsStrSimilarity()`
|
||||
|
||||
The new `epicsStrSimilarity()` routine in epicsString.h uses a modified
|
||||
Levenshtein distance to compare two strings, with a character case difference
|
||||
being half the weight of a full substitution. The double return value falls in
|
||||
the range 0.0 (identical) through 1.0 (no characters matching), or -1.0 for
|
||||
error. This is used to provide a new "Did you mean ..." suggestion when a .db
|
||||
file provides an invalid choice string for a `DBF_MENU` or `DBF_DEVICE` field.
|
||||
|
||||
### Build System: New `VALID_BUILDS` type "Command"
|
||||
|
||||
Target architectures that support command-line programs that run the `main()`
|
||||
routine can now be marked as such in their `VALID_BUILDS` definition. This
|
||||
enables a new set of Makefile target variables `PROD_CMD` (similar to
|
||||
`PROD_HOST`), `LIBRARY_CMD` (like `LIBRARY_HOST`, etc.), `LOADABLE_LIBRARY_CMD`,
|
||||
`OBJS_CMD`, `SCRIPTS_CMD`, `TARGETS_CMD`, `TESTLIBRARY_CMD`, `TESTSCRIPTS_CMD`
|
||||
and `TESTPROD_CMD`. The CA client tools and programs such as `caRepeater` are now built for all such targets (previously they were built for all targets except where the OS was VxWorks, RTEMS and iOS).
|
||||
|
||||
If you have created your own site-specific target architectures you may need to
|
||||
update the `VALID_BUILDS` variable if it gets set in your locally added
|
||||
`configure/os/CONFIG.Common.<arch>` files. This is usually only needed for
|
||||
cross-compiled targets though since `CONFIG.Common.UnixCommon` sets it.
|
||||
|
||||
The other `VALID_BUILDS` types are "Host" for target architectures that can
|
||||
compile and run their own programs (`PROD_HOST` etc.), and "Ioc" for targets
|
||||
that can run IOCs (`PROD_IOC` etc.).
|
||||
|
||||
### Support for JSON5
|
||||
|
||||
The YAJL parser and generator routines in libcom and in the IOC's dbStatic
|
||||
parser now support the JSON5 standard. This adds various features to JSON
|
||||
without altering the API for the code other than adding a new option to the
|
||||
YAJL parser which can be used to disable JSON5 support if desired. The new
|
||||
features include:
|
||||
|
||||
- The ability to handle numeric values `Infinity`, `-Infinity` and `NaN`.
|
||||
- String values and map keys may be enclosed in single quotes `'`, inside which
|
||||
the double-quote character `"` doesn't have to be escaped with a back-slash
|
||||
`\`, although a single-quote character `'` (or apostrophy) must be escaped
|
||||
inside a single-quoted string.
|
||||
- Numbers may start with a plus sign, `+`.
|
||||
- Integers may be expressed in hexadecimal with a leading `0x` or `0X`.
|
||||
- Floating-point numbers may start or end with their decimal point `.`
|
||||
(after the sign or before the exponent respectively if present).
|
||||
- Map keys that match the regex `[A-Za-z_][A-Za-z_0-9]*` don't have to be
|
||||
enclosed in quotes at all. The dbStatic parser adds `.+-` to the characters
|
||||
allowed but will add quotes around such keys before passing them to YAJL.
|
||||
- Arrays and maps allow a comma before the closing bracket/brace character.
|
||||
- The YAJL parser will elide a backslash followed by a newline characters from
|
||||
a string value. The dbStatic parser doesn't allow that however.
|
||||
|
||||
Code that must also compile against the older API can use the new C macro
|
||||
`HAS_JSON5` to detect the new version. This macro is defined on including
|
||||
either the `yajl_parse.h` or `yajl_gen.h` headers, which also provide the
|
||||
new configuration options to turn on JSON5 support.
|
||||
|
||||
All APIs in the IOC that previously accepted JSON will now accept JSON5.
|
||||
This includes JSON field modifiers (channel filters), JSON link addresses,
|
||||
constant input link array values and database info-tag values. JSON values
|
||||
that get parsed by the dbLoadRecords() routine are still more liberal than
|
||||
the other uses as the ability to use unquoted strings that was called
|
||||
"relaxed JSON" is still supported, whereas the JSON5 standard and the YAJL
|
||||
parser only allow unquoted strings to be used for keys in a JSON map.
|
||||
|
||||
This also fixes [lauchpad bug #1714455](https://bugs.launchpad.net/bugs/1714455).
|
||||
|
||||
|
||||
### Character Escape Changes
|
||||
|
||||
- The libCom routines `epicsStrnRawFromEscaped()` and `dbTranslateEscape()`
|
||||
declared in epicsString.h no longer accept octal escaped characters such as
|
||||
`\123` or `\41`.
|
||||
- The routine `epicsStrnEscapedFromRaw()` now generates hex
|
||||
excaped characters for unprintable characters such as `\x1f`.
|
||||
- Hex escape character sequences `\xXX` must now contain exactly 2 hex digits.
|
||||
- An escape sequence `\0` now generates a zero byte in the raw string, but the
|
||||
other digits `1-9` should not appear after a back-slash.
|
||||
|
||||
These changes are to more closely follow the JSON5 standard, which doesn't
|
||||
support octal character escapes or the `\a` (Bel, `\x07`) escape sequence.
|
||||
|
||||
### Filters in database input links
|
||||
|
||||
Input database links can now use channel filters, it is not necessary to
|
||||
make them CA links for the filters to work.
|
||||
|
||||
### ai Soft Channel support
|
||||
|
||||
The Soft Channel device support for ai records now returns failure when
|
||||
fetching the INP link fails.
|
||||
|
||||
### Support for zero-length arrays
|
||||
|
||||
Several modifications have been made to properly support zero-length
|
||||
array values inside the IOC and over Channel Access. Some of these changes
|
||||
may affect external code that interfaces with the IOC, either directly or
|
||||
over the CA client API so we recommend thorough testing of any external
|
||||
code that handles array fields when upgrading to this release.
|
||||
|
||||
Since these changes affect the Channel Access client-side API they will
|
||||
require rebuilding any CA Gateways against this version or Base to
|
||||
properly handle zero-length arrays. The `caget`, `caput` and `camonitor`
|
||||
client programs are known to work with empty arrays as long as they were
|
||||
built with this or a later version of EPICS.
|
||||
|
||||
#### Change to the db_access.h `dbr_size_n(TYPE, COUNT)` macro
|
||||
|
||||
When called with COUNT=0 this macro no longer returns the number of bytes
|
||||
required for a scalar (1 element) but for an empty array (0 elements).
|
||||
Make sure code that uses this doesn't call it with COUNT=0 when it really
|
||||
means COUNT=1.
|
||||
|
||||
Note that the db_access.h header file is included by cadef.h so the change
|
||||
can impact Channel Access client programs that use this macro.
|
||||
|
||||
#### Channel Access support for zero-length arrays
|
||||
|
||||
The `ca_array_put()` and `ca_array_put_callback()` routines now accept an
|
||||
element count of zero, and will write a zero-length array to the PV if
|
||||
possible. No error will be raised if the target is a scalar field though,
|
||||
and the field's value will not be changed.
|
||||
|
||||
The `ca_array_get_callback()` and `ca_create_subscription()` routines
|
||||
still accept a count of zero to mean fetch as many elements as the PV
|
||||
currently holds.
|
||||
|
||||
Client programs should be prepared for the `count` fields of any
|
||||
`struct event_handler_args` or `struct exception_handler_args` passed to
|
||||
their callback routines to be zero.
|
||||
|
||||
#### Array records
|
||||
|
||||
The soft device support for the array records aai, waveform, and subArray
|
||||
as well as the aSub record type now correctly report reading 0 elements
|
||||
when getting an empty array from an input link.
|
||||
|
||||
#### Array support for dbpf
|
||||
|
||||
The dbpf command now accepts array values, including empty arrays, when
|
||||
provided as a JSON string. This must be enclosed in quotes so the iocsh
|
||||
argument parser sees the JSON as a single argument:
|
||||
|
||||
```
|
||||
epics> dbpf wf10:i32 '[1, 2, 3, 4, 5]'
|
||||
DBF_LONG[5]: 1 = 0x1 2 = 0x2 3 = 0x3 4 = 0x4 5 = 0x5
|
||||
```
|
||||
|
||||
#### Reading empty arrays as scalar values
|
||||
|
||||
Record links that get a scalar value from an array that is currently
|
||||
empty will cause the record that has the link field to be set to an
|
||||
`INVALID/LINK` alarm status.
|
||||
The record code must call `dbGetLink()` with `pnRequest=NULL` for it to
|
||||
be recognized as a request for a scalar value though.
|
||||
|
||||
This changes the semantics of passing `pnRequest=NULL` to `dbGetLink()`,
|
||||
which now behaves differently than passing it a pointer to a long integer
|
||||
containing the value 1, which was previously equivalent.
|
||||
The latter can successfully fetch a zero-element array without triggering
|
||||
a LINK alarm.
|
||||
|
||||
#### Writing empty arrays to scalar fields
|
||||
|
||||
Record links that put a zero-element array into a scalar field will now set
|
||||
the target record to `INVALID/LINK` alarm without changing the field's value.
|
||||
Previously the field was set to 0 in this case (with no alarm).
|
||||
The target field must be marked as `special(SPC_DBADDR)` to be recognized
|
||||
as an array field, and its record support must define a `put_array_info()`
|
||||
routine.
|
||||
|
||||
### Timestamp before processing output links
|
||||
|
||||
The record processing code for records with output links has been modified to
|
||||
update the timestamp via recGblGetTimeStamp() _before_ processing the output
|
||||
links. This ensures that other records which get processed via an output link
|
||||
can use TSEL links to fetch the timestamp corresponding to the data processed
|
||||
by the output link.
|
||||
|
||||
This change could result in a slightly earlier timestamp for records whose
|
||||
output link is handled by a device driver, but only if the device driver does
|
||||
not handle its own timestamping via TSE -2 and instead uses TSE 0 or TSE -1 to
|
||||
get current time or best time, and the time spent in the device driver is
|
||||
greater than your timestamp provider resolution. For these situations it is
|
||||
recommended to set TSE to -2 and set the timestamp in the driver code.
|
||||
|
||||
### Add registerAllRecordDeviceDrivers()
|
||||
|
||||
A new iocsh command `registerAllRecordDeviceDrivers` is provided and also
|
||||
defined as a function in iocshRegisterCommon.h. This uses dynamic symbol
|
||||
lookup with `epicsFindSymbol()` to perform the same function as a generated
|
||||
`*_registerRecordDeviceDriver()` function. This allows for an alternative
|
||||
approach to dynamic loading of support modules without code generation.
|
||||
|
||||
This feature is not intended for use by IOCs constructed using the standard
|
||||
EPICS application build process and booted from a startup script in an iocBoot
|
||||
subdirectory, although it might work in some of those cases — the
|
||||
generated registerRecordDeviceDriver.cpp file is normally required to link
|
||||
everything referred to in the DBD file into the IOC's executable. It also
|
||||
won't work with some static build configurations, or if the symbol table has
|
||||
been stripped from the executable.
|
||||
|
||||
### Using a `{const:"string"}` to initialize an array of `DBF_CHAR`
|
||||
|
||||
It is now possible to use a JSON Const link with a string value to initialize
|
||||
an aai or waveform record that has `FTVL` set to `CHAR` through the INP link.
|
||||
The string length is not limited to 40 characters. This should also work for
|
||||
aSub record inputs similarly configured as long strings.
|
||||
|
||||
```
|
||||
record(waveform, "wf") {
|
||||
field(NELM, 100)
|
||||
field(FTVL, CHAR)
|
||||
field(INP, {const:"This is a waveform and more than 40 characters"})
|
||||
}
|
||||
```
|
||||
|
||||
### RELEASE files may use `undefine`
|
||||
|
||||
GNUmake added the directive `undefine` in version 3.82 to allow variables to
|
||||
be undefined. Support for this has been added to the EPICS Release file parser,
|
||||
so `undefine` can now be used in configure/RELEASE files to unset variables.
|
||||
|
||||
-----
|
||||
|
||||
## EPICS Release 7.0.4.1
|
||||
|
||||
### ARM Architecture Changes
|
||||
|
||||
Build configuration files for a new cross-build architecture `linux-aarch64`
|
||||
have been added, and the targets `linux-arm_el` and `linux-arm_eb` removed.
|
||||
The 64-bit ARM architecture target doesn't have build files for self-hosting
|
||||
yet but they should be relatively easy to add, contributions welcome!
|
||||
|
||||
### Bug fixes
|
||||
|
||||
The following bugs/issues have fixes included in this release:
|
||||
|
||||
- [lp: 1884339](https://bugs.launchpad.net/epics-base/+bug/1884339),
|
||||
Inaccessible CA servers on Windows
|
||||
- [github: 83](https://github.com/epics-base/epics-base/issues/83)
|
||||
osdTimeGetCurrent doesn't work for subprocess on macOS
|
||||
- Recent Cygwin build problem with a missing `TCP_NODELAY` declaration.
|
||||
|
||||
### Perl CA Bindings under Conda
|
||||
|
||||
Builds of the Perl CA bindings weren't working properly when the Perl
|
||||
installation was from Conda. This release also fixed the capr.pl script
|
||||
to handle the INT64 data types, and to be able to properly handle missing
|
||||
fields, as happens if the IOC is running an older EPICS version for example.
|
||||
|
||||
### epicsMessageQueue implementation on RTEMS
|
||||
|
||||
The implementation of the `epicsMessageQueue` used on RTEMS has switched from
|
||||
the native RTEMS-specific one to the EPICS generic version, avoiding a bug
|
||||
in the RTEMS Kernel message queue code.
|
||||
|
||||
### Record Name Validation
|
||||
|
||||
Historically, there have been very few restrictions on which characters
|
||||
may be present in record and alias names. Base 3.14.12.3 added a warning
|
||||
for names containing space, single or double quote, period/dot, or
|
||||
dollar sign.
|
||||
|
||||
```
|
||||
Bad character ' ' in record name "bad practice"
|
||||
```
|
||||
|
||||
7.0.4.1 Turns this warning into an error, and adds a new warning
|
||||
if a record name begins with a minus, plus, left square bracket,
|
||||
or left curly bracket.
|
||||
|
||||
-----
|
||||
|
||||
## EPICS Release 7.0.4
|
||||
|
||||
@@ -202,6 +531,8 @@ devLsiEtherIP = {
|
||||
};
|
||||
```
|
||||
|
||||
-----
|
||||
|
||||
## EPICS Release 7.0.3.1
|
||||
|
||||
**IMPORTANT NOTE:** *Some record types in this release will not be compatible
|
||||
@@ -395,6 +726,8 @@ necessary, all RTEMS targets should now link although the IOC won't be able to
|
||||
be used with the VME I/O on those systems (that we don't have VMEbus I/O
|
||||
support for in libCom).
|
||||
|
||||
-----
|
||||
|
||||
## EPICS Release 7.0.3
|
||||
|
||||
### `epicsTimeGetCurrent()` optimization
|
||||
@@ -415,6 +748,8 @@ This may result in slightly fewer, but larger frames being sent.
|
||||
Report NOBT as "precision" through the dbAccess API. This is not accessible
|
||||
through CA, but is planned to be used through QSRV.
|
||||
|
||||
-----
|
||||
|
||||
## EPICS Release 7.0.2.2
|
||||
|
||||
### Build System changes
|
||||
@@ -449,6 +784,8 @@ substantial than bug fixes.
|
||||
|
||||
Turns out this is ~10x slower to query than `CLOCK_MONOTONIC`.
|
||||
|
||||
-----
|
||||
|
||||
## EPICS Release 7.0.2.1
|
||||
|
||||
### Linking shared libraries on macOS
|
||||
@@ -500,6 +837,8 @@ rewrite of the link address parser code in dbStaticLib. This release fixes that
|
||||
issue, although in some cases the output may be slightly different than it used
|
||||
to be.
|
||||
|
||||
-----
|
||||
|
||||
## EPICS Release 7.0.2
|
||||
|
||||
### Launchpad Bugs
|
||||
@@ -517,6 +856,8 @@ modules. The layout of the source files has not changed at all however, so the
|
||||
source code for libcom, ca and the database are still found separately under
|
||||
the module subdirectory.
|
||||
|
||||
-----
|
||||
|
||||
## EPICS Release 7.0.1.1
|
||||
|
||||
### Changed SIML failure behavior
|
||||
@@ -575,7 +916,11 @@ than is currently available, but as developers we generally much prefer to
|
||||
write code than documentation. Send questions to the tech-talk mailing list
|
||||
and we'll be happy to try and answer them!
|
||||
|
||||
## Changes between 3.16.1 and 3.16.2
|
||||
-----
|
||||
|
||||
## Changes made between 3.16.1 and 3.16.2
|
||||
|
||||
### Launchpad Bugs
|
||||
|
||||
The list of tracked bugs fixed in this release can be found on the
|
||||
[Launchpad Milestone page for EPICS Base 3.16.2](https://launchpad.net/epics-base/+milestone/3.16.2).
|
||||
@@ -782,6 +1127,8 @@ array is made even larger; the previous array buffer was not being released
|
||||
correctly. See Launchpad
|
||||
[bug #1706703](https://bugs.launchpad.net/epics-base/+bug/1706703).
|
||||
|
||||
-----
|
||||
|
||||
## Changes made between 3.16.0.1 and 3.16.1
|
||||
|
||||
### IOC Database Support for 64-bit integers
|
||||
@@ -1218,6 +1565,7 @@ and then replace `(RECSUPFUN)` with `RECSUPFUN_CAST` when initializing the
|
||||
rset. Further changes might also be needed, e.g. to adapt `const`-ness of
|
||||
method parameters.
|
||||
|
||||
-----
|
||||
|
||||
## Changes made between 3.15.3 and 3.16.0.1
|
||||
|
||||
@@ -1326,6 +1674,8 @@ header and removed the need for dbScan.c to reach into the internals of its
|
||||
`CALLBACK` objects.
|
||||
|
||||
|
||||
-----
|
||||
|
||||
# Changes incorporated from the 3.15 branch
|
||||
|
||||
|
||||
@@ -1337,6 +1687,7 @@ The names of the generated junit xml test output files have been changed
|
||||
from `<testname>.xml` to `<testname>-results.xml`, to allow better
|
||||
distinction from other xml files. (I.e., for easy wildcard matching.)
|
||||
|
||||
-----
|
||||
|
||||
## Changes made between 3.15.7 and 3.15.8
|
||||
|
||||
@@ -1442,6 +1793,7 @@ don't provide it any more.
|
||||
If multiple IOCs were started at the same time, by systemd say, they could race
|
||||
to obtain the Channel Access TCP port number 5064. This issue has been fixed.
|
||||
|
||||
-----
|
||||
|
||||
## Changes made between 3.15.6 and 3.15.7
|
||||
|
||||
@@ -1585,6 +1937,8 @@ into the htmls directory. Thanks to Tony Pietryla.
|
||||
|
||||
This displays the version numbers of EPICS Base and the CA protocol.
|
||||
|
||||
-----
|
||||
|
||||
## Changes made between 3.15.5 and 3.15.6
|
||||
|
||||
### Unsetting environment variables
|
||||
@@ -1810,6 +2164,8 @@ choice string cannot be parsed, the associated periodic scan thread will no
|
||||
longer be started by the IOC and a warning message will be displayed at iocInit
|
||||
time. The `scanppl` command will also flag the faulty menuScan value.
|
||||
|
||||
-----
|
||||
|
||||
## Changes made between 3.15.4 and 3.15.5
|
||||
|
||||
### dbStatic Library Speedup and Cleanup
|
||||
@@ -1941,6 +2297,8 @@ will be installed into the target bin directory, from where it can be copied
|
||||
into the appropriate systemd location and modified as necessary. Installation
|
||||
instructions are included as comments in the file.
|
||||
|
||||
-----
|
||||
|
||||
## Changes made between 3.15.3 and 3.15.4
|
||||
|
||||
### New string input device support "getenv"
|
||||
@@ -2046,6 +2404,8 @@ variable to a non-zero value before loading the file, like this:
|
||||
This was [Launchpad bug
|
||||
541119](https://bugs.launchpad.net/bugs/541119).
|
||||
|
||||
-----
|
||||
|
||||
## Changes from the 3.14 branch between 3.15.3 and 3.15.4
|
||||
|
||||
### NTP Time Provider adjusts to OS tick rate changes
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
# Record Reference Documentation
|
||||
# Record Reference Documentation {#recordrefmanual}
|
||||
|
||||
The following documentation for the record types and menus include with Base was
|
||||
The documentation below for the record types and menus included with Base was
|
||||
converted from the old EPICS Wiki pages and updated. This list only includes the
|
||||
record types supplied with Base.
|
||||
record types supplied with Base. The first two links below are to an external
|
||||
website where these original reference chapters are now being published.
|
||||
|
||||
* [Introduction to EPICS](https://docs.epics-controls.org/en/latest/guides/EPICS_Intro.html)
|
||||
* [Process Database Concepts](https://docs.epics-controls.org/en/latest/guides/EPICS_Process_Database_Concepts.html)
|
||||
* [Fields Common to All Record Types](dbCommonRecord.html)
|
||||
* [Fields Common to Input Record Types](dbCommonInput.html)
|
||||
* [Fields Common to Output Record Types](dbCommonOutput.html)
|
||||
@@ -35,7 +38,7 @@ record types supplied with Base.
|
||||
* [Multi-Bit Binary Output Direct Record (mbboDirect)](mbboDirectRecord.html)
|
||||
* [Multi-Bit Binary Output Record (mbbo)](mbboRecord.html)
|
||||
* [Permissive Record (permissive)](permissiveRecord.html)
|
||||
* [Printf Record (prinf)](printfRecord.html)
|
||||
* [Printf Record (printf)](printfRecord.html)
|
||||
* [Select Record (sel)](selRecord.html)
|
||||
* [Sequence Record (seq)](seqRecord.html)
|
||||
* [State Record (state)](stateRecord.html)
|
||||
@@ -53,6 +56,9 @@ record types supplied with Base.
|
||||
* [Field Type Menu](menuFtype.html)
|
||||
* [Invalid Value Output Action Menu](menuIvoa.html)
|
||||
* [Output Mode Select Menu](menuOmsl.html)
|
||||
* [Process at iocInit Menu](menuPini.html)
|
||||
* [Post Monitors Menu](menuPost.html)
|
||||
* [Priority Menu](menuPriority.html)
|
||||
* [Scan Menu](menuScan.html)
|
||||
* [Simulation Mode Menu](menuSimm.html)
|
||||
* [Yes/No Menu](menuYesNo.html)
|
||||
|
||||
@@ -147,17 +147,17 @@ starting at <a href="#ReleaseApproval">Release Approval</a>.</p>
|
||||
<td>Tag the module in Git, using these tag conventions:
|
||||
<ul>
|
||||
<li>
|
||||
<tt>R7.0.4.1-pre<i>n</i></tt>
|
||||
<tt>R7.0.5-pre<i>n</i></tt>
|
||||
— pre-release tag
|
||||
</li>
|
||||
<li>
|
||||
<tt>R7.0.4.1-rc<i>n</i></tt>
|
||||
<tt>R7.0.5-rc<i>n</i></tt>
|
||||
— release candidate tag
|
||||
</li>
|
||||
</ul>
|
||||
<blockquote><tt>
|
||||
cd base-7.0<br />
|
||||
git tag -m 'ANJ: Tagged for 7.0.4.1-rc1' R7.0.4.1-rc1
|
||||
git tag -m 'ANJ: Tagged for 7.0.5-rc1' R7.0.5-rc1
|
||||
</tt></blockquote>
|
||||
Note that submodules must <em>not</em> be tagged with the version used
|
||||
for the top-level, they each have their own separate version numbers
|
||||
@@ -171,11 +171,11 @@ starting at <a href="#ReleaseApproval">Release Approval</a>.</p>
|
||||
files and directories that are only used for continuous integration:
|
||||
<blockquote><tt>
|
||||
cd base-7.0<br />
|
||||
./.tools/make-tar.sh R7.0.4.1-rc1 base-7.0.4.1-rc1.tar.gz base-7.0.4.1-rc1/
|
||||
./.tools/make-tar.sh R7.0.5-rc1 base-7.0.5-rc1.tar.gz base-7.0.5-rc1/
|
||||
</tt></blockquote>
|
||||
Create a GPG signature file of the tarfile as follows:
|
||||
<blockquote><tt>
|
||||
gpg --armor --sign --detach-sig base-7.0.4.1-rc1.tar.gz
|
||||
gpg --armor --sign --detach-sig base-7.0.5-rc1.tar.gz
|
||||
</tt></blockquote>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -298,7 +298,7 @@ starting at <a href="#ReleaseApproval">Release Approval</a>.</p>
|
||||
|
||||
<li>Tag the module:
|
||||
<blockquote><tt>
|
||||
git tag -m 'ANJ: Tag for EPICS 7.0.4.1' <module-version>
|
||||
git tag -m 'ANJ: Tag for EPICS 7.0.5' <module-version>
|
||||
</tt></blockquote>
|
||||
</li>
|
||||
|
||||
@@ -355,7 +355,7 @@ starting at <a href="#ReleaseApproval">Release Approval</a>.</p>
|
||||
<td>Tag the epics-base module in Git:
|
||||
<blockquote><tt>
|
||||
cd base-7.0<br />
|
||||
git tag -m 'ANJ: Tagged for release' R7.0.4.1
|
||||
git tag -m 'ANJ: Tagged for release' R7.0.5
|
||||
</tt></blockquote>
|
||||
<p>Don't push these commits or the new tag to the Launchpad repository
|
||||
yet.</p>
|
||||
@@ -387,12 +387,12 @@ starting at <a href="#ReleaseApproval">Release Approval</a>.</p>
|
||||
files and directories that are only used for continuous integration:
|
||||
<blockquote><tt>
|
||||
cd base-7.0<br />
|
||||
./.tools/make-tar.sh R7.0.4.1 ../base-7.0.4.1.tar.gz base-7.0.4.1/
|
||||
./.tools/make-tar.sh R7.0.5 ../base-7.0.5.tar.gz base-7.0.5/
|
||||
</tt></blockquote>
|
||||
Create a GPG signature file of the tarfile as follows:
|
||||
<blockquote><tt>
|
||||
cd ..<br />
|
||||
gpg --armor --sign --detach-sig base-7.0.4.1.tar.gz
|
||||
gpg --armor --sign --detach-sig base-7.0.5.tar.gz
|
||||
</tt></blockquote>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -457,7 +457,7 @@ starting at <a href="#ReleaseApproval">Release Approval</a>.</p>
|
||||
<td>Upload the tar file and its <tt>.asc</tt> signature file to the
|
||||
epics-controls web-server.
|
||||
<blockquote><tt>
|
||||
scp base-7.0.4.1.tar.gz base-7.0.4.1.tar.gz.asc epics-controls:download/base<br />
|
||||
scp base-7.0.5.tar.gz base-7.0.5.tar.gz.asc epics-controls:download/base<br />
|
||||
</tt></blockquote>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
45
documentation/commit-gh.sh
Executable file
45
documentation/commit-gh.sh
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/bin/sh
|
||||
set -e -x
|
||||
# Usage: commit-gh <sub-directory-prefix> <files...>
|
||||
#
|
||||
# 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"
|
||||
16
documentation/mainpage.dox
Normal file
16
documentation/mainpage.dox
Normal file
@@ -0,0 +1,16 @@
|
||||
/**
|
||||
@mainpage EPICS Base
|
||||
|
||||
Documentation index
|
||||
|
||||
@ul
|
||||
@li @ref releasenotes
|
||||
@li @ref install
|
||||
@li @ref recordrefmanual
|
||||
@li <a href="CAref.html">Channel Access Reference Manual</a>
|
||||
@li <a href="filters.html">Server Side Filters Reference</a>
|
||||
@li <a href="msi.html">msi: Macro Substitution and Include Tool</a>
|
||||
@li <a href="links.html">JSON Link Types</a>
|
||||
@li <a href="CA.html">Perl 5 Interface to Channel Access</a>
|
||||
|
||||
*/
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -96,10 +96,7 @@ PROD_LIBS = ca Com
|
||||
# needed when its an object library build
|
||||
PROD_SYS_LIBS_WIN32 = ws2_32 advapi32 user32
|
||||
|
||||
PROD_DEFAULT += caRepeater catime acctst caConnTest casw caEventRate
|
||||
PROD_vxWorks = -nil-
|
||||
PROD_RTEMS = -nil-
|
||||
PROD_iOS = -nil-
|
||||
PROD_CMD += caRepeater catime acctst caConnTest casw caEventRate
|
||||
|
||||
OBJS_vxWorks = catime acctst caConnTest casw caEventRate acctstRegister
|
||||
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2017 UChicago Argonne LLC, as Operator of Argonne
|
||||
* 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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
@@ -152,13 +153,13 @@ ca_client_context::ca_client_context ( bool enablePreemptiveCallback ) :
|
||||
this->localPort = htons ( tmpAddr.ia.sin_port );
|
||||
}
|
||||
|
||||
std::auto_ptr < CallbackGuard > pCBGuard;
|
||||
ca::auto_ptr < CallbackGuard > pCBGuard;
|
||||
if ( ! enablePreemptiveCallback ) {
|
||||
pCBGuard.reset ( new CallbackGuard ( this->cbMutex ) );
|
||||
}
|
||||
|
||||
// multiple steps ensure exception safety
|
||||
this->pCallbackGuard = pCBGuard;
|
||||
this->pCallbackGuard = PTRMOVE(pCBGuard);
|
||||
}
|
||||
|
||||
ca_client_context::~ca_client_context ()
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
@@ -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.
|
||||
\*************************************************************************/
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user