mirror of https://github.com/facebook/rocksdb.git
Allow plugins to add pkg-config dependencies to rocksdb.pc (#9198)
Summary: This patch fixes an issue that occur when dependencies of plugins are not installed to the same prefix as librocksdb. Because plugin dependencies are declared in the `Libs` field of rocksdb.pc, programs that link against librocksdb with `pkg-config --libs rocksdb` will link with `-L` flag for the path of librocksdb only. This patch allows plugin dependencies to be declared in the `Requires` field of rocksdb.pc, so that pkg-config will correctly provide `-L` flags for dependencies of plugins that are installed in other locations. Pull Request resolved: https://github.com/facebook/rocksdb/pull/9198 Reviewed By: akankshamahajan15 Differential Revision: D32596620 Pulled By: ajkr fbshipit-source-id: e17b2b6452b5f2e955b430140197c57e26a4a518
This commit is contained in:
parent
c712b68f5b
commit
074562226f
13
Makefile
13
Makefile
|
@ -249,8 +249,20 @@ ROCKSDB_PLUGIN_MKS = $(foreach plugin, $(ROCKSDB_PLUGINS), plugin/$(plugin)/*.mk
|
|||
include $(ROCKSDB_PLUGIN_MKS)
|
||||
ROCKSDB_PLUGIN_SOURCES = $(foreach plugin, $(ROCKSDB_PLUGINS), $(foreach source, $($(plugin)_SOURCES), plugin/$(plugin)/$(source)))
|
||||
ROCKSDB_PLUGIN_HEADERS = $(foreach plugin, $(ROCKSDB_PLUGINS), $(foreach header, $($(plugin)_HEADERS), plugin/$(plugin)/$(header)))
|
||||
ROCKSDB_PLUGIN_PKGCONFIG_REQUIRES = $(foreach plugin, $(ROCKSDB_PLUGINS), $($(plugin)_PKGCONFIG_REQUIRES))
|
||||
PLATFORM_LDFLAGS += $(foreach plugin, $(ROCKSDB_PLUGINS), $($(plugin)_LDFLAGS))
|
||||
|
||||
ifneq ($(ROCKSDB_PLUGIN_PKGCONFIG_REQUIRES),)
|
||||
LDFLAGS := $(LDFLAGS) $(shell pkg-config --libs $(ROCKSDB_PLUGIN_PKGCONFIG_REQUIRES))
|
||||
ifneq ($(.SHELLSTATUS),0)
|
||||
$(error pkg-config failed)
|
||||
endif
|
||||
CXXFLAGS := $(CXXFLAGS) $(shell pkg-config --cflags $(ROCKSDB_PLUGIN_PKGCONFIG_REQUIRES))
|
||||
ifneq ($(.SHELLSTATUS),0)
|
||||
$(error pkg-config failed)
|
||||
endif
|
||||
endif
|
||||
|
||||
export JAVAC_ARGS
|
||||
CLEAN_FILES += make_config.mk rocksdb.pc
|
||||
|
||||
|
@ -2011,6 +2023,7 @@ gen-pc:
|
|||
-echo 'Libs: -L$${libdir} $(EXEC_LDFLAGS) -lrocksdb' >> rocksdb.pc
|
||||
-echo 'Libs.private: $(PLATFORM_LDFLAGS)' >> rocksdb.pc
|
||||
-echo 'Cflags: -I$${includedir} $(PLATFORM_CXXFLAGS)' >> rocksdb.pc
|
||||
-echo 'Requires: $(subst ",,$(ROCKSDB_PLUGIN_PKGCONFIG_REQUIRES))' >> rocksdb.pc
|
||||
|
||||
#-------------------------------------------------
|
||||
|
||||
|
|
Loading…
Reference in New Issue