[R] building packages for Linux vs. Windows

(Ted Harding) Ted.Harding at manchester.ac.uk
Sun Feb 10 19:39:40 CET 2008


On 10-Feb-08 18:07:56, Erin Hodgess wrote:
> Hi R People:
> 
> I sure that this is a really easy question, but here goes:
> 
> I'm trying to build a package that will run on both Linux and Windows.
> 
> However, there are several commands in a section that will be
> different in Linux than they are in Windows.
> 
> Would I be better off just to build two separate packages, please?
> If just one is needed, how could I determine which system is running
> in order to use the correct command, please?
> 
> Thanks in advance,
> Erin

There is the "version" (a list) variable:

  version
# platform       i486-pc-linux-gnu
# arch           i486
# os             linux-gnu
# system         i486, linux-gnu
# status         Patched
# major          2
# minor          4.0
# year           2006
# month          11
# day            25
# svn rev        39997
# language       R

from which you can extract the "os" component:

  version$os
# [1] "linux-gnu"

I don;t know what this says on a Windows system,
but it surely won't mention Linux!

So testing this wil enable you to set a flag, e.g.

Linux<-ifelse(length(grep("linux",version$os))>0, TRUE, FALSE)

if(Linux){window<-function(...) X11(...)} else
         {window<-function(...) windows(...)}

Hoping this helps,
Ted.

--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at manchester.ac.uk>
Fax-to-email: +44 (0)870 094 0861
Date: 10-Feb-08                                       Time: 18:39:29
------------------------------ XFMail ------------------------------



More information about the R-help mailing list