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
0.50 regression: Default option c_std not applied when cross-compiling #5097
Comments
What's also weird is that it's trying to use native |
I have the same issue. (with cpp_std). It seems also that meson doesn't append |
Force the use of mesoon 0.49.2
Force the use of mesoon 0.49.2
I can also confirm that it works with 0.49.2. |
Force the use of meson 0.49.2
Force the use of meson 0.49.2
I'm seeing the same thing here. The fist broken commit is 19f81d3. |
CCing @Ericson2314 |
Hmm so this option affected native and cross compilation previously? That is fine, but inconsistent with the other options. I'll take a look. |
I'm not sure what you think should happen but systemd, mesa and libdrm set |
@michaelolbrich for comparison what does (I'm in transit so can't check yet. Not just asking rhetorically :). ) |
As soon as I use |
@michaelolbrich Thanks! That is the new behavior? |
For I'm not sure what And after doing some testing, I must say that it is very confusing that command line options don't have any effect. |
This reverts commit 114e9dc. Indeed, there is major issue with this version because c_std is not passed anymore when cross-compiling: mesonbuild/meson#5097 As a result, some meson packages (at least systemd, libmpdclient, glib-networking) fail to build Fixes: - http://autobuild.buildroot.org/results/9eae2181fb3fcfe12481e5496b7d87c0dcd109eb - http://autobuild.buildroot.org/results/e828c7925d9247e14d8a8694febfee8ce6c86e81 - http://autobuild.buildroot.org/results/031aee7cf12ad882727eb2da5e953fd8813b52e2 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Yes it is confusing. So the regession was due to me trying to match the status quo in a pure refactor, but not realizing |
Force the use of meson 0.49.2
Could somebody assign this to me too? |
I debugged why this happens. In Maybe once we get |
@jpakkane So right now all compiler options are per-machine, since compilers target a single machine (as far as meson knows). The solution I think is when reading in the file to make a temporary hack to duplicate this one.
I have done GCC native, Clang cross builds where the clang might support a newer standard. |
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
(cherry picked from commit 27ae70d)
When providing
default_options: ['c_std=c99']
to theproject
, it is not being applied onmeson build --cross-file <cross-file>
invocation on a simple test project using flexible array members:ninja -v
However, after doing any kind of (even unrelated) configuration such as
meson configure -Db_asneeded=true
, the configuration is being fixed and applies as expected:ninja -v
Note: I haven't tested whether this also applies to other default options.
main.c
meson.build
cross-file
The text was updated successfully, but these errors were encountered: