ext/extconf.rb in google_hash-0.0.0 vs ext/extconf.rb in google_hash-0.1.1

- old
+ new

@@ -1,15 +1,33 @@ require 'mkmf' +require 'erb' require 'rubygems' require 'sane' # build google's lib locally... + dir = Dir.pwd Dir.chdir 'sparsehash-1.5.2' do dir = dir + '/local_installed' command = "sh configure --prefix=#{dir} && make && make install" puts command - system command + # only if necessary + system command unless File.directory?(dir) end $CFLAGS += " -I./local_installed/include " + +if RUBY_VERSION < '1.9' + # appears to link using gcc on 1.8 [mingw at least] + $LDFLAGS += " -lstdc++ " +end + +# create our files... +# currently we're int only...hmm... +# ltodo 64 bit compat... + +for type, setup_code in {'sparse' => nil, 'dense' => 'set_empty_key(1<<31);' } do + template = ERB.new(File.read('template/go.cpp')) + File.write(type.to_s + '.cpp', template.result(binding)) +end + create_makefile('google_hash')