diff options
author | Mike Klein <mtklein@chromium.org> | 2016-10-20 10:17:47 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2016-10-20 14:57:49 +0000 |
commit | 43c2526665fb0c5a2f8c5793b9326ebf4ef3daca (patch) | |
tree | 437f3c48766ea4ee700593a759784ad559e58ae6 /third_party/libsdl | |
parent | 580046bc1a09f362f7677824244ece697472fd66 (diff) |
Viewer on Mac.
- Support ObjC / ObjC++
- Build SDL on Mac.
- Build viewer on Mac.
Patched from Jim's CL.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3760
Change-Id: I12663f2ed2969e22f51aefed560fbc22b2524167
Reviewed-on: https://skia-review.googlesource.com/3760
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'third_party/libsdl')
-rw-r--r-- | third_party/libsdl/BUILD.gn | 158 | ||||
-rw-r--r-- | third_party/libsdl/SDL_config_premake.h | 16 |
2 files changed, 174 insertions, 0 deletions
diff --git a/third_party/libsdl/BUILD.gn b/third_party/libsdl/BUILD.gn new file mode 100644 index 0000000000..79893721a3 --- /dev/null +++ b/third_party/libsdl/BUILD.gn @@ -0,0 +1,158 @@ +# Copyright 2016 Google Inc. +# +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +declare_args() { +} + +import("../third_party.gni") + +third_party("libsdl") { + public_include_dirs = [ "../externals/sdl/include" ] + + include_dirs = [ "." ] + sources = [ + "../externals/sdl/src/SDL.c", + "../externals/sdl/src/SDL_assert.c", + "../externals/sdl/src/SDL_error.c", + "../externals/sdl/src/SDL_hints.c", + "../externals/sdl/src/SDL_log.c", + "../externals/sdl/src/atomic/SDL_atomic.c", + "../externals/sdl/src/atomic/SDL_spinlock.c", + "../externals/sdl/src/audio/SDL_audio.c", + "../externals/sdl/src/audio/SDL_audiocvt.c", + "../externals/sdl/src/audio/SDL_audiodev.c", + "../externals/sdl/src/audio/SDL_audiotypecvt.c", + "../externals/sdl/src/audio/SDL_mixer.c", + "../externals/sdl/src/audio/SDL_wave.c", + "../externals/sdl/src/cpuinfo/SDL_cpuinfo.c", + "../externals/sdl/src/dynapi/SDL_dynapi.c", + "../externals/sdl/src/events/SDL_clipboardevents.c", + "../externals/sdl/src/events/SDL_dropevents.c", + "../externals/sdl/src/events/SDL_events.c", + "../externals/sdl/src/events/SDL_gesture.c", + "../externals/sdl/src/events/SDL_keyboard.c", + "../externals/sdl/src/events/SDL_mouse.c", + "../externals/sdl/src/events/SDL_quit.c", + "../externals/sdl/src/events/SDL_touch.c", + "../externals/sdl/src/events/SDL_windowevents.c", + "../externals/sdl/src/file/SDL_rwops.c", + "../externals/sdl/src/haptic/SDL_haptic.c", + "../externals/sdl/src/haptic/dummy/SDL_syshaptic.c", + "../externals/sdl/src/joystick/SDL_gamecontroller.c", + "../externals/sdl/src/joystick/SDL_joystick.c", + "../externals/sdl/src/joystick/dummy/SDL_sysjoystick.c", + "../externals/sdl/src/power/SDL_power.c", + "../externals/sdl/src/render/SDL_render.c", + "../externals/sdl/src/render/SDL_yuv_sw.c", + "../externals/sdl/src/render/software/SDL_blendfillrect.c", + "../externals/sdl/src/render/software/SDL_blendline.c", + "../externals/sdl/src/render/software/SDL_blendpoint.c", + "../externals/sdl/src/render/software/SDL_drawline.c", + "../externals/sdl/src/render/software/SDL_drawpoint.c", + "../externals/sdl/src/render/software/SDL_render_sw.c", + "../externals/sdl/src/render/software/SDL_rotate.c", + "../externals/sdl/src/stdlib/SDL_getenv.c", + "../externals/sdl/src/stdlib/SDL_iconv.c", + "../externals/sdl/src/stdlib/SDL_malloc.c", + "../externals/sdl/src/stdlib/SDL_qsort.c", + "../externals/sdl/src/stdlib/SDL_stdlib.c", + "../externals/sdl/src/stdlib/SDL_string.c", + "../externals/sdl/src/thread/SDL_thread.c", + "../externals/sdl/src/timer/SDL_timer.c", + "../externals/sdl/src/video/SDL_RLEaccel.c", + "../externals/sdl/src/video/SDL_blit.c", + "../externals/sdl/src/video/SDL_blit_0.c", + "../externals/sdl/src/video/SDL_blit_1.c", + "../externals/sdl/src/video/SDL_blit_A.c", + "../externals/sdl/src/video/SDL_blit_N.c", + "../externals/sdl/src/video/SDL_blit_auto.c", + "../externals/sdl/src/video/SDL_blit_copy.c", + "../externals/sdl/src/video/SDL_blit_slow.c", + "../externals/sdl/src/video/SDL_bmp.c", + "../externals/sdl/src/video/SDL_clipboard.c", + "../externals/sdl/src/video/SDL_egl.c", + "../externals/sdl/src/video/SDL_fillrect.c", + "../externals/sdl/src/video/SDL_pixels.c", + "../externals/sdl/src/video/SDL_rect.c", + "../externals/sdl/src/video/SDL_shape.c", + "../externals/sdl/src/video/SDL_stretch.c", + "../externals/sdl/src/video/SDL_surface.c", + "../externals/sdl/src/video/SDL_video.c", + ] + defines = [ + "HAVE_ACOS", + "HAVE_ASIN", + "HAVE_ATAN", + "HAVE_ATAN2", + "HAVE_CEIL", + "HAVE_COPYSIGN", + "HAVE_COS", + "HAVE_COSF", + "HAVE_FABS", + "HAVE_FLOOR", + "HAVE_LOG", + "HAVE_POW", + "HAVE_SCALBN", + "HAVE_SIN", + "HAVE_SINF", + "HAVE_SQRT", + "HAVE_SQRTF", + "HAVE_TAN", + "HAVE_TANF", + "SDL_HAPTIC_DISABLED=1", + "SDL_JOYSTICK_DISABLED=1", + "USING_PREMAKE_CONFIG_H", + ] + libs = [] + + if (!is_win) { + defines += [ + "SDL_LOADSO_DLOPEN=1", + "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", + "../externals/sdl/src/thread/pthread/SDL_systhread.c", + "../externals/sdl/src/thread/pthread/SDL_systls.c", + "../externals/sdl/src/timer/unix/SDL_systimer.c", + ] + } + + if (is_mac) { + sources += [ + "../externals/sdl/src/file/cocoa/SDL_rwopsbundlesupport.m", + "../externals/sdl/src/filesystem/cocoa/SDL_sysfilesystem.m", + "../externals/sdl/src/video/cocoa/SDL_cocoaclipboard.m", + "../externals/sdl/src/video/cocoa/SDL_cocoaevents.m", + "../externals/sdl/src/video/cocoa/SDL_cocoakeyboard.m", + "../externals/sdl/src/video/cocoa/SDL_cocoamessagebox.m", + "../externals/sdl/src/video/cocoa/SDL_cocoamodes.m", + "../externals/sdl/src/video/cocoa/SDL_cocoamouse.m", + "../externals/sdl/src/video/cocoa/SDL_cocoamousetap.m", + "../externals/sdl/src/video/cocoa/SDL_cocoaopengl.m", + "../externals/sdl/src/video/cocoa/SDL_cocoashape.m", + "../externals/sdl/src/video/cocoa/SDL_cocoavideo.m", + "../externals/sdl/src/video/cocoa/SDL_cocoawindow.m", + ] + defines += [ + "SDL_FILESYSTEM_COCOA=1", + "SDL_VIDEO_DRIVER_COCOA=1", + "SDL_VIDEO_OPENGL_CGL=1", + ] + libs += [ + "Carbon.framework", + "IOKit.framework", + ] + } +} diff --git a/third_party/libsdl/SDL_config_premake.h b/third_party/libsdl/SDL_config_premake.h new file mode 100644 index 0000000000..28c4bc691a --- /dev/null +++ b/third_party/libsdl/SDL_config_premake.h @@ -0,0 +1,16 @@ +/* + * Copyright 2016 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +/* + * We don't want any of SDL's prebaked SDL_config.h files. + * Instead we set all the defines we need in GN (third_party/libsdl/BUILD.gn). + * This header is just the barest basics of an SDL_config.h we can get away with. + */ + +#include <stdarg.h> +#include <stddef.h> +#include <stdint.h> |