unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Lennart Borgman" <lennart.borgman.073@student.lu.se>
Cc: Guy Gascoigne-Piggford <guy@wyrdrune.com>,
	Kees Zeelenberg <kzlg@users.sourceforge.net>,
	Emacs Devel <emacs-devel@gnu.org>
Subject: Re: NT mingw/msys build problem
Date: Wed, 27 Oct 2004 21:16:43 +0200	[thread overview]
Message-ID: <03fb01c4bc5f$56685690$0200a8c0@sedrcw11488> (raw)
In-Reply-To: 417F7BC0.7060208@gnu.org

----- Original Message ----- 
From: "Jason Rumney" <jasonr@gnu.org>

: >I do not know how make works, but I can't avoid the hang when MSYS sh.exe
is
: >in the path. The hang is caused by $(shell echo) in the make file. This
does
: >not return since it runs "cmd echo" and that starts a new shell without
: >doing "echo". Actually it is bad syntax. The syntax for cmd is
...
: The $(shell COMMAND) macro should provide the correct arguments. That is
: the way cygwin and mingw32 make work, msys seems to be the only broken
: one in this regard.

There is something I do not understand here. Is not "shell" here cmd.exe? If
the parameters should be changed from "cmd echo" to "cmd /c echo" must it
not be made by GNU make? As far as I can see from this debug output from GNU
make it gives the parameter -c instead of /c to cmd.exe:

  C:\emacscvs\emacs\nt>make -d SHELL=cmd.exe
  GNU Make 3.80
  Copyright (C) 2002  Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.
  There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
  PARTICULAR PURPOSE.
  find_and_set_shell path search set default_shell = e:/msys/1.0/bin/sh.exe
  Reading makefiles...
  Reading makefile `makefile'...
  CreateProcess(C:\WINNT\System32\cmd.exe,cmd.exe -c echo,...)

When MSYS sh is not in the path a totally different route seem to be taken
by GNU Make:

  C:\emacscvs\emacs\nt>make -d SHELL=cmd.exe
  GNU Make 3.80
  Copyright (C) 2002  Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.
  There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
  PARTICULAR PURPOSE.
  Reading makefiles...
  Reading makefile `makefile'...
  Creating temporary batch file C:\TEMP\make2692.bat
  CreateProcess(C:\TEMP\make2692.bat,C:\TEMP\make2692.bat,...)
  Cleaning up temporary batch file C:\TEMP\make2692.bat

Does not this look as a bug in GNU make when run on ms windows? I guess some
change must be made when porting to ms windows to GNU make to make it
recognize cmd.exe at all?



: >I do not understand why the test is made. It seems like make has found sh
: >already but it still wonders something about "shell". Why does make do
that?
: >
: >
: Make should know the shell already, but the Emacs makefiles do not. They
: need to do that test to find out.

I am surprised - is there no simple way to check the file name of the shell
executable? Or is that not considered reliable?


- Lennart

  reply	other threads:[~2004-10-27 19:16 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-25  8:28 NT mingw/msys build problem Guy Gascoigne-Piggford
2004-10-25  9:15 ` Jason Rumney
2004-10-25 22:41   ` Guy Gascoigne-Piggford
2004-10-25 23:09     ` Jason Rumney
2004-10-27  9:50       ` Lennart Borgman
2004-10-27 10:21         ` Lennart Borgman
2004-10-27 10:43         ` Jason Rumney
2004-10-27 19:16           ` Lennart Borgman [this message]
2004-10-25 16:00 ` Lennart Borgman
2004-10-26 18:11   ` Guy Gascoigne - Piggford
  -- strict thread matches above, loose matches on Subject: below --
2004-10-26  1:07 Fred Kunz
2004-10-26  1:15 Fred Kunz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='03fb01c4bc5f$56685690$0200a8c0@sedrcw11488' \
    --to=lennart.borgman.073@student.lu.se \
    --cc=emacs-devel@gnu.org \
    --cc=guy@wyrdrune.com \
    --cc=kzlg@users.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).