bn/bn_lib.c: remove bn_check_top from bn_expand2.
[oweals/openssl.git] / util / domd
index 691be7a440ac8295930d1b9e7194dc53e6281a10..6eb019ea1672d7e482ec0496017c19b9084cc2bd 100755 (executable)
--- a/util/domd
+++ b/util/domd
@@ -6,15 +6,25 @@ TOP=$1
 shift
 if [ "$1" = "-MD" ]; then
     shift
-    MAKEDEPEND=$1
+    MAKEDEPEND=""
+    while [ "$1" != "--" ]; do
+        MAKEDEPEND="$MAKEDEPEND $1"
+        shift
+    done
     shift
 fi
 if [ "$MAKEDEPEND" = "" ]; then MAKEDEPEND=makedepend; fi
 
-cp Makefile Makefile.save
+# Preserve Makefile timestamp by moving instead of copying (cp -p is GNU only)
+mv Makefile Makefile.save
+cp Makefile.save Makefile
 # fake the presence of Kerberos
 touch $TOP/krb5.h
-if [ "$MAKEDEPEND" = "gcc" ]; then
+if expr "$MAKEDEPEND" : ".*makedepend" > /dev/null; then
+    ${MAKEDEPEND} -D OPENSSL_DOING_MAKEDEPEND $@ && \
+    ${PERL} $TOP/util/clean-depend.pl < Makefile > Makefile.new
+    RC=$?
+else
     args=""
     while [ $# -gt 0 ]; do
        if [ "$1" != "--" ]; then args="$args $1"; fi
@@ -22,13 +32,18 @@ if [ "$MAKEDEPEND" = "gcc" ]; then
     done
     sed -e '/^# DO NOT DELETE.*/,$d' < Makefile > Makefile.tmp
     echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' >> Makefile.tmp
-    gcc -D OPENSSL_DOING_MAKEDEPEND -M $args >> Makefile.tmp
+    ${MAKEDEPEND} -Werror -D OPENSSL_DOING_MAKEDEPEND -M $args >> Makefile.tmp || exit 1
     ${PERL} $TOP/util/clean-depend.pl < Makefile.tmp > Makefile.new
+    RC=$?
     rm -f Makefile.tmp
+fi
+if cmp -s Makefile.save Makefile.new; then
+    mv Makefile.save Makefile
+    rm -f Makefile.new
 else
-    ${MAKEDEPEND} -D OPENSSL_DOING_MAKEDEPEND $@
-    ${PERL} $TOP/util/clean-depend.pl < Makefile > Makefile.new
+    mv Makefile.new Makefile
 fi
-mv Makefile.new Makefile
 # unfake the presence of Kerberos
 rm $TOP/krb5.h
+
+exit $RC