mirror of
https://github.com/nginx/nginx.git
synced 2024-12-21 09:47:48 +08:00
48d96ced6f
Several warnings silenced, notably (ngx_socket_t) -1 is now checked on socket operations instead of -1, as ngx_socket_t is unsigned on win32 and gcc complains on comparison. With this patch, it's now possible to compile nginx using mingw gcc, with options we normally compile on win32.
204 lines
5.8 KiB
Plaintext
204 lines
5.8 KiB
Plaintext
|
|
# Copyright (C) Igor Sysoev
|
|
# Copyright (C) Nginx, Inc.
|
|
|
|
|
|
if [ $PCRE != NONE ]; then
|
|
CORE_INCS="$CORE_INCS $PCRE"
|
|
|
|
case "$NGX_CC_NAME" in
|
|
|
|
msvc* | owc* | bcc)
|
|
have=NGX_PCRE . auto/have
|
|
have=PCRE_STATIC . auto/have
|
|
CORE_DEPS="$CORE_DEPS $PCRE/pcre.h"
|
|
LINK_DEPS="$LINK_DEPS $PCRE/pcre.lib"
|
|
CORE_LIBS="$CORE_LIBS $PCRE/pcre.lib"
|
|
;;
|
|
|
|
icc* )
|
|
have=NGX_PCRE . auto/have
|
|
CORE_DEPS="$CORE_DEPS $PCRE/pcre.h"
|
|
|
|
LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre.a"
|
|
|
|
echo $ngx_n "checking for PCRE library ...$ngx_c"
|
|
|
|
if [ -f $PCRE/pcre.h ]; then
|
|
ngx_pcre_ver=`grep PCRE_MAJOR $PCRE/pcre.h \
|
|
| sed -e 's/^.*PCRE_MAJOR.* \(.*\)$/\1/'`
|
|
|
|
else if [ -f $PCRE/configure.in ]; then
|
|
ngx_pcre_ver=`grep PCRE_MAJOR= $PCRE/configure.in \
|
|
| sed -e 's/^.*=\(.*\)$/\1/'`
|
|
|
|
else
|
|
ngx_pcre_ver=`grep pcre_major, $PCRE/configure.ac \
|
|
| sed -e 's/^.*pcre_major,.*\[\(.*\)\].*$/\1/'`
|
|
fi
|
|
fi
|
|
|
|
echo " $ngx_pcre_ver major version found"
|
|
|
|
# to allow -ipo optimization we link with the *.o but not library
|
|
|
|
case "$ngx_pcre_ver" in
|
|
4|5)
|
|
CORE_LIBS="$CORE_LIBS $PCRE/pcre.o"
|
|
;;
|
|
|
|
6)
|
|
CORE_LIBS="$CORE_LIBS $PCRE/pcre_chartables.o"
|
|
CORE_LIBS="$CORE_LIBS $PCRE/pcre_compile.o"
|
|
CORE_LIBS="$CORE_LIBS $PCRE/pcre_exec.o"
|
|
CORE_LIBS="$CORE_LIBS $PCRE/pcre_fullinfo.o"
|
|
CORE_LIBS="$CORE_LIBS $PCRE/pcre_globals.o"
|
|
CORE_LIBS="$CORE_LIBS $PCRE/pcre_tables.o"
|
|
CORE_LIBS="$CORE_LIBS $PCRE/pcre_try_flipped.o"
|
|
;;
|
|
|
|
*)
|
|
CORE_LIBS="$CORE_LIBS $PCRE/pcre_chartables.o"
|
|
CORE_LIBS="$CORE_LIBS $PCRE/pcre_compile.o"
|
|
CORE_LIBS="$CORE_LIBS $PCRE/pcre_exec.o"
|
|
CORE_LIBS="$CORE_LIBS $PCRE/pcre_fullinfo.o"
|
|
CORE_LIBS="$CORE_LIBS $PCRE/pcre_globals.o"
|
|
CORE_LIBS="$CORE_LIBS $PCRE/pcre_tables.o"
|
|
CORE_LIBS="$CORE_LIBS $PCRE/pcre_try_flipped.o"
|
|
CORE_LIBS="$CORE_LIBS $PCRE/pcre_newline.o"
|
|
;;
|
|
|
|
esac
|
|
;;
|
|
|
|
*)
|
|
have=NGX_PCRE . auto/have
|
|
|
|
if [ "$NGX_PLATFORM" = win32 ]; then
|
|
have=PCRE_STATIC . auto/have
|
|
fi
|
|
|
|
CORE_DEPS="$CORE_DEPS $PCRE/pcre.h"
|
|
LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre.a"
|
|
CORE_LIBS="$CORE_LIBS $PCRE/.libs/libpcre.a"
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
if [ $PCRE_JIT = YES ]; then
|
|
have=NGX_HAVE_PCRE_JIT . auto/have
|
|
PCRE_CONF_OPT="$PCRE_CONF_OPT --enable-jit"
|
|
fi
|
|
|
|
else
|
|
|
|
if [ "$NGX_PLATFORM" != win32 ]; then
|
|
|
|
PCRE=NO
|
|
|
|
ngx_feature="PCRE library"
|
|
ngx_feature_name="NGX_PCRE"
|
|
ngx_feature_run=no
|
|
ngx_feature_incs="#include <pcre.h>"
|
|
ngx_feature_path=
|
|
ngx_feature_libs="-lpcre"
|
|
ngx_feature_test="pcre *re;
|
|
re = pcre_compile(NULL, 0, NULL, 0, NULL);
|
|
if (re == NULL) return 1"
|
|
. auto/feature
|
|
|
|
if [ $ngx_found = no ]; then
|
|
|
|
# FreeBSD port
|
|
|
|
ngx_feature="PCRE library in /usr/local/"
|
|
ngx_feature_path="/usr/local/include"
|
|
|
|
if [ $NGX_RPATH = YES ]; then
|
|
ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lpcre"
|
|
else
|
|
ngx_feature_libs="-L/usr/local/lib -lpcre"
|
|
fi
|
|
|
|
. auto/feature
|
|
fi
|
|
|
|
if [ $ngx_found = no ]; then
|
|
|
|
# RedHat RPM, Solaris package
|
|
|
|
ngx_feature="PCRE library in /usr/include/pcre/"
|
|
ngx_feature_path="/usr/include/pcre"
|
|
ngx_feature_libs="-lpcre"
|
|
|
|
. auto/feature
|
|
fi
|
|
|
|
if [ $ngx_found = no ]; then
|
|
|
|
# NetBSD port
|
|
|
|
ngx_feature="PCRE library in /usr/pkg/"
|
|
ngx_feature_path="/usr/pkg/include"
|
|
|
|
if [ $NGX_RPATH = YES ]; then
|
|
ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lpcre"
|
|
else
|
|
ngx_feature_libs="-L/usr/pkg/lib -lpcre"
|
|
fi
|
|
|
|
. auto/feature
|
|
fi
|
|
|
|
if [ $ngx_found = no ]; then
|
|
|
|
# MacPorts
|
|
|
|
ngx_feature="PCRE library in /opt/local/"
|
|
ngx_feature_path="/opt/local/include"
|
|
|
|
if [ $NGX_RPATH = YES ]; then
|
|
ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lpcre"
|
|
else
|
|
ngx_feature_libs="-L/opt/local/lib -lpcre"
|
|
fi
|
|
|
|
. auto/feature
|
|
fi
|
|
|
|
if [ $ngx_found = yes ]; then
|
|
CORE_INCS="$CORE_INCS $ngx_feature_path"
|
|
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
|
|
PCRE=YES
|
|
fi
|
|
|
|
if [ $PCRE = YES ]; then
|
|
ngx_feature="PCRE JIT support"
|
|
ngx_feature_name="NGX_HAVE_PCRE_JIT"
|
|
ngx_feature_test="int jit = 0;
|
|
pcre_free_study(NULL);
|
|
pcre_config(PCRE_CONFIG_JIT, &jit);
|
|
if (jit != 1) return 1;"
|
|
. auto/feature
|
|
|
|
if [ $ngx_found = yes ]; then
|
|
PCRE_JIT=YES
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if [ $PCRE != YES ]; then
|
|
cat << END
|
|
|
|
$0: error: the HTTP rewrite module requires the PCRE library.
|
|
You can either disable the module by using --without-http_rewrite_module
|
|
option, or install the PCRE library into the system, or build the PCRE library
|
|
statically from the source with nginx by using --with-pcre=<path> option.
|
|
|
|
END
|
|
exit 1
|
|
fi
|
|
|
|
fi
|