Sha256: ae981a8c87b82c75a017a5e4947578b861f7a4624d6eabc36a319d36094536f6
Contents?: true
Size: 1.19 KB
Versions: 2
Compression:
Stored size: 1.19 KB
Contents
#!/usr/bin/ruby # frozen_string_literal: true require 'fileutils' basedir = File.dirname(__FILE__) conf = {} enable = {} until ARGV.empty? arg = ARGV.shift case arg when '-C' # ignore when /\A--srcdir=(.*)/ conf['SRCDIR'] = srcdir = $1 when /\A(CC|CFLAGS|CXX|CXXFLAGS|LD|LDFLAGS)=(.*)/ conf[$1] = $2 when /\A--host=(.*)/ host = $1 when /\A--enable-([^=]+)(?:=(.*))?/ enable[$1] = $2 || true when /\A--disable-([^=]+)/ enable[$1] = false end end IO.foreach("#{srcdir}/configure.ac") do |line| if /^AC_INIT\((.*)\)/ =~ line version = $1.split(/,\s*/)[1] version.gsub!(/\A\[|\]\z/, '') conf['VERSION'] = version break end end builddir = srcdir == "." ? enable['builddir'] : "." conf['TARGET'] = /^x64/ =~ host ? "X86_WIN64" : "X86_WIN32" FileUtils.mkdir_p([builddir, "#{builddir}/include", "#{builddir}/src/x86"]) FileUtils.cp("#{basedir}/fficonfig.h", ".", preserve: true) hdr = IO.binread("#{srcdir}/include/ffi.h.in") hdr.gsub!(/@(\w+)@/) {conf[$1] || $&} hdr.gsub!(/^(#if\s+)@\w+@/, '\10') IO.binwrite("#{builddir}/include/ffi.h", hdr) mk = IO.binread("#{basedir}/libffi.mk.tmpl") mk.gsub!(/@(\w+)@/) {conf[$1] || $&} IO.binwrite("Makefile", mk)
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fiddle-1.0.0 | ext/fiddle/win32/libffi-config.rb |
fiddle-1.0.0.beta2 | ext/fiddle/win32/libffi-config.rb |