50 lines
923 B
C
50 lines
923 B
C
#pragma once
|
|
|
|
#include <evmc.h>
|
|
|
|
#ifdef C2NIM
|
|
# def EXPORT
|
|
# dynlib libevmjit
|
|
# cdecl
|
|
# if defined(windows)
|
|
# define libevmjit "libevmjit.dll"
|
|
# elif defined(macosx)
|
|
# define libevmjit "libevmjit.dylib"
|
|
# else
|
|
# define libevmjit "libevmjit.so"
|
|
# endif
|
|
# mangle uint32_t uint32
|
|
# mangle uint16_t uint16
|
|
# mangle uint8_t uint8
|
|
# mangle uint64_t uint64
|
|
# mangle int32_t int32
|
|
# mangle int16_t int16
|
|
# mangle int8_t int8
|
|
# mangle int64_t int64
|
|
# mangle cuchar uint8
|
|
#else
|
|
#ifdef _MSC_VER
|
|
#ifdef evmjit_EXPORTS
|
|
#define EXPORT __declspec(dllexport)
|
|
#else
|
|
#define EXPORT
|
|
#endif
|
|
|
|
#else
|
|
#define EXPORT __attribute__ ((visibility ("default")))
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/// Create EVMJIT instance.
|
|
///
|
|
/// @return The EVMJIT instance.
|
|
EXPORT struct evmc_instance* evmjit_create(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|