X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fcheck-configs.pl;h=c7cb8e8401624d7fd0d9667907b68d1efecb5ae9;hb=6afd6db0ae9396cd7ff897ade597cd5483f49b0e;hp=94c8fd4fa2e5adfc89a51c06707dba166296d476;hpb=019de959b265701cd0c3fccbb61f2b69f06bf9ee;p=xscreensaver diff --git a/hacks/check-configs.pl b/hacks/check-configs.pl index 94c8fd4f..c7cb8e84 100755 --- a/hacks/check-configs.pl +++ b/hacks/check-configs.pl @@ -1,5 +1,5 @@ #!/usr/bin/perl -w -# Copyright © 2008-2013 Jamie Zawinski +# Copyright © 2008-2014 Jamie Zawinski # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that @@ -19,7 +19,7 @@ use diagnostics; use strict; my $progname = $0; $progname =~ s@.*/@@g; -my $version = q{ $Revision: 1.7 $ }; $version =~ s/^[^\d]+([\d.]+).*/$1/; +my ($version) = ('$Revision: 1.9 $' =~ m/\s(\d[.\d]+)\s/s); my $verbose = 0; @@ -30,13 +30,20 @@ foreach (qw(count cycles delay ncolors size font)) { } $xlockmore_default_opts .= "{\"-wireframe\", \".wireframe\", XrmoptionNoArg, \"true\"},\n" . - "{\"-3d\", \".use3d\", XrmoptionNoArg, \"true\"},\n"; + "{\"-3d\", \".use3d\", XrmoptionNoArg, \"true\"},\n" . + "{\"-no-3d\", \".use3d\", XrmoptionNoArg, \"false\"},\n"; + +my $thread_default_opts = + "{\"-threads\", \".useThreads\", XrmoptionNoArg, \"True\"},\n" . + "{\"-no-threads\", \".useThreads\", XrmoptionNoArg, \"False\"},\n"; my $analogtv_default_opts = ''; foreach (qw(color tint brightness contrast)) { $analogtv_default_opts .= "{\"-tv-$_\", \".TV$_\", XrmoptionSepArg, 0},\n"; } +$analogtv_default_opts .= $thread_default_opts; + # Returns two tables: @@ -56,18 +63,18 @@ sub parse_src($) { $file = "glx/$file" unless (-f $file); my $body = ''; - local *IN; - open (IN, "<$file") || error ("$file: $!"); - while () { $body .= $_; } - close IN; + open (my $in, '<', $file) || error ("$file: $!"); + while (<$in>) { $body .= $_; } + close $in; $file =~ s@^.*/@@; my $xlockmore_p = 0; + my $thread_p = ($body =~ m/THREAD_DEFAULTS/); my $analogtv_p = ($body =~ m/ANALOGTV_DEFAULTS/); $body =~ s@/\*.*?\*/@@gs; $body =~ s@^#\s*(if|ifdef|ifndef|elif|else|endif).*$@@gm; - $body =~ s/ANALOGTV_(DEFAULTS|OPTIONS)//gs; + $body =~ s/(THREAD|ANALOGTV)_(DEFAULTS|OPTIONS)//gs; print STDERR "$progname: $file: defaults:\n" if ($verbose > 2); my %res_to_val; @@ -125,9 +132,10 @@ sub parse_src($) { $switch_to_res{-bg} = 'background: %'; my ($ign, $opts) = ($body =~ m/(_options|\bopts)\s*\[\]\s*=\s*{(.*?)}\s*;/s); - if ($xlockmore_p || $analogtv_p || $opts) { + if ($xlockmore_p || $thread_p || $analogtv_p || $opts) { $opts = '' unless $opts; $opts .= ",\n$xlockmore_default_opts" if ($xlockmore_p); + $opts .= ",\n$thread_default_opts" if ($thread_p); $opts .= ",\n$analogtv_default_opts" if ($analogtv_p); foreach (split (/,\s*\n/, $opts)) {