annotate src/s/darwin.h @ 96951:d446aa6e3dda

(ELCFILES): Remove isearch-multi.elc. Add misearch.elc.
author Juri Linkov <juri@jurta.org>
date Wed, 23 Jul 2008 23:50:56 +0000
parents 70e18d24c496
children e58e8418725b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
1 /* System description header file for Darwin (Mac OS X).
94715
1f134b61867c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94615
diff changeset
2 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007,
1f134b61867c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94615
diff changeset
3 2008 Free Software Foundation, Inc.
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
4
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
5 This file is part of GNU Emacs.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
6
94715
1f134b61867c Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94615
diff changeset
7 GNU Emacs is free software: you can redistribute it and/or modify
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
8 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: 94615
diff changeset
9 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: 94615
diff changeset
10 (at your option) any later version.
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
11
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
15 GNU General Public License for more details.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
16
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
17 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: 94615
diff changeset
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
19
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
20
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
21 /*
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
22 * Define symbols to identify the version of Unix this is.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
23 * Define all the symbols that apply correctly.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
24 */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
25
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
26 #define BSD4_2
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
27 /* BSD4_3 and BSD4_4 are already defined in sys/param.h */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
28 #define BSD_SYSTEM
59689
007a1a6d92de * s/darwin.h: Removed PTY_ITERATION from here.
Steven Tamm <steventamm@mac.com>
parents: 59658
diff changeset
29
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
30 /* MAC_OS is used to conditionally compile code common to both MAC_OS8
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
31 and MAC_OSX. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
32 #ifdef MAC_OSX
46776
16b6134d7193 In src:
Andrew Choi <akochoi@shaw.ca>
parents: 46125
diff changeset
33 #ifdef HAVE_CARBON
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
34 #define MAC_OS
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
35 #endif
46776
16b6134d7193 In src:
Andrew Choi <akochoi@shaw.ca>
parents: 46125
diff changeset
36 #endif
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
37
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
38 /* SYSTEM_TYPE should indicate the kind of system you are using.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
39 It sets the Lisp variable system-type. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
40
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
41 #define SYSTEM_TYPE "darwin"
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
42
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
43 /* Emacs can read input using SIGIO and buffering characters itself,
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
44 or using CBREAK mode and making C-g cause SIGINT.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
45 The choice is controlled by the variable interrupt_input.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
46
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
47 Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
48
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
49 Emacs uses the presence or absence of the SIGIO and BROKEN_SIGIO macros
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
50 to indicate whether or not signal-driven I/O is possible. It uses
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
51 INTERRUPT_INPUT to decide whether to use it by default.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
52
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
53 SIGIO can be used only on systems that implement it (4.2 and 4.3).
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
54 CBREAK mode has two disadvantages
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
55 1) At least in 4.2, it is impossible to handle the Meta key properly.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
56 I hear that in system V this problem does not exist.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
57 2) Control-G causes output to be discarded.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
58 I do not know whether this can be fixed in system V.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
59
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
60 Another method of doing input is planned but not implemented.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
61 It would have Emacs fork off a separate process
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
62 to read the input and send it to the true Emacs process
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
63 through a pipe. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
64
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
65 #define INTERRUPT_INPUT
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
66
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
67 /* Letter to use in finding device name of first pty,
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
68 if system supports pty's. 'a' means it is /dev/ptya0 */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
69
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
70 #define FIRST_PTY_LETTER 'p'
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
71
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
72 /*
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
73 * Define HAVE_TERMIOS if the system provides POSIX-style
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
74 * functions and macros for terminal control.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
75 *
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
76 * Define HAVE_TERMIO if the system provides sysV-style ioctls
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
77 * for terminal control.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
78 *
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
79 * Do not define both. HAVE_TERMIOS is preferred, if it is
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
80 * supported on your system.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
81 */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
82
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
83 #define HAVE_TERMIOS
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
84
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
85 #define NO_TERMIO
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
86
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
87 /*
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
88 * Define HAVE_PTYS if the system supports pty devices.
59689
007a1a6d92de * s/darwin.h: Removed PTY_ITERATION from here.
Steven Tamm <steventamm@mac.com>
parents: 59658
diff changeset
89 * Note: PTYs are broken on darwin <6. Use at your own risk.
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
90 */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
91
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
92 #define HAVE_PTYS
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
93
59689
007a1a6d92de * s/darwin.h: Removed PTY_ITERATION from here.
Steven Tamm <steventamm@mac.com>
parents: 59658
diff changeset
94 /**
007a1a6d92de * s/darwin.h: Removed PTY_ITERATION from here.
Steven Tamm <steventamm@mac.com>
parents: 59658
diff changeset
95 * PTYs only work correctly on Darwin 7 or higher. So make the
007a1a6d92de * s/darwin.h: Removed PTY_ITERATION from here.
Steven Tamm <steventamm@mac.com>
parents: 59658
diff changeset
96 * default for process-connection-type dependent on the kernel
007a1a6d92de * s/darwin.h: Removed PTY_ITERATION from here.
Steven Tamm <steventamm@mac.com>
parents: 59658
diff changeset
97 * version.
59658
45074d913d23 * editfns.c (Voperating_system_release): Added.
Steven Tamm <steventamm@mac.com>
parents: 58634
diff changeset
98 */
77078
29afb1b6d0f6 (__restrict, struct kboard): Remove outdated workarounds.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75348
diff changeset
99 #define MIN_PTY_KERNEL_VERSION '7'
59658
45074d913d23 * editfns.c (Voperating_system_release): Added.
Steven Tamm <steventamm@mac.com>
parents: 58634
diff changeset
100
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
101 /* Define this symbol if your system has the functions bcopy, etc. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
102
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
103 #define BSTRING
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
104
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
105 /* define MAIL_USE_FLOCK if the mailer uses flock
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
106 to interlock access to /usr/spool/mail/$USER.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
107 The alternative is that a lock file named
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
108 /usr/spool/mail/$USER.lock. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
109
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
110 #define MAIL_USE_FLOCK
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
111
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
112 /* Define CLASH_DETECTION if you want lock files to be written
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
113 so that Emacs can tell instantly when you try to modify
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
114 a file that someone else has modified in his Emacs. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
115
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
116 #define CLASH_DETECTION
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
117
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
118 /* Avoid the use of the name init_process (process.c) because it is
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
119 also the name of a Mach system call. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
120 #define init_process emacs_init_process
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
121
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
122 /* Used in dispnew.c. Copied from freebsd.h. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
123 #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
124
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
125 /* System uses OXTABS instead of the expected TAB3. (Copied from
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
126 bsd386.h.) */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
127 #define TAB3 OXTABS
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
128
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
129 /* Darwin ld insists on the use of malloc routines in the System
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
130 framework. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
131 #define SYSTEM_MALLOC
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
132
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
133 /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
134 #define HAVE_SOCKETS
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
135
58634
95d38c47c806 * keyboard.c: Don't undef SIGIO
Steven Tamm <steventamm@mac.com>
parents: 58559
diff changeset
136 /* In Carbon, asynchronous I/O (using SIGIO) can't be used for window
95d38c47c806 * keyboard.c: Don't undef SIGIO
Steven Tamm <steventamm@mac.com>
parents: 58559
diff changeset
137 events because they don't come from sockets, even though it works
95d38c47c806 * keyboard.c: Don't undef SIGIO
Steven Tamm <steventamm@mac.com>
parents: 58559
diff changeset
138 fine on tty's. */
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96583
diff changeset
139 /* This seems to help in Ctrl-G detection under Cocoa, however at the cost
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96583
diff changeset
140 of some quirks that may or may not bother a given user. */
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96583
diff changeset
141 #if defined (HAVE_CARBON) || defined (COCOA_EXPERIMENTAL_CTRL_G)
58634
95d38c47c806 * keyboard.c: Don't undef SIGIO
Steven Tamm <steventamm@mac.com>
parents: 58559
diff changeset
142 #define NO_SOCK_SIGIO
95d38c47c806 * keyboard.c: Don't undef SIGIO
Steven Tamm <steventamm@mac.com>
parents: 58559
diff changeset
143 #endif
95d38c47c806 * keyboard.c: Don't undef SIGIO
Steven Tamm <steventamm@mac.com>
parents: 58559
diff changeset
144
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
145 /* Extra initialization calls in main for Mac OS X system type. */
46776
16b6134d7193 In src:
Andrew Choi <akochoi@shaw.ca>
parents: 46125
diff changeset
146 #ifdef HAVE_CARBON
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
147 #define SYMS_SYSTEM syms_of_mac()
46776
16b6134d7193 In src:
Andrew Choi <akochoi@shaw.ca>
parents: 46125
diff changeset
148 #endif
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
149
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
150 /* Definitions for how to dump. Copied from nextstep.h. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
151
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
152 #define UNEXEC unexmacosx.o
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
153
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
154 #define START_FILES pre-crt0.o
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
155
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
156 /* start_of_text isn't actually used, so make it compile without error. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
157 #define TEXT_START (0)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
158
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
159 /* This seems to be right for end_of_text, but it may not be used anyway. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
160 #define TEXT_END get_etext()
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
161
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
162 /* Definitions for how to compile & link. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
163
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96583
diff changeset
164 /* Link in the Carbon or AppKit lib. */
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96583
diff changeset
165 #ifdef HAVE_NS
96764
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
166 /* PENDING: can this target be specified in a clearer way? */
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
167 #define OTHER_FILES ns-app
96763
a27390a84360 change most cases of PENDING to TODO, some to FIXME or XXX
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96721
diff changeset
168 /* XXX: lresolv is here because configure when testing #undefs res_init,
a27390a84360 change most cases of PENDING to TODO, some to FIXME or XXX
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96721
diff changeset
169 a macro in /usr/include/resolv.h for res_9_init, not in stdc lib. */
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96583
diff changeset
170 #define LIBS_MACGUI -framework AppKit -lresolv
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96583
diff changeset
171 #define SYSTEM_PURESIZE_EXTRA 200000
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96583
diff changeset
172 #define HEADERPAD_EXTRA 6C8
96764
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
173 #else /* !HAVE_NS */
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96583
diff changeset
174 #define HEADERPAD_EXTRA 690
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
175
96764
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
176 /* This is for the Carbon port. Under the NeXTstep port, this is still picked
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
177 up during preprocessing, but is undone in config.in. */
77078
29afb1b6d0f6 (__restrict, struct kboard): Remove outdated workarounds.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75348
diff changeset
178 #define C_SWITCH_SYSTEM -fpascal-strings -DMAC_OSX
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
179
80549
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
180 #ifdef HAVE_CARBON
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
181
96764
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
182 /* We need a little extra space, see ../../lisp/loadup.el. */
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
183 #define SYSTEM_PURESIZE_EXTRA 30000
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
184
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
185 /* Link in the Carbon lib. */
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
186 #define LIBS_MACGUI -framework Carbon LIBS_IMAGE
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
187
80549
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
188 #ifdef HAVE_AVAILABILITYMACROS_H
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
189 #include <AvailabilityMacros.h>
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
190 #endif
96764
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
191 /* Tell src/Makefile.in to create files in the Mac OS X application
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
192 bundle mac/Emacs.app. */
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
193 #define OTHER_FILES macosx-app
80549
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
194
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
195 /* Whether to use the Image I/O framework for reading images. */
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
196 #ifndef USE_MAC_IMAGE_IO
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
197 #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 && (MAC_OS_X_VERSION_MIN_REQUIRED >= 1040 || MAC_OS_X_VERSION_MIN_REQUIRED < 1020)
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
198 #define USE_MAC_IMAGE_IO 1
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
199 #endif
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
200 #endif
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
201
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
202 /* If the Image I/O framework is not used, fall back on QuickTime. */
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
203 #if USE_MAC_IMAGE_IO
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
204 #define LIBS_IMAGE
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
205 #else
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
206 #define LIBS_IMAGE -framework QuickTime
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
207 #endif
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
208
96764
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
209 /* Reroute calls to SELECT to the version defined in mac.c to fix the
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
210 problem of Emacs requiring an extra return to be typed to start
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
211 working when started from the command line. */
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
212 #if defined (emacs) || defined (temacs)
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
213 #define select sys_select
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
214 #endif
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
215
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
216 #else /* !HAVE_CARBON */
1307c33f5e9a * ecrt0.c: Remove code depending on m68000, not used anymore.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96763
diff changeset
217 #define LIBS_MACGUI
80549
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
218 #endif /* HAVE_CARBON */
53a1e0dd23cc [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79756
diff changeset
219
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96583
diff changeset
220 #endif /* !HAVE_NS */
56892
02d9436a8b32 (LIBS_CARBON): New define to specify libraries for
Steven Tamm <steventamm@mac.com>
parents: 54150
diff changeset
221
02d9436a8b32 (LIBS_CARBON): New define to specify libraries for
Steven Tamm <steventamm@mac.com>
parents: 54150
diff changeset
222 /* The -headerpad option tells ld (see man page) to leave room at the
02d9436a8b32 (LIBS_CARBON): New define to specify libraries for
Steven Tamm <steventamm@mac.com>
parents: 54150
diff changeset
223 end of the header for adding load commands. Needed for dumping.
02d9436a8b32 (LIBS_CARBON): New define to specify libraries for
Steven Tamm <steventamm@mac.com>
parents: 54150
diff changeset
224 0x690 is the total size of 30 segment load commands (at 56
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96583
diff changeset
225 each); under Cocoa 31 commands are required. */
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96583
diff changeset
226 #define LD_SWITCH_SYSTEM_TEMACS -prebind LIBS_MACGUI -Xlinker -headerpad -Xlinker HEADERPAD_EXTRA
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
227
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
228 #define C_SWITCH_SYSTEM_TEMACS -Dtemacs
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
229
45848
39cdf9669519 In src/:
Andrew Choi <akochoi@shaw.ca>
parents: 44890
diff changeset
230 /* The ncurses library has been moved out of the System framework in
39cdf9669519 In src/:
Andrew Choi <akochoi@shaw.ca>
parents: 44890
diff changeset
231 Mac OS X 10.2. So if ./configure detects it, set the command-line
39cdf9669519 In src/:
Andrew Choi <akochoi@shaw.ca>
parents: 44890
diff changeset
232 option to use it. */
39cdf9669519 In src/:
Andrew Choi <akochoi@shaw.ca>
parents: 44890
diff changeset
233 #ifdef HAVE_LIBNCURSES
39cdf9669519 In src/:
Andrew Choi <akochoi@shaw.ca>
parents: 44890
diff changeset
234 #define LIBS_TERMCAP -lncurses
47063
e239d6c210ed 2002-08-27 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents: 47033
diff changeset
235 /* This prevents crashes when running Emacs in Terminal.app under
e239d6c210ed 2002-08-27 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents: 47033
diff changeset
236 10.2. */
e239d6c210ed 2002-08-27 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents: 47033
diff changeset
237 #define TERMINFO
45848
39cdf9669519 In src/:
Andrew Choi <akochoi@shaw.ca>
parents: 44890
diff changeset
238 #endif
39cdf9669519 In src/:
Andrew Choi <akochoi@shaw.ca>
parents: 44890
diff changeset
239
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
240 /* Link this program just by running cc. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
241 #define ORDINARY_LINK
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
242
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
243 /* We don't have a g library, so override the -lg LIBS_DEBUG switch. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
244 #define LIBS_DEBUG
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
245
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
246 /* Adding -lm confuses the dynamic linker, so omit it. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
247 #define LIB_MATH
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
248
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
249 /* Define the following so emacs symbols will not conflict with those
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
250 in the System framework. Otherwise -prebind will not work. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
251
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
252 /* Do not define abort in emacs.c. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
253 #define NO_ABORT
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
254
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
255 /* Do not define matherr in floatfns.c. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
256 #define NO_MATHERR
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
257
47031
56242900e171 2002-08-25 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents: 46856
diff changeset
258 /* The following solves the problem that Emacs hangs when evaluating
56242900e171 2002-08-25 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents: 46856
diff changeset
259 (make-comint "test0" "/nodir/nofile" nil "") when /nodir/nofile
80611
ab61e807a6da Mention setsid after vfork.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80549
diff changeset
260 does not exist. Also, setsid is not allowed in the vfork child's
ab61e807a6da Mention setsid after vfork.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80549
diff changeset
261 context as of Darwin 9/Mac OS X 10.5. */
47031
56242900e171 2002-08-25 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents: 46856
diff changeset
262 #undef HAVE_WORKING_VFORK
56242900e171 2002-08-25 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents: 46856
diff changeset
263 #define vfork fork
66765
9651981950f5 (C_SWITCH_SYSTEM): Remove -fno-common.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64769
diff changeset
264
9651981950f5 (C_SWITCH_SYSTEM): Remove -fno-common.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64769
diff changeset
265 /* Don't close pty in process.c to make it as controlling terminal.
9651981950f5 (C_SWITCH_SYSTEM): Remove -fno-common.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64769
diff changeset
266 It is already a controlling terminal of subprocess, because we did
9651981950f5 (C_SWITCH_SYSTEM): Remove -fno-common.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64769
diff changeset
267 ioctl TIOCSCTTY. */
47033
f6d6e1b3e7b7 2002-08-25 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents: 47032
diff changeset
268 #define DONT_REOPEN_PTY
46125
474a28fb856c 2002-07-01 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents: 45848
diff changeset
269
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
270 #ifdef temacs
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
271 #define malloc unexec_malloc
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
272 #define realloc unexec_realloc
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
273 #define free unexec_free
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
274 #endif
46856
eba75fedd593 2002-08-10 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents: 46776
diff changeset
275
58559
643823aaa8df (POSIX_SIGNALS): Undo the removal of 2002-08-25,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 56892
diff changeset
276 /* This makes create_process in process.c save and restore signal
643823aaa8df (POSIX_SIGNALS): Undo the removal of 2002-08-25,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 56892
diff changeset
277 handlers correctly. Suggested by Nozomu Ando.*/
643823aaa8df (POSIX_SIGNALS): Undo the removal of 2002-08-25,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 56892
diff changeset
278 #define POSIX_SIGNALS
643823aaa8df (POSIX_SIGNALS): Undo the removal of 2002-08-25,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 56892
diff changeset
279
52826
99773e17bcaf s/darwin.h (GC_MARK_STACK): Define.
Andrew Choi <akochoi@shaw.ca>
parents: 52401
diff changeset
280 /* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the
99773e17bcaf s/darwin.h (GC_MARK_STACK): Define.
Andrew Choi <akochoi@shaw.ca>
parents: 52401
diff changeset
281 stack. */
99773e17bcaf s/darwin.h (GC_MARK_STACK): Define.
Andrew Choi <akochoi@shaw.ca>
parents: 52401
diff changeset
282 #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
99773e17bcaf s/darwin.h (GC_MARK_STACK): Define.
Andrew Choi <akochoi@shaw.ca>
parents: 52401
diff changeset
283
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
284 /* arch-tag: 481d443d-4f89-43ea-b5fb-49706d95fa41
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
285 (do not change this comment) */