mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-17 07:13:23 +01:00
61 lines
2.2 KiB
Diff
61 lines
2.2 KiB
Diff
diff --git a/src/cpp/core/libclang/LibClang.cpp b/src/cpp/core/libclang/LibClang.cpp
|
|
index 1186f3a..58e8cc7 100644
|
|
--- a/src/cpp/core/libclang/LibClang.cpp
|
|
+++ b/src/cpp/core/libclang/LibClang.cpp
|
|
@@ -58,7 +58,7 @@ std::vector<std::string> defaultCompileArgs(LibraryVersion version)
|
|
|
|
// we need to add in the associated libclang headers as
|
|
// they are not discovered / used by default during compilation
|
|
- FilePath llvmPath = s_libraryPath.getParent().getParent();
|
|
+ FilePath llvmPath("@libclang@");
|
|
boost::format fmt("%1%/lib/clang/%2%/include");
|
|
fmt % llvmPath.getAbsolutePath() % version.asString();
|
|
std::string includePath = fmt.str();
|
|
@@ -70,46 +70,7 @@ std::vector<std::string> defaultCompileArgs(LibraryVersion version)
|
|
|
|
std::vector<std::string> systemClangVersions()
|
|
{
|
|
- std::vector<std::string> clangVersions;
|
|
-
|
|
-#if defined(__APPLE__)
|
|
- // NOTE: the version of libclang.dylib bundled with Xcode
|
|
- // doesn't seem to work well when loaded as a library
|
|
- // (there seems to be extra orchestration required to get
|
|
- // include paths set up; easier to just depend on command
|
|
- // line tools since we request their installation in other
|
|
- // contexts as well)
|
|
- clangVersions = {
|
|
- "/Library/Developer/CommandLineTools/usr/lib/libclang.dylib"
|
|
- };
|
|
-#elif defined(__unix__)
|
|
- // default set of versions
|
|
- clangVersions = {
|
|
- "/usr/lib/libclang.so",
|
|
- "/usr/lib/llvm/libclang.so",
|
|
- "/usr/lib64/libclang.so",
|
|
- "/usr/lib64/llvm/libclang.so",
|
|
- };
|
|
-
|
|
- // iterate through the set of available 'llvm' directories
|
|
- for (const char* prefix : {"/usr/lib", "/usr/lib64"})
|
|
- {
|
|
- FilePath prefixPath(prefix);
|
|
- if (!prefixPath.exists())
|
|
- continue;
|
|
-
|
|
- std::vector<FilePath> directories;
|
|
- Error error = prefixPath.getChildren(directories);
|
|
- if (error)
|
|
- LOG_ERROR(error);
|
|
-
|
|
- // generate a path for each 'llvm' directory
|
|
- for (const FilePath& path : directories)
|
|
- if (path.getFilename().find("llvm") == 0)
|
|
- clangVersions.push_back(path.completePath("lib/libclang.so.1").getAbsolutePath());
|
|
- }
|
|
-#endif
|
|
-
|
|
+ std::vector<std::string> clangVersions = { "@libclang.so@" };
|
|
return clangVersions;
|
|
}
|
|
|