From 49b323b93c4aba4dbdc5d49094eaea56db876b7a Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Mon, 5 Nov 2018 15:57:55 -0800 Subject: [PATCH 1/9] avoided embedded TOP for non sub-modules --- .../configure => configure}/CONFIG_CA_MODULE | 0 .../configure => configure}/CONFIG_CA_VERSION | 0 .../CONFIG_DATABASE_MODULE | 0 .../CONFIG_DATABASE_VERSION | 0 .../CONFIG_LIBCOM_MODULE | 0 .../CONFIG_LIBCOM_VERSION | 0 configure/Makefile | 9 ++ modules/Makefile | 8 +- modules/ca/.ci/travis-build.sh | 21 --- modules/ca/.ci/travis-prepare.sh | 132 ----------------- modules/ca/.travis.yml | 26 ---- modules/ca/Makefile | 6 +- modules/ca/configure/CONFIG | 28 ---- modules/ca/configure/CONFIG_SITE | 42 ------ modules/ca/configure/Makefile | 15 -- modules/ca/configure/RELEASE | 39 ----- modules/ca/configure/RULES | 6 - modules/ca/configure/RULES_DIRS | 2 - modules/ca/configure/RULES_TOP | 2 - modules/ca/src/Makefile | 2 +- modules/ca/src/client/Makefile | 6 +- modules/ca/src/perl/Makefile | 2 +- modules/ca/src/template/Makefile | 2 +- modules/ca/src/tools/Makefile | 2 +- modules/database/.ci/travis-build.sh | 21 --- modules/database/.ci/travis-prepare.sh | 133 ------------------ modules/database/.travis.yml | 26 ---- modules/database/Makefile | 5 +- modules/database/configure/CONFIG | 36 ----- modules/database/configure/CONFIG_SITE | 42 ------ modules/database/configure/Makefile | 15 -- modules/database/configure/RELEASE | 40 ------ modules/database/configure/RULES | 6 - modules/database/configure/RULES.ioc | 2 - modules/database/configure/RULES_DIRS | 2 - modules/database/configure/RULES_TOP | 2 - modules/database/src/Makefile | 2 +- modules/database/src/ioc/Makefile | 8 +- modules/database/src/std/Makefile | 8 +- modules/database/src/template/Makefile | 2 +- modules/database/src/tools/Makefile | 2 +- modules/database/test/Makefile | 2 +- modules/database/test/ioc/db/Makefile | 7 +- modules/database/test/ioc/dbtemplate/Makefile | 2 +- modules/database/test/std/filters/Makefile | 4 +- modules/database/test/std/link/Makefile | 2 + modules/database/test/std/rec/Makefile | 4 +- modules/database/test/tools/Makefile | 2 +- modules/libcom/.ci/travis-build.sh | 21 --- modules/libcom/.ci/travis-prepare.sh | 123 ---------------- modules/libcom/.travis.yml | 26 ---- modules/libcom/Makefile | 7 +- modules/libcom/RTEMS/Makefile | 2 +- modules/libcom/configure/CONFIG | 44 ------ modules/libcom/configure/CONFIG_SITE | 42 ------ modules/libcom/configure/Makefile | 15 -- modules/libcom/configure/RELEASE | 38 ----- modules/libcom/configure/RULES | 6 - modules/libcom/configure/RULES_DIRS | 2 - modules/libcom/configure/RULES_TOP | 2 - modules/libcom/src/Makefile | 6 +- modules/libcom/test/Makefile | 2 +- modules/libcom/vxWorks/Makefile | 2 +- 63 files changed, 60 insertions(+), 1003 deletions(-) rename {modules/ca/configure => configure}/CONFIG_CA_MODULE (100%) rename {modules/ca/configure => configure}/CONFIG_CA_VERSION (100%) rename {modules/database/configure => configure}/CONFIG_DATABASE_MODULE (100%) rename {modules/database/configure => configure}/CONFIG_DATABASE_VERSION (100%) rename {modules/libcom/configure => configure}/CONFIG_LIBCOM_MODULE (100%) rename {modules/libcom/configure => configure}/CONFIG_LIBCOM_VERSION (100%) delete mode 100755 modules/ca/.ci/travis-build.sh delete mode 100755 modules/ca/.ci/travis-prepare.sh delete mode 100644 modules/ca/.travis.yml delete mode 100644 modules/ca/configure/CONFIG delete mode 100644 modules/ca/configure/CONFIG_SITE delete mode 100644 modules/ca/configure/Makefile delete mode 100644 modules/ca/configure/RELEASE delete mode 100644 modules/ca/configure/RULES delete mode 100644 modules/ca/configure/RULES_DIRS delete mode 100644 modules/ca/configure/RULES_TOP delete mode 100755 modules/database/.ci/travis-build.sh delete mode 100755 modules/database/.ci/travis-prepare.sh delete mode 100644 modules/database/.travis.yml delete mode 100644 modules/database/configure/CONFIG delete mode 100644 modules/database/configure/CONFIG_SITE delete mode 100644 modules/database/configure/Makefile delete mode 100644 modules/database/configure/RELEASE delete mode 100644 modules/database/configure/RULES delete mode 100644 modules/database/configure/RULES.ioc delete mode 100644 modules/database/configure/RULES_DIRS delete mode 100644 modules/database/configure/RULES_TOP delete mode 100755 modules/libcom/.ci/travis-build.sh delete mode 100755 modules/libcom/.ci/travis-prepare.sh delete mode 100644 modules/libcom/.travis.yml delete mode 100644 modules/libcom/configure/CONFIG delete mode 100644 modules/libcom/configure/CONFIG_SITE delete mode 100644 modules/libcom/configure/Makefile delete mode 100644 modules/libcom/configure/RELEASE delete mode 100644 modules/libcom/configure/RULES delete mode 100644 modules/libcom/configure/RULES_DIRS delete mode 100644 modules/libcom/configure/RULES_TOP diff --git a/modules/ca/configure/CONFIG_CA_MODULE b/configure/CONFIG_CA_MODULE similarity index 100% rename from modules/ca/configure/CONFIG_CA_MODULE rename to configure/CONFIG_CA_MODULE diff --git a/modules/ca/configure/CONFIG_CA_VERSION b/configure/CONFIG_CA_VERSION similarity index 100% rename from modules/ca/configure/CONFIG_CA_VERSION rename to configure/CONFIG_CA_VERSION diff --git a/modules/database/configure/CONFIG_DATABASE_MODULE b/configure/CONFIG_DATABASE_MODULE similarity index 100% rename from modules/database/configure/CONFIG_DATABASE_MODULE rename to configure/CONFIG_DATABASE_MODULE diff --git a/modules/database/configure/CONFIG_DATABASE_VERSION b/configure/CONFIG_DATABASE_VERSION similarity index 100% rename from modules/database/configure/CONFIG_DATABASE_VERSION rename to configure/CONFIG_DATABASE_VERSION diff --git a/modules/libcom/configure/CONFIG_LIBCOM_MODULE b/configure/CONFIG_LIBCOM_MODULE similarity index 100% rename from modules/libcom/configure/CONFIG_LIBCOM_MODULE rename to configure/CONFIG_LIBCOM_MODULE diff --git a/modules/libcom/configure/CONFIG_LIBCOM_VERSION b/configure/CONFIG_LIBCOM_VERSION similarity index 100% rename from modules/libcom/configure/CONFIG_LIBCOM_VERSION rename to configure/CONFIG_LIBCOM_VERSION diff --git a/configure/Makefile b/configure/Makefile index 377879766..f48278dd3 100644 --- a/configure/Makefile +++ b/configure/Makefile @@ -20,5 +20,14 @@ CONFIGS += $(subst ../,,$(wildcard ../os/CONFIG*)) CONFIGS += $(subst ../,,$(wildcard ../RELEASE*)) CONFIGS += $(subst ../,,$(wildcard ../RULES*)) +CFG += CONFIG_LIBCOM_MODULE +CFG += CONFIG_LIBCOM_VERSION + +CFG += CONFIG_CA_MODULE +CFG += CONFIG_CA_VERSION + +CFG += CONFIG_DATABASE_MODULE +CFG += CONFIG_DATABASE_VERSION + include $(TOP)/configure/RULES diff --git a/modules/Makefile b/modules/Makefile index 214e914f1..e1ce468c4 100644 --- a/modules/Makefile +++ b/modules/Makefile @@ -6,15 +6,15 @@ TOP = .. include $(TOP)/configure/CONFIG -# Submodules for bundle build -SUBMODULES += libcom +DIRS += libcom -SUBMODULES += ca +DIRS += ca ca_DEPEND_DIRS = libcom -SUBMODULES += database +DIRS += database database_DEPEND_DIRS = ca +# Submodules for bundle build SUBMODULES += pvData pvData_DEPEND_DIRS = libcom diff --git a/modules/ca/.ci/travis-build.sh b/modules/ca/.ci/travis-build.sh deleted file mode 100755 index 622979b9d..000000000 --- a/modules/ca/.ci/travis-build.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -set -e -x - -# set RTEMS to eg. "4.9" or "4.10" -# requires qemu, bison, flex, texinfo, install-info -if [ -n "$RTEMS" ] -then - # find local qemu-system-i386 - export PATH="$HOME/.cache/qemu/usr/bin:$PATH" - echo -n "Using QEMU: " - type qemu-system-i386 || echo "Missing qemu" - EXTRA=RTEMS_QEMU_FIXUPS=YES -fi - -make -j2 $EXTRA - -if [ "$TEST" != "NO" ] -then - make -j2 tapfiles - make -s test-results -fi diff --git a/modules/ca/.ci/travis-prepare.sh b/modules/ca/.ci/travis-prepare.sh deleted file mode 100755 index 85dc8d7ce..000000000 --- a/modules/ca/.ci/travis-prepare.sh +++ /dev/null @@ -1,132 +0,0 @@ -#!/bin/sh -set -e -x - -CURDIR="$PWD" - -QDIR="$HOME/.cache/qemu" - -if [ -n "$RTEMS" -a "$TEST" = "YES" ] -then - git clone --quiet --branch vme --depth 10 https://github.com/mdavidsaver/qemu.git "$HOME/.build/qemu" - cd "$HOME/.build/qemu" - - HEAD=`git log -n1 --pretty=format:%H` - echo "HEAD revision $HEAD" - - [ -e "$HOME/.cache/qemu/built" ] && BUILT=`cat "$HOME/.cache/qemu/built"` - echo "Cached revision $BUILT" - - if [ "$HEAD" != "$BUILT" ] - then - echo "Building QEMU" - git submodule --quiet update --init - - install -d "$HOME/.build/qemu/build" - cd "$HOME/.build/qemu/build" - - "$HOME/.build/qemu/configure" --prefix="$HOME/.cache/qemu/usr" --target-list=i386-softmmu --disable-werror - make -j2 - make install - - echo "$HEAD" > "$HOME/.cache/qemu/built" - fi -fi - -cd "$CURDIR" - -cat << EOF > configure/RELEASE.local -EPICS_BASE=$HOME/.source/epics-base -EOF - -install -d "$HOME/.source" -cd "$HOME/.source" - -add_base_module() { - MODULE=$1 - BRANCH=$2 - ( cd epics-base/modules && \ - git clone --quiet --depth 5 --branch "$MODULE"/"$BRANCH" https://github.com/${REPOBASE:-epics-base}/epics-base.git "$MODULE" && \ - cd "$MODULE" && git log -n1 ) -} - -git clone --quiet --depth 5 --branch core/"${BRCORE:-master}" https://github.com/${REPOBASE:-epics-base}/epics-base.git epics-base -( cd epics-base && git log -n1 ) -add_base_module libcom "${BRLIBCOM:-master}" - -EPICS_HOST_ARCH=`sh epics-base/startup/EpicsHostArch` - -# requires wine and g++-mingw-w64-i686 -if [ "$WINE" = "32" ] -then - echo "Cross mingw32" - sed -i -e '/CMPLR_PREFIX/d' epics-base/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw - cat << EOF >> epics-base/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw -CMPLR_PREFIX=i686-w64-mingw32- -EOF - cat << EOF >> epics-base/configure/CONFIG_SITE -CROSS_COMPILER_TARGET_ARCHS+=win32-x86-mingw -EOF -fi - -if [ "$STATIC" = "YES" ] -then - echo "Build static libraries/executables" - cat << EOF >> epics-base/configure/CONFIG_SITE -SHARED_LIBRARIES=NO -STATIC_BUILD=YES -EOF -fi - -case "$CMPLR" in -clang) - echo "Host compiler is clang" - cat << EOF >> epics-base/configure/os/CONFIG_SITE.Common.$EPICS_HOST_ARCH -GNU = NO -CMPLR_CLASS = clang -CC = clang -CCC = clang++ -EOF - - # hack - sed -i -e 's/CMPLR_CLASS = gcc/CMPLR_CLASS = clang/' epics-base/configure/CONFIG.gnuCommon - - clang --version - ;; -*) - echo "Host compiler is default" - gcc --version - ;; -esac - -cat <> epics-base/configure/CONFIG_SITE -USR_CPPFLAGS += $USR_CPPFLAGS -USR_CFLAGS += $USR_CFLAGS -USR_CXXFLAGS += $USR_CXXFLAGS -EOF - -# set RTEMS to eg. "4.9" or "4.10" -# requires qemu, bison, flex, texinfo, install-info -if [ -n "$RTEMS" ] -then - echo "Cross RTEMS${RTEMS} for pc386" - install -d /home/travis/.cache - curl -L "https://github.com/mdavidsaver/rsb/releases/download/travis-20160306-2/rtems${RTEMS}-i386-trusty-20190306-2.tar.gz" \ - | tar -C /home/travis/.cache -xj - - sed -i -e '/^RTEMS_VERSION/d' -e '/^RTEMS_BASE/d' epics-base/configure/os/CONFIG_SITE.Common.RTEMS - cat << EOF >> epics-base/configure/os/CONFIG_SITE.Common.RTEMS -RTEMS_VERSION=$RTEMS -RTEMS_BASE=/home/travis/.cache/rtems${RTEMS}-i386 -EOF - cat << EOF >> epics-base/configure/CONFIG_SITE -CROSS_COMPILER_TARGET_ARCHS+=RTEMS-pc386 -EOF - - # find local qemu-system-i386 - export PATH="$HOME/.cache/qemu/usr/bin:$PATH" - echo -n "Using QEMU: " - type qemu-system-i386 || echo "Missing qemu" - EXTRA=RTEMS_QEMU_FIXUPS=YES -fi - -make -j2 -C epics-base $EXTRA diff --git a/modules/ca/.travis.yml b/modules/ca/.travis.yml deleted file mode 100644 index 5a99b886a..000000000 --- a/modules/ca/.travis.yml +++ /dev/null @@ -1,26 +0,0 @@ -sudo: false -dist: trusty -language: c -compiler: - - gcc -addons: - apt: - packages: - - libreadline6-dev - - libncurses5-dev - - perl - - clang - - g++-mingw-w64-i686 -install: - - ./.ci/travis-prepare.sh -script: - - ./.ci/travis-build.sh -env: - - BRCORE=master BRLIBCOM=master TEST=NO - - CMPLR=clang TEST=NO - - USR_CXXFLAGS=-std=c++11 TEST=NO - - CMPLR=clang USR_CXXFLAGS=-std=c++11 TEST=NO - - WINE=32 TEST=NO STATIC=YES - - WINE=32 TEST=NO STATIC=NO - - RTEMS=4.10 TEST=NO - - RTEMS=4.9 TEST=NO diff --git a/modules/ca/Makefile b/modules/ca/Makefile index 13feff6c2..eeb147b07 100644 --- a/modules/ca/Makefile +++ b/modules/ca/Makefile @@ -7,11 +7,9 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -TOP = . +TOP = ../.. include $(TOP)/configure/CONFIG -DIRS += configure src - -src_DEPEND_DIRS = configure +DIRS += src include $(TOP)/configure/RULES_TOP diff --git a/modules/ca/configure/CONFIG b/modules/ca/configure/CONFIG deleted file mode 100644 index 331fd7024..000000000 --- a/modules/ca/configure/CONFIG +++ /dev/null @@ -1,28 +0,0 @@ -# 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 - -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 diff --git a/modules/ca/configure/CONFIG_SITE b/modules/ca/configure/CONFIG_SITE deleted file mode 100644 index d78c7f514..000000000 --- a/modules/ca/configure/CONFIG_SITE +++ /dev/null @@ -1,42 +0,0 @@ -# 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 even 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-ppc32 - -# To install files into a location other than $(TOP) define -# INSTALL_LOCATION here. -#INSTALL_LOCATION= - -# Set this when the IOC and build host use different paths -# to the install location. This may be needed to boot from -# a Microsoft FTP server say, or on some NFS configurations. -#IOCS_APPL_TOP = - -# For application debugging purposes, override the HOST_OPT and/ -# or CROSS_OPT settings from base/configure/CONFIG_SITE -#HOST_OPT = NO -#CROSS_OPT = NO - -# 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 diff --git a/modules/ca/configure/Makefile b/modules/ca/configure/Makefile deleted file mode 100644 index e2f373893..000000000 --- a/modules/ca/configure/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -#************************************************************************* -# EPICS BASE is distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. -#************************************************************************* -TOP = .. - -include $(TOP)/configure/CONFIG - -TARGETS = $(CONFIG_TARGETS) -CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS))) - -CFG += CONFIG_CA_MODULE -CFG += CONFIG_CA_VERSION - -include $(TOP)/configure/RULES diff --git a/modules/ca/configure/RELEASE b/modules/ca/configure/RELEASE deleted file mode 100644 index a2d9f554a..000000000 --- a/modules/ca/configure/RELEASE +++ /dev/null @@ -1,39 +0,0 @@ -# RELEASE - Location of external support modules -# -# IF YOU CHANGE ANY PATHS in this file or make API changes to -# any modules it refers to, you should do a "make rebuild" in -# this application's top level directory. -# -# The EPICS build process does not check dependencies against -# any files from outside the application, so it is safest to -# rebuild it completely if any modules it depends on change. -# -# Host- or target-specific settings can be given in files named -# RELEASE.$(EPICS_HOST_ARCH).Common -# RELEASE.Common.$(T_A) -# RELEASE.$(EPICS_HOST_ARCH).$(T_A) -# -# This file is parsed by both GNUmake and an EPICS Perl script, -# so it may ONLY contain definititions of paths to other support -# modules, variable definitions that are used in module paths, -# and include statements that pull in other RELEASE files. -# Variables may be used before their values have been set. -# Build variables that are NOT used in paths should be set in -# the CONFIG_SITE file. - -# Variables and paths to dependent modules: -#MODULES = /path/to/modules -#MYMODULE = $(MODULES)/my-module - -# If building the EPICS modules individually, set these: -#EPICS_LIBCOM = $(MODULES)/libcom-3.17.0 -#EPICS_BASE = $(MODULES)/core-7.0.1 - -# Set RULES here if you want to use build rules from elsewhere: -#RULES = $(MODULES)/build-rules - -# 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 diff --git a/modules/ca/configure/RULES b/modules/ca/configure/RULES deleted file mode 100644 index 6d56e14e8..000000000 --- a/modules/ca/configure/RULES +++ /dev/null @@ -1,6 +0,0 @@ -# RULES - -include $(CONFIG)/RULES - -# Library should be rebuilt because LIBOBJS may have changed. -$(LIBNAME): ../Makefile diff --git a/modules/ca/configure/RULES_DIRS b/modules/ca/configure/RULES_DIRS deleted file mode 100644 index 3ba269dcc..000000000 --- a/modules/ca/configure/RULES_DIRS +++ /dev/null @@ -1,2 +0,0 @@ -#RULES_DIRS -include $(CONFIG)/RULES_DIRS diff --git a/modules/ca/configure/RULES_TOP b/modules/ca/configure/RULES_TOP deleted file mode 100644 index 2b8cbc6da..000000000 --- a/modules/ca/configure/RULES_TOP +++ /dev/null @@ -1,2 +0,0 @@ -#RULES_TOP -include $(CONFIG)/RULES_TOP diff --git a/modules/ca/src/Makefile b/modules/ca/src/Makefile index 650b3550f..335cec67e 100644 --- a/modules/ca/src/Makefile +++ b/modules/ca/src/Makefile @@ -7,7 +7,7 @@ # in the file LICENSE that is included with this distribution. #************************************************************************* -TOP = .. +TOP = ../../.. include $(TOP)/configure/CONFIG # Channel Access Client diff --git a/modules/ca/src/client/Makefile b/modules/ca/src/client/Makefile index c5fc5c49d..cae6ee065 100644 --- a/modules/ca/src/client/Makefile +++ b/modules/ca/src/client/Makefile @@ -6,8 +6,8 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* - -TOP = ../.. +CURDIR := $(or $(dir $(lastword $(MAKEFILE_LIST))), .) +TOP = ../../../.. include $(TOP)/configure/CONFIG @@ -109,7 +109,7 @@ EXPAND += S99caRepeater@ EXPAND += caRepeater.service@ EXPAND_VARS = INSTALL_BIN=$(abspath $(INSTALL_BIN)) -SRC_DIRS += $(TOP)/src/client/test +SRC_DIRS += $(CURDIR)/test PROD_HOST += ca_test ca_test_SRCS = ca_test_main.c ca_test.c ca_test_LIBS = ca Com diff --git a/modules/ca/src/perl/Makefile b/modules/ca/src/perl/Makefile index 5b2bd5920..65f42ee3a 100644 --- a/modules/ca/src/perl/Makefile +++ b/modules/ca/src/perl/Makefile @@ -5,7 +5,7 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -TOP = ../.. +TOP = ../../../.. include $(TOP)/configure/CONFIG # Special settings for Darwin: diff --git a/modules/ca/src/template/Makefile b/modules/ca/src/template/Makefile index 913d92bf4..8683dfd3c 100644 --- a/modules/ca/src/template/Makefile +++ b/modules/ca/src/template/Makefile @@ -1,4 +1,4 @@ -TOP=../.. +TOP=../../../.. include $(TOP)/configure/CONFIG diff --git a/modules/ca/src/tools/Makefile b/modules/ca/src/tools/Makefile index 7ebcc021b..c56e21eca 100644 --- a/modules/ca/src/tools/Makefile +++ b/modules/ca/src/tools/Makefile @@ -9,7 +9,7 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -TOP = ../.. +TOP = ../../../.. include $(TOP)/configure/CONFIG diff --git a/modules/database/.ci/travis-build.sh b/modules/database/.ci/travis-build.sh deleted file mode 100755 index 622979b9d..000000000 --- a/modules/database/.ci/travis-build.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -set -e -x - -# set RTEMS to eg. "4.9" or "4.10" -# requires qemu, bison, flex, texinfo, install-info -if [ -n "$RTEMS" ] -then - # find local qemu-system-i386 - export PATH="$HOME/.cache/qemu/usr/bin:$PATH" - echo -n "Using QEMU: " - type qemu-system-i386 || echo "Missing qemu" - EXTRA=RTEMS_QEMU_FIXUPS=YES -fi - -make -j2 $EXTRA - -if [ "$TEST" != "NO" ] -then - make -j2 tapfiles - make -s test-results -fi diff --git a/modules/database/.ci/travis-prepare.sh b/modules/database/.ci/travis-prepare.sh deleted file mode 100755 index ce2c18b5d..000000000 --- a/modules/database/.ci/travis-prepare.sh +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/sh -set -e -x - -CURDIR="$PWD" - -QDIR="$HOME/.cache/qemu" - -if [ -n "$RTEMS" -a "$TEST" = "YES" ] -then - git clone --quiet --branch vme --depth 10 https://github.com/mdavidsaver/qemu.git "$HOME/.build/qemu" - cd "$HOME/.build/qemu" - - HEAD=`git log -n1 --pretty=format:%H` - echo "HEAD revision $HEAD" - - [ -e "$HOME/.cache/qemu/built" ] && BUILT=`cat "$HOME/.cache/qemu/built"` - echo "Cached revision $BUILT" - - if [ "$HEAD" != "$BUILT" ] - then - echo "Building QEMU" - git submodule --quiet update --init - - install -d "$HOME/.build/qemu/build" - cd "$HOME/.build/qemu/build" - - "$HOME/.build/qemu/configure" --prefix="$HOME/.cache/qemu/usr" --target-list=i386-softmmu --disable-werror - make -j2 - make install - - echo "$HEAD" > "$HOME/.cache/qemu/built" - fi -fi - -cd "$CURDIR" - -cat << EOF > configure/RELEASE.local -EPICS_BASE=$HOME/.source/epics-base -EOF - -install -d "$HOME/.source" -cd "$HOME/.source" - -add_base_module() { - MODULE=$1 - BRANCH=$2 - ( cd epics-base/modules && \ - git clone --quiet --depth 5 --branch "$MODULE"/"$BRANCH" https://github.com/${REPOBASE:-epics-base}/epics-base.git "$MODULE" && \ - cd "$MODULE" && git log -n1 ) -} - -git clone --quiet --depth 5 --branch core/"${BRCORE:-master}" https://github.com/${REPOBASE:-epics-base}/epics-base.git epics-base -( cd epics-base && git log -n1 ) -add_base_module libcom "${BRLIBCOM:-master}" -add_base_module ca "${BRCA:-master}" - -EPICS_HOST_ARCH=`sh epics-base/startup/EpicsHostArch` - -# requires wine and g++-mingw-w64-i686 -if [ "$WINE" = "32" ] -then - echo "Cross mingw32" - sed -i -e '/CMPLR_PREFIX/d' epics-base/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw - cat << EOF >> epics-base/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw -CMPLR_PREFIX=i686-w64-mingw32- -EOF - cat << EOF >> epics-base/configure/CONFIG_SITE -CROSS_COMPILER_TARGET_ARCHS+=win32-x86-mingw -EOF -fi - -if [ "$STATIC" = "YES" ] -then - echo "Build static libraries/executables" - cat << EOF >> epics-base/configure/CONFIG_SITE -SHARED_LIBRARIES=NO -STATIC_BUILD=YES -EOF -fi - -case "$CMPLR" in -clang) - echo "Host compiler is clang" - cat << EOF >> epics-base/configure/os/CONFIG_SITE.Common.$EPICS_HOST_ARCH -GNU = NO -CMPLR_CLASS = clang -CC = clang -CCC = clang++ -EOF - - # hack - sed -i -e 's/CMPLR_CLASS = gcc/CMPLR_CLASS = clang/' epics-base/configure/CONFIG.gnuCommon - - clang --version - ;; -*) - echo "Host compiler is default" - gcc --version - ;; -esac - -cat <> epics-base/configure/CONFIG_SITE -USR_CPPFLAGS += $USR_CPPFLAGS -USR_CFLAGS += $USR_CFLAGS -USR_CXXFLAGS += $USR_CXXFLAGS -EOF - -# set RTEMS to eg. "4.9" or "4.10" -# requires qemu, bison, flex, texinfo, install-info -if [ -n "$RTEMS" ] -then - echo "Cross RTEMS${RTEMS} for pc386" - install -d /home/travis/.cache - curl -L "https://github.com/mdavidsaver/rsb/releases/download/travis-20160306-2/rtems${RTEMS}-i386-trusty-20190306-2.tar.gz" \ - | tar -C /home/travis/.cache -xj - - sed -i -e '/^RTEMS_VERSION/d' -e '/^RTEMS_BASE/d' epics-base/configure/os/CONFIG_SITE.Common.RTEMS - cat << EOF >> epics-base/configure/os/CONFIG_SITE.Common.RTEMS -RTEMS_VERSION=$RTEMS -RTEMS_BASE=/home/travis/.cache/rtems${RTEMS}-i386 -EOF - cat << EOF >> epics-base/configure/CONFIG_SITE -CROSS_COMPILER_TARGET_ARCHS+=RTEMS-pc386 -EOF - - # find local qemu-system-i386 - export PATH="$HOME/.cache/qemu/usr/bin:$PATH" - echo -n "Using QEMU: " - type qemu-system-i386 || echo "Missing qemu" - EXTRA=RTEMS_QEMU_FIXUPS=YES -fi - -make -j2 -C epics-base $EXTRA diff --git a/modules/database/.travis.yml b/modules/database/.travis.yml deleted file mode 100644 index 127ae7bc9..000000000 --- a/modules/database/.travis.yml +++ /dev/null @@ -1,26 +0,0 @@ -sudo: false -dist: trusty -language: c -compiler: - - gcc -addons: - apt: - packages: - - libreadline6-dev - - libncurses5-dev - - perl - - clang - - g++-mingw-w64-i686 -install: - - ./.ci/travis-prepare.sh -script: - - ./.ci/travis-build.sh -env: - - BRCORE=master BRLIBCOM=master BRCA=master - - CMPLR=clang - - USR_CXXFLAGS=-std=c++11 - - CMPLR=clang USR_CXXFLAGS=-std=c++11 - - WINE=32 TEST=NO STATIC=YES - - WINE=32 TEST=NO STATIC=NO - - RTEMS=4.10 TEST=NO - - RTEMS=4.9 TEST=NO diff --git a/modules/database/Makefile b/modules/database/Makefile index 9998e6cf5..9bb746e82 100644 --- a/modules/database/Makefile +++ b/modules/database/Makefile @@ -7,11 +7,10 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -TOP = . +TOP = ../.. include $(TOP)/configure/CONFIG -DIRS += configure src -src_DEPEND_DIRS = configure +DIRS += src DIRS += test test_DEPEND_DIRS = src diff --git a/modules/database/configure/CONFIG b/modules/database/configure/CONFIG deleted file mode 100644 index c471407c4..000000000 --- a/modules/database/configure/CONFIG +++ /dev/null @@ -1,36 +0,0 @@ -# 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 - -BUILDING_DATABASE = DEFINED - -CONFIG = $(RULES)/configure -include $(CONFIG)/CONFIG - -# Override the Base definition: -INSTALL_LOCATION = $(TOP) - -# Use new RSET definition -BASE_CPPFLAGS += -DUSE_TYPED_RSET - -# Shared library ABI version. -SHRLIB_VERSION = $(EPICS_DATABASE_MAJOR_VERSION).$(EPICS_DATABASE_MINOR_VERSION).$(EPICS_DATABASE_MAINTENANCE_VERSION) - -# 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 diff --git a/modules/database/configure/CONFIG_SITE b/modules/database/configure/CONFIG_SITE deleted file mode 100644 index d78c7f514..000000000 --- a/modules/database/configure/CONFIG_SITE +++ /dev/null @@ -1,42 +0,0 @@ -# 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 even 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-ppc32 - -# To install files into a location other than $(TOP) define -# INSTALL_LOCATION here. -#INSTALL_LOCATION= - -# Set this when the IOC and build host use different paths -# to the install location. This may be needed to boot from -# a Microsoft FTP server say, or on some NFS configurations. -#IOCS_APPL_TOP = - -# For application debugging purposes, override the HOST_OPT and/ -# or CROSS_OPT settings from base/configure/CONFIG_SITE -#HOST_OPT = NO -#CROSS_OPT = NO - -# 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 diff --git a/modules/database/configure/Makefile b/modules/database/configure/Makefile deleted file mode 100644 index dd292091c..000000000 --- a/modules/database/configure/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -#************************************************************************* -# EPICS BASE is distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. -#************************************************************************* -TOP = .. - -include $(TOP)/configure/CONFIG - -TARGETS = $(CONFIG_TARGETS) -CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS))) - -CFG += CONFIG_DATABASE_MODULE -CFG += CONFIG_DATABASE_VERSION - -include $(TOP)/configure/RULES diff --git a/modules/database/configure/RELEASE b/modules/database/configure/RELEASE deleted file mode 100644 index 9b685a13e..000000000 --- a/modules/database/configure/RELEASE +++ /dev/null @@ -1,40 +0,0 @@ -# RELEASE - Location of external support modules -# -# IF YOU CHANGE ANY PATHS in this file or make API changes to -# any modules it refers to, you should do a "make rebuild" in -# this application's top level directory. -# -# The EPICS build process does not check dependencies against -# any files from outside the application, so it is safest to -# rebuild it completely if any modules it depends on change. -# -# Host- or target-specific settings can be given in files named -# RELEASE.$(EPICS_HOST_ARCH).Common -# RELEASE.Common.$(T_A) -# RELEASE.$(EPICS_HOST_ARCH).$(T_A) -# -# This file is parsed by both GNUmake and an EPICS Perl script, -# so it may ONLY contain definititions of paths to other support -# modules, variable definitions that are used in module paths, -# and include statements that pull in other RELEASE files. -# Variables may be used before their values have been set. -# Build variables that are NOT used in paths should be set in -# the CONFIG_SITE file. - -# Variables and paths to dependent modules: -#MODULES = /path/to/modules -#MYMODULE = $(MODULES)/my-module - -# If building the EPICS modules individually, set these: -#EPICS_CA = $(MODULES)/ca-4.13.1 -#EPICS_LIBCOM = $(MODULES)/libcom-3.17.0 -#EPICS_BASE = $(MODULES)/core-7.0.1 - -# Set RULES here if you want to use build rules from elsewhere: -#RULES = $(MODULES)/build-rules - -# 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 diff --git a/modules/database/configure/RULES b/modules/database/configure/RULES deleted file mode 100644 index 6d56e14e8..000000000 --- a/modules/database/configure/RULES +++ /dev/null @@ -1,6 +0,0 @@ -# RULES - -include $(CONFIG)/RULES - -# Library should be rebuilt because LIBOBJS may have changed. -$(LIBNAME): ../Makefile diff --git a/modules/database/configure/RULES.ioc b/modules/database/configure/RULES.ioc deleted file mode 100644 index 901987c6c..000000000 --- a/modules/database/configure/RULES.ioc +++ /dev/null @@ -1,2 +0,0 @@ -#RULES.ioc -include $(CONFIG)/RULES.ioc diff --git a/modules/database/configure/RULES_DIRS b/modules/database/configure/RULES_DIRS deleted file mode 100644 index 3ba269dcc..000000000 --- a/modules/database/configure/RULES_DIRS +++ /dev/null @@ -1,2 +0,0 @@ -#RULES_DIRS -include $(CONFIG)/RULES_DIRS diff --git a/modules/database/configure/RULES_TOP b/modules/database/configure/RULES_TOP deleted file mode 100644 index 2b8cbc6da..000000000 --- a/modules/database/configure/RULES_TOP +++ /dev/null @@ -1,2 +0,0 @@ -#RULES_TOP -include $(CONFIG)/RULES_TOP diff --git a/modules/database/src/Makefile b/modules/database/src/Makefile index dfd1d3be9..0cc46fa40 100644 --- a/modules/database/src/Makefile +++ b/modules/database/src/Makefile @@ -7,7 +7,7 @@ # in the file LICENSE that is included with this distribution. #************************************************************************* -TOP = .. +TOP = ../../.. include $(TOP)/configure/CONFIG # PDB Tools diff --git a/modules/database/src/ioc/Makefile b/modules/database/src/ioc/Makefile index 325872826..9ff00407d 100644 --- a/modules/database/src/ioc/Makefile +++ b/modules/database/src/ioc/Makefile @@ -6,12 +6,14 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -TOP=../.. +IOCDIR := $(or $(dir $(lastword $(MAKEFILE_LIST))), .) +TOP=../../../.. include $(TOP)/configure/CONFIG -SRC = $(TOP)/src -IOCDIR = $(SRC)/ioc +USR_CPPFLAGS += -DUSE_TYPED_RSET + +SHRLIB_VERSION = 3.17.0 LIBRARY_IOC += dbCore dbCore_LIBS += ca Com diff --git a/modules/database/src/std/Makefile b/modules/database/src/std/Makefile index 20a8658cb..2434bf0a4 100644 --- a/modules/database/src/std/Makefile +++ b/modules/database/src/std/Makefile @@ -6,11 +6,13 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* - -TOP = ../.. +STDDIR := $(or $(dir $(lastword $(MAKEFILE_LIST))), .) +TOP = ../../../.. include $(TOP)/configure/CONFIG -STDDIR=$(TOP)/src/std +USR_CPPFLAGS += -DUSE_TYPED_RSET + +SHRLIB_VERSION = 3.17.0 LIBRARY_IOC += dbRecStd dbRecStd_LIBS = dbCore ca Com diff --git a/modules/database/src/template/Makefile b/modules/database/src/template/Makefile index 6259b6fca..8dfc6c6f3 100644 --- a/modules/database/src/template/Makefile +++ b/modules/database/src/template/Makefile @@ -1,4 +1,4 @@ -TOP=../.. +TOP=../../../.. include $(TOP)/configure/CONFIG diff --git a/modules/database/src/tools/Makefile b/modules/database/src/tools/Makefile index e19c0c58f..bfd329fbe 100644 --- a/modules/database/src/tools/Makefile +++ b/modules/database/src/tools/Makefile @@ -4,7 +4,7 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* -TOP=../.. +TOP=../../../.. include $(TOP)/configure/CONFIG diff --git a/modules/database/test/Makefile b/modules/database/test/Makefile index 0f2c64263..b54d01757 100644 --- a/modules/database/test/Makefile +++ b/modules/database/test/Makefile @@ -7,7 +7,7 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -TOP = .. +TOP = ../../.. include $(TOP)/configure/CONFIG DIRS += ioc/db diff --git a/modules/database/test/ioc/db/Makefile b/modules/database/test/ioc/db/Makefile index e1f06cd3b..ee2ab7632 100644 --- a/modules/database/test/ioc/db/Makefile +++ b/modules/database/test/ioc/db/Makefile @@ -6,12 +6,13 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in the file LICENSE that is included with this distribution. #************************************************************************* - -TOP = ../../.. +CURDIR := $(or $(dir $(lastword $(MAKEFILE_LIST))), .) +TOP = ../../../../.. include $(TOP)/configure/CONFIG # Allow access to private headers in db/ -USR_CPPFLAGS = -I $(TOP)/src/ioc/db +USR_CPPFLAGS += -I $(CURDIR)/../../../src/ioc/db +USR_CPPFLAGS += -DUSE_TYPED_RSET TESTLIBRARY = dbTestIoc diff --git a/modules/database/test/ioc/dbtemplate/Makefile b/modules/database/test/ioc/dbtemplate/Makefile index 4442a4ff8..dbb13f337 100644 --- a/modules/database/test/ioc/dbtemplate/Makefile +++ b/modules/database/test/ioc/dbtemplate/Makefile @@ -5,7 +5,7 @@ # in the file LICENSE that is included with this distribution. #************************************************************************* -TOP = ../../.. +TOP = ../../../../.. include $(TOP)/configure/CONFIG diff --git a/modules/database/test/std/filters/Makefile b/modules/database/test/std/filters/Makefile index 718b8d523..c95e10861 100644 --- a/modules/database/test/std/filters/Makefile +++ b/modules/database/test/std/filters/Makefile @@ -7,10 +7,12 @@ # in the file LICENSE that is included with this distribution. #************************************************************************* -TOP = ../../.. +TOP = ../../../../.. include $(TOP)/configure/CONFIG +USR_CPPFLAGS += -DUSE_TYPED_RSET + TESTLIBRARY = Recs Recs_SRCS += xRecord.c diff --git a/modules/database/test/std/link/Makefile b/modules/database/test/std/link/Makefile index 8540cdf84..c72301bea 100644 --- a/modules/database/test/std/link/Makefile +++ b/modules/database/test/std/link/Makefile @@ -8,6 +8,8 @@ TOP=../../.. include $(TOP)/configure/CONFIG +USR_CPPFLAGS += -DUSE_TYPED_RSET + TESTLIBRARY = Recs Recs_SRCS += ioRecord.c diff --git a/modules/database/test/std/rec/Makefile b/modules/database/test/std/rec/Makefile index 185c2c0c1..872087521 100644 --- a/modules/database/test/std/rec/Makefile +++ b/modules/database/test/std/rec/Makefile @@ -7,9 +7,11 @@ # in the file LICENSE that is included with this distribution. #************************************************************************* -TOP = ../../.. +TOP = ../../../../.. include $(TOP)/configure/CONFIG +USR_CPPFLAGS += -DUSE_TYPED_RSET + TESTLIBRARY = dbRecStdTest dbRecStdTest_SRCS += asTestLib.c diff --git a/modules/database/test/tools/Makefile b/modules/database/test/tools/Makefile index ac7f42071..2dd045e8e 100644 --- a/modules/database/test/tools/Makefile +++ b/modules/database/test/tools/Makefile @@ -5,7 +5,7 @@ # in the file LICENSE that is included with this distribution. #************************************************************************* -TOP = ../.. +TOP = ../../../.. include $(TOP)/configure/CONFIG diff --git a/modules/libcom/.ci/travis-build.sh b/modules/libcom/.ci/travis-build.sh deleted file mode 100755 index 622979b9d..000000000 --- a/modules/libcom/.ci/travis-build.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -set -e -x - -# set RTEMS to eg. "4.9" or "4.10" -# requires qemu, bison, flex, texinfo, install-info -if [ -n "$RTEMS" ] -then - # find local qemu-system-i386 - export PATH="$HOME/.cache/qemu/usr/bin:$PATH" - echo -n "Using QEMU: " - type qemu-system-i386 || echo "Missing qemu" - EXTRA=RTEMS_QEMU_FIXUPS=YES -fi - -make -j2 $EXTRA - -if [ "$TEST" != "NO" ] -then - make -j2 tapfiles - make -s test-results -fi diff --git a/modules/libcom/.ci/travis-prepare.sh b/modules/libcom/.ci/travis-prepare.sh deleted file mode 100755 index 9a4d23772..000000000 --- a/modules/libcom/.ci/travis-prepare.sh +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/sh -set -e -x - -CURDIR="$PWD" - -QDIR="$HOME/.cache/qemu" - -if [ -n "$RTEMS" -a "$TEST" = "YES" ] -then - git clone --quiet --branch vme --depth 10 https://github.com/mdavidsaver/qemu.git "$HOME/.build/qemu" - cd "$HOME/.build/qemu" - - HEAD=`git log -n1 --pretty=format:%H` - echo "HEAD revision $HEAD" - - [ -e "$HOME/.cache/qemu/built" ] && BUILT=`cat "$HOME/.cache/qemu/built"` - echo "Cached revision $BUILT" - - if [ "$HEAD" != "$BUILT" ] - then - echo "Building QEMU" - git submodule --quiet update --init - - install -d "$HOME/.build/qemu/build" - cd "$HOME/.build/qemu/build" - - "$HOME/.build/qemu/configure" --prefix="$HOME/.cache/qemu/usr" --target-list=i386-softmmu --disable-werror - make -j2 - make install - - echo "$HEAD" > "$HOME/.cache/qemu/built" - fi -fi - -cd "$CURDIR" - -cat << EOF > configure/RELEASE.local -EPICS_BASE=$HOME/.source/epics-base -EOF - -install -d "$HOME/.source" -cd "$HOME/.source" - -git clone --quiet --depth 5 --branch core/"${BRCORE:-master}" https://github.com/${REPOBASE:-epics-base}/epics-base.git epics-base -(cd epics-base && git log -n1 ) - -EPICS_HOST_ARCH=`sh epics-base/startup/EpicsHostArch` - -# requires wine and g++-mingw-w64-i686 -if [ "$WINE" = "32" ] -then - echo "Cross mingw32" - sed -i -e '/CMPLR_PREFIX/d' epics-base/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw - cat << EOF >> epics-base/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw -CMPLR_PREFIX=i686-w64-mingw32- -EOF - cat << EOF >> epics-base/configure/CONFIG_SITE -CROSS_COMPILER_TARGET_ARCHS+=win32-x86-mingw -EOF -fi - -if [ "$STATIC" = "YES" ] -then - echo "Build static libraries/executables" - cat << EOF >> epics-base/configure/CONFIG_SITE -SHARED_LIBRARIES=NO -STATIC_BUILD=YES -EOF -fi - -case "$CMPLR" in -clang) - echo "Host compiler is clang" - cat << EOF >> epics-base/configure/os/CONFIG_SITE.Common.$EPICS_HOST_ARCH -GNU = NO -CMPLR_CLASS = clang -CC = clang -CCC = clang++ -EOF - - # hack - sed -i -e 's/CMPLR_CLASS = gcc/CMPLR_CLASS = clang/' epics-base/configure/CONFIG.gnuCommon - - clang --version - ;; -*) - echo "Host compiler is default" - gcc --version - ;; -esac - -cat <> epics-base/configure/CONFIG_SITE -USR_CPPFLAGS += $USR_CPPFLAGS -USR_CFLAGS += $USR_CFLAGS -USR_CXXFLAGS += $USR_CXXFLAGS -EOF - -# set RTEMS to eg. "4.9" or "4.10" -# requires qemu, bison, flex, texinfo, install-info -if [ -n "$RTEMS" ] -then - echo "Cross RTEMS${RTEMS} for pc386" - install -d /home/travis/.cache - curl -L "https://github.com/mdavidsaver/rsb/releases/download/travis-20160306-2/rtems${RTEMS}-i386-trusty-20190306-2.tar.gz" \ - | tar -C /home/travis/.cache -xj - - sed -i -e '/^RTEMS_VERSION/d' -e '/^RTEMS_BASE/d' epics-base/configure/os/CONFIG_SITE.Common.RTEMS - cat << EOF >> epics-base/configure/os/CONFIG_SITE.Common.RTEMS -RTEMS_VERSION=$RTEMS -RTEMS_BASE=/home/travis/.cache/rtems${RTEMS}-i386 -EOF - cat << EOF >> epics-base/configure/CONFIG_SITE -CROSS_COMPILER_TARGET_ARCHS+=RTEMS-pc386 -EOF - - # find local qemu-system-i386 - export PATH="$HOME/.cache/qemu/usr/bin:$PATH" - echo -n "Using QEMU: " - type qemu-system-i386 || echo "Missing qemu" - EXTRA=RTEMS_QEMU_FIXUPS=YES -fi - -make -j2 -C epics-base $EXTRA diff --git a/modules/libcom/.travis.yml b/modules/libcom/.travis.yml deleted file mode 100644 index 8b1e2ab3e..000000000 --- a/modules/libcom/.travis.yml +++ /dev/null @@ -1,26 +0,0 @@ -sudo: false -dist: trusty -language: c -compiler: - - gcc -addons: - apt: - packages: - - libreadline6-dev - - libncurses5-dev - - perl - - clang - - g++-mingw-w64-i686 -install: - - ./.ci/travis-prepare.sh -script: - - ./.ci/travis-build.sh -env: - - BRCORE=master - - CMPLR=clang - - USR_CXXFLAGS=-std=c++11 - - CMPLR=clang USR_CXXFLAGS=-std=c++11 - - WINE=32 TEST=NO STATIC=YES - - WINE=32 TEST=NO STATIC=NO - - RTEMS=4.10 TEST=NO - - RTEMS=4.9 TEST=NO diff --git a/modules/libcom/Makefile b/modules/libcom/Makefile index 442a6f7d1..5a03a4348 100644 --- a/modules/libcom/Makefile +++ b/modules/libcom/Makefile @@ -7,11 +7,10 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -TOP = . +TOP = ../.. include $(TOP)/configure/CONFIG -DIRS += configure src -src_DEPEND_DIRS = configure +DIRS += src DIRS += RTEMS RTEMS_DEPEND_DIRS = src @@ -22,4 +21,4 @@ vxWorks_DEPEND_DIRS = src DIRS += test test_DEPEND_DIRS = RTEMS vxWorks -include $(TOP)/configure/RULES_TOP +include $(TOP)/configure/RULES_DIRS diff --git a/modules/libcom/RTEMS/Makefile b/modules/libcom/RTEMS/Makefile index 311c25024..b46889db1 100644 --- a/modules/libcom/RTEMS/Makefile +++ b/modules/libcom/RTEMS/Makefile @@ -7,7 +7,7 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -TOP = .. +TOP = ../../.. include $(TOP)/configure/CONFIG include $(TOP)/configure/CONFIG_LIBCOM_VERSION diff --git a/modules/libcom/configure/CONFIG b/modules/libcom/configure/CONFIG deleted file mode 100644 index 774ed251c..000000000 --- a/modules/libcom/configure/CONFIG +++ /dev/null @@ -1,44 +0,0 @@ -# CONFIG - Load build configuration data -# -# Do not make changes to this file! - -ifeq ($(strip $(EPICS_HOST_ARCH)),) - $(warning EPICS_HOST_ARCH is not set.) -endif - -# 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 - -ifeq ($(strip $(RULES)),) - ifeq ($(strip $(EPICS_BASE)),) - $(warning Build error: EPICS_BASE not set after including RELEASE files.) - else - $(warning Build error: EPICS_BASE set but RULES variable empty.) - endif - $(error Makefiles loaded: $(MAKEFILE_LIST)) - # Die before the include of $(CONFIG)/CONFIG below does -endif - -BUILDING_LIBCOM = DEFINED - -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 diff --git a/modules/libcom/configure/CONFIG_SITE b/modules/libcom/configure/CONFIG_SITE deleted file mode 100644 index d78c7f514..000000000 --- a/modules/libcom/configure/CONFIG_SITE +++ /dev/null @@ -1,42 +0,0 @@ -# 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 even 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-ppc32 - -# To install files into a location other than $(TOP) define -# INSTALL_LOCATION here. -#INSTALL_LOCATION= - -# Set this when the IOC and build host use different paths -# to the install location. This may be needed to boot from -# a Microsoft FTP server say, or on some NFS configurations. -#IOCS_APPL_TOP = - -# For application debugging purposes, override the HOST_OPT and/ -# or CROSS_OPT settings from base/configure/CONFIG_SITE -#HOST_OPT = NO -#CROSS_OPT = NO - -# 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 diff --git a/modules/libcom/configure/Makefile b/modules/libcom/configure/Makefile deleted file mode 100644 index 85a7b5843..000000000 --- a/modules/libcom/configure/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -#************************************************************************* -# EPICS BASE is distributed subject to a Software License Agreement found -# in file LICENSE that is included with this distribution. -#************************************************************************* -TOP = .. - -include $(TOP)/configure/CONFIG - -TARGETS = $(CONFIG_TARGETS) -CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS))) - -CFG += CONFIG_LIBCOM_MODULE -CFG += CONFIG_LIBCOM_VERSION - -include $(TOP)/configure/RULES diff --git a/modules/libcom/configure/RELEASE b/modules/libcom/configure/RELEASE deleted file mode 100644 index 819b441e7..000000000 --- a/modules/libcom/configure/RELEASE +++ /dev/null @@ -1,38 +0,0 @@ -# RELEASE - Location of external support modules -# -# IF YOU CHANGE ANY PATHS in this file or make API changes to -# any modules it refers to, you should do a "make rebuild" in -# this application's top level directory. -# -# The EPICS build process does not check dependencies against -# any files from outside the application, so it is safest to -# rebuild it completely if any modules it depends on change. -# -# Host- or target-specific settings can be given in files named -# RELEASE.$(EPICS_HOST_ARCH).Common -# RELEASE.Common.$(T_A) -# RELEASE.$(EPICS_HOST_ARCH).$(T_A) -# -# This file is parsed by both GNUmake and an EPICS Perl script, -# so it may ONLY contain definititions of paths to other support -# modules, variable definitions that are used in module paths, -# and include statements that pull in other RELEASE files. -# Variables may be used before their values have been set. -# Build variables that are NOT used in paths should be set in -# the CONFIG_SITE file. - -# Variables and paths to dependent modules: -#MODULES = /path/to/modules -#MYMODULE = $(MODULES)/my-module - -# If building the EPICS modules individually, set these: -#EPICS_BASE = $(MODULES)/core-7.0.1 - -# Set RULES here if you want to use build rules from elsewhere: -#RULES = $(MODULES)/build-rules - -# 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 diff --git a/modules/libcom/configure/RULES b/modules/libcom/configure/RULES deleted file mode 100644 index 6d56e14e8..000000000 --- a/modules/libcom/configure/RULES +++ /dev/null @@ -1,6 +0,0 @@ -# RULES - -include $(CONFIG)/RULES - -# Library should be rebuilt because LIBOBJS may have changed. -$(LIBNAME): ../Makefile diff --git a/modules/libcom/configure/RULES_DIRS b/modules/libcom/configure/RULES_DIRS deleted file mode 100644 index 3ba269dcc..000000000 --- a/modules/libcom/configure/RULES_DIRS +++ /dev/null @@ -1,2 +0,0 @@ -#RULES_DIRS -include $(CONFIG)/RULES_DIRS diff --git a/modules/libcom/configure/RULES_TOP b/modules/libcom/configure/RULES_TOP deleted file mode 100644 index 2b8cbc6da..000000000 --- a/modules/libcom/configure/RULES_TOP +++ /dev/null @@ -1,2 +0,0 @@ -#RULES_TOP -include $(CONFIG)/RULES_TOP diff --git a/modules/libcom/src/Makefile b/modules/libcom/src/Makefile index d61b26803..4a1c61e38 100644 --- a/modules/libcom/src/Makefile +++ b/modules/libcom/src/Makefile @@ -6,15 +6,13 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* - -TOP = .. +LIBCOM := $(or $(dir $(lastword $(MAKEFILE_LIST))), .) +TOP = ../../.. include $(TOP)/configure/CONFIG # Uncomment this to remove the (benign) valgrind helper stubs #USR_CFLAGS += -DNVALGRIND -LIBCOM = $(TOP)/src - INC += valgrind/valgrind.h INC += libComVersion.h diff --git a/modules/libcom/test/Makefile b/modules/libcom/test/Makefile index 1c26c44b7..87405f72f 100755 --- a/modules/libcom/test/Makefile +++ b/modules/libcom/test/Makefile @@ -7,7 +7,7 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -TOP = .. +TOP = ../../.. include $(TOP)/configure/CONFIG PROD_LIBS += Com diff --git a/modules/libcom/vxWorks/Makefile b/modules/libcom/vxWorks/Makefile index e2c0b5d2d..3eced3b08 100644 --- a/modules/libcom/vxWorks/Makefile +++ b/modules/libcom/vxWorks/Makefile @@ -5,7 +5,7 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -TOP = .. +TOP = ../../.. include $(TOP)/configure/CONFIG # Install Boost smart_ptr headers needed by VxWorks 6.x From d7841f407a7a62773fcab625384fa80d18fcf02a Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Mon, 31 Dec 2018 10:25:17 -0800 Subject: [PATCH 2/9] drop unnecessary *ModuleDirs --- modules/ca/src/perl/Makefile | 2 -- modules/ca/src/perl/capr.pl | 1 - modules/database/src/tools/Makefile | 2 -- modules/database/src/tools/dbExpand.pl | 1 - modules/database/src/tools/dbdExpand.pl | 1 - modules/database/src/tools/dbdReport.pl | 1 - modules/database/src/tools/dbdToHtml.pl | 1 - modules/database/src/tools/dbdToMenuH.pl | 1 - modules/database/src/tools/dbdToRecordtypeH.pl | 1 - modules/database/src/tools/registerRecordDeviceDriver.pl | 1 - modules/libcom/src/env/Makefile | 1 - modules/libcom/src/env/RULES | 2 +- modules/libcom/src/env/bldEnvData.pl | 1 - 13 files changed, 1 insertion(+), 15 deletions(-) diff --git a/modules/ca/src/perl/Makefile b/modules/ca/src/perl/Makefile index 65f42ee3a..12e0c82b5 100644 --- a/modules/ca/src/perl/Makefile +++ b/modules/ca/src/perl/Makefile @@ -42,8 +42,6 @@ ifeq ($(findstring $(OS_CLASS),WIN32 cygwin32),) # Doesn't build on WIN32 PERL_MODULES += CA.pm PERL_MODULES += $(PERL_ARCHPATH)/$(LOADABLE_SHRLIB_PREFIX)Cap5$(LOADABLE_SHRLIB_SUFFIX) - PERL_SCRIPTS += caModuleDirs.pm - HTMLS_DIR = . HTMLS = CA.html endif diff --git a/modules/ca/src/perl/capr.pl b/modules/ca/src/perl/capr.pl index e551afcef..ba5998a14 100644 --- a/modules/ca/src/perl/capr.pl +++ b/modules/ca/src/perl/capr.pl @@ -11,7 +11,6 @@ use strict; use FindBin qw($Bin); use lib ($Bin, "$Bin/../../lib/perl"); -use caModuleDirs; no lib $Bin; use Getopt::Std; diff --git a/modules/database/src/tools/Makefile b/modules/database/src/tools/Makefile index bfd329fbe..f54ab9c07 100644 --- a/modules/database/src/tools/Makefile +++ b/modules/database/src/tools/Makefile @@ -27,8 +27,6 @@ PERL_MODULES += DBD/Variable.pm PERL_MODULES += EPICS/IOC.pm HTMLS += EPICS/IOC.html -PERL_SCRIPTS += databaseModuleDirs.pm - PERL_SCRIPTS += makeIncludeDbd.pl PERL_SCRIPTS += dbdToMenuH.pl diff --git a/modules/database/src/tools/dbExpand.pl b/modules/database/src/tools/dbExpand.pl index 25cab26cc..35d7750d9 100644 --- a/modules/database/src/tools/dbExpand.pl +++ b/modules/database/src/tools/dbExpand.pl @@ -13,7 +13,6 @@ use strict; use FindBin qw($Bin); use lib ($Bin, "$Bin/../../lib/perl"); -use databaseModuleDirs; no lib $Bin; use DBD; diff --git a/modules/database/src/tools/dbdExpand.pl b/modules/database/src/tools/dbdExpand.pl index a87ef47bb..5f12dc23e 100644 --- a/modules/database/src/tools/dbdExpand.pl +++ b/modules/database/src/tools/dbdExpand.pl @@ -11,7 +11,6 @@ use strict; use FindBin qw($Bin); use lib ($Bin, "$Bin/../../lib/perl"); -use databaseModuleDirs; no lib $Bin; use DBD; diff --git a/modules/database/src/tools/dbdReport.pl b/modules/database/src/tools/dbdReport.pl index 0d4c85494..adc268345 100644 --- a/modules/database/src/tools/dbdReport.pl +++ b/modules/database/src/tools/dbdReport.pl @@ -9,7 +9,6 @@ use FindBin qw($Bin); use lib ($Bin, "$Bin/../../lib/perl"); -use databaseModuleDirs; no lib $Bin; use DBD; diff --git a/modules/database/src/tools/dbdToHtml.pl b/modules/database/src/tools/dbdToHtml.pl index e9711f757..fa1cc99d7 100644 --- a/modules/database/src/tools/dbdToHtml.pl +++ b/modules/database/src/tools/dbdToHtml.pl @@ -11,7 +11,6 @@ use strict; use FindBin qw($Bin); use lib ($Bin, "$Bin/../../lib/perl"); -use databaseModuleDirs; no lib $Bin; use DBD; diff --git a/modules/database/src/tools/dbdToMenuH.pl b/modules/database/src/tools/dbdToMenuH.pl index ac4345b42..30418a351 100644 --- a/modules/database/src/tools/dbdToMenuH.pl +++ b/modules/database/src/tools/dbdToMenuH.pl @@ -9,7 +9,6 @@ use FindBin qw($Bin); use lib ($Bin, "$Bin/../../lib/perl"); -use databaseModuleDirs; no lib $Bin; use EPICS::Getopts; diff --git a/modules/database/src/tools/dbdToRecordtypeH.pl b/modules/database/src/tools/dbdToRecordtypeH.pl index b1eb77d93..f1336a147 100644 --- a/modules/database/src/tools/dbdToRecordtypeH.pl +++ b/modules/database/src/tools/dbdToRecordtypeH.pl @@ -9,7 +9,6 @@ use FindBin qw($Bin); use lib ($Bin, "$Bin/../../lib/perl"); -use databaseModuleDirs; no lib $Bin; use EPICS::Getopts; diff --git a/modules/database/src/tools/registerRecordDeviceDriver.pl b/modules/database/src/tools/registerRecordDeviceDriver.pl index 02bb9b772..671d24051 100644 --- a/modules/database/src/tools/registerRecordDeviceDriver.pl +++ b/modules/database/src/tools/registerRecordDeviceDriver.pl @@ -13,7 +13,6 @@ use strict; use FindBin qw($Bin); use lib ($Bin, "$Bin/../../lib/perl"); -use databaseModuleDirs; no lib $Bin; use DBD; diff --git a/modules/libcom/src/env/Makefile b/modules/libcom/src/env/Makefile index 804426bc0..94322a228 100644 --- a/modules/libcom/src/env/Makefile +++ b/modules/libcom/src/env/Makefile @@ -12,7 +12,6 @@ SRC_DIRS += $(LIBCOM)/env vpath %.pl $(USR_VPATH) $(SRC_DIRS) PERL_SCRIPTS += bldEnvData.pl -PERL_SCRIPTS += libcomModuleDirs.pm INC += envDefs.h diff --git a/modules/libcom/src/env/RULES b/modules/libcom/src/env/RULES index 02df6aa7a..5ef766d57 100644 --- a/modules/libcom/src/env/RULES +++ b/modules/libcom/src/env/RULES @@ -8,7 +8,7 @@ # This is a Makefile fragment, see src/libCom/Makefile. envData.c: $(LIBCOM)/env/envDefs.h \ - $(INSTALL_HOST_BIN)/bldEnvData.pl $(INSTALL_HOST_BIN)/libcomModuleDirs.pm \ + $(INSTALL_HOST_BIN)/bldEnvData.pl \ $(CONFIG)/CONFIG_ENV $(CONFIG)/CONFIG_SITE_ENV \ $(wildcard $(CONFIG)/os/CONFIG_SITE_ENV.$(T_A)) $(PERL) $(INSTALL_HOST_BIN)/bldEnvData.pl $(QUIET_FLAG) -t $(T_A) \ diff --git a/modules/libcom/src/env/bldEnvData.pl b/modules/libcom/src/env/bldEnvData.pl index e3c21b772..f638c841f 100644 --- a/modules/libcom/src/env/bldEnvData.pl +++ b/modules/libcom/src/env/bldEnvData.pl @@ -15,7 +15,6 @@ use strict; use FindBin qw($Bin); use lib ($Bin, "$Bin/../../lib/perl"); -use libcomModuleDirs; no lib $Bin; use Getopt::Std; From d38fcd52473a5c9d43cee891f7d47a526fbe1a99 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Mon, 31 Dec 2018 10:31:48 -0800 Subject: [PATCH 3/9] no need to search for perl modules under bin/ --- modules/ca/src/perl/capr.pl | 2 +- modules/ca/src/template/top/caPerlApp/caget.pl | 2 +- modules/ca/src/template/top/caPerlApp/cainfo.pl | 2 +- modules/ca/src/template/top/caPerlApp/camonitor.pl | 2 +- modules/ca/src/template/top/caPerlApp/caput.pl | 2 +- modules/database/src/tools/dbExpand.pl | 2 +- modules/database/src/tools/dbdExpand.pl | 2 +- modules/database/src/tools/dbdReport.pl | 2 +- modules/database/src/tools/dbdToHtml.pl | 2 +- modules/database/src/tools/dbdToMenuH.pl | 2 +- modules/database/src/tools/dbdToRecordtypeH.pl | 2 +- modules/database/src/tools/registerRecordDeviceDriver.pl | 2 +- modules/libcom/src/env/bldEnvData.pl | 2 +- src/template/base/makeBaseApp.pl | 2 +- src/tools/convertRelease.pl | 2 +- src/tools/expandVars.pl | 2 +- src/tools/fullPathName.pl | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/modules/ca/src/perl/capr.pl b/modules/ca/src/perl/capr.pl index ba5998a14..17a6dd04b 100644 --- a/modules/ca/src/perl/capr.pl +++ b/modules/ca/src/perl/capr.pl @@ -10,7 +10,7 @@ use strict; use FindBin qw($Bin); -use lib ($Bin, "$Bin/../../lib/perl"); +use lib ("$Bin/../../lib/perl"); no lib $Bin; use Getopt::Std; diff --git a/modules/ca/src/template/top/caPerlApp/caget.pl b/modules/ca/src/template/top/caPerlApp/caget.pl index 0d9af37a1..dae3a778a 100644 --- a/modules/ca/src/template/top/caPerlApp/caget.pl +++ b/modules/ca/src/template/top/caPerlApp/caget.pl @@ -4,7 +4,7 @@ use strict; # This construct sets @INC to search lib/perl of all RELEASE entries use FindBin qw($Bin); -use lib ($Bin, "$Bin/../../lib/perl"); +use lib ("$Bin/../../lib/perl"); use _APPNAME_ModuleDirs; no lib $Bin; diff --git a/modules/ca/src/template/top/caPerlApp/cainfo.pl b/modules/ca/src/template/top/caPerlApp/cainfo.pl index 3e38e8baf..37c705e26 100644 --- a/modules/ca/src/template/top/caPerlApp/cainfo.pl +++ b/modules/ca/src/template/top/caPerlApp/cainfo.pl @@ -4,7 +4,7 @@ use strict; # This construct sets @INC to search lib/perl of all RELEASE entries use FindBin qw($Bin); -use lib ($Bin, "$Bin/../../lib/perl"); +use lib ("$Bin/../../lib/perl"); use _APPNAME_ModuleDirs; no lib $Bin; diff --git a/modules/ca/src/template/top/caPerlApp/camonitor.pl b/modules/ca/src/template/top/caPerlApp/camonitor.pl index 564688d68..15c0212f0 100644 --- a/modules/ca/src/template/top/caPerlApp/camonitor.pl +++ b/modules/ca/src/template/top/caPerlApp/camonitor.pl @@ -4,7 +4,7 @@ use strict; # This construct sets @INC to search lib/perl of all RELEASE entries use FindBin qw($Bin); -use lib ($Bin, "$Bin/../../lib/perl"); +use lib ("$Bin/../../lib/perl"); use _APPNAME_ModuleDirs; no lib $Bin; diff --git a/modules/ca/src/template/top/caPerlApp/caput.pl b/modules/ca/src/template/top/caPerlApp/caput.pl index 64ff9cbda..b08c9d200 100644 --- a/modules/ca/src/template/top/caPerlApp/caput.pl +++ b/modules/ca/src/template/top/caPerlApp/caput.pl @@ -4,7 +4,7 @@ use strict; # This construct sets @INC to search lib/perl of all RELEASE entries use FindBin qw($Bin); -use lib ($Bin, "$Bin/../../lib/perl"); +use lib ("$Bin/../../lib/perl"); use _APPNAME_ModuleDirs; no lib $Bin; diff --git a/modules/database/src/tools/dbExpand.pl b/modules/database/src/tools/dbExpand.pl index 35d7750d9..e4088d007 100644 --- a/modules/database/src/tools/dbExpand.pl +++ b/modules/database/src/tools/dbExpand.pl @@ -12,7 +12,7 @@ use strict; use FindBin qw($Bin); -use lib ($Bin, "$Bin/../../lib/perl"); +use lib ("$Bin/../../lib/perl"); no lib $Bin; use DBD; diff --git a/modules/database/src/tools/dbdExpand.pl b/modules/database/src/tools/dbdExpand.pl index 5f12dc23e..7e9ba8b5a 100644 --- a/modules/database/src/tools/dbdExpand.pl +++ b/modules/database/src/tools/dbdExpand.pl @@ -10,7 +10,7 @@ use strict; use FindBin qw($Bin); -use lib ($Bin, "$Bin/../../lib/perl"); +use lib ("$Bin/../../lib/perl"); no lib $Bin; use DBD; diff --git a/modules/database/src/tools/dbdReport.pl b/modules/database/src/tools/dbdReport.pl index adc268345..8a82d690b 100644 --- a/modules/database/src/tools/dbdReport.pl +++ b/modules/database/src/tools/dbdReport.pl @@ -8,7 +8,7 @@ #************************************************************************* use FindBin qw($Bin); -use lib ($Bin, "$Bin/../../lib/perl"); +use lib ("$Bin/../../lib/perl"); no lib $Bin; use DBD; diff --git a/modules/database/src/tools/dbdToHtml.pl b/modules/database/src/tools/dbdToHtml.pl index fa1cc99d7..87fc23230 100644 --- a/modules/database/src/tools/dbdToHtml.pl +++ b/modules/database/src/tools/dbdToHtml.pl @@ -10,7 +10,7 @@ use strict; use FindBin qw($Bin); -use lib ($Bin, "$Bin/../../lib/perl"); +use lib ("$Bin/../../lib/perl"); no lib $Bin; use DBD; diff --git a/modules/database/src/tools/dbdToMenuH.pl b/modules/database/src/tools/dbdToMenuH.pl index 30418a351..e80ae3340 100644 --- a/modules/database/src/tools/dbdToMenuH.pl +++ b/modules/database/src/tools/dbdToMenuH.pl @@ -8,7 +8,7 @@ #************************************************************************* use FindBin qw($Bin); -use lib ($Bin, "$Bin/../../lib/perl"); +use lib ("$Bin/../../lib/perl"); no lib $Bin; use EPICS::Getopts; diff --git a/modules/database/src/tools/dbdToRecordtypeH.pl b/modules/database/src/tools/dbdToRecordtypeH.pl index f1336a147..028309fc4 100644 --- a/modules/database/src/tools/dbdToRecordtypeH.pl +++ b/modules/database/src/tools/dbdToRecordtypeH.pl @@ -8,7 +8,7 @@ #************************************************************************* use FindBin qw($Bin); -use lib ($Bin, "$Bin/../../lib/perl"); +use lib ("$Bin/../../lib/perl"); no lib $Bin; use EPICS::Getopts; diff --git a/modules/database/src/tools/registerRecordDeviceDriver.pl b/modules/database/src/tools/registerRecordDeviceDriver.pl index 671d24051..507385e57 100644 --- a/modules/database/src/tools/registerRecordDeviceDriver.pl +++ b/modules/database/src/tools/registerRecordDeviceDriver.pl @@ -12,7 +12,7 @@ use strict; use FindBin qw($Bin); -use lib ($Bin, "$Bin/../../lib/perl"); +use lib ("$Bin/../../lib/perl"); no lib $Bin; use DBD; diff --git a/modules/libcom/src/env/bldEnvData.pl b/modules/libcom/src/env/bldEnvData.pl index f638c841f..180d63870 100644 --- a/modules/libcom/src/env/bldEnvData.pl +++ b/modules/libcom/src/env/bldEnvData.pl @@ -14,7 +14,7 @@ use strict; use FindBin qw($Bin); -use lib ($Bin, "$Bin/../../lib/perl"); +use lib ("$Bin/../../lib/perl"); no lib $Bin; use Getopt::Std; diff --git a/src/template/base/makeBaseApp.pl b/src/template/base/makeBaseApp.pl index d6da8adf8..0421f004b 100644 --- a/src/template/base/makeBaseApp.pl +++ b/src/template/base/makeBaseApp.pl @@ -3,7 +3,7 @@ # Authors: Ralph Lange, Marty Kraimer, Andrew Johnson and Janet Anderson use FindBin qw($Bin); -use lib ("$Bin/../../lib/perl", $Bin); +use lib ("$Bin/../../lib/perl"); use Cwd; use Getopt::Std; diff --git a/src/tools/convertRelease.pl b/src/tools/convertRelease.pl index a5a1a77d8..253378422 100644 --- a/src/tools/convertRelease.pl +++ b/src/tools/convertRelease.pl @@ -19,7 +19,7 @@ use Getopt::Std; $Getopt::Std::STANDARD_HELP_VERSION = 1; use FindBin qw($Bin); -use lib ("$Bin/../../lib/perl", $Bin); +use lib ("$Bin/../../lib/perl"); use EPICS::Path; use EPICS::Release; diff --git a/src/tools/expandVars.pl b/src/tools/expandVars.pl index 01e65fb3a..855aca329 100644 --- a/src/tools/expandVars.pl +++ b/src/tools/expandVars.pl @@ -10,7 +10,7 @@ use strict; use FindBin qw($Bin); -use lib ("$Bin/../../lib/perl", $Bin); +use lib ("$Bin/../../lib/perl"); use EPICS::Getopts; use EPICS::Path; diff --git a/src/tools/fullPathName.pl b/src/tools/fullPathName.pl index c8ac49a12..20ef6d231 100644 --- a/src/tools/fullPathName.pl +++ b/src/tools/fullPathName.pl @@ -17,7 +17,7 @@ use Getopt::Std; $Getopt::Std::STANDARD_HELP_VERSION = 1; use FindBin qw($Bin); -use lib ("$Bin/../../lib/perl", $Bin); +use lib ("$Bin/../../lib/perl"); use EPICS::Path; From 834e202671e4c47ac1428e4c4b71a67eb697d553 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 3 Jan 2019 20:44:50 -0800 Subject: [PATCH 4/9] missed a TOP --- modules/database/test/std/link/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/database/test/std/link/Makefile b/modules/database/test/std/link/Makefile index c72301bea..2563fd591 100644 --- a/modules/database/test/std/link/Makefile +++ b/modules/database/test/std/link/Makefile @@ -4,7 +4,7 @@ # EPICS BASE is distributed subject to a Software License Agreement found # in the file LICENSE that is included with this distribution. #************************************************************************* -TOP=../../.. +TOP=../../../../.. include $(TOP)/configure/CONFIG From 3e8f3a1ee9b5b9f6a720b1476f97458023f14575 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Wed, 6 Mar 2019 16:14:55 -0800 Subject: [PATCH 5/9] configure: Don't hide any perl scripts being run --- configure/RULES_BUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure/RULES_BUILD b/configure/RULES_BUILD index 2dc9dd501..864d2d9bf 100644 --- a/configure/RULES_BUILD +++ b/configure/RULES_BUILD @@ -190,7 +190,7 @@ endif checkRelease: +$(CONVERTRELEASE) checkRelease warnRelease: - -$(CONVERTRELEASE) checkRelease + $(CONVERTRELEASE) checkRelease noCheckRelease: ifeq ($(EPICS_HOST_ARCH),$(T_A)) $(info Warning: RELEASE file consistency checks have been disabled) @@ -346,7 +346,7 @@ $(MODNAME): %$(MODEXT): %$(EXE) runtests: $(TESTSCRIPTS) ifdef RUNTESTS_ENABLED - -$(PERL) -MTest::Harness -e 'runtests @ARGV if @ARGV;' $^ + $(PERL) -MTest::Harness -e 'runtests @ARGV if @ARGV;' $^ endif testspec: $(TESTSCRIPTS) @@ -381,7 +381,7 @@ junitfiles: $(JUNITFILES) # A .tap file is the output from running the associated test script %.tap: %.t ifdef RUNTESTS_ENABLED - -$(PERL) $< -tap > $@ + $(PERL) $< -tap > $@ endif %.xml: %.tap From 0e2d0cde5fea48168faf3b4ce1f6d3fff18889ec Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Wed, 6 Mar 2019 16:50:47 -0800 Subject: [PATCH 6/9] skip RELEASE_TOPS --- configure/CONFIG | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/configure/CONFIG b/configure/CONFIG index e40d3f5f7..153e69e8c 100644 --- a/configure/CONFIG +++ b/configure/CONFIG @@ -58,8 +58,12 @@ include $(CONFIG)/CONFIG_BASE_VERSION include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).Common -include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).Common +# Parse configure/RELEASE +# except when building Base itself, where this file is empty, +# and would error in src/tools/ anyway. +ifndef BASE_TOP RELEASE_TOPS := $(shell $(CONVERTRELEASE) -T $(TOP) releaseTops) - +endif ifdef T_A From 72985505ef4c375dbf07e2fbb58bdb6168c7167b Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 4 Jun 2019 10:27:55 +0200 Subject: [PATCH 7/9] further no need to search for perl modules under bin --- modules/ca/src/perl/capr.pl | 1 - modules/ca/src/template/top/caPerlApp/caget.pl | 1 - modules/ca/src/template/top/caPerlApp/cainfo.pl | 1 - modules/ca/src/template/top/caPerlApp/camonitor.pl | 1 - modules/ca/src/template/top/caPerlApp/caput.pl | 1 - modules/database/src/tools/dbExpand.pl | 1 - modules/database/src/tools/dbdExpand.pl | 1 - modules/database/src/tools/dbdReport.pl | 1 - modules/database/src/tools/dbdToHtml.pl | 1 - modules/database/src/tools/dbdToMenuH.pl | 1 - modules/database/src/tools/dbdToRecordtypeH.pl | 1 - modules/database/src/tools/registerRecordDeviceDriver.pl | 1 - modules/libcom/src/env/bldEnvData.pl | 1 - 13 files changed, 13 deletions(-) diff --git a/modules/ca/src/perl/capr.pl b/modules/ca/src/perl/capr.pl index 17a6dd04b..21e56ecd9 100644 --- a/modules/ca/src/perl/capr.pl +++ b/modules/ca/src/perl/capr.pl @@ -11,7 +11,6 @@ use strict; use FindBin qw($Bin); use lib ("$Bin/../../lib/perl"); -no lib $Bin; use Getopt::Std; use EPICS::Path; diff --git a/modules/ca/src/template/top/caPerlApp/caget.pl b/modules/ca/src/template/top/caPerlApp/caget.pl index dae3a778a..d206d8a36 100644 --- a/modules/ca/src/template/top/caPerlApp/caget.pl +++ b/modules/ca/src/template/top/caPerlApp/caget.pl @@ -6,7 +6,6 @@ use strict; use FindBin qw($Bin); use lib ("$Bin/../../lib/perl"); use _APPNAME_ModuleDirs; -no lib $Bin; use Getopt::Std; use Scalar::Util qw(looks_like_number); diff --git a/modules/ca/src/template/top/caPerlApp/cainfo.pl b/modules/ca/src/template/top/caPerlApp/cainfo.pl index 37c705e26..4d4a1ffbe 100644 --- a/modules/ca/src/template/top/caPerlApp/cainfo.pl +++ b/modules/ca/src/template/top/caPerlApp/cainfo.pl @@ -6,7 +6,6 @@ use strict; use FindBin qw($Bin); use lib ("$Bin/../../lib/perl"); use _APPNAME_ModuleDirs; -no lib $Bin; use Getopt::Std; use CA; diff --git a/modules/ca/src/template/top/caPerlApp/camonitor.pl b/modules/ca/src/template/top/caPerlApp/camonitor.pl index 15c0212f0..c426fa536 100644 --- a/modules/ca/src/template/top/caPerlApp/camonitor.pl +++ b/modules/ca/src/template/top/caPerlApp/camonitor.pl @@ -6,7 +6,6 @@ use strict; use FindBin qw($Bin); use lib ("$Bin/../../lib/perl"); use _APPNAME_ModuleDirs; -no lib $Bin; use Getopt::Std; use Scalar::Util qw(looks_like_number); diff --git a/modules/ca/src/template/top/caPerlApp/caput.pl b/modules/ca/src/template/top/caPerlApp/caput.pl index b08c9d200..03842d397 100644 --- a/modules/ca/src/template/top/caPerlApp/caput.pl +++ b/modules/ca/src/template/top/caPerlApp/caput.pl @@ -6,7 +6,6 @@ use strict; use FindBin qw($Bin); use lib ("$Bin/../../lib/perl"); use _APPNAME_ModuleDirs; -no lib $Bin; use Getopt::Std; use CA; diff --git a/modules/database/src/tools/dbExpand.pl b/modules/database/src/tools/dbExpand.pl index e4088d007..6596e4361 100644 --- a/modules/database/src/tools/dbExpand.pl +++ b/modules/database/src/tools/dbExpand.pl @@ -13,7 +13,6 @@ use strict; use FindBin qw($Bin); use lib ("$Bin/../../lib/perl"); -no lib $Bin; use DBD; use DBD::Parser; diff --git a/modules/database/src/tools/dbdExpand.pl b/modules/database/src/tools/dbdExpand.pl index 7e9ba8b5a..74e81eb76 100644 --- a/modules/database/src/tools/dbdExpand.pl +++ b/modules/database/src/tools/dbdExpand.pl @@ -11,7 +11,6 @@ use strict; use FindBin qw($Bin); use lib ("$Bin/../../lib/perl"); -no lib $Bin; use DBD; use DBD::Parser; diff --git a/modules/database/src/tools/dbdReport.pl b/modules/database/src/tools/dbdReport.pl index 8a82d690b..3f2269d8b 100644 --- a/modules/database/src/tools/dbdReport.pl +++ b/modules/database/src/tools/dbdReport.pl @@ -9,7 +9,6 @@ use FindBin qw($Bin); use lib ("$Bin/../../lib/perl"); -no lib $Bin; use DBD; use DBD::Parser; diff --git a/modules/database/src/tools/dbdToHtml.pl b/modules/database/src/tools/dbdToHtml.pl index 87fc23230..66d46f949 100644 --- a/modules/database/src/tools/dbdToHtml.pl +++ b/modules/database/src/tools/dbdToHtml.pl @@ -11,7 +11,6 @@ use strict; use FindBin qw($Bin); use lib ("$Bin/../../lib/perl"); -no lib $Bin; use DBD; use DBD::Parser; diff --git a/modules/database/src/tools/dbdToMenuH.pl b/modules/database/src/tools/dbdToMenuH.pl index e80ae3340..76aff7dac 100644 --- a/modules/database/src/tools/dbdToMenuH.pl +++ b/modules/database/src/tools/dbdToMenuH.pl @@ -9,7 +9,6 @@ use FindBin qw($Bin); use lib ("$Bin/../../lib/perl"); -no lib $Bin; use EPICS::Getopts; use File::Basename; diff --git a/modules/database/src/tools/dbdToRecordtypeH.pl b/modules/database/src/tools/dbdToRecordtypeH.pl index 028309fc4..891b5b5c5 100644 --- a/modules/database/src/tools/dbdToRecordtypeH.pl +++ b/modules/database/src/tools/dbdToRecordtypeH.pl @@ -9,7 +9,6 @@ use FindBin qw($Bin); use lib ("$Bin/../../lib/perl"); -no lib $Bin; use EPICS::Getopts; use File::Basename; diff --git a/modules/database/src/tools/registerRecordDeviceDriver.pl b/modules/database/src/tools/registerRecordDeviceDriver.pl index 507385e57..acbcc517c 100644 --- a/modules/database/src/tools/registerRecordDeviceDriver.pl +++ b/modules/database/src/tools/registerRecordDeviceDriver.pl @@ -13,7 +13,6 @@ use strict; use FindBin qw($Bin); use lib ("$Bin/../../lib/perl"); -no lib $Bin; use DBD; use DBD::Parser; diff --git a/modules/libcom/src/env/bldEnvData.pl b/modules/libcom/src/env/bldEnvData.pl index 180d63870..693be65da 100644 --- a/modules/libcom/src/env/bldEnvData.pl +++ b/modules/libcom/src/env/bldEnvData.pl @@ -15,7 +15,6 @@ use strict; use FindBin qw($Bin); use lib ("$Bin/../../lib/perl"); -no lib $Bin; use Getopt::Std; use File::Basename; From ac87fbac852bc8f1ec22dd7ffb0661dd8648f71f Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 4 Jun 2019 11:18:58 +0200 Subject: [PATCH 8/9] simplify e_flex/antelope path compute --- configure/CONFIG_LIBCOM_MODULE | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/configure/CONFIG_LIBCOM_MODULE b/configure/CONFIG_LIBCOM_MODULE index 175606cdb..32bb937c2 100644 --- a/configure/CONFIG_LIBCOM_MODULE +++ b/configure/CONFIG_LIBCOM_MODULE @@ -5,18 +5,10 @@ # in file LICENSE that is included with this distribution. #************************************************************************* -# Set EPICS_LIBCOM if necessary -ifndef EPICS_LIBCOM - EPICS_LIBCOM = $(if $(BUILDING_LIBCOM),$(INSTALL_LOCATION),$(EPICS_BASE)) - - # Paths to tools built here - EPICS_LIBCOM_HOST_BIN ?= $(EPICS_LIBCOM)/bin/$(EPICS_HOST_ARCH) -endif - # Set location of locally generated tools -YACC = $(abspath $(EPICS_LIBCOM_HOST_BIN))/antelope$(HOSTEXE) -LEX = $(abspath $(EPICS_LIBCOM_HOST_BIN))/e_flex$(HOSTEXE) \ - -S$(EPICS_LIBCOM)/include/flex.skel.static +YACC = $(abspath $(EPICS_BASE)/bin/$(EPICS_HOST_ARCH))/antelope$(HOSTEXE) +LEX = $(abspath $(EPICS_BASE)/bin/$(EPICS_HOST_ARCH))/e_flex$(HOSTEXE) \ + -S$(EPICS_BASE)/include/flex.skel.static # Default stack size for osiThread OSITHREAD_USE_DEFAULT_STACK = NO From 1a94376c19fda2073a0e8c2ce3ea34cf58367f2c Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 9 Jul 2019 18:42:19 -0700 Subject: [PATCH 9/9] restore ModuleDirs in caPerlApp --- modules/ca/src/template/top/caPerlApp/caget.pl | 3 ++- modules/ca/src/template/top/caPerlApp/cainfo.pl | 3 ++- modules/ca/src/template/top/caPerlApp/camonitor.pl | 3 ++- modules/ca/src/template/top/caPerlApp/caput.pl | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/modules/ca/src/template/top/caPerlApp/caget.pl b/modules/ca/src/template/top/caPerlApp/caget.pl index d206d8a36..0d9af37a1 100644 --- a/modules/ca/src/template/top/caPerlApp/caget.pl +++ b/modules/ca/src/template/top/caPerlApp/caget.pl @@ -4,8 +4,9 @@ use strict; # This construct sets @INC to search lib/perl of all RELEASE entries use FindBin qw($Bin); -use lib ("$Bin/../../lib/perl"); +use lib ($Bin, "$Bin/../../lib/perl"); use _APPNAME_ModuleDirs; +no lib $Bin; use Getopt::Std; use Scalar::Util qw(looks_like_number); diff --git a/modules/ca/src/template/top/caPerlApp/cainfo.pl b/modules/ca/src/template/top/caPerlApp/cainfo.pl index 4d4a1ffbe..3e38e8baf 100644 --- a/modules/ca/src/template/top/caPerlApp/cainfo.pl +++ b/modules/ca/src/template/top/caPerlApp/cainfo.pl @@ -4,8 +4,9 @@ use strict; # This construct sets @INC to search lib/perl of all RELEASE entries use FindBin qw($Bin); -use lib ("$Bin/../../lib/perl"); +use lib ($Bin, "$Bin/../../lib/perl"); use _APPNAME_ModuleDirs; +no lib $Bin; use Getopt::Std; use CA; diff --git a/modules/ca/src/template/top/caPerlApp/camonitor.pl b/modules/ca/src/template/top/caPerlApp/camonitor.pl index c426fa536..564688d68 100644 --- a/modules/ca/src/template/top/caPerlApp/camonitor.pl +++ b/modules/ca/src/template/top/caPerlApp/camonitor.pl @@ -4,8 +4,9 @@ use strict; # This construct sets @INC to search lib/perl of all RELEASE entries use FindBin qw($Bin); -use lib ("$Bin/../../lib/perl"); +use lib ($Bin, "$Bin/../../lib/perl"); use _APPNAME_ModuleDirs; +no lib $Bin; use Getopt::Std; use Scalar::Util qw(looks_like_number); diff --git a/modules/ca/src/template/top/caPerlApp/caput.pl b/modules/ca/src/template/top/caPerlApp/caput.pl index 03842d397..64ff9cbda 100644 --- a/modules/ca/src/template/top/caPerlApp/caput.pl +++ b/modules/ca/src/template/top/caPerlApp/caput.pl @@ -4,8 +4,9 @@ use strict; # This construct sets @INC to search lib/perl of all RELEASE entries use FindBin qw($Bin); -use lib ("$Bin/../../lib/perl"); +use lib ($Bin, "$Bin/../../lib/perl"); use _APPNAME_ModuleDirs; +no lib $Bin; use Getopt::Std; use CA;