68 set<VuoCompiler *> compilersToNotify;
69 dispatch_queue_t compilersToNotifyQueue;
70 set<VuoFileWatcher *> moduleSearchPathWatchers;
71 map<string, VuoCompilerNodeClass *> nodeClasses;
72 map<string, VuoCompilerType *> types;
73 map<string, VuoNodeSet *> nodeSetForName;
74 map<string, VuoCompilerModule *> libraryModules;
76 map<string, dispatch_group_t> specializedModulesLoading;
77 map<string, map<string, VuoModuleInfo *> > moduleFilesAtSearchPath;
78 map<string, map<string, VuoModuleInfo *> > sourceFilesAtSearchPath;
79 vector<string> moduleSearchPaths;
80 vector<string> headerSearchPaths;
81 vector<string> librarySearchPaths;
82 vector<string> frameworkSearchPaths;
83 vector<string> expatriateSourceFiles;
84 shared_ptr<VuoModuleCache> moduleCache;
85 string compiledModuleCachePath;
86 string overriddenCompiledModuleCachePath;
87 bool isModuleCacheableDataDirty;
89 set<string> dylibsNeededToLinkToThisCache;
90 set<string> frameworksNeededToLinkToThisCache;
95 void updateModulesAtSearchPath(
const string &path);
96 void updateModuleAtSearchPath(
const string &moduleSearchPath,
const string &moduleRelativePath);
97 void updateSourceFilesAtSearchPath(
const string &path);
98 void unmangleModuleKeysAtSearchPath(
const string &path,
const set<string> &knownModuleKeys);
99 void startWatchingModuleSearchPath(
const string &moduleSearchPath);
100 bool writeToCompiledModuleCache(Module *module,
const string &compiledModulePath, shared_ptr<VuoMakeDependencies> makeDependencies, dispatch_queue_t
llvmQueue,
VuoCompilerIssues *issues);
101 void deleteFromCompiledModuleCache(
const string &compiledModulePath);
103 void loadInMemoryModule(
const string &moduleKey,
const string &moduleSourceCode, Module *module, std::function<
void(
void)> moduleLoadedCallback,
VuoCompiler *compiler, dispatch_queue_t
llvmQueue);
104 void loadInMemoryModule(
VuoCompilerModule *module,
const string &moduleSourceCode, std::function<
void(
void)> moduleLoadedCallback,
VuoCompiler *compiler, dispatch_queue_t
llvmQueue);
106 friend class TestCompilingAndLinking;
118 map<string, VuoCompilerType *>
getTypes(
void);
155 void notifyCompilers(
const set<VuoCompilerModule *> &modulesAdded,
const set<pair<VuoCompilerModule *, VuoCompilerModule *> > &modulesModified,
const set<VuoCompilerModule *> &modulesRemoved,
VuoCompilerIssues *issues,
bool oldModulesInvalidated =
true);
156 set<VuoCompilerModule *>
loadCompiledModules(
const set<string> &moduleKeys,
const map<string, string> &sourceCodeForModule, dispatch_queue_t
llvmQueue);
158 set<dispatch_group_t>
compileModulesFromSourceCode(
const set<string> &moduleKeys,
bool shouldRecompileIfUnchanged, dispatch_group_t moduleSourceCompilersExist, dispatch_queue_t
llvmQueue);
160 void deleteFromCompiledModuleCache(
const set<string> &moduleKeys);
172#include "../compiler/pro/VuoCompilerEnvironment_Pro.hh"