summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorAndreas Maunz <andreas@maunz.de>2012-03-29 10:43:26 +0200
committerAndreas Maunz <andreas@maunz.de>2012-03-29 10:43:26 +0200
commita0d99ccf4d2120dff26b2625a4bc1f5eca350f2b (patch)
tree1739cc22344450bcd9bafc298b709cf538f6c047 /ext
first commit
Diffstat (limited to 'ext')
-rw-r--r--ext/openbabel/Makefile8
-rw-r--r--ext/openbabel/extconf.rb27
2 files changed, 35 insertions, 0 deletions
diff --git a/ext/openbabel/Makefile b/ext/openbabel/Makefile
new file mode 100644
index 0000000..581ad59
--- /dev/null
+++ b/ext/openbabel/Makefile
@@ -0,0 +1,8 @@
+.PHONY: openbabel.so
+openbabel.so:
+ chmod 755 openbabel.so
+
+.PHONY: install
+install:
+ mkdir -p ../../lib/openbabel
+ mv openbabel.so ../../lib/openbabel
diff --git a/ext/openbabel/extconf.rb b/ext/openbabel/extconf.rb
new file mode 100644
index 0000000..4b6189c
--- /dev/null
+++ b/ext/openbabel/extconf.rb
@@ -0,0 +1,27 @@
+require 'fileutils'
+require 'tmpdir'
+
+ob_num_ver="2.3.1"
+ob_ver="openbabel-"+ob_num_ver
+
+main_dir = Dir.mktmpdir
+ob_main_dir=main_dir+"/"+ob_ver
+ob_bindings_dir=ob_main_dir+"/scripts/ruby"
+
+begin
+ Dir.chdir main_dir do
+ FileUtils.rm_rf ob_main_dir
+ `curl -L -d use_mirror=netcologne "http://downloads.sourceforge.net/project/openbabel/openbabel/#{ob_num_ver}/openbabel-#{ob_num_ver}.tar.gz" | tar xz`
+ end
+ Dir.chdir ob_main_dir do
+ `cmake #{ob_main_dir}`
+ end
+ Dir.chdir ob_bindings_dir do
+ `sed -i 's/Init_OpenBabel/Init_openbabel/g' *cpp`
+ require './extconf.rb'
+ `make`
+ end
+ FileUtils.cp(ob_bindings_dir+"/openbabel.so", "./")
+ensure
+ FileUtils.remove_entry_secure main_dir
+end