aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorCharlie Sharpsteen2011-04-13 09:26:01 -0700
committerAdam Vandenberg2011-04-13 09:35:17 -0700
commit67d7b855fa808fd5d2249b2303aae78caebada74 (patch)
tree2d27e2c10e9f7afc9031145a3d9612d86c2e56e6 /Library
parent04fe60f98d13ddd5d070ca53fc4a1722ee3af23a (diff)
downloadhomebrew-67d7b855fa808fd5d2249b2303aae78caebada74.tar.bz2
R: Add option for Valgrind-enabled debug build
Useful for developing packages that interact with R at the C level. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Diffstat (limited to 'Library')
-rw-r--r--Library/Formula/r.rb30
1 files changed, 26 insertions, 4 deletions
diff --git a/Library/Formula/r.rb b/Library/Formula/r.rb
index 3326cb089..b035c83b6 100644
--- a/Library/Formula/r.rb
+++ b/Library/Formula/r.rb
@@ -1,20 +1,42 @@
require 'formula'
+def valgrind?
+ ARGV.include? '--with-valgrind'
+end
+
class R < Formula
url 'http://cran.r-project.org/src/base/R-2/R-2.13.0.tar.gz'
homepage 'http://www.R-project.org/'
md5 'ecfb928067cfd932e75135f8b8bba3e7'
+ depends_on 'valgrind' if valgrind?
+
+ def options
+ [
+ ['--with-valgrind', 'Compile an unoptimized build with support for the Valgrind debugger.']
+ ]
+ end
+
def install
+ if valgrind?
+ ENV.remove_from_cflags /-O./
+ ENV.append_to_cflags '-O0'
+ end
+
ENV.fortran
ENV.x11 # So PNG gets added to the x11 and cairo plotting devices
ENV['OBJC'] = ENV['CC']
ENV['OBJCFLAGS'] = ENV['CFLAGS']
- system "./configure", "--prefix=#{prefix}",
- "--with-aqua",
- "--enable-R-framework",
- "--with-lapack"
+ args = [
+ "--prefix=#{prefix}",
+ "--with-aqua",
+ "--enable-R-framework",
+ "--with-lapack"
+ ]
+ args << '--with-valgrind-instrumentation=2' if valgrind?
+
+ system "./configure", *args
system "make"
ENV.j1 # Serialized installs, please
system "make install"