make-w32
[Top][All Lists]
Advanced

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

Re: Problems with $(shell xxx) using uWin


From: Eli Zaretskii
Subject: Re: Problems with $(shell xxx) using uWin
Date: Mon, 05 Jun 2006 23:13:08 +0300

> Date: Mon, 05 Jun 2006 17:46:25 +0200
> From: James Kanze <address@hidden>
> Cc: address@hidden
> 
>  >>  >   http://gnuwin32.sourceforge.net/
> 
>  >> Thanks.  But make doesn't seem to be there.
> 
>  > You already have Make, the one you compiled with MSVC.
> 
> But it doesn't work.  I was hoping for a pre-compiled make which
> did work.

The one that's available from the MinGW site (the other URL I cited)
is the same Make you built yourself, so it's most probable it will
have the same problem with your system setup.

> Actually, I've found more or less where it crashes -- when it
> calls close with a file descriptor of -1, because an earlier
> system request failed.

Please show where in the code this happens, and please describe the
flow of code control that ends up failing like that.  Thanks in
advance.

> But now that I'm into the code, I'd like to understand what is going
> on.

Feel free to ask whatever questions you might have that you cannot
figure out.

>         include $(root)/Site/site.$(strip $(shell uname -n)).mk
> 
>     This is important, it is in site.xxx.mk, for example, where
>     I specify the command for a Posix conformant awk
>     (/usr/xpg/awk under Solaris, awk --posix under Linux, etc.),
>     as well as information concerning the configuration (in the
>     form of three variables: comp, arch and syst, for the
>     compile, system architecture and OS).
> 
> I can drop the first use if necessary; it's really not really
> important.  But I do need something for the second -- if there's
> another way to determine the name of the machine from inside
> make, fine.

You could have a rule that copies the right site.xxx.mk to site.mk,
then include site.mk.  The rule's commands would invoke `uname -n` to
find which file to copy.  This is the same functionality, only without
$shell in Make.

> For the moment, I've simplified the problem, by running in a
> cmd.exe Window, with no UWin in the path, and using a command
> which isn't built-in.  I still get the problem.

Please post this simplified test case.  I'd like to try it on my
machine.

> The current situation is: 1) I will continue to try to figure
> out what isn't working, if for no other reason than I want to
> understand, 2) I will try to rewrite the makefiles to avoid
> $(shell), and 3) I will look into the various other alternatives
> to UWin which have been mentioned.  (But it all takes time I
> would rather spend developing new code.)

Thanks for working on this.




reply via email to

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