Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 1 | |
Igor Sysoev | ff8da91 | 2004-09-29 16:00:49 +0000 | [diff] [blame] | 2 | # Copyright (C) Igor Sysoev |
| 3 | |
| 4 | |
Igor Sysoev | c2068d0 | 2005-10-19 12:33:58 +0000 | [diff] [blame] | 5 | echo "checking for $NGX_SYSTEM specific features" |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 6 | |
Igor Sysoev | d039a2e | 2005-02-22 14:40:13 +0000 | [diff] [blame] | 7 | case "$NGX_PLATFORM" in |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 8 | |
Igor Sysoev | aa54263 | 2006-09-07 20:17:19 +0000 | [diff] [blame] | 9 | FreeBSD:*) |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 10 | . auto/os/freebsd |
| 11 | ;; |
| 12 | |
Igor Sysoev | c0f8d91 | 2003-11-26 15:42:18 +0000 | [diff] [blame] | 13 | Linux:*) |
| 14 | . auto/os/linux |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 15 | ;; |
| 16 | |
Igor Sysoev | c0f8d91 | 2003-11-26 15:42:18 +0000 | [diff] [blame] | 17 | SunOS:*) |
| 18 | . auto/os/solaris |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 19 | ;; |
| 20 | |
| 21 | win32) |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 22 | . auto/os/win32 |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 23 | ;; |
| 24 | |
Igor Sysoev | aa54263 | 2006-09-07 20:17:19 +0000 | [diff] [blame] | 25 | DragonFly:*) |
| 26 | have=NGX_FREEBSD . auto/have_headers |
| 27 | CORE_INCS="$UNIX_INCS" |
| 28 | CORE_DEPS="$UNIX_DEPS $FREEBSD_DEPS" |
| 29 | CORE_SRCS="$UNIX_SRCS $FREEBSD_SRCS" |
| 30 | |
| 31 | echo " + sendfile() found" |
| 32 | have=NGX_HAVE_SENDFILE . auto/have |
| 33 | CORE_SRCS="$CORE_SRCS $FREEBSD_SENDFILE_SRCS" |
| 34 | |
| 35 | ngx_spacer=' |
| 36 | ' |
| 37 | ;; |
| 38 | |
Igor Sysoev | e31e90b | 2005-05-19 13:25:22 +0000 | [diff] [blame] | 39 | Darwin:*) |
| 40 | have=NGX_DARWIN . auto/have_headers |
| 41 | have=NGX_HAVE_INHERITED_NONBLOCK . auto/have |
| 42 | CORE_INCS="$UNIX_INCS" |
| 43 | CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" |
| 44 | CORE_SRCS="$UNIX_SRCS" |
Igor Sysoev | ea2f6af | 2006-12-22 12:54:08 +0000 | [diff] [blame] | 45 | |
| 46 | ngx_feature="atomic(3)" |
| 47 | ngx_feature_name=NGX_DARWIN_ATOMIC |
| 48 | ngx_feature_run=no |
| 49 | ngx_feature_incs="#include <libkern/OSAtomic.h>" |
| 50 | ngx_feature_path= |
| 51 | ngx_feature_libs= |
| 52 | ngx_feature_test="int32_t lock, n; |
| 53 | n = OSAtomicCompareAndSwap32Barrier(0, 1, lock)" |
| 54 | . auto/feature |
Igor Sysoev | e31e90b | 2005-05-19 13:25:22 +0000 | [diff] [blame] | 55 | ;; |
| 56 | |
| 57 | HP-UX:*) |
| 58 | # HP/UX |
| 59 | have=NGX_HPUX . auto/have_headers |
| 60 | CORE_INCS="$UNIX_INCS" |
| 61 | CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" |
| 62 | CORE_SRCS="$UNIX_SRCS" |
| 63 | CC_AUX_FLAGS="$CC_AUX_FLAGS -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1" |
| 64 | ;; |
| 65 | |
| 66 | OSF1:*) |
Igor Sysoev | 4959ec4 | 2005-05-23 12:07:45 +0000 | [diff] [blame] | 67 | # Tru64 UNIX |
Igor Sysoev | e31e90b | 2005-05-19 13:25:22 +0000 | [diff] [blame] | 68 | have=NGX_TRU64 . auto/have_headers |
Igor Sysoev | 4959ec4 | 2005-05-23 12:07:45 +0000 | [diff] [blame] | 69 | have=NGX_HAVE_STRERROR_R . auto/nohave |
Igor Sysoev | e31e90b | 2005-05-19 13:25:22 +0000 | [diff] [blame] | 70 | CORE_INCS="$UNIX_INCS" |
| 71 | CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" |
| 72 | CORE_SRCS="$UNIX_SRCS" |
| 73 | ;; |
| 74 | |
Igor Sysoev | d09f7a1 | 2004-06-15 17:47:16 +0000 | [diff] [blame] | 75 | *) |
| 76 | CORE_INCS="$UNIX_INCS" |
| 77 | CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" |
| 78 | CORE_SRCS="$UNIX_SRCS" |
| 79 | ;; |
| 80 | |
Igor Sysoev | a8fa0a6 | 2003-11-25 20:44:56 +0000 | [diff] [blame] | 81 | esac |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 82 | |
| 83 | |
Igor Sysoev | d039a2e | 2005-02-22 14:40:13 +0000 | [diff] [blame] | 84 | case "$NGX_MACHINE" in |
Igor Sysoev | 02025fd | 2005-01-18 13:03:58 +0000 | [diff] [blame] | 85 | |
Igor Sysoev | 2402502 | 2005-12-16 15:07:08 +0000 | [diff] [blame] | 86 | i386 | i686 | i86pc) |
Igor Sysoev | 899b44e | 2005-05-12 14:58:06 +0000 | [diff] [blame] | 87 | have=NGX_HAVE_NONALIGNED . auto/have |
Igor Sysoev | 2402502 | 2005-12-16 15:07:08 +0000 | [diff] [blame] | 88 | NGX_MACH_CACHE_LINE=32 |
Igor Sysoev | 899b44e | 2005-05-12 14:58:06 +0000 | [diff] [blame] | 89 | ;; |
Igor Sysoev | 02025fd | 2005-01-18 13:03:58 +0000 | [diff] [blame] | 90 | |
Igor Sysoev | 305a9d8 | 2005-12-26 17:07:48 +0000 | [diff] [blame] | 91 | amd64 | x86_64) |
Igor Sysoev | 2402502 | 2005-12-16 15:07:08 +0000 | [diff] [blame] | 92 | have=NGX_HAVE_NONALIGNED . auto/have |
| 93 | NGX_MACH_CACHE_LINE=64 |
| 94 | ;; |
| 95 | |
Igor Sysoev | 852cde4 | 2006-10-06 13:02:23 +0000 | [diff] [blame] | 96 | sun4u | sun4v | sparc | sparc64) |
Igor Sysoev | c31a9bb | 2005-11-26 10:11:11 +0000 | [diff] [blame] | 97 | have=NGX_ALIGNMENT value=16 . auto/define |
Igor Sysoev | 2402502 | 2005-12-16 15:07:08 +0000 | [diff] [blame] | 98 | # TODO |
| 99 | NGX_MACH_CACHE_LINE=64 |
| 100 | ;; |
| 101 | |
| 102 | ia64 ) |
| 103 | have=NGX_ALIGNMENT value=16 . auto/define |
| 104 | # TODO |
| 105 | NGX_MACH_CACHE_LINE=64 |
| 106 | ;; |
| 107 | |
| 108 | *) |
| 109 | NGX_MACH_CACHE_LINE=32 |
Igor Sysoev | c31a9bb | 2005-11-26 10:11:11 +0000 | [diff] [blame] | 110 | ;; |
| 111 | |
Igor Sysoev | 02025fd | 2005-01-18 13:03:58 +0000 | [diff] [blame] | 112 | esac |
Igor Sysoev | 2402502 | 2005-12-16 15:07:08 +0000 | [diff] [blame] | 113 | |
| 114 | if test -z "$NGX_CPU_CACHE_LINE"; then |
| 115 | NGX_CPU_CACHE_LINE=$NGX_MACH_CACHE_LINE |
| 116 | fi |
| 117 | |
| 118 | have=NGX_CPU_CACHE_LINE value=$NGX_CPU_CACHE_LINE . auto/define |