#!ruby basedir = File.dirname(__FILE__) $:.push(basedir) require 'external/package' require 'rbconfig' begin require 'rubygems' rescue LoadError end Dir.chdir(basedir) Package.setup("1.0") { name "IOWA" build_ext "http11" translate(:ext, 'ext/http11/' => 'iowa/') ext "ext/http11/http11.so" build_ext "Classifier" translate(:ext, 'ext/Classifier/' => 'iowa/') ext "ext/Classifier/classifier.so" translate(:lib, 'src/' => '') lib ["src/iowa.rb","src/iowa_webrick.rb","src/iowa_mongrel.rb","src/iowa_httpmachine.rb","src/iowa_hybrid.rb","src/iowa_hybrid_cluster.rb"] lib(*Dir["src/iowa/**/*.rb"]) lib "src/mod_iowa.rb" => "apache/mod_iowa.rb" ri(*Dir["src/iowa/**/*.rb"]) ri ["src/iowa.rb","src/iowa_webrick.rb","src/iowa_mongrel.rb","src/iowa_httpmachine.rb","src/iowa_hybrid.rb","src/iowa_hybrid_cluster.rb","src/mod_iowa.rb"] begin require 'tmail' rescue LoadError # No tmail; install ours. translate(:lib, 'external/tmail/' => '') lib(*Dir["external/tmail/**/*.rb"]) lib 'external/tmail/tmail/parser.y' ri ["external/tmail/tmail.rb","external/tmail/tmail"] end begin require 'mime-types' rescue LoadError # No mime-types; install the bundled one. translate(:lib, 'external/mime-types/lib/' => '') lib(*Dir["external/mime-types/lib/**/*"]) ri ["external/mime-types/lib"] translate(:doc, 'external/mime-types/doc/' => 'mime-types/') doc(*Dir["external/mime-types/doc/**/*"]) end if /win/ == RbConfig::CONFIG['host_os'] begin require 'windows/process' rescue LoadError # No windows-pr package; install bundled one. translate(:lib, 'external/windows-pr/lib/' => '') lib(*Dir["external/windows-pr/lib/**/*"]) ri ["external/windows-pr/lib"] translate(:doc, 'external/windows-pr/doc/' => 'windows-pr/') doc(*Dir["external/windows-pr/doc/**/*"]) $:.push File.join(basedir,'external/windows-pr/lib') require 'windows/error' require 'windows/process' require 'windows/synchronize' require 'windows/handle' require 'windows/library' require 'windows/console' require 'windows/window' end begin require 'win32/process' rescue LoadError # Now win32-process package; install bundled one. translate(:lib, 'external/win32-process/lib/' => '') lib(*Dir["external/win32-process/lib/**/*"]) ri ["external/win32-process/lib"] $:.push File.join(basedir,'external/win32-process/lib') require 'win32/process' end end # Wrong. Fix this. bin "src/iowa_fcgi_handler.rb" unit_test "test/TC_CSS.rb" unit_test "test/TC_AcceptLanguage.rb" unit_test "test/TC_AppConfig.rb" unit_test "test/TC_Association.rb" unit_test "test/TC_BiLevelCache.rb" unit_test "test/TC_CGI_Adaptor.rb" unit_test "test/TC_Classifier.rb" unit_test "test/TC_ClassLimitedCache.rb" unit_test "test/TC_DiskCache.rb" unit_test "test/TC_ImageSize.rb" unit_test "test/TC_ISAAC.rb" unit_test "test/TC_KeyValueCoding.rb" unit_test "test/TC_Lockfile.rb" unit_test "test/TC_LRUCache.rb" unit_test "test/TC_NoSubclass.rb" unit_test "test/TC_Pool.rb" # unit_test "test/TC_SimpleDetached.rb" unit_test "test/TC_StandardDispatcher.rb" unit_test "test/TC_StandardDispatcherWithClassifier.rb" unit_test "test/TC_String.rb" unit_test "test/TC_Tag.rb" unit_test "test/TC_ResourceURL.rb" unit_test "test/TC_Mongrel.rb" unit_test "test/TC_Hybrid.rb" unit_test "test/TC_Webrick.rb" true }