[gnome-builder] runtime: add API to get runtime architecture
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] runtime: add API to get runtime architecture
- Date: Mon, 26 Feb 2018 02:14:26 +0000 (UTC)
commit f99056dacc505720a3310a48aaa1cb7d22c7272f
Author: Christian Hergert <chergert redhat com>
Date: Sun Feb 25 17:51:14 2018 -0800
runtime: add API to get runtime architecture
src/libide/runtimes/ide-runtime.c | 31 +++++++++++++++++++++++++++++++
src/libide/runtimes/ide-runtime.h | 17 ++++-------------
2 files changed, 35 insertions(+), 13 deletions(-)
---
diff --git a/src/libide/runtimes/ide-runtime.c b/src/libide/runtimes/ide-runtime.c
index fb098711d..1c77da346 100644
--- a/src/libide/runtimes/ide-runtime.c
+++ b/src/libide/runtimes/ide-runtime.c
@@ -30,6 +30,7 @@
#include "subprocess/ide-subprocess.h"
#include "subprocess/ide-subprocess-launcher.h"
#include "util/ide-flatpak.h"
+#include "util/ide-posix.h"
typedef struct
{
@@ -548,3 +549,33 @@ ide_runtime_get_system_include_dirs (IdeRuntime *self)
return g_strdupv ((gchar **)basic);
}
+
+/**
+ * ide_runtime_get_arch:
+ * @self: a #IdeRuntime
+ *
+ * Get's the architecture of the runtime.
+ *
+ * This can be used to ensure we're compiling for the right architecture
+ * given the current device.
+ *
+ * Returns: (transfer full) (not nullable): the name of the architecture
+ * the runtime will build for.
+ *
+ * Since: 3.28
+ */
+gchar *
+ide_runtime_get_arch (IdeRuntime *self)
+{
+ gchar *ret = NULL;
+
+ g_return_val_if_fail (IDE_IS_RUNTIME (self), NULL);
+
+ if (IDE_RUNTIME_GET_CLASS (self)->get_arch)
+ ret = IDE_RUNTIME_GET_CLASS (self)->get_arch (self);
+
+ if (ret == NULL)
+ ret = ide_get_system_arch ();
+
+ return ret;
+}
diff --git a/src/libide/runtimes/ide-runtime.h b/src/libide/runtimes/ide-runtime.h
index 5d7813e8b..a4f219496 100644
--- a/src/libide/runtimes/ide-runtime.h
+++ b/src/libide/runtimes/ide-runtime.h
@@ -56,20 +56,9 @@ struct _IdeRuntimeClass
GFile *(*translate_file) (IdeRuntime *self,
GFile *file);
gchar **(*get_system_include_dirs) (IdeRuntime *self);
+ gchar *(*get_arch) (IdeRuntime *self);
- gpointer _reserved4;
- gpointer _reserved5;
- gpointer _reserved6;
- gpointer _reserved7;
- gpointer _reserved8;
- gpointer _reserved9;
- gpointer _reserved10;
- gpointer _reserved11;
- gpointer _reserved12;
- gpointer _reserved13;
- gpointer _reserved14;
- gpointer _reserved15;
- gpointer _reserved16;
+ gpointer _reserved[12];
};
IDE_AVAILABLE_IN_ALL
@@ -106,5 +95,7 @@ GFile *ide_runtime_translate_file (IdeRuntime
GFile *file);
IDE_AVAILABLE_IN_3_28
gchar **ide_runtime_get_system_include_dirs (IdeRuntime *self);
+IDE_AVAILABLE_IN_3_28
+gchar *ide_runtime_get_arch (IdeRuntime *self);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]