Corentin Wallez facbc82d6c Revert "Roll third_party/glfw/ 947731113..df8d7bc89 (184 commits)"
This reverts commit 6c9a5920ea0e158f5ddd9291545fed4b4e94722f.

Reason for revert: Doesn't roll properly in Chromium.

Original change's description:
> Roll third_party/glfw/ 947731113..df8d7bc89 (184 commits)
>
> 9477311130..df8d7bc892
>
> $ git log 947731113..df8d7bc89 --date=short --no-merges --format='%ad %ae %s'
> 2021-12-31 elmindreda Wayland: Clean up modifier key event handler
> 2021-12-31 elmindreda Wayland: Clean up key translation
> 2021-12-30 elmindreda Wayland: Fix text input not following key repeat
> 2021-12-30 elmindreda Wayland: Clean up key event handler
> 2021-12-30 elmindreda Wayland: Require xkbcommon 0.5.0 or greater
> 2021-12-30 elmindreda Wayland: Clean up text input
> 2021-12-30 elmindreda Clean up internal Unicode code point handling
> 2021-12-29 elmindreda Wayland: Implement key name support
> 2021-12-30 elmindreda Move UTF-8 encoding to shared code
> 2021-12-30 elmindreda Wayland: Fix keys reported as wrong or unknown key
> 2021-12-28 elmindreda Wayland: Fix GLFW_VISIBLE affecting full screen
> 2021-12-28 elmindreda Fix gamma test not checking for NULL return value
> 2021-12-28 elmindreda Wayland: Fix missing damage event on window show
> 2021-12-28 elmindreda Wayland: Fix window not visible after initial swap
> 2021-12-27 elmindreda Wayland: Remove window monitor array pre-alloc
> 2021-12-27 elmindreda Wayland: Remove superfluous initialize to NULL
> 2021-12-27 elmindreda Wayland: Move window title cloning to creation
> 2021-12-27 elmindreda Wayland: Gather framebuffer transparency logic
> 2021-12-27 elmindreda Wayland: Move surface creation function
> 2021-12-26 elmindreda Wayland: Fix repeated key not released on defocus
> 2021-12-27 elmindreda Wayland: Control key repeat via timerfd state
> 2021-12-26 elmindreda Wayland: Clean up event pump
> 2021-12-30 linkmauve Wayland: Use correct action on fallback decoration
> 2021-12-27 elmindreda Wayland: Document delayed window showing
> 2021-12-26 elmindreda Update docs for specific Vulkan surface extensions
> 2021-12-22 elmindreda X11: Fix sonames for loaded libraries on OpenBSD
> 2021-12-22 elmindreda Add hiding and showing to interactive window test
> 2020-07-12 jason Wayland: Fix window hiding
> 2021-12-22 elmindreda Wayland: Fix key repeat continuing when refocused
> 2021-12-22 elmindreda Wayland: Fix duplicate focus event on activation
> 2021-12-14 linkmauve EGL: Use EGL_EXT_present_opaque when available
> 2021-12-14 linkmauve Wayland: Continue poll() if timerfd can’t be read
> 2020-06-05 lattis Wayland: Set O_NONBLOCK on repeat timerfd
> 2021-12-09 elmindreda X11: Add extension header paths to CMake target
> 2021-12-08 elmindreda Fix initial windowed mode size for test
> 2021-12-05 59504965+InKryption Add missing errors section for glfwGetGamepadName
> 2021-12-01 elmindreda Win32: Handle content scale error on creation
> 2021-12-01 elmindreda Win32: Fix bad content scale on monitor disconnect
> 2021-11-30 elmindreda Formatting
> 2021-11-30 elmindreda Cleanup
> 2021-11-02 elmindreda Add credits and update changelog
> 2021-10-31 stephen X11: Fix undefined behavior in glfwSetWindowIcon
> 2021-11-15 stephen Fix docs calling GLFW_CONTEXT_REVISION a hint
> 2021-11-16 elmindreda Gather Null specific platform selection logic
> 2021-11-09 elmindreda Update comments for global mutable data
> 2021-10-28 luzpaz Fix source comment typo
> 2021-11-25 elmindreda Add credit
> 2021-11-22 59504965+InKryption Add missing error to glfwGetClipboardString docs
> 2021-11-22 elmindreda Add credit
> 2021-11-18 jeebjp Cocoa: Use MACH_PORT_NULL for default IOKit port
> (...)
> 2021-07-14 elmindreda Add credit
> 2021-07-07 david.v.mckay realizing "as you would" is platform dependent
> 2021-07-07 david.v.mckay Clarify "as you would" for beginners.
> 2021-06-25 elmindreda Remove errors for gamepad element mismatch
> 2021-06-23 lazylumpster+github Consistent subsections in compile guide
> 2021-06-22 elmindreda Wayland: Fix missing constant on FreeBSD
> 2021-06-22 elmindreda Wayland: Fix case of epollshim find module name
> 2021-06-15 elmindreda Add missing changelog entry
> 2021-06-14 elmindreda Add notes on getting the HDC of a window on Win32
> 2021-06-09 elmindreda Fix some documentation URLs still using http:
> 2021-06-09 elmindreda Update IRC network to Libera.Chat
> 2021-06-09 elmindreda Add 'latest' branch to all CI builds
> 2021-06-09 elmindreda Move VS 2019 builds from AppVeyor to GH Actions
> 2021-06-07 elmindreda Migrate from Travis CI to GitHub Actions
> 2021-06-07 elmindreda Fix numeric conversion warnings in example
> 2021-05-14 elmindreda EGL: Fix creation of single-buffered windows
> 2021-05-14 elmindreda Move single/double-buffer filtering to backends
> 2021-05-13 elmindreda Skip initial buffer swap when single-buffered
> 2021-05-13 elmindreda Make GLFW_DOUBLEBUFFER a window attribute
> 2021-05-13 elmindreda Make monitor and joystick names static strings
> 2021-05-13 elmindreda Remove claim that EGL is not supported on macOS
> 2021-05-12 elmindreda Clarify documentation for hints
> 2021-05-12 elmindreda Fix header version macro descriptions in docs
> 2021-04-20 elmindreda Win32: Always define UNICODE and _UNICODE
> 2021-04-16 elmindreda Win32: Fix macros being enabled for other backends
> 2021-04-22 elmindreda Fix description of video mode ordering in docs
> 2021-04-15 konstantin Fix hardcoded runtime destination in CMake install
> 2021-04-12 elmindreda Win32: Fix compilation with standalone LLVM
> 2021-04-12 elmindreda Replace GL_ARB_debug_output in comments
> 2021-04-12 elmindreda Replace GL_ARB_debug_output in context guide
> 2021-04-11 elmindreda Add Vulkan device presentation support to glfwinfo
> 2021-04-11 elmindreda Add window surface creation to glfwinfo
> 2020-12-10 elmindreda Fix grammar in MoltenVK support docs
> 2021-04-11 elmindreda Add GLFW_X11_XCB_VULKAN_SURFACE flag to glfwinfo
> 2020-12-10 elmindreda Add docs for GLFW_X11_XCB_VULKAN_SURFACE
> 2020-10-23 caramelli.devel Add GLFW_X11_XCB_VULKAN_SURFACE init hint
> 2020-10-12 elmindreda Update USE_MSVC_RUNTIME_LIBRARY_DLL for CMake 3.15
> 2021-03-21 elmindreda Fix implicit double-to-float in linmath.h
> 2021-03-19 elmindreda Add issue number to changelog
> 2021-03-19 elmindreda Remove deprecated Doxygen tag
> 2021-03-15 elmindreda Win32: Add warning when option will have no effect
> 2020-08-20 elmindreda Ignore cached state when setting window attributes
> 2021-03-10 elmindreda Update linmath.h
> 2021-03-09 elmindreda Win32: Add MinGW-w64 detection to version string
> 2021-03-08 elmindreda X11: Fix attribs not applied on leaving fullscreen
> 2021-02-17 elmindreda Update changelog
> 2021-02-09 elmindreda Wayland: Move DPI fallback work to output done
> 2021-01-20 elmindreda Win32: Fix content area rescaling on older systems
> 2021-01-19 elmindreda Win32: Fix full screen windows affected by scaling
> 2021-02-10 elmindreda Cocoa: Fix console apps getting a dock icon
>
> Created with:
>   roll-dep third_party/glfw
>
> Bug: dawn:1246
> Change-Id: If6357019587d43bebc9eea79d8a5af0bf81d4734
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/75421
> Reviewed-by: Loko Kung <lokokung@google.com>
> Reviewed-by: Austin Eng <enga@chromium.org>
> Commit-Queue: Corentin Wallez <cwallez@chromium.org>

TBR=cwallez@chromium.org,enga@chromium.org,lokokung@google.com

Change-Id: Iab8c93e4cb2b4b905a84c339ea47a5fbd4408caa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: dawn:1246
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/77942
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2022-01-25 14:22:05 +00:00

155 lines
4.1 KiB
Plaintext

# Copyright 2020 The Dawn Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("../../../scripts/dawn_overrides_with_defaults.gni")
import("${dawn_root}/scripts/dawn_features.gni")
# Only expose GLFW targets on platforms where GLFW is supported: otherwise they
# might get discovered by GN when another target in this file is referenced,
# and GLFW will be built as part of "all" builds, causing compilation failures.
assert(dawn_supports_glfw_for_windowing)
glfw_dir = dawn_glfw_dir
config("glfw_public") {
include_dirs = [ "${glfw_dir}/include" ]
if (is_win) {
defines = [ "_GLFW_WIN32" ]
}
if (is_mac) {
defines = [ "_GLFW_COCOA" ]
}
if (is_linux) {
# ANGLE builds only libEGL.so, so tell GLFW to load that instead of
# the default libEGL.so.1.
defines = [
"_GLFW_X11",
"_GLFW_EGL_LIBRARY=\"libEGL.so\"",
]
}
}
static_library("glfw") {
public_configs = [ ":glfw_public" ]
if (dawn_has_build) {
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
}
if (is_win && !is_clang) {
# nonstandard extension, function/data pointer conversion in expression
cflags_c = [ "/wd4152" ]
} else {
cflags_c = [
"-Wno-sign-compare",
"-Wno-missing-field-initializers",
]
}
sources = [
"${glfw_dir}/include/GLFW/glfw3.h",
"${glfw_dir}/include/GLFW/glfw3native.h",
"${glfw_dir}/src/context.c",
"${glfw_dir}/src/egl_context.c",
"${glfw_dir}/src/egl_context.h",
"${glfw_dir}/src/init.c",
"${glfw_dir}/src/input.c",
"${glfw_dir}/src/internal.h",
"${glfw_dir}/src/monitor.c",
"${glfw_dir}/src/osmesa_context.c",
"${glfw_dir}/src/osmesa_context.h",
"${glfw_dir}/src/vulkan.c",
"${glfw_dir}/src/window.c",
]
libs = []
if (is_win) {
sources += [
"${glfw_dir}/src/wgl_context.c",
"${glfw_dir}/src/wgl_context.h",
"${glfw_dir}/src/win32_init.c",
"${glfw_dir}/src/win32_joystick.c",
"${glfw_dir}/src/win32_joystick.h",
"${glfw_dir}/src/win32_monitor.c",
"${glfw_dir}/src/win32_platform.h",
"${glfw_dir}/src/win32_thread.c",
"${glfw_dir}/src/win32_time.c",
"${glfw_dir}/src/win32_window.c",
]
}
if (is_linux || is_mac) {
sources += [
"${glfw_dir}/src/posix_thread.c",
"${glfw_dir}/src/posix_thread.h",
]
}
if (is_linux) {
sources += [
"${glfw_dir}/src/glx_context.c",
"${glfw_dir}/src/glx_context.h",
"${glfw_dir}/src/linux_joystick.c",
"${glfw_dir}/src/linux_joystick.h",
"${glfw_dir}/src/posix_time.c",
"${glfw_dir}/src/posix_time.h",
"${glfw_dir}/src/x11_init.c",
"${glfw_dir}/src/x11_monitor.c",
"${glfw_dir}/src/x11_platform.h",
"${glfw_dir}/src/x11_window.c",
"${glfw_dir}/src/xkb_unicode.c",
"${glfw_dir}/src/xkb_unicode.h",
]
libs += [
"rt",
"dl",
"X11",
"Xcursor",
"Xinerama",
"Xrandr",
]
}
if (is_mac) {
sources += [
"${glfw_dir}/src/cocoa_init.m",
"${glfw_dir}/src/cocoa_joystick.h",
"${glfw_dir}/src/cocoa_joystick.m",
"${glfw_dir}/src/cocoa_monitor.m",
"${glfw_dir}/src/cocoa_platform.h",
"${glfw_dir}/src/cocoa_time.c",
"${glfw_dir}/src/cocoa_window.m",
"${glfw_dir}/src/nsgl_context.h",
"${glfw_dir}/src/nsgl_context.m",
]
frameworks = [
"Cocoa.framework",
"IOKit.framework",
"CoreFoundation.framework",
"CoreVideo.framework",
]
cflags_objc = [
"-Wno-sign-compare",
"-Wno-unguarded-availability",
"-Wno-objc-multiple-method-names",
]
}
}