[Rd] Detecting compilation under R
Prof Brian Ripley
ripley at stats.ox.ac.uk
Thu Dec 14 18:23:01 CET 2006
On Thu, 14 Dec 2006, Barry Rowlingson wrote:
[Silently discarding the answer to his question, and breaching 'fair use'
copyright provisions.]
>> So the problem is that you needed rather
>>
>> #include <R.h>
>> #ifdef USING_R
>> x = rand_unif(0.0,1.0);
>> #else
>> #include <gsl_random.h>
>> x = gsl_runif(0.0,1.0);
>> #endif
>>
>> since if R.h is not around, the include will not include it.
> If R.h is not around, the preprocessor will throw a tantrum:
If *no* R.h is around: easy to solve.
> cc -c -o simple.o simple.c
> simple.c:2:15: error: R.h: No such file or directory
>
> - all of which would be solved if SHLIB and BUILD set a preprocessor flag to
> indicate compilation by R.
What is BUILD?
> I dont see what use USING_R is. If you #include <R.h> you get it, but then
> you know you're USING_R because you included R.h, hence USING_R is going to
> always be defined in that code (unless the inclusion of R.h is conditional on
> something else...).
>
> Oh but of course I've missed something... Just tell me what...
You've clipped it from my previous mail, with no indication. As the
posting guide points out, this is reprehensible.
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-devel
mailing list