Re: AC_PROG_YACC
Paul Eggert <[email protected]>
| Newsgroups | gmane.comp.lib.gnulib.bugs,gmane.comp.version-control.cvs.bugs,gmane.comp.sysutils.autoconf.bugs |
|---|---|
| Message-ID | <[email protected]> |
"Mark D. Baushke" <[email protected]> writes: > So, letting the user have much control over YACC at all is > going to cause problems due to the requirements for using > bison instead of a generic yacc. The intent is to let the user specify a particular installation of Bison. > Perhaps in this case of a bison-only .y file, the rules to > build getdate.c should use a BISON="${GL_BISON} -y" with ... I'd rather not go down that path. It's not worth the maintenance aggravation. > Nor was I aware that the use of a version of 'make' other > than 'GNU make' was required and yet, that does appear to be > the case being made here. I don't see why non-GNU make is required. I use GNU make and Solaris make myself, and haven't run into a problem. As far as I can tell, the problem lies only in FreeBSD 'make' and related 'make's. >> If fixing CVS time stamps is not enough to fix the problem >> in practice, another possibility is to rename getdate.h to >> get-date.h. > > I believe this suggestion has merit in the general case Yes, it seems the simplest way to work around all the braindamage involved. If there aren't any other comments I'll submit a patch along those lines sometime soon. > FWIW: FreeBSD /usr/bin/make runs its shell actions using > 'sh -e' OK, so that's _another_ way that FreeBSD's "make" doesn't conform to POSIX. I'll submit a patch to the Automake folks to work around that compatibility glitch. However, I'm afraid there are several other examples of that usage in Automake and I'll probably miss some of them. Come to think of it, you mentioned that FreeBSD's 'make' doesn't set YFLAGS=-d while in POSIX mode. Does POSIX mode prevent this "sh -e" incompatibility as well? Is there any real disadvantage to specifying POSIX mode in FreeBSD 'make'? Perhaps we ought to arrange for that instead. That might avoid a lot of glitches like this. Is there some line that we could put at the start of the Makefile, or some option, which tells FreeBSD 'make' "please don't be gratuitiously incompatible with POSIX"? For example, OpenBSD 'make' is compatible by default, unless you specify -j without specifying -B. (Or perhaps your user was using "make -j" without -B? That might explain things.)