libxml-ruby 0.5.4 → 0.6.0

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 (139) hide show
  1. data/LICENSE +23 -23
  2. data/README +144 -144
  3. data/ext/libxml/extconf.rb +26 -27
  4. data/ext/libxml/libxml.c +7 -37
  5. data/ext/libxml/{libxml.h → ruby_libxml.h} +93 -98
  6. data/ext/libxml/ruby_xml_attr.c +405 -387
  7. data/ext/libxml/ruby_xml_attr.h +19 -18
  8. data/ext/libxml/ruby_xml_document.c +1111 -1115
  9. data/ext/libxml/ruby_xml_document.h +27 -24
  10. data/ext/libxml/ruby_xml_dtd.c +168 -168
  11. data/ext/libxml/ruby_xml_html_parser.c +449 -450
  12. data/ext/libxml/ruby_xml_html_parser.h +1 -1
  13. data/ext/libxml/ruby_xml_input_cbg.c +158 -158
  14. data/ext/libxml/ruby_xml_node.c +2410 -2395
  15. data/ext/libxml/ruby_xml_node.h +1 -1
  16. data/ext/libxml/ruby_xml_node_set.c +170 -170
  17. data/ext/libxml/ruby_xml_node_set.h +1 -1
  18. data/ext/libxml/ruby_xml_ns.c +153 -153
  19. data/ext/libxml/ruby_xml_ns.h +1 -1
  20. data/ext/libxml/ruby_xml_parser.c +1425 -1422
  21. data/ext/libxml/ruby_xml_parser.h +1 -1
  22. data/ext/libxml/ruby_xml_parser_context.c +750 -716
  23. data/ext/libxml/ruby_xml_parser_context.h +1 -1
  24. data/ext/libxml/ruby_xml_reader.c +900 -896
  25. data/ext/libxml/ruby_xml_sax_parser.c +485 -485
  26. data/ext/libxml/ruby_xml_sax_parser.h +1 -1
  27. data/ext/libxml/ruby_xml_schema.c +146 -142
  28. data/ext/libxml/ruby_xml_state.c +5 -6
  29. data/ext/libxml/ruby_xml_state.h +1 -0
  30. data/ext/libxml/ruby_xml_tree.c +43 -43
  31. data/ext/libxml/ruby_xml_tree.h +1 -1
  32. data/ext/libxml/ruby_xml_xinclude.c +20 -20
  33. data/ext/libxml/ruby_xml_xinclude.h +1 -1
  34. data/ext/libxml/ruby_xml_xpath.c +243 -252
  35. data/ext/libxml/ruby_xml_xpath.h +1 -1
  36. data/ext/libxml/ruby_xml_xpath_context.c +118 -118
  37. data/ext/libxml/ruby_xml_xpath_context.h +1 -1
  38. data/ext/libxml/ruby_xml_xpath_object.c +43 -29
  39. data/ext/libxml/ruby_xml_xpath_object.h +0 -1
  40. data/ext/libxml/ruby_xml_xpointer.c +100 -100
  41. data/ext/libxml/ruby_xml_xpointer.h +1 -1
  42. data/ext/libxml/ruby_xml_xpointer_context.c +21 -21
  43. data/ext/libxml/ruby_xml_xpointer_context.h +1 -1
  44. data/ext/libxml/sax_parser_callbacks.inc +213 -213
  45. data/ext/libxml/version.h +9 -9
  46. data/lib/libxml.rb +24 -3
  47. data/mingw/libiconv-2.dll +0 -0
  48. data/mingw/libxml2-2.dll +0 -0
  49. data/mingw/libxml_ruby.so +0 -0
  50. data/mingw/mingw.rake +36 -0
  51. data/test/dtd-test.rb +24 -24
  52. data/test/etc_doc_to_s.rb +1 -3
  53. data/test/ets_copy_bug.rb +21 -21
  54. data/test/ets_copy_bug2.rb +32 -32
  55. data/test/ets_copy_bug3.rb +38 -0
  56. data/test/ets_doc_file.rb +1 -0
  57. data/test/{model/default_validation_bug.rb → gc.log} +0 -0
  58. data/test/merge_bug.rb +55 -55
  59. data/test/schema-test.rb +74 -74
  60. data/test/tc_well_formed.rb +11 -0
  61. data/test/tc_xml_document.rb +52 -52
  62. data/test/tc_xml_document_write.rb +24 -24
  63. data/test/tc_xml_document_write2.rb +54 -54
  64. data/test/tc_xml_document_write3.rb +96 -96
  65. data/test/tc_xml_html_parser.rb +63 -63
  66. data/test/tc_xml_node.rb +59 -59
  67. data/test/tc_xml_node2.rb +25 -25
  68. data/test/tc_xml_node3.rb +27 -27
  69. data/test/tc_xml_node4.rb +86 -86
  70. data/test/tc_xml_node5.rb +52 -52
  71. data/test/tc_xml_node6.rb +27 -27
  72. data/test/tc_xml_node7.rb +35 -35
  73. data/test/tc_xml_node8.rb +32 -32
  74. data/test/tc_xml_node9.rb +32 -32
  75. data/test/tc_xml_node_set.rb +24 -24
  76. data/test/tc_xml_node_set2.rb +37 -37
  77. data/test/tc_xml_node_xlink.rb +28 -28
  78. data/test/tc_xml_parser.rb +190 -178
  79. data/test/tc_xml_parser2.rb +16 -17
  80. data/test/tc_xml_parser3.rb +23 -23
  81. data/test/tc_xml_parser4.rb +33 -33
  82. data/test/tc_xml_parser5.rb +27 -27
  83. data/test/tc_xml_parser6.rb +23 -23
  84. data/test/tc_xml_parser7.rb +28 -28
  85. data/test/tc_xml_parser8.rb +32 -32
  86. data/test/tc_xml_parser9.rb +11 -0
  87. data/test/tc_xml_parser_context.rb +88 -88
  88. data/test/tc_xml_reader.rb +112 -109
  89. data/test/tc_xml_sax_parser.rb +104 -94
  90. data/test/tc_xml_sax_parser2.rb +51 -0
  91. data/test/tc_xml_xinclude.rb +30 -30
  92. data/test/tc_xml_xpath.rb +38 -38
  93. data/test/tc_xml_xpath2.rb +14 -0
  94. data/test/tc_xml_xpointer.rb +78 -78
  95. data/vc/libxml.sln +20 -0
  96. data/vc/libxml.vcproj +389 -0
  97. data/work/Rakefile +247 -0
  98. data/work/task/make +26 -0
  99. data/work/task/memory +37 -0
  100. data/work/task/rdoc +39 -0
  101. data/work/task/setup +1616 -0
  102. data/work/task/test +29 -0
  103. data/work/test/ets_runner.rb +33 -0
  104. data/work/test/libxml_test.rb +3 -0
  105. data/work/test/runner.rb +0 -0
  106. data/work/test/runner_ets.rb +33 -0
  107. data/work/vc/debug/libxml.exp +0 -0
  108. data/work/vc/debug/libxml.ilk +0 -0
  109. data/work/vc/debug/libxml.lib +0 -0
  110. data/work/vc/debug/libxml.pdb +0 -0
  111. data/work/vc/debug/libxml.so +0 -0
  112. metadata +158 -189
  113. data/MANIFEST +0 -138
  114. data/NOTES +0 -9
  115. data/Rakefile +0 -38
  116. data/TODO +0 -75
  117. data/VERSION +0 -1
  118. data/log/Changelog-0.txt +0 -426
  119. data/log/Changelog.txt +0 -435
  120. data/meta/project.yaml +0 -27
  121. data/meta/unixname +0 -1
  122. data/setup.rb +0 -1472
  123. data/site/css/normal.css +0 -182
  124. data/site/img/raze-tiny.png +0 -0
  125. data/site/img/red-cube.jpg +0 -0
  126. data/site/img/xml-ruby.png +0 -0
  127. data/site/index.xml +0 -43
  128. data/site/install.xml +0 -77
  129. data/site/layout.rhtml +0 -38
  130. data/site/layout.xsl +0 -67
  131. data/site/license.xml +0 -32
  132. data/site/log/changelog.xml +0 -1324
  133. data/site/log/changelog.xsl +0 -42
  134. data/test/model/merge_bug_data.xml +0 -58
  135. data/test/model/rubynet.xml +0 -78
  136. data/test/model/rubynet_project +0 -13
  137. data/test/model/saxtest.xml +0 -5
  138. data/test/model/simple.xml +0 -7
  139. data/test/model/xinclude.xml +0 -5
data/LICENSE CHANGED
@@ -1,23 +1,23 @@
1
- LibXML-Ruby
2
-
3
- Copyright (c) 2002-2006 Sean Chittenden <sean@chittenden.org> and contributors
4
- Copyright (c) 2001 Wai-Sun "Squidster" Chia <waisun.chia@compaq.com>
5
-
6
- Permission is hereby granted, free of charge, to any person obtaining a copy of
7
- this software and associated documentation files (the "Software"), to deal in
8
- the Software without restriction, including without limitation the rights to
9
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
10
- of the Software, and to permit persons to whom the Software is furnished to do
11
- so, subject to the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be included in all
14
- copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- SOFTWARE.
23
-
1
+ LibXML-Ruby
2
+
3
+ Copyright (c) 2002-2006 Sean Chittenden <sean@chittenden.org> and contributors
4
+ Copyright (c) 2001 Wai-Sun "Squidster" Chia <waisun.chia@compaq.com>
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
7
+ this software and associated documentation files (the "Software"), to deal in
8
+ the Software without restriction, including without limitation the rights to
9
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
10
+ of the Software, and to permit persons to whom the Software is furnished to do
11
+ so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
23
+
data/README CHANGED
@@ -1,144 +1,144 @@
1
- == INSTALLATION
2
-
3
- Installation is simple. Follow the following steps:
4
-
5
- === Rubygems
6
-
7
- gem install libxml-ruby
8
-
9
- === Tarball/zip
10
-
11
- $ rake test
12
- $ rake install
13
-
14
- If extconf yacks up an error, follow the instructions it provides.
15
- You will need to chdir to ext/xml and run 'ruby extconf.rb' to provide
16
- options, after which you can either use Rake for everything or
17
- do with make (make && make install).
18
-
19
- Once installed, look at the test scripts (tests/*.rb), and run
20
- 'rake doc' to generate API documentation.
21
- You can find the latest documentation at:
22
-
23
- * http://libxml.rubyforge.org/doc
24
-
25
- == DEPENDENCIES
26
-
27
- libxml requires a few other libraries to be installed inorder to
28
- function properly.
29
-
30
- * libm (math routines: very standard)
31
- * libz (zlib)
32
- * libiconv
33
- * libxml2
34
-
35
- == USAGE
36
-
37
- Basic usage for reading and writing documents.
38
-
39
- === WRITING
40
-
41
- Writing a simple document:
42
-
43
- # require 'rubygems' # if installed via Gems
44
- require 'xml/libxml'
45
-
46
- doc = XML::Document.new()
47
- doc.root = XML::Node.new('root_node')
48
- root = doc.root
49
-
50
- root << elem1 = XML::Node.new('elem1')
51
- elem1['attr1'] = 'val1'
52
- elem1['attr2'] = 'val2'
53
-
54
- root << elem2 = XML::Node.new('elem2')
55
- elem2['attr1'] = 'val1'
56
- elem2['attr2'] = 'val2'
57
-
58
- root << elem3 = XML::Node.new('elem3')
59
- elem3 << elem4 = XML::Node.new('elem4')
60
- elem3 << elem5 = XML::Node.new('elem5')
61
-
62
- elem5 << elem6 = XML::Node.new('elem6')
63
- elem6 << 'Content for element 6'
64
-
65
- elem3['attr'] = 'baz'
66
-
67
- # Namespace hack to reduce the numer of times XML:: is typed
68
- include XML
69
- root << elem7 = Node.new('foo')
70
- 1.upto(10) do |i|
71
- elem7 << n = Node.new('bar')
72
- n << i
73
- end
74
-
75
- format = true
76
- doc.save('output.xml', format)
77
-
78
- The file output.xml contains:
79
-
80
- <?xml version="1.0"?>
81
- <root_node>
82
- <elem1 attr1="val1" attr2="val2"/>
83
- <elem2 attr1="val1" attr2="val2"/>
84
- <elem3 attr="baz">
85
- <elem4/>
86
- <elem5>
87
- <elem6>Content for element 6</elem6>
88
- </elem5>
89
- </elem3>
90
- <foo>
91
- <bar>1</bar>
92
- <bar>2</bar>
93
- <bar>3</bar>
94
- <bar>4</bar>
95
- <bar>5</bar>
96
- <bar>6</bar>
97
- <bar>7</bar>
98
- <bar>8</bar>
99
- <bar>9</bar>
100
- <bar>10</bar>
101
- </foo>
102
- </root_node>
103
-
104
- === READING
105
-
106
- Reading XML is slightly more complex and there are many more ways to
107
- perform this operation. This reads in and processes the above
108
- generated XML document, output.xml. This script assumes that the
109
- structure of the document is already known.
110
-
111
- # require 'rubygems' # if installed via Gems
112
- require 'xml/libxml'
113
- doc = XML::Document.file('output.xml')
114
- root = doc.root
115
-
116
- puts "Root element name: #{root.name}"
117
-
118
- elem3 = root.find('elem3').to_a.first
119
- puts "Elem3: #{elem3['attr']}"
120
-
121
- doc.find('//root_node/foo/bar').each do |node|
122
- puts "Node path: #{node.path} \t Contents: #{node.content}"
123
- end
124
-
125
- And your terminal should look like:
126
-
127
- Root element name: root_node
128
- Elem3: baz
129
- Node path: /root_node/foo/bar[1] Contents: 1
130
- Node path: /root_node/foo/bar[2] Contents: 2
131
- Node path: /root_node/foo/bar[3] Contents: 3
132
- Node path: /root_node/foo/bar[4] Contents: 4
133
- Node path: /root_node/foo/bar[5] Contents: 5
134
- Node path: /root_node/foo/bar[6] Contents: 6
135
- Node path: /root_node/foo/bar[7] Contents: 7
136
- Node path: /root_node/foo/bar[8] Contents: 8
137
- Node path: /root_node/foo/bar[9] Contents: 9
138
- Node path: /root_node/foo/bar[10] Contents: 10
139
-
140
- == MORE INFORMATION
141
-
142
- If you have any questions, please send email to libxml-devel@rubyforge.org.
143
-
144
- # $Id: README 143 2007-08-29 21:45:48Z transami $
1
+ == INSTALLATION
2
+
3
+ Installation is simple. Follow the following steps:
4
+
5
+ === Rubygems
6
+
7
+ gem install libxml-ruby
8
+
9
+ === Tarball/zip
10
+
11
+ $ rake test
12
+ $ rake install
13
+
14
+ If extconf yacks up an error, follow the instructions it provides.
15
+ You will need to chdir to ext/xml and run 'ruby extconf.rb' to provide
16
+ options, after which you can either use Rake for everything or
17
+ do with make (make && make install).
18
+
19
+ Once installed, look at the test scripts (tests/*.rb), and run
20
+ 'rake doc' to generate API documentation.
21
+ You can find the latest documentation at:
22
+
23
+ * http://libxml.rubyforge.org/doc
24
+
25
+ == DEPENDENCIES
26
+
27
+ libxml requires a few other libraries to be installed inorder to
28
+ function properly.
29
+
30
+ * libm (math routines: very standard)
31
+ * libz (zlib)
32
+ * libiconv
33
+ * libxml2
34
+
35
+ == USAGE
36
+
37
+ Basic usage for reading and writing documents.
38
+
39
+ === WRITING
40
+
41
+ Writing a simple document:
42
+
43
+ # require 'rubygems' # if installed via Gems
44
+ require 'xml/libxml'
45
+
46
+ doc = XML::Document.new()
47
+ doc.root = XML::Node.new('root_node')
48
+ root = doc.root
49
+
50
+ root << elem1 = XML::Node.new('elem1')
51
+ elem1['attr1'] = 'val1'
52
+ elem1['attr2'] = 'val2'
53
+
54
+ root << elem2 = XML::Node.new('elem2')
55
+ elem2['attr1'] = 'val1'
56
+ elem2['attr2'] = 'val2'
57
+
58
+ root << elem3 = XML::Node.new('elem3')
59
+ elem3 << elem4 = XML::Node.new('elem4')
60
+ elem3 << elem5 = XML::Node.new('elem5')
61
+
62
+ elem5 << elem6 = XML::Node.new('elem6')
63
+ elem6 << 'Content for element 6'
64
+
65
+ elem3['attr'] = 'baz'
66
+
67
+ # Namespace hack to reduce the numer of times XML:: is typed
68
+ include XML
69
+ root << elem7 = Node.new('foo')
70
+ 1.upto(10) do |i|
71
+ elem7 << n = Node.new('bar')
72
+ n << i
73
+ end
74
+
75
+ format = true
76
+ doc.save('output.xml', format)
77
+
78
+ The file output.xml contains:
79
+
80
+ <?xml version="1.0"?>
81
+ <root_node>
82
+ <elem1 attr1="val1" attr2="val2"/>
83
+ <elem2 attr1="val1" attr2="val2"/>
84
+ <elem3 attr="baz">
85
+ <elem4/>
86
+ <elem5>
87
+ <elem6>Content for element 6</elem6>
88
+ </elem5>
89
+ </elem3>
90
+ <foo>
91
+ <bar>1</bar>
92
+ <bar>2</bar>
93
+ <bar>3</bar>
94
+ <bar>4</bar>
95
+ <bar>5</bar>
96
+ <bar>6</bar>
97
+ <bar>7</bar>
98
+ <bar>8</bar>
99
+ <bar>9</bar>
100
+ <bar>10</bar>
101
+ </foo>
102
+ </root_node>
103
+
104
+ === READING
105
+
106
+ Reading XML is slightly more complex and there are many more ways to
107
+ perform this operation. This reads in and processes the above
108
+ generated XML document, output.xml. This script assumes that the
109
+ structure of the document is already known.
110
+
111
+ # require 'rubygems' # if installed via Gems
112
+ require 'xml/libxml'
113
+ doc = XML::Document.file('output.xml')
114
+ root = doc.root
115
+
116
+ puts "Root element name: #{root.name}"
117
+
118
+ elem3 = root.find('elem3').to_a.first
119
+ puts "Elem3: #{elem3['attr']}"
120
+
121
+ doc.find('//root_node/foo/bar').each do |node|
122
+ puts "Node path: #{node.path} \t Contents: #{node.content}"
123
+ end
124
+
125
+ And your terminal should look like:
126
+
127
+ Root element name: root_node
128
+ Elem3: baz
129
+ Node path: /root_node/foo/bar[1] Contents: 1
130
+ Node path: /root_node/foo/bar[2] Contents: 2
131
+ Node path: /root_node/foo/bar[3] Contents: 3
132
+ Node path: /root_node/foo/bar[4] Contents: 4
133
+ Node path: /root_node/foo/bar[5] Contents: 5
134
+ Node path: /root_node/foo/bar[6] Contents: 6
135
+ Node path: /root_node/foo/bar[7] Contents: 7
136
+ Node path: /root_node/foo/bar[8] Contents: 8
137
+ Node path: /root_node/foo/bar[9] Contents: 9
138
+ Node path: /root_node/foo/bar[10] Contents: 10
139
+
140
+ == MORE INFORMATION
141
+
142
+ If you have any questions, please send email to libxml-devel@rubyforge.org.
143
+
144
+ # $Id: README 143 2007-08-29 21:45:48Z transami $
@@ -6,6 +6,7 @@ def method_missing(s, *args)
6
6
  if v = Config::CONFIG[s] || Config::CONFIG[s.upcase]
7
7
  return v
8
8
  else
9
+ puts "missing: #{s}"
9
10
  super
10
11
  end
11
12
  end
@@ -18,7 +19,7 @@ if RUBY_PLATFORM =~ /win32/ # FIXME: Make more robust
18
19
  # built with VC++ while here we want to build
19
20
  # with MingW. So just roll our own...
20
21
 
21
- target = "libxml_so"
22
+ target = "libxml"
22
23
 
23
24
  #RUBY_INCLUDE_DIR = Config::CONFIG["archdir"]
24
25
  #RUBY_BIN_DIR = Config::CONFIG["bindir"]
@@ -31,12 +32,12 @@ if RUBY_PLATFORM =~ /win32/ # FIXME: Make more robust
31
32
 
32
33
  srcs = Dir['../ext/*.c']
33
34
 
34
- objs = src.collect do |srcfile|
35
+ objs = srcs.collect do |srcfile|
35
36
  srcfile = File.basename(srcfile)
36
37
  srcfile.chomp(File.extname(srcfile) + '.o')
37
38
  end
38
39
 
39
- #src.each do |srcfile|
40
+ #srcs.each do |srcfile|
40
41
  # srcfile = File.basename(srcfile)
41
42
  # objfile = srcfile.chomp(File.extname(srcfile) + '.o')
42
43
  #
@@ -109,11 +110,11 @@ else
109
110
  need libiconv.
110
111
 
111
112
  Install the libiconv or try passing one of the following options
112
- to extconf.rb:
113
+ to extconf.rb:
113
114
 
114
- --with-iconv-dir=/path/to/iconv
115
- --with-iconv-lib=/path/to/iconv/lib
116
- --with-iconv-include=/path/to/iconv/include
115
+ --with-iconv-dir=/path/to/iconv
116
+ --with-iconv-lib=/path/to/iconv/lib
117
+ --with-iconv-include=/path/to/iconv/include
117
118
  EOL
118
119
  end
119
120
 
@@ -122,7 +123,7 @@ EOL
122
123
  find_library('xml2', '/opt/lib', '/usr/local/lib', '/usr/lib')) and
123
124
  (have_header('libxml/xmlversion.h') or
124
125
  find_header('libxml/xmlversion.h',
125
- "#{CONFIG['prefix']}/include",
126
+ "#{CONFIG['prefix']}/include",
126
127
  '/opt/include/libxml2',
127
128
  '/usr/local/include/libxml2',
128
129
  '/usr/include/libxml2'))
@@ -149,9 +150,7 @@ EOL
149
150
  #$INSTALLFILES = [["libxml.rb", "$(RUBYLIBDIR)", "../xml"]]
150
151
 
151
152
  create_header()
152
- #create_makefile('xml/libxml_so')
153
- create_makefile('libxml_so')
154
-
153
+ create_makefile('libxml_ruby')
155
154
  end
156
155
 
157
156
  __END__
@@ -255,29 +254,29 @@ TARGET_SO = $(DLLIB)
255
254
  CLEANLIBS = $(TARGET).so $(TARGET).il? $(TARGET).tds $(TARGET).map
256
255
  CLEANOBJS = *.o *.a *.s[ol] *.pdb *.exp *.bak
257
256
 
258
- all: $(DLLIB)
259
- static: $(STATIC_LIB)
257
+ all: $(DLLIB)
258
+ static: $(STATIC_LIB)
260
259
 
261
260
  clean:
262
- @-$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES)
261
+ @-$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES)
263
262
 
264
- distclean: clean
265
- @-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
266
- @-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
263
+ distclean: clean
264
+ @-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
265
+ @-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
267
266
 
268
- realclean: distclean
267
+ realclean: distclean
269
268
  install: install-so install-rb
270
269
 
271
270
  install-so: $(RUBYARCHDIR)
272
271
  install-so: $(RUBYARCHDIR)/$(DLLIB)
273
272
  $(RUBYARCHDIR)/$(DLLIB): $(DLLIB)
274
- $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
273
+ $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
275
274
  install-rb: pre-install-rb install-rb-default
276
275
  install-rb-default: pre-install-rb-default
277
276
  pre-install-rb: Makefile
278
277
  pre-install-rb-default: Makefile
279
278
  $(RUBYARCHDIR):
280
- $(MAKEDIRS) $@
279
+ $(MAKEDIRS) $@
281
280
 
282
281
  site-install: site-install-so site-install-rb
283
282
  site-install-so: install-so
@@ -286,23 +285,23 @@ site-install-rb: install-rb
286
285
  .SUFFIXES: .c .m .cc .cxx .cpp .C .o
287
286
 
288
287
  .cc.o:
289
- $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
288
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
290
289
 
291
290
  .cxx.o:
292
- $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
291
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
293
292
 
294
293
  .cpp.o:
295
- $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
294
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
296
295
 
297
296
  .C.o:
298
- $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
297
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
299
298
 
300
299
  .c.o:
301
- $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) -c $<
300
+ $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) -c $<
302
301
 
303
302
  $(DLLIB): $(OBJS)
304
- @-$(RM) $@
305
- $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
303
+ @-$(RM) $@
304
+ $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
306
305
 
307
306
 
308
307
  $(OBJS): ruby.h defines.h $(RUBY_EXTCONF_H)
data/ext/libxml/libxml.c CHANGED
@@ -1,42 +1,8 @@
1
- /* $Id: libxml.c 225 2007-12-07 04:58:09Z transami $ */
1
+ /* $Id: libxml.c 300 2008-07-01 19:14:15Z cfis $ */
2
2
 
3
3
  /* Please see the LICENSE file for copyright and distribution information */
4
4
 
5
- #include "libxml.h"
6
-
7
- /* Ruby's util.h has ruby_strdup */
8
- #include "util.h"
9
-
10
- #ifdef xmlMalloc
11
- #undef xmlMalloc
12
- #endif
13
- #ifdef xmlRealloc
14
- #undef xmlRealloc
15
- #endif
16
- #ifdef xmlMemStrdup
17
- #undef xmlMemStrdup
18
- #endif
19
- #ifdef xmlMemFree
20
- #undef xmlMemFree
21
- #endif
22
-
23
- #ifdef RubyMemMalloc
24
- #undef RubyMemMalloc
25
- #endif
26
- #ifdef RubyMemRealloc
27
- #undef RubyMemRealloc
28
- #endif
29
- #ifdef RubyMemStrdup
30
- #undef RubyMemStrdup
31
- #endif
32
- #ifdef RubyMemFree
33
- #undef RubyMemFree
34
- #endif
35
-
36
- #define RubyMemFree ruby_xfree
37
- #define RubyMemRealloc ruby_xrealloc
38
- #define RubyMemMalloc ruby_xmalloc
39
- #define RubyMemStrdup ruby_strdup
5
+ #include "ruby_libxml.h"
40
6
 
41
7
  VALUE mXML;
42
8
  VALUE eXMLError;
@@ -46,8 +12,12 @@ static xmlMallocFunc mallocFunc = NULL;
46
12
  static xmlReallocFunc reallocFunc = NULL;
47
13
  static xmlStrdupFunc strdupFunc = NULL;
48
14
 
15
+ #if defined(_WIN32)
16
+ __declspec(dllexport)
17
+ #endif
18
+
49
19
  void
50
- Init_libxml_so(void) {
20
+ Init_libxml_ruby(void) {
51
21
  /* Some libxml memory goo that should be done before anything else */
52
22
  #ifdef NONE
53
23
  xmlMemGet((xmlFreeFunc *) & freeFunc,