rugged 1.3.1 → 1.6.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (547) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +34 -2
  3. data/ext/rugged/extconf.rb +6 -3
  4. data/ext/rugged/rugged.c +16 -0
  5. data/ext/rugged/rugged.h +4 -0
  6. data/ext/rugged/rugged_blame.c +2 -0
  7. data/ext/rugged/rugged_blob.c +3 -0
  8. data/ext/rugged/rugged_commit.c +1 -0
  9. data/ext/rugged/rugged_config.c +9 -2
  10. data/ext/rugged/rugged_diff.c +1 -0
  11. data/ext/rugged/rugged_index.c +2 -0
  12. data/ext/rugged/rugged_patch.c +1 -0
  13. data/ext/rugged/rugged_rebase.c +1 -0
  14. data/ext/rugged/rugged_reference.c +1 -0
  15. data/ext/rugged/rugged_remote.c +28 -10
  16. data/ext/rugged/rugged_repo.c +7 -9
  17. data/ext/rugged/rugged_revwalk.c +5 -1
  18. data/ext/rugged/rugged_settings.c +5 -0
  19. data/ext/rugged/rugged_submodule.c +1 -0
  20. data/ext/rugged/rugged_tag.c +1 -0
  21. data/ext/rugged/rugged_tree.c +4 -0
  22. data/lib/rugged/index.rb +1 -1
  23. data/lib/rugged/tree.rb +5 -1
  24. data/lib/rugged/version.rb +1 -1
  25. data/vendor/libgit2/CMakeLists.txt +132 -288
  26. data/vendor/libgit2/COPYING +106 -19
  27. data/vendor/libgit2/cmake/AddCFlagIfSupported.cmake +21 -21
  28. data/vendor/libgit2/cmake/AddClarTest.cmake +7 -0
  29. data/vendor/libgit2/cmake/DefaultCFlags.cmake +154 -0
  30. data/vendor/libgit2/cmake/EnableWarnings.cmake +13 -13
  31. data/vendor/libgit2/cmake/ExperimentalFeatures.cmake +23 -0
  32. data/vendor/libgit2/cmake/FindCoreFoundation.cmake +13 -13
  33. data/vendor/libgit2/cmake/FindGSSAPI.cmake +171 -287
  34. data/vendor/libgit2/cmake/FindGSSFramework.cmake +13 -13
  35. data/vendor/libgit2/cmake/{FindHTTP_Parser.cmake → FindHTTPParser.cmake} +17 -17
  36. data/vendor/libgit2/cmake/FindIconv.cmake +27 -27
  37. data/vendor/libgit2/cmake/FindLibSSH2.cmake +5 -5
  38. data/vendor/libgit2/cmake/FindPCRE.cmake +12 -13
  39. data/vendor/libgit2/cmake/FindPCRE2.cmake +12 -12
  40. data/vendor/libgit2/cmake/FindPkgLibraries.cmake +19 -19
  41. data/vendor/libgit2/cmake/FindSecurity.cmake +14 -14
  42. data/vendor/libgit2/cmake/FindStatNsec.cmake +12 -18
  43. data/vendor/libgit2/cmake/Findfutimens.cmake +8 -8
  44. data/vendor/libgit2/cmake/FindmbedTLS.cmake +63 -70
  45. data/vendor/libgit2/cmake/IdeSplitSources.cmake +18 -18
  46. data/vendor/libgit2/cmake/PkgBuildConfig.cmake +60 -60
  47. data/vendor/libgit2/cmake/SanitizeBool.cmake +20 -20
  48. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +37 -37
  49. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +19 -0
  50. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +100 -100
  51. data/vendor/libgit2/cmake/SelectHashes.cmake +91 -53
  52. data/vendor/libgit2/cmake/SelectRegex.cmake +51 -0
  53. data/vendor/libgit2/cmake/SelectSSH.cmake +41 -0
  54. data/vendor/libgit2/cmake/SelectWinHTTP.cmake +17 -0
  55. data/vendor/libgit2/cmake/SelectZlib.cmake +34 -0
  56. data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +6 -6
  57. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +33 -31
  58. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +3 -1
  59. data/vendor/libgit2/deps/ntlmclient/ntlm.c +4 -4
  60. data/vendor/libgit2/deps/ntlmclient/ntlm.h +4 -4
  61. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +2 -2
  62. data/vendor/libgit2/deps/pcre/CMakeLists.txt +88 -88
  63. data/vendor/libgit2/deps/winhttp/CMakeLists.txt +14 -16
  64. data/vendor/libgit2/deps/zlib/adler32.c +7 -0
  65. data/vendor/libgit2/deps/zlib/crc32.c +975 -288
  66. data/vendor/libgit2/deps/zlib/crc32.h +9441 -436
  67. data/vendor/libgit2/deps/zlib/deflate.c +83 -31
  68. data/vendor/libgit2/deps/zlib/deflate.h +12 -15
  69. data/vendor/libgit2/deps/zlib/gzguts.h +3 -2
  70. data/vendor/libgit2/deps/zlib/infback.c +2 -1
  71. data/vendor/libgit2/deps/zlib/inffast.c +14 -14
  72. data/vendor/libgit2/deps/zlib/inflate.c +39 -8
  73. data/vendor/libgit2/deps/zlib/inflate.h +3 -2
  74. data/vendor/libgit2/deps/zlib/inftrees.c +3 -3
  75. data/vendor/libgit2/deps/zlib/trees.c +27 -48
  76. data/vendor/libgit2/deps/zlib/zlib.h +126 -100
  77. data/vendor/libgit2/deps/zlib/zutil.c +2 -2
  78. data/vendor/libgit2/deps/zlib/zutil.h +12 -9
  79. data/vendor/libgit2/include/git2/apply.h +16 -2
  80. data/vendor/libgit2/include/git2/attr.h +11 -2
  81. data/vendor/libgit2/include/git2/blame.h +4 -1
  82. data/vendor/libgit2/include/git2/blob.h +14 -1
  83. data/vendor/libgit2/include/git2/branch.h +4 -2
  84. data/vendor/libgit2/include/git2/buffer.h +18 -78
  85. data/vendor/libgit2/include/git2/cert.h +2 -2
  86. data/vendor/libgit2/include/git2/checkout.h +5 -2
  87. data/vendor/libgit2/include/git2/clone.h +3 -3
  88. data/vendor/libgit2/include/git2/commit.h +2 -0
  89. data/vendor/libgit2/include/git2/common.h +38 -7
  90. data/vendor/libgit2/include/git2/config.h +25 -9
  91. data/vendor/libgit2/include/git2/credential.h +2 -1
  92. data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
  93. data/vendor/libgit2/include/git2/deprecated.h +9 -1
  94. data/vendor/libgit2/include/git2/describe.h +7 -2
  95. data/vendor/libgit2/include/git2/diff.h +18 -10
  96. data/vendor/libgit2/include/git2/email.h +1 -1
  97. data/vendor/libgit2/include/git2/errors.h +18 -3
  98. data/vendor/libgit2/include/git2/experimental.h +20 -0
  99. data/vendor/libgit2/include/git2/filter.h +7 -2
  100. data/vendor/libgit2/include/git2/graph.h +1 -0
  101. data/vendor/libgit2/include/git2/ignore.h +1 -1
  102. data/vendor/libgit2/include/git2/index.h +11 -5
  103. data/vendor/libgit2/include/git2/indexer.h +48 -0
  104. data/vendor/libgit2/include/git2/merge.h +24 -4
  105. data/vendor/libgit2/include/git2/message.h +2 -0
  106. data/vendor/libgit2/include/git2/object.h +49 -0
  107. data/vendor/libgit2/include/git2/odb.h +94 -13
  108. data/vendor/libgit2/include/git2/odb_backend.h +107 -19
  109. data/vendor/libgit2/include/git2/oid.h +115 -15
  110. data/vendor/libgit2/include/git2/pack.h +24 -8
  111. data/vendor/libgit2/include/git2/patch.h +8 -0
  112. data/vendor/libgit2/include/git2/pathspec.h +1 -1
  113. data/vendor/libgit2/include/git2/proxy.h +1 -1
  114. data/vendor/libgit2/include/git2/rebase.h +9 -1
  115. data/vendor/libgit2/include/git2/refdb.h +3 -0
  116. data/vendor/libgit2/include/git2/reflog.h +1 -1
  117. data/vendor/libgit2/include/git2/refs.h +2 -2
  118. data/vendor/libgit2/include/git2/remote.h +184 -37
  119. data/vendor/libgit2/include/git2/repository.h +34 -10
  120. data/vendor/libgit2/include/git2/reset.h +2 -2
  121. data/vendor/libgit2/include/git2/revparse.h +1 -1
  122. data/vendor/libgit2/include/git2/revwalk.h +4 -1
  123. data/vendor/libgit2/include/git2/signature.h +1 -1
  124. data/vendor/libgit2/include/git2/stash.h +61 -7
  125. data/vendor/libgit2/include/git2/status.h +14 -5
  126. data/vendor/libgit2/include/git2/strarray.h +0 -13
  127. data/vendor/libgit2/include/git2/submodule.h +7 -2
  128. data/vendor/libgit2/include/git2/sys/commit_graph.h +1 -1
  129. data/vendor/libgit2/include/git2/sys/odb_backend.h +3 -6
  130. data/vendor/libgit2/include/git2/sys/remote.h +46 -0
  131. data/vendor/libgit2/include/git2/sys/stream.h +1 -1
  132. data/vendor/libgit2/include/git2/sys/transport.h +46 -39
  133. data/vendor/libgit2/include/git2/tag.h +1 -0
  134. data/vendor/libgit2/include/git2/tree.h +4 -3
  135. data/vendor/libgit2/include/git2/types.h +7 -7
  136. data/vendor/libgit2/include/git2/version.h +27 -6
  137. data/vendor/libgit2/include/git2/worktree.h +12 -2
  138. data/vendor/libgit2/include/git2.h +1 -0
  139. data/vendor/libgit2/src/CMakeLists.txt +177 -419
  140. data/vendor/libgit2/src/README.md +12 -0
  141. data/vendor/libgit2/src/cli/CMakeLists.txt +57 -0
  142. data/vendor/libgit2/src/cli/README.md +26 -0
  143. data/vendor/libgit2/src/cli/cli.h +20 -0
  144. data/vendor/libgit2/src/cli/cmd.c +21 -0
  145. data/vendor/libgit2/src/cli/cmd.h +33 -0
  146. data/vendor/libgit2/src/cli/cmd_cat_file.c +204 -0
  147. data/vendor/libgit2/src/cli/cmd_clone.c +176 -0
  148. data/vendor/libgit2/src/cli/cmd_hash_object.c +154 -0
  149. data/vendor/libgit2/src/cli/cmd_help.c +86 -0
  150. data/vendor/libgit2/src/cli/error.h +51 -0
  151. data/vendor/libgit2/src/cli/main.c +106 -0
  152. data/vendor/libgit2/src/cli/opt.c +669 -0
  153. data/vendor/libgit2/src/cli/opt.h +349 -0
  154. data/vendor/libgit2/src/cli/opt_usage.c +194 -0
  155. data/vendor/libgit2/src/cli/opt_usage.h +35 -0
  156. data/vendor/libgit2/src/cli/progress.c +345 -0
  157. data/vendor/libgit2/src/cli/progress.h +117 -0
  158. data/vendor/libgit2/src/cli/sighandler.h +20 -0
  159. data/vendor/libgit2/src/cli/unix/sighandler.c +36 -0
  160. data/vendor/libgit2/src/cli/win32/precompiled.h +3 -0
  161. data/vendor/libgit2/src/cli/win32/sighandler.c +37 -0
  162. data/vendor/libgit2/src/libgit2/CMakeLists.txt +141 -0
  163. data/vendor/libgit2/src/{annotated_commit.c → libgit2/annotated_commit.c} +1 -1
  164. data/vendor/libgit2/src/{annotated_commit.h → libgit2/annotated_commit.h} +2 -2
  165. data/vendor/libgit2/src/{apply.c → libgit2/apply.c} +18 -18
  166. data/vendor/libgit2/src/{apply.h → libgit2/apply.h} +2 -2
  167. data/vendor/libgit2/src/{attr.c → libgit2/attr.c} +18 -18
  168. data/vendor/libgit2/src/{attr_file.c → libgit2/attr_file.c} +18 -18
  169. data/vendor/libgit2/src/{attr_file.h → libgit2/attr_file.h} +4 -4
  170. data/vendor/libgit2/src/{attrcache.c → libgit2/attrcache.c} +18 -13
  171. data/vendor/libgit2/src/{blame.c → libgit2/blame.c} +2 -0
  172. data/vendor/libgit2/src/{blame_git.c → libgit2/blame_git.c} +1 -1
  173. data/vendor/libgit2/src/{blob.c → libgit2/blob.c} +38 -29
  174. data/vendor/libgit2/src/{blob.h → libgit2/blob.h} +3 -3
  175. data/vendor/libgit2/src/{branch.c → libgit2/branch.c} +164 -118
  176. data/vendor/libgit2/src/{branch.h → libgit2/branch.h} +15 -3
  177. data/vendor/libgit2/src/libgit2/buf.c +126 -0
  178. data/vendor/libgit2/src/libgit2/buf.h +50 -0
  179. data/vendor/libgit2/src/{checkout.c → libgit2/checkout.c} +74 -68
  180. data/vendor/libgit2/src/{cherrypick.c → libgit2/cherrypick.c} +13 -13
  181. data/vendor/libgit2/src/{clone.c → libgit2/clone.c} +96 -67
  182. data/vendor/libgit2/src/{commit.c → libgit2/commit.c} +178 -73
  183. data/vendor/libgit2/src/libgit2/commit.h +87 -0
  184. data/vendor/libgit2/src/{commit_graph.c → libgit2/commit_graph.c} +122 -89
  185. data/vendor/libgit2/src/{commit_graph.h → libgit2/commit_graph.h} +14 -4
  186. data/vendor/libgit2/src/{commit_list.c → libgit2/commit_list.c} +7 -4
  187. data/vendor/libgit2/src/libgit2/common.h +55 -0
  188. data/vendor/libgit2/src/{config.c → libgit2/config.c} +107 -71
  189. data/vendor/libgit2/src/{config.h → libgit2/config.h} +15 -2
  190. data/vendor/libgit2/src/{config_file.c → libgit2/config_file.c} +105 -93
  191. data/vendor/libgit2/src/{config_mem.c → libgit2/config_mem.c} +9 -9
  192. data/vendor/libgit2/src/{config_parse.c → libgit2/config_parse.c} +27 -23
  193. data/vendor/libgit2/src/{crlf.c → libgit2/crlf.c} +24 -21
  194. data/vendor/libgit2/src/{describe.c → libgit2/describe.c} +35 -27
  195. data/vendor/libgit2/src/{diff.c → libgit2/diff.c} +30 -9
  196. data/vendor/libgit2/src/{diff.h → libgit2/diff.h} +2 -4
  197. data/vendor/libgit2/src/{diff_driver.c → libgit2/diff_driver.c} +34 -36
  198. data/vendor/libgit2/src/{diff_driver.h → libgit2/diff_driver.h} +3 -3
  199. data/vendor/libgit2/src/{diff_file.c → libgit2/diff_file.c} +44 -26
  200. data/vendor/libgit2/src/{diff_generate.c → libgit2/diff_generate.c} +47 -18
  201. data/vendor/libgit2/src/{diff_generate.h → libgit2/diff_generate.h} +5 -3
  202. data/vendor/libgit2/src/{diff_print.c → libgit2/diff_print.c} +112 -100
  203. data/vendor/libgit2/src/{diff_stats.c → libgit2/diff_stats.c} +40 -29
  204. data/vendor/libgit2/src/libgit2/diff_stats.h +18 -0
  205. data/vendor/libgit2/src/{diff_tform.c → libgit2/diff_tform.c} +13 -8
  206. data/vendor/libgit2/src/{diff_xdiff.c → libgit2/diff_xdiff.c} +4 -8
  207. data/vendor/libgit2/src/{email.c → libgit2/email.c} +55 -39
  208. data/vendor/libgit2/src/{email.h → libgit2/email.h} +1 -1
  209. data/vendor/libgit2/src/{errors.c → libgit2/errors.c} +18 -18
  210. data/vendor/libgit2/src/{errors.h → libgit2/errors.h} +1 -2
  211. data/vendor/libgit2/src/libgit2/experimental.h.in +13 -0
  212. data/vendor/libgit2/src/{fetch.c → libgit2/fetch.c} +72 -27
  213. data/vendor/libgit2/src/{fetch.h → libgit2/fetch.h} +1 -1
  214. data/vendor/libgit2/src/{fetchhead.c → libgit2/fetchhead.c} +23 -23
  215. data/vendor/libgit2/src/{filter.c → libgit2/filter.c} +127 -53
  216. data/vendor/libgit2/src/{filter.h → libgit2/filter.h} +26 -5
  217. data/vendor/libgit2/src/{ident.c → libgit2/ident.c} +20 -20
  218. data/vendor/libgit2/src/{ignore.c → libgit2/ignore.c} +35 -34
  219. data/vendor/libgit2/src/{ignore.h → libgit2/ignore.h} +2 -2
  220. data/vendor/libgit2/src/{index.c → libgit2/index.c} +91 -90
  221. data/vendor/libgit2/src/{index.h → libgit2/index.h} +6 -3
  222. data/vendor/libgit2/src/{indexer.c → libgit2/indexer.c} +173 -92
  223. data/vendor/libgit2/src/{iterator.c → libgit2/iterator.c} +71 -61
  224. data/vendor/libgit2/src/{iterator.h → libgit2/iterator.h} +5 -5
  225. data/vendor/libgit2/src/{libgit2.c → libgit2/libgit2.c} +54 -11
  226. data/vendor/libgit2/src/{mailmap.c → libgit2/mailmap.c} +38 -36
  227. data/vendor/libgit2/src/{merge.c → libgit2/merge.c} +30 -30
  228. data/vendor/libgit2/src/{merge.h → libgit2/merge.h} +1 -14
  229. data/vendor/libgit2/src/{merge_driver.c → libgit2/merge_driver.c} +2 -2
  230. data/vendor/libgit2/src/{merge_file.c → libgit2/merge_file.c} +13 -3
  231. data/vendor/libgit2/src/{message.c → libgit2/message.c} +21 -10
  232. data/vendor/libgit2/src/{midx.c → libgit2/midx.c} +112 -92
  233. data/vendor/libgit2/src/{midx.h → libgit2/midx.h} +5 -4
  234. data/vendor/libgit2/src/{mwindow.c → libgit2/mwindow.c} +15 -12
  235. data/vendor/libgit2/src/{mwindow.h → libgit2/mwindow.h} +5 -2
  236. data/vendor/libgit2/src/{netops.c → libgit2/netops.c} +1 -2
  237. data/vendor/libgit2/src/{netops.h → libgit2/netops.h} +1 -1
  238. data/vendor/libgit2/src/{notes.c → libgit2/notes.c} +25 -34
  239. data/vendor/libgit2/src/{object.c → libgit2/object.c} +135 -30
  240. data/vendor/libgit2/src/{object.h → libgit2/object.h} +12 -3
  241. data/vendor/libgit2/src/{odb.c → libgit2/odb.c} +228 -81
  242. data/vendor/libgit2/src/{odb.h → libgit2/odb.h} +44 -5
  243. data/vendor/libgit2/src/{odb_loose.c → libgit2/odb_loose.c} +192 -134
  244. data/vendor/libgit2/src/{odb_mempack.c → libgit2/odb_mempack.c} +18 -5
  245. data/vendor/libgit2/src/{odb_pack.c → libgit2/odb_pack.c} +137 -85
  246. data/vendor/libgit2/src/{oid.c → libgit2/oid.c} +136 -90
  247. data/vendor/libgit2/src/libgit2/oid.h +273 -0
  248. data/vendor/libgit2/src/{oidmap.c → libgit2/oidmap.c} +1 -1
  249. data/vendor/libgit2/src/{pack-objects.c → libgit2/pack-objects.c} +56 -30
  250. data/vendor/libgit2/src/{pack-objects.h → libgit2/pack-objects.h} +11 -6
  251. data/vendor/libgit2/src/{pack.c → libgit2/pack.c} +114 -84
  252. data/vendor/libgit2/src/{pack.h → libgit2/pack.h} +31 -16
  253. data/vendor/libgit2/src/{parse.c → libgit2/parse.c} +4 -3
  254. data/vendor/libgit2/src/{patch.c → libgit2/patch.c} +3 -3
  255. data/vendor/libgit2/src/{patch.h → libgit2/patch.h} +1 -0
  256. data/vendor/libgit2/src/{patch_generate.c → libgit2/patch_generate.c} +27 -11
  257. data/vendor/libgit2/src/{patch_generate.h → libgit2/patch_generate.h} +5 -5
  258. data/vendor/libgit2/src/{patch_parse.c → libgit2/patch_parse.c} +29 -29
  259. data/vendor/libgit2/src/libgit2/path.c +375 -0
  260. data/vendor/libgit2/src/libgit2/path.h +68 -0
  261. data/vendor/libgit2/src/{pathspec.c → libgit2/pathspec.c} +6 -6
  262. data/vendor/libgit2/src/{pathspec.h → libgit2/pathspec.h} +2 -2
  263. data/vendor/libgit2/src/{proxy.c → libgit2/proxy.c} +4 -1
  264. data/vendor/libgit2/src/{proxy.h → libgit2/proxy.h} +1 -1
  265. data/vendor/libgit2/src/{push.c → libgit2/push.c} +43 -38
  266. data/vendor/libgit2/src/{push.h → libgit2/push.h} +4 -16
  267. data/vendor/libgit2/src/{reader.c → libgit2/reader.c} +9 -9
  268. data/vendor/libgit2/src/{reader.h → libgit2/reader.h} +2 -2
  269. data/vendor/libgit2/src/{rebase.c → libgit2/rebase.c} +119 -107
  270. data/vendor/libgit2/src/{refdb_fs.c → libgit2/refdb_fs.c} +506 -197
  271. data/vendor/libgit2/src/{reflog.c → libgit2/reflog.c} +7 -5
  272. data/vendor/libgit2/src/{reflog.h → libgit2/reflog.h} +1 -2
  273. data/vendor/libgit2/src/{refs.c → libgit2/refs.c} +34 -32
  274. data/vendor/libgit2/src/{refs.h → libgit2/refs.h} +2 -2
  275. data/vendor/libgit2/src/{refspec.c → libgit2/refspec.c} +32 -37
  276. data/vendor/libgit2/src/{refspec.h → libgit2/refspec.h} +5 -2
  277. data/vendor/libgit2/src/{remote.c → libgit2/remote.c} +718 -420
  278. data/vendor/libgit2/src/libgit2/remote.h +100 -0
  279. data/vendor/libgit2/src/{repository.c → libgit2/repository.c} +690 -366
  280. data/vendor/libgit2/src/{repository.h → libgit2/repository.h} +21 -9
  281. data/vendor/libgit2/src/{reset.c → libgit2/reset.c} +8 -5
  282. data/vendor/libgit2/src/{revert.c → libgit2/revert.c} +14 -14
  283. data/vendor/libgit2/src/{revparse.c → libgit2/revparse.c} +71 -42
  284. data/vendor/libgit2/src/{revwalk.c → libgit2/revwalk.c} +12 -8
  285. data/vendor/libgit2/src/{signature.c → libgit2/signature.c} +12 -6
  286. data/vendor/libgit2/src/{signature.h → libgit2/signature.h} +1 -1
  287. data/vendor/libgit2/src/{stash.c → libgit2/stash.c} +235 -61
  288. data/vendor/libgit2/src/{status.c → libgit2/status.c} +4 -1
  289. data/vendor/libgit2/src/{strarray.c → libgit2/strarray.c} +1 -0
  290. data/vendor/libgit2/src/libgit2/strarray.h +25 -0
  291. data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.c +8 -6
  292. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.c +1 -1
  293. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.c +7 -3
  294. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.h +3 -3
  295. data/vendor/libgit2/src/{streams → libgit2/streams}/socket.c +4 -1
  296. data/vendor/libgit2/src/{submodule.c → libgit2/submodule.c} +177 -161
  297. data/vendor/libgit2/src/{submodule.h → libgit2/submodule.h} +1 -1
  298. data/vendor/libgit2/src/libgit2/sysdir.c +650 -0
  299. data/vendor/libgit2/src/{sysdir.h → libgit2/sysdir.h} +53 -18
  300. data/vendor/libgit2/src/{tag.c → libgit2/tag.c} +73 -42
  301. data/vendor/libgit2/src/{tag.h → libgit2/tag.h} +2 -2
  302. data/vendor/libgit2/src/{threadstate.c → libgit2/threadstate.c} +3 -3
  303. data/vendor/libgit2/src/{threadstate.h → libgit2/threadstate.h} +2 -2
  304. data/vendor/libgit2/src/{trace.c → libgit2/trace.c} +1 -14
  305. data/vendor/libgit2/src/{trace.h → libgit2/trace.h} +5 -22
  306. data/vendor/libgit2/src/{trailer.c → libgit2/trailer.c} +1 -1
  307. data/vendor/libgit2/src/{transaction.c → libgit2/transaction.c} +1 -1
  308. data/vendor/libgit2/src/{transport.c → libgit2/transport.c} +10 -10
  309. data/vendor/libgit2/src/{transports → libgit2/transports}/auth.c +7 -9
  310. data/vendor/libgit2/src/{transports → libgit2/transports}/auth.h +2 -3
  311. data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.c +12 -13
  312. data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.c +10 -10
  313. data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.h +0 -1
  314. data/vendor/libgit2/src/{transports → libgit2/transports}/git.c +9 -11
  315. data/vendor/libgit2/src/{transports → libgit2/transports}/http.c +41 -20
  316. data/vendor/libgit2/src/{transports → libgit2/transports}/http.h +2 -3
  317. data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.c +75 -66
  318. data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.h +10 -0
  319. data/vendor/libgit2/src/{transports → libgit2/transports}/local.c +138 -116
  320. data/vendor/libgit2/src/{transports → libgit2/transports}/smart.c +92 -133
  321. data/vendor/libgit2/src/{transports → libgit2/transports}/smart.h +35 -32
  322. data/vendor/libgit2/src/{transports → libgit2/transports}/smart_pkt.c +177 -65
  323. data/vendor/libgit2/src/{transports → libgit2/transports}/smart_protocol.c +97 -49
  324. data/vendor/libgit2/src/{transports → libgit2/transports}/ssh.c +365 -198
  325. data/vendor/libgit2/src/{transports → libgit2/transports}/winhttp.c +58 -59
  326. data/vendor/libgit2/src/{tree-cache.c → libgit2/tree-cache.c} +8 -8
  327. data/vendor/libgit2/src/{tree-cache.h → libgit2/tree-cache.h} +2 -2
  328. data/vendor/libgit2/src/{tree.c → libgit2/tree.c} +93 -83
  329. data/vendor/libgit2/src/{tree.h → libgit2/tree.h} +4 -4
  330. data/vendor/libgit2/src/{worktree.c → libgit2/worktree.c} +121 -94
  331. data/vendor/libgit2/src/{worktree.h → libgit2/worktree.h} +1 -1
  332. data/vendor/libgit2/src/libgit2/xdiff/git-xdiff.h +53 -0
  333. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiff.h +15 -15
  334. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiffi.c +134 -108
  335. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xemit.c +23 -7
  336. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xhistogram.c +87 -78
  337. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xinclude.h +1 -12
  338. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xmerge.c +104 -117
  339. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xpatience.c +6 -17
  340. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xprepare.c +15 -20
  341. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xutils.c +18 -7
  342. data/vendor/libgit2/src/util/CMakeLists.txt +80 -0
  343. data/vendor/libgit2/src/{allocators → util/allocators}/failalloc.h +1 -1
  344. data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.h +1 -1
  345. data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.h +1 -1
  346. data/vendor/libgit2/src/{array.h → util/array.h} +1 -1
  347. data/vendor/libgit2/src/{assert_safe.h → util/assert_safe.h} +16 -0
  348. data/vendor/libgit2/src/{cc-compat.h → util/cc-compat.h} +1 -1
  349. data/vendor/libgit2/src/{date.c → util/date.c} +14 -20
  350. data/vendor/libgit2/src/util/date.h +33 -0
  351. data/vendor/libgit2/src/{filebuf.c → util/filebuf.c} +29 -29
  352. data/vendor/libgit2/src/{filebuf.h → util/filebuf.h} +2 -2
  353. data/vendor/libgit2/src/{path.c → util/fs_path.c} +580 -615
  354. data/vendor/libgit2/src/{path.h → util/fs_path.h} +234 -181
  355. data/vendor/libgit2/src/{futils.c → util/futils.c} +135 -90
  356. data/vendor/libgit2/src/{futils.h → util/futils.h} +28 -15
  357. data/vendor/libgit2/src/{features.h.in → util/git2_features.h.in} +15 -1
  358. data/vendor/libgit2/src/{common.h → util/git2_util.h} +20 -59
  359. data/vendor/libgit2/src/util/hash/builtin.c +53 -0
  360. data/vendor/libgit2/src/{hash/sha1/openssl.h → util/hash/builtin.h} +6 -6
  361. data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.c +3 -3
  362. data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.h +3 -3
  363. data/vendor/libgit2/src/util/hash/common_crypto.c +112 -0
  364. data/vendor/libgit2/src/{hash/sha1 → util/hash}/common_crypto.h +11 -3
  365. data/vendor/libgit2/src/util/hash/mbedtls.c +92 -0
  366. data/vendor/libgit2/src/{hash/sha1 → util/hash}/mbedtls.h +14 -4
  367. data/vendor/libgit2/src/util/hash/openssl.c +195 -0
  368. data/vendor/libgit2/src/util/hash/openssl.h +45 -0
  369. data/vendor/libgit2/src/util/hash/rfc6234/sha.h +243 -0
  370. data/vendor/libgit2/src/util/hash/rfc6234/sha224-256.c +601 -0
  371. data/vendor/libgit2/src/util/hash/sha.h +70 -0
  372. data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.c +1 -1
  373. data/vendor/libgit2/src/util/hash/win32.c +549 -0
  374. data/vendor/libgit2/src/util/hash/win32.h +60 -0
  375. data/vendor/libgit2/src/util/hash.c +158 -0
  376. data/vendor/libgit2/src/util/hash.h +61 -0
  377. data/vendor/libgit2/src/{khash.h → util/khash.h} +1 -1
  378. data/vendor/libgit2/src/{map.h → util/map.h} +1 -1
  379. data/vendor/libgit2/src/util/net.c +1003 -0
  380. data/vendor/libgit2/src/{net.h → util/net.h} +18 -4
  381. data/vendor/libgit2/src/{pool.h → util/pool.h} +1 -1
  382. data/vendor/libgit2/src/{posix.c → util/posix.c} +3 -3
  383. data/vendor/libgit2/src/{posix.h → util/posix.h} +4 -1
  384. data/vendor/libgit2/src/{pqueue.h → util/pqueue.h} +2 -2
  385. data/vendor/libgit2/src/util/rand.c +234 -0
  386. data/vendor/libgit2/src/util/rand.h +37 -0
  387. data/vendor/libgit2/src/{regexp.c → util/regexp.c} +4 -4
  388. data/vendor/libgit2/src/{regexp.h → util/regexp.h} +1 -1
  389. data/vendor/libgit2/src/{runtime.c → util/runtime.c} +1 -1
  390. data/vendor/libgit2/src/{runtime.h → util/runtime.h} +1 -1
  391. data/vendor/libgit2/src/{sortedcache.c → util/sortedcache.c} +1 -1
  392. data/vendor/libgit2/src/{sortedcache.h → util/sortedcache.h} +2 -2
  393. data/vendor/libgit2/src/{buffer.c → util/str.c} +157 -151
  394. data/vendor/libgit2/src/util/str.h +357 -0
  395. data/vendor/libgit2/src/{strmap.h → util/strmap.h} +1 -1
  396. data/vendor/libgit2/src/{thread.c → util/thread.c} +1 -1
  397. data/vendor/libgit2/src/{thread.h → util/thread.h} +23 -22
  398. data/vendor/libgit2/src/{tsort.c → util/tsort.c} +1 -1
  399. data/vendor/libgit2/src/{unix → util/unix}/map.c +1 -3
  400. data/vendor/libgit2/src/{unix → util/unix}/posix.h +1 -4
  401. data/vendor/libgit2/src/{unix → util/unix}/realpath.c +1 -3
  402. data/vendor/libgit2/src/{utf8.c → util/utf8.c} +1 -1
  403. data/vendor/libgit2/src/{utf8.h → util/utf8.h} +1 -1
  404. data/vendor/libgit2/src/{util.c → util/util.c} +15 -15
  405. data/vendor/libgit2/src/{util.h → util/util.h} +4 -29
  406. data/vendor/libgit2/src/{varint.h → util/varint.h} +1 -1
  407. data/vendor/libgit2/src/{vector.h → util/vector.h} +2 -2
  408. data/vendor/libgit2/src/{wildmatch.h → util/wildmatch.h} +1 -1
  409. data/vendor/libgit2/src/{win32 → util/win32}/dir.h +1 -1
  410. data/vendor/libgit2/src/{win32 → util/win32}/error.h +1 -1
  411. data/vendor/libgit2/src/{win32 → util/win32}/map.c +1 -1
  412. data/vendor/libgit2/src/{win32 → util/win32}/path_w32.c +140 -9
  413. data/vendor/libgit2/src/{win32 → util/win32}/path_w32.h +3 -1
  414. data/vendor/libgit2/src/{win32 → util/win32}/posix.h +1 -2
  415. data/vendor/libgit2/src/{win32 → util/win32}/posix_w32.c +12 -28
  416. data/vendor/libgit2/src/util/win32/precompiled.c +1 -0
  417. data/vendor/libgit2/src/{win32 → util/win32}/precompiled.h +1 -1
  418. data/vendor/libgit2/src/{win32 → util/win32}/thread.h +1 -1
  419. data/vendor/libgit2/src/{win32 → util/win32}/utf-conv.h +1 -1
  420. data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.c +2 -3
  421. data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.h +3 -4
  422. data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.c +1 -1
  423. data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.h +1 -1
  424. data/vendor/libgit2/src/{win32 → util/win32}/w32_util.h +1 -1
  425. data/vendor/libgit2/src/{zstream.c → util/zstream.c} +5 -5
  426. data/vendor/libgit2/src/{zstream.h → util/zstream.h} +5 -5
  427. metadata +402 -356
  428. data/vendor/libgit2/src/buffer.h +0 -374
  429. data/vendor/libgit2/src/commit.h +0 -46
  430. data/vendor/libgit2/src/hash/sha1/common_crypto.c +0 -57
  431. data/vendor/libgit2/src/hash/sha1/generic.c +0 -300
  432. data/vendor/libgit2/src/hash/sha1/generic.h +0 -19
  433. data/vendor/libgit2/src/hash/sha1/mbedtls.c +0 -46
  434. data/vendor/libgit2/src/hash/sha1/openssl.c +0 -59
  435. data/vendor/libgit2/src/hash/sha1/win32.c +0 -333
  436. data/vendor/libgit2/src/hash/sha1/win32.h +0 -128
  437. data/vendor/libgit2/src/hash/sha1.h +0 -38
  438. data/vendor/libgit2/src/hash.c +0 -110
  439. data/vendor/libgit2/src/hash.h +0 -46
  440. data/vendor/libgit2/src/message.h +0 -17
  441. data/vendor/libgit2/src/net.c +0 -540
  442. data/vendor/libgit2/src/oid.h +0 -51
  443. data/vendor/libgit2/src/remote.h +0 -55
  444. data/vendor/libgit2/src/sysdir.c +0 -347
  445. data/vendor/libgit2/src/win32/findfile.c +0 -230
  446. data/vendor/libgit2/src/win32/findfile.h +0 -19
  447. /data/vendor/libgit2/src/{win32 → cli/win32}/precompiled.c +0 -0
  448. /data/vendor/libgit2/src/{attr.h → libgit2/attr.h} +0 -0
  449. /data/vendor/libgit2/src/{attrcache.h → libgit2/attrcache.h} +0 -0
  450. /data/vendor/libgit2/src/{blame.h → libgit2/blame.h} +0 -0
  451. /data/vendor/libgit2/src/{blame_git.h → libgit2/blame_git.h} +0 -0
  452. /data/vendor/libgit2/src/{cache.c → libgit2/cache.c} +0 -0
  453. /data/vendor/libgit2/src/{cache.h → libgit2/cache.h} +0 -0
  454. /data/vendor/libgit2/src/{checkout.h → libgit2/checkout.h} +0 -0
  455. /data/vendor/libgit2/src/{clone.h → libgit2/clone.h} +0 -0
  456. /data/vendor/libgit2/src/{commit_list.h → libgit2/commit_list.h} +0 -0
  457. /data/vendor/libgit2/src/{config_backend.h → libgit2/config_backend.h} +0 -0
  458. /data/vendor/libgit2/src/{config_cache.c → libgit2/config_cache.c} +0 -0
  459. /data/vendor/libgit2/src/{config_entries.c → libgit2/config_entries.c} +0 -0
  460. /data/vendor/libgit2/src/{config_entries.h → libgit2/config_entries.h} +0 -0
  461. /data/vendor/libgit2/src/{config_parse.h → libgit2/config_parse.h} +0 -0
  462. /data/vendor/libgit2/src/{config_snapshot.c → libgit2/config_snapshot.c} +0 -0
  463. /data/vendor/libgit2/src/{delta.c → libgit2/delta.c} +0 -0
  464. /data/vendor/libgit2/src/{delta.h → libgit2/delta.h} +0 -0
  465. /data/vendor/libgit2/src/{diff_file.h → libgit2/diff_file.h} +0 -0
  466. /data/vendor/libgit2/src/{diff_parse.c → libgit2/diff_parse.c} +0 -0
  467. /data/vendor/libgit2/src/{diff_parse.h → libgit2/diff_parse.h} +0 -0
  468. /data/vendor/libgit2/src/{diff_tform.h → libgit2/diff_tform.h} +0 -0
  469. /data/vendor/libgit2/src/{diff_xdiff.h → libgit2/diff_xdiff.h} +0 -0
  470. /data/vendor/libgit2/src/{fetchhead.h → libgit2/fetchhead.h} +0 -0
  471. /data/vendor/libgit2/src/{win32 → libgit2}/git2.rc +0 -0
  472. /data/vendor/libgit2/src/{graph.c → libgit2/graph.c} +0 -0
  473. /data/vendor/libgit2/src/{hashsig.c → libgit2/hashsig.c} +0 -0
  474. /data/vendor/libgit2/src/{idxmap.c → libgit2/idxmap.c} +0 -0
  475. /data/vendor/libgit2/src/{idxmap.h → libgit2/idxmap.h} +0 -0
  476. /data/vendor/libgit2/src/{indexer.h → libgit2/indexer.h} +0 -0
  477. /data/vendor/libgit2/src/{libgit2.h → libgit2/libgit2.h} +0 -0
  478. /data/vendor/libgit2/src/{mailmap.h → libgit2/mailmap.h} +0 -0
  479. /data/vendor/libgit2/src/{merge_driver.h → libgit2/merge_driver.h} +0 -0
  480. /data/vendor/libgit2/src/{notes.h → libgit2/notes.h} +0 -0
  481. /data/vendor/libgit2/src/{object_api.c → libgit2/object_api.c} +0 -0
  482. /data/vendor/libgit2/src/{offmap.c → libgit2/offmap.c} +0 -0
  483. /data/vendor/libgit2/src/{offmap.h → libgit2/offmap.h} +0 -0
  484. /data/vendor/libgit2/src/{oidarray.c → libgit2/oidarray.c} +0 -0
  485. /data/vendor/libgit2/src/{oidarray.h → libgit2/oidarray.h} +0 -0
  486. /data/vendor/libgit2/src/{oidmap.h → libgit2/oidmap.h} +0 -0
  487. /data/vendor/libgit2/src/{parse.h → libgit2/parse.h} +0 -0
  488. /data/vendor/libgit2/src/{patch_parse.h → libgit2/patch_parse.h} +0 -0
  489. /data/vendor/libgit2/src/{refdb.c → libgit2/refdb.c} +0 -0
  490. /data/vendor/libgit2/src/{refdb.h → libgit2/refdb.h} +0 -0
  491. /data/vendor/libgit2/src/{repo_template.h → libgit2/repo_template.h} +0 -0
  492. /data/vendor/libgit2/src/{revwalk.h → libgit2/revwalk.h} +0 -0
  493. /data/vendor/libgit2/src/{settings.h → libgit2/settings.h} +0 -0
  494. /data/vendor/libgit2/src/{status.h → libgit2/status.h} +0 -0
  495. /data/vendor/libgit2/src/{stream.h → libgit2/stream.h} +0 -0
  496. /data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.h +0 -0
  497. /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.h +0 -0
  498. /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.c +0 -0
  499. /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.h +0 -0
  500. /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.c +0 -0
  501. /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.h +0 -0
  502. /data/vendor/libgit2/src/{streams → libgit2/streams}/socket.h +0 -0
  503. /data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.c +0 -0
  504. /data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.h +0 -0
  505. /data/vendor/libgit2/src/{streams → libgit2/streams}/tls.c +0 -0
  506. /data/vendor/libgit2/src/{streams → libgit2/streams}/tls.h +0 -0
  507. /data/vendor/libgit2/src/{transaction.h → libgit2/transaction.h} +0 -0
  508. /data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.h +0 -0
  509. /data/vendor/libgit2/src/{transports → libgit2/transports}/credential.c +0 -0
  510. /data/vendor/libgit2/src/{transports → libgit2/transports}/credential_helpers.c +0 -0
  511. /data/vendor/libgit2/src/{transports → libgit2/transports}/ssh.h +0 -0
  512. /data/vendor/libgit2/src/{userdiff.h → libgit2/userdiff.h} +0 -0
  513. /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiffi.h +0 -0
  514. /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xemit.h +0 -0
  515. /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xmacros.h +0 -0
  516. /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xprepare.h +0 -0
  517. /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xtypes.h +0 -0
  518. /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xutils.h +0 -0
  519. /data/vendor/libgit2/src/{alloc.c → util/alloc.c} +0 -0
  520. /data/vendor/libgit2/src/{alloc.h → util/alloc.h} +0 -0
  521. /data/vendor/libgit2/src/{allocators → util/allocators}/failalloc.c +0 -0
  522. /data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.c +0 -0
  523. /data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.c +0 -0
  524. /data/vendor/libgit2/src/{bitvec.h → util/bitvec.h} +0 -0
  525. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.h +0 -0
  526. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.c +0 -0
  527. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.h +0 -0
  528. /data/vendor/libgit2/src/{integer.h → util/integer.h} +0 -0
  529. /data/vendor/libgit2/src/{pool.c → util/pool.c} +0 -0
  530. /data/vendor/libgit2/src/{pqueue.c → util/pqueue.c} +0 -0
  531. /data/vendor/libgit2/src/{strmap.c → util/strmap.c} +0 -0
  532. /data/vendor/libgit2/src/{strnlen.h → util/strnlen.h} +0 -0
  533. /data/vendor/libgit2/src/{unix → util/unix}/pthread.h +0 -0
  534. /data/vendor/libgit2/src/{varint.c → util/varint.c} +0 -0
  535. /data/vendor/libgit2/src/{vector.c → util/vector.c} +0 -0
  536. /data/vendor/libgit2/src/{wildmatch.c → util/wildmatch.c} +0 -0
  537. /data/vendor/libgit2/src/{win32 → util/win32}/dir.c +0 -0
  538. /data/vendor/libgit2/src/{win32 → util/win32}/error.c +0 -0
  539. /data/vendor/libgit2/src/{win32 → util/win32}/mingw-compat.h +0 -0
  540. /data/vendor/libgit2/src/{win32 → util/win32}/msvc-compat.h +0 -0
  541. /data/vendor/libgit2/src/{win32 → util/win32}/reparse.h +0 -0
  542. /data/vendor/libgit2/src/{win32 → util/win32}/thread.c +0 -0
  543. /data/vendor/libgit2/src/{win32 → util/win32}/utf-conv.c +0 -0
  544. /data/vendor/libgit2/src/{win32 → util/win32}/version.h +0 -0
  545. /data/vendor/libgit2/src/{win32 → util/win32}/w32_common.h +0 -0
  546. /data/vendor/libgit2/src/{win32 → util/win32}/w32_util.c +0 -0
  547. /data/vendor/libgit2/src/{win32 → util/win32}/win32-compat.h +0 -0
@@ -1,306 +1,150 @@
1
- # CMake build script for the libgit2 project
1
+ # libgit2: the cross-platform, linkable library implementation of git.
2
+ # See `README.md` for build instructions.
2
3
  #
3
- # Building (out of source build):
4
- # > mkdir build && cd build
5
- # > cmake .. [-DSETTINGS=VALUE]
6
- # > cmake --build .
7
- #
8
- # Testing:
9
- # > ctest -V
10
- #
11
- # Install:
12
- # > cmake --build . --target install
4
+ # This top-level CMakeLists.txt sets up configuration options and
5
+ # determines which subprojects to build.
13
6
 
14
- CMAKE_MINIMUM_REQUIRED(VERSION 3.5.1)
7
+ cmake_minimum_required(VERSION 3.5.1)
15
8
 
16
- project(libgit2 VERSION "1.3.0" LANGUAGES C)
9
+ project(libgit2 VERSION "1.6.2" LANGUAGES C)
17
10
 
18
11
  # Add find modules to the path
19
- set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${libgit2_SOURCE_DIR}/cmake/")
20
-
21
- INCLUDE(CheckLibraryExists)
22
- INCLUDE(CheckFunctionExists)
23
- INCLUDE(CheckSymbolExists)
24
- INCLUDE(CheckStructHasMember)
25
- INCLUDE(CheckPrototypeDefinition) # Added in CMake 3.0
26
- INCLUDE(AddCFlagIfSupported)
27
- INCLUDE(FindPkgLibraries)
28
- INCLUDE(FindThreads)
29
- INCLUDE(FindStatNsec)
30
- INCLUDE(Findfutimens)
31
- INCLUDE(GNUInstallDirs)
32
- INCLUDE(IdeSplitSources)
33
- INCLUDE(FeatureSummary)
34
- INCLUDE(EnableWarnings)
12
+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
35
13
 
14
+ #
36
15
  # Build options
37
16
  #
38
- OPTION(SONAME "Set the (SO)VERSION of the target" ON)
39
- OPTION(BUILD_SHARED_LIBS "Build Shared Library (OFF for Static)" ON)
40
- OPTION(THREADSAFE "Build libgit2 as threadsafe" ON)
41
- OPTION(BUILD_CLAR "Build Tests using the Clar suite" ON)
42
- OPTION(BUILD_EXAMPLES "Build library usage example apps" OFF)
43
- OPTION(BUILD_FUZZERS "Build the fuzz targets" OFF)
44
- OPTION(ENABLE_TRACE "Enables tracing support" ON)
45
- OPTION(LIBGIT2_FILENAME "Name of the produced binary" OFF)
46
- OPTION(USE_SSH "Link with libssh2 to enable SSH support" ON)
47
- OPTION(USE_HTTPS "Enable HTTPS support. Can be set to a specific backend" ON)
48
- OPTION(USE_SHA1 "Enable SHA1. Can be set to CollisionDetection(ON)/HTTPS/Generic" ON)
49
- OPTION(USE_GSSAPI "Link with libgssapi for SPNEGO auth" OFF)
50
- OPTION(USE_STANDALONE_FUZZERS "Enable standalone fuzzers (compatible with gcc)" OFF)
51
- OPTION(USE_LEAK_CHECKER "Run tests with leak checker" OFF)
52
- OPTION(DEBUG_POOL "Enable debug pool allocator" OFF)
53
- OPTION(DEBUG_STRICT_ALLOC "Enable strict allocator behavior" OFF)
54
- OPTION(DEBUG_STRICT_OPEN "Enable path validation in open" OFF)
55
- OPTION(ENABLE_WERROR "Enable compilation with -Werror" OFF)
56
- OPTION(USE_BUNDLED_ZLIB "Use the bundled version of zlib. Can be set to one of Bundled(ON)/Chromium. The Chromium option requires a x86_64 processor with SSE4.2 and CLMUL" OFF)
57
- SET(USE_HTTP_PARSER "" CACHE STRING "Specifies the HTTP Parser implementation; either system or builtin.")
58
- OPTION(DEPRECATE_HARD "Do not include deprecated functions in the library" OFF)
59
- SET(REGEX_BACKEND "" CACHE STRING "Regular expression implementation. One of regcomp_l, pcre2, pcre, regcomp, or builtin.")
60
-
61
- IF (UNIX)
62
- IF (NOT USE_HTTPS)
63
- OPTION(USE_NTLMCLIENT "Enable NTLM support on Unix." OFF )
64
- ELSE()
65
- OPTION(USE_NTLMCLIENT "Enable NTLM support on Unix." ON )
66
- ENDIF()
67
- ENDIF()
68
-
69
- IF (UNIX AND NOT APPLE)
70
- OPTION(ENABLE_REPRODUCIBLE_BUILDS "Enable reproducible builds" OFF)
71
- ENDIF()
72
-
73
- IF (APPLE)
74
- OPTION(USE_ICONV "Link with and use iconv library" ON)
75
- ENDIF()
76
-
77
- IF(MSVC)
17
+
18
+ # Experimental features
19
+ option(EXPERIMENTAL_SHA256 "Enable experimental SHA256 support (for R&D/testing)" OFF)
20
+
21
+ # Optional subsystems
22
+ option(BUILD_SHARED_LIBS "Build Shared Library (OFF for Static)" ON)
23
+ option(BUILD_TESTS "Build Tests using the Clar suite" ON)
24
+ option(BUILD_CLI "Build the command-line interface" ON)
25
+ option(BUILD_EXAMPLES "Build library usage example apps" OFF)
26
+ option(BUILD_FUZZERS "Build the fuzz targets" OFF)
27
+
28
+ # Suggested functionality that may not be available on a per-platform basis
29
+ option(USE_THREADS "Use threads for parallel processing when possible" ON)
30
+ option(USE_NSEC "Support nanosecond precision file mtimes and ctimes" ON)
31
+
32
+ # Backend selection
33
+ option(USE_SSH "Link with libssh2 to enable SSH support" OFF)
34
+ option(USE_HTTPS "Enable HTTPS support. Can be set to a specific backend" ON)
35
+ option(USE_SHA1 "Enable SHA1. Can be set to CollisionDetection(ON)/HTTPS" ON)
36
+ option(USE_SHA256 "Enable SHA256. Can be set to HTTPS/Builtin" ON)
37
+ option(USE_GSSAPI "Link with libgssapi for SPNEGO auth" OFF)
38
+ set(USE_HTTP_PARSER "" CACHE STRING "Specifies the HTTP Parser implementation; either system or builtin.")
39
+ set(REGEX_BACKEND "" CACHE STRING "Regular expression implementation. One of regcomp_l, pcre2, pcre, regcomp, or builtin.")
40
+ option(USE_BUNDLED_ZLIB "Use the bundled version of zlib. Can be set to one of Bundled(ON)/Chromium. The Chromium option requires a x86_64 processor with SSE4.2 and CLMUL" OFF)
41
+
42
+ # Debugging options
43
+ option(USE_LEAK_CHECKER "Run tests with leak checker" OFF)
44
+ option(USE_STANDALONE_FUZZERS "Enable standalone fuzzers (compatible with gcc)" OFF)
45
+ option(DEBUG_POOL "Enable debug pool allocator" OFF)
46
+ option(DEBUG_STRICT_ALLOC "Enable strict allocator behavior" OFF)
47
+ option(DEBUG_STRICT_OPEN "Enable path validation in open" OFF)
48
+
49
+ # Output options
50
+ option(SONAME "Set the (SO)VERSION of the target" ON)
51
+ set(LIBGIT2_FILENAME "git2" CACHE STRING "Name of the produced binary")
52
+ option(DEPRECATE_HARD "Do not include deprecated functions in the library" OFF)
53
+
54
+ # Compilation options
55
+ option(ENABLE_WERROR "Enable compilation with -Werror" OFF)
56
+
57
+ if(UNIX)
58
+ # NTLM client requires crypto libraries from the system HTTPS stack
59
+ if(NOT USE_HTTPS)
60
+ option(USE_NTLMCLIENT "Enable NTLM support on Unix." OFF)
61
+ else()
62
+ option(USE_NTLMCLIENT "Enable NTLM support on Unix." ON)
63
+ endif()
64
+
65
+ option(ENABLE_REPRODUCIBLE_BUILDS "Enable reproducible builds" OFF)
66
+ endif()
67
+
68
+ if(APPLE)
69
+ option(USE_ICONV "Link with and use iconv library" ON)
70
+ endif()
71
+
72
+ if(MSVC)
78
73
  # This option must match the settings used in your program, in particular if you
79
74
  # are linking statically
80
- OPTION(STATIC_CRT "Link the static CRT libraries" ON)
75
+ option(STATIC_CRT "Link the static CRT libraries" ON)
81
76
 
82
77
  # If you want to embed a copy of libssh2 into libgit2, pass a
83
78
  # path to libssh2
84
- OPTION(EMBED_SSH_PATH "Path to libssh2 to embed (Windows)" OFF)
85
- ENDIF()
79
+ option(EMBED_SSH_PATH "Path to libssh2 to embed (Windows)" OFF)
86
80
 
81
+ # Enable leak checking using the debugging C runtime.
82
+ option(WIN32_LEAKCHECK "Enable leak reporting via crtdbg" OFF)
83
+ endif()
87
84
 
88
- IF(WIN32)
85
+ if(WIN32)
89
86
  # By default, libgit2 is built with WinHTTP. To use the built-in
90
- # HTTP transport, invoke CMake with the "-DWINHTTP=OFF" argument.
91
- OPTION(WINHTTP "Use Win32 WinHTTP routines" ON)
92
- ENDIF()
87
+ # HTTP transport, invoke CMake with the "-DUSE_WINHTTP=OFF" argument.
88
+ option(USE_WINHTTP "Use Win32 WinHTTP routines" ON)
89
+ endif()
90
+
91
+ if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
92
+ set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE)
93
+ endif()
94
+
95
+
96
+ # Modules
97
+
98
+ include(CheckLibraryExists)
99
+ include(CheckFunctionExists)
100
+ include(CheckSymbolExists)
101
+ include(CheckStructHasMember)
102
+ include(CheckPrototypeDefinition)
103
+ include(AddCFlagIfSupported)
104
+ include(FindPkgLibraries)
105
+ include(FindThreads)
106
+ include(FindStatNsec)
107
+ include(Findfutimens)
108
+ include(GNUInstallDirs)
109
+ include(IdeSplitSources)
110
+ include(FeatureSummary)
111
+ include(EnableWarnings)
112
+ include(DefaultCFlags)
113
+ include(ExperimentalFeatures)
93
114
 
94
- IF(MSVC)
95
- # Enable leak checking using the debugging C runtime.
96
- OPTION(WIN32_LEAKCHECK "Enable leak reporting via crtdbg" OFF)
97
- ENDIF()
98
-
99
- IF (DEPRECATE_HARD)
100
- ADD_DEFINITIONS(-DGIT_DEPRECATE_HARD)
101
- ENDIF()
102
-
103
- # Platform specific compilation flags
104
- IF (MSVC)
105
- IF (STDCALL)
106
- MESSAGE(FATAL_ERROR "The STDCALL option is no longer supported; libgit2 is now always built as a cdecl library. If you're using PInvoke, please add the CallingConventions.Cdecl attribute for support.")
107
- ENDIF()
108
-
109
- ADD_DEFINITIONS(-D_SCL_SECURE_NO_WARNINGS)
110
- ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE)
111
- ADD_DEFINITIONS(-D_CRT_NONSTDC_NO_DEPRECATE)
112
-
113
- STRING(REPLACE "/Zm1000" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
114
-
115
- # /GF - String pooling
116
- # /MP - Parallel build
117
- SET(CMAKE_C_FLAGS "/GF /MP /nologo ${CMAKE_C_FLAGS}")
118
-
119
- # /Gd - explicitly set cdecl calling convention
120
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Gd")
121
-
122
- IF (NOT (MSVC_VERSION LESS 1900))
123
- # /guard:cf - Enable Control Flow Guard
124
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /guard:cf")
125
- ENDIF()
126
-
127
- IF (STATIC_CRT)
128
- SET(CRT_FLAG_DEBUG "/MTd")
129
- SET(CRT_FLAG_RELEASE "/MT")
130
- ELSE()
131
- SET(CRT_FLAG_DEBUG "/MDd")
132
- SET(CRT_FLAG_RELEASE "/MD")
133
- ENDIF()
134
-
135
- IF (WIN32_LEAKCHECK)
136
- SET(GIT_WIN32_LEAKCHECK 1)
137
- SET(CRT_FLAG_DEBUG "${CRT_FLAG_DEBUG}")
138
- SET(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} Dbghelp.lib")
139
- ENDIF()
140
-
141
- # /Zi - Create debugging information
142
- # /Od - Disable optimization
143
- # /D_DEBUG - #define _DEBUG
144
- # /MTd - Statically link the multithreaded debug version of the CRT
145
- # /MDd - Dynamically link the multithreaded debug version of the CRT
146
- # /RTC1 - Run time checks
147
- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /Zi /Od /D_DEBUG /RTC1 ${CRT_FLAG_DEBUG}")
148
-
149
- # /DNDEBUG - Disables asserts
150
- # /MT - Statically link the multithreaded release version of the CRT
151
- # /MD - Dynamically link the multithreaded release version of the CRT
152
- # /O2 - Optimize for speed
153
- # /Oy - Enable frame pointer omission (FPO) (otherwise CMake will automatically turn it off)
154
- # /GL - Link time code generation (whole program optimization)
155
- # /Gy - Function-level linking
156
- SET(CMAKE_C_FLAGS_RELEASE "/DNDEBUG /O2 /Oy /GL /Gy ${CRT_FLAG_RELEASE}")
157
-
158
- # /Oy- - Disable frame pointer omission (FPO)
159
- SET(CMAKE_C_FLAGS_RELWITHDEBINFO "/DNDEBUG /Zi /O2 /Oy- /GL /Gy ${CRT_FLAG_RELEASE}")
160
-
161
- # /O1 - Optimize for size
162
- SET(CMAKE_C_FLAGS_MINSIZEREL "/DNDEBUG /O1 /Oy /GL /Gy ${CRT_FLAG_RELEASE}")
163
-
164
- # /IGNORE:4221 - Ignore empty compilation units
165
- SET(CMAKE_STATIC_LINKER_FLAGS "/IGNORE:4221")
166
-
167
- # /DYNAMICBASE - Address space load randomization (ASLR)
168
- # /NXCOMPAT - Data execution prevention (DEP)
169
- # /LARGEADDRESSAWARE - >2GB user address space on x86
170
- # /VERSION - Embed version information in PE header
171
- SET(CMAKE_EXE_LINKER_FLAGS "/DYNAMICBASE /NXCOMPAT /LARGEADDRESSAWARE /VERSION:${libgit2_VERSION_MAJOR}.${libgit2_VERSION_MINOR}")
172
-
173
- IF (NOT (MSVC_VERSION LESS 1900))
174
- # /GUARD:CF - Enable Control Flow Guard
175
- SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /GUARD:CF")
176
- ENDIF()
177
-
178
- # /DEBUG - Create a PDB
179
- # /LTCG - Link time code generation (whole program optimization)
180
- # /OPT:REF /OPT:ICF - Fold out duplicate code at link step
181
- # /INCREMENTAL:NO - Required to use /LTCG
182
- # /DEBUGTYPE:cv,fixup - Additional data embedded in the PDB (requires /INCREMENTAL:NO, so not on for Debug)
183
- SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "/DEBUG")
184
- SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "/RELEASE /LTCG /OPT:REF /OPT:ICF /INCREMENTAL:NO")
185
- SET(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "/DEBUG /RELEASE /LTCG /OPT:REF /OPT:ICF /INCREMENTAL:NO /DEBUGTYPE:cv,fixup")
186
- SET(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "/RELEASE /LTCG /OPT:REF /OPT:ICF /INCREMENTAL:NO")
187
-
188
- # Same linker settings for DLL as EXE
189
- SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
190
- SET(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG}")
191
- SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}")
192
- SET(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO}")
193
- SET(CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL "${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL}")
194
- ELSE ()
195
- IF (ENABLE_REPRODUCIBLE_BUILDS)
196
- SET(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> Dqc <TARGET> <LINK_FLAGS> <OBJECTS>")
197
- SET(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> Dq <TARGET> <LINK_FLAGS> <OBJECTS>")
198
- SET(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> -D <TARGET>")
199
- ENDIF()
200
-
201
- SET(CMAKE_C_FLAGS "-D_GNU_SOURCE ${CMAKE_C_FLAGS}")
202
-
203
- ENABLE_WARNINGS(all)
204
- ENABLE_WARNINGS(extra)
205
-
206
- IF (CMAKE_SYSTEM_NAME MATCHES "(Solaris|SunOS)")
207
- SET(CMAKE_C_FLAGS "-D_POSIX_C_SOURCE=200112L -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS ${CMAKE_C_FLAGS}")
208
- ENDIF()
209
-
210
- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -O0")
211
-
212
- IF (MINGW OR MSYS) # MinGW and MSYS always do PIC and complain if we tell them to
213
- STRING(REGEX REPLACE "-fPIC" "" CMAKE_SHARED_LIBRARY_C_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}")
214
- ELSEIF (BUILD_SHARED_LIBS)
215
- ADD_C_FLAG_IF_SUPPORTED(-fvisibility=hidden)
216
-
217
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
218
- ENDIF ()
219
-
220
- IF (MINGW)
221
- # MinGW >= 3.14 uses the C99-style stdio functions
222
- # automatically, but forks like mingw-w64 still want
223
- # us to define this in order to use them
224
- ADD_DEFINITIONS(-D__USE_MINGW_ANSI_STDIO=1)
225
- ENDIF ()
226
-
227
- enable_warnings(documentation)
228
- disable_warnings(documentation-deprecated-sync)
229
- disable_warnings(missing-field-initializers)
230
- enable_warnings(strict-aliasing)
231
- enable_warnings(strict-prototypes)
232
- enable_warnings(declaration-after-statement)
233
- enable_warnings(shift-count-overflow)
234
- enable_warnings(unused-const-variable)
235
- enable_warnings(unused-function)
236
- enable_warnings(int-conversion)
237
- enable_warnings(c11-extensions)
238
- enable_warnings(c99-c11-compat)
239
-
240
- # MinGW uses gcc, which expects POSIX formatting for printf, but
241
- # uses the Windows C library, which uses its own format specifiers.
242
- # Disable format specifier warnings.
243
- if(MINGW)
244
- disable_warnings(format)
245
- disable_warnings(format-security)
246
- else()
247
- enable_warnings(format)
248
- enable_warnings(format-security)
115
+
116
+ #
117
+ # Subdirectories
118
+ #
119
+
120
+ add_subdirectory(src)
121
+
122
+ if(BUILD_TESTS)
123
+ enable_testing()
124
+ add_subdirectory(tests)
125
+ endif()
126
+
127
+ if(BUILD_EXAMPLES)
128
+ add_subdirectory(examples)
129
+ endif()
130
+
131
+ if(BUILD_FUZZERS)
132
+ if((BUILD_TESTS OR BUILD_EXAMPLES) AND NOT USE_STANDALONE_FUZZERS)
133
+ message(FATAL_ERROR "Cannot build the fuzzer and the tests or examples together")
249
134
  endif()
250
- ENDIF()
251
-
252
- # Ensure that MinGW provides the correct header files.
253
- IF (WIN32 AND NOT CYGWIN)
254
- ADD_DEFINITIONS(-DWIN32 -D_WIN32_WINNT=0x0600)
255
- ENDIF()
256
-
257
- IF( NOT CMAKE_CONFIGURATION_TYPES )
258
- # Build Debug by default
259
- IF (NOT CMAKE_BUILD_TYPE)
260
- SET(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE)
261
- ENDIF ()
262
- ELSE()
263
- # Using a multi-configuration generator eg MSVC or Xcode
264
- # that uses CMAKE_CONFIGURATION_TYPES and not CMAKE_BUILD_TYPE
265
- ENDIF()
266
-
267
- IF(BUILD_FUZZERS AND NOT USE_STANDALONE_FUZZERS)
268
- # The actual sanitizer link target will be added when linking the fuzz
269
- # targets.
270
- SET(CMAKE_REQUIRED_FLAGS "-fsanitize=fuzzer-no-link")
271
- ADD_C_FLAG(-fsanitize=fuzzer-no-link)
272
- UNSET(CMAKE_REQUIRED_FLAGS)
273
- ENDIF ()
274
-
275
- ADD_SUBDIRECTORY(src)
276
-
277
- # Tests
278
- IF (NOT MSVC)
279
- IF (NOT BUILD_SHARED_LIBS)
280
- SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
281
- ENDIF()
282
- ENDIF ()
283
-
284
- IF (BUILD_CLAR)
285
- ENABLE_TESTING()
286
- ADD_SUBDIRECTORY(tests)
287
- ENDIF ()
288
-
289
- IF (BUILD_EXAMPLES)
290
- ADD_SUBDIRECTORY(examples)
291
- ENDIF ()
292
-
293
- IF(BUILD_FUZZERS)
294
- IF(NOT USE_STANDALONE_FUZZERS)
295
- IF(BUILD_EXAMPLES)
296
- MESSAGE(FATAL_ERROR "Cannot build the fuzzer targets and the examples together")
297
- ENDIF()
298
- IF(BUILD_CLAR)
299
- MESSAGE(FATAL_ERROR "Cannot build the fuzzer targets and the tests together")
300
- ENDIF()
301
- ENDIF()
302
- ADD_SUBDIRECTORY(fuzzers)
303
- ENDIF()
304
-
305
- FEATURE_SUMMARY(WHAT ENABLED_FEATURES DESCRIPTION "Enabled features:")
306
- FEATURE_SUMMARY(WHAT DISABLED_FEATURES DESCRIPTION "Disabled features:")
135
+ add_subdirectory(fuzzers)
136
+ endif()
137
+
138
+
139
+ # Export for people who use us as a dependency
140
+
141
+ if(NOT "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
142
+ set(LIBGIT2_DEPENDENCY_OBJECTS ${LIBGIT2_DEPENDENCY_OBJECTS} PARENT_SCOPE)
143
+ set(LIBGIT2_SYSTEM_LIBS ${LIBGIT2_SYSTEM_LIBS} PARENT_SCOPE)
144
+ endif()
145
+
146
+
147
+ # Summary
148
+
149
+ feature_summary(WHAT ENABLED_FEATURES DESCRIPTION "Enabled features:")
150
+ feature_summary(WHAT DISABLED_FEATURES DESCRIPTION "Disabled features:")
@@ -406,30 +406,35 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
406
406
 
407
407
  ----------------------------------------------------------------------
408
408
 
409
- The regex library (deps/regex/) is licensed under the GNU LGPL
410
- (available at the end of this file).
409
+ The bundled PCRE implementation (deps/pcre/) is licensed under the BSD
410
+ license.
411
411
 
412
- Definitions for data structures and routines for the regular
413
- expression library.
412
+ Redistribution and use in source and binary forms, with or without
413
+ modification, are permitted provided that the following conditions are met:
414
414
 
415
- Copyright (C) 1985,1989-93,1995-98,2000,2001,2002,2003,2005,2006,2008
416
- Free Software Foundation, Inc.
417
- This file is part of the GNU C Library.
415
+ * Redistributions of source code must retain the above copyright notice,
416
+ this list of conditions and the following disclaimer.
418
417
 
419
- The GNU C Library is free software; you can redistribute it and/or
420
- modify it under the terms of the GNU Lesser General Public
421
- License as published by the Free Software Foundation; either
422
- version 2.1 of the License, or (at your option) any later version.
418
+ * Redistributions in binary form must reproduce the above copyright
419
+ notice, this list of conditions and the following disclaimer in the
420
+ documentation and/or other materials provided with the distribution.
423
421
 
424
- The GNU C Library is distributed in the hope that it will be useful,
425
- but WITHOUT ANY WARRANTY; without even the implied warranty of
426
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
427
- Lesser General Public License for more details.
422
+ * Neither the name of the University of Cambridge nor the name of Google
423
+ Inc. nor the names of their contributors may be used to endorse or
424
+ promote products derived from this software without specific prior
425
+ written permission.
428
426
 
429
- You should have received a copy of the GNU Lesser General Public
430
- License along with the GNU C Library; if not, write to the Free
431
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
432
- 02110-1301 USA.
427
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
428
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
429
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
430
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
431
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
432
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
433
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
434
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
435
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
436
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
437
+ POSSIBILITY OF SUCH DAMAGE.
433
438
 
434
439
  ----------------------------------------------------------------------
435
440
 
@@ -1127,3 +1132,85 @@ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1127
1132
  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
1128
1133
  OF THE POSSIBILITY OF SUCH DAMAGE.
1129
1134
 
1135
+ ----------------------------------------------------------------------
1136
+
1137
+ The xoroshiro256** implementation is licensed in the public domain:
1138
+
1139
+ Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org)
1140
+
1141
+ To the extent possible under law, the author has dedicated all copyright
1142
+ and related and neighboring rights to this software to the public domain
1143
+ worldwide. This software is distributed without any warranty.
1144
+
1145
+ See <http://creativecommons.org/publicdomain/zero/1.0/>.
1146
+
1147
+ ----------------------------------------------------------------------
1148
+
1149
+ The built-in SHA256 support (src/hash/rfc6234) is taken from RFC 6234
1150
+ under the following license:
1151
+
1152
+ Copyright (c) 2011 IETF Trust and the persons identified as
1153
+ authors of the code. All rights reserved.
1154
+
1155
+ Redistribution and use in source and binary forms, with or
1156
+ without modification, are permitted provided that the following
1157
+ conditions are met:
1158
+
1159
+ - Redistributions of source code must retain the above
1160
+ copyright notice, this list of conditions and
1161
+ the following disclaimer.
1162
+
1163
+ - Redistributions in binary form must reproduce the above
1164
+ copyright notice, this list of conditions and the following
1165
+ disclaimer in the documentation and/or other materials provided
1166
+ with the distribution.
1167
+
1168
+ - Neither the name of Internet Society, IETF or IETF Trust, nor
1169
+ the names of specific contributors, may be used to endorse or
1170
+ promote products derived from this software without specific
1171
+ prior written permission.
1172
+
1173
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
1174
+ CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1175
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
1176
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1177
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
1178
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1179
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
1180
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
1181
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1182
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1183
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
1184
+ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
1185
+ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1186
+
1187
+ ----------------------------------------------------------------------
1188
+
1189
+ The built-in git_fs_path_basename_r() function is based on the
1190
+ Android implementation, BSD licensed:
1191
+
1192
+ Copyright (C) 2008 The Android Open Source Project
1193
+ All rights reserved.
1194
+
1195
+ Redistribution and use in source and binary forms, with or without
1196
+ modification, are permitted provided that the following conditions
1197
+ are met:
1198
+ * Redistributions of source code must retain the above copyright
1199
+ notice, this list of conditions and the following disclaimer.
1200
+ * Redistributions in binary form must reproduce the above copyright
1201
+ notice, this list of conditions and the following disclaimer in
1202
+ the documentation and/or other materials provided with the
1203
+ distribution.
1204
+
1205
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1206
+ AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1207
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
1208
+ FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
1209
+ COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
1210
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
1211
+ BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
1212
+ OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
1213
+ AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
1214
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
1215
+ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1216
+ SUCH DAMAGE.
@@ -3,28 +3,28 @@
3
3
  # <flag> - the compiler flag to test
4
4
  # This internally calls the CHECK_C_COMPILER_FLAG macro.
5
5
 
6
- INCLUDE(CheckCCompilerFlag)
6
+ include(CheckCCompilerFlag)
7
7
 
8
- MACRO(ADD_C_FLAG _FLAG)
9
- STRING(TOUPPER ${_FLAG} UPCASE)
10
- STRING(REGEX REPLACE "[-=]" "_" UPCASE_PRETTY ${UPCASE})
11
- STRING(REGEX REPLACE "^_+" "" UPCASE_PRETTY ${UPCASE_PRETTY})
12
- CHECK_C_COMPILER_FLAG(${_FLAG} IS_${UPCASE_PRETTY}_SUPPORTED)
8
+ macro(ADD_C_FLAG _FLAG)
9
+ string(TOUPPER ${_FLAG} UPCASE)
10
+ string(REGEX REPLACE "[-=]" "_" UPCASE_PRETTY ${UPCASE})
11
+ string(REGEX REPLACE "^_+" "" UPCASE_PRETTY ${UPCASE_PRETTY})
12
+ check_c_compiler_flag(${_FLAG} IS_${UPCASE_PRETTY}_SUPPORTED)
13
13
 
14
- IF(IS_${UPCASE_PRETTY}_SUPPORTED)
15
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_FLAG}")
16
- ELSE()
17
- MESSAGE(FATAL_ERROR "Required flag ${_FLAG} is not supported")
18
- ENDIF()
19
- ENDMACRO()
14
+ if(IS_${UPCASE_PRETTY}_SUPPORTED)
15
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_FLAG}")
16
+ else()
17
+ message(FATAL_ERROR "Required flag ${_FLAG} is not supported")
18
+ endif()
19
+ endmacro()
20
20
 
21
- MACRO(ADD_C_FLAG_IF_SUPPORTED _FLAG)
22
- STRING(TOUPPER ${_FLAG} UPCASE)
23
- STRING(REGEX REPLACE "[-=]" "_" UPCASE_PRETTY ${UPCASE})
24
- STRING(REGEX REPLACE "^_+" "" UPCASE_PRETTY ${UPCASE_PRETTY})
25
- CHECK_C_COMPILER_FLAG(${_FLAG} IS_${UPCASE_PRETTY}_SUPPORTED)
21
+ macro(ADD_C_FLAG_IF_SUPPORTED _FLAG)
22
+ string(TOUPPER ${_FLAG} UPCASE)
23
+ string(REGEX REPLACE "[-=]" "_" UPCASE_PRETTY ${UPCASE})
24
+ string(REGEX REPLACE "^_+" "" UPCASE_PRETTY ${UPCASE_PRETTY})
25
+ check_c_compiler_flag(${_FLAG} IS_${UPCASE_PRETTY}_SUPPORTED)
26
26
 
27
- IF(IS_${UPCASE_PRETTY}_SUPPORTED)
28
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_FLAG}")
29
- ENDIF()
30
- ENDMACRO()
27
+ if(IS_${UPCASE_PRETTY}_SUPPORTED)
28
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_FLAG}")
29
+ endif()
30
+ endmacro()
@@ -0,0 +1,7 @@
1
+ function(ADD_CLAR_TEST project name)
2
+ if(NOT USE_LEAK_CHECKER STREQUAL "OFF")
3
+ add_test(${name} "${PROJECT_SOURCE_DIR}/script/${USE_LEAK_CHECKER}.sh" "${PROJECT_BINARY_DIR}/${project}" ${ARGN})
4
+ else()
5
+ add_test(${name} "${PROJECT_BINARY_DIR}/${project}" ${ARGN})
6
+ endif()
7
+ endfunction(ADD_CLAR_TEST)