diff --git a/examples/system-info.c b/examples/system-info.c index 063476695524092e6b4a236cd8fbe814a02e802c..aca0ed52c50fbbb6b7a2bbfc2b6c2a3be5eab64e 100644 --- a/examples/system-info.c +++ b/examples/system-info.c @@ -45,9 +45,9 @@ main (int argc, g_print ("{\n"); g_print (" \"can-run\": {\n"); - g_print (" \"i386-linux-gnu\": %s,\n", + g_print (" \"%s\": %s,\n", SRT_ABI_I386, srt_architecture_can_run_i386 () ? "true" : "false"); - g_print (" \"x86_64-linux-gnu\": %s\n", + g_print (" \"%s\": %s\n", SRT_ABI_X86_64, srt_architecture_can_run_x86_64 () ? "true" : "false"); g_print (" }\n"); diff --git a/steam-runtime-tools/architecture.c b/steam-runtime-tools/architecture.c index f04e9a75f217924c49faef6e284b2d1de647bbb7..e8a5f4390f34524bb440d39ec03c756440fda93c 100644 --- a/steam-runtime-tools/architecture.c +++ b/steam-runtime-tools/architecture.c @@ -84,7 +84,7 @@ out: /** * srt_architecture_can_run_i386: * - * Check whether we can run an i386 executable. + * Check whether we can run an i386 (%SRT_ABI_I386) executable. * * For this check to work as intended, the contents of the * `libsteam-runtime-tools-0-helpers:i386` package must be available @@ -107,13 +107,13 @@ out: gboolean srt_architecture_can_run_i386 (void) { - return _srt_architecture_can_run ("i386-linux-gnu"); + return _srt_architecture_can_run (SRT_ABI_I386); } /** * srt_architecture_can_run_x86_64: * - * Check whether we can run an x86_64 executable. + * Check whether we can run an x86_64 (%SRT_ABI_X86_64) executable. * * For this check to work as intended, the contents of the * `libsteam-runtime-tools-0-helpers:amd64` package must be available @@ -125,5 +125,5 @@ srt_architecture_can_run_i386 (void) gboolean srt_architecture_can_run_x86_64 (void) { - return _srt_architecture_can_run ("x86_64-linux-gnu"); + return _srt_architecture_can_run (SRT_ABI_X86_64); } diff --git a/steam-runtime-tools/architecture.h b/steam-runtime-tools/architecture.h index bf05afdff60c15d5e7f5d124db6f027c36d9369d..ed1562d9973efeae0d2852832a520d027e3da069 100644 --- a/steam-runtime-tools/architecture.h +++ b/steam-runtime-tools/architecture.h @@ -31,5 +31,21 @@ #include <glib.h> +/** + * SRT_ABI_I386: + * + * The multiarch tuple for the i386 (IA-32) ABI normally used on + * 32-bit x86 Linux. + */ +#define SRT_ABI_I386 "i386-linux-gnu" + +/** + * SRT_ABI_X86_64: + * + * The multiarch tuple for the x86_64 ABI normally used on + * 64-bit x86 Linux. + */ +#define SRT_ABI_X86_64 "x86_64-linux-gnu" + gboolean srt_architecture_can_run_i386 (void); gboolean srt_architecture_can_run_x86_64 (void); diff --git a/steam-runtime-tools/library-internal.h b/steam-runtime-tools/library-internal.h index 4fef587f4a2c0b83dd7ea517c00c3afdc04b705d..ff243daa13b0e6a835aa8b9b1e609054424c714e 100644 --- a/steam-runtime-tools/library-internal.h +++ b/steam-runtime-tools/library-internal.h @@ -30,7 +30,7 @@ /* * _srt_library_new: - * @multiarch_tuple: A multiarch tuple like i386-linux-gnu, + * @multiarch_tuple: A multiarch tuple like %SRT_ABI_I386, * representing an ABI * @soname: A SONAME like libz.so.1 * @issues: Problems found when loading a @multiarch_tuple copy diff --git a/steam-runtime-tools/library.c b/steam-runtime-tools/library.c index 05c1c07860108df2c1e684eeb3117812daaaf031..00718b7d0b1b0f109b2b3805bb08320538892ee4 100644 --- a/steam-runtime-tools/library.c +++ b/steam-runtime-tools/library.c @@ -25,6 +25,7 @@ #include "steam-runtime-tools/library.h" +#include "steam-runtime-tools/architecture.h" #include "steam-runtime-tools/enums.h" /** @@ -183,8 +184,8 @@ srt_library_class_init (SrtLibraryClass *cls) properties[PROP_MULTIARCH_TUPLE] = g_param_spec_string ("multiarch-tuple", "Multiarch tuple", "Debian-style multiarch tuple representing the " - "ABI of this library, usually i386-linux-gnu " - "or x86_64-linux-gnu", + "ABI of this library, usually " SRT_ABI_I386 " " + "or " SRT_ABI_X86_64, NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); @@ -220,8 +221,8 @@ srt_library_get_soname (SrtLibrary *self) * * Return the multiarch tuple representing the ABI of @self. * - * Returns: A Debian-style multiarch tuple, usually `i386-linux-gnu` - * or `x86_64-linux-gnu` + * Returns: A Debian-style multiarch tuple, usually %SRT_ABI_I386 + * or %SRT_ABI_X86_64 */ const char * srt_library_get_multiarch_tuple (SrtLibrary *self)