annotate auto/os/freebsd @ 7682:2ab0ecfe5a5f

release-1.19.1 tag
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 07 Jul 2020 18:56:06 +0300
parents 4dc8e7b62216
children ec2e6893caaa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
444
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 376
diff changeset
1
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 376
diff changeset
2 # Copyright (C) Igor Sysoev
4412
d620f497c50f Copyright updated.
Maxim Konovalov <maxim@nginx.com>
parents: 3909
diff changeset
3 # Copyright (C) Nginx, Inc.
444
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 376
diff changeset
4
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
5
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
6 have=NGX_FREEBSD . auto/have_headers
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
7
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8 CORE_INCS="$UNIX_INCS"
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9 CORE_DEPS="$UNIX_DEPS $FREEBSD_DEPS"
238
674f85a4d00f nginx-0.0.1-2004-01-23-12:26:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 215
diff changeset
10 CORE_SRCS="$UNIX_SRCS $FREEBSD_SRCS"
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
12 ngx_spacer='
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
13 '
283
8f65fee68270 nginx-0.0.2-2004-03-10-20:55:19 import
Igor Sysoev <igor@sysoev.ru>
parents: 272
diff changeset
14
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
15
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
16 # __FreeBSD_version and sysctl kern.osreldate are the best ways
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
17 # to determine whether some capability exists and is safe to use.
686
0bbb66f76af1 fix typo
Igor Sysoev <igor@sysoev.ru>
parents: 563
diff changeset
18 # __FreeBSD_version is used for the testing of the build environment.
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
19 # sysctl kern.osreldate is used for the testing of the kernel capabilities.
260
5dacbb4daaf6 nginx-0.0.2-2004-02-17-20:53:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 253
diff changeset
20
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
21 version=`grep "#define __FreeBSD_version" /usr/include/osreldate.h \
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
22 | sed -e 's/^.* \(.*\)$/\1/'`
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
23
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
24 osreldate=`/sbin/sysctl -n kern.osreldate`
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
25
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
26
267
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 261
diff changeset
27 # setproctitle() in libutil
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 261
diff changeset
28
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 261
diff changeset
29 if [ \( $version -ge 500000 -a $version -lt 500012 \) \
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 261
diff changeset
30 -o $version -lt 410002 ]
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 261
diff changeset
31 then
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 261
diff changeset
32 echo " + setproctitle() in libutil"
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 261
diff changeset
33
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 261
diff changeset
34 CORE_LIBS="$CORE_LIBS -lutil"
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
35 NGX_SETPROCTITLE_LIB="-lutil"
267
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 261
diff changeset
36 fi
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 261
diff changeset
37
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
38 # sendfile
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
39
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
40 if [ $osreldate -gt 300007 ]; then
563
9c2f3ed7a247 nginx-0.3.3-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
41 echo " + sendfile() found"
267
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 261
diff changeset
42
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
43 have=NGX_HAVE_SENDFILE . auto/have
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
44 CORE_SRCS="$CORE_SRCS $FREEBSD_SENDFILE_SRCS"
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
45 fi
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
46
5981
0f234ee664f7 Unbreak building on FreeBSD without file AIO.
Valentin Bartenev <vbart@nginx.com>
parents: 4549
diff changeset
47 if [ $NGX_FILE_AIO = YES ]; then
0f234ee664f7 Unbreak building on FreeBSD without file AIO.
Valentin Bartenev <vbart@nginx.com>
parents: 4549
diff changeset
48 if [ $osreldate -gt 502103 ]; then
0f234ee664f7 Unbreak building on FreeBSD without file AIO.
Valentin Bartenev <vbart@nginx.com>
parents: 4549
diff changeset
49 echo " + sendfile()'s SF_NODISKIO found"
3065
113cd532b328 aio sendfile
Igor Sysoev <igor@sysoev.ru>
parents: 686
diff changeset
50
5981
0f234ee664f7 Unbreak building on FreeBSD without file AIO.
Valentin Bartenev <vbart@nginx.com>
parents: 4549
diff changeset
51 have=NGX_HAVE_AIO_SENDFILE . auto/have
0f234ee664f7 Unbreak building on FreeBSD without file AIO.
Valentin Bartenev <vbart@nginx.com>
parents: 4549
diff changeset
52 fi
3065
113cd532b328 aio sendfile
Igor Sysoev <igor@sysoev.ru>
parents: 686
diff changeset
53 fi
113cd532b328 aio sendfile
Igor Sysoev <igor@sysoev.ru>
parents: 686
diff changeset
54
3909
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3065
diff changeset
55 # POSIX semaphores
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3065
diff changeset
56 # http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/127545
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3065
diff changeset
57
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3065
diff changeset
58 if [ $osreldate -ge 701106 ]; then
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3065
diff changeset
59 echo " + POSIX semaphores should work"
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3065
diff changeset
60 else
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3065
diff changeset
61 have=NGX_HAVE_POSIX_SEM . auto/nohave
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3065
diff changeset
62 fi
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3065
diff changeset
63
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
64
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
65 # kqueue
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
66
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
67 if [ \( $osreldate -lt 500000 -a $osreldate -ge 410000 \) \
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
68 -o $osreldate -ge 500011 ]
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
69 then
563
9c2f3ed7a247 nginx-0.3.3-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
70 echo " + kqueue found"
267
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 261
diff changeset
71
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
72 have=NGX_HAVE_KQUEUE . auto/have
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
73 have=NGX_HAVE_CLEAR_EVENT . auto/have
298
4a3f18406832 nginx-0.0.3-2004-03-30-10:27:36 import
Igor Sysoev <igor@sysoev.ru>
parents: 291
diff changeset
74 EVENT_MODULES="$EVENT_MODULES $KQUEUE_MODULE"
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
75 CORE_SRCS="$CORE_SRCS $KQUEUE_SRCS"
248
e885208c518b nginx-0.0.2-2004-02-03-00:19:52 import
Igor Sysoev <igor@sysoev.ru>
parents: 238
diff changeset
76 EVENT_FOUND=YES
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
77 fi
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
78
489
45a460f82aec nginx-0.1.19-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
79
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
80 NGX_KQUEUE_CHECKED=YES
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
81
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
82
5982
f3f25ad09dee Configure: typo fixed.
Sergey Kandaurov <pluknet@nginx.com>
parents: 5981
diff changeset
83 # kqueue's NOTE_LOWAT
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
84
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
85 if [ \( $version -lt 500000 -a $version -ge 430000 \) \
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
86 -o $version -ge 500018 ]
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
87 then
563
9c2f3ed7a247 nginx-0.3.3-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
88 echo " + kqueue's NOTE_LOWAT found"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
89 have=NGX_HAVE_LOWAT_EVENT . auto/have
376
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
90 fi
267
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 261
diff changeset
91
563
9c2f3ed7a247 nginx-0.3.3-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
92 # kqueue's EVFILT_TIMER
9c2f3ed7a247 nginx-0.3.3-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
93
9c2f3ed7a247 nginx-0.3.3-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
94 if [ \( $version -lt 500000 -a $version -ge 440001 \) \
9c2f3ed7a247 nginx-0.3.3-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
95 -o $version -ge 500023 ]
9c2f3ed7a247 nginx-0.3.3-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
96 then
9c2f3ed7a247 nginx-0.3.3-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
97 echo " + kqueue's EVFILT_TIMER found"
9c2f3ed7a247 nginx-0.3.3-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
98 have=NGX_HAVE_TIMER_EVENT . auto/have
9c2f3ed7a247 nginx-0.3.3-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
99 fi
9c2f3ed7a247 nginx-0.3.3-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
100
376
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
101
4549
f31162fefe01 worker_cpu_affinity: cleaned up Linux implementation, added FreeBSD support.
Ruslan Ermilov <ru@nginx.com>
parents: 4412
diff changeset
102 # cpuset_setaffinity()
f31162fefe01 worker_cpu_affinity: cleaned up Linux implementation, added FreeBSD support.
Ruslan Ermilov <ru@nginx.com>
parents: 4412
diff changeset
103
f31162fefe01 worker_cpu_affinity: cleaned up Linux implementation, added FreeBSD support.
Ruslan Ermilov <ru@nginx.com>
parents: 4412
diff changeset
104 if [ $version -ge 701000 ]; then
f31162fefe01 worker_cpu_affinity: cleaned up Linux implementation, added FreeBSD support.
Ruslan Ermilov <ru@nginx.com>
parents: 4412
diff changeset
105 echo " + cpuset_setaffinity() found"
f31162fefe01 worker_cpu_affinity: cleaned up Linux implementation, added FreeBSD support.
Ruslan Ermilov <ru@nginx.com>
parents: 4412
diff changeset
106 have=NGX_HAVE_CPUSET_SETAFFINITY . auto/have
f31162fefe01 worker_cpu_affinity: cleaned up Linux implementation, added FreeBSD support.
Ruslan Ermilov <ru@nginx.com>
parents: 4412
diff changeset
107 fi