1 // Copyright 2014 The Android Open Source Project 2 // 3 // This software is licensed under the terms of the GNU General Public 4 // License version 2, as published by the Free Software Foundation, and 5 // may be copied, distributed, and modified under those terms. 6 // 7 // This program is distributed in the hope that it will be useful, 8 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 // GNU General Public License for more details. 11 12 #ifndef ANDROID_UTILS_COMPILER_H 13 #define ANDROID_UTILS_COMPILER_H 14 15 #ifdef __cplusplus 16 #define ANDROID_BEGIN_HEADER extern "C" { 17 #define ANDROID_END_HEADER } 18 #else 19 #define ANDROID_BEGIN_HEADER /* nothing */ 20 #define ANDROID_END_HEADER /* nothing */ 21 #endif 22 23 // ANDROID_GCC_PREREQ(<major>,<minor>) will evaluate to true 24 // iff the current version of GCC is <major>.<minor> or higher. 25 #if defined(__GNUC__) && defined(__GNUC_MINOR__) 26 # define ANDROID_GCC_PREREQ(maj, min) \ 27 ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) 28 #else 29 # define ANDROID_GCC_PREREQ(maj, min) 0 30 #endif 31 32 #endif // ANDROID_UTILS_COMPILER_H 33