blob: b11d185fda12e6d862547d4eed065c43a740b96d [file] [log] [blame]
Stephen Hines4a4bf922011-08-18 17:20:33 -07001/*
Stephen Hines5e3b6772012-03-21 08:02:10 -07002 * Copyright 2011-2012, The Android Open Source Project
Stephen Hines4a4bf922011-08-18 17:20:33 -07003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
Stephen Hines4cc499d2011-08-24 19:06:17 -070017#ifndef _FRAMEWORKS_COMPILE_SLANG_SLANG_VERSION_H_ // NOLINT
18#define _FRAMEWORKS_COMPILE_SLANG_SLANG_VERSION_H_
Stephen Hines4a4bf922011-08-18 17:20:33 -070019
Chris Wailesc9454af2014-06-13 17:25:40 -070020#include <climits>
21
22#define RS_DEVELOPMENT_API UINT_MAX
Chris Wailes9e3aa072014-06-16 18:52:02 -070023
Stephen Hines4a4bf922011-08-18 17:20:33 -070024// API levels used by the standard Android SDK.
Stephen Hines9b044ec2011-11-23 16:30:16 -080025// MR -> Maintenance Release
26// HC -> Honeycomb
27// ICS -> Ice Cream Sandwich
Stephen Hines41cc6102012-02-16 00:42:23 -080028// JB -> Jelly Bean
Jean-Luc Brouillet0f2a2392014-01-14 11:40:57 -080029// KK -> KitKat
Stephen Hines9b044ec2011-11-23 16:30:16 -080030enum SlangTargetAPI {
31 SLANG_MINIMUM_TARGET_API = 11,
32 SLANG_HC_TARGET_API = 11,
33 SLANG_HC_MR1_TARGET_API = 12,
34 SLANG_HC_MR2_TARGET_API = 13,
35 SLANG_ICS_TARGET_API = 14,
36 SLANG_ICS_MR1_TARGET_API = 15,
Stephen Hines41cc6102012-02-16 00:42:23 -080037 SLANG_JB_TARGET_API = 16,
Stephen Hinesfe2b93d2012-08-01 19:09:58 -070038 SLANG_JB_MR1_TARGET_API = 17,
Stephen Hines92219352012-12-12 16:54:43 -080039 SLANG_JB_MR2_TARGET_API = 18,
Stephen Hines4f673192013-12-19 14:02:18 -080040 SLANG_KK_TARGET_API = 19,
Chris Wailesc9454af2014-06-13 17:25:40 -070041 SLANG_MAXIMUM_TARGET_API = RS_VERSION,
42 SLANG_DEVELOPMENT_TARGET_API = RS_DEVELOPMENT_API
Stephen Hines9b044ec2011-11-23 16:30:16 -080043};
Stephen Hines4cc499d2011-08-24 19:06:17 -070044// Note that RS_VERSION is defined at build time (see Android.mk for details).
Stephen Hines4a4bf922011-08-18 17:20:33 -070045
Stephen Hines5e3b6772012-03-21 08:02:10 -070046// SlangVersion refers to the released compiler version (for which certain
47// behaviors could change - i.e. critical bugs fixed that may require
48// additional workarounds in the backend compiler).
49namespace SlangVersion {
50enum {
51 LEGACY = 0,
52 ICS = 1400,
Stephen Hines59e37362012-07-16 14:37:12 -070053 JB = 1600,
Stephen Hinesfe2b93d2012-08-01 19:09:58 -070054 JB_MR1 = 1700,
Stephen Hines50974742013-02-12 22:11:08 -080055 JB_MR2 = 1800,
Stephen Hines4f673192013-12-19 14:02:18 -080056 KK = 1900,
Stephen Hines76110d52014-01-14 18:33:58 -080057 KK_P1 = 1901,
58 CURRENT = KK_P1
Stephen Hines5e3b6772012-03-21 08:02:10 -070059};
60} // namespace SlangVersion
61
Stephen Hines4cc499d2011-08-24 19:06:17 -070062#endif // _FRAMEWORKS_COMPILE_SLANG_SLANG_VERSION_H_ NOLINT