bug-automake
[Top][All Lists]
Advanced

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

bug#10324: [Platform-testers] Automake 1.11.1b test release


From: Peter Rosin
Subject: bug#10324: [Platform-testers] Automake 1.11.1b test release
Date: Mon, 09 Jan 2012 16:32:06 +0100
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105 Thunderbird/8.0

Hi Bruno,

Bruno Haible skrev 2012-01-08 20:45:
> Hi Peter,
> 
> You wrote in
> <https://lists.gnu.org/archive/html/bug-automake/2011-12/msg00055.html>:
>> Oh crap, you are crossing over from Cygwin without telling the build
>> system, right? Or what is your $build if you don't specify --host?
>> I should have known that, given that it was you... I expect weird
>> stuff like this to happen when stunts like that are pulled. Even if
>> *you* engage in such activities, please don't expect anyone else to
>> fix the resulting weirdness.
> 
> configure is able to deduce the build system by itself.
> 
> I built that automake prerelease once with
> 
>   ./configure --host=i586-pc-mingw32 --prefix=/usr/local/msvc
> 
> and once with
> 
>   ./configure --host=i586-pc-mingw32 --build=i686-pc-cygwin 
> --prefix=/usr/local/msvc
> 
> and the results (make and "make check") were exactly the same, except for
> 
>   1) the value of @build_alias@ (empty in the first case, i686-pc-cygwin in 
> the
>      second case). That's normal, and that's why autoconf macros and makefiles
>      generally use @build@, not @address@hidden
> 
>   2) a spurious (not reproducible) crash of bash during the execution of
>      parallel-am3.test.
> 
> I'm not performing "stunts" when I'm relying on the correct default value
> of @address@hidden

Those were the differences you noticed, but there are more differences, and
one is the outcome of this test:

        checking whether we are cross compiling... yes/no

it's "no" when only specifying --host=i586-pc-mingw32 on Cygwin and "yes" when
also specifying --build=i686-pc-cygwin.  This difference can result in
weirdness, and I'm not going to waste time figuring out the details.  Your old
("Do not rely on the following", "This is fragile" and "whenever you specify
--host, be sure to specify --build too" [1]) way of invoking configure causes
configure to attempt to determine if you are cross-compiling or not by running
a generated executable.  But that's just a heuristics that happen to fail (with
a "no") in your case, and it's all (potentially) downhill from there.

Have you bothered to read through that section [1] of the Autoconf manual yet?
I pointed you to it once before [2].

Maybe the result of the cross-compile heuristic doesn't make a difference in
the Automake case, and maybe it does.  Maybe some other part of the build
ends up slightly different.  Or not.  Either way, I'm not going to spend time
finding out, and will stick to invoking configure as recommended in the
documentation.

All in all, I definitely think it's a stunt to not specify --build when --host
is specified, especially when the build system is able to execute the code
for the host system as is the case here.

Cheers,
Peter

[1] 
http://www.gnu.org/software/autoconf/manual/autoconf.html#Hosts-and-Cross-Compilation
[2] http://lists.gnu.org/archive/html/automake/2011-09/msg00024.html





reply via email to

[Prev in Thread] Current Thread [Next in Thread]