annotate nt/make-nt-depend @ 5083:88f955fa5a7f

Back out revision c673987f5f3d, undump mule/make-coding-system.el. lisp/ChangeLog addition: 2010-02-26 Aidan Kehoe <kehoea@parhasard.net> Back out Ben's revision c673987f5f3d. * coding.el: Add a compiler macro for #'make-coding-system on non-Mule builds too, to fix the problem he addressed with that changeset. * mule/make-coding-system.el (fixed-width-private-use-start): Don't call (decode-char ... 'ucs) here, it can make bootstrapping harder. src/ChangeLog addition: 2010-02-26 Aidan Kehoe <kehoea@parhasard.net> * file-coding.c (Fmake_coding_system_internal): Be somewhat clearer in this docstring, especially for the sake of people running non-Mule builds who will see this docstring when they do F1 f make-coding-system RET.
author Aidan Kehoe <kehoea@parhasard.net>
date Fri, 26 Feb 2010 15:52:24 +0000
parents 4542b72c005e
children 308d34e9f07d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
796
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
1 : #-*- Perl -*-
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
2
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
3 # Generate dependency info in a form acceptable to nmake
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
4 #
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
5 # Copyright (C) 2000, 2002 Jonathan Harris.
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
6 #
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
7 # This file is part of XEmacs.
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
8 #
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
9 # XEmacs is free software; you can redistribute it and/or modify it
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
10 # under the terms of the GNU General Public License as published by the
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
11 # Free Software Foundation; either version 2, or (at your option) any
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
12 # later version.
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
13 #
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
14 # XEmacs is distributed in the hope that it will be useful, but WITHOUT
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
15 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
16 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
17 # for more details.
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
18 #
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
19 # You should have received a copy of the GNU General Public License
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
20 # along with XEmacs; see the file COPYING. If not, write to
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
21 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
22 # Boston, MA 02111-1307, USA.
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
23 #
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
24 # Author: Jonathan Harris <jonathan@xemacs.org>
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
25 #
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
26 # Synched up with: Not in FSF.
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
27
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
28 use Getopt::Long;
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
29
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
30 my $optsok = GetOptions ('src=s' => \$src,
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
31 'config=s' => \$config,
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
32 'obj=s' => \$obj);
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
33
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
34 die "Generates nmake dependencies for the XEmacs src directory.
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
35
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
36 Usage: $0 --src SRCDIR --config CONFIGDIR --obj OBJDIR
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
37
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
38 SRCDIR Location of XEmacs sources
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
39 CONFIGDIR Location of config.inc
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
40 OBJDIR Location for compiler-generated object files
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
41
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
42 Expects output from src/make-src-depend on stdin.
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
43 The dependencies are written to stdout.
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
44 " if (@ARGV || !$optsok
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
45 || !defined ($src) || !defined ($config) || !defined ($obj));
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
46
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
47 while (<>)
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
48 {
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 796
diff changeset
49 # must hack away CRLF junk. wouldn't it be nice if perl handled this
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 796
diff changeset
50 # right?? really can't be that hard!!!
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 796
diff changeset
51 s/\r\n/\n/g;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 796
diff changeset
52
796
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
53 # rewrite references to generating script
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
54 s/make-src-depend/make-nt-depend/;
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
55
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
56 # rewrite '#if defined(...)' into nmake syntax
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
57 s/^#if defined(.+)/!if defined$1/;
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
58
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
59 # rewrite '#else' and '#endif' into nmake syntax
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
60 s/^#e/!e/;
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
61
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
62 # add src path to source filenames
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
63 # allow for source filename being used in variable assignment
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
64 s/([\s=])([\w\d\.\-]+\.[ch])/$1$src\\$2/g;
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
65
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
66 # add obj path to object filenames
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
67 # rewrite .o to .obj
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1111
diff changeset
68 s/^(.+)\.o:(.+)/$obj\\$1.obj:$2/;
796
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
69
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1111
diff changeset
70 # add dependency on config.inc wherever config.h is.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1111
diff changeset
71 s/\\config.h/\\config.h $config\\config.inc/;
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 796
diff changeset
72 print;
796
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
73 }