diff options
author | salaaad2 <arthurdurant263@gmail.com> | 2022-06-13 22:15:48 +0200 |
---|---|---|
committer | salaaad2 <arthurdurant263@gmail.com> | 2022-06-13 22:15:48 +0200 |
commit | 95cde5c181b5fd1d9ee3f13db749799c4e8ac9d3 (patch) | |
tree | 352480349a46d19ab5b8078ac4ccb79d27166f04 /raylib/src/rglfw.c | |
parent | mouse is captured again, pretty gud (diff) | |
download | yabs-95cde5c181b5fd1d9ee3f13db749799c4e8ac9d3.tar.gz yabs-95cde5c181b5fd1d9ee3f13db749799c4e8ac9d3.tar.bz2 yabs-95cde5c181b5fd1d9ee3f13db749799c4e8ac9d3.tar.xz yabs-95cde5c181b5fd1d9ee3f13db749799c4e8ac9d3.tar.zst yabs-95cde5c181b5fd1d9ee3f13db749799c4e8ac9d3.zip |
add raylib to the build chain with -O3 and -march=native
Diffstat (limited to 'raylib/src/rglfw.c')
-rw-r--r-- | raylib/src/rglfw.c | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/raylib/src/rglfw.c b/raylib/src/rglfw.c new file mode 100644 index 0000000..393dfe1 --- /dev/null +++ b/raylib/src/rglfw.c @@ -0,0 +1,126 @@ +/********************************************************************************************** +* +* rglfw - raylib GLFW single file compilation +* +* This file includes latest GLFW sources (https://github.com/glfw/glfw) to be compiled together +* with raylib for all supported platforms, this way, no external dependencies are required. +* +* LICENSE: zlib/libpng +* +* Copyright (c) 2017-2022 Ramon Santamaria (@raysan5) +* +* This software is provided "as-is", without any express or implied warranty. In no event +* will the authors be held liable for any damages arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, including commercial +* applications, and to alter it and redistribute it freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not claim that you +* wrote the original software. If you use this software in a product, an acknowledgment +* in the product documentation would be appreciated but is not required. +* +* 2. Altered source versions must be plainly marked as such, and must not be misrepresented +* as being the original software. +* +* 3. This notice may not be removed or altered from any source distribution. +* +**********************************************************************************************/ + +//#define _GLFW_BUILD_DLL // To build shared version +// Ref: http://www.glfw.org/docs/latest/compile.html#compile_manual + +// Platform options: +// _GLFW_WIN32 to use the Win32 API +// _GLFW_X11 to use the X Window System +// _GLFW_WAYLAND to use the Wayland API (experimental and incomplete) +// _GLFW_COCOA to use the Cocoa frameworks +// _GLFW_OSMESA to use the OSMesa API (headless and non-interactive) +// _GLFW_MIR experimental, not supported at this moment + +#if defined(_WIN32) + #define _GLFW_WIN32 +#endif +#if defined(__linux__) + #if !defined(_GLFW_WAYLAND) // Required for Wayland windowing + #define _GLFW_X11 + #endif +#endif +#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) + #define _GLFW_X11 +#endif +#if defined(__APPLE__) + #define _GLFW_COCOA + #define _GLFW_USE_MENUBAR // To create and populate the menu bar when the first window is created + #define _GLFW_USE_RETINA // To have windows use the full resolution of Retina displays +#endif +#if defined(__TINYC__) + #define _WIN32_WINNT_WINXP 0x0501 +#endif + +// Common modules to all platforms +#include "external/glfw/src/context.c" +#include "external/glfw/src/init.c" +#include "external/glfw/src/input.c" +#include "external/glfw/src/monitor.c" +#include "external/glfw/src/vulkan.c" +#include "external/glfw/src/window.c" + +#if defined(_WIN32) + #include "external/glfw/src/win32_init.c" + #include "external/glfw/src/win32_joystick.c" + #include "external/glfw/src/win32_monitor.c" + #include "external/glfw/src/win32_time.c" + #include "external/glfw/src/win32_thread.c" + #include "external/glfw/src/win32_window.c" + #include "external/glfw/src/wgl_context.c" + #include "external/glfw/src/egl_context.c" + #include "external/glfw/src/osmesa_context.c" +#endif + +#if defined(__linux__) + #if defined(_GLFW_WAYLAND) + #include "external/glfw/src/wl_init.c" + #include "external/glfw/src/wl_monitor.c" + #include "external/glfw/src/wl_window.c" + #include "external/glfw/src/wayland-pointer-constraints-unstable-v1-client-protocol.c" + #include "external/glfw/src/wayland-relative-pointer-unstable-v1-client-protocol.c" + #endif + #if defined(_GLFW_X11) + #include "external/glfw/src/x11_init.c" + #include "external/glfw/src/x11_monitor.c" + #include "external/glfw/src/x11_window.c" + #include "external/glfw/src/glx_context.c" + #endif + + #include "external/glfw/src/linux_joystick.c" + #include "external/glfw/src/posix_thread.c" + #include "external/glfw/src/posix_time.c" + #include "external/glfw/src/xkb_unicode.c" + #include "external/glfw/src/egl_context.c" + #include "external/glfw/src/osmesa_context.c" +#endif + +#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined( __NetBSD__) || defined(__DragonFly__) + #include "external/glfw/src/x11_init.c" + #include "external/glfw/src/x11_monitor.c" + #include "external/glfw/src/x11_window.c" + #include "external/glfw/src/xkb_unicode.c" + #include "external/glfw/src/null_joystick.c" + #include "external/glfw/src/posix_time.c" + #include "external/glfw/src/posix_thread.c" + #include "external/glfw/src/glx_context.c" + #include "external/glfw/src/egl_context.c" + #include "external/glfw/src/osmesa_context.c" +#endif + +#if defined(__APPLE__) + #include "external/glfw/src/cocoa_init.m" + #include "external/glfw/src/cocoa_joystick.m" + #include "external/glfw/src/cocoa_monitor.m" + #include "external/glfw/src/cocoa_window.m" + #include "external/glfw/src/cocoa_time.c" + #include "external/glfw/src/posix_thread.c" + #include "external/glfw/src/nsgl_context.m" + #include "external/glfw/src/egl_context.c" + #include "external/glfw/src/osmesa_context.c" +#endif |