diff options
author | Alexander Polcyn <apolcyn@google.com> | 2016-10-06 09:36:54 -0700 |
---|---|---|
committer | Alexander Polcyn <apolcyn@google.com> | 2016-10-06 09:40:10 -0700 |
commit | 437a3b366ada3d0a1a09ce5b553518792303e815 (patch) | |
tree | 462d9b76af2a4e140f33de599eac4c5763b3e2a5 | |
parent | 4065944c619506845705df695e46d044d6b93668 (diff) |
make ruby tools use x86 directory names for sub-x86 cpu
-rwxr-xr-x | src/ruby/tools/bin/grpc_tools_ruby_protoc | 4 | ||||
-rwxr-xr-x | src/ruby/tools/bin/grpc_tools_ruby_protoc_plugin | 3 | ||||
-rw-r--r-- | src/ruby/tools/cpu_check.rb | 43 |
3 files changed, 47 insertions, 3 deletions
diff --git a/src/ruby/tools/bin/grpc_tools_ruby_protoc b/src/ruby/tools/bin/grpc_tools_ruby_protoc index dab06e7958..723842bf1e 100755 --- a/src/ruby/tools/bin/grpc_tools_ruby_protoc +++ b/src/ruby/tools/bin/grpc_tools_ruby_protoc @@ -31,6 +31,7 @@ require 'rbconfig' require_relative '../os_check' +require_relative '../cpu_check' ext = RbConfig::CONFIG['EXEEXT'] @@ -38,8 +39,7 @@ protoc_name = 'protoc' + ext plugin_name = 'grpc_ruby_plugin' + ext -protoc_dir = File.join(File.dirname(__FILE__), - RbConfig::CONFIG['host_cpu'] + '-' + OS.os_name) +protoc_dir = File.join(File.dirname(__FILE__), CPU.arch + '-' + OS.os_name) protoc_path = File.join(protoc_dir, protoc_name) diff --git a/src/ruby/tools/bin/grpc_tools_ruby_protoc_plugin b/src/ruby/tools/bin/grpc_tools_ruby_protoc_plugin index 4b296dedc7..773281fa8e 100755 --- a/src/ruby/tools/bin/grpc_tools_ruby_protoc_plugin +++ b/src/ruby/tools/bin/grpc_tools_ruby_protoc_plugin @@ -31,11 +31,12 @@ require 'rbconfig' require_relative '../os_check' +require_relative '../cpu_check' plugin_name = 'grpc_ruby_plugin' + RbConfig::CONFIG['EXEEXT'] plugin_path = File.join(File.dirname(__FILE__), - RbConfig::CONFIG['host_cpu'] + '-' + OS.os_name, + CPU.arch + '-' + OS.os_name, plugin_name) exec([ plugin_path, plugin_path ], *ARGV) diff --git a/src/ruby/tools/cpu_check.rb b/src/ruby/tools/cpu_check.rb new file mode 100644 index 0000000000..9e28124222 --- /dev/null +++ b/src/ruby/tools/cpu_check.rb @@ -0,0 +1,43 @@ +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +require 'rbconfig' + +module CPU + def CPU.arch + case RbConfig::CONFIG['host_cpu'] + when /x86_64/ + 'x86_64' + when /x86|i686/ + 'x86' + else + fail 'cpu architecture detection failed' + end + end +end |