17745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner// Copyright 2014 The Android Open Source Project 27745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner// 37745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner// This software is licensed under the terms of the GNU General Public 47745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner// License version 2, as published by the Free Software Foundation, and 57745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner// may be copied, distributed, and modified under those terms. 67745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner// 77745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner// This program is distributed in the hope that it will be useful, 87745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner// but WITHOUT ANY WARRANTY; without even the implied warranty of 97745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 107745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner// GNU General Public License for more details. 117745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner 127745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner#ifndef ANDROID_UTILS_COMPILER_H 137745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner#define ANDROID_UTILS_COMPILER_H 147745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner 157745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner#ifdef __cplusplus 167745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner#define ANDROID_BEGIN_HEADER extern "C" { 177745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner#define ANDROID_END_HEADER } 187745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner#else 197745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner#define ANDROID_BEGIN_HEADER /* nothing */ 207745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner#define ANDROID_END_HEADER /* nothing */ 217745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner#endif 227745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner 237891dd35fa2439a70f43ab8572778a398365bf24David 'Digit' Turner// ANDROID_GCC_PREREQ(<major>,<minor>) will evaluate to true 247891dd35fa2439a70f43ab8572778a398365bf24David 'Digit' Turner// iff the current version of GCC is <major>.<minor> or higher. 257891dd35fa2439a70f43ab8572778a398365bf24David 'Digit' Turner#if defined(__GNUC__) && defined(__GNUC_MINOR__) 267891dd35fa2439a70f43ab8572778a398365bf24David 'Digit' Turner# define ANDROID_GCC_PREREQ(maj, min) \ 277891dd35fa2439a70f43ab8572778a398365bf24David 'Digit' Turner ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) 287891dd35fa2439a70f43ab8572778a398365bf24David 'Digit' Turner#else 297891dd35fa2439a70f43ab8572778a398365bf24David 'Digit' Turner# define ANDROID_GCC_PREREQ(maj, min) 0 307891dd35fa2439a70f43ab8572778a398365bf24David 'Digit' Turner#endif 317891dd35fa2439a70f43ab8572778a398365bf24David 'Digit' Turner 327745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4David 'Digit' Turner#endif // ANDROID_UTILS_COMPILER_H 33