xref: /OK3568_Linux_fs/buildroot/package/menu-cache/0001-Support-gcc10-compilation.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1From 1ce739649b4d66339a03fc0ec9ee7a2f7c141780 Mon Sep 17 00:00:00 2001
2From: Mamoru TASAKA <mtasaka@fedoraproject.org>
3Date: Fri, 24 Jan 2020 13:33:00 +0900
4Subject: [PATCH] Support gcc10 compilation
5
6gcc10 now defaults to -fno-common, and with gcc10 menu-cache compilation fails like
7
8/bin/ld: menu-merge.o:menu-cache-gen/menu-tags.h:167: multiple definition of `DirDirs'; main.o:menu-cache-gen/menu-tags.h:167: first defined here
9/bin/ld: menu-merge.o:menu-cache-gen/menu-tags.h:164: multiple definition of `AppDirs'; main.o:menu-cache-gen/menu-tags.h:164: first defined here
10/bin/ld: menu-merge.o:menu-cache-gen/menu-tags.h:52: multiple definition of `menuTag_Layout'; main.o:menu-cache-gen/menu-tags.h:52: first defined here
11....
12
13This patch fixes compilation with gcc10: properly declaring variables in header with "extern", and also removing some unneeded variables in header files.
14
15[Retrieved from:
16https://github.com/lxde/menu-cache/pull/19/commits/1ce739649b4d66339a03fc0ec9ee7a2f7c141780]
17Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
18---
19 menu-cache-gen/menu-tags.h | 55 ++++++++++++--------------------------
20 1 file changed, 17 insertions(+), 38 deletions(-)
21
22diff --git a/menu-cache-gen/menu-tags.h b/menu-cache-gen/menu-tags.h
23index f3fd7d3..f71c0bc 100644
24--- a/menu-cache-gen/menu-tags.h
25+++ b/menu-cache-gen/menu-tags.h
26@@ -22,38 +22,17 @@
27 #include <libfm/fm-extra.h>
28 #include <menu-cache.h>
29
30-FmXmlFileTag menuTag_Menu;
31-FmXmlFileTag menuTag_AppDir;
32-FmXmlFileTag menuTag_DefaultAppDirs;
33-FmXmlFileTag menuTag_DirectoryDir;
34-FmXmlFileTag menuTag_DefaultDirectoryDirs;
35-FmXmlFileTag menuTag_Include;
36-FmXmlFileTag menuTag_Exclude;
37-FmXmlFileTag menuTag_Filename;
38-FmXmlFileTag menuTag_Or;
39-FmXmlFileTag menuTag_And;
40-FmXmlFileTag menuTag_Not;
41-FmXmlFileTag menuTag_Category;
42-FmXmlFileTag menuTag_MergeFile;
43-FmXmlFileTag menuTag_MergeDir;
44-FmXmlFileTag menuTag_DefaultMergeDirs;
45-FmXmlFileTag menuTag_Directory;
46-FmXmlFileTag menuTag_Name;
47-FmXmlFileTag menuTag_Deleted;
48-FmXmlFileTag menuTag_NotDeleted;
49-FmXmlFileTag menuTag_OnlyUnallocated;
50-FmXmlFileTag menuTag_NotOnlyUnallocated;
51-FmXmlFileTag menuTag_All;
52-FmXmlFileTag menuTag_LegacyDir;
53-FmXmlFileTag menuTag_KDELegacyDirs;
54-FmXmlFileTag menuTag_Move;
55-FmXmlFileTag menuTag_Old;
56-FmXmlFileTag menuTag_New;
57-FmXmlFileTag menuTag_Layout;
58-FmXmlFileTag menuTag_DefaultLayout;
59-FmXmlFileTag menuTag_Menuname;
60-FmXmlFileTag menuTag_Separator;
61-FmXmlFileTag menuTag_Merge;
62+extern FmXmlFileTag menuTag_AppDir;
63+extern FmXmlFileTag menuTag_DirectoryDir;
64+extern FmXmlFileTag menuTag_Include;
65+extern FmXmlFileTag menuTag_Exclude;
66+extern FmXmlFileTag menuTag_Filename;
67+extern FmXmlFileTag menuTag_Or;
68+extern FmXmlFileTag menuTag_And;
69+extern FmXmlFileTag menuTag_Not;
70+extern FmXmlFileTag menuTag_Category;
71+extern FmXmlFileTag menuTag_All;
72+extern FmXmlFileTag menuTag_LegacyDir;
73
74 typedef enum {
75     MERGE_NONE, /* starting value */
76@@ -152,19 +131,19 @@ typedef struct {
77 } MenuRule;
78
79 /* requested language(s) */
80-char **languages;
81+extern char **languages;
82
83 /* list of menu files to monitor */
84-GSList *MenuFiles;
85+extern GSList *MenuFiles;
86
87 /* list of menu dirs to monitor */
88-GSList *MenuDirs;
89+extern GSList *MenuDirs;
90
91 /* list of available app dirs */
92-GSList *AppDirs;
93+extern GSList *AppDirs;
94
95 /* list of available dir dirs */
96-GSList *DirDirs;
97+extern GSList *DirDirs;
98
99 /* parse and merge menu files */
100 MenuMenu *get_merged_menu(const char *file, FmXmlFile **xmlfile, GError **error);
101@@ -177,7 +156,7 @@ gboolean save_menu_cache(MenuMenu *layout, const char *menuname, const char *fil
102 void _free_layout_items(GList *data);
103
104 /* verbosity level */
105-gint verbose;
106+extern gint verbose;
107
108 #define DBG if (verbose) g_debug
109 #define VDBG if (verbose > 1) g_debug
110