Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 1 | |
| 2 | # Copyright (C) Igor Sysoev |
| 3 | |
| 4 | |
Igor Sysoev | aa82861 | 2005-02-09 14:31:07 +0000 | [diff] [blame] | 5 | LINK="\$(CC)" |
| 6 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 7 | ngx_include_opt="-I " |
| 8 | ngx_compile_opt="-c" |
| 9 | ngx_objout="-o " |
| 10 | ngx_binout="-o " |
| 11 | ngx_objext="o" |
| 12 | ngx_binext= |
| 13 | |
Igor Sysoev | 09c684b | 2005-11-09 17:25:55 +0000 | [diff] [blame] | 14 | ngx_long_start= |
| 15 | ngx_long_end= |
| 16 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 17 | ngx_regex_dirsep="\/" |
| 18 | ngx_dirsep='/' |
| 19 | |
| 20 | ngx_regex_cont=' \\\ |
| 21 | ' |
| 22 | ngx_cont=' \ |
| 23 | ' |
| 24 | ngx_tab=' \ |
| 25 | ' |
| 26 | ngx_spacer= |
| 27 | |
Igor Sysoev | 09c684b | 2005-11-09 17:25:55 +0000 | [diff] [blame] | 28 | ngx_long_regex_cont=$ngx_regex_cont |
| 29 | ngx_long_cont=$ngx_cont |
| 30 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 31 | . auto/cc/name |
| 32 | |
| 33 | if test -n "$CFLAGS"; then |
| 34 | |
| 35 | CC_TEST_FLAGS="$CFLAGS $NGX_CC_OPT" |
| 36 | |
| 37 | case $NGX_CC_NAME in |
| 38 | |
| 39 | ccc) |
| 40 | # Compaq C V6.5-207 |
| 41 | |
| 42 | ngx_include_opt="-I" |
| 43 | ;; |
| 44 | |
| 45 | esac |
| 46 | |
| 47 | else |
| 48 | |
| 49 | case $NGX_CC_NAME in |
| 50 | gcc) |
Igor Sysoev | e31e90b | 2005-05-19 13:25:22 +0000 | [diff] [blame] | 51 | # gcc 2.7.2.3, 2.8.1, 2.95.4, egcs-1.1.2 |
| 52 | # 3.0.4, 3.1.1, 3.2.3, 3.3.2, 3.3.3, 3.3.4, 3.4.0, 3.4.2 |
Igor Sysoev | 7845223 | 2005-10-12 13:50:36 +0000 | [diff] [blame] | 53 | # 4.0.0, 4.0.1, 4.1.0 |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 54 | |
| 55 | . auto/cc/gcc |
| 56 | ;; |
| 57 | |
| 58 | icc) |
Igor Sysoev | e31e90b | 2005-05-19 13:25:22 +0000 | [diff] [blame] | 59 | # Intel C++ compiler 7.1, 8.0, 8.1 |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 60 | |
| 61 | . auto/cc/icc |
| 62 | ;; |
| 63 | |
Igor Sysoev | 7845223 | 2005-10-12 13:50:36 +0000 | [diff] [blame] | 64 | sunc) |
| 65 | # Sun C 5.7 Patch 117837-04 2005/05/11 |
| 66 | |
| 67 | . auto/cc/sunc |
| 68 | ;; |
| 69 | |
Igor Sysoev | d43bee8 | 2004-11-20 19:52:20 +0000 | [diff] [blame] | 70 | ccc) |
Igor Sysoev | e31e90b | 2005-05-19 13:25:22 +0000 | [diff] [blame] | 71 | # Compaq C V6.5-207 |
| 72 | |
| 73 | . auto/cc/ccc |
Igor Sysoev | d43bee8 | 2004-11-20 19:52:20 +0000 | [diff] [blame] | 74 | ;; |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 75 | |
Igor Sysoev | e31e90b | 2005-05-19 13:25:22 +0000 | [diff] [blame] | 76 | acc) |
| 77 | # aCC: HP ANSI C++ B3910B A.03.55.02 |
| 78 | |
| 79 | . auto/cc/acc |
| 80 | ;; |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 81 | |
Igor Sysoev | 1b73583 | 2004-11-11 14:07:14 +0000 | [diff] [blame] | 82 | msvc*) |
| 83 | # MSVC++ 6.0 SP2, MSVC++ Toolkit 2003 |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 84 | |
| 85 | . auto/cc/msvc |
| 86 | ;; |
| 87 | |
| 88 | owc) |
| 89 | # Open Watcom C 1.0, 1.2 |
| 90 | |
| 91 | . auto/cc/owc |
| 92 | ;; |
| 93 | |
| 94 | bcc) |
| 95 | # Borland C++ 5.5 |
| 96 | |
| 97 | . auto/cc/bcc |
| 98 | ;; |
| 99 | |
| 100 | esac |
| 101 | |
Igor Sysoev | e31e90b | 2005-05-19 13:25:22 +0000 | [diff] [blame] | 102 | CC_TEST_FLAGS="$CC_TEST_FLAGS $NGX_CC_OPT" |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 103 | |
| 104 | fi |
| 105 | |
| 106 | CFLAGS="$CFLAGS $NGX_CC_OPT" |
| 107 | |
| 108 | |
Igor Sysoev | f690604 | 2004-11-25 16:17:31 +0000 | [diff] [blame] | 109 | if [ "$NGX_PLATFORM" != win32 ]; then |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 110 | |
Igor Sysoev | 1b73583 | 2004-11-11 14:07:14 +0000 | [diff] [blame] | 111 | if test -n "$NGX_LD_OPT"; then |
| 112 | ngx_feature=--with-ld-opt=\"$NGX_LD_OPT\" |
Igor Sysoev | f690604 | 2004-11-25 16:17:31 +0000 | [diff] [blame] | 113 | ngx_feature_name= |
Igor Sysoev | 1b73583 | 2004-11-11 14:07:14 +0000 | [diff] [blame] | 114 | ngx_feature_run=no |
| 115 | ngx_feature_incs= |
Igor Sysoev | 0ec09f9 | 2006-11-27 11:07:09 +0000 | [diff] [blame] | 116 | ngx_feature_path= |
Igor Sysoev | 1b73583 | 2004-11-11 14:07:14 +0000 | [diff] [blame] | 117 | ngx_feature_libs= |
| 118 | ngx_feature_test= |
| 119 | . auto/feature |
| 120 | |
| 121 | if [ $ngx_found = no ]; then |
| 122 | echo $0: error: the invalid value in --with-ld-opt=\"$NGX_LD_OPT\" |
| 123 | echo |
| 124 | exit 1 |
| 125 | fi |
| 126 | fi |
| 127 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 128 | ngx_feature="gcc variadic macros" |
Igor Sysoev | f690604 | 2004-11-25 16:17:31 +0000 | [diff] [blame] | 129 | ngx_feature_name="NGX_HAVE_GCC_VARIADIC_MACROS" |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 130 | ngx_feature_run=yes |
| 131 | ngx_feature_incs="#include <stdio.h> |
| 132 | #define var(dummy, args...) sprintf(args)" |
Igor Sysoev | 0ec09f9 | 2006-11-27 11:07:09 +0000 | [diff] [blame] | 133 | ngx_feature_path= |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 134 | ngx_feature_libs= |
| 135 | ngx_feature_test="char buf[30]; buf[0] = '0'; |
| 136 | var(0, buf, \"%d\", 1); |
| 137 | if (buf[0] != '1') return 1" |
| 138 | . auto/feature |
| 139 | |
| 140 | |
Igor Sysoev | 4959ec4 | 2005-05-23 12:07:45 +0000 | [diff] [blame] | 141 | if [ "$NGX_CC_NAME" = "ccc" ]; then |
Igor Sysoev | e31e90b | 2005-05-19 13:25:22 +0000 | [diff] [blame] | 142 | echo "checking for C99 variadic macros ... disabled" |
| 143 | else |
| 144 | ngx_feature="C99 variadic macros" |
| 145 | ngx_feature_name="NGX_HAVE_C99_VARIADIC_MACROS" |
| 146 | ngx_feature_run=yes |
| 147 | ngx_feature_incs="#include <stdio.h> |
| 148 | #define var(dummy, ...) sprintf(__VA_ARGS__)" |
Igor Sysoev | 0ec09f9 | 2006-11-27 11:07:09 +0000 | [diff] [blame] | 149 | ngx_feature_path= |
Igor Sysoev | e31e90b | 2005-05-19 13:25:22 +0000 | [diff] [blame] | 150 | ngx_feature_libs= |
| 151 | ngx_feature_test="char buf[30]; buf[0] = '0'; |
| 152 | var(0, buf, \"%d\", 1); |
| 153 | if (buf[0] != '1') return 1" |
| 154 | . auto/feature |
| 155 | fi |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 156 | |
Igor Sysoev | d43bee8 | 2004-11-20 19:52:20 +0000 | [diff] [blame] | 157 | |
| 158 | # ngx_feature="inline" |
Igor Sysoev | f690604 | 2004-11-25 16:17:31 +0000 | [diff] [blame] | 159 | # ngx_feature_name= |
Igor Sysoev | d43bee8 | 2004-11-20 19:52:20 +0000 | [diff] [blame] | 160 | # ngx_feature_run=no |
| 161 | # ngx_feature_incs="int inline f(void) { return 1 }" |
Igor Sysoev | 0ec09f9 | 2006-11-27 11:07:09 +0000 | [diff] [blame] | 162 | # ngx_feature_path= |
Igor Sysoev | d43bee8 | 2004-11-20 19:52:20 +0000 | [diff] [blame] | 163 | # ngx_feature_libs= |
| 164 | # ngx_feature_test= |
| 165 | # . auto/feature |
| 166 | # |
| 167 | # if [ $ngx_found = yes ]; then |
| 168 | # fi |
| 169 | |
Igor Sysoev | c0edbcc | 2004-10-21 15:34:38 +0000 | [diff] [blame] | 170 | fi |