Check-in [b46b660d5e]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:update SDL2 to version 2.0.5 (with patches)
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: b46b660d5e4a9e1a729641d8c6d5ac0212152d37
User & Date: chw 2016-11-09 18:00:05
References
2016-12-02
09:00
repair Android onscreen keyboard handling (broken since [b46b660d5e]) check-in: ebc1f80f21 user: chw tags: trunk
Context
2016-11-09
18:02
update tkchat et.al. due to SDL2 update check-in: c3667c5b91 user: chw tags: trunk
18:00
update SDL2 to version 2.0.5 (with patches) check-in: b46b660d5e user: chw tags: trunk
17:04
add selected tk upstream changes check-in: 15c0773415 user: chw tags: trunk
Changes

Changes to jni/SDL2/BUGS.txt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Bugs are now managed in the SDL bug tracker, here:

    http://bugzilla.libsdl.org/

You may report bugs there, and search to see if a given issue has already
 been reported, discussed, and maybe even fixed.


You may also find help on the SDL mailing list. Subscription information:

    http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Bug reports are welcome here, but we really appreciate if you use Bugzilla, as
 bugs discussed on the mailing list may be forgotten or missed.




|












1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Bugs are now managed in the SDL bug tracker, here:

    https://bugzilla.libsdl.org/

You may report bugs there, and search to see if a given issue has already
 been reported, discussed, and maybe even fixed.


You may also find help on the SDL mailing list. Subscription information:

    http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Bug reports are welcome here, but we really appreciate if you use Bugzilla, as
 bugs discussed on the mailing list may be forgotten or missed.

Changes to jni/SDL2/CMakeLists.txt.

1
2
3
4
5
6
7
8
9
10
11
12
..
22
23
24
25
26
27
28

29
30
31
32
33
34
35
..
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
...
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
...
791
792
793
794
795
796
797










798
799
800
801
802
803
804
...
885
886
887
888
889
890
891
892


893














894
895
896
897
898
899
900
....
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207



1208

1209
1210
1211
1212
1213
1214
1215
1216




1217

1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228



1229

1230
1231
1232
1233
1234
1235
1236
....
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282





1283
1284
1285
1286
1287
1288

1289
1290
1291
1292
1293
1294
1295
....
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
....
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
  message(FATAL_ERROR "Prevented in-tree built. Please create a build directory outside of the SDL source code and call cmake from there")
endif()

cmake_minimum_required(VERSION 2.8)
project(SDL2 C)

# !!! FIXME: this should probably do "MACOSX_RPATH ON" as a target property
# !!! FIXME:  for the SDL2 shared library (so you get an
# !!! FIXME:  install_name ("soname") of "@rpath/libSDL-whatever.dylib"
# !!! FIXME:  instead of "/usr/local/lib/libSDL-whatever.dylib"), but I'm
# !!! FIXME:  punting for now and leaving the existing behavior. Until this
................................................................................
include(CheckSymbolExists)
include(CheckCSourceRuns)
include(CheckCCompilerFlag)
include(CheckTypeSize)
include(CheckStructHasMember)
include(CMakeDependentOption)
include(FindPkgConfig)

set(CMAKE_MODULE_PATH "${SDL2_SOURCE_DIR}/cmake")
include(${SDL2_SOURCE_DIR}/cmake/macros.cmake)
include(${SDL2_SOURCE_DIR}/cmake/sdlchecks.cmake)

# General settings
# Edit include/SDL_version.h and change the version, then:
#   SDL_MICRO_VERSION += 1;
................................................................................
#   SDL_INTERFACE_AGE += 1;
#   SDL_BINARY_AGE += 1;
# if any functions have been added, set SDL_INTERFACE_AGE to 0.
# if backwards compatibility has been broken,
# set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0.
set(SDL_MAJOR_VERSION 2)
set(SDL_MINOR_VERSION 0)
set(SDL_MICRO_VERSION 4)
set(SDL_INTERFACE_AGE 0)
set(SDL_BINARY_AGE 4)
set(SDL_VERSION "${SDL_MAJOR_VERSION}.${SDL_MINOR_VERSION}.${SDL_MICRO_VERSION}")

# Calculate a libtool-like version number
math(EXPR LT_CURRENT "${SDL_MICRO_VERSION} - ${SDL_INTERFACE_AGE}")
math(EXPR LT_AGE "${SDL_BINARY_AGE} - ${SDL_INTERFACE_AGE}")
math(EXPR LT_MAJOR "${LT_CURRENT}- ${LT_AGE}")
set(LT_REVISION "${SDL_INTERFACE_AGE}")
................................................................................
# restore back to that afterwards. For check_function_exists() to work in
# Emscripten, this value must be at its default value.
set(ORIG_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})

if(CYGWIN)
  # We build SDL on cygwin without the UNIX emulation layer
  include_directories("-I/usr/include/mingw")
  set(CMAKE_REQUIRED_FLAGS "-mno-cygwin")
  check_c_source_compiles("int main(int argc, char **argv) {}"
    HAVE_GCC_NO_CYGWIN)
  set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS})
  if(HAVE_GCC_NO_CYGWIN)
    list(APPEND EXTRA_LDFLAGS "-mno-cygwin")
    list(APPEND SDL_LIBS "-mno-cygwin")
  endif()
................................................................................
    set(HAVE_SDL_JOYSTICK TRUE)
  endif()
  if(SDL_POWER)
    set(SDL_POWER_EMSCRIPTEN 1)
    file(GLOB EM_POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/emscripten/*.c)
    set(SOURCE_FILES ${SOURCE_FILES} ${EM_POWER_SOURCES})
    set(HAVE_SDL_POWER TRUE)










  endif()
  if(SDL_VIDEO)
    set(SDL_VIDEO_DRIVER_EMSCRIPTEN 1)
    file(GLOB EM_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/emscripten/*.c)
    set(SOURCE_FILES ${SOURCE_FILES} ${EM_VIDEO_SOURCES})
    set(HAVE_SDL_VIDEO TRUE)

................................................................................

    if(HAVE_INPUT_KD)
      set(SDL_INPUT_LINUXKD 1)
    endif()

    check_include_file("libudev.h" HAVE_LIBUDEV_H)

    # !!! FIXME: this needs pkg-config to find the include path, I think.


    check_include_file("dbus/dbus.h" HAVE_DBUS_DBUS_H)














  endif()

  if(INPUT_TSLIB)
    check_c_source_compiles("
        #include \"tslib.h\"
        int main(int argc, char** argv) { }" HAVE_INPUT_TSLIB)
    if(HAVE_INPUT_TSLIB)
................................................................................
    set(SDL_FRAMEWORK_COREVIDEO 1)
  else()
    message_error("SDL_FILE must be enabled to build on MacOS X")
  endif()

  if(SDL_AUDIO)
    set(SDL_AUDIO_DRIVER_COREAUDIO 1)
    file(GLOB AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/coreaudio/*.c)
    set(SOURCE_FILES ${SOURCE_FILES} ${AUDIO_SOURCES})
    set(HAVE_SDL_AUDIO TRUE)
    set(SDL_FRAMEWORK_COREAUDIO 1)
    set(SDL_FRAMEWORK_AUDIOUNIT 1)
  endif()

  if(SDL_JOYSTICK)
    set(SDL_JOYSTICK_IOKIT 1)



    file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/darwin/*.c)

    set(SOURCE_FILES ${SOURCE_FILES} ${JOYSTICK_SOURCES})
    set(HAVE_SDL_JOYSTICK TRUE)
    set(SDL_FRAMEWORK_IOKIT 1)
    set(SDL_FRAMEWORK_FF 1)
  endif()

  if(SDL_HAPTIC)
    set(SDL_HAPTIC_IOKIT 1)




    file(GLOB HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/darwin/*.c)

    set(SOURCE_FILES ${SOURCE_FILES} ${HAPTIC_SOURCES})
    set(HAVE_SDL_HAPTIC TRUE)
    set(SDL_FRAMEWORK_IOKIT 1)
    set(SDL_FRAMEWORK_FF 1)
    if(NOT SDL_JOYSTICK)
      message(FATAL_ERROR "SDL_HAPTIC requires SDL_JOYSTICK to be enabled")
    endif()
  endif()

  if(SDL_POWER)
    set(SDL_POWER_MACOSX 1)



    file(GLOB POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/macosx/*.c)

    set(SOURCE_FILES ${SOURCE_FILES} ${POWER_SOURCES})
    set(HAVE_SDL_POWER TRUE)
    set(SDL_FRAMEWORK_CARBON 1)
    set(SDL_FRAMEWORK_IOKIT 1)
  endif()

  if(SDL_TIMERS)
................................................................................
    find_library(CARBON_LIBRARY Carbon)
    list(APPEND EXTRA_LIBS ${CARBON_LIBRARY})
  endif()
  if(SDL_FRAMEWORK_COREAUDIO)
    find_library(COREAUDIO CoreAudio)
    list(APPEND EXTRA_LIBS ${COREAUDIO})
  endif()
  if(SDL_FRAMEWORK_AUDIOUNIT)
    find_library(AUDIOUNIT AudioUnit)
    list(APPEND EXTRA_LIBS ${AUDIOUNIT})
  endif()

  # iOS hack needed - http://code.google.com/p/ios-cmake/ ?
  if(SDL_VIDEO)





    CheckCOCOA()
    if(VIDEO_OPENGL)
      set(SDL_VIDEO_OPENGL 1)
      set(SDL_VIDEO_OPENGL_CGL 1)
      set(SDL_VIDEO_RENDER_OGL 1)
      set(HAVE_VIDEO_OPENGL TRUE)

    endif()
  endif()

  CheckPTHREAD()
elseif(HAIKU)
  if(SDL_VIDEO)
    set(SDL_VIDEO_DRIVER_HAIKU 1)
................................................................................
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")

# Always build SDLmain
add_library(SDL2main STATIC ${SDLMAIN_SOURCES})
set(_INSTALL_LIBS "SDL2main")

if(SDL_SHARED)
  add_library(SDL2 SHARED ${SOURCE_FILES})
  if(UNIX)
    set_target_properties(SDL2 PROPERTIES
      VERSION ${LT_VERSION}
      SOVERSION ${LT_REVISION}
      OUTPUT_NAME "SDL2-${LT_RELEASE}")
  else()
    set_target_properties(SDL2 PROPERTIES
................................................................................
    install(FILES ${SDL2_BINARY_DIR}/sdl2.pc DESTINATION "libdata/pkgconfig")
  else()
    install(FILES ${SDL2_BINARY_DIR}/sdl2.pc
      DESTINATION "lib${LIB_SUFFIX}/pkgconfig")
  endif()
  install(PROGRAMS ${SDL2_BINARY_DIR}/sdl2-config DESTINATION bin)
  # TODO: what about the .spec file? Is it only needed for RPM creation?
  install(FILES "${SDL2_SOURCE_DIR}/sdl2.m4" DESTINATION "share/aclocal")
endif()

##### Uninstall target #####

configure_file(
    "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
    "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
    IMMEDIATE @ONLY)

add_custom_target(uninstall
    COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)




|







 







>







 







|
|
|







 







|







 







>
>
>
>
>
>
>
>
>
>







 







|
>
>
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







|



|




>
>
>
|
>








>
>
>
>
|
>











>
>
>
|
>







 







|
|
|




>
>
>
>
>
|
|
|
|
|
|
>







 







|







 







|











1
2
3
4
5
6
7
8
9
10
11
12
..
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
..
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
...
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
...
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
...
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
....
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
....
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
....
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
....
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
  message(FATAL_ERROR "Prevented in-tree built. Please create a build directory outside of the SDL source code and call cmake from there")
endif()

cmake_minimum_required(VERSION 2.8.5)
project(SDL2 C)

# !!! FIXME: this should probably do "MACOSX_RPATH ON" as a target property
# !!! FIXME:  for the SDL2 shared library (so you get an
# !!! FIXME:  install_name ("soname") of "@rpath/libSDL-whatever.dylib"
# !!! FIXME:  instead of "/usr/local/lib/libSDL-whatever.dylib"), but I'm
# !!! FIXME:  punting for now and leaving the existing behavior. Until this
................................................................................
include(CheckSymbolExists)
include(CheckCSourceRuns)
include(CheckCCompilerFlag)
include(CheckTypeSize)
include(CheckStructHasMember)
include(CMakeDependentOption)
include(FindPkgConfig)
include(GNUInstallDirs)
set(CMAKE_MODULE_PATH "${SDL2_SOURCE_DIR}/cmake")
include(${SDL2_SOURCE_DIR}/cmake/macros.cmake)
include(${SDL2_SOURCE_DIR}/cmake/sdlchecks.cmake)

# General settings
# Edit include/SDL_version.h and change the version, then:
#   SDL_MICRO_VERSION += 1;
................................................................................
#   SDL_INTERFACE_AGE += 1;
#   SDL_BINARY_AGE += 1;
# if any functions have been added, set SDL_INTERFACE_AGE to 0.
# if backwards compatibility has been broken,
# set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0.
set(SDL_MAJOR_VERSION 2)
set(SDL_MINOR_VERSION 0)
set(SDL_MICRO_VERSION 5)
set(SDL_INTERFACE_AGE 1)
set(SDL_BINARY_AGE 5)
set(SDL_VERSION "${SDL_MAJOR_VERSION}.${SDL_MINOR_VERSION}.${SDL_MICRO_VERSION}")

# Calculate a libtool-like version number
math(EXPR LT_CURRENT "${SDL_MICRO_VERSION} - ${SDL_INTERFACE_AGE}")
math(EXPR LT_AGE "${SDL_BINARY_AGE} - ${SDL_INTERFACE_AGE}")
math(EXPR LT_MAJOR "${LT_CURRENT}- ${LT_AGE}")
set(LT_REVISION "${SDL_INTERFACE_AGE}")
................................................................................
# restore back to that afterwards. For check_function_exists() to work in
# Emscripten, this value must be at its default value.
set(ORIG_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})

if(CYGWIN)
  # We build SDL on cygwin without the UNIX emulation layer
  include_directories("-I/usr/include/mingw")
  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -mno-cygwin")
  check_c_source_compiles("int main(int argc, char **argv) {}"
    HAVE_GCC_NO_CYGWIN)
  set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS})
  if(HAVE_GCC_NO_CYGWIN)
    list(APPEND EXTRA_LDFLAGS "-mno-cygwin")
    list(APPEND SDL_LIBS "-mno-cygwin")
  endif()
................................................................................
    set(HAVE_SDL_JOYSTICK TRUE)
  endif()
  if(SDL_POWER)
    set(SDL_POWER_EMSCRIPTEN 1)
    file(GLOB EM_POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/emscripten/*.c)
    set(SOURCE_FILES ${SOURCE_FILES} ${EM_POWER_SOURCES})
    set(HAVE_SDL_POWER TRUE)
  endif()
  if(SDL_TIMERS)
    set(SDL_TIMER_UNIX 1)
    file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/unix/*.c)
    set(SOURCE_FILES ${SOURCE_FILES} ${TIMER_SOURCES})
    set(HAVE_SDL_TIMERS TRUE)

    if(CLOCK_GETTIME)
      set(HAVE_CLOCK_GETTIME 1)
    endif()
  endif()
  if(SDL_VIDEO)
    set(SDL_VIDEO_DRIVER_EMSCRIPTEN 1)
    file(GLOB EM_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/emscripten/*.c)
    set(SOURCE_FILES ${SOURCE_FILES} ${EM_VIDEO_SOURCES})
    set(HAVE_SDL_VIDEO TRUE)

................................................................................

    if(HAVE_INPUT_KD)
      set(SDL_INPUT_LINUXKD 1)
    endif()

    check_include_file("libudev.h" HAVE_LIBUDEV_H)

    if(PKG_CONFIG_FOUND)
      pkg_search_module(DBUS dbus-1 dbus)
      if(DBUS_FOUND)
        set(HAVE_DBUS_DBUS_H TRUE)
        include_directories(${DBUS_INCLUDE_DIRS})
        list(APPEND EXTRA_LIBS ${DBUS_LIBRARIES})
      endif()

      pkg_search_module(IBUS ibus-1.0 ibus)
      if(IBUS_FOUND)
        set(HAVE_IBUS_IBUS_H TRUE)
        include_directories(${IBUS_INCLUDE_DIRS})
        list(APPEND EXTRA_LIBS ${IBUS_LIBRARIES})
      endif()
    endif()

    check_include_file("fcitx/frontend.h" HAVE_FCITX_FRONTEND_H)

  endif()

  if(INPUT_TSLIB)
    check_c_source_compiles("
        #include \"tslib.h\"
        int main(int argc, char** argv) { }" HAVE_INPUT_TSLIB)
    if(HAVE_INPUT_TSLIB)
................................................................................
    set(SDL_FRAMEWORK_COREVIDEO 1)
  else()
    message_error("SDL_FILE must be enabled to build on MacOS X")
  endif()

  if(SDL_AUDIO)
    set(SDL_AUDIO_DRIVER_COREAUDIO 1)
    file(GLOB AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/coreaudio/*.m)
    set(SOURCE_FILES ${SOURCE_FILES} ${AUDIO_SOURCES})
    set(HAVE_SDL_AUDIO TRUE)
    set(SDL_FRAMEWORK_COREAUDIO 1)
    set(SDL_FRAMEWORK_AUDIOTOOLBOX 1)
  endif()

  if(SDL_JOYSTICK)
    set(SDL_JOYSTICK_IOKIT 1)
    if (IOS)
      file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/iphoneos/*.m)
    else()
      file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/darwin/*.c)
    endif()
    set(SOURCE_FILES ${SOURCE_FILES} ${JOYSTICK_SOURCES})
    set(HAVE_SDL_JOYSTICK TRUE)
    set(SDL_FRAMEWORK_IOKIT 1)
    set(SDL_FRAMEWORK_FF 1)
  endif()

  if(SDL_HAPTIC)
    set(SDL_HAPTIC_IOKIT 1)
    if (IOS)
      file(GLOB POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/dummy/*.c)
      set(SDL_HAPTIC_DUMMY 1)
    else()
      file(GLOB HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/darwin/*.c)
    endif()
    set(SOURCE_FILES ${SOURCE_FILES} ${HAPTIC_SOURCES})
    set(HAVE_SDL_HAPTIC TRUE)
    set(SDL_FRAMEWORK_IOKIT 1)
    set(SDL_FRAMEWORK_FF 1)
    if(NOT SDL_JOYSTICK)
      message(FATAL_ERROR "SDL_HAPTIC requires SDL_JOYSTICK to be enabled")
    endif()
  endif()

  if(SDL_POWER)
    set(SDL_POWER_MACOSX 1)
    if (IOS)
      file(GLOB POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/uikit/*.m)
    else()
      file(GLOB POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/macosx/*.c)
    endif()
    set(SOURCE_FILES ${SOURCE_FILES} ${POWER_SOURCES})
    set(HAVE_SDL_POWER TRUE)
    set(SDL_FRAMEWORK_CARBON 1)
    set(SDL_FRAMEWORK_IOKIT 1)
  endif()

  if(SDL_TIMERS)
................................................................................
    find_library(CARBON_LIBRARY Carbon)
    list(APPEND EXTRA_LIBS ${CARBON_LIBRARY})
  endif()
  if(SDL_FRAMEWORK_COREAUDIO)
    find_library(COREAUDIO CoreAudio)
    list(APPEND EXTRA_LIBS ${COREAUDIO})
  endif()
  if(SDL_FRAMEWORK_AUDIOTOOLBOX)
    find_library(AUDIOTOOLBOX AudioToolbox)
    list(APPEND EXTRA_LIBS ${AUDIOTOOLBOX})
  endif()

  # iOS hack needed - http://code.google.com/p/ios-cmake/ ?
  if(SDL_VIDEO)
    if (IOS)
      set(SDL_VIDEO_DRIVER_UIKIT 1)
      file(GLOB UIKITVIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/uikit/*.m)
      set(SOURCE_FILES ${SOURCE_FILES} ${UIKITVIDEO_SOURCES})
    else()
      CheckCOCOA()
      if(VIDEO_OPENGL)
        set(SDL_VIDEO_OPENGL 1)
        set(SDL_VIDEO_OPENGL_CGL 1)
        set(SDL_VIDEO_RENDER_OGL 1)
        set(HAVE_VIDEO_OPENGL TRUE)
      endif()
    endif()
  endif()

  CheckPTHREAD()
elseif(HAIKU)
  if(SDL_VIDEO)
    set(SDL_VIDEO_DRIVER_HAIKU 1)
................................................................................
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")

# Always build SDLmain
add_library(SDL2main STATIC ${SDLMAIN_SOURCES})
set(_INSTALL_LIBS "SDL2main")

if(SDL_SHARED)
  add_library(SDL2 SHARED ${SOURCE_FILES} ${VERSION_SOURCES})
  if(UNIX)
    set_target_properties(SDL2 PROPERTIES
      VERSION ${LT_VERSION}
      SOVERSION ${LT_REVISION}
      OUTPUT_NAME "SDL2-${LT_RELEASE}")
  else()
    set_target_properties(SDL2 PROPERTIES
................................................................................
    install(FILES ${SDL2_BINARY_DIR}/sdl2.pc DESTINATION "libdata/pkgconfig")
  else()
    install(FILES ${SDL2_BINARY_DIR}/sdl2.pc
      DESTINATION "lib${LIB_SUFFIX}/pkgconfig")
  endif()
  install(PROGRAMS ${SDL2_BINARY_DIR}/sdl2-config DESTINATION bin)
  # TODO: what about the .spec file? Is it only needed for RPM creation?
  install(FILES "${SDL2_SOURCE_DIR}/sdl2.m4" DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}/aclocal")
endif()

##### Uninstall target #####

configure_file(
    "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
    "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
    IMMEDIATE @ONLY)

add_custom_target(uninstall
    COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)

Changes to jni/SDL2/Makefile.in.

1
2
3
4
5

6
7
8
9
10
11
12
..
27
28
29
30
31
32
33


34
35
36
37
38
39
40


41
42
43
44
45
46
47
48
49
50

51
52
53
54
55
56
57
...
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
...
196
197
198
199
200
201
202

203
204
205
206
207
208
209
# Makefile to build and install the SDL library

top_builddir = .
srcdir  = @srcdir@
objects = build

prefix = @prefix@
exec_prefix = @exec_prefix@
bindir	= @bindir@
libdir  = @libdir@
includedir = @includedir@
datarootdir = @datarootdir@
datadir	= @datadir@
................................................................................
INSTALL = @INSTALL@
AR	= @AR@
RANLIB	= @RANLIB@
WINDRES	= @WINDRES@

TARGET  = libSDL2.la
OBJECTS = @OBJECTS@


VERSION_OBJECTS = @VERSION_OBJECTS@

SDLMAIN_TARGET = libSDL2main.a
SDLMAIN_OBJECTS = @SDLMAIN_OBJECTS@

SDLTEST_TARGET = libSDL2_test.a
SDLTEST_OBJECTS = @SDLTEST_OBJECTS@



SRC_DIST = *.txt acinclude Android.mk autogen.sh android-project build-scripts cmake cmake_uninstall.cmake.in configure configure.in debian docs include Makefile.* sdl2-config.cmake.in sdl2-config.in sdl2.m4 sdl2.pc.in SDL2.spec.in src test VisualC.html VisualC VisualC-WinRT Xcode Xcode-iOS
GEN_DIST = SDL2.spec

ifneq ($V,1)
RUN_CMD_AR     = @echo "  AR    " $@;
RUN_CMD_CC     = @echo "  CC    " $@;
RUN_CMD_CXX    = @echo "  CXX   " $@;
RUN_CMD_LTLINK = @echo "  LTLINK" $@;
RUN_CMD_RANLIB = @echo "  RANLIB" $@;

LIBTOOL += --quiet
endif

HDRS = \
	SDL.h \
	SDL_assert.h \
	SDL_atomic.h \
................................................................................
	$(SHELL) $(auxdir)/mkinstalldirs $@

update-revision:
	$(SHELL) $(auxdir)/updaterev.sh

.PHONY: all update-revision install install-bin install-hdrs install-lib install-data uninstall uninstall-bin uninstall-hdrs uninstall-lib uninstall-data clean distclean dist $(OBJECTS:.lo=.d)

$(objects)/$(TARGET): $(OBJECTS) $(VERSION_OBJECTS)
	$(RUN_CMD_LTLINK)$(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ $(OBJECTS) $(VERSION_OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)

$(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS)
	$(RUN_CMD_AR)$(AR) cru $@ $(SDLMAIN_OBJECTS)
	$(RUN_CMD_RANLIB)$(RANLIB) $@

$(objects)/$(SDLTEST_TARGET): $(SDLTEST_OBJECTS)
	$(RUN_CMD_AR)$(AR) cru $@ $(SDLTEST_OBJECTS)
................................................................................
uninstall-data:
	rm -f $(DESTDIR)$(datadir)/aclocal/sdl2.m4
	rm -f $(DESTDIR)$(libdir)/pkgconfig/sdl2.pc
	rm -f $(DESTDIR)$(libdir)/cmake/SDL2/sdl2-config.cmake

clean:
	rm -rf $(objects)

	if test -f test/Makefile; then (cd test; $(MAKE) $@); fi

distclean: clean
	rm -f Makefile Makefile.rules sdl2-config
	rm -f config.status config.cache config.log libtool
	rm -rf $(srcdir)/autom4te*
	find $(srcdir) \( \





>







 







>
>







>
>










>







 







|
|







 







>







1
2
3
4
5
6
7
8
9
10
11
12
13
..
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
...
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
...
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
# Makefile to build and install the SDL library

top_builddir = .
srcdir  = @srcdir@
objects = build
gen = gen
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir	= @bindir@
libdir  = @libdir@
includedir = @includedir@
datarootdir = @datarootdir@
datadir	= @datadir@
................................................................................
INSTALL = @INSTALL@
AR	= @AR@
RANLIB	= @RANLIB@
WINDRES	= @WINDRES@

TARGET  = libSDL2.la
OBJECTS = @OBJECTS@
GEN_HEADERS = @GEN_HEADERS@
GEN_OBJECTS = @GEN_OBJECTS@
VERSION_OBJECTS = @VERSION_OBJECTS@

SDLMAIN_TARGET = libSDL2main.a
SDLMAIN_OBJECTS = @SDLMAIN_OBJECTS@

SDLTEST_TARGET = libSDL2_test.a
SDLTEST_OBJECTS = @SDLTEST_OBJECTS@

WAYLAND_SCANNER = @WAYLAND_SCANNER@

SRC_DIST = *.txt acinclude Android.mk autogen.sh android-project build-scripts cmake cmake_uninstall.cmake.in configure configure.in debian docs include Makefile.* sdl2-config.cmake.in sdl2-config.in sdl2.m4 sdl2.pc.in SDL2.spec.in src test VisualC.html VisualC VisualC-WinRT Xcode Xcode-iOS
GEN_DIST = SDL2.spec

ifneq ($V,1)
RUN_CMD_AR     = @echo "  AR    " $@;
RUN_CMD_CC     = @echo "  CC    " $@;
RUN_CMD_CXX    = @echo "  CXX   " $@;
RUN_CMD_LTLINK = @echo "  LTLINK" $@;
RUN_CMD_RANLIB = @echo "  RANLIB" $@;
RUN_CMD_GEN    = @echo "  GEN   " $@;
LIBTOOL += --quiet
endif

HDRS = \
	SDL.h \
	SDL_assert.h \
	SDL_atomic.h \
................................................................................
	$(SHELL) $(auxdir)/mkinstalldirs $@

update-revision:
	$(SHELL) $(auxdir)/updaterev.sh

.PHONY: all update-revision install install-bin install-hdrs install-lib install-data uninstall uninstall-bin uninstall-hdrs uninstall-lib uninstall-data clean distclean dist $(OBJECTS:.lo=.d)

$(objects)/$(TARGET): $(GEN_HEADERS) $(GEN_OBJECTS) $(OBJECTS) $(VERSION_OBJECTS)
	$(RUN_CMD_LTLINK)$(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ $(OBJECTS) $(GEN_OBJECTS) $(VERSION_OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)

$(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS)
	$(RUN_CMD_AR)$(AR) cru $@ $(SDLMAIN_OBJECTS)
	$(RUN_CMD_RANLIB)$(RANLIB) $@

$(objects)/$(SDLTEST_TARGET): $(SDLTEST_OBJECTS)
	$(RUN_CMD_AR)$(AR) cru $@ $(SDLTEST_OBJECTS)
................................................................................
uninstall-data:
	rm -f $(DESTDIR)$(datadir)/aclocal/sdl2.m4
	rm -f $(DESTDIR)$(libdir)/pkgconfig/sdl2.pc
	rm -f $(DESTDIR)$(libdir)/cmake/SDL2/sdl2-config.cmake

clean:
	rm -rf $(objects)
	rm -rf $(gen)
	if test -f test/Makefile; then (cd test; $(MAKE) $@); fi

distclean: clean
	rm -f Makefile Makefile.rules sdl2-config
	rm -f config.status config.cache config.log libtool
	rm -rf $(srcdir)/autom4te*
	find $(srcdir) \( \

Changes to jni/SDL2/Makefile.pandora.

15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
SOURCES = ./src/*.c ./src/audio/*.c ./src/cpuinfo/*.c ./src/events/*.c \
	./src/file/*.c ./src/stdlib/*.c ./src/thread/*.c ./src/timer/*.c ./src/video/*.c \
	./src/joystick/*.c ./src/haptic/*.c ./src/power/*.c ./src/video/dummy/*.c ./src/audio/disk/*.c \
	./src/audio/dummy/*.c ./src/loadso/dlopen/*.c ./src/audio/dsp/*.c \
	./src/thread/pthread/SDL_systhread.c ./src/thread/pthread/SDL_syssem.c \
	./src/thread/pthread/SDL_sysmutex.c ./src/thread/pthread/SDL_syscond.c \
	./src/joystick/linux/*.c ./src/haptic/linux/*.c ./src/timer/unix/*.c \
	./src/atomic/linux/*.c ./src/filesystem/unix/*.c \
	./src/video/pandora/SDL_pandora.o ./src/video/pandora/SDL_pandora_events.o ./src/video/x11/*.c 
	

OBJECTS = $(shell echo $(SOURCES) | sed -e 's,\.c,\.o,g')

CONFIG_H = $(shell cp include/SDL_config_pandora.h include/SDL_config.h && touch include/SDL_revision.h)








|







15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
SOURCES = ./src/*.c ./src/audio/*.c ./src/cpuinfo/*.c ./src/events/*.c \
	./src/file/*.c ./src/stdlib/*.c ./src/thread/*.c ./src/timer/*.c ./src/video/*.c \
	./src/joystick/*.c ./src/haptic/*.c ./src/power/*.c ./src/video/dummy/*.c ./src/audio/disk/*.c \
	./src/audio/dummy/*.c ./src/loadso/dlopen/*.c ./src/audio/dsp/*.c \
	./src/thread/pthread/SDL_systhread.c ./src/thread/pthread/SDL_syssem.c \
	./src/thread/pthread/SDL_sysmutex.c ./src/thread/pthread/SDL_syscond.c \
	./src/joystick/linux/*.c ./src/haptic/linux/*.c ./src/timer/unix/*.c \
	./src/atomic/*.c ./src/filesystem/unix/*.c \
	./src/video/pandora/SDL_pandora.o ./src/video/pandora/SDL_pandora_events.o ./src/video/x11/*.c 
	

OBJECTS = $(shell echo $(SOURCES) | sed -e 's,\.c,\.o,g')

CONFIG_H = $(shell cp include/SDL_config_pandora.h include/SDL_config.h && touch include/SDL_revision.h)

Changes to jni/SDL2/Makefile.wiz.

5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
..
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
RANLIB	= $(WIZSDK)/bin/arm-openwiz-linux-gnu-ranlib
CC = $(WIZSDK)/bin/arm-openwiz-linux-gnu-gcc
CXX = $(WIZSDK)/bin/arm-openwiz-linux-gnu-g++
STRIP = $(WIZSDK)/bin/arm-openwiz-linux-gnu-strip

CFLAGS  = -Wall -fPIC -I./include -I$(WIZSDK)/include -DWIZ_GLES_LITE

TARGET_STATIC  = libSDL13.a
TARGET_SHARED  = libSDL13.so

SOURCES = ./src/*.c ./src/audio/*.c ./src/cpuinfo/*.c ./src/events/*.c \
	./src/file/*.c ./src/stdlib/*.c ./src/thread/*.c ./src/timer/*.c ./src/video/*.c \
	./src/joystick/*.c ./src/haptic/*.c ./src/video/dummy/*.c ./src/audio/disk/*.c \
	./src/audio/dummy/*.c ./src/loadso/dlopen/*.c ./src/audio/dsp/*.c \
	./src/thread/pthread/SDL_systhread.c ./src/thread/pthread/SDL_syssem.c \
	./src/thread/pthread/SDL_sysmutex.c ./src/thread/pthread/SDL_syscond.c \
................................................................................
	cp include/SDL_config_wiz.h include/SDL_config.h

clean:
	rm -f $(TARGET_STATIC) $(TARGET_SHARED)* $(OBJECTS)

install:
	mkdir -p $(WIZSDK)/lib
	mkdir -p $(WIZSDK)/include/SDL13
	cp -f $(TARGET_STATIC) $(WIZSDK)/lib
	cp -f $(TARGET_SHARED).0.0.1 $(WIZSDK)/lib
	rm -f $(WIZSDK)/lib/$(TARGET_SHARED).0 $(WIZSDK)/lib/$(TARGET_SHARED)
	ln -s $(WIZSDK)/lib/$(TARGET_SHARED).0.0.1 $(WIZSDK)/lib/$(TARGET_SHARED).0
	ln -s $(WIZSDK)/lib/$(TARGET_SHARED).0 $(WIZSDK)/lib/$(TARGET_SHARED)

	cp $(TARGET_STATIC) ../../toolchain/libs
	cp $(TARGET_SHARED).0.0.1 ../../toolchain/libs
	rm -f ../../toolchain/libs/$(TARGET_SHARED).0 ../../toolchain/libs/$(TARGET_SHARED)
	ln -s ../../toolchain/libs/$(TARGET_SHARED).0.0.1 ../../toolchain/libs/$(TARGET_SHARED).0
	ln -s ../../toolchain/libs/$(TARGET_SHARED).0 ../../toolchain/libs/$(TARGET_SHARED)

	cp $(TARGET_SHARED).0.0.1 ../nehe_demos/build/$(TARGET_SHARED).0
	cp -f include/*.h $(WIZSDK)/include/SDL13/
	cp -f include/*.h ../../toolchain/include/SDL13/







|
|







 







|













|
|
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
..
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
RANLIB	= $(WIZSDK)/bin/arm-openwiz-linux-gnu-ranlib
CC = $(WIZSDK)/bin/arm-openwiz-linux-gnu-gcc
CXX = $(WIZSDK)/bin/arm-openwiz-linux-gnu-g++
STRIP = $(WIZSDK)/bin/arm-openwiz-linux-gnu-strip

CFLAGS  = -Wall -fPIC -I./include -I$(WIZSDK)/include -DWIZ_GLES_LITE

TARGET_STATIC  = libSDL2.a
TARGET_SHARED  = libSDL2.so

SOURCES = ./src/*.c ./src/audio/*.c ./src/cpuinfo/*.c ./src/events/*.c \
	./src/file/*.c ./src/stdlib/*.c ./src/thread/*.c ./src/timer/*.c ./src/video/*.c \
	./src/joystick/*.c ./src/haptic/*.c ./src/video/dummy/*.c ./src/audio/disk/*.c \
	./src/audio/dummy/*.c ./src/loadso/dlopen/*.c ./src/audio/dsp/*.c \
	./src/thread/pthread/SDL_systhread.c ./src/thread/pthread/SDL_syssem.c \
	./src/thread/pthread/SDL_sysmutex.c ./src/thread/pthread/SDL_syscond.c \
................................................................................
	cp include/SDL_config_wiz.h include/SDL_config.h

clean:
	rm -f $(TARGET_STATIC) $(TARGET_SHARED)* $(OBJECTS)

install:
	mkdir -p $(WIZSDK)/lib
	mkdir -p $(WIZSDK)/include/SDL2
	cp -f $(TARGET_STATIC) $(WIZSDK)/lib
	cp -f $(TARGET_SHARED).0.0.1 $(WIZSDK)/lib
	rm -f $(WIZSDK)/lib/$(TARGET_SHARED).0 $(WIZSDK)/lib/$(TARGET_SHARED)
	ln -s $(WIZSDK)/lib/$(TARGET_SHARED).0.0.1 $(WIZSDK)/lib/$(TARGET_SHARED).0
	ln -s $(WIZSDK)/lib/$(TARGET_SHARED).0 $(WIZSDK)/lib/$(TARGET_SHARED)

	cp $(TARGET_STATIC) ../../toolchain/libs
	cp $(TARGET_SHARED).0.0.1 ../../toolchain/libs
	rm -f ../../toolchain/libs/$(TARGET_SHARED).0 ../../toolchain/libs/$(TARGET_SHARED)
	ln -s ../../toolchain/libs/$(TARGET_SHARED).0.0.1 ../../toolchain/libs/$(TARGET_SHARED).0
	ln -s ../../toolchain/libs/$(TARGET_SHARED).0 ../../toolchain/libs/$(TARGET_SHARED)

	cp $(TARGET_SHARED).0.0.1 ../nehe_demos/build/$(TARGET_SHARED).0
	cp -f include/*.h $(WIZSDK)/include/SDL2/
	cp -f include/*.h ../../toolchain/include/SDL2/

Changes to jni/SDL2/SDL2.spec.

1
2
3
4
5
6
7
8
9
10
Summary: Simple DirectMedia Layer
Name: SDL2
Version: 2.0.4
Release: 2
Source: http://www.libsdl.org/release/%{name}-%{version}.tar.gz
URL: http://www.libsdl.org/
License: zlib
Group: System Environment/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
Prefix: %{_prefix}


|







1
2
3
4
5
6
7
8
9
10
Summary: Simple DirectMedia Layer
Name: SDL2
Version: 2.0.5
Release: 2
Source: http://www.libsdl.org/release/%{name}-%{version}.tar.gz
URL: http://www.libsdl.org/
License: zlib
Group: System Environment/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
Prefix: %{_prefix}

Changes to jni/SDL2/VisualC-WinRT/UWP_VS2015/SDL-UWP.vcxproj.

77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
...
152
153
154
155
156
157
158

159
160
161
162
163
164
165
...
307
308
309
310
311
312
313








314
315
316
317
318
319
320
    <ClInclude Include="..\..\include\SDL_touch.h" />
    <ClInclude Include="..\..\include\SDL_types.h" />
    <ClInclude Include="..\..\include\SDL_version.h" />
    <ClInclude Include="..\..\include\SDL_video.h" />
    <ClInclude Include="..\..\src\audio\disk\SDL_diskaudio.h" />
    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiomem.h" />
    <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_wave.h" />
    <ClInclude Include="..\..\src\audio\xaudio2\SDL_xaudio2.h" />
    <ClInclude Include="..\..\src\audio\xaudio2\SDL_xaudio2_winrthelpers.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_directx.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_windows.h" />
................................................................................
    <ClInclude Include="..\..\src\video\SDL_egl_c.h" />
    <ClInclude Include="..\..\src\video\SDL_pixels_c.h" />
    <ClInclude Include="..\..\src\video\SDL_rect_c.h" />
    <ClInclude Include="..\..\src\video\SDL_RLEaccel_c.h" />
    <ClInclude Include="..\..\src\video\SDL_shape_internals.h" />
    <ClInclude Include="..\..\src\video\SDL_sysvideo.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtevents_c.h" />

    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmessagebox.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmouse_c.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtopengles.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtvideo_cpp.h" />
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\atomic\SDL_atomic.c" />
................................................................................
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
    </ClCompile>








    <ClCompile Include="..\..\src\video\winrt\SDL_winrtkeyboard.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>







<







 







>







 







>
>
>
>
>
>
>
>







77
78
79
80
81
82
83

84
85
86
87
88
89
90
...
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
...
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
    <ClInclude Include="..\..\include\SDL_touch.h" />
    <ClInclude Include="..\..\include\SDL_types.h" />
    <ClInclude Include="..\..\include\SDL_version.h" />
    <ClInclude Include="..\..\include\SDL_video.h" />
    <ClInclude Include="..\..\src\audio\disk\SDL_diskaudio.h" />
    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />

    <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_wave.h" />
    <ClInclude Include="..\..\src\audio\xaudio2\SDL_xaudio2.h" />
    <ClInclude Include="..\..\src\audio\xaudio2\SDL_xaudio2_winrthelpers.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_directx.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_windows.h" />
................................................................................
    <ClInclude Include="..\..\src\video\SDL_egl_c.h" />
    <ClInclude Include="..\..\src\video\SDL_pixels_c.h" />
    <ClInclude Include="..\..\src\video\SDL_rect_c.h" />
    <ClInclude Include="..\..\src\video\SDL_RLEaccel_c.h" />
    <ClInclude Include="..\..\src\video\SDL_shape_internals.h" />
    <ClInclude Include="..\..\src\video\SDL_sysvideo.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtevents_c.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtgamebar_cpp.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmessagebox.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmouse_c.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtopengles.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtvideo_cpp.h" />
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\atomic\SDL_atomic.c" />
................................................................................
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtgamebar.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtkeyboard.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>

Changes to jni/SDL2/VisualC-WinRT/UWP_VS2015/SDL-UWP.vcxproj.filters.

170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
...
397
398
399
400
401
402
403



404
405
406
407
408
409
410
...
711
712
713
714
715
716
717



718
719
720
    </ClInclude>
    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_audiomem.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_audio_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_wave.h">
................................................................................
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\haptic\windows\SDL_dinputhaptic_c.h" />
    <ClInclude Include="..\..\src\haptic\windows\SDL_windowshaptic_c.h" />
    <ClInclude Include="..\..\src\haptic\windows\SDL_xinputhaptic_c.h" />
    <ClInclude Include="..\..\src\audio\xaudio2\SDL_xaudio2.h">
      <Filter>Source Files</Filter>



    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\atomic\SDL_atomic.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\atomic\SDL_spinlock.c">
................................................................................
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\haptic\windows\SDL_dinputhaptic.c" />
    <ClCompile Include="..\..\src\haptic\windows\SDL_windowshaptic.c" />
    <ClCompile Include="..\..\src\haptic\windows\SDL_xinputhaptic.c" />
    <ClCompile Include="..\..\src\audio\xaudio2\SDL_xaudio2.c">
      <Filter>Source Files</Filter>



    </ClCompile>
  </ItemGroup>
</Project>







<
<
<







 







>
>
>







 







>
>
>



170
171
172
173
174
175
176



177
178
179
180
181
182
183
...
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
...
711
712
713
714
715
716
717
718
719
720
721
722
723
    </ClInclude>
    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>



    <ClInclude Include="..\..\src\audio\SDL_audio_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_wave.h">
................................................................................
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\haptic\windows\SDL_dinputhaptic_c.h" />
    <ClInclude Include="..\..\src\haptic\windows\SDL_windowshaptic_c.h" />
    <ClInclude Include="..\..\src\haptic\windows\SDL_xinputhaptic_c.h" />
    <ClInclude Include="..\..\src\audio\xaudio2\SDL_xaudio2.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtgamebar_cpp.h">
      <Filter>Source Files</Filter>
    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\atomic\SDL_atomic.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\atomic\SDL_spinlock.c">
................................................................................
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\haptic\windows\SDL_dinputhaptic.c" />
    <ClCompile Include="..\..\src\haptic\windows\SDL_windowshaptic.c" />
    <ClCompile Include="..\..\src\haptic\windows\SDL_xinputhaptic.c" />
    <ClCompile Include="..\..\src\audio\xaudio2\SDL_xaudio2.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtgamebar.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>

Changes to jni/SDL2/VisualC-WinRT/WinPhone80_VS2012/SDL-WinPhone80.vcxproj.

204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
...
269
270
271
272
273
274
275

276
277
278
279
280
281
282
...
404
405
406
407
408
409
410






411
412
413
414
415
416
417
    <ClInclude Include="..\..\include\SDL_touch.h" />
    <ClInclude Include="..\..\include\SDL_types.h" />
    <ClInclude Include="..\..\include\SDL_version.h" />
    <ClInclude Include="..\..\include\SDL_video.h" />
    <ClInclude Include="..\..\src\audio\disk\SDL_diskaudio.h" />
    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiomem.h" />
    <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_wave.h" />
    <ClInclude Include="..\..\src\audio\xaudio2\SDL_xaudio2_winrthelpers.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_windows.h" />
    <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_common.h" />
    <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_direct3d.h" />
................................................................................
    <ClInclude Include="..\..\src\video\SDL_egl_c.h" />
    <ClInclude Include="..\..\src\video\SDL_pixels_c.h" />
    <ClInclude Include="..\..\src\video\SDL_rect_c.h" />
    <ClInclude Include="..\..\src\video\SDL_RLEaccel_c.h" />
    <ClInclude Include="..\..\src\video\SDL_shape_internals.h" />
    <ClInclude Include="..\..\src\video\SDL_sysvideo.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtevents_c.h" />

    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmessagebox.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmouse_c.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtopengles.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtvideo_cpp.h" />
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\atomic\SDL_atomic.c" />
................................................................................
    <ClCompile Include="..\..\src\video\SDL_video.c" />
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtevents.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
    </ClCompile>






    <ClCompile Include="..\..\src\video\winrt\SDL_winrtkeyboard.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtmessagebox.cpp">







<







 







>







 







>
>
>
>
>
>







204
205
206
207
208
209
210

211
212
213
214
215
216
217
...
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
...
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
    <ClInclude Include="..\..\include\SDL_touch.h" />
    <ClInclude Include="..\..\include\SDL_types.h" />
    <ClInclude Include="..\..\include\SDL_version.h" />
    <ClInclude Include="..\..\include\SDL_video.h" />
    <ClInclude Include="..\..\src\audio\disk\SDL_diskaudio.h" />
    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />

    <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_wave.h" />
    <ClInclude Include="..\..\src\audio\xaudio2\SDL_xaudio2_winrthelpers.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_windows.h" />
    <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_common.h" />
    <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_direct3d.h" />
................................................................................
    <ClInclude Include="..\..\src\video\SDL_egl_c.h" />
    <ClInclude Include="..\..\src\video\SDL_pixels_c.h" />
    <ClInclude Include="..\..\src\video\SDL_rect_c.h" />
    <ClInclude Include="..\..\src\video\SDL_RLEaccel_c.h" />
    <ClInclude Include="..\..\src\video\SDL_shape_internals.h" />
    <ClInclude Include="..\..\src\video\SDL_sysvideo.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtevents_c.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtgamebar_cpp.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmessagebox.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmouse_c.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtopengles.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtvideo_cpp.h" />
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\atomic\SDL_atomic.c" />
................................................................................
    <ClCompile Include="..\..\src\video\SDL_video.c" />
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtevents.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtgamebar.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtkeyboard.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtmessagebox.cpp">

Changes to jni/SDL2/VisualC-WinRT/WinPhone80_VS2012/SDL-WinPhone80.vcxproj.filters.

155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
...
367
368
369
370
371
372
373



374
375
376
377
378
379
380
...
669
670
671
672
673
674
675



676
677
678
    </ClInclude>
    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_audiomem.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_audio_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_wave.h">
................................................................................
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtopengles.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\video\SDL_egl_c.h">
      <Filter>Source Files</Filter>



    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\atomic\SDL_atomic.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\atomic\SDL_spinlock.c">
................................................................................
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtopengles.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\video\SDL_egl.c">
      <Filter>Source Files</Filter>



    </ClCompile>
  </ItemGroup>
</Project>







<
<
<







 







>
>
>







 







>
>
>



155
156
157
158
159
160
161



162
163
164
165
166
167
168
...
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
...
669
670
671
672
673
674
675
676
677
678
679
680
681
    </ClInclude>
    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>



    <ClInclude Include="..\..\src\audio\SDL_audio_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_wave.h">
................................................................................
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtopengles.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\video\SDL_egl_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtgamebar_cpp.h">
      <Filter>Source Files</Filter>
    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\atomic\SDL_atomic.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\atomic\SDL_spinlock.c">
................................................................................
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtopengles.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\video\SDL_egl.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtgamebar.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>

Changes to jni/SDL2/VisualC-WinRT/WinPhone81_VS2013/SDL-WinPhone81.vcxproj.

69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
...
135
136
137
138
139
140
141

142
143
144
145
146
147
148
...
271
272
273
274
275
276
277






278
279
280
281
282
283
284
    <ClInclude Include="..\..\include\SDL_touch.h" />
    <ClInclude Include="..\..\include\SDL_types.h" />
    <ClInclude Include="..\..\include\SDL_version.h" />
    <ClInclude Include="..\..\include\SDL_video.h" />
    <ClInclude Include="..\..\src\audio\disk\SDL_diskaudio.h" />
    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiomem.h" />
    <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_wave.h" />
    <ClInclude Include="..\..\src\audio\xaudio2\SDL_xaudio2_winrthelpers.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_windows.h" />
    <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_common.h" />
    <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_direct3d.h" />
................................................................................
    <ClInclude Include="..\..\src\video\SDL_egl_c.h" />
    <ClInclude Include="..\..\src\video\SDL_pixels_c.h" />
    <ClInclude Include="..\..\src\video\SDL_rect_c.h" />
    <ClInclude Include="..\..\src\video\SDL_RLEaccel_c.h" />
    <ClInclude Include="..\..\src\video\SDL_shape_internals.h" />
    <ClInclude Include="..\..\src\video\SDL_sysvideo.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtevents_c.h" />

    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmessagebox.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmouse_c.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtopengles.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtvideo_cpp.h" />
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\atomic\SDL_atomic.c" />
................................................................................
    <ClCompile Include="..\..\src\video\SDL_video.c" />
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtevents.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
    </ClCompile>






    <ClCompile Include="..\..\src\video\winrt\SDL_winrtkeyboard.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtmessagebox.cpp">







<







 







>







 







>
>
>
>
>
>







69
70
71
72
73
74
75

76
77
78
79
80
81
82
...
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
...
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
    <ClInclude Include="..\..\include\SDL_touch.h" />
    <ClInclude Include="..\..\include\SDL_types.h" />
    <ClInclude Include="..\..\include\SDL_version.h" />
    <ClInclude Include="..\..\include\SDL_video.h" />
    <ClInclude Include="..\..\src\audio\disk\SDL_diskaudio.h" />
    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />

    <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_wave.h" />
    <ClInclude Include="..\..\src\audio\xaudio2\SDL_xaudio2_winrthelpers.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_windows.h" />
    <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_common.h" />
    <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_direct3d.h" />
................................................................................
    <ClInclude Include="..\..\src\video\SDL_egl_c.h" />
    <ClInclude Include="..\..\src\video\SDL_pixels_c.h" />
    <ClInclude Include="..\..\src\video\SDL_rect_c.h" />
    <ClInclude Include="..\..\src\video\SDL_RLEaccel_c.h" />
    <ClInclude Include="..\..\src\video\SDL_shape_internals.h" />
    <ClInclude Include="..\..\src\video\SDL_sysvideo.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtevents_c.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtgamebar_cpp.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmessagebox.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmouse_c.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtopengles.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtvideo_cpp.h" />
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\atomic\SDL_atomic.c" />
................................................................................
    <ClCompile Include="..\..\src\video\SDL_video.c" />
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtevents.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtgamebar.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtkeyboard.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtmessagebox.cpp">

Changes to jni/SDL2/VisualC-WinRT/WinPhone81_VS2013/SDL-WinPhone81.vcxproj.filters.

170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
...
376
377
378
379
380
381
382



383
384
385
386
387
388
389
...
681
682
683
684
685
686
687



688
689
690
    </ClInclude>
    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_audiomem.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_audio_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_wave.h">
................................................................................
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\joystick\windows\SDL_xinputjoystick_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\thread\windows\SDL_systhread_c.h">
      <Filter>Source Files</Filter>



    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\atomic\SDL_atomic.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\atomic\SDL_spinlock.c">
................................................................................
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\thread\windows\SDL_systls.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\thread\generic\SDL_syscond.c">
      <Filter>Source Files</Filter>



    </ClCompile>
  </ItemGroup>
</Project>







<
<
<







 







>
>
>







 







>
>
>



170
171
172
173
174
175
176



177
178
179
180
181
182
183
...
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
...
681
682
683
684
685
686
687
688
689
690
691
692
693
    </ClInclude>
    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>



    <ClInclude Include="..\..\src\audio\SDL_audio_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_wave.h">
................................................................................
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\joystick\windows\SDL_xinputjoystick_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\thread\windows\SDL_systhread_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtgamebar_cpp.h">
      <Filter>Source Files</Filter>
    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\atomic\SDL_atomic.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\atomic\SDL_spinlock.c">
................................................................................
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\thread\windows\SDL_systls.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\thread\generic\SDL_syscond.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtgamebar.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>

Changes to jni/SDL2/VisualC-WinRT/WinRT80_VS2012/SDL-WinRT80.vcxproj.

171
172
173
174
175
176
177








178
179
180
181
182
183
184
...
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
...
349
350
351
352
353
354
355

356
357
358
359
360
361
362
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
    </ClCompile>








    <ClCompile Include="..\..\src\video\winrt\SDL_winrtkeyboard.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
................................................................................
    <ClInclude Include="..\..\include\SDL_touch.h" />
    <ClInclude Include="..\..\include\SDL_types.h" />
    <ClInclude Include="..\..\include\SDL_version.h" />
    <ClInclude Include="..\..\include\SDL_video.h" />
    <ClInclude Include="..\..\src\audio\disk\SDL_diskaudio.h" />
    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiomem.h" />
    <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_wave.h" />
    <ClInclude Include="..\..\src\audio\xaudio2\SDL_xaudio2_winrthelpers.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_directx.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_windows.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_xinput.h" />
................................................................................
    <ClInclude Include="..\..\src\video\SDL_egl_c.h" />
    <ClInclude Include="..\..\src\video\SDL_pixels_c.h" />
    <ClInclude Include="..\..\src\video\SDL_rect_c.h" />
    <ClInclude Include="..\..\src\video\SDL_RLEaccel_c.h" />
    <ClInclude Include="..\..\src\video\SDL_shape_internals.h" />
    <ClInclude Include="..\..\src\video\SDL_sysvideo.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtevents_c.h" />

    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmessagebox.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmouse_c.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtopengles.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtvideo_cpp.h" />
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>{aeaea3a2-d4e6-45b1-8ec6-53d84287fc14}</ProjectGuid>







>
>
>
>
>
>
>
>







 







<







 







>







171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
...
283
284
285
286
287
288
289

290
291
292
293
294
295
296
...
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtgamebar.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtkeyboard.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
................................................................................
    <ClInclude Include="..\..\include\SDL_touch.h" />
    <ClInclude Include="..\..\include\SDL_types.h" />
    <ClInclude Include="..\..\include\SDL_version.h" />
    <ClInclude Include="..\..\include\SDL_video.h" />
    <ClInclude Include="..\..\src\audio\disk\SDL_diskaudio.h" />
    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />

    <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_wave.h" />
    <ClInclude Include="..\..\src\audio\xaudio2\SDL_xaudio2_winrthelpers.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_directx.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_windows.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_xinput.h" />
................................................................................
    <ClInclude Include="..\..\src\video\SDL_egl_c.h" />
    <ClInclude Include="..\..\src\video\SDL_pixels_c.h" />
    <ClInclude Include="..\..\src\video\SDL_rect_c.h" />
    <ClInclude Include="..\..\src\video\SDL_RLEaccel_c.h" />
    <ClInclude Include="..\..\src\video\SDL_shape_internals.h" />
    <ClInclude Include="..\..\src\video\SDL_sysvideo.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtevents_c.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtgamebar_cpp.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmessagebox.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmouse_c.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtopengles.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtvideo_cpp.h" />
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>{aeaea3a2-d4e6-45b1-8ec6-53d84287fc14}</ProjectGuid>

Changes to jni/SDL2/VisualC-WinRT/WinRT80_VS2012/SDL-WinRT80.vcxproj.filters.

312
313
314
315
316
317
318



319
320
321
322
323
324
325
...
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
...
709
710
711
712
713
714
715



716
717
718
719
720
721
722
723
724
725
726
    </ClCompile>
    <ClCompile Include="..\..\src\haptic\windows\SDL_xinputhaptic.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\haptic\windows\SDL_windowshaptic.c">
      <Filter>Source Files</Filter>
    </ClCompile>



  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="..\..\include\begin_code.h">
      <Filter>Header Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\include\close_code.h">
      <Filter>Header Files</Filter>
................................................................................
    </ClInclude>
    <ClInclude Include="..\..\include\SDL_blendmode.h">
      <Filter>Header Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\include\SDL_clipboard.h">
      <Filter>Header Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_audiomem.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\render\software\SDL_blendfillrect.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\render\software\SDL_blendline.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\render\software\SDL_blendpoint.h">
................................................................................
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\haptic\windows\SDL_dinputhaptic_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\haptic\windows\SDL_xinputhaptic_c.h">
      <Filter>Source Files</Filter>



    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <Filter Include="Header Files">
      <UniqueIdentifier>{20773b57-7034-4c24-af5a-334844585f1b}</UniqueIdentifier>
    </Filter>
    <Filter Include="Source Files">
      <UniqueIdentifier>{ddf04d85-6a87-4c5a-bc52-869b38f45a61}</UniqueIdentifier>
    </Filter>
  </ItemGroup>
</Project>







>
>
>







 







<
<
<







 







>
>
>











312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
...
416
417
418
419
420
421
422



423
424
425
426
427
428
429
...
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
    </ClCompile>
    <ClCompile Include="..\..\src\haptic\windows\SDL_xinputhaptic.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\haptic\windows\SDL_windowshaptic.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtgamebar.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="..\..\include\begin_code.h">
      <Filter>Header Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\include\close_code.h">
      <Filter>Header Files</Filter>
................................................................................
    </ClInclude>
    <ClInclude Include="..\..\include\SDL_blendmode.h">
      <Filter>Header Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\include\SDL_clipboard.h">
      <Filter>Header Files</Filter>
    </ClInclude>



    <ClInclude Include="..\..\src\render\software\SDL_blendfillrect.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\render\software\SDL_blendline.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\render\software\SDL_blendpoint.h">
................................................................................
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\haptic\windows\SDL_dinputhaptic_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\haptic\windows\SDL_xinputhaptic_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtgamebar_cpp.h">
      <Filter>Source Files</Filter>
    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <Filter Include="Header Files">
      <UniqueIdentifier>{20773b57-7034-4c24-af5a-334844585f1b}</UniqueIdentifier>
    </Filter>
    <Filter Include="Source Files">
      <UniqueIdentifier>{ddf04d85-6a87-4c5a-bc52-869b38f45a61}</UniqueIdentifier>
    </Filter>
  </ItemGroup>
</Project>

Changes to jni/SDL2/VisualC-WinRT/WinRT81_VS2013/SDL-WinRT81.vcxproj.

77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
...
149
150
151
152
153
154
155

156
157
158
159
160
161
162
...
305
306
307
308
309
310
311








312
313
314
315
316
317
318
    <ClInclude Include="..\..\include\SDL_touch.h" />
    <ClInclude Include="..\..\include\SDL_types.h" />
    <ClInclude Include="..\..\include\SDL_version.h" />
    <ClInclude Include="..\..\include\SDL_video.h" />
    <ClInclude Include="..\..\src\audio\disk\SDL_diskaudio.h" />
    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiomem.h" />
    <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_wave.h" />
    <ClInclude Include="..\..\src\audio\xaudio2\SDL_xaudio2_winrthelpers.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_directx.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_windows.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_xinput.h" />
................................................................................
    <ClInclude Include="..\..\src\video\SDL_egl_c.h" />
    <ClInclude Include="..\..\src\video\SDL_pixels_c.h" />
    <ClInclude Include="..\..\src\video\SDL_rect_c.h" />
    <ClInclude Include="..\..\src\video\SDL_RLEaccel_c.h" />
    <ClInclude Include="..\..\src\video\SDL_shape_internals.h" />
    <ClInclude Include="..\..\src\video\SDL_sysvideo.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtevents_c.h" />

    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmessagebox.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmouse_c.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtopengles.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtvideo_cpp.h" />
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\atomic\SDL_atomic.c" />
................................................................................
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
    </ClCompile>








    <ClCompile Include="..\..\src\video\winrt\SDL_winrtkeyboard.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>







<







 







>







 







>
>
>
>
>
>
>
>







77
78
79
80
81
82
83

84
85
86
87
88
89
90
...
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
...
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
    <ClInclude Include="..\..\include\SDL_touch.h" />
    <ClInclude Include="..\..\include\SDL_types.h" />
    <ClInclude Include="..\..\include\SDL_version.h" />
    <ClInclude Include="..\..\include\SDL_video.h" />
    <ClInclude Include="..\..\src\audio\disk\SDL_diskaudio.h" />
    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />

    <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h" />
    <ClInclude Include="..\..\src\audio\SDL_wave.h" />
    <ClInclude Include="..\..\src\audio\xaudio2\SDL_xaudio2_winrthelpers.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_directx.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_windows.h" />
    <ClInclude Include="..\..\src\core\windows\SDL_xinput.h" />
................................................................................
    <ClInclude Include="..\..\src\video\SDL_egl_c.h" />
    <ClInclude Include="..\..\src\video\SDL_pixels_c.h" />
    <ClInclude Include="..\..\src\video\SDL_rect_c.h" />
    <ClInclude Include="..\..\src\video\SDL_RLEaccel_c.h" />
    <ClInclude Include="..\..\src\video\SDL_shape_internals.h" />
    <ClInclude Include="..\..\src\video\SDL_sysvideo.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtevents_c.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtgamebar_cpp.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmessagebox.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtmouse_c.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtopengles.h" />
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtvideo_cpp.h" />
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\atomic\SDL_atomic.c" />
................................................................................
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtgamebar.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtkeyboard.cpp">
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>

Changes to jni/SDL2/VisualC-WinRT/WinRT81_VS2013/SDL-WinRT81.vcxproj.filters.

170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
...
388
389
390
391
392
393
394



395
396
397
398
399
400
401
...
705
706
707
708
709
710
711



712
713
714
    </ClInclude>
    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_audiomem.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_audio_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_wave.h">
................................................................................
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\haptic\windows\SDL_windowshaptic_c.h" />
    <ClInclude Include="..\..\src\haptic\windows\SDL_dinputhaptic_c.h" />
    <ClInclude Include="..\..\src\haptic\windows\SDL_xinputhaptic_c.h" />
    <ClInclude Include="..\..\src\thread\windows\SDL_systhread_c.h">
      <Filter>Source Files</Filter>



    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\atomic\SDL_atomic.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\atomic\SDL_spinlock.c">
................................................................................
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\thread\generic\SDL_syscond.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\thread\windows\SDL_syssem.c">
      <Filter>Source Files</Filter>



    </ClCompile>
  </ItemGroup>
</Project>







<
<
<







 







>
>
>







 







>
>
>



170
171
172
173
174
175
176



177
178
179
180
181
182
183
...
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
...
705
706
707
708
709
710
711
712
713
714
715
716
717
    </ClInclude>
    <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>



    <ClInclude Include="..\..\src\audio\SDL_audio_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_sysaudio.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\audio\SDL_wave.h">
................................................................................
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\haptic\windows\SDL_windowshaptic_c.h" />
    <ClInclude Include="..\..\src\haptic\windows\SDL_dinputhaptic_c.h" />
    <ClInclude Include="..\..\src\haptic\windows\SDL_xinputhaptic_c.h" />
    <ClInclude Include="..\..\src\thread\windows\SDL_systhread_c.h">
      <Filter>Source Files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\src\video\winrt\SDL_winrtgamebar_cpp.h">
      <Filter>Source Files</Filter>
    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\atomic\SDL_atomic.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\atomic\SDL_spinlock.c">
................................................................................
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\thread\generic\SDL_syscond.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\thread\windows\SDL_syssem.c">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\video\winrt\SDL_winrtgamebar.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
</Project>

Changes to jni/SDL2/VisualC/SDL/SDL.vcxproj.

290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
    <ClInclude Include="..\..\src\events\default_cursor.h" />
    <ClInclude Include="..\..\src\libm\math.h" />
    <ClInclude Include="..\..\src\libm\math_private.h" />
    <ClInclude Include="..\..\src\render\mmx.h" />
    <ClInclude Include="resource.h" />
    <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiomem.h" />
    <ClInclude Include="..\..\src\render\software\SDL_blendfillrect.h" />
    <ClInclude Include="..\..\src\render\software\SDL_blendline.h" />
    <ClInclude Include="..\..\src\render\software\SDL_blendpoint.h" />
    <ClInclude Include="..\..\src\video\SDL_blit.h" />
    <ClInclude Include="..\..\src\video\SDL_blit_auto.h" />
    <ClInclude Include="..\..\src\video\SDL_blit_copy.h" />
    <ClInclude Include="..\..\src\video\SDL_blit_slow.h" />







<







290
291
292
293
294
295
296

297
298
299
300
301
302
303
    <ClInclude Include="..\..\src\events\default_cursor.h" />
    <ClInclude Include="..\..\src\libm\math.h" />
    <ClInclude Include="..\..\src\libm\math_private.h" />
    <ClInclude Include="..\..\src\render\mmx.h" />
    <ClInclude Include="resource.h" />
    <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />

    <ClInclude Include="..\..\src\render\software\SDL_blendfillrect.h" />
    <ClInclude Include="..\..\src\render\software\SDL_blendline.h" />
    <ClInclude Include="..\..\src\render\software\SDL_blendpoint.h" />
    <ClInclude Include="..\..\src\video\SDL_blit.h" />
    <ClInclude Include="..\..\src\video\SDL_blit_auto.h" />
    <ClInclude Include="..\..\src\video\SDL_blit_copy.h" />
    <ClInclude Include="..\..\src\video\SDL_blit_slow.h" />

Changes to jni/SDL2/VisualC/SDL/SDL.vcxproj.filters.

226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
    <ClInclude Include="..\..\src\events\default_cursor.h" />
    <ClInclude Include="..\..\src\libm\math.h" />
    <ClInclude Include="..\..\src\libm\math_private.h" />
    <ClInclude Include="..\..\src\render\mmx.h" />
    <ClInclude Include="resource.h" />
    <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiomem.h" />
    <ClInclude Include="..\..\src\render\software\SDL_blendfillrect.h" />
    <ClInclude Include="..\..\src\render\software\SDL_blendline.h" />
    <ClInclude Include="..\..\src\render\software\SDL_blendpoint.h" />
    <ClInclude Include="..\..\src\video\SDL_blit.h" />
    <ClInclude Include="..\..\src\video\SDL_blit_auto.h" />
    <ClInclude Include="..\..\src\video\SDL_blit_copy.h" />
    <ClInclude Include="..\..\src\video\SDL_blit_slow.h" />







<







226
227
228
229
230
231
232

233
234
235
236
237
238
239
    <ClInclude Include="..\..\src\events\default_cursor.h" />
    <ClInclude Include="..\..\src\libm\math.h" />
    <ClInclude Include="..\..\src\libm\math_private.h" />
    <ClInclude Include="..\..\src\render\mmx.h" />
    <ClInclude Include="resource.h" />
    <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
    <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />

    <ClInclude Include="..\..\src\render\software\SDL_blendfillrect.h" />
    <ClInclude Include="..\..\src\render\software\SDL_blendline.h" />
    <ClInclude Include="..\..\src\render\software\SDL_blendpoint.h" />
    <ClInclude Include="..\..\src\video\SDL_blit.h" />
    <ClInclude Include="..\..\src\video\SDL_blit_auto.h" />
    <ClInclude Include="..\..\src\video\SDL_blit_copy.h" />
    <ClInclude Include="..\..\src\video\SDL_blit_slow.h" />

Changes to jni/SDL2/VisualC/SDL/SDL_VS2008.vcproj.

136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
...
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
...
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
				Optimization="0"
				InlineFunctionExpansion="1"
				AdditionalIncludeDirectories="$(SolutionDir)/../include"
				AdditionalUsingDirectories=""
				PreprocessorDefinitions="_DEBUG;_WINDOWS"
				RuntimeLibrary="2"
				BufferSecurityCheck="false"
				EnableEnhancedInstructionSet="1"
				WarningLevel="3"
				DebugInformationFormat="1"
				OmitDefaultLibName="true"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>
................................................................................
				Name="VCCLCompilerTool"
				InlineFunctionExpansion="1"
				AdditionalIncludeDirectories="$(SolutionDir)/../include"
				AdditionalUsingDirectories=""
				PreprocessorDefinitions="NDEBUG;_WINDOWS"
				RuntimeLibrary="2"
				BufferSecurityCheck="false"
				EnableEnhancedInstructionSet="1"
				WarningLevel="3"
				DebugInformationFormat="3"
				OmitDefaultLibName="true"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>
................................................................................
		<File
			RelativePath="..\..\src\audio\SDL_audiodev.c"
			>
		</File>
		<File
			RelativePath="..\..\src\audio\SDL_audiodev_c.h"
			>
		</File>
		<File
			RelativePath="..\..\src\audio\SDL_audiomem.h"
			>
		</File>
		<File
			RelativePath="..\..\src\audio\SDL_audiotypecvt.c"
			>
		</File>
		<File
			RelativePath="..\..\src\render\software\SDL_blendfillrect.c"







<







 







<







 







<
<
<
<







136
137
138
139
140
141
142

143
144
145
146
147
148
149
...
300
301
302
303
304
305
306

307
308
309
310
311
312
313
...
764
765
766
767
768
769
770




771
772
773
774
775
776
777
				Optimization="0"
				InlineFunctionExpansion="1"
				AdditionalIncludeDirectories="$(SolutionDir)/../include"
				AdditionalUsingDirectories=""
				PreprocessorDefinitions="_DEBUG;_WINDOWS"
				RuntimeLibrary="2"
				BufferSecurityCheck="false"

				WarningLevel="3"
				DebugInformationFormat="1"
				OmitDefaultLibName="true"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>
................................................................................
				Name="VCCLCompilerTool"
				InlineFunctionExpansion="1"
				AdditionalIncludeDirectories="$(SolutionDir)/../include"
				AdditionalUsingDirectories=""
				PreprocessorDefinitions="NDEBUG;_WINDOWS"
				RuntimeLibrary="2"
				BufferSecurityCheck="false"

				WarningLevel="3"
				DebugInformationFormat="3"
				OmitDefaultLibName="true"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>
................................................................................
		<File
			RelativePath="..\..\src\audio\SDL_audiodev.c"
			>
		</File>
		<File
			RelativePath="..\..\src\audio\SDL_audiodev_c.h"
			>




		</File>
		<File
			RelativePath="..\..\src\audio\SDL_audiotypecvt.c"
			>
		</File>
		<File
			RelativePath="..\..\src\render\software\SDL_blendfillrect.c"

Changes to jni/SDL2/VisualC/SDLmain/SDLmain_VS2008.vcproj.

113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
...
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
				Name="VCCLCompilerTool"
				AdditionalIncludeDirectories="$(SolutionDir)/../include"
				AdditionalUsingDirectories=""
				PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
				StringPooling="true"
				RuntimeLibrary="2"
				BufferSecurityCheck="false"
				EnableEnhancedInstructionSet="1"
				WarningLevel="3"
				DebugInformationFormat="1"
				OmitDefaultLibName="true"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>
................................................................................
				Name="VCCLCompilerTool"
				Optimization="0"
				AdditionalIncludeDirectories="$(SolutionDir)/../include"
				AdditionalUsingDirectories=""
				PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
				RuntimeLibrary="2"
				BufferSecurityCheck="false"
				EnableEnhancedInstructionSet="1"
				WarningLevel="3"
				DebugInformationFormat="1"
				OmitDefaultLibName="true"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>







<







 







<







113
114
115
116
117
118
119

120
121
122
123
124
125
126
...
244
245
246
247
248
249
250

251
252
253
254
255
256
257
				Name="VCCLCompilerTool"
				AdditionalIncludeDirectories="$(SolutionDir)/../include"
				AdditionalUsingDirectories=""
				PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
				StringPooling="true"
				RuntimeLibrary="2"
				BufferSecurityCheck="false"

				WarningLevel="3"
				DebugInformationFormat="1"
				OmitDefaultLibName="true"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>
................................................................................
				Name="VCCLCompilerTool"
				Optimization="0"
				AdditionalIncludeDirectories="$(SolutionDir)/../include"
				AdditionalUsingDirectories=""
				PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
				RuntimeLibrary="2"
				BufferSecurityCheck="false"

				WarningLevel="3"
				DebugInformationFormat="1"
				OmitDefaultLibName="true"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>

Changes to jni/SDL2/VisualC/SDLtest/SDLtest_VS2008.vcproj.

113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
...
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
				Name="VCCLCompilerTool"
				AdditionalIncludeDirectories="$(SolutionDir)/../include"
				AdditionalUsingDirectories=""
				PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
				StringPooling="true"
				RuntimeLibrary="2"
				BufferSecurityCheck="false"
				EnableEnhancedInstructionSet="1"
				WarningLevel="3"
				DebugInformationFormat="1"
				OmitDefaultLibName="true"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>
................................................................................
				Name="VCCLCompilerTool"
				Optimization="0"
				AdditionalIncludeDirectories="$(SolutionDir)/../include"
				AdditionalUsingDirectories=""
				PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
				RuntimeLibrary="2"
				BufferSecurityCheck="false"
				EnableEnhancedInstructionSet="1"
				WarningLevel="3"
				DebugInformationFormat="1"
				OmitDefaultLibName="true"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>







<







 







<







113
114
115
116
117
118
119

120
121
122
123
124
125
126
...
244
245
246
247
248
249
250

251
252
253
254
255
256
257
				Name="VCCLCompilerTool"
				AdditionalIncludeDirectories="$(SolutionDir)/../include"
				AdditionalUsingDirectories=""
				PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
				StringPooling="true"
				RuntimeLibrary="2"
				BufferSecurityCheck="false"

				WarningLevel="3"
				DebugInformationFormat="1"
				OmitDefaultLibName="true"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>
................................................................................
				Name="VCCLCompilerTool"
				Optimization="0"
				AdditionalIncludeDirectories="$(SolutionDir)/../include"
				AdditionalUsingDirectories=""
				PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
				RuntimeLibrary="2"
				BufferSecurityCheck="false"

				WarningLevel="3"
				DebugInformationFormat="1"
				OmitDefaultLibName="true"
			/>
			<Tool
				Name="VCManagedResourceCompilerTool"
			/>

Changes to jni/SDL2/WhatsNew.txt.

1
2































































3
4
5
6
7
8
9

This is a list of major changes in SDL's version history.
































































---------------------------------------------------------------------------
2.0.4:
---------------------------------------------------------------------------

General:
* Added support for web applications using Emscripten, see docs/README-emscripten.md for more information


>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72

This is a list of major changes in SDL's version history.

---------------------------------------------------------------------------
2.0.5:
---------------------------------------------------------------------------

General:
* Implemented audio capture support for some platforms
* Added SDL_DequeueAudio() to retrieve audio when buffer queuing is turned on for audio capture
* Added events for dragging and dropping text
* Added events for dragging and dropping multiple items
* By default the click raising a window will not be delivered to the SDL application. You can set the hint SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH to "1" to allow that click through to the window.
* Saving a surface with an alpha channel as a BMP will use a newer BMP format that supports alpha information. You can set the hint SDL_HINT_BMP_SAVE_LEGACY_FORMAT to "1" to use the old format.
* Added SDL_GetHintBoolean() to get the boolean value of a hint
* Added SDL_RenderSetIntegerScale() to set whether to smoothly scale or use integral multiples of the viewport size when scaling the rendering output
* Added SDL_CreateRGBSurfaceWithFormat() and SDL_CreateRGBSurfaceWithFormatFrom() to create an SDL surface with a specific pixel format
* Added SDL_GetDisplayUsableBounds() which returns the area usable for windows. For example, on Mac OS X, this subtracts the area occupied by the menu bar and dock.
* Added SDL_GetWindowBordersSize() which returns the size of the window's borders around the client area
* Added a window event SDL_WINDOWEVENT_HIT_TEST when a window had a hit test that wasn't SDL_HITTEST_NORMAL (e.g. in the title bar or window frame)
* Added SDL_SetWindowResizable() to change whether a window is resizable
* Added SDL_SetWindowOpacity() and SDL_GetWindowOpacity() to affect the window transparency
* Added SDL_SetWindowModalFor() to set a window as modal for another window
* Added support for AUDIO_U16LSB and AUDIO_U16MSB to SDL_MixAudioFormat()
* Fixed flipped images when reading back from target textures when using the OpenGL renderer
* Fixed texture color modulation with SDL_BLENDMODE_NONE when using the OpenGL renderer
* Fixed bug where the alpha value of colorkeys was ignored when blitting in some cases

Windows:
* Added a hint SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING to prevent SDL from raising a debugger exception to name threads. This exception can cause problems with .NET applications when running under a debugger.
* The hint SDL_HINT_THREAD_STACK_SIZE is now supported on Windows
* Fixed XBox controller triggers automatically being pulled at startup
* The first icon from the executable is used as the default window icon at runtime
* Fixed SDL log messages being printed twice if SDL was built with C library support
* Reset dead keys when the SDL window loses focus, so dead keys pressed in SDL applications don't affect text input into other applications.

Mac OS X:
* Fixed selecting the dummy video driver
* The caps lock key now generates a pressed event when pressed and a released event when released, instead of a press/release event pair when pressed.
* Fixed mouse wheel events on Mac OS X 10.12
* The audio driver has been updated to use AVFoundation for better compatibility with newer versions of Mac OS X

Linux:
* Added support for the Fcitx IME
* Added a window event SDL_WINDOWEVENT_TAKE_FOCUS when a window manager asks the SDL window whether it wants to take focus.
* Refresh rates are now rounded instead of truncated, e.g. 59.94 Hz is rounded up to 60 Hz instead of 59.
* Added initial support for touchscreens on Raspberry Pi

OpenBSD:
* SDL_GetBasePath() is now implemented on OpenBSD

iOS:
* Added support for dynamically loaded objects on iOS 8 and newer

tvOS:
* Added support for Apple TV
* Added a hint SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION to control whether he Apple TV remote's joystick axes will automatically match the rotation of the remote.  

Android:
* Fixed SDL not resizing window when Android screen resolution changes
* Corrected the joystick Z axis reporting for the accelerometer

Emscripten (running in a web browser):
* Many bug fixes and improvements


---------------------------------------------------------------------------
2.0.4:
---------------------------------------------------------------------------

General:
* Added support for web applications using Emscripten, see docs/README-emscripten.md for more information

Changes to jni/SDL2/Xcode-iOS/Demos/Demos.xcodeproj/project.pbxproj.

6
7
8
9
10
11
12





















13
14
15
16
17
18
19








20
21
22
23
24
25
26
...
163
164
165
166
167
168
169














170
171
172
173
174
175
176
...
179
180
181
182
183
184
185


186


187
188
189
190
191
192
193
...
220
221
222
223
224
225
226

227
228
229
230
231
232
233
234
235
236
237
238

















239
240
241
242
243

244
245
246
247
248
249
250
...
254
255
256
257
258
259
260

261
262
263
264
265
266
267
...
271
272
273
274
275
276
277

278
279
280
281
282
283
284
...
288
289
290
291
292
293
294

295
296
297
298
299
300
301
...
305
306
307
308
309
310
311

312
313
314
315
316
317
318
...
322
323
324
325
326
327
328

329
330
331
332
333
334
335
...
348
349
350
351
352
353
354

355
356
357
358
359
360
361

362
363
364
365
366
367
368
...
378
379
380
381
382
383
384


385
386
387
388
389
390
391
...
395
396
397
398
399
400
401

402
403
404
405
406
407
408
...
469
470
471
472
473
474
475


















476
477
478
479
480
481
482
...
584
585
586
587
588
589
590








591
592
593
594
595
596
597
598
599
600

601
602
603
604
605
606
607
608
609
610
611
612
613

614
615
616
617
618
619
620
621
622
623







624
625
626
627
628
629
630
...
631
632
633
634
635
636
637

638
639
640
641










642
643
644
645
646
647

648
649
650
651
652
653
654
655
656
657
658
659
660

661
662
663
664
665
666
667
668
669
670
671

672
673
674
675
676
677
678
679

680
681
682
683
684
685
686
687
688
689

690
691
692
693
694
695
696
697
698
699
700
701

702
703
704
705
706
707
708
...
712
713
714
715
716
717
718









719
720
721
722
723
724
725
...
805
806
807
808
809
810
811





812
813
814
815
816
817
818

819
820
821
822
823
824
825
826

827
828
829
830
831
832
833
...
847
848
849
850
851
852
853
854
























































































855
856
857
858
859

860
861
862
863
864
865
866
867
868

869
870
871
872
873
874
875
876
877

878
879
880
881
882
883
884
885
886

887
888
889
890
891
892
893
894
895

896
897
898
899
900
901
902
903
904

905
906
907
908
909
910
911
912
913

914
915
916
917
918
919
920
921
922

923
924
925
926
927
928
929
930


931

932
933
934
935
936
937
938
939


940

941
942
943
944
945
946
947
948
949

950
951
952
953
954
955
956
957
958

959
960
961
962
963
964
965
...
975
976
977
978
979
980
981









982
983
984
985
986
987
988
	objectVersion = 46;
	objects = {

/* Begin PBXBuildFile section */
		1D3623EC0D0F72F000981E51 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */; };
		1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
		1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };





















		FA8B4BA31967070A00F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */; };
		FA8B4BA41967071300F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */; };
		FA8B4BA51967071A00F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */; };
		FA8B4BA61967072100F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */; };
		FA8B4BA71967072800F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */; };
		FA8B4BA81967073400F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */; };
		FA8B4BA91967073D00F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */; };








		FAE0E96A1BAF96A00098DFA4 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAE0E9691BAF96A00098DFA4 /* GameController.framework */; };
		FAE0E96C1BAF96A90098DFA4 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAE0E9691BAF96A00098DFA4 /* GameController.framework */; };
		FAE0E96D1BAF96AF0098DFA4 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAE0E9691BAF96A00098DFA4 /* GameController.framework */; };
		FAE0E96E1BAF96B10098DFA4 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAE0E9691BAF96A00098DFA4 /* GameController.framework */; };
		FAE0E96F1BAF96B50098DFA4 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAE0E9691BAF96A00098DFA4 /* GameController.framework */; };
		FAE0E9701BAF96B80098DFA4 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAE0E9691BAF96A00098DFA4 /* GameController.framework */; };
		FAE0E9711BAF96BB0098DFA4 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAE0E9691BAF96A00098DFA4 /* GameController.framework */; };
................................................................................
		};
		049F36A0130CD8A000FF080F /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = FD1B48920E313154007AB34E /* SDL.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = FD6526620DE8FCCB002AD96B;
			remoteInfo = libSDL;














		};
		FD1B489D0E313154007AB34E /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = FD1B48920E313154007AB34E /* SDL.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = FD6526630DE8FCCB002AD96B;
			remoteInfo = StaticLib;
................................................................................

/* Begin PBXFileReference section */
		1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
		1D6058910D05DD3D006BFB54 /* Rectangles.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Rectangles.app; sourceTree = BUILT_PRODUCTS_DIR; };
		1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
		8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };


		FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };


		FAE0E9691BAF96A00098DFA4 /* GameController.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameController.framework; path = System/Library/Frameworks/GameController.framework; sourceTree = SDKROOT; };
		FD15FCB20E086866003BDF25 /* Happy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Happy.app; sourceTree = BUILT_PRODUCTS_DIR; };
		FD1B48920E313154007AB34E /* SDL.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SDL.xcodeproj; path = ../SDL/SDL.xcodeproj; sourceTree = SOURCE_ROOT; };
		FD5F9BE40E0DEBEA008E885B /* Accel.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Accel.app; sourceTree = BUILT_PRODUCTS_DIR; };
		FD77A0050E26BC0500F39101 /* accelerometer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = accelerometer.c; sourceTree = "<group>"; };
		FD77A0060E26BC0500F39101 /* common.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = common.c; sourceTree = "<group>"; };
		FD77A0070E26BC0500F39101 /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = "<group>"; };
................................................................................
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FD1B48DD0E313255007AB34E /* libSDL2.a in Frameworks */,
				FAE0E96A1BAF96A00098DFA4 /* GameController.framework in Frameworks */,
				FA8B4BA31967070A00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDF0D7AB0E12D53800247964 /* CoreAudio.framework in Frameworks */,
				FDF0D7AC0E12D53800247964 /* AudioToolbox.framework in Frameworks */,
				1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
				1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
				1D3623EC0D0F72F000981E51 /* CoreGraphics.framework in Frameworks */,
				FDB96ED40DEFC9C700FAF19F /* OpenGLES.framework in Frameworks */,
				FDB96EE00DEFC9DC00FAF19F /* QuartzCore.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;

















		};
		FD15FCB00E086866003BDF25 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FD1B49980E313261007AB34E /* libSDL2.a in Frameworks */,
				FAE0E96C1BAF96A90098DFA4 /* GameController.framework in Frameworks */,
				FA8B4BA41967071300F8EB7C /* CoreMotion.framework in Frameworks */,
				FDF0D7A90E12D53500247964 /* CoreAudio.framework in Frameworks */,
				FDF0D7AA0E12D53500247964 /* AudioToolbox.framework in Frameworks */,
				FD15FD690E086911003BDF25 /* Foundation.framework in Frameworks */,
				FD15FD6A0E086911003BDF25 /* UIKit.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FD5F9BE20E0DEBEA008E885B /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FD1B499C0E313269007AB34E /* libSDL2.a in Frameworks */,
				FAE0E96D1BAF96AF0098DFA4 /* GameController.framework in Frameworks */,
				FA8B4BA51967071A00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDF0D7A70E12D53200247964 /* CoreAudio.framework in Frameworks */,
				FDF0D7A80E12D53200247964 /* AudioToolbox.framework in Frameworks */,
				FD5F9CEB0E0E0741008E885B /* OpenGLES.framework in Frameworks */,
				FD5F9CEC0E0E0741008E885B /* QuartzCore.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDB651FF0E43D1F300F688B5 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FDB652000E43D1F300F688B5 /* libSDL2.a in Frameworks */,
				FAE0E9711BAF96BB0098DFA4 /* GameController.framework in Frameworks */,
				FA8B4BA91967073D00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDB652020E43D1F300F688B5 /* Foundation.framework in Frameworks */,
				FDB652030E43D1F300F688B5 /* UIKit.framework in Frameworks */,
				FDB652040E43D1F300F688B5 /* CoreGraphics.framework in Frameworks */,
				FDB652050E43D1F300F688B5 /* OpenGLES.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDC202E40E107B1200ABAC90 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FD1B499E0E31326C007AB34E /* libSDL2.a in Frameworks */,
				FAE0E96E1BAF96B10098DFA4 /* GameController.framework in Frameworks */,
				FA8B4BA61967072100F8EB7C /* CoreMotion.framework in Frameworks */,
				FDF0D7950E12D52900247964 /* CoreAudio.framework in Frameworks */,
				FDF0D7960E12D52900247964 /* AudioToolbox.framework in Frameworks */,
				FDC202E60E107B1200ABAC90 /* Foundation.framework in Frameworks */,
				FDC202E70E107B1200ABAC90 /* UIKit.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDC52ED10E2843D6008D768C /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FD1B49A20E313273007AB34E /* libSDL2.a in Frameworks */,
				FAE0E9701BAF96B80098DFA4 /* GameController.framework in Frameworks */,
				FA8B4BA81967073400F8EB7C /* CoreMotion.framework in Frameworks */,
				FDC52ED40E2843D6008D768C /* Foundation.framework in Frameworks */,
				FDC52ED50E2843D6008D768C /* UIKit.framework in Frameworks */,
				FDC52ED60E2843D6008D768C /* CoreGraphics.framework in Frameworks */,
				FDC52ED70E2843D6008D768C /* OpenGLES.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDF0D69A0E12D05400247964 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FD1B49A00E313270007AB34E /* libSDL2.a in Frameworks */,
				FAE0E96F1BAF96B50098DFA4 /* GameController.framework in Frameworks */,
				FA8B4BA71967072800F8EB7C /* CoreMotion.framework in Frameworks */,
				FDF0D69C0E12D05400247964 /* Foundation.framework in Frameworks */,
				FDF0D69D0E12D05400247964 /* UIKit.framework in Frameworks */,
				FDF0D69E0E12D05400247964 /* CoreGraphics.framework in Frameworks */,
				FDF0D69F0E12D05400247964 /* OpenGLES.framework in Frameworks */,
................................................................................
				1D6058910D05DD3D006BFB54 /* Rectangles.app */,
				FD15FCB20E086866003BDF25 /* Happy.app */,
				FD5F9BE40E0DEBEA008E885B /* Accel.app */,
				FDC202EE0E107B1200ABAC90 /* Touch.app */,
				FDF0D6A40E12D05400247964 /* Mixer.app */,
				FDC52EDE0E2843D6008D768C /* Fireworks.app */,
				FDB6520C0E43D1F300F688B5 /* Keyboard.app */,

			);
			name = Products;
			sourceTree = "<group>";
		};
		29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
			isa = PBXGroup;
			children = (

				FD1B48920E313154007AB34E /* SDL.xcodeproj */,
				FD77A0040E26BC0500F39101 /* src */,
				29B97317FDCFA39411CA2CEA /* Resources */,
				29B97323FDCFA39411CA2CEA /* Frameworks */,
				19C28FACFE9D520D11CA2CBB /* Products */,
			);
			name = CustomTemplate;
................................................................................
			);
			name = Resources;
			sourceTree = "<group>";
		};
		29B97323FDCFA39411CA2CEA /* Frameworks */ = {
			isa = PBXGroup;
			children = (


				FAE0E9691BAF96A00098DFA4 /* GameController.framework */,
				FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */,
				FDF0D7220E12D31800247964 /* AudioToolbox.framework */,
				FDB96EDF0DEFC9DC00FAF19F /* QuartzCore.framework */,
				FDB96ED30DEFC9C700FAF19F /* OpenGLES.framework */,
				1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */,
				1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
................................................................................
			name = Frameworks;
			sourceTree = "<group>";
		};
		FD1B48930E313154007AB34E /* Products */ = {
			isa = PBXGroup;
			children = (
				FD1B489E0E313154007AB34E /* libSDL2.a */,

			);
			name = Products;
			sourceTree = "<group>";
		};
		FD77A0040E26BC0500F39101 /* src */ = {
			isa = PBXGroup;
			children = (
................................................................................
				049F3695130CD86800FF080F /* PBXTargetDependency */,
			);
			name = Rectangles;
			productName = SDLiPodTest;
			productReference = 1D6058910D05DD3D006BFB54 /* Rectangles.app */;
			productType = "com.apple.product-type.application";
		};


















		FD15FCB10E086866003BDF25 /* Happy */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = FD15FCB70E086867003BDF25 /* Build configuration list for PBXNativeTarget "Happy" */;
			buildPhases = (
				FD15FCAE0E086866003BDF25 /* Resources */,
				FD15FCAF0E086866003BDF25 /* Sources */,
				FD15FCB00E086866003BDF25 /* Frameworks */,
................................................................................
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		29B97313FDCFA39411CA2CEA /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0630;








			};
			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Demos" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 1;
			knownRegions = (
				English,
				Japanese,
				French,
				German,

			);
			mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
			projectDirPath = "";
			projectReferences = (
				{
					ProductGroup = FD1B48930E313154007AB34E /* Products */;
					ProjectRef = FD1B48920E313154007AB34E /* SDL.xcodeproj */;
				},
			);
			projectRoot = "";
			targets = (
				1D6058900D05DD3D006BFB54 /* Rectangles */,
				FD15FCB10E086866003BDF25 /* Happy */,

				FD5F9BE30E0DEBEA008E885B /* Accel */,
				FDC202DD0E107B1200ABAC90 /* Touch */,
				FDF0D6920E12D05400247964 /* Mixer */,
				FDC52EC60E2843D6008D768C /* Fireworks */,
				FDB651F70E43D1F300F688B5 /* Keyboard */,
			);
		};
/* End PBXProject section */

/* Begin PBXReferenceProxy section */







		FD1B489E0E313154007AB34E /* libSDL2.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = libSDL2.a;
			remoteRef = FD1B489D0E313154007AB34E /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
................................................................................
/* End PBXReferenceProxy section */

/* Begin PBXResourcesBuildPhase section */
		1D60588D0D05DD3D006BFB54 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FD925B1B0E0F276600E92347 /* Icon.png in Resources */,
				FD787AA20E22A5CC003E8E36 /* Default.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;










		};
		FD15FCAE0E086866003BDF25 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FDB651D00E43D1AD00F688B5 /* icon.bmp in Resources */,

				FD925B1A0E0F276600E92347 /* Icon.png in Resources */,
				FD787AA10E22A5CC003E8E36 /* Default.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FD5F9BE00E0DEBEA008E885B /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FDB651D20E43D1B500F688B5 /* space.bmp in Resources */,
				FDB651D10E43D1B300F688B5 /* ship.bmp in Resources */,
				FD925B190E0F276600E92347 /* Icon.png in Resources */,
				FD787AA30E22A5CC003E8E36 /* Default.png in Resources */,

			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDB651F80E43D1F300F688B5 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FDB651F90E43D1F300F688B5 /* stroke.bmp in Resources */,
				FDB651FA0E43D1F300F688B5 /* Icon.png in Resources */,
				FDB651FB0E43D1F300F688B5 /* Default.png in Resources */,
				FDB652C70E43E25900F688B5 /* kromasky_16x16.bmp in Resources */,

			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDC202DE0E107B1200ABAC90 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FDB651D30E43D1BA00F688B5 /* stroke.bmp in Resources */,

				FDC202E10E107B1200ABAC90 /* Icon.png in Resources */,
				FD787AA40E22A5CC003E8E36 /* Default.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDC52EC70E2843D6008D768C /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FDB651D80E43D1D800F688B5 /* stroke.bmp in Resources */,

				FDC52EC80E2843D6008D768C /* Icon.png in Resources */,
				FDC52EC90E2843D6008D768C /* Default.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDF0D6930E12D05400247964 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FDB651D40E43D1C500F688B5 /* ds_brush_snare.wav in Resources */,
				FDB651D50E43D1C500F688B5 /* ds_china.wav in Resources */,
				FDB651D60E43D1C500F688B5 /* ds_kick_big_amb.wav in Resources */,

				FDB651D70E43D1C500F688B5 /* ds_loose_skin_mute.wav in Resources */,
				FDF0D6960E12D05400247964 /* Icon.png in Resources */,
				FD787AA50E22A5CC003E8E36 /* Default.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */
................................................................................
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FD77A0130E26BC0500F39101 /* common.c in Sources */,
				FD77A0160E26BC0500F39101 /* rectangles.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;









		};
		FD15FCAF0E086866003BDF25 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FDC214870E26D78A00DDED23 /* common.c in Sources */,
				FD77A00E0E26BC0500F39101 /* happy.c in Sources */,
................................................................................
			targetProxy = 049F369E130CD89800FF080F /* PBXContainerItemProxy */;
		};
		049F36A1130CD8A000FF080F /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = libSDL;
			targetProxy = 049F36A0130CD8A000FF080F /* PBXContainerItemProxy */;
		};





/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		1D6058940D05DD3E006BFB54 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;

				PRODUCT_NAME = Rectangles;
			};
			name = Debug;
		};
		1D6058950D05DD3E006BFB54 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;

				PRODUCT_NAME = Rectangles;
			};
			name = Release;
		};
		C01FCF4F08A954540054247B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
................................................................................
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				HEADER_SEARCH_PATHS = ../../include;
				PRELINK_LIBS = "";
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Release;
		};
























































































		FD15FCB50E086866003BDF25 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_DYNAMIC_NO_PIC = NO;
				INFOPLIST_FILE = Info.plist;

				PRODUCT_NAME = Happy;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		FD15FCB60E086866003BDF25 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;

				PRODUCT_NAME = Happy;
				SDKROOT = iphoneos;
			};
			name = Release;
		};
		FD5F9BE70E0DEBEB008E885B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;

				PRODUCT_NAME = Accel;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		FD5F9BE80E0DEBEB008E885B /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;

				PRODUCT_NAME = Accel;
				SDKROOT = iphoneos;
			};
			name = Release;
		};
		FDB6520A0E43D1F300F688B5 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;

				PRODUCT_NAME = Keyboard;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		FDB6520B0E43D1F300F688B5 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;

				PRODUCT_NAME = Keyboard;
				SDKROOT = iphoneos;
			};
			name = Release;
		};
		FDC202EC0E107B1200ABAC90 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;

				PRODUCT_NAME = Touch;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		FDC202ED0E107B1200ABAC90 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;

				PRODUCT_NAME = Touch;
				SDKROOT = iphoneos;
			};
			name = Release;
		};
		FDC52EDC0E2843D6008D768C /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {


				INFOPLIST_FILE = Info.plist;

				PRODUCT_NAME = Fireworks;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		FDC52EDD0E2843D6008D768C /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {


				INFOPLIST_FILE = Info.plist;

				PRODUCT_NAME = Fireworks;
				SDKROOT = iphoneos;
			};
			name = Release;
		};
		FDF0D6A20E12D05400247964 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;

				PRODUCT_NAME = Mixer;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		FDF0D6A30E12D05400247964 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;

				PRODUCT_NAME = Mixer;
				SDKROOT = iphoneos;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

................................................................................
		};
		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Demos" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				C01FCF4F08A954540054247B /* Debug */,
				C01FCF5008A954540054247B /* Release */,
			);









			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		FD15FCB70E086867003BDF25 /* Build configuration list for PBXNativeTarget "Happy" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				FD15FCB50E086866003BDF25 /* Debug */,







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







>
>
>
>
>
>
>
>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>

>
>







 







>












>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>





>







 







>







 







>







 







>







 







>







 







>







 







>







>







 







>
>







 







>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>
>
>
>
>
>
>










>













>










>
>
>
>
>
>
>







 







>




>
>
>
>
>
>
>
>
>
>






>













>











>








>










>












>







 







>
>
>
>
>
>
>
>
>







 







>
>
>
>
>







>








>







 








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>





>









>









>









>









>









>









>









>








>
>

>








>
>

>









>









>







 







>
>
>
>
>
>
>
>
>







6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
...
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
...
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
...
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
...
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
...
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
...
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
...
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
...
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
...
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
...
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
...
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
...
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
...
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
...
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
...
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
...
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
...
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
....
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
	objectVersion = 46;
	objects = {

/* Begin PBXBuildFile section */
		1D3623EC0D0F72F000981E51 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */; };
		1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
		1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
		FA30DEB01BBF5A8F009C397F /* common.c in Sources */ = {isa = PBXBuildFile; fileRef = FD77A0060E26BC0500F39101 /* common.c */; };
		FA30DEB11BBF5A93009C397F /* happy.c in Sources */ = {isa = PBXBuildFile; fileRef = FD77A0080E26BC0500F39101 /* happy.c */; };
		FA30DEB31BBF5AD7009C397F /* icon.bmp in Resources */ = {isa = PBXBuildFile; fileRef = FDB651CC0E43D19800F688B5 /* icon.bmp */; };
		FA30DEB41BBF5ADD009C397F /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = FD925B180E0F276600E92347 /* Icon.png */; };
		FA30DEB61BBF5AE6009C397F /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = FD787AA00E22A5CC003E8E36 /* Default.png */; };
		FA30DEB71BBF5BB8009C397F /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FA30DEAC1BBF59D9009C397F /* libSDL2.a */; };
		FA30DEC81BBF5C14009C397F /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAE0E9691BAF96A00098DFA4 /* GameController.framework */; };
		FA30DEC91BBF5C14009C397F /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDF0D7220E12D31800247964 /* AudioToolbox.framework */; };
		FA30DECA1BBF5C14009C397F /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDB96EDF0DEFC9DC00FAF19F /* QuartzCore.framework */; };
		FA30DECB1BBF5C14009C397F /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDB96ED30DEFC9C700FAF19F /* OpenGLES.framework */; };
		FA30DECC1BBF5C14009C397F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */; };
		FA30DECD1BBF5C14009C397F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
		FA30DECE1BBF5C14009C397F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
		FA30DECF1BBF5C14009C397F /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDF0D71D0E12D2AB00247964 /* CoreAudio.framework */; };
		FA86C0371D9765BB009CB637 /* iOS Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FA86C0361D9765BA009CB637 /* iOS Launch Screen.storyboard */; };
		FA86C0381D9765BB009CB637 /* iOS Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FA86C0361D9765BA009CB637 /* iOS Launch Screen.storyboard */; };
		FA86C0391D9765BB009CB637 /* iOS Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FA86C0361D9765BA009CB637 /* iOS Launch Screen.storyboard */; };
		FA86C03A1D9765BB009CB637 /* iOS Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FA86C0361D9765BA009CB637 /* iOS Launch Screen.storyboard */; };
		FA86C03B1D9765BB009CB637 /* iOS Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FA86C0361D9765BA009CB637 /* iOS Launch Screen.storyboard */; };
		FA86C03C1D9765BB009CB637 /* iOS Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FA86C0361D9765BA009CB637 /* iOS Launch Screen.storyboard */; };
		FA86C03D1D9765BB009CB637 /* iOS Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FA86C0361D9765BA009CB637 /* iOS Launch Screen.storyboard */; };
		FA8B4BA31967070A00F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */; };
		FA8B4BA41967071300F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */; };
		FA8B4BA51967071A00F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */; };
		FA8B4BA61967072100F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */; };
		FA8B4BA71967072800F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */; };
		FA8B4BA81967073400F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */; };
		FA8B4BA91967073D00F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */; };
		FABA34D41D8B5E5600915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D31D8B5E5600915323 /* AVFoundation.framework */; };
		FABA34D61D8B5E5A00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D31D8B5E5600915323 /* AVFoundation.framework */; };
		FABA34D81D8B5E7700915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D71D8B5E7700915323 /* AVFoundation.framework */; };
		FABA34D91D8B5E7B00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D31D8B5E5600915323 /* AVFoundation.framework */; };
		FABA34DA1D8B5E7F00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D31D8B5E5600915323 /* AVFoundation.framework */; };
		FABA34DB1D8B5E8500915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D31D8B5E5600915323 /* AVFoundation.framework */; };
		FABA34DC1D8B5E8900915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D31D8B5E5600915323 /* AVFoundation.framework */; };
		FABA34DD1D8B5E8D00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34D31D8B5E5600915323 /* AVFoundation.framework */; };
		FAE0E96A1BAF96A00098DFA4 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAE0E9691BAF96A00098DFA4 /* GameController.framework */; };
		FAE0E96C1BAF96A90098DFA4 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAE0E9691BAF96A00098DFA4 /* GameController.framework */; };
		FAE0E96D1BAF96AF0098DFA4 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAE0E9691BAF96A00098DFA4 /* GameController.framework */; };
		FAE0E96E1BAF96B10098DFA4 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAE0E9691BAF96A00098DFA4 /* GameController.framework */; };
		FAE0E96F1BAF96B50098DFA4 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAE0E9691BAF96A00098DFA4 /* GameController.framework */; };
		FAE0E9701BAF96B80098DFA4 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAE0E9691BAF96A00098DFA4 /* GameController.framework */; };
		FAE0E9711BAF96BB0098DFA4 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAE0E9691BAF96A00098DFA4 /* GameController.framework */; };
................................................................................
		};
		049F36A0130CD8A000FF080F /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = FD1B48920E313154007AB34E /* SDL.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = FD6526620DE8FCCB002AD96B;
			remoteInfo = libSDL;
		};
		FA30DEAB1BBF59D9009C397F /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = FD1B48920E313154007AB34E /* SDL.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = FAB598141BB5C1B100BE72C5;
			remoteInfo = "libSDL-tv";
		};
		FA30DEAE1BBF5A69009C397F /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = FD1B48920E313154007AB34E /* SDL.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = FAB598131BB5C1B100BE72C5;
			remoteInfo = "libSDL-tv";
		};
		FD1B489D0E313154007AB34E /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = FD1B48920E313154007AB34E /* SDL.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = FD6526630DE8FCCB002AD96B;
			remoteInfo = StaticLib;
................................................................................

/* Begin PBXFileReference section */
		1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
		1D6058910D05DD3D006BFB54 /* Rectangles.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Rectangles.app; sourceTree = BUILT_PRODUCTS_DIR; };
		1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
		8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		FA30DE961BBF59D9009C397F /* Happy-TV.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Happy-TV.app"; sourceTree = BUILT_PRODUCTS_DIR; };
		FA86C0361D9765BA009CB637 /* iOS Launch Screen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = "iOS Launch Screen.storyboard"; sourceTree = "<group>"; };
		FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
		FABA34D31D8B5E5600915323 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
		FABA34D71D8B5E7700915323 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS10.0.sdk/System/Library/Frameworks/AVFoundation.framework; sourceTree = DEVELOPER_DIR; };
		FAE0E9691BAF96A00098DFA4 /* GameController.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameController.framework; path = System/Library/Frameworks/GameController.framework; sourceTree = SDKROOT; };
		FD15FCB20E086866003BDF25 /* Happy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Happy.app; sourceTree = BUILT_PRODUCTS_DIR; };
		FD1B48920E313154007AB34E /* SDL.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SDL.xcodeproj; path = ../SDL/SDL.xcodeproj; sourceTree = SOURCE_ROOT; };
		FD5F9BE40E0DEBEA008E885B /* Accel.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Accel.app; sourceTree = BUILT_PRODUCTS_DIR; };
		FD77A0050E26BC0500F39101 /* accelerometer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = accelerometer.c; sourceTree = "<group>"; };
		FD77A0060E26BC0500F39101 /* common.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = common.c; sourceTree = "<group>"; };
		FD77A0070E26BC0500F39101 /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = "<group>"; };
................................................................................
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34D41D8B5E5600915323 /* AVFoundation.framework in Frameworks */,
				FD1B48DD0E313255007AB34E /* libSDL2.a in Frameworks */,
				FAE0E96A1BAF96A00098DFA4 /* GameController.framework in Frameworks */,
				FA8B4BA31967070A00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDF0D7AB0E12D53800247964 /* CoreAudio.framework in Frameworks */,
				FDF0D7AC0E12D53800247964 /* AudioToolbox.framework in Frameworks */,
				1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
				1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
				1D3623EC0D0F72F000981E51 /* CoreGraphics.framework in Frameworks */,
				FDB96ED40DEFC9C700FAF19F /* OpenGLES.framework in Frameworks */,
				FDB96EE00DEFC9DC00FAF19F /* QuartzCore.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FA30DE931BBF59D9009C397F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34D81D8B5E7700915323 /* AVFoundation.framework in Frameworks */,
				FA30DEB71BBF5BB8009C397F /* libSDL2.a in Frameworks */,
				FA30DEC81BBF5C14009C397F /* GameController.framework in Frameworks */,
				FA30DEC91BBF5C14009C397F /* AudioToolbox.framework in Frameworks */,
				FA30DECA1BBF5C14009C397F /* QuartzCore.framework in Frameworks */,
				FA30DECB1BBF5C14009C397F /* OpenGLES.framework in Frameworks */,
				FA30DECC1BBF5C14009C397F /* CoreGraphics.framework in Frameworks */,
				FA30DECD1BBF5C14009C397F /* UIKit.framework in Frameworks */,
				FA30DECE1BBF5C14009C397F /* Foundation.framework in Frameworks */,
				FA30DECF1BBF5C14009C397F /* CoreAudio.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FD15FCB00E086866003BDF25 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34D61D8B5E5A00915323 /* AVFoundation.framework in Frameworks */,
				FD1B49980E313261007AB34E /* libSDL2.a in Frameworks */,
				FAE0E96C1BAF96A90098DFA4 /* GameController.framework in Frameworks */,
				FA8B4BA41967071300F8EB7C /* CoreMotion.framework in Frameworks */,
				FDF0D7A90E12D53500247964 /* CoreAudio.framework in Frameworks */,
				FDF0D7AA0E12D53500247964 /* AudioToolbox.framework in Frameworks */,
				FD15FD690E086911003BDF25 /* Foundation.framework in Frameworks */,
				FD15FD6A0E086911003BDF25 /* UIKit.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FD5F9BE20E0DEBEA008E885B /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34D91D8B5E7B00915323 /* AVFoundation.framework in Frameworks */,
				FD1B499C0E313269007AB34E /* libSDL2.a in Frameworks */,
				FAE0E96D1BAF96AF0098DFA4 /* GameController.framework in Frameworks */,
				FA8B4BA51967071A00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDF0D7A70E12D53200247964 /* CoreAudio.framework in Frameworks */,
				FDF0D7A80E12D53200247964 /* AudioToolbox.framework in Frameworks */,
				FD5F9CEB0E0E0741008E885B /* OpenGLES.framework in Frameworks */,
				FD5F9CEC0E0E0741008E885B /* QuartzCore.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDB651FF0E43D1F300F688B5 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34DD1D8B5E8D00915323 /* AVFoundation.framework in Frameworks */,
				FDB652000E43D1F300F688B5 /* libSDL2.a in Frameworks */,
				FAE0E9711BAF96BB0098DFA4 /* GameController.framework in Frameworks */,
				FA8B4BA91967073D00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDB652020E43D1F300F688B5 /* Foundation.framework in Frameworks */,
				FDB652030E43D1F300F688B5 /* UIKit.framework in Frameworks */,
				FDB652040E43D1F300F688B5 /* CoreGraphics.framework in Frameworks */,
				FDB652050E43D1F300F688B5 /* OpenGLES.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDC202E40E107B1200ABAC90 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34DA1D8B5E7F00915323 /* AVFoundation.framework in Frameworks */,
				FD1B499E0E31326C007AB34E /* libSDL2.a in Frameworks */,
				FAE0E96E1BAF96B10098DFA4 /* GameController.framework in Frameworks */,
				FA8B4BA61967072100F8EB7C /* CoreMotion.framework in Frameworks */,
				FDF0D7950E12D52900247964 /* CoreAudio.framework in Frameworks */,
				FDF0D7960E12D52900247964 /* AudioToolbox.framework in Frameworks */,
				FDC202E60E107B1200ABAC90 /* Foundation.framework in Frameworks */,
				FDC202E70E107B1200ABAC90 /* UIKit.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDC52ED10E2843D6008D768C /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34DC1D8B5E8900915323 /* AVFoundation.framework in Frameworks */,
				FD1B49A20E313273007AB34E /* libSDL2.a in Frameworks */,
				FAE0E9701BAF96B80098DFA4 /* GameController.framework in Frameworks */,
				FA8B4BA81967073400F8EB7C /* CoreMotion.framework in Frameworks */,
				FDC52ED40E2843D6008D768C /* Foundation.framework in Frameworks */,
				FDC52ED50E2843D6008D768C /* UIKit.framework in Frameworks */,
				FDC52ED60E2843D6008D768C /* CoreGraphics.framework in Frameworks */,
				FDC52ED70E2843D6008D768C /* OpenGLES.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDF0D69A0E12D05400247964 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34DB1D8B5E8500915323 /* AVFoundation.framework in Frameworks */,
				FD1B49A00E313270007AB34E /* libSDL2.a in Frameworks */,
				FAE0E96F1BAF96B50098DFA4 /* GameController.framework in Frameworks */,
				FA8B4BA71967072800F8EB7C /* CoreMotion.framework in Frameworks */,
				FDF0D69C0E12D05400247964 /* Foundation.framework in Frameworks */,
				FDF0D69D0E12D05400247964 /* UIKit.framework in Frameworks */,
				FDF0D69E0E12D05400247964 /* CoreGraphics.framework in Frameworks */,
				FDF0D69F0E12D05400247964 /* OpenGLES.framework in Frameworks */,
................................................................................
				1D6058910D05DD3D006BFB54 /* Rectangles.app */,
				FD15FCB20E086866003BDF25 /* Happy.app */,
				FD5F9BE40E0DEBEA008E885B /* Accel.app */,
				FDC202EE0E107B1200ABAC90 /* Touch.app */,
				FDF0D6A40E12D05400247964 /* Mixer.app */,
				FDC52EDE0E2843D6008D768C /* Fireworks.app */,
				FDB6520C0E43D1F300F688B5 /* Keyboard.app */,
				FA30DE961BBF59D9009C397F /* Happy-TV.app */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
			isa = PBXGroup;
			children = (
				FA86C0361D9765BA009CB637 /* iOS Launch Screen.storyboard */,
				FD1B48920E313154007AB34E /* SDL.xcodeproj */,
				FD77A0040E26BC0500F39101 /* src */,
				29B97317FDCFA39411CA2CEA /* Resources */,
				29B97323FDCFA39411CA2CEA /* Frameworks */,
				19C28FACFE9D520D11CA2CBB /* Products */,
			);
			name = CustomTemplate;
................................................................................
			);
			name = Resources;
			sourceTree = "<group>";
		};
		29B97323FDCFA39411CA2CEA /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				FABA34D71D8B5E7700915323 /* AVFoundation.framework */,
				FABA34D31D8B5E5600915323 /* AVFoundation.framework */,
				FAE0E9691BAF96A00098DFA4 /* GameController.framework */,
				FA8B4BA21967070A00F8EB7C /* CoreMotion.framework */,
				FDF0D7220E12D31800247964 /* AudioToolbox.framework */,
				FDB96EDF0DEFC9DC00FAF19F /* QuartzCore.framework */,
				FDB96ED30DEFC9C700FAF19F /* OpenGLES.framework */,
				1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */,
				1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
................................................................................
			name = Frameworks;
			sourceTree = "<group>";
		};
		FD1B48930E313154007AB34E /* Products */ = {
			isa = PBXGroup;
			children = (
				FD1B489E0E313154007AB34E /* libSDL2.a */,
				FA30DEAC1BBF59D9009C397F /* libSDL2.a */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		FD77A0040E26BC0500F39101 /* src */ = {
			isa = PBXGroup;
			children = (
................................................................................
				049F3695130CD86800FF080F /* PBXTargetDependency */,
			);
			name = Rectangles;
			productName = SDLiPodTest;
			productReference = 1D6058910D05DD3D006BFB54 /* Rectangles.app */;
			productType = "com.apple.product-type.application";
		};
		FA30DE951BBF59D9009C397F /* Happy-TV */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = FA30DEAD1BBF59D9009C397F /* Build configuration list for PBXNativeTarget "Happy-TV" */;
			buildPhases = (
				FA30DE921BBF59D9009C397F /* Sources */,
				FA30DE941BBF59D9009C397F /* Resources */,
				FA30DE931BBF59D9009C397F /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				FA30DEAF1BBF5A69009C397F /* PBXTargetDependency */,
			);
			name = "Happy-TV";
			productName = "Happy-TV";
			productReference = FA30DE961BBF59D9009C397F /* Happy-TV.app */;
			productType = "com.apple.product-type.application";
		};
		FD15FCB10E086866003BDF25 /* Happy */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = FD15FCB70E086867003BDF25 /* Build configuration list for PBXNativeTarget "Happy" */;
			buildPhases = (
				FD15FCAE0E086866003BDF25 /* Resources */,
				FD15FCAF0E086866003BDF25 /* Sources */,
				FD15FCB00E086866003BDF25 /* Frameworks */,
................................................................................
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		29B97313FDCFA39411CA2CEA /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0630;
				TargetAttributes = {
					FA30DE951BBF59D9009C397F = {
						CreatedOnToolsVersion = 7.1;
					};
					FDC52EC60E2843D6008D768C = {
						ProvisioningStyle = Automatic;
					};
				};
			};
			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Demos" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 1;
			knownRegions = (
				English,
				Japanese,
				French,
				German,
				Base,
			);
			mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
			projectDirPath = "";
			projectReferences = (
				{
					ProductGroup = FD1B48930E313154007AB34E /* Products */;
					ProjectRef = FD1B48920E313154007AB34E /* SDL.xcodeproj */;
				},
			);
			projectRoot = "";
			targets = (
				1D6058900D05DD3D006BFB54 /* Rectangles */,
				FD15FCB10E086866003BDF25 /* Happy */,
				FA30DE951BBF59D9009C397F /* Happy-TV */,
				FD5F9BE30E0DEBEA008E885B /* Accel */,
				FDC202DD0E107B1200ABAC90 /* Touch */,
				FDF0D6920E12D05400247964 /* Mixer */,
				FDC52EC60E2843D6008D768C /* Fireworks */,
				FDB651F70E43D1F300F688B5 /* Keyboard */,
			);
		};
/* End PBXProject section */

/* Begin PBXReferenceProxy section */
		FA30DEAC1BBF59D9009C397F /* libSDL2.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = libSDL2.a;
			remoteRef = FA30DEAB1BBF59D9009C397F /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		FD1B489E0E313154007AB34E /* libSDL2.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = libSDL2.a;
			remoteRef = FD1B489D0E313154007AB34E /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
................................................................................
/* End PBXReferenceProxy section */

/* Begin PBXResourcesBuildPhase section */
		1D60588D0D05DD3D006BFB54 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FA86C0371D9765BB009CB637 /* iOS Launch Screen.storyboard in Resources */,
				FD925B1B0E0F276600E92347 /* Icon.png in Resources */,
				FD787AA20E22A5CC003E8E36 /* Default.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FA30DE941BBF59D9009C397F /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FA30DEB31BBF5AD7009C397F /* icon.bmp in Resources */,
				FA30DEB41BBF5ADD009C397F /* Icon.png in Resources */,
				FA30DEB61BBF5AE6009C397F /* Default.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FD15FCAE0E086866003BDF25 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FDB651D00E43D1AD00F688B5 /* icon.bmp in Resources */,
				FA86C0381D9765BB009CB637 /* iOS Launch Screen.storyboard in Resources */,
				FD925B1A0E0F276600E92347 /* Icon.png in Resources */,
				FD787AA10E22A5CC003E8E36 /* Default.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FD5F9BE00E0DEBEA008E885B /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FDB651D20E43D1B500F688B5 /* space.bmp in Resources */,
				FDB651D10E43D1B300F688B5 /* ship.bmp in Resources */,
				FD925B190E0F276600E92347 /* Icon.png in Resources */,
				FD787AA30E22A5CC003E8E36 /* Default.png in Resources */,
				FA86C0391D9765BB009CB637 /* iOS Launch Screen.storyboard in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDB651F80E43D1F300F688B5 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FDB651F90E43D1F300F688B5 /* stroke.bmp in Resources */,
				FDB651FA0E43D1F300F688B5 /* Icon.png in Resources */,
				FDB651FB0E43D1F300F688B5 /* Default.png in Resources */,
				FDB652C70E43E25900F688B5 /* kromasky_16x16.bmp in Resources */,
				FA86C03D1D9765BB009CB637 /* iOS Launch Screen.storyboard in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDC202DE0E107B1200ABAC90 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FDB651D30E43D1BA00F688B5 /* stroke.bmp in Resources */,
				FA86C03A1D9765BB009CB637 /* iOS Launch Screen.storyboard in Resources */,
				FDC202E10E107B1200ABAC90 /* Icon.png in Resources */,
				FD787AA40E22A5CC003E8E36 /* Default.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDC52EC70E2843D6008D768C /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FDB651D80E43D1D800F688B5 /* stroke.bmp in Resources */,
				FA86C03C1D9765BB009CB637 /* iOS Launch Screen.storyboard in Resources */,
				FDC52EC80E2843D6008D768C /* Icon.png in Resources */,
				FDC52EC90E2843D6008D768C /* Default.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDF0D6930E12D05400247964 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FDB651D40E43D1C500F688B5 /* ds_brush_snare.wav in Resources */,
				FDB651D50E43D1C500F688B5 /* ds_china.wav in Resources */,
				FDB651D60E43D1C500F688B5 /* ds_kick_big_amb.wav in Resources */,
				FA86C03B1D9765BB009CB637 /* iOS Launch Screen.storyboard in Resources */,
				FDB651D70E43D1C500F688B5 /* ds_loose_skin_mute.wav in Resources */,
				FDF0D6960E12D05400247964 /* Icon.png in Resources */,
				FD787AA50E22A5CC003E8E36 /* Default.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */
................................................................................
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FD77A0130E26BC0500F39101 /* common.c in Sources */,
				FD77A0160E26BC0500F39101 /* rectangles.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FA30DE921BBF59D9009C397F /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FA30DEB01BBF5A8F009C397F /* common.c in Sources */,
				FA30DEB11BBF5A93009C397F /* happy.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FD15FCAF0E086866003BDF25 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FDC214870E26D78A00DDED23 /* common.c in Sources */,
				FD77A00E0E26BC0500F39101 /* happy.c in Sources */,
................................................................................
			targetProxy = 049F369E130CD89800FF080F /* PBXContainerItemProxy */;
		};
		049F36A1130CD8A000FF080F /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = libSDL;
			targetProxy = 049F36A0130CD8A000FF080F /* PBXContainerItemProxy */;
		};
		FA30DEAF1BBF5A69009C397F /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = "libSDL-tv";
			targetProxy = FA30DEAE1BBF5A69009C397F /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		1D6058940D05DD3E006BFB54 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;
				PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Rectangles;
				PRODUCT_NAME = Rectangles;
			};
			name = Debug;
		};
		1D6058950D05DD3E006BFB54 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;
				PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Rectangles;
				PRODUCT_NAME = Rectangles;
			};
			name = Release;
		};
		C01FCF4F08A954540054247B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
................................................................................
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				HEADER_SEARCH_PATHS = ../../include;
				PRELINK_LIBS = "";
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Release;
		};
		FA30DEA71BBF59D9009C397F /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = dwarf;
				DEVELOPMENT_TEAM = "";
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				INFOPLIST_FILE = Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				MTL_ENABLE_DEBUG_INFO = YES;
				PRODUCT_BUNDLE_IDENTIFIER = "com.yourcompany.Happy-TV";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = appletvos;
				TARGETED_DEVICE_FAMILY = 3;
				TVOS_DEPLOYMENT_TARGET = 9.0;
			};
			name = Debug;
		};
		FA30DEA81BBF59D9009C397F /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				DEVELOPMENT_TEAM = "";
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				INFOPLIST_FILE = Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				MTL_ENABLE_DEBUG_INFO = NO;
				PRODUCT_BUNDLE_IDENTIFIER = "com.yourcompany.Happy-TV";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = appletvos;
				TARGETED_DEVICE_FAMILY = 3;
				TVOS_DEPLOYMENT_TARGET = 9.0;
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
		FD15FCB50E086866003BDF25 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_DYNAMIC_NO_PIC = NO;
				INFOPLIST_FILE = Info.plist;
				PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Happy;
				PRODUCT_NAME = Happy;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		FD15FCB60E086866003BDF25 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;
				PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Happy;
				PRODUCT_NAME = Happy;
				SDKROOT = iphoneos;
			};
			name = Release;
		};
		FD5F9BE70E0DEBEB008E885B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;
				PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Accel;
				PRODUCT_NAME = Accel;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		FD5F9BE80E0DEBEB008E885B /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;
				PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Accel;
				PRODUCT_NAME = Accel;
				SDKROOT = iphoneos;
			};
			name = Release;
		};
		FDB6520A0E43D1F300F688B5 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;
				PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Keyboard;
				PRODUCT_NAME = Keyboard;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		FDB6520B0E43D1F300F688B5 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;
				PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Keyboard;
				PRODUCT_NAME = Keyboard;
				SDKROOT = iphoneos;
			};
			name = Release;
		};
		FDC202EC0E107B1200ABAC90 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;
				PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Touch;
				PRODUCT_NAME = Touch;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		FDC202ED0E107B1200ABAC90 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;
				PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Touch;
				PRODUCT_NAME = Touch;
				SDKROOT = iphoneos;
			};
			name = Release;
		};
		FDC52EDC0E2843D6008D768C /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				DEVELOPMENT_TEAM = "";
				INFOPLIST_FILE = Info.plist;
				PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Fireworks;
				PRODUCT_NAME = Fireworks;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		FDC52EDD0E2843D6008D768C /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				DEVELOPMENT_TEAM = "";
				INFOPLIST_FILE = Info.plist;
				PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Fireworks;
				PRODUCT_NAME = Fireworks;
				SDKROOT = iphoneos;
			};
			name = Release;
		};
		FDF0D6A20E12D05400247964 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;
				PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Mixer;
				PRODUCT_NAME = Mixer;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		FDF0D6A30E12D05400247964 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;
				PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.Mixer;
				PRODUCT_NAME = Mixer;
				SDKROOT = iphoneos;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

................................................................................
		};
		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Demos" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				C01FCF4F08A954540054247B /* Debug */,
				C01FCF5008A954540054247B /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		FA30DEAD1BBF59D9009C397F /* Build configuration list for PBXNativeTarget "Happy-TV" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				FA30DEA71BBF59D9009C397F /* Debug */,
				FA30DEA81BBF59D9009C397F /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		FD15FCB70E086867003BDF25 /* Build configuration list for PBXNativeTarget "Happy" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				FD15FCB50E086866003BDF25 /* Debug */,

Changes to jni/SDL2/Xcode-iOS/Demos/Info.plist.

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26


27
28
29
30
	<key>CFBundleDisplayName</key>
	<string>${PRODUCT_NAME}</string>
	<key>CFBundleExecutable</key>
	<string>${EXECUTABLE_NAME}</string>
	<key>CFBundleIconFile</key>
	<string></string>
	<key>CFBundleIdentifier</key>
	<string>com.yourcompany.${PRODUCT_NAME:identifier}</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>${PRODUCT_NAME}</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleVersion</key>
	<string>1.0</string>
	<key>NSMainNibFile</key>
	<string></string>


	<key>UISupportedInterfaceOrientations</key>
	<array/>
</dict>
</plist>







|












>
>




7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
	<key>CFBundleDisplayName</key>
	<string>${PRODUCT_NAME}</string>
	<key>CFBundleExecutable</key>
	<string>${EXECUTABLE_NAME}</string>
	<key>CFBundleIconFile</key>
	<string></string>
	<key>CFBundleIdentifier</key>
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>${PRODUCT_NAME}</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleVersion</key>
	<string>1.0</string>
	<key>NSMainNibFile</key>
	<string></string>
	<key>UILaunchStoryboardName</key>
	<string>iOS Launch Screen</string>
	<key>UISupportedInterfaceOrientations</key>
	<array/>
</dict>
</plist>

Changes to jni/SDL2/Xcode-iOS/Demos/README.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
==============================================================================
About the iPhone OS Demo Applications
==============================================================================

Demos.xcodeproj contains several targets for iPhone oriented SDL demos.  These demos are written strictly using SDL 1.3 calls.  All the demos except for Fireworks (which requires OpenGL ES) should work on platforms other than iPhone OS, though you'll need to write your own compile script.  To run them on your favorite platform, you may wish to set the macros SCREEN_WIDTH and SCREEN_HEIGHT, located in common.h.

Common files:

	common.c and common.h contain code common to all demo applications.  This includes macros about the screen dimensions (in pixels), simple error handling, and functions for generating random numbers.

Rectangles (rectangles.c):

	Draws randomly sized and colored rectangles all over the screen by using SDL_RenderFill.  This is the simplest of all the demos.

Happy (happy.c):

	Loads the classic happy-face bitmap and draws a large number of happy faces bouncing around the screen.  Shows how you can load a bitmap into an SDL_Texture.

Accelerometer (accelerometer.c):





|



|



|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
==============================================================================
About the iPhone OS Demo Applications
==============================================================================

Demos.xcodeproj contains several targets for iPhone oriented SDL demos.  These demos are written strictly using SDL 2.0 calls.  All the demos except for Fireworks (which requires OpenGL ES) should work on platforms other than iPhone OS, though you'll need to write your own compile script.

Common files:

	common.c and common.h contain code common to all demo applications.  This includes functions about delta timing (in seconds), simple error handling, and functions for generating random numbers.

Rectangles (rectangles.c):

	Draws randomly sized and colored rectangles all over the screen by using SDL_RenderFillRect.  This is the simplest of all the demos.

Happy (happy.c):

	Loads the classic happy-face bitmap and draws a large number of happy faces bouncing around the screen.  Shows how you can load a bitmap into an SDL_Texture.

Accelerometer (accelerometer.c):

Changes to jni/SDL2/Xcode-iOS/Demos/src/accelerometer.c.

4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
..
27
28
29
30
31
32
33
34
35
36


37
38
39
40
41
42
43
..
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
...
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180

181
182
183
184
185
186
187
...
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
 *  use however you want
 */

#include "SDL.h"
#include "math.h"
#include "common.h"

#define MILLESECONDS_PER_FRAME 16       /* about 60 frames per second */
#define DAMPING 0.5f;           /* after bouncing off a wall, damping coefficient determines final speed */
#define FRICTION 0.0008f        /* coefficient of acceleration that opposes direction of motion */
#define GRAVITY_CONSTANT 0.004f /* how sensitive the ship is to the accelerometer */

/*  If we aren't on an iPhone, then this definition ought to yield reasonable behavior */
#ifndef SDL_IPHONE_MAX_GFORCE
#define SDL_IPHONE_MAX_GFORCE 5.0f
................................................................................
    SDL_Rect rect;              /* (drawn) position and size of ship */
} shipData;

static SDL_Texture *ship = 0;        /* texture for spaceship */
static SDL_Texture *space = 0;       /* texture for space (background */

void
render(SDL_Renderer *renderer, int w, int h)
{




    /* get joystick (accelerometer) axis values and normalize them */
    float ax = SDL_JoystickGetAxis(accelerometer, 0);
    float ay = SDL_JoystickGetAxis(accelerometer, 1);

    /* ship screen constraints */
    Uint32 minx = 0.0f;
................................................................................

    /* update velocity from accelerometer
       the factor SDL_IPHONE_MAX_G_FORCE / SINT16_MAX converts between
       SDL's units reported from the joytick, and units of g-force, as reported by the accelerometer
     */
    shipData.vx +=
        ax * SDL_IPHONE_MAX_GFORCE / SINT16_MAX * GRAVITY_CONSTANT *
        MILLESECONDS_PER_FRAME;
    shipData.vy +=
        ay * SDL_IPHONE_MAX_GFORCE / SINT16_MAX * GRAVITY_CONSTANT *
        MILLESECONDS_PER_FRAME;

    float speed = sqrt(shipData.vx * shipData.vx + shipData.vy * shipData.vy);

    if (speed > 0) {
        /* compensate for friction */
        float dirx = shipData.vx / speed;   /* normalized x velocity */
        float diry = shipData.vy / speed;   /* normalized y velocity */

        /* update velocity due to friction */
        if (speed - FRICTION * MILLESECONDS_PER_FRAME > 0) {
            /* apply friction */
            shipData.vx -= dirx * FRICTION * MILLESECONDS_PER_FRAME;
            shipData.vy -= diry * FRICTION * MILLESECONDS_PER_FRAME;
        } else {
            /* applying friction would MORE than stop the ship, so just stop the ship */
            shipData.vx = 0.0f;
            shipData.vy = 0.0f;
        }
    }

    /* update ship location */
    shipData.x += shipData.vx * MILLESECONDS_PER_FRAME;
    shipData.y += shipData.vy * MILLESECONDS_PER_FRAME;

    if (shipData.x > maxx) {
        shipData.x = maxx;
        shipData.vx = -shipData.vx * DAMPING;
    } else if (shipData.x < minx) {
        shipData.x = minx;
        shipData.vx = -shipData.vx * DAMPING;
................................................................................

int
main(int argc, char *argv[])
{

    SDL_Window *window;         /* main window */
    SDL_Renderer *renderer;
    Uint32 startFrame;          /* time frame began to process */
    Uint32 endFrame;            /* time frame ended processing */
    Sint32 delay;               /* time to pause waiting to draw next frame */
    int done;                   /* should we clean up and exit? */
    int w, h;

    /* initialize SDL */
    if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK) < 0) {
        fatalError("Could not initialize SDL");
    }

    /* create main window and renderer */
    window = SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
                                SDL_WINDOW_OPENGL |
                                SDL_WINDOW_FULLSCREEN);
    renderer = SDL_CreateRenderer(window, 0, 0);
    
    SDL_GetWindowSize(window, &w, &h);


    /* print out some info about joysticks and try to open accelerometer for use */
    printf("There are %d joysticks available\n", SDL_NumJoysticks());
    printf("Default joystick (index 0) is %s\n", SDL_JoystickName(0));
    accelerometer = SDL_JoystickOpen(0);
    if (accelerometer == NULL) {
        fatalError("Could not open joystick (accelerometer)");
................................................................................
    shipData.y = (h - shipData.rect.h) / 2;
    shipData.vx = 0.0f;
    shipData.vy = 0.0f;

    done = 0;
    /* enter main loop */
    while (!done) {
        startFrame = SDL_GetTicks();
        SDL_Event event;
        while (SDL_PollEvent(&event)) {
            if (event.type == SDL_QUIT) {
                done = 1;
            }
        }
        render(renderer, w, h);
        endFrame = SDL_GetTicks();

        /* figure out how much time we have left, and then sleep */
        delay = MILLESECONDS_PER_FRAME - (endFrame - startFrame);
        if (delay < 0) {
            delay = 0;
        } else if (delay > MILLESECONDS_PER_FRAME) {
            delay = MILLESECONDS_PER_FRAME;
        }
        SDL_Delay(delay);
    }

    /* delete textures */
    SDL_DestroyTexture(ship);
    SDL_DestroyTexture(space);

    /* shutdown SDL */
    SDL_Quit();

    return 0;

}







<







 







|

<
>
>







 







|


|

|







|

|
|








|
|







 







<
<
<









|
<
<



>







 







|






|
<
<
<
<
<
<
<
<
<
|












4
5
6
7
8
9
10

11
12
13
14
15
16
17
..
26
27
28
29
30
31
32
33
34

35
36
37
38
39
40
41
42
43
..
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
...
156
157
158
159
160
161
162



163
164
165
166
167
168
169
170
171
172


173
174
175
176
177
178
179
180
181
182
183
...
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213









214
215
216
217
218
219
220
221
222
223
224
225
226
 *  use however you want
 */

#include "SDL.h"
#include "math.h"
#include "common.h"


#define DAMPING 0.5f;           /* after bouncing off a wall, damping coefficient determines final speed */
#define FRICTION 0.0008f        /* coefficient of acceleration that opposes direction of motion */
#define GRAVITY_CONSTANT 0.004f /* how sensitive the ship is to the accelerometer */

/*  If we aren't on an iPhone, then this definition ought to yield reasonable behavior */
#ifndef SDL_IPHONE_MAX_GFORCE
#define SDL_IPHONE_MAX_GFORCE 5.0f
................................................................................
    SDL_Rect rect;              /* (drawn) position and size of ship */
} shipData;

static SDL_Texture *ship = 0;        /* texture for spaceship */
static SDL_Texture *space = 0;       /* texture for space (background */

void
render(SDL_Renderer *renderer, int w, int h, double deltaTime)
{

    double deltaMilliseconds = deltaTime * 1000;
    float speed;

    /* get joystick (accelerometer) axis values and normalize them */
    float ax = SDL_JoystickGetAxis(accelerometer, 0);
    float ay = SDL_JoystickGetAxis(accelerometer, 1);

    /* ship screen constraints */
    Uint32 minx = 0.0f;
................................................................................

    /* update velocity from accelerometer
       the factor SDL_IPHONE_MAX_G_FORCE / SINT16_MAX converts between
       SDL's units reported from the joytick, and units of g-force, as reported by the accelerometer
     */
    shipData.vx +=
        ax * SDL_IPHONE_MAX_GFORCE / SINT16_MAX * GRAVITY_CONSTANT *
        deltaMilliseconds;
    shipData.vy +=
        ay * SDL_IPHONE_MAX_GFORCE / SINT16_MAX * GRAVITY_CONSTANT *
        deltaMilliseconds;

    speed = sqrt(shipData.vx * shipData.vx + shipData.vy * shipData.vy);

    if (speed > 0) {
        /* compensate for friction */
        float dirx = shipData.vx / speed;   /* normalized x velocity */
        float diry = shipData.vy / speed;   /* normalized y velocity */

        /* update velocity due to friction */
        if (speed - FRICTION * deltaMilliseconds > 0) {
            /* apply friction */
            shipData.vx -= dirx * FRICTION * deltaMilliseconds;
            shipData.vy -= diry * FRICTION * deltaMilliseconds;
        } else {
            /* applying friction would MORE than stop the ship, so just stop the ship */
            shipData.vx = 0.0f;
            shipData.vy = 0.0f;
        }
    }

    /* update ship location */
    shipData.x += shipData.vx * deltaMilliseconds;
    shipData.y += shipData.vy * deltaMilliseconds;

    if (shipData.x > maxx) {
        shipData.x = maxx;
        shipData.vx = -shipData.vx * DAMPING;
    } else if (shipData.x < minx) {
        shipData.x = minx;
        shipData.vx = -shipData.vx * DAMPING;
................................................................................

int
main(int argc, char *argv[])
{

    SDL_Window *window;         /* main window */
    SDL_Renderer *renderer;



    int done;                   /* should we clean up and exit? */
    int w, h;

    /* initialize SDL */
    if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK) < 0) {
        fatalError("Could not initialize SDL");
    }

    /* create main window and renderer */
    window = SDL_CreateWindow(NULL, 0, 0, 320, 480, SDL_WINDOW_FULLSCREEN | SDL_WINDOW_ALLOW_HIGHDPI);


    renderer = SDL_CreateRenderer(window, 0, 0);
    
    SDL_GetWindowSize(window, &w, &h);
    SDL_RenderSetLogicalSize(renderer, w, h);

    /* print out some info about joysticks and try to open accelerometer for use */
    printf("There are %d joysticks available\n", SDL_NumJoysticks());
    printf("Default joystick (index 0) is %s\n", SDL_JoystickName(0));
    accelerometer = SDL_JoystickOpen(0);
    if (accelerometer == NULL) {
        fatalError("Could not open joystick (accelerometer)");
................................................................................
    shipData.y = (h - shipData.rect.h) / 2;
    shipData.vx = 0.0f;
    shipData.vy = 0.0f;

    done = 0;
    /* enter main loop */
    while (!done) {
        double deltaTime = updateDeltaTime();
        SDL_Event event;
        while (SDL_PollEvent(&event)) {
            if (event.type == SDL_QUIT) {
                done = 1;
            }
        }
        render(renderer, w, h, deltaTime);









        SDL_Delay(1);
    }

    /* delete textures */
    SDL_DestroyTexture(ship);
    SDL_DestroyTexture(space);

    /* shutdown SDL */
    SDL_Quit();

    return 0;

}

Changes to jni/SDL2/Xcode-iOS/Demos/src/common.c.

28
29
30
31
32
33
34

35
36



















    return rand() / (float) RAND_MAX *(max - min) + min;
}

void
fatalError(const char *string)
{
    printf("%s: %s\n", string, SDL_GetError());

    exit(1);
}


























>


>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
    return rand() / (float) RAND_MAX *(max - min) + min;
}

void
fatalError(const char *string)
{
    printf("%s: %s\n", string, SDL_GetError());
    SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, string, SDL_GetError(), NULL);
    exit(1);
}

static Uint64 prevTime = 0;

double
updateDeltaTime()
{
    Uint64 curTime;
    double deltaTime;

    if (prevTime == 0) {
        prevTime = SDL_GetPerformanceCounter();
    }

    curTime = SDL_GetPerformanceCounter();
    deltaTime = (double) (curTime - prevTime) / (double) SDL_GetPerformanceFrequency();
    prevTime = curTime;

    return deltaTime;
}

Changes to jni/SDL2/Xcode-iOS/Demos/src/common.h.

1
2
3
4
5
6
7
8
9
10
11
12

/*
 *  common.h
 *  written by Holmes Futrell
 *  use however you want
 */

#define SCREEN_WIDTH 320
#define SCREEN_HEIGHT 480

extern int randomInt(int min, int max);
extern float randomFloat(float min, float max);
extern void fatalError(const char *string);







<
<
<



>
1
2
3
4
5
6



7
8
9
10
/*
 *  common.h
 *  written by Holmes Futrell
 *  use however you want
 */




extern int randomInt(int min, int max);
extern float randomFloat(float min, float max);
extern void fatalError(const char *string);
extern double updateDeltaTime();

Changes to jni/SDL2/Xcode-iOS/Demos/src/fireworks.c.

6
7
8
9
10
11
12
13
14
15
16
17
18
19

20
21
22
23
24
25
26
..
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
..
67
68
69
70
71
72
73
74
75
76
77
78

79
80
81
82
83
84
85
..
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
...
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
...
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
...
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
...
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
...
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
...
387
388
389
390
391
392
393
394
395
396
397









398
399
400
401
402
403
404
...
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
...
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446

447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478

#include "SDL.h"
#include "SDL_opengles.h"
#include "common.h"
#include <math.h>
#include <time.h>

#define MILLESECONDS_PER_FRAME 16       /* about 60 frames per second */
#define ACCEL 0.0001f           /* acceleration due to gravity, units in pixels per millesecond squared */
#define WIND_RESISTANCE 0.00005f        /* acceleration per unit velocity due to wind resistance */
#define MAX_PARTICLES 2000      /* maximum number of particles displayed at once */

static GLuint particleTextureID;        /* OpenGL particle texture id */
static SDL_bool pointSizeExtensionSupported;    /* is GL_OES_point_size_array supported ? */

/*
    used to describe what type of particle a given struct particle is.
    emitter - this particle flies up, shooting off trail particles, then finally explodes into dust particles.
    trail   - shoots off, following emitter particle
    dust    - radiates outwards from emitter explosion
*/
enum particleType
................................................................................
void spawnTrailFromEmitter(struct particle *emitter);
void spawnEmitterParticle(GLfloat x, GLfloat y);
void explodeEmitter(struct particle *emitter);
void initializeParticles(void);
void initializeTexture();
int nextPowerOfTwo(int x);
void drawParticles();
void stepParticles(void);

/*  helper function (used in texture loading)
    returns next power of two greater than or equal to x
*/
int
nextPowerOfTwo(int x)
{
................................................................................
    while (val < x) {
        val *= 2;
    }
    return val;
}

/*
    steps each active particle by timestep MILLESECONDS_PER_FRAME
*/
void
stepParticles(void)
{

    int i;
    struct particle *slot = particles;
    struct particle *curr = particles;
    for (i = 0; i < num_active_particles; i++) {
        /* is the particle actually active, or is it marked for deletion? */
        if (curr->isActive) {
            /* is the particle off the screen? */
................................................................................
                curr->isActive = 0;
            if (curr->x > screen_w)
                curr->isActive = 0;
            else if (curr->x < 0)
                curr->isActive = 0;

            /* step velocity, then step position */
            curr->yvel += ACCEL * MILLESECONDS_PER_FRAME;
            curr->xvel += 0.0f;
            curr->y += curr->yvel * MILLESECONDS_PER_FRAME;
            curr->x += curr->xvel * MILLESECONDS_PER_FRAME;

            /* particle behavior */
            if (curr->type == emitter) {
                /* if we're an emitter, spawn a trail */
                spawnTrailFromEmitter(curr);
                /* if we've reached our peak, explode */
                if (curr->yvel > 0.0) {
................................................................................
                    explodeEmitter(curr);
                }
            } else {
                float speed =
                    sqrt(curr->xvel * curr->xvel + curr->yvel * curr->yvel);
                /*      if wind resistance is not powerful enough to stop us completely,
                   then apply winde resistance, otherwise just stop us completely */
                if (WIND_RESISTANCE * MILLESECONDS_PER_FRAME < speed) {
                    float normx = curr->xvel / speed;
                    float normy = curr->yvel / speed;
                    curr->xvel -=
                        normx * WIND_RESISTANCE * MILLESECONDS_PER_FRAME;
                    curr->yvel -=
                        normy * WIND_RESISTANCE * MILLESECONDS_PER_FRAME;
                } else {
                    curr->xvel = curr->yvel = 0;        /* stop particle */
                }

                if (curr->color[3] <= MILLESECONDS_PER_FRAME * 0.1275f) {
                    /* if this next step will cause us to fade out completely
                       then just mark for deletion */
                    curr->isActive = 0;
                } else {
                    /* otherwise, let's fade a bit more */
                    curr->color[3] -= MILLESECONDS_PER_FRAME * 0.1275f;
                }

                /* if we're a dust particle, shrink our size */
                if (curr->type == dust)
                    curr->size -= MILLESECONDS_PER_FRAME * 0.010f;

            }

            /* if we're still active, pack ourselves in the array next
               to the last active guy (pack the array tightly) */
            if (curr->isActive)
                *(slot++) = *curr;
        }                       /* endif (curr->isActive) */
        curr++;
    }
    /* the number of active particles is computed as the difference between
       old number of active particles, where slot points, and the
       new size of the array, where particles points */
    num_active_particles = slot - particles;
}

/*
    This draws all the particles shown on screen
*/
void
drawParticles()
................................................................................
        /* set the particles properties */
        p->xvel = speed * cos(theta);
        p->yvel = speed * sin(theta);
        p->x = emitter->x + emitter->xvel;
        p->y = emitter->y + emitter->yvel;
        p->isActive = 1;
        p->type = dust;
        p->size = 15;
        /* inherit emitter's color */
        p->color[0] = emitter->color[0];
        p->color[1] = emitter->color[1];
        p->color[2] = emitter->color[2];
        p->color[3] = 255;
        /* our array has expanded at the end */
        num_active_particles++;
................................................................................
    /* set the color to a random-ish orangy type color */
    p->color[0] = (0.8f + randomFloat(-0.1, 0.0)) * 255;
    p->color[1] = (0.4f + randomFloat(-0.1, 0.1)) * 255;
    p->color[2] = (0.0f + randomFloat(0.0, 0.2)) * 255;
    p->color[3] = (0.7f) * 255;

    /* set other attributes */
    p->size = 10;
    p->type = trail;
    p->isActive = 1;

    /* our array has expanded at the end */
    num_active_particles++;

}
................................................................................
    /* set position to (x, screen_h) */
    p->x = x;
    p->y = screen_h;
    /* set velocity so that terminal point is (x,y) */
    p->xvel = 0;
    p->yvel = -sqrt(2 * ACCEL * (screen_h - y));
    /* set other attributes */
    p->size = 10;
    p->type = emitter;
    p->isActive = 1;
    /* our array has expanded at the end */
    num_active_particles++;
}

/* just sets the endpoint of the particle array to element zero */
................................................................................
}

int
main(int argc, char *argv[])
{
    SDL_Window *window;         /* main window */
    SDL_GLContext context;
    int w, h;
    Uint32 startFrame;          /* time frame began to process */
    Uint32 endFrame;            /* time frame ended processing */
    Uint32 delay;               /* time to pause waiting to draw next frame */
    int done;                   /* should we clean up and exit? */

    /* initialize SDL */
    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
................................................................................
    SDL_GL_SetAttribute(SDL_GL_RETAINED_BACKING, 0);
    SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, 1);

    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 1);
    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1);

    /* create main window and renderer */
    window = SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
                                SDL_WINDOW_OPENGL |
                                SDL_WINDOW_BORDERLESS);
    context = SDL_GL_CreateContext(window);










    /* load the particle texture */
    initializeTexture();

    /*      check if GL_POINT_SIZE_ARRAY_OES is supported
       this is used to give each particle its own size
     */
................................................................................
    /* set up some OpenGL state */
    glDisable(GL_DEPTH_TEST);
    glDisable(GL_CULL_FACE);

    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();

    SDL_GetWindowSize(window, &screen_w, &screen_h);
    glViewport(0, 0, screen_w, screen_h);

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrthof((GLfloat) 0,
             (GLfloat) screen_w,
             (GLfloat) screen_h,
             (GLfloat) 0, 0.0, 1.0);
................................................................................
    glTexEnvi(GL_POINT_SPRITE_OES, GL_COORD_REPLACE_OES, 1);

    if (pointSizeExtensionSupported) {
        /* we use this to set the sizes of all the particles */
        glEnableClientState(GL_POINT_SIZE_ARRAY_OES);
    } else {
        /* if extension not available then all particles have size 10 */
        glPointSize(10);
    }

    done = 0;
    /* enter main loop */
    while (!done) {
        startFrame = SDL_GetTicks();
        SDL_Event event;

        while (SDL_PollEvent(&event)) {
            if (event.type == SDL_QUIT) {
                done = 1;
            }
            if (event.type == SDL_MOUSEBUTTONDOWN) {
                int x, y;
                SDL_GetMouseState(&x, &y);
                spawnEmitterParticle(x, y);
            }
        }
        stepParticles();
        drawParticles();
        SDL_GL_SwapWindow(window);
        endFrame = SDL_GetTicks();

        /* figure out how much time we have left, and then sleep */
        delay = MILLESECONDS_PER_FRAME - (endFrame - startFrame);
        if (delay > MILLESECONDS_PER_FRAME) {
            delay = MILLESECONDS_PER_FRAME;
        }
        if (delay > 0) {
            SDL_Delay(delay);
        }
    }

    /* delete textures */
    glDeleteTextures(1, &particleTextureID);
    /* shutdown SDL */
    SDL_Quit();

    return 0;
}







<






>







 







|







 







|


|

>







 







|

|
|







 







|



|

|




|





|




|













|







 







|







 







|







 







|







 







|







 







|
<
|

>
>
>
>
>
>
>
>
>







 







<
|







 







|





<

>










|


<
<
<
<
<
<
<
<
|
<









6
7
8
9
10
11
12

13
14
15
16
17
18
19
20
21
22
23
24
25
26
..
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
..
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
..
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
...
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
...
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
...
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
...
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
...
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
...
388
389
390
391
392
393
394
395

396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
...
417
418
419
420
421
422
423

424
425
426
427
428
429
430
431
...
440
441
442
443
444
445
446
447
448
449
450
451
452

453
454
455
456
457
458
459
460
461
462
463
464
465
466
467








468

469
470
471
472
473
474
475
476
477

#include "SDL.h"
#include "SDL_opengles.h"
#include "common.h"
#include <math.h>
#include <time.h>


#define ACCEL 0.0001f           /* acceleration due to gravity, units in pixels per millesecond squared */
#define WIND_RESISTANCE 0.00005f        /* acceleration per unit velocity due to wind resistance */
#define MAX_PARTICLES 2000      /* maximum number of particles displayed at once */

static GLuint particleTextureID;        /* OpenGL particle texture id */
static SDL_bool pointSizeExtensionSupported;    /* is GL_OES_point_size_array supported ? */
static float pointSizeScale;
/*
    used to describe what type of particle a given struct particle is.
    emitter - this particle flies up, shooting off trail particles, then finally explodes into dust particles.
    trail   - shoots off, following emitter particle
    dust    - radiates outwards from emitter explosion
*/
enum particleType
................................................................................
void spawnTrailFromEmitter(struct particle *emitter);
void spawnEmitterParticle(GLfloat x, GLfloat y);
void explodeEmitter(struct particle *emitter);
void initializeParticles(void);
void initializeTexture();
int nextPowerOfTwo(int x);
void drawParticles();
void stepParticles(double deltaTime);

/*  helper function (used in texture loading)
    returns next power of two greater than or equal to x
*/
int
nextPowerOfTwo(int x)
{
................................................................................
    while (val < x) {
        val *= 2;
    }
    return val;
}

/*
    steps each active particle by timestep deltaTime
*/
void
stepParticles(double deltaTime)
{
    float deltaMilliseconds = deltaTime * 1000;
    int i;
    struct particle *slot = particles;
    struct particle *curr = particles;
    for (i = 0; i < num_active_particles; i++) {
        /* is the particle actually active, or is it marked for deletion? */
        if (curr->isActive) {
            /* is the particle off the screen? */
................................................................................
                curr->isActive = 0;
            if (curr->x > screen_w)
                curr->isActive = 0;
            else if (curr->x < 0)
                curr->isActive = 0;

            /* step velocity, then step position */
            curr->yvel += ACCEL * deltaMilliseconds;
            curr->xvel += 0.0f;
            curr->y += curr->yvel * deltaMilliseconds;
            curr->x += curr->xvel * deltaMilliseconds;

            /* particle behavior */
            if (curr->type == emitter) {
                /* if we're an emitter, spawn a trail */
                spawnTrailFromEmitter(curr);
                /* if we've reached our peak, explode */
                if (curr->yvel > 0.0) {
................................................................................
                    explodeEmitter(curr);
                }
            } else {
                float speed =
                    sqrt(curr->xvel * curr->xvel + curr->yvel * curr->yvel);
                /*      if wind resistance is not powerful enough to stop us completely,
                   then apply winde resistance, otherwise just stop us completely */
                if (WIND_RESISTANCE * deltaMilliseconds < speed) {
                    float normx = curr->xvel / speed;
                    float normy = curr->yvel / speed;
                    curr->xvel -=
                        normx * WIND_RESISTANCE * deltaMilliseconds;
                    curr->yvel -=
                        normy * WIND_RESISTANCE * deltaMilliseconds;
                } else {
                    curr->xvel = curr->yvel = 0;        /* stop particle */
                }

                if (curr->color[3] <= deltaMilliseconds * 0.1275f) {
                    /* if this next step will cause us to fade out completely
                       then just mark for deletion */
                    curr->isActive = 0;
                } else {
                    /* otherwise, let's fade a bit more */
                    curr->color[3] -= deltaMilliseconds * 0.1275f;
                }

                /* if we're a dust particle, shrink our size */
                if (curr->type == dust)
                    curr->size -= deltaMilliseconds * 0.010f;

            }

            /* if we're still active, pack ourselves in the array next
               to the last active guy (pack the array tightly) */
            if (curr->isActive)
                *(slot++) = *curr;
        }                       /* endif (curr->isActive) */
        curr++;
    }
    /* the number of active particles is computed as the difference between
       old number of active particles, where slot points, and the
       new size of the array, where particles points */
    num_active_particles = (int) (slot - particles);
}

/*
    This draws all the particles shown on screen
*/
void
drawParticles()
................................................................................
        /* set the particles properties */
        p->xvel = speed * cos(theta);
        p->yvel = speed * sin(theta);
        p->x = emitter->x + emitter->xvel;
        p->y = emitter->y + emitter->yvel;
        p->isActive = 1;
        p->type = dust;
        p->size = 15 * pointSizeScale;
        /* inherit emitter's color */
        p->color[0] = emitter->color[0];
        p->color[1] = emitter->color[1];
        p->color[2] = emitter->color[2];
        p->color[3] = 255;
        /* our array has expanded at the end */
        num_active_particles++;
................................................................................
    /* set the color to a random-ish orangy type color */
    p->color[0] = (0.8f + randomFloat(-0.1, 0.0)) * 255;
    p->color[1] = (0.4f + randomFloat(-0.1, 0.1)) * 255;
    p->color[2] = (0.0f + randomFloat(0.0, 0.2)) * 255;
    p->color[3] = (0.7f) * 255;

    /* set other attributes */
    p->size = 10 * pointSizeScale;
    p->type = trail;
    p->isActive = 1;

    /* our array has expanded at the end */
    num_active_particles++;

}
................................................................................
    /* set position to (x, screen_h) */
    p->x = x;
    p->y = screen_h;
    /* set velocity so that terminal point is (x,y) */
    p->xvel = 0;
    p->yvel = -sqrt(2 * ACCEL * (screen_h - y));
    /* set other attributes */
    p->size = 10 * pointSizeScale;
    p->type = emitter;
    p->isActive = 1;
    /* our array has expanded at the end */
    num_active_particles++;
}

/* just sets the endpoint of the particle array to element zero */
................................................................................
}

int
main(int argc, char *argv[])
{
    SDL_Window *window;         /* main window */
    SDL_GLContext context;
    int drawableW, drawableH;
    Uint32 startFrame;          /* time frame began to process */
    Uint32 endFrame;            /* time frame ended processing */
    Uint32 delay;               /* time to pause waiting to draw next frame */
    int done;                   /* should we clean up and exit? */

    /* initialize SDL */
    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
................................................................................
    SDL_GL_SetAttribute(SDL_GL_RETAINED_BACKING, 0);
    SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, 1);

    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 1);
    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1);

    /* create main window and renderer */
    window = SDL_CreateWindow(NULL, 0, 0, 320, 480,

                                SDL_WINDOW_OPENGL | SDL_WINDOW_BORDERLESS | SDL_WINDOW_ALLOW_HIGHDPI);
    context = SDL_GL_CreateContext(window);

    /* The window size and drawable size may be different when highdpi is enabled,
     * due to the increased pixel density of the drawable. */
    SDL_GetWindowSize(window, &screen_w, &screen_h);
    SDL_GL_GetDrawableSize(window, &drawableW, &drawableH);

    /* In OpenGL, point sizes are always in pixels. We don't want them looking
     * tiny on a retina screen. */
    pointSizeScale = (float) drawableH / (float) screen_h;

    /* load the particle texture */
    initializeTexture();

    /*      check if GL_POINT_SIZE_ARRAY_OES is supported
       this is used to give each particle its own size
     */
................................................................................
    /* set up some OpenGL state */
    glDisable(GL_DEPTH_TEST);
    glDisable(GL_CULL_FACE);

    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();


    glViewport(0, 0, drawableW, drawableH);

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrthof((GLfloat) 0,
             (GLfloat) screen_w,
             (GLfloat) screen_h,
             (GLfloat) 0, 0.0, 1.0);
................................................................................
    glTexEnvi(GL_POINT_SPRITE_OES, GL_COORD_REPLACE_OES, 1);

    if (pointSizeExtensionSupported) {
        /* we use this to set the sizes of all the particles */
        glEnableClientState(GL_POINT_SIZE_ARRAY_OES);
    } else {
        /* if extension not available then all particles have size 10 */
        glPointSize(10 * pointSizeScale);
    }

    done = 0;
    /* enter main loop */
    while (!done) {

        SDL_Event event;
        double deltaTime = updateDeltaTime();
        while (SDL_PollEvent(&event)) {
            if (event.type == SDL_QUIT) {
                done = 1;
            }
            if (event.type == SDL_MOUSEBUTTONDOWN) {
                int x, y;
                SDL_GetMouseState(&x, &y);
                spawnEmitterParticle(x, y);
            }
        }
        stepParticles(deltaTime);
        drawParticles();
        SDL_GL_SwapWindow(window);








        SDL_Delay(1);

    }

    /* delete textures */
    glDeleteTextures(1, &particleTextureID);
    /* shutdown SDL */
    SDL_Quit();

    return 0;
}

Changes to jni/SDL2/Xcode-iOS/Demos/src/happy.c.

4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
..
20
21
22
23
24
25
26
27
28
29




30
31
32
33
34
35
36
37
38
39
40
41
42
43
44


45


46
47
48
49
50
51
52
53
54
55
56
57
..
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
...
119
120
121
122
123
124
125
126
127
128
129
130
131
132


133
134
135
136
137
138
139
140


141
142
143



144
145

146
147
148
149
150
151


152
153
154
155
156
157
158
159
160
161
162
163
164
165
166

167
168
169
170
171
172
173
174
175
176
177
 *  use however you want
 */

#include "SDL.h"
#include "common.h"

#define NUM_HAPPY_FACES 100     /* number of faces to draw */
#define MILLESECONDS_PER_FRAME 16       /* about 60 frames per second */
#define HAPPY_FACE_SIZE 32      /* width and height of happyface (pixels) */

static SDL_Texture *texture = 0;    /* reference to texture holding happyface */

static struct
{
    float x, y;                 /* position of happyface */
    float xvel, yvel;           /* velocity of happyface */
................................................................................
} faces[NUM_HAPPY_FACES];

/*
    Sets initial positions and velocities of happyfaces
    units of velocity are pixels per millesecond
*/
void
initializeHappyFaces()
{
    int i;




    for (i = 0; i < NUM_HAPPY_FACES; i++) {
        faces[i].x = randomFloat(0.0f, SCREEN_WIDTH - HAPPY_FACE_SIZE);
        faces[i].y = randomFloat(0.0f, SCREEN_HEIGHT - HAPPY_FACE_SIZE);
        faces[i].xvel = randomFloat(-0.1f, 0.1f);
        faces[i].yvel = randomFloat(-0.1f, 0.1f);
    }
}

void
render(SDL_Renderer *renderer)
{

    int i;
    SDL_Rect srcRect;
    SDL_Rect dstRect;





    /* setup boundaries for happyface bouncing */
    Uint16 maxx = SCREEN_WIDTH - HAPPY_FACE_SIZE;
    Uint16 maxy = SCREEN_HEIGHT - HAPPY_FACE_SIZE;
    Uint16 minx = 0;
    Uint16 miny = 0;

    /* setup rects for drawing */
    srcRect.x = 0;
    srcRect.y = 0;
    srcRect.w = HAPPY_FACE_SIZE;
    srcRect.h = HAPPY_FACE_SIZE;
    dstRect.w = HAPPY_FACE_SIZE;
................................................................................
    /*
       loop through all the happy faces:
       - update position
       - update velocity (if boundary is hit)
       - draw
     */
    for (i = 0; i < NUM_HAPPY_FACES; i++) {
        faces[i].x += faces[i].xvel * MILLESECONDS_PER_FRAME;
        faces[i].y += faces[i].yvel * MILLESECONDS_PER_FRAME;
        if (faces[i].x > maxx) {
            faces[i].x = maxx;
            faces[i].xvel = -faces[i].xvel;
        } else if (faces[i].y > maxy) {
            faces[i].y = maxy;
            faces[i].yvel = -faces[i].yvel;
        }
................................................................................
    /* free up allocated memory */
    SDL_FreeSurface(bmp_surface);
}

int
main(int argc, char *argv[])
{

    SDL_Window *window;
    SDL_Renderer *renderer;
    Uint32 startFrame;
    Uint32 endFrame;
    Uint32 delay;
    int done;



    /* initialize SDL */
    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
        fatalError("Could not initialize SDL");
    }
    window = SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
                                SDL_WINDOW_OPENGL |
                                SDL_WINDOW_BORDERLESS);



    renderer = SDL_CreateRenderer(window, -1, 0);




    initializeTexture(renderer);
    initializeHappyFaces();


    /* main loop */
    done = 0;
    while (!done) {
        startFrame = SDL_GetTicks();
        SDL_Event event;


        while (SDL_PollEvent(&event)) {
            if (event.type == SDL_QUIT) {
                done = 1;
            }
        }
        render(renderer);
        endFrame = SDL_GetTicks();

        /* figure out how much time we have left, and then sleep */
        delay = MILLESECONDS_PER_FRAME - (endFrame - startFrame);
        if (delay < 0) {
            delay = 0;
        } else if (delay > MILLESECONDS_PER_FRAME) {
            delay = MILLESECONDS_PER_FRAME;
        }

        SDL_Delay(delay);
    }

    /* cleanup */
    SDL_DestroyTexture(texture);
    /* shutdown SDL */
    SDL_Quit();

    return 0;

}







<
|







 







|


>
>
>
>

|
|
|
|




|

<



>
>

>
>

|
|
|
|







 







|
|







 







<


<
<
<

>
>





|
|
|
>
>



>
>
>

|
>




<

>
>





<
<

<
<
<
<
<
<
<
>
|










4
5
6
7
8
9
10

11
12
13
14
15
16
17
18
..
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
..
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
...
125
126
127
128
129
130
131

132
133



134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159

160
161
162
163
164
165
166
167


168







169
170
171
172
173
174
175
176
177
178
179
180
 *  use however you want
 */

#include "SDL.h"
#include "common.h"

#define NUM_HAPPY_FACES 100     /* number of faces to draw */

#define HAPPY_FACE_SIZE 32      /* width and height of happyface */

static SDL_Texture *texture = 0;    /* reference to texture holding happyface */

static struct
{
    float x, y;                 /* position of happyface */
    float xvel, yvel;           /* velocity of happyface */
................................................................................
} faces[NUM_HAPPY_FACES];

/*
    Sets initial positions and velocities of happyfaces
    units of velocity are pixels per millesecond
*/
void
initializeHappyFaces(SDL_Renderer *renderer)
{
    int i;
    int w;
    int h;
    SDL_RenderGetLogicalSize(renderer, &w, &h);

    for (i = 0; i < NUM_HAPPY_FACES; i++) {
        faces[i].x = randomFloat(0.0f, w - HAPPY_FACE_SIZE);
        faces[i].y = randomFloat(0.0f, h - HAPPY_FACE_SIZE);
        faces[i].xvel = randomFloat(-60.0f, 60.0f);
        faces[i].yvel = randomFloat(-60.0f, 60.0f);
    }
}

void
render(SDL_Renderer *renderer, double deltaTime)
{

    int i;
    SDL_Rect srcRect;
    SDL_Rect dstRect;
    int w;
    int h;

    SDL_RenderGetLogicalSize(renderer, &w, &h);

    /* setup boundaries for happyface bouncing */
    int maxx = w - HAPPY_FACE_SIZE;
    int maxy = h - HAPPY_FACE_SIZE;
    int minx = 0;
    int miny = 0;

    /* setup rects for drawing */
    srcRect.x = 0;
    srcRect.y = 0;
    srcRect.w = HAPPY_FACE_SIZE;
    srcRect.h = HAPPY_FACE_SIZE;
    dstRect.w = HAPPY_FACE_SIZE;
................................................................................
    /*
       loop through all the happy faces:
       - update position
       - update velocity (if boundary is hit)
       - draw
     */
    for (i = 0; i < NUM_HAPPY_FACES; i++) {
        faces[i].x += faces[i].xvel * deltaTime;
        faces[i].y += faces[i].yvel * deltaTime;
        if (faces[i].x > maxx) {
            faces[i].x = maxx;
            faces[i].xvel = -faces[i].xvel;
        } else if (faces[i].y > maxy) {
            faces[i].y = maxy;
            faces[i].yvel = -faces[i].yvel;
        }
................................................................................
    /* free up allocated memory */
    SDL_FreeSurface(bmp_surface);
}

int
main(int argc, char *argv[])
{

    SDL_Window *window;
    SDL_Renderer *renderer;



    int done;
    int width;
    int height;

    /* initialize SDL */
    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
        fatalError("Could not initialize SDL");
    }

    /* The specified window size doesn't matter - except for its aspect ratio,
     * which determines whether the window is in portrait or landscape on iOS
     * (if SDL_WINDOW_RESIZABLE isn't specified). */
    window = SDL_CreateWindow(NULL, 0, 0, 320, 480, SDL_WINDOW_FULLSCREEN | SDL_WINDOW_ALLOW_HIGHDPI);

    renderer = SDL_CreateRenderer(window, -1, 0);

    SDL_GetWindowSize(window, &width, &height);
    SDL_RenderSetLogicalSize(renderer, width, height);

    initializeTexture(renderer);
    initializeHappyFaces(renderer);


    /* main loop */
    done = 0;
    while (!done) {

        SDL_Event event;
        double deltaTime = updateDeltaTime();

        while (SDL_PollEvent(&event)) {
            if (event.type == SDL_QUIT) {
                done = 1;
            }
        }










        render(renderer, deltaTime);
        SDL_Delay(1);
    }

    /* cleanup */
    SDL_DestroyTexture(texture);
    /* shutdown SDL */
    SDL_Quit();

    return 0;

}

Changes to jni/SDL2/Xcode-iOS/Demos/src/keyboard.c.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
128
129
130
131
132
133
134



135
136
137
138
139
140
141
142
143
144
145
...
224
225
226
227
228
229
230
231
232
233
234
235
236


237
238
239
240
241
242
243
244
245



246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
/*
 *  keyboard.c
 *  written by Holmes Futrell
 *  use however you want
 */

#import "SDL.h"
#import "common.h"

#define GLYPH_SIZE_IMAGE 16     /* size of glyphs (characters) in the bitmap font file */
#define GLYPH_SIZE_SCREEN 32    /* size of glyphs (characters) as shown on the screen */

static SDL_Texture *texture; /* texture where we'll hold our font */

/* function declarations */
................................................................................
/*
    This function returns and x,y position for a given character number.
    It is used for positioning each character of text
*/
void
getPositionForCharNumber(int n, int *x, int *y)
{



    int x_padding = 16;         /* padding space on left and right side of screen */
    int y_padding = 32;         /* padding space at top of screen */
    /* figure out the number of characters that can fit horizontally across the screen */
    int max_x_chars = (SCREEN_WIDTH - 2 * x_padding) / GLYPH_SIZE_SCREEN;
    int line_separation = 5;    /* pixels between each line */
    *x = (n % max_x_chars) * GLYPH_SIZE_SCREEN + x_padding;
    *y = (n / max_x_chars) * (GLYPH_SIZE_SCREEN + line_separation) +
        y_padding;
}

void
................................................................................
        return texture;
    }
}

int
main(int argc, char *argv[])
{

    int index;                  /* index of last key we pushed in the bitmap font */
    SDL_Window *window;
    SDL_Event event;            /* last event received */
    SDL_Keymod mod;             /* key modifiers of last key we pushed */
    SDL_Scancode scancode;      /* scancode of last key we pushed */



    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
        printf("Error initializing SDL: %s", SDL_GetError());
    }
    /* create window */
    window = SDL_CreateWindow("iPhone keyboard test", 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
    /* create renderer */
    renderer = SDL_CreateRenderer(window, -1, 0);




    /* load up our font */
    loadFont();

    /* draw the background, we'll just paint over it */
    SDL_SetRenderDrawColor(renderer, bg_color.r, bg_color.g, bg_color.b, bg_color.a);
    SDL_RenderFillRect(renderer, NULL);
    SDL_RenderPresent(renderer);

    int done = 0;
    /* loop till we get SDL_Quit */
    while (SDL_WaitEvent(&event)) {
        switch (event.type) {
        case SDL_QUIT:
            done = 1;
            break;
        case SDL_KEYDOWN:
            index = keyToIndex(event.key.keysym);
            scancode = event.key.keysym.scancode;






|
|







 







>
>
>



|







 







<





>
>





|



>
>
>










|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
...
227
228
229
230
231
232
233

234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
/*
 *  keyboard.c
 *  written by Holmes Futrell
 *  use however you want
 */

#include "SDL.h"
#include "common.h"

#define GLYPH_SIZE_IMAGE 16     /* size of glyphs (characters) in the bitmap font file */
#define GLYPH_SIZE_SCREEN 32    /* size of glyphs (characters) as shown on the screen */

static SDL_Texture *texture; /* texture where we'll hold our font */

/* function declarations */
................................................................................
/*
    This function returns and x,y position for a given character number.
    It is used for positioning each character of text
*/
void
getPositionForCharNumber(int n, int *x, int *y)
{
    int renderW, renderH;
    SDL_RenderGetLogicalSize(renderer, &renderW, &renderH);

    int x_padding = 16;         /* padding space on left and right side of screen */
    int y_padding = 32;         /* padding space at top of screen */
    /* figure out the number of characters that can fit horizontally across the screen */
    int max_x_chars = (renderW - 2 * x_padding) / GLYPH_SIZE_SCREEN;
    int line_separation = 5;    /* pixels between each line */
    *x = (n % max_x_chars) * GLYPH_SIZE_SCREEN + x_padding;
    *y = (n / max_x_chars) * (GLYPH_SIZE_SCREEN + line_separation) +
        y_padding;
}

void
................................................................................
        return texture;
    }
}

int
main(int argc, char *argv[])
{

    int index;                  /* index of last key we pushed in the bitmap font */
    SDL_Window *window;
    SDL_Event event;            /* last event received */
    SDL_Keymod mod;             /* key modifiers of last key we pushed */
    SDL_Scancode scancode;      /* scancode of last key we pushed */
    int width;
    int height;

    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
        printf("Error initializing SDL: %s", SDL_GetError());
    }
    /* create window */
    window = SDL_CreateWindow("iPhone keyboard test", 0, 0, 320, 480, SDL_WINDOW_ALLOW_HIGHDPI);
    /* create renderer */
    renderer = SDL_CreateRenderer(window, -1, 0);

    SDL_GetWindowSize(window, &width, &height);
    SDL_RenderSetLogicalSize(renderer, width, height);

    /* load up our font */
    loadFont();

    /* draw the background, we'll just paint over it */
    SDL_SetRenderDrawColor(renderer, bg_color.r, bg_color.g, bg_color.b, bg_color.a);
    SDL_RenderFillRect(renderer, NULL);
    SDL_RenderPresent(renderer);

    int done = 0;
    /* loop till we get SDL_Quit */
    while (!done && SDL_WaitEvent(&event)) {
        switch (event.type) {
        case SDL_QUIT:
            done = 1;
            break;
        case SDL_KEYDOWN:
            index = keyToIndex(event.key.keysym);
            scancode = event.key.keysym.scancode;

Changes to jni/SDL2/Xcode-iOS/Demos/src/mixer.c.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
..
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
..
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62



63
64
65
66
67
68
69
70
71
72
73
74
...
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289

290
291
292
293
294
295
296
...
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
...
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
/*
 *  mixer.c
 *  written by Holmes Futrell
 *  use however you want
 */

#import "SDL.h"
#import "common.h"

#define NUM_CHANNELS 8          /* max number of sounds we can play at once */
#define NUM_DRUMS 4             /* number of drums in our set */
#define MILLESECONDS_PER_FRAME 16       /* about 60 frames per second */

static struct
{
    SDL_Rect rect;              /* where the button is drawn */
    SDL_Color upColor;          /* color when button is not active */
    SDL_Color downColor;        /* color when button is active */
    int isPressed;              /* is the button being pressed ? */
................................................................................
/* this array holds the audio for the drum noises */
static struct sound drums[NUM_DRUMS];

/* function declarations */
void handleMouseButtonDown(SDL_Event * event);
void handleMouseButtonUp(SDL_Event * event);
int playSound(struct sound *);
void initializeButtons();
void audioCallback(void *userdata, Uint8 * stream, int len);
void loadSound(const char *file, struct sound *s);

struct
{
    /* channel array holds information about currently playing sounds */
    struct
................................................................................
    } channels[NUM_CHANNELS];
    SDL_AudioSpec outputSpec;   /* what audio format are we using for output? */
    int numSoundsPlaying;       /* how many sounds are currently playing */
} mixer;

/* sets up the buttons (color, position, state) */
void
initializeButtons()
{

    int i;
    int spacing = 10;           /* gap between drum buttons */
    SDL_Rect buttonRect;        /* keeps track of where to position drum */
    SDL_Color upColor = { 86, 86, 140, 255 };   /* color of drum when not pressed */
    SDL_Color downColor = { 191, 191, 221, 255 };       /* color of drum when pressed */




    buttonRect.x = spacing;
    buttonRect.y = spacing;
    buttonRect.w = SCREEN_WIDTH - 2 * spacing;
    buttonRect.h = (SCREEN_HEIGHT - (NUM_DRUMS + 1) * spacing) / NUM_DRUMS;

    /* setup each button */
    for (i = 0; i < NUM_DRUMS; i++) {

        buttons[i].rect = buttonRect;
        buttons[i].isPressed = 0;
        buttons[i].upColor = upColor;
................................................................................
        }
    }
}

int
main(int argc, char *argv[])
{

    int done;                   /* has user tried to quit ? */
    SDL_Window *window;         /* main window */
    SDL_Renderer *renderer;
    SDL_Event event;
    Uint32 startFrame;          /* holds when frame started processing */
    Uint32 endFrame;            /* holds when frame ended processing */
    Uint32 delay;               /* calculated delay, how long should we wait before next frame? */

    if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) < 0) {
        fatalError("could not initialize SDL");
    }
    window =
        SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
                         SDL_WINDOW_OPENGL | SDL_WINDOW_BORDERLESS);
    renderer = SDL_CreateRenderer(window, 0, 0);


    /* initialize the mixer */
    SDL_memset(&mixer, 0, sizeof(mixer));
    /* setup output format */
    mixer.outputSpec.freq = 44100;
    mixer.outputSpec.format = AUDIO_S16LSB;
    mixer.outputSpec.channels = 2;
    mixer.outputSpec.samples = 256;
................................................................................
    /* load our drum noises */
    loadSound("ds_kick_big_amb.wav", &drums[3]);
    loadSound("ds_brush_snare.wav", &drums[2]);
    loadSound("ds_loose_skin_mute.wav", &drums[1]);
    loadSound("ds_china.wav", &drums[0]);

    /* setup positions, colors, and state of buttons */
    initializeButtons();

    /* enter main loop */
    done = 0;
    while (!done) {
        startFrame = SDL_GetTicks();
        while (SDL_PollEvent(&event)) {
            switch (event.type) {
            case SDL_MOUSEBUTTONDOWN:
                handleMouseButtonDown(&event);
                break;
            case SDL_MOUSEBUTTONUP:
                handleMouseButtonUp(&event);
................................................................................
                break;
            case SDL_QUIT:
                done = 1;
                break;
            }
        }
        render(renderer);               /* draw buttons */
        endFrame = SDL_GetTicks();

        /* figure out how much time we have left, and then sleep */
        delay = MILLESECONDS_PER_FRAME - (endFrame - startFrame);
        if (delay < 0) {
            delay = 0;
        } else if (delay > MILLESECONDS_PER_FRAME) {
            delay = MILLESECONDS_PER_FRAME;
        }
        SDL_Delay(delay);
    }

    /* cleanup code, let's free up those sound buffers */
    int i;
    for (i = 0; i < NUM_DRUMS; i++) {
        SDL_free(drums[i].buffer);
    }
    /* let SDL do its exit code */
    SDL_Quit();

    return 0;
}






|
|



<







 







|







 







|

<





>
>
>



|
|







 







<




|
|
|




|
|
|
|
|
>







 







|




<







 







<

<
<
<
<
<
<
<
|



<








1
2
3
4
5
6
7
8
9
10
11

12
13
14
15
16
17
18
..
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
..
47
48
49
50
51
52
53
54
55

56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
...
267
268
269
270
271
272
273

274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
...
306
307
308
309
310
311
312
313
314
315
316
317

318
319
320
321
322
323
324
...
325
326
327
328
329
330
331

332







333
334
335
336

337
338
339
340
341
342
343
344
/*
 *  mixer.c
 *  written by Holmes Futrell
 *  use however you want
 */

#include "SDL.h"
#include "common.h"

#define NUM_CHANNELS 8          /* max number of sounds we can play at once */
#define NUM_DRUMS 4             /* number of drums in our set */


static struct
{
    SDL_Rect rect;              /* where the button is drawn */
    SDL_Color upColor;          /* color when button is not active */
    SDL_Color downColor;        /* color when button is active */
    int isPressed;              /* is the button being pressed ? */
................................................................................
/* this array holds the audio for the drum noises */
static struct sound drums[NUM_DRUMS];

/* function declarations */
void handleMouseButtonDown(SDL_Event * event);
void handleMouseButtonUp(SDL_Event * event);
int playSound(struct sound *);
void initializeButtons(SDL_Renderer *);
void audioCallback(void *userdata, Uint8 * stream, int len);
void loadSound(const char *file, struct sound *s);

struct
{
    /* channel array holds information about currently playing sounds */
    struct
................................................................................
    } channels[NUM_CHANNELS];
    SDL_AudioSpec outputSpec;   /* what audio format are we using for output? */
    int numSoundsPlaying;       /* how many sounds are currently playing */
} mixer;

/* sets up the buttons (color, position, state) */
void
initializeButtons(SDL_Renderer *renderer)
{

    int i;
    int spacing = 10;           /* gap between drum buttons */
    SDL_Rect buttonRect;        /* keeps track of where to position drum */
    SDL_Color upColor = { 86, 86, 140, 255 };   /* color of drum when not pressed */
    SDL_Color downColor = { 191, 191, 221, 255 };       /* color of drum when pressed */
    int renderW, renderH;

    SDL_RenderGetLogicalSize(renderer, &renderW, &renderH);

    buttonRect.x = spacing;
    buttonRect.y = spacing;
    buttonRect.w = renderW - 2 * spacing;
    buttonRect.h = (renderH - (NUM_DRUMS + 1) * spacing) / NUM_DRUMS;

    /* setup each button */
    for (i = 0; i < NUM_DRUMS; i++) {

        buttons[i].rect = buttonRect;
        buttons[i].isPressed = 0;
        buttons[i].upColor = upColor;
................................................................................
        }
    }
}

int
main(int argc, char *argv[])
{

    int done;                   /* has user tried to quit ? */
    SDL_Window *window;         /* main window */
    SDL_Renderer *renderer;
    SDL_Event event;
    int i;
    int width;
    int height;

    if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) < 0) {
        fatalError("could not initialize SDL");
    }
    window = SDL_CreateWindow(NULL, 0, 0, 320, 480, SDL_WINDOW_BORDERLESS | SDL_WINDOW_ALLOW_HIGHDPI);
    renderer = SDL_CreateRenderer(window, 0, 0);

    SDL_GetWindowSize(window, &width, &height);
    SDL_RenderSetLogicalSize(renderer, width, height);

    /* initialize the mixer */
    SDL_memset(&mixer, 0, sizeof(mixer));
    /* setup output format */
    mixer.outputSpec.freq = 44100;
    mixer.outputSpec.format = AUDIO_S16LSB;
    mixer.outputSpec.channels = 2;
    mixer.outputSpec.samples = 256;
................................................................................
    /* load our drum noises */
    loadSound("ds_kick_big_amb.wav", &drums[3]);
    loadSound("ds_brush_snare.wav", &drums[2]);
    loadSound("ds_loose_skin_mute.wav", &drums[1]);
    loadSound("ds_china.wav", &drums[0]);

    /* setup positions, colors, and state of buttons */
    initializeButtons(renderer);

    /* enter main loop */
    done = 0;
    while (!done) {

        while (SDL_PollEvent(&event)) {
            switch (event.type) {
            case SDL_MOUSEBUTTONDOWN:
                handleMouseButtonDown(&event);
                break;
            case SDL_MOUSEBUTTONUP:
                handleMouseButtonUp(&event);
................................................................................
                break;
            case SDL_QUIT:
                done = 1;
                break;
            }
        }
        render(renderer);               /* draw buttons */









        SDL_Delay(1);
    }

    /* cleanup code, let's free up those sound buffers */

    for (i = 0; i < NUM_DRUMS; i++) {
        SDL_free(drums[i].buffer);
    }
    /* let SDL do its exit code */
    SDL_Quit();

    return 0;
}

Changes to jni/SDL2/Xcode-iOS/Demos/src/rectangles.c.

7
8
9
10
11
12
13
14
15





16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

42




43



44
45
46
47
48
49
50
51
52


53
54
55
56
57

58
59
60



61
62
63


64
65
66



67
68
69
70
71






72
73
74
75
76


77
78



79
80
81
#include "SDL.h"
#include <time.h>
#include "common.h"

void
render(SDL_Renderer *renderer)
{

    Uint8 r, g, b;





    /*  Come up with a random rectangle */
    SDL_Rect rect;
    rect.w = randomInt(64, 128);
    rect.h = randomInt(64, 128);
    rect.x = randomInt(0, SCREEN_WIDTH);
    rect.y = randomInt(0, SCREEN_HEIGHT);

    /* Come up with a random color */
    r = randomInt(50, 255);
    g = randomInt(50, 255);
    b = randomInt(50, 255);

    /*  Fill the rectangle in the color */
    SDL_SetRenderDrawColor(renderer, r, g, b, 255);
    SDL_RenderFillRect(renderer, &rect);

    /* update screen */
    SDL_RenderPresent(renderer);

}

int
main(int argc, char *argv[])
{
    if (SDL_Init(SDL_INIT_VIDEO/* | SDL_INIT_AUDIO */) < 0)
    {

        printf("Unable to initialize SDL");




    }



    
    SDL_LogSetAllPriority(SDL_LOG_PRIORITY_WARN);
    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2);
    SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
    
    int landscape = 1;
    int modes = SDL_GetNumDisplayModes(0);
    int sx = 0, sy = 0;
    for (int i = 0; i < modes; i++)


    {
        SDL_DisplayMode mode;
        SDL_GetDisplayMode(0, i, &mode);
        if (landscape ? mode.w > sx : mode.h > sy)
        {

            sx = mode.w;
            sy = mode.h;
        }



    }
    
    printf("picked: %d %d\n", sx, sy);


    
    SDL_Window *_sdl_window = NULL;
    SDL_GLContext _sdl_context = NULL;



    
    _sdl_window = SDL_CreateWindow("fred",
                                   0, 0,
                                   sx, sy,
                                   SDL_WINDOW_OPENGL | SDL_WINDOW_BORDERLESS);






    
    SDL_SetHint("SDL_HINT_ORIENTATIONS", "LandscapeLeft LandscapeRight");
    
    int ax = 0, ay = 0;
    SDL_GetWindowSize(_sdl_window, &ax, &ay);


    
    printf("given: %d %d\n", ax, ay);




    return 0;
}







<

>
>
>
>
>




|
|












<





<
|
>
|
>
>
>
>
|
>
>
>
|
<
<
<
|
<
<
<
<
>
>
|
<
<
|
<
>
|
|
|
>
>
>

|
<
>
>
|
<
<
>
>
>
|
<
<
<
<
>
>
>
>
>
>
|
<
|
<
<
>
>
|
<
>
>
>



7
8
9
10
11
12
13

14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

38
39
40
41
42

43
44
45
46
47
48
49
50
51
52
53
54



55




56
57
58


59

60
61
62
63
64
65
66
67
68

69
70
71


72
73
74
75




76
77
78
79
80
81
82

83


84
85
86

87
88
89
90
91
92
#include "SDL.h"
#include <time.h>
#include "common.h"

void
render(SDL_Renderer *renderer)
{

    Uint8 r, g, b;
    int renderW;
    int renderH;

    SDL_RenderGetLogicalSize(renderer, &renderW, &renderH);

    /*  Come up with a random rectangle */
    SDL_Rect rect;
    rect.w = randomInt(64, 128);
    rect.h = randomInt(64, 128);
    rect.x = randomInt(0, renderW);
    rect.y = randomInt(0, renderH);

    /* Come up with a random color */
    r = randomInt(50, 255);
    g = randomInt(50, 255);
    b = randomInt(50, 255);

    /*  Fill the rectangle in the color */
    SDL_SetRenderDrawColor(renderer, r, g, b, 255);
    SDL_RenderFillRect(renderer, &rect);

    /* update screen */
    SDL_RenderPresent(renderer);

}

int
main(int argc, char *argv[])
{


    SDL_Window *window;
    SDL_Renderer *renderer;
    int done;
    SDL_Event event;
    int windowW;
    int windowH;

    /* initialize SDL */
    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
        fatalError("Could not initialize SDL");
    }








    /* seed random number generator */
    srand(time(NULL));



    /* create window and renderer */

    window = SDL_CreateWindow(NULL, 0, 0, 320, 480, SDL_WINDOW_ALLOW_HIGHDPI);
    if (window == 0) {
        fatalError("Could not initialize Window");
    }
    renderer = SDL_CreateRenderer(window, -1, 0);
    if (!renderer) {
        fatalError("Could not create renderer");
    }


    SDL_GetWindowSize(window, &windowW, &windowH);
    SDL_RenderSetLogicalSize(renderer, windowW, windowH);



    /* Fill screen with black */
    SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
    SDL_RenderClear(renderer);





    /* Enter render loop, waiting for user to quit */
    done = 0;
    while (!done) {
        while (SDL_PollEvent(&event)) {
            if (event.type == SDL_QUIT) {
                done = 1;
            }

        }


        render(renderer);
        SDL_Delay(1);
    }


    /* shutdown SDL */
    SDL_Quit();

    return 0;
}

Changes to jni/SDL2/Xcode-iOS/Demos/src/touch.c.

22
23
24
25
26
27
28



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
..
76
77
78
79
80
81
82

83
84
85
86
87
88
89
90
91
92
93
94

95
96
97
98
99
100
101
{

    float distance = sqrt(dx * dx + dy * dy);   /* length of line segment (pythagoras) */
    int iterations = distance / PIXELS_PER_ITERATION + 1;       /* number of brush sprites to draw for the line */
    float dx_prime = dx / iterations;   /* x-shift per iteration */
    float dy_prime = dy / iterations;   /* y-shift per iteration */
    SDL_Rect dstRect;           /* rect to draw brush sprite into */




    dstRect.w = BRUSH_SIZE;
    dstRect.h = BRUSH_SIZE;

    /* setup x and y for the location of the first sprite */
    float x = startx - BRUSH_SIZE / 2.0f;
    float y = starty - BRUSH_SIZE / 2.0f;

    int i;
    /* draw a series of blots to form the line */
    for (i = 0; i < iterations; i++) {
        dstRect.x = x;
        dstRect.y = y;
        /* shift x and y for next sprite location */
        x += dx_prime;
        y += dy_prime;
................................................................................

    int x, y, dx, dy;           /* mouse location          */
    Uint8 state;                /* mouse (touch) state */
    SDL_Event event;
    SDL_Window *window;         /* main window */
    SDL_Renderer *renderer;
    int done;                   /* does user want to quit? */


    /* initialize SDL */
    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
        fatalError("Could not initialize SDL");
    }

    /* create main window and renderer */
    window = SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
                                SDL_WINDOW_OPENGL |
                                SDL_WINDOW_BORDERLESS);
    renderer = SDL_CreateRenderer(window, 0, 0);


    /* load brush texture */
    initializeTexture(renderer);

    /* fill canvass initially with all black */
    SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
    SDL_RenderClear(renderer);
    SDL_RenderPresent(renderer);







>
>
>





|
|

<







 







>







|
|
|
|
|
>







22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

40
41
42
43
44
45
46
..
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
{

    float distance = sqrt(dx * dx + dy * dy);   /* length of line segment (pythagoras) */
    int iterations = distance / PIXELS_PER_ITERATION + 1;       /* number of brush sprites to draw for the line */
    float dx_prime = dx / iterations;   /* x-shift per iteration */
    float dy_prime = dy / iterations;   /* y-shift per iteration */
    SDL_Rect dstRect;           /* rect to draw brush sprite into */
    float x;
    float y;
    int i;

    dstRect.w = BRUSH_SIZE;
    dstRect.h = BRUSH_SIZE;

    /* setup x and y for the location of the first sprite */
    x = startx - BRUSH_SIZE / 2.0f;
    y = starty - BRUSH_SIZE / 2.0f;


    /* draw a series of blots to form the line */
    for (i = 0; i < iterations; i++) {
        dstRect.x = x;
        dstRect.y = y;
        /* shift x and y for next sprite location */
        x += dx_prime;
        y += dy_prime;
................................................................................

    int x, y, dx, dy;           /* mouse location          */
    Uint8 state;                /* mouse (touch) state */
    SDL_Event event;
    SDL_Window *window;         /* main window */
    SDL_Renderer *renderer;
    int done;                   /* does user want to quit? */
    int w, h;

    /* initialize SDL */
    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
        fatalError("Could not initialize SDL");
    }

    /* create main window and renderer */
    window = SDL_CreateWindow(NULL, 0, 0, 320, 480, SDL_WINDOW_BORDERLESS | SDL_WINDOW_ALLOW_HIGHDPI);
    renderer = SDL_CreateRenderer(window, 0, 0);

    SDL_GetWindowSize(window, &w, &h);
    SDL_RenderSetLogicalSize(renderer, w, h);

    /* load brush texture */
    initializeTexture(renderer);

    /* fill canvass initially with all black */
    SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
    SDL_RenderClear(renderer);
    SDL_RenderPresent(renderer);

Changes to jni/SDL2/Xcode-iOS/SDL/SDL.xcodeproj/project.pbxproj.

70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
...
139
140
141
142
143
144
145
































































































146

147
148
149
150
151
152
153
...
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
...
336
337
338
339
340
341
342



343
344
345
346
347
348
349
...
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
...
542
543
544
545
546
547
548

549
550
551
552
553
554
555
...
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
...
644
645
646
647
648
649
650


651
652
653
654
655
656
657
...
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
...
990
991
992
993
994
995
996

997
998
999
1000
1001
1002
1003
....
1060
1061
1062
1063
1064
1065
1066















1067
1068
1069
1070
1071
1072
1073
....
1082
1083
1084
1085
1086
1087
1088
1089





1090
1091
1092
1093
1094
1095
1096
....
1099
1100
1101
1102
1103
1104
1105

1106
1107
1108
1109
1110
1111
1112
....
1122
1123
1124
1125
1126
1127
1128






































































































1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141

1142
1143
1144
1145
1146
1147
1148
....
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
....
1249
1250
1251
1252
1253
1254
1255

1256

1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269

1270
1271
1272
1273
1274
1275
1276
1277
























































































1278
1279
1280
1281
1282
1283
1284
....
1320
1321
1322
1323
1324
1325
1326









1327
1328
1329
1330
1331
1332
1333
		56A6702E18565E450007D20F /* SDL_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A6702D18565E450007D20F /* SDL_internal.h */; };
		56A6703518565E760007D20F /* SDL_dynapi_overrides.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A6703118565E760007D20F /* SDL_dynapi_overrides.h */; };
		56A6703618565E760007D20F /* SDL_dynapi_procs.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A6703218565E760007D20F /* SDL_dynapi_procs.h */; };
		56A6703718565E760007D20F /* SDL_dynapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 56A6703318565E760007D20F /* SDL_dynapi.c */; };
		56A6703818565E760007D20F /* SDL_dynapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A6703418565E760007D20F /* SDL_dynapi.h */; };
		56C181DF17C44D5E00406AE3 /* SDL_filesystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 56C181DE17C44D5E00406AE3 /* SDL_filesystem.h */; };
		56C181E217C44D7A00406AE3 /* SDL_sysfilesystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 56C181E117C44D7A00406AE3 /* SDL_sysfilesystem.m */; };
		56EA86FB13E9EC2B002E47EB /* SDL_coreaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 56EA86F913E9EC2B002E47EB /* SDL_coreaudio.c */; };
		56EA86FC13E9EC2B002E47EB /* SDL_coreaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 56EA86FA13E9EC2B002E47EB /* SDL_coreaudio.h */; };
		56ED04E1118A8EE200A56AA6 /* SDL_power.c in Sources */ = {isa = PBXBuildFile; fileRef = 56ED04E0118A8EE200A56AA6 /* SDL_power.c */; };
		56ED04E3118A8EFD00A56AA6 /* SDL_syspower.m in Sources */ = {isa = PBXBuildFile; fileRef = 56ED04E2118A8EFD00A56AA6 /* SDL_syspower.m */; };
		93CB792313FC5E5200BD3E05 /* SDL_uikitviewcontroller.h in Headers */ = {isa = PBXBuildFile; fileRef = 93CB792213FC5E5200BD3E05 /* SDL_uikitviewcontroller.h */; };
		93CB792613FC5F5300BD3E05 /* SDL_uikitviewcontroller.m in Sources */ = {isa = PBXBuildFile; fileRef = 93CB792513FC5F5300BD3E05 /* SDL_uikitviewcontroller.m */; };
		AA0AD06216647BBB00CE5896 /* SDL_gamecontroller.c in Sources */ = {isa = PBXBuildFile; fileRef = AA0AD06116647BBB00CE5896 /* SDL_gamecontroller.c */; };
		AA0AD06516647BD400CE5896 /* SDL_gamecontroller.h in Headers */ = {isa = PBXBuildFile; fileRef = AA0AD06416647BD400CE5896 /* SDL_gamecontroller.h */; };
................................................................................
		AA7558C81595D55500BBD41B /* SDL_version.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558951595D55500BBD41B /* SDL_version.h */; };
		AA7558C91595D55500BBD41B /* SDL_video.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558961595D55500BBD41B /* SDL_video.h */; };
		AA7558CA1595D55500BBD41B /* SDL.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558971595D55500BBD41B /* SDL.h */; };
		AA9FF9511637C6E5000DF050 /* SDL_messagebox.h in Headers */ = {isa = PBXBuildFile; fileRef = AA9FF9501637C6E5000DF050 /* SDL_messagebox.h */; };
		AABCC3941640643D00AB8930 /* SDL_uikitmessagebox.h in Headers */ = {isa = PBXBuildFile; fileRef = AABCC3921640643D00AB8930 /* SDL_uikitmessagebox.h */; };
		AABCC3951640643D00AB8930 /* SDL_uikitmessagebox.m in Sources */ = {isa = PBXBuildFile; fileRef = AABCC3931640643D00AB8930 /* SDL_uikitmessagebox.m */; };
		AADA5B8F16CCAB7C00107CF7 /* SDL_bits.h in Headers */ = {isa = PBXBuildFile; fileRef = AADA5B8E16CCAB7C00107CF7 /* SDL_bits.h */; };
































































































		FAD4F7021BA3C4E8008346CE /* SDL_sysjoystick_c.h in Headers */ = {isa = PBXBuildFile; fileRef = FAD4F7011BA3C4E8008346CE /* SDL_sysjoystick_c.h */; settings = {ASSET_TAGS = (); }; };

		FD3F4A760DEA620800C5B771 /* SDL_getenv.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A700DEA620800C5B771 /* SDL_getenv.c */; };
		FD3F4A770DEA620800C5B771 /* SDL_iconv.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A710DEA620800C5B771 /* SDL_iconv.c */; };
		FD3F4A780DEA620800C5B771 /* SDL_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A720DEA620800C5B771 /* SDL_malloc.c */; };
		FD3F4A790DEA620800C5B771 /* SDL_qsort.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A730DEA620800C5B771 /* SDL_qsort.c */; };
		FD3F4A7A0DEA620800C5B771 /* SDL_stdlib.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A740DEA620800C5B771 /* SDL_stdlib.c */; };
		FD3F4A7B0DEA620800C5B771 /* SDL_string.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A750DEA620800C5B771 /* SDL_string.c */; };
		FD5F9D2F0E0E08B3008E885B /* SDL_joystick.c in Sources */ = {isa = PBXBuildFile; fileRef = FD5F9D1E0E0E08B3008E885B /* SDL_joystick.c */; };
................................................................................
		56A6702D18565E450007D20F /* SDL_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_internal.h; path = ../../src/SDL_internal.h; sourceTree = "<group>"; };
		56A6703118565E760007D20F /* SDL_dynapi_overrides.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_dynapi_overrides.h; path = ../../src/dynapi/SDL_dynapi_overrides.h; sourceTree = "<group>"; };
		56A6703218565E760007D20F /* SDL_dynapi_procs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_dynapi_procs.h; path = ../../src/dynapi/SDL_dynapi_procs.h; sourceTree = "<group>"; };
		56A6703318565E760007D20F /* SDL_dynapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_dynapi.c; path = ../../src/dynapi/SDL_dynapi.c; sourceTree = "<group>"; };
		56A6703418565E760007D20F /* SDL_dynapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_dynapi.h; path = ../../src/dynapi/SDL_dynapi.h; sourceTree = "<group>"; };
		56C181DE17C44D5E00406AE3 /* SDL_filesystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_filesystem.h; sourceTree = "<group>"; };
		56C181E117C44D7A00406AE3 /* SDL_sysfilesystem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDL_sysfilesystem.m; path = ../../src/filesystem/cocoa/SDL_sysfilesystem.m; sourceTree = "<group>"; };
		56EA86F913E9EC2B002E47EB /* SDL_coreaudio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_coreaudio.c; path = coreaudio/SDL_coreaudio.c; sourceTree = "<group>"; };
		56EA86FA13E9EC2B002E47EB /* SDL_coreaudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_coreaudio.h; path = coreaudio/SDL_coreaudio.h; sourceTree = "<group>"; };
		56ED04E0118A8EE200A56AA6 /* SDL_power.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_power.c; path = ../../src/power/SDL_power.c; sourceTree = SOURCE_ROOT; };
		56ED04E2118A8EFD00A56AA6 /* SDL_syspower.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDL_syspower.m; path = ../../src/power/uikit/SDL_syspower.m; sourceTree = SOURCE_ROOT; };
		93CB792213FC5E5200BD3E05 /* SDL_uikitviewcontroller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_uikitviewcontroller.h; sourceTree = "<group>"; };
		93CB792513FC5F5300BD3E05 /* SDL_uikitviewcontroller.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDL_uikitviewcontroller.m; sourceTree = "<group>"; };
		AA0AD06116647BBB00CE5896 /* SDL_gamecontroller.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_gamecontroller.c; sourceTree = "<group>"; };
		AA0AD06416647BD400CE5896 /* SDL_gamecontroller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_gamecontroller.h; sourceTree = "<group>"; };
................................................................................
		AA7558951595D55500BBD41B /* SDL_version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_version.h; sourceTree = "<group>"; };
		AA7558961595D55500BBD41B /* SDL_video.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_video.h; sourceTree = "<group>"; };
		AA7558971595D55500BBD41B /* SDL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL.h; sourceTree = "<group>"; };
		AA9FF9501637C6E5000DF050 /* SDL_messagebox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_messagebox.h; sourceTree = "<group>"; };
		AABCC3921640643D00AB8930 /* SDL_uikitmessagebox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_uikitmessagebox.h; sourceTree = "<group>"; };
		AABCC3931640643D00AB8930 /* SDL_uikitmessagebox.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDL_uikitmessagebox.m; sourceTree = "<group>"; };
		AADA5B8E16CCAB7C00107CF7 /* SDL_bits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_bits.h; sourceTree = "<group>"; };



		FAD4F7011BA3C4E8008346CE /* SDL_sysjoystick_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_sysjoystick_c.h; sourceTree = "<group>"; };
		FD0BBFEF0E3933DD00D833B1 /* SDL_uikitview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_uikitview.h; sourceTree = "<group>"; };
		FD3F4A700DEA620800C5B771 /* SDL_getenv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_getenv.c; sourceTree = "<group>"; };
		FD3F4A710DEA620800C5B771 /* SDL_iconv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_iconv.c; sourceTree = "<group>"; };
		FD3F4A720DEA620800C5B771 /* SDL_malloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_malloc.c; sourceTree = "<group>"; };
		FD3F4A730DEA620800C5B771 /* SDL_qsort.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_qsort.c; sourceTree = "<group>"; };
		FD3F4A740DEA620800C5B771 /* SDL_stdlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_stdlib.c; sourceTree = "<group>"; };
................................................................................
		FD689FCD0E26E9D400F90B21 /* SDL_uikitappdelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_uikitappdelegate.h; sourceTree = "<group>"; };
		FD8BD8190E27E25900B52CD5 /* SDL_sysloadso.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_sysloadso.c; sourceTree = "<group>"; };
		FD99B91D0DD52EDC00FB1D6B /* SDL_dummyaudio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_dummyaudio.c; sourceTree = "<group>"; };
		FD99B91E0DD52EDC00FB1D6B /* SDL_dummyaudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_dummyaudio.h; sourceTree = "<group>"; };
		FD99B9440DD52EDC00FB1D6B /* SDL_audio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_audio.c; sourceTree = "<group>"; };
		FD99B9450DD52EDC00FB1D6B /* SDL_audio_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_audio_c.h; sourceTree = "<group>"; };
		FD99B9460DD52EDC00FB1D6B /* SDL_audiocvt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_audiocvt.c; sourceTree = "<group>"; };
		FD99B9490DD52EDC00FB1D6B /* SDL_audiomem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_audiomem.h; sourceTree = "<group>"; };
		FD99B94A0DD52EDC00FB1D6B /* SDL_audiotypecvt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_audiotypecvt.c; sourceTree = "<group>"; };
		FD99B94B0DD52EDC00FB1D6B /* SDL_mixer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_mixer.c; sourceTree = "<group>"; };
		FD99B9520DD52EDC00FB1D6B /* SDL_sysaudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_sysaudio.h; sourceTree = "<group>"; };
		FD99B9530DD52EDC00FB1D6B /* SDL_wave.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_wave.c; sourceTree = "<group>"; };
		FD99B9540DD52EDC00FB1D6B /* SDL_wave.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_wave.h; sourceTree = "<group>"; };
		FD99B98B0DD52EDC00FB1D6B /* SDL_cpuinfo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_cpuinfo.c; sourceTree = "<group>"; };
		FD99B98D0DD52EDC00FB1D6B /* blank_cursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = blank_cursor.h; sourceTree = "<group>"; };
................................................................................
			path = ../../src/atomic;
			sourceTree = SOURCE_ROOT;
		};
		19C28FACFE9D520D11CA2CBB /* Products */ = {
			isa = PBXGroup;
			children = (
				FD6526630DE8FCCB002AD96B /* libSDL2.a */,

			);
			name = Products;
			sourceTree = "<group>";
		};
		29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
			isa = PBXGroup;
			children = (
................................................................................
			);
			name = filesystem;
			sourceTree = "<group>";
		};
		56EA86F813E9EBF9002E47EB /* coreaudio */ = {
			isa = PBXGroup;
			children = (
				56EA86F913E9EC2B002E47EB /* SDL_coreaudio.c */,
				56EA86FA13E9EC2B002E47EB /* SDL_coreaudio.h */,
			);
			name = coreaudio;
			sourceTree = "<group>";
		};
		56ED04DE118A8E9A00A56AA6 /* power */ = {
			isa = PBXGroup;
................................................................................
		};
		FD689F090E26E5D900F90B21 /* uikit */ = {
			isa = PBXGroup;
			children = (
				FDC261780E3A3FC8001C4554 /* keyinfotable.h */,
				FD689FCD0E26E9D400F90B21 /* SDL_uikitappdelegate.h */,
				FD689FCC0E26E9D400F90B21 /* SDL_uikitappdelegate.m */,


				FD689F0C0E26E5D900F90B21 /* SDL_uikitevents.h */,
				FD689F0D0E26E5D900F90B21 /* SDL_uikitevents.m */,
				AABCC3921640643D00AB8930 /* SDL_uikitmessagebox.h */,
				AABCC3931640643D00AB8930 /* SDL_uikitmessagebox.m */,
				AA126AD21617C5E6005ABC8F /* SDL_uikitmodes.h */,
				AA126AD31617C5E6005ABC8F /* SDL_uikitmodes.m */,
				FD689F0E0E26E5D900F90B21 /* SDL_uikitopengles.h */,
................................................................................
			isa = PBXGroup;
			children = (
				56EA86F813E9EBF9002E47EB /* coreaudio */,
				FD99B91C0DD52EDC00FB1D6B /* dummy */,
				FD99B9440DD52EDC00FB1D6B /* SDL_audio.c */,
				FD99B9450DD52EDC00FB1D6B /* SDL_audio_c.h */,
				FD99B9460DD52EDC00FB1D6B /* SDL_audiocvt.c */,
				FD99B9490DD52EDC00FB1D6B /* SDL_audiomem.h */,
				FD99B94A0DD52EDC00FB1D6B /* SDL_audiotypecvt.c */,
				FD99B94B0DD52EDC00FB1D6B /* SDL_mixer.c */,
				FD99B9520DD52EDC00FB1D6B /* SDL_sysaudio.h */,
				FD99B9530DD52EDC00FB1D6B /* SDL_wave.c */,
				FD99B9540DD52EDC00FB1D6B /* SDL_wave.h */,
			);
			name = audio;
................................................................................
				04F7807912FB751400FC43C0 /* SDL_blendline.h in Headers */,
				04F7807B12FB751400FC43C0 /* SDL_blendpoint.h in Headers */,
				04F7807C12FB751400FC43C0 /* SDL_draw.h in Headers */,
				04F7807E12FB751400FC43C0 /* SDL_drawline.h in Headers */,
				04F7808012FB751400FC43C0 /* SDL_drawpoint.h in Headers */,
				04F7808412FB753F00FC43C0 /* SDL_nullframebuffer_c.h in Headers */,
				0442EC5012FE1C1E004C9285 /* SDL_render_sw_c.h in Headers */,

				0402A85A12FE70C600CECEE3 /* SDL_shaders_gles2.h in Headers */,
				04BAC09C1300C1290055DE28 /* SDL_assert_c.h in Headers */,
				56EA86FC13E9EC2B002E47EB /* SDL_coreaudio.h in Headers */,
				93CB792313FC5E5200BD3E05 /* SDL_uikitviewcontroller.h in Headers */,
				AA628ADC159369E3005138DD /* SDL_rotate.h in Headers */,
				AA7558981595D55500BBD41B /* begin_code.h in Headers */,
				AA7558991595D55500BBD41B /* close_code.h in Headers */,
................................................................................
				56C181DF17C44D5E00406AE3 /* SDL_filesystem.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */















		FD6526620DE8FCCB002AD96B /* libSDL */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = FD6526990DE8FD14002AD96B /* Build configuration list for PBXNativeTarget "libSDL" */;
			buildPhases = (
				FD65265F0DE8FCCB002AD96B /* Headers */,
				FD6526600DE8FCCB002AD96B /* Sources */,
			);
................................................................................
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		29B97313FDCFA39411CA2CEA /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0630;





			};
			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "SDL" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 1;
			knownRegions = (
				English,
................................................................................
				German,
			);
			mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
			projectDirPath = "";
			projectRoot = ../..;
			targets = (
				FD6526620DE8FCCB002AD96B /* libSDL */,

				00B4F48B12F6A69C0084EC00 /* PrepareXcodeProjectTemplate */,
			);
		};
/* End PBXProject section */

/* Begin PBXShellScriptBuildPhase section */
		00B4F48A12F6A69C0084EC00 /* ShellScript */ = {
................................................................................
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "# clean up the framework, remove headers, extra files\n\ntemp=$BUILD_DIR/$BUILD_STYLE-template\n# Wrong! 1. Can't assume location of Xcode directory (use xcode-select)\n# 2. Project templates should go in Application Support directories anyway.\ntemplate_dir_name=\"SDL iOS Application\"\n# dest=\"$(HOME)/Library/Application Support/Developer/Shared/Xcode/Project Templates/SDL/SDL iOS Application\"\nrsync_flags=\"--exclude *.svn --links -r\"\n\n# mkdir -p $dest\nmkdir -p $temp\nmkdir -p \"$temp/$template_dir_name/SDL/lib/\"\nmkdir -p \"$temp/$template_dir_name/SDL/include\"\n\n# copy template\nrsync $rsync_flags \"../template/$template_dir_name\" $temp/\n\n# copy Universal libSDL.a\nrsync $rsync_flags -r $SYMROOT/$CONFIGURATION-Universal/libSDL.a \"$temp/$template_dir_name/SDL/lib/\"\n\n# copy headers\nrsync $rsync_flags ../../include/ \"$temp/$template_dir_name/SDL/include\"\n\n#install (nah, don't install)\n# cp -fr \"$temp/$template_dir_name\" \"$dest\"";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */






































































































		FD6526600DE8FCCB002AD96B /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FD6526810DE8FCDD002AD96B /* SDL_systimer.c in Sources */,
				FD6526800DE8FCDD002AD96B /* SDL_timer.c in Sources */,
				FD3F4A7B0DEA620800C5B771 /* SDL_string.c in Sources */,
				FD6526660DE8FCDD002AD96B /* SDL_dummyaudio.c in Sources */,
				FD6526670DE8FCDD002AD96B /* SDL_audio.c in Sources */,
				FD6526680DE8FCDD002AD96B /* SDL_audiocvt.c in Sources */,
				FD65266A0DE8FCDD002AD96B /* SDL_audiotypecvt.c in Sources */,
				FD65266B0DE8FCDD002AD96B /* SDL_mixer.c in Sources */,
				FD65266F0DE8FCDD002AD96B /* SDL_wave.c in Sources */,

				FD6526700DE8FCDD002AD96B /* SDL_cpuinfo.c in Sources */,
				FD6526710DE8FCDD002AD96B /* SDL_events.c in Sources */,
				FD6526720DE8FCDD002AD96B /* SDL_keyboard.c in Sources */,
				56A6703718565E760007D20F /* SDL_dynapi.c in Sources */,
				FD6526730DE8FCDD002AD96B /* SDL_mouse.c in Sources */,
				FD6526740DE8FCDD002AD96B /* SDL_quit.c in Sources */,
				FD6526750DE8FCDD002AD96B /* SDL_windowevents.c in Sources */,
................................................................................
				04F7808512FB753F00FC43C0 /* SDL_nullframebuffer.c in Sources */,
				0442EC5112FE1C1E004C9285 /* SDL_render_sw.c in Sources */,
				0442EC5312FE1C28004C9285 /* SDL_render_gles.c in Sources */,
				0442EC5512FE1C3F004C9285 /* SDL_hints.c in Sources */,
				0402A85812FE70C600CECEE3 /* SDL_render_gles2.c in Sources */,
				0402A85912FE70C600CECEE3 /* SDL_shaders_gles2.c in Sources */,
				04BAC09D1300C1290055DE28 /* SDL_log.c in Sources */,
				56EA86FB13E9EC2B002E47EB /* SDL_coreaudio.c in Sources */,
				93CB792613FC5F5300BD3E05 /* SDL_uikitviewcontroller.m in Sources */,
				AA628ADB159369E3005138DD /* SDL_rotate.c in Sources */,
				AA126AD51617C5E7005ABC8F /* SDL_uikitmodes.m in Sources */,
				AA704DD7162AA90A0076D1C1 /* SDL_dropevents.c in Sources */,
				AABCC3951640643D00AB8930 /* SDL_uikitmessagebox.m in Sources */,
				AA0AD06216647BBB00CE5896 /* SDL_gamecontroller.c in Sources */,
				AA0F8495178D5F1A00823F9D /* SDL_systls.c in Sources */,
................................................................................
				ZERO_LINK = NO;
			};
			name = Release;
		};
		C01FCF4F08A954540054247B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {

				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";

				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 5.1.1;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		C01FCF5008A954540054247B /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {

				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 5.1.1;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Release;
























































































		};
		FD6526640DE8FCCB002AD96B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES;
................................................................................
		};
		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "SDL" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				C01FCF4F08A954540054247B /* Debug */,
				C01FCF5008A954540054247B /* Release */,
			);









			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		FD6526990DE8FD14002AD96B /* Build configuration list for PBXNativeTarget "libSDL" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				FD6526640DE8FCCB002AD96B /* Debug */,







|







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
>







 







|







 







>
>
>







 







<







 







>







 







|







 







>
>







 







<







 







>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







|
>
>
>
>
>







 







>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>













>







 







|







 







>

>













>








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>
>
>
>
>
>
>
>







70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
...
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
...
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
...
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
...
468
469
470
471
472
473
474

475
476
477
478
479
480
481
...
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
...
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
...
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
...
887
888
889
890
891
892
893

894
895
896
897
898
899
900
....
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
....
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
....
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
....
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
....
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
....
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
....
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
....
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
		56A6702E18565E450007D20F /* SDL_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A6702D18565E450007D20F /* SDL_internal.h */; };
		56A6703518565E760007D20F /* SDL_dynapi_overrides.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A6703118565E760007D20F /* SDL_dynapi_overrides.h */; };
		56A6703618565E760007D20F /* SDL_dynapi_procs.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A6703218565E760007D20F /* SDL_dynapi_procs.h */; };
		56A6703718565E760007D20F /* SDL_dynapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 56A6703318565E760007D20F /* SDL_dynapi.c */; };
		56A6703818565E760007D20F /* SDL_dynapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A6703418565E760007D20F /* SDL_dynapi.h */; };
		56C181DF17C44D5E00406AE3 /* SDL_filesystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 56C181DE17C44D5E00406AE3 /* SDL_filesystem.h */; };
		56C181E217C44D7A00406AE3 /* SDL_sysfilesystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 56C181E117C44D7A00406AE3 /* SDL_sysfilesystem.m */; };
		56EA86FB13E9EC2B002E47EB /* SDL_coreaudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 56EA86F913E9EC2B002E47EB /* SDL_coreaudio.m */; };
		56EA86FC13E9EC2B002E47EB /* SDL_coreaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 56EA86FA13E9EC2B002E47EB /* SDL_coreaudio.h */; };
		56ED04E1118A8EE200A56AA6 /* SDL_power.c in Sources */ = {isa = PBXBuildFile; fileRef = 56ED04E0118A8EE200A56AA6 /* SDL_power.c */; };
		56ED04E3118A8EFD00A56AA6 /* SDL_syspower.m in Sources */ = {isa = PBXBuildFile; fileRef = 56ED04E2118A8EFD00A56AA6 /* SDL_syspower.m */; };
		93CB792313FC5E5200BD3E05 /* SDL_uikitviewcontroller.h in Headers */ = {isa = PBXBuildFile; fileRef = 93CB792213FC5E5200BD3E05 /* SDL_uikitviewcontroller.h */; };
		93CB792613FC5F5300BD3E05 /* SDL_uikitviewcontroller.m in Sources */ = {isa = PBXBuildFile; fileRef = 93CB792513FC5F5300BD3E05 /* SDL_uikitviewcontroller.m */; };
		AA0AD06216647BBB00CE5896 /* SDL_gamecontroller.c in Sources */ = {isa = PBXBuildFile; fileRef = AA0AD06116647BBB00CE5896 /* SDL_gamecontroller.c */; };
		AA0AD06516647BD400CE5896 /* SDL_gamecontroller.h in Headers */ = {isa = PBXBuildFile; fileRef = AA0AD06416647BD400CE5896 /* SDL_gamecontroller.h */; };
................................................................................
		AA7558C81595D55500BBD41B /* SDL_version.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558951595D55500BBD41B /* SDL_version.h */; };
		AA7558C91595D55500BBD41B /* SDL_video.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558961595D55500BBD41B /* SDL_video.h */; };
		AA7558CA1595D55500BBD41B /* SDL.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7558971595D55500BBD41B /* SDL.h */; };
		AA9FF9511637C6E5000DF050 /* SDL_messagebox.h in Headers */ = {isa = PBXBuildFile; fileRef = AA9FF9501637C6E5000DF050 /* SDL_messagebox.h */; };
		AABCC3941640643D00AB8930 /* SDL_uikitmessagebox.h in Headers */ = {isa = PBXBuildFile; fileRef = AABCC3921640643D00AB8930 /* SDL_uikitmessagebox.h */; };
		AABCC3951640643D00AB8930 /* SDL_uikitmessagebox.m in Sources */ = {isa = PBXBuildFile; fileRef = AABCC3931640643D00AB8930 /* SDL_uikitmessagebox.m */; };
		AADA5B8F16CCAB7C00107CF7 /* SDL_bits.h in Headers */ = {isa = PBXBuildFile; fileRef = AADA5B8E16CCAB7C00107CF7 /* SDL_bits.h */; };
		FA1DC2721C62BE65008F99A0 /* SDL_uikitclipboard.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1DC2701C62BE65008F99A0 /* SDL_uikitclipboard.h */; };
		FA1DC2731C62BE65008F99A0 /* SDL_uikitclipboard.m in Sources */ = {isa = PBXBuildFile; fileRef = FA1DC2711C62BE65008F99A0 /* SDL_uikitclipboard.m */; };
		FAB5981D1BB5C31500BE72C5 /* SDL_atomic.c in Sources */ = {isa = PBXBuildFile; fileRef = 04FFAB8912E23B8D00BA343D /* SDL_atomic.c */; };
		FAB5981E1BB5C31500BE72C5 /* SDL_spinlock.c in Sources */ = {isa = PBXBuildFile; fileRef = 04FFAB8A12E23B8D00BA343D /* SDL_spinlock.c */; };
		FAB5981F1BB5C31500BE72C5 /* SDL_coreaudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 56EA86F913E9EC2B002E47EB /* SDL_coreaudio.m */; };
		FAB598211BB5C31500BE72C5 /* SDL_dummyaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B91D0DD52EDC00FB1D6B /* SDL_dummyaudio.c */; };
		FAB598231BB5C31500BE72C5 /* SDL_audio.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B9440DD52EDC00FB1D6B /* SDL_audio.c */; };
		FAB598251BB5C31500BE72C5 /* SDL_audiocvt.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B9460DD52EDC00FB1D6B /* SDL_audiocvt.c */; };
		FAB598271BB5C31500BE72C5 /* SDL_audiotypecvt.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B94A0DD52EDC00FB1D6B /* SDL_audiotypecvt.c */; };
		FAB598281BB5C31500BE72C5 /* SDL_mixer.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B94B0DD52EDC00FB1D6B /* SDL_mixer.c */; };
		FAB5982A1BB5C31500BE72C5 /* SDL_wave.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B9530DD52EDC00FB1D6B /* SDL_wave.c */; };
		FAB5982C1BB5C31500BE72C5 /* SDL_cpuinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B98B0DD52EDC00FB1D6B /* SDL_cpuinfo.c */; };
		FAB5982F1BB5C31500BE72C5 /* SDL_dynapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 56A6703318565E760007D20F /* SDL_dynapi.c */; };
		FAB598361BB5C31500BE72C5 /* SDL_clipboardevents.c in Sources */ = {isa = PBXBuildFile; fileRef = 0420496F11E6F03D007E7EC9 /* SDL_clipboardevents.c */; };
		FAB598381BB5C31500BE72C5 /* SDL_dropevents.c in Sources */ = {isa = PBXBuildFile; fileRef = AA704DD5162AA90A0076D1C1 /* SDL_dropevents.c */; };
		FAB5983A1BB5C31500BE72C5 /* SDL_events.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B9930DD52EDC00FB1D6B /* SDL_events.c */; };
		FAB5983C1BB5C31500BE72C5 /* SDL_gesture.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BA9D6011EF474A00B60E01 /* SDL_gesture.c */; };
		FAB5983E1BB5C31500BE72C5 /* SDL_keyboard.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B9950DD52EDC00FB1D6B /* SDL_keyboard.c */; };
		FAB598401BB5C31500BE72C5 /* SDL_mouse.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B9970DD52EDC00FB1D6B /* SDL_mouse.c */; };
		FAB598421BB5C31500BE72C5 /* SDL_quit.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B9990DD52EDC00FB1D6B /* SDL_quit.c */; };
		FAB598441BB5C31500BE72C5 /* SDL_touch.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BA9D6211EF474A00B60E01 /* SDL_touch.c */; };
		FAB598461BB5C31500BE72C5 /* SDL_windowevents.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B99B0DD52EDC00FB1D6B /* SDL_windowevents.c */; };
		FAB598491BB5C31600BE72C5 /* SDL_rwopsbundlesupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 006E9887119552DD001DE610 /* SDL_rwopsbundlesupport.m */; };
		FAB5984A1BB5C31600BE72C5 /* SDL_rwops.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B99E0DD52EDC00FB1D6B /* SDL_rwops.c */; };
		FAB5984B1BB5C31600BE72C5 /* SDL_sysfilesystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 56C181E117C44D7A00406AE3 /* SDL_sysfilesystem.m */; };
		FAB5984C1BB5C31600BE72C5 /* SDL_syshaptic.c in Sources */ = {isa = PBXBuildFile; fileRef = 047677B80EA76A31008ABAF1 /* SDL_syshaptic.c */; };
		FAB5984D1BB5C31600BE72C5 /* SDL_haptic.c in Sources */ = {isa = PBXBuildFile; fileRef = 047677B90EA76A31008ABAF1 /* SDL_haptic.c */; };
		FAB598501BB5C31600BE72C5 /* SDL_sysjoystick.m in Sources */ = {isa = PBXBuildFile; fileRef = FD689F000E26E5B600F90B21 /* SDL_sysjoystick.m */; };
		FAB598511BB5C31600BE72C5 /* SDL_gamecontroller.c in Sources */ = {isa = PBXBuildFile; fileRef = AA0AD06116647BBB00CE5896 /* SDL_gamecontroller.c */; };
		FAB598521BB5C31600BE72C5 /* SDL_joystick.c in Sources */ = {isa = PBXBuildFile; fileRef = FD5F9D1E0E0E08B3008E885B /* SDL_joystick.c */; };
		FAB598551BB5C31600BE72C5 /* SDL_sysloadso.c in Sources */ = {isa = PBXBuildFile; fileRef = 047AF1B20EA98D6C00811173 /* SDL_sysloadso.c */; };
		FAB598561BB5C31600BE72C5 /* SDL_sysloadso.c in Sources */ = {isa = PBXBuildFile; fileRef = FD8BD8190E27E25900B52CD5 /* SDL_sysloadso.c */; };
		FAB598571BB5C31600BE72C5 /* SDL_power.c in Sources */ = {isa = PBXBuildFile; fileRef = 56ED04E0118A8EE200A56AA6 /* SDL_power.c */; };
		FAB598581BB5C31600BE72C5 /* SDL_syspower.m in Sources */ = {isa = PBXBuildFile; fileRef = 56ED04E2118A8EFD00A56AA6 /* SDL_syspower.m */; };
		FAB598591BB5C31600BE72C5 /* SDL_render_gles.c in Sources */ = {isa = PBXBuildFile; fileRef = 0442EC5212FE1C28004C9285 /* SDL_render_gles.c */; };
		FAB5985A1BB5C31600BE72C5 /* SDL_render_gles2.c in Sources */ = {isa = PBXBuildFile; fileRef = 0402A85512FE70C600CECEE3 /* SDL_render_gles2.c */; };
		FAB5985B1BB5C31600BE72C5 /* SDL_shaders_gles2.c in Sources */ = {isa = PBXBuildFile; fileRef = 0402A85612FE70C600CECEE3 /* SDL_shaders_gles2.c */; };
		FAB5985D1BB5C31600BE72C5 /* SDL_blendfillrect.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7806A12FB751400FC43C0 /* SDL_blendfillrect.c */; };
		FAB5985F1BB5C31600BE72C5 /* SDL_blendline.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7806C12FB751400FC43C0 /* SDL_blendline.c */; };
		FAB598611BB5C31600BE72C5 /* SDL_blendpoint.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7806E12FB751400FC43C0 /* SDL_blendpoint.c */; };
		FAB598641BB5C31600BE72C5 /* SDL_drawline.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7807112FB751400FC43C0 /* SDL_drawline.c */; };
		FAB598661BB5C31600BE72C5 /* SDL_drawpoint.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7807312FB751400FC43C0 /* SDL_drawpoint.c */; };
		FAB598681BB5C31600BE72C5 /* SDL_render_sw.c in Sources */ = {isa = PBXBuildFile; fileRef = 0442EC4F12FE1C1E004C9285 /* SDL_render_sw.c */; };
		FAB5986A1BB5C31600BE72C5 /* SDL_rotate.c in Sources */ = {isa = PBXBuildFile; fileRef = AA628AD9159369E3005138DD /* SDL_rotate.c */; };
		FAB5986D1BB5C31600BE72C5 /* SDL_render.c in Sources */ = {isa = PBXBuildFile; fileRef = 041B2CEA12FA0F680087D585 /* SDL_render.c */; };
		FAB5986F1BB5C31600BE72C5 /* SDL_yuv_mmx.c in Sources */ = {isa = PBXBuildFile; fileRef = 04409BA312FA989600FB9AA8 /* SDL_yuv_mmx.c */; };
		FAB598711BB5C31600BE72C5 /* SDL_yuv_sw.c in Sources */ = {isa = PBXBuildFile; fileRef = 04409BA512FA989600FB9AA8 /* SDL_yuv_sw.c */; };
		FAB598721BB5C31600BE72C5 /* SDL_getenv.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A700DEA620800C5B771 /* SDL_getenv.c */; };
		FAB598731BB5C31600BE72C5 /* SDL_iconv.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A710DEA620800C5B771 /* SDL_iconv.c */; };
		FAB598741BB5C31600BE72C5 /* SDL_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A720DEA620800C5B771 /* SDL_malloc.c */; };
		FAB598751BB5C31600BE72C5 /* SDL_qsort.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A730DEA620800C5B771 /* SDL_qsort.c */; };
		FAB598761BB5C31600BE72C5 /* SDL_stdlib.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A740DEA620800C5B771 /* SDL_stdlib.c */; };
		FAB598771BB5C31600BE72C5 /* SDL_string.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A750DEA620800C5B771 /* SDL_string.c */; };
		FAB598781BB5C31600BE72C5 /* SDL_syscond.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99BA070DD52EDC00FB1D6B /* SDL_syscond.c */; };
		FAB598791BB5C31600BE72C5 /* SDL_sysmutex.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99BA080DD52EDC00FB1D6B /* SDL_sysmutex.c */; };
		FAB5987B1BB5C31600BE72C5 /* SDL_syssem.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99BA0A0DD52EDC00FB1D6B /* SDL_syssem.c */; };
		FAB5987C1BB5C31600BE72C5 /* SDL_systhread.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99BA0B0DD52EDC00FB1D6B /* SDL_systhread.c */; };
		FAB5987E1BB5C31600BE72C5 /* SDL_systls.c in Sources */ = {isa = PBXBuildFile; fileRef = AA0F8494178D5F1A00823F9D /* SDL_systls.c */; };
		FAB598801BB5C31600BE72C5 /* SDL_thread.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99BA150DD52EDC00FB1D6B /* SDL_thread.c */; };
		FAB598821BB5C31600BE72C5 /* SDL_systimer.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99BA310DD52EDC00FB1D6B /* SDL_systimer.c */; };
		FAB598831BB5C31600BE72C5 /* SDL_timer.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99BA2E0DD52EDC00FB1D6B /* SDL_timer.c */; };
		FAB598871BB5C31600BE72C5 /* SDL_uikitappdelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = FD689FCC0E26E9D400F90B21 /* SDL_uikitappdelegate.m */; };
		FAB598891BB5C31600BE72C5 /* SDL_uikitevents.m in Sources */ = {isa = PBXBuildFile; fileRef = FD689F0D0E26E5D900F90B21 /* SDL_uikitevents.m */; };
		FAB5988B1BB5C31600BE72C5 /* SDL_uikitmessagebox.m in Sources */ = {isa = PBXBuildFile; fileRef = AABCC3931640643D00AB8930 /* SDL_uikitmessagebox.m */; };
		FAB5988D1BB5C31600BE72C5 /* SDL_uikitmodes.m in Sources */ = {isa = PBXBuildFile; fileRef = AA126AD31617C5E6005ABC8F /* SDL_uikitmodes.m */; };
		FAB5988F1BB5C31600BE72C5 /* SDL_uikitopengles.m in Sources */ = {isa = PBXBuildFile; fileRef = FD689F0F0E26E5D900F90B21 /* SDL_uikitopengles.m */; };
		FAB598911BB5C31600BE72C5 /* SDL_uikitopenglview.m in Sources */ = {isa = PBXBuildFile; fileRef = FD689F170E26E5D900F90B21 /* SDL_uikitopenglview.m */; };
		FAB598931BB5C31600BE72C5 /* SDL_uikitvideo.m in Sources */ = {isa = PBXBuildFile; fileRef = FD689F110E26E5D900F90B21 /* SDL_uikitvideo.m */; };
		FAB598951BB5C31600BE72C5 /* SDL_uikitview.m in Sources */ = {isa = PBXBuildFile; fileRef = FD689F130E26E5D900F90B21 /* SDL_uikitview.m */; };
		FAB598971BB5C31600BE72C5 /* SDL_uikitviewcontroller.m in Sources */ = {isa = PBXBuildFile; fileRef = 93CB792513FC5F5300BD3E05 /* SDL_uikitviewcontroller.m */; };
		FAB598991BB5C31600BE72C5 /* SDL_uikitwindow.m in Sources */ = {isa = PBXBuildFile; fileRef = FD689F150E26E5D900F90B21 /* SDL_uikitwindow.m */; };
		FAB5989A1BB5C31600BE72C5 /* SDL_nullevents.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA685F50DF244C800F98A1A /* SDL_nullevents.c */; };
		FAB5989D1BB5C31600BE72C5 /* SDL_nullframebuffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7808312FB753F00FC43C0 /* SDL_nullframebuffer.c */; };
		FAB5989E1BB5C31600BE72C5 /* SDL_nullvideo.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA685F90DF244C800F98A1A /* SDL_nullvideo.c */; };
		FAB598A01BB5C31600BE72C5 /* SDL_blit.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683000DF2374E00F98A1A /* SDL_blit.c */; };
		FAB598A21BB5C31600BE72C5 /* SDL_blit_0.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683020DF2374E00F98A1A /* SDL_blit_0.c */; };
		FAB598A31BB5C31600BE72C5 /* SDL_blit_1.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683030DF2374E00F98A1A /* SDL_blit_1.c */; };
		FAB598A41BB5C31600BE72C5 /* SDL_blit_A.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683040DF2374E00F98A1A /* SDL_blit_A.c */; };
		FAB598A51BB5C31600BE72C5 /* SDL_blit_auto.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683050DF2374E00F98A1A /* SDL_blit_auto.c */; };
		FAB598A71BB5C31600BE72C5 /* SDL_blit_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683070DF2374E00F98A1A /* SDL_blit_copy.c */; };
		FAB598A91BB5C31600BE72C5 /* SDL_blit_N.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683090DF2374E00F98A1A /* SDL_blit_N.c */; };
		FAB598AA1BB5C31600BE72C5 /* SDL_blit_slow.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA6830A0DF2374E00F98A1A /* SDL_blit_slow.c */; };
		FAB598AC1BB5C31600BE72C5 /* SDL_bmp.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA6830B0DF2374E00F98A1A /* SDL_bmp.c */; };
		FAB598AD1BB5C31600BE72C5 /* SDL_clipboard.c in Sources */ = {isa = PBXBuildFile; fileRef = 044E5FB711E606EB0076F181 /* SDL_clipboard.c */; };
		FAB598AE1BB5C31600BE72C5 /* SDL_fillrect.c in Sources */ = {isa = PBXBuildFile; fileRef = 0463873E0F0B5B7D0041FD65 /* SDL_fillrect.c */; };
		FAB598AF1BB5C31600BE72C5 /* SDL_pixels.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA6830F0DF2374E00F98A1A /* SDL_pixels.c */; };
		FAB598B11BB5C31600BE72C5 /* SDL_rect.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683110DF2374E00F98A1A /* SDL_rect.c */; };
		FAB598B21BB5C31600BE72C5 /* SDL_RLEaccel.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683150DF2374E00F98A1A /* SDL_RLEaccel.c */; };
		FAB598B41BB5C31600BE72C5 /* SDL_stretch.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683170DF2374E00F98A1A /* SDL_stretch.c */; };
		FAB598B51BB5C31600BE72C5 /* SDL_surface.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA683190DF2374E00F98A1A /* SDL_surface.c */; };
		FAB598B71BB5C31600BE72C5 /* SDL_video.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA6831B0DF2374E00F98A1A /* SDL_video.c */; };
		FAB598B91BB5C31600BE72C5 /* SDL_assert.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F2AF551104ABD200D6DDF7 /* SDL_assert.c */; };
		FAB598BC1BB5C31600BE72C5 /* SDL_error.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B9D50DD52EDC00FB1D6B /* SDL_error.c */; };
		FAB598BD1BB5C31600BE72C5 /* SDL_hints.c in Sources */ = {isa = PBXBuildFile; fileRef = 0442EC5412FE1C3F004C9285 /* SDL_hints.c */; };
		FAB598BE1BB5C31600BE72C5 /* SDL_log.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BAC09B1300C1290055DE28 /* SDL_log.c */; };
		FAB598BF1BB5C31600BE72C5 /* SDL.c in Sources */ = {isa = PBXBuildFile; fileRef = FD99B9D80DD52EDC00FB1D6B /* SDL.c */; };
		FAD4F7021BA3C4E8008346CE /* SDL_sysjoystick_c.h in Headers */ = {isa = PBXBuildFile; fileRef = FAD4F7011BA3C4E8008346CE /* SDL_sysjoystick_c.h */; };
		FAFDF8C61D88D4530083E6F2 /* SDL_uikitclipboard.m in Sources */ = {isa = PBXBuildFile; fileRef = FA1DC2711C62BE65008F99A0 /* SDL_uikitclipboard.m */; };
		FD3F4A760DEA620800C5B771 /* SDL_getenv.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A700DEA620800C5B771 /* SDL_getenv.c */; };
		FD3F4A770DEA620800C5B771 /* SDL_iconv.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A710DEA620800C5B771 /* SDL_iconv.c */; };
		FD3F4A780DEA620800C5B771 /* SDL_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A720DEA620800C5B771 /* SDL_malloc.c */; };
		FD3F4A790DEA620800C5B771 /* SDL_qsort.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A730DEA620800C5B771 /* SDL_qsort.c */; };
		FD3F4A7A0DEA620800C5B771 /* SDL_stdlib.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A740DEA620800C5B771 /* SDL_stdlib.c */; };
		FD3F4A7B0DEA620800C5B771 /* SDL_string.c in Sources */ = {isa = PBXBuildFile; fileRef = FD3F4A750DEA620800C5B771 /* SDL_string.c */; };
		FD5F9D2F0E0E08B3008E885B /* SDL_joystick.c in Sources */ = {isa = PBXBuildFile; fileRef = FD5F9D1E0E0E08B3008E885B /* SDL_joystick.c */; };
................................................................................
		56A6702D18565E450007D20F /* SDL_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_internal.h; path = ../../src/SDL_internal.h; sourceTree = "<group>"; };
		56A6703118565E760007D20F /* SDL_dynapi_overrides.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_dynapi_overrides.h; path = ../../src/dynapi/SDL_dynapi_overrides.h; sourceTree = "<group>"; };
		56A6703218565E760007D20F /* SDL_dynapi_procs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_dynapi_procs.h; path = ../../src/dynapi/SDL_dynapi_procs.h; sourceTree = "<group>"; };
		56A6703318565E760007D20F /* SDL_dynapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_dynapi.c; path = ../../src/dynapi/SDL_dynapi.c; sourceTree = "<group>"; };
		56A6703418565E760007D20F /* SDL_dynapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_dynapi.h; path = ../../src/dynapi/SDL_dynapi.h; sourceTree = "<group>"; };
		56C181DE17C44D5E00406AE3 /* SDL_filesystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_filesystem.h; sourceTree = "<group>"; };
		56C181E117C44D7A00406AE3 /* SDL_sysfilesystem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDL_sysfilesystem.m; path = ../../src/filesystem/cocoa/SDL_sysfilesystem.m; sourceTree = "<group>"; };
		56EA86F913E9EC2B002E47EB /* SDL_coreaudio.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDL_coreaudio.m; path = coreaudio/SDL_coreaudio.m; sourceTree = "<group>"; };
		56EA86FA13E9EC2B002E47EB /* SDL_coreaudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_coreaudio.h; path = coreaudio/SDL_coreaudio.h; sourceTree = "<group>"; };
		56ED04E0118A8EE200A56AA6 /* SDL_power.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_power.c; path = ../../src/power/SDL_power.c; sourceTree = SOURCE_ROOT; };
		56ED04E2118A8EFD00A56AA6 /* SDL_syspower.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDL_syspower.m; path = ../../src/power/uikit/SDL_syspower.m; sourceTree = SOURCE_ROOT; };
		93CB792213FC5E5200BD3E05 /* SDL_uikitviewcontroller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_uikitviewcontroller.h; sourceTree = "<group>"; };
		93CB792513FC5F5300BD3E05 /* SDL_uikitviewcontroller.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDL_uikitviewcontroller.m; sourceTree = "<group>"; };
		AA0AD06116647BBB00CE5896 /* SDL_gamecontroller.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_gamecontroller.c; sourceTree = "<group>"; };
		AA0AD06416647BD400CE5896 /* SDL_gamecontroller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_gamecontroller.h; sourceTree = "<group>"; };
................................................................................
		AA7558951595D55500BBD41B /* SDL_version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_version.h; sourceTree = "<group>"; };
		AA7558961595D55500BBD41B /* SDL_video.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_video.h; sourceTree = "<group>"; };
		AA7558971595D55500BBD41B /* SDL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL.h; sourceTree = "<group>"; };
		AA9FF9501637C6E5000DF050 /* SDL_messagebox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_messagebox.h; sourceTree = "<group>"; };
		AABCC3921640643D00AB8930 /* SDL_uikitmessagebox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_uikitmessagebox.h; sourceTree = "<group>"; };
		AABCC3931640643D00AB8930 /* SDL_uikitmessagebox.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDL_uikitmessagebox.m; sourceTree = "<group>"; };
		AADA5B8E16CCAB7C00107CF7 /* SDL_bits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_bits.h; sourceTree = "<group>"; };
		FA1DC2701C62BE65008F99A0 /* SDL_uikitclipboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_uikitclipboard.h; sourceTree = "<group>"; };
		FA1DC2711C62BE65008F99A0 /* SDL_uikitclipboard.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDL_uikitclipboard.m; sourceTree = "<group>"; };
		FAB598141BB5C1B100BE72C5 /* libSDL2.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDL2.a; sourceTree = BUILT_PRODUCTS_DIR; };
		FAD4F7011BA3C4E8008346CE /* SDL_sysjoystick_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_sysjoystick_c.h; sourceTree = "<group>"; };
		FD0BBFEF0E3933DD00D833B1 /* SDL_uikitview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_uikitview.h; sourceTree = "<group>"; };
		FD3F4A700DEA620800C5B771 /* SDL_getenv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_getenv.c; sourceTree = "<group>"; };
		FD3F4A710DEA620800C5B771 /* SDL_iconv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_iconv.c; sourceTree = "<group>"; };
		FD3F4A720DEA620800C5B771 /* SDL_malloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_malloc.c; sourceTree = "<group>"; };
		FD3F4A730DEA620800C5B771 /* SDL_qsort.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_qsort.c; sourceTree = "<group>"; };
		FD3F4A740DEA620800C5B771 /* SDL_stdlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_stdlib.c; sourceTree = "<group>"; };
................................................................................
		FD689FCD0E26E9D400F90B21 /* SDL_uikitappdelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_uikitappdelegate.h; sourceTree = "<group>"; };
		FD8BD8190E27E25900B52CD5 /* SDL_sysloadso.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_sysloadso.c; sourceTree = "<group>"; };
		FD99B91D0DD52EDC00FB1D6B /* SDL_dummyaudio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_dummyaudio.c; sourceTree = "<group>"; };
		FD99B91E0DD52EDC00FB1D6B /* SDL_dummyaudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_dummyaudio.h; sourceTree = "<group>"; };
		FD99B9440DD52EDC00FB1D6B /* SDL_audio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_audio.c; sourceTree = "<group>"; };
		FD99B9450DD52EDC00FB1D6B /* SDL_audio_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_audio_c.h; sourceTree = "<group>"; };
		FD99B9460DD52EDC00FB1D6B /* SDL_audiocvt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_audiocvt.c; sourceTree = "<group>"; };

		FD99B94A0DD52EDC00FB1D6B /* SDL_audiotypecvt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_audiotypecvt.c; sourceTree = "<group>"; };
		FD99B94B0DD52EDC00FB1D6B /* SDL_mixer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_mixer.c; sourceTree = "<group>"; };
		FD99B9520DD52EDC00FB1D6B /* SDL_sysaudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_sysaudio.h; sourceTree = "<group>"; };
		FD99B9530DD52EDC00FB1D6B /* SDL_wave.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_wave.c; sourceTree = "<group>"; };
		FD99B9540DD52EDC00FB1D6B /* SDL_wave.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_wave.h; sourceTree = "<group>"; };
		FD99B98B0DD52EDC00FB1D6B /* SDL_cpuinfo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_cpuinfo.c; sourceTree = "<group>"; };
		FD99B98D0DD52EDC00FB1D6B /* blank_cursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = blank_cursor.h; sourceTree = "<group>"; };
................................................................................
			path = ../../src/atomic;
			sourceTree = SOURCE_ROOT;
		};
		19C28FACFE9D520D11CA2CBB /* Products */ = {
			isa = PBXGroup;
			children = (
				FD6526630DE8FCCB002AD96B /* libSDL2.a */,
				FAB598141BB5C1B100BE72C5 /* libSDL2.a */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
			isa = PBXGroup;
			children = (
................................................................................
			);
			name = filesystem;
			sourceTree = "<group>";
		};
		56EA86F813E9EBF9002E47EB /* coreaudio */ = {
			isa = PBXGroup;
			children = (
				56EA86F913E9EC2B002E47EB /* SDL_coreaudio.m */,
				56EA86FA13E9EC2B002E47EB /* SDL_coreaudio.h */,
			);
			name = coreaudio;
			sourceTree = "<group>";
		};
		56ED04DE118A8E9A00A56AA6 /* power */ = {
			isa = PBXGroup;
................................................................................
		};
		FD689F090E26E5D900F90B21 /* uikit */ = {
			isa = PBXGroup;
			children = (
				FDC261780E3A3FC8001C4554 /* keyinfotable.h */,
				FD689FCD0E26E9D400F90B21 /* SDL_uikitappdelegate.h */,
				FD689FCC0E26E9D400F90B21 /* SDL_uikitappdelegate.m */,
				FA1DC2701C62BE65008F99A0 /* SDL_uikitclipboard.h */,
				FA1DC2711C62BE65008F99A0 /* SDL_uikitclipboard.m */,
				FD689F0C0E26E5D900F90B21 /* SDL_uikitevents.h */,
				FD689F0D0E26E5D900F90B21 /* SDL_uikitevents.m */,
				AABCC3921640643D00AB8930 /* SDL_uikitmessagebox.h */,
				AABCC3931640643D00AB8930 /* SDL_uikitmessagebox.m */,
				AA126AD21617C5E6005ABC8F /* SDL_uikitmodes.h */,
				AA126AD31617C5E6005ABC8F /* SDL_uikitmodes.m */,
				FD689F0E0E26E5D900F90B21 /* SDL_uikitopengles.h */,
................................................................................
			isa = PBXGroup;
			children = (
				56EA86F813E9EBF9002E47EB /* coreaudio */,
				FD99B91C0DD52EDC00FB1D6B /* dummy */,
				FD99B9440DD52EDC00FB1D6B /* SDL_audio.c */,
				FD99B9450DD52EDC00FB1D6B /* SDL_audio_c.h */,
				FD99B9460DD52EDC00FB1D6B /* SDL_audiocvt.c */,

				FD99B94A0DD52EDC00FB1D6B /* SDL_audiotypecvt.c */,
				FD99B94B0DD52EDC00FB1D6B /* SDL_mixer.c */,
				FD99B9520DD52EDC00FB1D6B /* SDL_sysaudio.h */,
				FD99B9530DD52EDC00FB1D6B /* SDL_wave.c */,
				FD99B9540DD52EDC00FB1D6B /* SDL_wave.h */,
			);
			name = audio;
................................................................................
				04F7807912FB751400FC43C0 /* SDL_blendline.h in Headers */,
				04F7807B12FB751400FC43C0 /* SDL_blendpoint.h in Headers */,
				04F7807C12FB751400FC43C0 /* SDL_draw.h in Headers */,
				04F7807E12FB751400FC43C0 /* SDL_drawline.h in Headers */,
				04F7808012FB751400FC43C0 /* SDL_drawpoint.h in Headers */,
				04F7808412FB753F00FC43C0 /* SDL_nullframebuffer_c.h in Headers */,
				0442EC5012FE1C1E004C9285 /* SDL_render_sw_c.h in Headers */,
				FA1DC2721C62BE65008F99A0 /* SDL_uikitclipboard.h in Headers */,
				0402A85A12FE70C600CECEE3 /* SDL_shaders_gles2.h in Headers */,
				04BAC09C1300C1290055DE28 /* SDL_assert_c.h in Headers */,
				56EA86FC13E9EC2B002E47EB /* SDL_coreaudio.h in Headers */,
				93CB792313FC5E5200BD3E05 /* SDL_uikitviewcontroller.h in Headers */,
				AA628ADC159369E3005138DD /* SDL_rotate.h in Headers */,
				AA7558981595D55500BBD41B /* begin_code.h in Headers */,
				AA7558991595D55500BBD41B /* close_code.h in Headers */,
................................................................................
				56C181DF17C44D5E00406AE3 /* SDL_filesystem.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		FAB598131BB5C1B100BE72C5 /* libSDL-tv */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = FAB5981A1BB5C1B100BE72C5 /* Build configuration list for PBXNativeTarget "libSDL-tv" */;
			buildPhases = (
				FAB598101BB5C1B100BE72C5 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "libSDL-tv";
			productName = "libSDL-tv";
			productReference = FAB598141BB5C1B100BE72C5 /* libSDL2.a */;
			productType = "com.apple.product-type.library.static";
		};
		FD6526620DE8FCCB002AD96B /* libSDL */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = FD6526990DE8FD14002AD96B /* Build configuration list for PBXNativeTarget "libSDL" */;
			buildPhases = (
				FD65265F0DE8FCCB002AD96B /* Headers */,
				FD6526600DE8FCCB002AD96B /* Sources */,
			);
................................................................................
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		29B97313FDCFA39411CA2CEA /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0800;
				TargetAttributes = {
					FAB598131BB5C1B100BE72C5 = {
						CreatedOnToolsVersion = 7.1;
					};
				};
			};
			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "SDL" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 1;
			knownRegions = (
				English,
................................................................................
				German,
			);
			mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
			projectDirPath = "";
			projectRoot = ../..;
			targets = (
				FD6526620DE8FCCB002AD96B /* libSDL */,
				FAB598131BB5C1B100BE72C5 /* libSDL-tv */,
				00B4F48B12F6A69C0084EC00 /* PrepareXcodeProjectTemplate */,
			);
		};
/* End PBXProject section */

/* Begin PBXShellScriptBuildPhase section */
		00B4F48A12F6A69C0084EC00 /* ShellScript */ = {
................................................................................
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "# clean up the framework, remove headers, extra files\n\ntemp=$BUILD_DIR/$BUILD_STYLE-template\n# Wrong! 1. Can't assume location of Xcode directory (use xcode-select)\n# 2. Project templates should go in Application Support directories anyway.\ntemplate_dir_name=\"SDL iOS Application\"\n# dest=\"$(HOME)/Library/Application Support/Developer/Shared/Xcode/Project Templates/SDL/SDL iOS Application\"\nrsync_flags=\"--exclude *.svn --links -r\"\n\n# mkdir -p $dest\nmkdir -p $temp\nmkdir -p \"$temp/$template_dir_name/SDL/lib/\"\nmkdir -p \"$temp/$template_dir_name/SDL/include\"\n\n# copy template\nrsync $rsync_flags \"../template/$template_dir_name\" $temp/\n\n# copy Universal libSDL.a\nrsync $rsync_flags -r $SYMROOT/$CONFIGURATION-Universal/libSDL.a \"$temp/$template_dir_name/SDL/lib/\"\n\n# copy headers\nrsync $rsync_flags ../../include/ \"$temp/$template_dir_name/SDL/include\"\n\n#install (nah, don't install)\n# cp -fr \"$temp/$template_dir_name\" \"$dest\"";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		FAB598101BB5C1B100BE72C5 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FAB5981D1BB5C31500BE72C5 /* SDL_atomic.c in Sources */,
				FAB5981E1BB5C31500BE72C5 /* SDL_spinlock.c in Sources */,
				FAB5981F1BB5C31500BE72C5 /* SDL_coreaudio.m in Sources */,
				FAB598211BB5C31500BE72C5 /* SDL_dummyaudio.c in Sources */,
				FAB598231BB5C31500BE72C5 /* SDL_audio.c in Sources */,
				FAB598251BB5C31500BE72C5 /* SDL_audiocvt.c in Sources */,
				FAB598271BB5C31500BE72C5 /* SDL_audiotypecvt.c in Sources */,
				FAB598281BB5C31500BE72C5 /* SDL_mixer.c in Sources */,
				FAB5982A1BB5C31500BE72C5 /* SDL_wave.c in Sources */,
				FAFDF8C61D88D4530083E6F2 /* SDL_uikitclipboard.m in Sources */,
				FAB5982C1BB5C31500BE72C5 /* SDL_cpuinfo.c in Sources */,
				FAB5982F1BB5C31500BE72C5 /* SDL_dynapi.c in Sources */,
				FAB598361BB5C31500BE72C5 /* SDL_clipboardevents.c in Sources */,
				FAB598381BB5C31500BE72C5 /* SDL_dropevents.c in Sources */,
				FAB5983A1BB5C31500BE72C5 /* SDL_events.c in Sources */,
				FAB5983C1BB5C31500BE72C5 /* SDL_gesture.c in Sources */,
				FAB5983E1BB5C31500BE72C5 /* SDL_keyboard.c in Sources */,
				FAB598401BB5C31500BE72C5 /* SDL_mouse.c in Sources */,
				FAB598421BB5C31500BE72C5 /* SDL_quit.c in Sources */,
				FAB598441BB5C31500BE72C5 /* SDL_touch.c in Sources */,
				FAB598461BB5C31500BE72C5 /* SDL_windowevents.c in Sources */,
				FAB598491BB5C31600BE72C5 /* SDL_rwopsbundlesupport.m in Sources */,
				FAB5984A1BB5C31600BE72C5 /* SDL_rwops.c in Sources */,
				FAB5984B1BB5C31600BE72C5 /* SDL_sysfilesystem.m in Sources */,
				FAB5984C1BB5C31600BE72C5 /* SDL_syshaptic.c in Sources */,
				FAB5984D1BB5C31600BE72C5 /* SDL_haptic.c in Sources */,
				FAB598501BB5C31600BE72C5 /* SDL_sysjoystick.m in Sources */,
				FAB598511BB5C31600BE72C5 /* SDL_gamecontroller.c in Sources */,
				FAB598521BB5C31600BE72C5 /* SDL_joystick.c in Sources */,
				FAB598551BB5C31600BE72C5 /* SDL_sysloadso.c in Sources */,
				FAB598561BB5C31600BE72C5 /* SDL_sysloadso.c in Sources */,
				FAB598571BB5C31600BE72C5 /* SDL_power.c in Sources */,
				FAB598581BB5C31600BE72C5 /* SDL_syspower.m in Sources */,
				FAB598591BB5C31600BE72C5 /* SDL_render_gles.c in Sources */,
				FAB5985A1BB5C31600BE72C5 /* SDL_render_gles2.c in Sources */,
				FAB5985B1BB5C31600BE72C5 /* SDL_shaders_gles2.c in Sources */,
				FAB5985D1BB5C31600BE72C5 /* SDL_blendfillrect.c in Sources */,
				FAB5985F1BB5C31600BE72C5 /* SDL_blendline.c in Sources */,
				FAB598611BB5C31600BE72C5 /* SDL_blendpoint.c in Sources */,
				FAB598641BB5C31600BE72C5 /* SDL_drawline.c in Sources */,
				FAB598661BB5C31600BE72C5 /* SDL_drawpoint.c in Sources */,
				FAB598681BB5C31600BE72C5 /* SDL_render_sw.c in Sources */,
				FAB5986A1BB5C31600BE72C5 /* SDL_rotate.c in Sources */,
				FAB5986D1BB5C31600BE72C5 /* SDL_render.c in Sources */,
				FAB5986F1BB5C31600BE72C5 /* SDL_yuv_mmx.c in Sources */,
				FAB598711BB5C31600BE72C5 /* SDL_yuv_sw.c in Sources */,
				FAB598721BB5C31600BE72C5 /* SDL_getenv.c in Sources */,
				FAB598731BB5C31600BE72C5 /* SDL_iconv.c in Sources */,
				FAB598741BB5C31600BE72C5 /* SDL_malloc.c in Sources */,
				FAB598751BB5C31600BE72C5 /* SDL_qsort.c in Sources */,
				FAB598761BB5C31600BE72C5 /* SDL_stdlib.c in Sources */,
				FAB598771BB5C31600BE72C5 /* SDL_string.c in Sources */,
				FAB598781BB5C31600BE72C5 /* SDL_syscond.c in Sources */,
				FAB598791BB5C31600BE72C5 /* SDL_sysmutex.c in Sources */,
				FAB5987B1BB5C31600BE72C5 /* SDL_syssem.c in Sources */,
				FAB5987C1BB5C31600BE72C5 /* SDL_systhread.c in Sources */,
				FAB5987E1BB5C31600BE72C5 /* SDL_systls.c in Sources */,
				FAB598801BB5C31600BE72C5 /* SDL_thread.c in Sources */,
				FAB598821BB5C31600BE72C5 /* SDL_systimer.c in Sources */,
				FAB598831BB5C31600BE72C5 /* SDL_timer.c in Sources */,
				FAB598871BB5C31600BE72C5 /* SDL_uikitappdelegate.m in Sources */,
				FAB598891BB5C31600BE72C5 /* SDL_uikitevents.m in Sources */,
				FAB5988B1BB5C31600BE72C5 /* SDL_uikitmessagebox.m in Sources */,
				FAB5988D1BB5C31600BE72C5 /* SDL_uikitmodes.m in Sources */,
				FAB5988F1BB5C31600BE72C5 /* SDL_uikitopengles.m in Sources */,
				FAB598911BB5C31600BE72C5 /* SDL_uikitopenglview.m in Sources */,
				FAB598931BB5C31600BE72C5 /* SDL_uikitvideo.m in Sources */,
				FAB598951BB5C31600BE72C5 /* SDL_uikitview.m in Sources */,
				FAB598971BB5C31600BE72C5 /* SDL_uikitviewcontroller.m in Sources */,
				FAB598991BB5C31600BE72C5 /* SDL_uikitwindow.m in Sources */,
				FAB5989A1BB5C31600BE72C5 /* SDL_nullevents.c in Sources */,
				FAB5989D1BB5C31600BE72C5 /* SDL_nullframebuffer.c in Sources */,
				FAB5989E1BB5C31600BE72C5 /* SDL_nullvideo.c in Sources */,
				FAB598A01BB5C31600BE72C5 /* SDL_blit.c in Sources */,
				FAB598A21BB5C31600BE72C5 /* SDL_blit_0.c in Sources */,
				FAB598A31BB5C31600BE72C5 /* SDL_blit_1.c in Sources */,
				FAB598A41BB5C31600BE72C5 /* SDL_blit_A.c in Sources */,
				FAB598A51BB5C31600BE72C5 /* SDL_blit_auto.c in Sources */,
				FAB598A71BB5C31600BE72C5 /* SDL_blit_copy.c in Sources */,
				FAB598A91BB5C31600BE72C5 /* SDL_blit_N.c in Sources */,
				FAB598AA1BB5C31600BE72C5 /* SDL_blit_slow.c in Sources */,
				FAB598AC1BB5C31600BE72C5 /* SDL_bmp.c in Sources */,
				FAB598AD1BB5C31600BE72C5 /* SDL_clipboard.c in Sources */,
				FAB598AE1BB5C31600BE72C5 /* SDL_fillrect.c in Sources */,
				FAB598AF1BB5C31600BE72C5 /* SDL_pixels.c in Sources */,
				FAB598B11BB5C31600BE72C5 /* SDL_rect.c in Sources */,
				FAB598B21BB5C31600BE72C5 /* SDL_RLEaccel.c in Sources */,
				FAB598B41BB5C31600BE72C5 /* SDL_stretch.c in Sources */,
				FAB598B51BB5C31600BE72C5 /* SDL_surface.c in Sources */,
				FAB598B71BB5C31600BE72C5 /* SDL_video.c in Sources */,
				FAB598B91BB5C31600BE72C5 /* SDL_assert.c in Sources */,
				FAB598BC1BB5C31600BE72C5 /* SDL_error.c in Sources */,
				FAB598BD1BB5C31600BE72C5 /* SDL_hints.c in Sources */,
				FAB598BE1BB5C31600BE72C5 /* SDL_log.c in Sources */,
				FAB598BF1BB5C31600BE72C5 /* SDL.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FD6526600DE8FCCB002AD96B /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FD6526810DE8FCDD002AD96B /* SDL_systimer.c in Sources */,
				FD6526800DE8FCDD002AD96B /* SDL_timer.c in Sources */,
				FD3F4A7B0DEA620800C5B771 /* SDL_string.c in Sources */,
				FD6526660DE8FCDD002AD96B /* SDL_dummyaudio.c in Sources */,
				FD6526670DE8FCDD002AD96B /* SDL_audio.c in Sources */,
				FD6526680DE8FCDD002AD96B /* SDL_audiocvt.c in Sources */,
				FD65266A0DE8FCDD002AD96B /* SDL_audiotypecvt.c in Sources */,
				FD65266B0DE8FCDD002AD96B /* SDL_mixer.c in Sources */,
				FD65266F0DE8FCDD002AD96B /* SDL_wave.c in Sources */,
				FA1DC2731C62BE65008F99A0 /* SDL_uikitclipboard.m in Sources */,
				FD6526700DE8FCDD002AD96B /* SDL_cpuinfo.c in Sources */,
				FD6526710DE8FCDD002AD96B /* SDL_events.c in Sources */,
				FD6526720DE8FCDD002AD96B /* SDL_keyboard.c in Sources */,
				56A6703718565E760007D20F /* SDL_dynapi.c in Sources */,
				FD6526730DE8FCDD002AD96B /* SDL_mouse.c in Sources */,
				FD6526740DE8FCDD002AD96B /* SDL_quit.c in Sources */,
				FD6526750DE8FCDD002AD96B /* SDL_windowevents.c in Sources */,
................................................................................
				04F7808512FB753F00FC43C0 /* SDL_nullframebuffer.c in Sources */,
				0442EC5112FE1C1E004C9285 /* SDL_render_sw.c in Sources */,
				0442EC5312FE1C28004C9285 /* SDL_render_gles.c in Sources */,
				0442EC5512FE1C3F004C9285 /* SDL_hints.c in Sources */,
				0402A85812FE70C600CECEE3 /* SDL_render_gles2.c in Sources */,
				0402A85912FE70C600CECEE3 /* SDL_shaders_gles2.c in Sources */,
				04BAC09D1300C1290055DE28 /* SDL_log.c in Sources */,
				56EA86FB13E9EC2B002E47EB /* SDL_coreaudio.m in Sources */,
				93CB792613FC5F5300BD3E05 /* SDL_uikitviewcontroller.m in Sources */,
				AA628ADB159369E3005138DD /* SDL_rotate.c in Sources */,
				AA126AD51617C5E7005ABC8F /* SDL_uikitmodes.m in Sources */,
				AA704DD7162AA90A0076D1C1 /* SDL_dropevents.c in Sources */,
				AABCC3951640643D00AB8930 /* SDL_uikitmessagebox.m in Sources */,
				AA0AD06216647BBB00CE5896 /* SDL_gamecontroller.c in Sources */,
				AA0F8495178D5F1A00823F9D /* SDL_systls.c in Sources */,
................................................................................
				ZERO_LINK = NO;
			};
			name = Release;
		};
		C01FCF4F08A954540054247B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_OBJC_ARC = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				ENABLE_TESTABILITY = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 5.1.1;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		C01FCF5008A954540054247B /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_OBJC_ARC = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 5.1.1;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Release;
		};
		FAB5981B1BB5C1B100BE72C5 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = dwarf;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				MTL_ENABLE_DEBUG_INFO = YES;
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = SDL2;
				SDKROOT = appletvos;
				SKIP_INSTALL = YES;
				TARGETED_DEVICE_FAMILY = 3;
				TVOS_DEPLOYMENT_TARGET = 9.0;
			};
			name = Debug;
		};
		FAB5981C1BB5C1B100BE72C5 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				MTL_ENABLE_DEBUG_INFO = NO;
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = SDL2;
				SDKROOT = appletvos;
				SKIP_INSTALL = YES;
				TARGETED_DEVICE_FAMILY = 3;
				TVOS_DEPLOYMENT_TARGET = 9.0;
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
		FD6526640DE8FCCB002AD96B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES;
................................................................................
		};
		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "SDL" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				C01FCF4F08A954540054247B /* Debug */,
				C01FCF5008A954540054247B /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		FAB5981A1BB5C1B100BE72C5 /* Build configuration list for PBXNativeTarget "libSDL-tv" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				FAB5981B1BB5C1B100BE72C5 /* Debug */,
				FAB5981C1BB5C1B100BE72C5 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		FD6526990DE8FD14002AD96B /* Build configuration list for PBXNativeTarget "libSDL" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				FD6526640DE8FCCB002AD96B /* Debug */,

Changes to jni/SDL2/Xcode-iOS/SDLtest/SDL2test.xcodeproj/project.pbxproj.

17
18
19
20
21
22
23














24












25
26
27
28
29
30
31
..
35
36
37
38
39
40
41

42
43
44
45
46
47
48







49
50
51
52
53
54
55
..
60
61
62
63
64
65
66

67
68
69
70
71
72
73
...
115
116
117
118
119
120
121

















122
123
124
125
126
127
128
129





130
131
132
133
134
135
136
...
137
138
139
140
141
142
143

144
145
146
147
148
149
150
...
162
163
164
165
166
167
168





















169
170
171
172
173
174
175
...
191
192
193
194
195
196
197

198
199
200
201
202
203
204
...
216
217
218
219
220
221
222

223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241






















242






























243
244
245
246
247
248
249
...
257
258
259
260
261
262
263









264
265
266
267
268
269
270
		AA1EE469176059AB0029C7A5 /* SDL_test_imageBlitBlend.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE45B176059AB0029C7A5 /* SDL_test_imageBlitBlend.c */; };
		AA1EE46A176059AB0029C7A5 /* SDL_test_imageFace.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE45C176059AB0029C7A5 /* SDL_test_imageFace.c */; };
		AA1EE46B176059AB0029C7A5 /* SDL_test_imagePrimitives.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE45D176059AB0029C7A5 /* SDL_test_imagePrimitives.c */; };
		AA1EE46C176059AB0029C7A5 /* SDL_test_imagePrimitivesBlend.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE45E176059AB0029C7A5 /* SDL_test_imagePrimitivesBlend.c */; };
		AA1EE46D176059AB0029C7A5 /* SDL_test_log.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE45F176059AB0029C7A5 /* SDL_test_log.c */; };
		AA1EE46E176059AB0029C7A5 /* SDL_test_md5.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE460176059AB0029C7A5 /* SDL_test_md5.c */; };
		AA1EE46F176059AB0029C7A5 /* SDL_test_random.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE461176059AB0029C7A5 /* SDL_test_random.c */; };














/* End PBXBuildFile section */













/* Begin PBXFileReference section */
		AA1EE4461760589B0029C7A5 /* libSDL2test.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDL2test.a; sourceTree = BUILT_PRODUCTS_DIR; };
		AA1EE454176059AB0029C7A5 /* SDL_test_common.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_common.c; path = ../../src/test/SDL_test_common.c; sourceTree = "<group>"; };
		AA1EE455176059AB0029C7A5 /* SDL_test_compare.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_compare.c; path = ../../src/test/SDL_test_compare.c; sourceTree = "<group>"; };
		AA1EE456176059AB0029C7A5 /* SDL_test_crc32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_crc32.c; path = ../../src/test/SDL_test_crc32.c; sourceTree = "<group>"; };
		AA1EE457176059AB0029C7A5 /* SDL_test_font.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_font.c; path = ../../src/test/SDL_test_font.c; sourceTree = "<group>"; };
................................................................................
		AA1EE45B176059AB0029C7A5 /* SDL_test_imageBlitBlend.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_imageBlitBlend.c; path = ../../src/test/SDL_test_imageBlitBlend.c; sourceTree = "<group>"; };
		AA1EE45C176059AB0029C7A5 /* SDL_test_imageFace.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_imageFace.c; path = ../../src/test/SDL_test_imageFace.c; sourceTree = "<group>"; };
		AA1EE45D176059AB0029C7A5 /* SDL_test_imagePrimitives.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_imagePrimitives.c; path = ../../src/test/SDL_test_imagePrimitives.c; sourceTree = "<group>"; };
		AA1EE45E176059AB0029C7A5 /* SDL_test_imagePrimitivesBlend.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_imagePrimitivesBlend.c; path = ../../src/test/SDL_test_imagePrimitivesBlend.c; sourceTree = "<group>"; };
		AA1EE45F176059AB0029C7A5 /* SDL_test_log.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_log.c; path = ../../src/test/SDL_test_log.c; sourceTree = "<group>"; };
		AA1EE460176059AB0029C7A5 /* SDL_test_md5.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_md5.c; path = ../../src/test/SDL_test_md5.c; sourceTree = "<group>"; };
		AA1EE461176059AB0029C7A5 /* SDL_test_random.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_random.c; path = ../../src/test/SDL_test_random.c; sourceTree = "<group>"; };

/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		AA1EE4431760589B0029C7A5 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (







			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		AA1EE43D1760589B0029C7A5 = {
................................................................................
			);
			sourceTree = "<group>";
		};
		AA1EE4471760589B0029C7A5 /* Products */ = {
			isa = PBXGroup;
			children = (
				AA1EE4461760589B0029C7A5 /* libSDL2test.a */,

			);
			name = Products;
			sourceTree = "<group>";
		};
		AA1EE453176059770029C7A5 /* Library Source */ = {
			isa = PBXGroup;
			children = (
................................................................................
			dependencies = (
			);
			name = SDL2test;
			productName = SDL2test;
			productReference = AA1EE4461760589B0029C7A5 /* libSDL2test.a */;
			productType = "com.apple.product-type.library.static";
		};

















/* End PBXNativeTarget section */

/* Begin PBXProject section */
		AA1EE43E1760589B0029C7A5 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0460;
				ORGANIZATIONNAME = "Sam Lantinga";





			};
			buildConfigurationList = AA1EE4411760589B0029C7A5 /* Build configuration list for PBXProject "SDL2test" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
................................................................................
			);
			mainGroup = AA1EE43D1760589B0029C7A5;
			productRefGroup = AA1EE4471760589B0029C7A5 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				AA1EE4451760589B0029C7A5 /* SDL2test */,

			);
		};
/* End PBXProject section */

/* Begin PBXSourcesBuildPhase section */
		AA1EE4421760589B0029C7A5 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
................................................................................
				AA1EE46B176059AB0029C7A5 /* SDL_test_imagePrimitives.c in Sources */,
				AA1EE46C176059AB0029C7A5 /* SDL_test_imagePrimitivesBlend.c in Sources */,
				AA1EE46D176059AB0029C7A5 /* SDL_test_log.c in Sources */,
				AA1EE46E176059AB0029C7A5 /* SDL_test_md5.c in Sources */,
				AA1EE46F176059AB0029C7A5 /* SDL_test_random.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;





















		};
/* End PBXSourcesBuildPhase section */

/* Begin XCBuildConfiguration section */
		AA1EE4481760589B0029C7A5 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
................................................................................
					"$(inherited)",
				);
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;

				MACOSX_DEPLOYMENT_TARGET = 10.8;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		AA1EE4491760589B0029C7A5 /* Release */ = {
................................................................................
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;

				MACOSX_DEPLOYMENT_TARGET = 10.8;
				SDKROOT = iphoneos;
			};
			name = Release;
		};
		AA1EE44B1760589B0029C7A5 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				EXECUTABLE_PREFIX = lib;
				HEADER_SEARCH_PATHS = ../../include;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		AA1EE44C1760589B0029C7A5 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				EXECUTABLE_PREFIX = lib;
				HEADER_SEARCH_PATHS = ../../include;






















				PRODUCT_NAME = "$(TARGET_NAME)";






























			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		AA1EE4411760589B0029C7A5 /* Build configuration list for PBXProject "SDL2test" */ = {
................................................................................
		};
		AA1EE44A1760589B0029C7A5 /* Build configuration list for PBXNativeTarget "SDL2test" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				AA1EE44B1760589B0029C7A5 /* Debug */,
				AA1EE44C1760589B0029C7A5 /* Release */,
			);









			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = AA1EE43E1760589B0029C7A5 /* Project object */;
}







>
>
>
>
>
>
>
>
>
>
>
>
>
>

>
>
>
>
>
>
>
>
>
>
>
>







 







>







>
>
>
>
>
>
>







 







>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>








>
>
>
>
>







 







>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>







 







>









<








|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>
>
>
>
>
>
>
>







17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
..
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
..
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
...
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
...
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
...
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
...
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
...
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312

313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
...
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
		AA1EE469176059AB0029C7A5 /* SDL_test_imageBlitBlend.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE45B176059AB0029C7A5 /* SDL_test_imageBlitBlend.c */; };
		AA1EE46A176059AB0029C7A5 /* SDL_test_imageFace.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE45C176059AB0029C7A5 /* SDL_test_imageFace.c */; };
		AA1EE46B176059AB0029C7A5 /* SDL_test_imagePrimitives.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE45D176059AB0029C7A5 /* SDL_test_imagePrimitives.c */; };
		AA1EE46C176059AB0029C7A5 /* SDL_test_imagePrimitivesBlend.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE45E176059AB0029C7A5 /* SDL_test_imagePrimitivesBlend.c */; };
		AA1EE46D176059AB0029C7A5 /* SDL_test_log.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE45F176059AB0029C7A5 /* SDL_test_log.c */; };
		AA1EE46E176059AB0029C7A5 /* SDL_test_md5.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE460176059AB0029C7A5 /* SDL_test_md5.c */; };
		AA1EE46F176059AB0029C7A5 /* SDL_test_random.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE461176059AB0029C7A5 /* SDL_test_random.c */; };
		FA3D99011BC4E5BC002C96C8 /* SDL_test_common.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE454176059AB0029C7A5 /* SDL_test_common.c */; };
		FA3D99021BC4E5BC002C96C8 /* SDL_test_compare.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE455176059AB0029C7A5 /* SDL_test_compare.c */; };
		FA3D99031BC4E5BC002C96C8 /* SDL_test_crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE456176059AB0029C7A5 /* SDL_test_crc32.c */; };
		FA3D99041BC4E5BC002C96C8 /* SDL_test_font.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE457176059AB0029C7A5 /* SDL_test_font.c */; };
		FA3D99051BC4E5BC002C96C8 /* SDL_test_fuzzer.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE458176059AB0029C7A5 /* SDL_test_fuzzer.c */; };
		FA3D99061BC4E5BC002C96C8 /* SDL_test_harness.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE459176059AB0029C7A5 /* SDL_test_harness.c */; };
		FA3D99071BC4E5BC002C96C8 /* SDL_test_imageBlit.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE45A176059AB0029C7A5 /* SDL_test_imageBlit.c */; };
		FA3D99081BC4E5BC002C96C8 /* SDL_test_imageBlitBlend.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE45B176059AB0029C7A5 /* SDL_test_imageBlitBlend.c */; };
		FA3D99091BC4E5BC002C96C8 /* SDL_test_imageFace.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE45C176059AB0029C7A5 /* SDL_test_imageFace.c */; };
		FA3D990A1BC4E5BC002C96C8 /* SDL_test_imagePrimitives.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE45D176059AB0029C7A5 /* SDL_test_imagePrimitives.c */; };
		FA3D990B1BC4E5BC002C96C8 /* SDL_test_imagePrimitivesBlend.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE45E176059AB0029C7A5 /* SDL_test_imagePrimitivesBlend.c */; };
		FA3D990C1BC4E5BC002C96C8 /* SDL_test_log.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE45F176059AB0029C7A5 /* SDL_test_log.c */; };
		FA3D990D1BC4E5BC002C96C8 /* SDL_test_md5.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE460176059AB0029C7A5 /* SDL_test_md5.c */; };
		FA3D990E1BC4E5BC002C96C8 /* SDL_test_random.c in Sources */ = {isa = PBXBuildFile; fileRef = AA1EE461176059AB0029C7A5 /* SDL_test_random.c */; };
/* End PBXBuildFile section */

/* Begin PBXCopyFilesBuildPhase section */
		FA3D98F61BC4E5A2002C96C8 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = "include/$(PRODUCT_NAME)";
			dstSubfolderSpec = 16;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		AA1EE4461760589B0029C7A5 /* libSDL2test.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDL2test.a; sourceTree = BUILT_PRODUCTS_DIR; };
		AA1EE454176059AB0029C7A5 /* SDL_test_common.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_common.c; path = ../../src/test/SDL_test_common.c; sourceTree = "<group>"; };
		AA1EE455176059AB0029C7A5 /* SDL_test_compare.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_compare.c; path = ../../src/test/SDL_test_compare.c; sourceTree = "<group>"; };
		AA1EE456176059AB0029C7A5 /* SDL_test_crc32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_crc32.c; path = ../../src/test/SDL_test_crc32.c; sourceTree = "<group>"; };
		AA1EE457176059AB0029C7A5 /* SDL_test_font.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_font.c; path = ../../src/test/SDL_test_font.c; sourceTree = "<group>"; };
................................................................................
		AA1EE45B176059AB0029C7A5 /* SDL_test_imageBlitBlend.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_imageBlitBlend.c; path = ../../src/test/SDL_test_imageBlitBlend.c; sourceTree = "<group>"; };
		AA1EE45C176059AB0029C7A5 /* SDL_test_imageFace.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_imageFace.c; path = ../../src/test/SDL_test_imageFace.c; sourceTree = "<group>"; };
		AA1EE45D176059AB0029C7A5 /* SDL_test_imagePrimitives.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_imagePrimitives.c; path = ../../src/test/SDL_test_imagePrimitives.c; sourceTree = "<group>"; };
		AA1EE45E176059AB0029C7A5 /* SDL_test_imagePrimitivesBlend.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_imagePrimitivesBlend.c; path = ../../src/test/SDL_test_imagePrimitivesBlend.c; sourceTree = "<group>"; };
		AA1EE45F176059AB0029C7A5 /* SDL_test_log.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_log.c; path = ../../src/test/SDL_test_log.c; sourceTree = "<group>"; };
		AA1EE460176059AB0029C7A5 /* SDL_test_md5.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_md5.c; path = ../../src/test/SDL_test_md5.c; sourceTree = "<group>"; };
		AA1EE461176059AB0029C7A5 /* SDL_test_random.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_test_random.c; path = ../../src/test/SDL_test_random.c; sourceTree = "<group>"; };
		FA3D98F81BC4E5A2002C96C8 /* libSDL2test-TV.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libSDL2test-TV.a"; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		AA1EE4431760589B0029C7A5 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FA3D98F51BC4E5A2002C96C8 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		AA1EE43D1760589B0029C7A5 = {
................................................................................
			);
			sourceTree = "<group>";
		};
		AA1EE4471760589B0029C7A5 /* Products */ = {
			isa = PBXGroup;
			children = (
				AA1EE4461760589B0029C7A5 /* libSDL2test.a */,
				FA3D98F81BC4E5A2002C96C8 /* libSDL2test-TV.a */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		AA1EE453176059770029C7A5 /* Library Source */ = {
			isa = PBXGroup;
			children = (
................................................................................
			dependencies = (
			);
			name = SDL2test;
			productName = SDL2test;
			productReference = AA1EE4461760589B0029C7A5 /* libSDL2test.a */;
			productType = "com.apple.product-type.library.static";
		};
		FA3D98F71BC4E5A2002C96C8 /* SDL2test-TV */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = FA3D99001BC4E5A3002C96C8 /* Build configuration list for PBXNativeTarget "SDL2test-TV" */;
			buildPhases = (
				FA3D98F41BC4E5A2002C96C8 /* Sources */,
				FA3D98F51BC4E5A2002C96C8 /* Frameworks */,
				FA3D98F61BC4E5A2002C96C8 /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "SDL2test-TV";
			productName = "SDL2test-TV";
			productReference = FA3D98F81BC4E5A2002C96C8 /* libSDL2test-TV.a */;
			productType = "com.apple.product-type.library.static";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		AA1EE43E1760589B0029C7A5 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0460;
				ORGANIZATIONNAME = "Sam Lantinga";
				TargetAttributes = {
					FA3D98F71BC4E5A2002C96C8 = {
						CreatedOnToolsVersion = 7.1;
					};
				};
			};
			buildConfigurationList = AA1EE4411760589B0029C7A5 /* Build configuration list for PBXProject "SDL2test" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
................................................................................
			);
			mainGroup = AA1EE43D1760589B0029C7A5;
			productRefGroup = AA1EE4471760589B0029C7A5 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				AA1EE4451760589B0029C7A5 /* SDL2test */,
				FA3D98F71BC4E5A2002C96C8 /* SDL2test-TV */,
			);
		};
/* End PBXProject section */

/* Begin PBXSourcesBuildPhase section */
		AA1EE4421760589B0029C7A5 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
................................................................................
				AA1EE46B176059AB0029C7A5 /* SDL_test_imagePrimitives.c in Sources */,
				AA1EE46C176059AB0029C7A5 /* SDL_test_imagePrimitivesBlend.c in Sources */,
				AA1EE46D176059AB0029C7A5 /* SDL_test_log.c in Sources */,
				AA1EE46E176059AB0029C7A5 /* SDL_test_md5.c in Sources */,
				AA1EE46F176059AB0029C7A5 /* SDL_test_random.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FA3D98F41BC4E5A2002C96C8 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FA3D99011BC4E5BC002C96C8 /* SDL_test_common.c in Sources */,
				FA3D99021BC4E5BC002C96C8 /* SDL_test_compare.c in Sources */,
				FA3D99031BC4E5BC002C96C8 /* SDL_test_crc32.c in Sources */,
				FA3D99041BC4E5BC002C96C8 /* SDL_test_font.c in Sources */,
				FA3D99051BC4E5BC002C96C8 /* SDL_test_fuzzer.c in Sources */,
				FA3D99061BC4E5BC002C96C8 /* SDL_test_harness.c in Sources */,
				FA3D99071BC4E5BC002C96C8 /* SDL_test_imageBlit.c in Sources */,
				FA3D99081BC4E5BC002C96C8 /* SDL_test_imageBlitBlend.c in Sources */,
				FA3D99091BC4E5BC002C96C8 /* SDL_test_imageFace.c in Sources */,
				FA3D990A1BC4E5BC002C96C8 /* SDL_test_imagePrimitives.c in Sources */,
				FA3D990B1BC4E5BC002C96C8 /* SDL_test_imagePrimitivesBlend.c in Sources */,
				FA3D990C1BC4E5BC002C96C8 /* SDL_test_log.c in Sources */,
				FA3D990D1BC4E5BC002C96C8 /* SDL_test_md5.c in Sources */,
				FA3D990E1BC4E5BC002C96C8 /* SDL_test_random.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin XCBuildConfiguration section */
		AA1EE4481760589B0029C7A5 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
................................................................................
					"$(inherited)",
				);
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = ../../include;
				MACOSX_DEPLOYMENT_TARGET = 10.8;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		AA1EE4491760589B0029C7A5 /* Release */ = {
................................................................................
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = ../../include;
				MACOSX_DEPLOYMENT_TARGET = 10.8;
				SDKROOT = iphoneos;
			};
			name = Release;
		};
		AA1EE44B1760589B0029C7A5 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				EXECUTABLE_PREFIX = lib;

				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		AA1EE44C1760589B0029C7A5 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				EXECUTABLE_PREFIX = lib;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		FA3D98FE1BC4E5A3002C96C8 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				DEBUG_INFORMATION_FORMAT = dwarf;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				MTL_ENABLE_DEBUG_INFO = YES;
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = appletvos;
				SKIP_INSTALL = YES;
				TVOS_DEPLOYMENT_TARGET = 9.0;
			};
			name = Debug;
		};
		FA3D98FF1BC4E5A3002C96C8 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				COPY_PHASE_STRIP = NO;
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				MTL_ENABLE_DEBUG_INFO = NO;
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = appletvos;
				SKIP_INSTALL = YES;
				TVOS_DEPLOYMENT_TARGET = 9.0;
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		AA1EE4411760589B0029C7A5 /* Build configuration list for PBXProject "SDL2test" */ = {
................................................................................
		};
		AA1EE44A1760589B0029C7A5 /* Build configuration list for PBXNativeTarget "SDL2test" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				AA1EE44B1760589B0029C7A5 /* Debug */,
				AA1EE44C1760589B0029C7A5 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		FA3D99001BC4E5A3002C96C8 /* Build configuration list for PBXNativeTarget "SDL2test-TV" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				FA3D98FE1BC4E5A3002C96C8 /* Debug */,
				FA3D98FF1BC4E5A3002C96C8 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = AA1EE43E1760589B0029C7A5 /* Project object */;
}

Changes to jni/SDL2/Xcode-iOS/Test/README.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
TestiPhoneOS.xcodeproj contains targets to compile many of the SDL test programs for iPhone OS.  Most of these test programs work fine, with the following exceptions:

testalpha:
	Program crashes.  Problem appears to effect Mac OS X as well.

testthread:
	SIGTERM kills the process immediately without executing the 'kill' function.  The posix standard says this shouldn't happen.  Apple seems intent on having iPhone apps exit promptly when the user requests it, so maybe that's why(?)

testlock:
	Locks appear to work, but there doesn't appear to be a simple way to send the process SIGINT.

testpalette:
	"SDL error: blitting boat: Blit combination not supported."  Happens on Mac OS X as well.

testsprite2: 
	SDL_CreateTextureFromSurface requests an ARGB pixel format, but iPhone's SDL video driver only supports ABGR.

testwin:
	Behaves as it does under Mac OS X ... not sure if that is correctly or not.

threadwin:
	Works if -threaded is not on.  Otherwise it doesn't work, but this is true under Mac OS X as well.


<
<
<






<
<
<



<
<
<
<
<
1
2



3
4
5
6
7
8



9
10
11





TestiPhoneOS.xcodeproj contains targets to compile many of the SDL test programs for iPhone OS.  Most of these test programs work fine, with the following exceptions:




testthread:
	SIGTERM kills the process immediately without executing the 'kill' function.  The posix standard says this shouldn't happen.  Apple seems intent on having iPhone apps exit promptly when the user requests it, so maybe that's why(?)

testlock:
	Locks appear to work, but there doesn't appear to be a simple way to send the process SIGINT.




testsprite2: 
	SDL_CreateTextureFromSurface requests an ARGB pixel format, but iPhone's SDL video driver only supports ABGR.






Changes to jni/SDL2/Xcode-iOS/Test/TestiPhoneOS.xcodeproj/project.pbxproj.

61
62
63
64
65
66
67
68












69
70
71
72
73
74
75
...
108
109
110
111
112
113
114





















































115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
...
299
300
301
302
303
304
305





















306
307
308
309
310
311
312
...
326
327
328
329
330
331
332

333
334





335
336
337
338
339
340
341
...
386
387
388
389
390
391
392

393
394
395
396
397
398
399
...
403
404
405
406
407
408
409

410
411
412
413
414
415
416
...
421
422
423
424
425
426
427

428
429
430
431
432
433
434
...
439
440
441
442
443
444
445

446
447
448
449
450
451
452
...
456
457
458
459
460
461
462

463
464
465
466
467
468
469
...
474
475
476
477
478
479
480

481
482
483
484
485
486
487
488
489
490
491
492
493
494





















































495
496
497
498

499
500
501
502
503
504
505
...
509
510
511
512
513
514
515

516
517
518
519
520
521
522
...
526
527
528
529
530
531
532

533
534
535
536
537
538
539
...
543
544
545
546
547
548
549

550
551
552
553
554
555
556
...
560
561
562
563
564
565
566

567
568
569
570
571
572
573
...
577
578
579
580
581
582
583

584
585
586
587
588
589
590
...
595
596
597
598
599
600
601

602
603
604
605
606
607
608
...
613
614
615
616
617
618
619

620
621
622
623
624
625
626
...
630
631
632
633
634
635
636

637
638
639
640
641
642
643
...
647
648
649
650
651
652
653

654
655
656
657
658
659
660
...
664
665
666
667
668
669
670

671
672
673
674
675
676
677
...
681
682
683
684
685
686
687

688
689
690
691
692
693
694
...
698
699
700
701
702
703
704

705
706
707
708
709
710
711
...
715
716
717
718
719
720
721

722
723
724
725
726
727
728
...
732
733
734
735
736
737
738

739
740
741
742
743
744
745
...
750
751
752
753
754
755
756

757
758
759
760
761
762
763
...
767
768
769
770
771
772
773

774
775
776
777
778
779
780
...
784
785
786
787
788
789
790

791
792
793
794
795
796
797
...
827
828
829
830
831
832
833



834
835
836
837
838
839
840
841
842
843
844
845
846

847
848
849
850
851
852
853
854

855
856
857









858
859
860
861
862

863
864
865
866
867
868
869

870
871
872
873
874
875
876
....
1028
1029
1030
1031
1032
1033
1034




















































1035
1036
1037
1038
1039
1040
1041
....
1342
1343
1344
1345
1346
1347
1348








1349
1350
1351
1352
1353
1354
1355
1356
1357
1358

1359
1360
1361
1362
1363
1364
1365
....
1368
1369
1370
1371
1372
1373
1374

1375

1376
1377
1378
1379
1380

1381
1382
1383
1384
1385
1386
1387
....
1402
1403
1404
1405
1406
1407
1408














1409
1410
1411
1412
1413
1414
1415
....
1460
1461
1462
1463
1464
1465
1466


























1467
1468
1469
1470
1471
1472
1473
....
1613
1614
1615
1616
1617
1618
1619

1620
1621
1622
1623
1624
1625
1626
....
1647
1648
1649
1650
1651
1652
1653
























1654
1655
1656
1657
1658
1659
1660
....
1793
1794
1795
1796
1797
1798
1799








1800
1801
1802
1803
1804
1805
1806
....
1916
1917
1918
1919
1920
1921
1922






























































































































1923
1924
1925
1926
1927
1928
1929
....
2268
2269
2270
2271
2272
2273
2274



























2275
2276
2277
2278
2279
2280
2281
		AAE7DFA814CBB54E00DF1A0E /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A8990E2D111A00EA573E /* QuartzCore.framework */; };
		AAE7DFA914CBB54E00DF1A0E /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89A0E2D111A00EA573E /* OpenGLES.framework */; };
		AAE7DFAA14CBB54E00DF1A0E /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89B0E2D111A00EA573E /* CoreGraphics.framework */; };
		AAE7DFAB14CBB54E00DF1A0E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89C0E2D111A00EA573E /* UIKit.framework */; };
		AAE7DFAC14CBB54E00DF1A0E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89D0E2D111A00EA573E /* Foundation.framework */; };
		AAE7DFAD14CBB54E00DF1A0E /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89E0E2D111A00EA573E /* CoreAudio.framework */; };
		AAE7DFB514CBB5F700DF1A0E /* testrendertarget.c in Sources */ = {isa = PBXBuildFile; fileRef = AAE7DFB414CBB5F700DF1A0E /* testrendertarget.c */; };
		FA0EF22E1BAF4654000E07A6 /* testjoystick.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA8A74E0E2D0F1600EA573E /* testjoystick.c */; settings = {ASSET_TAGS = (); }; };












		FA684F7B1BAF1A4400DCFD1A /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
		FA684F7F1BAF1A4D00DCFD1A /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
		FA684F801BAF1A5000DCFD1A /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
		FA684F811BAF1A5300DCFD1A /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
		FA684F821BAF1A5700DCFD1A /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
		FA684F831BAF1A5A00DCFD1A /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
		FA684F841BAF1A5C00DCFD1A /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
................................................................................
		FA8B4BDB196766E500F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */; };
		FA8B4BDC196766E800F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */; };
		FA8B4BDD196766EB00F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */; };
		FA8B4BDE196766EE00F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */; };
		FA8B4BDF196766F100F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */; };
		FA8B4BE0196766F400F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */; };
		FA8B4BE1196766F600F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */; };





















































		FAE0E9821BAF9B230098DFA4 /* icon.bmp in Resources */ = {isa = PBXBuildFile; fileRef = FDA8AAD90E2D33B000EA573E /* icon.bmp */; };
		FAE0E9861BAF9B230098DFA4 /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FD1B48B80E3131CA007AB34E /* libSDL2.a */; };
		FAE0E9871BAF9B230098DFA4 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
		FAE0E9881BAF9B230098DFA4 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */; };
		FAE0E9891BAF9B230098DFA4 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A8980E2D111A00EA573E /* AudioToolbox.framework */; };
		FAE0E98A1BAF9B230098DFA4 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A8990E2D111A00EA573E /* QuartzCore.framework */; };
		FAE0E98B1BAF9B230098DFA4 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89A0E2D111A00EA573E /* OpenGLES.framework */; };
		FAE0E98C1BAF9B230098DFA4 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89B0E2D111A00EA573E /* CoreGraphics.framework */; };
		FAE0E98D1BAF9B230098DFA4 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89C0E2D111A00EA573E /* UIKit.framework */; };
		FAE0E98E1BAF9B230098DFA4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89D0E2D111A00EA573E /* Foundation.framework */; };
		FAE0E98F1BAF9B230098DFA4 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89E0E2D111A00EA573E /* CoreAudio.framework */; };
		FAE0E9951BAF9B510098DFA4 /* testgamecontroller.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0EF2221BAF43DE000E07A6 /* testgamecontroller.c */; settings = {ASSET_TAGS = (); }; };
		FAE0E9961BAF9B650098DFA4 /* controllermap.bmp in Resources */ = {isa = PBXBuildFile; fileRef = FA0EF22A1BAF4487000E07A6 /* controllermap.bmp */; settings = {ASSET_TAGS = (); }; };
		FAE0E9971BAF9B6A0098DFA4 /* button.bmp in Resources */ = {isa = PBXBuildFile; fileRef = FA0EF2291BAF4487000E07A6 /* button.bmp */; settings = {ASSET_TAGS = (); }; };
		FAE0E9981BAF9B6E0098DFA4 /* axis.bmp in Resources */ = {isa = PBXBuildFile; fileRef = FA0EF2281BAF4487000E07A6 /* axis.bmp */; settings = {ASSET_TAGS = (); }; };
		FDA8A79C0E2D0F9300EA573E /* testwm2.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA8A75F0E2D0F1600EA573E /* testwm2.c */; };
		FDA8A89F0E2D111A00EA573E /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A8980E2D111A00EA573E /* AudioToolbox.framework */; };
		FDA8A8A00E2D111A00EA573E /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A8990E2D111A00EA573E /* QuartzCore.framework */; };
		FDA8A8A10E2D111A00EA573E /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89A0E2D111A00EA573E /* OpenGLES.framework */; };
		FDA8A8A20E2D111A00EA573E /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89B0E2D111A00EA573E /* CoreGraphics.framework */; };
		FDA8A8A30E2D111A00EA573E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89C0E2D111A00EA573E /* UIKit.framework */; };
		FDA8A8A40E2D111A00EA573E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89D0E2D111A00EA573E /* Foundation.framework */; };
................................................................................
/* Begin PBXContainerItemProxy section */
		AA1EE451176059230029C7A5 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = AA1EE44D176059220029C7A5 /* SDL2test.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = AA1EE4461760589B0029C7A5;
			remoteInfo = SDL2test;





















		};
		FD1B48B70E3131CA007AB34E /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = FD1B48AC0E3131CA007AB34E /* SDL.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = FD6526630DE8FCCB002AD96B;
			remoteInfo = StaticLib;
................................................................................
		AAE7DF4514CBB43900DF1A0E /* testscale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testscale.c; path = ../../test/testscale.c; sourceTree = "<group>"; };
		AAE7DFB114CBB54E00DF1A0E /* testrendertarget.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testrendertarget.app; sourceTree = BUILT_PRODUCTS_DIR; };
		AAE7DFB414CBB5F700DF1A0E /* testrendertarget.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testrendertarget.c; path = ../../test/testrendertarget.c; sourceTree = "<group>"; };
		FA0EF2221BAF43DE000E07A6 /* testgamecontroller.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testgamecontroller.c; path = ../../test/testgamecontroller.c; sourceTree = "<group>"; };
		FA0EF2281BAF4487000E07A6 /* axis.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; name = axis.bmp; path = ../../test/axis.bmp; sourceTree = "<group>"; };
		FA0EF2291BAF4487000E07A6 /* button.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; name = button.bmp; path = ../../test/button.bmp; sourceTree = "<group>"; };
		FA0EF22A1BAF4487000E07A6 /* controllermap.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; name = controllermap.bmp; path = ../../test/controllermap.bmp; sourceTree = "<group>"; };

		FA684F7A1BAF1A4400DCFD1A /* GameController.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameController.framework; path = System/Library/Frameworks/GameController.framework; sourceTree = SDKROOT; };
		FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };





		FAE0E9931BAF9B230098DFA4 /* testgamecontroller.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testgamecontroller.app; sourceTree = BUILT_PRODUCTS_DIR; };
		FD1B48AC0E3131CA007AB34E /* SDL.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SDL.xcodeproj; path = ../SDL/SDL.xcodeproj; sourceTree = SOURCE_ROOT; };
		FDA8A7410E2D0F1600EA573E /* testaudioinfo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testaudioinfo.c; path = ../../test/testaudioinfo.c; sourceTree = SOURCE_ROOT; };
		FDA8A7470E2D0F1600EA573E /* testerror.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testerror.c; path = ../../test/testerror.c; sourceTree = SOURCE_ROOT; };
		FDA8A7480E2D0F1600EA573E /* testfile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testfile.c; path = ../../test/testfile.c; sourceTree = SOURCE_ROOT; };
		FDA8A74C0E2D0F1600EA573E /* testthread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testthread.c; path = ../../test/testthread.c; sourceTree = SOURCE_ROOT; };
		FDA8A74D0E2D0F1600EA573E /* testiconv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testiconv.c; path = ../../test/testiconv.c; sourceTree = SOURCE_ROOT; };
................................................................................
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		046CEF7A13254F23007AD51D /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				046CEF7B13254F23007AD51D /* libSDL2.a in Frameworks */,
				FA684F841BAF1A5C00DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD1196766C900F8EB7C /* CoreMotion.framework in Frameworks */,
				046CEF7C13254F23007AD51D /* AudioToolbox.framework in Frameworks */,
				046CEF7D13254F23007AD51D /* QuartzCore.framework in Frameworks */,
				046CEF7E13254F23007AD51D /* OpenGLES.framework in Frameworks */,
				046CEF7F13254F23007AD51D /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		047A63E113285C3200CD7973 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				AA1EE470176059D00029C7A5 /* libSDL2test.a in Frameworks */,
				047A63E213285C3200CD7973 /* libSDL2.a in Frameworks */,
				FA684F7B1BAF1A4400DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BAD1967076F00F8EB7C /* CoreMotion.framework in Frameworks */,
				047A63E313285C3200CD7973 /* AudioToolbox.framework in Frameworks */,
				047A63E413285C3200CD7973 /* QuartzCore.framework in Frameworks */,
				047A63E513285C3200CD7973 /* OpenGLES.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				AA1EE47817605BF60029C7A5 /* libSDL2test.a in Frameworks */,
				FDBDE5810E313465006BAC0B /* libSDL2.a in Frameworks */,
				FA684F931BAF1A8A00DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BE0196766F400F8EB7C /* CoreMotion.framework in Frameworks */,
				FDA8A89F0E2D111A00EA573E /* AudioToolbox.framework in Frameworks */,
				FDA8A8A00E2D111A00EA573E /* QuartzCore.framework in Frameworks */,
				FDA8A8A10E2D111A00EA573E /* OpenGLES.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		56ED0501118A8FE400A56AA6 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				56ED0502118A8FE400A56AA6 /* libSDL2.a in Frameworks */,
				FA684F8B1BAF1A7100DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD8196766DD00F8EB7C /* CoreMotion.framework in Frameworks */,
				56ED0503118A8FE400A56AA6 /* AudioToolbox.framework in Frameworks */,
				56ED0504118A8FE400A56AA6 /* QuartzCore.framework in Frameworks */,
				56ED0505118A8FE400A56AA6 /* OpenGLES.framework in Frameworks */,
				56ED0506118A8FE400A56AA6 /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		AAE7DEE014CBB1E100DF1A0E /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				AA1EE47617605B9E0029C7A5 /* libSDL2test.a in Frameworks */,
				AAE7DEE114CBB1E100DF1A0E /* libSDL2.a in Frameworks */,
				FA684F8D1BAF1A7800DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BDA196766E200F8EB7C /* CoreMotion.framework in Frameworks */,
				AAE7DEE214CBB1E100DF1A0E /* AudioToolbox.framework in Frameworks */,
				AAE7DEE314CBB1E100DF1A0E /* QuartzCore.framework in Frameworks */,
				AAE7DEE414CBB1E100DF1A0E /* OpenGLES.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		AAE7DFA514CBB54E00DF1A0E /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				AA1EE47517605B930029C7A5 /* libSDL2test.a in Frameworks */,
				AAE7DFA614CBB54E00DF1A0E /* libSDL2.a in Frameworks */,
				FA684F8C1BAF1A7400DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD9196766E000F8EB7C /* CoreMotion.framework in Frameworks */,
				AAE7DFA714CBB54E00DF1A0E /* AudioToolbox.framework in Frameworks */,
				AAE7DFA814CBB54E00DF1A0E /* QuartzCore.framework in Frameworks */,
				AAE7DFA914CBB54E00DF1A0E /* OpenGLES.framework in Frameworks */,
				AAE7DFAA14CBB54E00DF1A0E /* CoreGraphics.framework in Frameworks */,
				AAE7DFAB14CBB54E00DF1A0E /* UIKit.framework in Frameworks */,
				AAE7DFAC14CBB54E00DF1A0E /* Foundation.framework in Frameworks */,
				AAE7DFAD14CBB54E00DF1A0E /* CoreAudio.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};





















































		FAE0E9851BAF9B230098DFA4 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FAE0E9861BAF9B230098DFA4 /* libSDL2.a in Frameworks */,
				FAE0E9871BAF9B230098DFA4 /* GameController.framework in Frameworks */,
				FAE0E9881BAF9B230098DFA4 /* CoreMotion.framework in Frameworks */,
				FAE0E9891BAF9B230098DFA4 /* AudioToolbox.framework in Frameworks */,
				FAE0E98A1BAF9B230098DFA4 /* QuartzCore.framework in Frameworks */,
				FAE0E98B1BAF9B230098DFA4 /* OpenGLES.framework in Frameworks */,
				FAE0E98C1BAF9B230098DFA4 /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDA8AAAE0E2D330F00EA573E /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FDBDE5850E313495006BAC0B /* libSDL2.a in Frameworks */,
				FA684F7F1BAF1A4D00DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BC9196766BC00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDA8AAB10E2D330F00EA573E /* AudioToolbox.framework in Frameworks */,
				FDA8AAB20E2D330F00EA573E /* QuartzCore.framework in Frameworks */,
				FDA8AAB30E2D330F00EA573E /* OpenGLES.framework in Frameworks */,
				FDA8AAB40E2D330F00EA573E /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDAAC3C00E2D47E6001DB1D8 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FDBDE58C0E3134F3006BAC0B /* libSDL2.a in Frameworks */,
				FA684F801BAF1A5000DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BCD196766BF00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDAAC3C30E2D47E6001DB1D8 /* AudioToolbox.framework in Frameworks */,
				FDAAC3C40E2D47E6001DB1D8 /* QuartzCore.framework in Frameworks */,
				FDAAC3C50E2D47E6001DB1D8 /* OpenGLES.framework in Frameworks */,
				FDAAC3C60E2D47E6001DB1D8 /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDAAC58E0E2D5429001DB1D8 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FDBDE59B0E31356A006BAC0B /* libSDL2.a in Frameworks */,
				FA684F821BAF1A5700DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BCF196766C400F8EB7C /* CoreMotion.framework in Frameworks */,
				FDAAC5910E2D5429001DB1D8 /* AudioToolbox.framework in Frameworks */,
				FDAAC5920E2D5429001DB1D8 /* QuartzCore.framework in Frameworks */,
				FDAAC5930E2D5429001DB1D8 /* OpenGLES.framework in Frameworks */,
				FDAAC5940E2D5429001DB1D8 /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDAAC5BC0E2D55B5001DB1D8 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FDBDE59F0E31358D006BAC0B /* libSDL2.a in Frameworks */,
				FA684F831BAF1A5A00DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD0196766C600F8EB7C /* CoreMotion.framework in Frameworks */,
				FDAAC5BF0E2D55B5001DB1D8 /* AudioToolbox.framework in Frameworks */,
				FDAAC5C00E2D55B5001DB1D8 /* QuartzCore.framework in Frameworks */,
				FDAAC5C10E2D55B5001DB1D8 /* OpenGLES.framework in Frameworks */,
				FDAAC5C20E2D55B5001DB1D8 /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDAAC6190E2D5914001DB1D8 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				AA1EE47417605B5C0029C7A5 /* libSDL2test.a in Frameworks */,
				FDBDE57C0E313445006BAC0B /* libSDL2.a in Frameworks */,
				FA684F851BAF1A6000DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD2196766CB00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDAAC61C0E2D5914001DB1D8 /* AudioToolbox.framework in Frameworks */,
				FDAAC61D0E2D5914001DB1D8 /* QuartzCore.framework in Frameworks */,
				FDAAC61E0E2D5914001DB1D8 /* OpenGLES.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDC42FF30F0D866D009C87E1 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				AA1EE47117605A7F0029C7A5 /* libSDL2test.a in Frameworks */,
				FDC42FF40F0D866D009C87E1 /* libSDL2.a in Frameworks */,
				FA684F811BAF1A5300DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BCE196766C100F8EB7C /* CoreMotion.framework in Frameworks */,
				FDC42FF60F0D866D009C87E1 /* AudioToolbox.framework in Frameworks */,
				FDC42FF70F0D866D009C87E1 /* QuartzCore.framework in Frameworks */,
				FDC42FF80F0D866D009C87E1 /* OpenGLES.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C0FD0E2E4F4B00B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FDBDE5A90E3135C0006BAC0B /* libSDL2.a in Frameworks */,
				FA684F901BAF1A8100DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BDD196766EB00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C1000E2E4F4B00B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C1010E2E4F4B00B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C1020E2E4F4B00B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C1030E2E4F4B00B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C1740E2E52C000B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FDBDE5AE0E3135E6006BAC0B /* libSDL2.a in Frameworks */,
				FA684F861BAF1A6200DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD3196766CE00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C1770E2E52C000B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C1780E2E52C000B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C1790E2E52C000B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C17A0E2E52C000B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C1980E2E534F00B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FDBDE5B60E3135FE006BAC0B /* libSDL2.a in Frameworks */,
				FA684F871BAF1A6500DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD4196766D100F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C19B0E2E534F00B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C19C0E2E534F00B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C19D0E2E534F00B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C19E0E2E534F00B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C4510E2E773800B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FDBDE5BC0E31364D006BAC0B /* libSDL2.a in Frameworks */,
				FA684F881BAF1A6800DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD5196766D400F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C4540E2E773800B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C4550E2E773800B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C4560E2E773800B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C4570E2E773800B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C46F0E2E77D700B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FDBDE5C20E313663006BAC0B /* libSDL2.a in Frameworks */,
				FA684F891BAF1A6A00DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD6196766D700F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C4720E2E77D700B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C4730E2E77D700B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C4740E2E77D700B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C4750E2E77D700B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C4FE0E2E7F4800B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FDBDE5C60E3136F1006BAC0B /* libSDL2.a in Frameworks */,
				FA684F8A1BAF1A6D00DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD7196766DA00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C5010E2E7F4800B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C5020E2E7F4800B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C5030E2E7F4800B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C5040E2E7F4800B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C51C0E2E807600B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FDBDE5C80E313702006BAC0B /* libSDL2.a in Frameworks */,
				FA684F8E1BAF1A7B00DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BDB196766E500F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C51F0E2E807600B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C5200E2E807600B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C5210E2E807600B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C5220E2E807600B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C5410E2E80E400B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				AA1EE47717605BAB0029C7A5 /* libSDL2test.a in Frameworks */,
				FDBDE5CA0E313712006BAC0B /* libSDL2.a in Frameworks */,
				FA684F8F1BAF1A7E00DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BDC196766E800F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C5440E2E80E400B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C5450E2E80E400B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C5460E2E80E400B7A85F /* OpenGLES.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C57A0E2E8C7400B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FDBDE5CC0E31372B006BAC0B /* libSDL2.a in Frameworks */,
				FA684F911BAF1A8400DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BDE196766EE00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C57D0E2E8C7400B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C57E0E2E8C7400B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C57F0E2E8C7400B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C5800E2E8C7400B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C5B80E2E8CFC00B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FDBDE5CE0E31373E006BAC0B /* libSDL2.a in Frameworks */,
				FA684F921BAF1A8700DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BDF196766F100F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C5BB0E2E8CFC00B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C5BC0E2E8CFC00B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C5BD0E2E8CFC00B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C5BE0E2E8CFC00B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C6E70E2E959E00B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FDBDE5D40E313789006BAC0B /* libSDL2.a in Frameworks */,
				FA684F941BAF1A9400DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BE1196766F600F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C6EA0E2E959E00B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C6EB0E2E959E00B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C6EC0E2E959E00B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C6ED0E2E959E00B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
				FDC430000F0D866D009C87E1 /* torturethread.app */,
				56ED050D118A8FE400A56AA6 /* testpower.app */,
				046CEF8613254F23007AD51D /* testgesture.app */,
				047A63ED13285C3200CD7973 /* checkkeys.app */,
				AAE7DEEC14CBB1E100DF1A0E /* testscale.app */,
				AAE7DFB114CBB54E00DF1A0E /* testrendertarget.app */,
				FAE0E9931BAF9B230098DFA4 /* testgamecontroller.app */,



			);
			name = Products;
			sourceTree = "<group>";
		};
		29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
			isa = PBXGroup;
			children = (
				AA1EE44D176059220029C7A5 /* SDL2test.xcodeproj */,
				FD1B48AC0E3131CA007AB34E /* SDL.xcodeproj */,
				FDA8AAD60E2D339A00EA573E /* Resources */,
				FDA8A7C30E2D10FA00EA573E /* Linked Frameworks */,
				FDA8A73B0E2D0F0400EA573E /* src */,
				19C28FACFE9D520D11CA2CBB /* Products */,

			);
			name = CustomTemplate;
			sourceTree = "<group>";
		};
		AA1EE44E176059220029C7A5 /* Products */ = {
			isa = PBXGroup;
			children = (
				AA1EE452176059230029C7A5 /* libSDL2test.a */,

			);
			name = Products;
			sourceTree = "<group>";









		};
		FD1B48AD0E3131CA007AB34E /* Products */ = {
			isa = PBXGroup;
			children = (
				FD1B48B80E3131CA007AB34E /* libSDL2.a */,

			);
			name = Products;
			sourceTree = "<group>";
		};
		FDA8A73B0E2D0F0400EA573E /* src */ = {
			isa = PBXGroup;
			children = (

				047A63F013285CD100CD7973 /* checkkeys.c */,
				FDA8A78B0E2D0F3D00EA573E /* loopwave.c */,
				FDA8A7410E2D0F1600EA573E /* testaudioinfo.c */,
				FDC430090F0D86BF009C87E1 /* testdraw2.c */,
				FDA8A7470E2D0F1600EA573E /* testerror.c */,
				FDA8A7480E2D0F1600EA573E /* testfile.c */,
				FA0EF2221BAF43DE000E07A6 /* testgamecontroller.c */,
................................................................................
			);
			dependencies = (
			);
			name = testrendertarget;
			productName = Test;
			productReference = AAE7DFB114CBB54E00DF1A0E /* testrendertarget.app */;
			productType = "com.apple.product-type.application";




















































		};
		FAE0E9801BAF9B230098DFA4 /* testgamecontroller */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = FAE0E9901BAF9B230098DFA4 /* Build configuration list for PBXNativeTarget "testgamecontroller" */;
			buildPhases = (
				FAE0E9811BAF9B230098DFA4 /* Resources */,
				FAE0E9831BAF9B230098DFA4 /* Sources */,
................................................................................
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		29B97313FDCFA39411CA2CEA /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0630;








			};
			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "TestiPhoneOS" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 1;
			knownRegions = (
				English,
				Japanese,
				French,
				German,

			);
			mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
			projectDirPath = "";
			projectReferences = (
				{
					ProductGroup = FD1B48AD0E3131CA007AB34E /* Products */;
					ProjectRef = FD1B48AC0E3131CA007AB34E /* SDL.xcodeproj */;
................................................................................
					ProductGroup = AA1EE44E176059220029C7A5 /* Products */;
					ProjectRef = AA1EE44D176059220029C7A5 /* SDL2test.xcodeproj */;
				},
			);
			projectRoot = "";
			targets = (
				047A63DD13285C3200CD7973 /* checkkeys */,

				FDA8AAAA0E2D330F00EA573E /* loopwav */,

				FDAAC3BB0E2D47E6001DB1D8 /* testaudioinfo */,
				FDC42FEF0F0D866D009C87E1 /* testdraw2 */,
				FDAAC58A0E2D5429001DB1D8 /* testerror */,
				FDAAC5B80E2D55B5001DB1D8 /* testfile */,
				FAE0E9801BAF9B230098DFA4 /* testgamecontroller */,

				046CEF7513254F23007AD51D /* testgesture */,
				FDAAC6150E2D5914001DB1D8 /* testgles */,
				FDD2C1700E2E52C000B7A85F /* testiconv */,
				FDD2C1930E2E534F00B7A85F /* testjoystick */,
				FDD2C44D0E2E773800B7A85F /* testkeys */,
				FDD2C46B0E2E77D700B7A85F /* testlock */,
				FDD2C4F90E2E7F4800B7A85F /* testplatform */,
................................................................................
/* Begin PBXReferenceProxy section */
		AA1EE452176059230029C7A5 /* libSDL2test.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = libSDL2test.a;
			remoteRef = AA1EE451176059230029C7A5 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;














		};
		FD1B48B80E3131CA007AB34E /* libSDL2.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = libSDL2.a;
			remoteRef = FD1B48B70E3131CA007AB34E /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
................................................................................
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				AAE7DFA014CBB54E00DF1A0E /* icon.bmp in Resources */,
				AAE7DFA114CBB54E00DF1A0E /* sample.bmp in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;


























		};
		FAE0E9811BAF9B230098DFA4 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FAE0E9961BAF9B650098DFA4 /* controllermap.bmp in Resources */,
				FAE0E9821BAF9B230098DFA4 /* icon.bmp in Resources */,
................................................................................
			runOnlyForDeploymentPostprocessing = 0;
		};
		047A63DF13285C3200CD7973 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				047A63F113285CD100CD7973 /* checkkeys.c in Sources */,

			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		1D60588E0D05DD3D006BFB54 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
................................................................................
		AAE7DFA214CBB54E00DF1A0E /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				AAE7DFB514CBB5F700DF1A0E /* testrendertarget.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
























		};
		FAE0E9831BAF9B230098DFA4 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FAE0E9951BAF9B510098DFA4 /* testgamecontroller.c in Sources */,
			);
................................................................................
			buildActionMask = 2147483647;
			files = (
				FDD2C6F70E2E95B100B7A85F /* torturethread.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */









/* Begin XCBuildConfiguration section */
		046CEF8413254F23007AD51D /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;
				PRODUCT_NAME = testgesture;
................................................................................
				HEADER_SEARCH_PATHS = ../../include;
				OTHER_LDFLAGS = "-ObjC";
				"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Release;






























































































































		};
		FAE0E9911BAF9B230098DFA4 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
................................................................................
		};
		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "TestiPhoneOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				C01FCF4F08A954540054247B /* Debug */,
				C01FCF5008A954540054247B /* Release */,
			);



























			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		FAE0E9901BAF9B230098DFA4 /* Build configuration list for PBXNativeTarget "testgamecontroller" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				FAE0E9911BAF9B230098DFA4 /* Debug */,







|
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>











|
|
|
|







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>


>
>
>
>
>







 







>







 







>







 







>







 







>







 







>







 







>














>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>




>







 







>







 







>







 







>







 







>







 







>







 







>







 







>







 







>







 







>







 







>







 







>







 







>







 







>







 







>







 







>







 







>







 







>







 







>
>
>













>








>



>
>
>
>
>
>
>
>
>





>







>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>
>
>
>
>
>
>










>







 







>

>





>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>
>
>
>
>
>
>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
...
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
...
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
...
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
...
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
...
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
...
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
...
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
...
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
...
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
...
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
...
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
...
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
...
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
...
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
...
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
...
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
...
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
...
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
...
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
...
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
...
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
...
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
...
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
...
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
...
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
...
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
...
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
....
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
....
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
....
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
....
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
....
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
....
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
....
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
....
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
....
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
....
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
		AAE7DFA814CBB54E00DF1A0E /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A8990E2D111A00EA573E /* QuartzCore.framework */; };
		AAE7DFA914CBB54E00DF1A0E /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89A0E2D111A00EA573E /* OpenGLES.framework */; };
		AAE7DFAA14CBB54E00DF1A0E /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89B0E2D111A00EA573E /* CoreGraphics.framework */; };
		AAE7DFAB14CBB54E00DF1A0E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89C0E2D111A00EA573E /* UIKit.framework */; };
		AAE7DFAC14CBB54E00DF1A0E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89D0E2D111A00EA573E /* Foundation.framework */; };
		AAE7DFAD14CBB54E00DF1A0E /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89E0E2D111A00EA573E /* CoreAudio.framework */; };
		AAE7DFB514CBB5F700DF1A0E /* testrendertarget.c in Sources */ = {isa = PBXBuildFile; fileRef = AAE7DFB414CBB5F700DF1A0E /* testrendertarget.c */; };
		FA0EF22E1BAF4654000E07A6 /* testjoystick.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA8A74E0E2D0F1600EA573E /* testjoystick.c */; };
		FA3D99481BC4E6AD002C96C8 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
		FA3D994A1BC4E6AD002C96C8 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A8980E2D111A00EA573E /* AudioToolbox.framework */; };
		FA3D994B1BC4E6AD002C96C8 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A8990E2D111A00EA573E /* QuartzCore.framework */; };
		FA3D994C1BC4E6AD002C96C8 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89A0E2D111A00EA573E /* OpenGLES.framework */; };
		FA3D994D1BC4E6AD002C96C8 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89B0E2D111A00EA573E /* CoreGraphics.framework */; };
		FA3D994E1BC4E6AD002C96C8 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89C0E2D111A00EA573E /* UIKit.framework */; };
		FA3D994F1BC4E6AD002C96C8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89D0E2D111A00EA573E /* Foundation.framework */; };
		FA3D99501BC4E6AD002C96C8 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89E0E2D111A00EA573E /* CoreAudio.framework */; };
		FA3D99521BC4E70C002C96C8 /* controllermap.bmp in Resources */ = {isa = PBXBuildFile; fileRef = FA0EF22A1BAF4487000E07A6 /* controllermap.bmp */; };
		FA3D99531BC4E70E002C96C8 /* axis.bmp in Resources */ = {isa = PBXBuildFile; fileRef = FA0EF2281BAF4487000E07A6 /* axis.bmp */; };
		FA3D99541BC4E70F002C96C8 /* button.bmp in Resources */ = {isa = PBXBuildFile; fileRef = FA0EF2291BAF4487000E07A6 /* button.bmp */; };
		FA3D99551BC4E712002C96C8 /* icon.bmp in Resources */ = {isa = PBXBuildFile; fileRef = FDA8AAD90E2D33B000EA573E /* icon.bmp */; };
		FA684F7B1BAF1A4400DCFD1A /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
		FA684F7F1BAF1A4D00DCFD1A /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
		FA684F801BAF1A5000DCFD1A /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
		FA684F811BAF1A5300DCFD1A /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
		FA684F821BAF1A5700DCFD1A /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
		FA684F831BAF1A5A00DCFD1A /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
		FA684F841BAF1A5C00DCFD1A /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
................................................................................
		FA8B4BDB196766E500F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */; };
		FA8B4BDC196766E800F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */; };
		FA8B4BDD196766EB00F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */; };
		FA8B4BDE196766EE00F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */; };
		FA8B4BDF196766F100F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */; };
		FA8B4BE0196766F400F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */; };
		FA8B4BE1196766F600F8EB7C /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */; };
		FAA8CEE41BDF06D600D3BD45 /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FA3D992B1BC4E619002C96C8 /* libSDL2.a */; };
		FABA34771D8B4EAD00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34831D8B575200915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34841D8B575200915323 /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FD1B48B80E3131CA007AB34E /* libSDL2.a */; };
		FABA34851D8B575200915323 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
		FABA34861D8B575200915323 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */; };
		FABA34871D8B575200915323 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A8980E2D111A00EA573E /* AudioToolbox.framework */; };
		FABA34881D8B575200915323 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A8990E2D111A00EA573E /* QuartzCore.framework */; };
		FABA34891D8B575200915323 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89A0E2D111A00EA573E /* OpenGLES.framework */; };
		FABA348A1D8B575200915323 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89B0E2D111A00EA573E /* CoreGraphics.framework */; };
		FABA348B1D8B575200915323 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89C0E2D111A00EA573E /* UIKit.framework */; };
		FABA348C1D8B575200915323 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89D0E2D111A00EA573E /* Foundation.framework */; };
		FABA348D1D8B575200915323 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89E0E2D111A00EA573E /* CoreAudio.framework */; };
		FABA34941D8B578200915323 /* testaudiocapture.c in Sources */ = {isa = PBXBuildFile; fileRef = FABA34931D8B578200915323 /* testaudiocapture.c */; };
		FABA34951D8B578600915323 /* testaudiocapture.c in Sources */ = {isa = PBXBuildFile; fileRef = FABA34931D8B578200915323 /* testaudiocapture.c */; };
		FABA34981D8B582100915323 /* sample.wav in Resources */ = {isa = PBXBuildFile; fileRef = FDA8AAE20E2D33C600EA573E /* sample.wav */; };
		FABA349A1D8B582100915323 /* loopwave.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA8A78B0E2D0F3D00EA573E /* loopwave.c */; };
		FABA349C1D8B582100915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA349D1D8B582100915323 /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FD1B48B80E3131CA007AB34E /* libSDL2.a */; };
		FABA349E1D8B582100915323 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
		FABA349F1D8B582100915323 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */; };
		FABA34A01D8B582100915323 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A8980E2D111A00EA573E /* AudioToolbox.framework */; };
		FABA34A11D8B582100915323 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A8990E2D111A00EA573E /* QuartzCore.framework */; };
		FABA34A21D8B582100915323 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89A0E2D111A00EA573E /* OpenGLES.framework */; };
		FABA34A31D8B582100915323 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89B0E2D111A00EA573E /* CoreGraphics.framework */; };
		FABA34A41D8B582100915323 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89C0E2D111A00EA573E /* UIKit.framework */; };
		FABA34A51D8B582100915323 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89D0E2D111A00EA573E /* Foundation.framework */; };
		FABA34A61D8B582100915323 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89E0E2D111A00EA573E /* CoreAudio.framework */; };
		FABA34AD1D8B58A700915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34AC1D8B58A700915323 /* AVFoundation.framework */; };
		FABA34AE1D8B58B200915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34AF1D8B59F800915323 /* testaudiocapture.c in Sources */ = {isa = PBXBuildFile; fileRef = FABA34931D8B578200915323 /* testaudiocapture.c */; };
		FABA34B01D8B5B6400915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34B11D8B5B6C00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34B21D8B5B7300915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34B31D8B5B7800915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34B41D8B5B7C00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34B51D8B5B8400915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34B61D8B5B8900915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34B71D8B5B8D00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34B81D8B5B9200915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34B91D8B5B9600915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34BA1D8B5B9B00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34BB1D8B5BA100915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34BC1D8B5BA600915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34BD1D8B5BAB00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34BE1D8B5BB000915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34BF1D8B5BB500915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34C01D8B5BBA00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34C11D8B5BBE00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34C21D8B5BC200915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34C31D8B5BC600915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34C41D8B5BCB00915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FABA34C51D8B5BD000915323 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FABA34761D8B4EAD00915323 /* AVFoundation.framework */; };
		FAE0E9821BAF9B230098DFA4 /* icon.bmp in Resources */ = {isa = PBXBuildFile; fileRef = FDA8AAD90E2D33B000EA573E /* icon.bmp */; };
		FAE0E9861BAF9B230098DFA4 /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FD1B48B80E3131CA007AB34E /* libSDL2.a */; };
		FAE0E9871BAF9B230098DFA4 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA684F7A1BAF1A4400DCFD1A /* GameController.framework */; };
		FAE0E9881BAF9B230098DFA4 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */; };
		FAE0E9891BAF9B230098DFA4 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A8980E2D111A00EA573E /* AudioToolbox.framework */; };
		FAE0E98A1BAF9B230098DFA4 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A8990E2D111A00EA573E /* QuartzCore.framework */; };
		FAE0E98B1BAF9B230098DFA4 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89A0E2D111A00EA573E /* OpenGLES.framework */; };
		FAE0E98C1BAF9B230098DFA4 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89B0E2D111A00EA573E /* CoreGraphics.framework */; };
		FAE0E98D1BAF9B230098DFA4 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89C0E2D111A00EA573E /* UIKit.framework */; };
		FAE0E98E1BAF9B230098DFA4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89D0E2D111A00EA573E /* Foundation.framework */; };
		FAE0E98F1BAF9B230098DFA4 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89E0E2D111A00EA573E /* CoreAudio.framework */; };
		FAE0E9951BAF9B510098DFA4 /* testgamecontroller.c in Sources */ = {isa = PBXBuildFile; fileRef = FA0EF2221BAF43DE000E07A6 /* testgamecontroller.c */; };
		FAE0E9961BAF9B650098DFA4 /* controllermap.bmp in Resources */ = {isa = PBXBuildFile; fileRef = FA0EF22A1BAF4487000E07A6 /* controllermap.bmp */; };
		FAE0E9971BAF9B6A0098DFA4 /* button.bmp in Resources */ = {isa = PBXBuildFile; fileRef = FA0EF2291BAF4487000E07A6 /* button.bmp */; };
		FAE0E9981BAF9B6E0098DFA4 /* axis.bmp in Resources */ = {isa = PBXBuildFile; fileRef = FA0EF2281BAF4487000E07A6 /* axis.bmp */; };
		FDA8A79C0E2D0F9300EA573E /* testwm2.c in Sources */ = {isa = PBXBuildFile; fileRef = FDA8A75F0E2D0F1600EA573E /* testwm2.c */; };
		FDA8A89F0E2D111A00EA573E /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A8980E2D111A00EA573E /* AudioToolbox.framework */; };
		FDA8A8A00E2D111A00EA573E /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A8990E2D111A00EA573E /* QuartzCore.framework */; };
		FDA8A8A10E2D111A00EA573E /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89A0E2D111A00EA573E /* OpenGLES.framework */; };
		FDA8A8A20E2D111A00EA573E /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89B0E2D111A00EA573E /* CoreGraphics.framework */; };
		FDA8A8A30E2D111A00EA573E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89C0E2D111A00EA573E /* UIKit.framework */; };
		FDA8A8A40E2D111A00EA573E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FDA8A89D0E2D111A00EA573E /* Foundation.framework */; };
................................................................................
/* Begin PBXContainerItemProxy section */
		AA1EE451176059230029C7A5 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = AA1EE44D176059220029C7A5 /* SDL2test.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = AA1EE4461760589B0029C7A5;
			remoteInfo = SDL2test;
		};
		FA3D992A1BC4E619002C96C8 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = FD1B48AC0E3131CA007AB34E /* SDL.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = FAB598141BB5C1B100BE72C5;
			remoteInfo = "libSDL-tv";
		};
		FA3D992E1BC4E619002C96C8 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = AA1EE44D176059220029C7A5 /* SDL2test.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = FA3D98F81BC4E5A2002C96C8;
			remoteInfo = "SDL2test-TV";
		};
		FAA8CEE51BDF06DC00D3BD45 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = FD1B48AC0E3131CA007AB34E /* SDL.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = FAB598131BB5C1B100BE72C5;
			remoteInfo = "libSDL-tv";
		};
		FD1B48B70E3131CA007AB34E /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = FD1B48AC0E3131CA007AB34E /* SDL.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = FD6526630DE8FCCB002AD96B;
			remoteInfo = StaticLib;
................................................................................
		AAE7DF4514CBB43900DF1A0E /* testscale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testscale.c; path = ../../test/testscale.c; sourceTree = "<group>"; };
		AAE7DFB114CBB54E00DF1A0E /* testrendertarget.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testrendertarget.app; sourceTree = BUILT_PRODUCTS_DIR; };
		AAE7DFB414CBB5F700DF1A0E /* testrendertarget.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testrendertarget.c; path = ../../test/testrendertarget.c; sourceTree = "<group>"; };
		FA0EF2221BAF43DE000E07A6 /* testgamecontroller.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testgamecontroller.c; path = ../../test/testgamecontroller.c; sourceTree = "<group>"; };
		FA0EF2281BAF4487000E07A6 /* axis.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; name = axis.bmp; path = ../../test/axis.bmp; sourceTree = "<group>"; };
		FA0EF2291BAF4487000E07A6 /* button.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; name = button.bmp; path = ../../test/button.bmp; sourceTree = "<group>"; };
		FA0EF22A1BAF4487000E07A6 /* controllermap.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; name = controllermap.bmp; path = ../../test/controllermap.bmp; sourceTree = "<group>"; };
		FA3D99341BC4E644002C96C8 /* testgamecontroller-TV.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "testgamecontroller-TV.app"; sourceTree = BUILT_PRODUCTS_DIR; };
		FA684F7A1BAF1A4400DCFD1A /* GameController.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameController.framework; path = System/Library/Frameworks/GameController.framework; sourceTree = SDKROOT; };
		FA8B4BAC1967076F00F8EB7C /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
		FABA34761D8B4EAD00915323 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
		FABA34911D8B575200915323 /* testaudiocapture.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testaudiocapture.app; sourceTree = BUILT_PRODUCTS_DIR; };
		FABA34931D8B578200915323 /* testaudiocapture.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testaudiocapture.c; path = ../../test/testaudiocapture.c; sourceTree = "<group>"; };
		FABA34AA1D8B582100915323 /* loopwav-TV.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "loopwav-TV.app"; sourceTree = BUILT_PRODUCTS_DIR; };
		FABA34AC1D8B58A700915323 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS10.0.sdk/System/Library/Frameworks/AVFoundation.framework; sourceTree = DEVELOPER_DIR; };
		FAE0E9931BAF9B230098DFA4 /* testgamecontroller.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testgamecontroller.app; sourceTree = BUILT_PRODUCTS_DIR; };
		FD1B48AC0E3131CA007AB34E /* SDL.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SDL.xcodeproj; path = ../SDL/SDL.xcodeproj; sourceTree = SOURCE_ROOT; };
		FDA8A7410E2D0F1600EA573E /* testaudioinfo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testaudioinfo.c; path = ../../test/testaudioinfo.c; sourceTree = SOURCE_ROOT; };
		FDA8A7470E2D0F1600EA573E /* testerror.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testerror.c; path = ../../test/testerror.c; sourceTree = SOURCE_ROOT; };
		FDA8A7480E2D0F1600EA573E /* testfile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testfile.c; path = ../../test/testfile.c; sourceTree = SOURCE_ROOT; };
		FDA8A74C0E2D0F1600EA573E /* testthread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testthread.c; path = ../../test/testthread.c; sourceTree = SOURCE_ROOT; };
		FDA8A74D0E2D0F1600EA573E /* testiconv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testiconv.c; path = ../../test/testiconv.c; sourceTree = SOURCE_ROOT; };
................................................................................
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		046CEF7A13254F23007AD51D /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34B51D8B5B8400915323 /* AVFoundation.framework in Frameworks */,
				046CEF7B13254F23007AD51D /* libSDL2.a in Frameworks */,
				FA684F841BAF1A5C00DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD1196766C900F8EB7C /* CoreMotion.framework in Frameworks */,
				046CEF7C13254F23007AD51D /* AudioToolbox.framework in Frameworks */,
				046CEF7D13254F23007AD51D /* QuartzCore.framework in Frameworks */,
				046CEF7E13254F23007AD51D /* OpenGLES.framework in Frameworks */,
				046CEF7F13254F23007AD51D /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		047A63E113285C3200CD7973 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34B01D8B5B6400915323 /* AVFoundation.framework in Frameworks */,
				AA1EE470176059D00029C7A5 /* libSDL2test.a in Frameworks */,
				047A63E213285C3200CD7973 /* libSDL2.a in Frameworks */,
				FA684F7B1BAF1A4400DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BAD1967076F00F8EB7C /* CoreMotion.framework in Frameworks */,
				047A63E313285C3200CD7973 /* AudioToolbox.framework in Frameworks */,
				047A63E413285C3200CD7973 /* QuartzCore.framework in Frameworks */,
				047A63E513285C3200CD7973 /* OpenGLES.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34C41D8B5BCB00915323 /* AVFoundation.framework in Frameworks */,
				AA1EE47817605BF60029C7A5 /* libSDL2test.a in Frameworks */,
				FDBDE5810E313465006BAC0B /* libSDL2.a in Frameworks */,
				FA684F931BAF1A8A00DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BE0196766F400F8EB7C /* CoreMotion.framework in Frameworks */,
				FDA8A89F0E2D111A00EA573E /* AudioToolbox.framework in Frameworks */,
				FDA8A8A00E2D111A00EA573E /* QuartzCore.framework in Frameworks */,
				FDA8A8A10E2D111A00EA573E /* OpenGLES.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		56ED0501118A8FE400A56AA6 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34BC1D8B5BA600915323 /* AVFoundation.framework in Frameworks */,
				56ED0502118A8FE400A56AA6 /* libSDL2.a in Frameworks */,
				FA684F8B1BAF1A7100DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD8196766DD00F8EB7C /* CoreMotion.framework in Frameworks */,
				56ED0503118A8FE400A56AA6 /* AudioToolbox.framework in Frameworks */,
				56ED0504118A8FE400A56AA6 /* QuartzCore.framework in Frameworks */,
				56ED0505118A8FE400A56AA6 /* OpenGLES.framework in Frameworks */,
				56ED0506118A8FE400A56AA6 /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		AAE7DEE014CBB1E100DF1A0E /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34BE1D8B5BB000915323 /* AVFoundation.framework in Frameworks */,
				AA1EE47617605B9E0029C7A5 /* libSDL2test.a in Frameworks */,
				AAE7DEE114CBB1E100DF1A0E /* libSDL2.a in Frameworks */,
				FA684F8D1BAF1A7800DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BDA196766E200F8EB7C /* CoreMotion.framework in Frameworks */,
				AAE7DEE214CBB1E100DF1A0E /* AudioToolbox.framework in Frameworks */,
				AAE7DEE314CBB1E100DF1A0E /* QuartzCore.framework in Frameworks */,
				AAE7DEE414CBB1E100DF1A0E /* OpenGLES.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		AAE7DFA514CBB54E00DF1A0E /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34BD1D8B5BAB00915323 /* AVFoundation.framework in Frameworks */,
				AA1EE47517605B930029C7A5 /* libSDL2test.a in Frameworks */,
				AAE7DFA614CBB54E00DF1A0E /* libSDL2.a in Frameworks */,
				FA684F8C1BAF1A7400DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD9196766E000F8EB7C /* CoreMotion.framework in Frameworks */,
				AAE7DFA714CBB54E00DF1A0E /* AudioToolbox.framework in Frameworks */,
				AAE7DFA814CBB54E00DF1A0E /* QuartzCore.framework in Frameworks */,
				AAE7DFA914CBB54E00DF1A0E /* OpenGLES.framework in Frameworks */,
				AAE7DFAA14CBB54E00DF1A0E /* CoreGraphics.framework in Frameworks */,
				AAE7DFAB14CBB54E00DF1A0E /* UIKit.framework in Frameworks */,
				AAE7DFAC14CBB54E00DF1A0E /* Foundation.framework in Frameworks */,
				AAE7DFAD14CBB54E00DF1A0E /* CoreAudio.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FA3D99311BC4E644002C96C8 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34AD1D8B58A700915323 /* AVFoundation.framework in Frameworks */,
				FAA8CEE41BDF06D600D3BD45 /* libSDL2.a in Frameworks */,
				FA3D99481BC4E6AD002C96C8 /* GameController.framework in Frameworks */,
				FA3D994A1BC4E6AD002C96C8 /* AudioToolbox.framework in Frameworks */,
				FA3D994B1BC4E6AD002C96C8 /* QuartzCore.framework in Frameworks */,
				FA3D994C1BC4E6AD002C96C8 /* OpenGLES.framework in Frameworks */,
				FA3D994D1BC4E6AD002C96C8 /* CoreGraphics.framework in Frameworks */,
				FA3D994E1BC4E6AD002C96C8 /* UIKit.framework in Frameworks */,
				FA3D994F1BC4E6AD002C96C8 /* Foundation.framework in Frameworks */,
				FA3D99501BC4E6AD002C96C8 /* CoreAudio.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FABA34821D8B575200915323 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34831D8B575200915323 /* AVFoundation.framework in Frameworks */,
				FABA34841D8B575200915323 /* libSDL2.a in Frameworks */,
				FABA34851D8B575200915323 /* GameController.framework in Frameworks */,
				FABA34861D8B575200915323 /* CoreMotion.framework in Frameworks */,
				FABA34871D8B575200915323 /* AudioToolbox.framework in Frameworks */,
				FABA34881D8B575200915323 /* QuartzCore.framework in Frameworks */,
				FABA34891D8B575200915323 /* OpenGLES.framework in Frameworks */,
				FABA348A1D8B575200915323 /* CoreGraphics.framework in Frameworks */,
				FABA348B1D8B575200915323 /* UIKit.framework in Frameworks */,
				FABA348C1D8B575200915323 /* Foundation.framework in Frameworks */,
				FABA348D1D8B575200915323 /* CoreAudio.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FABA349B1D8B582100915323 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA349C1D8B582100915323 /* AVFoundation.framework in Frameworks */,
				FABA349D1D8B582100915323 /* libSDL2.a in Frameworks */,
				FABA349E1D8B582100915323 /* GameController.framework in Frameworks */,
				FABA349F1D8B582100915323 /* CoreMotion.framework in Frameworks */,
				FABA34A01D8B582100915323 /* AudioToolbox.framework in Frameworks */,
				FABA34A11D8B582100915323 /* QuartzCore.framework in Frameworks */,
				FABA34A21D8B582100915323 /* OpenGLES.framework in Frameworks */,
				FABA34A31D8B582100915323 /* CoreGraphics.framework in Frameworks */,
				FABA34A41D8B582100915323 /* UIKit.framework in Frameworks */,
				FABA34A51D8B582100915323 /* Foundation.framework in Frameworks */,
				FABA34A61D8B582100915323 /* CoreAudio.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FAE0E9851BAF9B230098DFA4 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34AE1D8B58B200915323 /* AVFoundation.framework in Frameworks */,
				FAE0E9861BAF9B230098DFA4 /* libSDL2.a in Frameworks */,
				FAE0E9871BAF9B230098DFA4 /* GameController.framework in Frameworks */,
				FAE0E9881BAF9B230098DFA4 /* CoreMotion.framework in Frameworks */,
				FAE0E9891BAF9B230098DFA4 /* AudioToolbox.framework in Frameworks */,
				FAE0E98A1BAF9B230098DFA4 /* QuartzCore.framework in Frameworks */,
				FAE0E98B1BAF9B230098DFA4 /* OpenGLES.framework in Frameworks */,
				FAE0E98C1BAF9B230098DFA4 /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDA8AAAE0E2D330F00EA573E /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34771D8B4EAD00915323 /* AVFoundation.framework in Frameworks */,
				FDBDE5850E313495006BAC0B /* libSDL2.a in Frameworks */,
				FA684F7F1BAF1A4D00DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BC9196766BC00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDA8AAB10E2D330F00EA573E /* AudioToolbox.framework in Frameworks */,
				FDA8AAB20E2D330F00EA573E /* QuartzCore.framework in Frameworks */,
				FDA8AAB30E2D330F00EA573E /* OpenGLES.framework in Frameworks */,
				FDA8AAB40E2D330F00EA573E /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDAAC3C00E2D47E6001DB1D8 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34B11D8B5B6C00915323 /* AVFoundation.framework in Frameworks */,
				FDBDE58C0E3134F3006BAC0B /* libSDL2.a in Frameworks */,
				FA684F801BAF1A5000DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BCD196766BF00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDAAC3C30E2D47E6001DB1D8 /* AudioToolbox.framework in Frameworks */,
				FDAAC3C40E2D47E6001DB1D8 /* QuartzCore.framework in Frameworks */,
				FDAAC3C50E2D47E6001DB1D8 /* OpenGLES.framework in Frameworks */,
				FDAAC3C60E2D47E6001DB1D8 /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDAAC58E0E2D5429001DB1D8 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34B31D8B5B7800915323 /* AVFoundation.framework in Frameworks */,
				FDBDE59B0E31356A006BAC0B /* libSDL2.a in Frameworks */,
				FA684F821BAF1A5700DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BCF196766C400F8EB7C /* CoreMotion.framework in Frameworks */,
				FDAAC5910E2D5429001DB1D8 /* AudioToolbox.framework in Frameworks */,
				FDAAC5920E2D5429001DB1D8 /* QuartzCore.framework in Frameworks */,
				FDAAC5930E2D5429001DB1D8 /* OpenGLES.framework in Frameworks */,
				FDAAC5940E2D5429001DB1D8 /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDAAC5BC0E2D55B5001DB1D8 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34B41D8B5B7C00915323 /* AVFoundation.framework in Frameworks */,
				FDBDE59F0E31358D006BAC0B /* libSDL2.a in Frameworks */,
				FA684F831BAF1A5A00DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD0196766C600F8EB7C /* CoreMotion.framework in Frameworks */,
				FDAAC5BF0E2D55B5001DB1D8 /* AudioToolbox.framework in Frameworks */,
				FDAAC5C00E2D55B5001DB1D8 /* QuartzCore.framework in Frameworks */,
				FDAAC5C10E2D55B5001DB1D8 /* OpenGLES.framework in Frameworks */,
				FDAAC5C20E2D55B5001DB1D8 /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDAAC6190E2D5914001DB1D8 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34B61D8B5B8900915323 /* AVFoundation.framework in Frameworks */,
				AA1EE47417605B5C0029C7A5 /* libSDL2test.a in Frameworks */,
				FDBDE57C0E313445006BAC0B /* libSDL2.a in Frameworks */,
				FA684F851BAF1A6000DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD2196766CB00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDAAC61C0E2D5914001DB1D8 /* AudioToolbox.framework in Frameworks */,
				FDAAC61D0E2D5914001DB1D8 /* QuartzCore.framework in Frameworks */,
				FDAAC61E0E2D5914001DB1D8 /* OpenGLES.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDC42FF30F0D866D009C87E1 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34B21D8B5B7300915323 /* AVFoundation.framework in Frameworks */,
				AA1EE47117605A7F0029C7A5 /* libSDL2test.a in Frameworks */,
				FDC42FF40F0D866D009C87E1 /* libSDL2.a in Frameworks */,
				FA684F811BAF1A5300DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BCE196766C100F8EB7C /* CoreMotion.framework in Frameworks */,
				FDC42FF60F0D866D009C87E1 /* AudioToolbox.framework in Frameworks */,
				FDC42FF70F0D866D009C87E1 /* QuartzCore.framework in Frameworks */,
				FDC42FF80F0D866D009C87E1 /* OpenGLES.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C0FD0E2E4F4B00B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34C11D8B5BBE00915323 /* AVFoundation.framework in Frameworks */,
				FDBDE5A90E3135C0006BAC0B /* libSDL2.a in Frameworks */,
				FA684F901BAF1A8100DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BDD196766EB00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C1000E2E4F4B00B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C1010E2E4F4B00B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C1020E2E4F4B00B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C1030E2E4F4B00B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C1740E2E52C000B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34B71D8B5B8D00915323 /* AVFoundation.framework in Frameworks */,
				FDBDE5AE0E3135E6006BAC0B /* libSDL2.a in Frameworks */,
				FA684F861BAF1A6200DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD3196766CE00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C1770E2E52C000B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C1780E2E52C000B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C1790E2E52C000B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C17A0E2E52C000B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C1980E2E534F00B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34B81D8B5B9200915323 /* AVFoundation.framework in Frameworks */,
				FDBDE5B60E3135FE006BAC0B /* libSDL2.a in Frameworks */,
				FA684F871BAF1A6500DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD4196766D100F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C19B0E2E534F00B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C19C0E2E534F00B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C19D0E2E534F00B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C19E0E2E534F00B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C4510E2E773800B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34B91D8B5B9600915323 /* AVFoundation.framework in Frameworks */,
				FDBDE5BC0E31364D006BAC0B /* libSDL2.a in Frameworks */,
				FA684F881BAF1A6800DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD5196766D400F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C4540E2E773800B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C4550E2E773800B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C4560E2E773800B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C4570E2E773800B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C46F0E2E77D700B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34BA1D8B5B9B00915323 /* AVFoundation.framework in Frameworks */,
				FDBDE5C20E313663006BAC0B /* libSDL2.a in Frameworks */,
				FA684F891BAF1A6A00DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD6196766D700F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C4720E2E77D700B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C4730E2E77D700B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C4740E2E77D700B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C4750E2E77D700B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C4FE0E2E7F4800B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34BB1D8B5BA100915323 /* AVFoundation.framework in Frameworks */,
				FDBDE5C60E3136F1006BAC0B /* libSDL2.a in Frameworks */,
				FA684F8A1BAF1A6D00DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BD7196766DA00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C5010E2E7F4800B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C5020E2E7F4800B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C5030E2E7F4800B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C5040E2E7F4800B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C51C0E2E807600B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34BF1D8B5BB500915323 /* AVFoundation.framework in Frameworks */,
				FDBDE5C80E313702006BAC0B /* libSDL2.a in Frameworks */,
				FA684F8E1BAF1A7B00DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BDB196766E500F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C51F0E2E807600B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C5200E2E807600B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C5210E2E807600B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C5220E2E807600B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C5410E2E80E400B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34C01D8B5BBA00915323 /* AVFoundation.framework in Frameworks */,
				AA1EE47717605BAB0029C7A5 /* libSDL2test.a in Frameworks */,
				FDBDE5CA0E313712006BAC0B /* libSDL2.a in Frameworks */,
				FA684F8F1BAF1A7E00DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BDC196766E800F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C5440E2E80E400B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C5450E2E80E400B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C5460E2E80E400B7A85F /* OpenGLES.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C57A0E2E8C7400B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34C21D8B5BC200915323 /* AVFoundation.framework in Frameworks */,
				FDBDE5CC0E31372B006BAC0B /* libSDL2.a in Frameworks */,
				FA684F911BAF1A8400DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BDE196766EE00F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C57D0E2E8C7400B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C57E0E2E8C7400B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C57F0E2E8C7400B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C5800E2E8C7400B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C5B80E2E8CFC00B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34C31D8B5BC600915323 /* AVFoundation.framework in Frameworks */,
				FDBDE5CE0E31373E006BAC0B /* libSDL2.a in Frameworks */,
				FA684F921BAF1A8700DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BDF196766F100F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C5BB0E2E8CFC00B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C5BC0E2E8CFC00B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C5BD0E2E8CFC00B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C5BE0E2E8CFC00B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FDD2C6E70E2E959E00B7A85F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34C51D8B5BD000915323 /* AVFoundation.framework in Frameworks */,
				FDBDE5D40E313789006BAC0B /* libSDL2.a in Frameworks */,
				FA684F941BAF1A9400DCFD1A /* GameController.framework in Frameworks */,
				FA8B4BE1196766F600F8EB7C /* CoreMotion.framework in Frameworks */,
				FDD2C6EA0E2E959E00B7A85F /* AudioToolbox.framework in Frameworks */,
				FDD2C6EB0E2E959E00B7A85F /* QuartzCore.framework in Frameworks */,
				FDD2C6EC0E2E959E00B7A85F /* OpenGLES.framework in Frameworks */,
				FDD2C6ED0E2E959E00B7A85F /* CoreGraphics.framework in Frameworks */,
................................................................................
				FDC430000F0D866D009C87E1 /* torturethread.app */,
				56ED050D118A8FE400A56AA6 /* testpower.app */,
				046CEF8613254F23007AD51D /* testgesture.app */,
				047A63ED13285C3200CD7973 /* checkkeys.app */,
				AAE7DEEC14CBB1E100DF1A0E /* testscale.app */,
				AAE7DFB114CBB54E00DF1A0E /* testrendertarget.app */,
				FAE0E9931BAF9B230098DFA4 /* testgamecontroller.app */,
				FA3D99341BC4E644002C96C8 /* testgamecontroller-TV.app */,
				FABA34911D8B575200915323 /* testaudiocapture.app */,
				FABA34AA1D8B582100915323 /* loopwav-TV.app */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
			isa = PBXGroup;
			children = (
				AA1EE44D176059220029C7A5 /* SDL2test.xcodeproj */,
				FD1B48AC0E3131CA007AB34E /* SDL.xcodeproj */,
				FDA8AAD60E2D339A00EA573E /* Resources */,
				FDA8A7C30E2D10FA00EA573E /* Linked Frameworks */,
				FDA8A73B0E2D0F0400EA573E /* src */,
				19C28FACFE9D520D11CA2CBB /* Products */,
				FABA34751D8B4EAC00915323 /* Frameworks */,
			);
			name = CustomTemplate;
			sourceTree = "<group>";
		};
		AA1EE44E176059220029C7A5 /* Products */ = {
			isa = PBXGroup;
			children = (
				AA1EE452176059230029C7A5 /* libSDL2test.a */,
				FA3D992F1BC4E619002C96C8 /* libSDL2test-TV.a */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		FABA34751D8B4EAC00915323 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				FABA34AC1D8B58A700915323 /* AVFoundation.framework */,
				FABA34761D8B4EAD00915323 /* AVFoundation.framework */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		FD1B48AD0E3131CA007AB34E /* Products */ = {
			isa = PBXGroup;
			children = (
				FD1B48B80E3131CA007AB34E /* libSDL2.a */,
				FA3D992B1BC4E619002C96C8 /* libSDL2.a */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		FDA8A73B0E2D0F0400EA573E /* src */ = {
			isa = PBXGroup;
			children = (
				FABA34931D8B578200915323 /* testaudiocapture.c */,
				047A63F013285CD100CD7973 /* checkkeys.c */,
				FDA8A78B0E2D0F3D00EA573E /* loopwave.c */,
				FDA8A7410E2D0F1600EA573E /* testaudioinfo.c */,
				FDC430090F0D86BF009C87E1 /* testdraw2.c */,
				FDA8A7470E2D0F1600EA573E /* testerror.c */,
				FDA8A7480E2D0F1600EA573E /* testfile.c */,
				FA0EF2221BAF43DE000E07A6 /* testgamecontroller.c */,
................................................................................
			);
			dependencies = (
			);
			name = testrendertarget;
			productName = Test;
			productReference = AAE7DFB114CBB54E00DF1A0E /* testrendertarget.app */;
			productType = "com.apple.product-type.application";
		};
		FA3D99331BC4E644002C96C8 /* testgamecontroller-TV */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = FA3D99451BC4E645002C96C8 /* Build configuration list for PBXNativeTarget "testgamecontroller-TV" */;
			buildPhases = (
				FA3D99301BC4E644002C96C8 /* Sources */,
				FA3D99311BC4E644002C96C8 /* Frameworks */,
				FA3D99321BC4E644002C96C8 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				FAA8CEE61BDF06DC00D3BD45 /* PBXTargetDependency */,
			);
			name = "testgamecontroller-TV";
			productName = "testgamecontroller-TV";
			productReference = FA3D99341BC4E644002C96C8 /* testgamecontroller-TV.app */;
			productType = "com.apple.product-type.application";
		};
		FABA347D1D8B575200915323 /* testaudiocapture */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = FABA348E1D8B575200915323 /* Build configuration list for PBXNativeTarget "testaudiocapture" */;
			buildPhases = (
				FABA347E1D8B575200915323 /* Resources */,
				FABA34801D8B575200915323 /* Sources */,
				FABA34821D8B575200915323 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = testaudiocapture;
			productName = Test;
			productReference = FABA34911D8B575200915323 /* testaudiocapture.app */;
			productType = "com.apple.product-type.application";
		};
		FABA34961D8B582100915323 /* loopwav-TV */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = FABA34A71D8B582100915323 /* Build configuration list for PBXNativeTarget "loopwav-TV" */;
			buildPhases = (
				FABA34971D8B582100915323 /* Resources */,
				FABA34991D8B582100915323 /* Sources */,
				FABA349B1D8B582100915323 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "loopwav-TV";
			productName = Test;
			productReference = FABA34AA1D8B582100915323 /* loopwav-TV.app */;
			productType = "com.apple.product-type.application";
		};
		FAE0E9801BAF9B230098DFA4 /* testgamecontroller */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = FAE0E9901BAF9B230098DFA4 /* Build configuration list for PBXNativeTarget "testgamecontroller" */;
			buildPhases = (
				FAE0E9811BAF9B230098DFA4 /* Resources */,
				FAE0E9831BAF9B230098DFA4 /* Sources */,
................................................................................
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		29B97313FDCFA39411CA2CEA /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0630;
				TargetAttributes = {
					FA3D99331BC4E644002C96C8 = {
						CreatedOnToolsVersion = 7.1;
					};
					FABA34961D8B582100915323 = {
						ProvisioningStyle = Automatic;
					};
				};
			};
			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "TestiPhoneOS" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 1;
			knownRegions = (
				English,
				Japanese,
				French,
				German,
				Base,
			);
			mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
			projectDirPath = "";
			projectReferences = (
				{
					ProductGroup = FD1B48AD0E3131CA007AB34E /* Products */;
					ProjectRef = FD1B48AC0E3131CA007AB34E /* SDL.xcodeproj */;
................................................................................
					ProductGroup = AA1EE44E176059220029C7A5 /* Products */;
					ProjectRef = AA1EE44D176059220029C7A5 /* SDL2test.xcodeproj */;
				},
			);
			projectRoot = "";
			targets = (
				047A63DD13285C3200CD7973 /* checkkeys */,
				FABA347D1D8B575200915323 /* testaudiocapture */,
				FDA8AAAA0E2D330F00EA573E /* loopwav */,
				FABA34961D8B582100915323 /* loopwav-TV */,
				FDAAC3BB0E2D47E6001DB1D8 /* testaudioinfo */,
				FDC42FEF0F0D866D009C87E1 /* testdraw2 */,
				FDAAC58A0E2D5429001DB1D8 /* testerror */,
				FDAAC5B80E2D55B5001DB1D8 /* testfile */,
				FAE0E9801BAF9B230098DFA4 /* testgamecontroller */,
				FA3D99331BC4E644002C96C8 /* testgamecontroller-TV */,
				046CEF7513254F23007AD51D /* testgesture */,
				FDAAC6150E2D5914001DB1D8 /* testgles */,
				FDD2C1700E2E52C000B7A85F /* testiconv */,
				FDD2C1930E2E534F00B7A85F /* testjoystick */,
				FDD2C44D0E2E773800B7A85F /* testkeys */,
				FDD2C46B0E2E77D700B7A85F /* testlock */,
				FDD2C4F90E2E7F4800B7A85F /* testplatform */,
................................................................................
/* Begin PBXReferenceProxy section */
		AA1EE452176059230029C7A5 /* libSDL2test.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = libSDL2test.a;
			remoteRef = AA1EE451176059230029C7A5 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		FA3D992B1BC4E619002C96C8 /* libSDL2.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = libSDL2.a;
			remoteRef = FA3D992A1BC4E619002C96C8 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		FA3D992F1BC4E619002C96C8 /* libSDL2test-TV.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = "libSDL2test-TV.a";
			remoteRef = FA3D992E1BC4E619002C96C8 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		FD1B48B80E3131CA007AB34E /* libSDL2.a */ = {
			isa = PBXReferenceProxy;
			fileType = archive.ar;
			path = libSDL2.a;
			remoteRef = FD1B48B70E3131CA007AB34E /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
................................................................................
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				AAE7DFA014CBB54E00DF1A0E /* icon.bmp in Resources */,
				AAE7DFA114CBB54E00DF1A0E /* sample.bmp in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FA3D99321BC4E644002C96C8 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FA3D99521BC4E70C002C96C8 /* controllermap.bmp in Resources */,
				FA3D99541BC4E70F002C96C8 /* button.bmp in Resources */,
				FA3D99531BC4E70E002C96C8 /* axis.bmp in Resources */,
				FA3D99551BC4E712002C96C8 /* icon.bmp in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FABA347E1D8B575200915323 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FABA34971D8B582100915323 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34981D8B582100915323 /* sample.wav in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FAE0E9811BAF9B230098DFA4 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FAE0E9961BAF9B650098DFA4 /* controllermap.bmp in Resources */,
				FAE0E9821BAF9B230098DFA4 /* icon.bmp in Resources */,
................................................................................
			runOnlyForDeploymentPostprocessing = 0;
		};
		047A63DF13285C3200CD7973 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				047A63F113285CD100CD7973 /* checkkeys.c in Sources */,
				FABA34941D8B578200915323 /* testaudiocapture.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		1D60588E0D05DD3D006BFB54 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
................................................................................
		AAE7DFA214CBB54E00DF1A0E /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				AAE7DFB514CBB5F700DF1A0E /* testrendertarget.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FA3D99301BC4E644002C96C8 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34AF1D8B59F800915323 /* testaudiocapture.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FABA34801D8B575200915323 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA34951D8B578600915323 /* testaudiocapture.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FABA34991D8B582100915323 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FABA349A1D8B582100915323 /* loopwave.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FAE0E9831BAF9B230098DFA4 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FAE0E9951BAF9B510098DFA4 /* testgamecontroller.c in Sources */,
			);
................................................................................
			buildActionMask = 2147483647;
			files = (
				FDD2C6F70E2E95B100B7A85F /* torturethread.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		FAA8CEE61BDF06DC00D3BD45 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = "libSDL-tv";
			targetProxy = FAA8CEE51BDF06DC00D3BD45 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		046CEF8413254F23007AD51D /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;
				PRODUCT_NAME = testgesture;
................................................................................
				HEADER_SEARCH_PATHS = ../../include;
				OTHER_LDFLAGS = "-ObjC";
				"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Release;
		};
		FA3D99461BC4E645002C96C8 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = dwarf;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				INFOPLIST_FILE = Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				MTL_ENABLE_DEBUG_INFO = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = appletvos;
				TARGETED_DEVICE_FAMILY = 3;
				TVOS_DEPLOYMENT_TARGET = 9.0;
			};
			name = Debug;
		};
		FA3D99471BC4E645002C96C8 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				INFOPLIST_FILE = Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				MTL_ENABLE_DEBUG_INFO = NO;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = appletvos;
				TARGETED_DEVICE_FAMILY = 3;
				TVOS_DEPLOYMENT_TARGET = 9.0;
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
		FABA348F1D8B575200915323 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		FABA34901D8B575200915323 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		FABA34A81D8B582100915323 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DEVELOPMENT_TEAM = "";
				INFOPLIST_FILE = Info.plist;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = appletvos;
				SUPPORTED_PLATFORMS = "appletvsimulator appletvos";
				TVOS_DEPLOYMENT_TARGET = 9.0;
				VALID_ARCHS = arm64;
			};
			name = Debug;
		};
		FABA34A91D8B582100915323 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DEVELOPMENT_TEAM = "";
				INFOPLIST_FILE = Info.plist;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = appletvos;
				SUPPORTED_PLATFORMS = "appletvsimulator appletvos";
				TVOS_DEPLOYMENT_TARGET = 9.0;
				VALID_ARCHS = arm64;
			};
			name = Release;
		};
		FAE0E9911BAF9B230098DFA4 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Info.plist;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
................................................................................
		};
		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "TestiPhoneOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				C01FCF4F08A954540054247B /* Debug */,
				C01FCF5008A954540054247B /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		FA3D99451BC4E645002C96C8 /* Build configuration list for PBXNativeTarget "testgamecontroller-TV" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				FA3D99461BC4E645002C96C8 /* Debug */,
				FA3D99471BC4E645002C96C8 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		FABA348E1D8B575200915323 /* Build configuration list for PBXNativeTarget "testaudiocapture" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				FABA348F1D8B575200915323 /* Debug */,
				FABA34901D8B575200915323 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		FABA34A71D8B582100915323 /* Build configuration list for PBXNativeTarget "loopwav-TV" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				FABA34A81D8B582100915323 /* Debug */,
				FABA34A91D8B582100915323 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		FAE0E9901BAF9B230098DFA4 /* Build configuration list for PBXNativeTarget "testgamecontroller" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				FAE0E9911BAF9B230098DFA4 /* Debug */,

Changes to jni/SDL2/Xcode/SDL/Info-Framework.plist.

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
	<key>CFBundleExecutable</key>
	<string>${EXECUTABLE_NAME}</string>
	<key>CFBundleGetInfoString</key>
	<string>http://www.libsdl.org</string>
	<key>CFBundleIconFile</key>
	<string></string>
	<key>CFBundleIdentifier</key>
	<string>org.libsdl.SDL2</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>Simple DirectMedia Layer</string>
	<key>CFBundlePackageType</key>
	<string>FMWK</string>
	<key>CFBundleShortVersionString</key>
	<string>2.0.4</string>
	<key>CFBundleSignature</key>
	<string>SDLX</string>
	<key>CFBundleVersion</key>
	<string>2.0.4</string>
</dict>
</plist>







|







|



|


7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
	<key>CFBundleExecutable</key>
	<string>${EXECUTABLE_NAME}</string>
	<key>CFBundleGetInfoString</key>
	<string>http://www.libsdl.org</string>
	<key>CFBundleIconFile</key>
	<string></string>
	<key>CFBundleIdentifier</key>
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>Simple DirectMedia Layer</string>
	<key>CFBundlePackageType</key>
	<string>FMWK</string>
	<key>CFBundleShortVersionString</key>
	<string>2.0.5</string>
	<key>CFBundleSignature</key>
	<string>SDLX</string>
	<key>CFBundleVersion</key>
	<string>2.0.5</string>
</dict>
</plist>

Changes to jni/SDL2/Xcode/SDL/SDL.xcodeproj/project.pbxproj.

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
..
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
...
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
...
383
384
385
386
387
388
389




390
391
392
393
394
395
396
...
402
403
404
405
406
407
408






409
410
411
412
413
414
415
...
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
...
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
...
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815

816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
...
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
....
1023
1024
1025
1026
1027
1028
1029


1030
1031
1032
1033
1034
1035
1036
....
1102
1103
1104
1105
1106
1107
1108

1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131

1132
1133
1134
1135
1136
1137

1138
1139

1140
1141
1142
1143
1144
1145
1146

1147
1148
1149
1150
1151
1152

1153
1154

1155
1156
1157
1158
1159
1160
1161
....
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
....
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
....
1733
1734
1735
1736
1737
1738
1739


1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
....
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
....
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
....
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
....
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
....
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
....
2436
2437
2438
2439
2440
2441
2442

2443
2444
2445
2446
2447
2448
2449
....
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
....
2555
2556
2557
2558
2559
2560
2561

2562
2563
2564
2565
2566
2567
2568
....
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
....
2674
2675
2676
2677
2678
2679
2680

2681
2682
2683
2684
2685
2686
2687
....
2763
2764
2765
2766
2767
2768
2769









2770

2771
2772
2773
2774

2775
2776






2777
2778
2779
2780
2781
2782
2783
2784
2785

2786
2787
2788
2789
2790
2791
2792
2793
2794

2795
2796
2797
2798
2799
2800
2801
....
2823
2824
2825
2826
2827
2828
2829











2830
2831
2832

2833
2834






2835
2836
2837
2838
2839
2840
2841
2842
2843
2844

2845
2846
2847
2848
2849
2850
2851
2852
2853

2854
2855
2856
2857
2858
2859
2860
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 46;
	objects = {

/* Begin PBXBuildFile section */
		007317A20858DECD00B2BC32 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179B0858DECD00B2BC32 /* AudioToolbox.framework */; };
		007317A30858DECD00B2BC32 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179C0858DECD00B2BC32 /* AudioUnit.framework */; };
		007317A40858DECD00B2BC32 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179D0858DECD00B2BC32 /* Cocoa.framework */; };
		007317A50858DECD00B2BC32 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179E0858DECD00B2BC32 /* CoreAudio.framework */; };
		007317A60858DECD00B2BC32 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179F0858DECD00B2BC32 /* IOKit.framework */; };
		007317A90858DECD00B2BC32 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179B0858DECD00B2BC32 /* AudioToolbox.framework */; };
		007317AA0858DECD00B2BC32 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179C0858DECD00B2BC32 /* AudioUnit.framework */; };
		007317AB0858DECD00B2BC32 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179D0858DECD00B2BC32 /* Cocoa.framework */; };
		007317AC0858DECD00B2BC32 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179E0858DECD00B2BC32 /* CoreAudio.framework */; };
		007317AD0858DECD00B2BC32 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179F0858DECD00B2BC32 /* IOKit.framework */; };
		007317C30858E15000B2BC32 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007317C10858E15000B2BC32 /* Carbon.framework */; };
		00CFA89D106B4BA100758660 /* ForceFeedback.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00CFA89C106B4BA100758660 /* ForceFeedback.framework */; };
		00D0D08410675DD9004B05EF /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00D0D08310675DD9004B05EF /* CoreFoundation.framework */; };
		00D0D0D810675E46004B05EF /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007317C10858E15000B2BC32 /* Carbon.framework */; };
		04043BBB12FEB1BE0076DB1F /* SDL_glfuncs.h in Headers */ = {isa = PBXBuildFile; fileRef = 04043BBA12FEB1BE0076DB1F /* SDL_glfuncs.h */; };
		04043BBC12FEB1BE0076DB1F /* SDL_glfuncs.h in Headers */ = {isa = PBXBuildFile; fileRef = 04043BBA12FEB1BE0076DB1F /* SDL_glfuncs.h */; };
................................................................................
		0442EC6012FE1C75004C9285 /* SDL_hints.c in Sources */ = {isa = PBXBuildFile; fileRef = 0442EC5E12FE1C75004C9285 /* SDL_hints.c */; };
		04BAC0C81300C2160055DE28 /* SDL_log.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BAC0C71300C2160055DE28 /* SDL_log.c */; };
		04BAC0C91300C2160055DE28 /* SDL_log.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BAC0C71300C2160055DE28 /* SDL_log.c */; };
		04BD000812E6671800899322 /* SDL_diskaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD8812E6671700899322 /* SDL_diskaudio.c */; };
		04BD000912E6671800899322 /* SDL_diskaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFD8912E6671700899322 /* SDL_diskaudio.h */; };
		04BD001012E6671800899322 /* SDL_dummyaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD9412E6671700899322 /* SDL_dummyaudio.c */; };
		04BD001112E6671800899322 /* SDL_dummyaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFD9512E6671700899322 /* SDL_dummyaudio.h */; };
		04BD001812E6671800899322 /* SDL_coreaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDA012E6671700899322 /* SDL_coreaudio.c */; };
		04BD001912E6671800899322 /* SDL_coreaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDA112E6671700899322 /* SDL_coreaudio.h */; };
		04BD002612E6671800899322 /* SDL_audio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDB412E6671700899322 /* SDL_audio.c */; };
		04BD002712E6671800899322 /* SDL_audio_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDB512E6671700899322 /* SDL_audio_c.h */; };
		04BD002812E6671800899322 /* SDL_audiocvt.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDB612E6671700899322 /* SDL_audiocvt.c */; };
		04BD002912E6671800899322 /* SDL_audiodev.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDB712E6671700899322 /* SDL_audiodev.c */; };
		04BD002A12E6671800899322 /* SDL_audiodev_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDB812E6671700899322 /* SDL_audiodev_c.h */; };
		04BD002B12E6671800899322 /* SDL_audiomem.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDB912E6671700899322 /* SDL_audiomem.h */; };
		04BD002C12E6671800899322 /* SDL_audiotypecvt.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDBA12E6671700899322 /* SDL_audiotypecvt.c */; };
		04BD002D12E6671800899322 /* SDL_mixer.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDBB12E6671700899322 /* SDL_mixer.c */; };
		04BD003412E6671800899322 /* SDL_sysaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDC212E6671700899322 /* SDL_sysaudio.h */; };
		04BD003512E6671800899322 /* SDL_wave.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDC312E6671700899322 /* SDL_wave.c */; };
		04BD003612E6671800899322 /* SDL_wave.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDC412E6671700899322 /* SDL_wave.h */; };
		04BD004112E6671800899322 /* SDL_cpuinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDD412E6671700899322 /* SDL_cpuinfo.c */; };
		04BD004212E6671800899322 /* blank_cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDD612E6671700899322 /* blank_cursor.h */; };
................................................................................
		04BD01F912E6671800899322 /* SDL_x11window.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFFD612E6671800899322 /* SDL_x11window.h */; };
		04BD021712E6671800899322 /* SDL_atomic.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD7412E6671700899322 /* SDL_atomic.c */; };
		04BD021812E6671800899322 /* SDL_spinlock.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD7512E6671700899322 /* SDL_spinlock.c */; };
		04BD022412E6671800899322 /* SDL_diskaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD8812E6671700899322 /* SDL_diskaudio.c */; };
		04BD022512E6671800899322 /* SDL_diskaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFD8912E6671700899322 /* SDL_diskaudio.h */; };
		04BD022C12E6671800899322 /* SDL_dummyaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD9412E6671700899322 /* SDL_dummyaudio.c */; };
		04BD022D12E6671800899322 /* SDL_dummyaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFD9512E6671700899322 /* SDL_dummyaudio.h */; };
		04BD023412E6671800899322 /* SDL_coreaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDA012E6671700899322 /* SDL_coreaudio.c */; };
		04BD023512E6671800899322 /* SDL_coreaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDA112E6671700899322 /* SDL_coreaudio.h */; };
		04BD024212E6671800899322 /* SDL_audio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDB412E6671700899322 /* SDL_audio.c */; };
		04BD024312E6671800899322 /* SDL_audio_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDB512E6671700899322 /* SDL_audio_c.h */; };
		04BD024412E6671800899322 /* SDL_audiocvt.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDB612E6671700899322 /* SDL_audiocvt.c */; };
		04BD024512E6671800899322 /* SDL_audiodev.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDB712E6671700899322 /* SDL_audiodev.c */; };
		04BD024612E6671800899322 /* SDL_audiodev_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDB812E6671700899322 /* SDL_audiodev_c.h */; };
		04BD024712E6671800899322 /* SDL_audiomem.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDB912E6671700899322 /* SDL_audiomem.h */; };
		04BD024812E6671800899322 /* SDL_audiotypecvt.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDBA12E6671700899322 /* SDL_audiotypecvt.c */; };
		04BD024912E6671800899322 /* SDL_mixer.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDBB12E6671700899322 /* SDL_mixer.c */; };
		04BD025012E6671800899322 /* SDL_sysaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDC212E6671700899322 /* SDL_sysaudio.h */; };
		04BD025112E6671800899322 /* SDL_wave.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDC312E6671700899322 /* SDL_wave.c */; };
		04BD025212E6671800899322 /* SDL_wave.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDC412E6671700899322 /* SDL_wave.h */; };
		04BD025C12E6671800899322 /* SDL_cpuinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDD412E6671700899322 /* SDL_cpuinfo.c */; };
		04BD025D12E6671800899322 /* blank_cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDD612E6671700899322 /* blank_cursor.h */; };
................................................................................
		04F7805912FB74A200FC43C0 /* SDL_blendpoint.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7804112FB74A200FC43C0 /* SDL_blendpoint.c */; };
		04F7805A12FB74A200FC43C0 /* SDL_blendpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F7804212FB74A200FC43C0 /* SDL_blendpoint.h */; };
		04F7805B12FB74A200FC43C0 /* SDL_draw.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F7804312FB74A200FC43C0 /* SDL_draw.h */; };
		04F7805C12FB74A200FC43C0 /* SDL_drawline.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7804412FB74A200FC43C0 /* SDL_drawline.c */; };
		04F7805D12FB74A200FC43C0 /* SDL_drawline.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F7804512FB74A200FC43C0 /* SDL_drawline.h */; };
		04F7805E12FB74A200FC43C0 /* SDL_drawpoint.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7804612FB74A200FC43C0 /* SDL_drawpoint.c */; };
		04F7805F12FB74A200FC43C0 /* SDL_drawpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F7804712FB74A200FC43C0 /* SDL_drawpoint.h */; };




		566CDE8F148F0AC200C5A9BB /* SDL_dropevents_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 566CDE8D148F0AC200C5A9BB /* SDL_dropevents_c.h */; };
		566CDE90148F0AC200C5A9BB /* SDL_dropevents.c in Sources */ = {isa = PBXBuildFile; fileRef = 566CDE8E148F0AC200C5A9BB /* SDL_dropevents.c */; };
		567E2F1C17C44BB2005F1892 /* SDL_sysfilesystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 567E2F1B17C44BB2005F1892 /* SDL_sysfilesystem.m */; };
		567E2F2117C44C35005F1892 /* SDL_filesystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 567E2F2017C44C35005F1892 /* SDL_filesystem.h */; settings = {ATTRIBUTES = (Public, ); }; };
		56A670091856545C0007D20F /* SDL_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A670081856545C0007D20F /* SDL_internal.h */; };
		56A6700A1856545C0007D20F /* SDL_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A670081856545C0007D20F /* SDL_internal.h */; };
		56A6700B1856545C0007D20F /* SDL_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A670081856545C0007D20F /* SDL_internal.h */; };
................................................................................
		56A67026185654B40007D20F /* SDL_dynapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 56A6701E185654B40007D20F /* SDL_dynapi.c */; };
		56A67027185654B40007D20F /* SDL_dynapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A6701F185654B40007D20F /* SDL_dynapi.h */; };
		56A67028185654B40007D20F /* SDL_dynapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A6701F185654B40007D20F /* SDL_dynapi.h */; };
		56A67029185654B40007D20F /* SDL_dynapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A6701F185654B40007D20F /* SDL_dynapi.h */; };
		56A6702A185654B40007D20F /* SDL_dynapi_overrides.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A67020185654B40007D20F /* SDL_dynapi_overrides.h */; };
		56A6702B185654B40007D20F /* SDL_dynapi_overrides.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A67020185654B40007D20F /* SDL_dynapi_overrides.h */; };
		56A6702C185654B40007D20F /* SDL_dynapi_overrides.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A67020185654B40007D20F /* SDL_dynapi_overrides.h */; };






		A77E6EB4167AB0A90010E40B /* SDL_gamecontroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A77E6EB3167AB0A90010E40B /* SDL_gamecontroller.h */; settings = {ATTRIBUTES = (Public, ); }; };
		A77E6EB5167AB0A90010E40B /* SDL_gamecontroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A77E6EB3167AB0A90010E40B /* SDL_gamecontroller.h */; settings = {ATTRIBUTES = (Public, ); }; };
		AA0AD09D16648D1700CE5896 /* SDL_gamecontroller.c in Sources */ = {isa = PBXBuildFile; fileRef = BBFC088A164C6514003E6A99 /* SDL_gamecontroller.c */; };
		AA0F8491178D5ECC00823F9D /* SDL_systls.c in Sources */ = {isa = PBXBuildFile; fileRef = AA0F8490178D5ECC00823F9D /* SDL_systls.c */; };
		AA0F8492178D5ECC00823F9D /* SDL_systls.c in Sources */ = {isa = PBXBuildFile; fileRef = AA0F8490178D5ECC00823F9D /* SDL_systls.c */; };
		AA0F8493178D5ECC00823F9D /* SDL_systls.c in Sources */ = {isa = PBXBuildFile; fileRef = AA0F8490178D5ECC00823F9D /* SDL_systls.c */; };
		AA41F88014B8F1F500993C4F /* SDL_dropevents.c in Sources */ = {isa = PBXBuildFile; fileRef = 566CDE8E148F0AC200C5A9BB /* SDL_dropevents.c */; };
................................................................................
		DB0F490B17CA57ED008798C5 /* SDL_filesystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 567E2F2017C44C35005F1892 /* SDL_filesystem.h */; settings = {ATTRIBUTES = (Public, ); }; };
		DB0F490C17CA57ED008798C5 /* SDL_filesystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 567E2F2017C44C35005F1892 /* SDL_filesystem.h */; settings = {ATTRIBUTES = (Public, ); }; };
		DB313F7417554B71006C0E22 /* SDL_diskaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFD8912E6671700899322 /* SDL_diskaudio.h */; };
		DB313F7517554B71006C0E22 /* SDL_dummyaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFD9512E6671700899322 /* SDL_dummyaudio.h */; };
		DB313F7617554B71006C0E22 /* SDL_coreaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDA112E6671700899322 /* SDL_coreaudio.h */; };
		DB313F7717554B71006C0E22 /* SDL_audio_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDB512E6671700899322 /* SDL_audio_c.h */; };
		DB313F7817554B71006C0E22 /* SDL_audiodev_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDB812E6671700899322 /* SDL_audiodev_c.h */; };
		DB313F7917554B71006C0E22 /* SDL_audiomem.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDB912E6671700899322 /* SDL_audiomem.h */; };
		DB313F7A17554B71006C0E22 /* SDL_sysaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDC212E6671700899322 /* SDL_sysaudio.h */; };
		DB313F7B17554B71006C0E22 /* SDL_wave.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDC412E6671700899322 /* SDL_wave.h */; };
		DB313F7C17554B71006C0E22 /* blank_cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDD612E6671700899322 /* blank_cursor.h */; };
		DB313F7D17554B71006C0E22 /* default_cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDD712E6671700899322 /* default_cursor.h */; };
		DB313F7E17554B71006C0E22 /* scancodes_darwin.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDD812E6671700899322 /* scancodes_darwin.h */; };
		DB313F7F17554B71006C0E22 /* scancodes_linux.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDD912E6671700899322 /* scancodes_linux.h */; };
		DB313F8017554B71006C0E22 /* scancodes_xfree86.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDDB12E6671700899322 /* scancodes_xfree86.h */; };
................................................................................
		DB313FFA17554B71006C0E22 /* SDL_cocoamessagebox.h in Headers */ = {isa = PBXBuildFile; fileRef = AABCC38B164063D200AB8930 /* SDL_cocoamessagebox.h */; };
		DB313FFB17554B71006C0E22 /* SDL_gamecontroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A77E6EB3167AB0A90010E40B /* SDL_gamecontroller.h */; settings = {ATTRIBUTES = (Public, ); }; };
		DB313FFC17554B71006C0E22 /* SDL_bits.h in Headers */ = {isa = PBXBuildFile; fileRef = AADA5B8616CCAB3000107CF7 /* SDL_bits.h */; settings = {ATTRIBUTES = (Public, ); }; };
		DB313FFE17554B71006C0E22 /* SDL_atomic.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD7412E6671700899322 /* SDL_atomic.c */; };
		DB313FFF17554B71006C0E22 /* SDL_spinlock.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD7512E6671700899322 /* SDL_spinlock.c */; };
		DB31400017554B71006C0E22 /* SDL_diskaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD8812E6671700899322 /* SDL_diskaudio.c */; };
		DB31400117554B71006C0E22 /* SDL_dummyaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD9412E6671700899322 /* SDL_dummyaudio.c */; };
		DB31400217554B71006C0E22 /* SDL_coreaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDA012E6671700899322 /* SDL_coreaudio.c */; };
		DB31400317554B71006C0E22 /* SDL_audio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDB412E6671700899322 /* SDL_audio.c */; };
		DB31400417554B71006C0E22 /* SDL_audiocvt.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDB612E6671700899322 /* SDL_audiocvt.c */; };
		DB31400517554B71006C0E22 /* SDL_audiodev.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDB712E6671700899322 /* SDL_audiodev.c */; };
		DB31400617554B71006C0E22 /* SDL_audiotypecvt.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDBA12E6671700899322 /* SDL_audiotypecvt.c */; };
		DB31400717554B71006C0E22 /* SDL_mixer.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDBB12E6671700899322 /* SDL_mixer.c */; };
		DB31400817554B71006C0E22 /* SDL_wave.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDC312E6671700899322 /* SDL_wave.c */; };
		DB31400917554B71006C0E22 /* SDL_cpuinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDD412E6671700899322 /* SDL_cpuinfo.c */; };
................................................................................
		DB31406417554B71006C0E22 /* SDL_hints.c in Sources */ = {isa = PBXBuildFile; fileRef = 0442EC5E12FE1C75004C9285 /* SDL_hints.c */; };
		DB31406517554B71006C0E22 /* SDL_log.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BAC0C71300C2160055DE28 /* SDL_log.c */; };
		DB31406617554B71006C0E22 /* SDL_shaders_gl.c in Sources */ = {isa = PBXBuildFile; fileRef = 0435673C1303160F00BA5428 /* SDL_shaders_gl.c */; };
		DB31406717554B71006C0E22 /* SDL_rotate.c in Sources */ = {isa = PBXBuildFile; fileRef = AA628AC8159367B7005138DD /* SDL_rotate.c */; };
		DB31406817554B71006C0E22 /* SDL_x11xinput2.c in Sources */ = {isa = PBXBuildFile; fileRef = AA628ACF159367F2005138DD /* SDL_x11xinput2.c */; };
		DB31406917554B71006C0E22 /* SDL_x11messagebox.c in Sources */ = {isa = PBXBuildFile; fileRef = AA9E4092163BE51E007A2AD0 /* SDL_x11messagebox.c */; };
		DB31406A17554B71006C0E22 /* SDL_cocoamessagebox.m in Sources */ = {isa = PBXBuildFile; fileRef = AABCC38C164063D200AB8930 /* SDL_cocoamessagebox.m */; };
		DB31406C17554B71006C0E22 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179B0858DECD00B2BC32 /* AudioToolbox.framework */; };
		DB31406D17554B71006C0E22 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179C0858DECD00B2BC32 /* AudioUnit.framework */; };
		DB31406E17554B71006C0E22 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179D0858DECD00B2BC32 /* Cocoa.framework */; };
		DB31406F17554B71006C0E22 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179E0858DECD00B2BC32 /* CoreAudio.framework */; };
		DB31407017554B71006C0E22 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179F0858DECD00B2BC32 /* IOKit.framework */; };
		DB31407217554B71006C0E22 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007317C10858E15000B2BC32 /* Carbon.framework */; };
		DB31408B17554D37006C0E22 /* ForceFeedback.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00CFA89C106B4BA100758660 /* ForceFeedback.framework */; };
		DB31408D17554D3C006C0E22 /* ForceFeedback.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00CFA89C106B4BA100758660 /* ForceFeedback.framework */; };
		FA73671D19A540EF004122E4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA73671C19A540EF004122E4 /* CoreVideo.framework */; };
		FA73671E19A54140004122E4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA73671C19A540EF004122E4 /* CoreVideo.framework */; };
		FA73671F19A54144004122E4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA73671C19A540EF004122E4 /* CoreVideo.framework */; };

/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		BECDF6C50761BA81005FE872 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = BECDF5FE0761BA81005FE872;
			remoteInfo = "Framework (Upgraded)";
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		0073179B0858DECD00B2BC32 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = "<absolute>"; };
		0073179C0858DECD00B2BC32 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; };
		0073179D0858DECD00B2BC32 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
		0073179E0858DECD00B2BC32 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
		0073179F0858DECD00B2BC32 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
		007317C10858E15000B2BC32 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
		00794D3F09D0C461003FC8A1 /* License.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = License.txt; sourceTree = "<group>"; };
		00CFA89C106B4BA100758660 /* ForceFeedback.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ForceFeedback.framework; path = /System/Library/Frameworks/ForceFeedback.framework; sourceTree = "<absolute>"; };
		00D0D08310675DD9004B05EF /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
		04043BBA12FEB1BE0076DB1F /* SDL_glfuncs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_glfuncs.h; sourceTree = "<group>"; };
		041B2C9E12FA0D680087D585 /* SDL_render.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_render.c; sourceTree = "<group>"; };
................................................................................
		04BAC0C71300C2160055DE28 /* SDL_log.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_log.c; path = ../../src/SDL_log.c; sourceTree = SOURCE_ROOT; };
		04BDFD7412E6671700899322 /* SDL_atomic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_atomic.c; sourceTree = "<group>"; };
		04BDFD7512E6671700899322 /* SDL_spinlock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_spinlock.c; sourceTree = "<group>"; };
		04BDFD8812E6671700899322 /* SDL_diskaudio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_diskaudio.c; sourceTree = "<group>"; };
		04BDFD8912E6671700899322 /* SDL_diskaudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_diskaudio.h; sourceTree = "<group>"; };
		04BDFD9412E6671700899322 /* SDL_dummyaudio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_dummyaudio.c; sourceTree = "<group>"; };
		04BDFD9512E6671700899322 /* SDL_dummyaudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_dummyaudio.h; sourceTree = "<group>"; };
		04BDFDA012E6671700899322 /* SDL_coreaudio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_coreaudio.c; sourceTree = "<group>"; };
		04BDFDA112E6671700899322 /* SDL_coreaudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_coreaudio.h; sourceTree = "<group>"; };
		04BDFDB412E6671700899322 /* SDL_audio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_audio.c; sourceTree = "<group>"; };
		04BDFDB512E6671700899322 /* SDL_audio_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_audio_c.h; sourceTree = "<group>"; };
		04BDFDB612E6671700899322 /* SDL_audiocvt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_audiocvt.c; sourceTree = "<group>"; };
		04BDFDB712E6671700899322 /* SDL_audiodev.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_audiodev.c; sourceTree = "<group>"; };
		04BDFDB812E6671700899322 /* SDL_audiodev_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_audiodev_c.h; sourceTree = "<group>"; };
		04BDFDB912E6671700899322 /* SDL_audiomem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_audiomem.h; sourceTree = "<group>"; };
		04BDFDBA12E6671700899322 /* SDL_audiotypecvt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_audiotypecvt.c; sourceTree = "<group>"; };
		04BDFDBB12E6671700899322 /* SDL_mixer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_mixer.c; sourceTree = "<group>"; };
		04BDFDC212E6671700899322 /* SDL_sysaudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_sysaudio.h; sourceTree = "<group>"; };
		04BDFDC312E6671700899322 /* SDL_wave.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_wave.c; sourceTree = "<group>"; };
		04BDFDC412E6671700899322 /* SDL_wave.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_wave.h; sourceTree = "<group>"; };
		04BDFDD412E6671700899322 /* SDL_cpuinfo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_cpuinfo.c; sourceTree = "<group>"; };
		04BDFDD612E6671700899322 /* blank_cursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = blank_cursor.h; sourceTree = "<group>"; };
................................................................................
		567E2F1B17C44BB2005F1892 /* SDL_sysfilesystem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDL_sysfilesystem.m; path = ../../src/filesystem/cocoa/SDL_sysfilesystem.m; sourceTree = "<group>"; };
		567E2F2017C44C35005F1892 /* SDL_filesystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_filesystem.h; sourceTree = "<group>"; };
		56A670081856545C0007D20F /* SDL_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_internal.h; path = ../../src/SDL_internal.h; sourceTree = "<group>"; };
		56A6701D185654B40007D20F /* SDL_dynapi_procs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_dynapi_procs.h; path = ../../src/dynapi/SDL_dynapi_procs.h; sourceTree = "<group>"; };
		56A6701E185654B40007D20F /* SDL_dynapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_dynapi.c; path = ../../src/dynapi/SDL_dynapi.c; sourceTree = "<group>"; };
		56A6701F185654B40007D20F /* SDL_dynapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_dynapi.h; path = ../../src/dynapi/SDL_dynapi.h; sourceTree = "<group>"; };
		56A67020185654B40007D20F /* SDL_dynapi_overrides.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_dynapi_overrides.h; path = ../../src/dynapi/SDL_dynapi_overrides.h; sourceTree = "<group>"; };


		A77E6EB3167AB0A90010E40B /* SDL_gamecontroller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_gamecontroller.h; sourceTree = "<group>"; };
		AA0F8490178D5ECC00823F9D /* SDL_systls.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_systls.c; sourceTree = "<group>"; };
		AA628AC8159367B7005138DD /* SDL_rotate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_rotate.c; sourceTree = "<group>"; };
		AA628AC9159367B7005138DD /* SDL_rotate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_rotate.h; sourceTree = "<group>"; };
		AA628ACF159367F2005138DD /* SDL_x11xinput2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_x11xinput2.c; sourceTree = "<group>"; };
		AA628AD0159367F2005138DD /* SDL_x11xinput2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_x11xinput2.h; sourceTree = "<group>"; };
		AA7557C71595D4D800BBD41B /* begin_code.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = begin_code.h; sourceTree = "<group>"; };
................................................................................
		D55A1B80179F262300625D7C /* SDL_cocoamousetap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDL_cocoamousetap.m; sourceTree = "<group>"; };
		DB31407717554B71006C0E22 /* libSDL2.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libSDL2.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
		DB89958518A1A5C50092407C /* SDL_syshaptic_c.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDL_syshaptic_c.h; sourceTree = "<group>"; };
		F59C710300D5CB5801000001 /* ReadMe.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ReadMe.txt; sourceTree = "<group>"; };
		F59C710600D5CB5801000001 /* SDL.info */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SDL.info; sourceTree = "<group>"; };
		F5A2EF3900C6A39A01000001 /* BUGS.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = BUGS.txt; path = ../../BUGS.txt; sourceTree = SOURCE_ROOT; };
		FA73671C19A540EF004122E4 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = /System/Library/Frameworks/CoreVideo.framework; sourceTree = "<absolute>"; };

/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		BECDF6680761BA81005FE872 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FA73671D19A540EF004122E4 /* CoreVideo.framework in Frameworks */,
				007317A20858DECD00B2BC32 /* AudioToolbox.framework in Frameworks */,
				007317A30858DECD00B2BC32 /* AudioUnit.framework in Frameworks */,
				007317A40858DECD00B2BC32 /* Cocoa.framework in Frameworks */,
				007317A50858DECD00B2BC32 /* CoreAudio.framework in Frameworks */,
				007317A60858DECD00B2BC32 /* IOKit.framework in Frameworks */,
				00D0D08410675DD9004B05EF /* CoreFoundation.framework in Frameworks */,
				00D0D0D810675E46004B05EF /* Carbon.framework in Frameworks */,
				00CFA89D106B4BA100758660 /* ForceFeedback.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		BECDF6B10761BA81005FE872 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FA73671E19A54140004122E4 /* CoreVideo.framework in Frameworks */,
				007317A90858DECD00B2BC32 /* AudioToolbox.framework in Frameworks */,
				007317AA0858DECD00B2BC32 /* AudioUnit.framework in Frameworks */,
				007317AB0858DECD00B2BC32 /* Cocoa.framework in Frameworks */,
				007317AC0858DECD00B2BC32 /* CoreAudio.framework in Frameworks */,
				007317AD0858DECD00B2BC32 /* IOKit.framework in Frameworks */,

				007317C30858E15000B2BC32 /* Carbon.framework in Frameworks */,
				DB31408B17554D37006C0E22 /* ForceFeedback.framework in Frameworks */,

			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		DB31406B17554B71006C0E22 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (

				FA73671F19A54144004122E4 /* CoreVideo.framework in Frameworks */,
				DB31406C17554B71006C0E22 /* AudioToolbox.framework in Frameworks */,
				DB31406D17554B71006C0E22 /* AudioUnit.framework in Frameworks */,
				DB31406E17554B71006C0E22 /* Cocoa.framework in Frameworks */,
				DB31406F17554B71006C0E22 /* CoreAudio.framework in Frameworks */,
				DB31407017554B71006C0E22 /* IOKit.framework in Frameworks */,

				DB31407217554B71006C0E22 /* Carbon.framework in Frameworks */,
				DB31408D17554D3C006C0E22 /* ForceFeedback.framework in Frameworks */,

			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		0153844A006D81B07F000001 /* Public Headers */ = {
................................................................................
				04BDFD9312E6671700899322 /* dummy */,
				04BDFD9F12E6671700899322 /* coreaudio */,
				04BDFDB412E6671700899322 /* SDL_audio.c */,
				04BDFDB512E6671700899322 /* SDL_audio_c.h */,
				04BDFDB612E6671700899322 /* SDL_audiocvt.c */,
				04BDFDB712E6671700899322 /* SDL_audiodev.c */,
				04BDFDB812E6671700899322 /* SDL_audiodev_c.h */,
				04BDFDB912E6671700899322 /* SDL_audiomem.h */,
				04BDFDBA12E6671700899322 /* SDL_audiotypecvt.c */,
				04BDFDBB12E6671700899322 /* SDL_mixer.c */,
				04BDFDC212E6671700899322 /* SDL_sysaudio.h */,
				04BDFDC312E6671700899322 /* SDL_wave.c */,
				04BDFDC412E6671700899322 /* SDL_wave.h */,
			);
			name = audio;
................................................................................
			);
			path = dummy;
			sourceTree = "<group>";
		};
		04BDFD9F12E6671700899322 /* coreaudio */ = {
			isa = PBXGroup;
			children = (
				04BDFDA012E6671700899322 /* SDL_coreaudio.c */,
				04BDFDA112E6671700899322 /* SDL_coreaudio.h */,
			);
			path = coreaudio;
			sourceTree = "<group>";
		};
		04BDFDD312E6671700899322 /* cpuinfo */ = {
			isa = PBXGroup;
			children = (
................................................................................
			);
			name = dynapi;
			sourceTree = "<group>";
		};
		BEC562FE0761C0E800A33029 /* Linked Frameworks */ = {
			isa = PBXGroup;
			children = (


				FA73671C19A540EF004122E4 /* CoreVideo.framework */,
				00D0D08310675DD9004B05EF /* CoreFoundation.framework */,
				007317C10858E15000B2BC32 /* Carbon.framework */,
				0073179B0858DECD00B2BC32 /* AudioToolbox.framework */,
				0073179C0858DECD00B2BC32 /* AudioUnit.framework */,
				0073179D0858DECD00B2BC32 /* Cocoa.framework */,
				0073179E0858DECD00B2BC32 /* CoreAudio.framework */,
				0073179F0858DECD00B2BC32 /* IOKit.framework */,
				00CFA89C106B4BA100758660 /* ForceFeedback.framework */,
			);
			name = "Linked Frameworks";
			sourceTree = "<group>";
		};
		F59C70FC00D5CB5801000001 /* pkg-support */ = {
................................................................................
				AA75585A1595D4D800BBD41B /* SDL_version.h in Headers */,
				AA75585C1595D4D800BBD41B /* SDL_video.h in Headers */,
				04BD000912E6671800899322 /* SDL_diskaudio.h in Headers */,
				04BD001112E6671800899322 /* SDL_dummyaudio.h in Headers */,
				04BD001912E6671800899322 /* SDL_coreaudio.h in Headers */,
				04BD002712E6671800899322 /* SDL_audio_c.h in Headers */,
				04BD002A12E6671800899322 /* SDL_audiodev_c.h in Headers */,
				04BD002B12E6671800899322 /* SDL_audiomem.h in Headers */,
				04BD003412E6671800899322 /* SDL_sysaudio.h in Headers */,
				04BD003612E6671800899322 /* SDL_wave.h in Headers */,
				04BD004212E6671800899322 /* blank_cursor.h in Headers */,
				04BD004312E6671800899322 /* default_cursor.h in Headers */,
				04BD004412E6671800899322 /* scancodes_darwin.h in Headers */,
				04BD004512E6671800899322 /* scancodes_linux.h in Headers */,
				04BD004712E6671800899322 /* scancodes_xfree86.h in Headers */,
................................................................................
				04BD022512E6671800899322 /* SDL_diskaudio.h in Headers */,
				56A6700A1856545C0007D20F /* SDL_internal.h in Headers */,
				04BD022D12E6671800899322 /* SDL_dummyaudio.h in Headers */,
				04BD023512E6671800899322 /* SDL_coreaudio.h in Headers */,
				04BD024312E6671800899322 /* SDL_audio_c.h in Headers */,
				04BD024612E6671800899322 /* SDL_audiodev_c.h in Headers */,
				AAC070FD195606770073DCDF /* SDL_opengles2_gl2.h in Headers */,
				04BD024712E6671800899322 /* SDL_audiomem.h in Headers */,
				04BD025012E6671800899322 /* SDL_sysaudio.h in Headers */,
				04BD025212E6671800899322 /* SDL_wave.h in Headers */,
				04BD025D12E6671800899322 /* blank_cursor.h in Headers */,
				04BD025E12E6671800899322 /* default_cursor.h in Headers */,
				04BD025F12E6671800899322 /* scancodes_darwin.h in Headers */,
				04BD026012E6671800899322 /* scancodes_linux.h in Headers */,
				04BD026212E6671800899322 /* scancodes_xfree86.h in Headers */,
................................................................................
				DB313F7417554B71006C0E22 /* SDL_diskaudio.h in Headers */,
				56A6700B1856545C0007D20F /* SDL_internal.h in Headers */,
				DB313F7517554B71006C0E22 /* SDL_dummyaudio.h in Headers */,
				DB313F7617554B71006C0E22 /* SDL_coreaudio.h in Headers */,
				DB313F7717554B71006C0E22 /* SDL_audio_c.h in Headers */,
				DB313F7817554B71006C0E22 /* SDL_audiodev_c.h in Headers */,
				AAC070FE195606770073DCDF /* SDL_opengles2_gl2.h in Headers */,
				DB313F7917554B71006C0E22 /* SDL_audiomem.h in Headers */,
				DB313F7A17554B71006C0E22 /* SDL_sysaudio.h in Headers */,
				DB313F7B17554B71006C0E22 /* SDL_wave.h in Headers */,
				DB313F7C17554B71006C0E22 /* blank_cursor.h in Headers */,
				DB313F7D17554B71006C0E22 /* default_cursor.h in Headers */,
				DB313F7E17554B71006C0E22 /* scancodes_darwin.h in Headers */,
				DB313F7F17554B71006C0E22 /* scancodes_linux.h in Headers */,
				DB313F8017554B71006C0E22 /* scancodes_xfree86.h in Headers */,
................................................................................
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		0867D690FE84028FC02AAC07 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0630;
				TargetAttributes = {
					BECDF5FE0761BA81005FE872 = {
						DevelopmentTeam = EH385AYQ6F;
					};
					BECDF6BB0761BA81005FE872 = {
						DevelopmentTeam = EH385AYQ6F;
					};
................................................................................
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				04BDFFFB12E6671800899322 /* SDL_atomic.c in Sources */,
				04BDFFFC12E6671800899322 /* SDL_spinlock.c in Sources */,
				04BD000812E6671800899322 /* SDL_diskaudio.c in Sources */,
				04BD001012E6671800899322 /* SDL_dummyaudio.c in Sources */,
				04BD001812E6671800899322 /* SDL_coreaudio.c in Sources */,
				04BD002612E6671800899322 /* SDL_audio.c in Sources */,
				04BD002812E6671800899322 /* SDL_audiocvt.c in Sources */,
				04BD002912E6671800899322 /* SDL_audiodev.c in Sources */,
				04BD002C12E6671800899322 /* SDL_audiotypecvt.c in Sources */,
				04BD002D12E6671800899322 /* SDL_mixer.c in Sources */,
				04BD003512E6671800899322 /* SDL_wave.c in Sources */,
				04BD004112E6671800899322 /* SDL_cpuinfo.c in Sources */,
................................................................................
				04BD00A412E6671800899322 /* SDL_iconv.c in Sources */,
				04BD00A512E6671800899322 /* SDL_malloc.c in Sources */,
				04BD00A612E6671800899322 /* SDL_qsort.c in Sources */,
				04BD00A712E6671800899322 /* SDL_stdlib.c in Sources */,
				04BD00A812E6671800899322 /* SDL_string.c in Sources */,
				04BD00BD12E6671800899322 /* SDL_syscond.c in Sources */,
				04BD00BE12E6671800899322 /* SDL_sysmutex.c in Sources */,

				04BD00C012E6671800899322 /* SDL_syssem.c in Sources */,
				04BD00C112E6671800899322 /* SDL_systhread.c in Sources */,
				04BD00CA12E6671800899322 /* SDL_thread.c in Sources */,
				04BD00D712E6671800899322 /* SDL_timer.c in Sources */,
				04BD00D912E6671800899322 /* SDL_systimer.c in Sources */,
				04BD00F412E6671800899322 /* SDL_cocoaclipboard.m in Sources */,
				04BD00F612E6671800899322 /* SDL_cocoaevents.m in Sources */,
................................................................................
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				04BD021712E6671800899322 /* SDL_atomic.c in Sources */,
				04BD021812E6671800899322 /* SDL_spinlock.c in Sources */,
				04BD022412E6671800899322 /* SDL_diskaudio.c in Sources */,
				04BD022C12E6671800899322 /* SDL_dummyaudio.c in Sources */,
				04BD023412E6671800899322 /* SDL_coreaudio.c in Sources */,
				04BD024212E6671800899322 /* SDL_audio.c in Sources */,
				04BD024412E6671800899322 /* SDL_audiocvt.c in Sources */,
				04BD024512E6671800899322 /* SDL_audiodev.c in Sources */,
				04BD024812E6671800899322 /* SDL_audiotypecvt.c in Sources */,
				04BD024912E6671800899322 /* SDL_mixer.c in Sources */,
				04BD025112E6671800899322 /* SDL_wave.c in Sources */,
				04BD025C12E6671800899322 /* SDL_cpuinfo.c in Sources */,
................................................................................
				04BD02BC12E6671800899322 /* SDL.c in Sources */,
				04BD02BD12E6671800899322 /* SDL_getenv.c in Sources */,
				04BD02BE12E6671800899322 /* SDL_iconv.c in Sources */,
				04BD02BF12E6671800899322 /* SDL_malloc.c in Sources */,
				04BD02C012E6671800899322 /* SDL_qsort.c in Sources */,
				04BD02C112E6671800899322 /* SDL_stdlib.c in Sources */,
				04BD02C212E6671800899322 /* SDL_string.c in Sources */,

				04BD02D712E6671800899322 /* SDL_syscond.c in Sources */,
				04BD02D812E6671800899322 /* SDL_sysmutex.c in Sources */,
				04BD02DA12E6671800899322 /* SDL_syssem.c in Sources */,
				04BD02DB12E6671800899322 /* SDL_systhread.c in Sources */,
				04BD02E412E6671800899322 /* SDL_thread.c in Sources */,
				04BD02F112E6671800899322 /* SDL_timer.c in Sources */,
				04BD02F312E6671800899322 /* SDL_systimer.c in Sources */,
................................................................................
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				DB313FFE17554B71006C0E22 /* SDL_atomic.c in Sources */,
				DB313FFF17554B71006C0E22 /* SDL_spinlock.c in Sources */,
				DB31400017554B71006C0E22 /* SDL_diskaudio.c in Sources */,
				DB31400117554B71006C0E22 /* SDL_dummyaudio.c in Sources */,
				DB31400217554B71006C0E22 /* SDL_coreaudio.c in Sources */,
				DB31400317554B71006C0E22 /* SDL_audio.c in Sources */,
				DB31400417554B71006C0E22 /* SDL_audiocvt.c in Sources */,
				DB31400517554B71006C0E22 /* SDL_audiodev.c in Sources */,
				DB31400617554B71006C0E22 /* SDL_audiotypecvt.c in Sources */,
				DB31400717554B71006C0E22 /* SDL_mixer.c in Sources */,
				DB31400817554B71006C0E22 /* SDL_wave.c in Sources */,
				DB31400917554B71006C0E22 /* SDL_cpuinfo.c in Sources */,
................................................................................
				DB31402017554B71006C0E22 /* SDL.c in Sources */,
				DB31402117554B71006C0E22 /* SDL_getenv.c in Sources */,
				DB31402217554B71006C0E22 /* SDL_iconv.c in Sources */,
				DB31402317554B71006C0E22 /* SDL_malloc.c in Sources */,
				DB31402417554B71006C0E22 /* SDL_qsort.c in Sources */,
				DB31402517554B71006C0E22 /* SDL_stdlib.c in Sources */,
				DB31402617554B71006C0E22 /* SDL_string.c in Sources */,

				DB31402717554B71006C0E22 /* SDL_syscond.c in Sources */,
				DB31402817554B71006C0E22 /* SDL_sysmutex.c in Sources */,
				DB31402917554B71006C0E22 /* SDL_syssem.c in Sources */,
				DB31402A17554B71006C0E22 /* SDL_systhread.c in Sources */,
				DB31402B17554B71006C0E22 /* SDL_thread.c in Sources */,
				DB31402C17554B71006C0E22 /* SDL_timer.c in Sources */,
				DB31402D17554B71006C0E22 /* SDL_systimer.c in Sources */,
................................................................................
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		00CFA621106A567900758660 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {









				DEPLOYMENT_POSTPROCESSING = YES;

				GCC_ALTIVEC_EXTENSIONS = YES;
				GCC_AUTO_VECTORIZATION = YES;
				GCC_ENABLE_SSE3_EXTENSIONS = YES;
				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;

				GCC_OPTIMIZATION_LEVEL = 3;
				GCC_SYMBOLS_PRIVATE_EXTERN = YES;






				MACOSX_DEPLOYMENT_TARGET = 10.5;
				SDKROOT = macosx;
				STRIP_STYLE = "non-global";
			};
			name = Release;
		};
		00CFA622106A567900758660 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {

				CLANG_LINK_OBJC_RUNTIME = NO;
				COMBINE_HIDPI_IMAGES = YES;
				DYLIB_COMPATIBILITY_VERSION = 1.0.0;
				DYLIB_CURRENT_VERSION = 5.0.0;
				FRAMEWORK_VERSION = A;
				HEADER_SEARCH_PATHS = /usr/X11R6/include;
				INFOPLIST_FILE = "Info-Framework.plist";
				INSTALL_PATH = "@rpath";
				OTHER_LDFLAGS = "-liconv";

				PRODUCT_NAME = SDL2;
				PROVISIONING_PROFILE = "";
				WRAPPER_EXTENSION = framework;
			};
			name = Release;
		};
		00CFA623106A567900758660 /* Release */ = {
................................................................................
				PROVISIONING_PROFILE = "";
			};
			name = Release;
		};
		00CFA627106A568900758660 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {











				GCC_ALTIVEC_EXTENSIONS = YES;
				GCC_AUTO_VECTORIZATION = YES;
				GCC_ENABLE_SSE3_EXTENSIONS = YES;

				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_SYMBOLS_PRIVATE_EXTERN = YES;






				MACOSX_DEPLOYMENT_TARGET = 10.5;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = macosx;
				STRIP_INSTALLED_PRODUCT = NO;
			};
			name = Debug;
		};
		00CFA628106A568900758660 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {

				CLANG_LINK_OBJC_RUNTIME = NO;
				COMBINE_HIDPI_IMAGES = YES;
				DYLIB_COMPATIBILITY_VERSION = 1.0.0;
				DYLIB_CURRENT_VERSION = 5.0.0;
				FRAMEWORK_VERSION = A;
				HEADER_SEARCH_PATHS = /usr/X11R6/include;
				INFOPLIST_FILE = "Info-Framework.plist";
				INSTALL_PATH = "@rpath";
				OTHER_LDFLAGS = "-liconv";

				PRODUCT_NAME = SDL2;
				PROVISIONING_PROFILE = "";
				WRAPPER_EXTENSION = framework;
			};
			name = Debug;
		};
		00CFA629106A568900758660 /* Debug */ = {







<
<

<

<
<

<







 







<






<







 







<






<







 







>
>
>
>







 







>
>
>
>
>
>







 







<







 







<







 







<
<

<







>













<
<

<







 







<






<







 







>
>







 







>







|
|
|

<











>

<
<

<

>


>







>

<
<

<

>


>







 







<







 







|
|







 







>
>



<
<

<







 







<







 







<







 







<







 







|







 







<







 







>







 







<







 







>







 







<







 







>







 







>
>
>
>
>
>
>
>
>

>




>


>
>
>
>
>
>
|








>



|





>







 







>
>
>
>
>
>
>
>
>
>
>



>


>
>
>
>
>
>
|









>



|





>







3
4
5
6
7
8
9


10

11


12

13
14
15
16
17
18
19
..
47
48
49
50
51
52
53

54
55
56
57
58
59

60
61
62
63
64
65
66
...
199
200
201
202
203
204
205

206
207
208
209
210
211

212
213
214
215
216
217
218
...
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
...
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
...
559
560
561
562
563
564
565

566
567
568
569
570
571
572
...
693
694
695
696
697
698
699

700
701
702
703
704
705
706
...
796
797
798
799
800
801
802


803

804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824


825

826
827
828
829
830
831
832
...
846
847
848
849
850
851
852

853
854
855
856
857
858

859
860
861
862
863
864
865
....
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
....
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113

1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126


1127

1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141


1142

1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
....
1296
1297
1298
1299
1300
1301
1302

1303
1304
1305
1306
1307
1308
1309
....
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
....
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736


1737

1738
1739
1740
1741
1742
1743
1744
....
1827
1828
1829
1830
1831
1832
1833

1834
1835
1836
1837
1838
1839
1840
....
1982
1983
1984
1985
1986
1987
1988

1989
1990
1991
1992
1993
1994
1995
....
2136
2137
2138
2139
2140
2141
2142

2143
2144
2145
2146
2147
2148
2149
....
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
....
2388
2389
2390
2391
2392
2393
2394

2395
2396
2397
2398
2399
2400
2401
....
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
....
2507
2508
2509
2510
2511
2512
2513

2514
2515
2516
2517
2518
2519
2520
....
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
....
2626
2627
2628
2629
2630
2631
2632

2633
2634
2635
2636
2637
2638
2639
....
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
....
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
....
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 46;
	objects = {

/* Begin PBXBuildFile section */


		007317A40858DECD00B2BC32 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179D0858DECD00B2BC32 /* Cocoa.framework */; };

		007317A60858DECD00B2BC32 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179F0858DECD00B2BC32 /* IOKit.framework */; };


		007317AB0858DECD00B2BC32 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179D0858DECD00B2BC32 /* Cocoa.framework */; };

		007317AD0858DECD00B2BC32 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179F0858DECD00B2BC32 /* IOKit.framework */; };
		007317C30858E15000B2BC32 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007317C10858E15000B2BC32 /* Carbon.framework */; };
		00CFA89D106B4BA100758660 /* ForceFeedback.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00CFA89C106B4BA100758660 /* ForceFeedback.framework */; };
		00D0D08410675DD9004B05EF /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00D0D08310675DD9004B05EF /* CoreFoundation.framework */; };
		00D0D0D810675E46004B05EF /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007317C10858E15000B2BC32 /* Carbon.framework */; };
		04043BBB12FEB1BE0076DB1F /* SDL_glfuncs.h in Headers */ = {isa = PBXBuildFile; fileRef = 04043BBA12FEB1BE0076DB1F /* SDL_glfuncs.h */; };
		04043BBC12FEB1BE0076DB1F /* SDL_glfuncs.h in Headers */ = {isa = PBXBuildFile; fileRef = 04043BBA12FEB1BE0076DB1F /* SDL_glfuncs.h */; };
................................................................................
		0442EC6012FE1C75004C9285 /* SDL_hints.c in Sources */ = {isa = PBXBuildFile; fileRef = 0442EC5E12FE1C75004C9285 /* SDL_hints.c */; };
		04BAC0C81300C2160055DE28 /* SDL_log.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BAC0C71300C2160055DE28 /* SDL_log.c */; };
		04BAC0C91300C2160055DE28 /* SDL_log.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BAC0C71300C2160055DE28 /* SDL_log.c */; };
		04BD000812E6671800899322 /* SDL_diskaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD8812E6671700899322 /* SDL_diskaudio.c */; };
		04BD000912E6671800899322 /* SDL_diskaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFD8912E6671700899322 /* SDL_diskaudio.h */; };
		04BD001012E6671800899322 /* SDL_dummyaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD9412E6671700899322 /* SDL_dummyaudio.c */; };
		04BD001112E6671800899322 /* SDL_dummyaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFD9512E6671700899322 /* SDL_dummyaudio.h */; };

		04BD001912E6671800899322 /* SDL_coreaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDA112E6671700899322 /* SDL_coreaudio.h */; };
		04BD002612E6671800899322 /* SDL_audio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDB412E6671700899322 /* SDL_audio.c */; };
		04BD002712E6671800899322 /* SDL_audio_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDB512E6671700899322 /* SDL_audio_c.h */; };
		04BD002812E6671800899322 /* SDL_audiocvt.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDB612E6671700899322 /* SDL_audiocvt.c */; };
		04BD002912E6671800899322 /* SDL_audiodev.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDB712E6671700899322 /* SDL_audiodev.c */; };
		04BD002A12E6671800899322 /* SDL_audiodev_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDB812E6671700899322 /* SDL_audiodev_c.h */; };

		04BD002C12E6671800899322 /* SDL_audiotypecvt.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDBA12E6671700899322 /* SDL_audiotypecvt.c */; };
		04BD002D12E6671800899322 /* SDL_mixer.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDBB12E6671700899322 /* SDL_mixer.c */; };
		04BD003412E6671800899322 /* SDL_sysaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDC212E6671700899322 /* SDL_sysaudio.h */; };
		04BD003512E6671800899322 /* SDL_wave.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDC312E6671700899322 /* SDL_wave.c */; };
		04BD003612E6671800899322 /* SDL_wave.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDC412E6671700899322 /* SDL_wave.h */; };
		04BD004112E6671800899322 /* SDL_cpuinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDD412E6671700899322 /* SDL_cpuinfo.c */; };
		04BD004212E6671800899322 /* blank_cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDD612E6671700899322 /* blank_cursor.h */; };
................................................................................
		04BD01F912E6671800899322 /* SDL_x11window.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFFD612E6671800899322 /* SDL_x11window.h */; };
		04BD021712E6671800899322 /* SDL_atomic.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD7412E6671700899322 /* SDL_atomic.c */; };
		04BD021812E6671800899322 /* SDL_spinlock.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD7512E6671700899322 /* SDL_spinlock.c */; };
		04BD022412E6671800899322 /* SDL_diskaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD8812E6671700899322 /* SDL_diskaudio.c */; };
		04BD022512E6671800899322 /* SDL_diskaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFD8912E6671700899322 /* SDL_diskaudio.h */; };
		04BD022C12E6671800899322 /* SDL_dummyaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD9412E6671700899322 /* SDL_dummyaudio.c */; };
		04BD022D12E6671800899322 /* SDL_dummyaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFD9512E6671700899322 /* SDL_dummyaudio.h */; };

		04BD023512E6671800899322 /* SDL_coreaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDA112E6671700899322 /* SDL_coreaudio.h */; };
		04BD024212E6671800899322 /* SDL_audio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDB412E6671700899322 /* SDL_audio.c */; };
		04BD024312E6671800899322 /* SDL_audio_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDB512E6671700899322 /* SDL_audio_c.h */; };
		04BD024412E6671800899322 /* SDL_audiocvt.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDB612E6671700899322 /* SDL_audiocvt.c */; };
		04BD024512E6671800899322 /* SDL_audiodev.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDB712E6671700899322 /* SDL_audiodev.c */; };
		04BD024612E6671800899322 /* SDL_audiodev_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDB812E6671700899322 /* SDL_audiodev_c.h */; };

		04BD024812E6671800899322 /* SDL_audiotypecvt.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDBA12E6671700899322 /* SDL_audiotypecvt.c */; };
		04BD024912E6671800899322 /* SDL_mixer.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDBB12E6671700899322 /* SDL_mixer.c */; };
		04BD025012E6671800899322 /* SDL_sysaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDC212E6671700899322 /* SDL_sysaudio.h */; };
		04BD025112E6671800899322 /* SDL_wave.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDC312E6671700899322 /* SDL_wave.c */; };
		04BD025212E6671800899322 /* SDL_wave.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDC412E6671700899322 /* SDL_wave.h */; };
		04BD025C12E6671800899322 /* SDL_cpuinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDD412E6671700899322 /* SDL_cpuinfo.c */; };
		04BD025D12E6671800899322 /* blank_cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDD612E6671700899322 /* blank_cursor.h */; };
................................................................................
		04F7805912FB74A200FC43C0 /* SDL_blendpoint.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7804112FB74A200FC43C0 /* SDL_blendpoint.c */; };
		04F7805A12FB74A200FC43C0 /* SDL_blendpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F7804212FB74A200FC43C0 /* SDL_blendpoint.h */; };
		04F7805B12FB74A200FC43C0 /* SDL_draw.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F7804312FB74A200FC43C0 /* SDL_draw.h */; };
		04F7805C12FB74A200FC43C0 /* SDL_drawline.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7804412FB74A200FC43C0 /* SDL_drawline.c */; };
		04F7805D12FB74A200FC43C0 /* SDL_drawline.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F7804512FB74A200FC43C0 /* SDL_drawline.h */; };
		04F7805E12FB74A200FC43C0 /* SDL_drawpoint.c in Sources */ = {isa = PBXBuildFile; fileRef = 04F7804612FB74A200FC43C0 /* SDL_drawpoint.c */; };
		04F7805F12FB74A200FC43C0 /* SDL_drawpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = 04F7804712FB74A200FC43C0 /* SDL_drawpoint.h */; };
		562C4AE91D8F496200AF9EBE /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7381E931D8B69C300B177DD /* AudioToolbox.framework */; };
		562C4AEA1D8F496300AF9EBE /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7381E931D8B69C300B177DD /* AudioToolbox.framework */; };
		562D3C7C1D8F4933003FEEE6 /* SDL_coreaudio.m in Sources */ = {isa = PBXBuildFile; fileRef = FABA34C61D8B5DB100915323 /* SDL_coreaudio.m */; };
		562D3C7D1D8F4933003FEEE6 /* SDL_coreaudio.m in Sources */ = {isa = PBXBuildFile; fileRef = FABA34C61D8B5DB100915323 /* SDL_coreaudio.m */; };
		566CDE8F148F0AC200C5A9BB /* SDL_dropevents_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 566CDE8D148F0AC200C5A9BB /* SDL_dropevents_c.h */; };
		566CDE90148F0AC200C5A9BB /* SDL_dropevents.c in Sources */ = {isa = PBXBuildFile; fileRef = 566CDE8E148F0AC200C5A9BB /* SDL_dropevents.c */; };
		567E2F1C17C44BB2005F1892 /* SDL_sysfilesystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 567E2F1B17C44BB2005F1892 /* SDL_sysfilesystem.m */; };
		567E2F2117C44C35005F1892 /* SDL_filesystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 567E2F2017C44C35005F1892 /* SDL_filesystem.h */; settings = {ATTRIBUTES = (Public, ); }; };
		56A670091856545C0007D20F /* SDL_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A670081856545C0007D20F /* SDL_internal.h */; };
		56A6700A1856545C0007D20F /* SDL_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A670081856545C0007D20F /* SDL_internal.h */; };
		56A6700B1856545C0007D20F /* SDL_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A670081856545C0007D20F /* SDL_internal.h */; };
................................................................................
		56A67026185654B40007D20F /* SDL_dynapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 56A6701E185654B40007D20F /* SDL_dynapi.c */; };
		56A67027185654B40007D20F /* SDL_dynapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A6701F185654B40007D20F /* SDL_dynapi.h */; };
		56A67028185654B40007D20F /* SDL_dynapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A6701F185654B40007D20F /* SDL_dynapi.h */; };
		56A67029185654B40007D20F /* SDL_dynapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A6701F185654B40007D20F /* SDL_dynapi.h */; };
		56A6702A185654B40007D20F /* SDL_dynapi_overrides.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A67020185654B40007D20F /* SDL_dynapi_overrides.h */; };
		56A6702B185654B40007D20F /* SDL_dynapi_overrides.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A67020185654B40007D20F /* SDL_dynapi_overrides.h */; };
		56A6702C185654B40007D20F /* SDL_dynapi_overrides.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A67020185654B40007D20F /* SDL_dynapi_overrides.h */; };
		56C5237E1D8F4985001F2F30 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7381E951D8B69D600B177DD /* CoreAudio.framework */; };
		56C5237F1D8F4985001F2F30 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7381E951D8B69D600B177DD /* CoreAudio.framework */; };
		56C523801D8F498B001F2F30 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00D0D08310675DD9004B05EF /* CoreFoundation.framework */; };
		56C523811D8F498C001F2F30 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00D0D08310675DD9004B05EF /* CoreFoundation.framework */; };
		A7381E961D8B69D600B177DD /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7381E951D8B69D600B177DD /* CoreAudio.framework */; };
		A7381E971D8B6A0300B177DD /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7381E931D8B69C300B177DD /* AudioToolbox.framework */; };
		A77E6EB4167AB0A90010E40B /* SDL_gamecontroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A77E6EB3167AB0A90010E40B /* SDL_gamecontroller.h */; settings = {ATTRIBUTES = (Public, ); }; };
		A77E6EB5167AB0A90010E40B /* SDL_gamecontroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A77E6EB3167AB0A90010E40B /* SDL_gamecontroller.h */; settings = {ATTRIBUTES = (Public, ); }; };
		AA0AD09D16648D1700CE5896 /* SDL_gamecontroller.c in Sources */ = {isa = PBXBuildFile; fileRef = BBFC088A164C6514003E6A99 /* SDL_gamecontroller.c */; };
		AA0F8491178D5ECC00823F9D /* SDL_systls.c in Sources */ = {isa = PBXBuildFile; fileRef = AA0F8490178D5ECC00823F9D /* SDL_systls.c */; };
		AA0F8492178D5ECC00823F9D /* SDL_systls.c in Sources */ = {isa = PBXBuildFile; fileRef = AA0F8490178D5ECC00823F9D /* SDL_systls.c */; };
		AA0F8493178D5ECC00823F9D /* SDL_systls.c in Sources */ = {isa = PBXBuildFile; fileRef = AA0F8490178D5ECC00823F9D /* SDL_systls.c */; };
		AA41F88014B8F1F500993C4F /* SDL_dropevents.c in Sources */ = {isa = PBXBuildFile; fileRef = 566CDE8E148F0AC200C5A9BB /* SDL_dropevents.c */; };
................................................................................
		DB0F490B17CA57ED008798C5 /* SDL_filesystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 567E2F2017C44C35005F1892 /* SDL_filesystem.h */; settings = {ATTRIBUTES = (Public, ); }; };
		DB0F490C17CA57ED008798C5 /* SDL_filesystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 567E2F2017C44C35005F1892 /* SDL_filesystem.h */; settings = {ATTRIBUTES = (Public, ); }; };
		DB313F7417554B71006C0E22 /* SDL_diskaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFD8912E6671700899322 /* SDL_diskaudio.h */; };
		DB313F7517554B71006C0E22 /* SDL_dummyaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFD9512E6671700899322 /* SDL_dummyaudio.h */; };
		DB313F7617554B71006C0E22 /* SDL_coreaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDA112E6671700899322 /* SDL_coreaudio.h */; };
		DB313F7717554B71006C0E22 /* SDL_audio_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDB512E6671700899322 /* SDL_audio_c.h */; };
		DB313F7817554B71006C0E22 /* SDL_audiodev_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDB812E6671700899322 /* SDL_audiodev_c.h */; };

		DB313F7A17554B71006C0E22 /* SDL_sysaudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDC212E6671700899322 /* SDL_sysaudio.h */; };
		DB313F7B17554B71006C0E22 /* SDL_wave.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDC412E6671700899322 /* SDL_wave.h */; };
		DB313F7C17554B71006C0E22 /* blank_cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDD612E6671700899322 /* blank_cursor.h */; };
		DB313F7D17554B71006C0E22 /* default_cursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDD712E6671700899322 /* default_cursor.h */; };
		DB313F7E17554B71006C0E22 /* scancodes_darwin.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDD812E6671700899322 /* scancodes_darwin.h */; };
		DB313F7F17554B71006C0E22 /* scancodes_linux.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDD912E6671700899322 /* scancodes_linux.h */; };
		DB313F8017554B71006C0E22 /* scancodes_xfree86.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BDFDDB12E6671700899322 /* scancodes_xfree86.h */; };
................................................................................
		DB313FFA17554B71006C0E22 /* SDL_cocoamessagebox.h in Headers */ = {isa = PBXBuildFile; fileRef = AABCC38B164063D200AB8930 /* SDL_cocoamessagebox.h */; };
		DB313FFB17554B71006C0E22 /* SDL_gamecontroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A77E6EB3167AB0A90010E40B /* SDL_gamecontroller.h */; settings = {ATTRIBUTES = (Public, ); }; };
		DB313FFC17554B71006C0E22 /* SDL_bits.h in Headers */ = {isa = PBXBuildFile; fileRef = AADA5B8616CCAB3000107CF7 /* SDL_bits.h */; settings = {ATTRIBUTES = (Public, ); }; };
		DB313FFE17554B71006C0E22 /* SDL_atomic.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD7412E6671700899322 /* SDL_atomic.c */; };
		DB313FFF17554B71006C0E22 /* SDL_spinlock.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD7512E6671700899322 /* SDL_spinlock.c */; };
		DB31400017554B71006C0E22 /* SDL_diskaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD8812E6671700899322 /* SDL_diskaudio.c */; };
		DB31400117554B71006C0E22 /* SDL_dummyaudio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFD9412E6671700899322 /* SDL_dummyaudio.c */; };

		DB31400317554B71006C0E22 /* SDL_audio.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDB412E6671700899322 /* SDL_audio.c */; };
		DB31400417554B71006C0E22 /* SDL_audiocvt.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDB612E6671700899322 /* SDL_audiocvt.c */; };
		DB31400517554B71006C0E22 /* SDL_audiodev.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDB712E6671700899322 /* SDL_audiodev.c */; };
		DB31400617554B71006C0E22 /* SDL_audiotypecvt.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDBA12E6671700899322 /* SDL_audiotypecvt.c */; };
		DB31400717554B71006C0E22 /* SDL_mixer.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDBB12E6671700899322 /* SDL_mixer.c */; };
		DB31400817554B71006C0E22 /* SDL_wave.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDC312E6671700899322 /* SDL_wave.c */; };
		DB31400917554B71006C0E22 /* SDL_cpuinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BDFDD412E6671700899322 /* SDL_cpuinfo.c */; };
................................................................................
		DB31406417554B71006C0E22 /* SDL_hints.c in Sources */ = {isa = PBXBuildFile; fileRef = 0442EC5E12FE1C75004C9285 /* SDL_hints.c */; };
		DB31406517554B71006C0E22 /* SDL_log.c in Sources */ = {isa = PBXBuildFile; fileRef = 04BAC0C71300C2160055DE28 /* SDL_log.c */; };
		DB31406617554B71006C0E22 /* SDL_shaders_gl.c in Sources */ = {isa = PBXBuildFile; fileRef = 0435673C1303160F00BA5428 /* SDL_shaders_gl.c */; };
		DB31406717554B71006C0E22 /* SDL_rotate.c in Sources */ = {isa = PBXBuildFile; fileRef = AA628AC8159367B7005138DD /* SDL_rotate.c */; };
		DB31406817554B71006C0E22 /* SDL_x11xinput2.c in Sources */ = {isa = PBXBuildFile; fileRef = AA628ACF159367F2005138DD /* SDL_x11xinput2.c */; };
		DB31406917554B71006C0E22 /* SDL_x11messagebox.c in Sources */ = {isa = PBXBuildFile; fileRef = AA9E4092163BE51E007A2AD0 /* SDL_x11messagebox.c */; };
		DB31406A17554B71006C0E22 /* SDL_cocoamessagebox.m in Sources */ = {isa = PBXBuildFile; fileRef = AABCC38C164063D200AB8930 /* SDL_cocoamessagebox.m */; };


		DB31406E17554B71006C0E22 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179D0858DECD00B2BC32 /* Cocoa.framework */; };

		DB31407017554B71006C0E22 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0073179F0858DECD00B2BC32 /* IOKit.framework */; };
		DB31407217554B71006C0E22 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007317C10858E15000B2BC32 /* Carbon.framework */; };
		DB31408B17554D37006C0E22 /* ForceFeedback.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00CFA89C106B4BA100758660 /* ForceFeedback.framework */; };
		DB31408D17554D3C006C0E22 /* ForceFeedback.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00CFA89C106B4BA100758660 /* ForceFeedback.framework */; };
		FA73671D19A540EF004122E4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA73671C19A540EF004122E4 /* CoreVideo.framework */; };
		FA73671E19A54140004122E4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA73671C19A540EF004122E4 /* CoreVideo.framework */; };
		FA73671F19A54144004122E4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FA73671C19A540EF004122E4 /* CoreVideo.framework */; };
		FABA34C71D8B5DB100915323 /* SDL_coreaudio.m in Sources */ = {isa = PBXBuildFile; fileRef = FABA34C61D8B5DB100915323 /* SDL_coreaudio.m */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		BECDF6C50761BA81005FE872 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = BECDF5FE0761BA81005FE872;
			remoteInfo = "Framework (Upgraded)";
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */


		0073179D0858DECD00B2BC32 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };

		0073179F0858DECD00B2BC32 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
		007317C10858E15000B2BC32 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
		00794D3F09D0C461003FC8A1 /* License.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = License.txt; sourceTree = "<group>"; };
		00CFA89C106B4BA100758660 /* ForceFeedback.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ForceFeedback.framework; path = /System/Library/Frameworks/ForceFeedback.framework; sourceTree = "<absolute>"; };
		00D0D08310675DD9004B05EF /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
		04043BBA12FEB1BE0076DB1F /* SDL_glfuncs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_glfuncs.h; sourceTree = "<group>"; };
		041B2C9E12FA0D680087D585 /* SDL_render.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_render.c; sourceTree = "<group>"; };
................................................................................
		04BAC0C71300C2160055DE28 /* SDL_log.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_log.c; path = ../../src/SDL_log.c; sourceTree = SOURCE_ROOT; };
		04BDFD7412E6671700899322 /* SDL_atomic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_atomic.c; sourceTree = "<group>"; };
		04BDFD7512E6671700899322 /* SDL_spinlock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_spinlock.c; sourceTree = "<group>"; };
		04BDFD8812E6671700899322 /* SDL_diskaudio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_diskaudio.c; sourceTree = "<group>"; };
		04BDFD8912E6671700899322 /* SDL_diskaudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_diskaudio.h; sourceTree = "<group>"; };
		04BDFD9412E6671700899322 /* SDL_dummyaudio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_dummyaudio.c; sourceTree = "<group>"; };
		04BDFD9512E6671700899322 /* SDL_dummyaudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_dummyaudio.h; sourceTree = "<group>"; };

		04BDFDA112E6671700899322 /* SDL_coreaudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_coreaudio.h; sourceTree = "<group>"; };
		04BDFDB412E6671700899322 /* SDL_audio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_audio.c; sourceTree = "<group>"; };
		04BDFDB512E6671700899322 /* SDL_audio_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_audio_c.h; sourceTree = "<group>"; };
		04BDFDB612E6671700899322 /* SDL_audiocvt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_audiocvt.c; sourceTree = "<group>"; };
		04BDFDB712E6671700899322 /* SDL_audiodev.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_audiodev.c; sourceTree = "<group>"; };
		04BDFDB812E6671700899322 /* SDL_audiodev_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_audiodev_c.h; sourceTree = "<group>"; };

		04BDFDBA12E6671700899322 /* SDL_audiotypecvt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_audiotypecvt.c; sourceTree = "<group>"; };
		04BDFDBB12E6671700899322 /* SDL_mixer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_mixer.c; sourceTree = "<group>"; };
		04BDFDC212E6671700899322 /* SDL_sysaudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_sysaudio.h; sourceTree = "<group>"; };
		04BDFDC312E6671700899322 /* SDL_wave.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_wave.c; sourceTree = "<group>"; };
		04BDFDC412E6671700899322 /* SDL_wave.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_wave.h; sourceTree = "<group>"; };
		04BDFDD412E6671700899322 /* SDL_cpuinfo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_cpuinfo.c; sourceTree = "<group>"; };
		04BDFDD612E6671700899322 /* blank_cursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = blank_cursor.h; sourceTree = "<group>"; };
................................................................................
		567E2F1B17C44BB2005F1892 /* SDL_sysfilesystem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDL_sysfilesystem.m; path = ../../src/filesystem/cocoa/SDL_sysfilesystem.m; sourceTree = "<group>"; };
		567E2F2017C44C35005F1892 /* SDL_filesystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_filesystem.h; sourceTree = "<group>"; };
		56A670081856545C0007D20F /* SDL_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_internal.h; path = ../../src/SDL_internal.h; sourceTree = "<group>"; };
		56A6701D185654B40007D20F /* SDL_dynapi_procs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_dynapi_procs.h; path = ../../src/dynapi/SDL_dynapi_procs.h; sourceTree = "<group>"; };
		56A6701E185654B40007D20F /* SDL_dynapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDL_dynapi.c; path = ../../src/dynapi/SDL_dynapi.c; sourceTree = "<group>"; };
		56A6701F185654B40007D20F /* SDL_dynapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_dynapi.h; path = ../../src/dynapi/SDL_dynapi.h; sourceTree = "<group>"; };
		56A67020185654B40007D20F /* SDL_dynapi_overrides.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDL_dynapi_overrides.h; path = ../../src/dynapi/SDL_dynapi_overrides.h; sourceTree = "<group>"; };
		A7381E931D8B69C300B177DD /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
		A7381E951D8B69D600B177DD /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
		A77E6EB3167AB0A90010E40B /* SDL_gamecontroller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_gamecontroller.h; sourceTree = "<group>"; };
		AA0F8490178D5ECC00823F9D /* SDL_systls.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_systls.c; sourceTree = "<group>"; };
		AA628AC8159367B7005138DD /* SDL_rotate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_rotate.c; sourceTree = "<group>"; };
		AA628AC9159367B7005138DD /* SDL_rotate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_rotate.h; sourceTree = "<group>"; };
		AA628ACF159367F2005138DD /* SDL_x11xinput2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_x11xinput2.c; sourceTree = "<group>"; };
		AA628AD0159367F2005138DD /* SDL_x11xinput2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_x11xinput2.h; sourceTree = "<group>"; };
		AA7557C71595D4D800BBD41B /* begin_code.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = begin_code.h; sourceTree = "<group>"; };
................................................................................
		D55A1B80179F262300625D7C /* SDL_cocoamousetap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDL_cocoamousetap.m; sourceTree = "<group>"; };
		DB31407717554B71006C0E22 /* libSDL2.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libSDL2.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
		DB89958518A1A5C50092407C /* SDL_syshaptic_c.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDL_syshaptic_c.h; sourceTree = "<group>"; };
		F59C710300D5CB5801000001 /* ReadMe.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ReadMe.txt; sourceTree = "<group>"; };
		F59C710600D5CB5801000001 /* SDL.info */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SDL.info; sourceTree = "<group>"; };
		F5A2EF3900C6A39A01000001 /* BUGS.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = BUGS.txt; path = ../../BUGS.txt; sourceTree = SOURCE_ROOT; };
		FA73671C19A540EF004122E4 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = /System/Library/Frameworks/CoreVideo.framework; sourceTree = "<absolute>"; };
		FABA34C61D8B5DB100915323 /* SDL_coreaudio.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDL_coreaudio.m; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		BECDF6680761BA81005FE872 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A7381E971D8B6A0300B177DD /* AudioToolbox.framework in Frameworks */,
				A7381E961D8B69D600B177DD /* CoreAudio.framework in Frameworks */,
				FA73671D19A540EF004122E4 /* CoreVideo.framework in Frameworks */,
				007317A40858DECD00B2BC32 /* Cocoa.framework in Frameworks */,

				007317A60858DECD00B2BC32 /* IOKit.framework in Frameworks */,
				00D0D08410675DD9004B05EF /* CoreFoundation.framework in Frameworks */,
				00D0D0D810675E46004B05EF /* Carbon.framework in Frameworks */,
				00CFA89D106B4BA100758660 /* ForceFeedback.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		BECDF6B10761BA81005FE872 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				56C5237E1D8F4985001F2F30 /* CoreAudio.framework in Frameworks */,
				FA73671E19A54140004122E4 /* CoreVideo.framework in Frameworks */,


				007317AB0858DECD00B2BC32 /* Cocoa.framework in Frameworks */,

				007317AD0858DECD00B2BC32 /* IOKit.framework in Frameworks */,
				56C523801D8F498B001F2F30 /* CoreFoundation.framework in Frameworks */,
				007317C30858E15000B2BC32 /* Carbon.framework in Frameworks */,
				DB31408B17554D37006C0E22 /* ForceFeedback.framework in Frameworks */,
				562C4AE91D8F496200AF9EBE /* AudioToolbox.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		DB31406B17554B71006C0E22 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				56C5237F1D8F4985001F2F30 /* CoreAudio.framework in Frameworks */,
				FA73671F19A54144004122E4 /* CoreVideo.framework in Frameworks */,


				DB31406E17554B71006C0E22 /* Cocoa.framework in Frameworks */,

				DB31407017554B71006C0E22 /* IOKit.framework in Frameworks */,
				56C523811D8F498C001F2F30 /* CoreFoundation.framework in Frameworks */,
				DB31407217554B71006C0E22 /* Carbon.framework in Frameworks */,
				DB31408D17554D3C006C0E22 /* ForceFeedback.framework in Frameworks */,
				562C4AEA1D8F496300AF9EBE /* AudioToolbox.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		0153844A006D81B07F000001 /* Public Headers */ = {
................................................................................
				04BDFD9312E6671700899322 /* dummy */,
				04BDFD9F12E6671700899322 /* coreaudio */,
				04BDFDB412E6671700899322 /* SDL_audio.c */,
				04BDFDB512E6671700899322 /* SDL_audio_c.h */,
				04BDFDB612E6671700899322 /* SDL_audiocvt.c */,
				04BDFDB712E6671700899322 /* SDL_audiodev.c */,
				04BDFDB812E6671700899322 /* SDL_audiodev_c.h */,

				04BDFDBA12E6671700899322 /* SDL_audiotypecvt.c */,
				04BDFDBB12E6671700899322 /* SDL_mixer.c */,
				04BDFDC212E6671700899322 /* SDL_sysaudio.h */,
				04BDFDC312E6671700899322 /* SDL_wave.c */,
				04BDFDC412E6671700899322 /* SDL_wave.h */,
			);
			name = audio;
................................................................................
			);
			path = dummy;
			sourceTree = "<group>";
		};
		04BDFD9F12E6671700899322 /* coreaudio */ = {
			isa = PBXGroup;
			children = (
				04BDFDA112E6671700899322 /* SDL_coreaudio.h */,
				FABA34C61D8B5DB100915323 /* SDL_coreaudio.m */,
			);
			path = coreaudio;
			sourceTree = "<group>";
		};
		04BDFDD312E6671700899322 /* cpuinfo */ = {
			isa = PBXGroup;
			children = (
................................................................................
			);
			name = dynapi;
			sourceTree = "<group>";
		};
		BEC562FE0761C0E800A33029 /* Linked Frameworks */ = {
			isa = PBXGroup;
			children = (
				A7381E931D8B69C300B177DD /* AudioToolbox.framework */,
				A7381E951D8B69D600B177DD /* CoreAudio.framework */,
				FA73671C19A540EF004122E4 /* CoreVideo.framework */,
				00D0D08310675DD9004B05EF /* CoreFoundation.framework */,
				007317C10858E15000B2BC32 /* Carbon.framework */,


				0073179D0858DECD00B2BC32 /* Cocoa.framework */,

				0073179F0858DECD00B2BC32 /* IOKit.framework */,
				00CFA89C106B4BA100758660 /* ForceFeedback.framework */,
			);
			name = "Linked Frameworks";
			sourceTree = "<group>";
		};
		F59C70FC00D5CB5801000001 /* pkg-support */ = {
................................................................................
				AA75585A1595D4D800BBD41B /* SDL_version.h in Headers */,
				AA75585C1595D4D800BBD41B /* SDL_video.h in Headers */,
				04BD000912E6671800899322 /* SDL_diskaudio.h in Headers */,
				04BD001112E6671800899322 /* SDL_dummyaudio.h in Headers */,
				04BD001912E6671800899322 /* SDL_coreaudio.h in Headers */,
				04BD002712E6671800899322 /* SDL_audio_c.h in Headers */,
				04BD002A12E6671800899322 /* SDL_audiodev_c.h in Headers */,

				04BD003412E6671800899322 /* SDL_sysaudio.h in Headers */,
				04BD003612E6671800899322 /* SDL_wave.h in Headers */,
				04BD004212E6671800899322 /* blank_cursor.h in Headers */,
				04BD004312E6671800899322 /* default_cursor.h in Headers */,
				04BD004412E6671800899322 /* scancodes_darwin.h in Headers */,
				04BD004512E6671800899322 /* scancodes_linux.h in Headers */,
				04BD004712E6671800899322 /* scancodes_xfree86.h in Headers */,
................................................................................
				04BD022512E6671800899322 /* SDL_diskaudio.h in Headers */,
				56A6700A1856545C0007D20F /* SDL_internal.h in Headers */,
				04BD022D12E6671800899322 /* SDL_dummyaudio.h in Headers */,
				04BD023512E6671800899322 /* SDL_coreaudio.h in Headers */,
				04BD024312E6671800899322 /* SDL_audio_c.h in Headers */,
				04BD024612E6671800899322 /* SDL_audiodev_c.h in Headers */,
				AAC070FD195606770073DCDF /* SDL_opengles2_gl2.h in Headers */,

				04BD025012E6671800899322 /* SDL_sysaudio.h in Headers */,
				04BD025212E6671800899322 /* SDL_wave.h in Headers */,
				04BD025D12E6671800899322 /* blank_cursor.h in Headers */,
				04BD025E12E6671800899322 /* default_cursor.h in Headers */,
				04BD025F12E6671800899322 /* scancodes_darwin.h in Headers */,
				04BD026012E6671800899322 /* scancodes_linux.h in Headers */,
				04BD026212E6671800899322 /* scancodes_xfree86.h in Headers */,
................................................................................
				DB313F7417554B71006C0E22 /* SDL_diskaudio.h in Headers */,
				56A6700B1856545C0007D20F /* SDL_internal.h in Headers */,
				DB313F7517554B71006C0E22 /* SDL_dummyaudio.h in Headers */,
				DB313F7617554B71006C0E22 /* SDL_coreaudio.h in Headers */,
				DB313F7717554B71006C0E22 /* SDL_audio_c.h in Headers */,
				DB313F7817554B71006C0E22 /* SDL_audiodev_c.h in Headers */,
				AAC070FE195606770073DCDF /* SDL_opengles2_gl2.h in Headers */,

				DB313F7A17554B71006C0E22 /* SDL_sysaudio.h in Headers */,
				DB313F7B17554B71006C0E22 /* SDL_wave.h in Headers */,
				DB313F7C17554B71006C0E22 /* blank_cursor.h in Headers */,
				DB313F7D17554B71006C0E22 /* default_cursor.h in Headers */,
				DB313F7E17554B71006C0E22 /* scancodes_darwin.h in Headers */,
				DB313F7F17554B71006C0E22 /* scancodes_linux.h in Headers */,
				DB313F8017554B71006C0E22 /* scancodes_xfree86.h in Headers */,
................................................................................
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		0867D690FE84028FC02AAC07 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0730;
				TargetAttributes = {
					BECDF5FE0761BA81005FE872 = {
						DevelopmentTeam = EH385AYQ6F;
					};
					BECDF6BB0761BA81005FE872 = {
						DevelopmentTeam = EH385AYQ6F;
					};
................................................................................
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				04BDFFFB12E6671800899322 /* SDL_atomic.c in Sources */,
				04BDFFFC12E6671800899322 /* SDL_spinlock.c in Sources */,
				04BD000812E6671800899322 /* SDL_diskaudio.c in Sources */,
				04BD001012E6671800899322 /* SDL_dummyaudio.c in Sources */,

				04BD002612E6671800899322 /* SDL_audio.c in Sources */,
				04BD002812E6671800899322 /* SDL_audiocvt.c in Sources */,
				04BD002912E6671800899322 /* SDL_audiodev.c in Sources */,
				04BD002C12E6671800899322 /* SDL_audiotypecvt.c in Sources */,
				04BD002D12E6671800899322 /* SDL_mixer.c in Sources */,
				04BD003512E6671800899322 /* SDL_wave.c in Sources */,
				04BD004112E6671800899322 /* SDL_cpuinfo.c in Sources */,
................................................................................
				04BD00A412E6671800899322 /* SDL_iconv.c in Sources */,
				04BD00A512E6671800899322 /* SDL_malloc.c in Sources */,
				04BD00A612E6671800899322 /* SDL_qsort.c in Sources */,
				04BD00A712E6671800899322 /* SDL_stdlib.c in Sources */,
				04BD00A812E6671800899322 /* SDL_string.c in Sources */,
				04BD00BD12E6671800899322 /* SDL_syscond.c in Sources */,
				04BD00BE12E6671800899322 /* SDL_sysmutex.c in Sources */,
				FABA34C71D8B5DB100915323 /* SDL_coreaudio.m in Sources */,
				04BD00C012E6671800899322 /* SDL_syssem.c in Sources */,
				04BD00C112E6671800899322 /* SDL_systhread.c in Sources */,
				04BD00CA12E6671800899322 /* SDL_thread.c in Sources */,
				04BD00D712E6671800899322 /* SDL_timer.c in Sources */,
				04BD00D912E6671800899322 /* SDL_systimer.c in Sources */,
				04BD00F412E6671800899322 /* SDL_cocoaclipboard.m in Sources */,
				04BD00F612E6671800899322 /* SDL_cocoaevents.m in Sources */,
................................................................................
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				04BD021712E6671800899322 /* SDL_atomic.c in Sources */,
				04BD021812E6671800899322 /* SDL_spinlock.c in Sources */,
				04BD022412E6671800899322 /* SDL_diskaudio.c in Sources */,
				04BD022C12E6671800899322 /* SDL_dummyaudio.c in Sources */,

				04BD024212E6671800899322 /* SDL_audio.c in Sources */,
				04BD024412E6671800899322 /* SDL_audiocvt.c in Sources */,
				04BD024512E6671800899322 /* SDL_audiodev.c in Sources */,
				04BD024812E6671800899322 /* SDL_audiotypecvt.c in Sources */,
				04BD024912E6671800899322 /* SDL_mixer.c in Sources */,
				04BD025112E6671800899322 /* SDL_wave.c in Sources */,
				04BD025C12E6671800899322 /* SDL_cpuinfo.c in Sources */,
................................................................................
				04BD02BC12E6671800899322 /* SDL.c in Sources */,
				04BD02BD12E6671800899322 /* SDL_getenv.c in Sources */,
				04BD02BE12E6671800899322 /* SDL_iconv.c in Sources */,
				04BD02BF12E6671800899322 /* SDL_malloc.c in Sources */,
				04BD02C012E6671800899322 /* SDL_qsort.c in Sources */,
				04BD02C112E6671800899322 /* SDL_stdlib.c in Sources */,
				04BD02C212E6671800899322 /* SDL_string.c in Sources */,
				562D3C7C1D8F4933003FEEE6 /* SDL_coreaudio.m in Sources */,
				04BD02D712E6671800899322 /* SDL_syscond.c in Sources */,
				04BD02D812E6671800899322 /* SDL_sysmutex.c in Sources */,
				04BD02DA12E6671800899322 /* SDL_syssem.c in Sources */,
				04BD02DB12E6671800899322 /* SDL_systhread.c in Sources */,
				04BD02E412E6671800899322 /* SDL_thread.c in Sources */,
				04BD02F112E6671800899322 /* SDL_timer.c in Sources */,
				04BD02F312E6671800899322 /* SDL_systimer.c in Sources */,
................................................................................
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				DB313FFE17554B71006C0E22 /* SDL_atomic.c in Sources */,
				DB313FFF17554B71006C0E22 /* SDL_spinlock.c in Sources */,
				DB31400017554B71006C0E22 /* SDL_diskaudio.c in Sources */,
				DB31400117554B71006C0E22 /* SDL_dummyaudio.c in Sources */,

				DB31400317554B71006C0E22 /* SDL_audio.c in Sources */,
				DB31400417554B71006C0E22 /* SDL_audiocvt.c in Sources */,
				DB31400517554B71006C0E22 /* SDL_audiodev.c in Sources */,
				DB31400617554B71006C0E22 /* SDL_audiotypecvt.c in Sources */,
				DB31400717554B71006C0E22 /* SDL_mixer.c in Sources */,
				DB31400817554B71006C0E22 /* SDL_wave.c in Sources */,
				DB31400917554B71006C0E22 /* SDL_cpuinfo.c in Sources */,
................................................................................
				DB31402017554B71006C0E22 /* SDL.c in Sources */,
				DB31402117554B71006C0E22 /* SDL_getenv.c in Sources */,
				DB31402217554B71006C0E22 /* SDL_iconv.c in Sources */,
				DB31402317554B71006C0E22 /* SDL_malloc.c in Sources */,
				DB31402417554B71006C0E22 /* SDL_qsort.c in Sources */,
				DB31402517554B71006C0E22 /* SDL_stdlib.c in Sources */,
				DB31402617554B71006C0E22 /* SDL_string.c in Sources */,
				562D3C7D1D8F4933003FEEE6 /* SDL_coreaudio.m in Sources */,
				DB31402717554B71006C0E22 /* SDL_syscond.c in Sources */,
				DB31402817554B71006C0E22 /* SDL_sysmutex.c in Sources */,
				DB31402917554B71006C0E22 /* SDL_syssem.c in Sources */,
				DB31402A17554B71006C0E22 /* SDL_systhread.c in Sources */,
				DB31402B17554B71006C0E22 /* SDL_thread.c in Sources */,
				DB31402C17554B71006C0E22 /* SDL_timer.c in Sources */,
				DB31402D17554B71006C0E22 /* SDL_systimer.c in Sources */,
................................................................................
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		00CFA621106A567900758660 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				DEPLOYMENT_POSTPROCESSING = YES;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_ALTIVEC_EXTENSIONS = YES;
				GCC_AUTO_VECTORIZATION = YES;
				GCC_ENABLE_SSE3_EXTENSIONS = YES;
				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = 3;
				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				MACOSX_DEPLOYMENT_TARGET = 10.6;
				SDKROOT = macosx;
				STRIP_STYLE = "non-global";
			};
			name = Release;
		};
		00CFA622106A567900758660 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
				CLANG_LINK_OBJC_RUNTIME = NO;
				COMBINE_HIDPI_IMAGES = YES;
				DYLIB_COMPATIBILITY_VERSION = 1.0.0;
				DYLIB_CURRENT_VERSION = 5.1.0;
				FRAMEWORK_VERSION = A;
				HEADER_SEARCH_PATHS = /usr/X11R6/include;
				INFOPLIST_FILE = "Info-Framework.plist";
				INSTALL_PATH = "@rpath";
				OTHER_LDFLAGS = "-liconv";
				PRODUCT_BUNDLE_IDENTIFIER = org.libsdl.SDL2;
				PRODUCT_NAME = SDL2;
				PROVISIONING_PROFILE = "";
				WRAPPER_EXTENSION = framework;
			};
			name = Release;
		};
		00CFA623106A567900758660 /* Release */ = {
................................................................................
				PROVISIONING_PROFILE = "";
			};
			name = Release;
		};
		00CFA627106A568900758660 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_ALTIVEC_EXTENSIONS = YES;
				GCC_AUTO_VECTORIZATION = YES;
				GCC_ENABLE_SSE3_EXTENSIONS = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				MACOSX_DEPLOYMENT_TARGET = 10.6;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = macosx;
				STRIP_INSTALLED_PRODUCT = NO;
			};
			name = Debug;
		};
		00CFA628106A568900758660 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
				CLANG_LINK_OBJC_RUNTIME = NO;
				COMBINE_HIDPI_IMAGES = YES;
				DYLIB_COMPATIBILITY_VERSION = 1.0.0;
				DYLIB_CURRENT_VERSION = 5.1.0;
				FRAMEWORK_VERSION = A;
				HEADER_SEARCH_PATHS = /usr/X11R6/include;
				INFOPLIST_FILE = "Info-Framework.plist";
				INSTALL_PATH = "@rpath";
				OTHER_LDFLAGS = "-liconv";
				PRODUCT_BUNDLE_IDENTIFIER = org.libsdl.SDL2;
				PRODUCT_NAME = SDL2;
				PROVISIONING_PROFILE = "";
				WRAPPER_EXTENSION = framework;
			};
			name = Debug;
		};
		00CFA629106A568900758660 /* Debug */ = {

Changes to jni/SDL2/Xcode/SDLTest/SDLTest.xcodeproj/project.pbxproj.

3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
....
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
				FRAMEWORK_SEARCH_PATHS = (
					"$(SRCROOT)/../SDL/build/$(CONFIGURATION)",
					"$(HOME)/Library/Frameworks",
					/Library/Frameworks,
				);
				GCC_OPTIMIZATION_LEVEL = 0;
				HEADER_SEARCH_PATHS = ../../include;
				MACOSX_DEPLOYMENT_TARGET = 10.5;
			};
			name = Debug;
		};
		002A85B31073008E007319AE /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "Build All";
................................................................................
				FRAMEWORK_SEARCH_PATHS = (
					"$(SRCROOT)/../SDL/build/$(CONFIGURATION)",
					"$(HOME)/Library/Frameworks",
					/Library/Frameworks,
				);
				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
				HEADER_SEARCH_PATHS = ../../include;
				MACOSX_DEPLOYMENT_TARGET = 10.5;
			};
			name = Release;
		};
		002A85D51073009D007319AE /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "Build All";







|







 







|







3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
....
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
				FRAMEWORK_SEARCH_PATHS = (
					"$(SRCROOT)/../SDL/build/$(CONFIGURATION)",
					"$(HOME)/Library/Frameworks",
					/Library/Frameworks,
				);
				GCC_OPTIMIZATION_LEVEL = 0;
				HEADER_SEARCH_PATHS = ../../include;
				MACOSX_DEPLOYMENT_TARGET = 10.6;
			};
			name = Debug;
		};
		002A85B31073008E007319AE /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "Build All";
................................................................................
				FRAMEWORK_SEARCH_PATHS = (
					"$(SRCROOT)/../SDL/build/$(CONFIGURATION)",
					"$(HOME)/Library/Frameworks",
					/Library/Frameworks,
				);
				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
				HEADER_SEARCH_PATHS = ../../include;
				MACOSX_DEPLOYMENT_TARGET = 10.6;
			};
			name = Release;
		};
		002A85D51073009D007319AE /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "Build All";

Changes to jni/SDL2/acinclude/libtool.m4.

1343
1344
1345
1346
1347
1348
1349
1350



1351
1352
1353
1354
1355
1356
1357
	case $host in
	  x86_64-*kfreebsd*-gnu)
	    LD="${LD-ld} -m elf_x86_64_fbsd"
	    ;;
	  x86_64-*linux*)
	    LD="${LD-ld} -m elf_x86_64"
	    ;;
	  ppc*-*linux*|powerpc*-*linux*)



	    LD="${LD-ld} -m elf64ppc"
	    ;;
	  s390*-*linux*|s390*-*tpf*)
	    LD="${LD-ld} -m elf64_s390"
	    ;;
	  sparc*-*linux*)
	    LD="${LD-ld} -m elf64_sparc"







|
>
>
>







1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
	case $host in
	  x86_64-*kfreebsd*-gnu)
	    LD="${LD-ld} -m elf_x86_64_fbsd"
	    ;;
	  x86_64-*linux*)
	    LD="${LD-ld} -m elf_x86_64"
	    ;;
	  powerpc64le-*linux*)
	    LD="${LD-ld} -m elf64lppc"
	    ;;
	  powerpc64-*linux*)
	    LD="${LD-ld} -m elf64ppc"
	    ;;
	  s390*-*linux*|s390*-*tpf*)
	    LD="${LD-ld} -m elf64_s390"
	    ;;
	  sparc*-*linux*)
	    LD="${LD-ld} -m elf64_sparc"

Changes to jni/SDL2/android-project/AndroidManifest.xml.

13
14
15
16
17
18
19



20
21
22
23
24
25
26

    <!-- OpenGL ES 2.0 -->
    <uses-feature android:glEsVersion="0x00020000" />

    <!-- Allow writing to external storage -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />




    <!-- Create a Java class extending SDLActivity and place it in a
         directory under src matching the package, e.g.
         	src/com/gamemaker/game/MyGame.java

         then replace "SDLActivity" with the name of your class (e.g. "MyGame")
         in the XML below.








>
>
>







13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

    <!-- OpenGL ES 2.0 -->
    <uses-feature android:glEsVersion="0x00020000" />

    <!-- Allow writing to external storage -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <!-- if you want to capture audio, uncomment this. -->
    <!-- <uses-permission android:name="android.permission.RECORD_AUDIO" /> -->

    <!-- Create a Java class extending SDLActivity and place it in a
         directory under src matching the package, e.g.
         	src/com/gamemaker/game/MyGame.java

         then replace "SDLActivity" with the name of your class (e.g. "MyGame")
         in the XML below.

Changes to jni/SDL2/android-project/jni/Application.mk.

1
2
3
4
5
6





# Uncomment this if you're using STL in your project
# See CPLUSPLUS-SUPPORT.html in the NDK documentation for more information
# APP_STL := stlport_static 

APP_ABI := armeabi armeabi-v7a x86










>
>
>
>
1
2
3
4
5
6
7
8
9
10

# Uncomment this if you're using STL in your project
# See CPLUSPLUS-SUPPORT.html in the NDK documentation for more information
# APP_STL := stlport_static 

APP_ABI := armeabi armeabi-v7a x86

# Min SDK level
APP_PLATFORM=android-10

Changes to jni/SDL2/android-project/src/org/libsdl/app/SDLActivity.java.

55
56
57
58
59
60
61

62
63
64
65
66
67
68
...
107
108
109
110
111
112
113

114
115
116
117
118
119
120
...
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193

194
195
196
197
198
199
200
201
202
203
204
...
382
383
384
385
386
387
388
389



390
391
392
393
394
395
396
...
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
...
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
...
640
641
642
643
644
645
646
















































647
648
649

650
651
652










653
654
655
656
657
658
659
...
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
....
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226

1227
1228



1229
1230
1231
1232
1233
1234
1235
....
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
....
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
....
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
....
1526
1527
1528
1529
1530
1531
1532































































1533
1534
1535
1536
1537
1538
1539
....
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606

1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
....
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
    protected static SDLJoystickHandler mJoystickHandler;

    // This is what SDL runs in. It invokes SDL_main(), eventually
    protected static Thread mSDLThread;

    // Audio
    protected static AudioTrack mAudioTrack;


    // Clipboard
    protected static android.content.ClipboardManager mClipMgr;
    protected static android.text.ClipboardManager mClipMgrOld;
    protected static SDLClipboardChanged mClipChanged;

    /**
................................................................................
        mSingleton = null;
        mSurface = null;
        mTextEdit = null;
        mLayout = null;
        mJoystickHandler = null;
        mSDLThread = null;
        mAudioTrack = null;

        mExitCalledFromJava = false;
        mBrokenLibraries = false;
        mIsPaused = false;
        mIsSurfaceReady = false;
        mHasFocus = true;
        mClipMgr = null;
        mClipMgrOld = null;
................................................................................
            mJoystickHandler = new SDLJoystickHandler();
        }

        mLayout = new RelativeLayout(this);
        mLayout.addView(mSurface);

        if (Build.VERSION.SDK_INT >= 11) {
            mClipMgrOld = null;
            mClipMgr = (android.content.ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
            mClipChanged = new SDLClipboardChanged();
            mClipMgr.addPrimaryClipChangedListener(mClipChanged);
        } else {
            mClipMgrOld = (android.text.ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
            mClipMgr = null;
            mClipChanged = null;

        }

        setContentView(mLayout);
        
        // Get filename from "Open with" of another application
        Intent intent = getIntent();

        if (intent != null && intent.getData() != null) {
            String filename = intent.getData().getPath();
            if (filename != null) {
                Log.v(TAG, "Got filename: " + filename);
................................................................................
                    ((Activity) context).setTitle((String)msg.obj);
                } else {
                    Log.e(TAG, "error handling message, getContext() returned no Activity");
                }
                break;
            case COMMAND_TEXTEDIT_HIDE:
                if (mTextEdit != null) {
                    mTextEdit.setVisibility(View.GONE);




                    InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
                    imm.hideSoftInputFromWindow(mTextEdit.getWindowToken(), 0);
                }
                break;
            case COMMAND_SET_KEEP_SCREEN_ON:
            {
................................................................................
    /**
     * This method is called by SDL using JNI.
     */
    public static Context getContext() {
        return mSingleton;
    }

    /**
     * This method is called by SDL using JNI.
     * @return result of getSystemService(name) but executed on UI thread.
     */
    public Object getSystemServiceFromUiThread(final String name) {
        final Object lock = new Object();
        final Object[] results = new Object[2]; // array for writable variables
        synchronized (lock) {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    synchronized (lock) {
                        results[0] = getSystemService(name);
                        results[1] = Boolean.TRUE;
                        lock.notify();
                    }
                }
            });
            if (results[1] == null) {
                try {
                    lock.wait();
                } catch (InterruptedException ex) {
                    ex.printStackTrace();
                }
            }
        }
        return results[0];
    }

    static class ShowTextInputTask implements Runnable {
        /*
         * This is used to regulate the pan&scan method to have some offset from
         * the bottom edge of the input region and the top edge of an input
         * method (soft keyboard)
         */
        static final int HEIGHT_PADDING = 15;
................................................................................
    }

    // Audio

    /**
     * This method is called by SDL using JNI.
     */
    public static int audioInit(int sampleRate, boolean is16Bit, boolean isStereo, int desiredFrames) {
        int channelConfig = isStereo ? AudioFormat.CHANNEL_CONFIGURATION_STEREO : AudioFormat.CHANNEL_CONFIGURATION_MONO;
        int audioFormat = is16Bit ? AudioFormat.ENCODING_PCM_16BIT : AudioFormat.ENCODING_PCM_8BIT;
        int frameSize = (isStereo ? 2 : 1) * (is16Bit ? 2 : 1);

        Log.v(TAG, "SDL audio: wanted " + (isStereo ? "stereo" : "mono") + " " + (is16Bit ? "16-bit" : "8-bit") + " " + (sampleRate / 1000f) + "kHz, " + desiredFrames + " frames buffer");

        // Let the user pick a larger buffer if they really want -- but ye
................................................................................
            }
        }
    }

    /**
     * This method is called by SDL using JNI.
     */
















































    public static void audioQuit() {
        if (mAudioTrack != null) {
            mAudioTrack.stop();

            mAudioTrack = null;
        }
    }











    // Input

    /**
     * This method is called by SDL using JNI.
     * @return an array which may be empty but is never null.
     */
................................................................................
     * This method is called by SDL using JNI.
     */
    public static void pollInputDevices() {
        if (SDLActivity.mSDLThread != null) {
            mJoystickHandler.pollInputDevices();
        }
    }
 
    // Clipboard

    public static boolean clipboardHasText() {
        if (mClipMgrOld != null) {
            return mClipMgrOld.hasText();
        } 
        return mClipMgr.hasText();
    }

    public static String clipboardGetText() {
        CharSequence text;
        if (mClipMgrOld != null) {
            text = mClipMgrOld.getText();
        } else { 
            text = mClipMgr.getText();
        }
        if (text != null) {
            return text.toString();
        }
        return null;
    }

    public static void clipboardSetText(String string) {
        if (mClipMgrOld != null) {
            mClipMgrOld.setText(string);
            return;
        }
        mClipMgr.removePrimaryClipChangedListener(mClipChanged);
        mClipMgr.setText(string);
        mClipMgr.addPrimaryClipChangedListener(mClipChanged);
    }

    // APK expansion files support

    /** com.android.vending.expansion.zipfile.ZipResourceFile object or null. */
    private Object expansionFile;

    /** com.android.vending.expansion.zipfile.ZipResourceFile's getInputStream() or null. */
    private Method expansionFileMethod;

    /**
     * This method was called by SDL using JNI.
     * @deprecated because of an incorrect name
     */
    @Deprecated
    public InputStream openAPKExtensionInputStream(String fileName) throws IOException {
        return openAPKExpansionInputStream(fileName);
    }

    /**
     * This method is called by SDL using JNI.
     * @return an InputStream on success or null if no expansion file was used.
     * @throws IOException on errors. Message is set for the SDL error message.
     */
    public InputStream openAPKExpansionInputStream(String fileName) throws IOException {
        // Get a ZipResourceFile representing a merger of both the main and patch files
................................................................................
        }
    }

    // Key events
    @Override
    public boolean onKey(View  v, int keyCode, KeyEvent event) {
        // Dispatch the different events depending on where they come from
        // Some SOURCE_DPAD or SOURCE_GAMEPAD are also SOURCE_KEYBOARD
        // So, we try to process them as DPAD or GAMEPAD events first, if that fails we try them as KEYBOARD


        if ( (event.getSource() & InputDevice.SOURCE_GAMEPAD) != 0 ||
                   (event.getSource() & InputDevice.SOURCE_DPAD) != 0 ) {



            if (event.getAction() == KeyEvent.ACTION_DOWN) {
                if (SDLActivity.onNativePadDown(event.getDeviceId(), keyCode) == 0) {
                    return true;
                }
            } else if (event.getAction() == KeyEvent.ACTION_UP) {
                if (SDLActivity.onNativePadUp(event.getDeviceId(), keyCode) == 0) {
                    return true;
................................................................................
                default:
                    x = event.values[0];
                    y = event.values[1];
                    break;
            }
            SDLActivity.onNativeAccel(-x / SensorManager.GRAVITY_EARTH,
                                      y / SensorManager.GRAVITY_EARTH,
                                      event.values[2] / SensorManager.GRAVITY_EARTH - 1);
        }
    }
}

/* This is a fake invisible editor view that receives the input and defines the
 * pan&scan region
 */
................................................................................
        return true;
    }

    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {

        // This handles the hardware keyboard input
        if (event.isPrintingKey()) {
            if (event.getAction() == KeyEvent.ACTION_DOWN) {
                ic.commitText(String.valueOf((char) event.getUnicodeChar()), 1);
            }
            return true;
        }

        if (event.getAction() == KeyEvent.ACTION_DOWN) {
................................................................................

        /*
         * This handles the keycodes from soft keyboard (and IME-translated
         * input from hardkeyboard)
         */
        int keyCode = event.getKeyCode();
        if (event.getAction() == KeyEvent.ACTION_DOWN) {
            if (event.isPrintingKey()) {
                commitText(String.valueOf((char) event.getUnicodeChar()), 1);
            }
            SDLActivity.onNativeKeyDown(keyCode);
            return true;
        } else if (event.getAction() == KeyEvent.ACTION_UP) {

            SDLActivity.onNativeKeyUp(keyCode);
................................................................................
            // backspace
            return super.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL))
                && super.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL));
        }

        return super.deleteSurroundingText(beforeLength, afterLength);
    }































































}

class SDLClipboardChanged implements
    android.content.ClipboardManager.OnPrimaryClipChangedListener {

    @Override
    public void onPrimaryClipChanged() {
................................................................................
        // considers to be the first controller

        for (int i=deviceIds.length-1; i>-1; i--) {
            SDLJoystick joystick = getJoystick(deviceIds[i]);
            if (joystick == null) {
                joystick = new SDLJoystick();
                InputDevice joystickDevice = InputDevice.getDevice(deviceIds[i]);

                if ( 
                      (joystickDevice.getSources() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0 
                   ||
                      (joystickDevice.getSources() & InputDevice.SOURCE_CLASS_BUTTON) != 0 
                  )
                {

                    joystick.device_id = deviceIds[i];
                    joystick.name = joystickDevice.getName();
                    joystick.axes = new ArrayList<InputDevice.MotionRange>();
                    joystick.hats = new ArrayList<InputDevice.MotionRange>();

                    List<InputDevice.MotionRange> ranges = joystickDevice.getMotionRanges();
                    Collections.sort(ranges, new RangeComparator());
                    for (InputDevice.MotionRange range : ranges ) {
                        if ((range.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0 ) {
                            if (range.getAxis() == MotionEvent.AXIS_HAT_X ||
                                range.getAxis() == MotionEvent.AXIS_HAT_Y) {
                                joystick.hats.add(range);
                            }
                            else {
                                joystick.axes.add(range);
                            }
................................................................................
            }
        }
        return null;
    }

    @Override
    public boolean handleMotionEvent(MotionEvent event) {
        if ( (event.getSource() & InputDevice.SOURCE_JOYSTICK) != 0) {
            int actionPointerIndex = event.getActionIndex();
            int action = event.getActionMasked();
            switch(action) {
                case MotionEvent.ACTION_MOVE:
                    SDLJoystick joystick = getJoystick(event.getDeviceId());
                    if ( joystick != null ) {
                        for (int i = 0; i < joystick.axes.size(); i++) {







>







 







>







 







<
<
|
<

<
<
<
>



|







 







|
>
>
>







 







<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<







 







|







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|


>



>
>
>
>
>
>
>
>
>
>







 







|



<
<
<
|



|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|










<
<
<
<
<
<
<
<
<







 







|
|
<
>
|
|
>
>
>







 







|







 







|







 







|







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







<
<
<
<
<
<
<
>








|







 







|







55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
...
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
...
181
182
183
184
185
186
187


188

189



190
191
192
193
194
195
196
197
198
199
200
201
...
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
...
473
474
475
476
477
478
479





























480
481
482
483
484
485
486
...
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
...
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
...
709
710
711
712
713
714
715
716
717
718
719



720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753









754
755
756
757
758
759
760
....
1235
1236
1237
1238
1239
1240
1241
1242
1243

1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
....
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
....
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
....
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
....
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
....
1677
1678
1679
1680
1681
1682
1683







1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
....
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
    protected static SDLJoystickHandler mJoystickHandler;

    // This is what SDL runs in. It invokes SDL_main(), eventually
    protected static Thread mSDLThread;

    // Audio
    protected static AudioTrack mAudioTrack;
    protected static AudioRecord mAudioRecord;

    // Clipboard
    protected static android.content.ClipboardManager mClipMgr;
    protected static android.text.ClipboardManager mClipMgrOld;
    protected static SDLClipboardChanged mClipChanged;

    /**
................................................................................
        mSingleton = null;
        mSurface = null;
        mTextEdit = null;
        mLayout = null;
        mJoystickHandler = null;
        mSDLThread = null;
        mAudioTrack = null;
        mAudioRecord = null;
        mExitCalledFromJava = false;
        mBrokenLibraries = false;
        mIsPaused = false;
        mIsSurfaceReady = false;
        mHasFocus = true;
        mClipMgr = null;
        mClipMgrOld = null;
................................................................................
            mJoystickHandler = new SDLJoystickHandler();
        }

        mLayout = new RelativeLayout(this);
        mLayout.addView(mSurface);

        if (Build.VERSION.SDK_INT >= 11) {


            mClipboard = new SDLClipMgr(this);

        } else {



            mClipboard = new SDLClipMgrOld(this);
        }

        setContentView(mLayout);

        // Get filename from "Open with" of another application
        Intent intent = getIntent();

        if (intent != null && intent.getData() != null) {
            String filename = intent.getData().getPath();
            if (filename != null) {
                Log.v(TAG, "Got filename: " + filename);
................................................................................
                    ((Activity) context).setTitle((String)msg.obj);
                } else {
                    Log.e(TAG, "error handling message, getContext() returned no Activity");
                }
                break;
            case COMMAND_TEXTEDIT_HIDE:
                if (mTextEdit != null) {
                    // Note: On some devices setting view to GONE creates a flicker in landscape.
                    // Setting the View's sizes to 0 is similar to GONE but without the flicker.
                    // The sizes will be set to useful values when the keyboard is shown again.
                    mTextEdit.setLayoutParams(new RelativeLayout.LayoutParams(0, 0));

                    InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
                    imm.hideSoftInputFromWindow(mTextEdit.getWindowToken(), 0);
                }
                break;
            case COMMAND_SET_KEEP_SCREEN_ON:
            {
................................................................................
    /**
     * This method is called by SDL using JNI.
     */
    public static Context getContext() {
        return mSingleton;
    }






























    static class ShowTextInputTask implements Runnable {
        /*
         * This is used to regulate the pan&scan method to have some offset from
         * the bottom edge of the input region and the top edge of an input
         * method (soft keyboard)
         */
        static final int HEIGHT_PADDING = 15;
................................................................................
    }

    // Audio

    /**
     * This method is called by SDL using JNI.
     */
    public static int audioOpen(int sampleRate, boolean is16Bit, boolean isStereo, int desiredFrames) {
        int channelConfig = isStereo ? AudioFormat.CHANNEL_CONFIGURATION_STEREO : AudioFormat.CHANNEL_CONFIGURATION_MONO;
        int audioFormat = is16Bit ? AudioFormat.ENCODING_PCM_16BIT : AudioFormat.ENCODING_PCM_8BIT;
        int frameSize = (isStereo ? 2 : 1) * (is16Bit ? 2 : 1);

        Log.v(TAG, "SDL audio: wanted " + (isStereo ? "stereo" : "mono") + " " + (is16Bit ? "16-bit" : "8-bit") + " " + (sampleRate / 1000f) + "kHz, " + desiredFrames + " frames buffer");

        // Let the user pick a larger buffer if they really want -- but ye
................................................................................
            }
        }
    }

    /**
     * This method is called by SDL using JNI.
     */
    public static int captureOpen(int sampleRate, boolean is16Bit, boolean isStereo, int desiredFrames) {
        int channelConfig = isStereo ? AudioFormat.CHANNEL_CONFIGURATION_STEREO : AudioFormat.CHANNEL_CONFIGURATION_MONO;
        int audioFormat = is16Bit ? AudioFormat.ENCODING_PCM_16BIT : AudioFormat.ENCODING_PCM_8BIT;
        int frameSize = (isStereo ? 2 : 1) * (is16Bit ? 2 : 1);

        Log.v(TAG, "SDL capture: wanted " + (isStereo ? "stereo" : "mono") + " " + (is16Bit ? "16-bit" : "8-bit") + " " + (sampleRate / 1000f) + "kHz, " + desiredFrames + " frames buffer");

        // Let the user pick a larger buffer if they really want -- but ye
        // gods they probably shouldn't, the minimums are horrifyingly high
        // latency already
        desiredFrames = Math.max(desiredFrames, (AudioRecord.getMinBufferSize(sampleRate, channelConfig, audioFormat) + frameSize - 1) / frameSize);

        if (mAudioRecord == null) {
            mAudioRecord = new AudioRecord(MediaRecorder.AudioSource.DEFAULT, sampleRate,
                    channelConfig, audioFormat, desiredFrames * frameSize);

            // see notes about AudioTrack state in audioOpen(), above. Probably also applies here.
            if (mAudioRecord.getState() != AudioRecord.STATE_INITIALIZED) {
                Log.e(TAG, "Failed during initialization of AudioRecord");
                mAudioRecord.release();
                mAudioRecord = null;
                return -1;
            }

            mAudioRecord.startRecording();
        }

        Log.v(TAG, "SDL capture: got " + ((mAudioRecord.getChannelCount() >= 2) ? "stereo" : "mono") + " " + ((mAudioRecord.getAudioFormat() == AudioFormat.ENCODING_PCM_16BIT) ? "16-bit" : "8-bit") + " " + (mAudioRecord.getSampleRate() / 1000f) + "kHz, " + desiredFrames + " frames buffer");

        return 0;
    }

    /** This method is called by SDL using JNI. */
    public static int captureReadShortBuffer(short[] buffer, boolean blocking) {
        // !!! FIXME: this is available in API Level 23. Until then, we always block.  :(
        //return mAudioRecord.read(buffer, 0, buffer.length, blocking ? AudioRecord.READ_BLOCKING : AudioRecord.READ_NON_BLOCKING);
        return mAudioRecord.read(buffer, 0, buffer.length);
    }

    /** This method is called by SDL using JNI. */
    public static int captureReadByteBuffer(byte[] buffer, boolean blocking) {
        // !!! FIXME: this is available in API Level 23. Until then, we always block.  :(
        //return mAudioRecord.read(buffer, 0, buffer.length, blocking ? AudioRecord.READ_BLOCKING : AudioRecord.READ_NON_BLOCKING);
        return mAudioRecord.read(buffer, 0, buffer.length);
    }


    /** This method is called by SDL using JNI. */
    public static void audioClose() {
        if (mAudioTrack != null) {
            mAudioTrack.stop();
            mAudioTrack.release();
            mAudioTrack = null;
        }
    }

    /** This method is called by SDL using JNI. */
    public static void captureClose() {
        if (mAudioRecord != null) {
            mAudioRecord.stop();
            mAudioRecord.release();
            mAudioRecord = null;
        }
    }


    // Input

    /**
     * This method is called by SDL using JNI.
     * @return an array which may be empty but is never null.
     */
................................................................................
     * This method is called by SDL using JNI.
     */
    public static void pollInputDevices() {
        if (SDLActivity.mSDLThread != null) {
            mJoystickHandler.pollInputDevices();
        }
    }

    // Clipboard

    public static boolean clipboardHasText() {



        return mClipboard.clipboardHasText();
    }

    public static String clipboardGetText() {
        return mClipboard.clipboardGetText();
    }

    public static void clipboardSetText(String string) {
        mClipboard.clipboardSetText(string);
    }

    // Check if a given device is considered a possible SDL joystick
    public static boolean isDeviceSDLJoystick(int deviceId) {
        InputDevice device = InputDevice.getDevice(deviceId);
        // We cannot use InputDevice.isVirtual before API 16, so let's accept
        // only nonnegative device ids (VIRTUAL_KEYBOARD equals -1)
        if ((device == null) || (deviceId < 0)) {
            return false;
        }
        int sources = device.getSources();
        return (((sources & InputDevice.SOURCE_CLASS_JOYSTICK) == InputDevice.SOURCE_CLASS_JOYSTICK) ||
                ((sources & InputDevice.SOURCE_DPAD) == InputDevice.SOURCE_DPAD) ||
                ((sources & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD)
        );
    }

    // APK expansion files support

    /** com.android.vending.expansion.zipfile.ZipResourceFile object or null. */
    private Object expansionFile;

    /** com.android.vending.expansion.zipfile.ZipResourceFile's getInputStream() or null. */
    private Method expansionFileMethod;










    /**
     * This method is called by SDL using JNI.
     * @return an InputStream on success or null if no expansion file was used.
     * @throws IOException on errors. Message is set for the SDL error message.
     */
    public InputStream openAPKExpansionInputStream(String fileName) throws IOException {
        // Get a ZipResourceFile representing a merger of both the main and patch files
................................................................................
        }
    }

    // Key events
    @Override
    public boolean onKey(View  v, int keyCode, KeyEvent event) {
        // Dispatch the different events depending on where they come from
        // Some SOURCE_JOYSTICK, SOURCE_DPAD or SOURCE_GAMEPAD are also SOURCE_KEYBOARD
        // So, we try to process them as JOYSTICK/DPAD/GAMEPAD events first, if that fails we try them as KEYBOARD

        //
        // Furthermore, it's possible a game controller has SOURCE_KEYBOARD and
        // SOURCE_JOYSTICK, while its key events arrive from the keyboard source
        // So, retrieve the device itself and check all of its sources
        if (SDLActivity.isDeviceSDLJoystick(event.getDeviceId())) {
            // Note that we process events with specific key codes here
            if (event.getAction() == KeyEvent.ACTION_DOWN) {
                if (SDLActivity.onNativePadDown(event.getDeviceId(), keyCode) == 0) {
                    return true;
                }
            } else if (event.getAction() == KeyEvent.ACTION_UP) {
                if (SDLActivity.onNativePadUp(event.getDeviceId(), keyCode) == 0) {
                    return true;
................................................................................
                default:
                    x = event.values[0];
                    y = event.values[1];
                    break;
            }
            SDLActivity.onNativeAccel(-x / SensorManager.GRAVITY_EARTH,
                                      y / SensorManager.GRAVITY_EARTH,
                                      event.values[2] / SensorManager.GRAVITY_EARTH);
        }
    }
}

/* This is a fake invisible editor view that receives the input and defines the
 * pan&scan region
 */
................................................................................
        return true;
    }

    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {

        // This handles the hardware keyboard input
        if (event.isPrintingKey() || keyCode == KeyEvent.KEYCODE_SPACE) {
            if (event.getAction() == KeyEvent.ACTION_DOWN) {
                ic.commitText(String.valueOf((char) event.getUnicodeChar()), 1);
            }
            return true;
        }

        if (event.getAction() == KeyEvent.ACTION_DOWN) {
................................................................................

        /*
         * This handles the keycodes from soft keyboard (and IME-translated
         * input from hardkeyboard)
         */
        int keyCode = event.getKeyCode();
        if (event.getAction() == KeyEvent.ACTION_DOWN) {
            if (event.isPrintingKey() || keyCode == KeyEvent.KEYCODE_SPACE) {
                commitText(String.valueOf((char) event.getUnicodeChar()), 1);
            }
            SDLActivity.onNativeKeyDown(keyCode);
            return true;
        } else if (event.getAction() == KeyEvent.ACTION_UP) {

            SDLActivity.onNativeKeyUp(keyCode);
................................................................................
            // backspace
            return super.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL))
                && super.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL));
        }

        return super.deleteSurroundingText(beforeLength, afterLength);
    }
}

interface SDLClipboard {
    public abstract boolean clipboardHasText();
    public abstract String clipboardGetText();
    public abstract void clipboardSetText(String string);
}

class SDLClipMgrOld implements SDLClipboard {

    protected android.text.ClipboardManager mClipMgr;

    public SDLClipMgrOld(Context context) {
        mClipMgr = (android.text.ClipboardManager) context.getSystemService(android.content.Context.CLIPBOARD_SERVICE);
    }

    public boolean clipboardHasText() {
        return mClipMgr.hasText();
    }

    public String clipboardGetText() {
        CharSequence text = mClipMgr.getText();
        if (text != null) {
            return text.toString();
        }
        return null;
    }

    public void clipboardSetText(String string) {
        mClipMgr.setText(string);
    }

}

class SDLClipMgr implements SDLClipboard {

    protected android.content.ClipboardManager mClipMgr;
    protected SDLClipboardChanged mClipChanged;

    public SDLClipMgr(Context context) {
        mClipMgr = (android.content.ClipboardManager) context.getSystemService(android.content.Context.CLIPBOARD_SERVICE);
        mClipChanged = new SDLClipboardChanged();
        mClipMgr.addPrimaryClipChangedListener(mClipChanged);
    }

    public boolean clipboardHasText() {
        return mClipMgr.hasText();
    }

    public String clipboardGetText() {
        CharSequence text = mClipMgr.getText();
        if (text != null) {
            return text.toString();
        }
        return null;
    }

    public void clipboardSetText(String string) {
        mClipMgr.removePrimaryClipChangedListener(mClipChanged);
        mClipMgr.setText(string);
        mClipMgr.addPrimaryClipChangedListener(mClipChanged);
    }

}

class SDLClipboardChanged implements
    android.content.ClipboardManager.OnPrimaryClipChangedListener {

    @Override
    public void onPrimaryClipChanged() {
................................................................................
        // considers to be the first controller

        for (int i=deviceIds.length-1; i>-1; i--) {
            SDLJoystick joystick = getJoystick(deviceIds[i]);
            if (joystick == null) {
                joystick = new SDLJoystick();
                InputDevice joystickDevice = InputDevice.getDevice(deviceIds[i]);







                if (SDLActivity.isDeviceSDLJoystick(deviceIds[i])) {
                    joystick.device_id = deviceIds[i];
                    joystick.name = joystickDevice.getName();
                    joystick.axes = new ArrayList<InputDevice.MotionRange>();
                    joystick.hats = new ArrayList<InputDevice.MotionRange>();

                    List<InputDevice.MotionRange> ranges = joystickDevice.getMotionRanges();
                    Collections.sort(ranges, new RangeComparator());
                    for (InputDevice.MotionRange range : ranges ) {
                        if ((range.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
                            if (range.getAxis() == MotionEvent.AXIS_HAT_X ||
                                range.getAxis() == MotionEvent.AXIS_HAT_Y) {
                                joystick.hats.add(range);
                            }
                            else {
                                joystick.axes.add(range);
                            }
................................................................................
            }
        }
        return null;
    }

    @Override
    public boolean handleMotionEvent(MotionEvent event) {
        if ((event.getSource() & InputDevice.SOURCE_JOYSTICK) != 0) {
            int actionPointerIndex = event.getActionIndex();
            int action = event.getActionMasked();
            switch(action) {
                case MotionEvent.ACTION_MOVE:
                    SDLJoystick joystick = getJoystick(event.getDeviceId());
                    if ( joystick != null ) {
                        for (int i = 0; i < joystick.axes.size(); i++) {

Changes to jni/SDL2/autogen.sh.

1
2
3
4




5
6
7
8
9
10
11
12
13
14
15
16


17
18
19
#!/bin/sh
#
echo "Generating build information using autoconf"
echo "This may take a while ..."





# Regenerate configuration files
cat acinclude/* >aclocal.m4
found=false
for autoconf in autoconf autoconf259 autoconf-2.59
do if which $autoconf >/dev/null 2>&1; then $autoconf && found=true; break; fi
done
if test x$found = xfalse; then
    echo "Couldn't find autoconf, aborting"
    exit 1
fi
(cd test; sh autogen.sh)



# Run configure for this platform
echo "Now you are ready to run ./configure"




>
>
>
>












>
>



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/sh
#
echo "Generating build information using autoconf"
echo "This may take a while ..."

srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
pushd $srcdir

# Regenerate configuration files
cat acinclude/* >aclocal.m4
found=false
for autoconf in autoconf autoconf259 autoconf-2.59
do if which $autoconf >/dev/null 2>&1; then $autoconf && found=true; break; fi
done
if test x$found = xfalse; then
    echo "Couldn't find autoconf, aborting"
    exit 1
fi
(cd test; sh autogen.sh)

popd

# Run configure for this platform
echo "Now you are ready to run ./configure"

Changes to jni/SDL2/cmake/sdlchecks.cmake.

101
102
103
104
105
106
107
108


109
110
111
112
113
114
115
...
532
533
534
535
536
537
538





















539
540
541
542
543
544
545
546
547
548












































549
550
551
552
553
554
555
556
557
558
559
560











561
562
563
564
565
566
567
...
762
763
764
765
766
767
768

769
770
771
772
773
774
775
776
...
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
...
878
879
880
881
882
883
884

885
886
887
888
889
890
891
892
...
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999

1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
# Optional:
# - ALSA_SHARED opt
# - HAVE_DLOPEN opt
macro(CheckALSA)
  if(ALSA)
    CHECK_INCLUDE_FILE(alsa/asoundlib.h HAVE_ASOUNDLIB_H)
    if(HAVE_ASOUNDLIB_H)
      CHECK_LIBRARY_EXISTS(asound snd_pcm_open "" HAVE_LIBASOUND)


      set(HAVE_ALSA TRUE)
      file(GLOB ALSA_SOURCES ${SDL2_SOURCE_DIR}/src/audio/alsa/*.c)
      set(SOURCE_FILES ${SOURCE_FILES} ${ALSA_SOURCES})
      set(SDL_AUDIO_DRIVER_ALSA 1)
      if(ALSA_SHARED)
        if(NOT HAVE_DLOPEN)
          message_warn("You must have SDL_LoadObject() support for dynamic ALSA loading")
................................................................................
                endif()
            else()
                set(EXTRA_LIBS ${MIR_TOOLKIT_LIBRARIES} ${EXTRA_LIBS})
            endif()
        endif()
    endif()
endmacro()






















# Requires:
# - EGL
# - PkgCheckModules
# Optional:
# - WAYLAND_SHARED opt
# - HAVE_DLOPEN opt
macro(CheckWayland)
  if(VIDEO_WAYLAND)
    pkg_check_modules(WAYLAND wayland-client wayland-cursor wayland-egl egl xkbcommon)












































    if(WAYLAND_FOUND)
      link_directories(
          ${WAYLAND_LIBRARY_DIRS}
      )
      include_directories(
          ${WAYLAND_INCLUDE_DIRS}
      )
      set(HAVE_VIDEO_WAYLAND TRUE)
      set(HAVE_SDL_VIDEO TRUE)

      file(GLOB WAYLAND_SOURCES ${SDL2_SOURCE_DIR}/src/video/wayland/*.c)
      set(SOURCE_FILES ${SOURCE_FILES} ${WAYLAND_SOURCES})












      if(VIDEO_WAYLAND_QT_TOUCH)
          set(SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH 1)
      endif()

      if(WAYLAND_SHARED)
        if(NOT HAVE_DLOPEN)
................................................................................
      set(PTHREAD_LDFLAGS "")
    else()
      set(PTHREAD_CFLAGS "-D_REENTRANT")
      set(PTHREAD_LDFLAGS "-lpthread")
    endif()

    # Run some tests

    set(CMAKE_REQUIRED_FLAGS "${PTHREAD_CFLAGS} ${PTHREAD_LDFLAGS}")
    if(CMAKE_CROSSCOMPILING)
      set(HAVE_PTHREADS 1)
    else()
      check_c_source_runs("
        #include <pthread.h>
        int main(int argc, char** argv) {
          pthread_attr_t type;
................................................................................

      check_c_source_compiles("
          #include <pthread.h>
          #include <pthread_np.h>
          int main(int argc, char** argv) { return 0; }" HAVE_PTHREAD_NP_H)
      check_function_exists(pthread_setname_np HAVE_PTHREAD_SETNAME_NP)
      check_function_exists(pthread_set_name_np HAVE_PTHREAD_SET_NAME_NP)
      set(CMAKE_REQUIRED_FLAGS)

      set(SOURCE_FILES ${SOURCE_FILES}
          ${SDL2_SOURCE_DIR}/src/thread/pthread/SDL_systhread.c
          ${SDL2_SOURCE_DIR}/src/thread/pthread/SDL_sysmutex.c   # Can be faked, if necessary
          ${SDL2_SOURCE_DIR}/src/thread/pthread/SDL_syscond.c    # Can be faked, if necessary
          ${SDL2_SOURCE_DIR}/src/thread/pthread/SDL_systls.c
          )
................................................................................
    endif()
    check_library_exists(usb hid_init "" LIBUSB)
    if(LIBUSB)
      set(USB_LIBS ${USB_LIBS} usb)
    endif()
  endif()


  set(CMAKE_REQUIRED_FLAGS "${USB_CFLAGS}")
  set(CMAKE_REQUIRED_LIBRARIES "${USB_LIBS}")
  check_c_source_compiles("
       #include <sys/types.h>
        #if defined(HAVE_USB_H)
        #include <usb.h>
        #endif
        #ifdef __DragonFly__
................................................................................
    file(GLOB BSD_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/bsd/*.c)
    set(SOURCE_FILES ${SOURCE_FILES} ${BSD_JOYSTICK_SOURCES})
    list(APPEND EXTRA_CFLAGS ${USB_CFLAGS})
    list(APPEND EXTRA_LIBS ${USB_LIBS})
    set(HAVE_SDL_JOYSTICK TRUE)

    set(CMAKE_REQUIRED_LIBRARIES)
    set(CMAKE_REQUIRED_FLAGS)
  endif()
endmacro()

# Requires:
# - n/a
macro(CheckRPI)
  if(VIDEO_RPI)
    set(VIDEO_RPI_INCLUDE_DIRS "/opt/vc/include" "/opt/vc/include/interface/vcos/pthreads" "/opt/vc/include/interface/vmcs_host/linux/" )
    set(VIDEO_RPI_LIBRARY_DIRS "/opt/vc/lib" )
    set(VIDEO_RPI_LIBS bcm_host )
    listtostr(VIDEO_RPI_INCLUDE_DIRS VIDEO_RPI_INCLUDE_FLAGS "-I")
    listtostr(VIDEO_RPI_LIBRARY_DIRS VIDEO_RPI_LIBRARY_FLAGS "-L")


    set(CMAKE_REQUIRED_FLAGS "${VIDEO_RPI_INCLUDE_FLAGS} ${VIDEO_RPI_LIBRARY_FLAGS}")
    set(CMAKE_REQUIRED_LIBRARIES "${VIDEO_RPI_LIBS}")
    check_c_source_compiles("
        #include <bcm_host.h>
        int main(int argc, char **argv) {}" HAVE_VIDEO_RPI)
    set(CMAKE_REQUIRED_FLAGS)
    set(CMAKE_REQUIRED_LIBRARIES)

    if(SDL_VIDEO AND HAVE_VIDEO_RPI)
      set(HAVE_SDL_VIDEO TRUE)
      set(SDL_VIDEO_DRIVER_RPI 1)
      file(GLOB VIDEO_RPI_SOURCES ${SDL2_SOURCE_DIR}/src/video/raspberry/*.c)
      set(SOURCE_FILES ${SOURCE_FILES} ${VIDEO_RPI_SOURCES})
      list(APPEND EXTRA_LIBS ${VIDEO_RPI_LIBS})
      set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${VIDEO_RPI_INCLUDE_FLAGS} ${VIDEO_RPI_LIBRARY_FLAGS}")
    endif(SDL_VIDEO AND HAVE_VIDEO_RPI)
  endif(VIDEO_RPI)
endmacro(CheckRPI)







|
>
>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>









|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>












>
>
>
>
>
>
>
>
>
>
>







 







>
|







 







|







 







>
|







 







|













>
|




|












101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
...
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
...
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
...
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
...
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
....
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
# Optional:
# - ALSA_SHARED opt
# - HAVE_DLOPEN opt
macro(CheckALSA)
  if(ALSA)
    CHECK_INCLUDE_FILE(alsa/asoundlib.h HAVE_ASOUNDLIB_H)
    if(HAVE_ASOUNDLIB_H)
      CHECK_LIBRARY_EXISTS(asound snd_pcm_recover "" HAVE_LIBASOUND)
    endif()
    if(HAVE_LIBASOUND)
      set(HAVE_ALSA TRUE)
      file(GLOB ALSA_SOURCES ${SDL2_SOURCE_DIR}/src/audio/alsa/*.c)
      set(SOURCE_FILES ${SOURCE_FILES} ${ALSA_SOURCES})
      set(SDL_AUDIO_DRIVER_ALSA 1)
      if(ALSA_SHARED)
        if(NOT HAVE_DLOPEN)
          message_warn("You must have SDL_LoadObject() support for dynamic ALSA loading")
................................................................................
                endif()
            else()
                set(EXTRA_LIBS ${MIR_TOOLKIT_LIBRARIES} ${EXTRA_LIBS})
            endif()
        endif()
    endif()
endmacro()

macro(WaylandProtocolGen _SCANNER _XML _PROTL)
    set(_WAYLAND_PROT_C_CODE "${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols/${_PROTL}-protocol.c")
    set(_WAYLAND_PROT_H_CODE "${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols/${_PROTL}-client-protocol.h")

    add_custom_command(
        OUTPUT "${_WAYLAND_PROT_H_CODE}"
        DEPENDS "${_XML}"
        COMMAND "${_SCANNER}"
        ARGS client-header "${_XML}" "${_WAYLAND_PROT_H_CODE}"
    )

    add_custom_command(
        OUTPUT "${_WAYLAND_PROT_C_CODE}"
        DEPENDS "${_WAYLAND_PROT_H_CODE}"
        COMMAND "${_SCANNER}"
        ARGS code "${_XML}" "${_WAYLAND_PROT_C_CODE}"
    )

    set(SOURCE_FILES ${SOURCE_FILES} "${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols/${_PROTL}-protocol.c")
endmacro()

# Requires:
# - EGL
# - PkgCheckModules
# Optional:
# - WAYLAND_SHARED opt
# - HAVE_DLOPEN opt
macro(CheckWayland)
  if(VIDEO_WAYLAND)
    pkg_check_modules(WAYLAND wayland-client wayland-scanner wayland-protocols wayland-egl wayland-cursor egl xkbcommon)

    # We have to generate some protocol interface code for some various Wayland features.
    if(WAYLAND_FOUND)
      execute_process(
        COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=pkgdatadir wayland-client
        WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
        RESULT_VARIABLE WAYLAND_CORE_PROTOCOL_DIR_RC
        OUTPUT_VARIABLE WAYLAND_CORE_PROTOCOL_DIR
        ERROR_QUIET
        OUTPUT_STRIP_TRAILING_WHITESPACE
      )
      if(NOT WAYLAND_CORE_PROTOCOL_DIR_RC EQUAL 0)
        set(WAYLAND_FOUND FALSE)
      endif()
    endif()

    if(WAYLAND_FOUND)
      execute_process(
        COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=pkgdatadir wayland-protocols
        WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
        RESULT_VARIABLE WAYLAND_PROTOCOLS_DIR_RC
        OUTPUT_VARIABLE WAYLAND_PROTOCOLS_DIR
        ERROR_QUIET
        OUTPUT_STRIP_TRAILING_WHITESPACE
      )
      if(NOT WAYLAND_PROTOCOLS_DIR_RC EQUAL 0)
        set(WAYLAND_FOUND FALSE)
      endif()
    endif()

    if(WAYLAND_FOUND)
      execute_process(
        COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=wayland_scanner wayland-scanner
        WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
        RESULT_VARIABLE WAYLAND_SCANNER_RC
        OUTPUT_VARIABLE WAYLAND_SCANNER
        ERROR_QUIET
        OUTPUT_STRIP_TRAILING_WHITESPACE
      )
      if(NOT WAYLAND_SCANNER_RC EQUAL 0)
        set(WAYLAND_FOUND FALSE)
      endif()
    endif()

    if(WAYLAND_FOUND)
      link_directories(
          ${WAYLAND_LIBRARY_DIRS}
      )
      include_directories(
          ${WAYLAND_INCLUDE_DIRS}
      )
      set(HAVE_VIDEO_WAYLAND TRUE)
      set(HAVE_SDL_VIDEO TRUE)

      file(GLOB WAYLAND_SOURCES ${SDL2_SOURCE_DIR}/src/video/wayland/*.c)
      set(SOURCE_FILES ${SOURCE_FILES} ${WAYLAND_SOURCES})

      # We have to generate some protocol interface code for some unstable Wayland features.
      file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols")
      include_directories("${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols")

      WaylandProtocolGen("${WAYLAND_SCANNER}" "${WAYLAND_CORE_PROTOCOL_DIR}/wayland.xml" "wayland")

      foreach(_PROTL relative-pointer-unstable-v1 pointer-constraints-unstable-v1)
        string(REGEX REPLACE "\\-unstable\\-.*$" "" PROTSUBDIR ${_PROTL})
        WaylandProtocolGen("${WAYLAND_SCANNER}" "${WAYLAND_PROTOCOLS_DIR}/unstable/${PROTSUBDIR}/${_PROTL}.xml" "${_PROTL}")
      endforeach()

      if(VIDEO_WAYLAND_QT_TOUCH)
          set(SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH 1)
      endif()

      if(WAYLAND_SHARED)
        if(NOT HAVE_DLOPEN)
................................................................................
      set(PTHREAD_LDFLAGS "")
    else()
      set(PTHREAD_CFLAGS "-D_REENTRANT")
      set(PTHREAD_LDFLAGS "-lpthread")
    endif()

    # Run some tests
    set(ORIG_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
    set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${PTHREAD_CFLAGS} ${PTHREAD_LDFLAGS}")
    if(CMAKE_CROSSCOMPILING)
      set(HAVE_PTHREADS 1)
    else()
      check_c_source_runs("
        #include <pthread.h>
        int main(int argc, char** argv) {
          pthread_attr_t type;
................................................................................

      check_c_source_compiles("
          #include <pthread.h>
          #include <pthread_np.h>
          int main(int argc, char** argv) { return 0; }" HAVE_PTHREAD_NP_H)
      check_function_exists(pthread_setname_np HAVE_PTHREAD_SETNAME_NP)
      check_function_exists(pthread_set_name_np HAVE_PTHREAD_SET_NAME_NP)
      set(CMAKE_REQUIRED_FLAGS "${ORIG_CMAKE_REQUIRED_FLAGS}")

      set(SOURCE_FILES ${SOURCE_FILES}
          ${SDL2_SOURCE_DIR}/src/thread/pthread/SDL_systhread.c
          ${SDL2_SOURCE_DIR}/src/thread/pthread/SDL_sysmutex.c   # Can be faked, if necessary
          ${SDL2_SOURCE_DIR}/src/thread/pthread/SDL_syscond.c    # Can be faked, if necessary
          ${SDL2_SOURCE_DIR}/src/thread/pthread/SDL_systls.c
          )
................................................................................
    endif()
    check_library_exists(usb hid_init "" LIBUSB)
    if(LIBUSB)
      set(USB_LIBS ${USB_LIBS} usb)
    endif()
  endif()

  set(ORIG_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${USB_CFLAGS}")
  set(CMAKE_REQUIRED_LIBRARIES "${USB_LIBS}")
  check_c_source_compiles("
       #include <sys/types.h>
        #if defined(HAVE_USB_H)
        #include <usb.h>
        #endif
        #ifdef __DragonFly__
................................................................................
    file(GLOB BSD_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/bsd/*.c)
    set(SOURCE_FILES ${SOURCE_FILES} ${BSD_JOYSTICK_SOURCES})
    list(APPEND EXTRA_CFLAGS ${USB_CFLAGS})
    list(APPEND EXTRA_LIBS ${USB_LIBS})
    set(HAVE_SDL_JOYSTICK TRUE)

    set(CMAKE_REQUIRED_LIBRARIES)
    set(CMAKE_REQUIRED_FLAGS "${ORIG_CMAKE_REQUIRED_FLAGS}")
  endif()
endmacro()

# Requires:
# - n/a
macro(CheckRPI)
  if(VIDEO_RPI)
    set(VIDEO_RPI_INCLUDE_DIRS "/opt/vc/include" "/opt/vc/include/interface/vcos/pthreads" "/opt/vc/include/interface/vmcs_host/linux/" )
    set(VIDEO_RPI_LIBRARY_DIRS "/opt/vc/lib" )
    set(VIDEO_RPI_LIBS bcm_host )
    listtostr(VIDEO_RPI_INCLUDE_DIRS VIDEO_RPI_INCLUDE_FLAGS "-I")
    listtostr(VIDEO_RPI_LIBRARY_DIRS VIDEO_RPI_LIBRARY_FLAGS "-L")

    set(ORIG_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
    set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${VIDEO_RPI_INCLUDE_FLAGS} ${VIDEO_RPI_LIBRARY_FLAGS}")
    set(CMAKE_REQUIRED_LIBRARIES "${VIDEO_RPI_LIBS}")
    check_c_source_compiles("
        #include <bcm_host.h>
        int main(int argc, char **argv) {}" HAVE_VIDEO_RPI)
    set(CMAKE_REQUIRED_FLAGS "${ORIG_CMAKE_REQUIRED_FLAGS}")
    set(CMAKE_REQUIRED_LIBRARIES)

    if(SDL_VIDEO AND HAVE_VIDEO_RPI)
      set(HAVE_SDL_VIDEO TRUE)
      set(SDL_VIDEO_DRIVER_RPI 1)
      file(GLOB VIDEO_RPI_SOURCES ${SDL2_SOURCE_DIR}/src/video/raspberry/*.c)
      set(SOURCE_FILES ${SOURCE_FILES} ${VIDEO_RPI_SOURCES})
      list(APPEND EXTRA_LIBS ${VIDEO_RPI_LIBS})
      set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${VIDEO_RPI_INCLUDE_FLAGS} ${VIDEO_RPI_LIBRARY_FLAGS}")
    endif(SDL_VIDEO AND HAVE_VIDEO_RPI)
  endif(VIDEO_RPI)
endmacro(CheckRPI)

Changes to jni/SDL2/configure.

626
627
628
629
630
631
632

633
634
635
636
637
638
639


640
641
642
643
644
645
646
...
842
843
844
845
846
847
848

849

850
851
852
853
854
855
856
....
1580
1581
1582
1583
1584
1585
1586

1587

1588
1589
1590
1591
1592
1593
1594
....
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
.....
17597
17598
17599
17600
17601
17602
17603
17604
17605
17606
17607
17608
17609
17610
17611
.....
18645
18646
18647
18648
18649
18650
18651





































18652
18653
18654
18655
18656
18657
18658
.....
18763
18764
18765
18766
18767
18768
18769
18770
18771
18772



18773
18774
18775
18776
18777
18778
18779
.....
18781
18782
18783
18784
18785
18786
18787



18788
18789
18790
18791
18792
18793
18794
18795
18796
.....
18924
18925
18926
18927
18928
18929
18930
18931
18932
18933
18934
18935
18936
18937
18938
.....
21599
21600
21601
21602
21603
21604
21605

















21606
21607
21608
21609
21610
21611
21612
.....
21673
21674
21675
21676
21677
21678
21679




21680
21681
21682
21683
21684
21685
21686
21687
.....
21692
21693
21694
21695
21696
21697
21698




















































































21699
21700
21701
21702
21703
21704
21705
.....
22889
22890
22891
22892
22893
22894
22895


22896
22897
22898
22899
22900
22901
22902
.....
22958
22959
22960
22961
22962
22963
22964

22965
22966
22967
22968
22969
22970
22971
.....
22978
22979
22980
22981
22982
22983
22984

22985

22986
22987
22988
22989
22990
22991
22992
.....
23326
23327
23328
23329
23330
23331
23332

23333
23334
23335
23336
23337
23338
23339
.....
23354
23355
23356
23357
23358
23359
23360
23361
23362
23363
23364
23365
23366
23367
23368
23369
23370
23371
23372
23373
23374
23375
.....
23388
23389
23390
23391
23392
23393
23394

23395
23396
23397
23398
23399
23400
23401
23402
23403
23404
23405
23406
23407
23408
23409
23410
23411
23412
.....
23457
23458
23459
23460
23461
23462
23463

23464
23465
23466
23467
23468
23469
23470
.....
23472
23473
23474
23475
23476
23477
23478
23479

23480
23481
23482
23483
23484
23485
23486
.....
23490
23491
23492
23493
23494
23495
23496
23497
23498

23499
23500
23501
23502
23503
23504
23505
.....
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
23545
.....
23577
23578
23579
23580
23581
23582
23583

23584
23585
23586
23587
23588
23589
23590
.....
23626
23627
23628
23629
23630
23631
23632
23633
23634
23635
23636
23637
23638
23639
23640
23641
.....
23682
23683
23684
23685
23686
23687
23688



















































23689
23690
23691
23692
23693
23694
23695
23696
23697


23698
23699
23700
23701
23702
23703
23704
.....
23718
23719
23720
23721
23722
23723
23724






























23725
23726
23727
23728
23729
23730
23731
.....
23762
23763
23764
23765
23766
23767
23768



23769
23770
23771
23772
23773
23774
23775
23776
23777
23778
23779
23780

23781
23782
23783
23784
23785
23786
23787
.....
23796
23797
23798
23799
23800
23801
23802
23803
23804
23805
23806
23807
23808
23809
23810
23811
23812





23813
23814
23815
23816





23817
23818
23819
23820
23821
23822
23823
# include <stdint.h>
#endif
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif"

ac_subst_vars='LTLIBOBJS

EXTRA_LDFLAGS
BUILD_LDFLAGS
EXTRA_CFLAGS
BUILD_CFLAGS
SDLTEST_OBJECTS
SDLMAIN_OBJECTS
VERSION_OBJECTS


OBJECTS
INCLUDE
ac_aux_dir
ENABLE_STATIC_FALSE
ENABLE_STATIC_TRUE
ENABLE_SHARED_FALSE
ENABLE_SHARED_TRUE
................................................................................
enable_video_dummy
enable_video_opengl
enable_video_opengles
enable_video_opengles1
enable_video_opengles2
enable_libudev
enable_dbus

enable_ibus

enable_input_tslib
enable_pthreads
enable_pthread_sem
enable_directx
enable_sdl_dlopen
enable_clock_gettime
enable_rpath
................................................................................
  --enable-video-opengles include OpenGL ES support [[default=yes]]
  --enable-video-opengles1
                          include OpenGL ES 1.1 support [[default=yes]]
  --enable-video-opengles2
                          include OpenGL ES 2.0 support [[default=yes]]
  --enable-libudev        enable libudev support [[default=yes]]
  --enable-dbus           enable D-Bus support [[default=yes]]

  --enable-ibus           enable IBus support [[default=yes]]

  --enable-input-tslib    use the Touchscreen library for input
                          [[default=yes]]
  --enable-pthreads       use POSIX threads for multi-threading
                          [[default=yes]]
  --enable-pthread-sem    use pthread semaphores [[default=yes]]
  --enable-directx        use DirectX for Windows audio/video [[default=yes]]
  --enable-sdl-dlopen     use dlopen for shared object loading [[default=yes]]
................................................................................
#   SDL_BINARY_AGE += 1;
# if any functions have been added, set SDL_INTERFACE_AGE to 0.
# if backwards compatibility has been broken,
# set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0.
#
SDL_MAJOR_VERSION=2
SDL_MINOR_VERSION=0
SDL_MICRO_VERSION=4
SDL_INTERFACE_AGE=0
SDL_BINARY_AGE=4
SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION






................................................................................
LIBS=`echo $LIBS | sed 's/-ldl//'`
LIBS=`echo $LIBS | sed 's/-lpthread//'`
LIBS=`echo $LIBS | sed 's/  //'`
LIBS="$ALSA_LIBS $LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ALSA_LIBS" >&5
$as_echo "$ALSA_LIBS" >&6; }

min_alsa_version=0.9.0
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libasound headers version >= $min_alsa_version" >&5
$as_echo_n "checking for libasound headers version >= $min_alsa_version... " >&6; }
no_alsa=""
    alsa_min_major_version=`echo $min_alsa_version | \
           sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
    alsa_min_minor_version=`echo $min_alsa_version | \
           sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
................................................................................
$as_echo "$have_gcc_preferred_stack_boundary" >&6; }
    CFLAGS="$save_CFLAGS"

    if test x$have_gcc_preferred_stack_boundary = xyes; then
        EXTRA_CFLAGS="$EXTRA_CFLAGS -mpreferred-stack-boundary=2"
    fi
}






































CheckWarnAll()
{
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -Wall option" >&5
$as_echo_n "checking for GCC -Wall option... " >&6; }
    have_gcc_Wall=no

................................................................................

        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Wayland support" >&5
$as_echo_n "checking for Wayland support... " >&6; }
        video_wayland=no
        if  test x$PKG_CONFIG != xno && \
            test x$video_opengl_egl = xyes && \
            test x$video_opengles_v2 = xyes; then
            if $PKG_CONFIG --exists wayland-client wayland-egl wayland-cursor egl xkbcommon ; then
                WAYLAND_CFLAGS=`$PKG_CONFIG --cflags wayland-client wayland-egl wayland-cursor xkbcommon`
                WAYLAND_LIBS=`$PKG_CONFIG --libs wayland-client wayland-egl wayland-cursor xkbcommon`



                video_wayland=yes
            fi
        fi
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $video_wayland" >&5
$as_echo "$video_wayland" >&6; }

        if test x$video_wayland = xyes; then
................................................................................
$as_echo "#define SDL_VIDEO_DRIVER_WAYLAND 1" >>confdefs.h

            if test x$enable_video_wayland_qt_touch = xyes; then

$as_echo "#define SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH 1" >>confdefs.h

            fi



            SOURCES="$SOURCES $srcdir/src/video/wayland/*.c"
            EXTRA_CFLAGS="$EXTRA_CFLAGS $WAYLAND_CFLAGS"
            # Check whether --enable-wayland-shared was given.
if test "${enable_wayland_shared+set}" = set; then :
  enableval=$enable_wayland_shared;
else
  enable_wayland_shared=maybe
fi

................................................................................

                #include <mir_toolkit/mir_client_library.h>

int
main ()
{

                    MirMotionToolType tool = mir_motion_tool_type_mouse;

  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :

................................................................................

                EXTRA_CFLAGS="$EXTRA_CFLAGS $DBUS_CFLAGS"
                SOURCES="$SOURCES $srcdir/src/core/linux/SDL_dbus.c"
            fi
        fi
    fi
}


















CheckIBus()
{
    # Check whether --enable-ibus was given.
if test "${enable_ibus+set}" = set; then :
  enableval=$enable_ibus;
else
................................................................................
else
  have_inotify_inotify_h_hdr=no
fi


            CFLAGS="$save_CFLAGS"
            if test x$have_ibus_ibus_h_hdr = xyes; then




                if test x$enable_dbus != xyes; then
                    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: DBus support is required for IBus." >&5
$as_echo "$as_me: WARNING: DBus support is required for IBus." >&2;}
                    have_ibus_ibus_h_hdr=no
                elif test x$have_inotify_inotify_h_hdr != xyes; then
                    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: INotify support is required for IBus." >&5
$as_echo "$as_me: WARNING: INotify support is required for IBus." >&2;}
                    have_ibus_ibus_h_hdr=no
................................................................................
                    EXTRA_CFLAGS="$EXTRA_CFLAGS $IBUS_CFLAGS"
                    SOURCES="$SOURCES $srcdir/src/core/linux/SDL_ibus.c"
               fi
            fi
        fi
    fi
}





















































































CheckTslib()
{
    # Check whether --enable-input-tslib was given.
if test "${enable_input_tslib+set}" = set; then :
  enableval=$enable_input_tslib;
else
................................................................................
if test "${enable_rpath+set}" = set; then :
  enableval=$enable_rpath;
else
  enable_rpath=yes
fi

}



case "$host" in
    *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-aix*|*-*-minix*)
        case "$host" in
            *-raspberry-linux*)
                # Raspberry Pi
                ARCH=linux
................................................................................
            *-*-sysv5*)         ARCH=sysv5 ;;
            *-*-solaris*)       ARCH=solaris ;;
            *-*-hpux*)          ARCH=hpux ;;
            *-*-aix*)           ARCH=aix ;;
            *-*-minix*)         ARCH=minix ;;
        esac
        CheckVisibilityHidden

        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio
        CheckDLOPEN
        CheckOSS
        CheckALSA
        CheckPulseAudio
................................................................................
        CheckFusionSound
        CheckOpenGLX11
        CheckOpenGLESX11
        CheckMir
        CheckWayland
        CheckLibUDev
        CheckDBus

        CheckIBus

        case $ARCH in
          linux)
              CheckInputEvents
              CheckInputKD
          ;;
        esac
        CheckTslib
................................................................................

    *-*-haiku*)
        ARCH=haiku
        ac_default_prefix=/boot/system
        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio

        CheckHaikuVideo
        CheckHaikuGL
        CheckPTHREAD

        # Set up files for the audio library
        if test x$enable_audio = xyes; then

................................................................................
        if test x$enable_timers = xyes; then

$as_echo "#define SDL_TIMER_HAIKU 1" >>confdefs.h

            SOURCES="$SOURCES $srcdir/src/timer/haiku/*.c"
            have_timers=yes
        fi
        # Set up files for the shared object loading library
        if test x$enable_loadso = xyes; then

$as_echo "#define SDL_LOADSO_HAIKU 1" >>confdefs.h

            SOURCES="$SOURCES $srcdir/src/loadso/haiku/*.c"
            have_loadso=yes
        fi
        # Set up files for the system power library
        if test x$enable_power = xyes; then

$as_echo "#define SDL_POWER_HAIKU 1" >>confdefs.h

            SOURCES="$SOURCES $srcdir/src/power/haiku/*.c"
            have_power=yes
................................................................................
        ;;
    arm*-apple-darwin*)
        # iOS - We are not writing anything to confdefs.h because you have to replace
        # SDL_config.h for SDL_config_iphoneos.h anyway
        ARCH=ios

        CheckVisibilityHidden

        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio
        CheckDLOPEN
        CheckCOCOA
        CheckPTHREAD


        # Set up files for the audio library
        if test x$enable_audio = xyes; then
            SOURCES="$SOURCES $srcdir/src/audio/coreaudio/*.c"
            SUMMARY_audio="${SUMMARY_audio} coreaudio"
            have_audio=yes
        fi
        # Set up files for the joystick library
        if test x$enable_joystick = xyes; then
            SOURCES="$SOURCES $srcdir/src/joystick/iphoneos/*.m"
            have_joystick=yes
................................................................................
        ARCH=macosx

        # Mac OS X builds with both the Carbon and OSX APIs at the moment
        EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_CARBON"
        EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_OSX"

        CheckVisibilityHidden

        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio
        CheckDLOPEN
        CheckCOCOA
        CheckX11
        CheckMacGL
................................................................................
        CheckPTHREAD

        # Set up files for the audio library
        if test x$enable_audio = xyes; then

$as_echo "#define SDL_AUDIO_DRIVER_COREAUDIO 1" >>confdefs.h

            SOURCES="$SOURCES $srcdir/src/audio/coreaudio/*.c"

            SUMMARY_audio="${SUMMARY_audio} coreaudio"
            have_audio=yes
        fi
        # Set up files for the joystick library
        if test x$enable_joystick = xyes; then

$as_echo "#define SDL_JOYSTICK_IOKIT 1" >>confdefs.h
................................................................................
        fi
        # Set up files for the haptic library
        if test x$enable_haptic = xyes; then

$as_echo "#define SDL_HAPTIC_IOKIT 1" >>confdefs.h

            SOURCES="$SOURCES $srcdir/src/haptic/darwin/*.c"
            have_haptic=yes
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,ForceFeedback"

        fi
        # Set up files for the power library
        if test x$enable_power = xyes; then

$as_echo "#define SDL_POWER_MACOSX 1" >>confdefs.h

            SOURCES="$SOURCES $srcdir/src/power/macosx/*.c"
................................................................................
        # The Mac OS X platform requires special setup.
        EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lobjc"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreVideo"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Cocoa"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Carbon"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,IOKit"
        # If audio is used, add the AudioUnit framework
        if test x$enable_audio = xyes; then
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit"
        fi
        ;;
    *-nacl|*-pnacl)
        ARCH=nacl
        CheckNativeClient
        CheckDummyAudio
        CheckDummyVideo
        CheckInputEvents
................................................................................

            SOURCES="$SOURCES $srcdir/src/audio/emscripten/*.c"
            have_audio=yes
            SUMMARY_audio="${SUMMARY_audio} emscripten"
        fi

        CheckVisibilityHidden

        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio
        CheckDLOPEN
        CheckClockGettime
        CheckEmscriptenGLES

................................................................................
    *)
        as_fn_error $? "
*** Unsupported host:  Please add to configure.in
        " "$LINENO" 5
        ;;
esac

CheckWarnAll

# Verify that we have all the platform specific files we need

if test x$have_joystick != xyes; then
    if test x$enable_joystick = xyes; then

$as_echo "#define SDL_JOYSTICK_DISABLED 1" >>confdefs.h

................................................................................
    fi
    SOURCES="$SOURCES $srcdir/src/loadso/dummy/*.c"
fi
if test x$SDLMAIN_SOURCES = x; then
    SDLMAIN_SOURCES="$srcdir/src/main/dummy/*.c"
fi
SDLTEST_SOURCES="$srcdir/src/test/*.c"




















































OBJECTS=`echo $SOURCES`
DEPENDS=`echo $SOURCES | tr ' ' '\n'`
for EXT in asm cc m c S; do
    OBJECTS=`echo "$OBJECTS" | sed 's,[^ ]*/\([^ ]*\)\.'$EXT',$(objects)/\1.lo,g'`
    DEPENDS=`echo "$DEPENDS" | sed "s,^\\([^ ]*\\)/\\([^ ]*\\)\\.$EXT\\$,\\\\
\\$(objects)/\\2.lo: \\1/\\2.$EXT\\\\
	\\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`
done



VERSION_OBJECTS=`echo $VERSION_SOURCES`
VERSION_DEPENDS=`echo $VERSION_SOURCES`
VERSION_OBJECTS=`echo "$VERSION_OBJECTS" | sed 's,[^ ]*/\([^ ]*\)\.rc,$(objects)/\1.o,g'`
VERSION_DEPENDS=`echo "$VERSION_DEPENDS" | sed "s,\\([^ ]*\\)/\\([^ ]*\\)\\.rc,\\\\
\\$(objects)/\\2.o: \\1/\\2.rc\\\\
	\\$(WINDRES) \\$< \\$@,g"`
................................................................................
	\\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`

# Set runtime shared library paths as needed

if test "x$enable_rpath" = "xyes"; then
  if test $ARCH = bsdi -o $ARCH = freebsd -o $ARCH = linux -o $ARCH = netbsd; then
    SDL_RLD_FLAGS="-Wl,-rpath,\${libdir}"






























  fi
  if test $ARCH = solaris; then
    SDL_RLD_FLAGS="-R\${libdir}"
  fi
else
  SDL_RLD_FLAGS=""
fi
................................................................................











cat >Makefile.rules <<__EOF__

# Build rules for objects
-include \$(OBJECTS:.lo=.d)

# Special dependency for SDL.c, since it depends on SDL_revision.h
$srcdir/src/SDL.c: update-revision
$DEPENDS
$VERSION_DEPENDS
$SDLMAIN_DEPENDS
$SDLTEST_DEPENDS

__EOF__

ac_config_files="$ac_config_files Makefile:Makefile.in:Makefile.rules sdl2-config sdl2-config.cmake SDL2.spec sdl2.pc"

ac_config_commands="$ac_config_commands sdl2_config"


................................................................................
SUMMARY="${SUMMARY}Assembly Math   :${SUMMARY_math}\n"
SUMMARY="${SUMMARY}Audio drivers   :${SUMMARY_audio}\n"
SUMMARY="${SUMMARY}Video drivers   :${SUMMARY_video}\n"
if test x$have_x = xyes; then
    SUMMARY="${SUMMARY}X11 libraries   :${SUMMARY_video_x11}\n"
fi
SUMMARY="${SUMMARY}Input drivers   :${SUMMARY_input}\n"
if test x$enable_libudev = xyes; then
    SUMMARY="${SUMMARY}Using libudev   : YES\n"
else
    SUMMARY="${SUMMARY}Using libudev   : NO\n"
fi
if test x$have_dbus_dbus_h_hdr = xyes; then
    SUMMARY="${SUMMARY}Using dbus      : YES\n"
else
    SUMMARY="${SUMMARY}Using dbus      : NO\n"
fi





if test x$have_ibus_ibus_h_hdr = xyes; then
    SUMMARY="${SUMMARY}Using ibus      : YES\n"
else
    SUMMARY="${SUMMARY}Using ibus      : NO\n"





fi
ac_config_commands="$ac_config_commands summary"


cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure







>







>
>







 







>

>







 







>

>







 







|
|
|







 







|







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







|


>
>
>







 







>
>
>

|







 







|







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>
>
>
|







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>







 







>







 







>

>







 







>







 







<
<
<
<
<
<
<
<







 







>










|







 







>







 







|
>







 







<

>







 







<
<
<
<







 







>







 







<
<







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>









>
>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>
>












>







 







|









>
>
>
>
>




>
>
>
>
>







626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
...
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
....
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
....
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
.....
17604
17605
17606
17607
17608
17609
17610
17611
17612
17613
17614
17615
17616
17617
17618
.....
18652
18653
18654
18655
18656
18657
18658
18659
18660
18661
18662
18663
18664
18665
18666
18667
18668
18669
18670
18671
18672
18673
18674
18675
18676
18677
18678
18679
18680
18681
18682
18683
18684
18685
18686
18687
18688
18689
18690
18691
18692
18693
18694
18695
18696
18697
18698
18699
18700
18701
18702
.....
18807
18808
18809
18810
18811
18812
18813
18814
18815
18816
18817
18818
18819
18820
18821
18822
18823
18824
18825
18826
.....
18828
18829
18830
18831
18832
18833
18834
18835
18836
18837
18838
18839
18840
18841
18842
18843
18844
18845
18846
.....
18974
18975
18976
18977
18978
18979
18980
18981
18982
18983
18984
18985
18986
18987
18988
.....
21649
21650
21651
21652
21653
21654
21655
21656
21657
21658
21659
21660
21661
21662
21663
21664
21665
21666
21667
21668
21669
21670
21671
21672
21673
21674
21675
21676
21677
21678
21679
.....
21740
21741
21742
21743
21744
21745
21746
21747
21748
21749
21750
21751
21752
21753
21754
21755
21756
21757
21758
.....
21763
21764
21765
21766
21767
21768
21769
21770
21771
21772
21773
21774
21775
21776
21777
21778
21779
21780
21781
21782
21783
21784
21785
21786
21787
21788
21789
21790
21791
21792
21793
21794
21795
21796
21797
21798
21799
21800
21801
21802
21803
21804
21805
21806
21807
21808
21809
21810
21811
21812
21813
21814
21815
21816
21817
21818
21819
21820
21821
21822
21823
21824
21825
21826
21827
21828
21829
21830
21831
21832
21833
21834
21835
21836
21837
21838
21839
21840
21841
21842
21843
21844
21845
21846
21847
21848
21849
21850
21851
21852
21853
21854
21855
21856
21857
21858
21859
21860
.....
23044
23045
23046
23047
23048
23049
23050
23051
23052
23053
23054
23055
23056
23057
23058
23059
.....
23115
23116
23117
23118
23119
23120
23121
23122
23123
23124
23125
23126
23127
23128
23129
.....
23136
23137
23138
23139
23140
23141
23142
23143
23144
23145
23146
23147
23148
23149
23150
23151
23152
.....
23486
23487
23488
23489
23490
23491
23492
23493
23494
23495
23496
23497
23498
23499
23500
.....
23515
23516
23517
23518
23519
23520
23521








23522
23523
23524
23525
23526
23527
23528
.....
23541
23542
23543
23544
23545
23546
23547
23548
23549
23550
23551
23552
23553
23554
23555
23556
23557
23558
23559
23560
23561
23562
23563
23564
23565
23566
.....
23611
23612
23613
23614
23615
23616
23617
23618
23619
23620
23621
23622
23623
23624
23625
.....
23627
23628
23629
23630
23631
23632
23633
23634
23635
23636
23637
23638
23639
23640
23641
23642
.....
23646
23647
23648
23649
23650
23651
23652

23653
23654
23655
23656
23657
23658
23659
23660
23661
.....
23684
23685
23686
23687
23688
23689
23690




23691
23692
23693
23694
23695
23696
23697
.....
23729
23730
23731
23732
23733
23734
23735
23736
23737
23738
23739
23740
23741
23742
23743
.....
23779
23780
23781
23782
23783
23784
23785


23786
23787
23788
23789
23790
23791
23792
.....
23833
23834
23835
23836
23837
23838
23839
23840
23841
23842
23843
23844
23845
23846
23847
23848
23849
23850
23851
23852
23853
23854
23855
23856
23857
23858
23859
23860
23861
23862
23863
23864
23865
23866
23867
23868
23869
23870
23871
23872
23873
23874
23875
23876
23877
23878
23879
23880
23881
23882
23883
23884
23885
23886
23887
23888
23889
23890
23891
23892
23893
23894
23895
23896
23897
23898
23899
23900
23901
23902
23903
23904
23905
23906
23907
23908
.....
23922
23923
23924
23925
23926
23927
23928
23929
23930
23931
23932
23933
23934
23935
23936
23937
23938
23939
23940
23941
23942
23943
23944
23945
23946
23947
23948
23949
23950
23951
23952
23953
23954
23955
23956
23957
23958
23959
23960
23961
23962
23963
23964
23965
.....
23996
23997
23998
23999
24000
24001
24002
24003
24004
24005
24006
24007
24008
24009
24010
24011
24012
24013
24014
24015
24016
24017
24018
24019
24020
24021
24022
24023
24024
24025
.....
24034
24035
24036
24037
24038
24039
24040
24041
24042
24043
24044
24045
24046
24047
24048
24049
24050
24051
24052
24053
24054
24055
24056
24057
24058
24059
24060
24061
24062
24063
24064
24065
24066
24067
24068
24069
24070
24071
# include <stdint.h>
#endif
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif"

ac_subst_vars='LTLIBOBJS
WAYLAND_SCANNER
EXTRA_LDFLAGS
BUILD_LDFLAGS
EXTRA_CFLAGS
BUILD_CFLAGS
SDLTEST_OBJECTS
SDLMAIN_OBJECTS
VERSION_OBJECTS
GEN_OBJECTS
GEN_HEADERS
OBJECTS
INCLUDE
ac_aux_dir
ENABLE_STATIC_FALSE
ENABLE_STATIC_TRUE
ENABLE_SHARED_FALSE
ENABLE_SHARED_TRUE
................................................................................
enable_video_dummy
enable_video_opengl
enable_video_opengles
enable_video_opengles1
enable_video_opengles2
enable_libudev
enable_dbus
enable_ime
enable_ibus
enable_fcitx
enable_input_tslib
enable_pthreads
enable_pthread_sem
enable_directx
enable_sdl_dlopen
enable_clock_gettime
enable_rpath
................................................................................
  --enable-video-opengles include OpenGL ES support [[default=yes]]
  --enable-video-opengles1
                          include OpenGL ES 1.1 support [[default=yes]]
  --enable-video-opengles2
                          include OpenGL ES 2.0 support [[default=yes]]
  --enable-libudev        enable libudev support [[default=yes]]
  --enable-dbus           enable D-Bus support [[default=yes]]
  --enable-ime            enable IME support [[default=yes]]
  --enable-ibus           enable IBus support [[default=yes]]
  --enable-fcitx          enable fcitx support [[default=yes]]
  --enable-input-tslib    use the Touchscreen library for input
                          [[default=yes]]
  --enable-pthreads       use POSIX threads for multi-threading
                          [[default=yes]]
  --enable-pthread-sem    use pthread semaphores [[default=yes]]
  --enable-directx        use DirectX for Windows audio/video [[default=yes]]
  --enable-sdl-dlopen     use dlopen for shared object loading [[default=yes]]
................................................................................
#   SDL_BINARY_AGE += 1;
# if any functions have been added, set SDL_INTERFACE_AGE to 0.
# if backwards compatibility has been broken,
# set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0.
#
SDL_MAJOR_VERSION=2
SDL_MINOR_VERSION=0
SDL_MICRO_VERSION=5
SDL_INTERFACE_AGE=1
SDL_BINARY_AGE=5
SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION






................................................................................
LIBS=`echo $LIBS | sed 's/-ldl//'`
LIBS=`echo $LIBS | sed 's/-lpthread//'`
LIBS=`echo $LIBS | sed 's/  //'`
LIBS="$ALSA_LIBS $LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ALSA_LIBS" >&5
$as_echo "$ALSA_LIBS" >&6; }

min_alsa_version=1.0.11
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libasound headers version >= $min_alsa_version" >&5
$as_echo_n "checking for libasound headers version >= $min_alsa_version... " >&6; }
no_alsa=""
    alsa_min_major_version=`echo $min_alsa_version | \
           sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
    alsa_min_minor_version=`echo $min_alsa_version | \
           sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
................................................................................
$as_echo "$have_gcc_preferred_stack_boundary" >&6; }
    CFLAGS="$save_CFLAGS"

    if test x$have_gcc_preferred_stack_boundary = xyes; then
        EXTRA_CFLAGS="$EXTRA_CFLAGS -mpreferred-stack-boundary=2"
    fi
}

CheckDeclarationAfterStatement()
{
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -Wdeclaration-after-statement option" >&5
$as_echo_n "checking for GCC -Wdeclaration-after-statement option... " >&6; }
    have_gcc_declaration_after_statement=no

    save_CFLAGS="$CFLAGS"
    CFLAGS="$save_CFLAGS -Wdeclaration-after-statement -Werror=declaration-after-statement"
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

    int x = 0;

int
main ()
{


  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :

    have_gcc_declaration_after_statement=yes

fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_declaration_after_statement" >&5
$as_echo "$have_gcc_declaration_after_statement" >&6; }
    CFLAGS="$save_CFLAGS"

    if test x$have_gcc_declaration_after_statement = xyes; then
        EXTRA_CFLAGS="$EXTRA_CFLAGS -Wdeclaration-after-statement -Werror=declaration-after-statement"
    fi
}

CheckWarnAll()
{
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -Wall option" >&5
$as_echo_n "checking for GCC -Wall option... " >&6; }
    have_gcc_Wall=no

................................................................................

        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Wayland support" >&5
$as_echo_n "checking for Wayland support... " >&6; }
        video_wayland=no
        if  test x$PKG_CONFIG != xno && \
            test x$video_opengl_egl = xyes && \
            test x$video_opengles_v2 = xyes; then
            if $PKG_CONFIG --exists wayland-client wayland-scanner wayland-protocols wayland-egl wayland-cursor egl xkbcommon ; then
                WAYLAND_CFLAGS=`$PKG_CONFIG --cflags wayland-client wayland-egl wayland-cursor xkbcommon`
                WAYLAND_LIBS=`$PKG_CONFIG --libs wayland-client wayland-egl wayland-cursor xkbcommon`
                WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`
                WAYLAND_CORE_PROTOCOL_DIR=`$PKG_CONFIG --variable=pkgdatadir wayland-client`
                WAYLAND_PROTOCOLS_DIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`
                video_wayland=yes
            fi
        fi
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $video_wayland" >&5
$as_echo "$video_wayland" >&6; }

        if test x$video_wayland = xyes; then
................................................................................
$as_echo "#define SDL_VIDEO_DRIVER_WAYLAND 1" >>confdefs.h

            if test x$enable_video_wayland_qt_touch = xyes; then

$as_echo "#define SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH 1" >>confdefs.h

            fi

            WAYLAND_PROTOCOLS_UNSTABLE="relative-pointer-unstable-v1 pointer-constraints-unstable-v1"

            SOURCES="$SOURCES $srcdir/src/video/wayland/*.c"
            EXTRA_CFLAGS="$EXTRA_CFLAGS $WAYLAND_CFLAGS -I\$(gen)"
            # Check whether --enable-wayland-shared was given.
if test "${enable_wayland_shared+set}" = set; then :
  enableval=$enable_wayland_shared;
else
  enable_wayland_shared=maybe
fi

................................................................................

                #include <mir_toolkit/mir_client_library.h>

int
main ()
{

                    MirTouchAction actions = mir_touch_actions

  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :

................................................................................

                EXTRA_CFLAGS="$EXTRA_CFLAGS $DBUS_CFLAGS"
                SOURCES="$SOURCES $srcdir/src/core/linux/SDL_dbus.c"
            fi
        fi
    fi
}

CheckIME()
{
    # Check whether --enable-ime was given.
if test "${enable_ime+set}" = set; then :
  enableval=$enable_ime;
else
  enable_ime=yes
fi

    if test x$enable_ime = xyes; then

$as_echo "#define SDL_USE_IME 1" >>confdefs.h

            SOURCES="$SOURCES $srcdir/src/core/linux/SDL_ime.c"
    fi
}

CheckIBus()
{
    # Check whether --enable-ibus was given.
if test "${enable_ibus+set}" = set; then :
  enableval=$enable_ibus;
else
................................................................................
else
  have_inotify_inotify_h_hdr=no
fi


            CFLAGS="$save_CFLAGS"
            if test x$have_ibus_ibus_h_hdr = xyes; then
                if test x$enable_ime != xyes; then
                    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: IME support is required for IBus." >&5
$as_echo "$as_me: WARNING: IME support is required for IBus." >&2;}
                    have_ibus_ibus_h_hdr=no
                elif test x$enable_dbus != xyes; then
                    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: DBus support is required for IBus." >&5
$as_echo "$as_me: WARNING: DBus support is required for IBus." >&2;}
                    have_ibus_ibus_h_hdr=no
                elif test x$have_inotify_inotify_h_hdr != xyes; then
                    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: INotify support is required for IBus." >&5
$as_echo "$as_me: WARNING: INotify support is required for IBus." >&2;}
                    have_ibus_ibus_h_hdr=no
................................................................................
                    EXTRA_CFLAGS="$EXTRA_CFLAGS $IBUS_CFLAGS"
                    SOURCES="$SOURCES $srcdir/src/core/linux/SDL_ibus.c"
               fi
            fi
        fi
    fi
}

CheckFcitx()
{
    # Check whether --enable-fcitx was given.
if test "${enable_fcitx+set}" = set; then :
  enableval=$enable_fcitx;
else
  enable_fcitx=yes
fi

    if test x$enable_fcitx = xyes; then
        # Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_PKG_CONFIG+:} false; then :
  $as_echo_n "(cached) " >&6
else
  case $PKG_CONFIG in
  [\\/]* | ?:[\\/]*)
  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
  ;;
  *)
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    for ac_exec_ext in '' $ac_executable_extensions; do
  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
  done
IFS=$as_save_IFS

  test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
  ;;
esac
fi
PKG_CONFIG=$ac_cv_path_PKG_CONFIG
if test -n "$PKG_CONFIG"; then
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
$as_echo "$PKG_CONFIG" >&6; }
else
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi


        if test x$PKG_CONFIG != xno; then
            FCITX_CFLAGS=`$PKG_CONFIG --cflags fcitx`
            CFLAGS="$CFLAGS $FCITX_CFLAGS"
            ac_fn_c_check_header_mongrel "$LINENO" "fcitx/frontend.h" "ac_cv_header_fcitx_frontend_h" "$ac_includes_default"
if test "x$ac_cv_header_fcitx_frontend_h" = xyes; then :
  have_fcitx_frontend_h_hdr=yes
else
  have_fcitx_frontend_h_hdr=no
fi


            CFLAGS="$save_CFLAGS"
            if test x$have_fcitx_frontend_h_hdr = xyes; then
                if test x$enable_ime != xyes; then
                    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: IME support is required for fcitx." >&5
$as_echo "$as_me: WARNING: IME support is required for fcitx." >&2;}
                    have_fcitx_frontend_h_hdr=no
                elif test x$enable_dbus != xyes; then
                    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: DBus support is required for fcitx." >&5
$as_echo "$as_me: WARNING: DBus support is required for fcitx." >&2;}
                    have_fcitx_frontend_h_hdr=no
                else

$as_echo "#define HAVE_FCITX_FRONTEND_H 1" >>confdefs.h

                    EXTRA_CFLAGS="$EXTRA_CFLAGS $FCITX_CFLAGS"
                    SOURCES="$SOURCES $srcdir/src/core/linux/SDL_fcitx.c"
               fi
            fi
        fi
    fi
}

CheckTslib()
{
    # Check whether --enable-input-tslib was given.
if test "${enable_input_tslib+set}" = set; then :
  enableval=$enable_input_tslib;
else
................................................................................
if test "${enable_rpath+set}" = set; then :
  enableval=$enable_rpath;
else
  enable_rpath=yes
fi

}

CheckWarnAll

case "$host" in
    *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-aix*|*-*-minix*)
        case "$host" in
            *-raspberry-linux*)
                # Raspberry Pi
                ARCH=linux
................................................................................
            *-*-sysv5*)         ARCH=sysv5 ;;
            *-*-solaris*)       ARCH=solaris ;;
            *-*-hpux*)          ARCH=hpux ;;
            *-*-aix*)           ARCH=aix ;;
            *-*-minix*)         ARCH=minix ;;
        esac
        CheckVisibilityHidden
        CheckDeclarationAfterStatement
        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio
        CheckDLOPEN
        CheckOSS
        CheckALSA
        CheckPulseAudio
................................................................................
        CheckFusionSound
        CheckOpenGLX11
        CheckOpenGLESX11
        CheckMir
        CheckWayland
        CheckLibUDev
        CheckDBus
        CheckIME
        CheckIBus
        CheckFcitx
        case $ARCH in
          linux)
              CheckInputEvents
              CheckInputKD
          ;;
        esac
        CheckTslib
................................................................................

    *-*-haiku*)
        ARCH=haiku
        ac_default_prefix=/boot/system
        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio
        CheckDLOPEN
        CheckHaikuVideo
        CheckHaikuGL
        CheckPTHREAD

        # Set up files for the audio library
        if test x$enable_audio = xyes; then

................................................................................
        if test x$enable_timers = xyes; then

$as_echo "#define SDL_TIMER_HAIKU 1" >>confdefs.h

            SOURCES="$SOURCES $srcdir/src/timer/haiku/*.c"
            have_timers=yes
        fi








        # Set up files for the system power library
        if test x$enable_power = xyes; then

$as_echo "#define SDL_POWER_HAIKU 1" >>confdefs.h

            SOURCES="$SOURCES $srcdir/src/power/haiku/*.c"
            have_power=yes
................................................................................
        ;;
    arm*-apple-darwin*)
        # iOS - We are not writing anything to confdefs.h because you have to replace
        # SDL_config.h for SDL_config_iphoneos.h anyway
        ARCH=ios

        CheckVisibilityHidden
        CheckDeclarationAfterStatement
        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio
        CheckDLOPEN
        CheckCOCOA
        CheckPTHREAD


        # Set up files for the audio library
        if test x$enable_audio = xyes; then
            SOURCES="$SOURCES $srcdir/src/audio/coreaudio/*.m"
            SUMMARY_audio="${SUMMARY_audio} coreaudio"
            have_audio=yes
        fi
        # Set up files for the joystick library
        if test x$enable_joystick = xyes; then
            SOURCES="$SOURCES $srcdir/src/joystick/iphoneos/*.m"
            have_joystick=yes
................................................................................
        ARCH=macosx

        # Mac OS X builds with both the Carbon and OSX APIs at the moment
        EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_CARBON"
        EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_OSX"

        CheckVisibilityHidden
        CheckDeclarationAfterStatement
        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio
        CheckDLOPEN
        CheckCOCOA
        CheckX11
        CheckMacGL
................................................................................
        CheckPTHREAD

        # Set up files for the audio library
        if test x$enable_audio = xyes; then

$as_echo "#define SDL_AUDIO_DRIVER_COREAUDIO 1" >>confdefs.h

            SOURCES="$SOURCES $srcdir/src/audio/coreaudio/*.m"
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox"
            SUMMARY_audio="${SUMMARY_audio} coreaudio"
            have_audio=yes
        fi
        # Set up files for the joystick library
        if test x$enable_joystick = xyes; then

$as_echo "#define SDL_JOYSTICK_IOKIT 1" >>confdefs.h
................................................................................
        fi
        # Set up files for the haptic library
        if test x$enable_haptic = xyes; then

$as_echo "#define SDL_HAPTIC_IOKIT 1" >>confdefs.h

            SOURCES="$SOURCES $srcdir/src/haptic/darwin/*.c"

            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,ForceFeedback"
            have_haptic=yes
        fi
        # Set up files for the power library
        if test x$enable_power = xyes; then

$as_echo "#define SDL_POWER_MACOSX 1" >>confdefs.h

            SOURCES="$SOURCES $srcdir/src/power/macosx/*.c"
................................................................................
        # The Mac OS X platform requires special setup.
        EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lobjc"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreVideo"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Cocoa"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Carbon"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,IOKit"




        ;;
    *-nacl|*-pnacl)
        ARCH=nacl
        CheckNativeClient
        CheckDummyAudio
        CheckDummyVideo
        CheckInputEvents
................................................................................

            SOURCES="$SOURCES $srcdir/src/audio/emscripten/*.c"
            have_audio=yes
            SUMMARY_audio="${SUMMARY_audio} emscripten"
        fi

        CheckVisibilityHidden
        CheckDeclarationAfterStatement
        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio
        CheckDLOPEN
        CheckClockGettime
        CheckEmscriptenGLES

................................................................................
    *)
        as_fn_error $? "
*** Unsupported host:  Please add to configure.in
        " "$LINENO" 5
        ;;
esac



# Verify that we have all the platform specific files we need

if test x$have_joystick != xyes; then
    if test x$enable_joystick = xyes; then

$as_echo "#define SDL_JOYSTICK_DISABLED 1" >>confdefs.h

................................................................................
    fi
    SOURCES="$SOURCES $srcdir/src/loadso/dummy/*.c"
fi
if test x$SDLMAIN_SOURCES = x; then
    SDLMAIN_SOURCES="$srcdir/src/main/dummy/*.c"
fi
SDLTEST_SOURCES="$srcdir/src/test/*.c"

if test x$video_wayland = xyes; then
    WAYLAND_CORE_PROTOCOL_SOURCE='$(gen)/wayland-protocol.c'
    WAYLAND_CORE_PROTOCOL_HEADER='$(gen)/wayland-client-protocol.h'
    WAYLAND_PROTOCOLS_UNSTABLE_SOURCES=`echo $WAYLAND_PROTOCOLS_UNSTABLE |\
        sed 's,[^ ]\+,\\$(gen)/&-protocol.c,g'`
    WAYLAND_PROTOCOLS_UNSTABLE_HEADERS=`echo $WAYLAND_PROTOCOLS_UNSTABLE |\
        sed 's,[^ ]\+,\\$(gen)/&-client-protocol.h,g'`
    GEN_SOURCES="$GEN_SOURCES $WAYLAND_CORE_PROTOCOL_SOURCE $WAYLAND_PROTOCOLS_UNSTABLE_SOURCES"
    GEN_HEADERS="$GEN_HEADERS $WAYLAND_CORE_PROTOCOL_HEADER $WAYLAND_PROTOCOLS_UNSTABLE_HEADERS"

    WAYLAND_CORE_PROTOCOL_SOURCE_DEPENDS="
$WAYLAND_CORE_PROTOCOL_SOURCE: $WAYLAND_CORE_PROTOCOL_DIR/wayland.xml
	\$(SHELL) \$(auxdir)/mkinstalldirs \$(gen)
	\$(RUN_CMD_GEN)\$(WAYLAND_SCANNER) code \$< \$@"

    WAYLAND_CORE_PROTOCOL_HEADER_DEPENDS="
$WAYLAND_CORE_PROTOCOL_HEADER: $WAYLAND_CORE_PROTOCOL_DIR/wayland.xml
	\$(SHELL) \$(auxdir)/mkinstalldirs \$(gen)
	\$(RUN_CMD_GEN)\$(WAYLAND_SCANNER) client-header \$< \$@"

    WAYLAND_CORE_PROTOCOL_OBJECT="
\$(objects)/`echo $WAYLAND_CORE_PROTOCOL_SOURCE | sed 's/\$(gen)\/\(.*\).c$/\1.lo/'`: $WAYLAND_CORE_PROTOCOL_SOURCE
	\$(RUN_CMD_CC)\$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \$< -o \$@"

    WAYLAND_PROTOCOLS_CLIENT_HEADER_UNSTABLE_DEPENDS=`for p in $WAYLAND_PROTOCOLS_UNSTABLE;\
        do echo ; echo \$p | sed\
        "s,^\\([a-z\\-]\\+\\)-unstable-\\(v[0-9]\+\\)\$,\\$(gen)/&-client-protocol.h: $WAYLAND_PROTOCOLS_DIR/unstable/\1/&.xml\\\\
	\\$(SHELL) \\$(auxdir)/mkinstalldirs \\$(gen)\\\\
	\\$(RUN_CMD_GEN)\\$(WAYLAND_SCANNER) client-header \\$< \\$@," ; done`

    WAYLAND_PROTOCOLS_CODE_UNSTABLE_DEPENDS=`for p in $WAYLAND_PROTOCOLS_UNSTABLE;\
        do echo ; echo \$p | sed\
        "s,^\\([a-z\\-]\\+\\)-unstable-\\(v[0-9]\+\\)\$,\\$(gen)/&-protocol.c: $WAYLAND_PROTOCOLS_DIR/unstable/\1/&.xml\\\\
	\\$(SHELL) \\$(auxdir)/mkinstalldirs \\$(gen)\\\\
	\\$(RUN_CMD_GEN)\\$(WAYLAND_SCANNER) code \\$< \\$@," ; done`

    WAYLAND_PROTOCOLS_OBJECTS_UNSTABLE=`for p in $WAYLAND_PROTOCOLS_UNSTABLE;\
        do echo ; echo \$p | sed\
        "s,^\\([a-z\\-]\\+\\)-unstable-\\(v[0-9]\+\\)\$,\\\$(objects)/&-protocol.lo: \\$(gen)/&-protocol.c \\$(gen)/&-client-protocol.h\\\\
	\\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@," ; done`

    WAYLAND_PROTOCOLS_DEPENDS="
$WAYLAND_CORE_PROTOCOL_SOURCE_DEPENDS
$WAYLAND_CORE_PROTOCOL_HEADER_DEPENDS
$WAYLAND_CORE_PROTOCOL_OBJECT
$WAYLAND_PROTOCOLS_CLIENT_HEADER_UNSTABLE_DEPENDS
$WAYLAND_PROTOCOLS_CODE_UNSTABLE_DEPENDS
$WAYLAND_PROTOCOLS_OBJECTS_UNSTABLE
"
fi

OBJECTS=`echo $SOURCES`
DEPENDS=`echo $SOURCES | tr ' ' '\n'`
for EXT in asm cc m c S; do
    OBJECTS=`echo "$OBJECTS" | sed 's,[^ ]*/\([^ ]*\)\.'$EXT',$(objects)/\1.lo,g'`
    DEPENDS=`echo "$DEPENDS" | sed "s,^\\([^ ]*\\)/\\([^ ]*\\)\\.$EXT\\$,\\\\
\\$(objects)/\\2.lo: \\1/\\2.$EXT\\\\
	\\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`
done

GEN_OBJECTS=`echo "$GEN_SOURCES" | sed 's,[^ ]*/\([^ ]*\)\.c,$(objects)/\1.lo,g'`

VERSION_OBJECTS=`echo $VERSION_SOURCES`
VERSION_DEPENDS=`echo $VERSION_SOURCES`
VERSION_OBJECTS=`echo "$VERSION_OBJECTS" | sed 's,[^ ]*/\([^ ]*\)\.rc,$(objects)/\1.o,g'`
VERSION_DEPENDS=`echo "$VERSION_DEPENDS" | sed "s,\\([^ ]*\\)/\\([^ ]*\\)\\.rc,\\\\
\\$(objects)/\\2.o: \\1/\\2.rc\\\\
	\\$(WINDRES) \\$< \\$@,g"`
................................................................................
	\\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`

# Set runtime shared library paths as needed

if test "x$enable_rpath" = "xyes"; then
  if test $ARCH = bsdi -o $ARCH = freebsd -o $ARCH = linux -o $ARCH = netbsd; then
    SDL_RLD_FLAGS="-Wl,-rpath,\${libdir}"

    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for linker option --enable-new-dtags" >&5
$as_echo_n "checking for linker option --enable-new-dtags... " >&6; }
    have_enable_new_dtags=no
    save_LDFLAGS="$LDFLAGS"
    LDFLAGS="$LDFLAGS -Wl,--enable-new-dtags"
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */


int
main ()
{


  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :

    have_enable_new_dtags=yes
    SDL_RLD_FLAGS="$SDL_RLD_FLAGS -Wl,--enable-new-dtags"

fi
rm -f core conftest.err conftest.$ac_objext \
    conftest$ac_exeext conftest.$ac_ext
    LDFLAGS="$save_LDFLAGS"
    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_enable_new_dtags" >&5
$as_echo "$have_enable_new_dtags" >&6; }
  fi
  if test $ARCH = solaris; then
    SDL_RLD_FLAGS="-R\${libdir}"
  fi
else
  SDL_RLD_FLAGS=""
fi
................................................................................











cat >Makefile.rules <<__EOF__

# Build rules for objects
-include \$(OBJECTS:.lo=.d)

# Special dependency for SDL.c, since it depends on SDL_revision.h
$srcdir/src/SDL.c: update-revision
$DEPENDS
$VERSION_DEPENDS
$SDLMAIN_DEPENDS
$SDLTEST_DEPENDS
$WAYLAND_PROTOCOLS_DEPENDS
__EOF__

ac_config_files="$ac_config_files Makefile:Makefile.in:Makefile.rules sdl2-config sdl2-config.cmake SDL2.spec sdl2.pc"

ac_config_commands="$ac_config_commands sdl2_config"


................................................................................
SUMMARY="${SUMMARY}Assembly Math   :${SUMMARY_math}\n"
SUMMARY="${SUMMARY}Audio drivers   :${SUMMARY_audio}\n"
SUMMARY="${SUMMARY}Video drivers   :${SUMMARY_video}\n"
if test x$have_x = xyes; then
    SUMMARY="${SUMMARY}X11 libraries   :${SUMMARY_video_x11}\n"
fi
SUMMARY="${SUMMARY}Input drivers   :${SUMMARY_input}\n"
if test x$have_libudev_h_hdr = xyes; then
    SUMMARY="${SUMMARY}Using libudev   : YES\n"
else
    SUMMARY="${SUMMARY}Using libudev   : NO\n"
fi
if test x$have_dbus_dbus_h_hdr = xyes; then
    SUMMARY="${SUMMARY}Using dbus      : YES\n"
else
    SUMMARY="${SUMMARY}Using dbus      : NO\n"
fi
if test x$enable_ime = xyes; then
    SUMMARY="${SUMMARY}Using ime       : YES\n"
else
    SUMMARY="${SUMMARY}Using ime       : NO\n"
fi
if test x$have_ibus_ibus_h_hdr = xyes; then
    SUMMARY="${SUMMARY}Using ibus      : YES\n"
else
    SUMMARY="${SUMMARY}Using ibus      : NO\n"
fi
if test x$have_fcitx_frontend_h_hdr = xyes; then
    SUMMARY="${SUMMARY}Using fcitx     : YES\n"
else
    SUMMARY="${SUMMARY}Using fcitx     : NO\n"
fi
ac_config_commands="$ac_config_commands summary"


cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure

Changes to jni/SDL2/configure.in.

16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
...
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
....
1119
1120
1121
1122
1123
1124
1125
























1126
1127
1128
1129
1130
1131
1132
....
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182



1183
1184
1185
1186
1187
1188
1189
1190
1191
1192



1193
1194
1195
1196
1197
1198
1199
1200
1201
....
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
....
2225
2226
2227
2228
2229
2230
2231












2232
2233
2234
2235
2236
2237
2238
....
2246
2247
2248
2249
2250
2251
2252



2253
2254
2255
2256
2257
2258
2259
2260
....
2261
2262
2263
2264
2265
2266
2267
































2268
2269
2270
2271
2272
2273
2274
....
2796
2797
2798
2799
2800
2801
2802



2803
2804
2805
2806
2807
2808
2809
....
2866
2867
2868
2869
2870
2871
2872

2873
2874
2875
2876
2877
2878
2879
....
2886
2887
2888
2889
2890
2891
2892

2893

2894
2895
2896
2897
2898
2899
2900
....
3142
3143
3144
3145
3146
3147
3148

3149
3150
3151
3152
3153
3154
3155
....
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
....
3192
3193
3194
3195
3196
3197
3198

3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
....
3261
3262
3263
3264
3265
3266
3267

3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281

3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296

3297
3298
3299
3300
3301
3302
3303
....
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
....
3362
3363
3364
3365
3366
3367
3368

3369
3370
3371
3372
3373
3374
3375
....
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
....
3448
3449
3450
3451
3452
3453
3454



















































3455
3456
3457
3458
3459
3460
3461
3462
3463


3464
3465
3466
3467
3468
3469
3470
....
3484
3485
3486
3487
3488
3489
3490













3491
3492
3493
3494
3495
3496
3497
....
3522
3523
3524
3525
3526
3527
3528


3529
3530
3531
3532
3533
3534
3535
3536

3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548

3549
3550
3551
3552
3553
3554
3555
....
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580





3581
3582
3583
3584





3585
3586
3587
3588
#   SDL_BINARY_AGE += 1;
# if any functions have been added, set SDL_INTERFACE_AGE to 0.
# if backwards compatibility has been broken,
# set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0.
#
SDL_MAJOR_VERSION=2
SDL_MINOR_VERSION=0
SDL_MICRO_VERSION=4
SDL_INTERFACE_AGE=0
SDL_BINARY_AGE=4
SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION

AC_SUBST(SDL_MAJOR_VERSION)
AC_SUBST(SDL_MINOR_VERSION)
AC_SUBST(SDL_MICRO_VERSION)
AC_SUBST(SDL_INTERFACE_AGE)
AC_SUBST(SDL_BINARY_AGE)
................................................................................
dnl See if the ALSA audio interface is supported
CheckALSA()
{
    AC_ARG_ENABLE(alsa,
AC_HELP_STRING([--enable-alsa], [support the ALSA audio API [[default=yes]]]),
                  , enable_alsa=yes)
    if test x$enable_audio = xyes -a x$enable_alsa = xyes; then
        AM_PATH_ALSA(0.9.0, have_alsa=yes, have_alsa=no)
        # Restore all flags from before the ALSA detection runs
        CFLAGS="$alsa_save_CFLAGS"
        LDFLAGS="$alsa_save_LDFLAGS"
        LIBS="$alsa_save_LIBS"
        if test x$have_alsa = xyes; then
            AC_ARG_ENABLE(alsa-shared,
AC_HELP_STRING([--enable-alsa-shared], [dynamically load ALSA audio support [[default=yes]]]),
................................................................................
    AC_MSG_RESULT($have_gcc_preferred_stack_boundary)
    CFLAGS="$save_CFLAGS"

    if test x$have_gcc_preferred_stack_boundary = xyes; then
        EXTRA_CFLAGS="$EXTRA_CFLAGS -mpreferred-stack-boundary=2"
    fi
}

























dnl See if GCC's -Wall is supported.
CheckWarnAll()
{
    AC_MSG_CHECKING(for GCC -Wall option)
    have_gcc_Wall=no

................................................................................
    if test x$enable_video = xyes -a x$enable_video_wayland = xyes; then
        AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
        AC_MSG_CHECKING(for Wayland support)
        video_wayland=no
        if  test x$PKG_CONFIG != xno && \
            test x$video_opengl_egl = xyes && \
            test x$video_opengles_v2 = xyes; then
            if $PKG_CONFIG --exists wayland-client wayland-egl wayland-cursor egl xkbcommon ; then
                WAYLAND_CFLAGS=`$PKG_CONFIG --cflags wayland-client wayland-egl wayland-cursor xkbcommon`
                WAYLAND_LIBS=`$PKG_CONFIG --libs wayland-client wayland-egl wayland-cursor xkbcommon`



                video_wayland=yes
            fi
        fi
        AC_MSG_RESULT($video_wayland)

        if test x$video_wayland = xyes; then
            AC_DEFINE(SDL_VIDEO_DRIVER_WAYLAND, 1, [ ])
            if test x$enable_video_wayland_qt_touch = xyes; then
                AC_DEFINE(SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH, 1, [ ])
            fi



            SOURCES="$SOURCES $srcdir/src/video/wayland/*.c"
            EXTRA_CFLAGS="$EXTRA_CFLAGS $WAYLAND_CFLAGS"
            AC_ARG_ENABLE(wayland-shared,
AC_HELP_STRING([--enable-wayland-shared], [dynamically load Wayland support [[default=maybe]]]),
                          , enable_wayland_shared=maybe)

            dnl FIXME: Do BSD and OS X need special cases?
            case "$host" in
                *)
................................................................................
        video_mir=no
        if test x$PKG_CONFIG != xno; then
            if $PKG_CONFIG --exists mirclient egl xkbcommon ; then
                MIR_CFLAGS=`$PKG_CONFIG --cflags mirclient egl xkbcommon`
                MIR_LIBS=`$PKG_CONFIG --libs mirclient egl xkbcommon`
                save_CFLAGS="$CFLAGS"
                CFLAGS="$save_CFLAGS $MIR_CFLAGS"
                
                dnl This will disable Mir on Ubuntu < 14.04
                AC_TRY_COMPILE([
                #include <mir_toolkit/mir_client_library.h>
                ],[
                    MirMotionToolType tool = mir_motion_tool_type_mouse;
                ],[
                video_mir=yes
                ])
                CFLAGS="$save_CFLAGS"
            fi
        fi
        AC_MSG_RESULT($video_mir)
................................................................................
                AC_DEFINE(HAVE_DBUS_DBUS_H, 1, [ ])
                EXTRA_CFLAGS="$EXTRA_CFLAGS $DBUS_CFLAGS"
                SOURCES="$SOURCES $srcdir/src/core/linux/SDL_dbus.c"
            fi
        fi
    fi
}













dnl See if the platform has libibus IME support.
CheckIBus()
{
    AC_ARG_ENABLE(ibus,
AC_HELP_STRING([--enable-ibus], [enable IBus support [[default=yes]]]),
                  , enable_ibus=yes)
................................................................................
                            have_ibus_ibus_h_hdr=yes,
                            have_ibus_ibus_h_hdr=no)
            AC_CHECK_HEADER(sys/inotify.h,
                            have_inotify_inotify_h_hdr=yes,
                            have_inotify_inotify_h_hdr=no)
            CFLAGS="$save_CFLAGS"
            if test x$have_ibus_ibus_h_hdr = xyes; then



                if test x$enable_dbus != xyes; then
                    AC_MSG_WARN([DBus support is required for IBus.])
                    have_ibus_ibus_h_hdr=no
                elif test x$have_inotify_inotify_h_hdr != xyes; then
                    AC_MSG_WARN([INotify support is required for IBus.])
                    have_ibus_ibus_h_hdr=no
                else
                    AC_DEFINE(HAVE_IBUS_IBUS_H, 1, [ ])
................................................................................
                    EXTRA_CFLAGS="$EXTRA_CFLAGS $IBUS_CFLAGS"
                    SOURCES="$SOURCES $srcdir/src/core/linux/SDL_ibus.c"
               fi
            fi
        fi
    fi
}

































dnl See if we can use the Touchscreen input library
CheckTslib()
{
    AC_ARG_ENABLE(input-tslib,
AC_HELP_STRING([--enable-input-tslib], [use the Touchscreen library for input [[default=yes]]]),
                  , enable_input_tslib=yes)
................................................................................
dnl Check if we want to use RPATH
CheckRPATH()
{
    AC_ARG_ENABLE(rpath,
AC_HELP_STRING([--enable-rpath], [use an rpath when linking SDL [[default=yes]]]),
                  , enable_rpath=yes)
}




dnl Set up the configuration based on the host platform!
case "$host" in
    *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-aix*|*-*-minix*)
        case "$host" in
            *-raspberry-linux*)
                # Raspberry Pi
................................................................................
            *-*-sysv5*)         ARCH=sysv5 ;;
            *-*-solaris*)       ARCH=solaris ;;
            *-*-hpux*)          ARCH=hpux ;;
            *-*-aix*)           ARCH=aix ;;
            *-*-minix*)         ARCH=minix ;;
        esac
        CheckVisibilityHidden

        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio
        CheckDLOPEN
        CheckOSS
        CheckALSA
        CheckPulseAudio
................................................................................
        CheckFusionSound
        CheckOpenGLX11
        CheckOpenGLESX11
        CheckMir
        CheckWayland
        CheckLibUDev
        CheckDBus

        CheckIBus

        case $ARCH in
          linux)
              CheckInputEvents
              CheckInputKD
          ;;
        esac
        CheckTslib
................................................................................

    *-*-haiku*)
        ARCH=haiku
        ac_default_prefix=/boot/system
        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio

        CheckHaikuVideo
        CheckHaikuGL
        CheckPTHREAD

        # Set up files for the audio library
        if test x$enable_audio = xyes; then
            AC_DEFINE(SDL_AUDIO_DRIVER_HAIKU, 1, [ ])
................................................................................
        fi
        # Set up files for the timer library
        if test x$enable_timers = xyes; then
            AC_DEFINE(SDL_TIMER_HAIKU, 1, [ ])
            SOURCES="$SOURCES $srcdir/src/timer/haiku/*.c"
            have_timers=yes
        fi
        # Set up files for the shared object loading library
        if test x$enable_loadso = xyes; then
            AC_DEFINE(SDL_LOADSO_HAIKU, 1, [ ])
            SOURCES="$SOURCES $srcdir/src/loadso/haiku/*.c"
            have_loadso=yes
        fi
        # Set up files for the system power library
        if test x$enable_power = xyes; then
            AC_DEFINE(SDL_POWER_HAIKU, 1, [ ])
            SOURCES="$SOURCES $srcdir/src/power/haiku/*.c"
            have_power=yes
        fi
        # Set up files for the system filesystem library
................................................................................
        ;;
    arm*-apple-darwin*)
        # iOS - We are not writing anything to confdefs.h because you have to replace
        # SDL_config.h for SDL_config_iphoneos.h anyway
        ARCH=ios

        CheckVisibilityHidden

        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio
        CheckDLOPEN
        CheckCOCOA
        CheckPTHREAD


        # Set up files for the audio library
        if test x$enable_audio = xyes; then
            SOURCES="$SOURCES $srcdir/src/audio/coreaudio/*.c"
            SUMMARY_audio="${SUMMARY_audio} coreaudio"
            have_audio=yes
        fi
        # Set up files for the joystick library
        if test x$enable_joystick = xyes; then
            SOURCES="$SOURCES $srcdir/src/joystick/iphoneos/*.m"
            have_joystick=yes
................................................................................
        ARCH=macosx

        # Mac OS X builds with both the Carbon and OSX APIs at the moment
        EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_CARBON"
        EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_OSX"

        CheckVisibilityHidden

        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio
        CheckDLOPEN
        CheckCOCOA
        CheckX11
        CheckMacGL
        CheckOpenGLX11
        CheckPTHREAD

        # Set up files for the audio library
        if test x$enable_audio = xyes; then
            AC_DEFINE(SDL_AUDIO_DRIVER_COREAUDIO, 1, [ ])
            SOURCES="$SOURCES $srcdir/src/audio/coreaudio/*.c"

            SUMMARY_audio="${SUMMARY_audio} coreaudio"
            have_audio=yes
        fi
        # Set up files for the joystick library
        if test x$enable_joystick = xyes; then
            AC_DEFINE(SDL_JOYSTICK_IOKIT, 1, [ ])
            SOURCES="$SOURCES $srcdir/src/joystick/darwin/*.c"
            have_joystick=yes
        fi
        # Set up files for the haptic library
        if test x$enable_haptic = xyes; then
            AC_DEFINE(SDL_HAPTIC_IOKIT, 1, [ ])
            SOURCES="$SOURCES $srcdir/src/haptic/darwin/*.c"
            have_haptic=yes
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,ForceFeedback"

        fi
        # Set up files for the power library
        if test x$enable_power = xyes; then
            AC_DEFINE(SDL_POWER_MACOSX, 1, [ ])
            SOURCES="$SOURCES $srcdir/src/power/macosx/*.c"
            have_power=yes
        fi
................................................................................
        # The Mac OS X platform requires special setup.
        EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lobjc"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreVideo"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Cocoa"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Carbon"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,IOKit"
        # If audio is used, add the AudioUnit framework
        if test x$enable_audio = xyes; then
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit"
        fi
        ;;
    *-nacl|*-pnacl)
        ARCH=nacl
        CheckNativeClient
        CheckDummyAudio
        CheckDummyVideo
        CheckInputEvents
................................................................................
            AC_DEFINE(SDL_AUDIO_DRIVER_EMSCRIPTEN, 1, [ ])
            SOURCES="$SOURCES $srcdir/src/audio/emscripten/*.c"
            have_audio=yes
            SUMMARY_audio="${SUMMARY_audio} emscripten"
        fi

        CheckVisibilityHidden

        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio
        CheckDLOPEN
        CheckClockGettime
        CheckEmscriptenGLES

................................................................................
    *)
        AC_MSG_ERROR([
*** Unsupported host:  Please add to configure.in
        ])
        ;;
esac

dnl Do this on all platforms, after everything else.
CheckWarnAll

# Verify that we have all the platform specific files we need

if test x$have_joystick != xyes; then
    if test x$enable_joystick = xyes; then
        AC_DEFINE(SDL_JOYSTICK_DISABLED, 1, [ ])
    fi
    SOURCES="$SOURCES $srcdir/src/joystick/dummy/*.c"
................................................................................
    fi
    SOURCES="$SOURCES $srcdir/src/loadso/dummy/*.c"
fi
if test x$SDLMAIN_SOURCES = x; then
    SDLMAIN_SOURCES="$srcdir/src/main/dummy/*.c"
fi
SDLTEST_SOURCES="$srcdir/src/test/*.c"




















































OBJECTS=`echo $SOURCES`
DEPENDS=`echo $SOURCES | tr ' ' '\n'`
for EXT in asm cc m c S; do
    OBJECTS=`echo "$OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.'$EXT',$(objects)/\1.lo,g'`
    DEPENDS=`echo "$DEPENDS" | sed "s,^\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.$EXT\\$,\\\\
\\$(objects)/\\2.lo: \\1/\\2.$EXT\\\\
	\\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`
done



VERSION_OBJECTS=`echo $VERSION_SOURCES`
VERSION_DEPENDS=`echo $VERSION_SOURCES`
VERSION_OBJECTS=`echo "$VERSION_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.rc,$(objects)/\1.o,g'`
VERSION_DEPENDS=`echo "$VERSION_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.rc,\\\\
\\$(objects)/\\2.o: \\1/\\2.rc\\\\
	\\$(WINDRES) \\$< \\$@,g"`
................................................................................
	\\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`

# Set runtime shared library paths as needed

if test "x$enable_rpath" = "xyes"; then
  if test $ARCH = bsdi -o $ARCH = freebsd -o $ARCH = linux -o $ARCH = netbsd; then
    SDL_RLD_FLAGS="-Wl,-rpath,\${libdir}"













  fi
  if test $ARCH = solaris; then
    SDL_RLD_FLAGS="-R\${libdir}"
  fi
else
  SDL_RLD_FLAGS=""
fi
................................................................................
AC_SUBST(ENABLE_STATIC_TRUE)
AC_SUBST(ENABLE_STATIC_FALSE)

dnl Expand the sources and objects needed to build the library
AC_SUBST(ac_aux_dir)
AC_SUBST(INCLUDE)
AC_SUBST(OBJECTS)


AC_SUBST(VERSION_OBJECTS)
AC_SUBST(SDLMAIN_OBJECTS)
AC_SUBST(SDLTEST_OBJECTS)
AC_SUBST(BUILD_CFLAGS)
AC_SUBST(EXTRA_CFLAGS)
AC_SUBST(BUILD_LDFLAGS)
AC_SUBST(EXTRA_LDFLAGS)
AC_SUBST(WINDRES)


cat >Makefile.rules <<__EOF__

# Build rules for objects
-include \$(OBJECTS:.lo=.d)

# Special dependency for SDL.c, since it depends on SDL_revision.h
$srcdir/src/SDL.c: update-revision
$DEPENDS
$VERSION_DEPENDS
$SDLMAIN_DEPENDS
$SDLTEST_DEPENDS

__EOF__

AC_CONFIG_FILES([
    Makefile:Makefile.in:Makefile.rules sdl2-config sdl2-config.cmake SDL2.spec sdl2.pc
])
AC_CONFIG_COMMANDS([sdl2_config],[chmod a+x sdl2-config])

................................................................................
SUMMARY="${SUMMARY}Assembly Math   :${SUMMARY_math}\n" 
SUMMARY="${SUMMARY}Audio drivers   :${SUMMARY_audio}\n"
SUMMARY="${SUMMARY}Video drivers   :${SUMMARY_video}\n"
if test x$have_x = xyes; then
    SUMMARY="${SUMMARY}X11 libraries   :${SUMMARY_video_x11}\n"
fi
SUMMARY="${SUMMARY}Input drivers   :${SUMMARY_input}\n"
if test x$enable_libudev = xyes; then
    SUMMARY="${SUMMARY}Using libudev   : YES\n"
else
    SUMMARY="${SUMMARY}Using libudev   : NO\n"
fi
if test x$have_dbus_dbus_h_hdr = xyes; then
    SUMMARY="${SUMMARY}Using dbus      : YES\n"
else
    SUMMARY="${SUMMARY}Using dbus      : NO\n"
fi





if test x$have_ibus_ibus_h_hdr = xyes; then
    SUMMARY="${SUMMARY}Using ibus      : YES\n"
else
    SUMMARY="${SUMMARY}Using ibus      : NO\n"





fi
AC_CONFIG_COMMANDS([summary], [echo -en "$SUMMARY"], [SUMMARY="$SUMMARY"])

AC_OUTPUT







|
|
|







 







|







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







|


>
>
>










>
>
>

|







 







|
|



|







 







>
>
>
>
>
>
>
>
>
>
>
>







 







>
>
>
|







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>
>







 







>







 







>

>







 







>







 







<
<
<
<
<
<







 







>










|







 







>













|
>













<

>







 







<
<
<
<







 







>







 







<
<
<







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>









>
>







 







>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>








>












>







 







|









>
>
>
>
>




>
>
>
>
>




16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
...
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
....
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
....
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
....
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
....
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
....
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
....
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
....
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
....
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
....
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
....
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
....
3248
3249
3250
3251
3252
3253
3254






3255
3256
3257
3258
3259
3260
3261
....
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
....
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375

3376
3377
3378
3379
3380
3381
3382
3383
3384
....
3401
3402
3403
3404
3405
3406
3407




3408
3409
3410
3411
3412
3413
3414
....
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
....
3481
3482
3483
3484
3485
3486
3487



3488
3489
3490
3491
3492
3493
3494
....
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
....
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
....
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
....
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
#   SDL_BINARY_AGE += 1;
# if any functions have been added, set SDL_INTERFACE_AGE to 0.
# if backwards compatibility has been broken,
# set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0.
#
SDL_MAJOR_VERSION=2
SDL_MINOR_VERSION=0
SDL_MICRO_VERSION=5
SDL_INTERFACE_AGE=1
SDL_BINARY_AGE=5
SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION

AC_SUBST(SDL_MAJOR_VERSION)
AC_SUBST(SDL_MINOR_VERSION)
AC_SUBST(SDL_MICRO_VERSION)
AC_SUBST(SDL_INTERFACE_AGE)
AC_SUBST(SDL_BINARY_AGE)
................................................................................
dnl See if the ALSA audio interface is supported
CheckALSA()
{
    AC_ARG_ENABLE(alsa,
AC_HELP_STRING([--enable-alsa], [support the ALSA audio API [[default=yes]]]),
                  , enable_alsa=yes)
    if test x$enable_audio = xyes -a x$enable_alsa = xyes; then
        AM_PATH_ALSA(1.0.11, have_alsa=yes, have_alsa=no)
        # Restore all flags from before the ALSA detection runs
        CFLAGS="$alsa_save_CFLAGS"
        LDFLAGS="$alsa_save_LDFLAGS"
        LIBS="$alsa_save_LIBS"
        if test x$have_alsa = xyes; then
            AC_ARG_ENABLE(alsa-shared,
AC_HELP_STRING([--enable-alsa-shared], [dynamically load ALSA audio support [[default=yes]]]),
................................................................................
    AC_MSG_RESULT($have_gcc_preferred_stack_boundary)
    CFLAGS="$save_CFLAGS"

    if test x$have_gcc_preferred_stack_boundary = xyes; then
        EXTRA_CFLAGS="$EXTRA_CFLAGS -mpreferred-stack-boundary=2"
    fi
}

dnl See if GCC's -Wdeclaration-after-statement is supported.
dnl  This lets us catch things that would fail on a C89 compiler when using
dnl  a modern GCC.
CheckDeclarationAfterStatement()
{
    AC_MSG_CHECKING(for GCC -Wdeclaration-after-statement option)
    have_gcc_declaration_after_statement=no

    save_CFLAGS="$CFLAGS"
    CFLAGS="$save_CFLAGS -Wdeclaration-after-statement -Werror=declaration-after-statement"
    AC_TRY_COMPILE([
    int x = 0;
    ],[
    ],[
    have_gcc_declaration_after_statement=yes
    ])
    AC_MSG_RESULT($have_gcc_declaration_after_statement)
    CFLAGS="$save_CFLAGS"

    if test x$have_gcc_declaration_after_statement = xyes; then
        EXTRA_CFLAGS="$EXTRA_CFLAGS -Wdeclaration-after-statement -Werror=declaration-after-statement"
    fi
}

dnl See if GCC's -Wall is supported.
CheckWarnAll()
{
    AC_MSG_CHECKING(for GCC -Wall option)
    have_gcc_Wall=no

................................................................................
    if test x$enable_video = xyes -a x$enable_video_wayland = xyes; then
        AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
        AC_MSG_CHECKING(for Wayland support)
        video_wayland=no
        if  test x$PKG_CONFIG != xno && \
            test x$video_opengl_egl = xyes && \
            test x$video_opengles_v2 = xyes; then
            if $PKG_CONFIG --exists wayland-client wayland-scanner wayland-protocols wayland-egl wayland-cursor egl xkbcommon ; then
                WAYLAND_CFLAGS=`$PKG_CONFIG --cflags wayland-client wayland-egl wayland-cursor xkbcommon`
                WAYLAND_LIBS=`$PKG_CONFIG --libs wayland-client wayland-egl wayland-cursor xkbcommon`
                WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`
                WAYLAND_CORE_PROTOCOL_DIR=`$PKG_CONFIG --variable=pkgdatadir wayland-client`
                WAYLAND_PROTOCOLS_DIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`
                video_wayland=yes
            fi
        fi
        AC_MSG_RESULT($video_wayland)

        if test x$video_wayland = xyes; then
            AC_DEFINE(SDL_VIDEO_DRIVER_WAYLAND, 1, [ ])
            if test x$enable_video_wayland_qt_touch = xyes; then
                AC_DEFINE(SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH, 1, [ ])
            fi

            WAYLAND_PROTOCOLS_UNSTABLE="relative-pointer-unstable-v1 pointer-constraints-unstable-v1"

            SOURCES="$SOURCES $srcdir/src/video/wayland/*.c"
            EXTRA_CFLAGS="$EXTRA_CFLAGS $WAYLAND_CFLAGS -I\$(gen)"
            AC_ARG_ENABLE(wayland-shared,
AC_HELP_STRING([--enable-wayland-shared], [dynamically load Wayland support [[default=maybe]]]),
                          , enable_wayland_shared=maybe)

            dnl FIXME: Do BSD and OS X need special cases?
            case "$host" in
                *)
................................................................................
        video_mir=no
        if test x$PKG_CONFIG != xno; then
            if $PKG_CONFIG --exists mirclient egl xkbcommon ; then
                MIR_CFLAGS=`$PKG_CONFIG --cflags mirclient egl xkbcommon`
                MIR_LIBS=`$PKG_CONFIG --libs mirclient egl xkbcommon`
                save_CFLAGS="$CFLAGS"
                CFLAGS="$save_CFLAGS $MIR_CFLAGS"

                dnl This will disable Mir if >= v0.25 is not available
                AC_TRY_COMPILE([
                #include <mir_toolkit/mir_client_library.h>
                ],[
                    MirTouchAction actions = mir_touch_actions
                ],[
                video_mir=yes
                ])
                CFLAGS="$save_CFLAGS"
            fi
        fi
        AC_MSG_RESULT($video_mir)
................................................................................
                AC_DEFINE(HAVE_DBUS_DBUS_H, 1, [ ])
                EXTRA_CFLAGS="$EXTRA_CFLAGS $DBUS_CFLAGS"
                SOURCES="$SOURCES $srcdir/src/core/linux/SDL_dbus.c"
            fi
        fi
    fi
}

dnl See if the platform wanna IME support.
CheckIME()
{
    AC_ARG_ENABLE(ime,
AC_HELP_STRING([--enable-ime], [enable IME support [[default=yes]]]),
                  , enable_ime=yes)
    if test x$enable_ime = xyes; then
        AC_DEFINE(SDL_USE_IME, 1, [ ])
            SOURCES="$SOURCES $srcdir/src/core/linux/SDL_ime.c"
    fi
}

dnl See if the platform has libibus IME support.
CheckIBus()
{
    AC_ARG_ENABLE(ibus,
AC_HELP_STRING([--enable-ibus], [enable IBus support [[default=yes]]]),
                  , enable_ibus=yes)
................................................................................
                            have_ibus_ibus_h_hdr=yes,
                            have_ibus_ibus_h_hdr=no)
            AC_CHECK_HEADER(sys/inotify.h,
                            have_inotify_inotify_h_hdr=yes,
                            have_inotify_inotify_h_hdr=no)
            CFLAGS="$save_CFLAGS"
            if test x$have_ibus_ibus_h_hdr = xyes; then
                if test x$enable_ime != xyes; then
                    AC_MSG_WARN([IME support is required for IBus.])
                    have_ibus_ibus_h_hdr=no
                elif test x$enable_dbus != xyes; then
                    AC_MSG_WARN([DBus support is required for IBus.])
                    have_ibus_ibus_h_hdr=no
                elif test x$have_inotify_inotify_h_hdr != xyes; then
                    AC_MSG_WARN([INotify support is required for IBus.])
                    have_ibus_ibus_h_hdr=no
                else
                    AC_DEFINE(HAVE_IBUS_IBUS_H, 1, [ ])
................................................................................
                    EXTRA_CFLAGS="$EXTRA_CFLAGS $IBUS_CFLAGS"
                    SOURCES="$SOURCES $srcdir/src/core/linux/SDL_ibus.c"
               fi
            fi
        fi
    fi
}

dnl See if the platform has fcitx IME support.
CheckFcitx()
{
    AC_ARG_ENABLE(fcitx,
AC_HELP_STRING([--enable-fcitx], [enable fcitx support [[default=yes]]]),
                  , enable_fcitx=yes)
    if test x$enable_fcitx = xyes; then
        AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
        if test x$PKG_CONFIG != xno; then
            FCITX_CFLAGS=`$PKG_CONFIG --cflags fcitx`
            CFLAGS="$CFLAGS $FCITX_CFLAGS"
            AC_CHECK_HEADER(fcitx/frontend.h,
                            have_fcitx_frontend_h_hdr=yes,
                            have_fcitx_frontend_h_hdr=no)
            CFLAGS="$save_CFLAGS"
            if test x$have_fcitx_frontend_h_hdr = xyes; then
                if test x$enable_ime != xyes; then
                    AC_MSG_WARN([IME support is required for fcitx.])
                    have_fcitx_frontend_h_hdr=no
                elif test x$enable_dbus != xyes; then
                    AC_MSG_WARN([DBus support is required for fcitx.])
                    have_fcitx_frontend_h_hdr=no
                else
                    AC_DEFINE(HAVE_FCITX_FRONTEND_H, 1, [ ])
                    EXTRA_CFLAGS="$EXTRA_CFLAGS $FCITX_CFLAGS"
                    SOURCES="$SOURCES $srcdir/src/core/linux/SDL_fcitx.c"
               fi
            fi
        fi
    fi
}

dnl See if we can use the Touchscreen input library
CheckTslib()
{
    AC_ARG_ENABLE(input-tslib,
AC_HELP_STRING([--enable-input-tslib], [use the Touchscreen library for input [[default=yes]]]),
                  , enable_input_tslib=yes)
................................................................................
dnl Check if we want to use RPATH
CheckRPATH()
{
    AC_ARG_ENABLE(rpath,
AC_HELP_STRING([--enable-rpath], [use an rpath when linking SDL [[default=yes]]]),
                  , enable_rpath=yes)
}

dnl Do this on all platforms, before everything else (other things might want to override it).
CheckWarnAll

dnl Set up the configuration based on the host platform!
case "$host" in
    *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-aix*|*-*-minix*)
        case "$host" in
            *-raspberry-linux*)
                # Raspberry Pi
................................................................................
            *-*-sysv5*)         ARCH=sysv5 ;;
            *-*-solaris*)       ARCH=solaris ;;
            *-*-hpux*)          ARCH=hpux ;;
            *-*-aix*)           ARCH=aix ;;
            *-*-minix*)         ARCH=minix ;;
        esac
        CheckVisibilityHidden
        CheckDeclarationAfterStatement
        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio
        CheckDLOPEN
        CheckOSS
        CheckALSA
        CheckPulseAudio
................................................................................
        CheckFusionSound
        CheckOpenGLX11
        CheckOpenGLESX11
        CheckMir
        CheckWayland
        CheckLibUDev
        CheckDBus
        CheckIME
        CheckIBus
        CheckFcitx
        case $ARCH in
          linux)
              CheckInputEvents
              CheckInputKD
          ;;
        esac
        CheckTslib
................................................................................

    *-*-haiku*)
        ARCH=haiku
        ac_default_prefix=/boot/system
        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio
        CheckDLOPEN
        CheckHaikuVideo
        CheckHaikuGL
        CheckPTHREAD

        # Set up files for the audio library
        if test x$enable_audio = xyes; then
            AC_DEFINE(SDL_AUDIO_DRIVER_HAIKU, 1, [ ])
................................................................................
        fi
        # Set up files for the timer library
        if test x$enable_timers = xyes; then
            AC_DEFINE(SDL_TIMER_HAIKU, 1, [ ])
            SOURCES="$SOURCES $srcdir/src/timer/haiku/*.c"
            have_timers=yes
        fi






        # Set up files for the system power library
        if test x$enable_power = xyes; then
            AC_DEFINE(SDL_POWER_HAIKU, 1, [ ])
            SOURCES="$SOURCES $srcdir/src/power/haiku/*.c"
            have_power=yes
        fi
        # Set up files for the system filesystem library
................................................................................
        ;;
    arm*-apple-darwin*)
        # iOS - We are not writing anything to confdefs.h because you have to replace
        # SDL_config.h for SDL_config_iphoneos.h anyway
        ARCH=ios

        CheckVisibilityHidden
        CheckDeclarationAfterStatement
        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio
        CheckDLOPEN
        CheckCOCOA
        CheckPTHREAD


        # Set up files for the audio library
        if test x$enable_audio = xyes; then
            SOURCES="$SOURCES $srcdir/src/audio/coreaudio/*.m"
            SUMMARY_audio="${SUMMARY_audio} coreaudio"
            have_audio=yes
        fi
        # Set up files for the joystick library
        if test x$enable_joystick = xyes; then
            SOURCES="$SOURCES $srcdir/src/joystick/iphoneos/*.m"
            have_joystick=yes
................................................................................
        ARCH=macosx

        # Mac OS X builds with both the Carbon and OSX APIs at the moment
        EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_CARBON"
        EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_OSX"

        CheckVisibilityHidden
        CheckDeclarationAfterStatement
        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio
        CheckDLOPEN
        CheckCOCOA
        CheckX11
        CheckMacGL
        CheckOpenGLX11
        CheckPTHREAD

        # Set up files for the audio library
        if test x$enable_audio = xyes; then
            AC_DEFINE(SDL_AUDIO_DRIVER_COREAUDIO, 1, [ ])
            SOURCES="$SOURCES $srcdir/src/audio/coreaudio/*.m"
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox"
            SUMMARY_audio="${SUMMARY_audio} coreaudio"
            have_audio=yes
        fi
        # Set up files for the joystick library
        if test x$enable_joystick = xyes; then
            AC_DEFINE(SDL_JOYSTICK_IOKIT, 1, [ ])
            SOURCES="$SOURCES $srcdir/src/joystick/darwin/*.c"
            have_joystick=yes
        fi
        # Set up files for the haptic library
        if test x$enable_haptic = xyes; then
            AC_DEFINE(SDL_HAPTIC_IOKIT, 1, [ ])
            SOURCES="$SOURCES $srcdir/src/haptic/darwin/*.c"

            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,ForceFeedback"
            have_haptic=yes
        fi
        # Set up files for the power library
        if test x$enable_power = xyes; then
            AC_DEFINE(SDL_POWER_MACOSX, 1, [ ])
            SOURCES="$SOURCES $srcdir/src/power/macosx/*.c"
            have_power=yes
        fi
................................................................................
        # The Mac OS X platform requires special setup.
        EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lobjc"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreVideo"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Cocoa"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Carbon"
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,IOKit"




        ;;
    *-nacl|*-pnacl)
        ARCH=nacl
        CheckNativeClient
        CheckDummyAudio
        CheckDummyVideo
        CheckInputEvents
................................................................................
            AC_DEFINE(SDL_AUDIO_DRIVER_EMSCRIPTEN, 1, [ ])
            SOURCES="$SOURCES $srcdir/src/audio/emscripten/*.c"
            have_audio=yes
            SUMMARY_audio="${SUMMARY_audio} emscripten"
        fi

        CheckVisibilityHidden
        CheckDeclarationAfterStatement
        CheckDummyVideo
        CheckDiskAudio
        CheckDummyAudio
        CheckDLOPEN
        CheckClockGettime
        CheckEmscriptenGLES

................................................................................
    *)
        AC_MSG_ERROR([
*** Unsupported host:  Please add to configure.in
        ])
        ;;
esac




# Verify that we have all the platform specific files we need

if test x$have_joystick != xyes; then
    if test x$enable_joystick = xyes; then
        AC_DEFINE(SDL_JOYSTICK_DISABLED, 1, [ ])
    fi
    SOURCES="$SOURCES $srcdir/src/joystick/dummy/*.c"
................................................................................
    fi
    SOURCES="$SOURCES $srcdir/src/loadso/dummy/*.c"
fi
if test x$SDLMAIN_SOURCES = x; then
    SDLMAIN_SOURCES="$srcdir/src/main/dummy/*.c"
fi
SDLTEST_SOURCES="$srcdir/src/test/*.c"

if test x$video_wayland = xyes; then
    WAYLAND_CORE_PROTOCOL_SOURCE='$(gen)/wayland-protocol.c'
    WAYLAND_CORE_PROTOCOL_HEADER='$(gen)/wayland-client-protocol.h'
    WAYLAND_PROTOCOLS_UNSTABLE_SOURCES=`echo $WAYLAND_PROTOCOLS_UNSTABLE |\
        sed 's,[[^ ]]\+,\\$(gen)/&-protocol.c,g'`
    WAYLAND_PROTOCOLS_UNSTABLE_HEADERS=`echo $WAYLAND_PROTOCOLS_UNSTABLE |\
        sed 's,[[^ ]]\+,\\$(gen)/&-client-protocol.h,g'`
    GEN_SOURCES="$GEN_SOURCES $WAYLAND_CORE_PROTOCOL_SOURCE $WAYLAND_PROTOCOLS_UNSTABLE_SOURCES"
    GEN_HEADERS="$GEN_HEADERS $WAYLAND_CORE_PROTOCOL_HEADER $WAYLAND_PROTOCOLS_UNSTABLE_HEADERS"

    WAYLAND_CORE_PROTOCOL_SOURCE_DEPENDS="
$WAYLAND_CORE_PROTOCOL_SOURCE: $WAYLAND_CORE_PROTOCOL_DIR/wayland.xml
	\$(SHELL) \$(auxdir)/mkinstalldirs \$(gen)
	\$(RUN_CMD_GEN)\$(WAYLAND_SCANNER) code \$< \$@"

    WAYLAND_CORE_PROTOCOL_HEADER_DEPENDS="
$WAYLAND_CORE_PROTOCOL_HEADER: $WAYLAND_CORE_PROTOCOL_DIR/wayland.xml
	\$(SHELL) \$(auxdir)/mkinstalldirs \$(gen)
	\$(RUN_CMD_GEN)\$(WAYLAND_SCANNER) client-header \$< \$@"

    WAYLAND_CORE_PROTOCOL_OBJECT="
\$(objects)/`echo $WAYLAND_CORE_PROTOCOL_SOURCE | sed 's/\$(gen)\/\(.*\).c$/\1.lo/'`: $WAYLAND_CORE_PROTOCOL_SOURCE
	\$(RUN_CMD_CC)\$(LIBTOOL) --tag=CC --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \$< -o \$@"

    WAYLAND_PROTOCOLS_CLIENT_HEADER_UNSTABLE_DEPENDS=`for p in $WAYLAND_PROTOCOLS_UNSTABLE;\
        do echo ; echo \$p | sed\
        "s,^\\([[a-z\\-]]\\+\\)-unstable-\\(v[[0-9]]\+\\)\$,\\$(gen)/&-client-protocol.h: $WAYLAND_PROTOCOLS_DIR/unstable/\1/&.xml\\\\
	\\$(SHELL) \\$(auxdir)/mkinstalldirs \\$(gen)\\\\
	\\$(RUN_CMD_GEN)\\$(WAYLAND_SCANNER) client-header \\$< \\$@," ; done`

    WAYLAND_PROTOCOLS_CODE_UNSTABLE_DEPENDS=`for p in $WAYLAND_PROTOCOLS_UNSTABLE;\
        do echo ; echo \$p | sed\
        "s,^\\([[a-z\\-]]\\+\\)-unstable-\\(v[[0-9]]\+\\)\$,\\$(gen)/&-protocol.c: $WAYLAND_PROTOCOLS_DIR/unstable/\1/&.xml\\\\
	\\$(SHELL) \\$(auxdir)/mkinstalldirs \\$(gen)\\\\
	\\$(RUN_CMD_GEN)\\$(WAYLAND_SCANNER) code \\$< \\$@," ; done`

    WAYLAND_PROTOCOLS_OBJECTS_UNSTABLE=`for p in $WAYLAND_PROTOCOLS_UNSTABLE;\
        do echo ; echo \$p | sed\
        "s,^\\([[a-z\\-]]\\+\\)-unstable-\\(v[[0-9]]\+\\)\$,\\\$(objects)/&-protocol.lo: \\$(gen)/&-protocol.c \\$(gen)/&-client-protocol.h\\\\
	\\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@," ; done`

    WAYLAND_PROTOCOLS_DEPENDS="
$WAYLAND_CORE_PROTOCOL_SOURCE_DEPENDS
$WAYLAND_CORE_PROTOCOL_HEADER_DEPENDS
$WAYLAND_CORE_PROTOCOL_OBJECT
$WAYLAND_PROTOCOLS_CLIENT_HEADER_UNSTABLE_DEPENDS
$WAYLAND_PROTOCOLS_CODE_UNSTABLE_DEPENDS
$WAYLAND_PROTOCOLS_OBJECTS_UNSTABLE
"
fi

OBJECTS=`echo $SOURCES`
DEPENDS=`echo $SOURCES | tr ' ' '\n'`
for EXT in asm cc m c S; do
    OBJECTS=`echo "$OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.'$EXT',$(objects)/\1.lo,g'`
    DEPENDS=`echo "$DEPENDS" | sed "s,^\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.$EXT\\$,\\\\
\\$(objects)/\\2.lo: \\1/\\2.$EXT\\\\
	\\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`
done

GEN_OBJECTS=`echo "$GEN_SOURCES" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`

VERSION_OBJECTS=`echo $VERSION_SOURCES`
VERSION_DEPENDS=`echo $VERSION_SOURCES`
VERSION_OBJECTS=`echo "$VERSION_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.rc,$(objects)/\1.o,g'`
VERSION_DEPENDS=`echo "$VERSION_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.rc,\\\\
\\$(objects)/\\2.o: \\1/\\2.rc\\\\
	\\$(WINDRES) \\$< \\$@,g"`
................................................................................
	\\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`

# Set runtime shared library paths as needed

if test "x$enable_rpath" = "xyes"; then
  if test $ARCH = bsdi -o $ARCH = freebsd -o $ARCH = linux -o $ARCH = netbsd; then
    SDL_RLD_FLAGS="-Wl,-rpath,\${libdir}"

    AC_MSG_CHECKING(for linker option --enable-new-dtags)
    have_enable_new_dtags=no
    save_LDFLAGS="$LDFLAGS"
    LDFLAGS="$LDFLAGS -Wl,--enable-new-dtags"
    AC_TRY_LINK([
    ],[
    ],[
    have_enable_new_dtags=yes
    SDL_RLD_FLAGS="$SDL_RLD_FLAGS -Wl,--enable-new-dtags"
    ])
    LDFLAGS="$save_LDFLAGS"
    AC_MSG_RESULT($have_enable_new_dtags)
  fi
  if test $ARCH = solaris; then
    SDL_RLD_FLAGS="-R\${libdir}"
  fi
else
  SDL_RLD_FLAGS=""
fi
................................................................................
AC_SUBST(ENABLE_STATIC_TRUE)
AC_SUBST(ENABLE_STATIC_FALSE)

dnl Expand the sources and objects needed to build the library
AC_SUBST(ac_aux_dir)
AC_SUBST(INCLUDE)
AC_SUBST(OBJECTS)
AC_SUBST(GEN_HEADERS)
AC_SUBST(GEN_OBJECTS)
AC_SUBST(VERSION_OBJECTS)
AC_SUBST(SDLMAIN_OBJECTS)
AC_SUBST(SDLTEST_OBJECTS)
AC_SUBST(BUILD_CFLAGS)
AC_SUBST(EXTRA_CFLAGS)
AC_SUBST(BUILD_LDFLAGS)
AC_SUBST(EXTRA_LDFLAGS)
AC_SUBST(WINDRES)
AC_SUBST(WAYLAND_SCANNER)

cat >Makefile.rules <<__EOF__

# Build rules for objects
-include \$(OBJECTS:.lo=.d)

# Special dependency for SDL.c, since it depends on SDL_revision.h
$srcdir/src/SDL.c: update-revision
$DEPENDS
$VERSION_DEPENDS
$SDLMAIN_DEPENDS
$SDLTEST_DEPENDS
$WAYLAND_PROTOCOLS_DEPENDS
__EOF__

AC_CONFIG_FILES([
    Makefile:Makefile.in:Makefile.rules sdl2-config sdl2-config.cmake SDL2.spec sdl2.pc
])
AC_CONFIG_COMMANDS([sdl2_config],[chmod a+x sdl2-config])

................................................................................
SUMMARY="${SUMMARY}Assembly Math   :${SUMMARY_math}\n" 
SUMMARY="${SUMMARY}Audio drivers   :${SUMMARY_audio}\n"
SUMMARY="${SUMMARY}Video drivers   :${SUMMARY_video}\n"
if test x$have_x = xyes; then
    SUMMARY="${SUMMARY}X11 libraries   :${SUMMARY_video_x11}\n"
fi
SUMMARY="${SUMMARY}Input drivers   :${SUMMARY_input}\n"
if test x$have_libudev_h_hdr = xyes; then
    SUMMARY="${SUMMARY}Using libudev   : YES\n"
else
    SUMMARY="${SUMMARY}Using libudev   : NO\n"
fi
if test x$have_dbus_dbus_h_hdr = xyes; then
    SUMMARY="${SUMMARY}Using dbus      : YES\n"
else
    SUMMARY="${SUMMARY}Using dbus      : NO\n"
fi
if test x$enable_ime = xyes; then
    SUMMARY="${SUMMARY}Using ime       : YES\n"
else
    SUMMARY="${SUMMARY}Using ime       : NO\n"
fi
if test x$have_ibus_ibus_h_hdr = xyes; then
    SUMMARY="${SUMMARY}Using ibus      : YES\n"
else
    SUMMARY="${SUMMARY}Using ibus      : NO\n"
fi
if test x$have_fcitx_frontend_h_hdr = xyes; then
    SUMMARY="${SUMMARY}Using fcitx     : YES\n"
else
    SUMMARY="${SUMMARY}Using fcitx     : NO\n"
fi
AC_CONFIG_COMMANDS([summary], [echo -en "$SUMMARY"], [SUMMARY="$SUMMARY"])

AC_OUTPUT

Changes to jni/SDL2/docs/README-android.md.

414
415
416
417
418
419
420













421
422
423
424
425
426
427
output file:

    adb pull /sdcard/valgrind.log

When you're done instrumenting with valgrind, you can disable the wrapper:

    adb shell setprop wrap.org.libsdl.app ""














================================================================================
 Why is API level 10 the minimum required?
================================================================================

API level 10 is the minimum required level at runtime (that is, on the device) 
because SDL requires some functionality for running not







>
>
>
>
>
>
>
>
>
>
>
>
>







414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
output file:

    adb pull /sdcard/valgrind.log

When you're done instrumenting with valgrind, you can disable the wrapper:

    adb shell setprop wrap.org.libsdl.app ""

================================================================================
 Graphics debugging
================================================================================

If you are developing on a compatible Tegra-based tablet, NVidia provides
Tegra Graphics Debugger at their website.  Because SDL2 dynamically loads EGL
and GLES libraries, you must follow their instructions for installing the
interposer library on a rooted device.  The non-rooted instructions are not
compatible with applications that use SDL2 for video.

The Tegra Graphics Debugger is available from NVidia here:
https://developer.nvidia.com/tegra-graphics-debugger

================================================================================
 Why is API level 10 the minimum required?
================================================================================

API level 10 is the minimum required level at runtime (that is, on the device) 
because SDL requires some functionality for running not

Changes to jni/SDL2/docs/README-cmake.md.

Changes to jni/SDL2/docs/README-directfb.md.

Changes to jni/SDL2/docs/README-dynapi.md.

Changes to jni/SDL2/docs/README-emscripten.md.

Changes to jni/SDL2/docs/README-hg.md.

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
source tree instead of waiting for an official release. Please look
at the Mercurial website ( http://mercurial.selenic.com/ ) for more
information on using hg, where you can also download software for
Mac OS X, Windows, and Unix systems.

    hg clone http://hg.libsdl.org/SDL

If you are building SDL with an IDE, you will need to copy the file
include/SDL_config.h.default to include/SDL_config.h before building.

If you are building SDL via configure, you will need to run autogen.sh
before running configure.

There is a web interface to the subversion repository at:
	http://hg.libsdl.org/SDL/

There is an RSS feed available at that URL, for those that want to
track commits in real time.








<
<
<









7
8
9
10
11
12
13



14
15
16
17
18
19
20
21
22
source tree instead of waiting for an official release. Please look
at the Mercurial website ( http://mercurial.selenic.com/ ) for more
information on using hg, where you can also download software for
Mac OS X, Windows, and Unix systems.

    hg clone http://hg.libsdl.org/SDL




If you are building SDL via configure, you will need to run autogen.sh
before running configure.

There is a web interface to the subversion repository at:
	http://hg.libsdl.org/SDL/

There is an RSS feed available at that URL, for those that want to
track commits in real time.

Changes to jni/SDL2/docs/README-linux.md.

15
16
17
18
19
20
21
22

23
24
25
26
27
28
29
30
31
32
33
34
35
    
Ubuntu 13.04, all available features enabled:

sudo apt-get install build-essential mercurial make cmake autoconf automake \
libtool libasound2-dev libpulse-dev libaudio-dev libx11-dev libxext-dev \
libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libxxf86vm-dev \
libxss-dev libgl1-mesa-dev libesd0-dev libdbus-1-dev libudev-dev \
libgles1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libibus-1.0-dev


Ubuntu 14.04 can also add "libwayland-dev libxkbcommon-dev" to that command line
for Wayland support.

Ubuntu 15.04 can also add "libwayland-dev libmirclient-dev libxkbcommon-dev" to
that command line for Wayland and Mir support.

NOTES:
- This includes all the audio targets except arts, because Ubuntu pulled the 
  artsc0-dev package, but in theory SDL still supports it.
- DirectFB isn't included because the configure script (currently) fails to find
  it at all. You can do "sudo apt-get install libdirectfb-dev" and fix the 
  configure script to include DirectFB support. Send patches.  :)







|
>
|
|
|
|
|
|







15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
    
Ubuntu 13.04, all available features enabled:

sudo apt-get install build-essential mercurial make cmake autoconf automake \
libtool libasound2-dev libpulse-dev libaudio-dev libx11-dev libxext-dev \
libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libxxf86vm-dev \
libxss-dev libgl1-mesa-dev libesd0-dev libdbus-1-dev libudev-dev \
libgles1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libibus-1.0-dev \
fcitx-libs-dev

Ubuntu 16.04 can also add "libwayland-dev libxkbcommon-dev wayland-protocols"
to that command line for Wayland support.

Ubuntu 16.10 can also add "libmirclient-dev libxkbcommon-dev" to that command
line for Mir support.

NOTES:
- This includes all the audio targets except arts, because Ubuntu pulled the 
  artsc0-dev package, but in theory SDL still supports it.
- DirectFB isn't included because the configure script (currently) fails to find
  it at all. You can do "sudo apt-get install libdirectfb-dev" and fix the 
  configure script to include DirectFB support. Send patches.  :)

Changes to jni/SDL2/docs/README-macosx.md.

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
..
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
...
122
123
124
125
126
127
128

129

130

131

132
133

134
135
136
137
138
139
140
...
152
153
154
155
156
157
158

159
160

161
162
163
164
165
166
167
From the developer's point of view, OS X is a sort of hybrid Mac and
Unix system, and you have the option of using either traditional
command line tools or Apple's IDE Xcode.

To build SDL using the command line, use the standard configure and make
process:

	./configure
	make
	sudo make install

You can also build SDL as a Universal library (a single binary for both
32-bit and 64-bit Intel architectures), on Mac OS X 10.7 and newer, by using
the gcc-fat.sh script in build-scripts:

    mkdir mybuild
    cd mybuild
    CC=$PWD/../build-scripts/gcc-fat.sh CXX=$PWD/../build-scripts/g++fat.sh ../configure
	make
	sudo make install

This script builds SDL with 10.5 ABI compatibility on i386 and 10.6
ABI compatibility on x86_64 architectures.  For best compatibility you
should compile your application the same way.

Please note that building SDL requires at least Xcode 4.6 and the 10.7 SDK
(even if you target back to 10.5 systems). PowerPC support for Mac OS X has
................................................................................
that you can distribute to users, you need to put the generated binary into a
so called "bundle", which basically is a fancy folder with a name like
"MyCoolGame.app".

To get this build automatically, add something like the following rule to
your Makefile.am:

bundle_contents = APP_NAME.app/Contents
APP_NAME_bundle: EXE_NAME
	mkdir -p $(bundle_contents)/MacOS
	mkdir -p $(bundle_contents)/Resources
	echo "APPL????" > $(bundle_contents)/PkgInfo
	$(INSTALL_PROGRAM) $< $(bundle_contents)/MacOS/

You should replace EXE_NAME with the name of the executable. APP_NAME is what
will be visible to the user in the Finder. Usually it will be the same
as EXE_NAME but capitalized. E.g. if EXE_NAME is "testgame" then APP_NAME 
usually is "TestGame". You might also want to use `@PACKAGE@` to use the package
name as specified in your configure.in file.

If your project builds more than one application, you will have to do a bit
more. For each of your target applications, you need a separate rule.

If you want the created bundles to be installed, you may want to add this
rule to your Makefile.am:

install-exec-hook: APP_NAME_bundle
	rm -rf $(DESTDIR)$(prefix)/Applications/APP_NAME.app
	mkdir -p $(DESTDIR)$(prefix)/Applications/
	cp -r $< /$(DESTDIR)$(prefix)Applications/

This rule takes the Bundle created by the rule from step 3 and installs them
into $(DESTDIR)$(prefix)/Applications/.

Again, if you want to install multiple applications, you will have to augment
the make rule accordingly.


But beware! That is only part of the story! With the above, you end up with
a bare bone .app bundle, which is double clickable from the Finder. But
................................................................................
there are some more things you should do before shipping your product...

1) The bundle right now probably is dynamically linked against SDL. That 
   means that when you copy it to another computer, *it will not run*,
   unless you also install SDL on that other computer. A good solution
   for this dilemma is to static link against SDL. On OS X, you can
   achieve that by linking against the libraries listed by

     sdl-config --static-libs

   instead of those listed by

     sdl-config --libs

   Depending on how exactly SDL is integrated into your build systems, the
   way to achieve that varies, so I won't describe it here in detail

2) Add an 'Info.plist' to your application. That is a special XML file which
   contains some meta-information about your application (like some copyright
   information, the version of your app, the name of an optional icon file,
   and other things). Part of that information is displayed by the Finder
   when you click on the .app, or if you look at the "Get Info" window.
   More information about Info.plist files can be found on Apple's homepage.

................................................................................

- First steps

The first thing to do is to unpack the Xcode.tar.gz archive in the
top level SDL directory (where the Xcode.tar.gz archive resides).
Because Stuffit Expander will unpack the archive into a subdirectory,
you should unpack the archive manually from the command line:

	cd [path_to_SDL_source]
	tar zxf Xcode.tar.gz

This will create a new folder called Xcode, which you can browse
normally from the Finder.

- Building the Framework

The SDL Library is packaged as a framework bundle, an organized
relocatable folder hierarchy of executable code, interface headers,







|
|
|







|
|
|







 







|
|
|
|
|
|













|
|
|
|


|







 







>
|
>

>
|
>


>







 







>
|
|
>







7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
..
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
...
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
...
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
From the developer's point of view, OS X is a sort of hybrid Mac and
Unix system, and you have the option of using either traditional
command line tools or Apple's IDE Xcode.

To build SDL using the command line, use the standard configure and make
process:

    ./configure
    make
    sudo make install

You can also build SDL as a Universal library (a single binary for both
32-bit and 64-bit Intel architectures), on Mac OS X 10.7 and newer, by using
the gcc-fat.sh script in build-scripts:

    mkdir mybuild
    cd mybuild
    CC=$PWD/../build-scripts/gcc-fat.sh CXX=$PWD/../build-scripts/g++-fat.sh ../configure
    make
    sudo make install

This script builds SDL with 10.5 ABI compatibility on i386 and 10.6
ABI compatibility on x86_64 architectures.  For best compatibility you
should compile your application the same way.

Please note that building SDL requires at least Xcode 4.6 and the 10.7 SDK
(even if you target back to 10.5 systems). PowerPC support for Mac OS X has
................................................................................
that you can distribute to users, you need to put the generated binary into a
so called "bundle", which basically is a fancy folder with a name like
"MyCoolGame.app".

To get this build automatically, add something like the following rule to
your Makefile.am:

    bundle_contents = APP_NAME.app/Contents
    APP_NAME_bundle: EXE_NAME
    	mkdir -p $(bundle_contents)/MacOS
    	mkdir -p $(bundle_contents)/Resources
    	echo "APPL????" > $(bundle_contents)/PkgInfo
    	$(INSTALL_PROGRAM) $< $(bundle_contents)/MacOS/

You should replace EXE_NAME with the name of the executable. APP_NAME is what
will be visible to the user in the Finder. Usually it will be the same
as EXE_NAME but capitalized. E.g. if EXE_NAME is "testgame" then APP_NAME 
usually is "TestGame". You might also want to use `@PACKAGE@` to use the package
name as specified in your configure.in file.

If your project builds more than one application, you will have to do a bit
more. For each of your target applications, you need a separate rule.

If you want the created bundles to be installed, you may want to add this
rule to your Makefile.am:

    install-exec-hook: APP_NAME_bundle
    	rm -rf $(DESTDIR)$(prefix)/Applications/APP_NAME.app
    	mkdir -p $(DESTDIR)$(prefix)/Applications/
    	cp -r $< /$(DESTDIR)$(prefix)Applications/

This rule takes the Bundle created by the rule from step 3 and installs them
into "$(DESTDIR)$(prefix)/Applications/".

Again, if you want to install multiple applications, you will have to augment
the make rule accordingly.


But beware! That is only part of the story! With the above, you end up with
a bare bone .app bundle, which is double clickable from the Finder. But
................................................................................
there are some more things you should do before shipping your product...

1) The bundle right now probably is dynamically linked against SDL. That 
   means that when you copy it to another computer, *it will not run*,
   unless you also install SDL on that other computer. A good solution
   for this dilemma is to static link against SDL. On OS X, you can
   achieve that by linking against the libraries listed by

       sdl-config --static-libs

   instead of those listed by

       sdl-config --libs

   Depending on how exactly SDL is integrated into your build systems, the
   way to achieve that varies, so I won't describe it here in detail

2) Add an 'Info.plist' to your application. That is a special XML file which
   contains some meta-information about your application (like some copyright
   information, the version of your app, the name of an optional icon file,
   and other things). Part of that information is displayed by the Finder
   when you click on the .app, or if you look at the "Get Info" window.
   More information about Info.plist files can be found on Apple's homepage.

................................................................................

- First steps

The first thing to do is to unpack the Xcode.tar.gz archive in the
top level SDL directory (where the Xcode.tar.gz archive resides).
Because Stuffit Expander will unpack the archive into a subdirectory,
you should unpack the archive manually from the command line:

    cd [path_to_SDL_source]
    tar zxf Xcode.tar.gz

This will create a new folder called Xcode, which you can browse
normally from the Finder.

- Building the Framework

The SDL Library is packaged as a framework bundle, an organized
relocatable folder hierarchy of executable code, interface headers,

Changes to jni/SDL2/docs/README-nacl.md.

Changes to jni/SDL2/docs/README-pandora.md.

Changes to jni/SDL2/docs/README-platforms.md.

Changes to jni/SDL2/docs/README-psp.md.

Changes to jni/SDL2/docs/README-touch.md.

Changes to jni/SDL2/docs/README-wince.md.

Changes to jni/SDL2/docs/README-windows.md.

Changes to jni/SDL2/docs/README-winrt.md.

Changes to jni/SDL2/docs/README.md.

Changes to jni/SDL2/include/SDL.h.

68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/**
 *  \name SDL_INIT_*
 *
 *  These are the flags which may be passed to SDL_Init().  You should
 *  specify the subsystems which you will be using in your application.
 */
/* @{ */
#define SDL_INIT_TIMER          0x00000001
#define SDL_INIT_AUDIO          0x00000010
#define SDL_INIT_VIDEO          0x00000020  /**< SDL_INIT_VIDEO implies SDL_INIT_EVENTS */
#define SDL_INIT_JOYSTICK       0x00000200  /**< SDL_INIT_JOYSTICK implies SDL_INIT_EVENTS */
#define SDL_INIT_HAPTIC         0x00001000
#define SDL_INIT_GAMECONTROLLER 0x00002000  /**< SDL_INIT_GAMECONTROLLER implies SDL_INIT_JOYSTICK */
#define SDL_INIT_EVENTS         0x00004000
#define SDL_INIT_NOPARACHUTE    0x00100000  /**< compatibility; this flag is ignored. */
#define SDL_INIT_EVERYTHING ( \
                SDL_INIT_TIMER | SDL_INIT_AUDIO | SDL_INIT_VIDEO | SDL_INIT_EVENTS | \
                SDL_INIT_JOYSTICK | SDL_INIT_HAPTIC | SDL_INIT_GAMECONTROLLER \
            )
/* @} */

/**







|
|
|
|
|
|
|
|







68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/**
 *  \name SDL_INIT_*
 *
 *  These are the flags which may be passed to SDL_Init().  You should
 *  specify the subsystems which you will be using in your application.
 */
/* @{ */
#define SDL_INIT_TIMER          0x00000001u
#define SDL_INIT_AUDIO          0x00000010u
#define SDL_INIT_VIDEO          0x00000020u  /**< SDL_INIT_VIDEO implies SDL_INIT_EVENTS */
#define SDL_INIT_JOYSTICK       0x00000200u  /**< SDL_INIT_JOYSTICK implies SDL_INIT_EVENTS */
#define SDL_INIT_HAPTIC         0x00001000u
#define SDL_INIT_GAMECONTROLLER 0x00002000u  /**< SDL_INIT_GAMECONTROLLER implies SDL_INIT_JOYSTICK */
#define SDL_INIT_EVENTS         0x00004000u
#define SDL_INIT_NOPARACHUTE    0x00100000u  /**< compatibility; this flag is ignored. */
#define SDL_INIT_EVERYTHING ( \
                SDL_INIT_TIMER | SDL_INIT_AUDIO | SDL_INIT_VIDEO | SDL_INIT_EVENTS | \
                SDL_INIT_JOYSTICK | SDL_INIT_HAPTIC | SDL_INIT_GAMECONTROLLER \
            )
/* @} */

/**

Changes to jni/SDL2/include/SDL_audio.h.

274
275
276
277
278
279
280
281

282
283
284
285
286
287
288
...
477
478
479
480
481
482
483




484
485
486
487
488
489
490
...
512
513
514
515
516
517
518
519














































520
521


522
523

524
525
526
527
528






529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547



548
549
550




551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
 *    - \c desired->callback should be set to a function that will be called
 *      when the audio device is ready for more data.  It is passed a pointer
 *      to the audio buffer, and the length in bytes of the audio buffer.
 *      This function usually runs in a separate thread, and so you should
 *      protect data structures that it accesses by calling SDL_LockAudio()
 *      and SDL_UnlockAudio() in your code. Alternately, you may pass a NULL
 *      pointer here, and call SDL_QueueAudio() with some frequency, to queue
 *      more audio samples to be played.

 *    - \c desired->userdata is passed as the first parameter to your callback
 *      function. If you passed a NULL callback, this value is ignored.
 *
 *  The audio device starts out playing silence when it's opened, and should
 *  be enabled for playing by calling \c SDL_PauseAudio(0) when you are ready
 *  for your audio callback function to be called.  Since the audio driver
 *  may modify the requested size of the audio buffer, you should allocate
................................................................................
extern DECLSPEC void SDLCALL SDL_MixAudioFormat(Uint8 * dst,
                                                const Uint8 * src,
                                                SDL_AudioFormat format,
                                                Uint32 len, int volume);

/**
 *  Queue more audio on non-callback devices.




 *
 *  SDL offers two ways to feed audio to the device: you can either supply a
 *  callback that SDL triggers with some frequency to obtain more audio
 *  (pull method), or you can supply no callback, and then SDL will expect
 *  you to supply data at regular intervals (push method) with this function.
 *
 *  There are no limits on the amount of data you can queue, short of
................................................................................
 *  \return zero on success, -1 on error.
 *
 *  \sa SDL_GetQueuedAudioSize
 *  \sa SDL_ClearQueuedAudio
 */
extern DECLSPEC int SDLCALL SDL_QueueAudio(SDL_AudioDeviceID dev, const void *data, Uint32 len);

/**














































 *  Get the number of bytes of still-queued audio.
 *


 *  This is the number of bytes that have been queued for playback with
 *  SDL_QueueAudio(), but have not yet been sent to the hardware.

 *
 *  Once we've sent it to the hardware, this function can not decide the exact
 *  byte boundary of what has been played. It's possible that we just gave the
 *  hardware several kilobytes right before you called this function, but it
 *  hasn't played any of it yet, or maybe half of it, etc.






 *
 *  You may not queue audio on a device that is using an application-supplied
 *  callback; calling this function on such a device always returns 0.
 *  You have to use the audio callback or queue audio with SDL_QueueAudio(),
 *  but not both.
 *
 *  You should not call SDL_LockAudio() on the device before querying; SDL
 *  handles locking internally for this function.
 *
 *  \param dev The device ID of which we will query queued audio size.
 *  \return Number of bytes (not samples!) of queued audio.
 *
 *  \sa SDL_QueueAudio
 *  \sa SDL_ClearQueuedAudio
 */
extern DECLSPEC Uint32 SDLCALL SDL_GetQueuedAudioSize(SDL_AudioDeviceID dev);

/**
 *  Drop any queued audio data waiting to be sent to the hardware.



 *
 *  Immediately after this call, SDL_GetQueuedAudioSize() will return 0 and
 *  the hardware will start playing silence if more audio isn't queued.




 *
 *  This will not prevent playback of queued audio that's already been sent
 *  to the hardware, as we can not undo that, so expect there to be some
 *  fraction of a second of audio that might still be heard. This can be
 *  useful if you want to, say, drop any pending music during a level change
 *  in your game.
 *
 *  You may not queue audio on a device that is using an application-supplied
 *  callback; calling this function on such a device is always a no-op.
 *  You have to use the audio callback or queue audio with SDL_QueueAudio(),
 *  but not both.
 *
 *  You should not call SDL_LockAudio() on the device before clearing the
 *  queue; SDL handles locking internally for this function.
 *
 *  This function always succeeds and thus returns void.
 *
 *  \param dev The device ID of which to clear the audio queue.







|
>







 







>
>
>
>







 








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>


>
>
|
|
>

|
|
|
|
>
>
>
>
>
>



|
|













|
>
>
>

|
|
>
>
>
>









|
|







274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
...
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
...
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
 *    - \c desired->callback should be set to a function that will be called
 *      when the audio device is ready for more data.  It is passed a pointer
 *      to the audio buffer, and the length in bytes of the audio buffer.
 *      This function usually runs in a separate thread, and so you should
 *      protect data structures that it accesses by calling SDL_LockAudio()
 *      and SDL_UnlockAudio() in your code. Alternately, you may pass a NULL
 *      pointer here, and call SDL_QueueAudio() with some frequency, to queue
 *      more audio samples to be played (or for capture devices, call
 *      SDL_DequeueAudio() with some frequency, to obtain audio samples).
 *    - \c desired->userdata is passed as the first parameter to your callback
 *      function. If you passed a NULL callback, this value is ignored.
 *
 *  The audio device starts out playing silence when it's opened, and should
 *  be enabled for playing by calling \c SDL_PauseAudio(0) when you are ready
 *  for your audio callback function to be called.  Since the audio driver
 *  may modify the requested size of the audio buffer, you should allocate
................................................................................
extern DECLSPEC void SDLCALL SDL_MixAudioFormat(Uint8 * dst,
                                                const Uint8 * src,
                                                SDL_AudioFormat format,
                                                Uint32 len, int volume);

/**
 *  Queue more audio on non-callback devices.
 *
 *  (If you are looking to retrieve queued audio from a non-callback capture
 *  device, you want SDL_DequeueAudio() instead. This will return -1 to
 *  signify an error if you use it with capture devices.)
 *
 *  SDL offers two ways to feed audio to the device: you can either supply a
 *  callback that SDL triggers with some frequency to obtain more audio
 *  (pull method), or you can supply no callback, and then SDL will expect
 *  you to supply data at regular intervals (push method) with this function.
 *
 *  There are no limits on the amount of data you can queue, short of
................................................................................
 *  \return zero on success, -1 on error.
 *
 *  \sa SDL_GetQueuedAudioSize
 *  \sa SDL_ClearQueuedAudio
 */
extern DECLSPEC int SDLCALL SDL_QueueAudio(SDL_AudioDeviceID dev, const void *data, Uint32 len);

/**
 *  Dequeue more audio on non-callback devices.
 *
 *  (If you are looking to queue audio for output on a non-callback playback
 *  device, you want SDL_QueueAudio() instead. This will always return 0
 *  if you use it with playback devices.)
 *
 *  SDL offers two ways to retrieve audio from a capture device: you can
 *  either supply a callback that SDL triggers with some frequency as the
 *  device records more audio data, (push method), or you can supply no
 *  callback, and then SDL will expect you to retrieve data at regular
 *  intervals (pull method) with this function.
 *
 *  There are no limits on the amount of data you can queue, short of
 *  exhaustion of address space. Data from the device will keep queuing as
 *  necessary without further intervention from you. This means you will
 *  eventually run out of memory if you aren't routinely dequeueing data.
 *
 *  Capture devices will not queue data when paused; if you are expecting
 *  to not need captured audio for some length of time, use
 *  SDL_PauseAudioDevice() to stop the capture device from queueing more
 *  data. This can be useful during, say, level loading times. When
 *  unpaused, capture devices will start queueing data from that point,
 *  having flushed any capturable data available while paused.
 *
 *  This function is thread-safe, but dequeueing from the same device from
 *  two threads at once does not promise which thread will dequeued data
 *  first.
 *
 *  You may not dequeue audio from a device that is using an
 *  application-supplied callback; doing so returns an error. You have to use
 *  the audio callback, or dequeue audio with this function, but not both.
 *
 *  You should not call SDL_LockAudio() on the device before queueing; SDL
 *  handles locking internally for this function.
 *
 *  \param dev The device ID from which we will dequeue audio.
 *  \param data A pointer into where audio data should be copied.
 *  \param len The number of bytes (not samples!) to which (data) points.
 *  \return number of bytes dequeued, which could be less than requested.
 *
 *  \sa SDL_GetQueuedAudioSize
 *  \sa SDL_ClearQueuedAudio
 */
extern DECLSPEC Uint32 SDLCALL SDL_DequeueAudio(SDL_AudioDeviceID dev, void *data, Uint32 len);

/**
 *  Get the number of bytes of still-queued audio.
 *
 *  For playback device:
 *
 *    This is the number of bytes that have been queued for playback with
 *    SDL_QueueAudio(), but have not yet been sent to the hardware. This
 *    number may shrink at any time, so this only informs of pending data.
 *
 *    Once we've sent it to the hardware, this function can not decide the
 *    exact byte boundary of what has been played. It's possible that we just
 *    gave the hardware several kilobytes right before you called this
 *    function, but it hasn't played any of it yet, or maybe half of it, etc.
 *
 *  For capture devices:
 *
 *    This is the number of bytes that have been captured by the device and
 *    are waiting for you to dequeue. This number may grow at any time, so
 *    this only informs of the lower-bound of available data.
 *
 *  You may not queue audio on a device that is using an application-supplied
 *  callback; calling this function on such a device always returns 0.
 *  You have to queue audio with SDL_QueueAudio()/SDL_DequeueAudio(), or use
 *  the audio callback, but not both.
 *
 *  You should not call SDL_LockAudio() on the device before querying; SDL
 *  handles locking internally for this function.
 *
 *  \param dev The device ID of which we will query queued audio size.
 *  \return Number of bytes (not samples!) of queued audio.
 *
 *  \sa SDL_QueueAudio
 *  \sa SDL_ClearQueuedAudio
 */
extern DECLSPEC Uint32 SDLCALL SDL_GetQueuedAudioSize(SDL_AudioDeviceID dev);

/**
 *  Drop any queued audio data. For playback devices, this is any queued data
 *  still waiting to be submitted to the hardware. For capture devices, this
 *  is any data that was queued by the device that hasn't yet been dequeued by
 *  the application.
 *
 *  Immediately after this call, SDL_GetQueuedAudioSize() will return 0. For
 *  playback devices, the hardware will start playing silence if more audio
 *  isn't queued. Unpaused capture devices will start filling the queue again
 *  as soon as they have more data available (which, depending on the state
 *  of the hardware and the thread, could be before this function call
 *  returns!).
 *
 *  This will not prevent playback of queued audio that's already been sent
 *  to the hardware, as we can not undo that, so expect there to be some
 *  fraction of a second of audio that might still be heard. This can be
 *  useful if you want to, say, drop any pending music during a level change
 *  in your game.
 *
 *  You may not queue audio on a device that is using an application-supplied
 *  callback; calling this function on such a device is always a no-op.
 *  You have to queue audio with SDL_QueueAudio()/SDL_DequeueAudio(), or use
 *  the audio callback, but not both.
 *
 *  You should not call SDL_LockAudio() on the device before clearing the
 *  queue; SDL handles locking internally for this function.
 *
 *  This function always succeeds and thus returns void.
 *
 *  \param dev The device ID of which to clear the audio queue.

Changes to jni/SDL2/include/SDL_config.h.

25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include "SDL_platform.h"

/**
 *  \file SDL_config.h
 */

/* Add any platform that doesn't build using the configure system. */
#ifdef USING_PREMAKE_CONFIG_H
#include "SDL_config_premake.h"
#elif defined(__WIN32__)
#include "SDL_config_windows.h"
#elif defined(__WINRT__)
#include "SDL_config_winrt.h"
#elif defined(__MACOSX__)
#include "SDL_config_macosx.h"
#elif defined(__IPHONEOS__)
#include "SDL_config_iphoneos.h"







<
<
|







25
26
27
28
29
30
31


32
33
34
35
36
37
38
39
#include "SDL_platform.h"

/**
 *  \file SDL_config.h
 */

/* Add any platform that doesn't build using the configure system. */


#if defined(__WIN32__)
#include "SDL_config_windows.h"
#elif defined(__WINRT__)
#include "SDL_config_winrt.h"
#elif defined(__MACOSX__)
#include "SDL_config_macosx.h"
#elif defined(__IPHONEOS__)
#include "SDL_config_iphoneos.h"

Changes to jni/SDL2/include/SDL_config.h.cmake.

77
78
79
80
81
82
83


84
85
86
87
88
89
90
...
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
#cmakedefine HAVE_MATH_H 1
#cmakedefine HAVE_ICONV_H 1
#cmakedefine HAVE_SIGNAL_H 1
#cmakedefine HAVE_ALTIVEC_H 1
#cmakedefine HAVE_PTHREAD_NP_H 1
#cmakedefine HAVE_LIBUDEV_H 1
#cmakedefine HAVE_DBUS_DBUS_H 1



/* C library functions */
#cmakedefine HAVE_MALLOC 1
#cmakedefine HAVE_CALLOC 1
#cmakedefine HAVE_REALLOC 1
#cmakedefine HAVE_FREE 1
#cmakedefine HAVE_ALLOCA 1
................................................................................
#cmakedefine SDL_HAPTIC_DUMMY @SDL_HAPTIC_DUMMY@
#cmakedefine SDL_HAPTIC_LINUX @SDL_HAPTIC_LINUX@
#cmakedefine SDL_HAPTIC_IOKIT @SDL_HAPTIC_IOKIT@
#cmakedefine SDL_HAPTIC_DINPUT @SDL_HAPTIC_DINPUT@
#cmakedefine SDL_HAPTIC_XINPUT @SDL_HAPTIC_XINPUT@

/* Enable various shared object loading systems */
#cmakedefine SDL_LOADSO_HAIKU @SDL_LOADSO_HAIKU@
#cmakedefine SDL_LOADSO_DLOPEN @SDL_LOADSO_DLOPEN@
#cmakedefine SDL_LOADSO_DUMMY @SDL_LOADSO_DUMMY@
#cmakedefine SDL_LOADSO_LDG @SDL_LOADSO_LDG@
#cmakedefine SDL_LOADSO_WINDOWS @SDL_LOADSO_WINDOWS@

/* Enable various threading systems */
#cmakedefine SDL_THREAD_PTHREAD @SDL_THREAD_PTHREAD@







>
>







 







<







77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
...
248
249
250
251
252
253
254

255
256
257
258
259
260
261
#cmakedefine HAVE_MATH_H 1
#cmakedefine HAVE_ICONV_H 1
#cmakedefine HAVE_SIGNAL_H 1
#cmakedefine HAVE_ALTIVEC_H 1
#cmakedefine HAVE_PTHREAD_NP_H 1
#cmakedefine HAVE_LIBUDEV_H 1
#cmakedefine HAVE_DBUS_DBUS_H 1
#cmakedefine HAVE_IBUS_IBUS_H 1
#cmakedefine HAVE_FCITX_FRONTEND_H 1

/* C library functions */
#cmakedefine HAVE_MALLOC 1
#cmakedefine HAVE_CALLOC 1
#cmakedefine HAVE_REALLOC 1
#cmakedefine HAVE_FREE 1
#cmakedefine HAVE_ALLOCA 1
................................................................................
#cmakedefine SDL_HAPTIC_DUMMY @SDL_HAPTIC_DUMMY@
#cmakedefine SDL_HAPTIC_LINUX @SDL_HAPTIC_LINUX@
#cmakedefine SDL_HAPTIC_IOKIT @SDL_HAPTIC_IOKIT@
#cmakedefine SDL_HAPTIC_DINPUT @SDL_HAPTIC_DINPUT@
#cmakedefine SDL_HAPTIC_XINPUT @SDL_HAPTIC_XINPUT@

/* Enable various shared object loading systems */

#cmakedefine SDL_LOADSO_DLOPEN @SDL_LOADSO_DLOPEN@
#cmakedefine SDL_LOADSO_DUMMY @SDL_LOADSO_DUMMY@
#cmakedefine SDL_LOADSO_LDG @SDL_LOADSO_LDG@
#cmakedefine SDL_LOADSO_WINDOWS @SDL_LOADSO_WINDOWS@

/* Enable various threading systems */
#cmakedefine SDL_THREAD_PTHREAD @SDL_THREAD_PTHREAD@

Changes to jni/SDL2/include/SDL_config.h.in.

78
79
80
81
82
83
84

85
86
87
88
89
90
91
...
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
...
351
352
353
354
355
356
357
358



359
#undef HAVE_ICONV_H
#undef HAVE_SIGNAL_H
#undef HAVE_ALTIVEC_H
#undef HAVE_PTHREAD_NP_H
#undef HAVE_LIBUDEV_H
#undef HAVE_DBUS_DBUS_H
#undef HAVE_IBUS_IBUS_H


/* C library functions */
#undef HAVE_MALLOC
#undef HAVE_CALLOC
#undef HAVE_REALLOC
#undef HAVE_FREE
#undef HAVE_ALLOCA
................................................................................
#undef SDL_HAPTIC_DUMMY
#undef SDL_HAPTIC_LINUX
#undef SDL_HAPTIC_IOKIT
#undef SDL_HAPTIC_DINPUT
#undef SDL_HAPTIC_XINPUT

/* Enable various shared object loading systems */
#undef SDL_LOADSO_HAIKU
#undef SDL_LOADSO_DLOPEN
#undef SDL_LOADSO_DUMMY
#undef SDL_LOADSO_LDG
#undef SDL_LOADSO_WINDOWS

/* Enable various threading systems */
#undef SDL_THREAD_PTHREAD
................................................................................
#undef SDL_FILESYSTEM_NACL
#undef SDL_FILESYSTEM_ANDROID
#undef SDL_FILESYSTEM_EMSCRIPTEN

/* Enable assembly routines */
#undef SDL_ASSEMBLY_ROUTINES
#undef SDL_ALTIVEC_BLITTERS




#endif /* _SDL_config_h */







>







 







<







 








>
>
>

78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
...
249
250
251
252
253
254
255

256
257
258
259
260
261
262
...
351
352
353
354
355
356
357
358
359
360
361
362
#undef HAVE_ICONV_H
#undef HAVE_SIGNAL_H
#undef HAVE_ALTIVEC_H
#undef HAVE_PTHREAD_NP_H
#undef HAVE_LIBUDEV_H
#undef HAVE_DBUS_DBUS_H
#undef HAVE_IBUS_IBUS_H
#undef HAVE_FCITX_FRONTEND_H

/* C library functions */
#undef HAVE_MALLOC
#undef HAVE_CALLOC
#undef HAVE_REALLOC
#undef HAVE_FREE
#undef HAVE_ALLOCA
................................................................................
#undef SDL_HAPTIC_DUMMY
#undef SDL_HAPTIC_LINUX
#undef SDL_HAPTIC_IOKIT
#undef SDL_HAPTIC_DINPUT
#undef SDL_HAPTIC_XINPUT

/* Enable various shared object loading systems */

#undef SDL_LOADSO_DLOPEN
#undef SDL_LOADSO_DUMMY
#undef SDL_LOADSO_LDG
#undef SDL_LOADSO_WINDOWS

/* Enable various threading systems */
#undef SDL_THREAD_PTHREAD
................................................................................
#undef SDL_FILESYSTEM_NACL
#undef SDL_FILESYSTEM_ANDROID
#undef SDL_FILESYSTEM_EMSCRIPTEN

/* Enable assembly routines */
#undef SDL_ASSEMBLY_ROUTINES
#undef SDL_ALTIVEC_BLITTERS

/* Enable ime support */
#undef SDL_USE_IME

#endif /* _SDL_config_h */

Changes to jni/SDL2/include/SDL_config_android.h.

39
40
41
42
43
44
45

46
47
48
49
50
51
52
..
71
72
73
74
75
76
77

78
79
80
81
82
83
84
..
97
98
99
100
101
102
103

104
105
106
107
108
109
110
#define HAVE_STDIO_H    1
#define STDC_HEADERS    1
#define HAVE_STRING_H   1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H   1
#define HAVE_CTYPE_H    1
#define HAVE_MATH_H 1


/* C library functions */
#define HAVE_MALLOC 1
#define HAVE_CALLOC 1
#define HAVE_REALLOC    1
#define HAVE_FREE   1
#define HAVE_ALLOCA 1
................................................................................
#define HAVE_STRSTR 1
#define HAVE_STRTOL 1
#define HAVE_STRTOUL    1
#define HAVE_STRTOLL    1
#define HAVE_STRTOULL   1
#define HAVE_STRTOD 1
#define HAVE_ATOI   1

#define HAVE_STRCMP 1
#define HAVE_STRNCMP    1
#define HAVE_STRCASECMP 1
#define HAVE_STRNCASECMP 1
#define HAVE_VSSCANF 1
#define HAVE_VSNPRINTF  1
#define HAVE_M_PI   1
................................................................................
#define HAVE_SCALBN 1
#define HAVE_SIN    1
#define HAVE_SINF   1
#define HAVE_SQRT   1
#define HAVE_SQRTF  1
#define HAVE_TAN    1
#define HAVE_TANF   1

#define HAVE_SETJMP 1
#define HAVE_NANOSLEEP  1
#define HAVE_SYSCONF    1
#define HAVE_CLOCK_GETTIME	1

#define SIZEOF_VOIDP 4








>







 







>







 







>







39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
..
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
..
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#define HAVE_STDIO_H    1
#define STDC_HEADERS    1
#define HAVE_STRING_H   1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H   1
#define HAVE_CTYPE_H    1
#define HAVE_MATH_H 1
#define HAVE_SIGNAL_H 1

/* C library functions */
#define HAVE_MALLOC 1
#define HAVE_CALLOC 1
#define HAVE_REALLOC    1
#define HAVE_FREE   1
#define HAVE_ALLOCA 1
................................................................................
#define HAVE_STRSTR 1
#define HAVE_STRTOL 1
#define HAVE_STRTOUL    1
#define HAVE_STRTOLL    1
#define HAVE_STRTOULL   1
#define HAVE_STRTOD 1
#define HAVE_ATOI   1
#define HAVE_ATOF 1
#define HAVE_STRCMP 1
#define HAVE_STRNCMP    1
#define HAVE_STRCASECMP 1
#define HAVE_STRNCASECMP 1
#define HAVE_VSSCANF 1
#define HAVE_VSNPRINTF  1
#define HAVE_M_PI   1
................................................................................
#define HAVE_SCALBN 1
#define HAVE_SIN    1
#define HAVE_SINF   1
#define HAVE_SQRT   1
#define HAVE_SQRTF  1
#define HAVE_TAN    1
#define HAVE_TANF   1
#define HAVE_SIGACTION 1
#define HAVE_SETJMP 1
#define HAVE_NANOSLEEP  1
#define HAVE_SYSCONF    1
#define HAVE_CLOCK_GETTIME	1

#define SIZEOF_VOIDP 4

Changes to jni/SDL2/include/SDL_config_iphoneos.h.

115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/* Enable the stub haptic driver (src/haptic/dummy/\*.c) */
#define SDL_HAPTIC_DUMMY 1

/* Enable MFi joystick support */
#define SDL_JOYSTICK_MFI 1

/* Enable Unix style SO loading */
/* Technically this works, but violates the iOS dev agreement prior to iOS 8 */
/* #define SDL_LOADSO_DLOPEN 1 */

/* Enable the stub shared object loader (src/loadso/dummy/\*.c) */
#define SDL_LOADSO_DISABLED 1

/* Enable various threading systems */
#define SDL_THREAD_PTHREAD  1
#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX  1

/* Enable various timer systems */
#define SDL_TIMER_UNIX  1







<
|
<
<
<







115
116
117
118
119
120
121

122



123
124
125
126
127
128
129
/* Enable the stub haptic driver (src/haptic/dummy/\*.c) */
#define SDL_HAPTIC_DUMMY 1

/* Enable MFi joystick support */
#define SDL_JOYSTICK_MFI 1

/* Enable Unix style SO loading */

#define SDL_LOADSO_DLOPEN 1




/* Enable various threading systems */
#define SDL_THREAD_PTHREAD  1
#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX  1

/* Enable various timer systems */
#define SDL_TIMER_UNIX  1

Changes to jni/SDL2/include/SDL_haptic.h.

145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
/**
 *  \brief Constant effect supported.
 *
 *  Constant haptic effect.
 *
 *  \sa SDL_HapticCondition
 */
#define SDL_HAPTIC_CONSTANT   (1<<0)

/**
 *  \brief Sine wave effect supported.
 *
 *  Periodic haptic effect that simulates sine waves.
 *
 *  \sa SDL_HapticPeriodic
 */
#define SDL_HAPTIC_SINE       (1<<1)

/**
 *  \brief Left/Right effect supported.
 *
 *  Haptic effect for direct control over high/low frequency motors.
 *
 *  \sa SDL_HapticLeftRight
 * \warning this value was SDL_HAPTIC_SQUARE right before 2.0.0 shipped. Sorry,
 *          we ran out of bits, and this is important for XInput devices.
 */
#define SDL_HAPTIC_LEFTRIGHT     (1<<2)

/* !!! FIXME: put this back when we have more bits in 2.1 */
/* #define SDL_HAPTIC_SQUARE     (1<<2) */

/**
 *  \brief Triangle wave effect supported.
 *
 *  Periodic haptic effect that simulates triangular waves.
 *
 *  \sa SDL_HapticPeriodic
 */
#define SDL_HAPTIC_TRIANGLE   (1<<3)

/**
 *  \brief Sawtoothup wave effect supported.
 *
 *  Periodic haptic effect that simulates saw tooth up waves.
 *
 *  \sa SDL_HapticPeriodic
 */
#define SDL_HAPTIC_SAWTOOTHUP (1<<4)

/**
 *  \brief Sawtoothdown wave effect supported.
 *
 *  Periodic haptic effect that simulates saw tooth down waves.
 *
 *  \sa SDL_HapticPeriodic
 */
#define SDL_HAPTIC_SAWTOOTHDOWN (1<<5)

/**
 *  \brief Ramp effect supported.
 *
 *  Ramp haptic effect.
 *
 *  \sa SDL_HapticRamp
 */
#define SDL_HAPTIC_RAMP       (1<<6)

/**
 *  \brief Spring effect supported - uses axes position.
 *
 *  Condition haptic effect that simulates a spring.  Effect is based on the
 *  axes position.
 *
 *  \sa SDL_HapticCondition
 */
#define SDL_HAPTIC_SPRING     (1<<7)

/**
 *  \brief Damper effect supported - uses axes velocity.
 *
 *  Condition haptic effect that simulates dampening.  Effect is based on the
 *  axes velocity.
 *
 *  \sa SDL_HapticCondition
 */
#define SDL_HAPTIC_DAMPER     (1<<8)

/**
 *  \brief Inertia effect supported - uses axes acceleration.
 *
 *  Condition haptic effect that simulates inertia.  Effect is based on the axes
 *  acceleration.
 *
 *  \sa SDL_HapticCondition
 */
#define SDL_HAPTIC_INERTIA    (1<<9)

/**
 *  \brief Friction effect supported - uses axes movement.
 *
 *  Condition haptic effect that simulates friction.  Effect is based on the
 *  axes movement.
 *
 *  \sa SDL_HapticCondition
 */
#define SDL_HAPTIC_FRICTION   (1<<10)

/**
 *  \brief Custom effect is supported.
 *
 *  User defined custom haptic effect.
 */
#define SDL_HAPTIC_CUSTOM     (1<<11)

/* @} *//* Haptic effects */

/* These last few are features the device has, not effects */

/**
 *  \brief Device can set global gain.
 *
 *  Device supports setting the global gain.
 *
 *  \sa SDL_HapticSetGain
 */
#define SDL_HAPTIC_GAIN       (1<<12)

/**
 *  \brief Device can set autocenter.
 *
 *  Device supports setting autocenter.
 *
 *  \sa SDL_HapticSetAutocenter
 */
#define SDL_HAPTIC_AUTOCENTER (1<<13)

/**
 *  \brief Device can be queried for effect status.
 *
 *  Device can be queried for effect status.
 *
 *  \sa SDL_HapticGetEffectStatus
 */
#define SDL_HAPTIC_STATUS     (1<<14)

/**
 *  \brief Device can be paused.
 *
 *  \sa SDL_HapticPause
 *  \sa SDL_HapticUnpause
 */
#define SDL_HAPTIC_PAUSE      (1<<15)


/**
 * \name Direction encodings
 */
/* @{ */








|








|










|











|








|








|








|









|









|









|









|






|












|








|








|







|







145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
/**
 *  \brief Constant effect supported.
 *
 *  Constant haptic effect.
 *
 *  \sa SDL_HapticCondition
 */
#define SDL_HAPTIC_CONSTANT   (1u<<0)

/**
 *  \brief Sine wave effect supported.
 *
 *  Periodic haptic effect that simulates sine waves.
 *
 *  \sa SDL_HapticPeriodic
 */
#define SDL_HAPTIC_SINE       (1u<<1)

/**
 *  \brief Left/Right effect supported.
 *
 *  Haptic effect for direct control over high/low frequency motors.
 *
 *  \sa SDL_HapticLeftRight
 * \warning this value was SDL_HAPTIC_SQUARE right before 2.0.0 shipped. Sorry,
 *          we ran out of bits, and this is important for XInput devices.
 */
#define SDL_HAPTIC_LEFTRIGHT     (1u<<2)

/* !!! FIXME: put this back when we have more bits in 2.1 */
/* #define SDL_HAPTIC_SQUARE     (1<<2) */

/**
 *  \brief Triangle wave effect supported.
 *
 *  Periodic haptic effect that simulates triangular waves.
 *
 *  \sa SDL_HapticPeriodic
 */
#define SDL_HAPTIC_TRIANGLE   (1u<<3)

/**
 *  \brief Sawtoothup wave effect supported.
 *
 *  Periodic haptic effect that simulates saw tooth up waves.
 *
 *  \sa SDL_HapticPeriodic
 */
#define SDL_HAPTIC_SAWTOOTHUP (1u<<4)

/**
 *  \brief Sawtoothdown wave effect supported.
 *
 *  Periodic haptic effect that simulates saw tooth down waves.
 *
 *  \sa SDL_HapticPeriodic
 */
#define SDL_HAPTIC_SAWTOOTHDOWN (1u<<5)

/**
 *  \brief Ramp effect supported.
 *
 *  Ramp haptic effect.
 *
 *  \sa SDL_HapticRamp
 */
#define SDL_HAPTIC_RAMP       (1u<<6)

/**
 *  \brief Spring effect supported - uses axes position.
 *
 *  Condition haptic effect that simulates a spring.  Effect is based on the
 *  axes position.
 *
 *  \sa SDL_HapticCondition
 */
#define SDL_HAPTIC_SPRING     (1u<<7)

/**
 *  \brief Damper effect supported - uses axes velocity.
 *
 *  Condition haptic effect that simulates dampening.  Effect is based on the
 *  axes velocity.
 *
 *  \sa SDL_HapticCondition
 */
#define SDL_HAPTIC_DAMPER     (1u<<8)

/**
 *  \brief Inertia effect supported - uses axes acceleration.
 *
 *  Condition haptic effect that simulates inertia.  Effect is based on the axes
 *  acceleration.
 *
 *  \sa SDL_HapticCondition
 */
#define SDL_HAPTIC_INERTIA    (1u<<9)

/**
 *  \brief Friction effect supported - uses axes movement.
 *
 *  Condition haptic effect that simulates friction.  Effect is based on the
 *  axes movement.
 *
 *  \sa SDL_HapticCondition
 */
#define SDL_HAPTIC_FRICTION   (1u<<10)

/**
 *  \brief Custom effect is supported.
 *
 *  User defined custom haptic effect.
 */
#define SDL_HAPTIC_CUSTOM     (1u<<11)

/* @} *//* Haptic effects */

/* These last few are features the device has, not effects */

/**
 *  \brief Device can set global gain.
 *
 *  Device supports setting the global gain.
 *
 *  \sa SDL_HapticSetGain
 */
#define SDL_HAPTIC_GAIN       (1u<<12)

/**
 *  \brief Device can set autocenter.
 *
 *  Device supports setting autocenter.
 *
 *  \sa SDL_HapticSetAutocenter
 */
#define SDL_HAPTIC_AUTOCENTER (1u<<13)

/**
 *  \brief Device can be queried for effect status.
 *
 *  Device can be queried for effect status.
 *
 *  \sa SDL_HapticGetEffectStatus
 */
#define SDL_HAPTIC_STATUS     (1u<<14)

/**
 *  \brief Device can be paused.
 *
 *  \sa SDL_HapticPause
 *  \sa SDL_HapticUnpause
 */
#define SDL_HAPTIC_PAUSE      (1u<<15)


/**
 * \name Direction encodings
 */
/* @{ */

Changes to jni/SDL2/include/SDL_hints.h.

229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245











246
247
248
249
250
251
252
...
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
...
272
273
274
275
276
277
278
279




























280
281
282
283
284
285
286
...
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
...
626
627
628
629
630
631
632






































633
634
635
636
637
638
639
...
665
666
667
668
669
670
671







672
673
674
675
676
677
678
 *    "1"       - Grab will affect mouse and keyboard
 *
 *  By default SDL will not grab the keyboard so system shortcuts still work.
 */
#define SDL_HINT_GRAB_KEYBOARD              "SDL_GRAB_KEYBOARD"

/**
*  \brief  A variable controlling whether relative mouse mode is implemented using mouse warping
*
*  This variable can be set to the following values:
*    "0"       - Relative mouse mode uses raw input
*    "1"       - Relative mouse mode uses mouse warping
*
*  By default SDL will use raw input for relative mouse mode
*/
#define SDL_HINT_MOUSE_RELATIVE_MODE_WARP    "SDL_MOUSE_RELATIVE_MODE_WARP"












/**
 *  \brief Minimize your SDL_Window if it loses key focus when in fullscreen mode. Defaults to true.
 *
 */
#define SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS   "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS"

/**
................................................................................
 *  \brief  A variable controlling whether the idle timer is disabled on iOS.
 *
 *  When an iOS app does not receive touches for some time, the screen is
 *  dimmed automatically. For games where the accelerometer is the only input
 *  this is problematic. This functionality can be disabled by setting this
 *  hint.
 *
 *  As of SDL 2.0.4, SDL_EnableScreenSaver and SDL_DisableScreenSaver accomplish
 *  the same thing on iOS. They should be preferred over this hint.
 *
 *  This variable can be set to the following values:
 *    "0"       - Enable idle timer
 *    "1"       - Disable idle timer
 */
#define SDL_HINT_IDLE_TIMER_DISABLED "SDL_IOS_IDLE_TIMER_DISABLED"

................................................................................
 *  In some circumstances it is necessary to be able to explicitly control
 *  which UI orientations are allowed.
 *
 *  This variable is a space delimited list of the following values:
 *    "LandscapeLeft", "LandscapeRight", "Portrait" "PortraitUpsideDown"
 */
#define SDL_HINT_ORIENTATIONS "SDL_IOS_ORIENTATIONS"
    




























/**
 *  \brief  A variable controlling whether the Android / iOS built-in
 *  accelerometer should be listed as a joystick device, rather than listing
 *  actual joysticks only.
 *
 *  This variable can be set to the following values:
 *    "0"       - List only real joysticks and accept input from them
................................................................................

/**
*  \brief  A string specifying SDL's threads stack size in bytes or "0" for the backend's default size
*
*  Use this hint in case you need to set SDL's threads stack size to other than the default.
*  This is specially useful if you build SDL against a non glibc libc library (such as musl) which
*  provides a relatively small default thread stack size (a few kilobytes versus the default 8MB glibc uses).
*  Support for this hint is currently available only in the pthread backend.
*/
#define SDL_HINT_THREAD_STACK_SIZE              "SDL_THREAD_STACK_SIZE"

/**
 *  \brief If set to 1, then do not allow high-DPI windows. ("Retina" on Mac and iOS)
 */
#define SDL_HINT_VIDEO_HIGHDPI_DISABLED "SDL_VIDEO_HIGHDPI_DISABLED"
................................................................................
 *
 * The variable can be set to the following values:
 *   "0"       - SDL will generate a window-close event when it sees Alt+F4.
 *   "1"       - SDL will only do normal key handling for Alt+F4.
 */
#define SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4	"SDL_WINDOWS_NO_CLOSE_ON_ALT_F4"







































/**
 *  \brief  An enumeration of hint priorities
 */
typedef enum
{
    SDL_HINT_DEFAULT,
    SDL_HINT_NORMAL,
................................................................................
/**
 *  \brief Get a hint
 *
 *  \return The string value of a hint variable.
 */
extern DECLSPEC const char * SDLCALL SDL_GetHint(const char *name);








/**
 *  \brief Add a function to watch a particular hint
 *
 *  \param name The hint to watch
 *  \param callback The function to call when the hint value changes
 *  \param userdata A pointer to pass to the callback function
 */







|
|
|
|
|
|
|
|


>
>
>
>
>
>
>
>
>
>
>







 







|
|







 







|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







|







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>
>
>
>
>
>







229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
...
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
...
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
...
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
...
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
...
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
 *    "1"       - Grab will affect mouse and keyboard
 *
 *  By default SDL will not grab the keyboard so system shortcuts still work.
 */
#define SDL_HINT_GRAB_KEYBOARD              "SDL_GRAB_KEYBOARD"

/**
 *  \brief  A variable controlling whether relative mouse mode is implemented using mouse warping
 *
 *  This variable can be set to the following values:
 *    "0"       - Relative mouse mode uses raw input
 *    "1"       - Relative mouse mode uses mouse warping
 *
 *  By default SDL will use raw input for relative mouse mode
 */
#define SDL_HINT_MOUSE_RELATIVE_MODE_WARP    "SDL_MOUSE_RELATIVE_MODE_WARP"

/**
 *  \brief Allow mouse click events when clicking to focus an SDL window
 *
 *  This variable can be set to the following values:
 *    "0"       - Ignore mouse clicks that activate a window
 *    "1"       - Generate events for mouse clicks that activate a window
 *
 *  By default SDL will ignore mouse clicks that activate a window
 */
#define SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH "SDL_MOUSE_FOCUS_CLICKTHROUGH"

/**
 *  \brief Minimize your SDL_Window if it loses key focus when in fullscreen mode. Defaults to true.
 *
 */
#define SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS   "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS"

/**
................................................................................
 *  \brief  A variable controlling whether the idle timer is disabled on iOS.
 *
 *  When an iOS app does not receive touches for some time, the screen is
 *  dimmed automatically. For games where the accelerometer is the only input
 *  this is problematic. This functionality can be disabled by setting this
 *  hint.
 *
 *  As of SDL 2.0.4, SDL_EnableScreenSaver() and SDL_DisableScreenSaver()
 *  accomplish the same thing on iOS. They should be preferred over this hint.
 *
 *  This variable can be set to the following values:
 *    "0"       - Enable idle timer
 *    "1"       - Disable idle timer
 */
#define SDL_HINT_IDLE_TIMER_DISABLED "SDL_IOS_IDLE_TIMER_DISABLED"

................................................................................
 *  In some circumstances it is necessary to be able to explicitly control
 *  which UI orientations are allowed.
 *
 *  This variable is a space delimited list of the following values:
 *    "LandscapeLeft", "LandscapeRight", "Portrait" "PortraitUpsideDown"
 */
#define SDL_HINT_ORIENTATIONS "SDL_IOS_ORIENTATIONS"

/**
 *  \brief  A variable controlling whether controllers used with the Apple TV
 *  generate UI events.
 *
 * When UI events are generated by controller input, the app will be
 * backgrounded when the Apple TV remote's menu button is pressed, and when the
 * pause or B buttons on gamepads are pressed.
 *
 * More information about properly making use of controllers for the Apple TV
 * can be found here:
 * https://developer.apple.com/tvos/human-interface-guidelines/remote-and-controllers/
 *
 *  This variable can be set to the following values:
 *    "0"       - Controller input does not generate UI events (the default).
 *    "1"       - Controller input generates UI events.
 */
#define SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS "SDL_APPLE_TV_CONTROLLER_UI_EVENTS"

/**
 * \brief  A variable controlling whether the Apple TV remote's joystick axes
 *         will automatically match the rotation of the remote.
 *
 *  This variable can be set to the following values:
 *    "0"       - Remote orientation does not affect joystick axes (the default).
 *    "1"       - Joystick axes are based on the orientation of the remote.
 */
#define SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION "SDL_APPLE_TV_REMOTE_ALLOW_ROTATION"

/**
 *  \brief  A variable controlling whether the Android / iOS built-in
 *  accelerometer should be listed as a joystick device, rather than listing
 *  actual joysticks only.
 *
 *  This variable can be set to the following values:
 *    "0"       - List only real joysticks and accept input from them
................................................................................

/**
*  \brief  A string specifying SDL's threads stack size in bytes or "0" for the backend's default size
*
*  Use this hint in case you need to set SDL's threads stack size to other than the default.
*  This is specially useful if you build SDL against a non glibc libc library (such as musl) which
*  provides a relatively small default thread stack size (a few kilobytes versus the default 8MB glibc uses).
*  Support for this hint is currently available only in the pthread, Windows, and PSP backend.
*/
#define SDL_HINT_THREAD_STACK_SIZE              "SDL_THREAD_STACK_SIZE"

/**
 *  \brief If set to 1, then do not allow high-DPI windows. ("Retina" on Mac and iOS)
 */
#define SDL_HINT_VIDEO_HIGHDPI_DISABLED "SDL_VIDEO_HIGHDPI_DISABLED"
................................................................................
 *
 * The variable can be set to the following values:
 *   "0"       - SDL will generate a window-close event when it sees Alt+F4.
 *   "1"       - SDL will only do normal key handling for Alt+F4.
 */
#define SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4	"SDL_WINDOWS_NO_CLOSE_ON_ALT_F4"

/**
 *  \brief Prevent SDL from using version 4 of the bitmap header when saving BMPs.
 *
 * The bitmap header version 4 is required for proper alpha channel support and
 * SDL will use it when required. Should this not be desired, this hint can
 * force the use of the 40 byte header version which is supported everywhere.
 *
 * The variable can be set to the following values:
 *   "0"       - Surfaces with a colorkey or an alpha channel are saved to a
 *               32-bit BMP file with an alpha mask. SDL will use the bitmap
 *               header version 4 and set the alpha mask accordingly.
 *   "1"       - Surfaces with a colorkey or an alpha channel are saved to a
 *               32-bit BMP file without an alpha mask. The alpha channel data
 *               will be in the file, but applications are going to ignore it.
 *
 * The default value is "0".
 */
#define SDL_HINT_BMP_SAVE_LEGACY_FORMAT "SDL_BMP_SAVE_LEGACY_FORMAT"

/**
 * \brief Tell SDL not to name threads on Windows.
 *
 * The variable can be set to the following values:
 *   "0"       - SDL will raise the 0x406D1388 Exception to name threads.
 *               This is the default behavior of SDL <= 2.0.4. (default)
 *   "1"       - SDL will not raise this exception, and threads will be unnamed.
 *               For .NET languages this is required when running under a debugger.
 */
#define SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING "SDL_WINDOWS_DISABLE_THREAD_NAMING"

/**
 * \brief Tell SDL which Dispmanx layer to use on a Raspberry PI
 *
 * Also known as Z-order. The variable can take a negative or positive value.
 * The default is 10000.
 */
#define SDL_HINT_RPI_VIDEO_LAYER           "SDL_RPI_VIDEO_LAYER"

/**
 *  \brief  An enumeration of hint priorities
 */
typedef enum
{
    SDL_HINT_DEFAULT,
    SDL_HINT_NORMAL,
................................................................................
/**
 *  \brief Get a hint
 *
 *  \return The string value of a hint variable.
 */
extern DECLSPEC const char * SDLCALL SDL_GetHint(const char *name);

/**
 *  \brief Get a hint
 *
 *  \return The boolean value of a hint variable.
 */
extern DECLSPEC SDL_bool SDLCALL SDL_GetHintBoolean(const char *name, SDL_bool default_value);

/**
 *  \brief Add a function to watch a particular hint
 *
 *  \param name The hint to watch
 *  \param callback The function to call when the hint value changes
 *  \param userdata A pointer to pass to the callback function
 */

Changes to jni/SDL2/include/SDL_opengl_glext.h.

775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
GLAPI void APIENTRY glGetVertexAttribdv (GLuint index, GLenum pname, GLdouble *params);
GLAPI void APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
GLAPI void APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
GLAPI void APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer);
GLAPI GLboolean APIENTRY glIsProgram (GLuint program);
GLAPI GLboolean APIENTRY glIsShader (GLuint shader);
GLAPI void APIENTRY glLinkProgram (GLuint program);
GLAPI void APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
GLAPI void APIENTRY glUseProgram (GLuint program);
GLAPI void APIENTRY glUniform1f (GLint location, GLfloat v0);
GLAPI void APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);
GLAPI void APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
GLAPI void APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
GLAPI void APIENTRY glUniform1i (GLint location, GLint v0);
GLAPI void APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);







|







775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
GLAPI void APIENTRY glGetVertexAttribdv (GLuint index, GLenum pname, GLdouble *params);
GLAPI void APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
GLAPI void APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
GLAPI void APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer);
GLAPI GLboolean APIENTRY glIsProgram (GLuint program);
GLAPI GLboolean APIENTRY glIsShader (GLuint shader);
GLAPI void APIENTRY glLinkProgram (GLuint program);
GLAPI void APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar **string, const GLint *length);
GLAPI void APIENTRY glUseProgram (GLuint program);
GLAPI void APIENTRY glUniform1f (GLint location, GLfloat v0);
GLAPI void APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);
GLAPI void APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
GLAPI void APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
GLAPI void APIENTRY glUniform1i (GLint location, GLint v0);
GLAPI void APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);

Changes to jni/SDL2/include/SDL_opengles.h.

20
21
22
23
24
25
26

27
28
29
30
31
32
33
34
35
36
37
38
*/

/**
 *  \file SDL_opengles.h
 *
 *  This is a simple file to encapsulate the OpenGL ES 1.X API headers.
 */


#ifdef __IPHONEOS__
#include <OpenGLES/ES1/gl.h>
#include <OpenGLES/ES1/glext.h>
#else
#include <GLES/gl.h>
#include <GLES/glext.h>
#endif

#ifndef APIENTRY
#define APIENTRY
#endif







>












20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
*/

/**
 *  \file SDL_opengles.h
 *
 *  This is a simple file to encapsulate the OpenGL ES 1.X API headers.
 */
#include "SDL_config.h"

#ifdef __IPHONEOS__
#include <OpenGLES/ES1/gl.h>
#include <OpenGLES/ES1/glext.h>
#else
#include <GLES/gl.h>
#include <GLES/glext.h>
#endif

#ifndef APIENTRY
#define APIENTRY
#endif

Changes to jni/SDL2/include/SDL_opengles2.h.

20
21
22
23
24
25
26


27
28
29
30
31
32
33
*/

/**
 *  \file SDL_opengles2.h
 *
 *  This is a simple file to encapsulate the OpenGL ES 2.0 API headers.
 */


#ifndef _MSC_VER

#ifdef __IPHONEOS__
#include <OpenGLES/ES2/gl.h>
#include <OpenGLES/ES2/glext.h>
#else
#include <GLES2/gl2platform.h>







>
>







20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
*/

/**
 *  \file SDL_opengles2.h
 *
 *  This is a simple file to encapsulate the OpenGL ES 2.0 API headers.
 */
#include "SDL_config.h"

#ifndef _MSC_VER

#ifdef __IPHONEOS__
#include <OpenGLES/ES2/gl.h>
#include <OpenGLES/ES2/glext.h>
#else
#include <GLES2/gl2platform.h>

Changes to jni/SDL2/include/SDL_opengles2_gl2.h.

564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
GL_APICALL void         GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
GL_APICALL void         GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
GL_APICALL void         GL_APIENTRY glReleaseShaderCompiler (void);
GL_APICALL void         GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
GL_APICALL void         GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert);
GL_APICALL void         GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
GL_APICALL void         GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);
GL_APICALL void         GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length);
GL_APICALL void         GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
GL_APICALL void         GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
GL_APICALL void         GL_APIENTRY glStencilMask (GLuint mask);
GL_APICALL void         GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
GL_APICALL void         GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
GL_APICALL void         GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
GL_APICALL void         GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels);







|







564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
GL_APICALL void         GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
GL_APICALL void         GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
GL_APICALL void         GL_APIENTRY glReleaseShaderCompiler (void);
GL_APICALL void         GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
GL_APICALL void         GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert);
GL_APICALL void         GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
GL_APICALL void         GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);
GL_APICALL void         GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar** string, const GLint* length);
GL_APICALL void         GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
GL_APICALL void         GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
GL_APICALL void         GL_APIENTRY glStencilMask (GLuint mask);
GL_APICALL void         GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
GL_APICALL void         GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
GL_APICALL void         GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
GL_APICALL void         GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels);

Changes to jni/SDL2/include/SDL_pixels.h.

25
26
27
28
29
30
31

32
33
34
35
36
37
38
...
255
256
257
258
259
260
261













262
263
264
265
266
267
268
 *  Header for the enumerated pixel format definitions.
 */

#ifndef _SDL_pixels_h
#define _SDL_pixels_h

#include "SDL_stdinc.h"


#include "begin_code.h"
/* Set up for C function definitions, even when using C++ */
#ifdef __cplusplus
extern "C" {
#endif

................................................................................
                               SDL_PACKEDLAYOUT_8888, 32, 4),
    SDL_PIXELFORMAT_BGRA8888 =
        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_BGRA,
                               SDL_PACKEDLAYOUT_8888, 32, 4),
    SDL_PIXELFORMAT_ARGB2101010 =
        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ARGB,
                               SDL_PACKEDLAYOUT_2101010, 32, 4),














    SDL_PIXELFORMAT_YV12 =      /**< Planar mode: Y + V + U  (3 planes) */
        SDL_DEFINE_PIXELFOURCC('Y', 'V', '1', '2'),
    SDL_PIXELFORMAT_IYUV =      /**< Planar mode: Y + U + V  (3 planes) */
        SDL_DEFINE_PIXELFOURCC('I', 'Y', 'U', 'V'),
    SDL_PIXELFORMAT_YUY2 =      /**< Packed mode: Y0+U0+Y1+V0 (1 plane) */
        SDL_DEFINE_PIXELFOURCC('Y', 'U', 'Y', '2'),







>







 







>
>
>
>
>
>
>
>
>
>
>
>
>







25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
...
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
 *  Header for the enumerated pixel format definitions.
 */

#ifndef _SDL_pixels_h
#define _SDL_pixels_h

#include "SDL_stdinc.h"
#include "SDL_endian.h"

#include "begin_code.h"
/* Set up for C function definitions, even when using C++ */
#ifdef __cplusplus
extern "C" {
#endif

................................................................................
                               SDL_PACKEDLAYOUT_8888, 32, 4),
    SDL_PIXELFORMAT_BGRA8888 =
        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_BGRA,
                               SDL_PACKEDLAYOUT_8888, 32, 4),
    SDL_PIXELFORMAT_ARGB2101010 =
        SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ARGB,
                               SDL_PACKEDLAYOUT_2101010, 32, 4),

    /* Aliases for RGBA byte arrays of color data, for the current platform */
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
    SDL_PIXELFORMAT_RGBA32 = SDL_PIXELFORMAT_RGBA8888,
    SDL_PIXELFORMAT_ARGB32 = SDL_PIXELFORMAT_ARGB8888,
    SDL_PIXELFORMAT_BGRA32 = SDL_PIXELFORMAT_BGRA8888,
    SDL_PIXELFORMAT_ABGR32 = SDL_PIXELFORMAT_ABGR8888,
#else
    SDL_PIXELFORMAT_RGBA32 = SDL_PIXELFORMAT_ABGR8888,
    SDL_PIXELFORMAT_ARGB32 = SDL_PIXELFORMAT_BGRA8888,
    SDL_PIXELFORMAT_BGRA32 = SDL_PIXELFORMAT_ARGB8888,
    SDL_PIXELFORMAT_ABGR32 = SDL_PIXELFORMAT_RGBA8888,
#endif

    SDL_PIXELFORMAT_YV12 =      /**< Planar mode: Y + V + U  (3 planes) */
        SDL_DEFINE_PIXELFOURCC('Y', 'V', '1', '2'),
    SDL_PIXELFORMAT_IYUV =      /**< Planar mode: Y + U + V  (3 planes) */
        SDL_DEFINE_PIXELFOURCC('I', 'Y', 'U', 'V'),
    SDL_PIXELFORMAT_YUY2 =      /**< Packed mode: Y0+U0+Y1+V0 (1 plane) */
        SDL_DEFINE_PIXELFOURCC('Y', 'U', 'Y', '2'),

Changes to jni/SDL2/include/SDL_platform.h.

66
67
68
69
70
71
72




73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#define __ANDROID__ 1
#endif

#if defined(__APPLE__)
/* lets us know what version of Mac OS X we're compiling on */
#include "AvailabilityMacros.h"
#include "TargetConditionals.h"




#if TARGET_OS_IPHONE
/* if compiling for iPhone */
#undef __IPHONEOS__
#define __IPHONEOS__ 1
#undef __MACOSX__
#else
/* if not compiling for iPhone */
#undef __MACOSX__
#define __MACOSX__  1
#if MAC_OS_X_VERSION_MIN_REQUIRED < 1050
# error SDL for Mac OS X only supports deploying on 10.5 and above.
#endif /* MAC_OS_X_VERSION_MIN_REQUIRED < 1050 */
#endif /* TARGET_OS_IPHONE */
#endif /* defined(__APPLE__) */

#if defined(__NetBSD__)
#undef __NETBSD__
#define __NETBSD__  1
#endif







>
>
>
>

|




|


|
|
|







66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#define __ANDROID__ 1
#endif

#if defined(__APPLE__)
/* lets us know what version of Mac OS X we're compiling on */
#include "AvailabilityMacros.h"
#include "TargetConditionals.h"
#if TARGET_OS_TV
#undef __TVOS__
#define __TVOS__ 1
#endif
#if TARGET_OS_IPHONE
/* if compiling for iOS */
#undef __IPHONEOS__
#define __IPHONEOS__ 1
#undef __MACOSX__
#else
/* if not compiling for iOS */
#undef __MACOSX__
#define __MACOSX__  1
#if MAC_OS_X_VERSION_MIN_REQUIRED < 1060
# error SDL for Mac OS X only supports deploying on 10.6 and above.
#endif /* MAC_OS_X_VERSION_MIN_REQUIRED < 1060 */
#endif /* TARGET_OS_IPHONE */
#endif /* defined(__APPLE__) */

#if defined(__NetBSD__)
#undef __NETBSD__
#define __NETBSD__  1
#endif

Changes to jni/SDL2/include/SDL_render.h.

59
60
61
62
63
64
65





66
67
68
69
70
71
72
...
508
509
510
511
512
513
514
























515
516
517
518
519
520
521
...
667
668
669
670
671
672
673
674

675
676
677
678
679
680
681
#endif

/*
 *  Support depth buffer on textures.
 */
#define SDL_RENDERER_HAS_TARGET_3D 1






/**
 *  \brief Flags used when creating a rendering context
 */
typedef enum
{
    SDL_RENDERER_SOFTWARE = 0x00000001,         /**< The renderer is a software fallback */
    SDL_RENDERER_ACCELERATED = 0x00000002,      /**< The renderer uses hardware
................................................................................
 *  \param w      A pointer filled with the width of the logical resolution
 *  \param h      A pointer filled with the height of the logical resolution
 *
 *  \sa SDL_RenderSetLogicalSize()
 */
extern DECLSPEC void SDLCALL SDL_RenderGetLogicalSize(SDL_Renderer * renderer, int *w, int *h);

























/**
 *  \brief Set the drawing area for rendering on the current target.
 *
 *  \param renderer The renderer for which the drawing area should be set.
 *  \param rect The rectangle representing the drawing area, or NULL to set the viewport to the entire target.
 *
 *  The x,y of the viewport rect represents the origin for rendering.
................................................................................
 */
extern DECLSPEC int SDLCALL SDL_GetRenderDrawBlendMode(SDL_Renderer * renderer,
                                                       SDL_BlendMode *blendMode);

/**
 *  \brief Clear the current rendering target with the drawing color
 *
 *  This function clears the entire rendering target, ignoring the viewport.

 *
 *  \return 0 on success, or -1 on error
 */
extern DECLSPEC int SDLCALL SDL_RenderClear(SDL_Renderer * renderer);

/**
 *  \brief Draw a point on the current rendering target.







>
>
>
>
>







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







|
>







59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
...
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
...
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
#endif

/*
 *  Support depth buffer on textures.
 */
#define SDL_RENDERER_HAS_TARGET_3D 1

/*
 * When defined, do not flip Y in SDL_RenderReadPixels()
 */
#define SDL_RENDERER_NO_FLIP 1

/**
 *  \brief Flags used when creating a rendering context
 */
typedef enum
{
    SDL_RENDERER_SOFTWARE = 0x00000001,         /**< The renderer is a software fallback */
    SDL_RENDERER_ACCELERATED = 0x00000002,      /**< The renderer uses hardware
................................................................................
 *  \param w      A pointer filled with the width of the logical resolution
 *  \param h      A pointer filled with the height of the logical resolution
 *
 *  \sa SDL_RenderSetLogicalSize()
 */
extern DECLSPEC void SDLCALL SDL_RenderGetLogicalSize(SDL_Renderer * renderer, int *w, int *h);

/**
 *  \brief Set whether to force integer scales for resolution-independent rendering
 *
 *  \param renderer The renderer for which integer scaling should be set.
 *  \param enable   Enable or disable integer scaling
 *
 *  This function restricts the logical viewport to integer values - that is, when
 *  a resolution is between two multiples of a logical size, the viewport size is
 *  rounded down to the lower multiple.
 *
 *  \sa SDL_RenderSetLogicalSize()
 */
extern DECLSPEC int SDLCALL SDL_RenderSetIntegerScale(SDL_Renderer * renderer,
                                                      SDL_bool enable);

/**
 *  \brief Get whether integer scales are forced for resolution-independent rendering
 *
 *  \param renderer The renderer from which integer scaling should be queried.
 *
 *  \sa SDL_RenderSetIntegerScale()
 */
extern DECLSPEC SDL_bool SDLCALL SDL_RenderGetIntegerScale(SDL_Renderer * renderer);

/**
 *  \brief Set the drawing area for rendering on the current target.
 *
 *  \param renderer The renderer for which the drawing area should be set.
 *  \param rect The rectangle representing the drawing area, or NULL to set the viewport to the entire target.
 *
 *  The x,y of the viewport rect represents the origin for rendering.
................................................................................
 */
extern DECLSPEC int SDLCALL SDL_GetRenderDrawBlendMode(SDL_Renderer * renderer,
                                                       SDL_BlendMode *blendMode);

/**
 *  \brief Clear the current rendering target with the drawing color
 *
 *  This function clears the entire rendering target, ignoring the viewport and
 *  the clip rectangle.
 *
 *  \return 0 on success, or -1 on error
 */
extern DECLSPEC int SDLCALL SDL_RenderClear(SDL_Renderer * renderer);

/**
 *  \brief Draw a point on the current rendering target.

Changes to jni/SDL2/include/SDL_revision.h.

1
2
#define SDL_REVISION "hg-10001:e12c38730512"
#define SDL_REVISION_NUMBER 10001
|
|
1
2
#define SDL_REVISION "hg-0:aaaaaaaaaaah"
#define SDL_REVISION_NUMBER 0

Changes to jni/SDL2/include/SDL_rwops.h.

35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include "begin_code.h"
/* Set up for C function definitions, even when using C++ */
#ifdef __cplusplus
extern "C" {
#endif

/* RWops Types */
#define SDL_RWOPS_UNKNOWN   0   /* Unknown stream type */
#define SDL_RWOPS_WINFILE   1   /* Win32 file */
#define SDL_RWOPS_STDFILE   2   /* Stdio file */
#define SDL_RWOPS_JNIFILE   3   /* Android asset */
#define SDL_RWOPS_MEMORY    4   /* Memory stream */
#define SDL_RWOPS_MEMORY_RO 5   /* Read-Only memory stream */

/**
 * This is the read/write operation structure -- very basic.
 */
typedef struct SDL_RWops
{
    /**







|
|
|
|
|
|







35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include "begin_code.h"
/* Set up for C function definitions, even when using C++ */
#ifdef __cplusplus
extern "C" {
#endif

/* RWops Types */
#define SDL_RWOPS_UNKNOWN   0U  /* Unknown stream type */
#define SDL_RWOPS_WINFILE   1U  /* Win32 file */
#define SDL_RWOPS_STDFILE   2U  /* Stdio file */
#define SDL_RWOPS_JNIFILE   3U  /* Android asset */
#define SDL_RWOPS_MEMORY    4U  /* Memory stream */
#define SDL_RWOPS_MEMORY_RO 5U  /* Read-Only memory stream */

/**
 * This is the read/write operation structure -- very basic.
 */
typedef struct SDL_RWops
{
    /**

Changes to jni/SDL2/include/SDL_surface.h.

114
115
116
117
118
119
120


121
122
123
124
125
126
127
128
129


130
131
132
133
134
135
136
...
179
180
181
182
183
184
185






186
187
188
189
190
191
192
 *  \param Gmask The green mask of the surface to create.
 *  \param Bmask The blue mask of the surface to create.
 *  \param Amask The alpha mask of the surface to create.
 */
extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurface
    (Uint32 flags, int width, int height, int depth,
     Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);


extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceFrom(void *pixels,
                                                              int width,
                                                              int height,
                                                              int depth,
                                                              int pitch,
                                                              Uint32 Rmask,
                                                              Uint32 Gmask,
                                                              Uint32 Bmask,
                                                              Uint32 Amask);


extern DECLSPEC void SDLCALL SDL_FreeSurface(SDL_Surface * surface);

/**
 *  \brief Set the palette used by a surface.
 *
 *  \return 0, or -1 if the surface format doesn't use a palette.
 *
................................................................................
 *
 *  Convenience macro.
 */
#define SDL_LoadBMP(file)   SDL_LoadBMP_RW(SDL_RWFromFile(file, "rb"), 1)

/**
 *  Save a surface to a seekable SDL data stream (memory or file).






 *
 *  If \c freedst is non-zero, the stream will be closed after being written.
 *
 *  \return 0 if successful or -1 if there was an error.
 */
extern DECLSPEC int SDLCALL SDL_SaveBMP_RW
    (SDL_Surface * surface, SDL_RWops * dst, int freedst);







>
>









>
>







 







>
>
>
>
>
>







114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
...
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
 *  \param Gmask The green mask of the surface to create.
 *  \param Bmask The blue mask of the surface to create.
 *  \param Amask The alpha mask of the surface to create.
 */
extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurface
    (Uint32 flags, int width, int height, int depth,
     Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);
extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceWithFormat
    (Uint32 flags, int width, int height, int depth, Uint32 format);
extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceFrom(void *pixels,
                                                              int width,
                                                              int height,
                                                              int depth,
                                                              int pitch,
                                                              Uint32 Rmask,
                                                              Uint32 Gmask,
                                                              Uint32 Bmask,
                                                              Uint32 Amask);
extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceWithFormatFrom
    (void *pixels, int width, int height, int depth, int pitch, Uint32 format);
extern DECLSPEC void SDLCALL SDL_FreeSurface(SDL_Surface * surface);

/**
 *  \brief Set the palette used by a surface.
 *
 *  \return 0, or -1 if the surface format doesn't use a palette.
 *
................................................................................
 *
 *  Convenience macro.
 */
#define SDL_LoadBMP(file)   SDL_LoadBMP_RW(SDL_RWFromFile(file, "rb"), 1)

/**
 *  Save a surface to a seekable SDL data stream (memory or file).
 *
 *  Surfaces with a 24-bit, 32-bit and paletted 8-bit format get saved in the
 *  BMP directly. Other RGB formats with 8-bit or higher get converted to a
 *  24-bit surface or, if they have an alpha mask or a colorkey, to a 32-bit
 *  surface before they are saved. YUV and paletted 1-bit and 4-bit formats are
 *  not supported.
 *
 *  If \c freedst is non-zero, the stream will be closed after being written.
 *
 *  \return 0 if successful or -1 if there was an error.
 */
extern DECLSPEC int SDLCALL SDL_SaveBMP_RW
    (SDL_Surface * surface, SDL_RWops * dst, int freedst);

Changes to jni/SDL2/include/SDL_syswm.h.

102
103
104
105
106
107
108




109
110
111
112
113
114
115
...
116
117
118
119
120
121
122
123

124
125
126
127
128
129
130
...
162
163
164
165
166
167
168







169
170
171
172
173
174
175
...
254
255
256
257
258
259
260








261
262
263
264
265
266
267
#endif

#if defined(SDL_VIDEO_DRIVER_ANDROID)
typedef struct ANativeWindow ANativeWindow;
typedef void *EGLSurface;
#endif





/**
 *  These are the various supported windowing subsystems
 */
typedef enum
{
    SDL_SYSWM_UNKNOWN,
    SDL_SYSWM_WINDOWS,
................................................................................
    SDL_SYSWM_X11,
    SDL_SYSWM_DIRECTFB,
    SDL_SYSWM_COCOA,
    SDL_SYSWM_UIKIT,
    SDL_SYSWM_WAYLAND,
    SDL_SYSWM_MIR,
    SDL_SYSWM_WINRT,
    SDL_SYSWM_ANDROID

} SDL_SYSWM_TYPE;

/**
 *  The custom event structure.
 */
struct SDL_SysWMmsg
{
................................................................................
#endif
#if defined(SDL_VIDEO_DRIVER_UIKIT)
        struct
        {
            int dummy;
            /* No UIKit window events yet */
        } uikit;







#endif
        /* Can't have an empty union */
        int dummy;
    } msg;
};

/**
................................................................................
#if defined(SDL_VIDEO_DRIVER_ANDROID)
        struct
        {
            ANativeWindow *window;
            EGLSurface surface;
        } android;
#endif









        /* Can't have an empty union */
        int dummy;
    } info;
};

#endif /* SDL_PROTOTYPES_ONLY */







>
>
>
>







 







|
>







 







>
>
>
>
>
>
>







 







>
>
>
>
>
>
>
>







102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
...
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
...
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
...
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
#endif

#if defined(SDL_VIDEO_DRIVER_ANDROID)
typedef struct ANativeWindow ANativeWindow;
typedef void *EGLSurface;
#endif

#if defined(SDL_VIDEO_DRIVER_VIVANTE)
#include "SDL_egl.h"
#endif

/**
 *  These are the various supported windowing subsystems
 */
typedef enum
{
    SDL_SYSWM_UNKNOWN,
    SDL_SYSWM_WINDOWS,
................................................................................
    SDL_SYSWM_X11,
    SDL_SYSWM_DIRECTFB,
    SDL_SYSWM_COCOA,
    SDL_SYSWM_UIKIT,
    SDL_SYSWM_WAYLAND,
    SDL_SYSWM_MIR,
    SDL_SYSWM_WINRT,
    SDL_SYSWM_ANDROID,
    SDL_SYSWM_VIVANTE
} SDL_SYSWM_TYPE;

/**
 *  The custom event structure.
 */
struct SDL_SysWMmsg
{
................................................................................
#endif
#if defined(SDL_VIDEO_DRIVER_UIKIT)
        struct
        {
            int dummy;
            /* No UIKit window events yet */
        } uikit;
#endif
#if defined(SDL_VIDEO_DRIVER_VIVANTE)
        struct
        {
            int dummy;
            /* No Vivante window events yet */
        } vivante;
#endif
        /* Can't have an empty union */
        int dummy;
    } msg;
};

/**
................................................................................
#if defined(SDL_VIDEO_DRIVER_ANDROID)
        struct
        {
            ANativeWindow *window;
            EGLSurface surface;
        } android;
#endif

#if defined(SDL_VIDEO_DRIVER_VIVANTE)
        struct
        {
            EGLNativeDisplayType display;
            EGLNativeWindowType window;
        } vivante;
#endif

        /* Can't have an empty union */
        int dummy;
    } info;
};

#endif /* SDL_PROTOTYPES_ONLY */

Changes to jni/SDL2/include/SDL_version.h.

55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
    Uint8 patch;        /**< update version */
} SDL_version;

/* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL
*/
#define SDL_MAJOR_VERSION   2
#define SDL_MINOR_VERSION   0
#define SDL_PATCHLEVEL      4

/**
 *  \brief Macro to determine SDL version program was compiled against.
 *
 *  This macro fills in a SDL_version structure with the version of the
 *  library you compiled against. This is determined by what header the
 *  compiler uses. Note that if you dynamically linked the library, you might







|







55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
    Uint8 patch;        /**< update version */
} SDL_version;

/* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL
*/
#define SDL_MAJOR_VERSION   2
#define SDL_MINOR_VERSION   0
#define SDL_PATCHLEVEL      5

/**
 *  \brief Macro to determine SDL version program was compiled against.
 *
 *  This macro fills in a SDL_version structure with the version of the
 *  library you compiled against. This is determined by what header the
 *  compiler uses. Note that if you dynamically linked the library, you might

Changes to jni/SDL2/include/SDL_video.h.

85
86
87
88
89
90
91

92
93
94
95
96
97
98
99
100
101
102
103

104
105
106
107
108
109
110
...
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
...
718
719
720
721
722
723
724

















725
726
727
728
729
730
731
....
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
 *  \sa SDL_SetWindowData()
 *  \sa SDL_SetWindowFullscreen()
 *  \sa SDL_SetWindowGrab()
 *  \sa SDL_SetWindowIcon()
 *  \sa SDL_SetWindowPosition()
 *  \sa SDL_SetWindowSize()
 *  \sa SDL_SetWindowBordered()

 *  \sa SDL_SetWindowTitle()
 *  \sa SDL_ShowWindow()
 */
typedef struct SDL_Window SDL_Window;

/**
 *  \brief The flags on a window
 *
 *  \sa SDL_GetWindowFlags()
 */
typedef enum
{

    SDL_WINDOW_FULLSCREEN = 0x00000001,         /**< fullscreen window */
    SDL_WINDOW_OPENGL = 0x00000002,             /**< window usable with OpenGL context */
    SDL_WINDOW_SHOWN = 0x00000004,              /**< window is visible */
    SDL_WINDOW_HIDDEN = 0x00000008,             /**< window is not visible */
    SDL_WINDOW_BORDERLESS = 0x00000010,         /**< no window decoration */
    SDL_WINDOW_RESIZABLE = 0x00000020,          /**< window can be resized */
    SDL_WINDOW_MINIMIZED = 0x00000040,          /**< window is minimized */
................................................................................
    SDL_PBUFFER_GLES1 = 0x00100000
#endif
} SDL_WindowFlags;

/**
 *  \brief Used to indicate that you don't care what the window position is.
 */
#define SDL_WINDOWPOS_UNDEFINED_MASK    0x1FFF0000
#define SDL_WINDOWPOS_UNDEFINED_DISPLAY(X)  (SDL_WINDOWPOS_UNDEFINED_MASK|(X))
#define SDL_WINDOWPOS_UNDEFINED         SDL_WINDOWPOS_UNDEFINED_DISPLAY(0)
#define SDL_WINDOWPOS_ISUNDEFINED(X)    \
            (((X)&0xFFFF0000) == SDL_WINDOWPOS_UNDEFINED_MASK)

/**
 *  \brief Used to indicate that the window position should be centered.
 */
#define SDL_WINDOWPOS_CENTERED_MASK    0x2FFF0000
#define SDL_WINDOWPOS_CENTERED_DISPLAY(X)  (SDL_WINDOWPOS_CENTERED_MASK|(X))
#define SDL_WINDOWPOS_CENTERED         SDL_WINDOWPOS_CENTERED_DISPLAY(0)
#define SDL_WINDOWPOS_ISCENTERED(X)    \
            (((X)&0xFFFF0000) == SDL_WINDOWPOS_CENTERED_MASK)

/**
 *  \brief Event subtype for window events
................................................................................
 *  \note You can't change the border state of a fullscreen window.
 *
 *  \sa SDL_GetWindowFlags()
 */
extern DECLSPEC void SDLCALL SDL_SetWindowBordered(SDL_Window * window,
                                                   SDL_bool bordered);


















/**
 *  \brief Show a window.
 *
 *  \sa SDL_HideWindow()
 */
extern DECLSPEC void SDLCALL SDL_ShowWindow(SDL_Window * window);

................................................................................
/**
 *  \brief Destroy a window.
 */
extern DECLSPEC void SDLCALL SDL_DestroyWindow(SDL_Window * window);


/**
 *  \brief Returns whether the screensaver is currently enabled (default on).
 *
 *  \sa SDL_EnableScreenSaver()
 *  \sa SDL_DisableScreenSaver()
 */
extern DECLSPEC SDL_bool SDLCALL SDL_IsScreenSaverEnabled(void);

/**







>












>







 







|








|







 







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







|







85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
...
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
...
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
....
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
 *  \sa SDL_SetWindowData()
 *  \sa SDL_SetWindowFullscreen()
 *  \sa SDL_SetWindowGrab()
 *  \sa SDL_SetWindowIcon()
 *  \sa SDL_SetWindowPosition()
 *  \sa SDL_SetWindowSize()
 *  \sa SDL_SetWindowBordered()
 *  \sa SDL_SetWindowResizable()
 *  \sa SDL_SetWindowTitle()
 *  \sa SDL_ShowWindow()
 */
typedef struct SDL_Window SDL_Window;

/**
 *  \brief The flags on a window
 *
 *  \sa SDL_GetWindowFlags()
 */
typedef enum
{
    /* !!! FIXME: change this to name = (1<<x). */
    SDL_WINDOW_FULLSCREEN = 0x00000001,         /**< fullscreen window */
    SDL_WINDOW_OPENGL = 0x00000002,             /**< window usable with OpenGL context */
    SDL_WINDOW_SHOWN = 0x00000004,              /**< window is visible */
    SDL_WINDOW_HIDDEN = 0x00000008,             /**< window is not visible */
    SDL_WINDOW_BORDERLESS = 0x00000010,         /**< no window decoration */
    SDL_WINDOW_RESIZABLE = 0x00000020,          /**< window can be resized */
    SDL_WINDOW_MINIMIZED = 0x00000040,          /**< window is minimized */
................................................................................
    SDL_PBUFFER_GLES1 = 0x00100000
#endif
} SDL_WindowFlags;

/**
 *  \brief Used to indicate that you don't care what the window position is.
 */
#define SDL_WINDOWPOS_UNDEFINED_MASK    0x1FFF0000u
#define SDL_WINDOWPOS_UNDEFINED_DISPLAY(X)  (SDL_WINDOWPOS_UNDEFINED_MASK|(X))
#define SDL_WINDOWPOS_UNDEFINED         SDL_WINDOWPOS_UNDEFINED_DISPLAY(0)
#define SDL_WINDOWPOS_ISUNDEFINED(X)    \
            (((X)&0xFFFF0000) == SDL_WINDOWPOS_UNDEFINED_MASK)

/**
 *  \brief Used to indicate that the window position should be centered.
 */
#define SDL_WINDOWPOS_CENTERED_MASK    0x2FFF0000u
#define SDL_WINDOWPOS_CENTERED_DISPLAY(X)  (SDL_WINDOWPOS_CENTERED_MASK|(X))
#define SDL_WINDOWPOS_CENTERED         SDL_WINDOWPOS_CENTERED_DISPLAY(0)
#define SDL_WINDOWPOS_ISCENTERED(X)    \
            (((X)&0xFFFF0000) == SDL_WINDOWPOS_CENTERED_MASK)

/**
 *  \brief Event subtype for window events
................................................................................
 *  \note You can't change the border state of a fullscreen window.
 *
 *  \sa SDL_GetWindowFlags()
 */
extern DECLSPEC void SDLCALL SDL_SetWindowBordered(SDL_Window * window,
                                                   SDL_bool bordered);

/**
 *  \brief Set the user-resizable state of a window.
 *
 *  This will add or remove the window's SDL_WINDOW_RESIZABLE flag and
 *  allow/disallow user resizing of the window. This is a no-op if the
 *  window's resizable state already matches the requested state.
 *
 *  \param window The window of which to change the resizable state.
 *  \param resizable SDL_TRUE to allow resizing, SDL_FALSE to disallow.
 *
 *  \note You can't change the resizable state of a fullscreen window.
 *
 *  \sa SDL_GetWindowFlags()
 */
extern DECLSPEC void SDLCALL SDL_SetWindowResizable(SDL_Window * window,
                                                    SDL_bool resizable);

/**
 *  \brief Show a window.
 *
 *  \sa SDL_HideWindow()
 */
extern DECLSPEC void SDLCALL SDL_ShowWindow(SDL_Window * window);

................................................................................
/**
 *  \brief Destroy a window.
 */
extern DECLSPEC void SDLCALL SDL_DestroyWindow(SDL_Window * window);


/**
 *  \brief Returns whether the screensaver is currently enabled (default off).
 *
 *  \sa SDL_EnableScreenSaver()
 *  \sa SDL_DisableScreenSaver()
 */
extern DECLSPEC SDL_bool SDLCALL SDL_IsScreenSaverEnabled(void);

/**

Changes to jni/SDL2/sdl2-config.cmake.in.

4
5
6
7
8
9
10

set(exec_prefix "@exec_prefix@")
set(libdir "@libdir@")
set(SDL2_PREFIX "@prefix@")
set(SDL2_EXEC_PREFIX "@prefix@")
set(SDL2_LIBDIR "@libdir@")
set(SDL2_INCLUDE_DIRS "@includedir@/SDL2")
set(SDL2_LIBRARIES "-L${SDL2_LIBDIR} @SDL_RLD_FLAGS@ @SDL_LIBS@")








>
4
5
6
7
8
9
10
11
set(exec_prefix "@exec_prefix@")
set(libdir "@libdir@")
set(SDL2_PREFIX "@prefix@")
set(SDL2_EXEC_PREFIX "@prefix@")
set(SDL2_LIBDIR "@libdir@")
set(SDL2_INCLUDE_DIRS "@includedir@/SDL2")
set(SDL2_LIBRARIES "-L${SDL2_LIBDIR} @SDL_RLD_FLAGS@ @SDL_LIBS@")
string(STRIP "${SDL2_LIBRARIES}" SDL2_LIBRARIES)

Changes to jni/SDL2/sdl2.m4.

1
2
3
4
5
6



7
8
9
10
11
12
13
..
16
17
18
19
20
21
22




23
24
25
26
27
28
29
..
49
50
51
52
53
54
55
56
57
58
59

60

61




















62
63

64
65
66
67
68
69
70
...
137
138
139
140
141
142
143

144
145

146
147
148
149


150
151
152
153
154
155
156
# Configure paths for SDL
# Sam Lantinga 9/21/99
# stolen from Manish Singh
# stolen back from Frank Belew
# stolen from Manish Singh
# Shamelessly stolen from Owen Taylor




# serial 1

dnl AM_PATH_SDL2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS
dnl
AC_DEFUN([AM_PATH_SDL2],
................................................................................
dnl
AC_ARG_WITH(sdl-prefix,[  --with-sdl-prefix=PFX   Prefix where SDL is installed (optional)],
            sdl_prefix="$withval", sdl_prefix="")
AC_ARG_WITH(sdl-exec-prefix,[  --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
            sdl_exec_prefix="$withval", sdl_exec_prefix="")
AC_ARG_ENABLE(sdltest, [  --disable-sdltest       Do not try to compile and run a test SDL program],
		    , enable_sdltest=yes)





  min_sdl_version=ifelse([$1], ,2.0.0,$1)

  if test "x$sdl_prefix$sdl_exec_prefix" = x ; then
    PKG_CHECK_MODULES([SDL], [sdl2 >= $min_sdl_version],
           [sdl_pc=yes],
           [sdl_pc=no])
................................................................................
  else
    as_save_PATH="$PATH"
    if test "x$prefix" != xNONE && test "$cross_compiling" != yes; then
      PATH="$prefix/bin:$prefix/usr/bin:$PATH"
    fi
    AC_PATH_PROG(SDL2_CONFIG, sdl2-config, no, [$PATH])
    PATH="$as_save_PATH"
    AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
    no_sdl=""

    if test "$SDL2_CONFIG" = "no" ; then

      no_sdl=yes

    else




















      SDL_CFLAGS=`$SDL2_CONFIG $sdl_config_args --cflags`
      SDL_LIBS=`$SDL2_CONFIG $sdl_config_args --libs`


      sdl_major_version=`$SDL2_CONFIG $sdl_config_args --version | \
             sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
      sdl_minor_version=`$SDL2_CONFIG $sdl_config_args --version | \
             sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
      sdl_micro_version=`$SDL2_CONFIG $sdl_config_args --version | \
             sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
................................................................................
    }
}

],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
        CFLAGS="$ac_save_CFLAGS"
        CXXFLAGS="$ac_save_CXXFLAGS"
        LIBS="$ac_save_LIBS"

      fi
    fi

    if test "x$no_sdl" = x ; then
      AC_MSG_RESULT(yes)
    else
      AC_MSG_RESULT(no)


    fi
  fi
  if test "x$no_sdl" = x ; then
     ifelse([$2], , :, [$2])
  else
     if test "$SDL2_CONFIG" = "no" ; then
       echo "*** The sdl2-config script installed by SDL could not be found"






>
>
>







 







>
>
>
>







 







<


|
>
|
>
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
|
>







 







>

<
>
|
|
|
|
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
..
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
..
56
57
58
59
60
61
62

63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
...
166
167
168
169
170
171
172
173
174

175
176
177
178
179
180
181
182
183
184
185
186
187
188
# Configure paths for SDL
# Sam Lantinga 9/21/99
# stolen from Manish Singh
# stolen back from Frank Belew
# stolen from Manish Singh
# Shamelessly stolen from Owen Taylor
#
# Changelog:
# * also look for SDL2.framework under Mac OS X

# serial 1

dnl AM_PATH_SDL2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS
dnl
AC_DEFUN([AM_PATH_SDL2],
................................................................................
dnl
AC_ARG_WITH(sdl-prefix,[  --with-sdl-prefix=PFX   Prefix where SDL is installed (optional)],
            sdl_prefix="$withval", sdl_prefix="")
AC_ARG_WITH(sdl-exec-prefix,[  --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
            sdl_exec_prefix="$withval", sdl_exec_prefix="")
AC_ARG_ENABLE(sdltest, [  --disable-sdltest       Do not try to compile and run a test SDL program],
		    , enable_sdltest=yes)
AC_ARG_ENABLE(sdlframework, [  --disable-sdlframework Do not search for SDL2.framework],
        , search_sdl_framework=yes)

AC_ARG_VAR(SDL2_FRAMEWORK, [Path to SDL2.framework])

  min_sdl_version=ifelse([$1], ,2.0.0,$1)

  if test "x$sdl_prefix$sdl_exec_prefix" = x ; then
    PKG_CHECK_MODULES([SDL], [sdl2 >= $min_sdl_version],
           [sdl_pc=yes],
           [sdl_pc=no])
................................................................................
  else
    as_save_PATH="$PATH"
    if test "x$prefix" != xNONE && test "$cross_compiling" != yes; then
      PATH="$prefix/bin:$prefix/usr/bin:$PATH"
    fi
    AC_PATH_PROG(SDL2_CONFIG, sdl2-config, no, [$PATH])
    PATH="$as_save_PATH"

    no_sdl=""

    if test "$SDL2_CONFIG" = "no" -a "x$search_sdl_framework" = "xyes"; then
      AC_MSG_CHECKING(for SDL2.framework)
      if test "x$SDL2_FRAMEWORK" != x; then
        sdl_framework=$SDL2_FRAMEWORK
      else
        for d in / ~/ /System/; do
          if test -d "$dLibrary/Frameworks/SDL2.framework"; then
            sdl_framework="$dLibrary/Frameworks/SDL2.framework"
          fi
        done
      fi

      if test -d $sdl_framework; then
        AC_MSG_RESULT($sdl_framework)
        sdl_framework_dir=`dirname $sdl_framework`
        SDL_CFLAGS="-F$sdl_framework_dir -Wl,-framework,SDL2 -I$sdl_framework/include"
        SDL_LIBS="-F$sdl_framework_dir -Wl,-framework,SDL2"
      else
        no_sdl=yes
      fi
    fi

    if test "$SDL2_CONFIG" != "no"; then
      if test "x$sdl_pc" = "xno"; then
        AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
        SDL_CFLAGS=`$SDL2_CONFIG $sdl_config_args --cflags`
        SDL_LIBS=`$SDL2_CONFIG $sdl_config_args --libs`
      fi

      sdl_major_version=`$SDL2_CONFIG $sdl_config_args --version | \
             sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
      sdl_minor_version=`$SDL2_CONFIG $sdl_config_args --version | \
             sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
      sdl_micro_version=`$SDL2_CONFIG $sdl_config_args --version | \
             sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
................................................................................
    }
}

],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
        CFLAGS="$ac_save_CFLAGS"
        CXXFLAGS="$ac_save_CXXFLAGS"
        LIBS="$ac_save_LIBS"

      fi

      if test "x$sdl_pc" = "xno"; then
        if test "x$no_sdl" = "xyes"; then
          AC_MSG_RESULT(no)
        else
          AC_MSG_RESULT(yes)
        fi
      fi
    fi
  fi
  if test "x$no_sdl" = x ; then
     ifelse([$2], , :, [$2])
  else
     if test "$SDL2_CONFIG" = "no" ; then
       echo "*** The sdl2-config script installed by SDL could not be found"

Changes to jni/SDL2/src/SDL.c.

110
111
112
113
114
115
116










117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
...
439
440
441
442
443
444
445


446
447
448
449
450
451
452
    if (!SDL_MainIsReady) {
        SDL_SetError("Application didn't initialize properly, did you include SDL_main.h in the file containing your main() function?");
        return -1;
    }

    /* Clear the error message */
    SDL_ClearError();











#if SDL_VIDEO_DRIVER_WINDOWS
	if ((flags & (SDL_INIT_HAPTIC|SDL_INIT_JOYSTICK))) {
		if (SDL_HelperWindowCreate() < 0) {
			return -1;
		}
	}
#endif

#if !SDL_TIMERS_DISABLED
    SDL_TicksInit();
#endif

    if ((flags & SDL_INIT_GAMECONTROLLER)) {
        /* game controller implies joystick */
        flags |= SDL_INIT_JOYSTICK;
    }

    if ((flags & (SDL_INIT_VIDEO|SDL_INIT_JOYSTICK))) {
        /* video or joystick implies events */
        flags |= SDL_INIT_EVENTS;
    }

    /* Initialize the event subsystem */
    if ((flags & SDL_INIT_EVENTS)) {
#if !SDL_EVENTS_DISABLED
        if (SDL_PrivateShouldInitSubsystem(SDL_INIT_EVENTS)) {
            if (SDL_StartEventLoop() < 0) {
                return (-1);
            }
................................................................................
    return "RISC OS";
#elif __SOLARIS__
    return "Solaris";
#elif __WIN32__
    return "Windows";
#elif __WINRT__
    return "WinRT";


#elif __IPHONEOS__
    return "iOS";
#elif __PSP__
    return "PlayStation Portable";
#else
    return "Unknown (see SDL_platform.h)";
#endif







>
>
>
>
>
>
>
>
>
>













<
<
<
<
<
<
<
<
<
<







 







>
>







110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139










140
141
142
143
144
145
146
...
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
    if (!SDL_MainIsReady) {
        SDL_SetError("Application didn't initialize properly, did you include SDL_main.h in the file containing your main() function?");
        return -1;
    }

    /* Clear the error message */
    SDL_ClearError();

    if ((flags & SDL_INIT_GAMECONTROLLER)) {
        /* game controller implies joystick */
        flags |= SDL_INIT_JOYSTICK;
    }

    if ((flags & (SDL_INIT_VIDEO|SDL_INIT_JOYSTICK))) {
        /* video or joystick implies events */
        flags |= SDL_INIT_EVENTS;
    }

#if SDL_VIDEO_DRIVER_WINDOWS
	if ((flags & (SDL_INIT_HAPTIC|SDL_INIT_JOYSTICK))) {
		if (SDL_HelperWindowCreate() < 0) {
			return -1;
		}
	}
#endif

#if !SDL_TIMERS_DISABLED
    SDL_TicksInit();
#endif











    /* Initialize the event subsystem */
    if ((flags & SDL_INIT_EVENTS)) {
#if !SDL_EVENTS_DISABLED
        if (SDL_PrivateShouldInitSubsystem(SDL_INIT_EVENTS)) {
            if (SDL_StartEventLoop() < 0) {
                return (-1);
            }
................................................................................
    return "RISC OS";
#elif __SOLARIS__
    return "Solaris";
#elif __WIN32__
    return "Windows";
#elif __WINRT__
    return "WinRT";
#elif __TVOS__
    return "tvOS";
#elif __IPHONEOS__
    return "iOS";
#elif __PSP__
    return "PlayStation Portable";
#else
    return "Unknown (see SDL_platform.h)";
#endif

Changes to jni/SDL2/src/SDL_error.c.

112
113
114
115
116
117
118




119
120
121
122
123
124
125
...
212
213
214
215
216
217
218



219
220
221
222
223
224
225

    /* If we are in debug mode, print out an error message */
    SDL_LogDebug(SDL_LOG_CATEGORY_ERROR, "%s", SDL_GetError());

    return -1;
}





/* This function has a bit more overhead than most error functions
   so that it supports internationalization and thread-safe errors.
*/
static char *
SDL_GetErrorMsg(char *errstr, int maxlen)
{
    SDL_error *error;
................................................................................
            msg -= (-maxlen) + 1;
        }

        *msg = 0;               /* NULL terminate the string */
    }
    return (errstr);
}




/* Available for backwards compatibility */
const char *
SDL_GetError(void)
{
    static char errmsg[SDL_ERRBUFIZE];








>
>
>
>







 







>
>
>







112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
...
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232

    /* If we are in debug mode, print out an error message */
    SDL_LogDebug(SDL_LOG_CATEGORY_ERROR, "%s", SDL_GetError());

    return -1;
}

#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
#endif
/* This function has a bit more overhead than most error functions
   so that it supports internationalization and thread-safe errors.
*/
static char *
SDL_GetErrorMsg(char *errstr, int maxlen)
{
    SDL_error *error;
................................................................................
            msg -= (-maxlen) + 1;
        }

        *msg = 0;               /* NULL terminate the string */
    }
    return (errstr);
}
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif

/* Available for backwards compatibility */
const char *
SDL_GetError(void)
{
    static char errmsg[SDL_ERRBUFIZE];

Changes to jni/SDL2/src/SDL_hints.c.

<
113
114
115
116
117
118
119













120
121
122
123
124
125
126
                return hint->value;
            }
            break;
        }
    }
    return env;
}














void
SDL_AddHintCallback(const char *name, SDL_HintCallback callback, void *userdata)
{
    SDL_Hint *hint;
    SDL_HintWatch *entry;
    const char *value;







>
>
>
>
>
>
>
>
>
>
>
>
>







113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
                return hint->value;
            }
            break;
        }
    }
    return env;
}

SDL_bool
SDL_GetHintBoolean(const char *name, SDL_bool default_value)
{
    const char *hint = SDL_GetHint(name);
    if (!hint) {
        return default_value;
    }
    if (*hint == '0' || SDL_strcasecmp(hint, "false") == 0) {
        return SDL_FALSE;
    }
    return SDL_TRUE;
}

void
SDL_AddHintCallback(const char *name, SDL_HintCallback callback, void *userdata)
{
    SDL_Hint *hint;
    SDL_HintWatch *entry;
    const char *value;