annotate src/s/sol2-6.h @ 108375:973b5bc5fcfe

Merge from emacs-23
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sat, 08 May 2010 14:47:07 -0400
parents 17d73312ed65
children b9b3b94979ee
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
107439
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
1 /* Definitions file for GNU Emacs running on Solaris 2.6.
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
2
108310
17d73312ed65 Move TERMINFO, LIBS_TERMCAP from cpp to configure.
Glenn Morris <rgm@gnu.org>
parents: 108234
diff changeset
3 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
17d73312ed65 Move TERMINFO, LIBS_TERMCAP from cpp to configure.
Glenn Morris <rgm@gnu.org>
parents: 108234
diff changeset
4 2008, 2009, 2010 Free Software Foundation, Inc.
107439
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
5
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
6 This file is part of GNU Emacs.
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
7
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
8 GNU Emacs is free software: you can redistribute it and/or modify
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
9 it under the terms of the GNU General Public License as published by
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
10 the Free Software Foundation, either version 3 of the License, or
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
11 (at your option) any later version.
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
12
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
13 GNU Emacs is distributed in the hope that it will be useful,
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
16 GNU General Public License for more details.
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
17
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
18 You should have received a copy of the GNU General Public License
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
19 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
20
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
21 #include "usg5-4.h"
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
22
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
23 #define SOLARIS2
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
24
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
25 /* This triggers a conditional in xfaces.c. */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
26 #define XOS_NEEDS_TIME_H
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
27
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
28 #define POSIX
47342
5bdc7af4b905 Fix typo. Add comment.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 47336
diff changeset
29
107439
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
30 #define LIBS_SYSTEM -lsocket -lnsl -lkstat
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
31
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
32 /* Prefer kstat over kvm in getloadavg.c, kstat doesn't require root.
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
33 ghazi@caip.rutgers.edu, 7/21/97. Don't redefine if already defined
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
34 (e.g., by config.h). */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
35 #ifndef HAVE_LIBKSTAT
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
36 #define HAVE_LIBKSTAT
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
37 #endif
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
38
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
39 /* inoue@ainet.or.jp says Solaris has a bug related to X11R6-style
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
40 XIM support. */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
41 #define INHIBIT_X11R6_XIM
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
42
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
43 /* This is the same definition as in usg5-4.h, but with sigblock/sigunblock
108234
06c34f190db1 Remove POSIX_SIGNALS.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 108073
diff changeset
44 rather than sighold/sigrelse, which appear to be BSD4.1 specific.
06c34f190db1 Remove POSIX_SIGNALS.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 108073
diff changeset
45 It may also be appropriate for SVR4.x
107439
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
46 (x<2) but I'm not sure. fnf@cygnus.com */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
47 /* This sets the name of the slave side of the PTY. On SysVr4,
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
48 grantpt(3) forks a subprocess, so keep sigchld_handler() from
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
49 intercepting that death. If any child but grantpt's should die
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
50 within, it should be caught after sigrelse(2). */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
51
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
52 #define PTY_TTY_NAME_SPRINTF \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
53 { \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
54 char *ptsname (), *ptyname; \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
55 \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
56 sigblock (sigmask (SIGCLD)); \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
57 if (grantpt (fd) == -1) \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
58 { emacs_close (fd); return -1; } \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
59 sigunblock (sigmask (SIGCLD)); \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
60 if (unlockpt (fd) == -1) \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
61 { emacs_close (fd); return -1; } \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
62 if (!(ptyname = ptsname (fd))) \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
63 { emacs_close (fd); return -1; } \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
64 strncpy (pty_name, ptyname, sizeof (pty_name)); \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
65 pty_name[sizeof (pty_name) - 1] = 0; \
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
66 }
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
67
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
68 /* This is the only known way to avoid some crashes
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
69 that seem to relate to screwed up malloc data
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
70 after deleting a frame. */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
71 /* rms: I think the problems using ralloc had to do with system
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
72 libraries that called the system malloc even if we linked in the
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
73 GNU malloc. I could not see any way to fix the problem except to
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
74 have just one malloc and that had to be the system one. */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
75 /* This is not always necessary. Turned off at present for testers to
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
76 identify any problems with gmalloc more accurately. */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
77 /* #define SYSTEM_MALLOC */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
78
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
79 /* Probably OK also on earlier versions. */
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
80 #define GC_SETJMP_WORKS 1
ed20cbe62401 Remove support for Solaris on PPC and for old versions.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 54449
diff changeset
81 #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 47473
diff changeset
82
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 47473
diff changeset
83 /* arch-tag: 71ea3857-89dc-4395-9623-77964e6ed3ca
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 47473
diff changeset
84 (do not change this comment) */