summaryrefslogtreecommitdiff
path: root/ext/bigdecimal/util/extconf.rb
blob: 023b19ba7ea3ec5cc25f8aea63a90ca58920a719 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# frozen_string_literal: false
require 'mkmf'

def windows_platform?
  /cygwin|mingw|mswin/ === RUBY_PLATFORM
end

if windows_platform?
  library_base_name = "ruby-bigdecimal"
  case RUBY_PLATFORM
  when /cygwin|mingw/
    import_library_name = "libruby-bigdecimal.a"
  when /mswin/
    import_library_name = "bigdecimal-$(arch).lib"
  end
end

checking_for(checking_message("Windows")) do
  if windows_platform?
    if defined?($extlist)
      build_dir = "$(TARGET_SO_DIR)../"
    else
      base_dir = File.expand_path('../../../..', __FILE__)
      build_dir = File.join(base_dir, "tmp", RUBY_PLATFORM, "bigdecimal", RUBY_VERSION)
    end
    case RUBY_PLATFORM
    when /cygwin|mingw/
      $LDFLAGS << " -L#{build_dir} -L.. -L .."
      $libs << " -l#{library_base_name}"
    when /mswin/
      $DLDFLAGS << " /libpath:#{build_dir} /libpath:.."
      $libs << " #{import_library_name}"
    end
    true
  else
    false
  end
end

create_makefile('bigdecimal/util')