File 0001-Only-export-necessary-symbols.-Fixes-105.patch of Package emacs-jinx

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= <bjorn.bidar@thaodan.de>
Date: Fri, 29 Sep 2023 20:48:06 +0300
Subject: [PATCH] Only export necessary symbols. Fixes #105
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

As recommended in:
https://gcc.gnu.org/wiki/Visibility

Signed-off-by: Björn Bidar <bjorn.bidar@thaodan.de>
---
 jinx-mod.c | 19 +++++++++++++++++--
 jinx.el    |  2 +-
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/jinx-mod.c b/jinx-mod.c
index 33e080d34bc0f53a2e7bc5ff0c3d9ee5bb70eb39..476b8c105985514d2f2870fb50b9bcfe3923abba 100644
--- a/jinx-mod.c
+++ b/jinx-mod.c
@@ -20,10 +20,25 @@ along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.  */
 #include <stdlib.h>
 #include <string.h>
 
+
+#if defined _WIN32 || defined __CYGWIN__
+  #ifdef __GNUC__
+    #define JINX_EXPORT __attribute__ ((dllexport))
+  #else
+    #define JINX_EXPORT __declspec(dllexport)
+  #endif
+#else
+  #if __GNUC__ >= 4
+    #define JINX_EXPORT __attribute__ ((visibility ("default")))
+  #else
+    #define JINX_EXPORT
+  #endif
+#endif
+
 #define jinx_unused(var) _##var __attribute__((unused))
 #define jinx_autofree    __attribute__((cleanup(jinx_autofree_cleanup)))
 
-int plugin_is_GPL_compatible;
+JINX_EXPORT int plugin_is_GPL_compatible;
 
 static EnchantBroker* broker = 0;
 static emacs_value Qt, Qnil, Qcons;
@@ -173,7 +188,7 @@ static emacs_value jinx_suggest(emacs_env* env, ptrdiff_t jinx_unused(nargs),
     return list;
 }
 
-int emacs_module_init(struct emacs_runtime *runtime) {
+int JINX_EXPORT emacs_module_init(struct emacs_runtime *runtime) {
     // Require Emacs binary compatibility
     if ((size_t)runtime->size < sizeof (*runtime))
         return 1;
diff --git a/jinx.el b/jinx.el
index 5561f3996a1a2fe5eeb85532ac1c89621f7ea1da..3beec38a32ea830d33d28d03b342ee2e944b399b 100644
--- a/jinx.el
+++ b/jinx.el
@@ -269,7 +269,7 @@ (easy-menu-define jinx-mode-menu jinx-mode-map
 ;;;; Internal variables
 
 (defvar jinx--compile-flags
-  '("-I." "-O2" "-Wall" "-Wextra" "-fPIC" "-shared")
+  '("-I." "-O2" "-Wall" "-Wextra" "-fPIC" "-shared -fvisibility=hidden")
   "List of compile flags passed to the C compiler.")
 
 (defvar jinx--reschedule-hooks
openSUSE Build Service is sponsored by