aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2012-11-23 10:47:34 +0200
committerEli Zaretskii2012-11-23 10:47:34 +0200
commita879f0eaae49460a29c840e3e35acdb84aa9aa7e (patch)
treedf2221d70468dc78e247b9b11e960b19b3b44f1a
parent930a6273b85ca1bd9a1406f50f52845637fc10ea (diff)
downloademacs-a879f0eaae49460a29c840e3e35acdb84aa9aa7e.tar.gz
emacs-a879f0eaae49460a29c840e3e35acdb84aa9aa7e.zip
Fix bug #12955 with building under MSYS Bash.
src/makefile.w32-in (globals.h, gl-stamp): Use $(SWITCHCHAR) instead of a literal "/". (gl-stamp): Invoke fc.exe directly, not through cmd.
-rw-r--r--nt/ChangeLog7
-rw-r--r--nt/gmake.defs8
-rw-r--r--nt/nmake.defs1
-rw-r--r--src/ChangeLog6
-rw-r--r--src/makefile.w32-in4
5 files changed, 24 insertions, 2 deletions
diff --git a/nt/ChangeLog b/nt/ChangeLog
index 6737f952a43..ae6cb231614 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,10 @@
12012-11-23 Eli Zaretskii <eliz@gnu.org>
2
3 * gmake.defs (SWITCHCHAR): Define to // under MSYS, / otherwise.
4 (Bug#12955)
5
6 * nmake.defs (SWITCHCHAR): Define to /.
7
12012-11-23 Paul Eggert <eggert@cs.ucla.edu> 82012-11-23 Paul Eggert <eggert@cs.ucla.edu>
2 9
3 Assume POSIX 1003.1-1988 or later for dirent.h (Bug#12958). 10 Assume POSIX 1003.1-1988 or later for dirent.h (Bug#12958).
diff --git a/nt/gmake.defs b/nt/gmake.defs
index 358c262db28..3d545fab975 100644
--- a/nt/gmake.defs
+++ b/nt/gmake.defs
@@ -69,10 +69,18 @@ sh_output := $(shell echo)
69ifeq "$(findstring ECHO, $(sh_output))" "ECHO" 69ifeq "$(findstring ECHO, $(sh_output))" "ECHO"
70THE_SHELL = $(COMSPEC)$(ComSpec) 70THE_SHELL = $(COMSPEC)$(ComSpec)
71SHELLTYPE=CMD 71SHELLTYPE=CMD
72SWITCHCHAR=/
72else 73else
73USING_SH = 1 74USING_SH = 1
74THE_SHELL = $(SHELL) 75THE_SHELL = $(SHELL)
75SHELLTYPE=SH 76SHELLTYPE=SH
77# MSYS needs to double the slash in cmd-style switches to avoid
78# interpreting /x as a Posix style file name reference
79ifneq ($(MSYSTEM),)
80SWITCHCHAR=//
81else
82SWITCHCHAR=/
83endif
76endif 84endif
77 85
78MAKETYPE=gmake 86MAKETYPE=gmake
diff --git a/nt/nmake.defs b/nt/nmake.defs
index 16a787ea30a..2c6bc66b673 100644
--- a/nt/nmake.defs
+++ b/nt/nmake.defs
@@ -22,6 +22,7 @@ all:
22 22
23THE_SHELL = $(COMSPEC) 23THE_SHELL = $(COMSPEC)
24SHELLTYPE=CMD 24SHELLTYPE=CMD
25SWITCHCHAR=/
25 26
26MAKETYPE=nmake 27MAKETYPE=nmake
27 28
diff --git a/src/ChangeLog b/src/ChangeLog
index 5566b623cec..45df517eff5 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12012-11-23 Eli Zaretskii <eliz@gnu.org>
2
3 * makefile.w32-in (globals.h, gl-stamp): Use $(SWITCHCHAR) instead
4 of a literal "/". (Bug#12955)
5 (gl-stamp): Invoke fc.exe directly, not through cmd.
6
12012-11-23 Paul Eggert <eggert@cs.ucla.edu> 72012-11-23 Paul Eggert <eggert@cs.ucla.edu>
2 8
3 Assume POSIX 1003.1-1988 or later for dirent.h (Bug#12958). 9 Assume POSIX 1003.1-1988 or later for dirent.h (Bug#12958).
diff --git a/src/makefile.w32-in b/src/makefile.w32-in
index 5d0c6e72146..a296f6eb393 100644
--- a/src/makefile.w32-in
+++ b/src/makefile.w32-in
@@ -229,12 +229,12 @@ SOME_MACHINE_OBJECTS = dosfns.o msdos.o \
229obj = $(GLOBAL_SOURCES:.c=.o) 229obj = $(GLOBAL_SOURCES:.c=.o)
230 230
231globals.h: gl-stamp 231globals.h: gl-stamp
232 @cmd /c rem true 232 @cmd $(SWITCHCHAR)c rem true
233 233
234gl-stamp: ../lib-src/$(BLD)/make-docfile.exe $(GLOBAL_SOURCES) 234gl-stamp: ../lib-src/$(BLD)/make-docfile.exe $(GLOBAL_SOURCES)
235 - $(DEL) gl-tmp 235 - $(DEL) gl-tmp
236 "$(THISDIR)/../lib-src/$(BLD)/make-docfile" -d . -g $(SOME_MACHINE_OBJECTS) $(obj) > gl-tmp 236 "$(THISDIR)/../lib-src/$(BLD)/make-docfile" -d . -g $(SOME_MACHINE_OBJECTS) $(obj) > gl-tmp
237 cmd /c "fc /b gl-tmp globals.h >nul 2>&1 || $(CP) gl-tmp globals.h" 237 fc.exe $(SWITCHCHAR)b gl-tmp globals.h >nul 2>&1 || $(CP) gl-tmp globals.h
238 - $(DEL) gl-tmp 238 - $(DEL) gl-tmp
239 echo timestamp > $@ 239 echo timestamp > $@
240 240