]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Add replacement for G_(BEGIN|END)_DECLS in non GOBJECT profile
authorAlistair Thomas <astavale@yahoo.co.uk>
Sat, 3 Nov 2018 13:28:52 +0000 (14:28 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Sat, 3 Nov 2018 13:32:08 +0000 (14:32 +0100)
Fixes https://gitlab.gnome.org/GNOME/vala/issues/622

codegen/valaccodebasemodule.vala

index 56a91f347c6df45e1ab6e593696d4f062f0dc1f4..394d710e171882807adf5b2cac22ebf7d4b3ade1 100644 (file)
@@ -544,7 +544,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
                        if (context.profile == Profile.GOBJECT) {
                                ret = header_file.store (context.header_filename, null, context.version_header, false, "G_BEGIN_DECLS", "G_END_DECLS");
                        } else {
-                               ret = header_file.store (context.header_filename, null, context.version_header, false);
+                               ret = header_file.store (context.header_filename, null, context.version_header, false, "#ifdef  __cplusplus\nextern \"C\" {\n#endif", "#ifdef  __cplusplus\n}\n#endif");
                        }
                        if (!ret) {
                                Report.error (null, "unable to open `%s' for writing".printf (context.header_filename));
@@ -557,7 +557,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
                        if (context.profile == Profile.GOBJECT) {
                                ret = internal_header_file.store (context.internal_header_filename, null, context.version_header, false, "G_BEGIN_DECLS", "G_END_DECLS");
                        } else {
-                               ret = internal_header_file.store (context.internal_header_filename, null, context.version_header, false);
+                               ret = internal_header_file.store (context.internal_header_filename, null, context.version_header, false, "#ifdef  __cplusplus\nextern \"C\" {\n#endif", "#ifdef  __cplusplus\n}\n#endif");
                        }
                        if (!ret) {
                                Report.error (null, "unable to open `%s' for writing".printf (context.internal_header_filename));