summaryrefslogtreecommitdiffhomepage
path: root/auto
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2004-07-05 06:55:54 +0000
committerIgor Sysoev <igor@sysoev.ru>2004-07-05 06:55:54 +0000
commit32fcd5cf64b9f55f9184e98e39f1b2152321a710 (patch)
treef349f2fb8106ba4490ec3f47e7330f160f6f5f9b /auto
parent98c1cf18c1a4ffb14ded78e93359f87ee7bdeed4 (diff)
downloadnginx-32fcd5cf64b9f55f9184e98e39f1b2152321a710.tar.gz
nginx-32fcd5cf64b9f55f9184e98e39f1b2152321a710.tar.bz2
nginx-0.0.7-2004-07-05-10:55:54 import
Diffstat (limited to 'auto')
-rw-r--r--auto/lib/md5/conf2
-rw-r--r--auto/os/freebsd20
-rw-r--r--auto/sources3
-rw-r--r--auto/threads56
4 files changed, 70 insertions, 11 deletions
diff --git a/auto/lib/md5/conf b/auto/lib/md5/conf
index 3fc1af608..383821e79 100644
--- a/auto/lib/md5/conf
+++ b/auto/lib/md5/conf
@@ -65,7 +65,7 @@ else
ngx_lib="rsaref md library"
ngx_lib_test="MD5_CTX md5; MD5Init(&md5)"
- #ngx_libs=-lmd
+ ngx_libs=-lmd
. auto/lib/test
fi
diff --git a/auto/os/freebsd b/auto/os/freebsd
index 5fa8e33e3..2d3353e1e 100644
--- a/auto/os/freebsd
+++ b/auto/os/freebsd
@@ -54,11 +54,29 @@ if [ \( $version -lt 500000 -a $version -ge 430000 \) \
-o $version -ge 500018 ]
then
echo " + using kqueue's NOTE_LOWAT"
-
have=HAVE_LOWAT_EVENT . auto/have
fi
+if [ $USE_THREADS = "rfork" ]; then
+
+ echo " + using rfork()"
+
+ # kqueue's EVFILT_SIGNAL is safe
+
+ if [ $version -gt 460101 ]; then
+ echo " + kqueue's EVFILT_SIGNAL is safe"
+ have=HAVE_SAFE_EVFILT_SIGNAL . auto/have
+ else
+ echo "$0: error: the kqueue's EVFILT_SIGNAL is unsafe on this"
+ echo "FreeBSD version, so --with-threads=rfork could not be used"
+ echo
+
+ exit 1
+ fi
+fi
+
+
if [ $EVENT_AIO = YES ]; then
have=HAVE_AIO . auto/have
EVENT_MODULES="$EVENT_MODULES $AIO_MODULE"
diff --git a/auto/sources b/auto/sources
index 3fcf58eaf..041b23daf 100644
--- a/auto/sources
+++ b/auto/sources
@@ -135,9 +135,12 @@ POSIX_DEPS=src/os/unix/ngx_posix_config.h
FREEBSD_DEPS=src/os/unix/ngx_freebsd_config.h
FREEBSD_SRCS=src/os/unix/ngx_freebsd_init.c
FREEBSD_SENDFILE_SRCS=src/os/unix/ngx_freebsd_sendfile_chain.c
+FREEBSD_RFORK_DEPS="src/os/unix/ngx_freebsd_rfork_thread.h"
FREEBSD_RFORK_SRCS="src/os/unix/ngx_freebsd_rfork_thread.c"
FREEBSD_RFORK_THREAD_SRCS="src/os/unix/rfork_thread.S"
+PTHREAD_SRCS="src/os/unix/ngx_pthread_thread.c"
+
LINUX_DEPS=src/os/unix/ngx_linux_config.h
LINUX_SRCS=src/os/unix/ngx_linux_init.c
LINUX_SENDFILE_SRCS=src/os/unix/ngx_linux_sendfile_chain.c
diff --git a/auto/threads b/auto/threads
index 0c5fd5699..8f7e10bfc 100644
--- a/auto/threads
+++ b/auto/threads
@@ -1,13 +1,51 @@
-if [ $USE_THREADS = "rfork" ]; then
+case $USE_THREADS in
+ rfork)
+ have=NGX_THREADS . auto/have
+ have=NGX_USE_RFORK . auto/have
+ CORE_DEPS="$CORE_DEPS $FREEBSD_RFORK_DEPS"
+ CORE_SRCS="$CORE_SRCS $FREEBSD_RFORK_SRCS"
- have=NGX_THREADS . auto/have
- have=NGX_USE_RFORK . auto/have
- CORE_DEPS="$CORE_DEPS $UNIX_THREADS_DEPS"
- CORE_SRCS="$CORE_SRCS $FREEBSD_RFORK_SRCS"
+ case $PLATFORM in
+ *:i386)
+ if [ \( $version -gt 500000 -a $version -lt 501000 \) \
+ -o $version -lt 491000 ]
+ then
+ CORE_SRCS="$CORE_SRCS $FREEBSD_RFORK_THREAD_SRCS"
+ fi
+ ;;
+ esac
+ ;;
- if [ $version -lt 501000 ]; then
- CORE_SRCS="$CORE_SRCS $FREEBSD_RFORK_THREAD_SRCS"
- fi
+ pthread)
+ have=NGX_THREADS . auto/have
+ CORE_SRCS="$CORE_SRCS $PTHREAD_SRCS"
+ CORE_LIBS="$CORE_LIBS -lpthread"
+ ;;
-fi
+ freebsd4)
+ have=NGX_THREADS . auto/have
+ CFLAGS="$CFLAGS -pthread"
+ CORE_SRCS="$CORE_SRCS $PTHREAD_SRCS"
+ CORE_LIBS="$CORE_LIBS -pthread"
+ ;;
+
+ lc_r)
+ have=NGX_THREADS . auto/have
+ CORE_SRCS="$CORE_SRCS $PTHREAD_SRCS"
+ CORE_LIBS="$CORE_LIBS -lc_r"
+ ;;
+
+ lthr)
+ have=NGX_THREADS . auto/have
+ CORE_SRCS="$CORE_SRCS $PTHREAD_SRCS"
+ CORE_LIBS="$CORE_LIBS -lthr"
+ ;;
+
+ lkse)
+ have=NGX_THREADS . auto/have
+ CORE_SRCS="$CORE_SRCS $PTHREAD_SRCS"
+ CORE_LIBS="$CORE_LIBS -lkse"
+ ;;
+
+esac