1
0
Fork 0
mirror of https://github.com/rubyjs/therubyracer synced 2023-03-27 23:21:42 -04:00
therubyracer/ext/v8/extconf.rb
ignisf 5bd765a9c8 Ensure libv8 is required when rubygems is not installed
Do not break the build process if rubygems cannot be required.
Instread try to require libv8 without selecting a version with gem
and warn the user about it. This is necessary as ruby 1.8 does not
ship with rubygems by default.
2013-01-13 16:58:45 +02:00

34 lines
1.1 KiB
Ruby

require 'mkmf'
have_library('pthread')
have_library('objc') if RUBY_PLATFORM =~ /darwin/
$CPPFLAGS += " -Wall" unless $CPPFLAGS.split.include? "-Wall"
$CPPFLAGS += " -g" unless $CPPFLAGS.split.include? "-g"
$CPPFLAGS += " -rdynamic" unless $CPPFLAGS.split.include? "-rdynamic"
$CPPFLAGS += " -fPIC" unless $CPPFLAGS.split.include? "-rdynamic" or RUBY_PLATFORM =~ /darwin/
CONFIG['LDSHARED'] = '$(CXX) -shared' unless RUBY_PLATFORM =~ /darwin/
if CONFIG['warnflags']
CONFIG['warnflags'].gsub!('-Wdeclaration-after-statement', '')
CONFIG['warnflags'].gsub!('-Wimplicit-function-declaration', '')
end
if enable_config('debug')
$CFLAGS += " -O0 -ggdb3"
end
LIBV8_COMPATIBILITY = '~> 3.15.11'
begin
require 'rubygems'
gem 'libv8', LIBV8_COMPATIBILITY
rescue Gem::LoadError
warn "Warning! Selecting libv8 #{LIBV8_COMPATIBILITY} failed. Has it been added to the gemspec?"
rescue LoadError
warn "Warning! Could not load rubygems. Please make sure you have libv8 #{LIBV8_COMPATIBILITY} installed."
ensure
require 'libv8'
end
Libv8.configure_makefile
create_makefile('v8/init')