+sub vcheck($$)
+{
+ my ($version1, $version2) = @_;
+ $version1 =~ s/\-r(\d+)/\.$1/g; # minor revs/patchlevels
+ $version2 =~ s/\-r(\d+)/\.$1/g;
+ $version1 =~ s/p(\d+)/\.$1/g;
+ $version2 =~ s/p(\d+)/\.$1/g;
+ $version1 =~ s/\-//g;
+ $version2 =~ s/\-//g;
+ $version1 =~ s/[a-z]//g;
+ $version2 =~ s/[a-z]//g;
+ my @v1 = split('\.', $version1);
+ my @v2 = split('\.', $version2);
+ for (my $curr = 0; $curr < scalar(@v2); $curr++)
+ {
+ if ($v1[$curr] < $v2[$curr])
+ {
+ return 0;
+ }
+ }
+ return 1;
+}
+
+sub pkgconfig_check_version($$;$)
+{
+ my ($packagename, $version, $module) = @_;
+
+ extend_pkg_path();
+
+ print "Checking version of package \e[1;32m$packagename\e[0m is >= \e[1;32m$version\e[0m... ";
+
+ my $v = `pkg-config --modversion $packagename 2>/dev/null`;
+ if (defined $v)
+ {
+ chomp($v);
+ }
+ if ((defined $v) && ($v ne ""))
+ {
+ if (vcheck($v,$version) == 1)
+ {
+ print "\e[1;32mYes (version $v)\e[0m\n";
+ return 1;
+ }
+ else
+ {
+ print "\e[1;32mNo (version $v)\e[0m\n";
+ return 0;
+ }
+ }
+ # If we didnt find it, we cant definitively say its too old.
+ # Return ok, and let pkgconflibs() or pkgconfincludes() pick up
+ # the missing library later on.
+ print "\e[1;32mNo (not found)\e[0m\n";
+ return 1;
+}
+
+sub pkgconfig_get_lib_dirs($$$;$)