]> code.delx.au - gnu-emacs/blobdiff - src/s/darwin.h
Remove NOMULTIPLEJOBS, unused.
[gnu-emacs] / src / s / darwin.h
index 068531df146e3e104ff6f77da3d86217691e10c1..016ed343f06af1911baaa6a8ad85404e265d37b3 100644 (file)
@@ -1,6 +1,6 @@
 /* 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.
 
@@ -90,6 +90,24 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
  */
 
 #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
@@ -133,15 +151,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* 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
@@ -154,29 +163,33 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* Definitions for how to compile & link.  */
 
 #ifdef HAVE_NS
-/* XXX: lresolv is here because configure when testing #undefs res_init,
-        a macro in /usr/include/resolv.h for res_9_init, not in stdc lib. */
-#define LIBS_NSGUI -framework AppKit -lresolv
+#define LIBS_NSGUI -framework AppKit
 #define SYSTEM_PURESIZE_EXTRA 200000
 #define HEADERPAD_EXTRA 6C8
-
 #else /* !HAVE_NS */
 #define LIBS_NSGUI
 #define HEADERPAD_EXTRA 690
 #endif /* !HAVE_NS */
 
+/* On Darwin, res_init appears not to be useful: see bug#562 and
+   http://lists.gnu.org/archive/html/emacs-devel/2007-11/msg01467.html  */
+
+#undef HAVE_RES_INIT
+#undef HAVE_LIBRESOLV
+
 /* The -headerpad option tells ld (see man page) to leave room at the
    end of the header for adding load commands.  Needed for dumping.
    0x690 is the total size of 30 segment load commands (at 56
    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
@@ -192,9 +205,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* 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