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

Re: Always run configure with option --host



Hello Helmut,

Thank you very much for your helpful information. It will help me a lot. Now, I am more clear about this problem.

>   * When I have to patch a package and cannot use dh_auto_configure, I
>     tend to use Style 1, because it is shorter and removing differences
>     between native and cross compilation makes sense to me.
Yes, I feel the same way.

Thanks & Best regards,
Trung

On 06/20/2017 10:42 PM, Helmut Grohne wrote:
On Wed, Jun 07, 2017 at 11:44:39AM +0700, Do Thanh Trung wrote:
I am trying to fix cross-build problem with build arch compiler by adding
option "--host" to debian/rules. However I found there are 2 styles for
doing this in Debian packages and I don't know which way is better:

- Style 1: Always call "--host":
./configure --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)

- Style 2: Only call "--host" if cross-build. For example, from package
"acl":
ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
   LOCAL_CONFIGURE_OPTIONS += --build $(DEB_HOST_GNU_TYPE)
else
   LOCAL_CONFIGURE_OPTIONS += --build $(DEB_BUILD_GNU_TYPE) --host
$(DEB_HOST_GNU_TYPE)
endif

I think the first way makes code shorter and easier. I wonder if there are
any strong reasons to follow the second way than the first way. Which way
you prefer when fix this kind of problem.

Judging from the (absence of) replies, there does not seem to be a
strong preference here. So let me just summarize established practise:

  * The vast majority of cross-buildable autoconf packages is configured
    using dh_auto_configure. That one passes --host only for cross
    compilation. So the majority of packages (implicitly) use Style 2.

  * When I have to patch a package and cannot use dh_auto_configure, I
    tend to use Style 1, because it is shorter and removing differences
    between native and cross compilation makes sense to me.

  * I vaguely remember that Style 1 could break ancient ./configure.
    Maybe someone else has details.

  * For CMake, dh_auto_configure only passes cross tools during cross
    compilation. (Equivalent to Style 2)

  * For the makefile buildsystem, dh_auto_build only passes CC and CXX
    for cross compilation. (Equivalent to Style 2)

Hope this helps

Helmut



--
This mail was scanned by BitDefender
For more information please visit http://www.bitdefender.com


Reply to: