File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / nginx / auto / cc / conf
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Mon Oct 14 09:20:38 2013 UTC (11 years, 5 months ago) by misho
Branches: nginx, MAIN
CVS tags: v1_4_3p0, v1_4_3, HEAD
v 1.4.3

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>