]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Ensure actions can look at conftest* files.
authorPaolo Bonzini <bonzini@gnu.org>
Thu, 23 Oct 2008 15:58:53 +0000 (17:58 +0200)
committerPaolo Bonzini <bonzini@gnu.org>
Thu, 23 Oct 2008 16:02:14 +0000 (18:02 +0200)
* lib/autoconf/general.m4 (_AC_PREPROC_IFELSE_BODY,
_AC_COMPILE_IFELSE_BODY, _AC_LINK_IFELSE_BODY, _AC_RUN_IFELSE_BODY):
Move rm commands, except IPA files and Apple debug symbols...
(_AC_PREPROC_IFELSE, __AC_COMPILE_IFELSE, _AC_LINK_IFELSE,
_AC_RUN_IFELSE): ...in here.
* tests/compile.at: Add regression test.

ChangeLog
lib/autoconf/general.m4
tests/compile.at

index cf280c11de34c5afad2b46daf5a54034d76d646f..105d486305ce8f8ecac903700b3a32244d682d82 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2008-10-23  Paolo Bonzini  <bonzinI@gnu.org>
+
+       Ensure actions can look at conftest* files.
+       * lib/autoconf/general.m4 (_AC_PREPROC_IFELSE_BODY,
+       _AC_COMPILE_IFELSE_BODY, _AC_LINK_IFELSE_BODY, _AC_RUN_IFELSE_BODY):
+       Move rm commands, except IPA files and Apple debug symbols...
+       (_AC_PREPROC_IFELSE, __AC_COMPILE_IFELSE, _AC_LINK_IFELSE,
+       _AC_RUN_IFELSE): ...in here.
+       * tests/compile.at: Add regression test.
+
 2008-10-23  Eric Blake  <ebb9@byu.net>
 
        Remove excess dnl from m4sh.
index 21959dfeac72d4bb1f6ee140e4fb06f99e8a2412..54d092294f0592baa0e25b33ea3d32ed103aa606 100644 (file)
@@ -2390,7 +2390,6 @@ m4_define([_AC_PREPROC_IFELSE_BODY],
     [ac_retval=0],
     [_AC_MSG_LOG_CONFTEST
     ac_retval=1])
-  rm -f conftest.err
   AS_LINENO_POP
   return $ac_retval
 ])# _AC_PREPROC_IFELSE_BODY
@@ -2409,7 +2408,7 @@ AC_DEFUN([_AC_PREPROC_IFELSE],
   [$0_BODY])]dnl
 [m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])]dnl
 [AS_IF([ac_func_[]_AC_LANG_ABBREV[]_try_cpp "$LINENO"], [$2], [$3])
-m4_ifvaln([$1], [rm -f conftest.$ac_ext])dnl
+rm -f conftest.err[]m4_ifval([$1], [ conftest.$ac_ext])
 ])# _AC_PREPROC_IFELSE
 
 # AC_PREPROC_IFELSE(PROGRAM, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
@@ -2480,7 +2479,6 @@ m4_define([_AC_COMPILE_IFELSE_BODY],
       [ac_retval=0],
       [_AC_MSG_LOG_CONFTEST
        ac_retval=1])
-  rm -f core conftest.err conftest.$ac_objext
   AS_LINENO_POP
   return $ac_retval
 ])# _AC_COMPILE_IFELSE_BODY
@@ -2497,7 +2495,7 @@ AC_DEFUN([_AC_COMPILE_IFELSE],
   [$0_BODY])]dnl
 [m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])]dnl
 [AS_IF([ac_func_[]_AC_LANG_ABBREV[]_try_compile "$LINENO"], [$2], [$3])
-m4_ifvaln([$1], [rm -f conftest.$ac_ext])dnl
+rm -f core conftest.err conftest.$ac_objext[]m4_ifval([$1], [ conftest.$ac_ext])
 ])# _AC_COMPILE_IFELSE
 
 
@@ -2540,12 +2538,11 @@ m4_define([_AC_LINK_IFELSE_BODY],
       [ac_retval=0],
       [_AC_MSG_LOG_CONFTEST
        ac_retval=1])
-  # Delete also the IPA/IPO (Inter Procedural Analysis/Optimization)
-  # information created by the PGI compiler (conftest_ipa8_conftest.oo),
-  # as it would interfere with the next link command.
-  rm -rf conftest.dSYM
-  rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
   AS_LINENO_POP
   return $ac_retval
 ])# _AC_LINK_IFELSE_BODY
@@ -2569,7 +2566,8 @@ AC_DEFUN([_AC_LINK_IFELSE],
   [$0_BODY])]dnl
 [m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])]dnl
 [AS_IF([ac_func_[]_AC_LANG_ABBREV[]_try_link "$LINENO"], [$2], [$3])
-m4_ifvaln([$1], [rm -f conftest.$ac_ext])dnl
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext[]m4_ifval([$1], [ conftest.$ac_ext])
 ])# _AC_LINK_IFELSE
 
 
@@ -2616,8 +2614,7 @@ m4_define([_AC_RUN_IFELSE_BODY],
       [AS_ECHO(["$as_me: program exited with status $ac_status"]) >&AS_MESSAGE_LOG_FD
        _AC_MSG_LOG_CONFTEST
        ac_retval=$ac_status])
-  rm -rf conftest.dSYM
-  rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest$ac_exeext
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
   AS_LINENO_POP
   return $ac_retval
 ])# _AC_RUN_IFELSE_BODY
@@ -2638,7 +2635,8 @@ AC_DEFUN([_AC_RUN_IFELSE],
   [$0_BODY])]dnl
 [m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])]dnl
 [AS_IF([ac_func_[]_AC_LANG_ABBREV[]_try_run "$LINENO"], [$2], [$3])
-m4_ifvaln([$1], [rm -f conftest.$ac_ext])dnl
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest$ac_exeext[]m4_ifval([$1], [ conftest.$ac_ext])
 ])# _AC_RUN_IFELSE
 
 # AC_RUN_IFELSE(PROGRAM,
index 6ee22ae443b9de22056f607b79c0829c81df29f8..ba931fcbdd01388b50bfae29ddbe7a988ceb597e 100644 (file)
@@ -141,6 +141,52 @@ AT_CHECK_CONFIGURE([-q])
 
 AT_CLEANUP
 
+## --------------------------  ##
+## Order of `rm' and actions.  ##
+## --------------------------  ##
+
+AT_SETUP([Order of user actions and cleanup])
+AT_DATA([configure.ac],
+[[AC_INIT
+AC_PROG_CC
+
+AC_PREPROC_IFELSE([AC_LANG_PROGRAM([int ok;], [])],
+                 [test -f conftest.err || AS_EXIT([1])],
+                 [AS_EXIT([1])])
+AC_PREPROC_IFELSE([AC_LANG_PROGRAM([#define 12 34], [])],
+                 [AS_EXIT([1])],
+                 [test -f conftest.err || AS_EXIT([1])])
+
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int ok;], [])],
+                 [test -f conftest.$ac_objext || AS_EXIT([1])],
+                 [AS_EXIT([1])])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int bad bad;], [])],
+                 [AS_EXIT([1])],
+                 [test -f conftest.err || AS_EXIT([1])])
+
+AC_LINK_IFELSE([AC_LANG_PROGRAM([int ok;], [])],
+              [test -f conftest$ac_exeext || AS_EXIT([1])],
+              [AS_EXIT([1])])
+AC_LINK_IFELSE([AC_LANG_PROGRAM([int bad bad;], [])],
+              [AS_EXIT([1])],
+              [test -f conftest.err || AS_EXIT([1])])
+
+AC_RUN_IFELSE([AC_LANG_PROGRAM([int ok;], [])],
+             [./conftest$ac_exeext || AS_EXIT([1])],
+             [AS_EXIT([1])])
+
+d@&t@nl conftest.err not generated by AC_RUN_IFELSE?
+AC_RUN_IFELSE([AC_LANG_PROGRAM([int bad bad;], [])],
+             [AS_EXIT([1])],
+             [])
+]])
+
+AT_CHECK_AUTOCONF
+AT_CHECK_CONFIGURE([-q])
+
+AT_CLEANUP
+
+
 ## ------------------ ##
 ## AC_TRY_LINK_FUNC.  ##
 ## ------------------ ##