]> git.saurik.com Git - bison.git/blobdiff - build-aux/cross-options.pl
* GNUmakefile: Update git-version-gen invocation so make dist
[bison.git] / build-aux / cross-options.pl
index 4c941b04c339978a75aa361f5875e4a62807dd00..31733e72d3fdb6ff471d41144546d7f3eab86ea1 100755 (executable)
@@ -7,7 +7,12 @@ use strict;
 my %option;
 while (<>)
 {
 my %option;
 while (<>)
 {
-    if (/^\s*(?:(-\w), )?(--[-\w]+)(\[?)(=[-\w]+)?\]?/)
+    if (/^\s*          # Initial spaces.
+        (?:(-\w),\s+)? # $1: Possible short option.
+        (--[-\w]+)     # $2: Long option.
+        (\[?)          # $3: '[' iff the argument is optional.
+        (?:=([-\w]+))? # $4: Possible argument name.
+        /x)
     {
        my ($short, $long, $opt, $arg) = ($1, $2, $3, $4);
        $short = defined $short ? '@option{' . $short . '}' : '';
     {
        my ($short, $long, $opt, $arg) = ($1, $2, $3, $4);
        $short = defined $short ? '@option{' . $short . '}' : '';
@@ -16,8 +21,8 @@ while (<>)
            $arg =~ s/^=//;
            $arg = '@var{' . lc ($arg) . '}';
            $arg = '[' . $arg . ']'
            $arg =~ s/^=//;
            $arg = '@var{' . lc ($arg) . '}';
            $arg = '[' . $arg . ']'
-               if defined $opt;
-           $option{"$long=$arg"} = "$short $arg";
+               if $opt eq '[';
+           $option{"$long=$arg"} = $short ? "$short $arg" : '';
        }
        else
        {
        }
        else
        {