From 407e88fd2ab020d753e33014cf759353a9901b51 Mon Sep 17 00:00:00 2001 From: Seth Howell Date: Tue, 20 Aug 2019 09:58:45 -0700 Subject: [PATCH] lib/mk: update OCF build. The OCF build was broken by some of the recent changes to the Makefiles. This change aims to fix that by separating out the ocf environment from the ocf bdev. Change-Id: Id445340033898e9ae70a4bcfc799951110762d55 Signed-off-by: Seth Howell Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465808 Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Jim Harris --- autobuild.sh | 2 +- lib/Makefile | 4 ++++ {module/bdev/ocf/env => lib/env_ocf}/.gitignore | 0 {module/bdev/ocf/env => lib/env_ocf}/Makefile | 12 ++++++------ {module/bdev/ocf/env => lib/env_ocf}/ocf_env.c | 0 {module/bdev/ocf/env => lib/env_ocf}/ocf_env.h | 0 .../bdev/ocf/env => lib/env_ocf}/ocf_env_headers.h | 0 {module/bdev/ocf/env => lib/env_ocf}/ocf_env_list.h | 0 mk/spdk.lib_deps.mk | 2 ++ module/bdev/Makefile | 2 -- module/bdev/ocf/Makefile | 6 +++--- 11 files changed, 16 insertions(+), 12 deletions(-) rename {module/bdev/ocf/env => lib/env_ocf}/.gitignore (100%) rename {module/bdev/ocf/env => lib/env_ocf}/Makefile (88%) rename {module/bdev/ocf/env => lib/env_ocf}/ocf_env.c (100%) rename {module/bdev/ocf/env => lib/env_ocf}/ocf_env.h (100%) rename {module/bdev/ocf/env => lib/env_ocf}/ocf_env_headers.h (100%) rename {module/bdev/ocf/env => lib/env_ocf}/ocf_env_list.h (100%) diff --git a/autobuild.sh b/autobuild.sh index 5538180f1..5ea44cad8 100755 --- a/autobuild.sh +++ b/autobuild.sh @@ -28,7 +28,7 @@ if [ "$SPDK_TEST_OCF" -eq 1 ]; then # So we precompile OCF now for further use as standalone static library ./configure $(echo $config_params | sed 's/--enable-coverage//g') $MAKE $MAKEFLAGS include/spdk/config.h - CC=gcc CCAR=ar $MAKE $MAKEFLAGS -C module/bdev/ocf/env exportlib O=$rootdir/build/ocf.a + CC=gcc CCAR=ar $MAKE $MAKEFLAGS -C lib/env_ocf exportlib O=$rootdir/build/ocf.a # Set config to use precompiled library config_params="$config_params --with-ocf=/$rootdir/build/ocf.a" fi diff --git a/lib/Makefile b/lib/Makefile index aadf2fd28..1c2b5a1c0 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -42,6 +42,10 @@ ifeq ($(OS),Linux) DIRS-y += nbd ftl endif +ifeq ($(CONFIG_OCF), y) +DIRS-y += env_ocf +endif + DIRS-$(CONFIG_VHOST) += vhost DIRS-$(CONFIG_VIRTIO) += virtio DIRS-$(CONFIG_REDUCE) += reduce diff --git a/module/bdev/ocf/env/.gitignore b/lib/env_ocf/.gitignore similarity index 100% rename from module/bdev/ocf/env/.gitignore rename to lib/env_ocf/.gitignore diff --git a/module/bdev/ocf/env/Makefile b/lib/env_ocf/Makefile similarity index 88% rename from module/bdev/ocf/env/Makefile rename to lib/env_ocf/Makefile index 0921225b7..0ac51eecd 100644 --- a/module/bdev/ocf/env/Makefile +++ b/lib/env_ocf/Makefile @@ -37,7 +37,7 @@ # Else if SPDK is configured with OCF precompiled library # we just use it as SPDK lib by copying it to /build/lib/ -SPDK_ROOT_DIR := $(abspath $(CURDIR)/../../../..) +SPDK_ROOT_DIR := $(abspath $(CURDIR)/../..) OCFDIR=$(CONFIG_OCF_DIR) include $(SPDK_ROOT_DIR)/mk/spdk.common.mk @@ -76,17 +76,17 @@ all: ocf_inc ocf_src $(Q)$(MAKE) $(LIB) ocf_inc: - $(Q)$(MAKE) -C "$(CONFIG_OCF_PATH)" inc O="$(SPDK_ROOT_DIR)/module/bdev/ocf/env/" --quiet + $(Q)$(MAKE) -C "$(CONFIG_OCF_PATH)" inc O="$(SPDK_ROOT_DIR)/lib/env_ocf/" ENV= --quiet ocf_src: ocf_inc - $(Q)$(MAKE) -C "$(CONFIG_OCF_PATH)" src O="$(SPDK_ROOT_DIR)/module/bdev/ocf/env/" CMD=cp --quiet + $(Q)$(MAKE) -C "$(CONFIG_OCF_PATH)" src O="$(SPDK_ROOT_DIR)/lib/env_ocf/" CMD=cp ENV= --quiet ocf_distclean: - $(Q)$(MAKE) -C "$(CONFIG_OCF_PATH)" distclean O="$(SPDK_ROOT_DIR)/module/bdev/ocf/env/" --quiet + $(Q)$(MAKE) -C "$(CONFIG_OCF_PATH)" distclean O="$(SPDK_ROOT_DIR)/lib/env_ocf/" ENV= --quiet clean: ocf_distclean - $(Q)rm -rf "$(SPDK_ROOT_DIR)/module/bdev/ocf/env/include" \ - "$(SPDK_ROOT_DIR)/module/bdev/ocf/env/src" \ + $(Q)rm -rf "$(SPDK_ROOT_DIR)/lib/env_ocf/include" \ + "$(SPDK_ROOT_DIR)/lib/env_ocf/src" \ $(LIB) $(OBJS); $(LIB): $(OBJS) diff --git a/module/bdev/ocf/env/ocf_env.c b/lib/env_ocf/ocf_env.c similarity index 100% rename from module/bdev/ocf/env/ocf_env.c rename to lib/env_ocf/ocf_env.c diff --git a/module/bdev/ocf/env/ocf_env.h b/lib/env_ocf/ocf_env.h similarity index 100% rename from module/bdev/ocf/env/ocf_env.h rename to lib/env_ocf/ocf_env.h diff --git a/module/bdev/ocf/env/ocf_env_headers.h b/lib/env_ocf/ocf_env_headers.h similarity index 100% rename from module/bdev/ocf/env/ocf_env_headers.h rename to lib/env_ocf/ocf_env_headers.h diff --git a/module/bdev/ocf/env/ocf_env_list.h b/lib/env_ocf/ocf_env_list.h similarity index 100% rename from module/bdev/ocf/env/ocf_env_list.h rename to lib/env_ocf/ocf_env_list.h diff --git a/mk/spdk.lib_deps.mk b/mk/spdk.lib_deps.mk index 09f0b5404..71213815d 100644 --- a/mk/spdk.lib_deps.mk +++ b/mk/spdk.lib_deps.mk @@ -40,6 +40,7 @@ JSON_LIBS := json jsonrpc rpc +DEPDIRS-env_ocf := DEPDIRS-log := DEPDIRS-ioat := log @@ -120,6 +121,7 @@ DEPDIRS-bdev_nvme = $(BDEV_DEPS_CONF_THREAD) nvme ifeq ($(OS),Linux) DEPDIRS-bdev_nvme += ftl endif +DEPDIRS-bdev_ocf := $(BDEV_DEPS_CONF_THREAD) DEPDIRS-bdev_passthru := $(BDEV_DEPS_CONF_THREAD) DEPDIRS-bdev_pmem := $(BDEV_DEPS_CONF_THREAD) DEPDIRS-bdev_raid := $(BDEV_DEPS_CONF_THREAD) diff --git a/module/bdev/Makefile b/module/bdev/Makefile index efb5aff81..bef5f3146 100644 --- a/module/bdev/Makefile +++ b/module/bdev/Makefile @@ -42,8 +42,6 @@ endif ifeq ($(CONFIG_OCF), y) DIRS-y += ocf -DIRS-y += ocf/env -DEPDIRS-ocf := ocf/env endif ifeq ($(CONFIG_REDUCE),y) diff --git a/module/bdev/ocf/Makefile b/module/bdev/ocf/Makefile index 0468e9569..d63559358 100644 --- a/module/bdev/ocf/Makefile +++ b/module/bdev/ocf/Makefile @@ -35,13 +35,13 @@ SPDK_ROOT_DIR := $(abspath $(CURDIR)/../../..) include $(SPDK_ROOT_DIR)/mk/spdk.common.mk -CFLAGS += $(ENV_CFLAGS) -I$(CURDIR)/env -I$(CURDIR)/env/include +CFLAGS += $(ENV_CFLAGS) -I$(SPDK_ROOT_DIR)/lib/env_ocf -I$(SPDK_ROOT_DIR)/lib/env_ocf/include C_SRCS = $(shell ls *.c) LIBNAME := bdev_ocf include $(SPDK_ROOT_DIR)/mk/spdk.lib.mk -SPDK_DEP_LIBS = $(call spdk_lib_list_to_static_libs,ocfenv) +OCF_ENV := $(call spdk_lib_list_to_static_libs,ocfenv) -$(LIB) : $(SPDK_DEP_LIBS) +$(LIB) : $(OCF_ENV)