mhs-xapian 1.0.18a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. data/.gitignore +3 -0
  2. data/AUTHORS +1 -0
  3. data/COPYING +340 -0
  4. data/ChangeLog +5876 -0
  5. data/HACKING +101 -0
  6. data/INSTALL +293 -0
  7. data/Makefile +722 -0
  8. data/Makefile.am +26 -0
  9. data/Makefile.in +722 -0
  10. data/NEWS +2110 -0
  11. data/README +59 -0
  12. data/Rakefile +51 -0
  13. data/TODO +47 -0
  14. data/aclocal.m4 +7675 -0
  15. data/config.guess +1501 -0
  16. data/config.h +56 -0
  17. data/config.h.in +55 -0
  18. data/config.status +1298 -0
  19. data/config.sub +1705 -0
  20. data/configure +18536 -0
  21. data/configure.ac +944 -0
  22. data/csharp/.deps/xapian_wrap.Plo +1 -0
  23. data/csharp/AssemblyInfo.cs +40 -0
  24. data/csharp/AssemblyInfo.cs.in +40 -0
  25. data/csharp/Auto.cs +46 -0
  26. data/csharp/BM25Weight.cs +107 -0
  27. data/csharp/BoolWeight.cs +103 -0
  28. data/csharp/Database.cs +275 -0
  29. data/csharp/DateValueRangeProcessor.cs +61 -0
  30. data/csharp/Document.cs +177 -0
  31. data/csharp/ESet.cs +94 -0
  32. data/csharp/ESetIterator.cs +117 -0
  33. data/csharp/Enquire.cs +274 -0
  34. data/csharp/ExpandDecider.cs +76 -0
  35. data/csharp/Flint.cs +58 -0
  36. data/csharp/InMemory.cs +46 -0
  37. data/csharp/MSet.cs +193 -0
  38. data/csharp/MSetIterator.cs +141 -0
  39. data/csharp/Makefile +868 -0
  40. data/csharp/Makefile.am +106 -0
  41. data/csharp/Makefile.in +868 -0
  42. data/csharp/MatchDecider.cs +76 -0
  43. data/csharp/MultiValueSorter.cs +63 -0
  44. data/csharp/NumberValueRangeProcessor.cs +61 -0
  45. data/csharp/PositionIterator.cs +101 -0
  46. data/csharp/PostingIterator.cs +125 -0
  47. data/csharp/Quartz.cs +58 -0
  48. data/csharp/Query.cs +150 -0
  49. data/csharp/QueryParser.cs +174 -0
  50. data/csharp/RSet.cs +102 -0
  51. data/csharp/Remote.cs +100 -0
  52. data/csharp/SWIGTYPE_p_std__string.cs +30 -0
  53. data/csharp/SWIGTYPE_p_std__vectorTXapian__Query_t.cs +30 -0
  54. data/csharp/SWIGTYPE_p_std__vectorTstd__string_t.cs +30 -0
  55. data/csharp/SimpleStopper.cs +64 -0
  56. data/csharp/SmokeTest.cs +178 -0
  57. data/csharp/Sorter.cs +76 -0
  58. data/csharp/Stem.cs +66 -0
  59. data/csharp/Stopper.cs +91 -0
  60. data/csharp/StringValueRangeProcessor.cs +53 -0
  61. data/csharp/TermGenerator.cs +152 -0
  62. data/csharp/TermIterator.cs +125 -0
  63. data/csharp/TradWeight.cs +107 -0
  64. data/csharp/ValueIterator.cs +102 -0
  65. data/csharp/ValueRangeProcessor.cs +76 -0
  66. data/csharp/Version.cs +60 -0
  67. data/csharp/Weight.cs +93 -0
  68. data/csharp/WritableDatabase.cs +153 -0
  69. data/csharp/Xapian.cs +65 -0
  70. data/csharp/XapianPINVOKE.cs +1527 -0
  71. data/csharp/docs/Makefile +450 -0
  72. data/csharp/docs/Makefile.am +16 -0
  73. data/csharp/docs/Makefile.in +450 -0
  74. data/csharp/docs/examples/SimpleExpand.cs +109 -0
  75. data/csharp/docs/examples/SimpleIndex.cs +71 -0
  76. data/csharp/docs/examples/SimpleSearch.cs +78 -0
  77. data/csharp/docs/index.html +211 -0
  78. data/csharp/util.i +233 -0
  79. data/csharp/xapian_wrap.cc +10338 -0
  80. data/csharp/xapian_wrap.h +93 -0
  81. data/depcomp +632 -0
  82. data/extconf.rb +20 -0
  83. data/generic/except.i +80 -0
  84. data/generic/generic.mk +48 -0
  85. data/install-sh +520 -0
  86. data/java-swig/.deps/xapian_wrap.Plo +1 -0
  87. data/java-swig/Auto.java +35 -0
  88. data/java-swig/BM25Weight.java +81 -0
  89. data/java-swig/BoolWeight.java +77 -0
  90. data/java-swig/Database.java +195 -0
  91. data/java-swig/DateValueRangeProcessor.java +51 -0
  92. data/java-swig/Document.java +135 -0
  93. data/java-swig/ESet.java +71 -0
  94. data/java-swig/ESetIterator.java +71 -0
  95. data/java-swig/Enquire.java +246 -0
  96. data/java-swig/ExpandDecider.java +59 -0
  97. data/java-swig/Flint.java +43 -0
  98. data/java-swig/InMemory.java +35 -0
  99. data/java-swig/MSet.java +143 -0
  100. data/java-swig/MSetIterator.java +87 -0
  101. data/java-swig/Makefile +781 -0
  102. data/java-swig/Makefile.am +132 -0
  103. data/java-swig/Makefile.in +781 -0
  104. data/java-swig/MatchDecider.java +59 -0
  105. data/java-swig/MultiValueSorter.java +51 -0
  106. data/java-swig/NumberValueRangeProcessor.java +51 -0
  107. data/java-swig/PositionIterator.java +63 -0
  108. data/java-swig/PostingIterator.java +83 -0
  109. data/java-swig/Quartz.java +43 -0
  110. data/java-swig/Query.java +189 -0
  111. data/java-swig/QueryParser.java +214 -0
  112. data/java-swig/RSet.java +79 -0
  113. data/java-swig/Remote.java +71 -0
  114. data/java-swig/SWIGTYPE_p_std__string.java +25 -0
  115. data/java-swig/SimpleStopper.java +51 -0
  116. data/java-swig/SmokeTest.java +161 -0
  117. data/java-swig/Sorter.java +59 -0
  118. data/java-swig/Stem.java +51 -0
  119. data/java-swig/Stopper.java +63 -0
  120. data/java-swig/StringValueRangeProcessor.java +43 -0
  121. data/java-swig/TermGenerator.java +158 -0
  122. data/java-swig/TermIterator.java +83 -0
  123. data/java-swig/TradWeight.java +81 -0
  124. data/java-swig/ValueIterator.java +67 -0
  125. data/java-swig/ValueRangeProcessor.java +59 -0
  126. data/java-swig/Version.java +47 -0
  127. data/java-swig/Weight.java +68 -0
  128. data/java-swig/WritableDatabase.java +123 -0
  129. data/java-swig/Xapian.java +39 -0
  130. data/java-swig/XapianConstants.java +15 -0
  131. data/java-swig/XapianJNI.java +508 -0
  132. data/java-swig/run-java-test +6 -0
  133. data/java-swig/xapian_wrap.cc +12594 -0
  134. data/java-swig/xapian_wrap.h +91 -0
  135. data/java/Makefile +660 -0
  136. data/java/Makefile.am +35 -0
  137. data/java/Makefile.in +660 -0
  138. data/java/README +76 -0
  139. data/java/SmokeTest.java +148 -0
  140. data/java/native/.deps/Database.Plo +1 -0
  141. data/java/native/.deps/Document.Plo +1 -0
  142. data/java/native/.deps/ESet.Plo +1 -0
  143. data/java/native/.deps/ESetIterator.Plo +1 -0
  144. data/java/native/.deps/Enquire.Plo +1 -0
  145. data/java/native/.deps/MSet.Plo +1 -0
  146. data/java/native/.deps/MSetIterator.Plo +1 -0
  147. data/java/native/.deps/PositionIterator.Plo +1 -0
  148. data/java/native/.deps/Query.Plo +1 -0
  149. data/java/native/.deps/RSet.Plo +1 -0
  150. data/java/native/.deps/Stem.Plo +1 -0
  151. data/java/native/.deps/TermIterator.Plo +1 -0
  152. data/java/native/.deps/WritableDatabase.Plo +1 -0
  153. data/java/native/.deps/org_xapian_XapianJNI.Plo +1 -0
  154. data/java/native/.deps/utils.Plo +1 -0
  155. data/java/native/Database.cc +222 -0
  156. data/java/native/Document.cc +173 -0
  157. data/java/native/ESet.cc +79 -0
  158. data/java/native/ESetIterator.cc +82 -0
  159. data/java/native/Enquire.cc +271 -0
  160. data/java/native/MSet.cc +169 -0
  161. data/java/native/MSetIterator.cc +107 -0
  162. data/java/native/Makefile +594 -0
  163. data/java/native/Makefile.am +51 -0
  164. data/java/native/Makefile.in +594 -0
  165. data/java/native/PositionIterator.cc +64 -0
  166. data/java/native/Query.cc +180 -0
  167. data/java/native/RSet.cc +98 -0
  168. data/java/native/Stem.cc +75 -0
  169. data/java/native/TermIterator.cc +107 -0
  170. data/java/native/WritableDatabase.cc +118 -0
  171. data/java/native/XapianObjectHolder.h +115 -0
  172. data/java/native/org_xapian_XapianJNI.cc +78 -0
  173. data/java/native/org_xapian_XapianJNI.h +1369 -0
  174. data/java/native/utils.cc +51 -0
  175. data/java/native/xapian_jni.h +116 -0
  176. data/java/org/xapian/Database.java +148 -0
  177. data/java/org/xapian/Document.java +135 -0
  178. data/java/org/xapian/ESet.java +66 -0
  179. data/java/org/xapian/ESetIterator.java +97 -0
  180. data/java/org/xapian/Enquire.java +136 -0
  181. data/java/org/xapian/ExpandDecider.java +30 -0
  182. data/java/org/xapian/MSet.java +104 -0
  183. data/java/org/xapian/MSetIterator.java +132 -0
  184. data/java/org/xapian/Makefile +580 -0
  185. data/java/org/xapian/Makefile.am +38 -0
  186. data/java/org/xapian/Makefile.in +580 -0
  187. data/java/org/xapian/MatchDecider.java +30 -0
  188. data/java/org/xapian/PositionIterator.java +89 -0
  189. data/java/org/xapian/Query.java +190 -0
  190. data/java/org/xapian/RSet.java +89 -0
  191. data/java/org/xapian/Stem.java +80 -0
  192. data/java/org/xapian/TermIterator.java +142 -0
  193. data/java/org/xapian/WritableDatabase.java +92 -0
  194. data/java/org/xapian/Xapian.java +114 -0
  195. data/java/org/xapian/XapianJNI.java +444 -0
  196. data/java/org/xapian/errors/AssertionError.java +40 -0
  197. data/java/org/xapian/errors/DatabaseCorruptError.java +40 -0
  198. data/java/org/xapian/errors/DatabaseError.java +40 -0
  199. data/java/org/xapian/errors/DatabaseLockError.java +40 -0
  200. data/java/org/xapian/errors/DatabaseModifiedError.java +40 -0
  201. data/java/org/xapian/errors/DatabaseOpeningError.java +40 -0
  202. data/java/org/xapian/errors/DocNotFoundError.java +40 -0
  203. data/java/org/xapian/errors/FeatureUnavailableError.java +40 -0
  204. data/java/org/xapian/errors/InternalError.java +40 -0
  205. data/java/org/xapian/errors/InvalidArgumentError.java +40 -0
  206. data/java/org/xapian/errors/InvalidOperationError.java +40 -0
  207. data/java/org/xapian/errors/LogicError.java +40 -0
  208. data/java/org/xapian/errors/Makefile +416 -0
  209. data/java/org/xapian/errors/Makefile.am +32 -0
  210. data/java/org/xapian/errors/Makefile.in +416 -0
  211. data/java/org/xapian/errors/NetworkError.java +40 -0
  212. data/java/org/xapian/errors/NetworkTimeoutError.java +40 -0
  213. data/java/org/xapian/errors/RangeError.java +40 -0
  214. data/java/org/xapian/errors/RuntimeError.java +40 -0
  215. data/java/org/xapian/errors/UnimplementedError.java +40 -0
  216. data/java/org/xapian/errors/XapianError.java +40 -0
  217. data/java/org/xapian/errors/XapianRuntimeError.java +49 -0
  218. data/java/org/xapian/examples/Makefile +391 -0
  219. data/java/org/xapian/examples/Makefile.am +8 -0
  220. data/java/org/xapian/examples/Makefile.in +391 -0
  221. data/java/org/xapian/examples/SimpleIndex.java +68 -0
  222. data/java/org/xapian/examples/SimpleSearch.java +71 -0
  223. data/java/run-java-test +6 -0
  224. data/libtool +7618 -0
  225. data/ltmain.sh +6956 -0
  226. data/mhs-xapian.gemspec +368 -0
  227. data/missing +378 -0
  228. data/php/.deps/xapian_wrap.Plo +1 -0
  229. data/php/Makefile +871 -0
  230. data/php/Makefile.am +82 -0
  231. data/php/Makefile.in +871 -0
  232. data/php/docs/Makefile +453 -0
  233. data/php/docs/Makefile.am +19 -0
  234. data/php/docs/Makefile.in +453 -0
  235. data/php/docs/examples/simpleexpand.php4 +108 -0
  236. data/php/docs/examples/simpleexpand.php5 +104 -0
  237. data/php/docs/examples/simpleindex.php4 +76 -0
  238. data/php/docs/examples/simpleindex.php5 +73 -0
  239. data/php/docs/examples/simplesearch.php4 +75 -0
  240. data/php/docs/examples/simplesearch.php5 +72 -0
  241. data/php/docs/index.html +313 -0
  242. data/php/except.i +98 -0
  243. data/php/php4/php_xapian.h +323 -0
  244. data/php/php4/xapian.php +32 -0
  245. data/php/php4/xapian_wrap.cc +27656 -0
  246. data/php/php5/php_xapian.h +319 -0
  247. data/php/php5/xapian.php +1566 -0
  248. data/php/php5/xapian_wrap.cc +24330 -0
  249. data/php/smoketest.php +246 -0
  250. data/php/smoketest4.php +84 -0
  251. data/php/smoketest5.php +79 -0
  252. data/php/util.i +187 -0
  253. data/python/.deps/xapian_wrap.Plo +1 -0
  254. data/python/Makefile +891 -0
  255. data/python/Makefile.am +105 -0
  256. data/python/Makefile.in +891 -0
  257. data/python/doccomments.i +5134 -0
  258. data/python/docs/Makefile +448 -0
  259. data/python/docs/Makefile.am +14 -0
  260. data/python/docs/Makefile.in +448 -0
  261. data/python/docs/examples/simpleexpand.py +98 -0
  262. data/python/docs/examples/simpleindex.py +65 -0
  263. data/python/docs/examples/simplematchdecider.py +78 -0
  264. data/python/docs/examples/simplesearch.py +65 -0
  265. data/python/docs/index.html +420 -0
  266. data/python/except.i +290 -0
  267. data/python/extra.i +1048 -0
  268. data/python/extracomments.i +28 -0
  269. data/python/generate-python-exceptions +189 -0
  270. data/python/generate-python-exceptions.in +189 -0
  271. data/python/modern/xapian.py +5662 -0
  272. data/python/modern/xapian_wrap.cc +35170 -0
  273. data/python/modern/xapian_wrap.h +244 -0
  274. data/python/pythontest.py +1110 -0
  275. data/python/smoketest.py +328 -0
  276. data/python/testsuite.py +382 -0
  277. data/python/util.i +517 -0
  278. data/ruby/.deps/xapian_wrap.Plo +494 -0
  279. data/ruby/.libs/_xapian.bundle +0 -0
  280. data/ruby/.libs/_xapian.bundle.dSYM/Contents/Info.plist +25 -0
  281. data/ruby/.libs/_xapian.bundle.dSYM/Contents/Resources/DWARF/_xapian.bundle +0 -0
  282. data/ruby/.libs/_xapian.la +35 -0
  283. data/ruby/.libs/_xapian.lai +35 -0
  284. data/ruby/Makefile +854 -0
  285. data/ruby/Makefile.am +62 -0
  286. data/ruby/Makefile.in +854 -0
  287. data/ruby/_xapian.la +35 -0
  288. data/ruby/docs/Makefile +487 -0
  289. data/ruby/docs/Makefile.am +50 -0
  290. data/ruby/docs/Makefile.in +487 -0
  291. data/ruby/docs/examples/simpleexpand.rb +98 -0
  292. data/ruby/docs/examples/simpleindex.rb +60 -0
  293. data/ruby/docs/examples/simplematchdecider.rb +74 -0
  294. data/ruby/docs/examples/simplesearch.rb +63 -0
  295. data/ruby/docs/index.html +197 -0
  296. data/ruby/smoketest.rb +211 -0
  297. data/ruby/util.i +232 -0
  298. data/ruby/xapian.rb +280 -0
  299. data/ruby/xapian_wrap.cc +25837 -0
  300. data/ruby/xapian_wrap.h +65 -0
  301. data/ruby/xapian_wrap.lo +12 -0
  302. data/skiptest +2 -0
  303. data/stamp-h1 +1 -0
  304. data/tcl8/.deps/xapian_wrap.Plo +1 -0
  305. data/tcl8/Makefile +835 -0
  306. data/tcl8/Makefile.am +49 -0
  307. data/tcl8/Makefile.in +835 -0
  308. data/tcl8/docs/Makefile +448 -0
  309. data/tcl8/docs/Makefile.am +14 -0
  310. data/tcl8/docs/Makefile.in +448 -0
  311. data/tcl8/docs/examples/simpleexpand.tcl +104 -0
  312. data/tcl8/docs/examples/simpleindex.tcl +68 -0
  313. data/tcl8/docs/examples/simplesearch.tcl +66 -0
  314. data/tcl8/docs/index.html +208 -0
  315. data/tcl8/except.i +48 -0
  316. data/tcl8/pkgIndex.tcl +1 -0
  317. data/tcl8/pkgIndex.tcl.in +1 -0
  318. data/tcl8/run-tcl-test +15 -0
  319. data/tcl8/runtest.tcl +29 -0
  320. data/tcl8/smoketest.tcl +155 -0
  321. data/tcl8/util.i +76 -0
  322. data/tcl8/xapian_wrap.cc +20900 -0
  323. data/xapian-bindings.spec +206 -0
  324. data/xapian-bindings.spec.in +206 -0
  325. data/xapian-version.h +1 -0
  326. data/xapian-version.h.in +1 -0
  327. data/xapian.i +939 -0
  328. metadata +395 -0
@@ -0,0 +1,93 @@
1
+ /* ----------------------------------------------------------------------------
2
+ * This file was automatically generated by SWIG (http://www.swig.org).
3
+ * Version 1.3.32
4
+ *
5
+ * This file is not intended to be easily readable and contains a number of
6
+ * coding conventions designed to improve portability and efficiency. Do not make
7
+ * changes to this file unless you know what you are doing--modify the SWIG
8
+ * interface file instead.
9
+ * ----------------------------------------------------------------------------- */
10
+
11
+ #ifndef SWIG_Xapian_WRAP_H_
12
+ #define SWIG_Xapian_WRAP_H_
13
+
14
+ class SwigDirector_MatchDecider : public Xapian::MatchDecider, public Swig::Director {
15
+
16
+ public:
17
+ SwigDirector_MatchDecider();
18
+ virtual bool operator ()(Xapian::Document const &doc) const;
19
+ virtual ~SwigDirector_MatchDecider();
20
+
21
+ typedef unsigned int (SWIGSTDCALL* SWIG_Callback0_t)(void *);
22
+ void swig_connect_director(SWIG_Callback0_t callbackApply);
23
+
24
+ private:
25
+ SWIG_Callback0_t swig_callbackApply;
26
+ void swig_init_callbacks();
27
+ };
28
+
29
+ class SwigDirector_ExpandDecider : public Xapian::ExpandDecider, public Swig::Director {
30
+
31
+ public:
32
+ SwigDirector_ExpandDecider();
33
+ virtual bool operator ()(std::string const &term) const;
34
+ virtual ~SwigDirector_ExpandDecider();
35
+
36
+ typedef unsigned int (SWIGSTDCALL* SWIG_Callback0_t)(char *);
37
+ void swig_connect_director(SWIG_Callback0_t callbackApply);
38
+
39
+ private:
40
+ SWIG_Callback0_t swig_callbackApply;
41
+ void swig_init_callbacks();
42
+ };
43
+
44
+ class SwigDirector_Stopper : public Xapian::Stopper, public Swig::Director {
45
+
46
+ public:
47
+ SwigDirector_Stopper();
48
+ virtual bool operator ()(std::string const &term) const;
49
+ virtual ~SwigDirector_Stopper();
50
+ virtual std::string get_description() const;
51
+
52
+ typedef unsigned int (SWIGSTDCALL* SWIG_Callback0_t)(char *);
53
+ typedef char * (SWIGSTDCALL* SWIG_Callback1_t)();
54
+ void swig_connect_director(SWIG_Callback0_t callbackApply, SWIG_Callback1_t callbackGetDescription);
55
+
56
+ private:
57
+ SWIG_Callback0_t swig_callbackApply;
58
+ SWIG_Callback1_t swig_callbackGetDescription;
59
+ void swig_init_callbacks();
60
+ };
61
+
62
+ struct SwigDirector_ValueRangeProcessor : public Xapian::ValueRangeProcessor, public Swig::Director {
63
+
64
+ public:
65
+ SwigDirector_ValueRangeProcessor();
66
+ virtual ~SwigDirector_ValueRangeProcessor();
67
+ virtual Xapian::valueno operator ()(std::string &begin, std::string &end);
68
+
69
+ typedef unsigned int (SWIGSTDCALL* SWIG_Callback0_t)(void *, void *);
70
+ void swig_connect_director(SWIG_Callback0_t callbackApply);
71
+
72
+ private:
73
+ SWIG_Callback0_t swig_callbackApply;
74
+ void swig_init_callbacks();
75
+ };
76
+
77
+ class SwigDirector_Sorter : public Xapian::Sorter, public Swig::Director {
78
+
79
+ public:
80
+ SwigDirector_Sorter();
81
+ virtual std::string operator ()(Xapian::Document const &doc) const;
82
+ virtual ~SwigDirector_Sorter();
83
+
84
+ typedef char * (SWIGSTDCALL* SWIG_Callback0_t)(void *);
85
+ void swig_connect_director(SWIG_Callback0_t callbackApply);
86
+
87
+ private:
88
+ SWIG_Callback0_t swig_callbackApply;
89
+ void swig_init_callbacks();
90
+ };
91
+
92
+
93
+ #endif
data/depcomp ADDED
@@ -0,0 +1,632 @@
1
+ #! /bin/sh
2
+ # depcomp - compile a program generating dependencies as side-effects
3
+
4
+ scriptversion=2009-04-28.21; # UTC
5
+
6
+ # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
7
+ # Software Foundation, Inc.
8
+
9
+ # This program is free software; you can redistribute it and/or modify
10
+ # it under the terms of the GNU General Public License as published by
11
+ # the Free Software Foundation; either version 2, or (at your option)
12
+ # any later version.
13
+
14
+ # This program is distributed in the hope that it will be useful,
15
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ # GNU General Public License for more details.
18
+
19
+ # You should have received a copy of the GNU General Public License
20
+ # along with this program; if not, write to the Free Software
21
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22
+ # 02110-1301, USA.
23
+
24
+ # As a special exception to the GNU General Public License, if you
25
+ # distribute this file as part of a program that contains a
26
+ # configuration script generated by Autoconf, you may include it under
27
+ # the same distribution terms that you use for the rest of that program.
28
+
29
+ # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
30
+
31
+ case $1 in
32
+ '')
33
+ echo "$0: No command. Try \`$0 --help' for more information." 1>&2
34
+ exit 1;
35
+ ;;
36
+ -h | --h*)
37
+ cat <<\EOF
38
+ Usage: depcomp [--help] [--version] PROGRAM [ARGS]
39
+
40
+ Run PROGRAMS ARGS to compile a file, generating dependencies
41
+ as side-effects.
42
+
43
+ Environment variables:
44
+ depmode Dependency tracking mode.
45
+ source Source file read by `PROGRAMS ARGS'.
46
+ object Object file output by `PROGRAMS ARGS'.
47
+ DEPDIR directory where to store dependencies.
48
+ depfile Dependency file to output.
49
+ tmpdepfile Temporary file to use when outputing dependencies.
50
+ libtool Whether libtool is used (yes/no).
51
+
52
+ Report bugs to <bug-automake@gnu.org>.
53
+ EOF
54
+ exit $?
55
+ ;;
56
+ -v | --v*)
57
+ echo "depcomp $scriptversion"
58
+ exit $?
59
+ ;;
60
+ esac
61
+
62
+ if test -z "$depmode" || test -z "$source" || test -z "$object"; then
63
+ echo "depcomp: Variables source, object and depmode must be set" 1>&2
64
+ exit 1
65
+ fi
66
+
67
+ # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
68
+ depfile=${depfile-`echo "$object" |
69
+ sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
70
+ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
71
+
72
+ rm -f "$tmpdepfile"
73
+
74
+ # Some modes work just like other modes, but use different flags. We
75
+ # parameterize here, but still list the modes in the big case below,
76
+ # to make depend.m4 easier to write. Note that we *cannot* use a case
77
+ # here, because this file can only contain one case statement.
78
+ if test "$depmode" = hp; then
79
+ # HP compiler uses -M and no extra arg.
80
+ gccflag=-M
81
+ depmode=gcc
82
+ fi
83
+
84
+ if test "$depmode" = dashXmstdout; then
85
+ # This is just like dashmstdout with a different argument.
86
+ dashmflag=-xM
87
+ depmode=dashmstdout
88
+ fi
89
+
90
+ cygpath_u="cygpath -u -f -"
91
+ if test "$depmode" = msvcmsys; then
92
+ # This is just like msvisualcpp but w/o cygpath translation.
93
+ # Just convert the backslash-escaped backslashes to single forward
94
+ # slashes to satisfy depend.m4
95
+ cygpath_u="sed s,\\\\\\\\,/,g"
96
+ depmode=msvisualcpp
97
+ fi
98
+
99
+ case "$depmode" in
100
+ gcc3)
101
+ ## gcc 3 implements dependency tracking that does exactly what
102
+ ## we want. Yay! Note: for some reason libtool 1.4 doesn't like
103
+ ## it if -MD -MP comes after the -MF stuff. Hmm.
104
+ ## Unfortunately, FreeBSD c89 acceptance of flags depends upon
105
+ ## the command line argument order; so add the flags where they
106
+ ## appear in depend2.am. Note that the slowdown incurred here
107
+ ## affects only configure: in makefiles, %FASTDEP% shortcuts this.
108
+ for arg
109
+ do
110
+ case $arg in
111
+ -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
112
+ *) set fnord "$@" "$arg" ;;
113
+ esac
114
+ shift # fnord
115
+ shift # $arg
116
+ done
117
+ "$@"
118
+ stat=$?
119
+ if test $stat -eq 0; then :
120
+ else
121
+ rm -f "$tmpdepfile"
122
+ exit $stat
123
+ fi
124
+ mv "$tmpdepfile" "$depfile"
125
+ ;;
126
+
127
+ gcc)
128
+ ## There are various ways to get dependency output from gcc. Here's
129
+ ## why we pick this rather obscure method:
130
+ ## - Don't want to use -MD because we'd like the dependencies to end
131
+ ## up in a subdir. Having to rename by hand is ugly.
132
+ ## (We might end up doing this anyway to support other compilers.)
133
+ ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
134
+ ## -MM, not -M (despite what the docs say).
135
+ ## - Using -M directly means running the compiler twice (even worse
136
+ ## than renaming).
137
+ if test -z "$gccflag"; then
138
+ gccflag=-MD,
139
+ fi
140
+ "$@" -Wp,"$gccflag$tmpdepfile"
141
+ stat=$?
142
+ if test $stat -eq 0; then :
143
+ else
144
+ rm -f "$tmpdepfile"
145
+ exit $stat
146
+ fi
147
+ rm -f "$depfile"
148
+ echo "$object : \\" > "$depfile"
149
+ alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
150
+ ## The second -e expression handles DOS-style file names with drive letters.
151
+ sed -e 's/^[^:]*: / /' \
152
+ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
153
+ ## This next piece of magic avoids the `deleted header file' problem.
154
+ ## The problem is that when a header file which appears in a .P file
155
+ ## is deleted, the dependency causes make to die (because there is
156
+ ## typically no way to rebuild the header). We avoid this by adding
157
+ ## dummy dependencies for each header file. Too bad gcc doesn't do
158
+ ## this for us directly.
159
+ tr ' ' '
160
+ ' < "$tmpdepfile" |
161
+ ## Some versions of gcc put a space before the `:'. On the theory
162
+ ## that the space means something, we add a space to the output as
163
+ ## well.
164
+ ## Some versions of the HPUX 10.20 sed can't process this invocation
165
+ ## correctly. Breaking it into two sed invocations is a workaround.
166
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
167
+ rm -f "$tmpdepfile"
168
+ ;;
169
+
170
+ hp)
171
+ # This case exists only to let depend.m4 do its work. It works by
172
+ # looking at the text of this script. This case will never be run,
173
+ # since it is checked for above.
174
+ exit 1
175
+ ;;
176
+
177
+ sgi)
178
+ if test "$libtool" = yes; then
179
+ "$@" "-Wp,-MDupdate,$tmpdepfile"
180
+ else
181
+ "$@" -MDupdate "$tmpdepfile"
182
+ fi
183
+ stat=$?
184
+ if test $stat -eq 0; then :
185
+ else
186
+ rm -f "$tmpdepfile"
187
+ exit $stat
188
+ fi
189
+ rm -f "$depfile"
190
+
191
+ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
192
+ echo "$object : \\" > "$depfile"
193
+
194
+ # Clip off the initial element (the dependent). Don't try to be
195
+ # clever and replace this with sed code, as IRIX sed won't handle
196
+ # lines with more than a fixed number of characters (4096 in
197
+ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
198
+ # the IRIX cc adds comments like `#:fec' to the end of the
199
+ # dependency line.
200
+ tr ' ' '
201
+ ' < "$tmpdepfile" \
202
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
203
+ tr '
204
+ ' ' ' >> "$depfile"
205
+ echo >> "$depfile"
206
+
207
+ # The second pass generates a dummy entry for each header file.
208
+ tr ' ' '
209
+ ' < "$tmpdepfile" \
210
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
211
+ >> "$depfile"
212
+ else
213
+ # The sourcefile does not contain any dependencies, so just
214
+ # store a dummy comment line, to avoid errors with the Makefile
215
+ # "include basename.Plo" scheme.
216
+ echo "#dummy" > "$depfile"
217
+ fi
218
+ rm -f "$tmpdepfile"
219
+ ;;
220
+
221
+ aix)
222
+ # The C for AIX Compiler uses -M and outputs the dependencies
223
+ # in a .u file. In older versions, this file always lives in the
224
+ # current directory. Also, the AIX compiler puts `$object:' at the
225
+ # start of each line; $object doesn't have directory information.
226
+ # Version 6 uses the directory in both cases.
227
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
228
+ test "x$dir" = "x$object" && dir=
229
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
230
+ if test "$libtool" = yes; then
231
+ tmpdepfile1=$dir$base.u
232
+ tmpdepfile2=$base.u
233
+ tmpdepfile3=$dir.libs/$base.u
234
+ "$@" -Wc,-M
235
+ else
236
+ tmpdepfile1=$dir$base.u
237
+ tmpdepfile2=$dir$base.u
238
+ tmpdepfile3=$dir$base.u
239
+ "$@" -M
240
+ fi
241
+ stat=$?
242
+
243
+ if test $stat -eq 0; then :
244
+ else
245
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
246
+ exit $stat
247
+ fi
248
+
249
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
250
+ do
251
+ test -f "$tmpdepfile" && break
252
+ done
253
+ if test -f "$tmpdepfile"; then
254
+ # Each line is of the form `foo.o: dependent.h'.
255
+ # Do two passes, one to just change these to
256
+ # `$object: dependent.h' and one to simply `dependent.h:'.
257
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
258
+ # That's a tab and a space in the [].
259
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
260
+ else
261
+ # The sourcefile does not contain any dependencies, so just
262
+ # store a dummy comment line, to avoid errors with the Makefile
263
+ # "include basename.Plo" scheme.
264
+ echo "#dummy" > "$depfile"
265
+ fi
266
+ rm -f "$tmpdepfile"
267
+ ;;
268
+
269
+ icc)
270
+ # Intel's C compiler understands `-MD -MF file'. However on
271
+ # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
272
+ # ICC 7.0 will fill foo.d with something like
273
+ # foo.o: sub/foo.c
274
+ # foo.o: sub/foo.h
275
+ # which is wrong. We want:
276
+ # sub/foo.o: sub/foo.c
277
+ # sub/foo.o: sub/foo.h
278
+ # sub/foo.c:
279
+ # sub/foo.h:
280
+ # ICC 7.1 will output
281
+ # foo.o: sub/foo.c sub/foo.h
282
+ # and will wrap long lines using \ :
283
+ # foo.o: sub/foo.c ... \
284
+ # sub/foo.h ... \
285
+ # ...
286
+
287
+ "$@" -MD -MF "$tmpdepfile"
288
+ stat=$?
289
+ if test $stat -eq 0; then :
290
+ else
291
+ rm -f "$tmpdepfile"
292
+ exit $stat
293
+ fi
294
+ rm -f "$depfile"
295
+ # Each line is of the form `foo.o: dependent.h',
296
+ # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
297
+ # Do two passes, one to just change these to
298
+ # `$object: dependent.h' and one to simply `dependent.h:'.
299
+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
300
+ # Some versions of the HPUX 10.20 sed can't process this invocation
301
+ # correctly. Breaking it into two sed invocations is a workaround.
302
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
303
+ sed -e 's/$/ :/' >> "$depfile"
304
+ rm -f "$tmpdepfile"
305
+ ;;
306
+
307
+ hp2)
308
+ # The "hp" stanza above does not work with aCC (C++) and HP's ia64
309
+ # compilers, which have integrated preprocessors. The correct option
310
+ # to use with these is +Maked; it writes dependencies to a file named
311
+ # 'foo.d', which lands next to the object file, wherever that
312
+ # happens to be.
313
+ # Much of this is similar to the tru64 case; see comments there.
314
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
315
+ test "x$dir" = "x$object" && dir=
316
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
317
+ if test "$libtool" = yes; then
318
+ tmpdepfile1=$dir$base.d
319
+ tmpdepfile2=$dir.libs/$base.d
320
+ "$@" -Wc,+Maked
321
+ else
322
+ tmpdepfile1=$dir$base.d
323
+ tmpdepfile2=$dir$base.d
324
+ "$@" +Maked
325
+ fi
326
+ stat=$?
327
+ if test $stat -eq 0; then :
328
+ else
329
+ rm -f "$tmpdepfile1" "$tmpdepfile2"
330
+ exit $stat
331
+ fi
332
+
333
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
334
+ do
335
+ test -f "$tmpdepfile" && break
336
+ done
337
+ if test -f "$tmpdepfile"; then
338
+ sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
339
+ # Add `dependent.h:' lines.
340
+ sed -ne '2,${
341
+ s/^ *//
342
+ s/ \\*$//
343
+ s/$/:/
344
+ p
345
+ }' "$tmpdepfile" >> "$depfile"
346
+ else
347
+ echo "#dummy" > "$depfile"
348
+ fi
349
+ rm -f "$tmpdepfile" "$tmpdepfile2"
350
+ ;;
351
+
352
+ tru64)
353
+ # The Tru64 compiler uses -MD to generate dependencies as a side
354
+ # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
355
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
356
+ # dependencies in `foo.d' instead, so we check for that too.
357
+ # Subdirectories are respected.
358
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
359
+ test "x$dir" = "x$object" && dir=
360
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
361
+
362
+ if test "$libtool" = yes; then
363
+ # With Tru64 cc, shared objects can also be used to make a
364
+ # static library. This mechanism is used in libtool 1.4 series to
365
+ # handle both shared and static libraries in a single compilation.
366
+ # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
367
+ #
368
+ # With libtool 1.5 this exception was removed, and libtool now
369
+ # generates 2 separate objects for the 2 libraries. These two
370
+ # compilations output dependencies in $dir.libs/$base.o.d and
371
+ # in $dir$base.o.d. We have to check for both files, because
372
+ # one of the two compilations can be disabled. We should prefer
373
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
374
+ # automatically cleaned when .libs/ is deleted, while ignoring
375
+ # the former would cause a distcleancheck panic.
376
+ tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
377
+ tmpdepfile2=$dir$base.o.d # libtool 1.5
378
+ tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
379
+ tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
380
+ "$@" -Wc,-MD
381
+ else
382
+ tmpdepfile1=$dir$base.o.d
383
+ tmpdepfile2=$dir$base.d
384
+ tmpdepfile3=$dir$base.d
385
+ tmpdepfile4=$dir$base.d
386
+ "$@" -MD
387
+ fi
388
+
389
+ stat=$?
390
+ if test $stat -eq 0; then :
391
+ else
392
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
393
+ exit $stat
394
+ fi
395
+
396
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
397
+ do
398
+ test -f "$tmpdepfile" && break
399
+ done
400
+ if test -f "$tmpdepfile"; then
401
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
402
+ # That's a tab and a space in the [].
403
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
404
+ else
405
+ echo "#dummy" > "$depfile"
406
+ fi
407
+ rm -f "$tmpdepfile"
408
+ ;;
409
+
410
+ #nosideeffect)
411
+ # This comment above is used by automake to tell side-effect
412
+ # dependency tracking mechanisms from slower ones.
413
+
414
+ dashmstdout)
415
+ # Important note: in order to support this mode, a compiler *must*
416
+ # always write the preprocessed file to stdout, regardless of -o.
417
+ "$@" || exit $?
418
+
419
+ # Remove the call to Libtool.
420
+ if test "$libtool" = yes; then
421
+ while test "X$1" != 'X--mode=compile'; do
422
+ shift
423
+ done
424
+ shift
425
+ fi
426
+
427
+ # Remove `-o $object'.
428
+ IFS=" "
429
+ for arg
430
+ do
431
+ case $arg in
432
+ -o)
433
+ shift
434
+ ;;
435
+ $object)
436
+ shift
437
+ ;;
438
+ *)
439
+ set fnord "$@" "$arg"
440
+ shift # fnord
441
+ shift # $arg
442
+ ;;
443
+ esac
444
+ done
445
+
446
+ test -z "$dashmflag" && dashmflag=-M
447
+ # Require at least two characters before searching for `:'
448
+ # in the target name. This is to cope with DOS-style filenames:
449
+ # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
450
+ "$@" $dashmflag |
451
+ sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
452
+ rm -f "$depfile"
453
+ cat < "$tmpdepfile" > "$depfile"
454
+ tr ' ' '
455
+ ' < "$tmpdepfile" | \
456
+ ## Some versions of the HPUX 10.20 sed can't process this invocation
457
+ ## correctly. Breaking it into two sed invocations is a workaround.
458
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
459
+ rm -f "$tmpdepfile"
460
+ ;;
461
+
462
+ dashXmstdout)
463
+ # This case only exists to satisfy depend.m4. It is never actually
464
+ # run, as this mode is specially recognized in the preamble.
465
+ exit 1
466
+ ;;
467
+
468
+ makedepend)
469
+ "$@" || exit $?
470
+ # Remove any Libtool call
471
+ if test "$libtool" = yes; then
472
+ while test "X$1" != 'X--mode=compile'; do
473
+ shift
474
+ done
475
+ shift
476
+ fi
477
+ # X makedepend
478
+ shift
479
+ cleared=no eat=no
480
+ for arg
481
+ do
482
+ case $cleared in
483
+ no)
484
+ set ""; shift
485
+ cleared=yes ;;
486
+ esac
487
+ if test $eat = yes; then
488
+ eat=no
489
+ continue
490
+ fi
491
+ case "$arg" in
492
+ -D*|-I*)
493
+ set fnord "$@" "$arg"; shift ;;
494
+ # Strip any option that makedepend may not understand. Remove
495
+ # the object too, otherwise makedepend will parse it as a source file.
496
+ -arch)
497
+ eat=yes ;;
498
+ -*|$object)
499
+ ;;
500
+ *)
501
+ set fnord "$@" "$arg"; shift ;;
502
+ esac
503
+ done
504
+ obj_suffix=`echo "$object" | sed 's/^.*\././'`
505
+ touch "$tmpdepfile"
506
+ ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
507
+ rm -f "$depfile"
508
+ cat < "$tmpdepfile" > "$depfile"
509
+ sed '1,2d' "$tmpdepfile" | tr ' ' '
510
+ ' | \
511
+ ## Some versions of the HPUX 10.20 sed can't process this invocation
512
+ ## correctly. Breaking it into two sed invocations is a workaround.
513
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
514
+ rm -f "$tmpdepfile" "$tmpdepfile".bak
515
+ ;;
516
+
517
+ cpp)
518
+ # Important note: in order to support this mode, a compiler *must*
519
+ # always write the preprocessed file to stdout.
520
+ "$@" || exit $?
521
+
522
+ # Remove the call to Libtool.
523
+ if test "$libtool" = yes; then
524
+ while test "X$1" != 'X--mode=compile'; do
525
+ shift
526
+ done
527
+ shift
528
+ fi
529
+
530
+ # Remove `-o $object'.
531
+ IFS=" "
532
+ for arg
533
+ do
534
+ case $arg in
535
+ -o)
536
+ shift
537
+ ;;
538
+ $object)
539
+ shift
540
+ ;;
541
+ *)
542
+ set fnord "$@" "$arg"
543
+ shift # fnord
544
+ shift # $arg
545
+ ;;
546
+ esac
547
+ done
548
+
549
+ "$@" -E |
550
+ sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
551
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
552
+ sed '$ s: \\$::' > "$tmpdepfile"
553
+ rm -f "$depfile"
554
+ echo "$object : \\" > "$depfile"
555
+ cat < "$tmpdepfile" >> "$depfile"
556
+ sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
557
+ rm -f "$tmpdepfile"
558
+ ;;
559
+
560
+ msvisualcpp)
561
+ # Important note: in order to support this mode, a compiler *must*
562
+ # always write the preprocessed file to stdout.
563
+ "$@" || exit $?
564
+
565
+ # Remove the call to Libtool.
566
+ if test "$libtool" = yes; then
567
+ while test "X$1" != 'X--mode=compile'; do
568
+ shift
569
+ done
570
+ shift
571
+ fi
572
+
573
+ IFS=" "
574
+ for arg
575
+ do
576
+ case "$arg" in
577
+ -o)
578
+ shift
579
+ ;;
580
+ $object)
581
+ shift
582
+ ;;
583
+ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
584
+ set fnord "$@"
585
+ shift
586
+ shift
587
+ ;;
588
+ *)
589
+ set fnord "$@" "$arg"
590
+ shift
591
+ shift
592
+ ;;
593
+ esac
594
+ done
595
+ "$@" -E 2>/dev/null |
596
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
597
+ rm -f "$depfile"
598
+ echo "$object : \\" > "$depfile"
599
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
600
+ echo " " >> "$depfile"
601
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
602
+ rm -f "$tmpdepfile"
603
+ ;;
604
+
605
+ msvcmsys)
606
+ # This case exists only to let depend.m4 do its work. It works by
607
+ # looking at the text of this script. This case will never be run,
608
+ # since it is checked for above.
609
+ exit 1
610
+ ;;
611
+
612
+ none)
613
+ exec "$@"
614
+ ;;
615
+
616
+ *)
617
+ echo "Unknown depmode $depmode" 1>&2
618
+ exit 1
619
+ ;;
620
+ esac
621
+
622
+ exit 0
623
+
624
+ # Local Variables:
625
+ # mode: shell-script
626
+ # sh-indentation: 2
627
+ # eval: (add-hook 'write-file-hooks 'time-stamp)
628
+ # time-stamp-start: "scriptversion="
629
+ # time-stamp-format: "%:y-%02m-%02d.%02H"
630
+ # time-stamp-time-zone: "UTC"
631
+ # time-stamp-end: "; # UTC"
632
+ # End: