Skip to content
Snippets Groups Projects
Commit 01fb4662 authored by Wayne Lewis's avatar Wayne Lewis
Browse files

Merge branch 'e3-577-remove-base-v3' into 'master'

e3-577: remove base v3

See merge request e3/e3-require!72
parents 67b92aed 40ebab25
No related branches found
No related tags found
No related merge requests found
......@@ -42,6 +42,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* Cleaned up the output of `make vars` and `make devvars`
* Merged together `configure/E3` and `configure/MODULES`
* Removed `siteLibs` and `siteApps` directories
* Removed references to EPICS Base v3
## [3.4.1]
......
......@@ -30,7 +30,7 @@ include $(REQUIRE_CONFIG)/CONFIG_TEST
include $(REQUIRE_CONFIG)/CONFIG_EPICS
include $(REQUIRE_CONFIG)/CONFIG_EXPORT
# Exclude generated EPICS base variables from make vars report.
VARS_EXCLUDES+=BASE_3_14
VARS_EXCLUDES+=BASE_3_15
VARS_EXCLUDES+=BASE_3_16
......
......@@ -34,13 +34,8 @@
#include "asprintf.h"
#endif
#ifdef BASE_VERSION
#define EPICS_3_13
extern void dbLoadRecords(const char*, const char*);
#else
#include "iocsh.h"
#include "epicsExport.h"
#endif
#if (EPICS_VERSION*10000+EPICS_REVISION*100+EPICS_MODIFICATION<31412)
#define dbmfStrdup(s) strcpy(dbmfMalloc(strlen((char*)(s))+1),(char*)(s))
......@@ -456,7 +451,6 @@ int dbLoadTemplate(const char *sub_file, const char *cmd_collect, const char *pa
return 0;
}
#ifndef EPICS_3_13
#include "registry.h"
epicsExportAddress(int, dbTemplateMaxVars);
......@@ -494,4 +488,3 @@ static void dbLoadTemplateRegister(void)
}
epicsExportRegistrar(dbLoadTemplateRegister);
#endif
......@@ -101,13 +101,11 @@ CP = cp
MKDIR = mkdir -p -m 775
# This is to allow for build numbers in recognized versions. First regex is for grep, second for sed.
VERSIONGLOB = +([0-9]).+([0-9]).+([0-9])?(++([0-9]))
VERSIONREGEX = [0-9]+\.[0-9]+\.[0-9]+(\+[0-9]+)?
# Some generated file names:
VERSIONFILE = ${PRJ}_version_${LIBVERSION}.c
REGISTRYFILE = ${PRJ}_registerRecordDeviceDriver.cpp
EXPORTFILE = ${PRJ}_exportAddress.c
SUBFUNCFILE = ${PRJ}_subRecordFunctions.dbd
DEPFILE = ${PRJ}.dep
METAFILE = ${PRJ}_meta.yaml
......@@ -507,7 +505,6 @@ COMMON_DIR = ../O.${EPICSVERSION}_Common
# Remove include directory for this module from search path.
INSTALL_INCLUDES =
EPICS_INCLUDES =
# Add include directory of foreign modules to include file search path.
#
......@@ -549,8 +546,8 @@ PRODUCT_OBJS = ${LIBRARY_OBJS}
LOADABLE_LIBRARY=$(if ${LIBRARY_OBJS},${PRJ},)
# Handle registry stuff automagically if we have a dbd file.
# See ${REGISTRYFILE} and ${EXPORTFILE} rules below.
LIBOBJS += $(if $(MODULEDBD), $(addsuffix $(OBJ),$(basename ${REGISTRYFILE} ${EXPORTFILE})))
# See ${REGISTRYFILE} rule below.
LIBOBJS += $(if $(MODULEDBD), $(addsuffix $(OBJ),$(basename ${REGISTRYFILE})))
# For backward compatibility:
......@@ -572,9 +569,6 @@ endif # MINOR
LDFLAGS += ${PROVIDES} ${USR_LDFLAGS_${T_A}}
# Create and include dependency files.
# 3.14.8 uses HDEPENDS to select depends mode
# 3.14.12 uses 'HDEPENDSCFLAGS -MMD' (does not catch #include <...>)
# 3.15 uses 'HDEPENDS_COMPFLAGS = -MM -MF $@' (does not catch #include <...>)
HDEPENDS =
HDEPENDS_METHOD = COMP
HDEPENDS_COMPFLAGS = -c
......@@ -595,9 +589,6 @@ SRC_INCLUDES = $(addprefix -I, $(wildcard $(foreach d,$(call uniq, $(filter-out
# Look for includes from standard locations relative to vendor libraries
USR_INCLUDES += $(addprefix -I,$(wildcard $(patsubst %/lib/$(T_A)/,../%/include,$(call uniq,$(dir $(VLIBS))) $(patsubst %/lib/,../%/include,$(call uniq,$(dir $(VLIBS)))))))
# Different macro name for 3.14.8.
GENERIC_SRC_INCLUDES = $(SRC_INCLUDES)
# Create dbd file for snl code.
DBDFILES += $(patsubst %.st,%_snl.dbd,$(notdir $(filter %.st,${SRCS})))
DBDFILES += $(patsubst %.stt,%_snl.dbd,$(notdir $(filter %.stt,${SRCS})))
......@@ -605,8 +596,7 @@ DBDFILES += $(patsubst %.stt,%_snl.dbd,$(notdir $(filter %.stt,${SRCS})))
# Create dbd file for GPIB code.
DBDFILES += $(patsubst %.gt,%.dbd,$(notdir $(filter %.gt,${SRCS})))
# snc location in 3.14: From latest version of module seq or fall back to globally installed snc.
#SNC=$(lastword $(dir ${EPICS_BASE})seq/bin/$(EPICS_HOST_ARCH)/snc $(shell ls -dv ${EPICS_MODULES}/seq/$(or $(seq_VERSION),$(VERSIONGLOB))/bin/${EPICS_HOST_ARCH}/snc 2>/dev/null))
# snc location
SNCALL=$(shell ls -dv $(E3_SITEMODS_PATH)/sequencer/$(call FETCH_BUILD_NUMBER,$(E3_SITEMODS_PATH),sequencer)/bin/$(EPICS_HOST_ARCH) 2> /dev/null)
SNC=$(lastword $(SNCALL))/snc
......@@ -665,11 +655,9 @@ endif
# Fix incompatible release rules.
RELEASE_DBDFLAGS = -I ${EPICS_BASE}/dbd
RELEASE_INCLUDES = -I${EPICS_BASE}/include
# For EPICS 3.15:
# For EPICS 3.15+:
RELEASE_INCLUDES += -I${EPICS_BASE}/include/compiler/${CMPLR_CLASS}
RELEASE_INCLUDES += -I${EPICS_BASE}/include/os/${OS_CLASS}
# Dor EPICS 3.13:
EPICS_INCLUDES += -I$(EPICS_BASE_INCLUDE) -I$(EPICS_BASE_INCLUDE)/os/$(OS_CLASS)
# Find all sources and set vpath accordingly.
$(foreach file, ${SRCS} ${TEMPLS} ${DBDINSTALLS} ${SCR}, $(eval vpath $(notdir ${file}) ../$(dir ${file})))
......@@ -861,50 +849,6 @@ ${VERSIONFILE}:
${REGISTRYFILE}: ${MODULEDBD}
$(PERL) $(EPICS_BASE_HOST_BIN)/registerRecordDeviceDriver.pl $< $(basename $@) | grep -v 'iocshRegisterCommon();' > $@
# 3.14.12 complains if this rule is not overwritten
./%Include.dbd:
# Add missing epicsExportAddress() calls for registry.
define makexportfile
BEGIN { print "/* This is a generated file. Do not modify! */"; \
print "#include <drvSup.h>"; \
print "#include <devSup.h>"; \
print "#include <recSup.h>"; \
print "#include <registryFunction.h>"; \
print "#include <epicsExport.h>"; \
print "/* These are the RegisterFunction and ExportAddress calls missing for 3.14 compatible code. */"; \
} \
/ U pvar_func_register_func_/ {name=substr($$2,25); func_missing[name]=1; next;} \
/ [A-Z] pvar_func_register_func_/ {name=substr($$3,25); func_found[name]=1; next;} \
/ U pvar_func_/ {name=substr($$2,11); reg_missing[name]=1; next;} \
/ [A-Z] pvar_func_/ {name=substr($$3,11); reg_found[name]=1; next;} \
/ U pvar_/ {i=index(substr($$2,6),"_"); type=substr($$2,6,i-1); name=substr($$2,i+6); var_missing[name]=type; next;} \
/ [A-Z] pvar_/ {i=index(substr($$3,6),"_"); name=substr($$3,i+6); var_found[name]=1; next;} \
END {for (name in func_missing) if (!func_found[name]) { \
print "void " name "();"; \
print "epicsRegisterFunction(" name ");"} \
for (name in reg_missing) if (!reg_found[name]) { \
print "extern REGISTRYFUNCTION " name ";"; \
print "epicsExportRegistrar(" name ");"} \
for (name in var_missing) if (!var_found[name]) { \
type = var_missing[name]; \
print "extern " type " " name ";"; \
print "epicsExportAddress(" type ", " name ");"} \
}
endef
CORELIB = ${CORELIB_${OS_CLASS}}
LSUFFIX_YES=$(SHRLIB_SUFFIX)
LSUFFIX_NO=$(LIB_SUFFIX)
LSUFFIX=$(LSUFFIX_$(SHARED_LIBRARIES))
${EXPORTFILE}: $(filter-out $(basename ${EXPORTFILE})$(OBJ),${LIBOBJS})
$(RM) $@
$(NM) $^ ${BASELIBS:%=${EPICS_BASE}/lib/${T_A}/${LIB_PREFIX}%$(LSUFFIX)} ${CORELIB} | awk '$(makexportfile)' > $@
${METAFILE}:
@echo "wrapper_url: '$(${PRJ}_E3_GIT_URL)'" > $@
@echo "wrapper_git_desc: '$(${PRJ}_E3_GIT_DESC)'" >> $@
......
......@@ -3,7 +3,7 @@
# -*- mode: sh -*-
#
# Copyright (c) 2004 - 2017 Paul Scherrer Institute
# Copyright (c) 2017 - 2019 European Spallation Source ERIC
# Copyright (c) 2017 - 2021 European Spallation Source ERIC
#
# The program is free software: you can redistribute
# it and/or modify it under the terms of the GNU General Public License
......@@ -20,8 +20,10 @@
#
#
# PSI original iocsh author : Dirk Zimoch
# ESS specific iocsh author : Jeong Han Lee
# email : han.lee@esss.se
# ESS author : Jeong Han Lee
# ESS maintainer : Simon Rose
# email : simon.rose@ess.eu
# date : 2021-12-10
#
#
......@@ -39,8 +41,7 @@ function read_file_get_string {
# Base Code is defined with 8 digits numbers
# Two digits are enough to cover all others (I think)
# 3.15.5 : 03150500
# 3.14.12.7 : 03141207
# 7.0.6.1 : 07000601
#
# First Two : 00 (EPICS VERSION)
# Second Two : 00 (EPICS_REVISION)
......
......@@ -16,11 +16,12 @@
# this program. If not, see https://www.gnu.org/licenses/gpl-2.0.txt
#
# PSI original author : Dirk Zimoch
# ESS specific author : Jeong Han Lee
# email : han.lee@esss.se
# ESS original author : Jeong Han Lee
# ESS current author : Simon Rose
# email : simon.rose@ess.eu
#
# Date : Wednesday, November 29 13:46:39 CET 2017
# version : 0.0.1
# Date : Mon Dec 6 20:57:10 CET 2021
# version : 3.4.1
# This is the one time path in order to compile and install
......
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