From: Alp Toker Date: Wed, 4 Jun 2014 03:57:44 +0000 (+0000) Subject: GraphWriter: support the XDG open utility X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e3fbe2c774ba7b60e2b7b21baa587101e29408dc;p=platform%2Fupstream%2Fllvm.git GraphWriter: support the XDG open utility This runs a suitable viewer on Unix desktop environments specified by Freedesktop.org (GNOME, KDE, Linux distributions etc.) llvm-svn: 210147 --- diff --git a/llvm/lib/Support/GraphWriter.cpp b/llvm/lib/Support/GraphWriter.cpp index 1521475..a7bb4f2 100644 --- a/llvm/lib/Support/GraphWriter.cpp +++ b/llvm/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());