Commit graph

693 commits

Author SHA1 Message Date
Stephen Gutekanst
3184357f27 glfw: update Windows system SDK for Dawn compilation (reduce rpcndr_hack)
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-06 20:16:28 -07:00
Stephen Gutekanst
1dc7601e37 glfw: update Linux system SDKs for Vulkan v1.3 headers
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-06 03:19:39 -07:00
Stephen Gutekanst
859ec51a2f glfw: update Linux system SDKs for newer Vulkan headers
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-06 02:40:08 -07:00
Stephen Gutekanst
1e04811040 glfw: fix -fno-stage1 thisDir invocations
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-05 22:24:57 -07:00
Casey Banner
8faba61460 glfw: add shared option which builds glfw into its own shared library (#442)
* Add shared option which builds glfw into it's own shared library
* glfw: separate shared test build step
* glfw: cleanup shared linking

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
Co-authored-by: Stephen Gutekanst <stephen@hexops.com>
2022-07-31 13:56:13 -07:00
Stephen Gutekanst
e4b790e9f4 glfw: add assumeInitialized for external GLFW initialization
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-07-30 10:18:47 -07:00
Ali Chraghi
383d5f4d6e all: build: install tests exe 2022-07-25 11:21:37 -07:00
Ali Chraghi
b1f4b98a9f glfw: build: produce static library 2022-07-24 09:28:56 -07:00
Ali Chraghi
2e486e8594 CI: fix and fmt
install alsa lib on linux platform
2022-07-24 09:28:56 -07:00
Stephen Gutekanst
bf445c448b glfw: fix caching bug in system_sdk that prevents cross-compilation in some situations
Prior to this change, cross-compiling Mach to other OSes was not working due to a regression.
e.g. to windows:

```
zig build -Dtarget=x86_64-windows run-example-boids
LLD Link... error(link): DLL import library for -ldxguid not found
error: DllImportLibraryNotFound
error: example-boids...
```

The problem was that one build step may invoke `getSdkRoot` and the target might be for say macOS,
since it's building e.g. GLFW for macOS as the target of tests, and `getSdkRoot` would cache the
SDK root _forever_ as being the macOS SDK (in an attempt to avoid running the various git commands
needed to resolve the SDK root multiple times, which slows builds down.)

We instead need to cache the SDK root per step, because the target may not be the same.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-07-22 19:30:59 -07:00
alichraghi
a7a7362848 glfw: use refAllDeclsRecursive to find mistakes 2022-07-20 18:55:59 -07:00
alichraghi
e0884da649 build: add mode paramater to testStep functions 2022-07-20 18:55:59 -07:00
alichraghi
26f5a7a490 build: add test-mach step to test src/ and test for testing all sub-projects 2022-07-19 09:25:55 -07:00
Stephen Gutekanst
0c9b414482 all: update to Zig 0.10.0-dev.3027+0e26c6149
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-07-17 09:20:48 -07:00
iddev5
240070b08d glfw: Use i32 for position in Window.setMonitor
This partially reverts ``d3feaed``
2022-07-09 15:07:55 -07:00
Jane Petrovna
62f0db6511 glfw: respect negative coordinates in window 2022-07-08 18:01:51 -07:00
Stephen Gutekanst
385f718127 glfw: update macOS system_sdk to include AudioToolbox
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-07-01 19:05:27 -07:00
PiergiorgioZagaria
99bf7df61b glfw: allow to choose platform in InitHints 2022-06-29 20:54:04 -07:00
PiergiorgioZagaria
8b41d754ee glfw: do not link to wayland-client (no longer necessary, loaded at runtime by GLFW) 2022-06-29 20:54:04 -07:00
PiergiorgioZagaria
8924e28caf glfw: update "getName" test comment 2022-06-29 20:54:04 -07:00
PiergiorgioZagaria
d5b75b9aa7 glfw: disable "getName" test for now because of undefined behaviour in GLFW caught by UBSan 2022-06-29 20:54:04 -07:00
PiergiorgioZagaria
d7c4c730ad glfw: update system_sdk for wayland and catch wayland test errors 2022-06-29 20:54:04 -07:00
PiergiorgioZagaria
b4ea44c647 glfw: support compiling for wayland 2022-06-29 20:54:04 -07:00
PiergiorgioZagaria
952ea5c3c5 glfw: support compiling with stage2 (-fno-stage1) (#365) 2022-06-24 10:12:45 -07:00
Daniel
19c7d0b0a6 glfw: fix segfault in getPhysicalDevicePresentationSupport (#364) 2022-06-24 10:10:06 -07:00
Vulfox
75b9f1b5ef glfw: submodule path fix for subrepo 2022-06-15 06:59:56 -07:00
Caleb Gingles
ba39326b73 glfw: make MouseButton directly accessible, to match GLFW callback signature (#353) 2022-06-14 20:03:26 -07:00
Stephen Gutekanst
05d77de3a4 glfw: update Linux system SDKs to include libxkbcommon-dev headers
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-06-11 17:39:25 -07:00
Stephen Gutekanst
e328c652d0 glfw: prepare build system to support runtime Wayland/X11 detection
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-06-11 17:39:25 -07:00
Stephen Gutekanst
05a2118ef5 glfw: README: update usage example
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-06-11 17:39:25 -07:00
Stephen Gutekanst
95d34e68ad glfw: README: mention that we are now tracking glfw@master
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-06-11 17:39:25 -07:00
Stephen Gutekanst
b606969b4c glfw: add TODO about glfw@master custom allocator API
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-06-11 17:39:25 -07:00
Stephen Gutekanst
77db3245aa glfw: update time documentation to glfw@master
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-06-11 17:39:25 -07:00
Stephen Gutekanst
830b9e2080 glfw: update key documentation to glfw@master
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-06-11 17:39:25 -07:00
Stephen Gutekanst
fe935fbc06 glfw: update core APIs to glfw@master
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-06-11 17:39:25 -07:00
Stephen Gutekanst
5ae54c1df9 glfw: update native APIs to glfw@master
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-06-11 17:39:25 -07:00
Stephen Gutekanst
4838be51f2 glfw: update windowing API to glfw@master
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-06-11 17:39:25 -07:00
Stephen Gutekanst
8fb297f9dd glfw: update monitor API to glfw@master
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-06-11 17:39:25 -07:00
Stephen Gutekanst
57e3e67796 glfw: update cursor API to glfw@master
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-06-11 17:39:25 -07:00
Stephen Gutekanst
e24a0c4ce9 glfw: update build system to glfw@master
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-06-11 17:39:25 -07:00
Stephen Gutekanst
ab26356574 glfw: ensure upstream submodule is cloned
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-06-11 17:39:25 -07:00
Stephen Gutekanst
96d240af1b glfw: upgrade to GLFW@master; add upstream submodule https://github.com/hexops/glfw
This upgrades us to the latest master (pre-release) version of GLFW which has our patches
for undefined behavior in Zig, effectively moving us off of our temporary fork. We now track
GLFW upstream at the revision documented in https://github.com/hexops/glfw/blob/main/VERSION

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
Co-authored-by: Cai Bingjun <1945458160@qq.com>
2022-06-11 17:39:25 -07:00
Stephen Gutekanst
a19199255f glfw: stop vendoring upstream sources
Moving to the same model we use elsewhere: we now have https://github.com/hexops/glfw
which is a tiny repository with only the sources needed to compile/build/test GLFW on
every platform. It's just the upstream repository at a specific commit, recorded in
the `VERSION` file.

Helps hexops/mach#343

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-06-11 17:39:25 -07:00
iddev5
3ec57577df glfw: Window: use u32 values for params in setMonitor method 2022-06-11 16:00:02 -07:00
Stephen Gutekanst
e3506c6911 CI: ZIG_VERSION=0.10.0-dev.2439+c84f5a5f9 ./dev/update-zig.sh
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 05:02:04 -07:00
Stephen Gutekanst
08b7c50e73 CI: correct M1 runner Zig version
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 04:11:43 -07:00
Stephen Gutekanst
4ceff10be6 CI: ZIG_VERSION=0.10.0-dev.2439+c84f5a5f9 ./dev/update-zig.sh
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:39:45 -07:00
Stephen Gutekanst
96921e8e78 CI: ZIG_VERSION=0.10.0-dev.2439+c84f5a5f9 ./dev/update-zig.sh
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:24:34 -07:00
Stephen Gutekanst
076a8de591 glfw: CI: always upgrade Zig M1 CI version
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:24:34 -07:00
Stephen Gutekanst
f8e33dcce3 glfw: CI: standardize M1 CI name
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:24:34 -07:00