aboutsummaryrefslogtreecommitdiff
path: root/src/host
diff options
context:
space:
mode:
authorMike Pall <mike>2023-08-21 03:18:35 +0200
committerMike Pall <mike>2023-08-21 03:18:35 +0200
commit2090842410e0ba6f81fad310a77bf5432488249a (patch)
tree2845b2d74f15cbb524801a53687151bb797a8e78 /src/host
parentf0ff869bc2fffa17bb765c4c773457578da125a9 (diff)
parent50e0fa03c48cb9af03c3efdc3100f12687651a2e (diff)
downloadluajit-2090842410e0ba6f81fad310a77bf5432488249a.tar.gz
luajit-2090842410e0ba6f81fad310a77bf5432488249a.tar.bz2
luajit-2090842410e0ba6f81fad310a77bf5432488249a.zip
Merge branch 'master' into v2.1v2.1.ROLLING
Diffstat (limited to 'src/host')
-rw-r--r--src/host/buildvm.c1
-rw-r--r--src/host/genversion.lua43
2 files changed, 44 insertions, 0 deletions
diff --git a/src/host/buildvm.c b/src/host/buildvm.c
index 6e96bffa..ec99e501 100644
--- a/src/host/buildvm.c
+++ b/src/host/buildvm.c
@@ -329,6 +329,7 @@ static void emit_vmdef(BuildCtx *ctx)
329#endif 329#endif
330 int i; 330 int i;
331 fprintf(ctx->fp, "-- This is a generated file. DO NOT EDIT!\n\n"); 331 fprintf(ctx->fp, "-- This is a generated file. DO NOT EDIT!\n\n");
332 fprintf(ctx->fp, "assert(require(\"jit\").version == \"%s\", \"LuaJIT core/library version mismatch\")\n\n", LUAJIT_VERSION);
332 fprintf(ctx->fp, "return {\n\n"); 333 fprintf(ctx->fp, "return {\n\n");
333 334
334 fprintf(ctx->fp, "bcnames = \""); 335 fprintf(ctx->fp, "bcnames = \"");
diff --git a/src/host/genversion.lua b/src/host/genversion.lua
new file mode 100644
index 00000000..a38cec56
--- /dev/null
+++ b/src/host/genversion.lua
@@ -0,0 +1,43 @@
1----------------------------------------------------------------------------
2-- Lua script to embed the rolling release version in luajit.h.
3----------------------------------------------------------------------------
4-- Copyright (C) 2005-2023 Mike Pall. All rights reserved.
5-- Released under the MIT license. See Copyright Notice in luajit.h
6----------------------------------------------------------------------------
7
8local FILE_INPUT_H = "luajit_rolling.h"
9local FILE_INPUT_R = "luajit_relver.txt"
10local FILE_OUTPUT_H = "luajit.h"
11
12local function file_read(file)
13 local fp = assert(io.open(file, "rb"), "run from the wrong directory")
14 local data = assert(fp:read("*a"))
15 fp:close()
16 return data
17end
18
19local function file_write_mod(file, data)
20 local fp = io.open(file, "rb")
21 if fp then
22 local odata = assert(fp:read("*a"))
23 fp:close()
24 if odata == data then return end
25 end
26 fp = assert(io.open(file, "wb"))
27 assert(fp:write(data))
28 assert(fp:close())
29end
30
31local text = file_read(FILE_INPUT_H)
32local relver = file_read(FILE_INPUT_R):match("(%d+)")
33
34if relver then
35 text = text:gsub("ROLLING", relver)
36else
37 io.stderr:write([[
38**** WARNING Cannot determine rolling release version from git log.
39**** WARNING The 'git' command must be available during the build.
40]])
41end
42
43file_write_mod(FILE_OUTPUT_H, text)