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'
signature.asc
Description: This is a digitally signed message part.