ArkScript
A small, lisp-inspired, functional scripting language
Module.hpp
Go to the documentation of this file.
1#ifndef INCLUDE_ARK_MODULE_HPP
2#define INCLUDE_ARK_MODULE_HPP
3
5#include <Ark/VM/VM.hpp>
6#include <Ark/TypeChecker.hpp>
7
9
10#undef ARK_API
11
12#ifdef ARK_OS_WINDOWS
13// Windows compilers need specific (and different) keywords for export and import
14# define ARK_API extern "C" __declspec(dllexport)
15#else // Linux, FreeBSD, Mac OS X
16# if __GNUC__ >= 4
17// GCC 4 has special keywords for showing/hiding symbols,
18// the same keyword is used for both importing and exporting
19# define ARK_API extern "C" __attribute__((__visibility__("default")))
20# else
21// GCC < 4 has no mechanism to explicitly hide symbols, everything's exported
22# define ARK_API extern "C"
23# endif
24#endif
25
26#endif
The ArkScript virtual machine.