mesonbuild / meson

The Meson Build System
http://mesonbuild.com
Apache License 2.0
5.56k stars 1.61k forks source link

VS and Xcode backends ignore link_depends #1799

Open jon-turney opened 7 years ago

jon-turney commented 7 years ago

VS backend doesn't generate a dependency on the targets in link_depends.

See #1798 for a test

(This problem is not detected by the tests added in #1172 as they are only run on linuxlike platforms)

nirbheek commented 7 years ago

This is because link_depends: has always been used for static files. You must change this in order to implement #1792.

jon-turney commented 7 years ago

I should have referenced the PR #1651 rather than bug #1172.

This is because link_depends: has always been used for static files. You must change this in order to implement #1792.

So no, currently meson claims that link_depends can take a custom_target, and that doesn't work correctly with a VS backend.

Sorry, but I will not be contributing fixes to the VS backend.

nirbheek commented 7 years ago

Ordinarily, we require that changes must work across both the Ninja and VS backends, but in this case it's a preexisting bug, and it's better to fix it on just the Ninja backend than not at all.

jon-turney commented 7 years ago

I don't actually see any sign that link_depends is used inthe xcode backend, either. I'm not sure if that's tested in CI, currently.

drsog commented 6 years ago

LabelAs: macos

TheQwertiest commented 5 years ago

IMO, the meson reference documentation should be amended to indicate that link_depends currently works only with ninja back-end, since this bug is really old and there is no indication that it will be fixed any time soon.

TheQwertiest commented 5 years ago

PS: I don't know how and why my comment unassigned nioncode :\

nirbheek commented 5 years ago

IMO, the meson reference documentation should be amended to indicate that link_depends currently works only with ninja back-end,

This is a terrible idea. Then no one will come around to fix it. Documenting a bug as expected behaviour is the easiest way to make sure that it will never get fixed.

TheQwertiest commented 5 years ago

This is a terrible idea.

Hm... Then what about adding smth like the implementation is currently buggy on VS and XCode backends (link to issue #1799)? This will allow meson users to at least see the issue and to stop wasting time trying to understand why it doesn't work (and then maybe even contribute to fixing it?)

nirbheek commented 5 years ago

How about we just fix it? ;)

TheQwertiest commented 5 years ago

That would be the ideal solution, but this is a two year old bug, so forgive me for being doubtful... :\ (not that I'm blaming anybody, there are priorities and all that)

jon-turney commented 5 years ago

Perhaps we should just document the reality that these backends are unmaintained and liable to be removed if someone doesn't step up...

nioncode commented 5 years ago

I don't know about the XCode backend, but I implemented many things for the VS backends just a few weeks ago (and did some major improvements months-years ago where it was really not in a good shape).

All test cases pass for the VS backend, so please create a PR with a failing test case and ping me there and I will try to fix it soonish. (Please be aware that I can't put 20 hours a week into meson)

jon-turney commented 5 years ago

All test cases pass for the VS backend, so please create a PR with a failing test case and ping me there and I will try to fix it soonish

The relevant test case is common/149 link depends custom target, which is disabled for the VS backend due to this issue. See #1798

jon-turney commented 3 years ago

Thanks.

This may still be an issue with the xcode backend?

eli-schwartz commented 3 years ago

Partially-Fixes: #1799

GitHub saw that as "fixes #1799" and closed the ticket. Nice.

eli-schwartz commented 3 years ago

Is there a CI test currently raising MESON_SKIP_TEST on xcode for this? That might be the best way to check the applicability...

dcbaker commented 3 years ago

Unfortunately we still don't have xcode in CI i think

jpakkane commented 3 years ago

That's mostly because whenever I work on Xcode I get it like 90% passing and then get a brain aneurysm from the sheer terribleness of it all.