Add iOS support for SkiaSDLExample.

Change-Id: Ib8f4d6c41356cf0fe2e14b7bff7713d107eaa01f
Reviewed-on: https://skia-review.googlesource.com/40687
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index a080e93..98bfdc5 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1640,7 +1640,7 @@
     }
   }
 
-  if (skia_enable_gpu && (is_linux || is_mac)) {
+  if (skia_enable_gpu && (is_linux || is_mac || is_ios)) {
     test_app("SkiaSDLExample") {
       sources = [
         "example/SkiaSDLExample.cpp",
diff --git a/example/SkiaSDLExample.cpp b/example/SkiaSDLExample.cpp
index 3c4dccc..6525411 100644
--- a/example/SkiaSDLExample.cpp
+++ b/example/SkiaSDLExample.cpp
@@ -22,6 +22,8 @@
 #include <GL/gl.h>
 #elif defined(SK_BUILD_FOR_MAC)
 #include <OpenGL/gl.h>
+#elif defined(SK_BUILD_FOR_IOS)
+#include <OpenGLES/ES2/gl.h>
 #endif
 
 /*
diff --git a/gn/toolchain/BUILD.gn b/gn/toolchain/BUILD.gn
index 14a8a91..7f2f2c9 100644
--- a/gn/toolchain/BUILD.gn
+++ b/gn/toolchain/BUILD.gn
@@ -56,7 +56,6 @@
     cl = "$bin/cl.exe"
   }
 
-
   tool("asm") {
     _ml = "ml"
     if (target_cpu == "x64") {
diff --git a/third_party/libsdl/BUILD.gn b/third_party/libsdl/BUILD.gn
index 2df9d22..2232acb 100644
--- a/third_party/libsdl/BUILD.gn
+++ b/third_party/libsdl/BUILD.gn
@@ -113,13 +113,9 @@
       "SDL_THREAD_PTHREAD=1",
       "SDL_THREAD_PTHREAD_RECURSIVE_MUTEX=1",
       "SDL_TIMER_UNIX=1",
-      "SDL_VIDEO_OPENGL=1",
-      "SDL_VIDEO_RENDER_OGL=1",
     ]
     sources += [
       "../externals/sdl/src/loadso/dlopen/SDL_sysloadso.c",
-      "../externals/sdl/src/render/opengl/SDL_render_gl.c",
-      "../externals/sdl/src/render/opengl/SDL_shaders_gl.c",
       "../externals/sdl/src/thread/pthread/SDL_syscond.c",
       "../externals/sdl/src/thread/pthread/SDL_sysmutex.c",
       "../externals/sdl/src/thread/pthread/SDL_syssem.c",
@@ -132,6 +128,8 @@
   if (is_linux) {
     sources += [
       "../externals/sdl/src/filesystem/unix/SDL_sysfilesystem.c",
+      "../externals/sdl/src/render/opengl/SDL_render_gl.c",
+      "../externals/sdl/src/render/opengl/SDL_shaders_gl.c",
       "../externals/sdl/src/video/x11/SDL_x11clipboard.c",
       "../externals/sdl/src/video/x11/SDL_x11dyn.c",
       "../externals/sdl/src/video/x11/SDL_x11events.c",
@@ -153,6 +151,8 @@
       "SDL_FILESYSTEM_UNIX=1",
       "SDL_VIDEO_DRIVER_X11=1",
       "SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS=1",
+      "SDL_VIDEO_OPENGL=1",
+      "SDL_VIDEO_RENDER_OGL=1",
       "SDL_VIDEO_OPENGL_GLX=1",
     ]
     libs += [
@@ -166,6 +166,8 @@
     sources += [
       "../externals/sdl/src/file/cocoa/SDL_rwopsbundlesupport.m",
       "../externals/sdl/src/filesystem/cocoa/SDL_sysfilesystem.m",
+      "../externals/sdl/src/render/opengl/SDL_render_gl.c",
+      "../externals/sdl/src/render/opengl/SDL_shaders_gl.c",
       "../externals/sdl/src/video/cocoa/SDL_cocoaclipboard.m",
       "../externals/sdl/src/video/cocoa/SDL_cocoaevents.m",
       "../externals/sdl/src/video/cocoa/SDL_cocoakeyboard.m",
@@ -181,6 +183,8 @@
     defines += [
       "SDL_FILESYSTEM_COCOA=1",
       "SDL_VIDEO_DRIVER_COCOA=1",
+      "SDL_VIDEO_OPENGL=1",
+      "SDL_VIDEO_RENDER_OGL=1",
       "SDL_VIDEO_OPENGL_CGL=1",
     ]
     libs += [
@@ -191,4 +195,43 @@
       "QuartzCore.framework",
     ]
   }
+
+  if (is_ios) {
+    sources += [
+      "../externals/sdl/src/file/cocoa/SDL_rwopsbundlesupport.m",
+      "../externals/sdl/src/filesystem/cocoa/SDL_sysfilesystem.m",
+      "../externals/sdl/src/render/opengles/SDL_render_gles.c",
+      "../externals/sdl/src/render/opengles2/SDL_render_gles2.c",
+      "../externals/sdl/src/render/opengles2/SDL_shaders_gles2.c",
+      "../externals/sdl/src/video/uikit/SDL_uikitappdelegate.m",
+      "../externals/sdl/src/video/uikit/SDL_uikitclipboard.m",
+      "../externals/sdl/src/video/uikit/SDL_uikitevents.m",
+      "../externals/sdl/src/video/uikit/SDL_uikitmessagebox.m",
+      "../externals/sdl/src/video/uikit/SDL_uikitmodes.m",
+      "../externals/sdl/src/video/uikit/SDL_uikitopengles.m",
+      "../externals/sdl/src/video/uikit/SDL_uikitopenglview.m",
+      "../externals/sdl/src/video/uikit/SDL_uikitvideo.m",
+      "../externals/sdl/src/video/uikit/SDL_uikitview.m",
+      "../externals/sdl/src/video/uikit/SDL_uikitviewcontroller.m",
+      "../externals/sdl/src/video/uikit/SDL_uikitwindow.m",
+    ]
+    cflags_objc = [ "-fobjc-arc" ]
+    defines += [
+      "TARGET_OS_IPHONE=1",
+      "__IPHONE_OS__=1",
+      "HAVE_MATH_H=1",
+      "HAVE_GCC_ATOMICS=1",
+      "SDL_FILESYSTEM_COCOA=1",
+      "SDL_VIDEO_DRIVER_UIKIT=1",
+      "SDL_VIDEO_RENDER_OGL_ES=1",
+      "SDL_VIDEO_RENDER_OGL_ES2=1",
+      "SDL_VIDEO_OPENGL_ES=1",
+      "SDL_VIDEO_OPENGL_ES2=1",
+    ]
+    libs += [
+      "Foundation.framework",
+      "QuartzCore.framework",
+      "UIKit.framework",
+    ]
+  }
 }