Mercurial > emacs
annotate src/s/sol2-3.h @ 91090:962974b242c7
*** empty log message ***
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Mon, 12 Nov 2007 04:07:16 +0000 |
parents | f55f9811f5d7 |
children | 606f2d163a64 |
rev | line source |
---|---|
75944
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
1 /* Definitions file for GNU Emacs running on Solaris 2.3. |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
2 |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
3 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
4 2007 Free Software Foundation, Inc. |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
5 |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
6 This file is part of GNU Emacs. |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
7 |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
8 GNU Emacs is free software; you can redistribute it and/or modify |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
9 it under the terms of the GNU General Public License as published by |
78259
f06998349cfc
Switch license to GPLv3 or later.
Glenn Morris <rgm@gnu.org>
parents:
75944
diff
changeset
|
10 the Free Software Foundation; either version 3, or (at your option) |
75944
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
11 any later version. |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
12 |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
13 GNU Emacs is distributed in the hope that it will be useful, |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
14 but WITHOUT ANY WARRANTY; without even the implied warranty of |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
16 GNU General Public License for more details. |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
17 |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
18 You should have received a copy of the GNU General Public License |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
19 along with GNU Emacs; see the file COPYING. If not, write to |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
20 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
21 Boston, MA 02110-1301, USA. */ |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
22 |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
23 |
6840 | 24 #include "sol2.h" |
5227 | 25 |
26 /* Solaris 2.3 has a bug in XListFontsWithInfo. */ | |
27 #define BROKEN_XLISTFONTSWITHINFO | |
6104
44fc65a7fc46
(LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5227
diff
changeset
|
28 |
44fc65a7fc46
(LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5227
diff
changeset
|
29 /* Override LD_SWITCH_SYSTEM: add -L /usr/ccs/lib to the sol2.h value. */ |
44fc65a7fc46
(LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5227
diff
changeset
|
30 |
44fc65a7fc46
(LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5227
diff
changeset
|
31 #undef LD_SWITCH_SYSTEM |
44fc65a7fc46
(LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5227
diff
changeset
|
32 |
44fc65a7fc46
(LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5227
diff
changeset
|
33 #ifndef __GNUC__ |
44fc65a7fc46
(LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5227
diff
changeset
|
34 #define LD_SWITCH_SYSTEM -L /usr/ccs/lib LD_SWITCH_X_SITE_AUX |
44fc65a7fc46
(LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5227
diff
changeset
|
35 #else /* GCC */ |
7356
55588e31b258
(LD_SWITCH_SYSTEM): Use ./prefix-args, not -Xlinker directly.
Richard M. Stallman <rms@gnu.org>
parents:
6840
diff
changeset
|
36 /* We use ./prefix-args because we don't know whether LD_SWITCH_X_SITE_AUX |
55588e31b258
(LD_SWITCH_SYSTEM): Use ./prefix-args, not -Xlinker directly.
Richard M. Stallman <rms@gnu.org>
parents:
6840
diff
changeset
|
37 has anything in it. It can be empty. |
55588e31b258
(LD_SWITCH_SYSTEM): Use ./prefix-args, not -Xlinker directly.
Richard M. Stallman <rms@gnu.org>
parents:
6840
diff
changeset
|
38 This works ok in src. Luckily lib-src does not use LD_SWITCH_SYSTEM. */ |
55588e31b258
(LD_SWITCH_SYSTEM): Use ./prefix-args, not -Xlinker directly.
Richard M. Stallman <rms@gnu.org>
parents:
6840
diff
changeset
|
39 #define LD_SWITCH_SYSTEM -L /usr/ccs/lib \ |
55588e31b258
(LD_SWITCH_SYSTEM): Use ./prefix-args, not -Xlinker directly.
Richard M. Stallman <rms@gnu.org>
parents:
6840
diff
changeset
|
40 `./prefix-args -Xlinker LD_SWITCH_X_SITE_AUX` |
6104
44fc65a7fc46
(LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5227
diff
changeset
|
41 #endif /* GCC */ |
8513
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
42 |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
43 /* Info from fnf@cygnus.com suggests this is appropriate. */ |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
44 #define POSIX_SIGNALS |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
45 |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
46 /* We don't need the definition from usg5-3.h with POSIX_SIGNALS. */ |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
47 #undef sigsetmask |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
48 |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
49 /* This is the same definition as in usg5-4.h, but with sigblock/sigunblock |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
50 rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
51 work if POSIX_SIGNALS is defined. It may also be appropriate for SVR4.x |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
52 (x<2) but I'm not sure. fnf@cygnus.com */ |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
53 /* This sets the name of the slave side of the PTY. On SysVr4, |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
54 grantpt(3) forks a subprocess, so keep sigchld_handler() from |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
55 intercepting that death. If any child but grantpt's should die |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
56 within, it should be caught after sigrelse(2). */ |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
57 |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
58 #undef PTY_TTY_NAME_SPRINTF |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
59 #define PTY_TTY_NAME_SPRINTF \ |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
60 { \ |
14055
df451c7f6820
(PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents:
13708
diff
changeset
|
61 char *ptsname (), *ptyname; \ |
8513
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
62 \ |
14055
df451c7f6820
(PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents:
13708
diff
changeset
|
63 sigblock (sigmask (SIGCLD)); \ |
df451c7f6820
(PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents:
13708
diff
changeset
|
64 if (grantpt (fd) == -1) \ |
26090 | 65 { emacs_close (fd); return -1; } \ |
14055
df451c7f6820
(PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents:
13708
diff
changeset
|
66 sigunblock (sigmask (SIGCLD)); \ |
df451c7f6820
(PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents:
13708
diff
changeset
|
67 if (unlockpt (fd) == -1) \ |
26090 | 68 { emacs_close (fd); return -1; } \ |
14055
df451c7f6820
(PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents:
13708
diff
changeset
|
69 if (!(ptyname = ptsname (fd))) \ |
26090 | 70 { emacs_close (fd); return -1; } \ |
14055
df451c7f6820
(PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents:
13708
diff
changeset
|
71 strncpy (pty_name, ptyname, sizeof (pty_name)); \ |
df451c7f6820
(PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents:
13708
diff
changeset
|
72 pty_name[sizeof (pty_name) - 1] = 0; \ |
8513
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
73 } |
52401 | 74 |
75 /* arch-tag: a8fe2e15-e517-49cb-a863-f346b80885fe | |
76 (do not change this comment) */ |