From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Lennart Borgman" Newsgroups: gmane.emacs.devel Subject: Re: NT mingw/msys build problem Date: Wed, 27 Oct 2004 21:16:43 +0200 Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Message-ID: <03fb01c4bc5f$56685690$0200a8c0@sedrcw11488> References: <417CB924.8080107@wyrdrune.com> <417CC43A.40804@gnu.org> <417D8125.2020005@wyrdrune.com> <00ab01c4bc0a$b0c87ac0$0200a8c0@sedrcw11488> <417F7BC0.7060208@gnu.org> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1098907127 12620 80.91.229.6 (27 Oct 2004 19:58:47 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 27 Oct 2004 19:58:47 +0000 (UTC) Cc: Guy Gascoigne-Piggford , Kees Zeelenberg , Emacs Devel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 27 21:58:31 2004 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1CMtwF-00038j-00 for ; Wed, 27 Oct 2004 21:58:31 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1CMu40-0000xa-BF for ged-emacs-devel@m.gmane.org; Wed, 27 Oct 2004 16:06:32 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1CMu3s-0000wy-1H for emacs-devel@gnu.org; Wed, 27 Oct 2004 16:06:24 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1CMu3r-0000wW-7F for emacs-devel@gnu.org; Wed, 27 Oct 2004 16:06:23 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1CMu3r-0000wM-2M for emacs-devel@gnu.org; Wed, 27 Oct 2004 16:06:23 -0400 Original-Received: from [81.228.11.115] (helo=av9-1-sn1.fre.skanova.net) by monty-python.gnu.org with esmtp (Exim 4.34) id 1CMtvp-0005eI-8K; Wed, 27 Oct 2004 15:58:05 -0400 Original-Received: by av9-1-sn1.fre.skanova.net (Postfix, from userid 502) id 8F22537E79; Wed, 27 Oct 2004 21:58:04 +0200 (CEST) Original-Received: from smtp3-1-sn1.fre.skanova.net (smtp3-1-sn1.fre.skanova.net [81.228.11.163]) by av9-1-sn1.fre.skanova.net (Postfix) with ESMTP id 81AF037E43; Wed, 27 Oct 2004 21:58:04 +0200 (CEST) Original-Received: from sedrcw11488 (t5o58p87.telia.com [195.67.196.87]) by smtp3-1-sn1.fre.skanova.net (Postfix) with SMTP id B11E337E61; Wed, 27 Oct 2004 21:58:02 +0200 (CEST) Original-To: "Jason Rumney" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1409 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2800.1409 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:29077 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:29077 ----- Original Message ----- From: "Jason Rumney" : >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