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