Skip to content

Commit

Permalink
fix for launching rsession standalone in the debugger
Browse files Browse the repository at this point in the history
  • Loading branch information
jjallaire committed May 26, 2011
1 parent fe9fce2 commit db460cd
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 4 deletions.
7 changes: 7 additions & 0 deletions src/cpp/conf/rdesktop-dev.conf
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,13 @@ r-modules-source=${CMAKE_CURRENT_BINARY_DIR}/session/modules/R
r-css-file=${CMAKE_CURRENT_SOURCE_DIR}/session/resources/R.css
r-session-packages=${CMAKE_CURRENT_BINARY_DIR}/r/R/packages/library

# override r home and doc dir (to ensure we always run against the version
# we built against and so we can pick them up even when we are launched
# standalone in the debugger)
r-home-dir-override=${LIBR_HOME}
r-doc-dir-override=${LIBR_DOC_DIR}





Expand Down
3 changes: 0 additions & 3 deletions src/cpp/rdesktop-dev.in
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,6 @@
#
#

export R_HOME=${LIBR_HOME}
export R_DOC_DIR=${LIBR_DOC_DIR}

session/rsession --config-file conf/rdesktop-dev.conf \
$1 $2 $3 $4 $5 $6 $7 $8 $9

Expand Down
6 changes: 6 additions & 0 deletions src/cpp/session/SessionMain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1867,6 +1867,12 @@ int main (int argc, char * const argv[])
ensureRLibsUser(options.userHomePath(), options.rLibsUser());
}

// install home and doc dir overrides if requested (for debugger mode)
if (!options.rHomeDirOverride().empty())
core::system::setenv("R_HOME", options.rHomeDirOverride());
if (!options.rDocDirOverride().empty())
core::system::setenv("R_DOC_DIR", options.rDocDirOverride());

// r options
r::session::ROptions rOptions ;
rOptions.userHomePath = options.userHomePath();
Expand Down
8 changes: 7 additions & 1 deletion src/cpp/session/SessionOptions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,13 @@ core::ProgramStatus Options::read(int argc, char * const argv[])
"Custom R.css file")
("r-shell-escape",
value<bool>(&rShellEscape_)->default_value(false),
"Support shell escape");
"Support shell escape")
("r-home-dir-override",
value<std::string>(&rHomeDirOverride_)->default_value(""),
"Override for R_HOME (used for debug configurations)")
("r-doc-dir-override",
value<std::string>(&rDocDirOverride_)->default_value(""),
"Override for R_DOC_DIR (used for debug configurations)");

// limits options
options_description limits("limits");
Expand Down
12 changes: 12 additions & 0 deletions src/cpp/session/include/session/SessionOptions.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,16 @@ class Options : boost::noncopyable
return rShellEscape_;
}

std::string rHomeDirOverride()
{
return std::string(rHomeDirOverride_.c_str());
}

std::string rDocDirOverride()
{
return std::string(rDocDirOverride_.c_str());
}

bool autoReloadSource() const { return autoReloadSource_; }

// limits
Expand Down Expand Up @@ -246,6 +256,8 @@ class Options : boost::noncopyable
int rCompatibleGraphicsEngineVersion_;
std::string rHelpCssFilePath_;
bool rShellEscape_;
std::string rHomeDirOverride_;
std::string rDocDirOverride_;

// limits
int limitFileUploadSizeMb_;
Expand Down

0 comments on commit db460cd

Please sign in to comment.