Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion README.org
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,8 @@ binaries are available for:
- =aarch64-windows=

If you prefer to build from source or need a different platform, you will also
need [[https://ziglang.org/][Zig]] 0.15.2 - see [[#building-from-source][Building from source]].
need *exactly* [[https://ziglang.org/][Zig]] 0.15.2 - older or newer Zig versions will not build. See
[[#building-from-source][Building from source]].

* Installation
:properties:
Expand Down Expand Up @@ -264,6 +265,9 @@ Building is only needed if you do not want the pre-built binaries. Ghostel
vendors a generated =vendor/emacs-module.h=, so normal builds do not require
local Emacs headers.

Building requires *exactly* [[https://ziglang.org/][Zig]] 0.15.2 - older or newer Zig versions will not build.
Check your installed version with =zig version=.

#+begin_src sh
git clone https://github.com/dakra/ghostel.git
cd ghostel
Expand Down
8 changes: 8 additions & 0 deletions build.zig
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
const std = @import("std");
const builtin = @import("builtin");
const module_version = @import("src/version.zig").version;

// Keep in sync with build.zig.zon (minimum_zig_version) and the CI workflows.
const required_zig = std.SemanticVersion{ .major = 0, .minor = 15, .patch = 2 };
comptime {
if (builtin.zig_version.order(required_zig) != .eq)
@compileError("ghostel requires exactly Zig 0.15.2, found " ++ builtin.zig_version_string);
}

const vendored_emacs_module_dir = "vendor";

pub fn build(b: *std.Build) void {
Expand Down
1 change: 1 addition & 0 deletions build.zig.zon
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
.{
.name = .ghostel,
.version = "0.44.0",
.minimum_zig_version = "0.15.2",
.paths = .{""},
.fingerprint = 0x5a44bdd1198a0f4b,
.dependencies = .{
Expand Down
8 changes: 4 additions & 4 deletions lisp/ghostel.el
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,10 @@
;;
;; Native module:
;;
;; A pre-built binary is downloaded automatically on first use. To
;; build from source instead (requires Zig 0.15.2+), run zig build --prefix .
;; from the project root, or M-x ghostel-module-compile. M-x
;; ghostel-download-module re-fetches the pre-built binary.
;; A pre-built binary is downloaded automatically on first use.
;; To build from source instead (requires exactly Zig 0.15.2), run
;; zig build --prefix . from the project root, or M-x ghostel-module-compile.
;; M-x ghostel-download-module re-fetches the pre-built binary.
;;
;; See also: evil-ghostel.el (evil-mode integration), ghostel-compile.el
;; (TTY-backed M-x compile replacement), ghostel-eshell.el (eshell
Expand Down
Loading