Re: [PATCH] meson: port python bindings to build natively via meson and meson-python

Eli Schwartz <[email protected]>
Newsgroups org.kernel.vger.devicetree-compiler
Message-ID <[email protected]>
On 4/25/25 3:56 AM, David Gibson wrote:
> Sorry, I haven't replied to this for ages.  I've had a lot of stuff
> going on, both at work and otherwise.


No problem. I myself had low availability because your message came in
at the tail end of my holidays. :)


> On Wed, Mar 19, 2025 at 02:30:17AM -0400, Eli Schwartz wrote:
>> On 3/19/25 1:55 AM, David Gibson wrote:
>>
>>>> diff --git a/MANIFEST.in b/MANIFEST.in
>>>> deleted file mode 100644
>>>> index 904d124..0000000
>>>> --- a/MANIFEST.in
>>>> +++ /dev/null
>>>> @@ -1,12 +0,0 @@
>>>> -# SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
>>>> -
>>>> -global-exclude *
>>>> -include README.md
>>>> -include GPL
>>>> -include BSD-2-Clause
>>>> -include setup.py
>>>> -include pylibfdt/libfdt.i
>>>> -include libfdt/libfdt.h
>>>> -include libfdt/fdt.h
>>>> -include libfdt/libfdt_env.h
>>>> -include VERSION.txt
>>>
>>> We can't just delete the MANIFEST.in and setup.py, for now, because
>>> they're still needed for the Makefile build.  I'm certainly
>>> considering dropping support for make, but we're not there yet.
>>
>> If, as discussed in the previous emails, we drop support for *building
>> python from Make* but don't drop Make for C, is that acceptable?
> 
> I'm conflicted.  I don't really like the idea of making make work for
> only some things, without just removing it completely, or at least
> having a concrete plan to do so.  On the other hand, I'd really like
> to get rid of the confusing setuptools gunk.
> 
> How about this: could you author a patch deprecating make, which
> prints a message saying so if you build with make (anything, not just
> the Python pieces).  It should say that meson is preferred and give
> example meson commands to use instead.
> 
> If we start with that, then I'd be ok making the Python build meson
> only, followed by the changes you're suggesting here.


I can do this, yes. In order to avoid the situation where a phony target
is used as a dependency of all targets, leading to one or the other of:

- it is never "up to date", so every target depending on it is
  continually rebuilt
- add "stamp files" which clutter up the source tree to record that a
  warning was issued


I can use GNU Make's $(warning), which emits output as a side effect of
executing the Makefile. Not perfectly ideal as it prints on every build,
not just the first one, but...


-- 
Eli Schwartz
OpenPGP_signature.asc (application/pgp-signature, 236 B)
-----BEGIN PGP SIGNATURE-----

wnsEABYIACMWIQTnFNnmK0TPZHnXm3qEp9ErcA0vVwUCaBAsngUDAAAAAAAKCRCEp9ErcA0vV1EU
AQC/+ED04yjnbFRqOjvN7pbICmH9HrTEZ6tAAIqoIB2UFQD+IjfIbOMEpZBUQhIb2mj0ba0/p0ls
5e7F7Kf453DuqQU=
=wCQl
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.