about summary refs log tree commit diff stats
path: root/src/wrapped
diff options
context:
space:
mode:
authorKreitinnSoftware <80591934+KreitinnSoftware@users.noreply.github.com>2024-02-06 08:26:50 -0300
committerGitHub <noreply@github.com>2024-02-06 12:26:50 +0100
commit16423270154ab75987b05723ae45f30cdd8a0e3d (patch)
tree68a15bc90574814d89ce7e532905498f27852908 /src/wrapped
parent399478d635c352a986aaa891ac824d840ae19e56 (diff)
downloadbox64-16423270154ab75987b05723ae45f30cdd8a0e3d.tar.gz
box64-16423270154ab75987b05723ae45f30cdd8a0e3d.zip
[ANDROID] Fix GLib and GObject Library Names (#1247)
* [ANDROID] Fix GLib and GObject Library Names

* [ANDROID] Fix gdk3, gdkpixbuf2, gio2, gmodule2, gtkx112, gdkx112, pangocairo Library Names
Diffstat (limited to 'src/wrapped')
-rw-r--r--src/wrapped/wrappedgdk3.c17
-rw-r--r--src/wrapped/wrappedgdkpixbuf2.c6
-rw-r--r--src/wrapped/wrappedgdkx112.c13
-rw-r--r--src/wrapped/wrappedgio2.c14
-rw-r--r--src/wrapped/wrappedglib2.c6
-rw-r--r--src/wrapped/wrappedgmodule2.c11
-rw-r--r--src/wrapped/wrappedgobject2.c18
-rw-r--r--src/wrapped/wrappedgtk3.c29
-rw-r--r--src/wrapped/wrappedgtkx112.c36
-rw-r--r--src/wrapped/wrappedpango.c12
-rw-r--r--src/wrapped/wrappedpangocairo.c12
11 files changed, 163 insertions, 11 deletions
diff --git a/src/wrapped/wrappedgdk3.c b/src/wrapped/wrappedgdk3.c
index 0cfc6fcd..f7fe5f10 100644
--- a/src/wrapped/wrappedgdk3.c
+++ b/src/wrapped/wrappedgdk3.c
@@ -18,7 +18,11 @@
 #include "emu/x64emu_private.h"
 #include "gtkclass.h"
 
-const char* gdk3Name = "libgdk-3.so.0";
+#ifdef ANDROID
+    const char* gdk3Name = "libgdk-3.so";
+#else
+    const char* gdk3Name = "libgdk-3.so.0";
+#endif
 #define LIBNAME gdk3
 
 static char* libname = NULL;
@@ -186,6 +190,16 @@ EXPORT uint32_t my3_gdk_threads_add_timeout_full(x64emu_t* emu, int priotity, ui
     if(box64_nogtk) \
         return -1;
 
+#ifdef ANDROID
+#define CUSTOM_INIT \
+    libname = lib->name;            \
+    SETALT(my3_);                   \
+    getMy(lib);                     \
+    setNeededLibs(lib, 3,           \
+        "libgobject-2.0.so",      \
+        "libgio-2.0.so",          \
+        "libgdk_pixbuf-2.0.so");
+#else
 #define CUSTOM_INIT \
     libname = lib->name;            \
     SETALT(my3_);                   \
@@ -194,6 +208,7 @@ EXPORT uint32_t my3_gdk_threads_add_timeout_full(x64emu_t* emu, int priotity, ui
         "libgobject-2.0.so.0",      \
         "libgio-2.0.so.0",          \
         "libgdk_pixbuf-2.0.so.0");
+#endif
 
 #define CUSTOM_FINI \
     freeMy();
diff --git a/src/wrapped/wrappedgdkpixbuf2.c b/src/wrapped/wrappedgdkpixbuf2.c
index 34770c8c..8ba0dcb3 100644
--- a/src/wrapped/wrappedgdkpixbuf2.c
+++ b/src/wrapped/wrappedgdkpixbuf2.c
@@ -17,7 +17,11 @@
 #include "box64context.h"
 #include "emu/x64emu_private.h"
 
-const char* gdkpixbuf2Name = "libgdk_pixbuf-2.0.so.0";
+#ifdef ANDROID
+    const char* gdkpixbuf2Name = "libgdk_pixbuf-2.0.so";
+#else
+    const char* gdkpixbuf2Name = "libgdk_pixbuf-2.0.so.0";
+#endif
 #define LIBNAME gdkpixbuf2
 
 #include "generated/wrappedgdkpixbuf2types.h"
diff --git a/src/wrapped/wrappedgdkx112.c b/src/wrapped/wrappedgdkx112.c
index 9b7bde77..3c3f3fb9 100644
--- a/src/wrapped/wrappedgdkx112.c
+++ b/src/wrapped/wrappedgdkx112.c
@@ -18,7 +18,11 @@
 #include "emu/x64emu_private.h"
 #include "gtkclass.h"
 
-const char* gdkx112Name = "libgdk-x11-2.0.so.0";
+#ifdef ANDROID
+    const char* gdkx112Name = "libgdk-x11-2.0.so";
+#else
+    const char* gdkx112Name = "libgdk-x11-2.0.so.0";
+#endif
 #define LIBNAME gdkx112
 
 static char* libname = NULL;
@@ -174,10 +178,17 @@ EXPORT uint32_t my_gdk_threads_add_timeout_full(x64emu_t* emu, int priotity, uin
     if(box64_nogtk) \
         return -1;
 
+#ifdef ANDROID
+#define CUSTOM_INIT         \
+    libname = lib->name;    \
+    getMy(lib);             \
+    setNeededLibs(lib, 3, "libgobject-2.0.so", "libgio-2.0.so", "libgdk_pixbuf-2.0.so");
+#else
 #define CUSTOM_INIT         \
     libname = lib->name;    \
     getMy(lib);             \
     setNeededLibs(lib, 3, "libgobject-2.0.so.0", "libgio-2.0.so.0", "libgdk_pixbuf-2.0.so.0");
+#endif
 
 #define CUSTOM_FINI \
     freeMy(); \
diff --git a/src/wrapped/wrappedgio2.c b/src/wrapped/wrappedgio2.c
index 2556c7b3..07c86969 100644
--- a/src/wrapped/wrappedgio2.c
+++ b/src/wrapped/wrappedgio2.c
@@ -20,7 +20,11 @@
 #include "myalign.h"
 #include "gtkclass.h"
 
-const char* gio2Name = "libgio-2.0.so.0";
+#ifdef ANDROID
+    const char* gio2Name = "libgio-2.0.so";
+#else
+    const char* gio2Name = "libgio-2.0.so.0";
+#endif
 #define LIBNAME gio2
 
 typedef size_t(*LFv_t)(void);
@@ -625,11 +629,19 @@ EXPORT void my_g_input_stream_read_async(x64emu_t* emu, void* stream, void* buff
     if(box64_nogtk) \
         return -1;
 
+#ifdef ANDROID
+#define CUSTOM_INIT \
+    getMy(lib);                                         \
+    SetGApplicationID(my->g_application_get_type());    \
+    SetGDBusProxyID(my->g_dbus_proxy_get_type());       \
+    setNeededLibs(lib, 1, "libgmodule-2.0.so");
+#else
 #define CUSTOM_INIT \
     getMy(lib);                                         \
     SetGApplicationID(my->g_application_get_type());    \
     SetGDBusProxyID(my->g_dbus_proxy_get_type());       \
     setNeededLibs(lib, 1, "libgmodule-2.0.so.0");
+#endif
 
 #define CUSTOM_FINI \
     freeMy();
diff --git a/src/wrapped/wrappedglib2.c b/src/wrapped/wrappedglib2.c
index 9dd59d76..18ae3f3e 100644
--- a/src/wrapped/wrappedglib2.c
+++ b/src/wrapped/wrappedglib2.c
@@ -20,7 +20,11 @@
 #include "gtkclass.h"
 #include "threads.h"
 
-const char* glib2Name = "libglib-2.0.so.0";
+#ifdef ANDROID
+    const char* glib2Name = "libglib-2.0.so";
+#else
+    const char* glib2Name = "libglib-2.0.so.0";
+#endif
 #define LIBNAME glib2
 
 typedef void  (*vFppip_t)(void*, void*, int, void*);
diff --git a/src/wrapped/wrappedgmodule2.c b/src/wrapped/wrappedgmodule2.c
index b5681d4e..c926238d 100644
--- a/src/wrapped/wrappedgmodule2.c
+++ b/src/wrapped/wrappedgmodule2.c
@@ -12,14 +12,23 @@
 #include "librarian/library_private.h"
 #include "x64emu.h"
 
-const char* gmodule2Name = "libgmodule-2.0.so.0";
+#ifdef ANDROID
+    const char* gmodule2Name = "libgmodule-2.0.so";
+#else
+    const char* gmodule2Name = "libgmodule-2.0.so.0";
+#endif
 #define LIBNAME gmodule2
 
 #define PRE_INIT    \
     if(box64_nogtk) \
         return -1;
 
+#ifdef ANDROID
+#define CUSTOM_INIT \
+    setNeededLibs(lib, 1, "libglib-2.0.so");
+#else
 #define CUSTOM_INIT \
     setNeededLibs(lib, 1, "libglib-2.0.so.0");
+#endif
 
 #include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappedgobject2.c b/src/wrapped/wrappedgobject2.c
index 2371e011..19091269 100644
--- a/src/wrapped/wrappedgobject2.c
+++ b/src/wrapped/wrappedgobject2.c
@@ -19,7 +19,11 @@
 #include "gtkclass.h"
 #include "myalign.h"
 
-const char* gobject2Name = "libgobject-2.0.so.0";
+#ifdef ANDROID
+    const char* gobject2Name = "libgobject-2.0.so";
+#else
+    const char* gobject2Name = "libgobject-2.0.so.0";
+#endif
 #define LIBNAME gobject2
 
 typedef size_t(*LFv_t)(void);
@@ -924,6 +928,17 @@ EXPORT void* my_g_type_value_table_peek(x64emu_t* emu, size_t type)
     if(box64_nogtk) \
         return -1;
 
+#ifdef ANDROID
+#define CUSTOM_INIT \
+    InitGTKClass(lib->w.bridge);       \
+    getMy(lib);                             \
+    SetGObjectID(my->g_object_get_type());  \
+    SetGInitiallyUnownedID(my->g_initially_unowned_get_type()); \
+    SetGTypeName(my->g_type_name);          \
+    SetGClassPeek(my->g_type_class_peek);   \
+    SetGTypeParent(my->g_type_parent);      \
+    setNeededLibs(lib, 1, "libglib-2.0.so");
+#else
 #define CUSTOM_INIT \
     InitGTKClass(lib->w.bridge);       \
     getMy(lib);                             \
@@ -933,6 +948,7 @@ EXPORT void* my_g_type_value_table_peek(x64emu_t* emu, size_t type)
     SetGClassPeek(my->g_type_class_peek);   \
     SetGTypeParent(my->g_type_parent);      \
     setNeededLibs(lib, 1, "libglib-2.0.so.0");
+#endif
 
 #define CUSTOM_FINI \
     FiniGTKClass(); \
diff --git a/src/wrapped/wrappedgtk3.c b/src/wrapped/wrappedgtk3.c
index cdc44219..7339effa 100644
--- a/src/wrapped/wrappedgtk3.c
+++ b/src/wrapped/wrappedgtk3.c
@@ -821,6 +821,34 @@ EXPORT void my3_gtk_tree_store_set(x64emu_t* emu, void* tree, void* iter, uintpt
     if(box64_nogtk) \
         return -1;
 
+#ifdef ANDROID
+#define CUSTOM_INIT \
+    libname = lib->name;                                        \
+    getMy(lib);                                                 \
+    SETALT(my3_);                                               \
+    SetGtkApplicationID(my->gtk_application_get_type());        \
+    SetGtkWidget3ID(my->gtk_widget_get_type());                 \
+    SetGtkFixed3ID(my->gtk_fixed_get_type());                   \
+    SetGtkContainer3ID(my->gtk_container_get_type());           \
+    SetGtkBin3ID(my->gtk_bin_get_type());                       \
+    SetGtkButton3ID(my->gtk_button_get_type());                 \
+    SetGtkMenuButton3ID(my->gtk_menu_button_get_type());        \
+    SetGtkWindow3ID(my->gtk_window_get_type());                 \
+    SetGtkApplicationWindowID(my->gtk_application_window_get_type());\
+    SetGtkListBoxID(my->gtk_list_box_get_type());               \
+    SetGtkListBoxRowID(my->gtk_list_box_row_get_type());        \
+    SetGtkTextView3ID(my->gtk_text_view_get_type());            \
+    SetGtkGrid3ID(my->gtk_grid_get_type());                     \
+    SetGtkMisc3ID(my->gtk_misc_get_type());                     \
+    SetGtkLabel3ID(my->gtk_label_get_type());                   \
+    SetGtkImage3ID(my->gtk_image_get_type());                   \
+    SetGtkEventControllerID(my->gtk_event_controller_get_type());\
+    SetGtkGestureID(my->gtk_gesture_get_type());                \
+    SetGtkGestureSingleID(my->gtk_gesture_single_get_type());   \
+    SetGtkGestureLongPressID(my->gtk_gesture_long_press_get_type());\
+    SetGtkActionID(my->gtk_action_get_type());                  \
+    setNeededLibs(lib, 3, "libgdk-3.so", "libpangocairo-1.0.so", "libgio-2.0.so");
+#else
 #define CUSTOM_INIT \
     libname = lib->name;                                        \
     getMy(lib);                                                 \
@@ -847,6 +875,7 @@ EXPORT void my3_gtk_tree_store_set(x64emu_t* emu, void* tree, void* iter, uintpt
     SetGtkGestureLongPressID(my->gtk_gesture_long_press_get_type());\
     SetGtkActionID(my->gtk_action_get_type());                  \
     setNeededLibs(lib, 3, "libgdk-3.so.0", "libpangocairo-1.0.so.0", "libgio-2.0.so.0");
+#endif
 
 #define CUSTOM_FINI \
     freeMy();
diff --git a/src/wrapped/wrappedgtkx112.c b/src/wrapped/wrappedgtkx112.c
index 462f924f..bb06839d 100644
--- a/src/wrapped/wrappedgtkx112.c
+++ b/src/wrapped/wrappedgtkx112.c
@@ -19,7 +19,11 @@
 #include "myalign.h"
 #include "gtkclass.h"
 
-const char* gtkx112Name = "libgtk-x11-2.0.so.0";
+#ifdef ANDROID
+    const char* gtkx112Name = "libgtk-x11-2.0.so";
+#else
+    const char* gtkx112Name = "libgtk-x11-2.0.so.0";
+#endif
 static char* libname = NULL;
 #define LIBNAME gtkx112
 
@@ -1188,6 +1192,35 @@ EXPORT void my_gtk_print_job_send(x64emu_t* emu, void* job, void* f, void* data,
     if(box64_nogtk) \
         return -1;
 
+#ifdef ANDROID
+#define CUSTOM_INIT \
+    libname = lib->name;                                                        \
+    getMy(lib);                                                                 \
+    SetGtkObjectID(my->gtk_object_get_type());                                  \
+    SetGtkWidget2ID(my->gtk_widget_get_type());                                 \
+    SetGtkContainer2ID(my->gtk_container_get_type());                           \
+    SetGtkActionID(my->gtk_action_get_type());                                  \
+    SetGtkMisc2ID(my->gtk_misc_get_type());                                     \
+    SetGtkLabel2ID(my->gtk_label_get_type());                                   \
+    SetGtkTreeView2ID(my->gtk_tree_view_get_type());                            \
+    SetGtkBin2ID(my->gtk_bin_get_type());                                       \
+    SetGtkWindow2ID(my->gtk_window_get_type());                                 \
+    SetGtkTable2ID(my->gtk_table_get_type());                                   \
+    SetGtkFixed2ID(my->gtk_fixed_get_type());                                   \
+    SetGtkButton2ID(my->gtk_button_get_type());                                 \
+    SetGtkComboBox2ID(my->gtk_combo_box_get_type());                            \
+    SetGtkToggleButton2ID(my->gtk_toggle_button_get_type());                    \
+    SetGtkCheckButton2ID(my->gtk_check_button_get_type());                      \
+    SetGtkEntry2ID(my->gtk_entry_get_type());                                   \
+    SetGtkSpinButton2ID(my->gtk_spin_button_get_type());                        \
+    SetGtkProgress2ID(my->gtk_progress_get_type());                             \
+    SetGtkProgressBar2ID(my->gtk_progress_bar_get_type());                      \
+    SetGtkFrame2ID(my->gtk_frame_get_type());                                   \
+    SetGtkMenuShell2ID(my->gtk_menu_shell_get_type());                          \
+    SetGtkMenuBar2ID(my->gtk_menu_bar_get_type());                              \
+    SetGtkTextView2ID(my->gtk_text_view_get_type());                            \
+    setNeededLibs(lib, 2, "libgdk-x11-2.0.so", "libpangocairo-1.0.so");
+#else
 #define CUSTOM_INIT \
     libname = lib->name;                                                        \
     getMy(lib);                                                                 \
@@ -1215,6 +1248,7 @@ EXPORT void my_gtk_print_job_send(x64emu_t* emu, void* job, void* f, void* data,
     SetGtkMenuBar2ID(my->gtk_menu_bar_get_type());                              \
     SetGtkTextView2ID(my->gtk_text_view_get_type());                            \
     setNeededLibs(lib, 2, "libgdk-x11-2.0.so.0", "libpangocairo-1.0.so.0");
+#endif
 
 #define CUSTOM_FINI \
     freeMy();
diff --git a/src/wrapped/wrappedpango.c b/src/wrapped/wrappedpango.c
index 438ab7d7..d5d0d3bc 100644
--- a/src/wrapped/wrappedpango.c
+++ b/src/wrapped/wrappedpango.c
@@ -17,7 +17,11 @@
 #include "box64context.h"
 #include "emu/x64emu_private.h"
 
-const char* pangoName = "libpango-1.0.so.0";
+#ifdef ANDROID
+    const char* pangoName = "libpango-1.0.so";
+#else
+    const char* pangoName = "libpango-1.0.so.0";
+#endif
 #define LIBNAME pango
 
 #include "generated/wrappedpangotypes.h"
@@ -96,9 +100,15 @@ EXPORT void my_pango_attribute_init(x64emu_t* emu, void* attr, my_PangoAttrClass
     if(box64_nogtk) \
         return -1;
 
+#ifdef ANDROID
+#define CUSTOM_INIT \
+    getMy(lib); \
+    setNeededLibs(lib, 2, "libgobject-2.0.so", "libglib-2.0.so");
+#else
 #define CUSTOM_INIT \
     getMy(lib); \
     setNeededLibs(lib, 2, "libgobject-2.0.so.0", "libglib-2.0.so.0");
+#endif
 
 #define CUSTOM_FINI \
     freeMy();
diff --git a/src/wrapped/wrappedpangocairo.c b/src/wrapped/wrappedpangocairo.c
index d1b20176..6218fb1f 100644
--- a/src/wrapped/wrappedpangocairo.c
+++ b/src/wrapped/wrappedpangocairo.c
@@ -12,11 +12,19 @@
 #include "librarian/library_private.h"
 #include "x64emu.h"
 
-const char* pangocairoName = "libpangocairo-1.0.so.0";
+#ifdef ANDROID
+    const char* pangocairoName = "libpangocairo-1.0.so";
+#else
+    const char* pangocairoName = "libpangocairo-1.0.so.0";
+#endif
 #define LIBNAME pangocairo
 
+#ifdef ANDROID
+#define CUSTOM_INIT \
+    setNeededLibs(lib, 1, "libpango-1.0.so");
+#else
 #define CUSTOM_INIT \
     setNeededLibs(lib, 1, "libpango-1.0.so.0");
-
+#endif
 
 #include "wrappedlib_init.h"