From b3a3869e7bff1ed73ae82787d3453ff7bff052ec Mon Sep 17 00:00:00 2001 From: luboslenco Date: Tue, 18 Mar 2025 10:34:23 +0100 Subject: [PATCH] Fix amake --- base/tools/amake/main.c | 1 + base/tools/amake/project.js | 26 +++++--------------------- 2 files changed, 6 insertions(+), 21 deletions(-) diff --git a/base/tools/amake/main.c b/base/tools/amake/main.c index 40d6672f..4e5aabfc 100644 --- a/base/tools/amake/main.c +++ b/base/tools/amake/main.c @@ -121,6 +121,7 @@ int main(int argc, char **argv) { JSRuntime *runtime = JS_NewRuntime(); JSContext *ctx = JS_NewContext(runtime); + js_std_init_handlers(runtime); js_std_add_helpers(ctx, argc, argv); js_init_module_std(ctx, "std"); js_init_module_os(ctx, "os"); diff --git a/base/tools/amake/project.js b/base/tools/amake/project.js index fcafe28a..a808cae7 100644 --- a/base/tools/amake/project.js +++ b/base/tools/amake/project.js @@ -20,30 +20,20 @@ let project = new Project("amake"); project.add_include_dir("../../sources/libs"); project.add_cfiles("../../sources/libs/quickjs-amalgam.c"); +project.add_define("JS_DEFAULT_STACK_SIZE=8388608"); // 8 * 1024 * 1024 +project.add_define("QJS_BUILD_LIBC"); project.add_cfiles("main.c"); project.add_cfiles("aimage.c"); { project.add_cfiles("ashader.c"); if (platform === "linux") { - project.add_project("../../sources/libs/to_spirv"); // Replace with https://github.com/Kode/Kongruent - project.flatten(); + project.add_project("../../sources/libs/to_spirv"); } + project.flatten(); } -if (platform === "linux") { - // quickjs - project.add_lib("m"); - project.add_lib("dl"); - project.add_define("_GNU_SOURCE"); - project.add_define("environ=__environ"); - project.add_define("sighandler_t=__sighandler_t"); -} -else if (platform === "windows") { - // quickjs - project.add_define("WIN32_LEAN_AND_MEAN"); - project.add_define("_WIN32_WINNT=0x0602"); - +if (platform === "windows") { // hlslbin project.add_lib("d3dcompiler"); project.add_lib("dxguid"); @@ -52,10 +42,4 @@ else if (platform === "macos") { project.add_cfiles("../../sources/backends/mac.plist"); } -// QuickJS changes: -// quickjs-libc.c#85 (fixes "import * as os from 'os';" crash): -// #define USE_WORKER -> //#define USE_WORKER -// "quickjs.h#259" (fixes "Maximum call stack size exceeded" in alang): -// #define JS_DEFAULT_STACK_SIZE (256 * 1024) -> #define JS_DEFAULT_STACK_SIZE (8 * 1024 * 1024) - return project;