Sha256: 44f87fc5d43c8ece0197ddf0fbc83c4e1ca32ec743d5b0bc52e6d99381dd8d70
Contents?: true
Size: 1.68 KB
Versions: 8
Compression:
Stored size: 1.68 KB
Contents
require 'mkmf' require 'rbconfig' # Code taken from Evan's Weaver memcached library: http://github.com/fauna/memcached HERE = File.expand_path(File.dirname(__FILE__)) BUNDLE = Dir.glob("libmemcached-*.tar.gz").first BUNDLE_PATH = BUNDLE.sub(".tar.gz", "") $CXXFLAGS = " -std=gnu++98" if !ENV["EXTERNAL_LIB"] $includes = " -I#{HERE}/include" $libraries = " -L#{HERE}/lib" $CFLAGS = "#{$includes} #{$libraries} #{$CFLAGS}" $LDFLAGS = "#{$libraries} #{$LDFLAGS}" $LIBPATH = ["#{HERE}/lib"] $DEFLIBPATH = [] Dir.chdir(HERE) do if false and File.exist?("lib") puts "Libmemcached already built; run 'rake clean' first if you need to rebuild." else puts "Building libmemcached." puts(cmd = "tar xzf #{BUNDLE} 2>&1") raise "'#{cmd}' failed" unless system(cmd) Dir.chdir(BUNDLE_PATH) do puts(cmd = "env CFLAGS='-fPIC' ./configure --prefix=#{HERE} --without-memcached --disable-shared --disable-utils --disable-dependency-tracking #{$EXTRA_CONF} 2>&1") raise "'#{cmd}' failed" unless system(cmd) puts(cmd = "make CXXFLAGS='#{$CXXFLAGS}' || true 2>&1") raise "'#{cmd}' failed" unless system(cmd) puts(cmd = "make install || true 2>&1") raise "'#{cmd}' failed" unless system(cmd) end system("rm -rf #{BUNDLE_PATH}") unless ENV['DEBUG'] or ENV['DEV'] end end # Absolutely prevent the linker from picking up any other libmemcached Dir.chdir("#{HERE}/lib") do system('cp -f libmemcached.a libmemcached_gem.a') system('cp -f libmemcached.la libmemcached_gem.la') end $LIBS << " -lmemcached_gem" end create_makefile('memcache/native_server')
Version data entries
8 entries across 8 versions & 1 rubygems