diff --git a/examples/example_precompiles_vm/CMakeLists.txt b/examples/example_precompiles_vm/CMakeLists.txt index 8ac6779..e11fd64 100644 --- a/examples/example_precompiles_vm/CMakeLists.txt +++ b/examples/example_precompiles_vm/CMakeLists.txt @@ -2,7 +2,7 @@ # Copyright 2019 The EVMC Authors. # Licensed under the Apache License, Version 2.0. -add_library(example-precompiles-vm SHARED example_precompiles_vm.cpp) +add_library(example-precompiles-vm SHARED example_precompiles_vm.cpp example_precompiles_vm.h) add_library(evmc::example-precompiles-vm ALIAS example-precompiles-vm) target_link_libraries(example-precompiles-vm PRIVATE evmc) diff --git a/examples/example_precompiles_vm/example_precompiles_vm.cpp b/examples/example_precompiles_vm/example_precompiles_vm.cpp index 52fd1c2..bcf0a7d 100644 --- a/examples/example_precompiles_vm/example_precompiles_vm.cpp +++ b/examples/example_precompiles_vm/example_precompiles_vm.cpp @@ -3,8 +3,7 @@ * Licensed under the Apache License, Version 2.0. */ -#include -#include +#include "example_precompiles_vm.h" #include static evmc_result execute_identity(const evmc_message* msg) @@ -112,7 +111,7 @@ static evmc_result execute(evmc_vm* /*unused*/, } } -extern "C" EVMC_EXPORT evmc_vm* evmc_create_example_precompiles_vm() +evmc_vm* evmc_create_example_precompiles_vm() { static struct evmc_vm vm = { EVMC_ABI_VERSION, diff --git a/examples/example_precompiles_vm/example_precompiles_vm.h b/examples/example_precompiles_vm/example_precompiles_vm.h new file mode 100644 index 0000000..dd1a925 --- /dev/null +++ b/examples/example_precompiles_vm/example_precompiles_vm.h @@ -0,0 +1,21 @@ +/* EVMC: Ethereum Client-VM Connector API. + * Copyright 2019 The EVMC Authors. + * Licensed under the Apache License, Version 2.0. + */ +#pragma once + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Creates EVMC Example Precompiles VM. + */ +EVMC_EXPORT struct evmc_vm* evmc_create_example_precompiles_vm(void); + +#ifdef __cplusplus +} +#endif