#!/usr/bin/perl print "// WARNING: this is an autogenerated file. Any change might be overwritten!\n"; use strict; my %grps, my %secs, my %hints; $grps{"ANY"} = ''; for(<>) { chomp; (my $sec, my $pred) = split(/,/); next if $sec eq "GTK" or $sec eq "Qt" or $sec eq "GNOME" or $sec eq "KDE" or $sec eq "XFCE" or $sec eq "Java" or $sec eq "ConsoleOnly"; # key is sanitized name of the filter set or ANY for no filters my $key = $pred; $key=~ s/\W//g; $key = "ANY" if(!$key); $secs{$sec}=$key; $hints{$sec}=$pred; if($key && !defined($grps{$key})) { $pred=~s/ or /", "|", "/g; $pred=~s/;/", "/g; $grps{$key}=$pred; } } print "LPCSTR $_\[\] = { \"$grps{$_}\", \"|\", NULL };\n" for(sort keys %grps); # start of the list, the end of the list are print <