aboutsummaryrefslogtreecommitdiffstats
path: root/missing
diff options
context:
space:
mode:
Diffstat (limited to 'missing')
-rw-r--r--missing/crt_externs.h8
-rw-r--r--missing/setproctitle.c10
2 files changed, 15 insertions, 3 deletions
diff --git a/missing/crt_externs.h b/missing/crt_externs.h
new file mode 100644
index 0000000000..cc96d46738
--- /dev/null
+++ b/missing/crt_externs.h
@@ -0,0 +1,8 @@
+#ifndef MISSING_CRT_EXTERNS_H
+#define MISSING_CRT_EXTERNS_H
+
+char ***_NSGetEnviron();
+#undef environ
+#define environ (*_NSGetEnviron())
+
+#endif
diff --git a/missing/setproctitle.c b/missing/setproctitle.c
index d35e70d534..9dcf37560b 100644
--- a/missing/setproctitle.c
+++ b/missing/setproctitle.c
@@ -49,9 +49,13 @@
#include <string.h>
#if defined(__APPLE__)
-#include <crt_externs.h>
-#undef environ
-#define environ (*_NSGetEnviron())
+# ifdef HAVE_CRT_EXTERNS_H
+# include <crt_externs.h>
+# undef environ
+# define environ (*_NSGetEnviron())
+# else
+# include "crt_externs.h"
+# endif
#endif
#define SPT_NONE 0 /* don't use it at all */