/* System description header file for Darwin (Mac OS X).
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007,
- 2008 Free Software Foundation, Inc.
+ 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of GNU Emacs.
*/
#define HAVE_PTYS
+/* Run only once. We need a `for'-loop because the code uses
+ `continue'. */
+#define PTY_ITERATION for (i = 0; i < 1; i++)
+#define PTY_NAME_SPRINTF /* none */
+#define PTY_TTY_NAME_SPRINTF /* none */
+/* Note that openpty may fork via grantpt on Mac OS X 10.4/Darwin 8.
+ But we don't have to block SIGCHLD because it is blocked in the
+ implementation of grantpt. */
+#define PTY_OPEN \
+ do \
+ { \
+ int slave; \
+ if (openpty (&fd, &slave, pty_name, NULL, NULL) == -1) \
+ fd = -1; \
+ else \
+ emacs_close (slave); \
+ } \
+ while (0)
/**
* PTYs only work correctly on Darwin 7 or higher. So make the
/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
#define HAVE_SOCKETS
-/* This seems to help in Ctrl-G detection under Cocoa, however at the cost
- of some quirks that may or may not bother a given user.
- It was earlier commented that "In Carbon, asynchronous I/O (using SIGIO)
- can't be used for window events because they don't come from sockets,
- even though it works fine on tty's. Uncertain about situation in Cocoa. */
-#ifdef COCOA_EXPERIMENTAL_CTRL_G
-#define NO_SOCK_SIGIO
-#endif
-
/* Definitions for how to dump. Copied from nextstep.h. */
#define UNEXEC unexmacosx.o
each); under Cocoa 31 commands are required. */
#define LD_SWITCH_SYSTEM_TEMACS -prebind LIBS_NSGUI -Xlinker -headerpad -Xlinker HEADERPAD_EXTRA
-#define C_SWITCH_SYSTEM_TEMACS -Dtemacs
-
-#ifdef temacs
+#ifdef emacs
#define malloc unexec_malloc
#define realloc unexec_realloc
#define free unexec_free
+/* Don't use posix_memalign because it is not compatible with
+ unexmacosx.c. */
+#undef HAVE_POSIX_MEMALIGN
#endif
/* The ncurses library has been moved out of the System framework in
/* Link this program just by running cc. */
#define ORDINARY_LINK
-/* We don't have a g library, so override the -lg LIBS_DEBUG switch. */
-#define LIBS_DEBUG
-
/* Adding -lm confuses the dynamic linker, so omit it. */
#define LIB_MATH