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>
This commit is contained in:
parent
8e95101c74
commit
6a47d4fe01
1 changed files with 26 additions and 4 deletions
30
Formula/r.rb
30
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"
|
||||
|
|
Loading…
Reference in a new issue