diff nt/xemacs.mak @ 1333:1b0339b048ce

[xemacs-hg @ 2003-03-02 09:38:37 by ben] To: xemacs-patches@xemacs.org PROBLEMS: Include nt/PROBLEMS and update. Add note about incremental linking badness. cmdloop.el, custom.el, dumped-lisp.el, files.el, keydefs.el, keymap.el, lisp-mode.el, make-docfile.el, replace.el, simple.el, subr.el, view-less.el, wid-edit.el: Lots of syncing with FSF 21.2. Use if-fboundp in wid-edit.el. New file newcomment.el from FSF. internals/internals.texi: Fix typo. (Build-Time Dependencies): New node. PROBLEMS: Delete. config.inc.samp, xemacs.mak: Eliminate HAVE_VC6, use SUPPORT_EDIT_AND_CONTINUE in its place. No incremental linking unless SUPPORT_EDIT_AND_CONTINUE, since it can cause nasty crashes in pdump. Put warnings about this in config.inc.samp. Report the full compile flags used for src and lib-src in the Installation output. alloc.c, lisp.h, ralloc.c, regex.c: Use ALLOCA() in regex.c to avoid excessive stack allocation. Also fix subtle problem with REL_ALLOC() -- any call to malloc() (direct or indirect) may relocate rel-alloced data, causing buffer text to shift. After any such call, regex must update all its pointers to such data. Add a system, when ERROR_CHECK_MALLOC, whereby regex.c indicates all the places it is prepared to handle malloc()/realloc()/free(), and any calls anywhere in XEmacs outside of this will trigger an abort. alloc.c, dialog-msw.c, eval.c, event-stream.c, general-slots.h, insdel.c, lisp.h, menubar-msw.c, menubar-x.c: Change *run_hook*_trapping_problems to take a warning class, not a string. Factor out code to issue warnings, add flag to call_trapping_problems() to postpone warning issue, and make *run_hook*_trapping_problems issue their own warnings tailored to the hook, postponed in the case of safe_run_hook_trapping_problems() so that the appropriate message can be issued about resetting to nil only when not `quit'. Make record_unwind_protect_restoring_int() non-static. dumper.c: Issue notes about incremental linking problems under Windows. fileio.c: Mule-ize encrypt/decrypt-string code. text.h: Spacing changes.
author ben
date Sun, 02 Mar 2003 09:38:54 +0000
parents 4542b72c005e
children 01c57eb70ae9
line wrap: on
line diff
--- a/nt/xemacs.mak	Sun Mar 02 02:18:12 2003 +0000
+++ b/nt/xemacs.mak	Sun Mar 02 09:38:54 2003 +0000
@@ -161,8 +161,8 @@
 !if !defined(DEBUG_XEMACS)
 DEBUG_XEMACS=0
 !endif
-!if !defined(HAVE_VC6)
-HAVE_VC6=1
+!if !defined(SUPPORT_EDIT_AND_CONTINUE)
+SUPPORT_EDIT_AND_CONTINUE=0
 !endif
 
 !if !defined(ERROR_CHECK_ALL)
@@ -520,13 +520,17 @@
 !if $(DEBUG_XEMACS)
 
 # ---- Debugging support ----
-! if $(HAVE_VC6)
+! if $(SUPPORT_EDIT_AND_CONTINUE)
 # support edit-and-continue
 DEBUG_FLAGS_COMPILE=-ZI
+# WARNING: There is a very good reason for -incremental:no, as it can cause
+# all sorts of weird crashes in or after a pdump load.  We must allow
+# incremental linking for edit-and-continue to work, however.
+DEBUG_FLAGS_LINK=-debug:full
 ! else
 DEBUG_FLAGS_COMPILE=-Zi
+DEBUG_FLAGS_LINK=-debug:full -incremental:no
 ! endif
-DEBUG_FLAGS_LINK=-debug:full
 DEBUG_DEFINES=-DDEBUG_XEMACS -D_DEBUG 
 #BROWSERFLAGS=-Fr -Fd$(OUTDIR)\temacs.pdb
 BROWSERFLAGS=-Fr$*.sbr -Fd$(OUTDIR)\temacs.pdb
@@ -882,14 +886,16 @@
 LINK_DEPENDENCY_ARGS = -Fe$@ -Fd$* $** -link $(DEBUG_FLAGS_LINK)
 LINK_STANDARD_LIBRARY_ARGS = setargv.obj user32.lib wsock32.lib
 
+LIB_SRC_CFLAGS = $(CFLAGS) -I$(LIB_SRC) -I$(SRC) $(LIB_SRC_DEFINES)
+
 # Inferred rule
 {$(LIB_SRC)}.c{$(BLDLIB_SRC)}.exe :
-	$(CCV) -I$(LIB_SRC) -I$(SRC) $(LIB_SRC_DEFINES) $(CFLAGS) $(LINK_DEPENDENCY_ARGS) $(LINK_STANDARD_LIBRARY_ARGS)
+	$(CCV) $(LIB_SRC_CFLAGS) $(LINK_DEPENDENCY_ARGS) $(LINK_STANDARD_LIBRARY_ARGS)
 
 # Individual dependencies
 ETAGS_DEPS = $(LIB_SRC)/getopt.c $(LIB_SRC)/getopt1.c $(SRC)/regex.c
 $(BLDLIB_SRC)/etags.exe : $(LIB_SRC)/etags.c $(ETAGS_DEPS)
-	$(CCV) -I$(LIB_SRC) -I$(SRC) $(LIB_SRC_DEFINES) $(CFLAGS) $(LINK_DEPENDENCY_ARGS) -stack:0x800000 $(LINK_STANDARD_LIBRARY_ARGS)
+	$(CCV) $(LIB_SRC_CFLAGS) $(LINK_DEPENDENCY_ARGS) -stack:0x800000 $(LINK_STANDARD_LIBRARY_ARGS)
 
 $(BLDLIB_SRC)/movemail.exe : $(LIB_SRC)/movemail.c $(LIB_SRC)/pop.c $(ETAGS_DEPS)
 
@@ -1131,7 +1137,8 @@
   Building XEmacs into compiled tree "$(BLDROOT:\=\\)".
 !endif
 !if defined(CCV)
-  Using compiler "$(CC) $(CFLAGS)".
+  For src, using compiler "$(CC) $(TEMACS_CPP_FLAGS)".
+  For lib-src, using compiler "$(CC) $(LIB_SRC_CFLAGS)".
 !endif
 !if $(CPLUSPLUS_COMPILE)
   Compiling as C++.
@@ -1262,8 +1269,8 @@
  oldnames.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib \
  shell32.lib wsock32.lib netapi32.lib winmm.lib winspool.lib ole32.lib \
  mpr.lib uuid.lib imm32.lib $(LIBC_LIB)
-TEMACS_LFLAGS=-nologo $(LIBRARIES) $(DEBUG_FLAGS_LINK) -base:0x1000000\
- -stack:0x800000 $(TEMACS_ENTRYPOINT) -subsystem:windows\
+TEMACS_LFLAGS=-nologo $(LIBRARIES) $(DEBUG_FLAGS_LINK) \
+ -base:0x1000000 -stack:0x800000 $(TEMACS_ENTRYPOINT) -subsystem:windows \
  -pdb:$(BLDSRC)\temacs.pdb -map:$(BLDSRC)\temacs.map \
  -heap:0x00100000 -nodefaultlib $(PROFILE_FLAGS) setargv.obj