From eb9742655855614329e57f9c26e612c6f61b0030 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Fri, 30 Jun 2023 23:38:10 -0500 Subject: [PATCH] added: `-Dno_entrypoint` option to Onyx runtime --- core/runtime/platform/onyx/platform.onyx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) 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(); -- 2.25.1