alphatau 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1362) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +11 -0
  3. data/bin/console +14 -0
  4. data/bin/setup +8 -0
  5. data/ext/alphatau/native/alphatau_native.cpp +141 -0
  6. data/ext/alphatau/native/extconf.rb +18 -0
  7. data/ext/alphatau/native/sdl/Android.mk +110 -0
  8. data/ext/alphatau/native/sdl/BUGS.txt +16 -0
  9. data/ext/alphatau/native/sdl/CMakeLists.txt +1877 -0
  10. data/ext/alphatau/native/sdl/COPYING.txt +20 -0
  11. data/ext/alphatau/native/sdl/CREDITS.txt +53 -0
  12. data/ext/alphatau/native/sdl/INSTALL.txt +40 -0
  13. data/ext/alphatau/native/sdl/Makefile.in +240 -0
  14. data/ext/alphatau/native/sdl/Makefile.minimal +44 -0
  15. data/ext/alphatau/native/sdl/Makefile.pandora +60 -0
  16. data/ext/alphatau/native/sdl/Makefile.psp +95 -0
  17. data/ext/alphatau/native/sdl/Makefile.wiz +80 -0
  18. data/ext/alphatau/native/sdl/README-SDL.txt +13 -0
  19. data/ext/alphatau/native/sdl/README.txt +21 -0
  20. data/ext/alphatau/native/sdl/SDL2.spec.in +118 -0
  21. data/ext/alphatau/native/sdl/SDL2Config.cmake +1 -0
  22. data/ext/alphatau/native/sdl/TODO.txt +10 -0
  23. data/ext/alphatau/native/sdl/VisualC-WinRT/SDL2-WinRT.nuspec +23 -0
  24. data/ext/alphatau/native/sdl/VisualC-WinRT/SDL2-WinRT.targets +38 -0
  25. data/ext/alphatau/native/sdl/VisualC-WinRT/SDL2main-WinRT-NonXAML.nuspec +22 -0
  26. data/ext/alphatau/native/sdl/VisualC-WinRT/SDL2main-WinRT-NonXAML.targets +10 -0
  27. data/ext/alphatau/native/sdl/VisualC-WinRT/UWP_VS2015/SDL-UWP.sln +34 -0
  28. data/ext/alphatau/native/sdl/VisualC-WinRT/UWP_VS2015/SDL-UWP.vcxproj +575 -0
  29. data/ext/alphatau/native/sdl/VisualC-WinRT/UWP_VS2015/SDL-UWP.vcxproj.filters +774 -0
  30. data/ext/alphatau/native/sdl/VisualC-WinRT/WinPhone81_VS2013/SDL-WinPhone81.sln +28 -0
  31. data/ext/alphatau/native/sdl/VisualC-WinRT/WinPhone81_VS2013/SDL-WinPhone81.vcxproj +466 -0
  32. data/ext/alphatau/native/sdl/VisualC-WinRT/WinPhone81_VS2013/SDL-WinPhone81.vcxproj.filters +735 -0
  33. data/ext/alphatau/native/sdl/VisualC-WinRT/WinRT81_VS2013/SDL-WinRT81.sln +34 -0
  34. data/ext/alphatau/native/sdl/VisualC-WinRT/WinRT81_VS2013/SDL-WinRT81.vcxproj +571 -0
  35. data/ext/alphatau/native/sdl/VisualC-WinRT/WinRT81_VS2013/SDL-WinRT81.vcxproj.filters +771 -0
  36. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/loopwave/Assets/Logo.png +0 -0
  37. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/loopwave/Assets/SmallLogo.png +0 -0
  38. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/loopwave/Assets/SplashScreen.png +0 -0
  39. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/loopwave/Assets/StoreLogo.png +0 -0
  40. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/loopwave/Package.appxmanifest +42 -0
  41. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/loopwave/loopwave_VS2012.vcxproj +170 -0
  42. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/loopwave/loopwave_VS2012_TemporaryKey.pfx +0 -0
  43. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/testthread/Assets/Logo.png +0 -0
  44. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/testthread/Assets/SmallLogo.png +0 -0
  45. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/testthread/Assets/SplashScreen.png +0 -0
  46. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/testthread/Assets/StoreLogo.png +0 -0
  47. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/testthread/Package.appxmanifest +42 -0
  48. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/testthread/testthread_VS2012.vcxproj +160 -0
  49. data/ext/alphatau/native/sdl/VisualC-WinRT/tests/testthread/testthread_VS2012_TemporaryKey.pfx +0 -0
  50. data/ext/alphatau/native/sdl/VisualC.html +146 -0
  51. data/ext/alphatau/native/sdl/VisualC/SDL.sln +291 -0
  52. data/ext/alphatau/native/sdl/VisualC/SDL/SDL.vcxproj +559 -0
  53. data/ext/alphatau/native/sdl/VisualC/SDL/SDL.vcxproj.filters +479 -0
  54. data/ext/alphatau/native/sdl/VisualC/SDLmain/SDLmain.vcxproj +162 -0
  55. data/ext/alphatau/native/sdl/VisualC/SDLtest/SDLtest.vcxproj +177 -0
  56. data/ext/alphatau/native/sdl/VisualC/clean.sh +4 -0
  57. data/ext/alphatau/native/sdl/VisualC/tests/checkkeys/checkkeys.vcxproj +218 -0
  58. data/ext/alphatau/native/sdl/VisualC/tests/controllermap/controllermap.vcxproj +259 -0
  59. data/ext/alphatau/native/sdl/VisualC/tests/loopwave/loopwave.vcxproj +229 -0
  60. data/ext/alphatau/native/sdl/VisualC/tests/testatomic/testatomic.vcxproj +203 -0
  61. data/ext/alphatau/native/sdl/VisualC/tests/testautomation/testautomation.vcxproj +230 -0
  62. data/ext/alphatau/native/sdl/VisualC/tests/testdraw2/testdraw2.vcxproj +209 -0
  63. data/ext/alphatau/native/sdl/VisualC/tests/testfile/testfile.vcxproj +203 -0
  64. data/ext/alphatau/native/sdl/VisualC/tests/testgamecontroller/testgamecontroller.vcxproj +259 -0
  65. data/ext/alphatau/native/sdl/VisualC/tests/testgesture/testgesture.vcxproj +203 -0
  66. data/ext/alphatau/native/sdl/VisualC/tests/testgl2/testgl2.vcxproj +213 -0
  67. data/ext/alphatau/native/sdl/VisualC/tests/testgles2/testgles2.vcxproj +209 -0
  68. data/ext/alphatau/native/sdl/VisualC/tests/testjoystick/testjoystick.vcxproj +203 -0
  69. data/ext/alphatau/native/sdl/VisualC/tests/testoverlay2/testoverlay2.vcxproj +224 -0
  70. data/ext/alphatau/native/sdl/VisualC/tests/testplatform/testplatform.vcxproj +231 -0
  71. data/ext/alphatau/native/sdl/VisualC/tests/testpower/testpower.vcxproj +203 -0
  72. data/ext/alphatau/native/sdl/VisualC/tests/testrendertarget/testrendertarget.vcxproj +247 -0
  73. data/ext/alphatau/native/sdl/VisualC/tests/testrumble/testrumble.vcxproj +203 -0
  74. data/ext/alphatau/native/sdl/VisualC/tests/testscale/testscale.vcxproj +247 -0
  75. data/ext/alphatau/native/sdl/VisualC/tests/testshape/testshape.vcxproj +203 -0
  76. data/ext/alphatau/native/sdl/VisualC/tests/testsprite2/testsprite2.vcxproj +229 -0
  77. data/ext/alphatau/native/sdl/VisualC/tests/testvulkan/testvulkan.vcxproj +203 -0
  78. data/ext/alphatau/native/sdl/VisualC/tests/testyuv/testyuv.vcxproj +233 -0
  79. data/ext/alphatau/native/sdl/VisualC/visualtest/unittest/testquit/testquit_VS2012.vcxproj +216 -0
  80. data/ext/alphatau/native/sdl/VisualC/visualtest/visualtest_VS2012.vcxproj +304 -0
  81. data/ext/alphatau/native/sdl/WhatsNew.txt +401 -0
  82. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/Default.png +0 -0
  83. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/Demos.xcodeproj/project.pbxproj +1299 -0
  84. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/Icon.png +0 -0
  85. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/Info.plist +32 -0
  86. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/README +43 -0
  87. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/bitmapfont/kromasky_16x16.bmp +0 -0
  88. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/bitmapfont/license.txt +258 -0
  89. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/drums/ds_brush_snare.wav +0 -0
  90. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/drums/ds_china.wav +0 -0
  91. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/drums/ds_kick_big_amb.wav +0 -0
  92. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/drums/ds_loose_skin_mute.wav +0 -0
  93. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/icon.bmp +0 -0
  94. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/ship.bmp +0 -0
  95. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/space.bmp +0 -0
  96. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/data/stroke.bmp +0 -0
  97. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/iOS Launch Screen.storyboard +40 -0
  98. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/src/accelerometer.c +226 -0
  99. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/src/common.c +56 -0
  100. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/src/common.h +10 -0
  101. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/src/fireworks.c +474 -0
  102. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/src/happy.c +180 -0
  103. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/src/keyboard.c +301 -0
  104. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/src/mixer.c +344 -0
  105. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/src/rectangles.c +92 -0
  106. data/ext/alphatau/native/sdl/Xcode-iOS/Demos/src/touch.c +129 -0
  107. data/ext/alphatau/native/sdl/Xcode-iOS/SDL/SDL.xcodeproj/project.pbxproj +2047 -0
  108. data/ext/alphatau/native/sdl/Xcode-iOS/SDLtest/SDL2test.xcodeproj/project.pbxproj +422 -0
  109. data/ext/alphatau/native/sdl/Xcode-iOS/Template/SDL iOS Application/Default-568h@2x.png +0 -0
  110. data/ext/alphatau/native/sdl/Xcode-iOS/Template/SDL iOS Application/Default.png +0 -0
  111. data/ext/alphatau/native/sdl/Xcode-iOS/Template/SDL iOS Application/Icon.png +0 -0
  112. data/ext/alphatau/native/sdl/Xcode-iOS/Template/SDL iOS Application/Info.plist +28 -0
  113. data/ext/alphatau/native/sdl/Xcode-iOS/Template/SDL iOS Application/___PROJECTNAME___.xcodeproj/TemplateIcon.icns +0 -0
  114. data/ext/alphatau/native/sdl/Xcode-iOS/Template/SDL iOS Application/___PROJECTNAME___.xcodeproj/TemplateInfo.plist +10 -0
  115. data/ext/alphatau/native/sdl/Xcode-iOS/Template/SDL iOS Application/___PROJECTNAME___.xcodeproj/project.pbxproj +308 -0
  116. data/ext/alphatau/native/sdl/Xcode-iOS/Template/SDL iOS Application/___PROJECTNAME___.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  117. data/ext/alphatau/native/sdl/Xcode-iOS/Template/SDL iOS Application/main.c +100 -0
  118. data/ext/alphatau/native/sdl/Xcode-iOS/Test/Info.plist +26 -0
  119. data/ext/alphatau/native/sdl/Xcode-iOS/Test/README +11 -0
  120. data/ext/alphatau/native/sdl/Xcode-iOS/Test/TestiPhoneOS.xcodeproj/project.pbxproj +3095 -0
  121. data/ext/alphatau/native/sdl/Xcode/SDL/Info-Framework.plist +28 -0
  122. data/ext/alphatau/native/sdl/Xcode/SDL/SDL.xcodeproj/project.pbxproj +3384 -0
  123. data/ext/alphatau/native/sdl/Xcode/SDL/pkg-support/SDL.info +15 -0
  124. data/ext/alphatau/native/sdl/Xcode/SDL/pkg-support/resources/License.txt +19 -0
  125. data/ext/alphatau/native/sdl/Xcode/SDL/pkg-support/resources/ReadMe.txt +32 -0
  126. data/ext/alphatau/native/sdl/Xcode/SDL/pkg-support/resources/SDL_DS_Store +0 -0
  127. data/ext/alphatau/native/sdl/Xcode/SDL/pkg-support/sdl_logo.pdf +0 -0
  128. data/ext/alphatau/native/sdl/Xcode/SDLTest/SDLTest.xcodeproj/project.pbxproj +4995 -0
  129. data/ext/alphatau/native/sdl/Xcode/SDLTest/TestDropFile-Info.plist +35 -0
  130. data/ext/alphatau/native/sdl/Xcode/XcodeDocSet/Doxyfile +1558 -0
  131. data/ext/alphatau/native/sdl/acinclude/ac_check_define.m4 +14 -0
  132. data/ext/alphatau/native/sdl/acinclude/alsa.m4 +145 -0
  133. data/ext/alphatau/native/sdl/acinclude/ax_check_compiler_flags.m4 +76 -0
  134. data/ext/alphatau/native/sdl/acinclude/ax_gcc_archflag.m4 +215 -0
  135. data/ext/alphatau/native/sdl/acinclude/ax_gcc_x86_cpuid.m4.htm +79 -0
  136. data/ext/alphatau/native/sdl/acinclude/esd.m4 +168 -0
  137. data/ext/alphatau/native/sdl/acinclude/libtool.m4 +7998 -0
  138. data/ext/alphatau/native/sdl/acinclude/ltoptions.m4 +384 -0
  139. data/ext/alphatau/native/sdl/acinclude/ltsugar.m4 +123 -0
  140. data/ext/alphatau/native/sdl/acinclude/ltversion.m4 +23 -0
  141. data/ext/alphatau/native/sdl/acinclude/lt~obsolete.m4 +98 -0
  142. data/ext/alphatau/native/sdl/android-project-ant/AndroidManifest.xml +1 -0
  143. data/ext/alphatau/native/sdl/android-project-ant/ant.properties +17 -0
  144. data/ext/alphatau/native/sdl/android-project-ant/build.properties +17 -0
  145. data/ext/alphatau/native/sdl/android-project-ant/build.xml +93 -0
  146. data/ext/alphatau/native/sdl/android-project-ant/default.properties +11 -0
  147. data/ext/alphatau/native/sdl/android-project-ant/jni/Android.mk +1 -0
  148. data/ext/alphatau/native/sdl/android-project-ant/jni/Application.mk +10 -0
  149. data/ext/alphatau/native/sdl/android-project-ant/jni/src/Android.mk +18 -0
  150. data/ext/alphatau/native/sdl/android-project-ant/jni/src/Android_static.mk +12 -0
  151. data/ext/alphatau/native/sdl/android-project-ant/proguard-project.txt +20 -0
  152. data/ext/alphatau/native/sdl/android-project-ant/project.properties +14 -0
  153. data/ext/alphatau/native/sdl/android-project-ant/res/drawable-hdpi/ic_launcher.png +0 -0
  154. data/ext/alphatau/native/sdl/android-project-ant/res/drawable-mdpi/ic_launcher.png +0 -0
  155. data/ext/alphatau/native/sdl/android-project-ant/res/drawable-xhdpi/ic_launcher.png +0 -0
  156. data/ext/alphatau/native/sdl/android-project-ant/res/drawable-xxhdpi/ic_launcher.png +0 -0
  157. data/ext/alphatau/native/sdl/android-project-ant/res/layout/main.xml +13 -0
  158. data/ext/alphatau/native/sdl/android-project-ant/res/values/strings.xml +4 -0
  159. data/ext/alphatau/native/sdl/android-project-ant/src +1 -0
  160. data/ext/alphatau/native/sdl/android-project/app/build.gradle +69 -0
  161. data/ext/alphatau/native/sdl/android-project/app/jni/Android.mk +1 -0
  162. data/ext/alphatau/native/sdl/android-project/app/jni/Application.mk +9 -0
  163. data/ext/alphatau/native/sdl/android-project/app/jni/src/Android.mk +18 -0
  164. data/ext/alphatau/native/sdl/android-project/app/proguard-rules.pro +17 -0
  165. data/ext/alphatau/native/sdl/android-project/app/src/main/AndroidManifest.xml +77 -0
  166. data/ext/alphatau/native/sdl/android-project/app/src/main/java/org/libsdl/app/HIDDevice.java +19 -0
  167. data/ext/alphatau/native/sdl/android-project/app/src/main/java/org/libsdl/app/HIDDeviceBLESteamController.java +640 -0
  168. data/ext/alphatau/native/sdl/android-project/app/src/main/java/org/libsdl/app/HIDDeviceManager.java +624 -0
  169. data/ext/alphatau/native/sdl/android-project/app/src/main/java/org/libsdl/app/HIDDeviceUSB.java +298 -0
  170. data/ext/alphatau/native/sdl/android-project/app/src/main/java/org/libsdl/app/SDL.java +37 -0
  171. data/ext/alphatau/native/sdl/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java +2103 -0
  172. data/ext/alphatau/native/sdl/android-project/app/src/main/java/org/libsdl/app/SDLAudioManager.java +178 -0
  173. data/ext/alphatau/native/sdl/android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java +812 -0
  174. data/ext/alphatau/native/sdl/android-project/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  175. data/ext/alphatau/native/sdl/android-project/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  176. data/ext/alphatau/native/sdl/android-project/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  177. data/ext/alphatau/native/sdl/android-project/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  178. data/ext/alphatau/native/sdl/android-project/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  179. data/ext/alphatau/native/sdl/android-project/app/src/main/res/values/colors.xml +6 -0
  180. data/ext/alphatau/native/sdl/android-project/app/src/main/res/values/strings.xml +3 -0
  181. data/ext/alphatau/native/sdl/android-project/app/src/main/res/values/styles.xml +8 -0
  182. data/ext/alphatau/native/sdl/android-project/build.gradle +23 -0
  183. data/ext/alphatau/native/sdl/android-project/gradle.properties +17 -0
  184. data/ext/alphatau/native/sdl/android-project/gradle/wrapper/gradle-wrapper.jar +0 -0
  185. data/ext/alphatau/native/sdl/android-project/gradle/wrapper/gradle-wrapper.properties +6 -0
  186. data/ext/alphatau/native/sdl/android-project/gradlew +160 -0
  187. data/ext/alphatau/native/sdl/android-project/gradlew.bat +90 -0
  188. data/ext/alphatau/native/sdl/android-project/settings.gradle +1 -0
  189. data/ext/alphatau/native/sdl/autogen.sh +23 -0
  190. data/ext/alphatau/native/sdl/build-scripts/androidbuild.sh +100 -0
  191. data/ext/alphatau/native/sdl/build-scripts/androidbuildlibs.sh +74 -0
  192. data/ext/alphatau/native/sdl/build-scripts/checker-buildbot.sh +103 -0
  193. data/ext/alphatau/native/sdl/build-scripts/config.guess +1476 -0
  194. data/ext/alphatau/native/sdl/build-scripts/config.sub +1868 -0
  195. data/ext/alphatau/native/sdl/build-scripts/config.sub.patch +72 -0
  196. data/ext/alphatau/native/sdl/build-scripts/emscripten-buildbot.sh +77 -0
  197. data/ext/alphatau/native/sdl/build-scripts/g++-fat.sh +101 -0
  198. data/ext/alphatau/native/sdl/build-scripts/gcc-fat.sh +102 -0
  199. data/ext/alphatau/native/sdl/build-scripts/install-sh +323 -0
  200. data/ext/alphatau/native/sdl/build-scripts/iosbuild.sh +188 -0
  201. data/ext/alphatau/native/sdl/build-scripts/ltmain.sh +9658 -0
  202. data/ext/alphatau/native/sdl/build-scripts/mkinstalldirs +99 -0
  203. data/ext/alphatau/native/sdl/build-scripts/nacl-buildbot.sh +61 -0
  204. data/ext/alphatau/native/sdl/build-scripts/naclbuild.sh +105 -0
  205. data/ext/alphatau/native/sdl/build-scripts/raspberrypi-buildbot.sh +60 -0
  206. data/ext/alphatau/native/sdl/build-scripts/showrev.sh +5 -0
  207. data/ext/alphatau/native/sdl/build-scripts/strip_fPIC.sh +21 -0
  208. data/ext/alphatau/native/sdl/build-scripts/update-copyright.sh +8 -0
  209. data/ext/alphatau/native/sdl/build-scripts/updaterev.sh +20 -0
  210. data/ext/alphatau/native/sdl/build-scripts/windows-buildbot-zipper.bat +40 -0
  211. data/ext/alphatau/native/sdl/build-scripts/winrtbuild.bat +8 -0
  212. data/ext/alphatau/native/sdl/build-scripts/winrtbuild.ps1 +302 -0
  213. data/ext/alphatau/native/sdl/cmake/macros.cmake +73 -0
  214. data/ext/alphatau/native/sdl/cmake/sdlchecks.cmake +1184 -0
  215. data/ext/alphatau/native/sdl/cmake_uninstall.cmake.in +18 -0
  216. data/ext/alphatau/native/sdl/configure +27540 -0
  217. data/ext/alphatau/native/sdl/configure.in +4236 -0
  218. data/ext/alphatau/native/sdl/debian/changelog +114 -0
  219. data/ext/alphatau/native/sdl/debian/compat +1 -0
  220. data/ext/alphatau/native/sdl/debian/control +76 -0
  221. data/ext/alphatau/native/sdl/debian/copyright +351 -0
  222. data/ext/alphatau/native/sdl/debian/docs +4 -0
  223. data/ext/alphatau/native/sdl/debian/libsdl2-dev.install +8 -0
  224. data/ext/alphatau/native/sdl/debian/libsdl2-dev.manpages +1 -0
  225. data/ext/alphatau/native/sdl/debian/libsdl2.install +1 -0
  226. data/ext/alphatau/native/sdl/debian/rules +41 -0
  227. data/ext/alphatau/native/sdl/debian/sdl2-config.1 +86 -0
  228. data/ext/alphatau/native/sdl/debian/source/format +1 -0
  229. data/ext/alphatau/native/sdl/debian/watch +2 -0
  230. data/ext/alphatau/native/sdl/docs/README-android.md +432 -0
  231. data/ext/alphatau/native/sdl/docs/README-cmake.md +32 -0
  232. data/ext/alphatau/native/sdl/docs/README-directfb.md +107 -0
  233. data/ext/alphatau/native/sdl/docs/README-dynapi.md +130 -0
  234. data/ext/alphatau/native/sdl/docs/README-emscripten.md +35 -0
  235. data/ext/alphatau/native/sdl/docs/README-gesture.md +71 -0
  236. data/ext/alphatau/native/sdl/docs/README-hg.md +22 -0
  237. data/ext/alphatau/native/sdl/docs/README-ios.md +284 -0
  238. data/ext/alphatau/native/sdl/docs/README-linux.md +90 -0
  239. data/ext/alphatau/native/sdl/docs/README-macosx.md +240 -0
  240. data/ext/alphatau/native/sdl/docs/README-nacl.md +103 -0
  241. data/ext/alphatau/native/sdl/docs/README-pandora.md +17 -0
  242. data/ext/alphatau/native/sdl/docs/README-platforms.md +8 -0
  243. data/ext/alphatau/native/sdl/docs/README-porting.md +68 -0
  244. data/ext/alphatau/native/sdl/docs/README-psp.md +19 -0
  245. data/ext/alphatau/native/sdl/docs/README-raspberrypi.md +188 -0
  246. data/ext/alphatau/native/sdl/docs/README-touch.md +86 -0
  247. data/ext/alphatau/native/sdl/docs/README-wince.md +10 -0
  248. data/ext/alphatau/native/sdl/docs/README-windows.md +45 -0
  249. data/ext/alphatau/native/sdl/docs/README-winrt.md +544 -0
  250. data/ext/alphatau/native/sdl/docs/README.md +63 -0
  251. data/ext/alphatau/native/sdl/docs/doxyfile +1560 -0
  252. data/ext/alphatau/native/sdl/include/SDL.h +135 -0
  253. data/ext/alphatau/native/sdl/include/SDL_assert.h +291 -0
  254. data/ext/alphatau/native/sdl/include/SDL_atomic.h +277 -0
  255. data/ext/alphatau/native/sdl/include/SDL_audio.h +825 -0
  256. data/ext/alphatau/native/sdl/include/SDL_bits.h +112 -0
  257. data/ext/alphatau/native/sdl/include/SDL_blendmode.h +120 -0
  258. data/ext/alphatau/native/sdl/include/SDL_clipboard.h +71 -0
  259. data/ext/alphatau/native/sdl/include/SDL_config.h +53 -0
  260. data/ext/alphatau/native/sdl/include/SDL_config.h.cmake +471 -0
  261. data/ext/alphatau/native/sdl/include/SDL_config.h.in +417 -0
  262. data/ext/alphatau/native/sdl/include/SDL_config_android.h +177 -0
  263. data/ext/alphatau/native/sdl/include/SDL_config_iphoneos.h +201 -0
  264. data/ext/alphatau/native/sdl/include/SDL_config_macosx.h +240 -0
  265. data/ext/alphatau/native/sdl/include/SDL_config_minimal.h +85 -0
  266. data/ext/alphatau/native/sdl/include/SDL_config_pandora.h +133 -0
  267. data/ext/alphatau/native/sdl/include/SDL_config_psp.h +164 -0
  268. data/ext/alphatau/native/sdl/include/SDL_config_windows.h +254 -0
  269. data/ext/alphatau/native/sdl/include/SDL_config_winrt.h +235 -0
  270. data/ext/alphatau/native/sdl/include/SDL_config_wiz.h +146 -0
  271. data/ext/alphatau/native/sdl/include/SDL_copying.h +20 -0
  272. data/ext/alphatau/native/sdl/include/SDL_cpuinfo.h +188 -0
  273. data/ext/alphatau/native/sdl/include/SDL_egl.h +1673 -0
  274. data/ext/alphatau/native/sdl/include/SDL_endian.h +260 -0
  275. data/ext/alphatau/native/sdl/include/SDL_error.h +76 -0
  276. data/ext/alphatau/native/sdl/include/SDL_events.h +788 -0
  277. data/ext/alphatau/native/sdl/include/SDL_filesystem.h +136 -0
  278. data/ext/alphatau/native/sdl/include/SDL_gamecontroller.h +383 -0
  279. data/ext/alphatau/native/sdl/include/SDL_gesture.h +87 -0
  280. data/ext/alphatau/native/sdl/include/SDL_haptic.h +1227 -0
  281. data/ext/alphatau/native/sdl/include/SDL_hints.h +1106 -0
  282. data/ext/alphatau/native/sdl/include/SDL_joystick.h +395 -0
  283. data/ext/alphatau/native/sdl/include/SDL_keyboard.h +217 -0
  284. data/ext/alphatau/native/sdl/include/SDL_keycode.h +349 -0
  285. data/ext/alphatau/native/sdl/include/SDL_loadso.h +81 -0
  286. data/ext/alphatau/native/sdl/include/SDL_log.h +211 -0
  287. data/ext/alphatau/native/sdl/include/SDL_main.h +168 -0
  288. data/ext/alphatau/native/sdl/include/SDL_messagebox.h +144 -0
  289. data/ext/alphatau/native/sdl/include/SDL_mouse.h +302 -0
  290. data/ext/alphatau/native/sdl/include/SDL_mutex.h +251 -0
  291. data/ext/alphatau/native/sdl/include/SDL_name.h +33 -0
  292. data/ext/alphatau/native/sdl/include/SDL_opengl.h +2183 -0
  293. data/ext/alphatau/native/sdl/include/SDL_opengl_glext.h +11177 -0
  294. data/ext/alphatau/native/sdl/include/SDL_opengles.h +39 -0
  295. data/ext/alphatau/native/sdl/include/SDL_opengles2.h +52 -0
  296. data/ext/alphatau/native/sdl/include/SDL_opengles2_gl2.h +621 -0
  297. data/ext/alphatau/native/sdl/include/SDL_opengles2_gl2ext.h +2050 -0
  298. data/ext/alphatau/native/sdl/include/SDL_opengles2_gl2platform.h +30 -0
  299. data/ext/alphatau/native/sdl/include/SDL_opengles2_khrplatform.h +282 -0
  300. data/ext/alphatau/native/sdl/include/SDL_pixels.h +470 -0
  301. data/ext/alphatau/native/sdl/include/SDL_platform.h +198 -0
  302. data/ext/alphatau/native/sdl/include/SDL_power.h +75 -0
  303. data/ext/alphatau/native/sdl/include/SDL_quit.h +58 -0
  304. data/ext/alphatau/native/sdl/include/SDL_rect.h +148 -0
  305. data/ext/alphatau/native/sdl/include/SDL_render.h +931 -0
  306. data/ext/alphatau/native/sdl/include/SDL_revision.h +2 -0
  307. data/ext/alphatau/native/sdl/include/SDL_rwops.h +254 -0
  308. data/ext/alphatau/native/sdl/include/SDL_scancode.h +413 -0
  309. data/ext/alphatau/native/sdl/include/SDL_sensor.h +251 -0
  310. data/ext/alphatau/native/sdl/include/SDL_shape.h +144 -0
  311. data/ext/alphatau/native/sdl/include/SDL_stdinc.h +607 -0
  312. data/ext/alphatau/native/sdl/include/SDL_surface.h +546 -0
  313. data/ext/alphatau/native/sdl/include/SDL_system.h +279 -0
  314. data/ext/alphatau/native/sdl/include/SDL_syswm.h +324 -0
  315. data/ext/alphatau/native/sdl/include/SDL_test.h +69 -0
  316. data/ext/alphatau/native/sdl/include/SDL_test_assert.h +105 -0
  317. data/ext/alphatau/native/sdl/include/SDL_test_common.h +188 -0
  318. data/ext/alphatau/native/sdl/include/SDL_test_compare.h +69 -0
  319. data/ext/alphatau/native/sdl/include/SDL_test_crc32.h +124 -0
  320. data/ext/alphatau/native/sdl/include/SDL_test_font.h +81 -0
  321. data/ext/alphatau/native/sdl/include/SDL_test_fuzzer.h +384 -0
  322. data/ext/alphatau/native/sdl/include/SDL_test_harness.h +134 -0
  323. data/ext/alphatau/native/sdl/include/SDL_test_images.h +78 -0
  324. data/ext/alphatau/native/sdl/include/SDL_test_log.h +67 -0
  325. data/ext/alphatau/native/sdl/include/SDL_test_md5.h +129 -0
  326. data/ext/alphatau/native/sdl/include/SDL_test_memory.h +63 -0
  327. data/ext/alphatau/native/sdl/include/SDL_test_random.h +115 -0
  328. data/ext/alphatau/native/sdl/include/SDL_thread.h +309 -0
  329. data/ext/alphatau/native/sdl/include/SDL_timer.h +115 -0
  330. data/ext/alphatau/native/sdl/include/SDL_touch.h +86 -0
  331. data/ext/alphatau/native/sdl/include/SDL_types.h +29 -0
  332. data/ext/alphatau/native/sdl/include/SDL_version.h +162 -0
  333. data/ext/alphatau/native/sdl/include/SDL_video.h +1276 -0
  334. data/ext/alphatau/native/sdl/include/SDL_vulkan.h +278 -0
  335. data/ext/alphatau/native/sdl/include/begin_code.h +167 -0
  336. data/ext/alphatau/native/sdl/include/close_code.h +37 -0
  337. data/ext/alphatau/native/sdl/sdl2-config.cmake.in +11 -0
  338. data/ext/alphatau/native/sdl/sdl2-config.in +60 -0
  339. data/ext/alphatau/native/sdl/sdl2.m4 +234 -0
  340. data/ext/alphatau/native/sdl/sdl2.pc.in +15 -0
  341. data/ext/alphatau/native/sdl/src/SDL.c +514 -0
  342. data/ext/alphatau/native/sdl/src/SDL_assert.c +451 -0
  343. data/ext/alphatau/native/sdl/src/SDL_assert_c.h +24 -0
  344. data/ext/alphatau/native/sdl/src/SDL_dataqueue.c +339 -0
  345. data/ext/alphatau/native/sdl/src/SDL_dataqueue.h +55 -0
  346. data/ext/alphatau/native/sdl/src/SDL_error.c +319 -0
  347. data/ext/alphatau/native/sdl/src/SDL_error_c.h +65 -0
  348. data/ext/alphatau/native/sdl/src/SDL_hints.c +236 -0
  349. data/ext/alphatau/native/sdl/src/SDL_internal.h +52 -0
  350. data/ext/alphatau/native/sdl/src/SDL_log.c +450 -0
  351. data/ext/alphatau/native/sdl/src/atomic/SDL_atomic.c +303 -0
  352. data/ext/alphatau/native/sdl/src/atomic/SDL_spinlock.c +176 -0
  353. data/ext/alphatau/native/sdl/src/audio/SDL_audio.c +1647 -0
  354. data/ext/alphatau/native/sdl/src/audio/SDL_audio_c.h +79 -0
  355. data/ext/alphatau/native/sdl/src/audio/SDL_audiocvt.c +1673 -0
  356. data/ext/alphatau/native/sdl/src/audio/SDL_audiodev.c +124 -0
  357. data/ext/alphatau/native/sdl/src/audio/SDL_audiodev_c.h +38 -0
  358. data/ext/alphatau/native/sdl/src/audio/SDL_audiotypecvt.c +1430 -0
  359. data/ext/alphatau/native/sdl/src/audio/SDL_mixer.c +369 -0
  360. data/ext/alphatau/native/sdl/src/audio/SDL_sysaudio.h +211 -0
  361. data/ext/alphatau/native/sdl/src/audio/SDL_wave.c +694 -0
  362. data/ext/alphatau/native/sdl/src/audio/SDL_wave.h +77 -0
  363. data/ext/alphatau/native/sdl/src/audio/alsa/SDL_alsa_audio.c +990 -0
  364. data/ext/alphatau/native/sdl/src/audio/alsa/SDL_alsa_audio.h +48 -0
  365. data/ext/alphatau/native/sdl/src/audio/android/SDL_androidaudio.c +226 -0
  366. data/ext/alphatau/native/sdl/src/audio/android/SDL_androidaudio.h +42 -0
  367. data/ext/alphatau/native/sdl/src/audio/arts/SDL_artsaudio.c +365 -0
  368. data/ext/alphatau/native/sdl/src/audio/arts/SDL_artsaudio.h +53 -0
  369. data/ext/alphatau/native/sdl/src/audio/coreaudio/SDL_coreaudio.h +66 -0
  370. data/ext/alphatau/native/sdl/src/audio/coreaudio/SDL_coreaudio.m +861 -0
  371. data/ext/alphatau/native/sdl/src/audio/directsound/SDL_directsound.c +604 -0
  372. data/ext/alphatau/native/sdl/src/audio/directsound/SDL_directsound.h +47 -0
  373. data/ext/alphatau/native/sdl/src/audio/disk/SDL_diskaudio.c +207 -0
  374. data/ext/alphatau/native/sdl/src/audio/disk/SDL_diskaudio.h +41 -0
  375. data/ext/alphatau/native/sdl/src/audio/dsp/SDL_dspaudio.c +320 -0
  376. data/ext/alphatau/native/sdl/src/audio/dsp/SDL_dspaudio.h +43 -0
  377. data/ext/alphatau/native/sdl/src/audio/dummy/SDL_dummyaudio.c +65 -0
  378. data/ext/alphatau/native/sdl/src/audio/dummy/SDL_dummyaudio.h +41 -0
  379. data/ext/alphatau/native/sdl/src/audio/emscripten/SDL_emscriptenaudio.c +379 -0
  380. data/ext/alphatau/native/sdl/src/audio/emscripten/SDL_emscriptenaudio.h +38 -0
  381. data/ext/alphatau/native/sdl/src/audio/esd/SDL_esdaudio.c +335 -0
  382. data/ext/alphatau/native/sdl/src/audio/esd/SDL_esdaudio.h +51 -0
  383. data/ext/alphatau/native/sdl/src/audio/fusionsound/SDL_fsaudio.c +328 -0
  384. data/ext/alphatau/native/sdl/src/audio/fusionsound/SDL_fsaudio.h +50 -0
  385. data/ext/alphatau/native/sdl/src/audio/haiku/SDL_haikuaudio.cc +248 -0
  386. data/ext/alphatau/native/sdl/src/audio/haiku/SDL_haikuaudio.h +38 -0
  387. data/ext/alphatau/native/sdl/src/audio/jack/SDL_jackaudio.c +446 -0
  388. data/ext/alphatau/native/sdl/src/audio/jack/SDL_jackaudio.h +41 -0
  389. data/ext/alphatau/native/sdl/src/audio/nacl/SDL_naclaudio.c +165 -0
  390. data/ext/alphatau/native/sdl/src/audio/nacl/SDL_naclaudio.h +43 -0
  391. data/ext/alphatau/native/sdl/src/audio/nas/SDL_nasaudio.c +463 -0
  392. data/ext/alphatau/native/sdl/src/audio/nas/SDL_nasaudio.h +56 -0
  393. data/ext/alphatau/native/sdl/src/audio/netbsd/SDL_netbsdaudio.c +412 -0
  394. data/ext/alphatau/native/sdl/src/audio/netbsd/SDL_netbsdaudio.h +48 -0
  395. data/ext/alphatau/native/sdl/src/audio/paudio/SDL_paudio.c +516 -0
  396. data/ext/alphatau/native/sdl/src/audio/paudio/SDL_paudio.h +48 -0
  397. data/ext/alphatau/native/sdl/src/audio/psp/SDL_pspaudio.c +181 -0
  398. data/ext/alphatau/native/sdl/src/audio/psp/SDL_pspaudio.h +45 -0
  399. data/ext/alphatau/native/sdl/src/audio/pulseaudio/SDL_pulseaudio.c +782 -0
  400. data/ext/alphatau/native/sdl/src/audio/pulseaudio/SDL_pulseaudio.h +52 -0
  401. data/ext/alphatau/native/sdl/src/audio/qsa/SDL_qsa_audio.c +666 -0
  402. data/ext/alphatau/native/sdl/src/audio/qsa/SDL_qsa_audio.h +57 -0
  403. data/ext/alphatau/native/sdl/src/audio/sndio/SDL_sndioaudio.c +382 -0
  404. data/ext/alphatau/native/sdl/src/audio/sndio/SDL_sndioaudio.h +49 -0
  405. data/ext/alphatau/native/sdl/src/audio/sun/SDL_sunaudio.c +419 -0
  406. data/ext/alphatau/native/sdl/src/audio/sun/SDL_sunaudio.h +47 -0
  407. data/ext/alphatau/native/sdl/src/audio/wasapi/SDL_wasapi.c +779 -0
  408. data/ext/alphatau/native/sdl/src/audio/wasapi/SDL_wasapi.h +85 -0
  409. data/ext/alphatau/native/sdl/src/audio/wasapi/SDL_wasapi_win32.c +417 -0
  410. data/ext/alphatau/native/sdl/src/audio/wasapi/SDL_wasapi_winrt.cpp +276 -0
  411. data/ext/alphatau/native/sdl/src/audio/winmm/SDL_winmm.c +457 -0
  412. data/ext/alphatau/native/sdl/src/audio/winmm/SDL_winmm.h +45 -0
  413. data/ext/alphatau/native/sdl/src/core/android/SDL_android.c +2285 -0
  414. data/ext/alphatau/native/sdl/src/core/android/SDL_android.h +122 -0
  415. data/ext/alphatau/native/sdl/src/core/android/keyinfotable.h +175 -0
  416. data/ext/alphatau/native/sdl/src/core/linux/SDL_dbus.c +347 -0
  417. data/ext/alphatau/native/sdl/src/core/linux/SDL_dbus.h +97 -0
  418. data/ext/alphatau/native/sdl/src/core/linux/SDL_evdev.c +698 -0
  419. data/ext/alphatau/native/sdl/src/core/linux/SDL_evdev.h +39 -0
  420. data/ext/alphatau/native/sdl/src/core/linux/SDL_evdev_kbd.c +840 -0
  421. data/ext/alphatau/native/sdl/src/core/linux/SDL_evdev_kbd.h +29 -0
  422. data/ext/alphatau/native/sdl/src/core/linux/SDL_evdev_kbd_default_accents.h +284 -0
  423. data/ext/alphatau/native/sdl/src/core/linux/SDL_evdev_kbd_default_keymap.h +4763 -0
  424. data/ext/alphatau/native/sdl/src/core/linux/SDL_fcitx.c +373 -0
  425. data/ext/alphatau/native/sdl/src/core/linux/SDL_fcitx.h +40 -0
  426. data/ext/alphatau/native/sdl/src/core/linux/SDL_ibus.c +584 -0
  427. data/ext/alphatau/native/sdl/src/core/linux/SDL_ibus.h +58 -0
  428. data/ext/alphatau/native/sdl/src/core/linux/SDL_ime.c +152 -0
  429. data/ext/alphatau/native/sdl/src/core/linux/SDL_ime.h +40 -0
  430. data/ext/alphatau/native/sdl/src/core/linux/SDL_udev.c +553 -0
  431. data/ext/alphatau/native/sdl/src/core/linux/SDL_udev.h +121 -0
  432. data/ext/alphatau/native/sdl/src/core/unix/SDL_poll.c +87 -0
  433. data/ext/alphatau/native/sdl/src/core/unix/SDL_poll.h +34 -0
  434. data/ext/alphatau/native/sdl/src/core/windows/SDL_directx.h +111 -0
  435. data/ext/alphatau/native/sdl/src/core/windows/SDL_windows.c +233 -0
  436. data/ext/alphatau/native/sdl/src/core/windows/SDL_windows.h +75 -0
  437. data/ext/alphatau/native/sdl/src/core/windows/SDL_xinput.c +139 -0
  438. data/ext/alphatau/native/sdl/src/core/windows/SDL_xinput.h +177 -0
  439. data/ext/alphatau/native/sdl/src/core/winrt/SDL_winrtapp_common.cpp +66 -0
  440. data/ext/alphatau/native/sdl/src/core/winrt/SDL_winrtapp_common.h +31 -0
  441. data/ext/alphatau/native/sdl/src/core/winrt/SDL_winrtapp_direct3d.cpp +855 -0
  442. data/ext/alphatau/native/sdl/src/core/winrt/SDL_winrtapp_direct3d.h +92 -0
  443. data/ext/alphatau/native/sdl/src/core/winrt/SDL_winrtapp_xaml.cpp +160 -0
  444. data/ext/alphatau/native/sdl/src/core/winrt/SDL_winrtapp_xaml.h +33 -0
  445. data/ext/alphatau/native/sdl/src/cpuinfo/SDL_cpuinfo.c +855 -0
  446. data/ext/alphatau/native/sdl/src/cpuinfo/SDL_simd.h +88 -0
  447. data/ext/alphatau/native/sdl/src/dynapi/SDL_dynapi.c +331 -0
  448. data/ext/alphatau/native/sdl/src/dynapi/SDL_dynapi.h +67 -0
  449. data/ext/alphatau/native/sdl/src/dynapi/SDL_dynapi_overrides.h +698 -0
  450. data/ext/alphatau/native/sdl/src/dynapi/SDL_dynapi_procs.h +740 -0
  451. data/ext/alphatau/native/sdl/src/dynapi/gendynapi.pl +141 -0
  452. data/ext/alphatau/native/sdl/src/events/SDL_clipboardevents.c +46 -0
  453. data/ext/alphatau/native/sdl/src/events/SDL_clipboardevents_c.h +30 -0
  454. data/ext/alphatau/native/sdl/src/events/SDL_displayevents.c +60 -0
  455. data/ext/alphatau/native/sdl/src/events/SDL_displayevents_c.h +30 -0
  456. data/ext/alphatau/native/sdl/src/events/SDL_dropevents.c +98 -0
  457. data/ext/alphatau/native/sdl/src/events/SDL_dropevents_c.h +32 -0
  458. data/ext/alphatau/native/sdl/src/events/SDL_events.c +976 -0
  459. data/ext/alphatau/native/sdl/src/events/SDL_events_c.h +52 -0
  460. data/ext/alphatau/native/sdl/src/events/SDL_gesture.c +700 -0
  461. data/ext/alphatau/native/sdl/src/events/SDL_gesture_c.h +35 -0
  462. data/ext/alphatau/native/sdl/src/events/SDL_keyboard.c +1033 -0
  463. data/ext/alphatau/native/sdl/src/events/SDL_keyboard_c.h +70 -0
  464. data/ext/alphatau/native/sdl/src/events/SDL_mouse.c +1031 -0
  465. data/ext/alphatau/native/sdl/src/events/SDL_mouse_c.h +141 -0
  466. data/ext/alphatau/native/sdl/src/events/SDL_quit.c +152 -0
  467. data/ext/alphatau/native/sdl/src/events/SDL_sysevents.h +36 -0
  468. data/ext/alphatau/native/sdl/src/events/SDL_touch.c +375 -0
  469. data/ext/alphatau/native/sdl/src/events/SDL_touch_c.h +61 -0
  470. data/ext/alphatau/native/sdl/src/events/SDL_windowevents.c +227 -0
  471. data/ext/alphatau/native/sdl/src/events/SDL_windowevents_c.h +31 -0
  472. data/ext/alphatau/native/sdl/src/events/blank_cursor.h +33 -0
  473. data/ext/alphatau/native/sdl/src/events/default_cursor.h +114 -0
  474. data/ext/alphatau/native/sdl/src/events/scancodes_darwin.h +159 -0
  475. data/ext/alphatau/native/sdl/src/events/scancodes_linux.h +263 -0
  476. data/ext/alphatau/native/sdl/src/events/scancodes_windows.h +55 -0
  477. data/ext/alphatau/native/sdl/src/events/scancodes_xfree86.h +506 -0
  478. data/ext/alphatau/native/sdl/src/file/SDL_rwops.c +867 -0
  479. data/ext/alphatau/native/sdl/src/file/cocoa/SDL_rwopsbundlesupport.h +30 -0
  480. data/ext/alphatau/native/sdl/src/file/cocoa/SDL_rwopsbundlesupport.m +62 -0
  481. data/ext/alphatau/native/sdl/src/filesystem/android/SDL_sysfilesystem.c +62 -0
  482. data/ext/alphatau/native/sdl/src/filesystem/cocoa/SDL_sysfilesystem.m +117 -0
  483. data/ext/alphatau/native/sdl/src/filesystem/dummy/SDL_sysfilesystem.c +47 -0
  484. data/ext/alphatau/native/sdl/src/filesystem/emscripten/SDL_sysfilesystem.c +81 -0
  485. data/ext/alphatau/native/sdl/src/filesystem/haiku/SDL_sysfilesystem.cc +110 -0
  486. data/ext/alphatau/native/sdl/src/filesystem/nacl/SDL_sysfilesystem.c +43 -0
  487. data/ext/alphatau/native/sdl/src/filesystem/unix/SDL_sysfilesystem.c +250 -0
  488. data/ext/alphatau/native/sdl/src/filesystem/windows/SDL_sysfilesystem.c +192 -0
  489. data/ext/alphatau/native/sdl/src/filesystem/winrt/SDL_sysfilesystem.cpp +233 -0
  490. data/ext/alphatau/native/sdl/src/haptic/SDL_haptic.c +850 -0
  491. data/ext/alphatau/native/sdl/src/haptic/SDL_haptic_c.h +25 -0
  492. data/ext/alphatau/native/sdl/src/haptic/SDL_syshaptic.h +208 -0
  493. data/ext/alphatau/native/sdl/src/haptic/android/SDL_syshaptic.c +358 -0
  494. data/ext/alphatau/native/sdl/src/haptic/android/SDL_syshaptic_c.h +12 -0
  495. data/ext/alphatau/native/sdl/src/haptic/darwin/SDL_syshaptic.c +1417 -0
  496. data/ext/alphatau/native/sdl/src/haptic/darwin/SDL_syshaptic_c.h +26 -0
  497. data/ext/alphatau/native/sdl/src/haptic/dummy/SDL_syshaptic.c +186 -0
  498. data/ext/alphatau/native/sdl/src/haptic/linux/SDL_syshaptic.c +1165 -0
  499. data/ext/alphatau/native/sdl/src/haptic/windows/SDL_dinputhaptic.c +1305 -0
  500. data/ext/alphatau/native/sdl/src/haptic/windows/SDL_dinputhaptic_c.h +47 -0
  501. data/ext/alphatau/native/sdl/src/haptic/windows/SDL_windowshaptic.c +456 -0
  502. data/ext/alphatau/native/sdl/src/haptic/windows/SDL_windowshaptic_c.h +88 -0
  503. data/ext/alphatau/native/sdl/src/haptic/windows/SDL_xinputhaptic.c +487 -0
  504. data/ext/alphatau/native/sdl/src/haptic/windows/SDL_xinputhaptic_c.h +47 -0
  505. data/ext/alphatau/native/sdl/src/hidapi/AUTHORS.txt +16 -0
  506. data/ext/alphatau/native/sdl/src/hidapi/HACKING.txt +15 -0
  507. data/ext/alphatau/native/sdl/src/hidapi/LICENSE-bsd.txt +26 -0
  508. data/ext/alphatau/native/sdl/src/hidapi/LICENSE-gpl3.txt +674 -0
  509. data/ext/alphatau/native/sdl/src/hidapi/LICENSE-orig.txt +9 -0
  510. data/ext/alphatau/native/sdl/src/hidapi/LICENSE.txt +13 -0
  511. data/ext/alphatau/native/sdl/src/hidapi/Makefile.am +85 -0
  512. data/ext/alphatau/native/sdl/src/hidapi/README.txt +339 -0
  513. data/ext/alphatau/native/sdl/src/hidapi/android/hid.cpp +1079 -0
  514. data/ext/alphatau/native/sdl/src/hidapi/android/jni/Android.mk +16 -0
  515. data/ext/alphatau/native/sdl/src/hidapi/android/jni/Application.mk +2 -0
  516. data/ext/alphatau/native/sdl/src/hidapi/android/project.properties +14 -0
  517. data/ext/alphatau/native/sdl/src/hidapi/bootstrap +2 -0
  518. data/ext/alphatau/native/sdl/src/hidapi/configure.ac +236 -0
  519. data/ext/alphatau/native/sdl/src/hidapi/doxygen/Doxyfile +1630 -0
  520. data/ext/alphatau/native/sdl/src/hidapi/hidapi/hidapi.h +398 -0
  521. data/ext/alphatau/native/sdl/src/hidapi/hidtest/Makefile.am +20 -0
  522. data/ext/alphatau/native/sdl/src/hidapi/hidtest/hidtest.cpp +194 -0
  523. data/ext/alphatau/native/sdl/src/hidapi/ios/Makefile-manual +32 -0
  524. data/ext/alphatau/native/sdl/src/hidapi/ios/Makefile.am +9 -0
  525. data/ext/alphatau/native/sdl/src/hidapi/ios/hid.m +909 -0
  526. data/ext/alphatau/native/sdl/src/hidapi/libusb/Makefile-manual +18 -0
  527. data/ext/alphatau/native/sdl/src/hidapi/libusb/Makefile.am +27 -0
  528. data/ext/alphatau/native/sdl/src/hidapi/libusb/Makefile.freebsd +46 -0
  529. data/ext/alphatau/native/sdl/src/hidapi/libusb/Makefile.linux +49 -0
  530. data/ext/alphatau/native/sdl/src/hidapi/libusb/hid.c +1615 -0
  531. data/ext/alphatau/native/sdl/src/hidapi/libusb/hidusb.cpp +3 -0
  532. data/ext/alphatau/native/sdl/src/hidapi/linux/Makefile-manual +49 -0
  533. data/ext/alphatau/native/sdl/src/hidapi/linux/Makefile.am +10 -0
  534. data/ext/alphatau/native/sdl/src/hidapi/linux/README.txt +59 -0
  535. data/ext/alphatau/native/sdl/src/hidapi/linux/hid.c +893 -0
  536. data/ext/alphatau/native/sdl/src/hidapi/linux/hid.cpp +333 -0
  537. data/ext/alphatau/native/sdl/src/hidapi/linux/hidraw.cpp +3 -0
  538. data/ext/alphatau/native/sdl/src/hidapi/m4/ax_pthread.m4 +309 -0
  539. data/ext/alphatau/native/sdl/src/hidapi/m4/pkg.m4 +157 -0
  540. data/ext/alphatau/native/sdl/src/hidapi/mac/Makefile-manual +32 -0
  541. data/ext/alphatau/native/sdl/src/hidapi/mac/Makefile.am +9 -0
  542. data/ext/alphatau/native/sdl/src/hidapi/mac/hid.c +1186 -0
  543. data/ext/alphatau/native/sdl/src/hidapi/pc/hidapi-hidraw.pc.in +10 -0
  544. data/ext/alphatau/native/sdl/src/hidapi/pc/hidapi-libusb.pc.in +10 -0
  545. data/ext/alphatau/native/sdl/src/hidapi/pc/hidapi.pc.in +10 -0
  546. data/ext/alphatau/native/sdl/src/hidapi/testgui/Makefile-manual +26 -0
  547. data/ext/alphatau/native/sdl/src/hidapi/testgui/Makefile.am +43 -0
  548. data/ext/alphatau/native/sdl/src/hidapi/testgui/Makefile.freebsd +33 -0
  549. data/ext/alphatau/native/sdl/src/hidapi/testgui/Makefile.linux +32 -0
  550. data/ext/alphatau/native/sdl/src/hidapi/testgui/Makefile.mac +46 -0
  551. data/ext/alphatau/native/sdl/src/hidapi/testgui/Makefile.mingw +32 -0
  552. data/ext/alphatau/native/sdl/src/hidapi/testgui/TestGUI.app.in/Contents/Info.plist +28 -0
  553. data/ext/alphatau/native/sdl/src/hidapi/testgui/TestGUI.app.in/Contents/PkgInfo +1 -0
  554. data/ext/alphatau/native/sdl/src/hidapi/testgui/TestGUI.app.in/Contents/Resources/English.lproj/InfoPlist.strings +0 -0
  555. data/ext/alphatau/native/sdl/src/hidapi/testgui/TestGUI.app.in/Contents/Resources/Signal11.icns +0 -0
  556. data/ext/alphatau/native/sdl/src/hidapi/testgui/copy_to_bundle.sh +97 -0
  557. data/ext/alphatau/native/sdl/src/hidapi/testgui/mac_support.cpp +134 -0
  558. data/ext/alphatau/native/sdl/src/hidapi/testgui/mac_support.h +17 -0
  559. data/ext/alphatau/native/sdl/src/hidapi/testgui/mac_support_cocoa.m +94 -0
  560. data/ext/alphatau/native/sdl/src/hidapi/testgui/start.sh +2 -0
  561. data/ext/alphatau/native/sdl/src/hidapi/testgui/test.cpp +532 -0
  562. data/ext/alphatau/native/sdl/src/hidapi/testgui/testgui.sln +20 -0
  563. data/ext/alphatau/native/sdl/src/hidapi/testgui/testgui.vcproj +217 -0
  564. data/ext/alphatau/native/sdl/src/hidapi/udev/99-hid.rules +33 -0
  565. data/ext/alphatau/native/sdl/src/hidapi/windows/Makefile-manual +14 -0
  566. data/ext/alphatau/native/sdl/src/hidapi/windows/Makefile.am +16 -0
  567. data/ext/alphatau/native/sdl/src/hidapi/windows/Makefile.mingw +35 -0
  568. data/ext/alphatau/native/sdl/src/hidapi/windows/ddk_build/hidapi.def +17 -0
  569. data/ext/alphatau/native/sdl/src/hidapi/windows/ddk_build/makefile +49 -0
  570. data/ext/alphatau/native/sdl/src/hidapi/windows/ddk_build/sources +23 -0
  571. data/ext/alphatau/native/sdl/src/hidapi/windows/hid.c +983 -0
  572. data/ext/alphatau/native/sdl/src/hidapi/windows/hidapi.sln +29 -0
  573. data/ext/alphatau/native/sdl/src/hidapi/windows/hidapi.vcproj +201 -0
  574. data/ext/alphatau/native/sdl/src/hidapi/windows/hidtest.vcproj +196 -0
  575. data/ext/alphatau/native/sdl/src/joystick/SDL_gamecontroller.c +2066 -0
  576. data/ext/alphatau/native/sdl/src/joystick/SDL_gamecontrollerdb.h +583 -0
  577. data/ext/alphatau/native/sdl/src/joystick/SDL_joystick.c +1547 -0
  578. data/ext/alphatau/native/sdl/src/joystick/SDL_joystick_c.h +94 -0
  579. data/ext/alphatau/native/sdl/src/joystick/SDL_sysjoystick.h +153 -0
  580. data/ext/alphatau/native/sdl/src/joystick/android/SDL_sysjoystick.c +703 -0
  581. data/ext/alphatau/native/sdl/src/joystick/android/SDL_sysjoystick_c.h +59 -0
  582. data/ext/alphatau/native/sdl/src/joystick/bsd/SDL_sysjoystick.c +701 -0
  583. data/ext/alphatau/native/sdl/src/joystick/controller_type.h +457 -0
  584. data/ext/alphatau/native/sdl/src/joystick/darwin/SDL_sysjoystick.c +1012 -0
  585. data/ext/alphatau/native/sdl/src/joystick/darwin/SDL_sysjoystick_c.h +79 -0
  586. data/ext/alphatau/native/sdl/src/joystick/dummy/SDL_sysjoystick.c +113 -0
  587. data/ext/alphatau/native/sdl/src/joystick/emscripten/SDL_sysjoystick.c +406 -0
  588. data/ext/alphatau/native/sdl/src/joystick/emscripten/SDL_sysjoystick_c.h +52 -0
  589. data/ext/alphatau/native/sdl/src/joystick/haiku/SDL_haikujoystick.cc +272 -0
  590. data/ext/alphatau/native/sdl/src/joystick/hidapi/SDL_hidapi_ps4.c +545 -0
  591. data/ext/alphatau/native/sdl/src/joystick/hidapi/SDL_hidapi_switch.c +905 -0
  592. data/ext/alphatau/native/sdl/src/joystick/hidapi/SDL_hidapi_xbox360.c +461 -0
  593. data/ext/alphatau/native/sdl/src/joystick/hidapi/SDL_hidapi_xboxone.c +318 -0
  594. data/ext/alphatau/native/sdl/src/joystick/hidapi/SDL_hidapijoystick.c +1021 -0
  595. data/ext/alphatau/native/sdl/src/joystick/hidapi/SDL_hidapijoystick_c.h +72 -0
  596. data/ext/alphatau/native/sdl/src/joystick/iphoneos/SDL_sysjoystick.m +727 -0
  597. data/ext/alphatau/native/sdl/src/joystick/iphoneos/SDL_sysjoystick_c.h +57 -0
  598. data/ext/alphatau/native/sdl/src/joystick/linux/SDL_sysjoystick.c +1116 -0
  599. data/ext/alphatau/native/sdl/src/joystick/linux/SDL_sysjoystick_c.h +64 -0
  600. data/ext/alphatau/native/sdl/src/joystick/psp/SDL_sysjoystick.c +264 -0
  601. data/ext/alphatau/native/sdl/src/joystick/sort_controllers.py +78 -0
  602. data/ext/alphatau/native/sdl/src/joystick/steam/SDL_steamcontroller.c +52 -0
  603. data/ext/alphatau/native/sdl/src/joystick/steam/SDL_steamcontroller.h +33 -0
  604. data/ext/alphatau/native/sdl/src/joystick/windows/SDL_dinputjoystick.c +1155 -0
  605. data/ext/alphatau/native/sdl/src/joystick/windows/SDL_dinputjoystick_c.h +31 -0
  606. data/ext/alphatau/native/sdl/src/joystick/windows/SDL_mmjoystick.c +452 -0
  607. data/ext/alphatau/native/sdl/src/joystick/windows/SDL_windowsjoystick.c +558 -0
  608. data/ext/alphatau/native/sdl/src/joystick/windows/SDL_windowsjoystick_c.h +95 -0
  609. data/ext/alphatau/native/sdl/src/joystick/windows/SDL_xinputjoystick.c +558 -0
  610. data/ext/alphatau/native/sdl/src/joystick/windows/SDL_xinputjoystick_c.h +34 -0
  611. data/ext/alphatau/native/sdl/src/libm/e_atan2.c +134 -0
  612. data/ext/alphatau/native/sdl/src/libm/e_exp.c +187 -0
  613. data/ext/alphatau/native/sdl/src/libm/e_fmod.c +144 -0
  614. data/ext/alphatau/native/sdl/src/libm/e_log.c +152 -0
  615. data/ext/alphatau/native/sdl/src/libm/e_log10.c +106 -0
  616. data/ext/alphatau/native/sdl/src/libm/e_pow.c +343 -0
  617. data/ext/alphatau/native/sdl/src/libm/e_rem_pio2.c +161 -0
  618. data/ext/alphatau/native/sdl/src/libm/e_sqrt.c +457 -0
  619. data/ext/alphatau/native/sdl/src/libm/k_cos.c +82 -0
  620. data/ext/alphatau/native/sdl/src/libm/k_rem_pio2.c +317 -0
  621. data/ext/alphatau/native/sdl/src/libm/k_sin.c +65 -0
  622. data/ext/alphatau/native/sdl/src/libm/k_tan.c +118 -0
  623. data/ext/alphatau/native/sdl/src/libm/math_libm.h +41 -0
  624. data/ext/alphatau/native/sdl/src/libm/math_private.h +227 -0
  625. data/ext/alphatau/native/sdl/src/libm/s_atan.c +114 -0
  626. data/ext/alphatau/native/sdl/src/libm/s_copysign.c +29 -0
  627. data/ext/alphatau/native/sdl/src/libm/s_cos.c +73 -0
  628. data/ext/alphatau/native/sdl/src/libm/s_fabs.c +29 -0
  629. data/ext/alphatau/native/sdl/src/libm/s_floor.c +71 -0
  630. data/ext/alphatau/native/sdl/src/libm/s_scalbn.c +69 -0
  631. data/ext/alphatau/native/sdl/src/libm/s_sin.c +73 -0
  632. data/ext/alphatau/native/sdl/src/libm/s_tan.c +67 -0
  633. data/ext/alphatau/native/sdl/src/loadso/dlopen/SDL_sysloadso.c +88 -0
  634. data/ext/alphatau/native/sdl/src/loadso/dummy/SDL_sysloadso.c +54 -0
  635. data/ext/alphatau/native/sdl/src/loadso/windows/SDL_sysloadso.c +80 -0
  636. data/ext/alphatau/native/sdl/src/main/android/SDL_android_main.c +7 -0
  637. data/ext/alphatau/native/sdl/src/main/dummy/SDL_dummy_main.c +28 -0
  638. data/ext/alphatau/native/sdl/src/main/haiku/SDL_BApp.h +399 -0
  639. data/ext/alphatau/native/sdl/src/main/haiku/SDL_BeApp.cc +157 -0
  640. data/ext/alphatau/native/sdl/src/main/haiku/SDL_BeApp.h +38 -0
  641. data/ext/alphatau/native/sdl/src/main/nacl/SDL_nacl_main.c +93 -0
  642. data/ext/alphatau/native/sdl/src/main/psp/SDL_psp_main.c +70 -0
  643. data/ext/alphatau/native/sdl/src/main/windows/SDL_windows_main.c +207 -0
  644. data/ext/alphatau/native/sdl/src/main/windows/version.rc +38 -0
  645. data/ext/alphatau/native/sdl/src/main/winrt/SDL2-WinRTResource_BlankCursor.cur +0 -0
  646. data/ext/alphatau/native/sdl/src/main/winrt/SDL2-WinRTResources.rc +3 -0
  647. data/ext/alphatau/native/sdl/src/main/winrt/SDL_winrt_main_NonXAML.cpp +54 -0
  648. data/ext/alphatau/native/sdl/src/power/SDL_power.c +116 -0
  649. data/ext/alphatau/native/sdl/src/power/SDL_syspower.h +47 -0
  650. data/ext/alphatau/native/sdl/src/power/android/SDL_syspower.c +64 -0
  651. data/ext/alphatau/native/sdl/src/power/emscripten/SDL_syspower.c +62 -0
  652. data/ext/alphatau/native/sdl/src/power/haiku/SDL_syspower.c +128 -0
  653. data/ext/alphatau/native/sdl/src/power/linux/SDL_syspower.c +642 -0
  654. data/ext/alphatau/native/sdl/src/power/macosx/SDL_syspower.c +192 -0
  655. data/ext/alphatau/native/sdl/src/power/psp/SDL_syspower.c +68 -0
  656. data/ext/alphatau/native/sdl/src/power/uikit/SDL_syspower.h +32 -0
  657. data/ext/alphatau/native/sdl/src/power/uikit/SDL_syspower.m +113 -0
  658. data/ext/alphatau/native/sdl/src/power/windows/SDL_syspower.c +76 -0
  659. data/ext/alphatau/native/sdl/src/power/winrt/SDL_syspower.cpp +44 -0
  660. data/ext/alphatau/native/sdl/src/render/SDL_d3dmath.c +136 -0
  661. data/ext/alphatau/native/sdl/src/render/SDL_d3dmath.h +72 -0
  662. data/ext/alphatau/native/sdl/src/render/SDL_render.c +2292 -0
  663. data/ext/alphatau/native/sdl/src/render/SDL_sysrender.h +214 -0
  664. data/ext/alphatau/native/sdl/src/render/SDL_yuv_sw.c +414 -0
  665. data/ext/alphatau/native/sdl/src/render/SDL_yuv_sw_c.h +67 -0
  666. data/ext/alphatau/native/sdl/src/render/direct3d/SDL_render_d3d.c +1813 -0
  667. data/ext/alphatau/native/sdl/src/render/direct3d/SDL_shaders_d3d.c +274 -0
  668. data/ext/alphatau/native/sdl/src/render/direct3d/SDL_shaders_d3d.h +34 -0
  669. data/ext/alphatau/native/sdl/src/render/direct3d11/SDL_render_d3d11.c +2559 -0
  670. data/ext/alphatau/native/sdl/src/render/direct3d11/SDL_render_winrt.cpp +116 -0
  671. data/ext/alphatau/native/sdl/src/render/direct3d11/SDL_render_winrt.h +40 -0
  672. data/ext/alphatau/native/sdl/src/render/direct3d11/SDL_shaders_d3d11.c +1957 -0
  673. data/ext/alphatau/native/sdl/src/render/direct3d11/SDL_shaders_d3d11.h +43 -0
  674. data/ext/alphatau/native/sdl/src/render/metal/SDL_render_metal.m +1428 -0
  675. data/ext/alphatau/native/sdl/src/render/metal/SDL_shaders_metal.metal +109 -0
  676. data/ext/alphatau/native/sdl/src/render/metal/SDL_shaders_metal_ios.h +1899 -0
  677. data/ext/alphatau/native/sdl/src/render/metal/SDL_shaders_metal_osx.h +1903 -0
  678. data/ext/alphatau/native/sdl/src/render/metal/build-metal-shaders.sh +18 -0
  679. data/ext/alphatau/native/sdl/src/render/opengl/SDL_glfuncs.h +478 -0
  680. data/ext/alphatau/native/sdl/src/render/opengl/SDL_render_gl.c +1678 -0
  681. data/ext/alphatau/native/sdl/src/render/opengl/SDL_shaders_gl.c +524 -0
  682. data/ext/alphatau/native/sdl/src/render/opengl/SDL_shaders_gl.h +47 -0
  683. data/ext/alphatau/native/sdl/src/render/opengles/SDL_glesfuncs.h +65 -0
  684. data/ext/alphatau/native/sdl/src/render/opengles/SDL_render_gles.c +1278 -0
  685. data/ext/alphatau/native/sdl/src/render/opengles2/SDL_gles2funcs.h +80 -0
  686. data/ext/alphatau/native/sdl/src/render/opengles2/SDL_render_gles2.c +2256 -0
  687. data/ext/alphatau/native/sdl/src/render/opengles2/SDL_shaders_gles2.c +569 -0
  688. data/ext/alphatau/native/sdl/src/render/opengles2/SDL_shaders_gles2.h +70 -0
  689. data/ext/alphatau/native/sdl/src/render/opengles2/build_code_with_snobol/Makefile +41 -0
  690. data/ext/alphatau/native/sdl/src/render/opengles2/build_code_with_snobol/convert_gl2_h_into_gles2_stubcall_overs_c.sno +181 -0
  691. data/ext/alphatau/native/sdl/src/render/opengles2/build_code_with_snobol/convert_gl2_h_into_gles2_stubcall_overs_h.sno +116 -0
  692. data/ext/alphatau/native/sdl/src/render/opengles2/build_code_with_snobol/convert_gl2_h_into_gles2funcs_h.sno +82 -0
  693. data/ext/alphatau/native/sdl/src/render/opengles2/build_code_with_snobol/convert_gles2funcs_into_gles2_define_overs_h.sno +42 -0
  694. data/ext/alphatau/native/sdl/src/render/opengles2/build_code_with_snobol/gl2.h +686 -0
  695. data/ext/alphatau/native/sdl/src/render/opengles2/build_code_with_snobol/readme.txt +70 -0
  696. data/ext/alphatau/native/sdl/src/render/opengles2/build_code_with_snobol/testgles2.c +725 -0
  697. data/ext/alphatau/native/sdl/src/render/opengles2/build_code_with_snobol/triangle.c +147 -0
  698. data/ext/alphatau/native/sdl/src/render/psp/SDL_render_psp.c +1016 -0
  699. data/ext/alphatau/native/sdl/src/render/software/SDL_blendfillrect.c +336 -0
  700. data/ext/alphatau/native/sdl/src/render/software/SDL_blendfillrect.h +27 -0
  701. data/ext/alphatau/native/sdl/src/render/software/SDL_blendline.c +777 -0
  702. data/ext/alphatau/native/sdl/src/render/software/SDL_blendline.h +27 -0
  703. data/ext/alphatau/native/sdl/src/render/software/SDL_blendpoint.c +341 -0
  704. data/ext/alphatau/native/sdl/src/render/software/SDL_blendpoint.h +27 -0
  705. data/ext/alphatau/native/sdl/src/render/software/SDL_draw.h +576 -0
  706. data/ext/alphatau/native/sdl/src/render/software/SDL_drawline.c +209 -0
  707. data/ext/alphatau/native/sdl/src/render/software/SDL_drawline.h +27 -0
  708. data/ext/alphatau/native/sdl/src/render/software/SDL_drawpoint.c +114 -0
  709. data/ext/alphatau/native/sdl/src/render/software/SDL_drawpoint.h +27 -0
  710. data/ext/alphatau/native/sdl/src/render/software/SDL_render_sw.c +882 -0
  711. data/ext/alphatau/native/sdl/src/render/software/SDL_render_sw_c.h +24 -0
  712. data/ext/alphatau/native/sdl/src/render/software/SDL_rotate.c +530 -0
  713. data/ext/alphatau/native/sdl/src/render/software/SDL_rotate.h +28 -0
  714. data/ext/alphatau/native/sdl/src/sensor/SDL_sensor.c +546 -0
  715. data/ext/alphatau/native/sdl/src/sensor/SDL_sensor_c.h +38 -0
  716. data/ext/alphatau/native/sdl/src/sensor/SDL_syssensor.h +99 -0
  717. data/ext/alphatau/native/sdl/src/sensor/android/SDL_androidsensor.c +211 -0
  718. data/ext/alphatau/native/sdl/src/sensor/android/SDL_androidsensor.h +31 -0
  719. data/ext/alphatau/native/sdl/src/sensor/coremotion/SDL_coremotionsensor.h +30 -0
  720. data/ext/alphatau/native/sdl/src/sensor/coremotion/SDL_coremotionsensor.m +234 -0
  721. data/ext/alphatau/native/sdl/src/sensor/dummy/SDL_dummysensor.c +110 -0
  722. data/ext/alphatau/native/sdl/src/sensor/dummy/SDL_dummysensor.h +23 -0
  723. data/ext/alphatau/native/sdl/src/stdlib/SDL_getenv.c +315 -0
  724. data/ext/alphatau/native/sdl/src/stdlib/SDL_iconv.c +934 -0
  725. data/ext/alphatau/native/sdl/src/stdlib/SDL_malloc.c +5376 -0
  726. data/ext/alphatau/native/sdl/src/stdlib/SDL_qsort.c +534 -0
  727. data/ext/alphatau/native/sdl/src/stdlib/SDL_stdlib.c +1155 -0
  728. data/ext/alphatau/native/sdl/src/stdlib/SDL_string.c +1737 -0
  729. data/ext/alphatau/native/sdl/src/test/SDL_test_assert.c +152 -0
  730. data/ext/alphatau/native/sdl/src/test/SDL_test_common.c +1826 -0
  731. data/ext/alphatau/native/sdl/src/test/SDL_test_compare.c +117 -0
  732. data/ext/alphatau/native/sdl/src/test/SDL_test_crc32.c +166 -0
  733. data/ext/alphatau/native/sdl/src/test/SDL_test_font.c +3250 -0
  734. data/ext/alphatau/native/sdl/src/test/SDL_test_fuzzer.c +534 -0
  735. data/ext/alphatau/native/sdl/src/test/SDL_test_harness.c +683 -0
  736. data/ext/alphatau/native/sdl/src/test/SDL_test_imageBlit.c +1559 -0
  737. data/ext/alphatau/native/sdl/src/test/SDL_test_imageBlitBlend.c +2845 -0
  738. data/ext/alphatau/native/sdl/src/test/SDL_test_imageFace.c +247 -0
  739. data/ext/alphatau/native/sdl/src/test/SDL_test_imagePrimitives.c +514 -0
  740. data/ext/alphatau/native/sdl/src/test/SDL_test_imagePrimitivesBlend.c +696 -0
  741. data/ext/alphatau/native/sdl/src/test/SDL_test_log.c +118 -0
  742. data/ext/alphatau/native/sdl/src/test/SDL_test_md5.c +338 -0
  743. data/ext/alphatau/native/sdl/src/test/SDL_test_memory.c +274 -0
  744. data/ext/alphatau/native/sdl/src/test/SDL_test_random.c +96 -0
  745. data/ext/alphatau/native/sdl/src/thread/SDL_systhread.h +70 -0
  746. data/ext/alphatau/native/sdl/src/thread/SDL_thread.c +503 -0
  747. data/ext/alphatau/native/sdl/src/thread/SDL_thread_c.h +95 -0
  748. data/ext/alphatau/native/sdl/src/thread/generic/SDL_syscond.c +220 -0
  749. data/ext/alphatau/native/sdl/src/thread/generic/SDL_sysmutex.c +165 -0
  750. data/ext/alphatau/native/sdl/src/thread/generic/SDL_sysmutex_c.h +22 -0
  751. data/ext/alphatau/native/sdl/src/thread/generic/SDL_syssem.c +217 -0
  752. data/ext/alphatau/native/sdl/src/thread/generic/SDL_systhread.c +71 -0
  753. data/ext/alphatau/native/sdl/src/thread/generic/SDL_systhread_c.h +26 -0
  754. data/ext/alphatau/native/sdl/src/thread/generic/SDL_systls.c +38 -0
  755. data/ext/alphatau/native/sdl/src/thread/psp/SDL_syscond.c +224 -0
  756. data/ext/alphatau/native/sdl/src/thread/psp/SDL_sysmutex.c +136 -0
  757. data/ext/alphatau/native/sdl/src/thread/psp/SDL_sysmutex_c.h +22 -0
  758. data/ext/alphatau/native/sdl/src/thread/psp/SDL_syssem.c +161 -0
  759. data/ext/alphatau/native/sdl/src/thread/psp/SDL_systhread.c +114 -0
  760. data/ext/alphatau/native/sdl/src/thread/psp/SDL_systhread_c.h +24 -0
  761. data/ext/alphatau/native/sdl/src/thread/pthread/SDL_syscond.c +158 -0
  762. data/ext/alphatau/native/sdl/src/thread/pthread/SDL_sysmutex.c +195 -0
  763. data/ext/alphatau/native/sdl/src/thread/pthread/SDL_sysmutex_c.h +32 -0
  764. data/ext/alphatau/native/sdl/src/thread/pthread/SDL_syssem.c +209 -0
  765. data/ext/alphatau/native/sdl/src/thread/pthread/SDL_systhread.c +324 -0
  766. data/ext/alphatau/native/sdl/src/thread/pthread/SDL_systhread_c.h +27 -0
  767. data/ext/alphatau/native/sdl/src/thread/pthread/SDL_systls.c +70 -0
  768. data/ext/alphatau/native/sdl/src/thread/stdcpp/SDL_syscond.cpp +164 -0
  769. data/ext/alphatau/native/sdl/src/thread/stdcpp/SDL_sysmutex.cpp +111 -0
  770. data/ext/alphatau/native/sdl/src/thread/stdcpp/SDL_sysmutex_c.h +30 -0
  771. data/ext/alphatau/native/sdl/src/thread/stdcpp/SDL_systhread.cpp +168 -0
  772. data/ext/alphatau/native/sdl/src/thread/stdcpp/SDL_systhread_c.h +26 -0
  773. data/ext/alphatau/native/sdl/src/thread/windows/SDL_sysmutex.c +110 -0
  774. data/ext/alphatau/native/sdl/src/thread/windows/SDL_syssem.c +152 -0
  775. data/ext/alphatau/native/sdl/src/thread/windows/SDL_systhread.c +260 -0
  776. data/ext/alphatau/native/sdl/src/thread/windows/SDL_systhread_c.h +32 -0
  777. data/ext/alphatau/native/sdl/src/thread/windows/SDL_systls.c +72 -0
  778. data/ext/alphatau/native/sdl/src/timer/SDL_timer.c +373 -0
  779. data/ext/alphatau/native/sdl/src/timer/SDL_timer_c.h +34 -0
  780. data/ext/alphatau/native/sdl/src/timer/dummy/SDL_systimer.c +75 -0
  781. data/ext/alphatau/native/sdl/src/timer/haiku/SDL_systimer.c +80 -0
  782. data/ext/alphatau/native/sdl/src/timer/psp/SDL_systimer.c +91 -0
  783. data/ext/alphatau/native/sdl/src/timer/unix/SDL_systimer.c +232 -0
  784. data/ext/alphatau/native/sdl/src/timer/windows/SDL_systimer.c +200 -0
  785. data/ext/alphatau/native/sdl/src/video/SDL_RLEaccel.c +1581 -0
  786. data/ext/alphatau/native/sdl/src/video/SDL_RLEaccel_c.h +31 -0
  787. data/ext/alphatau/native/sdl/src/video/SDL_blit.c +296 -0
  788. data/ext/alphatau/native/sdl/src/video/SDL_blit.h +553 -0
  789. data/ext/alphatau/native/sdl/src/video/SDL_blit_0.c +483 -0
  790. data/ext/alphatau/native/sdl/src/video/SDL_blit_1.c +552 -0
  791. data/ext/alphatau/native/sdl/src/video/SDL_blit_A.c +1388 -0
  792. data/ext/alphatau/native/sdl/src/video/SDL_blit_N.c +2647 -0
  793. data/ext/alphatau/native/sdl/src/video/SDL_blit_auto.c +7419 -0
  794. data/ext/alphatau/native/sdl/src/video/SDL_blit_auto.h +30 -0
  795. data/ext/alphatau/native/sdl/src/video/SDL_blit_copy.c +162 -0
  796. data/ext/alphatau/native/sdl/src/video/SDL_blit_copy.h +24 -0
  797. data/ext/alphatau/native/sdl/src/video/SDL_blit_slow.c +164 -0
  798. data/ext/alphatau/native/sdl/src/video/SDL_blit_slow.h +25 -0
  799. data/ext/alphatau/native/sdl/src/video/SDL_bmp.c +702 -0
  800. data/ext/alphatau/native/sdl/src/video/SDL_clipboard.c +90 -0
  801. data/ext/alphatau/native/sdl/src/video/SDL_egl.c +899 -0
  802. data/ext/alphatau/native/sdl/src/video/SDL_egl_c.h +149 -0
  803. data/ext/alphatau/native/sdl/src/video/SDL_fillrect.c +343 -0
  804. data/ext/alphatau/native/sdl/src/video/SDL_pixels.c +1125 -0
  805. data/ext/alphatau/native/sdl/src/video/SDL_pixels_c.h +40 -0
  806. data/ext/alphatau/native/sdl/src/video/SDL_rect.c +531 -0
  807. data/ext/alphatau/native/sdl/src/video/SDL_rect_c.h +25 -0
  808. data/ext/alphatau/native/sdl/src/video/SDL_shape.c +309 -0
  809. data/ext/alphatau/native/sdl/src/video/SDL_shape_internals.h +69 -0
  810. data/ext/alphatau/native/sdl/src/video/SDL_stretch.c +353 -0
  811. data/ext/alphatau/native/sdl/src/video/SDL_surface.c +1232 -0
  812. data/ext/alphatau/native/sdl/src/video/SDL_sysvideo.h +467 -0
  813. data/ext/alphatau/native/sdl/src/video/SDL_video.c +4160 -0
  814. data/ext/alphatau/native/sdl/src/video/SDL_vulkan_internal.h +91 -0
  815. data/ext/alphatau/native/sdl/src/video/SDL_vulkan_utils.c +172 -0
  816. data/ext/alphatau/native/sdl/src/video/SDL_yuv.c +1834 -0
  817. data/ext/alphatau/native/sdl/src/video/SDL_yuv_c.h +30 -0
  818. data/ext/alphatau/native/sdl/src/video/android/SDL_androidclipboard.c +48 -0
  819. data/ext/alphatau/native/sdl/src/video/android/SDL_androidclipboard.h +32 -0
  820. data/ext/alphatau/native/sdl/src/video/android/SDL_androidevents.c +123 -0
  821. data/ext/alphatau/native/sdl/src/video/android/SDL_androidevents.h +27 -0
  822. data/ext/alphatau/native/sdl/src/video/android/SDL_androidgl.c +62 -0
  823. data/ext/alphatau/native/sdl/src/video/android/SDL_androidgl.h +34 -0
  824. data/ext/alphatau/native/sdl/src/video/android/SDL_androidkeyboard.c +391 -0
  825. data/ext/alphatau/native/sdl/src/video/android/SDL_androidkeyboard.h +36 -0
  826. data/ext/alphatau/native/sdl/src/video/android/SDL_androidmessagebox.c +37 -0
  827. data/ext/alphatau/native/sdl/src/video/android/SDL_androidmessagebox.h +29 -0
  828. data/ext/alphatau/native/sdl/src/video/android/SDL_androidmouse.c +266 -0
  829. data/ext/alphatau/native/sdl/src/video/android/SDL_androidmouse.h +33 -0
  830. data/ext/alphatau/native/sdl/src/video/android/SDL_androidtouch.c +151 -0
  831. data/ext/alphatau/native/sdl/src/video/android/SDL_androidtouch.h +29 -0
  832. data/ext/alphatau/native/sdl/src/video/android/SDL_androidvideo.c +259 -0
  833. data/ext/alphatau/native/sdl/src/video/android/SDL_androidvideo.h +51 -0
  834. data/ext/alphatau/native/sdl/src/video/android/SDL_androidvulkan.c +175 -0
  835. data/ext/alphatau/native/sdl/src/video/android/SDL_androidvulkan.h +52 -0
  836. data/ext/alphatau/native/sdl/src/video/android/SDL_androidwindow.c +175 -0
  837. data/ext/alphatau/native/sdl/src/video/android/SDL_androidwindow.h +45 -0
  838. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoaclipboard.h +36 -0
  839. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoaclipboard.m +103 -0
  840. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoaevents.h +32 -0
  841. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoaevents.m +483 -0
  842. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoakeyboard.h +36 -0
  843. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoakeyboard.m +720 -0
  844. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoamessagebox.h +29 -0
  845. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoamessagebox.m +145 -0
  846. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoametalview.h +63 -0
  847. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoametalview.m +134 -0
  848. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoamodes.h +46 -0
  849. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoamodes.m +490 -0
  850. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoamouse.h +52 -0
  851. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoamouse.m +477 -0
  852. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoamousetap.h +34 -0
  853. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoamousetap.m +279 -0
  854. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoaopengl.h +68 -0
  855. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoaopengl.m +428 -0
  856. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoaopengles.h +49 -0
  857. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoaopengles.m +132 -0
  858. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoashape.h +45 -0
  859. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoashape.m +113 -0
  860. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoavideo.h +118 -0
  861. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoavideo.m +254 -0
  862. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoavulkan.h +55 -0
  863. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoavulkan.m +231 -0
  864. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoawindow.h +155 -0
  865. data/ext/alphatau/native/sdl/src/video/cocoa/SDL_cocoawindow.m +1885 -0
  866. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_WM.c +413 -0
  867. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_WM.h +56 -0
  868. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_dyn.c +117 -0
  869. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_dyn.h +41 -0
  870. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_events.c +748 -0
  871. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_events.h +34 -0
  872. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_modes.c +414 -0
  873. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_modes.h +59 -0
  874. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_mouse.c +389 -0
  875. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_mouse.h +44 -0
  876. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_opengl.c +332 -0
  877. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_opengl.h +64 -0
  878. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_render.c +1335 -0
  879. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_render.h +25 -0
  880. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_shape.c +131 -0
  881. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_shape.h +38 -0
  882. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_video.c +418 -0
  883. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_video.h +170 -0
  884. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_window.c +565 -0
  885. data/ext/alphatau/native/sdl/src/video/directfb/SDL_DirectFB_window.h +82 -0
  886. data/ext/alphatau/native/sdl/src/video/dummy/SDL_nullevents.c +41 -0
  887. data/ext/alphatau/native/sdl/src/video/dummy/SDL_nullevents_c.h +27 -0
  888. data/ext/alphatau/native/sdl/src/video/dummy/SDL_nullframebuffer.c +89 -0
  889. data/ext/alphatau/native/sdl/src/video/dummy/SDL_nullframebuffer_c.h +27 -0
  890. data/ext/alphatau/native/sdl/src/video/dummy/SDL_nullvideo.c +144 -0
  891. data/ext/alphatau/native/sdl/src/video/dummy/SDL_nullvideo.h +30 -0
  892. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenevents.c +716 -0
  893. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenevents.h +40 -0
  894. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenframebuffer.c +178 -0
  895. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenframebuffer.h +32 -0
  896. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenmouse.c +275 -0
  897. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenmouse.h +42 -0
  898. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenopengles.c +119 -0
  899. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenopengles.h +49 -0
  900. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenvideo.c +354 -0
  901. data/ext/alphatau/native/sdl/src/video/emscripten/SDL_emscriptenvideo.h +58 -0
  902. data/ext/alphatau/native/sdl/src/video/haiku/SDL_BWin.h +679 -0
  903. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bclipboard.cc +95 -0
  904. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bclipboard.h +33 -0
  905. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bevents.cc +41 -0
  906. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bevents.h +39 -0
  907. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bframebuffer.cc +259 -0
  908. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bframebuffer.h +47 -0
  909. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bkeyboard.cc +190 -0
  910. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bkeyboard.h +44 -0
  911. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bmodes.cc +333 -0
  912. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bmodes.h +48 -0
  913. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bopengl.cc +176 -0
  914. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bopengl.h +55 -0
  915. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bvideo.cc +178 -0
  916. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bvideo.h +44 -0
  917. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bwindow.cc +233 -0
  918. data/ext/alphatau/native/sdl/src/video/haiku/SDL_bwindow.h +55 -0
  919. data/ext/alphatau/native/sdl/src/video/khronos/EGL/egl.h +303 -0
  920. data/ext/alphatau/native/sdl/src/video/khronos/EGL/eglext.h +1241 -0
  921. data/ext/alphatau/native/sdl/src/video/khronos/EGL/eglplatform.h +132 -0
  922. data/ext/alphatau/native/sdl/src/video/khronos/GLES2/gl2.h +675 -0
  923. data/ext/alphatau/native/sdl/src/video/khronos/GLES2/gl2ext.h +3505 -0
  924. data/ext/alphatau/native/sdl/src/video/khronos/GLES2/gl2platform.h +38 -0
  925. data/ext/alphatau/native/sdl/src/video/khronos/KHR/khrplatform.h +284 -0
  926. data/ext/alphatau/native/sdl/src/video/khronos/vulkan/vk_platform.h +120 -0
  927. data/ext/alphatau/native/sdl/src/video/khronos/vulkan/vulkan.h +6458 -0
  928. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmdyn.c +171 -0
  929. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmdyn.h +53 -0
  930. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmevents.c +42 -0
  931. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmevents.h +31 -0
  932. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmmouse.c +501 -0
  933. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmmouse.h +45 -0
  934. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmopengles.c +189 -0
  935. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmopengles.h +48 -0
  936. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmsym.h +99 -0
  937. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmvideo.c +664 -0
  938. data/ext/alphatau/native/sdl/src/video/kmsdrm/SDL_kmsdrmvideo.h +124 -0
  939. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirdyn.c +170 -0
  940. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirdyn.h +53 -0
  941. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirevents.c +321 -0
  942. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirevents.h +37 -0
  943. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirframebuffer.c +134 -0
  944. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirframebuffer.h +47 -0
  945. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirmouse.c +292 -0
  946. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirmouse.h +37 -0
  947. data/ext/alphatau/native/sdl/src/video/mir/SDL_miropengl.c +78 -0
  948. data/ext/alphatau/native/sdl/src/video/mir/SDL_miropengl.h +53 -0
  949. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirsym.h +143 -0
  950. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirvideo.c +423 -0
  951. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirvideo.h +49 -0
  952. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirvulkan.c +176 -0
  953. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirvulkan.h +52 -0
  954. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirwindow.c +374 -0
  955. data/ext/alphatau/native/sdl/src/video/mir/SDL_mirwindow.h +93 -0
  956. data/ext/alphatau/native/sdl/src/video/nacl/SDL_naclevents.c +438 -0
  957. data/ext/alphatau/native/sdl/src/video/nacl/SDL_naclevents_c.h +30 -0
  958. data/ext/alphatau/native/sdl/src/video/nacl/SDL_naclglue.c +24 -0
  959. data/ext/alphatau/native/sdl/src/video/nacl/SDL_naclopengles.c +174 -0
  960. data/ext/alphatau/native/sdl/src/video/nacl/SDL_naclopengles.h +38 -0
  961. data/ext/alphatau/native/sdl/src/video/nacl/SDL_naclvideo.c +183 -0
  962. data/ext/alphatau/native/sdl/src/video/nacl/SDL_naclvideo.h +67 -0
  963. data/ext/alphatau/native/sdl/src/video/nacl/SDL_naclwindow.c +79 -0
  964. data/ext/alphatau/native/sdl/src/video/nacl/SDL_naclwindow.h +32 -0
  965. data/ext/alphatau/native/sdl/src/video/pandora/SDL_pandora.c +838 -0
  966. data/ext/alphatau/native/sdl/src/video/pandora/SDL_pandora.h +101 -0
  967. data/ext/alphatau/native/sdl/src/video/pandora/SDL_pandora_events.c +38 -0
  968. data/ext/alphatau/native/sdl/src/video/pandora/SDL_pandora_events.h +25 -0
  969. data/ext/alphatau/native/sdl/src/video/psp/SDL_pspevents.c +290 -0
  970. data/ext/alphatau/native/sdl/src/video/psp/SDL_pspevents_c.h +31 -0
  971. data/ext/alphatau/native/sdl/src/video/psp/SDL_pspgl.c +210 -0
  972. data/ext/alphatau/native/sdl/src/video/psp/SDL_pspgl_c.h +54 -0
  973. data/ext/alphatau/native/sdl/src/video/psp/SDL_pspmouse.c +41 -0
  974. data/ext/alphatau/native/sdl/src/video/psp/SDL_pspmouse_c.h +24 -0
  975. data/ext/alphatau/native/sdl/src/video/psp/SDL_pspvideo.c +333 -0
  976. data/ext/alphatau/native/sdl/src/video/psp/SDL_pspvideo.h +102 -0
  977. data/ext/alphatau/native/sdl/src/video/qnx/gl.c +285 -0
  978. data/ext/alphatau/native/sdl/src/video/qnx/keyboard.c +133 -0
  979. data/ext/alphatau/native/sdl/src/video/qnx/sdl_qnx.h +48 -0
  980. data/ext/alphatau/native/sdl/src/video/qnx/video.c +364 -0
  981. data/ext/alphatau/native/sdl/src/video/raspberry/SDL_rpievents.c +45 -0
  982. data/ext/alphatau/native/sdl/src/video/raspberry/SDL_rpievents_c.h +31 -0
  983. data/ext/alphatau/native/sdl/src/video/raspberry/SDL_rpimouse.c +386 -0
  984. data/ext/alphatau/native/sdl/src/video/raspberry/SDL_rpimouse.h +43 -0
  985. data/ext/alphatau/native/sdl/src/video/raspberry/SDL_rpiopengles.c +71 -0
  986. data/ext/alphatau/native/sdl/src/video/raspberry/SDL_rpiopengles.h +49 -0
  987. data/ext/alphatau/native/sdl/src/video/raspberry/SDL_rpivideo.c +442 -0
  988. data/ext/alphatau/native/sdl/src/video/raspberry/SDL_rpivideo.h +104 -0
  989. data/ext/alphatau/native/sdl/src/video/sdlgenblit.pl +535 -0
  990. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitappdelegate.h +47 -0
  991. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitappdelegate.m +516 -0
  992. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitclipboard.h +35 -0
  993. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitclipboard.m +111 -0
  994. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitevents.h +30 -0
  995. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitevents.m +73 -0
  996. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitmessagebox.h +31 -0
  997. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitmessagebox.m +208 -0
  998. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitmetalview.h +58 -0
  999. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitmetalview.m +131 -0
  1000. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitmodes.h +54 -0
  1001. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitmodes.m +378 -0
  1002. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitopengles.h +40 -0
  1003. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitopengles.m +250 -0
  1004. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitopenglview.h +60 -0
  1005. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitopenglview.m +384 -0
  1006. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitvideo.h +46 -0
  1007. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitvideo.m +249 -0
  1008. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitview.h +41 -0
  1009. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitview.m +328 -0
  1010. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitviewcontroller.h +91 -0
  1011. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitviewcontroller.m +532 -0
  1012. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitvulkan.h +54 -0
  1013. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitvulkan.m +222 -0
  1014. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitwindow.h +56 -0
  1015. data/ext/alphatau/native/sdl/src/video/uikit/SDL_uikitwindow.m +465 -0
  1016. data/ext/alphatau/native/sdl/src/video/uikit/keyinfotable.h +174 -0
  1017. data/ext/alphatau/native/sdl/src/video/vivante/SDL_vivanteopengles.c +47 -0
  1018. data/ext/alphatau/native/sdl/src/video/vivante/SDL_vivanteopengles.h +48 -0
  1019. data/ext/alphatau/native/sdl/src/video/vivante/SDL_vivanteplatform.c +54 -0
  1020. data/ext/alphatau/native/sdl/src/video/vivante/SDL_vivanteplatform.h +47 -0
  1021. data/ext/alphatau/native/sdl/src/video/vivante/SDL_vivantevideo.c +409 -0
  1022. data/ext/alphatau/native/sdl/src/video/vivante/SDL_vivantevideo.h +91 -0
  1023. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandclipboard.c +123 -0
  1024. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandclipboard.h +32 -0
  1025. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylanddatamanager.c +468 -0
  1026. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylanddatamanager.h +103 -0
  1027. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylanddyn.c +178 -0
  1028. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylanddyn.h +107 -0
  1029. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandevents.c +1134 -0
  1030. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandevents_c.h +51 -0
  1031. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandmouse.c +396 -0
  1032. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandmouse.h +31 -0
  1033. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandopengles.c +93 -0
  1034. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandopengles.h +49 -0
  1035. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandsym.h +127 -0
  1036. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandtouch.c +265 -0
  1037. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandtouch.h +352 -0
  1038. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandvideo.c +517 -0
  1039. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandvideo.h +85 -0
  1040. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandvulkan.c +176 -0
  1041. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandvulkan.h +52 -0
  1042. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandwindow.c +684 -0
  1043. data/ext/alphatau/native/sdl/src/video/wayland/SDL_waylandwindow.h +88 -0
  1044. data/ext/alphatau/native/sdl/src/video/windows/SDL_msctf.h +242 -0
  1045. data/ext/alphatau/native/sdl/src/video/windows/SDL_vkeys.h +76 -0
  1046. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsclipboard.c +160 -0
  1047. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsclipboard.h +36 -0
  1048. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsevents.c +1229 -0
  1049. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsevents.h +36 -0
  1050. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsframebuffer.c +127 -0
  1051. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsframebuffer.h +27 -0
  1052. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowskeyboard.c +1579 -0
  1053. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowskeyboard.h +40 -0
  1054. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsmessagebox.c +905 -0
  1055. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsmessagebox.h +29 -0
  1056. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsmodes.c +407 -0
  1057. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsmodes.h +47 -0
  1058. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsmouse.c +322 -0
  1059. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsmouse.h +33 -0
  1060. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsopengl.c +895 -0
  1061. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsopengl.h +142 -0
  1062. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsopengles.c +131 -0
  1063. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsopengles.h +49 -0
  1064. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsshape.c +110 -0
  1065. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsshape.h +40 -0
  1066. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowstaskdialog.h +156 -0
  1067. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsvideo.c +442 -0
  1068. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsvideo.h +199 -0
  1069. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsvulkan.c +176 -0
  1070. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowsvulkan.h +52 -0
  1071. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowswindow.c +992 -0
  1072. data/ext/alphatau/native/sdl/src/video/windows/SDL_windowswindow.h +86 -0
  1073. data/ext/alphatau/native/sdl/src/video/windows/wmmsg.h +1052 -0
  1074. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtevents.cpp +154 -0
  1075. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtevents_c.h +82 -0
  1076. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtgamebar.cpp +196 -0
  1077. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtgamebar_cpp.h +35 -0
  1078. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtkeyboard.cpp +430 -0
  1079. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtmessagebox.cpp +112 -0
  1080. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtmessagebox.h +29 -0
  1081. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtmouse.cpp +224 -0
  1082. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtmouse_c.h +40 -0
  1083. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtopengles.cpp +203 -0
  1084. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtopengles.h +70 -0
  1085. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtpointerinput.cpp +415 -0
  1086. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtvideo.cpp +842 -0
  1087. data/ext/alphatau/native/sdl/src/video/winrt/SDL_winrtvideo_cpp.h +106 -0
  1088. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11clipboard.c +199 -0
  1089. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11clipboard.h +33 -0
  1090. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11dyn.c +212 -0
  1091. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11dyn.h +111 -0
  1092. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11events.c +1500 -0
  1093. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11events.h +31 -0
  1094. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11framebuffer.c +257 -0
  1095. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11framebuffer.h +31 -0
  1096. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11keyboard.c +543 -0
  1097. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11keyboard.h +36 -0
  1098. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11messagebox.c +853 -0
  1099. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11messagebox.h +28 -0
  1100. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11modes.c +1112 -0
  1101. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11modes.h +85 -0
  1102. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11mouse.c +448 -0
  1103. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11mouse.h +31 -0
  1104. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11opengl.c +946 -0
  1105. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11opengl.h +84 -0
  1106. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11opengles.c +109 -0
  1107. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11opengles.h +56 -0
  1108. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11shape.c +115 -0
  1109. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11shape.h +39 -0
  1110. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11sym.h +337 -0
  1111. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11touch.c +54 -0
  1112. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11touch.h +32 -0
  1113. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11video.c +497 -0
  1114. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11video.h +156 -0
  1115. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11vulkan.c +243 -0
  1116. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11vulkan.h +48 -0
  1117. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11window.c +1619 -0
  1118. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11window.h +111 -0
  1119. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11xinput2.c +313 -0
  1120. data/ext/alphatau/native/sdl/src/video/x11/SDL_x11xinput2.h +42 -0
  1121. data/ext/alphatau/native/sdl/src/video/x11/edid-parse.c +754 -0
  1122. data/ext/alphatau/native/sdl/src/video/x11/edid.h +167 -0
  1123. data/ext/alphatau/native/sdl/src/video/x11/imKStoUCS.c +350 -0
  1124. data/ext/alphatau/native/sdl/src/video/x11/imKStoUCS.h +32 -0
  1125. data/ext/alphatau/native/sdl/src/video/yuv2rgb/LICENSE +27 -0
  1126. data/ext/alphatau/native/sdl/src/video/yuv2rgb/README.md +63 -0
  1127. data/ext/alphatau/native/sdl/src/video/yuv2rgb/yuv_rgb.c +687 -0
  1128. data/ext/alphatau/native/sdl/src/video/yuv2rgb/yuv_rgb.h +381 -0
  1129. data/ext/alphatau/native/sdl/src/video/yuv2rgb/yuv_rgb_sse_func.h +498 -0
  1130. data/ext/alphatau/native/sdl/src/video/yuv2rgb/yuv_rgb_std_func.h +228 -0
  1131. data/ext/alphatau/native/sdl/test/CMakeLists.txt +122 -0
  1132. data/ext/alphatau/native/sdl/test/COPYING +8 -0
  1133. data/ext/alphatau/native/sdl/test/Makefile.in +328 -0
  1134. data/ext/alphatau/native/sdl/test/README +47 -0
  1135. data/ext/alphatau/native/sdl/test/acinclude.m4 +359 -0
  1136. data/ext/alphatau/native/sdl/test/aclocal.m4 +359 -0
  1137. data/ext/alphatau/native/sdl/test/autogen.sh +12 -0
  1138. data/ext/alphatau/native/sdl/test/axis.bmp +0 -0
  1139. data/ext/alphatau/native/sdl/test/button.bmp +0 -0
  1140. data/ext/alphatau/native/sdl/test/checkkeys.c +248 -0
  1141. data/ext/alphatau/native/sdl/test/configure +5124 -0
  1142. data/ext/alphatau/native/sdl/test/configure.in +191 -0
  1143. data/ext/alphatau/native/sdl/test/controllermap.bmp +0 -0
  1144. data/ext/alphatau/native/sdl/test/controllermap.c +781 -0
  1145. data/ext/alphatau/native/sdl/test/emscripten/joystick-pre.js +25 -0
  1146. data/ext/alphatau/native/sdl/test/gcc-fat.sh +110 -0
  1147. data/ext/alphatau/native/sdl/test/icon.bmp +0 -0
  1148. data/ext/alphatau/native/sdl/test/loopwave.c +179 -0
  1149. data/ext/alphatau/native/sdl/test/loopwavequeue.c +149 -0
  1150. data/ext/alphatau/native/sdl/test/moose.dat +0 -0
  1151. data/ext/alphatau/native/sdl/test/nacl/Makefile +63 -0
  1152. data/ext/alphatau/native/sdl/test/nacl/background.js +40 -0
  1153. data/ext/alphatau/native/sdl/test/nacl/common.js +474 -0
  1154. data/ext/alphatau/native/sdl/test/nacl/index.html +21 -0
  1155. data/ext/alphatau/native/sdl/test/nacl/manifest.json +22 -0
  1156. data/ext/alphatau/native/sdl/test/picture.xbm +14 -0
  1157. data/ext/alphatau/native/sdl/test/relative_mode.markdown +58 -0
  1158. data/ext/alphatau/native/sdl/test/sample.bmp +0 -0
  1159. data/ext/alphatau/native/sdl/test/sample.wav +0 -0
  1160. data/ext/alphatau/native/sdl/test/shapes/p01_shape24.bmp +0 -0
  1161. data/ext/alphatau/native/sdl/test/shapes/p01_shape32alpha.bmp +0 -0
  1162. data/ext/alphatau/native/sdl/test/shapes/p01_shape8.bmp +0 -0
  1163. data/ext/alphatau/native/sdl/test/shapes/p02_shape24.bmp +0 -0
  1164. data/ext/alphatau/native/sdl/test/shapes/p02_shape32alpha.bmp +0 -0
  1165. data/ext/alphatau/native/sdl/test/shapes/p02_shape8.bmp +0 -0
  1166. data/ext/alphatau/native/sdl/test/shapes/p03_shape24.bmp +0 -0
  1167. data/ext/alphatau/native/sdl/test/shapes/p03_shape8.bmp +0 -0
  1168. data/ext/alphatau/native/sdl/test/shapes/p04_shape1.bmp +0 -0
  1169. data/ext/alphatau/native/sdl/test/shapes/p04_shape24.bmp +0 -0
  1170. data/ext/alphatau/native/sdl/test/shapes/p04_shape32alpha.bmp +0 -0
  1171. data/ext/alphatau/native/sdl/test/shapes/p04_shape8.bmp +0 -0
  1172. data/ext/alphatau/native/sdl/test/shapes/p05_shape8.bmp +0 -0
  1173. data/ext/alphatau/native/sdl/test/shapes/p06_shape1alpha.bmp +0 -0
  1174. data/ext/alphatau/native/sdl/test/shapes/p06_shape24.bmp +0 -0
  1175. data/ext/alphatau/native/sdl/test/shapes/p06_shape32alpha.bmp +0 -0
  1176. data/ext/alphatau/native/sdl/test/shapes/p06_shape8.bmp +0 -0
  1177. data/ext/alphatau/native/sdl/test/shapes/p07_shape24.bmp +0 -0
  1178. data/ext/alphatau/native/sdl/test/shapes/p07_shape32alpha.bmp +0 -0
  1179. data/ext/alphatau/native/sdl/test/shapes/p07_shape8.bmp +0 -0
  1180. data/ext/alphatau/native/sdl/test/shapes/p08_shape24.bmp +0 -0
  1181. data/ext/alphatau/native/sdl/test/shapes/p08_shape32alpha.bmp +0 -0
  1182. data/ext/alphatau/native/sdl/test/shapes/p08_shape8.bmp +0 -0
  1183. data/ext/alphatau/native/sdl/test/shapes/p09_shape24.bmp +0 -0
  1184. data/ext/alphatau/native/sdl/test/shapes/p09_shape32alpha.bmp +0 -0
  1185. data/ext/alphatau/native/sdl/test/shapes/p09_shape8.bmp +0 -0
  1186. data/ext/alphatau/native/sdl/test/shapes/p10_shape1.bmp +0 -0
  1187. data/ext/alphatau/native/sdl/test/shapes/p10_shape24.bmp +0 -0
  1188. data/ext/alphatau/native/sdl/test/shapes/p10_shape32alpha.bmp +0 -0
  1189. data/ext/alphatau/native/sdl/test/shapes/p10_shape8.bmp +0 -0
  1190. data/ext/alphatau/native/sdl/test/shapes/p11_shape24.bmp +0 -0
  1191. data/ext/alphatau/native/sdl/test/shapes/p11_shape32alpha.bmp +0 -0
  1192. data/ext/alphatau/native/sdl/test/shapes/p11_shape8.bmp +0 -0
  1193. data/ext/alphatau/native/sdl/test/shapes/p12_shape24.bmp +0 -0
  1194. data/ext/alphatau/native/sdl/test/shapes/p12_shape8.bmp +0 -0
  1195. data/ext/alphatau/native/sdl/test/shapes/p13_shape24.bmp +0 -0
  1196. data/ext/alphatau/native/sdl/test/shapes/p13_shape32alpha.bmp +0 -0
  1197. data/ext/alphatau/native/sdl/test/shapes/p13_shape8.bmp +0 -0
  1198. data/ext/alphatau/native/sdl/test/shapes/p14_shape24.bmp +0 -0
  1199. data/ext/alphatau/native/sdl/test/shapes/p14_shape8.bmp +0 -0
  1200. data/ext/alphatau/native/sdl/test/shapes/p15_shape24.bmp +0 -0
  1201. data/ext/alphatau/native/sdl/test/shapes/p15_shape32alpha.bmp +0 -0
  1202. data/ext/alphatau/native/sdl/test/shapes/p15_shape8.bmp +0 -0
  1203. data/ext/alphatau/native/sdl/test/shapes/p16_shape1.bmp +0 -0
  1204. data/ext/alphatau/native/sdl/test/shapes/p16_shape24.bmp +0 -0
  1205. data/ext/alphatau/native/sdl/test/shapes/p16_shape8.bmp +0 -0
  1206. data/ext/alphatau/native/sdl/test/shapes/trollface_24.bmp +0 -0
  1207. data/ext/alphatau/native/sdl/test/shapes/trollface_32alpha.bmp +0 -0
  1208. data/ext/alphatau/native/sdl/test/testatomic.c +727 -0
  1209. data/ext/alphatau/native/sdl/test/testaudiocapture.c +165 -0
  1210. data/ext/alphatau/native/sdl/test/testaudiohotplug.c +203 -0
  1211. data/ext/alphatau/native/sdl/test/testaudioinfo.c +74 -0
  1212. data/ext/alphatau/native/sdl/test/testautomation.c +124 -0
  1213. data/ext/alphatau/native/sdl/test/testautomation_audio.c +1038 -0
  1214. data/ext/alphatau/native/sdl/test/testautomation_clipboard.c +184 -0
  1215. data/ext/alphatau/native/sdl/test/testautomation_events.c +201 -0
  1216. data/ext/alphatau/native/sdl/test/testautomation_hints.c +168 -0
  1217. data/ext/alphatau/native/sdl/test/testautomation_keyboard.c +713 -0
  1218. data/ext/alphatau/native/sdl/test/testautomation_main.c +157 -0
  1219. data/ext/alphatau/native/sdl/test/testautomation_mouse.c +606 -0
  1220. data/ext/alphatau/native/sdl/test/testautomation_pixels.c +529 -0
  1221. data/ext/alphatau/native/sdl/test/testautomation_platform.c +584 -0
  1222. data/ext/alphatau/native/sdl/test/testautomation_rect.c +1696 -0
  1223. data/ext/alphatau/native/sdl/test/testautomation_render.c +1099 -0
  1224. data/ext/alphatau/native/sdl/test/testautomation_rwops.c +748 -0
  1225. data/ext/alphatau/native/sdl/test/testautomation_sdltest.c +1319 -0
  1226. data/ext/alphatau/native/sdl/test/testautomation_stdlib.c +319 -0
  1227. data/ext/alphatau/native/sdl/test/testautomation_suites.h +54 -0
  1228. data/ext/alphatau/native/sdl/test/testautomation_surface.c +647 -0
  1229. data/ext/alphatau/native/sdl/test/testautomation_syswm.c +61 -0
  1230. data/ext/alphatau/native/sdl/test/testautomation_timer.c +201 -0
  1231. data/ext/alphatau/native/sdl/test/testautomation_video.c +1811 -0
  1232. data/ext/alphatau/native/sdl/test/testbounds.c +40 -0
  1233. data/ext/alphatau/native/sdl/test/testcustomcursor.c +259 -0
  1234. data/ext/alphatau/native/sdl/test/testdisplayinfo.c +96 -0
  1235. data/ext/alphatau/native/sdl/test/testdraw2.c +305 -0
  1236. data/ext/alphatau/native/sdl/test/testdrawchessboard.c +147 -0
  1237. data/ext/alphatau/native/sdl/test/testdropfile.c +98 -0
  1238. data/ext/alphatau/native/sdl/test/testerror.c +76 -0
  1239. data/ext/alphatau/native/sdl/test/testfile.c +283 -0
  1240. data/ext/alphatau/native/sdl/test/testfilesystem.c +60 -0
  1241. data/ext/alphatau/native/sdl/test/testgamecontroller.c +375 -0
  1242. data/ext/alphatau/native/sdl/test/testgesture.c +309 -0
  1243. data/ext/alphatau/native/sdl/test/testgl2.c +416 -0
  1244. data/ext/alphatau/native/sdl/test/testgles.c +355 -0
  1245. data/ext/alphatau/native/sdl/test/testgles2.c +732 -0
  1246. data/ext/alphatau/native/sdl/test/testhaptic.c +369 -0
  1247. data/ext/alphatau/native/sdl/test/testhittesting.c +134 -0
  1248. data/ext/alphatau/native/sdl/test/testhotplug.c +162 -0
  1249. data/ext/alphatau/native/sdl/test/testiconv.c +88 -0
  1250. data/ext/alphatau/native/sdl/test/testime.c +801 -0
  1251. data/ext/alphatau/native/sdl/test/testintersections.c +363 -0
  1252. data/ext/alphatau/native/sdl/test/testjoystick.c +387 -0
  1253. data/ext/alphatau/native/sdl/test/testkeys.c +40 -0
  1254. data/ext/alphatau/native/sdl/test/testloadso.c +82 -0
  1255. data/ext/alphatau/native/sdl/test/testlock.c +128 -0
  1256. data/ext/alphatau/native/sdl/test/testmessage.c +193 -0
  1257. data/ext/alphatau/native/sdl/test/testmultiaudio.c +199 -0
  1258. data/ext/alphatau/native/sdl/test/testnative.c +237 -0
  1259. data/ext/alphatau/native/sdl/test/testnative.h +46 -0
  1260. data/ext/alphatau/native/sdl/test/testnativecocoa.m +51 -0
  1261. data/ext/alphatau/native/sdl/test/testnativew32.c +86 -0
  1262. data/ext/alphatau/native/sdl/test/testnativex11.c +53 -0
  1263. data/ext/alphatau/native/sdl/test/testoverlay2.c +408 -0
  1264. data/ext/alphatau/native/sdl/test/testplatform.c +442 -0
  1265. data/ext/alphatau/native/sdl/test/testpower.c +80 -0
  1266. data/ext/alphatau/native/sdl/test/testqsort.c +108 -0
  1267. data/ext/alphatau/native/sdl/test/testrelative.c +126 -0
  1268. data/ext/alphatau/native/sdl/test/testrendercopyex.c +233 -0
  1269. data/ext/alphatau/native/sdl/test/testrendertarget.c +335 -0
  1270. data/ext/alphatau/native/sdl/test/testresample.c +120 -0
  1271. data/ext/alphatau/native/sdl/test/testrumble.c +153 -0
  1272. data/ext/alphatau/native/sdl/test/testscale.c +224 -0
  1273. data/ext/alphatau/native/sdl/test/testsem.c +130 -0
  1274. data/ext/alphatau/native/sdl/test/testsensor.c +117 -0
  1275. data/ext/alphatau/native/sdl/test/testshader.c +500 -0
  1276. data/ext/alphatau/native/sdl/test/testshape.c +200 -0
  1277. data/ext/alphatau/native/sdl/test/testsprite2.c +409 -0
  1278. data/ext/alphatau/native/sdl/test/testspriteminimal.c +194 -0
  1279. data/ext/alphatau/native/sdl/test/teststreaming.c +190 -0
  1280. data/ext/alphatau/native/sdl/test/testthread.c +130 -0
  1281. data/ext/alphatau/native/sdl/test/testtimer.c +122 -0
  1282. data/ext/alphatau/native/sdl/test/testver.c +47 -0
  1283. data/ext/alphatau/native/sdl/test/testviewport.c +217 -0
  1284. data/ext/alphatau/native/sdl/test/testvulkan.c +1201 -0
  1285. data/ext/alphatau/native/sdl/test/testwm2.c +174 -0
  1286. data/ext/alphatau/native/sdl/test/testyuv.bmp +0 -0
  1287. data/ext/alphatau/native/sdl/test/testyuv.c +455 -0
  1288. data/ext/alphatau/native/sdl/test/testyuv_cvt.c +300 -0
  1289. data/ext/alphatau/native/sdl/test/testyuv_cvt.h +16 -0
  1290. data/ext/alphatau/native/sdl/test/torturethread.c +113 -0
  1291. data/ext/alphatau/native/sdl/test/utf8.txt +287 -0
  1292. data/ext/alphatau/native/sdl/visualtest/COPYING.txt +18 -0
  1293. data/ext/alphatau/native/sdl/visualtest/Makefile.in +37 -0
  1294. data/ext/alphatau/native/sdl/visualtest/README.txt +214 -0
  1295. data/ext/alphatau/native/sdl/visualtest/acinclude.m4 +359 -0
  1296. data/ext/alphatau/native/sdl/visualtest/autogen.sh +12 -0
  1297. data/ext/alphatau/native/sdl/visualtest/compile +1 -0
  1298. data/ext/alphatau/native/sdl/visualtest/config.h +23 -0
  1299. data/ext/alphatau/native/sdl/visualtest/config.h.in +22 -0
  1300. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_blendmodes/testsprite2_blendmodes.actions +3 -0
  1301. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_blendmodes/testsprite2_blendmodes.config +5 -0
  1302. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_blendmodes/testsprite2_blendmodes.parameters +5 -0
  1303. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_crashtest/testsprite2_crashtest.actions +1 -0
  1304. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_crashtest/testsprite2_crashtest.config +5 -0
  1305. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_crashtest/testsprite2_crashtest.parameters +24 -0
  1306. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_fullscreen/testsprite2_fullscreen.actions +3 -0
  1307. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_fullscreen/testsprite2_fullscreen.config +5 -0
  1308. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_fullscreen/testsprite2_fullscreen.parameters +5 -0
  1309. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_geometry/testsprite2_geometry.actions +3 -0
  1310. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_geometry/testsprite2_geometry.config +5 -0
  1311. data/ext/alphatau/native/sdl/visualtest/configs/testsprite2_geometry/testsprite2_geometry.parameters +5 -0
  1312. data/ext/alphatau/native/sdl/visualtest/configure +5203 -0
  1313. data/ext/alphatau/native/sdl/visualtest/configure.in +166 -0
  1314. data/ext/alphatau/native/sdl/visualtest/depcomp +1 -0
  1315. data/ext/alphatau/native/sdl/visualtest/docs/Doxyfile +1936 -0
  1316. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_action_configparser.h +149 -0
  1317. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_exhaustive_variator.h +64 -0
  1318. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_harness_argparser.h +75 -0
  1319. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_mischelper.h +28 -0
  1320. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_parsehelper.h +46 -0
  1321. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_process.h +112 -0
  1322. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_random_variator.h +61 -0
  1323. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_rwhelper.h +87 -0
  1324. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_screenshot.h +52 -0
  1325. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_sut_configparser.h +105 -0
  1326. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_variator_common.h +122 -0
  1327. data/ext/alphatau/native/sdl/visualtest/include/SDL_visualtest_variators.h +66 -0
  1328. data/ext/alphatau/native/sdl/visualtest/install-sh +1 -0
  1329. data/ext/alphatau/native/sdl/visualtest/launch_harness.cmd +2 -0
  1330. data/ext/alphatau/native/sdl/visualtest/launch_harness.sh +6 -0
  1331. data/ext/alphatau/native/sdl/visualtest/missing +1 -0
  1332. data/ext/alphatau/native/sdl/visualtest/src/action_configparser.c +396 -0
  1333. data/ext/alphatau/native/sdl/visualtest/src/harness_argparser.c +358 -0
  1334. data/ext/alphatau/native/sdl/visualtest/src/linux/linux_process.c +199 -0
  1335. data/ext/alphatau/native/sdl/visualtest/src/mischelper.c +28 -0
  1336. data/ext/alphatau/native/sdl/visualtest/src/parsehelper.c +231 -0
  1337. data/ext/alphatau/native/sdl/visualtest/src/rwhelper.c +131 -0
  1338. data/ext/alphatau/native/sdl/visualtest/src/screenshot.c +136 -0
  1339. data/ext/alphatau/native/sdl/visualtest/src/sut_configparser.c +232 -0
  1340. data/ext/alphatau/native/sdl/visualtest/src/testharness.c +533 -0
  1341. data/ext/alphatau/native/sdl/visualtest/src/variator_common.c +225 -0
  1342. data/ext/alphatau/native/sdl/visualtest/src/variator_exhaustive.c +132 -0
  1343. data/ext/alphatau/native/sdl/visualtest/src/variator_random.c +111 -0
  1344. data/ext/alphatau/native/sdl/visualtest/src/variators.c +93 -0
  1345. data/ext/alphatau/native/sdl/visualtest/src/windows/windows_process.c +284 -0
  1346. data/ext/alphatau/native/sdl/visualtest/src/windows/windows_screenshot.c +349 -0
  1347. data/ext/alphatau/native/sdl/visualtest/stamp-h1 +1 -0
  1348. data/ext/alphatau/native/sdl/visualtest/testsprite2_sample.actions +3 -0
  1349. data/ext/alphatau/native/sdl/visualtest/testsprite2_sample.config +6 -0
  1350. data/ext/alphatau/native/sdl/visualtest/testsprite2_sample.parameters +29 -0
  1351. data/ext/alphatau/native/sdl/visualtest/unittest/testquit.actions +1 -0
  1352. data/ext/alphatau/native/sdl/visualtest/unittest/testquit.c +101 -0
  1353. data/ext/alphatau/native/sdl/visualtest/unittest/testquit.config +5 -0
  1354. data/ext/alphatau/native/sdl/visualtest/unittest/testquit.parameters +3 -0
  1355. data/ext/alphatau/native/sdl/wayland-protocols/pointer-constraints-unstable-v1.xml +339 -0
  1356. data/ext/alphatau/native/sdl/wayland-protocols/relative-pointer-unstable-v1.xml +136 -0
  1357. data/ext/alphatau/native/sdl/wayland-protocols/wayland.xml +2746 -0
  1358. data/ext/alphatau/native/sdl/wayland-protocols/xdg-shell-unstable-v6.xml +1044 -0
  1359. data/ext/alphatau/native/sdl/wayland-protocols/xdg-shell.xml +1120 -0
  1360. data/lib/alphatau.rb +12 -0
  1361. data/lib/alphatau/version.rb +3 -0
  1362. metadata +1465 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 0f30c3cb17d48c62f65c20bffc6796e3f9482668f69e8d7b606557e75f1b870c
4
+ data.tar.gz: 4a29ec84e22ca99170bf4b55e3f2f06840ec63d00e08c0acc0239bfa041bb006
5
+ SHA512:
6
+ metadata.gz: ee8345fd2baa2eb23fd9c3880ae7c344b4bb71df3af8e2daaa74c52978e0a5570ac845866fbbbb9a89f518341563963fe77e61f5ef7c69fe116d72e90b402cc3
7
+ data.tar.gz: 61ef00d85fbbf0b1a4330dbcf78ce69d21e98f6601ae7d26ac319d09096004ee83170d11ce912bc308faf5ae454c485db3f8dc04ad1d28ee34f146b84ae68ea9
@@ -0,0 +1,11 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+ require 'rake/extensiontask'
4
+
5
+ Rake::ExtensionTask.new 'alphatau/native' do |ext|
6
+ ext.lib_dir = 'lib'
7
+ end
8
+
9
+ RSpec::Core::RakeTask.new(:spec)
10
+
11
+ task default: :spec
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'alphatau'
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require 'irb'
14
+ IRB.start(__FILE__)
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,141 @@
1
+ #include <ruby.h>
2
+ #include <SDL.h>
3
+
4
+ typedef VALUE(*RubyAllocator)(VALUE);
5
+ typedef VALUE(*RubyMethod)(ANYARGS);
6
+
7
+ template<typename T>
8
+ struct Info
9
+ {
10
+ T* info;
11
+
12
+ static void free_info(void *p)
13
+ {
14
+ Info* ptr = (Info*)p;
15
+ delete ptr->info;
16
+ ptr->info = NULL;
17
+ }
18
+
19
+ static VALUE alloc_info(VALUE klass)
20
+ {
21
+ VALUE obj;
22
+ Info* ptr;
23
+
24
+ obj = Data_Make_Struct(klass, Info, NULL, free_info, ptr);
25
+
26
+ return obj;
27
+ }
28
+
29
+ static VALUE init_info(VALUE self)
30
+ {
31
+ Info* ptr;
32
+
33
+ Data_Get_Struct(self, Info, ptr);
34
+ ptr->info = new T;
35
+
36
+ return self;
37
+ }
38
+
39
+ };
40
+
41
+ class NativeInfo
42
+ {
43
+ public:
44
+ NativeInfo()
45
+ {
46
+ SDL_Init(SDL_INIT_EVERYTHING);
47
+ }
48
+
49
+ int version()
50
+ {
51
+ return SDL_COMPILEDVERSION;
52
+ }
53
+
54
+ ~NativeInfo()
55
+ {
56
+ SDL_Quit();
57
+ }
58
+
59
+ static VALUE rb_version(VALUE self)
60
+ {
61
+ Info<NativeInfo>* ptr;
62
+
63
+ Data_Get_Struct(self, Info<NativeInfo>, ptr);
64
+ return INT2NUM( ptr->info->version() );
65
+ }
66
+ };
67
+
68
+ class WindowInfo
69
+ {
70
+ bool running;
71
+ public:
72
+ WindowInfo() : running(false)
73
+ {
74
+ }
75
+
76
+ ~WindowInfo()
77
+ {
78
+ }
79
+
80
+ void start()
81
+ {
82
+ SDL_Window* window;
83
+ SDL_Renderer* renderer;
84
+
85
+ SDL_CreateWindowAndRenderer(800,
86
+ 600,
87
+ SDL_WINDOW_RESIZABLE,
88
+ &window,
89
+ &renderer);
90
+
91
+ running = true;
92
+ SDL_Event event;
93
+ while (running) {
94
+ SDL_PollEvent(&event);
95
+ if (event.type == SDL_QUIT) {
96
+ running = false;
97
+ break;
98
+ }
99
+ SDL_SetRenderDrawColor(renderer, 0x00, 0x00, 0x00, 0x00);
100
+ SDL_RenderClear(renderer);
101
+ SDL_RenderPresent(renderer);
102
+ }
103
+
104
+ SDL_DestroyRenderer(renderer);
105
+ SDL_DestroyWindow(window);
106
+ }
107
+
108
+ static VALUE rb_start(VALUE self)
109
+ {
110
+ Info<WindowInfo>* ptr;
111
+
112
+ Data_Get_Struct(self, Info<WindowInfo>, ptr);
113
+ ptr->info->start();
114
+ return self;
115
+ }
116
+ };
117
+
118
+ template<typename TClass>
119
+ void bind_class(VALUE klass)
120
+ {
121
+ rb_define_alloc_func(klass, (RubyAllocator)&Info<TClass>::alloc_info);
122
+ rb_define_method(klass, "initialize", (RubyMethod)&Info<TClass>::init_info, 0);
123
+ }
124
+
125
+ extern "C"
126
+ void Init_native(void)
127
+ {
128
+ VALUE mAlphatau;
129
+ VALUE cNative;
130
+ VALUE cWindow;
131
+
132
+ mAlphatau = rb_define_module("Alphatau");
133
+ cNative = rb_define_class_under(mAlphatau, "Native", rb_cObject);
134
+ cWindow = rb_define_class_under(cNative, "Window", rb_cObject);
135
+
136
+ bind_class<NativeInfo>(cNative);
137
+ rb_define_method(cNative, "version", (RubyMethod)&NativeInfo::rb_version, 0);
138
+
139
+ bind_class<WindowInfo>(cWindow);
140
+ rb_define_method(cWindow, "start", (RubyMethod)&WindowInfo::rb_start, 0);
141
+ }
@@ -0,0 +1,18 @@
1
+ require 'mkmf'
2
+
3
+ ext_name = 'native'
4
+
5
+ dir_config('alphatau/native')
6
+
7
+ system("cd #{$srcdir}/sdl && ./configure --prefix=`pwd` --enable-shared=no && make install")
8
+
9
+ required_funcs = %w[]
10
+
11
+ $CPPFLAGS << ' ' + `#{$srcdir}/sdl/bin/sdl2-config --cflags`.chomp
12
+ $LDFLAGS << ' ' + `#{$srcdir}/sdl/bin/sdl2-config --static-libs`.chomp
13
+
14
+ required_funcs.each do |funcname|
15
+ abort "missing #{funcname}()" unless have_func funcname
16
+ end
17
+
18
+ create_makefile ext_name
@@ -0,0 +1,110 @@
1
+ LOCAL_PATH := $(call my-dir)
2
+
3
+ ###########################
4
+ #
5
+ # SDL shared library
6
+ #
7
+ ###########################
8
+
9
+ include $(CLEAR_VARS)
10
+
11
+ LOCAL_MODULE := SDL2
12
+
13
+ LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
14
+
15
+ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_C_INCLUDES)
16
+
17
+ LOCAL_SRC_FILES := \
18
+ $(subst $(LOCAL_PATH)/,, \
19
+ $(wildcard $(LOCAL_PATH)/src/*.c) \
20
+ $(wildcard $(LOCAL_PATH)/src/audio/*.c) \
21
+ $(wildcard $(LOCAL_PATH)/src/audio/android/*.c) \
22
+ $(wildcard $(LOCAL_PATH)/src/audio/dummy/*.c) \
23
+ $(LOCAL_PATH)/src/atomic/SDL_atomic.c.arm \
24
+ $(LOCAL_PATH)/src/atomic/SDL_spinlock.c.arm \
25
+ $(wildcard $(LOCAL_PATH)/src/core/android/*.c) \
26
+ $(wildcard $(LOCAL_PATH)/src/cpuinfo/*.c) \
27
+ $(wildcard $(LOCAL_PATH)/src/dynapi/*.c) \
28
+ $(wildcard $(LOCAL_PATH)/src/events/*.c) \
29
+ $(wildcard $(LOCAL_PATH)/src/file/*.c) \
30
+ $(wildcard $(LOCAL_PATH)/src/haptic/*.c) \
31
+ $(wildcard $(LOCAL_PATH)/src/haptic/android/*.c) \
32
+ $(wildcard $(LOCAL_PATH)/src/joystick/*.c) \
33
+ $(wildcard $(LOCAL_PATH)/src/joystick/android/*.c) \
34
+ $(wildcard $(LOCAL_PATH)/src/joystick/hidapi/*.c) \
35
+ $(wildcard $(LOCAL_PATH)/src/loadso/dlopen/*.c) \
36
+ $(wildcard $(LOCAL_PATH)/src/power/*.c) \
37
+ $(wildcard $(LOCAL_PATH)/src/power/android/*.c) \
38
+ $(wildcard $(LOCAL_PATH)/src/filesystem/android/*.c) \
39
+ $(wildcard $(LOCAL_PATH)/src/sensor/*.c) \
40
+ $(wildcard $(LOCAL_PATH)/src/sensor/android/*.c) \
41
+ $(wildcard $(LOCAL_PATH)/src/render/*.c) \
42
+ $(wildcard $(LOCAL_PATH)/src/render/*/*.c) \
43
+ $(wildcard $(LOCAL_PATH)/src/stdlib/*.c) \
44
+ $(wildcard $(LOCAL_PATH)/src/thread/*.c) \
45
+ $(wildcard $(LOCAL_PATH)/src/thread/pthread/*.c) \
46
+ $(wildcard $(LOCAL_PATH)/src/timer/*.c) \
47
+ $(wildcard $(LOCAL_PATH)/src/timer/unix/*.c) \
48
+ $(wildcard $(LOCAL_PATH)/src/video/*.c) \
49
+ $(wildcard $(LOCAL_PATH)/src/video/android/*.c) \
50
+ $(wildcard $(LOCAL_PATH)/src/video/yuv2rgb/*.c) \
51
+ $(wildcard $(LOCAL_PATH)/src/test/*.c))
52
+
53
+ LOCAL_SHARED_LIBRARIES := hidapi
54
+
55
+ LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES
56
+ LOCAL_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -llog -landroid
57
+
58
+ ifeq ($(NDK_DEBUG),1)
59
+ cmd-strip :=
60
+ endif
61
+
62
+ include $(BUILD_SHARED_LIBRARY)
63
+
64
+ ###########################
65
+ #
66
+ # SDL static library
67
+ #
68
+ ###########################
69
+
70
+ LOCAL_MODULE := SDL2_static
71
+
72
+ LOCAL_MODULE_FILENAME := libSDL2
73
+
74
+ LOCAL_LDLIBS :=
75
+ LOCAL_EXPORT_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -llog -landroid
76
+
77
+ include $(BUILD_STATIC_LIBRARY)
78
+
79
+ ###########################
80
+ #
81
+ # SDL main static library
82
+ #
83
+ ###########################
84
+
85
+ include $(CLEAR_VARS)
86
+
87
+ LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
88
+
89
+ LOCAL_MODULE := SDL2_main
90
+
91
+ LOCAL_MODULE_FILENAME := libSDL2main
92
+
93
+ include $(BUILD_STATIC_LIBRARY)
94
+
95
+ ###########################
96
+ #
97
+ # hidapi library
98
+ #
99
+ ###########################
100
+
101
+ include $(CLEAR_VARS)
102
+
103
+ LOCAL_CPPFLAGS += -std=c++11
104
+
105
+ LOCAL_SRC_FILES := $(LOCAL_PATH)/src/hidapi/android/hid.cpp
106
+
107
+ LOCAL_MODULE := libhidapi
108
+ LOCAL_LDLIBS := -llog
109
+
110
+ include $(BUILD_SHARED_LIBRARY)
@@ -0,0 +1,16 @@
1
+
2
+ Bugs are now managed in the SDL bug tracker, here:
3
+
4
+ https://bugzilla.libsdl.org/
5
+
6
+ You may report bugs there, and search to see if a given issue has already
7
+ been reported, discussed, and maybe even fixed.
8
+
9
+
10
+ You may also find help at the SDL forums/mailing list:
11
+
12
+ https://discourse.libsdl.org/
13
+
14
+ Bug reports are welcome here, but we really appreciate if you use Bugzilla, as
15
+ bugs discussed on the mailing list may be forgotten or missed.
16
+
@@ -0,0 +1,1877 @@
1
+ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
2
+ message(FATAL_ERROR "Prevented in-tree built. Please create a build directory outside of the SDL source code and call cmake from there")
3
+ endif()
4
+
5
+ cmake_minimum_required(VERSION 2.8.11)
6
+ project(SDL2 C)
7
+
8
+ # !!! FIXME: this should probably do "MACOSX_RPATH ON" as a target property
9
+ # !!! FIXME: for the SDL2 shared library (so you get an
10
+ # !!! FIXME: install_name ("soname") of "@rpath/libSDL-whatever.dylib"
11
+ # !!! FIXME: instead of "/usr/local/lib/libSDL-whatever.dylib"), but I'm
12
+ # !!! FIXME: punting for now and leaving the existing behavior. Until this
13
+ # !!! FIXME: properly resolved, this line silences a warning in CMake 3.0+.
14
+ # !!! FIXME: remove it and this comment entirely once the problem is
15
+ # !!! FIXME: properly resolved.
16
+ #cmake_policy(SET CMP0042 OLD)
17
+
18
+ include(CheckFunctionExists)
19
+ include(CheckLibraryExists)
20
+ include(CheckIncludeFiles)
21
+ include(CheckIncludeFile)
22
+ include(CheckSymbolExists)
23
+ include(CheckCSourceCompiles)
24
+ include(CheckCSourceRuns)
25
+ include(CheckCCompilerFlag)
26
+ include(CheckTypeSize)
27
+ include(CheckStructHasMember)
28
+ include(CMakeDependentOption)
29
+ include(FindPkgConfig)
30
+ include(GNUInstallDirs)
31
+ set(CMAKE_MODULE_PATH "${SDL2_SOURCE_DIR}/cmake")
32
+ include(${SDL2_SOURCE_DIR}/cmake/macros.cmake)
33
+ include(${SDL2_SOURCE_DIR}/cmake/sdlchecks.cmake)
34
+
35
+ # General settings
36
+ # Edit include/SDL_version.h and change the version, then:
37
+ # SDL_MICRO_VERSION += 1;
38
+ # SDL_INTERFACE_AGE += 1;
39
+ # SDL_BINARY_AGE += 1;
40
+ # if any functions have been added, set SDL_INTERFACE_AGE to 0.
41
+ # if backwards compatibility has been broken,
42
+ # set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0.
43
+ set(SDL_MAJOR_VERSION 2)
44
+ set(SDL_MINOR_VERSION 0)
45
+ set(SDL_MICRO_VERSION 8)
46
+ set(SDL_INTERFACE_AGE 0)
47
+ set(SDL_BINARY_AGE 8)
48
+ set(SDL_VERSION "${SDL_MAJOR_VERSION}.${SDL_MINOR_VERSION}.${SDL_MICRO_VERSION}")
49
+
50
+ # Set defaults preventing destination file conflicts
51
+ set(SDL_CMAKE_DEBUG_POSTFIX "d"
52
+ CACHE STRING "Name suffix for debug builds")
53
+
54
+ mark_as_advanced(CMAKE_IMPORT_LIBRARY_SUFFIX SDL_CMAKE_DEBUG_POSTFIX)
55
+
56
+ # Calculate a libtool-like version number
57
+ math(EXPR LT_CURRENT "${SDL_MICRO_VERSION} - ${SDL_INTERFACE_AGE}")
58
+ math(EXPR LT_AGE "${SDL_BINARY_AGE} - ${SDL_INTERFACE_AGE}")
59
+ math(EXPR LT_MAJOR "${LT_CURRENT}- ${LT_AGE}")
60
+ set(LT_REVISION "${SDL_INTERFACE_AGE}")
61
+ set(LT_RELEASE "${SDL_MAJOR_VERSION}.${SDL_MINOR_VERSION}")
62
+ set(LT_VERSION "${LT_MAJOR}.${LT_AGE}.${LT_REVISION}")
63
+
64
+ message(STATUS "${LT_VERSION} :: ${LT_AGE} :: ${LT_REVISION} :: ${LT_CURRENT} :: ${LT_RELEASE}")
65
+
66
+ # General settings & flags
67
+ set(LIBRARY_OUTPUT_DIRECTORY "build")
68
+ # Check for 64 or 32 bit
69
+ set(SIZEOF_VOIDP ${CMAKE_SIZEOF_VOID_P})
70
+ if(CMAKE_SIZEOF_VOID_P EQUAL 8)
71
+ set(ARCH_64 TRUE)
72
+ set(PROCESSOR_ARCH "x64")
73
+ else()
74
+ set(ARCH_64 FALSE)
75
+ set(PROCESSOR_ARCH "x86")
76
+ endif()
77
+ set(LIBNAME SDL2)
78
+ if(NOT LIBTYPE)
79
+ set(LIBTYPE SHARED)
80
+ endif()
81
+
82
+ # Get the platform
83
+ if(WIN32)
84
+ if(NOT WINDOWS)
85
+ set(WINDOWS TRUE)
86
+ endif()
87
+ elseif(UNIX AND NOT APPLE)
88
+ if(CMAKE_SYSTEM_NAME MATCHES ".*Linux")
89
+ set(LINUX TRUE)
90
+ elseif(CMAKE_SYSTEM_NAME MATCHES "kFreeBSD.*")
91
+ set(FREEBSD TRUE)
92
+ elseif(CMAKE_SYSTEM_NAME MATCHES "kNetBSD.*|NetBSD.*")
93
+ set(NETBSD TRUE)
94
+ elseif(CMAKE_SYSTEM_NAME MATCHES "kOpenBSD.*|OpenBSD.*")
95
+ set(OPENBSD TRUE)
96
+ elseif(CMAKE_SYSTEM_NAME MATCHES ".*GNU.*")
97
+ set(GNU TRUE)
98
+ elseif(CMAKE_SYSTEM_NAME MATCHES ".*BSDI.*")
99
+ set(BSDI TRUE)
100
+ elseif(CMAKE_SYSTEM_NAME MATCHES "DragonFly.*|FreeBSD")
101
+ set(FREEBSD TRUE)
102
+ elseif(CMAKE_SYSTEM_NAME MATCHES "SYSV5.*")
103
+ set(SYSV5 TRUE)
104
+ elseif(CMAKE_SYSTEM_NAME MATCHES "Solaris.*")
105
+ set(SOLARIS TRUE)
106
+ elseif(CMAKE_SYSTEM_NAME MATCHES "HP-UX.*")
107
+ set(HPUX TRUE)
108
+ elseif(CMAKE_SYSTEM_NAME MATCHES "AIX.*")
109
+ set(AIX TRUE)
110
+ elseif(CMAKE_SYSTEM_NAME MATCHES "Minix.*")
111
+ set(MINIX TRUE)
112
+ endif()
113
+ elseif(APPLE)
114
+ if(CMAKE_SYSTEM_NAME MATCHES ".*Darwin.*")
115
+ set(DARWIN TRUE)
116
+ elseif(CMAKE_SYSTEM_NAME MATCHES ".*MacOS.*")
117
+ set(MACOSX TRUE)
118
+ endif()
119
+ # TODO: iOS?
120
+ elseif(CMAKE_SYSTEM_NAME MATCHES "BeOS.*")
121
+ message_error("BeOS support has been removed as of SDL 2.0.2.")
122
+ elseif(CMAKE_SYSTEM_NAME MATCHES "Haiku.*")
123
+ set(HAIKU TRUE)
124
+ endif()
125
+
126
+ # Don't mistake osx for unix
127
+ if(UNIX AND NOT APPLE)
128
+ set(UNIX_SYS ON)
129
+ else()
130
+ set(UNIX_SYS OFF)
131
+ endif()
132
+
133
+ if(UNIX OR APPLE)
134
+ set(UNIX_OR_MAC_SYS ON)
135
+ else()
136
+ set(UNIX_OR_MAC_SYS OFF)
137
+ endif()
138
+
139
+ if (UNIX_OR_MAC_SYS AND NOT EMSCRIPTEN) # JavaScript does not yet have threading support, so disable pthreads when building for Emscripten.
140
+ set(SDL_PTHREADS_ENABLED_BY_DEFAULT ON)
141
+ else()
142
+ set(SDL_PTHREADS_ENABLED_BY_DEFAULT OFF)
143
+ endif()
144
+
145
+ # Default option knobs
146
+ if(APPLE OR ARCH_64)
147
+ if(NOT "${CMAKE_OSX_ARCHITECTURES}" MATCHES "arm")
148
+ set(OPT_DEF_SSEMATH ON)
149
+ endif()
150
+ endif()
151
+ if(UNIX OR MINGW OR MSYS)
152
+ set(OPT_DEF_LIBC ON)
153
+ endif()
154
+
155
+ # Compiler info
156
+ if(CMAKE_COMPILER_IS_GNUCC)
157
+ set(USE_GCC TRUE)
158
+ set(OPT_DEF_ASM TRUE)
159
+ elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
160
+ set(USE_CLANG TRUE)
161
+ set(OPT_DEF_ASM TRUE)
162
+ elseif(MSVC_VERSION GREATER 1400) # VisualStudio 8.0+
163
+ set(OPT_DEF_ASM TRUE)
164
+ #set(CMAKE_C_FLAGS "/ZI /WX- /
165
+ else()
166
+ set(OPT_DEF_ASM FALSE)
167
+ endif()
168
+
169
+ if(USE_GCC OR USE_CLANG)
170
+ set(OPT_DEF_GCC_ATOMICS ON)
171
+ endif()
172
+
173
+ # Default flags, if not set otherwise
174
+ if("$ENV{CFLAGS}" STREQUAL "")
175
+ if(CMAKE_BUILD_TYPE STREQUAL "")
176
+ if(USE_GCC OR USE_CLANG)
177
+ set(CMAKE_C_FLAGS "-g -O3")
178
+ endif()
179
+ endif()
180
+ else()
181
+ set(CMAKE_C_FLAGS "$ENV{CFLAGS}")
182
+ list(APPEND EXTRA_CFLAGS "$ENV{CFLAGS}")
183
+ endif()
184
+ if(NOT ("$ENV{CFLAGS}" STREQUAL "")) # Hackish, but does the trick on Win32
185
+ list(APPEND EXTRA_LDFLAGS "$ENV{LDFLAGS}")
186
+ endif()
187
+
188
+ if(MSVC)
189
+ option(FORCE_STATIC_VCRT "Force /MT for static VC runtimes" OFF)
190
+ if(FORCE_STATIC_VCRT)
191
+ foreach(flag_var
192
+ CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
193
+ CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
194
+ if(${flag_var} MATCHES "/MD")
195
+ string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
196
+ endif()
197
+ endforeach()
198
+ endif()
199
+
200
+ # Make sure /RTC1 is disabled, otherwise it will use functions from the CRT
201
+ foreach(flag_var
202
+ CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
203
+ CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
204
+ string(REGEX REPLACE "/RTC(su|[1su])" "" ${flag_var} "${${flag_var}}")
205
+ endforeach(flag_var)
206
+ endif()
207
+
208
+ # Those are used for pkg-config and friends, so that the SDL2.pc, sdl2-config,
209
+ # etc. are created correctly.
210
+ set(SDL_LIBS "-lSDL2")
211
+ set(SDL_CFLAGS "")
212
+
213
+ # When building shared lib for Windows with MinGW,
214
+ # avoid the DLL having a "lib" prefix
215
+ if(WINDOWS)
216
+ set(CMAKE_SHARED_LIBRARY_PREFIX "")
217
+ endif()
218
+
219
+ # Emscripten toolchain has a nonempty default value for this, and the checks
220
+ # in this file need to change that, so remember the original value, and
221
+ # restore back to that afterwards. For check_function_exists() to work in
222
+ # Emscripten, this value must be at its default value.
223
+ set(ORIG_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
224
+
225
+ if(CYGWIN)
226
+ # We build SDL on cygwin without the UNIX emulation layer
227
+ include_directories("-I/usr/include/mingw")
228
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -mno-cygwin")
229
+ check_c_source_compiles("int main(int argc, char **argv) {}"
230
+ HAVE_GCC_NO_CYGWIN)
231
+ set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS})
232
+ if(HAVE_GCC_NO_CYGWIN)
233
+ list(APPEND EXTRA_LDFLAGS "-mno-cygwin")
234
+ list(APPEND SDL_LIBS "-mno-cygwin")
235
+ endif()
236
+ set(SDL_CFLAGS "${SDL_CFLAGS} -I/usr/include/mingw")
237
+ endif()
238
+
239
+ add_definitions(-DUSING_GENERATED_CONFIG_H)
240
+ # General includes
241
+ include_directories(${SDL2_BINARY_DIR}/include ${SDL2_SOURCE_DIR}/include)
242
+ if(USE_GCC OR USE_CLANG)
243
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -idirafter ${SDL2_SOURCE_DIR}/src/video/khronos")
244
+ else()
245
+ include_directories(${SDL2_SOURCE_DIR}/src/video/khronos)
246
+ endif()
247
+
248
+ # All these ENABLED_BY_DEFAULT vars will default to ON if not specified, so
249
+ # you only need to have a platform override them if they are disabling.
250
+ set(OPT_DEF_ASM TRUE)
251
+ if(EMSCRIPTEN)
252
+ # Set up default values for the currently supported set of subsystems:
253
+ # Emscripten/Javascript does not have assembly support, a dynamic library
254
+ # loading architecture, low-level CPU inspection or multithreading.
255
+ set(OPT_DEF_ASM FALSE)
256
+ set(SDL_SHARED_ENABLED_BY_DEFAULT OFF)
257
+ set(SDL_ATOMIC_ENABLED_BY_DEFAULT OFF)
258
+ set(SDL_THREADS_ENABLED_BY_DEFAULT OFF)
259
+ set(SDL_LOADSO_ENABLED_BY_DEFAULT OFF)
260
+ set(SDL_CPUINFO_ENABLED_BY_DEFAULT OFF)
261
+ set(SDL_DLOPEN_ENABLED_BY_DEFAULT OFF)
262
+ endif()
263
+
264
+ if (NOT DEFINED SDL_SHARED_ENABLED_BY_DEFAULT)
265
+ set(SDL_SHARED_ENABLED_BY_DEFAULT ON)
266
+ endif()
267
+
268
+ set(SDL_SUBSYSTEMS
269
+ Atomic Audio Video Render Events Joystick Haptic Power Threads Timers
270
+ File Loadso CPUinfo Filesystem Dlopen Sensor)
271
+ foreach(_SUB ${SDL_SUBSYSTEMS})
272
+ string(TOUPPER ${_SUB} _OPT)
273
+ if (NOT DEFINED SDL_${_OPT}_ENABLED_BY_DEFAULT)
274
+ set(SDL_${_OPT}_ENABLED_BY_DEFAULT ON)
275
+ endif()
276
+ option(SDL_${_OPT} "Enable the ${_SUB} subsystem" ${SDL_${_OPT}_ENABLED_BY_DEFAULT})
277
+ endforeach()
278
+
279
+ option_string(ASSERTIONS "Enable internal sanity checks (auto/disabled/release/enabled/paranoid)" "auto")
280
+ #set_option(DEPENDENCY_TRACKING "Use gcc -MMD -MT dependency tracking" ON)
281
+ set_option(LIBC "Use the system C library" ${OPT_DEF_LIBC})
282
+ set_option(GCC_ATOMICS "Use gcc builtin atomics" ${OPT_DEF_GCC_ATOMICS})
283
+ set_option(ASSEMBLY "Enable assembly routines" ${OPT_DEF_ASM})
284
+ set_option(SSEMATH "Allow GCC to use SSE floating point math" ${OPT_DEF_SSEMATH})
285
+ set_option(MMX "Use MMX assembly routines" ${OPT_DEF_ASM})
286
+ set_option(3DNOW "Use 3Dnow! MMX assembly routines" ${OPT_DEF_ASM})
287
+ set_option(SSE "Use SSE assembly routines" ${OPT_DEF_ASM})
288
+ set_option(SSE2 "Use SSE2 assembly routines" ${OPT_DEF_SSEMATH})
289
+ set_option(SSE3 "Use SSE3 assembly routines" ${OPT_DEF_SSEMATH})
290
+ set_option(ALTIVEC "Use Altivec assembly routines" ${OPT_DEF_ASM})
291
+ set_option(DISKAUDIO "Support the disk writer audio driver" ON)
292
+ set_option(DUMMYAUDIO "Support the dummy audio driver" ON)
293
+ set_option(VIDEO_DIRECTFB "Use DirectFB video driver" OFF)
294
+ dep_option(DIRECTFB_SHARED "Dynamically load directfb support" ON "VIDEO_DIRECTFB" OFF)
295
+ set_option(VIDEO_DUMMY "Use dummy video driver" ON)
296
+ set_option(VIDEO_OPENGL "Include OpenGL support" ON)
297
+ set_option(VIDEO_OPENGLES "Include OpenGL ES support" ON)
298
+ set_option(PTHREADS "Use POSIX threads for multi-threading" ${SDL_PTHREADS_ENABLED_BY_DEFAULT})
299
+ dep_option(PTHREADS_SEM "Use pthread semaphores" ON "PTHREADS" OFF)
300
+ set_option(SDL_DLOPEN "Use dlopen for shared object loading" ${SDL_DLOPEN_ENABLED_BY_DEFAULT})
301
+ set_option(OSS "Support the OSS audio API" ${UNIX_SYS})
302
+ set_option(ALSA "Support the ALSA audio API" ${UNIX_SYS})
303
+ dep_option(ALSA_SHARED "Dynamically load ALSA audio support" ON "ALSA" OFF)
304
+ set_option(JACK "Support the JACK audio API" ${UNIX_SYS})
305
+ dep_option(JACK_SHARED "Dynamically load JACK audio support" ON "JACK" OFF)
306
+ set_option(ESD "Support the Enlightened Sound Daemon" ${UNIX_SYS})
307
+ dep_option(ESD_SHARED "Dynamically load ESD audio support" ON "ESD" OFF)
308
+ set_option(PULSEAUDIO "Use PulseAudio" ${UNIX_SYS})
309
+ dep_option(PULSEAUDIO_SHARED "Dynamically load PulseAudio support" ON "PULSEAUDIO" OFF)
310
+ set_option(ARTS "Support the Analog Real Time Synthesizer" ${UNIX_SYS})
311
+ dep_option(ARTS_SHARED "Dynamically load aRts audio support" ON "ARTS" OFF)
312
+ set_option(NAS "Support the NAS audio API" ${UNIX_SYS})
313
+ set_option(NAS_SHARED "Dynamically load NAS audio API" ${UNIX_SYS})
314
+ set_option(SNDIO "Support the sndio audio API" ${UNIX_SYS})
315
+ set_option(FUSIONSOUND "Use FusionSound audio driver" OFF)
316
+ dep_option(FUSIONSOUND_SHARED "Dynamically load fusionsound audio support" ON "FUSIONSOUND" OFF)
317
+ set_option(LIBSAMPLERATE "Use libsamplerate for audio rate conversion" ${UNIX_SYS})
318
+ dep_option(LIBSAMPLERATE_SHARED "Dynamically load libsamplerate" ON "LIBSAMPLERATE" OFF)
319
+ set_option(RPATH "Use an rpath when linking SDL" ${UNIX_SYS})
320
+ set_option(CLOCK_GETTIME "Use clock_gettime() instead of gettimeofday()" OFF)
321
+ set_option(INPUT_TSLIB "Use the Touchscreen library for input" ${UNIX_SYS})
322
+ set_option(VIDEO_X11 "Use X11 video driver" ${UNIX_SYS})
323
+ set_option(VIDEO_WAYLAND "Use Wayland video driver" ${UNIX_SYS})
324
+ dep_option(WAYLAND_SHARED "Dynamically load Wayland support" ON "VIDEO_WAYLAND" OFF)
325
+ dep_option(VIDEO_WAYLAND_QT_TOUCH "QtWayland server support for Wayland video driver" ON "VIDEO_WAYLAND" OFF)
326
+ set_option(VIDEO_MIR "Use Mir video driver" ${UNIX_SYS})
327
+ dep_option(MIR_SHARED "Dynamically load Mir support" ON "VIDEO_MIR" OFF)
328
+ set_option(VIDEO_RPI "Use Raspberry Pi video driver" ${UNIX_SYS})
329
+ dep_option(X11_SHARED "Dynamically load X11 support" ON "VIDEO_X11" OFF)
330
+ set(SDL_X11_OPTIONS Xcursor Xinerama XInput Xrandr Xscrnsaver XShape Xvm)
331
+ foreach(_SUB ${SDL_X11_OPTIONS})
332
+ string(TOUPPER "VIDEO_X11_${_SUB}" _OPT)
333
+ dep_option(${_OPT} "Enable ${_SUB} support" ON "VIDEO_X11" OFF)
334
+ endforeach()
335
+ set_option(VIDEO_COCOA "Use Cocoa video driver" ${APPLE})
336
+ set_option(DIRECTX "Use DirectX for Windows audio/video" ${WINDOWS})
337
+ dep_option(WASAPI "Use the Windows WASAPI audio driver" ON "DIRECTX" OFF)
338
+ set_option(RENDER_D3D "Enable the Direct3D render driver" ${WINDOWS})
339
+ set_option(VIDEO_VIVANTE "Use Vivante EGL video driver" ${UNIX_SYS})
340
+ dep_option(VIDEO_VULKAN "Enable Vulkan support" ON "ANDROID OR APPLE OR LINUX OR WINDOWS" OFF)
341
+ set_option(VIDEO_KMSDRM "Use KMS DRM video driver" ${UNIX_SYS})
342
+ dep_option(KMSDRM_SHARED "Dynamically load KMS DRM support" ON "VIDEO_KMSDRM" OFF)
343
+
344
+ # TODO: We should (should we?) respect cmake's ${BUILD_SHARED_LIBS} flag here
345
+ # The options below are for compatibility to configure's default behaviour.
346
+ set(SDL_SHARED ${SDL_SHARED_ENABLED_BY_DEFAULT} CACHE BOOL "Build a shared version of the library")
347
+ set(SDL_STATIC ON CACHE BOOL "Build a static version of the library")
348
+
349
+ dep_option(SDL_STATIC_PIC "Static version of the library should be built with Position Independent Code" OFF "SDL_STATIC" OFF)
350
+ set_option(SDL_TEST "Build the test directory" OFF)
351
+
352
+ # General source files
353
+ file(GLOB SOURCE_FILES
354
+ ${SDL2_SOURCE_DIR}/src/*.c
355
+ ${SDL2_SOURCE_DIR}/src/atomic/*.c
356
+ ${SDL2_SOURCE_DIR}/src/audio/*.c
357
+ ${SDL2_SOURCE_DIR}/src/cpuinfo/*.c
358
+ ${SDL2_SOURCE_DIR}/src/dynapi/*.c
359
+ ${SDL2_SOURCE_DIR}/src/events/*.c
360
+ ${SDL2_SOURCE_DIR}/src/file/*.c
361
+ ${SDL2_SOURCE_DIR}/src/libm/*.c
362
+ ${SDL2_SOURCE_DIR}/src/render/*.c
363
+ ${SDL2_SOURCE_DIR}/src/render/*/*.c
364
+ ${SDL2_SOURCE_DIR}/src/stdlib/*.c
365
+ ${SDL2_SOURCE_DIR}/src/thread/*.c
366
+ ${SDL2_SOURCE_DIR}/src/timer/*.c
367
+ ${SDL2_SOURCE_DIR}/src/video/*.c
368
+ ${SDL2_SOURCE_DIR}/src/video/yuv2rgb/*.c)
369
+
370
+
371
+ if(ASSERTIONS STREQUAL "auto")
372
+ # Do nada - use optimization settings to determine the assertion level
373
+ elseif(ASSERTIONS STREQUAL "disabled")
374
+ set(SDL_DEFAULT_ASSERT_LEVEL 0)
375
+ elseif(ASSERTIONS STREQUAL "release")
376
+ set(SDL_DEFAULT_ASSERT_LEVEL 1)
377
+ elseif(ASSERTIONS STREQUAL "enabled")
378
+ set(SDL_DEFAULT_ASSERT_LEVEL 2)
379
+ elseif(ASSERTIONS STREQUAL "paranoid")
380
+ set(SDL_DEFAULT_ASSERT_LEVEL 3)
381
+ else()
382
+ message_error("unknown assertion level")
383
+ endif()
384
+ set(HAVE_ASSERTIONS ${ASSERTIONS})
385
+
386
+ # Compiler option evaluation
387
+ if(USE_GCC OR USE_CLANG)
388
+ # Check for -Wall first, so later things can override pieces of it.
389
+ check_c_compiler_flag(-Wall HAVE_GCC_WALL)
390
+ if(HAVE_GCC_WALL)
391
+ list(APPEND EXTRA_CFLAGS "-Wall")
392
+ if(HAIKU)
393
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-multichar")
394
+ endif()
395
+ endif()
396
+
397
+ check_c_compiler_flag(-Wdeclaration-after-statement HAVE_GCC_WDECLARATION_AFTER_STATEMENT)
398
+ if(HAVE_GCC_WDECLARATION_AFTER_STATEMENT)
399
+ check_c_compiler_flag(-Werror=declaration-after-statement HAVE_GCC_WERROR_DECLARATION_AFTER_STATEMENT)
400
+ if(HAVE_GCC_WERROR_DECLARATION_AFTER_STATEMENT)
401
+ list(APPEND EXTRA_CFLAGS "-Werror=declaration-after-statement")
402
+ endif()
403
+ list(APPEND EXTRA_CFLAGS "-Wdeclaration-after-statement")
404
+ endif()
405
+
406
+ if(DEPENDENCY_TRACKING)
407
+ check_c_source_compiles("
408
+ #if !defined(__GNUC__) || __GNUC__ < 3
409
+ #error Dependency tracking requires GCC 3.0 or newer
410
+ #endif
411
+ int main(int argc, char **argv) { }" HAVE_DEPENDENCY_TRACKING)
412
+ endif()
413
+
414
+ if(GCC_ATOMICS)
415
+ check_c_source_compiles("int main(int argc, char **argv) {
416
+ int a;
417
+ void *x, *y, *z;
418
+ __sync_lock_test_and_set(&a, 4);
419
+ __sync_lock_test_and_set(&x, y);
420
+ __sync_fetch_and_add(&a, 1);
421
+ __sync_bool_compare_and_swap(&a, 5, 10);
422
+ __sync_bool_compare_and_swap(&x, y, z); }" HAVE_GCC_ATOMICS)
423
+ if(NOT HAVE_GCC_ATOMICS)
424
+ check_c_source_compiles("int main(int argc, char **argv) {
425
+ int a;
426
+ __sync_lock_test_and_set(&a, 1);
427
+ __sync_lock_release(&a); }" HAVE_GCC_SYNC_LOCK_TEST_AND_SET)
428
+ endif()
429
+ endif()
430
+
431
+ set(CMAKE_REQUIRED_FLAGS "-mpreferred-stack-boundary=2")
432
+ check_c_source_compiles("int x = 0; int main(int argc, char **argv) {}"
433
+ HAVE_GCC_PREFERRED_STACK_BOUNDARY)
434
+ set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS})
435
+
436
+ set(CMAKE_REQUIRED_FLAGS "-fvisibility=hidden -Werror")
437
+ check_c_source_compiles("
438
+ #if !defined(__GNUC__) || __GNUC__ < 4
439
+ #error SDL only uses visibility attributes in GCC 4 or newer
440
+ #endif
441
+ int main(int argc, char **argv) {}" HAVE_GCC_FVISIBILITY)
442
+ if(HAVE_GCC_FVISIBILITY)
443
+ list(APPEND EXTRA_CFLAGS "-fvisibility=hidden")
444
+ endif()
445
+ set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS})
446
+
447
+ check_c_compiler_flag(-Wshadow HAVE_GCC_WSHADOW)
448
+ if(HAVE_GCC_WSHADOW)
449
+ list(APPEND EXTRA_CFLAGS "-Wshadow")
450
+ endif()
451
+
452
+ if(APPLE)
453
+ list(APPEND EXTRA_LDFLAGS "-Wl,-undefined,error")
454
+ else()
455
+ set(CMAKE_REQUIRED_FLAGS "-Wl,--no-undefined")
456
+ check_c_compiler_flag("" HAVE_NO_UNDEFINED)
457
+ set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS})
458
+ if(HAVE_NO_UNDEFINED)
459
+ list(APPEND EXTRA_LDFLAGS "-Wl,--no-undefined")
460
+ endif()
461
+ endif()
462
+ endif()
463
+
464
+ if(ASSEMBLY)
465
+ if(USE_GCC OR USE_CLANG)
466
+ set(SDL_ASSEMBLY_ROUTINES 1)
467
+ # TODO: Those all seem to be quite GCC specific - needs to be
468
+ # reworked for better compiler support
469
+ set(HAVE_ASSEMBLY TRUE)
470
+ if(MMX)
471
+ set(CMAKE_REQUIRED_FLAGS "-mmmx")
472
+ check_c_source_compiles("
473
+ #ifdef __MINGW32__
474
+ #include <_mingw.h>
475
+ #ifdef __MINGW64_VERSION_MAJOR
476
+ #include <intrin.h>
477
+ #else
478
+ #include <mmintrin.h>
479
+ #endif
480
+ #else
481
+ #include <mmintrin.h>
482
+ #endif
483
+ #ifndef __MMX__
484
+ #error Assembler CPP flag not enabled
485
+ #endif
486
+ int main(int argc, char **argv) { }" HAVE_MMX)
487
+ if(HAVE_MMX)
488
+ list(APPEND EXTRA_CFLAGS "-mmmx")
489
+ endif()
490
+ set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS})
491
+ endif()
492
+
493
+ if(3DNOW)
494
+ set(CMAKE_REQUIRED_FLAGS "-m3dnow")
495
+ check_c_source_compiles("
496
+ #include <mm3dnow.h>
497
+ #ifndef __3dNOW__
498
+ #error Assembler CPP flag not enabled
499
+ #endif
500
+ int main(int argc, char **argv) {
501
+ void *p = 0;
502
+ _m_prefetch(p);
503
+ }" HAVE_3DNOW)
504
+ if(HAVE_3DNOW)
505
+ list(APPEND EXTRA_CFLAGS "-m3dnow")
506
+ endif()
507
+ set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS})
508
+ endif()
509
+
510
+ if(SSE)
511
+ set(CMAKE_REQUIRED_FLAGS "-msse")
512
+ check_c_source_compiles("
513
+ #ifdef __MINGW32__
514
+ #include <_mingw.h>
515
+ #ifdef __MINGW64_VERSION_MAJOR
516
+ #include <intrin.h>
517
+ #else
518
+ #include <xmmintrin.h>
519
+ #endif
520
+ #else
521
+ #include <xmmintrin.h>
522
+ #endif
523
+ #ifndef __SSE__
524
+ #error Assembler CPP flag not enabled
525
+ #endif
526
+ int main(int argc, char **argv) { }" HAVE_SSE)
527
+ if(HAVE_SSE)
528
+ list(APPEND EXTRA_CFLAGS "-msse")
529
+ endif()
530
+ set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS})
531
+ endif()
532
+
533
+ if(SSE2)
534
+ set(CMAKE_REQUIRED_FLAGS "-msse2")
535
+ check_c_source_compiles("
536
+ #ifdef __MINGW32__
537
+ #include <_mingw.h>
538
+ #ifdef __MINGW64_VERSION_MAJOR
539
+ #include <intrin.h>
540
+ #else
541
+ #include <emmintrin.h>
542
+ #endif
543
+ #else
544
+ #include <emmintrin.h>
545
+ #endif
546
+ #ifndef __SSE2__
547
+ #error Assembler CPP flag not enabled
548
+ #endif
549
+ int main(int argc, char **argv) { }" HAVE_SSE2)
550
+ if(HAVE_SSE2)
551
+ list(APPEND EXTRA_CFLAGS "-msse2")
552
+ endif()
553
+ set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS})
554
+ endif()
555
+
556
+ if(SSE3)
557
+ set(CMAKE_REQUIRED_FLAGS "-msse3")
558
+ check_c_source_compiles("
559
+ #ifdef __MINGW32__
560
+ #include <_mingw.h>
561
+ #ifdef __MINGW64_VERSION_MAJOR
562
+ #include <intrin.h>
563
+ #else
564
+ #include <pmmintrin.h>
565
+ #endif
566
+ #else
567
+ #include <pmmintrin.h>
568
+ #endif
569
+ #ifndef __SSE3__
570
+ #error Assembler CPP flag not enabled
571
+ #endif
572
+ int main(int argc, char **argv) { }" HAVE_SSE3)
573
+ if(HAVE_SSE3)
574
+ list(APPEND EXTRA_CFLAGS "-msse3")
575
+ endif()
576
+ set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS})
577
+ endif()
578
+
579
+ if(NOT SSEMATH)
580
+ if(SSE OR SSE2 OR SSE3)
581
+ if(USE_GCC)
582
+ check_c_compiler_flag(-mfpmath=387 HAVE_FP_387)
583
+ if(HAVE_FP_387)
584
+ list(APPEND EXTRA_CFLAGS "-mfpmath=387")
585
+ endif()
586
+ endif()
587
+ set(HAVE_SSEMATH TRUE)
588
+ endif()
589
+ endif()
590
+
591
+ check_include_file("immintrin.h" HAVE_IMMINTRIN_H)
592
+
593
+ if(ALTIVEC)
594
+ set(CMAKE_REQUIRED_FLAGS "-maltivec")
595
+ check_c_source_compiles("
596
+ #include <altivec.h>
597
+ vector unsigned int vzero() {
598
+ return vec_splat_u32(0);
599
+ }
600
+ int main(int argc, char **argv) { }" HAVE_ALTIVEC_H_HDR)
601
+ check_c_source_compiles("
602
+ vector unsigned int vzero() {
603
+ return vec_splat_u32(0);
604
+ }
605
+ int main(int argc, char **argv) { }" HAVE_ALTIVEC)
606
+ set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS})
607
+ if(HAVE_ALTIVEC OR HAVE_ALTIVEC_H_HDR)
608
+ set(HAVE_ALTIVEC TRUE) # if only HAVE_ALTIVEC_H_HDR is set
609
+ list(APPEND EXTRA_CFLAGS "-maltivec")
610
+ set(SDL_ALTIVEC_BLITTERS 1)
611
+ if(HAVE_ALTIVEC_H_HDR)
612
+ set(HAVE_ALTIVEC_H 1)
613
+ endif()
614
+ endif()
615
+ endif()
616
+ elseif(MSVC_VERSION GREATER 1500)
617
+ # TODO: SDL_cpuinfo.h needs to support the user's configuration wish
618
+ # for MSVC - right now it is always activated
619
+ if(NOT ARCH_64)
620
+ set(HAVE_MMX TRUE)
621
+ set(HAVE_3DNOW TRUE)
622
+ endif()
623
+ set(HAVE_SSE TRUE)
624
+ set(HAVE_SSE2 TRUE)
625
+ set(HAVE_SSE3 TRUE)
626
+ set(SDL_ASSEMBLY_ROUTINES 1)
627
+ endif()
628
+ # TODO:
629
+ #else()
630
+ # if(USE_GCC OR USE_CLANG)
631
+ # list(APPEND EXTRA_CFLAGS "-mno-sse" "-mno-sse2" "-mno-sse3" "-mno-mmx")
632
+ # endif()
633
+ endif()
634
+
635
+ # TODO: Can't deactivate on FreeBSD? w/o LIBC, SDL_stdinc.h can't define
636
+ # anything.
637
+ if(LIBC)
638
+ if(WINDOWS AND NOT MINGW)
639
+ set(HAVE_LIBC TRUE)
640
+ foreach(_HEADER stdio.h string.h wchar.h ctype.h math.h limits.h)
641
+ string(TOUPPER "HAVE_${_HEADER}" _UPPER)
642
+ string(REPLACE "." "_" _HAVE_H ${_UPPER})
643
+ set(${_HAVE_H} 1)
644
+ endforeach()
645
+ set(HAVE_SIGNAL_H 1)
646
+ foreach(_FN
647
+ malloc calloc realloc free qsort abs memset memcpy memmove memcmp
648
+ wcslen wcscmp
649
+ strlen _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa
650
+ _ultoa strtol strtoul strtoll strtod atoi atof strcmp strncmp
651
+ _stricmp _strnicmp sscanf
652
+ acos acosf asin asinf atan atanf atan2 atan2f ceil ceilf
653
+ copysign copysignf cos cosf exp expf fabs fabsf floor floorf fmod fmodf
654
+ log logf log10 log10f pow powf scalbn scalbnf sin sinf sqrt sqrtf tan tanf)
655
+ string(TOUPPER ${_FN} _UPPER)
656
+ set(HAVE_${_UPPER} 1)
657
+ endforeach()
658
+ if(NOT CYGWIN AND NOT MINGW)
659
+ set(HAVE_ALLOCA 1)
660
+ endif()
661
+ set(HAVE_M_PI 1)
662
+ add_definitions(-D_USE_MATH_DEFINES) # needed for M_PI
663
+ set(STDC_HEADERS 1)
664
+ else()
665
+ set(HAVE_LIBC TRUE)
666
+ check_include_file(sys/types.h HAVE_SYS_TYPES_H)
667
+ foreach(_HEADER
668
+ stdio.h stdlib.h stddef.h stdarg.h malloc.h memory.h string.h limits.h
669
+ strings.h wchar.h inttypes.h stdint.h ctype.h math.h iconv.h signal.h libunwind.h)
670
+ string(TOUPPER "HAVE_${_HEADER}" _UPPER)
671
+ string(REPLACE "." "_" _HAVE_H ${_UPPER})
672
+ check_include_file("${_HEADER}" ${_HAVE_H})
673
+ endforeach()
674
+
675
+ check_include_files("dlfcn.h;stdint.h;stddef.h;inttypes.h;stdlib.h;strings.h;string.h;float.h" STDC_HEADERS)
676
+ check_type_size("size_t" SIZEOF_SIZE_T)
677
+ check_symbol_exists(M_PI math.h HAVE_M_PI)
678
+ # TODO: refine the mprotect check
679
+ check_c_source_compiles("#include <sys/types.h>
680
+ #include <sys/mman.h>
681
+ int main() { }" HAVE_MPROTECT)
682
+ foreach(_FN
683
+ strtod malloc calloc realloc free getenv setenv putenv unsetenv
684
+ qsort abs bcopy memset memcpy memmove memcmp strlen strlcpy strlcat
685
+ _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa
686
+ _uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull
687
+ atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp
688
+ vsscanf vsnprintf fopen64 fseeko fseeko64 sigaction setjmp
689
+ nanosleep sysconf sysctlbyname getauxval poll
690
+ )
691
+ string(TOUPPER ${_FN} _UPPER)
692
+ set(_HAVEVAR "HAVE_${_UPPER}")
693
+ check_function_exists("${_FN}" ${_HAVEVAR})
694
+ endforeach()
695
+
696
+ check_library_exists(m pow "" HAVE_LIBM)
697
+ if(HAVE_LIBM)
698
+ set(CMAKE_REQUIRED_LIBRARIES m)
699
+ foreach(_FN
700
+ atan atan2 ceil copysign cos cosf fabs floor log pow scalbn sin
701
+ sinf sqrt sqrtf tan tanf acos asin)
702
+ string(TOUPPER ${_FN} _UPPER)
703
+ set(_HAVEVAR "HAVE_${_UPPER}")
704
+ check_function_exists("${_FN}" ${_HAVEVAR})
705
+ endforeach()
706
+ set(CMAKE_REQUIRED_LIBRARIES)
707
+ list(APPEND EXTRA_LIBS m)
708
+ endif()
709
+
710
+ check_library_exists(iconv iconv_open "" HAVE_LIBICONV)
711
+ if(HAVE_LIBICONV)
712
+ list(APPEND EXTRA_LIBS iconv)
713
+ set(HAVE_ICONV 1)
714
+ endif()
715
+
716
+ if(NOT APPLE)
717
+ check_include_file(alloca.h HAVE_ALLOCA_H)
718
+ check_function_exists(alloca HAVE_ALLOCA)
719
+ else()
720
+ set(HAVE_ALLOCA_H 1)
721
+ set(HAVE_ALLOCA 1)
722
+ endif()
723
+
724
+ check_struct_has_member("struct sigaction" "sa_sigaction" "signal.h" HAVE_SA_SIGACTION)
725
+ endif()
726
+ else()
727
+ if(WINDOWS)
728
+ set(HAVE_STDARG_H 1)
729
+ set(HAVE_STDDEF_H 1)
730
+ endif()
731
+ endif()
732
+
733
+
734
+ # Enable/disable various subsystems of the SDL library
735
+ foreach(_SUB ${SDL_SUBSYSTEMS})
736
+ string(TOUPPER ${_SUB} _OPT)
737
+ if(NOT SDL_${_OPT})
738
+ set(SDL_${_OPT}_DISABLED 1)
739
+ endif()
740
+ endforeach()
741
+ if(SDL_JOYSTICK)
742
+ file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/*.c)
743
+ set(SOURCE_FILES ${SOURCE_FILES} ${JOYSTICK_SOURCES})
744
+ endif()
745
+ if(SDL_HAPTIC)
746
+ if(NOT SDL_JOYSTICK)
747
+ # Haptic requires some private functions from the joystick subsystem.
748
+ message_error("SDL_HAPTIC requires SDL_JOYSTICK, which is not enabled")
749
+ endif()
750
+ file(GLOB HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/*.c)
751
+ set(SOURCE_FILES ${SOURCE_FILES} ${HAPTIC_SOURCES})
752
+ endif()
753
+ if(SDL_SENSOR)
754
+ file(GLOB SENSOR_SOURCES ${SDL2_SOURCE_DIR}/src/sensor/*.c)
755
+ set(SOURCE_FILES ${SOURCE_FILES} ${SENSOR_SOURCES})
756
+ endif()
757
+ if(SDL_POWER)
758
+ file(GLOB POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/*.c)
759
+ set(SOURCE_FILES ${SOURCE_FILES} ${POWER_SOURCES})
760
+ endif()
761
+ # TODO: in configure.in, the test for LOADSO and SDL_DLOPEN is a bit weird:
762
+ # if LOADSO is not wanted, SDL_LOADSO_DISABLED is set
763
+ # If however on Unix or APPLE dlopen() is detected via CheckDLOPEN(),
764
+ # SDL_LOADSO_DISABLED will not be set, regardless of the LOADSO settings
765
+
766
+ # General SDL subsystem options, valid for all platforms
767
+ if(SDL_AUDIO)
768
+ # CheckDummyAudio/CheckDiskAudio - valid for all platforms
769
+ if(DUMMYAUDIO)
770
+ set(SDL_AUDIO_DRIVER_DUMMY 1)
771
+ file(GLOB DUMMYAUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/dummy/*.c)
772
+ set(SOURCE_FILES ${SOURCE_FILES} ${DUMMYAUDIO_SOURCES})
773
+ set(HAVE_DUMMYAUDIO TRUE)
774
+ endif()
775
+ if(DISKAUDIO)
776
+ set(SDL_AUDIO_DRIVER_DISK 1)
777
+ file(GLOB DISKAUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/disk/*.c)
778
+ set(SOURCE_FILES ${SOURCE_FILES} ${DISKAUDIO_SOURCES})
779
+ set(HAVE_DISKAUDIO TRUE)
780
+ endif()
781
+ endif()
782
+
783
+ if(SDL_DLOPEN)
784
+ # Relevant for Unix/Darwin only
785
+ if(UNIX OR APPLE)
786
+ CheckDLOPEN()
787
+ endif()
788
+ endif()
789
+
790
+ if(SDL_VIDEO)
791
+ if(VIDEO_DUMMY)
792
+ set(SDL_VIDEO_DRIVER_DUMMY 1)
793
+ file(GLOB VIDEO_DUMMY_SOURCES ${SDL2_SOURCE_DIR}/src/video/dummy/*.c)
794
+ set(SOURCE_FILES ${SOURCE_FILES} ${VIDEO_DUMMY_SOURCES})
795
+ set(HAVE_VIDEO_DUMMY TRUE)
796
+ set(HAVE_SDL_VIDEO TRUE)
797
+ endif()
798
+ endif()
799
+
800
+ if(ANDROID)
801
+ file(GLOB ANDROID_CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/android/*.c)
802
+ set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_CORE_SOURCES})
803
+
804
+ # SDL_spinlock.c Needs to be compiled in ARM mode.
805
+ # There seems to be no better way currently to set the ARM mode.
806
+ # see: https://issuetracker.google.com/issues/62264618
807
+ # Another option would be to set ARM mode to all compiled files
808
+ check_c_compiler_flag(-marm HAVE_ARM_MODE)
809
+ if(HAVE_ARM_MODE)
810
+ set_source_files_properties(${SDL2_SOURCE_DIR}/src/atomic/SDL_spinlock.c PROPERTIES COMPILE_FLAGS -marm)
811
+ endif()
812
+
813
+ file(GLOB ANDROID_MAIN_SOURCES ${SDL2_SOURCE_DIR}/src/main/android/*.c)
814
+ set(SDLMAIN_SOURCES ${SDLMAIN_SOURCES} ${ANDROID_MAIN_SOURCES})
815
+
816
+ if(SDL_AUDIO)
817
+ set(SDL_AUDIO_DRIVER_ANDROID 1)
818
+ file(GLOB ANDROID_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/android/*.c)
819
+ set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_AUDIO_SOURCES})
820
+ set(HAVE_SDL_AUDIO TRUE)
821
+ endif()
822
+ if(SDL_FILESYSTEM)
823
+ set(SDL_FILESYSTEM_ANDROID 1)
824
+ file(GLOB ANDROID_FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/android/*.c)
825
+ set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_FILESYSTEM_SOURCES})
826
+ set(HAVE_SDL_FILESYSTEM TRUE)
827
+ endif()
828
+ if(SDL_HAPTIC)
829
+ set(SDL_HAPTIC_ANDROID 1)
830
+ file(GLOB ANDROID_HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/android/*.c)
831
+ set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_HAPTIC_SOURCES})
832
+ set(HAVE_SDL_HAPTIC TRUE)
833
+ endif()
834
+ if(SDL_JOYSTICK)
835
+ set(SDL_JOYSTICK_ANDROID 1)
836
+ file(GLOB ANDROID_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/android/*.c ${SDL2_SOURCE_DIR}/src/joystick/steam/*.c)
837
+ set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_JOYSTICK_SOURCES})
838
+ set(HAVE_SDL_JOYSTICK TRUE)
839
+ endif()
840
+ if(SDL_LOADSO)
841
+ set(SDL_LOADSO_DLOPEN 1)
842
+ file(GLOB LOADSO_SOURCES ${SDL2_SOURCE_DIR}/src/loadso/dlopen/*.c)
843
+ set(SOURCE_FILES ${SOURCE_FILES} ${LOADSO_SOURCES})
844
+ set(HAVE_SDL_LOADSO TRUE)
845
+ endif()
846
+ if(SDL_POWER)
847
+ set(SDL_POWER_ANDROID 1)
848
+ file(GLOB ANDROID_POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/android/*.c)
849
+ set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_POWER_SOURCES})
850
+ set(HAVE_SDL_POWER TRUE)
851
+ endif()
852
+ if(SDL_TIMERS)
853
+ set(SDL_TIMER_UNIX 1)
854
+ file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/unix/*.c)
855
+ set(SOURCE_FILES ${SOURCE_FILES} ${TIMER_SOURCES})
856
+ set(HAVE_SDL_TIMERS TRUE)
857
+ endif()
858
+ if(SDL_SENSOR)
859
+ set(SDL_SENSOR_ANDROID 1)
860
+ set(HAVE_SDL_SENSORS TRUE)
861
+ file(GLOB ANDROID_SENSOR_SOURCES ${SDL2_SOURCE_DIR}/src/sensor/android/*.c)
862
+ set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_SENSOR_SOURCES})
863
+ endif()
864
+ if(SDL_VIDEO)
865
+ set(SDL_VIDEO_DRIVER_ANDROID 1)
866
+ file(GLOB ANDROID_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/android/*.c)
867
+ set(SOURCE_FILES ${SOURCE_FILES} ${ANDROID_VIDEO_SOURCES})
868
+ set(HAVE_SDL_VIDEO TRUE)
869
+
870
+ # Core stuff
871
+ find_library(ANDROID_DL_LIBRARY dl)
872
+ find_library(ANDROID_LOG_LIBRARY log)
873
+ find_library(ANDROID_LIBRARY_LIBRARY android)
874
+ list(APPEND EXTRA_LIBS ${ANDROID_DL_LIBRARY} ${ANDROID_LOG_LIBRARY} ${ANDROID_LIBRARY_LIBRARY})
875
+ add_definitions(-DGL_GLEXT_PROTOTYPES)
876
+
877
+ #enable gles
878
+ if(VIDEO_OPENGLES)
879
+ set(SDL_VIDEO_OPENGL_EGL 1)
880
+ set(HAVE_VIDEO_OPENGLES TRUE)
881
+ set(SDL_VIDEO_OPENGL_ES2 1)
882
+ set(SDL_VIDEO_RENDER_OGL_ES2 1)
883
+
884
+ find_library(OpenGLES1_LIBRARY GLESv1_CM)
885
+ find_library(OpenGLES2_LIBRARY GLESv2)
886
+ list(APPEND EXTRA_LIBS ${OpenGLES1_LIBRARY} ${OpenGLES2_LIBRARY})
887
+ endif()
888
+
889
+ CHECK_C_SOURCE_COMPILES("
890
+ #if defined(__ARM_ARCH) && __ARM_ARCH < 7
891
+ #error Vulkan doesn't work on this configuration
892
+ #endif
893
+ int main()
894
+ {
895
+ return 0;
896
+ }
897
+ " VULKAN_PASSED_ANDROID_CHECKS)
898
+ if(NOT VULKAN_PASSED_ANDROID_CHECKS)
899
+ set(VIDEO_VULKAN OFF)
900
+ message(STATUS "Vulkan doesn't work on this configuration")
901
+ endif()
902
+ endif()
903
+
904
+ CheckPTHREAD()
905
+
906
+ endif()
907
+
908
+ # Platform-specific options and settings
909
+ if(EMSCRIPTEN)
910
+ # Hide noisy warnings that intend to aid mostly during initial stages of porting a new
911
+ # project. Uncomment at will for verbose cross-compiling -I/../ path info.
912
+ add_definitions(-Wno-warn-absolute-paths)
913
+ if(SDL_AUDIO)
914
+ set(SDL_AUDIO_DRIVER_EMSCRIPTEN 1)
915
+ file(GLOB EM_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/emscripten/*.c)
916
+ set(SOURCE_FILES ${SOURCE_FILES} ${EM_AUDIO_SOURCES})
917
+ set(HAVE_SDL_AUDIO TRUE)
918
+ endif()
919
+ if(SDL_FILESYSTEM)
920
+ set(SDL_FILESYSTEM_EMSCRIPTEN 1)
921
+ file(GLOB EM_FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/emscripten/*.c)
922
+ set(SOURCE_FILES ${SOURCE_FILES} ${EM_FILESYSTEM_SOURCES})
923
+ set(HAVE_SDL_FILESYSTEM TRUE)
924
+ endif()
925
+ if(SDL_JOYSTICK)
926
+ set(SDL_JOYSTICK_EMSCRIPTEN 1)
927
+ file(GLOB EM_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/emscripten/*.c)
928
+ set(SOURCE_FILES ${SOURCE_FILES} ${EM_JOYSTICK_SOURCES})
929
+ set(HAVE_SDL_JOYSTICK TRUE)
930
+ endif()
931
+ if(SDL_POWER)
932
+ set(SDL_POWER_EMSCRIPTEN 1)
933
+ file(GLOB EM_POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/emscripten/*.c)
934
+ set(SOURCE_FILES ${SOURCE_FILES} ${EM_POWER_SOURCES})
935
+ set(HAVE_SDL_POWER TRUE)
936
+ endif()
937
+ if(SDL_TIMERS)
938
+ set(SDL_TIMER_UNIX 1)
939
+ file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/unix/*.c)
940
+ set(SOURCE_FILES ${SOURCE_FILES} ${TIMER_SOURCES})
941
+ set(HAVE_SDL_TIMERS TRUE)
942
+
943
+ if(CLOCK_GETTIME)
944
+ set(HAVE_CLOCK_GETTIME 1)
945
+ endif()
946
+ endif()
947
+ if(SDL_VIDEO)
948
+ set(SDL_VIDEO_DRIVER_EMSCRIPTEN 1)
949
+ file(GLOB EM_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/emscripten/*.c)
950
+ set(SOURCE_FILES ${SOURCE_FILES} ${EM_VIDEO_SOURCES})
951
+ set(HAVE_SDL_VIDEO TRUE)
952
+
953
+ #enable gles
954
+ if(VIDEO_OPENGLES)
955
+ set(SDL_VIDEO_OPENGL_EGL 1)
956
+ set(HAVE_VIDEO_OPENGLES TRUE)
957
+ set(SDL_VIDEO_OPENGL_ES2 1)
958
+ set(SDL_VIDEO_RENDER_OGL_ES2 1)
959
+ endif()
960
+ endif()
961
+ elseif(UNIX AND NOT APPLE AND NOT ANDROID)
962
+ if(SDL_AUDIO)
963
+ if(SYSV5 OR SOLARIS OR HPUX)
964
+ set(SDL_AUDIO_DRIVER_SUNAUDIO 1)
965
+ file(GLOB SUN_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/sun/*.c)
966
+ set(SOURCE_FILES ${SOURCE_FILES} ${SUN_AUDIO_SOURCES})
967
+ set(HAVE_SDL_AUDIO TRUE)
968
+ elseif(NETBSD)
969
+ set(SDL_AUDIO_DRIVER_NETBSD 1)
970
+ file(GLOB NETBSD_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/netbsd/*.c)
971
+ set(SOURCE_FILES ${SOURCE_FILES} ${NETBSD_AUDIO_SOURCES})
972
+ set(HAVE_SDL_AUDIO TRUE)
973
+ elseif(AIX)
974
+ set(SDL_AUDIO_DRIVER_PAUDIO 1)
975
+ file(GLOB AIX_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/paudio/*.c)
976
+ set(SOURCE_FILES ${SOURCE_FILES} ${AIX_AUDIO_SOURCES})
977
+ set(HAVE_SDL_AUDIO TRUE)
978
+ endif()
979
+ CheckOSS()
980
+ CheckALSA()
981
+ CheckJACK()
982
+ CheckPulseAudio()
983
+ CheckESD()
984
+ CheckARTS()
985
+ CheckNAS()
986
+ CheckSNDIO()
987
+ CheckFusionSound()
988
+ CheckLibSampleRate()
989
+ endif()
990
+
991
+ if(SDL_VIDEO)
992
+ # Need to check for Raspberry PI first and add platform specific compiler flags, otherwise the test for GLES fails!
993
+ CheckRPI()
994
+ CheckX11()
995
+ CheckMir()
996
+ CheckDirectFB()
997
+ CheckOpenGLX11()
998
+ CheckOpenGLESX11()
999
+ CheckWayland()
1000
+ CheckVivante()
1001
+ CheckKMSDRM()
1002
+ endif()
1003
+
1004
+ if(UNIX)
1005
+ file(GLOB CORE_UNIX_SOURCES ${SDL2_SOURCE_DIR}/src/core/unix/*.c)
1006
+ set(SOURCE_FILES ${SOURCE_FILES} ${CORE_UNIX_SOURCES})
1007
+ endif()
1008
+
1009
+ if(LINUX)
1010
+ check_c_source_compiles("
1011
+ #include <linux/input.h>
1012
+ #ifndef EVIOCGNAME
1013
+ #error EVIOCGNAME() ioctl not available
1014
+ #endif
1015
+ int main(int argc, char** argv) {}" HAVE_INPUT_EVENTS)
1016
+
1017
+ check_c_source_compiles("
1018
+ #include <linux/kd.h>
1019
+ #include <linux/keyboard.h>
1020
+
1021
+ int main(int argc, char **argv)
1022
+ {
1023
+ struct kbentry kbe;
1024
+ kbe.kb_table = KG_CTRL;
1025
+ ioctl(0, KDGKBENT, &kbe);
1026
+ }" HAVE_INPUT_KD)
1027
+
1028
+ file(GLOB CORE_LINUX_SOURCES ${SDL2_SOURCE_DIR}/src/core/linux/*.c)
1029
+ set(SOURCE_FILES ${SOURCE_FILES} ${CORE_LINUX_SOURCES})
1030
+
1031
+ if(HAVE_INPUT_EVENTS)
1032
+ set(SDL_INPUT_LINUXEV 1)
1033
+ endif()
1034
+
1035
+ if(SDL_HAPTIC AND HAVE_INPUT_EVENTS)
1036
+ set(SDL_HAPTIC_LINUX 1)
1037
+ file(GLOB HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/linux/*.c)
1038
+ set(SOURCE_FILES ${SOURCE_FILES} ${HAPTIC_SOURCES})
1039
+ set(HAVE_SDL_HAPTIC TRUE)
1040
+ endif()
1041
+
1042
+ if(HAVE_INPUT_KD)
1043
+ set(SDL_INPUT_LINUXKD 1)
1044
+ endif()
1045
+
1046
+ check_include_file("libudev.h" HAVE_LIBUDEV_H)
1047
+
1048
+ if(PKG_CONFIG_FOUND)
1049
+ pkg_search_module(DBUS dbus-1 dbus)
1050
+ if(DBUS_FOUND)
1051
+ set(HAVE_DBUS_DBUS_H TRUE)
1052
+ include_directories(${DBUS_INCLUDE_DIRS})
1053
+ list(APPEND EXTRA_LIBS ${DBUS_LIBRARIES})
1054
+ endif()
1055
+
1056
+ pkg_search_module(IBUS ibus-1.0 ibus)
1057
+ if(IBUS_FOUND)
1058
+ set(HAVE_IBUS_IBUS_H TRUE)
1059
+ include_directories(${IBUS_INCLUDE_DIRS})
1060
+ list(APPEND EXTRA_LIBS ${IBUS_LIBRARIES})
1061
+ endif()
1062
+ endif()
1063
+
1064
+ check_include_file("fcitx/frontend.h" HAVE_FCITX_FRONTEND_H)
1065
+ endif()
1066
+
1067
+ if(INPUT_TSLIB)
1068
+ check_c_source_compiles("
1069
+ #include \"tslib.h\"
1070
+ int main(int argc, char** argv) { }" HAVE_INPUT_TSLIB)
1071
+ if(HAVE_INPUT_TSLIB)
1072
+ set(SDL_INPUT_TSLIB 1)
1073
+ list(APPEND EXTRA_LIBS ts)
1074
+ endif()
1075
+ endif()
1076
+
1077
+ if(SDL_JOYSTICK)
1078
+ CheckUSBHID() # seems to be BSD specific - limit the test to BSD only?
1079
+ if(LINUX AND NOT ANDROID)
1080
+ set(SDL_JOYSTICK_LINUX 1)
1081
+ file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/linux/*.c ${SDL2_SOURCE_DIR}/src/joystick/steam/*.c)
1082
+ set(SOURCE_FILES ${SOURCE_FILES} ${JOYSTICK_SOURCES})
1083
+ set(HAVE_SDL_JOYSTICK TRUE)
1084
+ endif()
1085
+ endif()
1086
+
1087
+ CheckPTHREAD()
1088
+
1089
+ if(CLOCK_GETTIME)
1090
+ check_library_exists(rt clock_gettime "" FOUND_CLOCK_GETTIME)
1091
+ if(FOUND_CLOCK_GETTIME)
1092
+ list(APPEND EXTRA_LIBS rt)
1093
+ set(HAVE_CLOCK_GETTIME 1)
1094
+ else()
1095
+ check_library_exists(c clock_gettime "" FOUND_CLOCK_GETTIME)
1096
+ if(FOUND_CLOCK_GETTIME)
1097
+ set(HAVE_CLOCK_GETTIME 1)
1098
+ endif()
1099
+ endif()
1100
+ endif()
1101
+
1102
+ check_include_file(linux/version.h HAVE_LINUX_VERSION_H)
1103
+ if(HAVE_LINUX_VERSION_H)
1104
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DHAVE_LINUX_VERSION_H")
1105
+ endif()
1106
+
1107
+ if(SDL_POWER)
1108
+ if(LINUX)
1109
+ set(SDL_POWER_LINUX 1)
1110
+ file(GLOB POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/linux/*.c)
1111
+ set(SOURCE_FILES ${SOURCE_FILES} ${POWER_SOURCES})
1112
+ set(HAVE_SDL_POWER TRUE)
1113
+ endif()
1114
+ endif()
1115
+
1116
+ if(SDL_FILESYSTEM)
1117
+ set(SDL_FILESYSTEM_UNIX 1)
1118
+ file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/unix/*.c)
1119
+ set(SOURCE_FILES ${SOURCE_FILES} ${FILESYSTEM_SOURCES})
1120
+ set(HAVE_SDL_FILESYSTEM TRUE)
1121
+ endif()
1122
+
1123
+ if(SDL_TIMERS)
1124
+ set(SDL_TIMER_UNIX 1)
1125
+ file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/unix/*.c)
1126
+ set(SOURCE_FILES ${SOURCE_FILES} ${TIMER_SOURCES})
1127
+ set(HAVE_SDL_TIMERS TRUE)
1128
+ endif()
1129
+
1130
+ if(RPATH)
1131
+ set(SDL_RLD_FLAGS "")
1132
+ if(BSDI OR FREEBSD OR LINUX OR NETBSD)
1133
+ set(CMAKE_REQUIRED_FLAGS "-Wl,--enable-new-dtags")
1134
+ check_c_compiler_flag("" HAVE_ENABLE_NEW_DTAGS)
1135
+ set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS})
1136
+ if(HAVE_ENABLE_NEW_DTAGS)
1137
+ set(SDL_RLD_FLAGS "-Wl,-rpath,\${libdir} -Wl,--enable-new-dtags")
1138
+ else()
1139
+ set(SDL_RLD_FLAGS "-Wl,-rpath,\${libdir}")
1140
+ endif()
1141
+ elseif(SOLARIS)
1142
+ set(SDL_RLD_FLAGS "-R\${libdir}")
1143
+ endif()
1144
+ set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
1145
+ set(HAVE_RPATH TRUE)
1146
+ endif()
1147
+
1148
+ elseif(WINDOWS)
1149
+ find_program(WINDRES windres)
1150
+
1151
+ check_c_source_compiles("
1152
+ #include <windows.h>
1153
+ int main(int argc, char **argv) { }" HAVE_WIN32_CC)
1154
+
1155
+ file(GLOB CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/windows/*.c)
1156
+ set(SOURCE_FILES ${SOURCE_FILES} ${CORE_SOURCES})
1157
+
1158
+ if(MSVC)
1159
+ # Prevent codegen that would use the VC runtime libraries.
1160
+ set_property(DIRECTORY . APPEND PROPERTY COMPILE_OPTIONS "/GS-")
1161
+ if(NOT ARCH_64)
1162
+ set_property(DIRECTORY . APPEND PROPERTY COMPILE_OPTIONS "/arch:SSE")
1163
+ endif()
1164
+ endif()
1165
+
1166
+ # Check for DirectX
1167
+ if(DIRECTX)
1168
+ if(DEFINED MSVC_VERSION AND NOT ${MSVC_VERSION} LESS 1700)
1169
+ set(USE_WINSDK_DIRECTX TRUE)
1170
+ endif()
1171
+ if(NOT CMAKE_COMPILER_IS_MINGW AND NOT USE_WINSDK_DIRECTX)
1172
+ if("$ENV{DXSDK_DIR}" STREQUAL "")
1173
+ message_error("DIRECTX requires the \$DXSDK_DIR environment variable to be set")
1174
+ endif()
1175
+ set(CMAKE_REQUIRED_FLAGS "/I\"$ENV{DXSDK_DIR}\\Include\"")
1176
+ endif()
1177
+
1178
+ if(HAVE_WIN32_CC)
1179
+ # xinput.h may need windows.h, but doesn't include it itself.
1180
+ check_c_source_compiles("
1181
+ #include <windows.h>
1182
+ #include <xinput.h>
1183
+ int main(int argc, char **argv) { }" HAVE_XINPUT_H)
1184
+ check_c_source_compiles("
1185
+ #include <windows.h>
1186
+ #include <xinput.h>
1187
+ XINPUT_GAMEPAD_EX x1;
1188
+ int main(int argc, char **argv) { }" HAVE_XINPUT_GAMEPAD_EX)
1189
+ check_c_source_compiles("
1190
+ #include <windows.h>
1191
+ #include <xinput.h>
1192
+ XINPUT_STATE_EX s1;
1193
+ int main(int argc, char **argv) { }" HAVE_XINPUT_STATE_EX)
1194
+ else()
1195
+ check_include_file(xinput.h HAVE_XINPUT_H)
1196
+ endif()
1197
+
1198
+ check_include_file(d3d9.h HAVE_D3D_H)
1199
+ check_include_file(d3d11_1.h HAVE_D3D11_H)
1200
+ check_include_file(ddraw.h HAVE_DDRAW_H)
1201
+ check_include_file(dsound.h HAVE_DSOUND_H)
1202
+ check_include_file(dinput.h HAVE_DINPUT_H)
1203
+ check_include_file(mmdeviceapi.h HAVE_MMDEVICEAPI_H)
1204
+ check_include_file(audioclient.h HAVE_AUDIOCLIENT_H)
1205
+ check_include_file(dxgi.h HAVE_DXGI_H)
1206
+ if(HAVE_D3D_H OR HAVE_D3D11_H OR HAVE_DDRAW_H OR HAVE_DSOUND_H OR HAVE_DINPUT_H)
1207
+ set(HAVE_DIRECTX TRUE)
1208
+ if(NOT CMAKE_COMPILER_IS_MINGW AND NOT USE_WINSDK_DIRECTX)
1209
+ # TODO: change $ENV{DXSDL_DIR} to get the path from the include checks
1210
+ link_directories($ENV{DXSDK_DIR}\\lib\\${PROCESSOR_ARCH})
1211
+ include_directories($ENV{DXSDK_DIR}\\Include)
1212
+ endif()
1213
+ endif()
1214
+ set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS})
1215
+ endif()
1216
+
1217
+ if(SDL_AUDIO)
1218
+ set(SDL_AUDIO_DRIVER_WINMM 1)
1219
+ file(GLOB WINMM_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/winmm/*.c)
1220
+ set(SOURCE_FILES ${SOURCE_FILES} ${WINMM_AUDIO_SOURCES})
1221
+ set(HAVE_SDL_AUDIO TRUE)
1222
+
1223
+ if(HAVE_DSOUND_H)
1224
+ set(SDL_AUDIO_DRIVER_DSOUND 1)
1225
+ file(GLOB DSOUND_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/directsound/*.c)
1226
+ set(SOURCE_FILES ${SOURCE_FILES} ${DSOUND_AUDIO_SOURCES})
1227
+ endif()
1228
+
1229
+ if(WASAPI AND HAVE_AUDIOCLIENT_H AND HAVE_MMDEVICEAPI_H)
1230
+ set(SDL_AUDIO_DRIVER_WASAPI 1)
1231
+ file(GLOB WASAPI_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/wasapi/*.c)
1232
+ set(SOURCE_FILES ${SOURCE_FILES} ${WASAPI_AUDIO_SOURCES})
1233
+ endif()
1234
+ endif()
1235
+
1236
+ if(SDL_VIDEO)
1237
+ # requires SDL_LOADSO on Windows (IME, DX, etc.)
1238
+ if(NOT SDL_LOADSO)
1239
+ message_error("SDL_VIDEO requires SDL_LOADSO, which is not enabled")
1240
+ endif()
1241
+ set(SDL_VIDEO_DRIVER_WINDOWS 1)
1242
+ file(GLOB WIN_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/windows/*.c)
1243
+ set(SOURCE_FILES ${SOURCE_FILES} ${WIN_VIDEO_SOURCES})
1244
+
1245
+ if(RENDER_D3D AND HAVE_D3D_H)
1246
+ set(SDL_VIDEO_RENDER_D3D 1)
1247
+ set(HAVE_RENDER_D3D TRUE)
1248
+ endif()
1249
+ if(RENDER_D3D AND HAVE_D3D11_H)
1250
+ set(SDL_VIDEO_RENDER_D3D11 1)
1251
+ set(HAVE_RENDER_D3D TRUE)
1252
+ endif()
1253
+ set(HAVE_SDL_VIDEO TRUE)
1254
+ endif()
1255
+
1256
+ if(SDL_THREADS)
1257
+ set(SDL_THREAD_WINDOWS 1)
1258
+ set(SOURCE_FILES ${SOURCE_FILES}
1259
+ ${SDL2_SOURCE_DIR}/src/thread/windows/SDL_sysmutex.c
1260
+ ${SDL2_SOURCE_DIR}/src/thread/windows/SDL_syssem.c
1261
+ ${SDL2_SOURCE_DIR}/src/thread/windows/SDL_systhread.c
1262
+ ${SDL2_SOURCE_DIR}/src/thread/windows/SDL_systls.c
1263
+ ${SDL2_SOURCE_DIR}/src/thread/generic/SDL_syscond.c)
1264
+ set(HAVE_SDL_THREADS TRUE)
1265
+ endif()
1266
+
1267
+ if(SDL_POWER)
1268
+ set(SDL_POWER_WINDOWS 1)
1269
+ set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/power/windows/SDL_syspower.c)
1270
+ set(HAVE_SDL_POWER TRUE)
1271
+ endif()
1272
+
1273
+ if(SDL_FILESYSTEM)
1274
+ set(SDL_FILESYSTEM_WINDOWS 1)
1275
+ file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/windows/*.c)
1276
+ set(SOURCE_FILES ${SOURCE_FILES} ${FILESYSTEM_SOURCES})
1277
+ set(HAVE_SDL_FILESYSTEM TRUE)
1278
+ endif()
1279
+
1280
+ # Libraries for Win32 native and MinGW
1281
+ list(APPEND EXTRA_LIBS user32 gdi32 winmm imm32 ole32 oleaut32 version uuid advapi32 shell32)
1282
+
1283
+ # TODO: in configure.in the check for timers is set on
1284
+ # cygwin | mingw32* - does this include mingw32CE?
1285
+ if(SDL_TIMERS)
1286
+ set(SDL_TIMER_WINDOWS 1)
1287
+ file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/windows/*.c)
1288
+ set(SOURCE_FILES ${SOURCE_FILES} ${TIMER_SOURCES})
1289
+ set(HAVE_SDL_TIMERS TRUE)
1290
+ endif()
1291
+
1292
+ if(SDL_LOADSO)
1293
+ set(SDL_LOADSO_WINDOWS 1)
1294
+ file(GLOB LOADSO_SOURCES ${SDL2_SOURCE_DIR}/src/loadso/windows/*.c)
1295
+ set(SOURCE_FILES ${SOURCE_FILES} ${LOADSO_SOURCES})
1296
+ set(HAVE_SDL_LOADSO TRUE)
1297
+ endif()
1298
+
1299
+ file(GLOB CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/windows/*.c)
1300
+ set(SOURCE_FILES ${SOURCE_FILES} ${CORE_SOURCES})
1301
+
1302
+ if(SDL_VIDEO)
1303
+ if(VIDEO_OPENGL)
1304
+ set(SDL_VIDEO_OPENGL 1)
1305
+ set(SDL_VIDEO_OPENGL_WGL 1)
1306
+ set(SDL_VIDEO_RENDER_OGL 1)
1307
+ set(HAVE_VIDEO_OPENGL TRUE)
1308
+ endif()
1309
+
1310
+ if(VIDEO_OPENGLES)
1311
+ set(SDL_VIDEO_OPENGL_EGL 1)
1312
+ set(SDL_VIDEO_OPENGL_ES2 1)
1313
+ set(SDL_VIDEO_RENDER_OGL_ES2 1)
1314
+ set(HAVE_VIDEO_OPENGLES TRUE)
1315
+ endif()
1316
+ endif()
1317
+
1318
+ if(SDL_JOYSTICK)
1319
+ file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/windows/*.c)
1320
+ set(SOURCE_FILES ${SOURCE_FILES} ${JOYSTICK_SOURCES})
1321
+ if(HAVE_DINPUT_H)
1322
+ set(SDL_JOYSTICK_DINPUT 1)
1323
+ list(APPEND EXTRA_LIBS dinput8)
1324
+ if(CMAKE_COMPILER_IS_MINGW)
1325
+ list(APPEND EXTRA_LIBS dxerr8)
1326
+ elseif (NOT USE_WINSDK_DIRECTX)
1327
+ list(APPEND EXTRA_LIBS dxerr)
1328
+ endif()
1329
+ endif()
1330
+ if(HAVE_XINPUT_H)
1331
+ set(SDL_JOYSTICK_XINPUT 1)
1332
+ endif()
1333
+ if(NOT HAVE_DINPUT_H AND NOT HAVE_XINPUT_H)
1334
+ set(SDL_JOYSTICK_WINMM 1)
1335
+ endif()
1336
+ set(HAVE_SDL_JOYSTICK TRUE)
1337
+
1338
+ if(SDL_HAPTIC)
1339
+ if(HAVE_DINPUT_H OR HAVE_XINPUT_H)
1340
+ file(GLOB HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/windows/*.c)
1341
+ if(HAVE_DINPUT_H)
1342
+ set(SDL_HAPTIC_DINPUT 1)
1343
+ endif()
1344
+ if(HAVE_XINPUT_H)
1345
+ set(SDL_HAPTIC_XINPUT 1)
1346
+ endif()
1347
+ else()
1348
+ file(GLOB HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/dummy/*.c)
1349
+ set(SDL_HAPTIC_DUMMY 1)
1350
+ endif()
1351
+ set(SOURCE_FILES ${SOURCE_FILES} ${HAPTIC_SOURCES})
1352
+ set(HAVE_SDL_HAPTIC TRUE)
1353
+ endif()
1354
+ endif()
1355
+
1356
+ file(GLOB VERSION_SOURCES ${SDL2_SOURCE_DIR}/src/main/windows/*.rc)
1357
+ file(GLOB SDLMAIN_SOURCES ${SDL2_SOURCE_DIR}/src/main/windows/*.c)
1358
+ if(MINGW OR CYGWIN)
1359
+ list(APPEND EXTRA_LIBS mingw32)
1360
+ list(APPEND EXTRA_LDFLAGS "-mwindows")
1361
+ set(SDL_CFLAGS "${SDL_CFLAGS} -Dmain=SDL_main")
1362
+ list(APPEND SDL_LIBS "-lmingw32" "-lSDL2main" "-mwindows")
1363
+ endif()
1364
+ elseif(APPLE)
1365
+ # TODO: rework this all for proper MacOS X, iOS and Darwin support
1366
+
1367
+ # We always need these libs on macOS at the moment.
1368
+ # !!! FIXME: we need Carbon for some very old API calls in
1369
+ # !!! FIXME: src/video/cocoa/SDL_cocoakeyboard.c, but we should figure out
1370
+ # !!! FIXME: how to dump those.
1371
+ if(NOT IOS)
1372
+ set(SDL_FRAMEWORK_COCOA 1)
1373
+ set(SDL_FRAMEWORK_CARBON 1)
1374
+ endif()
1375
+
1376
+ # Requires the darwin file implementation
1377
+ if(SDL_FILE)
1378
+ file(GLOB EXTRA_SOURCES ${SDL2_SOURCE_DIR}/src/file/cocoa/*.m)
1379
+ set(SOURCE_FILES ${EXTRA_SOURCES} ${SOURCE_FILES})
1380
+ # !!! FIXME: modern CMake doesn't need "LANGUAGE C" for Objective-C.
1381
+ set_source_files_properties(${EXTRA_SOURCES} PROPERTIES LANGUAGE C)
1382
+ set(HAVE_SDL_FILE TRUE)
1383
+ # !!! FIXME: why is COREVIDEO inside this if() block?
1384
+ set(SDL_FRAMEWORK_COREVIDEO 1)
1385
+ else()
1386
+ message_error("SDL_FILE must be enabled to build on MacOS X")
1387
+ endif()
1388
+
1389
+ if(SDL_AUDIO)
1390
+ set(SDL_AUDIO_DRIVER_COREAUDIO 1)
1391
+ file(GLOB AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/coreaudio/*.m)
1392
+ # !!! FIXME: modern CMake doesn't need "LANGUAGE C" for Objective-C.
1393
+ set_source_files_properties(${AUDIO_SOURCES} PROPERTIES LANGUAGE C)
1394
+ set(SOURCE_FILES ${SOURCE_FILES} ${AUDIO_SOURCES})
1395
+ set(HAVE_SDL_AUDIO TRUE)
1396
+ set(SDL_FRAMEWORK_COREAUDIO 1)
1397
+ set(SDL_FRAMEWORK_AUDIOTOOLBOX 1)
1398
+ endif()
1399
+
1400
+ if(SDL_JOYSTICK)
1401
+ set(SDL_JOYSTICK_IOKIT 1)
1402
+ if (IOS)
1403
+ file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/iphoneos/*.m ${SDL2_SOURCE_DIR}/src/joystick/steam/*.c)
1404
+ else()
1405
+ file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/darwin/*.c)
1406
+ endif()
1407
+ set(SOURCE_FILES ${SOURCE_FILES} ${JOYSTICK_SOURCES})
1408
+ set(HAVE_SDL_JOYSTICK TRUE)
1409
+ set(SDL_FRAMEWORK_IOKIT 1)
1410
+ set(SDL_FRAMEWORK_FF 1)
1411
+ endif()
1412
+
1413
+ if(SDL_HAPTIC)
1414
+ set(SDL_HAPTIC_IOKIT 1)
1415
+ if (IOS)
1416
+ file(GLOB HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/dummy/*.c)
1417
+ set(SDL_HAPTIC_DUMMY 1)
1418
+ else()
1419
+ file(GLOB HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/darwin/*.c)
1420
+ endif()
1421
+ set(SOURCE_FILES ${SOURCE_FILES} ${HAPTIC_SOURCES})
1422
+ set(HAVE_SDL_HAPTIC TRUE)
1423
+ set(SDL_FRAMEWORK_IOKIT 1)
1424
+ set(SDL_FRAMEWORK_FF 1)
1425
+ if(NOT SDL_JOYSTICK)
1426
+ message(FATAL_ERROR "SDL_HAPTIC requires SDL_JOYSTICK to be enabled")
1427
+ endif()
1428
+ endif()
1429
+
1430
+ if(SDL_POWER)
1431
+ set(SDL_POWER_MACOSX 1)
1432
+ if (IOS)
1433
+ file(GLOB POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/uikit/*.m)
1434
+ else()
1435
+ file(GLOB POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/macosx/*.c)
1436
+ endif()
1437
+ set(SOURCE_FILES ${SOURCE_FILES} ${POWER_SOURCES})
1438
+ set(HAVE_SDL_POWER TRUE)
1439
+ set(SDL_FRAMEWORK_IOKIT 1)
1440
+ endif()
1441
+
1442
+ if(SDL_TIMERS)
1443
+ set(SDL_TIMER_UNIX 1)
1444
+ file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/unix/*.c)
1445
+ set(SOURCE_FILES ${SOURCE_FILES} ${TIMER_SOURCES})
1446
+ set(HAVE_SDL_TIMERS TRUE)
1447
+ endif(SDL_TIMERS)
1448
+
1449
+ if(SDL_FILESYSTEM)
1450
+ set(SDL_FILESYSTEM_COCOA 1)
1451
+ file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/cocoa/*.m)
1452
+ # !!! FIXME: modern CMake doesn't need "LANGUAGE C" for Objective-C.
1453
+ set_source_files_properties(${FILESYSTEM_SOURCES} PROPERTIES LANGUAGE C)
1454
+ set(SOURCE_FILES ${SOURCE_FILES} ${FILESYSTEM_SOURCES})
1455
+ set(HAVE_SDL_FILESYSTEM TRUE)
1456
+ endif()
1457
+
1458
+ # Actually load the frameworks at the end so we don't duplicate include.
1459
+ if(SDL_FRAMEWORK_COREVIDEO)
1460
+ find_library(COREVIDEO CoreVideo)
1461
+ list(APPEND EXTRA_LIBS ${COREVIDEO})
1462
+ endif()
1463
+ if(SDL_FRAMEWORK_COCOA)
1464
+ find_library(COCOA_LIBRARY Cocoa)
1465
+ list(APPEND EXTRA_LIBS ${COCOA_LIBRARY})
1466
+ endif()
1467
+ if(SDL_FRAMEWORK_IOKIT)
1468
+ find_library(IOKIT IOKit)
1469
+ list(APPEND EXTRA_LIBS ${IOKIT})
1470
+ endif()
1471
+ if(SDL_FRAMEWORK_FF)
1472
+ find_library(FORCEFEEDBACK ForceFeedback)
1473
+ list(APPEND EXTRA_LIBS ${FORCEFEEDBACK})
1474
+ endif()
1475
+ if(SDL_FRAMEWORK_CARBON)
1476
+ find_library(CARBON_LIBRARY Carbon)
1477
+ list(APPEND EXTRA_LIBS ${CARBON_LIBRARY})
1478
+ endif()
1479
+ if(SDL_FRAMEWORK_COREAUDIO)
1480
+ find_library(COREAUDIO CoreAudio)
1481
+ list(APPEND EXTRA_LIBS ${COREAUDIO})
1482
+ endif()
1483
+ if(SDL_FRAMEWORK_AUDIOTOOLBOX)
1484
+ find_library(AUDIOTOOLBOX AudioToolbox)
1485
+ list(APPEND EXTRA_LIBS ${AUDIOTOOLBOX})
1486
+ endif()
1487
+
1488
+ # iOS hack needed - http://code.google.com/p/ios-cmake/ ?
1489
+ if(SDL_VIDEO)
1490
+ if (IOS)
1491
+ set(SDL_VIDEO_DRIVER_UIKIT 1)
1492
+ file(GLOB UIKITVIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/uikit/*.m)
1493
+ set(SOURCE_FILES ${SOURCE_FILES} ${UIKITVIDEO_SOURCES})
1494
+ else()
1495
+ CheckCOCOA()
1496
+ if(VIDEO_OPENGL)
1497
+ set(SDL_VIDEO_OPENGL 1)
1498
+ set(SDL_VIDEO_OPENGL_CGL 1)
1499
+ set(SDL_VIDEO_RENDER_OGL 1)
1500
+ set(HAVE_VIDEO_OPENGL TRUE)
1501
+ endif()
1502
+
1503
+ if(VIDEO_OPENGLES)
1504
+ set(SDL_VIDEO_OPENGL_EGL 1)
1505
+ set(SDL_VIDEO_OPENGL_ES2 1)
1506
+ set(SDL_VIDEO_RENDER_OGL_ES2 1)
1507
+ set(HAVE_VIDEO_OPENGLES TRUE)
1508
+ endif()
1509
+ endif()
1510
+ endif()
1511
+
1512
+ CheckPTHREAD()
1513
+ elseif(HAIKU)
1514
+ if(SDL_VIDEO)
1515
+ set(SDL_VIDEO_DRIVER_HAIKU 1)
1516
+ file(GLOB HAIKUVIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/haiku/*.c)
1517
+ set(SOURCE_FILES ${SOURCE_FILES} ${HAIKUVIDEO_SOURCES})
1518
+ set(HAVE_SDL_VIDEO TRUE)
1519
+
1520
+ set(SDL_FILESYSTEM_HAIKU 1)
1521
+ file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/haiku/*.cc)
1522
+ set(SOURCE_FILES ${SOURCE_FILES} ${FILESYSTEM_SOURCES})
1523
+ set(HAVE_SDL_FILESYSTEM TRUE)
1524
+
1525
+ if(SDL_TIMERS)
1526
+ set(SDL_TIMER_HAIKU 1)
1527
+ file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/haiku/*.c)
1528
+ set(SOURCE_FILES ${SOURCE_FILES} ${TIMER_SOURCES})
1529
+ set(HAVE_SDL_TIMERS TRUE)
1530
+ endif(SDL_TIMERS)
1531
+
1532
+ if(VIDEO_OPENGL)
1533
+ # TODO: Use FIND_PACKAGE(OpenGL) instead
1534
+ set(SDL_VIDEO_OPENGL 1)
1535
+ set(SDL_VIDEO_OPENGL_BGL 1)
1536
+ set(SDL_VIDEO_RENDER_OGL 1)
1537
+ list(APPEND EXTRA_LIBS GL)
1538
+ set(HAVE_VIDEO_OPENGL TRUE)
1539
+ endif()
1540
+ endif()
1541
+
1542
+ CheckPTHREAD()
1543
+ endif()
1544
+
1545
+ if(VIDEO_VULKAN)
1546
+ set(SDL_VIDEO_VULKAN 1)
1547
+ endif()
1548
+
1549
+ # Dummies
1550
+ # configure.in does it differently:
1551
+ # if not have X
1552
+ # if enable_X { SDL_X_DISABLED = 1 }
1553
+ # [add dummy sources]
1554
+ # so it always adds a dummy, without checking, if it was actually requested.
1555
+ # This leads to missing internal references on building, since the
1556
+ # src/X/*.c does not get included.
1557
+ if(NOT HAVE_SDL_JOYSTICK)
1558
+ set(SDL_JOYSTICK_DISABLED 1)
1559
+ if(SDL_JOYSTICK AND NOT APPLE) # results in unresolved symbols on OSX
1560
+
1561
+ file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/dummy/*.c)
1562
+ set(SOURCE_FILES ${SOURCE_FILES} ${JOYSTICK_SOURCES})
1563
+ endif()
1564
+ endif()
1565
+ if(NOT HAVE_SDL_HAPTIC)
1566
+ set(SDL_HAPTIC_DISABLED 1)
1567
+ file(GLOB HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/dummy/*.c)
1568
+ set(SOURCE_FILES ${SOURCE_FILES} ${HAPTIC_SOURCES})
1569
+ endif()
1570
+ if(NOT HAVE_SDL_LOADSO)
1571
+ set(SDL_LOADSO_DISABLED 1)
1572
+ file(GLOB LOADSO_SOURCES ${SDL2_SOURCE_DIR}/src/loadso/dummy/*.c)
1573
+ set(SOURCE_FILES ${SOURCE_FILES} ${LOADSO_SOURCES})
1574
+ endif()
1575
+ if(NOT HAVE_SDL_FILESYSTEM)
1576
+ set(SDL_FILESYSTEM_DISABLED 1)
1577
+ file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/dummy/*.c)
1578
+ set(SOURCE_FILES ${SOURCE_FILES} ${FILESYSTEM_SOURCES})
1579
+ endif()
1580
+ if(NOT HAVE_SDL_SENSORS)
1581
+ set(SDL_SENSORS_DISABLED 1)
1582
+ file(GLOB SENSORS_SOURCES ${SDL2_SOURCE_DIR}/src/sensor/dummy/*.c)
1583
+ set(SOURCE_FILES ${SOURCE_FILES} ${SENSORS_SOURCES})
1584
+ endif()
1585
+
1586
+ # We always need to have threads and timers around
1587
+ if(NOT HAVE_SDL_THREADS)
1588
+ set(SDL_THREADS_DISABLED 1)
1589
+ file(GLOB THREADS_SOURCES ${SDL2_SOURCE_DIR}/src/thread/generic/*.c)
1590
+ set(SOURCE_FILES ${SOURCE_FILES} ${THREADS_SOURCES})
1591
+ endif()
1592
+ if(NOT HAVE_SDL_TIMERS)
1593
+ set(SDL_TIMERS_DISABLED 1)
1594
+ file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/dummy/*.c)
1595
+ set(SOURCE_FILES ${SOURCE_FILES} ${TIMER_SOURCES})
1596
+ endif()
1597
+
1598
+ if(NOT SDLMAIN_SOURCES)
1599
+ file(GLOB SDLMAIN_SOURCES ${SDL2_SOURCE_DIR}/src/main/dummy/*.c)
1600
+ endif()
1601
+
1602
+ # Append the -MMD -MT flags
1603
+ # if(DEPENDENCY_TRACKING)
1604
+ # if(COMPILER_IS_GNUCC)
1605
+ # set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -MMD -MT \$@")
1606
+ # endif()
1607
+ # endif()
1608
+
1609
+ configure_file("${SDL2_SOURCE_DIR}/include/SDL_config.h.cmake"
1610
+ "${SDL2_BINARY_DIR}/include/SDL_config.h")
1611
+
1612
+ # Prepare the flags and remove duplicates
1613
+ if(EXTRA_LDFLAGS)
1614
+ list(REMOVE_DUPLICATES EXTRA_LDFLAGS)
1615
+ endif()
1616
+ if(EXTRA_LIBS)
1617
+ list(REMOVE_DUPLICATES EXTRA_LIBS)
1618
+ endif()
1619
+ if(EXTRA_CFLAGS)
1620
+ list(REMOVE_DUPLICATES EXTRA_CFLAGS)
1621
+ endif()
1622
+ listtostr(EXTRA_CFLAGS _EXTRA_CFLAGS)
1623
+ set(EXTRA_CFLAGS ${_EXTRA_CFLAGS})
1624
+
1625
+ # Compat helpers for the configuration files
1626
+ if(NOT WINDOWS OR CYGWIN)
1627
+ # TODO: we need a Windows script, too
1628
+ execute_process(COMMAND sh ${SDL2_SOURCE_DIR}/build-scripts/updaterev.sh)
1629
+
1630
+ set(prefix ${CMAKE_INSTALL_PREFIX})
1631
+ set(exec_prefix "\${prefix}")
1632
+ set(libdir "\${exec_prefix}/lib${LIB_SUFFIX}")
1633
+ set(bindir "\${exec_prefix}/bin")
1634
+ set(includedir "\${prefix}/include")
1635
+ if(SDL_STATIC)
1636
+ set(ENABLE_STATIC_TRUE "")
1637
+ set(ENABLE_STATIC_FALSE "#")
1638
+ else()
1639
+ set(ENABLE_STATIC_TRUE "#")
1640
+ set(ENABLE_STATIC_FALSE "")
1641
+ endif()
1642
+ if(SDL_SHARED)
1643
+ set(ENABLE_SHARED_TRUE "")
1644
+ set(ENABLE_SHARED_FALSE "#")
1645
+ else()
1646
+ set(ENABLE_SHARED_TRUE "#")
1647
+ set(ENABLE_SHARED_FALSE "")
1648
+ endif()
1649
+
1650
+ # Clean up the different lists
1651
+ listtostr(EXTRA_LIBS _EXTRA_LIBS "-l")
1652
+ set(SDL_STATIC_LIBS ${SDL_LIBS} ${EXTRA_LDFLAGS} ${_EXTRA_LIBS})
1653
+ list(REMOVE_DUPLICATES SDL_STATIC_LIBS)
1654
+ listtostr(SDL_STATIC_LIBS _SDL_STATIC_LIBS)
1655
+ set(SDL_STATIC_LIBS ${_SDL_STATIC_LIBS})
1656
+ listtostr(SDL_LIBS _SDL_LIBS)
1657
+ set(SDL_LIBS ${_SDL_LIBS})
1658
+
1659
+ # MESSAGE(STATUS "SDL_LIBS: ${SDL_LIBS}")
1660
+ # MESSAGE(STATUS "SDL_STATIC_LIBS: ${SDL_STATIC_LIBS}")
1661
+
1662
+ configure_file("${SDL2_SOURCE_DIR}/sdl2.pc.in"
1663
+ "${SDL2_BINARY_DIR}/sdl2.pc" @ONLY)
1664
+ configure_file("${SDL2_SOURCE_DIR}/sdl2-config.in"
1665
+ "${SDL2_BINARY_DIR}/sdl2-config")
1666
+ configure_file("${SDL2_SOURCE_DIR}/sdl2-config.in"
1667
+ "${SDL2_BINARY_DIR}/sdl2-config" @ONLY)
1668
+ configure_file("${SDL2_SOURCE_DIR}/SDL2.spec.in"
1669
+ "${SDL2_BINARY_DIR}/SDL2.spec" @ONLY)
1670
+ endif()
1671
+
1672
+ ##### Info output #####
1673
+ message(STATUS "")
1674
+ message(STATUS "SDL2 was configured with the following options:")
1675
+ message(STATUS "")
1676
+ message(STATUS "Platform: ${CMAKE_SYSTEM}")
1677
+ message(STATUS "64-bit: ${ARCH_64}")
1678
+ message(STATUS "Compiler: ${CMAKE_C_COMPILER}")
1679
+ message(STATUS "")
1680
+ message(STATUS "Subsystems:")
1681
+ foreach(_SUB ${SDL_SUBSYSTEMS})
1682
+ string(TOUPPER ${_SUB} _OPT)
1683
+ message_bool_option(${_SUB} SDL_${_OPT})
1684
+ endforeach()
1685
+ message(STATUS "")
1686
+ message(STATUS "Options:")
1687
+ list(SORT ALLOPTIONS)
1688
+ foreach(_OPT ${ALLOPTIONS})
1689
+ # Longest option is VIDEO_X11_XSCREENSAVER = 22 characters
1690
+ # Get the padding
1691
+ string(LENGTH ${_OPT} _OPTLEN)
1692
+ math(EXPR _PADLEN "23 - ${_OPTLEN}")
1693
+ string(RANDOM LENGTH ${_PADLEN} ALPHABET " " _PADDING)
1694
+ message_tested_option(${_OPT} ${_PADDING})
1695
+ endforeach()
1696
+ message(STATUS "")
1697
+ message(STATUS " CFLAGS: ${CMAKE_C_FLAGS}")
1698
+ message(STATUS " EXTRA_CFLAGS: ${EXTRA_CFLAGS}")
1699
+ message(STATUS " EXTRA_LDFLAGS: ${EXTRA_LDFLAGS}")
1700
+ message(STATUS " EXTRA_LIBS: ${EXTRA_LIBS}")
1701
+ message(STATUS "")
1702
+ message(STATUS " Build Shared Library: ${SDL_SHARED}")
1703
+ message(STATUS " Build Static Library: ${SDL_STATIC}")
1704
+ if(SDL_STATIC)
1705
+ message(STATUS " Build Static Library with Position Independent Code: ${SDL_STATIC_PIC}")
1706
+ endif()
1707
+ message(STATUS "")
1708
+ if(UNIX)
1709
+ message(STATUS "If something was not detected, although the libraries")
1710
+ message(STATUS "were installed, then make sure you have set the")
1711
+ message(STATUS "CFLAGS and LDFLAGS environment variables correctly.")
1712
+ message(STATUS "")
1713
+ endif()
1714
+
1715
+ # Ensure that the extra cflags are used at compile time
1716
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
1717
+
1718
+ # Always build SDLmain
1719
+ add_library(SDL2main STATIC ${SDLMAIN_SOURCES})
1720
+ target_include_directories(SDL2main PUBLIC $<INSTALL_INTERFACE:include/SDL2>)
1721
+ set(_INSTALL_LIBS "SDL2main")
1722
+ if (NOT ANDROID)
1723
+ set_target_properties(SDL2main PROPERTIES DEBUG_POSTFIX ${SDL_CMAKE_DEBUG_POSTFIX})
1724
+ endif()
1725
+
1726
+ if(SDL_SHARED)
1727
+ add_library(SDL2 SHARED ${SOURCE_FILES} ${VERSION_SOURCES})
1728
+ if(APPLE)
1729
+ set_target_properties(SDL2 PROPERTIES MACOSX_RPATH 1)
1730
+ elseif(UNIX AND NOT ANDROID)
1731
+ set_target_properties(SDL2 PROPERTIES
1732
+ VERSION ${LT_VERSION}
1733
+ SOVERSION ${LT_REVISION}
1734
+ OUTPUT_NAME "SDL2-${LT_RELEASE}")
1735
+ else()
1736
+ set_target_properties(SDL2 PROPERTIES
1737
+ VERSION ${SDL_VERSION}
1738
+ SOVERSION ${LT_REVISION}
1739
+ OUTPUT_NAME "SDL2")
1740
+ endif()
1741
+ if(MSVC AND NOT LIBC)
1742
+ # Don't try to link with the default set of libraries.
1743
+ set_target_properties(SDL2 PROPERTIES LINK_FLAGS_RELEASE "/NODEFAULTLIB")
1744
+ set_target_properties(SDL2 PROPERTIES LINK_FLAGS_DEBUG "/NODEFAULTLIB")
1745
+ set_target_properties(SDL2 PROPERTIES STATIC_LIBRARY_FLAGS "/NODEFAULTLIB")
1746
+ endif()
1747
+ set(_INSTALL_LIBS "SDL2" ${_INSTALL_LIBS})
1748
+ target_link_libraries(SDL2 ${EXTRA_LIBS} ${EXTRA_LDFLAGS})
1749
+ target_include_directories(SDL2 PUBLIC $<INSTALL_INTERFACE:include/SDL2>)
1750
+ if (NOT ANDROID)
1751
+ set_target_properties(SDL2 PROPERTIES DEBUG_POSTFIX ${SDL_CMAKE_DEBUG_POSTFIX})
1752
+ endif()
1753
+ endif()
1754
+
1755
+ if(SDL_STATIC)
1756
+ set (BUILD_SHARED_LIBS FALSE)
1757
+ add_library(SDL2-static STATIC ${SOURCE_FILES})
1758
+ if (NOT SDL_SHARED OR NOT WIN32)
1759
+ set_target_properties(SDL2-static PROPERTIES OUTPUT_NAME "SDL2")
1760
+ # Note: Apparently, OUTPUT_NAME must really be unique; even when
1761
+ # CMAKE_IMPORT_LIBRARY_SUFFIX or the like are given. Otherwise
1762
+ # the static build may race with the import lib and one will get
1763
+ # clobbered, when the suffix is realized via subsequent rename.
1764
+ endif()
1765
+ set_target_properties(SDL2-static PROPERTIES POSITION_INDEPENDENT_CODE ${SDL_STATIC_PIC})
1766
+ if(MSVC AND NOT LIBC)
1767
+ set_target_properties(SDL2-static PROPERTIES LINK_FLAGS_RELEASE "/NODEFAULTLIB")
1768
+ set_target_properties(SDL2-static PROPERTIES LINK_FLAGS_DEBUG "/NODEFAULTLIB")
1769
+ set_target_properties(SDL2-static PROPERTIES STATIC_LIBRARY_FLAGS "/NODEFAULTLIB")
1770
+ endif()
1771
+ # TODO: Win32 platforms keep the same suffix .lib for import and static
1772
+ # libraries - do we need to consider this?
1773
+ set(_INSTALL_LIBS "SDL2-static" ${_INSTALL_LIBS})
1774
+ target_link_libraries(SDL2-static ${EXTRA_LIBS} ${EXTRA_LDFLAGS})
1775
+ target_include_directories(SDL2-static PUBLIC $<INSTALL_INTERFACE:include/SDL2>)
1776
+ if (NOT ANDROID)
1777
+ set_target_properties(SDL2-static PROPERTIES DEBUG_POSTFIX ${SDL_CMAKE_DEBUG_POSTFIX})
1778
+ endif()
1779
+ endif()
1780
+
1781
+ ##### Tests #####
1782
+
1783
+ if(SDL_TEST)
1784
+ file(GLOB TEST_SOURCES ${SDL2_SOURCE_DIR}/src/test/*.c)
1785
+ add_library(SDL2_test STATIC ${TEST_SOURCES})
1786
+
1787
+ add_subdirectory(test)
1788
+ endif()
1789
+
1790
+ ##### Installation targets #####
1791
+ install(TARGETS ${_INSTALL_LIBS} EXPORT SDL2Targets
1792
+ LIBRARY DESTINATION "lib${LIB_SUFFIX}"
1793
+ ARCHIVE DESTINATION "lib${LIB_SUFFIX}"
1794
+ RUNTIME DESTINATION bin)
1795
+
1796
+ ##### Export files #####
1797
+ if (APPLE)
1798
+ set(PKG_PREFIX "SDL2.framework/Resources")
1799
+ elseif (WINDOWS)
1800
+ set(PKG_PREFIX "cmake")
1801
+ else ()
1802
+ set(PKG_PREFIX "lib/cmake/SDL2")
1803
+ endif ()
1804
+
1805
+ include(CMakePackageConfigHelpers)
1806
+ write_basic_package_version_file("${CMAKE_BINARY_DIR}/SDL2ConfigVersion.cmake"
1807
+ VERSION ${SDL_VERSION}
1808
+ COMPATIBILITY AnyNewerVersion
1809
+ )
1810
+
1811
+ install(EXPORT SDL2Targets
1812
+ FILE SDL2Targets.cmake
1813
+ NAMESPACE SDL2::
1814
+ DESTINATION ${PKG_PREFIX}
1815
+ )
1816
+ install(
1817
+ FILES
1818
+ ${CMAKE_CURRENT_SOURCE_DIR}/SDL2Config.cmake
1819
+ ${CMAKE_BINARY_DIR}/SDL2ConfigVersion.cmake
1820
+ DESTINATION ${PKG_PREFIX}
1821
+ COMPONENT Devel
1822
+ )
1823
+
1824
+ file(GLOB INCLUDE_FILES ${SDL2_SOURCE_DIR}/include/*.h)
1825
+ file(GLOB BIN_INCLUDE_FILES ${SDL2_BINARY_DIR}/include/*.h)
1826
+ foreach(_FNAME ${BIN_INCLUDE_FILES})
1827
+ get_filename_component(_INCNAME ${_FNAME} NAME)
1828
+ list(REMOVE_ITEM INCLUDE_FILES ${SDL2_SOURCE_DIR}/include/${_INCNAME})
1829
+ endforeach()
1830
+ list(APPEND INCLUDE_FILES ${BIN_INCLUDE_FILES})
1831
+ install(FILES ${INCLUDE_FILES} DESTINATION include/SDL2)
1832
+
1833
+ string(TOUPPER "${CMAKE_BUILD_TYPE}" UPPER_BUILD_TYPE)
1834
+ if (UPPER_BUILD_TYPE MATCHES DEBUG)
1835
+ set(SOPOSTFIX "${SDL_CMAKE_DEBUG_POSTFIX}")
1836
+ else()
1837
+ set(SOPOSTFIX "")
1838
+ endif()
1839
+
1840
+ if(NOT (WINDOWS OR CYGWIN))
1841
+ if(SDL_SHARED)
1842
+ if (APPLE)
1843
+ set(SOEXT "dylib")
1844
+ else()
1845
+ set(SOEXT "so")
1846
+ endif()
1847
+ if(NOT ANDROID)
1848
+ install(CODE "
1849
+ execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
1850
+ \"libSDL2-2.0${SOPOSTFIX}.${SOEXT}\" \"libSDL2.${SOEXT}\")"
1851
+ WORKING_DIR "${SDL2_BINARY_DIR}")
1852
+ install(FILES ${SDL2_BINARY_DIR}/libSDL2.${SOEXT} DESTINATION "lib${LIB_SUFFIX}")
1853
+ endif()
1854
+ endif()
1855
+ if(FREEBSD)
1856
+ # FreeBSD uses ${PREFIX}/libdata/pkgconfig
1857
+ install(FILES ${SDL2_BINARY_DIR}/sdl2.pc DESTINATION "libdata/pkgconfig")
1858
+ else()
1859
+ install(FILES ${SDL2_BINARY_DIR}/sdl2.pc
1860
+ DESTINATION "lib${LIB_SUFFIX}/pkgconfig")
1861
+ endif()
1862
+ install(PROGRAMS ${SDL2_BINARY_DIR}/sdl2-config DESTINATION bin)
1863
+ # TODO: what about the .spec file? Is it only needed for RPM creation?
1864
+ install(FILES "${SDL2_SOURCE_DIR}/sdl2.m4" DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}/aclocal")
1865
+ endif()
1866
+
1867
+ ##### Uninstall target #####
1868
+
1869
+ if(NOT TARGET uninstall)
1870
+ configure_file(
1871
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
1872
+ "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
1873
+ IMMEDIATE @ONLY)
1874
+
1875
+ add_custom_target(uninstall
1876
+ COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
1877
+ endif()