summaryrefslogtreecommitdiffhomepage
path: root/auto/unix
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2017-01-17 20:00:00 +0300
committerIgor Sysoev <igor@sysoev.ru>2017-01-17 20:00:00 +0300
commit16cbf3c076a0aca6d47adaf3f719493674cf2363 (patch)
treee6530480020f62a2bdbf249988ec3e2a751d3927 /auto/unix
downloadunit-16cbf3c076a0aca6d47adaf3f719493674cf2363.tar.gz
unit-16cbf3c076a0aca6d47adaf3f719493674cf2363.tar.bz2
Initial version.
Diffstat (limited to 'auto/unix')
-rw-r--r--auto/unix153
1 files changed, 153 insertions, 0 deletions
diff --git a/auto/unix b/auto/unix
new file mode 100644
index 00000000..18256007
--- /dev/null
+++ b/auto/unix
@@ -0,0 +1,153 @@
+
+# Copyright (C) Igor Sysoev
+# Copyright (C) NGINX, Inc.
+
+
+nxt_feature="arc4random()"
+nxt_feature_name=NXT_HAVE_ARC4RANDOM
+nxt_feature_run=
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#include <stdlib.h>
+
+ int main() {
+
+ (void) arc4random();
+
+ return 0;
+ }"
+. auto/feature
+
+
+# Linux 3.17 getrandom().
+
+nxt_feature="getrandom()"
+nxt_feature_name=NXT_HAVE_GETRANDOM
+nxt_feature_run=
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#include <linux/random.h>
+
+ int main() {
+ char buf[4];
+
+ (void) getrandom(buf, 4, 0);
+
+ return 0;
+ }"
+. auto/feature
+
+
+nxt_feature="ucontext"
+nxt_feature_name=NXT_HAVE_UCONTEXT
+nxt_feature_run=
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#include <stdlib.h>
+ #include <ucontext.h>
+
+ int main() {
+ ucontext_t uc;
+
+ if (getcontext(&uc) == 0) {
+ makecontext(&uc, NULL, 0);
+ setcontext(&uc);
+ }
+
+ return 0;
+ }"
+. auto/feature
+
+
+if [ $nxt_found = no ]; then
+
+ # MacOSX 10.6 (Snow Leopard) has deprecated ucontext
+ # and requires _XOPEN_SOURCE to be defined.
+
+ nxt_feature="_XOPEN_SOURCE ucontext"
+ nxt_feature_name=NXT_HAVE_UCONTEXT
+ nxt_feature_run=
+ nxt_feature_incs=
+ nxt_feature_libs=
+ nxt_feature_test="#define _XOPEN_SOURCE
+ #include <stdlib.h>
+ #include <ucontext.h>
+
+ int main() {
+ ucontext_t uc;
+
+ if (getcontext(&uc) == 0) {
+ makecontext(&uc, NULL, 0);
+ setcontext(&uc);
+ }
+
+ return 0;
+ }"
+ . auto/feature
+fi
+
+
+# FreeBSD dlopen() is in libc.
+# MacOSX libdl.dylib is a symlink to libSystem.dylib.
+
+NXT_LIBDL=
+
+nxt_feature="dlopen()"
+nxt_feature_name=NXT_HAVE_DLOPEN
+nxt_feature_run=
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#include <stdlib.h>
+ #include <dlfcn.h>
+
+ int main() {
+ dlopen(NULL, 0);
+ return 0;
+ }"
+. auto/feature
+
+if [ $nxt_found = no ]; then
+
+ # Linux and Solaris prior to 10 require libdl.
+ # Solaris 10 libdl.so.1 is a filter to /usr/lib/ld.so.1.
+
+ nxt_feature="dlopen() in libdl"
+ nxt_feature_libs="-ldl"
+ . auto/feature
+
+ if [ $nxt_found = yes ]; then
+ NXT_LIBDL="-ldl"
+ fi
+fi
+
+
+nxt_feature="posix_spawn()"
+nxt_feature_name=NXT_HAVE_POSIX_SPAWN
+nxt_feature_run=
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#include <spawn.h>
+ #include <unistd.h>
+
+ int main() {
+ (void) posix_spawn(NULL, NULL, NULL, NULL, NULL, NULL);
+ return 0;
+ }"
+. auto/feature
+
+
+# NetBSD 1.0, OpenBSD 1.0, FreeBSD 2.2 setproctitle().
+
+nxt_feature="setproctitle()"
+nxt_feature_name=NXT_HAVE_SETPROCTITLE
+nxt_feature_run=
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#include <stdlib.h>
+ #include <unistd.h>
+
+ int main() {
+ setproctitle(\"%s\", \"title\");
+ return 0;
+ }"
+. auto/feature