rtaglib 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +1 -0
- data/Rakefile +4 -5
- data/ext/tagfile/tagfile.c +0 -3
- data/ext/taglib/extconf.rb +12 -3
- data/ext/taglib/taglib.cxx +78 -57
- data/lib/TagLib.rb +3 -1
- data/lib/TagLib_doc.rb +1337 -1329
- data/swig/Doxyfile +303 -0
- data/swig/Rakefile +14 -3
- data/swig/extconf.rb +12 -3
- data/swig/make_doc.rb +20 -10
- data/swig/process_cxx.rb +20 -9
- data/swig/taglib.i +23 -1
- data/swig/test.rb +31 -23
- data/test/test_taglib.rb +31 -23
- metadata +4 -3
data/swig/Doxyfile
ADDED
@@ -0,0 +1,303 @@
|
|
1
|
+
# Doxyfile 1.5.6
|
2
|
+
|
3
|
+
#---------------------------------------------------------------------------
|
4
|
+
# Project related configuration options
|
5
|
+
#---------------------------------------------------------------------------
|
6
|
+
DOXYFILE_ENCODING = UTF-8
|
7
|
+
PROJECT_NAME = Doxygen_TagLib_Rdoc
|
8
|
+
PROJECT_NUMBER =
|
9
|
+
OUTPUT_DIRECTORY = doxygen
|
10
|
+
CREATE_SUBDIRS = NO
|
11
|
+
OUTPUT_LANGUAGE = English
|
12
|
+
BRIEF_MEMBER_DESC = YES
|
13
|
+
REPEAT_BRIEF = YES
|
14
|
+
ABBREVIATE_BRIEF = "The $name class" \
|
15
|
+
"The $name widget" \
|
16
|
+
"The $name file" \
|
17
|
+
is \
|
18
|
+
provides \
|
19
|
+
specifies \
|
20
|
+
contains \
|
21
|
+
represents \
|
22
|
+
a \
|
23
|
+
an \
|
24
|
+
the
|
25
|
+
ALWAYS_DETAILED_SEC = NO
|
26
|
+
INLINE_INHERITED_MEMB = NO
|
27
|
+
FULL_PATH_NAMES = YES
|
28
|
+
STRIP_FROM_PATH = /home/cdx/dev/rtaglib/trunk/swig/
|
29
|
+
STRIP_FROM_INC_PATH =
|
30
|
+
SHORT_NAMES = NO
|
31
|
+
JAVADOC_AUTOBRIEF = NO
|
32
|
+
QT_AUTOBRIEF = NO
|
33
|
+
MULTILINE_CPP_IS_BRIEF = NO
|
34
|
+
INHERIT_DOCS = YES
|
35
|
+
SEPARATE_MEMBER_PAGES = NO
|
36
|
+
TAB_SIZE = 8
|
37
|
+
ALIASES =
|
38
|
+
OPTIMIZE_OUTPUT_FOR_C = NO
|
39
|
+
OPTIMIZE_OUTPUT_JAVA = NO
|
40
|
+
OPTIMIZE_FOR_FORTRAN = NO
|
41
|
+
OPTIMIZE_OUTPUT_VHDL = NO
|
42
|
+
BUILTIN_STL_SUPPORT = NO
|
43
|
+
CPP_CLI_SUPPORT = NO
|
44
|
+
SIP_SUPPORT = NO
|
45
|
+
IDL_PROPERTY_SUPPORT = YES
|
46
|
+
DISTRIBUTE_GROUP_DOC = NO
|
47
|
+
SUBGROUPING = YES
|
48
|
+
TYPEDEF_HIDES_STRUCT = NO
|
49
|
+
#---------------------------------------------------------------------------
|
50
|
+
# Build related configuration options
|
51
|
+
#---------------------------------------------------------------------------
|
52
|
+
EXTRACT_ALL = NO
|
53
|
+
EXTRACT_PRIVATE = NO
|
54
|
+
EXTRACT_STATIC = NO
|
55
|
+
EXTRACT_LOCAL_CLASSES = YES
|
56
|
+
EXTRACT_LOCAL_METHODS = NO
|
57
|
+
EXTRACT_ANON_NSPACES = NO
|
58
|
+
HIDE_UNDOC_MEMBERS = YES
|
59
|
+
HIDE_UNDOC_CLASSES = YES
|
60
|
+
HIDE_FRIEND_COMPOUNDS = NO
|
61
|
+
HIDE_IN_BODY_DOCS = NO
|
62
|
+
INTERNAL_DOCS = NO
|
63
|
+
CASE_SENSE_NAMES = YES
|
64
|
+
HIDE_SCOPE_NAMES = NO
|
65
|
+
SHOW_INCLUDE_FILES = YES
|
66
|
+
INLINE_INFO = YES
|
67
|
+
SORT_MEMBER_DOCS = YES
|
68
|
+
SORT_BRIEF_DOCS = NO
|
69
|
+
SORT_GROUP_NAMES = NO
|
70
|
+
SORT_BY_SCOPE_NAME = NO
|
71
|
+
GENERATE_TODOLIST = YES
|
72
|
+
GENERATE_TESTLIST = YES
|
73
|
+
GENERATE_BUGLIST = YES
|
74
|
+
GENERATE_DEPRECATEDLIST= YES
|
75
|
+
ENABLED_SECTIONS =
|
76
|
+
MAX_INITIALIZER_LINES = 30
|
77
|
+
SHOW_USED_FILES = YES
|
78
|
+
SHOW_DIRECTORIES = NO
|
79
|
+
SHOW_FILES = YES
|
80
|
+
SHOW_NAMESPACES = YES
|
81
|
+
FILE_VERSION_FILTER =
|
82
|
+
#---------------------------------------------------------------------------
|
83
|
+
# configuration options related to warning and progress messages
|
84
|
+
#---------------------------------------------------------------------------
|
85
|
+
QUIET = NO
|
86
|
+
WARNINGS = YES
|
87
|
+
WARN_IF_UNDOCUMENTED = YES
|
88
|
+
WARN_IF_DOC_ERROR = YES
|
89
|
+
WARN_NO_PARAMDOC = NO
|
90
|
+
WARN_FORMAT = "$file:$line: $text"
|
91
|
+
WARN_LOGFILE =
|
92
|
+
#---------------------------------------------------------------------------
|
93
|
+
# configuration options related to the input files
|
94
|
+
#---------------------------------------------------------------------------
|
95
|
+
INPUT = /usr/include/taglib /mingw/include/taglib
|
96
|
+
INPUT_ENCODING = UTF-8
|
97
|
+
FILE_PATTERNS = *.c \
|
98
|
+
*.cc \
|
99
|
+
*.cxx \
|
100
|
+
*.cpp \
|
101
|
+
*.c++ \
|
102
|
+
*.d \
|
103
|
+
*.java \
|
104
|
+
*.ii \
|
105
|
+
*.ixx \
|
106
|
+
*.ipp \
|
107
|
+
*.i++ \
|
108
|
+
*.inl \
|
109
|
+
*.h \
|
110
|
+
*.hh \
|
111
|
+
*.hxx \
|
112
|
+
*.hpp \
|
113
|
+
*.h++ \
|
114
|
+
*.idl \
|
115
|
+
*.odl \
|
116
|
+
*.cs \
|
117
|
+
*.php \
|
118
|
+
*.php3 \
|
119
|
+
*.inc \
|
120
|
+
*.m \
|
121
|
+
*.mm \
|
122
|
+
*.dox \
|
123
|
+
*.py \
|
124
|
+
*.f90 \
|
125
|
+
*.f \
|
126
|
+
*.vhd \
|
127
|
+
*.vhdl \
|
128
|
+
*.C \
|
129
|
+
*.CC \
|
130
|
+
*.C++ \
|
131
|
+
*.II \
|
132
|
+
*.I++ \
|
133
|
+
*.H \
|
134
|
+
*.HH \
|
135
|
+
*.H++ \
|
136
|
+
*.CS \
|
137
|
+
*.PHP \
|
138
|
+
*.PHP3 \
|
139
|
+
*.M \
|
140
|
+
*.MM \
|
141
|
+
*.PY \
|
142
|
+
*.F90 \
|
143
|
+
*.F \
|
144
|
+
*.VHD \
|
145
|
+
*.VHDL
|
146
|
+
RECURSIVE = NO
|
147
|
+
EXCLUDE =
|
148
|
+
EXCLUDE_SYMLINKS = NO
|
149
|
+
EXCLUDE_PATTERNS =
|
150
|
+
EXCLUDE_SYMBOLS =
|
151
|
+
EXAMPLE_PATH =
|
152
|
+
EXAMPLE_PATTERNS = *
|
153
|
+
EXAMPLE_RECURSIVE = NO
|
154
|
+
IMAGE_PATH =
|
155
|
+
INPUT_FILTER =
|
156
|
+
FILTER_PATTERNS =
|
157
|
+
FILTER_SOURCE_FILES = NO
|
158
|
+
#---------------------------------------------------------------------------
|
159
|
+
# configuration options related to source browsing
|
160
|
+
#---------------------------------------------------------------------------
|
161
|
+
SOURCE_BROWSER = NO
|
162
|
+
INLINE_SOURCES = NO
|
163
|
+
STRIP_CODE_COMMENTS = YES
|
164
|
+
REFERENCED_BY_RELATION = NO
|
165
|
+
REFERENCES_RELATION = NO
|
166
|
+
REFERENCES_LINK_SOURCE = YES
|
167
|
+
USE_HTAGS = NO
|
168
|
+
VERBATIM_HEADERS = NO
|
169
|
+
#---------------------------------------------------------------------------
|
170
|
+
# configuration options related to the alphabetical class index
|
171
|
+
#---------------------------------------------------------------------------
|
172
|
+
ALPHABETICAL_INDEX = NO
|
173
|
+
COLS_IN_ALPHA_INDEX = 5
|
174
|
+
IGNORE_PREFIX =
|
175
|
+
#---------------------------------------------------------------------------
|
176
|
+
# configuration options related to the HTML output
|
177
|
+
#---------------------------------------------------------------------------
|
178
|
+
GENERATE_HTML = NO
|
179
|
+
HTML_OUTPUT = html
|
180
|
+
HTML_FILE_EXTENSION = .html
|
181
|
+
HTML_HEADER =
|
182
|
+
HTML_FOOTER =
|
183
|
+
HTML_STYLESHEET =
|
184
|
+
HTML_ALIGN_MEMBERS = YES
|
185
|
+
GENERATE_HTMLHELP = NO
|
186
|
+
GENERATE_DOCSET = NO
|
187
|
+
DOCSET_FEEDNAME = "Doxygen generated docs"
|
188
|
+
DOCSET_BUNDLE_ID = org.doxygen.Project
|
189
|
+
HTML_DYNAMIC_SECTIONS = NO
|
190
|
+
CHM_FILE =
|
191
|
+
HHC_LOCATION =
|
192
|
+
GENERATE_CHI = NO
|
193
|
+
CHM_INDEX_ENCODING =
|
194
|
+
BINARY_TOC = NO
|
195
|
+
TOC_EXPAND = NO
|
196
|
+
DISABLE_INDEX = NO
|
197
|
+
ENUM_VALUES_PER_LINE = 4
|
198
|
+
GENERATE_TREEVIEW = NONE
|
199
|
+
TREEVIEW_WIDTH = 250
|
200
|
+
FORMULA_FONTSIZE = 10
|
201
|
+
#---------------------------------------------------------------------------
|
202
|
+
# configuration options related to the LaTeX output
|
203
|
+
#---------------------------------------------------------------------------
|
204
|
+
GENERATE_LATEX = NO
|
205
|
+
LATEX_OUTPUT = latex
|
206
|
+
LATEX_CMD_NAME = latex
|
207
|
+
MAKEINDEX_CMD_NAME = makeindex
|
208
|
+
COMPACT_LATEX = NO
|
209
|
+
PAPER_TYPE = a4wide
|
210
|
+
EXTRA_PACKAGES =
|
211
|
+
LATEX_HEADER =
|
212
|
+
PDF_HYPERLINKS = YES
|
213
|
+
USE_PDFLATEX = YES
|
214
|
+
LATEX_BATCHMODE = NO
|
215
|
+
LATEX_HIDE_INDICES = NO
|
216
|
+
#---------------------------------------------------------------------------
|
217
|
+
# configuration options related to the RTF output
|
218
|
+
#---------------------------------------------------------------------------
|
219
|
+
GENERATE_RTF = NO
|
220
|
+
RTF_OUTPUT = rtf
|
221
|
+
COMPACT_RTF = NO
|
222
|
+
RTF_HYPERLINKS = NO
|
223
|
+
RTF_STYLESHEET_FILE =
|
224
|
+
RTF_EXTENSIONS_FILE =
|
225
|
+
#---------------------------------------------------------------------------
|
226
|
+
# configuration options related to the man page output
|
227
|
+
#---------------------------------------------------------------------------
|
228
|
+
GENERATE_MAN = NO
|
229
|
+
MAN_OUTPUT = man
|
230
|
+
MAN_EXTENSION = .3
|
231
|
+
MAN_LINKS = NO
|
232
|
+
#---------------------------------------------------------------------------
|
233
|
+
# configuration options related to the XML output
|
234
|
+
#---------------------------------------------------------------------------
|
235
|
+
GENERATE_XML = YES
|
236
|
+
XML_OUTPUT = xml
|
237
|
+
XML_SCHEMA =
|
238
|
+
XML_DTD =
|
239
|
+
XML_PROGRAMLISTING = YES
|
240
|
+
#---------------------------------------------------------------------------
|
241
|
+
# configuration options for the AutoGen Definitions output
|
242
|
+
#---------------------------------------------------------------------------
|
243
|
+
GENERATE_AUTOGEN_DEF = NO
|
244
|
+
#---------------------------------------------------------------------------
|
245
|
+
# configuration options related to the Perl module output
|
246
|
+
#---------------------------------------------------------------------------
|
247
|
+
GENERATE_PERLMOD = NO
|
248
|
+
PERLMOD_LATEX = NO
|
249
|
+
PERLMOD_PRETTY = YES
|
250
|
+
PERLMOD_MAKEVAR_PREFIX =
|
251
|
+
#---------------------------------------------------------------------------
|
252
|
+
# Configuration options related to the preprocessor
|
253
|
+
#---------------------------------------------------------------------------
|
254
|
+
ENABLE_PREPROCESSING = YES
|
255
|
+
MACRO_EXPANSION = NO
|
256
|
+
EXPAND_ONLY_PREDEF = NO
|
257
|
+
SEARCH_INCLUDES = YES
|
258
|
+
INCLUDE_PATH =
|
259
|
+
INCLUDE_FILE_PATTERNS =
|
260
|
+
PREDEFINED =
|
261
|
+
EXPAND_AS_DEFINED =
|
262
|
+
SKIP_FUNCTION_MACROS = YES
|
263
|
+
#---------------------------------------------------------------------------
|
264
|
+
# Configuration::additions related to external references
|
265
|
+
#---------------------------------------------------------------------------
|
266
|
+
TAGFILES =
|
267
|
+
GENERATE_TAGFILE =
|
268
|
+
ALLEXTERNALS = NO
|
269
|
+
EXTERNAL_GROUPS = YES
|
270
|
+
PERL_PATH = /usr/bin/perl
|
271
|
+
#---------------------------------------------------------------------------
|
272
|
+
# Configuration options related to the dot tool
|
273
|
+
#---------------------------------------------------------------------------
|
274
|
+
CLASS_DIAGRAMS = NO
|
275
|
+
MSCGEN_PATH =
|
276
|
+
HIDE_UNDOC_RELATIONS = YES
|
277
|
+
HAVE_DOT = YES
|
278
|
+
DOT_FONTNAME = FreeSans
|
279
|
+
DOT_FONTPATH =
|
280
|
+
CLASS_GRAPH = YES
|
281
|
+
COLLABORATION_GRAPH = YES
|
282
|
+
GROUP_GRAPHS = YES
|
283
|
+
UML_LOOK = NO
|
284
|
+
TEMPLATE_RELATIONS = NO
|
285
|
+
INCLUDE_GRAPH = YES
|
286
|
+
INCLUDED_BY_GRAPH = YES
|
287
|
+
CALL_GRAPH = NO
|
288
|
+
CALLER_GRAPH = NO
|
289
|
+
GRAPHICAL_HIERARCHY = YES
|
290
|
+
DIRECTORY_GRAPH = YES
|
291
|
+
DOT_IMAGE_FORMAT = png
|
292
|
+
DOT_PATH =
|
293
|
+
DOTFILE_DIRS =
|
294
|
+
DOT_GRAPH_MAX_NODES = 50
|
295
|
+
MAX_DOT_GRAPH_DEPTH = 1000
|
296
|
+
DOT_TRANSPARENT = YES
|
297
|
+
DOT_MULTI_TARGETS = NO
|
298
|
+
GENERATE_LEGEND = YES
|
299
|
+
DOT_CLEANUP = YES
|
300
|
+
#---------------------------------------------------------------------------
|
301
|
+
# Configuration::additions related to the search engine
|
302
|
+
#---------------------------------------------------------------------------
|
303
|
+
SEARCHENGINE = NO
|
data/swig/Rakefile
CHANGED
@@ -13,10 +13,14 @@ task :docs => ["TagLib_doc.rb"] do |t|
|
|
13
13
|
system %(rdoc -f html TagLib_doc.rb)
|
14
14
|
end
|
15
15
|
|
16
|
-
file "
|
16
|
+
file "Doxyfile" do |t|
|
17
|
+
system %("touch Doxyfile")
|
18
|
+
end
|
19
|
+
|
20
|
+
file "TagLib_doc.rb" => ["make_doc.rb","TagLib.so","doxygen"] do |t|
|
17
21
|
system %(ruby make_doc.rb)
|
18
22
|
end
|
19
|
-
file "
|
23
|
+
file "doxygen" => ["Doxyfile"] do |t|
|
20
24
|
system %(doxygen)
|
21
25
|
end
|
22
26
|
task :test => ["TagLib.so"] do |t|
|
@@ -40,10 +44,17 @@ file "taglib.cxx" => ["taglib.i", "process_cxx.rb"] do |t|
|
|
40
44
|
if
|
41
45
|
!system %(swig -fvirtual -Wall -c++ -o pre_taglib -ruby taglib.i)
|
42
46
|
system %(rm *.o *.so *.cxx)
|
47
|
+
exit 1
|
43
48
|
end
|
44
49
|
system %(ruby process_cxx.rb)
|
45
50
|
end
|
46
51
|
|
47
|
-
task :clean
|
52
|
+
task :clean do |t|
|
48
53
|
system %(rm *.o *.so *.cxx *~ Makefile)
|
49
54
|
end
|
55
|
+
|
56
|
+
task :test_taglib => ["test_taglib.cxx"] do |t|
|
57
|
+
system %(gcc -c test_taglib.cxx)
|
58
|
+
system %(gcc -o test_taglib test_taglib.o -ltag)
|
59
|
+
system %(./test_taglib)
|
60
|
+
end
|
data/swig/extconf.rb
CHANGED
@@ -1,6 +1,15 @@
|
|
1
1
|
require 'mkmf'
|
2
|
-
|
3
|
-
|
4
|
-
|
2
|
+
if(PLATFORM=~/mingw/)
|
3
|
+
puts "Building for MinGW"
|
4
|
+
$libs = append_library($libs, "stdc++")
|
5
|
+
$CFLAGS= " -I/mingw/include/taglib"
|
6
|
+
|
7
|
+
else
|
8
|
+
puts "Building for other architecture"
|
9
|
+
$CFLAGS= " -I/usr/include/taglib"
|
10
|
+
|
11
|
+
end
|
12
|
+
$libs = append_library($libs, "supc++")
|
13
|
+
if have_header("taglib/taglib_export.h") and have_library("tag")
|
5
14
|
create_makefile("TagLib")
|
6
15
|
end
|
data/swig/make_doc.rb
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
#!/usr/bin/ruby
|
2
2
|
#### Make docs
|
3
3
|
require 'rexml/document'
|
4
|
-
df=Object.methods
|
5
|
-
|
6
4
|
require 'TagLib'
|
7
|
-
|
5
|
+
require 'rbconfig'
|
8
6
|
|
9
7
|
def data_method(fm)
|
10
8
|
if !fm.nil?
|
@@ -49,7 +47,6 @@ def get_doxygen_description(xml_file)
|
|
49
47
|
out+="\n # \n"
|
50
48
|
# functions
|
51
49
|
xml.elements.each("/doxygen/compounddef/sectiondef[@kind='public-func']/memberdef[@kind='function']") {|func|
|
52
|
-
|
53
50
|
name=func.elements["name"].text
|
54
51
|
brief=func.elements["briefdescription"].to_s.gsub(/<.+?>/,"")
|
55
52
|
long=func.elements["detaileddescription"].to_s.gsub(/<.+?>/,"")
|
@@ -65,12 +62,21 @@ def get_doxygen_description(xml_file)
|
|
65
62
|
}
|
66
63
|
funcs[name]={:param=>param,:brief_desc=>brief,:long_desc=>long}
|
67
64
|
}
|
65
|
+
else
|
66
|
+
puts "Can't find #{xml_file}"
|
68
67
|
end
|
69
68
|
{:object=>out,:functions=>funcs}
|
70
69
|
end
|
70
|
+
def name_xml_file(klass)
|
71
|
+
klass_name=klass.to_s.gsub(":","_1")
|
72
|
+
if(Config::CONFIG['host']=~/mingw/i)
|
73
|
+
# klass_name.gsub!(/[A-Z]/) {|t| "_"+t.downcase}
|
74
|
+
end
|
75
|
+
klass_name
|
76
|
+
end
|
71
77
|
def print_class(klass,indent)
|
72
78
|
out=""
|
73
|
-
xml_file="
|
79
|
+
xml_file=BASE_DOCS+"/xml/class"+name_xml_file(klass)+".xml"
|
74
80
|
dd=get_doxygen_description(xml_file)
|
75
81
|
out+=dd[:object]
|
76
82
|
#p dd[:functions]
|
@@ -84,7 +90,7 @@ def print_class(klass,indent)
|
|
84
90
|
end
|
85
91
|
def print_module(mod,indent)
|
86
92
|
out=""
|
87
|
-
xml_file="
|
93
|
+
xml_file=BASE_DOCS+"/xml/namespace"+name_xml_file(mod)+".xml"
|
88
94
|
dd=get_doxygen_description(xml_file)
|
89
95
|
out+=dd[:object]
|
90
96
|
out+=indent+"module #{mod}\n"
|
@@ -114,7 +120,11 @@ def print_constant(obj,con,indent)
|
|
114
120
|
end
|
115
121
|
out
|
116
122
|
end
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
123
|
+
|
124
|
+
BASE_DOCS="doxygen"
|
125
|
+
File.open("TagLib_doc.rb","wb") {|fo|
|
126
|
+
df=Object.methods
|
127
|
+
out=""
|
128
|
+
out=print_constant(ObjectSpace,"TagLib","")
|
129
|
+
fo.puts out
|
130
|
+
}
|
data/swig/process_cxx.rb
CHANGED
@@ -15,18 +15,29 @@ File.open(file,"r") {|f| f.each_line {|l|
|
|
15
15
|
clase_padre=$4
|
16
16
|
ruta=$2.split("_")
|
17
17
|
if(ruta.size>1)
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
18
|
+
mod="mTagLib"+ruta[0,ruta.size-1].join
|
19
|
+
clas=ruta[ruta.size-1]
|
20
|
+
if clase_padre.nil?
|
21
|
+
linea=sprintf("%s = rb_define_class_under(%s, \"%s\", rb_cObject);",clase,mod,clas)
|
22
|
+
else
|
23
|
+
linea=<<HERE
|
24
24
|
#{clase} = rb_define_class_under(#{mod}, "#{clas}", ((swig_class *) #{clase_padre}->clientdata)->klass);
|
25
25
|
HERE
|
26
|
-
|
26
|
+
end
|
27
|
+
#p linea
|
28
|
+
fo.puts(linea)
|
29
|
+
else
|
30
|
+
fo.puts l
|
27
31
|
end
|
28
|
-
|
29
|
-
|
32
|
+
elsif l=~/\s+rb_define_module_function\((.+?), "(.+?)", VALUEFUNC\((.+)\), -1\);/
|
33
|
+
bass_mod=$1
|
34
|
+
method=$2
|
35
|
+
c_func=$3
|
36
|
+
path=method.split("_")
|
37
|
+
if(path.size>1)
|
38
|
+
mod="mTagLib"+path[0,path.size-1].join
|
39
|
+
new_method=path[path.size-1]
|
40
|
+
fo.puts("rb_define_module_function(#{mod},\"#{new_method}\", VALUEFUNC(#{c_func}),-1);\n");
|
30
41
|
else
|
31
42
|
fo.puts l
|
32
43
|
end
|