Skip to content

Commit

Permalink
cli: add the --print-build-option option
Browse files Browse the repository at this point in the history
separate it from --version because the --version output has grown
too long in my taste.
  • Loading branch information
yamt committed Jul 14, 2024
1 parent 113024c commit 1aef71b
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 40 deletions.
11 changes: 11 additions & 0 deletions cli/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ enum longopt {
opt_register,
opt_repl,
opt_repl_prompt,
opt_print_build_options,
opt_print_stats,
opt_timeout,
#if defined(TOYWASM_ENABLE_TRACING)
Expand Down Expand Up @@ -163,6 +164,12 @@ static const struct option longopts[] = {
NULL,
opt_repl_prompt,
},
{
"print-build-options",
no_argument,
NULL,
opt_print_build_options,
},
{
"print-stats",
no_argument,
Expand Down Expand Up @@ -466,6 +473,10 @@ main(int argc, char *const *argv)
case opt_repl_prompt:
opts->prompt = optarg;
break;
case opt_print_build_options:
toywasm_repl_print_build_options();
might_need_help = false;
break;
case opt_print_stats:
opts->print_stats = true;
break;
Expand Down
7 changes: 6 additions & 1 deletion cli/repl.c
Original file line number Diff line number Diff line change
Expand Up @@ -1398,8 +1398,13 @@ toywasm_repl_print_version(void)
#if defined(__linux__)
nbio_printf("__linux__ defined\n");
#endif
}

void
toywasm_repl_print_build_options(void)
{
extern const char *toywasm_config_string;
nbio_printf("Build-time options:\n%s", toywasm_config_string);
nbio_printf("%s", toywasm_config_string);
}

static int
Expand Down
1 change: 1 addition & 0 deletions cli/repl.h
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ int toywasm_repl_register(struct repl_state *state, const char *modname,
int toywasm_repl_invoke(struct repl_state *state, const char *modname,
const char *cmd, uint32_t *exitcodep,
bool print_result);
void toywasm_repl_print_build_options(void);
void toywasm_repl_print_version(void);

int toywasm_repl_load_wasi(struct repl_state *state);
Expand Down
78 changes: 39 additions & 39 deletions lib/toywasm_config.c.in
Original file line number Diff line number Diff line change
@@ -1,40 +1,40 @@
const char *const toywasm_config_string =
"\tTOYWASM_USE_SEPARATE_EXECUTE = @TOYWASM_USE_SEPARATE_EXECUTE@\n"
"\tTOYWASM_USE_SEPARATE_VALIDATE = @TOYWASM_USE_SEPARATE_VALIDATE@\n"
"\tTOYWASM_USE_TAILCALL = @TOYWASM_USE_TAILCALL@\n"
"\tTOYWASM_FORCE_USE_TAILCALL = @TOYWASM_FORCE_USE_TAILCALL@\n"
"\tTOYWASM_USE_SIMD = @TOYWASM_USE_SIMD@\n"
"\tTOYWASM_USE_SHORT_ENUMS = @TOYWASM_USE_SHORT_ENUMS@\n"
"\tTOYWASM_USE_USER_SCHED = @TOYWASM_USE_USER_SCHED@\n"
"\tTOYWASM_ENABLE_TRACING = @TOYWASM_ENABLE_TRACING@\n"
"\tTOYWASM_ENABLE_TRACING_INSN = @TOYWASM_ENABLE_TRACING_INSN@\n"
"\tTOYWASM_SORT_EXPORTS = @TOYWASM_SORT_EXPORTS@\n"
"\tTOYWASM_USE_JUMP_BINARY_SEARCH = @TOYWASM_USE_JUMP_BINARY_SEARCH@\n"
"\tTOYWASM_USE_JUMP_CACHE = @TOYWASM_USE_JUMP_CACHE@\n"
"\tTOYWASM_JUMP_CACHE2_SIZE = @TOYWASM_JUMP_CACHE2_SIZE@\n"
"\tTOYWASM_USE_LOCALS_FAST_PATH = @TOYWASM_USE_LOCALS_FAST_PATH@\n"
"\tTOYWASM_USE_LOCALS_CACHE = @TOYWASM_USE_LOCALS_CACHE@\n"
"\tTOYWASM_USE_SEPARATE_LOCALS = @TOYWASM_USE_SEPARATE_LOCALS@\n"
"\tTOYWASM_USE_SMALL_CELLS = @TOYWASM_USE_SMALL_CELLS@\n"
"\tTOYWASM_USE_RESULTTYPE_CELLIDX = @TOYWASM_USE_RESULTTYPE_CELLIDX@\n"
"\tTOYWASM_USE_LOCALTYPE_CELLIDX = @TOYWASM_USE_LOCALTYPE_CELLIDX@\n"
"\tTOYWASM_PREALLOC_SHARED_MEMORY = @TOYWASM_PREALLOC_SHARED_MEMORY@\n"
"\tTOYWASM_ENABLE_HEAP_TRACKING = @TOYWASM_ENABLE_HEAP_TRACKING@\n"
"\tTOYWASM_ENABLE_HEAP_TRACKING_PEAK = @TOYWASM_ENABLE_HEAP_TRACKING_PEAK@\n"
"\tTOYWASM_ENABLE_WRITER = @TOYWASM_ENABLE_WRITER@\n"
"\tTOYWASM_MAINTAIN_EXPR_END = @TOYWASM_MAINTAIN_EXPR_END@\n"
"\tTOYWASM_ENABLE_WASM_EXCEPTION_HANDLING = @TOYWASM_ENABLE_WASM_EXCEPTION_HANDLING@\n"
"\tTOYWASM_EXCEPTION_MAX_CELLS = @TOYWASM_EXCEPTION_MAX_CELLS@\n"
"\tTOYWASM_ENABLE_WASM_SIMD = @TOYWASM_ENABLE_WASM_SIMD@\n"
"\tTOYWASM_ENABLE_WASM_EXTENDED_CONST = @TOYWASM_ENABLE_WASM_EXTENDED_CONST@\n"
"\tTOYWASM_ENABLE_WASM_MULTI_MEMORY = @TOYWASM_ENABLE_WASM_MULTI_MEMORY@\n"
"\tTOYWASM_ENABLE_WASM_TAILCALL = @TOYWASM_ENABLE_WASM_TAILCALL@\n"
"\tTOYWASM_ENABLE_WASM_THREADS = @TOYWASM_ENABLE_WASM_THREADS@\n"
"\tTOYWASM_ENABLE_WASM_CUSTOM_PAGE_SIZES = @TOYWASM_ENABLE_WASM_CUSTOM_PAGE_SIZES@\n"
"\tTOYWASM_ENABLE_WASM_NAME_SECTION = @TOYWASM_ENABLE_WASM_NAME_SECTION@\n"
"\tTOYWASM_ENABLE_WASI = @TOYWASM_ENABLE_WASI@\n"
"\tTOYWASM_ENABLE_WASI_THREADS = @TOYWASM_ENABLE_WASI_THREADS@\n"
"\tTOYWASM_ENABLE_WASI_LITTLEFS = @TOYWASM_ENABLE_WASI_LITTLEFS@\n"
"\tTOYWASM_ENABLE_LITTLEFS_STATS = @TOYWASM_ENABLE_LITTLEFS_STATS@\n"
"\tTOYWASM_ENABLE_DYLD = @TOYWASM_ENABLE_DYLD@\n"
"\tTOYWASM_ENABLE_DYLD_DLFCN = @TOYWASM_ENABLE_DYLD_DLFCN@\n";
"TOYWASM_USE_SEPARATE_EXECUTE = @TOYWASM_USE_SEPARATE_EXECUTE@\n"
"TOYWASM_USE_SEPARATE_VALIDATE = @TOYWASM_USE_SEPARATE_VALIDATE@\n"
"TOYWASM_USE_TAILCALL = @TOYWASM_USE_TAILCALL@\n"
"TOYWASM_FORCE_USE_TAILCALL = @TOYWASM_FORCE_USE_TAILCALL@\n"
"TOYWASM_USE_SIMD = @TOYWASM_USE_SIMD@\n"
"TOYWASM_USE_SHORT_ENUMS = @TOYWASM_USE_SHORT_ENUMS@\n"
"TOYWASM_USE_USER_SCHED = @TOYWASM_USE_USER_SCHED@\n"
"TOYWASM_ENABLE_TRACING = @TOYWASM_ENABLE_TRACING@\n"
"TOYWASM_ENABLE_TRACING_INSN = @TOYWASM_ENABLE_TRACING_INSN@\n"
"TOYWASM_SORT_EXPORTS = @TOYWASM_SORT_EXPORTS@\n"
"TOYWASM_USE_JUMP_BINARY_SEARCH = @TOYWASM_USE_JUMP_BINARY_SEARCH@\n"
"TOYWASM_USE_JUMP_CACHE = @TOYWASM_USE_JUMP_CACHE@\n"
"TOYWASM_JUMP_CACHE2_SIZE = @TOYWASM_JUMP_CACHE2_SIZE@\n"
"TOYWASM_USE_LOCALS_FAST_PATH = @TOYWASM_USE_LOCALS_FAST_PATH@\n"
"TOYWASM_USE_LOCALS_CACHE = @TOYWASM_USE_LOCALS_CACHE@\n"
"TOYWASM_USE_SEPARATE_LOCALS = @TOYWASM_USE_SEPARATE_LOCALS@\n"
"TOYWASM_USE_SMALL_CELLS = @TOYWASM_USE_SMALL_CELLS@\n"
"TOYWASM_USE_RESULTTYPE_CELLIDX = @TOYWASM_USE_RESULTTYPE_CELLIDX@\n"
"TOYWASM_USE_LOCALTYPE_CELLIDX = @TOYWASM_USE_LOCALTYPE_CELLIDX@\n"
"TOYWASM_PREALLOC_SHARED_MEMORY = @TOYWASM_PREALLOC_SHARED_MEMORY@\n"
"TOYWASM_ENABLE_HEAP_TRACKING = @TOYWASM_ENABLE_HEAP_TRACKING@\n"
"TOYWASM_ENABLE_HEAP_TRACKING_PEAK = @TOYWASM_ENABLE_HEAP_TRACKING_PEAK@\n"
"TOYWASM_ENABLE_WRITER = @TOYWASM_ENABLE_WRITER@\n"
"TOYWASM_MAINTAIN_EXPR_END = @TOYWASM_MAINTAIN_EXPR_END@\n"
"TOYWASM_ENABLE_WASM_EXCEPTION_HANDLING = @TOYWASM_ENABLE_WASM_EXCEPTION_HANDLING@\n"
"TOYWASM_EXCEPTION_MAX_CELLS = @TOYWASM_EXCEPTION_MAX_CELLS@\n"
"TOYWASM_ENABLE_WASM_SIMD = @TOYWASM_ENABLE_WASM_SIMD@\n"
"TOYWASM_ENABLE_WASM_EXTENDED_CONST = @TOYWASM_ENABLE_WASM_EXTENDED_CONST@\n"
"TOYWASM_ENABLE_WASM_MULTI_MEMORY = @TOYWASM_ENABLE_WASM_MULTI_MEMORY@\n"
"TOYWASM_ENABLE_WASM_TAILCALL = @TOYWASM_ENABLE_WASM_TAILCALL@\n"
"TOYWASM_ENABLE_WASM_THREADS = @TOYWASM_ENABLE_WASM_THREADS@\n"
"TOYWASM_ENABLE_WASM_CUSTOM_PAGE_SIZES = @TOYWASM_ENABLE_WASM_CUSTOM_PAGE_SIZES@\n"
"TOYWASM_ENABLE_WASM_NAME_SECTION = @TOYWASM_ENABLE_WASM_NAME_SECTION@\n"
"TOYWASM_ENABLE_WASI = @TOYWASM_ENABLE_WASI@\n"
"TOYWASM_ENABLE_WASI_THREADS = @TOYWASM_ENABLE_WASI_THREADS@\n"
"TOYWASM_ENABLE_WASI_LITTLEFS = @TOYWASM_ENABLE_WASI_LITTLEFS@\n"
"TOYWASM_ENABLE_LITTLEFS_STATS = @TOYWASM_ENABLE_LITTLEFS_STATS@\n"
"TOYWASM_ENABLE_DYLD = @TOYWASM_ENABLE_DYLD@\n"
"TOYWASM_ENABLE_DYLD_DLFCN = @TOYWASM_ENABLE_DYLD_DLFCN@\n";

0 comments on commit 1aef71b

Please sign in to comment.