[valadoc] doclets/gtkdoc: Call pkg-config only for existing packages
- From: Luca Bruno <lucabru src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [valadoc] doclets/gtkdoc: Call pkg-config only for existing packages
- Date: Mon, 2 Aug 2010 22:12:58 +0000 (UTC)
commit 959c7946a0123fa68c4d4cbf00cd776fd1a13b71
Author: Luca Bruno <lethalman88 gmail com>
Date: Mon Aug 2 22:22:45 2010 +0200
doclets/gtkdoc: Call pkg-config only for existing packages
src/doclets/gtkdoc/doclet.vala | 2 +-
src/doclets/gtkdoc/utils.vala | 15 +++++++++++++++
2 files changed, 16 insertions(+), 1 deletions(-)
---
diff --git a/src/doclets/gtkdoc/doclet.vala b/src/doclets/gtkdoc/doclet.vala
index bb518c6..ae89212 100644
--- a/src/doclets/gtkdoc/doclet.vala
+++ b/src/doclets/gtkdoc/doclet.vala
@@ -216,7 +216,7 @@ public class Gtkdoc.Director : Valadoc.Doclet, Object {
string[] pc = { "pkg-config" };
foreach (var package in tree.get_package_list()) {
- if (package.is_package) {
+ if (package.is_package && package_exists (package.name)) {
pc += package.name;
}
}
diff --git a/src/doclets/gtkdoc/utils.vala b/src/doclets/gtkdoc/utils.vala
index 3d883d2..40f388e 100644
--- a/src/doclets/gtkdoc/utils.vala
+++ b/src/doclets/gtkdoc/utils.vala
@@ -1,6 +1,7 @@
/* utils.vala
*
* Copyright (C) 2010 Luca Bruno
+ * Copyright (C) 2007-2009 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -148,6 +149,20 @@ namespace Gtkdoc {
public string to_docbook_id (string name) {
return name.replace(".", "-").replace("_", "-");
}
+
+ public bool package_exists (string package_name) {
+ // copied from vala/codegen/valaccodecompiler.vala
+ string pc = "pkg-config --exists " + package_name;
+ int exit_status;
+
+ try {
+ Process.spawn_command_line_sync (pc, null, null, out exit_status);
+ return (0 == exit_status);
+ } catch (SpawnError e) {
+ warning ("GtkDoc: Error pkg-config --exists %s: %s", package_name, e.message);
+ return false;
+ }
+ }
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]