diff --git a/Makefile b/Makefile index 051a6087b919d58f275d871ba35462b6f64e81c4..251f91b43d9dbbe6e4f73f6e404ee5d81ff7acde 100644 --- a/Makefile +++ b/Makefile @@ -215,6 +215,7 @@ endif endif INSTALL = install RM = rm -f +PKG_CONFIG = pkg-config ifndef VALID_CONFIG_$(CONFIG) $(error Invalid CONFIG value '$(CONFIG)') @@ -331,9 +332,9 @@ HOST_LDLIBS = $(LDLIBS) # These are automatically computed variables. # There shouldn't be any need to change anything from now on. -HAS_PKG_CONFIG = $(shell command -v pkg-config >/dev/null 2>&1 && echo true || echo false) +HAS_PKG_CONFIG = $(shell command -v $(PKG_CONFIG) >/dev/null 2>&1 && echo true || echo false) -PC_TEMPLATE = prefix=$(prefix)\nexec_prefix=\$${prefix}\nincludedir=\$${prefix}/include\nlibdir=\$${exec_prefix}/lib\n\nName: $(PC_NAME)\nDescription: $(PC_DESCRIPTION)\nVersion: $(VERSION)\nCflags: -I\$${includedir} $(PC_CFLAGS)\nRequires.private: $(PC_REQUIRES_PRIVATE)\nLibs: -L\$${libdir}\nLibs.private: $(PC_LIBS_PRIVATE) +PC_TEMPLATE = prefix=$(prefix)\nexec_prefix=\$${prefix}\nincludedir=\$${prefix}/include\nlibdir=\$${exec_prefix}/lib\n\nName: $(PC_NAME)\nDescription: $(PC_DESCRIPTION)\nVersion: $(VERSION)\nCflags: -I\$${includedir} $(PC_CFLAGS)\nRequires.private: $(PC_REQUIRES_PRIVATE)\nLibs: -L\$${libdir} $(PC_LIB)\nLibs.private: $(PC_LIBS_PRIVATE) # gpr .pc file PC_NAME = gRPC Portable Runtime @@ -341,7 +342,8 @@ PC_DESCRIPTION = gRPC Portable Runtime PC_CFLAGS = -pthread PC_REQUIRES_PRIVATE = PC_LIBS_PRIVATE = -lpthread -ifeq ($(SYSTEM),Darwin) +PC_LIB = -lgpr +ifneq ($(SYSTEM),Darwin) PC_LIBS_PRIVATE += -lrt endif GPR_PC_FILE := $(PC_TEMPLATE) @@ -371,10 +373,10 @@ OPENSSL_REQUIRES_DL = true endif ifeq ($(HAS_PKG_CONFIG),true) -OPENSSL_ALPN_CHECK_CMD = pkg-config --atleast-version=1.0.2 openssl -OPENSSL_NPN_CHECK_CMD = pkg-config --alteast-version=1.0.1 openssl -ZLIB_CHECK_CMD = pkg-config --exists zlib -PROTOBUF_CHECK_CMD = pkg-config --atleast-version=3.0.0-alpha-3 protobuf +OPENSSL_ALPN_CHECK_CMD = $(PKG_CONFIG) --atleast-version=1.0.2 openssl +OPENSSL_NPN_CHECK_CMD = $(PKG_CONFIG) --atleast-version=1.0.1 openssl +ZLIB_CHECK_CMD = $(PKG_CONFIG) --exists zlib +PROTOBUF_CHECK_CMD = $(PKG_CONFIG) --atleast-version=3.0.0-alpha-3 protobuf else # HAS_PKG_CONFIG ifeq ($(SYSTEM),MINGW32) @@ -484,8 +486,8 @@ DEP_MISSING += zlib endif else ifeq ($(HAS_PKG_CONFIG),true) -CPPFLAGS += $(shell pkg-config --cflags zlib) -LDFLAGS += $(shell pkg-config --libs-only-L zlib) +CPPFLAGS += $(shell $(PKG_CONFIG) --cflags zlib) +LDFLAGS += $(shell $(PKG_CONFIG) --libs-only-L zlib) PC_REQUIRES_GRPC += zlib else PC_LIBS_GRPC += -lz @@ -501,11 +503,11 @@ ifeq ($(HAS_SYSTEM_OPENSSL_ALPN),true) ifeq ($(HAS_PKG_CONFIG),true) OPENSSL_PKG_CONFIG = true PC_REQUIRES_SECURE = openssl -CPPFLAGS := $(shell pkg-config --cflags openssl) $(CPPFLAGS) -LDFLAGS_OPENSSL_PKG_CONFIG = $(shell pkg-config --libs-only-L openssl) +CPPFLAGS := $(shell $(PKG_CONFIG) --cflags openssl) $(CPPFLAGS) +LDFLAGS_OPENSSL_PKG_CONFIG = $(shell $(PKG_CONFIG) --libs-only-L openssl) ifeq ($(SYSTEM),Linux) ifneq ($(LDFLAGS_OPENSSL_PKG_CONFIG),) -LDFLAGS_OPENSSL_PKG_CONFIG += $(shell pkg-config --libs-only-L openssl | sed s/L/Wl,-rpath,/) +LDFLAGS_OPENSSL_PKG_CONFIG += $(shell $(PKG_CONFIG) --libs-only-L openssl | sed s/L/Wl,-rpath,/) endif endif LDFLAGS := $(LDFLAGS_OPENSSL_PKG_CONFIG) $(LDFLAGS) @@ -542,7 +544,7 @@ endif endif ifeq ($(OPENSSL_PKG_CONFIG),true) -LDLIBS_SECURE += $(shell pkg-config --libs-only-l openssl) +LDLIBS_SECURE += $(shell $(PKG_CONFIG) --libs-only-l openssl) else LDLIBS_SECURE += $(addprefix -l, $(LIBS_SECURE)) endif @@ -553,6 +555,7 @@ PC_DESCRIPTION = high performance general RPC framework PC_CFLAGS = PC_REQUIRES_PRIVATE = $(PC_REQUIRES_GRPC) $(PC_REQUIRES_SECURE) PC_LIBS_PRIVATE = $(PC_LIBS_GRPC) $(PC_LIBS_SECURE) +PC_LIB = -lgrpc GRPC_PC_FILE := $(PC_TEMPLATE) # gprc_unsecure .pc file @@ -561,6 +564,7 @@ PC_DESCRIPTION = high performance general RPC framework without SSL PC_CFLAGS = PC_REQUIRES_PRIVATE = $(PC_REQUIRES_GRPC) PC_LIBS_PRIVATE = $(PC_LIBS_GRPC) +PC_LIB = -lgrpc GRPC_UNSECURE_PC_FILE := $(PC_TEMPLATE) PROTOBUF_PKG_CONFIG = false @@ -572,11 +576,11 @@ ifeq ($(HAS_SYSTEM_PROTOBUF),true) ifeq ($(HAS_PKG_CONFIG),true) PROTOBUF_PKG_CONFIG = true PC_REQUIRES_GRPCXX = protobuf -CPPFLAGS := $(shell pkg-config --cflags protobuf) $(CPPFLAGS) -LDFLAGS_PROTOBUF_PKG_CONFIG = $(shell pkg-config --libs-only-L protobuf) +CPPFLAGS := $(shell $(PKG_CONFIG) --cflags protobuf) $(CPPFLAGS) +LDFLAGS_PROTOBUF_PKG_CONFIG = $(shell $(PKG_CONFIG) --libs-only-L protobuf) ifeq ($(SYSTEM),Linux) ifneq ($(LDFLAGS_PROTOBUF_PKG_CONFIG),) -LDFLAGS_PROTOBUF_PKG_CONFIG += $(shell pkg-config --libs-only-L protobuf | sed s/L/Wl,-rpath,/) +LDFLAGS_PROTOBUF_PKG_CONFIG += $(shell $(PKG_CONFIG) --libs-only-L protobuf | sed s/L/Wl,-rpath,/) endif endif else @@ -599,7 +603,7 @@ LIBS_PROTOC = protoc protobuf HOST_LDLIBS_PROTOC += $(addprefix -l, $(LIBS_PROTOC)) ifeq ($(PROTOBUF_PKG_CONFIG),true) -LDLIBS_PROTOBUF += $(shell pkg-config --libs-only-l protobuf) +LDLIBS_PROTOBUF += $(shell $(PKG_CONFIG) --libs-only-l protobuf) else LDLIBS_PROTOBUF += $(addprefix -l, $(LIBS_PROTOBUF)) endif @@ -610,6 +614,7 @@ PC_DESCRIPTION = C++ wrapper for gRPC PC_CFLAGS = PC_REQUIRES_PRIVATE = grpc $(PC_REQUIRES_GRPCXX) PC_LIBS_PRIVATE = $(PC_LIBS_GRPCXX) +PC_LIB = -lgrpc++ GRPCXX_PC_FILE := $(PC_TEMPLATE) # grpc++_unsecure .pc file @@ -618,6 +623,7 @@ PC_DESCRIPTION = C++ wrapper for gRPC without SSL PC_CFLAGS = PC_REQUIRES_PRIVATE = grpc_unsecure $(PC_REQUIRES_GRPCXX) PC_LIBS_PRIVATE = $(PC_LIBS_GRPCXX) +PC_LIB = -lgrpc++ GRPCXX_UNSECURE_PC_FILE := $(PC_TEMPLATE) ifeq ($(MAKECMDGOALS),clean) diff --git a/src/core/channel/client_channel.c b/src/core/channel/client_channel.c index 871e970eb8d152c73e85084e811dec1124d9b530..f890f99237e88bc8eb97548a32158792dbb1911a 100644 --- a/src/core/channel/client_channel.c +++ b/src/core/channel/client_channel.c @@ -427,7 +427,7 @@ static void cc_on_config_changed(void *arg, int iomgr_success) { GRPC_RESOLVER_REF(resolver, "channel-next"); gpr_mu_unlock(&chand->mu_config); GRPC_CHANNEL_INTERNAL_REF(chand->master, "resolver"); - grpc_resolver_next(chand->resolver, &chand->incoming_configuration, + grpc_resolver_next(resolver, &chand->incoming_configuration, &chand->on_config_changed); GRPC_RESOLVER_UNREF(resolver, "channel-next"); } else { diff --git a/src/core/json/json.h b/src/core/json/json.h index b78b42a5b2ff916d1422821eada08a066d297943..cac18ad885498383fbed5dcf5b030b2d01123246 100644 --- a/src/core/json/json.h +++ b/src/core/json/json.h @@ -53,7 +53,7 @@ typedef struct grpc_json { } grpc_json; /* The next two functions are going to parse the input string, and - * destroy it in the process, in order to use its space to store + * modify it in the process, in order to use its space to store * all of the keys and values for the returned object tree. * * They assume UTF-8 input stream, and will output UTF-8 encoded diff --git a/src/node/binding.gyp b/src/node/binding.gyp index 259c0b5de4f346862851b4977002822a82e86796..6ba233388ae5f6bfb207b17f19c3dab81d7c80e5 100644 --- a/src/node/binding.gyp +++ b/src/node/binding.gyp @@ -16,14 +16,48 @@ 'ldflags': [ '-g' ], - 'link_settings': { - 'libraries': [ - '-lpthread', - '-lgrpc', - '-lgpr' - ] - }, "conditions": [ + ['OS != "win"', { + 'variables': { + 'pkg_config_grpc': '<!(pkg-config --exists grpc >/dev/null 2>&1 && echo true || echo false)' + }, + 'conditions': [ + ['pkg_config_grpc == "true"', { + 'link_settings': { + 'libraries': [ + '<!@(pkg-config --libs-only-l --static grpc)' + ] + }, + 'cflags': [ + '<!@(pkg-config --cflags grpc)' + ], + 'libraries': [ + '<!@(pkg-config --libs-only-L --static grpc)' + ], + 'ldflags': [ + '<!@(pkg-config --libs-only-other --static grpc)' + ] + }, { + 'link_settings': { + 'libraries': [ + '-lpthread', + '-lgrpc', + '-lgpr' + ], + }, + 'conditions':[ + ['OS != "mac"', { + 'link_settings': { + 'libraries': [ + '-lrt' + ] + } + }] + ] + } + ] + ] + }], ['OS == "mac"', { 'xcode_settings': { 'MACOSX_DEPLOYMENT_TARGET': '10.9', @@ -32,13 +66,6 @@ '-stdlib=libc++' ] } - }], - ['OS != "mac"', { - 'link_settings': { - 'libraries': [ - '-lrt' - ] - } }] ], "target_name": "grpc", diff --git a/src/objective-c/tests/Podfile b/src/objective-c/tests/Podfile index 026868db12b164c9010d8c627233e787f434e8a4..2aa837f764e963dd9c13e3895f27f016101a1532 100644 --- a/src/objective-c/tests/Podfile +++ b/src/objective-c/tests/Podfile @@ -1,6 +1,7 @@ source 'https://github.com/CocoaPods/Specs.git' platform :ios, '8.0' +pod 'Protobuf', :path => "../../../third_party/protobuf" pod 'gRPC', :path => "../../.." pod 'RemoteTest', :path => "../generated_libraries/RemoteTestClient" pod 'RouteGuide', :path => "../generated_libraries/RouteGuideClient" diff --git a/src/ruby/ext/grpc/extconf.rb b/src/ruby/ext/grpc/extconf.rb index 6dd023448928e8f80ad349babf014000d270ec4f..7972272e2df6dff31737120a22b6f75091360d87 100644 --- a/src/ruby/ext/grpc/extconf.rb +++ b/src/ruby/ext/grpc/extconf.rb @@ -54,44 +54,55 @@ LIB_DIRS = [ LIBDIR ] -# Check to see if GRPC_ROOT is defined or available -grpc_root = ENV['GRPC_ROOT'] -if grpc_root.nil? - r = File.expand_path(File.join(File.dirname(__FILE__), '../../../..')) - grpc_root = r if File.exist?(File.join(r, 'include/grpc/grpc.h')) -end - -# When grpc_root is available attempt to build the grpc core. -unless grpc_root.nil? - grpc_config = ENV['GRPC_CONFIG'] || 'opt' - if ENV.key?('GRPC_LIB_DIR') - grpc_lib_dir = File.join(grpc_root, ENV['GRPC_LIB_DIR']) - else - grpc_lib_dir = File.join(File.join(grpc_root, 'libs'), grpc_config) - end - unless File.exist?(File.join(grpc_lib_dir, 'libgrpc.a')) - system("make -C #{grpc_root} static_c CONFIG=#{grpc_config}") +def check_grpc_root + grpc_root = ENV['GRPC_ROOT'] + if grpc_root.nil? + r = File.expand_path(File.join(File.dirname(__FILE__), '../../../..')) + grpc_root = r if File.exist?(File.join(r, 'include/grpc/grpc.h')) end - HEADER_DIRS.unshift File.join(grpc_root, 'include') - LIB_DIRS.unshift grpc_lib_dir + grpc_root end -def crash(msg) - print(" extconf failure: #{msg}\n") - exit 1 -end +grpc_pkg_config = system('pkg-config --exists grpc') + +if grpc_pkg_config + $CFLAGS << ' ' + `pkg-config --static --cflags grpc`.strip + ' ' + $LDFLAGS << ' ' + `pkg-config --static --libs grpc`.strip + ' ' +else + dir_config('grpc', HEADER_DIRS, LIB_DIRS) + fail 'libdl not found' unless have_library('dl', 'dlopen') + fail 'zlib not found' unless have_library('z', 'inflate') + begin + fail 'Fail' unless have_library('gpr', 'gpr_now') + fail 'Fail' unless have_library('grpc', 'grpc_channel_destroy') + rescue + # Check to see if GRPC_ROOT is defined or available + grpc_root = check_grpc_root -dir_config('grpc', HEADER_DIRS, LIB_DIRS) + # Stop if there is still no grpc_root + exit 1 if grpc_root.nil? -$CFLAGS << ' -Wno-implicit-function-declaration ' -$CFLAGS << ' -Wno-pointer-sign ' -$CFLAGS << ' -Wno-return-type ' + grpc_config = ENV['GRPC_CONFIG'] || 'opt' + if ENV.key?('GRPC_LIB_DIR') + grpc_lib_dir = File.join(grpc_root, ENV['GRPC_LIB_DIR']) + else + grpc_lib_dir = File.join(File.join(grpc_root, 'libs'), grpc_config) + end + unless File.exist?(File.join(grpc_lib_dir, 'libgrpc.a')) + print "Building internal gRPC\n" + system("make -C #{grpc_root} static_c CONFIG=#{grpc_config}") + end + $CFLAGS << ' -I' + File.join(grpc_root, 'include') + $LDFLAGS << ' -L' + grpc_lib_dir + raise 'gpr not found' unless have_library('gpr', 'gpr_now') + raise 'grpc not found' unless have_library('grpc', 'grpc_channel_destroy') + end +end + +$CFLAGS << ' -std=c99 ' $CFLAGS << ' -Wall ' +$CFLAGS << ' -Wextra ' $CFLAGS << ' -pedantic ' +$CFLAGS << ' -Werror ' -$LDFLAGS << ' -lgrpc -lgpr -lz -ldl' - -crash('need grpc lib') unless have_library('grpc', 'grpc_channel_destroy') -have_library('grpc', 'grpc_channel_destroy') -crash('need gpr lib') unless have_library('gpr', 'gpr_now') create_makefile('grpc/grpc') diff --git a/src/ruby/ext/grpc/rb_server.c b/src/ruby/ext/grpc/rb_server.c index 9c0d24bf8fd47ce1fafe9d885a4fd4be308f7e8f..bed3b268505598c0bbb199f12162710acb1702bd 100644 --- a/src/ruby/ext/grpc/rb_server.c +++ b/src/ruby/ext/grpc/rb_server.c @@ -68,8 +68,12 @@ static void grpc_rb_server_free(void *p) { /* Deletes the wrapped object if the mark object is Qnil, which indicates that no other object is the actual owner. */ + /* grpc_server_shutdown does not exist. Change this to something that does + or delete it */ if (svr->wrapped != NULL && svr->mark == Qnil) { - grpc_server_shutdown(svr->wrapped); + // grpc_server_shutdown(svr->wrapped); + // Aborting to indicate a bug + abort(); grpc_server_destroy(svr->wrapped); } diff --git a/templates/Makefile.template b/templates/Makefile.template index 26b514762f35a210bb37c5c5455fd23a7f2fa453..84822ab80f969310b39eb70df6bf94a3af4435f6 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -229,6 +229,7 @@ endif endif INSTALL = install RM = rm -f +PKG_CONFIG = pkg-config ifndef VALID_CONFIG_$(CONFIG) $(error Invalid CONFIG value '$(CONFIG)') @@ -345,7 +346,7 @@ HOST_LDLIBS = $(LDLIBS) # These are automatically computed variables. # There shouldn't be any need to change anything from now on. -HAS_PKG_CONFIG = $(shell command -v pkg-config >/dev/null 2>&1 && echo true || echo false) +HAS_PKG_CONFIG = $(shell command -v $(PKG_CONFIG) >/dev/null 2>&1 && echo true || echo false) PC_TEMPLATE = prefix=$(prefix)\n\ exec_prefix=${'\$${prefix}'}\n\ @@ -357,7 +358,7 @@ Description: $(PC_DESCRIPTION)\n\ Version: $(VERSION)\n\ Cflags: -I${'\$${includedir}'} $(PC_CFLAGS)\n\ Requires.private: $(PC_REQUIRES_PRIVATE)\n\ -Libs: -L${'\$${libdir}'}\n\ +Libs: -L${'\$${libdir}'} $(PC_LIB)\n\ Libs.private: $(PC_LIBS_PRIVATE) # gpr .pc file @@ -366,7 +367,8 @@ PC_DESCRIPTION = gRPC Portable Runtime PC_CFLAGS = -pthread PC_REQUIRES_PRIVATE = PC_LIBS_PRIVATE = -lpthread -ifeq ($(SYSTEM),Darwin) +PC_LIB = -lgpr +ifneq ($(SYSTEM),Darwin) PC_LIBS_PRIVATE += -lrt endif GPR_PC_FILE := $(PC_TEMPLATE) @@ -396,10 +398,10 @@ OPENSSL_REQUIRES_DL = true endif ifeq ($(HAS_PKG_CONFIG),true) -OPENSSL_ALPN_CHECK_CMD = pkg-config --atleast-version=1.0.2 openssl -OPENSSL_NPN_CHECK_CMD = pkg-config --alteast-version=1.0.1 openssl -ZLIB_CHECK_CMD = pkg-config --exists zlib -PROTOBUF_CHECK_CMD = pkg-config --atleast-version=3.0.0-alpha-3 protobuf +OPENSSL_ALPN_CHECK_CMD = $(PKG_CONFIG) --atleast-version=1.0.2 openssl +OPENSSL_NPN_CHECK_CMD = $(PKG_CONFIG) --atleast-version=1.0.1 openssl +ZLIB_CHECK_CMD = $(PKG_CONFIG) --exists zlib +PROTOBUF_CHECK_CMD = $(PKG_CONFIG) --atleast-version=3.0.0-alpha-3 protobuf else # HAS_PKG_CONFIG ifeq ($(SYSTEM),MINGW32) @@ -509,8 +511,8 @@ DEP_MISSING += zlib endif else ifeq ($(HAS_PKG_CONFIG),true) -CPPFLAGS += $(shell pkg-config --cflags zlib) -LDFLAGS += $(shell pkg-config --libs-only-L zlib) +CPPFLAGS += $(shell $(PKG_CONFIG) --cflags zlib) +LDFLAGS += $(shell $(PKG_CONFIG) --libs-only-L zlib) PC_REQUIRES_GRPC += zlib else PC_LIBS_GRPC += -lz @@ -526,11 +528,11 @@ ifeq ($(HAS_SYSTEM_OPENSSL_ALPN),true) ifeq ($(HAS_PKG_CONFIG),true) OPENSSL_PKG_CONFIG = true PC_REQUIRES_SECURE = openssl -CPPFLAGS := $(shell pkg-config --cflags openssl) $(CPPFLAGS) -LDFLAGS_OPENSSL_PKG_CONFIG = $(shell pkg-config --libs-only-L openssl) +CPPFLAGS := $(shell $(PKG_CONFIG) --cflags openssl) $(CPPFLAGS) +LDFLAGS_OPENSSL_PKG_CONFIG = $(shell $(PKG_CONFIG) --libs-only-L openssl) ifeq ($(SYSTEM),Linux) ifneq ($(LDFLAGS_OPENSSL_PKG_CONFIG),) -LDFLAGS_OPENSSL_PKG_CONFIG += $(shell pkg-config --libs-only-L openssl | sed s/L/Wl,-rpath,/) +LDFLAGS_OPENSSL_PKG_CONFIG += $(shell $(PKG_CONFIG) --libs-only-L openssl | sed s/L/Wl,-rpath,/) endif endif LDFLAGS := $(LDFLAGS_OPENSSL_PKG_CONFIG) $(LDFLAGS) @@ -567,7 +569,7 @@ endif endif ifeq ($(OPENSSL_PKG_CONFIG),true) -LDLIBS_SECURE += $(shell pkg-config --libs-only-l openssl) +LDLIBS_SECURE += $(shell $(PKG_CONFIG) --libs-only-l openssl) else LDLIBS_SECURE += $(addprefix -l, $(LIBS_SECURE)) endif @@ -578,6 +580,7 @@ PC_DESCRIPTION = high performance general RPC framework PC_CFLAGS = PC_REQUIRES_PRIVATE = $(PC_REQUIRES_GRPC) $(PC_REQUIRES_SECURE) PC_LIBS_PRIVATE = $(PC_LIBS_GRPC) $(PC_LIBS_SECURE) +PC_LIB = -lgrpc GRPC_PC_FILE := $(PC_TEMPLATE) # gprc_unsecure .pc file @@ -586,6 +589,7 @@ PC_DESCRIPTION = high performance general RPC framework without SSL PC_CFLAGS = PC_REQUIRES_PRIVATE = $(PC_REQUIRES_GRPC) PC_LIBS_PRIVATE = $(PC_LIBS_GRPC) +PC_LIB = -lgrpc GRPC_UNSECURE_PC_FILE := $(PC_TEMPLATE) PROTOBUF_PKG_CONFIG = false @@ -597,11 +601,11 @@ ifeq ($(HAS_SYSTEM_PROTOBUF),true) ifeq ($(HAS_PKG_CONFIG),true) PROTOBUF_PKG_CONFIG = true PC_REQUIRES_GRPCXX = protobuf -CPPFLAGS := $(shell pkg-config --cflags protobuf) $(CPPFLAGS) -LDFLAGS_PROTOBUF_PKG_CONFIG = $(shell pkg-config --libs-only-L protobuf) +CPPFLAGS := $(shell $(PKG_CONFIG) --cflags protobuf) $(CPPFLAGS) +LDFLAGS_PROTOBUF_PKG_CONFIG = $(shell $(PKG_CONFIG) --libs-only-L protobuf) ifeq ($(SYSTEM),Linux) ifneq ($(LDFLAGS_PROTOBUF_PKG_CONFIG),) -LDFLAGS_PROTOBUF_PKG_CONFIG += $(shell pkg-config --libs-only-L protobuf | sed s/L/Wl,-rpath,/) +LDFLAGS_PROTOBUF_PKG_CONFIG += $(shell $(PKG_CONFIG) --libs-only-L protobuf | sed s/L/Wl,-rpath,/) endif endif else @@ -624,7 +628,7 @@ LIBS_PROTOC = protoc protobuf HOST_LDLIBS_PROTOC += $(addprefix -l, $(LIBS_PROTOC)) ifeq ($(PROTOBUF_PKG_CONFIG),true) -LDLIBS_PROTOBUF += $(shell pkg-config --libs-only-l protobuf) +LDLIBS_PROTOBUF += $(shell $(PKG_CONFIG) --libs-only-l protobuf) else LDLIBS_PROTOBUF += $(addprefix -l, $(LIBS_PROTOBUF)) endif @@ -635,6 +639,7 @@ PC_DESCRIPTION = C++ wrapper for gRPC PC_CFLAGS = PC_REQUIRES_PRIVATE = grpc $(PC_REQUIRES_GRPCXX) PC_LIBS_PRIVATE = $(PC_LIBS_GRPCXX) +PC_LIB = -lgrpc++ GRPCXX_PC_FILE := $(PC_TEMPLATE) # grpc++_unsecure .pc file @@ -643,6 +648,7 @@ PC_DESCRIPTION = C++ wrapper for gRPC without SSL PC_CFLAGS = PC_REQUIRES_PRIVATE = grpc_unsecure $(PC_REQUIRES_GRPCXX) PC_LIBS_PRIVATE = $(PC_LIBS_GRPCXX) +PC_LIB = -lgrpc++ GRPCXX_UNSECURE_PC_FILE := $(PC_TEMPLATE) ifeq ($(MAKECMDGOALS),clean) diff --git a/tools/run_tests/build_ruby.sh b/tools/run_tests/build_ruby.sh index de96413bc127486644f4f4c99aec757409e4767c..b6c4e32b7ec93fbc6fd5dbe477c883dea362ce43 100755 --- a/tools/run_tests/build_ruby.sh +++ b/tools/run_tests/build_ruby.sh @@ -31,7 +31,7 @@ set -ex -export CONFIG=${CONFIG:-opt} +export GRPC_CONFIG=${CONFIG:-opt} # change to grpc's ruby directory cd $(dirname $0)/../../src/ruby diff --git a/tools/run_tests/jobset.py b/tools/run_tests/jobset.py index 8694b8f6bd7c33e34ef2bbae46a66217dd1f3f4c..baa126ba5f6b909aa152ec1acb77133b30338597 100755 --- a/tools/run_tests/jobset.py +++ b/tools/run_tests/jobset.py @@ -95,7 +95,7 @@ def message(tag, msg, explanatory_text=None, do_newline=False): return message.old_tag = tag message.old_msg = msg - if platform.system() == 'Windows': + if platform.system() == 'Windows' or not sys.stdout.isatty(): if explanatory_text: print explanatory_text print '%s: %s' % (tag, msg)