SkPreConfig.h revision 87a2a317c4e99c547ecbfa81f40f7bd7f2932433
10910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project/* 20910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project * Copyright (C) 2006 The Android Open Source Project 30910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project * 40910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 50910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project * you may not use this file except in compliance with the License. 60910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project * You may obtain a copy of the License at 70910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project * 80910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 90910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project * 100910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 110910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 120910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project * See the License for the specific language governing permissions and 140910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project * limitations under the License. 150910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project */ 160910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 170910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#ifndef SkPreConfig_DEFINED 180910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#define SkPreConfig_DEFINED 190910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 200910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project////////////////////////////////////////////////////////////////////// 210910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 22dab163f0b2658c2dba48839e72f81d3d8ee0ae8bMike Reed#if !defined(SK_BUILD_FOR_PALM) && !defined(SK_BUILD_FOR_WINCE) && !defined(SK_BUILD_FOR_WIN32) && !defined(SK_BUILD_FOR_SYMBIAN) && !defined(SK_BUILD_FOR_UNIX) && !defined(SK_BUILD_FOR_MAC) && !defined(SK_BUILD_FOR_SDL) 230910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 240910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #if defined(PALMOS_SDK_VERSION) 250910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #define SK_BUILD_FOR_PALM 260910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #elif defined(UNDER_CE) 270910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #define SK_BUILD_FOR_WINCE 280910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #elif defined(WIN32) 290910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #define SK_BUILD_FOR_WIN32 300910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #elif defined(__SYMBIAN32__) 310910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #define SK_BUILD_FOR_WIN32 320910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #elif defined(linux) 330910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #define SK_BUILD_FOR_UNIX 340910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #else 350910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #define SK_BUILD_FOR_MAC 360910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #endif 370910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 380910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#endif 390910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 400910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project////////////////////////////////////////////////////////////////////// 410910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 420910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#if !defined(SK_DEBUG) && !defined(SK_RELEASE) 430910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #ifdef NDEBUG 440910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #define SK_RELEASE 450910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #else 460910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #define SK_DEBUG 470910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #endif 480910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#endif 490910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 502c497e64d20a73267eb92ae88fdc51ba2a356b55Mike Reed#ifdef SK_BUILD_FOR_WIN32 512c497e64d20a73267eb92ae88fdc51ba2a356b55Mike Reed #define SK_RESTRICT 522c497e64d20a73267eb92ae88fdc51ba2a356b55Mike Reed #include "sk_stdint.h" 532c497e64d20a73267eb92ae88fdc51ba2a356b55Mike Reed#endif 542c497e64d20a73267eb92ae88fdc51ba2a356b55Mike Reed 550910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project////////////////////////////////////////////////////////////////////// 560910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 570910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#if !defined(SK_RESTRICT) 580910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #define SK_RESTRICT __restrict__ 590910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#endif 600910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 610910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project////////////////////////////////////////////////////////////////////// 620910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 630910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#if !defined(SK_SCALAR_IS_FLOAT) && !defined(SK_SCALAR_IS_FIXED) 640910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #define SK_SCALAR_IS_FLOAT 650910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #define SK_CAN_USE_FLOAT 660910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#endif 670910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 680910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project////////////////////////////////////////////////////////////////////// 690910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 700910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#if !defined(SK_CPU_BENDIAN) && !defined(SK_CPU_LENDIAN) 710910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #if defined (__ppc__) || defined(__ppc64__) 720910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #define SK_CPU_BENDIAN 730910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #else 740910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #define SK_CPU_LENDIAN 750910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #endif 760910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#endif 770910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 780910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project////////////////////////////////////////////////////////////////////// 790910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 8087a2a317c4e99c547ecbfa81f40f7bd7f2932433Mike Reed#if (defined(__arm__) && !defined(__thumb__)) || defined(SK_BUILD_FOR_WINCE) || (defined(SK_BUILD_FOR_SYMBIAN) && !defined(__MARM_THUMB__)) 810910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project /* e.g. the ARM instructions have conditional execution, making tiny branches cheap */ 820910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project #define SK_CPU_HAS_CONDITIONAL_INSTR 830910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#endif 840910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 850910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#endif 860910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 87