rice 2.1.1 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (246) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +121 -0
  3. data/CONTRIBUTORS.md +19 -0
  4. data/COPYING +2 -2
  5. data/Gemfile +3 -0
  6. data/README.md +69 -0
  7. data/Rakefile +95 -12
  8. data/include/rice/rice.hpp +7766 -0
  9. data/lib/mkmf-rice.rb +127 -0
  10. data/lib/version.rb +3 -0
  11. data/rice/Address_Registration_Guard.ipp +75 -32
  12. data/rice/Address_Registration_Guard_defn.hpp +60 -56
  13. data/rice/Arg.hpp +80 -4
  14. data/rice/Arg.ipp +51 -0
  15. data/rice/Constructor.hpp +30 -376
  16. data/rice/Data_Object.ipp +234 -107
  17. data/rice/Data_Object_defn.hpp +77 -117
  18. data/rice/Data_Type.hpp +1 -2
  19. data/rice/Data_Type.ipp +251 -295
  20. data/rice/Data_Type_defn.hpp +175 -243
  21. data/rice/Director.hpp +14 -9
  22. data/rice/Enum.hpp +54 -104
  23. data/rice/Enum.ipp +104 -230
  24. data/rice/Exception.hpp +2 -8
  25. data/rice/Exception.ipp +65 -0
  26. data/rice/Exception_defn.hpp +46 -47
  27. data/rice/Identifier.hpp +28 -28
  28. data/rice/Identifier.ipp +23 -27
  29. data/rice/Return.hpp +39 -0
  30. data/rice/Return.ipp +33 -0
  31. data/rice/detail/Exception_Handler.ipp +22 -62
  32. data/rice/detail/Exception_Handler_defn.hpp +76 -91
  33. data/rice/detail/Iterator.hpp +18 -88
  34. data/rice/detail/Iterator.ipp +47 -0
  35. data/rice/detail/Jump_Tag.hpp +21 -0
  36. data/rice/detail/MethodInfo.hpp +44 -0
  37. data/rice/detail/MethodInfo.ipp +78 -0
  38. data/rice/detail/NativeAttribute.hpp +53 -0
  39. data/rice/detail/NativeAttribute.ipp +83 -0
  40. data/rice/detail/NativeFunction.hpp +69 -0
  41. data/rice/detail/NativeFunction.ipp +248 -0
  42. data/rice/detail/RubyFunction.hpp +39 -0
  43. data/rice/detail/RubyFunction.ipp +92 -0
  44. data/rice/detail/Type.hpp +29 -0
  45. data/rice/detail/Type.ipp +138 -0
  46. data/rice/detail/TypeRegistry.hpp +50 -0
  47. data/rice/detail/TypeRegistry.ipp +106 -0
  48. data/rice/detail/Wrapper.hpp +51 -0
  49. data/rice/detail/Wrapper.ipp +151 -0
  50. data/rice/detail/default_allocation_func.hpp +8 -19
  51. data/rice/detail/default_allocation_func.ipp +9 -8
  52. data/rice/detail/from_ruby.hpp +2 -37
  53. data/rice/detail/from_ruby.ipp +1020 -46
  54. data/rice/detail/from_ruby_defn.hpp +38 -0
  55. data/rice/detail/function_traits.hpp +124 -0
  56. data/rice/detail/method_data.hpp +23 -15
  57. data/rice/detail/method_data.ipp +53 -0
  58. data/rice/detail/rice_traits.hpp +116 -0
  59. data/rice/detail/ruby.hpp +9 -49
  60. data/rice/detail/to_ruby.hpp +3 -17
  61. data/rice/detail/to_ruby.ipp +409 -31
  62. data/rice/detail/to_ruby_defn.hpp +48 -0
  63. data/rice/forward_declares.ipp +82 -0
  64. data/rice/global_function.hpp +16 -20
  65. data/rice/global_function.ipp +8 -17
  66. data/rice/rice.hpp +59 -0
  67. data/rice/ruby_mark.hpp +5 -3
  68. data/rice/ruby_try_catch.hpp +4 -4
  69. data/rice/stl.hpp +11 -0
  70. data/sample/callbacks/extconf.rb +6 -0
  71. data/sample/callbacks/sample_callbacks.cpp +35 -0
  72. data/sample/callbacks/test.rb +28 -0
  73. data/sample/enum/extconf.rb +3 -0
  74. data/sample/enum/sample_enum.cpp +3 -17
  75. data/sample/enum/test.rb +2 -2
  76. data/sample/inheritance/animals.cpp +8 -24
  77. data/sample/inheritance/extconf.rb +3 -0
  78. data/sample/inheritance/test.rb +1 -1
  79. data/sample/map/extconf.rb +3 -0
  80. data/sample/map/map.cpp +10 -18
  81. data/sample/map/test.rb +1 -1
  82. data/test/embed_ruby.cpp +34 -0
  83. data/test/embed_ruby.hpp +4 -0
  84. data/test/ext/t1/extconf.rb +3 -0
  85. data/test/ext/t1/t1.cpp +1 -3
  86. data/test/ext/t2/extconf.rb +3 -0
  87. data/test/ext/t2/t2.cpp +1 -1
  88. data/test/extconf.rb +23 -0
  89. data/test/ruby/test_callbacks_sample.rb +28 -0
  90. data/test/ruby/test_multiple_extensions.rb +18 -0
  91. data/test/ruby/test_multiple_extensions_same_class.rb +14 -0
  92. data/test/ruby/test_multiple_extensions_with_inheritance.rb +20 -0
  93. data/test/test_Address_Registration_Guard.cpp +25 -11
  94. data/test/test_Array.cpp +131 -74
  95. data/test/test_Attribute.cpp +147 -0
  96. data/test/test_Builtin_Object.cpp +36 -15
  97. data/test/test_Class.cpp +151 -274
  98. data/test/test_Constructor.cpp +10 -9
  99. data/test/test_Data_Object.cpp +135 -193
  100. data/test/test_Data_Type.cpp +323 -252
  101. data/test/test_Director.cpp +56 -42
  102. data/test/test_Enum.cpp +230 -104
  103. data/test/test_Exception.cpp +7 -7
  104. data/test/test_Hash.cpp +33 -31
  105. data/test/test_Identifier.cpp +6 -6
  106. data/test/test_Inheritance.cpp +221 -0
  107. data/test/test_Iterator.cpp +161 -0
  108. data/test/test_Jump_Tag.cpp +1 -1
  109. data/test/test_Keep_Alive.cpp +161 -0
  110. data/test/test_Memory_Management.cpp +4 -5
  111. data/test/test_Module.cpp +169 -111
  112. data/test/test_Object.cpp +51 -19
  113. data/test/test_Ownership.cpp +275 -0
  114. data/test/test_Self.cpp +205 -0
  115. data/test/test_Stl_Optional.cpp +90 -0
  116. data/test/test_Stl_Pair.cpp +144 -0
  117. data/test/test_Stl_SmartPointer.cpp +200 -0
  118. data/test/test_Stl_String.cpp +74 -0
  119. data/test/test_Stl_Vector.cpp +652 -0
  120. data/test/test_String.cpp +3 -3
  121. data/test/test_Struct.cpp +31 -40
  122. data/test/test_Symbol.cpp +3 -3
  123. data/test/test_To_From_Ruby.cpp +283 -218
  124. data/test/test_global_functions.cpp +41 -20
  125. data/test/unittest.cpp +34 -8
  126. data/test/unittest.hpp +0 -4
  127. metadata +117 -137
  128. data/Doxyfile +0 -2280
  129. data/Makefile.am +0 -26
  130. data/Makefile.in +0 -920
  131. data/README +0 -1055
  132. data/README.mingw +0 -8
  133. data/aclocal.m4 +0 -1088
  134. data/bootstrap +0 -8
  135. data/check_stdcxx_11.ac +0 -142
  136. data/config.guess +0 -1421
  137. data/config.sub +0 -1807
  138. data/configure +0 -7481
  139. data/configure.ac +0 -55
  140. data/depcomp +0 -791
  141. data/doxygen.ac +0 -314
  142. data/doxygen.am +0 -186
  143. data/extconf.rb +0 -69
  144. data/install-sh +0 -501
  145. data/missing +0 -215
  146. data/post-autoconf.rb +0 -22
  147. data/post-automake.rb +0 -28
  148. data/rice/Address_Registration_Guard.cpp +0 -22
  149. data/rice/Arg_impl.hpp +0 -129
  150. data/rice/Arg_operators.cpp +0 -21
  151. data/rice/Arg_operators.hpp +0 -19
  152. data/rice/Array.hpp +0 -214
  153. data/rice/Array.ipp +0 -256
  154. data/rice/Builtin_Object.hpp +0 -8
  155. data/rice/Builtin_Object.ipp +0 -50
  156. data/rice/Builtin_Object_defn.hpp +0 -50
  157. data/rice/Class.cpp +0 -57
  158. data/rice/Class.hpp +0 -8
  159. data/rice/Class.ipp +0 -6
  160. data/rice/Class_defn.hpp +0 -83
  161. data/rice/Data_Type.cpp +0 -54
  162. data/rice/Data_Type_fwd.hpp +0 -12
  163. data/rice/Director.cpp +0 -13
  164. data/rice/Exception.cpp +0 -59
  165. data/rice/Exception_Base.hpp +0 -8
  166. data/rice/Exception_Base.ipp +0 -13
  167. data/rice/Exception_Base_defn.hpp +0 -27
  168. data/rice/Hash.hpp +0 -227
  169. data/rice/Hash.ipp +0 -329
  170. data/rice/Identifier.cpp +0 -8
  171. data/rice/Jump_Tag.hpp +0 -24
  172. data/rice/Makefile.am +0 -124
  173. data/rice/Makefile.in +0 -839
  174. data/rice/Module.cpp +0 -84
  175. data/rice/Module.hpp +0 -8
  176. data/rice/Module.ipp +0 -6
  177. data/rice/Module_defn.hpp +0 -88
  178. data/rice/Module_impl.hpp +0 -281
  179. data/rice/Module_impl.ipp +0 -345
  180. data/rice/Object.cpp +0 -169
  181. data/rice/Object.hpp +0 -8
  182. data/rice/Object.ipp +0 -19
  183. data/rice/Object_defn.hpp +0 -191
  184. data/rice/Require_Guard.hpp +0 -21
  185. data/rice/String.cpp +0 -94
  186. data/rice/String.hpp +0 -91
  187. data/rice/Struct.cpp +0 -117
  188. data/rice/Struct.hpp +0 -162
  189. data/rice/Struct.ipp +0 -26
  190. data/rice/Symbol.cpp +0 -25
  191. data/rice/Symbol.hpp +0 -66
  192. data/rice/Symbol.ipp +0 -44
  193. data/rice/config.hpp +0 -47
  194. data/rice/config.hpp.in +0 -46
  195. data/rice/detail/Arguments.hpp +0 -118
  196. data/rice/detail/Auto_Function_Wrapper.hpp +0 -898
  197. data/rice/detail/Auto_Function_Wrapper.ipp +0 -3694
  198. data/rice/detail/Auto_Member_Function_Wrapper.hpp +0 -897
  199. data/rice/detail/Auto_Member_Function_Wrapper.ipp +0 -2774
  200. data/rice/detail/Caster.hpp +0 -103
  201. data/rice/detail/Not_Copyable.hpp +0 -25
  202. data/rice/detail/Wrapped_Function.hpp +0 -33
  203. data/rice/detail/cfp.hpp +0 -24
  204. data/rice/detail/cfp.ipp +0 -51
  205. data/rice/detail/check_ruby_type.cpp +0 -27
  206. data/rice/detail/check_ruby_type.hpp +0 -23
  207. data/rice/detail/creation_funcs.hpp +0 -37
  208. data/rice/detail/creation_funcs.ipp +0 -36
  209. data/rice/detail/define_method_and_auto_wrap.hpp +0 -31
  210. data/rice/detail/define_method_and_auto_wrap.ipp +0 -30
  211. data/rice/detail/demangle.cpp +0 -56
  212. data/rice/detail/demangle.hpp +0 -19
  213. data/rice/detail/env.hpp +0 -11
  214. data/rice/detail/method_data.cpp +0 -86
  215. data/rice/detail/node.hpp +0 -13
  216. data/rice/detail/object_call.hpp +0 -69
  217. data/rice/detail/object_call.ipp +0 -131
  218. data/rice/detail/protect.cpp +0 -29
  219. data/rice/detail/protect.hpp +0 -34
  220. data/rice/detail/ruby_version_code.hpp +0 -6
  221. data/rice/detail/ruby_version_code.hpp.in +0 -6
  222. data/rice/detail/st.hpp +0 -22
  223. data/rice/detail/traits.hpp +0 -43
  224. data/rice/detail/win32.hpp +0 -16
  225. data/rice/detail/wrap_function.hpp +0 -341
  226. data/rice/detail/wrap_function.ipp +0 -514
  227. data/rice/protect.hpp +0 -92
  228. data/rice/protect.ipp +0 -1134
  229. data/rice/rubypp.rb +0 -97
  230. data/rice/to_from_ruby.hpp +0 -8
  231. data/rice/to_from_ruby.ipp +0 -294
  232. data/rice/to_from_ruby_defn.hpp +0 -70
  233. data/ruby.ac +0 -135
  234. data/ruby/Makefile.am +0 -1
  235. data/ruby/Makefile.in +0 -625
  236. data/ruby/lib/Makefile.am +0 -3
  237. data/ruby/lib/Makefile.in +0 -503
  238. data/ruby/lib/mkmf-rice.rb.in +0 -217
  239. data/ruby/lib/version.rb +0 -3
  240. data/sample/Makefile.am +0 -47
  241. data/sample/Makefile.in +0 -486
  242. data/test/Makefile.am +0 -72
  243. data/test/Makefile.in +0 -1150
  244. data/test/ext/Makefile.am +0 -41
  245. data/test/ext/Makefile.in +0 -480
  246. data/test/test_rice.rb +0 -41
data/doxygen.ac DELETED
@@ -1,314 +0,0 @@
1
- # This file is part of Autoconf. -*- Autoconf -*-
2
-
3
- # Copyright (C) 2004 Oren Ben-Kiki
4
- # This file is distributed under the same terms as the Autoconf macro files.
5
-
6
- # Generate automatic documentation using Doxygen. Works in concert with the
7
- # aminclude.m4 file and a compatible doxygen configuration file. Defines the
8
- # following public macros:
9
- #
10
- # DX_???_FEATURE(ON|OFF) - control the default setting fo a Doxygen feature.
11
- # Supported features are 'DOXYGEN' itself, 'DOT' for generating graphics,
12
- # 'HTML' for plain HTML, 'CHM' for compressed HTML help (for MS users), 'CHI'
13
- # for generating a seperate .chi file by the .chm file, and 'MAN', 'RTF',
14
- # 'XML', 'PDF' and 'PS' for the appropriate output formats. The environment
15
- # variable DOXYGEN_PAPER_SIZE may be specified to override the default 'a4wide'
16
- # paper size.
17
- #
18
- # By default, HTML, PDF and PS documentation is generated as this seems to be
19
- # the most popular and portable combination. MAN pages created by Doxygen are
20
- # usually problematic, though by picking an appropriate subset and doing some
21
- # massaging they might be better than nothing. CHM and RTF are specific for MS
22
- # (note that you can't generate both HTML and CHM at the same time). The XML is
23
- # rather useless unless you apply specialized post-processing to it.
24
- #
25
- # The macro mainly controls the default state of the feature. The use can
26
- # override the default by specifying --enable or --disable. The macros ensure
27
- # that contradictory flags are not given (e.g., --enable-doxygen-html and
28
- # --enable-doxygen-chm, --enable-doxygen-anything with --disable-doxygen, etc.)
29
- # Finally, each feature will be automatically disabled (with a warning) if the
30
- # required programs are missing.
31
- #
32
- # Once all the feature defaults have been specified, call DX_INIT_DOXYGEN with
33
- # the following parameters: a one-word name for the project for use as a
34
- # filename base etc., an optional configuration file name (the default is
35
- # 'Doxyfile', the same as Doxygen's default), and an optional output directory
36
- # name (the default is 'doxygen-doc').
37
-
38
- ## ----------##
39
- ## Defaults. ##
40
- ## ----------##
41
-
42
- DX_ENV=""
43
- AC_DEFUN([DX_FEATURE_doc], ON)
44
- AC_DEFUN([DX_FEATURE_dot], ON)
45
- AC_DEFUN([DX_FEATURE_man], OFF)
46
- AC_DEFUN([DX_FEATURE_html], ON)
47
- AC_DEFUN([DX_FEATURE_chm], OFF)
48
- AC_DEFUN([DX_FEATURE_chi], OFF)
49
- AC_DEFUN([DX_FEATURE_rtf], OFF)
50
- AC_DEFUN([DX_FEATURE_xml], OFF)
51
- AC_DEFUN([DX_FEATURE_pdf], ON)
52
- AC_DEFUN([DX_FEATURE_ps], ON)
53
-
54
- ## --------------- ##
55
- ## Private macros. ##
56
- ## --------------- ##
57
-
58
- # DX_ENV_APPEND(VARIABLE, VALUE)
59
- # ------------------------------
60
- # Append VARIABLE="VALUE" to DX_ENV for invoking doxygen.
61
- AC_DEFUN([DX_ENV_APPEND], [AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])])
62
-
63
- # DX_DIRNAME_EXPR
64
- # ---------------
65
- # Expand into a shell expression prints the directory part of a path.
66
- AC_DEFUN([DX_DIRNAME_EXPR],
67
- [[expr ".$1" : '\(\.\)[^/]*$' \| "x$1" : 'x\(.*\)/[^/]*$']])
68
-
69
- # DX_IF_FEATURE(FEATURE, IF-ON, IF-OFF)
70
- # -------------------------------------
71
- # Expands according to the M4 (static) status of the feature.
72
- AC_DEFUN([DX_IF_FEATURE], [ifelse(DX_FEATURE_$1, ON, [$2], [$3])])
73
-
74
- # DX_REQUIRE_PROG(VARIABLE, PROGRAM)
75
- # ----------------------------------
76
- # Require the specified program to be found for the DX_CURRENT_FEATURE to work.
77
- AC_DEFUN([DX_REQUIRE_PROG], [
78
- AC_PATH_TOOL([$1], [$2])
79
- if test "$DX_FLAG_[]DX_CURRENT_FEATURE$$1" = 1; then
80
- AC_MSG_WARN([$2 not found - will not DX_CURRENT_DESCRIPTION])
81
- AC_SUBST([DX_FLAG_]DX_CURRENT_FEATURE, 0)
82
- fi
83
- ])
84
-
85
- # DX_TEST_FEATURE(FEATURE)
86
- # ------------------------
87
- # Expand to a shell expression testing whether the feature is active.
88
- AC_DEFUN([DX_TEST_FEATURE], [test "$DX_FLAG_$1" = 1])
89
-
90
- # DX_CHECK_DEPEND(REQUIRED_FEATURE, REQUIRED_STATE)
91
- # -------------------------------------------------
92
- # Verify that a required features has the right state before trying to turn on
93
- # the DX_CURRENT_FEATURE.
94
- AC_DEFUN([DX_CHECK_DEPEND], [
95
- test "$DX_FLAG_$1" = "$2" \
96
- || AC_MSG_ERROR([doxygen-DX_CURRENT_FEATURE ifelse([$2], 1,
97
- requires, contradicts) doxygen-DX_CURRENT_FEATURE])
98
- ])
99
-
100
- # DX_CLEAR_DEPEND(FEATURE, REQUIRED_FEATURE, REQUIRED_STATE)
101
- # ----------------------------------------------------------
102
- # Turn off the DX_CURRENT_FEATURE if the required feature is off.
103
- AC_DEFUN([DX_CLEAR_DEPEND], [
104
- test "$DX_FLAG_$1" = "$2" || AC_SUBST([DX_FLAG_]DX_CURRENT_FEATURE, 0)
105
- ])
106
-
107
- # DX_FEATURE_ARG(FEATURE, DESCRIPTION,
108
- # CHECK_DEPEND, CLEAR_DEPEND,
109
- # REQUIRE, DO-IF-ON, DO-IF-OFF)
110
- # --------------------------------------------
111
- # Parse the command-line option controlling a feature. CHECK_DEPEND is called
112
- # if the user explicitly turns the feature on (and invokes DX_CHECK_DEPEND),
113
- # otherwise CLEAR_DEPEND is called to turn off the default state if a required
114
- # feature is disabled (using DX_CLEAR_DEPEND). REQUIRE performs additional
115
- # requirement tests (DX_REQUIRE_PROG). Finally, an automake flag is set and
116
- # DO-IF-ON or DO-IF-OFF are called according to the final state of the feature.
117
- AC_DEFUN([DX_ARG_ABLE], [
118
- AC_DEFUN([DX_CURRENT_FEATURE], [$1])
119
- AC_DEFUN([DX_CURRENT_DESCRIPTION], [$2])
120
- AC_ARG_ENABLE(doxygen-$1,
121
- [AC_HELP_STRING(DX_IF_FEATURE([$1], [--disable-doxygen-$1],
122
- [--enable-doxygen-$1]),
123
- DX_IF_FEATURE([$1], [don't $2], [$2]))],
124
- [
125
- case "$enableval" in
126
- #(
127
- y|Y|yes|Yes|YES)
128
- AC_SUBST([DX_FLAG_$1], 1)
129
- $3
130
- ;; #(
131
- n|N|no|No|NO)
132
- AC_SUBST([DX_FLAG_$1], 0)
133
- ;; #(
134
- *)
135
- AC_MSG_ERROR([invalid value '$enableval' given to doxygen-$1])
136
- ;;
137
- esac
138
- ], [
139
- AC_SUBST([DX_FLAG_$1], [DX_IF_FEATURE([$1], 1, 0)])
140
- $4
141
- ])
142
- if DX_TEST_FEATURE([$1]); then
143
- $5
144
- :
145
- fi
146
- if DX_TEST_FEATURE([$1]); then
147
- AM_CONDITIONAL(DX_COND_$1, :)
148
- $6
149
- :
150
- else
151
- AM_CONDITIONAL(DX_COND_$1, false)
152
- $7
153
- :
154
- fi
155
- ])
156
-
157
- ## -------------- ##
158
- ## Public macros. ##
159
- ## -------------- ##
160
-
161
- # DX_XXX_FEATURE(DEFAULT_STATE)
162
- # -----------------------------
163
- AC_DEFUN([DX_DOXYGEN_FEATURE], [AC_DEFUN([DX_FEATURE_doc], [$1])])
164
- AC_DEFUN([DX_MAN_FEATURE], [AC_DEFUN([DX_FEATURE_man], [$1])])
165
- AC_DEFUN([DX_HTML_FEATURE], [AC_DEFUN([DX_FEATURE_html], [$1])])
166
- AC_DEFUN([DX_CHM_FEATURE], [AC_DEFUN([DX_FEATURE_chm], [$1])])
167
- AC_DEFUN([DX_CHI_FEATURE], [AC_DEFUN([DX_FEATURE_chi], [$1])])
168
- AC_DEFUN([DX_RTF_FEATURE], [AC_DEFUN([DX_FEATURE_rtf], [$1])])
169
- AC_DEFUN([DX_XML_FEATURE], [AC_DEFUN([DX_FEATURE_xml], [$1])])
170
- AC_DEFUN([DX_XML_FEATURE], [AC_DEFUN([DX_FEATURE_xml], [$1])])
171
- AC_DEFUN([DX_PDF_FEATURE], [AC_DEFUN([DX_FEATURE_pdf], [$1])])
172
- AC_DEFUN([DX_PS_FEATURE], [AC_DEFUN([DX_FEATURE_ps], [$1])])
173
-
174
- # DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR])
175
- # ---------------------------------------------------------
176
- # PROJECT also serves as the base name for the documentation files.
177
- # The default CONFIG-FILE is "Doxyfile" and OUTPUT-DOC-DIR is "doxygen-doc".
178
- AC_DEFUN([DX_INIT_DOXYGEN], [
179
-
180
- # Files:
181
- AC_SUBST([DX_PROJECT], [$1])
182
- AC_SUBST([DX_CONFIG], [ifelse([$2], [], Doxyfile, [$2])])
183
- AC_SUBST([DX_DOCDIR], [ifelse([$3], [], doxygen-doc, [$3])])
184
-
185
- # Environment variables used inside doxygen.cfg:
186
- DX_ENV_APPEND(SRCDIR, $srcdir)
187
- DX_ENV_APPEND(PROJECT, $DX_PROJECT)
188
- DX_ENV_APPEND(DOCDIR, $DX_DOCDIR)
189
- DX_ENV_APPEND(VERSION, $PACKAGE_VERSION)
190
-
191
- # Doxygen itself:
192
- DX_ARG_ABLE(doc, [generate any doxygen documentation],
193
- [],
194
- [],
195
- [DX_REQUIRE_PROG([DX_DOXYGEN], doxygen)
196
- DX_REQUIRE_PROG([DX_PERL], perl)],
197
- [DX_ENV_APPEND(PERL_PATH, $DX_PERL)])
198
-
199
- # Dot for graphics:
200
- DX_ARG_ABLE(dot, [generate graphics for doxygen documentation],
201
- [DX_CHECK_DEPEND(doc, 1)],
202
- [DX_CLEAR_DEPEND(doc, 1)],
203
- [DX_REQUIRE_PROG([DX_DOT], dot)],
204
- [DX_ENV_APPEND(HAVE_DOT, YES)
205
- DX_ENV_APPEND(DOT_PATH, [`DX_DIRNAME_EXPR($DX_DOT)`])],
206
- [DX_ENV_APPEND(HAVE_DOT, NO)])
207
-
208
- # Man pages generation:
209
- DX_ARG_ABLE(man, [generate doxygen manual pages],
210
- [DX_CHECK_DEPEND(doc, 1)],
211
- [DX_CLEAR_DEPEND(doc, 1)],
212
- [],
213
- [DX_ENV_APPEND(GENERATE_MAN, YES)],
214
- [DX_ENV_APPEND(GENERATE_MAN, NO)])
215
-
216
- # RTF file generation:
217
- DX_ARG_ABLE(rtf, [generate doxygen RTF documentation],
218
- [DX_CHECK_DEPEND(doc, 1)],
219
- [DX_CLEAR_DEPEND(doc, 1)],
220
- [],
221
- [DX_ENV_APPEND(GENERATE_RTF, YES)],
222
- [DX_ENV_APPEND(GENERATE_RTF, NO)])
223
-
224
- # XML file generation:
225
- DX_ARG_ABLE(xml, [generate doxygen XML documentation],
226
- [DX_CHECK_DEPEND(doc, 1)],
227
- [DX_CLEAR_DEPEND(doc, 1)],
228
- [],
229
- [DX_ENV_APPEND(GENERATE_XML, YES)],
230
- [DX_ENV_APPEND(GENERATE_XML, NO)])
231
-
232
- # (Compressed) HTML help generation:
233
- DX_ARG_ABLE(chm, [generate doxygen compressed HTML help documentation],
234
- [DX_CHECK_DEPEND(doc, 1)],
235
- [DX_CLEAR_DEPEND(doc, 1)],
236
- [DX_REQUIRE_PROG([DX_HHC], hhc)],
237
- [DX_ENV_APPEND(HHC_PATH, $DX_HHC)
238
- DX_ENV_APPEND(GENERATE_HTML, YES)
239
- DX_ENV_APPEND(GENERATE_HTMLHELP, YES)],
240
- [DX_ENV_APPEND(GENERATE_HTMLHELP, NO)])
241
-
242
- # Seperate CHI file generation.
243
- DX_ARG_ABLE(chi, [generate doxygen seperate compressed HTML help index file],
244
- [DX_CHECK_DEPEND(chm, 1)],
245
- [DX_CLEAR_DEPEND(chm, 1)],
246
- [],
247
- [DX_ENV_APPEND(GENERATE_CHI, YES)],
248
- [DX_ENV_APPEND(GENERATE_CHI, NO)])
249
-
250
- # Plain HTML pages generation:
251
- DX_ARG_ABLE(html, [generate doxygen plain HTML documentation],
252
- [DX_CHECK_DEPEND(doc, 1) DX_CHECK_DEPEND(chm, 0)],
253
- [DX_CLEAR_DEPEND(doc, 1) DX_CLEAR_DEPEND(chm, 0)],
254
- [],
255
- [DX_ENV_APPEND(GENERATE_HTML, YES)],
256
- [DX_TEST_FEATURE(chm) || DX_ENV_APPEND(GENERATE_HTML, NO)])
257
-
258
- # PostScript file generation:
259
- DX_ARG_ABLE(ps, [generate doxygen PostScript documentation],
260
- [DX_CHECK_DEPEND(doc, 1)],
261
- [DX_CLEAR_DEPEND(doc, 1)],
262
- [DX_REQUIRE_PROG([DX_LATEX], latex)
263
- DX_REQUIRE_PROG([DX_MAKEINDEX], makeindex)
264
- DX_REQUIRE_PROG([DX_DVIPS], dvips)
265
- DX_REQUIRE_PROG([DX_EGREP], egrep)])
266
-
267
- # PDF file generation:
268
- DX_ARG_ABLE(pdf, [generate doxygen PDF documentation],
269
- [DX_CHECK_DEPEND(doc, 1)],
270
- [DX_CLEAR_DEPEND(doc, 1)],
271
- [DX_REQUIRE_PROG([DX_PDFLATEX], pdflatex)
272
- DX_REQUIRE_PROG([DX_MAKEINDEX], makeindex)
273
- DX_REQUIRE_PROG([DX_EGREP], egrep)])
274
-
275
- # LaTeX generation for PS and/or PDF:
276
- if DX_TEST_FEATURE(ps) || DX_TEST_FEATURE(pdf); then
277
- AM_CONDITIONAL(DX_COND_latex, :)
278
- DX_ENV_APPEND(GENERATE_LATEX, YES)
279
- else
280
- AM_CONDITIONAL(DX_COND_latex, false)
281
- DX_ENV_APPEND(GENERATE_LATEX, NO)
282
- fi
283
-
284
- # Paper size for PS and/or PDF:
285
- AC_ARG_VAR(DOXYGEN_PAPER_SIZE,
286
- [a4wide (default), a4, letter, legal or executive])
287
- case "$DOXYGEN_PAPER_SIZE" in
288
- #(
289
- "")
290
- AC_SUBST(DOXYGEN_PAPER_SIZE, "")
291
- ;; #(
292
- a4wide|a4|letter|legal|executive)
293
- DX_ENV_APPEND(PAPER_SIZE, $DOXYGEN_PAPER_SIZE)
294
- ;; #(
295
- *)
296
- AC_MSG_ERROR([unknown DOXYGEN_PAPER_SIZE='$DOXYGEN_PAPER_SIZE'])
297
- ;;
298
- esac
299
-
300
- #For debugging:
301
- #echo DX_FLAG_doc=$DX_FLAG_doc
302
- #echo DX_FLAG_dot=$DX_FLAG_dot
303
- #echo DX_FLAG_man=$DX_FLAG_man
304
- #echo DX_FLAG_html=$DX_FLAG_html
305
- #echo DX_FLAG_chm=$DX_FLAG_chm
306
- #echo DX_FLAG_chi=$DX_FLAG_chi
307
- #echo DX_FLAG_rtf=$DX_FLAG_rtf
308
- #echo DX_FLAG_xml=$DX_FLAG_xml
309
- #echo DX_FLAG_pdf=$DX_FLAG_pdf
310
- #echo DX_FLAG_ps=$DX_FLAG_ps
311
- #echo DX_ENV=$DX_ENV
312
- ])
313
-
314
- dnl vi:ft=config
data/doxygen.am DELETED
@@ -1,186 +0,0 @@
1
- # Copyright (C) 2004 Oren Ben-Kiki
2
- # This file is distributed under the same terms as the Automake macro files.
3
-
4
- # Generate automatic documentation using Doxygen. Goals and variables values
5
- # are controlled by the various DX_COND_??? conditionals set by autoconf.
6
- #
7
- # The provided goals are:
8
- # doxygen-doc: Generate all doxygen documentation.
9
- # doxygen-run: Run doxygen, which will generate some of the documentation
10
- # (HTML, CHM, CHI, MAN, RTF, XML) but will not do the post
11
- # processing required for the rest of it (PS, PDF, and some MAN).
12
- # doxygen-man: Rename some doxygen generated man pages.
13
- # doxygen-ps: Generate doxygen PostScript documentation.
14
- # doxygen-pdf: Generate doxygen PDF documentation.
15
- #
16
- # Note that by default these are not integrated into the automake goals. If
17
- # doxygen is used to generate man pages, you can achieve this integration by
18
- # setting man3_MANS to the list of man pages generated and then adding the
19
- # dependency:
20
- #
21
- # $(man3_MANS): doxygen-doc
22
- #
23
- # This will cause make to run doxygen and generate all the documentation.
24
- #
25
- # The following variable is intended for use in Makefile.am:
26
- #
27
- # DX_CLEANFILES = everything to clean.
28
- #
29
- # This is usually added to MOSTLYCLEANFILES.
30
-
31
- ## --------------------------------- ##
32
- ## Format-independent Doxygen rules. ##
33
- ## --------------------------------- ##
34
-
35
- if DX_COND_doc
36
-
37
- ## ------------------------------- ##
38
- ## Rules specific for HTML output. ##
39
- ## ------------------------------- ##
40
-
41
- if DX_COND_html
42
-
43
- DX_CLEAN_HTML = @DX_DOCDIR@/html
44
-
45
- endif DX_COND_html
46
-
47
- ## ------------------------------ ##
48
- ## Rules specific for CHM output. ##
49
- ## ------------------------------ ##
50
-
51
- if DX_COND_chm
52
-
53
- DX_CLEAN_CHM = @DX_DOCDIR@/chm
54
-
55
- if DX_COND_chi
56
-
57
- DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi
58
-
59
- endif DX_COND_chi
60
-
61
- endif DX_COND_chm
62
-
63
- ## ------------------------------ ##
64
- ## Rules specific for MAN output. ##
65
- ## ------------------------------ ##
66
-
67
- if DX_COND_man
68
-
69
- DX_CLEAN_MAN = @DX_DOCDIR@/man
70
-
71
- endif DX_COND_man
72
-
73
- ## ------------------------------ ##
74
- ## Rules specific for RTF output. ##
75
- ## ------------------------------ ##
76
-
77
- if DX_COND_rtf
78
-
79
- DX_CLEAN_RTF = @DX_DOCDIR@/rtf
80
-
81
- endif DX_COND_rtf
82
-
83
- ## ------------------------------ ##
84
- ## Rules specific for XML output. ##
85
- ## ------------------------------ ##
86
-
87
- if DX_COND_xml
88
-
89
- DX_CLEAN_XML = @DX_DOCDIR@/xml
90
-
91
- endif DX_COND_xml
92
-
93
- ## ----------------------------- ##
94
- ## Rules specific for PS output. ##
95
- ## ----------------------------- ##
96
-
97
- if DX_COND_ps
98
-
99
- DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps
100
-
101
- DX_PS_GOAL = doxygen-ps
102
-
103
- doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps
104
-
105
- @DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag $(DX_EXTRA_DEPEND)
106
- cd @DX_DOCDIR@/latex; \
107
- rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
108
- $(DX_LATEX) refman.tex; \
109
- $(MAKEINDEX_PATH) refman.idx; \
110
- $(DX_LATEX) refman.tex; \
111
- countdown=5; \
112
- while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
113
- refman.log > /dev/null 2>&1 \
114
- && test $$countdown -gt 0; do \
115
- $(DX_LATEX) refman.tex; \
116
- countdown=`expr $$countdown - 1`; \
117
- done; \
118
- $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi
119
-
120
- endif DX_COND_ps
121
-
122
- ## ------------------------------ ##
123
- ## Rules specific for PDF output. ##
124
- ## ------------------------------ ##
125
-
126
- if DX_COND_pdf
127
-
128
- DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf
129
-
130
- DX_PDF_GOAL = doxygen-pdf
131
-
132
- doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf
133
-
134
- @DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag $(DX_EXTRA_DEPEND)
135
- cd @DX_DOCDIR@/latex; \
136
- rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
137
- $(DX_PDFLATEX) refman.tex; \
138
- $(DX_MAKEINDEX) refman.idx; \
139
- $(DX_PDFLATEX) refman.tex; \
140
- countdown=5; \
141
- while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
142
- refman.log > /dev/null 2>&1 \
143
- && test $$countdown -gt 0; do \
144
- $(DX_PDFLATEX) refman.tex; \
145
- countdown=`expr $$countdown - 1`; \
146
- done; \
147
- mv refman.pdf ../@PACKAGE@.pdf
148
-
149
- endif DX_COND_pdf
150
-
151
- ## ------------------------------------------------- ##
152
- ## Rules specific for LaTeX (shared for PS and PDF). ##
153
- ## ------------------------------------------------- ##
154
-
155
- if DX_COND_latex
156
-
157
- DX_CLEAN_LATEX = @DX_DOCDIR@/latex
158
-
159
- endif DX_COND_latex
160
-
161
- .PHONY: doxygen-run doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)
162
-
163
- .INTERMEDIATE: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
164
-
165
- doxygen-run: @DX_DOCDIR@/@PACKAGE@.tag
166
-
167
- doxygen-doc: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
168
-
169
- @DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS) $(DX_EXTRA_DEPEND)
170
- rm -rf @DX_DOCDIR@
171
- $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)
172
-
173
- DX_CLEANFILES = \
174
- @DX_DOCDIR@/@PACKAGE@.tag \
175
- -r \
176
- $(DX_CLEAN_HTML) \
177
- $(DX_CLEAN_CHM) \
178
- $(DX_CLEAN_CHI) \
179
- $(DX_CLEAN_MAN) \
180
- $(DX_CLEAN_RTF) \
181
- $(DX_CLEAN_XML) \
182
- $(DX_CLEAN_PS) \
183
- $(DX_CLEAN_PDF) \
184
- $(DX_CLEAN_LATEX)
185
-
186
- endif DX_COND_doc