Sha256: 946ff94fa7654664d1a49350c7054c0143541ac82e84ab6eff0ec4f6ac0510d0

Contents?: true

Size: 1.13 KB

Versions: 3

Compression:

Stored size: 1.13 KB

Contents

#!/usr/bin/env ruby
require 'mkmf'
require 'rbconfig'
dir_config("ffi_c")
#IS_MAC = Config::CONFIG['host_os'] =~ /^darwin/
#if IS_MAC
#  $CPPFLAGS << " -DMACOSX"
#  find_header("ffi.h", "/usr/include/ffi")
#end
have_closure_alloc = have_library("ffi", "ffi_closure_alloc", [ "ffi.h" ])
$defs.push("-DHAVE_FFI_CLOSURE_ALLOC") if have_closure_alloc
libffi_ok = have_closure_alloc
$defs << "-DHAVE_LIBFFI" if libffi_ok
$defs << "-DHAVE_EXTCONF_H" if $defs.empty? # needed so create_header works

create_makefile("ffi_c")
create_header("extconf.h")
File.open("Makefile", "a") do |mf|
  mf.puts "CPPFLAGS += -Werror -Wunused -Wformat -Wimplicit -Wreturn-type"
  unless libffi_ok 
    mf.puts "LIBFFI_HOST=--host=#{Config::CONFIG['host_alias']}" if Config::CONFIG.has_key?("host_alias")
    mf.puts "FFI_MMAP_EXEC=-DFFI_MMAP_EXEC_WRIT=#{Config::CONFIG['host_os'] =~ /win/ ? 0 : 1}"
    if Config::CONFIG['host_os'].downcase =~ /darwin/
      mf.puts "include ${srcdir}/libffi.darwin.mk"
    elsif Config::CONFIG['host_os'].downcase =~ /bsd/
      mf.puts '.include "${srcdir}/libffi.bsd.mk"'
    else
      mf.puts "include ${srcdir}/libffi.mk"
    end
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
minilab-1.1.0-x86-mswin32-60 vendor/ffi-0.4.0-x86-mswin32/ext/ffi_c/extconf.rb
ffi-0.4.0-x86-mswin32 ext/ffi_c/extconf.rb
ffi-0.4.0 ext/ffi_c/extconf.rb