aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/require_arch.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/require_arch.rb')
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/require_arch.rb58
1 files changed, 58 insertions, 0 deletions
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/require_arch.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/require_arch.rb
new file mode 100644
index 0000000000..b4fffb8abb
--- /dev/null
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/require_arch.rb
@@ -0,0 +1,58 @@
+#:stopdoc:
+require 'rbconfig'
+
+# Attempts to require anative extension.
+# Falls back to pure-ruby version, if it fails.
+#
+# This uses Config::CONFIG['arch'] from rbconfig.
+
+def require_arch(fname)
+ arch = Config::CONFIG['arch']
+ begin
+ path = File.join("tmail", arch, fname)
+ require path
+ rescue LoadError => e
+ # try pre-built Windows binaries
+ if arch =~ /mswin/
+ require File.join("tmail", 'mswin32', fname)
+ else
+ raise e
+ end
+ end
+end
+
+
+# def require_arch(fname)
+# dext = Config::CONFIG['DLEXT']
+# begin
+# if File.extname(fname) == dext
+# path = fname
+# else
+# path = File.join("tmail","#{fname}.#{dext}")
+# end
+# require path
+# rescue LoadError => e
+# begin
+# arch = Config::CONFIG['arch']
+# path = File.join("tmail", arch, "#{fname}.#{dext}")
+# require path
+# rescue LoadError
+# case path
+# when /i686/
+# path.sub!('i686', 'i586')
+# when /i586/
+# path.sub!('i586', 'i486')
+# when /i486/
+# path.sub!('i486', 'i386')
+# else
+# begin
+# require fname + '.rb'
+# rescue LoadError
+# raise e
+# end
+# end
+# retry
+# end
+# end
+# end
+#:startdoc: \ No newline at end of file