From 22db8b2f54c90d52cd1819caeeaa571d28e6645b Mon Sep 17 00:00:00 2001 From: Luigi Scarso <luigi.scarso@gmail.com> Date: Tue, 6 Feb 2018 17:00:22 +0000 Subject: [PATCH] sync with TeXLive revision 46553. --- source/libs/README | 4 +- source/libs/zziplib/ChangeLog | 5 + source/libs/zziplib/README | 4 +- source/libs/zziplib/TLpatches/ChangeLog | 5 + source/libs/zziplib/TLpatches/TL-Changes | 7 +- source/libs/zziplib/TLpatches/patch-01-binary | 231 +- source/libs/zziplib/TLpatches/patch-02-bugfix | 42 +- .../libs/zziplib/TLpatches/patch-03-w64-ptr | 8 +- source/libs/zziplib/autom4te.cache/output.0 | 5937 ++++++++++++ source/libs/zziplib/autom4te.cache/output.1 | 8477 +++++++++++++++++ source/libs/zziplib/autom4te.cache/output.2 | 8477 +++++++++++++++++ source/libs/zziplib/autom4te.cache/requests | 371 + source/libs/zziplib/autom4te.cache/traces.0 | 133 + source/libs/zziplib/autom4te.cache/traces.1 | 3136 ++++++ source/libs/zziplib/autom4te.cache/traces.2 | 687 ++ source/libs/zziplib/configure | 20 +- .../zziplib/m4/ac_sys_largefile_sensitive.m4 | 2 +- source/libs/zziplib/version.ac | 2 +- source/libs/zziplib/zziplib-src/ChangeLog | 34 +- source/libs/zziplib/zziplib-src/Makefile.am | 2 + source/libs/zziplib/zziplib-src/Makefile.in | 2 + source/libs/zziplib/zziplib-src/README | 13 +- .../zziplib/zziplib-src/SDL/SDL_rwops_zzip.c | 62 + .../zziplib/zziplib-src/SDL/SDL_rwops_zzip.pc | 2 +- .../zziplib-src/SDL/zzip-sdl-config.pc | 10 - .../zziplib/zziplib-src/SDL/zzip-sdl-rwops.pc | 8 - source/libs/zziplib/zziplib-src/TODO | 2 +- .../libs/zziplib/zziplib-src/bins/Makefile.am | 7 +- .../libs/zziplib/zziplib-src/bins/Makefile.in | 26 +- .../libs/zziplib/zziplib-src/bins/unzip-mem.c | 4 - .../zziplib/zziplib-src/bins/unzzip-states.h | 24 + source/libs/zziplib/zziplib-src/bins/unzzip.c | 14 +- .../zziplib/zziplib-src/bins/unzzipcat-big.c | 93 +- .../zziplib/zziplib-src/bins/unzzipcat-mem.c | 77 +- .../zziplib/zziplib-src/bins/unzzipcat-mix.c | 97 +- .../zziplib/zziplib-src/bins/unzzipcat-zip.c | 111 +- .../bins/{unzzip.h => unzzipcat-zip.h} | 1 - .../zziplib/zziplib-src/bins/unzzipdir-big.c | 50 +- .../zziplib/zziplib-src/bins/unzzipdir-mem.c | 79 +- .../zziplib/zziplib-src/bins/unzzipdir-mix.c | 90 +- .../zziplib/zziplib-src/bins/unzzipdir-zip.c | 84 +- .../zziplib/zziplib-src/bins/unzzipdir-zip.h | 10 + .../zziplib/zziplib-src/bins/unzzipshow.c | 118 - source/libs/zziplib/zziplib-src/bins/zzdir.c | 8 +- source/libs/zziplib/zziplib-src/bins/zzip.c | 48 +- .../libs/zziplib/zziplib-src/bins/zziplib.m4 | 2 +- .../zziplib/zziplib-src/bins/zzipmake-zip.c | 77 + .../zziplib/zziplib-src/bins/zzipmake-zip.h | 9 + .../libs/zziplib/zziplib-src/bins/zzxorcopy.c | 4 - .../libs/zziplib/zziplib-src/bins/zzxordir.c | 8 +- .../libs/zziplib/zziplib-src/docs/Makefile.am | 2 +- .../libs/zziplib/zziplib-src/docs/Makefile.in | 2 +- .../zziplib/zziplib-src/docs/README.MSVC6 | 2 +- .../libs/zziplib/zziplib-src/docs/README.SDL | 4 +- source/libs/zziplib/zziplib-src/docs/body.htm | 7 +- .../libs/zziplib/zziplib-src/docs/configs.htm | 4 +- .../zziplib-src/docs/cpp2markdown-1.py | 249 - .../zziplib/zziplib-src/docs/cpp2markdown.py | 195 - .../zziplib/zziplib-src/docs/developer.htm | 2 +- .../zziplib/zziplib-src/docs/dir-zzip-192.png | Bin 10624 -> 0 bytes .../zziplib/zziplib-src/docs/dir-zzip-64.png | Bin 3539 -> 0 bytes .../zziplib/zziplib-src/docs/download.htm | 2 +- source/libs/zziplib/zziplib-src/docs/faq.htm | 2 +- .../zziplib/zziplib-src/docs/functions.htm | 2 +- .../libs/zziplib/zziplib-src/docs/make-doc.py | 2 +- source/libs/zziplib/zziplib-src/docs/site.htm | 68 - .../zziplib/zziplib-src/docs/zzip-api.htm | 2 +- .../zziplib/zziplib-src/docs/zzip-basics.htm | 4 +- .../zziplib/zziplib-src/docs/zzip-extio.htm | 10 +- .../zziplib/zziplib-src/docs/zzip-file.htm | 2 +- .../zziplib/zziplib-src/docs/zzip-index.htm | 2 +- .../zziplib-src/docs/zzip-sdl-rwops.htm | 2 +- .../zziplib/zziplib-src/docs/zzip-zip.htm | 8 +- .../docs/zzipdoc/functionlistreference.py | 2 +- .../docs/zzipdoc/textfileheader.py | 2 +- .../zziplib/zziplib-src/docs/zzipfseeko.html | 184 + .../zziplib-src/docs/zziplib-manpages.tar | Bin 0 -> 184320 bytes .../zziplib/zziplib-src/docs/zziplib.html | 1713 +--- .../zziplib/zziplib-src/docs/zzipmmapped.html | 263 + .../m4/ac_sys_largefile_sensitive.m4 | 2 +- .../zziplib-src/m4/ax_enable_builddir.m4 | 2 +- .../m4/ax_enable_builddir_uname.m4 | 164 - .../zziplib-src/m4/ax_set_version_info.m4 | 2 +- source/libs/zziplib/zziplib-src/m4/libtool.m4 | 2 +- .../m4/patch_libtool_to_add_host_cc.m4 | 2 +- .../libs/zziplib/zziplib-src/msvc7/README.TXT | 31 - source/libs/zziplib/zziplib-src/msvc7/zip.exe | Bin 135168 -> 0 bytes .../libs/zziplib/zziplib-src/msvc8/README.TXT | 2 +- .../ports/symbian-S60/zziplib-symbian.zip | Bin 3154 -> 0 bytes .../libs/zziplib/zziplib-src/test/Makefile.am | 6 +- .../libs/zziplib/zziplib-src/test/Makefile.in | 5 +- source/libs/zziplib/zziplib-src/test/README | 13 +- source/libs/zziplib/zziplib-src/test/test.zip | Bin 1293 -> 1457 bytes .../zziplib/zziplib-src/test/zziptests.py | 2544 ++++- .../libs/zziplib/zziplib-src/zzip/Makefile.am | 2 +- .../libs/zziplib/zziplib-src/zzip/Makefile.in | 2 +- .../libs/zziplib/zziplib-src/zzip/__debug.h | 79 +- .../libs/zziplib/zziplib-src/zzip/__errno.h | 11 + .../libs/zziplib/zziplib-src/zzip/__fnmatch.h | 12 +- .../libs/zziplib/zziplib-src/zzip/__hints.h | 2 +- .../libs/zziplib/zziplib-src/zzip/__mkdir.h | 12 + .../libs/zziplib/zziplib-src/zzip/__string.h | 67 + source/libs/zziplib/zziplib-src/zzip/file.c | 2 +- source/libs/zziplib/zziplib-src/zzip/fseeko.c | 15 +- source/libs/zziplib/zziplib-src/zzip/fseeko.h | 30 + source/libs/zziplib/zziplib-src/zzip/info.c | 46 +- source/libs/zziplib/zziplib-src/zzip/lib.h | 2 +- .../libs/zziplib/zziplib-src/zzip/memdisk.c | 121 +- .../libs/zziplib/zziplib-src/zzip/memdisk.h | 19 +- .../libs/zziplib/zziplib-src/zzip/mmapped.c | 121 +- .../libs/zziplib/zziplib-src/zzip/mmapped.h | 2 +- source/libs/zziplib/zziplib-src/zzip/write.c | 16 +- source/libs/zziplib/zziplib-src/zzip/zip.c | 14 +- .../zziplib-src/zzip/zzip-zlib-config.pc | 8 + source/libs/zziplib/zziplib-src/zzip/zzip.h | 2 +- .../zziplib/zziplib-src/zzip/zzipfseeko.pc | 18 + .../libs/zziplib/zziplib-src/zzip/zziplib.pc | 18 + .../zziplib/zziplib-src/zzip/zzipmmapped.pc | 18 + source/libs/zziplib/zziplib-src/zziplib.spec | 4 +- .../zziplib/zziplib-src/zzipwrap/zzipwrap.pc | 4 +- source/texk/README | 36 +- source/texk/kpathsea/ChangeLog | 56 + source/texk/kpathsea/NEWS | 6 + source/texk/kpathsea/c-auto.in | 2 +- source/texk/kpathsea/configure | 24 +- source/texk/kpathsea/doc/kpathsea.info | 518 +- source/texk/kpathsea/doc/kpathsea.texi | 316 +- source/texk/kpathsea/kpsewhich.c | 26 +- source/texk/kpathsea/lib.h | 6 + source/texk/kpathsea/pathsearch.c | 486 +- source/texk/kpathsea/tests/kpsewhich.test | 18 +- source/texk/kpathsea/tex-file.c | 4 +- source/texk/kpathsea/texmf.cnf | 7 + source/texk/kpathsea/version.ac | 6 +- source/texk/web2c/ChangeLog | 5 + source/texk/web2c/Makefile.in | 68 +- source/texk/web2c/lib/texmfmp.c | 30 + .../texk/web2c/luatexdir/luatex_svnversion.h | 2 +- source/texk/web2c/pmpostdir/am/pmpost.am | 2 +- source/texk/web2c/ptexdir/am/ptex.am | 6 + source/texk/web2c/texmfmp.h | 3 + source/texk/web2c/uptexdir/am/uptex.am | 17 +- 142 files changed, 32993 insertions(+), 3534 deletions(-) create mode 100644 source/libs/zziplib/autom4te.cache/output.0 create mode 100644 source/libs/zziplib/autom4te.cache/output.1 create mode 100644 source/libs/zziplib/autom4te.cache/output.2 create mode 100644 source/libs/zziplib/autom4te.cache/requests create mode 100644 source/libs/zziplib/autom4te.cache/traces.0 create mode 100644 source/libs/zziplib/autom4te.cache/traces.1 create mode 100644 source/libs/zziplib/autom4te.cache/traces.2 create mode 100644 source/libs/zziplib/zziplib-src/SDL/SDL_rwops_zzip.c delete mode 100644 source/libs/zziplib/zziplib-src/SDL/zzip-sdl-config.pc delete mode 100644 source/libs/zziplib/zziplib-src/SDL/zzip-sdl-rwops.pc create mode 100644 source/libs/zziplib/zziplib-src/bins/unzzip-states.h rename source/libs/zziplib/zziplib-src/bins/{unzzip.h => unzzipcat-zip.h} (86%) create mode 100644 source/libs/zziplib/zziplib-src/bins/unzzipdir-zip.h delete mode 100644 source/libs/zziplib/zziplib-src/bins/unzzipshow.c create mode 100644 source/libs/zziplib/zziplib-src/bins/zzipmake-zip.c create mode 100644 source/libs/zziplib/zziplib-src/bins/zzipmake-zip.h delete mode 100644 source/libs/zziplib/zziplib-src/docs/cpp2markdown-1.py delete mode 100644 source/libs/zziplib/zziplib-src/docs/cpp2markdown.py delete mode 100644 source/libs/zziplib/zziplib-src/docs/dir-zzip-192.png delete mode 100644 source/libs/zziplib/zziplib-src/docs/dir-zzip-64.png delete mode 100644 source/libs/zziplib/zziplib-src/docs/site.htm create mode 100644 source/libs/zziplib/zziplib-src/docs/zzipfseeko.html create mode 100644 source/libs/zziplib/zziplib-src/docs/zziplib-manpages.tar create mode 100644 source/libs/zziplib/zziplib-src/docs/zzipmmapped.html delete mode 100644 source/libs/zziplib/zziplib-src/m4/ax_enable_builddir_uname.m4 delete mode 100644 source/libs/zziplib/zziplib-src/msvc7/README.TXT delete mode 100755 source/libs/zziplib/zziplib-src/msvc7/zip.exe delete mode 100644 source/libs/zziplib/zziplib-src/ports/symbian-S60/zziplib-symbian.zip create mode 100644 source/libs/zziplib/zziplib-src/zzip/__errno.h create mode 100644 source/libs/zziplib/zziplib-src/zzip/__mkdir.h create mode 100644 source/libs/zziplib/zziplib-src/zzip/__string.h create mode 100644 source/libs/zziplib/zziplib-src/zzip/zzip-zlib-config.pc create mode 100644 source/libs/zziplib/zziplib-src/zzip/zzipfseeko.pc create mode 100644 source/libs/zziplib/zziplib-src/zzip/zziplib.pc create mode 100644 source/libs/zziplib/zziplib-src/zzip/zzipmmapped.pc diff --git a/source/libs/README b/source/libs/README index 78855c5dc..228dcd05e 100644 --- a/source/libs/README +++ b/source/libs/README @@ -1,4 +1,4 @@ -$Id: README 46498 2018-01-31 01:11:59Z kakuto $ +$Id: README 46553 2018-02-06 03:06:53Z kakuto $ Public domain. Originally created by Karl Berry, 2005. Libraries we compile for TeX Live. @@ -66,5 +66,5 @@ xpdf 4.00 - checked 13aug17 zlib 1.2.11 - checked 15jan17 http://www.zlib.net/ - used by many -zziplib 0.13.66 - checked 20jun17 +zziplib 0.13.68 - checked 06feb18 http://zziplib.sourceforge.net/ - used by luatex diff --git a/source/libs/zziplib/ChangeLog b/source/libs/zziplib/ChangeLog index 9da2623a8..764d6ae66 100644 --- a/source/libs/zziplib/ChangeLog +++ b/source/libs/zziplib/ChangeLog @@ -1,3 +1,8 @@ +2018-02-06 Akira Kakuto <kakuto@fuk.kindai.ac.jp> + + * Import zziplib 0.13.68. + version.ac: Adapted. + 2017-06-20 Akira Kakuto <kakuto@fuk.kindai.ac.jp> * Import zziplib 0.13.66. diff --git a/source/libs/zziplib/README b/source/libs/zziplib/README index 3f9f5f842..e53e159b9 100644 --- a/source/libs/zziplib/README +++ b/source/libs/zziplib/README @@ -1,4 +1,4 @@ - Building zziplib-0.13.66 as part of the TL tree + Building zziplib-0.13.68 as part of the TL tree =============================================== This directory libs/zziplib/ uses a proxy Makefile.am to build the zziplib @@ -14,4 +14,4 @@ copied to libs/zziplib/configure.ac. ============================= 2010-01-30 Peter Breitenlohner <peb@mppmu.mpg.de> -2017-??-?? Akira Kakuto <kakuto@fuk.kindai.ac.jp> +2018-02-06 Akira Kakuto <kakuto@fuk.kindai.ac.jp> diff --git a/source/libs/zziplib/TLpatches/ChangeLog b/source/libs/zziplib/TLpatches/ChangeLog index 26fb88d57..0412cc0bf 100644 --- a/source/libs/zziplib/TLpatches/ChangeLog +++ b/source/libs/zziplib/TLpatches/ChangeLog @@ -1,3 +1,8 @@ +2018-02-06 Akira Kakuto <kakuto@fuk.kindai.ac.jp> + + * Import zziplib-0.13.68. + * patch-01-binary, patch-02-bugfix, patch-03-w64-ptr: Adapted. + 2017-06-20 Akira Kakuto <kakuto@fuk.kindai.ac.jp> * Import zziplib-0.13.66. diff --git a/source/libs/zziplib/TLpatches/TL-Changes b/source/libs/zziplib/TLpatches/TL-Changes index 0fd56e3ab..b0b5549a5 100644 --- a/source/libs/zziplib/TLpatches/TL-Changes +++ b/source/libs/zziplib/TLpatches/TL-Changes @@ -1,4 +1,4 @@ -Changes applied to the zziplib-0.13.66/ tree as obtained from: +Changes applied to the zziplib-0.13.68/ tree as obtained from: http://zziplib.sourceforge.net/ Copied: @@ -6,13 +6,10 @@ Copied: m4/ac_sys_largefile_sensitive.m4 -> ../m4/ Removed: - .cdtproject - .gitignore - .pydevproject aclocal.m4 - msvc/ uses/ zzip/_msvc.h + zzip/_config.h Converted Dos/Win line ends to native: docs/README.MSVC6 diff --git a/source/libs/zziplib/TLpatches/patch-01-binary b/source/libs/zziplib/TLpatches/patch-01-binary index 6b5f4f77f..a57799743 100644 --- a/source/libs/zziplib/TLpatches/patch-01-binary +++ b/source/libs/zziplib/TLpatches/patch-01-binary @@ -1,7 +1,7 @@ -diff -ur zziplib-0.13.66.orig/bins/unzip-mem.c zziplib-0.13.66/bins/unzip-mem.c ---- zziplib-0.13.66.orig/bins/unzip-mem.c Mon Apr 24 08:46:28 2017 -+++ zziplib-0.13.66/bins/unzip-mem.c Tue Jun 20 09:49:08 2017 -@@ -100,7 +100,7 @@ +diff -ur zziplib-0.13.68.orig/bins/unzip-mem.c zziplib-0.13.68/bins/unzip-mem.c +--- zziplib-0.13.68.orig/bins/unzip-mem.c Tue Feb 06 05:00:56 2018 ++++ zziplib-0.13.68/bins/unzip-mem.c Tue Feb 06 08:07:16 2018 +@@ -96,7 +96,7 @@ static void zzip_mem_entry_make(ZZIP_MEM_DISK* disk, ZZIP_MEM_ENTRY* entry) { @@ -10,32 +10,10 @@ diff -ur zziplib-0.13.66.orig/bins/unzip-mem.c zziplib-0.13.66/bins/unzip-mem.c if (file) { zzip_mem_entry_pipe (disk, entry, file); fclose (file); } perror (entry->zz_name); if (status < EXIT_WARNINGS) status = EXIT_WARNINGS; -diff -ur zziplib-0.13.66.orig/bins/unzzipcat-big.c zziplib-0.13.66/bins/unzzipcat-big.c ---- zziplib-0.13.66.orig/bins/unzzipcat-big.c Mon Apr 24 08:46:28 2017 -+++ zziplib-0.13.66/bins/unzzipcat-big.c Thu Jun 22 07:38:57 2017 -@@ -62,6 +62,21 @@ - } - } - -+#if !defined(ZZIP_HAVE_STRNDUP) -+static char * -+strndup(char *p, size_t maxlen) -+{ -+ char *r; -+ if (!p) -+ return NULL; -+ r = malloc(maxlen + 1); -+ if (!r) -+ return NULL; -+ strncpy(r, p, maxlen); -+ r[maxlen] = '\0'; -+ return r; -+} -+#endif - - static FILE* create_fopen(char* name, char* mode, int subdirs) - { -@@ -83,7 +98,7 @@ +diff -ur zziplib-0.13.68.orig/bins/unzzipcat-big.c zziplib-0.13.68/bins/unzzipcat-big.c +--- zziplib-0.13.68.orig/bins/unzzipcat-big.c Tue Feb 06 05:00:56 2018 ++++ zziplib-0.13.68/bins/unzzipcat-big.c Tue Feb 06 09:58:56 2018 +@@ -89,7 +89,7 @@ int argn; FILE* disk; @@ -43,73 +21,50 @@ diff -ur zziplib-0.13.66.orig/bins/unzzipcat-big.c zziplib-0.13.66/bins/unzzipca + disk = fopen (argv[1], "rb"); if (! disk) { perror(argv[1]); - return -1; -@@ -96,7 +111,7 @@ - { - char* name = zzip_entry_strdup_name (entry); - FILE* out = stdout; + return exitcode(errno); +@@ -106,7 +106,7 @@ + done = EXIT_WARNINGS; + continue; + } - if (extract) out = create_fopen(name, "w", 1); + if (extract) out = create_fopen(name, "wb", 1); - unzzip_cat_file (disk, name, out); - if (extract) fclose(out); - free (name); -@@ -125,7 +140,7 @@ - FNM_NOESCAPE|FNM_PATHNAME|FNM_PERIOD)) + if (! out) { + if (errno != EISDIR) done = EXIT_ERRORS; + continue; +@@ -139,7 +139,7 @@ + FNM_NOESCAPE|FNM_PATHNAME|FNM_PERIOD)) { FILE* out = stdout; - if (extract) out = create_fopen(name, "w", 1); + if (extract) out = create_fopen(name, "wb", 1); - unzzip_cat_file (disk, name, out); - if (extract) fclose(out); - break; /* match loop */ -diff -ur zziplib-0.13.66.orig/bins/unzzipcat-mem.c zziplib-0.13.66/bins/unzzipcat-mem.c ---- zziplib-0.13.66.orig/bins/unzzipcat-mem.c Mon Apr 24 08:46:28 2017 -+++ zziplib-0.13.66/bins/unzzipcat-mem.c Thu Jun 22 07:39:23 2017 -@@ -57,6 +57,22 @@ - } - } - -+#if !defined(ZZIP_HAVE_STRNDUP) -+static char * -+strndup(char *p, size_t maxlen) -+{ -+ char *r; -+ if (!p) -+ return NULL; -+ r = malloc(maxlen + 1); -+ if (!r) -+ return NULL; -+ strncpy(r, p, maxlen); -+ r[maxlen] = '\0'; -+ return r; -+} -+#endif -+ - static FILE* create_fopen(char* name, char* mode, int subdirs) - { - if (subdirs) -@@ -97,7 +113,7 @@ + if (! out) { + if (errno != EISDIR) done = EXIT_ERRORS; + continue; +diff -ur zziplib-0.13.68.orig/bins/unzzipcat-mem.c zziplib-0.13.68/bins/unzzipcat-mem.c +--- zziplib-0.13.68.orig/bins/unzzipcat-mem.c Tue Feb 06 05:00:56 2018 ++++ zziplib-0.13.68/bins/unzzipcat-mem.c Tue Feb 06 09:59:22 2018 +@@ -114,7 +114,7 @@ { char* name = zzip_mem_entry_to_name (entry); FILE* out = stdout; - if (extract) out = create_fopen(name, "w", 1); + if (extract) out = create_fopen(name, "wb", 1); - unzzip_mem_disk_cat_file (disk, name, out); - if (extract) fclose(out); - } -@@ -125,7 +141,7 @@ - FNM_NOESCAPE|FNM_PATHNAME|FNM_PERIOD)) + if (! out) { + if (errno != EISDIR) done = EXIT_ERRORS; + continue; +@@ -146,7 +146,7 @@ + FNM_NOESCAPE|FNM_PATHNAME|FNM_PERIOD)) { FILE* out = stdout; - if (extract) out = create_fopen(name, "w", 1); + if (extract) out = create_fopen(name, "wb", 1); - unzzip_mem_disk_cat_file (disk, name, out); - if (extract) fclose(out); - break; /* match loop */ -diff -ur zziplib-0.13.66.orig/bins/unzzipcat-mix.c zziplib-0.13.66/bins/unzzipcat-mix.c ---- zziplib-0.13.66.orig/bins/unzzipcat-mix.c Mon Apr 24 08:46:28 2017 -+++ zziplib-0.13.66/bins/unzzipcat-mix.c Thu Jun 22 07:39:54 2017 -@@ -30,7 +30,7 @@ + if (! out) { + if (errno != EISDIR) done = EXIT_ERRORS; + continue; +diff -ur zziplib-0.13.68.orig/bins/unzzipcat-mix.c zziplib-0.13.68/bins/unzzipcat-mix.c +--- zziplib-0.13.68.orig/bins/unzzipcat-mix.c Tue Feb 06 05:00:56 2018 ++++ zziplib-0.13.68/bins/unzzipcat-mix.c Tue Feb 06 09:59:45 2018 +@@ -56,7 +56,7 @@ static void unzzip_cat_file(ZZIP_DIR* disk, char* name, FILE* out) { @@ -118,94 +73,48 @@ diff -ur zziplib-0.13.66.orig/bins/unzzipcat-mix.c zziplib-0.13.66/bins/unzzipca if (file) { char buffer[1024]; int len; -@@ -43,6 +43,22 @@ - } - } - -+#if !defined(ZZIP_HAVE_STRNDUP) -+static char * -+strndup(char *p, size_t maxlen) -+{ -+ char *r; -+ if (!p) -+ return NULL; -+ r = malloc(maxlen + 1); -+ if (!r) -+ return NULL; -+ strncpy(r, p, maxlen); -+ r[maxlen] = '\0'; -+ return r; -+} -+#endif -+ - static FILE* create_fopen(char* name, char* mode, int subdirs) - { - if (subdirs) -@@ -82,7 +98,7 @@ +@@ -124,7 +124,7 @@ { char* name = entry->d_name; FILE* out = stdout; - if (extract) out = create_fopen(name, "w", 1); + if (extract) out = create_fopen(name, "wb", 1); - unzzip_cat_file (disk, name, out); - if (extract) fclose(out); - } -@@ -108,7 +124,7 @@ + if (! out) { + if (errno != EISDIR) done = EXIT_ERRORS; + continue; +@@ -155,7 +155,7 @@ memcpy(mix_name, zip_name, zip_name_len); mix_name[zip_name_len] = '/'; strcpy(mix_name + zip_name_len + 1, name); - if (extract) out = create_fopen(name, "w", 1); + if (extract) out = create_fopen(name, "wb", 1); - fprintf(stderr, "%s %s -> %s\n", zip_name, name, mix_name); - /* 'test1.zip' 'README' -> 'test1/README' */ - unzzip_cat_file (disk, mix_name, out); -diff -ur zziplib-0.13.66.orig/bins/unzzipcat-zip.c zziplib-0.13.66/bins/unzzipcat-zip.c ---- zziplib-0.13.66.orig/bins/unzzipcat-zip.c Mon Apr 24 08:46:28 2017 -+++ zziplib-0.13.66/bins/unzzipcat-zip.c Thu Jun 22 07:40:29 2017 -@@ -43,6 +43,22 @@ - } - } - -+#if !defined(ZZIP_HAVE_STRNDUP) -+static char * -+strndup(char *p, size_t maxlen) -+{ -+ char *r; -+ if (!p) -+ return NULL; -+ r = malloc(maxlen + 1); -+ if (!r) -+ return NULL; -+ strncpy(r, p, maxlen); -+ r[maxlen] = '\0'; -+ return r; -+} -+#endif -+ - static FILE* create_fopen(char* name, char* mode, int subdirs) - { - if (subdirs) -@@ -83,7 +99,7 @@ + if (! out) { + if (errno != EISDIR) done = EXIT_ERRORS; + continue; +diff -ur zziplib-0.13.68.orig/bins/unzzipcat-zip.c zziplib-0.13.68/bins/unzzipcat-zip.c +--- zziplib-0.13.68.orig/bins/unzzipcat-zip.c Tue Feb 06 05:00:56 2018 ++++ zziplib-0.13.68/bins/unzzipcat-zip.c Tue Feb 06 10:00:14 2018 +@@ -124,7 +124,7 @@ { char* name = entry.d_name; FILE* out = stdout; - if (extract) out = create_fopen(name, "w", 1); + if (extract) out = create_fopen(name, "wb", 1); - unzzip_cat_file (disk, name, out); - if (extract) fclose(out); - } -@@ -100,7 +116,7 @@ - FNM_NOESCAPE|FNM_PATHNAME|FNM_PERIOD)) + if (! out) { + DBG3("fopen' %s : %s", name, strerror(errno)); + if (errno != EISDIR) done = EXIT_ERRORS; +@@ -146,7 +146,7 @@ + FNM_NOESCAPE|FNM_PATHNAME|FNM_PERIOD)) { - FILE* out = stdout; -- if (extract) out = create_fopen(name, "w", 1); -+ if (extract) out = create_fopen(name, "wb", 1); - unzzip_cat_file (disk, name, out); - if (extract) fclose(out); - break; /* match loop */ -diff -ur zziplib-0.13.66.orig/bins/unzzipdir-big.c zziplib-0.13.66/bins/unzzipdir-big.c ---- zziplib-0.13.66.orig/bins/unzzipdir-big.c Mon Apr 24 08:46:28 2017 -+++ zziplib-0.13.66/bins/unzzipdir-big.c Thu Jun 22 07:32:13 2017 + FILE* out = stdout; +- if (extract) out = create_fopen(name, "w", 1); ++ if (extract) out = create_fopen(name, "wb", 1); + if (! out) { + DBG3("fopen. %s : %s", name, strerror(errno)); + if (errno != EISDIR) done = EXIT_ERRORS; +diff -ur zziplib-0.13.68.orig/bins/unzzipdir-big.c zziplib-0.13.68/bins/unzzipdir-big.c +--- zziplib-0.13.68.orig/bins/unzzipdir-big.c Tue Feb 06 05:00:56 2018 ++++ zziplib-0.13.68/bins/unzzipdir-big.c Tue Feb 06 08:20:44 2018 @@ -35,7 +35,7 @@ int argn; FILE* disk; @@ -214,16 +123,4 @@ diff -ur zziplib-0.13.66.orig/bins/unzzipdir-big.c zziplib-0.13.66/bins/unzzipdi + disk = fopen (argv[1], "rb"); if (! disk) { perror(argv[1]); - return -1; -diff -ur zziplib-0.13.66.orig/bins/unzzipshow.c zziplib-0.13.66/bins/unzzipshow.c ---- zziplib-0.13.66.orig/bins/unzzipshow.c Mon Apr 24 08:46:28 2017 -+++ zziplib-0.13.66/bins/unzzipshow.c Thu Jun 22 07:32:44 2017 -@@ -68,7 +68,7 @@ - return 0; - } - -- disk = fopen (argv[1], "r"); -+ disk = fopen (argv[1], "rb"); - if (! disk) { - perror(argv[1]); - return -1; + return exitcode(errno); diff --git a/source/libs/zziplib/TLpatches/patch-02-bugfix b/source/libs/zziplib/TLpatches/patch-02-bugfix index 35830145a..a9bbbf316 100644 --- a/source/libs/zziplib/TLpatches/patch-02-bugfix +++ b/source/libs/zziplib/TLpatches/patch-02-bugfix @@ -1,6 +1,24 @@ -diff -ur zziplib-0.13.66.orig/zzip/__mmap.h zziplib-0.13.66/zzip/__mmap.h ---- zziplib-0.13.66.orig/zzip/__mmap.h Mon Apr 24 08:46:28 2017 -+++ zziplib-0.13.66/zzip/__mmap.h Wed May 24 21:14:48 2017 +diff -ur zziplib-0.13.68.orig/zzip/__fnmatch.h zziplib-0.13.68/zzip/__fnmatch.h +--- zziplib-0.13.68.orig/zzip/__fnmatch.h Tue Feb 06 05:00:56 2018 ++++ zziplib-0.13.68/zzip/__fnmatch.h Tue Feb 06 10:35:33 2018 +@@ -20,13 +20,7 @@ + #else + # define _zzip_FNM_CASEFOLD 0 + /* if your system does not have fnmatch, we fall back to strcmp: */ +-static int _zzip_fnmatch(char* pattern, char* string, int flags) +-{ +-# ifdef DBG2 +- DBG1("<zzip:mmapped:strcmp>"); +-# endif +- return strcmp (pattern, string); +-} ++#define _zzip_fnmatch(x,y,z) strcmp ((x),(y)) + #endif + + #endif +diff -ur zziplib-0.13.68.orig/zzip/__mmap.h zziplib-0.13.68/zzip/__mmap.h +--- zziplib-0.13.68.orig/zzip/__mmap.h Tue Feb 06 05:00:56 2018 ++++ zziplib-0.13.68/zzip/__mmap.h Tue Feb 06 08:37:50 2018 @@ -45,43 +45,61 @@ #define MAP_FAILED 0 #endif @@ -67,9 +85,9 @@ diff -ur zziplib-0.13.66.orig/zzip/__mmap.h zziplib-0.13.66/zzip/__mmap.h #else /* disable */ #define USE_MMAP 0 /* USE_MAP is intentional: we expect the compiler to do some "code removal" -diff -ur zziplib-0.13.66.orig/zzip/mmapped.h zziplib-0.13.66/zzip/mmapped.h ---- zziplib-0.13.66.orig/zzip/mmapped.h Mon Apr 24 08:46:28 2017 -+++ zziplib-0.13.66/zzip/mmapped.h Wed May 24 21:14:48 2017 +diff -ur zziplib-0.13.68.orig/zzip/mmapped.h zziplib-0.13.68/zzip/mmapped.h +--- zziplib-0.13.68.orig/zzip/mmapped.h Tue Feb 06 05:00:56 2018 ++++ zziplib-0.13.68/zzip/mmapped.h Tue Feb 06 08:39:00 2018 @@ -37,7 +37,11 @@ void* reserved; /* - for later extensions (might be renamed) */ void* user; /* - free for applications (use this!) */ @@ -82,9 +100,9 @@ diff -ur zziplib-0.13.66.orig/zzip/mmapped.h zziplib-0.13.66/zzip/mmapped.h long unused; /* - for later extensions (might be renamed) */ long code; /* - free for applications (use this!) */ }; -diff -ur zziplib-0.13.66.orig/zzip/plugin.c zziplib-0.13.66/zzip/plugin.c ---- zziplib-0.13.66.orig/zzip/plugin.c Mon Apr 24 08:46:28 2017 -+++ zziplib-0.13.66/zzip/plugin.c Wed May 24 21:14:48 2017 +diff -ur zziplib-0.13.68.orig/zzip/plugin.c zziplib-0.13.68/zzip/plugin.c +--- zziplib-0.13.68.orig/zzip/plugin.c Tue Feb 06 05:00:56 2018 ++++ zziplib-0.13.68/zzip/plugin.c Tue Feb 06 08:40:30 2018 @@ -38,7 +38,7 @@ return st.st_size; } @@ -94,9 +112,9 @@ diff -ur zziplib-0.13.66.orig/zzip/plugin.c zziplib-0.13.66/zzip/plugin.c &open, &close, &_zzip_read, -diff -ur zziplib-0.13.66.orig/zzip/plugin.h zziplib-0.13.66/zzip/plugin.h ---- zziplib-0.13.66.orig/zzip/plugin.h Mon Apr 24 08:46:28 2017 -+++ zziplib-0.13.66/zzip/plugin.h Wed May 24 21:14:48 2017 +diff -ur zziplib-0.13.68.orig/zzip/plugin.h zziplib-0.13.68/zzip/plugin.h +--- zziplib-0.13.68.orig/zzip/plugin.h Tue Feb 06 05:00:56 2018 ++++ zziplib-0.13.68/zzip/plugin.h Tue Feb 06 08:41:43 2018 @@ -42,7 +42,11 @@ zzip_ssize_t (*read)(int fd, void* buf, zzip_size_t len); zzip_off_t (*seeks)(int fd, zzip_off_t offset, int whence); diff --git a/source/libs/zziplib/TLpatches/patch-03-w64-ptr b/source/libs/zziplib/TLpatches/patch-03-w64-ptr index 3ea18dd71..d671c0b5e 100644 --- a/source/libs/zziplib/TLpatches/patch-03-w64-ptr +++ b/source/libs/zziplib/TLpatches/patch-03-w64-ptr @@ -1,7 +1,7 @@ -diff -ur zziplib-0.13.66.orig/zzip/zip.c zziplib-0.13.66/zzip/zip.c ---- zziplib-0.13.66.orig/zzip/zip.c Mon Apr 24 08:46:28 2017 -+++ zziplib-0.13.66/zzip/zip.c Wed May 24 21:14:48 2017 -@@ -369,15 +369,19 @@ +diff -ur zziplib-0.13.68.orig/zzip/zip.c zziplib-0.13.68/zzip/zip.c +--- zziplib-0.13.68.orig/zzip/zip.c Tue Feb 06 05:00:56 2018 ++++ zziplib-0.13.68/zzip/zip.c Tue Feb 06 08:29:37 2018 +@@ -381,15 +381,19 @@ * making pointer alignments to values that can be handled as structures * is tricky. We assume here that an align(4) is sufficient even for * 64 bit machines. Note that binary operations are not usually allowed diff --git a/source/libs/zziplib/autom4te.cache/output.0 b/source/libs/zziplib/autom4te.cache/output.0 new file mode 100644 index 000000000..c3236f68b --- /dev/null +++ b/source/libs/zziplib/autom4te.cache/output.0 @@ -0,0 +1,5937 @@ +@%:@! /bin/sh +@%:@ Guess values for system-dependent variables and create Makefiles. +@%:@ Generated by GNU Autoconf 2.69 for zziplib (TeX Live) 0.13.68. +@%:@ +@%:@ Report bugs to <tex-k@tug.org>. +@%:@ +@%:@ +@%:@ Copyright (C) 1992-1996, 1998-2012 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 + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # 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 +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+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +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 +test -x / || 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 \$(( 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 : + export CONFIG_SHELL + # 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 +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+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +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 tex-k@tug.org +$0: about your system, including any error possibly output +$0: before this message. Then install a modern shell, or +$0: manually run the script under such a shell if you do +$0: 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 @S|@? 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 "@S|@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_executable_p FILE +@%:@ ----------------------- +@%:@ Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} @%:@ as_fn_executable_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 @S|@as_val. Take advantage of shells that can avoid forks. The arguments +@%:@ must be portable across @S|@(()) 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 @S|@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; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # 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 -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +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 + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# 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'" + + +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=. +LIB@&t@OBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='zziplib (TeX Live)' +PACKAGE_TARNAME='zziplib--tex-live-' +PACKAGE_VERSION='0.13.68' +PACKAGE_STRING='zziplib (TeX Live) 0.13.68' +PACKAGE_BUGREPORT='tex-k@tug.org' +PACKAGE_URL='' + +ac_unique_file="zziplib-src/zziplib.spec" +# 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='LTLIBOBJS +LIB@&t@OBJS +ZZIPLIB_TREE +build_FALSE +build_TRUE +ZZIPLIB_DEFINES +EGREP +GREP +CPP +LN_S +RANLIB +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +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 +' + 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 + 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 zziplib (TeX Live) 0.13.68 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 + @<:@@S|@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/zziplib--tex-live-@:>@ + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +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 zziplib (TeX Live) 0.13.68:";; + esac + cat <<\_ACEOF + +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 <tex-k@tug.org>. +_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 +zziplib (TeX Live) configure 0.13.68 +generated by GNU Autoconf 2.69 + +Copyright (C) 2012 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.@S|@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_cpp LINENO +@%:@ ---------------------- +@%:@ Try to preprocess conftest.@S|@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.@S|@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_try_link LINENO +@%:@ ----------------------- +@%:@ Try to link conftest.@S|@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 || + 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_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 tex-k@tug.org ## +## ---------------------------- ##" + ) | 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_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_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 test_array @<:@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 test_array @<:@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 test_array @<:@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 test_array @<:@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 test_array @<:@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 + +@%:@ 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 +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 zziplib (TeX Live) $as_me 0.13.68, which was +generated by GNU Autoconf 2.69. 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 + + + + +ac_aux_dir= +for ac_dir in ../../build-aux "$srcdir"/../../build-aux; 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 ../../build-aux \"$srcdir\"/../../build-aux" "$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. + + + + +KPSE_BASIC(zziplib) + +# 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 + + + +# 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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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> +struct stat; +/* 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 + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; 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_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; 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_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + 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 + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + + +KPSE_COMPILER_VISIBILITY + +# Checks for header files. + +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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include <limits.h> +@%:@else +@%:@ include <assert.h> +@%:@endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include <limits.h> +@%:@else +@%:@ include <assert.h> +@%:@endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +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 $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +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 + + +{ $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" + as_fn_executable_p "$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 + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_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_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_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 egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_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 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "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_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_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_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <string.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdlib.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ctype.h> +#include <stdlib.h> +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h + +fi + +ac_header_dirent=no +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do + as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 +$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } +if eval \${$as_ac_Header+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> +#include <$ac_hdr> + +int +main () +{ +if ((DIR *) 0) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_ac_Header=yes" +else + eval "$as_ac_Header=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_ac_Header + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 +_ACEOF + +ac_header_dirent=$ac_hdr; break +fi + +done +# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. +if test $ac_header_dirent = dirent.h; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 +$as_echo_n "checking for library containing opendir... " >&6; } +if ${ac_cv_search_opendir+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' dir; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_opendir=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : + break +fi +done +if ${ac_cv_search_opendir+:} false; then : + +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 +$as_echo "$ac_cv_search_opendir" >&6; } +ac_res=$ac_cv_search_opendir +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 +$as_echo_n "checking for library containing opendir... " >&6; } +if ${ac_cv_search_opendir+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' x; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_opendir=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : + break +fi +done +if ${ac_cv_search_opendir+:} false; then : + +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 +$as_echo "$ac_cv_search_opendir" >&6; } +ac_res=$ac_cv_search_opendir +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_header in stdint.h unistd.h windows.h sys/int_types.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +for ac_header in winnt.h winbase.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#include <windows.h> +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +for ac_header in sys/types.h sys/mman.h sys/stat.h sys/param.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + for ac_header in io.h direct.h byteswap.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +for ac_header in fnmatch.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "fnmatch.h" "ac_cv_header_fnmatch_h" "$ac_includes_default" +if test "x$ac_cv_header_fnmatch_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_FNMATCH_H 1 +_ACEOF + +fi + +done + + +# --------------------------------------------------------------- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether can use mmap for file scanning" >&5 +$as_echo_n "checking whether can use mmap for file scanning... " >&6; } +enable_mmap='no (just a bit slower)' +test "x$ac_cv_header_winbase_h" = xyes && enable_mmap="yes, winbase.h" +test "x$ac_cv_header_sys_mman_h" = xyes && enable_mmap="yes, sys/mman.h" +case $enable_mmap in @%:@( + yes*) : + ZZIPLIB_DEFINES='-D_USE_MMAP' ;; @%:@( + *) : + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_mmap" >&5 +$as_echo "$enable_mmap" >&6; } + + +AC_SYS_LARGEFILE_SENSITIVE +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5 +$as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } +if ${ac_cv_sys_largefile_source+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> /* for off_t */ + #include <stdio.h> +int +main () +{ +int (*fp) (FILE *, off_t, int) = fseeko; + return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_sys_largefile_source=no; break +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@define _LARGEFILE_SOURCE 1 +#include <sys/types.h> /* for off_t */ + #include <stdio.h> +int +main () +{ +int (*fp) (FILE *, off_t, int) = fseeko; + return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_sys_largefile_source=1; break +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_cv_sys_largefile_source=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5 +$as_echo "$ac_cv_sys_largefile_source" >&6; } +case $ac_cv_sys_largefile_source in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +@%:@define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source +_ACEOF +;; +esac +rm -rf conftest* + +# We used to try defining _XOPEN_SOURCE=500 too, to work around a bug +# in glibc 2.1.3, but that breaks too many other things. +# If you want fseeko and ftello with glibc, upgrade to a fixed glibc. +if test $ac_cv_sys_largefile_source != unknown; then + +$as_echo "@%:@define HAVE_FSEEKO 1" >>confdefs.h + +fi + + +# Checks for typedefs, structures, and compiler characteristics. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 +$as_echo_n "checking for inline... " >&6; } +if ${ac_cv_c_inline+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_inline=$ac_kw +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_inline" != no && break +done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 +$as_echo "$ac_cv_c_inline" >&6; } + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 +$as_echo_n "checking for an ANSI C-conforming const... " >&6; } +if ${ac_cv_c_const+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + +#ifndef __cplusplus + /* Ultrix mips cc rejects this sort of thing. */ + typedef int charset[2]; + const charset cs = { 0, 0 }; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this sort of thing. */ + char tx; + char *t = &tx; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; } bx; + struct s *b = &bx; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_const=yes +else + ac_cv_c_const=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 +$as_echo "$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then + +$as_echo "@%:@define const /**/" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5 +$as_echo_n "checking for C/C++ restrict keyword... " >&6; } +if ${ac_cv_c_restrict+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_restrict=no + # The order here caters to the fact that C++ does not require restrict. + for ac_kw in __restrict __restrict__ _Restrict restrict; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +typedef int * int_ptr; + int foo (int_ptr $ac_kw ip) { + return ip[0]; + } +int +main () +{ +int s[1]; + int * $ac_kw t = s; + t[0] = 0; + return foo(t) + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_restrict=$ac_kw +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_restrict" != no && break + done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5 +$as_echo "$ac_cv_c_restrict" >&6; } + + case $ac_cv_c_restrict in + restrict) ;; + no) $as_echo "@%:@define restrict /**/" >>confdefs.h + ;; + *) cat >>confdefs.h <<_ACEOF +@%:@define restrict $ac_cv_c_restrict +_ACEOF + ;; + esac + +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +@%:@define size_t unsigned int +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" +if test "x$ac_cv_type_ssize_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +@%:@define ssize_t int +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "off64_t" "ac_cv_type_off64_t" "$ac_includes_default" +if test "x$ac_cv_type_off64_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +@%:@define off64_t _zzip_off_t +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "__int64" "ac_cv_type___int64" "$ac_includes_default" +if test "x$ac_cv_type___int64" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +@%:@define __int64 long long +_ACEOF + +fi + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 +$as_echo_n "checking size of short... " >&6; } +if ${ac_cv_sizeof_short+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_short" = yes; then + { { $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 "cannot compute sizeof (short) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_short=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 +$as_echo "$ac_cv_sizeof_short" >&6; } + + + +cat >>confdefs.h <<_ACEOF +@%:@define SIZEOF_SHORT $ac_cv_sizeof_short +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 +$as_echo_n "checking size of int... " >&6; } +if ${ac_cv_sizeof_int+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_int" = yes; then + { { $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 "cannot compute sizeof (int) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_int=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 +$as_echo "$ac_cv_sizeof_int" >&6; } + + + +cat >>confdefs.h <<_ACEOF +@%:@define SIZEOF_INT $ac_cv_sizeof_int +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +$as_echo_n "checking size of long... " >&6; } +if ${ac_cv_sizeof_long+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_long" = yes; then + { { $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 "cannot compute sizeof (long) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +$as_echo "$ac_cv_sizeof_long" >&6; } + + + +cat >>confdefs.h <<_ACEOF +@%:@define SIZEOF_LONG $ac_cv_sizeof_long +_ACEOF + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 +$as_echo_n "checking whether byte ordering is bigendian... " >&6; } +if ${ac_cv_c_bigendian+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + # Check for potential -arch flags. It is not universal unless + # there are at least two -arch flags with different values. + ac_arch= + ac_prev= + for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do + if test -n "$ac_prev"; then + case $ac_word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then + ac_arch=$ac_word + else + ac_cv_c_bigendian=universal + break + fi + ;; + esac + ac_prev= + elif test "x$ac_word" = "x-arch"; then + ac_prev=arch + fi + done +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_c_bigendian = unknown; then + # See if sys/param.h defines the BYTE_ORDER macro. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + #include <sys/param.h> + +int +main () +{ +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ + && LITTLE_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + #include <sys/param.h> + +int +main () +{ +#if BYTE_ORDER != BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +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 + if test $ac_cv_c_bigendian = unknown; then + # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <limits.h> + +int +main () +{ +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to _BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <limits.h> + +int +main () +{ +#ifndef _BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +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 + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. + if test "$cross_compiling" = yes; then : + # Try to guess by grepping values from an object file. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; + short int ascii_ii[] = + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; + int use_ascii (int i) { + return ascii_mm[i] + ascii_ii[i]; + } + short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; + short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; + } + extern int foo; + +int +main () +{ +return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_c_bigendian=no +else + ac_cv_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 +$as_echo "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) + $as_echo "@%:@define WORDS_BIGENDIAN 1" >>confdefs.h +;; #( + no) + ;; #( + universal) + +$as_echo "@%:@define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h + + ;; #( + *) + as_fn_error $? "unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; + esac + +ZZIPLIB_CHECK_ALIGNED_ACCESS + +# Checks for library functions. +for ac_func in strcasecmp strndup +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +KPSE_ZLIB_FLAGS + + if test "x$enable_build" != xno; then + build_TRUE= + build_FALSE='#' +else + build_TRUE='#' + build_FALSE= +fi + + +if test "x$enable_build" != xno || test -f config.force; then + +KPSE_ADD_FLAGS(zlib) +for ac_header in zlib.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" +if test "x$ac_cv_header_zlib_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_ZLIB_H 1 +_ACEOF + +fi + +done + +ac_fn_c_check_func "$LINENO" "zlibVersion" "ac_cv_func_zlibVersion" +if test "x$ac_cv_func_zlibVersion" = xyes; then : + +else + as_fn_error $? "zlib not found" "$LINENO" 5 +fi + +KPSE_RESTORE_FLAGS + +echo timestamp >config.force +fi + +ZZIPLIB_TREE=zziplib-src + + +# ----------------------------------------------------------------------- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: creating include/zzip/_msvc.in via zzip/_msvc.sed of config.h.in" >&5 +$as_echo "creating include/zzip/_msvc.in via zzip/_msvc.sed of config.h.in" >&6; } +test -d include || mkdir include +sed -f $srcdir/$ZZIPLIB_TREE/zzip/_msvc.sed $srcdir/config.h.in >include/_msvc.in +ac_config_headers="$ac_config_headers config.h" + +AX_PREFIX_CONFIG_H(include/zzip/_config.h,zzip,config.h) +AX_PREFIX_CONFIG_H(include/zzip/_msvc.h,zzip,include/_msvc.in) + +ac_config_files="$ac_config_files Makefile include/zzip/Makefile" + + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + 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=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIB@&t@OBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + +if test -z "${build_TRUE}" && test -z "${build_FALSE}"; then + as_fn_error $? "conditional \"build\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## 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 + + +@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] +@%:@ ---------------------------------------- +@%:@ Output "`basename @S|@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 + + +@%:@ as_fn_set_status STATUS +@%:@ ----------------------- +@%:@ Set @S|@? 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_unset VAR +@%:@ --------------- +@%:@ Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +@%:@ 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 @S|@as_val. Take advantage of shells that can avoid forks. The arguments +@%:@ must be portable across @S|@(()) 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 + + +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 + +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 -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +@%:@ as_fn_mkdir_p +@%:@ ------------- +@%:@ Create "@S|@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 +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 + + +@%:@ as_fn_executable_p FILE +@%:@ ----------------------- +@%:@ Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} @%:@ as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# 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'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by zziplib (TeX Live) $as_me 0.13.68, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Report bugs to <tex-k@tug.org>." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +zziplib (TeX Live) config.status 0.13.68 +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2012 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX +@%:@@%:@ Running $as_me. @%:@@%:@ +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "include/zzip/Makefile") CONFIG_FILES="$CONFIG_FILES include/zzip/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' <conf$$subs.awk | sed ' +/^[^""]/{ + N + s/\n// +} +' >>$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' <confdefs.h | sed ' +s/'"$ac_delim"'/"\\\ +"/g' >>$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + 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 + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi + ;; + + + esac + +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff --git a/source/libs/zziplib/autom4te.cache/output.1 b/source/libs/zziplib/autom4te.cache/output.1 new file mode 100644 index 000000000..fbefbc360 --- /dev/null +++ b/source/libs/zziplib/autom4te.cache/output.1 @@ -0,0 +1,8477 @@ +@%:@! /bin/sh +@%:@ Guess values for system-dependent variables and create Makefiles. +@%:@ Generated by GNU Autoconf 2.69 for zziplib (TeX Live) 0.13.68. +@%:@ +@%:@ Report bugs to <tex-k@tug.org>. +@%:@ +@%:@ +@%:@ Copyright (C) 1992-1996, 1998-2012 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 + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # 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 +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+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +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 +test -x / || 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 \$(( 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 : + export CONFIG_SHELL + # 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 +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+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +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 tex-k@tug.org +$0: about your system, including any error possibly output +$0: before this message. Then install a modern shell, or +$0: manually run the script under such a shell if you do +$0: 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 @S|@? 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 "@S|@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_executable_p FILE +@%:@ ----------------------- +@%:@ Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} @%:@ as_fn_executable_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 @S|@as_val. Take advantage of shells that can avoid forks. The arguments +@%:@ must be portable across @S|@(()) 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 @S|@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; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # 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 -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +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 + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# 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'" + + +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=. +LIB@&t@OBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='zziplib (TeX Live)' +PACKAGE_TARNAME='zziplib--tex-live-' +PACKAGE_VERSION='0.13.68' +PACKAGE_STRING='zziplib (TeX Live) 0.13.68' +PACKAGE_BUGREPORT='tex-k@tug.org' +PACKAGE_URL='' + +ac_unique_file="zziplib-src/zziplib.spec" +# 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 +LIB@&t@OBJS +ZZIPLIB_TREE +build_FALSE +build_TRUE +ZLIB_RULE +ZLIB_DEPEND +ZLIB_LIBS +ZLIB_INCLUDES +ZZIPLIB_DEFINES +EGREP +GREP +CPP +VISIBILITY_CFLAGS +LN_S +RANLIB +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +WARNING_CFLAGS +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 +MAINT +MAINTAINER_MODE_FALSE +MAINTAINER_MODE_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_maintainer_mode +enable_dependency_tracking +enable_compiler_warnings +enable_largefile +with_system_zlib +with_zlib_includes +with_zlib_libdir +' + 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 + 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 zziplib (TeX Live) 0.13.68 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 + @<:@@S|@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/zziplib--tex-live-@:>@ + --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 zziplib (TeX Live) 0.13.68:";; + 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-maintainer-mode + enable make rules and dependencies not useful (and + sometimes confusing) to the casual installer + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --enable-compiler-warnings=@<:@no|min|yes|max|all@:>@ + Turn on compiler warnings @<:@default: yes if + maintainer-mode, min otherwise@:>@ + --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-system-zlib use installed zlib headers and library + --with-zlib-includes=DIR + zlib headers installed in DIR + --with-zlib-libdir=DIR zlib library installed in DIR + +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 <tex-k@tug.org>. +_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 +zziplib (TeX Live) configure 0.13.68 +generated by GNU Autoconf 2.69 + +Copyright (C) 2012 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.@S|@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.@S|@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 || + 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_try_cpp LINENO +@%:@ ---------------------- +@%:@ Try to preprocess conftest.@S|@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.@S|@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_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 tex-k@tug.org ## +## ---------------------------- ##" + ) | 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_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_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 test_array @<:@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 test_array @<:@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 test_array @<:@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 test_array @<:@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 test_array @<:@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 + +@%:@ 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 +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 zziplib (TeX Live) $as_me 0.13.68, which was +generated by GNU Autoconf 2.69. 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 + + + + +ac_aux_dir= +for ac_dir in ../../build-aux "$srcdir"/../../build-aux; 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 ../../build-aux \"$srcdir\"/../../build-aux" "$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. + + + + +am__api_version='1.15' + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# 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 as_fn_executable_p "$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; } +# 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 ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + 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 + 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 + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + 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; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + +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 --is-lightweight"; then + am_missing_run="$MISSING " +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+set}" != 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 as_fn_executable_p "$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 as_fn_executable_p "$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 + as_fn_executable_p "$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; } + +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 as_fn_executable_p "$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 + +@%:@ 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=1;; +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='\' + +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 + + +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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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> +struct stat; +/* 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 + +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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +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 + + +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 10 /bin/sh. + echo '/* dummy */' > 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 + + + +@%:@ Check whether --enable-compiler-warnings was given. +if test "${enable_compiler_warnings+set}" = set; then : + enableval=$enable_compiler_warnings; +fi +case $enable_compiler_warnings in @%:@( + no | min | yes | max | all) : + ;; @%:@( + *) : + if test "x$enable_maintainer_mode" = xyes; then : + enable_compiler_warnings=yes +else + enable_compiler_warnings=min +fi ;; +esac + + +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='zziplib--tex-live-' + VERSION='0.13.68' + + +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"} + +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: <http://www.gnu.org/software/coreutils/>. + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 +$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } + @%:@ Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then : + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 +$as_echo "$USE_MAINTAINER_MODE" >&6; } + if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + + MAINT=$MAINTAINER_MODE_TRUE + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler accepts prototypes" >&5 +$as_echo_n "checking whether the compiler accepts prototypes... " >&6; } +if ${kb_cv_c_prototypes+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdarg.h> +int +main () +{ +extern void foo(int i,...); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + kb_cv_c_prototypes=yes +else + kb_cv_c_prototypes=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kb_cv_c_prototypes" >&5 +$as_echo "$kb_cv_c_prototypes" >&6; } +if test "x$kb_cv_c_prototypes" = xno; then + as_fn_error $? "Sorry, your compiler does not understand prototypes." "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what warning flags to pass to the C compiler" >&5 +$as_echo_n "checking what warning flags to pass to the C compiler... " >&6; } +if ${kpse_cv_warning_cflags+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$GCC" = xyes; then + kpse_cv_warning_cflags= +if test "x$enable_compiler_warnings" != xno; then + kpse_cv_warning_cflags="-Wimplicit -Wreturn-type" + case `$CC -dumpversion` in @%:@( + 3.4.* | 4.* | 5.*) : + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wdeclaration-after-statement" ;; @%:@( + *) : + ;; +esac + case `$CC -dumpversion` in @%:@( + 3.@<:@234@:>@.* | 4.* | 5.*) : + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wno-unknown-pragmas" ;; @%:@( + *) : + ;; +esac + if test "x$enable_compiler_warnings" != xmin; then + kpse_cv_warning_cflags="-Wall -Wunused $kpse_cv_warning_cflags" + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wmissing-prototypes -Wmissing-declarations" + if test "x$enable_compiler_warnings" != xyes; then + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wparentheses -Wswitch -Wtrigraphs -Wpointer-arith" + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wcast-qual -Wcast-align -Wwrite-strings" + case `$CC -dumpversion` in @%:@( + 3.4.* | 4.* | 5.*) : + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wold-style-definition" ;; @%:@( + *) : + ;; +esac + if test "x$enable_compiler_warnings" != xmax; then + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wshadow" + fi + fi + fi +fi +elif test "x$enable_compiler_warnings" = xno; then + kpse_cv_warning_cflags= +else + kpse_cv_warning_cflags= # FIXME: warning flags for non-GNU C compilers +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_warning_cflags" >&5 +$as_echo "$kpse_cv_warning_cflags" >&6; } +WARNING_CFLAGS=$kpse_cv_warning_cflags + + + + + + + + +# 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 + + + +# 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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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 + +{ $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> +struct stat; +/* 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 + +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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +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 + + +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 10 /bin/sh. + echo '/* dummy */' > 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 -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; 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_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; 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_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + 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 + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + + +echo 'dbg:_KPSE_COMPILER_VISIBILITY called.' >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CFLAGS for C to hide external symbols" >&5 +$as_echo_n "checking CFLAGS for C to hide external symbols... " >&6; } +if ${kpse_cv_visibility_cflags+:} false; then : + $as_echo_n "(cached) " >&6 +else + 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 + +kpse_cv_visibility_cflags=unknown +kpse_save_flags=$CFLAGS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdio.h> + extern void foo(void); + void foo(void){printf("foo\n");} +_ACEOF +# FIXME: Add tests for non-GNU compilers +for kpse_flag in '-fvisibility=hidden -fvisibility-inlines-hidden' '-fvisibility=hidden'; do + CFLAGS="$kpse_save_flags -Werror $kpse_flag" + if ac_fn_c_try_compile "$LINENO"; then : + kpse_cv_visibility_cflags=$kpse_flag; break +fi +rm -f core conftest.err conftest.$ac_objext +done +CFLAGS=$kpse_save_flags +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 + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_visibility_cflags" >&5 +$as_echo "$kpse_cv_visibility_cflags" >&6; } +case $kpse_cv_visibility_cflags in @%:@( + unknown) : + ;; @%:@( + *) : + VISIBILITY_CFLAGS=$kpse_cv_visibility_cflags + ;; +esac + + + + + +# Checks for header files. +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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include <limits.h> +@%:@else +@%:@ include <assert.h> +@%:@endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include <limits.h> +@%:@else +@%:@ include <assert.h> +@%:@endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +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 $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +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 + + +{ $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" + as_fn_executable_p "$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 + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_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_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_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 egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_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 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "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_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_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_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <string.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdlib.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ctype.h> +#include <stdlib.h> +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h + +fi + +ac_header_dirent=no +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do + as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 +$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } +if eval \${$as_ac_Header+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> +#include <$ac_hdr> + +int +main () +{ +if ((DIR *) 0) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_ac_Header=yes" +else + eval "$as_ac_Header=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_ac_Header + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 +_ACEOF + +ac_header_dirent=$ac_hdr; break +fi + +done +# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. +if test $ac_header_dirent = dirent.h; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 +$as_echo_n "checking for library containing opendir... " >&6; } +if ${ac_cv_search_opendir+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' dir; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_opendir=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : + break +fi +done +if ${ac_cv_search_opendir+:} false; then : + +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 +$as_echo "$ac_cv_search_opendir" >&6; } +ac_res=$ac_cv_search_opendir +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 +$as_echo_n "checking for library containing opendir... " >&6; } +if ${ac_cv_search_opendir+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' x; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_opendir=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : + break +fi +done +if ${ac_cv_search_opendir+:} false; then : + +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 +$as_echo "$ac_cv_search_opendir" >&6; } +ac_res=$ac_cv_search_opendir +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_header in stdint.h unistd.h windows.h sys/int_types.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +for ac_header in winnt.h winbase.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#include <windows.h> +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +for ac_header in sys/types.h sys/mman.h sys/stat.h sys/param.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + for ac_header in io.h direct.h byteswap.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +for ac_header in fnmatch.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "fnmatch.h" "ac_cv_header_fnmatch_h" "$ac_includes_default" +if test "x$ac_cv_header_fnmatch_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_FNMATCH_H 1 +_ACEOF + +fi + +done + + +# --------------------------------------------------------------- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether can use mmap for file scanning" >&5 +$as_echo_n "checking whether can use mmap for file scanning... " >&6; } +enable_mmap='no (just a bit slower)' +test "x$ac_cv_header_winbase_h" = xyes && enable_mmap="yes, winbase.h" +test "x$ac_cv_header_sys_mman_h" = xyes && enable_mmap="yes, sys/mman.h" +case $enable_mmap in @%:@( + yes*) : + ZZIPLIB_DEFINES='-D_USE_MMAP' ;; @%:@( + *) : + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_mmap" >&5 +$as_echo "$enable_mmap" >&6; } + + +@%:@ Check whether --enable-largefile was given. +if test "${enable_largefile+set}" = set; then : + enableval=$enable_largefile; +fi + +if test "$enable_largefile" != no; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 +$as_echo_n "checking for special C compiler options needed for large files... " >&6; } +if ${ac_cv_sys_largefile_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_sys_largefile_CC=no + if test "$GCC" != yes; then + ac_save_CC=$CC + while :; do + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF + if ac_fn_c_try_compile "$LINENO"; then : + break +fi +rm -f core conftest.err conftest.$ac_objext + CC="$CC -n32" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_largefile_CC=' -n32'; break +fi +rm -f core conftest.err conftest.$ac_objext + break + done + CC=$ac_save_CC + rm -f conftest.$ac_ext + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 +$as_echo "$ac_cv_sys_largefile_CC" >&6; } + if test "$ac_cv_sys_largefile_CC" != no; then + CC=$CC$ac_cv_sys_largefile_CC + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 +$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } +if ${ac_cv_sys_file_offset_bits+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@define _FILE_OFFSET_BITS 64 +@%:@include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=64; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_file_offset_bits=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 +$as_echo "$ac_cv_sys_file_offset_bits" >&6; } +case $ac_cv_sys_file_offset_bits in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +@%:@define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits +_ACEOF +;; +esac +rm -rf conftest* + if test $ac_cv_sys_file_offset_bits = unknown; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 +$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } +if ${ac_cv_sys_large_files+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@define _LARGE_FILES 1 +@%:@include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=1; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_large_files=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 +$as_echo "$ac_cv_sys_large_files" >&6; } +case $ac_cv_sys_large_files in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +@%:@define _LARGE_FILES $ac_cv_sys_large_files +_ACEOF +;; +esac +rm -rf conftest* + fi + + +fi + +# we know about some internals of ac_sys_largefile here... +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system differentiates 64bit off_t by defines" >&5 +$as_echo_n "checking whether system differentiates 64bit off_t by defines... " >&6; } +ac_cv_sys_largefile_sensitive="no" +if test ".${ac_cv_sys_file_offset_bits-no}${ac_cv_sys_large_files-no}" != ".nono" +then ac_cv_sys_largefile_sensitive="yes" + +$as_echo "@%:@define LARGEFILE_SENSITIVE 1" >>confdefs.h + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_sensitive" >&5 +$as_echo "$ac_cv_sys_largefile_sensitive" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5 +$as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } +if ${ac_cv_sys_largefile_source+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> /* for off_t */ + #include <stdio.h> +int +main () +{ +int (*fp) (FILE *, off_t, int) = fseeko; + return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_sys_largefile_source=no; break +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@define _LARGEFILE_SOURCE 1 +#include <sys/types.h> /* for off_t */ + #include <stdio.h> +int +main () +{ +int (*fp) (FILE *, off_t, int) = fseeko; + return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_sys_largefile_source=1; break +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_cv_sys_largefile_source=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5 +$as_echo "$ac_cv_sys_largefile_source" >&6; } +case $ac_cv_sys_largefile_source in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +@%:@define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source +_ACEOF +;; +esac +rm -rf conftest* + +# We used to try defining _XOPEN_SOURCE=500 too, to work around a bug +# in glibc 2.1.3, but that breaks too many other things. +# If you want fseeko and ftello with glibc, upgrade to a fixed glibc. +if test $ac_cv_sys_largefile_source != unknown; then + +$as_echo "@%:@define HAVE_FSEEKO 1" >>confdefs.h + +fi + + +# Checks for typedefs, structures, and compiler characteristics. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 +$as_echo_n "checking for inline... " >&6; } +if ${ac_cv_c_inline+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_inline=$ac_kw +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_inline" != no && break +done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 +$as_echo "$ac_cv_c_inline" >&6; } + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 +$as_echo_n "checking for an ANSI C-conforming const... " >&6; } +if ${ac_cv_c_const+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + +#ifndef __cplusplus + /* Ultrix mips cc rejects this sort of thing. */ + typedef int charset[2]; + const charset cs = { 0, 0 }; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this sort of thing. */ + char tx; + char *t = &tx; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; } bx; + struct s *b = &bx; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_const=yes +else + ac_cv_c_const=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 +$as_echo "$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then + +$as_echo "@%:@define const /**/" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5 +$as_echo_n "checking for C/C++ restrict keyword... " >&6; } +if ${ac_cv_c_restrict+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_restrict=no + # The order here caters to the fact that C++ does not require restrict. + for ac_kw in __restrict __restrict__ _Restrict restrict; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +typedef int * int_ptr; + int foo (int_ptr $ac_kw ip) { + return ip[0]; + } +int +main () +{ +int s[1]; + int * $ac_kw t = s; + t[0] = 0; + return foo(t) + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_restrict=$ac_kw +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_restrict" != no && break + done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5 +$as_echo "$ac_cv_c_restrict" >&6; } + + case $ac_cv_c_restrict in + restrict) ;; + no) $as_echo "@%:@define restrict /**/" >>confdefs.h + ;; + *) cat >>confdefs.h <<_ACEOF +@%:@define restrict $ac_cv_c_restrict +_ACEOF + ;; + esac + +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +@%:@define size_t unsigned int +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" +if test "x$ac_cv_type_ssize_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +@%:@define ssize_t int +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "off64_t" "ac_cv_type_off64_t" "$ac_includes_default" +if test "x$ac_cv_type_off64_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +@%:@define off64_t _zzip_off_t +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "__int64" "ac_cv_type___int64" "$ac_includes_default" +if test "x$ac_cv_type___int64" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +@%:@define __int64 long long +_ACEOF + +fi + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 +$as_echo_n "checking size of short... " >&6; } +if ${ac_cv_sizeof_short+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_short" = yes; then + { { $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 "cannot compute sizeof (short) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_short=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 +$as_echo "$ac_cv_sizeof_short" >&6; } + + + +cat >>confdefs.h <<_ACEOF +@%:@define SIZEOF_SHORT $ac_cv_sizeof_short +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 +$as_echo_n "checking size of int... " >&6; } +if ${ac_cv_sizeof_int+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_int" = yes; then + { { $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 "cannot compute sizeof (int) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_int=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 +$as_echo "$ac_cv_sizeof_int" >&6; } + + + +cat >>confdefs.h <<_ACEOF +@%:@define SIZEOF_INT $ac_cv_sizeof_int +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +$as_echo_n "checking size of long... " >&6; } +if ${ac_cv_sizeof_long+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_long" = yes; then + { { $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 "cannot compute sizeof (long) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +$as_echo "$ac_cv_sizeof_long" >&6; } + + + +cat >>confdefs.h <<_ACEOF +@%:@define SIZEOF_LONG $ac_cv_sizeof_long +_ACEOF + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 +$as_echo_n "checking whether byte ordering is bigendian... " >&6; } +if ${ac_cv_c_bigendian+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + # Check for potential -arch flags. It is not universal unless + # there are at least two -arch flags with different values. + ac_arch= + ac_prev= + for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do + if test -n "$ac_prev"; then + case $ac_word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then + ac_arch=$ac_word + else + ac_cv_c_bigendian=universal + break + fi + ;; + esac + ac_prev= + elif test "x$ac_word" = "x-arch"; then + ac_prev=arch + fi + done +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_c_bigendian = unknown; then + # See if sys/param.h defines the BYTE_ORDER macro. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + #include <sys/param.h> + +int +main () +{ +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ + && LITTLE_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + #include <sys/param.h> + +int +main () +{ +#if BYTE_ORDER != BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +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 + if test $ac_cv_c_bigendian = unknown; then + # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <limits.h> + +int +main () +{ +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to _BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <limits.h> + +int +main () +{ +#ifndef _BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +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 + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. + if test "$cross_compiling" = yes; then : + # Try to guess by grepping values from an object file. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; + short int ascii_ii[] = + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; + int use_ascii (int i) { + return ascii_mm[i] + ascii_ii[i]; + } + short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; + short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; + } + extern int foo; + +int +main () +{ +return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_c_bigendian=no +else + ac_cv_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 +$as_echo "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) + $as_echo "@%:@define WORDS_BIGENDIAN 1" >>confdefs.h +;; #( + no) + ;; #( + universal) + +$as_echo "@%:@define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h + + ;; #( + *) + as_fn_error $? "unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; + esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if pointers to integers require aligned access" >&5 +$as_echo_n "checking if pointers to integers require aligned access... " >&6; } +if ${zziplib_cv_aligned_access+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case $host_cpu in @%:@( + alpha*|arm*|bfin*|hp*|mips*|sh*|sparc*|ia64|nv1) : + zziplib_cv_aligned_access=yes ;; @%:@( + *) : + zziplib_cv_aligned_access=no ;; +esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include <stdio.h> +#include <stdlib.h> +int +main () +{ + +char* string = malloc(40); +int i; +for (i=0; i < 40; i++) string[i] = i; +{ + void* s = string; + int* p = s+1; + int* q = s+2; + if (*p == *q) { return 1; } +} + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + zziplib_cv_aligned_access=no +else + zziplib_cv_aligned_access=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $zziplib_cv_aligned_access" >&5 +$as_echo "$zziplib_cv_aligned_access" >&6; } +if test "x$zziplib_cv_aligned_access" = xyes ; then + +$as_echo "@%:@define HAVE_ALIGNED_ACCESS_REQUIRED 1" >>confdefs.h + +fi + + +# Checks for library functions. +for ac_func in strcasecmp strndup +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +kpse_save_CPPFLAGS=$CPPFLAGS +kpse_save_LIBS=$LIBS + +## _KPSE_INIT: Initialize TL infrastructure +kpse_BLD=`(cd "./../../." && pwd)` +kpse_SRC=`(cd "$srcdir/../../." && pwd)` + +## _KPSE_LIB_FLAGS: Setup zlib (-lz) flags + +@%:@ Check whether --with-system-zlib was given. +if test "${with_system_zlib+set}" = set; then : + withval=$with_system_zlib; +fi + +@%:@ Check whether --with-zlib-includes was given. +if test "${with_zlib_includes+set}" = set; then : + withval=$with_zlib_includes; +fi + +@%:@ Check whether --with-zlib-libdir was given. +if test "${with_zlib_libdir+set}" = set; then : + withval=$with_zlib_libdir; +fi +if test "x$with_system_zlib" = xyes; then + if test "x$with_zlib_includes" != x && test "x$with_zlib_includes" != xyes; then + ZLIB_INCLUDES="-I$with_zlib_includes" +fi +ZLIB_LIBS="-lz" +if test "x$with_zlib_libdir" != x && test "x$with_zlib_libdir" != xyes; then + ZLIB_LIBS="-L$with_zlib_libdir $ZLIB_LIBS" +fi +else + ZLIB_INCLUDES="-I$kpse_BLD/libs/zlib/include" + ZLIB_LIBS="$kpse_BLD/libs/zlib/libz.a" + ZLIB_DEPEND='${top_builddir}/../../libs/zlib/libz.a' + ZLIB_RULE='# Rebuild libz +$(ZLIB_DEPEND): ${top_builddir}/../../libs/zlib/include/zconf.h + cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS) rebuild +${top_builddir}/../../libs/zlib/include/zconf.h: + cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS) rebuild' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if <zlib.h> defines 'z_const'" >&5 +$as_echo_n "checking if <zlib.h> defines 'z_const'... " >&6; } +if ${kpse_cv_have_decl_z_const+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\" +eval LIBS=\"$ZLIB_LIBS \$LIBS\" + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <zlib.h> +int +main () +{ +z_const char * foo(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + kpse_cv_have_decl_z_const=yes +else + kpse_cv_have_decl_z_const=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS=$kpse_save_CPPFLAGS +LIBS=$kpse_save_LIBS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_have_decl_z_const" >&5 +$as_echo "$kpse_cv_have_decl_z_const" >&6; } +case $kpse_cv_have_decl_z_const in @%:@( + yes) : + +$as_echo "@%:@define ZLIB_CONST 1" >>confdefs.h + ;; @%:@( + *) : + +$as_echo "@%:@define z_const /**/" >>confdefs.h + ;; +esac + + + if test "x$enable_build" != xno; then + build_TRUE= + build_FALSE='#' +else + build_TRUE='#' + build_FALSE= +fi + + +if test "x$enable_build" != xno || test -f config.force; then + +eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\" +eval LIBS=\"$ZLIB_LIBS \$LIBS\" + +for ac_header in zlib.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" +if test "x$ac_cv_header_zlib_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_ZLIB_H 1 +_ACEOF + +fi + +done + +ac_fn_c_check_func "$LINENO" "zlibVersion" "ac_cv_func_zlibVersion" +if test "x$ac_cv_func_zlibVersion" = xyes; then : + +else + as_fn_error $? "zlib not found" "$LINENO" 5 +fi + +CPPFLAGS=$kpse_save_CPPFLAGS +LIBS=$kpse_save_LIBS + + +echo timestamp >config.force +fi + +ZZIPLIB_TREE=zziplib-src + + +# ----------------------------------------------------------------------- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: creating include/zzip/_msvc.in via zzip/_msvc.sed of config.h.in" >&5 +$as_echo "creating include/zzip/_msvc.in via zzip/_msvc.sed of config.h.in" >&6; } +test -d include || mkdir include +sed -f $srcdir/$ZZIPLIB_TREE/zzip/_msvc.sed $srcdir/config.h.in >include/_msvc.in +ac_config_headers="$ac_config_headers config.h" + +ac_config_commands="$ac_config_commands include/zzip/_config.h" + +ac_config_commands="$ac_config_commands include/zzip/_msvc.h" + + +ac_config_files="$ac_config_files Makefile include/zzip/Makefile" + + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + 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=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIB@&t@OBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +if test -z "${build_TRUE}" && test -z "${build_FALSE}"; then + as_fn_error $? "conditional \"build\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## 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 + + +@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] +@%:@ ---------------------------------------- +@%:@ Output "`basename @S|@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 + + +@%:@ as_fn_set_status STATUS +@%:@ ----------------------- +@%:@ Set @S|@? 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_unset VAR +@%:@ --------------- +@%:@ Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +@%:@ 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 @S|@as_val. Take advantage of shells that can avoid forks. The arguments +@%:@ must be portable across @S|@(()) 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 + + +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 + +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 -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +@%:@ as_fn_mkdir_p +@%:@ ------------- +@%:@ Create "@S|@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 +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 + + +@%:@ as_fn_executable_p FILE +@%:@ ----------------------- +@%:@ Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} @%:@ as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# 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'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by zziplib (TeX Live) $as_me 0.13.68, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to <tex-k@tug.org>." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +zziplib (TeX Live) config.status 0.13.68 +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2012 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX +@%:@@%:@ Running $as_me. @%:@@%:@ +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" +PACKAGE="$PACKAGE" +PACKAGE="$PACKAGE" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "include/zzip/_config.h") CONFIG_COMMANDS="$CONFIG_COMMANDS include/zzip/_config.h" ;; + "include/zzip/_msvc.h") CONFIG_COMMANDS="$CONFIG_COMMANDS include/zzip/_msvc.h" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "include/zzip/Makefile") CONFIG_FILES="$CONFIG_FILES include/zzip/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' <conf$$subs.awk | sed ' +/^[^""]/{ + N + s/\n// +} +' >>$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' <confdefs.h | sed ' +s/'"$ac_delim"'/"\\\ +"/g' >>$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + 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 + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_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" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Older Autoconf 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" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + 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"` + # 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'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir=$dirpart/$fdir; as_fn_mkdir_p + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} + ;; + "include/zzip/_config.h":C) ac_prefix_conf_OUT=`echo include/zzip/_config.h` +ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/@<:@^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@:>@/_/g"` +ac_prefix_conf_PKG=`echo zzip` +ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"` +ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:" -e "/^@<:@0123456789@:>@/s/^/_/"` +ac_prefix_conf_INP=`echo "config.h" | sed -e 's/ *//'` +if test ".$ac_prefix_conf_INP" = "."; then + for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue + case "$ac_file" in + *.h) ac_prefix_conf_INP=$ac_file ;; + *) + esac + test ".$ac_prefix_conf_INP" != "." && break + done +fi +if test ".$ac_prefix_conf_INP" = "."; then + case "$ac_prefix_conf_OUT" in + */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"` + ;; + *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*-//"` + ;; + *) ac_prefix_conf_INP=config.h + ;; + esac +fi +if test -z "$ac_prefix_conf_PKG" ; then + as_fn_error $? "no prefix for _PREFIX_PKG_CONFIG_H" "$LINENO" 5 +else + if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then + ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP" + fi fi + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5 +$as_echo "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;} + if test -f $ac_prefix_conf_INP ; then + echo "s/^@%:@undef *\\(@<:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_@:>@\\)/@%:@undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix + echo "s/^@%:@undef *\\(@<:@abcdefghijklmnopqrstuvwxyz@:>@\\)/@%:@undef $ac_prefix_conf_LOW""_\\1/" >> conftest.prefix + echo "s/^@%:@define *\\(@<:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_@:>@@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*\\)\\(.*\\)/@%:@ifndef $ac_prefix_conf_UPP""_\\1 \\" >> conftest.prefix + echo "@%:@define $ac_prefix_conf_UPP""_\\1 \\2 \\" >> conftest.prefix + echo "@%:@endif/" >>conftest.prefix + echo "s/^@%:@define *\\(@<:@abcdefghijklmnopqrstuvwxyz@:>@@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*\\)\\(.*\\)/@%:@ifndef $ac_prefix_conf_LOW""_\\1 \\" >> conftest.prefix + echo "@%:@define $ac_prefix_conf_LOW""_\\1 \\2 \\" >> conftest.prefix + echo "@%:@endif/" >> conftest.prefix + # now executing _script on _DEF input to create _OUT output file + echo "@%:@ifndef $ac_prefix_conf_DEF" >$tmp/pconfig.h + echo "@%:@define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h + + sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h + echo "@%:@endif" >>$tmp/pconfig.h + if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_prefix_conf_OUT is unchanged" >&5 +$as_echo "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;} + else + ac_dir=`$as_dirname -- "$ac_prefix_conf_OUT" || +$as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_prefix_conf_OUT" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + rm -f "$ac_prefix_conf_OUT" + mv $tmp/pconfig.h "$ac_prefix_conf_OUT" + fi + cp conftest.prefix _configs.sed + else + as_fn_error $? "input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" "$LINENO" 5 + fi + rm -f conftest.* +fi + ;; + "include/zzip/_msvc.h":C) ac_prefix_conf_OUT=`echo include/zzip/_msvc.h` +ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/@<:@^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@:>@/_/g"` +ac_prefix_conf_PKG=`echo zzip` +ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"` +ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:" -e "/^@<:@0123456789@:>@/s/^/_/"` +ac_prefix_conf_INP=`echo "include/_msvc.in" | sed -e 's/ *//'` +if test ".$ac_prefix_conf_INP" = "."; then + for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue + case "$ac_file" in + *.h) ac_prefix_conf_INP=$ac_file ;; + *) + esac + test ".$ac_prefix_conf_INP" != "." && break + done +fi +if test ".$ac_prefix_conf_INP" = "."; then + case "$ac_prefix_conf_OUT" in + */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"` + ;; + *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*-//"` + ;; + *) ac_prefix_conf_INP=config.h + ;; + esac +fi +if test -z "$ac_prefix_conf_PKG" ; then + as_fn_error $? "no prefix for _PREFIX_PKG_CONFIG_H" "$LINENO" 5 +else + if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then + ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP" + fi fi + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5 +$as_echo "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;} + if test -f $ac_prefix_conf_INP ; then + echo "s/^@%:@undef *\\(@<:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_@:>@\\)/@%:@undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix + echo "s/^@%:@undef *\\(@<:@abcdefghijklmnopqrstuvwxyz@:>@\\)/@%:@undef $ac_prefix_conf_LOW""_\\1/" >> conftest.prefix + echo "s/^@%:@define *\\(@<:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_@:>@@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*\\)\\(.*\\)/@%:@ifndef $ac_prefix_conf_UPP""_\\1 \\" >> conftest.prefix + echo "@%:@define $ac_prefix_conf_UPP""_\\1 \\2 \\" >> conftest.prefix + echo "@%:@endif/" >>conftest.prefix + echo "s/^@%:@define *\\(@<:@abcdefghijklmnopqrstuvwxyz@:>@@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*\\)\\(.*\\)/@%:@ifndef $ac_prefix_conf_LOW""_\\1 \\" >> conftest.prefix + echo "@%:@define $ac_prefix_conf_LOW""_\\1 \\2 \\" >> conftest.prefix + echo "@%:@endif/" >> conftest.prefix + # now executing _script on _DEF input to create _OUT output file + echo "@%:@ifndef $ac_prefix_conf_DEF" >$tmp/pconfig.h + echo "@%:@define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h + + sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h + echo "@%:@endif" >>$tmp/pconfig.h + if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_prefix_conf_OUT is unchanged" >&5 +$as_echo "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;} + else + ac_dir=`$as_dirname -- "$ac_prefix_conf_OUT" || +$as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_prefix_conf_OUT" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + rm -f "$ac_prefix_conf_OUT" + mv $tmp/pconfig.h "$ac_prefix_conf_OUT" + fi + cp conftest.prefix _configs.sed + else + as_fn_error $? "input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" "$LINENO" 5 + fi + rm -f conftest.* +fi + ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff --git a/source/libs/zziplib/autom4te.cache/output.2 b/source/libs/zziplib/autom4te.cache/output.2 new file mode 100644 index 000000000..fbefbc360 --- /dev/null +++ b/source/libs/zziplib/autom4te.cache/output.2 @@ -0,0 +1,8477 @@ +@%:@! /bin/sh +@%:@ Guess values for system-dependent variables and create Makefiles. +@%:@ Generated by GNU Autoconf 2.69 for zziplib (TeX Live) 0.13.68. +@%:@ +@%:@ Report bugs to <tex-k@tug.org>. +@%:@ +@%:@ +@%:@ Copyright (C) 1992-1996, 1998-2012 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 + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # 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 +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+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +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 +test -x / || 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 \$(( 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 : + export CONFIG_SHELL + # 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 +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+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +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 tex-k@tug.org +$0: about your system, including any error possibly output +$0: before this message. Then install a modern shell, or +$0: manually run the script under such a shell if you do +$0: 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 @S|@? 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 "@S|@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_executable_p FILE +@%:@ ----------------------- +@%:@ Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} @%:@ as_fn_executable_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 @S|@as_val. Take advantage of shells that can avoid forks. The arguments +@%:@ must be portable across @S|@(()) 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 @S|@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; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # 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 -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +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 + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# 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'" + + +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=. +LIB@&t@OBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='zziplib (TeX Live)' +PACKAGE_TARNAME='zziplib--tex-live-' +PACKAGE_VERSION='0.13.68' +PACKAGE_STRING='zziplib (TeX Live) 0.13.68' +PACKAGE_BUGREPORT='tex-k@tug.org' +PACKAGE_URL='' + +ac_unique_file="zziplib-src/zziplib.spec" +# 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 +LIB@&t@OBJS +ZZIPLIB_TREE +build_FALSE +build_TRUE +ZLIB_RULE +ZLIB_DEPEND +ZLIB_LIBS +ZLIB_INCLUDES +ZZIPLIB_DEFINES +EGREP +GREP +CPP +VISIBILITY_CFLAGS +LN_S +RANLIB +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +WARNING_CFLAGS +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 +MAINT +MAINTAINER_MODE_FALSE +MAINTAINER_MODE_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_maintainer_mode +enable_dependency_tracking +enable_compiler_warnings +enable_largefile +with_system_zlib +with_zlib_includes +with_zlib_libdir +' + 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 + 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 zziplib (TeX Live) 0.13.68 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 + @<:@@S|@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/zziplib--tex-live-@:>@ + --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 zziplib (TeX Live) 0.13.68:";; + 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-maintainer-mode + enable make rules and dependencies not useful (and + sometimes confusing) to the casual installer + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --enable-compiler-warnings=@<:@no|min|yes|max|all@:>@ + Turn on compiler warnings @<:@default: yes if + maintainer-mode, min otherwise@:>@ + --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-system-zlib use installed zlib headers and library + --with-zlib-includes=DIR + zlib headers installed in DIR + --with-zlib-libdir=DIR zlib library installed in DIR + +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 <tex-k@tug.org>. +_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 +zziplib (TeX Live) configure 0.13.68 +generated by GNU Autoconf 2.69 + +Copyright (C) 2012 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.@S|@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.@S|@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 || + 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_try_cpp LINENO +@%:@ ---------------------- +@%:@ Try to preprocess conftest.@S|@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.@S|@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_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 tex-k@tug.org ## +## ---------------------------- ##" + ) | 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_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_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 test_array @<:@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 test_array @<:@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 test_array @<:@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 test_array @<:@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 test_array @<:@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 + +@%:@ 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 +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 zziplib (TeX Live) $as_me 0.13.68, which was +generated by GNU Autoconf 2.69. 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 + + + + +ac_aux_dir= +for ac_dir in ../../build-aux "$srcdir"/../../build-aux; 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 ../../build-aux \"$srcdir\"/../../build-aux" "$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. + + + + +am__api_version='1.15' + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# 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 as_fn_executable_p "$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; } +# 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 ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + 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 + 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 + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + 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; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + +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 --is-lightweight"; then + am_missing_run="$MISSING " +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+set}" != 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 as_fn_executable_p "$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 as_fn_executable_p "$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 + as_fn_executable_p "$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; } + +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 as_fn_executable_p "$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 + +@%:@ 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=1;; +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='\' + +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 + + +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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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> +struct stat; +/* 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 + +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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +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 + + +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 10 /bin/sh. + echo '/* dummy */' > 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 + + + +@%:@ Check whether --enable-compiler-warnings was given. +if test "${enable_compiler_warnings+set}" = set; then : + enableval=$enable_compiler_warnings; +fi +case $enable_compiler_warnings in @%:@( + no | min | yes | max | all) : + ;; @%:@( + *) : + if test "x$enable_maintainer_mode" = xyes; then : + enable_compiler_warnings=yes +else + enable_compiler_warnings=min +fi ;; +esac + + +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='zziplib--tex-live-' + VERSION='0.13.68' + + +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"} + +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: <http://www.gnu.org/software/coreutils/>. + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 +$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } + @%:@ Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then : + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 +$as_echo "$USE_MAINTAINER_MODE" >&6; } + if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + + MAINT=$MAINTAINER_MODE_TRUE + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler accepts prototypes" >&5 +$as_echo_n "checking whether the compiler accepts prototypes... " >&6; } +if ${kb_cv_c_prototypes+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdarg.h> +int +main () +{ +extern void foo(int i,...); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + kb_cv_c_prototypes=yes +else + kb_cv_c_prototypes=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kb_cv_c_prototypes" >&5 +$as_echo "$kb_cv_c_prototypes" >&6; } +if test "x$kb_cv_c_prototypes" = xno; then + as_fn_error $? "Sorry, your compiler does not understand prototypes." "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what warning flags to pass to the C compiler" >&5 +$as_echo_n "checking what warning flags to pass to the C compiler... " >&6; } +if ${kpse_cv_warning_cflags+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$GCC" = xyes; then + kpse_cv_warning_cflags= +if test "x$enable_compiler_warnings" != xno; then + kpse_cv_warning_cflags="-Wimplicit -Wreturn-type" + case `$CC -dumpversion` in @%:@( + 3.4.* | 4.* | 5.*) : + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wdeclaration-after-statement" ;; @%:@( + *) : + ;; +esac + case `$CC -dumpversion` in @%:@( + 3.@<:@234@:>@.* | 4.* | 5.*) : + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wno-unknown-pragmas" ;; @%:@( + *) : + ;; +esac + if test "x$enable_compiler_warnings" != xmin; then + kpse_cv_warning_cflags="-Wall -Wunused $kpse_cv_warning_cflags" + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wmissing-prototypes -Wmissing-declarations" + if test "x$enable_compiler_warnings" != xyes; then + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wparentheses -Wswitch -Wtrigraphs -Wpointer-arith" + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wcast-qual -Wcast-align -Wwrite-strings" + case `$CC -dumpversion` in @%:@( + 3.4.* | 4.* | 5.*) : + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wold-style-definition" ;; @%:@( + *) : + ;; +esac + if test "x$enable_compiler_warnings" != xmax; then + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wshadow" + fi + fi + fi +fi +elif test "x$enable_compiler_warnings" = xno; then + kpse_cv_warning_cflags= +else + kpse_cv_warning_cflags= # FIXME: warning flags for non-GNU C compilers +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_warning_cflags" >&5 +$as_echo "$kpse_cv_warning_cflags" >&6; } +WARNING_CFLAGS=$kpse_cv_warning_cflags + + + + + + + + +# 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 + + + +# 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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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 as_fn_executable_p "$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 + +{ $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> +struct stat; +/* 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 + +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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +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 + + +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 10 /bin/sh. + echo '/* dummy */' > 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 -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; 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_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $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 +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; 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_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $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_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + 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 + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + + +echo 'dbg:_KPSE_COMPILER_VISIBILITY called.' >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CFLAGS for C to hide external symbols" >&5 +$as_echo_n "checking CFLAGS for C to hide external symbols... " >&6; } +if ${kpse_cv_visibility_cflags+:} false; then : + $as_echo_n "(cached) " >&6 +else + 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 + +kpse_cv_visibility_cflags=unknown +kpse_save_flags=$CFLAGS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdio.h> + extern void foo(void); + void foo(void){printf("foo\n");} +_ACEOF +# FIXME: Add tests for non-GNU compilers +for kpse_flag in '-fvisibility=hidden -fvisibility-inlines-hidden' '-fvisibility=hidden'; do + CFLAGS="$kpse_save_flags -Werror $kpse_flag" + if ac_fn_c_try_compile "$LINENO"; then : + kpse_cv_visibility_cflags=$kpse_flag; break +fi +rm -f core conftest.err conftest.$ac_objext +done +CFLAGS=$kpse_save_flags +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 + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_visibility_cflags" >&5 +$as_echo "$kpse_cv_visibility_cflags" >&6; } +case $kpse_cv_visibility_cflags in @%:@( + unknown) : + ;; @%:@( + *) : + VISIBILITY_CFLAGS=$kpse_cv_visibility_cflags + ;; +esac + + + + + +# Checks for header files. +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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include <limits.h> +@%:@else +@%:@ include <assert.h> +@%:@endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include <limits.h> +@%:@else +@%:@ include <assert.h> +@%:@endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +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 $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +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 + + +{ $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" + as_fn_executable_p "$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 + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_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_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_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 egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_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 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "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_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_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_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <string.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdlib.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ctype.h> +#include <stdlib.h> +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h + +fi + +ac_header_dirent=no +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do + as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 +$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } +if eval \${$as_ac_Header+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> +#include <$ac_hdr> + +int +main () +{ +if ((DIR *) 0) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_ac_Header=yes" +else + eval "$as_ac_Header=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_ac_Header + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 +_ACEOF + +ac_header_dirent=$ac_hdr; break +fi + +done +# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. +if test $ac_header_dirent = dirent.h; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 +$as_echo_n "checking for library containing opendir... " >&6; } +if ${ac_cv_search_opendir+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' dir; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_opendir=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : + break +fi +done +if ${ac_cv_search_opendir+:} false; then : + +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 +$as_echo "$ac_cv_search_opendir" >&6; } +ac_res=$ac_cv_search_opendir +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 +$as_echo_n "checking for library containing opendir... " >&6; } +if ${ac_cv_search_opendir+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' x; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_opendir=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : + break +fi +done +if ${ac_cv_search_opendir+:} false; then : + +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 +$as_echo "$ac_cv_search_opendir" >&6; } +ac_res=$ac_cv_search_opendir +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_header in stdint.h unistd.h windows.h sys/int_types.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +for ac_header in winnt.h winbase.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#include <windows.h> +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +for ac_header in sys/types.h sys/mman.h sys/stat.h sys/param.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + for ac_header in io.h direct.h byteswap.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +for ac_header in fnmatch.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "fnmatch.h" "ac_cv_header_fnmatch_h" "$ac_includes_default" +if test "x$ac_cv_header_fnmatch_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_FNMATCH_H 1 +_ACEOF + +fi + +done + + +# --------------------------------------------------------------- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether can use mmap for file scanning" >&5 +$as_echo_n "checking whether can use mmap for file scanning... " >&6; } +enable_mmap='no (just a bit slower)' +test "x$ac_cv_header_winbase_h" = xyes && enable_mmap="yes, winbase.h" +test "x$ac_cv_header_sys_mman_h" = xyes && enable_mmap="yes, sys/mman.h" +case $enable_mmap in @%:@( + yes*) : + ZZIPLIB_DEFINES='-D_USE_MMAP' ;; @%:@( + *) : + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_mmap" >&5 +$as_echo "$enable_mmap" >&6; } + + +@%:@ Check whether --enable-largefile was given. +if test "${enable_largefile+set}" = set; then : + enableval=$enable_largefile; +fi + +if test "$enable_largefile" != no; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 +$as_echo_n "checking for special C compiler options needed for large files... " >&6; } +if ${ac_cv_sys_largefile_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_sys_largefile_CC=no + if test "$GCC" != yes; then + ac_save_CC=$CC + while :; do + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF + if ac_fn_c_try_compile "$LINENO"; then : + break +fi +rm -f core conftest.err conftest.$ac_objext + CC="$CC -n32" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_largefile_CC=' -n32'; break +fi +rm -f core conftest.err conftest.$ac_objext + break + done + CC=$ac_save_CC + rm -f conftest.$ac_ext + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 +$as_echo "$ac_cv_sys_largefile_CC" >&6; } + if test "$ac_cv_sys_largefile_CC" != no; then + CC=$CC$ac_cv_sys_largefile_CC + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 +$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } +if ${ac_cv_sys_file_offset_bits+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@define _FILE_OFFSET_BITS 64 +@%:@include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=64; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_file_offset_bits=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 +$as_echo "$ac_cv_sys_file_offset_bits" >&6; } +case $ac_cv_sys_file_offset_bits in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +@%:@define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits +_ACEOF +;; +esac +rm -rf conftest* + if test $ac_cv_sys_file_offset_bits = unknown; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 +$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } +if ${ac_cv_sys_large_files+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@define _LARGE_FILES 1 +@%:@include <sys/types.h> + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=1; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_large_files=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 +$as_echo "$ac_cv_sys_large_files" >&6; } +case $ac_cv_sys_large_files in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +@%:@define _LARGE_FILES $ac_cv_sys_large_files +_ACEOF +;; +esac +rm -rf conftest* + fi + + +fi + +# we know about some internals of ac_sys_largefile here... +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system differentiates 64bit off_t by defines" >&5 +$as_echo_n "checking whether system differentiates 64bit off_t by defines... " >&6; } +ac_cv_sys_largefile_sensitive="no" +if test ".${ac_cv_sys_file_offset_bits-no}${ac_cv_sys_large_files-no}" != ".nono" +then ac_cv_sys_largefile_sensitive="yes" + +$as_echo "@%:@define LARGEFILE_SENSITIVE 1" >>confdefs.h + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_sensitive" >&5 +$as_echo "$ac_cv_sys_largefile_sensitive" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5 +$as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } +if ${ac_cv_sys_largefile_source+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> /* for off_t */ + #include <stdio.h> +int +main () +{ +int (*fp) (FILE *, off_t, int) = fseeko; + return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_sys_largefile_source=no; break +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@define _LARGEFILE_SOURCE 1 +#include <sys/types.h> /* for off_t */ + #include <stdio.h> +int +main () +{ +int (*fp) (FILE *, off_t, int) = fseeko; + return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_sys_largefile_source=1; break +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_cv_sys_largefile_source=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5 +$as_echo "$ac_cv_sys_largefile_source" >&6; } +case $ac_cv_sys_largefile_source in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +@%:@define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source +_ACEOF +;; +esac +rm -rf conftest* + +# We used to try defining _XOPEN_SOURCE=500 too, to work around a bug +# in glibc 2.1.3, but that breaks too many other things. +# If you want fseeko and ftello with glibc, upgrade to a fixed glibc. +if test $ac_cv_sys_largefile_source != unknown; then + +$as_echo "@%:@define HAVE_FSEEKO 1" >>confdefs.h + +fi + + +# Checks for typedefs, structures, and compiler characteristics. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 +$as_echo_n "checking for inline... " >&6; } +if ${ac_cv_c_inline+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_inline=$ac_kw +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_inline" != no && break +done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 +$as_echo "$ac_cv_c_inline" >&6; } + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 +$as_echo_n "checking for an ANSI C-conforming const... " >&6; } +if ${ac_cv_c_const+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + +#ifndef __cplusplus + /* Ultrix mips cc rejects this sort of thing. */ + typedef int charset[2]; + const charset cs = { 0, 0 }; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this sort of thing. */ + char tx; + char *t = &tx; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; } bx; + struct s *b = &bx; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_const=yes +else + ac_cv_c_const=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 +$as_echo "$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then + +$as_echo "@%:@define const /**/" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5 +$as_echo_n "checking for C/C++ restrict keyword... " >&6; } +if ${ac_cv_c_restrict+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_restrict=no + # The order here caters to the fact that C++ does not require restrict. + for ac_kw in __restrict __restrict__ _Restrict restrict; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +typedef int * int_ptr; + int foo (int_ptr $ac_kw ip) { + return ip[0]; + } +int +main () +{ +int s[1]; + int * $ac_kw t = s; + t[0] = 0; + return foo(t) + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_restrict=$ac_kw +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_restrict" != no && break + done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5 +$as_echo "$ac_cv_c_restrict" >&6; } + + case $ac_cv_c_restrict in + restrict) ;; + no) $as_echo "@%:@define restrict /**/" >>confdefs.h + ;; + *) cat >>confdefs.h <<_ACEOF +@%:@define restrict $ac_cv_c_restrict +_ACEOF + ;; + esac + +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +@%:@define size_t unsigned int +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" +if test "x$ac_cv_type_ssize_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +@%:@define ssize_t int +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "off64_t" "ac_cv_type_off64_t" "$ac_includes_default" +if test "x$ac_cv_type_off64_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +@%:@define off64_t _zzip_off_t +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "__int64" "ac_cv_type___int64" "$ac_includes_default" +if test "x$ac_cv_type___int64" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +@%:@define __int64 long long +_ACEOF + +fi + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 +$as_echo_n "checking size of short... " >&6; } +if ${ac_cv_sizeof_short+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_short" = yes; then + { { $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 "cannot compute sizeof (short) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_short=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 +$as_echo "$ac_cv_sizeof_short" >&6; } + + + +cat >>confdefs.h <<_ACEOF +@%:@define SIZEOF_SHORT $ac_cv_sizeof_short +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 +$as_echo_n "checking size of int... " >&6; } +if ${ac_cv_sizeof_int+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_int" = yes; then + { { $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 "cannot compute sizeof (int) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_int=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 +$as_echo "$ac_cv_sizeof_int" >&6; } + + + +cat >>confdefs.h <<_ACEOF +@%:@define SIZEOF_INT $ac_cv_sizeof_int +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +$as_echo_n "checking size of long... " >&6; } +if ${ac_cv_sizeof_long+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_long" = yes; then + { { $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 "cannot compute sizeof (long) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +$as_echo "$ac_cv_sizeof_long" >&6; } + + + +cat >>confdefs.h <<_ACEOF +@%:@define SIZEOF_LONG $ac_cv_sizeof_long +_ACEOF + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 +$as_echo_n "checking whether byte ordering is bigendian... " >&6; } +if ${ac_cv_c_bigendian+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + # Check for potential -arch flags. It is not universal unless + # there are at least two -arch flags with different values. + ac_arch= + ac_prev= + for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do + if test -n "$ac_prev"; then + case $ac_word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then + ac_arch=$ac_word + else + ac_cv_c_bigendian=universal + break + fi + ;; + esac + ac_prev= + elif test "x$ac_word" = "x-arch"; then + ac_prev=arch + fi + done +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_c_bigendian = unknown; then + # See if sys/param.h defines the BYTE_ORDER macro. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + #include <sys/param.h> + +int +main () +{ +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ + && LITTLE_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + #include <sys/param.h> + +int +main () +{ +#if BYTE_ORDER != BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +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 + if test $ac_cv_c_bigendian = unknown; then + # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <limits.h> + +int +main () +{ +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to _BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <limits.h> + +int +main () +{ +#ifndef _BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +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 + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. + if test "$cross_compiling" = yes; then : + # Try to guess by grepping values from an object file. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; + short int ascii_ii[] = + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; + int use_ascii (int i) { + return ascii_mm[i] + ascii_ii[i]; + } + short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; + short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; + } + extern int foo; + +int +main () +{ +return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_c_bigendian=no +else + ac_cv_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 +$as_echo "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) + $as_echo "@%:@define WORDS_BIGENDIAN 1" >>confdefs.h +;; #( + no) + ;; #( + universal) + +$as_echo "@%:@define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h + + ;; #( + *) + as_fn_error $? "unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; + esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if pointers to integers require aligned access" >&5 +$as_echo_n "checking if pointers to integers require aligned access... " >&6; } +if ${zziplib_cv_aligned_access+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case $host_cpu in @%:@( + alpha*|arm*|bfin*|hp*|mips*|sh*|sparc*|ia64|nv1) : + zziplib_cv_aligned_access=yes ;; @%:@( + *) : + zziplib_cv_aligned_access=no ;; +esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include <stdio.h> +#include <stdlib.h> +int +main () +{ + +char* string = malloc(40); +int i; +for (i=0; i < 40; i++) string[i] = i; +{ + void* s = string; + int* p = s+1; + int* q = s+2; + if (*p == *q) { return 1; } +} + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + zziplib_cv_aligned_access=no +else + zziplib_cv_aligned_access=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $zziplib_cv_aligned_access" >&5 +$as_echo "$zziplib_cv_aligned_access" >&6; } +if test "x$zziplib_cv_aligned_access" = xyes ; then + +$as_echo "@%:@define HAVE_ALIGNED_ACCESS_REQUIRED 1" >>confdefs.h + +fi + + +# Checks for library functions. +for ac_func in strcasecmp strndup +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +kpse_save_CPPFLAGS=$CPPFLAGS +kpse_save_LIBS=$LIBS + +## _KPSE_INIT: Initialize TL infrastructure +kpse_BLD=`(cd "./../../." && pwd)` +kpse_SRC=`(cd "$srcdir/../../." && pwd)` + +## _KPSE_LIB_FLAGS: Setup zlib (-lz) flags + +@%:@ Check whether --with-system-zlib was given. +if test "${with_system_zlib+set}" = set; then : + withval=$with_system_zlib; +fi + +@%:@ Check whether --with-zlib-includes was given. +if test "${with_zlib_includes+set}" = set; then : + withval=$with_zlib_includes; +fi + +@%:@ Check whether --with-zlib-libdir was given. +if test "${with_zlib_libdir+set}" = set; then : + withval=$with_zlib_libdir; +fi +if test "x$with_system_zlib" = xyes; then + if test "x$with_zlib_includes" != x && test "x$with_zlib_includes" != xyes; then + ZLIB_INCLUDES="-I$with_zlib_includes" +fi +ZLIB_LIBS="-lz" +if test "x$with_zlib_libdir" != x && test "x$with_zlib_libdir" != xyes; then + ZLIB_LIBS="-L$with_zlib_libdir $ZLIB_LIBS" +fi +else + ZLIB_INCLUDES="-I$kpse_BLD/libs/zlib/include" + ZLIB_LIBS="$kpse_BLD/libs/zlib/libz.a" + ZLIB_DEPEND='${top_builddir}/../../libs/zlib/libz.a' + ZLIB_RULE='# Rebuild libz +$(ZLIB_DEPEND): ${top_builddir}/../../libs/zlib/include/zconf.h + cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS) rebuild +${top_builddir}/../../libs/zlib/include/zconf.h: + cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS) rebuild' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if <zlib.h> defines 'z_const'" >&5 +$as_echo_n "checking if <zlib.h> defines 'z_const'... " >&6; } +if ${kpse_cv_have_decl_z_const+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\" +eval LIBS=\"$ZLIB_LIBS \$LIBS\" + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <zlib.h> +int +main () +{ +z_const char * foo(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + kpse_cv_have_decl_z_const=yes +else + kpse_cv_have_decl_z_const=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS=$kpse_save_CPPFLAGS +LIBS=$kpse_save_LIBS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_have_decl_z_const" >&5 +$as_echo "$kpse_cv_have_decl_z_const" >&6; } +case $kpse_cv_have_decl_z_const in @%:@( + yes) : + +$as_echo "@%:@define ZLIB_CONST 1" >>confdefs.h + ;; @%:@( + *) : + +$as_echo "@%:@define z_const /**/" >>confdefs.h + ;; +esac + + + if test "x$enable_build" != xno; then + build_TRUE= + build_FALSE='#' +else + build_TRUE='#' + build_FALSE= +fi + + +if test "x$enable_build" != xno || test -f config.force; then + +eval CPPFLAGS=\"$ZLIB_INCLUDES \$CPPFLAGS\" +eval LIBS=\"$ZLIB_LIBS \$LIBS\" + +for ac_header in zlib.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" +if test "x$ac_cv_header_zlib_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_ZLIB_H 1 +_ACEOF + +fi + +done + +ac_fn_c_check_func "$LINENO" "zlibVersion" "ac_cv_func_zlibVersion" +if test "x$ac_cv_func_zlibVersion" = xyes; then : + +else + as_fn_error $? "zlib not found" "$LINENO" 5 +fi + +CPPFLAGS=$kpse_save_CPPFLAGS +LIBS=$kpse_save_LIBS + + +echo timestamp >config.force +fi + +ZZIPLIB_TREE=zziplib-src + + +# ----------------------------------------------------------------------- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: creating include/zzip/_msvc.in via zzip/_msvc.sed of config.h.in" >&5 +$as_echo "creating include/zzip/_msvc.in via zzip/_msvc.sed of config.h.in" >&6; } +test -d include || mkdir include +sed -f $srcdir/$ZZIPLIB_TREE/zzip/_msvc.sed $srcdir/config.h.in >include/_msvc.in +ac_config_headers="$ac_config_headers config.h" + +ac_config_commands="$ac_config_commands include/zzip/_config.h" + +ac_config_commands="$ac_config_commands include/zzip/_msvc.h" + + +ac_config_files="$ac_config_files Makefile include/zzip/Makefile" + + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + 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=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIB@&t@OBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +if test -z "${build_TRUE}" && test -z "${build_FALSE}"; then + as_fn_error $? "conditional \"build\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## 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 + + +@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] +@%:@ ---------------------------------------- +@%:@ Output "`basename @S|@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 + + +@%:@ as_fn_set_status STATUS +@%:@ ----------------------- +@%:@ Set @S|@? 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_unset VAR +@%:@ --------------- +@%:@ Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +@%:@ 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 @S|@as_val. Take advantage of shells that can avoid forks. The arguments +@%:@ must be portable across @S|@(()) 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 + + +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 + +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 -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +@%:@ as_fn_mkdir_p +@%:@ ------------- +@%:@ Create "@S|@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 +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 + + +@%:@ as_fn_executable_p FILE +@%:@ ----------------------- +@%:@ Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} @%:@ as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# 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'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by zziplib (TeX Live) $as_me 0.13.68, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to <tex-k@tug.org>." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +zziplib (TeX Live) config.status 0.13.68 +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2012 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX +@%:@@%:@ Running $as_me. @%:@@%:@ +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" +PACKAGE="$PACKAGE" +PACKAGE="$PACKAGE" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "include/zzip/_config.h") CONFIG_COMMANDS="$CONFIG_COMMANDS include/zzip/_config.h" ;; + "include/zzip/_msvc.h") CONFIG_COMMANDS="$CONFIG_COMMANDS include/zzip/_msvc.h" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "include/zzip/Makefile") CONFIG_FILES="$CONFIG_FILES include/zzip/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' <conf$$subs.awk | sed ' +/^[^""]/{ + N + s/\n// +} +' >>$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' <confdefs.h | sed ' +s/'"$ac_delim"'/"\\\ +"/g' >>$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + 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 + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_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" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Older Autoconf 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" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + 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"` + # 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'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir=$dirpart/$fdir; as_fn_mkdir_p + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} + ;; + "include/zzip/_config.h":C) ac_prefix_conf_OUT=`echo include/zzip/_config.h` +ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/@<:@^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@:>@/_/g"` +ac_prefix_conf_PKG=`echo zzip` +ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"` +ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:" -e "/^@<:@0123456789@:>@/s/^/_/"` +ac_prefix_conf_INP=`echo "config.h" | sed -e 's/ *//'` +if test ".$ac_prefix_conf_INP" = "."; then + for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue + case "$ac_file" in + *.h) ac_prefix_conf_INP=$ac_file ;; + *) + esac + test ".$ac_prefix_conf_INP" != "." && break + done +fi +if test ".$ac_prefix_conf_INP" = "."; then + case "$ac_prefix_conf_OUT" in + */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"` + ;; + *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*-//"` + ;; + *) ac_prefix_conf_INP=config.h + ;; + esac +fi +if test -z "$ac_prefix_conf_PKG" ; then + as_fn_error $? "no prefix for _PREFIX_PKG_CONFIG_H" "$LINENO" 5 +else + if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then + ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP" + fi fi + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5 +$as_echo "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;} + if test -f $ac_prefix_conf_INP ; then + echo "s/^@%:@undef *\\(@<:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_@:>@\\)/@%:@undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix + echo "s/^@%:@undef *\\(@<:@abcdefghijklmnopqrstuvwxyz@:>@\\)/@%:@undef $ac_prefix_conf_LOW""_\\1/" >> conftest.prefix + echo "s/^@%:@define *\\(@<:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_@:>@@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*\\)\\(.*\\)/@%:@ifndef $ac_prefix_conf_UPP""_\\1 \\" >> conftest.prefix + echo "@%:@define $ac_prefix_conf_UPP""_\\1 \\2 \\" >> conftest.prefix + echo "@%:@endif/" >>conftest.prefix + echo "s/^@%:@define *\\(@<:@abcdefghijklmnopqrstuvwxyz@:>@@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*\\)\\(.*\\)/@%:@ifndef $ac_prefix_conf_LOW""_\\1 \\" >> conftest.prefix + echo "@%:@define $ac_prefix_conf_LOW""_\\1 \\2 \\" >> conftest.prefix + echo "@%:@endif/" >> conftest.prefix + # now executing _script on _DEF input to create _OUT output file + echo "@%:@ifndef $ac_prefix_conf_DEF" >$tmp/pconfig.h + echo "@%:@define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h + + sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h + echo "@%:@endif" >>$tmp/pconfig.h + if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_prefix_conf_OUT is unchanged" >&5 +$as_echo "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;} + else + ac_dir=`$as_dirname -- "$ac_prefix_conf_OUT" || +$as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_prefix_conf_OUT" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + rm -f "$ac_prefix_conf_OUT" + mv $tmp/pconfig.h "$ac_prefix_conf_OUT" + fi + cp conftest.prefix _configs.sed + else + as_fn_error $? "input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" "$LINENO" 5 + fi + rm -f conftest.* +fi + ;; + "include/zzip/_msvc.h":C) ac_prefix_conf_OUT=`echo include/zzip/_msvc.h` +ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/@<:@^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@:>@/_/g"` +ac_prefix_conf_PKG=`echo zzip` +ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"` +ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:" -e "/^@<:@0123456789@:>@/s/^/_/"` +ac_prefix_conf_INP=`echo "include/_msvc.in" | sed -e 's/ *//'` +if test ".$ac_prefix_conf_INP" = "."; then + for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue + case "$ac_file" in + *.h) ac_prefix_conf_INP=$ac_file ;; + *) + esac + test ".$ac_prefix_conf_INP" != "." && break + done +fi +if test ".$ac_prefix_conf_INP" = "."; then + case "$ac_prefix_conf_OUT" in + */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"` + ;; + *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*-//"` + ;; + *) ac_prefix_conf_INP=config.h + ;; + esac +fi +if test -z "$ac_prefix_conf_PKG" ; then + as_fn_error $? "no prefix for _PREFIX_PKG_CONFIG_H" "$LINENO" 5 +else + if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then + ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP" + fi fi + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5 +$as_echo "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;} + if test -f $ac_prefix_conf_INP ; then + echo "s/^@%:@undef *\\(@<:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_@:>@\\)/@%:@undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix + echo "s/^@%:@undef *\\(@<:@abcdefghijklmnopqrstuvwxyz@:>@\\)/@%:@undef $ac_prefix_conf_LOW""_\\1/" >> conftest.prefix + echo "s/^@%:@define *\\(@<:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_@:>@@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*\\)\\(.*\\)/@%:@ifndef $ac_prefix_conf_UPP""_\\1 \\" >> conftest.prefix + echo "@%:@define $ac_prefix_conf_UPP""_\\1 \\2 \\" >> conftest.prefix + echo "@%:@endif/" >>conftest.prefix + echo "s/^@%:@define *\\(@<:@abcdefghijklmnopqrstuvwxyz@:>@@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*\\)\\(.*\\)/@%:@ifndef $ac_prefix_conf_LOW""_\\1 \\" >> conftest.prefix + echo "@%:@define $ac_prefix_conf_LOW""_\\1 \\2 \\" >> conftest.prefix + echo "@%:@endif/" >> conftest.prefix + # now executing _script on _DEF input to create _OUT output file + echo "@%:@ifndef $ac_prefix_conf_DEF" >$tmp/pconfig.h + echo "@%:@define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h + + sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h + echo "@%:@endif" >>$tmp/pconfig.h + if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_prefix_conf_OUT is unchanged" >&5 +$as_echo "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;} + else + ac_dir=`$as_dirname -- "$ac_prefix_conf_OUT" || +$as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_prefix_conf_OUT" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + rm -f "$ac_prefix_conf_OUT" + mv $tmp/pconfig.h "$ac_prefix_conf_OUT" + fi + cp conftest.prefix _configs.sed + else + as_fn_error $? "input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" "$LINENO" 5 + fi + rm -f conftest.* +fi + ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff --git a/source/libs/zziplib/autom4te.cache/requests b/source/libs/zziplib/autom4te.cache/requests new file mode 100644 index 000000000..04aea69a8 --- /dev/null +++ b/source/libs/zziplib/autom4te.cache/requests @@ -0,0 +1,371 @@ +# This file was generated. +# It contains the lists of macros which have been traced. +# It can be safely removed. + +@request = ( + bless( [ + '0', + 1, + [ + '/home/luigisvn/autotools/share/autoconf' + ], + [ + '/home/luigisvn/autotools/share/autoconf/autoconf/autoconf.m4f', + '-', + '/home/luigisvn/autotools/share/aclocal-1.15/internal/ac-config-macro-dirs.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/cond.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/substnot.m4', + 'configure.ac' + ], + { + 'm4_include' => 1, + '_AM_AUTOCONF_VERSION' => 1, + 'AC_CONFIG_MACRO_DIR' => 1, + 'AC_DEFUN' => 1, + 'AM_CONDITIONAL' => 1, + 'm4_pattern_forbid' => 1, + 'AU_DEFUN' => 1, + 'm4_pattern_allow' => 1, + 'include' => 1, + '_m4_warn' => 1, + 'AC_CONFIG_MACRO_DIR_TRACE' => 1, + 'AC_DEFUN_ONCE' => 1, + 'AM_SUBST_NOTMAKE' => 1, + '_AM_CONFIG_MACRO_DIRS' => 1, + '_AM_SUBST_NOTMAKE' => 1 + } + ], 'Autom4te::Request' ), + bless( [ + '1', + 1, + [ + '/home/luigisvn/autotools/share/autoconf' + ], + [ + '/home/luigisvn/autotools/share/autoconf/autoconf/autoconf.m4f', + '-', + '/home/luigisvn/autotools/share/aclocal-1.15/internal/ac-config-macro-dirs.m4', + '/home/luigisvn/autotools/share/aclocal/ltargz.m4', + '/home/luigisvn/autotools/share/aclocal/ltdl.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/amversion.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/auxdir.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/cond.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/depend.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/depout.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/init.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/install-sh.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/lead-dot.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/maintainer.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/make.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/missing.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/options.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/prog-cc-c-o.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/runlog.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/sanity.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/silent.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/strip.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/substnot.m4', + '/home/luigisvn/autotools/share/aclocal-1.15/tar.m4', + 'm4/ac_sys_largefile_sensitive.m4', + 'm4/ax_prefix_config_h.m4', + 'm4/zziplib-aligned-access.m4', + '../../m4/kpse-common.m4', + '../../m4/kpse-visibility.m4', + '../../m4/kpse-warnings.m4', + '../../m4/kpse-zlib-flags.m4', + '../../m4/libtool.m4', + '../../m4/ltoptions.m4', + '../../m4/ltsugar.m4', + '../../m4/ltversion.m4', + '../../m4/lt~obsolete.m4', + 'configure.ac' + ], + { + 'LT_SYS_DLSEARCH_PATH' => 1, + 'AC_PROG_EGREP' => 1, + '_LT_AC_TAGCONFIG' => 1, + 'LT_SYS_MODULE_EXT' => 1, + 'LTDL_INSTALLABLE' => 1, + 'AC_PATH_MAGIC' => 1, + '_m4_warn' => 1, + 'AC_CONFIG_MACRO_DIR_TRACE' => 1, + 'LT_LIB_M' => 1, + 'KPSE_CANONICAL_HOST' => 1, + 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, + 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, + '_AM_SET_OPTION' => 1, + '_AC_PROG_LIBTOOL' => 1, + '_LT_DLL_DEF_P' => 1, + '_LT_AC_SYS_COMPILER' => 1, + 'AM_MISSING_PROG' => 1, + '_KPSE_MSG_WARN_PREPARE' => 1, + '_LT_AC_LANG_F77' => 1, + 'm4_include' => 1, + 'AC_DEFUN' => 1, + 'LT_CMD_MAX_LEN' => 1, + 'AM_DISABLE_SHARED' => 1, + '_AM_PROG_TAR' => 1, + 'AM_PROG_LD' => 1, + 'KPSE_ZLIB_OPTIONS' => 1, + 'AU_DEFUN' => 1, + 'AM_PROG_NM' => 1, + '_KPSE_PKG_CONFIG_FLAGS' => 1, + '_LT_LINKER_OPTION' => 1, + '_LT_PATH_TOOL_PREFIX' => 1, + '_LT_PREPARE_SED_QUOTE_VARS' => 1, + 'AC_PROG_LD_RELOAD_FLAG' => 1, + 'KPSE_COMPILER_VISIBILITY' => 1, + 'LTOBSOLETE_VERSION' => 1, + '_LT_AC_LANG_GCJ' => 1, + 'LT_PATH_NM' => 1, + 'LTDL_INIT' => 1, + '_LT_AC_PROG_CXXCPP' => 1, + 'LT_SYS_MODULE_PATH' => 1, + '_KPSE_TEXLIB_FLAGS' => 1, + 'KPSE_ZLIB_FLAGS' => 1, + 'LT_AC_PROG_EGREP' => 1, + 'LT_AC_PROG_GCJ' => 1, + 'AC_LTDL_DLSYM_USCORE' => 1, + 'AC_SYS_LARGEFILE_SENSITIVE' => 1, + 'LT_PROG_RC' => 1, + 'AC_LIBTOOL_CONFIG' => 1, + 'AC_ENABLE_STATIC' => 1, + 'AC_PROG_NM' => 1, + 'LT_OUTPUT' => 1, + 'KPSE_NATIVE_SUBDIRS' => 1, + 'AM_RUN_LOG' => 1, + 'LT_PATH_LD' => 1, + '_LTDL_SETUP' => 1, + 'LT_AC_PROG_SED' => 1, + 'KPSE_LIBS_PREPARE' => 1, + 'AM_ENABLE_SHARED' => 1, + 'AC_LIBTOOL_DLOPEN_SELF' => 1, + 'AM_SET_DEPDIR' => 1, + '_KPSE_WARNING_CFLAGS' => 1, + 'LTSUGAR_VERSION' => 1, + 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, + 'KPSE_COMMON' => 1, + 'AC_LTDL_SYMBOL_USCORE' => 1, + '_LT_PROG_ECHO_BACKSLASH' => 1, + 'AC_LTDL_PREOPEN' => 1, + 'AM_SANITY_CHECK' => 1, + 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, + '_LT_AC_LANG_GCJ_CONFIG' => 1, + '_LT_PROG_F77' => 1, + 'KPSE_ZLIB_SYSTEM_FLAGS' => 1, + 'AM_AUTOMAKE_VERSION' => 1, + 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1, + '_LT_COMPILER_OPTION' => 1, + '_LT_AC_LANG_CXX' => 1, + 'm4_pattern_allow' => 1, + '_LT_AC_LANG_C_CONFIG' => 1, + 'AM_PROG_CC_C_O' => 1, + 'AC_LIBTOOL_LINKER_OPTION' => 1, + 'AC_LIBTOOL_CXX' => 1, + 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, + 'AM_DEP_TRACK' => 1, + 'AC_LIBTOOL_F77' => 1, + '_LT_AC_SYS_LIBPATH_AIX' => 1, + '_AM_CONFIG_MACRO_DIRS' => 1, + 'LT_SYS_DLOPEN_SELF' => 1, + '_AM_SET_OPTIONS' => 1, + '_AM_AUTOCONF_VERSION' => 1, + 'AM_MAKE_INCLUDE' => 1, + 'AC_LIBLTDL_CONVENIENCE' => 1, + 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, + 'KPSE_RESTORE_FLAGS' => 1, + 'AM_MAINTAINER_MODE' => 1, + 'LTDL_CONVENIENCE' => 1, + 'AC_DEFUN_ONCE' => 1, + 'LT_SYS_DLOPEN_DEPLIBS' => 1, + 'AC_LIBTOOL_LANG_C_CONFIG' => 1, + 'm4_pattern_forbid' => 1, + 'AC_LIBTOOL_RC' => 1, + '_LT_PROG_CXX' => 1, + 'AC_PROG_LIBTOOL' => 1, + '_LT_LIBOBJ' => 1, + 'AC_LIBLTDL_INSTALLABLE' => 1, + 'AC_LIBTOOL_DLOPEN' => 1, + '_KPSE_VISIBILITY_CXXFLAGS' => 1, + 'AC_LIBTOOL_COMPILER_OPTION' => 1, + 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1, + '_LT_PROG_FC' => 1, + 'AM_PROG_INSTALL_STRIP' => 1, + '_KPSE_VISIBILITY_CFLAGS' => 1, + 'AM_CONDITIONAL' => 1, + 'AC_LIBTOOL_FC' => 1, + 'AC_LTDL_SHLIBEXT' => 1, + '_LT_AC_LOCK' => 1, + 'LT_PROG_GO' => 1, + 'AC_LIBTOOL_PICMODE' => 1, + 'LT_LANG' => 1, + 'KPSE_SAVE_FLAGS' => 1, + 'LT_LIB_DLLOAD' => 1, + 'LT_SUPPORTED_TAG' => 1, + 'AC_LTDL_SYSSEARCHPATH' => 1, + '_LT_CC_BASENAME' => 1, + 'AC_DISABLE_FAST_INSTALL' => 1, + 'AC_CONFIG_MACRO_DIR' => 1, + 'KPSE_ADD_FLAGS' => 1, + 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1, + 'LT_CONFIG_LTDL_DIR' => 1, + 'LT_WITH_LTDL' => 1, + 'AC_ENABLE_SHARED' => 1, + 'AC_LIBTOOL_POSTDEP_PREDEP' => 1, + 'AM_INIT_AUTOMAKE' => 1, + 'AC_DEPLIBS_CHECK_METHOD' => 1, + 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'LT_PROG_GCJ' => 1, + '_KPSE_WARNING_OBJCFLAGS' => 1, + 'LTVERSION_VERSION' => 1, + '_KPSE_COMPILER_WARNINGS_OPTION' => 1, + '_KPSE_LIB_FLAGS' => 1, + 'AC_LIBTOOL_GCJ' => 1, + 'include' => 1, + 'AM_DISABLE_STATIC' => 1, + '_LT_AC_SHELL_INIT' => 1, + 'KPSE_INIT' => 1, + '_AM_PROG_CC_C_O' => 1, + '_AC_AM_CONFIG_HEADER_HOOK' => 1, + 'AC_DISABLE_SHARED' => 1, + 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, + 'AC_LTDL_SHLIBPATH' => 1, + 'AC_LIB_LTDL' => 1, + 'LT_SYS_SYMBOL_USCORE' => 1, + 'AC_ENABLE_FAST_INSTALL' => 1, + 'LT_INIT' => 1, + 'LTOPTIONS_VERSION' => 1, + 'AC_LTDL_DLLIB' => 1, + 'AC_LIBTOOL_SETUP' => 1, + '_LT_WITH_SYSROOT' => 1, + 'ZZIPLIB_CHECK_ALIGNED_ACCESS' => 1, + 'KPSE_MSG_WARN' => 1, + '_KPSE_WARNING_OBJCXXFLAGS' => 1, + 'AM_SILENT_RULES' => 1, + 'AC_LIBTOOL_PROG_CC_C_O' => 1, + '_KPSE_INIT' => 1, + 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1, + 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, + 'AM_PROG_LIBTOOL' => 1, + 'KPSE_BASIC' => 1, + 'AM_AUX_DIR_EXPAND' => 1, + '_LT_COMPILER_BOILERPLATE' => 1, + '_LT_PROG_LTMAIN' => 1, + 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, + '_KPSE_CHECK_PKG_CONFIG' => 1, + '_LT_AC_LANG_RC_CONFIG' => 1, + 'AM_ENABLE_STATIC' => 1, + 'AC_CHECK_LIBM' => 1, + '_LT_AC_LANG_F77_CONFIG' => 1, + '_AM_SUBST_NOTMAKE' => 1, + 'AC_PROG_LD' => 1, + 'AC_LTDL_OBJDIR' => 1, + 'KPSE_COMPILER_WARNINGS' => 1, + 'LT_AC_PROG_RC' => 1, + 'AC_LTDL_ENABLE_INSTALL' => 1, + '_LT_AC_TAGVAR' => 1, + 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, + 'AM_PROG_INSTALL_SH' => 1, + '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'AC_LIBTOOL_WIN32_DLL' => 1, + '_KPSE_USE_LIBTOOL' => 1, + '_LT_AC_TRY_DLOPEN_SELF' => 1, + '_AM_DEPENDENCIES' => 1, + 'AC_DISABLE_STATIC' => 1, + 'AM_MISSING_HAS_RUN' => 1, + 'LT_FUNC_ARGZ' => 1, + 'LT_FUNC_DLSYM_USCORE' => 1, + 'AC_PROG_LD_GNU' => 1, + '_AM_IF_OPTION' => 1, + '_LT_LINKER_BOILERPLATE' => 1, + 'AM_SET_LEADING_DOT' => 1, + '_LT_AC_PROG_ECHO_BACKSLASH' => 1, + 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, + 'AC_LIBTOOL_OBJDIR' => 1, + 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, + '_LT_AC_FILE_LTDLL_C' => 1, + '_LT_REQUIRED_DARWIN_CHECKS' => 1, + '_LT_AC_CHECK_DLFCN' => 1, + 'AC_PATH_TOOL_PREFIX' => 1, + '_LT_AC_LANG_CXX_CONFIG' => 1, + 'AX_PREFIX_CONFIG_H' => 1, + 'AC_WITH_LTDL' => 1, + '_AM_MANGLE_OPTION' => 1, + 'AM_SUBST_NOTMAKE' => 1 + } + ], 'Autom4te::Request' ), + bless( [ + '2', + 1, + [ + '/home/luigisvn/autotools/share/autoconf' + ], + [ + '/home/luigisvn/autotools/share/autoconf/autoconf/autoconf.m4f', + 'aclocal.m4', + 'configure.ac' + ], + { + 'AC_CANONICAL_BUILD' => 1, + 'AM_NLS' => 1, + 'AM_EXTRA_RECURSIVE_TARGETS' => 1, + 'include' => 1, + 'AC_CONFIG_HEADERS' => 1, + 'AM_MAINTAINER_MODE' => 1, + 'AM_PROG_FC_C_O' => 1, + 'AM_PROG_MOC' => 1, + 'sinclude' => 1, + 'AM_PROG_AR' => 1, + 'AM_PROG_CXX_C_O' => 1, + '_AM_COND_ELSE' => 1, + 'AC_LIBSOURCE' => 1, + '_AM_COND_IF' => 1, + 'AM_XGETTEXT_OPTION' => 1, + 'AC_FC_FREEFORM' => 1, + 'AM_POT_TOOLS' => 1, + 'm4_pattern_forbid' => 1, + 'AC_DEFINE_TRACE_LITERAL' => 1, + 'AM_PROG_F77_C_O' => 1, + 'AC_CONFIG_FILES' => 1, + '_AM_MAKEFILE_INCLUDE' => 1, + 'LT_INIT' => 1, + 'AC_PROG_LIBTOOL' => 1, + 'AC_INIT' => 1, + 'AM_MAKEFILE_INCLUDE' => 1, + 'AC_FC_SRCEXT' => 1, + 'AC_CANONICAL_SYSTEM' => 1, + 'AC_CANONICAL_TARGET' => 1, + 'AM_SILENT_RULES' => 1, + 'AM_PROG_MKDIR_P' => 1, + 'AH_OUTPUT' => 1, + 'AC_SUBST_TRACE' => 1, + 'AM_CONDITIONAL' => 1, + 'AC_CANONICAL_HOST' => 1, + 'AC_SUBST' => 1, + 'm4_sinclude' => 1, + '_LT_AC_TAGCONFIG' => 1, + 'AM_ENABLE_MULTILIB' => 1, + 'AC_FC_PP_SRCEXT' => 1, + '_m4_warn' => 1, + '_AM_COND_ENDIF' => 1, + 'LT_SUPPORTED_TAG' => 1, + '_AM_SUBST_NOTMAKE' => 1, + 'm4_include' => 1, + 'AM_GNU_GETTEXT' => 1, + 'AM_AUTOMAKE_VERSION' => 1, + 'm4_pattern_allow' => 1, + 'LT_CONFIG_LTDL_DIR' => 1, + 'AC_CONFIG_LIBOBJ_DIR' => 1, + 'AM_PROG_CC_C_O' => 1, + 'AC_CONFIG_SUBDIRS' => 1, + 'AC_REQUIRE_AUX_FILE' => 1, + 'AC_CONFIG_AUX_DIR' => 1, + 'AM_INIT_AUTOMAKE' => 1, + 'AM_PATH_GUILE' => 1, + 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, + 'AC_CONFIG_LINKS' => 1, + 'AC_FC_PP_DEFINE' => 1 + } + ], 'Autom4te::Request' ) + ); + diff --git a/source/libs/zziplib/autom4te.cache/traces.0 b/source/libs/zziplib/autom4te.cache/traces.0 new file mode 100644 index 000000000..80aa3ec17 --- /dev/null +++ b/source/libs/zziplib/autom4te.cache/traces.0 @@ -0,0 +1,133 @@ +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/cond.m4:12: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl + m4_if([$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])]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/substnot.m4:12: -1- AC_DEFUN([_AM_SUBST_NOTMAKE]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/substnot.m4:17: -1- AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) +m4trace:configure.ac:12: -1- m4_include([version.ac]) +m4trace:configure.ac:13: -1- m4_pattern_forbid([^_?A[CHUM]_]) +m4trace:configure.ac:13: -1- m4_pattern_forbid([_AC_]) +m4trace:configure.ac:13: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) +m4trace:configure.ac:13: -1- m4_pattern_allow([^AS_FLAGS$]) +m4trace:configure.ac:13: -1- m4_pattern_forbid([^_?m4_]) +m4trace:configure.ac:13: -1- m4_pattern_forbid([^dnl$]) +m4trace:configure.ac:13: -1- m4_pattern_forbid([^_?AS_]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^SHELL$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PATH_SEPARATOR$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_URL$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^exec_prefix$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^prefix$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^program_transform_name$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^bindir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^sbindir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^libexecdir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^datarootdir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^datadir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^sysconfdir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^sharedstatedir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^localstatedir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^includedir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^oldincludedir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^docdir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^infodir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^htmldir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^dvidir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^pdfdir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^psdir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^libdir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^localedir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^mandir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_URL$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^DEFS$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^ECHO_C$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^ECHO_N$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^ECHO_T$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^build_alias$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^host_alias$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^target_alias$]) +m4trace:configure.ac:17: -1- _AM_CONFIG_MACRO_DIRS([../../m4 m4]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^build$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^build_cpu$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^build_vendor$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^build_os$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^host$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^host_cpu$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^host_vendor$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^host_os$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^EXEEXT$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^OBJEXT$]) +m4trace:configure.ac:25: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^LN_S$]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^STDC_HEADERS$]) +m4trace:configure.ac:37: -1- m4_pattern_allow([^HAVE_FNMATCH_H$]) +m4trace:configure.ac:47: -1- m4_pattern_allow([^ZZIPLIB_DEFINES$]) +m4trace:configure.ac:50: -1- m4_pattern_allow([^_LARGEFILE_SOURCE$]) +m4trace:configure.ac:50: -1- m4_pattern_allow([^HAVE_FSEEKO$]) +m4trace:configure.ac:54: -1- m4_pattern_allow([^const$]) +m4trace:configure.ac:55: -1- m4_pattern_allow([^restrict$]) +m4trace:configure.ac:55: -1- m4_pattern_allow([^restrict$]) +m4trace:configure.ac:56: -1- m4_pattern_allow([^size_t$]) +m4trace:configure.ac:57: -1- m4_pattern_allow([^ssize_t$]) +m4trace:configure.ac:58: -1- m4_pattern_allow([^off64_t$]) +m4trace:configure.ac:59: -1- m4_pattern_allow([^__int64$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^SIZEOF_SHORT$]) +m4trace:configure.ac:61: -1- m4_pattern_allow([^SIZEOF_INT$]) +m4trace:configure.ac:62: -1- m4_pattern_allow([^SIZEOF_LONG$]) +m4trace:configure.ac:63: -1- m4_pattern_allow([^WORDS_BIGENDIAN$]) +m4trace:configure.ac:63: -1- m4_pattern_allow([^AC_APPLE_UNIVERSAL_BUILD$]) +m4trace:configure.ac:71: -1- AM_CONDITIONAL([build], [test "x$enable_build" != xno]) +m4trace:configure.ac:71: -1- m4_pattern_allow([^build_TRUE$]) +m4trace:configure.ac:71: -1- m4_pattern_allow([^build_FALSE$]) +m4trace:configure.ac:71: -1- _AM_SUBST_NOTMAKE([build_TRUE]) +m4trace:configure.ac:71: -1- _AM_SUBST_NOTMAKE([build_FALSE]) +m4trace:configure.ac:76: -1- m4_pattern_allow([^HAVE_ZLIB_H$]) +m4trace:configure.ac:77: -1- _m4_warn([obsolete], [The macro `AC_ERROR' is obsolete. +You should run autoupdate.], [../../lib/autoconf/oldnames.m4:34: AC_ERROR is expanded from... +../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... +../../lib/autoconf/functions.m4:59: AC_CHECK_FUNC is expanded from... +configure.ac:77: the top level]) +m4trace:configure.ac:83: -1- m4_pattern_allow([^ZZIPLIB_TREE$]) +m4trace:configure.ac:95: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:95: -1- m4_pattern_allow([^LTLIBOBJS$]) diff --git a/source/libs/zziplib/autom4te.cache/traces.1 b/source/libs/zziplib/autom4te.cache/traces.1 new file mode 100644 index 000000000..f45e15c76 --- /dev/null +++ b/source/libs/zziplib/autom4te.cache/traces.1 @@ -0,0 +1,3136 @@ +m4trace:/home/luigisvn/autotools/share/aclocal/ltargz.m4:12: -1- AC_DEFUN([LT_FUNC_ARGZ], [ +AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT]) + +AC_CHECK_TYPES([error_t], + [], + [AC_DEFINE([error_t], [int], + [Define to a type to use for 'error_t' if it is not otherwise available.]) + AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h + does not typedef error_t.])], + [#if defined(HAVE_ARGZ_H) +# include <argz.h> +#endif]) + +LT_ARGZ_H= +AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \ + argz_next argz_stringify], [], [LT_ARGZ_H=lt__argz.h; AC_LIBOBJ([lt__argz])]) + +dnl if have system argz functions, allow forced use of +dnl libltdl-supplied implementation (and default to do so +dnl on "known bad" systems). Could use a runtime check, but +dnl (a) detecting malloc issues is notoriously unreliable +dnl (b) only known system that declares argz functions, +dnl provides them, yet they are broken, is cygwin +dnl releases prior to 16-Mar-2007 (1.5.24 and earlier) +dnl So, it's more straightforward simply to special case +dnl this for known bad systems. +AS_IF([test -z "$LT_ARGZ_H"], + [AC_CACHE_CHECK( + [if argz actually works], + [lt_cv_sys_argz_works], + [[case $host_os in #( + *cygwin*) + lt_cv_sys_argz_works=no + if test no != "$cross_compiling"; then + lt_cv_sys_argz_works="guessing no" + else + lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' + save_IFS=$IFS + IFS=-. + set x `uname -r | sed -e "$lt_sed_extract_leading_digits"` + IFS=$save_IFS + lt_os_major=${2-0} + lt_os_minor=${3-0} + lt_os_micro=${4-0} + if test 1 -lt "$lt_os_major" \ + || { test 1 -eq "$lt_os_major" \ + && { test 5 -lt "$lt_os_minor" \ + || { test 5 -eq "$lt_os_minor" \ + && test 24 -lt "$lt_os_micro"; }; }; }; then + lt_cv_sys_argz_works=yes + fi + fi + ;; #( + *) lt_cv_sys_argz_works=yes ;; + esac]]) + AS_IF([test yes = "$lt_cv_sys_argz_works"], + [AC_DEFINE([HAVE_WORKING_ARGZ], 1, + [This value is set to 1 to indicate that the system argz facility works])], + [LT_ARGZ_H=lt__argz.h + AC_LIBOBJ([lt__argz])])]) + +AC_SUBST([LT_ARGZ_H]) +]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:16: -1- AC_DEFUN([LT_CONFIG_LTDL_DIR], [AC_BEFORE([$0], [LTDL_INIT]) +_$0($*) +]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:68: -1- AC_DEFUN([LTDL_CONVENIENCE], [AC_BEFORE([$0], [LTDL_INIT])dnl +dnl Although the argument is deprecated and no longer documented, +dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one +dnl here make sure it is the same as any other declaration of libltdl's +dnl location! This also ensures lt_ltdl_dir is set when configure.ac is +dnl not yet using an explicit LT_CONFIG_LTDL_DIR. +m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl +_$0() +]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:81: -1- AU_DEFUN([AC_LIBLTDL_CONVENIENCE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_CONVENIENCE]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:81: -1- AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_CONVENIENCE' is obsolete. +You should run autoupdate.])dnl +_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_CONVENIENCE]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:124: -1- AC_DEFUN([LTDL_INSTALLABLE], [AC_BEFORE([$0], [LTDL_INIT])dnl +dnl Although the argument is deprecated and no longer documented, +dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one +dnl here make sure it is the same as any other declaration of libltdl's +dnl location! This also ensures lt_ltdl_dir is set when configure.ac is +dnl not yet using an explicit LT_CONFIG_LTDL_DIR. +m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl +_$0() +]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:137: -1- AU_DEFUN([AC_LIBLTDL_INSTALLABLE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_INSTALLABLE]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:137: -1- AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_INSTALLABLE' is obsolete. +You should run autoupdate.])dnl +_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_INSTALLABLE]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:213: -1- AC_DEFUN([_LT_LIBOBJ], [ + m4_pattern_allow([^_LT_LIBOBJS$]) + _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext" +]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:226: -1- AC_DEFUN([LTDL_INIT], [dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +dnl We need to keep our own list of libobjs separate from our parent project, +dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while +dnl we look for our own LIBOBJs. +m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ])) +m4_pushdef([AC_LIBSOURCES]) + +dnl If not otherwise defined, default to the 1.5.x compatible subproject mode: +m4_if(_LTDL_MODE, [], + [m4_define([_LTDL_MODE], m4_default([$2], [subproject])) + m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])], + [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])]) + +AC_ARG_WITH([included_ltdl], + [AS_HELP_STRING([--with-included-ltdl], + [use the GNU ltdl sources included here])]) + +if test yes != "$with_included_ltdl"; then + # We are not being forced to use the included libltdl sources, so + # decide whether there is a useful installed version we can use. + AC_CHECK_HEADER([ltdl.h], + [AC_CHECK_DECL([lt_dlinterface_register], + [AC_CHECK_LIB([ltdl], [lt_dladvise_preload], + [with_included_ltdl=no], + [with_included_ltdl=yes])], + [with_included_ltdl=yes], + [AC_INCLUDES_DEFAULT + #include <ltdl.h>])], + [with_included_ltdl=yes], + [AC_INCLUDES_DEFAULT] + ) +fi + +dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE +dnl was called yet, then for old times' sake, we assume libltdl is in an +dnl eponymous directory: +AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])]) + +AC_ARG_WITH([ltdl_include], + [AS_HELP_STRING([--with-ltdl-include=DIR], + [use the ltdl headers installed in DIR])]) + +if test -n "$with_ltdl_include"; then + if test -f "$with_ltdl_include/ltdl.h"; then : + else + AC_MSG_ERROR([invalid ltdl include directory: '$with_ltdl_include']) + fi +else + with_ltdl_include=no +fi + +AC_ARG_WITH([ltdl_lib], + [AS_HELP_STRING([--with-ltdl-lib=DIR], + [use the libltdl.la installed in DIR])]) + +if test -n "$with_ltdl_lib"; then + if test -f "$with_ltdl_lib/libltdl.la"; then : + else + AC_MSG_ERROR([invalid ltdl library directory: '$with_ltdl_lib']) + fi +else + with_ltdl_lib=no +fi + +case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in + ,yes,no,no,) + m4_case(m4_default(_LTDL_TYPE, [convenience]), + [convenience], [_LTDL_CONVENIENCE], + [installable], [_LTDL_INSTALLABLE], + [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)]) + ;; + ,no,no,no,) + # If the included ltdl is not to be used, then use the + # preinstalled libltdl we found. + AC_DEFINE([HAVE_LTDL], [1], + [Define this if a modern libltdl is already installed]) + LIBLTDL=-lltdl + LTDLDEPS= + LTDLINCL= + ;; + ,no*,no,*) + AC_MSG_ERROR(['--with-ltdl-include' and '--with-ltdl-lib' options must be used together]) + ;; + *) with_included_ltdl=no + LIBLTDL="-L$with_ltdl_lib -lltdl" + LTDLDEPS= + LTDLINCL=-I$with_ltdl_include + ;; +esac +INCLTDL=$LTDLINCL + +# Report our decision... +AC_MSG_CHECKING([where to find libltdl headers]) +AC_MSG_RESULT([$LTDLINCL]) +AC_MSG_CHECKING([where to find libltdl library]) +AC_MSG_RESULT([$LIBLTDL]) + +_LTDL_SETUP + +dnl restore autoconf definition. +m4_popdef([AC_LIBOBJ]) +m4_popdef([AC_LIBSOURCES]) + +AC_CONFIG_COMMANDS_PRE([ + _ltdl_libobjs= + _ltdl_ltlibobjs= + if test -n "$_LT_LIBOBJS"; then + # Remove the extension. + _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' + for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do + _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" + _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" + done + fi + AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs]) + AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs]) +]) + +# Only expand once: +m4_define([LTDL_INIT]) +]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:352: -1- AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:352: -1- AC_DEFUN([AC_LIB_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIB_LTDL' is obsolete. +You should run autoupdate.])dnl +LTDL_INIT($@)]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:353: -1- AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:353: -1- AC_DEFUN([AC_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_WITH_LTDL' is obsolete. +You should run autoupdate.])dnl +LTDL_INIT($@)]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:354: -1- AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:354: -1- AC_DEFUN([LT_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `LT_WITH_LTDL' is obsolete. +You should run autoupdate.])dnl +LTDL_INIT($@)]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:367: -1- AC_DEFUN([_LTDL_SETUP], [AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_SYS_MODULE_EXT])dnl +AC_REQUIRE([LT_SYS_MODULE_PATH])dnl +AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl +AC_REQUIRE([LT_LIB_DLLOAD])dnl +AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl +AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl +AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl +AC_REQUIRE([LT_FUNC_ARGZ])dnl + +m4_require([_LT_CHECK_OBJDIR])dnl +m4_require([_LT_HEADER_DLFCN])dnl +m4_require([_LT_CHECK_DLPREOPEN])dnl +m4_require([_LT_DECL_SED])dnl + +dnl Don't require this, or it will be expanded earlier than the code +dnl that sets the variables it relies on: +_LT_ENABLE_INSTALL + +dnl _LTDL_MODE specific code must be called at least once: +_LTDL_MODE_DISPATCH + +# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS +# the user used. This is so that ltdl.h can pick up the parent projects +# config.h file, The first file in AC_CONFIG_HEADERS must contain the +# definitions required by ltdl.c. +# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). +AC_CONFIG_COMMANDS_PRE([dnl +m4_pattern_allow([^LT_CONFIG_H$])dnl +m4_ifset([AH_HEADER], + [LT_CONFIG_H=AH_HEADER], + [m4_ifset([AC_LIST_HEADERS], + [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's|^[[ ]]*||;s|[[ :]].*$||'`], + [])])]) +AC_SUBST([LT_CONFIG_H]) + +AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h], + [], [], [AC_INCLUDES_DEFAULT]) + +AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])]) +AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])]) + +m4_pattern_allow([LT_LIBEXT])dnl +AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension]) + +name= +eval "lt_libprefix=\"$libname_spec\"" +m4_pattern_allow([LT_LIBPREFIX])dnl +AC_DEFINE_UNQUOTED([LT_LIBPREFIX],["$lt_libprefix"],[The archive prefix]) + +name=ltdl +eval "LTDLOPEN=\"$libname_spec\"" +AC_SUBST([LTDLOPEN]) +]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:443: -1- AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_CACHE_CHECK([whether deplibs are loaded by dlopen], + [lt_cv_sys_dlopen_deplibs], + [# PORTME does your system automatically load deplibs for dlopen? + # or its logical equivalent (e.g. shl_load for HP-UX < 11) + # For now, we just catch OSes we know something about -- in the + # future, we'll try test this programmatically. + lt_cv_sys_dlopen_deplibs=unknown + case $host_os in + aix3*|aix4.1.*|aix4.2.*) + # Unknown whether this is true for these versions of AIX, but + # we want this 'case' here to explicitly catch those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + aix[[4-9]]*) + lt_cv_sys_dlopen_deplibs=yes + ;; + amigaos*) + case $host_cpu in + powerpc) + lt_cv_sys_dlopen_deplibs=no + ;; + esac + ;; + bitrig*) + lt_cv_sys_dlopen_deplibs=yes + ;; + darwin*) + # Assuming the user has installed a libdl from somewhere, this is true + # If you are looking for one http://www.opendarwin.org/projects/dlcompat + lt_cv_sys_dlopen_deplibs=yes + ;; + freebsd* | dragonfly*) + lt_cv_sys_dlopen_deplibs=yes + ;; + gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) + # GNU and its variants, using gnu ld.so (Glibc) + lt_cv_sys_dlopen_deplibs=yes + ;; + hpux10*|hpux11*) + lt_cv_sys_dlopen_deplibs=yes + ;; + interix*) + lt_cv_sys_dlopen_deplibs=yes + ;; + irix[[12345]]*|irix6.[[01]]*) + # Catch all versions of IRIX before 6.2, and indicate that we don't + # know how it worked for any of those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + irix*) + # The case above catches anything before 6.2, and it's known that + # at 6.2 and later dlopen does load deplibs. + lt_cv_sys_dlopen_deplibs=yes + ;; + netbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + openbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + osf[[1234]]*) + # dlopen did load deplibs (at least at 4.x), but until the 5.x series, + # it did *not* use an RPATH in a shared library to find objects the + # library depends on, so we explicitly say 'no'. + lt_cv_sys_dlopen_deplibs=no + ;; + osf5.0|osf5.0a|osf5.1) + # dlopen *does* load deplibs and with the right loader patch applied + # it even uses RPATH in a shared library to search for shared objects + # that the library depends on, but there's no easy way to know if that + # patch is installed. Since this is the case, all we can really + # say is unknown -- it depends on the patch being installed. If + # it is, this changes to 'yes'. Without it, it would be 'no'. + lt_cv_sys_dlopen_deplibs=unknown + ;; + osf*) + # the two cases above should catch all versions of osf <= 5.1. Read + # the comments above for what we know about them. + # At > 5.1, deplibs are loaded *and* any RPATH in a shared library + # is used to find them so we can finally say 'yes'. + lt_cv_sys_dlopen_deplibs=yes + ;; + qnx*) + lt_cv_sys_dlopen_deplibs=yes + ;; + solaris*) + lt_cv_sys_dlopen_deplibs=yes + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + esac + ]) +if test yes != "$lt_cv_sys_dlopen_deplibs"; then + AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], + [Define if the OS needs help to load dependent libraries for dlopen().]) +fi +]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:545: -1- AU_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:545: -1- AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYS_DLOPEN_DEPLIBS' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:552: -1- AC_DEFUN([LT_SYS_MODULE_EXT], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +AC_CACHE_CHECK([what extension is used for runtime loadable modules], + [libltdl_cv_shlibext], +[ +module=yes +eval libltdl_cv_shlibext=$shrext_cmds +module=no +eval libltdl_cv_shrext=$shrext_cmds + ]) +if test -n "$libltdl_cv_shlibext"; then + m4_pattern_allow([LT_MODULE_EXT])dnl + AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"], + [Define to the extension used for runtime loadable modules, say, ".so".]) +fi +if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then + m4_pattern_allow([LT_SHARED_EXT])dnl + AC_DEFINE_UNQUOTED([LT_SHARED_EXT], ["$libltdl_cv_shrext"], + [Define to the shared library suffix, say, ".dylib".]) +fi +if test -n "$shared_archive_member_spec"; then + m4_pattern_allow([LT_SHARED_LIB_MEMBER])dnl + AC_DEFINE_UNQUOTED([LT_SHARED_LIB_MEMBER], ["($shared_archive_member_spec.o)"], + [Define to the shared archive member specification, say "(shr.o)".]) +fi +]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:580: -1- AU_DEFUN([AC_LTDL_SHLIBEXT], [m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:580: -1- AC_DEFUN([AC_LTDL_SHLIBEXT], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBEXT' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:587: -1- AC_DEFUN([LT_SYS_MODULE_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +AC_CACHE_CHECK([what variable specifies run-time module search path], + [lt_cv_module_path_var], [lt_cv_module_path_var=$shlibpath_var]) +if test -n "$lt_cv_module_path_var"; then + m4_pattern_allow([LT_MODULE_PATH_VAR])dnl + AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"], + [Define to the name of the environment variable that determines the run-time module search path.]) +fi +]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:599: -1- AU_DEFUN([AC_LTDL_SHLIBPATH], [m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:599: -1- AC_DEFUN([AC_LTDL_SHLIBPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBPATH' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:606: -1- AC_DEFUN([LT_SYS_DLSEARCH_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +AC_CACHE_CHECK([for the default library search path], + [lt_cv_sys_dlsearch_path], + [lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec]) +if test -n "$lt_cv_sys_dlsearch_path"; then + sys_dlsearch_path= + for dir in $lt_cv_sys_dlsearch_path; do + if test -z "$sys_dlsearch_path"; then + sys_dlsearch_path=$dir + else + sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir + fi + done + m4_pattern_allow([LT_DLSEARCH_PATH])dnl + AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"], + [Define to the system default library search path.]) +fi +]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:627: -1- AU_DEFUN([AC_LTDL_SYSSEARCHPATH], [m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:627: -1- AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYSSEARCHPATH' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:653: -1- AC_DEFUN([LT_LIB_DLLOAD], [m4_pattern_allow([^LT_DLLOADERS$]) +LT_DLLOADERS= +AC_SUBST([LT_DLLOADERS]) + +AC_LANG_PUSH([C]) +lt_dlload_save_LIBS=$LIBS + +LIBADD_DLOPEN= +AC_SEARCH_LIBS([dlopen], [dl], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + if test "$ac_cv_search_dlopen" != "none required"; then + LIBADD_DLOPEN=-ldl + fi + libltdl_cv_lib_dl_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H +# include <dlfcn.h> +#endif + ]], [[dlopen(0, 0);]])], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], + [AC_CHECK_LIB([svld], [dlopen], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])]) +if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" +then + lt_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + AC_CHECK_FUNCS([dlerror]) + LIBS=$lt_save_LIBS +fi +AC_SUBST([LIBADD_DLOPEN]) + +LIBADD_SHL_LOAD= +AC_CHECK_FUNC([shl_load], + [AC_DEFINE([HAVE_SHL_LOAD], [1], + [Define if you have the shl_load function.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"], + [AC_CHECK_LIB([dld], [shl_load], + [AC_DEFINE([HAVE_SHL_LOAD], [1], + [Define if you have the shl_load function.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" + LIBADD_SHL_LOAD=-ldld])]) +AC_SUBST([LIBADD_SHL_LOAD]) + +case $host_os in +darwin[[1567]].*) +# We only want this for pre-Mac OS X 10.4. + AC_CHECK_FUNC([_dyld_func_lookup], + [AC_DEFINE([HAVE_DYLD], [1], + [Define if you have the _dyld_func_lookup function.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"]) + ;; +beos*) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" + ;; +cygwin* | mingw* | pw32*) + AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include <sys/cygwin.h>]]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" + ;; +esac + +AC_CHECK_LIB([dld], [dld_link], + [AC_DEFINE([HAVE_DLD], [1], + [Define if you have the GNU dld library.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"]) +AC_SUBST([LIBADD_DLD_LINK]) + +m4_pattern_allow([^LT_DLPREOPEN$]) +LT_DLPREOPEN= +if test -n "$LT_DLLOADERS" +then + for lt_loader in $LT_DLLOADERS; do + LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " + done + AC_DEFINE([HAVE_LIBDLLOADER], [1], + [Define if libdlloader will be built on this platform]) +fi +AC_SUBST([LT_DLPREOPEN]) + +dnl This isn't used anymore, but set it for backwards compatibility +LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" +AC_SUBST([LIBADD_DL]) + +LIBS=$lt_dlload_save_LIBS +AC_LANG_POP +]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:748: -1- AU_DEFUN([AC_LTDL_DLLIB], [m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:748: -1- AC_DEFUN([AC_LTDL_DLLIB], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLLIB' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:756: -1- AC_DEFUN([LT_SYS_SYMBOL_USCORE], [m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +AC_CACHE_CHECK([for _ prefix in compiled symbols], + [lt_cv_sys_symbol_underscore], + [lt_cv_sys_symbol_underscore=no + cat > conftest.$ac_ext <<_LT_EOF +void nm_test_func(){} +int main(){nm_test_func;return 0;} +_LT_EOF + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + ac_nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then + # See whether the symbols have a leading underscore. + if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then + lt_cv_sys_symbol_underscore=yes + else + if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then + : + else + echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD + fi + fi + else + echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.c >&AS_MESSAGE_LOG_FD + fi + rm -rf conftest* + ]) + sys_symbol_underscore=$lt_cv_sys_symbol_underscore + AC_SUBST([sys_symbol_underscore]) +]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:793: -1- AU_DEFUN([AC_LTDL_SYMBOL_USCORE], [m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:793: -1- AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYMBOL_USCORE' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:800: -1- AC_DEFUN([LT_FUNC_DLSYM_USCORE], [AC_REQUIRE([_LT_COMPILER_PIC])dnl for lt_prog_compiler_wl +AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl for lt_cv_sys_symbol_underscore +AC_REQUIRE([LT_SYS_MODULE_EXT])dnl for libltdl_cv_shlibext +if test yes = "$lt_cv_sys_symbol_underscore"; then + if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then + AC_CACHE_CHECK([whether we have to add an underscore for dlsym], + [libltdl_cv_need_uscore], + [libltdl_cv_need_uscore=unknown + dlsym_uscore_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + libname=conftmod # stay within 8.3 filename limits! + cat >$libname.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif +int fnord () { return 42; }] +_LT_EOF + + # ltfn_module_cmds module_cmds + # Execute tilde-delimited MODULE_CMDS with environment primed for + # $module_cmds or $archive_cmds type content. + ltfn_module_cmds () + {( # subshell avoids polluting parent global environment + module_cmds_save_ifs=$IFS; IFS='~' + for cmd in @S|@1; do + IFS=$module_cmds_save_ifs + libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext + rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. + major=; versuffix=; verstring=; deplibs= + ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= + eval $cmd + done + IFS=$module_cmds_save_ifs + )} + + # Compile a loadable module using libtool macro expansion results. + $CC $pic_flag -c $libname.$ac_ext + ltfn_module_cmds "${module_cmds:-$archive_cmds}" + + # Try to fetch fnord with dlsym(). + libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 + cat >conftest.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" +#if HAVE_DLFCN_H +#include <dlfcn.h> +#endif +#include <stdio.h> +#ifndef RTLD_GLOBAL +# ifdef DL_GLOBAL +# define RTLD_GLOBAL DL_GLOBAL +# else +# define RTLD_GLOBAL 0 +# endif +#endif +#ifndef RTLD_NOW +# ifdef DL_NOW +# define RTLD_NOW DL_NOW +# else +# define RTLD_NOW 0 +# endif +#endif +int main () { + void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); + int status = $libltdl_dlunknown; + if (handle) { + if (dlsym (handle, "fnord")) + status = $libltdl_dlnouscore; + else { + if (dlsym (handle, "_fnord")) + status = $libltdl_dluscore; + else + puts (dlerror ()); + } + dlclose (handle); + } else + puts (dlerror ()); + return status; +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + libltdl_status=$? + case x$libltdl_status in + x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; + x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; + x*) libltdl_cv_need_uscore=unknown ;; + esac + fi + rm -rf conftest* $libname* + LIBS=$dlsym_uscore_save_LIBS + ]) + fi +fi + +if test yes = "$libltdl_cv_need_uscore"; then + AC_DEFINE([NEED_USCORE], [1], + [Define if dlsym() requires a leading underscore in symbol names.]) +fi +]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:907: -1- AU_DEFUN([AC_LTDL_DLSYM_USCORE], [m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])]) +m4trace:/home/luigisvn/autotools/share/aclocal/ltdl.m4:907: -1- AC_DEFUN([AC_LTDL_DLSYM_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLSYM_USCORE' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/amversion.m4:14: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.15' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.15.1], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/amversion.m4:33: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.15.1])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/auxdir.m4:47: -1- AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` +]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/cond.m4:12: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl + m4_if([$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])]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/depend.m4:26: -1- 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 + +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" 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 10 /bin/sh. + echo '/* dummy */' > 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]) +]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/depend.m4:163: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/depend.m4:171: -1- AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) +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 +]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/depout.m4:12: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ + # Older Autoconf 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"` + # 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'`; 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 +} +]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/depout.m4:71: -1- 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"]) +]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/init.m4:29: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])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], +[AC_DIAGNOSE([obsolete], + [$0: two- and three-arguments forms are deprecated.]) +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], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, + [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([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_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])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +AC_REQUIRE([AM_SILENT_RULES])dnl +dnl The testsuite driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +dnl macro 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 + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: <http://www.gnu.org/software/coreutils/>. + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) + fi +fi +dnl The trailing newline in this macro's definition is deliberate, for +dnl backward compatibility and to allow trailing 'dnl'-style comments +dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. +]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/init.m4:186: -1- 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]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/install-sh.m4:11: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh+set}" != 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])]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/lead-dot.m4:10: -1- 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])]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/maintainer.m4:16: -1- AC_DEFUN([AM_MAINTAINER_MODE], [m4_case(m4_default([$1], [disable]), + [enable], [m4_define([am_maintainer_other], [disable])], + [disable], [m4_define([am_maintainer_other], [enable])], + [m4_define([am_maintainer_other], [enable]) + m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) +AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode's default is 'disable' unless 'enable' is passed + AC_ARG_ENABLE([maintainer-mode], + [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode], + am_maintainer_other[ make rules and dependencies not useful + (and sometimes confusing) to the casual installer])], + [USE_MAINTAINER_MODE=$enableval], + [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST([MAINT])dnl + +]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/make.m4:12: -1- 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 +]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/missing.m4:11: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/missing.m4:20: -1- 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 --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + AC_MSG_WARN(['missing' script is too old or missing]) +fi +]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/options.m4:11: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/options.m4:17: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/options.m4:23: -1- AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/options.m4:29: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/prog-cc-c-o.m4:12: -1- AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( + [whether $CC understands -c and -o together], + [am_cv_prog_cc_c_o], + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/prog-cc-c-o.m4:47: -1- AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/runlog.m4:12: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/sanity.m4:11: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) +# 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 ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + 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 + 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 + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + 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]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/silent.m4:12: -1- AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [verbose build output (undo: "make V=0")])dnl +]) +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 +]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/strip.m4:17: -1- 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])]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/substnot.m4:12: -1- AC_DEFUN([_AM_SUBST_NOTMAKE]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/substnot.m4:17: -1- AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) +m4trace:/home/luigisvn/autotools/share/aclocal-1.15/tar.m4:23: -1- 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}']) + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' + +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], + + [m4_case([$1], + [ustar], + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) + if test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) + if test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi], + + [pax], + [], + + [m4_fatal([Unknown tar format])]) + + AC_MSG_CHECKING([how to create a $1 tar archive]) + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_$1-$_am_tools} + + 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]) + AM_RUN_LOG([cat conftest.dir/file]) + 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]) +]) +m4trace:m4/ac_sys_largefile_sensitive.m4:35: -1- AC_DEFUN([AC_SYS_LARGEFILE_SENSITIVE], [dnl +AC_REQUIRE([AC_SYS_LARGEFILE])dnl +# we know about some internals of ac_sys_largefile here... +AC_MSG_CHECKING(whether system differentiates 64bit off_t by defines) +ac_cv_sys_largefile_sensitive="no" +if test ".${ac_cv_sys_file_offset_bits-no}${ac_cv_sys_large_files-no}" != ".nono" +then ac_cv_sys_largefile_sensitive="yes" + AC_DEFINE(LARGEFILE_SENSITIVE, 1, + [whether the system defaults to 32bit off_t but can do 64bit when requested]) +fi +AC_MSG_RESULT([$ac_cv_sys_largefile_sensitive]) +]) +m4trace:m4/ax_prefix_config_h.m4:88: -1- AC_DEFUN([AX_PREFIX_CONFIG_H], [dnl +AC_CONFIG_COMMANDS([ifelse($1,,$PACKAGE-config.h,$1)],[dnl +AS_VAR_PUSHDEF([_OUT],[ac_prefix_conf_OUT])dnl +AS_VAR_PUSHDEF([_DEF],[ac_prefix_conf_DEF])dnl +AS_VAR_PUSHDEF([_PKG],[ac_prefix_conf_PKG])dnl +AS_VAR_PUSHDEF([_LOW],[ac_prefix_conf_LOW])dnl +AS_VAR_PUSHDEF([_UPP],[ac_prefix_conf_UPP])dnl +AS_VAR_PUSHDEF([_INP],[ac_prefix_conf_INP])dnl +m4_pushdef([_script],[conftest.prefix])dnl +m4_pushdef([_symbol],[m4_cr_Letters[]m4_cr_digits[]_])dnl +_OUT=`echo ifelse($1, , $PACKAGE-config.h, $1)` +_DEF=`echo _$_OUT | sed -e "y:m4_cr_letters:m4_cr_LETTERS[]:" -e "s/@<:@^m4_cr_Letters@:>@/_/g"` +_PKG=`echo ifelse($2, , $PACKAGE, $2)` +_LOW=`echo _$_PKG | sed -e "y:m4_cr_LETTERS-:m4_cr_letters[]_:"` +_UPP=`echo $_PKG | sed -e "y:m4_cr_letters-:m4_cr_LETTERS[]_:" -e "/^@<:@m4_cr_digits@:>@/s/^/_/"` +_INP=`echo "ifelse($3,,,$3)" | sed -e 's/ *//'` +if test ".$_INP" = "."; then + for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue + case "$ac_file" in + *.h) _INP=$ac_file ;; + *) + esac + test ".$_INP" != "." && break + done +fi +if test ".$_INP" = "."; then + case "$_OUT" in + */*) _INP=`basename "$_OUT"` + ;; + *-*) _INP=`echo "$_OUT" | sed -e "s/@<:@_symbol@:>@*-//"` + ;; + *) _INP=config.h + ;; + esac +fi +if test -z "$_PKG" ; then + AC_MSG_ERROR([no prefix for _PREFIX_PKG_CONFIG_H]) +else + if test ! -f "$_INP" ; then if test -f "$srcdir/$_INP" ; then + _INP="$srcdir/$_INP" + fi fi + AC_MSG_NOTICE(creating $_OUT - prefix $_UPP for $_INP defines) + if test -f $_INP ; then + echo "s/^@%:@undef *\\(@<:@m4_cr_LETTERS[]_@:>@\\)/@%:@undef $_UPP""_\\1/" > _script + echo "s/^@%:@undef *\\(@<:@m4_cr_letters@:>@\\)/@%:@undef $_LOW""_\\1/" >> _script + echo "s/^@%:@def[]ine *\\(@<:@m4_cr_LETTERS[]_@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_UPP""_\\1 \\" >> _script + echo "@%:@def[]ine $_UPP""_\\1 \\2 \\" >> _script + echo "@%:@endif/" >>_script + echo "s/^@%:@def[]ine *\\(@<:@m4_cr_letters@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_LOW""_\\1 \\" >> _script + echo "@%:@define $_LOW""_\\1 \\2 \\" >> _script + echo "@%:@endif/" >> _script + # now executing _script on _DEF input to create _OUT output file + echo "@%:@ifndef $_DEF" >$tmp/pconfig.h + echo "@%:@def[]ine $_DEF 1" >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo /'*' $_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h + + sed -f _script $_INP >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo '/* once:' $_DEF '*/' >>$tmp/pconfig.h + echo "@%:@endif" >>$tmp/pconfig.h + if cmp -s $_OUT $tmp/pconfig.h 2>/dev/null; then + AC_MSG_NOTICE([$_OUT is unchanged]) + else + ac_dir=`AS_DIRNAME(["$_OUT"])` + AS_MKDIR_P(["$ac_dir"]) + rm -f "$_OUT" + mv $tmp/pconfig.h "$_OUT" + fi + cp _script _configs.sed + else + AC_MSG_ERROR([input file $_INP does not exist - skip generating $_OUT]) + fi + rm -f conftest.* +fi +m4_popdef([_symbol])dnl +m4_popdef([_script])dnl +AS_VAR_POPDEF([_INP])dnl +AS_VAR_POPDEF([_UPP])dnl +AS_VAR_POPDEF([_LOW])dnl +AS_VAR_POPDEF([_PKG])dnl +AS_VAR_POPDEF([_DEF])dnl +AS_VAR_POPDEF([_OUT])dnl +],[PACKAGE="$PACKAGE"])]) +m4trace:m4/zziplib-aligned-access.m4:15: -1- AC_DEFUN([ZZIPLIB_CHECK_ALIGNED_ACCESS], [AC_REQUIRE([AC_CANONICAL_HOST]) +AC_CACHE_CHECK([if pointers to integers require aligned access], + [zziplib_cv_aligned_access], + [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ +#include <stdio.h> +#include <stdlib.h>]], + [[ +char* string = malloc(40); +int i; +for (i=0; i < 40; i++) string[i] = i; +{ + void* s = string; + int* p = s+1; + int* q = s+2; + if (*p == *q) { return 1; } +}]])], + [zziplib_cv_aligned_access=no], + [zziplib_cv_aligned_access=yes], + [AS_CASE([$host_cpu], + [alpha*|arm*|bfin*|hp*|mips*|sh*|sparc*|ia64|nv1], + [zziplib_cv_aligned_access=yes], + [zziplib_cv_aligned_access=no])])]) +if test "x$zziplib_cv_aligned_access" = xyes ; then + AC_DEFINE([HAVE_ALIGNED_ACCESS_REQUIRED], 1, + [Define if pointers to integers require aligned access]) +fi +]) +m4trace:../../m4/kpse-common.m4:12: -1- AC_DEFUN([KPSE_LIBS_PREPARE], []) +m4trace:../../m4/kpse-common.m4:18: -1- AC_DEFUN([_KPSE_INIT], [## $0: Initialize TL infrastructure +m4_syscmd([test -f ../../texk/kpathsea/doc/kpathsea.texi])[]dnl +m4_if(m4_sysval, [0], [m4_define([kpse_TL], [../../])])[]dnl +m4_ifdef([kpse_TL], +[kpse_BLD=`(cd "./kpse_TL()." && pwd)` +kpse_SRC=`(cd "$srcdir/kpse_TL()." && pwd)` +])[]dnl +]) +m4trace:../../m4/kpse-common.m4:31: -1- AC_DEFUN([KPSE_INIT], [AC_REQUIRE([_KPSE_INIT])]) +m4trace:../../m4/kpse-common.m4:36: -1- AC_DEFUN([_KPSE_USE_LIBTOOL], [## $0: Generate a libtool script for use in configure tests +AC_PROVIDE_IFELSE([LT_INIT], , + [m4_fatal([$0: requires libtool])])[]dnl +LT_OUTPUT +m4_append([AC_LANG(C)], +[ac_link="./libtool --mode=link --tag=CC $ac_link" +])[]dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], +[m4_append([AC_LANG(C++)], +[ac_link="./libtool --mode=link --tag=CXX $ac_link" +])])[]dnl +AC_LANG(_AC_LANG)[]dnl +]) +m4trace:../../m4/kpse-common.m4:80: -1- AC_DEFUN([_KPSE_LIB_FLAGS], [AC_REQUIRE([_KPSE_INIT])[]dnl +## $0: Setup $1 (-l$2) flags +m4_ifdef([kpse_TL], + [_KPSE_LIB_FLAGS_TL($@)], + [_KPSE_LIB_FLAGS_STANDALONE($@)])[]dnl +AC_SUBST(AS_TR_CPP($1)[_INCLUDES])[]dnl +AC_SUBST(AS_TR_CPP($1)[_LIBS])[]dnl +AC_SUBST(AS_TR_CPP($1)[_DEPEND])[]dnl +AC_SUBST(AS_TR_CPP($1)[_RULE])[]dnl +m4_provide_if([AM_INIT_AUTOMAKE], [_AM_SUBST_NOTMAKE(AS_TR_CPP($1)[_RULE])])[]dnl +]) +m4trace:../../m4/kpse-common.m4:99: -1- AC_DEFUN([_KPSE_TEXLIB_FLAGS], [m4_pushdef([Kpse_TeX_Lib], [])_KPSE_LIB_FLAGS($@)m4_popdef([Kpse_TeX_Lib])]) +m4trace:../../m4/kpse-common.m4:182: -1- AC_DEFUN([KPSE_SAVE_FLAGS], [kpse_save_CPPFLAGS=$CPPFLAGS +kpse_save_LIBS=$LIBS +]) +m4trace:../../m4/kpse-common.m4:190: -1- AC_DEFUN([KPSE_RESTORE_FLAGS], [AC_REQUIRE([KPSE_SAVE_FLAGS])[]dnl +CPPFLAGS=$kpse_save_CPPFLAGS +LIBS=$kpse_save_LIBS +]) +m4trace:../../m4/kpse-common.m4:199: -1- AC_DEFUN([KPSE_ADD_FLAGS], [AC_REQUIRE([KPSE_SAVE_FLAGS])[]dnl +eval CPPFLAGS=\"$[]AS_TR_CPP($1)_INCLUDES \$CPPFLAGS\" +eval LIBS=\"$[]AS_TR_CPP($1)_LIBS \$LIBS\" +]) +m4trace:../../m4/kpse-common.m4:210: -1- AC_DEFUN([KPSE_BASIC], [dnl Remember PACKAGE-NAME as Kpse_Package (for future messages) +m4_define([Kpse_Package], [$1]) +dnl +AM_INIT_AUTOMAKE([foreign silent-rules subdir-objects]m4_ifval([$2], [ $2])) +AM_MAINTAINER_MODE +dnl +dnl Check whether prototypes work. +AC_CACHE_CHECK([whether the compiler accepts prototypes], + [kb_cv_c_prototypes], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdarg.h>]], + [[extern void foo(int i,...);]])], + [kb_cv_c_prototypes=yes], + [kb_cv_c_prototypes=no])]) +if test "x$kb_cv_c_prototypes" = xno; then + AC_MSG_ERROR([Sorry, your compiler does not understand prototypes.]) +fi +dnl +dnl Enable flags for compiler warnings +KPSE_COMPILER_WARNINGS +]) +m4trace:../../m4/kpse-common.m4:236: -1- AC_DEFUN([KPSE_COMMON], [dnl +KPSE_BASIC($@) +dnl +LT_PREREQ([2.2.6]) +LT_INIT([win32-dll]) +dnl +AC_SYS_LARGEFILE +AC_FUNC_FSEEKO +dnl +AC_HEADER_DIRENT +AC_HEADER_STDC +AC_FUNC_CLOSEDIR_VOID +AC_CHECK_HEADERS([assert.h float.h limits.h pwd.h stdlib.h sys/param.h]) +dnl +dnl Replacement functions that may be required on ancient broken system. +AC_CHECK_FUNCS([putenv]) +dnl +dnl More common functions +AC_CHECK_FUNCS([getcwd getwd memcmp memcpy mkstemp mktemp strchr strrchr]) +dnl +AC_C_CONST +AC_C_INLINE +AC_TYPE_SIZE_T +AC_TYPE_INT64_T +AC_TYPE_UINT64_T +AS_CASE([:$ac_cv_c_int64_t:$ac_cv_c_int64_t:], + [*':no:'*], [AC_MSG_ERROR([Sorry, your compiler does not support 64-bit integer types.])]) +dnl +dnl Check if <ctype.h> declares isascii. +AC_CHECK_DECLS([isascii], [], [], [[#include <ctype.h>]]) +dnl +dnl Check whether struct stat provides high-res time. +AC_CHECK_MEMBERS([struct stat.st_mtim]) +]) +m4trace:../../m4/kpse-common.m4:274: -1- AC_DEFUN([KPSE_MSG_WARN], [AC_REQUIRE([_KPSE_MSG_WARN_PREPARE])[]dnl +AC_MSG_WARN([$1]) +AS_IF([test "x$enable_missing" = xno], + [AC_MSG_ERROR([terminating.])]) +]) +m4trace:../../m4/kpse-common.m4:284: -1- AC_DEFUN([_KPSE_MSG_WARN_PREPARE], [AC_ARG_ENABLE([missing], + AS_HELP_STRING([--disable-missing], + [terminate if a requested program or feature must + be disabled, e.g., due to missing libraries]))[]dnl +]) +m4trace:../../m4/kpse-common.m4:294: -1- AC_DEFUN([_KPSE_CHECK_PKG_CONFIG], [dnl +AC_REQUIRE([AC_CANONICAL_HOST])[]dnl +AC_CHECK_TOOL([PKG_CONFIG], [pkg-config], [false])[]dnl +]) +m4trace:../../m4/kpse-common.m4:302: -1- AC_DEFUN([_KPSE_PKG_CONFIG_FLAGS], [dnl +AC_REQUIRE([_KPSE_CHECK_PKG_CONFIG])[]dnl +if $PKG_CONFIG $2[]m4_ifval([$3], [ --atleast-version=$3]); then + AS_TR_CPP($1)_INCLUDES=`$PKG_CONFIG $2 --cflags` + AS_TR_CPP($1)_LIBS=`$PKG_CONFIG $2 --libs` +elif test "x$need_[]AS_TR_SH($1):$with_system_[]AS_TR_SH($1)" = xyes:yes; then + AC_MSG_ERROR([did not find $2[]m4_ifval([$3], [ $3 or better])]) +fi +]) +m4trace:../../m4/kpse-common.m4:315: -1- AC_DEFUN([KPSE_CANONICAL_HOST], [dnl +AC_REQUIRE([AC_CANONICAL_HOST])[]dnl +AS_IF([test "x$host_alias" != x && test "x$build_alias" = x], + [AC_MSG_ERROR([when cross-compiling you must specify both --host and --build.])]) +eval kpse_build_alias=\${build_alias-$build} +]) +m4trace:../../m4/kpse-common.m4:326: -1- AC_DEFUN([KPSE_NATIVE_SUBDIRS], [dnl +AC_REQUIRE([KPSE_CANONICAL_HOST])[]dnl +AC_CONFIG_SUBDIRS($@) +AC_CONFIG_COMMANDS_POST([dnl +AS_IF([test "x$cross_compiling" = xyes], [dnl +AS_IF([test "x$cache_file" != x/dev/null], + [cache_file=config.cache]) +ac_configure_args="$ac_configure_args --host='$kpse_build_alias' \ +CC='$BUILDCC' CFLAGS='$BUILDCFLAGS' \ +CPPFLAGS='$BUILDCPPFLAGS' LDFLAGS='$BUILDLDFLAGS'"])]) +]) +m4trace:../../m4/kpse-visibility.m4:16: -1- AC_DEFUN([KPSE_COMPILER_VISIBILITY], [dnl arrange that AC_PROG_CC uses _KPSE_VISIBILITY_CFLAGS etc. +echo 'dbg:[_KPSE_COMPILER_VISIBILITY] called.' >&AS_MESSAGE_LOG_FD +AC_PROVIDE_IFELSE([AC_PROG_CC], + [_KPSE_VISIBILITY_CFLAGS], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_KPSE_VISIBILITY_CFLAGS +])]) +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_KPSE_VISIBILITY_CXXFLAGS], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_KPSE_VISIBILITY_CXXFLAGS +])]) +]) +m4trace:../../m4/kpse-visibility.m4:35: -1- AC_DEFUN([_KPSE_VISIBILITY_CFLAGS], [dnl +AC_REQUIRE([AC_PROG_CC])[]dnl +_KPSE_VISIBILITY_FLAGS([C], [cflags]) +m4_define([_KPSE_VISIBILITY_CFLAGS], [])[]dnl +]) +m4trace:../../m4/kpse-visibility.m4:45: -1- AC_DEFUN([_KPSE_VISIBILITY_CXXFLAGS], [dnl +AC_REQUIRE([AC_PROG_CXX])[]dnl +_KPSE_VISIBILITY_FLAGS([C++], [cxxflags]) +m4_define([_KPSE_VISIBILITY_CXXFLAGS], [])[]dnl +]) +m4trace:../../m4/kpse-warnings.m4:14: -1- AC_DEFUN([KPSE_COMPILER_WARNINGS], [AC_REQUIRE([_KPSE_COMPILER_WARNINGS_OPTION])[]dnl +dnl arrange that AC_PROG_CC uses _KPSE_WARNING_CFLAGS etc. +AC_PROVIDE_IFELSE([AC_PROG_CC], + [_KPSE_WARNING_CFLAGS], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_KPSE_WARNING_CFLAGS +])]) +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_KPSE_WARNING_CXXFLAGS], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_KPSE_WARNING_CXXFLAGS +])]) +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_KPSE_WARNING_OBJCFLAGS], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_KPSE_WARNING_OBJCFLAGS +])]) +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_KPSE_WARNING_OBJCXXFLAGS], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_KPSE_WARNING_OBJCXXFLAGS +])]) +]) +m4trace:../../m4/kpse-warnings.m4:44: -1- AC_DEFUN([_KPSE_COMPILER_WARNINGS_OPTION], [AC_ARG_ENABLE([compiler-warnings], + AS_HELP_STRING([--enable-compiler-warnings=@<:@no|min|yes|max|all@:>@], + [Turn on compiler warnings @<:@default: yes if maintainer-mode, + min otherwise@:>@]))[]dnl +AS_CASE([$enable_compiler_warnings], + [no | min | yes | max | all], [], + [AS_IF([test "x$enable_maintainer_mode" = xyes], + [enable_compiler_warnings=yes], + [enable_compiler_warnings=min])]) +]) +m4trace:../../m4/kpse-warnings.m4:60: -1- AC_DEFUN([_KPSE_WARNING_CFLAGS], [AC_REQUIRE([_KPSE_COMPILER_WARNINGS_OPTION])[]dnl +AC_REQUIRE([AC_PROG_CC])[]dnl +AC_CACHE_CHECK([what warning flags to pass to the C compiler], + [kpse_cv_warning_cflags], + [dnl +if test "x$GCC" = xyes; then + _KPSE_WARNING_GNU_CFLAGS([CC], [cflags])[]dnl +elif test "x$enable_compiler_warnings" = xno; then + kpse_cv_warning_cflags= +else + kpse_cv_warning_cflags= # FIXME: warning flags for non-GNU C compilers +fi]) +WARNING_CFLAGS=$kpse_cv_warning_cflags +AC_SUBST([WARNING_CFLAGS]) +m4_define([_KPSE_WARNING_CFLAGS], [])[]dnl +]) +m4trace:../../m4/kpse-warnings.m4:102: -1- AC_DEFUN([_KPSE_WARNING_OBJCFLAGS], [AC_REQUIRE([_KPSE_COMPILER_WARNINGS_OPTION])[]dnl +AC_REQUIRE([AC_PROG_OBJC])[]dnl +AC_CACHE_CHECK([what warning flags to pass to the Objective C compiler], + [kpse_cv_warning_objcflags], + [dnl +if test "x$GOBJC" = xyes; then + _KPSE_WARNING_GNU_CFLAGS([OBJC], [objcflags])[]dnl +elif test "x$enable_compiler_warnings" = xno; then + kpse_cv_warning_objcflags= +else + kpse_cv_warning_objcflags= # FIXME: warning flags for non-GNU Objective C compilers +fi]) +WARNING_OBJCFLAGS=$kpse_cv_warning_objcflags +AC_SUBST([WARNING_OBJCFLAGS]) +m4_define([_KPSE_WARNING_OBJCFLAGS], [])[]dnl +]) +m4trace:../../m4/kpse-warnings.m4:124: -1- AC_DEFUN([_KPSE_WARNING_OBJCXXFLAGS], [AC_REQUIRE([_KPSE_COMPILER_WARNINGS_OPTION])[]dnl +AC_REQUIRE([AC_PROG_OBJCXX])[]dnl +AC_CACHE_CHECK([what warning flags to pass to the Objective C++ compiler], + [kpse_cv_warning_objcxxflags], + [dnl +if test "x$GOBJCXX" = xyes; then + _KPSE_WARNING_GNU_CXXFLAGS([OBJCXX], [objcxxflags])[]dnl +elif test "x$enable_compiler_warnings" = xno; then + kpse_cv_warning_objcxxflags= +else + kpse_cv_warning_objcxxflags= # FIXME: warning flags for non-GNU Objective C++ compilers +fi]) +WARNING_OBJCXXFLAGS=$kpse_cv_warning_objcxxflags +AC_SUBST([WARNING_OBJCXXFLAGS]) +m4_define([_KPSE_WARNING_OBJCXXFLAGS], [])[]dnl +]) +m4trace:../../m4/kpse-zlib-flags.m4:17: -1- AC_DEFUN([KPSE_ZLIB_FLAGS], [dnl +AC_REQUIRE([KPSE_SAVE_FLAGS])[]dnl +_KPSE_LIB_FLAGS([zlib], [z], [], + [-IBLD/libs/zlib/include], [BLD/libs/zlib/libz.a], [], + [], [${top_builddir}/../../libs/zlib/include/zconf.h])[]dnl +AC_CACHE_CHECK([if <zlib.h> defines 'z_const'], + [kpse_cv_have_decl_z_const], + [KPSE_ADD_FLAGS([zlib]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <zlib.h>]], + [[z_const char * foo();]])], + [kpse_cv_have_decl_z_const=yes], + [kpse_cv_have_decl_z_const=no]) + KPSE_RESTORE_FLAGS]) +AS_CASE([$kpse_cv_have_decl_z_const], + [yes], [AC_DEFINE([ZLIB_CONST], [1], [Define to 1 if <zlib.h> declares 'z_const'.])], + [AC_DEFINE([z_const], [], [Define as empty if not declared in <zlib.h>.])]) +]) +m4trace:../../m4/kpse-zlib-flags.m4:37: -1- AC_DEFUN([KPSE_ZLIB_OPTIONS], [_KPSE_LIB_OPTIONS([zlib], [$1])]) +m4trace:../../m4/kpse-zlib-flags.m4:41: -1- AC_DEFUN([KPSE_ZLIB_SYSTEM_FLAGS], [_KPSE_LIB_FLAGS_SYSTEM([zlib], [z])]) +m4trace:../../m4/libtool.m4:61: -1- AC_DEFUN([LT_INIT], [AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK +AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +AC_BEFORE([$0], [LT_LANG])dnl +AC_BEFORE([$0], [LT_OUTPUT])dnl +AC_BEFORE([$0], [LTDL_INIT])dnl +m4_require([_LT_CHECK_BUILDDIR])dnl + +dnl Autoconf doesn't catch unexpanded LT_ macros by default: +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +dnl unless we require an AC_DEFUNed macro: +AC_REQUIRE([LTOPTIONS_VERSION])dnl +AC_REQUIRE([LTSUGAR_VERSION])dnl +AC_REQUIRE([LTVERSION_VERSION])dnl +AC_REQUIRE([LTOBSOLETE_VERSION])dnl +m4_require([_LT_PROG_LTMAIN])dnl + +_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) + +dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +_LT_SETUP + +# Only expand once: +m4_define([LT_INIT]) +]) +m4trace:../../m4/libtool.m4:99: -1- AU_DEFUN([AC_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) +m4trace:../../m4/libtool.m4:99: -1- AC_DEFUN([AC_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) +m4trace:../../m4/libtool.m4:100: -1- AU_DEFUN([AM_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) +m4trace:../../m4/libtool.m4:100: -1- AC_DEFUN([AM_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_LIBTOOL' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) +m4trace:../../m4/libtool.m4:619: -1- AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} +AC_MSG_NOTICE([creating $CONFIG_LT]) +_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], +[# Run this file to recreate a libtool stub with the current configuration.]) + +cat >>"$CONFIG_LT" <<\_LTEOF +lt_cl_silent=false +exec AS_MESSAGE_LOG_FD>>config.log +{ + echo + AS_BOX([Running $as_me.]) +} >&AS_MESSAGE_LOG_FD + +lt_cl_help="\ +'$as_me' creates a local libtool stub from the current configuration, +for use in further configure time tests before the real libtool is +generated. + +Usage: $[0] [[OPTIONS]] + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + +Report bugs to <bug-libtool@gnu.org>." + +lt_cl_version="\ +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +configured by $[0], generated by m4_PACKAGE_STRING. + +Copyright (C) 2011 Free Software Foundation, Inc. +This config.lt script is free software; the Free Software Foundation +gives unlimited permision to copy, distribute and modify it." + +while test 0 != $[#] +do + case $[1] in + --version | --v* | -V ) + echo "$lt_cl_version"; exit 0 ;; + --help | --h* | -h ) + echo "$lt_cl_help"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --quiet | --q* | --silent | --s* | -q ) + lt_cl_silent=: ;; + + -*) AC_MSG_ERROR([unrecognized option: $[1] +Try '$[0] --help' for more information.]) ;; + + *) AC_MSG_ERROR([unrecognized argument: $[1] +Try '$[0] --help' for more information.]) ;; + esac + shift +done + +if $lt_cl_silent; then + exec AS_MESSAGE_FD>/dev/null +fi +_LTEOF + +cat >>"$CONFIG_LT" <<_LTEOF +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AC_MSG_NOTICE([creating $ofile]) +_LT_OUTPUT_LIBTOOL_COMMANDS +AS_EXIT(0) +_LTEOF +chmod +x "$CONFIG_LT" + +# configure is writing to config.log, but config.lt does its own redirection, +# appending to config.log, which fails on DOS, as config.log is still kept +# open by configure. Here we exec the FD to /dev/null, effectively closing +# config.log, so it can be properly (re)opened and appended to by config.lt. +lt_cl_success=: +test yes = "$silent" && + lt_config_lt_args="$lt_config_lt_args --quiet" +exec AS_MESSAGE_LOG_FD>/dev/null +$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false +exec AS_MESSAGE_LOG_FD>>config.log +$lt_cl_success || AS_EXIT(1) +]) +m4trace:../../m4/libtool.m4:812: -1- AC_DEFUN([LT_SUPPORTED_TAG], []) +m4trace:../../m4/libtool.m4:823: -1- AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl +m4_case([$1], + [C], [_LT_LANG(C)], + [C++], [_LT_LANG(CXX)], + [Go], [_LT_LANG(GO)], + [Java], [_LT_LANG(GCJ)], + [Fortran 77], [_LT_LANG(F77)], + [Fortran], [_LT_LANG(FC)], + [Windows Resource], [_LT_LANG(RC)], + [m4_ifdef([_LT_LANG_]$1[_CONFIG], + [_LT_LANG($1)], + [m4_fatal([$0: unsupported language: "$1"])])])dnl +]) +m4trace:../../m4/libtool.m4:915: -1- AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +m4trace:../../m4/libtool.m4:915: -1- AC_DEFUN([AC_LIBTOOL_CXX], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_CXX' is obsolete. +You should run autoupdate.])dnl +LT_LANG(C++)]) +m4trace:../../m4/libtool.m4:916: -1- AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +m4trace:../../m4/libtool.m4:916: -1- AC_DEFUN([AC_LIBTOOL_F77], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_F77' is obsolete. +You should run autoupdate.])dnl +LT_LANG(Fortran 77)]) +m4trace:../../m4/libtool.m4:917: -1- AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +m4trace:../../m4/libtool.m4:917: -1- AC_DEFUN([AC_LIBTOOL_FC], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_FC' is obsolete. +You should run autoupdate.])dnl +LT_LANG(Fortran)]) +m4trace:../../m4/libtool.m4:918: -1- AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +m4trace:../../m4/libtool.m4:918: -1- AC_DEFUN([AC_LIBTOOL_GCJ], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_GCJ' is obsolete. +You should run autoupdate.])dnl +LT_LANG(Java)]) +m4trace:../../m4/libtool.m4:919: -1- AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) +m4trace:../../m4/libtool.m4:919: -1- AC_DEFUN([AC_LIBTOOL_RC], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_RC' is obsolete. +You should run autoupdate.])dnl +LT_LANG(Windows Resource)]) +m4trace:../../m4/libtool.m4:1247: -1- AC_DEFUN([_LT_WITH_SYSROOT], [AC_MSG_CHECKING([for sysroot]) +AC_ARG_WITH([sysroot], +[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], + [Search for dependent libraries within DIR (or the compiler's sysroot + if not specified).])], +[], [with_sysroot=no]) + +dnl lt_sysroot will always be passed unquoted. We quote it here +dnl in case the user passed a directory name. +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + AC_MSG_RESULT([$with_sysroot]) + AC_MSG_ERROR([The sysroot must be an absolute path.]) + ;; +esac + + AC_MSG_RESULT([${lt_sysroot:-no}]) +_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl +[dependent libraries, and where our libraries should be installed.])]) +m4trace:../../m4/libtool.m4:1578: -1- AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $RM conftest* +]) + +if test yes = "[$]$2"; then + m4_if([$5], , :, [$5]) +else + m4_if([$6], , :, [$6]) +fi +]) +m4trace:../../m4/libtool.m4:1620: -1- AU_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])]) +m4trace:../../m4/libtool.m4:1620: -1- AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_COMPILER_OPTION' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])]) +m4trace:../../m4/libtool.m4:1629: -1- AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS +]) + +if test yes = "[$]$2"; then + m4_if([$4], , :, [$4]) +else + m4_if([$5], , :, [$5]) +fi +]) +m4trace:../../m4/libtool.m4:1664: -1- AU_DEFUN([AC_LIBTOOL_LINKER_OPTION], [m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])]) +m4trace:../../m4/libtool.m4:1664: -1- AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_LINKER_OPTION' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])]) +m4trace:../../m4/libtool.m4:1671: -1- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n "$lt_cv_sys_max_cmd_len"; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +max_cmd_len=$lt_cv_sys_max_cmd_len +_LT_DECL([], [max_cmd_len], [0], + [What is the maximum length of a command?]) +]) +m4trace:../../m4/libtool.m4:1810: -1- AU_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])]) +m4trace:../../m4/libtool.m4:1810: -1- AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_SYS_MAX_CMD_LEN' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])]) +m4trace:../../m4/libtool.m4:1921: -1- AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl +if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen=shl_load], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen=dlopen], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +_LT_DECL([dlopen_support], [enable_dlopen], [0], + [Whether dlopen is supported]) +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], + [Whether dlopen of programs is supported]) +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], + [Whether dlopen of statically linked programs is supported]) +]) +m4trace:../../m4/libtool.m4:2046: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])]) +m4trace:../../m4/libtool.m4:2046: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN_SELF' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])]) +m4trace:../../m4/libtool.m4:3155: -1- AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="m4_if([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$1"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac]) +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +_LT_DECL([], [MAGIC_CMD], [0], + [Used to examine libraries when file_magic_cmd begins with "file"])dnl +]) +m4trace:../../m4/libtool.m4:3217: -1- AU_DEFUN([AC_PATH_TOOL_PREFIX], [m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])]) +m4trace:../../m4/libtool.m4:3217: -1- AC_DEFUN([AC_PATH_TOOL_PREFIX], [AC_DIAGNOSE([obsolete], [The macro `AC_PATH_TOOL_PREFIX' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])]) +m4trace:../../m4/libtool.m4:3240: -1- AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PROG_ECHO_BACKSLASH])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test no = "$withval" || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in + *GNU* | *'with BFD'*) + test no != "$with_gnu_ld" && break + ;; + *) + test yes != "$with_gnu_ld" && break + ;; + esac + fi + done + IFS=$lt_save_ifs +else + lt_cv_path_LD=$LD # Let the user override the test with a path. +fi]) +LD=$lt_cv_path_LD +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +_LT_PATH_LD_GNU +AC_SUBST([LD]) + +_LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) +]) +m4trace:../../m4/libtool.m4:3329: -1- AU_DEFUN([AM_PROG_LD], [m4_if($#, 0, [LT_PATH_LD], [LT_PATH_LD($@)])]) +m4trace:../../m4/libtool.m4:3329: -1- AC_DEFUN([AM_PROG_LD], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_LD' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_PATH_LD], [LT_PATH_LD($@)])]) +m4trace:../../m4/libtool.m4:3330: -1- AU_DEFUN([AC_PROG_LD], [m4_if($#, 0, [LT_PATH_LD], [LT_PATH_LD($@)])]) +m4trace:../../m4/libtool.m4:3330: -1- AC_DEFUN([AC_PROG_LD], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_LD' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_PATH_LD], [LT_PATH_LD($@)])]) +m4trace:../../m4/libtool.m4:3659: -1- AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl +AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi]) +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + AC_SUBST([DUMPBIN]) + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm +AC_SUBST([NM]) +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl + +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], + [lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) + cat conftest.out >&AS_MESSAGE_LOG_FD + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest*]) +]) +m4trace:../../m4/libtool.m4:3754: -1- AU_DEFUN([AM_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) +m4trace:../../m4/libtool.m4:3754: -1- AC_DEFUN([AM_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_NM' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) +m4trace:../../m4/libtool.m4:3755: -1- AU_DEFUN([AC_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) +m4trace:../../m4/libtool.m4:3755: -1- AC_DEFUN([AC_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_NM' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) +m4trace:../../m4/libtool.m4:3826: -1- AC_DEFUN([_LT_DLL_DEF_P], [dnl + test DEF = "`$SED -n dnl + -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace + -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments + -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl + -e q dnl Only consider the first "real" line + $1`" dnl +]) +m4trace:../../m4/libtool.m4:3840: -1- AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM=-lm) + ;; +esac +AC_SUBST([LIBM]) +]) +m4trace:../../m4/libtool.m4:3859: -1- AU_DEFUN([AC_CHECK_LIBM], [m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])]) +m4trace:../../m4/libtool.m4:3859: -1- AC_DEFUN([AC_CHECK_LIBM], [AC_DIAGNOSE([obsolete], [The macro `AC_CHECK_LIBM' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])]) +m4trace:../../m4/libtool.m4:8122: -1- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], + [AC_CHECK_TOOL(GCJ, gcj,) + test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS)])])[]dnl +]) +m4trace:../../m4/libtool.m4:8131: -1- AU_DEFUN([LT_AC_PROG_GCJ], [m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])]) +m4trace:../../m4/libtool.m4:8131: -1- AC_DEFUN([LT_AC_PROG_GCJ], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_GCJ' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])]) +m4trace:../../m4/libtool.m4:8138: -1- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) +]) +m4trace:../../m4/libtool.m4:8145: -1- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) +]) +m4trace:../../m4/libtool.m4:8150: -1- AU_DEFUN([LT_AC_PROG_RC], [m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])]) +m4trace:../../m4/libtool.m4:8150: -1- AC_DEFUN([LT_AC_PROG_RC], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_RC' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])]) +m4trace:../../m4/libtool.m4:8270: -1- AU_DEFUN([LT_AC_PROG_SED], [m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])]) +m4trace:../../m4/libtool.m4:8270: -1- AC_DEFUN([LT_AC_PROG_SED], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_SED' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])]) +m4trace:../../m4/ltoptions.m4:14: -1- AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) +m4trace:../../m4/ltoptions.m4:113: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'dlopen' option into LT_INIT's first parameter.]) +]) +m4trace:../../m4/ltoptions.m4:113: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN' is obsolete. +You should run autoupdate.])dnl +_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'dlopen' option into LT_INIT's first parameter.]) +]) +m4trace:../../m4/ltoptions.m4:148: -1- AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'win32-dll' option into LT_INIT's first parameter.]) +]) +m4trace:../../m4/ltoptions.m4:148: -1- AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_WIN32_DLL' is obsolete. +You should run autoupdate.])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'win32-dll' option into LT_INIT's first parameter.]) +]) +m4trace:../../m4/ltoptions.m4:197: -1- AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +]) +m4trace:../../m4/ltoptions.m4:201: -1- AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) +]) +m4trace:../../m4/ltoptions.m4:205: -1- AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +m4trace:../../m4/ltoptions.m4:205: -1- AC_DEFUN([AM_ENABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_SHARED' is obsolete. +You should run autoupdate.])dnl +AC_ENABLE_SHARED($@)]) +m4trace:../../m4/ltoptions.m4:206: -1- AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +m4trace:../../m4/ltoptions.m4:206: -1- AC_DEFUN([AM_DISABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_SHARED' is obsolete. +You should run autoupdate.])dnl +AC_DISABLE_SHARED($@)]) +m4trace:../../m4/ltoptions.m4:251: -1- AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +]) +m4trace:../../m4/ltoptions.m4:255: -1- AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) +]) +m4trace:../../m4/ltoptions.m4:259: -1- AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +m4trace:../../m4/ltoptions.m4:259: -1- AC_DEFUN([AM_ENABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_STATIC' is obsolete. +You should run autoupdate.])dnl +AC_ENABLE_STATIC($@)]) +m4trace:../../m4/ltoptions.m4:260: -1- AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +m4trace:../../m4/ltoptions.m4:260: -1- AC_DEFUN([AM_DISABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_STATIC' is obsolete. +You should run autoupdate.])dnl +AC_DISABLE_STATIC($@)]) +m4trace:../../m4/ltoptions.m4:305: -1- AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'fast-install' option into LT_INIT's first parameter.]) +]) +m4trace:../../m4/ltoptions.m4:305: -1- AC_DEFUN([AC_ENABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_ENABLE_FAST_INSTALL' is obsolete. +You should run autoupdate.])dnl +_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'fast-install' option into LT_INIT's first parameter.]) +]) +m4trace:../../m4/ltoptions.m4:312: -1- AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'disable-fast-install' option into LT_INIT's first parameter.]) +]) +m4trace:../../m4/ltoptions.m4:312: -1- AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_DISABLE_FAST_INSTALL' is obsolete. +You should run autoupdate.])dnl +_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'disable-fast-install' option into LT_INIT's first parameter.]) +]) +m4trace:../../m4/ltoptions.m4:411: -1- AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'pic-only' option into LT_INIT's first parameter.]) +]) +m4trace:../../m4/ltoptions.m4:411: -1- AC_DEFUN([AC_LIBTOOL_PICMODE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_PICMODE' is obsolete. +You should run autoupdate.])dnl +_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'pic-only' option into LT_INIT's first parameter.]) +]) +m4trace:../../m4/ltsugar.m4:14: -1- AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) +m4trace:../../m4/ltversion.m4:18: -1- AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.6' +macro_revision='2.4.6' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) +]) +m4trace:../../m4/lt~obsolete.m4:37: -1- AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) +m4trace:../../m4/lt~obsolete.m4:41: -1- AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH]) +m4trace:../../m4/lt~obsolete.m4:42: -1- AC_DEFUN([_LT_AC_SHELL_INIT]) +m4trace:../../m4/lt~obsolete.m4:43: -1- AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX]) +m4trace:../../m4/lt~obsolete.m4:45: -1- AC_DEFUN([_LT_AC_TAGVAR]) +m4trace:../../m4/lt~obsolete.m4:46: -1- AC_DEFUN([AC_LTDL_ENABLE_INSTALL]) +m4trace:../../m4/lt~obsolete.m4:47: -1- AC_DEFUN([AC_LTDL_PREOPEN]) +m4trace:../../m4/lt~obsolete.m4:48: -1- AC_DEFUN([_LT_AC_SYS_COMPILER]) +m4trace:../../m4/lt~obsolete.m4:49: -1- AC_DEFUN([_LT_AC_LOCK]) +m4trace:../../m4/lt~obsolete.m4:50: -1- AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE]) +m4trace:../../m4/lt~obsolete.m4:51: -1- AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF]) +m4trace:../../m4/lt~obsolete.m4:52: -1- AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O]) +m4trace:../../m4/lt~obsolete.m4:53: -1- AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS]) +m4trace:../../m4/lt~obsolete.m4:54: -1- AC_DEFUN([AC_LIBTOOL_OBJDIR]) +m4trace:../../m4/lt~obsolete.m4:55: -1- AC_DEFUN([AC_LTDL_OBJDIR]) +m4trace:../../m4/lt~obsolete.m4:56: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH]) +m4trace:../../m4/lt~obsolete.m4:57: -1- AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP]) +m4trace:../../m4/lt~obsolete.m4:58: -1- AC_DEFUN([AC_PATH_MAGIC]) +m4trace:../../m4/lt~obsolete.m4:59: -1- AC_DEFUN([AC_PROG_LD_GNU]) +m4trace:../../m4/lt~obsolete.m4:60: -1- AC_DEFUN([AC_PROG_LD_RELOAD_FLAG]) +m4trace:../../m4/lt~obsolete.m4:61: -1- AC_DEFUN([AC_DEPLIBS_CHECK_METHOD]) +m4trace:../../m4/lt~obsolete.m4:62: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI]) +m4trace:../../m4/lt~obsolete.m4:63: -1- AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE]) +m4trace:../../m4/lt~obsolete.m4:64: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC]) +m4trace:../../m4/lt~obsolete.m4:65: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS]) +m4trace:../../m4/lt~obsolete.m4:66: -1- AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP]) +m4trace:../../m4/lt~obsolete.m4:67: -1- AC_DEFUN([LT_AC_PROG_EGREP]) +m4trace:../../m4/lt~obsolete.m4:72: -1- AC_DEFUN([_AC_PROG_LIBTOOL]) +m4trace:../../m4/lt~obsolete.m4:73: -1- AC_DEFUN([AC_LIBTOOL_SETUP]) +m4trace:../../m4/lt~obsolete.m4:74: -1- AC_DEFUN([_LT_AC_CHECK_DLFCN]) +m4trace:../../m4/lt~obsolete.m4:75: -1- AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) +m4trace:../../m4/lt~obsolete.m4:76: -1- AC_DEFUN([_LT_AC_TAGCONFIG]) +m4trace:../../m4/lt~obsolete.m4:78: -1- AC_DEFUN([_LT_AC_LANG_CXX]) +m4trace:../../m4/lt~obsolete.m4:79: -1- AC_DEFUN([_LT_AC_LANG_F77]) +m4trace:../../m4/lt~obsolete.m4:80: -1- AC_DEFUN([_LT_AC_LANG_GCJ]) +m4trace:../../m4/lt~obsolete.m4:81: -1- AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG]) +m4trace:../../m4/lt~obsolete.m4:82: -1- AC_DEFUN([_LT_AC_LANG_C_CONFIG]) +m4trace:../../m4/lt~obsolete.m4:83: -1- AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG]) +m4trace:../../m4/lt~obsolete.m4:84: -1- AC_DEFUN([_LT_AC_LANG_CXX_CONFIG]) +m4trace:../../m4/lt~obsolete.m4:85: -1- AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG]) +m4trace:../../m4/lt~obsolete.m4:86: -1- AC_DEFUN([_LT_AC_LANG_F77_CONFIG]) +m4trace:../../m4/lt~obsolete.m4:87: -1- AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG]) +m4trace:../../m4/lt~obsolete.m4:88: -1- AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG]) +m4trace:../../m4/lt~obsolete.m4:89: -1- AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG]) +m4trace:../../m4/lt~obsolete.m4:90: -1- AC_DEFUN([_LT_AC_LANG_RC_CONFIG]) +m4trace:../../m4/lt~obsolete.m4:91: -1- AC_DEFUN([AC_LIBTOOL_CONFIG]) +m4trace:../../m4/lt~obsolete.m4:92: -1- AC_DEFUN([_LT_AC_FILE_LTDLL_C]) +m4trace:../../m4/lt~obsolete.m4:94: -1- AC_DEFUN([_LT_AC_PROG_CXXCPP]) +m4trace:../../m4/lt~obsolete.m4:97: -1- AC_DEFUN([_LT_PROG_F77]) +m4trace:../../m4/lt~obsolete.m4:98: -1- AC_DEFUN([_LT_PROG_FC]) +m4trace:../../m4/lt~obsolete.m4:99: -1- AC_DEFUN([_LT_PROG_CXX]) +m4trace:configure.ac:12: -1- m4_include([version.ac]) +m4trace:configure.ac:13: -1- m4_pattern_forbid([^_?A[CHUM]_]) +m4trace:configure.ac:13: -1- m4_pattern_forbid([_AC_]) +m4trace:configure.ac:13: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) +m4trace:configure.ac:13: -1- m4_pattern_allow([^AS_FLAGS$]) +m4trace:configure.ac:13: -1- m4_pattern_forbid([^_?m4_]) +m4trace:configure.ac:13: -1- m4_pattern_forbid([^dnl$]) +m4trace:configure.ac:13: -1- m4_pattern_forbid([^_?AS_]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^SHELL$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PATH_SEPARATOR$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_URL$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^exec_prefix$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^prefix$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^program_transform_name$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^bindir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^sbindir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^libexecdir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^datarootdir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^datadir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^sysconfdir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^sharedstatedir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^localstatedir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^includedir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^oldincludedir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^docdir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^infodir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^htmldir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^dvidir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^pdfdir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^psdir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^libdir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^localedir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^mandir$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_URL$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^DEFS$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^ECHO_C$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^ECHO_N$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^ECHO_T$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^build_alias$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^host_alias$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^target_alias$]) +m4trace:configure.ac:17: -1- _AM_CONFIG_MACRO_DIRS([../../m4 m4]) +m4trace:configure.ac:19: -1- KPSE_BASIC([zziplib]) +m4trace:configure.ac:19: -1- AM_INIT_AUTOMAKE([foreign silent-rules subdir-objects]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) +m4trace:configure.ac:19: -1- AM_SET_CURRENT_AUTOMAKE_VERSION +m4trace:configure.ac:19: -1- AM_AUTOMAKE_VERSION([1.15.1]) +m4trace:configure.ac:19: -1- _AM_AUTOCONF_VERSION([2.69]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^INSTALL_DATA$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^am__isrc$]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([am__isrc]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^CYGPATH_W$]) +m4trace:configure.ac:19: -1- _AM_SET_OPTIONS([foreign silent-rules subdir-objects]) +m4trace:configure.ac:19: -1- _AM_SET_OPTION([foreign]) +m4trace:configure.ac:19: -2- _AM_MANGLE_OPTION([foreign]) +m4trace:configure.ac:19: -1- _AM_SET_OPTION([silent-rules]) +m4trace:configure.ac:19: -2- _AM_MANGLE_OPTION([silent-rules]) +m4trace:configure.ac:19: -1- _AM_SET_OPTION([subdir-objects]) +m4trace:configure.ac:19: -2- _AM_MANGLE_OPTION([subdir-objects]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:19: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])]) +m4trace:configure.ac:19: -2- _AM_MANGLE_OPTION([no-define]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:19: -1- AM_SANITY_CHECK +m4trace:configure.ac:19: -1- AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +m4trace:configure.ac:19: -1- AM_MISSING_HAS_RUN +m4trace:configure.ac:19: -1- AM_AUX_DIR_EXPAND +m4trace:configure.ac:19: -1- m4_pattern_allow([^ACLOCAL$]) +m4trace:configure.ac:19: -1- AM_MISSING_PROG([AUTOCONF], [autoconf]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AUTOCONF$]) +m4trace:configure.ac:19: -1- AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AUTOMAKE$]) +m4trace:configure.ac:19: -1- AM_MISSING_PROG([AUTOHEADER], [autoheader]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AUTOHEADER$]) +m4trace:configure.ac:19: -1- AM_MISSING_PROG([MAKEINFO], [makeinfo]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^MAKEINFO$]) +m4trace:configure.ac:19: -1- AM_PROG_INSTALL_SH +m4trace:configure.ac:19: -1- m4_pattern_allow([^install_sh$]) +m4trace:configure.ac:19: -1- AM_PROG_INSTALL_STRIP +m4trace:configure.ac:19: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^MKDIR_P$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^mkdir_p$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^SET_MAKE$]) +m4trace:configure.ac:19: -1- AM_SET_LEADING_DOT +m4trace:configure.ac:19: -1- m4_pattern_allow([^am__leading_dot$]) +m4trace:configure.ac:19: -1- _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +m4trace:configure.ac:19: -2- _AM_MANGLE_OPTION([tar-ustar]) +m4trace:configure.ac:19: -1- _AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])]) +m4trace:configure.ac:19: -2- _AM_MANGLE_OPTION([tar-pax]) +m4trace:configure.ac:19: -1- _AM_PROG_TAR([v7]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AMTAR$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^am__tar$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^am__untar$]) +m4trace:configure.ac:19: -1- _AM_IF_OPTION([no-dependencies], [], [AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +m4trace:configure.ac:19: -2- _AM_MANGLE_OPTION([no-dependencies]) +m4trace:configure.ac:19: -1- AM_SILENT_RULES +m4trace:configure.ac:19: -1- m4_pattern_allow([^AM_V$]) +m4trace:configure.ac:19: -1- AM_SUBST_NOTMAKE([AM_V]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([AM_V]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AM_DEFAULT_V$]) +m4trace:configure.ac:19: -1- AM_SUBST_NOTMAKE([AM_DEFAULT_V]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AM_BACKSLASH$]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) +m4trace:configure.ac:19: -1- AM_MAINTAINER_MODE +m4trace:configure.ac:19: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^MAINTAINER_MODE_TRUE$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^MAINTAINER_MODE_FALSE$]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([MAINTAINER_MODE_TRUE]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([MAINTAINER_MODE_FALSE]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^MAINT$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^EXEEXT$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^OBJEXT$]) +m4trace:configure.ac:19: -1- _AM_PROG_CC_C_O +m4trace:configure.ac:19: -1- AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) +m4trace:configure.ac:19: -1- _AM_DEPENDENCIES([CC]) +m4trace:configure.ac:19: -1- AM_SET_DEPDIR +m4trace:configure.ac:19: -1- m4_pattern_allow([^DEPDIR$]) +m4trace:configure.ac:19: -1- AM_OUTPUT_DEPENDENCY_COMMANDS +m4trace:configure.ac:19: -1- AM_MAKE_INCLUDE +m4trace:configure.ac:19: -1- m4_pattern_allow([^am__include$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^am__quote$]) +m4trace:configure.ac:19: -1- AM_DEP_TRACK +m4trace:configure.ac:19: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AMDEP_TRUE$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AMDEP_FALSE$]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^am__nodep$]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([am__nodep]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:19: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) +m4trace:configure.ac:19: -1- KPSE_COMPILER_WARNINGS +m4trace:configure.ac:19: -1- _KPSE_COMPILER_WARNINGS_OPTION +m4trace:configure.ac:19: -1- _KPSE_WARNING_CFLAGS +m4trace:configure.ac:19: -1- m4_pattern_allow([^WARNING_CFLAGS$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^build$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^build_cpu$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^build_vendor$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^build_os$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^host$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^host_cpu$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^host_vendor$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^host_os$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:24: -1- _AM_PROG_CC_C_O +m4trace:configure.ac:24: -1- AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) +m4trace:configure.ac:24: -1- _AM_DEPENDENCIES([CC]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:24: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:24: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) +m4trace:configure.ac:24: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) +m4trace:configure.ac:25: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^LN_S$]) +m4trace:configure.ac:28: -1- KPSE_COMPILER_VISIBILITY +m4trace:configure.ac:28: -1- _KPSE_VISIBILITY_CFLAGS +m4trace:configure.ac:28: -1- m4_pattern_allow([^VISIBILITY_CFLAGS$]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:31: -1- AC_PROG_EGREP +m4trace:configure.ac:31: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^STDC_HEADERS$]) +m4trace:configure.ac:37: -1- m4_pattern_allow([^HAVE_FNMATCH_H$]) +m4trace:configure.ac:47: -1- m4_pattern_allow([^ZZIPLIB_DEFINES$]) +m4trace:configure.ac:49: -1- AC_SYS_LARGEFILE_SENSITIVE +m4trace:configure.ac:49: -1- m4_pattern_allow([^_FILE_OFFSET_BITS$]) +m4trace:configure.ac:49: -1- m4_pattern_allow([^_LARGE_FILES$]) +m4trace:configure.ac:49: -1- m4_pattern_allow([^LARGEFILE_SENSITIVE$]) +m4trace:configure.ac:50: -1- m4_pattern_allow([^_LARGEFILE_SOURCE$]) +m4trace:configure.ac:50: -1- m4_pattern_allow([^HAVE_FSEEKO$]) +m4trace:configure.ac:54: -1- m4_pattern_allow([^const$]) +m4trace:configure.ac:55: -1- m4_pattern_allow([^restrict$]) +m4trace:configure.ac:55: -1- m4_pattern_allow([^restrict$]) +m4trace:configure.ac:56: -1- m4_pattern_allow([^size_t$]) +m4trace:configure.ac:57: -1- m4_pattern_allow([^ssize_t$]) +m4trace:configure.ac:58: -1- m4_pattern_allow([^off64_t$]) +m4trace:configure.ac:59: -1- m4_pattern_allow([^__int64$]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^SIZEOF_SHORT$]) +m4trace:configure.ac:61: -1- m4_pattern_allow([^SIZEOF_INT$]) +m4trace:configure.ac:62: -1- m4_pattern_allow([^SIZEOF_LONG$]) +m4trace:configure.ac:63: -1- m4_pattern_allow([^WORDS_BIGENDIAN$]) +m4trace:configure.ac:63: -1- m4_pattern_allow([^AC_APPLE_UNIVERSAL_BUILD$]) +m4trace:configure.ac:64: -1- ZZIPLIB_CHECK_ALIGNED_ACCESS +m4trace:configure.ac:64: -1- m4_pattern_allow([^HAVE_ALIGNED_ACCESS_REQUIRED$]) +m4trace:configure.ac:69: -1- KPSE_ZLIB_FLAGS +m4trace:configure.ac:69: -1- KPSE_SAVE_FLAGS +m4trace:configure.ac:69: -1- _KPSE_LIB_FLAGS([zlib], [z], [], [-IBLD/libs/zlib/include], [BLD/libs/zlib/libz.a], [], [], [${top_builddir}/../../libs/zlib/include/zconf.h]) +m4trace:configure.ac:69: -1- _KPSE_INIT +m4trace:configure.ac:69: -1- KPSE_ZLIB_OPTIONS([with-system]) +m4trace:configure.ac:69: -1- KPSE_ZLIB_SYSTEM_FLAGS +m4trace:configure.ac:69: -1- m4_pattern_allow([^ZLIB_INCLUDES$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^ZLIB_LIBS$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^ZLIB_DEPEND$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^ZLIB_RULE$]) +m4trace:configure.ac:69: -1- _AM_SUBST_NOTMAKE([ZLIB_RULE]) +m4trace:configure.ac:69: -1- KPSE_ADD_FLAGS([zlib]) +m4trace:configure.ac:69: -1- KPSE_RESTORE_FLAGS +m4trace:configure.ac:69: -1- m4_pattern_allow([^ZLIB_CONST$]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^z_const$]) +m4trace:configure.ac:71: -1- AM_CONDITIONAL([build], [test "x$enable_build" != xno]) +m4trace:configure.ac:71: -1- m4_pattern_allow([^build_TRUE$]) +m4trace:configure.ac:71: -1- m4_pattern_allow([^build_FALSE$]) +m4trace:configure.ac:71: -1- _AM_SUBST_NOTMAKE([build_TRUE]) +m4trace:configure.ac:71: -1- _AM_SUBST_NOTMAKE([build_FALSE]) +m4trace:configure.ac:75: -1- KPSE_ADD_FLAGS([zlib]) +m4trace:configure.ac:76: -1- m4_pattern_allow([^HAVE_ZLIB_H$]) +m4trace:configure.ac:77: -1- _m4_warn([obsolete], [The macro `AC_ERROR' is obsolete. +You should run autoupdate.], [../../lib/autoconf/oldnames.m4:34: AC_ERROR is expanded from... +../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... +../../lib/autoconf/functions.m4:59: AC_CHECK_FUNC is expanded from... +configure.ac:77: the top level]) +m4trace:configure.ac:78: -1- KPSE_RESTORE_FLAGS +m4trace:configure.ac:83: -1- m4_pattern_allow([^ZZIPLIB_TREE$]) +m4trace:configure.ac:90: -1- AX_PREFIX_CONFIG_H([include/zzip/_config.h], [zzip], [config.h]) +m4trace:configure.ac:91: -1- AX_PREFIX_CONFIG_H([include/zzip/_msvc.h], [zzip], [include/_msvc.in]) +m4trace:configure.ac:95: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:95: -1- m4_pattern_allow([^LTLIBOBJS$]) +m4trace:configure.ac:95: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"]) +m4trace:configure.ac:95: -1- m4_pattern_allow([^am__EXEEXT_TRUE$]) +m4trace:configure.ac:95: -1- m4_pattern_allow([^am__EXEEXT_FALSE$]) +m4trace:configure.ac:95: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE]) +m4trace:configure.ac:95: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE]) +m4trace:configure.ac:95: -1- _AC_AM_CONFIG_HEADER_HOOK(["$ac_file"]) +m4trace:configure.ac:95: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS diff --git a/source/libs/zziplib/autom4te.cache/traces.2 b/source/libs/zziplib/autom4te.cache/traces.2 new file mode 100644 index 000000000..5cd8413a6 --- /dev/null +++ b/source/libs/zziplib/autom4te.cache/traces.2 @@ -0,0 +1,687 @@ +m4trace:aclocal.m4:1189: -1- m4_include([m4/ac_sys_largefile_sensitive.m4]) +m4trace:aclocal.m4:1190: -1- m4_include([m4/ax_prefix_config_h.m4]) +m4trace:aclocal.m4:1191: -1- m4_include([m4/zziplib-aligned-access.m4]) +m4trace:aclocal.m4:1192: -1- m4_include([../../m4/kpse-common.m4]) +m4trace:aclocal.m4:1193: -1- m4_include([../../m4/kpse-visibility.m4]) +m4trace:aclocal.m4:1194: -1- m4_include([../../m4/kpse-warnings.m4]) +m4trace:aclocal.m4:1195: -1- m4_include([../../m4/kpse-zlib-flags.m4]) +m4trace:configure.ac:12: -1- m4_include([version.ac]) +m4trace:configure.ac:13: -1- AC_INIT([zziplib (TeX Live)], [0.13.68], [tex-k@tug.org]) +m4trace:configure.ac:13: -1- m4_pattern_forbid([^_?A[CHUM]_]) +m4trace:configure.ac:13: -1- m4_pattern_forbid([_AC_]) +m4trace:configure.ac:13: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) +m4trace:configure.ac:13: -1- m4_pattern_allow([^AS_FLAGS$]) +m4trace:configure.ac:13: -1- m4_pattern_forbid([^_?m4_]) +m4trace:configure.ac:13: -1- m4_pattern_forbid([^dnl$]) +m4trace:configure.ac:13: -1- m4_pattern_forbid([^_?AS_]) +m4trace:configure.ac:13: -1- AC_SUBST([SHELL]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([SHELL]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^SHELL$]) +m4trace:configure.ac:13: -1- AC_SUBST([PATH_SEPARATOR]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([PATH_SEPARATOR]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PATH_SEPARATOR$]) +m4trace:configure.ac:13: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([PACKAGE_NAME]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:13: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([PACKAGE_TARNAME]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:13: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([PACKAGE_VERSION]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:13: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([PACKAGE_STRING]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:13: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:13: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([PACKAGE_URL]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_URL$]) +m4trace:configure.ac:13: -1- AC_SUBST([exec_prefix], [NONE]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([exec_prefix]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^exec_prefix$]) +m4trace:configure.ac:13: -1- AC_SUBST([prefix], [NONE]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([prefix]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^prefix$]) +m4trace:configure.ac:13: -1- AC_SUBST([program_transform_name], [s,x,x,]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([program_transform_name]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^program_transform_name$]) +m4trace:configure.ac:13: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([bindir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^bindir$]) +m4trace:configure.ac:13: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([sbindir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^sbindir$]) +m4trace:configure.ac:13: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([libexecdir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^libexecdir$]) +m4trace:configure.ac:13: -1- AC_SUBST([datarootdir], ['${prefix}/share']) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([datarootdir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^datarootdir$]) +m4trace:configure.ac:13: -1- AC_SUBST([datadir], ['${datarootdir}']) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([datadir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^datadir$]) +m4trace:configure.ac:13: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([sysconfdir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^sysconfdir$]) +m4trace:configure.ac:13: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([sharedstatedir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^sharedstatedir$]) +m4trace:configure.ac:13: -1- AC_SUBST([localstatedir], ['${prefix}/var']) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([localstatedir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^localstatedir$]) +m4trace:configure.ac:13: -1- AC_SUBST([includedir], ['${prefix}/include']) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([includedir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^includedir$]) +m4trace:configure.ac:13: -1- AC_SUBST([oldincludedir], ['/usr/include']) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([oldincludedir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^oldincludedir$]) +m4trace:configure.ac:13: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME], + ['${datarootdir}/doc/${PACKAGE_TARNAME}'], + ['${datarootdir}/doc/${PACKAGE}'])]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([docdir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^docdir$]) +m4trace:configure.ac:13: -1- AC_SUBST([infodir], ['${datarootdir}/info']) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([infodir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^infodir$]) +m4trace:configure.ac:13: -1- AC_SUBST([htmldir], ['${docdir}']) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([htmldir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^htmldir$]) +m4trace:configure.ac:13: -1- AC_SUBST([dvidir], ['${docdir}']) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([dvidir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^dvidir$]) +m4trace:configure.ac:13: -1- AC_SUBST([pdfdir], ['${docdir}']) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([pdfdir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^pdfdir$]) +m4trace:configure.ac:13: -1- AC_SUBST([psdir], ['${docdir}']) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([psdir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^psdir$]) +m4trace:configure.ac:13: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([libdir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^libdir$]) +m4trace:configure.ac:13: -1- AC_SUBST([localedir], ['${datarootdir}/locale']) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([localedir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^localedir$]) +m4trace:configure.ac:13: -1- AC_SUBST([mandir], ['${datarootdir}/man']) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([mandir]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^mandir$]) +m4trace:configure.ac:13: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:13: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ +@%:@undef PACKAGE_NAME]) +m4trace:configure.ac:13: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:13: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ +@%:@undef PACKAGE_TARNAME]) +m4trace:configure.ac:13: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:13: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ +@%:@undef PACKAGE_VERSION]) +m4trace:configure.ac:13: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:13: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ +@%:@undef PACKAGE_STRING]) +m4trace:configure.ac:13: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:13: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ +@%:@undef PACKAGE_BUGREPORT]) +m4trace:configure.ac:13: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^PACKAGE_URL$]) +m4trace:configure.ac:13: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */ +@%:@undef PACKAGE_URL]) +m4trace:configure.ac:13: -1- AC_SUBST([DEFS]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([DEFS]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^DEFS$]) +m4trace:configure.ac:13: -1- AC_SUBST([ECHO_C]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([ECHO_C]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^ECHO_C$]) +m4trace:configure.ac:13: -1- AC_SUBST([ECHO_N]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([ECHO_N]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^ECHO_N$]) +m4trace:configure.ac:13: -1- AC_SUBST([ECHO_T]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([ECHO_T]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^ECHO_T$]) +m4trace:configure.ac:13: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:13: -1- AC_SUBST([build_alias]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([build_alias]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^build_alias$]) +m4trace:configure.ac:13: -1- AC_SUBST([host_alias]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([host_alias]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^host_alias$]) +m4trace:configure.ac:13: -1- AC_SUBST([target_alias]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([target_alias]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^target_alias$]) +m4trace:configure.ac:16: -1- AC_CONFIG_AUX_DIR([../../build-aux]) +m4trace:configure.ac:19: -1- AM_INIT_AUTOMAKE([foreign silent-rules subdir-objects]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) +m4trace:configure.ac:19: -1- AM_AUTOMAKE_VERSION([1.15.1]) +m4trace:configure.ac:19: -1- AC_REQUIRE_AUX_FILE([install-sh]) +m4trace:configure.ac:19: -1- AC_SUBST([INSTALL_PROGRAM]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([INSTALL_PROGRAM]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) +m4trace:configure.ac:19: -1- AC_SUBST([INSTALL_SCRIPT]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([INSTALL_SCRIPT]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) +m4trace:configure.ac:19: -1- AC_SUBST([INSTALL_DATA]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([INSTALL_DATA]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^INSTALL_DATA$]) +m4trace:configure.ac:19: -1- AC_SUBST([am__isrc], [' -I$(srcdir)']) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([am__isrc]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^am__isrc$]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([am__isrc]) +m4trace:configure.ac:19: -1- AC_SUBST([CYGPATH_W]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([CYGPATH_W]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^CYGPATH_W$]) +m4trace:configure.ac:19: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME']) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([PACKAGE]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:19: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION']) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([VERSION]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:19: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:19: -1- AH_OUTPUT([PACKAGE], [/* Name of package */ +@%:@undef PACKAGE]) +m4trace:configure.ac:19: -1- AC_DEFINE_TRACE_LITERAL([VERSION]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:19: -1- AH_OUTPUT([VERSION], [/* Version number of package */ +@%:@undef VERSION]) +m4trace:configure.ac:19: -1- AC_REQUIRE_AUX_FILE([missing]) +m4trace:configure.ac:19: -1- AC_SUBST([ACLOCAL]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([ACLOCAL]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^ACLOCAL$]) +m4trace:configure.ac:19: -1- AC_SUBST([AUTOCONF]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([AUTOCONF]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AUTOCONF$]) +m4trace:configure.ac:19: -1- AC_SUBST([AUTOMAKE]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([AUTOMAKE]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AUTOMAKE$]) +m4trace:configure.ac:19: -1- AC_SUBST([AUTOHEADER]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([AUTOHEADER]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AUTOHEADER$]) +m4trace:configure.ac:19: -1- AC_SUBST([MAKEINFO]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([MAKEINFO]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^MAKEINFO$]) +m4trace:configure.ac:19: -1- AC_SUBST([install_sh]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([install_sh]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^install_sh$]) +m4trace:configure.ac:19: -1- AC_SUBST([STRIP]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([STRIP]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:19: -1- AC_SUBST([INSTALL_STRIP_PROGRAM]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) +m4trace:configure.ac:19: -1- AC_REQUIRE_AUX_FILE([install-sh]) +m4trace:configure.ac:19: -1- AC_SUBST([MKDIR_P]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([MKDIR_P]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^MKDIR_P$]) +m4trace:configure.ac:19: -1- AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([mkdir_p]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^mkdir_p$]) +m4trace:configure.ac:19: -1- AC_SUBST([AWK]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([AWK]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.ac:19: -1- AC_SUBST([SET_MAKE]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([SET_MAKE]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^SET_MAKE$]) +m4trace:configure.ac:19: -1- AC_SUBST([am__leading_dot]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([am__leading_dot]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^am__leading_dot$]) +m4trace:configure.ac:19: -1- AC_SUBST([AMTAR], ['$${TAR-tar}']) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([AMTAR]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AMTAR$]) +m4trace:configure.ac:19: -1- AC_SUBST([am__tar]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([am__tar]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^am__tar$]) +m4trace:configure.ac:19: -1- AC_SUBST([am__untar]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([am__untar]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^am__untar$]) +m4trace:configure.ac:19: -1- AM_SILENT_RULES +m4trace:configure.ac:19: -1- AC_SUBST([AM_V]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([AM_V]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AM_V$]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([AM_V]) +m4trace:configure.ac:19: -1- AC_SUBST([AM_DEFAULT_V]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([AM_DEFAULT_V]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AM_DEFAULT_V$]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) +m4trace:configure.ac:19: -1- AC_SUBST([AM_DEFAULT_VERBOSITY]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([AM_DEFAULT_VERBOSITY]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) +m4trace:configure.ac:19: -1- AC_SUBST([AM_BACKSLASH]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([AM_BACKSLASH]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AM_BACKSLASH$]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) +m4trace:configure.ac:19: -1- AM_MAINTAINER_MODE +m4trace:configure.ac:19: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) +m4trace:configure.ac:19: -1- AC_SUBST([MAINTAINER_MODE_TRUE]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([MAINTAINER_MODE_TRUE]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^MAINTAINER_MODE_TRUE$]) +m4trace:configure.ac:19: -1- AC_SUBST([MAINTAINER_MODE_FALSE]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([MAINTAINER_MODE_FALSE]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^MAINTAINER_MODE_FALSE$]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([MAINTAINER_MODE_TRUE]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([MAINTAINER_MODE_FALSE]) +m4trace:configure.ac:19: -1- AC_SUBST([MAINT]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([MAINT]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^MAINT$]) +m4trace:configure.ac:19: -1- AC_SUBST([CC]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:19: -1- AC_SUBST([CFLAGS]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([CFLAGS]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:19: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:19: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:19: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:19: -1- AC_SUBST([CC]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:19: -1- AC_SUBST([CC]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:19: -1- AC_SUBST([CC]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:19: -1- AC_SUBST([CC]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:19: -1- AC_SUBST([ac_ct_CC]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([ac_ct_CC]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:19: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([EXEEXT]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^EXEEXT$]) +m4trace:configure.ac:19: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([OBJEXT]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^OBJEXT$]) +m4trace:configure.ac:19: -1- AC_REQUIRE_AUX_FILE([compile]) +m4trace:configure.ac:19: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([DEPDIR]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^DEPDIR$]) +m4trace:configure.ac:19: -1- AC_SUBST([am__include]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([am__include]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^am__include$]) +m4trace:configure.ac:19: -1- AC_SUBST([am__quote]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([am__quote]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^am__quote$]) +m4trace:configure.ac:19: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +m4trace:configure.ac:19: -1- AC_SUBST([AMDEP_TRUE]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([AMDEP_TRUE]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AMDEP_TRUE$]) +m4trace:configure.ac:19: -1- AC_SUBST([AMDEP_FALSE]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([AMDEP_FALSE]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AMDEP_FALSE$]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) +m4trace:configure.ac:19: -1- AC_SUBST([AMDEPBACKSLASH]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([AMDEPBACKSLASH]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) +m4trace:configure.ac:19: -1- AC_SUBST([am__nodep]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([am__nodep]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^am__nodep$]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([am__nodep]) +m4trace:configure.ac:19: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([CCDEPMODE]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:19: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:19: -1- AC_SUBST([am__fastdepCC_TRUE]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:19: -1- AC_SUBST([am__fastdepCC_FALSE]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) +m4trace:configure.ac:19: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) +m4trace:configure.ac:19: -1- AC_SUBST([WARNING_CFLAGS]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([WARNING_CFLAGS]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^WARNING_CFLAGS$]) +m4trace:configure.ac:21: -1- AC_CANONICAL_HOST +m4trace:configure.ac:21: -1- AC_CANONICAL_BUILD +m4trace:configure.ac:21: -1- AC_REQUIRE_AUX_FILE([config.sub]) +m4trace:configure.ac:21: -1- AC_REQUIRE_AUX_FILE([config.guess]) +m4trace:configure.ac:21: -1- AC_SUBST([build], [$ac_cv_build]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([build]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^build$]) +m4trace:configure.ac:21: -1- AC_SUBST([build_cpu], [$[1]]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([build_cpu]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^build_cpu$]) +m4trace:configure.ac:21: -1- AC_SUBST([build_vendor], [$[2]]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([build_vendor]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^build_vendor$]) +m4trace:configure.ac:21: -1- AC_SUBST([build_os]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([build_os]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^build_os$]) +m4trace:configure.ac:21: -1- AC_SUBST([host], [$ac_cv_host]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([host]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^host$]) +m4trace:configure.ac:21: -1- AC_SUBST([host_cpu], [$[1]]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([host_cpu]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^host_cpu$]) +m4trace:configure.ac:21: -1- AC_SUBST([host_vendor], [$[2]]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([host_vendor]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^host_vendor$]) +m4trace:configure.ac:21: -1- AC_SUBST([host_os]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([host_os]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^host_os$]) +m4trace:configure.ac:24: -1- AC_SUBST([CC]) +m4trace:configure.ac:24: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:24: -1- AC_SUBST([CFLAGS]) +m4trace:configure.ac:24: -1- AC_SUBST_TRACE([CFLAGS]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:24: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:24: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:24: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:24: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:24: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:24: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:24: -1- AC_SUBST([CC]) +m4trace:configure.ac:24: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:24: -1- AC_SUBST([CC]) +m4trace:configure.ac:24: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:24: -1- AC_SUBST([CC]) +m4trace:configure.ac:24: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:24: -1- AC_SUBST([CC]) +m4trace:configure.ac:24: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:24: -1- AC_SUBST([ac_ct_CC]) +m4trace:configure.ac:24: -1- AC_SUBST_TRACE([ac_ct_CC]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:24: -1- AC_REQUIRE_AUX_FILE([compile]) +m4trace:configure.ac:24: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) +m4trace:configure.ac:24: -1- AC_SUBST_TRACE([CCDEPMODE]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:24: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:24: -1- AC_SUBST([am__fastdepCC_TRUE]) +m4trace:configure.ac:24: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:24: -1- AC_SUBST([am__fastdepCC_FALSE]) +m4trace:configure.ac:24: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:24: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) +m4trace:configure.ac:24: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) +m4trace:configure.ac:25: -1- AC_SUBST([RANLIB]) +m4trace:configure.ac:25: -1- AC_SUBST_TRACE([RANLIB]) +m4trace:configure.ac:25: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.ac:26: -1- AC_SUBST([LN_S], [$as_ln_s]) +m4trace:configure.ac:26: -1- AC_SUBST_TRACE([LN_S]) +m4trace:configure.ac:26: -1- m4_pattern_allow([^LN_S$]) +m4trace:configure.ac:28: -1- AC_SUBST([VISIBILITY_CFLAGS], [$kpse_cv_visibility_cflags]) +m4trace:configure.ac:28: -1- AC_SUBST_TRACE([VISIBILITY_CFLAGS]) +m4trace:configure.ac:28: -1- m4_pattern_allow([^VISIBILITY_CFLAGS$]) +m4trace:configure.ac:31: -1- AC_SUBST([CPP]) +m4trace:configure.ac:31: -1- AC_SUBST_TRACE([CPP]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:31: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:31: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:31: -1- AC_SUBST([CPP]) +m4trace:configure.ac:31: -1- AC_SUBST_TRACE([CPP]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:31: -1- AC_SUBST([GREP]) +m4trace:configure.ac:31: -1- AC_SUBST_TRACE([GREP]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:31: -1- AC_SUBST([EGREP]) +m4trace:configure.ac:31: -1- AC_SUBST_TRACE([EGREP]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:31: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^STDC_HEADERS$]) +m4trace:configure.ac:31: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ +@%:@undef STDC_HEADERS]) +m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_DIRENT_H], [/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR\'. + */ +@%:@undef HAVE_DIRENT_H]) +m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_SYS_NDIR_H], [/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR\'. + */ +@%:@undef HAVE_SYS_NDIR_H]) +m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_SYS_DIR_H], [/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR\'. + */ +@%:@undef HAVE_SYS_DIR_H]) +m4trace:configure.ac:32: -1- AH_OUTPUT([HAVE_NDIR_H], [/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR\'. */ +@%:@undef HAVE_NDIR_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */ +@%:@undef HAVE_STDINT_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */ +@%:@undef HAVE_UNISTD_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_WINDOWS_H], [/* Define to 1 if you have the <windows.h> header file. */ +@%:@undef HAVE_WINDOWS_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_SYS_INT_TYPES_H], [/* Define to 1 if you have the <sys/int_types.h> header file. */ +@%:@undef HAVE_SYS_INT_TYPES_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */ +@%:@undef HAVE_SYS_TYPES_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */ +@%:@undef HAVE_SYS_STAT_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */ +@%:@undef HAVE_STDLIB_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */ +@%:@undef HAVE_STRING_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */ +@%:@undef HAVE_MEMORY_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */ +@%:@undef HAVE_STRINGS_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */ +@%:@undef HAVE_INTTYPES_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */ +@%:@undef HAVE_STDINT_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */ +@%:@undef HAVE_UNISTD_H]) +m4trace:configure.ac:34: -1- AH_OUTPUT([HAVE_WINNT_H], [/* Define to 1 if you have the <winnt.h> header file. */ +@%:@undef HAVE_WINNT_H]) +m4trace:configure.ac:34: -1- AH_OUTPUT([HAVE_WINBASE_H], [/* Define to 1 if you have the <winbase.h> header file. */ +@%:@undef HAVE_WINBASE_H]) +m4trace:configure.ac:35: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */ +@%:@undef HAVE_SYS_TYPES_H]) +m4trace:configure.ac:35: -1- AH_OUTPUT([HAVE_SYS_MMAN_H], [/* Define to 1 if you have the <sys/mman.h> header file. */ +@%:@undef HAVE_SYS_MMAN_H]) +m4trace:configure.ac:35: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */ +@%:@undef HAVE_SYS_STAT_H]) +m4trace:configure.ac:35: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */ +@%:@undef HAVE_SYS_PARAM_H]) +m4trace:configure.ac:36: -1- AH_OUTPUT([HAVE_IO_H], [/* Define to 1 if you have the <io.h> header file. */ +@%:@undef HAVE_IO_H]) +m4trace:configure.ac:36: -1- AH_OUTPUT([HAVE_DIRECT_H], [/* Define to 1 if you have the <direct.h> header file. */ +@%:@undef HAVE_DIRECT_H]) +m4trace:configure.ac:36: -1- AH_OUTPUT([HAVE_BYTESWAP_H], [/* Define to 1 if you have the <byteswap.h> header file. */ +@%:@undef HAVE_BYTESWAP_H]) +m4trace:configure.ac:37: -1- AH_OUTPUT([HAVE_FNMATCH_H], [/* Define to 1 if you have the <fnmatch.h> header file. */ +@%:@undef HAVE_FNMATCH_H]) +m4trace:configure.ac:37: -1- AC_DEFINE_TRACE_LITERAL([HAVE_FNMATCH_H]) +m4trace:configure.ac:37: -1- m4_pattern_allow([^HAVE_FNMATCH_H$]) +m4trace:configure.ac:47: -1- AC_SUBST([ZZIPLIB_DEFINES]) +m4trace:configure.ac:47: -1- AC_SUBST_TRACE([ZZIPLIB_DEFINES]) +m4trace:configure.ac:47: -1- m4_pattern_allow([^ZZIPLIB_DEFINES$]) +m4trace:configure.ac:49: -1- AC_DEFINE_TRACE_LITERAL([_FILE_OFFSET_BITS]) +m4trace:configure.ac:49: -1- m4_pattern_allow([^_FILE_OFFSET_BITS$]) +m4trace:configure.ac:49: -1- AH_OUTPUT([_FILE_OFFSET_BITS], [/* Number of bits in a file offset, on hosts where this is settable. */ +@%:@undef _FILE_OFFSET_BITS]) +m4trace:configure.ac:49: -1- AC_DEFINE_TRACE_LITERAL([_LARGE_FILES]) +m4trace:configure.ac:49: -1- m4_pattern_allow([^_LARGE_FILES$]) +m4trace:configure.ac:49: -1- AH_OUTPUT([_LARGE_FILES], [/* Define for large files, on AIX-style hosts. */ +@%:@undef _LARGE_FILES]) +m4trace:configure.ac:49: -1- AH_OUTPUT([_DARWIN_USE_64_BIT_INODE], [/* Enable large inode numbers on Mac OS X 10.5. */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif]) +m4trace:configure.ac:49: -1- AC_DEFINE_TRACE_LITERAL([LARGEFILE_SENSITIVE]) +m4trace:configure.ac:49: -1- m4_pattern_allow([^LARGEFILE_SENSITIVE$]) +m4trace:configure.ac:49: -1- AH_OUTPUT([LARGEFILE_SENSITIVE], [/* whether the system defaults to 32bit off_t but can do 64bit when requested + */ +@%:@undef LARGEFILE_SENSITIVE]) +m4trace:configure.ac:50: -1- AC_DEFINE_TRACE_LITERAL([_LARGEFILE_SOURCE]) +m4trace:configure.ac:50: -1- m4_pattern_allow([^_LARGEFILE_SOURCE$]) +m4trace:configure.ac:50: -1- AH_OUTPUT([_LARGEFILE_SOURCE], [/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ +@%:@undef _LARGEFILE_SOURCE]) +m4trace:configure.ac:50: -1- AC_DEFINE_TRACE_LITERAL([HAVE_FSEEKO]) +m4trace:configure.ac:50: -1- m4_pattern_allow([^HAVE_FSEEKO$]) +m4trace:configure.ac:50: -1- AH_OUTPUT([HAVE_FSEEKO], [/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ +@%:@undef HAVE_FSEEKO]) +m4trace:configure.ac:53: -1- AH_OUTPUT([inline], [/* 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]) +m4trace:configure.ac:54: -1- AC_DEFINE_TRACE_LITERAL([const]) +m4trace:configure.ac:54: -1- m4_pattern_allow([^const$]) +m4trace:configure.ac:54: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */ +@%:@undef const]) +m4trace:configure.ac:55: -1- AH_OUTPUT([restrict], [/* Define to the equivalent of the C99 \'restrict\' keyword, or to + nothing if this is not supported. Do not define if restrict is + supported directly. */ +#undef restrict +/* Work around a bug in Sun C++: it does not support _Restrict or + __restrict__, even though the corresponding Sun C compiler ends up with + "#define restrict _Restrict" or "#define restrict __restrict__" in the + previous line. Perhaps some future version of Sun C++ will work with + restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ +#if defined __SUNPRO_CC && !defined __RESTRICT +# define _Restrict +# define __restrict__ +#endif]) +m4trace:configure.ac:55: -1- AC_DEFINE_TRACE_LITERAL([restrict]) +m4trace:configure.ac:55: -1- m4_pattern_allow([^restrict$]) +m4trace:configure.ac:55: -1- AC_DEFINE_TRACE_LITERAL([restrict]) +m4trace:configure.ac:55: -1- m4_pattern_allow([^restrict$]) +m4trace:configure.ac:56: -1- AC_DEFINE_TRACE_LITERAL([size_t]) +m4trace:configure.ac:56: -1- m4_pattern_allow([^size_t$]) +m4trace:configure.ac:56: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */ +@%:@undef size_t]) +m4trace:configure.ac:57: -1- AC_DEFINE_TRACE_LITERAL([ssize_t]) +m4trace:configure.ac:57: -1- m4_pattern_allow([^ssize_t$]) +m4trace:configure.ac:57: -1- AH_OUTPUT([ssize_t], [/* Define to `int\' if <sys/types.h> does not define. */ +@%:@undef ssize_t]) +m4trace:configure.ac:58: -1- AC_DEFINE_TRACE_LITERAL([off64_t]) +m4trace:configure.ac:58: -1- m4_pattern_allow([^off64_t$]) +m4trace:configure.ac:58: -1- AH_OUTPUT([off64_t], [/* Define to `_zzip_off_t\' if <sys/types.h> does not define. */ +@%:@undef off64_t]) +m4trace:configure.ac:59: -1- AC_DEFINE_TRACE_LITERAL([__int64]) +m4trace:configure.ac:59: -1- m4_pattern_allow([^__int64$]) +m4trace:configure.ac:59: -1- AH_OUTPUT([__int64], [/* Define to `long long\' if <sys/types.h> does not define. */ +@%:@undef __int64]) +m4trace:configure.ac:60: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SHORT]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^SIZEOF_SHORT$]) +m4trace:configure.ac:60: -1- AH_OUTPUT([SIZEOF_SHORT], [/* The size of `short\', as computed by sizeof. */ +@%:@undef SIZEOF_SHORT]) +m4trace:configure.ac:61: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT]) +m4trace:configure.ac:61: -1- m4_pattern_allow([^SIZEOF_INT$]) +m4trace:configure.ac:61: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of `int\', as computed by sizeof. */ +@%:@undef SIZEOF_INT]) +m4trace:configure.ac:62: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG]) +m4trace:configure.ac:62: -1- m4_pattern_allow([^SIZEOF_LONG$]) +m4trace:configure.ac:62: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of `long\', as computed by sizeof. */ +@%:@undef SIZEOF_LONG]) +m4trace:configure.ac:63: -1- AH_OUTPUT([WORDS_BIGENDIAN], [/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# undef WORDS_BIGENDIAN +# endif +#endif]) +m4trace:configure.ac:63: -1- AC_DEFINE_TRACE_LITERAL([WORDS_BIGENDIAN]) +m4trace:configure.ac:63: -1- m4_pattern_allow([^WORDS_BIGENDIAN$]) +m4trace:configure.ac:63: -1- AC_DEFINE_TRACE_LITERAL([AC_APPLE_UNIVERSAL_BUILD]) +m4trace:configure.ac:63: -1- m4_pattern_allow([^AC_APPLE_UNIVERSAL_BUILD$]) +m4trace:configure.ac:63: -1- AH_OUTPUT([AC_APPLE_UNIVERSAL_BUILD], [/* Define if building universal (internal helper macro) */ +@%:@undef AC_APPLE_UNIVERSAL_BUILD]) +m4trace:configure.ac:64: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALIGNED_ACCESS_REQUIRED]) +m4trace:configure.ac:64: -1- m4_pattern_allow([^HAVE_ALIGNED_ACCESS_REQUIRED$]) +m4trace:configure.ac:64: -1- AH_OUTPUT([HAVE_ALIGNED_ACCESS_REQUIRED], [/* Define if pointers to integers require aligned access */ +@%:@undef HAVE_ALIGNED_ACCESS_REQUIRED]) +m4trace:configure.ac:67: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */ +@%:@undef HAVE_STRCASECMP]) +m4trace:configure.ac:67: -1- AH_OUTPUT([HAVE_STRNDUP], [/* Define to 1 if you have the `strndup\' function. */ +@%:@undef HAVE_STRNDUP]) +m4trace:configure.ac:69: -1- AC_SUBST([ZLIB_INCLUDES]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([ZLIB_INCLUDES]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^ZLIB_INCLUDES$]) +m4trace:configure.ac:69: -1- AC_SUBST([ZLIB_LIBS]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([ZLIB_LIBS]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^ZLIB_LIBS$]) +m4trace:configure.ac:69: -1- AC_SUBST([ZLIB_DEPEND]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([ZLIB_DEPEND]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^ZLIB_DEPEND$]) +m4trace:configure.ac:69: -1- AC_SUBST([ZLIB_RULE]) +m4trace:configure.ac:69: -1- AC_SUBST_TRACE([ZLIB_RULE]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^ZLIB_RULE$]) +m4trace:configure.ac:69: -1- _AM_SUBST_NOTMAKE([ZLIB_RULE]) +m4trace:configure.ac:69: -1- AC_DEFINE_TRACE_LITERAL([ZLIB_CONST]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^ZLIB_CONST$]) +m4trace:configure.ac:69: -1- AH_OUTPUT([ZLIB_CONST], [/* Define to 1 if <zlib.h> declares \'z_const\'. */ +@%:@undef ZLIB_CONST]) +m4trace:configure.ac:69: -1- AC_DEFINE_TRACE_LITERAL([z_const]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^z_const$]) +m4trace:configure.ac:69: -1- AH_OUTPUT([z_const], [/* Define as empty if not declared in <zlib.h>. */ +@%:@undef z_const]) +m4trace:configure.ac:71: -1- AM_CONDITIONAL([build], [test "x$enable_build" != xno]) +m4trace:configure.ac:71: -1- AC_SUBST([build_TRUE]) +m4trace:configure.ac:71: -1- AC_SUBST_TRACE([build_TRUE]) +m4trace:configure.ac:71: -1- m4_pattern_allow([^build_TRUE$]) +m4trace:configure.ac:71: -1- AC_SUBST([build_FALSE]) +m4trace:configure.ac:71: -1- AC_SUBST_TRACE([build_FALSE]) +m4trace:configure.ac:71: -1- m4_pattern_allow([^build_FALSE$]) +m4trace:configure.ac:71: -1- _AM_SUBST_NOTMAKE([build_TRUE]) +m4trace:configure.ac:71: -1- _AM_SUBST_NOTMAKE([build_FALSE]) +m4trace:configure.ac:76: -1- AH_OUTPUT([HAVE_ZLIB_H], [/* Define to 1 if you have the <zlib.h> header file. */ +@%:@undef HAVE_ZLIB_H]) +m4trace:configure.ac:76: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ZLIB_H]) +m4trace:configure.ac:76: -1- m4_pattern_allow([^HAVE_ZLIB_H$]) +m4trace:configure.ac:77: -1- _m4_warn([obsolete], [The macro `AC_ERROR' is obsolete. +You should run autoupdate.], [../../lib/autoconf/oldnames.m4:34: AC_ERROR is expanded from... +../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... +../../lib/autoconf/functions.m4:59: AC_CHECK_FUNC is expanded from... +configure.ac:77: the top level]) +m4trace:configure.ac:83: -1- AC_SUBST([ZZIPLIB_TREE], [zziplib-src]) +m4trace:configure.ac:83: -1- AC_SUBST_TRACE([ZZIPLIB_TREE]) +m4trace:configure.ac:83: -1- m4_pattern_allow([^ZZIPLIB_TREE$]) +m4trace:configure.ac:89: -1- AC_CONFIG_HEADERS([config.h]) +m4trace:configure.ac:93: -1- AC_CONFIG_FILES([Makefile include/zzip/Makefile]) +m4trace:configure.ac:95: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) +m4trace:configure.ac:95: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:95: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:95: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) +m4trace:configure.ac:95: -1- AC_SUBST_TRACE([LTLIBOBJS]) +m4trace:configure.ac:95: -1- m4_pattern_allow([^LTLIBOBJS$]) +m4trace:configure.ac:95: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"]) +m4trace:configure.ac:95: -1- AC_SUBST([am__EXEEXT_TRUE]) +m4trace:configure.ac:95: -1- AC_SUBST_TRACE([am__EXEEXT_TRUE]) +m4trace:configure.ac:95: -1- m4_pattern_allow([^am__EXEEXT_TRUE$]) +m4trace:configure.ac:95: -1- AC_SUBST([am__EXEEXT_FALSE]) +m4trace:configure.ac:95: -1- AC_SUBST_TRACE([am__EXEEXT_FALSE]) +m4trace:configure.ac:95: -1- m4_pattern_allow([^am__EXEEXT_FALSE$]) +m4trace:configure.ac:95: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE]) +m4trace:configure.ac:95: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE]) +m4trace:configure.ac:95: -1- AC_SUBST_TRACE([top_builddir]) +m4trace:configure.ac:95: -1- AC_SUBST_TRACE([top_build_prefix]) +m4trace:configure.ac:95: -1- AC_SUBST_TRACE([srcdir]) +m4trace:configure.ac:95: -1- AC_SUBST_TRACE([abs_srcdir]) +m4trace:configure.ac:95: -1- AC_SUBST_TRACE([top_srcdir]) +m4trace:configure.ac:95: -1- AC_SUBST_TRACE([abs_top_srcdir]) +m4trace:configure.ac:95: -1- AC_SUBST_TRACE([builddir]) +m4trace:configure.ac:95: -1- AC_SUBST_TRACE([abs_builddir]) +m4trace:configure.ac:95: -1- AC_SUBST_TRACE([abs_top_builddir]) +m4trace:configure.ac:95: -1- AC_SUBST_TRACE([INSTALL]) +m4trace:configure.ac:95: -1- AC_SUBST_TRACE([MKDIR_P]) diff --git a/source/libs/zziplib/configure b/source/libs/zziplib/configure index 694fa96c4..5aba5f6e0 100755 --- a/source/libs/zziplib/configure +++ b/source/libs/zziplib/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for zziplib (TeX Live) 0.13.66. +# Generated by GNU Autoconf 2.69 for zziplib (TeX Live) 0.13.68. # # Report bugs to <tex-k@tug.org>. # @@ -580,8 +580,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='zziplib (TeX Live)' PACKAGE_TARNAME='zziplib--tex-live-' -PACKAGE_VERSION='0.13.66' -PACKAGE_STRING='zziplib (TeX Live) 0.13.66' +PACKAGE_VERSION='0.13.68' +PACKAGE_STRING='zziplib (TeX Live) 0.13.68' PACKAGE_BUGREPORT='tex-k@tug.org' PACKAGE_URL='' @@ -1295,7 +1295,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures zziplib (TeX Live) 0.13.66 to adapt to many kinds of systems. +\`configure' configures zziplib (TeX Live) 0.13.68 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1366,7 +1366,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of zziplib (TeX Live) 0.13.66:";; + short | recursive ) echo "Configuration of zziplib (TeX Live) 0.13.68:";; esac cat <<\_ACEOF @@ -1472,7 +1472,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -zziplib (TeX Live) configure 0.13.66 +zziplib (TeX Live) configure 0.13.68 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2078,7 +2078,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by zziplib (TeX Live) $as_me 0.13.66, which was +It was created by zziplib (TeX Live) $as_me 0.13.68, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -4001,7 +4001,7 @@ fi # Define the identity of the package. PACKAGE='zziplib--tex-live-' - VERSION='0.13.66' + VERSION='0.13.68' cat >>confdefs.h <<_ACEOF @@ -7366,7 +7366,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by zziplib (TeX Live) $as_me 0.13.66, which was +This file was extended by zziplib (TeX Live) $as_me 0.13.68, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -7432,7 +7432,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -zziplib (TeX Live) config.status 0.13.66 +zziplib (TeX Live) config.status 0.13.68 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/source/libs/zziplib/m4/ac_sys_largefile_sensitive.m4 b/source/libs/zziplib/m4/ac_sys_largefile_sensitive.m4 index 235c7f9ac..6a296df52 100644 --- a/source/libs/zziplib/m4/ac_sys_largefile_sensitive.m4 +++ b/source/libs/zziplib/m4/ac_sys_largefile_sensitive.m4 @@ -8,7 +8,7 @@ dnl dnl This macro builds on top of AC_SYS_LARGEFILE to detect whether dnl special options are neede to make the code use 64bit off_t - in dnl many setups this will also make the code use 64bit off_t -dnl immediatly. +dnl immediately. dnl dnl The common use of a LARGEFILE_SENSITIVE config.h-define is to dnl rename exported functions, usually adding a 64 to the original diff --git a/source/libs/zziplib/version.ac b/source/libs/zziplib/version.ac index e584f3595..4c43b2704 100644 --- a/source/libs/zziplib/version.ac +++ b/source/libs/zziplib/version.ac @@ -8,4 +8,4 @@ dnl dnl -------------------------------------------------------- dnl dnl m4-include this file to define the current zziplib version -m4_define([zziplib_version], [0.13.66]) +m4_define([zziplib_version], [0.13.68]) diff --git a/source/libs/zziplib/zziplib-src/ChangeLog b/source/libs/zziplib/zziplib-src/ChangeLog index bb4ec6af0..cde096b93 100644 --- a/source/libs/zziplib/zziplib-src/ChangeLog +++ b/source/libs/zziplib/zziplib-src/ChangeLog @@ -1,3 +1,15 @@ +2018-02-02 guidod <guidod@gmx.de> + * fix a number of CVEs reported with special *.zip files + * the testsuite has been expanded to cover all the CVEs + * some minor doc updates referencing GitHub instead of sf.net + * release v0.13.68 + +2017-06-11 guidod <guidod@gmx.de> + * fix portability issues by introducing <zzip/__errno.h> + * fix portability issues by introducing <zzip/__mkdir.h> + * fix portability issues by introducing <zzip/__string.h> for strndup + * reuse portability header <zzip/__fnmatch.h> in bins/*.c + * release v0.13.67 2017-04-24 guidod <guidod@gmx.de> * common frontend 'unzzip.c' for example code in unzzip*-xx.c @@ -228,7 +240,7 @@ * zzip/file.c: errornous usage of currentfp before setting it to the new fp value in zzip_seek(). In the good case it would seek on the wrong file and in the bad case it goes off on sigbus/NPE. - The problem occurs only if two+ zips are accessed simultanously. + The problem occurs only if two+ zips are accessed simultaneously. (problem reported and patch kindly provided by Evgeniy Muhin) * docs/Makefile.am: fixup for newer xmlto may be to generate a subdirectory "man3" inside of our output directory "man3" @@ -435,7 +447,7 @@ * fixing some compilation problems related to zip64 support in win32 2005-12-08 - * cut acinclude.m4 into seperated aclocal macros in m4/ subdirectory + * cut acinclude.m4 into separated aclocal macros in m4/ subdirectory 2005-10-14 * testing on sourceforge compilefarm, cleaning away any compiler warnings @@ -783,7 +795,7 @@ within plugin.h for io->read() calls. That makes for a little bit of portability - it seems some platforms (dot-net f.e.) do not `typedef unsigned int size_t;`, perhaps because int is 16bit - and a 32bit or even 64bit entitity is needed. + and a 32bit or even 64bit entity is needed. * now we do not need to AC_COMPILE_CHECK_SIZEOF(size_t) anymore, perhaps even stand io-wrap is not needed anymore. Let's see. * both changes need update of zzip/conf.h for _zzip_size_t plus @@ -854,7 +866,7 @@ a backslash as well. That should be handled better, we add some alternative implementations for dirsep_strrchr and dirsep_casecmp but the default is OFF!! even on WINDOWS !! - * thereby seen another problem: we did deliberatly use strcasecmp but + * thereby seen another problem: we did deliberately use strcasecmp but this symbol is not available on all unix systems - the manual says its a BSD4.3 addition. Some other systems call it strcmpi or stricmp instead, or they do not have it at all. Here we add @@ -942,7 +954,7 @@ * fix some problems of make-doc.pl with the current project * make a standard inlude info referring to zziplib.h as well * unpack htmpages.ar on SFNET and register it on the frontpage - * dont forget to modify includes of internal headers + * don't forget to modify includes of internal headers * ... * fixed an annoying bug in make-doc.pl * include htmpages.ar into the tarball @@ -951,7 +963,7 @@ * completed new directory structure - the library is called 0.12.22 as to match 0.10.72, it's the same C source in its content * install-headers modified - the new structure is now compatible both - as a shared libary (binary compatible) and for the include headers + as a shared library (binary compatible) and for the include headers too - source compatible not only for function names but also for the #include lines * 0.12.23 fixes a bug in make doc: the xmlto html was never done. @@ -1096,7 +1108,7 @@ * Michael-dot-Fink-at-asamnet-dot-de did some code review while going after a specialty he wanted to do with the libs, and therefore.. * PREFERZIP did never test real file - stupid bug, inverted logic.... - * add ZIPONLY zzipmode - we have plenty of options availabe... on 32bit + * add ZIPONLY zzipmode - we have plenty of options available... on 32bit platforms however, since I want to keep with the access-bits in the lower parts. @@ -1155,7 +1167,7 @@ and two fixes * put the updated MSVC6 files into the project, again Mike Nordell * me, add new zzwrap.dsp to DIST in Makefile.am, following Mike's addition - * me, modify some typecasts to use off_t/size_t where apropriate + * me, modify some typecasts to use off_t/size_t where appropriate * modified COPYING.ZZIP to be a bit more general than just for ZZIPLIB as noted by Tomi Olilla * zzipwrap demo_callback, how can we do void* and char* at the same time... @@ -1173,7 +1185,7 @@ * add a new file COPYING for new less-strictly license after Tomi Ollila has transferred full copyright to me * remove Tomi Ollila from all copyright entries in the sources - but honour his name where apropriate + but honour his name where appropriate * modify LGPL hints in sources and point to COPYING.ZZIP as well and change copyright year info * create COPYING.ZZIP with some general LGPL exceptions. @@ -1395,7 +1407,7 @@ * two new functions, zzip_dir_real and zzip_file_real to check if the ZZIP_XX structures are wrapping a real file or directory. Otherwise it is a zip-archive - or a zip-contained file respectivly. + or a zip-contained file respectively. * zzip_compr_str does now know about stat-types and will return names for S_ISTYPE bits. * remove zzip_fd. It was identical to zzip_dirfd @@ -1503,7 +1515,7 @@ Tomi did. * bugfixes for zzip_open, it did not always set errno(2) to the value of zzip_errno. - * The zzip_read is now seperate from + * The zzip_read is now separate from zzip_fp_read, so that setting errno(2) is only done in zzip_read, not in the zzip-touching function. diff --git a/source/libs/zziplib/zziplib-src/Makefile.am b/source/libs/zziplib/zziplib-src/Makefile.am index d77f5f812..c54b2ccb4 100644 --- a/source/libs/zziplib/zziplib-src/Makefile.am +++ b/source/libs/zziplib/zziplib-src/Makefile.am @@ -77,6 +77,8 @@ check-zzxor check-zzxordir check-zzxorcat \ check-sfx check-readme check-tests tests: (cd test && $(MAKE) `basename $@`) +test_%: ; cd test && $(MAKE) `basename $@` + MSVC8 = msvc8/README.TXT msvc8/zip.exe msvc8/test1.zip msvc8/test.zip \ msvc8/zzdir.vcproj msvc8/zzipself.vcproj msvc8/zzip.vcproj \ msvc8/zziplib.sln msvc8/zzipsetstub.sln msvc8/zzobfuscated.sln \ diff --git a/source/libs/zziplib/zziplib-src/Makefile.in b/source/libs/zziplib/zziplib-src/Makefile.in index cd3632a35..9e9fd870b 100644 --- a/source/libs/zziplib/zziplib-src/Makefile.in +++ b/source/libs/zziplib/zziplib-src/Makefile.in @@ -951,6 +951,8 @@ check-test0 check-test1 check-zzdir check-zzcat \ check-zzxor check-zzxordir check-zzxorcat \ check-sfx check-readme check-tests tests: (cd test && $(MAKE) `basename $@`) + +test_%: ; cd test && $(MAKE) `basename $@` # ------------------------------------------------------------------------ test-comp: diff --git a/source/libs/zziplib/zziplib-src/README b/source/libs/zziplib/zziplib-src/README index 5668eda04..22868fa95 100644 --- a/source/libs/zziplib/zziplib-src/README +++ b/source/libs/zziplib/zziplib-src/README @@ -24,11 +24,12 @@ LICENSING special (paid) licenses can be negotiated with the copyright holder. HOMEPAGE - The zziplib project is hosted at SourceForge, the complete - documentation can be found at http://zziplib.sf.net - the - SourceForge servers are also used to distribute the sources - of the zziplib project. Releases are announced via the - freshmeat services on http://freshmeat.net/projects/zziplib + The zziplib project has moved to GitHub where you can find the + last release tags now => https://github.com/gdraheim/zziplib + The zziplib project was originally hosted at SourceForge with + the documentation at http://zziplib.sf.net - this is a bit + outdated but the API has not changed much since then. To get + the latest release announcements, watch the GitHub project. INSTALLATION The zziplib sources are built with gnu autotools and they should @@ -39,7 +40,7 @@ INSTALLATION VisualC series of compilers. There should be no problem either when crosscompiling the zziplib for a third host platform. -MAINTAINANCE +MAINTENANCE The zziplib library is intentionally a lightweight interface to zip files. The author take patches but please consider to put complex extensions into separate modules rather than implanting them diff --git a/source/libs/zziplib/zziplib-src/SDL/SDL_rwops_zzip.c b/source/libs/zziplib/zziplib-src/SDL/SDL_rwops_zzip.c new file mode 100644 index 000000000..b273a8114 --- /dev/null +++ b/source/libs/zziplib/zziplib-src/SDL/SDL_rwops_zzip.c @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2001 Guido Draheim <guidod@gmx.de> + * Use freely under the restrictions of the ZLIB License + * + * (this example uses errno which might not be multithreaded everywhere) + */ + +#include <SDL_rwops_zzip.h> +#include <zzip/zzip.h> +#include <string.h> /* strchr */ + +/* MSVC can not take a casted variable as an lvalue ! */ +#define SDL_RWOPS_ZZIP_DATA(_context) \ + ((_context)->hidden.unknown.data1) +#define SDL_RWOPS_ZZIP_FILE(_context) (ZZIP_FILE*) \ + ((_context)->hidden.unknown.data1) + +static int _zzip_seek(SDL_RWops *context, int offset, int whence) +{ + return zzip_seek(SDL_RWOPS_ZZIP_FILE(context), offset, whence); +} + +static int _zzip_read(SDL_RWops *context, void *ptr, int size, int maxnum) +{ + return zzip_read(SDL_RWOPS_ZZIP_FILE(context), ptr, size*maxnum) / size; +} + +static int _zzip_write(SDL_RWops *context, const void *ptr, int size, int num) +{ + return 0; /* ignored */ +} + +static int _zzip_close(SDL_RWops *context) +{ + if (! context) return 0; /* may be SDL_RWclose is called by atexit */ + + zzip_close (SDL_RWOPS_ZZIP_FILE(context)); + SDL_FreeRW (context); + return 0; +} + +SDL_RWops *SDL_RWFromZZIP(const char* file, const char* mode) +{ + register SDL_RWops* rwops; + register ZZIP_FILE* zzip_file; + + if (! strchr (mode, 'r')) + return SDL_RWFromFile(file, mode); + + zzip_file = zzip_fopen (file, mode); + if (! zzip_file) return 0; + + rwops = SDL_AllocRW (); + if (! rwops) { errno=ENOMEM; zzip_close (zzip_file); return 0; } + + SDL_RWOPS_ZZIP_DATA(rwops) = zzip_file; + rwops->read = _zzip_read; + rwops->write = _zzip_write; + rwops->seek = _zzip_seek; + rwops->close = _zzip_close; + return rwops; +} diff --git a/source/libs/zziplib/zziplib-src/SDL/SDL_rwops_zzip.pc b/source/libs/zziplib/zziplib-src/SDL/SDL_rwops_zzip.pc index 7570e01e6..823944ef6 100644 --- a/source/libs/zziplib/zziplib-src/SDL/SDL_rwops_zzip.pc +++ b/source/libs/zziplib/zziplib-src/SDL/SDL_rwops_zzip.pc @@ -2,7 +2,7 @@ prefix=/usr/local zzipsdldir=/usr/local/include/SDL_rwops_zzip Name: SDL_rwops_zzip -Version: 0.13.62 +Version: 0.13.68 Description: SDL_rwops for ZZipLib Requires: sdl, zziplib Cflags: -I${zzipsdldir} diff --git a/source/libs/zziplib/zziplib-src/SDL/zzip-sdl-config.pc b/source/libs/zziplib/zziplib-src/SDL/zzip-sdl-config.pc deleted file mode 100644 index 46a06a97c..000000000 --- a/source/libs/zziplib/zziplib-src/SDL/zzip-sdl-config.pc +++ /dev/null @@ -1,10 +0,0 @@ -prefix=/usr -sdl_static_libs=-L/usr/lib -lSDL -lpthread -lm -ldl -lasound -laudio -lXt -L/usr/X11R6/lib -lX11 -lXext -sdl_libs=-L/usr/lib -lSDL -lpthread -sdl_cflags=-I/usr/include/SDL -D_REENTRANT - -Name: zzip-sdl-config -Version: 1.2.5 -Description: SDL Config (for ZZipLib) -Libs: ${sdl_libs} -Cflags: ${sdl_cflags} diff --git a/source/libs/zziplib/zziplib-src/SDL/zzip-sdl-rwops.pc b/source/libs/zziplib/zziplib-src/SDL/zzip-sdl-rwops.pc deleted file mode 100644 index 6a4b1d043..000000000 --- a/source/libs/zziplib/zziplib-src/SDL/zzip-sdl-rwops.pc +++ /dev/null @@ -1,8 +0,0 @@ -zzipdatadir=/usr/local/share/zziplib -zzipsdlrwops=${zzipdatadir}/SDL - -Name: zzip-sdl-rwops -Version: 0.13.24 -Description: SDL_rwops for ZZipLib -Requires: zzip-sdl-config, zziplib -Cflags: -I${zzipsdlrwops} diff --git a/source/libs/zziplib/zziplib-src/TODO b/source/libs/zziplib/zziplib-src/TODO index bda20cdc4..c7da3bcae 100644 --- a/source/libs/zziplib/zziplib-src/TODO +++ b/source/libs/zziplib/zziplib-src/TODO @@ -45,7 +45,7 @@ libtool package, the libtool 1.4 is dated 2001/04/24 There are reports of misaligned access to some zip fields that I would guess to be on little-endian non-x86 platforms. The current -bytewise access of multibyte fields is targetted towards the +bytewise access of multibyte fields is targeted towards the bigendian unix machines. The fix would need to go to fetch.h but so far no response came about as that one could test a solution. diff --git a/source/libs/zziplib/zziplib-src/bins/Makefile.am b/source/libs/zziplib/zziplib-src/bins/Makefile.am index f88c52b42..9483dc9c9 100644 --- a/source/libs/zziplib/zziplib-src/bins/Makefile.am +++ b/source/libs/zziplib/zziplib-src/bins/Makefile.am @@ -16,10 +16,10 @@ THREAD_SAFE=@THREAD_SAFE@ WCC10_CLEAN = *.obj *.lk1 *.mk1 *.mk *.sym *.tgt -EXTRA_DIST = $(aclocal_DATA) unzzip.h +noinst_HEADERS = unzzipdir-zip.h unzzipcat-zip.h unzzip-states.h zzipmake-zip.h +EXTRA_DIST = $(aclocal_DATA) $(noinst_HEADERS) CLEANFILES = $(WCC10_CLEAN) -zzip_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz zziptest_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz zzcat_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz zzdir_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz @@ -27,6 +27,9 @@ zzxorcat_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz zzxordir_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz zzobfuscated_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz +zzip_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz +zzip_SOURCES = zzip.c zzipmake-zip.c + unzzip_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz unzzip_SOURCES = unzzip.c unzzipcat-zip.c unzzipdir-zip.c unzzip_mix_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz diff --git a/source/libs/zziplib/zziplib-src/bins/Makefile.in b/source/libs/zziplib/zziplib-src/bins/Makefile.in index a2ce8069d..a37d61184 100644 --- a/source/libs/zziplib/zziplib-src/bins/Makefile.in +++ b/source/libs/zziplib/zziplib-src/bins/Makefile.in @@ -15,6 +15,7 @@ @SET_MAKE@ + VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ @@ -88,7 +89,8 @@ noinst_PROGRAMS = zziptest$(EXEEXT) zzobfuscated$(EXEEXT) \ zzip$(EXEEXT) subdir = bins DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/uses/mkinstalldirs $(top_srcdir)/uses/depcomp + $(top_srcdir)/uses/mkinstalldirs $(top_srcdir)/uses/depcomp \ + $(noinst_HEADERS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_compile_check_sizeof.m4 \ $(top_srcdir)/m4/ac_set_default_paths_system.m4 \ @@ -156,8 +158,8 @@ zzcat_DEPENDENCIES = ../zzip/libzzip.la zzdir_SOURCES = zzdir.c zzdir_OBJECTS = zzdir.$(OBJEXT) zzdir_DEPENDENCIES = ../zzip/libzzip.la -zzip_SOURCES = zzip.c -zzip_OBJECTS = zzip.$(OBJEXT) +am_zzip_OBJECTS = zzip.$(OBJEXT) zzipmake-zip.$(OBJEXT) +zzip_OBJECTS = $(am_zzip_OBJECTS) zzip_DEPENDENCIES = ../zzip/libzzip.la zziptest_SOURCES = zziptest.c zziptest_OBJECTS = zziptest.$(OBJEXT) @@ -209,12 +211,12 @@ am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = unzip-mem.c $(unzzip_SOURCES) $(unzzip_big_SOURCES) \ $(unzzip_mem_SOURCES) $(unzzip_mix_SOURCES) zzcat.c zzdir.c \ - zzip.c zziptest.c zzobfuscated.c zzxorcat.c zzxorcopy.c \ - zzxordir.c + $(zzip_SOURCES) zziptest.c zzobfuscated.c zzxorcat.c \ + zzxorcopy.c zzxordir.c DIST_SOURCES = unzip-mem.c $(unzzip_SOURCES) $(unzzip_big_SOURCES) \ $(unzzip_mem_SOURCES) $(unzzip_mix_SOURCES) zzcat.c zzdir.c \ - zzip.c zziptest.c zzobfuscated.c zzxorcat.c zzxorcopy.c \ - zzxordir.c + $(zzip_SOURCES) zziptest.c zzobfuscated.c zzxorcat.c \ + zzxorcopy.c zzxordir.c am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -248,6 +250,7 @@ am__uninstall_files_from_dir = { \ $(am__cd) "$$dir" && rm -f $$files; }; \ } DATA = $(aclocal_DATA) +HEADERS = $(noinst_HEADERS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is @@ -423,15 +426,17 @@ DEFAULT_INCLUDES = # nothing - no default of -I. -I$(srcdir) aclocal_DATA = zziplib.m4 # WCC10_CLEAN = *.obj *.lk1 *.mk1 *.mk *.sym *.tgt -EXTRA_DIST = $(aclocal_DATA) unzzip.h +noinst_HEADERS = unzzipdir-zip.h unzzipcat-zip.h unzzip-states.h zzipmake-zip.h +EXTRA_DIST = $(aclocal_DATA) $(noinst_HEADERS) CLEANFILES = $(WCC10_CLEAN) -zzip_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz zziptest_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz zzcat_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz zzdir_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz zzxorcat_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz zzxordir_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz zzobfuscated_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz +zzip_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz +zzip_SOURCES = zzip.c zzipmake-zip.c unzzip_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz unzzip_SOURCES = unzzip.c unzzipcat-zip.c unzzipdir-zip.c unzzip_mix_LDADD = ../zzip/libzzip.la @RESOLVES@ -lz @@ -605,6 +610,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zzcat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zzdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zzip.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zzipmake-zip.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zziptest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zzobfuscated.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zzxorcat.Po@am__quote@ @@ -743,7 +749,7 @@ distdir: $(DISTFILES) done check-am: all-am check: check-am -all-am: Makefile $(PROGRAMS) $(DATA) +all-am: Makefile $(PROGRAMS) $(DATA) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(aclocaldir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ diff --git a/source/libs/zziplib/zziplib-src/bins/unzip-mem.c b/source/libs/zziplib/zziplib-src/bins/unzip-mem.c index 2660d3d6f..b20bf37d6 100644 --- a/source/libs/zziplib/zziplib-src/bins/unzip-mem.c +++ b/source/libs/zziplib/zziplib-src/bins/unzip-mem.c @@ -27,10 +27,6 @@ #define fnmatch(x,y,z) strcmp(x,y) #endif -#ifndef O_BINARY -#define O_BINARY 0 -#endif - #define ___ { #define ____ } diff --git a/source/libs/zziplib/zziplib-src/bins/unzzip-states.h b/source/libs/zziplib/zziplib-src/bins/unzzip-states.h new file mode 100644 index 000000000..55ea8c093 --- /dev/null +++ b/source/libs/zziplib/zziplib-src/bins/unzzip-states.h @@ -0,0 +1,24 @@ +#ifndef UNZZIP_STATES_H +#define UNZZIP_STATES_H + +/* DIAGNOSTICS according to the unzip(1) manpage */ + +#define EXIT_OK 0 +#define EXIT_WARNINGS 1 +#define EXIT_ERRORS 2 +#define EXIT_FILEFORMAT 3 +#define EXIT_ENOMEM 4 +#define EXIT_ENOTTY_FOR_PASSWORD 5 +#define EXIT_ENOMEM_ZIP_TO_DISK 6 +#define EXIT_ENOMEM_ZIP_TO_MEM 7 +#define EXIT_ZIP_NOT_FOUND 9 +#define EXIT_INVALID_OPTION 10 +#define EXIT_FILE_NOT_FOUND 11 +#define EXIT_DISKFULL 50 +#define EXIT_EARLY_END_OF_FILE 51 +#define EXIT_SIGTERM 80 +#define EXIT_UNSUPPORTED_COMPRESSION 81 +#define EXIT_WRONG_PASSWORD 82 + +#endif + diff --git a/source/libs/zziplib/zziplib-src/bins/unzzip.c b/source/libs/zziplib/zziplib-src/bins/unzzip.c index 90c2f9314..f91c5ebad 100644 --- a/source/libs/zziplib/zziplib-src/bins/unzzip.c +++ b/source/libs/zziplib/zziplib-src/bins/unzzip.c @@ -8,11 +8,9 @@ #include <zzip/zzip.h> #include <stdio.h> #include <string.h> -#include "unzzip.h" - -extern int unzzip_list(int argc, char** argv); -extern int unzzip_print(int argc, char** argv); -extern int unzzip_extract(int argc, char** argv); +#include "unzzipcat-zip.h" +#include "unzzipdir-zip.h" +#include "unzzip-states.h" static const char usage[] = { @@ -52,14 +50,14 @@ main (int argc, char ** argv) if (! strcmp (argv[1], "-l") || ! strcmp(argv[1], "--list")) { argc -= 1; argv += 1; - return unzzip_list(argc, argv); + return unzzip_show_list(argc, argv); } if (! strcmp (argv[1], "-v") || ! strcmp(argv[1], "--versions")) { if (argc == 2) return unzzip_version(); /* compatible with info-zip */ argc -= 1; argv += 1; - return unzzip_list(argc, argv); /* short format here */ + return unzzip_long_list(argc, argv); } if (! strcmp (argv[1], "-p") || ! strcmp(argv[1], "--pipe")) { @@ -70,7 +68,7 @@ main (int argc, char ** argv) if (! strcmp (argv[1], "-")) { fprintf(stderr, "unknown option %s", argv[1]); - return -1; + return EXIT_INVALID_OPTION; } return unzzip_extract(argc, argv); diff --git a/source/libs/zziplib/zziplib-src/bins/unzzipcat-big.c b/source/libs/zziplib/zziplib-src/bins/unzzipcat-big.c index 3774939aa..7ab6bad9b 100644 --- a/source/libs/zziplib/zziplib-src/bins/unzzipcat-big.c +++ b/source/libs/zziplib/zziplib-src/bins/unzzipcat-big.c @@ -8,27 +8,18 @@ #include <zzip/fseeko.h> #include <stdlib.h> #include <string.h> -#include "unzzip.h" - -#ifdef ZZIP_HAVE_FNMATCH_H -#include <fnmatch.h> -#else -#define fnmatch(x,y,z) strcmp(x,y) -#endif - -#ifndef O_BINARY -#define O_BINARY 0 -#endif - -#ifdef DEBUG -#define debug1(msg) do { fprintf(stderr, "%s : " msg "\n", __func__); } while(0) -#define debug2(msg, arg1) do { fprintf(stderr, "%s : " msg "\n", __func__, arg1); } while(0) -#define debug3(msg, arg1, arg2) do { fprintf(stderr, "%s : " msg "\n", __func__, arg1, arg2); } while(0) -#else -#define debug1(msg) -#define debug2(msg, arg1) -#define debug3(msg, arg1, arg2) -#endif +#include <sys/stat.h> +#include <zzip/__mkdir.h> +#include <zzip/__string.h> +#include <zzip/__debug.h> +#include <zzip/__fnmatch.h> +#include "unzzipcat-zip.h" +#include "unzzip-states.h" + +static int exitcode(int e) +{ + return EXIT_ERRORS; +} static void unzzip_big_entry_fprint(ZZIP_ENTRY* entry, FILE* out) { @@ -38,14 +29,14 @@ static void unzzip_big_entry_fprint(ZZIP_ENTRY* entry, FILE* out) char buffer[1024]; int len; while ((len = zzip_entry_fread (buffer, 1024, 1, file))) { - debug2("entry read %i", len); + DBG2("entry read %i", len); fwrite (buffer, len, 1, out); } - debug2("entry done %s", strerror(errno)); + DBG2("entry done %s", strerror(errno)); zzip_entry_fclose (file); } else { - debug2("could not open entry: %s", strerror(errno)); + DBG2("could not open entry: %s", strerror(errno)); } } @@ -62,21 +53,20 @@ static void unzzip_cat_file(FILE* disk, char* name, FILE* out) } } -#if !defined(ZZIP_HAVE_STRNDUP) -static char * -strndup(char *p, size_t maxlen) +static void makedirs(const char* name) { - char *r; - if (!p) - return NULL; - r = malloc(maxlen + 1); - if (!r) - return NULL; - strncpy(r, p, maxlen); - r[maxlen] = '\0'; - return r; + char* p = strrchr(name, '/'); + if (p) { + char* dir_name = _zzip_strndup(name, p-name); + makedirs(dir_name); + free (dir_name); + } + if (_zzip_mkdir(name, 0775) == -1 && errno != EEXIST) + { + DBG3("while mkdir %s : %s", name, strerror(errno)); + } + errno = 0; } -#endif static FILE* create_fopen(char* name, char* mode, int subdirs) { @@ -84,8 +74,8 @@ static FILE* create_fopen(char* name, char* mode, int subdirs) { char* p = strrchr(name, '/'); if (p) { - char* dir_name = strndup(name, p-name); - // makedirs(dir_name); // TODO + char* dir_name = _zzip_strndup(name, p-name); + makedirs(dir_name); free (dir_name); } } @@ -95,13 +85,14 @@ static FILE* create_fopen(char* name, char* mode, int subdirs) static int unzzip_cat (int argc, char ** argv, int extract) { + int done = 0; int argn; FILE* disk; disk = fopen (argv[1], "rb"); if (! disk) { perror(argv[1]); - return -1; + return exitcode(errno); } if (argc == 2) @@ -111,12 +102,20 @@ static int unzzip_cat (int argc, char ** argv, int extract) { char* name = zzip_entry_strdup_name (entry); FILE* out = stdout; + if (! name) { + done = EXIT_WARNINGS; + continue; + } if (extract) out = create_fopen(name, "wb", 1); + if (! out) { + if (errno != EISDIR) done = EXIT_ERRORS; + continue; + } unzzip_cat_file (disk, name, out); if (extract) fclose(out); free (name); } - return 0; + return done; } if (argc == 3 && !extract) @@ -135,12 +134,16 @@ static int unzzip_cat (int argc, char ** argv, int extract) for (; entry ; entry = zzip_entry_findnext(entry)) { char* name = zzip_entry_strdup_name (entry); - debug3(".. check '%s' to zip '%s'", argv[argn], name); - if (! fnmatch (argv[argn], name, - FNM_NOESCAPE|FNM_PATHNAME|FNM_PERIOD)) + DBG3(".. check '%s' to zip '%s'", argv[argn], name); + if (! _zzip_fnmatch (argv[argn], name, + FNM_NOESCAPE|FNM_PATHNAME|FNM_PERIOD)) { FILE* out = stdout; if (extract) out = create_fopen(name, "wb", 1); + if (! out) { + if (errno != EISDIR) done = EXIT_ERRORS; + continue; + } unzzip_cat_file (disk, name, out); if (extract) fclose(out); break; /* match loop */ @@ -148,7 +151,7 @@ static int unzzip_cat (int argc, char ** argv, int extract) free (name); } } - return 0; + return done; } int unzzip_print (int argc, char ** argv) diff --git a/source/libs/zziplib/zziplib-src/bins/unzzipcat-mem.c b/source/libs/zziplib/zziplib-src/bins/unzzipcat-mem.c index f7d9e6d15..13cca3aaf 100644 --- a/source/libs/zziplib/zziplib-src/bins/unzzipcat-mem.c +++ b/source/libs/zziplib/zziplib-src/bins/unzzipcat-mem.c @@ -9,7 +9,13 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include "unzzip.h" +#include <sys/stat.h> +#include <zzip/__mkdir.h> +#include <zzip/__fnmatch.h> +#include <zzip/__string.h> +#include <zzip/__debug.h> +#include "unzzipcat-zip.h" +#include "unzzip-states.h" #ifdef ZZIP_HAVE_UNISTD_H #include <unistd.h> @@ -18,15 +24,10 @@ #include <io.h> #endif -#ifdef ZZIP_HAVE_FNMATCH_H -#include <fnmatch.h> -#else -#define fnmatch(x,y,z) strcmp(x,y) -#endif - -#ifndef O_BINARY -#define O_BINARY 0 -#endif +static int exitcode(int e) +{ + return EXIT_ERRORS; +} static void unzzip_mem_entry_fprint(ZZIP_MEM_DISK* disk, ZZIP_MEM_ENTRY* entry, FILE* out) @@ -47,7 +48,7 @@ static void unzzip_mem_disk_cat_file(ZZIP_MEM_DISK* disk, char* name, FILE* out) ZZIP_DISK_FILE* file = zzip_mem_disk_fopen (disk, name); if (file) { - char buffer[1024]; int len; + char buffer[1025]; int len; while ((len = zzip_mem_disk_fread (buffer, 1, 1024, file))) { fwrite (buffer, 1, len, out); @@ -57,21 +58,20 @@ static void unzzip_mem_disk_cat_file(ZZIP_MEM_DISK* disk, char* name, FILE* out) } } -#if !defined(ZZIP_HAVE_STRNDUP) -static char * -strndup(char *p, size_t maxlen) +static void makedirs(const char* name) { - char *r; - if (!p) - return NULL; - r = malloc(maxlen + 1); - if (!r) - return NULL; - strncpy(r, p, maxlen); - r[maxlen] = '\0'; - return r; + char* p = strrchr(name, '/'); + if (p) { + char* dir_name = _zzip_strndup(name, p-name); + makedirs(dir_name); + free (dir_name); + } + if (_zzip_mkdir(name, 0775) == -1 && errno != EEXIST) + { + DBG3("while mkdir %s : %s", name, strerror(errno)); + } + errno = 0; } -#endif static FILE* create_fopen(char* name, char* mode, int subdirs) { @@ -79,45 +79,50 @@ static FILE* create_fopen(char* name, char* mode, int subdirs) { char* p = strrchr(name, '/'); if (p) { - char* dir_name = strndup(name, p-name); - // makedirs(dir_name); // TODO + char* dir_name = _zzip_strndup(name, p-name); + makedirs(dir_name); free (dir_name); } } return fopen(name, mode); } - static int unzzip_cat (int argc, char ** argv, int extract) { + int done; int argn; ZZIP_MEM_DISK* disk; if (argc == 1) { printf (__FILE__" version "ZZIP_PACKAGE" "ZZIP_VERSION"\n"); - return -1; /* better provide an archive argument */ + return EXIT_OK; /* better provide an archive argument */ } disk = zzip_mem_disk_open (argv[1]); if (! disk) { + DBG3("disk_open failed [%i] %s", errno, strerror(errno)); perror(argv[1]); - return -1; + return exitcode(errno); } if (argc == 2) { /* print directory list */ ZZIP_MEM_ENTRY* entry = zzip_mem_disk_findfirst(disk); - fprintf(stderr, "..%p\n", entry); + DBG2("findfirst %p\n", entry); for (; entry ; entry = zzip_mem_disk_findnext(disk, entry)) { char* name = zzip_mem_entry_to_name (entry); FILE* out = stdout; if (extract) out = create_fopen(name, "wb", 1); + if (! out) { + if (errno != EISDIR) done = EXIT_ERRORS; + continue; + } unzzip_mem_disk_cat_file (disk, name, out); if (extract) fclose(out); } - return 0; + return done; } if (argc == 3 && !extract) @@ -137,18 +142,22 @@ static int unzzip_cat (int argc, char ** argv, int extract) for (; entry ; entry = zzip_mem_disk_findnext(disk, entry)) { char* name = zzip_mem_entry_to_name (entry); - if (! fnmatch (argv[argn], name, - FNM_NOESCAPE|FNM_PATHNAME|FNM_PERIOD)) + if (! _zzip_fnmatch (argv[argn], name, + FNM_NOESCAPE|FNM_PATHNAME|FNM_PERIOD)) { FILE* out = stdout; if (extract) out = create_fopen(name, "wb", 1); + if (! out) { + if (errno != EISDIR) done = EXIT_ERRORS; + continue; + } unzzip_mem_disk_cat_file (disk, name, out); if (extract) fclose(out); break; /* match loop */ } } } - return 0; + return done; } int unzzip_print (int argc, char ** argv) diff --git a/source/libs/zziplib/zziplib-src/bins/unzzipcat-mix.c b/source/libs/zziplib/zziplib-src/bins/unzzipcat-mix.c index 09aad6727..aa9b86c49 100644 --- a/source/libs/zziplib/zziplib-src/bins/unzzipcat-mix.c +++ b/source/libs/zziplib/zziplib-src/bins/unzzipcat-mix.c @@ -9,7 +9,13 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include "unzzip.h" +#include <sys/stat.h> +#include <zzip/__mkdir.h> +#include <zzip/__string.h> +#include <zzip/__fnmatch.h> +#include <zzip/__debug.h> +#include "unzzipcat-zip.h" +#include "unzzip-states.h" #ifdef ZZIP_HAVE_UNISTD_H #include <unistd.h> @@ -18,15 +24,35 @@ #include <io.h> #endif -#ifdef ZZIP_HAVE_FNMATCH_H -#include <fnmatch.h> -#else -#define fnmatch(x,y,z) strcmp(x,y) -#endif - -#ifndef O_BINARY -#define O_BINARY 0 -#endif +static int exitcode(int e) +{ + switch (e) + { + case ZZIP_NO_ERROR: + return EXIT_OK; + case ZZIP_OUTOFMEM: /* out of memory */ + return EXIT_ENOMEM; + case ZZIP_DIR_OPEN: /* failed to open zipfile, see errno for details */ + return EXIT_ZIP_NOT_FOUND; + case ZZIP_DIR_STAT: /* failed to fstat zipfile, see errno for details */ + case ZZIP_DIR_SEEK: /* failed to lseek zipfile, see errno for details */ + case ZZIP_DIR_READ: /* failed to read zipfile, see errno for details */ + case ZZIP_DIR_TOO_SHORT: + case ZZIP_DIR_EDH_MISSING: + return EXIT_FILEFORMAT; + case ZZIP_DIRSIZE: + return EXIT_EARLY_END_OF_FILE; + case ZZIP_ENOENT: + return EXIT_FILE_NOT_FOUND; + case ZZIP_UNSUPP_COMPR: + return EXIT_UNSUPPORTED_COMPRESSION; + case ZZIP_CORRUPTED: + case ZZIP_UNDEF: + case ZZIP_DIR_LARGEFILE: + return EXIT_FILEFORMAT; + } + return EXIT_ERRORS; +} static void unzzip_cat_file(ZZIP_DIR* disk, char* name, FILE* out) { @@ -43,21 +69,20 @@ static void unzzip_cat_file(ZZIP_DIR* disk, char* name, FILE* out) } } -#if !defined(ZZIP_HAVE_STRNDUP) -static char * -strndup(char *p, size_t maxlen) +static void makedirs(const char* name) { - char *r; - if (!p) - return NULL; - r = malloc(maxlen + 1); - if (!r) - return NULL; - strncpy(r, p, maxlen); - r[maxlen] = '\0'; - return r; + char* p = strrchr(name, '/'); + if (p) { + char* dir_name = _zzip_strndup(name, p-name); + makedirs(dir_name); + free (dir_name); + } + if (_zzip_mkdir(name, 0775) == -1 && errno != EEXIST) + { + DBG3("while mkdir %s : %s", name, strerror(errno)); + } + errno = 0; } -#endif static FILE* create_fopen(char* name, char* mode, int subdirs) { @@ -65,30 +90,31 @@ static FILE* create_fopen(char* name, char* mode, int subdirs) { char* p = strrchr(name, '/'); if (p) { - char* dir_name = strndup(name, p-name); - // makedirs(dir_name); // TODO + char* dir_name = _zzip_strndup(name, p-name); + makedirs(dir_name); free (dir_name); } } return fopen(name, mode); } - static int unzzip_cat (int argc, char ** argv, int extract) { + int done = 0; int argn; ZZIP_DIR* disk; if (argc == 1) { printf (__FILE__" version "ZZIP_PACKAGE" "ZZIP_VERSION"\n"); - return -1; /* better provide an archive argument */ + return EXIT_OK; /* better provide an archive argument */ } disk = zzip_opendir (argv[1]); if (! disk) { + DBG3("opendir failed [%i] %s", errno, strerror(errno)); perror(argv[1]); - return -1; + return exitcode(errno); } if (argc == 2) @@ -99,9 +125,14 @@ static int unzzip_cat (int argc, char ** argv, int extract) char* name = entry->d_name; FILE* out = stdout; if (extract) out = create_fopen(name, "wb", 1); + if (! out) { + if (errno != EISDIR) done = EXIT_ERRORS; + continue; + } unzzip_cat_file (disk, name, out); if (extract) fclose(out); } + DBG2("readdir done %s", strerror(errno)); } else { /* list only the matching entries - in order of zip directory */ @@ -111,8 +142,8 @@ static int unzzip_cat (int argc, char ** argv, int extract) char* name = entry->d_name; for (argn=1; argn < argc; argn++) { - if (! fnmatch (argv[argn], name, - FNM_NOESCAPE|FNM_PATHNAME|FNM_PERIOD)) + if (! _zzip_fnmatch (argv[argn], name, + FNM_NOESCAPE|FNM_PATHNAME|FNM_PERIOD)) { FILE* out = stdout; char* zip_name = argv[1]; @@ -125,6 +156,10 @@ static int unzzip_cat (int argc, char ** argv, int extract) mix_name[zip_name_len] = '/'; strcpy(mix_name + zip_name_len + 1, name); if (extract) out = create_fopen(name, "wb", 1); + if (! out) { + if (errno != EISDIR) done = EXIT_ERRORS; + continue; + } fprintf(stderr, "%s %s -> %s\n", zip_name, name, mix_name); /* 'test1.zip' 'README' -> 'test1/README' */ unzzip_cat_file (disk, mix_name, out); @@ -135,7 +170,7 @@ static int unzzip_cat (int argc, char ** argv, int extract) } } zzip_closedir(disk); - return 0; + return done; } int unzzip_print (int argc, char ** argv) diff --git a/source/libs/zziplib/zziplib-src/bins/unzzipcat-zip.c b/source/libs/zziplib/zziplib-src/bins/unzzipcat-zip.c index 750c95f63..216be41ee 100644 --- a/source/libs/zziplib/zziplib-src/bins/unzzipcat-zip.c +++ b/source/libs/zziplib/zziplib-src/bins/unzzipcat-zip.c @@ -9,7 +9,13 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include "unzzip.h" +#include <sys/stat.h> +#include <zzip/__mkdir.h> +#include <zzip/__string.h> +#include <zzip/__fnmatch.h> +#include <zzip/__debug.h> +#include "unzzipcat-zip.h" +#include "unzzip-states.h" #ifdef ZZIP_HAVE_UNISTD_H #include <unistd.h> @@ -18,15 +24,35 @@ #include <io.h> #endif -#ifdef ZZIP_HAVE_FNMATCH_H -#include <fnmatch.h> -#else -#define fnmatch(x,y,z) strcmp(x,y) -#endif - -#ifndef O_BINARY -#define O_BINARY 0 -#endif +static int exitcode(int e) +{ + switch (e) + { + case ZZIP_NO_ERROR: + return EXIT_OK; + case ZZIP_OUTOFMEM: /* out of memory */ + return EXIT_ENOMEM; + case ZZIP_DIR_OPEN: /* failed to open zipfile, see errno for details */ + return EXIT_ZIP_NOT_FOUND; + case ZZIP_DIR_STAT: /* failed to fstat zipfile, see errno for details */ + case ZZIP_DIR_SEEK: /* failed to lseek zipfile, see errno for details */ + case ZZIP_DIR_READ: /* failed to read zipfile, see errno for details */ + case ZZIP_DIR_TOO_SHORT: + case ZZIP_DIR_EDH_MISSING: + return EXIT_FILEFORMAT; + case ZZIP_DIRSIZE: + return EXIT_EARLY_END_OF_FILE; + case ZZIP_ENOENT: + return EXIT_FILE_NOT_FOUND; + case ZZIP_UNSUPP_COMPR: + return EXIT_UNSUPPORTED_COMPRESSION; + case ZZIP_CORRUPTED: + case ZZIP_UNDEF: + case ZZIP_DIR_LARGEFILE: + return EXIT_FILEFORMAT; + } + return EXIT_ERRORS; +} static void unzzip_cat_file(ZZIP_DIR* disk, char* name, FILE* out) { @@ -43,21 +69,20 @@ static void unzzip_cat_file(ZZIP_DIR* disk, char* name, FILE* out) } } -#if !defined(ZZIP_HAVE_STRNDUP) -static char * -strndup(char *p, size_t maxlen) +static void makedirs(const char* name) { - char *r; - if (!p) - return NULL; - r = malloc(maxlen + 1); - if (!r) - return NULL; - strncpy(r, p, maxlen); - r[maxlen] = '\0'; - return r; + char* p = strrchr(name, '/'); + if (p) { + char* dir_name = _zzip_strndup(name, p-name); + makedirs(dir_name); + free (dir_name); + } + if (_zzip_mkdir(name, 0775) == -1 && errno != EEXIST) + { + DBG3("while mkdir %s : %s", name, strerror(errno)); + } + errno = 0; } -#endif static FILE* create_fopen(char* name, char* mode, int subdirs) { @@ -65,17 +90,17 @@ static FILE* create_fopen(char* name, char* mode, int subdirs) { char* p = strrchr(name, '/'); if (p) { - char* dir_name = strndup(name, p-name); - // makedirs(dir_name); // TODO + char* dir_name = _zzip_strndup(name, p-name); + makedirs(dir_name); free (dir_name); } } - return fopen(name, mode); + return fopen(name, mode); } - static int unzzip_cat (int argc, char ** argv, int extract) { + int done = 0; int argn; ZZIP_DIR* disk; zzip_error_t error; @@ -83,13 +108,13 @@ static int unzzip_cat (int argc, char ** argv, int extract) if (argc == 1) { printf (__FILE__" version "ZZIP_PACKAGE" "ZZIP_VERSION"\n"); - return -1; /* better provide an archive argument */ + return EXIT_OK; /* better provide an archive argument */ } disk = zzip_dir_open (argv[1], &error); if (! disk) { - perror(argv[1]); - return -1; + fprintf(stderr, "%s: %s\n", argv[1], zzip_strerror(error)); + return exitcode(error); } if (argc == 2) @@ -100,6 +125,11 @@ static int unzzip_cat (int argc, char ** argv, int extract) char* name = entry.d_name; FILE* out = stdout; if (extract) out = create_fopen(name, "wb", 1); + if (! out) { + DBG3("fopen' %s : %s", name, strerror(errno)); + if (errno != EISDIR) done = EXIT_ERRORS; + continue; + } unzzip_cat_file (disk, name, out); if (extract) fclose(out); } @@ -112,20 +142,25 @@ static int unzzip_cat (int argc, char ** argv, int extract) char* name = entry.d_name; for (argn=1; argn < argc; argn++) { - if (! fnmatch (argv[argn], name, - FNM_NOESCAPE|FNM_PATHNAME|FNM_PERIOD)) + if (! _zzip_fnmatch (argv[argn], name, + FNM_NOESCAPE|FNM_PATHNAME|FNM_PERIOD)) { - FILE* out = stdout; - if (extract) out = create_fopen(name, "wb", 1); - unzzip_cat_file (disk, name, out); - if (extract) fclose(out); - break; /* match loop */ + FILE* out = stdout; + if (extract) out = create_fopen(name, "wb", 1); + if (! out) { + DBG3("fopen. %s : %s", name, strerror(errno)); + if (errno != EISDIR) done = EXIT_ERRORS; + continue; + } + unzzip_cat_file (disk, name, out); + if (extract) fclose(out); + break; /* match loop */ } } } } zzip_dir_close(disk); - return 0; + return done; } int unzzip_print (int argc, char ** argv) diff --git a/source/libs/zziplib/zziplib-src/bins/unzzip.h b/source/libs/zziplib/zziplib-src/bins/unzzipcat-zip.h similarity index 86% rename from source/libs/zziplib/zziplib-src/bins/unzzip.h rename to source/libs/zziplib/zziplib-src/bins/unzzipcat-zip.h index 7f0aec1c2..cba2a40a1 100644 --- a/source/libs/zziplib/zziplib-src/bins/unzzip.h +++ b/source/libs/zziplib/zziplib-src/bins/unzzipcat-zip.h @@ -5,7 +5,6 @@ * This file is used as an example to clarify zzip api usage. */ -extern int unzzip_list(int argc, char** argv); extern int unzzip_print(int argc, char** argv); extern int unzzip_extract(int argc, char** argv); diff --git a/source/libs/zziplib/zziplib-src/bins/unzzipdir-big.c b/source/libs/zziplib/zziplib-src/bins/unzzipdir-big.c index a1d14119f..e35648ac2 100644 --- a/source/libs/zziplib/zziplib-src/bins/unzzipdir-big.c +++ b/source/libs/zziplib/zziplib-src/bins/unzzipdir-big.c @@ -5,10 +5,14 @@ * This file is used as an example to clarify zzipfseeko api usage. */ +#define _ZZIP_ENTRY_STRUCT 1 + #include <zzip/fseeko.h> +#include <zzip/fetch.h> #include <stdlib.h> #include <string.h> -#include "unzzip.h" +#include "unzzipdir-zip.h" +#include "unzzip-states.h" #ifdef ZZIP_HAVE_FNMATCH_H #include <fnmatch.h> @@ -16,21 +20,17 @@ #define fnmatch(x,y,z) strcmp(x,y) #endif -#ifndef O_BINARY -#define O_BINARY 0 -#endif +static const char* comprlevel[] = { + "stored", "shrunk", "redu:1", "redu:2", "redu:3", "redu:4", + "impl:N", "toknze", "defl:N", "defl:B", "impl:B" }; -#ifdef DEBUG -#define debug1(msg) do { fprintf(stderr, "%s : " msg "\n", __func__); } while(0) -#define debug2(msg, arg1) do { fprintf(stderr, "%s : " msg "\n", __func__, arg1); } while(0) -#define debug3(msg, arg1, arg2) do { fprintf(stderr, "%s : " msg "\n", __func__, arg1, arg2); } while(0) -#else -#define debug1(msg) -#define debug2(msg, arg1) -#define debug3(msg, arg1, arg2) -#endif +static int exitcode(int e) +{ + return EXIT_ERRORS; +} -int unzzip_list (int argc, char ** argv) +static int +unzzip_list (int argc, char ** argv, int verbose) { int argn; FILE* disk; @@ -38,7 +38,7 @@ int unzzip_list (int argc, char ** argv) disk = fopen (argv[1], "rb"); if (! disk) { perror(argv[1]); - return -1; + return exitcode(errno); } if (argc == 2) @@ -47,7 +47,9 @@ int unzzip_list (int argc, char ** argv) for (; entry ; entry = zzip_entry_findnext(entry)) { char* name = zzip_entry_strdup_name (entry); - printf (" %s \n", name); + unsigned compr = zzip_entry_compr(entry); + const char* defl = (compr < sizeof(comprlevel)) ? comprlevel[compr] : "(redu)"; + printf (" %s %s\n", defl, name); free (name); } return 0; @@ -59,13 +61,27 @@ int unzzip_list (int argc, char ** argv) for (; entry ; entry = zzip_entry_findnext(entry)) { char* name = zzip_entry_strdup_name (entry); - printf (" %s \n", name); + unsigned compr = zzip_entry_compr(entry); + const char* defl = (compr < sizeof(comprlevel)) ? comprlevel[compr] : "(redu)"; + printf (" %s %s\n", defl, name); free (name); } } return 0; } +int +unzzip_long_list (int argc, char ** argv) +{ + return unzzip_list(argc, argv, 1); +} + +int +unzzip_show_list (int argc, char ** argv) +{ + return unzzip_list(argc, argv, 0); +} + /* * Local variables: * c-file-style: "stroustrup" diff --git a/source/libs/zziplib/zziplib-src/bins/unzzipdir-mem.c b/source/libs/zziplib/zziplib-src/bins/unzzipdir-mem.c index bb0607942..79d649118 100644 --- a/source/libs/zziplib/zziplib-src/bins/unzzipdir-mem.c +++ b/source/libs/zziplib/zziplib-src/bins/unzzipdir-mem.c @@ -6,10 +6,12 @@ */ #include <zzip/memdisk.h> +#include <zzip/__debug.h> #include <stdio.h> #include <stdlib.h> #include <string.h> -#include "unzzip.h" +#include "unzzipdir-zip.h" +#include "unzzip-states.h" #ifdef ZZIP_HAVE_UNISTD_H #include <unistd.h> @@ -24,13 +26,17 @@ #define fnmatch(x,y,z) strcmp(x,y) #endif -#ifndef O_BINARY -#define O_BINARY 0 -#endif +static const char* comprlevel[] = { + "stored", "shrunk", "redu:1", "redu:2", "redu:3", "redu:4", + "impl:N", "toknze", "defl:N", "defl:B", "impl:B" }; +static int exitcode(int e) +{ + return EXIT_ERRORS; +} -int -unzzip_list (int argc, char ** argv) +static int +unzzip_list (int argc, char ** argv, int verbose) { int argn; ZZIP_MEM_DISK* disk; @@ -38,26 +44,34 @@ unzzip_list (int argc, char ** argv) if (argc == 1) { printf (__FILE__" version "ZZIP_PACKAGE" "ZZIP_VERSION"\n"); - return -1; /* better provide an archive argument */ + return EXIT_OK; /* better provide an archive argument */ } disk = zzip_mem_disk_open (argv[1]); if (! disk) { + DBG3("disk_open failed [%i] %s", errno, strerror(errno)); perror(argv[1]); - return -1; + return exitcode(errno); } if (argc == 2) { /* list all */ ZZIP_MEM_ENTRY* entry = zzip_mem_disk_findfirst(disk); + DBG2("findfirst %p", entry); for (; entry ; entry = zzip_mem_disk_findnext(disk, entry)) { char* name = zzip_mem_entry_to_name (entry); - int compr = entry->zz_compr; long long usize = entry->zz_usize; - long long csize = entry->zz_csize; - char* defl = compr ? "deflated" : "stored"; - printf ("%lli/%lli %s %s \n", csize, usize, defl, name); + if (!verbose) + { + printf ("%22lli %s\n", usize, name); + } else + { + long long csize = entry->zz_csize; + unsigned compr = entry->zz_compr; + const char* defl = (compr < sizeof(comprlevel)) ? comprlevel[compr] : "(redu)"; + printf ("%lli/%lli %s %s\n", csize, usize, defl, name); + } } return 0; } @@ -68,11 +82,17 @@ unzzip_list (int argc, char ** argv) while ((entry = zzip_mem_disk_findmatch(disk, argv[2], entry, 0, 0))) { char* name = zzip_mem_entry_to_name (entry); - int compr = entry->zz_compr; long long usize = entry->zz_usize; - long long csize = entry->zz_csize; - char* defl = compr ? "deflated" : "stored"; - printf ("%lli/%lli %s %s \n", csize, usize, defl, name); + if (!verbose) + { + printf ("%22lli %s\n", usize, name); + } else + { + long long csize = entry->zz_csize; + unsigned compr = entry->zz_compr; + const char* defl = (compr < sizeof(comprlevel)) ? comprlevel[compr] : "(redu)"; + printf ("%lli/%lli %s %s\n", csize, usize, defl, name); + } } return 0; } @@ -87,11 +107,18 @@ unzzip_list (int argc, char ** argv) if (! fnmatch (argv[argn], name, FNM_NOESCAPE|FNM_PATHNAME|FNM_PERIOD)) { - int compr = entry->zz_compr; + char* name = zzip_mem_entry_to_name (entry); long long usize = entry->zz_usize; - long long csize = entry->zz_csize; - char* defl = compr ? "deflated" : "stored"; - printf ("%lli/%lli %s %s \n", csize, usize, defl, name); + if (!verbose) + { + printf ("%22lli %s\n", usize, name); + } else + { + long long csize = entry->zz_csize; + unsigned compr = entry->zz_compr; + const char* defl = (compr < sizeof(comprlevel)) ? comprlevel[compr] : "(redu)"; + printf ("%lli/%lli %s %s\n", csize, usize, defl, name); + } break; /* match loop */ } } @@ -100,6 +127,18 @@ unzzip_list (int argc, char ** argv) } } +int +unzzip_long_list (int argc, char ** argv) +{ + return unzzip_list(argc, argv, 1); +} + +int +unzzip_show_list (int argc, char ** argv) +{ + return unzzip_list(argc, argv, 0); +} + /* * Local variables: * c-file-style: "stroustrup" diff --git a/source/libs/zziplib/zziplib-src/bins/unzzipdir-mix.c b/source/libs/zziplib/zziplib-src/bins/unzzipdir-mix.c index 5fdc98e38..3caa4810b 100644 --- a/source/libs/zziplib/zziplib-src/bins/unzzipdir-mix.c +++ b/source/libs/zziplib/zziplib-src/bins/unzzipdir-mix.c @@ -6,10 +6,12 @@ */ #include <zzip/lib.h> +#include <zzip/__debug.h> #include <stdio.h> #include <stdlib.h> #include <string.h> -#include "unzzip.h" +#include "unzzipdir-zip.h" +#include "unzzip-states.h" #ifdef ZZIP_HAVE_UNISTD_H #include <unistd.h> @@ -24,27 +26,57 @@ #define fnmatch(x,y,z) strcmp(x,y) #endif -#ifndef O_BINARY -#define O_BINARY 0 -#endif +static const char* comprlevel[] = { + "stored", "shrunk", "redu:1", "redu:2", "redu:3", "redu:4", + "impl:N", "toknze", "defl:N", "defl:B", "impl:B" }; +static int exitcode(int e) +{ + switch (e) + { + case ZZIP_NO_ERROR: + return EXIT_OK; + case ZZIP_OUTOFMEM: /* out of memory */ + return EXIT_ENOMEM; + case ZZIP_DIR_OPEN: /* failed to open zipfile, see errno for details */ + return EXIT_ZIP_NOT_FOUND; + case ZZIP_DIR_STAT: /* failed to fstat zipfile, see errno for details */ + case ZZIP_DIR_SEEK: /* failed to lseek zipfile, see errno for details */ + case ZZIP_DIR_READ: /* failed to read zipfile, see errno for details */ + case ZZIP_DIR_TOO_SHORT: + case ZZIP_DIR_EDH_MISSING: + return EXIT_FILEFORMAT; + case ZZIP_DIRSIZE: + return EXIT_EARLY_END_OF_FILE; + case ZZIP_ENOENT: + return EXIT_FILE_NOT_FOUND; + case ZZIP_UNSUPP_COMPR: + return EXIT_UNSUPPORTED_COMPRESSION; + case ZZIP_CORRUPTED: + case ZZIP_UNDEF: + case ZZIP_DIR_LARGEFILE: + return EXIT_FILEFORMAT; + } + return EXIT_ERRORS; +} -int -unzzip_list (int argc, char ** argv) +static int +unzzip_list (int argc, char ** argv, int verbose) { int argn; ZZIP_DIR* disk; - + if (argc == 1) { printf (__FILE__" version "ZZIP_PACKAGE" "ZZIP_VERSION"\n"); - return -1; /* better provide an archive argument */ + return EXIT_OK; /* better provide an archive argument */ } disk = zzip_opendir (argv[1]); if (! disk) { + DBG3("opendir failed [%i] %s", errno, strerror(errno)); perror(argv[1]); - return -1; + return exitcode(errno); } if (argc == 2) @@ -53,11 +85,19 @@ unzzip_list (int argc, char ** argv) while((entry = zzip_readdir(disk))) { char* name = entry->d_name; - long long csize = entry->d_csize; long long usize = entry->st_size; - char* defl = entry->d_compr ? "deflated" : "stored"; - printf ("%lli/%lli %s %s \n", usize, csize, defl, name); + if (!verbose) + { + printf ("%22lli %s\n", usize, name); + } else + { + long long csize = entry->d_csize; + unsigned compr = entry->d_compr; + const char* defl = (compr < sizeof(comprlevel)) ? comprlevel[compr] : "(redu)"; + printf ("%lli/%lli %s %s\n", usize, csize, defl, name); + } } + DBG2("readdir done %s", strerror(errno)); } else { /* list only the matching entries - in order of zip directory */ @@ -70,19 +110,39 @@ unzzip_list (int argc, char ** argv) if (! fnmatch (argv[argn], name, FNM_NOESCAPE|FNM_PATHNAME|FNM_PERIOD)) { - long long csize = entry->d_csize; long long usize = entry->st_size; - char* defl = entry->d_compr ? "deflated" : "stored"; - printf ("%lli/%lli %s %s \n", usize, csize, defl, name); + if (!verbose) + { + printf ("%22lli %s\n", usize, name); + } else + { + long long csize = entry->d_csize; + unsigned compr = entry->d_compr; + const char* defl = (compr < sizeof(comprlevel)) ? comprlevel[compr] : "(redu)"; + printf ("%lli/%lli %s %s\n", usize, csize, defl, name); + } break; /* match loop */ } } } + DBG2("readdir done %s", strerror(errno)); } zzip_closedir(disk); return 0; } +int +unzzip_long_list (int argc, char ** argv) +{ + return unzzip_list(argc, argv, 1); +} + +int +unzzip_show_list (int argc, char ** argv) +{ + return unzzip_list(argc, argv, 0); +} + /* * Local variables: * c-file-style: "stroustrup" diff --git a/source/libs/zziplib/zziplib-src/bins/unzzipdir-zip.c b/source/libs/zziplib/zziplib-src/bins/unzzipdir-zip.c index c8751f25d..bfac83348 100644 --- a/source/libs/zziplib/zziplib-src/bins/unzzipdir-zip.c +++ b/source/libs/zziplib/zziplib-src/bins/unzzipdir-zip.c @@ -9,7 +9,8 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include "unzzip.h" +#include "unzzipdir-zip.h" +#include "unzzip-states.h" #ifdef ZZIP_HAVE_UNISTD_H #include <unistd.h> @@ -24,13 +25,42 @@ #define fnmatch(x,y,z) strcmp(x,y) #endif -#ifndef O_BINARY -#define O_BINARY 0 -#endif +static const char* comprlevel[] = { + "stored", "shrunk", "redu:1", "redu:2", "redu:3", "redu:4", + "impl:N", "toknze", "defl:N", "defl:B", "impl:B" }; +static int exitcode(int e) +{ + switch (e) + { + case ZZIP_NO_ERROR: + return EXIT_OK; + case ZZIP_OUTOFMEM: /* out of memory */ + return EXIT_ENOMEM; + case ZZIP_DIR_OPEN: /* failed to open zipfile, see errno for details */ + return EXIT_ZIP_NOT_FOUND; + case ZZIP_DIR_STAT: /* failed to fstat zipfile, see errno for details */ + case ZZIP_DIR_SEEK: /* failed to lseek zipfile, see errno for details */ + case ZZIP_DIR_READ: /* failed to read zipfile, see errno for details */ + case ZZIP_DIR_TOO_SHORT: + case ZZIP_DIR_EDH_MISSING: + return EXIT_FILEFORMAT; + case ZZIP_DIRSIZE: + return EXIT_EARLY_END_OF_FILE; + case ZZIP_ENOENT: + return EXIT_FILE_NOT_FOUND; + case ZZIP_UNSUPP_COMPR: + return EXIT_UNSUPPORTED_COMPRESSION; + case ZZIP_CORRUPTED: + case ZZIP_UNDEF: + case ZZIP_DIR_LARGEFILE: + return EXIT_FILEFORMAT; + } + return EXIT_ERRORS; +} -int -unzzip_list (int argc, char ** argv) +static int +unzzip_list (int argc, char ** argv, int verbose) { int argn; ZZIP_DIR* disk; @@ -39,13 +69,13 @@ unzzip_list (int argc, char ** argv) if (argc == 1) { printf (__FILE__" version "ZZIP_PACKAGE" "ZZIP_VERSION"\n"); - return -1; /* better provide an archive argument */ + return EXIT_OK; /* better provide an archive argument */ } disk = zzip_dir_open (argv[1], &error); if (! disk) { perror(argv[1]); - return -1; + return exitcode(error); } if (argc == 2) @@ -54,10 +84,17 @@ unzzip_list (int argc, char ** argv) while(zzip_dir_read(disk, &entry)) { char* name = entry.d_name; - long long csize = entry.d_csize; long long usize = entry.st_size; - char* defl = entry.d_compr ? "deflated" : "stored"; - printf ("%lli/%lli %s %s \n", usize, csize, defl, name); + if (!verbose) + { + printf ("%22lli %s\n", usize, name); + } else + { + long long csize = entry.d_csize; + unsigned compr = entry.d_compr; + const char* defl = (compr < sizeof(comprlevel)) ? comprlevel[compr] : "(redu)"; + printf ("%lli/%lli %s %s\n", usize, csize, defl, name); + } } } else @@ -71,10 +108,17 @@ unzzip_list (int argc, char ** argv) if (! fnmatch (argv[argn], name, FNM_NOESCAPE|FNM_PATHNAME|FNM_PERIOD)) { - long long csize = entry.d_csize; long long usize = entry.st_size; - char* defl = entry.d_compr ? "deflated" : "stored"; - printf ("%lli/%lli %s %s \n", usize, csize, defl, name); + if (!verbose) + { + printf ("%22lli %s\n", usize, name); + } else + { + long long csize = entry.d_csize; + unsigned compr = entry.d_compr; + const char* defl = (compr < sizeof(comprlevel)) ? comprlevel[compr] : "(redu)"; + printf ("%lli/%lli %s %s\n", usize, csize, defl, name); + } break; /* match loop */ } } @@ -84,6 +128,18 @@ unzzip_list (int argc, char ** argv) return 0; } +int +unzzip_long_list (int argc, char ** argv) +{ + return unzzip_list(argc, argv, 1); +} + +int +unzzip_show_list (int argc, char ** argv) +{ + return unzzip_list(argc, argv, 0); +} + /* * Local variables: * c-file-style: "stroustrup" diff --git a/source/libs/zziplib/zziplib-src/bins/unzzipdir-zip.h b/source/libs/zziplib/zziplib-src/bins/unzzipdir-zip.h new file mode 100644 index 000000000..683c13878 --- /dev/null +++ b/source/libs/zziplib/zziplib-src/bins/unzzipdir-zip.h @@ -0,0 +1,10 @@ +/* + * Copyright (c) 2003 Guido Draheim <guidod@gmx.de> + * Use freely under the restrictions of the ZLIB license. + * + * This file is used as an example to clarify zzip api usage. + */ + +extern int unzzip_show_list(int argc, char** argv); +extern int unzzip_long_list(int argc, char** argv); + diff --git a/source/libs/zziplib/zziplib-src/bins/unzzipshow.c b/source/libs/zziplib/zziplib-src/bins/unzzipshow.c deleted file mode 100644 index 58d1add95..000000000 --- a/source/libs/zziplib/zziplib-src/bins/unzzipshow.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright (c) 2003 Guido Draheim <guidod@gmx.de> - * Use freely under the restrictions of the ZLIB license. - * - * This file is used as an example to clarify zzipfseeko api usage. - */ - -#include <zzip/fseeko.h> -#include <stdlib.h> -#include <string.h> - -#ifdef ZZIP_HAVE_FNMATCH_H -#include <fnmatch.h> -#else -#define fnmatch(x,y,z) strcmp(x,y) -#endif - -#ifndef O_BINARY -#define O_BINARY 0 -#endif - -static const char usage[] = -{ - "unzzipshow <zip> [names].. \n" - " - unzzip data content of files contained in a zip archive.\n" -}; - -static void zzip_entry_fprint(ZZIP_ENTRY* entry, FILE* out) -{ - ZZIP_ENTRY_FILE* file = zzip_entry_fopen (entry, 0); - if (file) - { - char buffer[1024]; int len; - while ((len = zzip_entry_fread (buffer, 1024, 1, file))) - fwrite (buffer, len, 1, out); - - zzip_entry_fclose (file); - } -} - -static void zzip_cat_file(FILE* disk, char* name, FILE* out) -{ - ZZIP_ENTRY_FILE* file = zzip_entry_ffile (disk, name); - if (file) - { - char buffer[1024]; int len; - while ((len = zzip_entry_fread (buffer, 1024, 1, file))) - fwrite (buffer, len, 1, out); - - zzip_entry_fclose (file); - } -} - -int -main (int argc, char ** argv) -{ - int argn; - FILE* disk; - - if (argc <= 1 || ! strcmp (argv[1], "--help")) - { - printf (usage); - return 0; - } - if (! strcmp (argv[1], "--version")) - { - printf (__FILE__" version "ZZIP_PACKAGE" "ZZIP_VERSION"\n"); - return 0; - } - - disk = fopen (argv[1], "rb"); - if (! disk) { - perror(argv[1]); - return -1; - } - - if (argc == 2) - { /* print directory list */ - ZZIP_ENTRY* entry = zzip_entry_findfirst(disk); - if (! entry) puts("no first entry!\n"); - for (; entry ; entry = zzip_entry_findnext(entry)) - { - char* name = zzip_entry_strdup_name (entry); - printf ("%s\n", name); - free (name); - } - return 0; - } - - if (argc == 3) - { /* list from one spec */ - ZZIP_ENTRY* entry = 0; - while ((entry = zzip_entry_findmatch(disk, argv[2], entry, 0, 0))) - zzip_entry_fprint (entry, stdout); - - return 0; - } - - for (argn=1; argn < argc; argn++) - { /* list only the matching entries - each in order of commandline */ - ZZIP_ENTRY* entry = zzip_entry_findfirst(disk); - for (; entry ; entry = zzip_entry_findnext(entry)) - { - char* name = zzip_entry_strdup_name (entry); - if (! fnmatch (argv[argn], name, - FNM_NOESCAPE|FNM_PATHNAME|FNM_PERIOD)) - zzip_cat_file (disk, name, stdout); - free (name); - } - } - return 0; -} - -/* - * Local variables: - * c-file-style: "stroustrup" - * End: - */ diff --git a/source/libs/zziplib/zziplib-src/bins/zzdir.c b/source/libs/zziplib/zziplib-src/bins/zzdir.c index 5345f0852..39652a972 100644 --- a/source/libs/zziplib/zziplib-src/bins/zzdir.c +++ b/source/libs/zziplib/zziplib-src/bins/zzdir.c @@ -7,10 +7,6 @@ #include <stdio.h> #include <string.h> -#ifndef O_BINARY -#define O_BINARY 0 -#endif - static const char usage[] = { "zzdir <dir>.. \n" @@ -59,13 +55,13 @@ main (int argc, char ** argv) /* orignalsize / compression-type / compression-ratio / filename */ if (d->st_size > 999999) { - printf ("%5dK %-9s %2d%% %s \n", + printf ("%5dK %-9s %2d%% %s\n", d->st_size>>10, zzip_compr_str(d->d_compr), 100 - (d->d_csize|1)/((d->st_size/100)|1), d->d_name); }else{ - printf ("%6d %-9s %2d%% %s \n", + printf ("%6d %-9s %2d%% %s\n", d->st_size, zzip_compr_str(d->d_compr), 100 - (d->d_csize|1)*100/(d->st_size|1), diff --git a/source/libs/zziplib/zziplib-src/bins/zzip.c b/source/libs/zziplib/zziplib-src/bins/zzip.c index 2869a36a6..965f60d69 100644 --- a/source/libs/zziplib/zziplib-src/bins/zzip.c +++ b/source/libs/zziplib/zziplib-src/bins/zzip.c @@ -11,6 +11,7 @@ #include <zzip/write.h> #include <stdio.h> #include <string.h> +#include "zzipmake-zip.h" #ifdef ZZIP_HAVE_UNISTD_H #include <unistd.h> @@ -19,10 +20,6 @@ #include <io.h> #endif -#ifndef O_BINARY -#define O_BINARY 0 -#endif - static const char usage[] = { "zzip <dir> files... \n" @@ -51,48 +48,7 @@ main (int argc, char ** argv) return 0; } - dir = zzip_dir_creat(argv[1], 0755); - if (! dir) - { - fprintf (stderr, "did not creat %s: \n", argv[1]); - perror(argv[1]); - if (1) - return 1; - else - fprintf (stderr, "(ignored)\n"); - } - - for (argn=2; argn < argc; argn++) - { - int input = open (argv[argn], O_RDONLY); - if (input == -1) - { - perror (argv[argn]); - continue; - } - else - { - char buf[17]; zzip_ssize_t n; - ZZIP_FILE* output = zzip_file_creat (dir, argv[argn], 0755); - if (! output) - { - fprintf (stderr, "|did not open %s: \n", argv[argn]); - fprintf (stderr, "|%s: %s\n", argv[argn], - zzip_strerror_of(dir)); - continue; - } - - while ((n = read (input, buf, 16))) - { - zzip_write (output, buf, n); - } - zzip_close (output); - } - close (input); - } - zzip_closedir(dir); - - return exitcode; + return rezzip_make(argc, argv); } /* diff --git a/source/libs/zziplib/zziplib-src/bins/zziplib.m4 b/source/libs/zziplib/zziplib-src/bins/zziplib.m4 index 4029ca546..d5728ca3d 100644 --- a/source/libs/zziplib/zziplib-src/bins/zziplib.m4 +++ b/source/libs/zziplib/zziplib-src/bins/zziplib.m4 @@ -7,7 +7,7 @@ dnl projects. In general, you can include in your configure.ac dnl some line like dnl PKG_CHECK_ZZIPLIB([ZZIP],[0.10.75]) dnl in order to get the two autoconf/automake subst variables -dnl named ZZIP_CFLAGS and ZZIP_LIBS respectivly. +dnl named ZZIP_CFLAGS and ZZIP_LIBS respectively. dnl PKG_CHECK_ZZIPLIB(ZZIP, minversion, action-if, action-not) dnl defines ZZIP_LIBS, ZZIP_CFLAGS, see pkg-config man page diff --git a/source/libs/zziplib/zziplib-src/bins/zzipmake-zip.c b/source/libs/zziplib/zziplib-src/bins/zzipmake-zip.c new file mode 100644 index 000000000..8e09c31d9 --- /dev/null +++ b/source/libs/zziplib/zziplib-src/bins/zzipmake-zip.c @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2003 Guido Draheim <guidod@gmx.de> + * Use freely under the restrictions of the ZLIB license. + * + * This file is used as an example to clarify zzip api usage. + * (the write-api is work in progress, beware) + */ + +#define _ZZIP_WRITE_SOURCE + +#include <zzip/write.h> +#include <stdio.h> +#include <string.h> +#include "zzipmake-zip.h" + +#ifdef ZZIP_HAVE_UNISTD_H +#include <unistd.h> +#endif +#ifdef ZZIP_HAVE_IO_H +#include <io.h> +#endif + +int rezzip_make (int argc, char ** argv) +{ + int argn; + int exitcode = 0; + ZZIP_DIR * dir; + + dir = zzip_dir_creat(argv[1], 0755); + if (! dir) + { + fprintf (stderr, "did not creat %s: \n", argv[1]); + perror(argv[1]); + if (1) + return 1; + else + fprintf (stderr, "(ignored)\n"); + } + + for (argn=2; argn < argc; argn++) + { + int input = open (argv[argn], O_RDONLY); + if (input == -1) + { + perror (argv[argn]); + continue; + } + else + { + char buf[17]; zzip_ssize_t n; + ZZIP_FILE* output = zzip_file_creat (dir, argv[argn], 0755); + if (! output) + { + fprintf (stderr, "|did not open %s: \n", argv[argn]); + fprintf (stderr, "|%s: %s\n", argv[argn], + zzip_strerror_of(dir)); + continue; + } + + while ((n = read (input, buf, 16))) + { + zzip_write (output, buf, n); + } + zzip_close (output); + } + close (input); + } + zzip_dir_close(dir); + + return exitcode; +} + +/* + * Local variables: + * c-file-style: "stroustrup" + * End: + */ diff --git a/source/libs/zziplib/zziplib-src/bins/zzipmake-zip.h b/source/libs/zziplib/zziplib-src/bins/zzipmake-zip.h new file mode 100644 index 000000000..b0d9da095 --- /dev/null +++ b/source/libs/zziplib/zziplib-src/bins/zzipmake-zip.h @@ -0,0 +1,9 @@ +/* + * Copyright (c) 2003 Guido Draheim <guidod@gmx.de> + * Use freely under the restrictions of the ZLIB license. + * + * This file is used as an example to clarify zzip api usage. + */ + +extern int rezzip_make(int argc, char** argv); + diff --git a/source/libs/zziplib/zziplib-src/bins/zzxorcopy.c b/source/libs/zziplib/zziplib-src/bins/zzxorcopy.c index 1c06e5341..269b8fd76 100644 --- a/source/libs/zziplib/zziplib-src/bins/zzxorcopy.c +++ b/source/libs/zziplib/zziplib-src/bins/zzxorcopy.c @@ -15,10 +15,6 @@ #include <zzip/_config.h> /* for ZZIP_VERSION */ -#ifndef O_BINARY -#define O_BINARY 0 -#endif - #if __STDC_VERSION__+0 < 199901 #define _ssize_t int #define _size_t unsigned diff --git a/source/libs/zziplib/zziplib-src/bins/zzxordir.c b/source/libs/zziplib/zziplib-src/bins/zzxordir.c index c1e1f1414..4c1f4ad65 100644 --- a/source/libs/zziplib/zziplib-src/bins/zzxordir.c +++ b/source/libs/zziplib/zziplib-src/bins/zzxordir.c @@ -22,10 +22,6 @@ #error need posix io for this example #endif -#ifndef O_BINARY -#define O_BINARY 0 -#endif - static const char usage[] = { "zzdir <dir>.. \n" @@ -99,13 +95,13 @@ main (int argc, char ** argv) /* orignalsize / compression-type / compression-ratio / filename */ if (d->st_size > 999999) { - printf ("%5dK %-9s %2d%% %s \n", + printf ("%5dK %-9s %2d%% %s\n", d->st_size>>10, zzip_compr_str(d->d_compr), 100 - (d->d_csize|1)/((d->st_size/100)|1), d->d_name); }else{ - printf ("%6d %-9s %2d%% %s \n", + printf ("%6d %-9s %2d%% %s\n", d->st_size, zzip_compr_str(d->d_compr), 100 - (d->d_csize|1)*100/(d->st_size|1), diff --git a/source/libs/zziplib/zziplib-src/docs/Makefile.am b/source/libs/zziplib/zziplib-src/docs/Makefile.am index ec0dd8457..d0efaad98 100644 --- a/source/libs/zziplib/zziplib-src/docs/Makefile.am +++ b/source/libs/zziplib/zziplib-src/docs/Makefile.am @@ -50,7 +50,7 @@ install-data-local : @MAINTAINER_MODE_FALSE@ install-mans # ------------------------------------------------------------------- zziplib.spec : @top_srcdir@/$(PACKAGE).spec - @ cp $? $@ # the two zzip-doc.* will grep thru zziplib.spec + @ cp $? $@ # the two zzip-doc.* will grep through zziplib.spec doc : $(doc_FILES) site.html docs : doc manpages.tar htmpages.tar # docu : docs diff --git a/source/libs/zziplib/zziplib-src/docs/Makefile.in b/source/libs/zziplib/zziplib-src/docs/Makefile.in index b6a6ea453..740772d52 100644 --- a/source/libs/zziplib/zziplib-src/docs/Makefile.in +++ b/source/libs/zziplib/zziplib-src/docs/Makefile.in @@ -552,7 +552,7 @@ install-data-local : @MAINTAINER_MODE_FALSE@ install-mans # ------------------------------------------------------------------- zziplib.spec : @top_srcdir@/$(PACKAGE).spec - @ cp $? $@ # the two zzip-doc.* will grep thru zziplib.spec + @ cp $? $@ # the two zzip-doc.* will grep through zziplib.spec doc : $(doc_FILES) site.html docs : doc manpages.tar htmpages.tar # docu : docs diff --git a/source/libs/zziplib/zziplib-src/docs/README.MSVC6 b/source/libs/zziplib/zziplib-src/docs/README.MSVC6 index ee042c350..ca7d05d9c 100644 --- a/source/libs/zziplib/zziplib-src/docs/README.MSVC6 +++ b/source/libs/zziplib/zziplib-src/docs/README.MSVC6 @@ -85,7 +85,7 @@ Step 4: Customization or just ignore the value when no messages are there -> Project -> Settings -> Tab: Link -> Category: General -> "Output Filename" - e.g. "zzip-1.dll" intead of "zzip.dll" for this first generation + e.g. "zzip-1.dll" instead of "zzip.dll" for this first generation (needs also to rename dll dependencies from "zzip.lib" to "zzip-1.lib") - there are a few defines that trigger extra code in zziplib, e.g. ZZIP_HARDEN - extra sanity check for obfuscated zip files diff --git a/source/libs/zziplib/zziplib-src/docs/README.SDL b/source/libs/zziplib/zziplib-src/docs/README.SDL index f0fc66fee..641733594 100644 --- a/source/libs/zziplib/zziplib-src/docs/README.SDL +++ b/source/libs/zziplib/zziplib-src/docs/README.SDL @@ -84,8 +84,8 @@ NOTE and zziplib will take one of them (depending on the modes when calling zziplib). - But this didnt work for all of my original files, so I suggest using zipped - files only (and remove the original unzipped files, so zziplib doesnt try to + But this didn't work for all of my original files, so I suggest using zipped + files only (and remove the original unzipped files, so zziplib doesn't try to open the original version). diff --git a/source/libs/zziplib/zziplib-src/docs/body.htm b/source/libs/zziplib/zziplib-src/docs/body.htm index a2b2dba91..296ab4840 100644 --- a/source/libs/zziplib/zziplib-src/docs/body.htm +++ b/source/libs/zziplib/zziplib-src/docs/body.htm @@ -66,7 +66,8 @@ <small><><a href="zip-php.html"> zip-php </a></small> <hr><a href="download.html"> Download Area </a> <br><><a href="developer.html"> Developer Area </a> -<br><><a href="http://sourceforge.net/projects/zziplib"> Sourceforge Project</a> +<br><><a href="https://github.com/gdraheim/zziplib"> GitHub Project</a> +<br><><a href="http://sourceforge.net/projects/zziplib"> Old SF Project</a> <br><><a href="http://zziplib.sourceforge.net"> zziplib.sf.net <small><i>Home</i></small></a> @@ -99,5 +100,9 @@ generated <!--$today--> <br>-<a href="64on32.xml"> 64on32 extras</a> <br>-<a href="future.xml"> Next To Come</a> <br> <> </td><td> +<blockquote style="background-color: #FDB; float: right; border: 1px solid black; padding: 0.5em 2em"> + Now hosted on <a href="https://github.com/gdraheim/zziplib" + style="font-weight: bold">github.com/gdraheim/zziplib</a> +</blockquote> </td></tr></table></body></html> diff --git a/source/libs/zziplib/zziplib-src/docs/configs.htm b/source/libs/zziplib/zziplib-src/docs/configs.htm index 49631e673..0191c17e0 100644 --- a/source/libs/zziplib/zziplib-src/docs/configs.htm +++ b/source/libs/zziplib/zziplib-src/docs/configs.htm @@ -83,7 +83,7 @@ </section><section> <h3> zzip-config </h3> <P> - The pkg-config ".pc" files are relativly young in the history of + The pkg-config ".pc" files are relatively young in the history of zziplib. A long time before that there was the `zzip-config` script installed in the system. These `*-config` were common before the pkg-config came about, and in fact the pkg-config @@ -147,7 +147,7 @@ </P><P> which will provide you with two autoconf/automake variables named <b><code>ZZIP_CFLAGS</code></b> and <b><code>ZZIP_LIBS</code></b> - respectivly. + respectively. </P> <P> Up to 2004, the macro in zziplib.m4 will be however carry diff --git a/source/libs/zziplib/zziplib-src/docs/cpp2markdown-1.py b/source/libs/zziplib/zziplib-src/docs/cpp2markdown-1.py deleted file mode 100644 index 60d28c4a0..000000000 --- a/source/libs/zziplib/zziplib-src/docs/cpp2markdown-1.py +++ /dev/null @@ -1,249 +0,0 @@ -#! /usr/bin/env python -import pygments.lexers.compiled as lexer -import optparse -import re -from pygments.token import Token -import logging - -logg = logging.getLogger(__name__) - -FileComment = "FileComment" -FileInclude = "FileInclude" -FunctionComment = "FunctionComment" -FunctionPrototype = "FunctionPrototype" - -# use the markdown lexer to identify elements -# then filter only those we want. The returned -# token list is more global flagging the role -# of each token for the manual generation. -class CppToMarkdown: - def __init__(self): - self.alldefinitions = 0 - self.internaldefs = ["static"] - self.filecomment_done = "" - self.fileinclude_done = "" - self.filecomment_text = "" - self.fileinclude_text = "" - self.comment_text = "" - self.function_text = "" - self.nesting = 0 - def split_copyright(self, text): - # there are two modes - the copyright starts in the first line - # and the source description follows or the other way round. - lines = text.split("\n") - if len(lines) <= 2: - return "", text - introtext = [lines[0]] - copyright = [lines[0]] - check1 = re.compile(r"^\s[*]\s+[(][c][C][)]") - check2 = re.compile(r"^\s[*]\s+\b[Cc]opyright\b") - empty1 = re.compile(r"^\s[*]\s*$") - state = "intro" - for i in xrange(1,len(lines)-1): - line = lines[i] - if state == "intro": - if empty1.match(line): - introtext += [ line ] - continue - if check1.match(line) or check2.match(line): - state = "copyrightfirst" - copyright += [ line ] - else: - state = "introtextfirst" - introtext += [ line ] - elif state == "copyrightfirst": - if empty1.match(line): - state = "introtextlast" - introtext += [ line ] - else: - copyright += [ line ] - elif state == "introtextfirst": - if check1.match(line) or check2.match(line): - state = "copyrightlast" - copyright += [ line ] - else: - introtext += [ line ] - elif state == "copyrightlast": - copyright += [ line ] - elif state == "introtextlast": - introtext += [ line ] - else: - logg.fatal("UNKNOWN STATE %s", state) - introtext += [lines[-1]] - copyright += [lines[-1]] - logg.debug("@ COPYRIGHT\n %s", copyright) - logg.debug("@ INTROTEXT\n %s", introtext) - return "\n".join(copyright), "\n".join(introtext) - def commentblock(self, text): - prefix = re.compile(r"(?s)^\s*[/][*]+([^\n]*)(?=\n)") - suffix = re.compile(r"(?s)\n [*][/]\s*") - empty = re.compile(r"(?s)\n [*][ \t]*(?=\n)") - lines1 = re.compile(r"(?s)\n [*][ ][\t]") - lines2 = re.compile(r"(?s)\n [*][ ]") - lines3 = re.compile(r"(?s)\n [*][\t][\t]") - lines4 = re.compile(r"(?s)\n [*][\t]") - text = suffix.sub("\n", text) - text = prefix.sub("> \\1\n", text) - text = empty.sub("\n", text) - text = lines1.sub("\n ", text) - text = lines2.sub("\n", text) - text = lines3.sub("\n ", text) - text = lines4.sub("\n ", text) - return text - def functionblock(self, text): - empty = re.compile(r"(?s)\n[ \t]*(?=\n)") - text = " " + text.replace("\n", "\n ") - text = empty.sub("", text) - return text - def functionname(self, text): - check1 = re.compile(r"^[^()=]*(\b\w+)\s*[(=]") - found = check1.match(text) - if found: - return found.group(1) - check2 = re.compile(r"^[^()=]*(\b\w+)\s*$") - found = check2.match(text) - if found: - return found.group(1) - return "" - def run(self, filename): - filetext = open(filename).read() - for line in self.process(filetext, filename): - print line - def process(self, filetext, filename=""): - section_ruler = "-----------------------------------------" - copyright = "" - for token, text in self.parse(filetext): - if token == FileInclude: - yield "## SOURCE " + filename.replace("../", "") - yield " #" + text.replace("\n", "\n ") - elif token == FileComment: - yield "### INTRODUCTION" - copyright, introduction = self.split_copyright(text) - yield self.commentblock(introduction) - elif token == FunctionPrototype: - name = self.functionname(text) - yield section_ruler - yield "### " + name - # yield '<a id="%s"></a>' % name - yield "#### NAME" - yield " " + name - yield "#### SYNOPSIS" - yield self.functionblock(text) - elif token == FunctionComment: - if text: - yield "#### DESCRIPTION" - yield self.commentblock(text) - else: - if text: - yield "#### NOTES" - print token, text.replace("\n", "\n ") - if copyright: - yield section_ruler - yield "### COPYRIGHT" - yield self.commentblock(copyright) - def isexported_function(self): - function = self.function_text.strip().replace("\n"," ") - logg.debug("@ --------------------------------------") - logg.debug("@ ALLDEFINITIONS %s", self.alldefinitions) - if function.startswith("static ") and self.alldefinitions < 3: - logg.debug("@ ONLY INTERNAL %s", function) - return False - if not self.comment_text: - if not self.alldefinitions: - logg.info("@ NO COMMENT ON %s", function) - return False - else: - logg.warn("@ NO COMMENT ON %s", function) - text = self.comment_text - if text.startswith("/**"): return True - if text.startswith("/*!"): return True - if text.startswith("///"): return True - if text.startswith("//!"): return True - if self.alldefinitions >= 1: - if text.startswith("/*"): return True - if text.startswith("//"): return True - if self.alldefinitions >= 2: - return True - logg.debug("@ NO ** COMMENT %s", self.function_text.strip()) - defs = self.function_text - return False - def parse(self, filetext): - c = lexer.CLexer() - for token, text in c.get_tokens(filetext): - logg.debug("|| %s %s", token, text.replace("\n", "\n |")) - # completion - if token != Token.Comment.Preproc and self.fileinclude_done == "no": - yield FileInclude, self.fileinclude_text - if self.filecomment_text: - yield FileComment, self.filecomment_text - self.fileinclude_done = "done" - # parsing - if token == Token.Comment.Multiline: - if not self.filecomment_done: - self.filecomment_done = "done" - self.filecomment_text = text - # wait until we know it is not a function documentation - self.comment_text = text - else: - self.comment_text = text - elif token == Token.Comment.Preproc and "include" in text: - if not self.fileinclude_done: - self.fileinclude_done = "no" - self.fileinclude_text += text - self.comment_text = "" - elif token == Token.Comment.Preproc and self.fileinclude_done == "no": - if not "\n" in self.fileinclude_text: - self.fileinclude_text += text - self.comment_text = "" - elif token == Token.Comment.Preproc: - self.comment_text = "" - self.function_text = "" - elif token == Token.Operator and text == "=": - if not self.nesting and self.function_text.strip(): - if self.isexported_function(): - yield FunctionPrototype, self.function_text - yield FunctionComment, self.comment_text - self.comment_text = "" - self.function_text = "" - elif token == Token.Punctuation and text == ";": - self.comment_text = "" - self.function_text = "" - elif token == Token.Punctuation and text == "{": - if not self.nesting and self.function_text.strip(): - if self.isexported_function(): - yield FunctionPrototype, self.function_text - yield FunctionComment, self.comment_text - self.comment_text = "" - self.function_text = "" - self.nesting += 1 - elif token == Token.Punctuation and text == "}": - self.nesting -= 1 - self.comment_text = "" - self.function_text = "" - else: - if not self.nesting: - self.function_text += text - else: - pass # yield "|",text - - -if __name__ == "__main__": - _o = optparse.OptionParser() - _o.add_option("-v", "--verbose", action="count", default=0) - _o.add_option("-a", "--all", action="count", default=0, - help="include all definitions in the output (not only /**)") - opt, args = _o.parse_args() - - logg.addHandler(logging.StreamHandler()) - if opt.verbose: - logg.setLevel(logging.WARN - 10 * opt.verbose) - - c = CppToMarkdown() - if opt.all: - c.alldefinitions = opt.all - for arg in args: - c.run(arg) - - - - diff --git a/source/libs/zziplib/zziplib-src/docs/cpp2markdown.py b/source/libs/zziplib/zziplib-src/docs/cpp2markdown.py deleted file mode 100644 index 710bbdc24..000000000 --- a/source/libs/zziplib/zziplib-src/docs/cpp2markdown.py +++ /dev/null @@ -1,195 +0,0 @@ -import pygments.lexers.compiled as lexer -import optparse -import re -from pygments.token import Token -import logging - -logg = logging.getLogger(__name__) - -FileComment = "FileComment" -FileInclude = "FileInclude" -FunctionComment = "FunctionComment" -FunctionPrototype = "FunctionPrototype" - -# use the markdown lexer to identify elements -# then filter only those we want. The returned -# token list is more global flagging the role -# of each token for the manual generation. -class CppToMarkdown: - def __init__(self): - self.alldefinitions = 0 - self.internaldefs = ["static"] - self.filecomment_done = "" - self.fileinclude_done = "" - self.filecomment_text = "" - self.fileinclude_text = "" - self.comment_text = "" - self.function_text = "" - self.nesting = 0 - def commentblock(self, text): - emptyprefix = re.compile(r"(?s)^\s*[/][*]+[ \t]*(?=\n)") - prefix = re.compile(r"(?s)^\s*[/][*]+([^\n]*)(?=\n)") - suffix = re.compile(r"(?s)\n [*][/]\s*") - empty = re.compile(r"(?s)\n [*][ \t]*(?=\n)") - lines1 = re.compile(r"(?s)\n [*][ ][\t]") - lines2 = re.compile(r"(?s)\n [*][ ]") - lines3 = re.compile(r"(?s)\n [*][\t][\t]") - lines4 = re.compile(r"(?s)\n [*][\t]") - text = suffix.sub("\n", text) - text = emptyprefix.sub("", text) - text = prefix.sub("> \\1\n", text) - text = empty.sub("\n", text) - text = lines1.sub("\n ", text) - text = lines2.sub("\n", text) - text = lines3.sub("\n ", text) - text = lines4.sub("\n ", text) - return text - def functionblock(self, text): - empty = re.compile(r"(?s)\n[ \t]*(?=\n)") - text = " " + text.replace("\n", "\n ") - text = empty.sub("", text) - return text - def functionname(self, text): - check1 = re.compile(r"^[^()=]*(\b\w+)\s*[(=]") - found = check1.match(text) - if found: - return found.group(1) - check2 = re.compile(r"^[^()=]*(\b\w+)\s*$") - found = check2.match(text) - if found: - return found.group(1) - return "" - def run(self, filename): - filetext = open(filename).read() - for line in self.process(filetext, filename): - print line - def process(self, filetext, filename=""): - for token, text in self.parse(filetext): - if token == FileInclude: - yield "## SOURCE " + filename.replace("../", "") - yield " #" + text.replace("\n", "\n ") - elif token == FileComment: - yield "## INTRODUCTION" - yield self.commentblock(text) - elif token == FunctionPrototype: - name = self.functionname(text) - yield "-----------------------------------------" - yield "### " + name - yield "#### NAME" - yield " " + name - yield "#### SYNOPSIS" - yield self.functionblock(text) - elif token == FunctionComment: - if text: - yield "#### DESCRIPTION" - yield self.commentblock(text) - else: - if text: - yield "#### NOTES" - print token, text.replace("\n", "\n ") - def isexported_function(self): - function = self.function_text.strip().replace("\n"," ") - logg.debug("@ --------------------------------------") - logg.debug("@ ALLDEFINITIONS %s", self.alldefinitions) - if function.startswith("static ") and self.alldefinitions < 3: - logg.debug("@ ONLY INTERNAL %s", function) - return False - if not self.comment_text: - if not self.alldefinitions: - logg.info("@ NO COMMENT ON %s", function) - return False - else: - logg.warn("@ NO COMMENT ON %s", function) - text = self.comment_text - if text.startswith("/**"): return True - if text.startswith("/*!"): return True - if text.startswith("///"): return True - if text.startswith("//!"): return True - if self.alldefinitions >= 1: - if text.startswith("/*"): return True - if text.startswith("//"): return True - if self.alldefinitions >= 2: - return True - logg.debug("@ NO ** COMMENT %s", self.function_text.strip()) - defs = self.function_text - return False - def parse(self, filetext): - c = lexer.CLexer() - for token, text in c.get_tokens(filetext): - logg.debug("|| %s %s", token, text.replace("\n", "\n |")) - # completion - if token != Token.Comment.Preproc and self.fileinclude_done == "no": - yield FileInclude, self.fileinclude_text - if self.filecomment_text: - yield FileComment, self.filecomment_text - self.fileinclude_done = "done" - # parsing - if token == Token.Comment.Multiline: - if not self.filecomment_done: - self.filecomment_done = "done" - self.filecomment_text = text - # wait until we know it is not a function documentation - self.comment_text = text - else: - self.comment_text = text - elif token == Token.Comment.Preproc and "include" in text: - if not self.fileinclude_done: - self.fileinclude_done = "no" - self.fileinclude_text += text - self.comment_text = "" - elif token == Token.Comment.Preproc and self.fileinclude_done == "no": - if not "\n" in self.fileinclude_text: - self.fileinclude_text += text - self.comment_text = "" - elif token == Token.Comment.Preproc: - self.comment_text = "" - self.function_text = "" - elif token == Token.Operator and text == "=": - if not self.nesting and self.function_text.strip(): - if self.isexported_function(): - yield FunctionPrototype, self.function_text - yield FunctionComment, self.comment_text - self.comment_text = "" - self.function_text = "" - elif token == Token.Punctuation and text == ";": - self.comment_text = "" - self.function_text = "" - elif token == Token.Punctuation and text == "{": - if not self.nesting and self.function_text.strip(): - if self.isexported_function(): - yield FunctionPrototype, self.function_text - yield FunctionComment, self.comment_text - self.comment_text = "" - self.function_text = "" - self.nesting += 1 - elif token == Token.Punctuation and text == "}": - self.nesting -= 1 - self.comment_text = "" - self.function_text = "" - else: - if not self.nesting: - self.function_text += text - else: - pass # yield "|",text - - -if __name__ == "__main__": - _o = optparse.OptionParser() - _o.add_option("-v", "--verbose", action="count", default=0) - _o.add_option("-a", "--all", action="count", default=0, - help="include all definitions in the output (not only /**)") - opt, args = _o.parse_args() - - logg.addHandler(logging.StreamHandler()) - if opt.verbose: - logg.setLevel(logging.WARN - 10 * opt.verbose) - - c = CppToMarkdown() - if opt.all: - c.alldefinitions = opt.all - for arg in args: - c.run(arg) - - - - diff --git a/source/libs/zziplib/zziplib-src/docs/developer.htm b/source/libs/zziplib/zziplib-src/docs/developer.htm index 9c964f099..7b65b9504 100644 --- a/source/libs/zziplib/zziplib-src/docs/developer.htm +++ b/source/libs/zziplib/zziplib-src/docs/developer.htm @@ -20,7 +20,7 @@ </P> <P> I was using the sourceforge compilefarm to do remote testing of - releses for crossplatform compatibility. This included usually + releases for crossplatform compatibility. This included usually some unix compatible platforms such as Linux, Solaris, FreeBSD, Darwin/MacOSX including i386, amd64, sparc, sparc64, powerpc when available. Even the latest daytoday cvs snapshots diff --git a/source/libs/zziplib/zziplib-src/docs/dir-zzip-192.png b/source/libs/zziplib/zziplib-src/docs/dir-zzip-192.png deleted file mode 100644 index 2207e825182c20b96efa570442b1dc52e1457ccc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10624 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 diff --git a/source/libs/zziplib/zziplib-src/docs/dir-zzip-64.png b/source/libs/zziplib/zziplib-src/docs/dir-zzip-64.png deleted file mode 100644 index c98b192c11eb26e967bfd4560798f488d0167dbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3539 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 b&pPd2n8vENWm^~+7#KWV{an^LB{Ts51$)W= diff --git a/source/libs/zziplib/zziplib-src/docs/download.htm b/source/libs/zziplib/zziplib-src/docs/download.htm index d52111155..0b1c9a061 100644 --- a/source/libs/zziplib/zziplib-src/docs/download.htm +++ b/source/libs/zziplib/zziplib-src/docs/download.htm @@ -13,7 +13,7 @@ All source releases and some binary releases are listed at the sourceforge download area under the link show above. The sourceforge file area is replicated all over the world and should be accessible - with highest bandwith in all corners of the world. + with highest bandwidth in all corners of the world. </P> </section><section> diff --git a/source/libs/zziplib/zziplib-src/docs/faq.htm b/source/libs/zziplib/zziplib-src/docs/faq.htm index 56d793666..0f2deb23f 100644 --- a/source/libs/zziplib/zziplib-src/docs/faq.htm +++ b/source/libs/zziplib/zziplib-src/docs/faq.htm @@ -30,7 +30,7 @@ decades including the age when the ZIP file format was invented. The first instances of pkware's zip compressor were used on DOS with a codepage 437 which has a way different encoding for the upper plane - than todays latin-1 encoding which in fact used in <em>all</em> + than today's latin-1 encoding which in fact used in <em>all</em> modern operating systems. So what really see is a mismatch of character encodings that you are used to. </P><P> diff --git a/source/libs/zziplib/zziplib-src/docs/functions.htm b/source/libs/zziplib/zziplib-src/docs/functions.htm index 1ded1f47d..c69f56c93 100644 --- a/source/libs/zziplib/zziplib-src/docs/functions.htm +++ b/source/libs/zziplib/zziplib-src/docs/functions.htm @@ -15,7 +15,7 @@ </ul> <P> - Additonally, there is a complete set of unpacked documentation - the + Additionally, there is a complete set of unpacked documentation - the unix manual pages are translated to html manual pages. </P> diff --git a/source/libs/zziplib/zziplib-src/docs/make-doc.py b/source/libs/zziplib/zziplib-src/docs/make-doc.py index c58427c4a..f12553fa3 100644 --- a/source/libs/zziplib/zziplib-src/docs/make-doc.py +++ b/source/libs/zziplib/zziplib-src/docs/make-doc.py @@ -692,7 +692,7 @@ class RefPage: return copyright # !!! return "" def seealso_text(page): - """ the last section on a manpage is called 'SEE ALSO' usally and + """ the last section on a manpage is called 'SEE ALSO' usually and contains a comma-separated list of references. Some manpage viewers can parse these and convert them into hyperlinks """ if page.seealso: diff --git a/source/libs/zziplib/zziplib-src/docs/site.htm b/source/libs/zziplib/zziplib-src/docs/site.htm deleted file mode 100644 index 6f4e4e650..000000000 --- a/source/libs/zziplib/zziplib-src/docs/site.htm +++ /dev/null @@ -1,68 +0,0 @@ -<html><head><title>zziplib</title> - <style> - a:link { text-decoration : none ; color : #000080 ; } - a:visited { text-decoration : none ; color : #200060 ; } - .justify { text-align : justify ; } - </style> -</head><body> - -<table width="100%"><tr valign="top"><td bgcolor="#F0F0F0" width="145"> -<center> - <big><big><big><b> - <font color="#800080"><sup>Z</sup>ZIP<sub>lib</sub></font> - </b></big></big></big> -<br><big><b> <!--VERSION--> </b></big> -</center> -<hr> <a href="zzip-index.html">Library</a> -<br>-<a href="zzip-zip.html">ZIP Access</a> -<br>-<a href="zzip-file.html">Transparently</a> -<br>-<a href="zzip-sdl-rwops.html">SDLrwops Example</a> -<br>-<a href="zzip-extio.html">ext/io Customization</a> -<br>-<a href="zzip-xor.html">xor/io Obfuscation</a> -<br>-<a href="zzip-api.html">Library API</a> -<br>-<a href="zzip-parse.html">Parsing ZIPs</a> -<br>-<a href="64on32.html">64on32 extras</a> -<br>-<a href="future.html">Next To Come</a> -<br>-<a href="configs.html">Config Helpers</a> -<br>-<a href="sfx-make.html">Making a zip/exe</a> -<br>-<a href="history.html">Hints And Links</a> -<br>-<a href="referentials.html">Referentials</a> -<br> -<a href="zziplib.html">Functions List #</a> -<!--START--> -<br> -<a href="man/index.html">The Manual Pages #</a> -<!--ENDS--> - -<br>    <small>(# autogenerated)</small> - -<br> <hr> - -<br><b><a alt="Tarballs, RPM-archive and windll-ZIPs can be downloaded from" - href="http://sourceforge.net/project/showfiles.php?group_id=6389"> - Download Area *</a></b> -<br><a alt="Sourceforge Project CVS web access" - href="http://zziplib.svn.sourceforge.net/viewvc/zziplib/">Sourceforge SVN</a> -<br><a alt="Sourceforge Project Index Page" - href="http://sourceforge.net/projects/zziplib">Sourceforge Project</a> -<br><a alt="the zziplib webpage at sourceforge" - href="http://zziplib.sourceforge.net">zziplib.sf.net - <small><i>Home</i></small></a> - -<br><small><a alt="zziplib - license details" - href="copying.html">LGPL/MPL license</a></small> -<br> -<hr> -<center><!--START--> - <a href="http://sourceforge.net/project/?group_id=6389"> - <img src="http://sourceforge.net/sflogo.php?group_id=6389&type=2" - border="0" alt="sourceforge.net" width="125" height="37"> - </a> -</center><!--ENDS--> - -<p align="right"><small> -generated <!--DATE--> -</small> -<br> <small>(C)</small> Guido Draheim -<br><i> guidod<small>@</small>gmx.de</i> -</p> - -</td><td> diff --git a/source/libs/zziplib/zziplib-src/docs/zzip-api.htm b/source/libs/zziplib/zziplib-src/docs/zzip-api.htm index 79bed1401..92a42a7ef 100644 --- a/source/libs/zziplib/zziplib-src/docs/zzip-api.htm +++ b/source/libs/zziplib/zziplib-src/docs/zzip-api.htm @@ -4,7 +4,7 @@ <!--border--> <P> - The zzip library was orginally developped by Tomi Ollila as a + The zzip library was originally developed by Tomi Ollila as a set of zip decoder routines. Guido Draheim did pick it up and wrapped them under a call synopsis matching their posix api calls. Therefore <code>zzip_open()</code> has the same diff --git a/source/libs/zziplib/zziplib-src/docs/zzip-basics.htm b/source/libs/zziplib/zziplib-src/docs/zzip-basics.htm index 0d0504710..bf603f2fe 100644 --- a/source/libs/zziplib/zziplib-src/docs/zzip-basics.htm +++ b/source/libs/zziplib/zziplib-src/docs/zzip-basics.htm @@ -58,7 +58,7 @@ <tr><td width=50%> zzip_dir_close </td> <td width=50%> close a zip-file and free the memory shadow</td></tr> <tr><td width=50%> zzip_dir_fdopen </td> - <td width=50%> aquire the given posix-file and try to parse it + <td width=50%> acquire the given posix-file and try to parse it as a zip-file.</td></tr> <tr><td width=50%> zzip_dir_read </td> <td width=50%> return the next info entry of a zip-file's central @@ -119,7 +119,7 @@ <table cellpadding=10 width=100%><tr><td><table border=1 width=100%> <tr><td width=50%> zzip_open </td> <td width=50%> try the file-path as a real-file, and if not - there, look for the existance of ZZIP_DIR by + there, look for the existence of ZZIP_DIR by applying extensions, and open the file contained within that one.</td></tr> <tr><td width=50%> zzip_close </td> diff --git a/source/libs/zziplib/zziplib-src/docs/zzip-extio.htm b/source/libs/zziplib/zziplib-src/docs/zzip-extio.htm index c7c47f1a3..229dd030f 100644 --- a/source/libs/zziplib/zziplib-src/docs/zzip-extio.htm +++ b/source/libs/zziplib/zziplib-src/docs/zzip-extio.htm @@ -40,7 +40,7 @@ Other wishes on <a href="zziplib.html">zziplib</a> circulated around <a href="zzip-xor.html">obfuscation</a> or access to zip-files wrapped in other data areas including encrpyted resources from other applications. - This has been adressed with the IO-handlers that you can explicitly + This has been addressed with the IO-handlers that you can explicitly submit to the *_ext_io functions - the default will be posix-IO open/read/write and seek/tell. An application using <a href="zziplib.html">zziplib</a> can divert these to its own set of @@ -81,7 +81,7 @@ static zzip_strings_t my_ext[] = { ".zip", ".ZIP", "", 0 }; </pre> </P><P> - And last not least, people want to tell the libary to not try to + And last not least, people want to tell the library to not try to open a real file that lives side by side with the same path as the file path that can be matched by the zziplib. Actually, the magic wrappers were never meant to be used like - the developer should @@ -90,7 +90,7 @@ the magic-wrappers look rather more familiar, and so you will find now a bit-option ZZIP_ONLYZIP that can be passed down to the _ext_io variants of the magic-wrapper calls, and a real-file will never get - tested for existance. Actually, I would rather recommend that for + tested for existence. Actually, I would rather recommend that for application data the option ZZIP_PREFERZIP, so that one can enter debugging mode by unpacking the zip-file as a real directory tree in the place of the original zip. @@ -176,8 +176,8 @@ structure for usage within the <code>zzip_read</code> calls. </P><P> This adds just a few bytes to the libs and just consumes additional - cpu cycles that can be rightfully called to be negligable (unlike - most commerical vendors will tell you when they indeed want to + cpu cycles that can be rightfully called to be negligible (unlike + most commercial vendors will tell you when they indeed want to tell you that for soooo many new features you have to pay a price). It makes for greater variability without adding fatness to the core in the default case, this is truly efficient I'd say. Well, diff --git a/source/libs/zziplib/zziplib-src/docs/zzip-file.htm b/source/libs/zziplib/zziplib-src/docs/zzip-file.htm index 241baef85..2661fce73 100644 --- a/source/libs/zziplib/zziplib-src/docs/zzip-file.htm +++ b/source/libs/zziplib/zziplib-src/docs/zzip-file.htm @@ -113,7 +113,7 @@ <P> What the current of version of the <a href="zziplib.html">zziplib library</a> - can definitly not do: calling zzip_opendir on a directory zippend + can definitely not do: calling zzip_opendir on a directory zippend <em>inside</em> a zip-file. </P> <P> diff --git a/source/libs/zziplib/zziplib-src/docs/zzip-index.htm b/source/libs/zziplib/zziplib-src/docs/zzip-index.htm index 8b7a9bb66..f48bdb8ed 100644 --- a/source/libs/zziplib/zziplib-src/docs/zzip-index.htm +++ b/source/libs/zziplib/zziplib-src/docs/zzip-index.htm @@ -26,7 +26,7 @@ </dd> <dt>replacement mode:</dt> <dd> Use ZZIP_FILE / ZZIP_DIR pointers provided by zziplib and - put them to work with routines originally developped to + put them to work with routines originally developed to work with real directories and file handles. The API calls do follow traditional synopsis from posix/stdio. </dd> diff --git a/source/libs/zziplib/zziplib-src/docs/zzip-sdl-rwops.htm b/source/libs/zziplib/zziplib-src/docs/zzip-sdl-rwops.htm index 38923f6f0..539165490 100644 --- a/source/libs/zziplib/zziplib-src/docs/zzip-sdl-rwops.htm +++ b/source/libs/zziplib/zziplib-src/docs/zzip-sdl-rwops.htm @@ -23,7 +23,7 @@ <a href="SDL_rwops_zzip.c">SDL_rwops_zzip.c</a> to the directory with your other project sources, and make sure to link it somehow to your programs. I did not make the effort to - create a seperate library out of it - it would just export one + create a separate library out of it - it would just export one single function <tt>SDL_RWFromZZIP</tt> that has the same call-synopsis like <tt>SDL_RWFromFile</tt> (but it can not (yet) write a zip-file). </P> diff --git a/source/libs/zziplib/zziplib-src/docs/zzip-zip.htm b/source/libs/zziplib/zziplib-src/docs/zzip-zip.htm index 141700044..7297b5a10 100644 --- a/source/libs/zziplib/zziplib-src/docs/zzip-zip.htm +++ b/source/libs/zziplib/zziplib-src/docs/zzip-zip.htm @@ -28,7 +28,7 @@ <P> Before a file in the zip-archive is accessed, the application must first get a handle to the central directory contained in the - zip-file. This is achived by calling + zip-file. This is achieved by calling <a href="zziplib.html#zzip_dir_open"> zzip_dir_open </a> or <a href="zziplib.html#zzip_dir_fdopen"> zzip_dir_fdopen </a>. @@ -84,7 +84,7 @@ <a href="zziplib.html">zziplib library</a>. </P> <P> - The magic functions are described in a seperated document on + The magic functions are described in a separated document on <a href="zzip-file.html"> Using Zipped Files </a>. In general, the functions have a prefix <tt>zzip_</tt> and their argument types have a prefix <tt>ZZIP_</tt> where appropriate. Calls @@ -99,10 +99,10 @@ <a href="zziplib.html#zzip_dir_real"> zzip_dir_real </a> can be used. If these return a true value, the standard posix functions - are more apropriate. The posix handles can be obtained with + are more appropriate. The posix handles can be obtained with a call to <a href="zziplib.html#zzip_realdir"> zzip_realdir </a> and - <a href="zziplib.html#zzip_realfd"> zzip_realfd </a> respectivly. + <a href="zziplib.html#zzip_realfd"> zzip_realfd </a> respectively. </P> </section><section> diff --git a/source/libs/zziplib/zziplib-src/docs/zzipdoc/functionlistreference.py b/source/libs/zziplib/zziplib-src/docs/zzipdoc/functionlistreference.py index 944d005c6..c38ff0a3d 100644 --- a/source/libs/zziplib/zziplib-src/docs/zzipdoc/functionlistreference.py +++ b/source/libs/zziplib/zziplib-src/docs/zzipdoc/functionlistreference.py @@ -217,7 +217,7 @@ class FunctionListRefEntry: return copyright # !!! return "" def seealso_text(self): - """ the last section on a manpage is called 'SEE ALSO' usally and + """ the last section on a manpage is called 'SEE ALSO' usually and contains a comma-separated list of references. Some manpage viewers can parse these and convert them into hyperlinks """ if self.seealso: diff --git a/source/libs/zziplib/zziplib-src/docs/zzipdoc/textfileheader.py b/source/libs/zziplib/zziplib-src/docs/zzipdoc/textfileheader.py index 2ac0896e5..ceaa28e99 100644 --- a/source/libs/zziplib/zziplib-src/docs/zzipdoc/textfileheader.py +++ b/source/libs/zziplib/zziplib-src/docs/zzipdoc/textfileheader.py @@ -17,7 +17,7 @@ class TextFileHeader: x = Match() text = self.textfile.get_src_text() if not text: - print "nonexistant file:", self.textfile.get_filename() + print "nonexistent file:", self.textfile.get_filename() return False if text & x(r"(?s)[/][*]+(\s(?:.(?!\*\/))*.)\*\/" r"(?:\s*\#(?:define|ifdef|endif)[ ]*\S*[ ]*\S*)*" diff --git a/source/libs/zziplib/zziplib-src/docs/zzipfseeko.html b/source/libs/zziplib/zziplib-src/docs/zzipfseeko.html new file mode 100644 index 000000000..1b1602410 --- /dev/null +++ b/source/libs/zziplib/zziplib-src/docs/zzipfseeko.html @@ -0,0 +1,184 @@ +<html><head><title>zziplib Library Functions</title> +</head><body> +<h2>zziplib Library Functions</h2><p>Version 0.13.68</p><p><big><b><code>#include <zzip/fseeko.h></code></b></big></p><table width="100%"><tr><td valign="top"><code><b><code><a href="#zzip_entry_fopen">zzip_entry_fopen</a></code></b>(ZZIP_ENTRY * entry, int takeover) + : zzip__new__ ZZIP_ENTRY_FILE * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_entry_ffile">zzip_entry_ffile</a></code></b>(FILE * disk, char *filename) + : zzip__new__ ZZIP_ENTRY_FILE * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_entry_fread">zzip_entry_fread</a></code></b>(void *ptr, zzip_size_t sized, zzip_size_t nmemb, + ZZIP_ENTRY_FILE * file) + : zzip_size_t +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_entry_fclose">zzip_entry_fclose</a></code></b>(ZZIP_ENTRY_FILE * file) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_entry_feof">zzip_entry_feof</a></code></b>(ZZIP_ENTRY_FILE * file) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_entry_data_offset">zzip_entry_data_offset</a></code></b>(ZZIP_ENTRY * entry) + : zzip_off_t +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_entry_fread_file_header">zzip_entry_fread_file_header</a></code></b>(ZZIP_ENTRY * entry, + struct zzip_file_header *file_header) + : static zzip_off_t +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_entry_strdup_name">zzip_entry_strdup_name</a></code></b>(ZZIP_ENTRY * entry) + : zzip__new__ char * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_entry_findfile">zzip_entry_findfile</a></code></b>(FILE * disk, char *filename, + ZZIP_ENTRY * _zzip_restrict entry, zzip_strcmp_fn_t compare) + : zzip__new__ ZZIP_ENTRY * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_entry_findfirst">zzip_entry_findfirst</a></code></b>(FILE * disk) + : zzip__new__ ZZIP_ENTRY * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_entry_findnext">zzip_entry_findnext</a></code></b>(ZZIP_ENTRY * _zzip_restrict entry) + : zzip__new__ ZZIP_ENTRY * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_entry_free">zzip_entry_free</a></code></b>(ZZIP_ENTRY * entry) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_entry_findmatch">zzip_entry_findmatch</a></code></b>(FILE * disk, char *filespec, + ZZIP_ENTRY * _zzip_restrict entry, + zzip_fnmatch_fn_t compare, int flags) + : zzip__new__ ZZIP_ENTRY * +</code></td></tr></table><h3>Documentation</h3><dl><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_entry_fopen">zzip_entry_fopen</a></b>(ZZIP_ENTRY * entry, int takeover) + : zzip__new__ ZZIP_ENTRY_FILE * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_entry_ffile">zzip_entry_ffile</a></b>(FILE * disk, char *filename) + : zzip__new__ ZZIP_ENTRY_FILE * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_entry_fread">zzip_entry_fread</a></b>(void *ptr, zzip_size_t sized, zzip_size_t nmemb, + ZZIP_ENTRY_FILE * file) + : zzip_size_t +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_entry_fclose">zzip_entry_fclose</a></b>(ZZIP_ENTRY_FILE * file) + : int +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_entry_feof">zzip_entry_feof</a></b>(ZZIP_ENTRY_FILE * file) + : int +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em> open a file within a zip disk for reading</em> </td><td align="right"> <em><small>zzip/fseeko.c</small></em></td></table><p> + The <code>zzip_entry_fopen</code> function does take an "entry" argument and copies it (or just takes + it over as owner) to a new ZZIP_ENTRY_FILE handle structure. That + structure contains also a zlib buffer for decoding. The <code>zzip_entry_fopen</code> function does + seek to the file_header of the given "entry" and validates it for the + data buffer following it. We do also prefetch some data from the data + buffer thereby trying to match the disk pagesize for faster access later. + The <code><a href="#zzip_entry_fread">zzip_entry_fread</a></code> will then read in chunks of pagesizes which is + the size of the internal readahead buffer. If an error occurs then null + is returned. +</p> +</td></tr><tr><td valign="top"><p> + The <code>zzip_entry_ffile</code> function opens a file found by name, so it does a search into + the zip central directory with <code><a href="#zzip_entry_findfile">zzip_entry_findfile</a></code> and whatever + is found first is given to <code><a href="#zzip_entry_fopen">zzip_entry_fopen</a></code> +</p> +</td></tr><tr><td valign="top"><p> + The <code>zzip_entry_fread</code> function reads more bytes into the output buffer specified as + arguments. The return value is null on eof or error, the stdio-like + interface can not distinguish between these so you need to check + with <code><a href="#zzip_entry_feof">zzip_entry_feof</a></code> for the difference. +</p> +</td></tr><tr><td valign="top"><p> The <code>zzip_entry_fclose</code> function releases any zlib decoder info needed for decompression + and dumps the ZZIP_ENTRY_FILE struct then. +</p> +</td></tr><tr><td valign="top"><p> + The <code>zzip_entry_feof</code> function allows to distinguish an error from an eof condition. + Actually, if we found an error but we did already reach eof then we + just keep on saying that it was an eof, so the app can just continue. +</p> +</td></tr></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_entry_data_offset">zzip_entry_data_offset</a></b>(ZZIP_ENTRY * entry) + : zzip_off_t +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_entry_fread_file_header">zzip_entry_fread_file_header</a></b>(ZZIP_ENTRY * entry, + struct zzip_file_header *file_header) + : static zzip_off_t +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_entry_strdup_name">zzip_entry_strdup_name</a></b>(ZZIP_ENTRY * entry) + : zzip__new__ char * +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em> helper functions for (fseeko) zip access api</em> </td><td align="right"> <em><small>zzip/fseeko.c</small></em></td></table><p> + The <code>zzip_entry_data_offset</code> functions returns the seekval offset of the data portion of the + file referenced by the given zzip_entry. It requires an intermediate + check of the file_header structure (i.e. it reads it from disk). After + this call, the contained diskfile readposition is already set to the + data_offset returned here. +</p><p>The <code>zzip_entry_data_offset</code> function + Returns -1 on error. (errno = EINVAL|EBADMSG) +</p> +</td></tr><tr><td valign="top"><p> The <code>zzip_entry_fread_file_header</code> functions read the correspoding struct zzip_file_header from + the zip disk of the given "entry". The returned off_t points to the + end of the file_header where the current fseek pointer has stopped. + This is used to immediately parse out any filename/extras block following + the file_header. +</p><p>The <code>zzip_entry_fread_file_header</code> function + Returns zero on error. (errno = EINVAL|EBADMSG|EBADF|EIO) +</p> +</td></tr><tr><td valign="top"><p> The <code>zzip_entry_strdup_name</code> function is a big helper despite its little name: in a zip file the + encoded filenames are usually NOT zero-terminated but for common usage + with libc we need it that way. Secondly, the filename SHOULD be present + in the zip central directory but if not then we fallback to the filename + given in the file_header of each compressed data portion. +</p><p> + returns: new string buffer, null on error (errno = EINVAL|ENOMEM|EBADMSG) +</p> +</td></tr></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_entry_findfile">zzip_entry_findfile</a></b>(FILE * disk, char *filename, + ZZIP_ENTRY * _zzip_restrict entry, zzip_strcmp_fn_t compare) + : zzip__new__ ZZIP_ENTRY * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_entry_findfirst">zzip_entry_findfirst</a></b>(FILE * disk) + : zzip__new__ ZZIP_ENTRY * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_entry_findnext">zzip_entry_findnext</a></b>(ZZIP_ENTRY * _zzip_restrict entry) + : zzip__new__ ZZIP_ENTRY * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_entry_free">zzip_entry_free</a></b>(ZZIP_ENTRY * entry) + : int +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_entry_findmatch">zzip_entry_findmatch</a></b>(FILE * disk, char *filespec, + ZZIP_ENTRY * _zzip_restrict entry, + zzip_fnmatch_fn_t compare, int flags) + : zzip__new__ ZZIP_ENTRY * +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em> search for files in the (fseeko) zip central directory</em> </td><td align="right"> <em><small>zzip/fseeko.c</small></em></td></table><p> + The <code>zzip_entry_findfile</code> function is given a filename as an additional argument, to find the + disk_entry matching a given filename. The compare-function is usually + strcmp or strcasecmp or perhaps strcoll, if null then strcmp is used. + - use null as argument for "old"-entry when searching the first + matching entry, otherwise the last returned value if you look for other + entries with a special "compare" function (if null then a doubled search + is rather useless with this variant of _findfile). If no further entry is + found then null is returned and any "old"-entry gets already free()d. +</p> +</td></tr><tr><td valign="top"><p> + The <code>zzip_entry_findfirst</code> function is the first call of all the zip access functions here. + It contains the code to find the first entry of the zip central directory. + Here we require the stdio handle to represent a real zip file where the + disk_trailer is _last_ in the file area, so that its position would be at + a fixed offset from the end of the file area if not for the comment field + allowed to be of variable length (which needs us to do a little search + for the disk_tailer). However, in this simple implementation we disregard + any disk_trailer info telling about multidisk archives, so we just return + a pointer to the first entry in the zip central directory of that file. +</p><p> + For an actual means, we are going to search backwards from the end + of the mmaped block looking for the PK-magic signature of a + disk_trailer. If we see one then we check the rootseek value to + find the first disk_entry of the root central directory. If we find + the correct PK-magic signature of a disk_entry over there then we + assume we are done and we are going to return a pointer to that label. +</p><p> + The return value is a pointer to the first zzip_disk_entry being checked + to be within the bounds of the file area specified by the arguments. If + no disk_trailer was found then null is returned, and likewise we only + accept a disk_trailer with a seekvalue that points to a disk_entry and + both parts have valid PK-magic parts. Beyond some sanity check we try to + catch a common brokeness with zip archives that still allows us to find + the start of the zip central directory. +</p><p>The <code>zzip_entry_findfirst</code> function + Returns null on error (errno = EINVAL|ENOMEM|EBADMSG|EBADF|ENOENT) +</p> +</td></tr><tr><td valign="top"><p> + The <code>zzip_entry_findnext</code> function takes an existing "entry" in the central root directory + (e.g. from zzip_entry_findfirst) and moves it to point to the next entry. + On error it returns 0, otherwise the old entry. If no further match is + found then null is returned and the entry already free()d. If you want + to stop searching for matches before that case then please call + <code><a href="#zzip_entry_free">zzip_entry_free</a></code> on the cursor struct ZZIP_ENTRY. +</p> +</td></tr><tr><td valign="top"><p> the <code>zzip_entry_free</code> function releases the malloc()ed areas needed for zzip_entry, the + pointer is invalid afterwards. The <code>zzip_entry_free</code> function has #define synonyms of + zzip_entry_findlast(), zzip_entry_findlastfile(), zzip_entry_findlastmatch() +</p> +</td></tr><tr><td valign="top"><p> + The <code>zzip_entry_findmatch</code> function uses a compare-function with an additional argument + and it is called just like fnmatch(3) from POSIX.2 AD:1993), i.e. + the argument filespec first and the ziplocal filename second with + the integer-flags put in as third to the indirect call. If the + platform has fnmatch available then null-compare will use that one + and otherwise we fall back to mere strcmp, so if you need fnmatch + searching then please provide an implementation somewhere else. + - use null as argument for "after"-entry when searching the first + matching entry, or the last disk_entry return-value to find the + next entry matching the given filespec. If no further entry is + found then null is returned and any "old"-entry gets already free()d. +</p> +</td></tr></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd></dl> +</body></html> diff --git a/source/libs/zziplib/zziplib-src/docs/zziplib-manpages.tar b/source/libs/zziplib/zziplib-src/docs/zziplib-manpages.tar new file mode 100644 index 0000000000000000000000000000000000000000..aa567cca6c81333fb225a4c3707ce8212efc1100 GIT binary patch literal 184320 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 literal 0 HcmV?d00001 diff --git a/source/libs/zziplib/zziplib-src/docs/zziplib.html b/source/libs/zziplib/zziplib-src/docs/zziplib.html index a73f26f79..a67583520 100644 --- a/source/libs/zziplib/zziplib-src/docs/zziplib.html +++ b/source/libs/zziplib/zziplib-src/docs/zziplib.html @@ -1,1255 +1,464 @@ -<html><head><title>zziplib - </title> - <style> - a:link { text-decoration : none ; color : #000080 ; } - a:visited { text-decoration : none ; color : #200060 ; } - .justify { text-align : justify ; } - </style> +<html><head><title>zziplib Library Functions</title> </head><body> - -<table width="100%"><tr valign="top"><td bgcolor="#F0F0F0" width="145"> -<center> - <big><big><big><b> - <font color="#800080"><sup>Z</sup>ZIP<sub>lib</sub></font> - </b></big></big></big> -<br><big><b> 0.13.24 </b></big> -</center> -<hr> - -<br> <a alt="zzip-index - Overview" - href="zzip-index.html">Library</a> -<br>-<a alt="zzip-zip - Accessing Zip Archives with ZLib Decompression" - href="zzip-zip.html">ZIP Access</a> -<br>-<a alt="zzip-file - Using Zipped Files Transparently" - href="zzip-file.html">Transparently</a> -<br>-<a alt="zzip-sdl-rwops - Example to make an SDL_rwops Inteface" - href="zzip-sdl-rwops.html">SDLrwops Example</a> -<br>-<a alt="zzip-extio - Customizing the file access" - href="zzip-extio.html">ext/io Customization</a> -<br>-<a alt="zzip-xor - Using obfuscations like xor" - href="zzip-xor.html">xor/io Obfuscation</a> -<br>-<a alt="zzip-api - The complete API description" - href="zzip-api.html">Library API</a> -<br>-<a alt="zzip-parse - About zip parsing internals" - href="zzip-parse.html">Parsing ZIPs</a> -<br>-<a alt="64on32 - About largefile problems" - href="64on32.html">64on32 extras</a> -<br>-<a alt="future - What next to come" - href="future.html">Next To Come</a> -<br>-<a alt="configs - To Configure Your zziplib-based software" - href="configs.html">Config Helpers</a> -<br>-<a alt="sfx-make - to combine an EXE with a ZIP archive" - href="sfx-make.html">Making a zip/exe</a> -<br>-<a alt="history - Hints And Links" - href="history.html">Hints And Links</a> -<br>-<a alt="referentials - Where it is used" - href="referentials.html">Referentials</a> -<br>-<a alt="zziplib - The Functions List (autogenerated)" - href="zziplib.html">Functions List #</a> -<!--START--> -<br>-<a alt="zzip/man - The Manual Pages (autogenerated)" - href="man/index.html">The Manual Pages #</a> -<!--ENDS--> - -<br>    <small>(# autogenerated)</small> - -<br> <hr> - -<br><b><a alt="Tarballs, RPM-archive and windll-ZIPs can be downloaded from" - href="http://sourceforge.net/project/showfiles.php?group_id=6389"> - Download Area *</a></b> -<br><a alt="Sourceforge Project Index Page" - href="http://sourceforge.net/projects/zziplib">Sourceforge Project</a> -<br><a alt="the zziplib webpage at sourceforge" - href="http://zziplib.sourceforge.net">zziplib.sf.net - <small><i>Home</i></small></a> - -<br><small><a alt="zziplib - license details" - href="copying.html">LGPL/MPL license</a></small> -<br> -<hr> -<center><!--START--> - <a href="http://sourceforge.net/project/?group_id=6389"> - <img src="http://sourceforge.net/sflogo.php?group_id=6389&type=2" - border="0" alt="sourceforge.net" width="125" height="37"> - </a> -</center><!--ENDS--> - -<p align="right"><small> -generated 2003-12-12 -</small> -<br> <small>(C)</small> Guido Draheim -<br><i> guidod<small>@</small>gmx.de</i> +<h2>zziplib Library Functions</h2><p>Version 0.13.68</p><p><big><b><code>#include <zzip/lib.h></code></b></big></p><table width="100%"><tr><td valign="top"><code><b><code><a href="#zzip_error">zzip_error</a></code></b>(ZZIP_DIR * dir) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_seterror">zzip_seterror</a></code></b>(ZZIP_DIR * dir, int errcode) : void +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_open">zzip_open</a></code></b>(zzip_char_t * filename, int o_flags) + : ZZIP_FILE * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_open_ext_io">zzip_open_ext_io</a></code></b>(zzip_char_t * filename, int o_flags, int o_modes, + zzip_strings_t * ext, zzip_plugin_io_t io) + : ZZIP_FILE * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_open_shared_io">zzip_open_shared_io</a></code></b>(ZZIP_FILE * stream, + zzip_char_t * filename, int o_flags, int o_modes, + zzip_strings_t * ext, zzip_plugin_io_t io) + : ZZIP_FILE * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_opendir">zzip_opendir</a></code></b>(zzip_char_t * filename) + : ZZIP_DIR * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_opendir_ext_io">zzip_opendir_ext_io</a></code></b>(zzip_char_t * filename, int o_modes, + zzip_strings_t * ext, zzip_plugin_io_t io) + : ZZIP_DIR * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_file_real">zzip_file_real</a></code></b>(ZZIP_FILE * fp) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_dir_real">zzip_dir_real</a></code></b>(ZZIP_DIR * dir) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_realdir">zzip_realdir</a></code></b>(ZZIP_DIR * dir) + : void * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_realfd">zzip_realfd</a></code></b>(ZZIP_FILE * fp) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_tell">zzip_tell</a></code></b>(ZZIP_FILE * fp) + : zzip_off_t +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_tell32">zzip_tell32</a></code></b>(ZZIP_FILE * fp) + : long +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_dir_stat">zzip_dir_stat</a></code></b>(ZZIP_DIR * dir, zzip_char_t * name, ZZIP_STAT * zs, int flags) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_file_stat">zzip_file_stat</a></code></b>(ZZIP_FILE * file, ZZIP_STAT * zs) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_fstat">zzip_fstat</a></code></b>(ZZIP_FILE * file, ZZIP_STAT * zs) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_strerror">zzip_strerror</a></code></b>(int errcode) + : zzip_char_t * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_strerror_of">zzip_strerror_of</a></code></b>(ZZIP_DIR * dir) + : zzip_char_t * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_dir_open">zzip_dir_open</a></code></b>(zzip_char_t * filename, zzip_error_t * e) + : ZZIP_DIR * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_dir_open_ext_io">zzip_dir_open_ext_io</a></code></b>(zzip_char_t * filename, zzip_error_t * e, + zzip_strings_t * ext, zzip_plugin_io_t io) + : ZZIP_DIR * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_dir_read">zzip_dir_read</a></code></b>(ZZIP_DIR * dir, ZZIP_DIRENT * d) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_init_io">zzip_init_io</a></code></b>(zzip_plugin_io_handlers_t io, int flags) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_get_default_io">zzip_get_default_io</a></code></b>(void) + : zzip_plugin_io_t +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_rewinddir">zzip_rewinddir</a></code></b>(ZZIP_DIR * dir) + : void +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_telldir">zzip_telldir</a></code></b>(ZZIP_DIR * dir) + : zzip_off_t +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_seekdir">zzip_seekdir</a></code></b>(ZZIP_DIR * dir, zzip_off_t offset) + : void +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_telldir32">zzip_telldir32</a></code></b>(ZZIP_DIR * dir) + : long +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_seekdir32">zzip_seekdir32</a></code></b>(ZZIP_DIR * dir, long offset) + : void +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_fopen">zzip_fopen</a></code></b>(zzip_char_t * filename, zzip_char_t * mode) + : ZZIP_FILE * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_freopen">zzip_freopen</a></code></b>(zzip_char_t * filename, zzip_char_t * mode, ZZIP_FILE * stream) + : ZZIP_FILE * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_dirhandle">zzip_dirhandle</a></code></b>(ZZIP_FILE * fp) + : ZZIP_DIR * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_dirfd">zzip_dirfd</a></code></b>(ZZIP_DIR * dir) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_seek">zzip_seek</a></code></b>(ZZIP_FILE * fp, zzip_off_t offset, int whence) + : zzip_off_t +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_seek32">zzip_seek32</a></code></b>(ZZIP_FILE * fp, long offset, int whence) + : long +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_read">zzip_read</a></code></b>(ZZIP_FILE * fp, void *buf, zzip_size_t len) + : zzip_ssize_t +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_fread">zzip_fread</a></code></b>(void *ptr, zzip_size_t size, zzip_size_t nmemb, ZZIP_FILE * file) + : zzip_size_t +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_dir_free">zzip_dir_free</a></code></b>(ZZIP_DIR * dir) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_dir_close">zzip_dir_close</a></code></b>(ZZIP_DIR * dir) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_fclose">zzip_fclose</a></code></b>(ZZIP_FILE * fp) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_close">zzip_close</a></code></b>(ZZIP_FILE * fp) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_dir_fdopen">zzip_dir_fdopen</a></code></b>(int fd, zzip_error_t * errcode_p) + : ZZIP_DIR * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_dir_fdopen_ext_io">zzip_dir_fdopen_ext_io</a></code></b>(int fd, zzip_error_t * errcode_p, + zzip_strings_t * ext, const zzip_plugin_io_t io) + : ZZIP_DIR * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_dir_alloc_ext_io">zzip_dir_alloc_ext_io</a></code></b>(zzip_strings_t * ext, const zzip_plugin_io_t io) + : ZZIP_DIR * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_dir_alloc">zzip_dir_alloc</a></code></b>(zzip_strings_t * fileext) + : ZZIP_DIR * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_readdir">zzip_readdir</a></code></b>(ZZIP_DIR * dir) + : ZZIP_DIRENT * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_closedir">zzip_closedir</a></code></b>(ZZIP_DIR * dir) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_errno">zzip_errno</a></code></b>(int errcode) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_file_close">zzip_file_close</a></code></b>(ZZIP_FILE * fp) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_file_open">zzip_file_open</a></code></b>(ZZIP_DIR * dir, zzip_char_t * name, int o_mode) + : ZZIP_FILE * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_inflate_init">zzip_inflate_init</a></code></b>(ZZIP_FILE * fp, struct zzip_dir_hdr *hdr) + : static int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_file_read">zzip_file_read</a></code></b>(ZZIP_FILE * fp, void *buf, zzip_size_t len) + : zzip_ssize_t +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_rewind">zzip_rewind</a></code></b>(ZZIP_FILE * fp) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_compr_str">zzip_compr_str</a></code></b>(int compr) + : zzip_char_t * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#__zzip_fetch_disk_trailer">__zzip_fetch_disk_trailer</a></code></b>(int fd, zzip_off_t filesize, + struct _disk_trailer *_zzip_restrict trailer, + zzip_plugin_io_t io) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#__zzip_parse_root_directory">__zzip_parse_root_directory</a></code></b>(int fd, + struct _disk_trailer *trailer, + struct zzip_dir_hdr **hdr_return, + zzip_plugin_io_t io) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#__zzip_try_open">__zzip_try_open</a></code></b>(zzip_char_t * filename, int filemode, + zzip_strings_t * ext, zzip_plugin_io_t io) + : int +</code></td></tr></table><h3>Documentation</h3><dl><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_error">zzip_error</a></b>(ZZIP_DIR * dir) + : int +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_seterror">zzip_seterror</a></b>(ZZIP_DIR * dir, int errcode) : void +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/info.c</small></em></td></table> +</td></tr><tr><td valign="top"><p> The <code>zzip_seterror</code> function just does dir->errcode = errcode </p> - -</td><td> -<html><head><title> zziplib autodoc documentation </title></head> -<body> - -<h1>zziplib <small><small><i>-0.10.82.pre2</i></small></small></h1> -<table border=0 cellspacing=2 cellpadding=0><tr valign="top"> -<td valign="top"><code>void -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_rewinddir"> - <code>zzip_rewinddir</code> -</a></td><td valign="top"> </td><td valign="top">1000 - <code>(<nobr>ZZIP_DIR * dir</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>ZZIP_DIRENT* -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_readdir"> - <code>zzip_readdir</code> -</a></td><td valign="top"> </td><td valign="top">1000 - <code>(<nobr>ZZIP_DIR * dir</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>zzip_off_t -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_telldir"> - <code>zzip_telldir</code> -</a></td><td valign="top"> </td><td valign="top">zzip_telldir - <code>(<nobr>ZZIP_DIR* dir</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>void -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_seekdir"> - <code>zzip_seekdir</code> -</a></td><td valign="top"> </td><td valign="top">zzip_seekdir - <code>(<nobr>ZZIP_DIR* dir</nobr>, -<nobr>zzip_off_t offset</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>ZZIP_DIR* -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_opendir"> - <code>zzip_opendir</code> -</a></td><td valign="top"> </td><td valign="top">zzip_opendir - <code>(<nobr>zzip_char_t* filename</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>ZZIP_DIR* -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_opendir_ext_io"> - <code>zzip_opendir_ext_io</code> -</a></td><td valign="top"> </td><td valign="top">zzip_opendir_ext_io - <code>(<nobr>zzip_char_t* filename</nobr>, -<nobr>int o_modes</nobr>, -<nobr>zzip_strings_t* ext</nobr>, -<nobr>zzip_plugin_io_t io</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_closedir"> - <code>zzip_closedir</code> -</a></td><td valign="top"> </td><td valign="top">zzip_closedir - <code>(<nobr>ZZIP_DIR* dir</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>zzip_char_t* -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_strerror"> - <code>zzip_strerror</code> -</a></td><td valign="top"> </td><td valign="top">zzip_strerror - <code>(<nobr>int errcode</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>zzip_char_t* -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_strerror_of"> - <code>zzip_strerror_of</code> -</a></td><td valign="top"> </td><td valign="top">zzip_strerror_of - <code>(<nobr>ZZIP_DIR* dir</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_errno"> - <code>zzip_errno</code> -</a></td><td valign="top"> </td><td valign="top">zzip_errno - <code>(<nobr>int errcode</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_file_close"> - <code>zzip_file_close</code> -</a></td><td valign="top"> </td><td valign="top">zzip_file_close - <code>(<nobr>ZZIP_FILE * fp</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>ZZIP_FILE * -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_file_open"> - <code>zzip_file_open</code> -</a></td><td valign="top"> </td><td valign="top">zzip_file_open - <code>(<nobr>ZZIP_DIR * dir</nobr>, -<nobr>zzip_char_t* name</nobr>, -<nobr>int o_mode</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>static int -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_inflate_init"> - <code>zzip_inflate_init</code> -</a></td><td valign="top"> </td><td valign="top">zzip_inflate_init - <code>(<nobr>ZZIP_FILE * fp</nobr>, -<nobr>struct zzip_dir_hdr* hdr</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_fclose"> - <code>zzip_fclose</code> -</a></td><td valign="top"> </td><td valign="top">zzip_fclose - <code>(<nobr>ZZIP_FILE * fp</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_close"> - <code>zzip_close</code> -</a></td><td valign="top"> </td><td valign="top">zzip_close - <code>(<nobr>ZZIP_FILE* fp</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>zzip_ssize_t -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_file_read"> - <code>zzip_file_read</code> -</a></td><td valign="top"> </td><td valign="top">zzip_file_read - <code>(<nobr>ZZIP_FILE * fp</nobr>, -<nobr>char * buf</nobr>, -<nobr>zzip_size_t len</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>zzip_ssize_t -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_read"> - <code>zzip_read</code> -</a></td><td valign="top"> </td><td valign="top">zzip_read - <code>(<nobr>ZZIP_FILE * fp</nobr>, -<nobr>char * buf</nobr>, -<nobr>zzip_size_t len</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>zzip_size_t -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_fread"> - <code>zzip_fread</code> -</a></td><td valign="top"> </td><td valign="top">zzip_fread - <code>(<nobr>void *ptr</nobr>, -<nobr>zzip_size_t size</nobr>, -<nobr>zzip_size_t nmemb</nobr>, -<nobr>ZZIP_FILE *file</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>ZZIP_FILE* -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_fopen"> - <code>zzip_fopen</code> -</a></td><td valign="top"> </td><td valign="top">zzip_fopen - <code>(<nobr>zzip_char_t* filename</nobr>, -<nobr>zzip_char_t* mode</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>ZZIP_FILE* -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_freopen"> - <code>zzip_freopen</code> -</a></td><td valign="top"> </td><td valign="top">zzip_freopen - <code>(<nobr>zzip_char_t* filename</nobr>, -<nobr>zzip_char_t* mode</nobr>, -<nobr>ZZIP_FILE* stream</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>ZZIP_FILE* -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_open"> - <code>zzip_open</code> -</a></td><td valign="top"> </td><td valign="top">zzip_open - <code>(<nobr>zzip_char_t* filename</nobr>, -<nobr>int o_flags</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>ZZIP_FILE* -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_open_ext_io"> - <code>zzip_open_ext_io</code> -</a></td><td valign="top"> </td><td valign="top">zzip_open_ext_io - <code>(<nobr>zzip_char_t* filename</nobr>, -<nobr>int o_flags</nobr>, -<nobr>int o_modes</nobr>, -<nobr>zzip_strings_t* ext</nobr>, -<nobr>zzip_plugin_io_t io</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>ZZIP_FILE* -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_open_shared_io"> - <code>zzip_open_shared_io</code> -</a></td><td valign="top"> </td><td valign="top">zzip_open_shared_io - <code>(<nobr>ZZIP_FILE* stream</nobr>, -<nobr>zzip_char_t* filename</nobr>, -<nobr>int o_flags</nobr>, -<nobr>int o_modes</nobr>, -<nobr>zzip_strings_t* ext</nobr>, -<nobr>zzip_plugin_io_t io</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_rewind"> - <code>zzip_rewind</code> -</a></td><td valign="top"> </td><td valign="top">zzip_rewind - <code>(<nobr>ZZIP_FILE *fp</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>zzip_off_t -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_seek"> - <code>zzip_seek</code> -</a></td><td valign="top"> </td><td valign="top">zzip_seek - <code>(<nobr>ZZIP_FILE * fp</nobr>, -<nobr>zzip_off_t offset</nobr>, -<nobr>int whence</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>zzip_off_t -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_tell"> - <code>zzip_tell</code> -</a></td><td valign="top"> </td><td valign="top">zzip_tell - <code>(<nobr>ZZIP_FILE * fp</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_error"> - <code>zzip_error</code> -</a></td><td valign="top"> </td><td valign="top">zzip_error - <code>(<nobr>ZZIP_DIR * dir</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>void -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_seterror"> - <code>zzip_seterror</code> -</a></td><td valign="top"> </td><td valign="top">zzip_seterror - <code>(<nobr>ZZIP_DIR * dir</nobr>, -<nobr>int errcode</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>ZZIP_DIR * -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_dirhandle"> - <code>zzip_dirhandle</code> -</a></td><td valign="top"> </td><td valign="top">zzip_dirhandle - <code>(<nobr>ZZIP_FILE * fp</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_dirfd"> - <code>zzip_dirfd</code> -</a></td><td valign="top"> </td><td valign="top">zzip_dirfd - <code>(<nobr>ZZIP_DIR* dir</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>zzip_char_t* -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_compr_str"> - <code>zzip_compr_str</code> -</a></td><td valign="top"> </td><td valign="top">zzip_compr_str - <code>(<nobr>int compr</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_dir_real"> - <code>zzip_dir_real</code> -</a></td><td valign="top"> </td><td valign="top">zzip_dir_real - <code>(<nobr>ZZIP_DIR* dir</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_file_real"> - <code>zzip_file_real</code> -</a></td><td valign="top"> </td><td valign="top">zzip_file_real - <code>(<nobr>ZZIP_FILE* fp</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>void* -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_realdir"> - <code>zzip_realdir</code> -</a></td><td valign="top"> </td><td valign="top">zzip_realdir - <code>(<nobr>ZZIP_DIR* dir</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_realfd"> - <code>zzip_realfd</code> -</a></td><td valign="top"> </td><td valign="top">zzip_realfd - <code>(<nobr>ZZIP_FILE* fp</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>zzip_plugin_io_t -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_get_default_io"> - <code>zzip_get_default_io</code> -</a></td><td valign="top"> </td><td valign="top">zzip_get_default_io - <code>(<nobr></nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int </code></td><td valign="top"> </td><td valign="top"><a href="#zzip_init_io"> - <code>zzip_init_io</code> -</a></td><td valign="top"> </td><td valign="top">zzip_init_io - <code>(<nobr>struct zzip_plugin_io* io</nobr>, -<nobr>int flags</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_dir_stat"> - <code>zzip_dir_stat</code> -</a></td><td valign="top"> </td><td valign="top">zzip_dir_stat - <code>(<nobr>ZZIP_DIR * dir</nobr>, -<nobr>zzip_char_t* name</nobr>, -<nobr>ZZIP_STAT * zs</nobr>, -<nobr>int flags</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>uint32_t </code></td><td valign="top"> </td><td valign="top"><a href="#__zzip_get32"> - <code>__zzip_get32</code> -</a></td><td valign="top"> </td><td valign="top">__zzip_get32 - <code>(<nobr>unsigned char * s</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>uint16_t </code></td><td valign="top"> </td><td valign="top"><a href="#__zzip_get16"> - <code>__zzip_get16</code> -</a></td><td valign="top"> </td><td valign="top">__zzip_get16 - <code>(<nobr>unsigned char * s</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int -</code></td><td valign="top"> </td><td valign="top"><a href="#__zzip_find_disk_trailer"> - <code>__zzip_find_disk_trailer</code> -</a></td><td valign="top"> </td><td valign="top">__zzip_find_disk_trailer - <code>(<nobr>int fd</nobr>, -<nobr>zzip_off_t filesize</nobr>, -<nobr>struct zzip_disk_trailer * trailer</nobr>, -<nobr>zzip_plugin_io_t io</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int -</code></td><td valign="top"> </td><td valign="top"><a href="#__zzip_parse_root_directory"> - <code>__zzip_parse_root_directory</code> -</a></td><td valign="top"> </td><td valign="top">__zzip_parse_root_directory - <code>(<nobr>int fd</nobr>, -<nobr>struct zzip_disk_trailer * trailer</nobr>, -<nobr>struct zzip_dir_hdr ** hdr_return</nobr>, -<nobr>zzip_plugin_io_t io</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>ZZIP_DIR* -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_dir_alloc_ext_io"> - <code>zzip_dir_alloc_ext_io</code> -</a></td><td valign="top"> </td><td valign="top">zzip_dir_alloc_ext_io - <code>(<nobr>zzip_strings_t* ext</nobr>, -<nobr>const zzip_plugin_io_t io</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>ZZIP_DIR* -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_dir_alloc"> - <code>zzip_dir_alloc</code> -</a></td><td valign="top"> </td><td valign="top">zzip_dir_alloc - <code>(<nobr>zzip_strings_t* fileext</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_dir_free"> - <code>zzip_dir_free</code> -</a></td><td valign="top"> </td><td valign="top">zzip_dir_free - <code>(<nobr>ZZIP_DIR * dir</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_dir_close"> - <code>zzip_dir_close</code> -</a></td><td valign="top"> </td><td valign="top">zzip_dir_close - <code>(<nobr>ZZIP_DIR * dir</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>ZZIP_DIR * -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_dir_fdopen"> - <code>zzip_dir_fdopen</code> -</a></td><td valign="top"> </td><td valign="top">zzip_dir_fdopen - <code>(<nobr>int fd</nobr>, -<nobr>zzip_error_t * errcode_p</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>ZZIP_DIR * -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_dir_fdopen_ext_io"> - <code>zzip_dir_fdopen_ext_io</code> -</a></td><td valign="top"> </td><td valign="top">zzip_dir_fdopen_ext_io - <code>(<nobr>int fd</nobr>, -<nobr>zzip_error_t * errcode_p</nobr>, -<nobr>zzip_strings_t* ext</nobr>, -<nobr>const zzip_plugin_io_t io</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int -</code></td><td valign="top"> </td><td valign="top"><a href="#__zzip_try_open"> - <code>__zzip_try_open</code> -</a></td><td valign="top"> </td><td valign="top">__zzip_try_open - <code>(<nobr>zzip_char_t* filename</nobr>, -<nobr>int filemode</nobr>, -<nobr>zzip_strings_t* ext</nobr>, -<nobr>zzip_plugin_io_t io</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>ZZIP_DIR* -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_dir_open"> - <code>zzip_dir_open</code> -</a></td><td valign="top"> </td><td valign="top">zzip_dir_open - <code>(<nobr>zzip_char_t* filename</nobr>, -<nobr>zzip_error_t* e</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>ZZIP_DIR* -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_dir_open_ext_io"> - <code>zzip_dir_open_ext_io</code> -</a></td><td valign="top"> </td><td valign="top">zzip_dir_open_ext_io - <code>(<nobr>zzip_char_t* filename</nobr>, -<nobr>zzip_error_t* e</nobr>, -<nobr>zzip_strings_t* ext</nobr>, -<nobr>zzip_plugin_io_t io</nobr>)</code> - -</td></tr><tr valign="top"> -<td valign="top"><code>int -</code></td><td valign="top"> </td><td valign="top"><a href="#zzip_dir_read"> - <code>zzip_dir_read</code> -</a></td><td valign="top"> </td><td valign="top">zzip_dir_read - <code>(<nobr>ZZIP_DIR * dir</nobr>, -<nobr>ZZIP_DIRENT * d</nobr> )</code> - -</td></tr> -</table> -<h3>Documentation</h3> - -<dl> -<dt><a name="zzip_rewinddir" /><a name="zzip_telldir" /><a name="zzip_seekdir" /><code><code>void -</code> - <br /><b><code>zzip_rewinddir</code></b> - <code>1000 - <code>(<nobr>ZZIP_DIR * dir</nobr>)</code> - -</code></code><br /> -<code><code>zzip_off_t -</code> - <br /><b><code>zzip_telldir</code></b> - <code>zzip_telldir - <code>(<nobr>ZZIP_DIR* dir</nobr>)</code> - -</code></code><br /> -<code><code>void -</code> - <br /><b><code>zzip_seekdir</code></b> - <code>zzip_seekdir - <code>(<nobr>ZZIP_DIR* dir</nobr>, -<nobr>zzip_off_t offset</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/dir.c) -<p> This function is the equivalent of a <code>rewinddir(2)</code> for a realdir or - <br /> the zipfile in place of a directory. The ZZIP_DIR handle returned from - <br /> <a href="#zzip_opendir"><code>zzip_opendir</code></a> has a flag saying realdir or zipfile. As for a zipfile, - <br /> the filenames will include the filesubpath, so take care. - -<p align="right"><small>(../zzip/dir.c)</small></p></dd> -<dt><a name="zzip_readdir" /><code><code>ZZIP_DIRENT* -</code> - <br /><b><code>zzip_readdir</code></b> - <code>1000 - <code>(<nobr>ZZIP_DIR * dir</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/dir.c) -<p> This function is the equivalent of a <code>readdir(2)</code> for a realdir - <br /> or a zipfile referenced by the ZZIP_DIR returned from <a href="#zzip_opendir"><code>zzip_opendir</code></a>. - <p> - The ZZIP_DIR handle (as returned by <a href="#zzip_opendir"><code>zzip_opendir)</code></a> contains a few more - <br /> entries than being copied into the ZZIP_DIRENT. The only valid fields in - <br /> a ZZIP_DIRENT are d_name (the file name), d_compr (compression), d_csize - <br /> (compressed size), st_size (uncompressed size). - -<p align="right"><small>(../zzip/dir.c)</small></p></dd> -<dt><a name="zzip_opendir" /><a name="zzip_opendir_ext_io" /><code><code>ZZIP_DIR* -</code> - <br /><b><code>zzip_opendir</code></b> - <code>zzip_opendir - <code>(<nobr>zzip_char_t* filename</nobr>)</code> - -</code></code><br /> -<code><code>ZZIP_DIR* -</code> - <br /><b><code>zzip_opendir_ext_io</code></b> - <code>zzip_opendir_ext_io - <code>(<nobr>zzip_char_t* filename</nobr>, -<nobr>int o_modes</nobr>, -<nobr>zzip_strings_t* ext</nobr>, -<nobr>zzip_plugin_io_t io</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/dir.c) -<p> This function is the equivalent of <code>opendir(3)</code> for a realdir or zipfile. - <br /> <p> - This function has some magic - if the given argument-path - <br /> is a directory, it will wrap a real <code>opendir(3)</code> into the ZZIP_DIR - <br /> structure. Otherwise it will divert to <a href="#zzip_dir_open"><code>zzip_dir_open</code></a> which - <br /> can also attach a ".zip" extension if needed to find the archive. - <br /> <p> - the error-code is mapped to <code>errno(3)</code>. - -<p align="right"><small>(../zzip/dir.c)</small></p></dd> -<dt><a name="zzip_closedir" /><code><code>int -</code> - <br /><b><code>zzip_closedir</code></b> - <code>zzip_closedir - <code>(<nobr>ZZIP_DIR* dir</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/dir.c) -<p> This function is the equivalent of <code>closedir(3)</code> for a realdir or zipfile. - <br /> <p> - This function is magic - if the given arg-ZZIP_DIR - <br /> is a real directory, it will call the real <code>closedir(3)</code> and then - <br /> free the wrapping ZZIP_DIR structure. Otherwise it will divert - <br /> to <a href="#zzip_dir_close"><code>zzip_dir_close</code></a> which will free the ZZIP_DIR structure. - -<p align="right"><small>(../zzip/dir.c)</small></p></dd> -<dt><a name="zzip_strerror" /><a name="zzip_strerror_of" /><code><code>zzip_char_t* -</code> - <br /><b><code>zzip_strerror</code></b> - <code>zzip_strerror - <code>(<nobr>int errcode</nobr>)</code> - -</code></code><br /> -<code><code>zzip_char_t* -</code> - <br /><b><code>zzip_strerror_of</code></b> - <code>zzip_strerror_of - <code>(<nobr>ZZIP_DIR* dir</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/err.c) -<p> returns the static string for the given error code. The - - <br /> error code can be either a normal system error (a - - <br /> positive error code will flag this), it can be <code>libz</code> - - <br /> error code (a small negative error code will flag this) - - <br /> or it can be an error code from <code>libzzip</code>, which is an - - <br /> negative value lower than <code>ZZIP_ERROR</code> - - -<p align="right"><small>(../zzip/err.c)</small></p></dd> -<dt><a name="zzip_errno" /><code><code>int -</code> - <br /><b><code>zzip_errno</code></b> - <code>zzip_errno - <code>(<nobr>int errcode</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/err.c) -<p> map the error code to a system error code. This is used - - <br /> for the drop-in replacement functions to return a value - - <br /> that can be interpreted correctly by code sections that - - <br /> are unaware of the fact they their <code>open(2)</code> call had been - - <br /> diverted to a file inside a zip-archive. - - -<p align="right"><small>(../zzip/err.c)</small></p></dd> -<dt><a name="zzip_file_close" /><code><code>int -</code> - <br /><b><code>zzip_file_close</code></b> - <code>zzip_file_close - <code>(<nobr>ZZIP_FILE * fp</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/file.c) -<p> the direct function of <a href="#zzip_close"><code>zzip_close(fp)</code></a>. it will cleanup the - <br /> inflate-portion of <code>zlib</code> and free the structure given. - <p> - it is called quite from the error-cleanup parts - <br /> of the various <code>_open</code> functions. - <p> - the .refcount is decreased and if zero the fp<small>-></small>dir is closed just as well. - -<p align="right"><small>(../zzip/file.c)</small></p></dd> -<dt><a name="zzip_file_open" /><code><code>ZZIP_FILE * -</code> - <br /><b><code>zzip_file_open</code></b> - <code>zzip_file_open - <code>(<nobr>ZZIP_DIR * dir</nobr>, -<nobr>zzip_char_t* name</nobr>, -<nobr>int o_mode</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/file.c) -<p> open an <code>ZZIP_FILE</code> from an already open <code>ZZIP_DIR</code> handle. Since - <br /> we have a chance to reuse a cached <code>buf32k</code> and <code>ZZIP_FILE</code> memchunk - <br /> this is the best choice to unpack multiple files. - <p> - Note: the zlib supports 2..15 bit windowsize, hence we provide a 32k - <br /> memchunk here... just to be safe. - -<p align="right"><small>(../zzip/file.c)</small></p></dd> -<dt><a name="zzip_inflate_init" /><code><code>static int -</code> - <br /><b><code>zzip_inflate_init</code></b> - <code>zzip_inflate_init - <code>(<nobr>ZZIP_FILE * fp</nobr>, -<nobr>struct zzip_dir_hdr* hdr</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/file.c) -<p> call <code>inflateInit</code> and setup fp's iterator variables, - <br /> used by lowlevel <code>_open</code> functions. - -<p align="right"><small>(../zzip/file.c)</small></p></dd> -<dt><a name="zzip_fclose" /><a name="zzip_close" /><code><code>int -</code> - <br /><b><code>zzip_fclose</code></b> - <code>zzip_fclose - <code>(<nobr>ZZIP_FILE * fp</nobr>)</code> - -</code></code><br /> -<code><code>int -</code> - <br /><b><code>zzip_close</code></b> - <code>zzip_close - <code>(<nobr>ZZIP_FILE* fp</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/file.c) -<p> This function closes the given ZZIP_FILE handle. - <p> - If the ZZIP_FILE wraps a normal stat'fd then it is just that int'fd - <br /> that is being closed and the otherwise empty ZZIP_FILE gets freed. - -<p align="right"><small>(../zzip/file.c)</small></p></dd> -<dt><a name="zzip_file_read" /><code><code>zzip_ssize_t -</code> - <br /><b><code>zzip_file_read</code></b> - <code>zzip_file_read - <code>(<nobr>ZZIP_FILE * fp</nobr>, -<nobr>char * buf</nobr>, -<nobr>zzip_size_t len</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/file.c) -<p> This functions read data from zip-contained file. - <p> - It works like <code>read(2)</code> and will fill the given buffer with bytes from - <br /> the opened file. It will return the number of bytes read, so if the <code>EOF</code> - <br /> is encountered you will be prompted with the number of bytes actually read. - <p> - This is the routines that needs the <code>buf32k</code> buffer, and it would have - <br /> need for much more polishing but it does already work quite well. - <p> - Note: the 32K buffer is rather big. The original inflate-algorithm - <br /> required just that but the latest zlib would work just fine with - <br /> a smaller buffer. - -<p align="right"><small>(../zzip/file.c)</small></p></dd> -<dt><a name="zzip_read" /><a name="zzip_fread" /><code><code>zzip_ssize_t -</code> - <br /><b><code>zzip_read</code></b> - <code>zzip_read - <code>(<nobr>ZZIP_FILE * fp</nobr>, -<nobr>char * buf</nobr>, -<nobr>zzip_size_t len</nobr>)</code> - -</code></code><br /> -<code><code>zzip_size_t -</code> - <br /><b><code>zzip_fread</code></b> - <code>zzip_fread - <code>(<nobr>void *ptr</nobr>, -<nobr>zzip_size_t size</nobr>, -<nobr>zzip_size_t nmemb</nobr>, -<nobr>ZZIP_FILE *file</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/file.c) -<p> This function will read(2) data from a real/zipped file. - <p> - the replacement for <code>read(2)</code> will fill the given buffer with bytes from - <br /> the opened file. It will return the number of bytes read, so if the EOF - <br /> is encountered you will be prompted with the number of bytes actually read. - <p> - If the file-handle is wrapping a stat'able file then it will actually just - <br /> perform a normal <code>read(2)</code>-call, otherwise <a href="#zzip_file_read"><code>zzip_file_read</code></a> is called - <br /> to decompress the data stream and any error is mapped to <code>errno(3)</code>. - -<p align="right"><small>(../zzip/file.c)</small></p></dd> -<dt><a name="zzip_fopen" /><a name="zzip_freopen" /><code><code>ZZIP_FILE* -</code> - <br /><b><code>zzip_fopen</code></b> - <code>zzip_fopen - <code>(<nobr>zzip_char_t* filename</nobr>, -<nobr>zzip_char_t* mode</nobr>)</code> - -</code></code><br /> -<code><code>ZZIP_FILE* -</code> - <br /><b><code>zzip_freopen</code></b> - <code>zzip_freopen - <code>(<nobr>zzip_char_t* filename</nobr>, -<nobr>zzip_char_t* mode</nobr>, -<nobr>ZZIP_FILE* stream</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/file.c) -<p> This function will <code>fopen(3)</code> a real/zipped file. - <p> - It has some magic functionality builtin - it will first try to open - <br /> the given <em>filename</em> as a normal file. If it does not - <br /> exist, the given path to the filename (if any) is split into - <br /> its directory-part and the file-part. A ".zip" extension is - <br /> then added to the directory-part to create the name of a - <br /> zip-archive. That zip-archive (if it exists) is being searched - <br /> for the file-part, and if found a zzip-handle is returned. - <p> - Note that if the file is found in the normal fs-directory the - <br /> returned structure is mostly empty and the <a href="#zzip_read"><code>zzip_read</code></a> call will - <br /> use the libc <code>read</code> to obtain data. Otherwise a <a href="#zzip_file_open"><code>zzip_file_open</code></a> - <br /> is performed and any error mapped to <code>errno(3)</code>. - <p> - unlike the posix-wrapper <a href="#zzip_open"><code>zzip_open</code></a> the mode-argument is - <br /> a string which allows for more freedom to support the extra - <br /> zzip modes called ZZIP_CASEINSENSITIVE and ZZIP_IGNOREPATH. - <br /> Currently, this <a href="#zzip_fopen"><code>zzip_fopen</code></a> call will convert the following - <br /> characters in the mode-string into their corrsponding mode-bits: - <br /> <ul><li><code> "r" : O_RDONLY : </code> read-only - <br /> </li><li><code> "b" : O_BINARY : </code> binary (win32 specific) - <br /> </li><li><code> "f" : O_NOCTTY : </code> no char device (unix) - <br /> </li><li><code> "i" : ZZIP_CASELESS : </code> inside zip file - <br /> </li><li><code> "*" : ZZIP_NOPATHS : </code> inside zip file only - <br /> </ul> all other modes will be ignored for zip-contained entries - <br /> but they are transferred for compatibility and portability, - <br /> including these extra sugar bits: - <br /> <ul><li><code> "x" : O_EXCL :</code> fail if file did exist - <br /> </li><li><code> "s" : O_SYNC :</code> synchronized access - <br /> </li><li><code> "n" : O_NONBLOCK :</code> nonblocking access - <br /> </li><li><code> "z#" : compression level :</code> for zlib - <br /> </li><li><code> "g#" : group access :</code> unix access bits - <br /> </li><li><code> "u#" : owner access :</code> unix access bits - <br /> </li><li><code> "o#" : world access :</code> unix access bits - <br /> </ul>... the access bits are in traditional unix bit format - <br /> with 7 = read/write/execute, 6 = read/write, 4 = read-only. - <p> - The default access mode is 0664, and the compression level - <br /> is ignored since the lib can not yet write zip files, otherwise - <br /> it would be the initialisation value for the zlib deflateInit - <br /> where 0 = no-compression, 1 = best-speed, 9 = best-compression. - -<p align="right"><small>(../zzip/file.c)</small></p></dd> -<dt><a name="zzip_open" /><a name="zzip_open_ext_io" /><a name="zzip_open_shared_io" /><code><code>ZZIP_FILE* -</code> - <br /><b><code>zzip_open</code></b> - <code>zzip_open - <code>(<nobr>zzip_char_t* filename</nobr>, -<nobr>int o_flags</nobr>)</code> - -</code></code><br /> -<code><code>ZZIP_FILE* -</code> - <br /><b><code>zzip_open_ext_io</code></b> - <code>zzip_open_ext_io - <code>(<nobr>zzip_char_t* filename</nobr>, -<nobr>int o_flags</nobr>, -<nobr>int o_modes</nobr>, -<nobr>zzip_strings_t* ext</nobr>, -<nobr>zzip_plugin_io_t io</nobr>)</code> - -</code></code><br /> -<code><code>ZZIP_FILE* -</code> - <br /><b><code>zzip_open_shared_io</code></b> - <code>zzip_open_shared_io - <code>(<nobr>ZZIP_FILE* stream</nobr>, -<nobr>zzip_char_t* filename</nobr>, -<nobr>int o_flags</nobr>, -<nobr>int o_modes</nobr>, -<nobr>zzip_strings_t* ext</nobr>, -<nobr>zzip_plugin_io_t io</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/file.c) -<p> This function will <code>open(2)</code> a real/zipped file - <p> - It has some magic functionality builtin - it will first try to open - <br /> the given <em>filename</em> as a normal file. If it does not - <br /> exist, the given path to the filename (if any) is split into - <br /> its directory-part and the file-part. A ".zip" extension is - <br /> then added to the directory-part to create the name of a - <br /> zip-archive. That zip-archive (if it exists) is being searched - <br /> for the file-part, and if found a zzip-handle is returned. - <p> - Note that if the file is found in the normal fs-directory the - <br /> returned structure is mostly empty and the <a href="#zzip_read"><code>zzip_read</code></a> call will - <br /> use the libc <code>read</code> to obtain data. Otherwise a <a href="#zzip_file_open"><code>zzip_file_open</code></a> - <br /> is performed and any error mapped to <code>errno(3)</code>. - <p> - There was a possibility to transfer zziplib-specific openmodes - <br /> through o_flags but you should please not use them anymore and - <br /> look into <a href="#zzip_open_ext_io"><code>zzip_open_ext_io</code></a> to submit them down. This function - <br /> is shallow in that it just extracts the zzipflags and calls <ul><li><code> - <br /> zzip_open_ext_io(filename, o_flags, zzipflags|0664, 0, 0) </code></li></ul> - <br /> you must stop using this extra functionality (not well known - <br /> anyway) since zzip_open might be later usable to open files - <br /> for writing in which case the _EXTRAFLAGS will get in conflict. - <p> - compare with <code>open(2)</code> and <a href="#zzip_fopen"><code>zzip_fopen</code></a> - -<p align="right"><small>(../zzip/file.c)</small></p></dd> -<dt><a name="zzip_rewind" /><code><code>int -</code> - <br /><b><code>zzip_rewind</code></b> - <code>zzip_rewind - <code>(<nobr>ZZIP_FILE *fp</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/file.c) -<p> This function will rewind a real/zipped file. - <p> - It seeks to the beginning of this file's data in the zip, - <br /> or the beginning of the file for a stat'fd. - -<p align="right"><small>(../zzip/file.c)</small></p></dd> -<dt><a name="zzip_seek" /><code><code>zzip_off_t -</code> - <br /><b><code>zzip_seek</code></b> - <code>zzip_seek - <code>(<nobr>ZZIP_FILE * fp</nobr>, -<nobr>zzip_off_t offset</nobr>, -<nobr>int whence</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/file.c) -<p> This function will perform a <code>lseek(2)</code> operation on a real/zipped file - <p> - It will try to seek to the offset specified by offset, relative to whence, - <br /> which is one of SEEK_SET, SEEK_CUR or SEEK_END. - <p> - If the file-handle is wrapping a stat'able file then it will actually just - <br /> perform a normal <code>lseek(2)</code>-call. Otherwise the relative offset - <br /> is calculated, negative offsets are transformed into positive ones - <br /> by rewinding the file, and then data is read until the offset is - <br /> reached. This can make the function terribly slow, but this is - <br /> how gzio implements it, so I'm not sure there is a better way - <br /> without using the internals of the algorithm. - -<p align="right"><small>(../zzip/file.c)</small></p></dd> -<dt><a name="zzip_tell" /><code><code>zzip_off_t -</code> - <br /><b><code>zzip_tell</code></b> - <code>zzip_tell - <code>(<nobr>ZZIP_FILE * fp</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/file.c) -<p> This function will <code>tell(2)</code> the current position in a real/zipped file - <p> - It will return the current offset within the real/zipped file, - <br /> measured in uncompressed bytes for the zipped-file case. - <p> - If the file-handle is wrapping a stat'able file then it will actually just - <br /> perform a normal <code>tell(2)</code>-call, otherwise the offset is - <br /> calculated from the amount of data left and the total uncompressed - <br /> size; - -<p align="right"><small>(../zzip/file.c)</small></p></dd> -<dt><a name="zzip_error" /><a name="zzip_seterror" /><code><code>int -</code> - <br /><b><code>zzip_error</code></b> - <code>zzip_error - <code>(<nobr>ZZIP_DIR * dir</nobr>)</code> - -</code></code><br /> -<code><code>void -</code> - <br /><b><code>zzip_seterror</code></b> - <code>zzip_seterror - <code>(<nobr>ZZIP_DIR * dir</nobr>, -<nobr>int errcode</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/info.c) -<p> just returns dir<small>-></small>errcode of the ZZIP_DIR handle - <br /> see: <a href="#zzip_dir_open"><code>zzip_dir_open</code></a>, <code>zzip_diropen</code>, <a href="#zzip_readdir"><code>zzip_readdir</code></a>, <a href="#zzip_dir_read"><code>zzip_dir_read</code></a> - -<p align="right"><small>(../zzip/info.c)</small></p></dd> -<dt><a name="zzip_dirhandle" /><a name="zzip_dirfd" /><code><code>ZZIP_DIR * -</code> - <br /><b><code>zzip_dirhandle</code></b> - <code>zzip_dirhandle - <code>(<nobr>ZZIP_FILE * fp</nobr>)</code> - -</code></code><br /> -<code><code>int -</code> - <br /><b><code>zzip_dirfd</code></b> - <code>zzip_dirfd - <code>(<nobr>ZZIP_DIR* dir</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/info.c) -<p> This function will just return fp<small>-></small>dir - <p> - If a ZZIP_FILE is contained within a zip-file that one will be a valid - <br /> pointer, otherwise a NULL is returned and the ZZIP_FILE wraps a real file. - -<p align="right"><small>(../zzip/info.c)</small></p></dd> -<dt><a name="zzip_compr_str" /><code><code>zzip_char_t* -</code> - <br /><b><code>zzip_compr_str</code></b> - <code>zzip_compr_str - <code>(<nobr>int compr</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/info.c) -<p> return static const string of the known compression methods, - <br /> otherwise just "zipped" is returned - -<p align="right"><small>(../zzip/info.c)</small></p></dd> -<dt><a name="zzip_file_real" /><a name="zzip_dir_real" /><a name="zzip_realdir" /><a name="zzip_realfd" /><code><code>int -</code> - <br /><b><code>zzip_file_real</code></b> - <code>zzip_file_real - <code>(<nobr>ZZIP_FILE* fp</nobr>)</code> - -</code></code><br /> -<code><code>int -</code> - <br /><b><code>zzip_dir_real</code></b> - <code>zzip_dir_real - <code>(<nobr>ZZIP_DIR* dir</nobr>)</code> - -</code></code><br /> -<code><code>void* -</code> - <br /><b><code>zzip_realdir</code></b> - <code>zzip_realdir - <code>(<nobr>ZZIP_DIR* dir</nobr>)</code> - -</code></code><br /> -<code><code>int -</code> - <br /><b><code>zzip_realfd</code></b> - <code>zzip_realfd - <code>(<nobr>ZZIP_FILE* fp</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/info.c) -<p> This function checks if the ZZIP_FILE-handle is wrapping - <br /> a real file or a zip-contained file. - <br /> Returns 1 for a stat'able file, and 0 for a file inside a zip-archive. - -<p align="right"><small>(../zzip/info.c)</small></p></dd> -<dt><a name="zzip_init_io" /><a name="zzip_get_default_io" /><code><code>int </code> - <br /><b><code>zzip_init_io</code></b> - <code>zzip_init_io - <code>(<nobr>struct zzip_plugin_io* io</nobr>, -<nobr>int flags</nobr>)</code> - -</code></code><br /> -<code><code>zzip_plugin_io_t -</code> - <br /><b><code>zzip_get_default_io</code></b> - <code>zzip_get_default_io - <code>(<nobr></nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/plugin.c) -<p> This function initializes the users handler struct to default values - <br /> being the posix io functions in default configured environments. - -<p align="right"><small>(../zzip/plugin.c)</small></p></dd> -<dt><a name="zzip_dir_stat" /><code><code>int -</code> - <br /><b><code>zzip_dir_stat</code></b> - <code>zzip_dir_stat - <code>(<nobr>ZZIP_DIR * dir</nobr>, -<nobr>zzip_char_t* name</nobr>, -<nobr>ZZIP_STAT * zs</nobr>, -<nobr>int flags</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/stat.c) -<p> obtain information about a filename in an opened zip-archive without - <br /> opening that file first. Mostly used to obtain the uncompressed - <br /> size of a file inside a zip-archive. see <a href="#zzip_dir_open"><code>zzip_dir_open</code></a>. - -<p align="right"><small>(../zzip/stat.c)</small></p></dd> -<dt><a name="__zzip_get32" /><code><code>uint32_t </code> - <br /><b><code>__zzip_get32</code></b> - <code>__zzip_get32 - <code>(<nobr>unsigned char * s</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/zip.c) -<p> Make 32 bit value in host byteorder from little-endian mapped octet-data - <br /> (works also on machines which SIGBUS on misaligned data access (eg. 68000)) - -<p align="right"><small>(../zzip/zip.c)</small></p></dd> -<dt><a name="__zzip_find_disk_trailer" /><code><code>int -</code> - <br /><b><code>__zzip_find_disk_trailer</code></b> - <code>__zzip_find_disk_trailer - <code>(<nobr>int fd</nobr>, -<nobr>zzip_off_t filesize</nobr>, -<nobr>struct zzip_disk_trailer * trailer</nobr>, -<nobr>zzip_plugin_io_t io</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/zip.c) -<p> This function is used by <a href="#zzip_file_open"><code>zzip_file_open</code></a>. It tries to find - <br /> the zip's central directory info that is usually a few - <br /> bytes off the end of the file. - -<p align="right"><small>(../zzip/zip.c)</small></p></dd> -<dt><a name="__zzip_parse_root_directory" /><code><code>int -</code> - <br /><b><code>__zzip_parse_root_directory</code></b> - <code>__zzip_parse_root_directory - <code>(<nobr>int fd</nobr>, -<nobr>struct zzip_disk_trailer * trailer</nobr>, -<nobr>struct zzip_dir_hdr ** hdr_return</nobr>, -<nobr>zzip_plugin_io_t io</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/zip.c) -<p> This function is used by <a href="#zzip_file_open"><code>zzip_file_open</code></a>, it is usually called after - <br /> <a href="#__zzip_find_disk_trailer"><code>__zzip_find_disk_trailer</code></a>. It will parse the zip's central directory - <br /> information and create a zziplib private directory table in - <br /> memory. - -<p align="right"><small>(../zzip/zip.c)</small></p></dd> -<dt><a name="zzip_dir_alloc_ext_io" /><a name="zzip_dir_alloc" /><code><code>ZZIP_DIR* -</code> - <br /><b><code>zzip_dir_alloc_ext_io</code></b> - <code>zzip_dir_alloc_ext_io - <code>(<nobr>zzip_strings_t* ext</nobr>, -<nobr>const zzip_plugin_io_t io</nobr>)</code> - -</code></code><br /> -<code><code>ZZIP_DIR* -</code> - <br /><b><code>zzip_dir_alloc</code></b> - <code>zzip_dir_alloc - <code>(<nobr>zzip_strings_t* fileext</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/zip.c) -<p> allocate a new ZZIP_DIR handle and do basic - <br /> initializations before usage by <a href="#zzip_dir_fdopen"><code>zzip_dir_fdopen</code></a> - <br /> <a href="#zzip_dir_open"><code>zzip_dir_open</code></a> <a href="#zzip_file_open"><code>zzip_file_open</code></a> or through - <br /> <a href="#zzip_open"><code>zzip_open</code></a> - <br /> (ext==null flags uses { ".zip" , ".ZIP" } ) - <br /> (io ==null flags use of posix io defaults) - -<p align="right"><small>(../zzip/zip.c)</small></p></dd> -<dt><a name="zzip_dir_free" /><code><code>int -</code> - <br /><b><code>zzip_dir_free</code></b> - <code>zzip_dir_free - <code>(<nobr>ZZIP_DIR * dir</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/zip.c) -<p> will free the zzip_dir handle unless there are still - <br /> zzip_files attached (that may use its cache buffer). - <br /> This is the inverse of <a href="#zzip_dir_alloc"><code>zzip_dir_alloc</code></a> , and both - <br /> are helper functions used implicitly in other zzipcalls - <br /> e.g. <a href="#zzip_dir_close"><code>zzip_dir_close</code></a> = zzip_close - <p> - returns zero on sucess - <br /> returns the refcount when files are attached. - -<p align="right"><small>(../zzip/zip.c)</small></p></dd> -<dt><a name="zzip_dir_close" /><code><code>int -</code> - <br /><b><code>zzip_dir_close</code></b> - <code>zzip_dir_close - <code>(<nobr>ZZIP_DIR * dir</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/zip.c) -<p> It will also <code>free(2)</code> the <code>ZZIP_DIR</code>-handle given. - <br /> the counterpart for <a href="#zzip_dir_open"><code>zzip_dir_open</code></a> - <br /> see also <a href="#zzip_dir_free"><code>zzip_dir_free</code></a> - -<p align="right"><small>(../zzip/zip.c)</small></p></dd> -<dt><a name="zzip_dir_fdopen" /><a name="zzip_dir_fdopen_ext_io" /><code><code>ZZIP_DIR * -</code> - <br /><b><code>zzip_dir_fdopen</code></b> - <code>zzip_dir_fdopen - <code>(<nobr>int fd</nobr>, -<nobr>zzip_error_t * errcode_p</nobr>)</code> - -</code></code><br /> -<code><code>ZZIP_DIR * -</code> - <br /><b><code>zzip_dir_fdopen_ext_io</code></b> - <code>zzip_dir_fdopen_ext_io - <code>(<nobr>int fd</nobr>, -<nobr>zzip_error_t * errcode_p</nobr>, -<nobr>zzip_strings_t* ext</nobr>, -<nobr>const zzip_plugin_io_t io</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/zip.c) -<p> used by the <a href="#zzip_dir_open"><code>zzip_dir_open</code></a> and zzip_opendir(2) call. Opens the - <br /> zip-archive as specified with the fd which points to an - <br /> already openend file. This function then search and parse - <br /> the zip's central directory. - <br /> <p> - NOTE: refcount is zero, so an _open/_close pair will also delete - <br /> this _dirhandle - -<p align="right"><small>(../zzip/zip.c)</small></p></dd> -<dt><a name="__zzip_try_open" /><code><code>int -</code> - <br /><b><code>__zzip_try_open</code></b> - <code>__zzip_try_open - <code>(<nobr>zzip_char_t* filename</nobr>, -<nobr>int filemode</nobr>, -<nobr>zzip_strings_t* ext</nobr>, -<nobr>zzip_plugin_io_t io</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/zip.c) -<p> will attach a .zip extension and tries to open it - <br /> the with <code>open(2)</code>. This is a helper function for - <br /> <a href="#zzip_dir_open"><code>zzip_dir_open</code></a>, <a href="#zzip_opendir"><code>zzip_opendir</code></a> and <a href="#zzip_open"><code>zzip_open</code></a>. - -<p align="right"><small>(../zzip/zip.c)</small></p></dd> -<dt><a name="zzip_dir_open" /><a name="zzip_dir_open_ext_io" /><code><code>ZZIP_DIR* -</code> - <br /><b><code>zzip_dir_open</code></b> - <code>zzip_dir_open - <code>(<nobr>zzip_char_t* filename</nobr>, -<nobr>zzip_error_t* e</nobr>)</code> - -</code></code><br /> -<code><code>ZZIP_DIR* -</code> - <br /><b><code>zzip_dir_open_ext_io</code></b> - <code>zzip_dir_open_ext_io - <code>(<nobr>zzip_char_t* filename</nobr>, -<nobr>zzip_error_t* e</nobr>, -<nobr>zzip_strings_t* ext</nobr>, -<nobr>zzip_plugin_io_t io</nobr>)</code> - -</code></code><dt> -<dd><p> (../zzip/zip.c) -<p> Opens the zip-archive (if available). - <br /> the two ext_io arguments will default to use posix io and - <br /> a set of default fileext that can atleast add .zip ext itself. - -<p align="right"><small>(../zzip/zip.c)</small></p></dd> -<dt><a name="zzip_dir_read" /><code><code>int -</code> - <br /><b><code>zzip_dir_read</code></b> - <code>zzip_dir_read - <code>(<nobr>ZZIP_DIR * dir</nobr>, -<nobr>ZZIP_DIRENT * d</nobr> )</code> - -</code></code><dt> -<dd><p> (../zzip/zip.c) -<p> fills the dirent-argument with the values and - <br /> increments the read-pointer of the dir-argument. - <br /> <p> - returns 0 if there no entry (anymore). - -<p align="right"><small>(../zzip/zip.c)</small></p></dd> -</dl> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_open">zzip_open</a></b>(zzip_char_t * filename, int o_flags) + : ZZIP_FILE * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_open_ext_io">zzip_open_ext_io</a></b>(zzip_char_t * filename, int o_flags, int o_modes, + zzip_strings_t * ext, zzip_plugin_io_t io) + : ZZIP_FILE * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_open_shared_io">zzip_open_shared_io</a></b>(ZZIP_FILE * stream, + zzip_char_t * filename, int o_flags, int o_modes, + zzip_strings_t * ext, zzip_plugin_io_t io) + : ZZIP_FILE * +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/file.c</small></em></td></table> +</td></tr><tr><td valign="top"><p> + The <code>zzip_open_ext_io</code> function uses explicit ext and io instead of the internal + defaults, setting them to zero is equivalent to <code><a href="#zzip_open">zzip_open</a></code> +</p><p> + note that the two flag types have been split into an o_flags + (for fcntl-like openflags) and o_modes where the latter shall + carry the zzip_flags and possibly accessmodes for unix filesystems. + Since this version of zziplib can not write zipfiles, it is not + yet used for anything else than zzip-specific modeflags. +</p><p> + The <code>zzip_open_ext_io</code> function returns a new zzip-handle (use <code><a href="#zzip_close">zzip_close</a></code> to return + it). On error the <code>zzip_open_ext_io</code> function will return null setting <a href="http://www.opengroup.org/onlinepubs/000095399/functions/errno.html"><code>errno(3)</code></a>. +</p><p> + If any ext_io handlers were used then the referenced structure + should be static as the allocated ZZIP_FILE does not copy them. +</p> +</td></tr><tr><td valign="top"><p> + The <code>zzip_open_shared_io</code> function takes an extra stream argument - if a handle has been + then ext/io can be left null and the new stream handle will pick up + the ext/io. This should be used only in specific environment however + since <code><a href="#zzip_file_real">zzip_file_real</a></code> does not store any ext-sequence. +</p><p> + The benefit for the <code>zzip_open_shared_io</code> function comes in when the old file handle + was openened from a file within a zip archive. When the new file + is in the same zip archive then the internal zzip_dir structures + will be shared. It is even quicker, as no check needs to be done + anymore trying to guess the zip archive place in the filesystem, + here we just check whether the zip archive's filepath is a prefix + part of the filename to be opened. +</p><p> + Note that the <code>zzip_open_shared_io</code> function is also used by <code><a href="#zzip_freopen">zzip_freopen</a></code> that + will unshare the old handle, thereby possibly closing the handle. +</p><p> + The <code>zzip_open_shared_io</code> function returns a new zzip-handle (use <code><a href="#zzip_close">zzip_close</a></code> to return + it). On error the <code>zzip_open_shared_io</code> function will return null setting <a href="http://www.opengroup.org/onlinepubs/000095399/functions/errno.html"><code>errno(3)</code></a>. +</p> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_opendir">zzip_opendir</a></b>(zzip_char_t * filename) + : ZZIP_DIR * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_opendir_ext_io">zzip_opendir_ext_io</a></b>(zzip_char_t * filename, int o_modes, + zzip_strings_t * ext, zzip_plugin_io_t io) + : ZZIP_DIR * +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/dir.c</small></em></td></table> +</td></tr><tr><td valign="top"><p> The <code>zzip_opendir_ext_io</code> function uses explicit ext and io instead of the internal + defaults, setting them to zero is equivalent to <code><a href="#zzip_opendir">zzip_opendir</a></code> +</p> +</td></tr></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_file_real">zzip_file_real</a></b>(ZZIP_FILE * fp) + : int +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_dir_real">zzip_dir_real</a></b>(ZZIP_DIR * dir) + : int +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_realdir">zzip_realdir</a></b>(ZZIP_DIR * dir) + : void * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_realfd">zzip_realfd</a></b>(ZZIP_FILE * fp) + : int +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/info.c</small></em></td></table> +</td></tr><tr><td valign="top"><p> The <code>zzip_dir_real</code> function checks if the ZZIP_DIR-handle is wrapping + a real directory or a zip-archive. + Returns 1 for a stat'able directory, and 0 for a handle to zip-archive. +</p> +</td></tr><tr><td valign="top"><p> The <code>zzip_realdir</code> function returns the posix DIR* handle (if one exists). + Check before with <code><a href="#zzip_dir_real">zzip_dir_real</a></code> if the + the ZZIP_DIR points to a real directory. +</p> +</td></tr><tr><td valign="top"><p> The <code>zzip_realfd</code> function returns the posix file descriptor (if one exists). + Check before with <code><a href="#zzip_file_real">zzip_file_real</a></code> if the + the ZZIP_FILE points to a real file. +</p> +</td></tr></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_tell">zzip_tell</a></b>(ZZIP_FILE * fp) + : zzip_off_t +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_tell32">zzip_tell32</a></b>(ZZIP_FILE * fp) + : long +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/file.c</small></em></td></table> +</td></tr><tr><td valign="top"><p> The <code>zzip_tell32</code> function is provided for users who can not use any largefile-mode. +</p> +</td></tr></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_dir_stat">zzip_dir_stat</a></b>(ZZIP_DIR * dir, zzip_char_t * name, ZZIP_STAT * zs, int flags) + : int +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_file_stat">zzip_file_stat</a></b>(ZZIP_FILE * file, ZZIP_STAT * zs) + : int +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_fstat">zzip_fstat</a></b>(ZZIP_FILE * file, ZZIP_STAT * zs) + : int +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/stat.c</small></em></td></table> +</td></tr><tr><td valign="top"><p> The <code>zzip_file_stat</code> function will obtain information about a opened file _within_ a + zip-archive. The file is supposed to be open (otherwise -1 is returned). + The st_size stat-member contains the uncompressed size. The optional + d_name is never set here. +</p> +</td></tr><tr><td valign="top"><p> The <code>zzip_fstat</code> function will obtain information about a opened file which may be + either real/zipped. The file is supposed to be open (otherwise -1 is + returned). The st_size stat-member contains the uncompressed size. + The optional d_name is never set here. For a real file, we do set the + d_csize := st_size and d_compr := 0 for meaningful defaults. +</p> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_strerror">zzip_strerror</a></b>(int errcode) + : zzip_char_t * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_strerror_of">zzip_strerror_of</a></b>(ZZIP_DIR * dir) + : zzip_char_t * +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/err.c</small></em></td></table> +</td></tr><tr><td valign="top"><p> The <code>zzip_strerror_of</code> function fetches the errorcode from the <code>DIR-handle</code> and + runs it through <code><a href="#zzip_strerror">zzip_strerror</a></code> to obtain the static string + describing the error. +</p> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_dir_open">zzip_dir_open</a></b>(zzip_char_t * filename, zzip_error_t * e) + : ZZIP_DIR * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_dir_open_ext_io">zzip_dir_open_ext_io</a></b>(zzip_char_t * filename, zzip_error_t * e, + zzip_strings_t * ext, zzip_plugin_io_t io) + : ZZIP_DIR * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_dir_read">zzip_dir_read</a></b>(ZZIP_DIR * dir, ZZIP_DIRENT * d) + : int +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/zip.c</small></em></td></table> +</td></tr><tr><td valign="top"><p> the <code>zzip_dir_open_ext_io</code> function uses explicit ext and io instead of the internal + defaults. Setting these to zero is equivalent to <code><a href="#zzip_dir_open">zzip_dir_open</a></code> + Note that the referenced ext_io plugin handlers structure must be + static as it is not copied to the returned ZZIP_DIR structure. +</p> +</td></tr><tr><td valign="top"><p> fills the dirent-argument with the values and + increments the read-pointer of the dir-argument. +</p><p> + returns 0 if there no entry (anymore). +</p> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_init_io">zzip_init_io</a></b>(zzip_plugin_io_handlers_t io, int flags) + : int +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_get_default_io">zzip_get_default_io</a></b>(void) + : zzip_plugin_io_t +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/plugin.c</small></em></td></table> +</td></tr><tr><td valign="top"><p> The <code>zzip_get_default_io</code> function returns a zzip_plugin_io_t handle to static defaults + wrapping the posix io file functions for actual file access. The + returned structure is shared by all threads in the system. +</p> +</td></tr></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_rewinddir">zzip_rewinddir</a></b>(ZZIP_DIR * dir) + : void +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_telldir">zzip_telldir</a></b>(ZZIP_DIR * dir) + : zzip_off_t +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_seekdir">zzip_seekdir</a></b>(ZZIP_DIR * dir, zzip_off_t offset) + : void +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_telldir32">zzip_telldir32</a></b>(ZZIP_DIR * dir) + : long +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_seekdir32">zzip_seekdir32</a></b>(ZZIP_DIR * dir, long offset) + : void +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em> </em> </td><td align="right"> <em><small>zzip/dir.c</small></em></td></table><p> The <code>zzip_rewinddir</code> function is the equivalent of a <a href="http://www.opengroup.org/onlinepubs/000095399/functions/rewinddir.html"><code>rewinddir(2)</code></a> for a realdir or + the zipfile in place of a directory. The ZZIP_DIR handle returned from + <code><a href="#zzip_opendir">zzip_opendir</a></code> has a flag saying realdir or zipfile. As for a zipfile, + the filenames will include the filesubpath, so take care. +</p> +</td></tr><tr><td valign="top"><p> The <code>zzip_telldir</code> function is the equivalent of <a href="http://www.opengroup.org/onlinepubs/000095399/functions/telldir.html"><code>telldir(2)</code></a> for a realdir or zipfile. +</p> +</td></tr><tr><td valign="top"><p> The <code>zzip_seekdir</code> function is the equivalent of <a href="http://www.opengroup.org/onlinepubs/000095399/functions/seekdir.html"><code>seekdir(2)</code></a> for a realdir or zipfile. +</p> +</td></tr><tr><td valign="top"><p> The <code>zzip_telldir32</code> function is provided for users who can not use any largefile-mode. +</p> +</td></tr><tr><td valign="top"><p> The <code>zzip_seekdir32</code> function is provided for users who can not use any largefile-mode. +</p> +</td></tr></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_fopen">zzip_fopen</a></b>(zzip_char_t * filename, zzip_char_t * mode) + : ZZIP_FILE * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_freopen">zzip_freopen</a></b>(zzip_char_t * filename, zzip_char_t * mode, ZZIP_FILE * stream) + : ZZIP_FILE * +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em> </em> </td><td align="right"> <em><small>zzip/file.c</small></em></td></table><p> The <code>zzip_fopen</code> function will <a href="http://www.opengroup.org/onlinepubs/000095399/functions/fopen.html"><code>fopen(3)</code></a> a real/zipped file. +</p><p> + It has some magic functionality builtin - it will first try to open + the given <em>filename</em> as a normal file. If it does not + exist, the given path to the filename (if any) is split into + its directory-part and the file-part. A ".zip" extension is + then added to the directory-part to create the name of a + zip-archive. That zip-archive (if it exists) is being searched + for the file-part, and if found a zzip-handle is returned. +</p><p> + Note that if the file is found in the normal fs-directory the + returned structure is mostly empty and the <code><a href="#zzip_read">zzip_read</a></code> call will + use the libc <a href="http://www.opengroup.org/onlinepubs/000095399/functions/read.html"><code>read(2)</code></a> to obtain data. Otherwise a <code><a href="#zzip_file_open">zzip_file_open</a></code> + is performed and any error mapped to <a href="http://www.opengroup.org/onlinepubs/000095399/functions/errno.html"><code>errno(3)</code></a>. +</p><p> + unlike the posix-wrapper <code><a href="#zzip_open">zzip_open</a></code> the mode-argument is + a string which allows for more freedom to support the extra + zzip modes called ZZIP_CASEINSENSITIVE and ZZIP_IGNOREPATH. + Currently, this <code><a href="#zzip_fopen">zzip_fopen</a></code> call will convert the following + characters in the mode-string into their corrsponding mode-bits: +</p><ul><li><p> <code> "r" : O_RDONLY : </code> read-only </p></li> +<li><p> <code> "b" : O_BINARY : </code> binary (win32 specific) </p></li> +<li><p> <code> "f" : O_NOCTTY : </code> no char device (unix) </p></li> +<li><p> <code> "i" : ZZIP_CASELESS : </code> inside zip file </p></li> +<li><p> <code> "*" : ZZIP_NOPATHS : </code> inside zip file only </p></li> +</ul><p> all other modes will be ignored for zip-contained entries + but they are transferred for compatibility and portability, + including these extra sugar bits: +</p><ul><li><p> <code> "x" : O_EXCL :</code> fail if file did exist </p></li> +<li><p> <code> "s" : O_SYNC :</code> synchronized access </p></li> +<li><p> <code> "n" : O_NONBLOCK :</code> nonblocking access </p></li> +<li><p> <code> "z#" : compression level :</code> for zlib </p></li> +<li><p> <code> "g#" : group access :</code> unix access bits </p></li> +<li><p> <code> "u#" : owner access :</code> unix access bits </p></li> +<li><p> <code> "o#" : world access :</code> unix access bits </p></li> +</ul><p> ... the access bits are in traditional unix bit format + with 7 = read/write/execute, 6 = read/write, 4 = read-only. +</p><p> + The default access mode is 0664, and the compression level + is ignored since the lib can not yet write zip files, otherwise + it would be the initialisation value for the zlib deflateInit + where 0 = no-compression, 1 = best-speed, 9 = best-compression. +</p><p> + The <code>zzip_fopen</code> function returns a new zzip-handle (use <code><a href="#zzip_close">zzip_close</a></code> to return + it). On error the <code>zzip_fopen</code> function will return null setting <a href="http://www.opengroup.org/onlinepubs/000095399/functions/errno.html"><code>errno(3)</code></a>. +</p> +</td></tr><tr><td valign="top"><p> + The <code>zzip_freopen</code> function receives an additional argument pointing to + a ZZIP_FILE* being already in use. If this extra argument is + null then the <code>zzip_freopen</code> function is identical with calling <code><a href="#zzip_fopen">zzip_fopen</a></code> +</p><p> + Per default, the old file stream is closed and only the internal + structures associated with it are kept. These internal structures + may be reused for the return value, and this is a lot quicker when + the filename matches a zipped file that is incidentally in the very + same zip arch as the old filename wrapped in the stream struct. +</p><p> + That's simply because the zip arch's central directory does not + need to be read again. As an extension for the <code>zzip_freopen</code> function, if the + mode-string contains a "q" then the old stream is not closed but + left untouched, instead it is only given as a hint that a new + file handle may share/copy the zip arch structures of the old file + handle if that is possible, i.e when they are in the same zip arch. +</p><p> + The <code>zzip_freopen</code> function returns a new zzip-handle (use <code><a href="#zzip_close">zzip_close</a></code> to return + it). On error the <code>zzip_freopen</code> function will return null setting <a href="http://www.opengroup.org/onlinepubs/000095399/functions/errno.html"><code>errno(3)</code></a>. +</p> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_dirhandle">zzip_dirhandle</a></b>(ZZIP_FILE * fp) + : ZZIP_DIR * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_dirfd">zzip_dirfd</a></b>(ZZIP_DIR * dir) + : int +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/info.c</small></em></td></table> +</td></tr><tr><td valign="top"><p> The <code>zzip_dirfd</code> function will just return dir->fd +</p><p> + If a ZZIP_DIR does point to a zipfile then the file-descriptor of that + zipfile is returned, otherwise a NULL is returned and the ZZIP_DIR wraps + a real directory DIR (if you have dirent on your system). +</p> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_seek">zzip_seek</a></b>(ZZIP_FILE * fp, zzip_off_t offset, int whence) + : zzip_off_t +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_seek32">zzip_seek32</a></b>(ZZIP_FILE * fp, long offset, int whence) + : long +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/file.c</small></em></td></table> +</td></tr><tr><td valign="top"><p> The <code>zzip_seek32</code> function is provided for users who can not use any largefile-mode. +</p> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_read">zzip_read</a></b>(ZZIP_FILE * fp, void *buf, zzip_size_t len) + : zzip_ssize_t +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_fread">zzip_fread</a></b>(void *ptr, zzip_size_t size, zzip_size_t nmemb, ZZIP_FILE * file) + : zzip_size_t +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/file.c</small></em></td></table> +</td></tr><tr><td valign="top"> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_dir_free">zzip_dir_free</a></b>(ZZIP_DIR * dir) + : int +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_dir_close">zzip_dir_close</a></b>(ZZIP_DIR * dir) + : int +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/zip.c</small></em></td></table> +</td></tr><tr><td valign="top"><p> It will also <a href="http://www.opengroup.org/onlinepubs/000095399/functions/free.html"><code>free(2)</code></a> the <code>ZZIP_DIR-handle</code> given. + the counterpart for <code><a href="#zzip_dir_open">zzip_dir_open</a></code> + see also <code><a href="#zzip_dir_free">zzip_dir_free</a></code> +</p> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_fclose">zzip_fclose</a></b>(ZZIP_FILE * fp) + : int +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_close">zzip_close</a></b>(ZZIP_FILE * fp) + : int +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/file.c</small></em></td></table> +</td></tr><tr><td valign="top"> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_dir_fdopen">zzip_dir_fdopen</a></b>(int fd, zzip_error_t * errcode_p) + : ZZIP_DIR * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_dir_fdopen_ext_io">zzip_dir_fdopen_ext_io</a></b>(int fd, zzip_error_t * errcode_p, + zzip_strings_t * ext, const zzip_plugin_io_t io) + : ZZIP_DIR * +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/zip.c</small></em></td></table> +</td></tr><tr><td valign="top"><p> the <code>zzip_dir_fdopen_ext_io</code> function uses explicit ext and io instead of the internal + defaults, setting these to zero is equivalent to <code><a href="#zzip_dir_fdopen">zzip_dir_fdopen</a></code> +</p> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_dir_alloc_ext_io">zzip_dir_alloc_ext_io</a></b>(zzip_strings_t * ext, const zzip_plugin_io_t io) + : ZZIP_DIR * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_dir_alloc">zzip_dir_alloc</a></b>(zzip_strings_t * fileext) + : ZZIP_DIR * +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/zip.c</small></em></td></table> +</td></tr><tr><td valign="top"><p> the <code>zzip_dir_alloc</code> function is obsolete - it was generally used for implementation + and exported to let other code build on it. It is now advised to + use <code><a href="#zzip_dir_alloc_ext_io">zzip_dir_alloc_ext_io</a></code> now on explicitly, just set that second + argument to zero to achieve the same functionality as the old style. +</p> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_readdir">zzip_readdir</a></b>(ZZIP_DIR * dir) + : ZZIP_DIRENT * +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/dir.c</small></em></td></table> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_closedir">zzip_closedir</a></b>(ZZIP_DIR * dir) + : int +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/dir.c</small></em></td></table> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_errno">zzip_errno</a></b>(int errcode) + : int +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/err.c</small></em></td></table> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_file_close">zzip_file_close</a></b>(ZZIP_FILE * fp) + : int +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/file.c</small></em></td></table> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_file_open">zzip_file_open</a></b>(ZZIP_DIR * dir, zzip_char_t * name, int o_mode) + : ZZIP_FILE * +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/file.c</small></em></td></table> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_inflate_init">zzip_inflate_init</a></b>(ZZIP_FILE * fp, struct zzip_dir_hdr *hdr) + : static int +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/file.c</small></em></td></table> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_file_read">zzip_file_read</a></b>(ZZIP_FILE * fp, void *buf, zzip_size_t len) + : zzip_ssize_t +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/file.c</small></em></td></table> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_rewind">zzip_rewind</a></b>(ZZIP_FILE * fp) + : int +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/file.c</small></em></td></table> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_compr_str">zzip_compr_str</a></b>(int compr) + : zzip_char_t * +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/info.c</small></em></td></table> +</td></tr></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="__zzip_fetch_disk_trailer">__zzip_fetch_disk_trailer</a></b>(int fd, zzip_off_t filesize, + struct _disk_trailer *_zzip_restrict trailer, + zzip_plugin_io_t io) + : int +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/zip.c</small></em></td></table> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="__zzip_parse_root_directory">__zzip_parse_root_directory</a></b>(int fd, + struct _disk_trailer *trailer, + struct zzip_dir_hdr **hdr_return, + zzip_plugin_io_t io) + : int +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/zip.c</small></em></td></table> +</td></tr></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="__zzip_try_open">__zzip_try_open</a></b>(zzip_char_t * filename, int filemode, + zzip_strings_t * ext, zzip_plugin_io_t io) + : int +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em>...</em> </td><td align="right"> <em><small>zzip/zip.c</small></em></td></table> +</td></tr></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd></dl> </body></html> -</td></tr></table></body></html> diff --git a/source/libs/zziplib/zziplib-src/docs/zzipmmapped.html b/source/libs/zziplib/zziplib-src/docs/zzipmmapped.html new file mode 100644 index 000000000..38f22983c --- /dev/null +++ b/source/libs/zziplib/zziplib-src/docs/zzipmmapped.html @@ -0,0 +1,263 @@ +<html><head><title>zziplib Library Functions</title> +</head><body> +<h2>zziplib Library Functions</h2><p>Version 0.13.68</p><p><big><b><code>#include <zzip/mmapped.h></code></b></big></p><table width="100%"><tr><td valign="top"><code><b><code><a href="#zzip_disk_entry_to_data">zzip_disk_entry_to_data</a></code></b>(ZZIP_DISK * disk, struct zzip_disk_entry * entry) + : zzip_byte_t * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_entry_to_file_header">zzip_disk_entry_to_file_header</a></code></b>(ZZIP_DISK * disk, struct zzip_disk_entry *entry) + : struct zzip_file_header * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_entry_strdup_name">zzip_disk_entry_strdup_name</a></code></b>(ZZIP_DISK * disk, struct zzip_disk_entry *entry) + : zzip__new__ char * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_entry_strdup_comment">zzip_disk_entry_strdup_comment</a></code></b>(ZZIP_DISK * disk, struct zzip_disk_entry *entry) + : zzip__new__ char * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_findfile">zzip_disk_findfile</a></code></b>(ZZIP_DISK * disk, char *filename, + struct zzip_disk_entry *after, zzip_strcmp_fn_t compare) + : struct zzip_disk_entry * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_findfirst">zzip_disk_findfirst</a></code></b>(ZZIP_DISK * disk) + : struct zzip_disk_entry * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_findnext">zzip_disk_findnext</a></code></b>(ZZIP_DISK * disk, struct zzip_disk_entry *entry) + : struct zzip_disk_entry * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_findmatch">zzip_disk_findmatch</a></code></b>(ZZIP_DISK * disk, char *filespec, + struct zzip_disk_entry *after, + zzip_fnmatch_fn_t compare, int flags) + : struct zzip_disk_entry * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_fopen">zzip_disk_fopen</a></code></b>(ZZIP_DISK * disk, char *filename) + : zzip__new__ ZZIP_DISK_FILE * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_entry_fopen">zzip_disk_entry_fopen</a></code></b>(ZZIP_DISK * disk, ZZIP_DISK_ENTRY * entry) + : zzip__new__ ZZIP_DISK_FILE * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_fread">zzip_disk_fread</a></code></b>(void *ptr, zzip_size_t sized, zzip_size_t nmemb, + ZZIP_DISK_FILE * file) + : zzip_size_t +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_fclose">zzip_disk_fclose</a></code></b>(ZZIP_DISK_FILE * file) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_feof">zzip_disk_feof</a></code></b>(ZZIP_DISK_FILE * file) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_mmap">zzip_disk_mmap</a></code></b>(int fd) + : zzip__new__ ZZIP_DISK * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_init">zzip_disk_init</a></code></b>(ZZIP_DISK * disk, void *buffer, zzip_size_t buflen) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_new">zzip_disk_new</a></code></b>(void) + : zzip__new__ ZZIP_DISK * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_munmap">zzip_disk_munmap</a></code></b>(ZZIP_DISK * disk) + : int +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_open">zzip_disk_open</a></code></b>(char *filename) + : zzip__new__ ZZIP_DISK * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_buffer">zzip_disk_buffer</a></code></b>(void *buffer, size_t buflen) : zzip__new__ ZZIP_DISK * +</code></td></tr><tr><td valign="top"><code><b><code><a href="#zzip_disk_close">zzip_disk_close</a></code></b>(ZZIP_DISK * disk) + : int +</code></td></tr></table><h3>Documentation</h3><dl><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_disk_entry_to_data">zzip_disk_entry_to_data</a></b>(ZZIP_DISK * disk, struct zzip_disk_entry * entry) + : zzip_byte_t * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_disk_entry_to_file_header">zzip_disk_entry_to_file_header</a></b>(ZZIP_DISK * disk, struct zzip_disk_entry *entry) + : struct zzip_file_header * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_disk_entry_strdup_name">zzip_disk_entry_strdup_name</a></b>(ZZIP_DISK * disk, struct zzip_disk_entry *entry) + : zzip__new__ char * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_disk_entry_strdup_comment">zzip_disk_entry_strdup_comment</a></b>(ZZIP_DISK * disk, struct zzip_disk_entry *entry) + : zzip__new__ char * +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em> helper functions for (mmapped) zip access api</em> </td><td align="right"> <em><small>zzip/mmapped.c</small></em></td></table><p> + The <code>zzip_disk_entry_to_data</code> function augments the other zzip_disk_entry_* helpers: here we move + a disk_entry pointer (as returned by _find* functions) into a pointer to + the data block right after the file_header. Only disk->buffer would be + needed to perform the seek but we check the mmapped range end as well. +</p><p> + The <code>zzip_disk_entry_to_data</code> function returns a pointer into disk->buffer or 0 on error (errno). +</p> +</td></tr><tr><td valign="top"><p> The <code>zzip_disk_entry_to_file_header</code> function does half the job of <code><a href="#zzip_disk_entry_to_data">zzip_disk_entry_to_data</a></code> where it + can augment with <code><u>zzip_file_header_to_data</u></code> helper from format/fetch.h +</p><p> + The <code>zzip_disk_entry_to_file_header</code> function returns a pointer into disk->buffer or 0 on error (errno). +</p> +</td></tr><tr><td valign="top"><p> The <code>zzip_disk_entry_strdup_name</code> function is a big helper despite its little name: in a zip file the + encoded filenames are usually NOT zero-terminated but for common usage + with libc we need it that way. Secondly, the filename SHOULD be present + in the zip central directory but if not then we fallback to the filename + given in the file_header of each compressed data portion. +</p><p> + The <code>zzip_disk_entry_strdup_name</code> function returns a new string buffer, or null on error. + If no name can be found then an empty string is returned. +</p> +</td></tr><tr><td valign="top"><p> The <code>zzip_disk_entry_strdup_comment</code> function is similar creating a reference to a zero terminated + string but it can only exist in the zip central directory entry. +</p><p> + The <code>zzip_disk_entry_strdup_comment</code> function returns a new string buffer, or null on error (errno). + If no name can be found then an empty string is returned. +</p> +</td></tr></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_disk_findfile">zzip_disk_findfile</a></b>(ZZIP_DISK * disk, char *filename, + struct zzip_disk_entry *after, zzip_strcmp_fn_t compare) + : struct zzip_disk_entry * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_disk_findfirst">zzip_disk_findfirst</a></b>(ZZIP_DISK * disk) + : struct zzip_disk_entry * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_disk_findnext">zzip_disk_findnext</a></b>(ZZIP_DISK * disk, struct zzip_disk_entry *entry) + : struct zzip_disk_entry * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_disk_findmatch">zzip_disk_findmatch</a></b>(ZZIP_DISK * disk, char *filespec, + struct zzip_disk_entry *after, + zzip_fnmatch_fn_t compare, int flags) + : struct zzip_disk_entry * +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em> search for files in the (mmapped) zip central directory</em> </td><td align="right"> <em><small>zzip/mmapped.c</small></em></td></table><p> + The <code>zzip_disk_findfile</code> function is given a filename as an additional argument, to find the + disk_entry matching a given filename. The compare-function is usually + strcmp or strcasecmp or perhaps strcoll, if null then strcmp is used. + - use null as argument for "after"-entry when searching the first + matching entry, otherwise the last returned value if you look for other + entries with a special "compare" function (if null then a doubled search + is rather useless with this variant of _findfile). +</p><p> + The <code>zzip_disk_findfile</code> functionreturns the entry pointer. + The <code>zzip_disk_findfile</code> function may return null on error. (errno = ENOMEM|EBADMSG|ENOENT) +</p> +</td></tr><tr><td valign="top"><p> + The <code>zzip_disk_findfirst</code> function is the first call of all the zip access functions here. + It contains the code to find the first entry of the zip central directory. + Here we require the mmapped block to represent a real zip file where the + disk_trailer is _last_ in the file area, so that its position would be at + a fixed offset from the end of the file area if not for the comment field + allowed to be of variable length (which needs us to do a little search + for the disk_tailer). However, in this simple implementation we disregard + any disk_trailer info telling about multidisk archives, so we just return + a pointer to the zip central directory. +</p><p> + For an actual means, we are going to search backwards from the end + of the mmaped block looking for the PK-magic signature of a + disk_trailer. If we see one then we check the rootseek value to + find the first disk_entry of the root central directory. If we find + the correct PK-magic signature of a disk_entry over there then we + assume we are done and we are going to return a pointer to that label. +</p><p> + The return value is a pointer to the first zzip_disk_entry being checked + to be within the bounds of the file area specified by the arguments. If + no disk_trailer was found then null is returned, and likewise we only + accept a disk_trailer with a seekvalue that points to a disk_entry and + both parts have valid PK-magic parts. Beyond some sanity check we try to + catch a common brokeness with zip archives that still allows us to find + the start of the zip central directory.So the <code>zzip_disk_findfirst</code> function may return null + and sets errno. +</p> +</td></tr><tr><td valign="top"><p> + The <code>zzip_disk_findnext</code> function takes an existing disk_entry in the central root directory + (e.g. from zzip_disk_findfirst) and returns the next entry within in + the given bounds of the mmapped file area. +</p><p> + The <code>zzip_disk_findnext</code> function returns null if no next entry can be found. + The <code>zzip_disk_findnext</code> function may return null on errors. (errno = ENOENT|EINVAL|EBADMSG) +</p> +</td></tr><tr><td valign="top"><p> + The <code>zzip_disk_findmatch</code> function uses a compare-function with an additional argument + and it is called just like fnmatch(3) from POSIX.2 AD:1993), i.e. + the argument filespec first and the ziplocal filename second with + the integer-flags put in as third to the indirect call. If the + platform has fnmatch available then null-compare will use that one + and otherwise we fall back to mere strcmp, so if you need fnmatch + searching then please provide an implementation somewhere else. + - use null as argument for "after"-entry when searching the first + matching entry, or the last disk_entry return-value to find the + next entry matching the given filespec. +</p><p> + The <code>zzip_disk_findmatch</code> function will return the matching entry pointer. + The <code>zzip_disk_findmatch</code> function may return null on error. (errno = ENOMEM|EBADMSG|ENOENT) +</p> +</td></tr></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_disk_fopen">zzip_disk_fopen</a></b>(ZZIP_DISK * disk, char *filename) + : zzip__new__ ZZIP_DISK_FILE * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_disk_entry_fopen">zzip_disk_entry_fopen</a></b>(ZZIP_DISK * disk, ZZIP_DISK_ENTRY * entry) + : zzip__new__ ZZIP_DISK_FILE * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_disk_fread">zzip_disk_fread</a></b>(void *ptr, zzip_size_t sized, zzip_size_t nmemb, + ZZIP_DISK_FILE * file) + : zzip_size_t +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_disk_fclose">zzip_disk_fclose</a></b>(ZZIP_DISK_FILE * file) + : int +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_disk_feof">zzip_disk_feof</a></b>(ZZIP_DISK_FILE * file) + : int +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em> openening a file part wrapped within a (mmapped) zip archive</em> </td><td align="right"> <em><small>zzip/mmapped.c</small></em></td></table><p> + The <code>zzip_disk_fopen</code> function opens a file found by name, so it does a search into + the zip central directory with <code><a href="#zzip_disk_findfile">zzip_disk_findfile</a></code> and whatever + is found first is given to <code><a href="#zzip_disk_entry_fopen">zzip_disk_entry_fopen</a></code> +</p><p> + The <code>zzip_disk_fopen</code> function may return null on errors (errno). +</p> +</td></tr><tr><td valign="top"><p> + the ZZIP_DISK_FILE* is rather simple in just encapsulating the + arguments given to the <code>zzip_disk_entry_fopen</code> function plus a zlib deflate buffer. + Note that the ZZIP_DISK pointer does already contain the full + mmapped file area of a zip disk, so open()ing a file part within + that area happens to be a lookup of its bounds and encoding. That + information is memorized on the ZZIP_DISK_FILE so that subsequent + _read() operations will be able to get the next data portion or + return an eof condition for that file part wrapped in the zip archive. +</p><p> + The <code>zzip_disk_entry_fopen</code> function may return null on errors (errno = ENOMEM|EBADMSG). +</p> +</td></tr><tr><td valign="top"><p> + The <code>zzip_disk_fread</code> function reads more bytes into the output buffer specified as + arguments. The return value is null on eof or error, the stdio-like + interface can not distinguish between these so you need to check + with <code><a href="#zzip_disk_feof">zzip_disk_feof</a></code> for the difference. +</p> +</td></tr><tr><td valign="top"><p> The <code>zzip_disk_fclose</code> function releases any zlib decoder info needed for decompression + and dumps the ZZIP_DISK_FILE* then. +</p><p> + The <code>zzip_disk_fclose</code> function always returns 0. +</p> +</td></tr><tr><td valign="top"><p> + The <code>zzip_disk_feof</code> function allows to distinguish an error from an eof condition. + Actually, if we found an error but we did already reach eof then we + just keep on saying that it was an eof, so the app can just continue. +</p><p> + The <code>zzip_disk_feof</code> function returns EOF in case and 0 when not at the end + of file. +</p> +</td></tr></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"><tr><td valign="top"><code><b><a name="zzip_disk_mmap">zzip_disk_mmap</a></b>(int fd) + : zzip__new__ ZZIP_DISK * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_disk_init">zzip_disk_init</a></b>(ZZIP_DISK * disk, void *buffer, zzip_size_t buflen) + : int +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_disk_new">zzip_disk_new</a></b>(void) + : zzip__new__ ZZIP_DISK * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_disk_munmap">zzip_disk_munmap</a></b>(ZZIP_DISK * disk) + : int +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_disk_open">zzip_disk_open</a></b>(char *filename) + : zzip__new__ ZZIP_DISK * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_disk_buffer">zzip_disk_buffer</a></b>(void *buffer, size_t buflen) : zzip__new__ ZZIP_DISK * +</code></td></tr><tr><td valign="top"><code><b><a name="zzip_disk_close">zzip_disk_close</a></b>(ZZIP_DISK * disk) + : int +</code></td></tr></table></dt><dd><table width="100%"><tr><td valign="top"><table border="0" width="100%" cellpadding="0" cellspacing="0"><td> <em> turn a filehandle into a mmapped zip disk archive handle</em> </td><td align="right"> <em><small>zzip/mmapped.c</small></em></td></table><p> + The <code>zzip_disk_mmap</code> function uses the given file-descriptor to detect the length of the + file and calls the system <a href="http://www.opengroup.org/onlinepubs/000095399/functions/mmap.html"><code>mmap(2)</code></a> to put it in main memory. If it is + successful then a newly allocated ZZIP_DISK* is returned with + disk->buffer pointing to the mapview of the zipdisk content. +</p><p> + The <code>zzip_disk_mmap</code> function may return null on errors (errno). +</p> +</td></tr><tr><td valign="top"><p> The <code>zzip_disk_init</code> function does primary initialization of a disk-buffer struct. +</p><p> + The <code>zzip_disk_init</code> function always returns 0 as success. +</p> +</td></tr><tr><td valign="top"><p> The <code>zzip_disk_new</code> function allocates a new disk-buffer with <a href="http://www.opengroup.org/onlinepubs/000095399/functions/malloc.html"><code>malloc(3)</code></a> +</p><p> + The <code>zzip_disk_new</code> function may return null on errors (errno). +</p> +</td></tr><tr><td valign="top"><p> The <code>zzip_disk_munmap</code> function is the inverse of <code><a href="#zzip_disk_mmap">zzip_disk_mmap</a></code> and using the system + munmap(2) on the buffer area and <a href="http://www.opengroup.org/onlinepubs/000095399/functions/free.html"><code>free(3)</code></a> on the ZZIP_DISK structure. +</p> +</td></tr><tr><td valign="top"><p> + The <code>zzip_disk_open</code> function opens the given archive by name and turn the filehandle + to <code><a href="#zzip_disk_mmap">zzip_disk_mmap</a></code> for bringing it to main memory. If it can not + be <a href="http://www.opengroup.org/onlinepubs/000095399/functions/mmap.html"><code>mmap(2)</code></a>'ed then we slurp the whole file into a newly <a href="http://www.opengroup.org/onlinepubs/000095399/functions/malloc.html"><code>malloc(2)</code></a>'ed + memory block. Only if that fails too then we return null. Since handling + of disk->buffer is ambiguous it should not be snatched away please. +</p><p> + The <code>zzip_disk_open</code> function may return null on errors (errno). +</p> +</td></tr><tr><td valign="top"><p> The <code>zzip_disk_buffer</code> function will attach a buffer with a zip image + that was acquired from another source than a file. + Note that if zzip_disk_mmap fails then zzip_disk_open + will fall back and try to read the full file to memory + wrapping a ZZIP_DISK around the memory buffer just as + the <code>zzip_disk_buffer</code> function will do. Note that the <code>zzip_disk_buffer</code> function will not + own the buffer, it will neither be written nor free()d. +</p><p> + The <code>zzip_disk_buffer</code> function may return null (errno). +</p> +</td></tr><tr><td valign="top"><p> + The <code>zzip_disk_close</code> function will release all data needed to access a (mmapped) + zip archive, including any malloc()ed blocks, sharedmem mappings + and it dumps the handle struct as well. +</p><p> + The <code>zzip_disk_close</code> function returns 0 on success (or whatever <code><u>munmap</u></code> says). +</p> +</td></tr></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd><dt><table width="100%"></table></dt><dd><table width="100%"></table></dd></dl> +</body></html> diff --git a/source/libs/zziplib/zziplib-src/m4/ac_sys_largefile_sensitive.m4 b/source/libs/zziplib/zziplib-src/m4/ac_sys_largefile_sensitive.m4 index 235c7f9ac..6a296df52 100644 --- a/source/libs/zziplib/zziplib-src/m4/ac_sys_largefile_sensitive.m4 +++ b/source/libs/zziplib/zziplib-src/m4/ac_sys_largefile_sensitive.m4 @@ -8,7 +8,7 @@ dnl dnl This macro builds on top of AC_SYS_LARGEFILE to detect whether dnl special options are neede to make the code use 64bit off_t - in dnl many setups this will also make the code use 64bit off_t -dnl immediatly. +dnl immediately. dnl dnl The common use of a LARGEFILE_SENSITIVE config.h-define is to dnl rename exported functions, usually adding a 64 to the original diff --git a/source/libs/zziplib/zziplib-src/m4/ax_enable_builddir.m4 b/source/libs/zziplib/zziplib-src/m4/ax_enable_builddir.m4 index 81ec64b85..7c65c2955 100644 --- a/source/libs/zziplib/zziplib-src/m4/ax_enable_builddir.m4 +++ b/source/libs/zziplib/zziplib-src/m4/ax_enable_builddir.m4 @@ -36,7 +36,7 @@ dnl lines like '#### $host |$builddir' to recognize the place where to dnl recurse into. Usually, the last one is the only one used. However, dnl almost all targets have an additional "*-all" rule which makes the dnl script to recurse into _all_ variants of the current HOST (!!) -dnl setting. The "-all" suffix can be overriden for the macro as well. +dnl setting. The "-all" suffix can be overridden for the macro as well. dnl dnl a special rule is only given for things like "dist" that will copy dnl the tarball from the builddir to the sourcedir (or $(PUB)) for diff --git a/source/libs/zziplib/zziplib-src/m4/ax_enable_builddir_uname.m4 b/source/libs/zziplib/zziplib-src/m4/ax_enable_builddir_uname.m4 deleted file mode 100644 index df5e2639c..000000000 --- a/source/libs/zziplib/zziplib-src/m4/ax_enable_builddir_uname.m4 +++ /dev/null @@ -1,164 +0,0 @@ -dnl /usr/share/aclocal/guidod-cvs/ax_enable_builddir_uname.m4 -dnl @synopsis AX_ENABLE_BUILDDIR_UNAME [(dirstring-or-command [,Makefile.mk])] -dnl -dnl if the current configure was run within the srcdir then we move all -dnl configure-files into a subdir and let the configure steps continue -dnl there. We provide an option --disable-builddir to suppress the move -dnl into a separate builddir. -dnl -dnl Defaults: -dnl -dnl $1 = $build (defaults to `uname -msr`.d) -dnl $2 = Makefile.mk -dnl $3 = -all -dnl -dnl This macro must be called before AM_INIT_AUTOMAKE. -dnl -dnl it creates a default toplevel srcdir Makefile from the information -dnl found in the created toplevel builddir Makefile. It just copies the -dnl variables and rule-targets, each extended with a default -dnl rule-execution that recurses into the build directory of the -dnl current "BUILD". You can override the auto-dection through -dnl `uname -msr | tr " /" "__"`.d at build-time of course, as in -dnl -dnl make BUILD=i386-mingw-cross -dnl -dnl After the default has been created, additional rules can be -dnl appended that will not just recurse into the subdirectories and -dnl only ever exist in the srcdir toplevel makefile - these parts are -dnl read from the $2 = Makefile.mk file -dnl -dnl The automatic rules are usually scanning the toplevel Makefile for -dnl lines like '#### $build |$builddir' to recognize the place where to -dnl recurse into. Usually, the last one is the only one used. However, -dnl almost all targets have an additional "*-all" rule which makes the -dnl script to recurse into _all_ variants of the current BUILD (!!) -dnl setting. The "-all" suffix can be overriden for the macro as well. -dnl -dnl a special rule is only given for things like "dist" that will copy -dnl the tarball from the builddir to the sourcedir (or $(PUB)) for -dnl reason of convenience. -dnl -dnl @category Misc -dnl @author Guido U. Draheim -dnl @version 2005-12-03 -dnl @license GPLWithACException - -AC_DEFUN([AX_ENABLE_BUILDDIR_UNAME],[ -AC_REQUIRE([AC_CANONICAL_HOST])[]dnl -AC_REQUIRE([AX_CONFIGURE_ARGS])[]dnl -AC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl -AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl -AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl -SUB="." -AC_ARG_ENABLE([builddir], AC_HELP_STRING( - [--disable-builddir],[disable automatic build in subdir of sources]) - ,[SUB="$enableval"], [SUB="yes"]) -if test ".$ac_srcdir_defaulted" != ".no" ; then -if test ".$srcdir" = ".." ; then - if test -f config.status ; then - AC_MSG_NOTICE(toplevel srcdir already configured... skipping subdir build) - else - test ".$SUB" = "." && SUB="." - test ".$SUB" = ".no" && SUB="." - test ".$BUILD" = "." && BUILD=`uname -msr | tr " /" "__"`.d - test ".$SUB" = ".yes" && SUB="m4_ifval([$1], [$1],[$BUILD])" - if test ".$SUB" != ".." ; then # we know where to go and - AS_MKDIR_P([$SUB]) - echo __.$SUB.__ > $SUB/conftest.tmp - cd $SUB - if grep __.$SUB.__ conftest.tmp >/dev/null 2>/dev/null ; then - rm conftest.tmp - AC_MSG_RESULT([continue configure in default builddir "./$SUB"]) - else - AC_MSG_ERROR([could not change to default builddir "./$SUB"]) - fi - srcdir=`echo "$SUB" | - sed -e 's,^\./,,;s,[[^/]]$,&/,;s,[[^/]]*/,../,g;s,[[/]]$,,;'` - # going to restart from subdirectory location - test -f $srcdir/config.log && mv $srcdir/config.log . - test -f $srcdir/confdefs.h && mv $srcdir/confdefs.h . - test -f $srcdir/conftest.log && mv $srcdir/conftest.log . - test -f $srcdir/$cache_file && mv $srcdir/$cache_file . - AC_MSG_RESULT(....exec $SHELL "$srcdir/[$]0" "--srcdir=$srcdir" "--enable-builddir=$SUB" $ac_configure_args) - case "[$]0" in # restart - [/\\]*) eval $SHELL "'[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;; - *) eval $SHELL "'$srcdir/[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;; - esac ; exit $? - fi - fi -fi fi -dnl ac_path_prog uses "set dummy" to override $@ which would defeat the "exec" -AC_PATH_PROG(SED,gsed sed, sed) -AS_VAR_POPDEF([SED])dnl -AS_VAR_POPDEF([SUB])dnl -AC_CONFIG_COMMANDS([buildir],[dnl .............. config.status .............. -AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl -AS_VAR_PUSHDEF([TOP],[top_srcdir])dnl -AS_VAR_PUSHDEF([SRC],[ac_top_srcdir])dnl -AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl -pushdef([END],[Makefile.mk])dnl - SRC="$ax_enable_builddir_srcdir" - if test ".$SUB" = "." ; then - if test -f "$TOP/Makefile" ; then - AC_MSG_NOTICE([skipping TOP/Makefile - left untouched]) - else - AC_MSG_NOTICE([skipping TOP/Makefile - not created]) - fi - else - AC_MSG_NOTICE([create TOP/Makefile guessed from local Makefile]) - x='`' ; cat >$tmp/conftemp.sed <<_EOF -/^\$/n -x -/^\$/bS -x -/\\\\\$/{H;d;} -{H;s/.*//;x;} -bM -:S -x -/\\\\\$/{h;d;} -{h;s/.*//;x;} -:M -s/\\(\\n\\) /\\1 /g -/^ /d -/^[[ ]]*[[\\#]]/d -/^VPATH *=/d -s/^srcdir *=.*/srcdir = ./ -s/^top_srcdir *=.*/top_srcdir = ./ -/[[:=]]/!d -/^\\./d -s/:.*/:/ -/:\$/s/ / /g -/:\$/s/ / /g -/^.*[[=]]/!s%\$% ; (cd \$(BUILD) \\&\\& \$(ISNOTSRCDIR) \\&\\& \$(MAKE) "\$\@") || exit ; \$(MAKE) done "RULE=\$\@"% -_EOF - test ".$USE_MAINTAINER_MODE" = ".no" || \ - cp "$tmp/conftemp.sed" "$SRC/makefile.sed~" ## DEBUGGING - echo 'BUILD=`uname -msr | tr " /" "__"`.d' >$SRC/Makefile - echo 'ISNOTSRCDIR=test ! -f configure' >>$SRC/Makefile - $SED -f $tmp/conftemp.sed Makefile >>$SRC/Makefile - echo 'done: ;@ if grep "$(RULE)-done .*:" Makefile > /dev/null; then dnl - echo $(MAKE) $(RULE)-done ; $(MAKE) $(RULE)-done ; else true ; fi' dnl - >> $SRC/Makefile - if test -f "$SRC/m4_ifval([$2],[$2],[END])" ; then - AC_MSG_NOTICE([extend TOP/Makefile with TOP/m4_ifval([$2],[$2],[END])]) - cat $SRC/END >>$SRC/Makefile - fi - AC_MSG_NOTICE([make uses BUILD=$SUB (on $ax_enable_builddir_host:)]) - fi -popdef([END])dnl -AS_VAR_POPDEF([SED])dnl -AS_VAR_POPDEF([SRC])dnl -AS_VAR_POPDEF([TOP])dnl -AS_VAR_POPDEF([SUB])dnl -],[dnl -ax_enable_builddir_srcdir="$srcdir" # $srcdir -ax_enable_builddir_host="$HOST" # $HOST / $host -ax_enable_builddir_version="$VERSION" # $VERSION -ax_enable_builddir_package="$PACKAGE" # $PACKAGE -ax_enable_builddir_sed="$ax_enable_builddir_sed" # $SED -ax_enable_builddir="$ax_enable_builddir" # $SUB -])dnl -]) - diff --git a/source/libs/zziplib/zziplib-src/m4/ax_set_version_info.m4 b/source/libs/zziplib/zziplib-src/m4/ax_set_version_info.m4 index 83c5fa73f..20fded0f0 100644 --- a/source/libs/zziplib/zziplib-src/m4/ax_set_version_info.m4 +++ b/source/libs/zziplib/zziplib-src/m4/ax_set_version_info.m4 @@ -11,7 +11,7 @@ dnl which will form a -version-info in a @VERSION_INFO@ ac_subst while dnl the rest is going to the -release name in a @RELEASE_INFO@ dnl ac_subst. dnl -dnl you should keep these two seperate - the release-name may contain +dnl you should keep these two separate - the release-name may contain dnl alpha-characters and can be modified later with extra release-hints dnl e.g. RELEASE_INFO="$RELEASE_INFO-debug" for a debug version of your dnl lib. The $VERSION_INFO however should not be touched. diff --git a/source/libs/zziplib/zziplib-src/m4/libtool.m4 b/source/libs/zziplib/zziplib-src/m4/libtool.m4 index 39ba996cb..b8ce6580e 100644 --- a/source/libs/zziplib/zziplib-src/m4/libtool.m4 +++ b/source/libs/zziplib/zziplib-src/m4/libtool.m4 @@ -603,7 +603,7 @@ configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2008 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." +gives unlimited permission to copy, distribute and modify it." while test $[#] != 0 do diff --git a/source/libs/zziplib/zziplib-src/m4/patch_libtool_to_add_host_cc.m4 b/source/libs/zziplib/zziplib-src/m4/patch_libtool_to_add_host_cc.m4 index 04c06e337..ff9247b5e 100644 --- a/source/libs/zziplib/zziplib-src/m4/patch_libtool_to_add_host_cc.m4 +++ b/source/libs/zziplib/zziplib-src/m4/patch_libtool_to_add_host_cc.m4 @@ -31,7 +31,7 @@ dnl currently in the making. The whole stuff of impgen exe and dnl compiling it on-the-fly, well, it is superflouos then. dnl dnl Since mingw crosscompilers tend to be quite a fresh development it -dnl was agreed to remove the impgen stuff completly from libtool +dnl was agreed to remove the impgen stuff completely from libtool dnl sources. Still however, this macro does not hurt since it does not dnl patch impgen cmds but it just adds HOST_CC which might be useful in dnl other cross-compiling cases as well. Therefore, you can leave it in diff --git a/source/libs/zziplib/zziplib-src/msvc7/README.TXT b/source/libs/zziplib/zziplib-src/msvc7/README.TXT deleted file mode 100644 index dbbd5feba..000000000 --- a/source/libs/zziplib/zziplib-src/msvc7/README.TXT +++ /dev/null @@ -1,31 +0,0 @@ -These project files were tested with the -free Microsoft Visual C++ 2005 Express Edition. - -Visual C++ Express does NOT include the Win32 SDK Headers. -They must be downloaded separately as documented in the -installation instructions at Microsoft - consequently that -extra installation must be referenced via a system variable: -Set MSSdk=C:\Program Files\Microsoft Platform SDK - -In order to compile you need a valid Zlib SDK - you can -download it from zlib.org in the archive zlib123-dll.zip - -I had unpacked them to $(zziplibdir)/zlib inside the -toplevel of the zziplib source tree. That SDK does ship -with a "zlib1.dll" runtime and "zdll.lib" import library. - -The new Visual Studio has depracated most of the Win32 API -just as well as most of the Posix API. That provokes a lot -of warning message in surplus of the many warning message -that occur on every implicit conversion between signed and -unsigned types. Other compilers are more clever about -detecting real conversion issues, therefore they are not -going to be "patched away" with an explicit conversion in -the source files (I expect Microsoft to get it right somewhen). - -== Download Places == -download.microsoft.com/download/a/5/f/a5f0d781-e201-4ab6-8c6a-9bb4efed1e1a/ -PSDK-x86.exe = Win32 SDK - online installer -download.microsoft.com/download/A/9/1/A91D6B2B-A798-47DF-9C7E-A97854B7DD18/ -VC.iso = Visual C++ Express CD-image -download.microsoft.com/download/C/6/F/C6F4733B-67C7-4C15-9F21-61F7A3167505/ -VCS.iso = Visual C# Express CD-image diff --git a/source/libs/zziplib/zziplib-src/msvc7/zip.exe b/source/libs/zziplib/zziplib-src/msvc7/zip.exe deleted file mode 100755 index 2c5b268b47d7b7938973ca1da0852aeb31b41004..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135168 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 RaAYX?;0P|iP!tVe4ggwGQ~v+} diff --git a/source/libs/zziplib/zziplib-src/msvc8/README.TXT b/source/libs/zziplib/zziplib-src/msvc8/README.TXT index 4767a0678..3733cb401 100644 --- a/source/libs/zziplib/zziplib-src/msvc8/README.TXT +++ b/source/libs/zziplib/zziplib-src/msvc8/README.TXT @@ -13,7 +13,7 @@ I had unpacked them to $(zziplibdir)/zlib inside the toplevel of the zziplib source tree. That SDK does ship with a "zlib1.dll" runtime and "zdll.lib" import library. -The new Visual Studio has depracated most of the Win32 API +The new Visual Studio has deprecated most of the Win32 API just as well as most of the Posix API. That provokes a lot of warning message in surplus of the many warning message that occur on every implicit conversion between signed and diff --git a/source/libs/zziplib/zziplib-src/ports/symbian-S60/zziplib-symbian.zip b/source/libs/zziplib/zziplib-src/ports/symbian-S60/zziplib-symbian.zip deleted file mode 100644 index cb8f83b4df8f32f2d3cdfd6bf840daa82bb14ab4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3154 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 Q3>yO*Lm49j!!fV{0EK@?+yDRo diff --git a/source/libs/zziplib/zziplib-src/test/Makefile.am b/source/libs/zziplib/zziplib-src/test/Makefile.am index 9b3c08a76..f493b07b6 100644 --- a/source/libs/zziplib/zziplib-src/test/Makefile.am +++ b/source/libs/zziplib/zziplib-src/test/Makefile.am @@ -39,7 +39,10 @@ check-local: check-readme $(sfxtests) $(newtests) check-tests: tests tests: @ test -f zziptests.py || cp -s -v $(srcdir)/zziptests.py . - python zziptests.py -v + python zziptests.py --exeext "$(EXEEXT)" --topsrcdir "$(top_srcdir)" +test_%: + @ test -f zziptests.py || cp -s -v $(srcdir)/zziptests.py . + python zziptests.py $@ -vvvv --exeext "$(EXEEXT)" --topsrcdir "$(top_srcdir)" check-readme : $(zzcat) test.zip @ test -f test.zip || $(MAKE) tmp/../test.zip @@ -76,3 +79,4 @@ check-sfx : zzshowme$(EXEEXT) ; if test -s readme.out ; then diff readme.out $(README) \ ; else grep "libzzip-" readme.err || echo "readme.out is empty!" ; fi rm readme.out readme.err + diff --git a/source/libs/zziplib/zziplib-src/test/Makefile.in b/source/libs/zziplib/zziplib-src/test/Makefile.in index 7b6c8ffda..5c0f42cf7 100644 --- a/source/libs/zziplib/zziplib-src/test/Makefile.in +++ b/source/libs/zziplib/zziplib-src/test/Makefile.in @@ -674,7 +674,10 @@ check-local: check-readme $(sfxtests) $(newtests) check-tests: tests tests: @ test -f zziptests.py || cp -s -v $(srcdir)/zziptests.py . - python zziptests.py -v + python zziptests.py --exeext "$(EXEEXT)" --topsrcdir "$(top_srcdir)" +test_%: + @ test -f zziptests.py || cp -s -v $(srcdir)/zziptests.py . + python zziptests.py $@ -vvvv --exeext "$(EXEEXT)" --topsrcdir "$(top_srcdir)" check-readme : $(zzcat) test.zip @ test -f test.zip || $(MAKE) tmp/../test.zip diff --git a/source/libs/zziplib/zziplib-src/test/README b/source/libs/zziplib/zziplib-src/test/README index 5668eda04..22868fa95 100644 --- a/source/libs/zziplib/zziplib-src/test/README +++ b/source/libs/zziplib/zziplib-src/test/README @@ -24,11 +24,12 @@ LICENSING special (paid) licenses can be negotiated with the copyright holder. HOMEPAGE - The zziplib project is hosted at SourceForge, the complete - documentation can be found at http://zziplib.sf.net - the - SourceForge servers are also used to distribute the sources - of the zziplib project. Releases are announced via the - freshmeat services on http://freshmeat.net/projects/zziplib + The zziplib project has moved to GitHub where you can find the + last release tags now => https://github.com/gdraheim/zziplib + The zziplib project was originally hosted at SourceForge with + the documentation at http://zziplib.sf.net - this is a bit + outdated but the API has not changed much since then. To get + the latest release announcements, watch the GitHub project. INSTALLATION The zziplib sources are built with gnu autotools and they should @@ -39,7 +40,7 @@ INSTALLATION VisualC series of compilers. There should be no problem either when crosscompiling the zziplib for a third host platform. -MAINTAINANCE +MAINTENANCE The zziplib library is intentionally a lightweight interface to zip files. The author take patches but please consider to put complex extensions into separate modules rather than implanting them diff --git a/source/libs/zziplib/zziplib-src/test/test.zip b/source/libs/zziplib/zziplib-src/test/test.zip index 8923726372bf45e86625014038266afa6b13ff64..c03b5ca55571c39221dbdfad948d536def24e440 100644 GIT binary patch literal 1457 zcmWIWW@Zs#U|`^2XwY!;agX|Gy`F`E!I+bQfsLV=A;{Iy#n(01C6D0(16a`}bMu(w zl!Q#d#DoNcga!tAg|rk_<4D)WBa2roQa<nczAFEM@AbNaJ<)v=I~yB27q&9$=qeoA zFh6ic<3zzl)1<Y&%@35*Q)3aE+|Xg@ctoV3g{eb#0h8eI$9xm+P33XYs1j|=VF(T3 zWnka1qav#7ennLG{femCP~ZH=W&(Skho8y3$P~x=Vq-@4uDn+}K8OpwXWFZ)+pB6O zvhvg6zR$0}^J=Q!6M3uJ=Ti9WY;}IxHvZZ6@6&cmFN!_><<lbe#otXT%CGRUe_A6I zRC-o1prqw-qqJ2<vvIEH$=Us<uFtjm#NrrqVcXJMUz?AMzSVgfdZ70K&urs|KOfBW zoO!KMcDG$jkm(lt%iKlb9h*9SDD5zp=;AwhP4MHCiyw6Y?o8Yp_(ObyI|J)=OP6<o zPg;Kb{PI?Jr*qw7wr^Tomp<CwUi|Icx18kCV&lJCcHg(@nZj`RevG@-N{0h?vK$;# z)erRNuzo%Fb(Yz&jKyjxAu0X)_qp!nc=+?x>B>vJi|_A!74cm-Xq#f)v6)lmKfHF% zZT)voEzu@HhY#~2f1de&Q1Y?g)$NThmWRpBj=%kHXVwq#S93C*G;JlDCALbRYq;my zDY(9bPp>kgdsh1FxAEOy|IFpD64;ZzLTiz;g~+^yYtIz|BobaXZ8hkA{rRhUlv8z$ zNjmpD-rURgUd)=dD@}TaLQL5){s)^sgkHSz;JDM|<TT$y>+f`%xy9zq{#dqljl(Ky z@f%^1ZzEW94zS88X=Din^>05=s_<B0ht`ob+q_?G>0QDcDIVy}?`%4`=EiO}c@uMv z;5l_n0-md)STBpS?ek?w{gYw#gZW{W?Tbgto+g!TuhY4s$5&FOd0ip$;OZlm-K*aU zTd+Nk`?<Mf&gWhUktW^e46lV7e7H=-mhMmwnkW_C9vvt?KP>i*F^>uN{G!r@yD}2I z7C#B#xTN`VrSO%h+=@*<q7+^ny3iT;-ZXgndBrKVkHZ^U7+n`#d(XCX_IrJomTre> z(c-38a_?DvJlmcW_@b`3cz@*G+~uEl*Yhv9Q##2~TiNAI=^p=Tt5TkY`Zi4;)Y#ow z7B_ihN*K2<%5uFe{I{pCqmaY?-o0%OlfH>QyPSJ_%DbJi!T;DB%5(Xzd%7<8XE^&E zf4kdx*1mPEN}k6$CT*MWUd7a?zi@TI3LW=f9sP;6x_jQ09!Z^^H2J2}_vap$-zrVl zcUx(l8a?Oh%6A;f+n&8)zHvYBbm1A@y(O*<o315hZ92dy93u2u>F|li5lSu*Yvju> zKP}o7opbGd#g2DtYcHvZnMTj{So&g7vDy>Iwgc&0bG_Yuv9U3<*{s;wy8nT?`rO6y zOJ5vYDg9zaDBF~#EkO_Jg}gK0HE_fmaP#l-J@NY?Guy?>xAX57{{8aH<k<h9i(WU4 zO|7N~zN!(JURLF>G-d<;s=6TEQx8|IO=<k8_}yo{(we&_yVlIOq#GyJ-LvKD<L5V5 zE1q(huwfHtsGQa%7tIwHIhW>^yp1hjzxZtPv|ni&7qZVS4iZy&^kV|MgplZ?qWe#_ zZa3dFb<2VYp=!4JADwp2U_U(7W9jRM8uwG$FEMC)L|!N}ja^e-{`zIrw|&R;4!hN4 zY;29o4!3ZcJkMhLsyRQKg-%<#9C&)japqnFNA<=2QzVWgY6QsGi10fdS@8LgLuAF= z>4E)+pKtnkXvd2JnTmiLrz-!P+MsMxQh9a3Y14Na(#H>_?)}YeVcsWpe)`us%^uxb z(^7XPu=n0LvTFa*X>t_>c4F-@D~>yzl>St|J-hU?Xn;2(lN<xCa#avimNGChD1d1O icqz*QE@eYQSRrL!fHx}}NChJUBZDgg149@qhz9`QeW8s2 literal 1293 zcmWIWW@Zs#U|`^2Q0NfS4^yc#u4Q3hc+SDVz{ViT5ajCU;_Dh3!pXp_{mQ`}ghMM> z7``wvFw}<n=07$Q*!w&DOy)(VIMx>%HM*+qUU_{;-tkfFg6&I}ZamVa6gp|s;y=Ik zDK5P+o5}W#m5^zF{=GdjD=Y5&uiS5Qrh||7^6S;_dhCLp-;E5HIk9<_$5hpJhl_%J z*6Us@;XSuSRW;vEE8gtanc{{oj<;udT`!YUycKD+s-fcn&+NtzHJ{Eb@p-$a&sTcc zYAq|iFI~I27pzg<$MMd~`Qpm$sVwu1toWRc&b=w!YVTOBGNF=Jv50#D_lL_bzv}J` zu6k_sO^fUDN88(*zn$BblWaI!cb|;idwF-y0}u1{lw(5_3f7rwC`{&l;lAzAuLn`S z)yZ1|i;c849sj@2ZC}HOn$J&HU7x!6{@$#J?ZrXcl<E%7Tr&T~v~zCj`}d}3F)=&* z;9FC3>Hm|S!s(By6@D$9cKp@$UA3B8|E5Z%ubL42zL(MM<u1l6vo$0>E<1PdtK3%C zbEp3vj(>gk)m;84j+&H^(5}8iiXY{2YMC5c9k-o{*}RD({_VaCY+H}JYj3-7^MZ4| z$*v{6dN<kBMD#2ltG}4}RVyR$LvrBc;vnA#+uwysFJ6{m>^A)r*V0XejkyzV^hF+E zoAZ*<G4Sf+SB6|s>_&X7;gK`m9&VG$RetGk&GpHpLjhN9WVfxmq<&U3Vbf)O1*Pe$ zq7HtEY<#cpkoqUX><4qf(sw0gm(%v{xo?}AdtF^BW`5Cx=!L5v@I1=;&C|PZXL#L& zzT$mC&5IIdi=Ox;=khF4sypP4@k)=W+K1<ch|d@E%@O7`;f@a~TR0;tp=hy+MuUl0 z)vKmgUJe}s`$V{`v`Z47RIk4B#gZ$P{SVi~3yPjkemO5M`TAJJWd>Ku&a%M8yRL2( zUT-JTz3AQMo6rA#`<J+J*Z=nnUa{?;7F=Lz%9$TD_kY2QwLd$qm$fav!RPhm(mt;@ z7KIj;SG<&FOYENi{+-(wr8!)uC))K*+j~&;N7$d4d#0oXe6m{=@Nz=*<jYqVKNqk) zH>LaxcU8(^t)6Wm*P6UJS8NV@yftIRg)KZ)MJvVFn}2zHeH$?2Uhjg$Qwe6#@8|J# zpG_-_cwhd0%kJFv<n_L1SXbowuj<#cN_U!NyTC9YBPRdIs|(yUmvgR)O>1DCGb48Y ziwix?Mm}E@yLZ@su(ws#?O<rhmxx!7{l4S-VfHh9&tK=?Ecp57o5`bk?TpoL3Z`DG z6f`l})!Z{@XZfm{Fw;v97wM%u|DkttPpiq66<Tw*JDKg!c<Xxm?d9uFXLl9}bFb0S zpZcuf$3A|BeY=WRd%th8c0E#mb<+JHt;LqU<{zaBYCMeD#Zw<nx_Wt;l~klkRK$sI z6U{{TOkfVyzb~R`o|Us@{iMSy535YsazXg^(W>$T`;X@R+^4^cabc=;Lh&Be^#v`* zb`@mlTYgq=J><g9!jdldX-^Bclw^2Nm!InuwF4SXjy&4l8ZS(qOcak>&Z^Y=ZPNBo ziRr?9%;j9OO?rJK16tbE*0P%{aO>GrcqS%n)BF=VH`dzvzcp4pCMG>CRWTvI=gyJU z^M6UnUbU3p?5g&5Bg>_*-}ieX&irEy@MdHZXU0`-@iKq_BLf4&l12~<R*JDgO0m!i Y28IA{RyL3nBLgFYBLf4&HWm;M0Fx723IG5A diff --git a/source/libs/zziplib/zziplib-src/test/zziptests.py b/source/libs/zziplib/zziplib-src/test/zziptests.py index 1ad56367e..ae7e64a0b 100644 --- a/source/libs/zziplib/zziplib-src/test/zziptests.py +++ b/source/libs/zziplib/zziplib-src/test/zziptests.py @@ -1,9 +1,15 @@ import unittest import subprocess import logging +import inspect import os import collections +import urllib +import shutil +import random +import re from fnmatch import fnmatchcase as matches +from cStringIO import StringIO logg = logging.getLogger("test") @@ -25,13 +31,17 @@ def shell(command, shell=True, calls=False, cwd=None, env=None, lang=None, retur command = [ command ] else: sh_command = shell_string(command) + if not env: + env = os.environ.copy() if lang: - if not env: env = os.environ.copy() for name, value in env.items(): if name.startswith("LC_"): env[name] = lang env["LANG"] = lang # defines message format env["LC_ALL"] = lang # other locale formats + build_libs = os.path.dirname(os.path.dirname(os.path.realpath(command[0])))+"/zzip/.libs" + if os.path.isdir(build_libs): + env["LD_LIBRARY_PATH"] = build_libs try: output, errors = "", "" if calls: @@ -64,6 +74,7 @@ def shell(command, shell=True, calls=False, cwd=None, env=None, lang=None, retur for line in errors.split("\n"): if line: logg.warning("ERR: %s", line) + raise subprocess.CalledProcessError(run.returncode, sh_command, output) else: for line in output.split("\n"): if line: @@ -73,55 +84,162 @@ def shell(command, shell=True, calls=False, cwd=None, env=None, lang=None, retur logg.debug("ERR: %s", line) return Shell(run.returncode, output, errors, sh_command) +def get_caller_name(): + frame = inspect.currentframe().f_back.f_back + return frame.f_code.co_name +def get_caller_caller_name(): + frame = inspect.currentframe().f_back.f_back.f_back + return frame.f_code.co_name + +def download_raw(base_url, filename, into, style = "?raw=true"): + return download(base_url, filename, into, style) +def download(base_url, filename, into, style = ""): + data = "tmp.download" + if not os.path.isdir(data): + os.makedirs(data) + subname = urllib.quote_plus(base_url) + subdir = os.path.join(data, subname) + if not os.path.isdir(subdir): + os.makedirs(subdir) + subfile = os.path.join(subdir, filename) + if not os.path.exists(subfile): + logg.info("need %s", subfile) + d = urllib.urlopen(base_url + "/" + filename + style) + f = open(subfile, "w") + f.write(d.read()) + f.close() + # + if not os.path.isdir(into): + os.makedirs(into) + shutil.copy(subfile, into) + return filename + +def output(cmd, shell=True): + run = subprocess.Popen(cmd, shell=shell, stdout=subprocess.PIPE) + out, err = run.communicate() + return out +def grep(pattern, lines): + if isinstance(lines, basestring): + lines = lines.split("\n") + for line in lines: + if re.search(pattern, line.rstrip()): + yield line.rstrip() +def greps(lines, pattern): + return list(grep(pattern, lines)) +def all_errors(lines): + if isinstance(lines, basestring): + lines = lines.split("\n") + for line in lines: + if not line.strip(): + continue + if "DEBUG:" in line: + continue + if "HINT:" in line: + continue + yield line.rstrip() +def errors(lines): + return list(all_errors(lines)) class ZZipTest(unittest.TestCase): @property def t(self): - if not os.path.isdir(testdatadir): - os.makedirs(testdatadir) - return testdatdir + if not os.path.isdir(testdatadir): + os.makedirs(testdatadir) + return testdatdir @property def s(self): return topsrcdir def src(self, name): return os.path.join(self.s, name) def readme(self): - f = open(self.src(readme)) - text = f.read() - f.close() - return text + f = open(self.src(readme)) + text = f.read() + f.close() + return text def mkfile(self, name, content): b = os.path.dirname(name) if not os.path.isdir(b): - os.makedirs(b) + os.makedirs(b) f = open(name, "w") f.write(content) f.close() def bins(self, name): + if name == "unzip": return unzip + if name == "mkzip": return mkzip exe = os.path.join("..", "bins", name) if exeext: exe += exeext return exe - def test_100_make_test0_zip(self): + def gentext(self, size): + random.seed(1234567891234567890) + result = StringIO() + old1 = '' + old2 = '' + for i in xrange(size): + while True: + x = random.choice(" abcdefghijklmnopqrstuvwxyz\n") + if x == old1 or x == old2: continue + old1 = old2 + old2 = x + break + result.write(x) + return result.getvalue() + def caller_testname(self): + name = get_caller_caller_name() + x1 = name.find("_") + if x1 < 0: return name + x2 = name.find("_", x1+1) + if x2 < 0: return name + return name[:x2] + def testname(self, suffix = None): + name = self.caller_testname() + if suffix: + return name + "_" + suffix + return name + def testzip(self, testname = None): + testname = testname or self.caller_testname() + zipname = testname + ".zip" + return zipname + def testdir(self, testname = None): + testname = testname or self.caller_testname() + newdir = "tmp."+testname + if os.path.isdir(newdir): + shutil.rmtree(newdir) + os.makedirs(newdir) + return newdir + def rm_testdir(self, testname = None): + testname = testname or self.caller_testname() + newdir = "tmp."+testname + if os.path.isdir(newdir): + shutil.rmtree(newdir) + return newdir + def rm_testzip(self, testname = None): + testname = testname or self.caller_testname() + zipname = testname + ".zip" + if os.path.exists(zipname): + os.remove(zipname) + return True + ################################################################ + def test_1000_make_test0_zip(self): """ create a test.zip for later tests using standard 'zip' It will fall back to a variant in the source code if 'zip' is not installed on the build host. The content is just the README file that we can check for equality later on. """ zipfile="test0.zip" tmpdir="test0.tmp" - exe=mkzip + exe=self.bins("mkzip") filename = os.path.join(tmpdir,"README") filetext = self.readme() self.mkfile(filename, filetext) shell("{exe} ../{zipfile} README".format(**locals()), cwd=tmpdir) self.assertGreater(os.path.getsize(zipfile), 10) - def test_101_make_test1_zip(self): + def test_10001_make_test1_zip(self): """ create a test1.zip for later tests using standard 'zip' It will fall back to a variant in the source code if 'zip' is not installed on the build host. The archive has 10 generic files that we can check for their content later. """ zipfile="test1.zip" tmpdir="test1.tmp" - exe=mkzip + exe=self.bins("mkzip") for i in [1,2,3,4,5,6,7,8,9]: filename = os.path.join(tmpdir,"file.%i" % i) filetext = "file-%i\n" % i @@ -131,13 +249,13 @@ class ZZipTest(unittest.TestCase): self.mkfile(filename, filetext) shell("{exe} ../{zipfile} ??*.* README".format(**locals()), cwd=tmpdir) self.assertGreater(os.path.getsize(zipfile), 10) - def test_102_make_test2_zip(self): + def test_10002_make_test2_zip(self): """ create a test2.zip for later tests using standard 'zip' It will NOT fall back to a variant in the source code. The archive has 100 generic files with known content. """ zipfile="test2.zip" tmpdir="test2.tmp" - exe=mkzip + exe=self.bins("mkzip") for i in xrange(100): filename = os.path.join(tmpdir,"file.%02i" % i) filetext = "file-%02i\n" % i @@ -147,13 +265,13 @@ class ZZipTest(unittest.TestCase): self.mkfile(filename, filetext) shell("{exe} ../{zipfile} ??*.* README".format(**locals()), cwd=tmpdir) self.assertGreater(os.path.getsize(zipfile), 10) - def test_103_make_test3_zip(self): + def test_10003_make_test3_zip(self): """ create a test3.zip for later tests using standard 'zip' It will NOT fall back to a variant in the source code. The archive has 1000 generic files with known content. """ zipfile="test3.zip" tmpdir="test3.tmp" - exe=mkzip + exe=self.bins("mkzip") for i in xrange(1000): filename = os.path.join(tmpdir,"file.%03i" % i) filetext = "file-%03i\n" % i @@ -163,24 +281,48 @@ class ZZipTest(unittest.TestCase): self.mkfile(filename, filetext) shell("{exe} ../{zipfile} ??*.* README".format(**locals()), cwd=tmpdir) self.assertGreater(os.path.getsize(zipfile), 10) - def test_104_make_test4_zip(self): + def test_10004_make_test4_zip(self): """ create a test4.zip for later tests using standard 'zip' It will NOT fall back to a variant in the source code. - The archive has 1000 generic files with known content - and they are NOT stored compressed in the archive. """ + The archive has 10000 generic files with known content + and they are stored (NOT compressed) in the archive. """ zipfile="test4.zip" tmpdir="test4.tmp" - exe=mkzip - for i in xrange(1000): - filename = os.path.join(tmpdir,"file.%03i" % i) - filetext = "file-%03i\n" % i + exe=self.bins("mkzip") + for i in xrange(10000): + filename = os.path.join(tmpdir,"file%04i.txt" % i) + filetext = "file-%04i\n" % i self.mkfile(filename, filetext) filename = os.path.join(tmpdir,"README") filetext = self.readme() self.mkfile(filename, filetext) shell("{exe} -n README ../{zipfile} ??*.* README".format(**locals()), cwd=tmpdir) - self.assertGreater(os.path.getsize(zipfile), 10) - def test_110_make_test0_dat(self): + self.assertGreater(os.path.getsize(zipfile), 1000000) + def test_10005_make_test5_zip(self): + """ create a test5.zip for later tests using standard 'zip' + It will NOT fall back to a variant in the source code. + The archive has files at multiple subdirectories depth + and of varying sizes each. """ + zipfile="test5.zip" + tmpdir="test5.tmp" + exe=self.bins("mkzip") + for depth in xrange(20): + dirpath = "" + for i in xrange(depth): + if i: + dirpath += "subdir%i/" % i + for size in xrange(18): + size = 2 ** size + filetext = self.gentext(size) + filepart = "file%i-%i.txt" % (depth, size) + filename = os.path.join(tmpdir, dirpath + filepart ) + self.mkfile(filename, filetext) + filename = os.path.join(tmpdir,"README") + filetext = self.readme() + self.mkfile(filename, filetext) + shell("{exe} ../{zipfile} -r file* subdir* README".format(**locals()), cwd=tmpdir) + self.assertGreater(os.path.getsize(zipfile), 1000000) + def test_10010_make_test0_dat(self): """ create test.dat from test.zip with xorcopy """ zipfile = "test0.zip" datfile = "test0x.dat" @@ -188,7 +330,7 @@ class ZZipTest(unittest.TestCase): shell("{exe} {zipfile} {datfile}".format(**locals())) self.assertGreater(os.path.getsize(datfile), 10) self.assertEqual(os.path.getsize(datfile), os.path.getsize(zipfile)) - def test_111_make_test1_dat(self): + def test_10011_make_test1_dat(self): """ create test.dat from test.zip with xorcopy """ zipfile = "test1.zip" datfile = "test1x.dat" @@ -196,7 +338,7 @@ class ZZipTest(unittest.TestCase): shell("{exe} {zipfile} {datfile}".format(**locals())) self.assertGreater(os.path.getsize(datfile), 10) self.assertEqual(os.path.getsize(datfile), os.path.getsize(zipfile)) - def test_112_make_test2_dat(self): + def test_10012_make_test2_dat(self): """ create test.dat from test.zip with xorcopy """ zipfile = "test2.zip" datfile = "test2x.dat" @@ -204,7 +346,7 @@ class ZZipTest(unittest.TestCase): shell("{exe} {zipfile} {datfile}".format(**locals())) self.assertGreater(os.path.getsize(datfile), 10) self.assertEqual(os.path.getsize(datfile), os.path.getsize(zipfile)) - def test_113_make_test3_dat(self): + def test_10013_make_test3_dat(self): """ create test.dat from test.zip with xorcopy """ zipfile = "test3.zip" datfile = "test3x.dat" @@ -212,7 +354,7 @@ class ZZipTest(unittest.TestCase): shell("{exe} {zipfile} {datfile}".format(**locals())) self.assertGreater(os.path.getsize(datfile), 10) self.assertEqual(os.path.getsize(datfile), os.path.getsize(zipfile)) - def test_114_make_test4_dat(self): + def test_10014_make_test4_dat(self): """ create test.dat from test.zip with xorcopy """ zipfile = "test4.zip" datfile = "test4x.dat" @@ -220,42 +362,42 @@ class ZZipTest(unittest.TestCase): shell("{exe} {zipfile} {datfile}".format(**locals())) self.assertGreater(os.path.getsize(datfile), 10) self.assertEqual(os.path.getsize(datfile), os.path.getsize(zipfile)) - def test_200_zziptest_test0_zip(self): + def test_20000_zziptest_test0_zip(self): """ run zziptest on test.zip """ zipfile = "test0.zip" logfile = "test0.log" exe = self.bins("zziptest") shell("{exe} --quick {zipfile} | tee {logfile}".format(**locals())) self.assertGreater(os.path.getsize(logfile), 10) - def test_201_zziptest_test1_zip(self): + def test_20001_zziptest_test1_zip(self): """ run zziptest on test.zip """ zipfile = "test1.zip" logfile = "test1.log" exe = self.bins("zziptest") shell("{exe} --quick {zipfile} | tee {logfile}".format(**locals())) self.assertGreater(os.path.getsize(logfile), 10) - def test_202_zziptest_test2_zip(self): + def test_20002_zziptest_test2_zip(self): """ run zziptest on test.zip """ zipfile = "test2.zip" logfile = "test2.log" exe = self.bins("zziptest") shell("{exe} --quick {zipfile} | tee {logfile}".format(**locals())) self.assertGreater(os.path.getsize(logfile), 10) - def test_203_zziptest_test3_zip(self): + def test_20003_zziptest_test3_zip(self): """ run zziptest on test.zip """ zipfile = "test3.zip" logfile = "test3.log" exe = self.bins("zziptest") shell("{exe} --quick {zipfile} | tee {logfile}".format(**locals())) self.assertGreater(os.path.getsize(logfile), 10) - def test_204_zziptest_test4_zip(self): + def test_20004_zziptest_test4_zip(self): """ run zziptest on test.zip """ zipfile = "test4.zip" logfile = "test4.log" exe = self.bins("zziptest") shell("{exe} --quick {zipfile} | tee {logfile}".format(**locals())) self.assertGreater(os.path.getsize(logfile), 10) - def test_210_zzcat_test0_zip(self): + def test_20010_zzcat_test0_zip(self): """ run zzcat on test.zip using just test/README """ zipfile = "test0.zip" getfile = "test0/README" @@ -264,7 +406,7 @@ class ZZipTest(unittest.TestCase): run = shell("{exe} {getfile} | tee {logfile}".format(**locals())) self.assertGreater(os.path.getsize(logfile), 10) self.assertEqual(run.output.split("\n"), self.readme().split("\n")) - def test_211_zzcat_test1_zip(self): + def test_20011_zzcat_test1_zip(self): """ run zzcat on test.zip using just test/README """ zipfile = "test1.zip" getfile = "test1/README" @@ -276,7 +418,7 @@ class ZZipTest(unittest.TestCase): getfile = "test1/file.1" run = shell("{exe} {getfile}".format(**locals())) self.assertEqual("file-1\n", run.output) - def test_212_zzcat_test2_zip(self): + def test_20012_zzcat_test2_zip(self): """ run zzcat on test.zip using just test/README """ zipfile = "test2.zip" getfile = "test2/README" @@ -288,7 +430,7 @@ class ZZipTest(unittest.TestCase): getfile = "test2/file.22" run = shell("{exe} {getfile}".format(**locals())) self.assertEqual("file-22\n", run.output) - def test_213_zzcat_test3_zip(self): + def test_20013_zzcat_test3_zip(self): """ run zzcat on test.zip using just test/README """ zipfile = "test3.zip" getfile = "test3/README" @@ -300,7 +442,7 @@ class ZZipTest(unittest.TestCase): getfile = "test3/file.999" run = shell("{exe} {getfile}".format(**locals())) self.assertEqual("file-999\n", run.output) - def test_214_zzcat_test4_zip(self): + def test_20014_zzcat_test4_zip(self): """ run zzcat on test.zip using just test/README """ zipfile = "test4.zip" getfile = "test4/README" @@ -309,64 +451,64 @@ class ZZipTest(unittest.TestCase): run = shell("{exe} {getfile} | tee {logfile}".format(**locals())) self.assertGreater(os.path.getsize(logfile), 10) self.assertEqual(run.output.split("\n"), self.readme().split("\n")) - getfile = "test4/file.999" + getfile = "test4/file9999.txt" run = shell("{exe} {getfile}".format(**locals())) - self.assertEqual("file-999\n", run.output) - def test_220_zzdir_test0_zip(self): + self.assertEqual("file-9999\n", run.output) + def test_20020_zzdir_test0_zip(self): """ run zzdir on test0.zip using just 'test0' """ zipfile = "test0.zip" getfile = "test0" exe = self.bins("zzdir") run = shell("{exe} {getfile} ".format(**locals())) - self.assertIn(' README ', run.output) - self.assertIn(' deflated ', run.output) + self.assertIn(' README\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertLess(len(run.output), 30) - def test_221_zzdir_test1_zip(self): + def test_20021_zzdir_test1_zip(self): """ run zzdir on test1.zip using just 'test1' """ zipfile = "test1.zip" getfile = "test1" exe = self.bins("zzdir") run = shell("{exe} {getfile} ".format(**locals())) - self.assertIn(' file.1 ', run.output) - self.assertIn(' file.2 ', run.output) - self.assertIn(' file.9 ', run.output) - self.assertIn(' README ', run.output) - self.assertIn(' deflated ', run.output) + self.assertIn(' file.1\n', run.output) + self.assertIn(' file.2\n', run.output) + self.assertIn(' file.9\n', run.output) + self.assertIn(' README\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_222_zzdir_test2_zip(self): + def test_20022_zzdir_test2_zip(self): """ run zzdir on test2.zip using just 'test2' """ zipfile = "test2.zip" getfile = "test2" exe = self.bins("zzdir") run = shell("{exe} {getfile} ".format(**locals())) - self.assertIn(' file.01 ', run.output) - self.assertIn(' file.22 ', run.output) - self.assertIn(' file.99 ', run.output) - self.assertIn(' deflated ', run.output) + self.assertIn(' file.01\n', run.output) + self.assertIn(' file.22\n', run.output) + self.assertIn(' file.99\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_223_zzdir_test3_zip(self): + def test_20023_zzdir_test3_zip(self): """ run zzdir on test3.zip using just 'test3' """ zipfile = "test3.zip" getfile = "test3" exe = self.bins("zzdir") run = shell("{exe} {getfile} ".format(**locals())) - self.assertIn(' file.001 ', run.output) - self.assertIn(' file.222 ', run.output) - self.assertIn(' file.999 ', run.output) - self.assertIn(' deflated ', run.output) + self.assertIn(' file.001\n', run.output) + self.assertIn(' file.222\n', run.output) + self.assertIn(' file.999\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_224_zzdir_test4_zip(self): + def test_20024_zzdir_test4_zip(self): """ run zzdir on test4.zip using just 'test4' """ zipfile = "test4.zip" getfile = "test4" exe = self.bins("zzdir") run = shell("{exe} {getfile} ".format(**locals())) - self.assertIn(' file.001 ', run.output) - self.assertIn(' file.222 ', run.output) - self.assertIn(' file.999 ', run.output) - self.assertNotIn(' deflated ', run.output) + self.assertIn(' file0001.txt\n', run.output) + self.assertIn(' file2222.txt\n', run.output) + self.assertIn(' file9999.txt\n', run.output) + self.assertNotIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_320_zzxordir_test0_dat(self): + def test_20320_zzxordir_test0_dat(self): """ run zzxordir on test0x.dat """ zipfile = "test0x.dat" getfile = "test0x.dat" @@ -377,10 +519,10 @@ class ZZipTest(unittest.TestCase): self.assertIn("did not open test", run.errors) exe = self.bins("zzxordir") run = shell("{exe} {getfile} ".format(**locals())) - self.assertIn(' README ', run.output) - self.assertIn(' deflated ', run.output) + self.assertIn(' README\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertLess(len(run.output), 30) - def test_321_zzxordir_test1_dat(self): + def test_20321_zzxordir_test1_dat(self): """ run zzxordir on test1x.dat using just 'test1x' """ zipfile = "test1x.dat" getfile = "test1x.dat" @@ -391,13 +533,13 @@ class ZZipTest(unittest.TestCase): self.assertIn("did not open test", run.errors) exe = self.bins("zzxordir") run = shell("{exe} {getfile} ".format(**locals())) - self.assertIn(' file.1 ', run.output) - self.assertIn(' file.2 ', run.output) - self.assertIn(' file.9 ', run.output) - self.assertIn(' README ', run.output) - self.assertIn(' deflated ', run.output) + self.assertIn(' file.1\n', run.output) + self.assertIn(' file.2\n', run.output) + self.assertIn(' file.9\n', run.output) + self.assertIn(' README\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_322_zzxordir_test2_dat(self): + def test_20322_zzxordir_test2_dat(self): """ run zzxordir on test2x.dat using just 'test2x' """ zipfile = "test2x.dat" getfile = "test2x" @@ -408,12 +550,12 @@ class ZZipTest(unittest.TestCase): self.assertIn("did not open test", run.errors) exe = self.bins("zzxordir") run = shell("{exe} {getfile} ".format(**locals())) - self.assertIn(' file.01 ', run.output) - self.assertIn(' file.22 ', run.output) - self.assertIn(' file.99 ', run.output) - self.assertIn(' deflated ', run.output) + self.assertIn(' file.01\n', run.output) + self.assertIn(' file.22\n', run.output) + self.assertIn(' file.99\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_323_zzxordir_test3_dat(self): + def test_20323_zzxordir_test3_dat(self): """ run zzxordir on test3x.dat using just 'test3x' """ zipfile = "test3x.dat" getfile = "test3x" @@ -424,12 +566,12 @@ class ZZipTest(unittest.TestCase): self.assertIn("did not open test", run.errors) exe = self.bins("zzxordir") run = shell("{exe} {getfile} ".format(**locals())) - self.assertIn(' file.001 ', run.output) - self.assertIn(' file.222 ', run.output) - self.assertIn(' file.999 ', run.output) - self.assertIn(' deflated ', run.output) + self.assertIn(' file.001\n', run.output) + self.assertIn(' file.222\n', run.output) + self.assertIn(' file.999\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_324_zzxordir_test4_zip(self): + def test_20324_zzxordir_test4_zip(self): """ run zzxordir on test4x.dat using just 'test4x' """ zipfile = "test4x.dat" getfile = "test4x" @@ -440,12 +582,12 @@ class ZZipTest(unittest.TestCase): self.assertIn("did not open test", run.errors) exe = self.bins("zzxordir") run = shell("{exe} {getfile} ".format(**locals())) - self.assertIn(' file.001 ', run.output) - self.assertIn(' file.222 ', run.output) - self.assertIn(' file.999 ', run.output) - self.assertNotIn(' deflated ', run.output) + self.assertIn(' file0001.txt\n', run.output) + self.assertIn(' file2222.txt\n', run.output) + self.assertIn(' file9999.txt\n', run.output) + self.assertNotIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_340_zzxorcat_test0_zip(self): + def test_20340_zzxorcat_test0_zip(self): """ run zzxorcat on testx.zip using just testx/README """ getfile = "test0x/README" logfile = "test0x.readme.txt" @@ -457,7 +599,7 @@ class ZZipTest(unittest.TestCase): run = shell("{exe} {getfile} | tee {logfile}".format(**locals())) self.assertGreater(os.path.getsize(logfile), 10) self.assertEqual(run.output.split("\n"), self.readme().split("\n")) - def test_341_zzxorcat_test1_zip(self): + def test_20341_zzxorcat_test1_zip(self): """ run zzxorcat on testx.zip using just testx/README """ getfile = "test1x/README" logfile = "test1x.readme.txt" @@ -472,7 +614,7 @@ class ZZipTest(unittest.TestCase): getfile = "test1x/file.1" run = shell("{exe} {getfile}".format(**locals())) self.assertEqual("file-1\n", run.output) - def test_342_zzxorcat_test2_zip(self): + def test_20342_zzxorcat_test2_zip(self): """ run zzxorcat on testx.zip using just testx/README """ getfile = "test2x/README" logfile = "test2x.readme.txt" @@ -487,7 +629,7 @@ class ZZipTest(unittest.TestCase): getfile = "test2x/file.22" run = shell("{exe} {getfile}".format(**locals())) self.assertEqual("file-22\n", run.output) - def test_343_zzxorcat_test3_zip(self): + def test_20343_zzxorcat_test3_zip(self): """ run zzxorcat on testx.zip using just testx/README """ getfile = "test3x/README" logfile = "test3x.readme.txt" @@ -502,7 +644,7 @@ class ZZipTest(unittest.TestCase): getfile = "test3x/file.999" run = shell("{exe} {getfile}".format(**locals())) self.assertEqual("file-999\n", run.output) - def test_344_zzxorcat_test4_zip(self): + def test_20344_zzxorcat_test4_zip(self): """ run zzxorcat on testx.zip using just testx/README """ getfile = "test4x/README" logfile = "test4x.readme.txt" @@ -510,11 +652,59 @@ class ZZipTest(unittest.TestCase): run = shell("{exe} {getfile} | tee {logfile}".format(**locals())) self.assertGreater(os.path.getsize(logfile), 10) self.assertEqual(run.output.split("\n"), self.readme().split("\n")) - getfile = "test4x/file.999" + getfile = "test4x/file9999.txt" run = shell("{exe} {getfile}".format(**locals())) - self.assertEqual("file-999\n", run.output) - - def test_400_zzcat_big_test0_zip(self): + self.assertEqual("file-9999\n", run.output) + ##################################################################### + # check unzzip + ##################################################################### + def test_20400_infozip_cat_test0_zip(self): + """ run inzo-zip cat test.zip using just archive README """ + zipfile = "test0.zip" + getfile = "README" + logfile = "test0.readme.pk.txt" + exe = self.bins("unzip") + run = shell("{exe} -p {zipfile} {getfile} | tee {logfile}".format(**locals())) + self.assertGreater(os.path.getsize(logfile), 10) + self.assertEqual(run.output.split("\n"), self.readme().split("\n")) + def test_20401_infozip_cat_test1_zip(self): + """ run info-zip cat test.zip using just archive README """ + zipfile = "test1.zip" + getfile = "README" + logfile = "test1.readme.pk.txt" + exe = self.bins("unzip") + run = shell("{exe} -p {zipfile} {getfile} | tee {logfile}".format(**locals())) + self.assertGreater(os.path.getsize(logfile), 10) + self.assertEqual(run.output.split("\n"), self.readme().split("\n")) + getfile = "file.1" + run = shell("{exe} -p {zipfile} {getfile}".format(**locals())) + self.assertEqual("file-1\n", run.output) + def test_20402_infozip_cat_test2_zip(self): + """ run info-zip cat test.zip using just archive README """ + zipfile = "test2.zip" + getfile = "README" + logfile = "test2.readme.pk.txt" + exe = self.bins("unzip") + run = shell("{exe} -p {zipfile} {getfile} | tee {logfile}".format(**locals())) + self.assertGreater(os.path.getsize(logfile), 10) + self.assertEqual(run.output.split("\n"), self.readme().split("\n")) + getfile = "file.22" + run = shell("{exe} -p {zipfile} {getfile}".format(**locals())) + self.assertEqual("file-22\n", run.output) + def test_20405_zzcat_big_test5_zip(self): + """ run info-zip cat test.zip using archive README """ + zipfile = "test5.zip" + getfile = "README" + logfile = "test5.readme.pk.txt" + exe = self.bins("unzip") + run = shell("{exe} -p {zipfile} {getfile} | tee {logfile}".format(**locals())) + self.assertGreater(os.path.getsize(logfile), 10) + self.assertEqual(run.output.split("\n"), self.readme().split("\n")) + getfile = "subdir1/subdir2/subdir3/subdir4/subdir5/subdir6/file7-1024.txt" + compare = self.gentext(1024) + run = shell("{exe} -p {zipfile} {getfile}".format(**locals())) + self.assertEqual(compare, run.output) + def test_20410_zzcat_big_test0_zip(self): """ run zzcat-big on test.zip using just archive README """ zipfile = "test0.zip" getfile = "README" @@ -523,7 +713,7 @@ class ZZipTest(unittest.TestCase): run = shell("{exe} -p {zipfile} {getfile} | tee {logfile}".format(**locals())) self.assertGreater(os.path.getsize(logfile), 10) self.assertEqual(run.output.split("\n"), self.readme().split("\n")) - def test_401_zzcat_big_test1_zip(self): + def test_20411_zzcat_big_test1_zip(self): """ run zzcat-big on test.zip using just archive README """ zipfile = "test1.zip" getfile = "README" @@ -535,7 +725,7 @@ class ZZipTest(unittest.TestCase): getfile = "file.1" run = shell("{exe} -p {zipfile} {getfile}".format(**locals())) self.assertEqual("file-1\n", run.output) - def test_402_zzcat_big_test2_zip(self): + def test_20412_zzcat_big_test2_zip(self): """ run zzcat-seeke on test.zip using just archive README """ zipfile = "test2.zip" getfile = "README" @@ -547,7 +737,20 @@ class ZZipTest(unittest.TestCase): getfile = "file.22" run = shell("{exe} -p {zipfile} {getfile}".format(**locals())) self.assertEqual("file-22\n", run.output) - def test_410_zzcat_mem_test0_zip(self): + def test_20415_zzcat_big_test5_zip(self): + """ run zzcat-big on test.zip using archive README """ + zipfile = "test5.zip" + getfile = "README" + logfile = "test5.readme.zap.txt" + exe = self.bins("unzzip-big") + run = shell("{exe} -p {zipfile} {getfile} | tee {logfile}".format(**locals())) + self.assertGreater(os.path.getsize(logfile), 10) + self.assertEqual(run.output.split("\n"), self.readme().split("\n")) + getfile = "subdir1/subdir2/subdir3/subdir4/subdir5/subdir6/file7-1024.txt" + compare = self.gentext(1024) + run = shell("{exe} -p {zipfile} {getfile}".format(**locals())) + self.assertEqual(compare, run.output) + def test_20420_zzcat_mem_test0_zip(self): """ run zzcat-mem on test.zip using just archive README """ zipfile = "test0.zip" getfile = "README" @@ -556,7 +759,7 @@ class ZZipTest(unittest.TestCase): run = shell("{exe} -p {zipfile} {getfile} | tee {logfile}".format(**locals())) self.assertGreater(os.path.getsize(logfile), 10) self.assertEqual(run.output.split("\n"), self.readme().split("\n")) - def test_411_zzcat_mem_test1_zip(self): + def test_20421_zzcat_mem_test1_zip(self): """ run zzcat-mem on test.zip using archive README """ zipfile = "test1.zip" getfile = "README" @@ -568,7 +771,7 @@ class ZZipTest(unittest.TestCase): getfile = "file.1" run = shell("{exe} -p {zipfile} {getfile} | tee {logfile}".format(**locals())) self.assertEqual("file-1\n", run.output) - def test_412_zzcat_mem_test2_zip(self): + def test_20422_zzcat_mem_test2_zip(self): """ run zzcat-mem on test.zip using archive README """ zipfile = "test2.zip" getfile = "README" @@ -580,7 +783,7 @@ class ZZipTest(unittest.TestCase): getfile = "file.22" run = shell("{exe} -p {zipfile} {getfile}".format(**locals())) self.assertEqual("file-22\n", run.output) - def test_413_zzcat_mem_test3_zip(self): + def test_20423_zzcat_mem_test3_zip(self): """ run zzcat-mem on test.zip using archive README """ zipfile = "test3.zip" getfile = "README" @@ -592,7 +795,7 @@ class ZZipTest(unittest.TestCase): getfile = "file.999" run = shell("{exe} -p {zipfile} {getfile}".format(**locals())) self.assertEqual("file-999\n", run.output) - def test_414_zzcat_mem_test4_zip(self): + def test_20424_zzcat_mem_test4_zip(self): """ run zzcat-mem on test.zip using archive README """ zipfile = "test4.zip" getfile = "README" @@ -601,10 +804,23 @@ class ZZipTest(unittest.TestCase): run = shell("{exe} -p {zipfile} {getfile} | tee {logfile}".format(**locals())) self.assertGreater(os.path.getsize(logfile), 10) self.assertEqual(run.output.split("\n"), self.readme().split("\n")) - getfile = "file.999" + getfile = "file9999.txt" run = shell("{exe} -p {zipfile} {getfile}".format(**locals())) - self.assertEqual("file-999\n", run.output) - def test_420_zzcat_mix_test0_zip(self): + self.assertEqual("file-9999\n", run.output) + def test_20425_zzcat_mem_test5_zip(self): + """ run zzcat-mem on test.zip using archive README """ + zipfile = "test5.zip" + getfile = "README" + logfile = "test5.readme.zap.txt" + exe = self.bins("unzzip-mem") + run = shell("{exe} -p {zipfile} {getfile} | tee {logfile}".format(**locals())) + self.assertGreater(os.path.getsize(logfile), 10) + self.assertEqual(run.output.split("\n"), self.readme().split("\n")) + getfile = "subdir1/subdir2/subdir3/subdir4/subdir5/subdir6/file7-1024.txt" + compare = self.gentext(1024) + run = shell("{exe} -p {zipfile} {getfile}".format(**locals())) + self.assertEqual(compare, run.output) + def test_20430_zzcat_mix_test0_zip(self): """ run zzcat-mix on test.zip using just archive README """ zipfile = "test0.zip" getfile = "README" @@ -613,7 +829,7 @@ class ZZipTest(unittest.TestCase): run = shell("{exe} -p {zipfile} {getfile} | tee {logfile}".format(**locals())) self.assertGreater(os.path.getsize(logfile), 10) self.assertEqual(run.output.split("\n"), self.readme().split("\n")) - def test_421_zzcat_mix_test1_zip(self): + def test_20431_zzcat_mix_test1_zip(self): """ run zzcat-mix on test.zip using archive README """ zipfile = "test1.zip" getfile = "README" @@ -625,7 +841,7 @@ class ZZipTest(unittest.TestCase): getfile = "file.1" run = shell("{exe} -p {zipfile} {getfile} | tee {logfile}".format(**locals())) self.assertEqual("file-1\n", run.output) - def test_422_zzcat_mix_test2_zip(self): + def test_20432_zzcat_mix_test2_zip(self): """ run zzcat-mix on test.zip using archive README """ zipfile = "test2.zip" getfile = "README" @@ -637,7 +853,7 @@ class ZZipTest(unittest.TestCase): getfile = "file.22" run = shell("{exe} -p {zipfile} {getfile}".format(**locals())) self.assertEqual("file-22\n", run.output) - def test_423_zzcat_mix_test3_zip(self): + def test_20433_zzcat_mix_test3_zip(self): """ run zzcat-mix on test.zip using archive README """ zipfile = "test3.zip" getfile = "README" @@ -649,7 +865,7 @@ class ZZipTest(unittest.TestCase): getfile = "file.999" run = shell("{exe} -p {zipfile} {getfile}".format(**locals())) self.assertEqual("file-999\n", run.output) - def test_424_zzcat_mix_test4_zip(self): + def test_20434_zzcat_mix_test4_zip(self): """ run zzcat-mix on test.zip using archive README """ zipfile = "test4.zip" getfile = "README" @@ -658,10 +874,23 @@ class ZZipTest(unittest.TestCase): run = shell("{exe} -p {zipfile} {getfile} | tee {logfile}".format(**locals())) self.assertGreater(os.path.getsize(logfile), 10) self.assertEqual(run.output.split("\n"), self.readme().split("\n")) - getfile = "file.999" + getfile = "file9999.txt" run = shell("{exe} -p {zipfile} {getfile}".format(**locals())) - self.assertEqual("file-999\n", run.output) - def test_440_zzcat_zap_test0_zip(self): + self.assertEqual("file-9999\n", run.output) + def test_20435_zzcat_mix_test5_zip(self): + """ run zzcat-mix on test.zip using archive README """ + zipfile = "test5.zip" + getfile = "README" + logfile = "test5.readme.zap.txt" + exe = self.bins("unzzip-mix") + run = shell("{exe} -p {zipfile} {getfile} | tee {logfile}".format(**locals())) + self.assertGreater(os.path.getsize(logfile), 10) + self.assertEqual(run.output.split("\n"), self.readme().split("\n")) + getfile = "subdir1/subdir2/subdir3/subdir4/subdir5/subdir6/file7-1024.txt" + compare = self.gentext(1024) + run = shell("{exe} -p {zipfile} {getfile}".format(**locals())) + self.assertEqual(compare, run.output) + def test_20440_zzcat_zap_test0_zip(self): """ run zzcat-zap on test.zip using just archive README """ zipfile = "test0.zip" getfile = "README" @@ -670,7 +899,7 @@ class ZZipTest(unittest.TestCase): run = shell("{exe} -p {zipfile} {getfile} | tee {logfile}".format(**locals())) self.assertGreater(os.path.getsize(logfile), 10) self.assertEqual(run.output.split("\n"), self.readme().split("\n")) - def test_441_zzcat_zap_test1_zip(self): + def test_20441_zzcat_zap_test1_zip(self): """ run zzcat-zap on test.zip using archive README """ zipfile = "test1.zip" getfile = "README" @@ -682,7 +911,7 @@ class ZZipTest(unittest.TestCase): getfile = "file.1" run = shell("{exe} -p {zipfile} {getfile} | tee {logfile}".format(**locals())) self.assertEqual("file-1\n", run.output) - def test_442_zzcat_zap_test2_zip(self): + def test_20442_zzcat_zap_test2_zip(self): """ run zzcat-zap on test.zip using archive README """ zipfile = "test2.zip" getfile = "README" @@ -694,7 +923,7 @@ class ZZipTest(unittest.TestCase): getfile = "file.22" run = shell("{exe} -p {zipfile} {getfile}".format(**locals())) self.assertEqual("file-22\n", run.output) - def test_443_zzcat_zap_test3_zip(self): + def test_20443_zzcat_zap_test3_zip(self): """ run zzcat-zap on test.zip using archive README """ zipfile = "test3.zip" getfile = "README" @@ -706,7 +935,7 @@ class ZZipTest(unittest.TestCase): getfile = "file.999" run = shell("{exe} -p {zipfile} {getfile}".format(**locals())) self.assertEqual("file-999\n", run.output) - def test_444_zzcat_zap_test4_zip(self): + def test_20444_zzcat_zap_test4_zip(self): """ run zzcat-zap on test.zip using archive README """ zipfile = "test4.zip" getfile = "README" @@ -715,228 +944,2078 @@ class ZZipTest(unittest.TestCase): run = shell("{exe} -p {zipfile} {getfile} | tee {logfile}".format(**locals())) self.assertGreater(os.path.getsize(logfile), 10) self.assertEqual(run.output.split("\n"), self.readme().split("\n")) - getfile = "file.999" + getfile = "file9999.txt" run = shell("{exe} -p {zipfile} {getfile}".format(**locals())) - self.assertEqual("file-999\n", run.output) + self.assertEqual("file-9999\n", run.output) + def test_20445_zzcat_zap_test5_zip(self): + """ run zzcat-zap on test.zip using archive README """ + zipfile = "test5.zip" + getfile = "README" + logfile = "test5.readme.zap.txt" + exe = self.bins("unzzip") + run = shell("{exe} -p {zipfile} {getfile} | tee {logfile}".format(**locals())) + self.assertGreater(os.path.getsize(logfile), 10) + self.assertEqual(run.output.split("\n"), self.readme().split("\n")) + getfile = "subdir1/subdir2/subdir3/subdir4/subdir5/subdir6/file7-1024.txt" + compare = self.gentext(1024) + run = shell("{exe} -p {zipfile} {getfile}".format(**locals())) + self.assertEqual(compare, run.output) - def test_500_zzdir_big_test0_zip(self): + def test_20500_infozipdir_test0_zip(self): + """ run info-zip dir test0.zip """ + zipfile = "test0.zip" + getfile = "test0.zip" + exe = self.bins("unzip") + run = shell("{exe} -l {getfile} ".format(**locals())) + self.assertIn(' README\n', run.output) + self.assertLess(len(run.output), 230) + def test_20501_infozipdir_test1_zip(self): + """ run info-zip dir test1.zip """ + zipfile = "test1.zip" + getfile = "test1.zip" + exe = self.bins("unzip") + run = shell("{exe} -l {getfile} ".format(**locals())) + self.assertIn(' file.1\n', run.output) + self.assertIn(' file.2\n', run.output) + self.assertIn(' file.9\n', run.output) + self.assertIn(' README\n', run.output) + def test_20502_infozipdir_big_test2_zip(self): + """ run info-zip dir test2.zip """ + zipfile = "test2.zip" + getfile = "test2.zip" + exe = self.bins("unzip") + run = shell("{exe} -l {getfile} ".format(**locals())) + self.assertIn(' file.01\n', run.output) + self.assertIn(' file.22\n', run.output) + self.assertIn(' file.99\n', run.output) + def test_20503_infozipdir_big_test3_zip(self): + """ run info-zip dir test3.zip """ + zipfile = "test3.zip" + getfile = "test3.zip" + exe = self.bins("unzip") + run = shell("{exe} -l {getfile} ".format(**locals())) + self.assertIn(' file.001\n', run.output) + self.assertIn(' file.222\n', run.output) + self.assertIn(' file.999\n', run.output) + def test_20504_infozipdir_big_test4_zip(self): + """ run info-zip dir test4.zip """ + zipfile = "test4.zip" + getfile = "test4.zip" + exe = self.bins("unzip") + run = shell("{exe} -l {getfile} ".format(**locals())) + self.assertIn(' file0001.txt\n', run.output) + self.assertIn(' file2222.txt\n', run.output) + self.assertIn(' file9999.txt\n', run.output) + def test_20505_infozipdir_big_test5_zip(self): + """ run info-zip dir on test5.zip """ + zipfile = "test5.zip" + getfile = "test5.zip" + exe = self.bins("unzzip-mix") + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn('/subdir14/file15-128.txt\n', run.output) + self.assertIn('/subdir5/subdir6/', run.output) + self.assertIn(' defl:N ', run.output) + self.assertIn(' stored ', run.output) + def test_20510_zzdir_big_test0_zip(self): """ run zzdir-big on test0.zip """ zipfile = "test0.zip" getfile = "test0.zip" exe = self.bins("unzzip-big") run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' README ', run.output) + self.assertIn(' README\n', run.output) self.assertLess(len(run.output), 30) - def test_501_zzdir_big_test1_zip(self): + def test_20511_zzdir_big_test1_zip(self): """ run zzdir-big on test1.zip """ zipfile = "test1.zip" getfile = "test1.zip" exe = self.bins("unzzip-big") run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' file.1 ', run.output) - self.assertIn(' file.2 ', run.output) - self.assertIn(' file.9 ', run.output) - self.assertIn(' README ', run.output) - def test_502_zzdir_big_test2_zip(self): + self.assertIn(' file.1\n', run.output) + self.assertIn(' file.2\n', run.output) + self.assertIn(' file.9\n', run.output) + self.assertIn(' README\n', run.output) + def test_20512_zzdir_big_test2_zip(self): """ run zzdir-big on test2.zip """ zipfile = "test2.zip" getfile = "test2.zip" exe = self.bins("unzzip-big") run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' file.01 ', run.output) - self.assertIn(' file.22 ', run.output) - self.assertIn(' file.99 ', run.output) - def test_503_zzdir_big_test3_zip(self): + self.assertIn(' file.01\n', run.output) + self.assertIn(' file.22\n', run.output) + self.assertIn(' file.99\n', run.output) + def test_20513_zzdir_big_test3_zip(self): """ run zzdir-big on test3.zip """ zipfile = "test3.zip" getfile = "test3.zip" exe = self.bins("unzzip-big") run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' file.001 ', run.output) - self.assertIn(' file.222 ', run.output) - self.assertIn(' file.999 ', run.output) - def test_504_zzdir_big_test4_zip(self): + self.assertIn(' file.001\n', run.output) + self.assertIn(' file.222\n', run.output) + self.assertIn(' file.999\n', run.output) + def test_20514_zzdir_big_test4_zip(self): """ run zzdir-big on test4.zip """ zipfile = "test4.zip" getfile = "test4.zip" exe = self.bins("unzzip-big") run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' file.001 ', run.output) - self.assertIn(' file.222 ', run.output) - self.assertIn(' file.999 ', run.output) - def test_510_zzdir_mem_test0_zip(self): + self.assertIn(' file0001.txt\n', run.output) + self.assertIn(' file2222.txt\n', run.output) + self.assertIn(' file9999.txt\n', run.output) + def test_20515_zzdir_big_test5_zip(self): + """ run zzdir-big on test5.zip """ + zipfile = "test5.zip" + getfile = "test5.zip" + exe = self.bins("unzzip-mix") + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn('/subdir14/file15-128.txt\n', run.output) + self.assertIn('/subdir5/subdir6/', run.output) + self.assertIn(' defl:N ', run.output) + self.assertIn(' stored ', run.output) + def test_20520_zzdir_mem_test0_zip(self): """ run zzdir-mem on test0.zip """ zipfile = "test0.zip" getfile = "test0.zip" exe = self.bins("unzzip-mem") - run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' README ', run.output) - self.assertIn(' deflated ', run.output) + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn(' README\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertLess(len(run.output), 30) - def test_511_zzdir_mem_test1_zip(self): + def test_20521_zzdir_mem_test1_zip(self): """ run zzdir-mem on test1.zip """ zipfile = "test1.zip" getfile = "test1.zip" exe = self.bins("unzzip-mem") - run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' file.1 ', run.output) - self.assertIn(' file.2 ', run.output) - self.assertIn(' file.9 ', run.output) - self.assertIn(' README ', run.output) - self.assertIn(' deflated ', run.output) + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn(' file.1\n', run.output) + self.assertIn(' file.2\n', run.output) + self.assertIn(' file.9\n', run.output) + self.assertIn(' README\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_512_zzdir_mem_test2_zip(self): + def test_20522_zzdir_mem_test2_zip(self): """ run zzdir-mem on test2.zip """ zipfile = "test2.zip" getfile = "test2.zip" exe = self.bins("unzzip-mem") - run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' file.01 ', run.output) - self.assertIn(' file.22 ', run.output) - self.assertIn(' file.99 ', run.output) - self.assertIn(' deflated ', run.output) + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn(' file.01\n', run.output) + self.assertIn(' file.22\n', run.output) + self.assertIn(' file.99\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_513_zzdir_mem_test3_zip(self): + def test_20523_zzdir_mem_test3_zip(self): """ run zzdir-mem on test3.zip """ zipfile = "test3.zip" getfile = "test3.zip" exe = self.bins("unzzip-mem") - run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' file.001 ', run.output) - self.assertIn(' file.222 ', run.output) - self.assertIn(' file.999 ', run.output) - self.assertIn(' deflated ', run.output) + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn(' file.001\n', run.output) + self.assertIn(' file.222\n', run.output) + self.assertIn(' file.999\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_514_zzdir_mem_test4_zip(self): + def test_20524_zzdir_mem_test4_zip(self): """ run zzdir-mem on test4.zip """ zipfile = "test4.zip" getfile = "test4.zip" exe = self.bins("unzzip-mem") - run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' file.001 ', run.output) - self.assertIn(' file.222 ', run.output) - self.assertIn(' file.999 ', run.output) - self.assertNotIn(' deflated ', run.output) + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn(' file0001.txt\n', run.output) + self.assertIn(' file2222.txt\n', run.output) + self.assertIn(' file9999.txt\n', run.output) + self.assertNotIn(' defl:N ', run.output) + self.assertIn(' stored ', run.output) + def test_20525_zzdir_mem_test5_zip(self): + """ run zzdir-mem on test5.zip """ + zipfile = "test5.zip" + getfile = "test5.zip" + exe = self.bins("unzzip-mix") + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn('/subdir14/file15-128.txt\n', run.output) + self.assertIn('/subdir5/subdir6/', run.output) + self.assertIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_520_zzdir_mix_test0_zip(self): + def test_20530_zzdir_mix_test0_zip(self): """ run zzdir-mix on test0.zip """ # self.skipTest("todo") zipfile = "test0.zip" getfile = "test0.zip" exe = self.bins("unzzip-mix") - run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' README ', run.output) - self.assertIn(' deflated ', run.output) + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn(' README\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertLess(len(run.output), 30) - def test_521_zzdir_mix_test1_zip(self): + def test_20531_zzdir_mix_test1_zip(self): """ run zzdir-mix on test1.zip """ zipfile = "test1.zip" getfile = "test1.zip" exe = self.bins("unzzip-mix") - run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' file.1 ', run.output) - self.assertIn(' file.2 ', run.output) - self.assertIn(' file.9 ', run.output) - self.assertIn(' README ', run.output) - self.assertIn(' deflated ', run.output) + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn(' file.1\n', run.output) + self.assertIn(' file.2\n', run.output) + self.assertIn(' file.9\n', run.output) + self.assertIn(' README\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_522_zzdir_mix_test2_zip(self): + def test_20532_zzdir_mix_test2_zip(self): """ run zzdir-mix on test2.zip """ zipfile = "test2.zip" getfile = "test2.zip" exe = self.bins("unzzip-mix") - run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' file.01 ', run.output) - self.assertIn(' file.22 ', run.output) - self.assertIn(' file.99 ', run.output) - self.assertIn(' deflated ', run.output) + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn(' file.01\n', run.output) + self.assertIn(' file.22\n', run.output) + self.assertIn(' file.99\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_523_zzdir_mix_test3_zip(self): + def test_20533_zzdir_mix_test3_zip(self): """ run zzdir-mix on test3.zip """ zipfile = "test3.zip" getfile = "test3.zip" exe = self.bins("unzzip-mix") - run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' file.001 ', run.output) - self.assertIn(' file.222 ', run.output) - self.assertIn(' file.999 ', run.output) - self.assertIn(' deflated ', run.output) + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn(' file.001\n', run.output) + self.assertIn(' file.222\n', run.output) + self.assertIn(' file.999\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_524_zzdir_mix_test4_zip(self): + def test_20534_zzdir_mix_test4_zip(self): """ run zzdir-mix on test4.zip """ zipfile = "test4.zip" getfile = "test4.zip" exe = self.bins("unzzip-mix") - run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' file.001 ', run.output) - self.assertIn(' file.222 ', run.output) - self.assertIn(' file.999 ', run.output) - self.assertNotIn(' deflated ', run.output) + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn(' file0001.txt\n', run.output) + self.assertIn(' file2222.txt\n', run.output) + self.assertIn(' file9999.txt\n', run.output) + self.assertNotIn(' defl:N ', run.output) + self.assertIn(' stored ', run.output) + def test_20535_zzdir_mix_test5_zip(self): + """ run zzdir-mix on test5.zip """ + zipfile = "test5.zip" + getfile = "test5.zip" + exe = self.bins("unzzip-mix") + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn('/subdir14/file15-128.txt\n', run.output) + self.assertIn('/subdir5/subdir6/', run.output) + self.assertIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_540_zzdir_zap_test0_zip(self): + def test_20540_zzdir_zap_test0_zip(self): """ run zzdir-zap on test0.zip """ zipfile = "test0.zip" getfile = "test0.zip" exe = self.bins("unzzip") - run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' README ', run.output) - self.assertIn(' deflated ', run.output) + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn(' README\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertLess(len(run.output), 30) - def test_541_zzdir_zap_test1_zip(self): + def test_20541_zzdir_zap_test1_zip(self): """ run zzdir-zap on test1.zip """ zipfile = "test1.zip" getfile = "test1.zip" exe = self.bins("unzzip") - run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' file.1 ', run.output) - self.assertIn(' file.2 ', run.output) - self.assertIn(' file.9 ', run.output) - self.assertIn(' README ', run.output) - self.assertIn(' deflated ', run.output) + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn(' file.1\n', run.output) + self.assertIn(' file.2\n', run.output) + self.assertIn(' file.9\n', run.output) + self.assertIn(' README\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_542_zzdir_zap_test2_zip(self): + def test_20542_zzdir_zap_test2_zip(self): """ run zzdir-zap on test2.zip """ zipfile = "test2.zip" getfile = "test2.zip" exe = self.bins("unzzip") - run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' file.01 ', run.output) - self.assertIn(' file.22 ', run.output) - self.assertIn(' file.99 ', run.output) - self.assertIn(' deflated ', run.output) + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn(' file.01\n', run.output) + self.assertIn(' file.22\n', run.output) + self.assertIn(' file.99\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_543_zzdir_zap_test3_zip(self): + def test_20543_zzdir_zap_test3_zip(self): """ run zzdir-zap on test3.zip """ zipfile = "test3.zip" getfile = "test3.zip" exe = self.bins("unzzip") - run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' file.001 ', run.output) - self.assertIn(' file.222 ', run.output) - self.assertIn(' file.999 ', run.output) - self.assertIn(' deflated ', run.output) + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn(' file.001\n', run.output) + self.assertIn(' file.222\n', run.output) + self.assertIn(' file.999\n', run.output) + self.assertIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) - def test_544_zzdir_zap_test4_zip(self): + def test_20544_zzdir_zap_test4_zip(self): """ run zzdir-zap on test4.zip """ zipfile = "test4.zip" getfile = "test4.zip" exe = self.bins("unzzip") - run = shell("{exe} -l {getfile} ".format(**locals())) - self.assertIn(' file.001 ', run.output) - self.assertIn(' file.222 ', run.output) - self.assertIn(' file.999 ', run.output) - self.assertNotIn(' deflated ', run.output) + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn(' file0001.txt\n', run.output) + self.assertIn(' file2222.txt\n', run.output) + self.assertIn(' file9999.txt\n', run.output) + self.assertNotIn(' defl:N ', run.output) self.assertIn(' stored ', run.output) + def test_20545_zzdir_zap_test5_zip(self): + """ run zzdir-zap on test5.zip """ + zipfile = "test5.zip" + getfile = "test5.zip" + exe = self.bins("unzzip") + run = shell("{exe} -v {getfile} ".format(**locals())) + self.assertIn('/subdir14/file15-128.txt\n', run.output) + self.assertIn('/subdir5/subdir6/', run.output) + self.assertIn(' defl:N ', run.output) + self.assertIn(' stored ', run.output) + def test_20595_zzextract_zap_test5_zip(self): + """ run zzextract-zap on test5.zip + => coughs up a SEGFAULT in zzip_dir_close() ?!?""" + self.rm_testdir() + zipfile = "test5.zip" + getfile = "test5.zip" + tmpdir = self.testdir() + exe = self.bins("unzzip") + run = shell("cd {tmpdir} && ../{exe} ../{getfile} ".format(**locals())); + self.assertTrue(tmpdir+'/subdir1/subdir2/file3-1024.txt') + # self.rm_testdir() + + url_CVE_2017_5977 = "https://github.com/asarubbo/poc/blob/master" + zip_CVE_2017_5977 = "00153-zziplib-invalidread-zzip_mem_entry_extra_block" + def test_59770_infozipdir_CVE_2017_5977(self): + """ run info-zip dir test0.zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5977 + file_url = self.url_CVE_2017_5977 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 2]) + self.assertIn(" didn't find end-of-central-dir signature at end of central dir", run.errors) + self.assertIn(" 2 extra bytes at beginning or within zipfile", run.errors) + self.assertLess(len(run.output), 280) + # + run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 90) + self.assertLess(len(errors(run.errors)), 900) + self.assertIn('test: mismatching "local" filename', run.errors) + self.assertIn('test: unknown compression method', run.errors) + self.assertEqual(os.path.getsize(tmpdir+"/test"), 0) + self.rm_testdir() + def test_59771_zzipdir_big_CVE_2017_5977(self): + """ run info-zip -l $(CVE_2017_5977).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5977 + file_url = self.url_CVE_2017_5977 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-big") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn(" stored test", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertEqual(os.path.getsize(tmpdir+"/test"), 0) + self.rm_testdir() + def test_59772_zzipdir_mem_CVE_2017_5977(self): + """ run unzzip-mem -l $(CVE_2017_5977).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5977 + file_url = self.url_CVE_2017_5977 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mem") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn(" 3 test", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 30) + self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.rm_testdir() + def test_59773_zzipdir_mix_CVE_2017_5977(self): + """ run unzzip-mix -l $(CVE_2017_5977).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5977 + file_url = self.url_CVE_2017_5977 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mix") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn(" 3 test", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertEqual(os.path.getsize(tmpdir+"/test"), 0) + self.rm_testdir() + def test_59774_zzipdir_zap_CVE_2017_5977(self): + """ run unzzip -l $(CVE_2017_5977).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5977 + file_url = self.url_CVE_2017_5977 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 255]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn(" 3 test", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) # TODO + self.rm_testdir() + def test_59779(self): + """ check $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5977 + file_url = self.url_CVE_2017_5977 + download_raw(file_url, filename, tmpdir) + shell("ls -l {tmpdir}/{filename}".format(**locals())) + size = os.path.getsize(os.path.join(tmpdir, filename)) + self.assertEqual(size, 163) + + url_CVE_2017_5978 = "https://github.com/asarubbo/poc/blob/master" + zip_CVE_2017_5978 = "00156-zziplib-oobread-zzip_mem_entry_new" + def test_59780_infozipdir_CVE_2017_5978(self): + """ run info-zip dir test0.zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5978 + file_url = self.url_CVE_2017_5978 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 3]) + self.assertIn(' missing 4608 bytes in zipfile', run.errors) + self.assertIn(' attempt to seek before beginning of zipfile', run.errors) + self.assertLess(len(run.output), 80) + self.assertLess(len(errors(run.errors)), 430) + # + run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()), + returncodes = [3]) + self.assertLess(len(run.output), 90) + self.assertLess(len(errors(run.errors)), 900) + self.assertIn('attempt to seek before beginning of zipfile', run.errors) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_59781_zzipdir_big_CVE_2017_5978(self): + """ run info-zip -l $(CVE_2017_5978).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5978 + file_url = self.url_CVE_2017_5978 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-big") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn(" stored (null)", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,1]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertFalse(os.path.exists(tmpdir+"/test")) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 0) + self.rm_testdir() + def test_59782_zzipdir_mem_CVE_2017_5978(self): + """ run unzzip-mem -l $(CVE_2017_5978).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5978 + file_url = self.url_CVE_2017_5978 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mem") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 180) + self.assertIn("zzip_mem_disk_load : unable to load entry", run.errors) + self.assertIn("zzip_mem_disk_open : unable to load disk", run.errors) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 300) + if grep("DEBUG:", run.errors): + self.assertIn("findfirst (nil)", run.errors) + self.assertFalse(os.path.exists(tmpdir+"/test")) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 0) + self.rm_testdir() + def test_59783_zzipdir_mix_CVE_2017_5978(self): + """ run unzzip-mix -l $(CVE_2017_5978).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5978 + file_url = self.url_CVE_2017_5978 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mix") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 180) + self.assertTrue(greps(run.errors, "Invalid or")) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 300) + self.assertTrue(greps(run.errors, "Invalid or")) + self.assertFalse(os.path.exists(tmpdir+"/test")) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 0) + self.rm_testdir() + def test_59784_zzipdir_zap_CVE_2017_5978(self): + """ run unzzip -l $(CVE_2017_5978).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5978 + file_url = self.url_CVE_2017_5978 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [3]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 180) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,3]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 300) + self.assertTrue(greps(run.errors, "Zipfile corrupted")) + self.assertFalse(os.path.exists(tmpdir+"/test")) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 0) + self.rm_testdir() + def test_59789(self): + """ check $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5978 + file_url = self.url_CVE_2017_5978 + download_raw(file_url, filename, tmpdir) + shell("ls -l {tmpdir}/{filename}".format(**locals())) + size = os.path.getsize(os.path.join(tmpdir, filename)) + self.assertEqual(size, 161) + + url_CVE_2017_5979 = "https://github.com/asarubbo/poc/blob/master" + zip_CVE_2017_5979 = "00157-zziplib-nullptr-prescan_entry" + def test_59790_infozipdir_CVE_2017_5979(self): + """ run info-zip dir test0.zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5979 + file_url = self.url_CVE_2017_5979 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertIn(' 1 file', run.output) + self.assertLess(len(run.output), 330) + self.assertLess(len(errors(run.errors)), 1) + # + run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 90) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn('extracting: a', run.output) + self.assertEqual(os.path.getsize(tmpdir+"/a"), 3) + self.rm_testdir() + def test_59791_zzipdir_big_CVE_2017_5979(self): + """ run info-zip -l $(CVE_2017_5979).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5979 + file_url = self.url_CVE_2017_5979 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-big") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn(" stored a", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertEqual(os.path.getsize(tmpdir+"/a"), 3) + self.rm_testdir() + def test_59792_zzipdir_mem_CVE_2017_5979(self): + """ run unzzip-mem -l $(CVE_2017_5979).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5979 + file_url = self.url_CVE_2017_5979 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mem") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn(" 3 a", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 30) + self.assertEqual(os.path.getsize(tmpdir+"/a"), 3) + self.rm_testdir() + def test_59793_zzipdir_mix_CVE_2017_5979(self): + """ run unzzip-mix -l $(CVE_2017_5979).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5979 + file_url = self.url_CVE_2017_5979 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mix") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn(" 3 a", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 20) + self.assertEqual(os.path.getsize(tmpdir+"/a"), 0) # FIXME + # self.assertEqual(os.path.getsize(tmpdir+"/a"), 3) # FIXME + self.rm_testdir() + def test_59794_zzipdir_zap_CVE_2017_5979(self): + """ run unzzip -l $(CVE_2017_5979).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5979 + file_url = self.url_CVE_2017_5979 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 255]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn(" 3 a", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 20) + self.assertEqual(os.path.getsize(tmpdir+"/a"), 3) + self.rm_testdir() + def test_59799(self): + """ check $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5979 + file_url = self.url_CVE_2017_5979 + download_raw(file_url, filename, tmpdir) + shell("ls -l {tmpdir}/{filename}".format(**locals())) + size = os.path.getsize(os.path.join(tmpdir, filename)) + self.assertEqual(size, 155) + + + url_CVE_2017_5974 = "https://github.com/asarubbo/poc/blob/master" + zip_CVE_2017_5974 = "00150-zziplib-heapoverflow-__zzip_get32" + def test_59740_infozipdir_CVE_2017_5974(self): + """ run info-zip dir test0.zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5974 + file_url = self.url_CVE_2017_5974 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 9]) + self.assertIn(' 1 file', run.output) + self.assertLess(len(run.output), 330) + self.assertLess(len(errors(run.errors)), 1) + # + run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 90) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn(" extracting: test", run.output) + self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.rm_testdir() + def test_59741_zzipdir_big_CVE_2017_5974(self): + """ run unzzip-big -l $(CVE_2017_5974).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5974 + file_url = self.url_CVE_2017_5974 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-big") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn(" stored test", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.rm_testdir() + def test_59742_zzipdir_mem_CVE_2017_5974(self): + """ run unzzip-mem -l $(CVE_2017_5974).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5974 + file_url = self.url_CVE_2017_5974 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mem") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn(" 3 test", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 30) + self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.rm_testdir() + def test_59743_zzipdir_mix_CVE_2017_5974(self): + """ run unzzip-mix -l $(CVE_2017_5974).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5974 + file_url = self.url_CVE_2017_5974 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mix") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn(" 3 test", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertEqual(os.path.getsize(tmpdir+"/test"), 0) # FIXME + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) # FIXME + self.rm_testdir() + def test_59744_zzipdir_zap_CVE_2017_5974(self): + """ run unzzip -l $(CVE_2017_5974).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5974 + file_url = self.url_CVE_2017_5974 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 255]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn(" 3 test", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.rm_testdir() + def test_59749(self): + """ check $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5974 + file_url = self.url_CVE_2017_5974 + download_raw(file_url, filename, tmpdir) + shell("ls -l {tmpdir}/{filename}".format(**locals())) + size = os.path.getsize(os.path.join(tmpdir, filename)) + self.assertEqual(size, 161) + + url_CVE_2017_5975 = "https://github.com/asarubbo/poc/blob/master" + zip_CVE_2017_5975 = "00151-zziplib-heapoverflow-__zzip_get64" + def test_59750_infozipdir_CVE_2017_5975(self): + """ run info-zip dir test0.zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5975 + file_url = self.url_CVE_2017_5975 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 2]) + self.assertIn(' missing 10 bytes in zipfile', run.errors) + self.assertIn("didn't find end-of-central-dir signature at end of central dir", run.errors) + self.assertIn(' 1 file', run.output) + self.assertLess(len(run.output), 330) + self.assertLess(len(errors(run.errors)), 430) + # + run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 90) + self.assertLess(len(errors(run.errors)), 900) + self.assertIn('file #1: bad zipfile offset (local header sig): 127', run.errors) + #self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_59751_zzipdir_big_CVE_2017_5975(self): + """ run info-zip -l $(CVE_2017_5975).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5975 + file_url = self.url_CVE_2017_5975 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-big") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn(" stored test", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertEqual(os.path.getsize(tmpdir+"/test"), 0) # TODO + self.rm_testdir() + def test_59752_zzipdir_mem_CVE_2017_5975(self): + """ run unzzip-mem -l $(CVE_2017_5975).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5975 + file_url = self.url_CVE_2017_5975 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mem") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 180) + self.assertIn("zzip_mem_disk_load : unable to load entry", run.errors) + self.assertIn("zzip_mem_disk_open : unable to load disk", run.errors) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 200) + if grep("DEBUG:", run.errors): + self.assertIn("findfirst (nil)", run.errors) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_59753_zzipdir_mix_CVE_2017_5975(self): + """ run unzzip-mix -l $(CVE_2017_5975).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5975 + file_url = self.url_CVE_2017_5975 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mix") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 180) + self.assertTrue(greps(run.errors, "Invalid or")) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 200) + self.assertTrue(greps(run.errors, "Invalid or")) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_59754_zzipdir_zap_CVE_2017_5975(self): + """ run unzzip -l $(CVE_2017_5975).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5975 + file_url = self.url_CVE_2017_5975 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0,3]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 180) + self.assertIn(": Success", run.errors) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,3]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 200) + self.assertTrue(greps(run.errors, "Zipfile corrupted")) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_59759(self): + """ check $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5975 + file_url = self.url_CVE_2017_5975 + download_raw(file_url, filename, tmpdir) + shell("ls -l {tmpdir}/{filename}".format(**locals())) + size = os.path.getsize(os.path.join(tmpdir, filename)) + self.assertEqual(size, 151) + + + url_CVE_2017_5976 = "https://github.com/asarubbo/poc/blob/master" + zip_CVE_2017_5976 = "00152-zziplib-heapoverflow-zzip_mem_entry_extra_block" + def test_59760_infozipdir_CVE_2017_5976(self): + """ run info-zip dir test0.zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5976 + file_url = self.url_CVE_2017_5976 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 2]) + self.assertIn(' 27 extra bytes at beginning or within zipfile', run.errors) + self.assertIn("didn't find end-of-central-dir signature at end of central dir", run.errors) + self.assertIn(' 1 file', run.output) + self.assertLess(len(run.output), 330) + self.assertLess(len(errors(run.errors)), 500) + # + run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 190) + self.assertLess(len(errors(run.errors)), 900) + self.assertIn("extracting: test", run.output) + self.assertIn('-27 bytes too long', run.errors) + self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + # self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_59761_zzipdir_big_CVE_2017_5976(self): + """ run info-zip -l $(CVE_2017_5976).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5976 + file_url = self.url_CVE_2017_5976 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-big") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn(" stored test", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.rm_testdir() + def test_59762_zzipdir_mem_CVE_2017_5976(self): + """ run unzzip-mem -l $(CVE_2017_5976).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5976 + file_url = self.url_CVE_2017_5976 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mem") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn("3 test", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 30) # TODO + self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.rm_testdir() + def test_59763_zzipdir_mix_CVE_2017_5976(self): + """ run unzzip-mix -l $(CVE_2017_5976).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5976 + file_url = self.url_CVE_2017_5976 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mix") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn("3 test", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 30) + self.assertEqual(os.path.getsize(tmpdir+"/test"), 0) # FIXME + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) # FIXME + self.rm_testdir() + def test_59764_zzipdir_zap_CVE_2017_5976(self): + """ run unzzip -l $(CVE_2017_5976).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5976 + file_url = self.url_CVE_2017_5976 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 255]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn("3 test", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 30) + self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.rm_testdir() + def test_59769(self): + """ check $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5976 + file_url = self.url_CVE_2017_5976 + download_raw(file_url, filename, tmpdir) + shell("ls -l {tmpdir}/{filename}".format(**locals())) + size = os.path.getsize(os.path.join(tmpdir, filename)) + self.assertEqual(size, 188) + + url_CVE_2017_5980 = "https://github.com/asarubbo/poc/blob/master" + zip_CVE_2017_5980 = "00154-zziplib-nullptr-zzip_mem_entry_new" + def test_59800_infozipdir_CVE_2017_5980(self): + """ run info-zip dir test0.zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5980 + file_url = self.url_CVE_2017_5980 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 2]) + self.assertIn(' missing 6 bytes in zipfile', run.errors) + self.assertIn("didn't find end-of-central-dir signature at end of central dir", run.errors) + self.assertIn(' 1 file', run.output) + self.assertLess(len(run.output), 330) + self.assertLess(len(errors(run.errors)), 500) + # + run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()), + returncodes = [3]) + self.assertLess(len(run.output), 90) + self.assertLess(len(errors(run.errors)), 900) + self.assertIn('file #1: bad zipfile offset (lseek)', run.errors) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_59801_zzipdir_big_CVE_2017_5980(self): + """ run info-zip -l $(CVE_2017_5980).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5980 + file_url = self.url_CVE_2017_5980 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-big") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + self.assertIn(" stored (null)", run.output) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,1]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_59802_zzipdir_mem_CVE_2017_5980(self): + """ run unzzip-mem -l $(CVE_2017_5980).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5980 + file_url = self.url_CVE_2017_5980 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzipdir-mem") + run = shell("{exe} {tmpdir}/{filename} ".format(**locals()), + returncodes = [0,127,-11]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 180) + # self.assertTrue(greps(run.errors, "unable to load disk")) + # + exe = self.bins("unzzipcat-mem") + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 200) + self.assertFalse(os.path.exists(tmpdir+"/test")) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.rm_testdir() + def test_59803_zzipdir_mix_CVE_2017_5980(self): + """ run unzzip-mix -l $(CVE_2017_5980).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5980 + file_url = self.url_CVE_2017_5980 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mix") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 180) + self.assertTrue(greps(run.errors, "Invalid or")) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 200) + self.assertFalse(os.path.exists(tmpdir+"/test")) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.rm_testdir() + def test_59804_zzipdir_zap_CVE_2017_5980(self): + """ run unzzip -l $(CVE_2017_5980).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5980 + file_url = self.url_CVE_2017_5980 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [3]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 180) + self.assertIn(": Success", run.errors) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [3]) # TODO + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 200) + self.assertFalse(os.path.exists(tmpdir+"/test")) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.rm_testdir() + def test_59809(self): + """ check $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5980 + file_url = self.url_CVE_2017_5980 + download_raw(file_url, filename, tmpdir) + shell("ls -l {tmpdir}/{filename}".format(**locals())) + size = os.path.getsize(os.path.join(tmpdir, filename)) + self.assertEqual(size, 155) + + + url_CVE_2017_5981 = "https://github.com/asarubbo/poc/blob/master" + zip_CVE_2017_5981 = "00161-zziplib-assertionfailure-seeko_C" + def test_59810_infozipdir_CVE_2017_5981(self): + """ run info-zip dir test0.zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5981 + file_url = self.url_CVE_2017_5981 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 3]) + self.assertIn(' missing 4 bytes in zipfile', run.errors) + self.assertIn("zipfile corrupt", run.errors) + self.assertLess(len(run.output), 80) + self.assertLess(len(errors(run.errors)), 500) + # + run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()), + returncodes = [3]) + self.assertLess(len(run.output), 90) + self.assertLess(len(errors(run.errors)), 500) + self.assertIn('zipfile corrupt.', run.errors) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_59811_zzipdir_big_CVE_2017_5981(self): + """ run info-zip -l $(CVE_2017_5981).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5981 + file_url = self.url_CVE_2017_5981 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-big") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 1) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_59812_zzipdir_mem_CVE_2017_5981(self): + """ run unzzip-mem -l $(CVE_2017_5981).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5981 + file_url = self.url_CVE_2017_5981 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mem") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 1) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_59813_zzipdir_mix_CVE_2017_5981(self): + """ run unzzip-mix -l $(CVE_2017_5981).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5981 + file_url = self.url_CVE_2017_5981 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mix") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 1) + self.assertTrue(greps(run.errors, "Invalid or")) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_59814_zzipdir_zap_CVE_2017_5981(self): + """ run unzzip-zap -l $(CVE_2017_5981).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5981 + file_url = self.url_CVE_2017_5981 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0,3]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 80) + self.assertIn(": Success", run.errors) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,3]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_59819(self): + """ check $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2017_5981 + file_url = self.url_CVE_2017_5981 + download_raw(file_url, filename, tmpdir) + shell("ls -l {tmpdir}/{filename}".format(**locals())) + size = os.path.getsize(os.path.join(tmpdir, filename)) + self.assertEqual(size, 157) + + url_CVE_2018_10 = "https://github.com/ProbeFuzzer/poc/blob/master/zziplib" + zip_CVE_2018_10 = "zziplib_0-13-67_zzdir_invalid-memory-access_main.zip" + def test_63010(self): + """ info unzip -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_10 + file_url = self.url_CVE_2018_10 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 9]) + self.assertIn("End-of-central-directory signature not found", run.errors) + self.assertLess(len(run.output), 80) + self.assertLess(len(errors(run.errors)), 600) + # + run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()), + returncodes = [9]) + self.assertLess(len(run.output), 90) + self.assertLess(len(errors(run.errors)), 600) + self.assertIn('End-of-central-directory signature not found', run.errors) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_63011(self): + """ unzzip-big -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_10 + file_url = self.url_CVE_2018_10 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-big") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 1) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_63012(self): + """ unzzip-mem -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_10 + file_url = self.url_CVE_2018_10 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mem") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 1) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_63013(self): + """ unzzip-mix -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_10 + file_url = self.url_CVE_2018_10 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mix") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 1) + self.assertTrue(greps(run.errors, "Invalid or")) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_63014(self): + """ unzzip-zap -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_10 + file_url = self.url_CVE_2018_10 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0,3]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 80) + self.assertIn(": Success", run.errors) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,3]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_63018(self): + """ zzdir on $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_10 + file_url = self.url_CVE_2018_10 + download_raw(file_url, filename, tmpdir) + exe = self.bins("zzdir") + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [1]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 80) + self.assertTrue(greps(run.errors, "Invalid or")) + def test_63019(self): + """ check $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_10 + file_url = self.url_CVE_2018_10 + download_raw(file_url, filename, tmpdir) + shell("ls -l {tmpdir}/{filename}".format(**locals())) + size = os.path.getsize(os.path.join(tmpdir, filename)) + self.assertEqual(size, 188) + + url_CVE_2018_11 = "https://github.com/ProbeFuzzer/poc/blob/master/zziplib" + zip_CVE_2018_11 = "zziplib_0-13-67_unzzip_infinite-loop_unzzip_cat_file.zip" + def test_63110(self): + """ info unzip -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_11 + file_url = self.url_CVE_2018_11 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 9]) + self.assertIn("End-of-central-directory signature not found", run.errors) + self.assertLess(len(run.output), 90) + self.assertLess(len(errors(run.errors)), 600) + # + run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()), + returncodes = [9]) + self.assertLess(len(run.output), 90) + self.assertLess(len(errors(run.errors)), 600) + self.assertIn('End-of-central-directory signature not found', run.errors) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_63111(self): + """ unzzip-big -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_11 + file_url = self.url_CVE_2018_11 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-big") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 1) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_63112(self): + """ unzzip-mem -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_11 + file_url = self.url_CVE_2018_11 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mem") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 1) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_63113(self): + """ unzzip-mix -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_11 + file_url = self.url_CVE_2018_11 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mix") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 1) + self.assertTrue(greps(run.errors, "Invalid or")) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_63114(self): + """ unzzip-zap -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_11 + file_url = self.url_CVE_2018_11 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0,3]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 90) + self.assertIn(": Success", run.errors) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,3]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + # + run = shell("cd {tmpdir} && ../{exe} -p {filename} ".format(**locals()), + returncodes = [0,3]) + self.rm_testdir() + def test_63119(self): + """ check $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_11 + file_url = self.url_CVE_2018_11 + download_raw(file_url, filename, tmpdir) + shell("ls -l {tmpdir}/{filename}".format(**locals())) + size = os.path.getsize(os.path.join(tmpdir, filename)) + self.assertEqual(size, 280) + + url_CVE_2018_12 = "https://github.com/ProbeFuzzer/poc/blob/master/zziplib" + zip_CVE_2018_12 = "zziplib_0-13-67_unzip-mem_buffer-access-with-incorrect-length-value_zzip_disk_fread.zip" + def test_63810(self): + """ info unzip -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_12 + file_url = self.url_CVE_2018_12 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [2]) + self.assertIn('reported length of central directory', run.errors) + self.assertLess(len(run.output), 300) + self.assertLess(len(errors(run.errors)), 800) + # + run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 300) + self.assertLess(len(errors(run.errors)), 800) + self.assertIn('reported length of central directory', run.errors) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_63811(self): + """ unzzip-big -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_12 + file_url = self.url_CVE_2018_12 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-big") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 20) + self.assertLess(len(errors(run.errors)), 1) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_63812(self): + """ unzzip-mem -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_12 + file_url = self.url_CVE_2018_12 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mem") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 1) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_63813(self): + """ unzzip-mix -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_12 + file_url = self.url_CVE_2018_12 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mix") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 1) + self.assertTrue(grep(run.errors, "central directory not found")) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_63814(self): + """ unzzip-zap -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_12 + file_url = self.url_CVE_2018_12 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0,3]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 200) + self.assertIn(": Success", run.errors) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,3]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_63819(self): + """ check $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_12 + file_url = self.url_CVE_2018_12 + download_raw(file_url, filename, tmpdir) + shell("ls -l {tmpdir}/{filename}".format(**locals())) + size = os.path.getsize(os.path.join(tmpdir, filename)) + self.assertEqual(size, 152) + + url_CVE_2018_14 = "https://github.com/ProbeFuzzer/poc/blob/master/zziplib" + zip_CVE_2018_14 = "zziplib_0-13-67_zzdir_memory-alignment-errors___zzip_fetch_disk_trailer.zip" + def test_64840(self): + """ info unzip -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_14 + file_url = self.url_CVE_2018_14 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [3]) + self.assertIn("attempt to seek before beginning of zipfile", run.errors) + self.assertLess(len(run.output), 200) + self.assertLess(len(errors(run.errors)), 800) + # + exe = self.bins("unzip") + run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()), + returncodes = [3]) + self.assertLess(len(run.output), 200) + self.assertLess(len(errors(run.errors)), 800) + self.assertIn('attempt to seek before beginning of zipfile', run.errors) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_64841(self): + """ unzzip-big -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_14 + file_url = self.url_CVE_2018_14 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-big") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 1) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_64842(self): + """ unzzip-mem -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_14 + file_url = self.url_CVE_2018_14 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mem") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 1) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_64843(self): + """ unzzip-mix -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_14 + file_url = self.url_CVE_2018_14 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mix") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 2]) + self.assertLess(len(run.output), 1) + self.assertTrue(greps(run.errors, "Invalid or")) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_64844(self): + """ unzzip-zap -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_14 + file_url = self.url_CVE_2018_14 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 3]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 200) + self.assertIn(": Success", run.errors) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,3]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_64848(self): + """ zzdir $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_14 + file_url = self.url_CVE_2018_14 + download_raw(file_url, filename, tmpdir) + exe = self.bins("zzdir") + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [1]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 200) + self.assertTrue(greps(run.errors, "Invalid or")) + self.rm_testdir() + def test_64849(self): + """ check $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_14 + file_url = self.url_CVE_2018_14 + download_raw(file_url, filename, tmpdir) + shell("ls -l {tmpdir}/{filename}".format(**locals())) + size = os.path.getsize(os.path.join(tmpdir, filename)) + self.assertEqual(size, 56) + + url_CVE_2018_15 = "https://github.com/ProbeFuzzer/poc/blob/master/zziplib" + zip_CVE_2018_15 = "zziplib_0-13-67_unzip-mem_memory-alignment-errors_zzip_disk_findfirst.zip" + def test_65400(self): + """ info unzip -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_15 + file_url = self.url_CVE_2018_15 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [2]) + self.assertIn("reported length of central directory", run.errors) + self.assertLess(len(run.output), 300) + self.assertLess(len(errors(run.errors)), 800) + # + run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 300) + self.assertLess(len(errors(run.errors)), 800) + self.assertIn('reported length of central directory', run.errors) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_65401(self): + """ unzzip-big -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_15 + file_url = self.url_CVE_2018_15 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-big") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 15) + self.assertLess(len(errors(run.errors)), 1) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_65402(self): + """ unzzip-mem -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_15 + file_url = self.url_CVE_2018_15 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mem") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_65403(self): + """ unzzip-mix -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_15 + file_url = self.url_CVE_2018_15 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mix") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 1) + self.assertTrue(greps(run.errors, "Invalid or")) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_65404(self): + """ unzzip-zap -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_15 + file_url = self.url_CVE_2018_15 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 3]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 200) + self.assertIn(": Success", run.errors) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,3]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_65409(self): + """ check $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_15 + file_url = self.url_CVE_2018_15 + download_raw(file_url, filename, tmpdir) + shell("ls -l {tmpdir}/{filename}".format(**locals())) + size = os.path.getsize(os.path.join(tmpdir, filename)) + self.assertEqual(size, 141) + + url_CVE_2018_16 = "https://github.com/ProbeFuzzer/poc/blob/master/zziplib" + zip_CVE_2018_16 = "zziplib_0-13-67_unzzip_memory-aligment-errors___zzip_fetch_disk_trailer.zip" + def test_65410(self): + """ info unzip -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_16 + file_url = self.url_CVE_2018_16 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 9]) + self.assertIn("End-of-central-directory signature not found", run.errors) + self.assertLess(len(run.output), 200) + self.assertLess(len(errors(run.errors)), 800) + # + run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()), + returncodes = [9]) + self.assertLess(len(run.output), 200) + self.assertLess(len(errors(run.errors)), 800) + self.assertIn('End-of-central-directory signature not found', run.errors) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_65411(self): + """ unzzip-big -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_16 + file_url = self.url_CVE_2018_16 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-big") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 1) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_65412(self): + """ unzzip-mem -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_16 + file_url = self.url_CVE_2018_16 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mem") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 1) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_65413(self): + """ unzzip-mix -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_16 + file_url = self.url_CVE_2018_16 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mix") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 1) + self.assertTrue(greps(run.errors, "Invalid or")) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_65414(self): + """ unzzip-zap -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_16 + file_url = self.url_CVE_2018_16 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 3]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 200) + self.assertIn(": Success", run.errors) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,3]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + self.assertTrue(greps(run.errors, "Zipfile corrupted")) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + # + run = shell("cd {tmpdir} && ../{exe} -p {filename} ".format(**locals()), + returncodes = [0,3]) + self.assertTrue(greps(run.errors, "Zipfile corrupted")) + self.rm_testdir() + def test_65419(self): + """ check $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_16 + file_url = self.url_CVE_2018_16 + download_raw(file_url, filename, tmpdir) + shell("ls -l {tmpdir}/{filename}".format(**locals())) + size = os.path.getsize(os.path.join(tmpdir, filename)) + self.assertEqual(size, 124) + + url_CVE_2018_17 = "https://github.com/ProbeFuzzer/poc/blob/master/zziplib" + zip_CVE_2018_17 = "zziplib_0-13-67_unzip-mem_memory-alignment-errors_zzip_disk_findfirst_64.zip" + def test_65420(self): + """ info unzip -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_17 + file_url = self.url_CVE_2018_17 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 9]) + self.assertIn("End-of-central-directory signature not found", run.errors) + self.assertLess(len(run.output), 200) + self.assertLess(len(errors(run.errors)), 800) + # + run = shell("cd {tmpdir} && {exe} -o {filename}".format(**locals()), + returncodes = [9]) + self.assertLess(len(run.output), 200) + self.assertLess(len(errors(run.errors)), 800) + self.assertIn('End-of-central-directory signature not found', run.errors) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_65421(self): + """ unzzip-big -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_17 + file_url = self.url_CVE_2018_17 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-big") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 1) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 1) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_65422(self): + """ unzzip-mem -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_17 + file_url = self.url_CVE_2018_17 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mem") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0]) + self.assertLess(len(run.output), 50) + self.assertLess(len(errors(run.errors)), 1) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [2]) + self.assertLess(len(run.output), 30) + self.assertLess(len(errors(run.errors)), 10) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + # + run = shell("cd {tmpdir} && ../{exe} -p {filename} ".format(**locals()), + returncodes = [2]) + # self.rm_testdir() + def test_65423(self): + """ unzzip-mix -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_17 + file_url = self.url_CVE_2018_17 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip-mix") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 1) + self.assertTrue(greps(run.errors, "Invalid or")) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,2]) + self.assertLess(len(run.output), 30) + self.assertTrue(greps(run.errors, "Invalid or")) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_65424(self): + """ unzzip-zap -l $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_17 + file_url = self.url_CVE_2018_17 + download_raw(file_url, filename, tmpdir) + exe = self.bins("unzzip") + run = shell("{exe} -l {tmpdir}/{filename} ".format(**locals()), + returncodes = [0, 3]) + self.assertLess(len(run.output), 1) + self.assertLess(len(errors(run.errors)), 200) + self.assertIn(": Success", run.errors) + # + run = shell("cd {tmpdir} && ../{exe} {filename} ".format(**locals()), + returncodes = [0,3]) + self.assertLess(len(run.output), 30) + self.assertTrue(greps(run.errors, "Zipfile corrupted")) + # self.assertEqual(os.path.getsize(tmpdir+"/test"), 3) + self.assertFalse(os.path.exists(tmpdir+"/test")) + self.rm_testdir() + def test_65429(self): + """ check $(CVE).zip """ + tmpdir = self.testdir() + filename = self.zip_CVE_2018_17 + file_url = self.url_CVE_2018_17 + download_raw(file_url, filename, tmpdir) + shell("ls -l {tmpdir}/{filename}".format(**locals())) + size = os.path.getsize(os.path.join(tmpdir, filename)) + self.assertEqual(size, 360) + - def test_900_make_test1w_zip(self): + def test_91000_zzshowme_check_sfx(self): + """ create an *.exe that can extract its own zip content """ + exe=self.bins("mkzip") + exefile = "tmp.zzshowme" + exeext + libstub = ".libs/zzipself" + exeext + txtfile_name = readme + txtfile = self.src(readme) + # add the extract-stub so we have reserved the size + run = shell("{exe} -0 -j {exefile}.zip {libstub}".format(**locals())) + self.assertFalse(run.returncode) + # add the actual content which may now be compressed + run = shell("{exe} -9 -j {exefile}.zip {txtfile}".format(**locals())) + self.assertFalse(run.returncode) + # rename .zip to .exe and put the extract-stub at the start + shutil.copy(exefile+".zip", exefile) + setstub="./zzipsetstub" + exeext + run = shell("{setstub} {exefile} {libstub}".format(**locals())) + self.assertFalse(run.returncode) + os.chmod(exefile, 0755) + # now ask the new .exe to show some of its own content + run = shell("./{exefile} {txtfile_name}".format(**locals())) + self.assertFalse(run.returncode) + txt = open(txtfile).read() + self.assertEqual(txt.split("\n"), run.output.split("\n")) + + def test_99000_make_test1w_zip(self): """ create a test1w.zip using zzip/write functions. """ exe=self.bins("zzip") run = shell("{exe} --version".format(**locals())) if "- NO -" in run.output: self.skipTest("- NO -D_ZZIP_ENABLE_WRITE") return - zipfile="test1w.zip" - tmpdir="test1w.tmp" + zipfile=self.testzip() + tmpdir=self.testdir() exe=self.bins("zzip") for i in [1,2,3,4,5,6,7,8,9]: filename = os.path.join(tmpdir,"file.%i" % i) @@ -945,8 +3024,7 @@ class ZZipTest(unittest.TestCase): filename = os.path.join(tmpdir,"README") filetext = self.readme() self.mkfile(filename, filetext) - try: os.remove(zipfile) - except: pass + self.rm_zipfile() shell("../{exe} ../{zipfile} ??*.* README".format(**locals()), cwd=tmpdir) self.assertGreater(os.path.getsize(zipfile), 10) diff --git a/source/libs/zziplib/zziplib-src/zzip/Makefile.am b/source/libs/zziplib/zziplib-src/zzip/Makefile.am index 0319cc80f..5f333fbea 100644 --- a/source/libs/zziplib/zziplib-src/zzip/Makefile.am +++ b/source/libs/zziplib/zziplib-src/zzip/Makefile.am @@ -8,7 +8,7 @@ zzipdir = ${includedir}/zzip zzip_HEADERS = $(libzzip_la_headers) \ $(libzzipmmapped_la_headers) \ $(libzzipfseeko_la_headers) -noinst_HEADERS = __debug.h __hints.h __mmap.h __dirent.h __fnmatch.h +noinst_HEADERS = __debug.h __hints.h __mmap.h __dirent.h __fnmatch.h __string.h __mkdir.h __errno.h # VERSION_INFO=@VERSION_INFO@ RELEASE_INFO=@RELEASE_INFO@ diff --git a/source/libs/zziplib/zziplib-src/zzip/Makefile.in b/source/libs/zziplib/zziplib-src/zzip/Makefile.in index 03ee59755..8a835ab1b 100644 --- a/source/libs/zziplib/zziplib-src/zzip/Makefile.in +++ b/source/libs/zziplib/zziplib-src/zzip/Makefile.in @@ -397,7 +397,7 @@ zzip_HEADERS = $(libzzip_la_headers) \ $(libzzipmmapped_la_headers) \ $(libzzipfseeko_la_headers) -noinst_HEADERS = __debug.h __hints.h __mmap.h __dirent.h __fnmatch.h +noinst_HEADERS = __debug.h __hints.h __mmap.h __dirent.h __fnmatch.h __string.h __mkdir.h __errno.h # libzzip_la_SOURCES = \ zip.c \ diff --git a/source/libs/zziplib/zziplib-src/zzip/__debug.h b/source/libs/zziplib/zziplib-src/zzip/__debug.h index 13c7d8954..b79e5587f 100644 --- a/source/libs/zziplib/zziplib-src/zzip/__debug.h +++ b/source/libs/zziplib/zziplib-src/zzip/__debug.h @@ -8,61 +8,68 @@ #ifdef DEBUG #include <stdio.h> -#define DBG1(X1) ZZIP_FOR1 { \ +#define MSG1(X1) ZZIP_FOR1 { \ fprintf(stderr,"\n%s:%i:"X1"\n", ZZIP_FUNC,__LINE__ \ ); } ZZIP_END1 -#define DBG2(X1,X2) ZZIP_FOR1 { \ +#define MSG2(X1,X2) ZZIP_FOR1 { \ fprintf(stderr,"\n%s:%i:"X1"\n", ZZIP_FUNC,__LINE__ \ ,X2);} ZZIP_END1 -#define DBG3(X1,X2,X3) ZZIP_FOR1 { \ +#define MSG3(X1,X2,X3) ZZIP_FOR1 { \ fprintf(stderr,"\n%s:%i:"X1"\n", ZZIP_FUNC,__LINE__ \ ,X2,X3); } ZZIP_END1 -#define DBG4(X1,X2,X3,X4) ZZIP_FOR1 { \ +#define MSG4(X1,X2,X3,X4) ZZIP_FOR1 { \ fprintf(stderr,"\n%s:%i:"X1"\n", ZZIP_FUNC,__LINE__ \ ,X2,X3,X4); } ZZIP_END1 -#define DBG5(X1,X2,X3,X4,X5) ZZIP_FOR1 { \ +#define MSG5(X1,X2,X3,X4,X5) ZZIP_FOR1 { \ fprintf(stderr,"\n%s:%i:"X1"\n", ZZIP_FUNC,__LINE__ \ ,X2,X3,X4,X5); } ZZIP_END1 -#define DBG6(X1,X2,X3,X4,X5,X6) ZZIP_FOR1 { \ +#define MSG6(X1,X2,X3,X4,X5,X6) ZZIP_FOR1 { \ fprintf(stderr,"\n%s:%i:"X1"\n", ZZIP_FUNC,__LINE__ \ ,X2,X3,X4,X5,X6); } ZZIP_END1 #else -#define DBG1(X1) {} -#define DBG2(X1,X2) {} -#define DBG3(X1,X2,X3) {} -#define DBG4(X1,X2,X3,X4) {} -#define DBG5(X1,X2,X3,X4,X5) {} -#define DBG6(X1,X2,X3,X4,X5,X6) {} +#define MSG1(X1) {} +#define MSG2(X1,X2) {} +#define MSG3(X1,X2,X3) {} +#define MSG4(X1,X2,X3,X4) {} +#define MSG5(X1,X2,X3,X4,X5) {} +#define MSG6(X1,X2,X3,X4,X5,X6) {} #endif -#define HINT1(X1) DBG1("HINT: " X1) -#define HINT2(X1,X2) DBG2("HINT: " X1,X2) -#define HINT3(X1,X2,X3) DBG3("HINT: " X1,X2,X3) -#define HINT4(X1,X2,X3,X4) DBG4("HINT: " X1,X2,X3,X4) -#define HINT5(X1,X2,X3,X4,X5) DBG5("HINT: " X1,X2,X3,X4,X5) -#define HINT6(X1,X2,X3,X4,X5,X6) DBG6("HINT: " X1,X2,X3,X4,X5,X6) +#define DBG1(X1) MSG1("DEBUG: " X1) +#define DBG2(X1,X2) MSG2("DEBUG: " X1,X2) +#define DBG3(X1,X2,X3) MSG3("DEBUG: " X1,X2,X3) +#define DBG4(X1,X2,X3,X4) MSG4("DEBUG: " X1,X2,X3,X4) +#define DBG5(X1,X2,X3,X4,X5) MSG5("DEBUG: " X1,X2,X3,X4,X5) +#define DBG6(X1,X2,X3,X4,X5,X6) MSG6("DEBUG: " X1,X2,X3,X4,X5,X6) -#define NOTE1(X1) DBG1("NOTE: " X1) -#define NOTE2(X1,X2) DBG2("NOTE: " X1,X2) -#define NOTE3(X1,X2,X3) DBG3("NOTE: " X1,X2,X3) -#define NOTE4(X1,X2,X3,X4) DBG4("NOTE: " X1,X2,X3,X4) -#define NOTE5(X1,X2,X3,X4,X5) DBG5("NOTE: " X1,X2,X3,X4,X5) -#define NOTE6(X1,X2,X3,X4,X5,X6) DBG6("NOTE: " X1,X2,X3,X4,X5,X6) +#define HINT1(X1) MSG1("HINT: " X1) +#define HINT2(X1,X2) MSG2("HINT: " X1,X2) +#define HINT3(X1,X2,X3) MSG3("HINT: " X1,X2,X3) +#define HINT4(X1,X2,X3,X4) MSG4("HINT: " X1,X2,X3,X4) +#define HINT5(X1,X2,X3,X4,X5) MSG5("HINT: " X1,X2,X3,X4,X5) +#define HINT6(X1,X2,X3,X4,X5,X6) MSG6("HINT: " X1,X2,X3,X4,X5,X6) -#define WARN1(X1) DBG1("WARN: " X1) -#define WARN2(X1,X2) DBG2("WARN: " X1,X2) -#define WARN3(X1,X2,X3) DBG3("WARN: " X1,X2,X3) -#define WARN4(X1,X2,X3,X4) DBG4("WARN: " X1,X2,X3,X4) -#define WARN5(X1,X2,X3,X4,X5) DBG5("WARN: " X1,X2,X3,X4,X5) -#define WARN6(X1,X2,X3,X4,X5,X6) DBG6("WARN: " X1,X2,X3,X4,X5,X6) +#define NOTE1(X1) MSG1("NOTE: " X1) +#define NOTE2(X1,X2) MSG2("NOTE: " X1,X2) +#define NOTE3(X1,X2,X3) MSG3("NOTE: " X1,X2,X3) +#define NOTE4(X1,X2,X3,X4) MSG4("NOTE: " X1,X2,X3,X4) +#define NOTE5(X1,X2,X3,X4,X5) MSG5("NOTE: " X1,X2,X3,X4,X5) +#define NOTE6(X1,X2,X3,X4,X5,X6) MSG6("NOTE: " X1,X2,X3,X4,X5,X6) -#define FAIL1(X1) DBG1("FAIL: " X1) -#define FAIL2(X1,X2) DBG2("FAIL: " X1,X2) -#define FAIL3(X1,X2,X3) DBG3("FAIL: " X1,X2,X3) -#define FAIL4(X1,X2,X3,X4) DBG4("FAIL: " X1,X2,X3,X4) -#define FAIL5(X1,X2,X3,X4,X5) DBG5("FAIL: " X1,X2,X3,X4,X5) -#define FAIL6(X1,X2,X3,X4,X5,X6) DBG6("FAIL: " X1,X2,X3,X4,X5,X6) +#define WARN1(X1) MSG1("WARN: " X1) +#define WARN2(X1,X2) MSG2("WARN: " X1,X2) +#define WARN3(X1,X2,X3) MSG3("WARN: " X1,X2,X3) +#define WARN4(X1,X2,X3,X4) MSG4("WARN: " X1,X2,X3,X4) +#define WARN5(X1,X2,X3,X4,X5) MSG5("WARN: " X1,X2,X3,X4,X5) +#define WARN6(X1,X2,X3,X4,X5,X6) MSG6("WARN: " X1,X2,X3,X4,X5,X6) + +#define FAIL1(X1) MSG1("FAIL: " X1) +#define FAIL2(X1,X2) MSG2("FAIL: " X1,X2) +#define FAIL3(X1,X2,X3) MSG3("FAIL: " X1,X2,X3) +#define FAIL4(X1,X2,X3,X4) MSG4("FAIL: " X1,X2,X3,X4) +#define FAIL5(X1,X2,X3,X4,X5) MSG5("FAIL: " X1,X2,X3,X4,X5) +#define FAIL6(X1,X2,X3,X4,X5,X6) MSG6("FAIL: " X1,X2,X3,X4,X5,X6) diff --git a/source/libs/zziplib/zziplib-src/zzip/__errno.h b/source/libs/zziplib/zziplib-src/zzip/__errno.h new file mode 100644 index 000000000..d66ac3f71 --- /dev/null +++ b/source/libs/zziplib/zziplib-src/zzip/__errno.h @@ -0,0 +1,11 @@ +#ifndef __ZZIP_INTERNAL_ERRNO_H +#define __ZZIP_INTERNAL_ERRNO_H + +#include <errno.h> + +/* Mingw cross compile fix */ +#ifndef EBADMSG +#define EBADMSG 74 +#endif + +#endif diff --git a/source/libs/zziplib/zziplib-src/zzip/__fnmatch.h b/source/libs/zziplib/zziplib-src/zzip/__fnmatch.h index 340dbaa2c..59cea8876 100644 --- a/source/libs/zziplib/zziplib-src/zzip/__fnmatch.h +++ b/source/libs/zziplib/zziplib-src/zzip/__fnmatch.h @@ -13,18 +13,14 @@ #ifdef ZZIP_HAVE_FNMATCH_H #define _zzip_fnmatch fnmatch # ifdef FNM_CASEFOLD -# define _zzip_fnmatch_CASEFOLD FNM_CASEFOLD +# define _zzip_FNM_CASEFOLD FNM_CASEFOLD # else -# define _zzip_fnmatch_CASEFOLD 0 +# define _zzip_FNM_CASEFOLD 0 # endif #else -# define _zzip_fnmatch_CASEFOLD 0 +# define _zzip_FNM_CASEFOLD 0 /* if your system does not have fnmatch, we fall back to strcmp: */ -static int _zzip_fnmatch(char* pattern, char* string, int flags) -{ - fprintf (stderr, "<zzip:mmapped:strcmp>"); - return strcmp (pattern, string); -} +#define _zzip_fnmatch(x,y,z) strcmp ((x),(y)) #endif #endif diff --git a/source/libs/zziplib/zziplib-src/zzip/__hints.h b/source/libs/zziplib/zziplib-src/zzip/__hints.h index d071c4ebd..1d2eef0b4 100644 --- a/source/libs/zziplib/zziplib-src/zzip/__hints.h +++ b/source/libs/zziplib/zziplib-src/zzip/__hints.h @@ -94,7 +94,7 @@ # endif #endif -/* resolve references to this function during pre-linking the libary */ +/* resolve references to this function during pre-linking the library */ #ifndef ZZIP_GNUC_LIB_PROTECTED # if ZZIP_GNUC_ATLEAST(3,1) # define ZZIP_GNUC_LIB_PROTECTED __attribute__((visiblity("protected"))) diff --git a/source/libs/zziplib/zziplib-src/zzip/__mkdir.h b/source/libs/zziplib/zziplib-src/zzip/__mkdir.h new file mode 100644 index 000000000..c1bffa444 --- /dev/null +++ b/source/libs/zziplib/zziplib-src/zzip/__mkdir.h @@ -0,0 +1,12 @@ +#ifndef __ZZIP_INTERNAL_MKDIR_H +#define __ZZIP_INTERNAL_MKDIR_H + +#include <zzip/conf.h> + +# ifdef ZZIP_HAVE_DIRECT_H +# define _zzip_mkdir(a,b) mkdir(a) +# else +# define _zzip_mkdir mkdir +# endif + +#endif diff --git a/source/libs/zziplib/zziplib-src/zzip/__string.h b/source/libs/zziplib/zziplib-src/zzip/__string.h new file mode 100644 index 000000000..351b0c141 --- /dev/null +++ b/source/libs/zziplib/zziplib-src/zzip/__string.h @@ -0,0 +1,67 @@ +#ifndef __ZZIP_INTERNAL_STRING_H +#define __ZZIP_INTERNAL_STRING_H + +#ifdef __linux__ +#define _GNU_SOURCE _glibc_developers_are_idiots_to_call_strndup_gnu_specific_ +#endif + +#include <zzip/conf.h> + +#if defined ZZIP_HAVE_STRING_H +#include <string.h> +#elif defined ZZIP_HAVE_STRINGS_H +#include <strings.h> +#endif + + +#if defined ZZIP_HAVE_STRNDUP || defined strndup +#define _zzip_strndup strndup +#else + +/* if your system does not have strndup: */ +zzip__new__ static char * +_zzip_strndup(char const *p, size_t maxlen) +{ + if (p == NULL) + { + return p; + } else + { + size_t len = strnlen(p, maxlen); + char* r = malloc(len + 1); + if (r == NULL) + return NULL; /* errno = ENOMEM */ + r[len] = '\0'; + return memcpy(r, p, len); + } +} +#endif + +#if defined ZZIP_HAVE_STRCASECMP || defined strcasecmp +#define _zzip_strcasecmp strcasecmp +#else + +/* if your system does not have strcasecmp: */ +static int +_zzip_strcasecmp(char *__zzip_restrict a, char *_zzip_restrict b) +{ + if (! a) + return (b) ? 1 : 0; + if (! b) + return -1; + while (1) + { + int v = tolower(*a) - tolower(*b); + if (v) + return v; + if (! *a) + return 1; + if (! *b) + return -1; + a++; + b++; + } +} +#endif + +#endif diff --git a/source/libs/zziplib/zziplib-src/zzip/file.c b/source/libs/zziplib/zziplib-src/zzip/file.c index f7c5fa897..fb91d9815 100644 --- a/source/libs/zziplib/zziplib-src/zzip/file.c +++ b/source/libs/zziplib/zziplib-src/zzip/file.c @@ -577,7 +577,7 @@ zzip_fopen(zzip_char_t * filename, zzip_char_t * mode) * Per default, the old file stream is closed and only the internal * structures associated with it are kept. These internal structures * may be reused for the return value, and this is a lot quicker when - * the filename matches a zipped file that is incidently in the very + * the filename matches a zipped file that is incidentally in the very * same zip arch as the old filename wrapped in the stream struct. * * That's simply because the zip arch's central directory does not diff --git a/source/libs/zziplib/zziplib-src/zzip/fseeko.c b/source/libs/zziplib/zziplib-src/zzip/fseeko.c index ba19b436f..337949276 100644 --- a/source/libs/zziplib/zziplib-src/zzip/fseeko.c +++ b/source/libs/zziplib/zziplib-src/zzip/fseeko.c @@ -35,6 +35,7 @@ #include <zzip/fetch.h> #include <zzip/__mmap.h> #include <zzip/__fnmatch.h> +#include <zzip/__errno.h> #include <stdlib.h> #include <sys/stat.h> @@ -78,10 +79,10 @@ #define PAGESIZE 8192 #ifdef DEBUG -#define debug1(msg) do { fprintf(stderr, "%s : " msg "\n", __func__); } while(0) -#define debug2(msg, arg1) do { fprintf(stderr, "%s : " msg "\n", __func__, arg1); } while(0) -#define debug3(msg, arg1, arg2) do { fprintf(stderr, "%s : " msg "\n", __func__, arg1, arg2); } while(0) -#define debug4(msg, arg1, arg2, arg3) do { fprintf(stderr, "%s : " msg "\n", __func__, arg1, arg2, arg3); } while(0) +#define debug1(msg) do { fprintf(stderr, "DEBUG: %s : " msg "\n", __func__); } while(0) +#define debug2(msg, arg1) do { fprintf(stderr, "DEBUG: %s : " msg "\n", __func__, arg1); } while(0) +#define debug3(msg, arg1, arg2) do { fprintf(stderr, "DEBUG: %s : " msg "\n", __func__, arg1, arg2); } while(0) +#define debug4(msg, arg1, arg2, arg3) do { fprintf(stderr, "DEBUG: %s : " msg "\n", __func__, arg1, arg2, arg3); } while(0) #else #define debug1(msg) #define debug2(msg, arg1) @@ -97,7 +98,7 @@ * This functions read the correspoding struct zzip_file_header from * the zip disk of the given "entry". The returned off_t points to the * end of the file_header where the current fseek pointer has stopped. - * This is used to immediatly parse out any filename/extras block following + * This is used to immediately parse out any filename/extras block following * the file_header. * * Returns zero on error. (errno = EINVAL|EBADMSG|EBADF|EIO) @@ -319,7 +320,7 @@ zzip_entry_findfirst(FILE * disk) } /* we read out chunks of 8 KiB in the hope to match disk granularity */ ___ zzip_off_t pagesize = PAGESIZE; /* getpagesize() */ - ___ ZZIP_ENTRY *entry = malloc(sizeof(*entry)); + ___ ZZIP_ENTRY *entry = calloc(1, sizeof(*entry)); if (! entry) goto error0; /* ENOMEM */ ___ unsigned char *buffer = malloc(pagesize); @@ -808,7 +809,7 @@ zzip_entry_fread(void *ptr, zzip_size_t sized, zzip_size_t nmemb, file->entry->diskfile); file->zlib.next_in = file->buffer; file->dataoff += file->zlib.avail_in; - debug2("remaing compressed fread %lli", (long long) file->zlib.avail_in); + debug2("remaining compressed fread %lli", (long long) file->zlib.avail_in); } if (! file->zlib.avail_in) { diff --git a/source/libs/zziplib/zziplib-src/zzip/fseeko.h b/source/libs/zziplib/zziplib-src/zzip/fseeko.h index c790cf6a3..96faa011a 100644 --- a/source/libs/zziplib/zziplib-src/zzip/fseeko.h +++ b/source/libs/zziplib/zziplib-src/zzip/fseeko.h @@ -99,6 +99,7 @@ struct zzip_entry : public struct zzip_disk_entry zzip_off_t zz_offset; /* or zip64 extension block */ int zz_diskstart; }; +# define zzip_entry_d(_p) (_p) # else struct zzip_entry /* : struct zzip_disk_entry */ { @@ -113,9 +114,38 @@ struct zzip_entry /* : struct zzip_disk_entry */ zzip_off_t zz_offset; /* or zip64 extension block */ int zz_diskstart; }; +# define zzip_entry_d(_p) (&(_p)->head) # endif /* __cplusplus */ # endif /* _ZZIP_MEM_ENTRY_PRIVATE */ +#ifdef _ZZIP_ENTRY_STRUCT +/* zzip_entry is-a zip_disk_entry => fetch.h */ +#define zzip_entry_csize(__p) ((zzip_size_t) \ + zzip_disk_entry_get_csize(zzip_entry_d(__p))) +#define zzip_entry_usize(__p) ((zzip_size_t) \ + zzip_disk_entry_get_usize(zzip_entry_d(__p))) +#define zzip_entry_compr(__p) ( \ + zzip_disk_entry_get_compr(zzip_entry_d(__p))) +#define zzip_entry_flags(__p) ( \ + zzip_disk_entry_get_flags(zzip_entry_d(__p))) +#define zzip_entry_namlen(__p) ((zzip_size_t) \ + zzip_disk_entry_get_namlen(zzip_entry_d(__p))) +#define zzip_entry_extras(__p) ((zzip_size_t) \ + zzip_disk_entry_get_extras(zzip_entry_d(__p))) +#define zzip_entry_comment(__p) ((zzip_size_t) \ + zzip_disk_entry_get_comment(zzip_entry_d(__p))) +#define zzip_entry_diskstart(__p) ((int) \ + zzip_disk_entry_get_diskstart(zzip_entry_d(__p))) +#define zzip_entry_filetype(__p) ((int) \ + zzip_disk_entry_get_filetype(zzip_entry_d(__p))) +#define zzip_entry_filemode(__p) ((int) \ + zzip_disk_entry_get_filemode(zzip_entry_d(__p))) +#define zzip_entry_fileoffset(__p) ((zzip_off_t) \ + zzip_disk_entry_get_offset(zzip_entry_d(__p))) +#define zzip_entry_sizeof_tail(__p) ((zzip_size_t) \ + zzip_disk_entry_sizeof_tails(zzip_entry_d(__p))) +#endif + #ifdef __cplusplus extern "C" { } diff --git a/source/libs/zziplib/zziplib-src/zzip/info.c b/source/libs/zziplib/zziplib-src/zzip/info.c index 70d393def..ab226bc9a 100644 --- a/source/libs/zziplib/zziplib-src/zzip/info.c +++ b/source/libs/zziplib/zziplib-src/zzip/info.c @@ -58,6 +58,10 @@ zzip_dirfd(ZZIP_DIR * dir) return dir->fd; } +static const char* comprlevel[] = { + "stored", "shrunk", "redu:1", "redu:2", "redu:3", "redu:4", + "impl:N", "toknze", "defl:N", "defl:B", "impl:B" }; + /** * return static const string of the known compression methods, * otherwise just "zipped" is returned @@ -65,46 +69,34 @@ zzip_dirfd(ZZIP_DIR * dir) zzip_char_t * zzip_compr_str(int compr) { - switch (compr) + if (0 <= compr && compr < sizeof(comprlevel)) + { + return comprlevel[compr]; + } else if (0 < compr && compr < 256) + { + return "zipped"; + } else { - /* *INDENT-OFF* */ - case ZZIP_IS_STORED: return "stored"; - case ZZIP_IS_SHRUNK: return "shrunk"; - case ZZIP_IS_REDUCEDx1: - case ZZIP_IS_REDUCEDx2: - case ZZIP_IS_REDUCEDx3: - case ZZIP_IS_REDUCEDx4: return "reduced"; - case ZZIP_IS_IMPLODED: return "imploded"; - case ZZIP_IS_TOKENIZED: return "tokenized"; - case ZZIP_IS_DEFLATED: return "deflated"; - case ZZIP_IS_DEFLATED_BETTER: return "deflatedX"; - case ZZIP_IS_IMPLODED_BETTER: return "implodedX"; - default: - if (0 < compr && compr < 256) return "zipped"; - else - { # ifdef S_ISDIR - if (S_ISDIR(compr)) return "directory"; + if (S_ISDIR(compr)) return "directory"; # endif # ifdef S_ISCHR - if (S_ISCHR(compr)) return "is/chr"; + if (S_ISCHR(compr)) return "is/chr"; # endif # ifdef S_ISBLK - if (S_ISBLK(compr)) return "is/blk"; + if (S_ISBLK(compr)) return "is/blk"; # endif # ifdef S_ISFIFO - if (S_ISFIFO(compr)) return "is/fifo"; + if (S_ISFIFO(compr)) return "is/fifo"; # endif # ifdef S_ISSOCK - if (S_ISSOCK(compr)) return "is/sock"; + if (S_ISSOCK(compr)) return "is/sock"; # endif # ifdef S_ISLNK - if (S_ISLNK(compr)) return "is/lnk"; + if (S_ISLNK(compr)) return "is/lnk"; # endif - return "special"; - } - /* *INDENT-ON* */ - } /*switch */ + return "special"; + } } /** => zzip_file_real diff --git a/source/libs/zziplib/zziplib-src/zzip/lib.h b/source/libs/zziplib/zziplib-src/zzip/lib.h index 2d83f239b..b09a13028 100644 --- a/source/libs/zziplib/zziplib-src/zzip/lib.h +++ b/source/libs/zziplib/zziplib-src/zzip/lib.h @@ -76,7 +76,7 @@ ZZIP_DIR* zzip_dir_fdopen_ext_io(int fd, zzip_error_t * errorcode_p, zzip_strings_t* ext, const zzip_plugin_io_t io); -ZZIP_DIR* /*depracated*/ +ZZIP_DIR* /*deprecated*/ zzip_dir_alloc_ext_io (zzip_strings_t* ext, const zzip_plugin_io_t io); #ifdef __cplusplus diff --git a/source/libs/zziplib/zziplib-src/zzip/memdisk.c b/source/libs/zziplib/zziplib-src/zzip/memdisk.c index 0b07da7db..29b2a1b1b 100644 --- a/source/libs/zziplib/zziplib-src/zzip/memdisk.c +++ b/source/libs/zziplib/zziplib-src/zzip/memdisk.c @@ -33,16 +33,17 @@ #include <zzip/mmapped.h> #include <zzip/memdisk.h> #include <zzip/__fnmatch.h> +#include <zzip/__errno.h> #define ___ { #define ____ } #define DEBUG 1 #ifdef DEBUG -#define debug1(msg) do { fprintf(stderr, "%s : " msg "\n", __func__); } while(0) -#define debug2(msg, arg1) do { fprintf(stderr, "%s : " msg "\n", __func__, arg1); } while(0) -#define debug3(msg, arg1, arg2) do { fprintf(stderr, "%s : " msg "\n", __func__, arg1, arg2); } while(0) -#define debug4(msg, arg1, arg2, arg3) do { fprintf(stderr, "%s : " msg "\n", __func__, arg1, arg2, arg3); } while(0) +#define debug1(msg) do { fprintf(stderr, "DEBUG: %s : " msg "\n", __func__); } while(0) +#define debug2(msg, arg1) do { fprintf(stderr, "DEBUG: %s : " msg "\n", __func__, arg1); } while(0) +#define debug3(msg, arg1, arg2) do { fprintf(stderr, "DEBUG: %s : " msg "\n", __func__, arg1, arg2); } while(0) +#define debug4(msg, arg1, arg2, arg3) do { fprintf(stderr, "DEBUG: %s : " msg "\n", __func__, arg1, arg2, arg3); } while(0) #else #define debug1(msg) #define debug2(msg, arg1) @@ -50,17 +51,6 @@ #define debug4(msg, arg1, arg2, arg3) #endif -static const char *error[] = { - "Ok", -# define _zzip_mem_disk_open_fail 1 - "zzip_mem_disk_open: zzip_disk_open did fail", -# define _zzip_mem_disk_fdopen_fail 2 - "zzip_mem_disk_fdopen: zzip_disk_mmap did fail" -# define _zzip_mem_disk_buffer_fail 3 - "zzip_mem_disk_buffer: zzip_disk_buffer did fail", - 0 -}; - #define ZZIP_EXTRA_zip64 0x0001 typedef struct _zzip_extra_zip64 { /* ZIP64 extended information extra field */ @@ -92,7 +82,10 @@ zzip_mem_disk_open(char *filename) { ZZIP_DISK *disk = zzip_disk_open(filename); if (! disk) - { perror(error[_zzip_mem_disk_open_fail]); return 0; } + { + debug2("can not open disk file %s", filename); + return 0; + } ___ ZZIP_MEM_DISK *dir = zzip_mem_disk_new(); if (zzip_mem_disk_load(dir, disk) == -1) { @@ -109,9 +102,15 @@ zzip_mem_disk_fdopen(int fd) { ZZIP_DISK *disk = zzip_disk_mmap(fd); if (! disk) - { perror(error[_zzip_mem_disk_fdopen_fail]); return 0; } + { + debug2("can not open disk fd %i", fd); + return 0; + } ___ ZZIP_MEM_DISK *dir = zzip_mem_disk_new(); - zzip_mem_disk_load(dir, disk); + if (zzip_mem_disk_load(dir, disk) == -1) + { + debug2("unable to load disk fd %s", fd); + } return dir; ____; } @@ -123,9 +122,15 @@ zzip_mem_disk_buffer(char *buffer, size_t buflen) { ZZIP_DISK *disk = zzip_disk_buffer(buffer, buflen); if (! disk) - { perror(error[_zzip_mem_disk_buffer_fail]); return 0; } + { + debug2("can not open disk buf %p", buffer); + return 0; + } ___ ZZIP_MEM_DISK *dir = zzip_mem_disk_new(); - zzip_mem_disk_load(dir, disk); + if (zzip_mem_disk_load(dir, disk) == -1) + { + debug2("unable to load disk buf %p", buffer); + } return dir; ____; } @@ -209,6 +214,14 @@ zzip_mem_entry_new(ZZIP_DISK * disk, ZZIP_DISK_ENTRY * entry) item->zz_diskstart = zzip_disk_entry_get_diskstart(entry); item->zz_filetype = zzip_disk_entry_get_filetype(entry); + /* + * If the file is uncompressed, zz_csize and zz_usize should be the same + * If they are not, we cannot guarantee that either is correct, so ... + */ + if (item->zz_compr == ZZIP_IS_STORED && item->zz_csize != item->zz_usize) + { + goto error; + } /* zz_comment and zz_name are empty strings if not present on disk */ if (! item->zz_comment || ! item->zz_name) { @@ -221,34 +234,39 @@ zzip_mem_entry_new(ZZIP_DISK * disk, ZZIP_DISK_ENTRY * entry) zzip_size_t /* */ ext2_len = zzip_file_header_get_extras(header); char *_zzip_restrict ext2_ptr = zzip_file_header_to_extras(header); - if (ext1_ptr + ext1_len >= disk->endbuf || - ext2_ptr + ext2_len >= disk->endbuf) + if (ext1_len > 0 && ext1_len <= 65535) { - errno = EBADMSG; /* format error CVE-2017-5978 */ - goto error; /* zzip_mem_entry_free(item); return 0; */ - } - - if (ext1_len) - { - void *mem = malloc(ext1_len); - if (! mem) goto error; /* errno = ENOMEM */ - item->zz_ext[1] = mem; - item->zz_extlen[1] = ext1_len; - memcpy(mem, ext1_ptr, ext1_len); + if (ext1_ptr + ext1_len >= disk->endbuf) + { + errno = EBADMSG; + goto error; /* zzip_mem_entry_free(item); return 0; */ + } else { + void *mem = malloc(ext1_len); + if (! mem) goto error; /* errno = ENOMEM */ + item->zz_ext[1] = mem; + item->zz_extlen[1] = ext1_len; + memcpy(mem, ext1_ptr, ext1_len); + } } - if (ext2_len) + if (ext2_len > 0 && ext2_len <= 65535) { - void *mem = malloc(ext2_len); - if (! mem) goto error; /* errno = ENOMEM */ - item->zz_ext[2] = mem; - item->zz_extlen[2] = ext2_len; - memcpy(mem, ext2_ptr, ext2_len); + if (ext2_ptr + ext2_len >= disk->endbuf) + { + errno = EBADMSG; + goto error; /* zzip_mem_entry_free(item); return 0; */ + } else { + void *mem = malloc(ext2_len); + if (! mem) goto error; /* errno = ENOMEM */ + item->zz_ext[2] = mem; + item->zz_extlen[2] = ext2_len; + memcpy(mem, ext2_ptr, ext2_len); + } } } { /* override sizes/offsets with zip64 values for largefile support */ zzip_extra_zip64 *block = (zzip_extra_zip64 *) - zzip_mem_entry_extra_block(item, ZZIP_EXTRA_zip64); + zzip_mem_entry_find_extra_block(item, ZZIP_EXTRA_zip64, sizeof(zzip_extra_zip64)); if (block) { item->zz_usize = ZZIP_GET64(block->z_usize); @@ -269,12 +287,26 @@ error: ____; } +/** => zzip_mem_entry_find_extra_block. + * + * Note that for this function only the block_header is asserted + * to be completely in memory, so the returned pointer should be checked. + */ +ZZIP_EXTRA_BLOCK * +zzip_mem_entry_extra_block(ZZIP_MEM_ENTRY * entry, short datatype) +{ + return zzip_mem_entry_find_extra_block(entry, datatype, 16); +} + /* find an extra block for the given datatype code. * The returned EXTRA_BLOCK is still in disk-encoding but * already a pointer into an allocated heap space block. + * + * The second argument of this function ensures that the + * complete datasize is in memory. */ ZZIP_EXTRA_BLOCK * -zzip_mem_entry_extra_block(ZZIP_MEM_ENTRY * entry, short datatype) +zzip_mem_entry_find_extra_block(ZZIP_MEM_ENTRY * entry, short datatype, zzip_size_t blocksize) { int i = 2; while (1) @@ -287,7 +319,10 @@ zzip_mem_entry_extra_block(ZZIP_MEM_ENTRY * entry, short datatype) { if (datatype == zzip_extra_block_get_datatype(ext)) { - return ((ZZIP_EXTRA_BLOCK*) ext); + if (blocksize <= zzip_extra_block_get_datasize(ext) + zzip_extra_block_headerlength) + { + return ((ZZIP_EXTRA_BLOCK*) ext); + } } /* skip to start of next extra_block */ ___ zzip_size_t datasize = zzip_extra_block_get_datasize(ext); @@ -348,7 +383,7 @@ zzip_mem_disk_close(ZZIP_MEM_DISK * _zzip_restrict dir) static void foo(short zz_datatype) { - /* Header IDs of 0 thru 31 are reserved for use by PKWARE.(APPNOTE.TXT) */ + /* Header IDs of 0 through 31 are reserved for use by PKWARE.(APPNOTE.TXT) */ switch (zz_datatype) { /* *INDENT-OFF* */ diff --git a/source/libs/zziplib/zziplib-src/zzip/memdisk.h b/source/libs/zziplib/zziplib-src/zzip/memdisk.h index 850d7ed4d..5cf0eced4 100644 --- a/source/libs/zziplib/zziplib-src/zzip/memdisk.h +++ b/source/libs/zziplib/zziplib-src/zzip/memdisk.h @@ -9,6 +9,7 @@ #include <zzip/types.h> #include <zzip/mmapped.h> +#include <zzip/__hints.h> #ifdef __cplusplus extern "C" { @@ -43,7 +44,9 @@ zzip_mem_disk_load (ZZIP_MEM_DISK* dir, ZZIP_DISK* disk); zzip_mem_disk_extern void zzip_mem_disk_unload (ZZIP_MEM_DISK* dir); ZZIP_EXTRA_BLOCK* -zzip_mem_entry_extra_block (ZZIP_MEM_ENTRY* entry, short datatype); +zzip_mem_entry_extra_block (ZZIP_MEM_ENTRY* entry, short datatype) ZZIP_GNUC_DEPRECATED; +ZZIP_EXTRA_BLOCK* +zzip_mem_entry_find_extra_block (ZZIP_MEM_ENTRY* entry, short datatype, zzip_size_t blocksize); #ifdef USE_INLINE _zzip_inline ZZIP_DISK* zzip_disk (ZZIP_MEM_DISK* dir) { return dir->disk; } @@ -73,9 +76,9 @@ struct _zzip_mem_entry { zzip_size_t zz_extlen[3]; /* the extra blocks are NOT converted */ }; -#define _zzip_mem_disk_findfirst(_d_) ((_d_)->list) -#define _zzip_mem_disk_findnext(_d_,_e_) (!(_e_)?(_d_)->list:(_e_)->zz_next) -#define _zzip_mem_entry_findnext(_e_) ((_e_)->zz_next) +#define _zzip_mem_disk_findfirst(_d_) (!(_d_) ? 0 : ((_d_)->list)) +#define _zzip_mem_disk_findnext(_d_,_e_) (!(_e_) ? (!(_d_) ? 0 : ((_d_)->list)) : ((_e_)->zz_next)) +#define _zzip_mem_entry_findnext(_e_) (!(_e_) ? 0 : ((_e_)->zz_next)) #ifndef USE_INLINE #define zzip_mem_disk_findfirst _zzip_mem_disk_findfirst @@ -97,10 +100,10 @@ zzip_mem_entry_findnext(ZZIP_MEM_ENTRY* entry) { return _zzip_mem_entry_findnext(entry); } #endif -#define _zzip_mem_entry_to_name(_e_) ((_e_)->zz_name) -#define _zzip_mem_entry_to_comment(_e_) ((_e_)->zz_comment) -#define _zzip_mem_entry_strdup_name(_e_) (strdup((_e_)->zz_name)) -#define _zzip_mem_entry_to_data(_e_) ((_e_)->zz_data) +#define _zzip_mem_entry_to_name(_e_) (!(_e_) ? 0 : ((_e_)->zz_name)) +#define _zzip_mem_entry_to_comment(_e_) (!(_e_) ? 0 : ((_e_)->zz_comment)) +#define _zzip_mem_entry_strdup_name(_e_) (!(_e_) ? 0 : (strdup((_e_)->zz_name))) +#define _zzip_mem_entry_to_data(_e_) (!(_e_) ? 0 : ((_e_)->zz_data)) #ifndef USE_INLINE #define zzip_mem_entry_to_name _zzip_mem_entry_to_name diff --git a/source/libs/zziplib/zziplib-src/zzip/mmapped.c b/source/libs/zziplib/zziplib-src/zzip/mmapped.c index 67f293fb0..c61fc5656 100644 --- a/source/libs/zziplib/zziplib-src/zzip/mmapped.c +++ b/source/libs/zziplib/zziplib-src/zzip/mmapped.c @@ -30,8 +30,11 @@ #include <zzip/mmapped.h> #include <zzip/format.h> #include <zzip/fetch.h> +#include <zzip/__debug.h> #include <zzip/__mmap.h> +#include <zzip/__string.h> #include <zzip/__fnmatch.h> +#include <zzip/__errno.h> #include <stdlib.h> #include <sys/stat.h> @@ -57,18 +60,6 @@ #define ____ } #endif -#ifdef DEBUG -#define debug1(msg) do { fprintf(stderr, "%s : " msg "\n", __func__); } while(0) -#define debug2(msg, arg1) do { fprintf(stderr, "%s : " msg "\n", __func__, arg1); } while(0) -#define debug3(msg, arg1, arg2) do { fprintf(stderr, "%s : " msg "\n", __func__, arg1, arg2); } while(0) -#define debug4(msg, arg1, arg2, arg3) do { fprintf(stderr, "%s : " msg "\n", __func__, arg1, arg2, arg3); } while(0) -#else -#define debug1(msg) -#define debug2(msg, arg1) -#define debug3(msg, arg1, arg2) -#define debug4(msg, arg1, arg2, arg3) -#endif - /** => zzip_disk_mmap * This function does primary initialization of a disk-buffer struct. * @@ -151,7 +142,7 @@ zzip_disk_munmap(ZZIP_DISK * disk) * to => zzip_disk_mmap for bringing it to main memory. If it can not * be => mmap(2)'ed then we slurp the whole file into a newly => malloc(2)'ed * memory block. Only if that fails too then we return null. Since handling - * of disk->buffer is ambigous it should not be snatched away please. + * of disk->buffer is ambiguous it should not be snatched away please. * * This function may return null on errors (errno). */ @@ -225,7 +216,7 @@ zzip_disk_buffer(void *buffer, size_t buflen) { * zip archive, including any malloc()ed blocks, sharedmem mappings * and it dumps the handle struct as well. * - * This function returns 0 on sucess (or whatever => munmap says). + * This function returns 0 on success (or whatever => munmap says). */ int zzip_disk_close(ZZIP_DISK * disk) @@ -241,55 +232,8 @@ zzip_disk_close(ZZIP_DISK * disk) } /* ====================================================================== */ - /* helper functions */ -#ifdef ZZIP_HAVE_STRNDUP -#define _zzip_strndup strndup -#else - -/* if your system does not have strndup: */ -zzip__new__ static char * -_zzip_strndup(char *p, size_t maxlen) -{ - if (! p) - return 0; - ___ zzip_byte_t *r = malloc(maxlen + 1); - if (! r) - return r; - strncpy(r, p, maxlen); - r[maxlen] = '\0'; - return r; - ____; -} -#endif - -#if defined ZZIP_HAVE_STRCASECMP || defined strcasecmp -#define _zzip_strcasecmp strcasecmp -#else - -/* if your system does not have strcasecmp: */ -static int -_zzip_strcasecmp(char *__zzip_restrict a, char *_zzip_restrict b) -{ - if (! a) - return (b) ? 1 : 0; - if (! b) - return -1; - while (1) - { - int v = tolower(*a) - tolower(*b); - if (v) - return v; - if (! *a) - return 1; - if (! *b) - return -1; - a++; - b++; - } -} -#endif /** helper functions for (mmapped) zip access api * @@ -453,16 +397,16 @@ zzip_disk_entry_strdup_comment(ZZIP_DISK * disk, struct zzip_disk_entry *entry) struct zzip_disk_entry * zzip_disk_findfirst(ZZIP_DISK * disk) { - debug1("findfirst"); + DBG1("findfirst"); if (! disk) { - debug1("non arg"); + DBG1("non arg"); errno = EINVAL; return 0; } if (disk->buffer > disk->endbuf - sizeof(struct zzip_disk_trailer)) { - debug1("not enough data for a disk trailer"); + DBG1("not enough data for a disk trailer"); errno = EBADMSG; return 0; } @@ -475,12 +419,12 @@ zzip_disk_findfirst(ZZIP_DISK * disk) struct zzip_disk_trailer *trailer = (struct zzip_disk_trailer *) p; zzip_size_t rootseek = zzip_disk_trailer_get_rootseek(trailer); root = disk->buffer + rootseek; - debug2("disk rootseek at %lli", (long long)rootseek); + DBG2("disk rootseek at %lli", (long long)rootseek); if (root > p) { /* the first disk_entry is after the disk_trailer? can't be! */ zzip_size_t rootsize = zzip_disk_trailer_get_rootsize(trailer); - debug2("have rootsize at %lli", (long long)rootsize); + DBG2("have rootsize at %lli", (long long)rootsize); if (disk->buffer + rootsize > p) continue; /* a common brokeness that can be fixed: we just assume the @@ -493,12 +437,12 @@ zzip_disk_findfirst(ZZIP_DISK * disk) (struct zzip_disk64_trailer *) p; if (sizeof(void *) < 8) { - debug1("disk64 trailer in non-largefile part"); + DBG1("disk64 trailer in non-largefile part"); errno = EFBIG; return 0; } zzip_size_t rootseek = zzip_disk64_trailer_get_rootseek(trailer); - debug2("disk64 rootseek at %lli", (long long)rootseek); + DBG2("disk64 rootseek at %lli", (long long)rootseek); root = disk->buffer + rootseek; if (root > p) continue; @@ -507,16 +451,16 @@ zzip_disk_findfirst(ZZIP_DISK * disk) continue; } - debug4("buffer %p root %p endbuf %p", disk->buffer, root, disk->endbuf); + DBG4("buffer %p root %p endbuf %p", disk->buffer, root, disk->endbuf); if (root < disk->buffer) { - debug1("root before buffer should be impossible"); + DBG1("root before buffer should be impossible"); errno = EBADMSG; return 0; } if (zzip_disk_entry_check_magic(root)) { - debug1("found the disk root"); + DBG2("found the disk root %p", root); return (struct zzip_disk_entry *) root; } } ____; @@ -630,7 +574,7 @@ zzip_disk_findmatch(ZZIP_DISK * disk, char *filespec, { compare = (zzip_fnmatch_fn_t) _zzip_fnmatch; if (disk->flags & ZZIP_DISK_FLAGS_MATCH_NOCASE) - flags |= _zzip_fnmatch_CASEFOLD; + flags |= _zzip_FNM_CASEFOLD; } for (; entry; entry = zzip_disk_findnext(disk, entry)) { @@ -682,7 +626,13 @@ zzip_disk_entry_fopen(ZZIP_DISK * disk, ZZIP_DISK_ENTRY * entry) file->avail = zzip_file_header_usize(header); if (! file->avail || zzip_file_header_data_stored(header)) - { file->stored = zzip_file_header_to_data (header); return file; } + { + file->stored = zzip_file_header_to_data (header); + DBG2("stored size %i", (int) file->avail); + if (file->stored + file->avail >= disk->endbuf) + goto error; + return file; + } file->stored = 0; file->zlib.opaque = 0; @@ -691,15 +641,20 @@ zzip_disk_entry_fopen(ZZIP_DISK * disk, ZZIP_DISK_ENTRY * entry) file->zlib.avail_in = zzip_file_header_csize(header); file->zlib.next_in = zzip_file_header_to_data(header); - if (! zzip_file_header_data_deflated(header) || - inflateInit2(&file->zlib, -MAX_WBITS) != Z_OK) - { - free (file); - errno = EBADMSG; - return 0; - } + DBG2("compressed size %i", (int) file->zlib.avail_in); + if (file->zlib.next_in + file->zlib.avail_in >= disk->endbuf) + goto error; + + if (! zzip_file_header_data_deflated(header)) + goto error; + if (inflateInit2(&file->zlib, -MAX_WBITS) != Z_OK) + goto error; return file; +error: + free (file); + errno = EBADMSG; + return 0; ____; } @@ -738,6 +693,12 @@ zzip_disk_fread(void *ptr, zzip_size_t sized, zzip_size_t nmemb, size = file->avail; if (file->stored) { + if (file->stored + size >= file->endbuf) + { + DBG1("try to read beyond end of file"); + return 0; /* ESPIPE */ + } + DBG3("copy stored %p %i", file->stored, (int)size); memcpy(ptr, file->stored, size); file->stored += size; file->avail -= size; diff --git a/source/libs/zziplib/zziplib-src/zzip/mmapped.h b/source/libs/zziplib/zziplib-src/zzip/mmapped.h index 00e6c5537..652ad2932 100644 --- a/source/libs/zziplib/zziplib-src/zzip/mmapped.h +++ b/source/libs/zziplib/zziplib-src/zzip/mmapped.h @@ -28,7 +28,7 @@ typedef struct zzip_disk ZZIP_DISK; /* we expose this structure so third party applications can augment * on them. The mmapped zip access usually just needs the two pointers - * specifying the mmapped area, whereever you have that from. + * specifying the mmapped area, wherever you have that from. */ struct zzip_disk { diff --git a/source/libs/zziplib/zziplib-src/zzip/write.c b/source/libs/zziplib/zziplib-src/zzip/write.c index cc09c5b9e..cfec81649 100644 --- a/source/libs/zziplib/zziplib-src/zzip/write.c +++ b/source/libs/zziplib/zziplib-src/zzip/write.c @@ -1,4 +1,3 @@ - /* * The write-support in zziplib is not a full-flegded interface to the * internals that zip file-header or zip archive an contain. It's @@ -6,7 +5,7 @@ * where time-stamps are rather unimportant. Here we can create an * archive with filenames and their data portions, possibly obfuscated. * - * DONT USE THIS + * DON'T USE THIS * * The write support is supposed to be added directly into the main * zziplib but it has not been implemented so far. It does however @@ -43,6 +42,7 @@ #include <zzip/format.h> #include <zzip/plugin.h> +#include <zzip/__mkdir.h> #include <zzip/__debug.h> #define ___ { @@ -71,12 +71,6 @@ # define S_IRWXO 00007 # endif -# ifdef ZZIP_HAVE_DIRECT_H -# define _mkdir(a,b) mkdir(a) -# else -# define _mkdir mkdir -# endif - /** create a new zip archive for writing * * This function will create a new zip archive. The returned parameter @@ -136,7 +130,7 @@ zzip_dir_creat_ext_io(zzip_char_t * name, int o_mode, /* not implemented - however, we respect that a null argument to * zzip_mkdir and zzip_creat works, so we silently still do the mkdir */ - if (! _mkdir(name, o_mode) || errno == EEXIST) + if (! _zzip_mkdir(name, o_mode) || errno == EEXIST) errno = EROFS; return 0; } else @@ -218,7 +212,7 @@ zzip_createdir(zzip_char_t * name, int o_mode) { if (o_mode & S_IWGRP) { - if (-1 == _mkdir(name, o_mode) && errno != EEXIST) /* fail */ + if (-1 == _zzip_mkdir(name, o_mode) && errno != EEXIST) /* fail */ return 0; return zzip_opendir(name); } else @@ -261,7 +255,7 @@ int zzip_file_mkdir(ZZIP_DIR * dir, zzip_char_t * name, int o_mode) { if (! dir) - return _mkdir(name, o_mode); + return _zzip_mkdir(name, o_mode); if (! _ZZIP_TRY) { /* not implemented */ diff --git a/source/libs/zziplib/zziplib-src/zzip/zip.c b/source/libs/zziplib/zziplib-src/zzip/zip.c index fbca9951d..d0b2d6e41 100644 --- a/source/libs/zziplib/zziplib-src/zzip/zip.c +++ b/source/libs/zziplib/zziplib-src/zzip/zip.c @@ -320,6 +320,12 @@ __zzip_fetch_disk_trailer(int fd, zzip_off_t filesize, # endif __fixup_rootseek(offset + tail - mapped, trailer); + /* + * "extract data from files archived in a single zip file." + * So the file offsets must be within the current ZIP archive! + */ + if (trailer->zz_rootseek >= filesize || (trailer->zz_rootseek + trailer->zz_rootsize) >= filesize) + return(ZZIP_CORRUPTED); { return(0); } } else if ((*tail == 'P') && end - tail >= @@ -338,6 +344,12 @@ __zzip_fetch_disk_trailer(int fd, zzip_off_t filesize, zzip_disk64_trailer_finalentries(orig); trailer->zz_rootseek = zzip_disk64_trailer_rootseek(orig); trailer->zz_rootsize = zzip_disk64_trailer_rootsize(orig); + /* + * "extract data from files archived in a single zip file." + * So the file offsets must be within the current ZIP archive! + */ + if (trailer->zz_rootseek >= filesize || (trailer->zz_rootseek + trailer->zz_rootsize) >= filesize) + return(ZZIP_CORRUPTED); { return(0); } # endif } @@ -630,7 +642,7 @@ zzip_dir_alloc(zzip_strings_t * fileext) * are helper functions used implicitly in other zzipcalls * e.g. => zzip_dir_close = zzip_close * - * returns zero on sucess + * returns zero on success * returns the refcount when files are attached. */ int diff --git a/source/libs/zziplib/zziplib-src/zzip/zzip-zlib-config.pc b/source/libs/zziplib/zziplib-src/zzip/zzip-zlib-config.pc new file mode 100644 index 000000000..39097d41d --- /dev/null +++ b/source/libs/zziplib/zziplib-src/zzip/zzip-zlib-config.pc @@ -0,0 +1,8 @@ +zlib_libs= -lz +zlib_cflags= + +Name: zzip-zlib-config +Version: 1.2.8 +Description: ZLib Config (for ZZipLib) +Libs: ${zlib_libs} +Cflags: ${zlib_cflags} diff --git a/source/libs/zziplib/zziplib-src/zzip/zzip.h b/source/libs/zziplib/zziplib-src/zzip/zzip.h index 6f6788f71..3941acc70 100644 --- a/source/libs/zziplib/zziplib-src/zzip/zzip.h +++ b/source/libs/zziplib/zziplib-src/zzip/zzip.h @@ -163,7 +163,7 @@ _zzip_export void zzip_seekdir(ZZIP_DIR * dir, zzip_off_t offset); /* - * 'opening', 'closing' and reading invidual files in zip archive. + * 'opening', 'closing' and reading individual files in zip archive. * zzip/file.c */ _zzip_export diff --git a/source/libs/zziplib/zziplib-src/zzip/zzipfseeko.pc b/source/libs/zziplib/zziplib-src/zzip/zzipfseeko.pc new file mode 100644 index 000000000..336240cc4 --- /dev/null +++ b/source/libs/zziplib/zziplib-src/zzip/zzipfseeko.pc @@ -0,0 +1,18 @@ +# generated by configure / remove this line to disable regeneration +prefix=/usr/local +exec_prefix=${prefix} +bindir=${exec_prefix}/bin +libdir=${exec_prefix}/lib64 +datarootdir=${prefix}/share +datadir=${datarootdir} +sysconfdir=${prefix}/etc +includedir=${prefix}/include +package=zzipfseeko +suffix= + +Name: zzipfseeko +Description: ZZipLib - libZ-based ZIP-access Library with an Easy-to-Use API +Version: 0.13.68 +Requires: zzip-zlib-config +Libs: -L${libdir} -lzzipfseeko +Cflags: -I${includedir} diff --git a/source/libs/zziplib/zziplib-src/zzip/zziplib.pc b/source/libs/zziplib/zziplib-src/zzip/zziplib.pc new file mode 100644 index 000000000..21eb50234 --- /dev/null +++ b/source/libs/zziplib/zziplib-src/zzip/zziplib.pc @@ -0,0 +1,18 @@ +# generated by configure / remove this line to disable regeneration +prefix=/usr/local +exec_prefix=${prefix} +bindir=${exec_prefix}/bin +libdir=${exec_prefix}/lib64 +datarootdir=${prefix}/share +datadir=${datarootdir} +sysconfdir=${prefix}/etc +includedir=${prefix}/include +package=zziplib +suffix= + +Name: zziplib +Description: ZZipLib - libZ-based ZIP-access Library with an Easy-to-Use API +Version: 0.13.68 +Requires: zzip-zlib-config +Libs: -L${libdir} -lzzip +Cflags: -I${includedir} diff --git a/source/libs/zziplib/zziplib-src/zzip/zzipmmapped.pc b/source/libs/zziplib/zziplib-src/zzip/zzipmmapped.pc new file mode 100644 index 000000000..e4e99a086 --- /dev/null +++ b/source/libs/zziplib/zziplib-src/zzip/zzipmmapped.pc @@ -0,0 +1,18 @@ +# generated by configure / remove this line to disable regeneration +prefix=/usr/local +exec_prefix=${prefix} +bindir=${exec_prefix}/bin +libdir=${exec_prefix}/lib64 +datarootdir=${prefix}/share +datadir=${datarootdir} +sysconfdir=${prefix}/etc +includedir=${prefix}/include +package=zzipmmapped +suffix= + +Name: zzipmmapped +Description: ZZipLib - libZ-based ZIP-access Library with an Easy-to-Use API +Version: 0.13.68 +Requires: zzip-zlib-config +Libs: -L${libdir} -lzzipmmapped +Cflags: -I${includedir} diff --git a/source/libs/zziplib/zziplib-src/zziplib.spec b/source/libs/zziplib/zziplib-src/zziplib.spec index e40f2c56e..465b2bc92 100644 --- a/source/libs/zziplib/zziplib-src/zziplib.spec +++ b/source/libs/zziplib/zziplib-src/zziplib.spec @@ -1,11 +1,11 @@ # norootforbuild Summary: ZZipLib - libZ-based ZIP-access Library with an Easy-to-Use API Name: zziplib -Version: 0.13.65 +Version: 0.13.68 Release: 1 License: LGPLv2.1+ Group: System/Libraries -URL: http://zziplib.sf.net +URL: https://github.com/gdraheim/zziplib Vendor: Guido Draheim <guidod@gmx.de> Source0: https://github.com/gdraheim/zziplib/archive/v%{version}.tar.gz BuildRoot: /var/tmp/%{name}-%{version}-%{release} diff --git a/source/libs/zziplib/zziplib-src/zzipwrap/zzipwrap.pc b/source/libs/zziplib/zziplib-src/zzipwrap/zzipwrap.pc index 281188693..167179a7f 100644 --- a/source/libs/zziplib/zziplib-src/zzipwrap/zzipwrap.pc +++ b/source/libs/zziplib/zziplib-src/zzipwrap/zzipwrap.pc @@ -1,9 +1,9 @@ prefix=/usr/local -libdir=/usr/local/lib +libdir=/usr/local/lib64 includedir=/usr/local/include Name: zzipwrap -Version: 0.13.24 +Version: 0.13.68 Description: Callback Wrappers for ZZipLib Requires: zziplib Libs: -L${libdir} -lzzipwrap diff --git a/source/texk/README b/source/texk/README index 735824595..1b60a29ea 100644 --- a/source/texk/README +++ b/source/texk/README @@ -1,5 +1,5 @@ -$Id: README 46352 2018-01-17 22:50:15Z karl $ -Copyright 2006-2017 TeX Users Group. +$Id: README 46535 2018-02-03 23:00:47Z hironobu $ +Copyright 2006-2018 TeX Users Group. You may freely use, modify and/or distribute this file. This TeX Live directory contains the programs that use the kpathsea @@ -20,12 +20,12 @@ Anyone -- please research and update any of this information. afm2pl - maintained here - http://tex.aanhet.net/afm2pl/ + old info: http://tex.aanhet.net/afm2pl/ bibtex-x - maintained here, contains bibtex8 bibtexu - http://omega.enstb.org/yannis/bibtexu/ + old info: http://omega.enstb.org/yannis/bibtexu/ chktex 1.7.6 - checked 15sep16 http://mirror.ctan.org/support/chktex/ @@ -42,19 +42,20 @@ dtl - ? dvi2tty 6.0.0 - checked 05mar16 https://github.com/t-tk/dvi2tty -dvidvi - maintained here. +dvidvi - maintained here dviljk - maintained here, by Joachim Schrod dvipdfm-x - maintained here, by us, contains dvipdfmx xdvipdfmx + old info: http://project.ktug.org/dvipdfmx/ dvipng 1.15 - checked 3mar15 http://mirror.ctan.org/dviware/dvipng/ (but maybe stale) http://savannah.nongnu.org/files/?group=dvipng -dvipos - ? +dvipos - maintained here, by us dvipsk - maintained here, by us @@ -73,7 +74,8 @@ lcdf-typetools 2.106 - checked 22jun16 makeindexk - maintained here, by us -makejvf - maintained here, mainly by Takuji Tanaka +makejvf - by Japanese TeX Development Community (Takuji, Hironobu et al.) + https://github.com/texjporg/tex-jp-build mendexk - maintained here, by us (Takuji, Akira et al.) @@ -85,9 +87,10 @@ ps2pk - maintained here, by us psutils 1.23 - checked 16jan14 https://github.com/rrthomas/psutils/archive/v1.23.tar.gz -ptexenc - maintained here, by us (akira et al.) +ptexenc - maintained here, by us (Akira et al.) + but also: https://github.com/texjporg/tex-jp-build -seetexk - ? +seetexk - maintained here, by us (Takuji, Hironobu et al.) tex4htk - checked 25apr11 http://tug.org/tex4ht/ @@ -107,19 +110,20 @@ web2c - maintained here, by us - core web2c, plain tex, etc. updated here by their respective maintainers. More info: aleph - maintained here ctie - CTAN - cweb - knuth, ftp://ftp.cs.stanford.edu/pub/cweb/ - eptex - https://osdn.jp/projects/eptex,https://texwiki.texjp.org/?e-pTeX + cweb - Knuth, ftp://ftp.cs.stanford.edu/pub/cweb/ + eptex - https://github.com/texjporg/tex-jp-build + also: https://osdn.jp/projects/eptex etex - maintained here - euptex - https://texwiki.texjp.org/?upTeX%2CupLaTeX + euptex - http://www.t-lab.opal.ne.jp/tex/uptex_en.html mflua[jit] - https://foundry.supelec.fr/projects/mflua/ mplibdir - http://tug.org/metapost luatex - http://luatex.org pdftex - http://pdftex.org - pmpost - none - ptex - nothing current, old info: http://ascii.asciimw.jp/pb/ptex/ + [u]pmpost - nothing current, see README for old info + ptex - https://github.com/texjporg/tex-jp-build + old info: http://ascii.asciimw.jp/pb/ptex/ synctex - maintained here, but also https://github.com/jlaurens/synctex - upmpost - ? (Kitagawa-san) - uptex - https://texwiki.texjp.org/?upTeX%2CupLaTeX + uptex - http://www.t-lab.opal.ne.jp/tex/uptex_en.html xetex - http://tug.org/xetex/ xdvik 22.87.03 - checked 6apr16 diff --git a/source/texk/kpathsea/ChangeLog b/source/texk/kpathsea/ChangeLog index 52b4e79b6..fafb1ee3b 100644 --- a/source/texk/kpathsea/ChangeLog +++ b/source/texk/kpathsea/ChangeLog @@ -1,3 +1,59 @@ +2018-02-04 Karl Berry <karl@freefriends.org> + + * texmf.cnf (texmf_casefold_search): new configuration value + for Unix, default 1. Latest thread about this longstanding issue: + http://tug.org/pipermail/tex-live/2017-September/040619.html + + * version.ac: move to 6.3.0 since I guess this is a new + (compatible [enough]) interface. + * NEWS: mention it. + * doc/kpathsea.texi: document it. + (Casefolding search), + (Casefolding rationale), + (Casefolding examples): new nodes. + (Path searching options): new option [-no]-casefold-search + for kpsewhich. + + * pathsearch.c (KPSE_CASEFOLDING_SEARCH): new compile-time macro + to support case-insensitive searches on case-sensitive operating + systems, that is, not Windows. Most other changes here are + conditional on it. + + (print_space_list): helper fn for debugging output. + (readable_file_fn_type): new typedef for casefold_readable_file + and kpathsea_readable_file. + (casefold_readable_file): new fn to check for a file ignoring case. + (dir_list_search), + (dir_list_search_list): take an additional function pointer argument + and call it, instead of only kpathsea_readable_file. Return + the matched name instead of the original name. (This would have + caused failure before with the ENAMETOOLONG kludge; guess that + never actually happens.) + (absolute_search), + (path_search): also do casefolded search if enabled and requested. + Also free passed name in callers. + (kpathsea_path_search_list_generic): call absolute_search + instead of kpathsea_readable_file; merge returned lists; + also do casefolded search if enabled and requested. + + (print_tab_list) [TEST]: another helper fn to print test results. + (test_path_search_list_generic) [TEST]: new test fn for some + minimal casefolding tests. + (main): call it, and rearrange tests. + (standalone-compile-command): current to current (TeX Live) reality. + + * kpsewhich.c (long_options): new options [-no]-casefold-search + to override the default for casefolded searches. + (read_command_line): handle them with xputenv on texmf_casefold_search. + + * tests/kpsewhich.test: do a few casefolding tests. + +2018-02-01 Karl Berry <karl@freefriends.org> + + * lib.h (KPSE_CNF_P): new macro. + * tex-file.c (kpathsea_find_file_generic): use it, + for try_std_extension_first. + 2018-01-27 Karl Berry <karl@freefriends.org> * readable.h: doc fixes. diff --git a/source/texk/kpathsea/NEWS b/source/texk/kpathsea/NEWS index 45b572c00..04b493e0f 100644 --- a/source/texk/kpathsea/NEWS +++ b/source/texk/kpathsea/NEWS @@ -1,5 +1,11 @@ +$Id$ This file records noteworthy changes. (Public domain.) +6.3.0 (for TeX Live 2018) +* New configuration value texmf_casefold_search to fall back to + case-insensitive search in non-system directories if there is no exact + match; only relevant on Unix. + 6.2.3 (for TeX Live 2017, 19 May 2017) * .OTF treated like .otf. * texmf.cnf: mpost removed from default shell_escape_commands. diff --git a/source/texk/kpathsea/c-auto.in b/source/texk/kpathsea/c-auto.in index aaf1a686a..0d7f71e8e 100644 --- a/source/texk/kpathsea/c-auto.in +++ b/source/texk/kpathsea/c-auto.in @@ -23,7 +23,7 @@ #define KPATHSEA_C_AUTO_H /* kpathsea: the version string. */ -#define KPSEVERSION "kpathsea version 6.2.4/dev" +#define KPSEVERSION "kpathsea version 6.3.0/dev" /* Define to 1 if the `closedir' function returns void instead of `int'. */ #undef CLOSEDIR_VOID diff --git a/source/texk/kpathsea/configure b/source/texk/kpathsea/configure index cfc1f019d..6a95b8df3 100755 --- a/source/texk/kpathsea/configure +++ b/source/texk/kpathsea/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for Kpathsea 6.2.4/dev. +# Generated by GNU Autoconf 2.69 for Kpathsea 6.3.0/dev. # # Report bugs to <tex-k@tug.org>. # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Kpathsea' PACKAGE_TARNAME='kpathsea' -PACKAGE_VERSION='6.2.4/dev' -PACKAGE_STRING='Kpathsea 6.2.4/dev' +PACKAGE_VERSION='6.3.0/dev' +PACKAGE_STRING='Kpathsea 6.3.0/dev' PACKAGE_BUGREPORT='tex-k@tug.org' PACKAGE_URL='' @@ -1339,7 +1339,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Kpathsea 6.2.4/dev to adapt to many kinds of systems. +\`configure' configures Kpathsea 6.3.0/dev to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1409,7 +1409,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Kpathsea 6.2.4/dev:";; + short | recursive ) echo "Configuration of Kpathsea 6.3.0/dev:";; esac cat <<\_ACEOF @@ -1537,7 +1537,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Kpathsea configure 6.2.4/dev +Kpathsea configure 6.3.0/dev generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2376,7 +2376,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Kpathsea $as_me 6.2.4/dev, which was +It was created by Kpathsea $as_me 6.3.0/dev, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2757,10 +2757,10 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -KPSEVERSION=6.2.4/dev +KPSEVERSION=6.3.0/dev -KPSE_LT_VERSINFO=8:4:2 +KPSE_LT_VERSINFO=9:0:3 @@ -8071,7 +8071,7 @@ fi # Define the identity of the package. PACKAGE='kpathsea' - VERSION='6.2.4/dev' + VERSION='6.3.0/dev' cat >>confdefs.h <<_ACEOF @@ -14695,7 +14695,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Kpathsea $as_me 6.2.4/dev, which was +This file was extended by Kpathsea $as_me 6.3.0/dev, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14761,7 +14761,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Kpathsea config.status 6.2.4/dev +Kpathsea config.status 6.3.0/dev configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/source/texk/kpathsea/doc/kpathsea.info b/source/texk/kpathsea/doc/kpathsea.info index 98c5bd794..462ba594c 100644 --- a/source/texk/kpathsea/doc/kpathsea.info +++ b/source/texk/kpathsea/doc/kpathsea.info @@ -1,9 +1,9 @@ -This is kpathsea.info, produced by makeinfo version 6.5 from +This is kpathsea.info, produced by makeinfo version 6.4 from kpathsea.texi. This file documents the Kpathsea library for path searching. - Copyright (C) 1996-2017 Karl Berry & Olaf Weber. + Copyright (C) 1996-2018 Karl Berry & Olaf Weber. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are @@ -37,7 +37,7 @@ Kpathsea library **************** This manual documents the Kpathsea library for path searching. It -corresponds to version 6.2.4, released in June 2017. +corresponds to version 6.3.0, released in February 2018. * Menu: @@ -61,8 +61,8 @@ File: kpathsea.info, Node: Introduction, Next: unixtex.ftp, Prev: Top, Up: T 1 Introduction ************** -This manual corresponds to version 6.2.4 of the Kpathsea library, -released in June 2017. +This manual corresponds to version 6.3.0 of the Kpathsea library, +released in February 2018. The library's fundamental purpose is to return a filename from a list of directories specified by the user, similar to what shells do when @@ -80,27 +80,29 @@ this library: Other software that we do not maintain also uses it. Kpathsea is now maintained as part of the TeX Live distribution -(<http://tug.org/texlive>). For information on configuration, building, -installing, and more, *note (tlbuild)::. +(<http://tug.org/texlive>), which includes several more Kpathsea-using +programs. For information on configuration, building, installing, and +more, *note (tlbuild)::. The library is still actively maintained. If you have comments or suggestions, please send along (*note Reporting bugs::). The Kpathsea library is distributed under the GNU Library General -Public License (LGPL). In short, this means if you write a program using -the library, you must (offer to) distribute the source to the library, -along with any changes you have made, and allow anyone to modify the -library source and distribute their modifications. It does not mean you -have to distribute the source to your program, although we hope you -will. See accompanying files for the text of the GNU licenses, or -<http://www.gnu.org/licenses>. +Public License (LGPL), version 2.1 or (at your option) any later +version. In short, this means if you write a program using the library, +you must (offer to) distribute the source to the library, along with any +changes you have made, and allow anyone to modify the library source and +distribute their modifications. It does not mean you have to distribute +the source to your program using the library, although we hope you will. +See accompanying files for the text of the GNU licenses, or +<http2://www.gnu.org/licenses>. If you know enough about TeX to be reading this manual, then you (or your institution) should consider joining the TeX Users Group (if you're already a member, thanks!). TUG produces the periodical 'TUGboat', sponsors an annual meeting and publishes the proceedings, and arranges courses on TeX for all levels of users throughout the world. See -<http://tug.org> for information. +<https://tug.org> for information. * Menu: @@ -185,14 +187,13 @@ continues. Karl had been looking for some time for someone to take up part of the burden, and I volunteered. [Karl writes again.] Indeed, time goes on. As of 2006 or so, Olaf's -available time for Kpathsea became rather reduced, and I started taking -overall care of it again, although I did not do any significant new -development. In 2009, Taco Hoekwater made a major rearrangement to make -the library suitable for use within the MetaPost library (*note -Programming overview::). Also, for some years now, Peter Breitenlohner -has made many improvements to the infrastructure and kept up-to-date -with respect to the overall TeX Live build, where Kpathsea is now -maintained. +available time for Kpathsea was reduced, and I started taking overall +care of it again, although I did not do any significant new development. +In 2009, Taco Hoekwater implemented a major rearrangement to make the +library suitable for use within the MetaPost library (*note Programming +overview::). Also, for some years now, Peter Breitenlohner has made +many improvements to the infrastructure and kept it up-to-date with +respect to the overall TeX Live build, where Kpathsea is now maintained. File: kpathsea.info, Node: unixtex.ftp, Next: Security, Prev: Introduction, Up: Top @@ -378,6 +379,7 @@ provides. For information about searching for particular file types * Searching overview:: Basic scheme for searching. * Path sources:: Where search paths can be defined. * Path expansion:: Special constructs in search paths. +* Casefolding search:: Fallback to case-insensitive search. * Filename database:: Using an externally-built list to search. * Invoking kpsewhich:: Standalone path lookup. @@ -419,10 +421,16 @@ the disk for them. Therefore, if you fail to update 'ls-R' when you install a new VF file, it will not be found. Each path element is checked in turn: first the database, then the -disk. If a match is found, the search stops and the result is returned. -This avoids possibly-expensive processing of path specifications that -are never needed on a particular run. (Unless the search explicitly -requested all matches.) +disk. If a match is found, the search stops and the result is returned +(unless the search explicitly requested all matches). This avoids +possibly-expensive processing of path specifications that are never +needed on a particular run. + + On Unix-like systems, if no match is found by any of the above, and +the path element allows checking the filesystem (per the above), a final +check is made for a case-insensitive match. Thus, looking for a name +like './FooBar.TeX' will match a file './foobar.tex', and vice versa. +This is not done on Windows. *Note Casefolding search::. Although the simplest and most common path element is a directory name, Kpathsea supports additional features in search paths: layered @@ -435,7 +443,8 @@ order as the sections. Exception to all of the above: If the filename being searched for is absolute or explicitly relative, i.e., starts with '/' or './' or '../', -Kpathsea simply checks if that file exists. +Kpathsea simply checks if that file exists, with a fallback to a +casefolding match if needed and enabled, as described above. Ordinarily, if Kpathsea tries to access a file or directory that cannot be read, it gives a warning. This is so you will be alerted to @@ -455,8 +464,8 @@ File: kpathsea.info, Node: Path sources, Next: Path expansion, Prev: Searchin 5.2 Path sources ================ -A search path can come from many sources. In the order in which -Kpathsea uses them: +A search path or other configuration value can come from many sources. +In the order in which Kpathsea looks for them: 1. A user-set environment variable, e.g., 'TEXINPUTS'. Environment variables with an underscore and the program name appended @@ -570,7 +579,7 @@ anyway, since the 'sh' process couldn't affect its parent's environment. The implementation of all this is in 'kpathsea/cnf.c'. -File: kpathsea.info, Node: Path expansion, Next: Filename database, Prev: Path sources, Up: Path searching +File: kpathsea.info, Node: Path expansion, Next: Casefolding search, Prev: Path sources, Up: Path searching 5.3 Path expansion ================== @@ -579,7 +588,9 @@ Kpathsea recognizes certain special characters and constructions in search paths, similar to that in shells. As a general example: '~$USER/{foo,bar}//baz' expands to all subdirectories under directories 'foo' and 'bar' in $USER's home directory that contain a directory or -file 'baz'. These expansions are explained in the sections below. +file 'baz'. + + These expansions are explained in the sections below. * Menu: @@ -796,9 +807,156 @@ And if you can find a way to _solve_ the problem, please let me know. 'kpathsea/elt-dirs.c'. -File: kpathsea.info, Node: Filename database, Next: Invoking kpsewhich, Prev: Path expansion, Up: Path searching +File: kpathsea.info, Node: Casefolding search, Next: Filename database, Prev: Path expansion, Up: Path searching + +5.4 Casefolding search +====================== + +In Kpathsea version 6.3.0 (released with TeX Live 2018), a new fallback +search was implemented on Unix-like systems, including Macs: for each +path element in turn, if no match is found by the normal search, and the +path element allows for checking the filesystem, a second check is made +for a case-insensitive match. + + This is enabled at compile-time on Unix systems, and enabled at +runtime by setting the configuration variable 'texmf_casefold_search', +to a true value, e.g., '1'; this is done by default in TeX Live. + +* Menu: + +* Rationale: Casefolding rationale. +* Examples: Casefolding examples. + + +File: kpathsea.info, Node: Casefolding rationale, Next: Casefolding examples, Up: Casefolding search + +5.4.1 Casefolding rationale +--------------------------- + +The purpose of the fallback casefolding search is to ease moving complex +documents between case-insensitive (file)systems and case-sensitive +ones. In particular, Apple decided to make the default filesystem on +Macs be case-insensitive some years ago, and this has exacerbated a +problem of people creating documents that use, say, an image under the +name 'foo.jpg', while the actual file is named 'foo.JPG' or 'Foo.jpg'. +It works on the Mac but if the document is transferred and run on a +standard case-sensitive Unix (file)system, the file can't be found, due +only to differences in case. + + This same problematic scenario has always existed on Windows, but for +whatever reason, it has become much more common since Apple also went to +a case-insensitive filesystem. Hence the move to change the Kpathsea +behavior now. + + The fallback case-insensitive search is omitted at compile-time on +Windows, where (for practical purposes) all file names are +case-insensitive at the kernel level, and so the normal search will +already have definitively matched or not. Therefore, search results in +unusual cases can be different on Windows and Unix--but this has always +been true. + + +File: kpathsea.info, Node: Casefolding examples, Prev: Casefolding rationale, Up: Casefolding search + +5.4.2 Casefolding examples +-------------------------- + +The casefolding implementation prefers exact matches to casefolded +matches within a given path element, so as to retain most compatibility. +Backward compatibility is not perfect, however, as a casefolded match +may be found in an earlier path element than an exact match was +previously found (see example #4 below). Still, preferring the match in +the earlier element seemed potentially less confusing than otherwise, +and is in fact consistent with past behavior on Windows. Since case +mismatches are rare to begin with, and name collisions with respect only +to case thus even more rare, the hope is that it will not cause +difficulties in practice. + + If it's desirable in a given situation to have the exact same search +behavior as previously, that can be accomplished by setting the +configuration variable 'texmf_casefold_search' to '0' (*note Path +sources::). + + Some examples to illustrate the new behavior follow. + + Example #1: suppose the file './foobar.tex' exists. Now, searching +for './FooBar.TeX' (or any other case variation) will succeed, returning +'./foobar.tex'--the name as stored on disk. In previous releases, or if +'texmf_casefold_search' is false, the search would fail. + + Example #2: suppose we are using a case-sensitive (file)system, and +the search path is '.:/somedir', and the files './foobar.tex' and +'/somedir/FooBar.TeX' both exist. Both now and previously, searching +for 'foobar.tex' returns './foobar.tex'. However, searching for +'FooBar.TeX' now returns './foobar.tex' instead of +'/somedir/FooBar.TeX'; this is the incompatibility mentioned above. +Also (as expected), searching for 'FOOBAR.TEX' (or whatever variation) +will now return './foobar.tex', whereas before it would fail. Searching +for all ('kpsewhich --all') 'foobar.tex' will return both matches. + + Example #3: same as example #2, but on a case-insensitive +(file)system: both now and previously, searching for 'FooBar.TeX' +returns './foobar.tex', since the system considers that a match. The +Kpathsea casefolding never comes into play. + + Example #4: if we have (on a case-sensitive system) both +'./foobar.tex' and './FOOBAR.TEX', searching with the exact case returns +that exact match, now and previously. Searching for 'FooBar.tex' will +now return one or the other (chosen arbitrarily), rather than failing. +Perhaps unexpectedly, searching for all 'foobar.tex' or 'FooBar.tex' +will also return only one or the other, not both (see more below). + + Example #5: the font file 'STIX-Regular.otf' is included in TeX Live +in the system directory 'texmf-dist/fonts/opentype/public/stix'. +Because Kpathsea never searches the disk in the big system directory, +the casefolding is not done, and a search for 'stix-regular.otf' will +fail (on case-sensitive systems), as it always has. + + The caveat about not searching the disk amounts to saying that +casefolding does not happen in the trees specified with '!!' (*note +ls-R::), that is, where only database ('ls-R') searching is done. In +TeX Live, that is the 'texmf-local' and 'texmf-dist' trees (also +'$TEXMFSYSCONFIG' and '$TEXMFSYSVAR', but those are rarely noticed). +The rationale for this is that in practice, case mangling happens with +user-created files, not with packages distributed as part of the TeX +system. + + One more caveat: the purpose of 'kpsewhich' is to exercise the path +searching in Kpathsea as it is actually done. Therefore, as shown +above, 'kpsewhich --all' will not return all matches regardless of case +within a given path element. If you want to find all matches in all +directories, 'find' is the best tool, although the setup takes a couple +steps: + + kpsewhich -show-path=tex >/tmp/texpath # search path specification + kpsewhich -expand-path="`cat /tmp/texpath`" >/tmp/texdirs # all dirs + tr ':' '\n' </tmp/texdirs >/tmp/texdirlist # colons to newlines + find `cat /tmp/texdirlist` -iname somefile.tex -print </tmp/texdirlist + + Sorry that it's annoyingly lengthy, but implementing this inside +Kpathsea would be a lot of error-prone trouble for something that is +only useful for debugging. If your 'find' does not support '-iname', +you can get GNU Find from <https://www.gnu.org/software/findutils>. + + The casefolding search is implemented in the source file +'kpathsea/pathsearch.c'. Two implementation points: + + * Kpathsea never tries to check if a given directory resides on a + case-insensitive filesystem, because there is no efficient and + portable way to do so. All it does is try to see if a potential + file name is a readable normal file (with, usually, the 'access' + system call). + + * Kpathsea does not do any case-insensitive matching of the + directories along the path. It's not going to find + '/Some/Random/file.tex' when looking for '/some/random/file.tex'. + The casefolding only happens with the elements of the leaf + directory. + + +File: kpathsea.info, Node: Filename database, Next: Invoking kpsewhich, Prev: Casefolding search, Up: Path searching -5.4 Filename database ('ls-R') +5.5 Filename database ('ls-R') ============================== Kpathsea goes to some lengths to minimize disk accesses for searches @@ -826,7 +984,7 @@ filename conventions in source files. File: kpathsea.info, Node: ls-R, Next: Filename aliases, Up: Filename database -5.4.1 'ls-R' +5.5.1 'ls-R' ------------ As mentioned above, you must name the main filename database 'ls-R'. @@ -886,7 +1044,7 @@ paths. File: kpathsea.info, Node: Filename aliases, Next: Database format, Prev: ls-R, Up: Filename database -5.4.2 Filename aliases +5.5.2 Filename aliases ---------------------- In some circumstances, you may wish to find a file under several names. @@ -914,7 +1072,7 @@ aliases. File: kpathsea.info, Node: Database format, Prev: Filename aliases, Up: Filename database -5.4.3 Database format +5.5.3 Database format --------------------- The "database" read by Kpathsea is a line-oriented file of plain text. @@ -957,7 +1115,7 @@ the '-R' option, as follows. File: kpathsea.info, Node: Invoking kpsewhich, Prev: Filename database, Up: Path searching -5.5 'kpsewhich': Standalone path searching +5.6 'kpsewhich': Standalone path searching ========================================== The Kpsewhich program exercises the path searching functionality @@ -984,7 +1142,7 @@ accepted. File: kpathsea.info, Node: Path searching options, Next: Specially-recognized files, Up: Invoking kpsewhich -5.5.1 Path searching options +5.6.1 Path searching options ---------------------------- Kpsewhich looks up each non-option argument on the command line as a @@ -997,6 +1155,13 @@ filename, and returns the first file found. more than one match, just one will be reported (chosen effectively at random). +'--casefold-search' +'--no-casefold-search' + Explicitly enable or disable the fallback to a case-insensitive + search on Unix platforms (*note Casefolding search::); no effect on + Windows. The default is the same as the system setup, which is (by + default) enabled. + '--dpi=NUM' Set the resolution to NUM; this only affects 'gf' and 'pk' lookups. '-D' is a synonym, for compatibility with Dvips. Default is 600. @@ -1197,7 +1362,7 @@ filename, and returns the first file found. File: kpathsea.info, Node: Specially-recognized files, Next: Auxiliary tasks, Prev: Path searching options, Up: Invoking kpsewhich -5.5.2 Specially-recognized files for 'kpsewhich' +5.6.2 Specially-recognized files for 'kpsewhich' ------------------------------------------------ 'kpsewhich' recognizes a few special filenames on the command line and @@ -1247,7 +1412,7 @@ about the above configuration files (among others). File: kpathsea.info, Node: Auxiliary tasks, Next: Standard options, Prev: Specially-recognized files, Up: Invoking kpsewhich -5.5.3 Auxiliary tasks +5.6.3 Auxiliary tasks --------------------- Kpsewhich provides some features in addition to path lookup as such: @@ -1309,7 +1474,7 @@ Kpsewhich provides some features in addition to path lookup as such: File: kpathsea.info, Node: Standard options, Prev: Auxiliary tasks, Up: Invoking kpsewhich -5.5.4 Standard options +5.6.4 Standard options ---------------------- Kpsewhich accepts the standard GNU options: @@ -1327,21 +1492,21 @@ File: kpathsea.info, Node: TeX support, Next: Programming, Prev: Path searchi ************* Although the basic features in Kpathsea can be used for any type of path -searching, it came about (like all libraries) with a specific -application in mind: I wrote Kpathsea specifically for TeX system -programs. I had been struggling with the programs I was using (Dvips, -Xdvi, and TeX itself) having slightly different notions of how to -specify paths; and debugging was painful, since no code was shared. +searching, it came about, as usual, with a specific application in mind: +I wrote Kpathsea specifically for TeX system programs. I had been +struggling with the programs I was using (Dvips, Xdvi, and TeX itself) +having slightly different notions of how to specify paths; and debugging +was painful, since no code was shared. Therefore, Kpathsea provides some TeX-specific formats and features. -Indeed, many of the supposedly generic path searching features were +Indeed, many of the purportedly generic path searching features were provided because they seemed useful in that conTeXt (font lookup, particularly). Kpathsea provides a standard way to search for files of any of the supported file types; glyph fonts are a bit different than all the rest. -Searches are based solely on filenames, not file contents--if a GF file -is named 'cmr10.600pk', it will be found as a PK file. +Searches are based solely on names of files, not their contents--if a GF +file is (mis)named 'cmr10.600pk', it will be found as a PK file. * Menu: @@ -2072,7 +2237,8 @@ File: kpathsea.info, Node: Programming, Next: Reporting bugs, Prev: TeX suppo ************* This chapter is for programmers who wish to use Kpathsea. *Note -Introduction::, for the conditions under which you may do so. +Introduction::, for the conditions under which you may do so (in short, +it is released under LGPLv2.1 or later). * Menu: @@ -2088,22 +2254,24 @@ File: kpathsea.info, Node: Programming overview, Next: Calling sequence, Up: ======================== Aside from this manual, your best source of information is the source to -the programs that use Kpathsea (*note Introduction::). Of those, Dviljk -is probably the simplest, and hence a good place to start. Xdvik adds -VF support and the complication of X resources. Dvipsk adds the -complication of its own config files. Web2c is source code I also -maintain, so it uses Kpathsea rather straightforwardly, but is of course -complicated by the Web to C translation. Finally, Kpsewhich is a small -utility program whose sole purpose is to exercise the main -path-searching functionality. +the programs that use Kpathsea (*note Introduction::). First, Kpsewhich +is a small utility program whose sole purpose is to exercise the main +path-searching functionality. Of the drivers, Dviljk is probably the +simplest full application program. Xdvik adds VF support and the +complication of X resources. Dvipsk adds the complication of its own +config files. Web2c is source code I also maintain, so it uses Kpathsea +rather straightforwardly, but is of course complicated by the Web to C +translation. When looking at these program sources, you should know that previous -versions of the library had a different programming interface, to -support re-entrancy. In that interface the library function names were -prefixed with 'kpse_' instead of 'kpathsea_', and they did not need an -instance variable as first argument. This change was made in 2009. -Some of the programs mentioned above may still be using the previous -interface. +versions of the library had a different programming interface; the +current interface supports re-entrancy. Historically, the library +function names were prefixed with 'kpse_' instead of 'kpathsea_', and +they did not need an instance variable as first argument. This change +was made in 2009. The old functions will never disappear, and can +reliably continue to be used when they suffice, as they do for the +programs above. The main application using the re-entrant API is the +MetaPost library used by MetaPost and LuaTeX. Beyond these examples, the '.h' files in the Kpathsea source describe the interfaces and functionality (and of course the '.c' files define @@ -2770,38 +2938,42 @@ Index * $ expansion: Variable expansion. (line 6) * --all: Path searching options. (line 12) +* --casefold-search: Path searching options. + (line 18) * --color=tty: ls-R. (line 21) * --debug=NUM: Auxiliary tasks. (line 9) * --dpi=NUM: Path searching options. - (line 17) + (line 24) * --engine=NAME: Path searching options. - (line 21) + (line 28) * --expand-braces=STRING: Auxiliary tasks. (line 12) * --expand-path=STRING: Auxiliary tasks. (line 16) * --expand-var=STRING: Auxiliary tasks. (line 34) * --format=NAME: Path searching options. - (line 37) + (line 44) * --help: Standard options. (line 8) * --help-formats: Auxiliary tasks. (line 39) * --interactive: Path searching options. - (line 119) + (line 126) * --mktex=FILETYPE: Path searching options. - (line 124) + (line 131) * --mode=STRING: Path searching options. - (line 130) + (line 137) * --must-exist: Path searching options. - (line 135) + (line 142) +* --no-casefold-search: Path searching options. + (line 18) * --no-mktex=FILETYPE: Path searching options. - (line 124) + (line 131) * --path=STRING: Path searching options. - (line 140) + (line 147) * --progname=NAME: Path searching options. - (line 148) + (line 155) * --safe-in-name=NAME: Auxiliary tasks. (line 45) * --safe-out-name=NAME: Auxiliary tasks. (line 45) * --show-path=NAME: Auxiliary tasks. (line 51) * --subdir=STRING: Path searching options. - (line 153) + (line 160) * --var-value=VARIABLE: Auxiliary tasks. (line 57) * --version: Standard options. (line 11) * --with-mktextex-default: mktex configuration. (line 12) @@ -2814,7 +2986,9 @@ Index * -1 debugging value: Debugging. (line 23) * -A option to ls: ls-R. (line 33) * -D NUM: Path searching options. - (line 17) + (line 24) +* -iname, find predicate: Casefolding examples. + (line 78) * -L option to ls: ls-R. (line 38) * . directories, ignored: ls-R. (line 33) * . files: ls-R. (line 33) @@ -2935,8 +3109,10 @@ Index (line 31) * { expansion: Brace expansion. (line 6) * ~ expansion: Tilde expansion. (line 6) -* absolute filenames: Searching overview. (line 52) -* access warnings: Searching overview. (line 56) +* absolute filenames: Searching overview. (line 58) +* access system call: Casefolding examples. + (line 86) +* access warnings: Searching overview. (line 63) * AFMFONTS: Supported file formats. (line 22) * aliases for fonts: Fontmap. (line 6) @@ -2952,6 +3128,8 @@ Index (line 16) * append-only directories and mktexpk: Security. (line 36) * appendonlydir: mktex configuration. (line 60) +* Apple filesystem, case-insensitive: Casefolding rationale. + (line 6) * arguments to mktex: mktex script arguments. (line 6) * argv[0]: Calling sequence. (line 14) @@ -2981,9 +3159,14 @@ Index * bugs, reporting: Reporting bugs. (line 6) * c-*.h: Calling sequence. (line 117) * c-auto.h: Programming overview. - (line 33) + (line 35) * cache of fonts, local: Security. (line 22) * calling sequence: Calling sequence. (line 6) +* casefolding examples: Casefolding examples. + (line 6) +* casefolding fallback rationale: Casefolding rationale. + (line 6) +* casefolding search: Casefolding search. (line 6) * ChangeLog entry: Bug checklist. (line 52) * checklist for bug reports: Bug checklist. (line 6) * checksum: Suppressing warnings. @@ -3001,7 +3184,7 @@ Index (line 23) * comments, in fontmap files: Fontmap. (line 27) * comments, in texmf.cnf: Config files. (line 27) -* comments, making: Introduction. (line 28) +* comments, making: Introduction. (line 29) * common features in glyph lookup: Basic glyph lookup. (line 6) * common problems: Common problems. (line 6) * compilation value, source for path: Path sources. (line 20) @@ -3009,14 +3192,14 @@ Index (line 6) * compiler bugs, finding: TeX or Metafont failing. (line 24) -* conditions for use: Introduction. (line 31) +* conditions for use: Introduction. (line 32) * config files: Config files. (line 6) * config files, for Kpathsea-using programs: Calling sequence. (line 47) * config files, programming with: Programming with config files. (line 6) * config.h: Programming overview. - (line 33) + (line 35) * config.log: Bug checklist. (line 24) * config.ps: Specially-recognized files. (line 16) @@ -3082,7 +3265,7 @@ Index * ENCFONTS: Supported file formats. (line 61) * engine name: Path searching options. - (line 21) + (line 28) * environment variable, source for path: Path sources. (line 9) * environment variables for TeX: Supported file formats. (line 6) @@ -3091,17 +3274,19 @@ Index (line 14) * epoch, seconds since: Logging. (line 15) * error message macros: Calling sequence. (line 22) +* examples, of casefolding searches: Casefolding examples. + (line 6) * excessive startup time: Slow path searching. (line 6) * expand.c: Brace expansion. (line 26) * expanding symlinks: Calling sequence. (line 31) * expansion, default: Default expansion. (line 6) -* expansion, path element: Searching overview. (line 43) +* expansion, path element: Searching overview. (line 49) * expansion, search path: Path expansion. (line 6) * expansion, subdirectory: Subdirectory expansion. (line 6) * expansion, tilde: Tilde expansion. (line 6) * expansion, variable: Variable expansion. (line 6) -* explicitly relative filenames: Searching overview. (line 52) +* explicitly relative filenames: Searching overview. (line 58) * extensions, filename: File lookup. (line 24) * externally-built filename database: Filename database. (line 6) * extra colons: Default expansion. (line 6) @@ -3116,14 +3301,18 @@ Index * file lookup: File lookup. (line 6) * file permissions: Security. (line 47) * file types, registering new: Programming overview. - (line 39) + (line 41) * filename aliases: Filename aliases. (line 6) * filename database: Filename database. (line 6) * filenames, absolute or explicitly relative: Searching overview. - (line 52) + (line 58) * files, unable to find: Unable to find files. (line 6) * filesystem search: Searching overview. (line 22) +* filesystem, case-(in)sensitive: Casefolding rationale. + (line 6) +* Findutils, GNU package: Casefolding examples. + (line 78) * floating directories: Searching overview. (line 22) * fmtutil: mktex script names. (line 10) * fmtutil.cnf: Specially-recognized files. @@ -3168,7 +3357,7 @@ Index (line 25) * GNU C compiler bugs: TeX or Metafont failing. (line 19) -* GNU General Public License: Introduction. (line 31) +* GNU General Public License: Introduction. (line 32) * group-writable directories: Security. (line 40) * GSFTOPK_DEBUG (128): Debugging. (line 88) * hash table buckets, printing: Debugging. (line 105) @@ -3184,8 +3373,8 @@ Index (line 84) * input lines, reading: Calling sequence. (line 110) * interactive query: Path searching options. - (line 119) -* interface, not frozen: Introduction. (line 28) + (line 126) +* interface, not frozen: Introduction. (line 29) * introduction: Introduction. (line 6) * kdebug:: Debugging. (line 105) * kdefault.c: Default expansion. (line 48) @@ -3193,7 +3382,7 @@ Index * Knuth, Donald E., archive of programs by: unixtex.ftp. (line 19) * Kpathsea config file, source for path: Path sources. (line 17) * kpathsea.h: Programming overview. - (line 24) + (line 26) * kpathsea_cnf_get: Programming with config files. (line 23) * KPATHSEA_DEBUG: Calling sequence. (line 28) @@ -3238,7 +3427,7 @@ Index (line 21) * leaf directory trick: Subdirectory expansion. (line 22) -* license for using the library: Introduction. (line 31) +* license for using the library: Introduction. (line 32) * LIGFONTS: Supported file formats. (line 88) * lines, reading arbitrary-length: Calling sequence. (line 110) @@ -3246,13 +3435,15 @@ Index * local cache of fonts: Security. (line 22) * log file: Logging. (line 6) * logging successful searches: Logging. (line 6) -* lost+found directory: Searching overview. (line 56) +* lost+found directory: Searching overview. (line 63) * lostchar: Suppressing warnings. (line 19) * ls-R: Supported file formats. (line 91) * ls-R database file: ls-R. (line 6) * ls-R, simplest build: ls-R. (line 18) +* Mac filesystem, case-insensitive: Casefolding rationale. + (line 6) * MacKenzie, David: History. (line 44) * MacKenzie, David <1>: Subdirectory expansion. (line 22) @@ -3359,7 +3550,7 @@ Index * path searching, standalone: Invoking kpsewhich. (line 6) * path sources: Path sources. (line 6) * pathsearch.h: Programming overview. - (line 24) + (line 26) * pc Pascal compiler: History. (line 12) * pdfglyphlist.txt: Specially-recognized files. (line 31) @@ -3369,7 +3560,7 @@ Index (line 161) * pdftexconfig.tex: Specially-recognized files. (line 34) -* permission denied: Searching overview. (line 56) +* permission denied: Searching overview. (line 63) * permissions, directory: Security. (line 51) * permissions, file: Security. (line 47) * PKFONTS: Supported file formats. @@ -3393,17 +3584,19 @@ Index (line 169) * pxp Pascal preprocessor: History. (line 12) * quoting variable values: Variable expansion. (line 17) +* rationale for casefolding fallback: Casefolding rationale. + (line 6) * re-entrant API: Programming overview. (line 16) * readable: Suppressing warnings. (line 26) * reading arbitrary-length lines: Calling sequence. (line 110) * recording successful searches: Logging. (line 6) -* relative filenames: Searching overview. (line 52) +* relative filenames: Searching overview. (line 58) * reporting bugs: Reporting bugs. (line 6) * resident.c: Calling sequence. (line 47) * resolution, setting: Path searching options. - (line 17) + (line 24) * resolutions, last-resort: Fallback font. (line 6) * retrieving TeX: unixtex.ftp. (line 6) * right-hand side of variable assignments: Config files. (line 56) @@ -3416,6 +3609,7 @@ Index * Sauter fonts, and dynamic source creation: mktex scripts. (line 6) * scripts for file creation: mktex scripts. (line 6) * search path, defined: Searching overview. (line 6) +* search, case-insensitive: Casefolding search. (line 6) * searching for files: File lookup. (line 6) * searching for glyphs: Glyph lookup. (line 6) * searching overview: Searching overview. (line 6) @@ -3458,7 +3652,7 @@ Index * subdirectory searching: Subdirectory expansion. (line 6) * suffixes, filename: File lookup. (line 24) -* suggestions, making: Introduction. (line 28) +* suggestions, making: Introduction. (line 29) * Sun 2: History. (line 12) * supplier directory, omitting: mktex configuration. (line 102) * supplier directory, omitting <1>: mktex configuration. (line 108) @@ -3472,6 +3666,8 @@ Index * symlinks, resolving: Calling sequence. (line 31) * system C compiler bugs: TeX or Metafont failing. (line 19) +* system-dependent casefolding behavior: Casefolding rationale. + (line 6) * T1FONTS: Supported file formats. (line 211) * T1INPUTS: Supported file formats. @@ -3491,13 +3687,13 @@ Index * TeX file lookup: File lookup. (line 6) * TeX glyph lookup: Glyph lookup. (line 6) * TeX support: TeX support. (line 6) -* TeX Users Group: Introduction. (line 40) +* TeX Users Group: Introduction. (line 43) * tex-file.c: File lookup. (line 38) * tex-file.h: Programming overview. - (line 24) + (line 26) * tex-glyph.c: Glyph lookup. (line 26) * tex-glyph.h: Programming overview. - (line 24) + (line 26) * tex-k@tug.org: Mailing lists. (line 6) * tex-k@tug.org (bug address): Reporting bugs. (line 6) * tex.web: unixtex.ftp. (line 19) @@ -3554,6 +3750,7 @@ Index (line 191) * texmfvar: mktex configuration. (line 122) * TEXMFVAR: mktex configuration. (line 123) +* texmf_casefold_search: Casefolding search. (line 12) * TEXPICTS: Supported file formats. (line 79) * TEXPKS: Supported file formats. @@ -3567,7 +3764,7 @@ Index * TEXSIZES: Fallback font. (line 6) * TEXSOURCES: Supported file formats. (line 188) -* TEX_HUSH: Searching overview. (line 56) +* TEX_HUSH: Searching overview. (line 63) * TEX_HUSH <1>: Suppressing warnings. (line 6) * TFMFONTS: Supported file formats. @@ -3599,7 +3796,7 @@ Index (line 31) * unreadable file warnings: Suppressing warnings. (line 27) -* unreadable files: Searching overview. (line 56) +* unreadable files: Searching overview. (line 63) * unusable ls-R warning: ls-R. (line 45) * usage patterns, finding: Logging. (line 6) * USERPROFILE, as ~ expansion: Tilde expansion. (line 6) @@ -3620,7 +3817,7 @@ Index * Walsh, Norman: History. (line 56) * warning about unusable ls-R: ls-R. (line 45) * warning, about missing texmf.cnf: Config files. (line 18) -* warnings, file access: Searching overview. (line 56) +* warnings, file access: Searching overview. (line 63) * warnings, suppressing: Suppressing warnings. (line 6) * WEB2C: Supported file formats. @@ -3631,6 +3828,8 @@ Index * whitespace, in fontmap files: Fontmap. (line 31) * whitespace, not ignored on continuation lines: Config files. (line 37) +* Windows and casefolding: Casefolding rationale. + (line 21) * www.tug.org: unixtex.ftp. (line 6) * XDvi: Specially-recognized files. (line 41) @@ -3644,58 +3843,61 @@ Index Tag Table: Node: Top1480 -Node: Introduction2259 -Node: History4204 -Node: unixtex.ftp8801 -Node: Security10226 -Node: TeX directory structure12730 -Node: Path searching16778 -Node: Searching overview17436 -Node: Path sources20831 -Node: Config files21889 -Node: Path expansion25816 -Node: Default expansion26765 -Node: Variable expansion28835 -Node: Tilde expansion30236 -Node: Brace expansion31216 -Node: KPSE_DOT expansion32141 -Node: Subdirectory expansion32654 -Node: Filename database35008 -Node: ls-R36062 -Node: Filename aliases38957 -Node: Database format40135 -Node: Invoking kpsewhich41148 -Node: Path searching options42103 -Node: Specially-recognized files50023 -Node: Auxiliary tasks51378 -Node: Standard options53717 -Node: TeX support54073 -Node: Supported file formats55425 -Node: File lookup63090 -Node: Glyph lookup64839 -Node: Basic glyph lookup65963 -Node: Fontmap66843 -Node: Fallback font69372 -Node: Suppressing warnings70284 -Node: mktex scripts71411 -Node: mktex configuration72626 -Node: mktex script names78429 -Node: mktex script arguments79815 -Node: Programming80694 -Node: Programming overview81216 -Node: Calling sequence83913 -Node: Program-specific files90445 -Node: Programming with config files91468 -Node: Reporting bugs92780 -Node: Bug checklist93458 -Node: Mailing lists96930 -Node: Debugging97605 -Node: Logging102682 -Node: Common problems104549 -Node: Unable to find files105026 -Node: Slow path searching107436 -Node: Unable to generate fonts108811 -Node: TeX or Metafont failing111282 -Node: Index112635 +Node: Introduction2263 +Node: History4336 +Node: unixtex.ftp8932 +Node: Security10357 +Node: TeX directory structure12861 +Node: Path searching16909 +Node: Searching overview17636 +Node: Path sources21455 +Node: Config files22546 +Node: Path expansion26473 +Node: Default expansion27426 +Node: Variable expansion29496 +Node: Tilde expansion30897 +Node: Brace expansion31877 +Node: KPSE_DOT expansion32802 +Node: Subdirectory expansion33315 +Node: Casefolding search35669 +Node: Casefolding rationale36438 +Node: Casefolding examples37777 +Node: Filename database42827 +Node: ls-R43885 +Node: Filename aliases46780 +Node: Database format47958 +Node: Invoking kpsewhich48971 +Node: Path searching options49926 +Node: Specially-recognized files58128 +Node: Auxiliary tasks59483 +Node: Standard options61822 +Node: TeX support62178 +Node: Supported file formats63532 +Node: File lookup71197 +Node: Glyph lookup72946 +Node: Basic glyph lookup74070 +Node: Fontmap74950 +Node: Fallback font77479 +Node: Suppressing warnings78391 +Node: mktex scripts79518 +Node: mktex configuration80733 +Node: mktex script names86536 +Node: mktex script arguments87922 +Node: Programming88801 +Node: Programming overview89374 +Node: Calling sequence92235 +Node: Program-specific files98767 +Node: Programming with config files99790 +Node: Reporting bugs101102 +Node: Bug checklist101780 +Node: Mailing lists105252 +Node: Debugging105927 +Node: Logging111004 +Node: Common problems112871 +Node: Unable to find files113348 +Node: Slow path searching115758 +Node: Unable to generate fonts117133 +Node: TeX or Metafont failing119604 +Node: Index120957 End Tag Table diff --git a/source/texk/kpathsea/doc/kpathsea.texi b/source/texk/kpathsea/doc/kpathsea.texi index 47201531e..b4bab017c 100644 --- a/source/texk/kpathsea/doc/kpathsea.texi +++ b/source/texk/kpathsea/doc/kpathsea.texi @@ -2,13 +2,13 @@ @setfilename kpathsea.info @settitle Kpathsea: A library for path searching -@set version 6.2.4 -@set month-year June 2017 +@set version 6.3.0 +@set month-year February 2018 @copying This file documents the Kpathsea library for path searching. -Copyright @copyright{} 1996--2017 Karl Berry & Olaf Weber. +Copyright @copyright{} 1996--2018 Karl Berry & Olaf Weber. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are @@ -129,12 +129,12 @@ this library: @item Xdvik (see the @samp{xdvi} man page) @end itemize -@noindent Other software that we do not maintain also uses it. +@noindent Other software that we do not maintain also uses it. Kpathsea is now maintained as part of the @TeX{} Live distribution -(@url{http://tug.org/texlive}). For information on configuration, -building, installing, and more, @pxref{,,,tlbuild, Building @TeX{} -Live}. +(@url{http://tug.org/texlive}), which includes several more +Kpathsea-using programs. For information on configuration, building, +installing, and more, @pxref{,,,tlbuild, Building @TeX{} Live}. @cindex interface, not frozen @cindex comments, making @@ -146,13 +146,14 @@ suggestions, please send along (@pxref{Reporting bugs}). @cindex license for using the library @cindex GNU General Public License The Kpathsea library is distributed under the GNU Library General -Public License (LGPL). In short, this means if you write a program -using the library, you must (offer to) distribute the source to the -library, along with any changes you have made, and allow anyone to -modify the library source and distribute their modifications. It does -not mean you have to distribute the source to your program, although -we hope you will. See accompanying files for the text of the GNU -licenses, or @url{http://www.gnu.org/licenses}. +Public License (LGPL), version@tie{}2.1 or (at your option) any later +version. In short, this means if you write a program using the +library, you must (offer to) distribute the source to the library, +along with any changes you have made, and allow anyone to modify the +library source and distribute their modifications. It does not mean +you have to distribute the source to your program using the library, +although we hope you will. See accompanying files for the text of the +GNU licenses, or @url{http2://www.gnu.org/licenses}. @cindex @TeX{} Users Group If you know enough about @TeX{} to be reading this manual, then you (or @@ -160,7 +161,7 @@ your institution) should consider joining the @TeX{} Users Group (if you're already a member, thanks!). TUG produces the periodical @cite{TUGboat}, sponsors an annual meeting and publishes the proceedings, and arranges courses on @TeX{} for all levels of users -throughout the world. See @url{http://tug.org} for information. +throughout the world. See @url{https://tug.org} for information. @menu * History:: @@ -261,14 +262,14 @@ part of the burden, and I volunteered. @cindex Hoekwater, Taco @cindex Breitenlohner, Peter [Karl writes again.] Indeed, time goes on. As of 2006 or so, Olaf's -available time for Kpathsea became rather reduced, and I started -taking overall care of it again, although I did not do any significant -new development. In 2009, Taco Hoekwater made a major rearrangement -to make the library suitable for use within the MetaPost library -(@pxref{Programming overview}). Also, for some years now, Peter -Breitenlohner has made many improvements to the infrastructure and -kept up-to-date with respect to the overall @TeX{} Live build, where -Kpathsea is now maintained. +available time for Kpathsea was reduced, and I started taking overall +care of it again, although I did not do any significant new +development. In 2009, Taco Hoekwater implemented a major +rearrangement to make the library suitable for use within the MetaPost +library (@pxref{Programming overview}). Also, for some years now, +Peter Breitenlohner has made many improvements to the infrastructure +and kept it up-to-date with respect to the overall @TeX{} Live build, +where Kpathsea is now maintained. @c emacs-page separate file so we can easily generate unixtex.ftp. @@ -448,6 +449,7 @@ provides. For information about searching for particular file types * Searching overview:: Basic scheme for searching. * Path sources:: Where search paths can be defined. * Path expansion:: Special constructs in search paths. +* Casefolding search:: Fallback to case-insensitive search. * Filename database:: Using an externally-built list to search. * Invoking kpsewhich:: Standalone path lookup. @end menu @@ -506,11 +508,18 @@ be wrong to search the disk for them. Therefore, if you fail to update @file{ls-R} when you install a new VF file, it will not be found. -Each path element is checked in turn: first the database, then the disk. -If a match is found, the search stops and the result is returned. This +Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned (unless the search explicitly requested all matches). This avoids possibly-expensive processing of path specifications that are -never needed on a particular run. (Unless the search explicitly -requested all matches.) +never needed on a particular run. + +On Unix-like systems, if no match is found by any of the above, and +the path element allows checking the filesystem (per the above), a +final check is made for a case-insensitive match. Thus, looking for a +name like @samp{./FooBar.TeX} will match a file @samp{./foobar.tex}, +and vice versa. This is not done on Windows. @xref{Casefolding +search}. @cindex expansion, path element Although the simplest and most common path element is a directory name, @@ -528,7 +537,8 @@ order as the sections. @cindex filenames, absolute or explicitly relative Exception to all of the above: If the filename being searched for is absolute or explicitly relative, i.e., starts with @samp{/} or @samp{./} -or @samp{../}, Kpathsea simply checks if that file exists. +or @samp{../}, Kpathsea simply checks if that file exists, with a +fallback to a casefolding match if needed and enabled, as described above. @cindex permission denied @cindex unreadable files @@ -555,8 +565,8 @@ lookup}, and @ref{Glyph lookup}). @cindex path sources @cindex sources for search paths -A search path can come from many sources. In the order in which -Kpathsea uses them: +A search path or other configuration value can come from many sources. +In the order in which Kpathsea looks for them: @enumerate @item @@ -726,8 +736,9 @@ Kpathsea recognizes certain special characters and constructions in search paths, similar to that in shells. As a general example: @samp{~$USER/@{foo,bar@}//baz} expands to all subdirectories under directories @file{foo} and @file{bar} in @t{$USER}'s home directory that -contain a directory or file @file{baz}. These expansions are explained -in the sections below. +contain a directory or file @file{baz}. + +These expansions are explained in the sections below. @menu * Default expansion:: a: or :a or a::b expands to a default. @@ -1007,6 +1018,178 @@ Subdirectory expansion is implemented in the source file @file{kpathsea/elt-dirs.c}. +@node Casefolding search +@section Casefolding search + +@cindex casefolding search +@cindex search, case-insensitive + +In Kpathsea version 6.3.0 (released with @TeX{} Live 2018), a new +fallback search was implemented on Unix-like systems, including Macs: +for each path element in turn, if no match is found by the normal +search, and the path element allows for checking the filesystem, a +second check is made for a case-insensitive match. + +@vindex texmf_casefold_search +This is enabled at compile-time on Unix systems, and enabled at +runtime by setting the configuration variable +@code{texmf_casefold_search}, to a true value, e.g., @samp{1}; this is +done by default in @TeX{} Live. + +@menu +* Rationale: Casefolding rationale. +* Examples: Casefolding examples. +@end menu + +@node Casefolding rationale +@subsection Casefolding rationale + +@cindex casefolding fallback rationale +@cindex rationale for casefolding fallback +@cindex system-dependent casefolding behavior + +@cindex filesystem, case-(in)sensitive +@cindex Apple filesystem, case-insensitive +@cindex Mac filesystem, case-insensitive +The purpose of the fallback casefolding search is to ease moving +complex documents between case-insensitive (file)systems and +case-sensitive ones. In particular, Apple decided to make the default +filesystem on Macs be case-insensitive some years ago, and this has +exacerbated a problem of people creating documents that use, say, an +image under the name @file{foo.jpg}, while the actual file is named +@file{foo.JPG} or @file{Foo.jpg}. It works on the Mac but if the +document is transferred and run on a standard case-sensitive Unix +(file)system, the file can't be found, due only to differences in +case. + +This same problematic scenario has always existed on Windows, but for +whatever reason, it has become much more common since Apple also went +to a case-insensitive filesystem. Hence the move to change the +Kpathsea behavior now. + +@cindex Windows and casefolding +The fallback case-insensitive search is omitted at compile-time on +Windows, where (for practical purposes) all file names are +case-insensitive at the kernel level, and so the normal search will +already have definitively matched or not. Therefore, search results +in unusual cases can be different on Windows and Unix---but this has +always been true. + + +@node Casefolding examples +@subsection Casefolding examples + +@cindex casefolding examples +@cindex examples, of casefolding searches + +The casefolding implementation prefers exact matches to casefolded +matches within a given path element, so as to retain most +compatibility. Backward compatibility is not perfect, however, as a +casefolded match may be found in an earlier path element than an exact +match was previously found (see example #4 below). Still, preferring +the match in the earlier element seemed potentially less confusing +than otherwise, and is in fact consistent with past behavior on +Windows. Since case mismatches are rare to begin with, and name +collisions with respect only to case thus even more rare, the hope is +that it will not cause difficulties in practice. + +If it's desirable in a given situation to have the exact same search +behavior as previously, that can be accomplished by setting the +configuration variable @code{texmf_casefold_search} to @samp{0} +(@pxref{Path sources}). + +Some examples to illustrate the new behavior follow. + +Example #1: suppose the file @file{./foobar.tex} exists. Now, +searching for @file{./FooBar.TeX} (or any other case variation) will +succeed, returning @file{./foobar.tex}---the name as stored on disk. +In previous releases, or if @code{texmf_casefold_search} is false, the +search would fail. + +Example #2: suppose we are using a case-sensitive (file)system, and +the search path is @samp{.:/somedir}, and the files +@file{./foobar.tex} and @file{/somedir/FooBar.TeX} both exist. Both +now and previously, searching for @file{foobar.tex} returns +@file{./foobar.tex}. However, searching for @file{FooBar.TeX} now +returns @file{./foobar.tex} instead of @file{/somedir/FooBar.TeX}; +this is the incompatibility mentioned above. Also (as expected), +searching for @file{FOOBAR.TEX} (or whatever variation) will now +return @file{./foobar.tex}, whereas before it would fail. Searching +for all (@samp{kpsewhich --all}) @file{foobar.tex} will return both +matches. + +Example #3: same as example #2, but on a case-insensitive +(file)system: both now and previously, searching for @file{FooBar.TeX} +returns @file{./foobar.tex}, since the system considers that a match. +The Kpathsea casefolding never comes into play. + +Example #4: if we have (on a case-sensitive system) both +@file{./foobar.tex} and @file{./FOOBAR.TEX}, searching with the exact +case returns that exact match, now and previously. Searching for +@file{FooBar.tex} will now return one or the other (chosen +arbitrarily), rather than failing. Perhaps unexpectedly, searching +for all @file{foobar.tex} or @file{FooBar.tex} will also return only +one or the other, not both (see more below). + +Example #5: the font file @file{STIX-Regular.otf} is included in +@TeX{} Live in the system directory +@file{texmf-dist/fonts/opentype/public/stix}. Because Kpathsea never +searches the disk in the big system directory, the casefolding is not +done, and a search for @samp{stix-regular.otf} will fail (on +case-sensitive systems), as it always has. + +The caveat about not searching the disk amounts to saying that +casefolding does not happen in the trees specified with @samp{!!} +(@pxref{ls-R}), that is, where only database (@file{ls-R}) searching +is done. In @TeX{} Live, that is the @samp{texmf-local} and +@samp{texmf-dist} trees (also @code{$TEXMFSYSCONFIG} and +@code{$TEXMFSYSVAR}, but those are rarely noticed). The rationale for +this is that in practice, case mangling happens with user-created +files, not with packages distributed as part of the @TeX{} system. + +One more caveat: the purpose of @code{kpsewhich} is to exercise the +path searching in Kpathsea as it is actually done. Therefore, as +shown above, @samp{kpsewhich --all} will not return all matches +regardless of case within a given path element. If you want to find +all matches in all directories, @code{find} is the best tool, although +the setup takes a couple steps: + +@example +kpsewhich -show-path=tex >/tmp/texpath # search path specification +kpsewhich -expand-path="`cat /tmp/texpath`" >/tmp/texdirs # all dirs +tr ':' '\n' </tmp/texdirs >/tmp/texdirlist # colons to newlines +find `cat /tmp/texdirlist` -iname somefile.tex -print </tmp/texdirlist +@end example + +@cindex Findutils, GNU package +@opindex -iname@r{, find predicate} +Sorry that it's annoyingly lengthy, but implementing this inside +Kpathsea would be a lot of error-prone trouble for something that is +only useful for debugging. If your @code{find} does not support +@code{-iname}, you can get GNU Find from +@url{https://www.gnu.org/software/findutils}. + +The casefolding search is implemented in the source file +@file{kpathsea/pathsearch.c}. Two implementation points: + +@itemize +@findex access @r{system call} +@item +Kpathsea never tries to check if a given directory resides on a +case-insensitive filesystem, because there is no efficient and +portable way to do so. All it does is try to see if a potential file +name is a readable normal file (with, usually, the @code{access} +system call). + +@item +Kpathsea does not do any case-insensitive matching of the directories +along the path. It's not going to find @file{/Some/Random/file.tex} +when looking for @file{/some/random/file.tex}. The casefolding only +happens with the elements of the leaf directory. + +@end itemize + + @node Filename database @section Filename database (@code{ls-R}) @@ -1255,6 +1438,14 @@ Various options alter the path searching behavior: Report all matches found, one per line. By default, if there is more than one match, just one will be reported (chosen effectively at random). +@item --casefold-search +@itemx --no-casefold-search +@opindex --casefold-search +@opindex --no-casefold-search +Explicitly enable or disable the fallback to a case-insensitive search +on Unix platforms (@pxref{Casefolding search}); no effect on Windows. +The default is the same as the system setup, which is (by default) enabled. + @item --dpi=@var{num} @opindex --dpi=@var{num} @opindex -D @var{num} @@ -1659,22 +1850,23 @@ successfully. @cindex @TeX{} support -Although the basic features in Kpathsea can be used for any type of path -searching, it came about (like all libraries) with a specific -application in mind: I wrote Kpathsea specifically for @TeX{} system -programs. I had been struggling with the programs I was using (Dvips, -Xdvi, and @TeX{} itself) having slightly different notions of how to -specify paths; and debugging was painful, since no code was shared. +Although the basic features in Kpathsea can be used for any type of +path searching, it came about, as usual, with a specific application +in mind: I wrote Kpathsea specifically for @TeX{} system programs. I +had been struggling with the programs I was using (Dvips, Xdvi, and +@TeX{} itself) having slightly different notions of how to specify +paths; and debugging was painful, since no code was shared. -Therefore, Kpathsea provides some @TeX{}-specific formats and features. -Indeed, many of the supposedly generic path searching features were -provided because they seemed useful in that con@TeX{}t (font lookup, -particularly). +Therefore, Kpathsea provides some @TeX{}-specific formats and +features. Indeed, many of the purportedly generic path searching +features were provided because they seemed useful in that con@TeX{}t +(font lookup, particularly). Kpathsea provides a standard way to search for files of any of the -supported file types; glyph fonts are a bit different than all the rest. -Searches are based solely on filenames, not file contents---if a GF -file is named @file{cmr10.600pk}, it will be found as a PK file. +supported file types; glyph fonts are a bit different than all the +rest. Searches are based solely on names of files, not their +contents---if a GF file is (mis)named @file{cmr10.600pk}, it will be +found as a PK file. @menu * Supported file formats:: File types Kpathsea knows about. @@ -2756,12 +2948,12 @@ script. @end table - @node Programming @chapter Programming This chapter is for programmers who wish to use Kpathsea. -@xref{Introduction}, for the conditions under which you may do so. +@xref{Introduction}, for the conditions under which you may do so (in +short, it is released under LGPLv2.1 or later). @menu * Overview: Programming overview. Introduction. @@ -2778,24 +2970,26 @@ This chapter is for programmers who wish to use Kpathsea. @cindex overview of programming with Kpathsea Aside from this manual, your best source of information is the source -to the programs that use Kpathsea (@pxref{Introduction}). Of those, -Dviljk is probably the simplest, and hence a good place to start. -Xdvik adds VF support and the complication of X resources. Dvipsk -adds the complication of its own config files. Web2c is source code I -also maintain, so it uses Kpathsea rather straightforwardly, but is of -course complicated by the Web to C translation. Finally, Kpsewhich is -a small utility program whose sole purpose is to exercise the main -path-searching functionality. +to the programs that use Kpathsea (@pxref{Introduction}). First, +Kpsewhich is a small utility program whose sole purpose is to exercise +the main path-searching functionality. Of the drivers, Dviljk is +probably the simplest full application program. Xdvik adds VF support +and the complication of X resources. Dvipsk adds the complication of +its own config files. Web2c is source code I also maintain, so it +uses Kpathsea rather straightforwardly, but is of course complicated +by the Web to C translation. @cindex re-entrant API @cindex API, re-entrant When looking at these program sources, you should know that previous -versions of the library had a different programming interface, to -support re-entrancy. In that interface the library function names -were prefixed with @code{kpse_} instead of @code{kpathsea_}, and they -did not need an instance variable as first argument. This change was -made in 2009. Some of the programs mentioned above may still be using -the previous interface. +versions of the library had a different programming interface; the +current interface supports re-entrancy. Historically, the library +function names were prefixed with @code{kpse_} instead of +@code{kpathsea_}, and they did not need an instance variable as first +argument. This change was made in 2009. The old functions will never +disappear, and can reliably continue to be used when they suffice, as +they do for the programs above. The main application using the +re-entrant API is the MetaPost library used by MetaPost and Lua@TeX{}. @flindex pathsearch.h @flindex tex-file.h diff --git a/source/texk/kpathsea/kpsewhich.c b/source/texk/kpathsea/kpsewhich.c index 41862d7ba..0cacaba5d 100644 --- a/source/texk/kpathsea/kpsewhich.c +++ b/source/texk/kpathsea/kpsewhich.c @@ -355,7 +355,9 @@ subdir_match (str_list_type subdirs, string *matches) #endif /* WIN32 */ -/* Look up a single filename NAME. Return 0 if success, 1 if failure. */ +/* Look up a single filename NAME, filtering by given subdirectories if + -subdir was specified. Print all matches if global `show_all' is + true, else just the first match. Return 0 if success, 1 if failure. */ static unsigned lookup (kpathsea kpse, string name) @@ -463,6 +465,7 @@ to also use -engine, or nothing will be returned; in particular,\n\ -engine=/ will return matching format files for any engine.\n\ \n\ -all output all matches, one per line.\n\ +[-no]-casefold-search fall back to case-insensitive search if no exact match.\n\ -debug=NUM set debugging flags.\n\ -D, -dpi=NUM use a base resolution of NUM; default 600.\n\ -engine=STRING set engine name to STRING.\n\ @@ -480,7 +483,7 @@ to also use -engine, or nothing will be returned; in particular,\n\ -progname=STRING set program name to STRING.\n\ -safe-in-name=STRING check if STRING is ok to open for input.\n\ -safe-out-name=STRING check if STRING is ok to open for output.\n\ --show-path=NAME output search path for file type NAME\n\ +-show-path=TYPE output search path for file type TYPE\n\ (list shown by -help-formats).\n\ -subdir=STRING only output matches whose directory ends with STRING.\n\ -var-value=STRING output the value of variable $STRING.\n\ @@ -494,7 +497,7 @@ help_message (kpathsea kpse, string *argv) fputs (USAGE, stdout); putchar ('\n'); fputs (kpathsea_bug_address, stdout); - fputs ("Kpathsea home page: http://tug.org/kpathsea/\n", stdout); + fputs ("Kpathsea home page: https://tug.org/kpathsea/\n", stdout); exit (0); } @@ -575,6 +578,7 @@ help_formats (kpathsea kpse, string *argv) static struct option long_options[] = { { "D", 1, 0, 0 }, { "all", 0, (int *) &show_all, 1 }, + { "casefold-search", 0, 0, 0 }, { "debug", 1, 0, 0 }, { "dpi", 1, 0, 0 }, { "engine", 1, 0, 0 }, @@ -589,6 +593,7 @@ static struct option long_options[] { "mode", 1, 0, 0 }, { "must-exist", 0, (int *) &must_exist, 1 }, { "path", 1, 0, 0 }, + { "no-casefold-search", 0, 0, 0 }, { "no-mktex", 1, 0, 0 }, { "progname", 1, 0, 0 }, { "safe-in-name", 1, 0, 0 }, @@ -616,7 +621,13 @@ read_command_line (kpathsea kpse, int argc, string *argv) assert (g == 0); /* We have no short option names. */ - if (ARGUMENT_IS ("debug")) { + if (ARGUMENT_IS ("casefold-search")) { + /* We can't just a boolean for casefold-search because we want to + distinguish it being set with an option vs. leaving the default + (by default). */ + xputenv ("texmf_casefold_search", "1"); + + } else if (ARGUMENT_IS ("debug")) { kpse->debug |= atoi (optarg); } else if (ARGUMENT_IS ("dpi") || ARGUMENT_IS ("D")) { @@ -650,6 +661,9 @@ read_command_line (kpathsea kpse, int argc, string *argv) } else if (ARGUMENT_IS ("mode")) { mode = optarg; + } else if (ARGUMENT_IS ("no-casefold-search")) { + xputenv ("texmf_casefold_search", "0"); + } else if (ARGUMENT_IS ("no-mktex")) { kpathsea_maketex_option (kpse, optarg, false); must_exist = 0; @@ -678,8 +692,8 @@ read_command_line (kpathsea kpse, int argc, string *argv) } else if (ARGUMENT_IS ("version")) { puts (kpathsea_version_string); - puts ("Copyright 2017 Karl Berry & Olaf Weber.\n\ -License LGPLv2.1+: GNU Lesser GPL version 2.1 or later <http://gnu.org/licenses/lgpl.html>\n\ + puts ("Copyright 2018 Karl Berry & Olaf Weber.\n\ +License LGPLv2.1+: GNU Lesser GPL version 2.1 or later <https://gnu.org/licenses/lgpl.html>\n\ This is free software: you are free to change and redistribute it.\n\ There is NO WARRANTY, to the extent permitted by law.\n"); exit (0); diff --git a/source/texk/kpathsea/lib.h b/source/texk/kpathsea/lib.h index 8c1f8e1ec..df380f654 100644 --- a/source/texk/kpathsea/lib.h +++ b/source/texk/kpathsea/lib.h @@ -122,6 +122,12 @@ extern "C" { /* If the environment variable TEST is set, return it; otherwise, DEFAULT. This is useful for paths that use more than one envvar. */ #define ENVVAR(test, default) (getenv (test) ? (test) : (default)) + +/* Return whether a kpse configuration is (some sort of) true. Check + for negation values, so a value like "2" will be true, just in case. */ +#define KPSE_CNF_P(val) \ + ((val) && *(val) && *(val) != 'f' && *(val) != '0') + /* Return a fresh copy of S1 followed by S2, et al. */ extern KPSEDLL string concat (const_string s1, const_string s2); diff --git a/source/texk/kpathsea/pathsearch.c b/source/texk/kpathsea/pathsearch.c index 24dc472b5..ad6f0cd01 100644 --- a/source/texk/kpathsea/pathsearch.c +++ b/source/texk/kpathsea/pathsearch.c @@ -27,6 +27,7 @@ #include <kpathsea/str-list.h> #include <kpathsea/str-llist.h> #include <kpathsea/variable.h> +#include <kpathsea/xopendir.h> #include <time.h> /* for `time' */ @@ -50,6 +51,23 @@ kpathsea_instance to distinguish the first search from all others. */ + +#ifdef KPSE_DEBUG +/* Print on FH elements of L surrounded by brackets, separated by spaces. */ + +static void +print_space_list (FILE *fh, string *l) +{ + fputs ("[", fh); + while (l && *l) { + fputs (*l, fh); + l++; + if (*l) + fputs (" ", fh); + } + fputs ("]", fh); +} +#endif /* KPSE_DEBUG */ /* This function is called after every search (except the first, since we definitely want to allow enabling the logging in texmf.cnf) to @@ -59,8 +77,10 @@ static void log_search (kpathsea kpse, str_list_type filenames) { if (kpse->log_opened == false) { - /* Get name from either envvar or config file. */ - string log_name = kpathsea_var_value (kpse, "TEXMFLOG"); + /* Get name from either envvar or config file. Thus, the first time + is called, for the first search, we will be opening texmf.cnf + and ls-R just to resolve the variable. */ + string log_name = kpathsea_var_value (kpse, "TEXMFLOG"); kpse->log_opened = true; if (log_name) { kpse->log_file = fopen (log_name, FOPEN_A_MODE); @@ -89,8 +109,9 @@ log_search (kpathsea kpse, str_list_type filenames) } #ifdef KPSE_DEBUG - /* And show them online, if debugging. We've already started - the debugging line in `search', where this is called, so + /* And show them online, if debugging. We've already started the + debugging line in `search' and + `kpathsea_path_search_list_generic', where this is called, so just print the filename here, don't use DEBUGF. */ if (KPATHSEA_DEBUG_P (KPSE_DEBUG_SEARCH)) { putc (' ', stderr); @@ -101,21 +122,103 @@ log_search (kpathsea kpse, str_list_type filenames) } } -/* Concatenate each element in DIRS with NAME (assume each ends with a - /, to save time). If SEARCH_ALL is false, return the first readable - regular file. Else continue to search for more. In any case, if - none, return a list containing just NULL. +/* Either casefold_readable_file or kpathsea_readable_file. We need the + type even if we don't have casefolding enabled at compile-time. */ +typedef string (*readable_file_fn_type) (kpathsea, string); + +#ifdef MONOCASE_FILENAMES +/* Don't do any of this fallback casefolding stuff on Windows. */ +#undef KPSE_CASEFOLDING_SEARCH +#else +#define KPSE_CASEFOLDING_SEARCH 1 +#endif + +#ifdef KPSE_CASEFOLDING_SEARCH + +/* Same as kpathsea_readable_file (readable.c), but check + case-insensitively on the last file name component. We return the + first match (in new memory), or NULL. In practice this is always + called after checking the filename as-is, so there's no use in + continuing to look for an exact match. The KPSE arg is only passed + to kpathsea_readable_file if we have a candidate match. + + Clearly we could do some caching here, but let's see if it's actually + necessary, given all the other levels of caching (disk, memory, cpu) + that are going on these days. */ + +static string +casefold_readable_file (kpathsea kpse, string name) +{ + string ret = NULL; + const_string this_base_name = xbasename (name); + string this_dir_name = xdirname (name); + DIR *thisdir = opendir (this_dir_name); + +#ifdef KPSE_DEBUG + if (KPATHSEA_DEBUG_P (KPSE_DEBUG_SEARCH)) { + DEBUGF2 (" casefold_readable_file(%s) in %s => ", + this_base_name, this_dir_name); + } +#endif + + /* We can be called with a name like `subdir/somefile', where subdir/ + does not exist. So the opendir might fail, and that's ok. */ + if (thisdir) { + struct dirent *e; + + while ((e = readdir (thisdir)) != NULL) { + /* The standard strcasecmp seems like enough for the comparison? */ + if (strcasecmp (e->d_name, this_base_name) == 0) { + ret = concat3 (this_dir_name, DIR_SEP_STRING, e->d_name); + if (kpathsea_readable_file (kpse, ret)) { + break; /* success */ + } else { + /* This only happens the name matches, but the potential file is + not actually readable, e.g., a broken symlink. It seems + sufficiently unusual to be worth logging. */ + #ifdef KPSE_DEBUG + if (KPATHSEA_DEBUG_P (KPSE_DEBUG_SEARCH)) { + fprintf (stderr, "{casefolded candidate %s not readable, continuing}",ret); + } + #endif + free (ret); /* not readable, keep looking */ + ret = NULL; + } + } + } /* end of readdir loop */ + xclosedir (thisdir); + } + free (this_dir_name); + + if (KPATHSEA_DEBUG_P (KPSE_DEBUG_SEARCH)) { + fputs (ret ? ret : "(nil)", stderr); + fputc ('\n', stderr); + } + return ret; +} +#endif /* KPSE_CASEFOLDING_SEARCH */ + +/* Return a str_list of matches in DIRS of NAME. + + Concatenate each element in DIRS with NAME, assuming each ends with /. + If SEARCH_ALL is false, return a list containing just the first + readable (according to the READABLE_FILE_P function) regular file. + Else continue to search and return them all. In any case, if none, + return a list containing just NULL. + + DIRS is modified only in that the directory where a search matches is + floated toward the top of the list. We keep a single buffer for the potential filenames and reallocate only when necessary. I'm not sure it's noticeably faster, but it does seem cleaner. (We do waste a bit of space in the return - value, though, since we don't shrink it to the final size returned.) */ + value, since we don't shrink it to the final size returned.) */ #define INIT_ALLOC 75 /* Doesn't much matter what this number is. */ static str_list_type -dir_list_search (kpathsea kpse, str_llist_type *dirs, const_string name, - boolean search_all) +dir_list_search (kpathsea kpse, str_llist_type *dirs, const_string name, + boolean search_all, readable_file_fn_type readable_file_p) { str_llist_elt_type *elt; str_llist_elt_type *next_elt; @@ -124,9 +227,23 @@ dir_list_search (kpathsea kpse, str_llist_type *dirs, const_string name, unsigned allocated = INIT_ALLOC; string potential = (string) xmalloc (allocated); +#ifdef KPSE_DEBUG + if (KPATHSEA_DEBUG_P (KPSE_DEBUG_SEARCH)) { + const_string casefold = +#ifdef KPSE_CASEFOLDING_SEARCH + (readable_file_p == casefold_readable_file) ? "yes" : "no"; +#else + "No"; +#endif + DEBUGF3 (" dir_list_search(file=%s, find_all=%d, casefold=%s)\n", + name, search_all, casefold); + } +#endif + ret = str_list_init (); for (elt = *dirs; elt; elt = next_elt) { + string readable_name; const_string dir = STR_LLIST (*elt); unsigned dir_len = strlen (dir); @@ -136,12 +253,12 @@ dir_list_search (kpathsea kpse, str_llist_type *dirs, const_string name, allocated += allocated; XRETALLOC (potential, allocated, char); } - strcpy (potential, dir); strcat (potential, name); - if (kpathsea_readable_file (kpse, potential)) { - str_list_add (&ret, potential); + readable_name = readable_file_p (kpse, potential); + if (readable_name) { + str_list_add (&ret, readable_name); /* Move this element towards the top of the list. */ str_llist_float (dirs, elt); @@ -165,11 +282,16 @@ dir_list_search (kpathsea kpse, str_llist_type *dirs, const_string name, return ret; } -/* Note: NAMES[i] is not modified. */ +/* This is analogous to dir_list_search above, except we search for + multiple NAMES instead of one (unfortunately the code is duplicated). + Absolute or explicitly relative items in NAMES are ignored; the + caller (kpathsea_path_search_list_generic) deals with those + separately. NAMES[i] is not modified. */ + static str_list_type dir_list_search_list (kpathsea kpse, str_llist_type *dirs, string* names, - boolean search_all) + boolean search_all, readable_file_fn_type readable_file_p) { str_llist_elt_type *elt; str_llist_elt_type *next_elt; @@ -177,12 +299,27 @@ dir_list_search_list (kpathsea kpse, str_llist_type *dirs, string* names, unsigned allocated = INIT_ALLOC; string potential = XTALLOC (allocated, char); +#ifdef KPSE_DEBUG + if (KPATHSEA_DEBUG_P (KPSE_DEBUG_SEARCH)) { + const_string casefold = +#ifdef KPSE_CASEFOLDING_SEARCH + (readable_file_p == casefold_readable_file) ? "yes" : "no"; +#else + "No"; +#endif + DEBUGF (" dir_list_search_list(files="); + print_space_list (stderr, names); + fprintf (stderr, ", find_all=%d, casefold=%s)\n", search_all, casefold); + } +#endif + ret = str_list_init (); for (elt = *dirs; elt; elt = next_elt) { + int i; + string readable_name; const_string dir = STR_LLIST (*elt); unsigned dir_len = strlen (dir); - int i; next_elt = STR_LLIST_NEXT (*elt); /* in case elt floats */ @@ -202,10 +339,10 @@ dir_list_search_list (kpathsea kpse, str_llist_type *dirs, string* names, } strcpy (potential, dir); - strcat (potential+dir_len, name); - - if (kpathsea_readable_file (kpse, potential)) { - str_list_add (&ret, potential); + strcat (potential + dir_len, name); + readable_name = readable_file_p (kpse, potential); + if (readable_name) { + str_list_add (&ret, readable_name); /* Move this element towards the top of the list. */ str_llist_float (dirs, elt); @@ -231,40 +368,73 @@ dir_list_search_list (kpathsea kpse, str_llist_type *dirs, string* names, } /* This is called when NAME is absolute or explicitly relative; if it's - readable, return (a list containing) it; otherwise, return NULL. */ + readable, return a one-element str_list containing it (in new + memory); otherwise, return an empty list. (We return a list so as to + have the same return value as the path_search function.) We also + check case-insensitively if enabled and needed. */ static str_list_type absolute_search (kpathsea kpse, string name) { str_list_type ret_list; - string found = kpathsea_readable_file (kpse, name); + string found; /* Some old compilers can't initialize structs. */ ret_list = str_list_init (); - /* If NAME wasn't found, free the expansion. */ - if (name != found) - free (name); + /* Do the first check. */ + found = kpathsea_readable_file (kpse, name); +#ifdef KPSE_DEBUG + if (KPATHSEA_DEBUG_P (KPSE_DEBUG_SEARCH)) { + DEBUGF2 (" absolute_search(%s) => %s\n", name, found ? found : "(nil)"); + } +#endif + if (found) { + found = xstrdup (found); /* Return new memory. */ + } - /* Add `found' to the return list even if it's null; that tells - the caller we didn't find anything. */ - str_list_add (&ret_list, found); +#ifdef KPSE_CASEFOLDING_SEARCH + /* Do the casefolding search only if both needed and enabled. */ + if (!found) { + if (KPSE_CNF_P (kpathsea_var_value (kpse, "texmf_casefold_search"))) { + found = casefold_readable_file (kpse, name); +#ifdef KPSE_DEBUG + if (KPATHSEA_DEBUG_P (KPSE_DEBUG_SEARCH)) { + DEBUGF2 (" casefold search(%s) => %s\n",name,found ? found : "(nil)"); + } +#endif /* KPSE_DEBUG */ + } + } +#endif /* KPSE_CASEFOLDING_SEARCH */ + + if (found) { + /* If we didn't find anything, we'll return an empty list. */ + str_list_add (&ret_list, found); + } return ret_list; } /* This is the hard case -- look for NAME in PATH. If ALL is false, - return the first file found. Otherwise, search all elements of PATH. */ + return the first file found. Otherwise, search all elements of PATH. + We also check case-insensitively if needed and requested. */ static str_list_type -path_search (kpathsea kpse, const_string path, string name, - boolean must_exist, boolean all) +path_search (kpathsea kpse, const_string path, string name, + boolean must_exist, boolean all) { string elt; str_list_type ret_list; boolean done = false; ret_list = str_list_init (); /* some compilers lack struct initialization */ +#ifdef KPSE_DEBUG + if (KPATHSEA_DEBUG_P (KPSE_DEBUG_SEARCH)) { + DEBUGF4 (" path_search(file=%s, must_exist=%d, find_all=%d, path=%s)\n", + name, all, must_exist, path); + } +#endif + for (elt = kpathsea_path_element (kpse, path); !done && elt; elt = kpathsea_path_element (kpse, NULL)) { str_list_type *found; @@ -277,32 +447,45 @@ path_search (kpathsea kpse, const_string path, string name, elt += 2; } - /* See elt-dirs.c for side effects of this function */ + /* See elt-dirs.c for side effects of this function. */ kpathsea_normalize_path (kpse, elt); /* Try ls-R, unless we're searching for texmf.cnf. Our caller - (search), also tests first_search, and does the resetting. */ + (search), also tests followup_search, and does the resetting. */ found = kpse->followup_search ? kpathsea_db_search (kpse, name, elt, all) : NULL; /* Search the filesystem if (1) the path spec allows it, and either - (2a) we are searching for texmf.cnf ; or + (2a) we are searching for texmf.cnf; or (2b) no db exists; or (2c) no db's are relevant to this elt; or (3) MUST_EXIST && NAME was not in the db. In (2*), `found' will be NULL. In (3), `found' will be an empty list. */ - if (allow_disk_search && (!found || (must_exist && !STR_LIST (*found)))) { - str_llist_type *dirs = kpathsea_element_dirs (kpse, elt); + if (allow_disk_search + && (!found || (must_exist && !STR_LIST (*found)))) { + /* Determine the directories in which to search: */ + str_llist_type *dirs = kpathsea_element_dirs (kpse, elt); if (dirs && *dirs) { if (!found) { found = XTALLOC1 (str_list_type); } - *found = dir_list_search (kpse, dirs, name, all); + /* Search in the directories: */ + *found = dir_list_search (kpse, dirs, name, all, + kpathsea_readable_file); +#ifdef KPSE_CASEFOLDING_SEARCH + if (!STR_LIST (*found) + && KPSE_CNF_P (kpathsea_var_value (kpse, + "texmf_casefold_search"))) { + /* Nothing found; search again, case-insensitively: */ + *found = dir_list_search (kpse, dirs, name, all, + casefold_readable_file); + } +#endif /* KPSE_CASEFOLDING_SEARCH */ } } - /* Did we find anything anywhere? */ + /* Did we find anything? */ if (found && STR_LIST (*found)) { if (all) { str_list_concat (&ret_list, *found); @@ -319,10 +502,6 @@ path_search (kpathsea kpse, const_string path, string name, } } - /* Free the expanded name we were passed. It can't be in the return - list, since the path directories got unconditionally prepended. */ - free (name); - return ret_list; } @@ -332,7 +511,13 @@ path_search (kpathsea kpse, const_string path, string name, Always return a list; if no files are found, the list will contain just NULL. If ALL is true, the list will be - terminated with NULL. */ + terminated with NULL. + + This function is a special case of kpathsea_path_search_list_generic + below (which takes a list of names, instead of a single name, to + search for), and so should be rewritten to call it. But this + function came first, and life is short, so the code duplication + is here. Sorry. Please fix. */ static string * search (kpathsea kpse, const_string path, const_string original_name, @@ -367,16 +552,16 @@ search (kpathsea kpse, const_string path, const_string original_name, /* Make a leading ~ count as an absolute filename, and expand $FOO's. */ name = kpathsea_expand (kpse, original_name); - /* If the first name is absolute or explicitly relative, no need to - consider PATH at all. */ - absolute_p = kpathsea_absolute_p (kpse, name, true); - #ifdef KPSE_DEBUG if (KPATHSEA_DEBUG_P (KPSE_DEBUG_SEARCH)) - DEBUGF4 ("start search(file=%s, must_exist=%d, find_all=%d, path=%s).\n", + DEBUGF4 ("start search(xname=%s, must_exist=%d, find_all=%d, path=%s).\n", name, must_exist, all, path); #endif /* KPSE_DEBUG */ + /* If the first name is absolute or explicitly relative, no need to + consider PATH at all. */ + absolute_p = kpathsea_absolute_p (kpse, name, true); + /* Find the file(s). */ ret_list = absolute_p ? absolute_search (kpse, name) : path_search (kpse, path, name, must_exist, all); @@ -396,7 +581,7 @@ search (kpathsea kpse, const_string path, const_string original_name, debugging line if we're doing that. */ #ifdef KPSE_DEBUG if (KPATHSEA_DEBUG_P (KPSE_DEBUG_SEARCH)) - DEBUGF1 ("search(%s) =>", original_name); + DEBUGF1 ("returning from search(%s) =>", original_name); #endif /* KPSE_DEBUG */ log_search (kpse, ret_list); #ifdef KPSE_DEBUG @@ -410,12 +595,17 @@ search (kpathsea kpse, const_string path, const_string original_name, _djstat_flags = save_djgpp_flags; #endif + /* Free the expanded name we were passed. It can't be in the return + list, since the path directories got unconditionally prepended. */ + free (name); + return STR_LIST (ret_list); } -/* Search PATH for NAMES. Always return a list; if no files are found, - the list will contain just NULL. If ALL is true, the list will be - terminated with NULL. */ +/* Search PATH for null-terminated array of NAMES. Always return a list; + if no files are found, the list will contain just NULL. If ALL is + true, the list will be terminated with NULL (but no NULL terminator + if ALL is false). This is a generalization of the `search' fn above. */ string * kpathsea_path_search_list_generic (kpathsea kpse, @@ -439,27 +629,26 @@ kpathsea_path_search_list_generic (kpathsea kpse, #ifdef KPSE_DEBUG if (KPATHSEA_DEBUG_P (KPSE_DEBUG_SEARCH)) { - DEBUGF1 ("start search(files=[%s", *names); - for (namep = names+1; *namep != NULL; namep++) { - fputc (' ', stderr); - fputs (*namep, stderr); - } - fprintf (stderr, "], must_exist=%d, find_all=%d, path=%s).\n", + DEBUGF ("start generic search(files="); + print_space_list (stderr, names); + fprintf (stderr, ", must_exist=%d, find_all=%d, path=%s)\n", must_exist, all, path); } #endif /* KPSE_DEBUG */ /* kpathsea_find_file_generic in tex-file.c does the variable and - tilde expansion, so don't redo that here. Maybe we should have done - it differently originally, but we certainly don't want to create an + tilde expansion, so don't redo that here. Maybe we should have + done it differently, but we certainly don't want to create an incompatibility now. */ /* First catch any absolute or explicit relative names. */ for (namep = names; *namep; namep++) { if (kpathsea_absolute_p (kpse, *namep, true)) { - if (kpathsea_readable_file (kpse, *namep)) { - str_list_add (&ret_list, xstrdup (*namep)); - if (!all) { + str_list_type abs_ret_list = absolute_search (kpse, *namep); + /* That search can only return a zero- or one-element list, so: */ + if (!STR_LIST_EMPTY (abs_ret_list)) { + str_list_add (&ret_list, STR_LIST_FIRST_ELT (abs_ret_list)); + if (!all) { /* if they only wanted one, we're done */ goto out; } } @@ -471,41 +660,59 @@ kpathsea_path_search_list_generic (kpathsea kpse, we can skip the rest. Typically, if one name is absolute, they all are, because our caller derived them from each other. */ if (all_absolute) { +#ifdef KPSE_DEBUG + if (KPATHSEA_DEBUG_P (KPSE_DEBUG_SEARCH)) { + unsigned i; + DEBUGF (" generic search: all absolute, candidates are:"); + /* List might not be NULL-terminated, so can't use print_space_list. */ + for (i = 0; i < STR_LIST_LENGTH (ret_list); i++) { + fprintf (stderr, " %s", STR_LIST_ELT (ret_list, i)); + } + fputs (".\n", stderr); + } +#endif goto out; } - /* Look at each path element in turn. */ + /* Look at each path element in turn. This is essentially the same + code as `path_search' above, unfortunately. */ for (elt = kpathsea_path_element (kpse, path); !done && elt; elt = kpathsea_path_element (kpse, NULL)) { str_list_type *found; boolean allow_disk_search = true; + if (elt[0] == '!' && elt[1] == '!') { - /* !! magic -> disallow disk searches. */ + /* !! magic string -> disallow disk searches. */ allow_disk_search = false; elt += 2; } - /* See elt-dirs.c for side effects of this function. */ + /* See elt-dirs.c for side effects of this function. */ kpathsea_normalize_path (kpse, elt); - /* Try ls-R, unless we're searching for texmf.cnf. */ + /* Try ls-R, unless we're searching for texmf.cnf. */ found = kpse->followup_search ? kpathsea_db_search_list (kpse, names, elt, all) : NULL; - /* Search the filesystem if (1) the path spec allows it, and either - (2a) we are searching for texmf.cnf ; or - (2b) no db exists; or - (2c) no db's are relevant to this elt; or - (3) MUST_EXIST && NAME was not in the db. - In (2*), `found' will be NULL. - In (3), `found' will be an empty list. */ - if (allow_disk_search && (!found || (must_exist && !STR_LIST (*found)))) { - str_llist_type *dirs = kpathsea_element_dirs (kpse, elt); + /* Search the filesystem in the same cases as `path_search' above. */ + if (allow_disk_search + && (!found || (must_exist && !STR_LIST (*found)))) { + str_llist_type *dirs = kpathsea_element_dirs (kpse, elt); if (dirs && *dirs) { if (!found) { found = XTALLOC1 (str_list_type); } - *found = dir_list_search_list (kpse, dirs, names, all); + /* Search in the directories: */ + *found = dir_list_search_list (kpse, dirs, names, all, + kpathsea_readable_file); +#ifdef KPSE_CASEFOLDING_SEARCH + if (!STR_LIST (*found) && KPSE_CNF_P (kpathsea_var_value (kpse, + "texmf_casefold_search"))) { + /* Still nothing; search again, case-insensitively: */ + *found = dir_list_search_list (kpse, dirs, names, all, + casefold_readable_file); + } +#endif } } @@ -525,7 +732,7 @@ kpathsea_path_search_list_generic (kpathsea kpse, more than once. */ str_list_uniqify (&ret_list); - /* Add NULL if we will be returning multiple elements. */ + /* Add NULL element to terminate return list if empty or multiple. */ if (STR_LIST_EMPTY (ret_list) || (all && STR_LIST_LAST_ELT (ret_list) != NULL)) str_list_add (&ret_list, NULL); @@ -537,12 +744,9 @@ kpathsea_path_search_list_generic (kpathsea kpse, debugging line if we're doing that. */ #ifdef KPSE_DEBUG if (KPATHSEA_DEBUG_P (KPSE_DEBUG_SEARCH)) { - DEBUGF1 ("search([%s", *names); - for (namep = names+1; *namep != NULL; namep++) { - fputc (' ', stderr); - fputs (*namep, stderr); - } - fputs ("]) =>", stderr); + DEBUGF ("returning from generic search("); + print_space_list (stderr, names); + fputs (") =>", stderr); } #endif /* KPSE_DEBUG */ log_search (kpse, ret_list); @@ -578,28 +782,41 @@ kpathsea_path_search (kpathsea kpse, const_string path, const_string name, string * kpathsea_all_path_search (kpathsea kpse, const_string path, const_string name) { - string *ret = search (kpse, path, name, true, true); + string *ret = search (kpse, path, name, true, true); return ret; } #if defined (KPSE_COMPAT_API) string -kpse_path_search (const_string path, const_string name, boolean must_exist) +kpse_path_search (const_string path, const_string name, boolean must_exist) { - return kpathsea_path_search (kpse_def, path, name, must_exist); + return kpathsea_path_search (kpse_def, path, name, must_exist); } string * -kpse_all_path_search (const_string path, const_string name) +kpse_all_path_search (const_string path, const_string name) { - return kpathsea_all_path_search (kpse_def, path, name); + return kpathsea_all_path_search (kpse_def, path, name); } #endif /* KPSE_COMPAT_API */ #ifdef TEST -void +/* Each element of L on its own line, prefixed by a tab. */ + +static void +print_tab_list (string *l) +{ + while (l && *l) { + if (*l) + putchar ('\t'); + printf ("%s\n", *l); + l++; + } +} + +static void test_path_search (const_string path, const_string file) { string answer; @@ -612,40 +829,91 @@ test_path_search (const_string path, const_string file) printf ("Search %s for all %s:\t", path, file); answer_list = kpse_all_path_search (path, file); putchar ('\n'); - while (*answer_list) - { - putchar ('\t'); - puts (*answer_list); - answer_list++; - } + print_tab_list (answer_list); } -#define TEXFONTS "/usr/local/lib/tex/fonts" +static void +test_path_search_list_generic (void) +{ + const_string path = "/u/karl/.fonts"; + /* absolute: should return just console/both, because no case + sensitive match */ + // string names[] = { "/u/karl/.fonts/lucidaConsoleDK.otf", + // "/u/karl/.fonts/lucidaGrandeMonoDK.otf", NULL }; + + /* dirs: should return just grande, because case sensitive wins */ + // string names[] = { "lucidaConsoleDK.otf", "LucidaGrandeMonoDK.otf", NULL }; + + /* dirs: should return just console/both, because no case sensitive match */ + string names[] = { "lucidaConsoleDK.otf", "lucidaGrandeMonoDK.otf", NULL }; + + boolean all; + string *answer_list; + + printf ("\nGeneric search %s for ", path); + print_space_list (stdout, names); + puts (":\t"); + + all = false; answer_list + = kpathsea_path_search_list_generic (kpse_def, path, names, false, all); + puts (answer_list && *answer_list ? *answer_list : "(nil)"); + + printf ("\nGeneric search %s for all ", path); + print_space_list (stdout, names); + puts (":"); + + all = true; answer_list + = kpathsea_path_search_list_generic (kpse_def, path, names, false, all); + print_tab_list (answer_list); +} + +#define TEXFONTS "/usr/local/texlive-rel/texmf-dist/fonts" int main (int argc, char **argv) { + xputenv ("KPATHSEA_DEBUG", "-1"); /* must be before setting progname */ kpse_set_program_name (argv[0], NULL); + + xputenv ("MALLOC_CHECK_", "3"); + xputenv ("MALLOC_PERTURB_", "75"); + + xputenv ("texmf_casefold_search", "1"); + test_path_search (".:/k", "readme"); + exit (0); + test_path_search_list_generic (); + exit (0); + + xputenv ("TEXMFCNF", "/nc"); + /* casefolding with absolute search: */ + test_path_search ("/k", "/u/karl/.fonts/lucidaConsoleDK.otf"); + /* casefolding with directory search: */ + test_path_search ("/u/karl/.fonts", "Lucidaconsoledk.otf"); + /* exit (0); */ + xputenv ("texmf_casefold_search", "0"); + /* should fail since no casefolding: */ + test_path_search ("/u/karl/.fonts", "lucidaconsoledk.otf"); + /* All lists end with NULL. */ test_path_search (".", "nonexistent"); test_path_search (".", "/nonexistent"); - test_path_search ("/k" ENV_SEP_STRING ".", "kpathsea.texi"); + test_path_search ("/k" ENV_SEP_STRING ".", "README"); test_path_search ("/k" ENV_SEP_STRING ".", "/etc/fstab"); test_path_search ("." ENV_SEP_STRING TEXFONTS "//", "cmr10.tfm"); test_path_search ("." ENV_SEP_STRING TEXFONTS "//", "logo10.tfm"); test_path_search (TEXFONTS "//times" ENV_SEP_STRING "." ENV_SEP_STRING ENV_SEP_STRING, "ptmr.vf"); - test_path_search (TEXFONTS "/adobe//" ENV_SEP_STRING - "/usr/local/src/TeX+MF/typefaces//", "plcr.pfa"); + test_path_search (TEXFONTS ENV_SEP_STRING + "/u/karl/.fonts", "LucidaConsoleDK.otf"); - test_path_search ("~karl", ".bashrc"); - test_path_search ("/k", "~karl/.bashrc"); + test_path_search ("~karl", ".profile"); // nil, no ~ expansion on path + test_path_search ("/k", "~karl/.profile"); xputenv ("NONEXIST", "nonexistent"); - test_path_search (".", "$NONEXISTENT"); + test_path_search (".", "$NONEXIST"); xputenv ("KPATHSEA", "kpathsea"); - test_path_search ("/k" ENV_SEP_STRING ".", "$KPATHSEA.texi"); - test_path_search ("/k" ENV_SEP_STRING ".", "${KPATHSEA}.texi"); + test_path_search ("/k" ENV_SEP_STRING "./doc", "$KPATHSEA.texi"); + test_path_search ("/k" ENV_SEP_STRING "./doc", "${KPATHSEA}.texi"); test_path_search ("$KPATHSEA" ENV_SEP_STRING ".", "README"); test_path_search ("." ENV_SEP_STRING "$KPATHSEA", "README"); @@ -655,8 +923,10 @@ main (int argc, char **argv) #endif /* TEST */ -/* +/* ${wc} is the corresponding build directory. + -DMAKE_KPSE_DLL for inlined str_list_init etc. + Memory checking: -fsanitize=address or -lefence. Local variables: -standalone-compile-command: "gcc -posix -g -I. -I.. -DTEST pathsearch.c kpathsea.a" +standalone-compile-command: "make --no-print-dir -C ${wc} && gcc -g -I. -I.. -I${wc}/.. -DMAKE_KPSE_DLL -DTEST pathsearch.c ${wc}/.libs/libkpathsea.a && ./a.out" End: */ diff --git a/source/texk/kpathsea/tests/kpsewhich.test b/source/texk/kpathsea/tests/kpsewhich.test index 742ba4e3b..d9a712e06 100644 --- a/source/texk/kpathsea/tests/kpsewhich.test +++ b/source/texk/kpathsea/tests/kpsewhich.test @@ -1,6 +1,6 @@ #! /bin/sh -vx -# $Id: kpsewhich.test 45809 2017-11-15 00:36:56Z karl $ -# Copyright 2017 Karl Berry <tex-live@tug.org> +# $Id: kpsewhich.test 46545 2018-02-04 23:23:31Z karl $ +# Copyright 2018 Karl Berry <tex-live@tug.org> # Copyright 2010-2013 Peter Breitenlohner <tex-live@tug.org> # You may freely use, modify and/or distribute this file. @@ -8,11 +8,21 @@ TEXMFCNF=$srcdir export TEXMFCNF ./kpsewhich --var-value=TEXMFCNF || exit 1 # environment variable - ./kpsewhich --var-value=TEXMFMAIN || exit 1 - ./kpsewhich --expand-var=\$TEXMFMAIN || exit 1 +# It turns out --all and no --all go through rather different code +# in pathsearch.c, so try them both. +TEXINPUTS=$srcdir/../tests/texmf \ + ./kpsewhich --casefold-search --all Plain.TeX || exit 1 +TEXINPUTS=$srcdir/../tests/texmf \ + ./kpsewhich --casefold-search Plain.TeX || exit 1 +# +TEXINPUTS=$srcdir/../tests/texmf \ + ./kpsewhich --no-casefold-search --all Plain.TeX && exit 1 +TEXINPUTS=$srcdir/../tests/texmf \ + ./kpsewhich --no-casefold-search Plain.TeX && exit 1 + TEXINPUTS=$srcdir/../tests/texmf \ ./kpsewhich --all plain || exit 1 diff --git a/source/texk/kpathsea/tex-file.c b/source/texk/kpathsea/tex-file.c index f11753e62..626e240b8 100644 --- a/source/texk/kpathsea/tex-file.c +++ b/source/texk/kpathsea/tex-file.c @@ -1079,9 +1079,7 @@ kpathsea_find_file_generic (kpathsea kpse, const_string const_name, try_std_extension_first = kpathsea_var_value (kpse, "try_std_extension_first"); - if (has_any_suffix /* xxx && ! KPSE_CNF_VALUE_P (try_std_extension_first)*/ - && (try_std_extension_first == NULL || *try_std_extension_first == 'f' - || *try_std_extension_first == '0')) { + if (has_any_suffix && !KPSE_CNF_P (try_std_extension_first)) { target_asis_name (kpse, &target, &count, format, name, use_fontmaps, has_potential_suffix, has_any_suffix); target_suffixed_names (kpse, &target, &count, format, name, use_fontmaps, diff --git a/source/texk/kpathsea/texmf.cnf b/source/texk/kpathsea/texmf.cnf index ab81145d0..4074418d0 100644 --- a/source/texk/kpathsea/texmf.cnf +++ b/source/texk/kpathsea/texmf.cnf @@ -685,6 +685,13 @@ TEX.pmpost = eptex % given as command line option or environment variable. BIBTEX_CSFILE = 88591lat.csf +% This variable is specific to Unix, to fall back to case-insensitive +% search in non-system directories if there is no exact match. It is +% enabled by default in texmf.cnf, but not enabled by default at +% compile-time. +% +texmf_casefold_search = 1 + % This variable is specific to Windows. It must be set to 0 or 1. The % default is 0. Setting it to 1 tells the Windows script wrappers to % use an already installed Perl interpreter if one is found on the diff --git a/source/texk/kpathsea/version.ac b/source/texk/kpathsea/version.ac index c3908f6f7..3582ba2ee 100644 --- a/source/texk/kpathsea/version.ac +++ b/source/texk/kpathsea/version.ac @@ -1,5 +1,5 @@ -dnl $Id: version.ac 44643 2017-06-19 23:28:55Z karl $ -dnl Copyright 2016-2017 Karl Berry <tex-live@tug.org> +dnl $Id: version.ac 46545 2018-02-04 23:23:31Z karl $ +dnl Copyright 2016-2018 Karl Berry <tex-live@tug.org> dnl Copyright 2011-2015 Peter Breitenlohner <tex-live@tug.org> dnl dnl This file is free software; the copyright holder @@ -20,4 +20,4 @@ dnl append "dev", to distinguish binaries built between releases. dnl -------------------------------------------------------- dnl dnl this file is m4-included from configure.ac -m4_define([kpse_version], [6.2.4/dev]) +m4_define([kpse_version], [6.3.0/dev]) diff --git a/source/texk/web2c/ChangeLog b/source/texk/web2c/ChangeLog index 8c15742da..38bd2295b 100644 --- a/source/texk/web2c/ChangeLog +++ b/source/texk/web2c/ChangeLog @@ -1,3 +1,8 @@ +2018-02-03 Hironobu Yamashita <h.y.acetaminophen@gmail.com> + + * lib/texmfmp.c, texmfmp.h: XeTeX properly close input pipes. + Fixes https://sourceforge.net/p/xetex/bugs/147 + 2018-01-21 Karl Berry <karl@freefriends.org> * configure.ac <luatex>: quote [notice] so not misparsed at comma, diff --git a/source/texk/web2c/Makefile.in b/source/texk/web2c/Makefile.in index a821d4b75..4da8ef8ac 100644 --- a/source/texk/web2c/Makefile.in +++ b/source/texk/web2c/Makefile.in @@ -2372,27 +2372,28 @@ EXTRA_DIST = PROJECTS cftests cpascal.h help.h w2c/config.h \ mfluadir/mfluatrap/mfluatrap.diffs mplibdir/ChangeLog \ $(mpost_web) $(mp_tests) pmpostdir/ChangeLog $(pmpost_web) \ $(pmpost_tests) $(upmpost_tests) pmpostdir/tests/psample.mp \ - README README.old.ja Changes.old.ja $(libmplib_web) \ - $(etex_web_srcs) $(etex_ch_srcs) etexdir/ChangeLog \ - etexdir/etex_gen.tex $(etex_tests) tests/wprob.tex \ - etexdir/etrip/etrip.diffs etexdir/etrip/etrip.fot \ - etexdir/etrip/etrip.log etexdir/etrip/etrip.out \ - etexdir/etrip/etrip.pl etexdir/etrip/etrip.tex \ - etexdir/etrip/etrip.typ etexdir/etrip/etrip1.in \ - etexdir/etrip/etrip2.in etexdir/etrip/etrip3.in \ - etexdir/etrip/etripin.log etexdir/etrip/etripman.tex \ - etexdir/etrip/texmf.cnf etexdir/etrip/trip2.in \ - $(ptex_web_srcs) $(ptex_ch_srcs) ptexdir/ptex.defines \ - ptexdir/pbibtex.ch web2c/cvtbib.sed ptexdir/pdvitype.ch \ - ptexdir/ppltotf.ch ptexdir/ptftopl.ch ptexdir/COPYRIGHT \ - ptexdir/COPYRIGHT.jis ptexdir/ChangeLog ptexdir/Changes.txt \ - ptexdir/INSTALL.txt ptexdir/README.txt $(ptex_tests) \ - $(pweb_tests) ptexdir/tests/nissya_bib.aux \ + pmpostdir/README pmpostdir/README.old.ja \ + pmpostdir/Changes.old.ja $(libmplib_web) $(etex_web_srcs) \ + $(etex_ch_srcs) etexdir/ChangeLog etexdir/etex_gen.tex \ + $(etex_tests) tests/wprob.tex etexdir/etrip/etrip.diffs \ + etexdir/etrip/etrip.fot etexdir/etrip/etrip.log \ + etexdir/etrip/etrip.out etexdir/etrip/etrip.pl \ + etexdir/etrip/etrip.tex etexdir/etrip/etrip.typ \ + etexdir/etrip/etrip1.in etexdir/etrip/etrip2.in \ + etexdir/etrip/etrip3.in etexdir/etrip/etripin.log \ + etexdir/etrip/etripman.tex etexdir/etrip/texmf.cnf \ + etexdir/etrip/trip2.in $(ptex_web_srcs) $(ptex_ch_srcs) \ + ptexdir/ptex.defines ptexdir/pbibtex.ch web2c/cvtbib.sed \ + ptexdir/pdvitype.ch ptexdir/ppltotf.ch ptexdir/ptftopl.ch \ + ptexdir/COPYRIGHT ptexdir/COPYRIGHT.jis ptexdir/ChangeLog \ + ptexdir/Changes.txt ptexdir/INSTALL.txt ptexdir/README.txt \ + $(ptex_tests) $(pweb_tests) ptexdir/tests/nissya_bib.aux \ ptexdir/tests/nissya.bst ptexdir/tests/sample.bib \ tests/memdata1.bst tests/memdata2.bst tests/memdata3.bst \ ptexdir/tests/goth10.tfm ptexdir/tests/sample.dvi \ ptexdir/tests/min10.pl ptexdir/tests/min10.tfm \ ptexdir/tests/tmin10.pl ptexdir/tests/tmin10.tfm \ + ptexdir/tests/skipjfmp.pl ptexdir/tests/skipjfmp.tfm \ ptexdir/ptrip/ptrip.diffs ptexdir/ptrip/texmf.cnf \ $(eptex_web_srcs) $(eptex_ch_srcs) eptexdir/eptex.defines \ eptexdir/ChangeLog eptexdir/Changes.txt eptexdir/README.txt \ @@ -2409,6 +2410,8 @@ EXTRA_DIST = PROJECTS cftests cpascal.h help.h w2c/config.h \ uptexdir/tests/umin10.pl uptexdir/tests/umin10.tfm \ uptexdir/tests/utmin10.pl uptexdir/tests/utmin10.tfm \ uptexdir/tests/testnewu.pl uptexdir/tests/testnewu.tfm \ + uptexdir/tests/uparse.pl uptexdir/tests/uparse.tfm \ + uptexdir/tests/gkhugeok.tfm uptexdir/tests/gkhugeng.tfm \ uptexdir/uptrip/uptrip.diffs uptexdir/uptrip/texmf.cnf \ $(euptex_web_srcs) $(euptex_ch_srcs) euptexdir/euptex.defines \ euptexdir/COPYRIGHT euptexdir/COPYRIGHT.jis \ @@ -2690,22 +2693,23 @@ DISTCLEANFILES = CXXLD.sh tangle.c tangle.h tangle.p tangle-web2c \ ptests/xexampl.blg ptests/memtest.bib ptests/memtest?.* \ ptests/xstory.dvityp ptests/xpagenum.typ ptests/xcmr10.tfm \ ptests/xcmr10.pl ptests/xsample.typ ptests/x*min10.* \ - ptrip.diffs $(nodist_eptex_SOURCES) eptex.web eptex.ch \ - eptex-web2c eptex.p eptex.pool eptex-tangle eptrip.diffs \ - pdfprimitive-eptex.* $(nodist_uptex_SOURCES) uptex.web \ - uptex.ch uptex-web2c uptex.p uptex.pool uptex-tangle \ + ptests/xskipjfmp.* ptrip.diffs $(nodist_eptex_SOURCES) \ + eptex.web eptex.ch eptex-web2c eptex.p eptex.pool eptex-tangle \ + eptrip.diffs pdfprimitive-eptex.* $(nodist_uptex_SOURCES) \ + uptex.web uptex.ch uptex-web2c uptex.p uptex.pool uptex-tangle \ $(upweb_programs:=.c) $(upweb_programs:=.h) \ $(upweb_programs:=.p) $(upweb_programs:=-web2c) \ $(upweb_programs:=.web) uptests/xexampl.aux \ uptests/xexampl.bbl uptests/xexampl.blg uptests/xstory.dvityp \ uptests/xpagenum.typ uptests/xcmr10.tfm uptests/xcmr10.pl \ - uptests/x*min10.* uptests/xtestnewu.* uptrip.diffs \ - $(nodist_euptex_SOURCES) euptex.web euptex.ch euptex-web2c \ - euptex.p euptex.pool euptex-tangle euptrip.diffs \ - pdfprimitive-euptex.* $(nodist_pdftex_SOURCES) pdftex.ch \ - pdftex-web2c pdftex.p pdftex.pool pdftex-tangle pwprob.log \ - pwprob.tex pdfimage.fmt pdfimage.log pdfimage.pdf postV3.afm \ - postV7.afm test-13.pdf test-13.xref test-15.pdf test-15.xref \ + uptests/x*min10.* uptests/xtestnewu.* uptests/*uparse.* \ + uptests/*gkhuge*.* uptrip.diffs $(nodist_euptex_SOURCES) \ + euptex.web euptex.ch euptex-web2c euptex.p euptex.pool \ + euptex-tangle euptrip.diffs pdfprimitive-euptex.* \ + $(nodist_pdftex_SOURCES) pdftex.ch pdftex-web2c pdftex.p \ + pdftex.pool pdftex-tangle pwprob.log pwprob.tex pdfimage.fmt \ + pdfimage.log pdfimage.pdf postV3.afm postV7.afm test-13.pdf \ + test-13.xref test-15.pdf test-15.xref \ $(nodist_libluatex_sources) luaimage.* luajitimage.* \ $(nodist_xetex_SOURCES) xetex.web xetex.ch xetex-web2c xetex.p \ xetex.pool xetex-tangle bug73.fmt bug73.log bug73.out \ @@ -3155,7 +3159,8 @@ pweb_tests = ptexdir/pbibtex.test ptexdir/pdvitype.test \ ptexdir/ppltotf.test ptexdir/ptftopl.test \ ptexdir/pbibtex-openout-test.pl \ ptexdir/pbibtex-longline-test.pl ptexdir/pbibtex-mem.test \ - ptexdir/nissya.test ptexdir/sample.test ptexdir/yokotate.test + ptexdir/nissya.test ptexdir/sample.test ptexdir/yokotate.test \ + ptexdir/skipjfmp.test eptex_CPPFLAGS = $(PTEXENC_INCLUDES) $(AM_CPPFLAGS) -I$(srcdir)/libmd5 \ $(am__append_135) @@ -3256,7 +3261,9 @@ upweb_tests = \ uptexdir/uppltotf.test \ uptexdir/uptftopl.test \ uptexdir/yokotate.test \ - uptexdir/newjfm.test + uptexdir/newjfm.test \ + uptexdir/uparse.test \ + uptexdir/gkhuge.test euptex_CPPFLAGS = $(PTEXENC_INCLUDES) $(AM_CPPFLAGS) \ -I$(srcdir)/libmd5 $(am__append_139) @@ -17461,6 +17468,7 @@ ptexdir/pdvitype.log ptexdir/sample.log: pdvitype$(EXEEXT) ptexdir/ppltotf.log: ppltotf$(EXEEXT) ptexdir/ptftopl.log: ptftopl$(EXEEXT) ptexdir/yokotate.log: ppltotf$(EXEEXT) ptftopl$(EXEEXT) +ptexdir/skipjfmp.log: ppltotf$(EXEEXT) ptftopl$(EXEEXT) ptrip.diffs: ptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) $(triptrap_diffs) $@ .PHONY: ptrip-clean @@ -17568,6 +17576,8 @@ uptexdir/uppltotf.log: uppltotf$(EXEEXT) uptexdir/uptftopl.log: uptftopl$(EXEEXT) uptexdir/yokotate.log: uppltotf$(EXEEXT) uptftopl$(EXEEXT) uptexdir/newjfm.log: uppltotf$(EXEEXT) uptftopl$(EXEEXT) +uptexdir/uparse.log: uppltotf$(EXEEXT) uptftopl$(EXEEXT) +uptexdir/gkhuge.log: uppltotf$(EXEEXT) uptftopl$(EXEEXT) uptrip.diffs: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) $(triptrap_diffs) $@ .PHONY: uptrip-clean diff --git a/source/texk/web2c/lib/texmfmp.c b/source/texk/web2c/lib/texmfmp.c index 55dea7291..3642decb1 100644 --- a/source/texk/web2c/lib/texmfmp.c +++ b/source/texk/web2c/lib/texmfmp.c @@ -2175,6 +2175,36 @@ close_file_or_pipe (FILE *f) } close_file(f); } + +#ifdef XeTeX + +#include <unicode/ucnv.h> + +void +u_close_file_or_pipe (unicodefile* f) +{ + int i; /* iterator */ + + if (shellenabledp) { + /* if this file was a pipe, pclose() it and return */ + for (i=0; i<NUM_PIPES; i++) { + if (pipes[i] == (*f)->f) { + if ((*f)->f) { + pclose ((*f)->f); + if (((*f)->encodingMode == ICUMAPPING) && ((*f)->conversionData != NULL)) + ucnv_close((*f)->conversionData); + free(*f); + } + pipes[i] = NULL; + return; + } + } + } + close_file((*f)->f); +} + +#endif + #endif /* ENABLE_PIPES */ /* All our interrupt handler has to do is set TeX's or Metafont's global diff --git a/source/texk/web2c/luatexdir/luatex_svnversion.h b/source/texk/web2c/luatexdir/luatex_svnversion.h index 3b575dee5..3a9cd6e58 100644 --- a/source/texk/web2c/luatexdir/luatex_svnversion.h +++ b/source/texk/web2c/luatexdir/luatex_svnversion.h @@ -1 +1 @@ -#define luatex_svn_revision 6587 +#define luatex_svn_revision 6574 diff --git a/source/texk/web2c/pmpostdir/am/pmpost.am b/source/texk/web2c/pmpostdir/am/pmpost.am index e9b10edea..4297c9637 100644 --- a/source/texk/web2c/pmpostdir/am/pmpost.am +++ b/source/texk/web2c/pmpostdir/am/pmpost.am @@ -182,7 +182,7 @@ TESTS += $(upmpost_tests) endif UPMP EXTRA_DIST += pmpostdir/tests/psample.mp -EXTRA_DIST += README README.old.ja Changes.old.ja +EXTRA_DIST += pmpostdir/README pmpostdir/README.old.ja pmpostdir/Changes.old.ja ## pmpostdir/pmpsamp.test DISTCLEANFILES += pmpsamp.* ## pmpostdir/upmpsamp.test diff --git a/source/texk/web2c/ptexdir/am/ptex.am b/source/texk/web2c/ptexdir/am/ptex.am index 77864e61c..eccef3f92 100644 --- a/source/texk/web2c/ptexdir/am/ptex.am +++ b/source/texk/web2c/ptexdir/am/ptex.am @@ -1,5 +1,6 @@ ## texk/web2c/ptexdir/am/ptex.am: Makefile fragment for pTeX. ## +## Copyright (C) 2016-2018 Karl Berry <tex-live@tug.org> ## Copyright (C) 2010-2015 Peter Breitenlohner <tex-live@tug.org> ## You may freely use, modify and/or distribute this file. @@ -177,12 +178,14 @@ pweb_tests += ptexdir/pbibtex-openout-test.pl ptexdir/pbibtex-longline-test.pl pweb_tests += ptexdir/pbibtex-mem.test ptexdir/nissya.test pweb_tests += ptexdir/sample.test pweb_tests += ptexdir/yokotate.test +pweb_tests += ptexdir/skipjfmp.test ptexdir/pbibtex.log ptexdir/pbibtex-openout-test.log ptexdir/pbibtex-longline-test.log \ ptexdir/pbibtex-mem.log ptexdir/nissya.log: pbibtex$(EXEEXT) ptexdir/pdvitype.log ptexdir/sample.log: pdvitype$(EXEEXT) ptexdir/ppltotf.log: ppltotf$(EXEEXT) ptexdir/ptftopl.log: ptftopl$(EXEEXT) ptexdir/yokotate.log: ppltotf$(EXEEXT) ptftopl$(EXEEXT) +ptexdir/skipjfmp.log: ppltotf$(EXEEXT) ptftopl$(EXEEXT) EXTRA_DIST += $(ptex_tests) $(pweb_tests) DISTCLEANFILES += $(pweb_programs:=.c) $(pweb_programs:=.h) \ @@ -220,6 +223,9 @@ DISTCLEANFILES += ptests/xsample.typ EXTRA_DIST += ptexdir/tests/min10.pl ptexdir/tests/min10.tfm EXTRA_DIST += ptexdir/tests/tmin10.pl ptexdir/tests/tmin10.tfm DISTCLEANFILES += ptests/x*min10.* +## ptexdir/skipjfmp.test +EXTRA_DIST += ptexdir/tests/skipjfmp.pl ptexdir/tests/skipjfmp.tfm +DISTCLEANFILES += ptests/xskipjfmp.* ## ptexdir/ptriptest EXTRA_DIST += ptexdir/ptrip/ptrip.diffs ptexdir/ptrip/texmf.cnf ptrip.diffs: ptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) diff --git a/source/texk/web2c/texmfmp.h b/source/texk/web2c/texmfmp.h index 874c0aecc..be8311f0e 100644 --- a/source/texk/web2c/texmfmp.h +++ b/source/texk/web2c/texmfmp.h @@ -274,9 +274,12 @@ extern void topenin (void); #ifdef XeTeX #if ENABLE_PIPES extern boolean u_open_in_or_pipe(unicodefile* f, integer filefmt, const_string fopen_mode, integer mode, integer encodingData); +extern void u_close_file_or_pipe(unicodefile* f); #define uopenin(f,p,m,d) u_open_in_or_pipe(&(f), p, FOPEN_RBIN_MODE, m, d) +#define uclose(f) u_close_file_or_pipe(&(f)) #else #define uopenin(f,p,m,d) u_open_in(&(f), p, FOPEN_RBIN_MODE, m, d) +#define uclose(f) u_close_inout(&(f)) #endif #endif diff --git a/source/texk/web2c/uptexdir/am/uptex.am b/source/texk/web2c/uptexdir/am/uptex.am index 594d2cc2c..9c8c60de5 100644 --- a/source/texk/web2c/uptexdir/am/uptex.am +++ b/source/texk/web2c/uptexdir/am/uptex.am @@ -1,5 +1,6 @@ ## texk/web2c/uptexdir/am/uptex.am: Makefile fragment for upTeX. ## +## Copyright (C) 2016-2018 Karl Berry <tex-live@tug.org> ## Copyright (C) 2011-2015 Peter Breitenlohner <tex-live@tug.org> ## You may freely use, modify and/or distribute this file. @@ -164,13 +165,17 @@ upweb_tests = \ uptexdir/uppltotf.test \ uptexdir/uptftopl.test \ uptexdir/yokotate.test \ - uptexdir/newjfm.test + uptexdir/newjfm.test \ + uptexdir/uparse.test \ + uptexdir/gkhuge.test uptexdir/upbibtex.log: upbibtex$(EXEEXT) uptexdir/updvitype.log: updvitype$(EXEEXT) uptexdir/uppltotf.log: uppltotf$(EXEEXT) uptexdir/uptftopl.log: uptftopl$(EXEEXT) uptexdir/yokotate.log: uppltotf$(EXEEXT) uptftopl$(EXEEXT) uptexdir/newjfm.log: uppltotf$(EXEEXT) uptftopl$(EXEEXT) +uptexdir/uparse.log: uppltotf$(EXEEXT) uptftopl$(EXEEXT) +uptexdir/gkhuge.log: uppltotf$(EXEEXT) uptftopl$(EXEEXT) EXTRA_DIST += $(uptex_tests) $(upweb_tests) DISTCLEANFILES += $(upweb_programs:=.c) $(upweb_programs:=.h) \ @@ -198,8 +203,16 @@ DISTCLEANFILES += uptests/xcmr10.pl ## uptexdir/yokotate.test EXTRA_DIST += uptexdir/tests/umin10.pl uptexdir/tests/umin10.tfm EXTRA_DIST += uptexdir/tests/utmin10.pl uptexdir/tests/utmin10.tfm +DISTCLEANFILES += uptests/x*min10.* +## uptexdir/newjfm.test EXTRA_DIST += uptexdir/tests/testnewu.pl uptexdir/tests/testnewu.tfm -DISTCLEANFILES += uptests/x*min10.* uptests/xtestnewu.* +DISTCLEANFILES += uptests/xtestnewu.* +## uptexdir/uparse.test +EXTRA_DIST += uptexdir/tests/uparse.pl uptexdir/tests/uparse.tfm +DISTCLEANFILES += uptests/*uparse.* +## uptexdir/gkhuge.test +EXTRA_DIST += uptexdir/tests/gkhugeok.tfm uptexdir/tests/gkhugeng.tfm +DISTCLEANFILES += uptests/*gkhuge*.* ## uptexdir/uptriptest EXTRA_DIST += uptexdir/uptrip/uptrip.diffs uptexdir/uptrip/texmf.cnf uptrip.diffs: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT) -- GitLab