From 45ef4455a60929932d1499cf718c1c9f59af9f26 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Tue, 26 May 2020 22:57:05 +0200
Subject: [PATCH] build: Always use EXTERN_UNLESS_MAIN_MODULE pattern

This patch is loosely based on upstream commit
6aff8a132815a84bab69401c1e7de96ec549fbf2 ("build: Always use
EXTERN_UNLESS_MAIN_MODULE pattern."). However, this upstream commit
applies to gnupg2, and the code base has changed quite significantly
compared to gnupg 1.x, so upstream's patch cannot be applied
as-is. The goal of the patch is to make sure each variable is only
defined once, ass gcc 10 now default to -fno-common.

Essentially, this patch mainly fixes the EXTERN_UNLESS_MAIN_MODULE
define so that it really expands to "extern" when
INCLUDED_BY_MAIN_MODULE is not defined, even on non-RiscOS
systems. Contrary to upstream's patch we however do not factorize the
multiple EXTERN_UNLESS_MAIN_MODULE definitions into a single place as
it requires too many changes: instead we simply fix the few
definitions of this macro.

Once the macro is fixed, two places need to define
INCLUDED_BY_MAIN_MODULE: tools/bftest.c and tools/mpicalc.c so that
when they include the common headers, their variables are at least
defined once.

The iobuf.{c,h} case is handled differently: iobuf.h gains an
unconditional "extern", with the variable being added to iobuf.c. This
is identical to what upstream's
6aff8a132815a84bab69401c1e7de96ec549fbf2 is doing.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 g10/options.h    | 3 +--
 include/cipher.h | 2 +-
 include/iobuf.h  | 9 +--------
 include/memory.h | 2 +-
 include/mpi.h    | 2 +-
 tools/bftest.c   | 1 +
 tools/mpicalc.c  | 1 +
 util/iobuf.c     | 2 ++
 8 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/g10/options.h b/g10/options.h
index 0ac6e7755..bae19e9e3 100644
--- a/g10/options.h
+++ b/g10/options.h
@@ -26,8 +26,7 @@
 #include "packet.h"
 
 #ifndef EXTERN_UNLESS_MAIN_MODULE
-/* Norcraft can't cope with common symbols */
-#if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE)
+#if !defined (INCLUDED_BY_MAIN_MODULE)
 #define EXTERN_UNLESS_MAIN_MODULE extern
 #else
 #define EXTERN_UNLESS_MAIN_MODULE
diff --git a/include/cipher.h b/include/cipher.h
index dd4af18cb..6ef6e6829 100644
--- a/include/cipher.h
+++ b/include/cipher.h
@@ -115,7 +115,7 @@ struct gcry_md_context {
 typedef struct gcry_md_context *MD_HANDLE;
 
 #ifndef EXTERN_UNLESS_MAIN_MODULE
-#if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE)
+#if !defined (INCLUDED_BY_MAIN_MODULE)
 #define EXTERN_UNLESS_MAIN_MODULE extern
 #else
 #define EXTERN_UNLESS_MAIN_MODULE
diff --git a/include/iobuf.h b/include/iobuf.h
index 030f8c8e9..b4d26b7e1 100644
--- a/include/iobuf.h
+++ b/include/iobuf.h
@@ -69,14 +69,7 @@ struct iobuf_struct {
     } unget;
 };
 
-#ifndef EXTERN_UNLESS_MAIN_MODULE
-#if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE)
-#define EXTERN_UNLESS_MAIN_MODULE extern
-#else
-#define EXTERN_UNLESS_MAIN_MODULE 
-#endif
-#endif
-EXTERN_UNLESS_MAIN_MODULE int iobuf_debug_mode;
+extern int iobuf_debug_mode;
 
 void  iobuf_enable_special_filenames ( int yes );
 int   iobuf_is_pipe_filename (const char *fname);
diff --git a/include/memory.h b/include/memory.h
index d414a9b2e..6698337e3 100644
--- a/include/memory.h
+++ b/include/memory.h
@@ -91,7 +91,7 @@ unsigned secmem_get_flags(void);
 #define DBG_MEMSTAT   memory_stat_debug_mode
 
 #ifndef EXTERN_UNLESS_MAIN_MODULE
-#if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE)
+#if !defined (INCLUDED_BY_MAIN_MODULE)
 #define EXTERN_UNLESS_MAIN_MODULE extern
 #else
 #define EXTERN_UNLESS_MAIN_MODULE 
diff --git a/include/mpi.h b/include/mpi.h
index a4c16f5af..7a45ff805 100644
--- a/include/mpi.h
+++ b/include/mpi.h
@@ -36,7 +36,7 @@
 #include "memory.h"
 
 #ifndef EXTERN_UNLESS_MAIN_MODULE
-#if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE)
+#if !defined (INCLUDED_BY_MAIN_MODULE)
 #define EXTERN_UNLESS_MAIN_MODULE extern
 #else
 #define EXTERN_UNLESS_MAIN_MODULE 
diff --git a/tools/bftest.c b/tools/bftest.c
index 8a1572c2b..5afd7e125 100644
--- a/tools/bftest.c
+++ b/tools/bftest.c
@@ -26,6 +26,7 @@
 #include <fcntl.h>
 #endif
 
+#define INCLUDED_BY_MAIN_MODULE
 #include "util.h"
 #include "cipher.h"
 #include "i18n.h"
diff --git a/tools/mpicalc.c b/tools/mpicalc.c
index 46e5fc824..31acd82a4 100644
--- a/tools/mpicalc.c
+++ b/tools/mpicalc.c
@@ -31,6 +31,7 @@
 #include <stdlib.h>
 #include <ctype.h>
 
+#define INCLUDED_BY_MAIN_MODULE
 #include "util.h"
 #include "mpi.h"
 #include "i18n.h"
diff --git a/util/iobuf.c b/util/iobuf.c
index c8442929a..0d9ee4cec 100644
--- a/util/iobuf.c
+++ b/util/iobuf.c
@@ -113,6 +113,8 @@ typedef struct {
  static CLOSE_CACHE close_cache;
 #endif
 
+int iobuf_debug_mode;
+
 #ifdef _WIN32
 typedef struct {
     int sock;
-- 
2.26.2

