Subject: 24.0.93; Building for MS Windows using MinGW encounters a build problem in ../emacs-24.0.93/src/makefile

From: "Gallagher, Kevin" <[email-masked]>
Date: Mon, 30 Jan 2012 12:35:02 -0600

This bug report will be sent to the Bug-GNU-Emacs mailing list
and the GNU bug tracker at debbugs.gnu.org.  Please check that
the From: line contains a valid email address.  After a delay of up
to one day, you should receive an acknowledgement at that address.

Please write in English if possible, as the Emacs maintainers
usually do not have translators for other languages.

Please describe exactly what actions triggered the bug, and
the precise symptoms of the bug.  If you can, give a recipe
starting from `emacs -Q':

The problem is in the generated ../emacs-24.0.93/src/makefile, which
has the following target and associated rule:

globals.h: gl-stamp
      @cmd /c rem true

In an MinGW/MSYS bash shell, this rule invokes the MS Windows cmd.exe
command interpreter, which issues a prompt and then does not exit, thereby
halting the build.  The output from make looks like this, at this point:

echo timestamp > gl-stamp
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

c:\emacs-24.0.93\src>

Entering "exit" at the prompt causes the Windows cmd.exe to exit
resulting in the make build resuming.  (NOTE: a build of the candidate
release for Emacs 23.4 does not have the problem.)

It appears that the above rule for the target globals.h
is an error.

FYI, I invoked configure.bat like this

cmd /c "configure.bat --cflags -fno-omit-frame-pointer --cflags -IC:/usr/include"

within a MinGW/MSYS bash shell. It reported the following:

Checking for 'cp'...
Checking for 'rm'...
Checking whether 'gcc' is available...
Checking whether gcc requires '-mno-cygwin'...
Checking whether W32 API headers are too old...

c:\emacs-24.0.93\nt>gcc -fno-omit-frame-pointer -IC:/usr/include -c junk.c
Using 'gcc'
Checking for libpng...
...PNG header available, building with PNG support.
Checking for libgnutls...
...gnutls.h not found, building without TLS support.
Checking for jpeg-6b...
...JPEG header available, building with JPEG support.
Checking for libgif...
...GIF header available, building with GIF support.
Checking for tiff...
...TIFF header available, building with TIFF support.
Checking for libXpm...
...XPM header available, building with XPM support.
Generating makefiles
        1 file(s) copied.
config.settings
gmake.defs
..\nt\makefile.w32-in
        1 file(s) copied.
config.settings
gmake.defs
..\admin\unidata\makefile.w32-in
        1 file(s) copied.
config.settings
gmake.defs
..\lib-src\makefile.w32-in
        1 file(s) copied.
config.settings
gmake.defs
..\lib\makefile.w32-in
        1 file(s) copied.
config.settings
gmake.defs
..\src\makefile.w32-in
        1 file(s) copied.
config.settings
gmake.defs
..\doc\emacs\makefile.w32-in
        1 file(s) copied.
config.settings
gmake.defs
..\doc\misc\makefile.w32-in
        1 file(s) copied.
config.settings
gmake.defs
..\doc\lispref\makefile.w32-in
        1 file(s) copied.
config.settings
gmake.defs
..\doc\lispintro\makefile.w32-in
        1 file(s) copied.
config.settings
gmake.defs
..\lisp\makefile.w32-in
        1 file(s) copied.
config.settings
gmake.defs
..\leim\makefile.w32-in
        1 file(s) copied.

Emacs successfully configured.
Run `make' to build, then run `make install' to install.

In ../emacs-24.0.93/src/makefile,

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
c:/emacs-24.0.93/etc/DEBUG.

In GNU Emacs 24.0.93.1 (i386-mingw-nt5.1.2600)
of 2012-01-30 on A5032619
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
`configure --with-gcc (4.6) --cflags -fno-omit-frame-pointer
-IC:/usr/include'

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ENU
  value of $XMODIFIERS: nil
  locale-coding-system: cp1252
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<escape> x r e p o r t SPC e m SPC b SPC <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr message format-spec rfc822 mml easymenu
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mailabbrev mail-utils gmm-utils mailheader
emacsbug time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel
dos-w32 disp-table ls-lisp w32-win w32-vars tool-bar dnd fontset image
fringe lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese hebrew greek romanian slovak czech european ethiopic
indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
abbrev minibuffer loaddefs button faces cus-face files text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process multi-tty emacs)