--- pkg-config-1.1.5/lib/pkg-config.rb.orig 2014-04-18 21:04:38.587173463 +0200 +++ pkg-config-1.1.5/lib/pkg-config.rb 2014-04-18 21:05:28.387172425 +0200 @@ -103,9 +103,10 @@ attr_reader :paths attr_accessor :msvc_syntax - def initialize(name, options={}) + def initialize(name, options={}, seen=[]) @name = name @options = options + @seen = seen path = @options[:path] || ENV["PKG_CONFIG_PATH"] @paths = [path, guess_default_path].compact.join(SEPARATOR).split(SEPARATOR) @paths.unshift(*(@options[:paths] || [])) @@ -193,7 +194,9 @@ private def collect_cflags all_cflags = all_required_packages.collect do |package| - self.class.new(package, @options).cflags + if !@seen.include?(package) + self.class.new(package, @options, @seen + [package]).cflags + end end all_cflags = [declaration("Cflags")] + all_cflags all_cflags = all_cflags.join(" ").gsub(/-I /, '-I').split.uniq @@ -211,7 +214,9 @@ def collect_libs all_libs = required_packages.collect do |package| - self.class.new(package, @options).libs + if !@seen.include?(package) + self.class.new(package, @options, @seen + [package]).libs + end end all_libs = [declaration("Libs")] + all_libs all_libs = all_libs.join(" ").gsub(/-([Ll]) /, '\1').split.uniq