Mercurial > hg > xemacs-beta
diff nt/xemacs.mak @ 771:943eaba38521
[xemacs-hg @ 2002-03-13 08:51:24 by ben]
The big ben-mule-21-5 check-in!
Various files were added and deleted. See CHANGES-ben-mule.
There are still some test suite failures. No crashes, though.
Many of the failures have to do with problems in the test suite itself
rather than in the actual code. I'll be addressing these in the next
day or so -- none of the test suite failures are at all critical.
Meanwhile I'll be trying to address the biggest issues -- i.e. build
or run failures, which will almost certainly happen on various platforms.
All comments should be sent to ben@xemacs.org -- use a Cc: if necessary
when sending to mailing lists. There will be pre- and post- tags,
something like
pre-ben-mule-21-5-merge-in, and
post-ben-mule-21-5-merge-in.
author | ben |
---|---|
date | Wed, 13 Mar 2002 08:54:06 +0000 |
parents | 5c696033aec4 |
children | 79940b592197 |
line wrap: on
line diff
--- a/nt/xemacs.mak Fri Mar 08 13:33:14 2002 +0000 +++ b/nt/xemacs.mak Wed Mar 13 08:54:06 2002 +0000 @@ -1,6 +1,6 @@ # Makefile for Microsoft NMAKE # Copyright (C) 1995 Board of Trustees, University of Illinois. -# Copyright (C) 1995, 1996, 2000 Ben Wing. +# Copyright (C) 1995, 1996, 2000, 2001 Ben Wing. # Copyright (C) 1995 Sun Microsystems, Inc. # Copyright (C) 1998 Free Software Foundation, Inc. # @@ -57,8 +57,8 @@ # Define the 'copy' command to use # Suppress confirmation for overwriting files # Use /r (instead of /y), which exists on Windows NT 4 and 5. -COPY=xcopy /q /r -COPYDIR=xcopy /q /r /e +COPY=xcopy /q /y +COPYDIR=xcopy /q /y /e # Program name and version @@ -106,14 +106,14 @@ INSTALL_DIR=c:\Program Files\XEmacs\XEmacs-$(XEMACS_VERSION_STRING) ! endif !endif -!if !defined(HAVE_MULE) -HAVE_MULE=0 +!if !defined(MULE) +MULE=0 !endif !if !defined(PACKAGE_PATH) ! if !defined(PACKAGE_PREFIX) PACKAGE_PREFIX=c:\Program Files\XEmacs ! endif -! if $(HAVE_MULE) +! if $(MULE) PACKAGE_PATH=~\.xemacs;;$(PACKAGE_PREFIX)\site-packages;$(PACKAGE_PREFIX)\mule-packages;$(PACKAGE_PREFIX)\xemacs-packages ! else PACKAGE_PATH=~\.xemacs;;$(PACKAGE_PREFIX)\site-packages;$(PACKAGE_PREFIX)\xemacs-packages @@ -325,13 +325,9 @@ !if !defined(DEPEND) DEPEND=0 !endif -!if $(DEPEND) +!if $(DEPEND) && exist("$(SRC)\depend") ! if [if not exist $(OUTDIR)\nul mkdir "$(OUTDIR)"] ! endif -# generate an nmake-readable version of depend -# #### here, it doesn't seem to matter if we double ^'s! -# results are the same with all single ^ and all double ^^! -# see comment below. # #### Yuuuuuuuuuuck!!! Cygwin is too smart for its own good. If we are # being run from within Cygwin, a Cygwin Perl seems to require twice as # much backslash quoting. This does not happen, of course, with a non- @@ -401,7 +397,6 @@ MSW_LIBS= !if $(HAVE_MSW_C_DIRED) MSW_DEFINES=$(MSW_DEFINES) -DHAVE_MSW_C_DIRED -MSW_C_DIRED_SRC=$(SRC)\dired-msw.c MSW_C_DIRED_OBJ=$(OUTDIR)\dired-msw.obj !endif !if $(HAVE_XPM) @@ -411,7 +406,6 @@ !endif !if $(HAVE_GIF) MSW_DEFINES=$(MSW_DEFINES) -DHAVE_GIF -MSW_GIF_SRC=$(SRC)\dgif_lib.c $(SRC)\gif_io.c MSW_GIF_OBJ=$(OUTDIR)\dgif_lib.obj $(OUTDIR)\gif_io.obj !endif !if $(HAVE_PNG) @@ -434,9 +428,13 @@ MSW_INCLUDES=$(MSW_INCLUDES) -I"$(COMPFACE_DIR)" MSW_LIBS=$(MSW_LIBS) "$(COMPFACE_DIR)\libcompface.lib" !endif +!if $(HAVE_ZLIB) +MSW_DEFINES=$(MSW_DEFINES) -DHAVE_ZLIB +MSW_INCLUDES=$(MSW_INCLUDES) -I"$(ZLIB_DIR)" +MSW_LIBS=$(MSW_LIBS) "$(ZLIB_DIR)\zlib.lib" +!endif !if $(HAVE_TOOLBARS) MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TOOLBARS -MSW_TOOLBAR_SRC=$(SRC)\toolbar.c $(SRC)\toolbar-msw.c MSW_TOOLBAR_OBJ=$(OUTDIR)\toolbar.obj $(OUTDIR)\toolbar-msw.obj !endif !if $(HAVE_WIDGETS) @@ -447,7 +445,6 @@ !endif !if $(HAVE_DIALOGS) MSW_DEFINES=$(MSW_DEFINES) -DHAVE_DIALOGS -MSW_DIALOG_SRC=$(SRC)\dialog.c $(SRC)\dialog-msw.c MSW_DIALOG_OBJ=$(OUTDIR)\dialog.obj $(OUTDIR)\dialog-msw.obj !endif !if $(HAVE_NATIVE_SOUND) @@ -455,7 +452,7 @@ !endif !endif -!if $(HAVE_MULE) +!if $(MULE) MULE_DEFINES=-DMULE !endif @@ -519,8 +516,12 @@ $(SRC)\paths.h # #### Copying is cheap, we should just force these -$(SRC)\config.h: config.h - @$(COPY) config.h $(SRC) +$(SRC)\config.h: $(SRC)\config.h.in +# #### ms must have hired monkeys to design their shell commands. if +# #### you use xcopy to copy a file from one name to another, it +# #### PROMPTS you to see if you meant the second as a directory! and +# #### no switch to mean "no of course, you idiots, it's a file!" + @copy $(SRC)\config.h.in $(SRC)\config.h $(SRC)\Emacs.ad.h: Emacs.ad.h @$(COPY) Emacs.ad.h $(SRC) @@ -668,178 +669,6 @@ $(CCV) $(LWLIB_FLAGS) $(LWLIB_SRCDIR)\$(@B).c !endif -#------------------------------------------------------------------------------ - -DOC=$(LIB_SRC)\DOC -DOC_SRC1=\ - $(SRC)\abbrev.c \ - $(SRC)\alloc.c \ - $(SRC)\blocktype.c \ - $(SRC)\buffer.c \ - $(SRC)\bytecode.c \ - $(SRC)\callint.c \ - $(SRC)\callproc.c \ - $(SRC)\casefiddle.c \ - $(SRC)\casetab.c \ - $(SRC)\chartab.c \ - $(SRC)\cmdloop.c \ - $(SRC)\cmds.c \ - $(SRC)\console-stream.c \ - $(SRC)\console.c \ - $(SRC)\data.c \ - $(SRC)\device.c -DOC_SRC2=\ - $(SRC)\dired.c \ - $(SRC)\doc.c \ - $(SRC)\doprnt.c \ - $(SRC)\dragdrop.c \ - $(SRC)\dynarr.c \ - $(SRC)\editfns.c \ - $(SRC)\elhash.c \ - $(SRC)\emacs.c \ - $(SRC)\eval.c \ - $(SRC)\event-stream.c \ - $(SRC)\events.c \ - $(SRC)\extents.c \ - $(SRC)\faces.c \ - $(SRC)\file-coding.c \ - $(SRC)\fileio.c \ - $(SRC)\filemode.c \ - $(SRC)\floatfns.c \ - $(SRC)\fns.c -DOC_SRC3=\ - $(SRC)\font-lock.c \ - $(SRC)\frame.c \ - $(SRC)\general.c \ - $(SRC)\getloadavg.c \ - $(SRC)\glyphs.c \ - $(SRC)\glyphs-eimage.c \ - $(SRC)\glyphs-shared.c \ - $(SRC)\glyphs-widget.c \ - $(SRC)\gui.c \ - $(SRC)\gutter.c \ - $(SRC)\hash.c \ - $(SRC)\imgproc.c \ - $(SRC)\indent.c \ - $(SRC)\insdel.c \ - $(SRC)\intl.c \ - $(SRC)\keymap.c \ - $(SRC)\line-number.c \ - $(SRC)\lread.c \ - $(SRC)\lstream.c \ - $(SRC)\macros.c \ - $(SRC)\marker.c -DOC_SRC4=\ - $(SRC)\md5.c \ - $(SRC)\menubar.c \ - $(SRC)\minibuf.c \ - $(SRC)\nt.c \ - $(SRC)\ntplay.c \ - $(SRC)\ntproc.c \ - $(SRC)\objects.c \ - $(SRC)\opaque.c \ - $(SRC)\print.c \ - $(SRC)\process.c \ - $(SRC)\process-nt.c \ - $(SRC)\profile.c \ - $(SRC)\rangetab.c \ - $(SRC)\realpath.c \ - $(SRC)\redisplay-output.c \ - $(SRC)\redisplay.c \ - $(SRC)\regex.c \ - $(SRC)\scrollbar.c \ - $(SRC)\search.c \ - $(SRC)\select.c \ - $(SRC)\signal.c \ - $(SRC)\sound.c -DOC_SRC5=\ - $(SRC)\specifier.c \ - $(SRC)\strftime.c \ - $(SRC)\symbols.c \ - $(SRC)\syntax.c \ - $(SRC)\sysdep.c \ - $(SRC)\termcap.c \ - $(SRC)\tparam.c \ - $(SRC)\undo.c \ - $(SRC)\window.c \ - $(SRC)\win32.c \ - $(SRC)\widget.c - -!if $(HAVE_X_WINDOWS) -DOC_SRC6=\ - $(SRC)\balloon_help.c \ - $(SRC)\console-x.c \ - $(SRC)\device-x.c \ - $(SRC)\dialog-x.c \ - $(SRC)\EmacsFrame.c \ - $(SRC)\EmacsManager.c \ - $(SRC)\EmacsShell-sub.c\ - $(SRC)\EmacsShell.c \ - $(SRC)\event-Xt.c \ - $(SRC)\frame-x.c \ - $(SRC)\glyphs-x.c \ - $(SRC)\gui-x.c \ - $(SRC)\menubar.c \ - $(SRC)\menubar-x.c \ - $(SRC)\objects-x.c \ - $(SRC)\redisplay-x.c \ - $(SRC)\scrollbar-x.c \ - $(SRC)\balloon-x.c \ - $(SRC)\xgccache.c \ - $(SRC)\xmu.c \ - $(SRC)\select-x.c -!endif - -!if $(HAVE_MS_WINDOWS) -DOC_SRC7=\ - $(SRC)\console-msw.c \ - $(SRC)\device-msw.c \ - $(SRC)\event-msw.c \ - $(SRC)\frame-msw.c \ - $(SRC)\glyphs-msw.c \ - $(SRC)\gui-msw.c \ - $(SRC)\menubar-msw.c \ - $(SRC)\objects-msw.c \ - $(SRC)\redisplay-msw.c \ - $(SRC)\scrollbar-msw.c \ - $(SRC)\select-msw.c \ - $(MSW_C_DIRED_SRC) \ - $(MSW_TOOLBAR_SRC) \ - $(MSW_DIALOG_SRC) \ - $(MSW_GIF_SRC) -!endif - -!if $(HAVE_MULE) -DOC_SRC8=\ - $(SRC)\mule.c \ - $(SRC)\mule-charset.c \ - $(SRC)\mule-ccl.c -! if $(HAVE_X_WINDOWS) - DOC_SRC8=$(DOC_SRC8) $(SRC)\input-method-xlib.c -! endif -!endif - -!if $(DEBUG_XEMACS) -DOC_SRC9=\ - $(SRC)\debug.c \ - $(SRC)\tests.c -!endif - -!if !$(USE_SYSTEM_MALLOC) -DOC_SRC10=\ - $(SRC)\free-hook.c \ - $(SRC)\gmalloc.c \ - $(SRC)\ntheap.c \ - $(SRC)\vm-limit.c -!endif - -!if !$(USE_PORTABLE_DUMPER) -DOC_SRC11=\ - $(SRC)\unexnt.c -!else -DOC_SRC11=\ - $(SRC)\dumper.c -!endif #------------------------------------------------------------------------------ @@ -867,7 +696,7 @@ TEMACS_LIBS=$(LASTFILE) $(LWLIB) $(X_LIBS) $(MSW_LIBS) \ oldnames.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib \ shell32.lib wsock32.lib netapi32.lib winmm.lib winspool.lib ole32.lib \ - uuid.lib $(LIBC_LIB) + mpr.lib uuid.lib imm32.lib $(LIBC_LIB) TEMACS_LFLAGS=-nologo $(LIBRARIES) $(DEBUG_FLAGS) -base:0x1000000\ -stack:0x800000 $(TEMACS_ENTRYPOINT) -subsystem:windows\ -pdb:$(TEMACS_DIR)\temacs.pdb -map:$(TEMACS_DIR)\temacs.map \ @@ -926,11 +755,12 @@ $(MSW_GIF_OBJ) !endif -!if $(HAVE_MULE) +!if $(MULE) TEMACS_MULE_OBJS=\ - $(OUTDIR)\mule.obj \ + $(OUTDIR)\mule-ccl.obj \ $(OUTDIR)\mule-charset.obj \ - $(OUTDIR)\mule-ccl.obj + $(OUTDIR)\mule-coding.obj + ! if $(HAVE_X_WINDOWS) TEMACS_MULE_OBJS=\ $(TEMACS_MULE_OBJS) $(OUTDIR)\input-method-xlib.obj @@ -1016,6 +846,9 @@ $(OUTDIR)\imgproc.obj \ $(OUTDIR)\insdel.obj \ $(OUTDIR)\intl.obj \ + $(OUTDIR)\intl-win32.obj \ + $(OUTDIR)\intl-encap-win32.obj \ + $(OUTDIR)\intl-auto-encap-win32.obj \ $(OUTDIR)\keymap.obj \ $(OUTDIR)\line-number.obj \ $(OUTDIR)\lread.obj \ @@ -1049,8 +882,10 @@ $(OUTDIR)\symbols.obj \ $(OUTDIR)\syntax.obj \ $(OUTDIR)\sysdep.obj \ + $(OUTDIR)\text.obj \ $(OUTDIR)\tparam.obj \ $(OUTDIR)\undo.obj \ + $(OUTDIR)\unicode.obj \ $(OUTDIR)\widget.obj \ $(OUTDIR)\window.obj \ $(OUTDIR)\win32.obj @@ -1077,8 +912,6 @@ $(OUTDIR)\TransientEmacsShell.obj: $(TEMACS_SRC)\EmacsShell-sub.c $(CCV) $(TEMACS_CPP_FLAGS) -DDEFINE_TRANSIENT_EMACS_SHELL $(TEMACS_SRC)\$(@B).c -Fo$@ -$(OUTDIR)\alloc.obj: $(TEMACS_SRC)\alloc.c - #$(TEMACS_SRC)\Emacs.ad.h: $(XEMACS)\etc\Emacs.ad # !"sed -f ad2c.sed < $(XEMACS)\etc\Emacs.ad > $(TEMACS_SRC)\Emacs.ad.h" @@ -1149,12 +982,12 @@ cd $(XEMACS) -$(DEL) TAGS set PATH=lib-src;%PATH% -# we need to double ^, but only before backslash! Doubling it elsewhere -# causes problems. I don't understand this -- CMD.EXE uses ^ as a quoting -# convention of sorts, but appears to leave it alone inside of double quotes, -# even before \. Could this be nmake interference? +# we need to double ^, but only in one place, because (according to the +# nmake manual), a ^ is used to quote certain special characters such as +# backslash, but is treated literally within double quotes -- and notice +# carefully the occurrences of double quotes in the first line below! etags -a -r "/[ ]*DEF\(VAR\|INE\)_[A-Z_]+[ ]*([ ]*\"\([^^\"]+\)\"/\2/" src\*.c src\*.h lwlib\*.c lwlib\*.h lib-src\*.c lib-src\*.h - etags -a -l none -r "/^(def\(var\|un\|alias\|const\|macro\|subst\|struct\|face\|group\|custom\|ine-\(function\|compiler-macro\|[a-z-]+alias\)\)[ ]+'?\([^ ]+\)/\3/" $(tagslisp)\*.el + etags -a -l none -r "/^(def\(var\|un\|alias\|const\|macro\|subst\|struct\|face\|group\|custom\|ine-\(function\|compiler-macro\|[a-z-]+alias\)\)[ ]+'?\([^ ]+\)/\3/" $(tagslisp)\*.el $(tagslisp)\mule\*.el # Section handling tags ends here @@ -1362,26 +1195,28 @@ LOADPATH=$(LISP) # Rebuild docfile target + +DOC=$(LIB_SRC)\DOC + docfile :: if exist $(DOC) $(DEL) $(DOC) docfile :: $(DOC) -$(DOC): $(LIB_SRC)\make-docfile.exe $(DOC_SRC1) $(DOC_SRC2) $(DOC_SRC3) $(DOC_SRC4) $(DOC_SRC5) $(DOC_SRC6) $(DOC_SRC7) $(DOC_SRC8) $(DOC_SRC9) $(DOC_SRC10) $(DOC_SRC11) +# This takes 5 seconds on my Pentium 233. If you are running on a +# much slower machine and are bothered by the time, modify make-docfile.c +# to contain special code to frob $(OUTDIR)\foo.obj into the right file. +make-docargs: $(TEMACS_OBJS) + @echo Creating make-docfile argument file ... + -$(DEL) make-docfile.out + @!echo $(SRC)\$(**B).c >> make-docfile.out + @echo Done. + +$(DOC): $(LIB_SRC)\make-docfile.exe make-docargs if exist $(DOC) $(DEL) $(DOC) set EMACSBOOTSTRAPLOADPATH=$(LISP);$(PACKAGE_PATH) set EMACSBOOTSTRAPMODULEPATH=$(MODULES) $(TEMACS_BATCH) -l $(TEMACS_DIR)\..\lisp\make-docfile.el -- -o $(DOC) -i $(XEMACS)\site-packages - $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC1) - $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC2) - $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC3) - $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC4) - $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC5) - $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC6) - $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC7) - $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC8) - $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC9) - $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC10) - $(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC11) + $(LIB_SRC)\make-docfile.exe -a $(DOC) @make-docfile.out update-elc: set EMACSBOOTSTRAPLOADPATH=$(LISP);$(PACKAGE_PATH) @@ -1523,6 +1358,10 @@ perl ./make-src-depend > depend.tmp perl -MFile::Compare -e "compare('depend.tmp', 'depend') && rename('depend.tmp', 'depend') or unlink('depend.tmp')" +unicode-encapsulate: + cd $(SRC) + perl ../lib-src/make-mswin-unicode.pl --c-output intl-auto-encap-win32.c --h-output intl-auto-encap-win32.h intl-encap-win32.c + $(XEMACS)\Installation:: installation installation:: @@ -1550,8 +1389,8 @@ !if $(HAVE_X_WINDOWS) Compiling in support for X-Windows. !endif -!if $(HAVE_MULE) - Compiling in MULE. +!if $(MULE) + Compiling in international (MULE) support. !endif !if $(HAVE_GTK) -------------------------------------------------------------------- @@ -1593,6 +1432,9 @@ !if $(HAVE_XFACE) Compiling in support for X-Face message headers. !endif +!if $(HAVE_ZLIB) + Compiling in support for GZIP compression/decompression. +!endif !if $(HAVE_TOOLBARS) Compiling in support for toolbars. !endif