summaryrefslogtreecommitdiff
path: root/ruby/Rakefile
diff options
context:
space:
mode:
Diffstat (limited to 'ruby/Rakefile')
-rw-r--r--ruby/Rakefile37
1 files changed, 33 insertions, 4 deletions
diff --git a/ruby/Rakefile b/ruby/Rakefile
index 64044ca351..7ac6c09eeb 100644
--- a/ruby/Rakefile
+++ b/ruby/Rakefile
@@ -27,20 +27,48 @@ PKG_NAME='ruby-qpid'
PKG_VERSION='0.10.2'
GEM_NAME='qpid'
+EXT_CONF="ext/sasl/extconf.rb"
+MAKEFILE="ext/sasl/Makefile"
+SASL_MODULE="ext/sasl/sasl.so"
+SASL_SRC=SASL_MODULE.gsub(/.so$/, ".c")
+
#
# Additional files for clean/clobber
#
-CLEAN.include [ "**/*~", "lib/*/spec_cache" ]
+CLEAN.include [ "**/*~", "lib/*/spec_cache", SASL_MODULE, "ext/**/*.o" ]
+
+CLOBBER.include [ "config.save", "ext/**/mkmf.log",
+ MAKEFILE ]
+
+file MAKEFILE => EXT_CONF do |t|
+ Dir::chdir(File::dirname(EXT_CONF)) do
+ unless sh "ruby #{File::basename(EXT_CONF)}"
+ $stderr.puts "Failed to run extconf"
+ break
+ end
+ end
+end
+
+file SASL_MODULE => [ MAKEFILE, SASL_SRC ] do |t|
+ Dir::chdir(File::dirname(EXT_CONF)) do
+ unless sh "make"
+ $stderr.puts "make failed"
+ break
+ end
+ end
+end
+desc "Build the native library"
+task :build => SASL_MODULE
Rake::TestTask.new(:test) do |t|
t.test_files = FileList['tests/*.rb'].exclude("tests/util.rb")
- t.libs = [ 'lib' ]
+ t.libs = [ 'lib', 'ext/sasl' ]
end
Rake::TestTask.new(:"test_0-8") do |t|
t.test_files = FileList["tests_0-8/*.rb"]
- t.libs = [ 'lib' ]
+ t.libs = [ 'lib', 'ext/sasl' ]
end
desc "Create cached versions of the AMQP specs"
@@ -63,7 +91,8 @@ end
PKG_FILES = FileList[
"DISCLAIMER", "LICENSE.txt", "NOTICE.txt",
"Rakefile", "RELEASE_NOTES",
- "lib/**/*.rb", "lib/*/spec_cache/*.rb*", "tests/**/*", "examples/**"
+ "lib/**/*.rb", "lib/*/spec_cache/*.rb*", "tests/**/*", "examples/**", "ext/**/*.[ch]",
+ "ext/**/MANIFEST", "ext/**/extconf.rb"
]
DIST_FILES = FileList[