Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2022-08-04 17:58:50 +0300
committerCorinna Vinschen <corinna@vinschen.de>2022-08-05 13:02:11 +0300
commit007e23d6390af11582e55453269b7a51c723d2dd (patch)
tree8e8cff3ca23f5e56d9766a5ee6c6abb366611b07 /winsup/cygwin/scripts/sortdin
parent1e428bee1c5ef7c76ba4e46e6693b913edc9bbf3 (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-xwinsup/cygwin/scripts/sortdin35
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;