Sha256: 85b83e76ca9652d1f4a5d3edc7d4a3c4d0f15c625977afb5d2062fa0f18e6c29

Contents?: true

Size: 1.11 KB

Versions: 228

Compression:

Stored size: 1.11 KB

Contents

# Access to information from pkg-config(1)
class PkgConfig
    class NotFound < RuntimeError
	attr_reader :name
	def initialize(name); @name = name end
	def to_s; "#{name} is not available to pkg-config" end
    end
    
    # The module name
    attr_reader :name
    # The module version
    attr_reader :version

    # Create a PkgConfig object for the package +name+
    # Raises PkgConfig::NotFound if the module does not exist
    def initialize(name)
	if !system("pkg-config --exists #{name}")
	    raise NotFound.new(name)
	end
	
	@name    = name
	@version = `pkg-config --modversion #{name}`.chomp.strip
	@actions = Hash.new
	@variables = Hash.new
    end

    ACTIONS = %w{cflags cflags-only-I cflags-only-other 
		libs libs-only-L libs-only-l libs-only-other static}
    ACTIONS.each do |action|
	define_method(action.gsub(/-/, '_')) do 
	    @actions[action] ||= `pkg-config --#{action} #{name}`.chomp.strip
	end
    end

    def method_missing(varname, *args, &proc)
	if args.empty?
	    @variables[varname] ||= `pkg-config --variable=#{varname} #{name}`.chomp.strip
	else
	    super(varname, *args, &proc)
	end
    end
end

Version data entries

228 entries across 228 versions & 1 rubygems

Version Path
autobuild-1.12.3 lib/autobuild/pkgconfig.rb
autobuild-1.12.1 lib/autobuild/pkgconfig.rb
autobuild-1.12.0 lib/autobuild/pkgconfig.rb
autobuild-1.11.2 lib/autobuild/pkgconfig.rb
autobuild-1.11.1 lib/autobuild/pkgconfig.rb
autobuild-1.9.6 lib/autobuild/pkgconfig.rb
autobuild-1.11.0 lib/autobuild/pkgconfig.rb
autobuild-1.11.0.rc1 lib/autobuild/pkgconfig.rb
autobuild-1.10.1 lib/autobuild/pkgconfig.rb
autobuild-1.10.0 lib/autobuild/pkgconfig.rb
autobuild-1.10.0.rc22 lib/autobuild/pkgconfig.rb
autobuild-1.10.0.rc21 lib/autobuild/pkgconfig.rb
autobuild-1.10.0.rc20 lib/autobuild/pkgconfig.rb
autobuild-1.10.0.rc19 lib/autobuild/pkgconfig.rb
autobuild-1.10.0.rc18 lib/autobuild/pkgconfig.rb
autobuild-1.10.0.rc17 lib/autobuild/pkgconfig.rb
autobuild-1.10.0.rc16 lib/autobuild/pkgconfig.rb
autobuild-1.10.0.rc15 lib/autobuild/pkgconfig.rb
autobuild-1.10.0.rc14 lib/autobuild/pkgconfig.rb
autobuild-1.10.0.rc13 lib/autobuild/pkgconfig.rb