77#include < scratchcpp/stage.h>
88#include < scratchcpp/textbubble.h>
99#include < scratchcpp/broadcast.h>
10+ #ifndef USE_LLVM
1011#include < scratchcpp/compiler.h>
12+ #endif
1113#include < scratchcpp/input.h>
1214#include < scratchcpp/inputvalue.h>
1315#include < scratchcpp/field.h>
@@ -105,6 +107,7 @@ void Engine::clear()
105107// Resolves ID references and sets pointers of entities.
106108void Engine::resolveIds ()
107109{
110+ #ifndef USE_LLVM
108111 for (auto target : m_targets) {
109112 std::cout << " Processing target " << target->name () << " ..." << std::endl;
110113 const auto &blocks = target->blocks ();
@@ -256,10 +259,12 @@ void Engine::resolveIds()
256259 block->updateInputMap ();
257260 block->updateFieldMap ();
258261 }
262+ #endif // USE_LLVM
259263}
260264
261265void Engine::compile ()
262266{
267+ #ifndef USE_LLVM
263268 // Resolve entities by ID
264269 resolveIds ();
265270
@@ -317,6 +322,7 @@ void Engine::compile()
317322
318323 for (auto monitor : m_monitors)
319324 compileMonitor (monitor);
325+ #endif // USE_LLVM
320326}
321327
322328void Engine::start ()
@@ -945,6 +951,7 @@ const std::vector<BlockFunc> &Engine::blockFunctions() const
945951 return m_functions;
946952}
947953
954+ #ifndef USE_LLVM
948955void Engine::addCompileFunction (IExtension *extension, const std::string &opcode, BlockComp f)
949956{
950957 if (m_compileFunctions.find (extension) == m_compileFunctions.cend ())
@@ -960,6 +967,7 @@ void Engine::addHatPredicateCompileFunction(IExtension *extension, const std::st
960967
961968 m_hatPredicateCompileFunctions[extension][opcode] = f;
962969}
970+ #endif // USE_LLVM
963971
964972void Engine::addMonitorNameFunction (IExtension *extension, const std::string &opcode, MonitorNameFunc f)
965973{
@@ -979,10 +987,12 @@ void Engine::addMonitorChangeFunction(IExtension *extension, const std::string &
979987
980988void Engine::addHatBlock (IExtension *extension, const std::string &opcode)
981989{
990+ #ifndef USE_LLVM
982991 if (m_compileFunctions.find (extension) == m_compileFunctions.cend ())
983992 m_compileFunctions[extension] = {};
984993
985994 m_compileFunctions[extension][opcode] = [](Compiler *compiler) {};
995+ #endif
986996}
987997
988998void Engine::addInput (IExtension *extension, const std::string &name, int id)
@@ -1362,6 +1372,7 @@ void Engine::setMonitors(const std::vector<std::shared_ptr<Monitor>> &newMonitor
13621372 }
13631373}
13641374
1375+ #ifndef USE_LLVM
13651376Monitor *Engine::createVariableMonitor (std::shared_ptr<Variable> var, const std::string &opcode, const std::string &varFieldName, int varFieldId, BlockComp compileFunction)
13661377{
13671378 if (var->monitor ())
@@ -1398,6 +1409,7 @@ Monitor *Engine::createListMonitor(std::shared_ptr<List> list, const std::string
13981409 return monitor.get ();
13991410 }
14001411}
1412+ #endif // USE_LLVM
14011413
14021414sigslot::signal<Monitor *> &Engine::monitorAdded ()
14031415{
@@ -1722,8 +1734,10 @@ const std::unordered_set<std::string> &Engine::unsupportedBlocks() const
17221734
17231735void Engine::clearExtensionData ()
17241736{
1737+ #ifndef USE_LLVM
17251738 m_compileFunctions.clear ();
17261739 m_hatPredicateCompileFunctions.clear ();
1740+ #endif
17271741 m_monitorNameFunctions.clear ();
17281742 m_monitorChangeFunctions.clear ();
17291743 m_inputs.clear ();
@@ -1733,16 +1747,19 @@ void Engine::clearExtensionData()
17331747
17341748IExtension *Engine::blockExtension (const std::string &opcode) const
17351749{
1750+ #ifndef USE_LLVM
17361751 for (const auto &[ext, data] : m_compileFunctions) {
17371752 auto it = data.find (opcode);
17381753
17391754 if (it != data.cend ())
17401755 return ext;
17411756 }
1757+ #endif // USE_LLVM
17421758
17431759 return nullptr ;
17441760}
17451761
1762+ #ifndef USE_LLVM
17461763BlockComp Engine::resolveBlockCompileFunc (IExtension *extension, const std::string &opcode) const
17471764{
17481765 if (!extension)
@@ -1776,6 +1793,7 @@ HatPredicateCompileFunc Engine::resolveHatPredicateCompileFunc(IExtension *exten
17761793
17771794 return nullptr ;
17781795}
1796+ #endif // USE_LLVM
17791797
17801798MonitorNameFunc Engine::resolveMonitorNameFunc (IExtension *extension, const std::string &opcode) const
17811799{
@@ -1864,6 +1882,7 @@ int Engine::resolveFieldValue(IExtension *extension, const std::string &value) c
18641882
18651883void Engine::compileMonitor (std::shared_ptr<Monitor> monitor)
18661884{
1885+ #ifndef USE_LLVM
18671886 Target *target = monitor->sprite () ? static_cast <Target *>(monitor->sprite ()) : stage ();
18681887 Compiler compiler (this , target);
18691888 auto block = monitor->block ();
@@ -1909,6 +1928,7 @@ void Engine::compileMonitor(std::shared_ptr<Monitor> monitor)
19091928
19101929 for (const std::string &opcode : unsupportedBlocks)
19111930 m_unsupportedBlocks.insert (opcode);
1931+ #endif // USE_LLVM
19121932}
19131933
19141934void Engine::finalize ()
0 commit comments