[valadoc] [PATCH] gtkdoc: Accept multiple *.so files
- From: Michal Hruby <mhruby src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [valadoc] [PATCH] gtkdoc: Accept multiple *.so files
- Date: Fri, 26 Oct 2012 14:12:45 +0000 (UTC)
commit 5e9e89ca89e5f93d5aa3285084c4be4726c137db
Author: Michal Hruby <michal mhr gmail com>
Date: Fri Oct 26 16:12:09 2012 +0200
[PATCH] gtkdoc: Accept multiple *.so files
src/doclets/gtkdoc/doclet.vala | 27 +++++++++++++++++++--------
1 files changed, 19 insertions(+), 8 deletions(-)
---
diff --git a/src/doclets/gtkdoc/doclet.vala b/src/doclets/gtkdoc/doclet.vala
index e0fe5b5..82871e5 100644
--- a/src/doclets/gtkdoc/doclet.vala
+++ b/src/doclets/gtkdoc/doclet.vala
@@ -26,7 +26,8 @@ using Valadoc.Content;
namespace Gtkdoc.Config {
public static bool nohtml;
- public static string library_filename;
+ [CCode (array_length = false, array_null_terminated = true)]
+ public static string[] library_filenames;
[CCode (array_length = false, array_null_terminated = true)]
public static string[] ignore_headers;
[CCode (array_length = false, array_null_terminated = true)]
@@ -35,7 +36,7 @@ namespace Gtkdoc.Config {
public static string ignore_decorators;
private static const GLib.OptionEntry[] options = {
- { "library", 'l', 0, OptionArg.FILENAME, ref library_filename, "Shared library path", "FILENAME" },
+ { "library", 'l', 0, OptionArg.FILENAME_ARRAY, ref library_filenames, "Shared library path", "FILENAME" },
{ "ignore-headers", 'x', 0, OptionArg.FILENAME_ARRAY, ref ignore_headers, "A list of header files to not scan", "FILES" },
{ "deprecated-guards", 'd', 0, OptionArg.STRING, ref deprecated_guards, "A |-separated list of symbols used as deprecation guards", "GUARDS" },
{ "ignore-decorators", 0, 0, OptionArg.STRING, ref ignore_decorators, "A |-separated list of addition decorators in declarations that should be ignored", "DECS" },
@@ -243,11 +244,20 @@ public class Gtkdoc.Director : Valadoc.Doclet, Object {
}
private bool scangobj () {
- if (Config.library_filename == null) {
+ if (Config.library_filenames == null) {
return true;
}
- var library = realpath (Config.library_filename);
+ StringBuilder library_paths = new StringBuilder ();
+ StringBuilder library_dirs = new StringBuilder ();
+ foreach (string library in Config.library_filenames) {
+ string so_path = realpath (library);
+ string name = Path.get_dirname (so_path);
+ library_dirs.append (name);
+ library_paths.append (so_path);
+ library_paths.append_c (' ');
+ library_dirs.append_c (':');
+ }
string[] pc = new string[] { "pkg-config" };
@@ -290,7 +300,6 @@ public class Gtkdoc.Director : Valadoc.Doclet, Object {
}
libs = libs.strip ();
-
string[] args = { "gtkdoc-scangobj",
"--module", settings.pkg_name,
"--types", "%s.types".printf (settings.pkg_name),
@@ -298,13 +307,15 @@ public class Gtkdoc.Director : Valadoc.Doclet, Object {
string[] env = { "CFLAGS=%s %s".printf (cflags,
Environment.get_variable ("CFLAGS") ?? ""),
- "LDFLAGS=%s %s %s".printf (libs, library,
+ "LDFLAGS=%s %s %s".printf (libs, library_paths.str,
Environment.get_variable ("LDFLAGS") ?? ""),
- "LD_LIBRARY_PATH=%s:%s".printf (Path.get_dirname (library),
+ "LD_LIBRARY_PATH=%s%s".printf (library_dirs.str,
Environment.get_variable ("LD_LIBRARY_PATH") ?? "")};
+
foreach (var evar in Environment.list_variables()) {
- if (evar != "CFLAGS" && evar != "LDFLAGS" && evar != "LD_LIBRARY_PATH")
+ if (evar != "CFLAGS" && evar != "LDFLAGS" && evar != "LD_LIBRARY_PATH") {
env += "%s=%s".printf (evar, Environment.get_variable(evar));
+ }
}
Process.spawn_sync (settings.path, args, env, SpawnFlags.SEARCH_PATH, null, null, null);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]