Mercurial > hg > xemacs-beta
changeset 795:68d4a70c1558
[xemacs-hg @ 2002-03-29 11:09:23 by jhar]
Hopefully finally solve win32 dependency quoting fiasco
author | jhar |
---|---|
date | Fri, 29 Mar 2002 11:09:24 +0000 |
parents | 3604075fb2a3 |
children | 7a6013500383 |
files | nt/.cvsignore nt/ChangeLog nt/config.inc.samp nt/xemacs.mak |
diffstat | 4 files changed, 28 insertions(+), 41 deletions(-) [+] |
line wrap: on
line diff
--- a/nt/.cvsignore Fri Mar 29 07:05:29 2002 +0000 +++ b/nt/.cvsignore Fri Mar 29 11:09:24 2002 +0000 @@ -3,6 +3,3 @@ xemacs.opt xemacs.plg obj -make-docfile.out -*.tmp -
--- a/nt/ChangeLog Fri Mar 29 07:05:29 2002 +0000 +++ b/nt/ChangeLog Fri Mar 29 11:09:24 2002 +0000 @@ -1,3 +1,17 @@ +2002-03-29 Jonathan Harris <jonathan@xemacs.org> + + * make-nt-depend: + * xemacs.mak (DEPEND): + * xemacs.mak (PERL_NEEDS_MORE_QUOTING): + * config.inc.samp (PERL_NEEDS_MORE_QUOTING): + Moved perl dependency script out into new make-nt-depend file to + hopefully finally solve never-ending perl quoting problems. + + * xemacs.mak (TEMACS): + * xemacs.mak (make-docargs): + * .cvsignore: + Generate intermediate files in obj subdirectory, not in nt dir. + 2002-03-29 Jonathan Harris <jonathan@xemacs.org> * xemacs.mak: Define STACK_TRACE_EYE_CATCHER.
--- a/nt/config.inc.samp Fri Mar 29 07:05:29 2002 +0000 +++ b/nt/config.inc.samp Fri Mar 29 11:09:24 2002 +0000 @@ -72,14 +72,10 @@ # generally recommended). VERBOSECC=0 -# Set this to get nmake to use dependency info (requires Perl to be installed) +# Set this to get nmake to use dependency info (recommended for development). +# Requires cygwin or ActiveState versions of Perl to be installed. DEPEND=0 -# Sometimes perl needs more backslash quoting when it's being run to -# compute dependency info, sometimes less. Allah only knows why. If you -# get syntax errors in depend.tmp, try changing this. -PERL_NEEDS_MORE_QUOTING=1 - ############################################################################ # Some technical options.
--- a/nt/xemacs.mak Fri Mar 29 07:05:29 2002 +0000 +++ b/nt/xemacs.mak Fri Mar 29 11:09:24 2002 +0000 @@ -1,6 +1,8 @@ -# Makefile for Microsoft NMAKE +# Makefile for Microsoft NMAKE -*- Makefile -*- +# # Copyright (C) 1995 Board of Trustees, University of Illinois. # Copyright (C) 1995, 1996, 2000, 2001, 2002 Ben Wing. +# Copyright (C) 1997, 1998, 2000 Jonathan Harris. # Copyright (C) 1995 Sun Microsystems, Inc. # Copyright (C) 1998 Free Software Foundation, Inc. # @@ -37,7 +39,7 @@ LISP=$(XEMACS)\lisp LIB_SRC=$(XEMACS)\lib-src MODULES=$(XEMACS)\modules -NT=$(XEMACS)\nt +NT=$(MAKEDIR) OUTDIR=$(NT)\obj SRC=$(XEMACS)\src LWLIB_SRCDIR=$(XEMACS)\lwlib @@ -328,33 +330,11 @@ !if !defined(DEPEND) DEPEND=0 !endif -!if !defined(PERL_NEEDS_MORE_QUOTING) -PERL_NEEDS_MORE_QUOTING=1 -!endif !if $(DEPEND) && exist("$(SRC)\depend") ! if [if not exist $(OUTDIR)\nul mkdir "$(OUTDIR)"] ! endif -# #### 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- -# Cygwin Perl, so in that circumstance, you'd be screwed and would have -# to fix this Makefile to not have a special Cygwin case. -# ! if defined(_) -# #### 3-17-02 Double yuck! Suddenly, perl is wanting more quoting always. -# #### I have no idea what changed. So I'm just making a variable for -# #### this. --ben -! if $(PERL_NEEDS_MORE_QUOTING) -! if [perl -p -e "s/^\\x23if defined(.+)/!if defined$$1/; s/^\\x23e/!e/;" \ - -e "s/([\\s=^])([\\w\\d\\.\\-^]+\\.[ch^])/$$1$(SRC:\=\\\\)\\\\$$2/g;" \ - -e "s/^(.+)\\.o:(.+)/$(OUTDIR:\=\\\\)\\\\$$1.obj:$$2 $(NT:\=\\\\)\\\\config.inc/;" \ - < $(SRC)\depend > $(OUTDIR)\depend.tmp] -! endif -! else -! if [perl -p -e "s/^\x23if defined(.+)/!if defined$$1/; s/^\x23e/!e/;" \ - -e "s/([\s=^])([\w\d\.\-^]+\.[ch^])/$$1$(SRC:\=\\)\\$$2/g;" \ - -e "s/^(.+)\.o:(.+)/$(OUTDIR:\=\\)\\$$1.obj:$$2 $(NT:\=\\)\\config.inc/;" \ - < $(SRC)\depend > $(OUTDIR)\depend.tmp] -! endif +# This perl script used to be inline but that caused too many quoting problems +! if [perl .\make-nt-depend -s=$(SRC) -c=$(NT) -o=$(OUTDIR) < $(SRC)\depend > $(OUTDIR)\depend.tmp] ! endif ! include "$(OUTDIR)\depend.tmp" !else @@ -930,9 +910,9 @@ $(TEMACS): $(TEMACS_INCLUDES) $(TEMACS_OBJS) $(OUTDIR)\xemacs.res !if $(DEBUG_XEMACS) - @dir /b/s $(OUTDIR)\*.sbr > bscmake.tmp - bscmake -nologo -o$(TEMACS_BROWSE) @bscmake.tmp - -$(DEL) bscmake.tmp + @dir /b/s $(OUTDIR)\*.sbr > $(OUTDIR)\bscmake.tmp + bscmake -nologo -o$(TEMACS_BROWSE) @$(OUTDIR)\bscmake.tmp + -$(DEL) $(OUTDIR)\bscmake.tmp !endif !if $(USE_PORTABLE_DUMPER) @if exist $(SRC)\dump-id.c $(DEL) $(SRC)\dump-id.c @@ -1221,8 +1201,8 @@ # 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 + -$(DEL) $(OUTDIR)\make-docfile.tmp + @!echo $(SRC)\$(**B).c >> $(OUTDIR)\make-docfile.tmp @echo Done. $(DOC): $(LIB_SRC)\make-docfile.exe make-docargs @@ -1230,7 +1210,7 @@ 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) @make-docfile.out + $(LIB_SRC)\make-docfile.exe -a $(DOC) @$(OUTDIR)\make-docfile.tmp update-elc: set EMACSBOOTSTRAPLOADPATH=$(LISP);$(PACKAGE_PATH)