Mercurial > hg > nginx-vendor-0-6
diff auto/os/linux @ 0:f0b350454894 NGINX_0_1_0
nginx 0.1.0
*) The first public version.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 04 Oct 2004 00:00:00 +0400 |
parents | |
children | 4b2dafa26fe2 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/auto/os/linux @@ -0,0 +1,82 @@ + +# Copyright (C) Igor Sysoev + + +CORE_INCS="$UNIX_INCS" +CORE_DEPS="$UNIX_DEPS $LINUX_DEPS" +CORE_SRCS="$UNIX_SRCS $LINUX_SRCS" +EVENT_MODULES="$EVENT_MODULES" + +PIPE="-pipe" + + +CC_TEST_FLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" + +# Linux kernel version + +version=`grep "#define LINUX_VERSION_CODE" /usr/include/linux/version.h \ + | sed -e 's/^.* \(.*\)$/\1/'` + + +# enable the rt signals on Linux 2.2.19 and onward + +if [ $version -ge 131609 -o $EVENT_RTSIG = YES ]; then + echo " + using rt signals" + have=HAVE_RTSIG . auto/have + EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE" + CORE_SRCS="$CORE_SRCS $RTSIG_SRCS" + EVENT_FOUND=YES +fi + + +# epoll, EPOLLET version + +ngx_func="epoll"; +ngx_func_inc="#include <sys/epoll.h>" +ngx_func_test="int efd = 0, fd = 1, n; + struct epoll_event ee; + ee.events = EPOLLIN|EPOLLOUT|EPOLLET; + ee.data.ptr = NULL; + n = epoll_ctl(efd, EPOLL_CTL_ADD, fd, &ee)" +. auto/func + +if [ $ngx_found = yes ]; then + have=HAVE_EPOLL . auto/have + have=HAVE_CLEAR_EVENT . auto/have + CORE_SRCS="$CORE_SRCS $EPOLL_SRCS" + EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE" + EVENT_FOUND=YES +fi + + +# sendfile() + +CC_TEST_FLAGS="-D_GNU_SOURCE" +ngx_func="sendfile()"; +ngx_func_inc="#include <sys/sendfile.h>" +ngx_func_test="int s = 0, fd = 1; + ssize_t n; off_t off = 0; + n = sendfile(s, fd, &off, 1)" +. auto/func + +if [ $ngx_found = yes ]; then + CORE_SRCS="$CORE_SRCS $LINUX_SENDFILE_SRCS" +fi + + +# sendfile64() + +CC_TEST_FLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" +ngx_func="sendfile64()"; . auto/func + + +# prctl(PR_SET_DUMPABLE) + +ngx_func="prctl()"; +ngx_func_inc="#include <sys/prctl.h>" +ngx_func_test="prctl(PR_SET_DUMPABLE, 1, 0, 0, 0)" +. auto/func + +if [ $ngx_found = yes ]; then + have=HAVE_PR_SET_DUMPABLE . auto/have +fi