Commit graph

114 commits

Author SHA1 Message Date
Carl Åstholm
1338578255 support other Zig versions in addition to Zig 2024.10
Support for Zig 0.12.1, 0.13.0, master, etc. is only incidental and is
not as thoroughly tested. mach-glfw only officially targets Zig 2024.10.
2024-12-03 23:34:00 +01:00
Carl Åstholm
ab97afcbe4 update to Zig 2024.10 2024-12-03 23:34:00 +01:00
Stephen Gutekanst
8da44b719e update to Zig 2024.05
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-06-02 13:53:11 -07:00
Wrench[bot]
65d8137ad6 all: update Zig to version 0.13.0-dev.351+64ef45eb0
Signed-off-by: Wrench[bot] <wrench@hexops.com>
2024-06-02 13:53:11 -07:00
Stephen Gutekanst
ba7fe27109 use lazyDependency to optimize dependency fetching
Helps hexops/mach#1197

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-21 12:03:00 -07:00
Stephen Gutekanst
1a9a033990 update zig version check for 2024.3.0-mach
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-09 00:01:30 -07:00
Wrench[bot]
3671e2f3c0 all: update Zig to version 0.12.0-dev.3180+83e578a18
Signed-off-by: Wrench[bot] <wrench@hexops.com>
2024-03-08 18:28:31 -07:00
Stephen Gutekanst
63da35e57c addPaths(step) -> addPaths(mod); helps hexops/mach#1154
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-02-01 18:24:26 -07:00
Stephen Gutekanst
0ea4948b8b build: better variable name for supported zig version
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-01-14 18:28:22 -07:00
Stephen Gutekanst
8953217f28 fix version check
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-01-13 03:11:58 -07:00
Stephen Gutekanst
10b1e64333 add comptime Zig version check
Helps hexops/mach#1135

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-01-13 02:59:28 -07:00
Stephen Gutekanst
0fdefbd764 update to Zig 2024.1.0-mach
helps hexops/mach#1135

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-01-13 02:43:51 -07:00
Stephen Gutekanst
e8d3deacdc update zig: fix never mutated vars, use new build system API 2024-01-13 02:43:51 -07:00
Stephen Gutekanst
4019d39316 update to latest Zig
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-10-16 21:36:18 -07:00
Stephen Gutekanst
321efd4065 update to latest Zig
Helps hexops/mach#902

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-17 13:44:52 -07:00
Stephen Gutekanst
e52168e273 update to latest glfw build.zig API
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-08-08 20:40:11 -07:00
Stephen Gutekanst
89d697c4eb workaround transitive dependency issue
Helps hexops/mach#902

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-08-08 19:12:42 -07:00
Stephen Gutekanst
4d59b4d4e2 add link() build helper API
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-08-04 12:35:30 -07:00
Stephen Gutekanst
b250f2c068 fix building tests
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-08-03 20:47:45 -07:00
Stephen Gutekanst
581ae55319 use xcode-frameworks via package manager
Works around hexops/mach#903

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-08-03 20:09:52 -07:00
Ali Chraghi
9c5d8ad53e update to latest Zig API 2023-08-02 21:49:38 -07:00
Stephen Gutekanst
8e78e01759 fix code_frameworks relative -> absolute path
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-07-08 16:54:01 -07:00
Stephen Gutekanst
b119c63dd7 glfw: eliminate .link() option
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-07-07 20:59:09 -07:00
Stephen Gutekanst
73d7b5b91b glfw: cleanup testStep logic; remove shared build support for now
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-07-07 20:34:47 -07:00
Stephen Gutekanst
ddb1cf1cb7 glfw: 100% usable via package manager
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-07-07 15:55:24 -07:00
Stephen Gutekanst
93a6c333b9 all: fix relative path behavior of xcode_frameworks
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-07-07 07:50:02 -07:00
Stephen Gutekanst
98418ac4dc glfw: remove xcode_frameworks submodule; Sdk type
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-07-06 23:48:39 -07:00
Stephen Gutekanst
3ef11aec02 glfw: prepare to use via package manager
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-07-06 22:30:29 -07:00
Stephen Gutekanst
3ba77bcde7 glfw: remove system_sdk dependency; add xcode-frameworks
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-07-03 21:18:53 -07:00
Stephen Gutekanst
6ee026ff5e glfw: eliminate system-sdk for linux and windows
use the package manager instead

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-07-03 08:50:07 -07:00
Stephen Gutekanst
4c7824fc75 glfw: use package manager for direct3d-headers
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-07-03 07:04:22 -07:00
Stephen Gutekanst
148b2fcc6b glfw: workaround macOS zig libc __kernel_ptr_semantics
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-06-25 01:12:33 -07:00
Stephen Gutekanst
85f3abe2a2 all: use latest Zig build API (do not specify .kind = .test_exe)
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-04-25 15:06:11 -07:00
Vivek Roy
e02fe3413b all: use std.Build.installArtifact 2023-04-25 15:06:11 -07:00
Stephen Gutekanst
1ad2210ab9 all: cache module() returns to avoid duplicate modules
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-03-15 21:20:28 -07:00
avokadoen
14790d5b1e glfw: update to latest Zig build API
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-02-12 10:05:03 -07:00
Ali Chraghi
f214c28f44 {glfw,mach}: remove dead code 2023-01-15 08:31:26 -07:00
Stephen Gutekanst
20fc0272f0 Revert "all: build: fix sdkPath for relative @src.file / fix autocompletion with ZLS / IDEs (#661)"
This reverts commit 711e644a061cf8e21c35308873fe0f0e698ac490.

Lue suggested reverting #661 because ZLS worked around the issue of @src
being relative in that environment: https://github.com/zigtools/zls/pull/898

This is not a perfect solution (what zls did seems to be a workaround), but
is good enough for us until Zig gets an official package manager.
2023-01-10 01:57:52 -07:00
Lue
a9e9ac0955 all: build: fix sdkPath for relative @src.file / fix autocompletion with ZLS / IDEs (#661)
* all: build: fix sdkPath for relative @src.file

Prior to this commit, the build system heavily assumed that the result
`@src.file` would always be absolute, but this is no longer
guaranteed, likely due to there being no such thing as an "absolute
path" in WASI.

It appears that for normal invocations of `zig build`, it is safe to
assume that `@src.file` is absolute. However, when ZLS uses a custom
`build_runner.zig` to collect build configuration, `@src.file` is
actually relative to the current working directory, at least on my
system. For a while, this led to ZLS completions breaking entirely,
but presently it actually causes ZLS to crash!

The solution is not as simple as using relative `sdkPath` results
as-is, because the build system may attempt to resolve these paths
relative to build root, when the paths are actually relative to the
current working directory.

This leads to a sticky situation: the current working directory is a
runtime concept, but `@src.file` is resolved at compile time. However,
it appears that the build runner does not change current working
directory in between compilation and execution, so it is probably safe
to calculate `sdkPath` using runtime current working directory.

Still, this requires major changes with how `sdkPath` works, since
runtime computation and allocations are required. So pretty much
anything that relied on `sdkPath` being comptime-known has been
refactored in this commit.

The most severe result of this is that, for example, `gpu.pkg` can no
longer be a comptime-known constant: it has to be a runtime function
that takes a `*Builder` and returns a `Pkg`.

This commit deals with usages of `*.pkg` and `sdkPath` within Mach
itself, but projects that depend on Mach such as `mach-examples` will
almost certainly require changes as well.

* all: update README to reflect change in pkg usage

For details on updating your code to use this version, see: 88b1106953

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
Co-authored-by: Stephen Gutekanst <stephen@hexops.com>
2023-01-02 01:23:46 -07:00
Stephen Gutekanst
e8c171f8ab glfw: remove self-hosted compiler workaround
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-10-15 07:51:52 -07:00
Ali Chraghi
ade12bcd14 all: build: thisDir improvements (#570)
* build:all: thisDir improvements

more performant output, usage code reducement and compileError for wrong usage

* glfw: update deprecated code
2022-09-29 08:41:46 -07:00
Ali Chraghi
56b6222b2f all: build: organize build files and reduce unreachables (#567) 2022-09-25 10:02:51 -07:00
Ali Chraghi
8733bddeec glfw: pass system sdk options through 2022-09-19 20:11:55 -07:00
Diego Arias
797328abe8 glfw: fix implicit function declaration error on clang15 2022-09-14 13:17:09 -07:00
Stephen Gutekanst
73efe2f5cb glfw: workaround cImport self-hosted compiler bug ziglang/zig#12784
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-09-08 07:19:36 -07:00
Ali Chraghi
9755a609c4 all: revert cimport workaround 2022-09-07 21:24:47 -07:00
Ali Chraghi
cc732dc7d7 glfw: fix cimport workaround errors for linux/windows 2022-09-02 09:42:48 -07:00
Ali Chraghi
b30ec07736 glfw:build: rename test steps 2022-08-29 05:59:52 -07:00
Ali Chraghi
edc2a9da7d build: don't install libs, fix glfw shared lib compilation,
standardilize `buildXXX` funcs
2022-08-28 10:45:09 -07:00
Ali Chraghi
15463ed05a glfw:build: undepend to X and OpenGL libs 2022-08-27 11:12:07 -07:00