rice2 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/COPYING +23 -0
- data/Doxyfile +2268 -0
- data/Makefile.am +26 -0
- data/Makefile.in +929 -0
- data/README.md +1054 -0
- data/README.mingw +8 -0
- data/Rakefile +24 -0
- data/aclocal.m4 +1090 -0
- data/bootstrap +8 -0
- data/config.guess +1667 -0
- data/config.sub +1793 -0
- data/configure +8209 -0
- data/configure.ac +55 -0
- data/depcomp +791 -0
- data/doxygen.ac +314 -0
- data/doxygen.am +186 -0
- data/extconf.rb +66 -0
- data/install-sh +529 -0
- data/missing +215 -0
- data/post-autoconf.rb +22 -0
- data/post-automake.rb +28 -0
- data/rice/Address_Registration_Guard.cpp +22 -0
- data/rice/Address_Registration_Guard.hpp +7 -0
- data/rice/Address_Registration_Guard.ipp +37 -0
- data/rice/Address_Registration_Guard_defn.hpp +75 -0
- data/rice/Arg.hpp +8 -0
- data/rice/Arg_impl.hpp +129 -0
- data/rice/Arg_operators.cpp +21 -0
- data/rice/Arg_operators.hpp +19 -0
- data/rice/Array.hpp +214 -0
- data/rice/Array.ipp +256 -0
- data/rice/Builtin_Object.hpp +8 -0
- data/rice/Builtin_Object.ipp +50 -0
- data/rice/Builtin_Object_defn.hpp +50 -0
- data/rice/Class.cpp +57 -0
- data/rice/Class.hpp +8 -0
- data/rice/Class.ipp +6 -0
- data/rice/Class_defn.hpp +83 -0
- data/rice/Constructor.hpp +47 -0
- data/rice/Data_Object.hpp +8 -0
- data/rice/Data_Object.ipp +133 -0
- data/rice/Data_Object_defn.hpp +138 -0
- data/rice/Data_Type.cpp +54 -0
- data/rice/Data_Type.hpp +8 -0
- data/rice/Data_Type.ipp +365 -0
- data/rice/Data_Type_defn.hpp +261 -0
- data/rice/Data_Type_fwd.hpp +12 -0
- data/rice/Director.cpp +13 -0
- data/rice/Director.hpp +39 -0
- data/rice/Enum.hpp +117 -0
- data/rice/Enum.ipp +246 -0
- data/rice/Exception.cpp +59 -0
- data/rice/Exception.hpp +13 -0
- data/rice/Exception_Base.hpp +8 -0
- data/rice/Exception_Base.ipp +13 -0
- data/rice/Exception_Base_defn.hpp +27 -0
- data/rice/Exception_defn.hpp +69 -0
- data/rice/Hash.hpp +227 -0
- data/rice/Hash.ipp +329 -0
- data/rice/Identifier.cpp +8 -0
- data/rice/Identifier.hpp +50 -0
- data/rice/Identifier.ipp +33 -0
- data/rice/Jump_Tag.hpp +24 -0
- data/rice/Makefile.am +122 -0
- data/rice/Makefile.in +885 -0
- data/rice/Module.cpp +84 -0
- data/rice/Module.hpp +8 -0
- data/rice/Module.ipp +6 -0
- data/rice/Module_defn.hpp +88 -0
- data/rice/Module_impl.hpp +281 -0
- data/rice/Module_impl.ipp +345 -0
- data/rice/Object.cpp +169 -0
- data/rice/Object.hpp +8 -0
- data/rice/Object.ipp +33 -0
- data/rice/Object_defn.hpp +214 -0
- data/rice/Require_Guard.hpp +21 -0
- data/rice/String.cpp +94 -0
- data/rice/String.hpp +91 -0
- data/rice/Struct.cpp +117 -0
- data/rice/Struct.hpp +162 -0
- data/rice/Struct.ipp +26 -0
- data/rice/Symbol.cpp +25 -0
- data/rice/Symbol.hpp +66 -0
- data/rice/Symbol.ipp +44 -0
- data/rice/config.hpp +47 -0
- data/rice/config.hpp.in +46 -0
- data/rice/detail/Arguments.hpp +118 -0
- data/rice/detail/Auto_Function_Wrapper.hpp +898 -0
- data/rice/detail/Auto_Function_Wrapper.ipp +3694 -0
- data/rice/detail/Auto_Member_Function_Wrapper.hpp +897 -0
- data/rice/detail/Auto_Member_Function_Wrapper.ipp +2774 -0
- data/rice/detail/Caster.hpp +103 -0
- data/rice/detail/Exception_Handler.hpp +8 -0
- data/rice/detail/Exception_Handler.ipp +68 -0
- data/rice/detail/Exception_Handler_defn.hpp +96 -0
- data/rice/detail/Iterator.hpp +93 -0
- data/rice/detail/Not_Copyable.hpp +25 -0
- data/rice/detail/Wrapped_Function.hpp +33 -0
- data/rice/detail/cfp.hpp +24 -0
- data/rice/detail/cfp.ipp +51 -0
- data/rice/detail/check_ruby_type.cpp +27 -0
- data/rice/detail/check_ruby_type.hpp +23 -0
- data/rice/detail/creation_funcs.hpp +37 -0
- data/rice/detail/creation_funcs.ipp +36 -0
- data/rice/detail/default_allocation_func.hpp +23 -0
- data/rice/detail/default_allocation_func.ipp +11 -0
- data/rice/detail/define_method_and_auto_wrap.hpp +31 -0
- data/rice/detail/define_method_and_auto_wrap.ipp +30 -0
- data/rice/detail/demangle.cpp +56 -0
- data/rice/detail/demangle.hpp +19 -0
- data/rice/detail/env.hpp +11 -0
- data/rice/detail/from_ruby.hpp +43 -0
- data/rice/detail/from_ruby.ipp +60 -0
- data/rice/detail/method_data.cpp +92 -0
- data/rice/detail/method_data.hpp +21 -0
- data/rice/detail/node.hpp +13 -0
- data/rice/detail/protect.cpp +29 -0
- data/rice/detail/protect.hpp +34 -0
- data/rice/detail/ruby.hpp +74 -0
- data/rice/detail/ruby_version_code.hpp +6 -0
- data/rice/detail/ruby_version_code.hpp.in +6 -0
- data/rice/detail/st.hpp +22 -0
- data/rice/detail/to_ruby.hpp +22 -0
- data/rice/detail/to_ruby.ipp +36 -0
- data/rice/detail/traits.hpp +43 -0
- data/rice/detail/win32.hpp +16 -0
- data/rice/detail/wrap_function.hpp +66 -0
- data/rice/global_function.hpp +33 -0
- data/rice/global_function.ipp +22 -0
- data/rice/protect.hpp +38 -0
- data/rice/protect.ipp +1134 -0
- data/rice/ruby_mark.hpp +13 -0
- data/rice/ruby_try_catch.hpp +86 -0
- data/rice/rubypp.rb +97 -0
- data/rice/to_from_ruby.hpp +8 -0
- data/rice/to_from_ruby.ipp +418 -0
- data/rice/to_from_ruby_defn.hpp +70 -0
- data/ruby.ac +135 -0
- data/ruby/Makefile.am +1 -0
- data/ruby/Makefile.in +628 -0
- data/ruby/lib/Makefile.am +3 -0
- data/ruby/lib/Makefile.in +506 -0
- data/ruby/lib/mkmf-rice.rb.in +217 -0
- data/ruby/lib/version.rb +3 -0
- data/sample/Makefile.am +47 -0
- data/sample/Makefile.in +489 -0
- data/sample/enum/extconf.rb +3 -0
- data/sample/enum/sample_enum.cpp +54 -0
- data/sample/enum/test.rb +8 -0
- data/sample/inheritance/animals.cpp +98 -0
- data/sample/inheritance/extconf.rb +3 -0
- data/sample/inheritance/test.rb +7 -0
- data/sample/map/extconf.rb +3 -0
- data/sample/map/map.cpp +81 -0
- data/sample/map/test.rb +7 -0
- data/test/Makefile.am +72 -0
- data/test/Makefile.in +1213 -0
- data/test/ext/Makefile.am +41 -0
- data/test/ext/Makefile.in +483 -0
- data/test/ext/t1/Foo.hpp +10 -0
- data/test/ext/t1/extconf.rb +2 -0
- data/test/ext/t1/t1.cpp +15 -0
- data/test/ext/t2/extconf.rb +2 -0
- data/test/ext/t2/t2.cpp +11 -0
- data/test/test_Address_Registration_Guard.cpp +43 -0
- data/test/test_Array.cpp +248 -0
- data/test/test_Builtin_Object.cpp +71 -0
- data/test/test_Class.cpp +496 -0
- data/test/test_Constructor.cpp +128 -0
- data/test/test_Data_Object.cpp +275 -0
- data/test/test_Data_Type.cpp +348 -0
- data/test/test_Director.cpp +308 -0
- data/test/test_Enum.cpp +215 -0
- data/test/test_Exception.cpp +47 -0
- data/test/test_Hash.cpp +212 -0
- data/test/test_Identifier.cpp +70 -0
- data/test/test_Jump_Tag.cpp +17 -0
- data/test/test_Memory_Management.cpp +50 -0
- data/test/test_Module.cpp +497 -0
- data/test/test_Object.cpp +159 -0
- data/test/test_String.cpp +107 -0
- data/test/test_Struct.cpp +205 -0
- data/test/test_Symbol.cpp +63 -0
- data/test/test_To_From_Ruby.cpp +428 -0
- data/test/test_global_functions.cpp +114 -0
- data/test/test_rice.rb +41 -0
- data/test/unittest.cpp +136 -0
- data/test/unittest.hpp +294 -0
- metadata +297 -0
data/doxygen.ac
ADDED
@@ -0,0 +1,314 @@
|
|
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
ADDED
@@ -0,0 +1,186 @@
|
|
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
|