aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArmin Kuster <akuster808@gmail.com>2016-01-24 19:45:45 -0800
committerArmin Kuster <akuster808@gmail.com>2016-04-23 08:02:56 -0700
commit73f384257d54f8189ab31276efd949907c29e75f (patch)
tree6c2660502cc69952d1c9b9100ca3ed8516b05276
parentd3ec54611d81f0fab549cb8611b04f6d4ef857ca (diff)
downloadmeta-security-73f384257d54f8189ab31276efd949907c29e75f.tar.gz
meta-security-73f384257d54f8189ab31276efd949907c29e75f.tar.bz2
meta-security-73f384257d54f8189ab31276efd949907c29e75f.zip
clamav: update to 0.99.1
removed debian patches brut force remove rpaths Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--recipes-security/clamav/clamav-0.98.5/0001-Change-paths-in-sample-conf-file-to-match-Debian.patch40
-rw-r--r--recipes-security/clamav/clamav-0.98.5/0002-Add-an-additional-n-after-the-number-in-the-pidfile.patch56
-rw-r--r--recipes-security/clamav/clamav-0.98.5/0003-unit_tests-increment-test-timeout-from-40secs-to-5mi.patch30
-rw-r--r--recipes-security/clamav/clamav-0.98.5/0004-Fix-compiling-on-Hurd.patch50
-rw-r--r--recipes-security/clamav/clamav-0.98.5/0005-Workaround-a-bug-in-libc-on-Hurd.patch35
-rw-r--r--recipes-security/clamav/clamav-0.98.5/0006-remove-unnecessary-harmful-flags-from-libclamav.pc.patch22
-rw-r--r--recipes-security/clamav/clamav-0.98.5/0007-libclamav-use-libmspack.patch4042
-rw-r--r--recipes-security/clamav/clamav-0.98.5/0008-Add-upstream-systemd-support-for-clamav-daemon-and-c.patch655
-rw-r--r--recipes-security/clamav/clamav-0.98.5/0009-fix-ssize_t-size_t-off_t-printf-modifier.patch478
-rw-r--r--recipes-security/clamav/clamav-0.98.5/0010-hardcode-LLVM-linker-flag-because-llvm-config-return.patch26
-rw-r--r--recipes-security/clamav/clamav-0.98.5/0011-Add-libmspack-library-from-upstream-without-unnecess.patch56090
-rw-r--r--recipes-security/clamav/clamav-0.98.5/0012-allow-to-use-internal-libmspack-if-the-external-is-n.patch106
-rw-r--r--recipes-security/clamav/clamav-0.98.5/0013-fix-autoreconf-with-embedded-libmspack.patch27
-rw-r--r--recipes-security/clamav/clamav-0.98.5/0014-remove-AC_CONFIG_SRCDIR-llvm-configure-from-libclama.patch23
-rw-r--r--recipes-security/clamav/clamav-0.98.5/0015-bb-10731-Allow-to-specificy-a-group-for-the-socket-o.patch229
-rw-r--r--recipes-security/clamav/clamav-0.98.5/0016-clamav-milter-add-additinal-SMFIF_-flags-before-invo.patch86
-rw-r--r--recipes-security/clamav/clamav-0.98.5/0017-Bump-.so-version-number.patch22
-rw-r--r--recipes-security/clamav/clamav-0.98.5/0018-llvm-don-t-use-system-libs.patch26
-rw-r--r--recipes-security/clamav/clamav-0.98.5/clamav-0001-clamdscan.patch21
-rw-r--r--recipes-security/clamav/clamav-0.98.5/series18
-rw-r--r--recipes-security/clamav/clamav-0.99.1/clamav-freshclam.service (renamed from recipes-security/clamav/clamav-0.98.5/clamav-freshclam.service)0
-rw-r--r--recipes-security/clamav/clamav-0.99.1/clamav-milter.conf.sample (renamed from recipes-security/clamav/clamav-0.98.5/clamav-milter.conf.sample)0
-rw-r--r--recipes-security/clamav/clamav-0.99.1/clamav.service (renamed from recipes-security/clamav/clamav-0.98.5/clamav.service)0
-rw-r--r--recipes-security/clamav/clamav-0.99.1/clamd.conf (renamed from recipes-security/clamav/clamav-0.98.5/clamd.conf)0
-rw-r--r--recipes-security/clamav/clamav-0.99.1/freshclam.conf (renamed from recipes-security/clamav/clamav-0.98.5/freshclam.conf)0
-rw-r--r--recipes-security/clamav/clamav-0.99.1/mempool_build_fix.patch14
-rw-r--r--recipes-security/clamav/clamav-0.99.1/remove_rpath_chk.patch16
-rw-r--r--recipes-security/clamav/clamav-0.99.1/rpath_rmove.patch44
-rw-r--r--recipes-security/clamav/clamav-0.99.1/volatiles.03_clamav (renamed from recipes-security/clamav/clamav-0.98.5/volatiles.03_clamav)0
-rw-r--r--recipes-security/clamav/clamav_0.99.1.bb (renamed from recipes-security/clamav/clamav_0.98.5.bb)75
30 files changed, 115 insertions, 62116 deletions
diff --git a/recipes-security/clamav/clamav-0.98.5/0001-Change-paths-in-sample-conf-file-to-match-Debian.patch b/recipes-security/clamav/clamav-0.98.5/0001-Change-paths-in-sample-conf-file-to-match-Debian.patch
deleted file mode 100644
index afbd402..0000000
--- a/recipes-security/clamav/clamav-0.98.5/0001-Change-paths-in-sample-conf-file-to-match-Debian.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From a6d6189e25d0a1053dc1aaff1b4c71f84b4599cf Mon Sep 17 00:00:00 2001
-From: Scott Kitterman <scott@kitterman.com>
-Date: Mon, 10 Mar 2014 19:20:18 -0400
-Subject: Change paths in sample conf file to match Debian
-
----
- etc/clamav-milter.conf.sample | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/etc/clamav-milter.conf.sample b/etc/clamav-milter.conf.sample
-index b7d66a4f9641..ed0d519ffb9b 100644
---- a/etc/clamav-milter.conf.sample
-+++ b/etc/clamav-milter.conf.sample
-@@ -64,7 +64,7 @@ Example
- # daemon (main thread).
- #
- # Default: disabled
--#PidFile /var/run/clamav-milter.pid
-+#PidFile /var/run/clamav/clamav-milter.pid
-
- # Optional path to the global temporary directory.
- # Default: system specific (usually /tmp or /var/tmp).
-@@ -90,7 +90,7 @@ Example
- # with the same socket: clamd servers will be selected in a round-robin fashion.
- #
- # Default: no default
--#ClamdSocket tcp:scanner.mydomain:7357
-+ClamdSocket /var/run/clamav/clamd
-
-
- ##
-@@ -212,7 +212,7 @@ Example
- # A full path is required.
- #
- # Default: disabled
--#LogFile /tmp/clamav-milter.log
-+#LogFile /var/log/clamav/clamav-milter.log
-
- # By default the log file is locked for writing - the lock protects against
- # running clamav-milter multiple times.
diff --git a/recipes-security/clamav/clamav-0.98.5/0002-Add-an-additional-n-after-the-number-in-the-pidfile.patch b/recipes-security/clamav/clamav-0.98.5/0002-Add-an-additional-n-after-the-number-in-the-pidfile.patch
deleted file mode 100644
index 6055bd1..0000000
--- a/recipes-security/clamav/clamav-0.98.5/0002-Add-an-additional-n-after-the-number-in-the-pidfile.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 3ae8ea99a010e5c513aa48c3bfa15a65772f742b Mon Sep 17 00:00:00 2001
-From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
-Date: Sat, 29 Mar 2014 15:52:55 +0100
-Subject: Add an additional \n after the number in the pidfile
-
-start-stop-daemon works without the \n in the file but pkill does not.
-Also the output of cat $PifFile looks better :)
-
-https://bugzilla.clamav.net/show_bug.cgi?id=10907
-
-Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
----
- clamav-milter/clamav-milter.c | 2 +-
- clamd/server-th.c | 2 +-
- freshclam/freshclam.c | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/clamav-milter/clamav-milter.c b/clamav-milter/clamav-milter.c
-index b6ac9e157872..2c7a4d7d3414 100644
---- a/clamav-milter/clamav-milter.c
-+++ b/clamav-milter/clamav-milter.c
-@@ -381,7 +381,7 @@ int main(int argc, char **argv) {
- if((fd = fopen(opt->strarg, "w")) == NULL) {
- logg("!Can't save PID in file %s\n", opt->strarg);
- } else {
-- if (fprintf(fd, "%u", (unsigned int)getpid())<0) {
-+ if (fprintf(fd, "%u\n", (unsigned int)getpid())<0) {
- logg("!Can't save PID in file %s\n", opt->strarg);
- }
- fclose(fd);
-diff --git a/clamd/server-th.c b/clamd/server-th.c
-index 7ec5ae80cd64..d97cd6fb34e1 100644
---- a/clamd/server-th.c
-+++ b/clamd/server-th.c
-@@ -1034,7 +1034,7 @@ int recvloop_th(int *socketds, unsigned nsockets, struct cl_engine *engine, unsi
- if((fd = fopen(opt->strarg, "w")) == NULL) {
- logg("!Can't save PID in file %s\n", opt->strarg);
- } else {
-- if (fprintf(fd, "%u", (unsigned int) mainpid)<0) {
-+ if (fprintf(fd, "%u\n", (unsigned int) mainpid)<0) {
- logg("!Can't save PID in file %s\n", opt->strarg);
- }
- fclose(fd);
-diff --git a/freshclam/freshclam.c b/freshclam/freshclam.c
-index 1a3279966720..166586bf6447 100644
---- a/freshclam/freshclam.c
-+++ b/freshclam/freshclam.c
-@@ -135,7 +135,7 @@ writepid (const char *pidfile)
- }
- else
- {
-- fprintf (fd, "%d", (int) getpid ());
-+ fprintf (fd, "%d\n", (int) getpid ());
- fclose (fd);
- }
- umask (old_umask);
diff --git a/recipes-security/clamav/clamav-0.98.5/0003-unit_tests-increment-test-timeout-from-40secs-to-5mi.patch b/recipes-security/clamav/clamav-0.98.5/0003-unit_tests-increment-test-timeout-from-40secs-to-5mi.patch
deleted file mode 100644
index 3251278..0000000
--- a/recipes-security/clamav/clamav-0.98.5/0003-unit_tests-increment-test-timeout-from-40secs-to-5mi.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From d5febd3fab63a6dc4af148ab1b94fe8a85412b46 Mon Sep 17 00:00:00 2001
-From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
-Date: Fri, 25 Apr 2014 22:06:23 +0200
-Subject: unit_tests: increment test-timeout from 40secs to 5mins
-
-I see now and then that tests on the slower archs (arm*, mips) fail due to
-the timeout restriction. Often a second build even on the same buildd
-succeeds. I think that the buildd is either close to the limit or has
-something else (another sbuild running) going so it does not finish the
-test in 40secs.
-Therefore I raise the bar to a 5 minutes limit. The worst thing that can
-happen is, that it takes more than 4 minutes before an enless loop will
-be detected.
-
-Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
----
- unit_tests/preload_run.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/unit_tests/preload_run.sh b/unit_tests/preload_run.sh
-index 8b8c8e3954dd..365b3a8e0edb 100755
---- a/unit_tests/preload_run.sh
-+++ b/unit_tests/preload_run.sh
-@@ -5,5 +5,5 @@
- ulimit -c 0 || true
- LD_PRELOAD=$LIBPRELOAD
- export LD_PRELOAD
--export CK_DEFAULT_TIMEOUT=40
-+export CK_DEFAULT_TIMEOUT=300
- exec $@
diff --git a/recipes-security/clamav/clamav-0.98.5/0004-Fix-compiling-on-Hurd.patch b/recipes-security/clamav/clamav-0.98.5/0004-Fix-compiling-on-Hurd.patch
deleted file mode 100644
index de68367..0000000
--- a/recipes-security/clamav/clamav-0.98.5/0004-Fix-compiling-on-Hurd.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From db4079249ca4ead5821ce6e1d32edad84c2579aa Mon Sep 17 00:00:00 2001
-From: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
-Date: Sat, 21 Jun 2014 17:00:47 +0200
-Subject: Fix compiling on Hurd.
-
-The header linux/sockios.h is not available on Hurd.
----
- libclamav/hostid.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/libclamav/hostid.c b/libclamav/hostid.c
-index bf988de2d6fd..e683539eaf41 100644
---- a/libclamav/hostid.c
-+++ b/libclamav/hostid.c
-@@ -47,7 +47,7 @@
- #include <ifaddrs.h>
- #endif
-
--#if defined(SIOCGIFHWADDR)
-+#if defined(SIOCGIFHWADDR) && !defined(__GNU__)
- #if defined(_AIX)
- #include <sys/ndd_var.h>
- #include <sys/kinfo.h>
-@@ -116,7 +116,7 @@ struct device *get_devices(void)
- uint8_t *mac;
- int sock;
-
--#if defined(SIOCGIFHWADDR)
-+#if defined(SIOCGIFHWADDR) && !defined(__GNU__)
- struct ifreq ifr;
- #else
- struct sockaddr_dl *sdl;
-@@ -155,7 +155,7 @@ struct device *get_devices(void)
- * Instead, Linux uses its own ioctl. This code only runs if we're not Linux,
- * Windows, or FreeBSD.
- */
--#if !defined(SIOCGIFHWADDR)
-+#if !defined(SIOCGIFHWADDR) || defined(__GNU__)
- for (i=0; i < ndevices; i++) {
- if (!(strcmp(devices[i].name, addr->ifa_name))) {
- sdl = (struct sockaddr_dl *)(addr->ifa_addr);
-@@ -180,7 +180,7 @@ struct device *get_devices(void)
- }
-
- /* This is the Linux version of getting the MAC addresses */
--#if defined(SIOCGIFHWADDR)
-+#if defined(SIOCGIFHWADDR) && !defined(__GNU__)
- for (i=0; i < ndevices; i++) {
- if (!(devices[i].name))
- continue;
diff --git a/recipes-security/clamav/clamav-0.98.5/0005-Workaround-a-bug-in-libc-on-Hurd.patch b/recipes-security/clamav/clamav-0.98.5/0005-Workaround-a-bug-in-libc-on-Hurd.patch
deleted file mode 100644
index c02d2b2..0000000
--- a/recipes-security/clamav/clamav-0.98.5/0005-Workaround-a-bug-in-libc-on-Hurd.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From b8e7d19ec50c30c59fa1038cd9da6d37c2176833 Mon Sep 17 00:00:00 2001
-From: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
-Date: Sat, 21 Jun 2014 17:02:06 +0200
-Subject: Workaround a bug in libc on Hurd
-
-The send() function, when asked to send 0 characters, doesn't trigger a corresponding recv(), except on Hurd.
-
-This breaks the communication between clamd and clamdscan.
-
-See: https://bugs.debian.org/752237
----
- clamd/scanner.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/clamd/scanner.c b/clamd/scanner.c
-index cd3d07c4ad3e..d531c4420686 100644
---- a/clamd/scanner.c
-+++ b/clamd/scanner.c
-@@ -119,6 +119,7 @@ int scan_callback(STATBUF *sb, char *filename, const char *msg, enum cli_ftw_rea
-
- /* detect disconnected socket,
- * this should NOT detect half-shutdown sockets (SHUT_WR) */
-+#if !defined(__GNU__)
- if (send(scandata->conn->sd, &ret, 0, 0) == -1 && errno != EINTR) {
- logg("$Client disconnected while command was active!\n");
- thrmgr_group_terminate(scandata->conn->group);
-@@ -126,7 +127,7 @@ int scan_callback(STATBUF *sb, char *filename, const char *msg, enum cli_ftw_rea
- free(filename);
- return CL_BREAK;
- }
--
-+#endif
- if (thrmgr_group_need_terminate(scandata->conn->group)) {
- logg("^Client disconnected while scanjob was active\n");
- if (reason == visit_file)
diff --git a/recipes-security/clamav/clamav-0.98.5/0006-remove-unnecessary-harmful-flags-from-libclamav.pc.patch b/recipes-security/clamav/clamav-0.98.5/0006-remove-unnecessary-harmful-flags-from-libclamav.pc.patch
deleted file mode 100644
index 95ffd39..0000000
--- a/recipes-security/clamav/clamav-0.98.5/0006-remove-unnecessary-harmful-flags-from-libclamav.pc.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 0fd50756af998fabc3393f67ff8b78a4855303d9 Mon Sep 17 00:00:00 2001
-From: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
-Date: Mon, 4 Aug 2014 22:44:40 +0200
-Subject: remove unnecessary/harmful flags from libclamav.pc
-
----
- libclamav.pc.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libclamav.pc.in b/libclamav.pc.in
-index 27db30e757ff..19ef1e4e0399 100644
---- a/libclamav.pc.in
-+++ b/libclamav.pc.in
-@@ -6,6 +6,6 @@ includedir=@includedir@
- Name: libclamav
- Description: A GPL virus scanner
- Version: @PACKAGE_VERSION@
--Libs: -L${libdir} -lclamav @LIBCLAMAV_LIBS@
--Cflags: -I${includedir} @CFLAGS@
-+Libs: -L${libdir} -lclamav
-+Cflags: -I${includedir}
-
diff --git a/recipes-security/clamav/clamav-0.98.5/0007-libclamav-use-libmspack.patch b/recipes-security/clamav/clamav-0.98.5/0007-libclamav-use-libmspack.patch
deleted file mode 100644
index 83f30fb..0000000
--- a/recipes-security/clamav/clamav-0.98.5/0007-libclamav-use-libmspack.patch
+++ /dev/null
@@ -1,4042 +0,0 @@
-From bffbaabfbb139ef1596d8b20f0275293cecd9297 Mon Sep 17 00:00:00 2001
-From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
-Date: Wed, 30 Jul 2014 08:35:16 +0200
-Subject: libclamav: use libmspack
-
-This patch provides support for upstream / external libmspack version
-libmspack 0.4 (current). The old in-tree version of libmspack is removed
-while no loner used.
-
-BTS: #675558
-clamav: https://bugzilla.clamav.net/show_bug.cgi?id=11062
-
-Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
----
- configure.ac | 3 +
- libclamav/Makefile.am | 11 +-
- libclamav/cab.c | 684 -----------------
- libclamav/cab.h | 81 --
- libclamav/chmunpack.h | 122 ---
- libclamav/libmspack.c | 525 +++++++++++++
- libclamav/libmspack.h | 7 +
- libclamav/mspack.c | 2026 -------------------------------------------------
- libclamav/mspack.h | 294 -------
- libclamav/scanners.c | 146 +---
- 10 files changed, 541 insertions(+), 3358 deletions(-)
- delete mode 100644 libclamav/cab.c
- delete mode 100644 libclamav/cab.h
- delete mode 100644 libclamav/chmunpack.h
- create mode 100644 libclamav/libmspack.c
- create mode 100644 libclamav/libmspack.h
- delete mode 100644 libclamav/mspack.c
- delete mode 100644 libclamav/mspack.h
-
-diff --git a/configure.ac b/configure.ac
-index e230f939c2d3..41043753fc92 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -174,6 +174,9 @@ if test "$enable_llvm" = "yes" && test "$subdirfailed" != "no"; then
- fi
- AM_CONDITIONAL([ENABLE_LLVM],
- [test "$subdirfailed" != "yes" && test "$enable_llvm" != "no"])
-+
-+PKG_CHECK_MODULES([LIBMSPACK], [libmspack])
-+
- no_recursion="yes";
- AC_OUTPUT([libclamav/Makefile])
-
-diff --git a/libclamav/Makefile.am b/libclamav/Makefile.am
-index 1aab51bd6ccc..538e83dcdd03 100644
---- a/libclamav/Makefile.am
-+++ b/libclamav/Makefile.am
-@@ -147,6 +147,9 @@ if VERSIONSCRIPT
- libclamav_la_LDFLAGS += -Wl,@VERSIONSCRIPTFLAG@,@top_srcdir@/libclamav/libclamav.map
- endif
-
-+libclamav_la_CFLAGS += $(LIBMSPACK_CFLAGS)
-+libclamav_la_LDFLAGS += $(LIBMSPACK_LIBS)
-+
- include_HEADERS = clamav.h
-
- libclamav_la_SOURCES = \
-@@ -204,8 +207,8 @@ libclamav_la_SOURCES = \
- upx.h \
- htmlnorm.c \
- htmlnorm.h \
-- chmunpack.c \
-- chmunpack.h \
-+ libmspack.c \
-+ libmspack.h \
- rebuildpe.c \
- rebuildpe.h \
- petite.c \
-@@ -283,10 +286,6 @@ libclamav_la_SOURCES = \
- regex_list.h \
- regex_suffix.c \
- regex_suffix.h \
-- mspack.c \
-- mspack.h \
-- cab.c \
-- cab.h \
- entconv.c \
- entconv.h \
- entitylist.h \
-diff --git a/libclamav/cab.c b/libclamav/cab.c
-deleted file mode 100644
-index 6d2eade7d4ea..000000000000
---- a/libclamav/cab.c
-+++ /dev/null
-@@ -1,684 +0,0 @@
--/*
-- * Copyright (C) 2007-2008 Sourcefire, Inc.
-- *
-- * Authors: Tomasz Kojm
-- *
-- * This program is free software; you can redistribute it and/or modify
-- * it under the terms of the GNU General Public License version 2 as
-- * published by the Free Software Foundation.
-- *
-- * 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, write to the Free Software
-- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-- * MA 02110-1301, USA.
-- */
--
--#if HAVE_CONFIG_H
--#include "clamav-config.h"
--#endif
--
--#include <stdio.h>
--#include <string.h>
--#include <ctype.h>
--#include <sys/types.h>
--#include <sys/stat.h>
--#ifdef HAVE_UNISTD_H
--#include <unistd.h>
--#endif
--#include <fcntl.h>
--
--#include "clamav.h"
--#include "cltypes.h"
--#include "others.h"
--#include "mspack.h"
--#include "cab.h"
--
--#define EC32(x) cli_readint32(&x) /* Convert little endian to host */
--#define EC16(x) cli_readint16(&x)
--
--/* hard limits */
--#define CAB_FOLDER_LIMIT 5000
--#define CAB_FILE_LIMIT 5000
--
--/* Cabinet format data structures */
--
--struct cab_hdr {
-- uint32_t signature; /* file signature */
-- uint32_t res1; /* reserved */
-- uint32_t cbCabinet; /* size of cabinet file */
-- uint32_t res2; /* reserved */
-- uint32_t coffFiles; /* offset of the first file entry */
-- uint32_t res3; /* reserved */
-- uint8_t versionMinor; /* file format version, minor */
-- uint8_t versionMajor; /* file format version, major */
-- uint16_t cFolders; /* number of folder entries */
-- uint16_t cFiles; /* number of file entries */
-- uint16_t flags; /* option flags */
-- uint16_t setID; /* multiple cabs related */
-- uint16_t iCabinet; /* multiple cabs related */
--};
--
--struct cab_hdr_opt {
-- uint16_t cbCFHeader; /* size of reserved header area */
-- uint8_t cbCFFolder; /* size of reserved folder area */
-- uint8_t cbCFData; /* size of reserved block area */
--};
--
--struct cab_folder_hdr
--{
-- uint32_t coffCabStart; /* offset of the first data block */
-- uint16_t cCFData; /* number of data blocks */
-- uint16_t typeCompress; /* compression type */
--};
--
--struct cab_file_hdr
--{
-- uint32_t cbFile; /* uncompressed size */
-- uint32_t uoffFolderStart; /* uncompressed offset of file in folder */
-- uint16_t iFolder; /* folder index */
-- uint16_t date; /* date stamp */
-- uint16_t time; /* time stamp */
-- uint16_t attribs; /* attribute flags */
--};
--
--struct cab_block_hdr
--{
-- uint32_t csum; /* data block checksum */
-- uint16_t cbData; /* number of compressed bytes */
-- uint16_t cbUncomp; /* number of uncompressed bytes */
--};
--
--static char *cab_readstr(fmap_t *map, off_t *offset, int *ret)
--{
-- int i;
-- const char *str;
-- char *retstr;
--
-- if(!(str = fmap_need_offstr(map, *offset, 256))) {
-- *ret = CL_EFORMAT;
-- return NULL;
-- }
--
-- i = strlen(str) + 1;
-- if(i>=255) {
-- fmap_unneed_ptr(map, str, i);
-- *ret = CL_EFORMAT;
-- return NULL;
-- }
--
-- *offset += i;
-- if((retstr = cli_malloc(i)))
-- memcpy(retstr, str, i);
-- fmap_unneed_ptr(map, str, i);
--
-- if(!retstr) {
-- *ret = CL_EMEM;
-- return NULL;
-- }
--
-- *ret = CL_SUCCESS;
-- return retstr;
--}
--
--static int cab_chkname(char *name, int san)
--{
-- size_t i, len = strlen(name);
--
--
-- for(i = 0; i < len; i++) {
-- if(!san && (strchr("%/*?|\\\"+=<>;:\t ", name[i]) || !isascii(name[i]))) {
-- cli_dbgmsg("cab_chkname: File name contains disallowed characters\n");
-- return 1;
-- } else if(san && !isalnum(name[i])) {
-- name[i] = '*';
-- }
-- }
--
-- return 0;
--}
--
--void cab_free(struct cab_archive *cab)
--{
-- struct cab_folder *folder;
-- struct cab_file *file;
--
--
-- if(cab->state) {
-- if(cab->state->stream) {
-- switch(cab->state->cmethod & 0x000f) {
-- case 0x0001:
-- mszip_free(cab->state->stream);
-- break;
-- case 0x0002:
-- qtm_free(cab->state->stream);
-- break;
-- case 0x0003:
-- lzx_free(cab->state->stream);
-- }
-- }
-- free(cab->state);
-- }
--
-- while(cab->folders) {
-- folder = cab->folders;
-- cab->folders = cab->folders->next;
-- free(folder);
-- }
--
-- while(cab->files) {
-- file = cab->files;
-- cab->files = cab->files->next;
-- free(file->name);
-- free(file);
-- }
--}
--
--int cab_open(fmap_t *map, off_t offset, struct cab_archive *cab)
--{
-- unsigned int i, folders = 0;
-- struct cab_file *file, *lfile = NULL;
-- struct cab_folder *folder, *lfolder = NULL;
-- const struct cab_hdr *hdr;
-- const struct cab_hdr_opt *hdr_opt;
-- uint16_t fidx;
-- uint32_t coffFiles;
-- char *pt;
-- int ret;
-- off_t resfold = 0, rsize, cur_offset = offset;
--
-- if(!(hdr=fmap_need_off_once(map, cur_offset, sizeof(*hdr)))) {
-- cli_dbgmsg("cab_open: Can't read cabinet header\n");
-- return CL_EFORMAT; /* most likely a corrupted file */
-- }
-- cur_offset += sizeof(*hdr);
--
-- if(EC32(hdr->signature) != 0x4643534d) {
-- cli_dbgmsg("cab_open: Incorrect CAB signature\n");
-- return CL_EFORMAT;
-- } else {
-- cli_dbgmsg("CAB: -------------- Cabinet file ----------------\n");
-- }
--
-- rsize = map->len;
--
-- memset(cab, 0, sizeof(struct cab_archive));
--
-- cab->length = EC32(hdr->cbCabinet);
-- cli_dbgmsg("CAB: Cabinet length: %u\n", cab->length);
-- if((off_t) cab->length > rsize) {
-- cli_dbgmsg("CAB: Truncating file size from %lu to %lu\n", (unsigned long int) cab->length, (unsigned long int) rsize);
-- cab->length = (uint32_t) rsize;
-- }
--
-- cab->nfolders = EC16(hdr->cFolders);
-- if(!cab->nfolders) {
-- cli_dbgmsg("cab_open: No folders in cabinet (fake cab?)\n");
-- return CL_EFORMAT;
-- } else {
-- cli_dbgmsg("CAB: Folders: %u\n", cab->nfolders);
-- if(cab->nfolders > CAB_FOLDER_LIMIT) {
-- cab->nfolders = CAB_FOLDER_LIMIT;
-- cli_dbgmsg("CAB: *** Number of folders limited to %u ***\n", cab->nfolders);
-- }
-- }
--
-- cab->nfiles = EC16(hdr->cFiles);
-- if(!cab->nfiles) {
-- cli_dbgmsg("cab_open: No files in cabinet (fake cab?)\n");
-- return CL_EFORMAT;
-- } else {
-- cli_dbgmsg("CAB: Files: %u\n", cab->nfiles);
-- if(cab->nfiles > CAB_FILE_LIMIT) {
-- cab->nfiles = CAB_FILE_LIMIT;
-- cli_dbgmsg("CAB: *** Number of files limited to %u ***\n", cab->nfiles);
-- }
-- }
--
-- cli_dbgmsg("CAB: File format version: %u.%u\n", hdr->versionMajor, hdr->versionMinor);
--
-- cab->flags = EC16(hdr->flags);
-- coffFiles = EC16(hdr->coffFiles);
--
-- if(cab->flags & 0x0004) {
-- if(!(hdr_opt = fmap_need_off_once(map, cur_offset, sizeof(*hdr_opt)))) {
-- cli_dbgmsg("cab_open: Can't read file header (fake cab?)\n");
-- return CL_EFORMAT; /* most likely a corrupted file */
-- }
--
-- cab->reshdr = EC16(hdr_opt->cbCFHeader);
-- resfold = hdr_opt->cbCFFolder;
-- cab->resdata = hdr_opt->cbCFData;
--
-- cur_offset += sizeof(*hdr_opt) + cab->reshdr;
-- if(cab->reshdr) {
-- if(cab->reshdr >= rsize) {
-- cli_dbgmsg("cab_open: Can't lseek to %u (fake cab?)\n", cab->reshdr);
-- return CL_EFORMAT; /* most likely a corrupted file */
-- }
-- }
-- }
--
-- if(cab->flags & 0x0001) { /* preceding cabinet */
-- /* name */
-- pt = cab_readstr(map, &cur_offset, &ret);
-- if(ret)
-- return ret;
-- if(cab_chkname(pt, 0))
-- cli_dbgmsg("CAB: Invalid name of preceding cabinet\n");
-- else
-- cli_dbgmsg("CAB: Preceding cabinet name: %s\n", pt);
-- free(pt);
-- /* info */
-- pt = cab_readstr(map, &cur_offset, &ret);
-- if(ret)
-- return ret;
-- if(cab_chkname(pt, 0))
-- cli_dbgmsg("CAB: Invalid info for preceding cabinet\n");
-- else
-- cli_dbgmsg("CAB: Preceding cabinet info: %s\n", pt);
-- free(pt);
-- }
--
-- if(cab->flags & 0x0002) { /* next cabinet */
-- /* name */
-- pt = cab_readstr(map, &cur_offset, &ret);
-- if(ret)
-- return ret;
-- if(cab_chkname(pt, 0))
-- cli_dbgmsg("CAB: Invalid name of next cabinet\n");
-- else
-- cli_dbgmsg("CAB: Next cabinet name: %s\n", pt);
-- free(pt);
-- /* info */
-- pt = cab_readstr(map, &cur_offset, &ret);
-- if(ret)
-- return ret;
-- if(cab_chkname(pt, 0))
-- cli_dbgmsg("CAB: Invalid info for next cabinet\n");
-- else
-- cli_dbgmsg("CAB: Next cabinet info: %s\n", pt);
-- free(pt);
-- }
--
-- /* folders */
-- for(i = 0; i < cab->nfolders; i++) {
-- const struct cab_folder_hdr *folder_hdr;
--
-- if(!(folder_hdr = fmap_need_off_once(map, cur_offset, sizeof(*folder_hdr)))) {
-- cli_dbgmsg("cab_open: Can't read header for folder %u\n", i);
-- break;
-- }
--
-- cur_offset += sizeof(*folder_hdr) + resfold;
--
-- if(EC32(folder_hdr->coffCabStart) + offset > rsize) {
-- cli_dbgmsg("CAB: Folder out of file\n");
-- continue;
-- }
--
-- if((EC16(folder_hdr->typeCompress) & 0x000f) > 3) {
-- cli_dbgmsg("CAB: Unknown compression method\n");
-- continue;
-- }
--
-- folder = (struct cab_folder *) cli_calloc(1, sizeof(struct cab_folder));
-- if(!folder) {
-- cli_errmsg("cab_open: Can't allocate memory for folder\n");
-- cab_free(cab);
-- return CL_EMEM;
-- }
--
-- folder->cab = (struct cab_archive *) cab;
-- folder->offset = (off_t) EC32(folder_hdr->coffCabStart) + offset;
-- folder->nblocks = EC16(folder_hdr->cCFData);
-- folder->cmethod = EC16(folder_hdr->typeCompress);
--
-- cli_dbgmsg("CAB: Folder record %u\n", i);
-- cli_dbgmsg("CAB: Folder offset: %u\n", (unsigned int) folder->offset);
-- cli_dbgmsg("CAB: Folder compression method: %d\n", folder->cmethod);
--
-- if(!lfolder)
-- cab->folders = folder;
-- else
-- lfolder->next = folder;
--
-- lfolder = folder;
-- folders++;
-- }
-- cli_dbgmsg("CAB: Recorded folders: %u\n", folders);
--
-- /* files */
-- if(cab->nfolders != folders) {
-- if(coffFiles >= rsize) {
-- cli_dbgmsg("cab_open: Can't lseek to hdr.coffFiles\n");
-- cab_free(cab);
-- return CL_EFORMAT;
-- }
-- cur_offset = coffFiles;
-- }
-- for(i = 0; i < cab->nfiles; i++) {
-- const struct cab_file_hdr *file_hdr;
--
-- if(!(file_hdr = fmap_need_off_once(map, cur_offset, sizeof(*file_hdr)))) {
-- cli_dbgmsg("cab_open: Can't read file %u header\n", i);
-- break;
-- }
-- cur_offset += sizeof(*file_hdr);
--
-- file = (struct cab_file *) cli_calloc(1, sizeof(struct cab_file));
-- if(!file) {
-- cli_errmsg("cab_open: Can't allocate memory for file\n");
-- cab_free(cab);
-- return CL_EMEM;
-- }
--
-- file->cab = cab;
-- cab->map = map;
-- file->offset = EC32(file_hdr->uoffFolderStart);
-- file->length = EC32(file_hdr->cbFile);
-- file->attribs = EC16(file_hdr->attribs);
-- fidx = EC16(file_hdr->iFolder);
-- file->error = CL_SUCCESS;
--
-- file->name = cab_readstr(map, &cur_offset, &ret);
-- if(ret) {
-- free(file);
-- continue;
-- }
-- cab_chkname(file->name, 1);
--
-- cli_dbgmsg("CAB: File record %u\n", i);
-- cli_dbgmsg("CAB: File name: %s\n", file->name);
-- cli_dbgmsg("CAB: File offset: %u\n", (unsigned int) file->offset);
-- cli_dbgmsg("CAB: File folder index: %u\n", fidx);
-- cli_dbgmsg("CAB: File attribs: 0x%x\n", file->attribs);
-- if(file->attribs & 0x01)
-- cli_dbgmsg("CAB: * file is read-only\n");
-- if(file->attribs & 0x02)
-- cli_dbgmsg("CAB: * file is hidden\n");
-- if(file->attribs & 0x04)
-- cli_dbgmsg("CAB: * file is a system file\n");
-- if(file->attribs & 0x20)
-- cli_dbgmsg("CAB: * file modified since last backup\n");
-- if(file->attribs & 0x40)
-- cli_dbgmsg("CAB: * file to be run after extraction\n");
-- if(file->attribs & 0x80)
-- cli_dbgmsg("CAB: * file name contains UTF\n");
--
-- /* folder index */
-- if(fidx < 0xfffd) {
-- if(fidx > cab->nfolders) {
-- cli_dbgmsg("cab_open: File %s is not associated with any folder\n", file->name);
-- free(file->name);
-- free(file);
-- continue;
-- }
--
-- file->folder = cab->folders;
-- while(file->folder && fidx--)
-- file->folder = file->folder->next;
--
-- if(!file->folder) {
-- cli_dbgmsg("cab_open: Folder not found for file %s\n", file->name);
-- free(file->name);
-- free(file);
-- continue;
-- }
--
-- } else {
-- cli_dbgmsg("CAB: File is split *skipping*\n");
-- free(file->name);
-- free(file);
-- continue;
-- }
--
-- if(!lfile)
-- cab->files = file;
-- else
-- lfile->next = file;
--
-- lfile = file;
--
-- }
--
-- return CL_SUCCESS;
--}
--
--static int cab_read_block(struct cab_file *file)
--{
-- const struct cab_block_hdr *block_hdr;
-- struct cab_state *state = file->cab->state;
--
-- if(!(block_hdr = fmap_need_off_once(file->cab->map, file->cab->cur_offset, sizeof(*block_hdr)))) {
-- cli_dbgmsg("cab_read_block: Can't read block header\n");
-- return CL_EFORMAT; /* most likely a corrupted file */
-- }
--
-- file->cab->cur_offset += sizeof(*block_hdr) + file->cab->resdata;
-- state->blklen = EC16(block_hdr->cbData);
-- state->outlen = EC16(block_hdr->cbUncomp);
--
-- if(fmap_readn(file->cab->map, state->block, file->cab->cur_offset, state->blklen) != state->blklen) {
-- cli_dbgmsg("cab_read_block: Can't read block data\n");
-- return CL_EFORMAT; /* most likely a corrupted file */
-- }
--
-- file->cab->cur_offset += state->blklen;
-- state->pt = state->end = state->block;
-- state->end += state->blklen;
--
-- return CL_SUCCESS;
--}
--
--static int cab_read(struct cab_file *file, unsigned char *buffer, int bytes)
--{
-- uint16_t todo, left;
--
--
-- if((file->cab->state->blknum > file->folder->nblocks) && !file->lread) {
-- file->error = CL_BREAK;
-- return -1;
-- }
--
-- todo = bytes;
-- while(todo > 0) {
-- left = file->cab->state->end - file->cab->state->pt;
--
-- if(left) {
-- if(left > todo)
-- left = todo;
--
-- memcpy(buffer, file->cab->state->pt, left);
-- file->cab->state->pt += left;
-- buffer += left;
-- todo -= left;
--
-- } else {
-- if(file->cab->state->blknum++ >= file->folder->nblocks)
-- break;
--
-- file->error = cab_read_block(file);
-- if(file->error)
-- return -1;
--
-- if((file->folder->cmethod & 0x000f) == 0x0002) /* Quantum hack */
-- *file->cab->state->end++ = 0xff;
--
-- if(file->cab->state->blknum >= file->folder->nblocks) {
-- if((file->folder->cmethod & 0x000f) == 0x0003) { /* LZX hack */
-- lzx_set_output_length(file->cab->state->stream, (off_t) ((file->cab->state->blknum - 1) * 32768 + file->cab->state->outlen));
-- }
-- } else {
-- if(file->cab->state->outlen != 32768) {
-- cli_dbgmsg("cab_read: WARNING: partial data block\n");
-- }
-- }
-- }
-- }
--
-- return file->lread = bytes - todo;
--}
--
--static int cab_unstore(struct cab_file *file)
--{
-- int todo, bread, bytes = file->length;
-- unsigned char buff[4096];
--
--
-- if(bytes < 0) {
-- cli_dbgmsg("cab_unstore: bytes < 0\n");
-- return CL_EFORMAT;
-- }
--
-- todo = MIN((unsigned int) bytes, file->max_size);
--
-- while(1) {
--
-- if((unsigned int) todo <= sizeof(buff))
-- bread = todo;
-- else
-- bread = sizeof(buff);
--
-- if((bread = cab_read(file, buff, bread)) == -1) {
-- cli_dbgmsg("cab_unstore: cab_read failed\n");
-- return file->error;
-- } else if(cli_writen(file->ofd, buff, bread) != bread) {
-- cli_warnmsg("cab_unstore: Can't write %d bytes to descriptor %d\n", bread, file->ofd);
-- return CL_EWRITE;
-- }
--
-- todo -= bread;
--
-- if(!bread || todo <= 0)
-- break;
-- }
--
-- return CL_SUCCESS;
--}
--
--#define CAB_CHGFOLDER \
-- if(!file->cab->actfol || (file->folder != file->cab->actfol) \
-- || (file->cab->state && file->cab->state->cmethod != file->folder->cmethod)) { \
-- if(file->cab->state) { \
-- if(file->cab->state->stream) { \
-- switch(file->cab->state->cmethod & 0x000f) { \
-- case 0x0001: \
-- mszip_free(file->cab->state->stream); \
-- break; \
-- case 0x0002: \
-- qtm_free(file->cab->state->stream); \
-- break; \
-- case 0x0003: \
-- lzx_free(file->cab->state->stream); \
-- } \
-- } \
-- free(file->cab->state); \
-- file->cab->state = NULL; \
-- } \
-- file->cab->cur_offset = file->folder->offset; \
-- file->cab->state = (struct cab_state *) cli_calloc(1, sizeof(struct cab_state)); \
-- if(!file->cab->state) { \
-- cli_errmsg("cab_extract: Can't allocate memory for internal state\n"); \
-- close(file->ofd); \
-- return CL_EMEM; \
-- } \
-- file->cab->state->cmethod = file->folder->cmethod; \
-- switch(file->folder->cmethod & 0x000f) { \
-- case 0x0001: \
-- file->cab->state->stream = (struct mszip_stream *) mszip_init(file->ofd, 4096, 1, file, &cab_read); \
-- break; \
-- case 0x0002: \
-- file->cab->state->stream = (struct qtm_stream *) qtm_init(file->ofd, (int) (file->folder->cmethod >> 8) & 0x1f, 4096, file, &cab_read); \
-- break; \
-- case 0x0003: \
-- file->cab->state->stream = (struct lzx_stream *) lzx_init(file->ofd, (int) (file->folder->cmethod >> 8) & 0x1f, 0, 4096, 0, file, &cab_read); \
-- } \
-- if((file->folder->cmethod & 0x000f) && !file->cab->state->stream) { \
-- close(file->ofd); \
-- return CL_EUNPACK; \
-- } \
-- file->cab->actfol = file->folder; \
-- } else { \
-- if(file->cab->state && file->cab->state->stream) { \
-- switch(file->cab->state->cmethod & 0x000f) { \
-- case 0x0001: \
-- ((struct mszip_stream *) file->cab->state->stream)->ofd = file->ofd; \
-- break; \
-- case 0x0002: \
-- ((struct qtm_stream *) file->cab->state->stream)->ofd = file->ofd; \
-- break; \
-- case 0x0003: \
-- ((struct lzx_stream *) file->cab->state->stream)->ofd = file->ofd; \
-- break; \
-- } \
-- } \
-- }
--
--
--int cab_extract(struct cab_file *file, const char *name)
--{
-- int ret;
--
--
-- if(!file || !name) {
-- cli_errmsg("cab_extract: !file || !name\n");
-- return CL_ENULLARG;
-- }
--
-- if(!file->folder) {
-- cli_errmsg("cab_extract: file->folder == NULL\n");
-- return CL_ENULLARG;
-- }
--
-- file->ofd = open(name, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY, S_IRWXU);
-- if(file->ofd == -1) {
-- cli_errmsg("cab_extract: Can't open file %s in write mode\n", name);
-- return CL_ECREAT;
-- }
--
-- switch(file->folder->cmethod & 0x000f) {
-- case 0x0000: /* STORE */
-- cli_dbgmsg("CAB: Compression method: STORED\n");
-- CAB_CHGFOLDER;
-- if(file->length > file->cab->length) {
-- cli_dbgmsg("cab_extract: Stored file larger than archive itself, trimming down\n");
-- file->length = file->cab->length;
-- }
-- ret = cab_unstore(file);
-- break;
--
-- case 0x0001: /* MSZIP */
-- cli_dbgmsg("CAB: Compression method: MSZIP\n");
-- CAB_CHGFOLDER;
-- ret = mszip_decompress(file->cab->state->stream, file->length);
-- break;
--
-- case 0x0002: /* QUANTUM */
-- cli_dbgmsg("CAB: Compression method: QUANTUM\n");
-- CAB_CHGFOLDER;
-- ret = qtm_decompress(file->cab->state->stream, file->length);
-- break;
--
-- case 0x0003: /* LZX */
-- cli_dbgmsg("CAB: Compression method: LZX\n");
-- CAB_CHGFOLDER;
-- ret = lzx_decompress(file->cab->state->stream, file->length);
-- break;
--
-- default:
-- cli_dbgmsg("CAB: Not supported compression method: 0x%x\n", file->folder->cmethod & 0x000f);
-- ret = CL_EFORMAT;
-- }
--
-- close(file->ofd);
--
-- if(ret == CL_BREAK)
-- ret = CL_SUCCESS;
--
-- return ret;
--}
-diff --git a/libclamav/cab.h b/libclamav/cab.h
-deleted file mode 100644
-index 795900d555e9..000000000000
---- a/libclamav/cab.h
-+++ /dev/null
-@@ -1,81 +0,0 @@
--/*
-- * Copyright (C) 2007-2008 Sourcefire, Inc.
-- *
-- * Authors: Tomasz Kojm
-- *
-- * This program is free software; you can redistribute it and/or modify
-- * it under the terms of the GNU General Public License version 2 as
-- * published by the Free Software Foundation.
-- *
-- * 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, write to the Free Software
-- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-- * MA 02110-1301, USA.
-- */
--
--#ifndef __CAB_H
--#define __CAB_H
--
--#include <sys/types.h>
--#include "cltypes.h"
--#include "fmap.h"
--
--#define CAB_BLOCKMAX 65535
--#define CAB_INPUTMAX (CAB_BLOCKMAX + 6144)
--
--struct cab_archive {
-- struct cab_folder *folders, *actfol;
-- struct cab_file *files;
-- struct cab_state *state;
-- fmap_t *map;
-- off_t cur_offset;
-- uint32_t length;
-- uint16_t nfolders;
-- uint16_t nfiles;
-- uint16_t flags;
-- uint16_t reshdr;
-- uint8_t resdata;
--};
--
--struct cab_state {
-- unsigned char *pt, *end;
-- void *stream;
-- unsigned char block[CAB_INPUTMAX];
-- uint16_t blklen;
-- uint16_t outlen;
-- uint16_t blknum;
-- uint16_t cmethod;
--};
--
--struct cab_file {
-- off_t offset;
-- char *name;
-- uint32_t length;
-- int error;
-- int lread;
-- int ofd;
-- struct cab_folder *folder;
-- struct cab_file *next;
-- struct cab_archive *cab;
-- uint16_t attribs;
-- uint64_t max_size, written_size;
--};
--
--struct cab_folder {
-- struct cab_archive *cab;
-- off_t offset;
-- struct cab_folder *next;
-- uint16_t cmethod;
-- uint16_t nblocks;
--};
--
--int cab_open(fmap_t *map, off_t offset, struct cab_archive *cab);
--int cab_extract(struct cab_file *file, const char *name);
--void cab_free(struct cab_archive *cab);
--
--#endif
-diff --git a/libclamav/chmunpack.h b/libclamav/chmunpack.h
-deleted file mode 100644
-index 7864386b921f..000000000000
---- a/libclamav/chmunpack.h
-+++ /dev/null
-@@ -1,122 +0,0 @@
--/*
-- * Extract component parts of MS CHM files
-- *
-- * Copyright (C) 2007-2008 Sourcefire, Inc.
-- *
-- * Authors: Trog
-- *
-- * This program is free software; you can redistribute it and/or modify
-- * it under the terms of the GNU General Public License version 2 as
-- * published by the Free Software Foundation.
-- *
-- * 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, write to the Free Software
-- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-- * MA 02110-1301, USA.
-- */
--
--#ifndef __CHM_UNPACK_H
--#define __CHM_UNPACK_H
--
--#if HAVE_CONFIG_H
--#include "clamav-config.h"
--#endif
--
--#include "cltypes.h"
--#include "others.h"
--#include "fmap.h"
--
--#ifndef HAVE_ATTRIB_PACKED
--#define __attribute__(x)
--#endif
--
--#ifdef HAVE_PRAGMA_PACK
--#pragma pack(1)
--#endif
--
--#ifdef HAVE_PRAGMA_PACK_HPPA
--#pragma pack 1
--#endif
--
--#define CHM_ITSF_MIN_LEN (0x60)
--typedef struct chm_itsf_header_tag
--{
-- unsigned char signature[4];
-- int32_t version __attribute__ ((packed));
-- int32_t header_len __attribute__ ((packed));
-- uint32_t unknown __attribute__ ((packed));
-- uint32_t last_modified __attribute__ ((packed));
-- uint32_t lang_id __attribute__ ((packed));
-- unsigned char dir_clsid[16];
-- unsigned char stream_clsid[16];
-- uint64_t sec0_offset __attribute__ ((packed));
-- uint64_t sec0_len __attribute__ ((packed));
-- uint64_t dir_offset __attribute__ ((packed));
-- uint64_t dir_len __attribute__ ((packed));
-- uint64_t data_offset __attribute__ ((packed));
--} chm_itsf_header_t;
--
--#define CHM_ITSP_LEN (0x54)
--typedef struct chm_itsp_header_tag
--{
-- unsigned char signature[4];
-- int32_t version __attribute__ ((packed));
-- int32_t header_len __attribute__ ((packed));
-- int32_t unknown1 __attribute__ ((packed));
-- uint32_t block_len __attribute__ ((packed));
-- int32_t blockidx_intvl __attribute__ ((packed));
-- int32_t index_depth __attribute__ ((packed));
-- int32_t index_root __attribute__ ((packed));
-- int32_t index_head __attribute__ ((packed));
-- int32_t index_tail __attribute__ ((packed));
-- int32_t unknown2 __attribute__ ((packed));
-- uint32_t num_blocks __attribute__ ((packed));
-- uint32_t lang_id __attribute__ ((packed));
-- unsigned char system_clsid[16];
-- unsigned char unknown4[16];
--} chm_itsp_header_t;
--
--#ifdef HAVE_PRAGMA_PACK
--#pragma pack()
--#endif
--
--#ifdef HAVE_PRAGMA_PACK_HPPA
--#pragma pack
--#endif
--
--typedef struct chm_sys_entry_tag
--{
-- uint64_t offset;
-- uint64_t length;
--} chm_sys_entry_t;
--
--typedef struct chm_metadata_tag {
-- uint64_t file_length;
-- uint64_t file_offset;
-- chm_sys_entry_t sys_control;
-- chm_sys_entry_t sys_content;
-- chm_sys_entry_t sys_reset;
-- off_t m_length;
-- chm_itsf_header_t itsf_hdr;
-- chm_itsp_header_t itsp_hdr;
-- int ufd;
-- int ofd;
-- uint32_t num_chunks;
-- off_t chunk_offset;
-- const char *chunk_data;
-- const char *chunk_current;
-- const char *chunk_end;
-- fmap_t *map;
-- uint16_t chunk_entries;
--} chm_metadata_t;
--
--int cli_chm_open(const char *dirname, chm_metadata_t *metadata, cli_ctx *ctx);
--int cli_chm_prepare_file(chm_metadata_t *metadata);
--int cli_chm_extract_file(char *dirname, chm_metadata_t *metadata, cli_ctx *ctx);
--void cli_chm_close(chm_metadata_t *metadata);
--#endif
-diff --git a/libclamav/libmspack.c b/libclamav/libmspack.c
-new file mode 100644
-index 000000000000..e94312e6dad3
---- /dev/null
-+++ b/libclamav/libmspack.c
-@@ -0,0 +1,525 @@
-+/*
-+ * Glue code for libmspack handling.
-+ * Author: 웃 Sebastian Andrzej Siewior
-+ * ✉ sebastian @ breakpoint ̣cc
-+ */
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <sys/stat.h>
-+#include <fcntl.h>
-+
-+#include <mspack.h>
-+
-+#include "clamav.h"
-+#include "fmap.h"
-+#include "scanners.h"
-+#include "others.h"
-+
-+enum mspack_type {
-+ FILETYPE_DUNNO,
-+ FILETYPE_FMAP,
-+ FILETYPE_FILENAME,
-+};
-+
-+struct mspack_name {
-+ fmap_t *fmap;
-+ off_t org;
-+};
-+
-+struct mspack_system_ex {
-+ struct mspack_system ops;
-+ off_t max_size;
-+};
-+
-+struct mspack_handle {
-+ enum mspack_type type;
-+
-+ fmap_t *fmap;
-+ off_t org;
-+ off_t offset;
-+
-+ FILE *f;
-+ off_t max_size;
-+};
-+
-+#define container_of(ptr, type, member) ({ \
-+ const typeof( ((type *)0)->member ) *__mptr = (ptr); \
-+ (type *)( (char *)__mptr - offsetof(type,member) );})
-+
-+#define min_t(type, x, y) ({ \
-+ type __min1 = (x); \
-+ type __min2 = (y); \
-+ __min1 < __min2 ? __min1: __min2; })
-+
-+static struct mspack_file *mspack_fmap_open(struct mspack_system *self,
-+ const char *filename, int mode)
-+{
-+ struct mspack_name *mspack_name;
-+ struct mspack_handle *mspack_handle;
-+ struct mspack_system_ex *self_ex;
-+ const char *fmode;
-+
-+ if (!filename) {
-+ cli_dbgmsg("%s() failed at %d\n", __func__, __LINE__);
-+ return NULL;
-+ }
-+ mspack_handle = malloc(sizeof(*mspack_handle));
-+ if (!mspack_handle) {
-+ cli_dbgmsg("%s() failed at %d\n", __func__, __LINE__);
-+ return NULL;
-+ }
-+ switch (mode) {
-+ case MSPACK_SYS_OPEN_READ:
-+ mspack_handle->type = FILETYPE_FMAP;
-+
-+ mspack_name = (struct mspack_name *)filename;
-+ mspack_handle->fmap = mspack_name->fmap;
-+ mspack_handle->org = mspack_name->org;
-+ mspack_handle->offset = 0;
-+
-+ return (struct mspack_file *)mspack_handle;
-+
-+ case MSPACK_SYS_OPEN_WRITE:
-+ fmode = "wb";
-+ break;
-+ case MSPACK_SYS_OPEN_UPDATE:
-+ fmode = "r+b";
-+ break;
-+ case MSPACK_SYS_OPEN_APPEND:
-+ fmode = "ab";
-+ break;
-+ default:
-+ cli_dbgmsg("%s() wrong mode\n", __func__);
-+ goto out_err;
-+ }
-+
-+ mspack_handle->type = FILETYPE_FILENAME;
-+
-+ mspack_handle->f = fopen(filename, fmode);
-+ if (!mspack_handle->f) {
-+ cli_dbgmsg("%s() failed %d\n", __func__, __LINE__);
-+ goto out_err;
-+ }
-+ self_ex = container_of(self, struct mspack_system_ex, ops);
-+ mspack_handle->max_size = self_ex->max_size;
-+ return (struct mspack_file *)mspack_handle;
-+
-+out_err:
-+ free(mspack_handle);
-+ return NULL;
-+}
-+
-+static void mspack_fmap_close(struct mspack_file *file)
-+{
-+ struct mspack_handle *mspack_handle = (struct mspack_handle *)file;
-+
-+ if (!mspack_handle)
-+ return;
-+
-+ if (mspack_handle->type == FILETYPE_FILENAME)
-+ fclose(mspack_handle->f);
-+ free(mspack_handle);
-+}
-+
-+static int mspack_fmap_read(struct mspack_file *file, void *buffer, int bytes)
-+{
-+ struct mspack_handle *mspack_handle = (struct mspack_handle *)file;
-+ off_t offset;
-+ size_t count;
-+ int ret;
-+
-+ if (bytes < 0) {
-+ cli_dbgmsg("%s() %d\n", __func__, __LINE__);
-+ return -1;
-+ }
-+ if (!mspack_handle) {
-+ cli_dbgmsg("%s() %d\n", __func__, __LINE__);
-+ return -1;
-+ }
-+
-+ if (mspack_handle->type == FILETYPE_FMAP) {
-+ offset = mspack_handle->offset + mspack_handle->org;
-+
-+ ret = fmap_readn(mspack_handle->fmap, buffer, offset, bytes);
-+ if (ret != bytes) {
-+ cli_dbgmsg("%s() %d %d, %d\n", __func__, __LINE__, bytes, ret);
-+ return ret;
-+ }
-+
-+ mspack_handle->offset += bytes;
-+ return bytes;
-+ }
-+ count = fread(buffer, bytes, 1, mspack_handle->f);
-+ if (count < 1) {
-+ cli_dbgmsg("%s() %d %d, %zd\n", __func__, __LINE__, bytes, count);
-+ return -1;
-+ }
-+ return bytes;
-+}
-+
-+static int mspack_fmap_write(struct mspack_file *file, void *buffer, int bytes)
-+{
-+ struct mspack_handle *mspack_handle = (struct mspack_handle *)file;
-+ size_t count;
-+ off_t max_size;
-+
-+ if (bytes < 0 || !mspack_handle) {
-+ cli_dbgmsg("%s() err %d\n", __func__, __LINE__);
-+ return -1;
-+ }
-+
-+ if (mspack_handle->type == FILETYPE_FMAP) {
-+ cli_dbgmsg("%s() err %d\n", __func__, __LINE__);
-+ return -1;
-+ }
-+
-+ if (!bytes)
-+ return 0;
-+
-+ max_size = mspack_handle->max_size;
-+ if (!max_size)
-+ return bytes;
-+
-+ max_size = min_t(off_t, max_size, bytes);
-+ mspack_handle->max_size -= max_size;
-+
-+ count = fwrite(buffer, max_size, 1, mspack_handle->f);
-+ if (count < 1) {
-+ cli_dbgmsg("%s() err %m <%zd %d>\n", __func__, count, bytes);
-+ return -1;
-+ }
-+
-+ return bytes;
-+}
-+
-+static int mspack_fmap_seek(struct mspack_file *file, off_t offset, int mode)
-+{
-+ struct mspack_handle *mspack_handle = (struct mspack_handle *)file;
-+
-+ if (!mspack_handle) {
-+ cli_dbgmsg("%s() err %d\n", __func__, __LINE__);
-+ return -1;
-+ }
-+
-+ if (mspack_handle->type == FILETYPE_FMAP) {
-+ off_t new_pos;
-+
-+ switch (mode) {
-+ case MSPACK_SYS_SEEK_START:
-+ new_pos = offset;
-+ break;
-+ case MSPACK_SYS_SEEK_CUR:
-+ new_pos = mspack_handle->offset + offset;
-+ break;
-+ case MSPACK_SYS_SEEK_END:
-+ new_pos = mspack_handle->fmap->len + offset;
-+ break;
-+ default:
-+ cli_dbgmsg("%s() err %d\n", __func__, __LINE__);
-+ return -1;
-+ }
-+ if (new_pos < 0 || new_pos > mspack_handle->fmap->len) {
-+ cli_dbgmsg("%s() err %d\n", __func__, __LINE__);
-+ return -1;
-+ }
-+
-+ mspack_handle->offset = new_pos;
-+ return 0;
-+ }
-+
-+ switch (mode) {
-+ case MSPACK_SYS_SEEK_START:
-+ mode = SEEK_SET;
-+ break;
-+ case MSPACK_SYS_SEEK_CUR:
-+ mode = SEEK_CUR;
-+ break;
-+ case MSPACK_SYS_SEEK_END:
-+ mode = SEEK_END;
-+ break;
-+ default:
-+ cli_dbgmsg("%s() err %d\n", __func__, __LINE__);
-+ return -1;
-+ }
-+
-+ return fseeko(mspack_handle->f, offset, mode);
-+}
-+
-+static off_t mspack_fmap_tell(struct mspack_file *file)
-+{
-+ struct mspack_handle *mspack_handle = (struct mspack_handle *)file;
-+
-+ if (!mspack_handle)
-+ return -1;
-+
-+ if (mspack_handle->type == FILETYPE_FMAP)
-+ return mspack_handle->offset;
-+
-+ return ftello(mspack_handle->f);
-+}
-+
-+static void mspack_fmap_message(struct mspack_file *file, const char *fmt, ...)
-+{
-+ cli_dbgmsg("%s() %s\n", __func__, fmt);
-+}
-+static void *mspack_fmap_alloc(struct mspack_system *self, size_t num)
-+{
-+ return malloc(num);
-+}
-+
-+static void mspack_fmap_free(void *mem)
-+{
-+ free(mem);
-+}
-+
-+static void mspack_fmap_copy(void *src, void *dst, size_t num)
-+{
-+ memcpy(dst, src, num);
-+}
-+
-+static struct mspack_system mspack_sys_fmap_ops = {
-+ .open = mspack_fmap_open,
-+ .close = mspack_fmap_close,
-+ .read = mspack_fmap_read,
-+ .write = mspack_fmap_write,
-+ .seek = mspack_fmap_seek,
-+ .tell = mspack_fmap_tell,
-+ .message = mspack_fmap_message,
-+ .alloc = mspack_fmap_alloc,
-+ .free = mspack_fmap_free,
-+ .copy = mspack_fmap_copy,
-+};
-+
-+static int cli_scanfile(const char *filename, cli_ctx *ctx)
-+{
-+ int fd, ret;
-+
-+ /* internal version of cl_scanfile with arec/mrec preserved */
-+ fd = safe_open(filename, O_RDONLY|O_BINARY);
-+ if (fd < 0)
-+ return CL_EOPEN;
-+
-+ ret = cli_magic_scandesc(fd, ctx);
-+
-+ close(fd);
-+ return ret;
-+}
-+
-+int cli_scanmscab(cli_ctx *ctx, off_t sfx_offset)
-+{
-+ struct mscab_decompressor *cab_d;
-+ struct mscabd_cabinet *cab_h;
-+ struct mscabd_file *cab_f;
-+ int ret;
-+ int files;
-+ int virus_num = 0;
-+ struct mspack_name mspack_fmap = {
-+ .fmap = *ctx->fmap,
-+ .org = sfx_offset,
-+ };
-+ struct mspack_system_ex ops_ex = {
-+ .ops = mspack_sys_fmap_ops,
-+ };
-+
-+ MSPACK_SYS_SELFTEST(ret);
-+ if (ret) {
-+ cli_dbgmsg("%s() failed at %d\n", __func__, __LINE__);
-+ return CL_EUNPACK;
-+ }
-+
-+ cab_d = mspack_create_cab_decompressor(&ops_ex.ops);
-+ if (!cab_d) {
-+ cli_dbgmsg("%s() failed at %d\n", __func__, __LINE__);
-+ return CL_EUNPACK;
-+ }
-+
-+ cab_h = cab_d->open(cab_d, (char *)&mspack_fmap);
-+ if (!cab_h) {
-+ ret = CL_EFORMAT;
-+ cli_dbgmsg("%s() failed at %d\n", __func__, __LINE__);
-+ goto out_dest;
-+ }
-+ files = 0;
-+ for (cab_f = cab_h->files; cab_f; cab_f = cab_f->next) {
-+ off_t max_size;
-+ char *tmp_fname;
-+
-+ ret = cli_matchmeta(ctx, cab_f->filename, 0, cab_f->length, 0,
-+ files, 0, NULL);
-+ if (ret) {
-+ if (ret == CL_VIRUS) {
-+ virus_num++;
-+ if (!SCAN_ALL)
-+ break;
-+ }
-+ goto out_close;
-+ }
-+
-+ if (ctx->engine->maxscansize) {
-+ if (ctx->scansize >= ctx->engine->maxscansize) {
-+ ret = CL_CLEAN;
-+ break;
-+ }
-+ }
-+
-+ if (ctx->engine->maxscansize &&
-+ ctx->scansize + ctx->engine->maxfilesize >=
-+ ctx->engine->maxscansize)
-+ max_size = ctx->engine->maxscansize -
-+ ctx->scansize;
-+ else
-+ max_size = ctx->engine->maxfilesize ?
-+ ctx->engine->maxfilesize :
-+ 0xffffffff;
-+
-+ tmp_fname = cli_gentemp(ctx->engine->tmpdir);
-+ if (!tmp_fname) {
-+ ret = CL_EMEM;
-+ break;
-+ }
-+
-+ ops_ex.max_size = max_size;
-+ /* scan */
-+ ret = cab_d->extract(cab_d, cab_f, tmp_fname);
-+ if (ret) {
-+ /* Failed to extract */
-+ cli_dbgmsg("%s() failed to extract %d\n", __func__, ret);
-+ } else {
-+ ret = cli_scanfile(tmp_fname, ctx);
-+ if (ret == CL_VIRUS)
-+ virus_num++;
-+ }
-+ if (!ctx->engine->keeptmp) {
-+ if (!access(tmp_fname, R_OK) && cli_unlink(tmp_fname)) {
-+ free(tmp_fname);
-+ ret = CL_EUNLINK;
-+ break;
-+ }
-+ }
-+ free(tmp_fname);
-+ files++;
-+ if (ret == CL_VIRUS && SCAN_ALL)
-+ continue;
-+ if (ret)
-+ break;
-+ }
-+
-+out_close:
-+ cab_d->close(cab_d, cab_h);
-+out_dest:
-+ mspack_destroy_cab_decompressor(cab_d);
-+ if (virus_num)
-+ return CL_VIRUS;
-+ return ret;
-+}
-+
-+int cli_scanmschm(cli_ctx *ctx)
-+{
-+ struct mschm_decompressor *mschm_d;
-+ struct mschmd_header *mschm_h;
-+ struct mschmd_file *mschm_f;
-+ int ret;
-+ int files;
-+ int virus_num = 0;
-+ struct mspack_name mspack_fmap = {
-+ .fmap = *ctx->fmap,
-+ };
-+ struct mspack_system_ex ops_ex = {
-+ .ops = mspack_sys_fmap_ops,
-+ };
-+
-+ MSPACK_SYS_SELFTEST(ret);
-+ if (ret) {
-+ cli_dbgmsg("%s() failed at %d\n", __func__, __LINE__);
-+ return CL_EUNPACK;
-+ }
-+
-+ mschm_d = mspack_create_chm_decompressor(&ops_ex.ops);
-+ if (!mschm_d) {
-+ cli_dbgmsg("%s() failed at %d\n", __func__, __LINE__);
-+ return CL_EUNPACK;
-+ }
-+
-+ mschm_h = mschm_d->open(mschm_d, (char *)&mspack_fmap);
-+ if (!mschm_h) {
-+ ret = CL_EFORMAT;
-+ cli_dbgmsg("%s() failed at %d\n", __func__, __LINE__);
-+ goto out_dest;
-+ }
-+ files = 0;
-+ for (mschm_f = mschm_h->files; mschm_f; mschm_f = mschm_f->next) {
-+ off_t max_size;
-+ char *tmp_fname;
-+
-+ ret = cli_matchmeta(ctx, mschm_f->filename, 0, mschm_f->length,
-+ 0, files, 0, NULL);
-+ if (ret) {
-+ if (ret == CL_VIRUS) {
-+ virus_num++;
-+ if (!SCAN_ALL)
-+ break;
-+ }
-+ goto out_close;
-+ }
-+
-+ if (ctx->engine->maxscansize) {
-+ if (ctx->scansize >= ctx->engine->maxscansize) {
-+ ret = CL_CLEAN;
-+ break;
-+ }
-+ }
-+
-+ if (ctx->engine->maxscansize &&
-+ ctx->scansize + ctx->engine->maxfilesize >=
-+ ctx->engine->maxscansize)
-+ max_size = ctx->engine->maxscansize -
-+ ctx->scansize;
-+ else
-+ max_size = ctx->engine->maxfilesize ?
-+ ctx->engine->maxfilesize :
-+ 0xffffffff;
-+
-+ ops_ex.max_size = max_size;
-+
-+ tmp_fname = cli_gentemp(ctx->engine->tmpdir);
-+ if (!tmp_fname) {
-+ ret = CL_EMEM;
-+ break;
-+ }
-+
-+ /* scan */
-+ ret = mschm_d->extract(mschm_d, mschm_f, tmp_fname);
-+ if (ret) {
-+ /* Failed to extract */
-+ cli_dbgmsg("%s() failed to extract %d\n", __func__, ret);
-+ } else {
-+ ret = cli_scanfile(tmp_fname, ctx);
-+ if (ret == CL_VIRUS)
-+ virus_num++;
-+ }
-+ if (!ctx->engine->keeptmp) {
-+ if (!access(tmp_fname, R_OK) && cli_unlink(tmp_fname)) {
-+ free(tmp_fname);
-+ ret = CL_EUNLINK;
-+ break;
-+ }
-+ }
-+ free(tmp_fname);
-+ files++;
-+ if (ret == CL_VIRUS && SCAN_ALL)
-+ continue;
-+ if (ret)
-+ break;
-+ }
-+
-+out_close:
-+ mschm_d->close(mschm_d, mschm_h);
-+out_dest:
-+ mspack_destroy_chm_decompressor(mschm_d);
-+ if (virus_num)
-+ return CL_VIRUS;
-+ return ret;
-+
-+ return 0;
-+}
-diff --git a/libclamav/libmspack.h b/libclamav/libmspack.h
-new file mode 100644
-index 000000000000..07a9442bf253
---- /dev/null
-+++ b/libclamav/libmspack.h
-@@ -0,0 +1,7 @@
-+#ifndef __LIBMSPACK_H__
-+#define __LIBMSPACK_H__
-+
-+int cli_scanmscab(cli_ctx *ctx, off_t sfx_offset);
-+int cli_scanmschm(cli_ctx *ctx);
-+
-+#endif
-diff --git a/libclamav/mspack.c b/libclamav/mspack.c
-deleted file mode 100644
-index cc4c0a59fc9a..000000000000
---- a/libclamav/mspack.c
-+++ /dev/null
-@@ -1,2026 +0,0 @@
--/*
-- * This file includes code from libmspack adapted for libclamav by
-- * tkojm@clamav.net and draynor@sourcefire.com
-- *
-- * Copyright (C) 2003-2004 Stuart Caie
-- *
-- * This library is free software; you can redistribute it and/or
-- * modify it under the terms of the GNU Lesser General Public
-- * License version 2.1 as published by the Free Software Foundation.
-- *
-- * This library 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
-- * Lesser General Public License for more details.
-- *
-- * You should have received a copy of the GNU Lesser General Public
-- * License along with this library; if not, write to the Free Software
-- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
-- * USA
-- */
--
--#if HAVE_CONFIG_H
--#include "clamav-config.h"
--#endif
--
--#include <stdio.h>
--#include <string.h>
--
--#include "others.h"
--#include "clamav.h"
--#include "mspack.h"
--
--#if HAVE_LIMITS_H
--# include <limits.h>
--#endif
--#ifndef CHAR_BIT
--# define CHAR_BIT (8)
--#endif
--
--
--/***************************************************************************
-- * MS-ZIP decompression implementation
-- ***************************************************************************
-- * The LZX method was created by Jonathan Forbes and Tomi Poutanen, adapted
-- * by Microsoft Corporation.
-- *
-- * The deflate method was created by Phil Katz. MSZIP is equivalent to the
-- * deflate method.
-- *
-- */
--
--/* match lengths for literal codes 257.. 285 */
--static const unsigned short mszip_lit_lengths[29] = {
-- 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27,
-- 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258
--};
--
--/* match offsets for distance codes 0 .. 29 */
--static const unsigned short mszip_dist_offsets[30] = {
-- 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385,
-- 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577
--};
--
--/* extra bits required for literal codes 257.. 285 */
--static const unsigned char mszip_lit_extrabits[29] = {
-- 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2,
-- 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0
--};
--
--/* extra bits required for distance codes 0 .. 29 */
--static const unsigned char mszip_dist_extrabits[30] = {
-- 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6,
-- 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13
--};
--
--/* the order of the bit length Huffman code lengths */
--static const unsigned char mszip_bitlen_order[19] = {
-- 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15
--};
--
--/* ANDing with mszip_bit_mask[n] masks the lower n bits */
--static const unsigned short mszip_bit_mask_tab[17] = {
-- 0x0000, 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
-- 0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
--};
--
--#define MSZIP_STORE_BITS do { \
-- zip->i_ptr = i_ptr; \
-- zip->i_end = i_end; \
-- zip->bit_buffer = bit_buffer; \
-- zip->bits_left = bits_left; \
--} while (0)
--
--#define MSZIP_RESTORE_BITS do { \
-- i_ptr = zip->i_ptr; \
-- i_end = zip->i_end; \
-- bit_buffer = zip->bit_buffer; \
-- bits_left = zip->bits_left; \
--} while (0)
--
--#define MSZIP_ENSURE_BITS(nbits) do { \
-- while (bits_left < (nbits)) { \
-- if (i_ptr >= i_end) { \
-- if (mszip_read_input(zip)) return zip->error; \
-- i_ptr = zip->i_ptr; \
-- i_end = zip->i_end; \
-- if(i_ptr == i_end) break; \
-- } \
-- bit_buffer |= *i_ptr++ << bits_left; bits_left += 8; \
-- } \
--} while (0)
--
--#define MSZIP_PEEK_BITS(nbits) (bit_buffer & ((1<<(nbits))-1))
--#define MSZIP_PEEK_BITS_T(nbits) (bit_buffer & mszip_bit_mask_tab[(nbits)])
--
--#define MSZIP_REMOVE_BITS(nbits) ((bit_buffer >>= (nbits)), (bits_left -= (nbits)))
--
--#define MSZIP_READ_BITS(val, nbits) do { \
-- MSZIP_ENSURE_BITS(nbits); (val) = MSZIP_PEEK_BITS(nbits); MSZIP_REMOVE_BITS(nbits); \
--} while (0)
--
--#define MSZIP_READ_BITS_T(val, nbits) do { \
-- MSZIP_ENSURE_BITS(nbits); (val) = MSZIP_PEEK_BITS_T(nbits); MSZIP_REMOVE_BITS(nbits); \
--} while (0)
--
--static int mszip_read_input(struct mszip_stream *zip) {
-- int nread = zip->read_cb(zip->file, zip->inbuf, (int)zip->inbuf_size);
-- if (nread < 0) {
-- if (zip->file->error == CL_BREAK) {
-- if ((unsigned int)nread == zip->last) {
-- cli_dbgmsg("mszip_read_input: Two consecutive CL_BREAKs reached.\n");
-- return CL_BREAK;
-- }
-- // Need short circuit to ensure scanning small files
-- cli_dbgmsg("mszip_read_input: First CL_BREAK reached.\n");
-- zip->i_ptr = zip->i_end;
-- zip->last = nread;
-- return CL_SUCCESS;
-- }
-- else
-- return zip->error = CL_EFORMAT;
-- }
--
-- zip->last = nread;
-- zip->i_ptr = &zip->inbuf[0];
-- zip->i_end = &zip->inbuf[nread];
--
-- return CL_SUCCESS;
--}
--
--/* inflate() error codes */
--#define INF_ERR_BLOCKTYPE (-1) /* unknown block type */
--#define INF_ERR_COMPLEMENT (-2) /* block size complement mismatch */
--#define INF_ERR_FLUSH (-3) /* error from flush_window() callback */
--#define INF_ERR_BITBUF (-4) /* too many bits in bit buffer */
--#define INF_ERR_SYMLENS (-5) /* too many symbols in blocktype 2 header */
--#define INF_ERR_BITLENTBL (-6) /* failed to build bitlens huffman table */
--#define INF_ERR_LITERALTBL (-7) /* failed to build literals huffman table */
--#define INF_ERR_DISTANCETBL (-8) /* failed to build distance huffman table */
--#define INF_ERR_BITOVERRUN (-9) /* bitlen RLE code goes over table size */
--#define INF_ERR_BADBITLEN (-10) /* invalid bit-length code */
--#define INF_ERR_LITCODE (-11) /* out-of-range literal code */
--#define INF_ERR_DISTCODE (-12) /* out-of-range distance code */
--#define INF_ERR_DISTANCE (-13) /* somehow, distance is beyond 32k */
--#define INF_ERR_HUFFSYM (-14) /* out of bits decoding huffman symbol */
--
--/* mszip_make_decode_table(nsyms, nbits, length[], table[])
-- *
-- * This function was coded by David Tritscher. It builds a fast huffman
-- * decoding table out of just a canonical huffman code lengths table.
-- *
-- * NOTE: this is NOT identical to the mszip_make_decode_table() in lzxd.c. This
-- * one reverses the quick-lookup bit pattern. Bits are read MSB to LSB in LZX,
-- * but LSB to MSB in MSZIP.
-- *
-- * nsyms = total number of symbols in this huffman tree.
-- * nbits = any symbols with a code length of nbits or less can be decoded
-- * in one lookup of the table.
-- * length = A table to get code lengths from [0 to nsyms-1]
-- * table = The table to fill up with decoded symbols and pointers.
-- *
-- * Returns 0 for OK or 1 for error
-- */
--static int mszip_make_decode_table(unsigned int nsyms, unsigned int nbits,
-- unsigned char *length, unsigned short *table)
--{
-- register unsigned int leaf, reverse, fill;
-- register unsigned short sym, next_sym;
-- register unsigned char bit_num;
-- unsigned int pos = 0; /* the current position in the decode table */
-- unsigned int table_mask = 1 << nbits;
-- unsigned int mszip_bit_mask = table_mask >> 1; /* don't do 0 length codes */
--
-- /* fill entries for codes short enough for a direct mapping */
-- for (bit_num = 1; bit_num <= nbits; bit_num++) {
-- for (sym = 0; sym < nsyms; sym++) {
-- if (length[sym] != bit_num) continue;
--
-- /* reverse the significant bits */
-- fill = length[sym]; reverse = pos >> (nbits - fill); leaf = 0;
-- do {leaf <<= 1; leaf |= reverse & 1; reverse >>= 1;} while (--fill);
--
-- if((pos += mszip_bit_mask) > table_mask) return 1; /* table overrun */
--
-- /* fill all possible lookups of this symbol with the symbol itself */
-- fill = mszip_bit_mask; next_sym = 1 << bit_num;
-- do { table[leaf] = sym; leaf += next_sym; } while (--fill);
-- }
-- mszip_bit_mask >>= 1;
-- }
--
-- /* exit with success if table is now complete */
-- if (pos == table_mask) return 0;
--
-- /* mark all remaining table entries as unused */
-- for (sym = pos; sym < table_mask; sym++) {
-- reverse = sym; leaf = 0; fill = nbits;
-- do { leaf <<= 1; leaf |= reverse & 1; reverse >>= 1; } while (--fill);
-- table[leaf] = 0xFFFF;
-- }
--
-- /* where should the longer codes be allocated from? */
-- next_sym = ((table_mask >> 1) < nsyms) ? nsyms : (table_mask >> 1);
--
-- /* give ourselves room for codes to grow by up to 16 more bits.
-- * codes now start at bit nbits+16 and end at (nbits+16-codelength) */
-- pos <<= 16;
-- table_mask <<= 16;
-- mszip_bit_mask = 1 << 15;
--
-- for (bit_num = nbits+1; bit_num <= MSZIP_MAX_HUFFBITS; bit_num++) {
-- for (sym = 0; sym < nsyms; sym++) {
-- if (length[sym] != bit_num) continue;
--
-- /* leaf = the first nbits of the code, reversed */
-- reverse = pos >> 16; leaf = 0; fill = nbits;
-- do {leaf <<= 1; leaf |= reverse & 1; reverse >>= 1;} while (--fill);
--
-- for (fill = 0; fill < (bit_num - nbits); fill++) {
-- /* if this path hasn't been taken yet, 'allocate' two entries */
-- if (table[leaf] == 0xFFFF) {
-- table[(next_sym << 1) ] = 0xFFFF;
-- table[(next_sym << 1) + 1 ] = 0xFFFF;
-- table[leaf] = next_sym++;
-- }
-- /* follow the path and select either left or right for next bit */
-- leaf = (table[leaf] << 1) | ((pos >> (15 - fill)) & 1);
-- }
-- table[leaf] = sym;
--
-- if ((pos += mszip_bit_mask) > table_mask) return 1; /* table overflow */
-- }
-- mszip_bit_mask >>= 1;
-- }
--
-- /* full table? */
-- return (pos != table_mask) ? 1 : 0;
--}
--
--/* MSZIP_READ_HUFFSYM(tablename, var) decodes one huffman symbol from the
-- * bitstream using the stated table and puts it in var.
-- */
--#define MSZIP_READ_HUFFSYM(tbl, var) do { \
-- /* huffman symbols can be up to 16 bits long */ \
-- MSZIP_ENSURE_BITS(MSZIP_MAX_HUFFBITS); \
-- /* immediate table lookup of [tablebits] bits of the code */ \
-- sym = zip->tbl##_table[MSZIP_PEEK_BITS(MSZIP_##tbl##_TABLEBITS)]; \
-- /* is the symbol is longer than [tablebits] bits? (i=node index) */ \
-- if (sym >= MSZIP_##tbl##_MAXSYMBOLS) { \
-- /* decode remaining bits by tree traversal */ \
-- i = MSZIP_##tbl##_TABLEBITS - 1; \
-- do { \
-- /* check next bit. error if we run out of bits before decode */ \
-- if (i++ > MSZIP_MAX_HUFFBITS) { \
-- cli_dbgmsg("zip_inflate: out of bits in huffman decode\n"); \
-- return INF_ERR_HUFFSYM; \
-- } \
-- sym = (sym << 1) | ((bit_buffer >> i) & 1); \
-- if(sym >= MSZIP_##tbl##_TABLESIZE) { \
-- cli_dbgmsg("zip_inflate: index out of table\n"); \
-- return INF_ERR_HUFFSYM; \
-- } \
-- /* double node index and add 0 (left branch) or 1 (right) */ \
-- sym = zip->tbl##_table[sym]; \
-- /* while we are still in node indicies, not decoded symbols */ \
-- } while (sym >= MSZIP_##tbl##_MAXSYMBOLS); \
-- } \
-- /* result */ \
-- (var) = sym; \
-- /* look up the code length of that symbol and discard those bits */ \
-- i = zip->tbl##_len[sym]; \
-- MSZIP_REMOVE_BITS(i); \
--} while (0)
--
--static int mszip_read_lens(struct mszip_stream *zip) {
-- /* for the bit buffer and huffman decoding */
-- register unsigned int bit_buffer;
-- register int bits_left;
-- unsigned char *i_ptr, *i_end;
--
-- /* bitlen Huffman codes -- immediate lookup, 7 bit max code length */
-- unsigned short bl_table[(1 << 7)];
-- unsigned char bl_len[19];
--
-- unsigned char lens[MSZIP_LITERAL_MAXSYMBOLS + MSZIP_DISTANCE_MAXSYMBOLS];
-- unsigned int lit_codes, dist_codes, code, last_code=0, bitlen_codes, i, run;
--
-- MSZIP_RESTORE_BITS;
--
-- /* read the number of codes */
-- MSZIP_READ_BITS(lit_codes, 5); lit_codes += 257;
-- MSZIP_READ_BITS(dist_codes, 5); dist_codes += 1;
-- MSZIP_READ_BITS(bitlen_codes, 4); bitlen_codes += 4;
-- if (lit_codes > MSZIP_LITERAL_MAXSYMBOLS) return INF_ERR_SYMLENS;
-- if (dist_codes > MSZIP_DISTANCE_MAXSYMBOLS) return INF_ERR_SYMLENS;
--
-- /* read in the bit lengths in their unusual order */
-- for (i = 0; i < bitlen_codes; i++) MSZIP_READ_BITS(bl_len[mszip_bitlen_order[i]], 3);
-- while (i < 19) bl_len[mszip_bitlen_order[i++]] = 0;
--
-- /* create decoding table with an immediate lookup */
-- if (mszip_make_decode_table(19, 7, &bl_len[0], &bl_table[0])) {
-- return INF_ERR_BITLENTBL;
-- }
--
-- /* read literal / distance code lengths */
-- for (i = 0; i < (lit_codes + dist_codes); i++) {
-- /* single-level huffman lookup */
-- MSZIP_ENSURE_BITS(7);
-- code = bl_table[MSZIP_PEEK_BITS(7)];
-- MSZIP_REMOVE_BITS(bl_len[code]);
--
-- if (code < 16) lens[i] = last_code = code;
-- else {
-- switch (code) {
-- case 16: MSZIP_READ_BITS(run, 2); run += 3; code = last_code; break;
-- case 17: MSZIP_READ_BITS(run, 3); run += 3; code = 0; break;
-- case 18: MSZIP_READ_BITS(run, 7); run += 11; code = 0; break;
-- default: cli_dbgmsg("zip_read_lens: bad code!: %u\n", code); return INF_ERR_BADBITLEN;
-- }
-- if ((i + run) > (lit_codes + dist_codes)) return INF_ERR_BITOVERRUN;
-- while (run--) lens[i++] = code;
-- i--;
-- }
-- }
--
-- /* copy LITERAL code lengths and clear any remaining */
-- i = lit_codes;
-- memcpy(&zip->LITERAL_len[0], &lens[0], i);
-- while (i < MSZIP_LITERAL_MAXSYMBOLS) zip->LITERAL_len[i++] = 0;
--
-- i = dist_codes;
-- memcpy(&zip->DISTANCE_len[0], &lens[lit_codes], i);
-- while (i < MSZIP_DISTANCE_MAXSYMBOLS) zip->DISTANCE_len[i++] = 0;
--
-- MSZIP_STORE_BITS;
-- return 0;
--}
--
--static int mspack_write(int fd, const void *buff, unsigned int count, struct cab_file *file)
--{
-- int ret;
--
-- if(file->max_size) {
-- if(file->written_size >= file->max_size)
-- return CL_BREAK;
--
-- if(file->written_size + count > file->max_size)
-- count = file->max_size - file->written_size;
-- }
-- if((ret = cli_writen(fd, buff, count)) > 0)
-- file->written_size += ret;
--
-- return (ret == -1) ? CL_EWRITE : CL_SUCCESS;
--}
--
--/* a clean implementation of RFC 1951 / inflate */
--static int mszip_inflate(struct mszip_stream *zip) {
-- unsigned int last_block, block_type, distance, length, this_run, i;
--
-- /* for the bit buffer and huffman decoding */
-- register unsigned int bit_buffer;
-- register int bits_left;
-- register unsigned short sym;
-- unsigned char *i_ptr, *i_end;
--
-- MSZIP_RESTORE_BITS;
--
-- do {
-- /* read in last block bit */
-- MSZIP_READ_BITS(last_block, 1);
--
-- /* read in block type */
-- MSZIP_READ_BITS(block_type, 2);
--
-- if (block_type == 0) {
-- /* uncompressed block */
-- unsigned char lens_buf[4];
--
-- /* go to byte boundary */
-- i = bits_left & 7; MSZIP_REMOVE_BITS(i);
--
-- /* read 4 bytes of data, emptying the bit-buffer if necessary */
-- for (i = 0; (bits_left >= 8); i++) {
-- if (i == 4) return INF_ERR_BITBUF;
-- lens_buf[i] = MSZIP_PEEK_BITS(8);
-- MSZIP_REMOVE_BITS(8);
-- }
-- if (bits_left != 0) return INF_ERR_BITBUF;
-- while (i < 4) {
-- if (i_ptr >= i_end) {
-- if (mszip_read_input(zip)) return zip->error;
-- i_ptr = zip->i_ptr;
-- i_end = zip->i_end;
-- if(i_ptr == i_end) break;
-- }
-- lens_buf[i++] = *i_ptr++;
-- }
-- if (i < 4) return INF_ERR_BITBUF;
--
-- /* get the length and its complement */
-- length = lens_buf[0] | (lens_buf[1] << 8);
-- i = lens_buf[2] | (lens_buf[3] << 8);
-- if (length != (~i & 0xFFFF)) return INF_ERR_COMPLEMENT;
--
-- /* read and copy the uncompressed data into the window */
-- while (length > 0) {
-- if (i_ptr >= i_end) {
-- if (mszip_read_input(zip)) return zip->error;
-- i_ptr = zip->i_ptr;
-- i_end = zip->i_end;
-- if(i_ptr == i_end) break;
-- }
--
-- this_run = length;
-- if (this_run > (unsigned int)(i_end - i_ptr)) this_run = i_end - i_ptr;
-- if (this_run > (MSZIP_FRAME_SIZE - zip->window_posn))
-- this_run = MSZIP_FRAME_SIZE - zip->window_posn;
--
-- memcpy(&zip->window[zip->window_posn], i_ptr, this_run);
-- zip->window_posn += this_run;
-- i_ptr += this_run;
-- length -= this_run;
--
-- if (zip->window_posn == MSZIP_FRAME_SIZE) {
-- if (zip->flush_window(zip, MSZIP_FRAME_SIZE)) return INF_ERR_FLUSH;
-- zip->window_posn = 0;
-- }
-- }
-- }
-- else if ((block_type == 1) || (block_type == 2)) {
-- /* Huffman-compressed LZ77 block */
-- unsigned int window_posn, match_posn, code;
--
-- if (block_type == 1) {
-- /* block with fixed Huffman codes */
-- i = 0;
-- while (i < 144) zip->LITERAL_len[i++] = 8;
-- while (i < 256) zip->LITERAL_len[i++] = 9;
-- while (i < 280) zip->LITERAL_len[i++] = 7;
-- while (i < 288) zip->LITERAL_len[i++] = 8;
-- for (i = 0; i < 32; i++) zip->DISTANCE_len[i] = 5;
-- }
-- else {
-- /* block with dynamic Huffman codes */
-- MSZIP_STORE_BITS;
-- if ((i = mszip_read_lens(zip))) return i;
-- MSZIP_RESTORE_BITS;
-- }
--
-- /* now huffman lengths are read for either kind of block,
-- * create huffman decoding tables */
-- if (mszip_make_decode_table(MSZIP_LITERAL_MAXSYMBOLS, MSZIP_LITERAL_TABLEBITS,
-- &zip->LITERAL_len[0], &zip->LITERAL_table[0]))
-- {
-- return INF_ERR_LITERALTBL;
-- }
--
-- if (mszip_make_decode_table(MSZIP_DISTANCE_MAXSYMBOLS,MSZIP_DISTANCE_TABLEBITS,
-- &zip->DISTANCE_len[0], &zip->DISTANCE_table[0]))
-- {
-- return INF_ERR_DISTANCETBL;
-- }
--
-- /* decode forever until end of block code */
-- window_posn = zip->window_posn;
-- while (1) {
-- MSZIP_READ_HUFFSYM(LITERAL, code);
-- if (code < 256) {
-- zip->window[window_posn++] = (unsigned char) code;
-- if (window_posn == MSZIP_FRAME_SIZE) {
-- if (zip->flush_window(zip, MSZIP_FRAME_SIZE)) return INF_ERR_FLUSH;
-- window_posn = 0;
-- }
-- }
-- else if (code == 256) {
-- /* END OF BLOCK CODE: loop break point */
-- break;
-- }
-- else {
-- code -= 257;
-- if (code >= 29) return INF_ERR_LITCODE;
-- MSZIP_READ_BITS_T(length, mszip_lit_extrabits[code]);
-- length += mszip_lit_lengths[code];
--
-- MSZIP_READ_HUFFSYM(DISTANCE, code);
-- if (code >= 30) return INF_ERR_DISTCODE;
-- MSZIP_READ_BITS_T(distance, mszip_dist_extrabits[code]);
-- distance += mszip_dist_offsets[code];
--
-- /* match position is window position minus distance. If distance
-- * is more than window position numerically, it must 'wrap
-- * around' the frame size. */
-- match_posn = ((distance > window_posn) ? MSZIP_FRAME_SIZE : 0)
-- + window_posn - distance;
--
-- /* copy match */
-- if (length < 12) {
-- /* short match, use slower loop but no loop setup code */
-- while (length--) {
-- zip->window[window_posn++] = zip->window[match_posn++];
-- match_posn &= MSZIP_FRAME_SIZE - 1;
--
-- if (window_posn == MSZIP_FRAME_SIZE) {
-- if (zip->flush_window(zip, MSZIP_FRAME_SIZE))
-- return INF_ERR_FLUSH;
-- window_posn = 0;
-- }
-- }
-- }
-- else {
-- /* longer match, use faster loop but with setup expense */
-- unsigned char *runsrc, *rundest;
-- do {
-- this_run = length;
-- if ((match_posn + this_run) > MSZIP_FRAME_SIZE)
-- this_run = MSZIP_FRAME_SIZE - match_posn;
-- if ((window_posn + this_run) > MSZIP_FRAME_SIZE)
-- this_run = MSZIP_FRAME_SIZE - window_posn;
--
-- rundest = &zip->window[window_posn]; window_posn += this_run;
-- runsrc = &zip->window[match_posn]; match_posn += this_run;
-- length -= this_run;
-- while (this_run--) *rundest++ = *runsrc++;
--
-- /* flush if necessary */
-- if (window_posn == MSZIP_FRAME_SIZE) {
-- if (zip->flush_window(zip, MSZIP_FRAME_SIZE))
-- return INF_ERR_FLUSH;
-- window_posn = 0;
-- }
-- if (match_posn == MSZIP_FRAME_SIZE) match_posn = 0;
-- } while (length > 0);
-- }
--
-- } /* else (code >= 257) */
--
-- } /* while (forever) -- break point at 'code == 256' */
-- zip->window_posn = window_posn;
-- }
-- else {
-- /* block_type == 3 -- bad block type */
-- return INF_ERR_BLOCKTYPE;
-- }
-- } while (!last_block);
--
-- /* flush the remaining data */
-- if (zip->window_posn) {
-- if (zip->flush_window(zip, zip->window_posn)) return INF_ERR_FLUSH;
-- }
-- MSZIP_STORE_BITS;
--
-- /* return success */
-- return 0;
--}
--
--/* inflate() calls this whenever the window should be flushed. As
-- * MSZIP only expands to the size of the window, the implementation used
-- * simply keeps track of the amount of data flushed, and if more than 32k
-- * is flushed, an error is raised.
-- */
--static int mszip_flush_window(struct mszip_stream *zip,
-- unsigned int data_flushed)
--{
-- zip->bytes_output += data_flushed;
-- if (zip->bytes_output > MSZIP_FRAME_SIZE) {
-- cli_dbgmsg("mszip_flush_window: overflow: %u bytes flushed, total is now %u\n", data_flushed, zip->bytes_output);
-- return 1;
-- }
-- return 0;
--}
--
--struct mszip_stream *mszip_init(int ofd,
-- int input_buffer_size,
-- int repair_mode,
-- struct cab_file *file,
-- int (*read_cb)(struct cab_file *, unsigned char *, int))
--{
-- struct mszip_stream *zip;
--
-- input_buffer_size = (input_buffer_size + 1) & -2;
-- if (!input_buffer_size) return NULL;
--
-- /* allocate decompression state */
-- if (!(zip = cli_calloc(1, sizeof(struct mszip_stream)))) {
-- cli_errmsg("mszip_stream: Unable to allocate zip buffer\n");
-- return NULL;
-- }
--
-- /* allocate input buffer */
-- zip->inbuf = cli_malloc((size_t) input_buffer_size);
-- if (!zip->inbuf) {
-- cli_errmsg("mszip_stream: Unable to allocate input buffer\n");
-- free(zip);
-- return NULL;
-- }
--
-- /* initialise decompression state */
-- zip->ofd = ofd;
-- zip->wflag = 1;
-- zip->inbuf_size = input_buffer_size;
-- zip->error = CL_SUCCESS;
-- zip->repair_mode = repair_mode;
-- zip->flush_window = &mszip_flush_window;
-- zip->input_end = 0;
--
-- zip->i_ptr = zip->i_end = &zip->inbuf[0];
-- zip->o_ptr = zip->o_end = NULL;
-- zip->bit_buffer = 0; zip->bits_left = 0;
--
-- zip->file = file;
-- zip->read_cb = read_cb;
--
-- return zip;
--}
--
--int mszip_decompress(struct mszip_stream *zip, uint32_t out_bytes) {
-- /* for the bit buffer */
-- register unsigned int bit_buffer;
-- register int bits_left;
-- unsigned char *i_ptr, *i_end;
--
-- int i, ret, state, error;
--
-- /* easy answers */
-- if (!zip) return CL_ENULLARG;
-- if (zip->error) return zip->error;
--
-- /* flush out any stored-up bytes before we begin */
-- i = zip->o_end - zip->o_ptr;
-- if (((off_t) i > out_bytes) && ((int) out_bytes >= 0)) i = (int) out_bytes;
-- if (i) {
-- if (zip->wflag && (ret = mspack_write(zip->ofd, zip->o_ptr, i, zip->file)) != CL_SUCCESS) {
-- return zip->error = ret;
-- }
-- zip->o_ptr += i;
-- out_bytes -= i;
-- }
-- if (out_bytes == 0) return CL_SUCCESS;
--
-- while (out_bytes > 0) {
-- /* unpack another block */
-- MSZIP_RESTORE_BITS;
--
-- /* skip to next read 'CK' header */
-- i = bits_left & 7; MSZIP_REMOVE_BITS(i); /* align to bytestream */
-- state = 0;
-- do {
-- MSZIP_READ_BITS(i, 8);
-- if (i == 'C') state = 1;
-- else if ((state == 1) && (i == 'K')) state = 2;
-- else state = 0;
-- } while (state != 2);
--
-- /* inflate a block, repair and realign if necessary */
-- zip->window_posn = 0;
-- zip->bytes_output = 0;
-- MSZIP_STORE_BITS;
-- if ((error = mszip_inflate(zip))) {
-- cli_dbgmsg("mszip_decompress: inflate error %d\n", error);
-- if (zip->repair_mode) {
-- cli_dbgmsg("mszip_decompress: MSZIP error, %u bytes of data lost\n",
-- MSZIP_FRAME_SIZE - zip->bytes_output);
-- for (i = zip->bytes_output; i < MSZIP_FRAME_SIZE; i++) {
-- zip->window[i] = '\0';
-- }
-- zip->bytes_output = MSZIP_FRAME_SIZE;
-- }
-- else {
-- return zip->error = (error > 0) ? error : CL_EFORMAT;
-- }
-- }
-- zip->o_ptr = &zip->window[0];
-- zip->o_end = &zip->o_ptr[zip->bytes_output];
--
-- /* write a frame */
-- i = (out_bytes < (off_t)zip->bytes_output) ?
-- (int)out_bytes : zip->bytes_output;
-- if (zip->wflag && (ret = mspack_write(zip->ofd, zip->o_ptr, i, zip->file)) != CL_SUCCESS) {
-- return zip->error = ret;
-- }
--
-- /* mspack errors (i.e. read errors) are fatal and can't be recovered */
-- if ((error > 0) && zip->repair_mode) return error;
--
-- zip->o_ptr += i;
-- out_bytes -= i;
-- }
--
-- if (out_bytes)
-- cli_dbgmsg("mszip_decompress: bytes left to output\n");
--
-- return CL_SUCCESS;
--}
--
--void mszip_free(struct mszip_stream *zip) {
-- if (zip) {
-- free(zip->inbuf);
-- free(zip);
-- }
--}
--
--/***************************************************************************
-- * LZX decompression implementation
-- ***************************************************************************
-- * The LZX method was created by Jonathan Forbes and Tomi Poutanen, adapted
-- * by Microsoft Corporation.
-- *
-- */
--
--/* LZX decompressor input macros
-- *
-- * LZX_STORE_BITS stores bitstream state in lzx_stream structure
-- * LZX_RESTORE_BITS restores bitstream state from lzx_stream structure
-- * LZX_READ_BITS(var,n) takes N bits from the buffer and puts them in var
-- * LZX_ENSURE_BITS(n) ensures there are at least N bits in the bit buffer.
-- * LZX_PEEK_BITS(n) extracts without removing N bits from the bit buffer
-- * LZX_REMOVE_BITS(n) removes N bits from the bit buffer
-- *
-- */
--
--#define LZX_BITBUF_WIDTH (sizeof(bit_buffer) * CHAR_BIT)
--
--#define LZX_STORE_BITS do { \
-- lzx->i_ptr = i_ptr; \
-- lzx->i_end = i_end; \
-- lzx->bit_buffer = bit_buffer; \
-- lzx->bits_left = bits_left; \
--} while (0)
--
--#define LZX_RESTORE_BITS do { \
-- i_ptr = lzx->i_ptr; \
-- i_end = lzx->i_end; \
-- bit_buffer = lzx->bit_buffer; \
-- bits_left = lzx->bits_left; \
--} while (0)
--
--#define LZX_ENSURE_BITS(nbits) \
-- while (bits_left < (nbits)) { \
-- if (i_ptr + 1 >= i_end) { \
-- if (lzx_read_input(lzx)) return lzx->error; \
-- i_ptr = lzx->i_ptr; \
-- i_end = lzx->i_end; \
-- } \
-- bit_buffer |= ((i_ptr[1] << 8) | i_ptr[0]) \
-- << (LZX_BITBUF_WIDTH - 16 - bits_left); \
-- bits_left += 16; \
-- i_ptr += 2; \
-- }
--
--#define LZX_PEEK_BITS(nbits) (bit_buffer >> (LZX_BITBUF_WIDTH - (nbits)))
--
--#define LZX_REMOVE_BITS(nbits) ((bit_buffer <<= (nbits)), (bits_left -= (nbits)))
--
--#define LZX_READ_BITS(val, nbits) do { \
-- LZX_ENSURE_BITS(nbits); \
-- (val) = LZX_PEEK_BITS(nbits); \
-- LZX_REMOVE_BITS(nbits); \
--} while (0)
--
--static int lzx_read_input(struct lzx_stream *lzx) {
-- int bread = lzx->read_cb(lzx->file, &lzx->inbuf[0], (int)lzx->inbuf_size);
-- if (bread < 0) {
-- if (lzx->file->error == CL_BREAK)
-- return lzx->error = CL_BREAK;
-- else
-- return lzx->error = CL_EFORMAT;
-- }
--
-- /* huff decode's ENSURE_BYTES(16) might overrun the input stream, even
-- * if those bits aren't used, so fake 2 more bytes */
-- if (bread == 0) {
-- if (lzx->input_end) {
-- cli_dbgmsg("lzx_read_input: out of input bytes\n");
-- return lzx->error = CL_EREAD;
-- }
-- else {
-- bread = 2;
-- lzx->inbuf[0] = lzx->inbuf[1] = 0;
-- lzx->input_end = 1;
-- }
-- }
--
-- lzx->i_ptr = &lzx->inbuf[0];
-- lzx->i_end = &lzx->inbuf[bread];
--
-- return CL_SUCCESS;
--}
--
--/* Huffman decoding macros */
--
--/* LZX_READ_HUFFSYM(tablename, var) decodes one huffman symbol from the
-- * bitstream using the stated table and puts it in var.
-- */
--#define LZX_READ_HUFFSYM(tbl, var) do { \
-- /* huffman symbols can be up to 16 bits long */ \
-- LZX_ENSURE_BITS(16); \
-- /* immediate table lookup of [tablebits] bits of the code */ \
-- sym = lzx->tbl##_table[LZX_PEEK_BITS(LZX_##tbl##_TABLEBITS)]; \
-- /* is the symbol is longer than [tablebits] bits? (i=node index) */ \
-- if (sym >= LZX_##tbl##_MAXSYMBOLS) { \
-- /* decode remaining bits by tree traversal */ \
-- i = 1 << (LZX_BITBUF_WIDTH - LZX_##tbl##_TABLEBITS); \
-- do { \
-- /* one less bit. error if we run out of bits before decode */ \
-- i >>= 1; \
-- if (i == 0) { \
-- cli_dbgmsg("lzx: out of bits in huffman decode\n"); \
-- return lzx->error = CL_EFORMAT; \
-- } \
-- /* double node index and add 0 (left branch) or 1 (right) */ \
-- sym <<= 1; sym |= (bit_buffer & i) ? 1 : 0; \
-- /* hop to next node index / decoded symbol */ \
-- if(sym >= (1 << LZX_##tbl##_TABLEBITS) + (LZX_##tbl##_MAXSYMBOLS * 2)) { \
-- cli_dbgmsg("lzx: index out of table\n"); \
-- return lzx->error = CL_EFORMAT; \
-- } \
-- sym = lzx->tbl##_table[sym]; \
-- /* while we are still in node indicies, not decoded symbols */ \
-- } while (sym >= LZX_##tbl##_MAXSYMBOLS); \
-- } \
-- /* result */ \
-- (var) = sym; \
-- /* look up the code length of that symbol and discard those bits */ \
-- i = lzx->tbl##_len[sym]; \
-- LZX_REMOVE_BITS(i); \
--} while (0)
--
--/* LZX_BUILD_TABLE(tbl) builds a huffman lookup table from code lengths */
--#define LZX_BUILD_TABLE(tbl) \
-- if (lzx_make_decode_table(LZX_##tbl##_MAXSYMBOLS, LZX_##tbl##_TABLEBITS, \
-- &lzx->tbl##_len[0], &lzx->tbl##_table[0])) \
-- { \
-- cli_dbgmsg("lzx: failed to build %s table\n", #tbl); \
-- return lzx->error = CL_EFORMAT; \
-- }
--
--/* lzx_make_decode_table(nsyms, nbits, length[], table[])
-- *
-- * This function was coded by David Tritscher. It builds a fast huffman
-- * decoding table from a canonical huffman code lengths table.
-- *
-- * nsyms = total number of symbols in this huffman tree.
-- * nbits = any symbols with a code length of nbits or less can be decoded
-- * in one lookup of the table.
-- * length = A table to get code lengths from [0 to syms-1]
-- * table = The table to fill up with decoded symbols and pointers.
-- *
-- * Returns 0 for OK or 1 for error
-- */
--
--static int lzx_make_decode_table(unsigned int nsyms, unsigned int nbits,
-- unsigned char *length, unsigned short *table)
--{
-- register unsigned short sym;
-- register unsigned int leaf, fill;
-- register unsigned char bit_num;
-- unsigned int pos = 0; /* the current position in the decode table */
-- unsigned int table_mask = 1 << nbits;
-- unsigned int bit_mask = table_mask >> 1; /* don't do 0 length codes */
-- unsigned int next_symbol = bit_mask; /* base of allocation for long codes */
--
-- /* fill entries for codes short enough for a direct mapping */
-- for (bit_num = 1; bit_num <= nbits; bit_num++) {
-- for (sym = 0; sym < nsyms; sym++) {
-- if (length[sym] != bit_num) continue;
-- leaf = pos;
-- if((pos += bit_mask) > table_mask) return 1; /* table overrun */
-- /* fill all possible lookups of this symbol with the symbol itself */
-- for (fill = bit_mask; fill-- > 0;) table[leaf++] = sym;
-- }
-- bit_mask >>= 1;
-- }
--
-- /* full table already? */
-- if (pos == table_mask) return 0;
--
-- /* clear the remainder of the table */
-- for (sym = pos; sym < table_mask; sym++) table[sym] = 0xFFFF;
--
-- /* allow codes to be up to nbits+16 long, instead of nbits */
-- pos <<= 16;
-- table_mask <<= 16;
-- bit_mask = 1 << 15;
--
-- for (bit_num = nbits+1; bit_num <= 16; bit_num++) {
-- for (sym = 0; sym < nsyms; sym++) {
-- if (length[sym] != bit_num) continue;
--
-- leaf = pos >> 16;
-- for (fill = 0; fill < bit_num - nbits; fill++) {
-- /* if this path hasn't been taken yet, 'allocate' two entries */
-- if (table[leaf] == 0xFFFF) {
-- table[(next_symbol << 1)] = 0xFFFF;
-- table[(next_symbol << 1) + 1] = 0xFFFF;
-- table[leaf] = next_symbol++;
-- }
-- /* follow the path and select either left or right for next bit */
-- leaf = table[leaf] << 1;
-- if ((pos >> (15-fill)) & 1) leaf++;
-- }
-- table[leaf] = sym;
--
-- if ((pos += bit_mask) > table_mask) return 1; /* table overflow */
-- }
-- bit_mask >>= 1;
-- }
--
-- /* full table? */
-- if (pos == table_mask) return 0;
--
-- /* either erroneous table, or all elements are 0 - let's find out. */
-- for (sym = 0; sym < nsyms; sym++) if (length[sym]) return 1;
-- return 0;
--}
--
--/* LZX_READ_LENGTHS(tablename, first, last) reads in code lengths for symbols
-- * first to last in the given table. The code lengths are stored in their
-- * own special LZX way.
-- */
--#define LZX_READ_LENGTHS(tbl, first, last) do { \
-- LZX_STORE_BITS; \
-- if (lzx_read_lens(lzx, &lzx->tbl##_len[0], (first), \
-- (unsigned int)(last))) return lzx->error; \
-- LZX_RESTORE_BITS; \
--} while (0)
--
--static int lzx_read_lens(struct lzx_stream *lzx, unsigned char *lens,
-- unsigned int first, unsigned int last)
--{
-- /* bit buffer and huffman symbol decode variables */
-- register unsigned int bit_buffer;
-- register int bits_left, i;
-- register unsigned short sym;
-- unsigned char *i_ptr, *i_end;
--
-- unsigned int x, y;
-- int z;
--
-- LZX_RESTORE_BITS;
--
-- /* read lengths for pretree (20 symbols, lengths stored in fixed 4 bits) */
-- for (x = 0; x < 20; x++) {
-- LZX_READ_BITS(y, 4);
-- lzx->PRETREE_len[x] = y;
-- }
-- LZX_BUILD_TABLE(PRETREE);
--
-- for (x = first; x < last; ) {
-- LZX_READ_HUFFSYM(PRETREE, z);
-- if (z == 17) {
-- /* code = 17, run of ([read 4 bits]+4) zeros */
-- LZX_READ_BITS(y, 4); y += 4;
-- while (y--) lens[x++] = 0;
-- }
-- else if (z == 18) {
-- /* code = 18, run of ([read 5 bits]+20) zeros */
-- LZX_READ_BITS(y, 5); y += 20;
-- while (y--) lens[x++] = 0;
-- }
-- else if (z == 19) {
-- /* code = 19, run of ([read 1 bit]+4) [read huffman symbol] */
-- LZX_READ_BITS(y, 1); y += 4;
-- LZX_READ_HUFFSYM(PRETREE, z);
-- z = lens[x] - z; if (z < 0) z += 17;
-- while (y--) lens[x++] = z;
-- }
-- else {
-- /* code = 0 to 16, delta current length entry */
-- z = lens[x] - z; if (z < 0) z += 17;
-- lens[x++] = z;
-- }
-- }
--
-- LZX_STORE_BITS;
--
-- return CL_SUCCESS;
--}
--
--static void lzx_reset_state(struct lzx_stream *lzx) {
-- int i;
--
-- lzx->R0 = 1;
-- lzx->R1 = 1;
-- lzx->R2 = 1;
-- lzx->header_read = 0;
-- lzx->block_remaining = 0;
-- lzx->block_type = LZX_BLOCKTYPE_INVALID;
--
-- /* initialise tables to 0 (because deltas will be applied to them) */
-- for (i = 0; i < LZX_MAINTREE_MAXSYMBOLS; i++) lzx->MAINTREE_len[i] = 0;
-- for (i = 0; i < LZX_LENGTH_MAXSYMBOLS; i++) lzx->LENGTH_len[i] = 0;
--}
--
--/*-------- main LZX code --------*/
--
--struct lzx_stream *lzx_init(int ofd,
-- int window_bits,
-- int reset_interval,
-- int input_buffer_size,
-- off_t output_length,
-- struct cab_file *file,
-- int (*read_cb)(struct cab_file *, unsigned char *, int))
--{
-- unsigned int window_size = 1 << window_bits;
-- struct lzx_stream *lzx;
-- int i, j;
--
-- /* LZX supports window sizes of 2^15 (32Kb) through 2^21 (2Mb) */
-- if (window_bits < 15 || window_bits > 21) return NULL;
--
-- input_buffer_size = (input_buffer_size + 1) & -2;
-- if (!input_buffer_size) return NULL;
--
-- /* allocate decompression state */
-- if (!(lzx = cli_calloc(1, sizeof(struct lzx_stream)))) {
-- return NULL;
-- }
--
-- for (i = 0, j = 0; i < 51; i += 2) {
-- lzx->extra_bits[i] = j; /* 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7... */
-- if(i < 50)
-- lzx->extra_bits[i+1] = j;
-- if ((i != 0) && (j < 17)) j++; /* 0,0,1,2,3,4...15,16,17,17,17,17... */
-- }
--
-- for (i = 0, j = 0; i < 51; i++) {
-- lzx->position_base[i] = j; /* 0,1,2,3,4,6,8,12,16,24,32,... */
-- j += 1 << lzx->extra_bits[i]; /* 1,1,1,1,2,2,4,4,8,8,16,16,32,32,... */
-- }
--
-- /* allocate decompression window and input buffer */
-- lzx->window = cli_calloc(1, (size_t) window_size);
-- if(!lzx->window) {
-- free(lzx);
-- return NULL;
-- }
--
-- lzx->inbuf = cli_calloc(1, (size_t) input_buffer_size);
-- if (!lzx->inbuf) {
-- free(lzx->window);
-- free(lzx);
-- return NULL;
-- }
--
-- /* initialise decompression state */
-- lzx->ofd = ofd;
-- lzx->wflag = 1;
-- lzx->offset = 0;
-- lzx->length = output_length;
-- lzx->file = file;
-- lzx->read_cb = read_cb;
--
-- lzx->inbuf_size = input_buffer_size;
-- lzx->window_size = 1 << window_bits;
-- lzx->window_posn = 0;
-- lzx->frame_posn = 0;
-- lzx->frame = 0;
-- lzx->reset_interval = reset_interval;
-- lzx->intel_filesize = 0;
-- lzx->intel_curpos = 0;
--
-- /* window bits: 15 16 17 18 19 20 21
-- * position slots: 30 32 34 36 38 42 50 */
-- lzx->posn_slots = ((window_bits == 21) ? 50 :
-- ((window_bits == 20) ? 42 : (window_bits << 1)));
-- lzx->intel_started = 0;
-- lzx->input_end = 0;
--
-- lzx->error = CL_SUCCESS;
--
-- lzx->i_ptr = lzx->i_end = &lzx->inbuf[0];
-- lzx->o_ptr = lzx->o_end = &lzx->e8_buf[0];
-- lzx->bit_buffer = lzx->bits_left = 0;
--
-- lzx_reset_state(lzx);
-- return lzx;
--}
--
--void lzx_set_output_length(struct lzx_stream *lzx, off_t out_bytes) {
-- if (lzx) lzx->length = out_bytes;
--}
--
--int lzx_decompress(struct lzx_stream *lzx, uint32_t out_bytes) {
-- /* bitstream reading and huffman variables */
-- register unsigned int bit_buffer;
-- register int bits_left, i=0;
-- register unsigned short sym;
-- unsigned char *i_ptr, *i_end;
--
-- int match_length, length_footer, extra, verbatim_bits, bytes_todo;
-- int this_run, main_element, aligned_bits, j, ret, warned=0;
-- unsigned char *window, *runsrc, *rundest, buf[12];
-- unsigned int frame_size=0, end_frame, match_offset, window_posn;
-- unsigned int R0, R1, R2;
--
-- /* easy answers */
-- if (!lzx) return CL_ENULLARG;
-- if (lzx->error) return lzx->error;
--
-- /* flush out any stored-up bytes before we begin */
-- i = lzx->o_end - lzx->o_ptr;
-- if (((off_t) i > out_bytes) && ((int) out_bytes >= 0)) i = (int) out_bytes;
-- if (i) {
-- if (lzx->wflag && (ret = mspack_write(lzx->ofd, lzx->o_ptr, i, lzx->file)) != CL_SUCCESS) {
-- return lzx->error = ret;
-- }
-- lzx->o_ptr += i;
-- lzx->offset += i;
-- out_bytes -= i;
-- }
-- if (out_bytes == 0) return CL_SUCCESS;
--
-- /* restore local state */
-- LZX_RESTORE_BITS;
-- window = lzx->window;
-- window_posn = lzx->window_posn;
-- R0 = lzx->R0;
-- R1 = lzx->R1;
-- R2 = lzx->R2;
--
-- end_frame = (unsigned int)((lzx->offset + out_bytes) / LZX_FRAME_SIZE) + 1;
-- cli_dbgmsg("lzx_decompress: end frame = %u\n", end_frame);
--
-- while (lzx->frame < end_frame) {
-- cli_dbgmsg("lzx_decompress: current frame = %u\n", lzx->frame);
-- /* have we reached the reset interval? (if there is one?) */
-- if (lzx->reset_interval && ((lzx->frame % lzx->reset_interval) == 0)) {
-- if (lzx->block_remaining) {
-- /* this is a file format error, but we need to extract what we can and scan that */
-- cli_dbgmsg("lzx_decompress: %d bytes remaining at reset interval\n", lzx->block_remaining);
-- if (!warned) {
-- cli_dbgmsg("Detected an invalid reset interval during decompression.\n");
-- warned++;
-- }
-- if (!lzx->header_read) {
-- /* cannot continue if no header at all */
-- return lzx->error = CL_EFORMAT;
-- }
-- } else {
-- /* re-read the intel header and reset the huffman lengths */
-- lzx_reset_state(lzx);
-- }
-- }
--
-- /* read header if necessary */
-- if (!lzx->header_read) {
-- /* read 1 bit. if bit=0, intel filesize = 0.
-- * if bit=1, read intel filesize (32 bits) */
-- j = 0; LZX_READ_BITS(i, 1); if (i) { LZX_READ_BITS(i, 16); LZX_READ_BITS(j, 16); }
-- lzx->intel_filesize = (i << 16) | j;
-- lzx->header_read = 1;
-- }
--
-- /* calculate size of frame: all frames are 32k except the final frame
-- * which is 32kb or less. this can only be calculated when lzx->length
-- * has been filled in. */
-- frame_size = LZX_FRAME_SIZE;
-- if (lzx->length && (lzx->length - lzx->offset) < (off_t)frame_size) {
-- frame_size = lzx->length - lzx->offset;
-- }
--
-- /* decode until one more frame is available */
-- bytes_todo = lzx->frame_posn + frame_size - window_posn;
-- while (bytes_todo > 0) {
-- /* initialise new block, if one is needed */
-- if (lzx->block_remaining == 0) {
-- /* realign if previous block was an odd-sized UNCOMPRESSED block */
-- if ((lzx->block_type == LZX_BLOCKTYPE_UNCOMPRESSED) &&
-- (lzx->block_length & 1))
-- {
-- if (i_ptr == i_end) {
-- if (lzx_read_input(lzx)) return lzx->error;
-- i_ptr = lzx->i_ptr;
-- i_end = lzx->i_end;
-- }
-- i_ptr++;
-- }
--
-- /* read block type (3 bits) and block length (24 bits) */
-- LZX_READ_BITS(lzx->block_type, 3);
-- LZX_READ_BITS(i, 16); LZX_READ_BITS(j, 8);
-- lzx->block_remaining = lzx->block_length = (i << 8) | j;
--
-- /* read individual block headers */
-- switch (lzx->block_type) {
-- case LZX_BLOCKTYPE_ALIGNED:
-- /* read lengths of and build aligned huffman decoding tree */
-- for (i = 0; i < 8; i++) { LZX_READ_BITS(j, 3); lzx->ALIGNED_len[i] = j; }
-- LZX_BUILD_TABLE(ALIGNED);
-- /* no break -- rest of aligned header is same as verbatim */
-- case LZX_BLOCKTYPE_VERBATIM:
-- /* read lengths of and build main huffman decoding tree */
-- LZX_READ_LENGTHS(MAINTREE, 0, 256);
-- LZX_READ_LENGTHS(MAINTREE, 256, LZX_NUM_CHARS + (lzx->posn_slots << 3));
-- LZX_BUILD_TABLE(MAINTREE);
-- /* if the literal 0xE8 is anywhere in the block... */
-- if (lzx->MAINTREE_len[0xE8] != 0) lzx->intel_started = 1;
-- /* read lengths of and build lengths huffman decoding tree */
-- LZX_READ_LENGTHS(LENGTH, 0, LZX_NUM_SECONDARY_LENGTHS);
-- LZX_BUILD_TABLE(LENGTH);
-- break;
--
-- case LZX_BLOCKTYPE_UNCOMPRESSED:
-- /* because we can't assume otherwise */
-- lzx->intel_started = 1;
--
-- /* read 1-16 (not 0-15) bits to align to bytes */
-- LZX_ENSURE_BITS(16);
-- if (bits_left > 16) i_ptr -= 2;
-- bits_left = 0; bit_buffer = 0;
--
-- /* read 12 bytes of stored R0 / R1 / R2 values */
-- for (rundest = &buf[0], i = 0; i < 12; i++) {
-- if (i_ptr == i_end) {
-- if (lzx_read_input(lzx)) return lzx->error;
-- i_ptr = lzx->i_ptr;
-- i_end = lzx->i_end;
-- }
-- *rundest++ = *i_ptr++;
-- }
-- R0 = buf[0] | (buf[1] << 8) | (buf[2] << 16) | (buf[3] << 24);
-- R1 = buf[4] | (buf[5] << 8) | (buf[6] << 16) | (buf[7] << 24);
-- R2 = buf[8] | (buf[9] << 8) | (buf[10] << 16) | (buf[11] << 24);
-- break;
--
-- default:
-- cli_dbgmsg("lzx_decompress: bad block type (0x%x)\n", lzx->block_type);
-- return lzx->error = CL_EFORMAT;
-- }
-- }
--
-- /* decode more of the block:
-- * run = min(what's available, what's needed) */
-- this_run = lzx->block_remaining;
-- if (this_run > bytes_todo) this_run = bytes_todo;
--
-- /* assume we decode exactly this_run bytes, for now */
-- bytes_todo -= this_run;
-- lzx->block_remaining -= this_run;
--
-- /* decode at least this_run bytes */
-- switch (lzx->block_type) {
-- case LZX_BLOCKTYPE_VERBATIM:
-- while (this_run > 0) {
-- LZX_READ_HUFFSYM(MAINTREE, main_element);
-- if (main_element < LZX_NUM_CHARS) {
-- /* literal: 0 to LZX_NUM_CHARS-1 */
-- window[window_posn++] = main_element;
-- this_run--;
-- }
-- else {
-- /* match: LZX_NUM_CHARS + ((slot<<3) | length_header (3 bits)) */
-- main_element -= LZX_NUM_CHARS;
--
-- /* get match length */
-- match_length = main_element & LZX_NUM_PRIMARY_LENGTHS;
-- if (match_length == LZX_NUM_PRIMARY_LENGTHS) {
-- LZX_READ_HUFFSYM(LENGTH, length_footer);
-- match_length += length_footer;
-- }
-- match_length += LZX_MIN_MATCH;
--
-- /* get match offset */
-- switch ((match_offset = (main_element >> 3))) {
-- case 0: match_offset = R0; break;
-- case 1: match_offset = R1; R1=R0; R0 = match_offset; break;
-- case 2: match_offset = R2; R2=R0; R0 = match_offset; break;
-- case 3: match_offset = 1; R2=R1; R1=R0; R0 = match_offset; break;
-- default:
-- extra = lzx->extra_bits[match_offset];
-- LZX_READ_BITS(verbatim_bits, extra);
-- match_offset = lzx->position_base[match_offset] - 2 + verbatim_bits;
-- R2 = R1; R1 = R0; R0 = match_offset;
-- }
--
-- if ((window_posn + match_length) > lzx->window_size) {
-- cli_dbgmsg("lzx_decompress: match ran over window wrap\n");
-- return lzx->error = CL_EFORMAT;
-- }
--
-- /* copy match */
-- rundest = &window[window_posn];
-- i = match_length;
-- /* does match offset wrap the window? */
-- if (match_offset > window_posn) {
-- /* j = length from match offset to end of window */
-- j = match_offset - window_posn;
-- if (j > (int) lzx->window_size) {
-- cli_dbgmsg("lzx_decompress: match offset beyond window boundaries\n");
-- return lzx->error = CL_EFORMAT;
-- }
-- runsrc = &window[lzx->window_size - j];
-- if (j < i) {
-- /* if match goes over the window edge, do two copy runs */
-- i -= j; while (j-- > 0) *rundest++ = *runsrc++;
-- runsrc = window;
-- }
-- while (i-- > 0) *rundest++ = *runsrc++;
-- }
-- else {
-- runsrc = rundest - match_offset;
-- if(i > (int) (lzx->window_size - window_posn))
-- i = lzx->window_size - window_posn;
-- while (i-- > 0) *rundest++ = *runsrc++;
-- }
--
-- this_run -= match_length;
-- window_posn += match_length;
-- }
-- } /* while (this_run > 0) */
-- break;
--
-- case LZX_BLOCKTYPE_ALIGNED:
-- while (this_run > 0) {
-- LZX_READ_HUFFSYM(MAINTREE, main_element);
-- if (main_element < LZX_NUM_CHARS) {
-- /* literal: 0 to LZX_NUM_CHARS-1 */
-- window[window_posn++] = main_element;
-- this_run--;
-- }
-- else {
-- /* match: LZX_NUM_CHARS + ((slot<<3) | length_header (3 bits)) */
-- main_element -= LZX_NUM_CHARS;
--
-- /* get match length */
-- match_length = main_element & LZX_NUM_PRIMARY_LENGTHS;
-- if (match_length == LZX_NUM_PRIMARY_LENGTHS) {
-- LZX_READ_HUFFSYM(LENGTH, length_footer);
-- match_length += length_footer;
-- }
-- match_length += LZX_MIN_MATCH;
--
-- /* get match offset */
-- switch ((match_offset = (main_element >> 3))) {
-- case 0: match_offset = R0; break;
-- case 1: match_offset = R1; R1 = R0; R0 = match_offset; break;
-- case 2: match_offset = R2; R2 = R0; R0 = match_offset; break;
-- default:
-- extra = lzx->extra_bits[match_offset];
-- match_offset = lzx->position_base[match_offset] - 2;
-- if (extra > 3) {
-- /* verbatim and aligned bits */
-- extra -= 3;
-- LZX_READ_BITS(verbatim_bits, extra);
-- match_offset += (verbatim_bits << 3);
-- LZX_READ_HUFFSYM(ALIGNED, aligned_bits);
-- match_offset += aligned_bits;
-- }
-- else if (extra == 3) {
-- /* aligned bits only */
-- LZX_READ_HUFFSYM(ALIGNED, aligned_bits);
-- match_offset += aligned_bits;
-- }
-- else if (extra > 0) { /* extra==1, extra==2 */
-- /* verbatim bits only */
-- LZX_READ_BITS(verbatim_bits, extra);
-- match_offset += verbatim_bits;
-- }
-- else /* extra == 0 */ {
-- /* ??? not defined in LZX specification! */
-- match_offset = 1;
-- }
-- /* update repeated offset LRU queue */
-- R2 = R1; R1 = R0; R0 = match_offset;
-- }
--
-- if ((window_posn + match_length) > lzx->window_size) {
-- cli_dbgmsg("lzx_decompress: match ran over window wrap\n");
-- return lzx->error = CL_EFORMAT;
-- }
--
-- /* copy match */
-- rundest = &window[window_posn];
-- i = match_length;
-- /* does match offset wrap the window? */
-- if (match_offset > window_posn) {
-- /* j = length from match offset to end of window */
-- j = match_offset - window_posn;
-- if (j > (int) lzx->window_size) {
-- cli_dbgmsg("lzx_decompress: match offset beyond window boundaries\n");
-- return lzx->error = CL_EFORMAT;
-- }
-- runsrc = &window[lzx->window_size - j];
-- if (j < i) {
-- /* if match goes over the window edge, do two copy runs */
-- i -= j; while (j-- > 0) *rundest++ = *runsrc++;
-- runsrc = window;
-- }
-- while (i-- > 0) *rundest++ = *runsrc++;
-- }
-- else {
-- runsrc = rundest - match_offset;
-- while (i-- > 0) *rundest++ = *runsrc++;
-- }
--
-- this_run -= match_length;
-- window_posn += match_length;
-- }
-- } /* while (this_run > 0) */
-- break;
--
-- case LZX_BLOCKTYPE_UNCOMPRESSED:
-- /* as this_run is limited not to wrap a frame, this also means it
-- * won't wrap the window (as the window is a multiple of 32k) */
-- rundest = &window[window_posn];
-- window_posn += this_run;
-- while (this_run > 0) {
-- if ((i = i_end - i_ptr)) {
-- if (i > this_run) i = this_run;
-- memcpy(rundest, i_ptr, (size_t) i);
-- rundest += i;
-- i_ptr += i;
-- this_run -= i;
-- }
-- else {
-- if (lzx_read_input(lzx)) return lzx->error;
-- i_ptr = lzx->i_ptr;
-- i_end = lzx->i_end;
-- }
-- }
-- break;
--
-- default:
-- return lzx->error = CL_EFORMAT; /* might as well */
-- }
--
-- /* did the final match overrun our desired this_run length? */
-- if (this_run < 0) {
-- if ((unsigned int)(-this_run) > lzx->block_remaining) {
-- cli_dbgmsg("lzx_decompress: overrun went past end of block by %d (%d remaining)\n", -this_run, lzx->block_remaining);
-- return lzx->error = CL_EFORMAT;
-- }
-- lzx->block_remaining -= -this_run;
-- }
-- } /* while (bytes_todo > 0) */
--
-- /* streams don't extend over frame boundaries */
-- if ((window_posn - lzx->frame_posn) != frame_size) {
-- cli_dbgmsg("lzx_decompress: decode beyond output frame limits! %d != %d\n", window_posn - lzx->frame_posn, frame_size);
-- return lzx->error = CL_EFORMAT;
-- }
--
-- /* re-align input bitstream */
-- if (bits_left > 0) LZX_ENSURE_BITS(16);
-- if (bits_left & 15) LZX_REMOVE_BITS(bits_left & 15);
--
-- /* check that we've used all of the previous frame first */
-- if (lzx->o_ptr != lzx->o_end) {
-- cli_dbgmsg("lzx_decompress: %ld avail bytes, new %d frame\n", lzx->o_end-lzx->o_ptr, frame_size);
-- return lzx->error = CL_EFORMAT;
-- }
--
-- /* does this intel block _really_ need decoding? */
-- if (lzx->intel_started && lzx->intel_filesize &&
-- (lzx->frame <= 32768) && (frame_size > 10))
-- {
-- unsigned char *data = &lzx->e8_buf[0];
-- unsigned char *dataend = &lzx->e8_buf[frame_size - 10];
-- signed int curpos = lzx->intel_curpos;
-- signed int filesize = lzx->intel_filesize;
-- signed int abs_off, rel_off;
--
-- /* copy e8 block to the e8 buffer and tweak if needed */
-- lzx->o_ptr = data;
-- memcpy(data, &lzx->window[lzx->frame_posn], frame_size);
--
-- while (data < dataend) {
-- if (*data++ != 0xE8) { curpos++; continue; }
-- abs_off = data[0] | (data[1]<<8) | (data[2]<<16) | (data[3]<<24);
-- if ((abs_off >= -curpos) && (abs_off < filesize)) {
-- rel_off = (abs_off >= 0) ? abs_off - curpos : abs_off + filesize;
-- data[0] = (unsigned char) rel_off;
-- data[1] = (unsigned char) (rel_off >> 8);
-- data[2] = (unsigned char) (rel_off >> 16);
-- data[3] = (unsigned char) (rel_off >> 24);
-- }
-- data += 4;
-- curpos += 5;
-- }
-- lzx->intel_curpos += frame_size;
-- }
-- else {
-- lzx->o_ptr = &lzx->window[lzx->frame_posn];
-- if (lzx->intel_filesize) lzx->intel_curpos += frame_size;
-- }
-- lzx->o_end = &lzx->o_ptr[frame_size];
--
-- /* write a frame */
-- i = (out_bytes < (off_t)frame_size) ? (unsigned int)out_bytes : frame_size;
-- if (lzx->wflag && (ret = mspack_write(lzx->ofd, lzx->o_ptr, i, lzx->file)) != CL_SUCCESS) {
-- return lzx->error = ret;
-- }
-- lzx->o_ptr += i;
-- lzx->offset += i;
-- out_bytes -= i;
--
-- /* advance frame start position */
-- lzx->frame_posn += frame_size;
-- lzx->frame++;
--
-- /* wrap window / frame position pointers */
-- if (window_posn == lzx->window_size) window_posn = 0;
-- if (lzx->frame_posn == lzx->window_size) lzx->frame_posn = 0;
--
-- } /* while (lzx->frame < end_frame) */
--
-- if (out_bytes)
-- cli_dbgmsg("lzx_decompress: bytes left to output\n");
--
-- /* store local state */
-- LZX_STORE_BITS;
-- lzx->window_posn = window_posn;
-- lzx->R0 = R0;
-- lzx->R1 = R1;
-- lzx->R2 = R2;
--
-- return CL_SUCCESS;
--}
--
--void lzx_free(struct lzx_stream *lzx) {
-- if (lzx) {
-- free(lzx->inbuf);
-- free(lzx->window);
-- free(lzx);
-- }
--}
--
--/***************************************************************************
-- * Quantum decompression implementation
-- ***************************************************************************
-- * The Quantum method was created by David Stafford, adapted by Microsoft
-- * Corporation.
-- *
-- * This decompressor is based on an implementation by Matthew Russotto, used
-- * with permission.
-- *
-- * This decompressor was researched and implemented by Matthew Russotto. It
-- * has since been tidied up by Stuart Caie. More information can be found at
-- * http://www.speakeasy.org/~russotto/quantumcomp.html
-- */
--
--/* Quantum decompressor bitstream reading macros
-- *
-- * QTM_STORE_BITS stores bitstream state in qtm_stream structure
-- * QTM_RESTORE_BITS restores bitstream state from qtm_stream structure
-- * QTM_READ_BITS(var,n) takes N bits from the buffer and puts them in var
-- * QTM_FILL_BUFFER if there is room for another 16 bits, reads another
-- * 16 bits from the input stream.
-- * QTM_PEEK_BITS(n) extracts without removing N bits from the bit buffer
-- * QTM_REMOVE_BITS(n) removes N bits from the bit buffer
-- *
-- * These bit access routines work by using the area beyond the MSB and the
-- * LSB as a free source of zeroes. This avoids having to mask any bits.
-- * So we have to know the bit width of the bitbuffer variable.
-- */
--
--#define QTM_BITBUF_WIDTH (sizeof(unsigned int) * CHAR_BIT)
--
--#define QTM_STORE_BITS do { \
-- qtm->i_ptr = i_ptr; \
-- qtm->i_end = i_end; \
-- qtm->bit_buffer = bit_buffer; \
-- qtm->bits_left = bits_left; \
--} while (0)
--
--#define QTM_RESTORE_BITS do { \
-- i_ptr = qtm->i_ptr; \
-- i_end = qtm->i_end; \
-- bit_buffer = qtm->bit_buffer; \
-- bits_left = qtm->bits_left; \
--} while (0)
--
--/* adds 16 bits to bit buffer, if there's space for the new bits */
--#define QTM_FILL_BUFFER do { \
-- if (bits_left <= (QTM_BITBUF_WIDTH - 16)) { \
-- if (i_ptr >= i_end) { \
-- if (qtm_read_input(qtm)) return qtm->error; \
-- i_ptr = qtm->i_ptr; \
-- i_end = qtm->i_end; \
-- } \
-- bit_buffer |= ((i_ptr[0] << 8) | i_ptr[1]) \
-- << (QTM_BITBUF_WIDTH - 16 - bits_left); \
-- bits_left += 16; \
-- i_ptr += 2; \
-- } \
--} while (0)
--
--#define QTM_PEEK_BITS(n) (bit_buffer >> (QTM_BITBUF_WIDTH - (n)))
--#define QTM_REMOVE_BITS(n) ((bit_buffer <<= (n)), (bits_left -= (n)))
--
--#define QTM_READ_BITS(val, bits) do { \
-- (val) = 0; \
-- for (bits_needed = (bits); bits_needed > 0; bits_needed -= bit_run) { \
-- QTM_FILL_BUFFER; \
-- bit_run = (bits_left < bits_needed) ? bits_left : bits_needed; \
-- (val) = ((val) << bit_run) | QTM_PEEK_BITS(bit_run); \
-- QTM_REMOVE_BITS(bit_run); \
-- } \
--} while (0)
--
--static int qtm_read_input(struct qtm_stream *qtm) {
-- int nread = qtm->read_cb(qtm->file, &qtm->inbuf[0], (int)qtm->inbuf_size);
-- if (nread < 0) {
-- if (qtm->file->error == CL_BREAK)
-- return qtm->error = CL_BREAK;
-- else
-- return qtm->error = CL_EFORMAT;
-- }
--
-- if (nread == 0) {
-- if (qtm->input_end) {
-- cli_dbgmsg("qtm_read_input: out of input bytes\n");
-- return qtm->error = CL_EREAD;
-- }
-- else {
-- nread = 2;
-- qtm->inbuf[0] = qtm->inbuf[1] = 0;
-- qtm->input_end = 1;
-- }
-- }
--
-- qtm->i_ptr = &qtm->inbuf[0];
-- qtm->i_end = &qtm->inbuf[nread];
-- return CL_SUCCESS;
--}
--
--/* Arithmetic decoder:
-- *
-- * QTM_GET_SYMBOL(model, var) fetches the next symbol from the stated model
-- * and puts it in var.
-- *
-- * If necessary, qtm_update_model() is called.
-- */
--#define QTM_GET_SYMBOL(model, var) do { \
-- range = ((H - L) & 0xFFFF) + 1; \
-- symf = ((((C - L + 1) * model.syms[0].cumfreq)-1) / range) & 0xFFFF; \
-- \
-- for (i = 1; i < model.entries; i++) { \
-- if (model.syms[i].cumfreq <= symf) break; \
-- } \
-- (var) = model.syms[i-1].sym; \
-- \
-- range = (H - L) + 1; \
-- symf = model.syms[0].cumfreq; \
-- H = L + ((model.syms[i-1].cumfreq * range) / symf) - 1; \
-- L = L + ((model.syms[i].cumfreq * range) / symf); \
-- \
-- do { model.syms[--i].cumfreq += 8; } while (i > 0); \
-- if (model.syms[0].cumfreq > 3800) qtm_update_model(&model); \
-- \
-- while (1) { \
-- if ((L & 0x8000) != (H & 0x8000)) { \
-- if ((L & 0x4000) && !(H & 0x4000)) { \
-- /* underflow case */ \
-- C ^= 0x4000; L &= 0x3FFF; H |= 0x4000; \
-- } \
-- else break; \
-- } \
-- L <<= 1; H = (H << 1) | 1; \
-- QTM_FILL_BUFFER; \
-- C = (C << 1) | QTM_PEEK_BITS(1); \
-- QTM_REMOVE_BITS(1); \
-- } \
--} while (0)
--
--static void qtm_update_model(struct qtm_model *model) {
-- struct qtm_modelsym tmp;
-- int i, j;
--
-- if (--model->shiftsleft) {
-- for (i = model->entries - 1; i >= 0; i--) {
-- /* -1, not -2; the 0 entry saves this */
-- model->syms[i].cumfreq >>= 1;
-- if (model->syms[i].cumfreq <= model->syms[i+1].cumfreq) {
-- model->syms[i].cumfreq = model->syms[i+1].cumfreq + 1;
-- }
-- }
-- }
-- else {
-- model->shiftsleft = 50;
-- for (i = 0; i < model->entries; i++) {
-- /* no -1, want to include the 0 entry */
-- /* this converts cumfreqs into frequencies, then shifts right */
-- model->syms[i].cumfreq -= model->syms[i+1].cumfreq;
-- model->syms[i].cumfreq++; /* avoid losing things entirely */
-- model->syms[i].cumfreq >>= 1;
-- }
--
-- /* now sort by frequencies, decreasing order -- this must be an
-- * inplace selection sort, or a sort with the same (in)stability
-- * characteristics */
-- for (i = 0; i < model->entries - 1; i++) {
-- for (j = i + 1; j < model->entries; j++) {
-- if (model->syms[i].cumfreq < model->syms[j].cumfreq) {
-- tmp = model->syms[i];
-- model->syms[i] = model->syms[j];
-- model->syms[j] = tmp;
-- }
-- }
-- }
--
-- /* then convert frequencies back to cumfreq */
-- for (i = model->entries - 1; i >= 0; i--) {
-- model->syms[i].cumfreq += model->syms[i+1].cumfreq;
-- }
-- }
--}
--
--/* Initialises a model to decode symbols from [start] to [start]+[len]-1 */
--static void qtm_init_model(struct qtm_model *model,
-- struct qtm_modelsym *syms, int start, int len)
--{
-- int i;
--
-- model->shiftsleft = 4;
-- model->entries = len;
-- model->syms = syms;
--
-- for (i = 0; i <= len; i++) {
-- syms[i].sym = start + i; /* actual symbol */
-- syms[i].cumfreq = len - i; /* current frequency of that symbol */
-- }
--}
--
--
--/*-------- main Quantum code --------*/
--
--struct qtm_stream *qtm_init(int ofd,
-- int window_bits, int input_buffer_size,
-- struct cab_file *file,
-- int (*read_cb)(struct cab_file *, unsigned char *, int))
--{
-- unsigned int window_size = 1 << window_bits;
-- struct qtm_stream *qtm;
-- unsigned offset;
-- int i;
--
-- /* Quantum supports window sizes of 2^10 (1Kb) through 2^21 (2Mb) */
--
-- /* tk: temporary fix: only process 32KB+ window sizes */
-- if (window_bits < 15 || window_bits > 21) return NULL;
--
-- input_buffer_size = (input_buffer_size + 1) & -2;
-- if (input_buffer_size < 2) return NULL;
--
-- /* allocate decompression state */
-- if (!(qtm = cli_calloc(1, sizeof(struct qtm_stream)))) {
-- return NULL;
-- }
--
-- for (i = 0, offset = 0; i < 42; i++) {
-- qtm->position_base[i] = offset;
-- qtm->extra_bits[i] = ((i < 2) ? 0 : (i - 2)) >> 1;
-- offset += 1 << qtm->extra_bits[i];
-- }
--
-- for (i = 0, offset = 0; i < 26; i++) {
-- qtm->length_base[i] = offset;
-- qtm->length_extra[i] = (i < 2 ? 0 : i - 2) >> 2;
-- offset += 1 << qtm->length_extra[i];
-- }
-- qtm->length_base[26] = 254; qtm->length_extra[26] = 0;
--
-- /* allocate decompression window and input buffer */
-- qtm->window = cli_malloc((size_t) window_size);
-- if (!qtm->window) {
-- cli_errmsg("qtm_init: Unable to allocate decompression window\n");
-- free(qtm);
-- return NULL;
-- }
--
-- qtm->inbuf = cli_malloc((size_t) input_buffer_size);
-- if (!qtm->inbuf) {
-- cli_errmsg("qtm_init: Unable to allocate input buffer\n");
-- free(qtm->window);
-- free(qtm);
-- return NULL;
-- }
--
-- /* initialise decompression state */
-- qtm->ofd = ofd;
-- qtm->wflag = 1;
-- qtm->inbuf_size = input_buffer_size;
-- qtm->window_size = window_size;
-- qtm->window_posn = 0;
-- qtm->frame_start = 0;
-- qtm->header_read = 0;
-- qtm->error = CL_SUCCESS;
--
-- qtm->i_ptr = qtm->i_end = &qtm->inbuf[0];
-- qtm->o_ptr = qtm->o_end = &qtm->window[0];
-- qtm->bits_left = 0;
-- qtm->bit_buffer = 0;
--
-- /* initialise arithmetic coding models
-- * - model 4 depends on window size, ranges from 20 to 24
-- * - model 5 depends on window size, ranges from 20 to 36
-- * - model 6pos depends on window size, ranges from 20 to 42
-- */
-- i = window_bits * 2;
-- qtm_init_model(&qtm->model0, &qtm->m0sym[0], 0, 64);
-- qtm_init_model(&qtm->model1, &qtm->m1sym[0], 64, 64);
-- qtm_init_model(&qtm->model2, &qtm->m2sym[0], 128, 64);
-- qtm_init_model(&qtm->model3, &qtm->m3sym[0], 192, 64);
-- qtm_init_model(&qtm->model4, &qtm->m4sym[0], 0, (i > 24) ? 24 : i);
-- qtm_init_model(&qtm->model5, &qtm->m5sym[0], 0, (i > 36) ? 36 : i);
-- qtm_init_model(&qtm->model6, &qtm->m6sym[0], 0, i);
-- qtm_init_model(&qtm->model6len, &qtm->m6lsym[0], 0, 27);
-- qtm_init_model(&qtm->model7, &qtm->m7sym[0], 0, 7);
--
-- qtm->file = file;
-- qtm->read_cb = read_cb;
--
-- /* all ok */
-- return qtm;
--}
--
--int qtm_decompress(struct qtm_stream *qtm, uint32_t out_bytes) {
-- unsigned int frame_start, frame_end, window_posn, match_offset, range;
-- unsigned char *window, *i_ptr, *i_end, *runsrc, *rundest;
-- int i, j, selector, extra, sym, match_length, ret;
-- unsigned short H, L, C, symf;
--
-- register unsigned int bit_buffer;
-- register unsigned char bits_left;
-- unsigned char bits_needed, bit_run;
--
-- /* easy answers */
-- if (!qtm) return CL_ENULLARG;
-- if (qtm->error) return qtm->error;
--
-- /* flush out any stored-up bytes before we begin */
-- i = qtm->o_end - qtm->o_ptr;
-- if (((off_t) i > out_bytes) && ((int) out_bytes >= 0)) i = (int) out_bytes;
-- if (i) {
-- if (qtm->wflag && (ret = mspack_write(qtm->ofd, qtm->o_ptr, i, qtm->file)) != CL_SUCCESS) {
-- return qtm->error = ret;
-- }
-- qtm->o_ptr += i;
-- out_bytes -= i;
-- }
-- if (out_bytes == 0) return CL_SUCCESS;
--
-- /* restore local state */
-- QTM_RESTORE_BITS;
-- window = qtm->window;
-- window_posn = qtm->window_posn;
-- frame_start = qtm->frame_start;
-- H = qtm->H;
-- L = qtm->L;
-- C = qtm->C;
--
-- /* while we do not have enough decoded bytes in reserve: */
-- while ((qtm->o_end - qtm->o_ptr) < out_bytes) {
--
-- /* read header if necessary. Initialises H, L and C */
-- if (!qtm->header_read) {
-- H = 0xFFFF; L = 0; QTM_READ_BITS(C, 16);
-- qtm->header_read = 1;
-- }
--
-- /* decode more, at most up to to frame boundary */
-- frame_end = window_posn + (out_bytes - (qtm->o_end - qtm->o_ptr));
-- if ((frame_start + QTM_FRAME_SIZE) < frame_end) {
-- frame_end = frame_start + QTM_FRAME_SIZE;
-- }
-- if (frame_end < window_posn) {
-- cli_dbgmsg("qtm_decompress: window position beyond end of frame\n");
-- return qtm->error = CL_EFORMAT;
-- }
--
-- while (window_posn < frame_end) {
-- QTM_GET_SYMBOL(qtm->model7, selector);
-- if (selector < 4) {
-- struct qtm_model *mdl = (selector == 0) ? &qtm->model0 :
-- ((selector == 1) ? &qtm->model1 :
-- ((selector == 2) ? &qtm->model2 :
-- &qtm->model3));
-- QTM_GET_SYMBOL((*mdl), sym);
-- window[window_posn++] = sym;
-- }
-- else {
-- switch (selector) {
-- case 4: /* selector 4 = fixed length match (3 bytes) */
-- QTM_GET_SYMBOL(qtm->model4, sym);
-- QTM_READ_BITS(extra, qtm->extra_bits[sym]);
-- match_offset = qtm->position_base[sym] + extra + 1;
-- match_length = 3;
-- break;
--
-- case 5: /* selector 5 = fixed length match (4 bytes) */
-- QTM_GET_SYMBOL(qtm->model5, sym);
-- QTM_READ_BITS(extra, qtm->extra_bits[sym]);
-- match_offset = qtm->position_base[sym] + extra + 1;
-- match_length = 4;
-- break;
--
-- case 6: /* selector 6 = variable length match */
-- QTM_GET_SYMBOL(qtm->model6len, sym);
-- QTM_READ_BITS(extra, qtm->length_extra[sym]);
-- match_length = qtm->length_base[sym] + extra + 5;
--
-- QTM_GET_SYMBOL(qtm->model6, sym);
-- QTM_READ_BITS(extra, qtm->extra_bits[sym]);
-- match_offset = qtm->position_base[sym] + extra + 1;
-- break;
--
-- default:
-- /* should be impossible, model7 can only return 0-6 */
-- return qtm->error = CL_EFORMAT;
-- }
--
-- if (window_posn + match_length > qtm->window_size) {
-- cli_dbgmsg("qtm_decompress: match ran over window wrap\n");
-- return qtm->error = CL_EFORMAT;
-- }
--
-- rundest = &window[window_posn];
-- i = match_length;
-- /* does match offset wrap the window? */
-- if (match_offset > window_posn) {
-- /* j = length from match offset to end of window */
-- j = match_offset - window_posn;
-- if (j > (int) qtm->window_size) {
-- cli_dbgmsg("qtm_decompress: match offset beyond window boundaries\n");
-- return qtm->error = CL_EFORMAT;
-- }
-- runsrc = &window[qtm->window_size - j];
-- if (j < i) {
-- /* if match goes over the window edge, do two copy runs */
-- i -= j; while (j-- > 0) *rundest++ = *runsrc++;
-- runsrc = window;
-- }
-- while (i-- > 0) *rundest++ = *runsrc++;
-- }
-- else {
-- runsrc = rundest - match_offset;
-- if(i > (int) (qtm->window_size - window_posn))
-- i = qtm->window_size - window_posn;
-- while (i-- > 0) *rundest++ = *runsrc++;
-- }
-- window_posn += match_length;
-- }
-- } /* while (window_posn < frame_end) */
--
-- qtm->o_end = &window[window_posn];
--
-- /* another frame completed? */
-- if ((window_posn - frame_start) >= QTM_FRAME_SIZE) {
-- if ((window_posn - frame_start) != QTM_FRAME_SIZE) {
-- cli_dbgmsg("qtm_decompress: overshot frame alignment\n");
-- return qtm->error = CL_EFORMAT;
-- }
--
-- /* re-align input */
-- if (bits_left & 7) QTM_REMOVE_BITS(bits_left & 7);
-- do { QTM_READ_BITS(i, 8); } while (i != 0xFF);
-- qtm->header_read = 0;
--
-- /* window wrap? */
-- if (window_posn == qtm->window_size) {
-- /* flush all currently stored data */
-- i = (qtm->o_end - qtm->o_ptr);
-- if(i <= 0)
-- break;
-- if (qtm->wflag && (ret = mspack_write(qtm->ofd, qtm->o_ptr, i, qtm->file)) != CL_SUCCESS) {
-- return qtm->error = ret;
-- }
-- out_bytes -= i;
-- qtm->o_ptr = &window[0];
-- qtm->o_end = &window[0];
-- window_posn = 0;
-- }
--
-- frame_start = window_posn;
-- }
--
-- } /* while (more bytes needed) */
--
-- if (out_bytes > 0) {
-- i = (int) out_bytes;
-- if (qtm->wflag && (ret = mspack_write(qtm->ofd, qtm->o_ptr, i, qtm->file)) != CL_SUCCESS) {
-- return qtm->error = ret;
-- }
-- qtm->o_ptr += i;
-- }
--
-- /* store local state */
-- QTM_STORE_BITS;
-- qtm->window_posn = window_posn;
-- qtm->frame_start = frame_start;
-- qtm->H = H;
-- qtm->L = L;
-- qtm->C = C;
--
-- return CL_SUCCESS;
--}
--
--void qtm_free(struct qtm_stream *qtm) {
-- if (qtm) {
-- free(qtm->window);
-- free(qtm->inbuf);
-- free(qtm);
-- }
--}
-diff --git a/libclamav/mspack.h b/libclamav/mspack.h
-deleted file mode 100644
-index 0ed472caeea3..000000000000
---- a/libclamav/mspack.h
-+++ /dev/null
-@@ -1,294 +0,0 @@
--/*
-- * This file includes code from libmspack adapted for libclamav by
-- * tkojm@clamav.net
-- *
-- * Copyright (C) 2003-2004 Stuart Caie
-- *
-- * This library is free software; you can redistribute it and/or
-- * modify it under the terms of the GNU Lesser General Public
-- * License version 2.1 as published by the Free Software Foundation.
-- *
-- * This library 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
-- * Lesser General Public License for more details.
-- *
-- * You should have received a copy of the GNU Lesser General Public
-- * License along with this library; if not, write to the Free Software
-- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
-- * USA
-- */
--
--#ifndef __MSPACK_H
--#define __MSPACK_H
--
--#include <sys/types.h>
--#include "cab.h"
--
--
--/***************************************************************************
-- * MS-ZIP decompression definitions *
-- ***************************************************************************/
--
--#define MSZIP_FRAME_SIZE (32768) /* size of LZ history window */
--#define MSZIP_MAX_HUFFBITS (16) /* maximum huffman code length */
--#define MSZIP_LITERAL_MAXSYMBOLS (288) /* literal/length huffman tree */
--#define MSZIP_LITERAL_TABLEBITS (9)
--#define MSZIP_DISTANCE_MAXSYMBOLS (32) /* distance huffman tree */
--#define MSZIP_DISTANCE_TABLEBITS (6)
--
--/* if there are less direct lookup entries than symbols, the longer
-- * code pointers will be <= maxsymbols. This must not happen, or we
-- * will decode entries badly */
--#if (1 << MSZIP_LITERAL_TABLEBITS) < (MSZIP_LITERAL_MAXSYMBOLS * 2)
--# define MSZIP_LITERAL_TABLESIZE (MSZIP_LITERAL_MAXSYMBOLS * 4)
--#else
--# define MSZIP_LITERAL_TABLESIZE ((1 << MSZIP_LITERAL_TABLEBITS) + \
-- (MSZIP_LITERAL_MAXSYMBOLS * 2))
--#endif
--
--#if (1 << MSZIP_DISTANCE_TABLEBITS) < (MSZIP_DISTANCE_MAXSYMBOLS * 2)
--# define MSZIP_DISTANCE_TABLESIZE (MSZIP_DISTANCE_MAXSYMBOLS * 4)
--#else
--# define MSZIP_DISTANCE_TABLESIZE ((1 << MSZIP_DISTANCE_TABLEBITS) + \
-- (MSZIP_DISTANCE_MAXSYMBOLS * 2))
--#endif
--
--struct mszip_stream {
-- int ofd; /* output file descriptor */
--
-- /* inflate() will call this whenever the window should be emptied. */
-- int (*flush_window)(struct mszip_stream *, unsigned int);
--
-- int error, repair_mode, bytes_output, input_end;
--
-- /* I/O buffering */
-- unsigned char *inbuf, *i_ptr, *i_end, *o_ptr, *o_end;
-- unsigned int bit_buffer, bits_left, inbuf_size;
--
-- unsigned int window_posn; /* offset within window */
--
-- /* huffman code lengths */
-- unsigned char LITERAL_len[MSZIP_LITERAL_MAXSYMBOLS];
-- unsigned char DISTANCE_len[MSZIP_DISTANCE_MAXSYMBOLS];
--
-- /* huffman decoding tables */
-- unsigned short LITERAL_table [MSZIP_LITERAL_TABLESIZE];
-- unsigned short DISTANCE_table[MSZIP_DISTANCE_TABLESIZE];
--
-- /* 32kb history window */
-- unsigned char window[MSZIP_FRAME_SIZE];
--
-- /* cabinet related stuff */
-- struct cab_file *file;
-- int (*read_cb)(struct cab_file *, unsigned char *, int);
--
-- unsigned char wflag; /* write flag */
-- unsigned int last; /* prior end of content buffer */
--
--};
--
--struct mszip_stream *mszip_init(int ofd,
-- int input_buffer_size,
-- int repair_mode,
-- struct cab_file *file,
-- int (*read_cb)(struct cab_file *, unsigned char *, int));
--
--extern int mszip_decompress(struct mszip_stream *zip, uint32_t out_bytes);
--
--void mszip_free(struct mszip_stream *zip);
--
--
--/***************************************************************************
-- * Quantum decompression definitions *
-- ***************************************************************************/
--
--/* Quantum compression / decompression definitions */
--
--#define QTM_FRAME_SIZE (32768)
--
--struct qtm_modelsym {
-- unsigned short sym, cumfreq;
--};
--
--struct qtm_model {
-- int shiftsleft, entries;
-- struct qtm_modelsym *syms;
--};
--
--struct qtm_stream {
-- int ofd; /* output file descriptor */
--
-- unsigned char *window; /* decoding window */
-- unsigned int window_size; /* window size */
-- unsigned int window_posn; /* decompression offset within window */
-- unsigned int frame_start; /* start of current frame within window */
--
-- unsigned short H, L, C; /* high/low/current: arith coding state */
-- unsigned char header_read; /* have we started decoding a new frame? */
-- unsigned char wflag; /* write flag */
--
-- int error, input_end;
--
-- /* data tables */
-- unsigned int position_base[42];
-- unsigned char extra_bits[42], length_base[27], length_extra[27];
--
-- /* four literal models, each representing 64 symbols
-- * model0 for literals from 0 to 63 (selector = 0)
-- * model1 for literals from 64 to 127 (selector = 1)
-- * model2 for literals from 128 to 191 (selector = 2)
-- * model3 for literals from 129 to 255 (selector = 3) */
-- struct qtm_model model0, model1, model2, model3;
--
-- /* three match models.
-- * model4 for match with fixed length of 3 bytes
-- * model5 for match with fixed length of 4 bytes
-- * model6 for variable length match, encoded with model6len model */
-- struct qtm_model model4, model5, model6, model6len;
--
-- /* selector model. 0-6 to say literal (0,1,2,3) or match (4,5,6) */
-- struct qtm_model model7;
--
-- /* symbol arrays for all models */
-- struct qtm_modelsym m0sym[64 + 1];
-- struct qtm_modelsym m1sym[64 + 1];
-- struct qtm_modelsym m2sym[64 + 1];
-- struct qtm_modelsym m3sym[64 + 1];
-- struct qtm_modelsym m4sym[24 + 1];
-- struct qtm_modelsym m5sym[36 + 1];
-- struct qtm_modelsym m6sym[42 + 1], m6lsym[27 + 1];
-- struct qtm_modelsym m7sym[7 + 1];
--
-- /* I/O buffers - 1*/
-- unsigned int bit_buffer;
--
-- /* cabinet related stuff */
-- struct cab_file *file;
-- int (*read_cb)(struct cab_file *, unsigned char *, int);
--
-- /* I/O buffers - 2*/
-- unsigned char *inbuf, *i_ptr, *i_end, *o_ptr, *o_end;
-- unsigned int inbuf_size;
-- unsigned char bits_left;
--
--};
--
--extern struct qtm_stream *qtm_init(int ofd,
-- int window_bits,
-- int input_buffer_size,
-- struct cab_file *file,
-- int (*read_cb)(struct cab_file *, unsigned char *, int));
--
--extern int qtm_decompress(struct qtm_stream *qtm, uint32_t out_bytes);
--
--void qtm_free(struct qtm_stream *qtm);
--
--/***************************************************************************
-- * LZX decompression definitions *
-- ***************************************************************************/
--
--/* some constants defined by the LZX specification */
--#define LZX_MIN_MATCH (2)
--#define LZX_MAX_MATCH (257)
--#define LZX_NUM_CHARS (256)
--#define LZX_BLOCKTYPE_INVALID (0) /* also blocktypes 4-7 invalid */
--#define LZX_BLOCKTYPE_VERBATIM (1)
--#define LZX_BLOCKTYPE_ALIGNED (2)
--#define LZX_BLOCKTYPE_UNCOMPRESSED (3)
--#define LZX_PRETREE_NUM_ELEMENTS (20)
--#define LZX_ALIGNED_NUM_ELEMENTS (8) /* aligned offset tree #elements */
--#define LZX_NUM_PRIMARY_LENGTHS (7) /* this one missing from spec! */
--#define LZX_NUM_SECONDARY_LENGTHS (249) /* length tree #elements */
--
--/* LZX huffman defines: tweak tablebits as desired */
--#define LZX_PRETREE_MAXSYMBOLS (LZX_PRETREE_NUM_ELEMENTS)
--#define LZX_PRETREE_TABLEBITS (6)
--#define LZX_MAINTREE_MAXSYMBOLS (LZX_NUM_CHARS + 50*8)
--#define LZX_MAINTREE_TABLEBITS (12)
--#define LZX_LENGTH_MAXSYMBOLS (LZX_NUM_SECONDARY_LENGTHS+1)
--#define LZX_LENGTH_TABLEBITS (12)
--#define LZX_ALIGNED_MAXSYMBOLS (LZX_ALIGNED_NUM_ELEMENTS)
--#define LZX_ALIGNED_TABLEBITS (7)
--#define LZX_LENTABLE_SAFETY (64) /* table decoding overruns are allowed */
--
--#define LZX_FRAME_SIZE (32768) /* the size of a frame in LZX */
--
--struct lzx_stream {
-- int ofd; /* output file descriptor */
--
-- off_t offset; /* number of bytes actually output */
-- off_t length; /* overall decompressed length of stream */
--
-- unsigned char *window; /* decoding window */
-- unsigned int window_size; /* window size */
-- unsigned int window_posn; /* decompression offset within window */
-- unsigned int frame_posn; /* current frame offset within in window */
-- unsigned int frame; /* the number of 32kb frames processed */
-- unsigned int reset_interval; /* which frame do we reset the compressor? */
--
-- unsigned int R0, R1, R2; /* for the LRU offset system */
-- unsigned int block_length; /* uncompressed length of this LZX block */
-- unsigned int block_remaining; /* uncompressed bytes still left to decode */
--
-- signed int intel_filesize; /* magic header value used for transform */
-- signed int intel_curpos; /* current offset in transform space */
--
-- unsigned char intel_started; /* has intel E8 decoding started? */
-- unsigned char block_type; /* type of the current block */
-- unsigned char header_read; /* have we started decoding at all yet? */
-- unsigned char posn_slots; /* how many posn slots in stream? */
--
-- int error;
--
-- /* I/O buffering */
-- unsigned char *inbuf, *i_ptr, *i_end, *o_ptr, *o_end;
-- unsigned int bit_buffer, bits_left, inbuf_size;
--
-- /* huffman code lengths */
-- unsigned char PRETREE_len [LZX_PRETREE_MAXSYMBOLS + LZX_LENTABLE_SAFETY];
-- unsigned char MAINTREE_len [LZX_MAINTREE_MAXSYMBOLS + LZX_LENTABLE_SAFETY];
-- unsigned char LENGTH_len [LZX_LENGTH_MAXSYMBOLS + LZX_LENTABLE_SAFETY];
-- unsigned char ALIGNED_len [LZX_ALIGNED_MAXSYMBOLS + LZX_LENTABLE_SAFETY];
--
-- /* huffman decoding tables */
-- unsigned short PRETREE_table [(1 << LZX_PRETREE_TABLEBITS) +
-- (LZX_PRETREE_MAXSYMBOLS * 2)];
-- unsigned short MAINTREE_table[(1 << LZX_MAINTREE_TABLEBITS) +
-- (LZX_MAINTREE_MAXSYMBOLS * 2)];
-- unsigned short LENGTH_table [(1 << LZX_LENGTH_TABLEBITS) +
-- (LZX_LENGTH_MAXSYMBOLS * 2)];
-- unsigned short ALIGNED_table [(1 << LZX_ALIGNED_TABLEBITS) +
-- (LZX_ALIGNED_MAXSYMBOLS * 2)];
-- unsigned char input_end; /* have we reached the end of input? */
-- unsigned char wflag; /* write flag */
--
-- /* this is used purely for doing the intel E8 transform */
-- unsigned char e8_buf[LZX_FRAME_SIZE];
--
-- unsigned int position_base[51];
--
-- /* cabinet related stuff */
-- struct cab_file *file;
-- int (*read_cb)(struct cab_file *, unsigned char *, int);
--
-- unsigned char extra_bits[51];
--
--};
--
--struct lzx_stream *lzx_init(int ofd,
-- int window_bits,
-- int reset_interval,
-- int input_buffer_size,
-- off_t output_length,
-- struct cab_file *file,
-- int (*read_cb)(struct cab_file *, unsigned char *, int));
--
--extern void lzx_set_output_length(struct lzx_stream *lzx,
-- off_t output_length);
--
--extern int lzx_decompress(struct lzx_stream *lzx, uint32_t out_bytes);
--
--void lzx_free(struct lzx_stream *lzx);
--
--#endif
-diff --git a/libclamav/scanners.c b/libclamav/scanners.c
-index fa9063d08018..07a38eedc7a5 100644
---- a/libclamav/scanners.c
-+++ b/libclamav/scanners.c
-@@ -60,7 +60,7 @@
- #include "vba_extract.h"
- #include "msexpand.h"
- #include "mbox.h"
--#include "chmunpack.h"
-+#include "libmspack.h"
- #include "pe.h"
- #include "elf.h"
- #include "filetypes.h"
-@@ -73,8 +73,6 @@
- #include "sis.h"
- #include "pdf.h"
- #include "str.h"
--#include "mspack.h"
--#include "cab.h"
- #include "rtf.h"
- #include "unarj.h"
- #include "nsis/nulsft.h"
-@@ -853,82 +851,6 @@ static int cli_scanszdd(cli_ctx *ctx)
- return ret;
- }
-
--static int cli_scanmscab(cli_ctx *ctx, off_t sfx_offset)
--{
-- char *tempname;
-- int ret;
-- unsigned int files = 0;
-- struct cab_archive cab;
-- struct cab_file *file;
-- unsigned int corrupted_input;
-- unsigned int viruses_found = 0;
--
-- cli_dbgmsg("in cli_scanmscab()\n");
--
-- if((ret = cab_open(*ctx->fmap, sfx_offset, &cab)))
-- return ret;
--
-- for(file = cab.files; file; file = file->next) {
-- files++;
--
-- if(cli_matchmeta(ctx, file->name, 0, file->length, 0, files, 0, NULL) == CL_VIRUS) {
-- if (!SCAN_ALL) {
-- ret = CL_VIRUS;
-- break;
-- }
-- viruses_found++;
-- }
--
-- if(ctx->engine->maxscansize && ctx->scansize >= ctx->engine->maxscansize) {
-- ret = CL_CLEAN;
-- break;
-- }
--
-- if(!(tempname = cli_gentemp(ctx->engine->tmpdir))) {
-- ret = CL_EMEM;
-- break;
-- }
--
-- if(ctx->engine->maxscansize && ctx->scansize + ctx->engine->maxfilesize >= ctx->engine->maxscansize)
-- file->max_size = ctx->engine->maxscansize - ctx->scansize;
-- else
-- file->max_size = ctx->engine->maxfilesize ? ctx->engine->maxfilesize : 0xffffffff;
--
-- cli_dbgmsg("CAB: Extracting file %s to %s, size %u, max_size: %u\n", file->name, tempname, file->length, (unsigned int) file->max_size);
-- file->written_size = 0;
-- if((ret = cab_extract(file, tempname))) {
-- cli_dbgmsg("CAB: Failed to extract file: %s\n", cl_strerror(ret));
-- } else {
-- corrupted_input = ctx->corrupted_input;
-- if(file->length != file->written_size) {
-- cli_dbgmsg("CAB: Length from header %u but wrote %u bytes\n", (unsigned int) file->length, (unsigned int) file->written_size);
-- ctx->corrupted_input = 1;
-- }
-- ret = cli_scanfile(tempname, ctx);
-- ctx->corrupted_input = corrupted_input;
-- }
-- if(!ctx->engine->keeptmp) {
-- if (!access(tempname, R_OK) && cli_unlink(tempname)) {
-- free(tempname);
-- ret = CL_EUNLINK;
-- break;
-- }
-- }
-- free(tempname);
-- if(ret == CL_VIRUS) {
-- if (SCAN_ALL)
-- viruses_found++;
-- else
-- break;
-- }
-- }
--
-- cab_free(&cab);
-- if (viruses_found)
-- return CL_VIRUS;
-- return ret;
--}
--
- static int vba_scandata(const unsigned char *data, unsigned int len, cli_ctx *ctx)
- {
- struct cli_matcher *groot = ctx->engine->root[0];
-@@ -1568,72 +1490,6 @@ static int cli_scantar(cli_ctx *ctx, unsigned int posix)
- return ret;
- }
-
--static int cli_scanmschm(cli_ctx *ctx)
--{
-- int ret = CL_CLEAN, rc;
-- chm_metadata_t metadata;
-- char *dir;
-- unsigned int viruses_found = 0;
--
-- cli_dbgmsg("in cli_scanmschm()\n");
--
-- /* generate the temporary directory */
-- if(!(dir = cli_gentemp(ctx->engine->tmpdir)))
-- return CL_EMEM;
--
-- if(mkdir(dir, 0700)) {
-- cli_dbgmsg("CHM: Can't create temporary directory %s\n", dir);
-- free(dir);
-- return CL_ETMPDIR;
-- }
--
-- ret = cli_chm_open(dir, &metadata, ctx);
-- if (ret != CL_SUCCESS) {
-- if(!ctx->engine->keeptmp)
-- cli_rmdirs(dir);
-- free(dir);
-- cli_dbgmsg("CHM: Error: %s\n", cl_strerror(ret));
-- return ret;
-- }
--
-- do {
-- ret = cli_chm_prepare_file(&metadata);
-- if (ret != CL_SUCCESS) {
-- break;
-- }
-- ret = cli_chm_extract_file(dir, &metadata, ctx);
-- if (ret == CL_SUCCESS) {
-- rc = cli_magic_scandesc(metadata.ofd, ctx);
-- close(metadata.ofd);
-- if (rc == CL_VIRUS) {
-- cli_dbgmsg("CHM: infected with %s\n", cli_get_last_virus(ctx));
-- if (SCAN_ALL)
-- viruses_found++;
-- else {
-- ret = CL_VIRUS;
-- break;
-- }
-- }
-- }
--
-- } while(ret == CL_SUCCESS);
--
-- cli_chm_close(&metadata);
--
-- if(!ctx->engine->keeptmp)
-- cli_rmdirs(dir);
--
-- free(dir);
--
-- cli_dbgmsg("CHM: Exit code: %d\n", ret);
-- if (ret == CL_BREAK)
-- ret = CL_CLEAN;
--
-- if (SCAN_ALL && viruses_found)
-- return CL_VIRUS;
-- return ret;
--}
--
- static int cli_scanscrenc(cli_ctx *ctx)
- {
- char *tempname;
diff --git a/recipes-security/clamav/clamav-0.98.5/0008-Add-upstream-systemd-support-for-clamav-daemon-and-c.patch b/recipes-security/clamav/clamav-0.98.5/0008-Add-upstream-systemd-support-for-clamav-daemon-and-c.patch
deleted file mode 100644
index 2229296..0000000
--- a/recipes-security/clamav/clamav-0.98.5/0008-Add-upstream-systemd-support-for-clamav-daemon-and-c.patch
+++ /dev/null
@@ -1,655 +0,0 @@
-From d2564db5d3f50adc67474ffb22b0ee7027a82828 Mon Sep 17 00:00:00 2001
-From: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
-Date: Mon, 11 Aug 2014 23:22:05 +0200
-Subject: Add upstream systemd support for clamav-daemon and clamav-freshclam.
-
----
- Makefile.am | 2 +-
- clamd/Makefile.am | 4 ++
- clamd/clamav-daemon.service.in | 17 ++++++
- clamd/clamav-daemon.socket | 12 ++++
- clamd/clamd.c | 102 +++++++++++++++++++++++++++-------
- clamd/localserver.c | 34 ++++++++++++
- clamd/server-th.c | 55 +++++++++++-------
- clamd/tcpserver.c | 50 +++++++++++++++++
- configure.ac | 3 +
- freshclam/Makefile.am | 4 ++
- freshclam/clamav-freshclam.service.in | 12 ++++
- freshclam/freshclam.c | 39 +++++++++++--
- m4/reorganization/libs/systemd.m4 | 18 ++++++
- shared/misc.h | 8 +++
- shared/optparser.c | 2 +-
- 15 files changed, 318 insertions(+), 44 deletions(-)
- create mode 100644 clamd/clamav-daemon.service.in
- create mode 100644 clamd/clamav-daemon.socket
- create mode 100644 freshclam/clamav-freshclam.service.in
- create mode 100644 m4/reorganization/libs/systemd.m4
-
-diff --git a/Makefile.am b/Makefile.am
-index 2eecd94b668b..017d6327ff58 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -33,7 +33,7 @@ pkgconfig_DATA = libclamav.pc
- # don't complain that configuration files and databases are not removed, this is intended
- distuninstallcheck_listfiles = find . -type f ! -name clamd.conf ! -name freshclam.conf ! -name daily.cvd ! -name main.cvd -print
- DISTCLEANFILES = target.h
--DISTCHECK_CONFIGURE_FLAGS=--enable-milter --disable-clamav --enable-all-jit-targets --enable-llvm=yes
-+DISTCHECK_CONFIGURE_FLAGS=--enable-milter --disable-clamav --enable-all-jit-targets --enable-llvm=yes --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
- lcov:
- ($(MAKE); cd unit_tests; $(MAKE) lcov)
- quick-check:
-diff --git a/clamd/Makefile.am b/clamd/Makefile.am
-index 61bbd69d1133..edc133138e58 100644
---- a/clamd/Makefile.am
-+++ b/clamd/Makefile.am
-@@ -50,6 +50,10 @@ clamd_SOURCES = \
-
- AM_CFLAGS=@WERR_CFLAGS@
-
-+if INSTALL_SYSTEMD_UNITS
-+systemdsystemunit_DATA = clamav-daemon.socket clamav-daemon.service
-+endif
-+
- endif
-
- LIBS = $(top_builddir)/libclamav/libclamav.la @CLAMD_LIBS@ @THREAD_LIBS@
-diff --git a/clamd/clamav-daemon.service.in b/clamd/clamav-daemon.service.in
-new file mode 100644
-index 000000000000..0a5d456a2b36
---- /dev/null
-+++ b/clamd/clamav-daemon.service.in
-@@ -0,0 +1,17 @@
-+[Unit]
-+Description=Clam AntiVirus userspace daemon
-+Documentation=man:clamd(8) man:clamd.conf(5) http://www.clamav.net/lang/en/doc/
-+Requires=clamav-daemon.socket
-+# Check for database existence
-+ConditionPathExistsGlob=@DBDIR@/main.{c[vl]d,inc}
-+ConditionPathExistsGlob=@DBDIR@/daily.{c[vl]d,inc}
-+
-+[Service]
-+ExecStart=@prefix@/sbin/clamd --foreground=true
-+# Reload the database
-+ExecReload=/bin/kill -USR2 $MAINPID
-+StandardOutput=syslog
-+
-+[Install]
-+WantedBy=multi-user.target
-+Also=clamav-daemon.socket
-diff --git a/clamd/clamav-daemon.socket b/clamd/clamav-daemon.socket
-new file mode 100644
-index 000000000000..43a34cd36aad
---- /dev/null
-+++ b/clamd/clamav-daemon.socket
-@@ -0,0 +1,12 @@
-+[Unit]
-+Description=Socket for Clam AntiVirus userspace daemon
-+Documentation=man:clamd(8) man:clamd.conf(5) http://www.clamav.net/lang/en/doc/
-+
-+[Socket]
-+ListenStream=/run/clamav/clamd.ctl
-+#ListenStream=127.0.0.1:1024
-+ExecStartPost=/bin/chown -R clamav:clamav /run/clamav/
-+ExecStopPost=/bin/rm /run/clamav/clamd.ctl
-+
-+[Install]
-+WantedBy=sockets.target
-diff --git a/clamd/clamd.c b/clamd/clamd.c
-index 96204291f433..ec15eacc8c25 100644
---- a/clamd/clamd.c
-+++ b/clamd/clamd.c
-@@ -72,7 +72,7 @@
- #include "scanner.h"
-
- short debug_mode = 0, logok = 0;
--short foreground = 0;
-+short foreground = -1;
- char hostid[37];
-
- char *get_hostid(void *cbdata);
-@@ -160,6 +160,31 @@ int main(int argc, char **argv)
- debug_mode = 1;
- }
-
-+ /* check foreground option from command line to override config file */
-+ int j;
-+ for(j = 0; j < argc; j += 1)
-+ {
-+ if ((memcmp(argv[j], "--foreground", 12) == 0) || (memcmp(argv[j], "-F", 2) == 0))
-+ {
-+ /* found */
-+ break;
-+ }
-+ }
-+
-+ if (j < argc)
-+ {
-+ if(optget(opts, "Foreground")->enabled)
-+ {
-+ foreground = 1;
-+ }
-+ else
-+ {
-+ foreground = 0;
-+ }
-+ }
-+
-+ int num_fd = sd_listen_fds(0);
-+
- /* parse the config file */
- cfgfile = optget(opts, "config-file")->strarg;
- pt = strdup(cfgfile);
-@@ -295,7 +320,9 @@ int main(int argc, char **argv)
- if(optget(opts, "LocalSocket")->enabled)
- localsock = 1;
-
-- if(!tcpsock && !localsock) {
-+ logg("#Received %d file descriptor(s) from systemd.\n", num_fd);
-+
-+ if(!tcpsock && !localsock && num_fd == 0) {
- logg("!Please define server type (local and/or TCP).\n");
- ret = 1;
- break;
-@@ -577,7 +604,9 @@ int main(int argc, char **argv)
- break;
- }
-
-- if(tcpsock) {
-+ if(tcpsock || num_fd > 0) {
-+ int *t;
-+
- opt = optget(opts, "TCPAddr");
- if (opt->enabled) {
- int breakout = 0;
-@@ -604,7 +633,7 @@ int main(int argc, char **argv)
- }
- }
- #ifndef _WIN32
-- if(localsock) {
-+ if(localsock && num_fd == 0) {
- int *t;
- mode_t sock_mode, umsk = umask(0777); /* socket is created with 000 to avoid races */
-
-@@ -666,8 +695,43 @@ int main(int argc, char **argv)
- nlsockets++;
- }
-
-+ /* check for local sockets passed by systemd */
-+ if (num_fd > 0)
-+ {
-+ int *t;
-+ t = realloc(lsockets, sizeof(int) * (nlsockets + 1));
-+ if (!(t)) {
-+ ret = 1;
-+ break;
-+ }
-+ lsockets = t;
-+
-+ lsockets[nlsockets] = localserver(opts);
-+ if (lsockets[nlsockets] == -1)
-+ {
-+ ret = 1;
-+ break;
-+ }
-+ else if (lsockets[nlsockets] > 0)
-+ {
-+ nlsockets++;
-+ }
-+ }
-+
- /* fork into background */
-- if(!optget(opts, "Foreground")->enabled) {
-+ if (foreground == -1)
-+ {
-+ if (optget(opts, "Foreground")->enabled)
-+ {
-+ foreground = 1;
-+ }
-+ else
-+ {
-+ foreground = 0;
-+ }
-+ }
-+ if(foreground == 0)
-+ {
- #ifdef C_BSD
- /* workaround for OpenBSD bug, see https://wwws.clamav.net/bugzilla/show_bug.cgi?id=885 */
- for(ret=0;(unsigned int)ret<nlsockets;ret++) {
-@@ -701,8 +765,6 @@ int main(int argc, char **argv)
- if(chdir("/") == -1)
- logg("^Can't change current working directory to root\n");
-
-- } else {
-- foreground = 1;
- }
- #endif
-
-@@ -716,22 +778,24 @@ int main(int argc, char **argv)
-
- } while (0);
-
-- logg("*Closing the main socket%s.\n", (nlsockets > 1) ? "s" : "");
--
-- for (i = 0; i < nlsockets; i++) {
-- closesocket(lsockets[i]);
-- }
-+ if (num_fd == 0)
-+ {
-+ logg("*Closing the main socket%s.\n", (nlsockets > 1) ? "s" : "");
-
-+ for (i = 0; i < nlsockets; i++) {
-+ closesocket(lsockets[i]);
-+ }
- #ifndef _WIN32
-- if(nlsockets && localsock) {
-- opt = optget(opts, "LocalSocket");
-+ if(nlsockets && localsock) {
-+ opt = optget(opts, "LocalSocket");
-
-- if(unlink(opt->strarg) == -1)
-- logg("!Can't unlink the socket file %s\n", opt->strarg);
-- else
-- logg("Socket file removed.\n");
-- }
-+ if(unlink(opt->strarg) == -1)
-+ logg("!Can't unlink the socket file %s\n", opt->strarg);
-+ else
-+ logg("Socket file removed.\n");
-+ }
- #endif
-+ }
-
- free(lsockets);
-
-diff --git a/clamd/localserver.c b/clamd/localserver.c
-index db07415212ad..d963efd244f5 100644
---- a/clamd/localserver.c
-+++ b/clamd/localserver.c
-@@ -39,6 +39,7 @@
-
- #include "shared/optparser.h"
- #include "shared/output.h"
-+#include "shared/misc.h"
-
- #include "others.h"
- #include "server.h"
-@@ -60,6 +61,39 @@ int localserver(const struct optstruct *opts)
- STATBUF foo;
- char *estr;
-
-+ int num_fd = sd_listen_fds(0);
-+ if (num_fd > 2)
-+ {
-+ logg("!LOCAL: Received more than two file descriptors from systemd.\n");
-+ return -1;
-+ }
-+ else if (num_fd > 0)
-+ {
-+ /* use socket passed by systemd */
-+ int i;
-+ for(i = 0; i < num_fd; i += 1)
-+ {
-+ sockfd = SD_LISTEN_FDS_START + i;
-+ if (sd_is_socket(sockfd, AF_UNIX, SOCK_STREAM, 1) == 1)
-+ {
-+ /* correct socket */
-+ break;
-+ }
-+ else
-+ {
-+ /* wrong socket */
-+ sockfd = -2;
-+ }
-+ }
-+ if (sockfd == -2)
-+ {
-+ logg("#LOCAL: No local AF_UNIX SOCK_STREAM socket received from systemd.\n");
-+ return -2;
-+ }
-+ logg("#LOCAL: Received AF_UNIX SOCK_STREAM socket from systemd.\n");
-+ return sockfd;
-+ }
-+ /* create socket */
- memset((char *) &server, 0, sizeof(server));
- server.sun_family = AF_UNIX;
- strncpy(server.sun_path, optget(opts, "LocalSocket")->strarg, sizeof(server.sun_path));
-diff --git a/clamd/server-th.c b/clamd/server-th.c
-index d97cd6fb34e1..5c12811b662b 100644
---- a/clamd/server-th.c
-+++ b/clamd/server-th.c
-@@ -48,6 +48,7 @@
-
- #include "shared/output.h"
- #include "shared/optparser.h"
-+#include "shared/misc.h"
-
- #include "fan.h"
- #include "server.h"
-@@ -445,13 +446,19 @@ static void *acceptloop_th(void *arg)
- }
- pthread_mutex_unlock(fds->buf_mutex);
-
-- for (i=0;i < fds->nfds; i++) {
-- if (fds->buf[i].fd == -1)
-- continue;
-- logg("$Shutdown: closed fd %d\n", fds->buf[i].fd);
-- shutdown(fds->buf[i].fd, 2);
-- closesocket(fds->buf[i].fd);
-+ if (sd_listen_fds(0) == 0)
-+ {
-+ /* only close the sockets, when not using systemd socket activation */
-+ for (i=0;i < fds->nfds; i++)
-+ {
-+ if (fds->buf[i].fd == -1)
-+ continue;
-+ logg("$Shutdown: closed fd %d\n", fds->buf[i].fd);
-+ shutdown(fds->buf[i].fd, 2);
-+ closesocket(fds->buf[i].fd);
-+ }
- }
-+
- fds_free(fds);
- pthread_mutex_destroy(fds->buf_mutex);
- pthread_mutex_lock(&exit_mutex);
-@@ -1344,16 +1351,22 @@ int recvloop_th(int *socketds, unsigned nsockets, struct cl_engine *engine, unsi
- if (progexit) {
- pthread_mutex_unlock(&exit_mutex);
- pthread_mutex_lock(fds->buf_mutex);
-- for (i=0;i < fds->nfds; i++) {
-- if (fds->buf[i].fd == -1)
-- continue;
-- thrmgr_group_terminate(fds->buf[i].group);
-- if (thrmgr_group_finished(fds->buf[i].group, EXIT_ERROR)) {
-- logg("$Shutdown closed fd %d\n", fds->buf[i].fd);
-- shutdown(fds->buf[i].fd, 2);
-- closesocket(fds->buf[i].fd);
-- fds->buf[i].fd = -1;
-- }
-+ if (sd_listen_fds(0) == 0)
-+ {
-+ /* only close the sockets, when not using systemd socket activation */
-+ for (i=0;i < fds->nfds; i++)
-+ {
-+ if (fds->buf[i].fd == -1)
-+ continue;
-+ thrmgr_group_terminate(fds->buf[i].group);
-+ if (thrmgr_group_finished(fds->buf[i].group, EXIT_ERROR))
-+ {
-+ logg("$Shutdown closed fd %d\n", fds->buf[i].fd);
-+ shutdown(fds->buf[i].fd, 2);
-+ closesocket(fds->buf[i].fd);
-+ fds->buf[i].fd = -1;
-+ }
-+ }
- }
- pthread_mutex_unlock(fds->buf_mutex);
- break;
-@@ -1462,9 +1475,13 @@ int recvloop_th(int *socketds, unsigned nsockets, struct cl_engine *engine, unsi
- #endif
- if(dbstat.entries)
- cl_statfree(&dbstat);
-- logg("*Shutting down the main socket%s.\n", (nsockets > 1) ? "s" : "");
-- for (i = 0; i < nsockets; i++)
-- shutdown(socketds[i], 2);
-+ if (sd_listen_fds(0) == 0)
-+ {
-+ /* only close the sockets, when not using systemd socket activation */
-+ logg("*Shutting down the main socket%s.\n", (nsockets > 1) ? "s" : "");
-+ for (i = 0; i < nsockets; i++)
-+ shutdown(socketds[i], 2);
-+ }
-
- if((opt = optget(opts, "PidFile"))->enabled) {
- if(unlink(opt->strarg) == -1)
-diff --git a/clamd/tcpserver.c b/clamd/tcpserver.c
-index c3027a85c1f4..81387b3c8512 100644
---- a/clamd/tcpserver.c
-+++ b/clamd/tcpserver.c
-@@ -60,6 +60,56 @@ int tcpserver(int **lsockets, unsigned int *nlsockets, char *ipaddr, const struc
-
- sockets = *lsockets;
-
-+ int num_fd = sd_listen_fds(0);
-+ if (num_fd > 2)
-+ {
-+ logg("!TCP: Received more than two file descriptors from systemd.\n");
-+ return -1;
-+ }
-+ else if (num_fd > 0)
-+ {
-+ /* use socket passed by systemd */
-+ int i;
-+ for(i = 0; i < num_fd; i += 1)
-+ {
-+ sockfd = SD_LISTEN_FDS_START + i;
-+ if (sd_is_socket(sockfd, AF_INET, SOCK_STREAM, 1) == 1)
-+ {
-+ /* correct socket */
-+ logg("#TCP: Received AF_INET SOCK_STREAM socket from systemd.\n");
-+ break;
-+ }
-+ else if (sd_is_socket(sockfd, AF_INET6, SOCK_STREAM, 1) == 1)
-+ {
-+ /* correct socket */
-+ logg("#TCP: Received AF_INET6 SOCK_STREAM socket from systemd.\n");
-+ break;
-+ }
-+ else
-+ {
-+ /* wrong socket */
-+ sockfd = -2;
-+ }
-+ }
-+ if (sockfd == -2)
-+ {
-+ logg("#TCP: No tcp AF_INET/AF_INET6 SOCK_STREAM socket received from systemd.\n");
-+ return -2;
-+ }
-+
-+ t = realloc(sockets, sizeof(int) * (*nlsockets + 1));
-+ if (!(t)) {
-+ return -1;
-+ }
-+ sockets = t;
-+
-+ sockets[*nlsockets] = sockfd;
-+ (*nlsockets)++;
-+ *lsockets = sockets;
-+ return 0;
-+ }
-+
-+ /* create socket */
- snprintf(port, sizeof(port), "%lld", optget(opts, "TCPSocket")->numarg);
-
- memset(&hints, 0x00, sizeof(struct addrinfo));
-diff --git a/configure.ac b/configure.ac
-index 41043753fc92..02caad29410a 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -86,6 +86,7 @@ AM_MAINTAINER_MODE
- m4_include([m4/reorganization/libs/libz.m4])
- m4_include([m4/reorganization/libs/bzip.m4])
- m4_include([m4/reorganization/libs/unrar.m4])
-+m4_include([m4/reorganization/libs/systemd.m4])
- m4_include([m4/reorganization/code_checks/ipv6.m4])
- m4_include([m4/reorganization/code_checks/dns.m4])
- m4_include([m4/reorganization/code_checks/fanotify.m4])
-@@ -137,9 +138,11 @@ clamscan/Makefile
- database/Makefile
- docs/Makefile
- clamd/Makefile
-+clamd/clamav-daemon.service
- clamdscan/Makefile
- clamsubmit/Makefile
- clamav-milter/Makefile
-+freshclam/clamav-freshclam.service
- freshclam/Makefile
- sigtool/Makefile
- clamconf/Makefile
-diff --git a/freshclam/Makefile.am b/freshclam/Makefile.am
-index 58fc17471c35..051bf3380e98 100644
---- a/freshclam/Makefile.am
-+++ b/freshclam/Makefile.am
-@@ -49,6 +49,10 @@ freshclam_SOURCES = \
- mirman.c \
- mirman.h
-
-+if INSTALL_SYSTEMD_UNITS
-+systemdsystemunit_DATA = clamav-freshclam.service
-+endif
-+
- AM_CFLAGS=@WERR_CFLAGS@
- DEFS = @DEFS@ -DCL_NOTHREADS
- AM_CPPFLAGS = @SSL_CPPFLAGS@ -I$(top_srcdir) -I$(top_srcdir)/shared -I$(top_srcdir)/libclamav @FRESHCLAM_CPPFLAGS@ @JSON_CPPFLAGS@
-diff --git a/freshclam/clamav-freshclam.service.in b/freshclam/clamav-freshclam.service.in
-new file mode 100644
-index 000000000000..f717cd642106
---- /dev/null
-+++ b/freshclam/clamav-freshclam.service.in
-@@ -0,0 +1,12 @@
-+[Unit]
-+Description=ClamAV virus database updater
-+Documentation=man:freshclam(1) man:freshclam.conf(5) http://www.clamav.net/lang/en/doc/
-+# If user wants it run from cron, don't start the daemon.
-+ConditionPathExists=!/etc/cron.d/clamav-freshclam
-+
-+[Service]
-+ExecStart=@prefix@/bin/freshclam -d --foreground=true
-+StandardOutput=syslog
-+
-+[Install]
-+WantedBy=multi-user.target
-diff --git a/freshclam/freshclam.c b/freshclam/freshclam.c
-index 166586bf6447..f170613877c4 100644
---- a/freshclam/freshclam.c
-+++ b/freshclam/freshclam.c
-@@ -64,7 +64,7 @@
- static short terminate = 0;
- extern int active_children;
-
--static short foreground = 1;
-+static short foreground = -1;
- char updtmpdir[512], dbdir[512];
- int sigchld_wait = 1;
- const char *pidfile = NULL;
-@@ -117,7 +117,7 @@ sighandler (int sig)
- if (pidfile)
- unlink (pidfile);
- logg ("Update process terminated\n");
-- exit (2);
-+ exit (0);
- }
-
- return;
-@@ -322,6 +322,26 @@ main (int argc, char **argv)
- return 0;
- }
-
-+ /* check foreground option from command line to override config file */
-+ int j;
-+ for(j = 0; j < argc; j += 1)
-+ {
-+ if ((memcmp(argv[j], "--foreground", 12) == 0) || (memcmp(argv[j], "-F", 2) == 0))
-+ {
-+ /* found */
-+ break;
-+ }
-+ }
-+
-+ if (j < argc) {
-+ if(optget(opts, "Foreground")->enabled) {
-+ foreground = 1;
-+ }
-+ else {
-+ foreground = 0;
-+ }
-+ }
-+
- /* parse the config file */
- cfgfile = optget (opts, "config-file")->strarg;
- pt = strdup (cfgfile);
-@@ -638,7 +658,19 @@ main (int argc, char **argv)
- bigsleep = 24 * 3600 / checks;
-
- #ifndef _WIN32
-- if (!optget (opts, "Foreground")->enabled)
-+ /* fork into background */
-+ if (foreground == -1)
-+ {
-+ if (optget(opts, "Foreground")->enabled)
-+ {
-+ foreground = 1;
-+ }
-+ else
-+ {
-+ foreground = 0;
-+ }
-+ }
-+ if(foreground == 0)
- {
- if (daemonize () == -1)
- {
-@@ -646,7 +678,6 @@ main (int argc, char **argv)
- optfree (opts);
- return FCE_FAILEDUPDATE;
- }
-- foreground = 0;
- mprintf_disabled = 1;
- }
- #endif
-diff --git a/m4/reorganization/libs/systemd.m4 b/m4/reorganization/libs/systemd.m4
-new file mode 100644
-index 000000000000..cac5d4272fda
---- /dev/null
-+++ b/m4/reorganization/libs/systemd.m4
-@@ -0,0 +1,18 @@
-+dnl Check for systemd-daemon
-+PKG_CHECK_MODULES(SYSTEMD, [libsystemd-daemon], [AC_DEFINE([HAVE_SYSTEMD],,[systemd-daemon is supported])], [AC_MSG_RESULT([systemd-daemon is not supported])])
-+CLAMD_LIBS="$CLAMD_LIBS $SYSTEMD_LIBS"
-+CFLAGS="$CFLAGS $SYSTEMD_CFLAGS"
-+
-+dnl Check for systemd system unit installation directory (see man 7 daemon)
-+AC_ARG_WITH([systemdsystemunitdir], AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),, [with_systemdsystemunitdir=auto])
-+AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"], [
-+ def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)
-+ AS_IF([test "x$def_systemdsystemunitdir" = "x"],
-+ [AS_IF([test "x$with_systemdsystemunitdir" = "xyes"], [AC_MSG_ERROR([systemd support requested but pkg-config unable to query systemd package])])
-+ with_systemdsystemunitdir=no],
-+ [with_systemdsystemunitdir=$def_systemdsystemunitdir])])
-+AS_IF([test "x$with_systemdsystemunitdir" != "xno"],
-+ [AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])])
-+AM_CONDITIONAL(INSTALL_SYSTEMD_UNITS, [test "x$with_systemdsystemunitdir" != "xno"])
-+AC_MSG_RESULT([checking for systemd system unit installation directory... $with_systemdsystemunitdir])
-+
-diff --git a/shared/misc.h b/shared/misc.h
-index 7f3a9f962d0d..3e093936caa1 100644
---- a/shared/misc.h
-+++ b/shared/misc.h
-@@ -37,6 +37,14 @@
- # endif
- #endif
-
-+#ifdef HAVE_SYSTEMD
-+# include <systemd/sd-daemon.h>
-+#else
-+# define sd_listen_fds(u) 0
-+# define SD_LISTEN_FDS_START 3
-+# define sd_is_socket(f, a, s, l) 1
-+#endif
-+
- #include <limits.h>
-
- #ifndef PATH_MAX
-diff --git a/shared/optparser.c b/shared/optparser.c
-index 63c88550d5b8..b61ec832a32f 100644
---- a/shared/optparser.c
-+++ b/shared/optparser.c
-@@ -272,7 +272,7 @@ const struct clam_option __clam_options[] = {
-
- { "AllowAllMatchScan", NULL, 0, CLOPT_TYPE_BOOL, MATCH_BOOL, 1, NULL, 0, OPT_CLAMD, "Permit use of the ALLMATCHSCAN command.", "yes" },
-
-- { "Foreground", NULL, 0, CLOPT_TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_CLAMD | OPT_FRESHCLAM | OPT_MILTER, "Don't fork into background.", "no" },
-+ { "Foreground", "foreground", 'F', CLOPT_TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_CLAMD | OPT_FRESHCLAM | OPT_MILTER, "Don't fork into background.", "no" },
-
- { "Debug", NULL, 0, CLOPT_TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_CLAMD | OPT_FRESHCLAM, "Enable debug messages in libclamav.", "no" },
-
diff --git a/recipes-security/clamav/clamav-0.98.5/0009-fix-ssize_t-size_t-off_t-printf-modifier.patch b/recipes-security/clamav/clamav-0.98.5/0009-fix-ssize_t-size_t-off_t-printf-modifier.patch
deleted file mode 100644
index ee60f92..0000000
--- a/recipes-security/clamav/clamav-0.98.5/0009-fix-ssize_t-size_t-off_t-printf-modifier.patch
+++ /dev/null
@@ -1,478 +0,0 @@
-From 26516ebe7ae678be78e748bc973835844e369f72 Mon Sep 17 00:00:00 2001
-From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
-Date: Sun, 17 Aug 2014 21:24:03 +0200
-Subject: fix ssize_t/size_t/off_t printf modifier
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This fixes a segfault on ARM, Sparc, … if 64bit off_t is used. Once LFS
-is enabled then off_t becomes 64bit and there is no portable way to express
-it except to cast the variable to signed long long. However with LFS
-enabled we can spare that cast.
-The 32bit Architectures may explode here because the earlier 64bit off_t
-consumes two argument slots and the filename (on which glibc uses
-strlen()) becomes invalid.
-
-In brief:
-ssize_t -> %zd
-size_t -> %zu
-off_t -> %llu (with LFS enabled)
-
-https://bugzilla.clamav.net/show_bug.cgi?id=11092
-
-Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
----
- clamd/clamd.c | 2 +-
- clamd/server-th.c | 3 ++-
- libclamav/adc.c | 5 +++--
- libclamav/asn1.c | 3 ++-
- libclamav/bytecode.c | 4 ++--
- libclamav/bytecode_api.c | 2 +-
- libclamav/hashtab.c | 32 +++++++++++++++++++++-----------
- libclamav/jsparse/js-norm.c | 6 ++++--
- libclamav/matcher.c | 6 ++++--
- libclamav/pdf.c | 29 +++++++++++++++++++----------
- libclamav/regex_list.c | 5 ++++-
- libclamav/scanners.c | 5 +++--
- shared/misc.h | 4 ++++
- shared/output.c | 3 ++-
- sigtool/sigtool.c | 3 ++-
- 15 files changed, 74 insertions(+), 38 deletions(-)
-
-diff --git a/clamd/clamd.c b/clamd/clamd.c
-index ec15eacc8c25..8c87e1bb9a87 100644
---- a/clamd/clamd.c
-+++ b/clamd/clamd.c
-@@ -355,7 +355,7 @@ int main(int argc, char **argv)
-
-
- if(logg_size)
-- logg("#Log file size limited to %u bytes.\n", logg_size);
-+ logg("#Log file size limited to %" PRId64 "bytes.\n", logg_size);
- else
- logg("#Log file size limit disabled.\n");
-
-diff --git a/clamd/server-th.c b/clamd/server-th.c
-index 5c12811b662b..84086f39fbfb 100644
---- a/clamd/server-th.c
-+++ b/clamd/server-th.c
-@@ -689,7 +689,8 @@ static int handle_stream(client_conn_t *conn, struct fd_buf *buf, const struct o
- logg("!INSTREAM: Can't write to temporary file.\n");
- *error = 1;
- }
-- logg("$Processed %lu bytes of chunkdata, pos %lu\n", cmdlen, pos);
-+ logg("$Processed %" _sizet " bytes of chunkdata, pos %" _sizet "\n",
-+ cmdlen, pos);
- pos += cmdlen;
- if (pos == buf->off) {
- buf->off = 0;
-diff --git a/libclamav/adc.c b/libclamav/adc.c
-index 6ad00ea96571..684335f1bfb5 100644
---- a/libclamav/adc.c
-+++ b/libclamav/adc.c
-@@ -28,6 +28,7 @@
- #include <string.h>
- #endif
-
-+#include "shared/misc.h"
- #include "clamav.h"
- #include "cltypes.h"
- #include "others.h"
-@@ -86,8 +87,8 @@ int adc_decompress(adc_stream *strm)
- return ADC_DATA_ERROR;
- }
-
-- cli_dbgmsg("adc_decompress: avail_in %lu avail_out %lu state %u\n", strm->avail_in, strm->avail_out, strm->state);
--
-+ cli_dbgmsg("adc_decompress: avail_in %" _sizet " avail_out %" _sizet " state %u\n",
-+ strm->avail_in, strm->avail_out, strm->state);
- while (strm->avail_out) {
- /* Exit if needs more in bytes and none available */
- int needsInput;
-diff --git a/libclamav/asn1.c b/libclamav/asn1.c
-index c6cf0dd00c50..e6f55642640d 100644
---- a/libclamav/asn1.c
-+++ b/libclamav/asn1.c
-@@ -24,6 +24,7 @@
-
- #include <time.h>
-
-+#include "shared/misc.h"
- #include "clamav.h"
- #include "asn1.h"
- #include "bignum.h"
-@@ -1481,7 +1482,7 @@ int asn1_check_mscat(struct cl_engine *engine, fmap_t *map, size_t offset, unsig
- if (engine->dconf->pe & PE_CONF_DISABLECERT)
- return CL_VIRUS;
-
-- cli_dbgmsg("in asn1_check_mscat (offset: %lu)\n", offset);
-+ cli_dbgmsg("in asn1_check_mscat (offset: %" _sizet ")\n", offset);
- crtmgr_init(&certs);
- if(crtmgr_add_roots(engine, &certs)) {
- crtmgr_free(&certs);
-diff --git a/libclamav/bytecode.c b/libclamav/bytecode.c
-index 28d2d716f93b..b34f818fdaba 100644
---- a/libclamav/bytecode.c
-+++ b/libclamav/bytecode.c
-@@ -1489,8 +1489,8 @@ void cli_sigperf_print()
- cli_infomsg (NULL, "%-*s %*s %*s %*s %*s\n", max_name_len, "=============",
- 8, "=====", 8, "========", 12, "===========", 9, "=========");
- while (elem->run_count) {
-- cli_infomsg (NULL, "%-*s %*lu %*lu %*llu %*.2f\n", max_name_len, elem->bc_name,
-- 8, elem->run_count, 8, elem->match_count,
-+ cli_infomsg (NULL, "%-*s %*lu %*lu %*" PRIu64 " %*.2f\n", max_name_len,
-+ elem->bc_name, 8, elem->run_count, 8, elem->match_count,
- 12, elem->usecs, 9, (double)elem->usecs/elem->run_count);
- elem++;
- }
-diff --git a/libclamav/bytecode_api.c b/libclamav/bytecode_api.c
-index 5bded4ebaca0..72a9393183a2 100644
---- a/libclamav/bytecode_api.c
-+++ b/libclamav/bytecode_api.c
-@@ -122,7 +122,7 @@ int32_t cli_bcapi_seek(struct cli_bc_ctx* ctx, int32_t pos, uint32_t whence)
- return -1;
- }
- if (off < 0 || off > ctx->file_size) {
-- cli_dbgmsg("bcapi_seek: out of file: %ld (max %d)\n",
-+ cli_dbgmsg("bcapi_seek: out of file: %" PRId64 " (max %d)\n",
- off, ctx->file_size);
- return -1;
- }
-diff --git a/libclamav/hashtab.c b/libclamav/hashtab.c
-index 88e81ba2c2ef..cafce3ac8927 100644
---- a/libclamav/hashtab.c
-+++ b/libclamav/hashtab.c
-@@ -25,6 +25,7 @@
- #include <stdio.h>
- #include <string.h>
-
-+#include "shared/misc.h"
- #include "cltypes.h"
- #include "clamav.h"
- #include "others.h"
-@@ -329,9 +330,10 @@ static int cli_hashtab_grow(struct cli_hashtable *s)
- struct cli_element* htable;
- size_t i,idx, used = 0;
-
-- cli_dbgmsg("hashtab.c: new capacity: %lu\n",new_capacity);
-+ cli_dbgmsg("hashtab.c: new capacity: %" _sizet "\n",new_capacity);
- if(new_capacity == s->capacity) {
-- cli_errmsg("hashtab.c: capacity problem growing from: %lu\n",s->capacity);
-+ cli_errmsg("hashtab.c: capacity problem growing from: %" _sizet
-+ "\n", s->capacity);
- return CL_EMEM;
- }
- htable = cli_calloc(new_capacity, sizeof(*s->htable));
-@@ -372,7 +374,7 @@ static int cli_hashtab_grow(struct cli_hashtable *s)
- s->used = used;
- s->capacity = new_capacity;
- s->maxfill = new_capacity*8/10;
-- cli_dbgmsg("Table %p size after grow:%ld\n",(void*)s,s->capacity);
-+ cli_dbgmsg("Table %p size after grow: %" _sizet "\n", s, s->capacity);
- PROFILE_GROW_DONE(s);
- return CL_SUCCESS;
- }
-@@ -386,7 +388,7 @@ static int cli_htu32_grow(struct cli_htu32 *s, mpool_t *mempool)
- const size_t new_capacity = nearest_power(s->capacity + 1);
- struct cli_htu32_element* htable = mpool_calloc(mempool, new_capacity, sizeof(*s->htable));
- size_t i,idx, used = 0;
-- cli_dbgmsg("hashtab.c: new capacity: %lu\n",new_capacity);
-+ cli_dbgmsg("hashtab.c: new capacity: %" _sizet "\n", new_capacity);
- if(new_capacity == s->capacity || !htable)
- return CL_EMEM;
-
-@@ -422,7 +424,7 @@ static int cli_htu32_grow(struct cli_htu32 *s, mpool_t *mempool)
- s->used = used;
- s->capacity = new_capacity;
- s->maxfill = new_capacity*8/10;
-- cli_dbgmsg("Table %p size after grow:%ld\n",(void*)s,s->capacity);
-+ cli_dbgmsg("Table %p size after grow: %" _sizet "\n", s, s->capacity);
- PROFILE_GROW_DONE(s);
- return CL_SUCCESS;
- }
-@@ -437,7 +439,9 @@ const struct cli_element* cli_hashtab_insert(struct cli_hashtable *s, const char
- if(!s)
- return NULL;
- if(s->used > s->maxfill) {
-- cli_dbgmsg("hashtab.c:Growing hashtable %p, because it has exceeded maxfill, old size:%ld\n",(void*)s,s->capacity);
-+ cli_dbgmsg("hashtab.c:Growing hashtable %p, because it has "
-+ "exceeded maxfill, old size: %" _sizet "\n", s,
-+ s->capacity);
- cli_hashtab_grow(s);
- }
- do {
-@@ -486,7 +490,8 @@ const struct cli_element* cli_hashtab_insert(struct cli_hashtable *s, const char
- } while (tries <= s->capacity);
- /* no free place found*/
- PROFILE_HASH_EXHAUSTED(s);
-- cli_dbgmsg("hashtab.c: Growing hashtable %p, because its full, old size:%ld.\n",(void*)s,s->capacity);
-+ cli_dbgmsg("hashtab.c: Growing hashtable %p, because its full, "
-+ "old size: %" _sizet ".\n", s, s->capacity);
- } while( cli_hashtab_grow(s) >= 0 );
- cli_warnmsg("hashtab.c: Unable to grow hashtable\n");
- return NULL;
-@@ -504,7 +509,9 @@ int cli_htu32_insert(struct cli_htu32 *s, const struct cli_htu32_element *item,
- if(!s)
- return CL_ENULLARG;
- if(s->used > s->maxfill) {
-- cli_dbgmsg("hashtab.c:Growing hashtable %p, because it has exceeded maxfill, old size:%ld\n",(void*)s,s->capacity);
-+ cli_dbgmsg("hashtab.c:Growing hashtable %p, because it has "
-+ "exceeded maxfill, old size: %" _sizet "\n", s,
-+ s->capacity);
- cli_htu32_grow(s, mempool);
- }
- do {
-@@ -543,7 +550,8 @@ int cli_htu32_insert(struct cli_htu32 *s, const struct cli_htu32_element *item,
- } while (tries <= s->capacity);
- /* no free place found*/
- PROFILE_HASH_EXHAUSTED(s);
-- cli_dbgmsg("hashtab.c: Growing hashtable %p, because its full, old size:%ld.\n",(void*)s,s->capacity);
-+ cli_dbgmsg("hashtab.c: Growing hashtable %p, because its full, "
-+ "old size: %" _sizet ".\n", s, s->capacity);
- } while( (ret = cli_htu32_grow(s, mempool)) >= 0 );
- cli_warnmsg("hashtab.c: Unable to grow hashtable\n");
- return ret;
-@@ -632,11 +640,13 @@ int cli_hashtab_generate_c(const struct cli_hashtable *s,const char* name)
- else if(e->key == DELETED_KEY)
- printf("\t{DELETED_KEY,0,0},\n");
- else
-- printf("\t{\"%s\", %ld, %ld},\n", e->key, e->data, e->len);
-+ printf("\t{\"%s\", %ld, %" _sizet"},\n", e->key,
-+ e->data, e->len);
- }
- printf("};\n");
- printf("const struct cli_hashtable %s = {\n",name);
-- printf("\t%s_elements, %ld, %ld, %ld", name, s->capacity, s->used, s->maxfill);
-+ printf("\t%s_elements, %" _sizet ", %" _sizet" , %" _sizet, name,
-+ s->capacity, s->used, s->maxfill);
- printf("\n};\n");
-
- PROFILE_REPORT(s);
-diff --git a/libclamav/jsparse/js-norm.c b/libclamav/jsparse/js-norm.c
-index 85eba72c2e87..9a56aa34856f 100644
---- a/libclamav/jsparse/js-norm.c
-+++ b/libclamav/jsparse/js-norm.c
-@@ -34,6 +34,7 @@
- #include <ctype.h>
- #include <assert.h>
-
-+#include "shared/misc.h"
- #include "clamav.h"
- #include "cltypes.h"
- #include "jsparse/lexglobal.h"
-@@ -525,7 +526,8 @@ static int replace_token_range(struct tokens *dst, size_t start, size_t end, con
- {
- const size_t len = with ? with->cnt : 0;
- size_t i;
-- cli_dbgmsg(MODULE "Replacing tokens %lu - %lu with %lu tokens\n",start, end, len);
-+ cli_dbgmsg(MODULE "Replacing tokens %" _sizet " - %" _sizet " with %"
-+ _sizet " tokens\n", start, end, len);
- if(start >= dst->cnt || end > dst->cnt)
- return -1;
- for(i=start;i<end;i++) {
-@@ -547,7 +549,7 @@ static int append_tokens(struct tokens *dst, const struct tokens *src)
- return CL_ENULLARG;
- if(tokens_ensure_capacity(dst, dst->cnt + src->cnt))
- return CL_EMEM;
-- cli_dbgmsg(MODULE "Appending %lu tokens\n", src->cnt);
-+ cli_dbgmsg(MODULE "Appending %" _sizet " tokens\n", src->cnt);
- memcpy(&dst->data[dst->cnt], src->data, src->cnt * sizeof(dst->data[0]));
- dst->cnt += src->cnt;
- return CL_SUCCESS;
-diff --git a/libclamav/matcher.c b/libclamav/matcher.c
-index 3f4f5c1659d5..e684f7122e26 100644
---- a/libclamav/matcher.c
-+++ b/libclamav/matcher.c
-@@ -52,6 +52,7 @@
- #include "perflogging.h"
- #include "bytecode_priv.h"
- #include "bytecode_api_impl.h"
-+#include "shared/misc.h"
-
- #ifdef CLI_PERF_LOGGING
-
-@@ -1069,8 +1070,9 @@ int cli_matchmeta(cli_ctx *ctx, const char *fname, size_t fsizec, size_t fsizer,
- const struct cli_cdb *cdb;
- unsigned int viruses_found = 0;
-
-- cli_dbgmsg("CDBNAME:%s:%lu:%s:%lu:%lu:%d:%u:%u:%p\n",
-- cli_ftname(ctx->container_type), fsizec, fname, fsizec, fsizer, encrypted, filepos, res1, res2);
-+ cli_dbgmsg("CDBNAME:%s:%" _sizet ":%s:%" _sizet ":%" _sizet ":%d:%u:%u:%p\n",
-+ cli_ftname(ctx->container_type), fsizec, fname, fsizec, fsizer,
-+ encrypted, filepos, res1, res2);
-
- if (ctx->engine && ctx->engine->cb_meta)
- if (ctx->engine->cb_meta(cli_ftname(ctx->container_type), fsizec, fname, fsizer, encrypted, filepos, ctx->cb_ctx) == CL_VIRUS) {
-diff --git a/libclamav/pdf.c b/libclamav/pdf.c
-index 2e469c1e5d56..2de348e7c3fd 100644
---- a/libclamav/pdf.c
-+++ b/libclamav/pdf.c
-@@ -60,6 +60,7 @@
- #include "rijndael.h"
- #include "textnorm.h"
- #include "json_api.h"
-+#include "shared/misc.h"
-
- #ifdef CL_DEBUG
- /*#define SAVE_TMP
-@@ -1019,10 +1020,12 @@ int pdf_extract_obj(struct pdf_struct *pdf, struct pdf_obj *obj, uint32_t flags)
-
- orig_length = length;
- if (length > pdf->size || obj->start + p_stream + length > pdf->size) {
-- cli_dbgmsg("cli_pdf: length out of file: %ld + %ld > %ld\n",
-- p_stream, length, pdf->size);
-- noisy_warnmsg("length out of file, truncated: %ld + %ld > %ld\n",
-- p_stream, length, pdf->size);
-+ cli_dbgmsg("cli_pdf: length out of file: %" PRId64 " + %"
-+ PRId64 " > % " PRId64 "\n", p_stream,
-+ length, pdf->size);
-+ noisy_warnmsg("length out of file, truncated: %" PRId64
-+ " + %" PRId64 " > %" PRId64 "\n",
-+ p_stream, length, pdf->size);
- length = pdf->size - (obj->start + p_stream);
- }
-
-@@ -1044,17 +1047,21 @@ int pdf_extract_obj(struct pdf_struct *pdf, struct pdf_obj *obj, uint32_t flags)
- if (length < 0)
- length = 0;
-
-- cli_dbgmsg("cli_pdf: calculated length %ld\n", length);
-+ cli_dbgmsg("cli_pdf: calculated length %" PRId64 "\n",
-+ length);
- } else {
- if (size > (size_t)length+2) {
-- cli_dbgmsg("cli_pdf: calculated length %ld < %ld\n",
-+ cli_dbgmsg("cli_pdf: calculated length %" PRId64 " < %"
-+ _ssizet "\n",
- length, size);
- length = size;
- }
- }
-
- if (orig_length && size > (size_t)orig_length + 20) {
-- cli_dbgmsg("cli_pdf: orig length: %ld, length: %ld, size: %ld\n", orig_length, length, size);
-+ cli_dbgmsg("cli_pdf: orig length: %" PRId64 ", length: %"
-+ PRId64", size: %" _ssizet "\n", orig_length,
-+ length, size);
- pdfobj_flag(pdf, obj, BAD_STREAMLEN);
- }
-
-@@ -1240,7 +1247,7 @@ int pdf_extract_obj(struct pdf_struct *pdf, struct pdf_obj *obj, uint32_t flags)
- }
- } while (0);
-
-- cli_dbgmsg("cli_pdf: extracted %ld bytes %u %u obj to %s\n", sum, obj->id>>8, obj->id&0xff, fullname);
-+ cli_dbgmsg("cli_pdf: extracted %" PRId64 " bytes %u %u obj to %p\n", sum, obj->id>>8, obj->id&0xff, fullname);
-
- if (flags & PDF_EXTRACT_OBJ_SCAN && sum) {
- int rc2;
-@@ -2493,7 +2500,8 @@ int cli_pdf(const char *dir, cli_ctx *ctx, off_t offset)
-
- if (pdfver != start || offset) {
- pdf.flags |= 1 << BAD_PDF_HEADERPOS;
-- cli_dbgmsg("cli_pdf: PDF header is not at position 0: %ld\n",pdfver-start+offset);
-+ cli_dbgmsg("cli_pdf: PDF header is not at position 0: %" PRId64 "\n",
-+ pdfver - start + offset);
- #if HAVE_JSON
- if (pdfobj)
- cli_jsonbool(pdfobj, "BadVersionLocation", 1);
-@@ -2602,7 +2610,8 @@ int cli_pdf(const char *dir, cli_ctx *ctx, off_t offset)
- while ((rc = pdf_findobj(&pdf)) > 0) {
- struct pdf_obj *obj = &pdf.objs[pdf.nobjs-1];
-
-- cli_dbgmsg("cli_pdf: found %d %d obj @%ld\n", obj->id >> 8, obj->id&0xff, obj->start + offset);
-+ cli_dbgmsg("cli_pdf: found %d %d obj @%" PRId64 "\n", obj->id >> 8,
-+ obj->id & 0xff, obj->start + offset);
- }
-
- if (pdf.nobjs)
-diff --git a/libclamav/regex_list.c b/libclamav/regex_list.c
-index f30cc4cd4349..4b27c2974fb6 100644
---- a/libclamav/regex_list.c
-+++ b/libclamav/regex_list.c
-@@ -41,6 +41,7 @@
- #include <assert.h>
-
- #include "regex/regex.h"
-+#include "shared/misc.h"
-
- #include "clamav.h"
- #include "others.h"
-@@ -84,7 +85,9 @@ static inline size_t get_char_at_pos_with_skip(const struct pre_fixup_info* info
- return (pos <= strlen(buffer)) ? buffer[pos>0 ? pos-1:0] : '\0';
- }
- str = info->pre_displayLink.data;
-- cli_dbgmsg("calc_pos_with_skip: skip:%lu, %lu - %lu \"%s\",\"%s\"\n", pos, info->host_start, info->host_end, str, buffer);
-+ cli_dbgmsg("calc_pos_with_skip: skip: %" _sizet ", %" _sizet " - %"
-+ _sizet " \"%s\",\"%s\"\n", pos, info->host_start,
-+ info->host_end, str, buffer);
- pos += info->host_start;
- while(str[realpos] && !isalnum(str[realpos])) realpos++;
- for(; str[realpos] && (pos>0); pos--) {
-diff --git a/libclamav/scanners.c b/libclamav/scanners.c
-index 07a38eedc7a5..49cd70a18d9e 100644
---- a/libclamav/scanners.c
-+++ b/libclamav/scanners.c
-@@ -49,6 +49,7 @@
- #define DCONF_MAIL ctx->dconf->mail
- #define DCONF_OTHER ctx->dconf->other
-
-+#include "shared/misc.h"
- #include "clamav.h"
- #include "others.h"
- #include "dconf.h"
-@@ -3171,8 +3172,8 @@ int cli_map_scandesc(cl_fmap_t *map, off_t offset, size_t length, cli_ctx *ctx,
-
- if (!length) length = old_len - offset;
- if (length > old_len - offset) {
-- cli_dbgmsg("Data truncated: %lu -> %lu\n",
-- (unsigned long)length, old_len - offset);
-+ cli_dbgmsg("Data truncated: %" _sizet" -> %" PRIu64" \n", length,
-+ old_len - offset);
- length = old_len - offset;
- }
-
-diff --git a/shared/misc.h b/shared/misc.h
-index 3e093936caa1..65f8c9ce0382 100644
---- a/shared/misc.h
-+++ b/shared/misc.h
-@@ -51,6 +51,10 @@
- #define PATH_MAX 1024
- #endif
-
-+#include <inttypes.h>
-+#define _sizet "zu"
-+#define _ssizet "zd"
-+
- char *freshdbdir(void);
- void print_version(const char *dbdir);
- int check_flevel(void);
-diff --git a/shared/output.c b/shared/output.c
-index 5e947a57a6f9..ab054a8bbeee 100644
---- a/shared/output.c
-+++ b/shared/output.c
-@@ -214,7 +214,8 @@ static int rename_logg(STATBUF *sb)
-
- if (!logg_rotate) {
- if (logg_fp) {
-- fprintf(logg_fp, "Log size = %zu, max = %zu\n", sb->st_size, logg_size);
-+ fprintf(logg_fp, "Log size = %" PRId64 ", max = %" PRId64 "\n",
-+ sb->st_size, logg_size);
- fprintf(logg_fp, "WARNING: Log size limit met but log file rotation turned off. Forcing log file rotation anyways.\n");
- }
-
-diff --git a/sigtool/sigtool.c b/sigtool/sigtool.c
-index f2135c210e02..d67e662cfea1 100644
---- a/sigtool/sigtool.c
-+++ b/sigtool/sigtool.c
-@@ -373,7 +373,8 @@ static char *getdsig(const char *host, const char *user, const unsigned char *da
- closesocket(sockd);
- return NULL;
- } else {
-- mprintf("Signature received (length = %lu)\n", (unsigned long)strlen(buff) - 10);
-+ mprintf("Signature received (length = %" _sizet ")\n",
-+ (unsigned long)strlen(buff) - 10);
- }
- } else {
- mprintf("!getdsig: Communication error with remote server\n");
diff --git a/recipes-security/clamav/clamav-0.98.5/0010-hardcode-LLVM-linker-flag-because-llvm-config-return.patch b/recipes-security/clamav/clamav-0.98.5/0010-hardcode-LLVM-linker-flag-because-llvm-config-return.patch
deleted file mode 100644
index 9699b50..0000000
--- a/recipes-security/clamav/clamav-0.98.5/0010-hardcode-LLVM-linker-flag-because-llvm-config-return.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 86ebd6e3f8fa60d0bdbed10eb10c5a7699b821e4 Mon Sep 17 00:00:00 2001
-From: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
-Date: Mon, 25 Aug 2014 22:54:37 +0200
-Subject: hardcode LLVM linker flag, because llvm-config returns only flags for
- linking statically
-
-this reduces the size of libclamav by more than 80 percent
----
- libclamav/c++/configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libclamav/c++/configure.ac b/libclamav/c++/configure.ac
-index a6697ddd8e82..3c7c7e26fbf8 100644
---- a/libclamav/c++/configure.ac
-+++ b/libclamav/c++/configure.ac
-@@ -121,8 +121,8 @@ if test "x$llvmconfig" != "x"; then
- else
- AC_SUBST(LLVMCONFIG_LDFLAGS, [`$llvmconfig --ldflags`])
- fi
-- AC_SUBST(LLVMCONFIG_LIBS, [`$llvmconfig --libs jit nativecodegen scalaropts ipo`])
-- AC_SUBST(LLVMCONFIG_LIBFILES, [`$llvmconfig --libfiles jit nativecodegen scalaropts ipo`])
-+ AC_SUBST(LLVMCONFIG_LIBS, [-lLLVM-$llvmver])
-+ AC_SUBST(LLVMCONFIG_LIBFILES, [])
- AC_MSG_NOTICE([CXXFLAGS from llvm-config: $LLVMCONFIG_CXXFLAGS])
- AC_MSG_NOTICE([LDFLAGS from llvm-config: $LLVMCONFIG_LDFLAGS])
- AC_MSG_NOTICE([LIBS from llvm-config: $LLVMCONFIG_LIBS])
diff --git a/recipes-security/clamav/clamav-0.98.5/0011-Add-libmspack-library-from-upstream-without-unnecess.patch b/recipes-security/clamav/clamav-0.98.5/0011-Add-libmspack-library-from-upstream-without-unnecess.patch
deleted file mode 100644
index b6df9c2..0000000
--- a/recipes-security/clamav/clamav-0.98.5/0011-Add-libmspack-library-from-upstream-without-unnecess.patch
+++ /dev/null
@@ -1,56090 +0,0 @@
-From e61759267dd586ead646ac7717edf73cf04fe4f3 Mon Sep 17 00:00:00 2001
-From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
-Date: Wed, 30 Jul 2014 21:01:09 +0200
-Subject: Add libmspack library from upstream without unnecessary files
-
-this is from http://www.cabextract.org.uk/libmspack/libmspack-0.4alpha.tar.gz
-
-Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
----
- libclamav/libmspack-0.4alpha/AUTHORS | 12 +
- libclamav/libmspack-0.4alpha/COPYING.LIB | 504 +
- libclamav/libmspack-0.4alpha/ChangeLog | 491 +
- libclamav/libmspack-0.4alpha/INSTALL | 370 +
- libclamav/libmspack-0.4alpha/Makefile.am | 100 +
- libclamav/libmspack-0.4alpha/Makefile.in | 1371 ++
- libclamav/libmspack-0.4alpha/NEWS | 0
- libclamav/libmspack-0.4alpha/README | 130 +
- libclamav/libmspack-0.4alpha/TODO | 8 +
- libclamav/libmspack-0.4alpha/aclocal.m4 | 1033 ++
- libclamav/libmspack-0.4alpha/config.guess | 1530 +++
- libclamav/libmspack-0.4alpha/config.h.in | 113 +
- libclamav/libmspack-0.4alpha/config.sub | 1773 +++
- libclamav/libmspack-0.4alpha/configure | 14567 ++++++++++++++++++++++
- libclamav/libmspack-0.4alpha/configure.ac | 50 +
- libclamav/libmspack-0.4alpha/depcomp | 688 +
- libclamav/libmspack-0.4alpha/install-sh | 520 +
- libclamav/libmspack-0.4alpha/libmspack.pc.in | 10 +
- libclamav/libmspack-0.4alpha/ltmain.sh | 9661 ++++++++++++++
- libclamav/libmspack-0.4alpha/m4/libtool.m4 | 8001 ++++++++++++
- libclamav/libmspack-0.4alpha/m4/ltoptions.m4 | 384 +
- libclamav/libmspack-0.4alpha/m4/ltsugar.m4 | 123 +
- libclamav/libmspack-0.4alpha/m4/ltversion.m4 | 23 +
- libclamav/libmspack-0.4alpha/m4/lt~obsolete.m4 | 98 +
- libclamav/libmspack-0.4alpha/missing | 331 +
- libclamav/libmspack-0.4alpha/mspack/cab.h | 127 +
- libclamav/libmspack-0.4alpha/mspack/cabc.c | 24 +
- libclamav/libmspack-0.4alpha/mspack/cabd.c | 1444 +++
- libclamav/libmspack-0.4alpha/mspack/chm.h | 122 +
- libclamav/libmspack-0.4alpha/mspack/chmc.c | 24 +
- libclamav/libmspack-0.4alpha/mspack/chmd.c | 1392 +++
- libclamav/libmspack-0.4alpha/mspack/crc32.c | 95 +
- libclamav/libmspack-0.4alpha/mspack/crc32.h | 17 +
- libclamav/libmspack-0.4alpha/mspack/des.h | 15 +
- libclamav/libmspack-0.4alpha/mspack/hlp.h | 33 +
- libclamav/libmspack-0.4alpha/mspack/hlpc.c | 24 +
- libclamav/libmspack-0.4alpha/mspack/hlpd.c | 24 +
- libclamav/libmspack-0.4alpha/mspack/kwaj.h | 118 +
- libclamav/libmspack-0.4alpha/mspack/kwajc.c | 24 +
- libclamav/libmspack-0.4alpha/mspack/kwajd.c | 561 +
- libclamav/libmspack-0.4alpha/mspack/lit.h | 35 +
- libclamav/libmspack-0.4alpha/mspack/litc.c | 24 +
- libclamav/libmspack-0.4alpha/mspack/litd.c | 24 +
- libclamav/libmspack-0.4alpha/mspack/lzss.h | 66 +
- libclamav/libmspack-0.4alpha/mspack/lzssd.c | 93 +
- libclamav/libmspack-0.4alpha/mspack/lzx.h | 221 +
- libclamav/libmspack-0.4alpha/mspack/lzxc.c | 18 +
- libclamav/libmspack-0.4alpha/mspack/lzxd.c | 895 ++
- libclamav/libmspack-0.4alpha/mspack/mspack.h | 2353 ++++
- libclamav/libmspack-0.4alpha/mspack/mszip.h | 126 +
- libclamav/libmspack-0.4alpha/mspack/mszipc.c | 18 +
- libclamav/libmspack-0.4alpha/mspack/mszipd.c | 514 +
- libclamav/libmspack-0.4alpha/mspack/oab.h | 60 +
- libclamav/libmspack-0.4alpha/mspack/oabc.c | 24 +
- libclamav/libmspack-0.4alpha/mspack/oabd.c | 408 +
- libclamav/libmspack-0.4alpha/mspack/qtm.h | 128 +
- libclamav/libmspack-0.4alpha/mspack/qtmd.c | 489 +
- libclamav/libmspack-0.4alpha/mspack/readbits.h | 207 +
- libclamav/libmspack-0.4alpha/mspack/readhuff.h | 173 +
- libclamav/libmspack-0.4alpha/mspack/sha.h | 15 +
- libclamav/libmspack-0.4alpha/mspack/system.c | 239 +
- libclamav/libmspack-0.4alpha/mspack/system.h | 124 +
- libclamav/libmspack-0.4alpha/mspack/szdd.h | 39 +
- libclamav/libmspack-0.4alpha/mspack/szddc.c | 24 +
- libclamav/libmspack-0.4alpha/mspack/szddd.c | 247 +
- libclamav/libmspack-0.4alpha/test/cabd_md5.c | 161 +
- libclamav/libmspack-0.4alpha/test/cabd_memory.c | 179 +
- libclamav/libmspack-0.4alpha/test/cabd_test.c | 386 +
- libclamav/libmspack-0.4alpha/test/cabrip.c | 81 +
- libclamav/libmspack-0.4alpha/test/chmd_find.c | 95 +
- libclamav/libmspack-0.4alpha/test/chmd_md5.c | 67 +
- libclamav/libmspack-0.4alpha/test/chmd_order.c | 144 +
- libclamav/libmspack-0.4alpha/test/chminfo.c | 284 +
- libclamav/libmspack-0.4alpha/test/chmx.c | 216 +
- libclamav/libmspack-0.4alpha/test/error.h | 22 +
- libclamav/libmspack-0.4alpha/test/expand.c | 79 +
- libclamav/libmspack-0.4alpha/test/md5.c | 457 +
- libclamav/libmspack-0.4alpha/test/md5.h | 165 +
- libclamav/libmspack-0.4alpha/test/md5_fh.h | 123 +
- libclamav/libmspack-0.4alpha/test/multifh.c | 435 +
- libclamav/libmspack-0.4alpha/test/oabx.c | 41 +
- 81 files changed, 55434 insertions(+)
- create mode 100644 libclamav/libmspack-0.4alpha/AUTHORS
- create mode 100644 libclamav/libmspack-0.4alpha/COPYING.LIB
- create mode 100644 libclamav/libmspack-0.4alpha/ChangeLog
- create mode 100644 libclamav/libmspack-0.4alpha/INSTALL
- create mode 100644 libclamav/libmspack-0.4alpha/Makefile.am
- create mode 100644 libclamav/libmspack-0.4alpha/Makefile.in
- create mode 100644 libclamav/libmspack-0.4alpha/NEWS
- create mode 100644 libclamav/libmspack-0.4alpha/README
- create mode 100644 libclamav/libmspack-0.4alpha/TODO
- create mode 100644 libclamav/libmspack-0.4alpha/aclocal.m4
- create mode 100755 libclamav/libmspack-0.4alpha/config.guess
- create mode 100644 libclamav/libmspack-0.4alpha/config.h.in
- create mode 100755 libclamav/libmspack-0.4alpha/config.sub
- create mode 100755 libclamav/libmspack-0.4alpha/configure
- create mode 100644 libclamav/libmspack-0.4alpha/configure.ac
- create mode 100755 libclamav/libmspack-0.4alpha/depcomp
- create mode 100755 libclamav/libmspack-0.4alpha/install-sh
- create mode 100644 libclamav/libmspack-0.4alpha/libmspack.pc.in
- create mode 100644 libclamav/libmspack-0.4alpha/ltmain.sh
- create mode 100644 libclamav/libmspack-0.4alpha/m4/libtool.m4
- create mode 100644 libclamav/libmspack-0.4alpha/m4/ltoptions.m4
- create mode 100644 libclamav/libmspack-0.4alpha/m4/ltsugar.m4
- create mode 100644 libclamav/libmspack-0.4alpha/m4/ltversion.m4
- create mode 100644 libclamav/libmspack-0.4alpha/m4/lt~obsolete.m4
- create mode 100755 libclamav/libmspack-0.4alpha/missing
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/cab.h
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/cabc.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/cabd.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/chm.h
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/chmc.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/chmd.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/crc32.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/crc32.h
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/des.h
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/hlp.h
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/hlpc.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/hlpd.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/kwaj.h
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/kwajc.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/kwajd.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/lit.h
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/litc.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/litd.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/lzss.h
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/lzssd.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/lzx.h
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/lzxc.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/lzxd.c
- create mode 100755 libclamav/libmspack-0.4alpha/mspack/mspack.h
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/mszip.h
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/mszipc.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/mszipd.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/oab.h
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/oabc.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/oabd.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/qtm.h
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/qtmd.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/readbits.h
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/readhuff.h
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/sha.h
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/system.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/system.h
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/szdd.h
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/szddc.c
- create mode 100644 libclamav/libmspack-0.4alpha/mspack/szddd.c
- create mode 100644 libclamav/libmspack-0.4alpha/test/cabd_md5.c
- create mode 100644 libclamav/libmspack-0.4alpha/test/cabd_memory.c
- create mode 100644 libclamav/libmspack-0.4alpha/test/cabd_test.c
- create mode 100644 libclamav/libmspack-0.4alpha/test/cabrip.c
- create mode 100644 libclamav/libmspack-0.4alpha/test/chmd_find.c
- create mode 100644 libclamav/libmspack-0.4alpha/test/chmd_md5.c
- create mode 100644 libclamav/libmspack-0.4alpha/test/chmd_order.c
- create mode 100644 libclamav/libmspack-0.4alpha/test/chminfo.c
- create mode 100644 libclamav/libmspack-0.4alpha/test/chmx.c
- create mode 100644 libclamav/libmspack-0.4alpha/test/error.h
- create mode 100644 libclamav/libmspack-0.4alpha/test/expand.c
- create mode 100644 libclamav/libmspack-0.4alpha/test/md5.c
- create mode 100644 libclamav/libmspack-0.4alpha/test/md5.h
- create mode 100644 libclamav/libmspack-0.4alpha/test/md5_fh.h
- create mode 100644 libclamav/libmspack-0.4alpha/test/multifh.c
- create mode 100644 libclamav/libmspack-0.4alpha/test/oabx.c
-
-diff --git a/libclamav/libmspack-0.4alpha/AUTHORS b/libclamav/libmspack-0.4alpha/AUTHORS
-new file mode 100644
-index 000000000000..be28722a8075
---- /dev/null
-+++ b/libclamav/libmspack-0.4alpha/AUTHORS
-@@ -0,0 +1,12 @@
-+Principal author: Stuart Caie
-+
-+Based on specification documents from Microsoft Corporation and PKWARE.
-+
-+Contributors:
-+- LZX compressor by Matthew Russotto
-+- Quantum decompressor by Matthew Russotto
-+- old inflate decompressor by Dirk Stoecker / InfoZIP team
-+- Huffman table builder adapted from unlzx by Dave Tritscher
-+- LZX decompressor fixes by Jae Jung and Igor Glucksmann
-+- Debianisation by Markus Sinner
-+- Quantum decompressor fix by Larry Frieson
-diff --git a/libclamav/libmspack-0.4alpha/COPYING.LIB b/libclamav/libmspack-0.4alpha/COPYING.LIB
-new file mode 100644
-index 000000000000..b1e3f5a26387
---- /dev/null
-+++ b/libclamav/libmspack-0.4alpha/COPYING.LIB
-@@ -0,0 +1,504 @@
-+ GNU LESSER GENERAL PUBLIC LICENSE
-+ Version 2.1, February 1999
-+
-+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ Everyone is permitted to copy and distribute verbatim copies
-+ of this license document, but changing it is not allowed.
-+
-+[This is the first released version of the Lesser GPL. It also counts
-+ as the successor of the GNU Library Public License, version 2, hence
-+ the version number 2.1.]
-+
-+ Preamble
-+
-+ The licenses for most software are designed to take away your
-+freedom to share and change it. By contrast, the GNU General Public
-+Licenses are intended to guarantee your freedom to share and change
-+free software--to make sure the software is free for all its users.
-+
-+ This license, the Lesser General Public License, applies to some
-+specially designated software packages--typically libraries--of the
-+Free Software Foundation and other authors who decide to use it. You
-+can use it too, but we suggest you first think carefully about whether
-+this license or the ordinary General Public License is the better
-+strategy to use in any particular case, based on the explanations below.
-+
-+ When we speak of free software, we are referring to freedom of use,
-+not price. Our General Public Licenses are designed to make sure that
-+you have the freedom to distribute copies of free software (and charge
-+for this service if you wish); that you receive source code or can get
-+it if you want it; that you can change the software and use pieces of
-+it in new free programs; and that you are informed that you can do
-+these things.
-+
-+ To protect your rights, we need to make restrictions that forbid
-+distributors to deny you these rights or to ask you to surrender these
-+rights. These restrictions translate to certain responsibilities for
-+you if you distribute copies of the library or if you modify it.
-+
-+ For example, if you distribute copies of the library, whether gratis
-+or for a fee, you must give the recipients all the rights that we gave
-+you. You must make sure that they, too, receive or can get the source
-+code. If you link other code with the library, you must provide
-+complete object files to the recipients, so that they can relink them
-+with the library after making changes to the library and recompiling
-+it. And you must show them these terms so they know their rights.
-+
-+ We protect your rights with a two-step method: (1) we copyright the
-+library, and (2) we offer you this license, which gives you legal
-+permission to copy, distribute and/or modify the library.
-+
-+ To protect each distributor, we want to make it very clear that
-+there is no warranty for the free library. Also, if the library is
-+modified by someone else and passed on, the recipients should know
-+that what they have is not the original version, so that the original
-+author's reputation will not be affected by problems that might be
-+introduced by others.
-+
-+ Finally, software patents pose a constant threat to the existence of
-+any free program. We wish to make sure that a company cannot
-+effectively restrict the users of a free program by obtaining a
-+restrictive license from a patent holder. Therefore, we insist that
-+any patent license obtained for a version of the library must be
-+consistent with the full freedom of use specified in this license.
-+
-+ Most GNU software, including some libraries, is covered by the
-+ordinary GNU General Public License. This license, the GNU Lesser
-+General Public License, applies to certain designated libraries, and
-+is quite different from the ordinary General Public License. We use
-+this license for certain libraries in order to permit linking those
-+libraries into non-free programs.
-+
-+ When a program is linked with a library, whether statically or using
-+a shared library, the combination of the two is legally speaking a
-+combined work, a derivative of the original library. The ordinary
-+General Public License therefore permits such linking only if the
-+entire combination fits its criteria of freedom. The Lesser General
-+Public License permits more lax criteria for linking other code with
-+the library.
-+
-+ We call this license the "Lesser" General Public License because it
-+does Less to protect the user's freedom than the ordinary General
-+Public License. It also provides other free software developers Less
-+of an advantage over competing non-free programs. These disadvantages
-+are the reason we use the ordinary General Public License for many
-+libraries. However, the Lesser license provides advantages in certain
-+special circumstances.
-+
-+ For example, on rare occasions, there may be a special need to
-+encourage the widest possible use of a certain library, so that it becomes
-+a de-facto standard. To achieve this, non-free programs must be
-+allowed to use the library. A more frequent case is that a free
-+library does the same job as widely used non-free libraries. In this
-+case, there is little to gain by limiting the free library to free
-+software only, so we use the Lesser General Public License.
-+
-+ In other cases, permission to use a particular library in non-free
-+programs enables a greater number of people to use a large body of
-+free software. For example, permission to use the GNU C Library in
-+non-free programs enables many more people to use the whole GNU
-+operating system, as well as its variant, the GNU/Linux operating
-+system.
-+
-+ Although the Lesser General Public License is Less protective of the
-+users' freedom, it does ensure that the user of a program that is
-+linked with the Library has the freedom and the wherewithal to run
-+that program using a modified version of the Library.
-+
-+ The precise terms and conditions for copying, distribution and
-+modification follow. Pay close attention to the difference between a
-+"work based on the library" and a "work that uses the library". The
-+former contains code derived from the library, whereas the latter must
-+be combined with the library in order to run.
-+
-+ GNU LESSER GENERAL PUBLIC LICENSE
-+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-+
-+ 0. This License Agreement applies to any software library or other
-+program which contains a notice placed by the copyright holder or
-+other authorized party saying it may be distributed under the terms of
-+this Lesser General Public License (also called "this License").
-+Each licensee is addressed as "you".
-+
-+ A "library" means a collection of software functions and/or data
-+prepared so as to be conveniently linked with application programs
-+(which use some of those functions and data) to form executables.
-+
-+ The "Library", below, refers to any such software library or work
-+which has been distributed under these terms. A "work based on the
-+Library" means either the Library or any derivative work under
-+copyright law: that is to say, a work containing the Library or a
-+portion of it, either verbatim or with modifications and/or translated
-+straightforwardly into another language. (Hereinafter, translation is
-+included without limitation in the term "modification".)
-+
-+ "Source code" for a work means the preferred form of the work for
-+making modifications to it. For a library, complete source code means
-+all the source code for all modules it contains, plus any associated
-+interface definition files, plus the scripts used to control compilation
-+and installation of the library.
-+
-+ Activities other than copying, distribution and modification are not
-+covered by this License; they are outside its scope. The act of
-+running a program using the Library is not restricted, and output from
-+such a program is covered only if its contents constitute a work based
-+on the Library (independent of the use of the Library in a tool for
-+writing it). Whether that is true depends on what the Library does
-+and what the program that uses the Library does.
-+
-+ 1. You may copy and distribute verbatim copies of the Library's
-+complete source code as you receive it, in any medium, provided that
-+you conspicuously and appropriately publish on each copy an
-+appropriate copyright notice and disclaimer of warranty; keep intact
-+all the notices that refer to this License and to the absence of any
-+warranty; and distribute a copy of this License along with the
-+Library.
-+
-+ You may charge a fee for the physical act of transferring a copy,
-+and you may at your option offer warranty protection in exchange for a
-+fee.
-+
-+ 2. You may modify your copy or copies of the Library or any portion
-+of it, thus forming a work based on the Library, and copy and
-+distribute such modifications or work under the terms of Section 1
-+above, provided that you also meet all of these conditions:
-+
-+ a) The modified work must itself be a software library.
-+
-+ b) You must cause the files modified to carry prominent notices
-+ stating that you changed the files and the date of any change.
-+
-+ c) You must cause the whole of the work to be licensed at no
-+ charge to all third parties under the terms of this License.
-+
-+ d) If a facility in the modified Library refers to a function or a
-+ table of data to be supplied by an application program that uses
-+ the facility, other than as an argument passed when the facility
-+ is invoked, then you must make a good faith effort to ensure that,
-+ in the event an application does not supply such function or
-+ table, the facility still operates, and performs whatever part of
-+ its purpose remains meaningful.
-+
-+ (For example, a function in a library to compute square roots has
-+ a purpose that is entirely well-defined independent of the
-+ application. Therefore, Subsection 2d requires that any
-+ application-supplied function or table used by this function must
-+ be optional: if the application does not supply it, the square
-+ root function must still compute square roots.)
-+
-+These requirements apply to the modified work as a whole. If
-+identifiable sections of that work are not derived from the Library,
-+and can be reasonably considered independent and separate works in
-+themselves, then this License, and its terms, do not apply to those
-+sections when you distribute them as separate works. But when you
-+distribute the same sections as part of a whole which is a work based
-+on the Library, the distribution of the whole must be on the terms of
-+this License, whose permissions for other licensees extend to the
-+entire whole, and thus to each and every part regardless of who wrote
-+it.
-+
-+Thus, it is not the intent of this section to claim rights or contest
-+your rights to work written entirely by you; rather, the intent is to
-+exercise the right to control the distribution of derivative or
-+collective works based on the Library.
-+
-+In addition, mere aggregation of another work not based on the Library
-+with the Library (or with a work based on the Library) on a volume of
-+a storage or distribution medium does not bring the other work under
-+the scope of this License.
-+
-+ 3. You may opt to apply the terms of the ordinary GNU General Public
-+License instead of this License to a given copy of the Library. To do
-+this, you must alter all the notices that refer to this License, so
-+that they refer to the ordinary GNU General Public License, version 2,
-+instead of to this License. (If a newer version than version 2 of the
-+ordinary GNU General Public License has appeared, then you can specify
-+that version instead if you wish.) Do not make any other change in
-+these notices.
-+
-+ Once this change is made in a given copy, it is irreversible for
-+that copy, so the ordinary GNU General Public License applies to all
-+subsequent copies and derivative works made from that copy.
-+
-+ This option is useful when you wish to copy part of the code of
-+the Library into a program that is not a library.
-+
-+ 4. You may copy and distribute the Library (or a portion or
-+derivative of it, under Section 2) in object code or executable form
-+under the terms of Sections 1 and 2 above provided that you accompany
-+it with the complete corresponding machine-readable source code, which
-+must be distributed under the terms of Sections 1 and 2 above on a
-+medium customarily used for software interchange.
-+
-+ If distribution of object code is made by offering access to copy
-+from a designated place, then offering equivalent access to copy the
-+source code from the same place satisfies the requirement to
-+distribute the source code, even though third parties are not
-+compelled to copy the source along with the object code.
-+
-+ 5. A program that contains no derivative of any portion of the
-+Library, but is designed to work with the Library by being compiled or
-+linked with it, is called a "work that uses the Library". Such a
-+work, in isolation, is not a derivative work of the Library, and
-+therefore falls outside the scope of this License.
-+
-+ However, linking a "work that uses the Library" with the Library
-+creates an executable that is a derivative of the Library (because it
-+contains portions of the Library), rather than a "work that uses the
-+library". The executable is therefore covered by this License.
-+Section 6 states terms for distribution of such executables.
-+
-+ When a "work that uses the Library" uses material from a header file
-+that is part of the Library, the object code for the work may be a
-+derivative work of the Library even though the source code is not.
-+Whether this is true is especially significant if the work can be
-+linked without the Library, or if the work is itself a library. The
-+threshold for this to be true is not precisely defined by law.
-+
-+ If such an object file uses only numerical parameters, data
-+structure layouts and accessors, and small macros and small inline
-+functions (ten lines or less in length), then the use of the object
-+file is unrestricted, regardless of whether it is legally a derivative
-+work. (Executables containing this object code plus portions of the
-+Library will still fall under Section 6.)
-+
-+ Otherwise, if the work is a derivative of the Library, you may
-+distribute the object code for the work under the terms of Section 6.
-+Any executables containing that work also fall under Section 6,
-+whether or not they are linked directly with the Library itself.
-+
-+ 6. As an exception to the Sections above, you may also combine or
-+link a "work that uses the Library" with the Library to produce a
-+work containing portions of the Library, and distribute that work
-+under terms of your choice, provided that the terms permit
-+modification of the work for the customer's own use and reverse
-+engineering for debugging such modifications.
-+
-+ You must give prominent notice with each copy of the work that the
-+Library is used in it and that the Library and its use are covered by
-+this License. You must supply a copy of this License. If the work
-+during execution displays copyright notices, you must include the
-+copyright notice for the Library among them, as well as a reference
-+directing the user to the copy of this License. Also, you must do one
-+of these things:
-+
-+ a) Accompany the work with the complete corresponding
-+ machine-readable source code for the Library including whatever
-+ changes were used in the work (which must be distributed under
-+ Sections 1 and 2 above); and, if the work is an executable linked
-+ with the Library, with the complete machine-readable "work that
-+ uses the Library", as object code and/or source code, so that the
-+ user can modify the Library and then relink to produce a modified
-+ executable containing the modified Library. (It is understood
-+ that the user who changes the contents of definitions files in the
-+ Library will not necessarily be able to recompile the application
-+ to use the modified definitions.)
-+
-+ b) Use a suitable shared library mechanism for linking with the
-+ Library. A suitable mechanism is one that (1) uses at run time a
-+ copy of the library already present on the user's computer system,
-+ rather than copying library functions into the executable, and (2)
-+ will operate properly with a modified version of the library, if
-+ the user installs one, as long as the modified version is
-+ interface-compatible with the version that the work was made with.
-+
-+ c) Accompany the work with a written offer, valid for at
-+ least three years, to give the same user the materials
-+ specified in Subsection 6a, above, for a charge no more
-+ than the cost of performing this distribution.
-+
-+ d) If distribution of the work is made by offering access to copy
-+ from a designated place, offer equivalent access to copy the above
-+ specified materials from the same place.
-+
-+ e) Verify that the user has already received a copy of these
-+ materials or that you have already sent this user a copy.
-+
-+ For an executable, the required form of the "work that uses the
-+Library" must include any data and utility programs needed for
-+reproducing the executable from it. However, as a special exception,
-+the materials to be distributed need not include anything that is
-+normally distributed (in either source or binary form) with the major
-+components (compiler, kernel, and so on) of the operating system on
-+which the executable runs, unless that component itself accompanies
-+the executable.
-+
-+ It may happen that this requirement contradicts the license
-+restrictions of other proprietary libraries that do not normally
-+accompany the operating system. Such a contradiction means you cannot
-+use both them and the Library together in an executable that you
-+distribute.
-+
-+ 7. You may place library facilities that are a work based on the
-+Library side-by-side in a single library together with other library
-+facilities not covered by this License, and distribute such a combined
-+library, provided that the separate distribution of the work based on
-+the Library and of the other library facilities is otherwise
-+permitted, and provided that you do these two things:
-+
-+ a) Accompany the combined library with a copy of the same work
-+ based on the Library, uncombined with any other library
-+ facilities. This must be distributed under the terms of the
-+ Sections above.
-+
-+ b) Give prominent notice with the combined library of the fact
-+ that part of it is a work based on the Library, and explaining
-+ where to find the accompanying uncombined form of the same work.
-+
-+ 8. You may not copy, modify, sublicense, link with, or distribute
-+the Library except as expressly provided under this License. Any
-+attempt otherwise to copy, modify, sublicense, link with, or
-+distribute the Library is void, and will automatically terminate your
-+rights under this License. However, parties who have received copies,
-+or rights, from you under this License will not have their licenses
-+terminated so long as such parties remain in full compliance.
-+
-+ 9. You are not required to accept this License, since you have not
-+signed it. However, nothing else grants you permission to modify or
-+distribute the Library or its derivative works. These actions are
-+prohibited by law if you do not accept this License. Therefore, by
-+modifying or distributing the Library (or any work based on the
-+Library), you indicate your acceptance of this License to do so, and
-+all its terms and conditions for copying, distributing or modifying
-+the Library or works based on it.
-+
-+ 10. Each time you redistribute the Library (or any work based on the
-+Library), the recipient automatically receives a license from the
-+original licensor to copy, distribute, link with or modify the Library
-+subject to these terms and conditions. You may not impose any further
-+restrictions on the recipients' exercise of the rights granted herein.
-+You are not responsible for enforcing compliance by third parties with
-+this License.
-+
-+ 11. If, as a consequence of a court judgment or allegation of patent
-+infringement or for any other reason (not limited to patent issues),
-+conditions are imposed on you (whether by court order, agreement or
-+otherwise) that contradict the conditions of this License, they do not
-+excuse you from the conditions of this License. If you cannot
-+distribute so as to satisfy simultaneously your obligations under this
-+License and any other pertinent obligations, then as a consequence you
-+may not distribute the Library at all. For example, if a patent
-+license would not permit royalty-free redistribution of the Library by
-+all those who receive copies directly or indirectly through you, then
-+the only way you could satisfy both it and this License would be to
-+refrain entirely from distribution of the Library.
-+
-+If any portion of this section is held invalid or unenforceable under any
-+particular circumstance, the balance of the section is intended to apply,
-+and the section as a whole is intended to apply in other circumstances.
-+
-+It is not the purpose of this section to induce you to infringe any
-+patents or other property right claims or to contest validity of any
-+such claims; this section has the sole purpose of protecting the
-+integrity of the free software distribution system which is
-+implemented by public license practices. Many people have made
-+generous contributions to the wide range of software distributed
-+through that system in reliance on consistent application of that
-+system; it is up to the author/donor to decide if he or she is willing
-+to distribute software through any other system and a licensee cannot
-+impose that choice.
-+
-+This section is intended to make thoroughly clear what is believed to
-+be a consequence of the rest of this License.
-+
-+ 12. If the distribution and/or use of the Library is restricted in
-+certain countries either by patents or by copyrighted interfaces, the
-+original copyright holder who places the Library under this License may add
-+an explicit geographical distribution limitation excluding those countries,
-+so that distribution is permitted only in or among countries not thus
-+excluded. In such case, this License incorporates the limitation as if
-+written in the body of this License.
-+
-+ 13. The Free Software Foundation may publish revised and/or new
-+versions of the Lesser General Public License from time to time.
-+Such new versions will be similar in spirit to the present version,
-+but may differ in detail to address new problems or concerns.
-+
-+Each version is given a distinguishing version number. If the Library
-+specifies a version number of this License which applies to it and
-+"any later version", you have the option of following the terms and
-+conditions either of that version or of any later version published by
-+the Free Software Foundation. If the Library does not specify a
-+license version number, you may choose any version ever published by
-+the Free Software Foundation.
-+
-+ 14. If you wish to incorporate parts of the Library into other free
-+programs whose distribution conditions are incompatible with these,
-+write to the author to ask for permission. For software which is
-+copyrighted by the Free Software Foundation, write to the Free
-+Software Foundation; we sometimes make exceptions for this. Our
-+decision will be guided by the two goals of preserving the free status
-+of all derivatives of our free software and of promoting the sharing
-+and reuse of software generally.
-+
-+ NO WARRANTY
-+
-+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-+
-+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-+DAMAGES.
-+
-+ END OF TERMS AND CONDITIONS
-+
-+ How to Apply These Terms to Your New Libraries
-+
-+ If you develop a new library, and you want it to be of the greatest
-+possible use to the public, we recommend making it free software that
-+everyone can redistribute and change. You can do so by permitting
-+redistribution under these terms (or, alternatively, under the terms of the
-+ordinary General Public License).
-+
-+ To apply these terms, attach the following notices to the library. It is
-+safest to attach them to the start of each source file to most effectively
-+convey the exclusion of warranty; and each file should have at least the
-+"copyright" line and a pointer to where the full notice is found.
-+
-+ <one line to give the library's name and a brief idea of what it does.>
-+ Copyright (C) <year> <name of author>
-+
-+ This library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ This library 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
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with this library; if not, write to the Free Software
-+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+
-+Also add information on how to contact you by electronic and paper mail.
-+
-+You should also get your employer (if you work as a programmer) or your
-+school, if any, to sign a "copyright disclaimer" for the library, if
-+necessary. Here is a sample; alter the names:
-+
-+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
-+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-+
-+ <signature of Ty Coon>, 1 April 1990
-+ Ty Coon, President of Vice
-+
-+That's all there is to it!
-+
-+
-diff --git a/libclamav/libmspack-0.4alpha/ChangeLog b/libclamav/libmspack-0.4alpha/ChangeLog
-new file mode 100644
-index 000000000000..2d3cf198d499
---- /dev/null
-+++ b/libclamav/libmspack-0.4alpha/ChangeLog
-@@ -0,0 +1,491 @@
-+2013-05-27 Stuart Caie <kyzer@4u.net>
-+
-+ * test/oabx.c: added new example command for unpacking OAB files.
-+
-+2013-05-17 Stuart Caie <kyzer@4u.net>
-+
-+ * mspack.h: Support for decompressing a new file format, the Exchange
-+ Offline Address Book (OAB). Thanks to David Woodhouse for writing
-+ the implementation. I've bumped the version to 0.4alpha in celebration.
-+
-+2012-04-15 Stuart Caie <kyzer@4u.net>
-+
-+ * chmd_read_headers(): More thorough validation of CHM header values.
-+ Thanks to Sergei Trofimovich for finding sample files.
-+
-+ * read_reset_table(): Better test for overflow. Thanks again to
-+ Sergei Trofimovich for generating a good example.
-+
-+ * test/chminfo.c: this test program reads the reset table by itself
-+ and was also susceptible to the same overflow problems.
-+
-+2012-03-16 Stuart Caie <kyzer@4u.net>
-+
-+ * Makefile.am, configure.ac: make the GCC warning flags conditional
-+ on using the GCC compiler. Thanks to Dagobert Michelsen for letting
-+ me know.
-+
-+2011-11-25 Stuart Caie <kyzer@4u.net>
-+
-+ * lzxd_decompress(): Prevent matches that go beyond the start
-+ of the LZX stream. Thanks to Sergei Trofimovich for testing
-+ with valgrind and finding a corrupt sample file that exercises
-+ this scenario.
-+
-+2011-11-23 Stuart Caie <kyzer@4u.net>
-+
-+ * chmd_fast_find(): add a simple check against infinite PGML
-+ loops. Thanks to Sergei Trofimovich for finding sample files.
-+ Multi-step PGML or PGMI infinite loops remain possible.
-+
-+2011-06-17 Stuart Caie <kyzer@4u.net>
-+
-+ * read_reset_table(): wasn't reading the right offset for getting
-+ the LZX uncompressed length. Thanks to Sergei Trofimovich for
-+ finding the bug.
-+
-+2011-05-31 Stuart Caie <kyzer@4u.net>
-+
-+ * kwajd.c, mszipd.c: KWAJ type 4 files (MSZIP) are now supported.
-+ Thanks to Clive Turvey for sending me the format details.
-+
-+ * doc/szdd_kwaj_format.html: Updated documentation to cover
-+ KWAJ's MSZIP compression.
-+
-+2011-05-11 Stuart Caie <kyzer@4u.net>
-+
-+ * cabd_find(): rethought how large vs small file support is
-+ handled, as users were getting "library not compiled to support
-+ large files" message on some small files. Now checks for actual
-+ off_t overflow, rather than trying to preempt it.
-+
-+2011-05-10: Stuart Caie <kyzer@4u.net>
-+
-+ * chmd.c: implemented fast_find()
-+
-+ * test/chmx.c: removed the multiple extraction orders, now it just
-+ extracts in the fastest order
-+
-+ * test/chmd_order.c: new program added to test that different
-+ extraction orders don't affect the results of extraction
-+
-+ * test/chmd_find.c: new program to test that fast_find() works.
-+ Either supply your own filename to find, or it will try finding
-+ every file in the CHM.
-+
-+ * configure.ac: because CHM fast find requires case-insensitive
-+ comparisons, tolower() or towlower() are used where possible.
-+ These functions and their headers are checked for.
-+
-+ * mspack.h: exposed struct mschmd_sec_mscompressed's spaninfo
-+ and struct mschmd_header's first_pmgl, last_pmgl and chunk_cache
-+ to the world. Check that the CHM decoder version is v2 or higher
-+ before using them.
-+
-+ * system.c: set CHM decoder version to v2
-+
-+2011-04-27: Stuart Caie <kyzer@4u.net>
-+
-+ * many files: Made C++ compilers much happier with libmspack.
-+ Changed char * to const char * where possible.
-+
-+ * mspack.h: Changed user-supplied char * to const char *.
-+ Unless you've written your own mspack_system implementation,
-+ you will likely be unaffected.
-+ If you have written your own mspack_system implementation:
-+ 1: change open() so it takes a const char *filename
-+ 2: change message() so it takes a const char *format
-+ If you cast your function into the mspack_system struct,
-+ you can change the cast instead of the function.
-+
-+2011-04-27: Stuart Caie <kyzer@4u.net>
-+
-+ * Makefile.am: changed CFLAGS from "-Wsign-compare -Wconversion
-+ -pedantic" to "-W -Wno-unused". This enables more warnings, and
-+ disables these specific warnings which are now a hinderance.
-+
-+2011-04-27: Stuart Caie <kyzer@4u.net>
-+
-+ * test/cabrip.c, test/chminfo.c: used macros from system.h for
-+ printing offsets and reading 64-bit values, rather than
-+ reinvent the wheel.
-+
-+ * cabd_can_merge_folders(): declare variables at the start of
-+ a block so older C compilers won't choke.
-+
-+ * cabd_find(): avoid compiler complaints about non-initialised
-+ variables. We know they'll get initialised before use, but the
-+ compiler can't reverse a state machine to draw the same conclusion.
-+
-+2011-04-26: Stuart Caie <kyzer@4u.net>
-+
-+ * configure.ac, mspack/system.h: Added a configure test to get
-+ the size of off_t. If off_t is 8 bytes or more, we presume this
-+ system has large file support. This fixes LFS detection for Fedora
-+ x86_64 and Darwin/Mac OS X, neither of which declare FILESIZEBITS in
-+ <limits.h>. It's not against the POSIX standard to do this: "A
-+ definition of [FILESIZEBITS] shall be omitted from the <limits.h>
-+ header on specific implementations where the corresponding value is
-+ equal to or greater than the stated minimum, but where the value can
-+ vary depending on the file to which it is applied."
-+ (http://pubs.opengroup.org/onlinepubs/009695399/basedefs/limits.h.html)
-+ Thanks to Edward Sheldrake for the patch.
-+
-+2011-04-26: Stuart Caie <kyzer@4u.net>
-+
-+ * chmd.c: all 64-bit integer reads are now consolidated into
-+ the read_off64() function
-+
-+ * chmd_read_headers(): this function has been made resilient
-+ against accessing memory past the end of a chunk. Thanks to
-+ Sergei Trofimovich for sending me examples and analysis.
-+
-+ * chmd_init_decomp(): this function now reads the SpanInfo file
-+ if the ResetTable file isn't available, it also checks that each
-+ system file it needs is large enough before accessing it, and
-+ some of its code has been split into several new functions:
-+ find_sys_file(), read_reset_table() and read_spaninfo()
-+
-+2011-04-26: Stuart Caie <kyzer@4u.net>
-+
-+ * mspack.h, chmd.c: now reads the SpanInfo system file if the
-+ ResetTable file isn't available. This adds a new spaninfo pointer
-+ into struct mschmd_sec_mscompressed
-+
-+2011-04-26: Stuart Caie <kyzer@4u.net>
-+
-+ * test/chminfo.c: more sanity checks for corrupted CHM files where
-+ entries go past the end of a PGML/PGMI chunk, thanks to
-+ Sergei Trofimovich for sending me examples and analysis.
-+
-+2011-04-25: Stuart Caie <kyzer@4u.net>
-+
-+ * cabd_merge(): Drew D'Addesio showed me spanning cabinets which
-+ don't have all the CFFILE entries they should, but otherwise have
-+ all necessary data for extraction. Changed the merging folders
-+ test to be less strict; if folders don't exactly match, warn which
-+ files are missing, but allow merging if at least one necessary
-+ file is present.
-+
-+2010-09-24: Stuart Caie <kyzer@4u.net>
-+
-+ * readhuff.h: Don't let build_decode_table() allow empty trees.
-+ It's meant to be special case just for the LZX length tree, so
-+ move that logic out to the LZX code. Thanks to Danny Kroshin for
-+ discovering the bug.
-+
-+ * lzxd.c: Allow empty length trees, but not other trees. If
-+ the length tree is empty, fail if asked to decode a length symbol.
-+ Again, thanks to Danny Kroshin for discovering the bug.
-+
-+2010-09-20: Stuart Caie <kyzer@4u.net>
-+
-+ * Makefile.am: Set EXTRA_DIST so it doesn't include .svn
-+ directories in the distribution, but does include docs.
-+
-+2010-09-20: Stuart Caie <kyzer@4u.net>
-+
-+ * Makefile.am, configure.ac: Use modern auto* practises; turn on
-+ automake silent rules where possible, use "m4" directory for libtool
-+ macros, use LT_INIT instead of AC_PROG_LIBTOOL and use AM_CPPFLAGS
-+ instead of INCLUDES. Thanks to Sergei Trofimovich for the patch.
-+
-+2010-09-15: Stuart Caie <kyzer@4u.net>
-+
-+ * many files: Made the code compile with C++
-+ - Renamed all 'this' variables/parameters to 'self'
-+ - Added casts to all memory allocations.
-+ - Added extern "C" to header files with extern declarations.
-+ - Made system.c include system.h.
-+ - Changed the K&R-style headers to ANSI-style headers in md5.c
-+
-+2010-08-04: Stuart Caie <kyzer@4u.net>
-+
-+ * many files: removed unnecessary <unistd.h> include
-+
-+2010-07-19: Stuart Caie <kyzer@4u.net>
-+
-+ * cabd_md5.c, chmd_md5.c: Replace writing files to disk then
-+ MD5summing them, with an MD5summer built into mspack_system.
-+ Much, much faster results.
-+
-+ * qtmd_decompress(): Robert Riebisch pointed out a Quantum
-+ data integrity check that could never be tripped, because
-+ frame_todo is unsigned, so it will never be decremented
-+ below zero. Replaced the check with one that assumes that
-+ decrementing past zero wraps frame_todo round to a number
-+ more than its maximum value (QTM_FRAME_SIZE).
-+
-+2010-07-18: Stuart Caie <kyzer@4u.net>
-+
-+ * cabd.c: Special logic to pass cabd_sys_read() errors back
-+ to cabd_extract() wasn't compatible with the decompressor
-+ logic of returning the same error repeatedly once unpacking
-+ fails. This meant that if decompressing failed because of
-+ a read error, then the next file in the same folder would
-+ come back as "no error", but the decompressed wouldn't have
-+ even attempted to decompress the file. Added a new state
-+ variable, read_error, with the same lifespan as a decompressor,
-+ to pass the underlying reason for MSPACK_ERR_READ errors back.
-+
-+ * mszipd.c: improve MS-ZIP recovery by saving all the bytes
-+ decoded prior to a block failing. This requires remembering
-+ how far we got through the block, so the code has been made
-+ slightly slower (about 0.003 seconds slower per gigabyte
-+ unpacked) by removing the local variable window_posn
-+ and keeping it in the state structure instead.
-+
-+2010-07-16: Stuart Caie <kyzer@4u.net>
-+
-+ * Makefile.am: strange interactions. When -std=c99 is used,
-+ my Ubuntu's <stdio.h> (libc6-dev 2.11.1-0ubuntu7.2) does NOT
-+ define fseeko() unless _LARGEFILE_SOURCE is also defined. But
-+ configure always uses -std=gnu99, not -std=c99, so its test
-+ determines _LARGEFILE_SOURCE isn't needed but HAVE_FSEEKO is
-+ true. The implicit fseeko definition has a 32-bit rather than
-+ 64-bit offset, which means the mode parameter is interpreted
-+ as part of the offset, and the mode is taken from the stack,
-+ which is generally 0 (SEEK_SET). This breaks all SEEK_CURs.
-+ The code works fine when -std=c99 is not set, so just remove
-+ it for the time being.
-+
-+2010-07-12: Stuart Caie <kyzer@4u.net>
-+
-+ * system.c: Reject reading/writing a negative number of bytes.
-+
-+ * chmd.c: allow zero-length files to be seen. Previously they were
-+ skipped because they were mistaken for directory entries.
-+
-+2010-07-08: Stuart Caie <kyzer@4u.net>
-+
-+ * qtmd.c: Larry Frieson found an important bug in the Quantum
-+ decoder. Window wraps flush all unwritten data to disk.
-+ However, sometimes less data is needed, which makes
-+ out_bytes negative, which is then passed to write(). Some
-+ write() implementations treat negative sizes it as a large
-+ positive integer and segfault trying to write the buffer.
-+
-+ * Makefile.am, test/*.c: fixed automake file so that the
-+ package passes a "make distcheck".
-+
-+2010-07-07: Stuart Caie <kyzer@4u.net>
-+
-+ * doc/szdd_kwaj_format.html: explain SZDD/KWAJ file format.
-+
-+ * lzssd.c: fixed SZDD decompression bugs.
-+
-+ * test/chmd_compare: Add scripts for comparing chmd_md5 against
-+ Microsoft's own code.
-+
-+ * test/chmd_md5.c: remove the need to decompress everything
-+ twice, as this is already in chmx.c if needed.
-+
-+2010-07-06: Stuart Caie <kyzer@4u.net>
-+
-+ * many files: added SZDD and KWAJ decompression support.
-+
-+2010-06-18: Stuart Caie <kyzer@4u.net>
-+
-+ * system.h: expanded the test for 64-bit largefile support so
-+ it also works on 64-bit native operating systems where you
-+ don't have to define _FILE_OFFSET_BITS.
-+
-+2010-06-17: Stuart Caie <kyzer@4u.net>
-+
-+ * libmspack.pc.in: Added pkg-config support. Thanks to
-+ Patrice Dumas for the patch.
-+
-+2010-06-14: Stuart Caie <kyzer@4u.net>
-+
-+ * qtmd.c, lzxd.c, mszipd.c: created new headers, readbits.h and
-+ readhuff.h, which bundle up the bit-reading and huffman-reading
-+ code found in the MSZIP, LZX and Quantum decoders.
-+
-+2010-06-11: Stuart Caie <kyzer@4u.net>
-+
-+ * qtmd_static_init(): Removed function in favour of static const
-+ tables, same rationale as for lzxd_static_init().
-+
-+ * qtmd_read_input(), zipd_read_input(): After testing against my
-+ set of CABs from the wild, I've found both these functions _need_
-+ an extra EOF flag, like lzxd_read_input() has. So I've added
-+ it. This means CABs get decoded properly AND there's no reading
-+ fictional bytes.
-+
-+2010-06-03: Stuart Caie <kyzer@4u.net>
-+
-+ * test/cabd_md5.c: updated this so it has better output and
-+ doesn't need to be in the same directory as the files for multi-
-+ part sets.
-+
-+2010-05-20: Stuart Caie <kyzer@4u.net>
-+
-+ * qtmd_read_input(), zipd_read_input(): Both these functions are
-+ essentially copies of lzxd_read_input(), but that has a feature
-+ they don't have - an extra EOF flag. So if EOF is
-+ encountered (sys->read() returns 0 bytes), these don't pass on the
-+ error. Their respective bit-reading functions that called them
-+ then go on to access at least one byte of the input buffer, which
-+ doesn't exist as sys->read() returned 0. Thanks to Michael
-+ Vidrevich for spotting this and providing a test case.
-+
-+2010-05-20: Stuart Caie <kyzer@4u.net>
-+
-+ * system.h: It turns out no configure.ac tests are needed to
-+ decide between __func__ and __FUNCTION__, so I put the standard
-+ one (__func__) back into the D() macro, along with some
-+ special-case ifdefs for old versions of GCC.
-+
-+ * lzxd_static_init(): Removed function in favour of static const
-+ tables. Jorge Lodos thinks it causes multithreading problems, I
-+ disagree. However, there are speed benefits to declaring the
-+ tables as static const.
-+
-+ * cabd_init_decomp(): Fixed code which never runs but would write
-+ to a null pointer if it could. Changed it to an assert() as it
-+ will only trip if someone rewrites the internals of cabd.c. Thanks
-+ to Jorge Lodos for finding it.
-+
-+ * inflate(): Fixed an off-by-one error: if the LITERAL table
-+ emitted code 286, this would read one byte past the end of
-+ lit_extrabits[]. Thanks to Jorge Lodos for finding it.
-+
-+2010-05-06: Stuart Caie <kyzer@4u.net>
-+
-+ * test/cabrip.c, test/chminfo.c: add fseeko() support
-+
-+2009-06-01: Stuart Caie <kyzer@4u.net>
-+
-+ * README: clarify the extended license terms
-+
-+ * doc, Makefile.am: make the doxygen makefile work when using
-+ an alternate build directory
-+
-+2006-09-20: Stuart Caie <kyzer@4u.net>
-+
-+ * system.h: I had a choice of adding more to configure.ac to
-+ test for __func__ and __FUNCTION__, or just removing __FUNCTION__
-+ from the D() macro. I chose the latter.
-+
-+ * Makefile.am: Now the --enable-debug in configure will actually
-+ apply -DDEBUG to the sources.
-+
-+2006-09-20: Stuart Caie <kyzer@4u.net>
-+
-+ * qtmd_decompress(): Fixed a major bug in the QTM decoder, as
-+ reported by Tomasz Kojm last year. Removed the restriction on
-+ window sizes as a result. Correctly decodes the XLVIEW cabinets.
-+
-+2006-08-31: Stuart Caie <kyzer@4u.net>
-+
-+ * lzxd_decompress(): Two major bugs fixed. Firstly, the R0/R1/R2
-+ local variables weren't set to 1 after lzxd_reset_state().
-+ Secondly, the LZX decompression stream can sometimes become
-+ odd-aligned (after an uncompressed block) and the next 16 bit
-+ fetch needs to be split across two input buffers, ENSURE_BITS()
-+ didn't cover this case. Many thanks to Igor Glucksmann for
-+ discovering both these bugs.
-+
-+2005-06-30: Stuart Caie <kyzer@4u.net>
-+
-+ * cabd_search(): fixed problems with searching files > 4GB for
-+ cabinets.
-+
-+2005-06-23: Stuart Caie <kyzer@4u.net>
-+
-+ * qtmd_init(): The QTM decoder is broken for QTM streams with a
-+ window size less than the frame size. Until this is fixed, fail
-+ to initialise QTM window sizes less than 15. Thanks to Tomasz Kojm
-+ for finding the bug.
-+
-+2005-03-22: Stuart Caie <kyzer@4u.net>
-+
-+ * system.h: now undefs "read", as the latest glibc defines read()
-+ as a macro which messes everything up. Thanks to Ville Skytt for
-+ the update.
-+
-+2005-03-14: Stuart Caie <kyzer@4u.net>
-+
-+ * test/multifh.c: write an mspack_system implementation that can
-+ handle normal disk files, open file handles, open file descriptors
-+ and raw memory all at the same time.
-+
-+2005-02-24: Stuart Caie <kyzer@4u.net>
-+
-+ * chmd_read_headers(): avoid infinite loop when chmhs1_ChunkSize is
-+ zero. Thanks to Serge Semashko for the research and discovery.
-+
-+2005-02-18: Stuart Caie <kyzer@4u.net>
-+
-+ * mspack.h: renamed the "interface" parameter of mspack_version() to
-+ "entity", as interface is a reserved word in C++. Thanks to Yuriy Z
-+ for the discovery.
-+
-+2004-12-09: Stuart Caie <kyzer@4u.net>
-+
-+ * lzss.h, szdd.h, szddd.h: more work on the SZDD/LZSS design.
-+
-+2004-06-12: Stuart Caie <kyzer@4u.net>
-+
-+ * lzxd_static_init(): removed write to lzxd_extra_bits[52], thanks
-+ to Nigel Horne from the ClamAV project.
-+
-+2004-04-23: Stuart Caie <kyzer@4u.net>
-+
-+ * mspack.h: changed 'this' parameters to 'self' to allow compiling in
-+ C++ compilers, thanks to Michal Cihar for the suggestion.
-+
-+ * mspack.h, system.h, mspack.def, winbuild.sh: integrated some changes
-+ from Petr Blahos to let libmspack build as a Win32 DLL.
-+
-+ * chmd_fast_find(): added the first part of this code, and comments
-+ sufficient to finish it :)
-+
-+2004-04-08 Stuart Caie <kyzer@4u.net>
-+
-+ * test/chminfo.c: added a program for dumping useful data from CHM
-+ files, e.g. index entries and reset tables. I wrote this a while ago
-+ for investigating a corrupt cabinet, but I never committed it.
-+
-+2004-03-26 Stuart Caie <kyzer@4u.net>
-+
-+ * test/cabd_memory.c: added a new test example which shows an
-+ mspack_system implementation that reads and writes from memory only,
-+ no file I/O. Even the source code has a little cab file embedded in it.
-+
-+2004-03-10 Stuart Caie <kyzer@4u.net>
-+
-+ * cabd.c: updated the location of the CAB SDK.
-+
-+ * cabd.c: changed a couple of MSPACK_ERR_READ errors not based on
-+ read() failures into MSPACK_ERR_DATAFORMAT errors.
-+
-+ * mszipd_decompress(): repair mode now aborts after writing a
-+ repaired block if the error was a hard error (e.g. read error, out
-+ of blocks, etc)
-+
-+2004-03-08 Stuart Caie <kyzer@4u.net>
-+
-+ * Makefile.am: now builds and installs a versioned library.
-+
-+ * mszipd.c: completed a new MS-ZIP and inflate implementation.
-+
-+ * system.c: added mspack_version() and committed to a versioned
-+ ABI for the library.
-+
-+ * cabd.c: made mszip repair functionality work correctly.
-+
-+ * cabd.c: now identifies invalid block headers
-+
-+ * doc/: API documentation is now included with the library, not
-+ just on the web.
-+
-+ * chmd.c: fixed error messages and 64-bit debug output.
-+
-+ * chmd.c: now also catches NULL files in section 1.
-+
-+ * test/chmx.c: now acts more like cabextract.
-+
-+2003-08-29 Stuart Caie <kyzer@4u.net>
-+
-+ * ChangeLog: started keeping a ChangeLog :)
-diff --git a/libclamav/libmspack-0.4alpha/INSTALL b/libclamav/libmspack-0.4alpha/INSTALL
-new file mode 100644
-index 000000000000..a1e89e18ad20
---- /dev/null
-+++ b/libclamav/libmspack-0.4alpha/INSTALL
-@@ -0,0 +1,370 @@
-+Installation Instructions
-+*************************
-+
-+Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
-+Inc.
-+
-+ Copying and distribution of this file, with or without modification,
-+are permitted in any medium without royalty provided the copyright
-+notice and this notice are preserved. This file is offered as-is,
-+without warranty of any kind.
-+
-+Basic Installation
-+==================
-+
-+ Briefly, the shell commands `./configure; make; make install' should
-+configure, build, and install this package. The following
-+more-detailed instructions are generic; see the `README' file for
-+instructions specific to this package. Some packages provide this
-+`INSTALL' file but do not implement all of the features documented
-+below. The lack of an optional feature in a given package is not
-+necessarily a bug. More recommendations for GNU packages can be found
-+in *note Makefile Conventions: (standards)Makefile Conventions.
-+
-+ The `configure' shell script attempts to guess correct values for
-+various system-dependent variables used during compilation. It uses
-+those values to create a `Makefile' in each directory of the package.
-+It may also create one or more `.h' files containing system-dependent
-+definitions. Finally, it creates a shell script `config.status' that
-+you can run in the future to recreate the current configuration, and a
-+file `config.log' containing compiler output (useful mainly for
-+debugging `configure').
-+
-+ It can also use an optional file (typically called `config.cache'
-+and enabled with `--cache-file=config.cache' or simply `-C') that saves
-+the results of its tests to speed up reconfiguring. Caching is
-+disabled by default to prevent problems with accidental use of stale
-+cache files.
-+
-+ If you need to do unusual things to compile the package, please try
-+to figure out how `configure' could check whether to do them, and mail
-+diffs or instructions to the address given in the `README' so they can
-+be considered for the next release. If you are using the cache, and at
-+some point `config.cache' contains results you don't want to keep, you
-+may remove or edit it.
-+
-+ The file `configure.ac' (or `configure.in') is used to create
-+`configure' by a program called `autoconf'. You need `configure.ac' if
-+you want to change it or regenerate `configure' using a newer version
-+of `autoconf'.
-+
-+ The simplest way to compile this package is:
-+
-+ 1. `cd' to the directory containing the package's source code and type
-+ `./configure' to configure the package for your system.
-+
-+ Running `configure' might take a while. While running, it prints
-+ some messages telling which features it is checking for.
-+
-+ 2. Type `make' to compile the package.
-+
-+ 3. Optionally, type `make check' to run any self-tests that come with
-+ the package, generally using the just-built uninstalled binaries.
-+
-+ 4. Type `make install' to install the programs and any data files and
-+ documentation. When installing into a prefix owned by root, it is
-+ recommended that the package be configured and built as a regular
-+ user, and only the `make install' phase executed with root
-+ privileges.
-+
-+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
-+ this time using the binaries in their final installed location.
-+ This target does not install anything. Running this target as a
-+ regular user, particularly if the prior `make install' required
-+ root privileges, verifies that the installation completed
-+ correctly.
-+
-+ 6. You can remove the program binaries and object files from the
-+ source code directory by typing `make clean'. To also remove the
-+ files that `configure' created (so you can compile the package for
-+ a different kind of computer), type `make distclean'. There is
-+ also a `make maintainer-clean' target, but that is intended mainly
-+ for the package's developers. If you use it, you may have to get
-+ all sorts of other programs in order to regenerate files that came
-+ with the distribution.
-+
-+ 7. Often, you can also type `make uninstall' to remove the installed
-+ files again. In practice, not all packages have tested that
-+ uninstallation works correctly, even though it is required by the
-+ GNU Coding Standards.
-+
-+ 8. Some packages, particularly those that use Automake, provide `make
-+ distcheck', which can by used by developers to test that all other
-+ targets like `make install' and `make uninstall' work correctly.
-+ This target is generally not run by end users.
-+
-+Compilers and Options
-+=====================
-+
-+ Some systems require unusual options for compilation or linking that
-+the `configure' script does not know about. Run `./configure --help'
-+for details on some of the pertinent environment variables.
-+
-+ You can give `configure' initial values for configuration parameters
-+by setting variables in the command line or in the environment. Here
-+is an example:
-+
-+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
-+
-+ *Note Defining Variables::, for more details.
-+
-+Compiling For Multiple Architectures
-+====================================
-+
-+ You can compile the package for more than one kind of computer at the
-+same time, by placing the object files for each architecture in their
-+own directory. To do this, you can use GNU `make'. `cd' to the
-+directory where you want the object files and executables to go and run
-+the `configure' script. `configure' automatically checks for the
-+source code in the directory that `configure' is in and in `..'. This
-+is known as a "VPATH" build.
-+
-+ With a non-GNU `make', it is safer to compile the package for one
-+architecture at a time in the source code directory. After you have
-+installed the package for one architecture, use `make distclean' before
-+reconfiguring for another architecture.
-+
-+ On MacOS X 10.5 and later systems, you can create libraries and
-+executables that work on multiple system types--known as "fat" or
-+"universal" binaries--by specifying multiple `-arch' options to the
-+compiler but only a single `-arch' option to the preprocessor. Like
-+this:
-+
-+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-+ CPP="gcc -E" CXXCPP="g++ -E"
-+
-+ This is not guaranteed to produce working output in all cases, you
-+may have to build one architecture at a time and combine the results
-+using the `lipo' tool if you have problems.
-+
-+Installation Names
-+==================
-+
-+ By default, `make install' installs the package's commands under
-+`/usr/local/bin', include files under `/usr/local/include', etc. You
-+can specify an installation prefix other than `/usr/local' by giving
-+`configure' the option `--prefix=PREFIX', where PREFIX must be an
-+absolute file name.
-+
-+ You can specify separate installation prefixes for
-+architecture-specific files and architecture-independent files. If you
-+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
-+PREFIX as the prefix for installing programs and libraries.
-+Documentation and other data files still use the regular prefix.
-+
-+ In addition, if you use an unusual directory layout you can give
-+options like `--bindir=DIR' to specify different values for particular
-+kinds of files. Run `configure --help' for a list of the directories
-+you can set and what kinds of files go in them. In general, the
-+default for these options is expressed in terms of `${prefix}', so that
-+specifying just `--prefix' will affect all of the other directory
-+specifications that were not explicitly provided.
-+
-+ The most portable way to affect installation locations is to pass the
-+correct locations to `configure'; however, many packages provide one or
-+both of the following shortcuts of passing variable assignments to the
-+`make install' command line to change installation locations without
-+having to reconfigure or recompile.
-+
-+ The first method involves providing an override variable for each
-+affected directory. For example, `make install
-+prefix=/alternate/directory' will choose an alternate location for all
-+directory configuration variables that were expressed in terms of
-+`${prefix}'. Any directories that were specified during `configure',
-+but not in terms of `${prefix}', must each be overridden at install
-+time for the entire installation to be relocated. The approach of
-+makefile variable overrides for each directory variable is required by
-+the GNU Coding Standards, and ideally causes no recompilation.
-+However, some platforms have known limitations with the semantics of
-+shared libraries that end up requiring recompilation when using this
-+method, particularly noticeable in packages that use GNU Libtool.
-+
-+ The second method involves providing the `DESTDIR' variable. For
-+example, `make install DESTDIR=/alternate/directory' will prepend
-+`/alternate/directory' before all installation names. The approach of
-+`DESTDIR' overrides is not required by the GNU Coding Standards, and
-+does not work on platforms that have drive letters. On the other hand,
-+it does better at avoiding recompilation issues, and works well even
-+when some directory options were not specified in terms of `${prefix}'
-+at `configure' time.
-+
-+Optional Features
-+=================
-+
-+ If the package supports it, you can cause programs to be installed
-+with an extra prefix or suffix on their names by giving `configure' the
-+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-+
-+ Some packages pay attention to `--enable-FEATURE' options to
-+`configure', where FEATURE indicates an optional part of the package.
-+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-+is something like `gnu-as' or `x' (for the X Window System). The
-+`README' should mention any `--enable-' and `--with-' options that the
-+package recognizes.
-+
-+ For packages that use the X Window System, `configure' can usually
-+find the X include and library files automatically, but if it doesn't,
-+you can use the `configure' options `--x-includes=DIR' and
-+`--x-libraries=DIR' to specify their locations.
-+
-+ Some packages offer the ability to configure how verbose the
-+execution of `make' will be. For these packages, running `./configure
-+--enable-silent-rules' sets the default to minimal output, which can be
-+overridden with `make V=1'; while running `./configure
-+--disable-silent-rules' sets the default to verbose, which can be
-+overridden with `make V=0'.
-+
-+Particular systems
-+==================
-+
-+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
-+CC is not installed, it is recommended to use the following options in
-+order to use an ANSI C compiler:
-+
-+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
-+
-+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
-+
-+ HP-UX `make' updates targets which have the same time stamps as
-+their prerequisites, which makes it generally unusable when shipped
-+generated files such as `configure' are involved. Use GNU `make'
-+instead.
-+
-+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
-+parse its `<wchar.h>' header file. The option `-nodtk' can be used as
-+a workaround. If GNU CC is not installed, it is therefore recommended
-+to try
-+
-+ ./configure CC="cc"
-+
-+and if that doesn't work, try
-+
-+ ./configure CC="cc -nodtk"
-+
-+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
-+directory contains several dysfunctional programs; working variants of
-+these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
-+in your `PATH', put it _after_ `/usr/bin'.
-+
-+ On Haiku, software installed for all users goes in `/boot/common',
-+not `/usr/local'. It is recommended to use the following options:
-+
-+ ./configure --prefix=/boot/common
-+
-+Specifying the System Type
-+==========================
-+
-+ There may be some features `configure' cannot figure out
-+automatically, but needs to determine by the type of machine the package
-+will run on. Usually, assuming the package is built to be run on the
-+_same_ architectures, `configure' can figure that out, but if it prints
-+a message saying it cannot guess the machine type, give it the
-+`--build=TYPE' option. TYPE can either be a short name for the system
-+type, such as `sun4', or a canonical name which has the form:
-+
-+ CPU-COMPANY-SYSTEM
-+
-+where SYSTEM can have one of these forms:
-+
-+ OS
-+ KERNEL-OS
-+
-+ See the file `config.sub' for the possible values of each field. If
-+`config.sub' isn't included in this package, then this package doesn't
-+need to know the machine type.
-+
-+ If you are _building_ compiler tools for cross-compiling, you should
-+use the option `--target=TYPE' to select the type of system they will
-+produce code for.
-+
-+ If you want to _use_ a cross compiler, that generates code for a
-+platform different from the build platform, you should specify the
-+"host" platform (i.e., that on which the generated programs will
-+eventually be run) with `--host=TYPE'.
-+
-+Sharing Defaults
-+================
-+
-+ If you want to set default values for `configure' scripts to share,
-+you can create a site shell script called `config.site' that gives
-+default values for variables like `CC', `cache_file', and `prefix'.
-+`configure' looks for `PREFIX/share/config.site' if it exists, then
-+`PREFIX/etc/config.site' if it exists. Or, you can set the
-+`CONFIG_SITE' environment variable to the location of the site script.
-+A warning: not all `configure' scripts look for a site script.
-+
-+Defining Variables
-+==================
-+
-+ Variables not defined in a site shell script can be set in the
-+environment passed to `configure'. However, some packages may run
-+configure again during the build, and the customized values of these
-+variables may be lost. In order to avoid this problem, you should set
-+them in the `configure' command line, using `VAR=value'. For example:
-+
-+ ./configure CC=/usr/local2/bin/gcc
-+
-+causes the specified `gcc' to be used as the C compiler (unless it is
-+overridden in the site shell script).
-+
-+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-+an Autoconf bug. Until the bug is fixed you can use this workaround:
-+
-+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
-+
-+`configure' Invocation
-+======================
-+
-+ `configure' recognizes the following options to control how it
-+operates.
-+
-+`--help'
-+`-h'
-+ Print a summary of all of the options to `configure', and exit.
-+
-+`--help=short'
-+`--help=recursive'
-+ Print a summary of the options unique to this package's
-+ `configure', and exit. The `short' variant lists options used
-+ only in the top level, while the `recursive' variant lists options
-+ also present in any nested packages.
-+
-+`--version'
-+`-V'
-+ Print the version of Autoconf used to generate the `configure'
-+ script, and exit.
-+
-+`--cache-file=FILE'
-+ Enable the cache: use and save the results of the tests in FILE,
-+ traditionally `config.cache'. FILE defaults to `/dev/null' to
-+ disable caching.
-+
-+`--config-cache'
-+`-C'
-+ Alias for `--cache-file=config.cache'.
-+
-+`--quiet'
-+`--silent'
-+`-q'
-+ Do not print messages saying which checks are being made. To
-+ suppress all normal output, redirect it to `/dev/null' (any error
-+ messages will still be shown).
-+
-+`--srcdir=DIR'
-+ Look for the package's source code in directory DIR. Usually
-+ `configure' can determine that directory automatically.
-+
-+`--prefix=DIR'
-+ Use DIR as the installation prefix. *note Installation Names::
-+ for more details, including other options available for fine-tuning
-+ the installation locations.
-+
-+`--no-create'
-+`-n'
-+ Run the configure checks, but stop before creating any output
-+ files.
-+
-+`configure' also accepts some other, not widely useful, options. Run
-+`configure --help' for more details.
-+
-diff --git a/libclamav/libmspack-0.4alpha/Makefile.am b/libclamav/libmspack-0.4alpha/Makefile.am
-new file mode 100644
-index 000000000000..4f249275001a
---- /dev/null
-+++ b/libclamav/libmspack-0.4alpha/Makefile.am
-@@ -0,0 +1,100 @@
-+EXTRA_DIST = $(srcdir)/debian/* $(srcdir)/doc/* $(srcdir)/test/test_files/*/*
-+pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfig_DATA = libmspack.pc
-+
-+dist-hook:
-+ -rm -f $(distdir)/*.la
-+
-+ACLOCAL_AMFLAGS = -I m4
-+AM_CFLAGS =
-+# add "-DMSPACK_NO_DEFAULT_SYSTEM" to remove default mspack_system
-+if DEBUG
-+AM_CFLAGS += -DDEBUG
-+endif
-+if GCC
-+AM_CFLAGS += -Wall -W -Wno-unused
-+endif
-+AM_CPPFLAGS = -I$(top_srcdir)/mspack -I$(top_srcdir)/test
-+
-+lib_LTLIBRARIES = libmspack.la
-+include_HEADERS = mspack/mspack.h
-+
-+noinst_LTLIBRARIES = libmscabd.la libmschmd.la
-+noinst_PROGRAMS = test/cabd_md5 test/cabd_memory test/cabd_test \
-+ test/cabrip test/chmd_md5 test/chmx test/chminfo \
-+ test/multifh test/expand test/chmd_find \
-+ test/chmd_order test/oabx
-+
-+libmspack_la_SOURCES = mspack/mspack.h \
-+ mspack/system.h mspack/system.c \
-+ mspack/cab.h mspack/cabc.c mspack/cabd.c \
-+ mspack/chm.h mspack/chmc.c mspack/chmd.c \
-+ mspack/hlp.h mspack/hlpc.c mspack/hlpd.c \
-+ mspack/lit.h mspack/litc.c mspack/litd.c \
-+ mspack/kwaj.h mspack/kwajc.c mspack/kwajd.c \
-+ mspack/szdd.h mspack/szddc.c mspack/szddd.c \
-+ mspack/oab.h mspack/oabc.c mspack/oabd.c \
-+ mspack/lzx.h mspack/lzxc.c mspack/lzxd.c \
-+ mspack/mszip.h mspack/mszipc.c mspack/mszipd.c \
-+ mspack/qtm.h mspack/qtmd.c \
-+ mspack/readbits.h mspack/readhuff.h \
-+ mspack/lzss.h mspack/lzssd.c \
-+ mspack/des.h mspack/sha.h \
-+ mspack/crc32.c mspack/crc32.h
-+libmspack_la_LDFLAGS = -export-symbols-regex '^mspack_' -version-info 1:0:1
-+
-+libmscabd_la_SOURCES = mspack/mspack.h \
-+ mspack/system.h mspack/system.c \
-+ mspack/cab.h mspack/cabd.c \
-+ mspack/lzx.h mspack/lzxd.c \
-+ mspack/mszip.h mspack/mszipd.c \
-+ mspack/qtm.h mspack/qtmd.c \
-+ mspack/readbits.h mspack/readhuff.h
-+libmscabd_la_LDFLAGS = -export-symbols-regex '^mspack_'
-+
-+libmschmd_la_SOURCES = mspack/mspack.h \
-+ mspack/system.h mspack/system.c \
-+ mspack/chm.h mspack/chmd.c \
-+ mspack/lzx.h mspack/lzxd.c \
-+ mspack/readbits.h mspack/readhuff.h
-+libmschmd_la_LDFLAGS = -export-symbols-regex '^mspack_'
-+
-+test_chmx_SOURCES = test/chmx.c test/error.h libmschmd.la
-+test_chmx_LDADD = libmschmd.la
-+
-+test_chmd_md5_SOURCES = test/chmd_md5.c test/md5.c test/md5.h test/md5_fh.h \
-+ test/error.h libmschmd.la
-+test_chmd_md5_LDADD = libmschmd.la
-+
-+test_cabd_md5_SOURCES = test/cabd_md5.c test/md5.c test/md5.h test/md5_fh.h \
-+ test/error.h libmscabd.la
-+test_cabd_md5_LDADD = libmscabd.la
-+
-+test_cabd_test_SOURCES= test/cabd_test.c libmscabd.la
-+test_cabd_test_LDADD = libmscabd.la
-+
-+test_cabrip_SOURCES = test/cabrip.c libmscabd.la
-+test_cabrip_LDADD = libmscabd.la
-+
-+test_cabd_memory_SOURCES = test/cabd_memory.c libmscabd.la
-+test_cabd_memory_LDADD = libmscabd.la
-+
-+test_chminfo_SOURCES = test/chminfo.c libmschmd.la
-+test_chminfo_LDADD = libmschmd.la
-+
-+test_multifh_SOURCES = test/multifh.c libmscabd.la
-+test_multifh_LDADD = libmscabd.la
-+
-+test_expand_SOURCES = test/expand.c test/error.h libmspack.la
-+test_expand_LDADD = libmspack.la
-+
-+test_chmd_find_SOURCES = test/chmd_find.c test/error.h libmschmd.la
-+test_chmd_find_LDADD = libmschmd.la
-+
-+test_chmd_order_SOURCES = test/chmd_order.c test/md5.c test/md5.h test/md5_fh.h \
-+ test/error.h libmschmd.la
-+test_chmd_order_LDADD = libmschmd.la
-+
-+test_oabx_SOURCES = test/oabx.c test/md5.c test/md5.h test/md5_fh.h \
-+ test/error.h libmspack.la
-+test_oabx_LDADD = libmspack.la
-diff --git a/libclamav/libmspack-0.4alpha/Makefile.in b/libclamav/libmspack-0.4alpha/Makefile.in
-new file mode 100644
-index 000000000000..2c1e02e9aa9c
---- /dev/null
-+++ b/libclamav/libmspack-0.4alpha/Makefile.in
-@@ -0,0 +1,1371 @@
-+# Makefile.in generated by automake 1.11.3 from Makefile.am.
-+# @configure_input@
-+
-+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-+# Foundation, Inc.
-+# This Makefile.in 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.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-+# PARTICULAR PURPOSE.
-+
-+@SET_MAKE@
-+
-+
-+
-+
-+VPATH = @srcdir@
-+pkgdatadir = $(datadir)/@PACKAGE@
-+pkgincludedir = $(includedir)/@PACKAGE@
-+pkglibdir = $(libdir)/@PACKAGE@
-+pkglibexecdir = $(libexecdir)/@PACKAGE@
-+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-+install_sh_DATA = $(install_sh) -c -m 644
-+install_sh_PROGRAM = $(install_sh) -c
-+install_sh_SCRIPT = $(install_sh) -c
-+INSTALL_HEADER = $(INSTALL_DATA)
-+transform = $(program_transform_name)
-+NORMAL_INSTALL = :
-+PRE_INSTALL = :
-+POST_INSTALL = :
-+NORMAL_UNINSTALL = :
-+PRE_UNINSTALL = :
-+POST_UNINSTALL = :
-+build_triplet = @build@
-+host_triplet = @host@
-+# add "-DMSPACK_NO_DEFAULT_SYSTEM" to remove default mspack_system
-+@DEBUG_TRUE@am__append_1 = -DDEBUG
-+@GCC_TRUE@am__append_2 = -Wall -W -Wno-unused
-+noinst_PROGRAMS = test/cabd_md5$(EXEEXT) test/cabd_memory$(EXEEXT) \
-+ test/cabd_test$(EXEEXT) test/cabrip$(EXEEXT) \
-+ test/chmd_md5$(EXEEXT) test/chmx$(EXEEXT) \
-+ test/chminfo$(EXEEXT) test/multifh$(EXEEXT) \
-+ test/expand$(EXEEXT) test/chmd_find$(EXEEXT) \
-+ test/chmd_order$(EXEEXT) test/oabx$(EXEEXT)
-+subdir = .
-+DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \
-+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-+ $(srcdir)/config.h.in $(srcdir)/libmspack.pc.in \
-+ $(top_srcdir)/configure $(top_srcdir)/doc/Doxyfile.in \
-+ $(top_srcdir)/doc/Makefile.in AUTHORS COPYING.LIB ChangeLog \
-+ INSTALL NEWS TODO config.guess config.sub depcomp install-sh \
-+ ltmain.sh missing
-+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-+am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
-+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-+ $(top_srcdir)/configure.ac
-+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-+ $(ACLOCAL_M4)
-+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
-+ configure.lineno config.status.lineno
-+mkinstalldirs = $(install_sh) -d
-+CONFIG_HEADER = config.h
-+CONFIG_CLEAN_FILES = doc/Makefile doc/Doxyfile libmspack.pc
-+CONFIG_CLEAN_VPATH_FILES =
-+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-+am__vpath_adj = case $$p in \
-+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-+ *) f=$$p;; \
-+ esac;
-+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-+am__install_max = 40
-+am__nobase_strip_setup = \
-+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-+am__nobase_strip = \
-+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-+am__nobase_list = $(am__nobase_strip_setup); \
-+ for p in $$list; do echo "$$p $$p"; done | \
-+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-+ if (++n[$$2] == $(am__install_max)) \
-+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-+ END { for (dir in files) print dir, files[dir] }'
-+am__base_list = \
-+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-+am__uninstall_files_from_dir = { \
-+ test -z "$$files" \
-+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-+ $(am__cd) "$$dir" && rm -f $$files; }; \
-+ }
-+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \
-+ "$(DESTDIR)$(includedir)"
-+LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
-+libmscabd_la_LIBADD =
-+am_libmscabd_la_OBJECTS = system.lo cabd.lo lzxd.lo mszipd.lo qtmd.lo
-+libmscabd_la_OBJECTS = $(am_libmscabd_la_OBJECTS)
-+AM_V_lt = $(am__v_lt_@AM_V@)
-+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-+am__v_lt_0 = --silent
-+libmscabd_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-+ $(libmscabd_la_LDFLAGS) $(LDFLAGS) -o $@
-+libmschmd_la_LIBADD =
-+am_libmschmd_la_OBJECTS = system.lo chmd.lo lzxd.lo
-+libmschmd_la_OBJECTS = $(am_libmschmd_la_OBJECTS)
-+libmschmd_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-+ $(libmschmd_la_LDFLAGS) $(LDFLAGS) -o $@
-+libmspack_la_LIBADD =
-+am_libmspack_la_OBJECTS = system.lo cabc.lo cabd.lo chmc.lo chmd.lo \
-+ hlpc.lo hlpd.lo litc.lo litd.lo kwajc.lo kwajd.lo szddc.lo \
-+ szddd.lo oabc.lo oabd.lo lzxc.lo lzxd.lo mszipc.lo mszipd.lo \
-+ qtmd.lo lzssd.lo crc32.lo
-+libmspack_la_OBJECTS = $(am_libmspack_la_OBJECTS)
-+libmspack_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-+ $(libmspack_la_LDFLAGS) $(LDFLAGS) -o $@
-+PROGRAMS = $(noinst_PROGRAMS)
-+am_test_cabd_md5_OBJECTS = cabd_md5.$(OBJEXT) md5.$(OBJEXT)
-+test_cabd_md5_OBJECTS = $(am_test_cabd_md5_OBJECTS)
-+test_cabd_md5_DEPENDENCIES = libmscabd.la
-+am__dirstamp = $(am__leading_dot)dirstamp
-+am_test_cabd_memory_OBJECTS = cabd_memory.$(OBJEXT)
-+test_cabd_memory_OBJECTS = $(am_test_cabd_memory_OBJECTS)
-+test_cabd_memory_DEPENDENCIES = libmscabd.la
-+am_test_cabd_test_OBJECTS = cabd_test.$(OBJEXT)
-+test_cabd_test_OBJECTS = $(am_test_cabd_test_OBJECTS)
-+test_cabd_test_DEPENDENCIES = libmscabd.la
-+am_test_cabrip_OBJECTS = cabrip.$(OBJEXT)
-+test_cabrip_OBJECTS = $(am_test_cabrip_OBJECTS)
-+test_cabrip_DEPENDENCIES = libmscabd.la
-+am_test_chmd_find_OBJECTS = chmd_find.$(OBJEXT)
-+test_chmd_find_OBJECTS = $(am_test_chmd_find_OBJECTS)
-+test_chmd_find_DEPENDENCIES = libmschmd.la
-+am_test_chmd_md5_OBJECTS = chmd_md5.$(OBJEXT) md5.$(OBJEXT)
-+test_chmd_md5_OBJECTS = $(am_test_chmd_md5_OBJECTS)
-+test_chmd_md5_DEPENDENCIES = libmschmd.la
-+am_test_chmd_order_OBJECTS = chmd_order.$(OBJEXT) md5.$(OBJEXT)
-+test_chmd_order_OBJECTS = $(am_test_chmd_order_OBJECTS)
-+test_chmd_order_DEPENDENCIES = libmschmd.la
-+am_test_chminfo_OBJECTS = chminfo.$(OBJEXT)
-+test_chminfo_OBJECTS = $(am_test_chminfo_OBJECTS)
-+test_chminfo_DEPENDENCIES = libmschmd.la
-+am_test_chmx_OBJECTS = chmx.$(OBJEXT)
-+test_chmx_OBJECTS = $(am_test_chmx_OBJECTS)
-+test_chmx_DEPENDENCIES = libmschmd.la
-+am_test_expand_OBJECTS = expand.$(OBJEXT)
-+test_expand_OBJECTS = $(am_test_expand_OBJECTS)
-+test_expand_DEPENDENCIES = libmspack.la
-+am_test_multifh_OBJECTS = multifh.$(OBJEXT)
-+test_multifh_OBJECTS = $(am_test_multifh_OBJECTS)
-+test_multifh_DEPENDENCIES = libmscabd.la
-+am_test_oabx_OBJECTS = oabx.$(OBJEXT) md5.$(OBJEXT)
-+test_oabx_OBJECTS = $(am_test_oabx_OBJECTS)
-+test_oabx_DEPENDENCIES = libmspack.la
-+DEFAULT_INCLUDES = -I.@am__isrc@
-+depcomp = $(SHELL) $(top_srcdir)/depcomp
-+am__depfiles_maybe = depfiles
-+am__mv = mv -f
-+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
-+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-+ $(AM_CFLAGS) $(CFLAGS)
-+AM_V_CC = $(am__v_CC_@AM_V@)
-+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-+am__v_CC_0 = @echo " CC " $@;
-+AM_V_at = $(am__v_at_@AM_V@)
-+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-+am__v_at_0 = @
-+CCLD = $(CC)
-+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
-+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-+am__v_CCLD_0 = @echo " CCLD " $@;
-+AM_V_GEN = $(am__v_GEN_@AM_V@)
-+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-+am__v_GEN_0 = @echo " GEN " $@;
-+SOURCES = $(libmscabd_la_SOURCES) $(libmschmd_la_SOURCES) \
-+ $(libmspack_la_SOURCES) $(test_cabd_md5_SOURCES) \
-+ $(test_cabd_memory_SOURCES) $(test_cabd_test_SOURCES) \
-+ $(test_cabrip_SOURCES) $(test_chmd_find_SOURCES) \
-+ $(test_chmd_md5_SOURCES) $(test_chmd_order_SOURCES) \
-+ $(test_chminfo_SOURCES) $(test_chmx_SOURCES) \
-+ $(test_expand_SOURCES) $(test_multifh_SOURCES) \
-+ $(test_oabx_SOURCES)
-+DIST_SOURCES = $(libmscabd_la_SOURCES) $(libmschmd_la_SOURCES) \
-+ $(libmspack_la_SOURCES) $(test_cabd_md5_SOURCES) \
-+ $(test_cabd_memory_SOURCES) $(test_cabd_test_SOURCES) \
-+ $(test_cabrip_SOURCES) $(test_chmd_find_SOURCES) \
-+ $(test_chmd_md5_SOURCES) $(test_chmd_order_SOURCES) \
-+ $(test_chminfo_SOURCES) $(test_chmx_SOURCES) \
-+ $(test_expand_SOURCES) $(test_multifh_SOURCES) \
-+ $(test_oabx_SOURCES)
-+DATA = $(pkgconfig_DATA)
-+HEADERS = $(include_HEADERS)
-+ETAGS = etags
-+CTAGS = ctags
-+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-+distdir = $(PACKAGE)-$(VERSION)
-+top_distdir = $(distdir)
-+am__remove_distdir = \
-+ if test -d "$(distdir)"; then \
-+ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-+ && rm -rf "$(distdir)" \
-+ || { sleep 5 && rm -rf "$(distdir)"; }; \
-+ else :; fi
-+DIST_ARCHIVES = $(distdir).tar.gz
-+GZIP_ENV = --best
-+distuninstallcheck_listfiles = find . -type f -print
-+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
-+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
-+distcleancheck_listfiles = find . -type f -print
-+ACLOCAL = @ACLOCAL@
-+AMTAR = @AMTAR@
-+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-+AR = @AR@
-+AUTOCONF = @AUTOCONF@
-+AUTOHEADER = @AUTOHEADER@
-+AUTOMAKE = @AUTOMAKE@
-+AWK = @AWK@
-+CC = @CC@
-+CCDEPMODE = @CCDEPMODE@
-+CFLAGS = @CFLAGS@
-+CPP = @CPP@
-+CPPFLAGS = @CPPFLAGS@
-+CYGPATH_W = @CYGPATH_W@
-+DEFS = @DEFS@
-+DEPDIR = @DEPDIR@
-+DLLTOOL = @DLLTOOL@
-+DSYMUTIL = @DSYMUTIL@
-+DUMPBIN = @DUMPBIN@
-+ECHO_C = @ECHO_C@
-+ECHO_N = @ECHO_N@
-+ECHO_T = @ECHO_T@
-+EGREP = @EGREP@
-+EXEEXT = @EXEEXT@
-+FGREP = @FGREP@
-+GREP = @GREP@
-+INSTALL = @INSTALL@
-+INSTALL_DATA = @INSTALL_DATA@
-+INSTALL_PROGRAM = @INSTALL_PROGRAM@
-+INSTALL_SCRIPT = @INSTALL_SCRIPT@
-+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-+LD = @LD@
-+LDFLAGS = @LDFLAGS@
-+LIBOBJS = @LIBOBJS@
-+LIBS = @LIBS@
-+LIBTOOL = @LIBTOOL@
-+LIPO = @LIPO@
-+LN_S = @LN_S@
-+LTLIBOBJS = @LTLIBOBJS@
-+MAKEINFO = @MAKEINFO@
-+MANIFEST_TOOL = @MANIFEST_TOOL@
-+MKDIR_P = @MKDIR_P@
-+NM = @NM@
-+NMEDIT = @NMEDIT@
-+OBJDUMP = @OBJDUMP@
-+OBJEXT = @OBJEXT@
-+OTOOL = @OTOOL@
-+OTOOL64 = @OTOOL64@
-+PACKAGE = @PACKAGE@
-+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-+PACKAGE_NAME = @PACKAGE_NAME@
-+PACKAGE_STRING = @PACKAGE_STRING@
-+PACKAGE_TARNAME = @PACKAGE_TARNAME@
-+PACKAGE_URL = @PACKAGE_URL@
-+PACKAGE_VERSION = @PACKAGE_VERSION@
-+PATH_SEPARATOR = @PATH_SEPARATOR@
-+RANLIB = @RANLIB@
-+SED = @SED@
-+SET_MAKE = @SET_MAKE@
-+SHELL = @SHELL@
-+STRIP = @STRIP@
-+VERSION = @VERSION@
-+abs_builddir = @abs_builddir@
-+abs_srcdir = @abs_srcdir@
-+abs_top_builddir = @abs_top_builddir@
-+abs_top_srcdir = @abs_top_srcdir@
-+ac_ct_AR = @ac_ct_AR@
-+ac_ct_CC = @ac_ct_CC@
-+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-+am__include = @am__include@
-+am__leading_dot = @am__leading_dot@
-+am__quote = @am__quote@
-+am__tar = @am__tar@
-+am__untar = @am__untar@
-+bindir = @bindir@
-+build = @build@
-+build_alias = @build_alias@
-+build_cpu = @build_cpu@
-+build_os = @build_os@
-+build_vendor = @build_vendor@
-+builddir = @builddir@
-+datadir = @datadir@
-+datarootdir = @datarootdir@
-+docdir = @docdir@
-+dvidir = @dvidir@
-+exec_prefix = @exec_prefix@
-+host = @host@
-+host_alias = @host_alias@
-+host_cpu = @host_cpu@
-+host_os = @host_os@
-+host_vendor = @host_vendor@
-+htmldir = @htmldir@
-+includedir = @includedir@
-+infodir = @infodir@
-+install_sh = @install_sh@
-+libdir = @libdir@
-+libexecdir = @libexecdir@
-+localedir = @localedir@
-+localstatedir = @localstatedir@
-+mandir = @mandir@
-+mkdir_p = @mkdir_p@
-+oldincludedir = @oldincludedir@
-+pdfdir = @pdfdir@
-+prefix = @prefix@
-+program_transform_name = @program_transform_name@
-+psdir = @psdir@
-+sbindir = @sbindir@
-+sharedstatedir = @sharedstatedir@
-+srcdir = @srcdir@
-+sysconfdir = @sysconfdir@
-+target_alias = @target_alias@
-+top_build_prefix = @top_build_prefix@
-+top_builddir = @top_builddir@
-+top_srcdir = @top_srcdir@
-+EXTRA_DIST = $(srcdir)/debian/* $(srcdir)/doc/* $(srcdir)/test/test_files/*/*
-+pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfig_DATA = libmspack.pc
-+ACLOCAL_AMFLAGS = -I m4
-+AM_CFLAGS = $(am__append_1) $(am__append_2)
-+AM_CPPFLAGS = -I$(top_srcdir)/mspack -I$(top_srcdir)/test
-+lib_LTLIBRARIES = libmspack.la
-+include_HEADERS = mspack/mspack.h
-+noinst_LTLIBRARIES = libmscabd.la libmschmd.la
-+libmspack_la_SOURCES = mspack/mspack.h \
-+ mspack/system.h mspack/system.c \
-+ mspack/cab.h mspack/cabc.c mspack/cabd.c \
-+ mspack/chm.h mspack/chmc.c mspack/chmd.c \
-+ mspack/hlp.h mspack/hlpc.c mspack/hlpd.c \
-+ mspack/lit.h mspack/litc.c mspack/litd.c \
-+ mspack/kwaj.h mspack/kwajc.c mspack/kwajd.c \
-+ mspack/szdd.h mspack/szddc.c mspack/szddd.c \
-+ mspack/oab.h mspack/oabc.c mspack/oabd.c \
-+ mspack/lzx.h mspack/lzxc.c mspack/lzxd.c \
-+ mspack/mszip.h mspack/mszipc.c mspack/mszipd.c \
-+ mspack/qtm.h mspack/qtmd.c \
-+ mspack/readbits.h mspack/readhuff.h \
-+ mspack/lzss.h mspack/lzssd.c \
-+ mspack/des.h mspack/sha.h \
-+ mspack/crc32.c mspack/crc32.h
-+
-+libmspack_la_LDFLAGS = -export-symbols-regex '^mspack_' -version-info 1:0:1
-+libmscabd_la_SOURCES = mspack/mspack.h \
-+ mspack/system.h mspack/system.c \
-+ mspack/cab.h mspack/cabd.c \
-+ mspack/lzx.h mspack/lzxd.c \
-+ mspack/mszip.h mspack/mszipd.c \
-+ mspack/qtm.h mspack/qtmd.c \
-+ mspack/readbits.h mspack/readhuff.h
-+
-+libmscabd_la_LDFLAGS = -export-symbols-regex '^mspack_'
-+libmschmd_la_SOURCES = mspack/mspack.h \
-+ mspack/system.h mspack/system.c \
-+ mspack/chm.h mspack/chmd.c \
-+ mspack/lzx.h mspack/lzxd.c \
-+ mspack/readbits.h mspack/readhuff.h
-+
-+libmschmd_la_LDFLAGS = -export-symbols-regex '^mspack_'
-+test_chmx_SOURCES = test/chmx.c test/error.h libmschmd.la
-+test_chmx_LDADD = libmschmd.la
-+test_chmd_md5_SOURCES = test/chmd_md5.c test/md5.c test/md5.h test/md5_fh.h \
-+ test/error.h libmschmd.la
-+
-+test_chmd_md5_LDADD = libmschmd.la
-+test_cabd_md5_SOURCES = test/cabd_md5.c test/md5.c test/md5.h test/md5_fh.h \
-+ test/error.h libmscabd.la
-+
-+test_cabd_md5_LDADD = libmscabd.la
-+test_cabd_test_SOURCES = test/cabd_test.c libmscabd.la
-+test_cabd_test_LDADD = libmscabd.la
-+test_cabrip_SOURCES = test/cabrip.c libmscabd.la
-+test_cabrip_LDADD = libmscabd.la
-+test_cabd_memory_SOURCES = test/cabd_memory.c libmscabd.la
-+test_cabd_memory_LDADD = libmscabd.la
-+test_chminfo_SOURCES = test/chminfo.c libmschmd.la
-+test_chminfo_LDADD = libmschmd.la
-+test_multifh_SOURCES = test/multifh.c libmscabd.la
-+test_multifh_LDADD = libmscabd.la
-+test_expand_SOURCES = test/expand.c test/error.h libmspack.la
-+test_expand_LDADD = libmspack.la
-+test_chmd_find_SOURCES = test/chmd_find.c test/error.h libmschmd.la
-+test_chmd_find_LDADD = libmschmd.la
-+test_chmd_order_SOURCES = test/chmd_order.c test/md5.c test/md5.h test/md5_fh.h \
-+ test/error.h libmschmd.la
-+
-+test_chmd_order_LDADD = libmschmd.la
-+test_oabx_SOURCES = test/oabx.c test/md5.c test/md5.h test/md5_fh.h \
-+ test/error.h libmspack.la
-+
-+test_oabx_LDADD = libmspack.la
-+all: config.h
-+ $(MAKE) $(AM_MAKEFLAGS) all-am
-+
-+.SUFFIXES:
-+.SUFFIXES: .c .lo .o .obj
-+am--refresh: Makefile
-+ @:
-+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
-+ @for dep in $?; do \
-+ case '$(am__configure_deps)' in \
-+ *$$dep*) \
-+ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
-+ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
-+ && exit 0; \
-+ exit 1;; \
-+ esac; \
-+ done; \
-+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
-+ $(am__cd) $(top_srcdir) && \
-+ $(AUTOMAKE) --gnu Makefile
-+.PRECIOUS: Makefile
-+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-+ @case '$?' in \
-+ *config.status*) \
-+ echo ' $(SHELL) ./config.status'; \
-+ $(SHELL) ./config.status;; \
-+ *) \
-+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
-+ esac;
-+
-+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-+ $(SHELL) ./config.status --recheck
-+
-+$(top_srcdir)/configure: $(am__configure_deps)
-+ $(am__cd) $(srcdir) && $(AUTOCONF)
-+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-+$(am__aclocal_m4_deps):
-+
-+config.h: stamp-h1
-+ @if test ! -f $@; then rm -f stamp-h1; else :; fi
-+ @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
-+
-+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
-+ @rm -f stamp-h1
-+ cd $(top_builddir) && $(SHELL) ./config.status config.h
-+$(srcdir)/config.h.in: $(am__configure_deps)
-+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
-+ rm -f stamp-h1
-+ touch $@
-+
-+distclean-hdr:
-+ -rm -f config.h stamp-h1
-+doc/Makefile: $(top_builddir)/config.status $(top_srcdir)/doc/Makefile.in
-+ cd $(top_builddir) && $(SHELL) ./config.status $@
-+doc/Doxyfile: $(top_builddir)/config.status $(top_srcdir)/doc/Doxyfile.in
-+ cd $(top_builddir) && $(SHELL) ./config.status $@
-+libmspack.pc: $(top_builddir)/config.status $(srcdir)/libmspack.pc.in
-+ cd $(top_builddir) && $(SHELL) ./config.status $@
-+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-+ @$(NORMAL_INSTALL)
-+ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
-+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-+ list2=; for p in $$list; do \
-+ if test -f $$p; then \
-+ list2="$$list2 $$p"; \
-+ else :; fi; \
-+ done; \
-+ test -z "$$list2" || { \
-+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
-+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
-+ }
-+
-+uninstall-libLTLIBRARIES:
-+ @$(NORMAL_UNINSTALL)
-+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-+ for p in $$list; do \
-+ $(am__strip_dir) \
-+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
-+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
-+ done
-+
-+clean-libLTLIBRARIES:
-+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-+ test "$$dir" != "$$p" || dir=.; \
-+ echo "rm -f \"$${dir}/so_locations\""; \
-+ rm -f "$${dir}/so_locations"; \
-+ done
-+
-+clean-noinstLTLIBRARIES:
-+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-+ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-+ test "$$dir" != "$$p" || dir=.; \
-+ echo "rm -f \"$${dir}/so_locations\""; \
-+ rm -f "$${dir}/so_locations"; \
-+ done
-+libmscabd.la: $(libmscabd_la_OBJECTS) $(libmscabd_la_DEPENDENCIES) $(EXTRA_libmscabd_la_DEPENDENCIES)
-+ $(AM_V_CCLD)$(libmscabd_la_LINK) $(libmscabd_la_OBJECTS) $(libmscabd_la_LIBADD) $(LIBS)
-+libmschmd.la: $(libmschmd_la_OBJECTS) $(libmschmd_la_DEPENDENCIES) $(EXTRA_libmschmd_la_DEPENDENCIES)
-+ $(AM_V_CCLD)$(libmschmd_la_LINK) $(libmschmd_la_OBJECTS) $(libmschmd_la_LIBADD) $(LIBS)
-+libmspack.la: $(libmspack_la_OBJECTS) $(libmspack_la_DEPENDENCIES) $(EXTRA_libmspack_la_DEPENDENCIES)
-+ $(AM_V_CCLD)$(libmspack_la_LINK) -rpath $(libdir) $(libmspack_la_OBJECTS) $(libmspack_la_LIBADD) $(LIBS)
-+
-+clean-noinstPROGRAMS:
-+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
-+ echo " rm -f" $$list; \
-+ rm -f $$list || exit $$?; \
-+ test -n "$(EXEEXT)" || exit 0; \
-+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-+ echo " rm -f" $$list; \
-+ rm -f $$list
-+test/$(am__dirstamp):
-+ @$(MKDIR_P) test
-+ @: > test/$(am__dirstamp)
-+test/cabd_md5$(EXEEXT): $(test_cabd_md5_OBJECTS) $(test_cabd_md5_DEPENDENCIES) $(EXTRA_test_cabd_md5_DEPENDENCIES) test/$(am__dirstamp)
-+ @rm -f test/cabd_md5$(EXEEXT)
-+ $(AM_V_CCLD)$(LINK) $(test_cabd_md5_OBJECTS) $(test_cabd_md5_LDADD) $(LIBS)
-+test/cabd_memory$(EXEEXT): $(test_cabd_memory_OBJECTS) $(test_cabd_memory_DEPENDENCIES) $(EXTRA_test_cabd_memory_DEPENDENCIES) test/$(am__dirstamp)
-+ @rm -f test/cabd_memory$(EXEEXT)
-+ $(AM_V_CCLD)$(LINK) $(test_cabd_memory_OBJECTS) $(test_cabd_memory_LDADD) $(LIBS)
-+test/cabd_test$(EXEEXT): $(test_cabd_test_OBJECTS) $(test_cabd_test_DEPENDENCIES) $(EXTRA_test_cabd_test_DEPENDENCIES) test/$(am__dirstamp)
-+ @rm -f test/cabd_test$(EXEEXT)
-+ $(AM_V_CCLD)$(LINK) $(test_cabd_test_OBJECTS) $(test_cabd_test_LDADD) $(LIBS)
-+test/cabrip$(EXEEXT): $(test_cabrip_OBJECTS) $(test_cabrip_DEPENDENCIES) $(EXTRA_test_cabrip_DEPENDENCIES) test/$(am__dirstamp)
-+ @rm -f test/cabrip$(EXEEXT)
-+ $(AM_V_CCLD)$(LINK) $(test_cabrip_OBJECTS) $(test_cabrip_LDADD) $(LIBS)
-+test/chmd_find$(EXEEXT): $(test_chmd_find_OBJECTS) $(test_chmd_find_DEPENDENCIES) $(EXTRA_test_chmd_find_DEPENDENCIES) test/$(am__dirstamp)
-+ @rm -f test/chmd_find$(EXEEXT)
-+ $(AM_V_CCLD)$(LINK) $(test_chmd_find_OBJECTS) $(test_chmd_find_LDADD) $(LIBS)
-+test/chmd_md5$(EXEEXT): $(test_chmd_md5_OBJECTS) $(test_chmd_md5_DEPENDENCIES) $(EXTRA_test_chmd_md5_DEPENDENCIES) test/$(am__dirstamp)
-+ @rm -f test/chmd_md5$(EXEEXT)
-+ $(AM_V_CCLD)$(LINK) $(test_chmd_md5_OBJECTS) $(test_chmd_md5_LDADD) $(LIBS)
-+test/chmd_order$(EXEEXT): $(test_chmd_order_OBJECTS) $(test_chmd_order_DEPENDENCIES) $(EXTRA_test_chmd_order_DEPENDENCIES) test/$(am__dirstamp)
-+ @rm -f test/chmd_order$(EXEEXT)
-+ $(AM_V_CCLD)$(LINK) $(test_chmd_order_OBJECTS) $(test_chmd_order_LDADD) $(LIBS)
-+test/chminfo$(EXEEXT): $(test_chminfo_OBJECTS) $(test_chminfo_DEPENDENCIES) $(EXTRA_test_chminfo_DEPENDENCIES) test/$(am__dirstamp)
-+ @rm -f test/chminfo$(EXEEXT)
-+ $(AM_V_CCLD)$(LINK) $(test_chminfo_OBJECTS) $(test_chminfo_LDADD) $(LIBS)
-+test/chmx$(EXEEXT): $(test_chmx_OBJECTS) $(test_chmx_DEPENDENCIES) $(EXTRA_test_chmx_DEPENDENCIES) test/$(am__dirstamp)
-+ @rm -f test/chmx$(EXEEXT)
-+ $(AM_V_CCLD)$(LINK) $(test_chmx_OBJECTS) $(test_chmx_LDADD) $(LIBS)
-+test/expand$(EXEEXT): $(test_expand_OBJECTS) $(test_expand_DEPENDENCIES) $(EXTRA_test_expand_DEPENDENCIES) test/$(am__dirstamp)
-+ @rm -f test/expand$(EXEEXT)
-+ $(AM_V_CCLD)$(LINK) $(test_expand_OBJECTS) $(test_expand_LDADD) $(LIBS)
-+test/multifh$(EXEEXT): $(test_multifh_OBJECTS) $(test_multifh_DEPENDENCIES) $(EXTRA_test_multifh_DEPENDENCIES) test/$(am__dirstamp)
-+ @rm -f test/multifh$(EXEEXT)
-+ $(AM_V_CCLD)$(LINK) $(test_multifh_OBJECTS) $(test_multifh_LDADD) $(LIBS)
-+test/oabx$(EXEEXT): $(test_oabx_OBJECTS) $(test_oabx_DEPENDENCIES) $(EXTRA_test_oabx_DEPENDENCIES) test/$(am__dirstamp)
-+ @rm -f test/oabx$(EXEEXT)
-+ $(AM_V_CCLD)$(LINK) $(test_oabx_OBJECTS) $(test_oabx_LDADD) $(LIBS)
-+
-+mostlyclean-compile:
-+ -rm -f *.$(OBJEXT)
-+
-+distclean-compile:
-+ -rm -f *.tab.c
-+
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cabc.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cabd.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cabd_md5.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cabd_memory.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cabd_test.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cabrip.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmc.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmd.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmd_find.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmd_md5.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmd_order.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chminfo.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmx.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crc32.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/expand.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hlpc.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hlpd.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kwajc.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kwajd.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/litc.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/litd.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzssd.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzxc.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzxd.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mszipc.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mszipd.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multifh.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oabc.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oabd.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oabx.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qtmd.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/system.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/szddc.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/szddd.Plo@am__quote@
-+
-+.c.o:
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
-+
-+.c.obj:
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-+
-+.c.lo:
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-+
-+system.lo: mspack/system.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT system.lo -MD -MP -MF $(DEPDIR)/system.Tpo -c -o system.lo `test -f 'mspack/system.c' || echo '$(srcdir)/'`mspack/system.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/system.Tpo $(DEPDIR)/system.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/system.c' object='system.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o system.lo `test -f 'mspack/system.c' || echo '$(srcdir)/'`mspack/system.c
-+
-+cabd.lo: mspack/cabd.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cabd.lo -MD -MP -MF $(DEPDIR)/cabd.Tpo -c -o cabd.lo `test -f 'mspack/cabd.c' || echo '$(srcdir)/'`mspack/cabd.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/cabd.Tpo $(DEPDIR)/cabd.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/cabd.c' object='cabd.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cabd.lo `test -f 'mspack/cabd.c' || echo '$(srcdir)/'`mspack/cabd.c
-+
-+lzxd.lo: mspack/lzxd.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lzxd.lo -MD -MP -MF $(DEPDIR)/lzxd.Tpo -c -o lzxd.lo `test -f 'mspack/lzxd.c' || echo '$(srcdir)/'`mspack/lzxd.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lzxd.Tpo $(DEPDIR)/lzxd.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/lzxd.c' object='lzxd.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lzxd.lo `test -f 'mspack/lzxd.c' || echo '$(srcdir)/'`mspack/lzxd.c
-+
-+mszipd.lo: mspack/mszipd.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mszipd.lo -MD -MP -MF $(DEPDIR)/mszipd.Tpo -c -o mszipd.lo `test -f 'mspack/mszipd.c' || echo '$(srcdir)/'`mspack/mszipd.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mszipd.Tpo $(DEPDIR)/mszipd.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/mszipd.c' object='mszipd.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mszipd.lo `test -f 'mspack/mszipd.c' || echo '$(srcdir)/'`mspack/mszipd.c
-+
-+qtmd.lo: mspack/qtmd.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT qtmd.lo -MD -MP -MF $(DEPDIR)/qtmd.Tpo -c -o qtmd.lo `test -f 'mspack/qtmd.c' || echo '$(srcdir)/'`mspack/qtmd.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/qtmd.Tpo $(DEPDIR)/qtmd.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/qtmd.c' object='qtmd.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o qtmd.lo `test -f 'mspack/qtmd.c' || echo '$(srcdir)/'`mspack/qtmd.c
-+
-+chmd.lo: mspack/chmd.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT chmd.lo -MD -MP -MF $(DEPDIR)/chmd.Tpo -c -o chmd.lo `test -f 'mspack/chmd.c' || echo '$(srcdir)/'`mspack/chmd.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/chmd.Tpo $(DEPDIR)/chmd.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/chmd.c' object='chmd.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o chmd.lo `test -f 'mspack/chmd.c' || echo '$(srcdir)/'`mspack/chmd.c
-+
-+cabc.lo: mspack/cabc.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cabc.lo -MD -MP -MF $(DEPDIR)/cabc.Tpo -c -o cabc.lo `test -f 'mspack/cabc.c' || echo '$(srcdir)/'`mspack/cabc.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/cabc.Tpo $(DEPDIR)/cabc.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/cabc.c' object='cabc.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cabc.lo `test -f 'mspack/cabc.c' || echo '$(srcdir)/'`mspack/cabc.c
-+
-+chmc.lo: mspack/chmc.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT chmc.lo -MD -MP -MF $(DEPDIR)/chmc.Tpo -c -o chmc.lo `test -f 'mspack/chmc.c' || echo '$(srcdir)/'`mspack/chmc.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/chmc.Tpo $(DEPDIR)/chmc.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/chmc.c' object='chmc.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o chmc.lo `test -f 'mspack/chmc.c' || echo '$(srcdir)/'`mspack/chmc.c
-+
-+hlpc.lo: mspack/hlpc.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hlpc.lo -MD -MP -MF $(DEPDIR)/hlpc.Tpo -c -o hlpc.lo `test -f 'mspack/hlpc.c' || echo '$(srcdir)/'`mspack/hlpc.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hlpc.Tpo $(DEPDIR)/hlpc.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/hlpc.c' object='hlpc.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hlpc.lo `test -f 'mspack/hlpc.c' || echo '$(srcdir)/'`mspack/hlpc.c
-+
-+hlpd.lo: mspack/hlpd.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hlpd.lo -MD -MP -MF $(DEPDIR)/hlpd.Tpo -c -o hlpd.lo `test -f 'mspack/hlpd.c' || echo '$(srcdir)/'`mspack/hlpd.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hlpd.Tpo $(DEPDIR)/hlpd.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/hlpd.c' object='hlpd.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hlpd.lo `test -f 'mspack/hlpd.c' || echo '$(srcdir)/'`mspack/hlpd.c
-+
-+litc.lo: mspack/litc.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT litc.lo -MD -MP -MF $(DEPDIR)/litc.Tpo -c -o litc.lo `test -f 'mspack/litc.c' || echo '$(srcdir)/'`mspack/litc.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/litc.Tpo $(DEPDIR)/litc.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/litc.c' object='litc.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o litc.lo `test -f 'mspack/litc.c' || echo '$(srcdir)/'`mspack/litc.c
-+
-+litd.lo: mspack/litd.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT litd.lo -MD -MP -MF $(DEPDIR)/litd.Tpo -c -o litd.lo `test -f 'mspack/litd.c' || echo '$(srcdir)/'`mspack/litd.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/litd.Tpo $(DEPDIR)/litd.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/litd.c' object='litd.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o litd.lo `test -f 'mspack/litd.c' || echo '$(srcdir)/'`mspack/litd.c
-+
-+kwajc.lo: mspack/kwajc.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT kwajc.lo -MD -MP -MF $(DEPDIR)/kwajc.Tpo -c -o kwajc.lo `test -f 'mspack/kwajc.c' || echo '$(srcdir)/'`mspack/kwajc.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/kwajc.Tpo $(DEPDIR)/kwajc.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/kwajc.c' object='kwajc.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o kwajc.lo `test -f 'mspack/kwajc.c' || echo '$(srcdir)/'`mspack/kwajc.c
-+
-+kwajd.lo: mspack/kwajd.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT kwajd.lo -MD -MP -MF $(DEPDIR)/kwajd.Tpo -c -o kwajd.lo `test -f 'mspack/kwajd.c' || echo '$(srcdir)/'`mspack/kwajd.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/kwajd.Tpo $(DEPDIR)/kwajd.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/kwajd.c' object='kwajd.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o kwajd.lo `test -f 'mspack/kwajd.c' || echo '$(srcdir)/'`mspack/kwajd.c
-+
-+szddc.lo: mspack/szddc.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT szddc.lo -MD -MP -MF $(DEPDIR)/szddc.Tpo -c -o szddc.lo `test -f 'mspack/szddc.c' || echo '$(srcdir)/'`mspack/szddc.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/szddc.Tpo $(DEPDIR)/szddc.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/szddc.c' object='szddc.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o szddc.lo `test -f 'mspack/szddc.c' || echo '$(srcdir)/'`mspack/szddc.c
-+
-+szddd.lo: mspack/szddd.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT szddd.lo -MD -MP -MF $(DEPDIR)/szddd.Tpo -c -o szddd.lo `test -f 'mspack/szddd.c' || echo '$(srcdir)/'`mspack/szddd.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/szddd.Tpo $(DEPDIR)/szddd.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/szddd.c' object='szddd.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o szddd.lo `test -f 'mspack/szddd.c' || echo '$(srcdir)/'`mspack/szddd.c
-+
-+oabc.lo: mspack/oabc.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT oabc.lo -MD -MP -MF $(DEPDIR)/oabc.Tpo -c -o oabc.lo `test -f 'mspack/oabc.c' || echo '$(srcdir)/'`mspack/oabc.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/oabc.Tpo $(DEPDIR)/oabc.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/oabc.c' object='oabc.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o oabc.lo `test -f 'mspack/oabc.c' || echo '$(srcdir)/'`mspack/oabc.c
-+
-+oabd.lo: mspack/oabd.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT oabd.lo -MD -MP -MF $(DEPDIR)/oabd.Tpo -c -o oabd.lo `test -f 'mspack/oabd.c' || echo '$(srcdir)/'`mspack/oabd.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/oabd.Tpo $(DEPDIR)/oabd.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/oabd.c' object='oabd.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o oabd.lo `test -f 'mspack/oabd.c' || echo '$(srcdir)/'`mspack/oabd.c
-+
-+lzxc.lo: mspack/lzxc.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lzxc.lo -MD -MP -MF $(DEPDIR)/lzxc.Tpo -c -o lzxc.lo `test -f 'mspack/lzxc.c' || echo '$(srcdir)/'`mspack/lzxc.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lzxc.Tpo $(DEPDIR)/lzxc.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/lzxc.c' object='lzxc.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lzxc.lo `test -f 'mspack/lzxc.c' || echo '$(srcdir)/'`mspack/lzxc.c
-+
-+mszipc.lo: mspack/mszipc.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mszipc.lo -MD -MP -MF $(DEPDIR)/mszipc.Tpo -c -o mszipc.lo `test -f 'mspack/mszipc.c' || echo '$(srcdir)/'`mspack/mszipc.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mszipc.Tpo $(DEPDIR)/mszipc.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/mszipc.c' object='mszipc.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mszipc.lo `test -f 'mspack/mszipc.c' || echo '$(srcdir)/'`mspack/mszipc.c
-+
-+lzssd.lo: mspack/lzssd.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lzssd.lo -MD -MP -MF $(DEPDIR)/lzssd.Tpo -c -o lzssd.lo `test -f 'mspack/lzssd.c' || echo '$(srcdir)/'`mspack/lzssd.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lzssd.Tpo $(DEPDIR)/lzssd.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/lzssd.c' object='lzssd.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lzssd.lo `test -f 'mspack/lzssd.c' || echo '$(srcdir)/'`mspack/lzssd.c
-+
-+crc32.lo: mspack/crc32.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crc32.lo -MD -MP -MF $(DEPDIR)/crc32.Tpo -c -o crc32.lo `test -f 'mspack/crc32.c' || echo '$(srcdir)/'`mspack/crc32.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/crc32.Tpo $(DEPDIR)/crc32.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mspack/crc32.c' object='crc32.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crc32.lo `test -f 'mspack/crc32.c' || echo '$(srcdir)/'`mspack/crc32.c
-+
-+cabd_md5.o: test/cabd_md5.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cabd_md5.o -MD -MP -MF $(DEPDIR)/cabd_md5.Tpo -c -o cabd_md5.o `test -f 'test/cabd_md5.c' || echo '$(srcdir)/'`test/cabd_md5.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/cabd_md5.Tpo $(DEPDIR)/cabd_md5.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/cabd_md5.c' object='cabd_md5.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cabd_md5.o `test -f 'test/cabd_md5.c' || echo '$(srcdir)/'`test/cabd_md5.c
-+
-+cabd_md5.obj: test/cabd_md5.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cabd_md5.obj -MD -MP -MF $(DEPDIR)/cabd_md5.Tpo -c -o cabd_md5.obj `if test -f 'test/cabd_md5.c'; then $(CYGPATH_W) 'test/cabd_md5.c'; else $(CYGPATH_W) '$(srcdir)/test/cabd_md5.c'; fi`
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/cabd_md5.Tpo $(DEPDIR)/cabd_md5.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/cabd_md5.c' object='cabd_md5.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cabd_md5.obj `if test -f 'test/cabd_md5.c'; then $(CYGPATH_W) 'test/cabd_md5.c'; else $(CYGPATH_W) '$(srcdir)/test/cabd_md5.c'; fi`
-+
-+md5.o: test/md5.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT md5.o -MD -MP -MF $(DEPDIR)/md5.Tpo -c -o md5.o `test -f 'test/md5.c' || echo '$(srcdir)/'`test/md5.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/md5.c' object='md5.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o md5.o `test -f 'test/md5.c' || echo '$(srcdir)/'`test/md5.c
-+
-+md5.obj: test/md5.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT md5.obj -MD -MP -MF $(DEPDIR)/md5.Tpo -c -o md5.obj `if test -f 'test/md5.c'; then $(CYGPATH_W) 'test/md5.c'; else $(CYGPATH_W) '$(srcdir)/test/md5.c'; fi`
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/md5.Tpo $(DEPDIR)/md5.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/md5.c' object='md5.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o md5.obj `if test -f 'test/md5.c'; then $(CYGPATH_W) 'test/md5.c'; else $(CYGPATH_W) '$(srcdir)/test/md5.c'; fi`
-+
-+cabd_memory.o: test/cabd_memory.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cabd_memory.o -MD -MP -MF $(DEPDIR)/cabd_memory.Tpo -c -o cabd_memory.o `test -f 'test/cabd_memory.c' || echo '$(srcdir)/'`test/cabd_memory.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/cabd_memory.Tpo $(DEPDIR)/cabd_memory.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/cabd_memory.c' object='cabd_memory.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cabd_memory.o `test -f 'test/cabd_memory.c' || echo '$(srcdir)/'`test/cabd_memory.c
-+
-+cabd_memory.obj: test/cabd_memory.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cabd_memory.obj -MD -MP -MF $(DEPDIR)/cabd_memory.Tpo -c -o cabd_memory.obj `if test -f 'test/cabd_memory.c'; then $(CYGPATH_W) 'test/cabd_memory.c'; else $(CYGPATH_W) '$(srcdir)/test/cabd_memory.c'; fi`
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/cabd_memory.Tpo $(DEPDIR)/cabd_memory.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/cabd_memory.c' object='cabd_memory.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cabd_memory.obj `if test -f 'test/cabd_memory.c'; then $(CYGPATH_W) 'test/cabd_memory.c'; else $(CYGPATH_W) '$(srcdir)/test/cabd_memory.c'; fi`
-+
-+cabd_test.o: test/cabd_test.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cabd_test.o -MD -MP -MF $(DEPDIR)/cabd_test.Tpo -c -o cabd_test.o `test -f 'test/cabd_test.c' || echo '$(srcdir)/'`test/cabd_test.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/cabd_test.Tpo $(DEPDIR)/cabd_test.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/cabd_test.c' object='cabd_test.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cabd_test.o `test -f 'test/cabd_test.c' || echo '$(srcdir)/'`test/cabd_test.c
-+
-+cabd_test.obj: test/cabd_test.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cabd_test.obj -MD -MP -MF $(DEPDIR)/cabd_test.Tpo -c -o cabd_test.obj `if test -f 'test/cabd_test.c'; then $(CYGPATH_W) 'test/cabd_test.c'; else $(CYGPATH_W) '$(srcdir)/test/cabd_test.c'; fi`
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/cabd_test.Tpo $(DEPDIR)/cabd_test.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/cabd_test.c' object='cabd_test.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cabd_test.obj `if test -f 'test/cabd_test.c'; then $(CYGPATH_W) 'test/cabd_test.c'; else $(CYGPATH_W) '$(srcdir)/test/cabd_test.c'; fi`
-+
-+cabrip.o: test/cabrip.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cabrip.o -MD -MP -MF $(DEPDIR)/cabrip.Tpo -c -o cabrip.o `test -f 'test/cabrip.c' || echo '$(srcdir)/'`test/cabrip.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/cabrip.Tpo $(DEPDIR)/cabrip.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/cabrip.c' object='cabrip.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cabrip.o `test -f 'test/cabrip.c' || echo '$(srcdir)/'`test/cabrip.c
-+
-+cabrip.obj: test/cabrip.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cabrip.obj -MD -MP -MF $(DEPDIR)/cabrip.Tpo -c -o cabrip.obj `if test -f 'test/cabrip.c'; then $(CYGPATH_W) 'test/cabrip.c'; else $(CYGPATH_W) '$(srcdir)/test/cabrip.c'; fi`
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/cabrip.Tpo $(DEPDIR)/cabrip.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/cabrip.c' object='cabrip.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cabrip.obj `if test -f 'test/cabrip.c'; then $(CYGPATH_W) 'test/cabrip.c'; else $(CYGPATH_W) '$(srcdir)/test/cabrip.c'; fi`
-+
-+chmd_find.o: test/chmd_find.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT chmd_find.o -MD -MP -MF $(DEPDIR)/chmd_find.Tpo -c -o chmd_find.o `test -f 'test/chmd_find.c' || echo '$(srcdir)/'`test/chmd_find.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/chmd_find.Tpo $(DEPDIR)/chmd_find.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/chmd_find.c' object='chmd_find.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o chmd_find.o `test -f 'test/chmd_find.c' || echo '$(srcdir)/'`test/chmd_find.c
-+
-+chmd_find.obj: test/chmd_find.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT chmd_find.obj -MD -MP -MF $(DEPDIR)/chmd_find.Tpo -c -o chmd_find.obj `if test -f 'test/chmd_find.c'; then $(CYGPATH_W) 'test/chmd_find.c'; else $(CYGPATH_W) '$(srcdir)/test/chmd_find.c'; fi`
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/chmd_find.Tpo $(DEPDIR)/chmd_find.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/chmd_find.c' object='chmd_find.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o chmd_find.obj `if test -f 'test/chmd_find.c'; then $(CYGPATH_W) 'test/chmd_find.c'; else $(CYGPATH_W) '$(srcdir)/test/chmd_find.c'; fi`
-+
-+chmd_md5.o: test/chmd_md5.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT chmd_md5.o -MD -MP -MF $(DEPDIR)/chmd_md5.Tpo -c -o chmd_md5.o `test -f 'test/chmd_md5.c' || echo '$(srcdir)/'`test/chmd_md5.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/chmd_md5.Tpo $(DEPDIR)/chmd_md5.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/chmd_md5.c' object='chmd_md5.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o chmd_md5.o `test -f 'test/chmd_md5.c' || echo '$(srcdir)/'`test/chmd_md5.c
-+
-+chmd_md5.obj: test/chmd_md5.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT chmd_md5.obj -MD -MP -MF $(DEPDIR)/chmd_md5.Tpo -c -o chmd_md5.obj `if test -f 'test/chmd_md5.c'; then $(CYGPATH_W) 'test/chmd_md5.c'; else $(CYGPATH_W) '$(srcdir)/test/chmd_md5.c'; fi`
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/chmd_md5.Tpo $(DEPDIR)/chmd_md5.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/chmd_md5.c' object='chmd_md5.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o chmd_md5.obj `if test -f 'test/chmd_md5.c'; then $(CYGPATH_W) 'test/chmd_md5.c'; else $(CYGPATH_W) '$(srcdir)/test/chmd_md5.c'; fi`
-+
-+chmd_order.o: test/chmd_order.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT chmd_order.o -MD -MP -MF $(DEPDIR)/chmd_order.Tpo -c -o chmd_order.o `test -f 'test/chmd_order.c' || echo '$(srcdir)/'`test/chmd_order.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/chmd_order.Tpo $(DEPDIR)/chmd_order.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/chmd_order.c' object='chmd_order.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o chmd_order.o `test -f 'test/chmd_order.c' || echo '$(srcdir)/'`test/chmd_order.c
-+
-+chmd_order.obj: test/chmd_order.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT chmd_order.obj -MD -MP -MF $(DEPDIR)/chmd_order.Tpo -c -o chmd_order.obj `if test -f 'test/chmd_order.c'; then $(CYGPATH_W) 'test/chmd_order.c'; else $(CYGPATH_W) '$(srcdir)/test/chmd_order.c'; fi`
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/chmd_order.Tpo $(DEPDIR)/chmd_order.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/chmd_order.c' object='chmd_order.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o chmd_order.obj `if test -f 'test/chmd_order.c'; then $(CYGPATH_W) 'test/chmd_order.c'; else $(CYGPATH_W) '$(srcdir)/test/chmd_order.c'; fi`
-+
-+chminfo.o: test/chminfo.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT chminfo.o -MD -MP -MF $(DEPDIR)/chminfo.Tpo -c -o chminfo.o `test -f 'test/chminfo.c' || echo '$(srcdir)/'`test/chminfo.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/chminfo.Tpo $(DEPDIR)/chminfo.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/chminfo.c' object='chminfo.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o chminfo.o `test -f 'test/chminfo.c' || echo '$(srcdir)/'`test/chminfo.c
-+
-+chminfo.obj: test/chminfo.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT chminfo.obj -MD -MP -MF $(DEPDIR)/chminfo.Tpo -c -o chminfo.obj `if test -f 'test/chminfo.c'; then $(CYGPATH_W) 'test/chminfo.c'; else $(CYGPATH_W) '$(srcdir)/test/chminfo.c'; fi`
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/chminfo.Tpo $(DEPDIR)/chminfo.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/chminfo.c' object='chminfo.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o chminfo.obj `if test -f 'test/chminfo.c'; then $(CYGPATH_W) 'test/chminfo.c'; else $(CYGPATH_W) '$(srcdir)/test/chminfo.c'; fi`
-+
-+chmx.o: test/chmx.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT chmx.o -MD -MP -MF $(DEPDIR)/chmx.Tpo -c -o chmx.o `test -f 'test/chmx.c' || echo '$(srcdir)/'`test/chmx.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/chmx.Tpo $(DEPDIR)/chmx.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/chmx.c' object='chmx.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o chmx.o `test -f 'test/chmx.c' || echo '$(srcdir)/'`test/chmx.c
-+
-+chmx.obj: test/chmx.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT chmx.obj -MD -MP -MF $(DEPDIR)/chmx.Tpo -c -o chmx.obj `if test -f 'test/chmx.c'; then $(CYGPATH_W) 'test/chmx.c'; else $(CYGPATH_W) '$(srcdir)/test/chmx.c'; fi`
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/chmx.Tpo $(DEPDIR)/chmx.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/chmx.c' object='chmx.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o chmx.obj `if test -f 'test/chmx.c'; then $(CYGPATH_W) 'test/chmx.c'; else $(CYGPATH_W) '$(srcdir)/test/chmx.c'; fi`
-+
-+expand.o: test/expand.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT expand.o -MD -MP -MF $(DEPDIR)/expand.Tpo -c -o expand.o `test -f 'test/expand.c' || echo '$(srcdir)/'`test/expand.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/expand.Tpo $(DEPDIR)/expand.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/expand.c' object='expand.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o expand.o `test -f 'test/expand.c' || echo '$(srcdir)/'`test/expand.c
-+
-+expand.obj: test/expand.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT expand.obj -MD -MP -MF $(DEPDIR)/expand.Tpo -c -o expand.obj `if test -f 'test/expand.c'; then $(CYGPATH_W) 'test/expand.c'; else $(CYGPATH_W) '$(srcdir)/test/expand.c'; fi`
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/expand.Tpo $(DEPDIR)/expand.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/expand.c' object='expand.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o expand.obj `if test -f 'test/expand.c'; then $(CYGPATH_W) 'test/expand.c'; else $(CYGPATH_W) '$(srcdir)/test/expand.c'; fi`
-+
-+multifh.o: test/multifh.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT multifh.o -MD -MP -MF $(DEPDIR)/multifh.Tpo -c -o multifh.o `test -f 'test/multifh.c' || echo '$(srcdir)/'`test/multifh.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/multifh.Tpo $(DEPDIR)/multifh.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/multifh.c' object='multifh.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o multifh.o `test -f 'test/multifh.c' || echo '$(srcdir)/'`test/multifh.c
-+
-+multifh.obj: test/multifh.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT multifh.obj -MD -MP -MF $(DEPDIR)/multifh.Tpo -c -o multifh.obj `if test -f 'test/multifh.c'; then $(CYGPATH_W) 'test/multifh.c'; else $(CYGPATH_W) '$(srcdir)/test/multifh.c'; fi`
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/multifh.Tpo $(DEPDIR)/multifh.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/multifh.c' object='multifh.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o multifh.obj `if test -f 'test/multifh.c'; then $(CYGPATH_W) 'test/multifh.c'; else $(CYGPATH_W) '$(srcdir)/test/multifh.c'; fi`
-+
-+oabx.o: test/oabx.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT oabx.o -MD -MP -MF $(DEPDIR)/oabx.Tpo -c -o oabx.o `test -f 'test/oabx.c' || echo '$(srcdir)/'`test/oabx.c
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/oabx.Tpo $(DEPDIR)/oabx.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/oabx.c' object='oabx.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o oabx.o `test -f 'test/oabx.c' || echo '$(srcdir)/'`test/oabx.c
-+
-+oabx.obj: test/oabx.c
-+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT oabx.obj -MD -MP -MF $(DEPDIR)/oabx.Tpo -c -o oabx.obj `if test -f 'test/oabx.c'; then $(CYGPATH_W) 'test/oabx.c'; else $(CYGPATH_W) '$(srcdir)/test/oabx.c'; fi`
-+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/oabx.Tpo $(DEPDIR)/oabx.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/oabx.c' object='oabx.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o oabx.obj `if test -f 'test/oabx.c'; then $(CYGPATH_W) 'test/oabx.c'; else $(CYGPATH_W) '$(srcdir)/test/oabx.c'; fi`
-+
-+mostlyclean-libtool:
-+ -rm -f *.lo
-+
-+clean-libtool:
-+ -rm -rf .libs _libs
-+ -rm -rf test/.libs test/_libs
-+
-+distclean-libtool:
-+ -rm -f libtool config.lt
-+install-pkgconfigDATA: $(pkgconfig_DATA)
-+ @$(NORMAL_INSTALL)
-+ test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
-+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-+ for p in $$list; do \
-+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-+ echo "$$d$$p"; \
-+ done | $(am__base_list) | \
-+ while read files; do \
-+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
-+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
-+ done
-+
-+uninstall-pkgconfigDATA:
-+ @$(NORMAL_UNINSTALL)
-+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-+ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
-+install-includeHEADERS: $(include_HEADERS)
-+ @$(NORMAL_INSTALL)
-+ test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
-+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
-+ for p in $$list; do \
-+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-+ echo "$$d$$p"; \
-+ done | $(am__base_list) | \
-+ while read files; do \
-+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
-+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
-+ done
-+
-+uninstall-includeHEADERS:
-+ @$(NORMAL_UNINSTALL)
-+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
-+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-+ dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
-+
-+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-+ unique=`for i in $$list; do \
-+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+ done | \
-+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-+ END { if (nonempty) { for (i in files) print i; }; }'`; \
-+ mkid -fID $$unique
-+tags: TAGS
-+
-+TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-+ $(TAGS_FILES) $(LISP)
-+ set x; \
-+ here=`pwd`; \
-+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-+ unique=`for i in $$list; do \
-+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+ done | \
-+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-+ END { if (nonempty) { for (i in files) print i; }; }'`; \
-+ shift; \
-+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-+ test -n "$$unique" || unique=$$empty_fix; \
-+ if test $$# -gt 0; then \
-+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-+ "$$@" $$unique; \
-+ else \
-+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-+ $$unique; \
-+ fi; \
-+ fi
-+ctags: CTAGS
-+CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-+ $(TAGS_FILES) $(LISP)
-+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-+ unique=`for i in $$list; do \
-+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+ done | \
-+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-+ END { if (nonempty) { for (i in files) print i; }; }'`; \
-+ test -z "$(CTAGS_ARGS)$$unique" \
-+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-+ $$unique
-+
-+GTAGS:
-+ here=`$(am__cd) $(top_builddir) && pwd` \
-+ && $(am__cd) $(top_srcdir) \
-+ && gtags -i $(GTAGS_ARGS) "$$here"
-+
-+distclean-tags:
-+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-+
-+distdir: $(DISTFILES)
-+ $(am__remove_distdir)
-+ test -d "$(distdir)" || mkdir "$(distdir)"
-+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-+ list='$(DISTFILES)'; \
-+ dist_files=`for file in $$list; do echo $$file; done | \
-+ sed -e "s|^$$srcdirstrip/||;t" \
-+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-+ case $$dist_files in \
-+ */*) $(MKDIR_P) `echo "$$dist_files" | \
-+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-+ sort -u` ;; \
-+ esac; \
-+ for file in $$dist_files; do \
-+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-+ if test -d $$d/$$file; then \
-+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-+ if test -d "$(distdir)/$$file"; then \
-+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-+ fi; \
-+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-+ fi; \
-+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-+ else \
-+ test -f "$(distdir)/$$file" \
-+ || cp -p $$d/$$file "$(distdir)/$$file" \
-+ || exit 1; \
-+ fi; \
-+ done
-+ $(MAKE) $(AM_MAKEFLAGS) \
-+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
-+ dist-hook
-+ -test -n "$(am__skip_mode_fix)" \
-+ || find "$(distdir)" -type d ! -perm -755 \
-+ -exec chmod u+rwx,go+rx {} \; -o \
-+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-+ || chmod -R a+r "$(distdir)"
-+dist-gzip: distdir
-+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-+ $(am__remove_distdir)
-+
-+dist-bzip2: distdir
-+ tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
-+ $(am__remove_distdir)
-+
-+dist-lzip: distdir
-+ tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
-+ $(am__remove_distdir)
-+
-+dist-lzma: distdir
-+ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-+ $(am__remove_distdir)
-+
-+dist-xz: distdir
-+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
-+ $(am__remove_distdir)
-+
-+dist-tarZ: distdir
-+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-+ $(am__remove_distdir)
-+
-+dist-shar: distdir
-+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-+ $(am__remove_distdir)
-+
-+dist-zip: distdir
-+ -rm -f $(distdir).zip
-+ zip -rq $(distdir).zip $(distdir)
-+ $(am__remove_distdir)
-+
-+dist dist-all: distdir
-+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-+ $(am__remove_distdir)
-+
-+# This target untars the dist file and tries a VPATH configuration. Then
-+# it guarantees that the distribution is self-contained by making another
-+# tarfile.
-+distcheck: dist
-+ case '$(DIST_ARCHIVES)' in \
-+ *.tar.gz*) \
-+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
-+ *.tar.bz2*) \
-+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-+ *.tar.lzma*) \
-+ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
-+ *.tar.lz*) \
-+ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
-+ *.tar.xz*) \
-+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-+ *.tar.Z*) \
-+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-+ *.shar.gz*) \
-+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
-+ *.zip*) \
-+ unzip $(distdir).zip ;;\
-+ esac
-+ chmod -R a-w $(distdir); chmod a+w $(distdir)
-+ mkdir $(distdir)/_build
-+ mkdir $(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 --srcdir=.. --prefix="$$dc_install_base" \
-+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
-+ $(DISTCHECK_CONFIGURE_FLAGS) \
-+ && $(MAKE) $(AM_MAKEFLAGS) \
-+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
-+ && $(MAKE) $(AM_MAKEFLAGS) check \
-+ && $(MAKE) $(AM_MAKEFLAGS) install \
-+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-+ distuninstallcheck \
-+ && chmod -R a-w "$$dc_install_base" \
-+ && ({ \
-+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
-+ && rm -rf "$$dc_destdir" \
-+ && $(MAKE) $(AM_MAKEFLAGS) dist \
-+ && rm -rf $(DIST_ARCHIVES) \
-+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-+ && cd "$$am__cwd" \
-+ || exit 1
-+ $(am__remove_distdir)
-+ @(echo "$(distdir) archives ready for distribution: "; \
-+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-+distuninstallcheck:
-+ @test -n '$(distuninstallcheck_dir)' || { \
-+ echo 'ERROR: trying to run $@ with an empty' \
-+ '$$(distuninstallcheck_dir)' >&2; \
-+ exit 1; \
-+ }; \
-+ $(am__cd) '$(distuninstallcheck_dir)' || { \
-+ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
-+ exit 1; \
-+ }; \
-+ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
-+ || { echo "ERROR: files left after uninstall:" ; \
-+ if test -n "$(DESTDIR)"; then \
-+ echo " (check DESTDIR support)"; \
-+ fi ; \
-+ $(distuninstallcheck_listfiles) ; \
-+ exit 1; } >&2
-+distcleancheck: distclean
-+ @if test '$(srcdir)' = . ; then \
-+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-+ exit 1 ; \
-+ fi
-+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-+ || { echo "ERROR: files left in build directory after distclean:" ; \
-+ $(distcleancheck_listfiles) ; \
-+ exit 1; } >&2
-+check-am: all-am
-+check: check-am
-+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS) \
-+ config.h
-+installdirs:
-+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)"; do \
-+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-+ done
-+install: install-am
-+install-exec: install-exec-am
-+install-data: install-data-am
-+uninstall: uninstall-am
-+
-+install-am: all-am
-+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-+
-+installcheck: installcheck-am
-+install-strip:
-+ if test -z '$(STRIP)'; then \
-+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-+ install; \
-+ else \
-+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-+ fi
-+mostlyclean-generic:
-+
-+clean-generic:
-+
-+distclean-generic:
-+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-+ -rm -f test/$(am__dirstamp)
-+
-+maintainer-clean-generic:
-+ @echo "This command is intended for maintainers to use"
-+ @echo "it deletes files that may require special tools to rebuild."
-+clean: clean-am
-+
-+clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
-+ clean-noinstLTLIBRARIES clean-noinstPROGRAMS mostlyclean-am
-+
-+distclean: distclean-am
-+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-+ -rm -rf ./$(DEPDIR)
-+ -rm -f Makefile
-+distclean-am: clean-am distclean-compile distclean-generic \
-+ distclean-hdr distclean-libtool distclean-tags
-+
-+dvi: dvi-am
-+
-+dvi-am:
-+
-+html: html-am
-+
-+html-am:
-+
-+info: info-am
-+
-+info-am:
-+
-+install-data-am: install-includeHEADERS install-pkgconfigDATA
-+
-+install-dvi: install-dvi-am
-+
-+install-dvi-am:
-+
-+install-exec-am: install-libLTLIBRARIES
-+
-+install-html: install-html-am
-+
-+install-html-am:
-+
-+install-info: install-info-am
-+
-+install-info-am:
-+
-+install-man:
-+
-+install-pdf: install-pdf-am
-+
-+install-pdf-am:
-+
-+install-ps: install-ps-am
-+
-+install-ps-am:
-+
-+installcheck-am:
-+
-+maintainer-clean: maintainer-clean-am
-+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-+ -rm -rf $(top_srcdir)/autom4te.cache
-+ -rm -rf ./$(DEPDIR)
-+ -rm -f Makefile
-+maintainer-clean-am: distclean-am maintainer-clean-generic
-+
-+mostlyclean: mostlyclean-am
-+
-+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-+ mostlyclean-libtool
-+
-+pdf: pdf-am
-+
-+pdf-am:
-+
-+ps: ps-am
-+
-+ps-am:
-+
-+uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES \
-+ uninstall-pkgconfigDATA
-+
-+.MAKE: all install-am install-strip
-+
-+.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
-+ clean-generic clean-libLTLIBRARIES clean-libtool \
-+ clean-noinstLTLIBRARIES clean-noinstPROGRAMS ctags dist \
-+ dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-lzma \
-+ dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
-+ distclean-compile distclean-generic distclean-hdr \
-+ distclean-libtool distclean-tags distcleancheck distdir \
-+ distuninstallcheck dvi dvi-am html html-am info info-am \
-+ install install-am install-data install-data-am install-dvi \
-+ install-dvi-am install-exec install-exec-am install-html \
-+ install-html-am install-includeHEADERS install-info \
-+ install-info-am install-libLTLIBRARIES install-man install-pdf \
-+ install-pdf-am install-pkgconfigDATA install-ps install-ps-am \
-+ install-strip installcheck installcheck-am installdirs \
-+ maintainer-clean maintainer-clean-generic mostlyclean \
-+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-+ pdf pdf-am ps ps-am tags uninstall uninstall-am \
-+ uninstall-includeHEADERS uninstall-libLTLIBRARIES \
-+ uninstall-pkgconfigDATA
-+
-+
-+dist-hook:
-+ -rm -f $(distdir)/*.la
-+
-+# 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.
-+.NOEXPORT:
-diff --git a/libclamav/libmspack-0.4alpha/NEWS b/libclamav/libmspack-0.4alpha/NEWS
-new file mode 100644
-index 000000000000..e69de29bb2d1
-diff --git a/libclamav/libmspack-0.4alpha/README b/libclamav/libmspack-0.4alpha/README
-new file mode 100644
-index 000000000000..4361b5516e75
---- /dev/null
-+++ b/libclamav/libmspack-0.4alpha/README
-@@ -0,0 +1,130 @@
-+libmspack 0.4alpha
-+
-+The purpose of libmspack is to provide compressors and decompressors,
-+archivers and dearchivers for Microsoft compression formats: CAB, CHM, WIM,
-+LIT, HLP, KWAJ and SZDD. It is also designed to be easily embeddable,
-+stable, robust and resource-efficient.
-+
-+The library is not intended as a generalised "any archiver" interface.
-+Users of the library must explicitly choose the format they intend to work
-+with.
-+
-+All special features of the above formats will be covered as fully as
-+possible -- for example, CAB's multi-part cabinet sets, or CHM's fast
-+lookup indices. All compression methods used by the formats will be
-+implemented as completely as possible.
-+
-+However, other than what is required for access to these formats and their
-+features, no other functionality is intended. There is no file metadata
-+translation functionality. All file I/O is abstracted, although a default
-+implementation using the standard C library is provided.
-+
-+
-+DOCUMENTATION
-+
-+The API documentation is stored in the doc/ directory. It is generated
-+automatically from mspack.h with doxygen. It is also available online at
-+http://www.cabextract.org.uk/libmspack/doc/
-+
-+
-+BUILDING / INSTALLING
-+
-+./configure
-+make
-+make install
-+
-+This will install the main libmspack library and mspack.h header file.
-+Some other libraries and executables are built, but not installed.
-+
-+If building from the Subversion repository, running rebuild.sh will create
-+all the automatically generated files like the configure script, and will
-+then ./configure, make and make distcheck. Running cleanup.sh will perform
-+a thorough clean, deleting all automatically generated files.
-+
-+In addition to gcc, you also need the following for building from Subversion:
-+
-+- at least autoconf 2.57
-+- at least automake 1.7
-+- libtool
-+
-+This is an alpha release. Unless you are in a position to package the
-+libmspack library for the environment you intend to run your application,
-+it is recommended that you do not rely on users of your software having
-+the binary library installed and instead you should include the libmspack
-+source files directly in your application's build environment.
-+
-+
-+LEGAL ISSUES
-+
-+The the best of my knowledge, libmspack does not infringe on any
-+compression or decompression patents. However, this is not legal
-+advice, and it is recommended that you perform your own patent search.
-+
-+libmspack is licensed under the LGPL - see COPYING.LIB in this directory.
-+
-+The LGPL requires you to build libmspack as a stand alone library then link
-+your code to it using a linker. I personally grant you some extra rights:
-+you can incorporate libmspack's source code wholly or partially in your own
-+code, without having to build and link libmspack as an independent library,
-+provided you meet ALL of the following conditions:
-+
-+1. ANY modifications to the existing libmspack source code are published and
-+ distributed under the LGPL license.
-+2. You MUST NOT use libmspack function calls, structures or definitions unless
-+ they are defined in the public library interface "mspack.h".
-+3. When distributing your code, you MUST make clear your code uses libmspack,
-+ and either include the full libmspack distribution with your code, or
-+ provide access to it as per clause 4 of the LGPL.
-+
-+EXAMPLE CODE
-+
-+There are a number of useful programs in the test/ directory which
-+exercise and demonstrate libmspack's features.
-+
-+cabd_c10 - Tests the CAB decompressor on the C10 collection.
-+cabd_compare - Compares the CAB decompressor with Microsoft's EXTRACT.EXE
-+cabd_md5 - Prints the MD5 checksums of all files within a CAB file/set.
-+cabd_memory - An mspack_system implementation that reads/writes to memory.
-+cabd_test - Regression tests for libmspack's CAB decompression.
-+cabrip - Extracts any CAB files embedded in another file.
-+chmd_compare - Compares the CHM decompressor to Microsoft's HH.EXE
-+chmd_find - Fast-finds a file within a CHM file.
-+chmd_md5 - Prints the MD5 checksums of all files within a CHM file.
-+chmd_order - Tests extracting files in a CHM file in four different ways.
-+chminfo - Prints verbose information about CHM file structures.
-+chmx - Extracts all files in a CHM file to disk.
-+expand - Extracts an SZDD or KWAJ file.
-+msdecompile_md5- Runs Microsoft's HH.EXE -DECOMPILE via WINE.
-+msexpand_md5 - Runs Microsoft's EXTRACT.EXE via WINE.
-+multifh - An mspack_system implementation that can simultaneously work
-+ on in-memory images, raw file descriptors, open file handles
-+ and regular disk files.
-+
-+Here is a simple example of usage, which will create a CAB decompressor,
-+then use that to open an existing Microsoft CAB file called "example.cab",
-+and list the names of all the files contained in that cab.
-+
-+#include <stdio.h>
-+#include <unistd.h>
-+#include <mspack.h>
-+
-+int main() {
-+ struct mscab_decompressor *cabd;
-+ struct mscabd_cabinet *cab;
-+ struct mscabd_file *file;
-+ int test;
-+
-+ MSPACK_SYS_SELFTEST(test);
-+ if (test != MSPACK_ERR_OK) exit(0);
-+
-+ if ((cabd = mspack_create_cab_decompressor(NULL))) {
-+ if ((cab = cabd->open(cabd, "example.cab"))) {
-+ for (file = cab->files; file; file = file->next) {
-+ printf("%s\n", file->filename);
-+ }
-+ cabd->close(cabd, cab);
-+ }
-+ mspack_destroy_cab_decompressor(cabd);
-+ }
-+ return 0;
-+}
-diff --git a/libclamav/libmspack-0.4alpha/TODO b/libclamav/libmspack-0.4alpha/TODO
-new file mode 100644
-index 000000000000..df1095d66332
---- /dev/null
-+++ b/libclamav/libmspack-0.4alpha/TODO
-@@ -0,0 +1,8 @@
-+* CAB compression
-+* cabd_find(): if many bytes are missing from the end of a cabinet, it should still find it
-+* CHM compression
-+* HLP: everything
-+* LIT: everything
-+* SZDD/KWAJ: compression
-+* WIM: everything
-+* chm: make chunk cache size user-controllable
-diff --git a/libclamav/libmspack-0.4alpha/aclocal.m4 b/libclamav/libmspack-0.4alpha/aclocal.m4
-new file mode 100644
-index 000000000000..22b5a662417c
---- /dev/null
-+++ b/libclamav/libmspack-0.4alpha/aclocal.m4
-@@ -0,0 +1,1033 @@
-+# generated automatically by aclocal 1.11.3 -*- Autoconf -*-
-+
-+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-+# 2005, 2006, 2007, 2008, 2009, 2010, 2011 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.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-+# PARTICULAR PURPOSE.
-+
-+m4_ifndef([AC_AUTOCONF_VERSION],
-+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
-+[m4_warning([this file was generated for autoconf 2.68.
-+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, 2003, 2005, 2006, 2007, 2008, 2011 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.
-+
-+# serial 1
-+
-+# AM_AUTOMAKE_VERSION(VERSION)
-+# ----------------------------
-+# Automake X.Y traces this macro to ensure aclocal.m4 has been
-+# 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.11'
-+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.11.3], [],
-+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-+])
-+
-+# _AM_AUTOCONF_VERSION(VERSION)
-+# -----------------------------
-+# aclocal traces this macro to find the Autoconf version.
-+# This is a private macro too. Using m4_define simplifies
-+# the logic in aclocal, which can simply ignore this definition.
-+m4_define([_AM_AUTOCONF_VERSION], [])
-+
-+# AM_SET_CURRENT_AUTOMAKE_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.11.3])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, 2003, 2005, 2011 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.
-+
-+# serial 1
-+
-+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
-+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-+#
-+# Of course, Automake must honor this variable whenever it calls a
-+# tool from the auxiliary directory. The problem is that $srcdir (and
-+# therefore $ac_aux_dir as well) can be either absolute or relative,
-+# depending on how configure is run. This is pretty annoying, since
-+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-+# source directory, any form will work fine, but in subdirectories a
-+# relative path needs to be adjusted first.
-+#
-+# $ac_aux_dir/missing
-+# fails when called from a subdirectory if $ac_aux_dir is relative
-+# $top_srcdir/$ac_aux_dir/missing
-+# fails if $ac_aux_dir is absolute,
-+# fails when called from a subdirectory in a VPATH build with
-+# a relative $ac_aux_dir
-+#
-+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-+# are both prefixed by $srcdir. In an in-source build this is usually
-+# harmless because $srcdir is `.', but things will broke when you
-+# start a VPATH build or use an absolute $srcdir.
-+#
-+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
-+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-+# and then we would define $MISSING as
-+# MISSING="\${SHELL} $am_aux_dir/missing"
-+# This will work as long as MISSING is not called from configure, because
-+# unfortunately $(top_srcdir) has no meaning in configure.
-+# However there are other variables, like CC, which are often used in
-+# configure, and could therefore not use this "fixed" $ac_aux_dir.
-+#
-+# Another solution, used here, is to always expand $ac_aux_dir to an
-+# absolute PATH. The drawback is that using absolute paths prevent a
-+# configured tree to be moved without reconfiguration.
-+
-+AC_DEFUN([AM_AUX_DIR_EXPAND],
-+[dnl Rely on autoconf to set up CDPATH properly.
-+AC_PREREQ([2.50])dnl
-+# expand $ac_aux_dir to an absolute path
-+am_aux_dir=`cd $ac_aux_dir && pwd`
-+])
-+
-+# AM_CONDITIONAL -*- Autoconf -*-
-+
-+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-+# 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.
-+
-+# serial 9
-+
-+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-+# -------------------------------------
-+# Define a conditional.
-+AC_DEFUN([AM_CONDITIONAL],
-+[AC_PREREQ(2.52)dnl
-+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
-+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-+AC_SUBST([$1_TRUE])dnl
-+AC_SUBST([$1_FALSE])dnl
-+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-+m4_define([_AM_COND_VALUE_$1], [$2])dnl
-+if $2; then
-+ $1_TRUE=
-+ $1_FALSE='#'
-+else
-+ $1_TRUE='#'
-+ $1_FALSE=
-+fi
-+AC_CONFIG_COMMANDS_PRE(
-+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-+ AC_MSG_ERROR([[conditional "$1" was never defined.
-+Usually this means the macro was only invoked conditionally.]])
-+fi])])
-+
-+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
-+# 2010, 2011 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.
-+
-+# serial 12
-+
-+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-+# written in clear, in which case automake, when reading aclocal.m4,
-+# will think it sees a *use*, and therefore will trigger all it's
-+# C support machinery. Also note that it means that autoscan, seeing
-+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-+
-+
-+# _AM_DEPENDENCIES(NAME)
-+# ----------------------
-+# See how the compiler implements dependency checking.
-+# NAME is "CC", "CXX", "GCJ", or "OBJC".
-+# We try a few techniques and use that to set a single cache variable.
-+#
-+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-+# dependency, and given that the user is not expected to run this macro,
-+# just rely on AC_PROG_CC.
-+AC_DEFUN([_AM_DEPENDENCIES],
-+[AC_REQUIRE([AM_SET_DEPDIR])dnl
-+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-+AC_REQUIRE([AM_DEP_TRACK])dnl
-+
-+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
-+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
-+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
-+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
-+ [depcc="$$1" am_compiler_list=])
-+
-+AC_CACHE_CHECK([dependency style of $depcc],
-+ [am_cv_$1_dependencies_compiler_type],
-+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-+ # We make a subdir and do the tests there. Otherwise we can end up
-+ # making bogus files that we don't know about and never remove. For
-+ # instance it was reported that on HP-UX the gcc test will end up
-+ # making a dummy file named `D' -- because `-MD' means `put the output
-+ # in D'.
-+ rm -rf conftest.dir
-+ mkdir conftest.dir
-+ # Copy depcomp to subdir because otherwise we won't find it if we're
-+ # using a relative directory.
-+ cp "$am_depcomp" conftest.dir
-+ cd conftest.dir
-+ # We will build objects and dependencies in a subdirectory because
-+ # it helps to detect inapplicable dependency modes. For instance
-+ # both Tru64's cc and ICC support -MD to output dependencies as a
-+ # side effect of compilation, but ICC will put the dependencies in
-+ # the current directory while Tru64 will put them in the object
-+ # directory.
-+ mkdir sub
-+
-+ am_cv_$1_dependencies_compiler_type=none
-+ if test "$am_compiler_list" = ""; then
-+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
-+ fi
-+ am__universal=false
-+ m4_case([$1], [CC],
-+ [case " $depcc " in #(
-+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
-+ esac],
-+ [CXX],
-+ [case " $depcc " in #(
-+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
-+ esac])
-+
-+ for depmode in $am_compiler_list; do
-+ # Setup a source with many dependencies, because some compilers
-+ # like to wrap large dependency lists on column 80 (with \), and
-+ # we should not choose a depcomp mode which is confused by this.
-+ #
-+ # We need to recreate these files for each test, as the compiler may
-+ # overwrite some of them when testing with obscure command lines.
-+ # This happens at least with the AIX C compiler.
-+ : > sub/conftest.c
-+ for i in 1 2 3 4 5 6; do
-+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
-+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-+ # Solaris 8's {/usr,}/bin/sh.
-+ touch sub/conftst$i.h
-+ done
-+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-+
-+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
-+ # mode. It turns out that the SunPro C++ compiler does not properly
-+ # handle `-M -o', and we need to detect this. Also, some Intel
-+ # versions had trouble with output in subdirs
-+ am__obj=sub/conftest.${OBJEXT-o}
-+ am__minus_obj="-o $am__obj"
-+ case $depmode in
-+ gcc)
-+ # This depmode causes a compiler race in universal mode.
-+ test "$am__universal" = false || continue
-+ ;;
-+ nosideeffect)
-+ # after this tag, mechanisms are not by side-effect, so they'll
-+ # only be used when explicitly requested
-+ if test "x$enable_dependency_tracking" = xyes; then
-+ continue
-+ else
-+ break
-+ fi
-+ ;;
-+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-+ # This compiler won't grok `-c -o', but also, the minuso test has
-+ # not run yet. These depmodes are late enough in the game, and
-+ # so weak that their functioning should not be impacted.
-+ am__obj=conftest.${OBJEXT-o}
-+ am__minus_obj=
-+ ;;
-+ none) break ;;
-+ esac
-+ if depmode=$depmode \
-+ source=sub/conftest.c object=$am__obj \
-+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-+ >/dev/null 2>conftest.err &&
-+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-+ # icc doesn't choke on unknown options, it will just issue warnings
-+ # or remarks (even with -Werror). So we grep stderr for any message
-+ # that says an option was ignored or not supported.
-+ # When given -MP, icc 7.0 and 7.1 complain thusly:
-+ # icc: Command line warning: ignoring option '-M'; no argument required
-+ # The diagnosis changed in icc 8.0:
-+ # icc: Command line remark: option '-MP' not supported
-+ if (grep 'ignoring option' conftest.err ||
-+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-+ am_cv_$1_dependencies_compiler_type=$depmode
-+ break
-+ fi
-+ fi
-+ done
-+
-+ cd ..
-+ rm -rf conftest.dir
-+else
-+ am_cv_$1_dependencies_compiler_type=none
-+fi
-+])
-+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-+AM_CONDITIONAL([am__fastdep$1], [
-+ test "x$enable_dependency_tracking" != xno \
-+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-+])
-+
-+
-+# AM_SET_DEPDIR
-+# -------------
-+# Choose a directory name for dependency files.
-+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-+AC_DEFUN([AM_SET_DEPDIR],
-+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-+])
-+
-+
-+# AM_DEP_TRACK
-+# ------------
-+AC_DEFUN([AM_DEP_TRACK],
-+[AC_ARG_ENABLE(dependency-tracking,
-+[ --disable-dependency-tracking speeds up one-time build
-+ --enable-dependency-tracking do not reject slow dependency extractors])
-+if test "x$enable_dependency_tracking" != xno; then
-+ am_depcomp="$ac_aux_dir/depcomp"
-+ AMDEPBACKSLASH='\'
-+ am__nodep='_no'
-+fi
-+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-+AC_SUBST([AMDEPBACKSLASH])dnl
-+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-+AC_SUBST([am__nodep])dnl
-+_AM_SUBST_NOTMAKE([am__nodep])dnl
-+])
-+
-+# Generate code to set up dependency tracking. -*- Autoconf -*-
-+
-+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-+# 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.
-+
-+#serial 5
-+
-+# _AM_OUTPUT_DEPENDENCY_COMMANDS
-+# ------------------------------
-+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-+[{
-+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
-+ # are listed without --file. Let's play safe and only enable the eval
-+ # if we detect the quoting.
-+ case $CONFIG_FILES in
-+ *\'*) eval set x "$CONFIG_FILES" ;;
-+ *) set x $CONFIG_FILES ;;
-+ esac
-+ shift
-+ for mf
-+ do
-+ # Strip MF so we end up with the name of the file.
-+ mf=`echo "$mf" | sed -e 's/:.*$//'`
-+ # Check whether this is an Automake generated Makefile or not.
-+ # We used to match only the files named `Makefile.in', but
-+ # some people rename them; so instead we look at the file content.
-+ # Grep'ing the first line is not enough: some people post-process
-+ # each Makefile.in and add a new line on top of each file to say so.
-+ # Grep'ing the whole file is not good either: AIX grep has a line
-+ # limit of 2048, but all sed's we know have understand at least 4000.
-+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-+ dirpart=`AS_DIRNAME("$mf")`
-+ else
-+ continue
-+ fi
-+ # Extract the definition of DEPDIR, am__include, and am__quote
-+ # from the Makefile without running `make'.
-+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-+ test -z "$DEPDIR" && continue
-+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
-+ test -z "am__include" && continue
-+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-+ # When using ansi2knr, U may be empty or an underscore; expand it
-+ U=`sed -n 's/^U = //p' < "$mf"`
-+ # Find all dependency output files, they are included files with
-+ # $(DEPDIR) in their names. We invoke sed twice because it is the
-+ # simplest approach to changing $(DEPDIR) to its actual value in the
-+ # expansion.
-+ for file in `sed -n "
-+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-+ # Make sure the directory exists.
-+ test -f "$dirpart/$file" && continue
-+ fdir=`AS_DIRNAME(["$file"])`
-+ AS_MKDIR_P([$dirpart/$fdir])
-+ # echo "creating $dirpart/$file"
-+ echo '# dummy' > "$dirpart/$file"
-+ done
-+ done
-+}
-+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-+
-+
-+# AM_OUTPUT_DEPENDENCY_COMMANDS
-+# -----------------------------
-+# This macro should only be invoked once -- use via AC_REQUIRE.
-+#
-+# This code is only required when automatic dependency tracking
-+# is enabled. FIXME. This creates each `.P' file that we will
-+# need in order to bootstrap the dependency handling code.
-+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-+[AC_CONFIG_COMMANDS([depfiles],
-+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-+])
-+
-+# Do all the work for Automake. -*- Autoconf -*-
-+
-+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-+# 2005, 2006, 2008, 2009 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.
-+
-+# serial 16
-+
-+# This macro actually does too much. Some checks are only needed if
-+# your package does certain things. But this isn't really a big deal.
-+
-+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-+# AM_INIT_AUTOMAKE([OPTIONS])
-+# -----------------------------------------------
-+# The call with PACKAGE and VERSION arguments is the old style
-+# call (pre autoconf-2.50), which is being phased out. PACKAGE
-+# and VERSION should now be passed to AC_INIT and removed from
-+# the call to AM_INIT_AUTOMAKE.
-+# We support both call styles for the transition. After
-+# the next Automake release, Autoconf can make the AC_INIT
-+# arguments mandatory, and then we can depend on a new Autoconf
-+# release and drop the old call support.
-+AC_DEFUN([AM_INIT_AUTOMAKE],
-+[AC_PREREQ([2.62])dnl
-+dnl Autoconf wants to disallow AM_ names. We explicitly allow
-+dnl the ones we care about.
-+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-+AC_REQUIRE([AC_PROG_INSTALL])dnl
-+if test "`cd $srcdir && pwd`" != "`pwd`"; then
-+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-+ # is not polluted with repeated "-I."
-+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
-+ # test to see if srcdir already configured
-+ if test -f $srcdir/config.status; then
-+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-+ fi
-+fi
-+
-+# test whether we have cygpath
-+if test -z "$CYGPATH_W"; then
-+ if (cygpath --version) >/dev/null 2>/dev/null; then
-+ CYGPATH_W='cygpath -w'
-+ else
-+ CYGPATH_W=echo
-+ fi
-+fi
-+AC_SUBST([CYGPATH_W])
-+
-+# Define the identity of the package.
-+dnl Distinguish between old-style and new-style calls.
-+m4_ifval([$2],
-+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
-+ AC_SUBST([PACKAGE], [$1])dnl
-+ AC_SUBST([VERSION], [$2])],
-+[_AM_SET_OPTIONS([$1])dnl
-+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
-+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
-+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
-+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-+
-+_AM_IF_OPTION([no-define],,
-+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
-+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-+
-+# Some tools Automake needs.
-+AC_REQUIRE([AM_SANITY_CHECK])dnl
-+AC_REQUIRE([AC_ARG_PROGRAM])dnl
-+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-+AM_MISSING_PROG(AUTOCONF, autoconf)
-+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-+AM_MISSING_PROG(AUTOHEADER, autoheader)
-+AM_MISSING_PROG(MAKEINFO, makeinfo)
-+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-+# We need awk for the "check" target. 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
-+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-+ [_AM_PROG_TAR([v7])])])
-+_AM_IF_OPTION([no-dependencies],,
-+[AC_PROVIDE_IFELSE([AC_PROG_CC],
-+ [_AM_DEPENDENCIES(CC)],
-+ [define([AC_PROG_CC],
-+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-+AC_PROVIDE_IFELSE([AC_PROG_CXX],
-+ [_AM_DEPENDENCIES(CXX)],
-+ [define([AC_PROG_CXX],
-+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-+ [_AM_DEPENDENCIES(OBJC)],
-+ [define([AC_PROG_OBJC],
-+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-+])
-+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
-+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-+AC_CONFIG_COMMANDS_PRE(dnl
-+[m4_provide_if([_AM_COMPILER_EXEEXT],
-+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-+])
-+
-+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
-+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-+dnl mangled by Autoconf and run in a shell conditional statement.
-+m4_define([_AC_COMPILER_EXEEXT],
-+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-+
-+
-+# When config.status generates a header, we must update the stamp-h file.
-+# This file resides in the same directory as the config header
-+# that is generated. The stamp files are numbered to have different names.
-+
-+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-+# loop where config.status creates the headers, so we can generate
-+# our stamp files there.
-+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-+[# Compute $1's index in $config_headers.
-+_am_arg=$1
-+_am_stamp_count=1
-+for _am_header in $config_headers :; do
-+ case $_am_header in
-+ $_am_arg | $_am_arg:* )
-+ break ;;
-+ * )
-+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-+ esac
-+done
-+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-+
-+# Copyright (C) 2001, 2003, 2005, 2008, 2011 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.
-+
-+# serial 1
-+
-+# AM_PROG_INSTALL_SH
-+# ------------------
-+# Define $install_sh.
-+AC_DEFUN([AM_PROG_INSTALL_SH],
-+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-+if test x"${install_sh}" != xset; then
-+ case $am_aux_dir in
-+ *\ * | *\ *)
-+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-+ *)
-+ install_sh="\${SHELL} $am_aux_dir/install-sh"
-+ esac
-+fi
-+AC_SUBST(install_sh)])
-+
-+# Copyright (C) 2003, 2005 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.
-+
-+# serial 2
-+
-+# Check whether the underlying file-system supports filenames
-+# with a leading dot. For instance MS-DOS doesn't.
-+AC_DEFUN([AM_SET_LEADING_DOT],
-+[rm -rf .tst 2>/dev/null
-+mkdir .tst 2>/dev/null
-+if test -d .tst; then
-+ am__leading_dot=.
-+else
-+ am__leading_dot=_
-+fi
-+rmdir .tst 2>/dev/null
-+AC_SUBST([am__leading_dot])])
-+
-+# Check to see how 'make' treats includes. -*- Autoconf -*-
-+
-+# Copyright (C) 2001, 2002, 2003, 2005, 2009 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.
-+
-+# serial 4
-+
-+# AM_MAKE_INCLUDE()
-+# -----------------
-+# Check to see how make treats includes.
-+AC_DEFUN([AM_MAKE_INCLUDE],
-+[am_make=${MAKE-make}
-+cat > confinc << 'END'
-+am__doit:
-+ @echo this is the am__doit target
-+.PHONY: am__doit
-+END
-+# If we don't find an include directive, just comment out the code.
-+AC_MSG_CHECKING([for style of include used by $am_make])
-+am__include="#"
-+am__quote=
-+_am_result=none
-+# First try GNU make style include.
-+echo "include confinc" > confmf
-+# Ignore all kinds of additional output from `make'.
-+case `$am_make -s -f confmf 2> /dev/null` in #(
-+*the\ am__doit\ target*)
-+ am__include=include
-+ am__quote=
-+ _am_result=GNU
-+ ;;
-+esac
-+# Now try BSD make style include.
-+if test "$am__include" = "#"; then
-+ echo '.include "confinc"' > confmf
-+ case `$am_make -s -f confmf 2> /dev/null` in #(
-+ *the\ am__doit\ target*)
-+ am__include=.include
-+ am__quote="\""
-+ _am_result=BSD
-+ ;;
-+ esac
-+fi
-+AC_SUBST([am__include])
-+AC_SUBST([am__quote])
-+AC_MSG_RESULT([$_am_result])
-+rm -f confinc confmf
-+])
-+
-+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-+
-+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-+# 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.
-+
-+# serial 6
-+
-+# AM_MISSING_PROG(NAME, PROGRAM)
-+# ------------------------------
-+AC_DEFUN([AM_MISSING_PROG],
-+[AC_REQUIRE([AM_MISSING_HAS_RUN])
-+$1=${$1-"${am_missing_run}$2"}
-+AC_SUBST($1)])
-+
-+
-+# AM_MISSING_HAS_RUN
-+# ------------------
-+# Define MISSING if not defined so far and test if it supports --run.
-+# If it does, set am_missing_run to use it, otherwise, to nothing.
-+AC_DEFUN([AM_MISSING_HAS_RUN],
-+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-+AC_REQUIRE_AUX_FILE([missing])dnl
-+if test x"${MISSING+set}" != xset; then
-+ case $am_aux_dir in
-+ *\ * | *\ *)
-+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-+ *)
-+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
-+ esac
-+fi
-+# Use eval to expand $SHELL
-+if eval "$MISSING --run true"; then
-+ am_missing_run="$MISSING --run "
-+else
-+ am_missing_run=
-+ AC_MSG_WARN([`missing' script is too old or missing])
-+fi
-+])
-+
-+# Copyright (C) 2003, 2004, 2005, 2006, 2011 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.
-+
-+# serial 1
-+
-+# AM_PROG_MKDIR_P
-+# ---------------
-+# Check for `mkdir -p'.
-+AC_DEFUN([AM_PROG_MKDIR_P],
-+[AC_PREREQ([2.60])dnl
-+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
-+dnl while keeping a definition of mkdir_p for backward compatibility.
-+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-+dnl Makefile.ins that do not define MKDIR_P, so we do our own
-+dnl adjustment using top_builddir (which is defined more often than
-+dnl MKDIR_P).
-+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-+case $mkdir_p in
-+ [[\\/$]]* | ?:[[\\/]]*) ;;
-+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-+esac
-+])
-+
-+# Helper functions for option handling. -*- Autoconf -*-
-+
-+# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 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.
-+
-+# serial 5
-+
-+# _AM_MANGLE_OPTION(NAME)
-+# -----------------------
-+AC_DEFUN([_AM_MANGLE_OPTION],
-+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-+
-+# _AM_SET_OPTION(NAME)
-+# --------------------
-+# Set option NAME. Presently that only means defining a flag for this option.
-+AC_DEFUN([_AM_SET_OPTION],
-+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-+
-+# _AM_SET_OPTIONS(OPTIONS)
-+# ------------------------
-+# OPTIONS is a space-separated list of Automake options.
-+AC_DEFUN([_AM_SET_OPTIONS],
-+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-+
-+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-+# -------------------------------------------
-+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-+AC_DEFUN([_AM_IF_OPTION],
-+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-+
-+# Check to make sure that the build environment is sane. -*- Autoconf -*-
-+
-+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-+# 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.
-+
-+# serial 5
-+
-+# AM_SANITY_CHECK
-+# ---------------
-+AC_DEFUN([AM_SANITY_CHECK],
-+[AC_MSG_CHECKING([whether build environment is sane])
-+# Just in case
-+sleep 1
-+echo timestamp > conftest.file
-+# Reject unsafe characters in $srcdir or the absolute working directory
-+# name. Accept space and tab only in the latter.
-+am_lf='
-+'
-+case `pwd` in
-+ *[[\\\"\#\$\&\'\`$am_lf]]*)
-+ AC_MSG_ERROR([unsafe absolute working directory name]);;
-+esac
-+case $srcdir in
-+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
-+ AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
-+esac
-+
-+# Do `set' in a subshell so we don't clobber the current shell's
-+# arguments. Must try -L first in case configure is actually a
-+# symlink; some systems play weird games with the mod time of symlinks
-+# (eg FreeBSD returns the mod time of the symlink's containing
-+# directory).
-+if (
-+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-+ if test "$[*]" = "X"; then
-+ # -L didn't work.
-+ set X `ls -t "$srcdir/configure" conftest.file`
-+ fi
-+ rm -f conftest.file
-+ if test "$[*]" != "X $srcdir/configure conftest.file" \
-+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
-+
-+ # If neither matched, then we have a broken ls. This can happen
-+ # if, for instance, CONFIG_SHELL is bash and it inherits a
-+ # broken ls alias from the environment. This has actually
-+ # happened. Such a system could not be considered "sane".
-+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-+alias in your environment])
-+ fi
-+
-+ test "$[2]" = conftest.file
-+ )
-+then
-+ # Ok.
-+ :
-+else
-+ AC_MSG_ERROR([newly created file is older than distributed files!
-+Check your system clock])
-+fi
-+AC_MSG_RESULT(yes)])
-+
-+# Copyright (C) 2009, 2011 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.
-+
-+# serial 2
-+
-+# AM_SILENT_RULES([DEFAULT])
-+# --------------------------
-+# Enable less verbose build rules; with the default set to DEFAULT
-+# (`yes' being less verbose, `no' or empty being verbose).
-+AC_DEFUN([AM_SILENT_RULES],
-+[AC_ARG_ENABLE([silent-rules],
-+[ --enable-silent-rules less verbose build output (undo: `make V=1')
-+ --disable-silent-rules verbose build output (undo: `make V=0')])
-+case $enable_silent_rules in
-+yes) AM_DEFAULT_VERBOSITY=0;;
-+no) AM_DEFAULT_VERBOSITY=1;;
-+*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
-+esac
-+dnl
-+dnl A few `make' implementations (e.g., NonStop OS and NextStep)
-+dnl do not support nested variable expansions.
-+dnl See automake bug#9928 and bug#10237.
-+am_make=${MAKE-make}
-+AC_CACHE_CHECK([whether $am_make supports nested variables],
-+ [am_cv_make_support_nested_variables],
-+ [if AS_ECHO([['TRUE=$(BAR$(V))
-+BAR0=false
-+BAR1=true
-+V=1
-+am__doit:
-+ @$(TRUE)
-+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
-+ am_cv_make_support_nested_variables=yes
-+else
-+ am_cv_make_support_nested_variables=no
-+fi])
-+if test $am_cv_make_support_nested_variables = yes; then
-+ dnl Using `$V' instead of `$(V)' breaks IRIX make.
-+ AM_V='$(V)'
-+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-+else
-+ AM_V=$AM_DEFAULT_VERBOSITY
-+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-+fi
-+AC_SUBST([AM_V])dnl
-+AM_SUBST_NOTMAKE([AM_V])dnl
-+AC_SUBST([AM_DEFAULT_V])dnl
-+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
-+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
-+AM_BACKSLASH='\'
-+AC_SUBST([AM_BACKSLASH])dnl
-+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
-+])
-+
-+# Copyright (C) 2001, 2003, 2005, 2011 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.
-+
-+# serial 1
-+
-+# AM_PROG_INSTALL_STRIP
-+# ---------------------
-+# One issue with vendor `install' (even GNU) is that you can't
-+# specify the program used to strip binaries. This is especially
-+# annoying in cross-compiling environments, where the build's strip
-+# is unlikely to handle the host's binaries.
-+# Fortunately install-sh will honor a STRIPPROG variable, so we
-+# always use install-sh in `make install-strip', and initialize
-+# STRIPPROG with the value of the STRIP variable (set by the user).
-+AC_DEFUN([AM_PROG_INSTALL_STRIP],
-+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-+# Installed binaries are usually stripped using `strip' when the user
-+# run `make install-strip'. However `strip' might not be the right
-+# tool to use in cross-compilation environments, therefore Automake
-+# will honor the `STRIP' environment variable to overrule this program.
-+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-+if test "$cross_compiling" != no; then
-+ AC_CHECK_TOOL([STRIP], [strip], :)
-+fi
-+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-+AC_SUBST([INSTALL_STRIP_PROGRAM])])
-+
-+# Copyright (C) 2006, 2008, 2010 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.
-+
-+# serial 3
-+
-+# _AM_SUBST_NOTMAKE(VARIABLE)
-+# ---------------------------
-+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-+# This macro is traced by Automake.
-+AC_DEFUN([_AM_SUBST_NOTMAKE])
-+
-+# AM_SUBST_NOTMAKE(VARIABLE)
-+# --------------------------
-+# Public sister of _AM_SUBST_NOTMAKE.
-+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-+
-+# Check how to create a tarball. -*- Autoconf -*-
-+
-+# Copyright (C) 2004, 2005, 2012 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.
-+
-+# serial 2
-+
-+# _AM_PROG_TAR(FORMAT)
-+# --------------------
-+# Check how to create a tarball in format FORMAT.
-+# FORMAT should be one of `v7', `ustar', or `pax'.
-+#
-+# Substitute a variable $(am__tar) that is a command
-+# writing to stdout a FORMAT-tarball containing the directory
-+# $tardir.
-+# tardir=directory && $(am__tar) > result.tar
-+#
-+# Substitute a variable $(am__untar) that extract such
-+# a tarball read from stdin.
-+# $(am__untar) < result.tar
-+AC_DEFUN([_AM_PROG_TAR],
-+[# Always define AMTAR for backward compatibility. Yes, it's still used
-+# in the wild :-( We should find a proper way to deprecate it ...
-+AC_SUBST([AMTAR], ['$${TAR-tar}'])
-+m4_if([$1], [v7],
-+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
-+ [m4_case([$1], [ustar],, [pax],,
-+ [m4_fatal([Unknown tar format])])
-+AC_MSG_CHECKING([how to create a $1 tar archive])
-+# Loop over all known methods to create a tar archive until one works.
-+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-+# Do not fold the above two line into one, because Tru64 sh and
-+# Solaris sh will not grok spaces in the rhs of `-'.
-+for _am_tool in $_am_tools
-+do
-+ case $_am_tool in
-+ gnutar)
-+ for _am_tar in tar gnutar gtar;
-+ do
-+ AM_RUN_LOG([$_am_tar --version]) && break
-+ done
-+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-+ am__untar="$_am_tar -xf -"
-+ ;;
-+ plaintar)
-+ # Must skip GNU tar: if it does not support --format= it doesn't create
-+ # ustar tarball either.
-+ (tar --version) >/dev/null 2>&1 && continue
-+ am__tar='tar chf - "$$tardir"'
-+ am__tar_='tar chf - "$tardir"'
-+ am__untar='tar xf -'
-+ ;;
-+ pax)
-+ am__tar='pax -L -x $1 -w "$$tardir"'
-+ am__tar_='pax -L -x $1 -w "$tardir"'
-+ am__untar='pax -r'
-+ ;;
-+ cpio)
-+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-+ am__untar='cpio -i -H $1 -d'
-+ ;;
-+ none)
-+ am__tar=false
-+ am__tar_=false
-+ am__untar=false
-+ ;;
-+ esac
-+
-+ # If the value was cached, stop now. We just wanted to have am__tar
-+ # and am__untar set.
-+ test -n "${am_cv_prog_tar_$1}" && break
-+
-+ # tar/untar a dummy directory, and stop if the command works
-+ rm -rf conftest.dir
-+ mkdir conftest.dir
-+ echo GrepMe > conftest.dir/file
-+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
-+ rm -rf conftest.dir
-+ if test -s conftest.tar; then
-+ AM_RUN_LOG([$am__untar <conftest.tar])
-+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-+ fi
-+done
-+rm -rf conftest.dir
-+
-+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-+AC_SUBST([am__tar])
-+AC_SUBST([am__untar])
-+]) # _AM_PROG_TAR
-+
-+m4_include([m4/libtool.m4])
-+m4_include([m4/ltoptions.m4])
-+m4_include([m4/ltsugar.m4])
-+m4_include([m4/ltversion.m4])
-+m4_include([m4/lt~obsolete.m4])
-diff --git a/libclamav/libmspack-0.4alpha/config.guess b/libclamav/libmspack-0.4alpha/config.guess
-new file mode 100755
-index 000000000000..d622a44e551f
---- /dev/null
-+++ b/libclamav/libmspack-0.4alpha/config.guess
-@@ -0,0 +1,1530 @@
-+#! /bin/sh
-+# Attempt to guess a canonical system name.
-+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-+# 2011, 2012 Free Software Foundation, Inc.
-+
-+timestamp='2012-02-10'
-+
-+# This file 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 of the License, 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.
-+
-+
-+# Originally written by Per Bothner. Please send patches (context
-+# diff format) to <config-patches@gnu.org> and include a ChangeLog
-+# entry.
-+#
-+# This script attempts to guess a canonical system name similar to
-+# config.sub. If it succeeds, it prints the system name on stdout, and
-+# exits with 0. Otherwise, it exits with 1.
-+#
-+# You can get the latest version of this script from:
-+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-+
-+me=`echo "$0" | sed -e 's,.*/,,'`
-+
-+usage="\
-+Usage: $0 [OPTION]
-+
-+Output the configuration name of the system \`$me' is run on.
-+
-+Operation modes:
-+ -h, --help print this help, then exit
-+ -t, --time-stamp print date of last modification, then exit
-+ -v, --version print version number, then exit
-+
-+Report bugs and patches to <config-patches@gnu.org>."
-+
-+version="\
-+GNU config.guess ($timestamp)
-+
-+Originally written by Per Bothner.
-+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-+Free Software Foundation, Inc.
-+
-+This is free software; see the source for copying conditions. There is NO
-+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-+
-+help="
-+Try \`$me --help' for more information."
-+
-+# Parse command line
-+while test $# -gt 0 ; do
-+ case $1 in
-+ --time-stamp | --time* | -t )
-+ echo "$timestamp" ; exit ;;
-+ --version | -v )
-+ echo "$version" ; exit ;;
-+ --help | --h* | -h )
-+ echo "$usage"; exit ;;
-+ -- ) # Stop option processing
-+ shift; break ;;
-+ - ) # Use stdin as input.
-+ break ;;
-+ -* )
-+ echo "$me: invalid option $1$help" >&2
-+ exit 1 ;;
-+ * )
-+ break ;;
-+ esac
-+done
-+
-+if test $# != 0; then
-+ echo "$me: too many arguments$help" >&2
-+ exit 1
-+fi
-+
-+trap 'exit 1' 1 2 15
-+
-+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-+# compiler to aid in system detection is discouraged as it requires
-+# temporary files to be created and, as you can see below, it is a
-+# headache to deal with in a portable fashion.
-+
-+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-+# use `HOST_CC' if defined, but it is deprecated.
-+
-+# Portable tmp directory creation inspired by the Autoconf team.
-+
-+set_cc_for_build='
-+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-+: ${TMPDIR=/tmp} ;
-+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
-+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
-+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
-+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-+dummy=$tmp/dummy ;
-+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-+case $CC_FOR_BUILD,$HOST_CC,$CC in
-+ ,,) echo "int x;" > $dummy.c ;
-+ for c in cc gcc c89 c99 ; do
-+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
-+ CC_FOR_BUILD="$c"; break ;
-+ fi ;
-+ done ;
-+ if test x"$CC_FOR_BUILD" = x ; then
-+ CC_FOR_BUILD=no_compiler_found ;
-+ fi
-+ ;;
-+ ,,*) CC_FOR_BUILD=$CC ;;
-+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-+esac ; set_cc_for_build= ;'
-+
-+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-+# (ghazi@noc.rutgers.edu 1994-08-24)
-+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-+ PATH=$PATH:/.attbin ; export PATH
-+fi
-+
-+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-+
-+# Note: order is significant - the case branches are not exclusive.
-+
-+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
-+ *:NetBSD:*:*)
-+ # NetBSD (nbsd) targets should (where applicable) match one or
-+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
-+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
-+ # switched to ELF, *-*-netbsd* would select the old
-+ # object file format. This provides both forward
-+ # compatibility and a consistent mechanism for selecting the
-+ # object file format.
-+ #
-+ # Note: NetBSD doesn't particularly care about the vendor
-+ # portion of the name. We always set it to "unknown".
-+ sysctl="sysctl -n hw.machine_arch"
-+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
-+ case "${UNAME_MACHINE_ARCH}" in
-+ armeb) machine=armeb-unknown ;;
-+ arm*) machine=arm-unknown ;;
-+ sh3el) machine=shl-unknown ;;
-+ sh3eb) machine=sh-unknown ;;
-+ sh5el) machine=sh5le-unknown ;;
-+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
-+ esac
-+ # The Operating System including object format, if it has switched
-+ # to ELF recently, or will in the future.
-+ case "${UNAME_MACHINE_ARCH}" in
-+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-+ eval $set_cc_for_build
-+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-+ | grep -q __ELF__
-+ then
-+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-+ # Return netbsd for either. FIX?
-+ os=netbsd
-+ else
-+ os=netbsdelf
-+ fi
-+ ;;
-+ *)
-+ os=netbsd
-+ ;;
-+ esac
-+ # The OS release
-+ # Debian GNU/NetBSD machines have a different userland, and
-+ # thus, need a distinct triplet. However, they do not need
-+ # kernel version information, so it can be replaced with a
-+ # suitable tag, in the style of linux-gnu.
-+ case "${UNAME_VERSION}" in
-+ Debian*)
-+ release='-gnu'
-+ ;;
-+ *)
-+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-+ ;;
-+ esac
-+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-+ # contains redundant information, the shorter form:
-+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-+ echo "${machine}-${os}${release}"
-+ exit ;;
-+ *:OpenBSD:*:*)
-+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
-+ exit ;;
-+ *:ekkoBSD:*:*)
-+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
-+ exit ;;
-+ *:SolidBSD:*:*)
-+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
-+ exit ;;
-+ macppc:MirBSD:*:*)
-+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
-+ exit ;;
-+ *:MirBSD:*:*)
-+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
-+ exit ;;
-+ alpha:OSF1:*:*)
-+ case $UNAME_RELEASE in
-+ *4.0)
-+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-+ ;;
-+ *5.*)
-+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
-+ ;;
-+ esac
-+ # According to Compaq, /usr/sbin/psrinfo has been available on
-+ # OSF/1 and Tru64 systems produced since 1995. I hope that
-+ # covers most systems running today. This code pipes the CPU
-+ # types through head -n 1, so we only detect the type of CPU 0.
-+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
-+ case "$ALPHA_CPU_TYPE" in
-+ "EV4 (21064)")
-+ UNAME_MACHINE="alpha" ;;
-+ "EV4.5 (21064)")
-+ UNAME_MACHINE="alpha" ;;
-+ "LCA4 (21066/21068)")
-+ UNAME_MACHINE="alpha" ;;
-+ "EV5 (21164)")
-+ UNAME_MACHINE="alphaev5" ;;
-+ "EV5.6 (21164A)")
-+ UNAME_MACHINE="alphaev56" ;;
-+ "EV5.6 (21164PC)")
-+ UNAME_MACHINE="alphapca56" ;;
-+ "EV5.7 (21164PC)")
-+ UNAME_MACHINE="alphapca57" ;;
-+ "EV6 (21264)")
-+ UNAME_MACHINE="alphaev6" ;;
-+ "EV6.7 (21264A)")
-+ UNAME_MACHINE="alphaev67" ;;
-+ "EV6.8CB (21264C)")
-+ UNAME_MACHINE="alphaev68" ;;
-+ "EV6.8AL (21264B)")
-+ UNAME_MACHINE="alphaev68" ;;
-+ "EV6.8CX (21264D)")
-+ UNAME_MACHINE="alphaev68" ;;
-+ "EV6.9A (21264/EV69A)")
-+ UNAME_MACHINE="alphaev69" ;;
-+ "EV7 (21364)")
-+ UNAME_MACHINE="alphaev7" ;;
-+ "EV7.9 (21364A)")
-+ UNAME_MACHINE="alphaev79" ;;
-+ esac
-+ # A Pn.n version is a patched version.
-+ # A Vn.n version is a released version.
-+ # A Tn.n version is a released field test version.
-+ # A Xn.n version is an unreleased experimental baselevel.
-+ # 1.2 uses "1.2" for uname -r.
-+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
-+ exitcode=$?
-+ trap '' 0
-+ exit $exitcode ;;
-+ Alpha\ *:Windows_NT*:*)
-+ # How do we know it's Interix rather than the generic POSIX subsystem?
-+ # Should we change UNAME_MACHINE based on the output of uname instead
-+ # of the specific Alpha model?
-+ echo alpha-pc-interix
-+ exit ;;
-+ 21064:Windows_NT:50:3)
-+ echo alpha-dec-winnt3.5
-+ exit ;;
-+ Amiga*:UNIX_System_V:4.0:*)
-+ echo m68k-unknown-sysv4
-+ exit ;;
-+ *:[Aa]miga[Oo][Ss]:*:*)
-+ echo ${UNAME_MACHINE}-unknown-amigaos
-+ exit ;;
-+ *:[Mm]orph[Oo][Ss]:*:*)
-+ echo ${UNAME_MACHINE}-unknown-morphos
-+ exit ;;
-+ *:OS/390:*:*)
-+ echo i370-ibm-openedition
-+ exit ;;
-+ *:z/VM:*:*)
-+ echo s390-ibm-zvmoe
-+ exit ;;
-+ *:OS400:*:*)
-+ echo powerpc-ibm-os400
-+ exit ;;
-+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-+ echo arm-acorn-riscix${UNAME_RELEASE}
-+ exit ;;
-+ arm:riscos:*:*|arm:RISCOS:*:*)
-+ echo arm-unknown-riscos
-+ exit ;;
-+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-+ echo hppa1.1-hitachi-hiuxmpp
-+ exit ;;
-+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
-+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
-+ echo pyramid-pyramid-sysv3
-+ else
-+ echo pyramid-pyramid-bsd
-+ fi
-+ exit ;;
-+ NILE*:*:*:dcosx)
-+ echo pyramid-pyramid-svr4
-+ exit ;;
-+ DRS?6000:unix:4.0:6*)
-+ echo sparc-icl-nx6
-+ exit ;;
-+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
-+ case `/usr/bin/uname -p` in
-+ sparc) echo sparc-icl-nx7; exit ;;
-+ esac ;;
-+ s390x:SunOS:*:*)
-+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-+ exit ;;
-+ sun4H:SunOS:5.*:*)
-+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-+ exit ;;
-+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-+ exit ;;
-+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
-+ echo i386-pc-auroraux${UNAME_RELEASE}
-+ exit ;;
-+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-+ eval $set_cc_for_build
-+ SUN_ARCH="i386"
-+ # If there is a compiler, see if it is configured for 64-bit objects.
-+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
-+ # This test works for both compilers.
-+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-+ grep IS_64BIT_ARCH >/dev/null
-+ then
-+ SUN_ARCH="x86_64"
-+ fi
-+ fi
-+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-+ exit ;;
-+ sun4*:SunOS:6*:*)
-+ # According to config.sub, this is the proper way to canonicalize
-+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
-+ # it's likely to be more like Solaris than SunOS4.
-+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-+ exit ;;
-+ sun4*:SunOS:*:*)
-+ case "`/usr/bin/arch -k`" in
-+ Series*|S4*)
-+ UNAME_RELEASE=`uname -v`
-+ ;;
-+ esac
-+ # Japanese Language versions have a version number like `4.1.3-JL'.
-+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-+ exit ;;
-+ sun3*:SunOS:*:*)
-+ echo m68k-sun-sunos${UNAME_RELEASE}
-+ exit ;;
-+ sun*:*:4.2BSD:*)
-+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-+ case "`/bin/arch`" in
-+ sun3)
-+ echo m68k-sun-sunos${UNAME_RELEASE}
-+ ;;
-+ sun4)
-+ echo sparc-sun-sunos${UNAME_RELEASE}
-+ ;;
-+ esac
-+ exit ;;
-+ aushp:SunOS:*:*)
-+ echo sparc-auspex-sunos${UNAME_RELEASE}
-+ exit ;;
-+ # The situation for MiNT is a little confusing. The machine name
-+ # can be virtually everything (everything which is not
-+ # "atarist" or "atariste" at least should have a processor
-+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
-+ # to the lowercase version "mint" (or "freemint"). Finally
-+ # the system name "TOS" denotes a system which is actually not
-+ # MiNT. But MiNT is downward compatible to TOS, so this should
-+ # be no problem.
-+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-+ echo m68k-atari-mint${UNAME_RELEASE}
-+ exit ;;
-+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-+ echo m68k-atari-mint${UNAME_RELEASE}
-+ exit ;;
-+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-+ echo m68k-atari-mint${UNAME_RELEASE}
-+ exit ;;
-+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-+ echo m68k-milan-mint${UNAME_RELEASE}
-+ exit ;;
-+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-+ echo m68k-hades-mint${UNAME_RELEASE}
-+ exit ;;
-+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-+ echo m68k-unknown-mint${UNAME_RELEASE}
-+ exit ;;
-+ m68k:machten:*:*)
-+ echo m68k-apple-machten${UNAME_RELEASE}
-+ exit ;;
-+ powerpc:machten:*:*)
-+ echo powerpc-apple-machten${UNAME_RELEASE}
-+ exit ;;
-+ RISC*:Mach:*:*)
-+ echo mips-dec-mach_bsd4.3
-+ exit ;;
-+ RISC*:ULTRIX:*:*)
-+ echo mips-dec-ultrix${UNAME_RELEASE}
-+ exit ;;
-+ VAX*:ULTRIX*:*:*)
-+ echo vax-dec-ultrix${UNAME_RELEASE}
-+ exit ;;
-+ 2020:CLIX:*:* | 2430:CLIX:*:*)
-+ echo clipper-intergraph-clix${UNAME_RELEASE}
-+ exit ;;
-+ mips:*:*:UMIPS | mips:*:*:RISCos)
-+ eval $set_cc_for_build
-+ sed 's/^ //' << EOF >$dummy.c
-+#ifdef __cplusplus
-+#include <stdio.h> /* for printf() prototype */
-+ int main (int argc, char *argv[]) {
-+#else
-+ int main (argc, argv) int argc; char *argv[]; {
-+#endif
-+ #if defined (host_mips) && defined (MIPSEB)
-+ #if defined (SYSTYPE_SYSV)
-+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-+ #endif
-+ #if defined (SYSTYPE_SVR4)
-+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
-+ #endif
-+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
-+ #endif
-+ #endif
-+ exit (-1);
-+ }
-+EOF
-+ $CC_FOR_BUILD -o $dummy $dummy.c &&
-+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-+ SYSTEM_NAME=`$dummy $dummyarg` &&
-+ { echo "$SYSTEM_NAME"; exit; }
-+ echo mips-mips-riscos${UNAME_RELEASE}
-+ exit ;;
-+ Motorola:PowerMAX_OS:*:*)
-+ echo powerpc-motorola-powermax
-+ exit ;;
-+ Motorola:*:4.3:PL8-*)
-+ echo powerpc-harris-powermax
-+ exit ;;
-+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-+ echo powerpc-harris-powermax
-+ exit ;;
-+ Night_Hawk:Power_UNIX:*:*)
-+ echo powerpc-harris-powerunix
-+ exit ;;
-+ m88k:CX/UX:7*:*)
-+ echo m88k-harris-cxux7
-+ exit ;;
-+ m88k:*:4*:R4*)
-+ echo m88k-motorola-sysv4
-+ exit ;;
-+ m88k:*:3*:R3*)
-+ echo m88k-motorola-sysv3
-+ exit ;;
-+ AViiON:dgux:*:*)
-+ # DG/UX returns AViiON for all architectures
-+ UNAME_PROCESSOR=`/usr/bin/uname -p`
-+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-+ then
-+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-+ [ ${TARGET_BINARY_INTERFACE}x = x ]
-+ then
-+ echo m88k-dg-dgux${UNAME_RELEASE}
-+ else
-+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
-+ fi
-+ else
-+ echo i586-dg-dgux${UNAME_RELEASE}
-+ fi
-+ exit ;;
-+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
-+ echo m88k-dolphin-sysv3
-+ exit ;;
-+ M88*:*:R3*:*)
-+ # Delta 88k system running SVR3
-+ echo m88k-motorola-sysv3
-+ exit ;;
-+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-+ echo m88k-tektronix-sysv3
-+ exit ;;
-+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-+ echo m68k-tektronix-bsd
-+ exit ;;
-+ *:IRIX*:*:*)
-+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-+ exit ;;
-+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
-+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
-+ i*86:AIX:*:*)
-+ echo i386-ibm-aix
-+ exit ;;
-+ ia64:AIX:*:*)
-+ if [ -x /usr/bin/oslevel ] ; then
-+ IBM_REV=`/usr/bin/oslevel`
-+ else
-+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-+ fi
-+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-+ exit ;;
-+ *:AIX:2:3)
-+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-+ eval $set_cc_for_build
-+ sed 's/^ //' << EOF >$dummy.c
-+ #include <sys/systemcfg.h>
-+
-+ main()
-+ {
-+ if (!__power_pc())
-+ exit(1);
-+ puts("powerpc-ibm-aix3.2.5");
-+ exit(0);
-+ }
-+EOF
-+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
-+ then
-+ echo "$SYSTEM_NAME"
-+ else
-+ echo rs6000-ibm-aix3.2.5
-+ fi
-+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-+ echo rs6000-ibm-aix3.2.4
-+ else
-+ echo rs6000-ibm-aix3.2
-+ fi
-+ exit ;;
-+ *:AIX:*:[4567])
-+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
-+ IBM_ARCH=rs6000
-+ else
-+ IBM_ARCH=powerpc
-+ fi
-+ if [ -x /usr/bin/oslevel ] ; then
-+ IBM_REV=`/usr/bin/oslevel`
-+ else
-+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-+ fi
-+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-+ exit ;;
-+ *:AIX:*:*)
-+ echo rs6000-ibm-aix
-+ exit ;;
-+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-+ echo romp-ibm-bsd4.4
-+ exit ;;
-+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
-+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
-+ exit ;; # report: romp-ibm BSD 4.3
-+ *:BOSX:*:*)
-+ echo rs6000-bull-bosx
-+ exit ;;
-+ DPX/2?00:B.O.S.:*:*)
-+ echo m68k-bull-sysv3
-+ exit ;;
-+ 9000/[34]??:4.3bsd:1.*:*)
-+ echo m68k-hp-bsd
-+ exit ;;
-+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-+ echo m68k-hp-bsd4.4
-+ exit ;;
-+ 9000/[34678]??:HP-UX:*:*)
-+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-+ case "${UNAME_MACHINE}" in
-+ 9000/31? ) HP_ARCH=m68000 ;;
-+ 9000/[34]?? ) HP_ARCH=m68k ;;
-+ 9000/[678][0-9][0-9])
-+ if [ -x /usr/bin/getconf ]; then
-+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-+ case "${sc_cpu_version}" in
-+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-+ 532) # CPU_PA_RISC2_0
-+ case "${sc_kernel_bits}" in
-+ 32) HP_ARCH="hppa2.0n" ;;
-+ 64) HP_ARCH="hppa2.0w" ;;
-+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
-+ esac ;;
-+ esac
-+ fi
-+ if [ "${HP_ARCH}" = "" ]; then
-+ eval $set_cc_for_build
-+ sed 's/^ //' << EOF >$dummy.c
-+
-+ #define _HPUX_SOURCE
-+ #include <stdlib.h>
-+ #include <unistd.h>
-+
-+ int main ()
-+ {
-+ #if defined(_SC_KERNEL_BITS)
-+ long bits = sysconf(_SC_KERNEL_BITS);
-+ #endif
-+ long cpu = sysconf (_SC_CPU_VERSION);
-+
-+ switch (cpu)
-+ {
-+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-+ case CPU_PA_RISC2_0:
-+ #if defined(_SC_KERNEL_BITS)
-+ switch (bits)
-+ {
-+ case 64: puts ("hppa2.0w"); break;
-+ case 32: puts ("hppa2.0n"); break;
-+ default: puts ("hppa2.0"); break;
-+ } break;
-+ #else /* !defined(_SC_KERNEL_BITS) */
-+ puts ("hppa2.0"); break;
-+ #endif
-+ default: puts ("hppa1.0"); break;
-+ }
-+ exit (0);
-+ }
-+EOF
-+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
-+ test -z "$HP_ARCH" && HP_ARCH=hppa
-+ fi ;;
-+ esac
-+ if [ ${HP_ARCH} = "hppa2.0w" ]
-+ then
-+ eval $set_cc_for_build
-+
-+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
-+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
-+ # generating 64-bit code. GNU and HP use different nomenclature:
-+ #
-+ # $ CC_FOR_BUILD=cc ./config.guess
-+ # => hppa2.0w-hp-hpux11.23
-+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
-+ # => hppa64-hp-hpux11.23
-+
-+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
-+ grep -q __LP64__
-+ then
-+ HP_ARCH="hppa2.0w"
-+ else
-+ HP_ARCH="hppa64"
-+ fi
-+ fi
-+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-+ exit ;;
-+ ia64:HP-UX:*:*)
-+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-+ echo ia64-hp-hpux${HPUX_REV}
-+ exit ;;
-+ 3050*:HI-UX:*:*)
-+ eval $set_cc_for_build
-+ sed 's/^ //' << EOF >$dummy.c
-+ #include <unistd.h>
-+ int
-+ main ()
-+ {
-+ long cpu = sysconf (_SC_CPU_VERSION);
-+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
-+ results, however. */
-+ if (CPU_IS_PA_RISC (cpu))
-+ {
-+ switch (cpu)
-+ {
-+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-+ default: puts ("hppa-hitachi-hiuxwe2"); break;
-+ }
-+ }
-+ else if (CPU_IS_HP_MC68K (cpu))
-+ puts ("m68k-hitachi-hiuxwe2");
-+ else puts ("unknown-hitachi-hiuxwe2");
-+ exit (0);
-+ }
-+EOF
-+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
-+ { echo "$SYSTEM_NAME"; exit; }
-+ echo unknown-hitachi-hiuxwe2
-+ exit ;;
-+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-+ echo hppa1.1-hp-bsd
-+ exit ;;
-+ 9000/8??:4.3bsd:*:*)
-+ echo hppa1.0-hp-bsd
-+ exit ;;
-+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
-+ echo hppa1.0-hp-mpeix
-+ exit ;;
-+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-+ echo hppa1.1-hp-osf
-+ exit ;;
-+ hp8??:OSF1:*:*)
-+ echo hppa1.0-hp-osf
-+ exit ;;
-+ i*86:OSF1:*:*)
-+ if [ -x /usr/sbin/sysversion ] ; then
-+ echo ${UNAME_MACHINE}-unknown-osf1mk
-+ else
-+ echo ${UNAME_MACHINE}-unknown-osf1
-+ fi
-+ exit ;;
-+ parisc*:Lites*:*:*)
-+ echo hppa1.1-hp-lites
-+ exit ;;
-+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-+ echo c1-convex-bsd
-+ exit ;;
-+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-+ if getsysinfo -f scalar_acc
-+ then echo c32-convex-bsd
-+ else echo c2-convex-bsd
-+ fi
-+ exit ;;
-+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-+ echo c34-convex-bsd
-+ exit ;;
-+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-+ echo c38-convex-bsd
-+ exit ;;
-+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-+ echo c4-convex-bsd
-+ exit ;;
-+ CRAY*Y-MP:*:*:*)
-+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-+ exit ;;
-+ CRAY*[A-Z]90:*:*:*)
-+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
-+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-+ -e 's/\.[^.]*$/.X/'
-+ exit ;;
-+ CRAY*TS:*:*:*)
-+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-+ exit ;;
-+ CRAY*T3E:*:*:*)
-+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-+ exit ;;
-+ CRAY*SV1:*:*:*)
-+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-+ exit ;;
-+ *:UNICOS/mp:*:*)
-+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-+ exit ;;
-+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-+ exit ;;
-+ 5000:UNIX_System_V:4.*:*)
-+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-+ exit ;;
-+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-+ exit ;;
-+ sparc*:BSD/OS:*:*)
-+ echo sparc-unknown-bsdi${UNAME_RELEASE}
-+ exit ;;
-+ *:BSD/OS:*:*)
-+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-+ exit ;;
-+ *:FreeBSD:*:*)
-+ UNAME_PROCESSOR=`/usr/bin/uname -p`
-+ case ${UNAME_PROCESSOR} in
-+ amd64)
-+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-+ *)
-+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-+ esac
-+ exit ;;
-+ i*:CYGWIN*:*)
-+ echo ${UNAME_MACHINE}-pc-cygwin
-+ exit ;;
-+ *:MINGW*:*)
-+ echo ${UNAME_MACHINE}-pc-mingw32
-+ exit ;;
-+ i*:MSYS*:*)
-+ echo ${UNAME_MACHINE}-pc-msys
-+ exit ;;
-+ i*:windows32*:*)
-+ # uname -m includes "-pc" on this system.
-+ echo ${UNAME_MACHINE}-mingw32
-+ exit ;;
-+ i*:PW*:*)
-+ echo ${UNAME_MACHINE}-pc-pw32
-+ exit ;;
-+ *:Interix*:*)
-+ case ${UNAME_MACHINE} in
-+ x86)
-+ echo i586-pc-interix${UNAME_RELEASE}
-+ exit ;;
-+ authenticamd | genuineintel | EM64T)
-+ echo x86_64-unknown-interix${UNAME_RELEASE}
-+ exit ;;
-+ IA64)
-+ echo ia64-unknown-interix${UNAME_RELEASE}
-+ exit ;;
-+ esac ;;
-+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-+ echo i${UNAME_MACHINE}-pc-mks
-+ exit ;;
-+ 8664:Windows_NT:*)
-+ echo x86_64-pc-mks
-+ exit ;;
-+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-+ # How do we know it's Interix rather than the generic POSIX subsystem?
-+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-+ # UNAME_MACHINE based on the output of uname instead of i386?
-+ echo i586-pc-interix
-+ exit ;;
-+ i*:UWIN*:*)
-+ echo ${UNAME_MACHINE}-pc-uwin
-+ exit ;;
-+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-+ echo x86_64-unknown-cygwin
-+ exit ;;
-+ p*:CYGWIN*:*)
-+ echo powerpcle-unknown-cygwin
-+ exit ;;
-+ prep*:SunOS:5.*:*)
-+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-+ exit ;;
-+ *:GNU:*:*)
-+ # the GNU system
-+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-+ exit ;;
-+ *:GNU/*:*:*)
-+ # other systems with GNU libc and userland
-+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
-+ exit ;;
-+ i*86:Minix:*:*)
-+ echo ${UNAME_MACHINE}-pc-minix
-+ exit ;;
-+ aarch64:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ aarch64_be:Linux:*:*)
-+ UNAME_MACHINE=aarch64_be
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ alpha:Linux:*:*)
-+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
-+ EV5) UNAME_MACHINE=alphaev5 ;;
-+ EV56) UNAME_MACHINE=alphaev56 ;;
-+ PCA56) UNAME_MACHINE=alphapca56 ;;
-+ PCA57) UNAME_MACHINE=alphapca56 ;;
-+ EV6) UNAME_MACHINE=alphaev6 ;;
-+ EV67) UNAME_MACHINE=alphaev67 ;;
-+ EV68*) UNAME_MACHINE=alphaev68 ;;
-+ esac
-+ objdump --private-headers /bin/sh | grep -q ld.so.1
-+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-+ exit ;;
-+ arm*:Linux:*:*)
-+ eval $set_cc_for_build
-+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
-+ | grep -q __ARM_EABI__
-+ then
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ else
-+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
-+ | grep -q __ARM_PCS_VFP
-+ then
-+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
-+ else
-+ echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
-+ fi
-+ fi
-+ exit ;;
-+ avr32*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ cris:Linux:*:*)
-+ echo ${UNAME_MACHINE}-axis-linux-gnu
-+ exit ;;
-+ crisv32:Linux:*:*)
-+ echo ${UNAME_MACHINE}-axis-linux-gnu
-+ exit ;;
-+ frv:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ hexagon:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ i*86:Linux:*:*)
-+ LIBC=gnu
-+ eval $set_cc_for_build
-+ sed 's/^ //' << EOF >$dummy.c
-+ #ifdef __dietlibc__
-+ LIBC=dietlibc
-+ #endif
-+EOF
-+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
-+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
-+ exit ;;
-+ ia64:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ m32r*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ m68*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ mips:Linux:*:* | mips64:Linux:*:*)
-+ eval $set_cc_for_build
-+ sed 's/^ //' << EOF >$dummy.c
-+ #undef CPU
-+ #undef ${UNAME_MACHINE}
-+ #undef ${UNAME_MACHINE}el
-+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-+ CPU=${UNAME_MACHINE}el
-+ #else
-+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-+ CPU=${UNAME_MACHINE}
-+ #else
-+ CPU=
-+ #endif
-+ #endif
-+EOF
-+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
-+ ;;
-+ or32:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ padre:Linux:*:*)
-+ echo sparc-unknown-linux-gnu
-+ exit ;;
-+ parisc64:Linux:*:* | hppa64:Linux:*:*)
-+ echo hppa64-unknown-linux-gnu
-+ exit ;;
-+ parisc:Linux:*:* | hppa:Linux:*:*)
-+ # Look for CPU level
-+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-+ PA7*) echo hppa1.1-unknown-linux-gnu ;;
-+ PA8*) echo hppa2.0-unknown-linux-gnu ;;
-+ *) echo hppa-unknown-linux-gnu ;;
-+ esac
-+ exit ;;
-+ ppc64:Linux:*:*)
-+ echo powerpc64-unknown-linux-gnu
-+ exit ;;
-+ ppc:Linux:*:*)
-+ echo powerpc-unknown-linux-gnu
-+ exit ;;
-+ s390:Linux:*:* | s390x:Linux:*:*)
-+ echo ${UNAME_MACHINE}-ibm-linux
-+ exit ;;
-+ sh64*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ sh*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ sparc:Linux:*:* | sparc64:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ tile*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ vax:Linux:*:*)
-+ echo ${UNAME_MACHINE}-dec-linux-gnu
-+ exit ;;
-+ x86_64:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ xtensa*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ i*86:DYNIX/ptx:4*:*)
-+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
-+ # earlier versions are messed up and put the nodename in both
-+ # sysname and nodename.
-+ echo i386-sequent-sysv4
-+ exit ;;
-+ i*86:UNIX_SV:4.2MP:2.*)
-+ # Unixware is an offshoot of SVR4, but it has its own version
-+ # number series starting with 2...
-+ # I am not positive that other SVR4 systems won't match this,
-+ # I just have to hope. -- rms.
-+ # Use sysv4.2uw... so that sysv4* matches it.
-+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-+ exit ;;
-+ i*86:OS/2:*:*)
-+ # If we were able to find `uname', then EMX Unix compatibility
-+ # is probably installed.
-+ echo ${UNAME_MACHINE}-pc-os2-emx
-+ exit ;;
-+ i*86:XTS-300:*:STOP)
-+ echo ${UNAME_MACHINE}-unknown-stop
-+ exit ;;
-+ i*86:atheos:*:*)
-+ echo ${UNAME_MACHINE}-unknown-atheos
-+ exit ;;
-+ i*86:syllable:*:*)
-+ echo ${UNAME_MACHINE}-pc-syllable
-+ exit ;;
-+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
-+ echo i386-unknown-lynxos${UNAME_RELEASE}
-+ exit ;;
-+ i*86:*DOS:*:*)
-+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
-+ exit ;;
-+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
-+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
-+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
-+ else
-+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
-+ fi
-+ exit ;;
-+ i*86:*:5:[678]*)
-+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
-+ case `/bin/uname -X | grep "^Machine"` in
-+ *486*) UNAME_MACHINE=i486 ;;
-+ *Pentium) UNAME_MACHINE=i586 ;;
-+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
-+ esac
-+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
-+ exit ;;
-+ i*86:*:3.2:*)
-+ if test -f /usr/options/cb.name; then
-+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
-+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
-+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
-+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
-+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
-+ && UNAME_MACHINE=i586
-+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
-+ && UNAME_MACHINE=i686
-+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
-+ && UNAME_MACHINE=i686
-+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
-+ else
-+ echo ${UNAME_MACHINE}-pc-sysv32
-+ fi
-+ exit ;;
-+ pc:*:*:*)
-+ # Left here for compatibility:
-+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
-+ # the processor, so we play safe by assuming i586.
-+ # Note: whatever this is, it MUST be the same as what config.sub
-+ # prints for the "djgpp" host, or else GDB configury will decide that
-+ # this is a cross-build.
-+ echo i586-pc-msdosdjgpp
-+ exit ;;
-+ Intel:Mach:3*:*)
-+ echo i386-pc-mach3
-+ exit ;;
-+ paragon:*:*:*)
-+ echo i860-intel-osf1
-+ exit ;;
-+ i860:*:4.*:*) # i860-SVR4
-+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
-+ else # Add other i860-SVR4 vendors below as they are discovered.
-+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
-+ fi
-+ exit ;;
-+ mini*:CTIX:SYS*5:*)
-+ # "miniframe"
-+ echo m68010-convergent-sysv
-+ exit ;;
-+ mc68k:UNIX:SYSTEM5:3.51m)
-+ echo m68k-convergent-sysv
-+ exit ;;
-+ M680?0:D-NIX:5.3:*)
-+ echo m68k-diab-dnix
-+ exit ;;
-+ M68*:*:R3V[5678]*:*)
-+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
-+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
-+ OS_REL=''
-+ test -r /etc/.relid \
-+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
-+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-+ && { echo i486-ncr-sysv4; exit; } ;;
-+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
-+ OS_REL='.3'
-+ test -r /etc/.relid \
-+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
-+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
-+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
-+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-+ echo m68k-unknown-lynxos${UNAME_RELEASE}
-+ exit ;;
-+ mc68030:UNIX_System_V:4.*:*)
-+ echo m68k-atari-sysv4
-+ exit ;;
-+ TSUNAMI:LynxOS:2.*:*)
-+ echo sparc-unknown-lynxos${UNAME_RELEASE}
-+ exit ;;
-+ rs6000:LynxOS:2.*:*)
-+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
-+ exit ;;
-+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
-+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
-+ exit ;;
-+ SM[BE]S:UNIX_SV:*:*)
-+ echo mips-dde-sysv${UNAME_RELEASE}
-+ exit ;;
-+ RM*:ReliantUNIX-*:*:*)
-+ echo mips-sni-sysv4
-+ exit ;;
-+ RM*:SINIX-*:*:*)
-+ echo mips-sni-sysv4
-+ exit ;;
-+ *:SINIX-*:*:*)
-+ if uname -p 2>/dev/null >/dev/null ; then
-+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
-+ echo ${UNAME_MACHINE}-sni-sysv4
-+ else
-+ echo ns32k-sni-sysv
-+ fi
-+ exit ;;
-+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-+ # says <Richard.M.Bartel@ccMail.Census.GOV>
-+ echo i586-unisys-sysv4
-+ exit ;;
-+ *:UNIX_System_V:4*:FTX*)
-+ # From Gerald Hewes <hewes@openmarket.com>.
-+ # How about differentiating between stratus architectures? -djm
-+ echo hppa1.1-stratus-sysv4
-+ exit ;;
-+ *:*:*:FTX*)
-+ # From seanf@swdc.stratus.com.
-+ echo i860-stratus-sysv4
-+ exit ;;
-+ i*86:VOS:*:*)
-+ # From Paul.Green@stratus.com.
-+ echo ${UNAME_MACHINE}-stratus-vos
-+ exit ;;
-+ *:VOS:*:*)
-+ # From Paul.Green@stratus.com.
-+ echo hppa1.1-stratus-vos
-+ exit ;;
-+ mc68*:A/UX:*:*)
-+ echo m68k-apple-aux${UNAME_RELEASE}
-+ exit ;;
-+ news*:NEWS-OS:6*:*)
-+ echo mips-sony-newsos6
-+ exit ;;
-+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-+ if [ -d /usr/nec ]; then
-+ echo mips-nec-sysv${UNAME_RELEASE}
-+ else
-+ echo mips-unknown-sysv${UNAME_RELEASE}
-+ fi
-+ exit ;;
-+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
-+ echo powerpc-be-beos
-+ exit ;;
-+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
-+ echo powerpc-apple-beos
-+ exit ;;
-+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
-+ echo i586-pc-beos
-+ exit ;;
-+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
-+ echo i586-pc-haiku
-+ exit ;;
-+ SX-4:SUPER-UX:*:*)
-+ echo sx4-nec-superux${UNAME_RELEASE}
-+ exit ;;
-+ SX-5:SUPER-UX:*:*)
-+ echo sx5-nec-superux${UNAME_RELEASE}
-+ exit ;;
-+ SX-6:SUPER-UX:*:*)
-+ echo sx6-nec-superux${UNAME_RELEASE}
-+ exit ;;
-+ SX-7:SUPER-UX:*:*)
-+ echo sx7-nec-superux${UNAME_RELEASE}
-+ exit ;;
-+ SX-8:SUPER-UX:*:*)
-+ echo sx8-nec-superux${UNAME_RELEASE}
-+ exit ;;
-+ SX-8R:SUPER-UX:*:*)
-+ echo sx8r-nec-superux${UNAME_RELEASE}
-+ exit ;;
-+ Power*:Rhapsody:*:*)
-+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
-+ exit ;;
-+ *:Rhapsody:*:*)
-+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-+ exit ;;
-+ *:Darwin:*:*)
-+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-+ case $UNAME_PROCESSOR in
-+ i386)
-+ eval $set_cc_for_build
-+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-+ grep IS_64BIT_ARCH >/dev/null
-+ then
-+ UNAME_PROCESSOR="x86_64"
-+ fi
-+ fi ;;
-+ unknown) UNAME_PROCESSOR=powerpc ;;
-+ esac
-+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
-+ exit ;;
-+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
-+ UNAME_PROCESSOR=`uname -p`
-+ if test "$UNAME_PROCESSOR" = "x86"; then
-+ UNAME_PROCESSOR=i386
-+ UNAME_MACHINE=pc
-+ fi
-+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
-+ exit ;;
-+ *:QNX:*:4*)
-+ echo i386-pc-qnx
-+ exit ;;
-+ NEO-?:NONSTOP_KERNEL:*:*)
-+ echo neo-tandem-nsk${UNAME_RELEASE}
-+ exit ;;
-+ NSE-?:NONSTOP_KERNEL:*:*)
-+ echo nse-tandem-nsk${UNAME_RELEASE}
-+ exit ;;
-+ NSR-?:NONSTOP_KERNEL:*:*)
-+ echo nsr-tandem-nsk${UNAME_RELEASE}
-+ exit ;;
-+ *:NonStop-UX:*:*)
-+ echo mips-compaq-nonstopux
-+ exit ;;
-+ BS2000:POSIX*:*:*)
-+ echo bs2000-siemens-sysv
-+ exit ;;
-+ DS/*:UNIX_System_V:*:*)
-+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-+ exit ;;
-+ *:Plan9:*:*)
-+ # "uname -m" is not consistent, so use $cputype instead. 386
-+ # is converted to i386 for consistency with other x86
-+ # operating systems.
-+ if test "$cputype" = "386"; then
-+ UNAME_MACHINE=i386
-+ else
-+ UNAME_MACHINE="$cputype"
-+ fi
-+ echo ${UNAME_MACHINE}-unknown-plan9
-+ exit ;;
-+ *:TOPS-10:*:*)
-+ echo pdp10-unknown-tops10
-+ exit ;;
-+ *:TENEX:*:*)
-+ echo pdp10-unknown-tenex
-+ exit ;;
-+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-+ echo pdp10-dec-tops20
-+ exit ;;
-+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-+ echo pdp10-xkl-tops20
-+ exit ;;
-+ *:TOPS-20:*:*)
-+ echo pdp10-unknown-tops20
-+ exit ;;
-+ *:ITS:*:*)
-+ echo pdp10-unknown-its
-+ exit ;;
-+ SEI:*:*:SEIUX)
-+ echo mips-sei-seiux${UNAME_RELEASE}
-+ exit ;;
-+ *:DragonFly:*:*)
-+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-+ exit ;;
-+ *:*VMS:*:*)
-+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
-+ case "${UNAME_MACHINE}" in
-+ A*) echo alpha-dec-vms ; exit ;;
-+ I*) echo ia64-dec-vms ; exit ;;
-+ V*) echo vax-dec-vms ; exit ;;
-+ esac ;;
-+ *:XENIX:*:SysV)
-+ echo i386-pc-xenix
-+ exit ;;
-+ i*86:skyos:*:*)
-+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
-+ exit ;;
-+ i*86:rdos:*:*)
-+ echo ${UNAME_MACHINE}-pc-rdos
-+ exit ;;
-+ i*86:AROS:*:*)
-+ echo ${UNAME_MACHINE}-pc-aros
-+ exit ;;
-+ x86_64:VMkernel:*:*)
-+ echo ${UNAME_MACHINE}-unknown-esx
-+ exit ;;
-+esac
-+
-+#echo '(No uname command or uname output not recognized.)' 1>&2
-+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-+
-+eval $set_cc_for_build
-+cat >$dummy.c <<EOF
-+#ifdef _SEQUENT_
-+# include <sys/types.h>
-+# include <sys/utsname.h>
-+#endif
-+main ()
-+{
-+#if defined (sony)
-+#if defined (MIPSEB)
-+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
-+ I don't know.... */
-+ printf ("mips-sony-bsd\n"); exit (0);
-+#else
-+#include <sys/param.h>
-+ printf ("m68k-sony-newsos%s\n",
-+#ifdef NEWSOS4
-+ "4"
-+#else
-+ ""
-+#endif
-+ ); exit (0);
-+#endif
-+#endif
-+
-+#if defined (__arm) && defined (__acorn) && defined (__unix)
-+ printf ("arm-acorn-riscix\n"); exit (0);
-+#endif
-+
-+#if defined (hp300) && !defined (hpux)
-+ printf ("m68k-hp-bsd\n"); exit (0);
-+#endif
-+
-+#if defined (NeXT)
-+#if !defined (__ARCHITECTURE__)
-+#define __ARCHITECTURE__ "m68k"
-+#endif
-+ int version;
-+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-+ if (version < 4)
-+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-+ else
-+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-+ exit (0);
-+#endif
-+
-+#if defined (MULTIMAX) || defined (n16)
-+#if defined (UMAXV)
-+ printf ("ns32k-encore-sysv\n"); exit (0);
-+#else
-+#if defined (CMU)
-+ printf ("ns32k-encore-mach\n"); exit (0);
-+#else
-+ printf ("ns32k-encore-bsd\n"); exit (0);
-+#endif
-+#endif
-+#endif
-+
-+#if defined (__386BSD__)
-+ printf ("i386-pc-bsd\n"); exit (0);
-+#endif
-+
-+#if defined (sequent)
-+#if defined (i386)
-+ printf ("i386-sequent-dynix\n"); exit (0);
-+#endif
-+#if defined (ns32000)
-+ printf ("ns32k-sequent-dynix\n"); exit (0);
-+#endif
-+#endif
-+
-+#if defined (_SEQUENT_)
-+ struct utsname un;
-+
-+ uname(&un);
-+
-+ if (strncmp(un.version, "V2", 2) == 0) {
-+ printf ("i386-sequent-ptx2\n"); exit (0);
-+ }
-+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-+ printf ("i386-sequent-ptx1\n"); exit (0);
-+ }
-+ printf ("i386-sequent-ptx\n"); exit (0);
-+
-+#endif
-+
-+#if defined (vax)
-+# if !defined (ultrix)
-+# include <sys/param.h>
-+# if defined (BSD)
-+# if BSD == 43
-+ printf ("vax-dec-bsd4.3\n"); exit (0);
-+# else
-+# if BSD == 199006
-+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
-+# else
-+ printf ("vax-dec-bsd\n"); exit (0);
-+# endif
-+# endif
-+# else
-+ printf ("vax-dec-bsd\n"); exit (0);
-+# endif
-+# else
-+ printf ("vax-dec-ultrix\n"); exit (0);
-+# endif
-+#endif
-+
-+#if defined (alliant) && defined (i860)
-+ printf ("i860-alliant-bsd\n"); exit (0);
-+#endif
-+
-+ exit (1);
-+}
-+EOF
-+
-+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
-+ { echo "$SYSTEM_NAME"; exit; }
-+
-+# Apollos put the system type in the environment.
-+
-+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-+
-+# Convex versions that predate uname can use getsysinfo(1)
-+
-+if [ -x /usr/convex/getsysinfo ]
-+then
-+ case `getsysinfo -f cpu_type` in
-+ c1*)
-+ echo c1-convex-bsd
-+ exit ;;
-+ c2*)
-+ if getsysinfo -f scalar_acc
-+ then echo c32-convex-bsd
-+ else echo c2-convex-bsd
-+ fi
-+ exit ;;
-+ c34*)
-+ echo c34-convex-bsd
-+ exit ;;
-+ c38*)
-+ echo c38-convex-bsd
-+ exit ;;
-+ c4*)
-+ echo c4-convex-bsd
-+ exit ;;
-+ esac
-+fi
-+
-+cat >&2 <<EOF
-+$0: unable to guess system type
-+
-+This script, last modified $timestamp, has failed to recognize
-+the operating system you are using. It is advised that you
-+download the most up to date version of the config scripts from
-+
-+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-+and
-+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-+
-+If the version you run ($0) is already up to date, please
-+send the following data and any information you think might be
-+pertinent to <config-patches@gnu.org> in order to provide the needed
-+information to handle your system.
-+
-+config.guess timestamp = $timestamp
-+
-+uname -m = `(uname -m) 2>/dev/null || echo unknown`
-+uname -r = `(uname -r) 2>/dev/null || echo unknown`
-+uname -s = `(uname -s) 2>/dev/null || echo unknown`
-+uname -v = `(uname -v) 2>/dev/null || echo unknown`
-+
-+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-+
-+hostinfo = `(hostinfo) 2>/dev/null`
-+/bin/universe = `(/bin/universe) 2>/dev/null`
-+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-+/bin/arch = `(/bin/arch) 2>/dev/null`
-+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-+
-+UNAME_MACHINE = ${UNAME_MACHINE}
-+UNAME_RELEASE = ${UNAME_RELEASE}
-+UNAME_SYSTEM = ${UNAME_SYSTEM}
-+UNAME_VERSION = ${UNAME_VERSION}
-+EOF
-+
-+exit 1
-+
-+# Local variables:
-+# eval: (add-hook 'write-file-hooks 'time-stamp)
-+# time-stamp-start: "timestamp='"
-+# time-stamp-format: "%:y-%02m-%02d"
-+# time-stamp-end: "'"
-+# End:
-diff --git a/libclamav/libmspack-0.4alpha/config.h.in b/libclamav/libmspack-0.4alpha/config.h.in
-new file mode 100644
-index 000000000000..3c763df74f7a
---- /dev/null
-+++ b/libclamav/libmspack-0.4alpha/config.h.in
-@@ -0,0 +1,113 @@
-+/* config.h.in. Generated from configure.ac by autoheader. */
-+
-+/* Turn debugging mode on? */
-+#undef DEBUG
-+
-+/* Define to 1 if you have the <ctype.h> header file. */
-+#undef HAVE_CTYPE_H
-+
-+/* Define to 1 if you have the <dlfcn.h> header file. */
-+#undef HAVE_DLFCN_H
-+
-+/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
-+#undef HAVE_FSEEKO
-+
-+/* Define to 1 if you have the <inttypes.h> header file. */
-+#undef HAVE_INTTYPES_H
-+
-+/* Define to 1 if you have the <limits.h> header file. */
-+#undef HAVE_LIMITS_H
-+
-+/* Define to 1 if you have the <memory.h> header file. */
-+#undef HAVE_MEMORY_H
-+
-+/* Define to 1 if you have the <stdint.h> header file. */
-+#undef HAVE_STDINT_H
-+
-+/* Define to 1 if you have the <stdlib.h> header file. */
-+#undef HAVE_STDLIB_H
-+
-+/* Define to 1 if you have the <strings.h> header file. */
-+#undef HAVE_STRINGS_H
-+
-+/* Define to 1 if you have the <string.h> header file. */
-+#undef HAVE_STRING_H
-+
-+/* Define to 1 if you have the <sys/stat.h> header file. */
-+#undef HAVE_SYS_STAT_H
-+
-+/* Define to 1 if you have the <sys/types.h> header file. */
-+#undef HAVE_SYS_TYPES_H
-+
-+/* Define to 1 if you have the `tolower' function. */
-+#undef HAVE_TOLOWER
-+
-+/* Define to 1 if you have the `towlower' function. */
-+#undef HAVE_TOWLOWER
-+
-+/* Define to 1 if you have the <unistd.h> header file. */
-+#undef HAVE_UNISTD_H
-+
-+/* Define to 1 if you have the <wctype.h> header file. */
-+#undef HAVE_WCTYPE_H
-+
-+/* Define to the sub-directory in which libtool stores uninstalled libraries.
-+ */
-+#undef LT_OBJDIR
-+
-+/* Name of package */
-+#undef PACKAGE
-+
-+/* Define to the address where bug reports for this package should be sent. */
-+#undef PACKAGE_BUGREPORT
-+
-+/* Define to the full name of this package. */
-+#undef PACKAGE_NAME
-+
-+/* Define to the full name and version of this package. */
-+#undef PACKAGE_STRING
-+
-+/* Define to the one symbol short name of this package. */
-+#undef PACKAGE_TARNAME
-+
-+/* Define to the home page for this package. */
-+#undef PACKAGE_URL
-+
-+/* Define to the version of this package. */
-+#undef PACKAGE_VERSION
-+
-+/* The size of `off_t', as computed by sizeof. */
-+#undef SIZEOF_OFF_T
-+
-+/* Define to 1 if you have the ANSI C header files. */
-+#undef STDC_HEADERS
-+
-+/* Version number of package */
-+#undef VERSION
-+
-+/* Number of bits in a file offset, on hosts where this is settable. */
-+#undef _FILE_OFFSET_BITS
-+
-+/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
-+#undef _LARGEFILE_SOURCE
-+
-+/* Define for large files, on AIX-style hosts. */
-+#undef _LARGE_FILES
-+
-+/* Define to empty if `const' does not conform to ANSI C. */
-+#undef const
-+
-+/* Define to `__inline__' or `__inline' if that's what the C compiler
-+ calls it, or to nothing if 'inline' is not supported under any name. */
-+#ifndef __cplusplus
-+#undef inline
-+#endif
-+
-+/* Define to `int' if <sys/types.h> does not define. */
-+#undef mode_t
-+
-+/* Define to `long int' if <sys/types.h> does not define. */
-+#undef off_t
-+
-+/* Define to `unsigned int' if <sys/types.h> does not define. */
-+#undef size_t
-diff --git a/libclamav/libmspack-0.4alpha/config.sub b/libclamav/libmspack-0.4alpha/config.sub
-new file mode 100755
-index 000000000000..c894da45500c
---- /dev/null
-+++ b/libclamav/libmspack-0.4alpha/config.sub
-@@ -0,0 +1,1773 @@
-+#! /bin/sh
-+# Configuration validation subroutine script.
-+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-+# 2011, 2012 Free Software Foundation, Inc.
-+
-+timestamp='2012-02-10'
-+
-+# This file is (in principle) common to ALL GNU software.
-+# The presence of a machine in this file suggests that SOME GNU software
-+# can handle that machine. It does not imply ALL GNU software can.
-+#
-+# This file 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 of the License, 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.
-+
-+
-+# Please send patches to <config-patches@gnu.org>. Submit a context
-+# diff and a properly formatted GNU ChangeLog entry.
-+#
-+# Configuration subroutine to validate and canonicalize a configuration type.
-+# Supply the specified configuration type as an argument.
-+# If it is invalid, we print an error message on stderr and exit with code 1.
-+# Otherwise, we print the canonical config type on stdout and succeed.
-+
-+# You can get the latest version of this script from:
-+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-+
-+# This file is supposed to be the same for all GNU packages
-+# and recognize all the CPU types, system types and aliases
-+# that are meaningful with *any* GNU software.
-+# Each package is responsible for reporting which valid configurations
-+# it does not support. The user should be able to distinguish
-+# a failure to support a valid configuration from a meaningless
-+# configuration.
-+
-+# The goal of this file is to map all the various variations of a given
-+# machine specification into a single specification in the form:
-+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-+# or in some cases, the newer four-part form:
-+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-+# It is wrong to echo any other type of specification.
-+
-+me=`echo "$0" | sed -e 's,.*/,,'`
-+
-+usage="\
-+Usage: $0 [OPTION] CPU-MFR-OPSYS
-+ $0 [OPTION] ALIAS
-+
-+Canonicalize a configuration name.
-+
-+Operation modes:
-+ -h, --help print this help, then exit
-+ -t, --time-stamp print date of last modification, then exit
-+ -v, --version print version number, then exit
-+
-+Report bugs and patches to <config-patches@gnu.org>."
-+
-+version="\
-+GNU config.sub ($timestamp)
-+
-+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-+Free Software Foundation, Inc.
-+
-+This is free software; see the source for copying conditions. There is NO
-+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-+
-+help="
-+Try \`$me --help' for more information."
-+
-+# Parse command line
-+while test $# -gt 0 ; do
-+ case $1 in
-+ --time-stamp | --time* | -t )
-+ echo "$timestamp" ; exit ;;
-+ --version | -v )
-+ echo "$version" ; exit ;;
-+ --help | --h* | -h )
-+ echo "$usage"; exit ;;
-+ -- ) # Stop option processing
-+ shift; break ;;
-+ - ) # Use stdin as input.
-+ break ;;
-+ -* )
-+ echo "$me: invalid option $1$help"
-+ exit 1 ;;
-+
-+ *local*)
-+ # First pass through any local machine types.
-+ echo $1
-+ exit ;;
-+
-+ * )
-+ break ;;
-+ esac
-+done
-+
-+case $# in
-+ 0) echo "$me: missing argument$help" >&2
-+ exit 1;;
-+ 1) ;;
-+ *) echo "$me: too many arguments$help" >&2
-+ exit 1;;
-+esac
-+
-+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-+# Here we must recognize all the valid KERNEL-OS combinations.
-+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-+case $maybe_os in
-+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-+ linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-+ knetbsd*-gnu* | netbsd*-gnu* | \
-+ kopensolaris*-gnu* | \
-+ storm-chaos* | os2-emx* | rtmk-nova*)
-+ os=-$maybe_os
-+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-+ ;;
-+ android-linux)
-+ os=-linux-android
-+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
-+ ;;
-+ *)
-+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-+ if [ $basic_machine != $1 ]
-+ then os=`echo $1 | sed 's/.*-/-/'`
-+ else os=; fi
-+ ;;
-+esac
-+
-+### Let's recognize common machines as not being operating systems so
-+### that things like config.sub decstation-3100 work. We also
-+### recognize some manufacturers as not being operating systems, so we
-+### can provide default operating systems below.
-+case $os in
-+ -sun*os*)
-+ # Prevent following clause from handling this invalid input.
-+ ;;
-+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-+ -apple | -axis | -knuth | -cray | -microblaze)
-+ os=
-+ basic_machine=$1
-+ ;;
-+ -bluegene*)
-+ os=-cnk
-+ ;;
-+ -sim | -cisco | -oki | -wec | -winbond)
-+ os=
-+ basic_machine=$1
-+ ;;
-+ -scout)
-+ ;;
-+ -wrs)
-+ os=-vxworks
-+ basic_machine=$1
-+ ;;
-+ -chorusos*)
-+ os=-chorusos
-+ basic_machine=$1
-+ ;;
-+ -chorusrdb)
-+ os=-chorusrdb
-+ basic_machine=$1
-+ ;;
-+ -hiux*)
-+ os=-hiuxwe2
-+ ;;
-+ -sco6)
-+ os=-sco5v6
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -sco5)
-+ os=-sco3.2v5
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -sco4)
-+ os=-sco3.2v4
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -sco3.2.[4-9]*)
-+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -sco3.2v[4-9]*)
-+ # Don't forget version if it is 3.2v4 or newer.
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -sco5v6*)
-+ # Don't forget version if it is 3.2v4 or newer.
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -sco*)
-+ os=-sco3.2v2
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -udk*)
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -isc)
-+ os=-isc2.2
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -clix*)
-+ basic_machine=clipper-intergraph
-+ ;;
-+ -isc*)
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -lynx*)
-+ os=-lynxos
-+ ;;
-+ -ptx*)
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
-+ ;;
-+ -windowsnt*)
-+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
-+ ;;
-+ -psos*)
-+ os=-psos
-+ ;;
-+ -mint | -mint[0-9]*)
-+ basic_machine=m68k-atari
-+ os=-mint
-+ ;;
-+esac
-+
-+# Decode aliases for certain CPU-COMPANY combinations.
-+case $basic_machine in
-+ # Recognize the basic CPU types without company name.
-+ # Some are omitted here because they have special meanings below.
-+ 1750a | 580 \
-+ | a29k \
-+ | aarch64 | aarch64_be \
-+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
-+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
-+ | am33_2.0 \
-+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-+ | be32 | be64 \
-+ | bfin \
-+ | c4x | clipper \
-+ | d10v | d30v | dlx | dsp16xx \
-+ | epiphany \
-+ | fido | fr30 | frv \
-+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-+ | hexagon \
-+ | i370 | i860 | i960 | ia64 \
-+ | ip2k | iq2000 \
-+ | le32 | le64 \
-+ | lm32 \
-+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
-+ | maxq | mb | microblaze | mcore | mep | metag \
-+ | mips | mipsbe | mipseb | mipsel | mipsle \
-+ | mips16 \
-+ | mips64 | mips64el \
-+ | mips64octeon | mips64octeonel \
-+ | mips64orion | mips64orionel \
-+ | mips64r5900 | mips64r5900el \
-+ | mips64vr | mips64vrel \
-+ | mips64vr4100 | mips64vr4100el \
-+ | mips64vr4300 | mips64vr4300el \
-+ | mips64vr5000 | mips64vr5000el \
-+ | mips64vr5900 | mips64vr5900el \
-+ | mipsisa32 | mipsisa32el \
-+ | mipsisa32r2 | mipsisa32r2el \
-+ | mipsisa64 | mipsisa64el \
-+ | mipsisa64r2 | mipsisa64r2el \
-+ | mipsisa64sb1 | mipsisa64sb1el \
-+ | mipsisa64sr71k | mipsisa64sr71kel \
-+ | mipstx39 | mipstx39el \
-+ | mn10200 | mn10300 \
-+ | moxie \
-+ | mt \
-+ | msp430 \
-+ | nds32 | nds32le | nds32be \
-+ | nios | nios2 \
-+ | ns16k | ns32k \
-+ | open8 \
-+ | or32 \
-+ | pdp10 | pdp11 | pj | pjl \
-+ | powerpc | powerpc64 | powerpc64le | powerpcle \
-+ | pyramid \
-+ | rl78 | rx \
-+ | score \
-+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
-+ | sh64 | sh64le \
-+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
-+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-+ | spu \
-+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
-+ | ubicom32 \
-+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
-+ | we32k \
-+ | x86 | xc16x | xstormy16 | xtensa \
-+ | z8k | z80)
-+ basic_machine=$basic_machine-unknown
-+ ;;
-+ c54x)
-+ basic_machine=tic54x-unknown
-+ ;;
-+ c55x)
-+ basic_machine=tic55x-unknown
-+ ;;
-+ c6x)
-+ basic_machine=tic6x-unknown
-+ ;;
-+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
-+ basic_machine=$basic_machine-unknown
-+ os=-none
-+ ;;
-+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
-+ ;;
-+ ms1)
-+ basic_machine=mt-unknown
-+ ;;
-+
-+ strongarm | thumb | xscale)
-+ basic_machine=arm-unknown
-+ ;;
-+ xgate)
-+ basic_machine=$basic_machine-unknown
-+ os=-none
-+ ;;
-+ xscaleeb)
-+ basic_machine=armeb-unknown
-+ ;;
-+
-+ xscaleel)
-+ basic_machine=armel-unknown
-+ ;;
-+
-+ # We use `pc' rather than `unknown'
-+ # because (1) that's what they normally are, and
-+ # (2) the word "unknown" tends to confuse beginning users.
-+ i*86 | x86_64)
-+ basic_machine=$basic_machine-pc
-+ ;;
-+ # Object if more than one company name word.
-+ *-*-*)
-+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-+ exit 1
-+ ;;
-+ # Recognize the basic CPU types with company name.
-+ 580-* \
-+ | a29k-* \
-+ | aarch64-* | aarch64_be-* \
-+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
-+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
-+ | avr-* | avr32-* \
-+ | be32-* | be64-* \
-+ | bfin-* | bs2000-* \
-+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
-+ | clipper-* | craynv-* | cydra-* \
-+ | d10v-* | d30v-* | dlx-* \
-+ | elxsi-* \
-+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
-+ | h8300-* | h8500-* \
-+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-+ | hexagon-* \
-+ | i*86-* | i860-* | i960-* | ia64-* \
-+ | ip2k-* | iq2000-* \
-+ | le32-* | le64-* \
-+ | lm32-* \
-+ | m32c-* | m32r-* | m32rle-* \
-+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
-+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
-+ | mips16-* \
-+ | mips64-* | mips64el-* \
-+ | mips64octeon-* | mips64octeonel-* \
-+ | mips64orion-* | mips64orionel-* \
-+ | mips64r5900-* | mips64r5900el-* \
-+ | mips64vr-* | mips64vrel-* \
-+ | mips64vr4100-* | mips64vr4100el-* \
-+ | mips64vr4300-* | mips64vr4300el-* \
-+ | mips64vr5000-* | mips64vr5000el-* \
-+ | mips64vr5900-* | mips64vr5900el-* \
-+ | mipsisa32-* | mipsisa32el-* \
-+ | mipsisa32r2-* | mipsisa32r2el-* \
-+ | mipsisa64-* | mipsisa64el-* \
-+ | mipsisa64r2-* | mipsisa64r2el-* \
-+ | mipsisa64sb1-* | mipsisa64sb1el-* \
-+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
-+ | mipstx39-* | mipstx39el-* \
-+ | mmix-* \
-+ | mt-* \
-+ | msp430-* \
-+ | nds32-* | nds32le-* | nds32be-* \
-+ | nios-* | nios2-* \
-+ | none-* | np1-* | ns16k-* | ns32k-* \
-+ | open8-* \
-+ | orion-* \
-+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
-+ | pyramid-* \
-+ | rl78-* | romp-* | rs6000-* | rx-* \
-+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
-+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
-+ | sparclite-* \
-+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
-+ | tahoe-* \
-+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-+ | tile*-* \
-+ | tron-* \
-+ | ubicom32-* \
-+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
-+ | vax-* \
-+ | we32k-* \
-+ | x86-* | x86_64-* | xc16x-* | xps100-* \
-+ | xstormy16-* | xtensa*-* \
-+ | ymp-* \
-+ | z8k-* | z80-*)
-+ ;;
-+ # Recognize the basic CPU types without company name, with glob match.
-+ xtensa*)
-+ basic_machine=$basic_machine-unknown
-+ ;;
-+ # Recognize the various machine names and aliases which stand
-+ # for a CPU type and a company and sometimes even an OS.
-+ 386bsd)
-+ basic_machine=i386-unknown
-+ os=-bsd
-+ ;;
-+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-+ basic_machine=m68000-att
-+ ;;
-+ 3b*)
-+ basic_machine=we32k-att
-+ ;;
-+ a29khif)
-+ basic_machine=a29k-amd
-+ os=-udi
-+ ;;
-+ abacus)
-+ basic_machine=abacus-unknown
-+ ;;
-+ adobe68k)
-+ basic_machine=m68010-adobe
-+ os=-scout
-+ ;;
-+ alliant | fx80)
-+ basic_machine=fx80-alliant
-+ ;;
-+ altos | altos3068)
-+ basic_machine=m68k-altos
-+ ;;
-+ am29k)
-+ basic_machine=a29k-none
-+ os=-bsd
-+ ;;
-+ amd64)
-+ basic_machine=x86_64-pc
-+ ;;
-+ amd64-*)
-+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ amdahl)
-+ basic_machine=580-amdahl
-+ os=-sysv
-+ ;;
-+ amiga | amiga-*)
-+ basic_machine=m68k-unknown
-+ ;;
-+ amigaos | amigados)
-+ basic_machine=m68k-unknown
-+ os=-amigaos
-+ ;;
-+ amigaunix | amix)
-+ basic_machine=m68k-unknown
-+ os=-sysv4
-+ ;;
-+ apollo68)
-+ basic_machine=m68k-apollo
-+ os=-sysv
-+ ;;
-+ apollo68bsd)
-+ basic_machine=m68k-apollo
-+ os=-bsd
-+ ;;
-+ aros)
-+ basic_machine=i386-pc
-+ os=-aros
-+ ;;
-+ aux)
-+ basic_machine=m68k-apple
-+ os=-aux
-+ ;;
-+ balance)
-+ basic_machine=ns32k-sequent
-+ os=-dynix
-+ ;;
-+ blackfin)
-+ basic_machine=bfin-unknown
-+ os=-linux
-+ ;;
-+ blackfin-*)
-+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ os=-linux
-+ ;;
-+ bluegene*)
-+ basic_machine=powerpc-ibm
-+ os=-cnk
-+ ;;
-+ c54x-*)
-+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ c55x-*)
-+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ c6x-*)
-+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ c90)
-+ basic_machine=c90-cray
-+ os=-unicos
-+ ;;
-+ cegcc)
-+ basic_machine=arm-unknown
-+ os=-cegcc
-+ ;;
-+ convex-c1)
-+ basic_machine=c1-convex
-+ os=-bsd
-+ ;;
-+ convex-c2)
-+ basic_machine=c2-convex
-+ os=-bsd
-+ ;;
-+ convex-c32)
-+ basic_machine=c32-convex
-+ os=-bsd
-+ ;;
-+ convex-c34)
-+ basic_machine=c34-convex
-+ os=-bsd
-+ ;;
-+ convex-c38)
-+ basic_machine=c38-convex
-+ os=-bsd
-+ ;;
-+ cray | j90)
-+ basic_machine=j90-cray
-+ os=-unicos
-+ ;;
-+ craynv)
-+ basic_machine=craynv-cray
-+ os=-unicosmp
-+ ;;
-+ cr16 | cr16-*)
-+ basic_machine=cr16-unknown
-+ os=-elf
-+ ;;
-+ crds | unos)
-+ basic_machine=m68k-crds
-+ ;;
-+ crisv32 | crisv32-* | etraxfs*)
-+ basic_machine=crisv32-axis
-+ ;;
-+ cris | cris-* | etrax*)
-+ basic_machine=cris-axis
-+ ;;
-+ crx)
-+ basic_machine=crx-unknown
-+ os=-elf
-+ ;;
-+ da30 | da30-*)
-+ basic_machine=m68k-da30
-+ ;;
-+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-+ basic_machine=mips-dec
-+ ;;
-+ decsystem10* | dec10*)
-+ basic_machine=pdp10-dec
-+ os=-tops10
-+ ;;
-+ decsystem20* | dec20*)
-+ basic_machine=pdp10-dec
-+ os=-tops20
-+ ;;
-+ delta | 3300 | motorola-3300 | motorola-delta \
-+ | 3300-motorola | delta-motorola)
-+ basic_machine=m68k-motorola
-+ ;;
-+ delta88)
-+ basic_machine=m88k-motorola
-+ os=-sysv3
-+ ;;
-+ dicos)
-+ basic_machine=i686-pc
-+ os=-dicos
-+ ;;
-+ djgpp)
-+ basic_machine=i586-pc
-+ os=-msdosdjgpp
-+ ;;
-+ dpx20 | dpx20-*)
-+ basic_machine=rs6000-bull
-+ os=-bosx
-+ ;;
-+ dpx2* | dpx2*-bull)
-+ basic_machine=m68k-bull
-+ os=-sysv3
-+ ;;
-+ ebmon29k)
-+ basic_machine=a29k-amd
-+ os=-ebmon
-+ ;;
-+ elxsi)
-+ basic_machine=elxsi-elxsi
-+ os=-bsd
-+ ;;
-+ encore | umax | mmax)
-+ basic_machine=ns32k-encore
-+ ;;
-+ es1800 | OSE68k | ose68k | ose | OSE)
-+ basic_machine=m68k-ericsson
-+ os=-ose
-+ ;;
-+ fx2800)
-+ basic_machine=i860-alliant
-+ ;;
-+ genix)
-+ basic_machine=ns32k-ns
-+ ;;
-+ gmicro)
-+ basic_machine=tron-gmicro
-+ os=-sysv
-+ ;;
-+ go32)
-+ basic_machine=i386-pc
-+ os=-go32
-+ ;;
-+ h3050r* | hiux*)
-+ basic_machine=hppa1.1-hitachi
-+ os=-hiuxwe2
-+ ;;
-+ h8300hms)
-+ basic_machine=h8300-hitachi
-+ os=-hms
-+ ;;
-+ h8300xray)
-+ basic_machine=h8300-hitachi
-+ os=-xray
-+ ;;
-+ h8500hms)
-+ basic_machine=h8500-hitachi
-+ os=-hms
-+ ;;
-+ harris)
-+ basic_machine=m88k-harris
-+ os=-sysv3
-+ ;;
-+ hp300-*)
-+ basic_machine=m68k-hp
-+ ;;
-+ hp300bsd)
-+ basic_machine=m68k-hp
-+ os=-bsd
-+ ;;
-+ hp300hpux)
-+ basic_machine=m68k-hp
-+ os=-hpux
-+ ;;
-+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
-+ basic_machine=hppa1.0-hp
-+ ;;
-+ hp9k2[0-9][0-9] | hp9k31[0-9])
-+ basic_machine=m68000-hp
-+ ;;
-+ hp9k3[2-9][0-9])
-+ basic_machine=m68k-hp
-+ ;;
-+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
-+ basic_machine=hppa1.0-hp
-+ ;;
-+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
-+ basic_machine=hppa1.1-hp
-+ ;;
-+ hp9k78[0-9] | hp78[0-9])
-+ # FIXME: really hppa2.0-hp
-+ basic_machine=hppa1.1-hp
-+ ;;
-+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
-+ # FIXME: really hppa2.0-hp
-+ basic_machine=hppa1.1-hp
-+ ;;
-+ hp9k8[0-9][13679] | hp8[0-9][13679])
-+ basic_machine=hppa1.1-hp
-+ ;;
-+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
-+ basic_machine=hppa1.0-hp
-+ ;;
-+ hppa-next)
-+ os=-nextstep3
-+ ;;
-+ hppaosf)
-+ basic_machine=hppa1.1-hp
-+ os=-osf
-+ ;;
-+ hppro)
-+ basic_machine=hppa1.1-hp
-+ os=-proelf
-+ ;;
-+ i370-ibm* | ibm*)
-+ basic_machine=i370-ibm
-+ ;;
-+ i*86v32)
-+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-+ os=-sysv32
-+ ;;
-+ i*86v4*)
-+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-+ os=-sysv4
-+ ;;
-+ i*86v)
-+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-+ os=-sysv
-+ ;;
-+ i*86sol2)
-+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-+ os=-solaris2
-+ ;;
-+ i386mach)
-+ basic_machine=i386-mach
-+ os=-mach
-+ ;;
-+ i386-vsta | vsta)
-+ basic_machine=i386-unknown
-+ os=-vsta
-+ ;;
-+ iris | iris4d)
-+ basic_machine=mips-sgi
-+ case $os in
-+ -irix*)
-+ ;;
-+ *)
-+ os=-irix4
-+ ;;
-+ esac
-+ ;;
-+ isi68 | isi)
-+ basic_machine=m68k-isi
-+ os=-sysv
-+ ;;
-+ m68knommu)
-+ basic_machine=m68k-unknown
-+ os=-linux
-+ ;;
-+ m68knommu-*)
-+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ os=-linux
-+ ;;
-+ m88k-omron*)
-+ basic_machine=m88k-omron
-+ ;;
-+ magnum | m3230)
-+ basic_machine=mips-mips
-+ os=-sysv
-+ ;;
-+ merlin)
-+ basic_machine=ns32k-utek
-+ os=-sysv
-+ ;;
-+ microblaze)
-+ basic_machine=microblaze-xilinx
-+ ;;
-+ mingw32)
-+ basic_machine=i386-pc
-+ os=-mingw32
-+ ;;
-+ mingw32ce)
-+ basic_machine=arm-unknown
-+ os=-mingw32ce
-+ ;;
-+ miniframe)
-+ basic_machine=m68000-convergent
-+ ;;
-+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-+ basic_machine=m68k-atari
-+ os=-mint
-+ ;;
-+ mips3*-*)
-+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-+ ;;
-+ mips3*)
-+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-+ ;;
-+ monitor)
-+ basic_machine=m68k-rom68k
-+ os=-coff
-+ ;;
-+ morphos)
-+ basic_machine=powerpc-unknown
-+ os=-morphos
-+ ;;
-+ msdos)
-+ basic_machine=i386-pc
-+ os=-msdos
-+ ;;
-+ ms1-*)
-+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
-+ ;;
-+ msys)
-+ basic_machine=i386-pc
-+ os=-msys
-+ ;;
-+ mvs)
-+ basic_machine=i370-ibm
-+ os=-mvs
-+ ;;
-+ nacl)
-+ basic_machine=le32-unknown
-+ os=-nacl
-+ ;;
-+ ncr3000)
-+ basic_machine=i486-ncr
-+ os=-sysv4
-+ ;;
-+ netbsd386)
-+ basic_machine=i386-unknown
-+ os=-netbsd
-+ ;;
-+ netwinder)
-+ basic_machine=armv4l-rebel
-+ os=-linux
-+ ;;
-+ news | news700 | news800 | news900)
-+ basic_machine=m68k-sony
-+ os=-newsos
-+ ;;
-+ news1000)
-+ basic_machine=m68030-sony
-+ os=-newsos
-+ ;;
-+ news-3600 | risc-news)
-+ basic_machine=mips-sony
-+ os=-newsos
-+ ;;
-+ necv70)
-+ basic_machine=v70-nec
-+ os=-sysv
-+ ;;
-+ next | m*-next )
-+ basic_machine=m68k-next
-+ case $os in
-+ -nextstep* )
-+ ;;
-+ -ns2*)
-+ os=-nextstep2
-+ ;;
-+ *)
-+ os=-nextstep3
-+ ;;
-+ esac
-+ ;;
-+ nh3000)
-+ basic_machine=m68k-harris
-+ os=-cxux
-+ ;;
-+ nh[45]000)
-+ basic_machine=m88k-harris
-+ os=-cxux
-+ ;;
-+ nindy960)
-+ basic_machine=i960-intel
-+ os=-nindy
-+ ;;
-+ mon960)
-+ basic_machine=i960-intel
-+ os=-mon960
-+ ;;
-+ nonstopux)
-+ basic_machine=mips-compaq
-+ os=-nonstopux
-+ ;;
-+ np1)
-+ basic_machine=np1-gould
-+ ;;
-+ neo-tandem)
-+ basic_machine=neo-tandem
-+ ;;
-+ nse-tandem)
-+ basic_machine=nse-tandem
-+ ;;
-+ nsr-tandem)
-+ basic_machine=nsr-tandem
-+ ;;
-+ op50n-* | op60c-*)
-+ basic_machine=hppa1.1-oki
-+ os=-proelf
-+ ;;
-+ openrisc | openrisc-*)
-+ basic_machine=or32-unknown
-+ ;;
-+ os400)
-+ basic_machine=powerpc-ibm
-+ os=-os400
-+ ;;
-+ OSE68000 | ose68000)
-+ basic_machine=m68000-ericsson
-+ os=-ose
-+ ;;
-+ os68k)
-+ basic_machine=m68k-none
-+ os=-os68k
-+ ;;
-+ pa-hitachi)
-+ basic_machine=hppa1.1-hitachi
-+ os=-hiuxwe2
-+ ;;
-+ paragon)
-+ basic_machine=i860-intel
-+ os=-osf
-+ ;;
-+ parisc)
-+ basic_machine=hppa-unknown
-+ os=-linux
-+ ;;
-+ parisc-*)
-+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ os=-linux
-+ ;;
-+ pbd)
-+ basic_machine=sparc-tti
-+ ;;
-+ pbb)
-+ basic_machine=m68k-tti
-+ ;;
-+ pc532 | pc532-*)
-+ basic_machine=ns32k-pc532
-+ ;;
-+ pc98)
-+ basic_machine=i386-pc
-+ ;;
-+ pc98-*)
-+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ pentium | p5 | k5 | k6 | nexgen | viac3)
-+ basic_machine=i586-pc
-+ ;;
-+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
-+ basic_machine=i686-pc
-+ ;;
-+ pentiumii | pentium2 | pentiumiii | pentium3)
-+ basic_machine=i686-pc
-+ ;;
-+ pentium4)
-+ basic_machine=i786-pc
-+ ;;
-+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
-+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
-+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ pentium4-*)
-+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ pn)
-+ basic_machine=pn-gould
-+ ;;
-+ power) basic_machine=power-ibm
-+ ;;
-+ ppc | ppcbe) basic_machine=powerpc-unknown
-+ ;;
-+ ppc-* | ppcbe-*)
-+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ ppcle | powerpclittle | ppc-le | powerpc-little)
-+ basic_machine=powerpcle-unknown
-+ ;;
-+ ppcle-* | powerpclittle-*)
-+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ ppc64) basic_machine=powerpc64-unknown
-+ ;;
-+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
-+ basic_machine=powerpc64le-unknown
-+ ;;
-+ ppc64le-* | powerpc64little-*)
-+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ ps2)
-+ basic_machine=i386-ibm
-+ ;;
-+ pw32)
-+ basic_machine=i586-unknown
-+ os=-pw32
-+ ;;
-+ rdos)
-+ basic_machine=i386-pc
-+ os=-rdos
-+ ;;
-+ rom68k)
-+ basic_machine=m68k-rom68k
-+ os=-coff
-+ ;;
-+ rm[46]00)
-+ basic_machine=mips-siemens
-+ ;;
-+ rtpc | rtpc-*)
-+ basic_machine=romp-ibm
-+ ;;
-+ s390 | s390-*)
-+ basic_machine=s390-ibm
-+ ;;
-+ s390x | s390x-*)
-+ basic_machine=s390x-ibm
-+ ;;
-+ sa29200)
-+ basic_machine=a29k-amd
-+ os=-udi
-+ ;;
-+ sb1)
-+ basic_machine=mipsisa64sb1-unknown
-+ ;;
-+ sb1el)
-+ basic_machine=mipsisa64sb1el-unknown
-+ ;;
-+ sde)
-+ basic_machine=mipsisa32-sde
-+ os=-elf
-+ ;;
-+ sei)
-+ basic_machine=mips-sei
-+ os=-seiux
-+ ;;
-+ sequent)
-+ basic_machine=i386-sequent
-+ ;;
-+ sh)
-+ basic_machine=sh-hitachi
-+ os=-hms
-+ ;;
-+ sh5el)
-+ basic_machine=sh5le-unknown
-+ ;;
-+ sh64)
-+ basic_machine=sh64-unknown
-+ ;;
-+ sparclite-wrs | simso-wrs)
-+ basic_machine=sparclite-wrs
-+ os=-vxworks
-+ ;;
-+ sps7)
-+ basic_machine=m68k-bull
-+ os=-sysv2
-+ ;;
-+ spur)
-+ basic_machine=spur-unknown
-+ ;;
-+ st2000)
-+ basic_machine=m68k-tandem
-+ ;;
-+ stratus)
-+ basic_machine=i860-stratus
-+ os=-sysv4
-+ ;;
-+ strongarm-* | thumb-*)
-+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ sun2)
-+ basic_machine=m68000-sun
-+ ;;
-+ sun2os3)
-+ basic_machine=m68000-sun
-+ os=-sunos3
-+ ;;
-+ sun2os4)
-+ basic_machine=m68000-sun
-+ os=-sunos4
-+ ;;
-+ sun3os3)
-+ basic_machine=m68k-sun
-+ os=-sunos3
-+ ;;
-+ sun3os4)
-+ basic_machine=m68k-sun
-+ os=-sunos4
-+ ;;
-+ sun4os3)
-+ basic_machine=sparc-sun
-+ os=-sunos3
-+ ;;
-+ sun4os4)
-+ basic_machine=sparc-sun
-+ os=-sunos4
-+ ;;
-+ sun4sol2)
-+ basic_machine=sparc-sun
-+ os=-solaris2
-+ ;;
-+ sun3 | sun3-*)
-+ basic_machine=m68k-sun
-+ ;;
-+ sun4)
-+ basic_machine=sparc-sun
-+ ;;
-+ sun386 | sun386i | roadrunner)
-+ basic_machine=i386-sun
-+ ;;
-+ sv1)
-+ basic_machine=sv1-cray
-+ os=-unicos
-+ ;;
-+ symmetry)
-+ basic_machine=i386-sequent
-+ os=-dynix
-+ ;;
-+ t3e)
-+ basic_machine=alphaev5-cray
-+ os=-unicos
-+ ;;
-+ t90)
-+ basic_machine=t90-cray
-+ os=-unicos
-+ ;;
-+ tile*)
-+ basic_machine=$basic_machine-unknown
-+ os=-linux-gnu
-+ ;;
-+ tx39)
-+ basic_machine=mipstx39-unknown
-+ ;;
-+ tx39el)
-+ basic_machine=mipstx39el-unknown
-+ ;;
-+ toad1)
-+ basic_machine=pdp10-xkl
-+ os=-tops20
-+ ;;
-+ tower | tower-32)
-+ basic_machine=m68k-ncr
-+ ;;
-+ tpf)
-+ basic_machine=s390x-ibm
-+ os=-tpf
-+ ;;
-+ udi29k)
-+ basic_machine=a29k-amd
-+ os=-udi
-+ ;;
-+ ultra3)
-+ basic_machine=a29k-nyu
-+ os=-sym1
-+ ;;
-+ v810 | necv810)
-+ basic_machine=v810-nec
-+ os=-none
-+ ;;
-+ vaxv)
-+ basic_machine=vax-dec
-+ os=-sysv
-+ ;;
-+ vms)
-+ basic_machine=vax-dec
-+ os=-vms
-+ ;;
-+ vpp*|vx|vx-*)
-+ basic_machine=f301-fujitsu
-+ ;;
-+ vxworks960)
-+ basic_machine=i960-wrs
-+ os=-vxworks
-+ ;;
-+ vxworks68)
-+ basic_machine=m68k-wrs
-+ os=-vxworks
-+ ;;
-+ vxworks29k)
-+ basic_machine=a29k-wrs
-+ os=-vxworks
-+ ;;
-+ w65*)
-+ basic_machine=w65-wdc
-+ os=-none
-+ ;;
-+ w89k-*)
-+ basic_machine=hppa1.1-winbond
-+ os=-proelf
-+ ;;
-+ xbox)
-+ basic_machine=i686-pc
-+ os=-mingw32
-+ ;;
-+ xps | xps100)
-+ basic_machine=xps100-honeywell
-+ ;;
-+ xscale-* | xscalee[bl]-*)
-+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
-+ ;;
-+ ymp)
-+ basic_machine=ymp-cray
-+ os=-unicos
-+ ;;
-+ z8k-*-coff)
-+ basic_machine=z8k-unknown
-+ os=-sim
-+ ;;
-+ z80-*-coff)
-+ basic_machine=z80-unknown
-+ os=-sim
-+ ;;
-+ none)
-+ basic_machine=none-none
-+ os=-none
-+ ;;
-+
-+# Here we handle the default manufacturer of certain CPU types. It is in
-+# some cases the only manufacturer, in others, it is the most popular.
-+ w89k)
-+ basic_machine=hppa1.1-winbond
-+ ;;
-+ op50n)
-+ basic_machine=hppa1.1-oki
-+ ;;
-+ op60c)
-+ basic_machine=hppa1.1-oki
-+ ;;
-+ romp)
-+ basic_machine=romp-ibm
-+ ;;
-+ mmix)
-+ basic_machine=mmix-knuth
-+ ;;
-+ rs6000)
-+ basic_machine=rs6000-ibm
-+ ;;
-+ vax)
-+ basic_machine=vax-dec
-+ ;;
-+ pdp10)
-+ # there are many clones, so DEC is not a safe bet
-+ basic_machine=pdp10-unknown
-+ ;;
-+ pdp11)
-+ basic_machine=pdp11-dec
-+ ;;
-+ we32k)
-+ basic_machine=we32k-att
-+ ;;
-+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
-+ basic_machine=sh-unknown
-+ ;;
-+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
-+ basic_machine=sparc-sun
-+ ;;
-+ cydra)
-+ basic_machine=cydra-cydrome
-+ ;;
-+ orion)
-+ basic_machine=orion-highlevel
-+ ;;
-+ orion105)
-+ basic_machine=clipper-highlevel
-+ ;;
-+ mac | mpw | mac-mpw)
-+ basic_machine=m68k-apple
-+ ;;
-+ pmac | pmac-mpw)
-+ basic_machine=powerpc-apple
-+ ;;
-+ *-unknown)
-+ # Make sure to match an already-canonicalized machine name.
-+ ;;
-+ *)
-+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-+ exit 1
-+ ;;
-+esac
-+
-+# Here we canonicalize certain aliases for manufacturers.
-+case $basic_machine in
-+ *-digital*)
-+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
-+ ;;
-+ *-commodore*)
-+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
-+ ;;
-+ *)
-+ ;;
-+esac
-+
-+# Decode manufacturer-specific aliases for certain operating systems.
-+
-+if [ x"$os" != x"" ]
-+then
-+case $os in
-+ # First match some system type aliases
-+ # that might get confused with valid system types.
-+ # -solaris* is a basic system type, with this one exception.
-+ -auroraux)
-+ os=-auroraux
-+ ;;
-+ -solaris1 | -solaris1.*)
-+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
-+ ;;
-+ -solaris)
-+ os=-solaris2
-+ ;;
-+ -svr4*)
-+ os=-sysv4
-+ ;;
-+ -unixware*)
-+ os=-sysv4.2uw
-+ ;;
-+ -gnu/linux*)
-+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
-+ ;;
-+ # First accept the basic system types.
-+ # The portable systems comes first.
-+ # Each alternative MUST END IN A *, to match a version number.
-+ # -sysv* is not here because it comes later, after sysvr4.
-+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
-+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-+ | -sym* | -kopensolaris* \
-+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-+ | -aos* | -aros* \
-+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-+ | -openbsd* | -solidbsd* \
-+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
-+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-+ | -chorusos* | -chorusrdb* | -cegcc* \
-+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-+ | -mingw32* | -linux-gnu* | -linux-android* \
-+ | -linux-newlib* | -linux-uclibc* \
-+ | -uxpv* | -beos* | -mpeix* | -udk* \
-+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
-+ # Remember, each alternative MUST END IN *, to match a version number.
-+ ;;
-+ -qnx*)
-+ case $basic_machine in
-+ x86-* | i*86-*)
-+ ;;
-+ *)
-+ os=-nto$os
-+ ;;
-+ esac
-+ ;;
-+ -nto-qnx*)
-+ ;;
-+ -nto*)
-+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
-+ ;;
-+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
-+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
-+ ;;
-+ -mac*)
-+ os=`echo $os | sed -e 's|mac|macos|'`
-+ ;;
-+ -linux-dietlibc)
-+ os=-linux-dietlibc
-+ ;;
-+ -linux*)
-+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
-+ ;;
-+ -sunos5*)
-+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
-+ ;;
-+ -sunos6*)
-+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
-+ ;;
-+ -opened*)
-+ os=-openedition
-+ ;;
-+ -os400*)
-+ os=-os400
-+ ;;
-+ -wince*)
-+ os=-wince
-+ ;;
-+ -osfrose*)
-+ os=-osfrose
-+ ;;
-+ -osf*)
-+ os=-osf
-+ ;;
-+ -utek*)
-+ os=-bsd
-+ ;;
-+ -dynix*)
-+ os=-bsd
-+ ;;
-+ -acis*)
-+ os=-aos
-+ ;;
-+ -atheos*)
-+ os=-atheos
-+ ;;
-+ -syllable*)
-+ os=-syllable
-+ ;;
-+ -386bsd)
-+ os=-bsd
-+ ;;
-+ -ctix* | -uts*)
-+ os=-sysv
-+ ;;
-+ -nova*)
-+ os=-rtmk-nova
-+ ;;
-+ -ns2 )
-+ os=-nextstep2
-+ ;;
-+ -nsk*)
-+ os=-nsk
-+ ;;
-+ # Preserve the version number of sinix5.
-+ -sinix5.*)
-+ os=`echo $os | sed -e 's|sinix|sysv|'`
-+ ;;
-+ -sinix*)
-+ os=-sysv4
-+ ;;
-+ -tpf*)
-+ os=-tpf
-+ ;;
-+ -triton*)
-+ os=-sysv3
-+ ;;
-+ -oss*)
-+ os=-sysv3
-+ ;;
-+ -svr4)
-+ os=-sysv4
-+ ;;
-+ -svr3)
-+ os=-sysv3
-+ ;;
-+ -sysvr4)
-+ os=-sysv4
-+ ;;
-+ # This must come after -sysvr4.
-+ -sysv*)
-+ ;;
-+ -ose*)
-+ os=-ose
-+ ;;
-+ -es1800*)
-+ os=-ose
-+ ;;
-+ -xenix)
-+ os=-xenix
-+ ;;
-+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-+ os=-mint
-+ ;;
-+ -aros*)
-+ os=-aros
-+ ;;
-+ -kaos*)
-+ os=-kaos
-+ ;;
-+ -zvmoe)
-+ os=-zvmoe
-+ ;;
-+ -dicos*)
-+ os=-dicos
-+ ;;
-+ -nacl*)
-+ ;;
-+ -none)
-+ ;;
-+ *)
-+ # Get rid of the `-' at the beginning of $os.
-+ os=`echo $os | sed 's/[^-]*-//'`
-+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
-+ exit 1
-+ ;;
-+esac
-+else
-+
-+# Here we handle the default operating systems that come with various machines.
-+# The value should be what the vendor currently ships out the door with their
-+# machine or put another way, the most popular os provided with the machine.
-+
-+# Note that if you're going to try to match "-MANUFACTURER" here (say,
-+# "-sun"), then you have to tell the case statement up towards the top
-+# that MANUFACTURER isn't an operating system. Otherwise, code above
-+# will signal an error saying that MANUFACTURER isn't an operating
-+# system, and we'll never get to this point.
-+
-+case $basic_machine in
-+ score-*)
-+ os=-elf
-+ ;;
-+ spu-*)
-+ os=-elf
-+ ;;
-+ *-acorn)
-+ os=-riscix1.2
-+ ;;
-+ arm*-rebel)
-+ os=-linux
-+ ;;
-+ arm*-semi)
-+ os=-aout
-+ ;;
-+ c4x-* | tic4x-*)
-+ os=-coff
-+ ;;
-+ tic54x-*)
-+ os=-coff
-+ ;;
-+ tic55x-*)
-+ os=-coff
-+ ;;
-+ tic6x-*)
-+ os=-coff
-+ ;;
-+ # This must come before the *-dec entry.
-+ pdp10-*)
-+ os=-tops20
-+ ;;
-+ pdp11-*)
-+ os=-none
-+ ;;
-+ *-dec | vax-*)
-+ os=-ultrix4.2
-+ ;;
-+ m68*-apollo)
-+ os=-domain
-+ ;;
-+ i386-sun)
-+ os=-sunos4.0.2
-+ ;;
-+ m68000-sun)
-+ os=-sunos3
-+ ;;
-+ m68*-cisco)
-+ os=-aout
-+ ;;
-+ mep-*)
-+ os=-elf
-+ ;;
-+ mips*-cisco)
-+ os=-elf
-+ ;;
-+ mips*-*)
-+ os=-elf
-+ ;;
-+ or32-*)
-+ os=-coff
-+ ;;
-+ *-tti) # must be before sparc entry or we get the wrong os.
-+ os=-sysv3
-+ ;;
-+ sparc-* | *-sun)
-+ os=-sunos4.1.1
-+ ;;
-+ *-be)
-+ os=-beos
-+ ;;
-+ *-haiku)
-+ os=-haiku
-+ ;;
-+ *-ibm)
-+ os=-aix
-+ ;;
-+ *-knuth)
-+ os=-mmixware
-+ ;;
-+ *-wec)
-+ os=-proelf
-+ ;;
-+ *-winbond)
-+ os=-proelf
-+ ;;
-+ *-oki)
-+ os=-proelf
-+ ;;
-+ *-hp)
-+ os=-hpux
-+ ;;
-+ *-hitachi)
-+ os=-hiux
-+ ;;
-+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-+ os=-sysv
-+ ;;
-+ *-cbm)
-+ os=-amigaos
-+ ;;
-+ *-dg)
-+ os=-dgux
-+ ;;
-+ *-dolphin)
-+ os=-sysv3
-+ ;;
-+ m68k-ccur)
-+ os=-rtu
-+ ;;
-+ m88k-omron*)
-+ os=-luna
-+ ;;
-+ *-next )
-+ os=-nextstep
-+ ;;
-+ *-sequent)
-+ os=-ptx
-+ ;;
-+ *-crds)
-+ os=-unos
-+ ;;
-+ *-ns)
-+ os=-genix
-+ ;;
-+ i370-*)
-+ os=-mvs
-+ ;;
-+ *-next)
-+ os=-nextstep3
-+ ;;
-+ *-gould)
-+ os=-sysv
-+ ;;
-+ *-highlevel)
-+ os=-bsd
-+ ;;
-+ *-encore)
-+ os=-bsd
-+ ;;
-+ *-sgi)
-+ os=-irix
-+ ;;
-+ *-siemens)
-+ os=-sysv4
-+ ;;
-+ *-masscomp)
-+ os=-rtu
-+ ;;
-+ f30[01]-fujitsu | f700-fujitsu)
-+ os=-uxpv
-+ ;;
-+ *-rom68k)
-+ os=-coff
-+ ;;
-+ *-*bug)
-+ os=-coff
-+ ;;
-+ *-apple)
-+ os=-macos
-+ ;;
-+ *-atari*)
-+ os=-mint
-+ ;;
-+ *)
-+ os=-none
-+ ;;
-+esac
-+fi
-+
-+# Here we handle the case where we know the os, and the CPU type, but not the
-+# manufacturer. We pick the logical manufacturer.
-+vendor=unknown
-+case $basic_machine in
-+ *-unknown)
-+ case $os in
-+ -riscix*)
-+ vendor=acorn
-+ ;;
-+ -sunos*)
-+ vendor=sun
-+ ;;
-+ -cnk*|-aix*)
-+ vendor=ibm
-+ ;;
-+ -beos*)
-+ vendor=be
-+ ;;
-+ -hpux*)
-+ vendor=hp
-+ ;;
-+ -mpeix*)
-+ vendor=hp
-+ ;;
-+ -hiux*)
-+ vendor=hitachi
-+ ;;
-+ -unos*)
-+ vendor=crds
-+ ;;
-+ -dgux*)
-+ vendor=dg
-+ ;;
-+ -luna*)
-+ vendor=omron
-+ ;;
-+ -genix*)
-+ vendor=ns
-+ ;;
-+ -mvs* | -opened*)
-+ vendor=ibm
-+ ;;
-+ -os400*)
-+ vendor=ibm
-+ ;;
-+ -ptx*)
-+ vendor=sequent
-+ ;;
-+ -tpf*)
-+ vendor=ibm
-+ ;;
-+ -vxsim* | -vxworks* | -windiss*)
-+ vendor=wrs
-+ ;;
-+ -aux*)
-+ vendor=apple
-+ ;;
-+ -hms*)
-+ vendor=hitachi
-+ ;;
-+ -mpw* | -macos*)
-+ vendor=apple
-+ ;;
-+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-+ vendor=atari
-+ ;;
-+ -vos*)
-+ vendor=stratus
-+ ;;
-+ esac
-+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
-+ ;;
-+esac
-+
-+echo $basic_machine$os
-+exit
-+
-+# Local variables:
-+# eval: (add-hook 'write-file-hooks 'time-stamp)
-+# time-stamp-start: "timestamp='"
-+# time-stamp-format: "%:y-%02m-%02d"
-+# time-stamp-end: "'"
-+# End:
-diff --git a/libclamav/libmspack-0.4alpha/configure b/libclamav/libmspack-0.4alpha/configure
-new file mode 100755
-index 000000000000..5f03b36c49ac
---- /dev/null
-+++ b/libclamav/libmspack-0.4alpha/configure
-@@ -0,0 +1,14567 @@
-+#! /bin/sh
-+# Guess values for system-dependent variables and create Makefiles.
-+# Generated by GNU Autoconf 2.68 for libmspack 0.4alpha.
-+#
-+# Report bugs to <kyzer@4u.net>.
-+#
-+#
-+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-+# Foundation, Inc.
-+#
-+#
-+# This configure script is free software; the Free Software Foundation
-+# gives unlimited permission to copy, distribute and modify it.
-+## -------------------- ##
-+## M4sh Initialization. ##
-+## -------------------- ##
-+
-+# Be more Bourne compatible
-+DUALCASE=1; export DUALCASE # for MKS sh
-+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-+ emulate sh
-+ NULLCMD=:
-+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-+ # is contrary to our usage. Disable this feature.
-+ alias -g '${1+"$@"}'='"$@"'
-+ setopt NO_GLOB_SUBST
-+else
-+ case `(set -o) 2>/dev/null` in #(
-+ *posix*) :
-+ set -o posix ;; #(
-+ *) :
-+ ;;
-+esac
-+fi
-+
-+
-+as_nl='
-+'
-+export as_nl
-+# Printing a long string crashes Solaris 7 /usr/bin/printf.
-+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-+# Prefer a ksh shell builtin over an external printf program on Solaris,
-+# but without wasting forks for bash or zsh.
-+if test -z "$BASH_VERSION$ZSH_VERSION" \
-+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-+ as_echo='print -r --'
-+ as_echo_n='print -rn --'
-+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-+ as_echo='printf %s\n'
-+ as_echo_n='printf %s'
-+else
-+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-+ as_echo_n='/usr/ucb/echo -n'
-+ else
-+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-+ as_echo_n_body='eval
-+ arg=$1;
-+ case $arg in #(
-+ *"$as_nl"*)
-+ expr "X$arg" : "X\\(.*\\)$as_nl";
-+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-+ esac;
-+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-+ '
-+ export as_echo_n_body
-+ as_echo_n='sh -c $as_echo_n_body as_echo'
-+ fi
-+ export as_echo_body
-+ as_echo='sh -c $as_echo_body as_echo'
-+fi
-+
-+# The user is always right.
-+if test "${PATH_SEPARATOR+set}" != set; then
-+ PATH_SEPARATOR=:
-+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-+ PATH_SEPARATOR=';'
-+ }
-+fi
-+
-+
-+# IFS
-+# We need space, tab and new line, in precisely that order. Quoting is
-+# there to prevent editors from complaining about space-tab.
-+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-+# splitting by setting IFS to empty value.)
-+IFS=" "" $as_nl"
-+
-+# Find who we are. Look in the path if we contain no directory separator.
-+as_myself=
-+case $0 in #((
-+ *[\\/]* ) as_myself=$0 ;;
-+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-+ done
-+IFS=$as_save_IFS
-+
-+ ;;
-+esac
-+# We did not find ourselves, most probably we were run as `sh COMMAND'
-+# in which case we are not to be found in the path.
-+if test "x$as_myself" = x; then
-+ as_myself=$0
-+fi
-+if test ! -f "$as_myself"; then
-+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-+ exit 1
-+fi
-+
-+# Unset variables that we do not need and which cause bugs (e.g. in
-+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-+# suppresses any "Segmentation fault" message there. '((' could
-+# trigger a bug in pdksh 5.2.14.
-+for as_var in BASH_ENV ENV MAIL MAILPATH
-+do eval test x\${$as_var+set} = xset \
-+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-+done
-+PS1='$ '
-+PS2='> '
-+PS4='+ '
-+
-+# NLS nuisances.
-+LC_ALL=C
-+export LC_ALL
-+LANGUAGE=C
-+export LANGUAGE
-+
-+# CDPATH.
-+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-+
-+if test "x$CONFIG_SHELL" = x; then
-+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-+ emulate sh
-+ NULLCMD=:
-+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-+ # is contrary to our usage. Disable this feature.
-+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
-+ setopt NO_GLOB_SUBST
-+else
-+ case \`(set -o) 2>/dev/null\` in #(
-+ *posix*) :
-+ set -o posix ;; #(
-+ *) :
-+ ;;
-+esac
-+fi
-+"
-+ as_required="as_fn_return () { (exit \$1); }
-+as_fn_success () { as_fn_return 0; }
-+as_fn_failure () { as_fn_return 1; }
-+as_fn_ret_success () { return 0; }
-+as_fn_ret_failure () { return 1; }
-+
-+exitcode=0
-+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-+
-+else
-+ exitcode=1; echo positional parameters were not saved.
-+fi
-+test x\$exitcode = x0 || exit 1"
-+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-+
-+ test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
-+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-+ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-+ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-+ PATH=/empty FPATH=/empty; export PATH FPATH
-+ test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
-+ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-+test \$(( 1 + 1 )) = 2 || exit 1"
-+ if (eval "$as_required") 2>/dev/null; then :
-+ as_have_required=yes
-+else
-+ as_have_required=no
-+fi
-+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-+
-+else
-+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+as_found=false
-+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ as_found=:
-+ case $as_dir in #(
-+ /*)
-+ for as_base in sh bash ksh sh5; do
-+ # Try only shells that exist, to save several forks.
-+ as_shell=$as_dir/$as_base
-+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-+ CONFIG_SHELL=$as_shell as_have_required=yes
-+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-+ break 2
-+fi
-+fi
-+ done;;
-+ esac
-+ as_found=false
-+done
-+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-+ CONFIG_SHELL=$SHELL as_have_required=yes
-+fi; }
-+IFS=$as_save_IFS
-+
-+
-+ if test "x$CONFIG_SHELL" != x; then :
-+ # We cannot yet assume a decent shell, so we have to provide a
-+ # neutralization value for shells without unset; and this also
-+ # works around shells that cannot unset nonexistent variables.
-+ # Preserve -v and -x to the replacement shell.
-+ BASH_ENV=/dev/null
-+ ENV=/dev/null
-+ (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-+ export CONFIG_SHELL
-+ case $- in # ((((
-+ *v*x* | *x*v* ) as_opts=-vx ;;
-+ *v* ) as_opts=-v ;;
-+ *x* ) as_opts=-x ;;
-+ * ) as_opts= ;;
-+ esac
-+ exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-+fi
-+
-+ if test x$as_have_required = xno; then :
-+ $as_echo "$0: This script requires a shell more modern than all"
-+ $as_echo "$0: the shells that I found on your system."
-+ if test x${ZSH_VERSION+set} = xset ; then
-+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-+ else
-+ $as_echo "$0: Please tell bug-autoconf@gnu.org and kyzer@4u.net about
-+$0: your system, including any error possibly output before
-+$0: this message. Then install a modern shell, or manually
-+$0: run the script under such a shell if you do have one."
-+ fi
-+ exit 1
-+fi
-+fi
-+fi
-+SHELL=${CONFIG_SHELL-/bin/sh}
-+export SHELL
-+# Unset more variables known to interfere with behavior of common tools.
-+CLICOLOR_FORCE= GREP_OPTIONS=
-+unset CLICOLOR_FORCE GREP_OPTIONS
-+
-+## --------------------- ##
-+## M4sh Shell Functions. ##
-+## --------------------- ##
-+# as_fn_unset VAR
-+# ---------------
-+# Portably unset VAR.
-+as_fn_unset ()
-+{
-+ { eval $1=; unset $1;}
-+}
-+as_unset=as_fn_unset
-+
-+# as_fn_set_status STATUS
-+# -----------------------
-+# Set $? to STATUS, without forking.
-+as_fn_set_status ()
-+{
-+ return $1
-+} # as_fn_set_status
-+
-+# as_fn_exit STATUS
-+# -----------------
-+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-+as_fn_exit ()
-+{
-+ set +e
-+ as_fn_set_status $1
-+ exit $1
-+} # as_fn_exit
-+
-+# as_fn_mkdir_p
-+# -------------
-+# Create "$as_dir" as a directory, including parents if necessary.
-+as_fn_mkdir_p ()
-+{
-+
-+ case $as_dir in #(
-+ -*) as_dir=./$as_dir;;
-+ esac
-+ test -d "$as_dir" || eval $as_mkdir_p || {
-+ as_dirs=
-+ while :; do
-+ case $as_dir in #(
-+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-+ *) as_qdir=$as_dir;;
-+ esac
-+ as_dirs="'$as_qdir' $as_dirs"
-+ as_dir=`$as_dirname -- "$as_dir" ||
-+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-+ X"$as_dir" : 'X\(//\)[^/]' \| \
-+ X"$as_dir" : 'X\(//\)$' \| \
-+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-+$as_echo X"$as_dir" |
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)[^/].*/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
-+ test -d "$as_dir" && break
-+ done
-+ test -z "$as_dirs" || eval "mkdir $as_dirs"
-+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-+
-+
-+} # as_fn_mkdir_p
-+# as_fn_append VAR VALUE
-+# ----------------------
-+# Append the text in VALUE to the end of the definition contained in VAR. Take
-+# advantage of any shell optimizations that allow amortized linear growth over
-+# repeated appends, instead of the typical quadratic growth present in naive
-+# implementations.
-+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-+ eval 'as_fn_append ()
-+ {
-+ eval $1+=\$2
-+ }'
-+else
-+ as_fn_append ()
-+ {
-+ eval $1=\$$1\$2
-+ }
-+fi # as_fn_append
-+
-+# as_fn_arith ARG...
-+# ------------------
-+# Perform arithmetic evaluation on the ARGs, and store the result in the
-+# global $as_val. Take advantage of shells that can avoid forks. The arguments
-+# must be portable across $(()) and expr.
-+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-+ eval 'as_fn_arith ()
-+ {
-+ as_val=$(( $* ))
-+ }'
-+else
-+ as_fn_arith ()
-+ {
-+ as_val=`expr "$@" || test $? -eq 1`
-+ }
-+fi # as_fn_arith
-+
-+
-+# as_fn_error STATUS ERROR [LINENO LOG_FD]
-+# ----------------------------------------
-+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-+# script with STATUS, using 1 if that was 0.
-+as_fn_error ()
-+{
-+ as_status=$1; test $as_status -eq 0 && as_status=1
-+ if test "$4"; then
-+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-+ fi
-+ $as_echo "$as_me: error: $2" >&2
-+ as_fn_exit $as_status
-+} # as_fn_error
-+
-+if expr a : '\(a\)' >/dev/null 2>&1 &&
-+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
-+ as_expr=expr
-+else
-+ as_expr=false
-+fi
-+
-+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-+ as_basename=basename
-+else
-+ as_basename=false
-+fi
-+
-+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-+ as_dirname=dirname
-+else
-+ as_dirname=false
-+fi
-+
-+as_me=`$as_basename -- "$0" ||
-+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-+ X"$0" : 'X\(//\)$' \| \
-+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-+$as_echo X/"$0" |
-+ sed '/^.*\/\([^/][^/]*\)\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\/\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\/\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
-+
-+# Avoid depending upon Character Ranges.
-+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-+as_cr_digits='0123456789'
-+as_cr_alnum=$as_cr_Letters$as_cr_digits
-+
-+
-+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
-+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
-+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
-+ sed -n '
-+ p
-+ /[$]LINENO/=
-+ ' <$as_myself |
-+ sed '
-+ s/[$]LINENO.*/&-/
-+ t lineno
-+ b
-+ :lineno
-+ N
-+ :loop
-+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-+ t loop
-+ s/-\n.*//
-+ ' >$as_me.lineno &&
-+ chmod +x "$as_me.lineno" ||
-+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-+
-+ # Don't try to exec as it changes $[0], causing all sort of problems
-+ # (the dirname of $[0] is not the place where we might find the
-+ # original and so on. Autoconf is especially sensitive to this).
-+ . "./$as_me.lineno"
-+ # Exit status is that of the last command.
-+ exit
-+}
-+
-+ECHO_C= ECHO_N= ECHO_T=
-+case `echo -n x` in #(((((
-+-n*)
-+ case `echo 'xy\c'` in
-+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
-+ xy) ECHO_C='\c';;
-+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
-+ ECHO_T=' ';;
-+ esac;;
-+*)
-+ ECHO_N='-n';;
-+esac
-+
-+rm -f conf$$ conf$$.exe conf$$.file
-+if test -d conf$$.dir; then
-+ rm -f conf$$.dir/conf$$.file
-+else
-+ rm -f conf$$.dir
-+ mkdir conf$$.dir 2>/dev/null
-+fi
-+if (echo >conf$$.file) 2>/dev/null; then
-+ if ln -s conf$$.file conf$$ 2>/dev/null; then
-+ as_ln_s='ln -s'
-+ # ... but there are two gotchas:
-+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-+ # In both cases, we have to default to `cp -p'.
-+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-+ as_ln_s='cp -p'
-+ elif ln conf$$.file conf$$ 2>/dev/null; then
-+ as_ln_s=ln
-+ else
-+ as_ln_s='cp -p'
-+ fi
-+else
-+ as_ln_s='cp -p'
-+fi
-+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-+rmdir conf$$.dir 2>/dev/null
-+
-+if mkdir -p . 2>/dev/null; then
-+ as_mkdir_p='mkdir -p "$as_dir"'
-+else
-+ test -d ./-p && rmdir ./-p
-+ as_mkdir_p=false
-+fi
-+
-+if test -x / >/dev/null 2>&1; then
-+ as_test_x='test -x'
-+else
-+ if ls -dL / >/dev/null 2>&1; then
-+ as_ls_L_option=L
-+ else
-+ as_ls_L_option=
-+ fi
-+ as_test_x='
-+ eval sh -c '\''
-+ if test -d "$1"; then
-+ test -d "$1/.";
-+ else
-+ case $1 in #(
-+ -*)set "./$1";;
-+ esac;
-+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-+ ???[sx]*):;;*)false;;esac;fi
-+ '\'' sh
-+ '
-+fi
-+as_executable_p=$as_test_x
-+
-+# Sed expression to map a string onto a valid CPP name.
-+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-+
-+# Sed expression to map a string onto a valid variable name.
-+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-+
-+SHELL=${CONFIG_SHELL-/bin/sh}
-+
-+
-+test -n "$DJDIR" || exec 7<&0 </dev/null
-+exec 6>&1
-+
-+# Name of the host.
-+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-+# so uname gets run too.
-+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-+
-+#
-+# Initializations.
-+#
-+ac_default_prefix=/usr/local
-+ac_clean_files=
-+ac_config_libobj_dir=.
-+LIBOBJS=
-+cross_compiling=no
-+subdirs=
-+MFLAGS=
-+MAKEFLAGS=
-+
-+# Identity of this package.
-+PACKAGE_NAME='libmspack'
-+PACKAGE_TARNAME='libmspack'
-+PACKAGE_VERSION='0.4alpha'
-+PACKAGE_STRING='libmspack 0.4alpha'
-+PACKAGE_BUGREPORT='kyzer@4u.net'
-+PACKAGE_URL=''
-+
-+ac_unique_file="mspack/mspack.h"
-+# Factoring default headers for most tests.
-+ac_includes_default="\
-+#include <stdio.h>
-+#ifdef HAVE_SYS_TYPES_H
-+# include <sys/types.h>
-+#endif
-+#ifdef HAVE_SYS_STAT_H
-+# include <sys/stat.h>
-+#endif
-+#ifdef STDC_HEADERS
-+# include <stdlib.h>
-+# include <stddef.h>
-+#else
-+# ifdef HAVE_STDLIB_H
-+# include <stdlib.h>
-+# endif
-+#endif
-+#ifdef HAVE_STRING_H
-+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-+# include <memory.h>
-+# endif
-+# include <string.h>
-+#endif
-+#ifdef HAVE_STRINGS_H
-+# include <strings.h>
-+#endif
-+#ifdef HAVE_INTTYPES_H
-+# include <inttypes.h>
-+#endif
-+#ifdef HAVE_STDINT_H
-+# include <stdint.h>
-+#endif
-+#ifdef HAVE_UNISTD_H
-+# include <unistd.h>
-+#endif"
-+
-+ac_subst_vars='am__EXEEXT_FALSE
-+am__EXEEXT_TRUE
-+LTLIBOBJS
-+LIBOBJS
-+CPP
-+OTOOL64
-+OTOOL
-+LIPO
-+NMEDIT
-+DSYMUTIL
-+MANIFEST_TOOL
-+RANLIB
-+ac_ct_AR
-+AR
-+DLLTOOL
-+OBJDUMP
-+LN_S
-+NM
-+ac_ct_DUMPBIN
-+DUMPBIN
-+LD
-+FGREP
-+EGREP
-+GREP
-+SED
-+host_os
-+host_vendor
-+host_cpu
-+host
-+build_os
-+build_vendor
-+build_cpu
-+build
-+LIBTOOL
-+GCC_FALSE
-+GCC_TRUE
-+am__fastdepCC_FALSE
-+am__fastdepCC_TRUE
-+CCDEPMODE
-+am__nodep
-+AMDEPBACKSLASH
-+AMDEP_FALSE
-+AMDEP_TRUE
-+am__quote
-+am__include
-+DEPDIR
-+OBJEXT
-+EXEEXT
-+ac_ct_CC
-+CPPFLAGS
-+LDFLAGS
-+CFLAGS
-+CC
-+DEBUG_FALSE
-+DEBUG_TRUE
-+AM_BACKSLASH
-+AM_DEFAULT_VERBOSITY
-+AM_DEFAULT_V
-+AM_V
-+am__untar
-+am__tar
-+AMTAR
-+am__leading_dot
-+SET_MAKE
-+AWK
-+mkdir_p
-+MKDIR_P
-+INSTALL_STRIP_PROGRAM
-+STRIP
-+install_sh
-+MAKEINFO
-+AUTOHEADER
-+AUTOMAKE
-+AUTOCONF
-+ACLOCAL
-+VERSION
-+PACKAGE
-+CYGPATH_W
-+am__isrc
-+INSTALL_DATA
-+INSTALL_SCRIPT
-+INSTALL_PROGRAM
-+target_alias
-+host_alias
-+build_alias
-+LIBS
-+ECHO_T
-+ECHO_N
-+ECHO_C
-+DEFS
-+mandir
-+localedir
-+libdir
-+psdir
-+pdfdir
-+dvidir
-+htmldir
-+infodir
-+docdir
-+oldincludedir
-+includedir
-+localstatedir
-+sharedstatedir
-+sysconfdir
-+datadir
-+datarootdir
-+libexecdir
-+sbindir
-+bindir
-+program_transform_name
-+prefix
-+exec_prefix
-+PACKAGE_URL
-+PACKAGE_BUGREPORT
-+PACKAGE_STRING
-+PACKAGE_VERSION
-+PACKAGE_TARNAME
-+PACKAGE_NAME
-+PATH_SEPARATOR
-+SHELL'
-+ac_subst_files=''
-+ac_user_opts='
-+enable_option_checking
-+enable_silent_rules
-+enable_debug
-+enable_dependency_tracking
-+enable_shared
-+enable_static
-+with_pic
-+enable_fast_install
-+with_gnu_ld
-+with_sysroot
-+enable_libtool_lock
-+enable_largefile
-+'
-+ ac_precious_vars='build_alias
-+host_alias
-+target_alias
-+CC
-+CFLAGS
-+LDFLAGS
-+LIBS
-+CPPFLAGS
-+CPP'
-+
-+
-+# Initialize some variables set by options.
-+ac_init_help=
-+ac_init_version=false
-+ac_unrecognized_opts=
-+ac_unrecognized_sep=
-+# The variables have the same names as the options, with
-+# dashes changed to underlines.
-+cache_file=/dev/null
-+exec_prefix=NONE
-+no_create=
-+no_recursion=
-+prefix=NONE
-+program_prefix=NONE
-+program_suffix=NONE
-+program_transform_name=s,x,x,
-+silent=
-+site=
-+srcdir=
-+verbose=
-+x_includes=NONE
-+x_libraries=NONE
-+
-+# Installation directory options.
-+# These are left unexpanded so users can "make install exec_prefix=/foo"
-+# and all the variables that are supposed to be based on exec_prefix
-+# by default will actually change.
-+# Use braces instead of parens because sh, perl, etc. also accept them.
-+# (The list follows the same order as the GNU Coding Standards.)
-+bindir='${exec_prefix}/bin'
-+sbindir='${exec_prefix}/sbin'
-+libexecdir='${exec_prefix}/libexec'
-+datarootdir='${prefix}/share'
-+datadir='${datarootdir}'
-+sysconfdir='${prefix}/etc'
-+sharedstatedir='${prefix}/com'
-+localstatedir='${prefix}/var'
-+includedir='${prefix}/include'
-+oldincludedir='/usr/include'
-+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-+infodir='${datarootdir}/info'
-+htmldir='${docdir}'
-+dvidir='${docdir}'
-+pdfdir='${docdir}'
-+psdir='${docdir}'
-+libdir='${exec_prefix}/lib'
-+localedir='${datarootdir}/locale'
-+mandir='${datarootdir}/man'
-+
-+ac_prev=
-+ac_dashdash=
-+for ac_option
-+do
-+ # If the previous option needs an argument, assign it.
-+ if test -n "$ac_prev"; then
-+ eval $ac_prev=\$ac_option
-+ ac_prev=
-+ continue
-+ fi
-+
-+ case $ac_option in
-+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-+ *=) ac_optarg= ;;
-+ *) ac_optarg=yes ;;
-+ esac
-+
-+ # Accept the important Cygnus configure options, so we can diagnose typos.
-+
-+ case $ac_dashdash$ac_option in
-+ --)
-+ ac_dashdash=yes ;;
-+
-+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
-+ ac_prev=bindir ;;
-+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-+ bindir=$ac_optarg ;;
-+
-+ -build | --build | --buil | --bui | --bu)
-+ ac_prev=build_alias ;;
-+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-+ build_alias=$ac_optarg ;;
-+
-+ -cache-file | --cache-file | --cache-fil | --cache-fi \
-+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-+ ac_prev=cache_file ;;
-+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-+ cache_file=$ac_optarg ;;
-+
-+ --config-cache | -C)
-+ cache_file=config.cache ;;
-+
-+ -datadir | --datadir | --datadi | --datad)
-+ ac_prev=datadir ;;
-+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
-+ datadir=$ac_optarg ;;
-+
-+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-+ | --dataroo | --dataro | --datar)
-+ ac_prev=datarootdir ;;
-+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-+ datarootdir=$ac_optarg ;;
-+
-+ -disable-* | --disable-*)
-+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-+ # Reject names that are not valid shell variable names.
-+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-+ as_fn_error $? "invalid feature name: $ac_useropt"
-+ ac_useropt_orig=$ac_useropt
-+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-+ case $ac_user_opts in
-+ *"
-+"enable_$ac_useropt"
-+"*) ;;
-+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-+ ac_unrecognized_sep=', ';;
-+ esac
-+ eval enable_$ac_useropt=no ;;
-+
-+ -docdir | --docdir | --docdi | --doc | --do)
-+ ac_prev=docdir ;;
-+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-+ docdir=$ac_optarg ;;
-+
-+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-+ ac_prev=dvidir ;;
-+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-+ dvidir=$ac_optarg ;;
-+
-+ -enable-* | --enable-*)
-+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-+ # Reject names that are not valid shell variable names.
-+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-+ as_fn_error $? "invalid feature name: $ac_useropt"
-+ ac_useropt_orig=$ac_useropt
-+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-+ case $ac_user_opts in
-+ *"
-+"enable_$ac_useropt"
-+"*) ;;
-+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-+ ac_unrecognized_sep=', ';;
-+ esac
-+ eval enable_$ac_useropt=\$ac_optarg ;;
-+
-+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-+ | --exec | --exe | --ex)
-+ ac_prev=exec_prefix ;;
-+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-+ | --exec=* | --exe=* | --ex=*)
-+ exec_prefix=$ac_optarg ;;
-+
-+ -gas | --gas | --ga | --g)
-+ # Obsolete; use --with-gas.
-+ with_gas=yes ;;
-+
-+ -help | --help | --hel | --he | -h)
-+ ac_init_help=long ;;
-+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-+ ac_init_help=recursive ;;
-+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-+ ac_init_help=short ;;
-+
-+ -host | --host | --hos | --ho)
-+ ac_prev=host_alias ;;
-+ -host=* | --host=* | --hos=* | --ho=*)
-+ host_alias=$ac_optarg ;;
-+
-+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-+ ac_prev=htmldir ;;
-+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-+ | --ht=*)
-+ htmldir=$ac_optarg ;;
-+
-+ -includedir | --includedir | --includedi | --included | --include \
-+ | --includ | --inclu | --incl | --inc)
-+ ac_prev=includedir ;;
-+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-+ | --includ=* | --inclu=* | --incl=* | --inc=*)
-+ includedir=$ac_optarg ;;
-+
-+ -infodir | --infodir | --infodi | --infod | --info | --inf)
-+ ac_prev=infodir ;;
-+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-+ infodir=$ac_optarg ;;
-+
-+ -libdir | --libdir | --libdi | --libd)
-+ ac_prev=libdir ;;
-+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
-+ libdir=$ac_optarg ;;
-+
-+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-+ | --libexe | --libex | --libe)
-+ ac_prev=libexecdir ;;
-+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-+ | --libexe=* | --libex=* | --libe=*)
-+ libexecdir=$ac_optarg ;;
-+
-+ -localedir | --localedir | --localedi | --localed | --locale)
-+ ac_prev=localedir ;;
-+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-+ localedir=$ac_optarg ;;
-+
-+ -localstatedir | --localstatedir | --localstatedi | --localstated \
-+ | --localstate | --localstat | --localsta | --localst | --locals)
-+ ac_prev=localstatedir ;;
-+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-+ localstatedir=$ac_optarg ;;
-+
-+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-+ ac_prev=mandir ;;
-+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-+ mandir=$ac_optarg ;;
-+
-+ -nfp | --nfp | --nf)
-+ # Obsolete; use --without-fp.
-+ with_fp=no ;;
-+
-+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-+ | --no-cr | --no-c | -n)
-+ no_create=yes ;;
-+
-+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-+ no_recursion=yes ;;
-+
-+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-+ | --oldin | --oldi | --old | --ol | --o)
-+ ac_prev=oldincludedir ;;
-+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-+ oldincludedir=$ac_optarg ;;
-+
-+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-+ ac_prev=prefix ;;
-+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-+ prefix=$ac_optarg ;;
-+
-+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
-+ | --program-pre | --program-pr | --program-p)
-+ ac_prev=program_prefix ;;
-+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
-+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-+ program_prefix=$ac_optarg ;;
-+
-+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
-+ | --program-suf | --program-su | --program-s)
-+ ac_prev=program_suffix ;;
-+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
-+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-+ program_suffix=$ac_optarg ;;
-+
-+ -program-transform-name | --program-transform-name \
-+ | --program-transform-nam | --program-transform-na \
-+ | --program-transform-n | --program-transform- \
-+ | --program-transform | --program-transfor \
-+ | --program-transfo | --program-transf \
-+ | --program-trans | --program-tran \
-+ | --progr-tra | --program-tr | --program-t)
-+ ac_prev=program_transform_name ;;
-+ -program-transform-name=* | --program-transform-name=* \
-+ | --program-transform-nam=* | --program-transform-na=* \
-+ | --program-transform-n=* | --program-transform-=* \
-+ | --program-transform=* | --program-transfor=* \
-+ | --program-transfo=* | --program-transf=* \
-+ | --program-trans=* | --program-tran=* \
-+ | --progr-tra=* | --program-tr=* | --program-t=*)
-+ program_transform_name=$ac_optarg ;;
-+
-+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-+ ac_prev=pdfdir ;;
-+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-+ pdfdir=$ac_optarg ;;
-+
-+ -psdir | --psdir | --psdi | --psd | --ps)
-+ ac_prev=psdir ;;
-+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-+ psdir=$ac_optarg ;;
-+
-+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-+ | -silent | --silent | --silen | --sile | --sil)
-+ silent=yes ;;
-+
-+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-+ ac_prev=sbindir ;;
-+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-+ | --sbi=* | --sb=*)
-+ sbindir=$ac_optarg ;;
-+
-+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
-+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-+ | --sharedst | --shareds | --shared | --share | --shar \
-+ | --sha | --sh)
-+ ac_prev=sharedstatedir ;;
-+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-+ | --sha=* | --sh=*)
-+ sharedstatedir=$ac_optarg ;;
-+
-+ -site | --site | --sit)
-+ ac_prev=site ;;
-+ -site=* | --site=* | --sit=*)
-+ site=$ac_optarg ;;
-+
-+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-+ ac_prev=srcdir ;;
-+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-+ srcdir=$ac_optarg ;;
-+
-+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-+ | --syscon | --sysco | --sysc | --sys | --sy)
-+ ac_prev=sysconfdir ;;
-+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-+ sysconfdir=$ac_optarg ;;
-+
-+ -target | --target | --targe | --targ | --tar | --ta | --t)
-+ ac_prev=target_alias ;;
-+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-+ target_alias=$ac_optarg ;;
-+
-+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
-+ verbose=yes ;;
-+
-+ -version | --version | --versio | --versi | --vers | -V)
-+ ac_init_version=: ;;
-+
-+ -with-* | --with-*)
-+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-+ # Reject names that are not valid shell variable names.
-+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-+ as_fn_error $? "invalid package name: $ac_useropt"
-+ ac_useropt_orig=$ac_useropt
-+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-+ case $ac_user_opts in
-+ *"
-+"with_$ac_useropt"
-+"*) ;;
-+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-+ ac_unrecognized_sep=', ';;
-+ esac
-+ eval with_$ac_useropt=\$ac_optarg ;;
-+
-+ -without-* | --without-*)
-+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-+ # Reject names that are not valid shell variable names.
-+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-+ as_fn_error $? "invalid package name: $ac_useropt"
-+ ac_useropt_orig=$ac_useropt
-+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-+ case $ac_user_opts in
-+ *"
-+"with_$ac_useropt"
-+"*) ;;
-+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-+ ac_unrecognized_sep=', ';;
-+ esac
-+ eval with_$ac_useropt=no ;;
-+
-+ --x)
-+ # Obsolete; use --with-x.
-+ with_x=yes ;;
-+
-+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-+ | --x-incl | --x-inc | --x-in | --x-i)
-+ ac_prev=x_includes ;;
-+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-+ x_includes=$ac_optarg ;;
-+
-+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
-+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-+ ac_prev=x_libraries ;;
-+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-+ x_libraries=$ac_optarg ;;
-+
-+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
-+Try \`$0 --help' for more information"
-+ ;;
-+
-+ *=*)
-+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-+ # Reject names that are not valid shell variable names.
-+ case $ac_envvar in #(
-+ '' | [0-9]* | *[!_$as_cr_alnum]* )
-+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-+ esac
-+ eval $ac_envvar=\$ac_optarg
-+ export $ac_envvar ;;
-+
-+ *)
-+ # FIXME: should be removed in autoconf 3.0.
-+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-+ ;;
-+
-+ esac
-+done
-+
-+if test -n "$ac_prev"; then
-+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-+ as_fn_error $? "missing argument to $ac_option"
-+fi
-+
-+if test -n "$ac_unrecognized_opts"; then
-+ case $enable_option_checking in
-+ no) ;;
-+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-+ esac
-+fi
-+
-+# Check all directory arguments for consistency.
-+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
-+do
-+ eval ac_val=\$$ac_var
-+ # Remove trailing slashes.
-+ case $ac_val in
-+ */ )
-+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-+ eval $ac_var=\$ac_val;;
-+ esac
-+ # Be sure to have absolute directory names.
-+ case $ac_val in
-+ [\\/$]* | ?:[\\/]* ) continue;;
-+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-+ esac
-+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-+done
-+
-+# There might be people who depend on the old broken behavior: `$host'
-+# used to hold the argument of --host etc.
-+# FIXME: To remove some day.
-+build=$build_alias
-+host=$host_alias
-+target=$target_alias
-+
-+# FIXME: To remove some day.
-+if test "x$host_alias" != x; then
-+ if test "x$build_alias" = x; then
-+ cross_compiling=maybe
-+ $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-+ If a cross compiler is detected then cross compile mode will be used" >&2
-+ elif test "x$build_alias" != "x$host_alias"; then
-+ cross_compiling=yes
-+ fi
-+fi
-+
-+ac_tool_prefix=
-+test -n "$host_alias" && ac_tool_prefix=$host_alias-
-+
-+test "$silent" = yes && exec 6>/dev/null
-+
-+
-+ac_pwd=`pwd` && test -n "$ac_pwd" &&
-+ac_ls_di=`ls -di .` &&
-+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-+ as_fn_error $? "working directory cannot be determined"
-+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-+ as_fn_error $? "pwd does not report name of working directory"
-+
-+
-+# Find the source files, if location was not specified.
-+if test -z "$srcdir"; then
-+ ac_srcdir_defaulted=yes
-+ # Try the directory containing this script, then the parent directory.
-+ ac_confdir=`$as_dirname -- "$as_myself" ||
-+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-+ X"$as_myself" : 'X\(//\)[^/]' \| \
-+ X"$as_myself" : 'X\(//\)$' \| \
-+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-+$as_echo X"$as_myself" |
-+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)[^/].*/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\/\)$/{
-+ s//\1/
-+ q
-+ }
-+ /^X\(\/\).*/{
-+ s//\1/
-+ q
-+ }
-+ s/.*/./; q'`
-+ srcdir=$ac_confdir
-+ if test ! -r "$srcdir/$ac_unique_file"; then
-+ srcdir=..
-+ fi
-+else
-+ ac_srcdir_defaulted=no
-+fi
-+if test ! -r "$srcdir/$ac_unique_file"; then
-+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-+fi
-+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-+ac_abs_confdir=`(
-+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-+ pwd)`
-+# When building in place, set srcdir=.
-+if test "$ac_abs_confdir" = "$ac_pwd"; then
-+ srcdir=.
-+fi
-+# Remove unnecessary trailing slashes from srcdir.
-+# Double slashes in file names in object file debugging info
-+# mess up M-x gdb in Emacs.
-+case $srcdir in
-+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-+esac
-+for ac_var in $ac_precious_vars; do
-+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
-+ eval ac_env_${ac_var}_value=\$${ac_var}
-+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
-+done
-+
-+#
-+# Report the --help message.
-+#
-+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 libmspack 0.4alpha to adapt to many kinds of systems.
-+
-+Usage: $0 [OPTION]... [VAR=VALUE]...
-+
-+To assign environment variables (e.g., CC, CFLAGS...), specify them as
-+VAR=VALUE. See below for descriptions of some of the useful variables.
-+
-+Defaults for the options are specified in brackets.
-+
-+Configuration:
-+ -h, --help display this help and exit
-+ --help=short display options specific to this package
-+ --help=recursive display the short help of all the included packages
-+ -V, --version display version information and exit
-+ -q, --quiet, --silent do not print \`checking ...' messages
-+ --cache-file=FILE cache test results in FILE [disabled]
-+ -C, --config-cache alias for \`--cache-file=config.cache'
-+ -n, --no-create do not create output files
-+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
-+
-+Installation directories:
-+ --prefix=PREFIX install architecture-independent files in PREFIX
-+ [$ac_default_prefix]
-+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
-+ [PREFIX]
-+
-+By default, \`make install' will install all the files in
-+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-+for instance \`--prefix=\$HOME'.
-+
-+For better control, use the options below.
-+
-+Fine tuning of the installation directories:
-+ --bindir=DIR user executables [EPREFIX/bin]
-+ --sbindir=DIR system admin executables [EPREFIX/sbin]
-+ --libexecdir=DIR program executables [EPREFIX/libexec]
-+ --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]
-+ --libdir=DIR object code libraries [EPREFIX/lib]
-+ --includedir=DIR C header files [PREFIX/include]
-+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
-+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
-+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
-+ --infodir=DIR info documentation [DATAROOTDIR/info]
-+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
-+ --mandir=DIR man documentation [DATAROOTDIR/man]
-+ --docdir=DIR documentation root [DATAROOTDIR/doc/libmspack]
-+ --htmldir=DIR html documentation [DOCDIR]
-+ --dvidir=DIR dvi documentation [DOCDIR]
-+ --pdfdir=DIR pdf documentation [DOCDIR]
-+ --psdir=DIR ps documentation [DOCDIR]
-+_ACEOF
-+
-+ cat <<\_ACEOF
-+
-+Program names:
-+ --program-prefix=PREFIX prepend PREFIX to installed program names
-+ --program-suffix=SUFFIX append SUFFIX to installed program names
-+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-+
-+System types:
-+ --build=BUILD configure for building on BUILD [guessed]
-+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
-+_ACEOF
-+fi
-+
-+if test -n "$ac_init_help"; then
-+ case $ac_init_help in
-+ short | recursive ) echo "Configuration of libmspack 0.4alpha:";;
-+ esac
-+ cat <<\_ACEOF
-+
-+Optional Features:
-+ --disable-option-checking ignore unrecognized --enable/--with options
-+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
-+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
-+ --enable-silent-rules less verbose build output (undo: `make V=1')
-+ --disable-silent-rules verbose build output (undo: `make V=0')
-+ --enable-debug enable debugging
-+ --disable-dependency-tracking speeds up one-time build
-+ --enable-dependency-tracking do not reject slow dependency extractors
-+ --enable-shared[=PKGS] build shared libraries [default=yes]
-+ --enable-static[=PKGS] build static libraries [default=yes]
-+ --enable-fast-install[=PKGS]
-+ optimize for fast installation [default=yes]
-+ --disable-libtool-lock avoid locking (might break parallel builds)
-+ --disable-largefile omit support for large files
-+
-+Optional Packages:
-+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
-+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
-+ --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).
-+
-+Some influential environment variables:
-+ CC C compiler command
-+ CFLAGS C compiler flags
-+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
-+ nonstandard directory <lib dir>
-+ LIBS libraries to pass to the linker, e.g. -l<library>
-+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-+ you have headers in a nonstandard directory <include dir>
-+ CPP C preprocessor
-+
-+Use these variables to override the choices made by `configure' or to help
-+it to find libraries and programs with nonstandard names/locations.
-+
-+Report bugs to <kyzer@4u.net>.
-+_ACEOF
-+ac_status=$?
-+fi
-+
-+if test "$ac_init_help" = "recursive"; then
-+ # If there are subdirs, report their specific --help.
-+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-+ test -d "$ac_dir" ||
-+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-+ continue
-+ ac_builddir=.
-+
-+case "$ac_dir" in
-+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-+*)
-+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-+ # A ".." for each directory in $ac_dir_suffix.
-+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-+ case $ac_top_builddir_sub in
-+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-+ esac ;;
-+esac
-+ac_abs_top_builddir=$ac_pwd
-+ac_abs_builddir=$ac_pwd$ac_dir_suffix
-+# for backward compatibility:
-+ac_top_builddir=$ac_top_build_prefix
-+
-+case $srcdir in
-+ .) # We are building in place.
-+ ac_srcdir=.
-+ ac_top_srcdir=$ac_top_builddir_sub
-+ ac_abs_top_srcdir=$ac_pwd ;;
-+ [\\/]* | ?:[\\/]* ) # Absolute name.
-+ ac_srcdir=$srcdir$ac_dir_suffix;
-+ ac_top_srcdir=$srcdir
-+ ac_abs_top_srcdir=$srcdir ;;
-+ *) # Relative name.
-+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-+ ac_top_srcdir=$ac_top_build_prefix$srcdir
-+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-+esac
-+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-+
-+ cd "$ac_dir" || { ac_status=$?; continue; }
-+ # Check for guested configure.
-+ if test -f "$ac_srcdir/configure.gnu"; then
-+ echo &&
-+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-+ elif test -f "$ac_srcdir/configure"; then
-+ echo &&
-+ $SHELL "$ac_srcdir/configure" --help=recursive
-+ else
-+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-+ fi || ac_status=$?
-+ cd "$ac_pwd" || { ac_status=$?; break; }
-+ done
-+fi
-+
-+test -n "$ac_init_help" && exit $ac_status
-+if $ac_init_version; then
-+ cat <<\_ACEOF
-+libmspack configure 0.4alpha
-+generated by GNU Autoconf 2.68
-+
-+Copyright (C) 2010 Free Software Foundation, Inc.
-+This configure script is free software; the Free Software Foundation
-+gives unlimited permission to copy, distribute and modify it.
-+_ACEOF
-+ exit
-+fi
-+
-+## ------------------------ ##
-+## Autoconf initialization. ##
-+## ------------------------ ##
-+
-+# ac_fn_c_try_compile LINENO
-+# --------------------------
-+# Try to compile conftest.$ac_ext, and return whether this succeeded.
-+ac_fn_c_try_compile ()
-+{
-+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-+ rm -f conftest.$ac_objext
-+ if { { ac_try="$ac_compile"
-+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 "$ac_compile") 2>conftest.err
-+ ac_status=$?
-+ if test -s conftest.err; then
-+ grep -v '^ *+' conftest.err >conftest.er1
-+ cat conftest.er1 >&5
-+ mv -f conftest.er1 conftest.err
-+ fi
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest.$ac_objext; then :
-+ ac_retval=0
-+else
-+ $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_retval=1
-+fi
-+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-+ as_fn_set_status $ac_retval
-+
-+} # ac_fn_c_try_compile
-+
-+# ac_fn_c_try_link LINENO
-+# -----------------------
-+# Try to link conftest.$ac_ext, and return whether this succeeded.
-+ac_fn_c_try_link ()
-+{
-+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-+ rm -f conftest.$ac_objext conftest$ac_exeext
-+ if { { ac_try="$ac_link"
-+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 "$ac_link") 2>conftest.err
-+ ac_status=$?
-+ if test -s conftest.err; then
-+ grep -v '^ *+' conftest.err >conftest.er1
-+ cat conftest.er1 >&5
-+ mv -f conftest.er1 conftest.err
-+ fi
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest$ac_exeext && {
-+ test "$cross_compiling" = yes ||
-+ $as_test_x conftest$ac_exeext
-+ }; then :
-+ ac_retval=0
-+else
-+ $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_retval=1
-+fi
-+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-+ # interfere with the next link command; also delete a directory that is
-+ # left behind by Apple's compiler. We do this before executing the actions.
-+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-+ as_fn_set_status $ac_retval
-+
-+} # ac_fn_c_try_link
-+
-+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-+# -------------------------------------------------------
-+# Tests whether HEADER exists and can be compiled using the include files in
-+# INCLUDES, setting the cache variable VAR accordingly.
-+ac_fn_c_check_header_compile ()
-+{
-+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-+$as_echo_n "checking for $2... " >&6; }
-+if eval \${$3+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+$4
-+#include <$2>
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ eval "$3=yes"
-+else
-+ eval "$3=no"
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+eval ac_res=\$$3
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-+$as_echo "$ac_res" >&6; }
-+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-+
-+} # ac_fn_c_check_header_compile
-+
-+# ac_fn_c_try_cpp LINENO
-+# ----------------------
-+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-+ac_fn_c_try_cpp ()
-+{
-+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-+ if { { ac_try="$ac_cpp conftest.$ac_ext"
-+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 "$ac_cpp conftest.$ac_ext") 2>conftest.err
-+ ac_status=$?
-+ if test -s conftest.err; then
-+ grep -v '^ *+' conftest.err >conftest.er1
-+ cat conftest.er1 >&5
-+ mv -f conftest.er1 conftest.err
-+ fi
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; } > conftest.i && {
-+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ }; then :
-+ ac_retval=0
-+else
-+ $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_retval=1
-+fi
-+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-+ as_fn_set_status $ac_retval
-+
-+} # ac_fn_c_try_cpp
-+
-+# ac_fn_c_try_run LINENO
-+# ----------------------
-+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-+# that executables *can* be run.
-+ac_fn_c_try_run ()
-+{
-+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-+ if { { ac_try="$ac_link"
-+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 "$ac_link") 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-+ { { 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 "$ac_try") 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; }; }; then :
-+ ac_retval=0
-+else
-+ $as_echo "$as_me: program exited with status $ac_status" >&5
-+ $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_retval=$ac_status
-+fi
-+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-+ as_fn_set_status $ac_retval
-+
-+} # ac_fn_c_try_run
-+
-+# ac_fn_c_check_func LINENO FUNC VAR
-+# ----------------------------------
-+# Tests whether FUNC exists, setting the cache variable VAR accordingly
-+ac_fn_c_check_func ()
-+{
-+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-+$as_echo_n "checking for $2... " >&6; }
-+if eval \${$3+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
-+#define $2 innocuous_$2
-+
-+/* System header to define __stub macros and hopefully few prototypes,
-+ which can conflict with char $2 (); below.
-+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-+ <limits.h> exists even on freestanding compilers. */
-+
-+#ifdef __STDC__
-+# include <limits.h>
-+#else
-+# include <assert.h>
-+#endif
-+
-+#undef $2
-+
-+/* 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 $2 ();
-+/* The GNU C library defines this for functions which it implements
-+ to always fail with ENOSYS. Some functions are actually named
-+ something starting with __ and the normal name is an alias. */
-+#if defined __stub_$2 || defined __stub___$2
-+choke me
-+#endif
-+
-+int
-+main ()
-+{
-+return $2 ();
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+ eval "$3=yes"
-+else
-+ eval "$3=no"
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+fi
-+eval ac_res=\$$3
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-+$as_echo "$ac_res" >&6; }
-+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-+
-+} # ac_fn_c_check_func
-+
-+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-+# -------------------------------------------------------
-+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-+# the include files in INCLUDES and setting the cache variable VAR
-+# accordingly.
-+ac_fn_c_check_header_mongrel ()
-+{
-+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-+ if eval \${$3+:} false; then :
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-+$as_echo_n "checking for $2... " >&6; }
-+if eval \${$3+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+fi
-+eval ac_res=\$$3
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-+$as_echo "$ac_res" >&6; }
-+else
-+ # Is the header compilable?
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-+$as_echo_n "checking $2 usability... " >&6; }
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+$4
-+#include <$2>
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ ac_header_compiler=yes
-+else
-+ ac_header_compiler=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-+$as_echo "$ac_header_compiler" >&6; }
-+
-+# Is the header present?
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-+$as_echo_n "checking $2 presence... " >&6; }
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include <$2>
-+_ACEOF
-+if ac_fn_c_try_cpp "$LINENO"; then :
-+ ac_header_preproc=yes
-+else
-+ ac_header_preproc=no
-+fi
-+rm -f conftest.err conftest.i conftest.$ac_ext
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-+$as_echo "$ac_header_preproc" >&6; }
-+
-+# So? What about this header?
-+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-+ yes:no: )
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-+ ;;
-+ no:yes:* )
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-+$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-+$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-+( $as_echo "## --------------------------- ##
-+## Report this to kyzer@4u.net ##
-+## --------------------------- ##"
-+ ) | sed "s/^/$as_me: WARNING: /" >&2
-+ ;;
-+esac
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-+$as_echo_n "checking for $2... " >&6; }
-+if eval \${$3+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ eval "$3=\$ac_header_compiler"
-+fi
-+eval ac_res=\$$3
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-+$as_echo "$ac_res" >&6; }
-+fi
-+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-+
-+} # ac_fn_c_check_header_mongrel
-+
-+# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-+# -------------------------------------------
-+# Tests whether TYPE exists after having included INCLUDES, setting cache
-+# variable VAR accordingly.
-+ac_fn_c_check_type ()
-+{
-+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-+$as_echo_n "checking for $2... " >&6; }
-+if eval \${$3+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ eval "$3=no"
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+$4
-+int
-+main ()
-+{
-+if (sizeof ($2))
-+ return 0;
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+$4
-+int
-+main ()
-+{
-+if (sizeof (($2)))
-+ return 0;
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+
-+else
-+ eval "$3=yes"
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+eval ac_res=\$$3
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-+$as_echo "$ac_res" >&6; }
-+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-+
-+} # ac_fn_c_check_type
-+
-+# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-+# --------------------------------------------
-+# Tries to find the compile-time value of EXPR in a program that includes
-+# INCLUDES, setting VAR accordingly. Returns whether the value could be
-+# computed
-+ac_fn_c_compute_int ()
-+{
-+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-+ if test "$cross_compiling" = yes; then
-+ # Depending upon the size, compute the lo and hi bounds.
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+$4
-+int
-+main ()
-+{
-+static int test_array [1 - 2 * !(($2) >= 0)];
-+test_array [0] = 0
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ ac_lo=0 ac_mid=0
-+ while :; do
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+$4
-+int
-+main ()
-+{
-+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-+test_array [0] = 0
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ ac_hi=$ac_mid; break
-+else
-+ as_fn_arith $ac_mid + 1 && ac_lo=$as_val
-+ if test $ac_lo -le $ac_mid; then
-+ ac_lo= ac_hi=
-+ break
-+ fi
-+ as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+ done
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+$4
-+int
-+main ()
-+{
-+static int test_array [1 - 2 * !(($2) < 0)];
-+test_array [0] = 0
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ ac_hi=-1 ac_mid=-1
-+ while :; do
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+$4
-+int
-+main ()
-+{
-+static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-+test_array [0] = 0
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ ac_lo=$ac_mid; break
-+else
-+ as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
-+ if test $ac_mid -le $ac_hi; then
-+ ac_lo= ac_hi=
-+ break
-+ fi
-+ as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+ done
-+else
-+ ac_lo= ac_hi=
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+# Binary search between lo and hi bounds.
-+while test "x$ac_lo" != "x$ac_hi"; do
-+ as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+$4
-+int
-+main ()
-+{
-+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-+test_array [0] = 0
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ ac_hi=$ac_mid
-+else
-+ as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+done
-+case $ac_lo in #((
-+?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-+'') ac_retval=1 ;;
-+esac
-+ else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+$4
-+static long int longval () { return $2; }
-+static unsigned long int ulongval () { return $2; }
-+#include <stdio.h>
-+#include <stdlib.h>
-+int
-+main ()
-+{
-+
-+ FILE *f = fopen ("conftest.val", "w");
-+ if (! f)
-+ return 1;
-+ if (($2) < 0)
-+ {
-+ long int i = longval ();
-+ if (i != ($2))
-+ return 1;
-+ fprintf (f, "%ld", i);
-+ }
-+ else
-+ {
-+ unsigned long int i = ulongval ();
-+ if (i != ($2))
-+ return 1;
-+ fprintf (f, "%lu", i);
-+ }
-+ /* Do not output a trailing newline, as this causes \r\n confusion
-+ on some platforms. */
-+ return ferror (f) || fclose (f) != 0;
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_run "$LINENO"; then :
-+ echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-+else
-+ ac_retval=1
-+fi
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-+ conftest.$ac_objext conftest.beam conftest.$ac_ext
-+rm -f conftest.val
-+
-+ fi
-+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-+ as_fn_set_status $ac_retval
-+
-+} # ac_fn_c_compute_int
-+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 libmspack $as_me 0.4alpha, which was
-+generated by GNU Autoconf 2.68. Invocation command line was
-+
-+ $ $0 $@
-+
-+_ACEOF
-+exec 5>>config.log
-+{
-+cat <<_ASUNAME
-+## --------- ##
-+## Platform. ##
-+## --------- ##
-+
-+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-+uname -m = `(uname -m) 2>/dev/null || echo unknown`
-+uname -r = `(uname -r) 2>/dev/null || echo unknown`
-+uname -s = `(uname -s) 2>/dev/null || echo unknown`
-+uname -v = `(uname -v) 2>/dev/null || echo unknown`
-+
-+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-+
-+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-+
-+_ASUNAME
-+
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ $as_echo "PATH: $as_dir"
-+ done
-+IFS=$as_save_IFS
-+
-+} >&5
-+
-+cat >&5 <<_ACEOF
-+
-+
-+## ----------- ##
-+## Core tests. ##
-+## ----------- ##
-+
-+_ACEOF
-+
-+
-+# Keep a trace of the command line.
-+# Strip out --no-create and --no-recursion so they do not pile up.
-+# Strip out --silent because we don't want to record it for future runs.
-+# Also quote any args containing shell meta-characters.
-+# Make two passes to allow for proper duplicate-argument suppression.
-+ac_configure_args=
-+ac_configure_args0=
-+ac_configure_args1=
-+ac_must_keep_next=false
-+for ac_pass in 1 2
-+do
-+ for ac_arg
-+ do
-+ case $ac_arg in
-+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-+ | -silent | --silent | --silen | --sile | --sil)
-+ continue ;;
-+ *\'*)
-+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-+ esac
-+ case $ac_pass in
-+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-+ 2)
-+ as_fn_append ac_configure_args1 " '$ac_arg'"
-+ if test $ac_must_keep_next = true; then
-+ ac_must_keep_next=false # Got value, back to normal.
-+ else
-+ case $ac_arg in
-+ *=* | --config-cache | -C | -disable-* | --disable-* \
-+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-+ | -with-* | --with-* | -without-* | --without-* | --x)
-+ case "$ac_configure_args0 " in
-+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-+ esac
-+ ;;
-+ -* ) ac_must_keep_next=true ;;
-+ esac
-+ fi
-+ as_fn_append ac_configure_args " '$ac_arg'"
-+ ;;
-+ esac
-+ done
-+done
-+{ ac_configure_args0=; unset ac_configure_args0;}
-+{ ac_configure_args1=; unset ac_configure_args1;}
-+
-+# When interrupted or exit'd, cleanup temporary files, and complete
-+# config.log. We remove comments because anyway the quotes in there
-+# would cause problems or look ugly.
-+# WARNING: Use '\'' to represent an apostrophe within the trap.
-+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-+trap 'exit_status=$?
-+ # Save into config.log some information that might help in debugging.
-+ {
-+ echo
-+
-+ $as_echo "## ---------------- ##
-+## Cache variables. ##
-+## ---------------- ##"
-+ echo
-+ # The following way of writing the cache mishandles newlines in values,
-+(
-+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-+ eval ac_val=\$$ac_var
-+ case $ac_val in #(
-+ *${as_nl}*)
-+ case $ac_var in #(
-+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-+ esac
-+ case $ac_var in #(
-+ _ | IFS | as_nl) ;; #(
-+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-+ *) { eval $ac_var=; unset $ac_var;} ;;
-+ esac ;;
-+ esac
-+ done
-+ (set) 2>&1 |
-+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-+ *${as_nl}ac_space=\ *)
-+ sed -n \
-+ "s/'\''/'\''\\\\'\'''\''/g;
-+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-+ ;; #(
-+ *)
-+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-+ ;;
-+ esac |
-+ sort
-+)
-+ echo
-+
-+ $as_echo "## ----------------- ##
-+## Output variables. ##
-+## ----------------- ##"
-+ echo
-+ for ac_var in $ac_subst_vars
-+ do
-+ eval ac_val=\$$ac_var
-+ case $ac_val in
-+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-+ esac
-+ $as_echo "$ac_var='\''$ac_val'\''"
-+ done | sort
-+ echo
-+
-+ if test -n "$ac_subst_files"; then
-+ $as_echo "## ------------------- ##
-+## File substitutions. ##
-+## ------------------- ##"
-+ echo
-+ for ac_var in $ac_subst_files
-+ do
-+ eval ac_val=\$$ac_var
-+ case $ac_val in
-+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-+ esac
-+ $as_echo "$ac_var='\''$ac_val'\''"
-+ done | sort
-+ echo
-+ fi
-+
-+ if test -s confdefs.h; then
-+ $as_echo "## ----------- ##
-+## confdefs.h. ##
-+## ----------- ##"
-+ echo
-+ cat confdefs.h
-+ echo
-+ fi
-+ test "$ac_signal" != 0 &&
-+ $as_echo "$as_me: caught signal $ac_signal"
-+ $as_echo "$as_me: exit $exit_status"
-+ } >&5
-+ rm -f core *.core core.conftest.* &&
-+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-+ exit $exit_status
-+' 0
-+for ac_signal in 1 2 13 15; do
-+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-+done
-+ac_signal=0
-+
-+# confdefs.h avoids OS command line length limits that DEFS can exceed.
-+rm -f -r conftest* confdefs.h
-+
-+$as_echo "/* confdefs.h */" > confdefs.h
-+
-+# Predefined preprocessor variables.
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_NAME "$PACKAGE_NAME"
-+_ACEOF
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-+_ACEOF
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_VERSION "$PACKAGE_VERSION"
-+_ACEOF
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_STRING "$PACKAGE_STRING"
-+_ACEOF
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-+_ACEOF
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_URL "$PACKAGE_URL"
-+_ACEOF
-+
-+
-+# Let the site file select an alternate cache file if it wants to.
-+# Prefer an explicitly selected file to automatically selected ones.
-+ac_site_file1=NONE
-+ac_site_file2=NONE
-+if test -n "$CONFIG_SITE"; then
-+ # We do not want a PATH search for config.site.
-+ case $CONFIG_SITE in #((
-+ -*) ac_site_file1=./$CONFIG_SITE;;
-+ */*) ac_site_file1=$CONFIG_SITE;;
-+ *) ac_site_file1=./$CONFIG_SITE;;
-+ esac
-+elif test "x$prefix" != xNONE; then
-+ ac_site_file1=$prefix/share/config.site
-+ ac_site_file2=$prefix/etc/config.site
-+else
-+ ac_site_file1=$ac_default_prefix/share/config.site
-+ ac_site_file2=$ac_default_prefix/etc/config.site
-+fi
-+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-+do
-+ test "x$ac_site_file" = xNONE && continue
-+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-+ sed 's/^/| /' "$ac_site_file" >&5
-+ . "$ac_site_file" \
-+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+as_fn_error $? "failed to load site script $ac_site_file
-+See \`config.log' for more details" "$LINENO" 5; }
-+ fi
-+done
-+
-+if test -r "$cache_file"; then
-+ # Some versions of bash will fail to source /dev/null (special files
-+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
-+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-+$as_echo "$as_me: loading cache $cache_file" >&6;}
-+ case $cache_file in
-+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
-+ *) . "./$cache_file";;
-+ esac
-+ fi
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-+$as_echo "$as_me: creating cache $cache_file" >&6;}
-+ >$cache_file
-+fi
-+
-+# Check that the precious variables saved in the cache have kept the same
-+# value.
-+ac_cache_corrupted=false
-+for ac_var in $ac_precious_vars; do
-+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
-+ eval ac_new_set=\$ac_env_${ac_var}_set
-+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
-+ eval ac_new_val=\$ac_env_${ac_var}_value
-+ case $ac_old_set,$ac_new_set in
-+ set,)
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-+ ac_cache_corrupted=: ;;
-+ ,set)
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-+ ac_cache_corrupted=: ;;
-+ ,);;
-+ *)
-+ if test "x$ac_old_val" != "x$ac_new_val"; then
-+ # differences in whitespace do not lead to failure.
-+ ac_old_val_w=`echo x $ac_old_val`
-+ ac_new_val_w=`echo x $ac_new_val`
-+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-+ ac_cache_corrupted=:
-+ else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-+ eval $ac_var=\$ac_old_val
-+ fi
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
-+ fi;;
-+ esac
-+ # Pass precious variables to config.status.
-+ if test "$ac_new_set" = set; then
-+ case $ac_new_val in
-+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-+ *) ac_arg=$ac_var=$ac_new_val ;;
-+ esac
-+ case " $ac_configure_args " in
-+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
-+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-+ esac
-+ fi
-+done
-+if $ac_cache_corrupted; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-+fi
-+## -------------------- ##
-+## Main body of script. ##
-+## -------------------- ##
-+
-+ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+
-+
-+
-+am__api_version='1.11'
-+
-+ac_aux_dir=
-+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-+ if test -f "$ac_dir/install-sh"; then
-+ ac_aux_dir=$ac_dir
-+ ac_install_sh="$ac_aux_dir/install-sh -c"
-+ break
-+ elif test -f "$ac_dir/install.sh"; then
-+ ac_aux_dir=$ac_dir
-+ ac_install_sh="$ac_aux_dir/install.sh -c"
-+ break
-+ elif test -f "$ac_dir/shtool"; then
-+ ac_aux_dir=$ac_dir
-+ ac_install_sh="$ac_aux_dir/shtool install -c"
-+ break
-+ fi
-+done
-+if test -z "$ac_aux_dir"; then
-+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-+fi
-+
-+# These three variables are undocumented and unsupported,
-+# and are intended to be withdrawn in a future Autoconf release.
-+# They can cause serious problems if a builder's source tree is in a directory
-+# whose full name contains unusual characters.
-+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-+
-+
-+# Find a good install program. We prefer a C program (faster),
-+# so one script is as good as another. But avoid the broken or
-+# incompatible versions:
-+# SysV /etc/install, /usr/sbin/install
-+# SunOS /usr/etc/install
-+# IRIX /sbin/install
-+# AIX /bin/install
-+# AmigaOS /C/install, which installs bootblocks on floppy discs
-+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-+# OS/2's system install, which has a completely different semantic
-+# ./install, which can be erroneously created by make from ./install.sh.
-+# Reject install programs that cannot install multiple files.
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-+$as_echo_n "checking for a BSD-compatible install... " >&6; }
-+if test -z "$INSTALL"; then
-+if ${ac_cv_path_install+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ # Account for people who put trailing slashes in PATH elements.
-+case $as_dir/ in #((
-+ ./ | .// | /[cC]/* | \
-+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-+ /usr/ucb/* ) ;;
-+ *)
-+ # OSF1 and SCO ODT 3.0 have their own names for install.
-+ # Don't use installbsd from OSF since it installs stuff as root
-+ # by default.
-+ for ac_prog in ginstall scoinst install; do
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-+ if test $ac_prog = install &&
-+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-+ # AIX install. It has an incompatible calling convention.
-+ :
-+ elif test $ac_prog = install &&
-+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-+ # program-specific install script used by HP pwplus--don't use.
-+ :
-+ else
-+ rm -rf conftest.one conftest.two conftest.dir
-+ echo one > conftest.one
-+ echo two > conftest.two
-+ mkdir conftest.dir
-+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-+ test -s conftest.one && test -s conftest.two &&
-+ test -s conftest.dir/conftest.one &&
-+ test -s conftest.dir/conftest.two
-+ then
-+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-+ break 3
-+ fi
-+ fi
-+ fi
-+ done
-+ done
-+ ;;
-+esac
-+
-+ done
-+IFS=$as_save_IFS
-+
-+rm -rf conftest.one conftest.two conftest.dir
-+
-+fi
-+ if test "${ac_cv_path_install+set}" = set; then
-+ INSTALL=$ac_cv_path_install
-+ else
-+ # As a last resort, use the slow shell script. Don't cache a
-+ # value for INSTALL within a source directory, because that will
-+ # break other packages using the cache if that directory is
-+ # removed, or if the value is a relative name.
-+ INSTALL=$ac_install_sh
-+ fi
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-+$as_echo "$INSTALL" >&6; }
-+
-+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-+# It thinks the first close brace ends the variable substitution.
-+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-+
-+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-+
-+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-+$as_echo_n "checking whether build environment is sane... " >&6; }
-+# Just in case
-+sleep 1
-+echo timestamp > conftest.file
-+# Reject unsafe characters in $srcdir or the absolute working directory
-+# name. Accept space and tab only in the latter.
-+am_lf='
-+'
-+case `pwd` in
-+ *[\\\"\#\$\&\'\`$am_lf]*)
-+ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-+esac
-+case $srcdir in
-+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
-+ as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-+esac
-+
-+# Do `set' in a subshell so we don't clobber the current shell's
-+# arguments. Must try -L first in case configure is actually a
-+# symlink; some systems play weird games with the mod time of symlinks
-+# (eg FreeBSD returns the mod time of the symlink's containing
-+# directory).
-+if (
-+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-+ if test "$*" = "X"; then
-+ # -L didn't work.
-+ set X `ls -t "$srcdir/configure" conftest.file`
-+ fi
-+ rm -f conftest.file
-+ if test "$*" != "X $srcdir/configure conftest.file" \
-+ && test "$*" != "X conftest.file $srcdir/configure"; then
-+
-+ # If neither matched, then we have a broken ls. This can happen
-+ # if, for instance, CONFIG_SHELL is bash and it inherits a
-+ # broken ls alias from the environment. This has actually
-+ # happened. Such a system could not be considered "sane".
-+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
-+alias in your environment" "$LINENO" 5
-+ fi
-+
-+ test "$2" = conftest.file
-+ )
-+then
-+ # Ok.
-+ :
-+else
-+ as_fn_error $? "newly created file is older than distributed files!
-+Check your system clock" "$LINENO" 5
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-+$as_echo "yes" >&6; }
-+test "$program_prefix" != NONE &&
-+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
-+# Use a double $ so make ignores it.
-+test "$program_suffix" != NONE &&
-+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-+# Double any \ or $.
-+# By default was `s,x,x', remove it if useless.
-+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-+
-+# expand $ac_aux_dir to an absolute path
-+am_aux_dir=`cd $ac_aux_dir && pwd`
-+
-+if test x"${MISSING+set}" != xset; then
-+ case $am_aux_dir in
-+ *\ * | *\ *)
-+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-+ *)
-+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
-+ esac
-+fi
-+# Use eval to expand $SHELL
-+if eval "$MISSING --run true"; then
-+ am_missing_run="$MISSING --run "
-+else
-+ am_missing_run=
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-+fi
-+
-+if test x"${install_sh}" != xset; then
-+ case $am_aux_dir in
-+ *\ * | *\ *)
-+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-+ *)
-+ install_sh="\${SHELL} $am_aux_dir/install-sh"
-+ esac
-+fi
-+
-+# Installed binaries are usually stripped using `strip' when the user
-+# run `make install-strip'. However `strip' might not be the right
-+# tool to use in cross-compilation environments, therefore Automake
-+# will honor the `STRIP' environment variable to overrule this program.
-+if test "$cross_compiling" != no; then
-+ if test -n "$ac_tool_prefix"; then
-+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-+set dummy ${ac_tool_prefix}strip; 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_STRIP+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$STRIP"; then
-+ ac_cv_prog_STRIP="$STRIP" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-+ $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
-+STRIP=$ac_cv_prog_STRIP
-+if test -n "$STRIP"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-+$as_echo "$STRIP" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+fi
-+if test -z "$ac_cv_prog_STRIP"; then
-+ ac_ct_STRIP=$STRIP
-+ # Extract the first word of "strip", so it can be a program name with args.
-+set dummy strip; 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_ac_ct_STRIP+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$ac_ct_STRIP"; then
-+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_ac_ct_STRIP="strip"
-+ $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
-+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-+if test -n "$ac_ct_STRIP"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-+$as_echo "$ac_ct_STRIP" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+ if test "x$ac_ct_STRIP" = x; then
-+ STRIP=":"
-+ 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
-+ STRIP=$ac_ct_STRIP
-+ fi
-+else
-+ STRIP="$ac_cv_prog_STRIP"
-+fi
-+
-+fi
-+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-+if test -z "$MKDIR_P"; then
-+ if ${ac_cv_path_mkdir+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_prog in mkdir gmkdir; do
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-+ 'mkdir (GNU coreutils) '* | \
-+ 'mkdir (coreutils) '* | \
-+ 'mkdir (fileutils) '4.1*)
-+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-+ break 3;;
-+ esac
-+ done
-+ done
-+ done
-+IFS=$as_save_IFS
-+
-+fi
-+
-+ test -d ./--version && rmdir ./--version
-+ if test "${ac_cv_path_mkdir+set}" = set; then
-+ MKDIR_P="$ac_cv_path_mkdir -p"
-+ else
-+ # As a last resort, use the slow shell script. Don't cache a
-+ # value for MKDIR_P within a source directory, because that will
-+ # break other packages using the cache if that directory is
-+ # removed, or if the value is a relative name.
-+ MKDIR_P="$ac_install_sh -d"
-+ fi
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-+$as_echo "$MKDIR_P" >&6; }
-+
-+mkdir_p="$MKDIR_P"
-+case $mkdir_p in
-+ [\\/$]* | ?:[\\/]*) ;;
-+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-+esac
-+
-+for ac_prog in gawk mawk nawk awk
-+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_AWK+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$AWK"; then
-+ ac_cv_prog_AWK="$AWK" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_AWK="$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
-+AWK=$ac_cv_prog_AWK
-+if test -n "$AWK"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-+$as_echo "$AWK" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+ test -n "$AWK" && break
-+done
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-+set x ${MAKE-make}
-+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ cat >conftest.make <<\_ACEOF
-+SHELL = /bin/sh
-+all:
-+ @echo '@@@%%%=$(MAKE)=@@@%%%'
-+_ACEOF
-+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-+case `${MAKE-make} -f conftest.make 2>/dev/null` in
-+ *@@@%%%=?*=@@@%%%*)
-+ eval ac_cv_prog_make_${ac_make}_set=yes;;
-+ *)
-+ eval ac_cv_prog_make_${ac_make}_set=no;;
-+esac
-+rm -f conftest.make
-+fi
-+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-+$as_echo "yes" >&6; }
-+ SET_MAKE=
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+ SET_MAKE="MAKE=${MAKE-make}"
-+fi
-+
-+rm -rf .tst 2>/dev/null
-+mkdir .tst 2>/dev/null
-+if test -d .tst; then
-+ am__leading_dot=.
-+else
-+ am__leading_dot=_
-+fi
-+rmdir .tst 2>/dev/null
-+
-+if test "`cd $srcdir && pwd`" != "`pwd`"; then
-+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-+ # is not polluted with repeated "-I."
-+ am__isrc=' -I$(srcdir)'
-+ # test to see if srcdir already configured
-+ if test -f $srcdir/config.status; then
-+ as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-+ fi
-+fi
-+
-+# test whether we have cygpath
-+if test -z "$CYGPATH_W"; then
-+ if (cygpath --version) >/dev/null 2>/dev/null; then
-+ CYGPATH_W='cygpath -w'
-+ else
-+ CYGPATH_W=echo
-+ fi
-+fi
-+
-+
-+# Define the identity of the package.
-+ PACKAGE='libmspack'
-+ VERSION='0.4alpha'
-+
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE "$PACKAGE"
-+_ACEOF
-+
-+
-+cat >>confdefs.h <<_ACEOF
-+#define VERSION "$VERSION"
-+_ACEOF
-+
-+# Some tools Automake needs.
-+
-+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-+
-+
-+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-+
-+
-+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-+
-+
-+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-+
-+
-+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-+
-+# We need awk for the "check" target. 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}'
-+
-+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
-+
-+
-+
-+
-+
-+
-+ac_config_headers="$ac_config_headers config.h"
-+
-+
-+# Check whether --enable-silent-rules was given.
-+if test "${enable_silent_rules+set}" = set; then :
-+ enableval=$enable_silent_rules;
-+fi
-+
-+case $enable_silent_rules in
-+yes) AM_DEFAULT_VERBOSITY=0;;
-+no) AM_DEFAULT_VERBOSITY=1;;
-+*) AM_DEFAULT_VERBOSITY=0;;
-+esac
-+am_make=${MAKE-make}
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
-+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
-+if ${am_cv_make_support_nested_variables+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if $as_echo 'TRUE=$(BAR$(V))
-+BAR0=false
-+BAR1=true
-+V=1
-+am__doit:
-+ @$(TRUE)
-+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
-+ am_cv_make_support_nested_variables=yes
-+else
-+ am_cv_make_support_nested_variables=no
-+fi
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
-+$as_echo "$am_cv_make_support_nested_variables" >&6; }
-+if test $am_cv_make_support_nested_variables = yes; then
-+ AM_V='$(V)'
-+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-+else
-+ AM_V=$AM_DEFAULT_VERBOSITY
-+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-+fi
-+AM_BACKSLASH='\'
-+
-+
-+# --enable-debug option
-+# Check whether --enable-debug was given.
-+if test "${enable_debug+set}" = set; then :
-+ enableval=$enable_debug; enable_debug=$enableval
-+else
-+ enable_debug=no
-+fi
-+
-+if test x$enable_debug = xyes; then
-+
-+$as_echo "#define DEBUG 1" >>confdefs.h
-+
-+fi
-+ if test x$enable_debug = 'xyes'; then
-+ DEBUG_TRUE=
-+ DEBUG_FALSE='#'
-+else
-+ DEBUG_TRUE='#'
-+ DEBUG_FALSE=
-+fi
-+
-+
-+# Checks for programs.
-+ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+if test -n "$ac_tool_prefix"; then
-+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-+set dummy ${ac_tool_prefix}gcc; 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_CC+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$CC"; then
-+ ac_cv_prog_CC="$CC" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
-+ $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
-+CC=$ac_cv_prog_CC
-+if test -n "$CC"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-+$as_echo "$CC" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+fi
-+if test -z "$ac_cv_prog_CC"; then
-+ ac_ct_CC=$CC
-+ # Extract the first word of "gcc", so it can be a program name with args.
-+set dummy gcc; 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_ac_ct_CC+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$ac_ct_CC"; then
-+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_ac_ct_CC="gcc"
-+ $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
-+ac_ct_CC=$ac_cv_prog_ac_ct_CC
-+if test -n "$ac_ct_CC"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-+$as_echo "$ac_ct_CC" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+ if test "x$ac_ct_CC" = x; then
-+ CC=""
-+ 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
-+ CC=$ac_ct_CC
-+ fi
-+else
-+ CC="$ac_cv_prog_CC"
-+fi
-+
-+if test -z "$CC"; then
-+ if test -n "$ac_tool_prefix"; then
-+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-+set dummy ${ac_tool_prefix}cc; 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_CC+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$CC"; then
-+ ac_cv_prog_CC="$CC" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_CC="${ac_tool_prefix}cc"
-+ $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
-+CC=$ac_cv_prog_CC
-+if test -n "$CC"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-+$as_echo "$CC" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+ fi
-+fi
-+if test -z "$CC"; then
-+ # Extract the first word of "cc", so it can be a program name with args.
-+set dummy cc; 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_CC+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$CC"; then
-+ ac_cv_prog_CC="$CC" # Let the user override the test.
-+else
-+ ac_prog_rejected=no
-+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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-+ ac_prog_rejected=yes
-+ continue
-+ fi
-+ ac_cv_prog_CC="cc"
-+ $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
-+
-+if test $ac_prog_rejected = yes; then
-+ # We found a bogon in the path, so make sure we never use it.
-+ set dummy $ac_cv_prog_CC
-+ shift
-+ if test $# != 0; then
-+ # We chose a different compiler from the bogus one.
-+ # However, it has the same basename, so the bogon will be chosen
-+ # first if we set CC to just the basename; use the full file name.
-+ shift
-+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-+ fi
-+fi
-+fi
-+fi
-+CC=$ac_cv_prog_CC
-+if test -n "$CC"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-+$as_echo "$CC" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+fi
-+if test -z "$CC"; then
-+ if test -n "$ac_tool_prefix"; then
-+ for ac_prog in cl.exe
-+ do
-+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-+set dummy $ac_tool_prefix$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_CC+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$CC"; then
-+ ac_cv_prog_CC="$CC" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_CC="$ac_tool_prefix$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
-+CC=$ac_cv_prog_CC
-+if test -n "$CC"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-+$as_echo "$CC" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+ test -n "$CC" && break
-+ done
-+fi
-+if test -z "$CC"; then
-+ ac_ct_CC=$CC
-+ for ac_prog in cl.exe
-+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_ac_ct_CC+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$ac_ct_CC"; then
-+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_ac_ct_CC="$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
-+ac_ct_CC=$ac_cv_prog_ac_ct_CC
-+if test -n "$ac_ct_CC"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-+$as_echo "$ac_ct_CC" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+ test -n "$ac_ct_CC" && break
-+done
-+
-+ if test "x$ac_ct_CC" = x; then
-+ CC=""
-+ 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
-+ CC=$ac_ct_CC
-+ fi
-+fi
-+
-+fi
-+
-+
-+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+as_fn_error $? "no acceptable C compiler found in \$PATH
-+See \`config.log' for more details" "$LINENO" 5; }
-+
-+# Provide some information about the compiler.
-+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-+set X $ac_compile
-+ac_compiler=$2
-+for ac_option in --version -v -V -qversion; do
-+ { { ac_try="$ac_compiler $ac_option >&5"
-+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 "$ac_compiler $ac_option >&5") 2>conftest.err
-+ ac_status=$?
-+ if test -s conftest.err; then
-+ sed '10a\
-+... rest of stderr output deleted ...
-+ 10q' conftest.err >conftest.er1
-+ cat conftest.er1 >&5
-+ fi
-+ rm -f conftest.er1 conftest.err
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; }
-+done
-+
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+ac_clean_files_save=$ac_clean_files
-+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-+# Try to create an executable without -o first, disregard a.out.
-+# It will help us diagnose broken compilers, and finding out an intuition
-+# of exeext.
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-+$as_echo_n "checking whether the C compiler works... " >&6; }
-+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-+
-+# The possible output files:
-+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-+
-+ac_rmfiles=
-+for ac_file in $ac_files
-+do
-+ case $ac_file in
-+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-+ esac
-+done
-+rm -f $ac_rmfiles
-+
-+if { { ac_try="$ac_link_default"
-+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 "$ac_link_default") 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; }; then :
-+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-+# in a Makefile. We should not override ac_cv_exeext if it was cached,
-+# so that the user can short-circuit this test for compilers unknown to
-+# Autoconf.
-+for ac_file in $ac_files ''
-+do
-+ test -f "$ac_file" || continue
-+ case $ac_file in
-+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-+ ;;
-+ [ab].out )
-+ # We found the default executable, but exeext='' is most
-+ # certainly right.
-+ break;;
-+ *.* )
-+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-+ then :; else
-+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-+ fi
-+ # We set ac_cv_exeext here because the later test for it is not
-+ # safe: cross compilers may not add the suffix if given an `-o'
-+ # argument, so we may need to know it at that point already.
-+ # Even if this section looks crufty: it has the advantage of
-+ # actually working.
-+ break;;
-+ * )
-+ break;;
-+ esac
-+done
-+test "$ac_cv_exeext" = no && ac_cv_exeext=
-+
-+else
-+ ac_file=''
-+fi
-+if test -z "$ac_file"; then :
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+$as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+as_fn_error 77 "C compiler cannot create executables
-+See \`config.log' for more details" "$LINENO" 5; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-+$as_echo "yes" >&6; }
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-+$as_echo_n "checking for C compiler default output file name... " >&6; }
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-+$as_echo "$ac_file" >&6; }
-+ac_exeext=$ac_cv_exeext
-+
-+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-+ac_clean_files=$ac_clean_files_save
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-+$as_echo_n "checking for suffix of executables... " >&6; }
-+if { { ac_try="$ac_link"
-+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 "$ac_link") 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; }; then :
-+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
-+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-+# work properly (i.e., refer to `conftest.exe'), while it won't with
-+# `rm'.
-+for ac_file in conftest.exe conftest conftest.*; do
-+ test -f "$ac_file" || continue
-+ case $ac_file in
-+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-+ break;;
-+ * ) break;;
-+ esac
-+done
-+else
-+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-+See \`config.log' for more details" "$LINENO" 5; }
-+fi
-+rm -f conftest conftest$ac_cv_exeext
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-+$as_echo "$ac_cv_exeext" >&6; }
-+
-+rm -f conftest.$ac_ext
-+EXEEXT=$ac_cv_exeext
-+ac_exeext=$EXEEXT
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include <stdio.h>
-+int
-+main ()
-+{
-+FILE *f = fopen ("conftest.out", "w");
-+ return ferror (f) || fclose (f) != 0;
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+ac_clean_files="$ac_clean_files conftest.out"
-+# Check that the compiler produces executables we can run. If not, either
-+# the compiler is broken, or we cross compile.
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-+$as_echo_n "checking whether we are cross compiling... " >&6; }
-+if test "$cross_compiling" != yes; then
-+ { { ac_try="$ac_link"
-+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 "$ac_link") 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; }
-+ if { ac_try='./conftest$ac_cv_exeext'
-+ { { 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 "$ac_try") 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; }; }; then
-+ cross_compiling=no
-+ else
-+ if test "$cross_compiling" = maybe; then
-+ cross_compiling=yes
-+ else
-+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+as_fn_error $? "cannot run C compiled programs.
-+If you meant to cross compile, use \`--host'.
-+See \`config.log' for more details" "$LINENO" 5; }
-+ fi
-+ fi
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-+$as_echo "$cross_compiling" >&6; }
-+
-+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-+ac_clean_files=$ac_clean_files_save
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-+$as_echo_n "checking for suffix of object files... " >&6; }
-+if ${ac_cv_objext+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.o conftest.obj
-+if { { ac_try="$ac_compile"
-+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 "$ac_compile") 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; }; then :
-+ for ac_file in conftest.o conftest.obj conftest.*; do
-+ test -f "$ac_file" || continue;
-+ case $ac_file in
-+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-+ break;;
-+ esac
-+done
-+else
-+ $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+as_fn_error $? "cannot compute suffix of object files: cannot compile
-+See \`config.log' for more details" "$LINENO" 5; }
-+fi
-+rm -f conftest.$ac_cv_objext conftest.$ac_ext
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-+$as_echo "$ac_cv_objext" >&6; }
-+OBJEXT=$ac_cv_objext
-+ac_objext=$OBJEXT
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-+if ${ac_cv_c_compiler_gnu+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+#ifndef __GNUC__
-+ choke me
-+#endif
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ ac_compiler_gnu=yes
-+else
-+ ac_compiler_gnu=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+ac_cv_c_compiler_gnu=$ac_compiler_gnu
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-+if test $ac_compiler_gnu = yes; then
-+ GCC=yes
-+else
-+ GCC=
-+fi
-+ac_test_CFLAGS=${CFLAGS+set}
-+ac_save_CFLAGS=$CFLAGS
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-+$as_echo_n "checking whether $CC accepts -g... " >&6; }
-+if ${ac_cv_prog_cc_g+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ ac_save_c_werror_flag=$ac_c_werror_flag
-+ ac_c_werror_flag=yes
-+ ac_cv_prog_cc_g=no
-+ CFLAGS="-g"
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ ac_cv_prog_cc_g=yes
-+else
-+ CFLAGS=""
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+
-+else
-+ ac_c_werror_flag=$ac_save_c_werror_flag
-+ CFLAGS="-g"
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ ac_cv_prog_cc_g=yes
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+ ac_c_werror_flag=$ac_save_c_werror_flag
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-+$as_echo "$ac_cv_prog_cc_g" >&6; }
-+if test "$ac_test_CFLAGS" = set; then
-+ CFLAGS=$ac_save_CFLAGS
-+elif test $ac_cv_prog_cc_g = yes; then
-+ if test "$GCC" = yes; then
-+ CFLAGS="-g -O2"
-+ else
-+ CFLAGS="-g"
-+ fi
-+else
-+ if test "$GCC" = yes; then
-+ CFLAGS="-O2"
-+ else
-+ CFLAGS=
-+ fi
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-+if ${ac_cv_prog_cc_c89+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ ac_cv_prog_cc_c89=no
-+ac_save_CC=$CC
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include <stdarg.h>
-+#include <stdio.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-+struct buf { int x; };
-+FILE * (*rcsopen) (struct buf *, struct stat *, int);
-+static char *e (p, i)
-+ char **p;
-+ int i;
-+{
-+ return p[i];
-+}
-+static char *f (char * (*g) (char **, int), char **p, ...)
-+{
-+ char *s;
-+ va_list v;
-+ va_start (v,p);
-+ s = g (p, va_arg (v,int));
-+ va_end (v);
-+ return s;
-+}
-+
-+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
-+ function prototypes and stuff, but not '\xHH' hex character constants.
-+ These don't provoke an error unfortunately, instead are silently treated
-+ as 'x'. The following induces an error, until -std is added to get
-+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
-+ array size at least. It's necessary to write '\x00'==0 to get something
-+ that's true only with -std. */
-+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-+
-+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-+ inside strings and character constants. */
-+#define FOO(x) 'x'
-+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-+
-+int test (int i, double x);
-+struct s1 {int (*f) (int a);};
-+struct s2 {int (*f) (double a);};
-+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-+int argc;
-+char **argv;
-+int
-+main ()
-+{
-+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-+do
-+ CC="$ac_save_CC $ac_arg"
-+ if ac_fn_c_try_compile "$LINENO"; then :
-+ ac_cv_prog_cc_c89=$ac_arg
-+fi
-+rm -f core conftest.err conftest.$ac_objext
-+ test "x$ac_cv_prog_cc_c89" != "xno" && break
-+done
-+rm -f conftest.$ac_ext
-+CC=$ac_save_CC
-+
-+fi
-+# AC_CACHE_VAL
-+case "x$ac_cv_prog_cc_c89" in
-+ x)
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-+$as_echo "none needed" >&6; } ;;
-+ xno)
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-+$as_echo "unsupported" >&6; } ;;
-+ *)
-+ CC="$CC $ac_cv_prog_cc_c89"
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-+esac
-+if test "x$ac_cv_prog_cc_c89" != xno; then :
-+
-+fi
-+
-+ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+DEPDIR="${am__leading_dot}deps"
-+
-+ac_config_commands="$ac_config_commands depfiles"
-+
-+
-+am_make=${MAKE-make}
-+cat > confinc << 'END'
-+am__doit:
-+ @echo this is the am__doit target
-+.PHONY: am__doit
-+END
-+# If we don't find an include directive, just comment out the code.
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-+$as_echo_n "checking for style of include used by $am_make... " >&6; }
-+am__include="#"
-+am__quote=
-+_am_result=none
-+# First try GNU make style include.
-+echo "include confinc" > confmf
-+# Ignore all kinds of additional output from `make'.
-+case `$am_make -s -f confmf 2> /dev/null` in #(
-+*the\ am__doit\ target*)
-+ am__include=include
-+ am__quote=
-+ _am_result=GNU
-+ ;;
-+esac
-+# Now try BSD make style include.
-+if test "$am__include" = "#"; then
-+ echo '.include "confinc"' > confmf
-+ case `$am_make -s -f confmf 2> /dev/null` in #(
-+ *the\ am__doit\ target*)
-+ am__include=.include
-+ am__quote="\""
-+ _am_result=BSD
-+ ;;
-+ esac
-+fi
-+
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-+$as_echo "$_am_result" >&6; }
-+rm -f confinc confmf
-+
-+# Check whether --enable-dependency-tracking was given.
-+if test "${enable_dependency_tracking+set}" = set; then :
-+ enableval=$enable_dependency_tracking;
-+fi
-+
-+if test "x$enable_dependency_tracking" != xno; then
-+ am_depcomp="$ac_aux_dir/depcomp"
-+ AMDEPBACKSLASH='\'
-+ am__nodep='_no'
-+fi
-+ if test "x$enable_dependency_tracking" != xno; then
-+ AMDEP_TRUE=
-+ AMDEP_FALSE='#'
-+else
-+ AMDEP_TRUE='#'
-+ AMDEP_FALSE=
-+fi
-+
-+
-+
-+depcc="$CC" am_compiler_list=
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-+$as_echo_n "checking dependency style of $depcc... " >&6; }
-+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-+ # We make a subdir and do the tests there. Otherwise we can end up
-+ # making bogus files that we don't know about and never remove. For
-+ # instance it was reported that on HP-UX the gcc test will end up
-+ # making a dummy file named `D' -- because `-MD' means `put the output
-+ # in D'.
-+ rm -rf conftest.dir
-+ mkdir conftest.dir
-+ # Copy depcomp to subdir because otherwise we won't find it if we're
-+ # using a relative directory.
-+ cp "$am_depcomp" conftest.dir
-+ cd conftest.dir
-+ # We will build objects and dependencies in a subdirectory because
-+ # it helps to detect inapplicable dependency modes. For instance
-+ # both Tru64's cc and ICC support -MD to output dependencies as a
-+ # side effect of compilation, but ICC will put the dependencies in
-+ # the current directory while Tru64 will put them in the object
-+ # directory.
-+ mkdir sub
-+
-+ am_cv_CC_dependencies_compiler_type=none
-+ if test "$am_compiler_list" = ""; then
-+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-+ fi
-+ am__universal=false
-+ case " $depcc " in #(
-+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
-+ esac
-+
-+ for depmode in $am_compiler_list; do
-+ # Setup a source with many dependencies, because some compilers
-+ # like to wrap large dependency lists on column 80 (with \), and
-+ # we should not choose a depcomp mode which is confused by this.
-+ #
-+ # We need to recreate these files for each test, as the compiler may
-+ # overwrite some of them when testing with obscure command lines.
-+ # This happens at least with the AIX C compiler.
-+ : > sub/conftest.c
-+ for i in 1 2 3 4 5 6; do
-+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
-+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-+ # Solaris 8's {/usr,}/bin/sh.
-+ touch sub/conftst$i.h
-+ done
-+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-+
-+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
-+ # mode. It turns out that the SunPro C++ compiler does not properly
-+ # handle `-M -o', and we need to detect this. Also, some Intel
-+ # versions had trouble with output in subdirs
-+ am__obj=sub/conftest.${OBJEXT-o}
-+ am__minus_obj="-o $am__obj"
-+ case $depmode in
-+ gcc)
-+ # This depmode causes a compiler race in universal mode.
-+ test "$am__universal" = false || continue
-+ ;;
-+ nosideeffect)
-+ # after this tag, mechanisms are not by side-effect, so they'll
-+ # only be used when explicitly requested
-+ if test "x$enable_dependency_tracking" = xyes; then
-+ continue
-+ else
-+ break
-+ fi
-+ ;;
-+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-+ # This compiler won't grok `-c -o', but also, the minuso test has
-+ # not run yet. These depmodes are late enough in the game, and
-+ # so weak that their functioning should not be impacted.
-+ am__obj=conftest.${OBJEXT-o}
-+ am__minus_obj=
-+ ;;
-+ none) break ;;
-+ esac
-+ if depmode=$depmode \
-+ source=sub/conftest.c object=$am__obj \
-+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-+ >/dev/null 2>conftest.err &&
-+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-+ # icc doesn't choke on unknown options, it will just issue warnings
-+ # or remarks (even with -Werror). So we grep stderr for any message
-+ # that says an option was ignored or not supported.
-+ # When given -MP, icc 7.0 and 7.1 complain thusly:
-+ # icc: Command line warning: ignoring option '-M'; no argument required
-+ # The diagnosis changed in icc 8.0:
-+ # icc: Command line remark: option '-MP' not supported
-+ if (grep 'ignoring option' conftest.err ||
-+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-+ am_cv_CC_dependencies_compiler_type=$depmode
-+ break
-+ fi
-+ fi
-+ done
-+
-+ cd ..
-+ rm -rf conftest.dir
-+else
-+ am_cv_CC_dependencies_compiler_type=none
-+fi
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-+
-+ if
-+ test "x$enable_dependency_tracking" != xno \
-+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-+ am__fastdepCC_TRUE=
-+ am__fastdepCC_FALSE='#'
-+else
-+ am__fastdepCC_TRUE='#'
-+ am__fastdepCC_FALSE=
-+fi
-+
-+
-+ if test x$GCC = 'xyes'; then
-+ GCC_TRUE=
-+ GCC_FALSE='#'
-+else
-+ GCC_TRUE='#'
-+ GCC_FALSE=
-+fi
-+
-+
-+case `pwd` in
-+ *\ * | *\ *)
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-+esac
-+
-+
-+
-+macro_version='2.4.2'
-+macro_revision='1.3337'
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+ltmain="$ac_aux_dir/ltmain.sh"
-+
-+# Make sure we can run config.sub.
-+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-+$as_echo_n "checking build system type... " >&6; }
-+if ${ac_cv_build+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ ac_build_alias=$build_alias
-+test "x$ac_build_alias" = x &&
-+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-+test "x$ac_build_alias" = x &&
-+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-+$as_echo "$ac_cv_build" >&6; }
-+case $ac_cv_build in
-+*-*-*) ;;
-+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-+esac
-+build=$ac_cv_build
-+ac_save_IFS=$IFS; IFS='-'
-+set x $ac_cv_build
-+shift
-+build_cpu=$1
-+build_vendor=$2
-+shift; shift
-+# Remember, the first character of IFS is used to create $*,
-+# except with old shells:
-+build_os=$*
-+IFS=$ac_save_IFS
-+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-+
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-+$as_echo_n "checking host system type... " >&6; }
-+if ${ac_cv_host+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test "x$host_alias" = x; then
-+ ac_cv_host=$ac_cv_build
-+else
-+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-+fi
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-+$as_echo "$ac_cv_host" >&6; }
-+case $ac_cv_host in
-+*-*-*) ;;
-+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-+esac
-+host=$ac_cv_host
-+ac_save_IFS=$IFS; IFS='-'
-+set x $ac_cv_host
-+shift
-+host_cpu=$1
-+host_vendor=$2
-+shift; shift
-+# Remember, the first character of IFS is used to create $*,
-+# except with old shells:
-+host_os=$*
-+IFS=$ac_save_IFS
-+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-+
-+
-+# Backslashify metacharacters that are still active within
-+# double-quoted strings.
-+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-+
-+# Same as above, but do not quote variable references.
-+double_quote_subst='s/\(["`\\]\)/\\\1/g'
-+
-+# Sed substitution to delay expansion of an escaped shell variable in a
-+# double_quote_subst'ed string.
-+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-+
-+# Sed substitution to delay expansion of an escaped single quote.
-+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-+
-+# Sed substitution to avoid accidental globbing in evaled expressions
-+no_glob_subst='s/\*/\\\*/g'
-+
-+ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-+$as_echo_n "checking how to print strings... " >&6; }
-+# Test print first, because it will be a builtin if present.
-+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-+ ECHO='print -r --'
-+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-+ ECHO='printf %s\n'
-+else
-+ # Use this function as a fallback that always works.
-+ func_fallback_echo ()
-+ {
-+ eval 'cat <<_LTECHO_EOF
-+$1
-+_LTECHO_EOF'
-+ }
-+ ECHO='func_fallback_echo'
-+fi
-+
-+# func_echo_all arg...
-+# Invoke $ECHO with all args, space-separated.
-+func_echo_all ()
-+{
-+ $ECHO ""
-+}
-+
-+case "$ECHO" in
-+ printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-+$as_echo "printf" >&6; } ;;
-+ print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-+$as_echo "print -r" >&6; } ;;
-+ *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-+$as_echo "cat" >&6; } ;;
-+esac
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-+if ${ac_cv_path_SED+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-+ for ac_i in 1 2 3 4 5 6 7; do
-+ ac_script="$ac_script$as_nl$ac_script"
-+ done
-+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-+ { ac_script=; unset ac_script;}
-+ if test -z "$SED"; then
-+ ac_path_SED_found=false
-+ # Loop through the user's path and test for each of PROGNAME-LIST
-+ 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_prog in sed gsed; do
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-+ { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-+# Check for GNU ac_path_SED and select it if it is found.
-+ # Check for GNU $ac_path_SED
-+case `"$ac_path_SED" --version 2>&1` in
-+*GNU*)
-+ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-+*)
-+ ac_count=0
-+ $as_echo_n 0123456789 >"conftest.in"
-+ while :
-+ do
-+ cat "conftest.in" "conftest.in" >"conftest.tmp"
-+ mv "conftest.tmp" "conftest.in"
-+ cp "conftest.in" "conftest.nl"
-+ $as_echo '' >> "conftest.nl"
-+ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-+ as_fn_arith $ac_count + 1 && ac_count=$as_val
-+ if test $ac_count -gt ${ac_path_SED_max-0}; then
-+ # Best one so far, save it but keep looking for a better one
-+ ac_cv_path_SED="$ac_path_SED"
-+ ac_path_SED_max=$ac_count
-+ fi
-+ # 10*(2^10) chars as input seems more than enough
-+ test $ac_count -gt 10 && break
-+ done
-+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-+esac
-+
-+ $ac_path_SED_found && break 3
-+ done
-+ done
-+ done
-+IFS=$as_save_IFS
-+ if test -z "$ac_cv_path_SED"; then
-+ as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-+ fi
-+else
-+ ac_cv_path_SED=$SED
-+fi
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-+$as_echo "$ac_cv_path_SED" >&6; }
-+ SED="$ac_cv_path_SED"
-+ rm -f conftest.sed
-+
-+test -z "$SED" && SED=sed
-+Xsed="$SED -e 1s/^X//"
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-+if ${ac_cv_path_GREP+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -z "$GREP"; then
-+ ac_path_GREP_found=false
-+ # Loop through the user's path and test for each of PROGNAME-LIST
-+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_prog in grep ggrep; do
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-+# Check for GNU ac_path_GREP and select it if it is found.
-+ # Check for GNU $ac_path_GREP
-+case `"$ac_path_GREP" --version 2>&1` in
-+*GNU*)
-+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-+*)
-+ ac_count=0
-+ $as_echo_n 0123456789 >"conftest.in"
-+ while :
-+ do
-+ cat "conftest.in" "conftest.in" >"conftest.tmp"
-+ mv "conftest.tmp" "conftest.in"
-+ cp "conftest.in" "conftest.nl"
-+ $as_echo 'GREP' >> "conftest.nl"
-+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break