View Single Post
  #2   (View Single Post)  
Old 6th February 2014
jggimi's Avatar
jggimi jggimi is offline
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

Disclaimer. I don't speak perl, and cannot answer the why question. I can, however, provide you with who, so that you can ask them directly, or send them both a patch for their consideration.

The original development was by Marc Espie (espie@), at revision 1.16:
Code:
Revision 1.16: download - view: text, markup, annotated - select for diffs
Thu Dec 14 10:23:34 2006 UTC (7 years, 1 month ago) by espie
Branches: MAIN
Diff to: previous 1.15: preferred, coloured
Changes since revision 1.15: +9 -7 lines
add PKG_CONFIG_LIBDIR, okay bernd@
Here is that patch:
Code:
--- src/usr.bin/pkg-config/pkg-config    2006/12/10 10:58:41    1.15
+++ src/usr.bin/pkg-config/pkg-config    2006/12/14 10:23:34    1.16
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# $OpenBSD: pkg-config,v 1.15 2006/12/10 10:58:41 espie Exp $
+# $OpenBSD: pkg-config,v 1.16 2006/12/14 10:23:34 espie Exp $
 
 #$CSK: pkgconfig.pl,v 1.39 2006/11/27 16:26:20 ckuethe Exp $
 # Copyright (c) 2006 Chris Kuethe <ckuethe@openbsd.org>
@@ -24,17 +24,19 @@ use OpenBSD::PkgConfig;
 
 my @PKGPATH = qw(/usr/local/lib/pkgconfig /usr/X11R6/lib/pkgconfig );
 
-if (defined($ENV{'PKG_CONFIG_PATH'}) && $ENV{'PKG_CONFIG_PATH'}) {
-    push(@PKGPATH, split /:/, $ENV{'PKG_CONFIG_PATH'});
+if (defined($ENV{PKG_CONFIG_LIBDIR}) && $ENV{PKG_CONFIG_LIBDIR}) {
+    @PKGPATH = split /:/, $ENV{PKG_CONFIG_LIBDIR};
+} elsif (defined($ENV{PKG_CONFIG_PATH}) && $ENV{PKG_CONFIG_PATH}) {
+    push(@PKGPATH, split /:/, $ENV{PKG_CONFIG_PATH});
 }
 
 my $logfile = '';
-if (defined($ENV{'PKG_CONFIG_LOGFILE'}) && $ENV{'PKG_CONFIG_LOGFILE'}) {
-    $logfile = $ENV{'PKG_CONFIG_LOGFILE'};
+if (defined($ENV{PKG_CONFIG_LOGFILE}) && $ENV{PKG_CONFIG_LOGFILE}) {
+    $logfile = $ENV{PKG_CONFIG_LOGFILE};
 }
 
 my $allow_uninstalled = 
-    defined $ENV{'PKG_CONFIG_DISABLE_UNINSTALLED'} ? 0 : 1;
+    defined $ENV{PKG_CONFIG_DISABLE_UNINSTALLED} ? 0 : 1;
 my $found_uninstalled = 0;
 
 my $version = 0.19; # pretend to be this version of pkgconfig
@@ -45,7 +47,7 @@ my $variables = {};
 my $D = 0; # debug flag
 
 {
-    my $d = $ENV{'PKG_CONFIG_TOP_BUILD_DIR'};
+    my $d = $ENV{PKG_CONFIG_TOP_BUILD_DIR};
     if (defined $d) {
         $variables->{pc_top_builddir} = $d;
     } else {
The revision you question was 1.66, by Jasper Lievisse Adriaanse (jasper@):
Code:
Revision 1.66: download - view: text, markup, annotated - select for diffs
Thu Jun 16 08:38:30 2011 UTC (2 years, 7 months ago) by jasper
Branches: MAIN
Diff to: previous 1.65: preferred, coloured
Changes since revision 1.65: +18 -15 lines
- finally unconfuse emacs by using parentheses for split()
And here's that patch:
Code:
--- src/usr.bin/pkg-config/pkg-config    2011/06/16 09:33:54    1.65
+++ src/usr.bin/pkg-config/pkg-config    2011/06/16 09:38:30    1.66
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# $OpenBSD: pkg-config,v 1.65 2011/06/16 08:33:54 jasper Exp $
+# $OpenBSD: pkg-config,v 1.66 2011/06/16 08:38:30 jasper Exp $
 # $CSK: pkgconfig.pl,v 1.39 2006/11/27 16:26:20 ckuethe Exp $
 
 # Copyright (c) 2006 Chris Kuethe <ckuethe@openbsd.org>
@@ -27,9 +27,9 @@ use OpenBSD::PkgConfig;
 my @PKGPATH = qw(/usr/lib/pkgconfig /usr/local/lib/pkgconfig /usr/X11R6/lib/pkgconfig);
 
 if (defined($ENV{PKG_CONFIG_LIBDIR}) && $ENV{PKG_CONFIG_LIBDIR}) {
-    @PKGPATH = split /:/, $ENV{PKG_CONFIG_LIBDIR};
+    @PKGPATH = split(/:/, $ENV{PKG_CONFIG_LIBDIR});
 } elsif (defined($ENV{PKG_CONFIG_PATH}) && $ENV{PKG_CONFIG_PATH}) {
-    unshift(@PKGPATH, split /:/, $ENV{PKG_CONFIG_PATH});
+    unshift(@PKGPATH, split(/:/, $ENV{PKG_CONFIG_PATH}));
 }
 
 my $logfile = '';
@@ -124,7 +124,7 @@ my $rc = 0;
 {
 my $p = join(' ', @ARGV);
 $p =~ s/^\s+//;
-@ARGV = split /\,?\s+/, $p;
+@ARGV = split(/\,?\s+/, $p);
 }
 
 if ($mode{myminvers}) {
@@ -211,9 +211,9 @@ if ($mode{variable}) {
 my $dep_cfg_list = simplify_and_reverse($cfg_full_list);
 
 if ($mode{cflags} || $mode{libs} || $mode{variable}) {
-    push @vlist, do_cflags($dep_cfg_list) if $mode{cflags};
-    push @vlist, do_libs($dep_cfg_list) if $mode{libs};
-    print join(' ', @vlist), "\n" if $rc == 0;
+    push @vlist, do_cflags($dep_cfg_list) if $mode{cflags};
+    push @vlist, do_libs($dep_cfg_list) if $mode{libs};
+    print join(' ', @vlist), "\n" if $rc == 0;
 }
 
 exit $rc;
@@ -256,7 +256,9 @@ sub handle_config
         }
     };
 
-    if (defined $mode{cflags} or $mode{static} or $mode{printrequiresprivate}) {
+    if (defined $mode{cflags}
+        or ($mode{static} && $mode{libs})
+        or $mode{printrequiresprivate}) {
         &$get_props("Requires.private");
     }
     &$get_props("Requires");
@@ -458,7 +460,8 @@ sub do_libs
         my $l = $configs{$pkg}->get_property('Libs', $variables);
         push(@$libs, @$l) if defined $l;
     }
-    
+
+    # Get the linker path directives (-L).
     my $a = OpenBSD::PkgConfig->compress($libs,
         sub {
             local $_ = shift;
@@ -476,7 +479,7 @@ sub do_libs
 
     if ($mode{libs} & 1) {
         my $b = OpenBSD::PkgConfig->rcompress($libs,
-            sub { shift =~ m/^-l/; });
+                sub { shift =~ m/^-l/; });
         return ($a, $b);
     } else {
         return $a;
@@ -533,7 +536,7 @@ Usage: $0 [options]
 --print-provides - print all the modules the given package provides
 --print-requires - print all the modules the given package requires
 --print-requires-private - print all the private modules the given package requires
---silence-errors - don't print error messages in case of error
+--silence-errors - don\'t print error messages in case of error
 --atleast-pkgconfig-version [version] - require a certain version of pkgconfig
 --cflags package [versionspec] [package [versionspec]]
 --cflags-only-I - only output -Iincludepath flags
@@ -560,8 +563,8 @@ sub self_version
     my ($v) = @_;
     my (@a, @b);
 
-    @a = split /\./, $v;
-    @b = split /\./, $version;
+    @a = split(/\./, $v);
+    @b = split(/\./, $version);
 
     if (($b[0] >= $a[0]) && ($b[1] >= $a[1])) {
         return 0;
@@ -593,8 +596,8 @@ sub compare
         $suffix_b[1] = $2;
     }
 
-    my @a = split /\./, $a;
-    my @b = split /\./, $b;
+    my @a = split(/\./, $a);
+    my @b = split(/\./, $b);
 
     while (@a && @b) { #so long as both lists have something
         if (!(@suffix_a || @suffix_b)) {
Reply With Quote