changeset 21295:b4311f608d80

Make purple.h a generated file so plugins can just include this and never worry about defining PURPLE_PLUGINS ever again (unless they build libpurple without plugin support, which would be stupid)
author Stu Tomlinson <stu@nosnilmot.com>
date Sat, 10 Nov 2007 15:23:56 +0000
parents 8f3f166e0a39
children 8fe22cff1779
files configure.ac libpurple/purple.h libpurple/purple.h.in
diffstat 3 files changed, 100 insertions(+), 92 deletions(-) [+]
line wrap: on
line diff
--- a/configure.ac	Sat Nov 10 15:21:01 2007 +0000
+++ b/configure.ac	Sat Nov 10 15:23:56 2007 +0000
@@ -2003,9 +2003,12 @@
 if test "x$enable_plugins" = "xyes" ; then
 	AC_DEFINE(PURPLE_PLUGINS, 1, [Define if plugins are enabled.])
 	AM_CONDITIONAL(PLUGINS, true)
+	PLUGINS_DEFINE="#define PURPLE_PLUGINS 1"
 else
 	AM_CONDITIONAL(PLUGINS, false)
+	PLUGINS_DEFINE="#undef PURPLE_PLUGINS"
 fi
+AC_SUBST(PLUGINS_DEFINE)
 
 dnl #######################################################################
 dnl # Check for Cyrus-SASL (for Jabber)
@@ -2272,6 +2275,7 @@
 		   libpurple/protocols/yahoo/Makefile
 		   libpurple/protocols/zephyr/Makefile
 		   libpurple/tests/Makefile
+		   libpurple/purple.h
 		   libpurple/version.h
 		   share/Makefile
 		   share/sounds/Makefile
--- a/libpurple/purple.h	Sat Nov 10 15:21:01 2007 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/**
- * @file purple.h  Header files and defines
- * This file contains all the necessary preprocessor directives to include
- * libpurple's headers and other preprocessor directives required for plugins
- * or UIs to build.  Inlcuding this file eliminates the need to directly
- * include any other libpurple files.  It will still be necessary for plugins
- * to define @c PURPLE_PLUGINS before including this header.
- *
- * @ingroup core libpurple
- */
-
-/* purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-#ifndef _PURPLE_H
-#define _PURPLE_H
-
-#ifndef G_GNUC_NULL_TERMINATED
-#	if     __GNUC__ >= 4
-#		define G_GNUC_NULL_TERMINATED __attribute__((__sentinel__))
-#	else
-#		define G_GNUC_NULL_TERMINATED
-#	endif
-#endif
-
-#include <account.h>
-#include <accountopt.h>
-#include <blist.h>
-#include <buddyicon.h>
-#include <certificate.h>
-#include <cipher.h>
-#include <circbuffer.h>
-#include <cmds.h>
-#include <connection.h>
-#include <conversation.h>
-#include <core.h>
-#include <debug.h>
-#include <desktopitem.h>
-#include <dnsquery.h>
-#include <dnssrv.h>
-#include <eventloop.h>
-#include <ft.h>
-#include <idle.h>
-#include <imgstore.h>
-#include <log.h>
-#include <mime.h>
-#include <nat-pmp.h>
-#include <network.h>
-#include <ntlm.h>
-#include <notify.h>
-#include <plugin.h>
-#include <pluginpref.h>
-#include <pounce.h>
-#include <prefs.h>
-#include <privacy.h>
-#include <proxy.h>
-#include <prpl.h>
-#include <request.h>
-#include <roomlist.h>
-#include <savedstatuses.h>
-#include <server.h>
-#include <signals.h>
-#include <status.h>
-#include <stringref.h>
-#include <stun.h>
-#include <sound.h>
-#include <sslconn.h>
-#include <upnp.h>
-#include <util.h>
-#include <value.h>
-#include <version.h>
-#include <xmlnode.h>
-#include <whiteboard.h>
-
-#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libpurple/purple.h.in	Sat Nov 10 15:23:56 2007 +0000
@@ -0,0 +1,96 @@
+/**
+ * @file purple.h  Header files and defines
+ * This file contains all the necessary preprocessor directives to include
+ * libpurple's headers and other preprocessor directives required for plugins
+ * or UIs to build.  Inlcuding this file eliminates the need to directly
+ * include any other libpurple files.
+ *
+ * @ingroup core libpurple
+ */
+
+/* purple
+ *
+ * Purple is the legal property of its developers, whose names are too numerous
+ * to list here.  Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
+ */
+
+#ifndef _PURPLE_PURPLE_H_
+#define _PURPLE_PURPLE_H_
+
+#include <glib.h>
+
+#ifndef G_GNUC_NULL_TERMINATED
+#	if     __GNUC__ >= 4
+#		define G_GNUC_NULL_TERMINATED __attribute__((__sentinel__))
+#	else
+#		define G_GNUC_NULL_TERMINATED
+#	endif
+#endif
+
+@PLUGINS_DEFINE@
+
+#include <account.h>
+#include <accountopt.h>
+#include <blist.h>
+#include <buddyicon.h>
+#include <certificate.h>
+#include <cipher.h>
+#include <circbuffer.h>
+#include <cmds.h>
+#include <connection.h>
+#include <conversation.h>
+#include <core.h>
+#include <debug.h>
+#include <desktopitem.h>
+#include <dnsquery.h>
+#include <dnssrv.h>
+#include <eventloop.h>
+#include <ft.h>
+#include <idle.h>
+#include <imgstore.h>
+#include <log.h>
+#include <mime.h>
+#include <nat-pmp.h>
+#include <network.h>
+#include <ntlm.h>
+#include <notify.h>
+#include <plugin.h>
+#include <pluginpref.h>
+#include <pounce.h>
+#include <prefs.h>
+#include <privacy.h>
+#include <proxy.h>
+#include <prpl.h>
+#include <request.h>
+#include <roomlist.h>
+#include <savedstatuses.h>
+#include <server.h>
+#include <signals.h>
+#include <status.h>
+#include <stringref.h>
+#include <stun.h>
+#include <sound.h>
+#include <sslconn.h>
+#include <upnp.h>
+#include <util.h>
+#include <value.h>
+#include <version.h>
+#include <xmlnode.h>
+#include <whiteboard.h>
+
+#endif