static void on_option(struct WasmOptionParser* parser, struct WasmOption* option, const char* argument) { switch (option->id) { case FLAG_VERBOSE: s_verbose++; wasm_init_file_writer_existing(&s_log_stream_writer, stdout); wasm_init_stream(&s_log_stream, &s_log_stream_writer.base, NULL); s_read_binary_options.log_stream = &s_log_stream; break; case FLAG_HELP: wasm_print_help(parser, PROGRAM_NAME); exit(0); break; case FLAG_OUTPUT: s_outfile = argument; break; case FLAG_USE_LIBC_ALLOCATOR: s_use_libc_allocator = WASM_TRUE; break; case FLAG_DEBUG_NAMES: s_read_binary_options.read_debug_names = WASM_TRUE; break; case FLAG_GENERATE_NAMES: s_generate_names = WASM_TRUE; break; } }
static void on_option(struct WasmOptionParser* parser, struct WasmOption* option, const char* argument) { switch (option->id) { case FLAG_VERBOSE: s_verbose++; break; case FLAG_HELP: wasm_print_help(parser); exit(0); break; case FLAG_VALUE_STACK_SIZE: /* TODO(binji): validate */ s_thread_options.value_stack_size = atoi(argument); break; case FLAG_CALL_STACK_SIZE: /* TODO(binji): validate */ s_thread_options.call_stack_size = atoi(argument); break; case FLAG_TRACE: s_trace = WASM_TRUE; break; case FLAG_USE_LIBC_ALLOCATOR: s_use_libc_allocator = WASM_TRUE; break; } }
static void parse_options(int argc, char** argv) { WasmOptionParser parser; WASM_ZERO_MEMORY(parser); parser.description = s_description; parser.options = s_options; parser.num_options = WASM_ARRAY_SIZE(s_options); parser.on_option = on_option; parser.on_argument = on_argument; parser.on_error = on_option_error; wasm_parse_options(&parser, argc, argv); if (!s_infile) { wasm_print_help(&parser, PROGRAM_NAME); WASM_FATAL("No filename given.\n"); } }
static void on_option(struct WasmOptionParser* parser, struct WasmOption* option, const char* argument) { switch (option->id) { case FLAG_VERBOSE: s_verbose++; s_write_binary_options.log_stream = &s_log_stream; break; case FLAG_HELP: wasm_print_help(parser, PROGRAM_NAME); exit(0); break; case FLAG_DUMP_MODULE: s_dump_module = WASM_TRUE; break; case FLAG_OUTPUT: s_outfile = argument; break; case FLAG_SPEC: s_spec = WASM_TRUE; break; case FLAG_USE_LIBC_ALLOCATOR: s_use_libc_allocator = WASM_TRUE; break; case FLAG_NO_CANONICALIZE_LEB128S: s_write_binary_options.canonicalize_lebs = WASM_FALSE; break; case FLAG_DEBUG_NAMES: s_write_binary_options.write_debug_names = WASM_TRUE; break; case FLAG_NO_CHECK: s_validate = WASM_FALSE; break; case FLAG_NO_CHECK_ASSERT_INVALID_AND_MALFORMED: s_validate_assert_invalid_and_malformed = WASM_FALSE; break; } }