annotate nt/compface.mak @ 5574:d4f334808463

Support inlining labels, bytecomp.el. lisp/ChangeLog addition: 2011-10-02 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-initial-macro-environment): Add #'declare to this, so it doesn't need to rely on #'cl-compiling file to determine when we're byte-compiling. Update #'labels to support declaring labels inline, as Common Lisp requires. * bytecomp.el (byte-compile-function-form): Don't error if FUNCTION is quoting a non-lambda, non-symbol, just return it. * cl-extra.el (cl-macroexpand-all): If a label name has been quoted, expand to the label placeholder quoted with 'function. This allows the byte compiler to distinguish between uses of the placeholder as data and uses in contexts where it should be inlined. * cl-macs.el: * cl-macs.el (cl-do-proclaim): When proclaming something as inline, if it is bound as a label, don't modify the symbol's plist; instead, treat the first element of its placeholder constant vector as a place to store compile information. * cl-macs.el (declare): Leave processing declarations while compiling to the implementation of #'declare in byte-compile-initial-macro-environment. tests/ChangeLog addition: 2011-10-02 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: * automated/lisp-tests.el (+): Test #'labels and inlining.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 02 Oct 2011 15:32:16 +0100
parents b9167d522a9a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4894
03ab78e48ef6 Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents: 488
diff changeset
1 ## Compface Makefile for Microsoft NMAKE
03ab78e48ef6 Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents: 488
diff changeset
2 ## Based on xpm.mak
03ab78e48ef6 Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents: 488
diff changeset
3 ## Copyright (C) 2001 Ben Wing.
03ab78e48ef6 Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents: 488
diff changeset
4
03ab78e48ef6 Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents: 488
diff changeset
5 ## This file is part of XEmacs.
03ab78e48ef6 Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents: 488
diff changeset
6
5416
365bc8cb5894 Convert to GPLv3 misc files.
Mats Lidell <matsl@xemacs.org>
parents: 4894
diff changeset
7 ## XEmacs is free software: you can redistribute it and/or modify it
4894
03ab78e48ef6 Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents: 488
diff changeset
8 ## under the terms of the GNU General Public License as published by the
5416
365bc8cb5894 Convert to GPLv3 misc files.
Mats Lidell <matsl@xemacs.org>
parents: 4894
diff changeset
9 ## Free Software Foundation, either version 3 of the License, or (at your
365bc8cb5894 Convert to GPLv3 misc files.
Mats Lidell <matsl@xemacs.org>
parents: 4894
diff changeset
10 ## option) any later version.
4894
03ab78e48ef6 Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents: 488
diff changeset
11
03ab78e48ef6 Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents: 488
diff changeset
12 ## XEmacs is distributed in the hope that it will be useful, but WITHOUT
03ab78e48ef6 Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents: 488
diff changeset
13 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
03ab78e48ef6 Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents: 488
diff changeset
14 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
03ab78e48ef6 Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents: 488
diff changeset
15 ## for more details.
03ab78e48ef6 Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents: 488
diff changeset
16
03ab78e48ef6 Add copyright and license information based on Ben's recollections.
Jerry James <james@xemacs.org>
parents: 488
diff changeset
17 ## You should have received a copy of the GNU General Public License
5416
365bc8cb5894 Convert to GPLv3 misc files.
Mats Lidell <matsl@xemacs.org>
parents: 4894
diff changeset
18 ## along with XEmacs. If not, see <http://www.gnu.org/licenses/>.
394
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
19
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
20 !if !defined(DEBUG_XEMACS)
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
21 DEBUG_XEMACS=0
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
22 !endif
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
23
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
24 !if $(DEBUG_XEMACS)
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
25 OPT=-Od -Zi
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
26 !else
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
27 OPT=-O2 -G5 -Zi
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
28 !endif
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
29
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
30 WARN_CPP_FLAGS = -W3
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
31
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
32 #MSVC uses string.h, not strings.h
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
33 DEFINES=-DSYSV32
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
34
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
35 CC=cl
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
36 CFLAGS=-nologo -DFOR_MSW $(WARN_CPP_FLAGS) $(OPT) $(INCLUDES) $(DEFINES) -Fo$@ -c
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
37
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
38 OBJS= arith.obj file.obj compress.obj gen.obj uncompface.obj
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
39
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
40 # nmake rule
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
41
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
42 .SUFFIXES:
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
43 .SUFFIXES: .c
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
44
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
45 .c.obj:
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
46 $(CC) $(CFLAGS) $< -Fo$@
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
47
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
48
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
49 # targets
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
50
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
51 all: libcompface.lib
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
52
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
53 libcompface.lib: $(OBJS)
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
54 link.exe -lib -nologo -out:$@ $(OBJS)
488
1e7b510d04f6 [xemacs-hg @ 2001-04-28 21:04:49 by adrian]
adrian
parents: 394
diff changeset
55
1e7b510d04f6 [xemacs-hg @ 2001-04-28 21:04:49 by adrian]
adrian
parents: 394
diff changeset
56 clean: $(OBJS)
1e7b510d04f6 [xemacs-hg @ 2001-04-28 21:04:49 by adrian]
adrian
parents: 394
diff changeset
57 -rm -f $(OBJS) libcompface.lib