| #! /usr/bin/perl |
| # |
| # Generate AUTHORS and include/authors.h |
| # |
| open(AUTHORS,"<AUTHORS") or die "Can't open AUTHORS"; |
| open(NEWAUTHORS,">AUTHORS.new"); |
| while(<AUTHORS>) |
| { |
| print NEWAUTHORS; |
| last if /^Wine is/; |
| } |
| while(<AUTHORS>) |
| { |
| chop; |
| s/^and //; |
| s/[,.]$//; |
| push @authors, $_; |
| } |
| |
| # Sort them |
| sub cmpnames |
| { |
| @anames = split(" ",$a); |
| @bnames = split(" ",$b); |
| $ret = $anames[-1] cmp $bnames[-1]; |
| $ret = $anames[0] cmp $bnames[0] unless $ret; |
| return $ret; |
| } |
| @authors = sort cmpnames @authors; |
| |
| # Print authors |
| for ($i = 0; $i < $#authors; $i++) |
| { |
| print NEWAUTHORS "$authors[$i],\n"; |
| } |
| print NEWAUTHORS "and $authors[$#authors].\n"; |
| print "Created AUTHORS.new\n"; |
| |
| # Build authors.h file |
| open(NEWAUTHORS_H,">include/authors.h"); |
| |
| print NEWAUTHORS_H <<EOF; |
| #ifndef __WINE_AUTHORS_H |
| #define __WINE_AUTHORS_H |
| |
| static const char * const SHELL_People[] = |
| { |
| EOF |
| |
| # Print authors |
| for ($i = 0; $i <= $#authors; $i++) |
| { |
| print NEWAUTHORS_H " \"$authors[$i]\",\n"; |
| } |
| print NEWAUTHORS_H " NULL\n};\n"; |
| print NEWAUTHORS_H "\n#endif /* __WINE_AUTHORS_H */\n"; |
| |
| print "Created include/authors.h\n"; |