Sha256: 7ed8c02266ca3e52c486fe28ec775cfacdabf226095392d5ad534fa77da36020

Contents?: true

Size: 1.97 KB

Versions: 2

Compression:

Stored size: 1.97 KB

Contents

require 'mkmf'
require 'rbconfig'

# used by the ext:build_win-1.x.x tasks, really no one else but jeremy should be
# using this hack
$ruby = ARGV.shift if ARGV[0]

# make available table and column meta data api
$CFLAGS += " -DSQLITE_ENABLE_COLUMN_METADATA=1"
$CFLAGS += " -DSQLITE_ENABLE_DBSTAT_VTAB=1"
$CFLAGS += " -DSQLITE_ENABLE_FTS3=1"
$CFLAGS += " -DSQLITE_ENABLE_FTS3_PARENTHESIS=1"
$CFLAGS += " -DSQLITE_ENABLE_FTS4=1"
$CFLAGS += " -DSQLITE_ENABLE_FTS5=1"
$CFLAGS += " -DSQLITE_ENABLE_JSON1=1"
$CFLAGS += " -DSQLITE_ENABLE_RBU=1"
$CFLAGS += " -DSQLITE_ENABLE_RTREE=1"
$CFLAGS += " -DSQLITE_ENABLE_SQLLOG=1"
$CFLAGS += " -DSQLITE_ENABLE_STAT4=1"
$CFLAGS += " -DSQLITE_ENABLE_UNLOCK_NOTIFY=1"

# we compile sqlite the same way that the installation of ruby is compiled.
if RbConfig::MAKEFILE_CONFIG['configure_args'].include?( "--enable-pthread" ) then
  $CFLAGS += " -DSQLITE_THREADSAFE=1"
else
  $CFLAGS += " -DSQLITE_THREADSAFE=0"
end

# remove the -g flags  if it exists
%w[ -ggdb\\d* -g\\d* ].each do |debug|
  $CFLAGS = $CFLAGS.gsub(/#{debug}/,'')
  RbConfig::MAKEFILE_CONFIG['debugflags'] = RbConfig::MAKEFILE_CONFIG['debugflags'].gsub(/#{debug}/,'')   if RbConfig::MAKEFILE_CONFIG['debugflags']
end

ignoreable_warnings = %w[ write-strings ]
ignore_by_compiler = {
  "clang" => %w[
                  empty-body
                  incompatible-pointer-types-discards-qualifiers
                  shorten-64-to-32
                  sign-compare
                  unused-const-variable
                  unused-variable
                ]
}

if extras = ignore_by_compiler[RbConfig::MAKEFILE_CONFIG["CC"]] then
  ignoreable_warnings.concat(extras)
end

ignoreable_warnings.each do |warning|
  $CFLAGS = $CFLAGS.gsub(/-W#{warning}/,'')
  RbConfig::MAKEFILE_CONFIG['warnflags'] = RbConfig::MAKEFILE_CONFIG['warnflags'].gsub(/-W#{warning}/,'') if RbConfig::MAKEFILE_CONFIG['warnflags'] 
  $CFLAGS += " -Wno-#{warning}"
end

subdir = RUBY_VERSION.sub(/\.\d$/,'')
create_makefile("amalgalite/#{subdir}/amalgalite")

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
amalgalite-1.5.0-x86-mingw32 ext/amalgalite/c/extconf.rb
amalgalite-1.5.0 ext/amalgalite/c/extconf.rb