add_path(path)
click to toggle source
def add_path(path)
@@paths << path
end
cflags(pkg)
click to toggle source
def cflags(pkg)
package_config(pkg).cflags
end
cflags_only_I(pkg)
click to toggle source
def cflags_only_I(pkg)
package_config(pkg).cflags_only_I
end
check_version?(pkg, major=0, minor=0, micro=0)
click to toggle source
def check_version?(pkg, major=0, minor=0, micro=0)
return false unless exist?(pkg)
ver = modversion(pkg).split(".").collect {|item| item.to_i}
(0..2).each {|i| ver[i] = 0 unless ver[i]}
(ver[0] > major ||
(ver[0] == major && ver[1] > minor) ||
(ver[0] == major && ver[1] == minor &&
ver[2] >= micro))
end
description(pkg)
click to toggle source
def description(pkg)
package_config(pkg).description
end
exist?(pkg)
click to toggle source
def exist?(pkg)
package_config(pkg).exist?
end
have_package(pkg, major=nil, minor=0, micro=0)
click to toggle source
def have_package(pkg, major=nil, minor=0, micro=0)
message = "#{pkg}"
unless major.nil?
message << " version (>= #{major}.#{minor}.#{micro})"
end
major ||= 0
enough_version = checking_for(checking_message(message)) do
check_version?(pkg, major, minor, micro)
end
if enough_version
libraries = libs_only_l(pkg)
dldflags = libs(pkg)
dldflags = (Shellwords.shellwords(dldflags) -
Shellwords.shellwords(libraries))
dldflags = dldflags.map {|s| %r\s/ =~ s ? "\"#{s}\"" : s }.join(' ')
$libs += ' ' + libraries
if %rmswin32/ =~ RUBY_PLATFORM
$DLDFLAGS += ' ' + dldflags
else
$LDFLAGS += ' ' + dldflags
end
$CFLAGS += ' ' + cflags(pkg)
end
enough_version
end
libs(pkg)
click to toggle source
def libs(pkg)
package_config(pkg).libs
end
libs_only_L(pkg)
click to toggle source
def libs_only_L(pkg)
package_config(pkg).libs_only_L
end
libs_only_l(pkg)
click to toggle source
def libs_only_l(pkg)
package_config(pkg).libs_only_l
end
modversion(pkg)
click to toggle source
def modversion(pkg)
package_config(pkg).version
end
msvc?()
click to toggle source
def msvc?
%rmswin32/.match(RUBY_PLATFORM) and %r^cl\b/.match(RbConfig::CONFIG['CC'])
end
package_config(package)
click to toggle source
def package_config(package)
PackageConfig.new(package,
:msvc_syntax => msvc?,
:override_variables => @@override_variables,
:paths => @@paths)
end
set_override_variable(key, value)
click to toggle source
def set_override_variable(key, value)
@@override_variables[key] = value
end
variable(pkg, name)
click to toggle source
def variable(pkg, name)
package_config(pkg).variable(name)
end