diff --git a/src/graphics/lib/compute/hotsort/hotsort_gen/target_glsl.c b/src/graphics/lib/compute/hotsort/hotsort_gen/target_glsl.c
index 3bc61a382d15185633ce2f81ae17cf99cb0b043f..521c1a7172bb18673beea408df2e8b05f801c448 100644
--- a/src/graphics/lib/compute/hotsort/hotsort_gen/target_glsl.c
+++ b/src/graphics/lib/compute/hotsort/hotsort_gen/target_glsl.c
@@ -138,10 +138,26 @@ hsg_target_header_and_module(struct hsg_config const * const config)
             "//                                                        \n"
             "//                                                        \n"
             "                                                          \n"
+            "#ifdef __cplusplus                                        \n"
+            "extern \"C\" {                                            \n"
+            "#endif                                                    \n"
+            "                                                          \n"
+            "//                                                        \n"
+            "//                                                        \n"
+            "//                                                        \n"
+            "                                                          \n"
             "extern struct hotsort_vk_target const HS_TARGET_NAME;     \n"
             "                                                          \n"
             "//                                                        \n"
             "//                                                        \n"
+            "//                                                        \n"
+            "                                                          \n"
+            "#ifdef __cplusplus                                        \n"
+            "}                                                         \n"
+            "#endif                                                    \n"
+            "                                                          \n"
+            "//                                                        \n"
+            "//                                                        \n"
             "//                                                        \n",
             config->define.lower);
 
diff --git a/src/graphics/lib/compute/hotsort/platforms/vk/hotsort_vk.h b/src/graphics/lib/compute/hotsort/platforms/vk/hotsort_vk.h
index 81c1955d0281524f09b0d8b647c0bdceaf6fdb22..3c0524e60285bf5c894d4ff5d08298819e0e1745 100644
--- a/src/graphics/lib/compute/hotsort/platforms/vk/hotsort_vk.h
+++ b/src/graphics/lib/compute/hotsort/platforms/vk/hotsort_vk.h
@@ -22,6 +22,14 @@
 //
 //
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+//
+//
+//
+
 #include "hotsort_vk_target.h"
 
 //
@@ -151,3 +159,11 @@ hotsort_vk_sort(VkCommandBuffer                            cb,
 //
 //
 //
+
+#ifdef __cplusplus
+}
+#endif
+
+//
+//
+//
diff --git a/src/graphics/lib/compute/hotsort/platforms/vk/hotsort_vk_target.h b/src/graphics/lib/compute/hotsort/platforms/vk/hotsort_vk_target.h
index 38457d79bdc272d98479d1a3cc1ab639fe36d3a3..23c06bf5de7a4b268c70277b29c67dcdad169fff 100644
--- a/src/graphics/lib/compute/hotsort/platforms/vk/hotsort_vk_target.h
+++ b/src/graphics/lib/compute/hotsort/platforms/vk/hotsort_vk_target.h
@@ -10,6 +10,14 @@
 
 #include <stdint.h>
 
+//
+//
+//
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 //
 // This structure packages target-specific HotSort parameters and
 // SPIR-V modules.
@@ -65,3 +73,11 @@ struct hotsort_vk_target
 //
 //
 //
+
+#ifdef __cplusplus
+}
+#endif
+
+//
+//
+//