mkrf 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +13 -0
- data/README +22 -15
- data/Rakefile +10 -1
- data/lib/mkrf/availability.rb +19 -15
- data/lib/mkrf/generator.rb +71 -50
- data/lib/mkrf.rb +1 -1
- data/test/{test_sample_projects.rb → integration/test_sample_projects.rb} +5 -5
- data/test/mkrf.log +1 -0
- data/test/sample_files/libtrivial/Rakefile +33 -0
- data/test/sample_files/libtrivial/libtrivial.bundle +0 -0
- data/test/sample_files/libtrivial/mkrf.log +2 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/Rakefile +33 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/cbg.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/libxml.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/libxml_so.bundle +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/mkrf.log +21 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_attr.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_attribute.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_document.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_dtd.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_input_cbg.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_node.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_node_set.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_ns.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_parser.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_parser_context.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_sax_parser.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_schema.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_tree.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xinclude.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpath.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpath_context.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpointer.o +0 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpointer_context.o +0 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/Rakefile +33 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/bytecode.o +0 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/emitter.o +0 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/extconf.rb +0 -1
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/gram.o +0 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/handler.o +0 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/implicit.o +0 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/mkrf.log +3 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/node.o +0 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/rubyext.o +0 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/syck.bundle +0 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/syck.o +0 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/token.o +0 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/yaml2byte.o +0 -0
- data/test/{test_availability.rb → unit/test_availability.rb} +25 -3
- data/test/{test_generator.rb → unit/test_generator.rb} +36 -2
- metadata +51 -7
data/CHANGELOG
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
= 0.1.2 10/4/06
|
2
|
+
* [CLEAN-UP] Removed useless add_source from Generator. We've got a constructor for that. [35]
|
3
|
+
* [FIXED] Generator.new defaults to sources in the local directory, so extconfs can (and should) be kept in the same directory as the extension files (PROJ_ROOT/ext) and won't clobber pre-existing Rakefiles. [35]
|
4
|
+
* [CLEAN-UP] Goodbye ugly method missing hack! [34]
|
5
|
+
* [NEW] Added objs to Generator. Access it as you might ldshared. -John G.
|
6
|
+
* [CLEAN-UP] Removed the redundant .so rule from the generated rakefile. -John G.
|
7
|
+
* [FIXED] Correct defaults in Availability. [29]
|
8
|
+
* [NEW] Using rubylibdir from rbconfig for library path. [29]
|
9
|
+
* [NEW] Availability options go straight to availability without generator modification. [29]
|
10
|
+
* [NEW] CFLAGS and LDSHARED now accessible through .cflags and .ldshared. [29]
|
11
|
+
* [FIXED] Can now modify Availability options from the Generator contructor. This may break some existing extconfs that use the .new('libname','file_pattern_a', 'file_pattern_b') syntax. File patterns now only belong as arg 2 and should be an array or a string.
|
12
|
+
* [FIXED] No indenting generated Rakefile code. [26]
|
13
|
+
|
1
14
|
= 0.1.1 8/17/06
|
2
15
|
* [NEW] Logging! [22]
|
3
16
|
* [NEW] Added a description to the extension building task [21]
|
data/README
CHANGED
@@ -1,37 +1,44 @@
|
|
1
1
|
= mkrf -- making C extensions for Ruby a bit easier
|
2
2
|
|
3
|
-
<tt>mkrf</tt> is intended to replace <tt>mkmf</tt
|
4
|
-
Makefiles to build C extensions to Ruby.
|
5
|
-
|
6
|
-
|
3
|
+
<tt>mkrf</tt> is intended to replace <tt>mkmf</tt> which is a library for building
|
4
|
+
Makefiles to build C extensions to Ruby. The major differences between the two is
|
5
|
+
that +mkrf+ builds you a Rakefile instead of a Makefile, and also that +mkrf+
|
6
|
+
provides an object-oriented interface.
|
7
|
+
|
8
|
+
Major goals of mkrf are
|
9
|
+
* easy code reuse of its <tt>Availability</tt> class and
|
10
|
+
* simple, well documented, use of the <tt>Generator</tt> class.
|
7
11
|
|
8
12
|
== Basic Usage
|
9
13
|
|
10
14
|
<tt>mkrf</tt> works similarly to <tt>mkmf</tt> in that a user writes an
|
11
|
-
extension configuration (usually <tt>extconf.rb</tt>) and then runs
|
12
|
-
generates a <tt>Rakefile</tt
|
15
|
+
extension configuration file (usually named <tt>extconf.rb</tt>) and then runs
|
16
|
+
it (<tt>ruby ./extconf.rb</tt>), which generates a <tt>Rakefile</tt> in the
|
17
|
+
current directory.
|
13
18
|
|
14
19
|
In general, <tt>extconf.rb</tt> should be placed in the root directory of the
|
15
|
-
extension
|
16
|
-
|
20
|
+
extension (ex. <tt>PROJECT_ROOT/ext/<i>name_of_module</i></tt>) and it expects,
|
21
|
+
by default, that files to be compiled have a <tt>.c</tt> extension and reside in
|
22
|
+
that same directory. If your project contains multiple extension modules, then
|
23
|
+
each one would get its own subdirectory under <tt>PROJECT_ROOT/ext/</tt> and
|
24
|
+
have its own <tt>extconf.rb</tt> file.
|
17
25
|
|
18
|
-
The most basic usage looks like
|
19
|
-
|
26
|
+
The most basic usage looks like the following, where the name of the extension
|
27
|
+
module being built is "libtrivial":
|
20
28
|
|
21
29
|
require 'mkrf'
|
22
30
|
Mkrf::Generator.new('libtrivial')
|
23
31
|
|
24
|
-
Extra arguments may be passed to the generator in a block:
|
32
|
+
Extra arguments may be passed to the Rakefile generator in a block:
|
25
33
|
|
26
|
-
Mkrf::Generator.new('libtrivial) do |g|
|
34
|
+
Mkrf::Generator.new('libtrivial') do |g|
|
27
35
|
g.logger.level = Logger::WARN
|
28
36
|
g.include_library('z')
|
29
37
|
end
|
30
38
|
|
31
|
-
|
32
|
-
extension convention, it may be overridden in the constructor:
|
39
|
+
Another example:
|
33
40
|
|
34
|
-
Mkrf::Generator.new('libxml'
|
41
|
+
Mkrf::Generator.new('libxml') do |g|
|
35
42
|
g.include_library('socket','socket')
|
36
43
|
g.include_header('libxml/xmlversion.h',
|
37
44
|
'/opt/include/libxml2',
|
data/Rakefile
CHANGED
@@ -24,7 +24,14 @@ namespace :test do
|
|
24
24
|
|
25
25
|
desc "Run basic tests"
|
26
26
|
Rake::TestTask.new("units") { |t|
|
27
|
-
t.pattern = 'test/test_*.rb'
|
27
|
+
t.pattern = 'test/unit/test_*.rb'
|
28
|
+
t.verbose = true
|
29
|
+
t.warning = true
|
30
|
+
}
|
31
|
+
|
32
|
+
desc "Run integration tests"
|
33
|
+
Rake::TestTask.new("integration") { |t|
|
34
|
+
t.pattern = 'test/integration/test_*.rb'
|
28
35
|
t.verbose = true
|
29
36
|
t.warning = true
|
30
37
|
}
|
@@ -99,6 +106,8 @@ spec = Gem::Specification.new do |s|
|
|
99
106
|
s.requirements << 'rake'
|
100
107
|
s.require_path = 'lib'
|
101
108
|
s.autorequire = 'mkrf'
|
109
|
+
|
110
|
+
s.extra_rdoc_files = [ "README", "MIT-LICENSE", "CHANGELOG" ]
|
102
111
|
|
103
112
|
s.files = [ "Rakefile", "README", "CHANGELOG", "MIT-LICENSE" ]
|
104
113
|
s.files = s.files + Dir.glob( "lib/**/*" ).delete_if { |item| item.include?( "\.svn" ) }
|
data/lib/mkrf/availability.rb
CHANGED
@@ -9,8 +9,9 @@ module Mkrf
|
|
9
9
|
# which need to determine functionality based on what libraries are available
|
10
10
|
# on the current system.
|
11
11
|
class Availability
|
12
|
-
|
13
|
-
|
12
|
+
DEFAULT_INCLUDES = [Config::CONFIG['includedir'], Config::CONFIG["archdir"],
|
13
|
+
Config::CONFIG['sitelibdir'], "."]
|
14
|
+
|
14
15
|
# These really shouldn't be static like this..
|
15
16
|
TEMP_SOURCE_FILE = "temp_source.c"
|
16
17
|
TEMP_EXECUTABLE = "temp_executable"
|
@@ -25,10 +26,12 @@ module Mkrf
|
|
25
26
|
# * <tt>:compiler</tt> -- which compiler to use when determining availability
|
26
27
|
# * <tt>:includes</tt> -- directories that should be searched for include files
|
27
28
|
def initialize(options = {})
|
28
|
-
|
29
|
-
@
|
30
|
-
|
31
|
-
@
|
29
|
+
|
30
|
+
@loaded_libs = (options[:loaded_libs] || Config::CONFIG["LIBS"].gsub('-l', '').split).to_a
|
31
|
+
# Not sure what COMMON_HEADERS looks like when populated
|
32
|
+
@headers = options[:headers] || [] # Config::CONFIG["COMMON_HEADERS"]
|
33
|
+
@compiler = options[:compiler] || Config::CONFIG["CC"]
|
34
|
+
@includes = (options[:includes] || DEFAULT_INCLUDES).to_a
|
32
35
|
@logger = Logger.new('mkrf.log')
|
33
36
|
end
|
34
37
|
|
@@ -104,13 +107,16 @@ module Mkrf
|
|
104
107
|
FileUtils.rm_f TEMP_EXECUTABLE
|
105
108
|
end
|
106
109
|
|
107
|
-
def
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
110
|
+
def with_headers(*args, &b)
|
111
|
+
with_stackable_attribute('headers', *args, &b)
|
112
|
+
end
|
113
|
+
|
114
|
+
def with_loaded_libs(*args, &b)
|
115
|
+
with_stackable_attribute('loaded_libs', *args, &b)
|
116
|
+
end
|
117
|
+
|
118
|
+
def with_includes(*args, &b)
|
119
|
+
with_stackable_attribute('includes', *args, &b)
|
114
120
|
end
|
115
121
|
|
116
122
|
# Returns a string of libraries formatted for compilation
|
@@ -176,8 +182,6 @@ module Mkrf
|
|
176
182
|
return false
|
177
183
|
end
|
178
184
|
|
179
|
-
STACKABLE_ATTRIBUTES = ['loaded_libs', 'headers', 'includes']
|
180
|
-
|
181
185
|
def with_stackable_attribute(attribute, *args)
|
182
186
|
args = args.to_a
|
183
187
|
instance_variable_set("@#{attribute}",
|
data/lib/mkrf/generator.rb
CHANGED
@@ -6,9 +6,15 @@ require 'rake/tasklib'
|
|
6
6
|
module Mkrf
|
7
7
|
|
8
8
|
# +Generator+ is concerned with taking configuration for an extension
|
9
|
-
# and writing a +Rakefile+ to the local filesystem
|
9
|
+
# and writing a +Rakefile+ to the local filesystem which will later be
|
10
|
+
# used to build the extension.
|
11
|
+
#
|
12
|
+
# You will typically only create one +Generator+ per <tt>extconf.rb</tt>
|
13
|
+
# file, which in turn will generate a Rakefile for building one extension
|
14
|
+
# module.
|
10
15
|
#
|
11
16
|
# = Usage
|
17
|
+
#
|
12
18
|
# In the most basic usage, +Generator+ simply takes the name of the library
|
13
19
|
# to compile:
|
14
20
|
#
|
@@ -18,7 +24,7 @@ module Mkrf
|
|
18
24
|
# Configuration of the build can be passed to the +Generator+ constructor
|
19
25
|
# as a block:
|
20
26
|
#
|
21
|
-
# Mkrf::Generator.new('libxml'
|
27
|
+
# Mkrf::Generator.new('libxml') do |g|
|
22
28
|
# g.include_library('socket','socket')
|
23
29
|
# g.include_header('libxml/xmlversion.h',
|
24
30
|
# '/opt/include/libxml2',
|
@@ -31,30 +37,46 @@ module Mkrf
|
|
31
37
|
|
32
38
|
CONFIG = Config::CONFIG
|
33
39
|
|
34
|
-
|
40
|
+
# Any extra code, given as a string, to be appended to the Rakefile.
|
41
|
+
attr_accessor :additional_code
|
42
|
+
|
43
|
+
# You may append to these attributes directly in your Generator.new block,
|
44
|
+
# for example: <tt>g.objects << ' ../common/foo.o ../common/bar.so -lmystuff'</tt> or
|
45
|
+
# <tt>g.cflags << ' -ansi -Wall'</tt>
|
46
|
+
#
|
47
|
+
# Note the extra space at the beginning of those strings.
|
48
|
+
attr_accessor :cflags
|
49
|
+
|
50
|
+
# +objects+ is for adding _additional_ object files to the link-edit command -- outside
|
51
|
+
# of the ones that correspond to the source files.
|
52
|
+
attr_accessor :objects
|
53
|
+
|
54
|
+
# Any additional options you'd like appended to your system-specific linker command
|
55
|
+
# (which is used to build the shared library).
|
56
|
+
attr_accessor :ldshared
|
57
|
+
|
58
|
+
|
35
59
|
|
36
|
-
# Create a
|
60
|
+
# Create a +Generator+ object which writes a Rakefile to the current directory of the local
|
37
61
|
# filesystem.
|
38
62
|
#
|
39
63
|
# Params:
|
40
64
|
# * +extension_name+ -- the name of the extension
|
41
|
-
# * +source_patterns+ --
|
42
|
-
def initialize(extension_name,
|
43
|
-
@sources =
|
65
|
+
# * +source_patterns+ -- an array of patterns describing source files to be compiled. ["*.c"] is the default.
|
66
|
+
def initialize(extension_name, source_patterns = ["*.c"], availability_options = {})
|
67
|
+
@sources = source_patterns
|
44
68
|
@extension_name = extension_name + ".#{CONFIG['DLEXT']}"
|
45
|
-
@available = Mkrf::Availability.new(
|
46
|
-
CONFIG['sitelibdir'], "."] )
|
69
|
+
@available = Mkrf::Availability.new(availability_options)
|
47
70
|
@defines = []
|
48
71
|
|
72
|
+
objects = ''
|
73
|
+
ldshared = CONFIG['LDSHARED']
|
74
|
+
cflags = "#{CONFIG['CCDLFLAGS']} #{CONFIG['CFLAGS']} #{CONFIG['ARCH_FLAG']}"
|
75
|
+
|
49
76
|
yield self if block_given?
|
50
77
|
write_rakefile
|
51
78
|
end
|
52
79
|
|
53
|
-
# Add a new pattern to the list of source patterns
|
54
|
-
def add_source(pattern)
|
55
|
-
@sources << pattern
|
56
|
-
end
|
57
|
-
|
58
80
|
# An array of the source patterns as single quoted strings
|
59
81
|
def sources
|
60
82
|
@sources.collect {|s| "'#{s}'"}
|
@@ -62,7 +84,7 @@ module Mkrf
|
|
62
84
|
|
63
85
|
# Add a define to the compile string. Example:
|
64
86
|
#
|
65
|
-
# Mkrf::Generator.new('my_library
|
87
|
+
# Mkrf::Generator.new('my_library') do |g|
|
66
88
|
# g.add_define(HAVE_PTHREADS)
|
67
89
|
# end
|
68
90
|
#
|
@@ -123,41 +145,40 @@ module Mkrf
|
|
123
145
|
|
124
146
|
def rakefile_contents # :nodoc:
|
125
147
|
<<-END_RAKEFILE
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
#{additional_code}
|
148
|
+
require 'rake/clean'
|
149
|
+
|
150
|
+
CLEAN.include('*.o')
|
151
|
+
CLOBBER.include('#{@extension_name}', 'mkrf.log')
|
152
|
+
|
153
|
+
SRC = FileList[#{sources.join(',')}]
|
154
|
+
OBJ = SRC.ext('o')
|
155
|
+
CC = "gcc"
|
156
|
+
|
157
|
+
ADDITIONAL_OBJECTS = '#{objects}'
|
158
|
+
|
159
|
+
LDSHARED = "#{CONFIG['LDSHARED']} #{ldshared}"
|
160
|
+
|
161
|
+
LIBPATH = '-L"#{CONFIG['rubylibdir']}"'
|
162
|
+
|
163
|
+
INCLUDES = "#{@available.includes_compile_string}"
|
164
|
+
|
165
|
+
LIBS = "#{@available.library_compile_string}"
|
166
|
+
|
167
|
+
CFLAGS = "#{cflags} #{defines_compile_string}"
|
168
|
+
|
169
|
+
task :default => ['#{@extension_name}']
|
170
|
+
|
171
|
+
rule '.o' => '.c' do |t|
|
172
|
+
sh "\#{CC} \#{CFLAGS} \#{INCLUDES} -c -o \#{t.name} \#{t.source}"
|
173
|
+
end
|
174
|
+
|
175
|
+
desc "Build this extension"
|
176
|
+
file '#{@extension_name}' => OBJ do
|
177
|
+
sh "\#{LDSHARED} \#{LIBPATH} -o #{@extension_name} \#{OBJ} \#{ADDITIONAL_OBJECTS} \#{LIBS}"
|
178
|
+
end
|
179
|
+
|
180
|
+
#{additional_code}
|
160
181
|
END_RAKEFILE
|
161
182
|
end
|
162
183
|
end
|
163
|
-
end
|
184
|
+
end
|
data/lib/mkrf.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
require File.dirname(__FILE__) + '
|
1
|
+
require File.dirname(__FILE__) + '/../abstract_unit'
|
2
2
|
|
3
3
|
class TestSampleProjects < Test::Unit::TestCase
|
4
|
-
SAMPLES_DIR = File.dirname(__FILE__) + '
|
4
|
+
SAMPLES_DIR = File.dirname(__FILE__) + '/../sample_files'
|
5
5
|
|
6
6
|
SAMPLE_LIBS = {
|
7
|
-
:trivial =>
|
8
|
-
:syck =>
|
9
|
-
:libxml =>
|
7
|
+
:trivial => "/libtrivial/libtrivial.#{Config::CONFIG['DLEXT']}",
|
8
|
+
:syck => "/syck-0.55/ext/ruby/ext/syck/syck.#{Config::CONFIG['DLEXT']}",
|
9
|
+
:libxml => "/libxml-ruby-0.3.8/ext/xml/libxml_so.#{Config::CONFIG['DLEXT']}"
|
10
10
|
}
|
11
11
|
|
12
12
|
# Set to true for full command line output
|
data/test/mkrf.log
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
# Logfile created on Mon Sep 04 16:10:06 PDT 2006 by logger.rb/1.5.2.7
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'rake/clean'
|
2
|
+
|
3
|
+
CLEAN.include('*.o')
|
4
|
+
CLOBBER.include('libtrivial.bundle', 'mkrf.log')
|
5
|
+
|
6
|
+
SRC = FileList['*.c']
|
7
|
+
OBJ = SRC.ext('o')
|
8
|
+
CC = "gcc"
|
9
|
+
|
10
|
+
ADDITIONAL_OBJECTS = ''
|
11
|
+
|
12
|
+
LDSHARED = "cc -dynamic -bundle -undefined suppress -flat_namespace "
|
13
|
+
|
14
|
+
LIBPATH = '-L"/usr/local/lib/ruby/1.8"'
|
15
|
+
|
16
|
+
INCLUDES = "-I/usr/local/include -I/usr/local/lib/ruby/1.8/i686-darwin8.6.1 -I/usr/local/lib/ruby/site_ruby/1.8 -I."
|
17
|
+
|
18
|
+
LIBS = "-lpthread -ldl -lobjc"
|
19
|
+
|
20
|
+
CFLAGS = " "
|
21
|
+
|
22
|
+
task :default => ['libtrivial.bundle']
|
23
|
+
|
24
|
+
rule '.o' => '.c' do |t|
|
25
|
+
sh "#{CC} #{CFLAGS} #{INCLUDES} -c -o #{t.name} #{t.source}"
|
26
|
+
end
|
27
|
+
|
28
|
+
desc "Build this extension"
|
29
|
+
file 'libtrivial.bundle' => OBJ do
|
30
|
+
sh "#{LDSHARED} #{LIBPATH} -o libtrivial.bundle #{OBJ} #{ADDITIONAL_OBJECTS} #{LIBS}"
|
31
|
+
end
|
32
|
+
|
33
|
+
|
Binary file
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'rake/clean'
|
2
|
+
|
3
|
+
CLEAN.include('*.o')
|
4
|
+
CLOBBER.include('libxml_so.bundle', 'mkrf.log')
|
5
|
+
|
6
|
+
SRC = FileList['*.c']
|
7
|
+
OBJ = SRC.ext('o')
|
8
|
+
CC = "gcc"
|
9
|
+
|
10
|
+
ADDITIONAL_OBJECTS = ''
|
11
|
+
|
12
|
+
LDSHARED = "cc -dynamic -bundle -undefined suppress -flat_namespace "
|
13
|
+
|
14
|
+
LIBPATH = '-L"/usr/local/lib/ruby/1.8"'
|
15
|
+
|
16
|
+
INCLUDES = "-I/usr/local/include -I/usr/local/lib/ruby/1.8/i686-darwin8.6.1 -I/usr/local/lib/ruby/site_ruby/1.8 -I. -I/usr/local/include/libxml2"
|
17
|
+
|
18
|
+
LIBS = "-lpthread -ldl -lobjc -lz -liconv -lxml2 -lxml2"
|
19
|
+
|
20
|
+
CFLAGS = " -DHAVE_ZLIB_H -DHAVE_LIBXML_XMLVERSION_H"
|
21
|
+
|
22
|
+
task :default => ['libxml_so.bundle']
|
23
|
+
|
24
|
+
rule '.o' => '.c' do |t|
|
25
|
+
sh "#{CC} #{CFLAGS} #{INCLUDES} -c -o #{t.name} #{t.source}"
|
26
|
+
end
|
27
|
+
|
28
|
+
desc "Build this extension"
|
29
|
+
file 'libxml_so.bundle' => OBJ do
|
30
|
+
sh "#{LDSHARED} #{LIBPATH} -o libxml_so.bundle #{OBJ} #{ADDITIONAL_OBJECTS} #{LIBS}"
|
31
|
+
end
|
32
|
+
|
33
|
+
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# Logfile created on Wed Oct 04 18:07:24 PDT 2006 by logger.rb/1.5.2.7
|
2
|
+
I, [2006-10-04T18:07:24.726052 #19953] INFO -- : Checking for library: socket
|
3
|
+
W, [2006-10-04T18:07:24.899729 #19953] WARN -- : Function not found: socket()
|
4
|
+
W, [2006-10-04T18:07:24.899924 #19953] WARN -- : Library not found: socket
|
5
|
+
I, [2006-10-04T18:07:24.900035 #19953] INFO -- : Checking for library: nsl
|
6
|
+
W, [2006-10-04T18:07:25.077383 #19953] WARN -- : Function not found: gethostbyname()
|
7
|
+
W, [2006-10-04T18:07:25.077586 #19953] WARN -- : Library not found: nsl
|
8
|
+
I, [2006-10-04T18:07:25.077742 #19953] INFO -- : Checking for library: z
|
9
|
+
I, [2006-10-04T18:07:25.222610 #19953] INFO -- : Function found: inflate()
|
10
|
+
I, [2006-10-04T18:07:25.222960 #19953] INFO -- : Library found: z
|
11
|
+
I, [2006-10-04T18:07:25.223161 #19953] INFO -- : Checking for library: iconv
|
12
|
+
I, [2006-10-04T18:07:25.356626 #19953] INFO -- : Function found: iconv_open()
|
13
|
+
I, [2006-10-04T18:07:25.356894 #19953] INFO -- : Library found: iconv
|
14
|
+
I, [2006-10-04T18:07:25.357068 #19953] INFO -- : Checking for library: xml2
|
15
|
+
I, [2006-10-04T18:07:25.504460 #19953] INFO -- : Function found: xmlParseDoc()
|
16
|
+
I, [2006-10-04T18:07:25.504701 #19953] INFO -- : Library found: xml2
|
17
|
+
I, [2006-10-04T18:07:25.863306 #19953] INFO -- : Header found: libxml/xmlversion.h
|
18
|
+
I, [2006-10-04T18:07:25.863622 #19953] INFO -- : Checking for library: xml2
|
19
|
+
I, [2006-10-04T18:07:25.863692 #19953] INFO -- : Library already loaded: xml2
|
20
|
+
I, [2006-10-04T18:07:26.006086 #19953] INFO -- : Function found: docbCreateFileParserCtxt()
|
21
|
+
I, [2006-10-04T18:07:26.006870 #19953] INFO -- : Rakefile written
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'rake/clean'
|
2
|
+
|
3
|
+
CLEAN.include('*.o')
|
4
|
+
CLOBBER.include('syck.bundle', 'mkrf.log')
|
5
|
+
|
6
|
+
SRC = FileList['*.c']
|
7
|
+
OBJ = SRC.ext('o')
|
8
|
+
CC = "gcc"
|
9
|
+
|
10
|
+
ADDITIONAL_OBJECTS = ''
|
11
|
+
|
12
|
+
LDSHARED = "cc -dynamic -bundle -undefined suppress -flat_namespace "
|
13
|
+
|
14
|
+
LIBPATH = '-L"/usr/local/lib/ruby/1.8"'
|
15
|
+
|
16
|
+
INCLUDES = "-I/usr/local/include -I/usr/local/lib/ruby/1.8/i686-darwin8.6.1 -I/usr/local/lib/ruby/site_ruby/1.8 -I."
|
17
|
+
|
18
|
+
LIBS = "-lpthread -ldl -lobjc"
|
19
|
+
|
20
|
+
CFLAGS = " -DHAVE_ST_H"
|
21
|
+
|
22
|
+
task :default => ['syck.bundle']
|
23
|
+
|
24
|
+
rule '.o' => '.c' do |t|
|
25
|
+
sh "#{CC} #{CFLAGS} #{INCLUDES} -c -o #{t.name} #{t.source}"
|
26
|
+
end
|
27
|
+
|
28
|
+
desc "Build this extension"
|
29
|
+
file 'syck.bundle' => OBJ do
|
30
|
+
sh "#{LDSHARED} #{LIBPATH} -o syck.bundle #{OBJ} #{ADDITIONAL_OBJECTS} #{LIBS}"
|
31
|
+
end
|
32
|
+
|
33
|
+
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,9 +1,9 @@
|
|
1
|
-
require File.dirname(__FILE__) + '
|
1
|
+
require File.dirname(__FILE__) + '/../abstract_unit'
|
2
2
|
|
3
3
|
|
4
4
|
class TestAvailability < Test::Unit::TestCase
|
5
5
|
def setup
|
6
|
-
@avail = Mkrf::Availability.new(:includes => File.join(File.dirname(__FILE__), 'fixtures'))
|
6
|
+
@avail = Mkrf::Availability.new(:includes => File.join(File.dirname(__FILE__), '..', 'fixtures'))
|
7
7
|
end
|
8
8
|
|
9
9
|
def teardown
|
@@ -46,7 +46,7 @@ class TestAvailability < Test::Unit::TestCase
|
|
46
46
|
|
47
47
|
def test_has_header_should_check_many_paths
|
48
48
|
assert !@avail.has_header?('header_down_a_directory.h')
|
49
|
-
assert @avail.has_header?('header_down_a_directory.h', File.join(File.dirname(__FILE__), 'fixtures', 'down_a_directory'))
|
49
|
+
assert @avail.has_header?('header_down_a_directory.h', File.join(File.dirname(__FILE__), '..', 'fixtures', 'down_a_directory'))
|
50
50
|
end
|
51
51
|
|
52
52
|
def test_include_header
|
@@ -94,4 +94,26 @@ class TestAvailability < Test::Unit::TestCase
|
|
94
94
|
assert_match log_items, source
|
95
95
|
end
|
96
96
|
end
|
97
|
+
end
|
98
|
+
|
99
|
+
class TestAvailabilityDefaults < Test::Unit::TestCase
|
100
|
+
def setup
|
101
|
+
@avail = Mkrf::Availability.new
|
102
|
+
@config = Config::CONFIG
|
103
|
+
end
|
104
|
+
|
105
|
+
def test_default_libs_should_be_from_rbconfig
|
106
|
+
assert_equal @config["LIBS"].chomp(" "), @avail.library_compile_string
|
107
|
+
end
|
108
|
+
|
109
|
+
def test_default_compiler_should_be_from_rbconfig
|
110
|
+
assert_equal @config["CC"], @avail.send(:instance_variable_get, :@compiler)
|
111
|
+
end
|
112
|
+
|
113
|
+
def test_default_include_dir_should_be_from_rbconfig
|
114
|
+
expected = [Config::CONFIG['includedir'], Config::CONFIG["archdir"],
|
115
|
+
Config::CONFIG['sitelibdir'], "."]
|
116
|
+
|
117
|
+
assert_equal expected, @avail.send(:instance_variable_get, :@includes)
|
118
|
+
end
|
97
119
|
end
|
@@ -1,10 +1,12 @@
|
|
1
|
-
require File.dirname(__FILE__) + '
|
1
|
+
require File.dirname(__FILE__) + '/../abstract_unit'
|
2
2
|
|
3
3
|
# stubb this out so we don't overwrite our test rakefile
|
4
4
|
module Mkrf
|
5
5
|
class Generator
|
6
6
|
def write_rakefile(file = "Rakefile")
|
7
7
|
end
|
8
|
+
|
9
|
+
attr_reader :available
|
8
10
|
end
|
9
11
|
end
|
10
12
|
|
@@ -15,7 +17,7 @@ class TestGenerator < Test::Unit::TestCase
|
|
15
17
|
|
16
18
|
def test_default_sources
|
17
19
|
g = Mkrf::Generator.new('testlib')
|
18
|
-
assert_equal ["'
|
20
|
+
assert_equal ["'*.c'"], g.sources, "Default sources incorrect"
|
19
21
|
end
|
20
22
|
|
21
23
|
def test_additional_code
|
@@ -48,6 +50,38 @@ class TestGenerator < Test::Unit::TestCase
|
|
48
50
|
assert_match(/WARN/, logs)
|
49
51
|
end
|
50
52
|
|
53
|
+
def test_availability_options_accessible_in_initialize
|
54
|
+
generator = Mkrf::Generator.new('testlib', ['lib/*.c'], {:loaded_libs => 'static_ruby'})
|
55
|
+
assert_equal ['static_ruby'], generator.available.loaded_libs
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_additional_objects
|
59
|
+
obj_string = 'somedir/somefile.o'
|
60
|
+
generator = Mkrf::Generator.new('testlib') do |g|
|
61
|
+
g.objects = obj_string
|
62
|
+
end
|
63
|
+
|
64
|
+
assert_match obj_string, generator.rakefile_contents
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_ldshared
|
68
|
+
ldshared = 'this_normally_isnt_here'
|
69
|
+
generator = Mkrf::Generator.new('testlib') do |g|
|
70
|
+
g.ldshared = ldshared
|
71
|
+
end
|
72
|
+
|
73
|
+
assert_match Regexp.new("LDSHARED = .*#{ldshared}.*"), generator.rakefile_contents
|
74
|
+
end
|
75
|
+
|
76
|
+
def test_cflags
|
77
|
+
cflags = 'this_normally_isnt_here'
|
78
|
+
generator = Mkrf::Generator.new('testlib') do |g|
|
79
|
+
g.cflags = cflags
|
80
|
+
end
|
81
|
+
|
82
|
+
assert_match Regexp.new("CFLAGS = .*#{cflags}.*"), generator.rakefile_contents
|
83
|
+
end
|
84
|
+
|
51
85
|
protected
|
52
86
|
|
53
87
|
def spec_code
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
|
|
3
3
|
specification_version: 1
|
4
4
|
name: mkrf
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.1.
|
7
|
-
date: 2006-
|
6
|
+
version: 0.1.2
|
7
|
+
date: 2006-10-04 00:00:00 -07:00
|
8
8
|
summary: Generate Rakefiles to Build C Extensions to Ruby
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -39,18 +39,22 @@ files:
|
|
39
39
|
- lib/mkrf/generator.rb
|
40
40
|
- test/abstract_unit.rb
|
41
41
|
- test/fixtures
|
42
|
+
- test/integration
|
43
|
+
- test/mkrf.log
|
42
44
|
- test/sample_files
|
43
|
-
- test/
|
44
|
-
- test/test_generator.rb
|
45
|
-
- test/test_sample_projects.rb
|
45
|
+
- test/unit
|
46
46
|
- test/fixtures/down_a_directory
|
47
47
|
- test/fixtures/stdmkrf.h
|
48
48
|
- test/fixtures/down_a_directory/header_down_a_directory.h
|
49
|
+
- test/integration/test_sample_projects.rb
|
49
50
|
- test/sample_files/libtrivial
|
50
51
|
- test/sample_files/libxml-ruby-0.3.8
|
51
52
|
- test/sample_files/syck-0.55
|
52
53
|
- test/sample_files/libtrivial/extconf.rb
|
53
54
|
- test/sample_files/libtrivial/lib
|
55
|
+
- test/sample_files/libtrivial/libtrivial.bundle
|
56
|
+
- test/sample_files/libtrivial/mkrf.log
|
57
|
+
- test/sample_files/libtrivial/Rakefile
|
54
58
|
- test/sample_files/libtrivial/lib/libtrivial.c
|
55
59
|
- test/sample_files/libtrivial/lib/libtrivial.o
|
56
60
|
- test/sample_files/libxml-ruby-0.3.8/CHANGELOG
|
@@ -59,47 +63,70 @@ files:
|
|
59
63
|
- test/sample_files/libxml-ruby-0.3.8/README
|
60
64
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml
|
61
65
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/cbg.c
|
66
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/cbg.o
|
62
67
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/extconf.rb
|
63
68
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/libxml.c
|
64
69
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/libxml.h
|
70
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/libxml.o
|
65
71
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/libxml.rb
|
72
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/libxml_so.bundle
|
73
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/mkrf.log
|
66
74
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/old_extconf.rb
|
75
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/Rakefile
|
67
76
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_attr.c
|
68
77
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_attr.h
|
78
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_attr.o
|
69
79
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_attribute.c
|
70
80
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_attribute.h
|
81
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_attribute.o
|
71
82
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_document.c
|
72
83
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_document.h
|
84
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_document.o
|
73
85
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_dtd.c
|
74
86
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_dtd.h
|
87
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_dtd.o
|
75
88
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_input_cbg.c
|
76
89
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_input_cbg.h
|
90
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_input_cbg.o
|
77
91
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_node.c
|
78
92
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_node.h
|
93
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_node.o
|
79
94
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_node_set.c
|
80
95
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_node_set.h
|
96
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_node_set.o
|
81
97
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_ns.c
|
82
98
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_ns.h
|
99
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_ns.o
|
83
100
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_parser.c
|
84
101
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_parser.h
|
102
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_parser.o
|
85
103
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_parser_context.c
|
86
104
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_parser_context.h
|
105
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_parser_context.o
|
87
106
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_sax_parser.c
|
88
107
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_sax_parser.h
|
108
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_sax_parser.o
|
89
109
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_schema.c
|
90
110
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_schema.h
|
111
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_schema.o
|
91
112
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_tree.c
|
92
113
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_tree.h
|
114
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_tree.o
|
93
115
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xinclude.c
|
94
116
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xinclude.h
|
117
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xinclude.o
|
95
118
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpath.c
|
96
119
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpath.h
|
120
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpath.o
|
97
121
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpath_context.c
|
98
122
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpath_context.h
|
123
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpath_context.o
|
99
124
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpointer.c
|
100
125
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpointer.h
|
126
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpointer.o
|
101
127
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpointer_context.c
|
102
128
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpointer_context.h
|
129
|
+
- test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpointer_context.o
|
103
130
|
- test/sample_files/libxml-ruby-0.3.8/ext/xml/sax_parser_callbacks.inc
|
104
131
|
- test/sample_files/syck-0.55/aclocal.m4
|
105
132
|
- test/sample_files/syck-0.55/bootstrap
|
@@ -138,19 +165,32 @@ files:
|
|
138
165
|
- test/sample_files/syck-0.55/ext/ruby/yts
|
139
166
|
- test/sample_files/syck-0.55/ext/ruby/ext/syck
|
140
167
|
- test/sample_files/syck-0.55/ext/ruby/ext/syck/bytecode.c
|
168
|
+
- test/sample_files/syck-0.55/ext/ruby/ext/syck/bytecode.o
|
141
169
|
- test/sample_files/syck-0.55/ext/ruby/ext/syck/emitter.c
|
170
|
+
- test/sample_files/syck-0.55/ext/ruby/ext/syck/emitter.o
|
142
171
|
- test/sample_files/syck-0.55/ext/ruby/ext/syck/extconf.rb
|
143
172
|
- test/sample_files/syck-0.55/ext/ruby/ext/syck/gram.c
|
144
173
|
- test/sample_files/syck-0.55/ext/ruby/ext/syck/gram.h
|
174
|
+
- test/sample_files/syck-0.55/ext/ruby/ext/syck/gram.o
|
145
175
|
- test/sample_files/syck-0.55/ext/ruby/ext/syck/handler.c
|
176
|
+
- test/sample_files/syck-0.55/ext/ruby/ext/syck/handler.o
|
146
177
|
- test/sample_files/syck-0.55/ext/ruby/ext/syck/implicit.c
|
178
|
+
- test/sample_files/syck-0.55/ext/ruby/ext/syck/implicit.o
|
147
179
|
- test/sample_files/syck-0.55/ext/ruby/ext/syck/MANIFEST
|
180
|
+
- test/sample_files/syck-0.55/ext/ruby/ext/syck/mkrf.log
|
148
181
|
- test/sample_files/syck-0.55/ext/ruby/ext/syck/node.c
|
182
|
+
- test/sample_files/syck-0.55/ext/ruby/ext/syck/node.o
|
183
|
+
- test/sample_files/syck-0.55/ext/ruby/ext/syck/Rakefile
|
149
184
|
- test/sample_files/syck-0.55/ext/ruby/ext/syck/rubyext.c
|
185
|
+
- test/sample_files/syck-0.55/ext/ruby/ext/syck/rubyext.o
|
186
|
+
- test/sample_files/syck-0.55/ext/ruby/ext/syck/syck.bundle
|
150
187
|
- test/sample_files/syck-0.55/ext/ruby/ext/syck/syck.c
|
151
188
|
- test/sample_files/syck-0.55/ext/ruby/ext/syck/syck.h
|
189
|
+
- test/sample_files/syck-0.55/ext/ruby/ext/syck/syck.o
|
152
190
|
- test/sample_files/syck-0.55/ext/ruby/ext/syck/token.c
|
191
|
+
- test/sample_files/syck-0.55/ext/ruby/ext/syck/token.o
|
153
192
|
- test/sample_files/syck-0.55/ext/ruby/ext/syck/yaml2byte.c
|
193
|
+
- test/sample_files/syck-0.55/ext/ruby/ext/syck/yaml2byte.o
|
154
194
|
- test/sample_files/syck-0.55/ext/ruby/ext/syck/yamlbyte.h
|
155
195
|
- test/sample_files/syck-0.55/ext/ruby/lib/okay
|
156
196
|
- test/sample_files/syck-0.55/ext/ruby/lib/okay.rb
|
@@ -233,12 +273,16 @@ files:
|
|
233
273
|
- test/sample_files/syck-0.55/tests/YTS.c
|
234
274
|
- test/sample_files/syck-0.55/tests/YTS.c.erb
|
235
275
|
- test/sample_files/syck-0.55/tests/YTS.c.rb
|
276
|
+
- test/unit/test_availability.rb
|
277
|
+
- test/unit/test_generator.rb
|
236
278
|
test_files: []
|
237
279
|
|
238
280
|
rdoc_options: []
|
239
281
|
|
240
|
-
extra_rdoc_files:
|
241
|
-
|
282
|
+
extra_rdoc_files:
|
283
|
+
- README
|
284
|
+
- MIT-LICENSE
|
285
|
+
- CHANGELOG
|
242
286
|
executables: []
|
243
287
|
|
244
288
|
extensions: []
|