Hi Paul, > Le 15 janv. 2022 à 20:51, Paul Eggert <egg...@cs.ucla.edu> a écrit : > > I can't build Bison from Savannah git. See attached transcript, which ends: > > GEN lib/inttypes.h > make: *** No rule to make target 'textstyle.h', needed by 'all'. Stop. > > The Makefile (also attached) has a rule to build lib/textstyle.h. However, it > says "TEXTSTYLE_H = textstyle.h" and "BUILT_SOURCES = ... $(TEXTSTYLE_H) ..." > and since $(BUILT_SOURCES) is a prerequisite for "all" the build fails. > > I am building on Ubuntu 21.10, except with bleeding edge Autoconf > (2.72a.22-6027-dirty) because Bison requires at least Autoconf 2.71.
I can reproduce this, once I uninstalled libtextstyle. The problem is my call to > # We want ostream_printf and hyperlink support. > gl_LIBTEXTSTYLE_OPTIONAL([0.20.5]) in configure.ac. First, it was too early (right after gl_EARLY) and it generated > TEXTSTYLE_H="${gl_source_base_prefix}textstyle.h" before the definition of gl_source_base_prefix. If I move it after gl_INIT, I get: > $ grep gl_source_base_prefix configure > gl_source_base_prefix='$(top_build_prefix)lib/' > ALLOCA_H="${gl_source_base_prefix}alloca.h" > ERRNO_H="${gl_source_base_prefix}errno.h" > FLOAT_H="${gl_source_base_prefix}float.h" > GETOPT_H="${gl_source_base_prefix}getopt.h" > GETOPT_CDEFS_H="${gl_source_base_prefix}getopt-cdefs.h" > ICONV_H="${gl_source_base_prefix}iconv.h" > ICONV_H="${gl_source_base_prefix}iconv.h" > TEXTSTYLE_H="${gl_source_base_prefix}textstyle.h" > LIMITS_H="${gl_source_base_prefix}limits.h" > STDALIGN_H="${gl_source_base_prefix}stdalign.h" > STDBOOL_H="${gl_source_base_prefix}stdbool.h" > STDDEF_H="${gl_source_base_prefix}stddef.h" > STDINT_H="${gl_source_base_prefix}stdint.h" > LIMITS_H="${gl_source_base_prefix}limits.h" > LIBUNISTRING_UNISTR_H="${gl_source_base_prefix}unistr.h" > LIBUNISTRING_UNITYPES_H="${gl_source_base_prefix}unitypes.h" > LIBUNISTRING_UNIWIDTH_H="${gl_source_base_prefix}uniwidth.h" > gl_source_base_prefix= > TEXTSTYLE_H="${gl_source_base_prefix}textstyle.h" Both assignments to gl_source_base_prefix are baked in gl_INIT. This second assignment is meant for the tests, it is from > gl_COMMON > gl_source_base='tests' > gl_source_base_prefix= This is probably affecting all the modules for which the user is expected to call the macro by hand: the variables will not be set as expected. I don't know what is the preferred fix here. Bruno?