• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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