require 'mkmf' libdispatch="./libdispatch-0.1" libev="libev-3.2" if !File.exist?("#{libdispatch}/src/.libs") or !File.exist?("#{libdispatch}/#{libev}/.libs") system("chmod a+x #{libdispatch}/configure") system("chmod a+x #{libdispatch}/#{libev}/configure") # configure and build #{libev} and #{libdispatch} we'll link against the static libraries if !system("cd #{libdispatch} && ./configure && make") STDERR.puts "Failed to compile #{libdispatch}er" exit(1) end end $srcs = ['revdispatch.cc'] $objs = ['revdispatch.o'] # put the header files first $CPPFLAGS = " -I./#{libdispatch}/ -I./#{libdispatch}/src -I./#{libdispatch}/#{libev}/ #{$CPPFLAGS}" # link to the static library versions of libdispatch and #{libev} $LDFLAGS << " ./#{libdispatch}/src/.libs/libdispatch.a ./#{libdispatch}/#{libev}/.libs/libev.a " dir_config("revdispatch") have_library("c", "main") have_library("stdc++", "main") have_library("rt", "clock_gettime") have_library("pthread", "pthread_create") have_library("curl", "curl_easy_init") create_makefile("revdispatch")