diff mbox series

[1/2] Makefile: Fix CUNIT_INSTALLED test to work with make 4.3 and dash

Message ID 20200720164453.5161-1-vt@altlinux.org (mailing list archive)
State Accepted
Commit 5d3f16cf18278f21d3f6443d27b81b837bd1db86
Headers show
Series [1/2] Makefile: Fix CUNIT_INSTALLED test to work with make 4.3 and dash | expand

Commit Message

Vitaly Chikunov July 20, 2020, 4:44 p.m. UTC
In GNU Make 4.3 there is backward incompatible change that there is no need
to quote '#' in shell invocations anymore. If quoted, backslash character is
passed into gcc making cunit (and vsock) tests fail to compile.

Also, `echo -e' is replaced with `printf' to interpret '\n', because, on
Debian dash's `echo' does not support `-e', thus having `-e' passed into
test source making gcc fail to compile the test.

make test error message:

  Makefile:342: *** CUnit framework not installed, cannot build unit tests.  Stop.

Signed-off-by: Vitaly Chikunov <vt@altlinux.org>
Cc: Dmitry V. Levin <ldv@altlinux.org>
---
 Makefile | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 4b72a04..6b606da 100644
--- a/Makefile
+++ b/Makefile
@@ -86,6 +86,8 @@  plugin_traceevent_dir_SQ = $(subst ','\'',$(plugin_traceevent_dir))
 plugin_tracecmd_dir_SQ = $(subst ','\'',$(plugin_tracecmd_dir))
 python_dir_SQ = $(subst ','\'',$(python_dir))
 
+pound := \#
+
 VAR_DIR = -DVAR_DIR="$(var_dir)"
 VAR_DIR_SQ = '$(subst ','\'',$(VAR_DIR))'
 var_dir_SQ = '$(subst ','\'',$(var_dir))'
@@ -233,14 +235,14 @@  CFLAGS ?= -g -Wall
 CPPFLAGS ?=
 LDFLAGS ?=
 
-VSOCK_DEFINED := $(shell if (echo "\#include <linux/vm_sockets.h>" | $(CC) -E - >/dev/null 2>&1) ; then echo 1; else echo 0 ; fi)
+VSOCK_DEFINED := $(shell if (echo "$(pound)include <linux/vm_sockets.h>" | $(CC) -E - >/dev/null 2>&1) ; then echo 1; else echo 0 ; fi)
 
 export VSOCK_DEFINED
 ifeq ($(VSOCK_DEFINED), 1)
 CFLAGS += -DVSOCK
 endif
 
-CUNIT_INSTALLED := $(shell if (echo -e "\#include <CUnit/Basic.h>\n void main(){CU_initialize_registry();}" | $(CC) -x c -lcunit - >/dev/null 2>&1) ; then echo 1; else echo 0 ; fi)
+CUNIT_INSTALLED := $(shell if (printf "$(pound)include <CUnit/Basic.h>\n void main(){CU_initialize_registry();}" | $(CC) -x c -lcunit - >/dev/null 2>&1) ; then echo 1; else echo 0 ; fi)
 export CUNIT_INSTALLED
 
 export CFLAGS