diff options
Diffstat (limited to 'auto')
| -rw-r--r-- | auto/cc/acc | 14 | ||||
| -rw-r--r-- | auto/cc/ccc | 41 | ||||
| -rw-r--r-- | auto/cc/conf | 50 | ||||
| -rwxr-xr-x | auto/configure | 1 | ||||
| -rw-r--r-- | auto/os/conf | 148 | ||||
| -rw-r--r-- | auto/os/features | 131 | ||||
| -rw-r--r-- | auto/os/freebsd | 1 | ||||
| -rw-r--r-- | auto/os/linux | 1 | ||||
| -rwxr-xr-x | auto/unix | 2 |
9 files changed, 241 insertions, 148 deletions
diff --git a/auto/cc/acc b/auto/cc/acc new file mode 100644 index 000000000..f325bc56d --- /dev/null +++ b/auto/cc/acc @@ -0,0 +1,14 @@ + +# Copyright (C) Igor Sysoev + + +# aCC: HP ANSI C++ B3910B A.03.55.02 + +# C89 mode + +CFLAGS="$CFLAGS -Ae" +CC_TEST_FLAGS="-Ae" + +PCRE_OPT="$PCRE_OPT -Ae" +ZLIB_OPT="$ZLIB_OPT -Ae" +MD5_OPT="$MD5_OPT -Ae" diff --git a/auto/cc/ccc b/auto/cc/ccc new file mode 100644 index 000000000..968015fe2 --- /dev/null +++ b/auto/cc/ccc @@ -0,0 +1,41 @@ + +# Copyright (C) Igor Sysoev + + +# Compaq C V6.5-207 + +ngx_include_opt="-I" + +# warnings + +CFLAGS="$CFLAGS -msg_enable level6 -msg_fatal level6" + +CFLAGS="$CFLAGS -msg_disable unnecincl" +CFLAGS="$CFLAGS -msg_disable nestincl" +CFLAGS="$CFLAGS -msg_disable unusedincl" +CFLAGS="$CFLAGS -msg_disable unknownmacro" +CFLAGS="$CFLAGS -msg_disable strctpadding" +CFLAGS="$CFLAGS -msg_disable ansialiascast" +CFLAGS="$CFLAGS -msg_disable inlinestoclsmod" +CFLAGS="$CFLAGS -msg_disable cxxkeyword" +CFLAGS="$CFLAGS -msg_disable longlongsufx" + +# STUB +CFLAGS="$CFLAGS -msg_disable truncintcast" +CFLAGS="$CFLAGS -msg_disable trunclongcast" +CFLAGS="$CFLAGS -msg_disable truncintasn" +CFLAGS="$CFLAGS -msg_disable trunclongint" +CFLAGS="$CFLAGS -msg_disable intconcastsgn" +CFLAGS="$CFLAGS -msg_disable intconstsign" +CFLAGS="$CFLAGS -msg_disable hexoctunsign" +CFLAGS="$CFLAGS -msg_disable switchlong" +CFLAGS="$CFLAGS -msg_disable valuepres" +CFLAGS="$CFLAGS -msg_disable subscrbounds2" +CFLAGS="$CFLAGS -msg_disable ignorecallval" +CFLAGS="$CFLAGS -msg_disable nonstandcast" +CFLAGS="$CFLAGS -msg_disable embedcomment" +CFLAGS="$CFLAGS -msg_disable unreachcode" +CFLAGS="$CFLAGS -msg_disable questcompare2" +CFLAGS="$CFLAGS -msg_disable unusedtop" +CFLAGS="$CFLAGS -msg_disable unrefdecl" +CFLAGS="$CFLAGS -msg_disable bitnotint" diff --git a/auto/cc/conf b/auto/cc/conf index f064bca0d..b2eabebe5 100644 --- a/auto/cc/conf +++ b/auto/cc/conf @@ -42,30 +42,30 @@ else case $NGX_CC_NAME in gcc) - # gcc 2.7.2.3, 2.8.1, 2.95.4, - # 3.0.4, 3.1.1, 3.2.3, 3.3.2, 3.3.3, 3.3.4, 3.4 + # gcc 2.7.2.3, 2.8.1, 2.95.4, egcs-1.1.2 + # 3.0.4, 3.1.1, 3.2.3, 3.3.2, 3.3.3, 3.3.4, 3.4.0, 3.4.2 + # 4.0.0 . auto/cc/gcc ;; icc) - # Intel C++ compiler 7.1, 8.0 + # Intel C++ compiler 7.1, 8.0, 8.1 . auto/cc/icc ;; ccc) -# # Compaq C V6.5-207 -# -# . auto/cc/ccc - ngx_include_opt="-I" + # Compaq C V6.5-207 + + . auto/cc/ccc ;; -# acc) -# # aCC: HP ANSI C++ B3910B A.03.55.02 -# -# . auto/cc/acc -# ;; + acc) + # aCC: HP ANSI C++ B3910B A.03.55.02 + + . auto/cc/acc + ;; msvc*) # MSVC++ 6.0 SP2, MSVC++ Toolkit 2003 @@ -87,7 +87,7 @@ else esac - CC_TEST_FLAGS=$NGX_CC_OPT + CC_TEST_FLAGS="$CC_TEST_FLAGS $NGX_CC_OPT" fi @@ -124,16 +124,20 @@ if [ "$NGX_PLATFORM" != win32 ]; then . auto/feature - ngx_feature="C99 variadic macros" - ngx_feature_name="NGX_HAVE_C99_VARIADIC_MACROS" - ngx_feature_run=yes - ngx_feature_incs="#include <stdio.h> -#define var(dummy, ...) sprintf(__VA_ARGS__)" - ngx_feature_libs= - ngx_feature_test="char buf[30]; buf[0] = '0'; - var(0, buf, \"%d\", 1); - if (buf[0] != '1') return 1" - . auto/feature + if [ $NGX_CC_NAME = 'ccc' ]; then + echo "checking for C99 variadic macros ... disabled" + else + ngx_feature="C99 variadic macros" + ngx_feature_name="NGX_HAVE_C99_VARIADIC_MACROS" + ngx_feature_run=yes + ngx_feature_incs="#include <stdio.h> +#define var(dummy, ...) sprintf(__VA_ARGS__)" + ngx_feature_libs= + ngx_feature_test="char buf[30]; buf[0] = '0'; + var(0, buf, \"%d\", 1); + if (buf[0] != '1') return 1" + . auto/feature + fi # ngx_feature="inline" diff --git a/auto/configure b/auto/configure index d046b5931..f54ef241c 100755 --- a/auto/configure +++ b/auto/configure @@ -27,6 +27,7 @@ fi . auto/os/conf if [ "$NGX_PLATFORM" != win32 ]; then + . auto/os/features . auto/threads fi diff --git a/auto/os/conf b/auto/os/conf index f2a49cee5..226f8ddc4 100644 --- a/auto/os/conf +++ b/auto/os/conf @@ -23,15 +23,6 @@ case "$NGX_PLATFORM" in . auto/os/freebsd ;; - Darwin:*) - have=NGX_DARWIN . auto/have_headers - have=NGX_HAVE_INHERITED_NONBLOCK . auto/have - CORE_INCS="$UNIX_INCS" - CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" - CORE_SRCS="$UNIX_SRCS" - CRYPT_LIB= - ;; - Linux:*) . auto/os/linux ;; @@ -44,11 +35,35 @@ case "$NGX_PLATFORM" in . auto/os/win32 ;; + Darwin:*) + have=NGX_DARWIN . auto/have_headers + have=NGX_HAVE_INHERITED_NONBLOCK . auto/have + CORE_INCS="$UNIX_INCS" + CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" + CORE_SRCS="$UNIX_SRCS" + ;; + + HP-UX:*) + # HP/UX + have=NGX_HPUX . auto/have_headers + CORE_INCS="$UNIX_INCS" + CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" + CORE_SRCS="$UNIX_SRCS" + CC_AUX_FLAGS="$CC_AUX_FLAGS -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1" + ;; + + OSF1:*) + # HP Tru64 + have=NGX_TRU64 . auto/have_headers + CORE_INCS="$UNIX_INCS" + CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" + CORE_SRCS="$UNIX_SRCS" + ;; + *) CORE_INCS="$UNIX_INCS" CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" CORE_SRCS="$UNIX_SRCS" - CRYPT_LIB="-lcrypt" ;; esac @@ -56,119 +71,8 @@ esac case "$NGX_MACHINE" in - i386|i686|i86pc|amd64) + i386 | i686 | i86pc | amd64) have=NGX_HAVE_NONALIGNED . auto/have ;; esac - - -if [ "$NGX_PLATFORM" != win32 ]; then - - NGX_USER=${NGX_USER:-nobody} - - if [ -z "$NGX_GROUP" -a $NGX_USER = nobody ] ; then - if grep nobody /etc/group 2>&1 >/dev/null; then - echo "checking for nobody group ... found" - NGX_GROUP=nobody - else - echo "checking for nobody group ... not found" - - if grep nogroup /etc/group 2>&1 >/dev/null; then - echo "checking for nogroup group ... found" - NGX_GROUP=nogroup - else - echo "checking for nogroup group ... not found" - NGX_GROUP=nobody - fi - fi - - else - NGX_GROUP=$NGX_USER - fi - - - ngx_feature="poll()" - ngx_feature_name= - ngx_feature_run=no - ngx_feature_incs="#include <poll.h>" - ngx_feature_libs= - ngx_feature_test="int n, dp; struct pollfd pl; - dp = 0; - pl.fd = 0; - pl.events = 0; - pl.revents = 0; - n = poll(&pl, 1, 0)" - . auto/feature - - if [ $ngx_found = no ]; then - EVENT_POLL=NONE - fi - - - ngx_feature="/dev/poll" - ngx_feature_name="NGX_HAVE_DEVPOLL" - ngx_feature_run=no - ngx_feature_incs="#include <sys/devpoll.h>" - ngx_feature_libs= - ngx_feature_test="int n, dp; struct dvpoll dvp; - dp = 0; - dvp.dp_fds = NULL; - dvp.dp_nfds = 0; - dvp.dp_timeout = 0; - n = ioctl(dp, DP_POLL, &dvp)" - . auto/feature - - if [ $ngx_found = yes ]; then - CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS" - EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE" - EVENT_FOUND=YES - fi - - - if test -z "$NGX_KQUEUE_CHECKED"; then - ngx_feature="kqueue" - ngx_feature_name="NGX_HAVE_KQUEUE" - ngx_feature_run=no - ngx_feature_incs="#include <sys/event.h>" - ngx_feature_libs= - ngx_feature_test="int kq; kq = kqueue()" - . auto/feature - - if [ $ngx_found = yes ]; then - - have=NGX_HAVE_CLEAR_EVENT . auto/have - EVENT_MODULES="$EVENT_MODULES $KQUEUE_MODULE" - CORE_SRCS="$CORE_SRCS $KQUEUE_SRCS" - EVENT_FOUND=YES - - ngx_feature="kqueue's NOTE_LOWAT" - ngx_feature_name="NGX_HAVE_LOWAT_EVENT" - ngx_feature_run=no - ngx_feature_incs="#include <sys/event.h>" - ngx_feature_libs= - ngx_feature_test="struct kevent kev; - kev.fflags = NOTE_LOWAT;" - . auto/feature - fi - fi - - if [ "$NGX_SYSTEM" = "NetBSD" ]; then - - # NetBSD 2.0 incompatibly defines kevent.udata as "intptr_t" - - cat << END >> $NGX_AUTO_CONFIG_H - -#define NGX_KQUEUE_UDATA_T - -END - - else - cat << END >> $NGX_AUTO_CONFIG_H - -#define NGX_KQUEUE_UDATA_T (void *) - -END - - fi -fi diff --git a/auto/os/features b/auto/os/features new file mode 100644 index 000000000..44c33cd31 --- /dev/null +++ b/auto/os/features @@ -0,0 +1,131 @@ + +# Copyright (C) Igor Sysoev + + +NGX_USER=${NGX_USER:-nobody} + +if [ -z "$NGX_GROUP" -a $NGX_USER = nobody ] ; then + if grep nobody /etc/group 2>&1 >/dev/null; then + echo "checking for nobody group ... found" + NGX_GROUP=nobody + else + echo "checking for nobody group ... not found" + + if grep nogroup /etc/group 2>&1 >/dev/null; then + echo "checking for nogroup group ... found" + NGX_GROUP=nogroup + else + echo "checking for nogroup group ... not found" + NGX_GROUP=nobody + fi + fi + +else + NGX_GROUP=$NGX_USER +fi + + +ngx_feature="poll()" +ngx_feature_name= +ngx_feature_run=no +ngx_feature_incs="#include <poll.h>" +ngx_feature_libs= +ngx_feature_test="int n, dp; struct pollfd pl; + dp = 0; + pl.fd = 0; + pl.events = 0; + pl.revents = 0; + n = poll(&pl, 1, 0)" +. auto/feature + +if [ $ngx_found = no ]; then + EVENT_POLL=NONE +fi + + +ngx_feature="/dev/poll" +ngx_feature_name="NGX_HAVE_DEVPOLL" +ngx_feature_run=no +ngx_feature_incs="#include <sys/devpoll.h>" +ngx_feature_libs= +ngx_feature_test="int n, dp; struct dvpoll dvp; + dp = 0; + dvp.dp_fds = NULL; + dvp.dp_nfds = 0; + dvp.dp_timeout = 0; + n = ioctl(dp, DP_POLL, &dvp)" +. auto/feature + +if [ $ngx_found = yes ]; then + CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS" + EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE" + EVENT_FOUND=YES +fi + + +if test -z "$NGX_KQUEUE_CHECKED"; then + ngx_feature="kqueue" + ngx_feature_name="NGX_HAVE_KQUEUE" + ngx_feature_run=no + ngx_feature_incs="#include <sys/event.h>" + ngx_feature_libs= + ngx_feature_test="int kq; kq = kqueue()" + . auto/feature + + if [ $ngx_found = yes ]; then + + have=NGX_HAVE_CLEAR_EVENT . auto/have + EVENT_MODULES="$EVENT_MODULES $KQUEUE_MODULE" + CORE_SRCS="$CORE_SRCS $KQUEUE_SRCS" + EVENT_FOUND=YES + + ngx_feature="kqueue's NOTE_LOWAT" + ngx_feature_name="NGX_HAVE_LOWAT_EVENT" + ngx_feature_run=no + ngx_feature_incs="#include <sys/event.h>" + ngx_feature_libs= + ngx_feature_test="struct kevent kev; + kev.fflags = NOTE_LOWAT;" + . auto/feature + fi +fi + +if [ "$NGX_SYSTEM" = "NetBSD" ]; then + + # NetBSD 2.0 incompatibly defines kevent.udata as "intptr_t" + + cat << END >> $NGX_AUTO_CONFIG_H + +#define NGX_KQUEUE_UDATA_T + +END + +else + cat << END >> $NGX_AUTO_CONFIG_H + +#define NGX_KQUEUE_UDATA_T (void *) + +END + +fi + + +ngx_feature="crypt()" +ngx_feature_name= +ngx_feature_run=no +ngx_feature_incs= +ngx_feature_libs= +ngx_feature_test="crypt(\"test\", \"salt\");" +. auto/feature + + +if [ $ngx_found = no ]; then + + ngx_feature="crypt() in libcrypt" + ngx_feature_libs=-lcrypt + . auto/feature + + if [ $ngx_found = yes ]; then + CRYPT_LIB="-lcrypt" + fi +fi diff --git a/auto/os/freebsd b/auto/os/freebsd index f916860d9..e5451224a 100644 --- a/auto/os/freebsd +++ b/auto/os/freebsd @@ -7,7 +7,6 @@ have=NGX_FREEBSD . auto/have_headers CORE_INCS="$UNIX_INCS" CORE_DEPS="$UNIX_DEPS $FREEBSD_DEPS" CORE_SRCS="$UNIX_SRCS $FREEBSD_SRCS" -CRYPT_LIB="-lcrypt" ngx_spacer=' ' diff --git a/auto/os/linux b/auto/os/linux index 5926211a4..32ef4cb8f 100644 --- a/auto/os/linux +++ b/auto/os/linux @@ -7,7 +7,6 @@ have=NGX_LINUX . auto/have_headers CORE_INCS="$UNIX_INCS" CORE_DEPS="$UNIX_DEPS $LINUX_DEPS" CORE_SRCS="$UNIX_SRCS $LINUX_SRCS" -CRYPT_LIB="-lcrypt" ngx_spacer=' ' @@ -32,7 +32,7 @@ ngx_type="sig_atomic_t"; ngx_types="int"; . auto/types/typedef . auto/types/sizeof ngx_param=NGX_SIG_ATOMIC_T_SIZE; ngx_value=$ngx_size; . auto/types/value -ngx_type="socklen_t"; ngx_types="uint32_t"; . auto/types/typedef +ngx_type="socklen_t"; ngx_types="int"; . auto/types/typedef ngx_type="in_addr_t"; ngx_types="uint32_t"; . auto/types/typedef |
