Sha256: 27586d093cbbe3142c3046f56916e8f9417ce08f5cb1fea823c64b5a47525593

Contents?: true

Size: 1.05 KB

Versions: 4

Compression:

Stored size: 1.05 KB

Contents

require 'mkmf'
require 'open3'

def config_value(type)
  ENV["MYSQL_#{type.upcase}"] || mysql_config(type)
end

def mysql_config(type)

  sin, sout, serr = Open3.popen3("mysql_config5 --#{type}")
  
  unless serr.read.empty?
    sin, sout, serr = Open3.popen3("mysql_config --#{type}")
  end
  
  unless serr.read.empty?
    raise "mysql_config not found"
  end
  
  sout.readline.chomp[2..-1]
end

$inc, $lib = dir_config('mysql', config_value('include'), config_value('libs_r')) 

def have_build_env
  libs = ['m', 'z', 'socket', 'nsl']
  while not find_library('mysqlclient', 'mysql_query', config_value('libs'), $lib, "#{$lib}/mysql") do
    exit 1 if libs.empty?
    have_library(libs.shift)
  end
  true
  # have_header('mysql.h')
end

required_libraries = [] #%w(m z socket nsl)
desired_functions = %w(mysql_ssl_set)
# compat_functions = %w(PQescapeString PQexecParams)

if have_build_env
  $CFLAGS << ' -Wall '
  dir_config("mysql_c")
  create_makefile("mysql_c")
else
  puts 'Could not find MySQL build environment (libraries & headers): Makefile not created'
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
datamapper-0.2.1 plugins/dataobjects/swig_mysql/extconf.rb
datamapper-0.2.2 plugins/dataobjects/swig_mysql/extconf.rb
datamapper-0.2.3 plugins/dataobjects/swig_mysql/extconf.rb
do_mysql-0.2.0 ext/extconf.rb