[Top][All Lists]

[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.

in configure.ac.  First, it was too early (right after gl_EARLY) and it 

>         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?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]