The Travis environment in which the continous integration build is run does not have the <linux/blkzoned.h> header file. Make sure that the zbdioctl.c source file builds fine without that header file. Cc: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx> Cc: Chaitanya Kulkarni <Chaitanya.Kulkarni@xxxxxxx> Fixes: d42cc3f85e0d ("src: Introduce zbdioctl program") Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> --- src/Makefile | 10 ++++++++-- src/zbdioctl.c | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Makefile b/src/Makefile index 5a0556f2a37f..cb35497a6089 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,3 +1,7 @@ +HAVE_C_HEADER = $(shell if echo "\#include <$(1)>" | \ + $(CC) -x c -c - 2>/dev/null; then echo "$(2)"; \ + else echo "$(3)"; fi) + C_TARGETS := \ loblksize \ loop_get_status_null \ @@ -13,9 +17,11 @@ CXX_TARGETS := \ TARGETS := $(C_TARGETS) $(CXX_TARGETS) -override CFLAGS := -O2 -Wall -Wshadow $(CFLAGS) +CONFIG_DEFS := $(call HAVE_C_HEADER,linux/blkzoned.h,-DHAVE_LINUX_BLKZONED_H) + +override CFLAGS := -O2 -Wall -Wshadow $(CFLAGS) $(CONFIG_DEFS) override CXXFLAGS := -O2 -std=c++11 -Wall -Wextra -Wshadow -Wno-sign-compare \ - -Werror $(CXXFLAGS) + -Werror $(CXXFLAGS) $(CONFIG_DEFS) all: $(TARGETS) diff --git a/src/zbdioctl.c b/src/zbdioctl.c index 93a0f88431b5..9432a8a95b1d 100644 --- a/src/zbdioctl.c +++ b/src/zbdioctl.c @@ -6,7 +6,9 @@ #include <fcntl.h> #include <unistd.h> #include <sys/ioctl.h> +#ifdef HAVE_LINUX_BLKZONED_H #include <linux/blkzoned.h> +#endif #include <linux/types.h> #ifndef BLKGETZONESZ -- 2.20.1.791.gb4d0f1c61a-goog