Sha256: 6e670245bec353356b3730d03c88eb30564cbc5b23dcfd2d208e890b6fc8eb93

Contents?: true

Size: 1.82 KB

Versions: 1

Compression:

Stored size: 1.82 KB

Contents

# To allow Rice to be installed on non-system installs of Ruby (say the user has
# 1.8.7 and 1.9.0 installed), the rice gem uses the extconf version of deployment
# rather than configure. This file will get the appropriate values from CONFIG
# for the Ruby that this library is being installed into and generate
# the proper arguments to ./configure.
#
# With this, installing on any of the Ruby versions installed on a machine is as
# easy as /path/to/the/gem install rice.
#
# This isn't actually an extconf.rb file, all it needs to do is create a Makefile
# for gem to continue 'make'-ing. It needs to be named 'extconf.rb' to fit Rubygem's
# expectations

$:.unshift File.expand_path(File.dirname(__FILE__))

require 'rbconfig'
require 'ruby/lib/version.rb'

prefix_dir = File.join(File.dirname(File.expand_path(__FILE__)), "ruby", "lib")
with_ruby = File.join(RbConfig::CONFIG["bindir"], RbConfig::CONFIG["RUBY_INSTALL_NAME"])

if RbConfig::CONFIG["ENABLE_SHARED"] == "no"
  raise <<EOC
Unfortunately Rice does not work against a Ruby without any shared libraries.
You'll need to rebuild Ruby with --enable-shared to use this library.

If you're on rvm:   rvm reinstall [version] -- --enable-shared
If you're on rbenv: CONFIGURE_OPTS="--enable-shared" rbenv install [version]
If this is a host environment like Heroku you'll need to contact their support.
EOC
end

other_opts = ""
env = ""

if RUBY_PLATFORM =~ /darwin1[0-2]/ 
  arch = RbConfig::CONFIG["arch"].split("-")[0]

  if arch == "universal"
    arch = `uname -m`.strip
  end

  other_opts = "--disable-dependency-tracking"
  env = "ARCHFLAGS='-arch #{arch}' CPPFLAGS='-arch #{arch}'"
elsif RUBY_PLATFORM =~ /darwin9/
  arch = `uname -p`.chomp
  env = "ARCHFLAGS='-arch #{arch}' CPPFLAGS='-arch #{arch}'"
end

system "#{env} sh configure --with-ruby=#{with_ruby} --prefix=#{prefix_dir} #{other_opts}"

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rice-1.5.1 extconf.rb