This repository was archived by the owner on Sep 3, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
This repository was archived by the owner on Sep 3, 2022. It is now read-only.
synApps build requirements #1
Copy link
Copy link
Open
Description
Directory Notation:
<synApps>refers to the directory of a generic version of synApps; e.g., synApps_5_6.<support>refers to the /support top level directory of the synApps directory structure<module>refers to the top level directory of a generic EPICS support module directory structure.<ioc>refers to the top level directory of an IOC's directory structure.
synApps Build Requirements
- Running "make release" from the
<support>directory will rewrite all the<module>/configure/RELEASE files specified in the<support>/configure/RELEASE file, thereby making all the support modules consistent with regard to support module versions. - A synApps user can “cd” to any synApps support module and build that module at any supported directory level; e.g.
<module>/iocBoot/<ioc>or<module>/<module>App/src. - An IOC can be built based on the synApps standard support module versions specified in the
<support>/configure/RELEASE file by including these lines;
#Define the path to the synApps support directory and uncomment.
SUPPORT=/APSshare/epics/synApps_5_6/support
#Specify the standard synApps configuration.
include $(SUPPORT)/configure/RELEASE
in the IOC’s<ioc>/configure/RELEASE file. Or, alternatively, the<support>/configure/RELEASE file can be copied to<ioc>/configure/RELEASE and customized by adding and/or omitting support modules; or, in limited cases, changing support module versions. - An IOC can override the standard support module versions specified in
<support>/configure/RELEASE file by adding lines like the following;
# Batchscan must be built with this version or higher
SNCSEQ=$(SUPPORT)/seq-2-1-5
in the IOC’s<ioc>/configure/RELEASE file, typically, after the standard synApps support module versions are included. For example,
SUPPORT=/APSshare/epics/synApps_5_6/support
include $(SUPPORT)/configure/RELEASE
SNCSEQ=$(SUPPORT)/seq-2-1-5 - CROSS_COMPILER_TARGET_ARCHS for a synApps build is inherited from that version of EPICSbase specified by EPICS_BASE= in the
<support>/configure/RELEASE file. At one time, the EPICSbase CROSS_COMPILER_TARGET_ARCHS could be overridden in the synApps build by specifying CROSS_COMPILER_TARGET_ARCHS in<support>/configure/CONFIG_SITE. That function stopped working at some point and should be restored.
synApps build implementation notes
- The "make release" command (which was based on a Janet Anderson's perl script) is implemented in
<support>/configure/makeReleaseConsistent.pl. - The support module build order is specified in
<support>/Makefile. Support modules are grouped into tiers (currently, 6 tiers) based on their dependencies.
Metadata
Metadata
Assignees
Labels
No labels