[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#804190: please support cross compiler builds without relying on binutils-multiarch



Control: reassign -1 src:gcc-8
Control: tags -1 + patch

Hi Matthias,

I've updated the patch now. It has become fairly trivial.

We added support for "X-DH-Build-For-Type: target" a while ago. That
flag alone makes dh_strip choose the right tooling.

So whenever debhelper is recent enough, we can just skip the
binutils-multiarch dependency.

On Fri, Nov 13, 2015 at 12:20:14AM +0100, Matthias Klose wrote:
>  - please update the patch to apply to the current VCS

Please tell me where to find the current VCS. I've attached a patch
against the version in unstable anyhow.

>  - the patch is incomplete.  It still calls the binutils tools
>    for the host unprefixed.

This is solved by X-DH-Build-For-Type.

>  - maybe make it clear which tools are used (target_strip, host_strip
>    instead of cross_strip).

No cross_strip is needed at all anymore as X-DH-Build-For-Type has taken
care of this.

> I think that the rather simplistic view of dh_strip should be addressed in
> this context too, always using the non-prefixed binutils tools.  In GCC you
> don't have binary packages anymore with both host and target objects within
> the same binary package, however this is not guaranteed for other binary
> packages. So you need to find a way to strip host and target objects in the
> same binary package.

I didn't encounter a single binary package that ships both host and
target objects. Whenever they do, we can simply split the packages.
debhelper and dh_strip now support selecting host vs. target per binary
package and we're actively using that support since gcc-7.

Helmut
--- a/debian/rules.conf
+++ b/debian/rules.conf
@@ -221,7 +221,7 @@
   endif
 endif
 ifeq ($(DEB_CROSS),yes)
-  BINUTILS_BUILD_DEP = binutils$(TS)$(NT) (>= $(BINUTILSBDV)), binutils-multiarch$(NT) (>= $(BINUTILSBDV))
+  BINUTILS_BUILD_DEP = binutils$(TS)$(NT) (>= $(BINUTILSBDV)), debhelper (>= 10.10.6~) | binutils-multiarch$(NT) (>= $(BINUTILSBDV))
   BINUTILSV := $(shell dpkg -l binutils$(TS) \
 			| awk '/^ii/{print $$3;exit}' | sed 's/-.*//')
 else

Reply to: