mirror of https://github.com/nginx/nginx
An official read-only mirror of http://hg.nginx.org/nginx/ which is updated hourly. Pull requests on GitHub cannot be accepted and will be automatically closed. The proper way to submit changes to nginx is via the nginx development mailing list, see http:
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
168 lines
4.4 KiB
168 lines
4.4 KiB
|
|
# Copyright (C) Igor Sysoev
|
|
# Copyright (C) Nginx, Inc.
|
|
|
|
|
|
if [ $PCRE_LIBRARY = PCRE2 ]; then
|
|
|
|
# PCRE2
|
|
|
|
if [ $NGX_CC_NAME = msvc ]; then
|
|
|
|
# With PCRE2, it is not possible to compile all sources.
|
|
# Since list of source files changes between versions, we
|
|
# test files which might not be present.
|
|
|
|
ngx_pcre_srcs="pcre2_auto_possess.c \
|
|
pcre2_chartables.c \
|
|
pcre2_compile.c \
|
|
pcre2_config.c \
|
|
pcre2_context.c \
|
|
pcre2_dfa_match.c \
|
|
pcre2_error.c \
|
|
pcre2_jit_compile.c \
|
|
pcre2_maketables.c \
|
|
pcre2_match.c \
|
|
pcre2_match_data.c \
|
|
pcre2_newline.c \
|
|
pcre2_ord2utf.c \
|
|
pcre2_pattern_info.c \
|
|
pcre2_string_utils.c \
|
|
pcre2_study.c \
|
|
pcre2_substitute.c \
|
|
pcre2_substring.c \
|
|
pcre2_tables.c \
|
|
pcre2_ucd.c \
|
|
pcre2_valid_utf.c \
|
|
pcre2_xclass.c"
|
|
|
|
ngx_pcre_test="pcre2_convert.c \
|
|
pcre2_extuni.c \
|
|
pcre2_find_bracket.c \
|
|
pcre2_script_run.c \
|
|
pcre2_serialize.c"
|
|
|
|
for ngx_src in $ngx_pcre_test
|
|
do
|
|
if [ -f $PCRE/src/$ngx_src ]; then
|
|
ngx_pcre_srcs="$ngx_pcre_srcs $ngx_src"
|
|
fi
|
|
done
|
|
|
|
ngx_pcre_objs=`echo $ngx_pcre_srcs \
|
|
| sed -e "s#\([^ ]*\.\)c#\1$ngx_objext#g"`
|
|
|
|
ngx_pcre_srcs=`echo $ngx_pcre_srcs \
|
|
| sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g"`
|
|
ngx_pcre_objs=`echo $ngx_pcre_objs \
|
|
| sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g"`
|
|
|
|
cat << END >> $NGX_MAKEFILE
|
|
|
|
PCRE_CFLAGS = -O2 -Ob1 -Oi -Gs $LIBC $CPU_OPT
|
|
PCRE_FLAGS = -DHAVE_CONFIG_H -DPCRE2_STATIC -DPCRE2_CODE_UNIT_WIDTH=8 \\
|
|
-DHAVE_MEMMOVE
|
|
|
|
PCRE_SRCS = $ngx_pcre_srcs
|
|
PCRE_OBJS = $ngx_pcre_objs
|
|
|
|
$PCRE/src/pcre2.h:
|
|
cd $PCRE/src \\
|
|
&& copy /y config.h.generic config.h \\
|
|
&& copy /y pcre2.h.generic pcre2.h \\
|
|
&& copy /y pcre2_chartables.c.dist pcre2_chartables.c
|
|
|
|
$PCRE/src/pcre2-8.lib: $PCRE/src/pcre2.h $NGX_MAKEFILE
|
|
cd $PCRE/src \\
|
|
&& cl -nologo -c \$(PCRE_CFLAGS) -I . \$(PCRE_FLAGS) \$(PCRE_SRCS) \\
|
|
&& link -lib -out:pcre2-8.lib -verbose:lib \$(PCRE_OBJS)
|
|
|
|
END
|
|
|
|
else
|
|
|
|
cat << END >> $NGX_MAKEFILE
|
|
|
|
$PCRE/src/pcre2.h: $PCRE/Makefile
|
|
|
|
$PCRE/Makefile: $NGX_MAKEFILE
|
|
cd $PCRE \\
|
|
&& if [ -f Makefile ]; then \$(MAKE) distclean; fi \\
|
|
&& CC="\$(CC)" CFLAGS="$PCRE_OPT" \\
|
|
./configure --disable-shared $PCRE_CONF_OPT
|
|
|
|
$PCRE/.libs/libpcre2-8.a: $PCRE/Makefile
|
|
cd $PCRE \\
|
|
&& \$(MAKE) libpcre2-8.la
|
|
|
|
END
|
|
|
|
fi
|
|
|
|
|
|
else
|
|
|
|
# PCRE
|
|
|
|
case "$NGX_CC_NAME" in
|
|
|
|
msvc)
|
|
ngx_makefile=makefile.msvc
|
|
ngx_opt="CPU_OPT=\"$CPU_OPT\" LIBC=$LIBC"
|
|
ngx_pcre="PCRE=\"$PCRE\""
|
|
;;
|
|
|
|
owc)
|
|
ngx_makefile=makefile.owc
|
|
ngx_opt="CPU_OPT=\"$CPU_OPT\""
|
|
ngx_pcre=`echo PCRE=\"$PCRE\" | sed -e "s/\//$ngx_regex_dirsep/g"`
|
|
;;
|
|
|
|
bcc)
|
|
ngx_makefile=makefile.bcc
|
|
ngx_opt="-DCPU_OPT=\"$CPU_OPT\""
|
|
ngx_pcre=`echo \-DPCRE=\"$PCRE\" \
|
|
| sed -e "s/\//$ngx_regex_dirsep/g"`
|
|
;;
|
|
|
|
*)
|
|
ngx_makefile=
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
if [ -n "$ngx_makefile" ]; then
|
|
|
|
cat << END >> $NGX_MAKEFILE
|
|
|
|
`echo "$PCRE/pcre.lib: $PCRE/pcre.h $NGX_MAKEFILE" \
|
|
| sed -e "s/\//$ngx_regex_dirsep/g"`
|
|
\$(MAKE) -f auto/lib/pcre/$ngx_makefile $ngx_pcre $ngx_opt
|
|
|
|
`echo "$PCRE/pcre.h:" | sed -e "s/\//$ngx_regex_dirsep/g"`
|
|
\$(MAKE) -f auto/lib/pcre/$ngx_makefile $ngx_pcre pcre.h
|
|
|
|
END
|
|
|
|
else
|
|
|
|
cat << END >> $NGX_MAKEFILE
|
|
|
|
$PCRE/pcre.h: $PCRE/Makefile
|
|
|
|
$PCRE/Makefile: $NGX_MAKEFILE
|
|
cd $PCRE \\
|
|
&& if [ -f Makefile ]; then \$(MAKE) distclean; fi \\
|
|
&& CC="\$(CC)" CFLAGS="$PCRE_OPT" \\
|
|
./configure --disable-shared $PCRE_CONF_OPT
|
|
|
|
$PCRE/.libs/libpcre.a: $PCRE/Makefile
|
|
cd $PCRE \\
|
|
&& \$(MAKE) libpcre.la
|
|
|
|
END
|
|
|
|
fi
|
|
|
|
fi
|
|
|