mirror of
https://github.com/mii443/wasmer.git
synced 2025-12-03 19:28:22 +00:00
.. and move target/middleware functions to top level, out of the implicit `sys` namespace.
57 lines
1.8 KiB
C
57 lines
1.8 KiB
C
// This header file is used only for test purposes! It is used by unit
|
|
// test inside the `src/` directory for the moment.
|
|
|
|
#ifndef TEST_WASM
|
|
#define TEST_WASM
|
|
|
|
#include "../wasm.h"
|
|
#include "../wasmer.h"
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
|
|
#if defined(_WIN32) || defined(_WIN64)
|
|
#define strtok_r strtok_s
|
|
#endif
|
|
|
|
wasm_engine_t *wasm_engine_new() {
|
|
wasm_config_t *config = wasm_config_new();
|
|
|
|
char *wasmer_test_backend = getenv("WASMER_CAPI_CONFIG");
|
|
char *wasmer_test_engine;
|
|
|
|
printf("Using backend: %s\n", wasmer_test_backend);
|
|
|
|
strtok_r(wasmer_test_backend, "-", &wasmer_test_engine);
|
|
|
|
if (strcmp(wasmer_test_backend, "cranelift") == 0) {
|
|
assert(wasmer_is_backend_available(CRANELIFT));
|
|
wasm_config_set_backend(config, CRANELIFT);
|
|
} else if (strcmp(wasmer_test_backend, "llvm") == 0) {
|
|
assert(wasmer_is_backend_available(LLVM));
|
|
wasm_config_set_backend(config, LLVM);
|
|
} else if (strcmp(wasmer_test_backend, "singlepass") == 0) {
|
|
assert(wasmer_is_backend_available(SINGLEPASS));
|
|
wasm_config_set_backend(config, SINGLEPASS);
|
|
} else if (strcmp(wasmer_test_backend, "headless") == 0) {
|
|
assert(wasmer_is_backend_available(HEADLESS));
|
|
wasm_config_set_backend(config, HEADLESS);
|
|
} else if (strcmp(wasmer_test_backend, "v8") == 0) {
|
|
assert(wasmer_is_backend_available(V8));
|
|
wasm_config_set_backend(config, V8);
|
|
} else if (strcmp(wasmer_test_backend, "wamr") == 0) {
|
|
assert(wasmer_is_backend_available(WAMR));
|
|
wasm_config_set_backend(config, WAMR);
|
|
} else if (strcmp(wasmer_test_backend, "wasmi") == 0) {
|
|
assert(wasmer_is_backend_available(WASMI));
|
|
wasm_config_set_backend(config, WASMI);
|
|
} else if (wasmer_test_backend) {
|
|
printf("Compiler %s not recognized\n", wasmer_test_backend);
|
|
abort();
|
|
}
|
|
|
|
wasm_engine_t *engine = wasm_engine_new_with_config(config);
|
|
return engine;
|
|
}
|
|
|
|
#endif
|