Mercurial > emacs
annotate src/s/sol2-3.h @ 96181:04672578b29d
*** empty log message ***
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Sat, 21 Jun 2008 20:30:00 +0000 |
parents | 1f134b61867c |
children | cb1bfa1dca4f |
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 |
94715
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79756
diff
changeset
|
3 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79756
diff
changeset
|
4 2008 Free Software Foundation, Inc. |
75944
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 |
94715
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79756
diff
changeset
|
8 GNU Emacs is free software: you can redistribute it and/or modify |
75944
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 |
94715
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79756
diff
changeset
|
10 the Free Software Foundation, either version 3 of the License, or |
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79756
diff
changeset
|
11 (at your option) any later version. |
75944
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 |
94715
1f134b61867c
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79756
diff
changeset
|
19 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
75944
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
20 |
ecc35001afc5
Add copyright and license notice. Copyright years copied from base
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
21 |
6840 | 22 #include "sol2.h" |
5227 | 23 |
24 /* Solaris 2.3 has a bug in XListFontsWithInfo. */ | |
25 #define BROKEN_XLISTFONTSWITHINFO | |
6104
44fc65a7fc46
(LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5227
diff
changeset
|
26 |
44fc65a7fc46
(LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5227
diff
changeset
|
27 /* 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
|
28 |
44fc65a7fc46
(LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5227
diff
changeset
|
29 #undef LD_SWITCH_SYSTEM |
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 #ifndef __GNUC__ |
44fc65a7fc46
(LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents:
5227
diff
changeset
|
32 #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
|
33 #else /* GCC */ |
7356
55588e31b258
(LD_SWITCH_SYSTEM): Use ./prefix-args, not -Xlinker directly.
Richard M. Stallman <rms@gnu.org>
parents:
6840
diff
changeset
|
34 /* 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
|
35 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
|
36 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
|
37 #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
|
38 `./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
|
39 #endif /* GCC */ |
8513
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
40 |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
41 /* Info from fnf@cygnus.com suggests this is appropriate. */ |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
42 #define POSIX_SIGNALS |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
43 |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
44 /* 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
|
45 #undef sigsetmask |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
46 |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
47 /* 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
|
48 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
|
49 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
|
50 (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
|
51 /* 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
|
52 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
|
53 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
|
54 within, it should be caught after sigrelse(2). */ |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
55 |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
56 #undef PTY_TTY_NAME_SPRINTF |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
57 #define PTY_TTY_NAME_SPRINTF \ |
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
58 { \ |
14055
df451c7f6820
(PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents:
13708
diff
changeset
|
59 char *ptsname (), *ptyname; \ |
8513
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 sigblock (sigmask (SIGCLD)); \ |
df451c7f6820
(PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents:
13708
diff
changeset
|
62 if (grantpt (fd) == -1) \ |
26090 | 63 { emacs_close (fd); return -1; } \ |
14055
df451c7f6820
(PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents:
13708
diff
changeset
|
64 sigunblock (sigmask (SIGCLD)); \ |
df451c7f6820
(PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents:
13708
diff
changeset
|
65 if (unlockpt (fd) == -1) \ |
26090 | 66 { emacs_close (fd); return -1; } \ |
14055
df451c7f6820
(PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents:
13708
diff
changeset
|
67 if (!(ptyname = ptsname (fd))) \ |
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 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
|
70 pty_name[sizeof (pty_name) - 1] = 0; \ |
8513
d11ec52807d6
(POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents:
7356
diff
changeset
|
71 } |
52401 | 72 |
73 /* arch-tag: a8fe2e15-e517-49cb-a863-f346b80885fe | |
74 (do not change this comment) */ |