]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Fix AC_PROG_CC_C_O for VC++.
authorStepan Kasal <kasal@ucw.cz>
Mon, 24 Oct 2005 10:56:01 +0000 (10:56 +0000)
committerStepan Kasal <kasal@ucw.cz>
Mon, 24 Oct 2005 10:56:01 +0000 (10:56 +0000)
ChangeLog
lib/autoconf/c.m4
lib/autoconf/fortran.m4

index ac76599d33bde629800110078400ebfeb5925d2f..2182653fdf7642c4317c7463fc0a08d09044e345 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2005-10-24  Stepan Kasal  <kasal@ucw.cz>
+
+       * lib/autoconf/c.m4 (AC_PROG_CC_C_O): Use conftst2.o instead of
+       conftest.o, to see whether the compiler really obeys; rm the object
+       file before and after the test and register it with ac_clean_files.
+       * lib/autoconf/fortran.m4 (_AC_PROG_FC_C_O): Likewise.
+
 2005-10-21  Stepan Kasal  <kasal@ucw.cz>
 
        * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): When determining,
index b440a6c46fb5c6fdce6cf6fc74a8c029fb2a69e6..fb27eca975c6926fc7c1285031c5db4ff44e8107 100644 (file)
@@ -576,20 +576,24 @@ set dummy $CC; ac_cc=`echo $[2] |
                      sed 's/[[^a-zA-Z0-9_]]/_/g;s/^[[0-9]]/_/'`
 AC_CACHE_VAL(ac_cv_prog_cc_${ac_cc}_c_o,
 [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files conftst2.$ac_objext"
 # Make sure it works both with $CC and with simple cc.
 # We do the test twice because some compilers refuse to overwrite an
 # existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
+ac_try='$CC -c conftest.$ac_ext -o conftst2.$ac_objext >&AS_MESSAGE_LOG_FD'
+rm -f conftst2.$ac_objext
 if AC_TRY_EVAL(ac_try) &&
-   test -f conftest.$ac_objext && AC_TRY_EVAL(ac_try);
+   test -f conftst2.$ac_objext && AC_TRY_EVAL(ac_try);
 then
   eval ac_cv_prog_cc_${ac_cc}_c_o=yes
   if test "x$CC" != xcc; then
     # Test first that cc exists at all.
     if AC_TRY_COMMAND(cc -c conftest.$ac_ext >&AS_MESSAGE_LOG_FD); then
-      ac_try='cc -c conftest.$ac_ext -o conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
+      ac_try='cc -c conftest.$ac_ext -o conftst2.$ac_objext >&AS_MESSAGE_LOG_FD'
+      rm -f conftst2.$ac_objext
       if AC_TRY_EVAL(ac_try) &&
-        test -f conftest.$ac_objext && AC_TRY_EVAL(ac_try);
+        test -f conftst2.$ac_objext && AC_TRY_EVAL(ac_try);
       then
        # cc works too.
        :
@@ -602,7 +606,8 @@ then
 else
   eval ac_cv_prog_cc_${ac_cc}_c_o=no
 fi
-rm -f conftest*
+rm -f conftest* conftst2.$ac_objext
+ac_clean_files=$ac_clean_files_save
 ])dnl
 if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = yes"; then
   AC_MSG_RESULT([yes])
index 7a9247e0f0ab1e73f602c08a11cbb67fa70abdd1..0e837f38882c4ddc36d0e84a2efa181288f963bd 100644 (file)
@@ -459,17 +459,22 @@ AC_DEFUN([_AC_PROG_FC_C_O],
 AC_CACHE_CHECK([whether $[]_AC_FC[] understands -c and -o together],
                [ac_cv_prog_[]_AC_LANG_ABBREV[]_c_o],
 [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files conftst2.$ac_objext"
 # We test twice because some compilers refuse to overwrite an existing
 # `.o' file with `-o', although they will create one.
-ac_try='$[]_AC_FC[] $[]_AC_LANG_PREFIX[]FLAGS -c conftest.$ac_ext -o conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
+ac_try='$[]_AC_FC[] $[]_AC_LANG_PREFIX[]FLAGS -c conftest.$ac_ext -o conftst2.$ac_objext >&AS_MESSAGE_LOG_FD'
+rm -f conftst2.$ac_objext
 if AC_TRY_EVAL(ac_try) &&
-     test -f conftest.$ac_objext &&
+     test -f conftst2.$ac_objext &&
      AC_TRY_EVAL(ac_try); then
   ac_cv_prog_[]_AC_LANG_ABBREV[]_c_o=yes
 else
   ac_cv_prog_[]_AC_LANG_ABBREV[]_c_o=no
 fi
-rm -f conftest*])
+rm -f conftest* conftst2.$ac_objext
+ac_clean_files=$ac_clean_files_save
+])
 if test $ac_cv_prog_[]_AC_LANG_ABBREV[]_c_o = no; then
   AC_DEFINE([]_AC_FC[]_NO_MINUS_C_MINUS_O, 1,
             [Define to 1 if your Fortran compiler doesn't accept