Limit ASN.1 constructed types recursive definition depth
[openssl.git] / util / domd
1 #!/bin/sh
2 # Do a makedepend, only leave out the standard headers
3 # Written by Ben Laurie <ben@algroup.co.uk> 19 Jan 1999
4
5 TOP=$1
6 shift
7 if [ "$1" = "-MD" ]; then
8     shift
9     MAKEDEPEND=$1
10     shift
11 fi
12 if [ "$MAKEDEPEND" = "" ]; then MAKEDEPEND=makedepend; fi
13
14 # Preserve Makefile timestamp by moving instead of copying (cp -p is GNU only)
15 mv Makefile Makefile.save
16 cp Makefile.save Makefile
17 # fake the presence of Kerberos
18 touch $TOP/krb5.h
19 if ${MAKEDEPEND} --version 2>&1 | grep "clang" > /dev/null ||
20    echo $MAKEDEPEND | grep "gcc" > /dev/null; then
21     args=""
22     while [ $# -gt 0 ]; do
23         if [ "$1" != "--" ]; then args="$args $1"; fi
24         shift
25     done
26     sed -e '/^# DO NOT DELETE.*/,$d' < Makefile > Makefile.tmp
27     echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' >> Makefile.tmp
28     ${MAKEDEPEND} -Werror -D OPENSSL_DOING_MAKEDEPEND -M $args >> Makefile.tmp || exit 1
29     ${PERL} $TOP/util/clean-depend.pl < Makefile.tmp > Makefile.new
30     RC=$?
31     rm -f Makefile.tmp
32 else
33     ${MAKEDEPEND} -D OPENSSL_DOING_MAKEDEPEND $@ && \
34     ${PERL} $TOP/util/clean-depend.pl < Makefile > Makefile.new
35     RC=$?
36 fi
37 if cmp -s Makefile.save Makefile.new; then
38     mv Makefile.save Makefile
39     rm -f Makefile.new
40 else
41     mv Makefile.new Makefile
42 fi
43 # unfake the presence of Kerberos
44 rm $TOP/krb5.h
45
46 exit $RC