Sha256: 190d994d2a831fbd0f39f8643e2a2d3835efe2683c25dc7e99503dca6167f925
Contents?: true
Size: 1.89 KB
Versions: 2
Compression:
Stored size: 1.89 KB
Contents
# encoding: UTF-8 require 'mkmf' def asplode lib abort "-----\n#{lib} is missing. please check your installation of mysql and try again.\n-----" end # 1.9-only have_func('rb_thread_blocking_region') have_func('rb_wait_for_single_fd') # borrowed from mysqlplus # http://github.com/oldmoe/mysqlplus/blob/master/ext/extconf.rb dirs = ENV['PATH'].split(File::PATH_SEPARATOR) + %w[ /opt /opt/local /opt/local/mysql /opt/local/lib/mysql5 /usr /usr/mysql /usr/local /usr/local/mysql /usr/local/mysql-* /usr/local/lib/mysql5 ].map{|dir| "#{dir}/bin" } GLOB = "{#{dirs.join(',')}}/{mysql_config,mysql_config5}" if RUBY_PLATFORM =~ /mswin|mingw/ inc, lib = dir_config('mysql') exit 1 unless have_library("libmysql") elsif mc = (with_config('mysql-config') || Dir[GLOB].first) then mc = Dir[GLOB].first if mc == true ver = `#{mc} --version`.chomp.to_f cflags = `#{mc} --cflags`.chomp exit 1 if $? != 0 libs = `#{mc} --libs_r`.chomp # MySQL 5.5 and above already have re-entrant code in libmysqlclient (no _r). if ver >= 5.5 || libs.empty? libs = `#{mc} --libs`.chomp end exit 1 if $? != 0 $CPPFLAGS += ' ' + cflags $libs = libs + " " + $libs else inc, lib = dir_config('mysql', '/usr/local') libs = ['m', 'z', 'socket', 'nsl', 'mygcc'] while not find_library('mysqlclient', 'mysql_query', lib, "#{lib}/mysql") do exit 1 if libs.empty? have_library(libs.shift) end end if have_header('mysql.h') then prefix = nil elsif have_header('mysql/mysql.h') then prefix = 'mysql' else asplode 'mysql.h' end %w{ errmsg.h mysqld_error.h }.each do |h| header = [prefix, h].compact.join '/' asplode h unless have_header h end # GCC specific flags if RbConfig::MAKEFILE_CONFIG['CC'] =~ /gcc/ $CFLAGS << ' -Wall -funroll-loops' if hard_mysql_path = $libs[%r{-L(/[^ ]+)}, 1] $LDFLAGS << " -Wl,-rpath,#{hard_mysql_path}" end end create_makefile('mysql2/mysql2')
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mysql2-0.3.12b4 | ext/mysql2/extconf.rb |
mysql2-0.3.12b3 | ext/mysql2/extconf.rb |