autoconf-patches
[Top][All Lists]
Advanced

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

Re: FYI: Adjust circular dependencies


From: Akim Demaille
Subject: Re: FYI: Adjust circular dependencies
Date: 16 Oct 2000 19:52:37 +0200
User-agent: Gnus/5.0807 (Gnus v5.8.7) XEmacs/21.1 (Channel Islands)

>>>>> "Alexandre" == Alexandre Oliva <address@hidden> writes:

Alexandre> In fact, the whole notion of EXEEXT and OBJEXT is odd when
Alexandre> you take cross-compilation into account.  Is the executable
Alexandre> extension detected by these macros a property of the build,
Alexandre> host or target environment?  Well, we can disregard target
Alexandre> since autoconf isn't concerned with that, so we're left
Alexandre> with build and host.  Sure enough, the extension needed for
Alexandre> executables is a property of the host, but it would seem to
Alexandre> me that relying on `test's aliasing of foo and foo.exe is
Alexandre> actually detecting a property of the build machine.

Personally, while I confess I have no idea how cross-compilation from
POSIX to Windows works for instance, it seems to me that all we are
interested in is build and build only.

The point of configure here is just to guarantee that the Makefile
will do there job.

I suppose that if you have a cross-compilation under Linux using a
win-gcc, this win-gcc will produce .o file, and `foo' executables, not
`foo.exe'.  But anyway, this is irrelevant to *us*.

I don't think Autoconf has a role to play about the host here.  Or if
it has to, then, IMHO, we need another set of macros.

Here our only purpose is to have the build completed.  It is up to the
user, when she move the cross-compiled binary, to adjust the names.

Of course things are definitely easier if the *compiler* uses the
convention of the host when cross-compiling.  But that a service the
compiler has to give us: we can't do that.

So in short, it seems clear to me that we are only concerned with
build.

And precisely former macros AC_CYGWIN etc. compute the nature of the
host.  But that's not what matters for the build.


Alexandre> Matters get even worse when you take into account GNU
Alexandre> tool-chains will generate *.exe files when either host or
Alexandre> target are DOS-based.  That's kind of forced because of the
Alexandre> lack of distinction between the executable extension for
Alexandre> host and for build: build program names end up being
Alexandre> appended `.exe' extensions just because the host platform
Alexandre> needs .exe, and things just get worse from then on.

Alexandre> This is a horrible can of worms.  I'd rather not have this
Alexandre> change in without complete tool-chain builds of Cygwin
Alexandre> native, GNU/Linux native, GNU/Linux-x-Cygwin and some
Alexandre> canadian cross with Cygwin in the middle.

I'm not sure I understand your last sentence :( Do you mean `...change
in without _testing_ complete...' or something?  If so, then maybe
someone could try that?

As far as I'm concerned, I'd really like to get rid of the
AC_RUN_IFELSE.



reply via email to

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