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

Generated by cgit