From: Andres Freund <andres@anarazel.de>
To: Christoph Berg <myon@debian.org>
Cc: pgsql-hackers@lists.postgresql.org
Subject: Re: pgsql: meson: Add initial version of meson based build system
Date: Wed, 17 Apr 2024 16:00:02 -0700
Message-ID: <20240417230002.mb2gv3hyetyn67gk@awork3.anarazel.de> (raw)
In-Reply-To: <Zh_RxBKH86OEsccE@msg.df7cb.de>
References: <E1obF3v-001S9d-UD@gemulon.postgresql.org>
<Zh_RxBKH86OEsccE@msg.df7cb.de>
Hi,
Uh, huh.
On 2024-04-17 15:42:28 +0200, Christoph Berg wrote:
> Re: Andres Freund
> > https://git.postgresql.org/pg/commitdiff/e6927270cd18d535b77cbe79c55c6584351524be
>
> This commit broke VPATH builds when the original source directory
> contains symlinks.
I.e. a symlink to the source directory, not a symlink inside the source
directory.
> Given there are no other changes I think this bit is at fault:
>
> > Modified Files
> > --------------
> > configure.ac | 6 +
>
> +# Ensure that any meson build directories would reconfigure and see that
> +# there's a conflicting in-tree build and can error out.
> +if test "$vpath_build"="no"; then
> + touch meson.build
> +fi
Argh, this is missing spaces around the '=', leading to the branch always
being entered.
What I don't understand is how that possibly could affect the prep_buildtree
step, that happens earlier.
Hm.
Uh, I don't think it does? Afaict this failure is entirely unrelated to 'touch
meson.build'? From what I can tell the problem is that config/prep_buildtree
is invoked with the symlinked path, and that that doesn't seem to work:
bash -x /home/andres/src/postgresql-via-symlink/config/prep_buildtree /home/andres/src/postgresql-via-symlink .
++ basename /home/andres/src/postgresql-via-symlink/config/prep_buildtree
+ me=prep_buildtree
+ help='Usage: prep_buildtree sourcetree [buildtree]'
+ test -z /home/andres/src/postgresql-via-symlink
+ test x/home/andres/src/postgresql-via-symlink = x--help
+ unset CDPATH
++ cd /home/andres/src/postgresql-via-symlink
++ pwd
+ sourcetree=/home/andres/src/postgresql-via-symlink
++ cd .
++ pwd
+ buildtree=/tmp/pgs
++ find /home/andres/src/postgresql-via-symlink -type d '(' '(' -name CVS -prune ')' -o '(' -name .git -prune ')' -o -print ')'
++ grep -v '/home/andres/src/postgresql-via-symlink/doc/src/sgml/\+'
++ find /home/andres/src/postgresql-via-symlink -name Makefile -print -o -name GNUmakefile -print
++ grep -v /home/andres/src/postgresql-via-symlink/doc/src/sgml/images/
+ exit 0
Note that the find does not return anything.
Greetings,
Andres Freund
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-committers@postgresql.org
Cc: andres@anarazel.de, myon@debian.org, pgsql-hackers@lists.postgresql.org
Subject: Re: pgsql: meson: Add initial version of meson based build system
In-Reply-To: <20240417230002.mb2gv3hyetyn67gk@awork3.anarazel.de>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox