diff options
Diffstat (limited to 'templates')
-rw-r--r-- | templates/Makefile.template | 135 |
1 files changed, 129 insertions, 6 deletions
diff --git a/templates/Makefile.template b/templates/Makefile.template index 044db4dbfe..77704fa965 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -436,6 +436,7 @@ PROTOC_CHECK_CMD = which protoc > /dev/null PROTOC_CHECK_VERSION_CMD = protoc --version | grep -q libprotoc.3 DTRACE_CHECK_CMD = which dtrace > /dev/null SYSTEMTAP_HEADERS_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o $(TMPOUT) test/build/systemtap.c $(LDFLAGS) +ZOOKEEPER_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o $(TMPOUT) test/build/zookeeper.c $(LDFLAGS) -lzookeeper_mt ifndef REQUIRE_CUSTOM_LIBRARIES_$(CONFIG) HAS_SYSTEM_PERFTOOLS ?= $(shell $(PERFTOOLS_CHECK_CMD) 2> /dev/null && echo true || echo false) @@ -503,6 +504,8 @@ ifeq ($(HAS_SYSTEMTAP),true) CACHE_MK += HAS_SYSTEMTAP = true, endif +HAS_ZOOKEEPER = $(shell $(ZOOKEEPER_CHECK_CMD) 2> /dev/null && echo true || echo false) + # Note that for testing purposes, one can do: # make HAS_EMBEDDED_OPENSSL_ALPN=false # to emulate the fact we do not have OpenSSL in the third_party folder. @@ -621,6 +624,14 @@ PC_LIBS_PRIVATE = $(PC_LIBS_GRPC) PC_LIB = -lgrpc GRPC_UNSECURE_PC_FILE := $(PC_TEMPLATE) +# gprc_zookeeper .pc file +PC_NAME = gRPC zookeeper +PC_DESCRIPTION = gRPC's zookeeper plugin +PC_CFLAGS = +PC_REQUIRES_PRIVATE = +PC_LIBS_PRIVATE = -lzookeeper_mt +GRPC_ZOOKEEPER_PC_FILE := $(PC_TEMPLATE) + PROTOBUF_PKG_CONFIG = false PC_REQUIRES_GRPCXX = @@ -813,6 +824,7 @@ run_dep_checks: $(PERFTOOLS_CHECK_CMD) || true $(PROTOBUF_CHECK_CMD) || true $(PROTOC_CHECK_VERSION_CMD) || true + $(ZOOKEEPER_CHECK_CMD) || true $(LIBDIR)/$(CONFIG)/zlib/libz.a: $(E) "[MAKE] Building zlib" @@ -871,12 +883,13 @@ $(LIBDIR)/$(CONFIG)/protobuf/libprotobuf.a: third_party/protobuf/configure static: static_c static_cxx -static_c: pc_c pc_c_unsecure cache.mk \ +static_c: pc_c pc_c_unsecure cache.mk pc_gpr pc_c_zookeeper\ % for lib in libs: -% if lib.build == 'all' and lib.language == 'c': +% if lib.build == 'all' and lib.language == 'c' and not lib.get('external_deps', None): $(LIBDIR)/$(CONFIG)/lib${lib.name}.a\ % endif % endfor + static_zookeeper_libs static_cxx: pc_cxx pc_cxx_unsecure pc_gpr cache.mk \ @@ -889,13 +902,13 @@ static_cxx: pc_cxx pc_cxx_unsecure pc_gpr cache.mk \ shared: shared_c shared_cxx -shared_c: pc_c pc_c_unsecure pc_gpr cache.mk\ +shared_c: pc_c pc_c_unsecure pc_gpr cache.mk pc_c_zookeeper\ % for lib in libs: -% if lib.build == 'all' and lib.language == 'c': +% if lib.build == 'all' and lib.language == 'c' and not lib.get('external_deps', None): $(LIBDIR)/$(CONFIG)/lib${lib.name}.$(SHARED_EXT)\ % endif % endfor - + shared_zookeeper_libs shared_cxx: pc_cxx pc_cxx_unsecure cache.mk\ % for lib in libs: @@ -912,6 +925,29 @@ shared_csharp: shared_c \ % endif % endfor +ifeq ($(HAS_ZOOKEEPER),true) +static_zookeeper_libs:\ +% for lib in libs: +% if lib.build == 'all' and lib.language == 'c' and 'zookeeper' in lib.get('external_deps', []): + $(LIBDIR)/$(CONFIG)/lib${lib.name}.a\ +% endif +% endfor + +shared_zookeeper_libs:\ +% for lib in libs: +% if lib.build == 'all' and lib.language == 'c' and 'zookeeper' in lib.get('external_deps', []): + $(LIBDIR)/$(CONFIG)/lib${lib.name}.$(SHARED_EXT)\ +% endif +% endfor + +else + +static_zookeeper_libs: + +shared_zookeeper_libs: + +endif + grpc_csharp_ext: shared_csharp plugins: $(PROTOC_PLUGINS) @@ -931,6 +967,12 @@ pc_c: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc.pc pc_c_unsecure: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_unsecure.pc +ifeq ($(HAS_ZOOKEEPER),true) +pc_c_zookeeper: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_zookeeper.pc +else +pc_c_zookeeper: +endif + pc_cxx: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc++.pc pc_cxx_unsecure: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc++_unsecure.pc @@ -1063,23 +1105,52 @@ ifeq ($(CONFIG),opt) % for lib in libs: % if lib.language == "c++": % if lib.build == "all": +% if not lib.get('external_deps', None): $(E) "[STRIP] Stripping lib${lib.name}.a" $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/lib${lib.name}.a % endif % endif +% endif +% endfor + +ifeq ($(HAS_ZOOKEEPER),true) +% for lib in libs: +% if lib.language == "c++": +% if lib.build == "all": +% if 'zookeeper' in lib.get('external_deps', []): + $(E) "[STRIP] Stripping lib${lib.name}.a" + $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/lib${lib.name}.a +% endif +% endif +% endif % endfor endif +endif strip-shared_c: shared_c ifeq ($(CONFIG),opt) % for lib in libs: % if lib.language == "c": % if lib.build == "all": +% if not lib.get('external_deps', None): $(E) "[STRIP] Stripping lib${lib.name}.so" $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/lib${lib.name}.$(SHARED_EXT) % endif % endif +% endif % endfor +ifeq ($(HAS_ZOOKEEPER),true) +% for lib in libs: +% if lib.language == "c": +% if lib.build == "all": +% if 'zookeeper' in lib.get('external_deps', []): + $(E) "[STRIP] Stripping lib${lib.name}.so" + $(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/lib${lib.name}.$(SHARED_EXT) +% endif +% endif +% endif +% endfor +endif endif strip-shared_cxx: shared_cxx @@ -1125,6 +1196,11 @@ $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_unsecure.pc: $(Q) mkdir -p $(@D) $(Q) echo "$(GRPC_UNSECURE_PC_FILE)" | tr , '\n' >$@ +$(LIBDIR)/$(CONFIG)/pkgconfig/grpc_zookeeper.pc: + $(E) "[MAKE] Generating $@" + $(Q) mkdir -p $(@D) + $(Q) echo -e "$(GRPC_ZOOKEEPER_PC_FILE)" >$@ + $(LIBDIR)/$(CONFIG)/pkgconfig/grpc++.pc: $(E) "[MAKE] Generating $@" $(Q) mkdir -p $(@D) @@ -1213,12 +1289,27 @@ install-static_c: static_c strip-static_c install-pkg-config_c % for lib in libs: % if lib.language == "c": % if lib.build == "all": +% if not lib.get('external_deps', None): $(E) "[INSTALL] Installing lib${lib.name}.a" $(Q) $(INSTALL) -d $(prefix)/lib $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/lib${lib.name}.a $(prefix)/lib/lib${lib.name}.a % endif % endif +% endif % endfor +ifeq ($(HAS_ZOOKEEPER),true) +% for lib in libs: +% if lib.language == "c": +% if lib.build == "all": +% if 'zookeeper' in lib.get('external_deps', []): + $(E) "[INSTALL] Installing lib${lib.name}.a" + $(Q) $(INSTALL) -d $(prefix)/lib + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/lib${lib.name}.a $(prefix)/lib/lib${lib.name}.a +% endif +% endif +% endif +% endfor +endif install-static_cxx: static_cxx strip-static_cxx install-pkg-config_cxx % for lib in libs: @@ -1235,6 +1326,30 @@ install-static_cxx: static_cxx strip-static_cxx install-pkg-config_cxx % for lib in libs: % if lib.language == lang_filter: % if lib.build == "all": +% if not lib.get('external_deps', None): +ifeq ($(SYSTEM),MINGW32) + $(E) "[INSTALL] Installing ${lib.name}.$(SHARED_EXT)" + $(Q) $(INSTALL) -d $(prefix)/lib + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/${lib.name}.$(SHARED_EXT) $(prefix)/lib/${lib.name}.$(SHARED_EXT) + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/lib${lib.name}-imp.a $(prefix)/lib/lib${lib.name}-imp.a +else + $(E) "[INSTALL] Installing lib${lib.name}.$(SHARED_EXT)" + $(Q) $(INSTALL) -d $(prefix)/lib + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/lib${lib.name}.$(SHARED_EXT) $(prefix)/lib/lib${lib.name}.$(SHARED_EXT) +ifneq ($(SYSTEM),Darwin) + $(Q) ln -sf lib${lib.name}.$(SHARED_EXT) $(prefix)/lib/lib${lib.name}.so.${settings.version.major} + $(Q) ln -sf lib${lib.name}.$(SHARED_EXT) $(prefix)/lib/lib${lib.name}.so +endif +endif +% endif +% endif +% endif +% endfor +ifeq ($(HAS_ZOOKEEPER),true) +% for lib in libs: +% if lib.language == lang_filter: +% if lib.build == "all": +% if 'zookeeper' in lib.get('external_deps', []): ifeq ($(SYSTEM),MINGW32) $(E) "[INSTALL] Installing ${lib.name}.$(SHARED_EXT)" $(Q) $(INSTALL) -d $(prefix)/lib @@ -1251,7 +1366,9 @@ endif endif % endif % endif +% endif % endfor +endif ifneq ($(SYSTEM),MINGW32) ifneq ($(SYSTEM),Darwin) $(Q) ldconfig || true @@ -1281,12 +1398,15 @@ else % endfor endif -install-pkg-config_c: pc_gpr pc_c pc_c_unsecure +install-pkg-config_c: pc_gpr pc_c pc_c_unsecure pc_c_zookeeper $(E) "[INSTALL] Installing C pkg-config files" $(Q) $(INSTALL) -d $(prefix)/lib/pkgconfig $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/pkgconfig/gpr.pc $(prefix)/lib/pkgconfig/gpr.pc $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/pkgconfig/grpc.pc $(prefix)/lib/pkgconfig/grpc.pc $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_unsecure.pc $(prefix)/lib/pkgconfig/grpc_unsecure.pc +ifeq ($(HAS_ZOOKEEPER),true) + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_zookeeper.pc $(prefix)/lib/pkgconfig/grpc_zookeeper.pc +endif install-pkg-config_cxx: pc_cxx pc_cxx_unsecure $(E) "[INSTALL] Installing C++ pkg-config files" @@ -1476,6 +1596,9 @@ endif for src in lib.src: sources_that_don_t_need_openssl.add(src) + if 'zookeeper' in lib.get('external_deps', []): + libs = libs + ' -lzookeeper_mt' + if lib.get('secure', 'check') == 'yes' or lib.get('secure', 'check') == 'check': lib_deps = lib_deps + ' $(OPENSSL_DEP)' mingw_lib_deps = mingw_lib_deps + ' $(OPENSSL_DEP)' |