2005-08-16 Stepan Kasal When building in place, set srcdir="."; suggested by Tim Van Holder. * lib/autoconf/general.m4 (_AC_INIT_SRCDIR): Do this; to recognize build in place, we need ac_pwd, and thus have to AC_REQUIRE ... (_AC_INIT_DIRCHECK): ... this macro and AC_DEFUN both of them. * lib/autoconf/status.m4 (_AC_SRCDIRS): Fix a comment: srcdir="." does not mean "no --srcdir option". Index: lib/autoconf/general.m4 =================================================================== RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/general.m4,v retrieving revision 1.879 diff -u -r1.879 general.m4 --- lib/autoconf/general.m4 25 Jul 2005 18:10:25 -0000 1.879 +++ lib/autoconf/general.m4 16 Aug 2005 08:28:48 -0000 @@ -454,7 +454,10 @@ # _AC_INIT_DIRCHECK # ----------------- # Set ac_pwd, and sanity-check it and the source and installation directories. -m4_define([_AC_INIT_DIRCHECK], +# +# (This macro is AC_REQUIREd by _AC_INIT_SRCDIR, so it has to be AC_DEFUNed.) +# +AC_DEFUN([_AC_INIT_DIRCHECK], [m4_divert_push([PARSE_ARGS])dnl ac_pwd=`pwd` && test -n "$ac_pwd" && @@ -470,8 +473,12 @@ # _AC_INIT_SRCDIR # --------------- # Compute `srcdir' based on `$ac_unique_file'. -m4_define([_AC_INIT_SRCDIR], -[m4_divert_push([PARSE_ARGS])dnl +# +# (We have to AC_DEFUN it, since we use AC_REQUIRE.) +# +AC_DEFUN([_AC_INIT_SRCDIR], +[AC_REQUIRE([_AC_INIT_DIRCHECK])dnl +m4_divert_push([PARSE_ARGS])dnl # Find the source files, if location was not specified. if test -z "$srcdir"; then @@ -489,11 +496,17 @@ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." AC_MSG_ERROR([cannot find sources ($ac_unique_file) in $srcdir]) fi -(cd $srcdir && test -r "./$ac_unique_file") 2>/dev/null || - AC_MSG_ERROR([sources are in $srcdir, but `cd $srcdir' does not work]) -dnl Remove unnecessary trailing slashes from srcdir. -dnl Double slashes in file names in object file debugging info -dnl mess up M-x gdb in Emacs. +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd $srcdir && test -r "./$ac_unique_file" || AC_MSG_ERROR([$ac_msg]) + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[[^/]]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac @@ -1298,8 +1311,8 @@ m4_ifval([$2], [_AC_INIT_PACKAGE($@)]) _AC_INIT_DEFAULTS _AC_INIT_PARSE_ARGS -_AC_INIT_SRCDIR _AC_INIT_DIRCHECK +_AC_INIT_SRCDIR _AC_INIT_HELP _AC_INIT_VERSION _AC_INIT_CONFIG_LOG Index: lib/autoconf/status.m4 =================================================================== RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/status.m4,v retrieving revision 1.72 diff -u -r1.72 status.m4 --- lib/autoconf/status.m4 26 Jul 2005 10:14:25 -0000 1.72 +++ lib/autoconf/status.m4 16 Aug 2005 08:28:48 -0000 @@ -121,7 +121,7 @@ ac_top_builddir=$ac_top_build_prefix case $srcdir in - .) # No --srcdir option. We are building in place. + .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;;