[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Gnulib-related problems building Bison from git
From: |
Akim Demaille |
Subject: |
Re: Gnulib-related problems building Bison from git |
Date: |
Sun, 23 Jan 2022 19:08:19 +0100 |
Hi Paul,
> Le 15 janv. 2022 à 20:51, Paul Eggert <eggert@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?