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@wdc.com>
Cc: Chaitanya Kulkarni <Chaitanya.Kulkarni@wdc.com>
Fixes: d42cc3f85e0d ("src: Introduce zbdioctl program")
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
+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 \
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)
#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