1 |
/* System description header file for Darwin (Mac OS X). |
/* System description header file for Darwin (Mac OS X). |
2 |
Copyright (C) 2001 Free Software Foundation, Inc. |
Copyright (C) 2001, 2002 Free Software Foundation, Inc. |
3 |
|
|
4 |
This file is part of GNU Emacs. |
This file is part of GNU Emacs. |
5 |
|
|
40 |
/* MAC_OS is used to conditionally compile code common to both MAC_OS8 |
/* MAC_OS is used to conditionally compile code common to both MAC_OS8 |
41 |
and MAC_OSX. */ |
and MAC_OSX. */ |
42 |
#ifdef MAC_OSX |
#ifdef MAC_OSX |
43 |
|
#ifdef HAVE_CARBON |
44 |
#define MAC_OS |
#define MAC_OS |
45 |
#endif |
#endif |
46 |
|
#endif |
47 |
|
|
48 |
/* SYSTEM_TYPE should indicate the kind of system you are using. |
/* SYSTEM_TYPE should indicate the kind of system you are using. |
49 |
It sets the Lisp variable system-type. */ |
It sets the Lisp variable system-type. */ |
178 |
|
|
179 |
/* If the system's imake configuration file defines `NeedWidePrototypes' |
/* If the system's imake configuration file defines `NeedWidePrototypes' |
180 |
as `NO', we must define NARROWPROTO manually. Such a define is |
as `NO', we must define NARROWPROTO manually. Such a define is |
181 |
generated in the Makefile generated by `xmkmf'. If we don't |
generated in the Makefile generated by `xmkmf'. If we don't |
182 |
define NARROWPROTO, we will see the wrong function prototypes |
define NARROWPROTO, we will see the wrong function prototypes |
183 |
for X functions taking float or double parameters. */ |
for X functions taking float or double parameters. */ |
184 |
|
|
209 |
/* Used in dispnew.c. Copied from freebsd.h. */ |
/* Used in dispnew.c. Copied from freebsd.h. */ |
210 |
#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) |
#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) |
211 |
|
|
|
/* Darwin provides POSIX-style getpgrp. */ |
|
|
#define GETPGRP_NO_ARG |
|
|
|
|
212 |
/* System uses OXTABS instead of the expected TAB3. (Copied from |
/* System uses OXTABS instead of the expected TAB3. (Copied from |
213 |
bsd386.h.) */ |
bsd386.h.) */ |
214 |
#define TAB3 OXTABS |
#define TAB3 OXTABS |
221 |
#define HAVE_SOCKETS |
#define HAVE_SOCKETS |
222 |
|
|
223 |
/* Extra initialization calls in main for Mac OS X system type. */ |
/* Extra initialization calls in main for Mac OS X system type. */ |
224 |
|
#ifdef HAVE_CARBON |
225 |
#define SYMS_SYSTEM syms_of_mac() |
#define SYMS_SYSTEM syms_of_mac() |
226 |
|
#endif |
227 |
|
|
228 |
/* Definitions for how to dump. Copied from nextstep.h. */ |
/* Definitions for how to dump. Copied from nextstep.h. */ |
229 |
|
|
254 |
|
|
255 |
#define C_SWITCH_SYSTEM_TEMACS -Dtemacs |
#define C_SWITCH_SYSTEM_TEMACS -Dtemacs |
256 |
|
|
257 |
|
/* The ncurses library has been moved out of the System framework in |
258 |
|
Mac OS X 10.2. So if ./configure detects it, set the command-line |
259 |
|
option to use it. */ |
260 |
|
#ifdef HAVE_LIBNCURSES |
261 |
|
#define LIBS_TERMCAP -lncurses |
262 |
|
/* This prevents crashes when running Emacs in Terminal.app under |
263 |
|
10.2. */ |
264 |
|
#define TERMINFO |
265 |
|
#endif |
266 |
|
|
267 |
/* Link this program just by running cc. */ |
/* Link this program just by running cc. */ |
268 |
#define ORDINARY_LINK |
#define ORDINARY_LINK |
269 |
|
|
275 |
|
|
276 |
/* Tell src/Makefile.in to create files in the Mac OS X application |
/* Tell src/Makefile.in to create files in the Mac OS X application |
277 |
bundle mac/Emacs.app. */ |
bundle mac/Emacs.app. */ |
278 |
|
#ifdef HAVE_CARBON |
279 |
#define OTHER_FILES macosx-app |
#define OTHER_FILES macosx-app |
280 |
|
#endif |
281 |
|
|
282 |
|
|
283 |
/* Define the following so emacs symbols will not conflict with those |
/* Define the following so emacs symbols will not conflict with those |
297 |
struct kboard; |
struct kboard; |
298 |
#endif |
#endif |
299 |
|
|
300 |
|
/* The following solves the problem that Emacs hangs when evaluating |
301 |
|
(make-comint "test0" "/nodir/nofile" nil "") when /nodir/nofile |
302 |
|
does not exist. */ |
303 |
|
#undef HAVE_WORKING_VFORK |
304 |
|
#define vfork fork |
305 |
|
#define DONT_REOPEN_PTY |
306 |
|
|
307 |
#ifdef temacs |
#ifdef temacs |
308 |
#define malloc unexec_malloc |
#define malloc unexec_malloc |
309 |
#define realloc unexec_realloc |
#define realloc unexec_realloc |
310 |
#define free unexec_free |
#define free unexec_free |
311 |
#endif |
#endif |
312 |
|
|
313 |
|
/* Reroute calls to SELECT to the version defined in mac.c to fix the |
314 |
|
problem of Emacs requiring an extra return to be typed to start |
315 |
|
working when started from the command line. */ |
316 |
|
#if defined (HAVE_CARBON) && (defined (emacs) || defined (temacs)) |
317 |
|
#define select sys_select |
318 |
|
#endif |