Skip to content
Snippets Groups Projects
Commit 9281bead authored by Markus Frosch's avatar Markus Frosch
Browse files

Avoid GCC 7 to compile with

This is mainly for Ubuntu bionic, but a general dependency approach.
parent d86271a0
No related branches found
No related tags found
No related merge requests found
Pipeline #4986 passed
......@@ -11,7 +11,7 @@ Build-Depends:
dh-systemd (>= 1.5),
libsystemd-dev,
flex,
g++ (>= 1.96),
g++ (>= 4:8.0) | g++-8 | g++ (<< 4:7),
libboost-dev (>= 1.66) | libboost1.67-dev | libboost1.67-icinga-dev,
libboost-context-dev (>= 1.66) | libboost-context1.67-dev | libboost-context1.67-icinga-dev,
libboost-coroutine-dev (>= 1.66) | libboost-coroutine1.67-dev | libboost-coroutine1.67-icinga-dev,
......
......@@ -2,6 +2,11 @@
#export DH_VERBOSE=1
CXX_INSTALLED_VERSION := $(shell dpkg-query --showformat='$${Version}' --show g++)
CXX_PREFERED_VERSION = 4:8.0
CXX_PREFERED_COMPILER = g++-8
C_PREFERED_COMPILER = gcc-8
CMAKE_FLAGS = -DICINGA2_LTO_BUILD=On
DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH)
......@@ -26,6 +31,17 @@ CMAKE_FLAGS += -DICINGA2_UNITY_BUILD=Off
CMAKE_FLAGS += -DICINGA2_LTO_BUILD=Off
endif
# check if the installed default g++ is already newer as preferred
ifneq ($(shell dpkg --compare-versions "$(CXX_INSTALLED_VERSION)" ge "$(CXX_PREFERED_VERSION)" && echo 1 || echo 0),1)
# if not choose the prefered compiler directly
ifneq (,$(shell command -v $(CXX_PREFERED_COMPILER) 2>/dev/null))
# if it is installed
$(warning Installed GCC $(CXX_INSTALLED_VERSION) is older than $(CXX_PREFERED_VERSION) - using alternative binary $(CXX_PREFERED_COMPILER))
CMAKE_FLAGS += -DCMAKE_CXX_COMPILER=$(CXX_PREFERED_COMPILER)
CMAKE_FLAGS += -DCMAKE_C_COMPILER=$(C_PREFERED_COMPILER)
endif
endif
%:
dh $@ --with systemd --with bash_completion
......
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