summaryrefslogtreecommitdiff
path: root/lib/Support
diff options
context:
space:
mode:
authorAlp Toker <alp@nuanti.com>2014-06-04 03:57:44 +0000
committerAlp Toker <alp@nuanti.com>2014-06-04 03:57:44 +0000
commita5bd2adbc74fe77909efcf16a9462aa8c00f47ad (patch)
tree8827d934b4030df459cb0a93be497a2d05817adc /lib/Support
parent4830b9c727d5b2c4e30b51ea31b3a74473416bbe (diff)
downloadllvm-a5bd2adbc74fe77909efcf16a9462aa8c00f47ad.tar.gz
llvm-a5bd2adbc74fe77909efcf16a9462aa8c00f47ad.tar.bz2
llvm-a5bd2adbc74fe77909efcf16a9462aa8c00f47ad.tar.xz
GraphWriter: support the XDG open utility
This runs a suitable viewer on Unix desktop environments specified by Freedesktop.org (GNOME, KDE, Linux distributions etc.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210147 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support')
-rw-r--r--lib/Support/GraphWriter.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/Support/GraphWriter.cpp b/lib/Support/GraphWriter.cpp
index 1521475a8b..a7bb4f26a5 100644
--- a/lib/Support/GraphWriter.cpp
+++ b/lib/Support/GraphWriter.cpp
@@ -164,12 +164,14 @@ bool llvm::DisplayGraph(StringRef FilenameRef, bool wait,
return ExecGraphViewer(ViewerPath, args, Filename, wait, ErrMsg);
}
- enum PSViewerKind { PSV_None, PSV_OSXOpen, PSV_Ghostview };
+ enum PSViewerKind { PSV_None, PSV_OSXOpen, PSV_XDGOpen, PSV_Ghostview };
PSViewerKind PSViewer = PSV_None;
#ifdef __APPLE__
- if (S.TryFindProgram("open", ViewerPath))
+ if (!PSViewer && S.TryFindProgram("open", ViewerPath))
PSViewer = PSV_OSXOpen;
#endif
+ if (!PSViewer && S.TryFindProgram("xdg-open", ViewerPath))
+ PSViewer = PSV_XDGOpen;
if (!PSViewer && S.TryFindProgram("gv", ViewerPath))
PSViewer = PSV_Ghostview;
@@ -202,6 +204,10 @@ bool llvm::DisplayGraph(StringRef FilenameRef, bool wait,
args.push_back("-W");
args.push_back(PSFilename.c_str());
break;
+ case PSV_XDGOpen:
+ wait = false;
+ args.push_back(PSFilename.c_str());
+ break;
case PSV_Ghostview:
args.push_back("--spartan");
args.push_back(PSFilename.c_str());