<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Fri, Dec 14, 2018 at 11:25 AM Andre Heider <<a href="mailto:a.heider@gmail.com">a.heider@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 14/12/2018 17:53, Dylan Baker wrote:<br>
> Quoting Gert Wollny (2018-12-14 03:44:32)<br>
>> Am Montag, den 10.12.2018, 15:10 -0800 schrieb Dylan Baker:<br>
>> (2) It would be nice if Meson would distribute some default cross build<br>
>> files, currently everybody has to roll its own, and I guess in the end<br>
>> they all look mostly the same.<br>
> <br>
> Please ask your distro to write and distribute the cross files. It's simply<br>
> impossible for meson to distribute them for a huge number of reasons, but<br>
> basically it boils down to too many distros with too many differences. I have<br>
> done basically everything I can (personally) to make this easier, including<br>
> adding support for loading cross files from XDG paths (/usr/share/meson/cross,<br>
> etc)<br>
> <br>
>><br>
>> (3) I also noted that with across build one has to set the library<br>
>> install directory manually, because it defaults to the directory used<br>
>> for the build machine - i.e. a i386 cross build on debian amd64 should<br>
>> set the lib install directory on Debian to "lib/i386-linux-gnu" but it<br>
>> sets it to "lib/x86_64-linux-gnu"<br>
> <br>
> There is this issue: <a href="https://github.com/mesonbuild/meson/issues/4008" rel="noreferrer" target="_blank">https://github.com/mesonbuild/meson/issues/4008</a><br>
> <br>
> This is another case that is really hard to handle because of the way different<br>
> distros have handled installing x86 and x86_64 binaries on the same OS. To name<br>
> a few:<br>
> debian : lib/$gnu-tri/<br>
> arch   : lib/ + lib32/<br>
> fedora : lib64/ + lib32/<br>
> <br>
> I'm sure there are more, but getting that right all of the time is actually<br>
> pretty hard. I'll look into it.<br>
<br>
It's not just the libdir, there's no real way for a project to provide <br>
all the required cross settings so it works everywhere. Like the <br>
pkg-config binary name for e.g. cross-compiling 32bit binaries. I didn't <br>
find anything user friendly, so I worked around that on another project <br>
[0]. And I'm sure there's more.<br>
<br>
While all that is doable, it is annoying. Isn't there any way for meson <br>
to provide a standard set of cross files for distros? If it's the <br>
distro's responsibility to provide these without any guidelines it's <br>
just going to be another mess, because either a distro doesn't at all or <br>
they all do it differently.<br></blockquote><div><br></div><div>I think it's very easy to mistake the way autotools handles things for somehow being easier.  For quite some time now, Fedora has carried a patched version of autools which has a special case to automatically redirects you to lib64 if --prefix=/usr.  It's horrible because it means that autotools behaves differently with every other possible prefix unless you manually set libdir.  If they're going to carry patches against autotools, they can carry a meson cross file.  Autotools is only "easier" because distros have beat on it with a hammer until it mostly works.<br></div><div><br></div><div>--Jason<br></div></div></div>