Skip to content
Snippets Groups Projects
Commit 0b90c1e5 authored by murgatroid99's avatar murgatroid99
Browse files

Fixed ruby local build fallback case

parent 51dbf904
No related branches found
No related tags found
No related merge requests found
...@@ -54,45 +54,6 @@ LIB_DIRS = [ ...@@ -54,45 +54,6 @@ LIB_DIRS = [
LIBDIR LIBDIR
] ]
def crash(msg)
print(" extconf failure: #{msg}\n")
exit 1
end
def build_local_c(grpc_lib_dir, root, config)
grpc_already_built = File.exist?(File.join(grpc_lib_dir, 'libgrpc.a'))
system("make -C #{root} static_c CONFIG=#{config}") unless grpc_already_built
end
def local_fallback(msg)
# 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
# Stop if there is still no grpc_root
crash(msg) if 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
build_local_c(grpc_lib_dir, grpc_root, grpc_config)
HEADER_DIRS.unshift File.join(grpc_root, 'include')
LIB_DIRS.unshift grpc_lib_dir
dir_config('grpc', HEADER_DIRS, LIB_DIRS)
have_library('grpc', 'grpc_channel_destroy')
create_makefile('grpc/grpc')
exit 0
end
dir_config('grpc', HEADER_DIRS, LIB_DIRS)
$CFLAGS << ' -Wno-implicit-function-declaration ' $CFLAGS << ' -Wno-implicit-function-declaration '
$CFLAGS << ' -Wno-pointer-sign ' $CFLAGS << ' -Wno-pointer-sign '
$CFLAGS << ' -Wno-return-type ' $CFLAGS << ' -Wno-return-type '
...@@ -105,12 +66,39 @@ if grpc_pkg_config ...@@ -105,12 +66,39 @@ if grpc_pkg_config
$CFLAGS << ' ' + `pkg-config --static --cflags grpc`.strip + ' ' $CFLAGS << ' ' + `pkg-config --static --cflags grpc`.strip + ' '
$LDFLAGS << ' ' + `pkg-config --static --libs grpc`.strip + ' ' $LDFLAGS << ' ' + `pkg-config --static --libs grpc`.strip + ' '
else else
$LDFLAGS << ' -lgrpc -lgpr -lz -ldl' 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')
begin
raise "Fail" unless have_library('gpr', 'gpr_now')
raise "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
# Stop if there is still no grpc_root
exit 1 if 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'))
print "Building internal gRPC\n"
system("make -C #{root} static_c CONFIG=#{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 end
local_fallback('need gpr lib') unless have_library('gpr', 'gpr_now')
unless have_library('grpc', 'grpc_channel_destroy')
local_fallback('need grpc lib')
end
have_library('grpc', 'grpc_channel_destroy')
create_makefile('grpc/grpc') create_makefile('grpc/grpc')
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment