/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * Copyright 2012-2015 Danny Robson */ #ifndef __UTIL_PLATFORM_HPP #define __UTIL_PLATFORM_HPP #if defined(__ANDROID__) #define PLATFORM_ANDROID #define PLATFORM_SUFFIX "android" #elif defined(__linux__) || defined (__linux) #define PLATFORM_LINUX #define PLATFORM_SUFFIX "linux" #elif defined(__FreeBSD__) #define PLATFORM_FREEBSD #define PLATFORM_SUFFIX "freebsd" #elif defined(__WIN32) || defined (_WIN32) #define PLATFORM_WIN32 #define PLATFORM_SUFFIX "win32" #else #error "Unknown platform" #define PLATFORM_SUFFIX "unknown" #endif // Clang needs to be checked before GCC as it pretends to be GCC #if defined(__clang__) #define COMPILER_CLANG #elif defined(__GNUC__) #define COMPILER_GCC #else #error "Unknown compiler" #endif #endif