* builds/win32/detect.mk: Corrected logic that detects
Windows NT to use the previous change even when win32 is forced. Corrected detection of win32 on Win9X.
This commit is contained in:
parent
360c271c17
commit
b58191ccf2
|
@ -19,34 +19,47 @@
|
||||||
ifeq ($(PLATFORM),ansi)
|
ifeq ($(PLATFORM),ansi)
|
||||||
|
|
||||||
# Detecting Windows NT is easy, as the OS variable must be defined and
|
# Detecting Windows NT is easy, as the OS variable must be defined and
|
||||||
# contains `Windows_NT'. This also works with W2K, XP, and Windows 98.
|
# contains `Windows_NT'. This also works with Windows 2000, XP.
|
||||||
#
|
#
|
||||||
ifeq ($(OS),Windows_NT)
|
ifeq ($(OS),Windows_NT)
|
||||||
|
|
||||||
is_windows := 1
|
PLATFORM := win32
|
||||||
|
|
||||||
# We have to use the shell for copying files to preserve the case of
|
|
||||||
# file names. Without this, we get a `CONFIG.MK' file which isn't
|
|
||||||
# found later on by `make'.
|
|
||||||
COPY := cmd.exe /c copy
|
|
||||||
|
|
||||||
else
|
else
|
||||||
# We test for the COMSPEC environment variable, then run the `ver'
|
|
||||||
# command-line program to see if its output contains the word `Windows'.
|
|
||||||
#
|
|
||||||
# If this is true, we are running a win32 platform (or an emulation).
|
|
||||||
#
|
|
||||||
ifdef COMSPEC
|
|
||||||
is_windows := $(findstring Windows,$(strip $(shell ver)))
|
|
||||||
COPY := copy
|
|
||||||
endif
|
|
||||||
endif # test NT
|
|
||||||
|
|
||||||
ifdef is_windows
|
# Detecting Windows 9X
|
||||||
|
|
||||||
|
# We used to run the `ver' command to see if its output contains the
|
||||||
|
# word `Windows'. If this is true, we are running Windows 95 or later.
|
||||||
|
|
||||||
|
###ifdef COMSPEC
|
||||||
|
### First, check if we have the COMSPEC environment variable, which
|
||||||
|
### indicates we can use COMMAND.COM's internal commands
|
||||||
|
### is_windows := $(findstring Windows,$(strip $(shell ver)))
|
||||||
|
###endif
|
||||||
|
|
||||||
|
# Unfortunately, this also detects the case when one is running
|
||||||
|
# DOS 7.x (MS-DOS version that lies below Windows) without actually
|
||||||
|
# launching the GUI.
|
||||||
|
|
||||||
|
# A better test is to check is there are both %winbootdir% and %windir%
|
||||||
|
# environment variables. The first indicates underlying DOS 7.x, and
|
||||||
|
# the second is set only when Win32 is available.
|
||||||
|
|
||||||
|
# Note that on Windows NT, such environment variable will not be seen
|
||||||
|
# from DOS-based tools like DJGPP make; this is not actually a problem
|
||||||
|
# since NT is detected independantly above. But do not try to be clever!
|
||||||
|
|
||||||
|
ifdef winbootdir
|
||||||
|
ifdef windir
|
||||||
|
|
||||||
PLATFORM := win32
|
PLATFORM := win32
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif # test NT
|
||||||
|
|
||||||
endif # test PLATFORM ansi
|
endif # test PLATFORM ansi
|
||||||
|
|
||||||
ifeq ($(PLATFORM),win32)
|
ifeq ($(PLATFORM),win32)
|
||||||
|
@ -54,6 +67,24 @@ ifeq ($(PLATFORM),win32)
|
||||||
DELETE := del
|
DELETE := del
|
||||||
SEP := $(BACKSLASH)
|
SEP := $(BACKSLASH)
|
||||||
|
|
||||||
|
# Setting COPY is a bit trickier. Plain COPY on NT will not work
|
||||||
|
# correctly, because it will uppercase 8.3 filenames, so we will get
|
||||||
|
# a `CONFIG.MK' file which isn't found later on by `make'.
|
||||||
|
# And we do not want that. So we need to force execution of CMD.EXE.
|
||||||
|
# Unfortunately this latter is not available on Windows 9X...
|
||||||
|
# So we need to hack.
|
||||||
|
|
||||||
|
# Kudos to Eli Zaretskii (DJGPP guru) that helped debug it.
|
||||||
|
# Details available in threads in freetype mailing list (2004-11-11)
|
||||||
|
# and then devel mailing list (2004-11-20 to -23).
|
||||||
|
|
||||||
|
ifeq ($(OS),Windows_NT)
|
||||||
|
COPY := cmd.exe /c copy
|
||||||
|
else
|
||||||
|
COPY := copy
|
||||||
|
endif # test NT
|
||||||
|
|
||||||
|
|
||||||
# gcc Makefile by default
|
# gcc Makefile by default
|
||||||
CONFIG_FILE := w32-gcc.mk
|
CONFIG_FILE := w32-gcc.mk
|
||||||
ifeq ($(firstword $(CC)),cc)
|
ifeq ($(firstword $(CC)),cc)
|
||||||
|
|
Loading…
Reference in New Issue