[R-SIG-Mac] cblas on Mac and Linux

Kasper Daniel Hansen khansen at stat.berkeley.edu
Fri Mar 20 18:14:55 CET 2009


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.

Kasper

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: gabraham at csse.unimelb.edu.au
> web: http://www.csse.unimelb.edu.au/~gabraham
>
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac



More information about the R-SIG-Mac mailing list