Noah Misch | 1 Jul 2005 04:48
Picon
Favicon

Re: Should #include "config.h" be forbidden?

On Thu, Jun 30, 2005 at 04:49:48PM +0200, Stepan Kasal wrote:
> +To provide for VPATH buils, remember to pass the C compiler a  <at> option{-I.}

s/buils/builds/


Stepan Kasal | 1 Jul 2005 07:56
Picon

Re: Should #include "config.h" be forbidden?

Hi,

On Thu, Jun 30, 2005 at 03:50:51PM -0700, Paul Eggert wrote:
> > 2005-06-30  Stepan Kasal  <kasal <at> ucw.cz>
> >
> > 	* doc/autoconf.texi (Configuration Headers): Change the explanation
> > 	about #include <config.h>.
> 
> That looks good to me; please install.  Thanks.

I fixed the typo noticed by Noah and installed.

Stepan

Stepan Kasal | 1 Jul 2005 10:50
Picon

Re: Replace AC_FOREACH by m4_foreach_w

Hello,
  returning to the patch from May.

I committed a variation of the patch, please find it attached to this mail.

I did the following:
1- declared AC_FOREACH obsolete
2- tried to eliminate some occurences
3- replaced the remaining by m4_foreach_w, which is the same as AC_FOREACH,
   but defines in m4sugar.m4

ad 2:  I hadn't much success with eliminating.  Some occurences are tied to
user interface, as in AC_CHECK_FUNCS.  Then there are occurences working with
AC_LIST_* macros; converting these would require too much work.

ad 3:  We can rename the macro or expand all its occurences later.
In any case, I think the patch is going in a good direction.

Have a nice day,
	Stepan
2005-07-01  Stepan Kasal  <kasal <at> ucw.cz>

	* lib/autoconf/general.m4 (AC_FOREACH): Make obsolete; it's
	  replaced ...
	* lib/m4sugar/m4sugar.m4 (m4_foreach_w): ... by this new macro.
	* lib/autoconf/status.m4 (_AC_CONFIG_DEPENDENCIES, _AC_CONFIG_UNIQUE):
	  Remove m4_foreach_w.
	(AC_CONFIG_SUBDIRS): Call _AC_CONFIG_UNIQUE in a m4_foreach_w loop.
(Continue reading)

Stepan Kasal | 1 Jul 2005 12:58
Picon

Re: AC_PROG_CC_C_O doesn't work with VC++

Hello,

On Fri, Jul 01, 2005 at 10:14:28AM +0200, Harald Dunkel wrote:
> It seems that AC_PROG_CC_C_O does not work with Microsoft's
> Visual C++ 13.10.3077.
[...]
> 	cl -c -o somedir/conftest.obj conftest.c
> or
> 	cl -c -o xyz.obj conftest.c
> 
> do not work as expected. cl silently ignores the -o
> option if there is a -c.

the patch attached to this mail (relative to current autoconf CVS)
should fix it.

OK to commit?

> How can I tell autoconf to not use -c and -o together,
> regardless what the test said?

Do I guess correctly that you in fact use AM_PROG_CC_C?
Then the following hack should work:

AC_PROG_CC_C_O
eval ac_cv_prog_cc_${ac_cc}_c_o=no
AM_PROG_CC_C_O

(The configure output still says that -c -o works, and NO_MINUS_C_MINUS_O
is not defined in your config.h, but it doesn't matter.)
(Continue reading)

Paul Eggert | 1 Jul 2005 20:34
Favicon

Re: AC_PROG_CC_C_O doesn't work with VC++

Stepan Kasal <kasal <at> ucw.cz> writes:

> 2005-07-01  Stepan Kasal  <kasal <at> ucw.cz>
>
> 	* lib/autoconf/c.m4 (AC_PROG_CC_C_O): Use conf$$.o instead of
> 	conftest.o, to see whether the compiler really obeys; rm the
> 	object file before the test.
> 	* lib/autoconf/fortran.m4 (_AC_PROG_FC_C_O): Likewise.

That looks good, except for one thing: the command

  rm -f conf$$*

might remove a bit too much.  For example, if $$ = 2, it's equivalent
to "rm -f conf2*", which might remove conf23.o.  It's a small point,
but I'd feel a bit better if you uniformly replaced "conf$$" by
"conf$$t" to prevent unexpected matches like that.

Paul Eggert | 2 Jul 2005 00:33
Favicon

Re: should a space really be a "special character" ?

Brendan Kehoe <brendan <at> zen.org> writes:

> Thoughts?

I guess this check is causing more trouble than it cures.

> Oh, one thing that's got me mystified is that such a problem like not
> configuring in a directory 'foo bar' could possibly be a real
> outstanding bug, since it'd have to have happened to tons of Cygwin
> users.

Sometimes spaces work; sometimes they don't.  The same thing is true
for lots of other patterns in file names, including:

 " # $ % & ' *  <at> %: <at>   <at> &t <at>   <at> S| <at>  \ ` |

as well as tab and newline.  This is true on both Cygwin and on POSIX
hosts.  Autoconf was playing it safe, but I guess it was too safe.

I've just sent off a bug report and patch to Automake-patches
about this; in a day or two it should appear at
<http://lists.gnu.org/archive/html/automake-patches/2005-07/>.

> P.S. I've just noticed that autoconf/aclocal.m4 also holds
> AM_MISSING_HAS_RUN.  Why?  To avoid dependencies?

Yes; someone who's installing Autoconf shouldn't need Automake,
to avoid the usual bootstrapping problems.

To work around the problem I installed the following Autoconf patch.
(Continue reading)

Alexandre Duret-Lutz | 2 Jul 2005 20:01
X-Face
Picon

loading config.site when $prefix contains IFS characters

While investigating why Paul's test case for Automake
(http://lists.gnu.org/archive/html/automake-patches/2005-07/msg00002.html)
doesn't work for me, I've noticed the following output in the
trace (piped thru `cat -A' for clarity).

+ for test in build install$
+ case $test in$
+ build=sub1$
++ pwd$
+ dest='/home/adl/projs/cvs/automake/HEAD3/tests/testSubDir/^I'$
+ mkdir sub1 './^I'$
+ cd sub1$
+ case $test-$file in$
+ ../configure --prefix '/^I-prefix'$
configure: loading site script /$
sed: read error on /: Is a directory$
../configure: line 1514: .: /: is a directory$
configure: loading site script /$
sed: read error on /: Is a directory$
../configure: line 1514: .: /: is a directory$
checking for a BSD-compatible install... /usr/bin/install -c$
checking whether build environment is sane... yes$

here configure sets

CONFIG_SITE="/^I/share/config.site /^I/etc/config.site"

and then split this in four components in the `for ac_site_file in $CONFIG_SITE'
loop.

(Continue reading)

Noah Misch | 2 Jul 2005 20:34
Picon
Favicon

Re: Replace AC_FOREACH by m4_foreach_w

I do like this patch.  Some comments:

On Fri, Jul 01, 2005 at 10:50:18AM +0200, Stepan Kasal wrote:
> 2005-07-01  Stepan Kasal  <kasal <at> ucw.cz>

I do not see this ChangeLog entry in CVS.  The other changes associated with this
patch do appear.

> 	* lib/autoconf/general.m4 (AC_FOREACH): Make obsolete; it's
> 	  replaced ...

Additional lines for the same bullet should start in the same column as the
bullet, like this:

	* lib/autoconf/general.m4 (AC_FOREACH): Make obsolete; it's
	replaced ...

> 	* lib/m4sugar/m4sugar.m4 (m4_foreach_w): ... by this new macro.
> 	* lib/autoconf/status.m4 (_AC_CONFIG_DEPENDENCIES, _AC_CONFIG_UNIQUE):
> 	  Remove m4_foreach_w.

Perhaps it is more descriptive to say that these macros now accept a single
first argument instead of a whitespace-separated list?

> Index: lib/autoconf/status.m4
> ===================================================================
> RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/status.m4,v
> retrieving revision 1.66
> diff -u -r1.66 status.m4
> --- lib/autoconf/status.m4	30 Jun 2005 18:42:09 -0000	1.66
(Continue reading)

Paul Eggert | 4 Jul 2005 07:25
Favicon

Re: loading config.site when $prefix contains IFS characters

Thanks.  It's odd that it would work differently for you than for me.

I installed into Autoconf the following slightly revamped version of
that patch:

2005-07-03  Alexandre Duret-Lutz  <adl <at> gnu.org>

	* lib/autoconf/general.m4 (AC_SITE_LOAD): Rewrite the
	for loop over config.site files using `set', to allow
	directory names containing IFS characters.

--- lib/autoconf/general.m4	1 Jul 2005 22:20:56 -0000	1.872
+++ lib/autoconf/general.m4	4 Jul 2005 05:19:19 -0000
 <at>  <at>  -1738,14 +1738,17  <at>  <at>  AU_DEFUN([AC_VALIDATE_CACHED_SYSTEM_TUPL
 # Look for site or system specific initialization scripts.
 m4_define([AC_SITE_LOAD],
 [# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
-  if test "x$prefix" != xNONE; then
-    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-  else
-    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-  fi
+if test -n "$CONFIG_SITE"; then
+  set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+  set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+  set x "$ac_default_prefix/share/config.site" \
+	"$ac_default_prefix/etc/config.site"
(Continue reading)

Paul Eggert | 4 Jul 2005 08:47
Favicon

Re: improved Automake test for file names with funny characters

Alexandre Duret-Lutz <adl <at> src.lip6.fr> writes:

> $ac_abs_srcdir, $ac_top_srcdir, and $ac_abs_top_srcdir all
> contain a '&', so the matched pattern gets inserted back into
> the output.  Then sed processes the line again and loop
> infinitely.

Thanks for investigating it.  I installed the following patch into
Autoconf to fix that problem.  This doesn't solve the problem of
arbitrary chars in those strings, but at least '&' doesn't make
'configure' loop now.

2005-07-03  Paul Eggert  <eggert <at> cs.ucla.edu>

	* lib/autoconf/general.m4 (AC_ARG_PROGRAM): Use &, not |, in
	sed substitution command, so that we allow | in program prefixes
	and program suffixes.  (& is a problem anyway; we're not fixing
	that here.)
	* lib/autoconf/status.m4 (AC_CONFIG_FILES): Likewise, for
	configure_input, top_builddir, srcdir, etc.
	* lib/autotest/general.m4 (AT_INIT): Likewise, for
	PATH_SEPARATOR in AUTOTEST_PATH.

Index: lib/autoconf/general.m4
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/general.m4,v
retrieving revision 1.873
diff -p -u -r1.873 general.m4
--- lib/autoconf/general.m4	4 Jul 2005 05:22:35 -0000	1.873
+++ lib/autoconf/general.m4	4 Jul 2005 06:26:00 -0000
(Continue reading)


Gmane