The RInside package provides C++ classes that make it easier to embed R in C++ code -- on either Linux, OS X or Windows.

Embedding R is described first and foremost in the 'Writing R Extensions' manual in the core R sources. It describes how to embed R --- but it does not make for easy reading as there are many little details to take care of.

Viewed from another angle, this is one of the standard motivations for abstraction and embedding (of both the logic and the little details) in dedicated (C++) classes. Presto -- that is exactly what RInside does.

Consider this overly complicated 'hello, world' program in four lines, included as rinside_sample0.cpp in the sources. It provides an instance of an embedded R interpreter, an assignment and an evaluation in just a handful of lines:

// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4;  tab-width: 8; -*-
// Simple example showing how to do the standard 'hello, world' using embedded R
// Copyright (C) 2009 Dirk Eddelbuettel
// Copyright (C) 2010 Dirk Eddelbuettel and Romain Francois
// GPL'ed

#include <RInside.h>                    // for the embedded R via RInside

int main(int argc, char *argv[]) {

    RInside R(argc, argv);              // create an embedded R instance

    R["txt"] = "Hello, world!\n";      // assign a char* (string) to 'txt'

    R.parseEvalQ("cat(txt)");           // eval the init string, ignoring any returns


While this example is contrived, real-world uses are in the (possibly repeated) calling of data preparation, scrubbing, pre- or post-processing in the context of a C++ program. So rather than writing the data you may have out to file, calling R, parsing results back in -- and worse, doing this over and over -- you can start R once, and pass data structures to it, call functions you may have preloaded and get condensed results back.

And thanks to the Rcpp package, integration is seamless.

Featured Application: Embedding with Qt

A long blog post details use of RInside with the Qt framework.

Example of embedding R via RInside into a Qt C++ application: density estimation for a mixture

Featured Application: Embedding into Web Apps with Wt

Another long blog post details use of RInside with the Wt library for building web apps.

Example of embedding R via RInside into a Wt C++ application: density estimation for a mixture


RInside owes its basic structure to littler, the first-ever R scripting front-end by Jeff Horner and Dirk Eddelbuettel. RInside, just like littler, owes a lot to the tricks Jeff learned about embedding R via his Rapache project. However, RInside is a fresh C++ version of these ideas.


Version 0.2.5 should build, install and run on just about any Linux and OS X system, and even on Windows machines that have the Rtools compiled by Duncan Murdoch as detailed in the The Windows Toolset appendix to the R Installation manual. Do not report an error if you fail to build this with another compiler as this is not supported. Note that to build the examples on Windows, you need to say make -f Makefile.win to explicitly selects its Makefile. RInside works particularly well with the Rcpp package for interfacing R and C++ and shown by the examples in the RInside distribution. In fact, it now depends on it too.


A total of fifteend complete examples are provided in the directory examples/standard, as well as three test programs that triggered earlier bugs. These can serve as simple examples for your own programs. After installation, just say make in the examples directory (and say make -f Makefile.win if on that other OS).

Other examples directories show the Qt and Wt examples, use with MPI, use with the Rcpp extension Armadillo and Eigen as well as using Boost for a multithreaded application.

All examples are self-contained and fully functional. Just say make in one of the example subdirectories.


The examples/ directory provides some working examples. Auto-generated html documentation is available as is the manual generated from the help files.


A local archive is available here; it also contains the Doxygen-generated documentation. There is also the CRAN page and git access is provided at the GitHub repo.


Questions regarding RInside should go to the rcpp-devel mailing list. This is a subscriber-only list, so you need to subscribe before posting.


2015-05-20  Dirk Eddelbuettel  

        * DESCRIPTION: Release 0.2.13

2015-05-16  Dirk Eddelbuettel  

        * .travis.yml (install): Use ppa for r-cran-rcpp in .travis.yml

2015-05-15  Dirk Eddelbuettel  

        * inst/include/RInsideCommon.h: Do not include RInterface.h here as
        the file gets included from several source files

        * src/RInside.cpp: But rather include RInterface.h here just once

2015-01-27  Dirk Eddelbuettel  

        * DESCRIPTION: Release 0.2.12

2015-01-08  Dirk Eddelbuettel  

        * DESCRIPTION (Description): Updated Description: to note that we now
        have eight examples subdirectories, and that (all but one of) these
        example directories use Makefiles with GNU make extensions, which
        have therefore been renamed to GNUmakefile to please R CMD check
        * DESCRIPTIION (Version): Bumped Version: and Date:

        * inst/examples/armadillo/GNUmakefile: Renamed from Makefile
        * inst/examples/eigen/GNUmakefile: Ditto
        * inst/examples/mpi/GNUmakefile: Ditto
        * inst/examples/sandboxed_server/GNUmakefile: Ditto
        * inst/examples/standard/GNUmakefile: Ditto
        * inst/examples/threads/GNUmakefile: Ditto
        * inst/examples/wt/GNUmakefile: Ditto

2014-11-25  Christian Authmann  

        * inst/examples/sandboxed_server/: New example of a 'sandboxed'
        server for safer communication [of a subset of types] out of process

2014-10-10  Christian Authmann  

        * inst/examples/standard/rinside_sample16.cpp: New example
        demonstrating object wrapping and exposing C++ functions
        * inst/examples/standard/rinside_sample17.cpp: New example
        demonstrating the same using C++11 features

2014-09-08  Dirk Eddelbuettel  

        * src/RInside.cpp (WriteConsole_): Applied correction by Christian
        Authmann in GitHub PR #5
        * inst/examples/standard/rinside_callbacks1.cpp: New example also
        supplied by Christian Authmann in PR #5

2014-07-28  Dirk Eddelbuettel  

        * inst/examples/standard/rinside_module_sample0.cpp: Commented-out
        two short segments in already-disabled file which remains defunct

2014-07-08  Dirk Eddelbuettel  

        * inst/examples/standard/rinside_module_sample9.cpp: Repaired
          following the fix to Rcpp's InternalFunction

2014-06-24  Dirk Eddelbuettel  

        * inst/examples/standard/rinside_sample15.cpp (main): New example
        showing how to create a lattice plot, in response to a SO question

2014-03-24  Dirk Eddelbuettel  

        * src/Makevars (PKG_CPPFLAGS): Use '=' instead of '+='

2014-02-11  Dirk Eddelbuettel  

        * DESCRIPTION: Release 0.2.11

        * inst/examples/*/Makefile: Note that Rcpp (>= 0.11.0) no longer
        requires the RCPPLIBS variable

        * doxyfile (STRIP_FROM_PATH): Update for git repo

2014-02-10  Dirk Eddelbuettel  

        * DESCRIPTION: Move Rcpp (>= 0.11.0) from Depends: to Imports:
        * NAMESPACE: Added importFrom(Rcpp, evalCpp)

        * .Rbuildignore: Added .travis.yml and doxyfile

        * src/RInside.cpp: Added --vanilla --slave to default arguments

        * src/Makefile: PKG_LIBS no longer points to Rcpp's library
        * inst/examples/standard/Makefile: Note that Rcpp (>= 0.11.0) no
        longer requires the RCPPLIBS variable

        * inst/examples/standard/rinside_test0.cpp: Minor tweaks
        * inst/examples/standard/rinside_sample9.cpp: In this
        already-disabled example, comment out a data structure no longer
        provided by Rcpp

2014-02-05  Kevin Ushey  

        * inst/include/RInside.h: Make global_env_m a pointer to avoid
        the default constructor initializing it before R has actually
        been called
        * src/RInside.cpp: ditto

2013-12-27  Dirk Eddelbuettel  

        * .travis.yml: Added

2013-08-11  Dirk Eddelbuettel  

        * inst/examples/qt/qtdensity.h: Added a few more explicit #include
        statements which Qt 5.1 now appears to require -- with thanks to
        Spencer Behling for the patch
        * inst/examples/qt/qtdensity.h: Moved one #include to header file

2013-04-22  Dirk Eddelbuettel  

        * inst/examples/armadillo/rinside_arma0.cpp: Reverse order of
        includes so that RcppArmadillo.h is included before RInside
        * inst/examples/armadillo/rinside_arma1.cpp: Idem

2013-02-12  Dirk Eddelbuettel  

        * inst/include/RInside.h: Set default value of loadRcpp to true

        * src/RInside.cpp: Assign R's global env. only after R has been
        loaded, also load Rcpp unconditionally

2013-01-23  Dirk Eddelbuettel  

        * inst/examples/mpi/rinside_mpi_sample4.cpp: Added new example
        contributed by Nicholas Pezolano and Martin Morgan

2012-12-05  Dirk Eddelbuettel  

        * DESCRIPTION: Release 0.2.10

        * src/RInside.cpp: Set R_CStackLimit to -1 to block stack checking,
        place assignment after initialization of embedded R instance (on all
        platforms but Windows which does not have R_CStackLimit)
        * inst/include/RInsideCommon.h: Updated to ensure R_CStackLimit is
        defined, added a few more #include statements here

        * inst/examples/threads/boostEx.cpp: New example directory for simple
        multi-threaded use demo building on a simple Boost mutex example
        * cleanup: Also clean new example directory threads/
        * doxyfile: Added new example directory threads/

        * inst/examples/qt/qtdensity.pro: Corrected link order statement
        permitting use of example on Windows as well as Linux / OS X

        * inst/examples/standard/rinside_sample9.cpp: Disabled as passing
        external C/C++ function through simplified interface currently borked
        * inst/examples/standard/rinside_module_sample0.cpp: Idem
2012-11-08  Dirk Eddelbuettel  

        * inst/examples/standard/rinside_sample11.cpp: added include for
        unistd so that unlink() is declared as needed for g++ (>= 4.7)

2012-11-04  Dirk Eddelbuettel  

        * DESCRIPTION: Release 0.2.9

2012-10-28  Peter Aberline  

        * inst/examples/standard/cmake/CMakeLists.txt: R_ARCH autodetection
        * inst/examples/armadillo/cmake/CMakeLists.txt: Dito
        * inst/examples/eigen/cmake/CMakeLists.txt: Dito

        * inst/examples/armadillo/cmake/WIN.readme.txt: Added instructions
        for running windows binaries.
        * inst/examples/eigen/cmake/WIN.readme.txt: Dito

2012-10-15  Dirk Eddelbuettel  

        * inst/include/RInside.h: Added two new boolean arguments to
        constructor to set verbose and/or interactive mode; verbose mode can
        also be changed via a setter function.
        * src/RInside.cpp: Corresponding implementation

        * inst/examples/standard/rinside_sample13.cpp: New example
        illustrating the new more fault-tolerant modes

        * inst/examples/standard/rinside_sample14.cpp: New example
        illustrating the new more fault-tolerant modes with interactive mode

2012-10-11  Dirk Eddelbuettel  

        * inst/include/RInside.h: Added non-throwing variants of parseEval()
        and parseEvalQ() (which add 'NT' to the function name)
        * src/RInside.cpp: Implementation of non-throwing parseEval() variants

        * inst/examples/qt/qtdensity.cpp: Made more tolerant of bad user
        input by evaluating via non-calling function, and assigning to a
        temporary variable first.
        * inst/examples/wt/wtdensity.cpp: Dito

2012-10-10  Dirk Eddelbuettel  

        * src/RInside.cpp: Applied (modified) patch by Theodore Lytras which
        lets us recover from parsing errors on erroneous input lines

2012-10-05  Dirk Eddelbuettel  

        * inst/examples/standard/rinside_test2.cpp: Simple new test to check
        the search path

2012-09-15  Dirk Eddelbuettel  

        * src/RInside.cpp (initialize): On Windows, if R_HOME is not set as
        an environment variable, use R's get_R_HOME() to get it from registry

2012-09-13  Dirk Eddelbuettel  

        * inst/examples/standard/Makefile.win: Added more explicit statement
        about the need to set R_HOME on Windows to run the binaries, or to
        install RInside from sources on Windows so that R_HOME is set that way

2012-09-07  Dirk Eddelbuettel  

        * DESCRIPTION: Release 0.2.8

2012-09-06  Dirk Eddelbuettel  

        * src/RInside.cpp: Include local headers from src/
        * src/Makevars{.win}: Declare explicit dependency on headers for

2012-09-05  Dirk Eddelbuettel  

        * src/Makevars: Updating required headers here now
        * src/Makevars.win: Updating required headers here now
        * configure: Deprecated, no longer used or installed
        * configure.win: Deprecated, no longer used or installed
        * inst/examples/standard/Makefile.win: R_ARCH autodetection

2012-09-04  Dirk Eddelbuettel  

        * src/Makevars.win: Ensure static library is copied to target on both

2012-08-19  Dirk Eddelbuettel  

        * inst/examples/eigen/cmake/CMakeLists.txt: Added a second patch by
        Peter to support compilation on Windows
        * inst/examples/armadillo/cmake/CMakeLists.txt: idem

2012-08-13  Dirk Eddelbuettel  

        * inst/examples/eigen/cmake/CMakeLists.txt: Added Peter's patch
        * inst/examples/armadillo/cmake/CMakeLists.txt: idem

2012-08-12  Dirk Eddelbuettel  

        * DESCRIPTION: Release 0.2.7

        * inst/examples/eigen/: New example directory for Eigen
        * inst/examples/eigen/rinside_eigen0.cpp: simple first example
        * inst/examples/eigen/rinside_eigen1.cpp: second example

2012-08-10  Dirk Eddelbuettel  

        * inst/examples/armadillo/: New example directory for Armadillo
        * inst/examples/armadillo/rinside_arma0.cpp: simple first example
        * inst/examples/armadillo/rinside_arma1.cpp: second example

2012-04-08  Dirk Eddelbuettel  

        * inst/examples/standard/rinside_sample12.cpp: New example

2012-03-30  Dirk Eddelbuettel  

        * inst/examples/wt/wtdensity.cpp: Extended / prettyfied Wt example to
        use CSS styling as well as some simple headers and descriptions
        * inst/examples/wt/wtdensity.css: Added simple CSS markup
        * inst/examples/wt/wtdensity.xml: Added text and headers

        * inst/examples/wt/wtdensityPlain.cpp: Renamed old version

2012-01-18  Dirk Eddelbuettel  

        * DESCRIPTION: Added BugReports: and MailingList: fields

2012-01-15  Dirk Eddelbuettel  

        * inst/examples/standard/cmake/CMakeLists.txt: Added patch by Peter
        which adds CMake build support on Windows

2012-01-11  Dirk Eddelbuettel  

        * DESCRIPTION: Release 0.2.6

        * DESCRIPTION: Updated Description: text

2012-01-08  Dirk Eddelbuettel  

        * src/RInside.cpp: Correct console writer on Windows to not use
        Rprintf (with thanks to both James Bates and John Brzustowski)

        * src/RInside.cpp: Update RNG seeding to same scheme now used by
        R which blends both (millisecond) time and process id

        * src/RInside.cpp: Replace fprintf(stderr,...) with Rf_error(...)
        * src/setenv/setenv.c: Idem

        * inst/examples/*: Added CMake build support for all example
        directories kindly provided by Peter Aberline; this helps when coding
        inside of IDEs such as Eclipse, KDevelop or Code::Blocks

        * inst/examples/standard/Makefile.win: Allow for an R_ARCH variable
        to be set to enforce either i386 or x64 builds

2011-12-06  Dirk Eddelbuettel  

        * DESCRIPTION: Release 0.2.5

        * src/RInside.cpp: Applied (a slightly simpler versions of) a patch
        by James Bates which restores RInside on Windows -- at long last!

        * inst/include/RInsideCommon.h: Define #Win32 if #WIN32 is set so
        that we get some symbols from Rembedded.h

        * inst/THANKS: Add James Bates for help with RInside on Windows
        * doxyfile: Add inst/examples/wt to example path

        * cleanup: Some fixes ensuring qt and wt example can be cleaned
        * .Rbuildignore: Add some local files from qt and wt examples

2011-12-04  Dirk Eddelbuettel  

        * inst/examples/wt/wtdensity.cpp: bandwidth value capped at 200 like qt

        * inst/examples/qt/qtdensity.cpp: Default to svg creation via the
        svg() now in base R, ie remove both the test for cairoDevice and the
        fallback use of png graphics code; we still need to filter the svg file
        * inst/examples/qt/qtdensity.h: adjust accordingly

        * cleanup: Clean qt and wt example directories too

2011-11-24  Dirk Eddelbuettel  

        * inst/examples/wt: New example directory 'wt' providing a Webtoolkit
        (aka 'witty') based density slider application
        * inst/examples/wt/wtdensity.cpp: Application in less than 200 lines
        * inst/examples/wt/Makefile: Makefile to build and launch (on Ubuntu)

2011-11-20  Dirk Eddelbuettel  

        * inst/examples/qt/qtdensity.pro: Use QMAKE_LIBS, not QMAKE_LFLAGS

2011-04-24  Dirk Eddelbuettel  

        * DESCRIPTION: Release 0.2.4

        * doxyfile: Updated path settings

2011-04-20  Dirk Eddelbuettel  

        * inst/examples/mpi/*cpp: Minor updates and simplifications

2011-04-19  Dirk Eddelbuettel  

        * DESCRIPTION: Updated Description, also state current Windows
        run-time issue more prominently

        * inst/examples/standard/rinside_sample1.cpp: Minor simplification
        * inst/examples/standard/rinside_sample2.cpp: Idem
        * inst/examples/standard/rinside_sample3.cpp: Idem
        * inst/examples/standard/rinside_sample5.cpp: Idem
        * inst/examples/standard/rinside_sample7.cpp: Idem

2011-04-16  Dirk Eddelbuettel  

        * inst/NEWS: Added, at long last, with backfills based on the
        ChangeLog and blog postings

        * R/RInsidePaths.R (RInsideCxxFlags): Do not use quotes around path

2011-04-03  Dirk Eddelbuettel  

        * inst/examples/qt/: Moved merged SVN+PNG files back into top-level

        * inst/examples/qt/qtdensitySVG/qtdensity.pro: No longer need to set
        -Wno-unused-parameter as Rcpp 0.9.3 has a fix

2011-04-01  Dirk Eddelbuettel  

        * inst/examples/qt/qtdensitySVG/qtdensity.cpp: Merged the PNG and SVG
        version by using a boolean based on whether cairoDevice loaded or not

2011-03-25  Dirk Eddelbuettel  

        * inst/examples/qt/: Split qtdensity example into default (png) and
        svg variants as svg needs cairoDevice and has a clipping bug

2011-03-16  Dirk Eddelbuettel  

        * inst/examples/qt/qtdensity.h: Small rearrangements and

2011-03-15  Dirk Eddelbuettel  

        * inst/examples/qt/*: Added new example combining RInside with Qt
        illustrating the standard 'slider to select bandwidth for density
        estimate' example found in demo(tkdensity) and other places

2011-03-06  Dirk Eddelbuettel  

        * inst/examples/standard/rinside_sample11.cpp: New example in
        response to r-help question by Paul Smith

2011-02-17  Dirk Eddelbuettel  

        * inst/examples/standard/rinside_sample6.cpp: Updated to
        direct `R["a"] = a;' assignments

2011-01-26  Dirk Eddelbuettel  

        * inst/examples/standard/rinside_sample10.cpp: New example in
        response to r-devel question by Wayne Zhang

2011-01-20  Dirk Eddelbuettel  

        * src/RInside.cpp (initialize): Assign results of Rf_install to avoid
        any risk of garbage collection -- with thanks to Doug and Luke

2010-12-26  Dirk Eddelbuettel  

        * src/RInside.cpp (initialize): If Rcpp is requested, load it
        explicitly before we call autoload() for all R default packages
        (with thanks to Murray Stokely for the patch)

        * Changelog: Moved up from inst/ for easier C-x 4 a use

2010-08-06  Dirk Eddelbuettel  

        * Release 0.2.3

        * src/Makevars: Set emacs header for Makefile mode
        * src/Makevars.win: Set emacs header for Makefile mode

2010-07-09  Dirk Eddelbuettel  

        * inst/include/RInside.h: New argument to constructor to select
        loading of Rcpp
        * src/RInside.cpp: Idem, also load Rcpp more quietly

2010-07-05  Dirk Eddelbuettel  

        * inst/examples/standard/rinside_sample3.rcpp: Simpler with new Rcpp API
        * inst/examples/standard/rinside_sample4.rcpp: Idem

2010-06-16  Romain Francois 

        * inst/examples/standard/rinside_sample9.cpp: new example illustrating
        how to expose a C++ function to the embedded R

        * inst/examples/standard/rinside_module_sample0.cpp: new example illustrating
        how to use an Rcpp module from RInside

        * inst/include/*.h: moved the headers to include so that there is only one copy

        * inst/include/MemBuf.h: change from signature of add to use
        const std::string& instead of const char*

        * src/RInside.cpp: loading the Rcpp package

2010-04-21  Dirk Eddelbuettel  

        * src/MemBuf.cpp: Added #include  so that even Solaris sees
          strlen() -- with thanks to Brian Ripley

        * src/Makefile: Remove -Wall option which Solaris cc does not
          support -- with thanks to Brian Ripley

2010-04-05  Dirk Eddelbuettel  

        * src/RInside.cpp: Add #ifdef to Callback code to break on Windows

2010-03-26  Romain Francois 

        * src/RInside.h: the Proxy class is moved inside RInside and
          parseEval now returns a Proxy so that the proxy class does its job

        * inst/examples/standard/rinside_sample8.cpp: simplify the example to
          implicit use of the Proxy class

2010-03-25  Dirk Eddelbuettel  

        * src/RInside.h: New Proxy class with operator T() to borrow
          Rcpp's automatic wrappers
        * inst/examples/standard/rinside_sample8.cpp: Use Proxy()

2010-03-22  Dirk Eddelbuettel  

        * DESCRIPTION: Increase Version: to 0.2.2

        * .Rbuildignore: Added to exclude volatile Doxygen-generated docs
           from, zip-archives will be made available as for Rcpp

2010-03-20  Dirk Eddelbuettel  

        * R/RInsidePaths.R: Updated to current version of Rcpp's file (minus
          the cxx0x bits) in order to standardize linking options, with this
          we now default to static linking on OS X and Windows as Rcpp does.

        * src/RInside.cpp: Use explicit std::string() constructors for all
          text arguments inside throw() calls (to satisfy the Windows compiler)

2010-03-16  Dirk Eddelbuettel  

        * src/RInside.{h,cpp}: parseEval* function changed slightly so that
          SEXP parseEval(string) is now preferred, and it as well as
          void parseEvalQ(string) now throw exceptions; they call the
          non-throwing older int parseEval(string, SEXP). We changed the
          parseEvalQ from int to void which is more in-line with it purpose.
        * inst/examples/standard/rinside_sample{2,4,5}.cpp: Adapted
          accordingly, mostly by removing no-longer-needed error checking
          and exepction throw which has now move 'up' into RInside.cpp

2010-02-25  Dirk Eddelbuettel  

        * inst/examples/mpi/: Added two variants using the C++ API to MPI

2010-02-23  Dirk Eddelbuettel  

        * src/RInside.cpp: Add new parseEval() member function returning a SEXP
        * src/RInside.h: idem

        * src/inst/examples/standard/rinside_sample8.cpp: Show new parseEval()

2010-02-17  Dirk Eddelbuettel  

        * inst/examples/mpi/: Add examples contributed by Jianping Hua
        * inst/examples/: Update two existing examples to new Rcpp API

2010-02-12  Romain Francois 

        * src/MemBuf.h: MemBuf simplified using std::string

        * src/RInside.h: RInside gains an operator[](string) to allow
        treating the RInside instance as a proxy to the global environment
        so that we can do: RInside R; R["x"] = 10 ; All the actual work
        is done by the Rcpp::Environment class

2010-02-04  Romain Francois 

        * RInside::autoloads revisited with the new Rcpp api

        * RInside gains a default constructor to be used when there
        is no command line arguments

2010-01-28  Romain Francois 

        * src/RInside.{h,cpp}: Retire assign(vector> )
        because now this can be taken care of by template specialization

        * DESCRIPTION: require Rcpp

2010-01-28  Dirk Eddelbuettel  

        * src/RInside.{h,cpp}: Restore assign(vector>) which
          is not (yet?) covered by the more general templated solution

        * src/RInside.h: Minor cleanup regarding logTxt usage

        * src/Makefile: Make sure we find Rcpp.h headers

2010-01-27  Romain Francois 

        * src/RInside.{h,cpp}: include Rcpp.h and use the Rf_ prefixed R API
        functions. stop using macros from Rdefines because they don't
        work with R_NOREMAP

        * src/RInside.{h,cpp}: using the new Rcpp API assign becomes
        a template and let Rcpp::Environment.assign deal with the type
        of the object and how to wrap it. specializations of wrap
        for vector> and vector> are created
        to maintain original interface.

2010-01-06  Dirk Eddelbuettel  

        * DESCRIPTION: Increase Version: to 0.2.1

        * src/RInside.cpp: Change startup so that interactive() comes out FALSE,
          with that no longer call Rf_KillAllDevices(); as we may not have
          had devices in the first place.

        * src/RInside.h: Logging helper protected by #ifndef as it is in Rcpp too

        * tools/unix2dos.r: Simple CRLF -> LF filter to nuke a Windows warning
        * src/Makefile.win: Employ unix2dos.r on two autogenerated files

        * DESCRIPTON: Set Depends: to R (>= 2.10.0) and Rcpp (>= 0.7.0)

        * src/*: Add full copyright headers and update copyright to 2010

2009-12-21  Dirk Eddelbuettel  

        * src/setenv.c: Minor error case fix for Windows
        * DESCRIPTON: Lower requirement for Rcpp to (>= 0.6.7)

2009-12-20  Dirk Eddelbuettel  

        * DESCRIPTION: Increase Version: to 0.2.0

        * src/setenv: Another small cleanup
        * inst/THANKS: Added Richard for all the initial help with Windows

        * src/RInside.cpp: Uncommented fpu_setup() for now

        * inst/doc/{html,man.latex}: Removed autogenerated doxygen files from
          svn as they are too volatile, will remain in tarball as for Rcppccd

2009-12-16  Dirk Eddelbuettel  

        * src/tools/RInsideEnvVars.r: Deal with slashed on Windows platform

2009-12-15  Dirk Eddelbuettel  

        * DESCRIPTION: Remove 'OS_type: unix' as we now build and run on Windoze
        * src/Makefile.win: src/RInside.h, src/RInside.cpp: Added support for
          building on Windows using the standard MinGW toolchain
        * src/setenv.c: Windows implementation of setenv() kindly provided by
          Richard Holbrey during earlier attempts to build on Windows
        * inst/examples/Makefile.win: Similarly Makefile for Windows examples

2009-12-12  Dirk Eddelbuettel  

        * src/RInside.cpp: Destructor does a few additional things as per the
          R_Cleanup example in section 8.1.2 on 'Setting R callbacks'
        * src/RIinside.h: Added simple logTxt() to log if defined and not otherwise.

2009-10-01  Dirk Eddelbuettel  

        * inst/examples/rinside_sample5.cpp: Another examples based on r-devel post

2009-09-29  Dirk Eddelbuettel  

        * inst/examples/rinside_sample4.cpp: New example based on new r-devel post

2009-09-25  Dirk Eddelbuettel  

        * DESCRIPTION: Increase Version: to 0.1.1
        * inst/THANKS: Added new file to say Thank You! to contributors

        * inst/examples/Makefile: set R_HOME variable to output of 'R RHOME',
          use R_HOME to call R as R_HOME/bin/R, use R instead of Rscript,
          query R about CXX and CPPFLAGS, general editing and overhaul

        * inst/examples/*.cpp: More consistent formatting using Emacs 'M-x untabify'

        * src/Makefile: Add $R_ARCH to install path for header files (thanks to
          Jeff), call R with --vanilla switch (thanks to Jan), use R instead
          of Rscript, general editing and overhaul

2009-09-19  Dirk Eddelbuettel  

        * DESCRIPTION: Increase Version: to 0.1.0, initial CRAN release

        * DESCRIPTION: Add 'OS_type: unix' to stop builds on Windows

        * DESCRIPTION: Add 'URL' pointer

        * doxyfile: Added Doxygen configuration file
        * inst/doc/: Added Doxygen generated html, latex, man files

        * inst/examples/Makefile: Also link against BLAS and LAPACK libs
        * inst/examples/rinside_sample3.cpp: New example using lm() and coef()

        * inst/examples/rinside_sample2.cpp: Added a try/catch block

        * src/Makefile: use $R_HOME/bin/R as per Kurt's reminder

2009-09-11  Dirk Eddelbuettel  

        * src/Makefile: Enhanced to now automatically regenerate the two
          R-derived header files, and to also query R for directories which
          should make the build more portable across different systems

        * src/MemBuf/cpp: Switch error message from fprintf to std::cerr
          to avoid unncessary trouble with g++-4.4, with thanks to
          Michael Kane for the heads-up

        * R/RInsidePaths.R: Added path helper functions called by Makefiles
        * NAMESPACE: Added (empty) file so we can call 'path helpers'

        * inst/examples/Makefile: Rewritten to no longer used fixed path
          settings but rather query R, Rcpp and RInside

2009-07-28  Dirk Eddelbuettel  

        * inst/examples/rinside_sample2.cpp: Another simple example inspired
          by a long thread on r-devel

2009-07-28  Dirk Eddelbuettel  

        * src/RInside.cpp: Added patch by Daniel F Schwarz to not set env
          vars with prior values (to e.g. allow non-standard R_HOME)

2009-07-19  Dirk Eddelbuettel  

        * src/MemBuf.cpp: Added one-line patch by Miguel Lechón in add()
          method to correctly re-set pointer---with a bug Thanks! to Miguel

        * src/RInside.cpp: Added a few more assign() functions for STL
          vectors of types double, int and string, as well as int matrices
        * src/RInside.*: Minor cleanups and edits

        * inst/examples/small_test*.cpp: Added two small examples to
          illustrate and test the bug reported by Miguel Lechón
        * inst/examples/Makefile: generalised targets

2009-02-12  Dirk Eddelbuettel  

        * src/: Added new assign() method for strings, added 'quiet' Eval
          without return; made more function interfaces use references

        * man/: Added less-than-minimal RInside-package.Rd

        * inst/rinside_sample0: Added simple Hello World example

2009-02-10  Dirk Eddelbuettel  

        * Initial upload of version '0.0.1' to R-Forge SVN

Last modified: Mon Feb 27 06:36:12 CST 2017