test PCRE in FreeBSD, Linux, and NetBSD
diff --git a/auto/lib/md5/conf b/auto/lib/md5/conf
index 799d075..0c80fd5 100644
--- a/auto/lib/md5/conf
+++ b/auto/lib/md5/conf
@@ -53,6 +53,7 @@
         ngx_feature_name=
         ngx_feature_run=no
         ngx_feature_incs="#include <md5.h>"
+        ngx_feature_path=
         ngx_feature_libs="-lmd5"
         ngx_feature_test="MD5_CTX md5; MD5Init(&md5)"
         . auto/feature
@@ -70,6 +71,7 @@
             ngx_feature_name=
             ngx_feature_run=no
             ngx_feature_incs="#include <md5.h>"
+            ngx_feature_path=
             ngx_feature_libs="-lmd"
             ngx_feature_test="MD5_CTX md5; MD5Init(&md5)"
             . auto/feature
@@ -85,15 +87,16 @@
         else
             if [ $MD5 = NO ]; then
 
-               # OpenSSL crypto library
+                # OpenSSL crypto library
 
-               ngx_feature="OpenSSL md5 crypto library"
-               ngx_feature_name="NGX_OPENSSL_MD5"
-               ngx_feature_run=no
-               ngx_feature_incs="#include <openssl/md5.h>"
-               ngx_feature_libs="-lcrypto"
-               ngx_feature_test="MD5_CTX md5; MD5_Init(&md5)"
-               . auto/feature
+                ngx_feature="OpenSSL md5 crypto library"
+                ngx_feature_name="NGX_OPENSSL_MD5"
+                ngx_feature_run=no
+                ngx_feature_incs="#include <openssl/md5.h>"
+                ngx_feature_path=
+                ngx_feature_libs="-lcrypto"
+                ngx_feature_test="MD5_CTX md5; MD5_Init(&md5)"
+                . auto/feature
             fi
         fi
 
diff --git a/auto/lib/openssl/conf b/auto/lib/openssl/conf
index 32f82ca..02e9e61 100644
--- a/auto/lib/openssl/conf
+++ b/auto/lib/openssl/conf
@@ -47,6 +47,7 @@
             ngx_feature_name="NGX_OPENSSL"
             ngx_feature_run=no
             ngx_feature_incs="#include <openssl/ssl.h>"
+            ngx_feature_path=
             ngx_feature_libs="-lssl -lcrypto"
             ngx_feature_test="SSL_library_init()"
             . auto/feature
diff --git a/auto/lib/pcre/conf b/auto/lib/pcre/conf
index 460325c..6ad9164 100644
--- a/auto/lib/pcre/conf
+++ b/auto/lib/pcre/conf
@@ -64,13 +64,11 @@
     if [ "$NGX_PLATFORM" != win32 ]; then
         PCRE=NO
 
-        # FreeBSD PCRE port requires --with-cc-opt="-I /usr/local/include"
-        #                            --with-ld-opt="-L /usr/local/lib"
-
         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)"
         . auto/feature
@@ -81,6 +79,73 @@
             CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
             PCRE=YES
             ngx_found=no
+
+        else
+            # FreeBSD port
+
+            ngx_feature="PCRE library in /usr/local/"
+            ngx_feature_name="NGX_PCRE"
+            ngx_feature_run=no
+            ngx_feature_incs="#include <pcre.h>"
+            ngx_feature_path="/usr/local/include"
+            ngx_feature_libs="-L /usr/local/lib -lpcre"
+            ngx_feature_test="pcre *re;
+                              re = pcre_compile(NULL, 0, NULL, 0, NULL)"
+            . auto/feature
         fi
+
+        if [ $ngx_found = yes ]; then
+            CORE_DEPS="$CORE_DEPS $REGEX_DEPS"
+            CORE_SRCS="$CORE_SRCS $REGEX_SRCS"
+            CORE_INCS="$CORE_INCS $ngx_feature_path"
+            CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
+            PCRE=YES
+            ngx_found=no
+
+        else
+            # Linux package
+
+            ngx_feature="PCRE library in /usr/include/pcre/"
+            ngx_feature_name="NGX_PCRE"
+            ngx_feature_run=no
+            ngx_feature_incs="#include <pcre.h>"
+            ngx_feature_path="/usr/include/pcre"
+            ngx_feature_libs="-lpcre"
+            ngx_feature_test="pcre *re;
+                              re = pcre_compile(NULL, 0, NULL, 0, NULL)"
+            . auto/feature
+        fi
+
+        if [ $ngx_found = yes ]; then
+            CORE_DEPS="$CORE_DEPS $REGEX_DEPS"
+            CORE_SRCS="$CORE_SRCS $REGEX_SRCS"
+            CORE_INCS="$CORE_INCS $ngx_feature_path"
+            CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
+            PCRE=YES
+            ngx_found=no
+
+        else
+            # NetBSD port
+
+            ngx_feature="PCRE library in /usr/pkg/"
+            ngx_feature_name="NGX_PCRE"
+            ngx_feature_run=no
+            ngx_feature_incs="#include <pcre.h>"
+            ngx_feature_path="/usr/pkg/include"
+            ngx_feature_libs="-L /usr/pkg/lib -lpcre"
+            ngx_feature_test="pcre *re;
+                              re = pcre_compile(NULL, 0, NULL, 0, NULL)"
+            . auto/feature
+        fi
+
+        if [ $ngx_found = yes ]; then
+            CORE_DEPS="$CORE_DEPS $REGEX_DEPS"
+            CORE_SRCS="$CORE_SRCS $REGEX_SRCS"
+            CORE_INCS="$CORE_INCS $ngx_feature_path"
+            CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
+            PCRE=YES
+            ngx_found=no
+        fi
+
     fi
 fi
diff --git a/auto/lib/sha1/conf b/auto/lib/sha1/conf
index a1e20c9..52ca97f 100644
--- a/auto/lib/sha1/conf
+++ b/auto/lib/sha1/conf
@@ -43,6 +43,7 @@
         ngx_feature_name=
         ngx_feature_run=no
         ngx_feature_incs="#include <sha.h>"
+        ngx_feature_path=
         ngx_feature_libs="-lmd"
         ngx_feature_test="SHA_CTX sha1; SHA1_Init(&sha1)"
         . auto/feature
@@ -57,15 +58,16 @@
         else
             if [ $SHA1 = NO ]; then
 
-               # OpenSSL crypto library
+                # OpenSSL crypto library
 
-               ngx_feature="OpenSSL sha1 crypto library"
-               ngx_feature_name=
-               ngx_feature_run=no
-               ngx_feature_incs="#include <openssl/sha.h>"
-               ngx_feature_libs="-lcrypto"
-               ngx_feature_test="SHA_CTX sha1; SHA1_Init(&sha1)"
-               . auto/feature
+                ngx_feature="OpenSSL sha1 crypto library"
+                ngx_feature_name=
+                ngx_feature_run=no
+                ngx_feature_incs="#include <openssl/sha.h>"
+                ngx_feature_path=
+                ngx_feature_libs="-lcrypto"
+                ngx_feature_test="SHA_CTX sha1; SHA1_Init(&sha1)"
+                . auto/feature
             fi
         fi
 
diff --git a/auto/lib/zlib/conf b/auto/lib/zlib/conf
index 3123c66..f033354 100644
--- a/auto/lib/zlib/conf
+++ b/auto/lib/zlib/conf
@@ -47,6 +47,7 @@
         ngx_feature_name=
         ngx_feature_run=no
         ngx_feature_incs="#include <zlib.h>"
+        ngx_feature_path=
         ngx_feature_libs="-lz"
         ngx_feature_test="z_stream z; deflate(&z, Z_NO_FLUSH)"
         . auto/feature