Fix AC_PROG_CC_C_O for VC++.

This commit is contained in:
Stepan Kasal 2005-10-24 10:56:01 +00:00
parent 6c46e64ab3
commit f799d47ad6
3 changed files with 25 additions and 8 deletions

View File

@ -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,

View 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])

View 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