@Override
public void setupEnvironment(DLightTarget target, MacroMap env) throws ConnectException {
ExecutionEnvironment execEnv = target.getExecEnv();
boolean isMac = NativeToolsUtil.isMacOSX(execEnv);
Map<String, File> agentLibrariesLocal = locateProfAgents(execEnv);
if (!agentLibrariesLocal.isEmpty()) {
if (isMac) {
Map.Entry<String, File> entry = agentLibrariesLocal.entrySet().iterator().next();
env.appendPathVariable("DYLD_INSERT_LIBRARIES", getRemoteDir(execEnv, entry.getValue(), entry.getKey()) + '/' + entry.getValue().getName());
} else {
String agentFilename = null;
for (Map.Entry<String, File> entry : agentLibrariesLocal.entrySet()) {
if (agentFilename == null) {
agentFilename = entry.getValue().getName();
}
env.appendPathVariable("LD_LIBRARY_PATH", getRemoteDir(execEnv, entry.getValue(), entry.getKey()));
}
env.appendPathVariable("LD_PRELOAD", agentFilename);
}
}
}