[glib] glib-compile-resources: Output depfile in same directory as target
- From: Patrick Griffis <pgriffis src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] glib-compile-resources: Output depfile in same directory as target
- Date: Wed, 2 Nov 2016 21:44:48 +0000 (UTC)
commit 9006940de604a8d72bf9198a0e4b20cd113c4b11
Author: Patrick Griffis <tingping tingping se>
Date: Mon Oct 24 13:04:10 2016 -0400
glib-compile-resources: Output depfile in same directory as target
https://bugzilla.gnome.org/show_bug.cgi?id=773437
docs/reference/gio/glib-compile-resources.xml | 2 ++
gio/glib-compile-resources.c | 11 +++++++++++
2 files changed, 13 insertions(+), 0 deletions(-)
---
diff --git a/docs/reference/gio/glib-compile-resources.xml b/docs/reference/gio/glib-compile-resources.xml
index f5a1e62..85ce284 100644
--- a/docs/reference/gio/glib-compile-resources.xml
+++ b/docs/reference/gio/glib-compile-resources.xml
@@ -178,6 +178,8 @@ If <option>FILE</option> is -, the dependencies are written to the standard
output. Unlike <option>--generate-dependencies</option>, this option can be
combined with other <option>--generate</option> options to generate dependencies
as a side-effect of generating sources.
+If <option>FILE</option> is not an absolute path and <option>--target</option>
+is passed then it will be relative to the same directory as the target output.
</para></listitem>
</varlistentry>
diff --git a/gio/glib-compile-resources.c b/gio/glib-compile-resources.c
index 3d13b12..ce02d1a 100644
--- a/gio/glib-compile-resources.c
+++ b/gio/glib-compile-resources.c
@@ -789,6 +789,17 @@ main (int argc, char **argv)
}
else
{
+ /* Output depfile next to generated file */
+ if (!g_path_is_absolute (dependency_file) && target != NULL)
+ {
+ char *targetdir = g_path_get_dirname (target);
+ char *tmp = dependency_file;
+
+ dependency_file = g_build_filename (targetdir, dependency_file, NULL);
+
+ g_free (tmp);
+ g_free (targetdir);
+ }
if (!g_file_set_contents (dependency_file, dep_string->str, dep_string->len, &error))
{
g_printerr ("Error writing dependency file: %s\n", error->message);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]