X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/380874900ca183ec2fdce91949d841328852d7a8..5d752593a519896d2c849e5917b23fcbdc753b15:/nt/gmake.defs diff --git a/nt/gmake.defs b/nt/gmake.defs index 56799f783e..7b2aba4151 100644 --- a/nt/gmake.defs +++ b/nt/gmake.defs @@ -1,21 +1,21 @@ # -*- Makefile -*- definition file for building GNU Emacs on Windows NT. -# Copyright (C) 2000, 2001, 2002, 2003, 2004, -# 2005, 2006 Free Software Foundation, Inc. -# -# GNU Emacs is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Emacs; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, +# 2008, 2009, 2010 Free Software Foundation, Inc. + +# This file is part of GNU Emacs. + +# GNU Emacs is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# GNU Emacs is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with GNU Emacs. If not, see . # Ensure 'all' is the default target all: @@ -99,6 +99,16 @@ sh_output := $(shell echo foo") ifeq "$(sh_output)" "" NEW_CYGWIN = 1 endif + +# By default, newer versions of Cygwin mess with NTFS ACLs in an +# attempt to emulate traditional posix file permissions. This can +# cause bad effects, such as .exe files that are missing the +# FILE_EXECUTE/FILE_GENERIC_EXECUTE permissions when they are created +# with Cygwin commands that don't expect to be creating executable +# files. Then when we later use a non-Cygwin program to create the +# real .exe, the previous Cygwin defined ACL sticks. +CYGWIN=nontsec +export CYGWIN endif ALL_DEPS = $^ @@ -170,25 +180,36 @@ A = a BASE_LIBS = $(libc) $(baselibs) ADVAPI32 = -ladvapi32 +COMCTL32 = -lcomctl32 COMDLG32 = -lcomdlg32 GDI32 = -lgdi32 MPR = -lmpr SHELL32 = -lshell32 USER32 = -luser32 WSOCK32 = -lwsock32 -WINMM = -lwinmm +WINMM = -lwinmm WINSPOOL = -lwinspool +OLE32 = -lole32 +UNISCRIBE = -lusp10 +UUID = -luuid ifdef NOOPT DEBUG_CFLAGS = -DEMACSDEBUG else DEBUG_CFLAGS = endif -CFLAGS = -I. -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0400 $(ARCH_CFLAGS) -D$(ARCH) \ - -D_CRTAPI1=_cdecl \ - $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS) +CFLAGS = -I. $(ARCH_CFLAGS) $(DEBUG_CFLAGS) $(PROFILE_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS) EMACS_EXTRA_C_FLAGS = -DUSE_CRT_DLL=1 +ifdef PROFILE +PROFILE_CFLAGS = -pg +PROFILE_LDFLAGS = -pg +else +PROFILE_CFLAGS = +PROFILE_LDFLAGS = +endif + + # see comments in allocate_heap in w32heap.c before changing any of the # -stack, -heap, or -image-base settings. TEMACS_EXTRA_LINK = -Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x01000000 $(SUBSYSTEM_CONSOLE) -Wl,-entry,__start -Wl,-Map,$(BLD)/temacs.map @@ -200,8 +221,9 @@ OBJDIR = oo-spd endif $(OBJDIR):; -mkdir "$(OBJDIR)" BLD = $(OBJDIR)/$(ARCH) -$(BLD): $(OBJDIR) +stamp_BLD: $(OBJDIR) -mkdir "$(BLD)" + echo $(BLD) > $@ COMPILER_TEMP_FILES = @@ -242,8 +264,8 @@ ifdef NODEBUG DEBUG_FLAG = DEBUG_LINK = else -DEBUG_FLAG = -gstabs+ -g3 -DEBUG_LINK = -gstabs+ -g3 +DEBUG_FLAG = $(DEBUG_INFO) +DEBUG_LINK = $(DEBUG_INFO) endif ifdef NOCYGWIN @@ -252,9 +274,9 @@ endif ifeq "$(ARCH)" "i386" ifdef NOOPT -ARCH_CFLAGS = -D_X86_=1 -c $(DEBUG_FLAG) $(NOCYGWIN) +ARCH_CFLAGS = -c $(DEBUG_FLAG) $(NOCYGWIN) else -ARCH_CFLAGS = -D_X86_=1 -c $(DEBUG_FLAG) $(NOCYGWIN) $(MCPU_FLAG) -O2 \ +ARCH_CFLAGS = -c $(DEBUG_FLAG) $(NOCYGWIN) $(MCPU_FLAG) -O2 \ # -fbuiltin \ # -finline-functions \ # -fomit-frame-pointer @@ -264,7 +286,9 @@ else ERROR Unknown architecture type "$(ARCH)". endif -LINK_FLAGS = $(ARCH_LDFLAGS) $(DEBUG_LINK) $(NOCYGWIN) $(USER_LDFLAGS) +LINK_FLAGS = $(ARCH_LDFLAGS) $(DEBUG_LINK) $(PROFILE_LDFLAGS) $(NOCYGWIN) $(USER_LDFLAGS) + +export XMFLAGS .DEFAULT: