blob: 3da104bacbffff011e63a9f3d8ca8b64e7fff9fd [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
20// API levels used by the standard Android SDK.
Stephen Hines9b044ec2011-11-23 16:30:16 -080021// MR -> Maintenance Release
22// HC -> Honeycomb
23// ICS -> Ice Cream Sandwich
Stephen Hines41cc6102012-02-16 00:42:23 -080024// JB -> Jelly Bean
Stephen Hines9b044ec2011-11-23 16:30:16 -080025enum SlangTargetAPI {
26 SLANG_MINIMUM_TARGET_API = 11,
27 SLANG_HC_TARGET_API = 11,
28 SLANG_HC_MR1_TARGET_API = 12,
29 SLANG_HC_MR2_TARGET_API = 13,
30 SLANG_ICS_TARGET_API = 14,
31 SLANG_ICS_MR1_TARGET_API = 15,
Stephen Hines41cc6102012-02-16 00:42:23 -080032 SLANG_JB_TARGET_API = 16,
Stephen Hinesfe2b93d2012-08-01 19:09:58 -070033 SLANG_JB_MR1_TARGET_API = 17,
Stephen Hines92219352012-12-12 16:54:43 -080034 SLANG_JB_MR2_TARGET_API = 18,
Stephen Hines9b044ec2011-11-23 16:30:16 -080035 SLANG_MAXIMUM_TARGET_API = RS_VERSION
36};
Stephen Hines4cc499d2011-08-24 19:06:17 -070037// Note that RS_VERSION is defined at build time (see Android.mk for details).
Stephen Hines4a4bf922011-08-18 17:20:33 -070038
Stephen Hines5e3b6772012-03-21 08:02:10 -070039// SlangVersion refers to the released compiler version (for which certain
40// behaviors could change - i.e. critical bugs fixed that may require
41// additional workarounds in the backend compiler).
42namespace SlangVersion {
43enum {
44 LEGACY = 0,
45 ICS = 1400,
Stephen Hines59e37362012-07-16 14:37:12 -070046 JB = 1600,
Stephen Hinesfe2b93d2012-08-01 19:09:58 -070047 JB_MR1 = 1700,
Stephen Hines50974742013-02-12 22:11:08 -080048 JB_MR2 = 1800,
Stephen Hines962c0b62013-05-22 14:55:45 -070049 KLP = 1900,
50 CURRENT = KLP
Stephen Hines5e3b6772012-03-21 08:02:10 -070051};
52} // namespace SlangVersion
53
Stephen Hines4cc499d2011-08-24 19:06:17 -070054#endif // _FRAMEWORKS_COMPILE_SLANG_SLANG_VERSION_H_ NOLINT