aboutsummaryrefslogtreecommitdiffstats
path: root/erts/etc/unix/run_erl.c
diff options
context:
space:
mode:
Diffstat (limited to 'erts/etc/unix/run_erl.c')
-rw-r--r--erts/etc/unix/run_erl.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/erts/etc/unix/run_erl.c b/erts/etc/unix/run_erl.c
index ff9bbbafe2..30210ac172 100644
--- a/erts/etc/unix/run_erl.c
+++ b/erts/etc/unix/run_erl.c
@@ -41,10 +41,15 @@
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
-#if defined(HAVE_WORKING_POSIX_OPENPT) && !(defined(__FreeBSD__) || defined(__DragonFly__))
-#ifndef _XOPEN_SOURCE
-#define _XOPEN_SOURCE 600
-#endif
+#ifdef HAVE_WORKING_POSIX_OPENPT
+# ifndef _XOPEN_SOURCE
+ /* On OS X and BSD, we must leave _XOPEN_SOURCE undefined in order for
+ * the prototype of vsyslog() to be included.
+ */
+# if !(defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__))
+# define _XOPEN_SOURCE 600
+# endif
+# endif
#endif
#include <sys/types.h>
#include <sys/wait.h>