| |
| # Copyright (C) Igor Sysoev |
| |
| |
| CFLAGS="$CFLAGS $CC_OPT" |
| |
| case $CC in |
| |
| *gcc*) |
| # gcc 2.7.2.3, 2.8.1, 2.95.4, |
| # 3.0.4, 3.1.1, 3.2.3, 3.3.2, 3.3.3, 3.3.4, 3.4 |
| |
| # optimizations |
| #CFLAGS="$CFLAGS -O2 -fomit-frame-pointer" |
| |
| case $CPU in |
| pentium) |
| # optimize for Pentium and Athlon |
| CPU_OPT="-march=pentium" |
| ;; |
| |
| pentiumpro) |
| # optimize for Pentium Pro, Pentium II and Pentium III |
| CPU_OPT="-march=pentiumpro" |
| ;; |
| |
| pentium4) |
| # optimize for Pentium 4, gcc 3.x |
| CPU_OPT="-march=pentium4" |
| ;; |
| |
| sparc64) |
| # build 64-bit binary, sparcv9 only |
| CPU_OPT="-m64" |
| ;; |
| |
| esac |
| |
| # STUB for batch builds |
| if [ $CC = gcc27 ]; then CPU_OPT=; fi |
| |
| CFLAGS="$CFLAGS $PIPE $CPU_OPT" |
| |
| if [ ".$PCRE_OPT" = "." ]; then |
| PCRE_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT" |
| else |
| PCRE_OPT="$PCRE_OPT $PIPE" |
| fi |
| |
| if [ ".$MD5_OPT" = "." ]; then |
| MD5_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT" |
| else |
| MD5_OPT="$MD5_OPT $PIPE" |
| fi |
| |
| if [ ".$ZLIB_OPT" = "." ]; then |
| ZLIB_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT" |
| else |
| ZLIB_OPT="$ZLIB_OPT $PIPE" |
| fi |
| |
| # warnings |
| CFLAGS="$CFLAGS -O -W" |
| CFLAGS="$CFLAGS -Wall -Wpointer-arith" |
| #CFLAGS="$CFLAGS -Wconversion" |
| #CFLAGS="$CFLAGS -Winline" |
| |
| # we have a lot of the unused function arguments |
| CFLAGS="$CFLAGS -Wno-unused" |
| |
| # stop on warning |
| CFLAGS="$CFLAGS -Werror" |
| |
| # ANSI C warnings |
| #CFLAGS="$CFLAGS -pedantic" |
| |
| # debug |
| CFLAGS="$CFLAGS -g" |
| |
| # DragonFly's gcc3 generates DWARF |
| #CFLAGS="$CFLAGS -g -gstabs" |
| |
| have=HAVE_GCC_VARIADIC_MACROS . auto/have |
| |
| if [ ".$CPP" = "." ]; then |
| CPP="$CC -E" |
| fi |
| |
| LINK="\$(CC)" |
| |
| INCOPT="-I " |
| COMPOPT="-c" |
| OBJOUT="-o " |
| BINOUT="-o " |
| OBJEXT="o" |
| |
| CC_STRONG="$CC -Wall -Werror" |
| ;; |
| |
| |
| *icc) |
| # Intel C++ compiler 7.1, 8.0 |
| |
| # optimizations |
| CFLAGS="$CFLAGS -O" |
| # inline functions declared with __inline |
| #CFLAGS="$CFLAGS -Ob1" |
| # inline any function, at the compiler's discretion |
| CFLAGS="$CFLAGS -Ob2" |
| |
| # single-file IP optimizations |
| #IPO="-ip" |
| # multi-file IP optimizations |
| IPO="-ipo -ipo_obj" |
| CFLAGS="$CFLAGS $IPO" |
| CORE_LINK="$CORE_LINK $IPO" |
| CORE_LINK="$CORE_LINK -opt_report_file=$OBJS/opt_report_file" |
| |
| case $CPU in |
| pentium) |
| # optimize for Pentium and Athlon |
| CPU_OPT="-march=pentium" |
| ;; |
| |
| pentiumpro) |
| # optimize for Pentium Pro, Pentium II and Pentium III |
| CPU_OPT="-mcpu=pentiumpro -march=pentiumpro" |
| ;; |
| |
| pentium4) |
| # optimize for Pentium 4, default |
| CPU_OPT="-march=pentium4" |
| ;; |
| esac |
| |
| CFLAGS="$CFLAGS $CPU_OPT" |
| |
| if [ ".$PCRE_OPT" = "." ]; then |
| PCRE_OPT="-O $IPO $CPU_OPT" |
| fi |
| |
| if [ ".$MD5_OPT" = "." ]; then |
| MD5_OPT="-O $IPO $CPU_OPT" |
| fi |
| |
| if [ ".$ZLIB_OPT" = "." ]; then |
| ZLIB_OPT="-O $IPO $CPU_OPT" |
| fi |
| |
| # warnings |
| CFLAGS="$CFLAGS -w1" |
| #CFLAGS="$CFLAGS -w2" |
| |
| # stop on warning |
| CFLAGS="$CFLAGS -Werror" |
| |
| # debug |
| CFLAGS="$CFLAGS -g" |
| |
| have=HAVE_C99_VARIADIC_MACROS . auto/have |
| |
| LINK="\$(CC)" |
| |
| INCOPT="-I " |
| COMPOPT="-c" |
| OBJOUT="-o " |
| BINOUT="-o " |
| OBJEXT="o" |
| |
| CC_STRONG="$CC -w1 -Werror" |
| ;; |
| |
| |
| cl) |
| # MSVC 6.0 SP2 |
| |
| # optimizations |
| |
| # maximize speed |
| CFLAGS="$CFLAGS -O2" |
| # enable global optimization |
| CFLAGS="$CFLAGS -Og" |
| # enable intrinsic functions |
| CFLAGS="$CFLAGS -Oi" |
| # inline expansion |
| CFLAGS="$CFLAGS -Ob1" |
| # enable frame pointer omission |
| CFLAGS="$CFLAGS -Oy" |
| # disable stack checking calls |
| CFLAGS="$CFLAGS -Gs" |
| |
| case $CPU in |
| pentium) |
| # optimize for Pentium and Athlon |
| CPU_OPT="-G5" |
| ;; |
| |
| pentiumpro) |
| # optimize for Pentium Pro, Pentium II and Pentium III |
| CPU_OPT="-G6" |
| ;; |
| |
| pentium4) |
| # optimize for Pentium 4 |
| #CPU_OPT="-G7" |
| ;; |
| esac |
| |
| CFLAGS="$CFLAGS $CPU_OPT" |
| |
| # warnings |
| #CFLAGS="$CFLAGS -W3" |
| CFLAGS="$CFLAGS -W4" |
| |
| # stop on warning |
| CFLAGS="$CFLAGS -WX" |
| |
| # link with libcmt.lib, multithreaded |
| #LIBC="-MT" |
| # link with msvcrt.dll |
| LIBC="-MD" |
| |
| CFLAGS="$CFLAGS $LIBC" |
| |
| # disable logo |
| CFLAGS="$CFLAGS -nologo" |
| |
| LINK="\$(CC)" |
| |
| # link flags |
| CORE_LINK="$CORE_LINK -link -verbose:lib" |
| |
| # debug |
| CFLAGS="$CFLAGS -Yd" |
| CORE_LINK="$CORE_LINK -debug -debugtype:coff" |
| |
| # precompiled headers |
| CORE_DEPS="$CORE_DEPS ngx_config.pch" |
| PCH="ngx_config.pch" |
| BUILDPCH="-Ycngx_config.h" |
| USEPCH="-Yungx_config.h" |
| |
| INCOPT="-I " |
| COMPOPT="-c" |
| OBJOUT="-Fo" |
| BINOUT="-Fe" |
| OBJEXT="obj" |
| BINEXT=".exe" |
| #DIRSEP='\\' |
| ;; |
| |
| |
| wcl386) |
| # Open Watcom C 1.0, 1.2 |
| |
| # optimizations |
| |
| # maximize speed |
| CFLAGS="$CFLAGS -ot" |
| # reorder instructions for best pipeline usage |
| CFLAGS="$CFLAGS -op" |
| # inline intrinsic functions |
| CFLAGS="$CFLAGS -oi" |
| # inline expansion |
| CFLAGS="$CFLAGS -oe" |
| # disable stack checking calls |
| CFLAGS="$CFLAGS -s" |
| |
| case $CPU in |
| pentium) |
| # optimize for Pentium and Athlon |
| # register-based arguments passing conventions |
| CPU_OPT="-5r" |
| # stack-based arguments passing conventions |
| #CPU_OPT="-5s" |
| ;; |
| |
| pentiumpro) |
| # optimize for Pentium Pro, Pentium II and Pentium III |
| # register-based arguments passing conventions |
| CPU_OPT="-6r" |
| # stack-based arguments passing conventions |
| #CPU_OPT="-6s" |
| ;; |
| esac |
| |
| CFLAGS="$CFLAGS $CPU_OPT" |
| |
| # warnings |
| #CFLAGS="$CFLAGS -w3" |
| CFLAGS="$CFLAGS -wx" |
| |
| # stop on warning |
| CFLAGS="$CFLAGS -we" |
| |
| # built target is NT |
| CFLAGS="$CFLAGS -bt=nt" |
| |
| # multithreaded |
| CFLAGS="$CFLAGS -bm" |
| |
| # debug |
| CFLAGS="$CFLAGS -d2" |
| |
| # quiet |
| CFLAGS="$CFLAGS -zq" |
| |
| # Open Watcom C 1.2 |
| #have=HAVE_C99_VARIADIC_MACROS . auto/have |
| |
| # precompiled headers |
| CORE_DEPS="$CORE_DEPS $OBJS\\ngx_config.pch" |
| PCH="$OBJS\\ngx_config.pch" |
| BUILDPCH="-fhq=$OBJS\\ngx_config.pch" |
| USEPCH="-fh=$OBJS\\ngx_config.pch" |
| |
| LINK="\$(CC)" |
| |
| # link flags |
| CORE_LINK="$CORE_LINK -l=nt" |
| |
| INCOPT="-i=" |
| COMPOPT="-c" |
| OBJOUT="-fo" |
| BINOUT="-fe=" |
| OBJEXT="obj" |
| BINEXT=".exe" |
| DIRSEP='\\' |
| |
| MAKE_SL=YES |
| ;; |
| |
| |
| bcc32) |
| # Borland C++ 5.5 |
| |
| # optimizations |
| |
| # maximize speed |
| CFLAGS="$CFLAGS -O2" |
| |
| case $CPU in |
| pentium) |
| # optimize for Pentium and Athlon |
| CPU_OPT="-5" |
| ;; |
| |
| pentiumpro) |
| # optimize for Pentium Pro, Pentium II and Pentium III |
| CPU_OPT="-6" |
| ;; |
| esac |
| |
| CFLAGS="$CFLAGS $CPU_OPT" |
| |
| # multithreaded |
| CFLAGS="$CFLAGS -tWM" |
| |
| # stop on warning |
| CFLAGS="$CFLAGS -w!" |
| |
| # disable logo |
| CFLAGS="$CFLAGS -q" |
| |
| # precompiled headers |
| CORE_DEPS="$CORE_DEPS $OBJS\\ngx_config.csm" |
| PCH="$OBJS\\ngx_config.csm" |
| BUILDPCH="-H=$OBJS\\ngx_config.csm" |
| USEPCH="-Hu -H=$OBJS\\ngx_config.csm" |
| |
| LINK="\$(CC)" |
| |
| INCOPT="-I" |
| COMPOPT="-c" |
| OBJOUT="-o" |
| BINOUT="-e" |
| OBJEXT="obj" |
| BINEXT=".exe" |
| DIRSEP='\\' |
| ;; |
| |
| esac |