Don't allow libraries to include their own global header files.

Thu, 19 Nov 2020 21:49:57 -0600

author
Gary Kramlich <grim@reaperworld.com>
date
Thu, 19 Nov 2020 21:49:57 -0600
changeset 40616
064ff9f4150a
parent 40615
1e395b541dc5
child 40617
3e8d3f5d6b01

Don't allow libraries to include their own global header files.

Testing Done:
Compiled, ran unit tests, and built the docs

Reviewed at https://reviews.imfreedom.org/r/232/

finch/finch.h.in file | annotate | diff | comparison | revisions
finch/gntaccount.c file | annotate | diff | comparison | revisions
finch/gntconn.c file | annotate | diff | comparison | revisions
finch/gntconv.c file | annotate | diff | comparison | revisions
finch/gntdebug.c file | annotate | diff | comparison | revisions
finch/gntidle.c file | annotate | diff | comparison | revisions
finch/gntlog.c file | annotate | diff | comparison | revisions
finch/gntmedia.c file | annotate | diff | comparison | revisions
finch/gntmenuutil.c file | annotate | diff | comparison | revisions
finch/gntnotify.c file | annotate | diff | comparison | revisions
finch/gntplugin.c file | annotate | diff | comparison | revisions
finch/gntplugin.h file | annotate | diff | comparison | revisions
finch/gntrequest.c file | annotate | diff | comparison | revisions
finch/gntroomlist.c file | annotate | diff | comparison | revisions
finch/gntstatus.c file | annotate | diff | comparison | revisions
finch/gntui.c file | annotate | diff | comparison | revisions
finch/gntxfer.c file | annotate | diff | comparison | revisions
finch/libfinch.c file | annotate | diff | comparison | revisions
libpurple/purple.h.in file | annotate | diff | comparison | revisions
libpurple/smiley-parser.h file | annotate | diff | comparison | revisions
pidgin/pidgin.c file | annotate | diff | comparison | revisions
pidgin/pidgin.h.in file | annotate | diff | comparison | revisions
--- a/finch/finch.h.in	Thu Nov 19 21:15:30 2020 -0600
+++ b/finch/finch.h.in	Thu Nov 19 21:49:57 2020 -0600
@@ -22,9 +22,15 @@
 #ifndef FINCH_H
 #define FINCH_H
 
+#ifndef __GI_SCANNER__ /* hide this bit from g-ir-scanner */
+# ifdef FINCH_COMPILATION
+#  error "finch source files should not be including finch.h"
+# endif /* FINCH_COMPILATION */
+#endif /* __GI_SCANNER__ */
+
 #ifndef FINCH_GLOBAL_HEADER_INSIDE
-#define FINCH_GLOBAL_HEADER_INSIDE
-#endif
+# define FINCH_GLOBAL_HEADER_INSIDE
+#endif /* FINCH_GLOBAL_HEADER_INSIDE */
 
 @FINCH_H_INCLUDES@
 
--- a/finch/gntaccount.c	Thu Nov 19 21:15:30 2020 -0600
+++ b/finch/gntaccount.c	Thu Nov 19 21:49:57 2020 -0600
@@ -26,10 +26,9 @@
 
 #include <gnt.h>
 
-#include "finch.h"
-
 #include "gntaccount.h"
 #include "gntblist.h"
+#include "libfinch.h"
 
 #include <string.h>
 
--- a/finch/gntconn.c	Thu Nov 19 21:15:30 2020 -0600
+++ b/finch/gntconn.c	Thu Nov 19 21:49:57 2020 -0600
@@ -20,14 +20,13 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
  */
 
-#include "finch.h"
-
 #include <glib/gi18n-lib.h>
 
 #include <purple.h>
 
 #include "gntaccount.h"
 #include "gntconn.h"
+#include "libfinch.h"
 
 #define INITIAL_RECON_DELAY_MIN 8
 #define INITIAL_RECON_DELAY_MAX 60
--- a/finch/gntconv.c	Thu Nov 19 21:15:30 2020 -0600
+++ b/finch/gntconv.c	Thu Nov 19 21:49:57 2020 -0600
@@ -35,6 +35,7 @@
 #include "gntconv.h"
 #include "gntdebug.h"
 #include "gntlog.h"
+#include "gntmenuutil.h"
 #include "gntplugin.h"
 #include "gntpounce.h"
 #include "gntprefs.h"
--- a/finch/gntdebug.c	Thu Nov 19 21:15:30 2020 -0600
+++ b/finch/gntdebug.c	Thu Nov 19 21:49:57 2020 -0600
@@ -31,7 +31,6 @@
 #include <gnt.h>
 
 #include "gntdebug.h"
-#include "finch.h"
 
 #include <stdio.h>
 #include <string.h>
--- a/finch/gntidle.c	Thu Nov 19 21:15:30 2020 -0600
+++ b/finch/gntidle.c	Thu Nov 19 21:49:57 2020 -0600
@@ -24,8 +24,6 @@
 
 #include <gnt.h>
 
-#include "finch.h"
-
 #include "gntidle.h"
 
 static time_t
--- a/finch/gntlog.c	Thu Nov 19 21:15:30 2020 -0600
+++ b/finch/gntlog.c	Thu Nov 19 21:49:57 2020 -0600
@@ -24,8 +24,6 @@
 
 #include <purple.h>
 
-#include "finch.h"
-
 #include <gnt.h>
 
 #include "gntlog.h"
--- a/finch/gntmedia.c	Thu Nov 19 21:15:30 2020 -0600
+++ b/finch/gntmedia.c	Thu Nov 19 21:49:57 2020 -0600
@@ -28,9 +28,9 @@
 
 #include <gnt.h>
 
-#include "finch.h"
 #include "gntconv.h"
 #include "gntmedia.h"
+#include "libfinch.h"
 
 /* An incredibly large part of the following is from gtkmedia.c */
 #ifdef USE_VV
--- a/finch/gntmenuutil.c	Thu Nov 19 21:15:30 2020 -0600
+++ b/finch/gntmenuutil.c	Thu Nov 19 21:49:57 2020 -0600
@@ -20,12 +20,12 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
  */
 
+#include <glib.h>
+
 #include <purple.h>
 
 #include <gnt.h>
 
-#include "finch.h"
-
 static void
 context_menu_callback(GntMenuItem *item, gpointer data)
 {
--- a/finch/gntnotify.c	Thu Nov 19 21:15:30 2020 -0600
+++ b/finch/gntnotify.c	Thu Nov 19 21:49:57 2020 -0600
@@ -26,8 +26,6 @@
 
 #include <gnt.h>
 
-#include "finch.h"
-
 #include "gntnotify.h"
 
 static struct
--- a/finch/gntplugin.c	Thu Nov 19 21:15:30 2020 -0600
+++ b/finch/gntplugin.c	Thu Nov 19 21:49:57 2020 -0600
@@ -26,10 +26,9 @@
 
 #include <gnt.h>
 
-#include "finch.h"
-
 #include "gntplugin.h"
 #include "gntrequest.h"
+#include "libfinch.h"
 
 typedef struct
 {
--- a/finch/gntplugin.h	Thu Nov 19 21:15:30 2020 -0600
+++ b/finch/gntplugin.h	Thu Nov 19 21:49:57 2020 -0600
@@ -40,8 +40,6 @@
 
 #include <string.h>
 
-#include "finch.h"
-
 #define FINCH_TYPE_PLUGIN_INFO             (finch_plugin_info_get_type())
 #define FINCH_PLUGIN_INFO(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj), FINCH_TYPE_PLUGIN_INFO, FinchPluginInfo))
 #define FINCH_PLUGIN_INFO_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST((klass), FINCH_TYPE_PLUGIN_INFO, FinchPluginInfoClass))
--- a/finch/gntrequest.c	Thu Nov 19 21:15:30 2020 -0600
+++ b/finch/gntrequest.c	Thu Nov 19 21:49:57 2020 -0600
@@ -26,7 +26,6 @@
 
 #include <gnt.h>
 
-#include "finch.h"
 #include "gntrequest.h"
 
 typedef struct
--- a/finch/gntroomlist.c	Thu Nov 19 21:15:30 2020 -0600
+++ b/finch/gntroomlist.c	Thu Nov 19 21:49:57 2020 -0600
@@ -22,7 +22,7 @@
 
 #include <glib/gi18n-lib.h>
 
-#include <finch.h>
+#include <purple.h>
 
 #include <gnt.h>
 
--- a/finch/gntstatus.c	Thu Nov 19 21:15:30 2020 -0600
+++ b/finch/gntstatus.c	Thu Nov 19 21:49:57 2020 -0600
@@ -26,8 +26,6 @@
 
 #include <gnt.h>
 
-#include "finch.h"
-
 #include "gntstatus.h"
 
 static struct
--- a/finch/gntui.c	Thu Nov 19 21:15:30 2020 -0600
+++ b/finch/gntui.c	Thu Nov 19 21:49:57 2020 -0600
@@ -26,8 +26,6 @@
 
 #include <purple.h>
 
-#include "finch.h"
-
 #include "gntui.h"
 
 #include "gntaccount.h"
--- a/finch/gntxfer.c	Thu Nov 19 21:15:30 2020 -0600
+++ b/finch/gntxfer.c	Thu Nov 19 21:49:57 2020 -0600
@@ -26,8 +26,6 @@
 
 #include <gnt.h>
 
-#include "finch.h"
-
 #include "gntxfer.h"
 
 typedef struct
--- a/finch/libfinch.c	Thu Nov 19 21:15:30 2020 -0600
+++ b/finch/libfinch.c	Thu Nov 19 21:49:57 2020 -0600
@@ -27,7 +27,6 @@
 #include <glib/gstdio.h>
 
 #include <locale.h>
-#include "finch.h"
 
 #include <purple.h>
 
@@ -35,6 +34,7 @@
 #include "gntidle.h"
 #include "gntprefs.h"
 #include "gntui.h"
+#include "libfinch.h"
 
 #include "config.h"
 #include "package_revision.h"
--- a/libpurple/purple.h.in	Thu Nov 19 21:15:30 2020 -0600
+++ b/libpurple/purple.h.in	Thu Nov 19 21:49:57 2020 -0600
@@ -23,11 +23,17 @@
 #ifndef PURPLE_PURPLE_H
 #define PURPLE_PURPLE_H
 
+#ifndef __GI_SCANNER__ /* hide this bit from g-ir-scanner */
+# ifdef PURPLE_COMPILATION
+#  error "libpurple source files should not be including purple.h"
+# endif /* PURPLE_COMPILATION */
+#endif /* __GI_SCANNER__ */
+
 #include <glib.h>
 
 #ifndef PURPLE_GLOBAL_HEADER_INSIDE
-#define PURPLE_GLOBAL_HEADER_INSIDE
-#endif
+# define PURPLE_GLOBAL_HEADER_INSIDE
+#endif /* PURPLE_GLOBAL_HEADER_INSIDE */
 
 @PURPLE_H_INCLUDES@
 
--- a/libpurple/smiley-parser.h	Thu Nov 19 21:15:30 2020 -0600
+++ b/libpurple/smiley-parser.h	Thu Nov 19 21:49:57 2020 -0600
@@ -25,6 +25,7 @@
 
 #ifndef PURPLE_SMILEY_PARSER_H
 #define PURPLE_SMILEY_PARSER_H
+
 /**
  * SECTION:smiley-parser
  * @include:smiley-parser.h
@@ -38,7 +39,11 @@
  * smileys > local custom smileys > theme smileys.
  */
 
-#include "purple.h"
+#include <glib.h>
+
+#include "conversation.h"
+#include "smiley.h"
+#include "smiley-list.h"
 
 /**
  * PurpleSmileyParseCb:
--- a/pidgin/pidgin.c	Thu Nov 19 21:15:30 2020 -0600
+++ b/pidgin/pidgin.c	Thu Nov 19 21:49:57 2020 -0600
@@ -23,7 +23,7 @@
 
 #include <glib/gi18n.h>
 
-#include <pidgin.h>
+#include "pidgincore.h"
 
 #ifdef _WIN32
 /* suppress gcc "no previous prototype" warning */
--- a/pidgin/pidgin.h.in	Thu Nov 19 21:15:30 2020 -0600
+++ b/pidgin/pidgin.h.in	Thu Nov 19 21:49:57 2020 -0600
@@ -37,9 +37,15 @@
 
 #include <glib.h>
 
+#ifndef __GI_SCANNER__
+# ifdef PIDGIN_COMPILATION
+#  error "pidgin source files should not be including pidgin.h"
+# endif /* PIDGIN_COMPILATION */
+#endif /* __GI_SCANNER__ */
+
 #ifndef PIDGIN_GLOBAL_HEADER_INSIDE
-#define PIDGIN_GLOBAL_HEADER_INSIDE
-#endif
+# define PIDGIN_GLOBAL_HEADER_INSIDE
+#endif /* PIDGIN_GLOBAL_HEADER_INSIDE */
 
 @PIDGIN_H_INCLUDES@
 

mercurial