src/dynapi/SDL_dynapi.h
author Alex Szpakowski
Tue, 05 May 2015 19:01:55 -0300
changeset 9587 18979eac0a35
parent 9442 6073a89fc0eb
child 9619 b94b6d0bff0f
permissions -rw-r--r--
Replaced all remaining uses of NSAutoreleasePool with @autoreleasepool blocks (bugzilla #2680.)
icculus@8094
     1
/*
icculus@8094
     2
  Simple DirectMedia Layer
slouken@8149
     3
  Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
icculus@8094
     4
icculus@8094
     5
  This software is provided 'as-is', without any express or implied
icculus@8094
     6
  warranty.  In no event will the authors be held liable for any damages
icculus@8094
     7
  arising from the use of this software.
icculus@8094
     8
icculus@8094
     9
  Permission is granted to anyone to use this software for any purpose,
icculus@8094
    10
  including commercial applications, and to alter it and redistribute it
icculus@8094
    11
  freely, subject to the following restrictions:
icculus@8094
    12
icculus@8094
    13
  1. The origin of this software must not be misrepresented; you must not
icculus@8094
    14
     claim that you wrote the original software. If you use this software
icculus@8094
    15
     in a product, an acknowledgment in the product documentation would be
icculus@8094
    16
     appreciated but is not required.
icculus@8094
    17
  2. Altered source versions must be plainly marked as such, and must not be
icculus@8094
    18
     misrepresented as being the original software.
icculus@8094
    19
  3. This notice may not be removed or altered from any source distribution.
icculus@8094
    20
*/
icculus@8094
    21
icculus@8094
    22
#ifndef _SDL_dynapi_h
icculus@8094
    23
#define _SDL_dynapi_h
icculus@8094
    24
icculus@8094
    25
/* IMPORTANT:
icculus@8094
    26
   This is the master switch to disabling the dynamic API. We made it so you
icculus@8094
    27
   have to hand-edit an internal source file in SDL to turn it off; you
icculus@8094
    28
   can do it if you want it badly enough, but hopefully you won't want to.
icculus@8094
    29
   You should understand the ramifications of turning this off: it makes it
icculus@8094
    30
   hard to update your SDL in the field, and impossible if you've statically
icculus@8094
    31
   linked SDL into your app. Understand that platforms change, and if we can't
icculus@8094
    32
   drop in an updated SDL, your application can definitely break some time
icculus@8094
    33
   in the future, even if it's fine today.
icculus@8094
    34
   To be sure, as new system-level video and audio APIs are introduced, an
icculus@8094
    35
   updated SDL can transparently take advantage of them, but your program will
icculus@8094
    36
   not without this feature. Think hard before turning it off.
icculus@8094
    37
*/
icculus@8094
    38
#ifdef SDL_DYNAMIC_API  /* Tried to force it on the command line? */
icculus@8094
    39
#error Nope, you have to edit this file to force this off.
icculus@8094
    40
#endif
icculus@8094
    41
icculus@8121
    42
#ifdef __APPLE__
icculus@8121
    43
#include "TargetConditionals.h"
icculus@8121
    44
#endif
icculus@8121
    45
icculus@9278
    46
#if TARGET_OS_IPHONE || __native_client__ || __EMSCRIPTEN__  /* probably not useful on iOS, NACL or Emscripten. */
icculus@8094
    47
#define SDL_DYNAMIC_API 0
dludwig@8611
    48
#elif SDL_BUILDING_WINRT /* probaly not useful on WinRT, given current .dll loading restrictions */
dludwig@8611
    49
#define SDL_DYNAMIC_API 0
icculus@8640
    50
#elif defined(__clang_analyzer__)
icculus@8640
    51
#define SDL_DYNAMIC_API 0  /* Turn off for static analysis, so reports are more clear. */
icculus@9442
    52
#endif
icculus@9442
    53
icculus@9442
    54
/* everyone else. This is where we turn on the API if nothing forced it off. */
icculus@9442
    55
#ifndef SDL_DYNAMIC_API
icculus@8094
    56
#define SDL_DYNAMIC_API 1
icculus@8094
    57
#endif
icculus@8094
    58
icculus@8094
    59
#endif
icculus@8094
    60
icculus@8094
    61
/* vi: set ts=4 sw=4 expandtab: */