You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/x11-misc/macopix/files/macopix-3.4.0-fno-common.patch

358 lines
8.6 KiB

From f29175b892026dbc4a8ad321e426f22e0a09b248 Mon Sep 17 00:00:00 2001
From: "Ying-Chun Liu (PaulLiu)" <paulliu@debian.org>
Date: Sat, 8 Aug 2020 03:48:43 +0800
Subject: [PATCH] Porting to gcc 10
GCC will reject multiple definitions of global variables starting
from gcc-10. We need to move the definitions to a real object file.
And in headers we only extern it.
Signed-off-by: Ying-Chun Liu (PaulLiu) <paulliu@debian.org>
---
src/main.c | 42 ++++++++++++++++++
src/main.h | 123 +++++++++++++++++++++++++++++++----------------------
2 files changed, 113 insertions(+), 52 deletions(-)
diff --git a/src/main.c b/src/main.c
index 7944618..ce187a1 100644
--- a/src/main.c
+++ b/src/main.c
@@ -35,6 +35,48 @@
// *** GLOBAL ARGUMENT ***
gboolean FlagInstalledMenu;
+enum MENU_EXT_t MENU_EXT;
+enum MaCoPiXFolder_t MaCoPiXFolder;
+enum ClockMode_t ClockMode;
+enum HomePos_t HomePos;
+enum MoveMode_t MoveMode;
+#ifdef USE_OSX
+enum MAC_LAYER_MODE_t MAC_LAYER_MODE;
+#endif
+enum FFPos_t FFPos;
+enum AutoBar_t AutoBar;
+enum PosBalloon_t PosBalloon;
+enum TypBalloon_t TypBalloon;
+enum DuetAnimeMode_t DuetAnimeMode;
+enum TypInterpolate_t TypInterpolate;
+enum ClockType_t ClockType;
+enum MenuSelect_t MenuSelect;
+enum GuiFontConf_t GuiFontConf;
+enum GuiColorConf_t GuiColorConf;
+enum SetReleaseData_t SetReleaseData;
+enum MailStatus0_t MailStatus0;
+enum MailPixPos_t MailPixPos;
+enum MailStatus_t MailStatus;
+enum SignalAction_t SignalAction;
+enum ConsMode_t ConsMode;
+enum ScanMenuDir_t ScanMenuDir;
+enum CompositeFlag_t CompositeFlag;
+#ifdef USE_GTK3
+GdkPixbuf *pixbuf_main, *pixbuf_clk, *pixbuf_bal;
+#ifdef USE_WIN32
+GdkPixbuf *pixbuf_sdw;
+#endif
+#else // USE_GTK3
+GdkPixmap *pixmap_main, *pixmap_clk, *pixmap_bal;
+#ifdef USE_WIN32
+GdkPixmap *pixmap_sdw;
+#endif
+#endif // USE_GTK3
+gint window_x, window_y;
+gboolean supports_alpha;
+gboolean flag_balloon;
+
+pid_t http_pid;
// Prototype of functions in this file
#ifdef USE_GTK3
diff --git a/src/main.h b/src/main.h
index 496815e..42577a6 100644
--- a/src/main.h
+++ b/src/main.h
@@ -217,10 +217,11 @@
#define MENU_EXTRACT_GTAR_COMMAND "tar -zxf %s -C %s "
// MENU
-enum{ MENU_MENU,
+enum MENU_EXT_t { MENU_MENU,
MENU_LHA,
MENU_TAR
- }MENU_EXT;
+};
+extern enum MENU_EXT_t MENU_EXT;
// <20><><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѳ<EFBFBD>ĥ<EFBFBD><C4A5>
@@ -252,11 +253,12 @@ enum{ MENU_MENU,
#define SOUNDDIR "sound" G_DIR_SEPARATOR_S
// Folder
-enum{ FOLDER_DEFAULT,
+enum MaCoPiXFolder_t { FOLDER_DEFAULT,
FOLDER_PIX,
FOLDER_SOUND,
FOLDER_CURRENT
- }MaCoPiXFolder;
+};
+extern enum MaCoPiXFolder_t MaCoPiXFolder;
// <20>Ŀ<EFBFBD><C4BF>ѥ<EFBFBD><D1A5><EFBFBD><EFBFBD>֥ե<D6A5><D5A5><EFBFBD><EFBFBD><EFBFBD>
// (USER_DIR<49><52><EFBFBD>˺<EFBFBD><CBBA><EFBFBD> : <20>ޥ<EFBFBD><DEA5><EFBFBD><EFBFBD>å<EFBFBD><C3A5><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD>ѥ<EFBFBD><D1A5><EFBFBD><E1A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸)
@@ -292,10 +294,11 @@ enum{ FOLDER_DEFAULT,
// CLOCK_MODE
-enum{ CLOCK_NO,
+enum ClockMode_t { CLOCK_NO,
CLOCK_PIXMAP,
CLOCK_PANEL
-}ClockMode;
+};
+extern enum ClockMode_t ClockMode;
//ANIME
#define MAX_PIXMAP 64
@@ -330,47 +333,54 @@ enum{ CLOCK_NO,
#define ROOTOFF_Y (-10)
// Home Position Mode
-enum{ HOMEPOS_NEVER, HOMEPOS_VANISH, HOMEPOS_BAR } HomePos;
+enum HomePos_t { HOMEPOS_NEVER, HOMEPOS_VANISH, HOMEPOS_BAR };
+extern enum HomePos_t HomePos;
// Titlebar Offset for Focus Follow
enum{ FF_BAR_ABS, FF_BAR_REL };
// MOVE mode
-enum{
+enum MoveMode_t {
MOVE_FIX,
MOVE_FOCUS
-}MoveMode;
+};
+extern enum MoveMode_t MoveMode;
#ifdef USE_OSX
-enum {
+enum MAC_LAYER_MODE_t {
MAC_LAYER_DEFAULT,
MAC_LAYER_TOP,
NUM_MAC_LAYER
-}MAC_LAYER_MODE;
+};
+extern enum MAC_LAYER_MODE_t MAC_LAYER_MODE;
#endif
// Focus Follow <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
-enum{ FF_SIDE_LEFT, FF_SIDE_RIGHT } FFPos;
+enum FFPos_t { FF_SIDE_LEFT, FF_SIDE_RIGHT };
+extern enum FFPos_t FFPos;
// Focus Autobar <20><><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD>ˡ
-enum{ AUTOBAR_MANUAL, AUTOBAR_ORDINAL, AUTOBAR_COMPIZ } AutoBar;
+enum AutoBar_t { AUTOBAR_MANUAL, AUTOBAR_ORDINAL, AUTOBAR_COMPIZ };
+extern enum AutoBar_t AutoBar;
// Balloon Position
-enum{
+enum PosBalloon_t{
BAL_POS_LEFT,
BAL_POS_RIGHT
- } PosBalloon;
+ };
+extern enum PosBalloon_t PosBalloon;
// Balloon Mode
-enum{BALLOON_NORMAL,
+enum TypBalloon_t {BALLOON_NORMAL,
BALLOON_MAIL,
BALLOON_POPERROR,
BALLOON_SOCKMSG,
BALLOON_DUET,
BALLOON_SYS
- } TypBalloon;
+ };
+extern enum TypBalloon_t TypBalloon;
// Biff<66><66> Balloon<6F>μ<EFBFBD><CEBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5>޿<EFBFBD>
#define BALLOON_EXPIRE 150
@@ -394,39 +404,41 @@ typedef enum {
#define DEF_DUET_DELAY 20
// Duet Anime mode
-enum{
+enum DuetAnimeMode_t {
DUET_CLICK,
DUET_RANDOM
- }DuetAnimeMode;
-
+ };
+extern enum DuetAnimeMode_t DuetAnimeMode;
// Interpolation Style for Magnification
-enum{ MAG_IP_NEAREST,
+enum TypInterpolate_t { MAG_IP_NEAREST,
MAG_IP_TILES,
MAG_IP_BILINEAR,
MAG_IP_HYPER
- } TypInterpolate;
-
+ };
+extern enum TypInterpolate_t TypInterpolate;
//Clock <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
-enum{ CLOCK_TYPE_24S,
+enum ClockType_t { CLOCK_TYPE_24S,
CLOCK_TYPE_24M,
CLOCK_TYPE_12S,
- CLOCK_TYPE_12M } ClockType;
-
+ CLOCK_TYPE_12M };
+extern enum ClockType_t ClockType;
// Font size ratio for AM/PM sign
#define CLOCK_AMPM_RATIO 0.6
// Install mode
-enum{ MENU_SELECT,
+enum MenuSelect_t { MENU_SELECT,
MENU_INSTALL_USER,
MENU_INSTALL_COMMON,
START_MENU_SELECT,
START_MENU_INSTALL_USER,
START_MENU_INSTALL_COMMON,
NUM_INSTALL_MODE
- } MenuSelect;
+ };
+extern enum MenuSelect_t MenuSelect;
+
//DEFAULT Alpha
#define DEF_ALPHA_MAIN 100
@@ -542,14 +554,15 @@ static GdkColor color_lred= {0, 0xFFFF, 0xBBBB, 0xBBBB};
// for Callback of Configuration Dialog
-enum{CONF_FONT_CLK,
+enum GuiFontConf_t {CONF_FONT_CLK,
CONF_FONT_BAL,
CONF_DEF_FONT_CLK,
CONF_DEF_FONT_BAL,
INIT_DEF_FONT_CLK,
- INIT_DEF_FONT_BAL} GuiFontConf;
+ INIT_DEF_FONT_BAL};
+extern enum GuiFontConf_t GuiFontConf;
-enum{CONF_COLOR_CLK,
+enum GuiColorConf_t {CONF_COLOR_CLK,
CONF_COLOR_CLKBG,
CONF_COLOR_CLKBD,
CONF_COLOR_CLKSD,
@@ -568,19 +581,21 @@ enum{CONF_COLOR_CLK,
CONF_COLOR_FS_BG0,
CONF_COLOR_FS_BG1,
NUM_CONF_COLOR
-} GuiColorConf;
-
-enum{ SET_RELEASE_BALLOON, SET_RELEASE_CLOCK } SetReleaseData;
-
+};
+extern enum GuiColorConf_t GuiColorConf;
+enum SetReleaseData_t { SET_RELEASE_BALLOON, SET_RELEASE_CLOCK };
+extern enum SetReleaseData_t SetReleaseData;
// Setting for BIFF
#define DEF_MAIL_INTERVAL 60
-enum{ MAIL_NO, MAIL_LOCAL, MAIL_POP3, MAIL_APOP, MAIL_QMAIL, MAIL_PROCMAIL } MailStatus0;
+enum MailStatus0_t { MAIL_NO, MAIL_LOCAL, MAIL_POP3, MAIL_APOP, MAIL_QMAIL, MAIL_PROCMAIL };
+extern enum MailStatus0_t MailStatus0;
-enum{ MAIL_PIX_LEFT, MAIL_PIX_RIGHT } MailPixPos;
+enum MailPixPos_t { MAIL_PIX_LEFT, MAIL_PIX_RIGHT };
+extern enum MailPixPos_t MailPixPos;
#undef POP_DEBUG /* pop3 debugging mode */
@@ -609,7 +624,8 @@ enum{ MAIL_PIX_LEFT, MAIL_PIX_RIGHT } MailPixPos;
#define BIFF_TOOLTIPS TRUE
-enum{ NO_MAIL, OLD_MAIL, NEW_MAIL, KEEP_NEW_MAIL } MailStatus;
+enum MailStatus_t { NO_MAIL, OLD_MAIL, NEW_MAIL, KEEP_NEW_MAIL };
+extern enum MailStatus_t MailStatus;
// mail status; array subscripts
@@ -637,14 +653,17 @@ enum{ NO_MAIL, OLD_MAIL, NEW_MAIL, KEEP_NEW_MAIL } MailStatus;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
-enum{ SIGACT_NO, SIGACT_CLICK, SIGACT_CHANGE } SignalAction;
+enum SignalAction_t { SIGACT_NO, SIGACT_CLICK, SIGACT_CHANGE };
+extern enum SignalAction_t SignalAction;
// Consistency Check
-enum{ CONS_MANUAL, CONS_AUTOOW, CONS_IGNORE } ConsMode;
+enum ConsMode_t { CONS_MANUAL, CONS_AUTOOW, CONS_IGNORE };
+extern enum ConsMode_t ConsMode;
// <20><><EFBFBD>˥塼<CBA5>ξ<EFBFBD><CEBE><EFBFBD>
-enum{ SMENU_DIR_COMMON, SMENU_DIR_USER } ScanMenuDir;
+enum ScanMenuDir_t { SMENU_DIR_COMMON, SMENU_DIR_USER };
+extern enum ScanMenuDir_t ScanMenuDir;
typedef enum {
@@ -661,11 +680,11 @@ typedef enum {
// COMPOSITE_FLAG
-enum{ COMPOSITE_FALSE,
+enum CompositeFlag_t { COMPOSITE_FALSE,
COMPOSITE_TRUE,
COMPOSITE_UNKNOWN
-}CompositeFlag;
-
+};
+extern enum CompositeFlag_t CompositeFlag;
@@ -1137,21 +1156,21 @@ typedef struct{
/////////// Global Arguments //////////
#ifdef USE_GTK3
-GdkPixbuf *pixbuf_main, *pixbuf_clk, *pixbuf_bal;
+extern GdkPixbuf *pixbuf_main, *pixbuf_clk, *pixbuf_bal;
#ifdef USE_WIN32
-GdkPixbuf *pixbuf_sdw;
+extern GdkPixbuf *pixbuf_sdw;
#endif
#else // USE_GTK3
-GdkPixmap *pixmap_main, *pixmap_clk, *pixmap_bal;
+extern GdkPixmap *pixmap_main, *pixmap_clk, *pixmap_bal;
#ifdef USE_WIN32
-GdkPixmap *pixmap_sdw;
+extern GdkPixmap *pixmap_sdw;
#endif
#endif // USE_GTK3
-gint window_x, window_y;
-gboolean supports_alpha;
-gboolean flag_balloon;
+extern gint window_x, window_y;
+extern gboolean supports_alpha;
+extern gboolean flag_balloon;
-pid_t http_pid;
+extern pid_t http_pid;
/////////// Proto types //////////