Improve compiler detection

So far compilers needed to be specified twice (as usual with Travis
in "compiler" as well as in our own CMPLR environment variable).
This change allows our scripts to use the compiler specified with
Travis (no need to populate CMPLR anymore).
This commit is contained in:
Martin Konrad
2019-05-29 14:02:26 -04:00
parent be83b22993
commit 833e23f9e6
2 changed files with 19 additions and 22 deletions

View File

@@ -34,12 +34,12 @@ matrix:
- env: BRBASE=7.0
- env: BRBASE=7.0 CMPLR=clang
- env: BRBASE=7.0
compiler: clang
- env: BRBASE=7.0 EXTRA="CMD_CXXFLAGS=-std=c++11"
- env: BRBASE=7.0 CMPLR=clang EXTRA="CMD_CXXFLAGS=-std=c++11"
- env: BRBASE=7.0 EXTRA="CMD_CXXFLAGS=-std=c++11"
compiler: clang
# Cross-compilation to Windows using MinGW and WINE
@@ -58,12 +58,12 @@ matrix:
# Other gcc versions (adding as an extra package)
- env: BRBASE=7.0 CMPLR=gcc-6
- env: BRBASE=7.0
dist: xenial
compiler: gcc-6
addons: { apt: { packages: ["g++-6"], sources: ["ubuntu-toolchain-r-test"] } }
- env: BRBASE=7.0 CMPLR=gcc-7
- env: BRBASE=7.0
dist: xenial
compiler: gcc-7
addons: { apt: { packages: ["g++-7"], sources: ["ubuntu-toolchain-r-test"] } }

View File

@@ -63,38 +63,35 @@ STATIC_BUILD=YES
EOF
fi
case "$CMPLR" in
HOST_CCMPLR_NAME=`echo "$TRAVIS_COMPILER" | sed -E 's/^([[:alpha:]][^-]*(-[[:alpha:]][^-]*)*)+(-[0-9\.]+)?$/\1/g'`
HOST_CMPLR_VER_SUFFIX=`echo "$TRAVIS_COMPILER" | sed -E 's/^([[:alpha:]][^-]*(-[[:alpha:]][^-]*)*)+(-[0-9\.]+)?$/\3/g'`
HOST_CMPLR_VER=`echo "$HOST_CMPLR_VER_SUFFIX" | cut -c 2-`
case "$HOST_CCMPLR_NAME" in
clang)
echo "Host compiler is clang"
HOST_CPPCMPLR_NAME=$(echo "$HOST_CCMPLR_NAME" | sed 's/clang/clang++/g')
cat << EOF >> epics-base/configure/os/CONFIG_SITE.Common.$EPICS_HOST_ARCH
GNU = NO
CMPLR_CLASS = clang
CC = clang
CCC = clang++
CC = ${HOST_CCMPLR_NAME}$HOST_CMPLR_VER_SUFFIX
CCC = ${HOST_CPPCMPLR_NAME}$HOST_CMPLR_VER_SUFFIX
EOF
# hack
sed -i -e 's/CMPLR_CLASS = gcc/CMPLR_CLASS = clang/' epics-base/configure/CONFIG.gnuCommon
clang --version
${HOST_CCMPLR_NAME}$HOST_CMPLR_VER_SUFFIX --version
;;
gcc-6)
echo "Host compiler is gcc-6"
gcc)
echo "Host compiler is GCC"
HOST_CPPCMPLR_NAME=$(echo "$HOST_CCMPLR_NAME" | sed 's/gcc/g++/g')
cat << EOF >> epics-base/configure/os/CONFIG_SITE.Common.$EPICS_HOST_ARCH
CC = gcc-6
CCC = g++-6
CC = ${HOST_CCMPLR_NAME}$HOST_CMPLR_VER_SUFFIX
CCC = ${HOST_CPPCMPLR_NAME}$HOST_CMPLR_VER_SUFFIX
EOF
gcc-6 --version
;;
gcc-7)
echo "Host compiler is gcc-7"
cat << EOF >> epics-base/configure/os/CONFIG_SITE.Common.$EPICS_HOST_ARCH
CC = gcc-7
CCC = g++-7
EOF
gcc-7 --version
${HOST_CCMPLR_NAME}$HOST_CMPLR_VER_SUFFIX --version
;;
*)
echo "Host compiler is default"