On Thu, 2012-02-23 at 13:42 +0000, Neil Williams wrote: > On Thu, 23 Feb 2012 14:16:42 +0100 > Svante Signell <[email protected]> wrote: > > > On Thu, 2012-02-23 at 13:03 +0000, Neil Williams wrote: > > > You don't need cross-build tools for that. Your doing a native build, > > > so just use the normal Debian packaging tools (dpkg-buildpackage) and > > > build for hurd-i386. > > > > I'm doing that natively for most packages already. Some packages are > > problematic though, so maybe a cross-build can be of use. > > How? When a package will not build natively, it won't cross build > either. You need to identify a subset of the package.
Aren't there differences? > > > > b) And to enable support for gnat in GNU/Hurd, either as a deb or > > > > binaries created by the cross-build environment and copied to the target > > > > for native .deb builds there. > > > > > > Forget about linux-i386/hurd-i386 cross-building and just change the > > > package in such a way that it can build a minimal .deb which provides > > > enough functionality without the complicating dependencies, such that > > > you can then build the next stage. Cross-building is not the answer > > > here and even if you are convinced it is, Emdebian cannot provide the > > > toolchains to do it. > > > > I think cross-building is the _only_ answer here since gnat needs gnat, > > see my previous mail. > > No, we've been here before in Emdebian. When foo needs foo, foo needs > to be modified to build mini-foo which doesn't need extra stuff, and > provides just enough functionality to allow mini-foo to be installed > (natively) and then support the building of another foo before you maybe > go on and build the full foo. Any ideas wrt gnat? Otherwise I'll try the cross-build effort. Looks like I need to do both a cross-build and porting gnat to Hurd at the same time (some progress already). > perl does this, compilers do this. The issue with cross-building is > that you cannot run the binaries compiled as cross binaries on the > system which is doing the build. So the best solution here is to build > natively, building only a small subset of the functionality. When using a VM, like kvm it's no problem, Just build in a Linux environment, copy the target files to Hurd in kvm, and test. > Identifying the subset is the hard part. I agree with you that it probably is. > Even if you do a cross-build, you're still going to need to build this > mini-foo subset natively in order to execute it during the cross-build > of the rest of the package. OK, that's the way forward if cross-build method does not work? > This is where CC_FOR_BUILD comes in. Quite a few packages use this kind > of method. I think I understand, but can you give documentation references, or better, examples? -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

