Commit graph

809 commits

Author SHA1 Message Date
Ali Chraghi
edc2a9da7d build: don't install libs, fix glfw shared lib compilation,
standardilize `buildXXX` funcs
2022-08-28 10:45:09 -07:00
Stephen Gutekanst
f55bf99053 all: employ self-hosted @cImport hack only on Darwin targets
This is an poor approximation for the host OS running Darwin, which
is good enough for now. In practice this means macOS works but can't
cross-compile (until the cImport issue is fixed in Zig itself), but
Windows/Linux are unaffected and should be able to build natively and
cross-compile.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-27 11:19:57 -07:00
Ali Chraghi
15463ed05a glfw:build: undepend to X and OpenGL libs 2022-08-27 11:12:07 -07:00
Ali Chraghi
6de027bb40 build: replace depracted functions 2022-08-27 11:12:07 -07:00
Ali Chraghi
f556550501 build: fix memory leaks 2022-08-27 11:05:36 -07:00
Stephen Gutekanst
4d7cd69ebe all: update pull request template to reflect new libs/ dir
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 15:12:04 -07:00
Stephen Gutekanst
572d1144f1 all: ensure .git* files are standard across subprojects
Produced via:

```sh
zig run ./dev/ensure-standard-files.zig
```

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-23 08:36:51 -07:00
Stephen Gutekanst
c39b28f9b3 all: clarify self-hosted compiler TODOs
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-20 23:37:48 -07:00
Stephen Gutekanst
569dd4b8d9 glfw: pretranslate @cImport to workaround self-hosted compiler bug
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-20 12:03:17 -07:00
Stephen Gutekanst
eaf60a33d2 glfw: improve compatibility with self-hosted compiler
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-20 10:35:03 -07:00
Eric Joldasov
f4d9c0d171 glfw: fix instructions for Gyro in README.md
"--build-dep" has been recently renamed to "--build_dep"

Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me>
2022-08-18 21:02:09 -07:00
Michal Ziulek
4296b2865b glfw: simplify build script, remove redundant allocs, improve -fno-stage1 support 2022-08-15 17:12:53 -07:00
Stephen Gutekanst
fda9465943 all: update to Zig 0.10.0-dev.3551+92568a009
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 14:45:21 -07:00
Stephen Gutekanst
6c5148b0a6 glfw: collapse/hide Gyro instructions by default to avoid confusion 2022-08-11 05:10:36 -07:00
Stephen Gutekanst
d2ad497232 glfw: update Vulkan headers
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-07 22:05:00 -07:00
Stephen Gutekanst
27a90d81f5 glfw: update Linux system SDKs (update vulkan-headers to v1.3.224)
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-06 21:39:49 -07:00
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