ext/extconf.rb in swift-0.4.3 vs ext/extconf.rb in swift-0.5.0
- old
+ new
@@ -30,10 +30,31 @@
ERROR
false
end
end
+def assert_dbicpp_version ver
+ passed = false
+ header = '/usr/include/dbic++.h'
+ message = "Swift needs dbic++ >= #{ver}. Please update your dbic++ installation."
+
+ if File.exists?(header) && match = File.read(header).match(/DBI_VERSION\s+(.*?)\n/mi)
+ rmajor, rminor, rbuild = ver.strip.split(/\./).map(&:to_i)
+ imajor, iminor, ibuild = match.captures.first.strip.split(/\./).map(&:to_i)
+ passed = (imajor > rmajor) ||
+ (imajor == rmajor && iminor > rminor) ||
+ (imajor == rmajor && iminor == rminor && ibuild >= rbuild)
+ else
+ message = "Cannot find #{header} or version number. You need to install dbic++ >= #{ver}"
+ passed = false
+ end
+
+ raise message unless passed
+end
+
exit 1 unless library_installed? 'pcrecpp', apt_install_hint('libpcre3-dev')
exit 1 unless library_installed? 'uuid', apt_install_hint('uuid-dev')
exit 1 unless library_installed? 'dbic++', apt_install_hint('dbic++-dev')
+
+assert_dbicpp_version '0.3.0'
create_makefile 'swift'