blob: b8f515e26c73e4287aef28e4250996afa034c02c [file] [log] [blame]
# Copyright (C) Igor Sysoev
# Copyright (C) NGINX, Inc.
NJS_PCRE_CFLAGS=
NJS_PCRE_LIB=
NJS_HAVE_PCRE=NO
if [ $NJS_PCRE = YES ]; then
njs_found=no
if [ $NJS_TRY_PCRE2 = YES ]; then
njs_feature="PCRE2 library"
njs_feature_name=NJS_HAVE_PCRE2
njs_feature_run=no
njs_feature_incs=
njs_feature_libs=
njs_feature_test="#define PCRE2_CODE_UNIT_WIDTH 8
#include <pcre2.h>
int main(void) {
pcre2_code *re;
re = pcre2_compile((PCRE2_SPTR)\"\",
PCRE2_ZERO_TERMINATED, 0,
NULL, NULL, NULL);
return (re == NULL);
}"
. auto/feature
if [ $njs_found = no ]; then
# pcre2-config
if /bin/sh -c "(pcre2-config --version)" >> $NJS_AUTOCONF_ERR 2>&1; then
NJS_PCRE_CFLAGS=`pcre2-config --cflags`
NJS_PCRE_LIB=`pcre2-config --libs8`
njs_feature="PCRE2 library in `pcre2-config --prefix 2>/dev/null`"
njs_feature_incs=$NJS_PCRE_CFLAGS
njs_feature_libs=$NJS_PCRE_LIB
. auto/feature
fi
fi
if [ $njs_found = yes ]; then
njs_feature="PCRE2 version"
njs_feature_name=NJS_PCRE2_VERSION
njs_feature_run=value
njs_feature_test="#define PCRE2_CODE_UNIT_WIDTH 8
#include <pcre2.h>
#include <stdio.h>
int main(void) {
printf(\"%d.%d\", PCRE2_MAJOR, PCRE2_MINOR);
return 0;
}"
. auto/feature
NJS_HAVE_PCRE=YES
fi
fi
if [ $njs_found = no ]; then
njs_feature="PCRE library"
njs_feature_name=NJS_HAVE_PCRE
njs_feature_run=no
njs_feature_incs=
njs_feature_libs=
njs_feature_test="#include <pcre.h>
int main(void) {
pcre *re;
re = pcre_compile(NULL, 0, NULL, 0, NULL);
if (re == NULL)
return 1;
return 0;
}"
. auto/feature
if [ $njs_found = no ]; then
# pcre-config
njs_pcre_prefix=`pcre-config --prefix 2>/dev/null`
if [ -n "$njs_pcre_prefix" ]; then
NJS_PCRE_CFLAGS=`pcre-config --cflags`
NJS_PCRE_LIB=`pcre-config --libs`
njs_feature="PCRE library in $njs_pcre_prefix"
njs_feature_incs="$NJS_PCRE_CFLAGS"
njs_feature_libs=$NJS_PCRE_LIB
. auto/feature
fi
fi
if [ $njs_found = yes ]; then
njs_feature="PCRE version"
njs_feature_name=NJS_PCRE_VERSION
njs_feature_run=value
njs_feature_test="#include <pcre.h>
#include <stdio.h>
int main(void) {
printf(\"%d.%d\", PCRE_MAJOR, PCRE_MINOR);
return 0;
}"
. auto/feature
NJS_HAVE_PCRE=YES
fi
fi
if [ $njs_found = no ]; then
echo
echo $0: error: no PCRE library found.
echo
exit 1;
fi
fi