[sr #107986] autoconf should reject or specifically warn about obviously wrong configure.ac files

2020-07-16 Thread David A. Wheeler
Follow-up Comment #6, sr #107986 (project autoconf):

[comment #5 comment #5:]
> Hm, I think this is still a desirable change and could be merged for 2.70. 
David Wheeler, if you're still reading this, do you have a copyright
assignment on file with the FSF for changes to autoconf?  I don't see your
name in the git log or any of the old changelogs.

Thanks so much for the vote of confidence! I'm working right now on the
copyright assignment with my former employer (I just got the revised FSF
paperwork today). My former employer has done this before, so I think this
will be resolved soon. I'm hoping this improvement can be merged into autoconf
2.70.

___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[sr #110267] Testsuite regressions from 2.69 on Solaris 10 (SPARC)

2020-07-16 Thread Zack Weinberg
Follow-up Comment #1, sr #110267 (project autoconf):

I've pushed a partial fix for this.  As of revision 71b5037a, tests 365 367
390 391 392 393 394 395 396 397 398 399 400 should pass.

209 appears to be an intermittent race condition in the parallel testsuite
driver, not Solaris-specific; I will look into it further but it only causes
cosmetic problems (the test fails because it's checking the cosmetics of
testsuite output).

The remaining failures (221 222 260 307) all appear to be problems either with
Sun's compilers or Sun's `make`, and I can't reproduce these on the only
Solaris 10 host I have access to (gcc210.fsffrance.org, aka
gcc-solaris10.baltic-online.de) because neither /opt/SUNWspro/bin/cc nor any
command named `make` is installed.  (The problems do _not_ reproduce with
/opt/solstudio12.2/bin/cc and /opt/solstudio12.2/bin/dmake.)  Would you mind
digging into these a little deeper?  I think the `make`-related failures at
least should be easy (something is setting MAKEFLAGS to a garbage value?)

___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[sr #107986] autoconf should reject or specifically warn about obviously wrong configure.ac files

2020-07-16 Thread Zack Weinberg
Update of sr #107986 (project autoconf):

  Status:   Need Info => Need Copyright Assignment


___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[sr #110266] Revert regression in Yacc support, and add Bison support

2020-07-16 Thread Zack Weinberg
Update of sr #110266 (project autoconf):

Priority:  5 - Normal => 1 - Later  

___

Follow-up Comment #2:

Yeah, I think AC_PROG_BISON would be 2.71 material at this point.  Considering
the course of the other bug, an AC_PROG_FLEX might be a good idea too (but
again, 2.71 material).

___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[sr #109320] _AC_PROG_LEX_YYTEXT_DECL fails to compute LEXLIB correctly using the original AT lex if Xcode's flex is installed

2020-07-16 Thread Paul Eggert
Follow-up Comment #3, sr #109320 (project autoconf):

The patch as installed has problems, due to its AC_MSG_ERROR failing out of
'configure'. Please see sr#110269 which discusses the problems and a further
fix that I installed.

___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[sr #110269] AC_PROG_LEX failing

2020-07-16 Thread Paul Eggert
Update of sr #110269 (project autoconf):

 Open/Closed:Open => Closed 


___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[sr #110269] AC_PROG_LEX failing

2020-07-16 Thread Paul Eggert
Update of sr #110269 (project autoconf):

  Status:None => Done   

___

Follow-up Comment #6:

Thanks for the bug report and detailed analysis. I looked into the commit that
you mentioned, and the problem seems to be that it introduced an AC_MSG_ERROR
which causes 'configure' to fail entirely, whereas what it should do is give
up on 'flex'. In your case you have a cross-build where 'flex' (on your build
platform) is available but the 'flex' library (on your host platform) is not,
and this causes the AC_MSG_ERROR to trigger.

For your particular case I expect it's better for 'configure' to behave as if
'flex' does not exist, so I installed the attached patch into Autoconf master
on Savannah. Please give it a try.

I am boldly marking this bug report as "done" but will change its status back
if the patch doesn't fix things for you.

(file #49491)
___

Additional Item Attachment:

File name: 0001-Fix-AC_PROG_LEX-regression.patch Size:2 KB
   




___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[sr #110271] libSDL2 fails with autoconf 2.70

2020-07-16 Thread Ross Burton
Follow-up Comment #1, sr #110271 (project autoconf):

Discussion on the list:
---
This is a classic M4 quoting bug.  The macro should quote the third
argument to AC_CACHE_CHECK (and really, should quote all the arguments).

The problem is that diversions do not work properly during arugment
collection so AC_REQUIRE (which depends on diversions) and many other
macros will not work properly if it is expanded during argument
collection.

Quote the arguments to AC_CACHE_CHECK and the prerequisite macros will
get expanded in the correct order.
---

I've tested this is the case and this can be closed.

___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




Re: [sr #110271] libSDL2 fails with autoconf 2.70

2020-07-16 Thread Nick Bowler
On 2020-07-16, Ross Burton  wrote:
[...]]
> libSDL2 fails to configure with autoconf 2.70 but works with 2.69:
>
> | checking for size_t... yes
> | checking for M_PI in math.h... ../SDL2-2.0.12/configure: line 13202: CPP:
> command not found
> | checking how to run the C preprocessor... gcc  -E
> | ../SDL2-2.0.12/configure: line 13328: ac_fn_c_try_cpp: command not found
> | ../SDL2-2.0.12/configure: line 13328: ac_fn_c_try_cpp: command not found
> | configure: error: in
> `/home/pokybuild/yocto-worker/qemux86-64/build/build/tmp/work/x86_64-linux/libsdl2-native/2.0.12-r0/build':
> | configure: error: C preprocessor "gcc  -E" fails sanity check
> | See `config.log' for more details
> | WARNING: exit code 1 from a shell command.
>
> The configure.ac is just a very badly named macro:
>
> AC_CHECK_DEFINE(M_PI, math.h)
>
> Which is implemented here:
>
> https://github.com/spurious/SDL-mirror/blob/master/acinclude/ac_check_define.m4
>
> This uses AC_EGREP_CPP but it doesn't appear to explicitly look for a cpp.
> My workaround is to explicltly call AC_PROG_CPP earlier: should AC_EGREP_CPP
> be doing this, or should this requirement be documented?

This is a classic M4 quoting bug.  The macro should quote the third
argument to AC_CACHE_CHECK (and really, should quote all the arguments).

The problem is that diversions do not work properly during arugment
collection so AC_REQUIRE (which depends on diversions) and many other
macros will not work properly if it is expanded during argument
collection.

Quote the arguments to AC_CACHE_CHECK and the prerequisite macros will
get expanded in the correct order.

(also WTF is with that stray AC_DEFINE outside of the macro definition?)

Cheers,
  Nick



[sr #110271] libSDL2 fails with autoconf 2.70

2020-07-16 Thread Ross Burton
URL:
  

 Summary: libSDL2 fails with autoconf 2.70
 Project: Autoconf
Submitted by: rossburton
Submitted on: Thu 16 Jul 2020 03:28:14 PM UTC
Category: None
Priority: 5 - Normal
Severity: 3 - Normal
  Status: None
 Privacy: Public
 Assigned to: None
Originator Email: 
 Open/Closed: Open
 Discussion Lock: Any
Operating System: None

___

Details:

First, apologies if we've already discussed this but I cant find the
discussion.

libSDL2 fails to configure with autoconf 2.70 but works with 2.69:

| checking for size_t... yes
| checking for M_PI in math.h... ../SDL2-2.0.12/configure: line 13202: CPP:
command not found
| checking how to run the C preprocessor... gcc  -E
| ../SDL2-2.0.12/configure: line 13328: ac_fn_c_try_cpp: command not found
| ../SDL2-2.0.12/configure: line 13328: ac_fn_c_try_cpp: command not found
| configure: error: in
`/home/pokybuild/yocto-worker/qemux86-64/build/build/tmp/work/x86_64-linux/libsdl2-native/2.0.12-r0/build':
| configure: error: C preprocessor "gcc  -E" fails sanity check
| See `config.log' for more details
| WARNING: exit code 1 from a shell command.

The configure.ac is just a very badly named macro:

AC_CHECK_DEFINE(M_PI, math.h)

Which is implemented here:

https://github.com/spurious/SDL-mirror/blob/master/acinclude/ac_check_define.m4

This uses AC_EGREP_CPP but it doesn't appear to explicitly look for a cpp.  My
workaround is to explicltly call AC_PROG_CPP earlier: should AC_EGREP_CPP be
doing this, or should this requirement be documented?




___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[sr #110269] AC_PROG_LEX failing

2020-07-16 Thread Ross Burton
Follow-up Comment #5, sr #110269 (project autoconf):

I can confirm that reverting that commit 'fixes' the issue, and all of the
projects that were failing in AC_PROG_LEX are now building fine.

___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[sr #110269] AC_PROG_LEX failing

2020-07-16 Thread Ross Burton
Follow-up Comment #4, sr #110269 (project autoconf):

I can replicate this with a minimal configure.ac:

AC_INIT([argh], [1])
AC_PROG_LEX
AC_OUTPUT([])

Flex and its headers are present.

The config.log files are effectively identical until "checking lex library",
autoconf 2.69 reports none needed but 2.70b reports not found.

Looks like this was introduced by "Fix logic error in _AC_PROG_LEX_YYTEXT_DECL
(#109320)".

___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/