1 2# Copyright (C) Igor Sysoev 3# Copyright (C) Nginx, Inc. 4 5 6echo "checking for $NGX_SYSTEM specific features" 7 8case "$NGX_PLATFORM" in 9 10 FreeBSD:*) 11 . auto/os/freebsd 12 ;; 13 14 Linux:*) 15 . auto/os/linux 16 ;; 17 18 SunOS:*) 19 . auto/os/solaris 20 ;; 21 22 Darwin:*) 23 . auto/os/darwin 24 ;; 25 26 win32) 27 . auto/os/win32 28 ;; 29 30 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 44 NetBSD:*) 45 CORE_INCS="$UNIX_INCS" 46 CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" 47 CORE_SRCS="$UNIX_SRCS" 48 49 NGX_RPATH=YES 50 ;; 51 52 HP-UX:*) 53 # HP/UX 54 have=NGX_HPUX . auto/have_headers 55 CORE_INCS="$UNIX_INCS" 56 CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" 57 CORE_SRCS="$UNIX_SRCS" 58 CC_AUX_FLAGS="$CC_AUX_FLAGS -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1" 59 CC_AUX_FLAGS="$CC_AUX_FLAGS -D_HPUX_ALT_XOPEN_SOCKET_API" 60 ;; 61 62 OSF1:*) 63 # Tru64 UNIX 64 have=NGX_TRU64 . auto/have_headers 65 have=NGX_HAVE_STRERROR_R . auto/nohave 66 CORE_INCS="$UNIX_INCS" 67 CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" 68 CORE_SRCS="$UNIX_SRCS" 69 ;; 70 71 GNU:*) 72 # GNU Hurd 73 have=NGX_GNU_HURD . auto/have_headers 74 CORE_INCS="$UNIX_INCS" 75 CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" 76 CORE_SRCS="$UNIX_SRCS" 77 CC_AUX_FLAGS="$CC_AUX_FLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" 78 ;; 79 80 *) 81 CORE_INCS="$UNIX_INCS" 82 CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" 83 CORE_SRCS="$UNIX_SRCS" 84 ;; 85 86esac 87 88 89case "$NGX_MACHINE" in 90 91 i386 | i686 | i86pc) 92 have=NGX_HAVE_NONALIGNED . auto/have 93 NGX_MACH_CACHE_LINE=32 94 ;; 95 96 amd64 | x86_64) 97 have=NGX_HAVE_NONALIGNED . auto/have 98 NGX_MACH_CACHE_LINE=64 99 ;; 100 101 sun4u | sun4v | sparc | sparc64) 102 have=NGX_ALIGNMENT value=16 . auto/define 103 # TODO 104 NGX_MACH_CACHE_LINE=64 105 ;; 106 107 ia64 ) 108 have=NGX_ALIGNMENT value=16 . auto/define 109 # TODO 110 NGX_MACH_CACHE_LINE=64 111 ;; 112 113 aarch64 ) 114 have=NGX_ALIGNMENT value=16 . auto/define 115 NGX_MACH_CACHE_LINE=64 116 ;; 117 118 *) 119 have=NGX_ALIGNMENT value=16 . auto/define 120 NGX_MACH_CACHE_LINE=32 121 ;; 122 123esac 124 125if test -z "$NGX_CPU_CACHE_LINE"; then 126 NGX_CPU_CACHE_LINE=$NGX_MACH_CACHE_LINE 127fi 128 129have=NGX_CPU_CACHE_LINE value=$NGX_CPU_CACHE_LINE . auto/define 130