lmi
[Top][All Lists]
Advanced

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

Re: [lmi] Creating a chroot for cross-building lmi


From: Vadim Zeitlin
Subject: Re: [lmi] Creating a chroot for cross-building lmi
Date: Mon, 18 May 2020 01:03:10 +0200

On Sun, 17 May 2020 20:42:57 +0000 Greg Chicares <address@hidden> wrote:

GC> So far, the only missing program I've found is 'mt', which autoconf
GC> seems always to check for, even though magnetic tapes went out of
GC> fashion a long time ago:

 This is an overload conflict: "mt" here is the manifest tool used under
MSW to operate on the program manifests, which are required for many
things on this platform (lmi gets its own manifest from wx, via
wx/msw/wx.rc file inclusion if you're curious). And this is why configure
also checks that the mt it found is really the manifest tool and not the
tool for controlling the magnetic tape operation (which is, if you're even
more curious, only gets installed because it's part of cpio and I guess
there is just a gentlemen's agreement that all proper Unix systems need
cpio).

GC> ---default
GC> +++minbase
GC>  checking for x86_64-w64-mingw32-mt... no
GC> -checking for mt... mt
GC> -checking if mt is a manifest tool... no
GC> +checking for mt... no
GC> +checking if : is a manifest tool... no
GC>  checking for ANSI C header files... yes
GC> 
GC> [I wonder why "mt" got changed to ":" on the last differing line,
GC> but I'm not curious enough to research that.]

 Autoconf returns ":" (NOP in shell language) if it doesn't find the
command. It looks like an error in libtool (whence this part of configure
originates) that it still runs the second test even if the first one
failed, but I won't waste my time on trying to propose libtool maintainers
a patch for fixing this after the experience with the previous one.

GC> Fascinating. 'time' seems fairly magical, and it never occurred
GC> to me that it could be scoped within an inline-group. Thanks.

 It is magical and to understand how it works you need to realize that for
zsh what the grammar looks somewhat like this:

        list := sublist
              | sublist ; list
              | sublist & list

        sublist := pipeline
                 | pipeline && sublist
                 | pipeline || sublist

        pipeline := command
                  | command | pipeline

and "time" can be prepended before any "pipeline", while "{ list }" is just
a command executing an arbitrary complex "list" as a single command
(similar to "( list )" which executes an arbitrary "list" in a sub-shell).

 Sorry if this was more than your curiosity required, but I thought it
might be helpful,
VZ

Attachment: pgpGfPtQg1mDS.pgp
Description: PGP signature


reply via email to

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