Remove support for Solaris on PPC and for old versions.
[emacs.git] / src / s / sol2-6.h
blob233f38a7b31f044b488725e43fb8550bd8a46c23
1 /* Definitions file for GNU Emacs running on Solaris 2.6.
3 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008, 2009, 2010 Free Software Foundation, Inc.
6 This file is part of GNU Emacs.
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.
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.
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/>. */
21 #include "usg5-4.h"
23 #define SOLARIS2
25 /* This triggers a conditional in xfaces.c. */
26 #define XOS_NEEDS_TIME_H
28 #define POSIX
30 #define LIBS_SYSTEM -lsocket -lnsl -lkstat
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
39 /* inoue@ainet.or.jp says Solaris has a bug related to X11R6-style
40 XIM support. */
42 #define INHIBIT_X11R6_XIM
44 /* Must use the system's termcap, if we use any termcap.
45 It does special things. */
47 #ifndef TERMINFO
48 #define LIBS_TERMCAP -ltermcap
49 #endif
51 #ifndef __GNUC__
52 /* eggert thinks all versions of SunPro C allowed this. */
53 #define C_DEBUG_SWITCH -g -O
54 #endif /* GCC */
56 /* Info from fnf@cygnus.com suggests this is appropriate. */
57 #define POSIX_SIGNALS
59 /* We don't need the definition from usg5-4.h with POSIX_SIGNALS. */
60 #undef sigsetmask
62 /* This is the same definition as in usg5-4.h, but with sigblock/sigunblock
63 rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't
64 work if POSIX_SIGNALS is defined. It may also be appropriate for SVR4.x
65 (x<2) but I'm not sure. fnf@cygnus.com */
66 /* This sets the name of the slave side of the PTY. On SysVr4,
67 grantpt(3) forks a subprocess, so keep sigchld_handler() from
68 intercepting that death. If any child but grantpt's should die
69 within, it should be caught after sigrelse(2). */
71 #undef PTY_TTY_NAME_SPRINTF
72 #define PTY_TTY_NAME_SPRINTF \
73 { \
74 char *ptsname (), *ptyname; \
76 sigblock (sigmask (SIGCLD)); \
77 if (grantpt (fd) == -1) \
78 { emacs_close (fd); return -1; } \
79 sigunblock (sigmask (SIGCLD)); \
80 if (unlockpt (fd) == -1) \
81 { emacs_close (fd); return -1; } \
82 if (!(ptyname = ptsname (fd))) \
83 { emacs_close (fd); return -1; } \
84 strncpy (pty_name, ptyname, sizeof (pty_name)); \
85 pty_name[sizeof (pty_name) - 1] = 0; \
88 /* `#ifdef USE_MOTIF' won't work here, since USE_MOTIF isn't defined yet.
89 Instead, dynamically check whether USE_MOTIF expands to something. */
90 #define NOT_USING_MOTIF { set x USE_MOTIF; test "$$2" = "USE_MOTIF"; }
92 #ifndef __GNUC__
93 #define LD_SWITCH_SYSTEM_TEMACS -L/usr/ccs/lib LD_SWITCH_X_SITE_AUX \
94 `NOT_USING_MOTIF || echo ' -R/usr/dt/lib'`
95 #else /* GCC */
96 /* We use ./prefix-args because we don't know whether LD_SWITCH_X_SITE_AUX
97 has anything in it. It can be empty.
98 This works ok in temacs. */
99 #define LD_SWITCH_SYSTEM_TEMACS -L/usr/ccs/lib \
100 `./prefix-args -Xlinker LD_SWITCH_X_SITE_AUX` \
101 `NOT_USING_MOTIF || echo ' -R/usr/dt/lib -L/usr/dt/lib'`
103 /* Get rid of -traditional and let const really do its thing. */
104 #undef C_SWITCH_SYSTEM
105 #undef const
106 #endif /* GCC */
108 /* Gregory Neil Shapiro <gshapiro@hhmi.org> reports the Motif header files
109 are in this directory on Solaris 2.4. */
110 #define C_SWITCH_X_SYSTEM -I/usr/dt/include
112 /* -lgen is needed for the regex and regcmp functions
113 which are used by Motif. In the future we can try changing
114 regex.c to provide them in Emacs, but this is safer for now. */
115 #define LIB_MOTIF -lXm -lgen
117 /* This is the only known way to avoid some crashes
118 that seem to relate to screwed up malloc data
119 after deleting a frame. */
120 /* rms: I think the problems using ralloc had to do with system
121 libraries that called the system malloc even if we linked in the
122 GNU malloc. I could not see any way to fix the problem except to
123 have just one malloc and that had to be the system one. */
124 /* This is not always necessary. Turned off at present for testers to
125 identify any problems with gmalloc more accurately. */
126 /* #define SYSTEM_MALLOC */
128 /* Probably OK also on earlier versions. */
129 #define GC_SETJMP_WORKS 1
130 #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
132 /* arch-tag: 71ea3857-89dc-4395-9623-77964e6ed3ca
133 (do not change this comment) */