Thu, 19 Nov 2020 21:49:57 -0600
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/
--- 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@