glfw: workaround cImport self-hosted compiler bug ziglang/zig#12784
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
parent
06b0609ada
commit
98860a67fa
5 changed files with 65948 additions and 15 deletions
65917
libs/glfw/src/cimport/c_darwin_native.zig
Normal file
65917
libs/glfw/src/cimport/c_darwin_native.zig
Normal file
File diff suppressed because it is too large
Load diff
16
libs/glfw/src/cimport/c_normal_native.zig
Normal file
16
libs/glfw/src/cimport/c_normal_native.zig
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
pub fn import(comptime options: anytype) type {
|
||||
return @cImport({
|
||||
@cDefine("GLFW_INCLUDE_VULKAN", "1");
|
||||
@cInclude("GLFW/glfw3.h");
|
||||
if (options.win32) @cDefine("GLFW_EXPOSE_NATIVE_WIN32", "1");
|
||||
if (options.wgl) @cDefine("GLFW_EXPOSE_NATIVE_WGL", "1");
|
||||
if (options.cocoa) @cDefine("GLFW_EXPOSE_NATIVE_COCOA", "1");
|
||||
if (options.nsgl) @cDefine("GLFW_EXPOSE_NATIVE_NGSL", "1");
|
||||
if (options.x11) @cDefine("GLFW_EXPOSE_NATIVE_X11", "1");
|
||||
if (options.glx) @cDefine("GLFW_EXPOSE_NATIVE_GLX", "1");
|
||||
if (options.wayland) @cDefine("GLFW_EXPOSE_NATIVE_WAYLAND", "1");
|
||||
if (options.egl) @cDefine("GLFW_EXPOSE_NATIVE_EGL", "1");
|
||||
if (options.osmesa) @cDefine("GLFW_EXPOSE_NATIVE_OSMESA", "1");
|
||||
@cInclude("GLFW/glfw3native.h");
|
||||
});
|
||||
}
|
||||
|
|
@ -40,21 +40,7 @@ pub const BackendOptions = struct {
|
|||
/// The chosen backends must match those the library was compiled for. Failure to do so
|
||||
/// will cause a link-time error.
|
||||
pub fn Native(comptime options: BackendOptions) type {
|
||||
const native = @cImport({
|
||||
@cDefine("GLFW_INCLUDE_VULKAN", "1");
|
||||
@cInclude("GLFW/glfw3.h");
|
||||
|
||||
if (options.win32) @cDefine("GLFW_EXPOSE_NATIVE_WIN32", "1");
|
||||
if (options.wgl) @cDefine("GLFW_EXPOSE_NATIVE_WGL", "1");
|
||||
if (options.cocoa) @cDefine("GLFW_EXPOSE_NATIVE_COCOA", "1");
|
||||
if (options.nsgl) @cDefine("GLFW_EXPOSE_NATIVE_NGSL", "1");
|
||||
if (options.x11) @cDefine("GLFW_EXPOSE_NATIVE_X11", "1");
|
||||
if (options.glx) @cDefine("GLFW_EXPOSE_NATIVE_GLX", "1");
|
||||
if (options.wayland) @cDefine("GLFW_EXPOSE_NATIVE_WAYLAND", "1");
|
||||
if (options.egl) @cDefine("GLFW_EXPOSE_NATIVE_EGL", "1");
|
||||
if (options.osmesa) @cDefine("GLFW_EXPOSE_NATIVE_OSMESA", "1");
|
||||
@cInclude("GLFW/glfw3native.h");
|
||||
});
|
||||
const native = @import("c_native.zig").import(options);
|
||||
|
||||
return struct {
|
||||
/// Returns the adapter device name of the specified monitor.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue