* 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 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 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: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 external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.