Commit 6e2c2306 authored by Jacek Kalwas's avatar Jacek Kalwas Committed by Tomasz Zawadzki
Browse files

build: install generated pkg-config files



Signed-off-by: default avatarJacek Kalwas <jacek.kalwas@intel.com>
Change-Id: I191ad5e3b153fb563256eba1aa695716f66db788
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6377


Community-CI: Broadcom CI
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
parent e7f161a7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -128,7 +128,7 @@ mk/cc.mk:
	false

build_dir: mk/cc.mk
	$(Q)mkdir -p build/lib/pkgconfig
	$(Q)mkdir -p build/lib/pkgconfig/tmp
	$(Q)mkdir -p build/bin
	$(Q)mkdir -p build/fio
	$(Q)mkdir -p build/examples
+11 −2
Original line number Diff line number Diff line
@@ -48,9 +48,18 @@ include $(SPDK_ROOT_DIR)/mk/spdk.lib.mk

LIBDPDK_PKGCONFIG = $(call pkgconfig_filename,spdk_dpdklibs)

$(LIBDPDK_PKGCONFIG): $(PKGCONFIG)
$(LIBDPDK_PKGCONFIG): $(PKGCONFIG) $(PKGCONFIG_INST)
	$(Q)$(SPDK_ROOT_DIR)/scripts/pc_libs.sh \
		"-L$(DPDK_ABS_DIR)/lib $(DPDK_LIB_LIST:%=-l%)" "" DPDK spdk_dpdklibs > $@
	$(Q)sed -i.bak '5s,.*,Requires: $(DEPDIRS-$(LIBNAME):%=spdk_%) spdk_dpdklibs,' $(PKGCONFIG) ; rm $(PKGCONFIG).bak
	$(Q)sed -i.bak '5s,.*,Requires: $(DEPDIRS-$(LIBNAME):%=spdk_%) spdk_dpdklibs,' $(PKGCONFIG_INST) ; rm $(PKGCONFIG_INST).bak

_install_dpdklibs: $(LIBDPDK_PKGCONFIG)
	@$(call pkgconfig_install,$(LIBDPDK_PKGCONFIG))

_uninstall_dpdklibs: $(LIBDPDK_PKGCONFIG)
	@$(call pkgconfig_uninstall,$(LIBDPDK_PKGCONFIG))

all: $(LIBDPDK_PKGCONFIG)
install: _install_dpdklibs
uninstall: _uninstall_dpdklibs
+12 −0
Original line number Diff line number Diff line
@@ -369,6 +369,18 @@ UNINSTALL_LIB=\
	rm -f "$(DESTDIR)$(libdir)/$(notdir $(LIB))"; \
	if [ -d "$(DESTDIR)$(libdir)" ] && [ $$(ls -A "$(DESTDIR)$(libdir)" | wc -l) -eq 0 ]; then rm -rf "$(DESTDIR)$(libdir)"; fi

define pkgconfig_install
	echo "  INSTALL $(DESTDIR)$(libdir)/pkgconfig/$(notdir $(1))";
	install -d -m 755 "$(DESTDIR)$(libdir)/pkgconfig";
	install -m 644 "$(1)" "$(DESTDIR)$(libdir)/pkgconfig";
endef

define pkgconfig_uninstall
	echo "  UNINSTALL $(DESTDIR)$(libdir)/pkgconfig/$(notdir $(1))";
	rm -f "$(DESTDIR)$(libdir)/pkgconfig/$(notdir $(1))";
	if [ -d "$(DESTDIR)$(libdir)/pkgconfig" ] && [ $$(ls -A "$(DESTDIR)$(libdir)/pkgconfig" | wc -l) -eq 0 ]; then rm -rf "$(DESTDIR)$(libdir)/pkgconfig"; fi;
endef

ifeq ($(OS),FreeBSD)
INSTALL_REL_SYMLINK := install -l rs
else
+16 −4
Original line number Diff line number Diff line
@@ -54,13 +54,16 @@ SHARED_LINKED_LIB := $(LIB:.a=.so)
SHARED_REALNAME_LIB := $(SHARED_LINKED_LIB:.so=.so.$(SO_SUFFIX))

PKGCONFIG = $(call pkgconfig_filename,spdk_$(LIBNAME))
PKGCONFIG_INST = $(call pkgconfig_filename,tmp/spdk_$(LIBNAME))

ifeq ($(CONFIG_SHARED),y)
DEP := $(SHARED_LINKED_LIB) $(PKGCONFIG)
DEP := $(SHARED_LINKED_LIB)
else
DEP := $(LIB) $(PKGCONFIG)
DEP := $(LIB)
endif

DEP += $(PKGCONFIG) ${PKGCONFIG_INST}

ifeq ($(OS),FreeBSD)
LOCAL_SYS_LIBS += -L/usr/local/lib
endif
@@ -104,22 +107,31 @@ $(SHARED_REALNAME_LIB): $(LIB)
	$(Q)echo "  SO $(notdir $@)"; \
	$(call spdk_build_realname_shared_lib,$^,$(SPDK_MAP_FILE),$(LOCAL_SYS_LIBS),$(SPDK_DEP_LIBS))

$(PKGCONFIG): $(LIB)
	$(Q)$(SPDK_ROOT_DIR)/scripts/pc.sh $(SPDK_ROOT_DIR) $(LIBNAME) $(SO_SUFFIX) \
define pkgconfig_create
	$(Q)$(SPDK_ROOT_DIR)/scripts/pc.sh $(1) $(LIBNAME) $(SO_SUFFIX) \
		"$(DEPDIRS-$(LIBNAME):%=spdk_%) $(MODULES-$(LIBNAME))" \
		"" > $@
endef

$(PKGCONFIG): $(LIB)
	$(call pkgconfig_create,$(SPDK_ROOT_DIR)/build)

$(PKGCONFIG_INST): $(LIB)
	$(call pkgconfig_create,$(CONFIG_PREFIX))

$(LIB): $(OBJS)
	$(LIB_C)

install: all
	$(INSTALL_LIB)
	@$(call pkgconfig_install,$(PKGCONFIG_INST))
ifeq ($(CONFIG_SHARED),y)
	$(INSTALL_SHARED_LIB)
endif

uninstall: $(DIRS-y)
	$(UNINSTALL_LIB)
	@$(call pkgconfig_uninstall,$(PKGCONFIG_INST))
ifeq ($(CONFIG_SHARED),y)
	$(UNINSTALL_SHARED_LIB)
endif
+6 −0
Original line number Diff line number Diff line
@@ -77,6 +77,12 @@ $(SYSLIBS_PKGCONFIG):

all: $(DIRS-y) $(MODULES_PKGCONFIG)

install: all
	@$(foreach mod, $(MODULES_PKGCONFIG), $(call pkgconfig_install,$(mod)))

uninstall: $(DIRS-y)
	@$(foreach mod, $(MODULES_PKGCONFIG), $(call pkgconfig_uninstall,$(mod)))

clean: $(DIRS-y)

include $(SPDK_ROOT_DIR)/mk/spdk.subdirs.mk
Loading