Conversation
Originally by Helmut Grohne from Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1134724
dcbaker
left a comment
There was a problem hiding this comment.
Why would we do this? Valac doesn't generate machine code, it generates C code so there's no reason to put it in the cross file, and possibly there's issues if you have two different versions (host vs build). Pretty sure that cython does the same thing for the same reason
|
I'd be very interested to hear from some of the gnome/vala folks for this one |
|
Also, moving the milestone. This isn't a regression in 1.11, it's a long standing design decision and needs to be changed in a major release |
|
But should this not work when valac is defined in the native file or envvars? If it doesn't then that is the actual bug. |
|
For reference, here is a comment from the Matrix discussion.
|
Vala is designed to generate code based on the gnome ecosystem's typelib / vapi system for describing library ABIs, so the issue isn't that valac needs to compile for the right system, the issue is that it needs to generate correct C code. This may or may not matter for any particular vala dependency, but I won't be at all surprised if there are cases where it produces incorrect C files because it turns out to be writing the outputs according to a typelib ABI that is CPU architecture dependent. Counterbalancing this is the fact that some people treat generated C files as distributable sources, i.e. EXTRA_DIST in automake. I believe that the automake rules for vala even automatically do this for you. It's actually terrifically broken because I have no idea what vala actually intends to support or what guarantees it gives you, when. On the other hand, vala itself is written in vala, and only bootstraps because it ships EXTRA_DIST copies of the generated C files. I guess somehow that works, indicating that at least vala's own code can be built with either a native or cross vala. Perhaps it depends on what dependencies you have.
Cython provides a uniform API and pxd files are manually written rather than being generated by parsing a |
|
|
Originally by Helmut Grohne from Debian:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1134724