Re: What is the build strategy between make and meson?

From: Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: What is the build strategy between make and meson?
Date: 2025-10-09 05:57:20
Message-ID: CC1F4FBA-8FD6-46AF-8FA6-306EFD5FD63B@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Tom,

Thanks for your guidance.

Yes, with “—with-ldap”, I got the same warnings with make.

> On Oct 9, 2025, at 12:20, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>
> I wrote:
>> Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> writes:
>>> The other problem I encountered is that, when unicode map files are regenerated, “make” won’t auto rebuild corresponding .o and lib files, but ninja does. That means “Makefile” has something to fix. But given ninja works, should “Makefile” still be fixed?
>
>> Probably.
>
> BTW, did you use --enable-depend with configure? If that fixes
> the problem then there is no bug. This is another philosophical
> difference: autoconf lets you say whether to spend the overhead
> to track build dependencies, meson/ninja does it always. It might
> be that --enable-depend isn't enough to capture this dependency,
> in which case that's a bug worth fixing.
>

For the issue I encountered, I just tried “—enable-depend”, the option doesn’t resolve the issue:

```
chaol(at)ChaodeMacBook-Air mb % touch Unicode/euc_cn_to_utf8.map
chaol(at)ChaodeMacBook-Air mb % make
/Library/Developer/CommandLineTools/usr/bin/make -C ../../../../src/backend generated-headers
/Library/Developer/CommandLineTools/usr/bin/make -C ../include/catalog generated-headers
make[2]: Nothing to be done for `generated-headers'.
/Library/Developer/CommandLineTools/usr/bin/make -C nodes generated-header-symlinks
make[2]: Nothing to be done for `generated-header-symlinks'.
/Library/Developer/CommandLineTools/usr/bin/make -C utils generated-header-symlinks
/Library/Developer/CommandLineTools/usr/bin/make -C adt jsonpath_gram.h
make[3]: `jsonpath_gram.h' is up to date.
```

As you can see, I touched a map file and nothing got rebuilt. But with meson, if I touch the same map file, the corresponding lib will be rebuilt. I am trying to fix this issue with https://commitfest.postgresql.org/patch/5953/.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message torikoshia 2025-10-09 05:59:30 Re: speedup COPY TO for partitioned table.
Previous Message Dilip Kumar 2025-10-09 05:57:17 Re: Logical Replication of sequences