Package: release.debian.org
User: release.debian....@packages.debian.org
Usertags: pu
Tags: jessie
Severity: normal

The upgrade of clamav in Jessie (#807969) requires a source upload of
libclamunrar building libclamunrar7 instead of libclamunrar6.

Please find attached a complete diff against current stable release.
Most of it just noise. This package is what we have in unstable
currently. The important part is probably m4/reorganization/version.m4
next to the debian/ folder

The library was tested on i386 against
/usr/share/clamav-testfiles/*.rar.

Sebastian
diff --git a/Makefile.in b/Makefile.in
index a7cac882adca..074e9f267d6a 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,17 +89,6 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 subdir = .
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/configure $(am__configure_deps) \
-	$(srcdir)/clamav-config.h.in $(srcdir)/platform.h.in COPYING \
-	config/compile config/config.guess config/config.rpath \
-	config/config.sub config/depcomp config/install-sh \
-	config/missing config/ltmain.sh $(top_srcdir)/config/compile \
-	$(top_srcdir)/config/config.guess \
-	$(top_srcdir)/config/config.rpath \
-	$(top_srcdir)/config/config.sub \
-	$(top_srcdir)/config/install-sh $(top_srcdir)/config/ltmain.sh \
-	$(top_srcdir)/config/missing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
 	$(top_srcdir)/m4/ax_check_uname_syscall.m4 \
@@ -112,6 +111,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
 	$(top_srcdir)/m4/reorganization/libs/xml.m4 \
 	$(top_srcdir)/m4/reorganization/libs/openssl.m4 \
 	$(top_srcdir)/m4/reorganization/libs/json.m4 \
+	$(top_srcdir)/m4/reorganization/libs/pcre.m4 \
 	$(top_srcdir)/m4/reorganization/libs/libz.m4 \
 	$(top_srcdir)/m4/reorganization/libs/bzip.m4 \
 	$(top_srcdir)/m4/reorganization/libs/unrar.m4 \
@@ -151,12 +151,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
+	$(top_srcdir)/m4/reorganization/yara.m4 \
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+	$(am__configure_deps) $(am__DIST_COMMON)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 mkinstalldirs = $(install_sh) -d
@@ -220,6 +223,16 @@ ETAGS = etags
 CTAGS = ctags
 CSCOPE = cscope
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/clamav-config.h.in \
+	$(srcdir)/platform.h.in $(top_srcdir)/config/compile \
+	$(top_srcdir)/config/config.guess \
+	$(top_srcdir)/config/config.rpath \
+	$(top_srcdir)/config/config.sub \
+	$(top_srcdir)/config/install-sh $(top_srcdir)/config/ltmain.sh \
+	$(top_srcdir)/config/missing COPYING config/compile \
+	config/config.guess config/config.rpath config/config.sub \
+	config/depcomp config/install-sh config/ltmain.sh \
+	config/missing config/ylwrap
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -275,6 +288,7 @@ CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFGDIR = @CFGDIR@
 CFLAGS = @CFLAGS@
+CHECK_CFLAGS = @CHECK_CFLAGS@
 CHECK_CPPFLAGS = @CHECK_CPPFLAGS@
 CHECK_LIBS = @CHECK_LIBS@
 CLAMAVGROUP = @CLAMAVGROUP@
@@ -321,6 +335,7 @@ GENHTML = @GENHTML@
 GETENT = @GETENT@
 GPERF = @GPERF@
 GREP = @GREP@
+HAVE_YARA = @HAVE_YARA@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -332,6 +347,9 @@ JSON_LIBS = @JSON_LIBS@
 LCOV = @LCOV@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LEX = @LEX@
+LEXLIB = @LEXLIB@
+LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
 LIBBZ2 = @LIBBZ2@
 LIBBZ2_PREFIX = @LIBBZ2_PREFIX@
 LIBCLAMAV_CPPFLAGS = @LIBCLAMAV_CPPFLAGS@
@@ -364,6 +382,11 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+PCRE_CPPFLAGS = @PCRE_CPPFLAGS@
+PCRE_LIBS = @PCRE_LIBS@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 RANLIB = @RANLIB@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -381,6 +404,8 @@ WERR_CFLAGS = @WERR_CFLAGS@
 WERR_CFLAGS_MILTER = @WERR_CFLAGS_MILTER@
 XML_CPPFLAGS = @XML_CPPFLAGS@
 XML_LIBS = @XML_LIBS@
+YACC = @YACC@
+YFLAGS = @YFLAGS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -425,6 +450,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -460,7 +486,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -692,15 +717,15 @@ dist-xz: distdir
 	$(am__post_remove_distdir)
 
 dist-tarZ: distdir
-	@echo WARNING: "Support for shar distribution archives is" \
-	               "deprecated." >&2
+	@echo WARNING: "Support for distribution archives compressed with" \
+		       "legacy program 'compress' is deprecated." >&2
 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 	$(am__post_remove_distdir)
 
 dist-shar: distdir
-	@echo WARNING: "Support for distribution archives compressed with" \
-		       "legacy program 'compress' is deprecated." >&2
+	@echo WARNING: "Support for shar distribution archives is" \
+	               "deprecated." >&2
 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
 	$(am__post_remove_distdir)
@@ -736,17 +761,17 @@ distcheck: dist
 	esac
 	chmod -R a-w $(distdir)
 	chmod u+w $(distdir)
-	mkdir $(distdir)/_build $(distdir)/_inst
+	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
 	chmod a-w $(distdir)
 	test -d $(distdir)/_build || exit 0; \
 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
 	  && am__cwd=`pwd` \
-	  && $(am__cd) $(distdir)/_build \
-	  && ../configure \
+	  && $(am__cd) $(distdir)/_build/sub \
+	  && ../../configure \
 	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
-	    --srcdir=.. --prefix="$$dc_install_base" \
+	    --srcdir=../.. --prefix="$$dc_install_base" \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
 	  && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -924,6 +949,8 @@ ps: ps-recursive
 	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
 	uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/aclocal.m4 b/aclocal.m4
index be4864945010..fddff088fe09 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,283 @@ You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
 To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+dnl pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
+dnl serial 11 (pkg-config-0.29)
+dnl
+dnl Copyright © 2004 Scott James Remnant <sc...@netsplit.com>.
+dnl Copyright © 2012-2015 Dan Nicholson <dbn.li...@gmail.com>
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful, but
+dnl WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+dnl 02111-1307, USA.
+dnl
+dnl As a special exception to the GNU General Public License, if you
+dnl distribute this file as part of a program that contains a
+dnl configuration script generated by Autoconf, you may include it under
+dnl the same distribution terms that you use for the rest of that
+dnl program.
+
+dnl PKG_PREREQ(MIN-VERSION)
+dnl -----------------------
+dnl Since: 0.29
+dnl
+dnl Verify that the version of the pkg-config macros are at least
+dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
+dnl installed version of pkg-config, this checks the developer's version
+dnl of pkg.m4 when generating configure.
+dnl
+dnl To ensure that this macro is defined, also add:
+dnl m4_ifndef([PKG_PREREQ],
+dnl     [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
+dnl
+dnl See the "Since" comment for each macro you use to see what version
+dnl of the macros you require.
+m4_defun([PKG_PREREQ],
+[m4_define([PKG_MACROS_VERSION], [0.29])
+m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
+    [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
+])dnl PKG_PREREQ
+
+dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
+dnl ----------------------------------
+dnl Since: 0.16
+dnl
+dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
+dnl first found in the path. Checks that the version of pkg-config found
+dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
+dnl used since that's the first version where most current features of
+dnl pkg-config existed.
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=m4_default([$1], [0.9.0])
+	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		AC_MSG_RESULT([yes])
+	else
+		AC_MSG_RESULT([no])
+		PKG_CONFIG=""
+	fi
+fi[]dnl
+])dnl PKG_PROG_PKG_CONFIG
+
+dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------------------------------
+dnl Since: 0.18
+dnl
+dnl Check to see whether a particular set of modules exists. Similar to
+dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
+dnl
+dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+dnl only at the first occurence in configure.ac, so if the first place
+dnl it's called might be skipped (such as if it is within an "if", you
+dnl have to call PKG_CHECK_EXISTS manually
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+  m4_default([$2], [:])
+m4_ifvaln([$3], [else
+  $3])dnl
+fi])
+
+dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+dnl ---------------------------------------------
+dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
+dnl pkg_failed based on the result.
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+    pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+    PKG_CHECK_EXISTS([$3],
+                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes ],
+		     [pkg_failed=yes])
+ else
+    pkg_failed=untried
+fi[]dnl
+])dnl _PKG_CONFIG
+
+dnl _PKG_SHORT_ERRORS_SUPPORTED
+dnl ---------------------------
+dnl Internal check to see if pkg-config supports short errors.
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi[]dnl
+])dnl _PKG_SHORT_ERRORS_SUPPORTED
+
+
+dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl   [ACTION-IF-NOT-FOUND])
+dnl --------------------------------------------------------------
+dnl Since: 0.4.0
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
+dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+   	AC_MSG_RESULT([no])
+        _PKG_SHORT_ERRORS_SUPPORTED
+        if test $_pkg_short_errors_supported = yes; then
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
+        else 
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+	m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])[]dnl
+        ])
+elif test $pkg_failed = untried; then
+     	AC_MSG_RESULT([no])
+	m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+        ])
+else
+	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+        AC_MSG_RESULT([yes])
+	$3
+fi[]dnl
+])dnl PKG_CHECK_MODULES
+
+
+dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl   [ACTION-IF-NOT-FOUND])
+dnl ---------------------------------------------------------------------
+dnl Since: 0.29
+dnl
+dnl Checks for existence of MODULES and gathers its build flags with
+dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
+dnl and VARIABLE-PREFIX_LIBS from --libs.
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
+dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
+dnl configure.ac.
+AC_DEFUN([PKG_CHECK_MODULES_STATIC],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+_save_PKG_CONFIG=$PKG_CONFIG
+PKG_CONFIG="$PKG_CONFIG --static"
+PKG_CHECK_MODULES($@)
+PKG_CONFIG=$_save_PKG_CONFIG[]dnl
+])dnl PKG_CHECK_MODULES_STATIC
+
+
+dnl PKG_INSTALLDIR([DIRECTORY])
+dnl -------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable pkgconfigdir as the location where a module
+dnl should install pkg-config .pc files. By default the directory is
+dnl $libdir/pkgconfig, but the default can be changed by passing
+dnl DIRECTORY. The user can override through the --with-pkgconfigdir
+dnl parameter.
+AC_DEFUN([PKG_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+    [pkg-config installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([pkgconfigdir],
+    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
+    [with_pkgconfigdir=]pkg_default)
+AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+])dnl PKG_INSTALLDIR
+
+
+dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
+dnl --------------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable noarch_pkgconfigdir as the location where a
+dnl module should install arch-independent pkg-config .pc files. By
+dnl default the directory is $datadir/pkgconfig, but the default can be
+dnl changed by passing DIRECTORY. The user can override through the
+dnl --with-noarch-pkgconfigdir parameter.
+AC_DEFUN([PKG_NOARCH_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([noarch-pkgconfigdir],
+    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
+    [with_noarch_pkgconfigdir=]pkg_default)
+AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+])dnl PKG_NOARCH_INSTALLDIR
+
+
+dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------
+dnl Since: 0.28
+dnl
+dnl Retrieves the value of the pkg-config variable for the given module.
+AC_DEFUN([PKG_CHECK_VAR],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
+
+_PKG_CONFIG([$1], [variable="][$3]["], [$2])
+AS_VAR_COPY([$1], [pkg_cv_][$1])
+
+AS_VAR_IF([$1], [""], [$5], [$4])dnl
+])dnl PKG_CHECK_VAR
+
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -32,10 +308,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.14'
+[am__api_version='1.15'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.14.1], [],
+m4_if([$1], [1.15], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,14 +327,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.14.1])dnl
+[AM_AUTOMAKE_VERSION([1.15])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -110,7 +386,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -141,7 +417,7 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -332,7 +608,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -408,7 +684,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -498,8 +774,8 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
@@ -573,6 +849,9 @@ END
     AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
   fi
 fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
 ])
 
 dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
@@ -602,7 +881,7 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -613,7 +892,7 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -623,7 +902,7 @@ if test x"${install_sh}" != xset; then
 fi
 AC_SUBST([install_sh])])
 
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -642,9 +921,27 @@ fi
 rmdir .tst 2>/dev/null
 AC_SUBST([am__leading_dot])])
 
+# Copyright (C) 1998-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_LEX
+# -----------
+# Autoconf leaves LEX=: if lex or flex can't be found.  Change that to a
+# "missing" invocation, for better error output.
+AC_DEFUN([AM_PROG_LEX],
+[AC_PREREQ([2.50])dnl
+AC_REQUIRE([AM_MISSING_HAS_RUN])dnl
+AC_REQUIRE([AC_PROG_LEX])dnl
+if test "$LEX" = :; then
+  LEX=${am_missing_run}flex
+fi])
+
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -694,7 +991,7 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -733,7 +1030,7 @@ fi
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -762,7 +1059,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -809,7 +1106,7 @@ AC_LANG_POP([C])])
 # For backward compatibility.
 AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -828,7 +1125,7 @@ AC_DEFUN([AM_RUN_LOG],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -909,7 +1206,7 @@ AC_CONFIG_COMMANDS_PRE(
 rm -f conftest.file
 ])
 
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -969,7 +1266,7 @@ AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -997,7 +1294,7 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1016,7 +1313,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/clamav-config.h.in b/clamav-config.h.in
index b73467956ebd..b49f34cd10eb 100644
--- a/clamav-config.h.in
+++ b/clamav-config.h.in
@@ -218,6 +218,9 @@
 /* Define to 1 if you have the <ndir.h> header file. */
 #undef HAVE_NDIR_H
 
+/* Define to 1 if you have the 'libpcre' library (-lpcre). */
+#undef HAVE_PCRE
+
 /* Define to 1 if you have the `poll' function. */
 #undef HAVE_POLL
 
@@ -305,6 +308,9 @@
 /* Define to 1 if you have the `sysctlbyname' function. */
 #undef HAVE_SYSCTLBYNAME
 
+/* Define to 1 if you have the <sys/cdefs.h> header file. */
+#undef HAVE_SYS_CDEFS_H
+
 /* Define to 1 if you have the <sys/filio.h> header file. */
 #undef HAVE_SYS_FILIO_H
 
@@ -320,6 +326,9 @@
 /* Define to 1 if you have the <sys/param.h> header file. */
 #undef HAVE_SYS_PARAM_H
 
+/* Define to 1 if you have the <sys/queue.h> header file. */
+#undef HAVE_SYS_QUEUE_H
+
 /* "have <sys/select.h>" */
 #undef HAVE_SYS_SELECT_H
 
@@ -350,6 +359,9 @@
 /* Define to 1 if you have the `vsnprintf' function. */
 #undef HAVE_VSNPRINTF
 
+/* yara sources are compiled in */
+#undef HAVE_YARA
+
 /* For internal use only - DO NOT DEFINE */
 #undef HAVE__INTERNAL__SHA_COLLECT
 
@@ -463,6 +475,10 @@
 # endif
 #endif
 
+/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
+   `char[]'. */
+#undef YYTEXT_POINTER
+
 /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
 #undef _LARGEFILE_SOURCE
 
diff --git a/config/test-driver b/config/test-driver
deleted file mode 100755
index 32bf39e83779..000000000000
--- a/config/test-driver
+++ /dev/null
@@ -1,127 +0,0 @@
-#! /bin/sh
-# test-driver - basic testsuite driver script.
-
-scriptversion=2012-06-27.10; # UTC
-
-# Copyright (C) 2011-2013 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-autom...@gnu.org> or send patches to
-# <automake-patc...@gnu.org>.
-
-# Make unconditional expansion of undefined variables an error.  This
-# helps a lot in preventing typo-related bugs.
-set -u
-
-usage_error ()
-{
-  echo "$0: $*" >&2
-  print_usage >&2
-  exit 2
-}
-
-print_usage ()
-{
-  cat <<END
-Usage:
-  test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
-              [--expect-failure={yes|no}] [--color-tests={yes|no}]
-              [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
-The '--test-name', '--log-file' and '--trs-file' options are mandatory.
-END
-}
-
-# TODO: better error handling in option parsing (in particular, ensure
-# TODO: $log_file, $trs_file and $test_name are defined).
-test_name= # Used for reporting.
-log_file=  # Where to save the output of the test script.
-trs_file=  # Where to save the metadata of the test run.
-expect_failure=no
-color_tests=no
-enable_hard_errors=yes
-while test $# -gt 0; do
-  case $1 in
-  --help) print_usage; exit $?;;
-  --version) echo "test-driver $scriptversion"; exit $?;;
-  --test-name) test_name=$2; shift;;
-  --log-file) log_file=$2; shift;;
-  --trs-file) trs_file=$2; shift;;
-  --color-tests) color_tests=$2; shift;;
-  --expect-failure) expect_failure=$2; shift;;
-  --enable-hard-errors) enable_hard_errors=$2; shift;;
-  --) shift; break;;
-  -*) usage_error "invalid option: '$1'";;
-  esac
-  shift
-done
-
-if test $color_tests = yes; then
-  # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
-  red='' # Red.
-  grn='' # Green.
-  lgn='' # Light green.
-  blu='' # Blue.
-  mgn='' # Magenta.
-  std=''     # No color.
-else
-  red= grn= lgn= blu= mgn= std=
-fi
-
-do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
-trap "st=129; $do_exit" 1
-trap "st=130; $do_exit" 2
-trap "st=141; $do_exit" 13
-trap "st=143; $do_exit" 15
-
-# Test script is run here.
-"$@" >$log_file 2>&1
-estatus=$?
-if test $enable_hard_errors = no && test $estatus -eq 99; then
-  estatus=1
-fi
-
-case $estatus:$expect_failure in
-  0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
-  0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
-  77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
-  99:*)  col=$mgn res=ERROR recheck=yes gcopy=yes;;
-  *:yes) col=$lgn res=XFAIL recheck=no  gcopy=yes;;
-  *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
-esac
-
-# Report outcome to console.
-echo "${col}${res}${std}: $test_name"
-
-# Register the test result, and other relevant metadata.
-echo ":test-result: $res" > $trs_file
-echo ":global-test-result: $res" >> $trs_file
-echo ":recheck: $recheck" >> $trs_file
-echo ":copy-in-global-log: $gcopy" >> $trs_file
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/config/ylwrap b/config/ylwrap
new file mode 100755
index 000000000000..92536350cba4
--- /dev/null
+++ b/config/ylwrap
@@ -0,0 +1,226 @@
+#! /bin/sh
+# ylwrap - wrapper for lex/yacc invocations.
+
+scriptversion=2011-08-25.18; # UTC
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005,
+# 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
+#
+# Written by Tom Tromey <tro...@cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-autom...@gnu.org> or send patches to
+# <automake-patc...@gnu.org>.
+
+case "$1" in
+  '')
+    echo "$0: No files given.  Try \`$0 --help' for more information." 1>&2
+    exit 1
+    ;;
+  --basedir)
+    basedir=$2
+    shift 2
+    ;;
+  -h|--h*)
+    cat <<\EOF
+Usage: ylwrap [--help|--version] INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]...
+
+Wrapper for lex/yacc invocations, renaming files as desired.
+
+  INPUT is the input file
+  OUTPUT is one file PROG generates
+  DESIRED is the file we actually want instead of OUTPUT
+  PROGRAM is program to run
+  ARGS are passed to PROG
+
+Any number of OUTPUT,DESIRED pairs may be used.
+
+Report bugs to <bug-autom...@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v|--v*)
+    echo "ylwrap $scriptversion"
+    exit $?
+    ;;
+esac
+
+
+# The input.
+input="$1"
+shift
+case "$input" in
+  [\\/]* | ?:[\\/]*)
+    # Absolute path; do nothing.
+    ;;
+  *)
+    # Relative path.  Make it absolute.
+    input="`pwd`/$input"
+    ;;
+esac
+
+pairlist=
+while test "$#" -ne 0; do
+  if test "$1" = "--"; then
+    shift
+    break
+  fi
+  pairlist="$pairlist $1"
+  shift
+done
+
+# The program to run.
+prog="$1"
+shift
+# Make any relative path in $prog absolute.
+case "$prog" in
+  [\\/]* | ?:[\\/]*) ;;
+  *[\\/]*) prog="`pwd`/$prog" ;;
+esac
+
+# FIXME: add hostname here for parallel makes that run commands on
+# other machines.  But that might take us over the 14-char limit.
+dirname=ylwrap$$
+do_exit="cd '`pwd`' && rm -rf $dirname > /dev/null 2>&1;"' (exit $ret); exit $ret'
+trap "ret=129; $do_exit" 1
+trap "ret=130; $do_exit" 2
+trap "ret=141; $do_exit" 13
+trap "ret=143; $do_exit" 15
+mkdir $dirname || exit 1
+
+cd $dirname
+
+case $# in
+  0) "$prog" "$input" ;;
+  *) "$prog" "$@" "$input" ;;
+esac
+ret=$?
+
+if test $ret -eq 0; then
+  set X $pairlist
+  shift
+  first=yes
+  # Since DOS filename conventions don't allow two dots,
+  # the DOS version of Bison writes out y_tab.c instead of y.tab.c
+  # and y_tab.h instead of y.tab.h. Test to see if this is the case.
+  y_tab_nodot="no"
+  if test -f y_tab.c || test -f y_tab.h; then
+    y_tab_nodot="yes"
+  fi
+
+  # The directory holding the input.
+  input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'`
+  # Quote $INPUT_DIR so we can use it in a regexp.
+  # FIXME: really we should care about more than `.' and `\'.
+  input_rx=`echo "$input_dir" | sed 's,\\\\,\\\\\\\\,g;s,\\.,\\\\.,g'`
+
+  while test "$#" -ne 0; do
+    from="$1"
+    # Handle y_tab.c and y_tab.h output by DOS
+    if test $y_tab_nodot = "yes"; then
+      if test $from = "y.tab.c"; then
+        from="y_tab.c"
+      else
+        if test $from = "y.tab.h"; then
+          from="y_tab.h"
+        fi
+      fi
+    fi
+    if test -f "$from"; then
+      # If $2 is an absolute path name, then just use that,
+      # otherwise prepend `../'.
+      case "$2" in
+        [\\/]* | ?:[\\/]*) target="$2";;
+        *) target="../$2";;
+      esac
+
+      # We do not want to overwrite a header file if it hasn't
+      # changed.  This avoid useless recompilations.  However the
+      # parser itself (the first file) should always be updated,
+      # because it is the destination of the .y.c rule in the
+      # Makefile.  Divert the output of all other files to a temporary
+      # file so we can compare them to existing versions.
+      if test $first = no; then
+        realtarget="$target"
+        target="tmp-`echo $target | sed s/.*[\\/]//g`"
+      fi
+      # Edit out `#line' or `#' directives.
+      #
+      # We don't want the resulting debug information to point at
+      # an absolute srcdir; it is better for it to just mention the
+      # .y file with no path.
+      #
+      # We want to use the real output file name, not yy.lex.c for
+      # instance.
+      #
+      # We want the include guards to be adjusted too.
+      FROM=`echo "$from" | sed \
+            -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
+            -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`
+      TARGET=`echo "$2" | sed \
+            -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
+            -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`
+
+      sed -e "/^#/!b" -e "s,$input_rx,," -e "s,$from,$2," \
+          -e "s,$FROM,$TARGET," "$from" >"$target" || ret=$?
+
+      # Check whether header files must be updated.
+      if test $first = no; then
+        if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then
+          echo "$2" is unchanged
+          rm -f "$target"
+        else
+          echo updating "$2"
+          mv -f "$target" "$realtarget"
+        fi
+      fi
+    else
+      # A missing file is only an error for the first file.  This
+      # is a blatant hack to let us support using "yacc -d".  If -d
+      # is not specified, we don't want an error when the header
+      # file is "missing".
+      if test $first = yes; then
+        ret=1
+      fi
+    fi
+    shift
+    shift
+    first=no
+  done
+else
+  ret=$?
+fi
+
+# Remove the directory.
+cd ..
+rm -rf $dirname
+
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/configure b/configure
index f5f0812da373..1b1e401996d3 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for ClamAV 0.98.5.
+# Generated by GNU Autoconf 2.69 for ClamAV 0.99.
 #
 # Report bugs to <http://bugs.clamav.net/>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='ClamAV'
 PACKAGE_TARNAME='clamav'
-PACKAGE_VERSION='0.98.5'
-PACKAGE_STRING='ClamAV 0.98.5'
+PACKAGE_VERSION='0.99'
+PACKAGE_STRING='ClamAV 0.99'
 PACKAGE_BUGREPORT='http://bugs.clamav.net/'
 PACKAGE_URL='http://www.clamav.net/'
 
@@ -633,7 +633,9 @@ ac_includes_default="\
 #endif"
 
 enable_option_checking=no
-ac_subst_vars='ENABLE_LLVM_FALSE
+ac_subst_vars='ENABLE_YARA_FALSE
+ENABLE_YARA_TRUE
+ENABLE_LLVM_FALSE
 ENABLE_LLVM_TRUE
 am__EXEEXT_FALSE
 am__EXEEXT_TRUE
@@ -645,6 +647,7 @@ JSON_LDFLAGS
 JSON_LIBS
 SSL_LDFLAGS
 SSL_LIBS
+PCRE_LIBS
 CLAMCONF_LIBS
 CLAMBC_LIBS
 CLAMDTOP_LIBS
@@ -657,6 +660,7 @@ CLAMAV_MILTER_LIBS
 CLAMMEM_LIBS
 CLAMD_LIBS
 LIBCLAMAV_LIBS
+PCRE_CPPFLAGS
 JSON_CPPFLAGS
 SSL_CPPFLAGS
 LIBCLAMSHARED_CPPFLAGS
@@ -673,6 +677,7 @@ CLAMSCAN_CPPFLAGS
 FRESHCLAM_CPPFLAGS
 CLAMSUBMIT_CFLAGS
 CLAMSUBMIT_LIBS
+HAVE_YARA
 subdirs
 WERR_CFLAGS_MILTER
 WERR_CFLAGS
@@ -710,14 +715,23 @@ LCOV
 GCOV
 HAVE_LIBCHECK_FALSE
 HAVE_LIBCHECK_TRUE
-CHECK_LIBS
 CHECK_CPPFLAGS
+CHECK_LIBS
+CHECK_CFLAGS
+PKG_CONFIG_LIBDIR
+PKG_CONFIG_PATH
+PKG_CONFIG
 BUILD_CONFIGURE_FLAGS
 VERSIONSCRIPT_FALSE
 VERSIONSCRIPT_TRUE
 VERSIONSCRIPTFLAG
 GPERF
 LIBM
+YFLAGS
+YACC
+LEXLIB
+LEX_OUTPUT_ROOT
+LEX
 OTOOL64
 OTOOL
 LIPO
@@ -816,6 +830,7 @@ infodir
 docdir
 oldincludedir
 includedir
+runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -858,6 +873,7 @@ enable_xml
 with_xml
 with_openssl
 with_libjson
+with_pcre
 enable_maintainer_mode
 with_zlib
 enable_zlib_vcheck
@@ -888,8 +904,10 @@ with_libncurses_prefix
 with_libpdcurses_prefix
 enable_distcheck_werror
 with_system_llvm
+with_llvm_linking
 enable_llvm
 enable_sha_collector_for_internal_use
+enable_yara
 with_libcurl
 '
       ac_precious_vars='build_alias
@@ -900,7 +918,14 @@ CFLAGS
 LDFLAGS
 LIBS
 CPPFLAGS
-CPP'
+CPP
+YACC
+YFLAGS
+PKG_CONFIG
+PKG_CONFIG_PATH
+PKG_CONFIG_LIBDIR
+CHECK_CFLAGS
+CHECK_LIBS'
 ac_subdirs_all='
 libclamav/c++'
 
@@ -940,6 +965,7 @@ datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1192,6 +1218,15 @@ do
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
+  -runstatedir | --runstatedir | --runstatedi | --runstated \
+  | --runstate | --runstat | --runsta | --runst | --runs \
+  | --run | --ru | --r)
+    ac_prev=runstatedir ;;
+  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+  | --run=* | --ru=* | --r=*)
+    runstatedir=$ac_optarg ;;
+
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1329,7 +1364,7 @@ fi
 for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
 		datadir sysconfdir sharedstatedir localstatedir includedir \
 		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir
+		libdir localedir mandir runstatedir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -1442,7 +1477,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures ClamAV 0.98.5 to adapt to many kinds of systems.
+\`configure' configures ClamAV 0.99 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1482,6 +1517,7 @@ For better control, use the options below.
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
@@ -1513,7 +1549,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ClamAV 0.98.5:";;
+     short | recursive ) echo "Configuration of ClamAV 0.99:";;
    esac
   cat <<\_ACEOF
 
@@ -1532,38 +1568,41 @@ if test -n "$ac_init_help"; then
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --disable-gcc-vcheck	  do not check for buggy gcc version
-  --enable-experimental	enable experimental code
-  --disable-mempool       disable memory pools
-  --enable-check           Enable 'check' unit tests (default=auto)
+  --disable-gcc-vcheck    do not check for buggy gcc version
+  --enable-experimental   enable experimental code
+  --disable-mempool       do not use memory pools
+  --enable-check          enable check unit tests [default=auto]
   --disable-rpath         do not hardcode runtime library paths
   --enable-coverage       turn on test coverage [default=no]
-  --disable-xml	  disable DMG and XAR support
-  --enable-maintainer-mode enable make rules and dependencies not useful
-                          (and sometimes confusing) to the casual installer
-  --disable-zlib-vcheck	  do not check for buggy zlib version
-  --disable-bzip2	  disable bzip2 support
-  --disable-unrar	  don't build libclamunrar and libclamunrar_iface
-  --disable-getaddrinfo          disable support for getaddrinfo
-  --disable-ipv6          disable IPv6 support
-  --disable-dns           disable support for database verification through
-                          DNS
-  --disable-fanotify	  disable fanotify support (Linux only)
-  --enable-milter	  build clamav-milter
-  --disable-pthreads      disable POSIX threads support
-  --disable-cr		  don't link with C reentrant library (BSD)
-  --enable-id-check	  use id utility instead of /etc/passwd parsing
-  --enable-yp-check	  use ypmatch utility instead of /etc/passwd parsing
-  --enable-no-cache	  use "Cache-Control: no-cache" in freshclam
-  --enable-dns-fix	  enable workaround for broken DNS servers (as in SpeedTouch 510)
-  --enable-bigstack	  increase thread stack size
-  --enable-readdir_r		    enable support for readdir_r
-  --disable-fdpassing        don't build file descriptor passing support
-  --enable-clamdtop       Enable 'clamdtop' tool [default=auto]
+  --disable-xml           do not include DMG and XAR support
+  --enable-maintainer-mode
+                          make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
+  --disable-zlib-vcheck   do not check for buggy zlib version
+  --disable-bzip2         do not include bzip2 support
+  --disable-unrar         do not build libclamunrar and libclamunrar_iface
+  --disable-getaddrinfo   do not include support for getaddrinfo
+  --disable-ipv6          do not include IPv6 support
+  --disable-dns           do not include support for database verification
+                          through DNS
+  --disable-fanotify      do not add fanotify support (Linux only)
+  --enable-milter         build clamav-milter
+  --disable-pthreads      do not include POSIX threads support
+  --disable-cr            do not link with C reentrant library (BSD)
+  --enable-id-check       use id utility instead of /etc/passwd parsing
+  --enable-yp-check       use ypmatch utility instead of /etc/passwd parsing
+  --enable-no-cache       use "Cache-Control: no-cache" in freshclam
+  --enable-dns-fix        enable workaround for broken DNS servers (as in
+                          SpeedTouch 510)
+  --enable-bigstack       increase thread stack size
+  --enable-readdir_r      enable support for readdir_r
+  --disable-fdpassing     do not build file descriptor passing support
+  --enable-clamdtop       build clamdtop tool [default=auto]
   --enable-distcheck-werror
                           enable warnings as error for distcheck [default=no]
-  --enable-llvm           Enable 'llvm' JIT/verifier support [default=auto]
+  --enable-llvm           enable 'llvm' JIT/verifier support [default=auto]
 
+  --disable-yara          do not include yara support
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -1571,35 +1610,45 @@ if test -n "$ac_init_help"; then
   --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                           both]
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot=DIR Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).
-  --with-gnu-ld           assume the C compiler uses GNU ld default=no
+  --with-sysroot[=DIR]    search for dependent libraries within DIR (or the
+                          compiler's sysroot if not specified).
+  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
   --with-libcheck-prefix[=DIR]  search for libcheck in DIR/include and DIR/lib
   --without-libcheck-prefix     don't search for libcheck in includedir and libdir
-  --with-xml=DIR	  path to directory containing libxml2 library (default=
-			  /usr/local or /usr if not found in /usr/local)
-  --with-openssl=DIR   path to directory containing openssl (default=
-    /usr/local or /usr if not found in /usr/local)
-  --with-libjson=DIR   path to directory containing libjson (default=
-    /usr/local or /usr if not found in /usr/local)
-  --with-zlib=DIR	  path to directory containing zlib library (default=
-			  /usr/local or /usr if not found in /usr/local)
+  --with-xml[=DIR]        path to directory containing libxml2 library
+                          [default=/usr/local or /usr if not found in
+                          /usr/local]
+  --with-openssl[=DIR]    path to directory containing openssl
+                          [default=/usr/local or /usr if not found in
+                          /usr/local]
+  --with-libjson[=DIR]    path to directory containing libjson
+                          [default=/usr/local or /usr if not found in
+                          /usr/local]
+  --with-pcre[=DIR]       path to directory containing libpcre library
+                          [default=/usr/local or /usr if not found in
+                          /usr/local]
+  --with-zlib[=DIR]       path to directory containing zlib library
+                          [default=/usr/local or /usr if not found in
+                          /usr/local]
   --with-libbz2-prefix[=DIR]  search for libbz2 in DIR/include and DIR/lib
   --without-libbz2-prefix     don't search for libbz2 in includedir and libdir
-  --with-iconv supports iconv() (default=auto)
-  --with-user=uid	  name of the clamav user (default=clamav)
-  --with-group=gid	  name of the clamav group (default=clamav)
-  --with-version=STR    use custom version string (dev only)
-  --with-dbdir=path	  path to virus database directory
+  --with-iconv            supports iconv() [default=auto]
+  --with-user[=uid]       name of the clamav user [default=clamav]
+  --with-group[=gid]      name of the clamav group [default=clamav]
+  --with-version[=STR]    use custom version string (dev only)
+  --with-dbdir[=path]     path to virus database directory
   --with-libncurses-prefix[=DIR]  search for libncurses in DIR/include and DIR/lib
   --without-libncurses-prefix     don't search for libncurses in includedir and libdir
   --with-libpdcurses-prefix[=DIR]  search for libpdcurses in DIR/include and DIR/lib
   --without-libpdcurses-prefix     don't search for libpdcurses in includedir and libdir
-  --with-system-llvm      Use system llvm instead of built-in, uses full path
-                          to llvm-config (default= /usr/local or /usr if not
-                          found in /usr/local)
-  --with-libcurl=DIR   path to directory containing libcurl (default=
-    /usr/local or /usr if not found in /usr/local)
+  --with-system-llvm      use system llvm instead of built-in, uses full path
+                          to llvm-config [default=/usr/local or /usr if not
+                          found in /usr/local]
+  --with-llvm-linking     specifies method to linking llvm [static|dynamic],
+                          only valid with --with-system-llvm
+  --with-libcurl[=DIR]    path to directory containing libcurl
+                          [default=/usr/local or /usr if not found in
+                          /usr/local]
 
 Some influential environment variables:
   CC          C compiler command
@@ -1610,6 +1659,20 @@ if test -n "$ac_init_help"; then
   CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
+  YACC        The `Yet Another Compiler Compiler' implementation to use.
+              Defaults to the first program found out of: `bison -y', `byacc',
+              `yacc'.
+  YFLAGS      The list of arguments that will be passed by default to $YACC.
+              This script will default YFLAGS to the empty string to avoid a
+              default value of `-d' given by some make applications.
+  PKG_CONFIG  path to pkg-config utility
+  PKG_CONFIG_PATH
+              directories to add to pkg-config's search path
+  PKG_CONFIG_LIBDIR
+              path overriding pkg-config's built-in search path
+  CHECK_CFLAGS
+              C compiler flags for CHECK, overriding pkg-config
+  CHECK_LIBS  linker flags for CHECK, overriding pkg-config
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
@@ -1678,7 +1741,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ClamAV configure 0.98.5
+ClamAV configure 0.99
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2101,7 +2164,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by ClamAV $as_me 0.98.5, which was
+It was created by ClamAV $as_me 0.99, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2784,7 +2847,7 @@ done
 
 
 
-am__api_version='1.14'
+am__api_version='1.15'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -2976,7 +3039,7 @@ else
 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -3270,7 +3333,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='clamav'
- VERSION='0.98.5'
+ VERSION='0.99'
 
 
 # Some tools Automake needs.
@@ -3295,8 +3358,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 mkdir_p='$(MKDIR_P)'
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AMTAR='$${TAR-tar}'
@@ -5012,10 +5075,10 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
 
 
 
-VERSION="0.98.5"
+VERSION="0.99"
 
-LC_CURRENT=7
-LC_REVISION=22
+LC_CURRENT=8
+LC_REVISION=1
 LC_AGE=1
 LIBCLAMAV_VERSION="$LC_CURRENT":"$LC_REVISION":"$LC_AGE"
 
@@ -12884,6 +12947,211 @@ else
 fi
 
 
+for ac_prog in flex lex
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_LEX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$LEX"; then
+  ac_cv_prog_LEX="$LEX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_LEX="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+LEX=$ac_cv_prog_LEX
+if test -n "$LEX"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LEX" >&5
+$as_echo "$LEX" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$LEX" && break
+done
+test -n "$LEX" || LEX=":"
+
+if test "x$LEX" != "x:"; then
+  cat >conftest.l <<_ACEOF
+%%
+a { ECHO; }
+b { REJECT; }
+c { yymore (); }
+d { yyless (1); }
+e { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument.  */
+    yyless ((input () != 0)); }
+f { unput (yytext[0]); }
+. { BEGIN INITIAL; }
+%%
+#ifdef YYTEXT_POINTER
+extern char *yytext;
+#endif
+int
+main (void)
+{
+  return ! yylex () + ! yywrap ();
+}
+_ACEOF
+{ { ac_try="$LEX conftest.l"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$LEX conftest.l") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking lex output file root" >&5
+$as_echo_n "checking lex output file root... " >&6; }
+if ${ac_cv_prog_lex_root+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+if test -f lex.yy.c; then
+  ac_cv_prog_lex_root=lex.yy
+elif test -f lexyy.c; then
+  ac_cv_prog_lex_root=lexyy
+else
+  as_fn_error $? "cannot find output from $LEX; giving up" "$LINENO" 5
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_root" >&5
+$as_echo "$ac_cv_prog_lex_root" >&6; }
+LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
+
+if test -z "${LEXLIB+set}"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking lex library" >&5
+$as_echo_n "checking lex library... " >&6; }
+if ${ac_cv_lib_lex+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+    ac_save_LIBS=$LIBS
+    ac_cv_lib_lex='none needed'
+    for ac_lib in '' -lfl -ll; do
+      LIBS="$ac_lib $ac_save_LIBS"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+`cat $LEX_OUTPUT_ROOT.c`
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_lex=$ac_lib
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+      test "$ac_cv_lib_lex" != 'none needed' && break
+    done
+    LIBS=$ac_save_LIBS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lex" >&5
+$as_echo "$ac_cv_lib_lex" >&6; }
+  test "$ac_cv_lib_lex" != 'none needed' && LEXLIB=$ac_cv_lib_lex
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether yytext is a pointer" >&5
+$as_echo_n "checking whether yytext is a pointer... " >&6; }
+if ${ac_cv_prog_lex_yytext_pointer+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # POSIX says lex can declare yytext either as a pointer or an array; the
+# default is implementation-dependent.  Figure out which it is, since
+# not all implementations provide the %pointer and %array declarations.
+ac_cv_prog_lex_yytext_pointer=no
+ac_save_LIBS=$LIBS
+LIBS="$LEXLIB $ac_save_LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+  #define YYTEXT_POINTER 1
+`cat $LEX_OUTPUT_ROOT.c`
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_prog_lex_yytext_pointer=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_save_LIBS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_yytext_pointer" >&5
+$as_echo "$ac_cv_prog_lex_yytext_pointer" >&6; }
+if test $ac_cv_prog_lex_yytext_pointer = yes; then
+
+$as_echo "#define YYTEXT_POINTER 1" >>confdefs.h
+
+fi
+rm -f conftest.l $LEX_OUTPUT_ROOT.c
+
+fi
+if test "$LEX" = :; then
+  LEX=${am_missing_run}flex
+fi
+for ac_prog in 'bison -y' byacc
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_YACC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$YACC"; then
+  ac_cv_prog_YACC="$YACC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_YACC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+YACC=$ac_cv_prog_YACC
+if test -n "$YACC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5
+$as_echo "$YACC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$YACC" && break
+done
+test -n "$YACC" || YACC="yacc"
+
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
 $as_echo_n "checking whether ln -s works... " >&6; }
@@ -13062,7 +13330,7 @@ esac
 
 
 
-for ac_header in stdint.h unistd.h sys/int_types.h dlfcn.h inttypes.h sys/inttypes.h sys/times.h memory.h ndir.h stdlib.h strings.h string.h sys/mman.h sys/param.h sys/stat.h sys/types.h malloc.h poll.h limits.h sys/filio.h sys/uio.h termios.h stdbool.h pwd.h grp.h
+for ac_header in stdint.h unistd.h sys/int_types.h dlfcn.h inttypes.h sys/inttypes.h sys/times.h memory.h ndir.h stdlib.h strings.h string.h sys/mman.h sys/param.h sys/stat.h sys/types.h malloc.h poll.h limits.h sys/filio.h sys/uio.h termios.h stdbool.h pwd.h grp.h sys/queue.h sys/cdefs.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@@ -14710,6 +14978,203 @@ fi
 
 
 if test "$enable_check_ut" != "no" ; then
+
+
+
+
+
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+  ac_pt_PKG_CONFIG=$PKG_CONFIG
+  # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ac_pt_PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_pt_PKG_CONFIG" = x; then
+    PKG_CONFIG=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    PKG_CONFIG=$ac_pt_PKG_CONFIG
+  fi
+else
+  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=0.9.0
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	else
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+		PKG_CONFIG=""
+	fi
+fi
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CHECK" >&5
+$as_echo_n "checking for CHECK... " >&6; }
+
+if test -n "$CHECK_CFLAGS"; then
+    pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "check") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_CHECK_CFLAGS=`$PKG_CONFIG --cflags "check" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$CHECK_LIBS"; then
+    pkg_cv_CHECK_LIBS="$CHECK_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "check") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_CHECK_LIBS=`$PKG_CONFIG --libs "check" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "check" 2>&1`
+        else
+	        CHECK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "check" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$CHECK_PKG_ERRORS" >&5
+
+	HAVE_LIBCHECK=no
+elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+	HAVE_LIBCHECK=no
+else
+	CHECK_CFLAGS=$pkg_cv_CHECK_CFLAGS
+	CHECK_LIBS=$pkg_cv_CHECK_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	HAVE_LIBCHECK=yes
+fi
+
+if test "X$HAVE_LIBCHECK" == "Xyes"; then
+    CHECK_CPPFLAGS=$CHECK_CFLAGS
+else
+
 case "$host_os" in
     *linux*)
         save_LDFLAGS="$LDFLAGS"
@@ -15412,6 +15877,8 @@ case "$host_os" in
 esac
 
 fi
+fi
+
 
 
  if test "X$HAVE_LIBCHECK" = "Xyes"; then
@@ -15681,7 +16148,7 @@ $as_echo_n "checking for xmlTextReaderRead in -lxml2... " >&6; }
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-lxml2  $LIBS"
+LIBS="-lxml2 $XML_LIBS $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -15789,7 +16256,7 @@ save_LDFLAGS="$LDFLAGS"
 save_CFLAGS="$CFLAGS"
 save_LIBS="$LIBS"
 
-SSL_LIBS="-lssl -lcrypto"
+SSL_LIBS="-lssl -lcrypto -lz"
 
 if test "$LIBSSL_HOME" != "/usr"; then
     SSL_LDFLAGS="-L$LIBSSL_HOME/lib"
@@ -15810,7 +16277,7 @@ $as_echo_n "checking for SSL_library_init in -lssl... " >&6; }
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-lssl -lcrypto $LIBS"
+LIBS="-lssl -lcrypto -lz $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -15853,7 +16320,7 @@ $as_echo_n "checking for EVP_EncryptInit in -lcrypto... " >&6; }
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcrypto  $LIBS"
+LIBS="-lcrypto -lcrypto -lz $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -15896,7 +16363,7 @@ $as_echo_n "checking for X509_VERIFY_PARAM_new in -lssl... " >&6; }
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-lssl -lcrypto $LIBS"
+LIBS="-lssl -lcrypto -lz $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -16153,6 +16620,191 @@ LIBS="$save_LIBS"
 
 
 
+PCRE_HOME=""
+
+# Check whether --with-pcre was given.
+if test "${with_pcre+set}" = set; then :
+  withval=$with_pcre;
+  PCRE_HOME=$withval
+
+else
+
+  PCRE_HOME="yes"
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libpcre installation" >&5
+$as_echo_n "checking for libpcre installation... " >&6; }
+case "$PCRE_HOME" in
+no)
+  PCRE_HOME=""
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ;;
+yes)
+  PCRE_HOME=/usr/local
+  if test ! -x "$PCRE_HOME/bin/pcre-config"; then
+    PCRE_HOME=/usr
+    if test ! -x "$PCRE_HOME/bin/pcre-config"; then
+      PCRE_HOME=""
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+      { $as_echo "$as_me:${as_lineno-$LINENO}: cannot locate libpcre at /usr/local or /usr" >&5
+$as_echo "$as_me: cannot locate libpcre at /usr/local or /usr" >&6;}
+    fi
+  fi
+  ;;
+"")
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
+$as_echo "" >&6; }
+  as_fn_error $? "cannot assign blank value to --with-pcre" "$LINENO" 5
+  ;;
+*)
+  PCRE_HOME="$withval"
+  if test ! -x "$PCRE_HOME/bin/pcre-config"; then
+    PCRE_HOME=""
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+    as_fn_error $? "cannot locate libpcre at $withval" "$LINENO" 5
+  fi
+  ;;
+esac
+
+if test "x$PCRE_HOME" != "x"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: using $PCRE_HOME" >&5
+$as_echo "using $PCRE_HOME" >&6; }
+fi
+
+found_pcre="no"
+PCRECONF_VERSION=""
+PCRE_CPPFLAGS=""
+PCRE_LIBS=""
+if test "x$PCRE_HOME" != "x"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking pcre-config version" >&5
+$as_echo_n "checking pcre-config version... " >&6; }
+  PCRECONF_VERSION="`$PCRE_HOME/bin/pcre-config --version`"
+
+  if test "x$PCRECONF_VERSION" == "x"; then
+    as_fn_error $? "pcre-config failed" "$LINENO" 5
+  fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PCRECONF_VERSION" >&5
+$as_echo "$PCRECONF_VERSION" >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CVE-2015-3210" >&5
+$as_echo_n "checking for CVE-2015-3210... " >&6; }
+  pcrever_major=`echo "$PCRECONF_VERSION" | sed -e 's/\([0-9]\).*/\1/'`
+  pcrever_minor=`echo "$PCRECONF_VERSION" | sed -e 's/[0-9]\.\(.*\)/\1/'`
+  if test $pcrever_major -eq 8; then
+    if test $pcrever_minor -gt 33 && test $pcrever_minor -lt 38; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: The installed pcre version may contain a security bug. Please upgrade to 8.38 or later: http://www.pcre.org."; >&5
+$as_echo "$as_me: WARNING: The installed pcre version may contain a security bug. Please upgrade to 8.38 or later: http://www.pcre.org."; >&2;}
+    else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+    fi
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; };
+  fi
+  found_pcre="yes"
+  PCRE_CPPFLAGS="`$PCRE_HOME/bin/pcre-config --cflags`"
+  PCRE_LIBS="`$PCRE_HOME/bin/pcre-config --libs`"
+
+fi
+
+have_pcre="no"
+if test "x$found_pcre" != "xno"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pcre.h in $PCRE_HOME" >&5
+$as_echo_n "checking for pcre.h in $PCRE_HOME... " >&6; }
+
+    save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS $PCRE_CPPFLAGS"
+  save_LDFLAGS="$LDFLAGS"
+  LDFLAGS="$LDFLAGS $PCRE_LIBS"
+
+  ac_fn_c_check_header_mongrel "$LINENO" "pcre.h" "ac_cv_header_pcre_h" "$ac_includes_default"
+if test "x$ac_cv_header_pcre_h" = xyes; then :
+  have_pcre="yes"
+else
+  have_pcre="no"
+fi
+
+
+  if test "x$have_pcre" = "xno"; then
+    ac_fn_c_check_header_mongrel "$LINENO" "pcre/pcre.h" "ac_cv_header_pcre_pcre_h" "$ac_includes_default"
+if test "x$ac_cv_header_pcre_pcre_h" = xyes; then :
+  have_pcre="yes"
+else
+  have_pcre="no"
+fi
+
+
+  fi
+
+  if test "x$have_pcre" = "xyes"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pcre_compile in -lpcre" >&5
+$as_echo_n "checking for pcre_compile in -lpcre... " >&6; }
+if ${ac_cv_lib_pcre_pcre_compile+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpcre  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pcre_compile ();
+int
+main ()
+{
+return pcre_compile ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_pcre_pcre_compile=yes
+else
+  ac_cv_lib_pcre_pcre_compile=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pcre_pcre_compile" >&5
+$as_echo "$ac_cv_lib_pcre_pcre_compile" >&6; }
+if test "x$ac_cv_lib_pcre_pcre_compile" = xyes; then :
+  have_pcre="yes"
+else
+  have_pcre="no"
+fi
+
+  fi
+
+  if test "x$have_pcre" = "xno"; then
+        CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+  fi
+fi
+
+if test "x$have_pcre" = "xyes"; then
+
+$as_echo "#define HAVE_PCRE 1" >>confdefs.h
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: Compiling and linking with libpcre from $PCRE_HOME" >&5
+$as_echo "$as_me: Compiling and linking with libpcre from $PCRE_HOME" >&6;}
+fi
+
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
     # Check whether --enable-maintainer-mode was given.
@@ -21189,6 +21841,36 @@ else
 fi
 
 
+
+# Check whether --with-llvm-linking was given.
+if test "${with_llvm_linking+set}" = set; then :
+  withval=$with_llvm_linking;
+if test "x$system_llvm" = "xbuilt-in"; then
+   as_fn_error $? "Failed to configure LLVM, and LLVM linking was specified without specifying system-llvm" "$LINENO" 5
+else
+case "$withval" in
+  static)
+    llvm_linking="static"
+    ;;
+  dynamic)
+    llvm_linking="dynamic"
+    ;;
+  *)
+    as_fn_error $? "Invalid argument to --with-llvm-linking" "$LINENO" 5
+esac
+fi
+
+else
+
+if test "x$system_llvm" = "xbuilt-in"; then
+   llvm_linking=""
+else
+   llvm_linking="auto"
+fi
+
+fi
+
+
 # Check whether --enable-llvm was given.
 if test "${enable_llvm+set}" = set; then :
   enableval=$enable_llvm; enable_llvm=$enableval
@@ -21217,6 +21899,7 @@ subdirs="$subdirs libclamav/c++"
 
 else
     system_llvm="none"
+    llvm_linking=""
 fi
 
 # Check whether --enable-sha-collector-for-internal-use was given.
@@ -21233,6 +21916,24 @@ $as_echo "#define HAVE__INTERNAL__SHA_COLLECT 1" >>confdefs.h
 fi
 
 
+# Check whether --enable-yara was given.
+if test "${enable_yara+set}" = set; then :
+  enableval=$enable_yara; enable_yara=$enableval
+else
+  enable_yara="yes"
+fi
+
+
+if test "$enable_yara" = "yes"; then
+
+$as_echo "#define HAVE_YARA 1" >>confdefs.h
+
+
+fi
+
+
+
+
 case "$host_os" in
 freebsd*)
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kinfo_getvmmap in -lutil" >&5
@@ -21333,7 +22034,7 @@ $as_echo_n "checking for curl_easy_init in -lcurl... " >&6; }
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcurl  $LIBS"
+LIBS="-lcurl $CURL_LDFLAGS $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -21411,6 +22112,9 @@ fi
 
 
 
+
+
+
  if test "$have_curl" = "yes"; then
   ENABLE_CLAMSUBMIT_TRUE=
   ENABLE_CLAMSUBMIT_FALSE='#'
@@ -22002,7 +22706,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by ClamAV $as_me 0.98.5, which was
+This file was extended by ClamAV $as_me 0.99, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -22069,7 +22773,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-ClamAV config.status 0.98.5
+ClamAV config.status 0.99
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -23989,6 +24693,11 @@ fi
 if test "$enable_llvm" = "yes" && test "$subdirfailed" != "no"; then
     as_fn_error $? "Failed to configure LLVM, and LLVM was explicitly requested" "$LINENO" 5
 fi
+if test "$enable_llvm" = "auto" && test "$subdirfailed" != "no"; then
+    system_llvm="MIA"
+    llvm_linking=""
+fi
+
  if test "$subdirfailed" != "yes" && test "$enable_llvm" != "no"; then
   ENABLE_LLVM_TRUE=
   ENABLE_LLVM_FALSE='#'
@@ -23997,8 +24706,17 @@ else
   ENABLE_LLVM_FALSE=
 fi
 
+ if test "$enable_yara" != "no"; then
+  ENABLE_YARA_TRUE=
+  ENABLE_YARA_FALSE='#'
+else
+  ENABLE_YARA_TRUE='#'
+  ENABLE_YARA_FALSE=
+fi
+
 no_recursion="yes";
 
+
 # Print a summary of what features we enabled
 { $as_echo "$as_me:${as_lineno-$LINENO}: Summary of detected features follows" >&5
 $as_echo "$as_me: Summary of detected features follows" >&6;}
@@ -24008,8 +24726,8 @@ cat <<EOF
               pthreads    : $have_pthreads ($THREAD_LIBS)
 EOF
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: Summary of miscellaneous  features" >&5
-$as_echo "$as_me: Summary of miscellaneous  features" >&6;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: Summary of miscellaneous features" >&5
+$as_echo "$as_me: Summary of miscellaneous features" >&6;}
 if test "x$CHECK_LIBS" = "x"; then
     check_libs="no"
 else
@@ -24126,8 +24844,8 @@ else
 fi
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: Summary of engine performance features)" >&5
-$as_echo "$as_me: Summary of engine performance features)" >&6;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: Summary of engine performance features" >&5
+$as_echo "$as_me: Summary of engine performance features" >&6;}
 if test "x$enable_debug" = "xyes"; then
 
 
@@ -24161,6 +24879,7 @@ have_jit="no"
 if test "$subdirfailed" = "no"; then
     have_jit="yes"
 fi
+if test "x$llvm_linking" = "x"; then
 
 
    $as_echo_n "              llvm        : "
@@ -24174,6 +24893,21 @@ else
   $as_echo "$have_jit, from $system_llvm ($enable_llvm)"
 fi
 
+else
+
+
+   $as_echo_n "              llvm        : "
+   if test "x$enable_llvm" = "xno"; then :
+  $as_echo "$have_jit, from $system_llvm ($llvm_linking) (disabled)"
+elif test "x$enable_llvm" = "xyes"; then :
+  $as_echo "$have_jit, from $system_llvm ($llvm_linking)"
+elif test "x$enable_llvm" = "x"; then :
+  $as_echo "$have_jit, from $system_llvm ($llvm_linking)"
+else
+  $as_echo "$have_jit, from $system_llvm ($llvm_linking) ($enable_llvm)"
+fi
+
+fi
 
 
    $as_echo_n "              mempool     : "
@@ -24276,7 +25010,7 @@ fi
 if test "x$XML_LIBS" = "x"; then
 
 
-   $as_echo_n "              dmg and xar : "
+   $as_echo_n "              libxml2     : "
    if test "x" = "xno"; then :
   $as_echo "no (disabled)"
 elif test "x" = "xyes"; then :
@@ -24290,7 +25024,7 @@ fi
 else
 
 
-   $as_echo_n "              dmg and xar : "
+   $as_echo_n "              libxml2     : "
    if test "x" = "xno"; then :
   $as_echo "yes, from $XML_HOME (disabled)"
 elif test "x" = "xyes"; then :
@@ -24303,6 +25037,19 @@ fi
 
 fi
 
+
+   $as_echo_n "              yara        : "
+   if test "x$enable_yara" = "xno"; then :
+  $as_echo "$enable_yara (disabled)"
+elif test "x$enable_yara" = "xyes"; then :
+  $as_echo "$enable_yara"
+elif test "x$enable_yara" = "x"; then :
+  $as_echo "$enable_yara"
+else
+  $as_echo "$enable_yara ($enable_yara)"
+fi
+
+
 # Yep, downgrading the compiler avoids the bug too:
 # 4.0.x, and 4.1.0 are the known buggy versions
 # 3.4 doesn't have the bug
diff --git a/configure.ac b/configure.ac
index a53ea58f492b..0f1cdbaef3b2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,7 +20,7 @@ dnl   MA 02110-1301, USA.
 AC_PREREQ([2.59])
 dnl For a release change [devel] to the real version [0.xy]
 dnl also change VERSION below
-AC_INIT([ClamAV], [0.98.5], [http://bugs.clamav.net/], [clamav], [http://www.clamav.net/])
+AC_INIT([ClamAV], [0.99], [http://bugs.clamav.net/], [clamav], [http://www.clamav.net/])
 
 AH_BOTTOM([#include "platform.h"])
 dnl put configure auxiliary into config
@@ -56,7 +56,7 @@ m4_include([m4/reorganization/compiler_checks.m4])
 m4_include([m4/reorganization/linker_checks.m4])
 
 AC_ARG_ENABLE([experimental],
-[  --enable-experimental	enable experimental code],
+[AS_HELP_STRING([--enable-experimental], [enable experimental code])],
 enable_experimental=$enableval, enable_experimental="no")
 
 if test "$enable_experimental" = "yes"; then
@@ -76,6 +76,7 @@ dnl libclamav dependencies
 m4_include([m4/reorganization/libs/xml.m4])
 m4_include([m4/reorganization/libs/openssl.m4])
 m4_include([m4/reorganization/libs/json.m4])
+m4_include([m4/reorganization/libs/pcre.m4])
 
 AM_MAINTAINER_MODE
 m4_include([m4/reorganization/libs/libz.m4])
@@ -117,6 +118,7 @@ m4_include([m4/reorganization/clamdtop.m4])
 m4_include([m4/reorganization/distcheck.m4])
 m4_include([m4/reorganization/llvm.m4])
 m4_include([m4/reorganization/sha_collect.m4])
+m4_include([m4/reorganization/yara.m4])
 
 m4_include([m4/reorganization/bsd.m4])
 
@@ -138,10 +140,18 @@ AC_OUTPUT
 if test "$enable_llvm" = "yes" && test "$subdirfailed" != "no"; then
     AC_MSG_ERROR([Failed to configure LLVM, and LLVM was explicitly requested])
 fi
+if test "$enable_llvm" = "auto" && test "$subdirfailed" != "no"; then
+    system_llvm="MIA"
+    llvm_linking=""
+fi
+
 AM_CONDITIONAL([ENABLE_LLVM],
 	       [test "$subdirfailed" != "yes" && test "$enable_llvm" != "no"])
+AM_CONDITIONAL([ENABLE_YARA],
+	       [test "$enable_yara" != "no"])
 no_recursion="yes";
 
+
 # Print a summary of what features we enabled
 AC_MSG_NOTICE([Summary of detected features follows])
 
@@ -150,7 +160,7 @@ cat <<EOF
               pthreads    : $have_pthreads ($THREAD_LIBS)
 EOF
 
-AC_MSG_NOTICE([Summary of miscellaneous  features])
+AC_MSG_NOTICE([Summary of miscellaneous features])
 if test "x$CHECK_LIBS" = "x"; then
     check_libs="no"
 else
@@ -170,7 +180,7 @@ CL_MSG_STATUS([clamdtop    ],[$CURSES_LIBS],[$enable_clamdtop])
 CL_MSG_STATUS([milter      ],[yes],[$have_milter])
 CL_MSG_STATUS([clamsubmit  ],[$have_curl],[$curl_msg])
 
-AC_MSG_NOTICE([Summary of engine performance features)])
+AC_MSG_NOTICE([Summary of engine performance features])
 if test "x$enable_debug" = "xyes"; then
     CL_MSG_STATUS([release mode],[no],[debug build])
 else
@@ -180,7 +190,11 @@ have_jit="no"
 if test "$subdirfailed" = "no"; then
     have_jit="yes"
 fi
-CL_MSG_STATUS([llvm        ],[$have_jit, from $system_llvm],[$enable_llvm])
+if test "x$llvm_linking" = "x"; then
+   CL_MSG_STATUS([llvm        ],[$have_jit, from $system_llvm],[$enable_llvm])
+else
+   CL_MSG_STATUS([llvm        ],[$have_jit, from $system_llvm ($llvm_linking)],[$enable_llvm])
+fi
 CL_MSG_STATUS([mempool     ],[$have_mempool],[$enable_mempool])
 
 AC_MSG_NOTICE([Summary of engine detection features])
@@ -196,10 +210,11 @@ else
     CL_MSG_STATUS([pcre        ],[$PCRE_HOME],[$have_pcre])
 fi
 if test "x$XML_LIBS" = "x"; then 
-    CL_MSG_STATUS([dmg and xar ],[no],[])
+    CL_MSG_STATUS([libxml2     ],[no],[])
 else
-    CL_MSG_STATUS([dmg and xar ],[yes, from $XML_HOME],[])
+    CL_MSG_STATUS([libxml2     ],[yes, from $XML_HOME],[])
 fi
+CL_MSG_STATUS([yara        ],[$enable_yara],[$enable_yara])
 
 # Yep, downgrading the compiler avoids the bug too:
 # 4.0.x, and 4.1.0 are the known buggy versions
diff --git a/debian/changelog b/debian/changelog
index c0f3b71aa18e..fe80dc660804 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,19 @@
+libclamunrar (0.99-0+deb8u1) stable; urgency=medium
+
+  [ Scott Kitterman ]
+  * Correct debian/copyright to add missing copyright declarations/dates
+
+  [ Sebastian Andrzej Siewior ]
+  * Bumped standards version to 3.9.6 (no changes required).
+  * Import new upstream. This is required because clamav's major .so version
+    changed.
+  * switch from libclamunrar6 to libclamunrar7
+  * copy clamav's watch file
+  * add pkg-config to dependencies so autoreconf does not break
+  * don't links against libpcre if available.
+
+ -- Sebastian Andrzej Siewior <sebast...@breakpoint.cc>  Wed, 03 Feb 2016 21:52:51 +0100
+
 libclamunrar (0.98.5-1) unstable; urgency=medium
 
   [ Sebastian Andrzej Siewior ]
diff --git a/debian/control b/debian/control
index 76c2544c3105..7677e2181999 100644
--- a/debian/control
+++ b/debian/control
@@ -3,16 +3,16 @@ Priority: extra
 Section: non-free/libs
 Maintainer: ClamAV Team <pkg-clamav-de...@lists.alioth.debian.org>
 Uploaders: Michael Tautschnig <m...@debian.org>, Stephen Gran <sg...@debian.org>, Sebastian Andrzej Siewior <sebast...@breakpoint.cc>
-Build-Depends: debhelper (>= 8), autotools-dev, zlib1g-dev, libbz2-dev, dh-autoreconf, automake, libssl-dev
-Standards-Version: 3.9.5
+Build-Depends: debhelper (>= 8), autotools-dev, zlib1g-dev, libbz2-dev, dh-autoreconf, automake, libssl-dev, pkg-config
+Standards-Version: 3.9.6
 Vcs-Git: git://anonscm.debian.org/pkg-clamav/libclamunrar.git
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-clamav/libclamunrar.git;a=summary
 Homepage: http://www.clamav.net/
 XS-Autobuild: yes
 
-Package: libclamunrar6
+Package: libclamunrar7
 Architecture: any
-Depends: libclamav6, ${shlibs:Depends}, ${misc:Depends}
+Depends: libclamav7, ${shlibs:Depends}, ${misc:Depends}
 Description: anti-virus utility for Unix - unrar support
  Clam AntiVirus is an anti-virus toolkit for Unix. The main purpose of
  this software is the integration with mail servers (attachment
@@ -20,7 +20,7 @@ Description: anti-virus utility for Unix - unrar support
  multi-threaded daemon in the clamav-daemon package, a command-line
  scanner in the clamav package, and a tool for automatic updating via
  the Internet in the clamav-freshclam package. The programs are based
- on libclamav6, which can be used by other software.
+ on libclamav7, which can be used by other software.
  .
  This package provides support for RAR packaged files or mail attachments.
  Support will be available once this package is installed and clamd or a local
diff --git a/debian/copyright b/debian/copyright
index 9da5cb0140a6..291f0ad7f90f 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -44,7 +44,8 @@ Public License can be found in `/usr/share/common-licenses/GPL-2'.
 
 
 libclamunrar_iface/unrar_iface.c and libclamunrar_iface/unrar_iface.h are
-Copyright (C) 2007 Sourcefire, Inc.
+Copyright (C) 2015 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
+Copyright (C) 2007-2013 Sourcefire, Inc.
 
 and are licensed under the terms of the LGPL:
 
@@ -69,6 +70,8 @@ libclamunrar/unrarhlp.c and libclamunrar/unrarhlp.h are
 Copyright (C) 2007 Sourcefire, Inc.
 All other source files in libclamunrar/ are
 Copyright (C) 2005,2006 t...@uncon.org and based on the work of Alexander L. Roshal (C)
+libclamunrar/unrar.c, unrarvm.c, and unrar20.c patches added by Sourcefire,
+Inc. Copyright (C) 2007-2013
 All source files in libclamunrar/ are licences under the terms of the UNRAR
 license:
 
diff --git a/debian/libclamunrar6.links b/debian/libclamunrar6.links
deleted file mode 100644
index da2a13670490..000000000000
--- a/debian/libclamunrar6.links
+++ /dev/null
@@ -1,7 +0,0 @@
-/usr/share/doc/libclamav6/AUTHORS /usr/share/doc/libclamunrar6/AUTHORS
-/usr/share/doc/libclamav6/BUGS /usr/share/doc/libclamunrar6/BUGS
-/usr/share/doc/libclamav6/FAQ /usr/share/doc/libclamunrar6/FAQ
-/usr/share/doc/libclamav6/README.gz /usr/share/doc/libclamunrar6/README.gz
-/usr/share/doc/libclamav6/README.Debian.gz /usr/share/doc/libclamunrar6/README.Debian.gz
-/usr/share/doc/libclamav6/NEWS.Debian.gz /usr/share/doc/libclamunrar6/NEWS.Debian.gz
-/usr/share/doc/libclamav6/changelog.gz /usr/share/doc/libclamunrar6/changelog.gz
diff --git a/debian/libclamunrar6.symbols b/debian/libclamunrar6.symbols
deleted file mode 100644
index 75b358d77a8a..000000000000
--- a/debian/libclamunrar6.symbols
+++ /dev/null
@@ -1,13 +0,0 @@
-libclamunrar.so.6 libclamunrar6 #MINVER#
- CLAMAV_PRIVATE_UNRAR@CLAMAV_PRIVATE_UNRAR 0.98.1
- ppm_constructor@CLAMAV_PRIVATE_UNRAR 0.98.1
- ppm_destructor@CLAMAV_PRIVATE_UNRAR 0.98.1
- rar_init_filters@CLAMAV_PRIVATE_UNRAR 0.98.1
- rar_unpack@CLAMAV_PRIVATE_UNRAR 0.98.1
- rarvm_free@CLAMAV_PRIVATE_UNRAR 0.98.1
-libclamunrar_iface.so.6 libclamunrar6 #MINVER#
- CLAMAV_PRIVATE@CLAMAV_PRIVATE 0.98.1
- libclamunrar_iface_LTX_unrar_close@CLAMAV_PRIVATE 0.98.1
- libclamunrar_iface_LTX_unrar_extract_next@CLAMAV_PRIVATE 0.98.1
- libclamunrar_iface_LTX_unrar_extract_next_prepare@CLAMAV_PRIVATE 0.98.1
- libclamunrar_iface_LTX_unrar_open@CLAMAV_PRIVATE 0.98.1
diff --git a/debian/libclamunrar7.links b/debian/libclamunrar7.links
new file mode 100644
index 000000000000..876ecb03db8e
--- /dev/null
+++ b/debian/libclamunrar7.links
@@ -0,0 +1,7 @@
+/usr/share/doc/libclamav7/AUTHORS /usr/share/doc/libclamunrar7/AUTHORS
+/usr/share/doc/libclamav7/BUGS /usr/share/doc/libclamunrar7/BUGS
+/usr/share/doc/libclamav7/FAQ /usr/share/doc/libclamunrar7/FAQ
+/usr/share/doc/libclamav7/README.gz /usr/share/doc/libclamunrar7/README.gz
+/usr/share/doc/libclamav7/README.Debian.gz /usr/share/doc/libclamunrar7/README.Debian.gz
+/usr/share/doc/libclamav7/NEWS.Debian.gz /usr/share/doc/libclamunrar7/NEWS.Debian.gz
+/usr/share/doc/libclamav7/changelog.gz /usr/share/doc/libclamunrar7/changelog.gz
diff --git a/debian/libclamunrar7.symbols b/debian/libclamunrar7.symbols
new file mode 100644
index 000000000000..3be75f5e00de
--- /dev/null
+++ b/debian/libclamunrar7.symbols
@@ -0,0 +1,13 @@
+libclamunrar.so.7 libclamunrar7 #MINVER#
+ CLAMAV_PRIVATE_UNRAR@CLAMAV_PRIVATE_UNRAR 0.99
+ ppm_constructor@CLAMAV_PRIVATE_UNRAR 0.99
+ ppm_destructor@CLAMAV_PRIVATE_UNRAR 0.99
+ rar_init_filters@CLAMAV_PRIVATE_UNRAR 0.99
+ rar_unpack@CLAMAV_PRIVATE_UNRAR 0.99
+ rarvm_free@CLAMAV_PRIVATE_UNRAR 0.99
+libclamunrar_iface.so.7 libclamunrar7 #MINVER#
+ CLAMAV_PRIVATE@CLAMAV_PRIVATE 0.99
+ libclamunrar_iface_LTX_unrar_close@CLAMAV_PRIVATE 0.99
+ libclamunrar_iface_LTX_unrar_extract_next@CLAMAV_PRIVATE 0.99
+ libclamunrar_iface_LTX_unrar_extract_next_prepare@CLAMAV_PRIVATE 0.99
+ libclamunrar_iface_LTX_unrar_open@CLAMAV_PRIVATE 0.99
diff --git a/debian/rules b/debian/rules
index e27529e94f0f..804b5acbdd5c 100755
--- a/debian/rules
+++ b/debian/rules
@@ -14,12 +14,12 @@ endif
 override_dh_auto_configure:
 	dh_auto_configure -- $(shell DEB_LDFLAGS_MAINT_APPEND="-Wl,-z,defs" \
 		DEB_CFLAGS_MAINT_APPEND="-D_FILE_OFFSET_BITS=64" dpkg-buildflags --export=configure) \
-		--disable-clamav
+		--disable-clamav --without-pcre
 
 override_dh_auto_build-arch:
 	dh_auto_build -a -- V=1
 
 override_dh_auto_install:
 	dh_auto_install
-	rm debian/libclamunrar6/usr/lib/*.la
-	rm debian/libclamunrar6/usr/lib/*.so
+	rm debian/libclamunrar7/usr/lib/*.la
+	rm debian/libclamunrar7/usr/lib/*.so
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
new file mode 100644
index 000000000000..bd0a142cf111
--- /dev/null
+++ b/debian/upstream/signing-key.asc
@@ -0,0 +1,26 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1
+
+mQGiBFUuscERBAChEuHjPMqJMY6N9OpR1HppjLLLIEyOfCwt7jIysw92K5tfa1P1
+sC714WaSPrjzvqSUcUpEAy3IvcWQjMil3zQdcIR/kzdTLN7e6iyqST3uZe2KtjpT
+cYHIdH31i7wS5BtnE+3kw8KLPhjE6p1lD2V3Pv7nAa5cMkdi9R5HCk1TNwCg5HMj
+8Jx13nEcGIDjQP39eHdaYHcD/1tlzPJZ0vj6WrAoZFPvVEl/Mhgn5xfC6kXioSy7
+CG3DmXuUszpncFAlA9y2qXRkjBg65Z3c9ed95W2QPQLmY0DgBzcg/7lTxI+8/EJC
+VMwSebzlEBKxMxuy5LdWvDelIZQuT0EHEQFzR+uTGp7HcYOLTj9ROy9LfT+rw3WV
+bXfXA/9wOX4WU2mUf62/c4Bz5SiNq8Jtrq1KoPXyLAkRXFIaMP2ay3qZRYPRo2qV
+wRB35hQlfLbK06yPvRYYUY47lA5pU6hTyrZQc8qGraKndVl07/8sMB2yTb/8IybQ
+lyCTyzzmXrGzW+j2GbTYTPTf5ectbNR//irDGs8S+zNwsj5RxbQvVGFsb3MgKFRh
+bG9zIEdQRyBLZXkpIDxyZXNlYXJjaEBzb3VyY2VmaXJlLmNvbT6IZQQTEQIAJgUC
+VS6xwQIbAwUJA8JnAAYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJELPVNCwmBCmg
+MU0AnjZF4V3ogtU/xCddQbORpbgEtio9AJjJ3FADpCuNI/CHNmsft5inVZuEiEYE
+EBECAAYFAlUus34ACgkQQLjqI2QiHVO57ACfW9Sy9zM1FIsfS4lAPrJszhdy0xkA
+n1KLqgeS/PKkOk/WHozknx92s3N2uQENBFUuscQQBACsbQDPfGgKScmeryK5eHVo
+UtOF2mmlaD5MgFE+3jPH/b/p4+uIRDc/MRB+VWO/0g6ZzXd+f/h9jpFP4fstMnvX
+0/DdqD2cIWNJnl6Mr9/BTiMki91mugdeL3/IAYhS2rAmHgdNnMq4XcMHnU7VBr1O
+PCOQQ1rGYne1d4HQDMu+xwADBQQAkjf9BV82XQaFdwtpNadLDGFz2WwlG/DViP9G
+rE5or1C3k1jc7UfgvuSIq1wBG3MW5KZaSs6aJ9mHkC8tj16C/ct1Z4t3CYZLXM83
+VwLEqRYvChBWqwT1VXTXFvfZ1VHHUELrYu6zhRXm+NlRkAyQ8JHR+YAmJGKZvufn
+fiCvKbSITwQYEQIADwUCVS6xxAIbDAUJA8JnAAAKCRCz1TQsJgQpoL3GAKCiF3sE
+GvyBCihREm45qqScpVpMnACfUVexUPkgeMq4ZiEpMQbZfjq08f8=
+=Ybvy
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/debian/watch b/debian/watch
index ed9ac3df5cb2..5df23e44e40d 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,4 +1,3 @@
 version=3
-opts=uversionmangle=s/(\d+)(rc)/$1~$2/,dversionmangle=s/\+dfsg// \
-http://sf.net/clamav/clamav-(.*).tar.gz debian uupdate
-
+opts="uversionmangle=s/(\d+)-*(beta|rc)/$1~$2/,dversionmangle=s/\+dfsg//,pgpsigurlmangle=s/$/.sig/" \
+http://www.clamav.net/download.html /downloads/.*/clamav-(.*).tar.gz
diff --git a/libclamunrar/unrarhlp.c b/libclamunrar/unrarhlp.c
index 953a66a2813f..62746bf43493 100644
--- a/libclamunrar/unrarhlp.c
+++ b/libclamunrar/unrarhlp.c
@@ -1,4 +1,5 @@
 /*
+ *  Copyright (C) 2015 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2007 Sourcefire, Inc.
  *
  *  The unRAR sources may be used in any software to handle RAR
diff --git a/libclamunrar/unrarhlp.h b/libclamunrar/unrarhlp.h
index 6b4d0b580e9d..8c8687d358bb 100644
--- a/libclamunrar/unrarhlp.h
+++ b/libclamunrar/unrarhlp.h
@@ -1,4 +1,5 @@
 /*
+ *  Copyright (C) 2015 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2007 Sourcefire, Inc.
  *
  *  The unRAR sources may be used in any software to handle RAR
diff --git a/libclamunrar_iface/Makefile.in b/libclamunrar_iface/Makefile.in
index 30658c15e7c6..fd6789494455 100644
--- a/libclamunrar_iface/Makefile.in
+++ b/libclamunrar_iface/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -33,7 +33,17 @@
 #  MA 02110-1301, USA.
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -100,8 +110,6 @@ target_triplet = @target@
 @ENABLE_UNRAR_TRUE@@VERSIONSCRIPT_TRUE@am__append_1 = -Wl,@VERSIONSCRIPTFLAG@,@top_srcdir@/libclamunrar/libclamunrar.map
 @ENABLE_UNRAR_TRUE@@VERSIONSCRIPT_TRUE@am__append_2 = -Wl,@VERSIONSCRIPTFLAG@,@top_srcdir@/libclamunrar_iface/libclamunrar_iface.map
 subdir = libclamunrar_iface
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
 	$(top_srcdir)/m4/ax_check_uname_syscall.m4 \
@@ -124,6 +132,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
 	$(top_srcdir)/m4/reorganization/libs/xml.m4 \
 	$(top_srcdir)/m4/reorganization/libs/openssl.m4 \
 	$(top_srcdir)/m4/reorganization/libs/json.m4 \
+	$(top_srcdir)/m4/reorganization/libs/pcre.m4 \
 	$(top_srcdir)/m4/reorganization/libs/libz.m4 \
 	$(top_srcdir)/m4/reorganization/libs/bzip.m4 \
 	$(top_srcdir)/m4/reorganization/libs/unrar.m4 \
@@ -163,12 +172,14 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
+	$(top_srcdir)/m4/reorganization/yara.m4 \
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/clamav-config.h
 CONFIG_CLEAN_FILES =
@@ -298,6 +309,7 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -312,6 +324,7 @@ CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFGDIR = @CFGDIR@
 CFLAGS = @CFLAGS@
+CHECK_CFLAGS = @CHECK_CFLAGS@
 CHECK_CPPFLAGS = @CHECK_CPPFLAGS@
 CHECK_LIBS = @CHECK_LIBS@
 CLAMAVGROUP = @CLAMAVGROUP@
@@ -358,6 +371,7 @@ GENHTML = @GENHTML@
 GETENT = @GETENT@
 GPERF = @GPERF@
 GREP = @GREP@
+HAVE_YARA = @HAVE_YARA@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -369,6 +383,9 @@ JSON_LIBS = @JSON_LIBS@
 LCOV = @LCOV@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LEX = @LEX@
+LEXLIB = @LEXLIB@
+LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
 LIBBZ2 = @LIBBZ2@
 LIBBZ2_PREFIX = @LIBBZ2_PREFIX@
 LIBCLAMAV_CPPFLAGS = @LIBCLAMAV_CPPFLAGS@
@@ -401,6 +418,11 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+PCRE_CPPFLAGS = @PCRE_CPPFLAGS@
+PCRE_LIBS = @PCRE_LIBS@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 RANLIB = @RANLIB@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
@@ -418,6 +440,8 @@ WERR_CFLAGS = @WERR_CFLAGS@
 WERR_CFLAGS_MILTER = @WERR_CFLAGS_MILTER@
 XML_CPPFLAGS = @XML_CPPFLAGS@
 XML_LIBS = @XML_LIBS@
+YACC = @YACC@
+YFLAGS = @YFLAGS@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -462,6 +486,7 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -527,7 +552,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libclamunrar_iface/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign libclamunrar_iface/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -899,6 +923,8 @@ uninstall-am: uninstall-libLTLIBRARIES
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/libclamunrar_iface/unrar_iface.c b/libclamunrar_iface/unrar_iface.c
index 9262f403bd82..638008e1bc0a 100644
--- a/libclamunrar_iface/unrar_iface.c
+++ b/libclamunrar_iface/unrar_iface.c
@@ -1,5 +1,6 @@
 /*
  *  Interface to libclamunrar
+ *  Copyright (C) 2015 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2007-2013 Sourcefire, Inc.
  *  Authors: Trog, Torok Edvin, Tomasz Kojm
  *
diff --git a/libclamunrar_iface/unrar_iface.h b/libclamunrar_iface/unrar_iface.h
index 1024c02360dc..398fdabec0ff 100644
--- a/libclamunrar_iface/unrar_iface.h
+++ b/libclamunrar_iface/unrar_iface.h
@@ -1,5 +1,6 @@
 /*
  *  Interface to libclamunrar
+ *  Copyright (C) 2015 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
  *  Copyright (C) 2007 Sourcefire, Inc.
  *  Authors: Trog, Torok Edvin, Tomasz Kojm
  *
diff --git a/m4/acinclude.m4 b/m4/acinclude.m4
index f82863ff2adc..5ffa7c13547c 100644
--- a/m4/acinclude.m4
+++ b/m4/acinclude.m4
@@ -573,8 +573,8 @@ AC_DEFUN([AM_MAINTAINER_MODE],
 [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode is disabled by default
   AC_ARG_ENABLE(maintainer-mode,
-[  --enable-maintainer-mode enable make rules and dependencies not useful
-                          (and sometimes confusing) to the casual installer],
+[AS_HELP_STRING([--enable-maintainer-mode], [make rules and dependencies not useful
+                                            (and sometimes confusing) to the casual installer])],
       USE_MAINTAINER_MODE=$enableval,
       USE_MAINTAINER_MODE=no)
   AC_MSG_RESULT($USE_MAINTAINER_MODE)
diff --git a/m4/fdpassing.m4 b/m4/fdpassing.m4
index 8a3ad1afe69c..95bbb2b87c6b 100644
--- a/m4/fdpassing.m4
+++ b/m4/fdpassing.m4
@@ -181,7 +181,7 @@ return 0;
 if test "x$ac_cv_have_control_in_msghdr" = "xyes" ; then
     dnl Check whether FD passing works <ed...@clamav.net>
     AC_MSG_CHECKING([BSD 4.4 / RFC2292 style fd passing])
-    AC_ARG_ENABLE([fdpassing],[  --disable-fdpassing        don't build file descriptor passing support],
+    AC_ARG_ENABLE([fdpassing],[AS_HELP_STRING([--disable-fdpassing], [do not build file descriptor passing support])],
         want_fdpassing=$enableval, want_fdpassing="yes")
 
     if test "x$want_fdpassing" = "xyes"; then
diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4
index 96c4e2c3396c..9cda980164a2 100644
--- a/m4/lib-ld.m4
+++ b/m4/lib-ld.m4
@@ -24,7 +24,7 @@ with_gnu_ld=$acl_cv_prog_gnu_ld
 dnl From libtool-1.4. Sets the variable LD.
 AC_DEFUN([AC_LIB_PROG_LD],
 [AC_ARG_WITH(gnu-ld,
-[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
+[AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])],
 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
 AC_REQUIRE([AC_PROG_CC])dnl
 AC_REQUIRE([AC_CANONICAL_HOST])dnl
diff --git a/m4/lib-link.m4 b/m4/lib-link.m4
index 9d9a28fec032..f7b6b58a4c38 100644
--- a/m4/lib-link.m4
+++ b/m4/lib-link.m4
@@ -132,7 +132,7 @@ AC_DEFUN([AC_LIB_RPATH],
   acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
   dnl Determine whether the user wants rpath handling at all.
   AC_ARG_ENABLE(rpath,
-    [  --disable-rpath         do not hardcode runtime library paths],
+    [AS_HELP_STRING([--disable-rpath], [do not hardcode runtime library paths])],
     :, enable_rpath=yes)
 ])
 
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 44e0ecff11e3..afdb3ed5b971 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1225,8 +1225,8 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
 AC_DEFUN([_LT_WITH_SYSROOT],
 [AC_MSG_CHECKING([for sysroot])
 AC_ARG_WITH([sysroot],
-[  --with-sysroot[=DIR] Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).],
+[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], [search for dependent libraries within DIR
+                                              (or the compiler's sysroot if not specified).])],
 [], [with_sysroot=no])
 
 dnl lt_sysroot will always be passed unquoted.  We quote it here
diff --git a/m4/ltdl.m4 b/m4/ltdl.m4
index ea76f4d7b89b..84e321f50d77 100644
--- a/m4/ltdl.m4
+++ b/m4/ltdl.m4
@@ -265,7 +265,7 @@ dnl was called yet, then for old times' sake, we assume libltdl is in an
 AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])])
 
 AC_ARG_WITH([ltdl_include],
-    [AS_HELP_STRING([--with-ltdl-include=DIR],
+    [AS_HELP_STRING([--with-ltdl-include@<:@=DIR@:>@],
                     [use the ltdl headers installed in DIR])])
 
 if test -n "$with_ltdl_include"; then
@@ -278,7 +278,7 @@ else
 fi
 
 AC_ARG_WITH([ltdl_lib],
-    [AS_HELP_STRING([--with-ltdl-lib=DIR],
+    [AS_HELP_STRING([--with-ltdl-lib@<:@=DIR@:>@],
                     [use the libltdl.la installed in DIR])])
 
 if test -n "$with_ltdl_lib"; then
diff --git a/m4/reorganization/bigstack.m4 b/m4/reorganization/bigstack.m4
index 53898eb097c7..cde3cde412fb 100644
--- a/m4/reorganization/bigstack.m4
+++ b/m4/reorganization/bigstack.m4
@@ -1,5 +1,5 @@
 AC_ARG_ENABLE([bigstack],
-[  --enable-bigstack	  increase thread stack size],
+[AS_HELP_STRING([--enable-bigstack], [increase thread stack size])],
 enable_bigstack=$enableval, enable_bigstack="no")
 
 if test "$enable_bigstack" = "yes"; then
diff --git a/m4/reorganization/build_tools.m4 b/m4/reorganization/build_tools.m4
index 760c398f5747..85453e1f513f 100644
--- a/m4/reorganization/build_tools.m4
+++ b/m4/reorganization/build_tools.m4
@@ -1,4 +1,6 @@
 AC_PROG_CC
+AM_PROG_LEX
+AC_PROG_YACC
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_MAKE_SET
diff --git a/m4/reorganization/clamdtop.m4 b/m4/reorganization/clamdtop.m4
index 3aedcd1a9343..6eec460797ff 100644
--- a/m4/reorganization/clamdtop.m4
+++ b/m4/reorganization/clamdtop.m4
@@ -1,6 +1,5 @@
 AC_ARG_ENABLE(clamdtop,
-	      AC_HELP_STRING([--enable-clamdtop],
-			     [Enable 'clamdtop' tool @<:@default=auto@:>@]),
+	     [AC_HELP_STRING([--enable-clamdtop], [build clamdtop tool @<:@default=auto@:>@])],
 [enable_clamdtop=$enableval], [enable_clamdtop="auto"])
 
 if test "$enable_clamdtop" != "no"; then
diff --git a/m4/reorganization/code_checks/fanotify.m4 b/m4/reorganization/code_checks/fanotify.m4
index 4540b0d965e1..bace966c9021 100644
--- a/m4/reorganization/code_checks/fanotify.m4
+++ b/m4/reorganization/code_checks/fanotify.m4
@@ -1,3 +1,3 @@
 AC_ARG_ENABLE([fanotify],
-[  --disable-fanotify	  disable fanotify support (Linux only)],
+[AS_HELP_STRING([--disable-fanotify], [do not add fanotify support (Linux only)])],
 want_fanotify=$enableval, want_fanotify="yes")
diff --git a/m4/reorganization/code_checks/iconv.m4 b/m4/reorganization/code_checks/iconv.m4
index fdde9f793aea..77fea457d6ef 100644
--- a/m4/reorganization/code_checks/iconv.m4
+++ b/m4/reorganization/code_checks/iconv.m4
@@ -1,7 +1,7 @@
 dnl we need to try to link with iconv, otherwise there could be a 
 dnl mismatch between a 32-bit and 64-bit lib. Detect this at configure time.
 dnl we need to check after zlib/bzip2, because they can change the include path
-AC_ARG_WITH([iconv], [  --with-iconv supports iconv() (default=auto)],
+AC_ARG_WITH([iconv], [AS_HELP_STRING([--with-iconv], [supports iconv() @<:@default=auto@:>@])],
 [
  case "$withval" in
 	 yes|no) wiconv="$withval";;
diff --git a/m4/reorganization/code_checks/ipv6.m4 b/m4/reorganization/code_checks/ipv6.m4
index 81ff7ac28375..8461079d1706 100644
--- a/m4/reorganization/code_checks/ipv6.m4
+++ b/m4/reorganization/code_checks/ipv6.m4
@@ -1,5 +1,5 @@
 AC_ARG_ENABLE([ipv6],
-[  --disable-ipv6          disable IPv6 support],
+[AS_HELP_STRING([--disable-ipv6], [do not include IPv6 support])],
 want_ipv6=$enableval, want_ipv6="yes")
 
 if test "$want_ipv6" = "yes"
diff --git a/m4/reorganization/code_checks/mpool.m4 b/m4/reorganization/code_checks/mpool.m4
index c0bf170ff243..6b33cfc6cffd 100644
--- a/m4/reorganization/code_checks/mpool.m4
+++ b/m4/reorganization/code_checks/mpool.m4
@@ -1,4 +1,4 @@
-AC_ARG_ENABLE([mempool],[  --disable-mempool       disable memory pools], enable_mempool=$enableval, enable_mempool="yes")
+AC_ARG_ENABLE([mempool],[AS_HELP_STRING([--disable-mempool], [do not use memory pools])], enable_mempool=$enableval, enable_mempool="yes")
 have_mempool="no"
 if test "$enable_mempool" = "yes"; then
 	if test "$ac_cv_c_mmap_private" != "yes"; then
diff --git a/m4/reorganization/code_checks/pthreads.m4 b/m4/reorganization/code_checks/pthreads.m4
index 93cb3c4fc14f..4c642dc3cacb 100644
--- a/m4/reorganization/code_checks/pthreads.m4
+++ b/m4/reorganization/code_checks/pthreads.m4
@@ -2,5 +2,5 @@ have_pthreads=no
 AC_CHECK_HEADER([pthread.h],[have_pthreads=yes])
 
 AC_ARG_ENABLE([pthreads],
-[  --disable-pthreads      disable POSIX threads support],
+[AS_HELP_STRING([--disable-pthreads], [do not include POSIX threads support])],
 have_pthreads=$enableval,)
diff --git a/m4/reorganization/code_checks/readdir.m4 b/m4/reorganization/code_checks/readdir.m4
index ae960e0f1083..2c76ebddc3b9 100644
--- a/m4/reorganization/code_checks/readdir.m4
+++ b/m4/reorganization/code_checks/readdir.m4
@@ -29,7 +29,7 @@ if test -z "$ac_cv_readdir_args"; then
 fi
 
 AC_ARG_ENABLE([readdir_r],
-[  --enable-readdir_r		    enable support for readdir_r],
+[AS_HELP_STRING([--enable-readdir_r], [enable support for readdir_r])],
 enable_readdir_r=$enableval, enable_readdir_r="no")
 
 if test "$enable_readdir_r" = "no"; then
diff --git a/m4/reorganization/code_checks/reentrant.m4 b/m4/reorganization/code_checks/reentrant.m4
index 975b6db2980a..bfe4d65a0127 100644
--- a/m4/reorganization/code_checks/reentrant.m4
+++ b/m4/reorganization/code_checks/reentrant.m4
@@ -1,3 +1,3 @@
 AC_ARG_ENABLE([cr],
-[  --disable-cr		  don't link with C reentrant library (BSD) ],
+[AS_HELP_STRING([--disable-cr], [do not link with C reentrant library (BSD)])],
 use_cr=$enableval,)
diff --git a/m4/reorganization/code_checks/unit_tests.m4 b/m4/reorganization/code_checks/unit_tests.m4
index 7213bd60620d..f337ccf354e0 100644
--- a/m4/reorganization/code_checks/unit_tests.m4
+++ b/m4/reorganization/code_checks/unit_tests.m4
@@ -1,9 +1,16 @@
 enable_check_ut=auto
 enable_ut_install=no
 AC_ARG_ENABLE(check,
-[  --enable-check           Enable 'check' unit tests (default=auto)], enable_check_ut=$enableval, enable_check_ut="auto" )
+[AS_HELP_STRING([--enable-check], [enable check unit tests @<:@default=auto@:>@])], enable_check_ut=$enableval, enable_check_ut="auto" )
 
 if test "$enable_check_ut" != "no" ; then
+
+PKG_CHECK_MODULES(CHECK, [check], [HAVE_LIBCHECK=yes], [HAVE_LIBCHECK=no])
+
+if test "X$HAVE_LIBCHECK" == "Xyes"; then
+    CHECK_CPPFLAGS=$CHECK_CFLAGS
+else
+
 case "$host_os" in
     *linux*)
         save_LDFLAGS="$LDFLAGS"
@@ -23,6 +30,8 @@ case "$host_os" in
 esac
 
 fi
+fi
+
 AC_SUBST([CHECK_CPPFLAGS])
 AC_SUBST([CHECK_LIBS])
 AM_CONDITIONAL([HAVE_LIBCHECK],test "X$HAVE_LIBCHECK" = "Xyes")
diff --git a/m4/reorganization/compiler_checks.m4 b/m4/reorganization/compiler_checks.m4
index a2bc611d9b95..607f48ce4a19 100644
--- a/m4/reorganization/compiler_checks.m4
+++ b/m4/reorganization/compiler_checks.m4
@@ -1,5 +1,5 @@
 AC_ARG_ENABLE([gcc-vcheck],
-[  --disable-gcc-vcheck	  do not check for buggy gcc version ],
+[AS_HELP_STRING([--disable-gcc-vcheck], [do not check for buggy gcc version])],
 gcc_check=$enableval, gcc_check="yes")
 
 msg_gcc_check="use --disable-gcc-vcheck to disable this check. Before reporting any bugs check with a supported version of gcc"
diff --git a/m4/reorganization/customversion.m4 b/m4/reorganization/customversion.m4
index b9c70f7d13ff..a7f777a97773 100644
--- a/m4/reorganization/customversion.m4
+++ b/m4/reorganization/customversion.m4
@@ -1,3 +1,3 @@
 AC_ARG_WITH([version], 
-[  --with-version=STR    use custom version string (dev only)],
+[AS_HELP_STRING([--with-version@<:@=STR@:>@], [use custom version string (dev only)])],
 VERSION="$withval", )
diff --git a/m4/reorganization/dbdir.m4 b/m4/reorganization/dbdir.m4
index 9dbe84c00c23..52d7bb56577d 100644
--- a/m4/reorganization/dbdir.m4
+++ b/m4/reorganization/dbdir.m4
@@ -1,5 +1,5 @@
 AC_ARG_WITH([dbdir], 
-[  --with-dbdir=path	  path to virus database directory],
+[AS_HELP_STRING([--with-dbdir@<:@=path@:>@], [path to virus database directory])],
 db_dir="$withval", db_dir="_default_")
 
 dnl I had problems with $pkgdatadir thus these funny checks
diff --git a/m4/reorganization/dns.m4 b/m4/reorganization/dns.m4
index b88ea43ef6f2..24c17e20a0e7 100644
--- a/m4/reorganization/dns.m4
+++ b/m4/reorganization/dns.m4
@@ -1,5 +1,5 @@
 AC_ARG_ENABLE([dns-fix],
-[  --enable-dns-fix	  enable workaround for broken DNS servers (as in SpeedTouch 510)],
+[AS_HELP_STRING([--enable-dns-fix], [enable workaround for broken DNS servers (as in SpeedTouch 510)])],
 enable_dnsfix=$enableval, enable_dnsfix="no")
 
 if test "$enable_dnsfix" = "yes"; then
diff --git a/m4/reorganization/headers.m4 b/m4/reorganization/headers.m4
index 183eb0e456ed..9b71f3388c66 100644
--- a/m4/reorganization/headers.m4
+++ b/m4/reorganization/headers.m4
@@ -1,4 +1,4 @@
-AC_CHECK_HEADERS([stdint.h unistd.h sys/int_types.h dlfcn.h inttypes.h sys/inttypes.h sys/times.h memory.h ndir.h stdlib.h strings.h string.h sys/mman.h sys/param.h sys/stat.h sys/types.h malloc.h poll.h limits.h sys/filio.h sys/uio.h termios.h stdbool.h pwd.h grp.h])
+AC_CHECK_HEADERS([stdint.h unistd.h sys/int_types.h dlfcn.h inttypes.h sys/inttypes.h sys/times.h memory.h ndir.h stdlib.h strings.h string.h sys/mman.h sys/param.h sys/stat.h sys/types.h malloc.h poll.h limits.h sys/filio.h sys/uio.h termios.h stdbool.h pwd.h grp.h sys/queue.h sys/cdefs.h])
 AC_CHECK_HEADER([syslog.h],AC_DEFINE([USE_SYSLOG],1,[use syslog]),)
 
 have_pthreads=no
diff --git a/m4/reorganization/libs/bzip.m4 b/m4/reorganization/libs/bzip.m4
index f0ae99b81c16..348c5af7380b 100644
--- a/m4/reorganization/libs/bzip.m4
+++ b/m4/reorganization/libs/bzip.m4
@@ -1,6 +1,6 @@
 
 AC_ARG_ENABLE([bzip2],
-[  --disable-bzip2	  disable bzip2 support],
+[AS_HELP_STRING([--disable-bzip2], [do not include bzip2 support])],
 want_bzip2=$enableval, want_bzip2="yes")
 
 bzip_check="ok"
diff --git a/m4/reorganization/libs/curl.m4 b/m4/reorganization/libs/curl.m4
index a84865b35454..6f29cbf54d06 100644
--- a/m4/reorganization/libs/curl.m4
+++ b/m4/reorganization/libs/curl.m4
@@ -3,8 +3,8 @@ curl_msg="Please use the web interface for submitting FPs/FNs."
 AC_MSG_CHECKING([for libcurl installation])
 
 AC_ARG_WITH([libcurl],
-[  --with-libcurl=DIR   path to directory containing libcurl (default=
-    /usr/local or /usr if not found in /usr/local)],
+[AS_HELP_STRING([--with-libcurl@<:@=DIR@:>@], [path to directory containing libcurl
+                @<:@default=/usr/local or /usr if not found in /usr/local@:>@])],
 [
 if test "$withval"; then
     LIBCURL_HOME="$withval"
@@ -38,7 +38,7 @@ else
     save_LDFLAGS="$LDFLAGS"
     LDFLAGS="$CURL_LDFLAGS"
     AC_CHECK_LIB([curl], [curl_easy_init], [curl_msg="";have_curl="yes";CLAMSUBMIT_LIBS="$CLAMSUBMIT_LIBS $CURL_LDFLAGS";CLAMSUBMIT_CFLAGS="$CLAMSUBMIT_CFLAGS $CURL_CPPFLAGS"],
-            [AC_MSG_WARN([Your libcurl is misconfigured. Please use the web interface for submitting FPs/FNs.])])
+            [AC_MSG_WARN([Your libcurl is misconfigured. Please use the web interface for submitting FPs/FNs.])], [$CURL_LDFLAGS])
     LDFLAGS="$save_LDFLAGS"
 fi
 
diff --git a/m4/reorganization/libs/json.m4 b/m4/reorganization/libs/json.m4
index cce48804c15c..2cceff606f0d 100644
--- a/m4/reorganization/libs/json.m4
+++ b/m4/reorganization/libs/json.m4
@@ -1,8 +1,8 @@
 dnl Check for libjson
 
 AC_ARG_WITH([libjson],
-[  --with-libjson=DIR   path to directory containing libjson (default=
-    /usr/local or /usr if not found in /usr/local)],
+[AS_HELP_STRING([--with-libjson@<:@=DIR@:>@], [path to directory containing libjson
+                @<:@default=/usr/local or /usr if not found in /usr/local@:>@])],
 [
 AC_MSG_CHECKING([for libjson installation])
 if test "X$withval" != "Xyes"
diff --git a/m4/reorganization/libs/libz.m4 b/m4/reorganization/libs/libz.m4
index 116e6940af84..b5c74147b51b 100644
--- a/m4/reorganization/libs/libz.m4
+++ b/m4/reorganization/libs/libz.m4
@@ -2,8 +2,8 @@
 dnl Check for zlib
 AC_MSG_CHECKING([for zlib installation])
 AC_ARG_WITH([zlib],
-[  --with-zlib=DIR	  path to directory containing zlib library (default=
-			  /usr/local or /usr if not found in /usr/local)],
+[AS_HELP_STRING([--with-zlib@<:@=DIR@:>@], [path to directory containing zlib library
+                @<:@default=/usr/local or /usr if not found in /usr/local@:>@])],
 [
 if test "$withval"; then
   ZLIB_HOME="$withval"
@@ -21,7 +21,7 @@ AC_MSG_RESULT([$ZLIB_HOME])
 CLAMDSCAN_LIBS="$FRESHCLAM_LIBS"
 
 AC_ARG_ENABLE([zlib-vcheck],
-[  --disable-zlib-vcheck	  do not check for buggy zlib version ],
+[AS_HELP_STRING([--disable-zlib-vcheck], [do not check for buggy zlib version])],
 zlib_check=$enableval, zlib_check="yes")
 
 if test ! -f "$ZLIB_HOME/include/zlib.h"
diff --git a/m4/reorganization/libs/openssl.m4 b/m4/reorganization/libs/openssl.m4
index 075c2666f0ae..78e2c234367d 100644
--- a/m4/reorganization/libs/openssl.m4
+++ b/m4/reorganization/libs/openssl.m4
@@ -2,8 +2,8 @@ dnl Check for OpenSSL
 AC_MSG_CHECKING([for OpenSSL installation])
 
 AC_ARG_WITH([openssl],
-[  --with-openssl=DIR   path to directory containing openssl (default=
-    /usr/local or /usr if not found in /usr/local)],
+[AS_HELP_STRING([--with-openssl@<:@=DIR@:>@], [path to directory containing openssl
+                @<:@default=/usr/local or /usr if not found in /usr/local@:>@])],
 [
 if test "$withval"; then
     LIBSSL_HOME="$withval"
@@ -26,7 +26,7 @@ save_LDFLAGS="$LDFLAGS"
 save_CFLAGS="$CFLAGS"
 save_LIBS="$LIBS"
 
-SSL_LIBS="-lssl -lcrypto"
+SSL_LIBS="-lssl -lcrypto -lz"
 
 if test "$LIBSSL_HOME" != "/usr"; then
     SSL_LDFLAGS="-L$LIBSSL_HOME/lib"
@@ -41,12 +41,12 @@ fi
 have_ssl="no"
 have_crypto="no"
 
-AC_CHECK_LIB([ssl], [SSL_library_init], [have_ssl="yes"], [AC_MSG_ERROR([Your OpenSSL installation is misconfigured or missing])], [-lcrypto])
+AC_CHECK_LIB([ssl], [SSL_library_init], [have_ssl="yes"], [AC_MSG_ERROR([Your OpenSSL installation is misconfigured or missing])], [-lcrypto -lz])
 
-AC_CHECK_LIB([crypto], [EVP_EncryptInit], [have_crypto="yes"], [AC_MSG_ERROR([Your OpenSSL installation is misconfigured or missing])])
+AC_CHECK_LIB([crypto], [EVP_EncryptInit], [have_crypto="yes"], [AC_MSG_ERROR([Your OpenSSL installation is misconfigured or missing])], [-lcrypto -lz])
 
 dnl OpenSSL 0.9.8 is the minimum required version due to X509_VERIFY_PARAM
-AC_CHECK_LIB([ssl], [X509_VERIFY_PARAM_new], [], [AC_MSG_ERROR([Your OpenSSL installation is missing the X509_VERIFY_PARAM function. Please upgrade to a more recent version of OpenSSL.])], [-lcrypto])
+AC_CHECK_LIB([ssl], [X509_VERIFY_PARAM_new], [], [AC_MSG_ERROR([Your OpenSSL installation is missing the X509_VERIFY_PARAM function. Please upgrade to a more recent version of OpenSSL.])], [-lcrypto -lz])
 
 LDFLAGS="$save_LDFLAGS"
 CFLAGS="$save_CFLAGS"
diff --git a/m4/reorganization/libs/pcre.m4 b/m4/reorganization/libs/pcre.m4
new file mode 100644
index 000000000000..a24c1908a407
--- /dev/null
+++ b/m4/reorganization/libs/pcre.m4
@@ -0,0 +1,116 @@
+dnl Check for PCRE
+
+PCRE_HOME=""
+dnl handle the --with-pcre flag
+AC_ARG_WITH([pcre],
+[AS_HELP_STRING([--with-pcre@<:@=DIR@:>@], [path to directory containing libpcre library
+                @<:@default=/usr/local or /usr if not found in /usr/local@:>@])],
+[
+  PCRE_HOME=$withval
+],
+[
+dnl default ON if present
+  PCRE_HOME="yes"
+])
+
+dnl detemine if specified (or default) is valid
+AC_MSG_CHECKING([for libpcre installation])
+case "$PCRE_HOME" in
+no)
+  PCRE_HOME=""
+  AC_MSG_RESULT([no])
+  ;;
+yes)
+  PCRE_HOME=/usr/local
+  if test ! -x "$PCRE_HOME/bin/pcre-config"; then
+    PCRE_HOME=/usr
+    if test ! -x "$PCRE_HOME/bin/pcre-config"; then
+      PCRE_HOME=""
+      AC_MSG_RESULT([no])
+      AC_MSG_NOTICE([cannot locate libpcre at /usr/local or /usr])
+    fi
+  fi
+  ;;
+"")
+  AC_MSG_RESULT([])
+  AC_MSG_ERROR([cannot assign blank value to --with-pcre])
+  ;;
+*)
+  PCRE_HOME="$withval"
+  if test ! -x "$PCRE_HOME/bin/pcre-config"; then
+    PCRE_HOME=""
+    AC_MSG_RESULT([not found])
+    AC_MSG_ERROR([cannot locate libpcre at $withval])
+  fi
+  ;;
+esac
+
+if test "x$PCRE_HOME" != "x"; then
+  AC_MSG_RESULT([using $PCRE_HOME])
+fi
+
+dnl if pcre has a home, then check if it is valid and get flags
+found_pcre="no"
+PCRECONF_VERSION=""
+PCRE_CPPFLAGS=""
+PCRE_LIBS=""
+if test "x$PCRE_HOME" != "x"; then
+  AC_MSG_CHECKING([pcre-config version])
+  PCRECONF_VERSION="`$PCRE_HOME/bin/pcre-config --version`"
+
+  if test "x$PCRECONF_VERSION" == "x"; then
+    AC_MSG_ERROR([pcre-config failed])
+  fi
+
+  AC_MSG_RESULT([$PCRECONF_VERSION])
+  AC_MSG_CHECKING([for CVE-2015-3210])
+  pcrever_major=`echo "$PCRECONF_VERSION" | sed -e 's/\([[0-9]]\).*/\1/'`
+  pcrever_minor=`echo "$PCRECONF_VERSION" | sed -e 's/[[0-9]]\.\(.*\)/\1/'`
+  if test $pcrever_major -eq 8; then
+    if test $pcrever_minor -gt 33 && test $pcrever_minor -lt 38; then
+       AC_MSG_RESULT([yes])
+       AC_MSG_WARN([The installed pcre version may contain a security bug. Please upgrade to 8.38 or later: http://www.pcre.org.])
+    else
+       AC_MSG_RESULT([ok])
+    fi
+  else
+    AC_MSG_RESULT([ok]);
+  fi
+  found_pcre="yes"
+  PCRE_CPPFLAGS="`$PCRE_HOME/bin/pcre-config --cflags`"
+  PCRE_LIBS="`$PCRE_HOME/bin/pcre-config --libs`"
+  
+fi
+
+have_pcre="no"
+if test "x$found_pcre" != "xno"; then
+  AC_MSG_CHECKING([for pcre.h in $PCRE_HOME])
+
+  dnl save_LIBS="$LIBS"
+  save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS $PCRE_CPPFLAGS"
+  save_LDFLAGS="$LDFLAGS"
+  LDFLAGS="$LDFLAGS $PCRE_LIBS"
+
+  AC_CHECK_HEADER(pcre.h, [have_pcre="yes"], [have_pcre="no"])
+  if test "x$have_pcre" = "xno"; then
+    AC_CHECK_HEADER(pcre/pcre.h, [have_pcre="yes"], [have_pcre="no"])
+  fi
+
+  if test "x$have_pcre" = "xyes"; then
+    AC_CHECK_LIB([pcre], [pcre_compile], [have_pcre="yes"], [have_pcre="no"])
+  fi
+
+  if test "x$have_pcre" = "xno"; then
+    dnl LIBS="$save_LIBS"
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+  fi
+fi
+
+if test "x$have_pcre" = "xyes"; then
+  AC_DEFINE([HAVE_PCRE],1,[Define to 1 if you have the 'libpcre' library (-lpcre).])
+  AC_MSG_NOTICE([Compiling and linking with libpcre from $PCRE_HOME])
+fi
+
+dnl AM_CONDITIONAL([HAVE_PCRE], test "x$HAVE_PCRE" = "xyes")
diff --git a/m4/reorganization/libs/unrar.m4 b/m4/reorganization/libs/unrar.m4
index 919c62694851..b06facb6ef6c 100644
--- a/m4/reorganization/libs/unrar.m4
+++ b/m4/reorganization/libs/unrar.m4
@@ -1,10 +1,10 @@
 AC_ARG_ENABLE([unrar],
-[  --disable-unrar	  don't build libclamunrar and libclamunrar_iface ],
+[AS_HELP_STRING([--disable-unrar], [do not build libclamunrar and libclamunrar_iface])],
 want_unrar=$enableval, want_unrar="yes")
 AM_CONDITIONAL([ENABLE_UNRAR],[test "$want_unrar" = "yes"])
 
 AC_ARG_ENABLE([getaddrinfo],
-[  --disable-getaddrinfo          disable support for getaddrinfo],
+[AS_HELP_STRING([--disable-getaddrinfo], [do not include support for getaddrinfo])],
 want_getaddrinfo=$enableval, want_getaddrinfo="yes")
 
 if test "$want_getaddrinfo" = "yes"
diff --git a/m4/reorganization/libs/xml.m4 b/m4/reorganization/libs/xml.m4
index ee6c703185ad..d245ad38daea 100644
--- a/m4/reorganization/libs/xml.m4
+++ b/m4/reorganization/libs/xml.m4
@@ -1,15 +1,15 @@
 
 want_xml="auto"
 AC_ARG_ENABLE([xml],
-[  --disable-xml	  disable DMG and XAR support],
+[AS_HELP_STRING([--disable-xml], [do not include DMG and XAR support])],
 want_xml=$enableval, want_xml="auto")
 
 XML_HOME=""
 if test "X$want_xml" != "Xno"; then
   AC_MSG_CHECKING([for libxml2 installation])
   AC_ARG_WITH([xml],
-  [  --with-xml=DIR	  path to directory containing libxml2 library (default=
-			  /usr/local or /usr if not found in /usr/local)],
+  [AS_HELP_STRING([--with-xml@<:@=DIR@:>@], [path to directory containing libxml2 library
+                  @<:@default=/usr/local or /usr if not found in /usr/local@:>@])],
   [
   if test "$withval"
   then
@@ -67,7 +67,7 @@ if test "X$found_xml" != "Xno"; then
     save_LDFLAGS="$LDFLAGS"
     LDFLAGS="$LDFLAGS $XML_LIBS"
 
-    AC_CHECK_LIB([xml2], [xmlTextReaderRead], [working_xml="yes"], [working_xml="no"])
+    AC_CHECK_LIB([xml2], [xmlTextReaderRead], [working_xml="yes"], [working_xml="no"], [$XML_LIBS])
 
     CPPFLAGS="$save_CPPFLAGS"
     LDFLAGS="$save_LDFLAGS"
diff --git a/m4/reorganization/llvm.m4 b/m4/reorganization/llvm.m4
index 3ffc581bc70a..ec2bbda20603 100644
--- a/m4/reorganization/llvm.m4
+++ b/m4/reorganization/llvm.m4
@@ -1,6 +1,6 @@
-AC_ARG_WITH([system-llvm], AC_HELP_STRING([--with-system-llvm],
-[Use system llvm instead of built-in, uses full path to llvm-config (default=
-/usr/local or /usr if not found in /usr/local)]),
+AC_ARG_WITH([system-llvm], [AC_HELP_STRING([--with-system-llvm],
+[use system llvm instead of built-in, uses full path to llvm-config
+@<:@default=/usr/local or /usr if not found in /usr/local@:>@])],
 [case "$withval" in
   yes)
     system_llvm="default"
@@ -13,8 +13,33 @@ AC_ARG_WITH([system-llvm], AC_HELP_STRING([--with-system-llvm],
  esac
 ], [system_llvm="built-in"])
 
+AC_ARG_WITH([llvm-linking], [AC_HELP_STRING([--with-llvm-linking],
+[specifies method to linking llvm @<:@static|dynamic@:>@, only valid with --with-system-llvm])],
+[
+if test "x$system_llvm" = "xbuilt-in"; then
+   AC_MSG_ERROR([Failed to configure LLVM, and LLVM linking was specified without specifying system-llvm])  
+else
+case "$withval" in
+  static)
+    llvm_linking="static"
+    ;;
+  dynamic)
+    llvm_linking="dynamic"
+    ;;
+  *)
+    AC_MSG_ERROR([Invalid argument to --with-llvm-linking])
+esac
+fi
+], [
+if test "x$system_llvm" = "xbuilt-in"; then
+   llvm_linking=""
+else
+   llvm_linking="auto"
+fi
+])
+
 AC_ARG_ENABLE([llvm],AC_HELP_STRING([--enable-llvm],
-[Enable 'llvm' JIT/verifier support @<:@default=auto@:>@]),
+[enable 'llvm' JIT/verifier support @<:@default=auto@:>@]),
 [enable_llvm=$enableval],
 [
 if test "x$system_llvm" != "xbuilt-in"; then
@@ -29,4 +54,5 @@ if test "$enable_llvm" != "no"; then
     AC_CONFIG_SUBDIRS_OPTIONAL([libclamav/c++])
 else
     system_llvm="none"
+    llvm_linking=""
 fi
diff --git a/m4/reorganization/milter/enable.m4 b/m4/reorganization/milter/enable.m4
index 7f0050a7b485..b88b8ad21aaf 100644
--- a/m4/reorganization/milter/enable.m4
+++ b/m4/reorganization/milter/enable.m4
@@ -1,3 +1,3 @@
 AC_ARG_ENABLE([milter],
-[  --enable-milter	  build clamav-milter],
+[AS_HELP_STRING([--enable-milter], [build clamav-milter])],
 have_milter=$enableval, have_milter="no")
diff --git a/m4/reorganization/nocache.m4 b/m4/reorganization/nocache.m4
index 8db76a0b7f03..c870dfa83f3a 100644
--- a/m4/reorganization/nocache.m4
+++ b/m4/reorganization/nocache.m4
@@ -1,5 +1,5 @@
 AC_ARG_ENABLE([no-cache],
-[  --enable-no-cache	  use "Cache-Control: no-cache" in freshclam],
+[AS_HELP_STRING([--enable-no-cache], [use "Cache-Control: no-cache" in freshclam])],
 enable_nocache=$enableval, enable_nocache="no")
 
 if test "$enable_nocache" = "yes"; then
diff --git a/m4/reorganization/substitutions.m4 b/m4/reorganization/substitutions.m4
index 80a02c56277f..46b8012ead10 100644
--- a/m4/reorganization/substitutions.m4
+++ b/m4/reorganization/substitutions.m4
@@ -12,6 +12,7 @@ AC_SUBST([CLAMBC_CPPFLAGS])
 AC_SUBST([LIBCLAMSHARED_CPPFLAGS])
 AC_SUBST([SSL_CPPFLAGS])
 AC_SUBST([JSON_CPPFLAGS])
+AC_SUBST([PCRE_CPPFLAGS])
 
 AC_SUBST([LIBCLAMAV_LIBS])
 AC_SUBST([CLAMD_LIBS])
@@ -25,8 +26,10 @@ AC_SUBST([THREAD_LIBS])
 AC_SUBST([CLAMDTOP_LIBS])
 AC_SUBST([CLAMBC_LIBS])
 AC_SUBST([CLAMCONF_LIBS])
+AC_SUBST([PCRE_LIBS])
 
 AC_SUBST([SSL_LIBS])
 AC_SUBST([SSL_LDFLAGS])
 AC_SUBST([JSON_LIBS])
 AC_SUBST([JSON_LDFLAGS])
+
diff --git a/m4/reorganization/usergroup.m4 b/m4/reorganization/usergroup.m4
index f88f3e4e0942..98b5381a3c28 100644
--- a/m4/reorganization/usergroup.m4
+++ b/m4/reorganization/usergroup.m4
@@ -1,13 +1,13 @@
 AC_ARG_ENABLE([yp-check],
-[  --enable-yp-check	  use ypmatch utility instead of /etc/passwd parsing],
+[AS_HELP_STRING([--enable-yp-check], [use ypmatch utility instead of /etc/passwd parsing])],
 use_yp=$enableval, use_yp="no")
 
 AC_ARG_WITH([user], 
-[  --with-user=uid	  name of the clamav user (default=clamav)],
+[AS_HELP_STRING([--with-user@<:@=uid@:>@], [name of the clamav user @<:@default=clamav@:>@])],
 clamav_user="$withval", clamav_user="clamav")
 
 AC_ARG_WITH([group], 
-[  --with-group=gid	  name of the clamav group (default=clamav)],
+[AS_HELP_STRING([--with-group@<:@=gid@:>@], [name of the clamav group @<:@default=clamav@:>@])],
 clamav_group="$withval", clamav_group="clamav")
 
 AC_DEFINE_UNQUOTED([CLAMAVUSER],"$clamav_user",[name of the clamav user])
diff --git a/m4/reorganization/utility_checks/id.m4 b/m4/reorganization/utility_checks/id.m4
index 147eededf51c..8baa105590ec 100644
--- a/m4/reorganization/utility_checks/id.m4
+++ b/m4/reorganization/utility_checks/id.m4
@@ -1,3 +1,3 @@
 AC_ARG_ENABLE([id-check],
-[  --enable-id-check	  use id utility instead of /etc/passwd parsing],
+[AS_HELP_STRING([--enable-id-check], [use id utility instead of /etc/passwd parsing])],
 use_id=$enableval, use_id="no")
diff --git a/m4/reorganization/utility_checks/yp.m4 b/m4/reorganization/utility_checks/yp.m4
index 4e7b6bc10441..fa32170b6832 100644
--- a/m4/reorganization/utility_checks/yp.m4
+++ b/m4/reorganization/utility_checks/yp.m4
@@ -1,3 +1,3 @@
 AC_ARG_ENABLE([yp-check],
-[  --enable-yp-check	  use ypmatch utility instead of /etc/passwd parsing],
+[AS_HELP_STRING([--enable-yp-check], [use ypmatch utility instead of /etc/passwd parsing])],
 use_yp=$enableval, use_yp="no")
diff --git a/m4/reorganization/version.m4 b/m4/reorganization/version.m4
index ea263b28e647..d4625a8e13b8 100644
--- a/m4/reorganization/version.m4
+++ b/m4/reorganization/version.m4
@@ -1,9 +1,9 @@
 dnl change this on a release
 dnl VERSION="devel-`date +%Y%m%d`"
-VERSION="0.98.5"
+VERSION="0.99"
 
-LC_CURRENT=7
-LC_REVISION=22
+LC_CURRENT=8
+LC_REVISION=1
 LC_AGE=1
 LIBCLAMAV_VERSION="$LC_CURRENT":"$LC_REVISION":"$LC_AGE"
 AC_SUBST([LIBCLAMAV_VERSION])
diff --git a/m4/reorganization/yara.m4 b/m4/reorganization/yara.m4
new file mode 100644
index 000000000000..0e82d06d3c3d
--- /dev/null
+++ b/m4/reorganization/yara.m4
@@ -0,0 +1,12 @@
+
+AC_ARG_ENABLE([yara],
+[AS_HELP_STRING([--disable-yara],
+[do not include yara support])],
+enable_yara=$enableval, enable_yara="yes")
+
+if test "$enable_yara" = "yes"; then
+    AC_DEFINE([HAVE_YARA],1,[yara sources are compiled in])
+    AC_SUBST([HAVE_YARA])
+fi
+
+
diff --git a/m4/resolv.m4 b/m4/resolv.m4
index d6071c38f1c1..c8b6fd9f546b 100644
--- a/m4/resolv.m4
+++ b/m4/resolv.m4
@@ -9,7 +9,7 @@ dnl as symbols are often redefined in resolv.h
 AC_DEFUN([AC_C_DNS], [
 
 AC_ARG_ENABLE([dns],
-    AC_HELP_STRING([--disable-dns], [disable support for database verification through DNS]),
+    [AC_HELP_STRING([--disable-dns], [do not include support for database verification through DNS])],
     [want_dns=$enableval], [want_dns=yes]
 )
 if test $want_dns = yes; then

Reply via email to