Move LIBS_SYSTEM from cpp to configure.
[bpt/emacs.git] / src / s / sol2-6.h
CommitLineData
07e339e4 1/* Definitions file for GNU Emacs running on Solaris 2.6.
e986c175 2
40c17879
GM
3Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008, 2009, 2010 Free Software Foundation, Inc.
8103074a 5
07e339e4
DN
6This file is part of GNU Emacs.
7
8GNU Emacs is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 3 of the License, or
11(at your option) any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along 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
07e339e4
DN
30/* Prefer kstat over kvm in getloadavg.c, kstat doesn't require root.
31 ghazi@caip.rutgers.edu, 7/21/97. Don't redefine if already defined
32 (e.g., by config.h). */
33#ifndef HAVE_LIBKSTAT
34#define HAVE_LIBKSTAT
35#endif
36
37/* inoue@ainet.or.jp says Solaris has a bug related to X11R6-style
38 XIM support. */
07e339e4
DN
39#define INHIBIT_X11R6_XIM
40
07e339e4 41/* This is the same definition as in usg5-4.h, but with sigblock/sigunblock
ef03a4e6
DN
42 rather than sighold/sigrelse, which appear to be BSD4.1 specific.
43 It may also be appropriate for SVR4.x
07e339e4
DN
44 (x<2) but I'm not sure. fnf@cygnus.com */
45/* This sets the name of the slave side of the PTY. On SysVr4,
46 grantpt(3) forks a subprocess, so keep sigchld_handler() from
47 intercepting that death. If any child but grantpt's should die
48 within, it should be caught after sigrelse(2). */
49
07e339e4
DN
50#define PTY_TTY_NAME_SPRINTF \
51 { \
52 char *ptsname (), *ptyname; \
53 \
54 sigblock (sigmask (SIGCLD)); \
55 if (grantpt (fd) == -1) \
56 { emacs_close (fd); return -1; } \
57 sigunblock (sigmask (SIGCLD)); \
58 if (unlockpt (fd) == -1) \
59 { emacs_close (fd); return -1; } \
60 if (!(ptyname = ptsname (fd))) \
61 { emacs_close (fd); return -1; } \
62 strncpy (pty_name, ptyname, sizeof (pty_name)); \
63 pty_name[sizeof (pty_name) - 1] = 0; \
64 }
65
07e339e4
DN
66/* This is the only known way to avoid some crashes
67 that seem to relate to screwed up malloc data
68 after deleting a frame. */
69/* rms: I think the problems using ralloc had to do with system
70 libraries that called the system malloc even if we linked in the
71 GNU malloc. I could not see any way to fix the problem except to
72 have just one malloc and that had to be the system one. */
73/* This is not always necessary. Turned off at present for testers to
74 identify any problems with gmalloc more accurately. */
75/* #define SYSTEM_MALLOC */
76
77/* Probably OK also on earlier versions. */
78#define GC_SETJMP_WORKS 1
79#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
80
ab5796a9
MB
81/* arch-tag: 71ea3857-89dc-4395-9623-77964e6ed3ca
82 (do not change this comment) */