* WINDRES
@ 2013-04-01 9:37 Eli Zaretskii
2013-04-01 10:00 ` WINDRES Daniel Colascione
2013-04-01 10:30 ` WINDRES Andreas Schwab
0 siblings, 2 replies; 9+ messages in thread
From: Eli Zaretskii @ 2013-04-01 9:37 UTC (permalink / raw)
To: Daniel Colascione; +Cc: emacs-devel
The windres tool is looked up by the configure.ac using
AC_CHECK_TOOL. Shouldn't that be AC_CHECK_TARGET_TOOL instead, to
better support cross-compilation?
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: WINDRES
2013-04-01 9:37 WINDRES Eli Zaretskii
@ 2013-04-01 10:00 ` Daniel Colascione
2013-04-01 10:36 ` WINDRES Eli Zaretskii
2013-04-01 10:30 ` WINDRES Andreas Schwab
1 sibling, 1 reply; 9+ messages in thread
From: Daniel Colascione @ 2013-04-01 10:00 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 426 bytes --]
On 4/1/13 10:37 AM, Eli Zaretskii wrote:
> The windres tool is looked up by the configure.ac using
> AC_CHECK_TOOL. Shouldn't that be AC_CHECK_TARGET_TOOL instead, to
> better support cross-compilation?
>
That would be a fine change, but I haven't tested cross-compilation
of the cygw32 build at all, I'm not sure whether it works at all. Is
there any particular reason you're wondering about windres right now?
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 235 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: WINDRES
2013-04-01 9:37 WINDRES Eli Zaretskii
2013-04-01 10:00 ` WINDRES Daniel Colascione
@ 2013-04-01 10:30 ` Andreas Schwab
2013-04-01 11:53 ` WINDRES Eli Zaretskii
1 sibling, 1 reply; 9+ messages in thread
From: Andreas Schwab @ 2013-04-01 10:30 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Daniel Colascione, emacs-devel
Eli Zaretskii <eliz@gnu.org> writes:
> The windres tool is looked up by the configure.ac using
> AC_CHECK_TOOL. Shouldn't that be AC_CHECK_TARGET_TOOL instead,
No, emacs is not a (cross-)compiler. There is no target, only a build
and a host.
> to better support cross-compilation?
Why do you think AC_CHECK_TOOL doesn't support cross-compilation?
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: WINDRES
2013-04-01 10:00 ` WINDRES Daniel Colascione
@ 2013-04-01 10:36 ` Eli Zaretskii
0 siblings, 0 replies; 9+ messages in thread
From: Eli Zaretskii @ 2013-04-01 10:36 UTC (permalink / raw)
To: Daniel Colascione; +Cc: emacs-devel
> Date: Mon, 01 Apr 2013 11:00:05 +0100
> From: Daniel Colascione <dancol@dancol.org>
> CC: emacs-devel@gnu.org
>
> On 4/1/13 10:37 AM, Eli Zaretskii wrote:
> > The windres tool is looked up by the configure.ac using
> > AC_CHECK_TOOL. Shouldn't that be AC_CHECK_TARGET_TOOL instead, to
> > better support cross-compilation?
>
> That would be a fine change, but I haven't tested cross-compilation
> of the cygw32 build at all, I'm not sure whether it works at all.
Even if cross-compilation currently doesn't work (and I'm not sure
either way), I think there's no harm removing one obstacle on its way.
> Is there any particular reason you're wondering about windres right
> now?
I'm modifying the Emacs Posix configury to be able to produce the
MinGW build. As a side effect, I'm reading the docs of every autoconf
macro that I didn't use before (which is quite a lot ;-), to make sure
I understand what I'm doing. In this case, I was surprised to see
AC_CHECK_TOOL instead of AC_CHECK_PROG, so I looked it up.
I will wait for autoconf experts here to chime in, before making the
change to use AC_CHECK_TARGET_TOOL on the trunk.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: WINDRES
2013-04-01 10:30 ` WINDRES Andreas Schwab
@ 2013-04-01 11:53 ` Eli Zaretskii
2013-04-01 12:54 ` WINDRES Andreas Schwab
0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2013-04-01 11:53 UTC (permalink / raw)
To: Andreas Schwab; +Cc: dancol, emacs-devel
> From: Andreas Schwab <schwab@linux-m68k.org>
> Cc: Daniel Colascione <dancol@dancol.org>, emacs-devel@gnu.org
> Date: Mon, 01 Apr 2013 12:30:33 +0200
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > The windres tool is looked up by the configure.ac using
> > AC_CHECK_TOOL. Shouldn't that be AC_CHECK_TARGET_TOOL instead,
>
> No, emacs is not a (cross-)compiler. There is no target, only a build
> and a host.
Then maybe I don't understand what is "host" in this context. See
below.
> > to better support cross-compilation?
>
> Why do you think AC_CHECK_TOOL doesn't support cross-compilation?
I'm probably just confused.
The issue is how to find 'windres', which is a Binutils substitute for
the Windows resource compiler. Its output is a pe-i386 object file,
which then gets linked into the Emacs binary that is being produced
for running on MS-Windows. Autoconf.info says:
-- Macro: AC_CHECK_TARGET_TOOL (VARIABLE, PROG-TO-CHECK-FOR,
[VALUE-IF-NOT-FOUND], [PATH = `$PATH'])
Like `AC_CHECK_PROG', but first looks for PROG-TO-CHECK-FOR with a
prefix of the target type as determined by `AC_CANONICAL_TARGET',
followed by a dash (*note Canonicalizing::). If the tool cannot
be found with a prefix, and if the build and target types are
equal, then it is also searched for without a prefix.
As noted in *note Specifying Target Triplets::, the target is
rarely specified, because most of the time it is the same as the
host: it is the type of system for which any compiler tool in the
package produces code. What this macro looks for is, for example,
_a tool (assembler, linker, etc.) that the compiler driver (`gcc'
for the GNU C Compiler) uses to produce objects, archives or
executables_.
So, if an Emacs that targets Windows was being built on, say,
GNU/Linux, wouldn't it mean we wanted the configure script to find
'i686-pc-mingw32-windres' rather than 'windres'? IOW, isn't 'windres'
a kind of compiler or assembler? And if so, what is 'i686-pc-mingw32'
here: "target" or "host"?
TIA
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: WINDRES
2013-04-01 11:53 ` WINDRES Eli Zaretskii
@ 2013-04-01 12:54 ` Andreas Schwab
2013-04-01 13:36 ` WINDRES Eli Zaretskii
0 siblings, 1 reply; 9+ messages in thread
From: Andreas Schwab @ 2013-04-01 12:54 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dancol, emacs-devel
Eli Zaretskii <eliz@gnu.org> writes:
> wouldn't it mean we wanted the configure script to find
> 'i686-pc-mingw32-windres' rather than 'windres'?
Which it does.
> And if so, what is 'i686-pc-mingw32' here: "target" or "host"?
There is no target. You build on build and run on host.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: WINDRES
2013-04-01 12:54 ` WINDRES Andreas Schwab
@ 2013-04-01 13:36 ` Eli Zaretskii
2013-04-01 15:18 ` WINDRES Dmitry Antipov
0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2013-04-01 13:36 UTC (permalink / raw)
To: Andreas Schwab; +Cc: dancol, emacs-devel
> From: Andreas Schwab <schwab@linux-m68k.org>
> Cc: dancol@dancol.org, emacs-devel@gnu.org
> Date: Mon, 01 Apr 2013 14:54:15 +0200
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > wouldn't it mean we wanted the configure script to find
> > 'i686-pc-mingw32-windres' rather than 'windres'?
>
> Which it does.
>
> > And if so, what is 'i686-pc-mingw32' here: "target" or "host"?
>
> There is no target. You build on build and run on host.
Thanks, in that case AC_CHECK_TOOL is exactly right.
So "target" is for when I build on build, and run on host to produce
code for target?
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: WINDRES
2013-04-01 13:36 ` WINDRES Eli Zaretskii
@ 2013-04-01 15:18 ` Dmitry Antipov
2013-04-01 16:23 ` WINDRES Eli Zaretskii
0 siblings, 1 reply; 9+ messages in thread
From: Dmitry Antipov @ 2013-04-01 15:18 UTC (permalink / raw)
To: emacs-devel
On 04/01/2013 05:36 PM, Eli Zaretskii wrote:
> So "target" is for when I build on build, and run on host to produce
> code for target?
IIUC "target" is meaningful for compilers only; "host" is the system
where the binary is intended to run, and "build" is the system where
the binary is compiled. Cross-compilation always assumes that at least
host != build; all of the host/build/target are different only if
you're cross-compiling the cross-compiler ("canadian cross").
Dmitry
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: WINDRES
2013-04-01 15:18 ` WINDRES Dmitry Antipov
@ 2013-04-01 16:23 ` Eli Zaretskii
0 siblings, 0 replies; 9+ messages in thread
From: Eli Zaretskii @ 2013-04-01 16:23 UTC (permalink / raw)
To: Dmitry Antipov; +Cc: emacs-devel
> Date: Mon, 01 Apr 2013 19:18:46 +0400
> From: Dmitry Antipov <dmantipov@yandex.ru>
>
> On 04/01/2013 05:36 PM, Eli Zaretskii wrote:
>
> > So "target" is for when I build on build, and run on host to produce
> > code for target?
>
> IIUC "target" is meaningful for compilers only; "host" is the system
> where the binary is intended to run, and "build" is the system where
> the binary is compiled. Cross-compilation always assumes that at least
> host != build; all of the host/build/target are different only if
> you're cross-compiling the cross-compiler ("canadian cross").
Thanks.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2013-04-01 16:23 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-01 9:37 WINDRES Eli Zaretskii
2013-04-01 10:00 ` WINDRES Daniel Colascione
2013-04-01 10:36 ` WINDRES Eli Zaretskii
2013-04-01 10:30 ` WINDRES Andreas Schwab
2013-04-01 11:53 ` WINDRES Eli Zaretskii
2013-04-01 12:54 ` WINDRES Andreas Schwab
2013-04-01 13:36 ` WINDRES Eli Zaretskii
2013-04-01 15:18 ` WINDRES Dmitry Antipov
2013-04-01 16:23 ` WINDRES Eli Zaretskii
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).