]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
compiler: Prefix headers for set_cheader_override() if includedir is given
authorRico Tzschichholz <ricotz@ubuntu.com>
Thu, 8 Feb 2018 15:14:42 +0000 (16:14 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Thu, 8 Feb 2018 15:16:36 +0000 (16:16 +0100)
We need to account for changes done by SourceFile.get_cinclude_filename()

https://bugzilla.gnome.org/show_bug.cgi?id=793299

compiler/valacompiler.vala

index 9d4d36b95e0835d20c36f01c47324a3c7bdb0f8e..522b41ac5e61634e9562927e65768c2f0b8577f6 100644 (file)
@@ -474,7 +474,15 @@ class Vala.Compiler {
                        }
 
                        var interface_writer = new CodeWriter (CodeWriterType.INTERNAL);
-                       interface_writer.set_cheader_override(header_filename, internal_header_filename);
+
+                       if (context.includedir != null) {
+                               var prefixed_header_filename = Path.build_path ("/", context.includedir, Path.get_basename (header_filename));
+                               var prefixed_internal_header_filename = Path.build_path ("/", context.includedir, Path.get_basename (internal_header_filename));
+                               interface_writer.set_cheader_override (prefixed_header_filename, prefixed_internal_header_filename);
+                       } else {
+                               interface_writer.set_cheader_override (header_filename, internal_header_filename);
+                       }
+
                        string vapi_filename = internal_vapi_filename;
 
                        // put .vapi file in current directory unless -d has been explicitly specified