Группа :: Сети/Прочее
Пакет: grpc
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: ruby-build.patch
Скачать
Скачать
--- a/src/ruby/ext/grpc/extconf.rb 2021-06-01 12:00:16.187000000 +0000
+++ b/src/ruby/ext/grpc/extconf.rb 2021-06-01 12:33:17.973000000 +0000
@@ -49,11 +49,12 @@ ENV['ARCH_FLAGS'] = RbConfig::CONFIG['AR
ENV['ARCH_FLAGS'] = '-arch i386 -arch x86_64' if RUBY_PLATFORM =~ /darwin/
ENV['CPPFLAGS'] = '-DGPR_BACKWARDS_COMPATIBILITY_MODE'
-output_dir = File.expand_path(RbConfig::CONFIG['topdir'])
+static = ENV["STATIC"]
+output_dir = File.expand_path(grpc_root)
grpc_lib_dir = File.join(output_dir, 'libs', grpc_config)
ENV['BUILDDIR'] = output_dir
-unless windows
+unless windows or !static
puts 'Building internal gRPC into ' + grpc_lib_dir
nproc = 4
nproc = Etc.nprocessors if Etc.respond_to? :nprocessors
@@ -77,7 +77,7 @@ ext_export_file = File.join(grpc_root, '
$LDFLAGS << ' -Wl,--version-script="' + ext_export_file + '.gcc"' if RUBY_PLATFORM =~ /linux/
$LDFLAGS << ' -Wl,-exported_symbols_list,"' + ext_export_file + '.clang"' if RUBY_PLATFORM =~ /darwin/
-$LDFLAGS << ' ' + File.join(grpc_lib_dir, 'libgrpc.a') unless windows
+$LDFLAGS << ' ' + File.join(grpc_lib_dir, 'libgrpc.a') unless windows || !static
if grpc_config == 'gcov'
$CFLAGS << ' -O0 -fprofile-arcs -ftest-coverage'
$LDFLAGS << ' -fprofile-arcs -ftest-coverage -rdynamic'
@@ -88,7 +88,13 @@ if grpc_config == 'dbg'
end
$LDFLAGS << ' -Wl,-wrap,memcpy' if RUBY_PLATFORM =~ /linux/
-$LDFLAGS << ' -static-libgcc -static-libstdc++' if RUBY_PLATFORM =~ /linux/
+linux = RUBY_PLATFORM =~ /linux/
+if static
+ if linux && RUBY_ENGINE != 'truffleruby'
+ $LDFLAGS << ' -static-libgcc -static-libstdc++'
+ end
+ $LDFLAGS << ' -static' if windows
+end
$LDFLAGS << ' -static' if windows
$CFLAGS << ' -std=c99 '