From c85c5b188491f22dfcb97d8511e0a43396ba7b4b Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Fri, 21 Jul 2023 01:27:56 +0900 Subject: [PATCH] internal/glfw: move Wayland files --- internal/glfw/glfw/build_cgo_hack.go | 20 ----------------- internal/glfw/glfw/c_glfw_linbsd.go | 22 ------------------- internal/glfw/glfw/glfw/src/dummy.go | 4 ---- internal/glfw/glfw/internal.h | 2 +- ...ibit-unstable-v1-client-protocol_linbsd.c} | 2 ++ ...ibit-unstable-v1-client-protocol_linbsd.h} | 2 ++ ...ints-unstable-v1-client-protocol_linbsd.c} | 2 ++ ...ints-unstable-v1-client-protocol_linbsd.h} | 2 ++ ...nter-unstable-v1-client-protocol_linbsd.c} | 2 ++ ...nter-unstable-v1-client-protocol_linbsd.h} | 2 ++ ...yland-viewporter-client-protocol_linbsd.c} | 2 ++ ...yland-viewporter-client-protocol_linbsd.h} | 2 ++ ...d-xdg-decoration-client-protocol_linbsd.h} | 2 ++ ...tion-unstable-v1-client-protocol_linbsd.c} | 2 ++ ...ayland-xdg-shell-client-protocol_linbsd.c} | 2 ++ ...ayland-xdg-shell-client-protocol_linbsd.h} | 2 ++ .../{glfw/src/wl_init.c => wl_init_linbsd.c} | 2 ++ .../src/wl_monitor.c => wl_monitor_linbsd.c} | 2 ++ .../wl_platform.h => wl_platform_linbsd.h} | 14 +++++++----- .../src/wl_window.c => wl_window_linbsd.c} | 3 +++ 20 files changed, 40 insertions(+), 53 deletions(-) delete mode 100644 internal/glfw/glfw/build_cgo_hack.go delete mode 100644 internal/glfw/glfw/c_glfw_linbsd.go delete mode 100644 internal/glfw/glfw/glfw/src/dummy.go rename internal/glfw/glfw/{glfw/src/wayland-idle-inhibit-unstable-v1-client-protocol.c => wayland-idle-inhibit-unstable-v1-client-protocol_linbsd.c} (97%) rename internal/glfw/glfw/{glfw/src/wayland-idle-inhibit-unstable-v1-client-protocol.h => wayland-idle-inhibit-unstable-v1-client-protocol_linbsd.h} (99%) rename internal/glfw/glfw/{glfw/src/wayland-pointer-constraints-unstable-v1-client-protocol.c => wayland-pointer-constraints-unstable-v1-client-protocol_linbsd.c} (98%) rename internal/glfw/glfw/{glfw/src/wayland-pointer-constraints-unstable-v1-client-protocol.h => wayland-pointer-constraints-unstable-v1-client-protocol_linbsd.h} (99%) rename internal/glfw/glfw/{glfw/src/wayland-relative-pointer-unstable-v1-client-protocol.c => wayland-relative-pointer-unstable-v1-client-protocol_linbsd.c} (97%) rename internal/glfw/glfw/{glfw/src/wayland-relative-pointer-unstable-v1-client-protocol.h => wayland-relative-pointer-unstable-v1-client-protocol_linbsd.h} (99%) rename internal/glfw/glfw/{glfw/src/wayland-viewporter-client-protocol.c => wayland-viewporter-client-protocol_linbsd.c} (97%) rename internal/glfw/glfw/{glfw/src/wayland-viewporter-client-protocol.h => wayland-viewporter-client-protocol_linbsd.h} (99%) rename internal/glfw/glfw/{glfw/src/wayland-xdg-decoration-client-protocol.h => wayland-xdg-decoration-client-protocol_linbsd.h} (99%) rename internal/glfw/glfw/{glfw/src/wayland-xdg-decoration-unstable-v1-client-protocol.c => wayland-xdg-decoration-unstable-v1-client-protocol_linbsd.c} (97%) rename internal/glfw/glfw/{glfw/src/wayland-xdg-shell-client-protocol.c => wayland-xdg-shell-client-protocol_linbsd.c} (98%) rename internal/glfw/glfw/{glfw/src/wayland-xdg-shell-client-protocol.h => wayland-xdg-shell-client-protocol_linbsd.h} (99%) rename internal/glfw/glfw/{glfw/src/wl_init.c => wl_init_linbsd.c} (99%) rename internal/glfw/glfw/{glfw/src/wl_monitor.c => wl_monitor_linbsd.c} (99%) rename internal/glfw/glfw/{glfw/src/wl_platform.h => wl_platform_linbsd.h} (97%) rename internal/glfw/glfw/{glfw/src/wl_window.c => wl_window_linbsd.c} (99%) diff --git a/internal/glfw/glfw/build_cgo_hack.go b/internal/glfw/glfw/build_cgo_hack.go deleted file mode 100644 index d0e5cb5dc..000000000 --- a/internal/glfw/glfw/build_cgo_hack.go +++ /dev/null @@ -1,20 +0,0 @@ -// SPDX-License-Identifier: BSD-3-Clause -// SPDX-FileCopyrightText: 2012 The glfw3-go Authors -// SPDX-FileCopyrightText: 2023 The Ebitengine Authors - -//go:build required - -package glfw - -// This file exists purely to prevent the golang toolchain from stripping -// away the c source directories and files when `go mod vendor` is used -// to populate a `vendor/` directory of a project depending on `go-gl/glfw`. -// -// How it works: -// - every directory which only includes c source files receives a dummy.go file. -// - every directory we want to preserve is included here as a _ import. -// - this file is given a build to exclude it from the regular build. -import ( - // Prevent go tooling from stripping out the c source files. - _ "github.com/hajimehoshi/ebiten/v2/internal/glfw/glfw/glfw/src" -) diff --git a/internal/glfw/glfw/c_glfw_linbsd.go b/internal/glfw/glfw/c_glfw_linbsd.go deleted file mode 100644 index 07b5eb54f..000000000 --- a/internal/glfw/glfw/c_glfw_linbsd.go +++ /dev/null @@ -1,22 +0,0 @@ -// SPDX-License-Identifier: BSD-3-Clause -// SPDX-FileCopyrightText: 2012 The glfw3-go Authors -// SPDX-FileCopyrightText: 2023 The Ebitengine Authors - -//go:build freebsd || linux || netbsd || openbsd - -package glfw - -/* -#ifdef _GLFW_WAYLAND - #include "glfw/src/wl_init.c" - #include "glfw/src/wl_monitor.c" - #include "glfw/src/wl_window.c" - #include "glfw/src/wayland-idle-inhibit-unstable-v1-client-protocol.c" - #include "glfw/src/wayland-pointer-constraints-unstable-v1-client-protocol.c" - #include "glfw/src/wayland-relative-pointer-unstable-v1-client-protocol.c" - #include "glfw/src/wayland-viewporter-client-protocol.c" - #include "glfw/src/wayland-xdg-decoration-unstable-v1-client-protocol.c" - #include "glfw/src/wayland-xdg-shell-client-protocol.c" -#endif -*/ -import "C" diff --git a/internal/glfw/glfw/glfw/src/dummy.go b/internal/glfw/glfw/glfw/src/dummy.go deleted file mode 100644 index 0c3649eb6..000000000 --- a/internal/glfw/glfw/glfw/src/dummy.go +++ /dev/null @@ -1,4 +0,0 @@ -//go:build required - -// Package dummy prevents go tooling from stripping the c dependencies. -package dummy diff --git a/internal/glfw/glfw/internal.h b/internal/glfw/glfw/internal.h index 7c583852b..27c984a80 100644 --- a/internal/glfw/glfw/internal.h +++ b/internal/glfw/glfw/internal.h @@ -117,7 +117,7 @@ typedef const GLubyte* (APIENTRY * PFNGLGETSTRINGIPROC)(GLenum,GLuint); #elif defined(_GLFW_X11) #include "x11_platform_linbsd.h" #elif defined(_GLFW_WAYLAND) - #include "./glfw/src/wl_platform.h" + #include "wl_platform_linbsd.h" #else #error "No supported window creation API selected" #endif diff --git a/internal/glfw/glfw/glfw/src/wayland-idle-inhibit-unstable-v1-client-protocol.c b/internal/glfw/glfw/wayland-idle-inhibit-unstable-v1-client-protocol_linbsd.c similarity index 97% rename from internal/glfw/glfw/glfw/src/wayland-idle-inhibit-unstable-v1-client-protocol.c rename to internal/glfw/glfw/wayland-idle-inhibit-unstable-v1-client-protocol_linbsd.c index 2549001b8..09bfb2899 100644 --- a/internal/glfw/glfw/glfw/src/wayland-idle-inhibit-unstable-v1-client-protocol.c +++ b/internal/glfw/glfw/wayland-idle-inhibit-unstable-v1-client-protocol_linbsd.c @@ -1,3 +1,5 @@ +//go:build (freebsd || linux || netbsd || openbsd) && wayland + /* Generated by wayland-scanner 1.18.0 */ /* diff --git a/internal/glfw/glfw/glfw/src/wayland-idle-inhibit-unstable-v1-client-protocol.h b/internal/glfw/glfw/wayland-idle-inhibit-unstable-v1-client-protocol_linbsd.h similarity index 99% rename from internal/glfw/glfw/glfw/src/wayland-idle-inhibit-unstable-v1-client-protocol.h rename to internal/glfw/glfw/wayland-idle-inhibit-unstable-v1-client-protocol_linbsd.h index 65ece1f4e..f019d4423 100644 --- a/internal/glfw/glfw/glfw/src/wayland-idle-inhibit-unstable-v1-client-protocol.h +++ b/internal/glfw/glfw/wayland-idle-inhibit-unstable-v1-client-protocol_linbsd.h @@ -1,3 +1,5 @@ +//go:build (freebsd || linux || netbsd || openbsd) && wayland + /* Generated by wayland-scanner 1.18.0 */ #ifndef IDLE_INHIBIT_UNSTABLE_V1_CLIENT_PROTOCOL_H diff --git a/internal/glfw/glfw/glfw/src/wayland-pointer-constraints-unstable-v1-client-protocol.c b/internal/glfw/glfw/wayland-pointer-constraints-unstable-v1-client-protocol_linbsd.c similarity index 98% rename from internal/glfw/glfw/glfw/src/wayland-pointer-constraints-unstable-v1-client-protocol.c rename to internal/glfw/glfw/wayland-pointer-constraints-unstable-v1-client-protocol_linbsd.c index 969396d39..470a6d64b 100644 --- a/internal/glfw/glfw/glfw/src/wayland-pointer-constraints-unstable-v1-client-protocol.c +++ b/internal/glfw/glfw/wayland-pointer-constraints-unstable-v1-client-protocol_linbsd.c @@ -1,3 +1,5 @@ +//go:build (freebsd || linux || netbsd || openbsd) && wayland + /* Generated by wayland-scanner 1.18.0 */ /* diff --git a/internal/glfw/glfw/glfw/src/wayland-pointer-constraints-unstable-v1-client-protocol.h b/internal/glfw/glfw/wayland-pointer-constraints-unstable-v1-client-protocol_linbsd.h similarity index 99% rename from internal/glfw/glfw/glfw/src/wayland-pointer-constraints-unstable-v1-client-protocol.h rename to internal/glfw/glfw/wayland-pointer-constraints-unstable-v1-client-protocol_linbsd.h index f66f8d75d..b38523b6d 100644 --- a/internal/glfw/glfw/glfw/src/wayland-pointer-constraints-unstable-v1-client-protocol.h +++ b/internal/glfw/glfw/wayland-pointer-constraints-unstable-v1-client-protocol_linbsd.h @@ -1,3 +1,5 @@ +//go:build (freebsd || linux || netbsd || openbsd) && wayland + /* Generated by wayland-scanner 1.18.0 */ #ifndef POINTER_CONSTRAINTS_UNSTABLE_V1_CLIENT_PROTOCOL_H diff --git a/internal/glfw/glfw/glfw/src/wayland-relative-pointer-unstable-v1-client-protocol.c b/internal/glfw/glfw/wayland-relative-pointer-unstable-v1-client-protocol_linbsd.c similarity index 97% rename from internal/glfw/glfw/glfw/src/wayland-relative-pointer-unstable-v1-client-protocol.c rename to internal/glfw/glfw/wayland-relative-pointer-unstable-v1-client-protocol_linbsd.c index 13214b9a3..6b3b311a2 100644 --- a/internal/glfw/glfw/glfw/src/wayland-relative-pointer-unstable-v1-client-protocol.c +++ b/internal/glfw/glfw/wayland-relative-pointer-unstable-v1-client-protocol_linbsd.c @@ -1,3 +1,5 @@ +//go:build (freebsd || linux || netbsd || openbsd) && wayland + /* Generated by wayland-scanner 1.18.0 */ /* diff --git a/internal/glfw/glfw/glfw/src/wayland-relative-pointer-unstable-v1-client-protocol.h b/internal/glfw/glfw/wayland-relative-pointer-unstable-v1-client-protocol_linbsd.h similarity index 99% rename from internal/glfw/glfw/glfw/src/wayland-relative-pointer-unstable-v1-client-protocol.h rename to internal/glfw/glfw/wayland-relative-pointer-unstable-v1-client-protocol_linbsd.h index 633d084de..7fa9c9623 100644 --- a/internal/glfw/glfw/glfw/src/wayland-relative-pointer-unstable-v1-client-protocol.h +++ b/internal/glfw/glfw/wayland-relative-pointer-unstable-v1-client-protocol_linbsd.h @@ -1,3 +1,5 @@ +//go:build (freebsd || linux || netbsd || openbsd) && wayland + /* Generated by wayland-scanner 1.18.0 */ #ifndef RELATIVE_POINTER_UNSTABLE_V1_CLIENT_PROTOCOL_H diff --git a/internal/glfw/glfw/glfw/src/wayland-viewporter-client-protocol.c b/internal/glfw/glfw/wayland-viewporter-client-protocol_linbsd.c similarity index 97% rename from internal/glfw/glfw/glfw/src/wayland-viewporter-client-protocol.c rename to internal/glfw/glfw/wayland-viewporter-client-protocol_linbsd.c index cee474e44..870a82d4c 100644 --- a/internal/glfw/glfw/glfw/src/wayland-viewporter-client-protocol.c +++ b/internal/glfw/glfw/wayland-viewporter-client-protocol_linbsd.c @@ -1,3 +1,5 @@ +//go:build (freebsd || linux || netbsd || openbsd) && wayland + /* Generated by wayland-scanner 1.18.0 */ /* diff --git a/internal/glfw/glfw/glfw/src/wayland-viewporter-client-protocol.h b/internal/glfw/glfw/wayland-viewporter-client-protocol_linbsd.h similarity index 99% rename from internal/glfw/glfw/glfw/src/wayland-viewporter-client-protocol.h rename to internal/glfw/glfw/wayland-viewporter-client-protocol_linbsd.h index cea367089..9a1c55a97 100644 --- a/internal/glfw/glfw/glfw/src/wayland-viewporter-client-protocol.h +++ b/internal/glfw/glfw/wayland-viewporter-client-protocol_linbsd.h @@ -1,3 +1,5 @@ +//go:build (freebsd || linux || netbsd || openbsd) && wayland + /* Generated by wayland-scanner 1.18.0 */ #ifndef VIEWPORTER_CLIENT_PROTOCOL_H diff --git a/internal/glfw/glfw/glfw/src/wayland-xdg-decoration-client-protocol.h b/internal/glfw/glfw/wayland-xdg-decoration-client-protocol_linbsd.h similarity index 99% rename from internal/glfw/glfw/glfw/src/wayland-xdg-decoration-client-protocol.h rename to internal/glfw/glfw/wayland-xdg-decoration-client-protocol_linbsd.h index 88378542b..bd5bc4f2a 100644 --- a/internal/glfw/glfw/glfw/src/wayland-xdg-decoration-client-protocol.h +++ b/internal/glfw/glfw/wayland-xdg-decoration-client-protocol_linbsd.h @@ -1,3 +1,5 @@ +//go:build (freebsd || linux || netbsd || openbsd) && wayland + /* Generated by wayland-scanner 1.18.0 */ #ifndef XDG_DECORATION_UNSTABLE_V1_CLIENT_PROTOCOL_H diff --git a/internal/glfw/glfw/glfw/src/wayland-xdg-decoration-unstable-v1-client-protocol.c b/internal/glfw/glfw/wayland-xdg-decoration-unstable-v1-client-protocol_linbsd.c similarity index 97% rename from internal/glfw/glfw/glfw/src/wayland-xdg-decoration-unstable-v1-client-protocol.c rename to internal/glfw/glfw/wayland-xdg-decoration-unstable-v1-client-protocol_linbsd.c index 1aadb23c3..367470c46 100644 --- a/internal/glfw/glfw/glfw/src/wayland-xdg-decoration-unstable-v1-client-protocol.c +++ b/internal/glfw/glfw/wayland-xdg-decoration-unstable-v1-client-protocol_linbsd.c @@ -1,3 +1,5 @@ +//go:build (freebsd || linux || netbsd || openbsd) && wayland + /* Generated by wayland-scanner 1.18.0 */ /* diff --git a/internal/glfw/glfw/glfw/src/wayland-xdg-shell-client-protocol.c b/internal/glfw/glfw/wayland-xdg-shell-client-protocol_linbsd.c similarity index 98% rename from internal/glfw/glfw/glfw/src/wayland-xdg-shell-client-protocol.c rename to internal/glfw/glfw/wayland-xdg-shell-client-protocol_linbsd.c index a0b928089..1a444f055 100644 --- a/internal/glfw/glfw/glfw/src/wayland-xdg-shell-client-protocol.c +++ b/internal/glfw/glfw/wayland-xdg-shell-client-protocol_linbsd.c @@ -1,3 +1,5 @@ +//go:build (freebsd || linux || netbsd || openbsd) && wayland + /* Generated by wayland-scanner 1.18.0 */ /* diff --git a/internal/glfw/glfw/glfw/src/wayland-xdg-shell-client-protocol.h b/internal/glfw/glfw/wayland-xdg-shell-client-protocol_linbsd.h similarity index 99% rename from internal/glfw/glfw/glfw/src/wayland-xdg-shell-client-protocol.h rename to internal/glfw/glfw/wayland-xdg-shell-client-protocol_linbsd.h index 33e01f260..2ee189c97 100644 --- a/internal/glfw/glfw/glfw/src/wayland-xdg-shell-client-protocol.h +++ b/internal/glfw/glfw/wayland-xdg-shell-client-protocol_linbsd.h @@ -1,3 +1,5 @@ +//go:build (freebsd || linux || netbsd || openbsd) && wayland + /* Generated by wayland-scanner 1.18.0 */ #ifndef XDG_SHELL_CLIENT_PROTOCOL_H diff --git a/internal/glfw/glfw/glfw/src/wl_init.c b/internal/glfw/glfw/wl_init_linbsd.c similarity index 99% rename from internal/glfw/glfw/glfw/src/wl_init.c rename to internal/glfw/glfw/wl_init_linbsd.c index 2d423dc9e..deec70daa 100644 --- a/internal/glfw/glfw/glfw/src/wl_init.c +++ b/internal/glfw/glfw/wl_init_linbsd.c @@ -26,6 +26,8 @@ // It is fine to use C99 in this file because it will not be built with VS //======================================================================== +//go:build (freebsd || linux || netbsd || openbsd) && wayland + #if !defined(_GNU_SOURCE) #define _GNU_SOURCE #endif diff --git a/internal/glfw/glfw/glfw/src/wl_monitor.c b/internal/glfw/glfw/wl_monitor_linbsd.c similarity index 99% rename from internal/glfw/glfw/glfw/src/wl_monitor.c rename to internal/glfw/glfw/wl_monitor_linbsd.c index 99de89333..6e7f41297 100644 --- a/internal/glfw/glfw/glfw/src/wl_monitor.c +++ b/internal/glfw/glfw/wl_monitor_linbsd.c @@ -26,6 +26,8 @@ // It is fine to use C99 in this file because it will not be built with VS //======================================================================== +//go:build (freebsd || linux || netbsd || openbsd) && wayland + #include "internal.h" #include diff --git a/internal/glfw/glfw/glfw/src/wl_platform.h b/internal/glfw/glfw/wl_platform_linbsd.h similarity index 97% rename from internal/glfw/glfw/glfw/src/wl_platform.h rename to internal/glfw/glfw/wl_platform_linbsd.h index d38f33457..17efdafaf 100644 --- a/internal/glfw/glfw/glfw/src/wl_platform.h +++ b/internal/glfw/glfw/wl_platform_linbsd.h @@ -24,6 +24,8 @@ // //======================================================================== +//go:build (freebsd || linux || netbsd || openbsd) && wayland + #include #include #include @@ -35,12 +37,12 @@ #include "egl_context.h" #include "osmesa_context.h" -#include "wayland-xdg-shell-client-protocol.h" -#include "wayland-xdg-decoration-client-protocol.h" -#include "wayland-viewporter-client-protocol.h" -#include "wayland-relative-pointer-unstable-v1-client-protocol.h" -#include "wayland-pointer-constraints-unstable-v1-client-protocol.h" -#include "wayland-idle-inhibit-unstable-v1-client-protocol.h" +#include "wayland-xdg-shell-client-protocol_linbsd.h" +#include "wayland-xdg-decoration-client-protocol_linbsd.h" +#include "wayland-viewporter-client-protocol_linbsd.h" +#include "wayland-relative-pointer-unstable-v1-client-protocol_linbsd.h" +#include "wayland-pointer-constraints-unstable-v1-client-protocol_linbsd.h" +#include "wayland-idle-inhibit-unstable-v1-client-protocol_linbsd.h" #define _glfw_dlopen(name) dlopen(name, RTLD_LAZY | RTLD_LOCAL) #define _glfw_dlclose(handle) dlclose(handle) diff --git a/internal/glfw/glfw/glfw/src/wl_window.c b/internal/glfw/glfw/wl_window_linbsd.c similarity index 99% rename from internal/glfw/glfw/glfw/src/wl_window.c rename to internal/glfw/glfw/wl_window_linbsd.c index b5e29be73..9e9768d89 100644 --- a/internal/glfw/glfw/glfw/src/wl_window.c +++ b/internal/glfw/glfw/wl_window_linbsd.c @@ -26,6 +26,8 @@ // It is fine to use C99 in this file because it will not be built with VS //======================================================================== +//go:build (freebsd || linux || netbsd || openbsd) && wayland + #if !defined(_GNU_SOURCE) #define _GNU_SOURCE #endif @@ -44,6 +46,7 @@ #include #include #include +#include #define GLFW_BORDER_SIZE 4 #define GLFW_CAPTION_HEIGHT 24