HMSBEAGLE
1.0.0
|
00001 /* 00002 * platform.h 00003 * Definitions and compiler support for platform-specific features 00004 * 00005 * Copyright 2009 Phylogenetic Likelihood Working Group 00006 * 00007 * This file is part of BEAGLE. 00008 * 00009 * BEAGLE is free software: you can redistribute it and/or modify 00010 * it under the terms of the GNU Lesser General Public License as 00011 * published by the Free Software Foundation, either version 3 of 00012 * the License, or (at your option) any later version. 00013 * 00014 * BEAGLE is distributed in the hope that it will be useful, 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 * GNU Lesser General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU Lesser General Public 00020 * License along with BEAGLE. If not, see 00021 * <http://www.gnu.org/licenses/>. 00022 * 00023 * @author Aaron Darling 00024 */ 00025 00026 #ifndef __beagle_platform__ 00027 #define __beagle_platform__ 00028 00029 #ifdef _WIN32 00030 // needed to export library symbols 00031 #ifdef _EXPORTING 00032 #define BEAGLE_DLLEXPORT __declspec(dllexport) 00033 #else 00034 #define BEAGLE_DLLEXPORT __declspec(dllimport) 00035 #endif 00036 /* 00037 // automatically include the appropriate beagle library 00038 #ifdef _WIN64 00039 #ifdef _DEBUG 00040 #pragma comment( lib, "libhmsbeagle64d" ) 00041 #else 00042 #pragma comment( lib, "libhmsbeagle64" ) 00043 #endif 00044 #else 00045 #ifdef _DEBUG 00046 #pragma comment( lib, "libhmsbeagle32d" ) 00047 #else 00048 #pragma comment( lib, "libhmsbeagle32" ) 00049 #endif 00050 #endif 00051 */ 00052 00053 #ifndef M_LN2 00054 /* math.h in VC++ doesn't seem to have this (how Microsoft is that?) */ 00055 #define M_LN2 0.69314718055994530942 00056 #endif 00057 00058 #else // not windows 00059 #define BEAGLE_DLLEXPORT 00060 #endif 00061 00062 #endif 00063