On Wednesday, July 29, 2020 6:45:25 AM EDT Jussi Pakkanen wrote:
> Currently debcrossgen is optimized for Debian package building and it works 
> quite well with it.
I'm going on a tangent, but I'd like to understand how debcrossgen is used in 
practice. At the moment it appears one needs to explicitly look for it, with 
it not being in $PATH or documented in README.Debian or README.cross.

Is the intent of debcrossgen, as opposed to just installing ready cross files 
in the system path, so that they can be customized if needed?

I haven't yet had any success finding a package using Meson with satisfiable 
cross-build dependencies to try with, but is Debhelper or dpkg supposed to be 
debcrossgen-aware so something like
sbuild --host=armhf fwupd
just works? Or is debcrossgen more for building in custom build environments 
for now?

> I don't have personal experience with that work flow, so I don't know how
> well these two would tie together (most likely quite well, but you can never 
> tell about these things).
debcrossgen looks like it leverages dpkg which would be no good. I've attached 
the x86_64 MinGW cross file I've personally been using, with some probably 
unnecessary entries (project suggestions to try on are welcome!).

It's more of an upstream Meson issue, but one potential problem is that on 
non-amd64, wine64 won't work, and Meson seems to take exe_wrapper as an 
implicit promise that it is a suitable wrapper. A simple workaround for this 
is to suggest people using the cross file to install wine-binfmt, and omit the 
entry altogether. Being able to test the target binaries is relatively 
unimportant anyway.
# Requires Meson 0.55
[constants]
tri = 'x86_64-w64-mingw32'

[binaries]
exe_wrapper = 'wine64'
addr2line =  tri + '-addr2line'
c =          tri + '-gcc'
c++ =        tri + '-c++'
cpp =        tri + '-cpp'
ar =         tri + '-ar'
dlltool =    tri + '-dlltool'
gcov =       tri + '-gcov'
gcov-dump = gcov + '-dump'
gcov-tool = gcov + '-tool'
ld =         tri + '-ld'
nm =         tri + '-nm'
objcopy =    tri + '-objcopy'
ranlib =     tri + '-ranlib'
readelf =    tri + '-readelf'
strip =      tri + '-strip'
pkgconfig =  tri + '-pkg-config'

[properties]
sys_root = '/usr/x86_64-w64-mingw32/'

[host_machine]
system = 'windows'
cpu_family = 'x86'
cpu = 'x86_64'
endian = 'little'

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to