module PhusionPassenger::PlatformInfo::Depcheck

def self.define(identifier, &block)

def self.define(identifier, &block)
	@@database[identifier.to_s] = block
end

def self.find(identifier)

def self.find(identifier)
	# We lazy-initialize everything in order to save resources. This also
	# allows blocks to perform relatively expensive checks without hindering
	# startup time.
	identifier = identifier.to_s
	result = @@database[identifier]
	if result.is_a?(Proc)
		result = Dependency.new(&result)
		@@database[identifier] = result
	end
	result
end

def self.load(partial_filename)

def self.load(partial_filename)
	if !@@loaded[partial_filename]
		filename = "#{THIS_DIR}/#{partial_filename}.rb"
		content = File.read(filename)
		instance_eval(content, filename)
		@@loaded[partial_filename] = true
	end
end