blob: fe720160adab37f75a5aa0a84a3217d688665f78 [file] [log] [blame]
Igor Sysoeva8fa0a62003-11-25 20:44:56 +00001
Igor Sysoevff8da912004-09-29 16:00:49 +00002# Copyright (C) Igor Sysoev
Maxim Konovalovf8d59e32012-01-18 15:07:43 +00003# Copyright (C) Nginx, Inc.
Igor Sysoevff8da912004-09-29 16:00:49 +00004
5
Igor Sysoevc2068d02005-10-19 12:33:58 +00006echo "checking for $NGX_SYSTEM specific features"
Igor Sysoeva8fa0a62003-11-25 20:44:56 +00007
Igor Sysoevd039a2e2005-02-22 14:40:13 +00008case "$NGX_PLATFORM" in
Igor Sysoeva8fa0a62003-11-25 20:44:56 +00009
Igor Sysoevaa542632006-09-07 20:17:19 +000010 FreeBSD:*)
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000011 . auto/os/freebsd
12 ;;
13
Igor Sysoevc0f8d912003-11-26 15:42:18 +000014 Linux:*)
15 . auto/os/linux
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000016 ;;
17
Igor Sysoevc0f8d912003-11-26 15:42:18 +000018 SunOS:*)
19 . auto/os/solaris
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000020 ;;
21
Igor Sysoev74944902008-07-30 12:18:07 +000022 Darwin:*)
23 . auto/os/darwin
24 ;;
25
Igor Sysoevec43d912009-05-10 19:49:14 +000026 win32)
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000027 . auto/os/win32
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000028 ;;
29
Igor Sysoevaa542632006-09-07 20:17:19 +000030 DragonFly:*)
31 have=NGX_FREEBSD . auto/have_headers
32 CORE_INCS="$UNIX_INCS"
33 CORE_DEPS="$UNIX_DEPS $FREEBSD_DEPS"
34 CORE_SRCS="$UNIX_SRCS $FREEBSD_SRCS"
35
36 echo " + sendfile() found"
37 have=NGX_HAVE_SENDFILE . auto/have
38 CORE_SRCS="$CORE_SRCS $FREEBSD_SENDFILE_SRCS"
39
40 ngx_spacer='
41'
42 ;;
43
Igor Sysoeve31e90b2005-05-19 13:25:22 +000044 HP-UX:*)
45 # HP/UX
46 have=NGX_HPUX . auto/have_headers
47 CORE_INCS="$UNIX_INCS"
48 CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
49 CORE_SRCS="$UNIX_SRCS"
50 CC_AUX_FLAGS="$CC_AUX_FLAGS -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
Maxim Dounin97f7bf22012-06-18 14:11:29 +000051 CC_AUX_FLAGS="$CC_AUX_FLAGS -D_HPUX_ALT_XOPEN_SOCKET_API"
Igor Sysoeve31e90b2005-05-19 13:25:22 +000052 ;;
53
54 OSF1:*)
Igor Sysoev4959ec42005-05-23 12:07:45 +000055 # Tru64 UNIX
Igor Sysoeve31e90b2005-05-19 13:25:22 +000056 have=NGX_TRU64 . auto/have_headers
Igor Sysoev4959ec42005-05-23 12:07:45 +000057 have=NGX_HAVE_STRERROR_R . auto/nohave
Igor Sysoeve31e90b2005-05-19 13:25:22 +000058 CORE_INCS="$UNIX_INCS"
59 CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
60 CORE_SRCS="$UNIX_SRCS"
61 ;;
62
Igor Sysoevd09f7a12004-06-15 17:47:16 +000063 *)
64 CORE_INCS="$UNIX_INCS"
65 CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
66 CORE_SRCS="$UNIX_SRCS"
67 ;;
68
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000069esac
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000070
71
Igor Sysoevd039a2e2005-02-22 14:40:13 +000072case "$NGX_MACHINE" in
Igor Sysoev02025fd2005-01-18 13:03:58 +000073
Igor Sysoev24025022005-12-16 15:07:08 +000074 i386 | i686 | i86pc)
Igor Sysoev899b44e2005-05-12 14:58:06 +000075 have=NGX_HAVE_NONALIGNED . auto/have
Igor Sysoev24025022005-12-16 15:07:08 +000076 NGX_MACH_CACHE_LINE=32
Igor Sysoev899b44e2005-05-12 14:58:06 +000077 ;;
Igor Sysoev02025fd2005-01-18 13:03:58 +000078
Igor Sysoev305a9d82005-12-26 17:07:48 +000079 amd64 | x86_64)
Igor Sysoev24025022005-12-16 15:07:08 +000080 have=NGX_HAVE_NONALIGNED . auto/have
81 NGX_MACH_CACHE_LINE=64
82 ;;
83
Igor Sysoev852cde42006-10-06 13:02:23 +000084 sun4u | sun4v | sparc | sparc64)
Igor Sysoevc31a9bb2005-11-26 10:11:11 +000085 have=NGX_ALIGNMENT value=16 . auto/define
Igor Sysoev24025022005-12-16 15:07:08 +000086 # TODO
87 NGX_MACH_CACHE_LINE=64
88 ;;
89
90 ia64 )
91 have=NGX_ALIGNMENT value=16 . auto/define
92 # TODO
93 NGX_MACH_CACHE_LINE=64
94 ;;
95
96 *)
Maxim Douninc45bd102012-06-18 14:09:54 +000097 have=NGX_ALIGNMENT value=16 . auto/define
Igor Sysoev24025022005-12-16 15:07:08 +000098 NGX_MACH_CACHE_LINE=32
Igor Sysoevc31a9bb2005-11-26 10:11:11 +000099 ;;
100
Igor Sysoev02025fd2005-01-18 13:03:58 +0000101esac
Igor Sysoev24025022005-12-16 15:07:08 +0000102
103if test -z "$NGX_CPU_CACHE_LINE"; then
104 NGX_CPU_CACHE_LINE=$NGX_MACH_CACHE_LINE
105fi
106
107have=NGX_CPU_CACHE_LINE value=$NGX_CPU_CACHE_LINE . auto/define