~ubuntu-branches/ubuntu/natty/nginx/natty

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