forked from lix-project/lix
Fix macOS build
This commit is contained in:
parent
36c7b12f33
commit
8ffb09a08a
|
@ -23,9 +23,9 @@ Path resolveCacheFile(Path lib)
|
||||||
return cacheDir + "/" + lib;
|
return cacheDir + "/" + lib;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::set<string> readCacheFile(const Path & file)
|
std::set<std::string> readCacheFile(const Path & file)
|
||||||
{
|
{
|
||||||
return tokenizeString<set<string>>(readFile(file), "\n");
|
return tokenizeString<std::set<std::string>>(readFile(file), "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
std::set<std::string> runResolver(const Path & filename)
|
std::set<std::string> runResolver(const Path & filename)
|
||||||
|
@ -81,7 +81,7 @@ std::set<std::string> runResolver(const Path & filename)
|
||||||
bool should_swap = magic == MH_CIGAM_64;
|
bool should_swap = magic == MH_CIGAM_64;
|
||||||
ptrdiff_t cmd_offset = mach64_offset + sizeof(mach_header_64);
|
ptrdiff_t cmd_offset = mach64_offset + sizeof(mach_header_64);
|
||||||
|
|
||||||
std::set<string> libs;
|
std::set<std::string> libs;
|
||||||
for (uint32_t i = 0; i < DO_SWAP(should_swap, m_header->ncmds); i++) {
|
for (uint32_t i = 0; i < DO_SWAP(should_swap, m_header->ncmds); i++) {
|
||||||
load_command * cmd = (load_command *) (obj + cmd_offset);
|
load_command * cmd = (load_command *) (obj + cmd_offset);
|
||||||
switch(DO_SWAP(should_swap, cmd->cmd)) {
|
switch(DO_SWAP(should_swap, cmd->cmd)) {
|
||||||
|
@ -110,9 +110,9 @@ Path resolveSymlink(const Path & path)
|
||||||
: concatStrings(dirOf(path), "/", target);
|
: concatStrings(dirOf(path), "/", target);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::set<string> resolveTree(const Path & path, PathSet & deps)
|
std::set<std::string> resolveTree(const Path & path, PathSet & deps)
|
||||||
{
|
{
|
||||||
std::set<string> results;
|
std::set<std::string> results;
|
||||||
if (!deps.insert(path).second) return {};
|
if (!deps.insert(path).second) return {};
|
||||||
for (auto & lib : runResolver(path)) {
|
for (auto & lib : runResolver(path)) {
|
||||||
results.insert(lib);
|
results.insert(lib);
|
||||||
|
@ -123,7 +123,7 @@ std::set<string> resolveTree(const Path & path, PathSet & deps)
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::set<string> getPath(const Path & path)
|
std::set<std::string> getPath(const Path & path)
|
||||||
{
|
{
|
||||||
if (hasPrefix(path, "/dev")) return {};
|
if (hasPrefix(path, "/dev")) return {};
|
||||||
|
|
||||||
|
@ -131,7 +131,7 @@ std::set<string> getPath(const Path & path)
|
||||||
if (pathExists(cacheFile))
|
if (pathExists(cacheFile))
|
||||||
return readCacheFile(cacheFile);
|
return readCacheFile(cacheFile);
|
||||||
|
|
||||||
std::set<string> deps, paths;
|
std::set<std::string> deps, paths;
|
||||||
paths.insert(path);
|
paths.insert(path);
|
||||||
|
|
||||||
Path nextPath(path);
|
Path nextPath(path);
|
||||||
|
@ -180,7 +180,7 @@ int main(int argc, char ** argv)
|
||||||
impurePaths.insert("/usr/lib/libSystem.dylib");
|
impurePaths.insert("/usr/lib/libSystem.dylib");
|
||||||
}
|
}
|
||||||
|
|
||||||
std::set<string> allPaths;
|
std::set<std::string> allPaths;
|
||||||
|
|
||||||
for (auto & path : impurePaths)
|
for (auto & path : impurePaths)
|
||||||
for (auto & p : getPath(path))
|
for (auto & p : getPath(path))
|
||||||
|
|
Loading…
Reference in a new issue