-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Die, layout=flat, die #9243
Die, layout=flat, die #9243
Conversation
Until we invoke interpreter.Interpreter(b, ...) the coredata options still have their default values and thus cannot be used sensibly. Currently the warning never shows (other than, unsurprising in retrospect, during --internal regenerate).
Codecov Report
@@ Coverage Diff @@
## master #9243 +/- ##
==========================================
- Coverage 66.85% 66.85% -0.01%
==========================================
Files 386 386
Lines 84990 84994 +4
Branches 17535 17537 +2
==========================================
+ Hits 56824 56826 +2
- Misses 23374 23376 +2
Partials 4792 4792
Continue to review full report at Codecov.
|
bbb3481
to
9196fc9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me. I agree, unless someone wants to step up and get this working and in CI, removing it seems like the right decision to me.
It's broken in various circumstances, no one seems to actually use it, CI doesn't test it, no one is committed to maintaining it, etc. etc. etc. Also, projects doing trivially reasonable things, such as generating "foo/util.py" and "bar/util.py", create clashing output names. This will never, ever, ever, ever work with layout=flat. Closes mesonbuild#996 Closes mesonbuild#1521 Closes mesonbuild#1908 Closes mesonbuild#7133 Closes mesonbuild#7135 Closes mesonbuild#7480 Closes mesonbuild#8378
9196fc9
to
3cddb0e
Compare
@eli-schwartz Seems worth adding a release snippet. |
Use the / operator instead of join_paths Use the / operator instead of using "/" in string paths Use the includedir opt instead of hardcoding "include" in install_subdir Remove discouraged layout=flat option (mesonbuild/meson#9243) Remove unneeded Wextra, Wpedantic flags, already added by warning_level Remove manual -Oz flag when using Clang (mesonbuild/meson#9286) Make use of : in kwargs consistent
I only recently started using meson and thought this would be nice to have. However, since this is a pain to maintain and has been deprecated, let's remove it from https://mesonbuild.com/Builtin-options.html so new users don't accidentally stumble upon it. Alternatively, is there a way to specify that a target should be built in the toplevel domain to mimic |
One thing some people do is use |
Pardon my inexperience, but how do you do that? I have a gpu_files=['file1', 'file2'] within the |
gpu_files = files('file1', 'file2') You can now use the Unlike strings, a files object has an associated source directory that it is considered relative to. Using files() is not necessary when passing literal arguments into a function that accepts "strings referring to files" or "files", but it's very handy when passing variables around. |
Ahh ok; thanks!
|
The option for layout=flat is horribly broken beyond repair in various circumstances which no one really keeps track of, no one seems to actually use it in practice for any good reason, CI doesn't test it, no one is committed to maintaining it, etc. etc. etc.
How is it broken? Well:
I propose that layout=flat is a failed experiment. It only ever existed in the first place, because... Windows. Windows is technically broken. It relies on PATH to find dlls which executables depend on, so programs don't run while uninstalled if subdirs are in play. Enter
layout=flat
just stick everything all in one directory, surely nothing can possibly go wrong... except it does.There is a much better way to handle this, and recent versions of meson include it:
meson devenv
will let you enter an environment where your PATH is set up properly and you can run uninstalled programs. Let's deprecate and remove layout=flat in favor ofdevenv
. Everyone will thank us.Closes #996
Closes #1521
Closes #1908
Closes #7133
Closes #7135
Closes #7480
Closes #8378
(and probably more, who knows)