[Rd] Cross-platform function availability

Duncan Murdoch murdoch at stats.uwo.ca
Mon Sep 15 20:43:46 CEST 2008


On 9/15/2008 1:43 PM, hadley wickham wrote:
> On Mon, Sep 15, 2008 at 12:06 PM, Duncan Murdoch <murdoch at stats.uwo.ca> wrote:
>> On 9/15/2008 11:42 AM, hadley wickham wrote:
>>>
>>> Hi all,
>>>
>>> Is there any way to determine which functions are available on which
>>> platforms?  For example, winProgr essBar (and related functions) are
>>> only available on Windows, but what about tkProgressBar and
>>> txtProgressBar?  Is there any way to figure out which functions are
>>> only available on certain platforms, without installing R on that
>>> platform and checking?
>>
>> Generally I think the only reliable way is to look at the source. Things in
>> "windows" subdirs, or marked off with "#ifdef windows" (in Rd) or "#ifdef
>> Win32" (in C) are for windows only.  Probably our documentation should point
>> out when something is platform-specific, and frequently it does, but I don't
>> think it is completely consistent in this.
> 
> To me it seems like it would be easier to include the all functions
> all on platforms, and then return an error on platforms where they
> aren't supported.  The problem I'm now having is that I'm now getting
> an warning when building my package because it can't link to the
> documentation for winProgressBar.  Should I just ignore that warning?

<bromide> It's better not to ignore warnings. </bromide>

I'd suggest wrapping the link in "#ifdef windows" (assuming it's in an 
Rd file).

Duncan Murdoch



More information about the R-devel mailing list