summaryrefslogtreecommitdiff
path: root/winsup/cygwin/speclib
blob: ac7cc28fa7562bcc554eb373f0cc55fadb634442 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh
# speclib - Make a special version of the cygwin import library.
#
#   Copyright 2001, 2002 Red Hat, Inc.
#
# This file is part of Cygwin.
#
# This software is a copyrighted work licensed under the terms of the
# Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
# details.

case "$1" in
    -v) v="-v"; shift
esac
lib=$1; shift
nm=$1; shift
dlltool=$1; shift
def=$1; shift
trap "rm /tmp/$$.def" 0 1 2 15
(echo "LIBRARY cygwin1.dll
EXPORTS"; $nm --extern-only --defined-only $* | sed -e '/^[ 	]*$/d' -e '/:$/d' -e 's/^.* _\(.*\)/\1/' |  grep $v -f - -w $def |egrep -vi '^library|exports|^$' | sort) > /tmp/$$.def
exec $dlltool -d /tmp/$$.def -l "$lib" -D /dev/null