diff options
author | Igor Sysoev <igor@sysoev.ru> | 2017-01-17 20:00:00 +0300 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2017-01-17 20:00:00 +0300 |
commit | 16cbf3c076a0aca6d47adaf3f719493674cf2363 (patch) | |
tree | e6530480020f62a2bdbf249988ec3e2a751d3927 /auto/unix | |
download | unit-16cbf3c076a0aca6d47adaf3f719493674cf2363.tar.gz unit-16cbf3c076a0aca6d47adaf3f719493674cf2363.tar.bz2 |
Initial version.
Diffstat (limited to 'auto/unix')
-rw-r--r-- | auto/unix | 153 |
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 |