Module: GD2::GD2FFI

Extended by:
FFI::Library
Defined in:
lib/gd2-ffij.rb

Class Method Summary collapse

Class Method Details

.gd_library_nameObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/gd2-ffij.rb', line 30

def self.gd_library_name
  return @gd_library_name if defined?(@gd_library_name)

  @gd_library_name = if RbConfig::CONFIG['host_os'] == 'cygwin'
    'cyggd-2.dll'
  else
    paths = if ENV['GD2_LIBRARY_PATH']
      [ ENV['GD2_LIBRARY_PATH'] ]
    else
      [ '/usr/local/{lib64,lib}', '/opt/local/{lib64,lib}', '/usr/{lib64,lib}', '/usr/lib/x86_64-linux-gnu' ]
    end

    lib = if [
      RbConfig::CONFIG['arch'],
      RbConfig::CONFIG['host_os']
    ].detect { |c| c =~ /darwin/ }
      'libgd.2.dylib'
    else
      'libgd.so.2'
    end

    Dir.glob(paths.collect { |path|
      "#{path}/#{lib}"
    }).first
  end
end