Skip to content
Back to formatted view

Raw Message

Message-ID: <33535E14-0AD9-4043-BB0C-B31AB236DE6A@stat.berkeley.edu>
Date: 2009-03-20T17:14:55Z
From: Kasper Daniel Hansen
Subject: cblas on Mac and Linux
In-Reply-To: <49C320A4.1000500@csse.unimelb.edu.au>

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