Skip to content
Snippets Groups Projects
Commit fad8b50b authored by kpetersn's avatar kpetersn
Browse files

Initial commit of xxx at 3c9ec766c3a7107248ef3d2a2f717968ce12ad5d

parents
No related branches found
No related tags found
No related merge requests found
BASE=3.14
include modules
BASE=3.15
include modules
BASE=7.0
include modules
MODULES="sncseq ipac autosave alive caputRecorder sscan asyn calc busy std dac128v ip330 ipUnidig love ip optics modbus vac softGlue vme motor camac softGlueZynq"
ALIVE=R1-1-1
ASYN=R4-36
AUTOSAVE=R5-10
BUSY=R1-7-2
CALC=R3-7-3
CAMAC=R2-7-1
CAPUTRECORDER=R1-7-2
DAC128V=R2-9
IP=R2-20-1
IPAC=2.15
IP330=R2-9
IPUNIDIG=R2-11
LOVE=R3-2-7
MODBUS=R3-0
MOTOR=master
OPTICS=R2-13-3
SNCSEQ=R2-2-8
SOFTGLUE=R2-8-2
SOFTGLUEZYNQ=R2-0-2
SSCAN=R2-11-3
STD=R3-6
VAC=R1-9
VME=R2-9-2
#Which files need CRLF handling
* text=auto
*.sh eol=lf
*.bat eol=crlf
*.cmd -text
*~
O.*
*.swp
*BAK.adl
bin/
/db/
dbd/
html/
include/
lib/
templates/
cdCommands
envPaths
dllPath.bat
auto_settings.sav*
auto_positions.sav*
built_*.req
dbl-all.txt
*.sav*
scan1Menu.sav
[submodule ".ci"]
path = .ci
url = https://github.com/epics-base/ci-scripts
# .travis.xml for use with EPICS Base ci-scripts
# (see: https://github.com/epics-base/ci-scripts)
language: cpp
compiler: gcc
dist: xenial
# Minimal set of packages needed to compile EPICS Base
cache:
directories:
- $HOME/.cache
env:
global:
- SETUP_PATH=.ci-local:.ci
# for the sequencer on Windows
- CHOCO=re2c
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 the sequencer
- re2c
update: true
install:
- python .ci/cue.py prepare
script:
- python .ci/cue.py build
- python .ci/cue.py test
- python .ci/cue.py test-results
# If you need to do more during install and build,
# add a local directory to your module and do e.g.
# - ./.ci-local/travis/install-extras.sh
# Define build jobs
# Well-known variables to use
# SET source setup file
# EXTRA content will be added to make command line
# STATIC set to YES for static build (default: NO)
# TEST set to NO to skip running the tests (default: YES)
# VV set to make build scripts verbose (default: unset)
# Usually from setup files, but may be specified or overridden
# on a job line
# MODULES list of dependency modules
# BASE branch or release tag name of the EPICS Base to use
# <MODULE> branch or release tag for a specific module
# ... see README for setup file syntax description
jobs:
include:
# Older Base releases
- env: SET=base3-14
# - env: SET=base3-14 BCFG=static
- env: SET=base3-15
# - env: SET=base3-15 BCFG=static
# Default gcc, static build
- env: SET=base7-0
# - env: SET=base7-0 BCFG=static
# Default clang build
- env: SET=base7-0
compiler: clang
# - env: SET=base7-0 EXTRA="CMD_CXXFLAGS=-std=c++11"
# compiler: clang
# Trusty: compiler versions very close to RHEL 7
- env: SET=base7-0
dist: trusty
# - env: SET=base7-0 BCFG=debug
# dist: trusty
# Other gcc versions (added as an extra package)
# - env: SET=base7-0
# compiler: gcc-6
# addons: { apt: { packages: ["g++-6"], sources: ["ubuntu-toolchain-r-test"] } }
# - env: SET=base7-0
# compiler: gcc-7
# addons: { apt: { packages: ["g++-7"], sources: ["ubuntu-toolchain-r-test"] } }
# Cross-compilations to Windows using MinGW and WINE
# - env: SET=base7-0 WINE=32 TEST=NO BCFG=static
- env: SET=base7-0 WINE=64 TEST=NO
# Windows builds
# - env: SET=base7-0
# os: windows
# compiler: vs2017
- env: SET=base7-0 BCFG=static
os: windows
compiler: vs2017
# - env: SET=base7-0 BCFG=debug
# os: windows
# compiler: vs2017
# MacOS build
- env: SET=base7-0
os: osx
compiler: clang
LICENSE 0 → 100644
Copyright (c) 2004 University of Chicago and the Regents of the University of
California. All rights reserved.
synApps is distributed subject to the following license conditions:
SOFTWARE LICENSE AGREEMENT
Software: synApps
Versions: Release 4-5 and higher.
1. The "Software", below, refers to synApps (in either source code, or
binary form and accompanying documentation). Each licensee is addressed
as "you" or "Licensee."
2. The copyright holders shown above and their third-party licensors hereby
grant Licensee a royalty-free nonexclusive license, subject to the
limitations stated herein and U.S. Government license rights.
3. You may modify and make a copy or copies of the Software for use within
your organization, if you meet the following conditions:
1. Copies in source code must include the copyright notice and this
Software License Agreement.
2. Copies in binary form must include the copyright notice and this
Software License Agreement in the documentation and/or other
materials provided with the copy.
4. You may modify a copy or copies of the Software or any portion of it, thus
forming a work based on the Software, and distribute copies of such work
outside your organization, if you meet all of the following conditions:
1. Copies in source code must include the copyright notice and this
Software License Agreement;
2. Copies in binary form must include the copyright notice and this
Software License Agreement in the documentation and/or other
materials provided with the copy;
3. Modified copies and works based on the Software must carry
prominent notices stating that you changed specified portions of
the Software.
5. Portions of the Software resulted from work developed under a
U.S. Government contract and are subject to the following license:
the Government is granted for itself and others acting on its behalf a
paid-up, nonexclusive, irrevocable worldwide license in this computer
software to reproduce, prepare derivative works, and perform publicly and
display publicly.
6. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS" WITHOUT WARRANTY OF
ANY KIND. THE COPYRIGHT HOLDERS, THEIR THIRD PARTY LICENSORS, THE UNITED
STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND THEIR EMPLOYEES: (1)
DISCLAIM ANY WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, TITLE OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY
OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF THE
SOFTWARE, (3) DO NOT REPRESENT THAT USE OF THE SOFTWARE WOULD NOT
INFRINGE PRIVATELY OWNED RIGHTS, (4) DO NOT WARRANT THAT THE SOFTWARE WILL
FUNCTION UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL BE
CORRECTED.
7. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT HOLDERS, THEIR
THIRD PARTY LICENSORS, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF
ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF ANY KIND OR NATURE,
INCLUDING BUT NOT LIMITED TO LOSS OF PROFITS OR LOSS OF DATA, FOR ANY
REASON WHATSOEVER, WHETHER SUCH LIABILITY IS ASSERTED ON THE BASIS OF
CONTRACT, TORT (INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE,
EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE POSSIBILITY OF SUCH
LOSS OR DAMAGES.
Makefile 0 → 100644
#Makefile at top of application tree
TOP = .
include $(TOP)/configure/CONFIG
DIRS := $(DIRS) $(filter-out $(DIRS), configure)
DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *App))
DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard iocBoot))
define DIR_template
$(1)_DEPEND_DIRS = configure
endef
$(foreach dir, $(filter-out configure,$(DIRS)),$(eval $(call DIR_template,$(dir))))
iocBoot_DEPEND_DIRS += $(filter %App,$(DIRS))
include $(TOP)/configure/RULES_TOP
README 0 → 100644
Edit configure/RELEASE to set the variable SUPPORT
If you don't want to build all of the default target architectures
(see the variable CROSS_COMPILER_TARGET_ARCHS in
synApps/support/configure/CONFIG, or in base/configure/CONFIG_SITE),
then edit configure/CONFIG to set the variable CROSS_COMPILER_TARGET_ARCHS.
Edit iocBoot/iocxxx/Makefile to set the variable ARCH and correct targets
Edit start_MEDM_xxx and start_caQtDM_xxx to set the EPICS_APP variable
Edit iocBoot/iocxxx/st.cmd.* to agree with your hardware.
Example code is provided in the iocBoot/iocxxx/examples folder.
Edit iocBoot/iocxxx/auto*.req to add any PV's that aren't saved by the
autobuild system.
chmod a+w,g+s iocBoot/iocxxx/autosave
Run synApps/support/utils/changePrefix to change the prefix from 'xxx'
to whatever you want
Run gnumake
# xxx
APS BCDA synApps module: xxx
XXX is a template to use when creating an EPICS IOC that provides beam line support.
It uses the various modules that comprise synApps and other support.
For more information, see
http://www.aps.anl.gov/bcda/synApps
converted from APS SVN repository: Fri Nov 20 18:04:37 CST 2015
Regarding the license of tagged versions prior to synApps 4-5,
refer to http://www.aps.anl.gov/bcda/synApps/license.php
[Report an issue with XXX](https://github.com/epics-modules/xxx/issues/new?title=%20ISSUE%20NAME%20HERE&body=**Describe%20the%20issue**%0A%0A**Steps%20to%20reproduce**%0A1.%20Step%20one%0A2.%20Step%20two%0A3.%20Step%20three%0A%0A**Expected%20behaivour**%0A%0A**Actual%20behaviour**%0A%0A**Build%20Environment**%0AArchitecture:%0AEpics%20Base%20Version:%0ADependent%20Module%20Versions:&labels=bug)
[Request a feature](https://github.com/epics-modules/xxx/issues/new?title=%20FEATURE%20SHORT%20DESCRIPTION&body=**Feature%20Long%20Description**%0A%0A**Why%20should%20this%20be%20added?**%0A&labels=enhancement)
* [HTML documentation](https://epics-modules.github.io/xxx)
# CONFIG - Load build configuration data
#
# Do not make changes to this file!
# Allow user to override where the build rules come from
RULES = $(EPICS_BASE)
# RELEASE files point to other application tops
include $(TOP)/configure/RELEASE
-include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).Common
ifdef T_A
-include $(TOP)/configure/RELEASE.Common.$(T_A)
-include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).$(T_A)
endif
# Check EPICS_BASE is set properly
ifneq (file,$(origin EPICS_BASE))
$(error EPICS_BASE must be set in a configure/RELEASE file)
else
ifeq ($(wildcard $(EPICS_BASE)/configure/CONFIG_BASE),)
$(error EPICS_BASE does not point to an EPICS installation)
endif
endif
CONFIG = $(RULES)/configure
include $(CONFIG)/CONFIG
# Override the Base definition:
INSTALL_LOCATION = $(TOP)
# CONFIG_SITE files contain other build configuration settings
include $(TOP)/configure/CONFIG_SITE
-include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).Common
ifdef T_A
-include $(TOP)/configure/CONFIG_SITE.Common.$(T_A)
-include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
endif
# CONFIG_SITE
-include $(SUPPORT)/configure/CONFIG_SITE
-include $(AREA_DETECTOR)/configure/CONFIG_SITE
# Make any application-specific changes to the EPICS build
# configuration variables in this file.
#
# Host/target specific settings can be specified in files named
# CONFIG_SITE.$(EPICS_HOST_ARCH).Common
# CONFIG_SITE.Common.$(T_A)
# CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
# CHECK_RELEASE controls the consistency checking of the support
# applications pointed to by the RELEASE* files.
# Normally CHECK_RELEASE should be set to YES.
# Set CHECK_RELEASE to NO to disable checking completely.
# Set CHECK_RELEASE to WARN to perform consistency checking but
# continue building anyway if conflicts are found.
CHECK_RELEASE = YES
# Set this when you only want to compile this application
# for a subset of the cross-compiled target architectures
# that Base is built for.
#CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040
# To install files into a location other than $(TOP) define
# INSTALL_LOCATION here.
#INSTALL_LOCATION=</path/name/to/install/top>
# To build the IOC application set BUILD_IOCS to YES
# Otherwise set it to NO
BUILD_IOCS=YES
# Set this when your IOC and the host use different paths
# to access the application. This will be needed to boot
# from a Microsoft FTP server or with some NFS mounts.
# You must rebuild in the iocBoot directory for this to
# take effect.
#IOCS_APPL_TOP = </IOC/path/to/application/top>
TEMPLATE_TOP=$(EPICS_BASE)/templates/makeBaseApp/top
# These allow developers to override the CONFIG_SITE variable
# settings without having to modify the configure/CONFIG_SITE
# file itself.
-include $(TOP)/../CONFIG_SITE.local
-include $(TOP)/../configure/CONFIG_SITE.local
-include $(TOP)/configure/CONFIG_SITE.local
-include $(TOP)/configure/CONFIG_SITE.local.$(OS_CLASS)
TIRPC=YES
HAVE_HIDAPI=YES
BUILD_IOCS=NO
TOP=..
include $(TOP)/configure/CONFIG
TARGETS = $(CONFIG_TARGETS)
CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS)))
include $(TOP)/configure/RULES
# Configure is not a top-level directory, but it seems easier for us to pretend
# that it is than to figure out how to make support/Makefile fan out commands
# to directories some of which are top-level and some of which are not.
# We want support/Makefile to build configure, so we get CHECK_RELEASE, and we
# want to be able to do commands like "make uninstall.<arch>" in support.
# The following rules are modelled on stuff in base/configure/RULES_TOP.
uninstall realuninstall:
@echo "\c"
distclean: realclean
uninstallArchTargets = $(foreach arch,$(BUILD_ARCHS), uninstall$(DIVIDER)$(arch))
$(uninstallArchTargets):
@echo "\c"
#FILENAME: RELEASE
#USAGE: Specify directory paths to synApps support modules
#Version: $Revision$
#Modified By: $Author$
#Last Modified: $Date$
#HeadURL: $URL$
#RELEASE Location of external products
#
# IF YOU MAKE ANY CHANGES to this file you MUST at least run
# "gnumake" in this directory afterwards; you usually need
# to run "gnumake rebuild" in the application's top level
# directory each time this file is changed.
#
# NOTE: The build does not check dependencies against files
# that are outside this application, thus you should run
# "gnumake distclean install" in the top directory each time
# EPICS_BASE, SNCSEQ, or any other external module defined
# in the RELEASE file is rebuilt.
#
# Host/target specific settings can be specified in files named
# RELEASE.$(EPICS_HOST_ARCH).Common
# RELEASE.Common.$(T_A)
# RELEASE.$(EPICS_HOST_ARCH).$(T_A)
##############################################################################
# Define the path to the synApps support directory and uncomment.
SUPPORT=/corvette/home/epics/devel
# Specify the standard synApps configuration.
-include $(SUPPORT)/configure/RELEASE
# Include any non-standard support
#TDS3000 = $(SUPPORT)/../nonSynAppsSupport/tds3000-2.4
#FLY = $(SUPPORT)/../nonSynAppsSupport/fly-0-0
# For a local, custom configuration; copy $(SUPPORT)/configure/RELEASE
# to this directory as the file MASTER_RELEASE, edit the file, comment out
# the above include, and uncomment the following line.
#-include $(TOP)/configure/MASTER_RELEASE
# These lines allow developers to override these RELEASE settings
# without having to modify this file directly.
-include $(TOP)/../RELEASE.local
-include $(TOP)/../RELEASE.$(EPICS_HOST_ARCH).local
-include $(TOP)/configure/RELEASE.local
# RULES
include $(CONFIG)/RULES
# Library should be rebuilt because LIBOBJS may have changed.
$(LIBNAME): ../Makefile
#RULES.ioc
include $(CONFIG)/RULES.ioc
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment