On Mar 20, 2009, at 13:14 , Kasper Daniel Hansen wrote:
There are Apple specific defines in GCC. As far as I know
__APPLE__
means compiling on Apple hardware, whereas
__APPLE_CC__
means compiling using an Apple supplied compiler.
However, the first one seems sometimes to be used when the last one
is intended.
Note, however, that as Brian suggested neither of the above helps with
the case under consideration if it is to be portable. Although
Accelerate can be assumed on (recent) OS X, it doesn't mean that it's
what R uses or the user wants. In fact BLAS headers are not always
available, so in most cases the problem listed here is not an issue at
all since the functions used can be simply declared. The real issue is
linking against the correct library and R provides no way to do that
automatically since it doesn't use cblas, so the only reliable way is
what Brian described.
Cheers,
Simon
On Mar 19, 2009, at 21:50 , Gad Abraham wrote:
Hi,
I've got a package with some C code calling cblas functions (e.g.,
cblas_dgemm). The code is called using .C() . In order to compile
correctly either cblas.h on Linux or Accelerate.h on a Mac:
#include <R.h>
#ifdef MACOSX
#include <Accelerate/Accelerate.h>
#else
#include <cblas.h>
#endif
Of course, this doesn't work well with the standard Makevars
PKG_LIBS=$(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) since I need to set
the -DMACOSX flag for each platform.
Do I need to create another makefile to decide which OS the code is
running on, or is there an easier way of doing this?
Thanks,
Gad
--
Gad Abraham
MEng Student, Dept. CSSE and NICTA
The University of Melbourne
Parkville 3010, Victoria, Australia
email: [email protected]
web: http://www.csse.unimelb.edu.au/~gabraham
_______________________________________________
R-SIG-Mac mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-sig-mac
_______________________________________________
R-SIG-Mac mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-sig-mac
_______________________________________________
R-SIG-Mac mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-sig-mac