Module: Leakferret::Platform

Defined in:
lib/leakferret/platform.rb

Class Method Summary collapse

Class Method Details

.binary_nameObject



32
33
34
# File 'lib/leakferret/platform.rb', line 32

def binary_name
  windows? ? 'leakferret.exe' : 'leakferret'
end

.tripleObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/leakferret/platform.rb', line 11

def triple
  cpu = case RbConfig::CONFIG['host_cpu']
        when /x86_64|amd64|x64/ then 'x86_64'
        when /aarch64|arm64/ then 'aarch64'
        else
          raise Error, "unsupported CPU: #{RbConfig::CONFIG['host_cpu']}"
        end

  case RbConfig::CONFIG['host_os']
  when /mswin|mingw|cygwin/ then "#{cpu}-pc-windows-msvc"
  when /darwin/             then "#{cpu}-apple-darwin"
  when /linux/
    # No aarch64-linux release asset yet (v0.1.0 ships x86_64 only).
    raise Error, 'aarch64-linux has no prebuilt binary yet; build from source' if cpu == 'aarch64'

    "#{cpu}-unknown-linux-gnu"
  else
    raise Error, "unsupported OS: #{RbConfig::CONFIG['host_os']}"
  end
end

.windows?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/leakferret/platform.rb', line 36

def windows?
  RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
end