From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Steven Wu" Newsgroups: gmane.emacs.devel Subject: CVS Emacs cygwin build problem. Date: Thu, 18 May 2006 23:47:37 -0700 Message-ID: <6CA82FF4-2828-4412-B3E5-7D1234FD2A7D@qwest.net> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 (Apple Message framework v750) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1148021284 6316 80.91.229.2 (19 May 2006 06:48:04 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 19 May 2006 06:48:04 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri May 19 08:48:02 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FgymC-0006OW-7i for ged-emacs-devel@m.gmane.org; Fri, 19 May 2006 08:47:56 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FgymB-0000ds-JJ for ged-emacs-devel@m.gmane.org; Fri, 19 May 2006 02:47:55 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Fgylz-0000dn-7T for emacs-devel@gnu.org; Fri, 19 May 2006 02:47:43 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Fgyly-0000db-Gz for emacs-devel@gnu.org; Fri, 19 May 2006 02:47:42 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Fgyly-0000dY-Cz for emacs-devel@gnu.org; Fri, 19 May 2006 02:47:42 -0400 Original-Received: from [63.231.195.112] (helo=mpls-qmqp-01.inet.qwest.net) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FgypE-0004dT-C0 for emacs-devel@gnu.org; Fri, 19 May 2006 02:51:04 -0400 Original-Received: from mpls-pop-11.inet.qwest.net (mpls-pop-11.inet.qwest.net [63.231.195.11]) by mpls-qmqp-01.inet.qwest.net (Postfix) with QMQP id 409D01A9A32 for ; Fri, 19 May 2006 06:47:40 +0000 (UTC) Original-Received: from 70-56-185-203.phnx.qwest.net (HELO ?10.0.0.5?) (70.56.185.203) by mpls-pop-11.inet.qwest.net with SMTP; 19 May 2006 06:47:40 -0000 Original-To: emacs-devel@gnu.org X-Mailer: Apple Mail (2.750) 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: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:54767 Archived-At: If building CVS Emacs on cygwin platform, a problem may occur, and the message looks like: === make[1]: Entering directory `/cygdrive/c/dev/emacs-src/emacs/lisp' /cygdrive/c/dev/emacs-src/emacs/lisp/../update-subdirs /cygdrive/c/ dev/emacs-src/emacs/lisp; \ for file in calc calendar emacs-lisp emulation eshell gnus international language mail mh-e net obsolete play progmodes term textmodes toolbar url; do \ /cygdrive/c/dev/emacs-src/emacs/lisp/../update-subdirs $file; \ done; Directories: calc calendar emacs-lisp emulation eshell gnus international language mail mh-e net obsolete play progmodes term textmodes toolbar url "./../bin/emacs.exe" -batch --no-init-file --no-site-file --multibyte -l autoload \ --eval '(setq find-file-hook nil \ find-file-suppress-same-file-warnings t \ generated-autoload-file \ "/cygdrive/c/dev/emacs-src/emacs/lisp/loaddefs.el")' \ -f batch-update-autoloads /cygdrive/c/dev/emacs-src/emacs/lisp calc calendar emacs-lisp emulation eshell gnus in ternational language mail mh-e net obsolete play progmodes term textmodes toolbar url Cannot open load file: encoded-kb Signal 127 make[1]: *** [autoloads] Error 255 make[1]: Leaving directory `/cygdrive/c/dev/emacs-src/emacs/lisp' === This only happens to cygwin, but not MinGW or Visual Studio build. The problem is that the default make mode for make 3.80, which comes with the std cygwin distribution, is Unix mode. Hence, the paths of directories and files known to make are in Unix form. During the compilation of c code, there is no problem because cygwin gcc understand cygwin path. However when bootstrapping the elisp files, things are different. In the emacs/lisp/makefile.w32-in, line 30 lisp = $(CURDIR) here lisp is set to the current directory. For nmake, or minGW make, this $(CURDIR) is window path. For cygwin, this is cygwin unix-like path. Because Emacs isn't compiled with cygwin libraries, Emacs doesn't understand cygwin path, and hence it cannot load the encoded-kb. The fix for this is to change lisp=$(shell cygpath -m $(CURDIR)). Condition like the cygwin test can be added to guard this. Similar changes is also needed for leim directory. steve