Hi Eric,

> > Also, running autoreconf produces funny results:
> > 
> > configure.ac:155: the top level
> > configure.ac:155: warning: gl_TYPE_WINT_T_PREREQ is m4_require'd but not 
> > m4_defun'd
> > m4/gnulib-comp.m4:855: M4_INIT is expanded from...
> > configure.ac:155: the top level
> > configure.ac:155: warning: gl_PTHREADLIB is m4_require'd but not m4_defun'd
> > m4/sched_yield.m4:9: gl_FUNC_SCHED_YIELD is expanded from...
> > m4/gnulib-comp.m4:855: M4_INIT is expanded from...
> > configure.ac:155: the top level
> > configure.ac:155: warning: gl_PTHREADLIB is m4_require'd but not m4_defun'd
> > ...
> 
> Adding bug-gnulib to investigate this.

Fact 1: 'autoreconf' is not generally supported by GNU packages. It may work,
or it may not work.

Fact 2: m4 uses a variant of the 'bootstrap' script that by default puts 
symbolic
links, rather than file copies.

Since the piece of log above shows that autoreconf has passed the option
"-I m4" to autoconf (inferred from the ACLOCAL_AMFLAGS in Makefile.am),
it looks like some *.m4 files in there are not present or are dangling symlinks.

> # M4 is single-threaded; so we can optimize gnulib code by using this:
> gl_DISABLE_THREADS
> AC_DEFINE([GNULIB_REGEX_SINGLE_THREAD], [1], [Define to optimize regex.])
> AC_DEFINE([GNULIB_MBRTOWC_SINGLE_THREAD], [1], [Define to optimize mbrtowc.])
> AC_DEFINE([GNULIB_WCHAR_SINGLE_LOCALE], [1], [Define to optimize mbrtowc.])
> 
> right after AC_PROG_CC and M4_EARLY() (the macro created by
> gnulib-tool).  It could be that I'm using the macros in the wrong
> place, or it could be a genuine issue in the behavior of the gnulib
> macros for short-circuiting decisions for a known-single-threaded app.

I don't think so. More likely the problem is with the set of symlinks
in m4/ and the list of file names in aclocal.m4.

> But out of curiosity - but is
> there a way to make the reproducible hard-code the date of the git
> commit into UPDATED rather than the current date?  It would still be
> nice if the manual could include the release date (something that
> reproducibly gets included, no matter whether I build today or a year
> from now, by scraping something out of git or NEWS)

Yes. I would suggest to adapt the func_version from gnulib/all-modules.
Essentially it extracts the information from "git log". In the case of
gnulib, it looks at the ChangeLog file. For m4, you could make it look
at the doc/m4.texi file instead.

Bruno




Reply via email to