Sha256: 65cf6ed44a1f3e29903f8bb9b9a8b03ae433973b4861e137955a00bb9877b745

Contents?: true

Size: 1.44 KB

Versions: 1

Compression:

Stored size: 1.44 KB

Contents

# -*- coding: utf-8 -*-


require 'xot/load_path'
Xot::LoadPath.unshift_lib File.expand_path('../../../..', __FILE__), :rays

require 'mkmf'
require 'xot/rake'
require 'xot/module'
require 'rucy/module'
require 'rays/module'

include Xot::Rake


debug = env :DEBUG, false


DEFS    = []
INCDIRS = %w[
  /opt/local/include
  /opt/include
]
LIBDIRS = []

HEADERS = %w[
  boost/shared_ptr.hpp
  ruby.h
  xot.h
  rucy.h
  rays.h
]
LIBS = %w[
  stdc++
  xot
  rucy
  rays
]
FRAMEWORKS = []


DEFS << '_DEBUG' if debug
DEFS << 'NDEBUG' unless debug
DEFS << $~[0].upcase if RUBY_PLATFORM =~ /mswin|ming|cygwin|darwin/i
if win32?
  DEFS << 'WINDOWS' << 'WIN32'
  LIBS.unshift 'gdi32', 'opengl32'
elsif cocoa?
  DEFS << 'COCOA'
  FRAMEWORKS << 'AppKit' << 'OpenGL'
end

$CPPFLAGS   << DEFS.map       {|s| " -D#{s}"}.join
$CPPFLAGS   << INCDIRS.map    {|s| " -I#{s}"}.join
$LDFLAGS    << LIBDIRS.map    {|s| " -L#{s}"}.join
$LDFLAGS    << FRAMEWORKS.map {|s| " -framework #{s}"}.join
$LDFLAGS    << ' -Wl,--out-implib=native.dll.a' if cygwin?
$CFLAGS     << ' --stdlib=libc++' if clang?
$LOCAL_LIBS << ' -lrucy'

RbConfig::CONFIG.each do |key, val|
  {'gcc' => 'g++', 'clang' => 'clang++'}.each {|from, to| val.gsub! from, to}
end


dir_config 'boost'
dir_config 'xot',  Xot.root_dir
dir_config 'rucy', Rucy.root_dir
dir_config 'rays', Rays.root_dir

exit 1 unless HEADERS.all? {|s| have_header(s)}
exit 1 unless LIBS.all?    {|s| have_library(s)}


create_makefile 'rays/native'

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rays-0.1.5 ext/rays/extconf.rb