HMSBEAGLE  1.0.0
platform.h
1 /*
2  * platform.h
3  * Definitions and compiler support for platform-specific features
4  *
5  * Copyright 2009 Phylogenetic Likelihood Working Group
6  *
7  * This file is part of BEAGLE.
8  *
9  * BEAGLE is free software: you can redistribute it and/or modify
10  * it under the terms of the GNU Lesser General Public License as
11  * published by the Free Software Foundation, either version 3 of
12  * the License, or (at your option) any later version.
13  *
14  * BEAGLE is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with BEAGLE. If not, see
21  * <http://www.gnu.org/licenses/>.
22  *
23  * @author Aaron Darling
24  */
25 
26 #ifndef __beagle_platform__
27 #define __beagle_platform__
28 
29 #ifdef _WIN32
30 // needed to export library symbols
31 #ifdef _EXPORTING
32 #define BEAGLE_DLLEXPORT __declspec(dllexport)
33 #else
34 #define BEAGLE_DLLEXPORT __declspec(dllimport)
35 #endif
36 /*
37 // automatically include the appropriate beagle library
38  #ifdef _WIN64
39  #ifdef _DEBUG
40  #pragma comment( lib, "libhmsbeagle64d" )
41  #else
42  #pragma comment( lib, "libhmsbeagle64" )
43  #endif
44  #else
45  #ifdef _DEBUG
46  #pragma comment( lib, "libhmsbeagle32d" )
47  #else
48  #pragma comment( lib, "libhmsbeagle32" )
49  #endif
50  #endif
51 */
52 
53 #ifndef M_LN2
54 /* math.h in VC++ doesn't seem to have this (how Microsoft is that?) */
55 #define M_LN2 0.69314718055994530942
56 #endif
57 
58 #else // not windows
59 #define BEAGLE_DLLEXPORT
60 #endif
61 
62 #endif
63