annotate nt/make-nt-depend @ 1111:184461bc8de4

[xemacs-hg @ 2002-11-18 06:52:23 by ben] warning fixes, etc. * s/cygwin32.h: -fvtable-thunks is obsolete in GCC 3 and generates warnings. * s/mingw32.h: * s/windowsnt.h: Comment fixes. * emodules.h: Fix warnings from redefining symbols. * eval.c: Fix C++ errors -- no automatic casting between function pointers and void *, function declarations inside of functions not allowed. * event-Xt.c (emacs_Xt_enqueue_focus_event): Warning fixes. * fileio.c (Ffile_truename): Warning fixes. Use LOCAL_TO_WIN32_FILE_FORMAT rather than duplicating it. * glyphs-x.c: Fix style. * intl-auto-encap-win32.c: * intl-auto-encap-win32.h: * intl-encap-win32.c: * intl-encap-win32.c (qxeRegConnectRegistry): * syswindows.h (RegConnectRegistry): DdeCreateStringHandle needs to be manual due to new Cygwin bug. * intl-win32.c: wcslen/wcscmp don't seem to exist under G++ 3, Cygwin. * lisp.h: * lisp-union.h: * lisp-disunion.h: * process-unix.c (unix_send_process): Ugh, C needs volatile and C++ must not have volatile. Remove previous volatile hacks, which don't seem to be working any more. * sheap.c (STATIC_HEAP_SLOP): Try to get a working Cygwin build with old unexec. * sheap.c (more_static_core): No NL's in literals allowed. * symbols.c (Fset): Fix C++ errors. * syswindows.h: Fix Cygwin complaints now that some missing structs have been added. aclocal.m4: Disable shared library modules under Cygwin for the moment, since we need some more tricky coding done and I don't have the time right now. configure.in, configure.usage: code-files.el, loadhist.el: Fix warnings. package-get.el: Fix warnings. NOTE: This was already fixed awhile ago, but reverted by Steve Y. Please be careful. postgresql/Makefile.in.in: Removed. Move common stuff into modues/common/Makefile.common. (Also add extraclean target and a couple of other fixes in that file.) postgresql/configure.ac: Extract out common configure stuff into modules/common/configure-{pre,post}.ac. postgresql/postgresql.c: Fix warning. ldap/Makefile.in.in: Removed. Move common stuff into modues/common/Makefile.common. (Also add extraclean target and a couple of other fixes in that file.) ldap/configure.ac: Extract out common configure stuff into modules/common/configure-{pre,post}.ac. common/Makefile.common: Common stuff is here.
author ben
date Mon, 18 Nov 2002 06:53:08 +0000
parents 7a6013500383
children 4542b72c005e
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
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
68 # add dependency on config.inc to all objects (this might be too broad)
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
69 s/^(.+)\.o:(.+)/$obj\\$1.obj:$2 $config\\config.inc/;
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
70
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 796
diff changeset
71 print;
796
7a6013500383 [xemacs-hg @ 2002-03-29 11:12:44 by jhar]
jhar
parents:
diff changeset
72 }