]> code.delx.au - gnu-emacs/blob - src/s/sol2-3.h
Add 2012 to FSF copyright years for Emacs files (do not merge to trunk)
[gnu-emacs] / src / s / sol2-3.h
1 /* Definitions file for GNU Emacs running on Solaris 2.3.
2
3 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
5
6 This file is part of GNU Emacs.
7
8 GNU Emacs is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation, either version 3 of the License, or
11 (at your option) any later version.
12
13 GNU Emacs is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20
21 #include "usg5-4.h"
22
23 #define SOLARIS2
24
25 /* This triggers a conditional in xfaces.c. */
26 #define XOS_NEEDS_TIME_H
27
28 #define POSIX
29
30 #define LIBS_SYSTEM -lsocket -lnsl -lkstat
31
32 /* Prefer kstat over kvm in getloadavg.c, kstat doesn't require root.
33 ghazi@caip.rutgers.edu, 7/21/97. Don't redefine if already defined
34 (e.g., by config.h). */
35 #ifndef HAVE_LIBKSTAT
36 #define HAVE_LIBKSTAT
37 #endif
38
39 /* inoue@ainet.or.jp says Solaris has a bug related to X11R6-style
40 XIM support. */
41
42 #define INHIBIT_X11R6_XIM
43
44 /* Must use the system's termcap, if we use any termcap.
45 It does special things. */
46
47 #ifndef TERMINFO
48 #define LIBS_TERMCAP -ltermcap
49 #endif
50
51 #define USE_MMAP_FOR_BUFFERS 1
52
53 #ifndef __GNUC__
54 #define LD_SWITCH_SYSTEM -L /usr/ccs/lib LD_SWITCH_X_SITE_AUX
55 /* eggert thinks all versions of SunPro C allowed this. */
56 #define C_DEBUG_SWITCH -g -O
57 #else /* GCC */
58 /* We use ./prefix-args because we don't know whether LD_SWITCH_X_SITE_AUX
59 has anything in it. It can be empty.
60 This works ok in src. Luckily lib-src does not use LD_SWITCH_SYSTEM. */
61 #define LD_SWITCH_SYSTEM -L /usr/ccs/lib \
62 `./prefix-args -Xlinker LD_SWITCH_X_SITE_AUX`
63 #endif /* GCC */
64
65 /* Info from fnf@cygnus.com suggests this is appropriate. */
66 #define POSIX_SIGNALS
67
68 /* We don't need the definition from usg5-4.h with POSIX_SIGNALS. */
69 #undef sigsetmask
70
71 /* This is the same definition as in usg5-4.h, but with sigblock/sigunblock
72 rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't
73 work if POSIX_SIGNALS is defined. It may also be appropriate for SVR4.x
74 (x<2) but I'm not sure. fnf@cygnus.com */
75 /* This sets the name of the slave side of the PTY. On SysVr4,
76 grantpt(3) forks a subprocess, so keep sigchld_handler() from
77 intercepting that death. If any child but grantpt's should die
78 within, it should be caught after sigrelse(2). */
79
80 #undef PTY_TTY_NAME_SPRINTF
81 #define PTY_TTY_NAME_SPRINTF \
82 { \
83 char *ptsname (), *ptyname; \
84 \
85 sigblock (sigmask (SIGCLD)); \
86 if (grantpt (fd) == -1) \
87 { emacs_close (fd); return -1; } \
88 sigunblock (sigmask (SIGCLD)); \
89 if (unlockpt (fd) == -1) \
90 { emacs_close (fd); return -1; } \
91 if (!(ptyname = ptsname (fd))) \
92 { emacs_close (fd); return -1; } \
93 strncpy (pty_name, ptyname, sizeof (pty_name)); \
94 pty_name[sizeof (pty_name) - 1] = 0; \
95 }
96
97 /* arch-tag: a8fe2e15-e517-49cb-a863-f346b80885fe
98 (do not change this comment) */