diff --git a/src/ruby/ext/grpc/extconf.rb b/src/ruby/ext/grpc/extconf.rb index f49fbdecbc946c2c83b917fc7b33e36f3268672f..7972272e2df6dff31737120a22b6f75091360d87 100644 --- a/src/ruby/ext/grpc/extconf.rb +++ b/src/ruby/ext/grpc/extconf.rb @@ -54,6 +54,15 @@ LIB_DIRS = [ LIBDIR ] +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 + grpc_root +end + grpc_pkg_config = system('pkg-config --exists grpc') if grpc_pkg_config @@ -61,18 +70,14 @@ if grpc_pkg_config $LDFLAGS << ' ' + `pkg-config --static --libs grpc`.strip + ' ' else dir_config('grpc', HEADER_DIRS, LIB_DIRS) - raise "libdl not found" unless have_library('dl', 'dlopen') - raise "zlib not found" unless have_library('z', 'inflate') + fail 'libdl not found' unless have_library('dl', 'dlopen') + fail 'zlib not found' unless have_library('z', 'inflate') begin - raise "Fail" unless have_library('gpr', 'gpr_now') - raise "Fail" unless have_library('grpc', 'grpc_channel_destroy') + 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 = 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 + grpc_root = check_grpc_root # Stop if there is still no grpc_root exit 1 if grpc_root.nil? @@ -89,8 +94,8 @@ else 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') + raise 'gpr not found' unless have_library('gpr', 'gpr_now') + raise 'grpc not found' unless have_library('grpc', 'grpc_channel_destroy') end end