Annotation of embedaddon/nginx/auto/os/linux, revision 1.1.1.1

1.1       misho       1: 
                      2: # Copyright (C) Igor Sysoev
                      3: # Copyright (C) Nginx, Inc.
                      4: 
                      5: 
                      6: have=NGX_LINUX . auto/have_headers
                      7: 
                      8: CORE_INCS="$UNIX_INCS"
                      9: CORE_DEPS="$UNIX_DEPS $LINUX_DEPS"
                     10: CORE_SRCS="$UNIX_SRCS $LINUX_SRCS"
                     11: 
                     12: ngx_spacer='
                     13: '
                     14: 
                     15: cc_aux_flags="$CC_AUX_FLAGS"
                     16: CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64"
                     17: 
                     18: 
                     19: # Linux kernel version
                     20: 
                     21: version=$((`uname -r \
                     22:     | sed -n -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/ \
                     23:                                                  \1*256*256+\2*256+\3/p' \
                     24:              -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\1*256*256+\2*256/p'`))
                     25: 
                     26: version=${version:-0}
                     27: 
                     28: 
                     29: # enable the rt signals on Linux between 2.2.19 and 2.6.17
                     30: 
                     31: if [ \( $version -ge 131603 -a $version -lt 132626 \) -o $EVENT_RTSIG = YES ]
                     32: then
                     33:     echo " + rt signals found"
                     34:     have=NGX_HAVE_RTSIG . auto/have
                     35:     EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE"
                     36:     CORE_SRCS="$CORE_SRCS $RTSIG_SRCS"
                     37:     EVENT_FOUND=YES
                     38: fi
                     39: 
                     40: 
                     41: # posix_fadvise64() had been implemented in 2.5.60
                     42: 
                     43: if [ $version -lt 132412 ]; then
                     44:     have=NGX_HAVE_POSIX_FADVISE . auto/nohave
                     45: fi
                     46: 
                     47: # epoll, EPOLLET version
                     48: 
                     49: ngx_feature="epoll"
                     50: ngx_feature_name="NGX_HAVE_EPOLL"
                     51: ngx_feature_run=yes
                     52: ngx_feature_incs="#include <sys/epoll.h>"
                     53: ngx_feature_path=
                     54: ngx_feature_libs=
                     55: ngx_feature_test="int efd = 0;
                     56:                   struct epoll_event ee;
                     57:                   ee.events = EPOLLIN|EPOLLOUT|EPOLLET;
                     58:                   ee.data.ptr = NULL;
                     59:                   efd = epoll_create(100);
                     60:                   if (efd == -1) return 1;"
                     61: . auto/feature
                     62: 
                     63: if [ $ngx_found = yes ]; then
                     64:     have=NGX_HAVE_CLEAR_EVENT . auto/have
                     65:     CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
                     66:     EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
                     67:     EVENT_FOUND=YES
                     68: fi
                     69: 
                     70: 
                     71: # sendfile()
                     72: 
                     73: CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE"
                     74: ngx_feature="sendfile()"
                     75: ngx_feature_name="NGX_HAVE_SENDFILE"
                     76: ngx_feature_run=yes
                     77: ngx_feature_incs="#include <sys/sendfile.h>
                     78:                   #include <errno.h>"
                     79: ngx_feature_path=
                     80: ngx_feature_libs=
                     81: ngx_feature_test="int s = 0, fd = 1;
                     82:                   ssize_t n; off_t off = 0;
                     83:                   n = sendfile(s, fd, &off, 1);
                     84:                   if (n == -1 && errno == ENOSYS) return 1"
                     85: . auto/feature
                     86: 
                     87: if [ $ngx_found = yes ]; then
                     88:     CORE_SRCS="$CORE_SRCS $LINUX_SENDFILE_SRCS"
                     89: fi
                     90: 
                     91: 
                     92: # sendfile64()
                     93: 
                     94: CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64"
                     95: ngx_feature="sendfile64()"
                     96: ngx_feature_name="NGX_HAVE_SENDFILE64"
                     97: ngx_feature_run=yes
                     98: ngx_feature_incs="#include <sys/sendfile.h>
                     99:                   #include <errno.h>"
                    100: ngx_feature_path=
                    101: ngx_feature_libs=
                    102: ngx_feature_test="int s = 0, fd = 1;
                    103:                   ssize_t n; off_t off = 0;
                    104:                   n = sendfile(s, fd, &off, 1);
                    105:                   if (n == -1 && errno == ENOSYS) return 1"
                    106: . auto/feature
                    107: 
                    108: 
                    109: ngx_include="sys/prctl.h"; . auto/include
                    110: 
                    111: # prctl(PR_SET_DUMPABLE)
                    112: 
                    113: ngx_feature="prctl(PR_SET_DUMPABLE)"
                    114: ngx_feature_name="NGX_HAVE_PR_SET_DUMPABLE"
                    115: ngx_feature_run=yes
                    116: ngx_feature_incs="#include <sys/prctl.h>"
                    117: ngx_feature_path=
                    118: ngx_feature_libs=
                    119: ngx_feature_test="if (prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) == -1) return 1"
                    120: . auto/feature
                    121: 
                    122: 
                    123: # sched_setaffinity()
                    124: 
                    125: ngx_feature="sched_setaffinity()"
                    126: ngx_feature_name="NGX_HAVE_SCHED_SETAFFINITY"
                    127: ngx_feature_run=no
                    128: ngx_feature_incs="#include <sched.h>"
                    129: ngx_feature_path=
                    130: ngx_feature_libs=
                    131: ngx_feature_test="cpu_set_t mask;
                    132:                   CPU_ZERO(&mask);
                    133:                   sched_setaffinity(0, sizeof(cpu_set_t), &mask)"
                    134: . auto/feature
                    135: 
                    136: 
                    137: # crypt_r()
                    138: 
                    139: ngx_feature="crypt_r()"
                    140: ngx_feature_name="NGX_HAVE_GNU_CRYPT_R"
                    141: ngx_feature_run=no
                    142: ngx_feature_incs="#include <crypt.h>"
                    143: ngx_feature_path=
                    144: ngx_feature_libs=-lcrypt
                    145: ngx_feature_test="struct crypt_data  cd;
                    146:                   crypt_r(\"key\", \"salt\", &cd);"
                    147: . auto/feature
                    148: 
                    149: 
                    150: ngx_include="sys/vfs.h";     . auto/include
                    151: 
                    152: 
                    153: CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64"

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>