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:
Diffstat (limited to 'winsup/cygwin/speclib')
-rwxr-xr-xwinsup/cygwin/speclib78
1 files changed, 0 insertions, 78 deletions
diff --git a/winsup/cygwin/speclib b/winsup/cygwin/speclib
deleted file mode 100755
index 7ac4d1cff..000000000
--- a/winsup/cygwin/speclib
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/usr/bin/perl
-use Getopt::Long;
-use File::Temp qw'tempdir';
-use File::Basename;
-use File::Spec;
-use strict;
-
-sub dllname($;$);
-
-my $static;
-my $inverse;
-my @exclude;
-
-my ($ar, $as, $nm, $objcopy);
-GetOptions('exclude=s'=>\@exclude, 'static!'=>\$static, 'v!'=>\$inverse,
- 'ar=s'=>\$ar, 'as=s'=>\$as,'nm=s'=>\$nm, 'objcopy=s'=>\$objcopy);
-
-$_ = File::Spec->rel2abs($_) for @ARGV;
-
-my $libdll = shift;
-my $lib = pop;
-(my $iname = basename $lib) =~ s/\.a$//o;
-$iname = '_' . $iname . '_dll_iname';
-
-open my $nm_fd, '-|', $nm, '-Apg', '--defined-only', @ARGV, $libdll or
- die "$0: execution of $nm for object files failed - $!\n";
-
-my %match_syms = ();
-my $symfiles = ();
-my $lastfn;
-my %extract = ();
-my $exclude_regex = @exclude ? join('|', @exclude) : '\\UnLiKeLy//';
-$exclude_regex = qr/$exclude_regex/;
-my $dllname;
-while (<$nm_fd>) {
- study;
- if (/ I _(.*)_dll_iname/o) {
- $dllname = $1;
- } else {
- my ($file, $member, $symbol) = m%^([^:]*):([^:]*(?=:))?.* T (.*)%o;
- next if !defined($symbol) || $symbol =~ $exclude_regex;
- if ($file ne $libdll) {
- $match_syms{$symbol} = 1;
- } elsif ($match_syms{$symbol} ? !$inverse : $inverse) {
- $extract{$member} = 1;
- }
- }
-}
-close $nm_fd;
-
-
-%extract or die "$0: couldn't find symbols for $lib\n";
-
-my $dir = tempdir(CLEANUP => 1);
-
-chdir $dir;
-# print join(' ', '+', $ar, 'x', sort keys %extract), "\n";
-my $res = system $ar, 'x', $libdll, sort keys %extract;
-die "$0: $ar extraction exited with non-zero status\n" if $res;
-unlink $lib;
-
-# Add a dummy .idata object for libtool so that it will think
-# this library is an import library.
-my $iname_o = 'd000000.o';
-$extract{$iname_o} = 1;
-open my $as_fd, '|-', $as, '-R', '-o', $iname_o, "-";
-print $as_fd <<EOF;
- .section .idata\$7
-.global $iname
-$iname: .asciz "$dllname.dll"
-EOF
-close $as_fd or exit 1;
-system $objcopy, '-j', '.idata$7', $iname_o;
-
-$res = system $ar, 'crus', $lib, sort keys %extract;
-unlink keys %extract;
-die "$0: ar creation of $lib exited with non-zero status\n" if $res;
-exit 0;