view auto/cc/owc @ 8772:0b5f12d5c531

PCRE2 library support. The PCRE2 library is now used by default if found, instead of the original PCRE library. If needed for some reason, this can be disabled with the --without-pcre2 configure option. To make it possible to specify paths to the library and include files via --with-cc-opt / --with-ld-opt, the library is first tested without any additional paths and options. If this fails, the pcre2-config script is used. Similarly to the original PCRE library, it is now possible to build PCRE2 from sources with nginx configure, by using the --with-pcre= option. It automatically detects if PCRE or PCRE2 sources are provided. Note that compiling PCRE2 10.33 and later requires inttypes.h. When compiling on Windows with MSVC, inttypes.h is only available starting with MSVC 2013. In older versions some replacement needs to be provided ("echo '#include <stdint.h>' > pcre2-10.xx/src/inttypes.h" is good enough for MSVC 2010). The interface on nginx side remains unchanged.
author Maxim Dounin <mdounin@mdounin.ru>
date Sat, 25 Dec 2021 01:07:15 +0300
parents b7b7f3a0cc28
children
line wrap: on
line source


# Copyright (C) Igor Sysoev
# Copyright (C) Nginx, Inc.


# Open Watcom C 1.0, 1.2, 1.3

# 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

# maximum level
CFLAGS="$CFLAGS -wx"
#CFLAGS="$CFLAGS -w3"

# 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=NGX_HAVE_C99_VARIADIC_MACROS . auto/have


# the precompiled headers
#CORE_DEPS="$CORE_DEPS $NGX_OBJS/ngx_config.pch"
#NGX_PCH="$NGX_OBJS/ngx_config.pch"
#NGX_BUILD_PCH="-fhq=$NGX_OBJS/ngx_config.pch"
#NGX_USE_PCH="-fh=$NGX_OBJS/ngx_config.pch"


# the link flags, built target is NT GUI mode application
#CORE_LINK="$CORE_LINK -l=nt_win"


# the resource file
NGX_RCC="wrc \$(CORE_INCS) -fo=$NGX_OBJS/nginx.res "
NGX_RCC="$NGX_RCC $NGX_WIN32_RC $NGX_OBJS/nginx.exe"


ngx_include_opt="-i="
ngx_objout="-fo"
ngx_binout="-fe="
ngx_objext="obj"

ngx_regex_dirsep='\\'
ngx_dirsep="\\"

ngx_long_start=' '
ngx_long_end=' '
ngx_long_regex_cont=' \&\
	'
ngx_long_cont=' &
	'

ngx_regex_cont=' \&\
	'
ngx_cont=' &
	'
ngx_tab=' &
		'