# Copyright 2014 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

util_sources = [
  "util/com_utils.h",
  "util/keyboard.h",
  "util/geometry_utils.cpp",
  "util/geometry_utils.h",
  "util/mouse.h",
  "util/random_utils.cpp",
  "util/random_utils.h",
  "util/shader_utils.cpp",
  "util/shader_utils.h",
  "util/test_utils.h",
  "util/util_export.h",
  "util/util_gl.h",
  "util/Event.h",
  "util/EGLPlatformParameters.h",
  "util/EGLWindow.cpp",
  "util/EGLWindow.h",
  "util/Matrix.cpp",
  "util/Matrix.h",
  "util/OSPixmap.h",
  "util/OSWindow.cpp",
  "util/OSWindow.h",
  "util/Timer.h",
  "util/Timer.cpp",
]

util_win_sources = [
  "util/windows/test_utils_win.cpp",
  "util/windows/win32/test_utils_win32.cpp",
  "util/windows/win32/Win32Pixmap.cpp",
  "util/windows/win32/Win32Pixmap.h",
  "util/windows/win32/Win32Window.cpp",
  "util/windows/win32/Win32Window.h",
  "util/windows/WGLWindow.h",
]

if (current_os != "winuwp") {
  util_win_shared_sources = [ "util/windows/WGLWindow.cpp" ]
}

util_posix_sources = [
  "util/posix/crash_handler_posix.cpp",
  "util/posix/test_utils_posix.cpp",
]

util_linux_sources = util_posix_sources

util_x11_sources = [
  "util/x11/X11Pixmap.cpp",
  "util/x11/X11Pixmap.h",
  "util/x11/X11Window.cpp",
  "util/x11/X11Window.h",
]

util_fuchsia_sources = util_posix_sources + [
                         "util/fuchsia/ScenicWindow.cpp",
                         "util/fuchsia/ScenicWindow.h",
                       ]

util_ozone_sources = [
  "util/ozone/OzonePixmap.cpp",
  "util/ozone/OzoneWindow.cpp",
  "util/ozone/OzoneWindow.h",
]

util_osx_sources = util_posix_sources + [
                     "util/osx/OSXPixmap.mm",
                     "util/osx/OSXPixmap.h",
                     "util/osx/OSXWindow.mm",
                     "util/osx/OSXWindow.h",
                   ]

util_android_sources = util_posix_sources + [
                         "util/android/AndroidPixmap.cpp",
                         "util/android/AndroidWindow.cpp",
                         "util/android/AndroidWindow.h",
                         "util/android/third_party/android_native_app_glue.c",
                         "util/android/third_party/android_native_app_glue.h",
                       ]
