mirror of
https://github.com/rubyjs/therubyracer
synced 2023-03-27 23:21:42 -04:00
![ignisf](/assets/img/avatar_default.png)
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.
34 lines
1.1 KiB
Ruby
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')
|