From: Brendan Hansen Date: Sat, 1 Jul 2023 04:38:10 +0000 (-0500) Subject: added: `-Dno_entrypoint` option to Onyx runtime X-Git-Url: https://git.brendanfh.com/?a=commitdiff_plain;h=eb9742655855614329e57f9c26e612c6f61b0030;p=onyx.git added: `-Dno_entrypoint` option to Onyx runtime --- diff --git a/core/runtime/platform/onyx/platform.onyx b/core/runtime/platform/onyx/platform.onyx index 578ea682..b317170b 100644 --- a/core/runtime/platform/onyx/platform.onyx +++ b/core/runtime/platform/onyx/platform.onyx @@ -1,6 +1,5 @@ package runtime.platform -use main use core {package, *} use runtime { package, @@ -90,6 +89,14 @@ ProcessData :: #distinct u64 __random_get :: (buf: [] u8) -> void --- } +#if !#defined(runtime.vars.no_entrypoint) { + use main + #local MAIN_FUNCTION :: main.main + +} else { + MAIN_FUNCTION :: () {} +} + __start :: () { fd: FileData; __file_get_standard(1, &fd); @@ -113,8 +120,9 @@ __start :: () { __runtime_initialize(); context.thread_id = 0; - #if (typeof main.main) == #type () -> void { - main.main(); + + #if (typeof MAIN_FUNCTION) == #type () -> void { // An error on this line means no 'main.main' was found in your program. + MAIN_FUNCTION(); } else { args : [] cstr; @@ -125,7 +133,7 @@ __start :: () { argv_buf := cast(cstr) calloc(argv_buf_size); __args_get(args.data, argv_buf); - main.main(args); + MAIN_FUNCTION(args); } __flush_stdio();