# HG changeset patch # User Stu Tomlinson # Date 1194709797 0 # Node ID 5b1acbab99cf73361694e7d588f5e0761feffe8c # Parent 8fe22cff177918cf846822c9157c6fbb5ac98ca5 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) diff -r 8fe22cff1779 -r 5b1acbab99cf configure.ac --- a/configure.ac Sat Nov 10 15:41:37 2007 +0000 +++ b/configure.ac Sat Nov 10 15:49:57 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 diff -r 8fe22cff1779 -r 5b1acbab99cf libpurple/Makefile.am --- a/libpurple/Makefile.am Sat Nov 10 15:41:37 2007 +0000 +++ b/libpurple/Makefile.am Sat Nov 10 15:49:57 2007 +0000 @@ -6,6 +6,7 @@ purple-send \ purple-send-async \ purple-url-handler \ + purple.h.in \ purple.pc.in \ purple-uninstalled.pc.in \ version.h.in \ @@ -134,7 +135,7 @@ xmlnode.h \ whiteboard.h -BUILT_SOURCES = version.h +BUILT_SOURCES = purple.h version.h if ENABLE_DBUS diff -r 8fe22cff1779 -r 5b1acbab99cf libpurple/purple.h --- a/libpurple/purple.h Sat Nov 10 15:41:37 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 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff -r 8fe22cff1779 -r 5b1acbab99cf libpurple/purple.h.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libpurple/purple.h.in Sat Nov 10 15:49:57 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 + +#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 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff -r 8fe22cff1779 -r 5b1acbab99cf libpurple/win32/global.mak --- a/libpurple/win32/global.mak Sat Nov 10 15:41:37 2007 +0000 +++ b/libpurple/win32/global.mak Sat Nov 10 15:49:57 2007 +0000 @@ -48,6 +48,7 @@ PIDGIN_CONFIG_H := $(PIDGIN_TREE_TOP)/config.h PURPLE_CONFIG_H := $(PIDGIN_TREE_TOP)/config.h PIDGIN_IDLETRACK_DLL := $(PIDGIN_IDLETRACK_TOP)/idletrack.dll +PURPLE_PURPLE_H := $(PURPLE_TOP)/purple.h PURPLE_VERSION_H := $(PURPLE_TOP)/version.h PURPLE_DLL := $(PURPLE_TOP)/libpurple.dll PURPLE_PERL_DLL := $(PURPLE_PERL_TOP)/perl.dll diff -r 8fe22cff1779 -r 5b1acbab99cf libpurple/win32/targets.mak --- a/libpurple/win32/targets.mak Sat Nov 10 15:41:37 2007 +0000 +++ b/libpurple/win32/targets.mak Sat Nov 10 15:49:57 2007 +0000 @@ -8,6 +8,9 @@ $(PIDGIN_CONFIG_H): $(PIDGIN_CONFIG_H).mingw $(PIDGIN_TREE_TOP)/configure.ac sed -e 's/@VERSION@/$(PIDGIN_VERSION)/' $@.mingw > $@ +$(PURPLE_PURPLE_H): $(PURPLE_PURPLE_H).in + sed -e 's/@PLUGINS_DEFINE@/#define PURPLE_PLUGINS 1/; $@.in > $@ + $(PURPLE_VERSION_H): $(PURPLE_VERSION_H).in $(PIDGIN_TREE_TOP)/configure.ac cp $@.in $@ awk 'BEGIN {FS="[\\(\\)\\[\\]]"} \