aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/interface
diff options
context:
space:
mode:
Diffstat (limited to 'libsolidity/interface')
-rw-r--r--libsolidity/interface/StandardCompiler.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/libsolidity/interface/StandardCompiler.cpp b/libsolidity/interface/StandardCompiler.cpp
index 88e3b111..fd697716 100644
--- a/libsolidity/interface/StandardCompiler.cpp
+++ b/libsolidity/interface/StandardCompiler.cpp
@@ -50,6 +50,14 @@ Json::Value StandardCompiler::compileInternal(Json::Value const& _input)
unsigned optimizeRuns = optimizerSettings.get("runs", Json::Value(200u)).asUInt();
map<string, h160> libraries;
+ Json::Value jsonLibraries = settings.get("libraries", Json::Value());
+ for (auto const& sourceName: jsonLibraries.getMemberNames())
+ {
+ auto const& jsonSourceName = jsonLibraries[sourceName];
+ for (auto const& library: jsonSourceName.getMemberNames())
+ // @TODO use libraries only for the given source
+ libraries[library] = h160(jsonSourceName[library].asString());
+ }
auto scannerFromSourceName = [&](string const& _sourceName) -> solidity::Scanner const& { return m_compilerStack.scanner(_sourceName); };