Re: Long-term mass bug filing for crossbuild support
Neil Williams <codehelp@debian.org> writes:
> The most common change is simply to retrieve the cross-building
> metadata from dpkg-architecture in debian/rules:
> http://wiki.debian.org/EmdebianGuide
> DEB_HOST_GNU_TYPE=$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
> DEB_BUILD_GNU_TYPE=$(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
> Depending on whether the package uses ./configure:
> ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
> CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
> else
> CROSS=
> endif
This is a bad suggestion and was apparently made without referring to the
existing Debian instructions for how to handle packages that use Autoconf
and friends. Please see the autotools-dev instructions, which are more
detailed and which correctly recommend:
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
SYSTEM = --build $(DEB_HOST_GNU_TYPE)
else
SYSTEM = --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
endif
# ...
./configure $(SYSTEM)
--
Russ Allbery (rra@debian.org) <http://www.eyrie.org/~eagle/>
Reply to: