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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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 //////////