finishm 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (554) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -0
  3. data/.gitmodules +3 -0
  4. data/.rspec +1 -0
  5. data/Gemfile +31 -0
  6. data/LICENSE.txt +20 -0
  7. data/README.md +59 -0
  8. data/Rakefile +51 -0
  9. data/VERSION +1 -0
  10. data/bin/assembly_visualiser +106 -0
  11. data/bin/check_primer_combinations.rb +73 -0
  12. data/bin/contig_joiner.rb +244 -0
  13. data/bin/contigs_against_assembly.rb +153 -0
  14. data/bin/finishm +143 -0
  15. data/bin/finishm_assembler +55 -0
  16. data/bin/finishm_gap_closer.rb +241 -0
  17. data/bin/kmer_abundance_file_tool.rb +49 -0
  18. data/bin/kmer_pattern_to_assembly.rb +377 -0
  19. data/bin/kmer_profile_finder.rb +92 -0
  20. data/bin/kmers_count_parse.d +52 -0
  21. data/bin/kmers_count_tabulate.d +123 -0
  22. data/bin/kmers_count_tabulate.rb +84 -0
  23. data/bin/pcr_result_parser.rb +108 -0
  24. data/bin/primer_finder.rb +119 -0
  25. data/bin/read_selection_by_kmer.d +174 -0
  26. data/bin/scaffold_by_pattern.rb +119 -0
  27. data/bin/scaffold_connection_possibilities_to_knowns.rb +193 -0
  28. data/bin/scaffold_end_coverages.rb +69 -0
  29. data/bin/trail_validator.rb +84 -0
  30. data/ext/mkrf_conf.rb +56 -0
  31. data/ext/src/Makefile +140 -0
  32. data/ext/src/src/allocArray.c +305 -0
  33. data/ext/src/src/allocArray.h +86 -0
  34. data/ext/src/src/autoOpen.c +107 -0
  35. data/ext/src/src/autoOpen.h +18 -0
  36. data/ext/src/src/binarySequences.c +813 -0
  37. data/ext/src/src/binarySequences.h +125 -0
  38. data/ext/src/src/concatenatedGraph.c +233 -0
  39. data/ext/src/src/concatenatedGraph.h +30 -0
  40. data/ext/src/src/concatenatedPreGraph.c +262 -0
  41. data/ext/src/src/concatenatedPreGraph.h +29 -0
  42. data/ext/src/src/correctedGraph.c +2643 -0
  43. data/ext/src/src/correctedGraph.h +32 -0
  44. data/ext/src/src/dfib.c +509 -0
  45. data/ext/src/src/dfib.h +69 -0
  46. data/ext/src/src/dfibHeap.c +89 -0
  47. data/ext/src/src/dfibHeap.h +39 -0
  48. data/ext/src/src/dfibpriv.h +105 -0
  49. data/ext/src/src/fib.c +628 -0
  50. data/ext/src/src/fib.h +78 -0
  51. data/ext/src/src/fibHeap.c +79 -0
  52. data/ext/src/src/fibHeap.h +41 -0
  53. data/ext/src/src/fibpriv.h +110 -0
  54. data/ext/src/src/globals.h +154 -0
  55. data/ext/src/src/graph.c +3932 -0
  56. data/ext/src/src/graph.h +233 -0
  57. data/ext/src/src/graphReConstruction.c +1472 -0
  58. data/ext/src/src/graphReConstruction.h +30 -0
  59. data/ext/src/src/graphStats.c +2167 -0
  60. data/ext/src/src/graphStats.h +72 -0
  61. data/ext/src/src/graphStructures.h +52 -0
  62. data/ext/src/src/kmer.c +652 -0
  63. data/ext/src/src/kmer.h +73 -0
  64. data/ext/src/src/kmerOccurenceTable.c +236 -0
  65. data/ext/src/src/kmerOccurenceTable.h +44 -0
  66. data/ext/src/src/kseq.h +223 -0
  67. data/ext/src/src/locallyCorrectedGraph.c +557 -0
  68. data/ext/src/src/locallyCorrectedGraph.h +40 -0
  69. data/ext/src/src/passageMarker.c +677 -0
  70. data/ext/src/src/passageMarker.h +137 -0
  71. data/ext/src/src/preGraph.c +1717 -0
  72. data/ext/src/src/preGraph.h +106 -0
  73. data/ext/src/src/preGraphConstruction.c +990 -0
  74. data/ext/src/src/preGraphConstruction.h +26 -0
  75. data/ext/src/src/probe_node_finder.c +84 -0
  76. data/ext/src/src/probe_node_finder.h +6 -0
  77. data/ext/src/src/readCoherentGraph.c +557 -0
  78. data/ext/src/src/readCoherentGraph.h +30 -0
  79. data/ext/src/src/readSet.c +1734 -0
  80. data/ext/src/src/readSet.h +67 -0
  81. data/ext/src/src/readToNode.c +218 -0
  82. data/ext/src/src/readToNode.h +35 -0
  83. data/ext/src/src/recycleBin.c +199 -0
  84. data/ext/src/src/recycleBin.h +58 -0
  85. data/ext/src/src/roadMap.c +342 -0
  86. data/ext/src/src/roadMap.h +65 -0
  87. data/ext/src/src/run.c +318 -0
  88. data/ext/src/src/run.h +52 -0
  89. data/ext/src/src/run2.c +744 -0
  90. data/ext/src/src/runReadToNode.c +29 -0
  91. data/ext/src/src/scaffold.c +1876 -0
  92. data/ext/src/src/scaffold.h +64 -0
  93. data/ext/src/src/shortReadPairs.c +1243 -0
  94. data/ext/src/src/shortReadPairs.h +32 -0
  95. data/ext/src/src/splay.c +259 -0
  96. data/ext/src/src/splay.h +43 -0
  97. data/ext/src/src/splayTable.c +1315 -0
  98. data/ext/src/src/splayTable.h +31 -0
  99. data/ext/src/src/tightString.c +362 -0
  100. data/ext/src/src/tightString.h +82 -0
  101. data/ext/src/src/utility.c +199 -0
  102. data/ext/src/src/utility.h +98 -0
  103. data/ext/src/third-party/zlib-1.2.3/ChangeLog +855 -0
  104. data/ext/src/third-party/zlib-1.2.3/FAQ +339 -0
  105. data/ext/src/third-party/zlib-1.2.3/INDEX +51 -0
  106. data/ext/src/third-party/zlib-1.2.3/Makefile +154 -0
  107. data/ext/src/third-party/zlib-1.2.3/Makefile.in +154 -0
  108. data/ext/src/third-party/zlib-1.2.3/README +125 -0
  109. data/ext/src/third-party/zlib-1.2.3/adler32.c +149 -0
  110. data/ext/src/third-party/zlib-1.2.3/adler32.o +0 -0
  111. data/ext/src/third-party/zlib-1.2.3/algorithm.txt +209 -0
  112. data/ext/src/third-party/zlib-1.2.3/amiga/Makefile.pup +66 -0
  113. data/ext/src/third-party/zlib-1.2.3/amiga/Makefile.sas +65 -0
  114. data/ext/src/third-party/zlib-1.2.3/as400/bndsrc +132 -0
  115. data/ext/src/third-party/zlib-1.2.3/as400/compile.clp +123 -0
  116. data/ext/src/third-party/zlib-1.2.3/as400/readme.txt +111 -0
  117. data/ext/src/third-party/zlib-1.2.3/as400/zlib.inc +331 -0
  118. data/ext/src/third-party/zlib-1.2.3/compress.c +79 -0
  119. data/ext/src/third-party/zlib-1.2.3/compress.o +0 -0
  120. data/ext/src/third-party/zlib-1.2.3/configure +459 -0
  121. data/ext/src/third-party/zlib-1.2.3/contrib/README.contrib +71 -0
  122. data/ext/src/third-party/zlib-1.2.3/contrib/ada/buffer_demo.adb +106 -0
  123. data/ext/src/third-party/zlib-1.2.3/contrib/ada/mtest.adb +156 -0
  124. data/ext/src/third-party/zlib-1.2.3/contrib/ada/read.adb +156 -0
  125. data/ext/src/third-party/zlib-1.2.3/contrib/ada/readme.txt +65 -0
  126. data/ext/src/third-party/zlib-1.2.3/contrib/ada/test.adb +463 -0
  127. data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib-streams.adb +225 -0
  128. data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib-streams.ads +114 -0
  129. data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib-thin.adb +141 -0
  130. data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib-thin.ads +450 -0
  131. data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib.adb +701 -0
  132. data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib.ads +328 -0
  133. data/ext/src/third-party/zlib-1.2.3/contrib/ada/zlib.gpr +20 -0
  134. data/ext/src/third-party/zlib-1.2.3/contrib/asm586/README.586 +43 -0
  135. data/ext/src/third-party/zlib-1.2.3/contrib/asm586/match.S +364 -0
  136. data/ext/src/third-party/zlib-1.2.3/contrib/asm686/README.686 +34 -0
  137. data/ext/src/third-party/zlib-1.2.3/contrib/asm686/match.S +329 -0
  138. data/ext/src/third-party/zlib-1.2.3/contrib/blast/Makefile +8 -0
  139. data/ext/src/third-party/zlib-1.2.3/contrib/blast/README +4 -0
  140. data/ext/src/third-party/zlib-1.2.3/contrib/blast/blast.c +444 -0
  141. data/ext/src/third-party/zlib-1.2.3/contrib/blast/blast.h +71 -0
  142. data/ext/src/third-party/zlib-1.2.3/contrib/blast/test.pk +0 -0
  143. data/ext/src/third-party/zlib-1.2.3/contrib/blast/test.txt +1 -0
  144. data/ext/src/third-party/zlib-1.2.3/contrib/delphi/ZLib.pas +557 -0
  145. data/ext/src/third-party/zlib-1.2.3/contrib/delphi/ZLibConst.pas +11 -0
  146. data/ext/src/third-party/zlib-1.2.3/contrib/delphi/readme.txt +76 -0
  147. data/ext/src/third-party/zlib-1.2.3/contrib/delphi/zlibd32.mak +93 -0
  148. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib.build +33 -0
  149. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib.chm +0 -0
  150. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib.sln +21 -0
  151. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/AssemblyInfo.cs +58 -0
  152. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/ChecksumImpl.cs +202 -0
  153. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/CircularBuffer.cs +83 -0
  154. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/CodecBase.cs +198 -0
  155. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/Deflater.cs +106 -0
  156. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/DotZLib.cs +288 -0
  157. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/DotZLib.csproj +141 -0
  158. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/GZipStream.cs +301 -0
  159. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/Inflater.cs +105 -0
  160. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/DotZLib/UnitTests.cs +274 -0
  161. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/LICENSE_1_0.txt +23 -0
  162. data/ext/src/third-party/zlib-1.2.3/contrib/dotzlib/readme.txt +58 -0
  163. data/ext/src/third-party/zlib-1.2.3/contrib/infback9/README +1 -0
  164. data/ext/src/third-party/zlib-1.2.3/contrib/infback9/infback9.c +608 -0
  165. data/ext/src/third-party/zlib-1.2.3/contrib/infback9/infback9.h +37 -0
  166. data/ext/src/third-party/zlib-1.2.3/contrib/infback9/inffix9.h +107 -0
  167. data/ext/src/third-party/zlib-1.2.3/contrib/infback9/inflate9.h +47 -0
  168. data/ext/src/third-party/zlib-1.2.3/contrib/infback9/inftree9.c +323 -0
  169. data/ext/src/third-party/zlib-1.2.3/contrib/infback9/inftree9.h +55 -0
  170. data/ext/src/third-party/zlib-1.2.3/contrib/inflate86/inffas86.c +1157 -0
  171. data/ext/src/third-party/zlib-1.2.3/contrib/inflate86/inffast.S +1368 -0
  172. data/ext/src/third-party/zlib-1.2.3/contrib/iostream/test.cpp +24 -0
  173. data/ext/src/third-party/zlib-1.2.3/contrib/iostream/zfstream.cpp +329 -0
  174. data/ext/src/third-party/zlib-1.2.3/contrib/iostream/zfstream.h +128 -0
  175. data/ext/src/third-party/zlib-1.2.3/contrib/iostream2/zstream.h +307 -0
  176. data/ext/src/third-party/zlib-1.2.3/contrib/iostream2/zstream_test.cpp +25 -0
  177. data/ext/src/third-party/zlib-1.2.3/contrib/iostream3/README +35 -0
  178. data/ext/src/third-party/zlib-1.2.3/contrib/iostream3/TODO +17 -0
  179. data/ext/src/third-party/zlib-1.2.3/contrib/iostream3/test.cc +50 -0
  180. data/ext/src/third-party/zlib-1.2.3/contrib/iostream3/zfstream.cc +479 -0
  181. data/ext/src/third-party/zlib-1.2.3/contrib/iostream3/zfstream.h +466 -0
  182. data/ext/src/third-party/zlib-1.2.3/contrib/masm686/match.asm +413 -0
  183. data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/bld_ml64.bat +2 -0
  184. data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/gvmat64.asm +513 -0
  185. data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/gvmat64.obj +0 -0
  186. data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/inffas8664.c +186 -0
  187. data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/inffasx64.asm +392 -0
  188. data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/inffasx64.obj +0 -0
  189. data/ext/src/third-party/zlib-1.2.3/contrib/masmx64/readme.txt +28 -0
  190. data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/bld_ml32.bat +2 -0
  191. data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/gvmat32.asm +972 -0
  192. data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/gvmat32.obj +0 -0
  193. data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/gvmat32c.c +62 -0
  194. data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/inffas32.asm +1083 -0
  195. data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/inffas32.obj +0 -0
  196. data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/mkasm.bat +3 -0
  197. data/ext/src/third-party/zlib-1.2.3/contrib/masmx86/readme.txt +21 -0
  198. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/ChangeLogUnzip +67 -0
  199. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/Makefile +25 -0
  200. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/crypt.h +132 -0
  201. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/ioapi.c +177 -0
  202. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/ioapi.h +75 -0
  203. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/iowin32.c +270 -0
  204. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/iowin32.h +21 -0
  205. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/miniunz.c +585 -0
  206. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/minizip.c +420 -0
  207. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/mztools.c +281 -0
  208. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/mztools.h +31 -0
  209. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/unzip.c +1598 -0
  210. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/unzip.h +354 -0
  211. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/zip.c +1219 -0
  212. data/ext/src/third-party/zlib-1.2.3/contrib/minizip/zip.h +235 -0
  213. data/ext/src/third-party/zlib-1.2.3/contrib/pascal/example.pas +599 -0
  214. data/ext/src/third-party/zlib-1.2.3/contrib/pascal/readme.txt +76 -0
  215. data/ext/src/third-party/zlib-1.2.3/contrib/pascal/zlibd32.mak +93 -0
  216. data/ext/src/third-party/zlib-1.2.3/contrib/pascal/zlibpas.pas +236 -0
  217. data/ext/src/third-party/zlib-1.2.3/contrib/puff/Makefile +8 -0
  218. data/ext/src/third-party/zlib-1.2.3/contrib/puff/README +63 -0
  219. data/ext/src/third-party/zlib-1.2.3/contrib/puff/puff.c +837 -0
  220. data/ext/src/third-party/zlib-1.2.3/contrib/puff/puff.h +31 -0
  221. data/ext/src/third-party/zlib-1.2.3/contrib/puff/zeros.raw +0 -0
  222. data/ext/src/third-party/zlib-1.2.3/contrib/testzlib/testzlib.c +275 -0
  223. data/ext/src/third-party/zlib-1.2.3/contrib/testzlib/testzlib.txt +10 -0
  224. data/ext/src/third-party/zlib-1.2.3/contrib/untgz/Makefile +14 -0
  225. data/ext/src/third-party/zlib-1.2.3/contrib/untgz/Makefile.msc +17 -0
  226. data/ext/src/third-party/zlib-1.2.3/contrib/untgz/untgz.c +674 -0
  227. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/readme.txt +73 -0
  228. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/miniunz.vcproj +126 -0
  229. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/minizip.vcproj +126 -0
  230. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/testzlib.vcproj +126 -0
  231. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/zlib.rc +32 -0
  232. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/zlibstat.vcproj +246 -0
  233. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/zlibvc.def +92 -0
  234. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/zlibvc.sln +78 -0
  235. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc7/zlibvc.vcproj +445 -0
  236. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/miniunz.vcproj +566 -0
  237. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/minizip.vcproj +563 -0
  238. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/testzlib.vcproj +948 -0
  239. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/testzlibdll.vcproj +567 -0
  240. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/zlib.rc +32 -0
  241. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/zlibstat.vcproj +870 -0
  242. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/zlibvc.def +92 -0
  243. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/zlibvc.sln +144 -0
  244. data/ext/src/third-party/zlib-1.2.3/contrib/vstudio/vc8/zlibvc.vcproj +1219 -0
  245. data/ext/src/third-party/zlib-1.2.3/crc32.c +423 -0
  246. data/ext/src/third-party/zlib-1.2.3/crc32.h +441 -0
  247. data/ext/src/third-party/zlib-1.2.3/crc32.o +0 -0
  248. data/ext/src/third-party/zlib-1.2.3/deflate.c +1736 -0
  249. data/ext/src/third-party/zlib-1.2.3/deflate.h +331 -0
  250. data/ext/src/third-party/zlib-1.2.3/deflate.o +0 -0
  251. data/ext/src/third-party/zlib-1.2.3/example +0 -0
  252. data/ext/src/third-party/zlib-1.2.3/example.c +565 -0
  253. data/ext/src/third-party/zlib-1.2.3/examples/README.examples +42 -0
  254. data/ext/src/third-party/zlib-1.2.3/examples/fitblk.c +233 -0
  255. data/ext/src/third-party/zlib-1.2.3/examples/gun.c +693 -0
  256. data/ext/src/third-party/zlib-1.2.3/examples/gzappend.c +500 -0
  257. data/ext/src/third-party/zlib-1.2.3/examples/gzjoin.c +448 -0
  258. data/ext/src/third-party/zlib-1.2.3/examples/gzlog.c +413 -0
  259. data/ext/src/third-party/zlib-1.2.3/examples/gzlog.h +58 -0
  260. data/ext/src/third-party/zlib-1.2.3/examples/zlib_how.html +523 -0
  261. data/ext/src/third-party/zlib-1.2.3/examples/zpipe.c +191 -0
  262. data/ext/src/third-party/zlib-1.2.3/examples/zran.c +404 -0
  263. data/ext/src/third-party/zlib-1.2.3/gzio.c +1026 -0
  264. data/ext/src/third-party/zlib-1.2.3/gzio.o +0 -0
  265. data/ext/src/third-party/zlib-1.2.3/infback.c +623 -0
  266. data/ext/src/third-party/zlib-1.2.3/infback.o +0 -0
  267. data/ext/src/third-party/zlib-1.2.3/inffast.c +318 -0
  268. data/ext/src/third-party/zlib-1.2.3/inffast.h +11 -0
  269. data/ext/src/third-party/zlib-1.2.3/inffast.o +0 -0
  270. data/ext/src/third-party/zlib-1.2.3/inffixed.h +94 -0
  271. data/ext/src/third-party/zlib-1.2.3/inflate.c +1368 -0
  272. data/ext/src/third-party/zlib-1.2.3/inflate.h +115 -0
  273. data/ext/src/third-party/zlib-1.2.3/inflate.o +0 -0
  274. data/ext/src/third-party/zlib-1.2.3/inftrees.c +329 -0
  275. data/ext/src/third-party/zlib-1.2.3/inftrees.h +55 -0
  276. data/ext/src/third-party/zlib-1.2.3/inftrees.o +0 -0
  277. data/ext/src/third-party/zlib-1.2.3/libz.a +0 -0
  278. data/ext/src/third-party/zlib-1.2.3/make_vms.com +461 -0
  279. data/ext/src/third-party/zlib-1.2.3/minigzip +0 -0
  280. data/ext/src/third-party/zlib-1.2.3/minigzip.c +322 -0
  281. data/ext/src/third-party/zlib-1.2.3/msdos/Makefile.bor +109 -0
  282. data/ext/src/third-party/zlib-1.2.3/msdos/Makefile.dj2 +104 -0
  283. data/ext/src/third-party/zlib-1.2.3/msdos/Makefile.emx +69 -0
  284. data/ext/src/third-party/zlib-1.2.3/msdos/Makefile.msc +106 -0
  285. data/ext/src/third-party/zlib-1.2.3/msdos/Makefile.tc +94 -0
  286. data/ext/src/third-party/zlib-1.2.3/old/Makefile.riscos +151 -0
  287. data/ext/src/third-party/zlib-1.2.3/old/README +3 -0
  288. data/ext/src/third-party/zlib-1.2.3/old/descrip.mms +48 -0
  289. data/ext/src/third-party/zlib-1.2.3/old/os2/Makefile.os2 +136 -0
  290. data/ext/src/third-party/zlib-1.2.3/old/os2/zlib.def +51 -0
  291. data/ext/src/third-party/zlib-1.2.3/old/visual-basic.txt +160 -0
  292. data/ext/src/third-party/zlib-1.2.3/old/zlib.html +971 -0
  293. data/ext/src/third-party/zlib-1.2.3/projects/README.projects +41 -0
  294. data/ext/src/third-party/zlib-1.2.3/projects/visualc6/README.txt +73 -0
  295. data/ext/src/third-party/zlib-1.2.3/projects/visualc6/example.dsp +278 -0
  296. data/ext/src/third-party/zlib-1.2.3/projects/visualc6/minigzip.dsp +278 -0
  297. data/ext/src/third-party/zlib-1.2.3/projects/visualc6/zlib.dsp +609 -0
  298. data/ext/src/third-party/zlib-1.2.3/projects/visualc6/zlib.dsw +59 -0
  299. data/ext/src/third-party/zlib-1.2.3/qnx/package.qpg +141 -0
  300. data/ext/src/third-party/zlib-1.2.3/trees.c +1219 -0
  301. data/ext/src/third-party/zlib-1.2.3/trees.h +128 -0
  302. data/ext/src/third-party/zlib-1.2.3/trees.o +0 -0
  303. data/ext/src/third-party/zlib-1.2.3/uncompr.c +61 -0
  304. data/ext/src/third-party/zlib-1.2.3/uncompr.o +0 -0
  305. data/ext/src/third-party/zlib-1.2.3/win32/DLL_FAQ.txt +397 -0
  306. data/ext/src/third-party/zlib-1.2.3/win32/Makefile.bor +107 -0
  307. data/ext/src/third-party/zlib-1.2.3/win32/Makefile.emx +69 -0
  308. data/ext/src/third-party/zlib-1.2.3/win32/Makefile.gcc +141 -0
  309. data/ext/src/third-party/zlib-1.2.3/win32/Makefile.msc +126 -0
  310. data/ext/src/third-party/zlib-1.2.3/win32/VisualC.txt +3 -0
  311. data/ext/src/third-party/zlib-1.2.3/win32/zlib.def +60 -0
  312. data/ext/src/third-party/zlib-1.2.3/win32/zlib1.rc +39 -0
  313. data/ext/src/third-party/zlib-1.2.3/zconf.h +332 -0
  314. data/ext/src/third-party/zlib-1.2.3/zconf.in.h +332 -0
  315. data/ext/src/third-party/zlib-1.2.3/zlib.3 +159 -0
  316. data/ext/src/third-party/zlib-1.2.3/zlib.h +1357 -0
  317. data/ext/src/third-party/zlib-1.2.3/zutil.c +318 -0
  318. data/ext/src/third-party/zlib-1.2.3/zutil.h +269 -0
  319. data/ext/src/third-party/zlib-1.2.3/zutil.o +0 -0
  320. data/lib/assembly/a_b_visualiser.rb +169 -0
  321. data/lib/assembly/acyclic_connection_finder.rb +81 -0
  322. data/lib/assembly/all_orfs.rb +615 -0
  323. data/lib/assembly/bad_format_writer.rb +46 -0
  324. data/lib/assembly/bam_probe_read_selector.rb +48 -0
  325. data/lib/assembly/bubbly_assembler.rb +842 -0
  326. data/lib/assembly/c_probe_node_finder.rb +38 -0
  327. data/lib/assembly/connection_interpreter.rb +350 -0
  328. data/lib/assembly/contig_printer.rb +400 -0
  329. data/lib/assembly/coverage_based_graph_filter.rb +68 -0
  330. data/lib/assembly/depth_first_search.rb +63 -0
  331. data/lib/assembly/dijkstra.rb +216 -0
  332. data/lib/assembly/fluffer.rb +253 -0
  333. data/lib/assembly/graph_explorer.rb +85 -0
  334. data/lib/assembly/graph_generator.rb +315 -0
  335. data/lib/assembly/height_finder.rb +355 -0
  336. data/lib/assembly/hybrid_velvet_graph.rb +70 -0
  337. data/lib/assembly/input_genome.rb +182 -0
  338. data/lib/assembly/kmer_coverage_based_path_filter.rb +65 -0
  339. data/lib/assembly/node_finder.rb +171 -0
  340. data/lib/assembly/oriented_node_trail.rb +507 -0
  341. data/lib/assembly/paired_end_assembler.rb +53 -0
  342. data/lib/assembly/paired_end_neighbour_finder.rb +176 -0
  343. data/lib/assembly/probed_graph.rb +105 -0
  344. data/lib/assembly/read_input.rb +79 -0
  345. data/lib/assembly/read_to_node.rb +37 -0
  346. data/lib/assembly/scaffold_breaker.rb +126 -0
  347. data/lib/assembly/sequence_hasher.rb +71 -0
  348. data/lib/assembly/single_coherent_paths_between_nodes.rb +533 -0
  349. data/lib/assembly/single_coherent_wanderer.rb +261 -0
  350. data/lib/assembly/single_ended_assembler.rb +441 -0
  351. data/lib/assembly/velvet_c_binding.rb +54 -0
  352. data/lib/assembly/velvet_graph_sequence_extractor.rb +123 -0
  353. data/lib/external/VERSION +1 -0
  354. data/lib/finishm/assemble.rb +224 -0
  355. data/lib/finishm/explore.rb +217 -0
  356. data/lib/finishm/finisher.rb +303 -0
  357. data/lib/finishm/fluff.rb +122 -0
  358. data/lib/finishm/gapfiller.rb +325 -0
  359. data/lib/finishm/orfs_finder.rb +88 -0
  360. data/lib/finishm/path_counter.rb +90 -0
  361. data/lib/finishm/primers.rb +425 -0
  362. data/lib/finishm/primers_check.rb +176 -0
  363. data/lib/finishm/roundup.rb +344 -0
  364. data/lib/finishm/sequence.rb +142 -0
  365. data/lib/finishm/visualise.rb +430 -0
  366. data/lib/finishm/wander.rb +270 -0
  367. data/lib/kmer_abundance_pattern.rb +79 -0
  368. data/lib/kmer_multi_abundance_file.rb +48 -0
  369. data/lib/oligo_designer.rb +88 -0
  370. data/lib/priner.rb +66 -0
  371. data/spec/acyclic_connection_finder_spec.rb +551 -0
  372. data/spec/all_orfs_spec.rb +443 -0
  373. data/spec/assemble_spec.rb +186 -0
  374. data/spec/bubbly_assembler_spec.rb +707 -0
  375. data/spec/c_node_finder_spec.rb +58 -0
  376. data/spec/connection_interpreter_spec.rb +284 -0
  377. data/spec/contig_printer_spec.rb +291 -0
  378. data/spec/coverage_based_graph_filter_spec.rb +102 -0
  379. data/spec/data/6_3e4e5e6e.1vANME.bam +0 -0
  380. data/spec/data/6_3e4e5e6e.1vANME.bam.bai +0 -0
  381. data/spec/data/acyclic_connection_finder/1/probes.fa +5 -0
  382. data/spec/data/acyclic_connection_finder/1/random1.fa +2 -0
  383. data/spec/data/acyclic_connection_finder/1/random1.sammy.fa.gz +0 -0
  384. data/spec/data/acyclic_connection_finder/1/random2.fa +2 -0
  385. data/spec/data/acyclic_connection_finder/1/random2.sammy.fa.gz +0 -0
  386. data/spec/data/assembly/1_simple_bubble_uneven_coverage/random3000.fa +39 -0
  387. data/spec/data/assembly/1_simple_bubble_uneven_coverage/random3000.slightly_changed.fa +39 -0
  388. data/spec/data/assembly/1_simple_bubble_uneven_coverage/reads_combined.fa.gz +0 -0
  389. data/spec/data/assembly_visualiser/Contig_6_1_to_250.fa.kmers31 +220 -0
  390. data/spec/data/assembly_visualiser/Contig_7_1_to_250.fa.kmers31 +220 -0
  391. data/spec/data/assembly_visualiser/Graph +46 -0
  392. data/spec/data/assembly_visualiser/start_kmers1 +2 -0
  393. data/spec/data/bands.csv +1 -0
  394. data/spec/data/c_probe_node_finder/1/CnyUnifiedSeq +0 -0
  395. data/spec/data/c_probe_node_finder/1/CnyUnifiedSeq.names +544 -0
  396. data/spec/data/c_probe_node_finder/1/Graph2 +668 -0
  397. data/spec/data/c_probe_node_finder/1/LastGraph +668 -0
  398. data/spec/data/c_probe_node_finder/1/Log +756 -0
  399. data/spec/data/c_probe_node_finder/1/PreGraph +11 -0
  400. data/spec/data/c_probe_node_finder/1/Roadmaps +2009 -0
  401. data/spec/data/c_probe_node_finder/1/contigs.fa +29 -0
  402. data/spec/data/c_probe_node_finder/1/stats.txt +6 -0
  403. data/spec/data/contig_printer/1/HOWTO_RECREATE +17 -0
  404. data/spec/data/contig_printer/1/contigs.fa +4 -0
  405. data/spec/data/contig_printer/1/seq.fa +2408 -0
  406. data/spec/data/contig_printer/1/seq.fa.svg +153 -0
  407. data/spec/data/contig_printer/1/seq.fa.velvet/Graph2 +2953 -0
  408. data/spec/data/contig_printer/1/seq.fa.velvet/LastGraph +2953 -0
  409. data/spec/data/contig_printer/1/seq.fa.velvet/Log +21 -0
  410. data/spec/data/contig_printer/1/seq.fa.velvet/PreGraph +27 -0
  411. data/spec/data/contig_printer/1/seq.fa.velvet/Roadmaps +5182 -0
  412. data/spec/data/contig_printer/1/seq.fa.velvet/Sequences +3612 -0
  413. data/spec/data/contig_printer/1/seq.fa.velvet/contigs.fa +36 -0
  414. data/spec/data/contig_printer/1/seq.fa.velvet/stats.txt +14 -0
  415. data/spec/data/contig_printer/1/seq.faVseq2_1to550.fa.bam +0 -0
  416. data/spec/data/contig_printer/1/seq.faVseq2_1to550.fa.bam.bai +0 -0
  417. data/spec/data/contig_printer/1/seq.node12.fa +4 -0
  418. data/spec/data/contig_printer/1/seq1_1to550.fa +2 -0
  419. data/spec/data/contig_printer/1/seq2_1to550.fa +2 -0
  420. data/spec/data/contig_printer/1/seq2_1to550.fa.fai +1 -0
  421. data/spec/data/explore/1/2seqs.sammy.fa +12004 -0
  422. data/spec/data/explore/1/HOWTO_RECREATE.txt +6 -0
  423. data/spec/data/explore/1/a.fa +2 -0
  424. data/spec/data/explore/1/seq1_and_a.fa +3 -0
  425. data/spec/data/explore/1/seq2.fa +2 -0
  426. data/spec/data/fluff/1/2seqs.sammy.fa +12004 -0
  427. data/spec/data/fluff/1/HOWTO_RECREATE.txt +5 -0
  428. data/spec/data/fluff/1/seq1.fa +2 -0
  429. data/spec/data/fluff/1/seq2.fa +2 -0
  430. data/spec/data/gapfilling/1/reads.fa +171 -0
  431. data/spec/data/gapfilling/1/trail_with_Ns.fa +5 -0
  432. data/spec/data/gapfilling/1/velvetAssembly/Graph2 +130 -0
  433. data/spec/data/gapfilling/1/velvetAssembly/LastGraph +130 -0
  434. data/spec/data/gapfilling/1/velvetAssembly/Log +199 -0
  435. data/spec/data/gapfilling/1/velvetAssembly/PreGraph +7 -0
  436. data/spec/data/gapfilling/1/velvetAssembly/Roadmaps +239 -0
  437. data/spec/data/gapfilling/1/velvetAssembly/Sequences +281 -0
  438. data/spec/data/gapfilling/1/velvetAssembly/contigs.fa +12 -0
  439. data/spec/data/gapfilling/1/velvetAssembly/stats.txt +4 -0
  440. data/spec/data/gapfilling/2/HOWTO_recreate +17 -0
  441. data/spec/data/gapfilling/2/reference.fa +2 -0
  442. data/spec/data/gapfilling/2/reference_part1.fa +4 -0
  443. data/spec/data/gapfilling/2/reference_part2.fa +4 -0
  444. data/spec/data/gapfilling/2/sammy_reads.fa.gz +0 -0
  445. data/spec/data/gapfilling/2/with_gaps.fa +4 -0
  446. data/spec/data/gapfilling/3/HOWTO_recreate +4 -0
  447. data/spec/data/gapfilling/3/reads.fa.gz +0 -0
  448. data/spec/data/gapfilling/3/reference_part1.fa +4 -0
  449. data/spec/data/gapfilling/3/reference_part2.fa +4 -0
  450. data/spec/data/gapfilling/3/with_gaps.fa +4 -0
  451. data/spec/data/gapfilling/4/HOWTO_recreate +1 -0
  452. data/spec/data/gapfilling/4/reads.fa.gz +0 -0
  453. data/spec/data/gapfilling/5/HOWTO_RECREATE +7 -0
  454. data/spec/data/gapfilling/5/answer.fna +2 -0
  455. data/spec/data/gapfilling/5/gappy.fna +2 -0
  456. data/spec/data/gapfilling/5/reads.fa +17961 -0
  457. data/spec/data/gapfilling/5/velvet51_3.5/LastGraph +8337 -0
  458. data/spec/data/gapfilling/5/velvet51_3.5/Sequences +20921 -0
  459. data/spec/data/gapfilling/6/random1.fa +28 -0
  460. data/spec/data/gapfilling/6/random2.fa +28 -0
  461. data/spec/data/gapfilling/6/random_sequence_length_2000 +0 -0
  462. data/spec/data/gapfilling/6/reads.random1.fa.gz +0 -0
  463. data/spec/data/gapfilling/6/reads.random2.fa.gz +0 -0
  464. data/spec/data/gapfilling/6/to_gapfill.fa +22 -0
  465. data/spec/data/kmer_profile_to_assembly/multiple_abundance_file1.csv +2 -0
  466. data/spec/data/kmers_count1.csv +2 -0
  467. data/spec/data/kmers_count2.csv +3 -0
  468. data/spec/data/out +3 -0
  469. data/spec/data/positive_latching_pair.fa +2 -0
  470. data/spec/data/primers.csv +4 -0
  471. data/spec/data/read_selection_by_kmer/blacklist1.txt +1 -0
  472. data/spec/data/read_selection_by_kmer/input.fasta +6 -0
  473. data/spec/data/read_selection_by_kmer/whitelist1.txt +1 -0
  474. data/spec/data/read_selection_by_kmer/whitelist2.txt +2 -0
  475. data/spec/data/read_to_node/1_a_graph/HOWTO_RECREATE.txt +2 -0
  476. data/spec/data/read_to_node/1_a_graph/LastGraph +6695 -0
  477. data/spec/data/read_to_node/1_a_graph/ReadToNode.bin +0 -0
  478. data/spec/data/read_to_node/2_no_read256_or_259/HOWTO_RECREATE.txt +3 -0
  479. data/spec/data/read_to_node/2_no_read256_or_259/LastGraph +6693 -0
  480. data/spec/data/read_to_node/2_no_read256_or_259/ReadToNode.bin +0 -0
  481. data/spec/data/read_to_node/3_no_last_read/LastGraph +6694 -0
  482. data/spec/data/read_to_node/3_no_last_read/ReadToNode.bin +0 -0
  483. data/spec/data/t/details.txt +5 -0
  484. data/spec/data/t/details.txt.srt +5 -0
  485. data/spec/data/t/location.txt +3 -0
  486. data/spec/data/t/location.txt.srt +3 -0
  487. data/spec/data/tweak/1_gap_then_unscaffolded/answer.fa +2 -0
  488. data/spec/data/tweak/1_gap_then_unscaffolded/reads.fa.gz +0 -0
  489. data/spec/data/tweak/1_gap_then_unscaffolded/scaffolds.fa +6 -0
  490. data/spec/data/tweak/2_second_genome/answer2.fa +2 -0
  491. data/spec/data/tweak/2_second_genome/reads.fa.gz +0 -0
  492. data/spec/data/tweak/3_variant/answer.fa +2 -0
  493. data/spec/data/tweak/3_variant/lesser_answer.fa +2 -0
  494. data/spec/data/tweak/3_variant/reads.fa.gz +0 -0
  495. data/spec/data/tweak/3_variant/with_gaps.fa +2 -0
  496. data/spec/data/velvet_test_trails/Assem/Graph +17 -0
  497. data/spec/data/velvet_test_trails/Assem/Graph2 +40 -0
  498. data/spec/data/velvet_test_trails/Assem/LastGraph +40 -0
  499. data/spec/data/velvet_test_trails/Assem/Log +35 -0
  500. data/spec/data/velvet_test_trails/Assem/PreGraph +9 -0
  501. data/spec/data/velvet_test_trails/Assem/Roadmaps +89 -0
  502. data/spec/data/velvet_test_trails/Assem/Sequences +50 -0
  503. data/spec/data/velvet_test_trails/Assem/a.svg +53 -0
  504. data/spec/data/velvet_test_trails/Assem/contigs.fa +15 -0
  505. data/spec/data/velvet_test_trails/Assem/stats.txt +5 -0
  506. data/spec/data/velvet_test_trails/node_fwds.fa +8 -0
  507. data/spec/data/velvet_test_trails/node_seqs.fa +9 -0
  508. data/spec/data/velvet_test_trails/nodes_fwd_rev.fa +16 -0
  509. data/spec/data/velvet_test_trails/read1.fa +2 -0
  510. data/spec/data/velvet_test_trails/reads.fa +50 -0
  511. data/spec/data/velvet_test_trails_reverse/Assem/LastGraph +17 -0
  512. data/spec/data/velvet_test_trails_reverse/Assem/a.svg +53 -0
  513. data/spec/data/velvet_test_trails_reverse/reads_reversed.fa +10 -0
  514. data/spec/data/visualise/1/LastGraph +6695 -0
  515. data/spec/data/visualise/2_paired_end/HOWTO_RECREATE.txt +10 -0
  516. data/spec/data/visualise/2_paired_end/rand1.fa +2 -0
  517. data/spec/data/visualise/2_paired_end/rand2.fa +2 -0
  518. data/spec/data/visualise/2_paired_end/with_gaps.fa +8 -0
  519. data/spec/data/visualise/2_paired_end/with_gaps.read_pairs.fa.gz +0 -0
  520. data/spec/data/wander/1/random1.fa +2 -0
  521. data/spec/data/wander/1/random1.sammy.fa +804 -0
  522. data/spec/depth_first_search_spec.rb +190 -0
  523. data/spec/dijkstra_spec.rb +143 -0
  524. data/spec/explore_spec.rb +29 -0
  525. data/spec/fluffer_spec.rb +155 -0
  526. data/spec/gapfiller_spec.rb +107 -0
  527. data/spec/graph_explorer_spec.rb +475 -0
  528. data/spec/graph_generator_spec.rb +99 -0
  529. data/spec/height_finder_spec.rb +306 -0
  530. data/spec/kmer_abundance_pattern_spec.rb +56 -0
  531. data/spec/kmer_coverage_based_path_filter_spec.rb +73 -0
  532. data/spec/kmer_profile_finder_spec.rb +38 -0
  533. data/spec/kmers_count_tabulate_spec.rb +120 -0
  534. data/spec/oriented_node_trail_spec.rb +221 -0
  535. data/spec/paired_end_neighbours_spec.rb +126 -0
  536. data/spec/paths_between_nodes_spec.rb +349 -0
  537. data/spec/priner_spec.rb +7 -0
  538. data/spec/read_input_spec.rb +23 -0
  539. data/spec/read_selection_by_kmer_spec.rb +166 -0
  540. data/spec/read_to_node_spec.rb +35 -0
  541. data/spec/roundup_spec.rb +366 -0
  542. data/spec/scaffold_breaker_spec.rb +144 -0
  543. data/spec/sequence_spec.rb +43 -0
  544. data/spec/single_coherent_paths_between_nodes_spec.rb +492 -0
  545. data/spec/single_coherent_wanderer_spec.rb +120 -0
  546. data/spec/single_ended_assembler_spec.rb +398 -0
  547. data/spec/spec_helper.rb +310 -0
  548. data/spec/velvet_graph_sequence_extractor_spec.rb +80 -0
  549. data/spec/visualise_spec.rb +105 -0
  550. data/spec/wander_spec.rb +119 -0
  551. data/spec/watch_for_changes.sh +16 -0
  552. data/validation/fasta_compare.rb +72 -0
  553. data/validation/gapfill_simulate_perfect.rb +108 -0
  554. metadata +899 -0
@@ -0,0 +1,331 @@
1
+ * ZLIB.INC - Interface to the general purpose compression library
2
+ *
3
+ * ILE RPG400 version by Patrick Monnerat, DATASPHERE.
4
+ * Version 1.2.3
5
+ *
6
+ *
7
+ * WARNING:
8
+ * Procedures inflateInit(), inflateInit2(), deflateInit(),
9
+ * deflateInit2() and inflateBackInit() need to be called with
10
+ * two additional arguments:
11
+ * the package version string and the stream control structure.
12
+ * size. This is needed because RPG lacks some macro feature.
13
+ * Call these procedures as:
14
+ * inflateInit(...: ZLIB_VERSION: %size(z_stream))
15
+ *
16
+ /if not defined(ZLIB_H_)
17
+ /define ZLIB_H_
18
+ *
19
+ **************************************************************************
20
+ * Constants
21
+ **************************************************************************
22
+ *
23
+ * Versioning information.
24
+ *
25
+ D ZLIB_VERSION C '1.2.3'
26
+ D ZLIB_VERNUM C X'1230'
27
+ *
28
+ * Other equates.
29
+ *
30
+ D Z_NO_FLUSH C 0
31
+ D Z_SYNC_FLUSH C 2
32
+ D Z_FULL_FLUSH C 3
33
+ D Z_FINISH C 4
34
+ D Z_BLOCK C 5
35
+ *
36
+ D Z_OK C 0
37
+ D Z_STREAM_END C 1
38
+ D Z_NEED_DICT C 2
39
+ D Z_ERRNO C -1
40
+ D Z_STREAM_ERROR C -2
41
+ D Z_DATA_ERROR C -3
42
+ D Z_MEM_ERROR C -4
43
+ D Z_BUF_ERROR C -5
44
+ DZ_VERSION_ERROR C -6
45
+ *
46
+ D Z_NO_COMPRESSION...
47
+ D C 0
48
+ D Z_BEST_SPEED C 1
49
+ D Z_BEST_COMPRESSION...
50
+ D C 9
51
+ D Z_DEFAULT_COMPRESSION...
52
+ D C -1
53
+ *
54
+ D Z_FILTERED C 1
55
+ D Z_HUFFMAN_ONLY C 2
56
+ D Z_RLE C 3
57
+ D Z_DEFAULT_STRATEGY...
58
+ D C 0
59
+ *
60
+ D Z_BINARY C 0
61
+ D Z_ASCII C 1
62
+ D Z_UNKNOWN C 2
63
+ *
64
+ D Z_DEFLATED C 8
65
+ *
66
+ D Z_NULL C 0
67
+ *
68
+ **************************************************************************
69
+ * Types
70
+ **************************************************************************
71
+ *
72
+ D z_streamp S * Stream struct ptr
73
+ D gzFile S * File pointer
74
+ D z_off_t S 10i 0 Stream offsets
75
+ *
76
+ **************************************************************************
77
+ * Structures
78
+ **************************************************************************
79
+ *
80
+ * The GZIP encode/decode stream support structure.
81
+ *
82
+ D z_stream DS align based(z_streamp)
83
+ D zs_next_in * Next input byte
84
+ D zs_avail_in 10U 0 Byte cnt at next_in
85
+ D zs_total_in 10U 0 Total bytes read
86
+ D zs_next_out * Output buffer ptr
87
+ D zs_avail_out 10U 0 Room left @ next_out
88
+ D zs_total_out 10U 0 Total bytes written
89
+ D zs_msg * Last errmsg or null
90
+ D zs_state * Internal state
91
+ D zs_zalloc * procptr Int. state allocator
92
+ D zs_free * procptr Int. state dealloc.
93
+ D zs_opaque * Private alloc. data
94
+ D zs_data_type 10i 0 ASC/BIN best guess
95
+ D zs_adler 10u 0 Uncompr. adler32 val
96
+ D 10U 0 Reserved
97
+ D 10U 0 Ptr. alignment
98
+ *
99
+ **************************************************************************
100
+ * Utility function prototypes
101
+ **************************************************************************
102
+ *
103
+ D compress PR 10I 0 extproc('compress')
104
+ D dest 32767 options(*varsize) Destination buffer
105
+ D destLen 10U 0 Destination length
106
+ D source 32767 const options(*varsize) Source buffer
107
+ D sourceLen 10u 0 value Source length
108
+ *
109
+ D compress2 PR 10I 0 extproc('compress2')
110
+ D dest 32767 options(*varsize) Destination buffer
111
+ D destLen 10U 0 Destination length
112
+ D source 32767 const options(*varsize) Source buffer
113
+ D sourceLen 10U 0 value Source length
114
+ D level 10I 0 value Compression level
115
+ *
116
+ D compressBound PR 10U 0 extproc('compressBound')
117
+ D sourceLen 10U 0 value
118
+ *
119
+ D uncompress PR 10I 0 extproc('uncompress')
120
+ D dest 32767 options(*varsize) Destination buffer
121
+ D destLen 10U 0 Destination length
122
+ D source 32767 const options(*varsize) Source buffer
123
+ D sourceLen 10U 0 value Source length
124
+ *
125
+ D gzopen PR extproc('gzopen')
126
+ D like(gzFile)
127
+ D path * value options(*string) File pathname
128
+ D mode * value options(*string) Open mode
129
+ *
130
+ D gzdopen PR extproc('gzdopen')
131
+ D like(gzFile)
132
+ D fd 10i 0 value File descriptor
133
+ D mode * value options(*string) Open mode
134
+ *
135
+ D gzsetparams PR 10I 0 extproc('gzsetparams')
136
+ D file value like(gzFile) File pointer
137
+ D level 10I 0 value
138
+ D strategy 10i 0 value
139
+ *
140
+ D gzread PR 10I 0 extproc('gzread')
141
+ D file value like(gzFile) File pointer
142
+ D buf 32767 options(*varsize) Buffer
143
+ D len 10u 0 value Buffer length
144
+ *
145
+ D gzwrite PR 10I 0 extproc('gzwrite')
146
+ D file value like(gzFile) File pointer
147
+ D buf 32767 const options(*varsize) Buffer
148
+ D len 10u 0 value Buffer length
149
+ *
150
+ D gzputs PR 10I 0 extproc('gzputs')
151
+ D file value like(gzFile) File pointer
152
+ D s * value options(*string) String to output
153
+ *
154
+ D gzgets PR * extproc('gzgets')
155
+ D file value like(gzFile) File pointer
156
+ D buf 32767 options(*varsize) Read buffer
157
+ D len 10i 0 value Buffer length
158
+ *
159
+ D gzflush PR 10i 0 extproc('gzflush')
160
+ D file value like(gzFile) File pointer
161
+ D flush 10I 0 value Type of flush
162
+ *
163
+ D gzseek PR extproc('gzseek')
164
+ D like(z_off_t)
165
+ D file value like(gzFile) File pointer
166
+ D offset value like(z_off_t) Offset
167
+ D whence 10i 0 value Origin
168
+ *
169
+ D gzrewind PR 10i 0 extproc('gzrewind')
170
+ D file value like(gzFile) File pointer
171
+ *
172
+ D gztell PR extproc('gztell')
173
+ D like(z_off_t)
174
+ D file value like(gzFile) File pointer
175
+ *
176
+ D gzeof PR 10i 0 extproc('gzeof')
177
+ D file value like(gzFile) File pointer
178
+ *
179
+ D gzclose PR 10i 0 extproc('gzclose')
180
+ D file value like(gzFile) File pointer
181
+ *
182
+ D gzerror PR * extproc('gzerror') Error string
183
+ D file value like(gzFile) File pointer
184
+ D errnum 10I 0 Error code
185
+ *
186
+ D gzclearerr PR extproc('gzclearerr')
187
+ D file value like(gzFile) File pointer
188
+ *
189
+ **************************************************************************
190
+ * Basic function prototypes
191
+ **************************************************************************
192
+ *
193
+ D zlibVersion PR * extproc('zlibVersion') Version string
194
+ *
195
+ D deflateInit PR 10I 0 extproc('deflateInit_') Init. compression
196
+ D strm like(z_stream) Compression stream
197
+ D level 10I 0 value Compression level
198
+ D version * value options(*string) Version string
199
+ D stream_size 10i 0 value Stream struct. size
200
+ *
201
+ D deflate PR 10I 0 extproc('deflate') Compress data
202
+ D strm like(z_stream) Compression stream
203
+ D flush 10I 0 value Flush type required
204
+ *
205
+ D deflateEnd PR 10I 0 extproc('deflateEnd') Termin. compression
206
+ D strm like(z_stream) Compression stream
207
+ *
208
+ D inflateInit PR 10I 0 extproc('inflateInit_') Init. expansion
209
+ D strm like(z_stream) Expansion stream
210
+ D version * value options(*string) Version string
211
+ D stream_size 10i 0 value Stream struct. size
212
+ *
213
+ D inflate PR 10I 0 extproc('inflate') Expand data
214
+ D strm like(z_stream) Expansion stream
215
+ D flush 10I 0 value Flush type required
216
+ *
217
+ D inflateEnd PR 10I 0 extproc('inflateEnd') Termin. expansion
218
+ D strm like(z_stream) Expansion stream
219
+ *
220
+ **************************************************************************
221
+ * Advanced function prototypes
222
+ **************************************************************************
223
+ *
224
+ D deflateInit2 PR 10I 0 extproc('deflateInit2_') Init. compression
225
+ D strm like(z_stream) Compression stream
226
+ D level 10I 0 value Compression level
227
+ D method 10I 0 value Compression method
228
+ D windowBits 10I 0 value log2(window size)
229
+ D memLevel 10I 0 value Mem/cmpress tradeoff
230
+ D strategy 10I 0 value Compression stategy
231
+ D version * value options(*string) Version string
232
+ D stream_size 10i 0 value Stream struct. size
233
+ *
234
+ D deflateSetDictionary...
235
+ D PR 10I 0 extproc('deflateSetDictionary') Init. dictionary
236
+ D strm like(z_stream) Compression stream
237
+ D dictionary 32767 const options(*varsize) Dictionary bytes
238
+ D dictLength 10U 0 value Dictionary length
239
+ *
240
+ D deflateCopy PR 10I 0 extproc('deflateCopy') Compress strm 2 strm
241
+ D dest like(z_stream) Destination stream
242
+ D source like(z_stream) Source stream
243
+ *
244
+ D deflateReset PR 10I 0 extproc('deflateReset') End and init. stream
245
+ D strm like(z_stream) Compression stream
246
+ *
247
+ D deflateParams PR 10I 0 extproc('deflateParams') Change level & strat
248
+ D strm like(z_stream) Compression stream
249
+ D level 10I 0 value Compression level
250
+ D strategy 10I 0 value Compression stategy
251
+ *
252
+ D deflateBound PR 10U 0 extproc('deflateBound') Change level & strat
253
+ D strm like(z_stream) Compression stream
254
+ D sourcelen 10U 0 value Compression level
255
+ *
256
+ D deflatePrime PR 10I 0 extproc('deflatePrime') Change level & strat
257
+ D strm like(z_stream) Compression stream
258
+ D bits 10I 0 value Number of bits to insert
259
+ D value 10I 0 value Bits to insert
260
+ *
261
+ D inflateInit2 PR 10I 0 extproc('inflateInit2_') Init. expansion
262
+ D strm like(z_stream) Expansion stream
263
+ D windowBits 10I 0 value log2(window size)
264
+ D version * value options(*string) Version string
265
+ D stream_size 10i 0 value Stream struct. size
266
+ *
267
+ D inflateSetDictionary...
268
+ D PR 10I 0 extproc('inflateSetDictionary') Init. dictionary
269
+ D strm like(z_stream) Expansion stream
270
+ D dictionary 32767 const options(*varsize) Dictionary bytes
271
+ D dictLength 10U 0 value Dictionary length
272
+ *
273
+ D inflateSync PR 10I 0 extproc('inflateSync') Sync. expansion
274
+ D strm like(z_stream) Expansion stream
275
+ *
276
+ D inflateCopy PR 10I 0 extproc('inflateCopy')
277
+ D dest like(z_stream) Destination stream
278
+ D source like(z_stream) Source stream
279
+ *
280
+ D inflateReset PR 10I 0 extproc('inflateReset') End and init. stream
281
+ D strm like(z_stream) Expansion stream
282
+ *
283
+ D inflateBackInit...
284
+ D PR 10I 0 extproc('inflateBackInit_')
285
+ D strm like(z_stream) Expansion stream
286
+ D windowBits 10I 0 value Log2(buffer size)
287
+ D window 32767 options(*varsize) Buffer
288
+ D version * value options(*string) Version string
289
+ D stream_size 10i 0 value Stream struct. size
290
+ *
291
+ D inflateBack PR 10I 0 extproc('inflateBack')
292
+ D strm like(z_stream) Expansion stream
293
+ D in * value procptr Input function
294
+ D in_desc * value Input descriptor
295
+ D out * value procptr Output function
296
+ D out_desc * value Output descriptor
297
+ *
298
+ D inflateBackEnd PR 10I 0 extproc('inflateBackEnd')
299
+ D strm like(z_stream) Expansion stream
300
+ *
301
+ D zlibCompileFlags...
302
+ D PR 10U 0 extproc('zlibCompileFlags')
303
+ *
304
+ **************************************************************************
305
+ * Checksum function prototypes
306
+ **************************************************************************
307
+ *
308
+ D adler32 PR 10U 0 extproc('adler32') New checksum
309
+ D adler 10U 0 value Old checksum
310
+ D buf 32767 const options(*varsize) Bytes to accumulate
311
+ D len 10U 0 value Buffer length
312
+ *
313
+ D crc32 PR 10U 0 extproc('crc32') New checksum
314
+ D crc 10U 0 value Old checksum
315
+ D buf 32767 const options(*varsize) Bytes to accumulate
316
+ D len 10U 0 value Buffer length
317
+ *
318
+ **************************************************************************
319
+ * Miscellaneous function prototypes
320
+ **************************************************************************
321
+ *
322
+ D zError PR * extproc('zError') Error string
323
+ D err 10I 0 value Error code
324
+ *
325
+ D inflateSyncPoint...
326
+ D PR 10I 0 extproc('inflateSyncPoint')
327
+ D strm like(z_stream) Expansion stream
328
+ *
329
+ D get_crc_table PR * extproc('get_crc_table') Ptr to ulongs
330
+ *
331
+ /endif
@@ -0,0 +1,79 @@
1
+ /* compress.c -- compress a memory buffer
2
+ * Copyright (C) 1995-2003 Jean-loup Gailly.
3
+ * For conditions of distribution and use, see copyright notice in zlib.h
4
+ */
5
+
6
+ /* @(#) $Id$ */
7
+
8
+ #define ZLIB_INTERNAL
9
+ #include "zlib.h"
10
+
11
+ /* ===========================================================================
12
+ Compresses the source buffer into the destination buffer. The level
13
+ parameter has the same meaning as in deflateInit. sourceLen is the byte
14
+ length of the source buffer. Upon entry, destLen is the total size of the
15
+ destination buffer, which must be at least 0.1% larger than sourceLen plus
16
+ 12 bytes. Upon exit, destLen is the actual size of the compressed buffer.
17
+
18
+ compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
19
+ memory, Z_BUF_ERROR if there was not enough room in the output buffer,
20
+ Z_STREAM_ERROR if the level parameter is invalid.
21
+ */
22
+ int ZEXPORT compress2 (dest, destLen, source, sourceLen, level)
23
+ Bytef *dest;
24
+ uLongf *destLen;
25
+ const Bytef *source;
26
+ uLong sourceLen;
27
+ int level;
28
+ {
29
+ z_stream stream;
30
+ int err;
31
+
32
+ stream.next_in = (Bytef*)source;
33
+ stream.avail_in = (uInt)sourceLen;
34
+ #ifdef MAXSEG_64K
35
+ /* Check for source > 64K on 16-bit machine: */
36
+ if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
37
+ #endif
38
+ stream.next_out = dest;
39
+ stream.avail_out = (uInt)*destLen;
40
+ if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR;
41
+
42
+ stream.zalloc = (alloc_func)0;
43
+ stream.zfree = (free_func)0;
44
+ stream.opaque = (voidpf)0;
45
+
46
+ err = deflateInit(&stream, level);
47
+ if (err != Z_OK) return err;
48
+
49
+ err = deflate(&stream, Z_FINISH);
50
+ if (err != Z_STREAM_END) {
51
+ deflateEnd(&stream);
52
+ return err == Z_OK ? Z_BUF_ERROR : err;
53
+ }
54
+ *destLen = stream.total_out;
55
+
56
+ err = deflateEnd(&stream);
57
+ return err;
58
+ }
59
+
60
+ /* ===========================================================================
61
+ */
62
+ int ZEXPORT compress (dest, destLen, source, sourceLen)
63
+ Bytef *dest;
64
+ uLongf *destLen;
65
+ const Bytef *source;
66
+ uLong sourceLen;
67
+ {
68
+ return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION);
69
+ }
70
+
71
+ /* ===========================================================================
72
+ If the default memLevel or windowBits for deflateInit() is changed, then
73
+ this function needs to be updated.
74
+ */
75
+ uLong ZEXPORT compressBound (sourceLen)
76
+ uLong sourceLen;
77
+ {
78
+ return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + 11;
79
+ }
@@ -0,0 +1,459 @@
1
+ #!/bin/sh
2
+ # configure script for zlib. This script is needed only if
3
+ # you wish to build a shared library and your system supports them,
4
+ # of if you need special compiler, flags or install directory.
5
+ # Otherwise, you can just use directly "make test; make install"
6
+ #
7
+ # To create a shared library, use "configure --shared"; by default a static
8
+ # library is created. If the primitive shared library support provided here
9
+ # does not work, use ftp://prep.ai.mit.edu/pub/gnu/libtool-*.tar.gz
10
+ #
11
+ # To impose specific compiler or flags or install directory, use for example:
12
+ # prefix=$HOME CC=cc CFLAGS="-O4" ./configure
13
+ # or for csh/tcsh users:
14
+ # (setenv prefix $HOME; setenv CC cc; setenv CFLAGS "-O4"; ./configure)
15
+ # LDSHARED is the command to be used to create a shared library
16
+
17
+ # Incorrect settings of CC or CFLAGS may prevent creating a shared library.
18
+ # If you have problems, try without defining CC and CFLAGS before reporting
19
+ # an error.
20
+
21
+ LIBS=libz.a
22
+ LDFLAGS="-L. ${LIBS}"
23
+ VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`
24
+ VER2=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\)\\..*/\1/p' < zlib.h`
25
+ VER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < zlib.h`
26
+ AR=${AR-"ar rc"}
27
+ RANLIB=${RANLIB-"ranlib"}
28
+ prefix=${prefix-/usr/local}
29
+ exec_prefix=${exec_prefix-'${prefix}'}
30
+ libdir=${libdir-'${exec_prefix}/lib'}
31
+ includedir=${includedir-'${prefix}/include'}
32
+ mandir=${mandir-'${prefix}/share/man'}
33
+ shared_ext='.so'
34
+ shared=0
35
+ gcc=0
36
+ old_cc="$CC"
37
+ old_cflags="$CFLAGS"
38
+
39
+ while test $# -ge 1
40
+ do
41
+ case "$1" in
42
+ -h* | --h*)
43
+ echo 'usage:'
44
+ echo ' configure [--shared] [--prefix=PREFIX] [--exec_prefix=EXPREFIX]'
45
+ echo ' [--libdir=LIBDIR] [--includedir=INCLUDEDIR]'
46
+ exit 0;;
47
+ -p*=* | --p*=*) prefix=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
48
+ -e*=* | --e*=*) exec_prefix=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
49
+ -l*=* | --libdir=*) libdir=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
50
+ -i*=* | --includedir=*) includedir=`echo $1 | sed 's/[-a-z_]*=//'`;shift;;
51
+ -p* | --p*) prefix="$2"; shift; shift;;
52
+ -e* | --e*) exec_prefix="$2"; shift; shift;;
53
+ -l* | --l*) libdir="$2"; shift; shift;;
54
+ -i* | --i*) includedir="$2"; shift; shift;;
55
+ -s* | --s*) shared=1; shift;;
56
+ *) echo "unknown option: $1"; echo "$0 --help for help"; exit 1;;
57
+ esac
58
+ done
59
+
60
+ test=ztest$$
61
+ cat > $test.c <<EOF
62
+ extern int getchar();
63
+ int hello() {return getchar();}
64
+ EOF
65
+
66
+ test -z "$CC" && echo Checking for gcc...
67
+ cc=${CC-gcc}
68
+ cflags=${CFLAGS-"-O3"}
69
+ # to force the asm version use: CFLAGS="-O3 -DASMV" ./configure
70
+ case "$cc" in
71
+ *gcc*) gcc=1;;
72
+ esac
73
+
74
+ if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) 2>/dev/null; then
75
+ CC="$cc"
76
+ SFLAGS=${CFLAGS-"-fPIC -O3"}
77
+ CFLAGS="$cflags"
78
+ case `(uname -s || echo unknown) 2>/dev/null` in
79
+ Linux | linux | GNU | GNU/*) LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1"};;
80
+ CYGWIN* | Cygwin* | cygwin* | OS/2* )
81
+ EXE='.exe';;
82
+ QNX*) # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4
83
+ # (alain.bonnefoy@icbt.com)
84
+ LDSHARED=${LDSHARED-"$cc -shared -Wl,-hlibz.so.1"};;
85
+ HP-UX*)
86
+ LDSHARED=${LDSHARED-"$cc -shared $SFLAGS"}
87
+ case `(uname -m || echo unknown) 2>/dev/null` in
88
+ ia64)
89
+ shared_ext='.so'
90
+ SHAREDLIB='libz.so';;
91
+ *)
92
+ shared_ext='.sl'
93
+ SHAREDLIB='libz.sl';;
94
+ esac;;
95
+ Darwin*) shared_ext='.dylib'
96
+ SHAREDLIB=libz$shared_ext
97
+ SHAREDLIBV=libz.$VER$shared_ext
98
+ SHAREDLIBM=libz.$VER1$shared_ext
99
+ LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER"};;
100
+ *) LDSHARED=${LDSHARED-"$cc -shared"};;
101
+ esac
102
+ else
103
+ # find system name and corresponding cc options
104
+ CC=${CC-cc}
105
+ case `(uname -sr || echo unknown) 2>/dev/null` in
106
+ HP-UX*) SFLAGS=${CFLAGS-"-O +z"}
107
+ CFLAGS=${CFLAGS-"-O"}
108
+ # LDSHARED=${LDSHARED-"ld -b +vnocompatwarnings"}
109
+ LDSHARED=${LDSHARED-"ld -b"}
110
+ case `(uname -m || echo unknown) 2>/dev/null` in
111
+ ia64)
112
+ shared_ext='.so'
113
+ SHAREDLIB='libz.so';;
114
+ *)
115
+ shared_ext='.sl'
116
+ SHAREDLIB='libz.sl';;
117
+ esac;;
118
+ IRIX*) SFLAGS=${CFLAGS-"-ansi -O2 -rpath ."}
119
+ CFLAGS=${CFLAGS-"-ansi -O2"}
120
+ LDSHARED=${LDSHARED-"cc -shared"};;
121
+ OSF1\ V4*) SFLAGS=${CFLAGS-"-O -std1"}
122
+ CFLAGS=${CFLAGS-"-O -std1"}
123
+ LDSHARED=${LDSHARED-"cc -shared -Wl,-soname,libz.so -Wl,-msym -Wl,-rpath,$(libdir) -Wl,-set_version,${VER}:1.0"};;
124
+ OSF1*) SFLAGS=${CFLAGS-"-O -std1"}
125
+ CFLAGS=${CFLAGS-"-O -std1"}
126
+ LDSHARED=${LDSHARED-"cc -shared"};;
127
+ QNX*) SFLAGS=${CFLAGS-"-4 -O"}
128
+ CFLAGS=${CFLAGS-"-4 -O"}
129
+ LDSHARED=${LDSHARED-"cc"}
130
+ RANLIB=${RANLIB-"true"}
131
+ AR="cc -A";;
132
+ SCO_SV\ 3.2*) SFLAGS=${CFLAGS-"-O3 -dy -KPIC "}
133
+ CFLAGS=${CFLAGS-"-O3"}
134
+ LDSHARED=${LDSHARED-"cc -dy -KPIC -G"};;
135
+ SunOS\ 5*) SFLAGS=${CFLAGS-"-fast -xcg89 -KPIC -R."}
136
+ CFLAGS=${CFLAGS-"-fast -xcg89"}
137
+ LDSHARED=${LDSHARED-"cc -G"};;
138
+ SunOS\ 4*) SFLAGS=${CFLAGS-"-O2 -PIC"}
139
+ CFLAGS=${CFLAGS-"-O2"}
140
+ LDSHARED=${LDSHARED-"ld"};;
141
+ SunStudio\ 9*) SFLAGS=${CFLAGS-"-DUSE_MMAP -fast -xcode=pic32 -xtarget=ultra3 -xarch=v9b"}
142
+ CFLAGS=${CFLAGS-"-DUSE_MMAP -fast -xtarget=ultra3 -xarch=v9b"}
143
+ LDSHARED=${LDSHARED-"cc -xarch=v9b"};;
144
+ UNIX_System_V\ 4.2.0)
145
+ SFLAGS=${CFLAGS-"-KPIC -O"}
146
+ CFLAGS=${CFLAGS-"-O"}
147
+ LDSHARED=${LDSHARED-"cc -G"};;
148
+ UNIX_SV\ 4.2MP)
149
+ SFLAGS=${CFLAGS-"-Kconform_pic -O"}
150
+ CFLAGS=${CFLAGS-"-O"}
151
+ LDSHARED=${LDSHARED-"cc -G"};;
152
+ OpenUNIX\ 5)
153
+ SFLAGS=${CFLAGS-"-KPIC -O"}
154
+ CFLAGS=${CFLAGS-"-O"}
155
+ LDSHARED=${LDSHARED-"cc -G"};;
156
+ AIX*) # Courtesy of dbakker@arrayasolutions.com
157
+ SFLAGS=${CFLAGS-"-O -qmaxmem=8192"}
158
+ CFLAGS=${CFLAGS-"-O -qmaxmem=8192"}
159
+ LDSHARED=${LDSHARED-"xlc -G"};;
160
+ # send working options for other systems to support@gzip.org
161
+ *) SFLAGS=${CFLAGS-"-O"}
162
+ CFLAGS=${CFLAGS-"-O"}
163
+ LDSHARED=${LDSHARED-"cc -shared"};;
164
+ esac
165
+ fi
166
+
167
+ SHAREDLIB=${SHAREDLIB-"libz$shared_ext"}
168
+ SHAREDLIBV=${SHAREDLIBV-"libz$shared_ext.$VER"}
169
+ SHAREDLIBM=${SHAREDLIBM-"libz$shared_ext.$VER1"}
170
+
171
+ if test $shared -eq 1; then
172
+ echo Checking for shared library support...
173
+ # we must test in two steps (cc then ld), required at least on SunOS 4.x
174
+ if test "`($CC -c $SFLAGS $test.c) 2>&1`" = "" &&
175
+ test "`($LDSHARED -o $test$shared_ext $test.o) 2>&1`" = ""; then
176
+ CFLAGS="$SFLAGS"
177
+ LIBS="$SHAREDLIBV"
178
+ echo Building shared library $SHAREDLIBV with $CC.
179
+ elif test -z "$old_cc" -a -z "$old_cflags"; then
180
+ echo No shared library support.
181
+ shared=0;
182
+ else
183
+ echo 'No shared library support; try without defining CC and CFLAGS'
184
+ shared=0;
185
+ fi
186
+ fi
187
+ if test $shared -eq 0; then
188
+ LDSHARED="$CC"
189
+ echo Building static library $LIBS version $VER with $CC.
190
+ else
191
+ LDFLAGS="-L. ${SHAREDLIBV}"
192
+ fi
193
+
194
+ cat > $test.c <<EOF
195
+ #include <unistd.h>
196
+ int main() { return 0; }
197
+ EOF
198
+ if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
199
+ sed < zconf.in.h "/HAVE_UNISTD_H/s%0%1%" > zconf.h
200
+ echo "Checking for unistd.h... Yes."
201
+ else
202
+ cp -p zconf.in.h zconf.h
203
+ echo "Checking for unistd.h... No."
204
+ fi
205
+
206
+ cat > $test.c <<EOF
207
+ #include <stdio.h>
208
+ #include <stdarg.h>
209
+ #include "zconf.h"
210
+
211
+ int main()
212
+ {
213
+ #ifndef STDC
214
+ choke me
215
+ #endif
216
+
217
+ return 0;
218
+ }
219
+ EOF
220
+
221
+ if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
222
+ echo "Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()"
223
+
224
+ cat > $test.c <<EOF
225
+ #include <stdio.h>
226
+ #include <stdarg.h>
227
+
228
+ int mytest(char *fmt, ...)
229
+ {
230
+ char buf[20];
231
+ va_list ap;
232
+
233
+ va_start(ap, fmt);
234
+ vsnprintf(buf, sizeof(buf), fmt, ap);
235
+ va_end(ap);
236
+ return 0;
237
+ }
238
+
239
+ int main()
240
+ {
241
+ return (mytest("Hello%d\n", 1));
242
+ }
243
+ EOF
244
+
245
+ if test "`($CC $CFLAGS -o $test $test.c) 2>&1`" = ""; then
246
+ echo "Checking for vsnprintf() in stdio.h... Yes."
247
+
248
+ cat >$test.c <<EOF
249
+ #include <stdio.h>
250
+ #include <stdarg.h>
251
+
252
+ int mytest(char *fmt, ...)
253
+ {
254
+ int n;
255
+ char buf[20];
256
+ va_list ap;
257
+
258
+ va_start(ap, fmt);
259
+ n = vsnprintf(buf, sizeof(buf), fmt, ap);
260
+ va_end(ap);
261
+ return n;
262
+ }
263
+
264
+ int main()
265
+ {
266
+ return (mytest("Hello%d\n", 1));
267
+ }
268
+ EOF
269
+
270
+ if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
271
+ echo "Checking for return value of vsnprintf()... Yes."
272
+ else
273
+ CFLAGS="$CFLAGS -DHAS_vsnprintf_void"
274
+ echo "Checking for return value of vsnprintf()... No."
275
+ echo " WARNING: apparently vsnprintf() does not return a value. zlib"
276
+ echo " can build but will be open to possible string-format security"
277
+ echo " vulnerabilities."
278
+ fi
279
+ else
280
+ CFLAGS="$CFLAGS -DNO_vsnprintf"
281
+ echo "Checking for vsnprintf() in stdio.h... No."
282
+ echo " WARNING: vsnprintf() not found, falling back to vsprintf(). zlib"
283
+ echo " can build but will be open to possible buffer-overflow security"
284
+ echo " vulnerabilities."
285
+
286
+ cat >$test.c <<EOF
287
+ #include <stdio.h>
288
+ #include <stdarg.h>
289
+
290
+ int mytest(char *fmt, ...)
291
+ {
292
+ int n;
293
+ char buf[20];
294
+ va_list ap;
295
+
296
+ va_start(ap, fmt);
297
+ n = vsprintf(buf, fmt, ap);
298
+ va_end(ap);
299
+ return n;
300
+ }
301
+
302
+ int main()
303
+ {
304
+ return (mytest("Hello%d\n", 1));
305
+ }
306
+ EOF
307
+
308
+ if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
309
+ echo "Checking for return value of vsprintf()... Yes."
310
+ else
311
+ CFLAGS="$CFLAGS -DHAS_vsprintf_void"
312
+ echo "Checking for return value of vsprintf()... No."
313
+ echo " WARNING: apparently vsprintf() does not return a value. zlib"
314
+ echo " can build but will be open to possible string-format security"
315
+ echo " vulnerabilities."
316
+ fi
317
+ fi
318
+ else
319
+ echo "Checking whether to use vs[n]printf() or s[n]printf()... using s[n]printf()"
320
+
321
+ cat >$test.c <<EOF
322
+ #include <stdio.h>
323
+
324
+ int mytest()
325
+ {
326
+ char buf[20];
327
+
328
+ snprintf(buf, sizeof(buf), "%s", "foo");
329
+ return 0;
330
+ }
331
+
332
+ int main()
333
+ {
334
+ return (mytest());
335
+ }
336
+ EOF
337
+
338
+ if test "`($CC $CFLAGS -o $test $test.c) 2>&1`" = ""; then
339
+ echo "Checking for snprintf() in stdio.h... Yes."
340
+
341
+ cat >$test.c <<EOF
342
+ #include <stdio.h>
343
+
344
+ int mytest()
345
+ {
346
+ char buf[20];
347
+
348
+ return snprintf(buf, sizeof(buf), "%s", "foo");
349
+ }
350
+
351
+ int main()
352
+ {
353
+ return (mytest());
354
+ }
355
+ EOF
356
+
357
+ if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
358
+ echo "Checking for return value of snprintf()... Yes."
359
+ else
360
+ CFLAGS="$CFLAGS -DHAS_snprintf_void"
361
+ echo "Checking for return value of snprintf()... No."
362
+ echo " WARNING: apparently snprintf() does not return a value. zlib"
363
+ echo " can build but will be open to possible string-format security"
364
+ echo " vulnerabilities."
365
+ fi
366
+ else
367
+ CFLAGS="$CFLAGS -DNO_snprintf"
368
+ echo "Checking for snprintf() in stdio.h... No."
369
+ echo " WARNING: snprintf() not found, falling back to sprintf(). zlib"
370
+ echo " can build but will be open to possible buffer-overflow security"
371
+ echo " vulnerabilities."
372
+
373
+ cat >$test.c <<EOF
374
+ #include <stdio.h>
375
+
376
+ int mytest()
377
+ {
378
+ char buf[20];
379
+
380
+ return sprintf(buf, "%s", "foo");
381
+ }
382
+
383
+ int main()
384
+ {
385
+ return (mytest());
386
+ }
387
+ EOF
388
+
389
+ if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
390
+ echo "Checking for return value of sprintf()... Yes."
391
+ else
392
+ CFLAGS="$CFLAGS -DHAS_sprintf_void"
393
+ echo "Checking for return value of sprintf()... No."
394
+ echo " WARNING: apparently sprintf() does not return a value. zlib"
395
+ echo " can build but will be open to possible string-format security"
396
+ echo " vulnerabilities."
397
+ fi
398
+ fi
399
+ fi
400
+
401
+ cat >$test.c <<EOF
402
+ #include <errno.h>
403
+ int main() { return 0; }
404
+ EOF
405
+ if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
406
+ echo "Checking for errno.h... Yes."
407
+ else
408
+ echo "Checking for errno.h... No."
409
+ CFLAGS="$CFLAGS -DNO_ERRNO_H"
410
+ fi
411
+
412
+ cat > $test.c <<EOF
413
+ #include <sys/types.h>
414
+ #include <sys/mman.h>
415
+ #include <sys/stat.h>
416
+ caddr_t hello() {
417
+ return mmap((caddr_t)0, (off_t)0, PROT_READ, MAP_SHARED, 0, (off_t)0);
418
+ }
419
+ EOF
420
+ if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
421
+ CFLAGS="$CFLAGS -DUSE_MMAP"
422
+ echo Checking for mmap support... Yes.
423
+ else
424
+ echo Checking for mmap support... No.
425
+ fi
426
+
427
+ CPP=${CPP-"$CC -E"}
428
+ case $CFLAGS in
429
+ *ASMV*)
430
+ if test "`nm $test.o | grep _hello`" = ""; then
431
+ CPP="$CPP -DNO_UNDERLINE"
432
+ echo Checking for underline in external names... No.
433
+ else
434
+ echo Checking for underline in external names... Yes.
435
+ fi;;
436
+ esac
437
+
438
+ rm -f $test.[co] $test $test$shared_ext
439
+
440
+ # udpate Makefile
441
+ sed < Makefile.in "
442
+ /^CC *=/s#=.*#=$CC#
443
+ /^CFLAGS *=/s#=.*#=$CFLAGS#
444
+ /^CPP *=/s#=.*#=$CPP#
445
+ /^LDSHARED *=/s#=.*#=$LDSHARED#
446
+ /^LIBS *=/s#=.*#=$LIBS#
447
+ /^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
448
+ /^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
449
+ /^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
450
+ /^AR *=/s#=.*#=$AR#
451
+ /^RANLIB *=/s#=.*#=$RANLIB#
452
+ /^EXE *=/s#=.*#=$EXE#
453
+ /^prefix *=/s#=.*#=$prefix#
454
+ /^exec_prefix *=/s#=.*#=$exec_prefix#
455
+ /^libdir *=/s#=.*#=$libdir#
456
+ /^includedir *=/s#=.*#=$includedir#
457
+ /^mandir *=/s#=.*#=$mandir#
458
+ /^LDFLAGS *=/s#=.*#=$LDFLAGS#
459
+ " > Makefile