From ecfed2beaf9ab669b3831fafc1878ce22a10c584 Mon Sep 17 00:00:00 2001 From: Jim Van Verth Date: Wed, 30 Aug 2017 14:02:50 -0400 Subject: Add iOS support for SkiaSDLExample. Change-Id: Ib8f4d6c41356cf0fe2e14b7bff7713d107eaa01f Reviewed-on: https://skia-review.googlesource.com/40687 Reviewed-by: Mike Klein Commit-Queue: Jim Van Verth --- BUILD.gn | 2 +- example/SkiaSDLExample.cpp | 2 ++ gn/toolchain/BUILD.gn | 1 - third_party/libsdl/BUILD.gn | 51 +++++++++++++++++++++++++++++++++++++++++---- 4 files changed, 50 insertions(+), 6 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index a080e93771..98bfdc5ba3 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -1640,7 +1640,7 @@ if (skia_enable_tools) { } } - 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 3c4dccccb2..65254117fa 100644 --- a/example/SkiaSDLExample.cpp +++ b/example/SkiaSDLExample.cpp @@ -22,6 +22,8 @@ #include #elif defined(SK_BUILD_FOR_MAC) #include +#elif defined(SK_BUILD_FOR_IOS) +#include #endif /* diff --git a/gn/toolchain/BUILD.gn b/gn/toolchain/BUILD.gn index 14a8a91965..7f2f2c9db7 100644 --- a/gn/toolchain/BUILD.gn +++ b/gn/toolchain/BUILD.gn @@ -56,7 +56,6 @@ toolchain("msvc") { 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 2df9d22971..2232acb44e 100644 --- a/third_party/libsdl/BUILD.gn +++ b/third_party/libsdl/BUILD.gn @@ -113,13 +113,9 @@ third_party("libsdl") { "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 @@ third_party("libsdl") { 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 @@ third_party("libsdl") { "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 @@ third_party("libsdl") { 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 @@ third_party("libsdl") { 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 @@ third_party("libsdl") { "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", + ] + } } -- cgit v1.2.3