From 13c343d5e0337516002f27b15c75feb4a3e6b69e Mon Sep 17 00:00:00 2001 From: apolcyn Date: Fri, 3 Dec 2021 12:19:50 -0800 Subject: [PATCH] Add an env var to override make parallelism in ruby build (#28250) * Add an env var to override make parallelism in ruby build * add logging --- src/ruby/ext/grpc/extconf.rb | 9 ++++++++- templates/src/ruby/ext/grpc/extconf.rb.template | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/ruby/ext/grpc/extconf.rb b/src/ruby/ext/grpc/extconf.rb index 7091f6acc9d..9dcd6e6c83b 100644 --- a/src/ruby/ext/grpc/extconf.rb +++ b/src/ruby/ext/grpc/extconf.rb @@ -70,8 +70,15 @@ unless windows puts 'Building internal gRPC into ' + grpc_lib_dir nproc = 4 nproc = Etc.nprocessors * 2 if Etc.respond_to? :nprocessors + nproc_override = ENV['GRPC_RUBY_BUILD_PROCS'] + unless nproc_override.nil? or nproc_override.size == 0 + nproc = nproc_override + puts "Overriding make parallelism to #{nproc}" + end make = bsd ? 'gmake' : 'make' - system("#{make} -j#{nproc} -C #{grpc_root} #{grpc_lib_dir}/libgrpc.a CONFIG=#{grpc_config} Q=") + cmd = "#{make} -j#{nproc} -C #{grpc_root} #{grpc_lib_dir}/libgrpc.a CONFIG=#{grpc_config} Q=" + puts "Building grpc native library: #{cmd}" + system(cmd) exit 1 unless $? == 0 end diff --git a/templates/src/ruby/ext/grpc/extconf.rb.template b/templates/src/ruby/ext/grpc/extconf.rb.template index 03a50d736c8..070370abb31 100644 --- a/templates/src/ruby/ext/grpc/extconf.rb.template +++ b/templates/src/ruby/ext/grpc/extconf.rb.template @@ -72,8 +72,15 @@ puts 'Building internal gRPC into ' + grpc_lib_dir nproc = 4 nproc = Etc.nprocessors * 2 if Etc.respond_to? :nprocessors + nproc_override = ENV['GRPC_RUBY_BUILD_PROCS'] + unless nproc_override.nil? or nproc_override.size == 0 + nproc = nproc_override + puts "Overriding make parallelism to #{nproc}" + end make = bsd ? 'gmake' : 'make' - system("#{make} -j#{nproc} -C #{grpc_root} #{grpc_lib_dir}/libgrpc.a CONFIG=#{grpc_config} Q=") + cmd = "#{make} -j#{nproc} -C #{grpc_root} #{grpc_lib_dir}/libgrpc.a CONFIG=#{grpc_config} Q=" + puts "Building grpc native library: #{cmd}" + system(cmd) exit 1 unless $? == 0 end