diff --git a/src/headers/Yerbacon.hpp b/src/headers/Yerbacon.hpp index 8abb671..e58f8d0 100644 --- a/src/headers/Yerbacon.hpp +++ b/src/headers/Yerbacon.hpp @@ -6,6 +6,10 @@ #define YBCON_VERSION "UNKNOWN" #endif +#ifdef __STDC_NO_THREADS__ +#error "A valid std::threads implementation is required" +#endif + #include #include #include diff --git a/src/headers/transpiler/Target.hpp b/src/headers/transpiler/Target.hpp index 49403ee..ef30c8f 100644 --- a/src/headers/transpiler/Target.hpp +++ b/src/headers/transpiler/Target.hpp @@ -36,15 +36,16 @@ shared_ptr Target::forName(string_view name) { } } shared_ptr target; + #define ADDTARGET(X) target = make_shared(X()); break; switch (selected) { #ifdef LUA_HPP - case LUA: target = make_shared(LuaTarget()); break; + case LUA: ADDTARGET(LuaTarget) #endif #ifdef JS_HPP - case JS: target = make_shared(JsTarget()); break; + case JS: ADDTARGET(JsTarget) #endif #ifdef PY_HPP - case PY: target = make_shared(PyTarget()); break; + case PY: ADDTARGET(PyTarget) #endif case NONE: default: {