Re: pgsql: Build all Flex files standalone - Mailing list pgsql-committers

From Andres Freund
Subject Re: pgsql: Build all Flex files standalone
Date
Msg-id 20220904210812.icxugcz2syyts3ef@awork3.anarazel.de
Whole thread Raw
In response to Re: pgsql: Build all Flex files standalone  (John Naylor <john.naylor@enterprisedb.com>)
List pgsql-committers
Hi,

On 2022-09-04 13:19:56 +0700, John Naylor wrote:
> Crake fails with
> 
> headerscheck:
> Sep 04 01:56:01 In file included from /tmp/headerscheck.UNgmKy/test.c:2:
> Sep 04 01:56:01
> /home/andrew/bf/root/HEAD/pgsql.build/../pgsql/src/backend/utils/adt/jsonpath_internal.h:26:10:
> fatal error: jsonpath_gram.h: No such file or directory
> Sep 04 01:56:01    26 | #include "jsonpath_gram.h"
> Sep 04 01:56:01       |          ^~~~~~~~~~~~~~~~~
> Sep 04 01:56:01 compilation terminated.
> Sep 04 01:56:14 make: *** [GNUmakefile:138: headerscheck] Error 1
> cpluspluscheck:
> Sep 04 01:57:19 In file included from /tmp/cpluspluscheck.HhRV5k/test.cpp:3:
> Sep 04 01:57:19
> /home/andrew/bf/root/HEAD/pgsql.build/../pgsql/src/backend/utils/adt/jsonpath_internal.h:26:10:
> fatal error: jsonpath_gram.h: No such file or directory
> Sep 04 01:57:19    26 | #include "jsonpath_gram.h"
> Sep 04 01:57:19       |          ^~~~~~~~~~~~~~~~~
> 
> I don't get the same in an already-built tree. I also don't see an
> exception for gramparse.h, which I imagine would have the same issue?

It doesn't happen for gramparse.h because gram.h is copied to
src/include/parser (see src/backend/Makefile), and included as parser/gram.h.

I think this could be addressed by always adding something like
        -iquote $builddir/$(dirname "$f") -iquote $srcdir/$(dirname "$f") \
to cpluspluscheck/headerscheck.

Greetings,

Andres Freund



pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: Re: pgsql: Build all Flex files standalone
Next
From: Tomas Vondra
Date:
Subject: pgsql: Reinstate tests accidentally removed by e3fcca0d0d