gecoder-with-gecode 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (634) hide show
  1. data/CHANGES +81 -0
  2. data/COPYING +17 -0
  3. data/LGPL-LICENSE +458 -0
  4. data/README +45 -0
  5. data/Rakefile +13 -0
  6. data/example/example_helper.rb +1 -0
  7. data/example/magic_sequence.rb +43 -0
  8. data/example/queens.rb +43 -0
  9. data/example/raw_bindings.rb +42 -0
  10. data/example/send_more_money.rb +43 -0
  11. data/example/send_most_money.rb +58 -0
  12. data/example/square_tiling.rb +84 -0
  13. data/example/sudoku-set.rb +110 -0
  14. data/example/sudoku.rb +61 -0
  15. data/ext/extconf.rb +29 -0
  16. data/ext/gecode-1.3.1/LICENSE +34 -0
  17. data/ext/gecode-1.3.1/Makefile.contribs +71 -0
  18. data/ext/gecode-1.3.1/Makefile.dep +3928 -0
  19. data/ext/gecode-1.3.1/Makefile.in +966 -0
  20. data/ext/gecode-1.3.1/changelog.in +1065 -0
  21. data/ext/gecode-1.3.1/configure +8590 -0
  22. data/ext/gecode-1.3.1/configure.ac +179 -0
  23. data/ext/gecode-1.3.1/configure.ac.in +175 -0
  24. data/ext/gecode-1.3.1/contribs/README +26 -0
  25. data/ext/gecode-1.3.1/contribs/graph/INSTALL +53 -0
  26. data/ext/gecode-1.3.1/contribs/graph/LICENSE +11 -0
  27. data/ext/gecode-1.3.1/contribs/graph/Makefile +167 -0
  28. data/ext/gecode-1.3.1/contribs/graph/Makefile.in.in +169 -0
  29. data/ext/gecode-1.3.1/contribs/graph/TODO +28 -0
  30. data/ext/gecode-1.3.1/contribs/graph/binarysimple.hh +82 -0
  31. data/ext/gecode-1.3.1/contribs/graph/binarysimple.icc +186 -0
  32. data/ext/gecode-1.3.1/contribs/graph/branch/branch.icc +257 -0
  33. data/ext/gecode-1.3.1/contribs/graph/configure +2160 -0
  34. data/ext/gecode-1.3.1/contribs/graph/configure.ac +33 -0
  35. data/ext/gecode-1.3.1/contribs/graph/doxygen.conf +1226 -0
  36. data/ext/gecode-1.3.1/contribs/graph/doxygen.hh +132 -0
  37. data/ext/gecode-1.3.1/contribs/graph/examples/cpgraph-basic.cc +94 -0
  38. data/ext/gecode-1.3.1/contribs/graph/examples/cpgraph-complement.cc +104 -0
  39. data/ext/gecode-1.3.1/contribs/graph/examples/cpgraph-instUB.cc +105 -0
  40. data/ext/gecode-1.3.1/contribs/graph/examples/cpgraph-path.cc +92 -0
  41. data/ext/gecode-1.3.1/contribs/graph/examples/cpgraph-path2.cc +273 -0
  42. data/ext/gecode-1.3.1/contribs/graph/examples/cpgraph-pathcost.cc +311 -0
  43. data/ext/gecode-1.3.1/contribs/graph/examples/g1.txt +1 -0
  44. data/ext/gecode-1.3.1/contribs/graph/examples/g2.txt +1 -0
  45. data/ext/gecode-1.3.1/contribs/graph/graph.hh +51 -0
  46. data/ext/gecode-1.3.1/contribs/graph/graphutils.h +46 -0
  47. data/ext/gecode-1.3.1/contribs/graph/graphutils.icc +140 -0
  48. data/ext/gecode-1.3.1/contribs/graph/misc/doxygen/footer.html +1 -0
  49. data/ext/gecode-1.3.1/contribs/graph/path.hh +116 -0
  50. data/ext/gecode-1.3.1/contribs/graph/path.icc +64 -0
  51. data/ext/gecode-1.3.1/contribs/graph/path/path.icc +139 -0
  52. data/ext/gecode-1.3.1/contribs/graph/path/pathdegree.icc +133 -0
  53. data/ext/gecode-1.3.1/contribs/graph/path/pathgraphs.icc +341 -0
  54. data/ext/gecode-1.3.1/contribs/graph/shortdesc.ac +1 -0
  55. data/ext/gecode-1.3.1/contribs/graph/stlutility.icc +105 -0
  56. data/ext/gecode-1.3.1/contribs/graph/var.icc +106 -0
  57. data/ext/gecode-1.3.1/contribs/graph/view.icc +373 -0
  58. data/ext/gecode-1.3.1/contribs/graph/view/arcnode.cc +162 -0
  59. data/ext/gecode-1.3.1/contribs/graph/view/arcnode.hh +78 -0
  60. data/ext/gecode-1.3.1/contribs/graph/view/boundsgraphs.icc +349 -0
  61. data/ext/gecode-1.3.1/contribs/graph/view/constant.icc +148 -0
  62. data/ext/gecode-1.3.1/contribs/graph/view/iter.icc +337 -0
  63. data/ext/gecode-1.3.1/contribs/graph/view/nodearcsets.icc +493 -0
  64. data/ext/gecode-1.3.1/contribs/graph/view/nodeset.icc +60 -0
  65. data/ext/gecode-1.3.1/contribs/graph/view/outadjsets.icc +600 -0
  66. data/ext/gecode-1.3.1/contribs/graph/view/prop.icc +135 -0
  67. data/ext/gecode-1.3.1/contribs/map/COMPILING +68 -0
  68. data/ext/gecode-1.3.1/contribs/map/LICENSE +11 -0
  69. data/ext/gecode-1.3.1/contribs/map/Makefile.in.in +173 -0
  70. data/ext/gecode-1.3.1/contribs/map/configure +2285 -0
  71. data/ext/gecode-1.3.1/contribs/map/configure.ac +32 -0
  72. data/ext/gecode-1.3.1/contribs/map/constraints.hh +46 -0
  73. data/ext/gecode-1.3.1/contribs/map/constraints.icc +84 -0
  74. data/ext/gecode-1.3.1/contribs/map/doxygen.conf +1229 -0
  75. data/ext/gecode-1.3.1/contribs/map/doxygen.hh +33 -0
  76. data/ext/gecode-1.3.1/contribs/map/examples/approximateMatching.cc +199 -0
  77. data/ext/gecode-1.3.1/contribs/map/examples/g1.txt +1 -0
  78. data/ext/gecode-1.3.1/contribs/map/examples/g2.txt +1 -0
  79. data/ext/gecode-1.3.1/contribs/map/examples/graph-examples.tgz +0 -0
  80. data/ext/gecode-1.3.1/contribs/map/examples/isomorphism.cc +148 -0
  81. data/ext/gecode-1.3.1/contribs/map/examples/map +0 -0
  82. data/ext/gecode-1.3.1/contribs/map/examples/map.cc +80 -0
  83. data/ext/gecode-1.3.1/contribs/map/examples/subgraphmonomorphism.cc +155 -0
  84. data/ext/gecode-1.3.1/contribs/map/map.hh +65 -0
  85. data/ext/gecode-1.3.1/contribs/map/matching/mono.hh +235 -0
  86. data/ext/gecode-1.3.1/contribs/map/matching/mono.icc +771 -0
  87. data/ext/gecode-1.3.1/contribs/map/shortdesc.ac +2 -0
  88. data/ext/gecode-1.3.1/contribs/map/var.icc +346 -0
  89. data/ext/gecode-1.3.1/contribs/map/var/imp.cc +42 -0
  90. data/ext/gecode-1.3.1/contribs/map/var/imp.icc +436 -0
  91. data/ext/gecode-1.3.1/doxygen.conf.in +1225 -0
  92. data/ext/gecode-1.3.1/doxygen.hh.in +877 -0
  93. data/ext/gecode-1.3.1/examples/all-interval-sort.cc +201 -0
  94. data/ext/gecode-1.3.1/examples/all-interval.cc +114 -0
  95. data/ext/gecode-1.3.1/examples/alpha.cc +112 -0
  96. data/ext/gecode-1.3.1/examples/baseline.cc +71 -0
  97. data/ext/gecode-1.3.1/examples/bibd.cc +173 -0
  98. data/ext/gecode-1.3.1/examples/black-hole.cc +281 -0
  99. data/ext/gecode-1.3.1/examples/cars.cc +165 -0
  100. data/ext/gecode-1.3.1/examples/crew.cc +220 -0
  101. data/ext/gecode-1.3.1/examples/crowded-chess.cc +312 -0
  102. data/ext/gecode-1.3.1/examples/donald.cc +93 -0
  103. data/ext/gecode-1.3.1/examples/eq20.cc +111 -0
  104. data/ext/gecode-1.3.1/examples/golf.cc +242 -0
  105. data/ext/gecode-1.3.1/examples/golomb.cc +141 -0
  106. data/ext/gecode-1.3.1/examples/graph-color.cc +371 -0
  107. data/ext/gecode-1.3.1/examples/grocery.cc +107 -0
  108. data/ext/gecode-1.3.1/examples/hamming.cc +107 -0
  109. data/ext/gecode-1.3.1/examples/ind-set.cc +130 -0
  110. data/ext/gecode-1.3.1/examples/knights.cc +146 -0
  111. data/ext/gecode-1.3.1/examples/langfordnum.cc +244 -0
  112. data/ext/gecode-1.3.1/examples/magic-sequence-gcc.cc +93 -0
  113. data/ext/gecode-1.3.1/examples/magic-sequence.cc +108 -0
  114. data/ext/gecode-1.3.1/examples/magic-square.cc +120 -0
  115. data/ext/gecode-1.3.1/examples/money.cc +92 -0
  116. data/ext/gecode-1.3.1/examples/ortho-latin.cc +156 -0
  117. data/ext/gecode-1.3.1/examples/packing.cc +211 -0
  118. data/ext/gecode-1.3.1/examples/partition.cc +126 -0
  119. data/ext/gecode-1.3.1/examples/photo.cc +155 -0
  120. data/ext/gecode-1.3.1/examples/picture-puzzle.cc +481 -0
  121. data/ext/gecode-1.3.1/examples/queen-armies.cc +240 -0
  122. data/ext/gecode-1.3.1/examples/queens.cc +99 -0
  123. data/ext/gecode-1.3.1/examples/sports-league.cc +454 -0
  124. data/ext/gecode-1.3.1/examples/steiner.cc +148 -0
  125. data/ext/gecode-1.3.1/examples/stress-domain.cc +86 -0
  126. data/ext/gecode-1.3.1/examples/stress-element.cc +95 -0
  127. data/ext/gecode-1.3.1/examples/stress-exec.cc +74 -0
  128. data/ext/gecode-1.3.1/examples/stress-min.cc +84 -0
  129. data/ext/gecode-1.3.1/examples/stress-search.cc +72 -0
  130. data/ext/gecode-1.3.1/examples/sudoku-mixed.cc +282 -0
  131. data/ext/gecode-1.3.1/examples/sudoku-set.cc +162 -0
  132. data/ext/gecode-1.3.1/examples/sudoku.cc +188 -0
  133. data/ext/gecode-1.3.1/examples/sudoku.icc +703 -0
  134. data/ext/gecode-1.3.1/examples/support.cc +160 -0
  135. data/ext/gecode-1.3.1/examples/support.hh +98 -0
  136. data/ext/gecode-1.3.1/examples/support.icc +187 -0
  137. data/ext/gecode-1.3.1/examples/timer.cc +47 -0
  138. data/ext/gecode-1.3.1/examples/timer.hh +72 -0
  139. data/ext/gecode-1.3.1/examples/warehouses.cc +176 -0
  140. data/ext/gecode-1.3.1/extconf.rb +8 -0
  141. data/ext/gecode-1.3.1/gecode.m4 +736 -0
  142. data/ext/gecode-1.3.1/gecode/config.icc.in +50 -0
  143. data/ext/gecode-1.3.1/gecode/int.hh +1426 -0
  144. data/ext/gecode-1.3.1/gecode/int/arithmetic.cc +87 -0
  145. data/ext/gecode-1.3.1/gecode/int/arithmetic.hh +292 -0
  146. data/ext/gecode-1.3.1/gecode/int/arithmetic/abs.icc +213 -0
  147. data/ext/gecode-1.3.1/gecode/int/arithmetic/max.icc +196 -0
  148. data/ext/gecode-1.3.1/gecode/int/arithmetic/mult.icc +478 -0
  149. data/ext/gecode-1.3.1/gecode/int/array.cc +61 -0
  150. data/ext/gecode-1.3.1/gecode/int/array.icc +264 -0
  151. data/ext/gecode-1.3.1/gecode/int/bool.cc +187 -0
  152. data/ext/gecode-1.3.1/gecode/int/bool.hh +255 -0
  153. data/ext/gecode-1.3.1/gecode/int/bool/base.icc +123 -0
  154. data/ext/gecode-1.3.1/gecode/int/bool/eq.icc +89 -0
  155. data/ext/gecode-1.3.1/gecode/int/bool/eqv.icc +132 -0
  156. data/ext/gecode-1.3.1/gecode/int/bool/or.icc +380 -0
  157. data/ext/gecode-1.3.1/gecode/int/branch.cc +81 -0
  158. data/ext/gecode-1.3.1/gecode/int/branch.hh +444 -0
  159. data/ext/gecode-1.3.1/gecode/int/branch/assign.cc +83 -0
  160. data/ext/gecode-1.3.1/gecode/int/branch/assign.icc +76 -0
  161. data/ext/gecode-1.3.1/gecode/int/branch/select-val.icc +104 -0
  162. data/ext/gecode-1.3.1/gecode/int/branch/select-view.icc +219 -0
  163. data/ext/gecode-1.3.1/gecode/int/channel.cc +62 -0
  164. data/ext/gecode-1.3.1/gecode/int/channel.hh +144 -0
  165. data/ext/gecode-1.3.1/gecode/int/channel/base.icc +60 -0
  166. data/ext/gecode-1.3.1/gecode/int/channel/dom.icc +313 -0
  167. data/ext/gecode-1.3.1/gecode/int/channel/stack.icc +59 -0
  168. data/ext/gecode-1.3.1/gecode/int/channel/val.icc +239 -0
  169. data/ext/gecode-1.3.1/gecode/int/count.cc +174 -0
  170. data/ext/gecode-1.3.1/gecode/int/count.hh +401 -0
  171. data/ext/gecode-1.3.1/gecode/int/count/int.icc +495 -0
  172. data/ext/gecode-1.3.1/gecode/int/count/rel.icc +100 -0
  173. data/ext/gecode-1.3.1/gecode/int/count/view.icc +332 -0
  174. data/ext/gecode-1.3.1/gecode/int/cumulatives.cc +210 -0
  175. data/ext/gecode-1.3.1/gecode/int/cumulatives.hh +118 -0
  176. data/ext/gecode-1.3.1/gecode/int/cumulatives/val.icc +377 -0
  177. data/ext/gecode-1.3.1/gecode/int/distinct.cc +77 -0
  178. data/ext/gecode-1.3.1/gecode/int/distinct.hh +272 -0
  179. data/ext/gecode-1.3.1/gecode/int/distinct/bilink.icc +73 -0
  180. data/ext/gecode-1.3.1/gecode/int/distinct/bnd.icc +335 -0
  181. data/ext/gecode-1.3.1/gecode/int/distinct/combptr.icc +62 -0
  182. data/ext/gecode-1.3.1/gecode/int/distinct/dom.icc +740 -0
  183. data/ext/gecode-1.3.1/gecode/int/distinct/edge.icc +96 -0
  184. data/ext/gecode-1.3.1/gecode/int/distinct/node.icc +107 -0
  185. data/ext/gecode-1.3.1/gecode/int/distinct/ter-dom.icc +97 -0
  186. data/ext/gecode-1.3.1/gecode/int/distinct/val.icc +171 -0
  187. data/ext/gecode-1.3.1/gecode/int/dom.cc +81 -0
  188. data/ext/gecode-1.3.1/gecode/int/dom.hh +101 -0
  189. data/ext/gecode-1.3.1/gecode/int/dom/range.icc +85 -0
  190. data/ext/gecode-1.3.1/gecode/int/dom/spec.icc +85 -0
  191. data/ext/gecode-1.3.1/gecode/int/element.cc +58 -0
  192. data/ext/gecode-1.3.1/gecode/int/element.hh +203 -0
  193. data/ext/gecode-1.3.1/gecode/int/element/int.icc +396 -0
  194. data/ext/gecode-1.3.1/gecode/int/element/view.icc +443 -0
  195. data/ext/gecode-1.3.1/gecode/int/exception.icc +137 -0
  196. data/ext/gecode-1.3.1/gecode/int/gcc.cc +708 -0
  197. data/ext/gecode-1.3.1/gecode/int/gcc.hh +338 -0
  198. data/ext/gecode-1.3.1/gecode/int/gcc/bnd.icc +629 -0
  199. data/ext/gecode-1.3.1/gecode/int/gcc/dom.icc +504 -0
  200. data/ext/gecode-1.3.1/gecode/int/gcc/gccbndsup.icc +760 -0
  201. data/ext/gecode-1.3.1/gecode/int/gcc/graphsup.icc +2375 -0
  202. data/ext/gecode-1.3.1/gecode/int/gcc/lbc.icc +375 -0
  203. data/ext/gecode-1.3.1/gecode/int/gcc/occur.icc +687 -0
  204. data/ext/gecode-1.3.1/gecode/int/gcc/ubc.icc +236 -0
  205. data/ext/gecode-1.3.1/gecode/int/gcc/val.icc +373 -0
  206. data/ext/gecode-1.3.1/gecode/int/int-set.cc +115 -0
  207. data/ext/gecode-1.3.1/gecode/int/int-set.icc +151 -0
  208. data/ext/gecode-1.3.1/gecode/int/linear.cc +247 -0
  209. data/ext/gecode-1.3.1/gecode/int/linear.hh +1056 -0
  210. data/ext/gecode-1.3.1/gecode/int/linear/binary.icc +439 -0
  211. data/ext/gecode-1.3.1/gecode/int/linear/bool-int.icc +422 -0
  212. data/ext/gecode-1.3.1/gecode/int/linear/bool-view.icc +311 -0
  213. data/ext/gecode-1.3.1/gecode/int/linear/dom.icc +503 -0
  214. data/ext/gecode-1.3.1/gecode/int/linear/nary.icc +857 -0
  215. data/ext/gecode-1.3.1/gecode/int/linear/noview.icc +264 -0
  216. data/ext/gecode-1.3.1/gecode/int/linear/post.cc +542 -0
  217. data/ext/gecode-1.3.1/gecode/int/linear/ternary.icc +255 -0
  218. data/ext/gecode-1.3.1/gecode/int/propagator.icc +194 -0
  219. data/ext/gecode-1.3.1/gecode/int/regular.cc +40 -0
  220. data/ext/gecode-1.3.1/gecode/int/regular.hh +83 -0
  221. data/ext/gecode-1.3.1/gecode/int/regular/dfa.cc +466 -0
  222. data/ext/gecode-1.3.1/gecode/int/regular/dfa.icc +172 -0
  223. data/ext/gecode-1.3.1/gecode/int/regular/dom.icc +480 -0
  224. data/ext/gecode-1.3.1/gecode/int/regular/reg.cc +738 -0
  225. data/ext/gecode-1.3.1/gecode/int/rel.cc +293 -0
  226. data/ext/gecode-1.3.1/gecode/int/rel.hh +526 -0
  227. data/ext/gecode-1.3.1/gecode/int/rel/eq.icc +640 -0
  228. data/ext/gecode-1.3.1/gecode/int/rel/lex.icc +212 -0
  229. data/ext/gecode-1.3.1/gecode/int/rel/lq-le.icc +246 -0
  230. data/ext/gecode-1.3.1/gecode/int/rel/nq.icc +188 -0
  231. data/ext/gecode-1.3.1/gecode/int/sortedness.cc +124 -0
  232. data/ext/gecode-1.3.1/gecode/int/sortedness.hh +108 -0
  233. data/ext/gecode-1.3.1/gecode/int/sortedness/matching.icc +177 -0
  234. data/ext/gecode-1.3.1/gecode/int/sortedness/narrowing.icc +243 -0
  235. data/ext/gecode-1.3.1/gecode/int/sortedness/order.icc +232 -0
  236. data/ext/gecode-1.3.1/gecode/int/sortedness/sortedness.icc +727 -0
  237. data/ext/gecode-1.3.1/gecode/int/sortedness/sortsup.icc +666 -0
  238. data/ext/gecode-1.3.1/gecode/int/var-imp.vis +198 -0
  239. data/ext/gecode-1.3.1/gecode/int/var.icc +590 -0
  240. data/ext/gecode-1.3.1/gecode/int/var/bool.icc +52 -0
  241. data/ext/gecode-1.3.1/gecode/int/var/imp-body.icc +65 -0
  242. data/ext/gecode-1.3.1/gecode/int/var/imp-hdr.icc +191 -0
  243. data/ext/gecode-1.3.1/gecode/int/var/imp.cc +361 -0
  244. data/ext/gecode-1.3.1/gecode/int/var/imp.icc +579 -0
  245. data/ext/gecode-1.3.1/gecode/int/var/int.cc +63 -0
  246. data/ext/gecode-1.3.1/gecode/int/var/int.icc +135 -0
  247. data/ext/gecode-1.3.1/gecode/int/view.icc +1219 -0
  248. data/ext/gecode-1.3.1/gecode/int/view/bool.icc +270 -0
  249. data/ext/gecode-1.3.1/gecode/int/view/constint.icc +306 -0
  250. data/ext/gecode-1.3.1/gecode/int/view/int.icc +221 -0
  251. data/ext/gecode-1.3.1/gecode/int/view/iter.icc +49 -0
  252. data/ext/gecode-1.3.1/gecode/int/view/minus.icc +285 -0
  253. data/ext/gecode-1.3.1/gecode/int/view/offset.icc +274 -0
  254. data/ext/gecode-1.3.1/gecode/int/view/print.cc +109 -0
  255. data/ext/gecode-1.3.1/gecode/int/view/rtest.icc +215 -0
  256. data/ext/gecode-1.3.1/gecode/int/view/scale.icc +373 -0
  257. data/ext/gecode-1.3.1/gecode/iter.hh +65 -0
  258. data/ext/gecode-1.3.1/gecode/iter/ranges-add.icc +130 -0
  259. data/ext/gecode-1.3.1/gecode/iter/ranges-append.icc +208 -0
  260. data/ext/gecode-1.3.1/gecode/iter/ranges-array.icc +123 -0
  261. data/ext/gecode-1.3.1/gecode/iter/ranges-cache.icc +143 -0
  262. data/ext/gecode-1.3.1/gecode/iter/ranges-compl.icc +206 -0
  263. data/ext/gecode-1.3.1/gecode/iter/ranges-diff.icc +127 -0
  264. data/ext/gecode-1.3.1/gecode/iter/ranges-empty.icc +96 -0
  265. data/ext/gecode-1.3.1/gecode/iter/ranges-inter.icc +202 -0
  266. data/ext/gecode-1.3.1/gecode/iter/ranges-minmax.icc +103 -0
  267. data/ext/gecode-1.3.1/gecode/iter/ranges-minus.icc +138 -0
  268. data/ext/gecode-1.3.1/gecode/iter/ranges-offset.icc +112 -0
  269. data/ext/gecode-1.3.1/gecode/iter/ranges-operations.icc +142 -0
  270. data/ext/gecode-1.3.1/gecode/iter/ranges-scale.icc +224 -0
  271. data/ext/gecode-1.3.1/gecode/iter/ranges-singleton.icc +71 -0
  272. data/ext/gecode-1.3.1/gecode/iter/ranges-size.icc +131 -0
  273. data/ext/gecode-1.3.1/gecode/iter/ranges-union.icc +211 -0
  274. data/ext/gecode-1.3.1/gecode/iter/ranges-values.icc +125 -0
  275. data/ext/gecode-1.3.1/gecode/iter/values-ranges.icc +91 -0
  276. data/ext/gecode-1.3.1/gecode/iter/virtual-ranges-compl.icc +247 -0
  277. data/ext/gecode-1.3.1/gecode/iter/virtual-ranges-inter.icc +227 -0
  278. data/ext/gecode-1.3.1/gecode/iter/virtual-ranges-union.icc +236 -0
  279. data/ext/gecode-1.3.1/gecode/iter/virtual-ranges.icc +126 -0
  280. data/ext/gecode-1.3.1/gecode/kernel.hh +141 -0
  281. data/ext/gecode-1.3.1/gecode/kernel/array.icc +954 -0
  282. data/ext/gecode-1.3.1/gecode/kernel/branching.icc +233 -0
  283. data/ext/gecode-1.3.1/gecode/kernel/core.cc +417 -0
  284. data/ext/gecode-1.3.1/gecode/kernel/core.icc +1681 -0
  285. data/ext/gecode-1.3.1/gecode/kernel/exception.cc +49 -0
  286. data/ext/gecode-1.3.1/gecode/kernel/exception.icc +104 -0
  287. data/ext/gecode-1.3.1/gecode/kernel/macros.icc +98 -0
  288. data/ext/gecode-1.3.1/gecode/kernel/memory-manager.cc +41 -0
  289. data/ext/gecode-1.3.1/gecode/kernel/memory-manager.icc +438 -0
  290. data/ext/gecode-1.3.1/gecode/kernel/memory.icc +205 -0
  291. data/ext/gecode-1.3.1/gecode/kernel/modevent.icc +53 -0
  292. data/ext/gecode-1.3.1/gecode/kernel/propagator.icc +680 -0
  293. data/ext/gecode-1.3.1/gecode/kernel/view.icc +583 -0
  294. data/ext/gecode-1.3.1/gecode/limits.hh +87 -0
  295. data/ext/gecode-1.3.1/gecode/minimodel.hh +942 -0
  296. data/ext/gecode-1.3.1/gecode/minimodel/arithmetic.cc +137 -0
  297. data/ext/gecode-1.3.1/gecode/minimodel/bool-expr.cc +207 -0
  298. data/ext/gecode-1.3.1/gecode/minimodel/bool-expr.icc +191 -0
  299. data/ext/gecode-1.3.1/gecode/minimodel/bool-rel.icc +66 -0
  300. data/ext/gecode-1.3.1/gecode/minimodel/exception.icc +59 -0
  301. data/ext/gecode-1.3.1/gecode/minimodel/lin-expr.cc +103 -0
  302. data/ext/gecode-1.3.1/gecode/minimodel/lin-expr.icc +192 -0
  303. data/ext/gecode-1.3.1/gecode/minimodel/lin-rel.icc +200 -0
  304. data/ext/gecode-1.3.1/gecode/minimodel/matrix.icc +118 -0
  305. data/ext/gecode-1.3.1/gecode/minimodel/scheduling.cc +241 -0
  306. data/ext/gecode-1.3.1/gecode/search.hh +745 -0
  307. data/ext/gecode-1.3.1/gecode/search/bab.cc +153 -0
  308. data/ext/gecode-1.3.1/gecode/search/bab.icc +101 -0
  309. data/ext/gecode-1.3.1/gecode/search/dfs.cc +63 -0
  310. data/ext/gecode-1.3.1/gecode/search/dfs.icc +144 -0
  311. data/ext/gecode-1.3.1/gecode/search/engine-ctrl.icc +109 -0
  312. data/ext/gecode-1.3.1/gecode/search/lds.cc +237 -0
  313. data/ext/gecode-1.3.1/gecode/search/lds.icc +57 -0
  314. data/ext/gecode-1.3.1/gecode/search/reco-stack.icc +219 -0
  315. data/ext/gecode-1.3.1/gecode/search/restart.icc +76 -0
  316. data/ext/gecode-1.3.1/gecode/search/statistics.icc +30 -0
  317. data/ext/gecode-1.3.1/gecode/search/stop.cc +58 -0
  318. data/ext/gecode-1.3.1/gecode/search/stop.icc +100 -0
  319. data/ext/gecode-1.3.1/gecode/set.hh +419 -0
  320. data/ext/gecode-1.3.1/gecode/set/array.cc +114 -0
  321. data/ext/gecode-1.3.1/gecode/set/array.icc +134 -0
  322. data/ext/gecode-1.3.1/gecode/set/branch.cc +57 -0
  323. data/ext/gecode-1.3.1/gecode/set/branch.hh +176 -0
  324. data/ext/gecode-1.3.1/gecode/set/branch/select-val.icc +72 -0
  325. data/ext/gecode-1.3.1/gecode/set/branch/select-view.icc +112 -0
  326. data/ext/gecode-1.3.1/gecode/set/cardinality.cc +49 -0
  327. data/ext/gecode-1.3.1/gecode/set/convex.cc +43 -0
  328. data/ext/gecode-1.3.1/gecode/set/convex.hh +92 -0
  329. data/ext/gecode-1.3.1/gecode/set/convex/conv.cc +81 -0
  330. data/ext/gecode-1.3.1/gecode/set/convex/conv.icc +51 -0
  331. data/ext/gecode-1.3.1/gecode/set/convex/hull.cc +100 -0
  332. data/ext/gecode-1.3.1/gecode/set/convex/hull.icc +52 -0
  333. data/ext/gecode-1.3.1/gecode/set/distinct.cc +48 -0
  334. data/ext/gecode-1.3.1/gecode/set/distinct.hh +97 -0
  335. data/ext/gecode-1.3.1/gecode/set/distinct/atmostOne.cc +151 -0
  336. data/ext/gecode-1.3.1/gecode/set/distinct/atmostOne.icc +50 -0
  337. data/ext/gecode-1.3.1/gecode/set/distinct/binomial.cc +46 -0
  338. data/ext/gecode-1.3.1/gecode/set/distinct/binomial.icc +157 -0
  339. data/ext/gecode-1.3.1/gecode/set/distinct/distinct.cc +124 -0
  340. data/ext/gecode-1.3.1/gecode/set/distinct/distinct.icc +58 -0
  341. data/ext/gecode-1.3.1/gecode/set/dom.cc +224 -0
  342. data/ext/gecode-1.3.1/gecode/set/exception.icc +132 -0
  343. data/ext/gecode-1.3.1/gecode/set/int.cc +139 -0
  344. data/ext/gecode-1.3.1/gecode/set/int.hh +226 -0
  345. data/ext/gecode-1.3.1/gecode/set/int/card.cc +61 -0
  346. data/ext/gecode-1.3.1/gecode/set/int/card.icc +54 -0
  347. data/ext/gecode-1.3.1/gecode/set/int/channel.cc +100 -0
  348. data/ext/gecode-1.3.1/gecode/set/int/channel.icc +75 -0
  349. data/ext/gecode-1.3.1/gecode/set/int/match.cc +148 -0
  350. data/ext/gecode-1.3.1/gecode/set/int/match.icc +67 -0
  351. data/ext/gecode-1.3.1/gecode/set/int/minmax.cc +109 -0
  352. data/ext/gecode-1.3.1/gecode/set/int/minmax.icc +63 -0
  353. data/ext/gecode-1.3.1/gecode/set/int/weights.cc +182 -0
  354. data/ext/gecode-1.3.1/gecode/set/int/weights.icc +174 -0
  355. data/ext/gecode-1.3.1/gecode/set/projectors-compiler.hh +148 -0
  356. data/ext/gecode-1.3.1/gecode/set/projectors.cc +109 -0
  357. data/ext/gecode-1.3.1/gecode/set/projectors.hh +319 -0
  358. data/ext/gecode-1.3.1/gecode/set/projectors/compiler.cc +841 -0
  359. data/ext/gecode-1.3.1/gecode/set/projectors/projector-set.cc +69 -0
  360. data/ext/gecode-1.3.1/gecode/set/projectors/projector-set.icc +66 -0
  361. data/ext/gecode-1.3.1/gecode/set/projectors/projector.cc +125 -0
  362. data/ext/gecode-1.3.1/gecode/set/projectors/projector.icc +79 -0
  363. data/ext/gecode-1.3.1/gecode/set/projectors/propagator.hh +127 -0
  364. data/ext/gecode-1.3.1/gecode/set/projectors/propagator/card.icc +96 -0
  365. data/ext/gecode-1.3.1/gecode/set/projectors/propagator/nary.icc +106 -0
  366. data/ext/gecode-1.3.1/gecode/set/projectors/propagator/re-nary.cc +76 -0
  367. data/ext/gecode-1.3.1/gecode/set/projectors/propagator/re-nary.icc +53 -0
  368. data/ext/gecode-1.3.1/gecode/set/projectors/set-expr.cc +306 -0
  369. data/ext/gecode-1.3.1/gecode/set/projectors/set-expr.icc +192 -0
  370. data/ext/gecode-1.3.1/gecode/set/propagator.icc +96 -0
  371. data/ext/gecode-1.3.1/gecode/set/rel-op-const.cc +233 -0
  372. data/ext/gecode-1.3.1/gecode/set/rel-op.cc +96 -0
  373. data/ext/gecode-1.3.1/gecode/set/rel-op.hh +267 -0
  374. data/ext/gecode-1.3.1/gecode/set/rel-op/common.icc +528 -0
  375. data/ext/gecode-1.3.1/gecode/set/rel-op/inter.icc +312 -0
  376. data/ext/gecode-1.3.1/gecode/set/rel-op/partition.icc +131 -0
  377. data/ext/gecode-1.3.1/gecode/set/rel-op/post.icc +198 -0
  378. data/ext/gecode-1.3.1/gecode/set/rel-op/subofunion.icc +150 -0
  379. data/ext/gecode-1.3.1/gecode/set/rel-op/superofinter.icc +151 -0
  380. data/ext/gecode-1.3.1/gecode/set/rel-op/union.icc +292 -0
  381. data/ext/gecode-1.3.1/gecode/set/rel.cc +201 -0
  382. data/ext/gecode-1.3.1/gecode/set/rel.hh +250 -0
  383. data/ext/gecode-1.3.1/gecode/set/rel/common.icc +109 -0
  384. data/ext/gecode-1.3.1/gecode/set/rel/eq.icc +101 -0
  385. data/ext/gecode-1.3.1/gecode/set/rel/nosubset.icc +88 -0
  386. data/ext/gecode-1.3.1/gecode/set/rel/nq.icc +132 -0
  387. data/ext/gecode-1.3.1/gecode/set/rel/re-eq.icc +142 -0
  388. data/ext/gecode-1.3.1/gecode/set/rel/re-subset.icc +121 -0
  389. data/ext/gecode-1.3.1/gecode/set/rel/subset.icc +80 -0
  390. data/ext/gecode-1.3.1/gecode/set/select.cc +88 -0
  391. data/ext/gecode-1.3.1/gecode/set/select.hh +113 -0
  392. data/ext/gecode-1.3.1/gecode/set/select/disjoint.cc +267 -0
  393. data/ext/gecode-1.3.1/gecode/set/select/disjoint.icc +59 -0
  394. data/ext/gecode-1.3.1/gecode/set/select/idxarray.hh +91 -0
  395. data/ext/gecode-1.3.1/gecode/set/select/idxarray.icc +112 -0
  396. data/ext/gecode-1.3.1/gecode/set/select/inter.icc +300 -0
  397. data/ext/gecode-1.3.1/gecode/set/sequence.cc +48 -0
  398. data/ext/gecode-1.3.1/gecode/set/sequence.hh +97 -0
  399. data/ext/gecode-1.3.1/gecode/set/sequence/common.icc +79 -0
  400. data/ext/gecode-1.3.1/gecode/set/sequence/seq-u.cc +83 -0
  401. data/ext/gecode-1.3.1/gecode/set/sequence/seq-u.icc +63 -0
  402. data/ext/gecode-1.3.1/gecode/set/sequence/seq.cc +61 -0
  403. data/ext/gecode-1.3.1/gecode/set/sequence/seq.icc +53 -0
  404. data/ext/gecode-1.3.1/gecode/set/var-imp.vis +205 -0
  405. data/ext/gecode-1.3.1/gecode/set/var.icc +1090 -0
  406. data/ext/gecode-1.3.1/gecode/set/var/imp-body.icc +192 -0
  407. data/ext/gecode-1.3.1/gecode/set/var/imp-hdr.icc +235 -0
  408. data/ext/gecode-1.3.1/gecode/set/var/imp.cc +127 -0
  409. data/ext/gecode-1.3.1/gecode/set/var/imp.icc +356 -0
  410. data/ext/gecode-1.3.1/gecode/set/var/integerset.cc +256 -0
  411. data/ext/gecode-1.3.1/gecode/set/var/integerset.icc +512 -0
  412. data/ext/gecode-1.3.1/gecode/set/var/iter.icc +47 -0
  413. data/ext/gecode-1.3.1/gecode/set/var/set.cc +99 -0
  414. data/ext/gecode-1.3.1/gecode/set/var/set.icc +282 -0
  415. data/ext/gecode-1.3.1/gecode/set/view.icc +1075 -0
  416. data/ext/gecode-1.3.1/gecode/set/view/complement.icc +525 -0
  417. data/ext/gecode-1.3.1/gecode/set/view/const.icc +651 -0
  418. data/ext/gecode-1.3.1/gecode/set/view/print.cc +120 -0
  419. data/ext/gecode-1.3.1/gecode/set/view/set.icc +217 -0
  420. data/ext/gecode-1.3.1/gecode/set/view/singleton.icc +348 -0
  421. data/ext/gecode-1.3.1/gecode/support/block-allocator.hh +152 -0
  422. data/ext/gecode-1.3.1/gecode/support/dynamic-array.hh +131 -0
  423. data/ext/gecode-1.3.1/gecode/support/dynamic-stack.hh +157 -0
  424. data/ext/gecode-1.3.1/gecode/support/random.hh +100 -0
  425. data/ext/gecode-1.3.1/gecode/support/shared-array.hh +255 -0
  426. data/ext/gecode-1.3.1/gecode/support/sort.hh +193 -0
  427. data/ext/gecode-1.3.1/gecode/support/static-pqueue.hh +240 -0
  428. data/ext/gecode-1.3.1/gecode/support/static-stack.hh +117 -0
  429. data/ext/gecode-1.3.1/install-sh +323 -0
  430. data/ext/gecode-1.3.1/misc/debian/Makefile.am +8 -0
  431. data/ext/gecode-1.3.1/misc/debian/changelog +6 -0
  432. data/ext/gecode-1.3.1/misc/debian/control +11 -0
  433. data/ext/gecode-1.3.1/misc/debian/copyright +44 -0
  434. data/ext/gecode-1.3.1/misc/debian/gecode.info +9 -0
  435. data/ext/gecode-1.3.1/misc/debian/gecode.install +2 -0
  436. data/ext/gecode-1.3.1/misc/debian/gecode.spec +58 -0
  437. data/ext/gecode-1.3.1/misc/debian/rules +81 -0
  438. data/ext/gecode-1.3.1/misc/doxygen/back.png +0 -0
  439. data/ext/gecode-1.3.1/misc/doxygen/footer.html +3 -0
  440. data/ext/gecode-1.3.1/misc/doxygen/gecode-logo-100.png +0 -0
  441. data/ext/gecode-1.3.1/misc/doxygen/header.html +46 -0
  442. data/ext/gecode-1.3.1/misc/doxygen/stylesheet.css +460 -0
  443. data/ext/gecode-1.3.1/misc/fixproperties.sh +32 -0
  444. data/ext/gecode-1.3.1/misc/gecode-minimodel.pc.in +12 -0
  445. data/ext/gecode-1.3.1/misc/gecode-search.pc.in +12 -0
  446. data/ext/gecode-1.3.1/misc/gecode.pc.in +12 -0
  447. data/ext/gecode-1.3.1/misc/genchangelog.perl +190 -0
  448. data/ext/gecode-1.3.1/misc/genlicense.perl +113 -0
  449. data/ext/gecode-1.3.1/misc/genstatistics.perl +155 -0
  450. data/ext/gecode-1.3.1/misc/gentxtchangelog.perl +170 -0
  451. data/ext/gecode-1.3.1/misc/genvarimp.perl +666 -0
  452. data/ext/gecode-1.3.1/misc/getrevision.perl +32 -0
  453. data/ext/gecode-1.3.1/misc/makedepend.perl +66 -0
  454. data/ext/gecode-1.3.1/test/int.cc +497 -0
  455. data/ext/gecode-1.3.1/test/int.hh +119 -0
  456. data/ext/gecode-1.3.1/test/int/arithmetic.cc +262 -0
  457. data/ext/gecode-1.3.1/test/int/basic.cc +42 -0
  458. data/ext/gecode-1.3.1/test/int/bool.cc +189 -0
  459. data/ext/gecode-1.3.1/test/int/channel.cc +79 -0
  460. data/ext/gecode-1.3.1/test/int/count.cc +264 -0
  461. data/ext/gecode-1.3.1/test/int/distinct.cc +121 -0
  462. data/ext/gecode-1.3.1/test/int/dom.cc +69 -0
  463. data/ext/gecode-1.3.1/test/int/element.cc +132 -0
  464. data/ext/gecode-1.3.1/test/int/gcc.cc +592 -0
  465. data/ext/gecode-1.3.1/test/int/linear.cc +315 -0
  466. data/ext/gecode-1.3.1/test/int/minimodel.cc +451 -0
  467. data/ext/gecode-1.3.1/test/int/regular.cc +105 -0
  468. data/ext/gecode-1.3.1/test/int/rel.cc +283 -0
  469. data/ext/gecode-1.3.1/test/int/scheduling.cc +259 -0
  470. data/ext/gecode-1.3.1/test/int/sortedness.cc +272 -0
  471. data/ext/gecode-1.3.1/test/intset.cc +40 -0
  472. data/ext/gecode-1.3.1/test/log.cc +515 -0
  473. data/ext/gecode-1.3.1/test/log.hh +68 -0
  474. data/ext/gecode-1.3.1/test/set.cc +542 -0
  475. data/ext/gecode-1.3.1/test/set.hh +152 -0
  476. data/ext/gecode-1.3.1/test/set/convex.cc +94 -0
  477. data/ext/gecode-1.3.1/test/set/distinct.cc +148 -0
  478. data/ext/gecode-1.3.1/test/set/dom.cc +67 -0
  479. data/ext/gecode-1.3.1/test/set/int.cc +249 -0
  480. data/ext/gecode-1.3.1/test/set/projection.cc +333 -0
  481. data/ext/gecode-1.3.1/test/set/rel-op.cc +662 -0
  482. data/ext/gecode-1.3.1/test/set/rel.cc +198 -0
  483. data/ext/gecode-1.3.1/test/set/select.cc +108 -0
  484. data/ext/gecode-1.3.1/test/set/sequence.cc +83 -0
  485. data/ext/gecode-1.3.1/test/stress.cc +93 -0
  486. data/ext/gecode-1.3.1/test/stress.hh +74 -0
  487. data/ext/gecode-1.3.1/test/stress/distinct.cc +70 -0
  488. data/ext/gecode-1.3.1/test/stress/domain.cc +69 -0
  489. data/ext/gecode-1.3.1/test/stress/exec.cc +60 -0
  490. data/ext/gecode-1.3.1/test/stress/minsort.cc +63 -0
  491. data/ext/gecode-1.3.1/test/stress/regular.cc +112 -0
  492. data/ext/gecode-1.3.1/test/test.cc +215 -0
  493. data/ext/gecode-1.3.1/test/test.hh +107 -0
  494. data/ext/missing.cpp +328 -0
  495. data/ext/missing.h +120 -0
  496. data/ext/vararray.cpp +330 -0
  497. data/ext/vararray.h +149 -0
  498. data/lib/gecoder.rb +5 -0
  499. data/lib/gecoder/bindings.rb +34 -0
  500. data/lib/gecoder/bindings/bindings.rb +2209 -0
  501. data/lib/gecoder/interface.rb +8 -0
  502. data/lib/gecoder/interface/binding_changes.rb +313 -0
  503. data/lib/gecoder/interface/branch.rb +152 -0
  504. data/lib/gecoder/interface/constraints.rb +397 -0
  505. data/lib/gecoder/interface/constraints/bool/boolean.rb +246 -0
  506. data/lib/gecoder/interface/constraints/bool/linear.rb +29 -0
  507. data/lib/gecoder/interface/constraints/bool_enum/boolean.rb +84 -0
  508. data/lib/gecoder/interface/constraints/bool_enum_constraints.rb +8 -0
  509. data/lib/gecoder/interface/constraints/bool_var_constraints.rb +75 -0
  510. data/lib/gecoder/interface/constraints/int/arithmetic.rb +71 -0
  511. data/lib/gecoder/interface/constraints/int/domain.rb +78 -0
  512. data/lib/gecoder/interface/constraints/int/linear.rb +295 -0
  513. data/lib/gecoder/interface/constraints/int_enum/arithmetic.rb +72 -0
  514. data/lib/gecoder/interface/constraints/int_enum/channel.rb +100 -0
  515. data/lib/gecoder/interface/constraints/int_enum/count.rb +92 -0
  516. data/lib/gecoder/interface/constraints/int_enum/distinct.rb +69 -0
  517. data/lib/gecoder/interface/constraints/int_enum/element.rb +82 -0
  518. data/lib/gecoder/interface/constraints/int_enum/equality.rb +38 -0
  519. data/lib/gecoder/interface/constraints/int_enum/sort.rb +126 -0
  520. data/lib/gecoder/interface/constraints/int_enum_constraints.rb +37 -0
  521. data/lib/gecoder/interface/constraints/int_var_constraints.rb +58 -0
  522. data/lib/gecoder/interface/constraints/reifiable_constraints.rb +78 -0
  523. data/lib/gecoder/interface/constraints/set/cardinality.rb +75 -0
  524. data/lib/gecoder/interface/constraints/set/connection.rb +193 -0
  525. data/lib/gecoder/interface/constraints/set/domain.rb +109 -0
  526. data/lib/gecoder/interface/constraints/set/operation.rb +132 -0
  527. data/lib/gecoder/interface/constraints/set/relation.rb +178 -0
  528. data/lib/gecoder/interface/constraints/set_enum/channel.rb +18 -0
  529. data/lib/gecoder/interface/constraints/set_enum/distinct.rb +80 -0
  530. data/lib/gecoder/interface/constraints/set_enum/operation.rb +60 -0
  531. data/lib/gecoder/interface/constraints/set_enum/selection.rb +217 -0
  532. data/lib/gecoder/interface/constraints/set_enum_constraints.rb +34 -0
  533. data/lib/gecoder/interface/constraints/set_var_constraints.rb +72 -0
  534. data/lib/gecoder/interface/enum_matrix.rb +64 -0
  535. data/lib/gecoder/interface/enum_wrapper.rb +153 -0
  536. data/lib/gecoder/interface/model.rb +251 -0
  537. data/lib/gecoder/interface/search.rb +123 -0
  538. data/lib/gecoder/interface/variables.rb +254 -0
  539. data/lib/gecoder/version.rb +4 -0
  540. data/specs/binding_changes.rb +76 -0
  541. data/specs/bool_var.rb +74 -0
  542. data/specs/branch.rb +170 -0
  543. data/specs/constraints/arithmetic.rb +266 -0
  544. data/specs/constraints/bool_enum.rb +140 -0
  545. data/specs/constraints/boolean.rb +232 -0
  546. data/specs/constraints/cardinality.rb +154 -0
  547. data/specs/constraints/channel.rb +126 -0
  548. data/specs/constraints/connection.rb +373 -0
  549. data/specs/constraints/constraint_helper.rb +180 -0
  550. data/specs/constraints/constraints.rb +74 -0
  551. data/specs/constraints/count.rb +139 -0
  552. data/specs/constraints/distinct.rb +218 -0
  553. data/specs/constraints/element.rb +106 -0
  554. data/specs/constraints/equality.rb +31 -0
  555. data/specs/constraints/int_domain.rb +69 -0
  556. data/specs/constraints/int_relation.rb +78 -0
  557. data/specs/constraints/linear.rb +332 -0
  558. data/specs/constraints/reification_sugar.rb +96 -0
  559. data/specs/constraints/selection.rb +292 -0
  560. data/specs/constraints/set_domain.rb +181 -0
  561. data/specs/constraints/set_operation.rb +285 -0
  562. data/specs/constraints/set_relation.rb +201 -0
  563. data/specs/constraints/sort.rb +175 -0
  564. data/specs/enum_matrix.rb +43 -0
  565. data/specs/enum_wrapper.rb +122 -0
  566. data/specs/int_var.rb +144 -0
  567. data/specs/logging.rb +24 -0
  568. data/specs/model.rb +190 -0
  569. data/specs/search.rb +246 -0
  570. data/specs/set_var.rb +68 -0
  571. data/specs/spec_helper.rb +93 -0
  572. data/tasks/all_tasks.rb +1 -0
  573. data/tasks/distribution.rake +129 -0
  574. data/tasks/rcov.rake +17 -0
  575. data/tasks/specs.rake +15 -0
  576. data/tasks/svn.rake +11 -0
  577. data/tasks/website.rake +51 -0
  578. data/vendor/rust/README +28 -0
  579. data/vendor/rust/bin/cxxgenerator.rb +93 -0
  580. data/vendor/rust/include/rust_checks.hh +115 -0
  581. data/vendor/rust/include/rust_conversions.hh +102 -0
  582. data/vendor/rust/rust.rb +67 -0
  583. data/vendor/rust/rust/attribute.rb +51 -0
  584. data/vendor/rust/rust/bindings.rb +172 -0
  585. data/vendor/rust/rust/class.rb +339 -0
  586. data/vendor/rust/rust/constants.rb +48 -0
  587. data/vendor/rust/rust/container.rb +110 -0
  588. data/vendor/rust/rust/cppifaceparser.rb +129 -0
  589. data/vendor/rust/rust/cwrapper.rb +72 -0
  590. data/vendor/rust/rust/cxxclass.rb +98 -0
  591. data/vendor/rust/rust/element.rb +81 -0
  592. data/vendor/rust/rust/enum.rb +63 -0
  593. data/vendor/rust/rust/function.rb +407 -0
  594. data/vendor/rust/rust/namespace.rb +61 -0
  595. data/vendor/rust/rust/templates/AttributeDefinition.rusttpl +17 -0
  596. data/vendor/rust/rust/templates/AttributeInitBinding.rusttpl +9 -0
  597. data/vendor/rust/rust/templates/BindingsHeader.rusttpl +24 -0
  598. data/vendor/rust/rust/templates/BindingsUnit.rusttpl +46 -0
  599. data/vendor/rust/rust/templates/CWrapperClassDefinitions.rusttpl +64 -0
  600. data/vendor/rust/rust/templates/ClassDeclarations.rusttpl +7 -0
  601. data/vendor/rust/rust/templates/ClassInitialize.rusttpl +6 -0
  602. data/vendor/rust/rust/templates/ConstructorStub.rusttpl +21 -0
  603. data/vendor/rust/rust/templates/CxxClassDefinitions.rusttpl +91 -0
  604. data/vendor/rust/rust/templates/CxxMethodStub.rusttpl +12 -0
  605. data/vendor/rust/rust/templates/CxxStandaloneClassDefinitions.rusttpl +26 -0
  606. data/vendor/rust/rust/templates/EnumDeclarations.rusttpl +3 -0
  607. data/vendor/rust/rust/templates/EnumDefinitions.rusttpl +29 -0
  608. data/vendor/rust/rust/templates/FunctionDefinition.rusttpl +9 -0
  609. data/vendor/rust/rust/templates/FunctionInitAlias.rusttpl +5 -0
  610. data/vendor/rust/rust/templates/FunctionInitBinding.rusttpl +9 -0
  611. data/vendor/rust/rust/templates/MethodInitBinding.rusttpl +9 -0
  612. data/vendor/rust/rust/templates/ModuleDeclarations.rusttpl +3 -0
  613. data/vendor/rust/rust/templates/ModuleDefinitions.rusttpl +3 -0
  614. data/vendor/rust/rust/templates/StandaloneClassDeclarations.rusttpl +7 -0
  615. data/vendor/rust/rust/templates/VariableFunctionCall.rusttpl +14 -0
  616. data/vendor/rust/rust/type.rb +98 -0
  617. data/vendor/rust/test/Makefile +4 -0
  618. data/vendor/rust/test/constants.rb +36 -0
  619. data/vendor/rust/test/cppclass.cc +45 -0
  620. data/vendor/rust/test/cppclass.hh +67 -0
  621. data/vendor/rust/test/cppclass.rb +59 -0
  622. data/vendor/rust/test/cwrapper.c +74 -0
  623. data/vendor/rust/test/cwrapper.h +41 -0
  624. data/vendor/rust/test/cwrapper.rb +56 -0
  625. data/vendor/rust/test/dummyclass.hh +31 -0
  626. data/vendor/rust/test/lib/extension-test.rb +98 -0
  627. data/vendor/rust/test/operators.cc +41 -0
  628. data/vendor/rust/test/operators.hh +39 -0
  629. data/vendor/rust/test/operators.rb +39 -0
  630. data/vendor/rust/test/test-constants.rb +43 -0
  631. data/vendor/rust/test/test-cppclass.rb +82 -0
  632. data/vendor/rust/test/test-cwrapper.rb +80 -0
  633. data/vendor/rust/test/test-operators.rb +42 -0
  634. metadata +826 -0
@@ -0,0 +1,966 @@
1
+ # -*-Makefile-*-
2
+ #
3
+ # Main authors:
4
+ # Christian Schulte <schulte@gecode.org>
5
+ # Guido Tack <tack@gecode.org>
6
+ #
7
+ # Copyright:
8
+ # Christian Schulte, 2005
9
+ # Guido Tack, 2005
10
+ #
11
+ # Last modified:
12
+ # $Date: 2006-10-25 13:15:10 +0200 (Wed, 25 Oct 2006) $ by $Author: tack $
13
+ # $Revision: 3786 $
14
+ #
15
+ # This file is part of Gecode, the generic constraint
16
+ # development environment:
17
+ # http://www.gecode.org
18
+ #
19
+ # See the file "LICENSE" for information on usage and
20
+ # redistribution of this file, and for a
21
+ # DISCLAIMER OF ALL WARRANTIES.
22
+ #
23
+
24
+ #
25
+ # General Settings
26
+ #
27
+
28
+ export prefix = @prefix@
29
+ export exec_prefix = @exec_prefix@
30
+ export bindir = @bindir@
31
+ export libdir = @libdir@
32
+ export sharedlibdir = @sharedlibdir@
33
+ export includedir = @includedir@
34
+ export pkgincludedir = $(includedir)/gecode
35
+ export srcdir = @srcdir@
36
+ export datarootdir = @datarootdir@
37
+ export datadir = @datadir@
38
+ export docdir= @docdir@
39
+ export top_srcdir = @top_srcdir@
40
+ export top_builddir = .
41
+
42
+ # Install to different root directory
43
+ DESTDIR=
44
+
45
+ export subdirs = @subdirs@
46
+
47
+ export VERSION = @VERSION@
48
+
49
+ export CXX = @CXX@
50
+ ifeq "$(top_srcdir)" "$(top_builddir)"
51
+ CPPFLAGS=-I$(top_srcdir)
52
+ else
53
+ CPPFLAGS=-I$(top_srcdir) -I$(top_builddir)
54
+ endif
55
+ export CPPFLAGS
56
+ export CXXFLAGS = $(CPPFLAGS) @CXXFLAGS@ $(CXXUSR)
57
+ export EXAMPLES_EXTRA_CXXFLAGS = @EXAMPLES_EXTRA_CXXFLAGS@
58
+
59
+ export LINKFLAGS = @LDFLAGS@
60
+ export DLLFLAGS = @DLLFLAGS@
61
+ export DLLPATH = @DLLPATH@
62
+
63
+ export RANLIB = @RANLIB@
64
+ export TAR = tar
65
+
66
+ #
67
+ # Use suffixes to get consistent treatment of dots
68
+ #
69
+ export OBJSUFFIX = .@OBJEXT@
70
+ export SBJSUFFIX = .@SBJEXT@
71
+ export DLLSUFFIX = .@DLLEXT@
72
+ export LIBSUFFIX = .@LIBEXT@
73
+ export STATICLIBSUFFIX = .@STATICLIBEXT@
74
+ export EXESUFFIX = @EXEEXT@
75
+
76
+ export LIBPREFIX = @LIBPREFIX@
77
+ export LINKPREFIX = @LINKPREFIX@
78
+ export LINKSUFFIX = @LINKSUFFIX@
79
+
80
+ export SOLINKSUFFIX = @SOLINKSUFFIX@
81
+ export SOSUFFIX = @SOSUFFIX@
82
+
83
+ #
84
+ # Programs
85
+ #
86
+ export RMF = rm -rf
87
+ export MV = mv
88
+
89
+ ifeq "@need_soname@" "yes"
90
+ export CREATELINK = ln -fs
91
+ else
92
+ export CREATELINK = @true
93
+ endif
94
+
95
+ #
96
+ # KERNEL COMPONENTS
97
+ #
98
+
99
+ KERNELSRC0 = \
100
+ exception.cc core.cc memory-manager.cc
101
+ KERNELHDR0 = \
102
+ array.icc branching.icc core.icc exception.icc \
103
+ macros.icc memory-manager.icc memory.icc modevent.icc \
104
+ propagator.icc view.icc
105
+
106
+ KERNELSRC = $(KERNELSRC0:%=gecode/kernel/%)
107
+ KERNELHDR = \
108
+ gecode/limits.hh gecode/kernel.hh \
109
+ $(KERNELHDR0:%=gecode/kernel/%)
110
+ KERNELOBJ = $(KERNELSRC:%.cc=%$(OBJSUFFIX))
111
+
112
+ export KERNELDLL = $(LIBPREFIX)@KERNEL@$(DLLSUFFIX)
113
+ export KERNELLIB = $(LIBPREFIX)@KERNEL@$(LIBSUFFIX)
114
+ ifeq "@need_soname@" "yes"
115
+ export KERNELSONAME = \
116
+ @WLSONAME@$(LIBPREFIX)@KERNEL@$(SOSUFFIX)
117
+ else
118
+ export KERNELSONAME =
119
+ endif
120
+ export KERNELSTATICLIB = $(LIBPREFIX)@KERNEL@$(STATICLIBSUFFIX)
121
+ export LINKKERNEL = $(LINKPREFIX)@KERNEL@$(LINKSUFFIX)
122
+ KERNELBUILDDIRS = kernel
123
+
124
+ EXTRA_HEADERS = gecode/vti.icc gecode/config.icc
125
+
126
+ #
127
+ # SEARCH COMPONENTS
128
+ #
129
+
130
+ SEARCHSRC0 = \
131
+ dfs.cc lds.cc bab.cc stop.cc
132
+ SEARCHHDR0 = \
133
+ bab.icc dfs.icc lds.icc restart.icc \
134
+ reco-stack.icc statistics.icc \
135
+ engine-ctrl.icc stop.icc
136
+
137
+ SEARCHSRC = $(SEARCHSRC0:%=gecode/search/%)
138
+ SEARCHHDR = gecode/search.hh $(SEARCHHDR0:%=gecode/search/%)
139
+ SEARCHOBJ = $(SEARCHSRC:%.cc=%$(OBJSUFFIX))
140
+
141
+ ifeq "@enable_search@" "yes"
142
+ export SEARCHDLL = $(LIBPREFIX)@SEARCH@$(DLLSUFFIX)
143
+ export SEARCHSTATICLIB = $(LIBPREFIX)@SEARCH@$(STATICLIBSUFFIX)
144
+ export SEARCHLIB = $(LIBPREFIX)@SEARCH@$(LIBSUFFIX)
145
+ export LINKSEARCH = $(LINKPREFIX)@SEARCH@$(LINKSUFFIX)
146
+ ifeq "@need_soname@" "yes"
147
+ export SEARCHSONAME = \
148
+ @WLSONAME@$(LIBPREFIX)@SEARCH@$(SOSUFFIX)
149
+ else
150
+ export SEARCHSONAME =
151
+ endif
152
+ else
153
+ export SEARCHDLL =
154
+ export SEARCHSTATICLIB =
155
+ export SEARCHLIB =
156
+ export LINKSEARCH =
157
+ endif
158
+ SEARCHBUILDDIRS = search
159
+
160
+ #
161
+ # INTEGER COMPONENTS
162
+ #
163
+
164
+ INTSRC0 = \
165
+ int-set.cc var/imp.cc var/int.cc \
166
+ view/print.cc array.cc bool.cc \
167
+ regular/reg.cc regular/dfa.cc regular.cc \
168
+ dom.cc rel.cc element.cc count.cc arithmetic.cc \
169
+ linear/post.cc linear.cc \
170
+ branch.cc branch/assign.cc \
171
+ distinct.cc cumulatives.cc \
172
+ sortedness.cc gcc.cc \
173
+ channel.cc
174
+ INTVARIMP = \
175
+ gecode/int/var/imp-hdr.icc gecode/int/var/imp-body.icc
176
+ INTHDR0 = \
177
+ arithmetic/abs.icc arithmetic/max.icc arithmetic/mult.icc \
178
+ bool/or.icc bool/eq.icc bool/eqv.icc bool/base.icc \
179
+ branch/assign.icc branch/select-val.icc branch/select-view.icc \
180
+ count/view.icc count/int.icc count/rel.icc \
181
+ cumulatives/val.icc \
182
+ distinct/bilink.icc distinct/bnd.icc distinct/combptr.icc \
183
+ distinct/dom.icc distinct/edge.icc distinct/node.icc \
184
+ distinct/val.icc distinct/ter-dom.icc \
185
+ dom/range.icc dom/spec.icc \
186
+ element/int.icc element/view.icc \
187
+ gcc/bnd.icc gcc/dom.icc gcc/gccbndsup.icc gcc/graphsup.icc \
188
+ gcc/lbc.icc gcc/ubc.icc gcc/val.icc gcc/occur.icc \
189
+ linear/binary.icc linear/bool-int.icc linear/bool-view.icc \
190
+ linear/nary.icc linear/noview.icc linear/ternary.icc linear/dom.icc \
191
+ regular/dfa.icc regular/dom.icc \
192
+ rel/eq.icc rel/lex.icc rel/lq-le.icc rel/nq.icc \
193
+ sortedness/matching.icc sortedness/narrowing.icc \
194
+ sortedness/order.icc sortedness/sortedness.icc sortedness/sortsup.icc \
195
+ int-set.icc var/bool.icc var/imp.icc var/int.icc \
196
+ view/bool.icc view/constint.icc view/int.icc view/minus.icc \
197
+ view/offset.icc view/rtest.icc view/scale.icc view/iter.icc \
198
+ arithmetic.hh array.icc bool.hh branch.hh \
199
+ count.hh cumulatives.hh distinct.hh dom.hh \
200
+ element.hh exception.icc gcc.hh linear.hh \
201
+ propagator.icc regular.hh rel.hh \
202
+ sortedness.hh var.icc view.icc \
203
+ channel.hh channel/dom.icc channel/val.icc channel/stack.icc \
204
+ channel/base.icc
205
+
206
+ INTSRC = $(INTSRC0:%=gecode/int/%)
207
+ INTHDR = gecode/int.hh $(INTHDR0:%=gecode/int/%)
208
+ INTOBJ = $(INTSRC:%.cc=%$(OBJSUFFIX))
209
+
210
+ ifeq "@enable_int_vars@" "yes"
211
+ export INTDLL = $(LIBPREFIX)@INT@$(DLLSUFFIX)
212
+ export INTSTATICLIB = $(LIBPREFIX)@INT@$(STATICLIBSUFFIX)
213
+ export INTLIB = $(LIBPREFIX)@INT@$(LIBSUFFIX)
214
+ export LINKINT = $(LINKPREFIX)@INT@$(LINKSUFFIX)
215
+ ifeq "@need_soname@" "yes"
216
+ export INTSONAME = \
217
+ @WLSONAME@$(LIBPREFIX)@INT@$(SOSUFFIX)
218
+ else
219
+ export INTSONAME =
220
+ endif
221
+ else
222
+ export INTDLL =
223
+ export INTSTATICLIB =
224
+ export INTLIB =
225
+ export LINKINT =
226
+ endif
227
+ INTBUILDDIRS = \
228
+ int int/var int/view int/regular int/linear int/bool int/branch
229
+
230
+ #
231
+ # SET COMPONENTS
232
+ #
233
+
234
+ SETSRC0 = \
235
+ branch.cc cardinality.cc convex.cc convex/conv.cc convex/hull.cc \
236
+ dom.cc rel.cc rel-op.cc rel-op-const.cc \
237
+ int/card.cc int.cc int/channel.cc int/match.cc \
238
+ int/minmax.cc int/weights.cc \
239
+ select.cc select/disjoint.cc sequence.cc \
240
+ distinct.cc distinct/binomial.cc \
241
+ distinct/atmostOne.cc distinct/distinct.cc \
242
+ sequence/seq.cc sequence/seq-u.cc array.cc var/imp.cc \
243
+ var/integerset.cc var/set.cc view/print.cc \
244
+ projectors.cc \
245
+ projectors/set-expr.cc projectors/projector.cc \
246
+ projectors/projector-set.cc \
247
+ projectors/propagator/re-nary.cc \
248
+ projectors/compiler.cc
249
+ SETVARIMP = \
250
+ gecode/set/var/imp-hdr.icc gecode/set/var/imp-body.icc
251
+ SETHDR0 = \
252
+ view.icc exception.icc int.hh select.hh var.icc int/card.icc \
253
+ int/match.icc int/channel.icc int/minmax.icc int/weights.icc \
254
+ select/idxarray.hh \
255
+ select/idxarray.icc select/inter.icc \
256
+ select/disjoint.icc array.icc var/imp.icc var/integerset.icc \
257
+ var/iter.icc var/set.icc \
258
+ view/complement.icc view/const.icc view/set.icc view/singleton.icc \
259
+ rel/subset.icc rel/re-subset.icc rel/eq.icc rel/nq.icc rel/re-eq.icc \
260
+ rel/common.icc rel/nosubset.icc sequence.hh \
261
+ rel-op/union.icc rel-op/partition.icc rel-op/subofunion.icc \
262
+ rel-op/inter.icc rel-op/superofinter.icc \
263
+ rel-op/post.icc rel-op/common.icc rel.hh \
264
+ distinct/binomial.icc distinct/distinct.icc \
265
+ distinct.hh distinct/atmostOne.icc \
266
+ sequence/seq.icc sequence/seq-u.icc \
267
+ sequence/common.icc convex/conv.icc convex/hull.icc convex.hh \
268
+ propagator.icc rel-op.hh \
269
+ branch.hh branch/select-val.icc branch/select-view.icc \
270
+ projectors.hh projectors-compiler.hh \
271
+ projectors/projector.icc \
272
+ projectors/projector-set.icc projectors/set-expr.icc \
273
+ projectors/propagator/nary.icc \
274
+ projectors/propagator/re-nary.icc
275
+
276
+ SETSRC = $(SETSRC0:%=gecode/set/%)
277
+ SETHDR = gecode/set.hh $(SETHDR0:%=gecode/set/%)
278
+ SETOBJ = $(SETSRC:%.cc=%$(OBJSUFFIX))
279
+
280
+ ifeq "@enable_set_vars@" "yes"
281
+ export SETDLL = $(LIBPREFIX)@SET@$(DLLSUFFIX)
282
+ export SETSTATICLIB = $(LIBPREFIX)@SET@$(STATICLIBSUFFIX)
283
+ export SETLIB = $(LIBPREFIX)@SET@$(LIBSUFFIX)
284
+ export LINKSET = $(LINKPREFIX)@SET@$(LINKSUFFIX)
285
+ ifeq "@need_soname@" "yes"
286
+ export SETSONAME = \
287
+ @WLSONAME@$(LIBPREFIX)@SET@$(SOSUFFIX)
288
+ else
289
+ export SETSONAME =
290
+ endif
291
+ else
292
+ export SETDLL =
293
+ export SETSTATICLIB =
294
+ export SETLIB =
295
+ export LINKSET =
296
+ endif
297
+ SETBUILDDIRS = \
298
+ set set/convex set/distinct set/int set/rel set/rel-op \
299
+ set/select set/sequence set/var set/view set/projectors \
300
+ set/projectors/propagator
301
+
302
+ #
303
+ # MINIMODEL COMPONENTS
304
+ #
305
+
306
+ MMSRC0 = \
307
+ lin-expr.cc scheduling.cc bool-expr.cc arithmetic.cc
308
+ MMHDR0 = \
309
+ lin-expr.icc lin-rel.icc exception.icc matrix.icc \
310
+ bool-expr.icc bool-rel.icc
311
+
312
+ MMSRC = $(MMSRC0:%=gecode/minimodel/%)
313
+ MMHDR = gecode/minimodel.hh $(MMHDR0:%=gecode/minimodel/%)
314
+ MMOBJ = $(MMSRC:%.cc=%$(OBJSUFFIX))
315
+ MMSBJ = $(MMSRC:%.cc=%$(SBJSUFFIX))
316
+
317
+ ifeq "@enable_minimodel@" "yes"
318
+ export MMDLL = $(LIBPREFIX)@MM@$(DLLSUFFIX)
319
+ export MMSTATICLIB = $(LIBPREFIX)@MM@$(STATICLIBSUFFIX)
320
+ export MMLIB = $(LIBPREFIX)@MM@$(LIBSUFFIX)
321
+ export LINKMM = $(LINKPREFIX)@MM@$(LINKSUFFIX)
322
+ ifeq "@need_soname@" "yes"
323
+ export MMSONAME = \
324
+ @WLSONAME@$(LIBPREFIX)@MM@$(SOSUFFIX)
325
+ else
326
+ export MMSONAME =
327
+ endif
328
+ else
329
+ export MMDLL =
330
+ export MMSTATICLIB =
331
+ export MMLIB =
332
+ export LINKMM =
333
+ endif
334
+ MMBUILDDIRS = minimodel
335
+
336
+ #
337
+ # OTHER HEADERS
338
+ #
339
+
340
+ SUPPORTHDR0 = \
341
+ block-allocator.hh dynamic-array.hh dynamic-stack.hh \
342
+ random.hh shared-array.hh sort.hh \
343
+ static-pqueue.hh static-stack.hh
344
+ ITERHDR0 = \
345
+ ranges-add.icc ranges-append.icc ranges-array.icc ranges-cache.icc \
346
+ ranges-compl.icc ranges-diff.icc ranges-empty.icc \
347
+ ranges-inter.icc ranges-minmax.icc ranges-minus.icc \
348
+ ranges-offset.icc ranges-operations.icc ranges-scale.icc \
349
+ ranges-singleton.icc ranges-size.icc ranges-union.icc \
350
+ ranges-values.icc values-ranges.icc virtual-ranges.icc \
351
+ virtual-ranges-union.icc virtual-ranges-inter.icc \
352
+ virtual-ranges-compl.icc
353
+ OTHERHDR = gecode/iter.hh \
354
+ $(SUPPORTHDR0:%=gecode/support/%) $(ITERHDR0:%=gecode/iter/%)
355
+
356
+ #
357
+ # EXAMPLES
358
+ #
359
+
360
+ INTEXAMPLESRC0 = \
361
+ alpha bibd cars donald \
362
+ eq20 golomb \
363
+ graph-color grocery ind-set knights \
364
+ magic-sequence magic-sequence-gcc magic-square \
365
+ money ortho-latin packing \
366
+ partition photo queens \
367
+ sudoku picture-puzzle \
368
+ crowded-chess black-hole \
369
+ sports-league all-interval all-interval-sort langfordnum \
370
+ warehouses \
371
+ stress-domain stress-exec stress-search baseline \
372
+ stress-element stress-min
373
+ INTEXAMPLESRC = $(INTEXAMPLESRC0:%=examples/%.cc)
374
+ INTEXAMPLEOBJ = $(INTEXAMPLESRC:%.cc=%$(OBJSUFFIX))
375
+ INTEXAMPLESBJ = $(INTEXAMPLESRC:%.cc=%$(SBJSUFFIX))
376
+ INTEXAMPLEEXE = $(INTEXAMPLESRC:%.cc=%$(EXESUFFIX))
377
+
378
+ SETEXAMPLESRC0 = \
379
+ crew golf hamming steiner sudoku-set sudoku-mixed queen-armies
380
+ SETEXAMPLESRC = $(SETEXAMPLESRC0:%=examples/%.cc)
381
+ SETEXAMPLEOBJ = $(SETEXAMPLESRC:%.cc=%$(OBJSUFFIX))
382
+ SETEXAMPLESBJ = $(SETEXAMPLESRC:%.cc=%$(SBJSUFFIX))
383
+ SETEXAMPLEEXE = $(SETEXAMPLESRC:%.cc=%$(EXESUFFIX))
384
+
385
+ EXAMPLEBUILDDIRS = examples
386
+
387
+ ifeq "@enable_set_vars@" "yes"
388
+ EXAMPLEEXE = $(INTEXAMPLEEXE) $(SETEXAMPLEEXE)
389
+ else
390
+ ifeq "@enable_int_vars@" "yes"
391
+ EXAMPLEEXE = $(INTEXAMPLEEXE)
392
+ else
393
+ EXAMPLEEXE =
394
+ endif
395
+ endif
396
+
397
+ SUPPORTSRC0 = \
398
+ support timer
399
+ SUPPORTSRC = $(SUPPORTSRC0:%=examples/%.cc)
400
+ INTEXAMPLEHDR0 = support.hh support.icc timer.hh
401
+ INTEXAMPLEHDR = $(INTEXAMPLEHDR0:%=examples/%)
402
+ export SUPPORTOBJ = $(SUPPORTSRC:%.cc=%$(OBJSUFFIX))
403
+ SUPPORTSBJ = $(SUPPORTSRC:%.cc=%$(SBJSUFFIX))
404
+
405
+
406
+ #
407
+ # COLLECTING ALL
408
+ #
409
+
410
+ ALLSRC = \
411
+ $(KERNELSRC) $(SEARCHSRC) $(INTSRC) $(SETSRC) \
412
+ $(MMSRC) $(SUPPORTSRC) $(INTEXAMPLESRC) $(SETEXAMPLESRC)
413
+ ALLVARIMP = $(INTVARIMP) $(SETVARIMP)
414
+ ALLHDR = $(KERNELHDR) $(SEARCHHDR) $(INTHDR) $(SETHDR) $(MMHDR) \
415
+ $(OTHERHDR) $(ALLVARIMP)
416
+ ALLOBJ = $(ALLSRC:%.cc=%$(OBJSUFFIX))
417
+ ALLSBJ = $(ALLSRC:%.cc=%$(SBJSUFFIX))
418
+
419
+
420
+ export LINKALL = $(LINKMM) $(LINKSET) $(LINKINT) $(LINKSEARCH) $(LINKKERNEL)
421
+
422
+
423
+ ifeq "@BUILDDLL@" "yes"
424
+ DLLTARGETS= \
425
+ $(KERNELDLL) $(SEARCHDLL) $(INTDLL) $(SETDLL) $(MMDLL)
426
+ export ALLLIB = $(KERNELLIB) $(SEARCHLIB) $(INTLIB) $(SETLIB) $(MMLIB)
427
+ else
428
+ DLLTARGETS=
429
+ export ALLLIB = \
430
+ $(KERNELSTATICLIB) $(SEARCHSTATICLIB) \
431
+ $(INTSTATICLIB) $(SETSTATICLIB) $(MMSTATICLIB)
432
+ endif
433
+
434
+ ifeq "@BUILDSTATIC@" "yes"
435
+ STATICTARGETS = \
436
+ $(KERNELSTATICLIB) $(SEARCHSTATICLIB) \
437
+ $(INTSTATICLIB) $(SETSTATICLIB) $(MMSTATICLIB)
438
+ else
439
+ STATICTARGETS=
440
+ endif
441
+
442
+ export LIBTARGETS = $(DLLTARGETS) $(STATICTARGETS)
443
+
444
+ ifeq "@need_soname@" "yes"
445
+ export LIBLINKTARGETS = \
446
+ $(DLLTARGETS:%$(DLLSUFFIX)=%$(SOSUFFIX)) \
447
+ $(DLLTARGETS:%$(DLLSUFFIX)=%$(SOLINKSUFFIX))
448
+ else
449
+ export LIBLINKTARGETS =
450
+ endif
451
+
452
+ ifeq "@INSTALLLIBS@" "yes"
453
+ LIBLIBTARGETS = $(ALLLIB)
454
+ else
455
+ LIBLIBTARGETS =
456
+ endif
457
+
458
+ #
459
+ # Testing
460
+ #
461
+
462
+ INTTESTSRC0 = \
463
+ channel arithmetic basic bool count dom distinct element regular \
464
+ rel linear scheduling minimodel gcc sortedness
465
+ ifeq "@enable_set_vars@" "yes"
466
+ SETTESTSRC0 = \
467
+ dom rel rel-op convex sequence int select distinct projection
468
+ else
469
+ SETTESTSRC0 =
470
+ endif
471
+
472
+ STRESSTESTSRC0 = \
473
+ exec minsort domain distinct regular
474
+ ifeq "@enable_set_vars@" "yes"
475
+ TESTSRC0 = \
476
+ test log int set stress intset \
477
+ $(INTTESTSRC0:%=int/%) $(SETTESTSRC0:%=set/%) $(STRESSTESTSRC0:%=stress/%)
478
+ else
479
+ TESTSRC0 = \
480
+ test log int stress intset \
481
+ $(INTTESTSRC0:%=int/%) $(SETTESTSRC0:%=set/%) $(STRESSTESTSRC0:%=stress/%)
482
+ endif
483
+ TESTSRC = $(TESTSRC0:%=test/%.cc)
484
+ TESTHDR0 = \
485
+ test int set stress
486
+ TESTHDR = $(TESTHDR0:%=test/%.hh)
487
+ TESTOBJ = $(TESTSRC:%.cc=%$(OBJSUFFIX))
488
+ TESTSBJ = $(TESTSRC:%.cc=%$(SBJSUFFIX))
489
+ TESTEXE = test/test$(EXESUFFIX)
490
+ TESTBUILDDIRS = test test/int test/set test/stress
491
+
492
+ BUILDDIRS = $(KERNELBUILDDIRS:%=gecode/%) $(SEARCHBUILDDIRS:%=gecode/%) \
493
+ $(INTBUILDDIRS:%=gecode/%) $(SETBUILDDIRS:%=gecode/%) \
494
+ $(MMBUILDDIRS:%=gecode/%) $(EXAMPLEBUILDDIRS) $(TESTBUILDDIRS)
495
+
496
+ ifeq "@enable_examples@" "yes"
497
+ all: compilelib compileexamples
498
+ @$(MAKE) makecompletedmessage
499
+ else
500
+ all: compilelib
501
+ @$(MAKE) makecompletedmessage
502
+ endif
503
+ compilelib: mkcompiledirs
504
+ @$(MAKE) $(ALLVARIMP:%=$(top_srcdir)/%) $(LIBTARGETS)
505
+ @$(MAKE) compilesubdirs
506
+ compileexamples: $(EXAMPLEEXE)
507
+
508
+ test: mkcompiledirs
509
+ @$(MAKE) $(ALLVARIMP:%=$(top_srcdir)/%) $(TESTEXE)
510
+
511
+ ifeq "@top_srcdir@" "."
512
+ mkcompiledirs:
513
+ else
514
+ mkcompiledirs:
515
+ for_builddirs="$(BUILDDIRS)"; for f in $$for_builddirs; do \
516
+ (test -z "$(top_builddir)"/$$f || mkdir -p "$(top_builddir)"/$$f); \
517
+ done
518
+ endif
519
+
520
+ makecompletedmessage:
521
+ @echo
522
+ @echo Compilation of Gecode finished successfully. To use Gecode, either add
523
+ @echo $(PWD)
524
+ @echo to your search path for libraries, or install Gecode using
525
+ @echo make install
526
+ @echo
527
+
528
+ # ugly hack by Gr�goire Dooms to call a target on a contribs after evaluating all the variables in this Makefile.
529
+ # used as make contribs:cpgraph:doc or make contribs:cpgraph:Makefile.in
530
+ .PHONY: contribs\:%
531
+ contribs\:%:
532
+ $(MAKE) -C $(shell echo $@ | sed 's/\(contribs:[^:]*\):.*/\1/;s+:+/+') $(shell echo $@ | sed 's/contribs:[^:]*:\(.*\)/\1/;s+:+/+')
533
+
534
+ # less ugly hack by Guido Tack to call a target
535
+ # Just give ICD (in-contrib-dir) and ICT (in-contrib-target) as arguments
536
+ # to make incontrib
537
+ ICT=
538
+ ICD=
539
+ .PHONY: incontrib
540
+ incontrib:
541
+ $(MAKE) -C contribs/$(ICD) $(ICT)
542
+
543
+ compilesubdirs:
544
+ @for_subdirs="$(subdirs)"; for i in $$for_subdirs; do \
545
+ if test -f $$i/Makefile; then \
546
+ echo "Making in directory $$i"; \
547
+ $(MAKE) -C $$i; \
548
+ fi; \
549
+ done
550
+
551
+ #
552
+ # Generated variable implementations
553
+ #
554
+ $(top_srcdir)/gecode/int/var/imp-hdr.icc: $(top_srcdir)/gecode/int/var-imp.vis
555
+ perl $(top_srcdir)/misc/genvarimp.perl -header $^ > $@
556
+ $(top_srcdir)/gecode/int/var/imp-body.icc: $(top_srcdir)/gecode/int/var-imp.vis
557
+ perl $(top_srcdir)/misc/genvarimp.perl -body $^ > $@
558
+ $(top_srcdir)/gecode/set/var/imp-hdr.icc: $(top_srcdir)/gecode/set/var-imp.vis
559
+ perl $(top_srcdir)/misc/genvarimp.perl -header $^ > $@
560
+ $(top_srcdir)/gecode/set/var/imp-body.icc: $(top_srcdir)/gecode/set/var-imp.vis
561
+ perl $(top_srcdir)/misc/genvarimp.perl -body $^ > $@
562
+
563
+
564
+ #
565
+ # Object targets
566
+ #
567
+
568
+ gecode/kernel/%$(OBJSUFFIX): $(top_srcdir)/gecode/kernel/%.cc
569
+ $(CXX) $(CXXFLAGS) @GECODE_BUILD_KERNEL_FLAG@ \
570
+ @COMPILEOBJ@$@ @COMPILERIN@$<
571
+ gecode/kernel/%$(SBJSUFFIX): $(top_srcdir)/gecode/kernel/%.cc
572
+ $(CXX) $(CXXFLAGS) @GECODE_BUILD_KERNEL_FLAG@ \
573
+ @COMPILESBJ@$@ @COMPILERIN@$<
574
+
575
+ gecode/search/%$(OBJSUFFIX): $(top_srcdir)/gecode/search/%.cc
576
+ $(CXX) $(CXXFLAGS) @GECODE_BUILD_SEARCH_FLAG@ \
577
+ @COMPILEOBJ@$@ @COMPILERIN@$<
578
+ gecode/search/%$(SBJSUFFIX): $(top_srcdir)/gecode/search/%.cc
579
+ $(CXX) $(CXXFLAGS) @GECODE_BUILD_SEARCH_FLAG@ \
580
+ @COMPILESBJ@$@ @COMPILERIN@$<
581
+
582
+ gecode/int/%$(OBJSUFFIX): $(top_srcdir)/gecode/int/%.cc
583
+ $(CXX) $(CXXFLAGS) @GECODE_BUILD_INT_FLAG@ \
584
+ @COMPILEOBJ@$@ @COMPILERIN@$<
585
+ gecode/int/%$(SBJSUFFIX): $(top_srcdir)/gecode/int/%.cc
586
+ $(CXX) $(CXXFLAGS) @GECODE_BUILD_INT_FLAG@ \
587
+ @COMPILESBJ@$@ @COMPILERIN@$<
588
+
589
+ gecode/set/%$(OBJSUFFIX): $(top_srcdir)/gecode/set/%.cc
590
+ $(CXX) $(CXXFLAGS) @GECODE_BUILD_SET_FLAG@ \
591
+ @COMPILEOBJ@$@ @COMPILERIN@$<
592
+ gecode/set/%$(SBJSUFFIX): $(top_srcdir)/gecode/set/%.cc
593
+ $(CXX) $(CXXFLAGS) @GECODE_BUILD_SET_FLAG@ \
594
+ @COMPILESBJ@$@ @COMPILERIN@$<
595
+
596
+ gecode/minimodel/%$(OBJSUFFIX): $(top_srcdir)/gecode/minimodel/%.cc
597
+ $(CXX) $(CXXFLAGS) @GECODE_BUILD_MINIMODEL_FLAG@ \
598
+ @COMPILEOBJ@$@ @COMPILERIN@$<
599
+ gecode/minimodel/%$(SBJSUFFIX): $(top_srcdir)/gecode/minimodel/%.cc
600
+ $(CXX) $(CXXFLAGS) @GECODE_BUILD_MINIMODEL_FLAG@ \
601
+ @COMPILESBJ@$@ @COMPILERIN@$<
602
+
603
+ examples/%$(OBJSUFFIX): $(top_srcdir)/examples/%.cc
604
+ $(CXX) $(CXXFLAGS) $(EXAMPLES_EXTRA_CXXFLAGS) \
605
+ @COMPILEOBJ@$@ @COMPILERIN@$<
606
+ examples/%$(SBJSUFFIX): $(top_srcdir)/examples/%.cc
607
+ $(CXX) $(CXXFLAGS) $(EXAMPLES_EXTRA_CXXFLAGS) \
608
+ @COMPILESBJ@$@ @COMPILERIN@$<
609
+
610
+
611
+ test/%$(OBJSUFFIX): $(top_srcdir)/test/%.cc
612
+ $(CXX) $(CXXFLAGS) $(EXAMPLES_EXTRA_CXXFLAGS) \
613
+ @COMPILEOBJ@$@ @COMPILERIN@$<
614
+ test/%$(SBJSUFFIX): $(top_srcdir)/test/%.cc
615
+ $(CXX) $(CXXFLAGS) $(EXAMPLES_EXTRA_CXXFLAGS) \
616
+ @COMPILESBJ@$@ @COMPILERIN@$<
617
+
618
+
619
+ #
620
+ # DLL Targets
621
+ #
622
+
623
+ ifeq "$(DLLSUFFIX)" "$(LIBSUFFIX)"
624
+ $(KERNELDLL): $(KERNELOBJ)
625
+ $(CXX) $(DLLFLAGS) $(KERNELOBJ) $(KERNELSONAME) \
626
+ @LINKOUTPUT@$(KERNELDLL)
627
+ $(CREATELINK) $@ $(@:%$(DLLSUFFIX)=%$(SOLINKSUFFIX))
628
+ $(CREATELINK) $@ $(@:%$(DLLSUFFIX)=%$(SOSUFFIX))
629
+ $(SEARCHDLL): $(SEARCHOBJ) $(KERNELDLL)
630
+ $(CXX) $(DLLFLAGS) $(SEARCHOBJ) $(SEARCHSONAME) \
631
+ @DLLPATH@ $(LINKKERNEL) \
632
+ @LINKOUTPUT@$(SEARCHDLL)
633
+ $(CREATELINK) $@ $(@:%$(DLLSUFFIX)=%$(SOLINKSUFFIX))
634
+ $(CREATELINK) $@ $(@:%$(DLLSUFFIX)=%$(SOSUFFIX))
635
+ $(INTDLL): $(INTOBJ) $(KERNELDLL)
636
+ $(CXX) $(DLLFLAGS) $(INTOBJ) $(INTSONAME) \
637
+ @DLLPATH@ $(LINKKERNEL) \
638
+ @LINKOUTPUT@$(INTDLL)
639
+ $(CREATELINK) $@ $(@:%$(DLLSUFFIX)=%$(SOLINKSUFFIX))
640
+ $(CREATELINK) $@ $(@:%$(DLLSUFFIX)=%$(SOSUFFIX))
641
+ $(SETDLL): $(SETOBJ) $(KERNELDLL) $(INTDLL)
642
+ $(CXX) $(DLLFLAGS) $(SETOBJ) $(SETSONAME) \
643
+ @DLLPATH@ $(LINKKERNEL) $(LINKINT) \
644
+ @LINKOUTPUT@$(SETDLL)
645
+ $(CREATELINK) $@ $(@:%$(DLLSUFFIX)=%$(SOLINKSUFFIX))
646
+ $(CREATELINK) $@ $(@:%$(DLLSUFFIX)=%$(SOSUFFIX))
647
+ $(MMDLL): $(MMOBJ) $(KERNELDLL) $(INTDLL)
648
+ $(CXX) $(DLLFLAGS) $(MMOBJ) $(MMSONAME) \
649
+ @DLLPATH@ $(LINKKERNEL) $(LINKINT) \
650
+ @LINKOUTPUT@$(MMDLL)
651
+ $(CREATELINK) $@ $(@:%$(DLLSUFFIX)=%$(SOLINKSUFFIX))
652
+ $(CREATELINK) $@ $(@:%$(DLLSUFFIX)=%$(SOSUFFIX))
653
+ else
654
+ $(KERNELDLL) $(KERNELLIB): $(KERNELOBJ)
655
+ $(CXX) $(DLLFLAGS) $(KERNELOBJ) \
656
+ @LINKOUTPUT@$(KERNELDLL)
657
+ $(SEARCHDLL) $(SEARCHLIB): $(SEARCHOBJ) $(KERNELDLL)
658
+ $(CXX) $(DLLFLAGS) $(SEARCHOBJ) \
659
+ @DLLPATH@ $(LINKKERNEL) \
660
+ @LINKOUTPUT@$(SEARCHDLL)
661
+ $(INTDLL) $(INTLIB): $(INTOBJ) $(KERNELDLL)
662
+ $(CXX) $(DLLFLAGS) $(INTOBJ) \
663
+ @DLLPATH@ $(LINKKERNEL) \
664
+ @LINKOUTPUT@$(INTDLL)
665
+ $(SETDLL) $(SETLIB): $(SETOBJ) $(KERNELDLL) $(INTDLL)
666
+ $(CXX) $(DLLFLAGS) $(SETOBJ) \
667
+ @DLLPATH@ $(LINKKERNEL) $(LINKINT) \
668
+ @LINKOUTPUT@$(SETDLL)
669
+ $(MMDLL) $(MMLIB): $(MMOBJ) $(KERNELDLL) $(INTDLL)
670
+ $(CXX) $(DLLFLAGS) $(MMOBJ) \
671
+ @DLLPATH@ $(LINKKERNEL) $(LINKINT) \
672
+ @LINKOUTPUT@$(MMDLL)
673
+ endif
674
+
675
+ #
676
+ # Static libraries
677
+ #
678
+
679
+ $(KERNELSTATICLIB): $(KERNELOBJ)
680
+ $(AR) $(ARFLAGS) $@ $(KERNELOBJ)
681
+ $(RANLIB) $@
682
+ $(SEARCHSTATICLIB): $(SEARCHOBJ)
683
+ $(AR) $(ARFLAGS) $@ $(SEARCHOBJ)
684
+ $(RANLIB) $@
685
+ $(INTSTATICLIB): $(INTOBJ)
686
+ $(AR) $(ARFLAGS) $@ $(INTOBJ)
687
+ $(RANLIB) $@
688
+ $(SETSTATICLIB): $(SETOBJ)
689
+ $(AR) $(ARFLAGS) $@ $(SETOBJ)
690
+ $(RANLIB) $@
691
+ $(MMSTATICLIB): $(MMOBJ)
692
+ $(AR) $(ARFLAGS) $@ $(MMOBJ)
693
+ $(RANLIB) $@
694
+
695
+ #
696
+ # EXE Targets
697
+ #
698
+
699
+ .PRECIOUS: examples/%$(OBJSUFFIX)
700
+ examples/%$(EXESUFFIX): examples/%$(OBJSUFFIX) $(SUPPORTOBJ) $(ALLLIB)
701
+ $(CXX) @EXEOUTPUT@$@ $< $(SUPPORTOBJ) $(DLLPATH) $(CXXFLAGS) \
702
+ $(LINKFLAGS) $(LINKALL)
703
+
704
+ $(TESTEXE): $(TESTOBJ) $(ALLLIB)
705
+ $(CXX) @EXEOUTPUT@$@ $(TESTOBJ) $(DLLPATH) $(CXXFLAGS) \
706
+ $(LINKFLAGS) $(LINKALL)
707
+
708
+
709
+
710
+ #
711
+ # Autoconf
712
+ #
713
+
714
+ $(top_srcdir)/configure: $(top_srcdir)/configure.ac
715
+ (cd $(top_srcdir) && autoconf)
716
+ config.status: $(top_srcdir)/configure
717
+ ./config.status --recheck
718
+ Makefile: $(top_srcdir)/Makefile.in config.status
719
+ ./config.status --file $@:$<
720
+ doxygen.hh: $(top_srcdir)/doxygen.hh.in config.status
721
+ ./config.status --file $@:$<
722
+
723
+ #
724
+ # Documentation
725
+ #
726
+
727
+ export ENABLEDOCCHM = @ENABLEDOCCHM@
728
+ ENABLEDOCSEARCH = @ENABLEDOCSEARCH@
729
+
730
+ .PHONY: doc
731
+
732
+ DOCSRC_NOTGENERATED = \
733
+ misc/doxygen/back.png misc/doxygen/footer.html \
734
+ misc/doxygen/gecode-logo-100.png \
735
+ misc/doxygen/stylesheet.css \
736
+ misc/genlicense.perl misc/genstatistics.perl misc/getrevision.perl \
737
+ misc/genchangelog.perl
738
+ DOCSRC = $(DOCSRC_NOTGENERATED:%=$(top_srcdir)/%) \
739
+ doxygen.conf.use header.html \
740
+ doxygen.hh license.hh stat.hh changelog.hh
741
+
742
+ changelog.hh: $(top_srcdir)/changelog.in
743
+ perl $(top_srcdir)/misc/genchangelog.perl < $^ > changelog.hh
744
+
745
+ ChangeLog: $(top_srcdir)/changelog.in
746
+ perl $(top_srcdir)/misc/gentxtchangelog.perl < $^ > ChangeLog
747
+
748
+ license.hh: $(ALLHDR:%=$(top_srcdir)/%) $(ALLSRC:%=$(top_srcdir)/%)
749
+ perl $(top_srcdir)/misc/genlicense.perl $^ > license.hh
750
+
751
+ stat.hh: $(ALLHDR:%=$(top_srcdir)/%) $(ALLSRC:%=$(top_srcdir)/%) \
752
+ $(TESTHDR:%=$(top_srcdir)/%) $(TESTSRC:%=$(top_srcdir)/%)
753
+ perl $(top_srcdir)/misc/genstatistics.perl $^ > stat.hh
754
+
755
+
756
+ ifeq "@ENABLEDOCCHM@" "yes"
757
+
758
+ DOCTARGET=GecodeReference.chm
759
+
760
+ header.html: $(top_srcdir)/misc/doxygen/header.html
761
+ grep -v '<form.*form>' < $< > $@
762
+ doxygen.conf.use: doxygen.conf
763
+ (echo "GENERATE_HTMLHELP = YES"; \
764
+ echo "SEARCHENGINE = NO";\
765
+ echo "HAVE_DOT = @GECODE_DOXYGEN_DOT@") | \
766
+ cat $< - > $@
767
+
768
+ doc: $(ALLHDR:%=$(top_srcdir)/%) $(ALLSRC:%=$(top_srcdir)/%) $(DOCSRC)
769
+ mkdir -p doc/html
770
+ cp -f $(top_srcdir)/misc/doxygen/back.png \
771
+ $(top_srcdir)/misc/doxygen/gecode-logo-100.png doc/html
772
+ doxygen doxygen.conf.use
773
+ mv doc/html/GecodeReference.chm GecodeReference.chm
774
+
775
+ else
776
+
777
+ DOCTARGET=doc/html
778
+
779
+ ifeq "@ENABLEDOCSEARCH@" "yes"
780
+
781
+ header.html: $(top_srcdir)/misc/doxygen/header.html
782
+ cat < $< > $@
783
+ doxygen.conf.use: doxygen.conf
784
+ (echo "GENERATE_HTMLHELP = NO"; \
785
+ echo "SEARCHENGINE = YES"; \
786
+ echo "HAVE_DOT = @GECODE_DOXYGEN_DOT@") | \
787
+ cat $< - > $@
788
+ else
789
+
790
+ header.html: $(top_srcdir)/misc/doxygen/header.html
791
+ grep -v '<form.*form>' < $< > $@
792
+ doxygen.conf.use: doxygen.conf
793
+ (echo "GENERATE_HTMLHELP = NO"; \
794
+ echo "SEARCHENGINE = NO"; \
795
+ echo "HAVE_DOT = @GECODE_DOXYGEN_DOT@") | \
796
+ cat $< - > $@
797
+
798
+ endif
799
+
800
+ doc: $(ALLHDR:%=$(top_srcdir)/%) $(ALLSRC:%=$(top_srcdir)/%) $(DOCSRC)
801
+ mkdir -p doc/html
802
+ cp -f $(top_srcdir)/misc/doxygen/back.png \
803
+ $(top_srcdir)/misc/doxygen/gecode-logo-100.png doc/html
804
+ doxygen doxygen.conf.use
805
+
806
+ endif
807
+
808
+
809
+ #
810
+ # Installation
811
+ #
812
+
813
+ ifeq "@HAVE_PKGCONFIG@" "yes"
814
+ PKGCONFIGFILES = gecode.pc gecode-search.pc gecode-minimodel.pc
815
+ else
816
+ PKGCONFIGFILES =
817
+ endif
818
+
819
+ .PHONY: install
820
+
821
+ ifeq "@enable_examples@" "yes"
822
+ install: installlib installexamples
823
+ else
824
+ install: installlib
825
+ endif
826
+ doinstalllib: $(ALLHDR:%=$(top_srcdir)/%) $(EXTRA_HEADERS)
827
+ mkdir -p $(DESTDIR)$(sharedlibdir) && \
828
+ mkdir -p $(DESTDIR)$(libdir) && \
829
+ mkdir -p $(DESTDIR)$(includedir) && \
830
+ for_libtargets="$(LIBTARGETS)" && \
831
+ for f in $$for_libtargets; do \
832
+ cp $$f $(DESTDIR)$(sharedlibdir); done && \
833
+ for_liblinktargets="$(LIBLINKTARGETS)" && \
834
+ for f in $$for_liblinktargets; do \
835
+ cp -pR $$f $(DESTDIR)$(sharedlibdir); done &&\
836
+ for_liblibtargets="$(LIBLIBTARGETS)" && \
837
+ for f in $$for_liblibtargets; do \
838
+ cp $$f $(DESTDIR)$(libdir); done && \
839
+ (cd $(top_srcdir) && tar cf - $(ALLHDR)) | \
840
+ (cd $(DESTDIR)$(includedir) && tar xf -) && \
841
+ for_extraheaders="$(EXTRA_HEADERS)" && \
842
+ for f in $$for_extraheaders; do \
843
+ cp $$f $(DESTDIR)$(pkgincludedir); done && \
844
+ for_pkgconfigfiles="$(PKGCONFIGFILES)" && \
845
+ for f in $$for_pkgconfigfiles; do \
846
+ mkdir -p $(DESTDIR)$(libdir)/pkgconfig; \
847
+ cp misc/$$f $(DESTDIR)$(libdir)/pkgconfig; \
848
+ done
849
+
850
+
851
+ ifeq "@BUILDSTATIC@" "yes"
852
+ ranliblib:
853
+ for_static="$(STATICTARGETS)" ; \
854
+ for f in $$for_static; do \
855
+ $(RANLIB) $(DESTDIR)$(sharedlibdir)/$$f; done
856
+ else
857
+ ranliblib:
858
+ endif
859
+
860
+ installlib: compilelib
861
+ $(MAKE) doinstalllib
862
+ $(MAKE) ranliblib
863
+ $(MAKE) installsubdirs
864
+
865
+ installexamples: compileexamples
866
+ mkdir -p $(DESTDIR)$(bindir); \
867
+ for_exampleexe="$(EXAMPLEEXE)" ; \
868
+ for f in $$for_exampleexe; do cp $$f $(DESTDIR)$(bindir); done \
869
+
870
+ installdoc: doc
871
+ mkdir -p $(DESTDIR)$(docdir); \
872
+ cp -r $(DOCTARGET) $(DESTDIR)$(docdir)
873
+
874
+ installsubdirs:
875
+ @for_subdirs="$(subdirs)" ; for i in $$for_subdirs; do \
876
+ cd $$i && if test -f Makefile; then \
877
+ echo "Making install in directory $$i"; \
878
+ $(MAKE) install; \
879
+ fi; \
880
+ done
881
+
882
+ #
883
+ # Source Distribution
884
+ #
885
+
886
+ .PHONY: distdoc
887
+
888
+ ifeq "@ENABLEDOCSEARCH@" "yes"
889
+ DOCSUFFIX = search-$(VERSION)
890
+ else
891
+ DOCSUFFIX = $(VERSION)
892
+ endif
893
+
894
+ distdoc: doc
895
+ rm -rf gecode-doc-$(DOCSUFFIX) && \
896
+ cp -r doc/html . && mv html gecode-doc-$(DOCSUFFIX) && \
897
+ $(TAR) cf - gecode-doc-$(DOCSUFFIX) | \
898
+ gzip -9 > gecode-doc-$(DOCSUFFIX).tar.gz && \
899
+ zip -q -9 -r gecode-doc-$(DOCSUFFIX).zip gecode-doc-$(DOCSUFFIX) && \
900
+ $(RMF) gecode-doc-$(DOCSUFFIX) && \
901
+ if test -f doc/gecode-doc.tag; then \
902
+ mv doc/gecode-doc.tag gecode-doc-$(DOCSUFFIX).tag && \
903
+ gzip -9 gecode-doc-$(DOCSUFFIX).tag; \
904
+ fi
905
+
906
+
907
+ #
908
+ # Binary Distribution
909
+ #
910
+
911
+ .PHONY: distzip
912
+
913
+ BINPKG = gecode-$(VERSION)-bin
914
+
915
+ disttodir:
916
+ $(RMF) $(BINPKG) && \
917
+ $(MAKE) install \
918
+ prefix=$(BINPKG) execprefix=$(BINPKG) bindir=$(BINPKG)/bin \
919
+ libdir=$(BINPKG)/lib sharedlibdir=$(BINPKG)/lib \
920
+ includedir=$(BINPKG)/include && \
921
+ $(MAKE) ChangeLog && \
922
+ cp LICENSE ChangeLog $(BINPKG)/
923
+
924
+ distzip: disttodir
925
+ zip -q -9 -r $(BINPKG).zip $(BINPKG) && \
926
+ $(RMF) $(BINPKG)
927
+
928
+ disttgz: disttodir
929
+ $(TAR) cf - $(BINPKG) | \
930
+ gzip -9 > $(BINPKG).tar.gz && \
931
+ $(RMF) $(BINPKG)
932
+
933
+ #
934
+ # Maintenance targets
935
+ #
936
+
937
+ clean:
938
+ $(RMF) *.stackdump core gmon.out vc70.pdb vc80.pdb
939
+ $(RMF) doxygen.log doxygen.hh doxygen.conf.use stat.hh license.hh header.html
940
+ $(RMF) $(ALLOBJ) $(ALLSBJ)
941
+ $(RMF) $(TESTOBJ) $(TESTSBJ)
942
+
943
+ veryclean: clean
944
+ $(RMF) $(LIBTARGETS)
945
+ $(RMF) $(LIBTARGETS:%$(DLLSUFFIX)=%.exp) $(LIBTARGETS:%$(DLLSUFFIX)=%.lib)
946
+ $(RMF) $(LIBTARGETS:%$(DLLSUFFIX)=%.ilk) $(LIBTARGETS:%$(DLLSUFFIX)=%.pdb)
947
+ $(RMF) $(LIBTARGETS:%$(DLLSUFFIX)=%$(SOLINKSUFFIX))
948
+ $(RMF) $(LIBTARGETS:%$(DLLSUFFIX)=%$(SOSUFFIX))
949
+ $(RMF) $(EXAMPLEEXE:%.exe=%.pdb) $(TESTEXE:%.exe=%.pdb)
950
+ $(RMF) doc GecodeReference.chm
951
+ $(RMF) $(EXAMPLEEXE) $(TESTEXE)
952
+
953
+ distclean: veryclean
954
+ $(RMF) $(ALLVARIMP:%=$(top_srcdir)/%)
955
+ $(RMF) misc/gecode.pc misc/gecode-search.pc misc/gecode-minimodel.pc
956
+ $(RMF) gecode/vti.icc doxygen.conf doxygen.hh Makefile
957
+ $(RMF) $(EXTRA_HEADERS)
958
+ $(RMF) config.log config.status Makefile.dep
959
+
960
+ depend: $(ALLVARIMP:%=$(top_srcdir)/%)
961
+ perl $(top_srcdir)/misc/makedepend.perl \
962
+ $(top_srcdir) \
963
+ $(ALLSRC) \
964
+ $(TESTSRC) > Makefile.dep
965
+
966
+ -include Makefile.dep