diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2022-08-04 17:58:50 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2022-08-05 13:02:11 +0300 |
commit | 007e23d6390af11582e55453269b7a51c723d2dd (patch) | |
tree | 8e8cff3ca23f5e56d9766a5ee6c6abb366611b07 /winsup/cygwin/scripts/sortdin | |
parent | 1e428bee1c5ef7c76ba4e46e6693b913edc9bbf3 (diff) |
Cygwin: Reorganize cygwin source dir
Create subdirs and move files accordingly:
- DevDocs: doc files
- fhandler: fhandler sources, split fhandler.cc into base.cc and null.cc
- local_includes: local include files
- scripts: scripts called during build
- sec: security sources
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'winsup/cygwin/scripts/sortdin')
-rwxr-xr-x | winsup/cygwin/scripts/sortdin | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/winsup/cygwin/scripts/sortdin b/winsup/cygwin/scripts/sortdin new file mode 100755 index 000000000..dafb329ff --- /dev/null +++ b/winsup/cygwin/scripts/sortdin @@ -0,0 +1,35 @@ +#!/usr/bin/perl + +my %data = (); +my %code = (); + +my @out = (); + +my $fn = $ARGV[0]; + +while (<>) { + push(@out, $_); + /^\s*exports/i and last; +} + +while (<>) { + my $key; + $arr = /\sDATA\s*$/o ? \%data : \%code; + $_ =~ s/^\s+//; + my $key = (split(' ', $_))[0]; + substr($key, 0, 1) = '' while $key =~ /^_/o; + chomp $key; + $arr->{$key}->{$_} = 1; +} + +for my $k (sort keys %data) { + push(@out, sort {$b cmp $a} keys %{$data{$k}}); +} + +for my $k (sort keys %code) { + push(@out, sort {$b cmp $a} keys %{$code{$k}}); +} + +open(R, '>', $fn); +print R @out; +close R; |