Sha256: 1f2c55482eab3de8f1bfc81a937ab57269cb117e749169bcc61cd3815ac2802e

Contents?: true

Size: 1.56 KB

Versions: 1

Compression:

Stored size: 1.56 KB

Contents

require 'mkmf'
require 'open3'

# Heimidal hack
ENV["ARCHFLAGS"] = '-arch i386'
if `uname -sr` =~ /^Darwin 9/
  `sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql` rescue nil
  `sudo ln -s /usr/local/mysql/bin/mysql_config /usr/local/mysql/bin/mysql_config5` rescue nil
end

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

  # If mysql_config is not in your path
  unless serr.read.empty?
    sin, sout, serr = Open3.popen3("/usr/local/mysql/bin/mysql_config --#{type}")
  end
  
  unless serr.read.empty?
    sin, sout, serr = Open3.popen3("/usr/local/mysql/bin/mysql_config5 --#{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

1 entries across 1 versions & 1 rubygems

Version Path
do_mysql-0.2.1 ext/extconf.rb