[Xfce4-commits] <xfce4-panel:devel> Add the alias code to libxfce4panel.
Nick Schermer
noreply at xfce.org
Sat Oct 24 14:26:04 CEST 2009
Updating branch refs/heads/devel
to 1ae9357518521f97fab52d2097a912bf8f47c3fe (commit)
from c8935733b5e182d84ff316bb211a7bc9bbd3758b (commit)
commit 1ae9357518521f97fab52d2097a912bf8f47c3fe
Author: Nick Schermer <nick at xfce.org>
Date: Sat Oct 24 14:24:00 2009 +0200
Add the alias code to libxfce4panel.
configure.in.in | 58 +++++++++--
libxfce4panel/Makefile.am | 27 +++++-
libxfce4panel/abicheck.sh | 23 ++++
libxfce4panel/libxfce4panel.symbols | 128 +++++++++++++++++++++++
libxfce4panel/make-libxfce4panel-alias.pl | 154 ++++++++++++++++++++++++++++
libxfce4panel/xfce-arrow-button.c | 10 ++-
libxfce4panel/xfce-hvbox.c | 10 ++-
libxfce4panel/xfce-panel-convenience.c | 9 ++-
libxfce4panel/xfce-panel-image.c | 9 ++-
libxfce4panel/xfce-panel-plugin-provider.c | 9 ++-
libxfce4panel/xfce-panel-plugin.c | 11 ++-
libxfce4panel/xfce-panel-plugin.h | 1 +
12 files changed, 427 insertions(+), 22 deletions(-)
diff --git a/configure.in.in b/configure.in.in
index 06e78e7..31ee704 100644
--- a/configure.in.in
+++ b/configure.in.in
@@ -19,9 +19,9 @@ m4_define([xfce4_panel_version_tag], [git])
m4_define([xfce4_panel_version], [xfce4_panel_version_major().xfce4_panel_version_minor().xfce4_panel_version_micro()ifelse(xfce4_panel_version_nano(), [], [], [.xfce4_panel_version_nano()])ifelse(xfce4_panel_version_tag(), [git], [xfce4_panel_version_tag()-xfce4_panel_version_build()], [xfce4_panel_version_tag()])])
dnl *******************************************
-dnl *** Debugging support for SVN snapshots ***
+dnl *** Debugging support for GIT snapshots ***
dnl *******************************************
-m4_define([panel_debug_default], [ifelse(xfce4_panel_version_tag(), [svn], [yes], [minimum])])
+m4_define([panel_debug_default], [ifelse(xfce4_panel_version_tag(), [git], [yes], [minimum])])
dnl ***************************
dnl *** Initialize autoconf ***
@@ -63,6 +63,7 @@ dnl *** Initialize libtool ***
dnl **************************
AC_DISABLE_STATIC()
AC_PROG_LIBTOOL()
+AC_CHECK_PROGS([PERL], [perl5 perl])
dnl **************************************
dnl *** Substitute version information ***
@@ -108,15 +109,6 @@ dnl *** Check for gtk-doc ***
dnl *************************
GTK_DOC_CHECK([1.0])
-dnl *********************************************************
-dnl *** Disable deprecated components and single includes ***
-dnl *********************************************************
-dnl #PLATFORM_CPPFLAGS="$PLATFORM_CPPFLAGS -DXFCE_DISABLE_DEPRECATED"
-dnl #PLATFORM_CPPFLAGS="$PLATFORM_CPPFLAGS -DG_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES"
-dnl #PLATFORM_CPPFLAGS="$PLATFORM_CPPFLAGS -DGTK_DISABLE_DEPRECATED -DGTK_DISABLE_SINGLE_INCLUDES"
-dnl #PLATFORM_CPPFLAGS="$PLATFORM_CPPFLAGS -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES"
-dnl #PLATFORM_CPPFLAGS="$PLATFORM_CPPFLAGS -DPANGO_DISABLE_DEPRECATED -DPANGO_DISABLE_SINGLE_INCLUDES"
-
dnl ***********************************
dnl *** Check for debugging support ***
dnl ***********************************
@@ -127,6 +119,40 @@ dnl *** Check for linker optimizations ***
dnl **************************************
XDT_FEATURE_LINKER_OPTS()
+dnl ****************************************
+dnl *** Check for ELF visibility support ***
+dnl ****************************************
+AC_ARG_ENABLE([visibility], AC_HELP_STRING([--disable-visibility], [Do not use ELF visibility attributes]), [], [enable_visibility=yes])
+have_gnuc_visibility=no
+if test x"$enable_visibility" != x"no"; then
+ dnl Check whether the compiler supports the visibility attribute
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Wall -Werror"
+ AC_MSG_CHECKING([whether $CC supports the GNUC visibility attribute])
+ AC_COMPILE_IFELSE(AC_LANG_SOURCE(
+ [
+ void test_default (void);
+ void test_hidden (void);
+
+ void __attribute__ ((visibility("default"))) test_default (void) {}
+ void __attribute__ ((visibility("hidden"))) test_hidden (void) {}
+
+ int main (int argc, char **argv) { test_default (); test_hidden (); return 0; }
+ ]),
+ [
+ have_gnuc_visibility=yes
+ AC_MSG_RESULT([yes])
+ ],
+ [
+ AC_MSG_RESULT([no])
+ ])
+ CFLAGS="$save_CFLAGS"
+fi
+if test x"$have_gnuc_visibility" = x"yes"; then
+ CPPFLAGS="$CPPFLAGS -DHAVE_GNUC_VISIBILITY"
+fi
+AM_CONDITIONAL([HAVE_GNUC_VISIBILITY], [test x"$have_gnuc_visibility" = x"yes"])
+
dnl *********************************
dnl *** Substitute platform flags ***
dnl *********************************
@@ -159,3 +185,13 @@ plugins/tasklist/Makefile
plugins/windowmenu/Makefile
po/Makefile.in
])
+
+dnl ***************************
+dnl *** Print configuration ***
+dnl ***************************
+echo
+echo "Build Configuration:"
+echo
+echo "* Debug Support: $enable_debug"
+echo "* GNU Visibility: $have_gnuc_visibility"
+echo
diff --git a/libxfce4panel/Makefile.am b/libxfce4panel/Makefile.am
index 51efbc5..d199235 100644
--- a/libxfce4panel/Makefile.am
+++ b/libxfce4panel/Makefile.am
@@ -11,6 +11,8 @@ lib_LTLIBRARIES = \
libxfce4panel.la
libxfce4panel_built_sources = \
+ libxfce4panel-alias.h \
+ libxfce4panel-aliasdef.c \
libxfce4panel-marshal.c \
libxfce4panel-marshal.h
@@ -63,9 +65,6 @@ libxfce4panel_la_LIBADD = \
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libxfce4panel-1.0.pc
-EXTRA_DIST = \
- libxfce4panel-marshal.list
-
#
# Build sources
#
@@ -77,11 +76,33 @@ libxfce4panel-marshal.c: libxfce4panel-marshal.list Makefile
$(AM_V_GEN) echo "#include <libxfce4panel/libxfce4panel-marshal.h>" > $@ \
&& glib-genmarshal --prefix=_libxfce4panel_marshal --body $< >> $@
+libxfce4panel-alias.h: make-libxfce4panel-alias.pl libxfce4panel.symbols
+ $(AM_V_GEN) $(PERL) $(srcdir)/make-libxfce4panel-alias.pl $(srcdir)/libxfce4panel.symbols > $@
+
+libxfce4panel-aliasdef.c: make-libxfce4panel-alias.pl libxfce4panel.symbols
+ $(AM_V_GEN) $(PERL) $(srcdir)/make-libxfce4panel-alias.pl -def < $(srcdir)/libxfce4panel.symbols > $@
+
DISTCLEANFILES = \
$(libxfce4panel_built_sources)
BUILT_SOURCES = \
$(libxfce4panel_built_sources)
+
+CLEANFILES = \
+ actual-abi \
+ expected-abi
+endif
+
+EXTRA_DIST = \
+ abicheck.sh \
+ libxfce4panel.symbols \
+ libxfce4panel-alias.h \
+ libxfce4panel-aliasdef.c \
+ libxfce4panel-marshal.list \
+ make-libxfce4panel-alias.pl
+
+if HAVE_GNUC_VISIBILITY
+TESTS = abicheck.sh
endif
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
diff --git a/libxfce4panel/abicheck.sh b/libxfce4panel/abicheck.sh
new file mode 100755
index 0000000..6370f07
--- /dev/null
+++ b/libxfce4panel/abicheck.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+#
+# Copyright (c) 2004 The GLib Development Team.
+# Copyright (c) 2005 Benedikt Meurer <benny at xfce.org>.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library 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
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+#
+
+cpp -P -DINCLUDE_INTERNAL_SYMBOLS -DINCLUDE_VARIABLES -DALL_FILES ${srcdir:-.}/libxfce4panel.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE//' | sort > expected-abi
+nm -D .libs/libxfce4panel.so | grep " T\|R " | cut -d ' ' -f 3 | grep -v '^_.*' | sort > actual-abi
+diff -u expected-abi actual-abi && rm expected-abi actual-abi
diff --git a/libxfce4panel/libxfce4panel.symbols b/libxfce4panel/libxfce4panel.symbols
new file mode 100644
index 0000000..b720c81
--- /dev/null
+++ b/libxfce4panel/libxfce4panel.symbols
@@ -0,0 +1,128 @@
+/*-
+ * Copyright (c) 2009 Nick Schermer <nick at xfce.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/* This file lists all exported symbols. It is used to generate
+ * the libxfce4panel-alias.h/libxfce4panel-aliasdef.c files used
+ * to avoid PLT entries for internal uses of exported functions (see
+ * make-libxfce4panel-alias.pl).
+ *
+ * Every symbol must be included in the right
+ * #ifdef IN_HEADER(sym) #endif and
+ * #ifdef IN_SOURCE(sym) #endif sections.
+ */
+
+#ifdef ALL_FILES
+#define IN_HEADER(x) 1
+#define IN_SOURCE(x) 1
+#endif
+
+/* xfce-arrow-button.h */
+#if IN_HEADER(__XFCE_ARROW_BUTTON_H__)
+#if IN_SOURCE(__XFCE_ARROW_BUTTON_C__)
+xfce_arrow_button_get_type G_GNUC_CONST
+xfce_arrow_button_new G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT
+xfce_arrow_button_get_arrow_type
+xfce_arrow_button_set_arrow_type
+xfce_arrow_button_get_blinking
+xfce_arrow_button_set_blinking
+#endif
+#endif
+
+/* xfce-hvbox.h */
+#if IN_HEADER(__XFCE_HVBOX_H__)
+#if IN_SOURCE(__XFCE_HVBOX_C__)
+xfce_hvbox_get_type G_GNUC_CONST
+xfce_hvbox_new G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT
+xfce_hvbox_set_orientation
+xfce_hvbox_get_orientation
+#endif
+#endif
+
+/* xfce-panel-convenience.h */
+#if IN_HEADER(__XFCE_PANEL_CONVENIENCE_H__)
+#if IN_SOURCE(__XFCE_PANEL_CONVENIENCE_C__)
+xfce_panel_create_button G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT
+xfce_panel_create_toggle_button G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT
+xfce_panel_allow_customization
+#endif
+#endif
+
+/* xfce-panel-image.h */
+#if IN_HEADER(__XFCE_PANEL_IMAGE_H__)
+#if IN_SOURCE(__XFCE_PANEL_IMAGE_C__)
+xfce_panel_image_get_type G_GNUC_CONST
+xfce_panel_image_new G_GNUC_MALLOC
+xfce_panel_image_new_from_pixbuf G_GNUC_MALLOC
+xfce_panel_image_new_from_source G_GNUC_MALLOC
+xfce_panel_image_set_from_pixbuf
+xfce_panel_image_set_from_source
+xfce_panel_image_clear
+#endif
+#endif
+
+/* xfce-panel-plugin.h */
+#if IN_HEADER(__XFCE_PANEL_PLUGIN_H__)
+#if IN_SOURCE(__XFCE_PANEL_PLUGIN_C__)
+xfce_panel_plugin_get_type G_GNUC_CONST
+xfce_panel_plugin_get_name G_GNUC_PURE
+xfce_panel_plugin_get_display_name G_GNUC_PURE
+xfce_panel_plugin_get_comment G_GNUC_PURE
+xfce_panel_plugin_get_unique_id G_GNUC_PURE
+xfce_panel_plugin_get_property_base G_GNUC_PURE
+xfce_panel_plugin_get_arguments G_GNUC_PURE
+xfce_panel_plugin_get_size G_GNUC_PURE
+xfce_panel_plugin_get_expand G_GNUC_PURE
+xfce_panel_plugin_set_expand
+xfce_panel_plugin_get_orientation G_GNUC_PURE
+xfce_panel_plugin_get_screen_position G_GNUC_PURE
+xfce_panel_plugin_take_window
+xfce_panel_plugin_add_action_widget
+xfce_panel_plugin_menu_insert_item
+xfce_panel_plugin_menu_show_configure
+xfce_panel_plugin_menu_show_about
+xfce_panel_plugin_block_menu
+xfce_panel_plugin_unblock_menu
+xfce_panel_plugin_register_menu
+xfce_panel_plugin_arrow_type
+xfce_panel_plugin_position_widget
+xfce_panel_plugin_position_menu
+xfce_panel_plugin_focus_widget
+xfce_panel_plugin_block_autohide
+xfce_panel_plugin_lookup_rc_file G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT
+xfce_panel_plugin_save_location G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT
+#endif
+#endif
+
+/* xfce-panel-plugin-provider.h */
+#if IN_HEADER(__XFCE_PANEL_PLUGIN_PROVIDER_H__)
+#if IN_SOURCE(__XFCE_PANEL_PLUGIN_PROVIDER_C__)
+xfce_panel_plugin_provider_get_type G_GNUC_CONST
+xfce_panel_plugin_provider_get_name
+xfce_panel_plugin_provider_get_unique_id
+xfce_panel_plugin_provider_set_size
+xfce_panel_plugin_provider_set_orientation
+xfce_panel_plugin_provider_set_screen_position
+xfce_panel_plugin_provider_save
+xfce_panel_plugin_provider_emit_signal
+xfce_panel_plugin_provider_get_show_configure
+xfce_panel_plugin_provider_show_configure
+xfce_panel_plugin_provider_get_show_about
+xfce_panel_plugin_provider_show_about
+xfce_panel_plugin_provider_remove
+#endif
+#endif
diff --git a/libxfce4panel/make-libxfce4panel-alias.pl b/libxfce4panel/make-libxfce4panel-alias.pl
new file mode 100644
index 0000000..9d6af39
--- /dev/null
+++ b/libxfce4panel/make-libxfce4panel-alias.pl
@@ -0,0 +1,154 @@
+#!/usr/bin/env perl -w
+#
+# Copyright (c) 2004 The GLib Development Team.
+# Copyright (c) 2005 Benedikt Meurer <benny at xfce.org>.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library 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
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+#
+
+my $option_def = 0;
+
+if (($#ARGV >= 0) && ($ARGV[0] eq "-def"))
+ {
+ shift;
+ $option_def = 1;
+ }
+
+print <<EOF;
+/* Generated by make-libxfce4panel-alias.pl. Do not edit this file. */
+
+#ifdef HAVE_GNUC_VISIBILITY
+
+#include <glib.h>
+
+EOF
+
+if ($option_def)
+ {
+ print <<EOF
+#undef IN_HEADER
+#define IN_HEADER(x) 1
+
+#undef IN_SOURCE
+#define IN_SOURCE defined
+
+EOF
+ }
+else
+ {
+ print <<EOF
+#define IN_HEADER defined
+#define IN_SOURCE(x) 1
+
+EOF
+ }
+
+my $in_comment = 0;
+my $in_skipped_section = 0;
+
+while (<>)
+ {
+ # ignore empty lines
+ next if /^\s*$/;
+
+ # skip comments
+ if ($_ =~ /^\s*\/\*/)
+ {
+ $in_comment = 1;
+ }
+
+ if ($in_comment)
+ {
+ if ($_ =~ /\*\/\s$/)
+ {
+ $in_comment = 0;
+ }
+ next;
+ }
+
+ # handle ifdefs
+ if ($_ =~ /^\#endif/)
+ {
+ if (!$in_skipped_section)
+ {
+ print $_;
+ }
+
+ $in_skipped_section = 0;
+ next;
+ }
+
+ if ($_ =~ /^\#ifdef\s+(INCLUDE_VARIABLES|INCLUDE_INTERNAL_SYMBOLS|ALL_FILES)/)
+ {
+ $in_skipped_section = 1;
+ }
+
+ if ($in_skipped_section)
+ {
+ next;
+ }
+
+ if ($_ =~ /^\#ifn?def\s+G/)
+ {
+ print $_;
+ next;
+ }
+
+ if ($_ =~ /^\#if.*(IN_SOURCE|IN_HEADER)/)
+ {
+ print $_;
+ next;
+ }
+
+ chop;
+ my $line = $_;
+ my @words;
+ my $attributes = "";
+
+ @words = split (/ /, $line);
+ my $symbol = shift (@words);
+ chomp ($symbol);
+ my $alias = "IA__".$symbol;
+
+ # Drop any Win32 specific .def file syntax, but keep attributes
+ foreach $word (@words)
+ {
+ $attributes = "$attributes $word" unless $word eq "PRIVATE";
+ }
+
+ if (!$option_def)
+ {
+ print <<EOF
+extern __typeof ($symbol) $alias __attribute((visibility("hidden")))$attributes;
+\#define $symbol $alias
+
+EOF
+ }
+ else
+ {
+ print <<EOF
+\#undef $symbol
+extern __typeof ($symbol) $symbol __attribute((alias("$alias"), visibility("default")));
+
+EOF
+ }
+ }
+
+print <<EOF;
+
+#endif /* HAVE_GNUC_VISIBILITY */
+EOF
+
+
diff --git a/libxfce4panel/xfce-arrow-button.c b/libxfce4panel/xfce-arrow-button.c
index 59c1e31..67c75ab 100644
--- a/libxfce4panel/xfce-arrow-button.c
+++ b/libxfce4panel/xfce-arrow-button.c
@@ -30,8 +30,11 @@
#endif
#include <gtk/gtk.h>
-#include <libxfce4panel/libxfce4panel.h>
+
#include <common/panel-private.h>
+#include <libxfce4panel/xfce-panel-macros.h>
+#include <libxfce4panel/xfce-arrow-button.h>
+#include <libxfce4panel/libxfce4panel-alias.h>
#define XFCE_ARROW_BUTTON_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \
XFCE_TYPE_ARROW_BUTTON, \
@@ -523,3 +526,8 @@ xfce_arrow_button_set_blinking (XfceArrowButton *button,
/* start with a blinking or make sure the button is normal */
xfce_arrow_button_blinking_timeout (button);
}
+
+
+
+#define __XFCE_ARROW_BUTTON_C__
+#include <libxfce4panel/libxfce4panel-aliasdef.c>
diff --git a/libxfce4panel/xfce-hvbox.c b/libxfce4panel/xfce-hvbox.c
index 9d88cdc..5d0b2e1 100644
--- a/libxfce4panel/xfce-hvbox.c
+++ b/libxfce4panel/xfce-hvbox.c
@@ -27,7 +27,10 @@
#endif
#include <gtk/gtk.h>
-#include <libxfce4panel/libxfce4panel.h>
+
+#include <libxfce4panel/xfce-panel-macros.h>
+#include <libxfce4panel/xfce-hvbox.h>
+#include <libxfce4panel/libxfce4panel-alias.h>
@@ -271,3 +274,8 @@ xfce_hvbox_get_orientation (XfceHVBox *hvbox)
return hvbox->orientation;
#endif
}
+
+
+
+#define __XFCE_HVBOX_C__
+#include <libxfce4panel/libxfce4panel-aliasdef.c>
diff --git a/libxfce4panel/xfce-panel-convenience.c b/libxfce4panel/xfce-panel-convenience.c
index 1a69077..01970c5 100644
--- a/libxfce4panel/xfce-panel-convenience.c
+++ b/libxfce4panel/xfce-panel-convenience.c
@@ -25,7 +25,9 @@
#include <libxfce4util/libxfce4util.h>
#include <gtk/gtk.h>
-#include <libxfce4panel/libxfce4panel.h>
+#include <libxfce4panel/xfce-panel-macros.h>
+#include <libxfce4panel/xfce-panel-convenience.h>
+#include <libxfce4panel/libxfce4panel-alias.h>
/**
* xfce_panel_create_button:
@@ -101,3 +103,8 @@ xfce_panel_allow_customization (void)
return allow_customization;
}
+
+
+
+#define __XFCE_PANEL_CONVENIENCE_C__
+#include <libxfce4panel/libxfce4panel-aliasdef.c>
diff --git a/libxfce4panel/xfce-panel-image.c b/libxfce4panel/xfce-panel-image.c
index 4df3707..5d24333 100644
--- a/libxfce4panel/xfce-panel-image.c
+++ b/libxfce4panel/xfce-panel-image.c
@@ -28,7 +28,9 @@
#include <gtk/gtk.h>
#include <common/panel-private.h>
-#include <libxfce4panel/libxfce4panel.h>
+#include <libxfce4panel/xfce-panel-macros.h>
+#include <libxfce4panel/xfce-panel-image.h>
+#include <libxfce4panel/libxfce4panel-alias.h>
/* design limit for the panel, to reduce the uncached pixbuf size */
@@ -556,3 +558,8 @@ xfce_panel_image_clear (XfcePanelImage *image)
priv->width = -1;
priv->height = -1;
}
+
+
+
+#define __XFCE_PANEL_IMAGE_C__
+#include <libxfce4panel/libxfce4panel-aliasdef.c>
diff --git a/libxfce4panel/xfce-panel-plugin-provider.c b/libxfce4panel/xfce-panel-plugin-provider.c
index 825c2a6..c7f47b1 100644
--- a/libxfce4panel/xfce-panel-plugin-provider.c
+++ b/libxfce4panel/xfce-panel-plugin-provider.c
@@ -23,9 +23,9 @@
#include <gtk/gtk.h>
-#include <libxfce4panel/libxfce4panel.h>
+#include <libxfce4panel/xfce-panel-macros.h>
#include <libxfce4panel/xfce-panel-plugin-provider.h>
-
+#include <libxfce4panel/libxfce4panel-alias.h>
enum
@@ -201,3 +201,8 @@ xfce_panel_plugin_provider_remove (XfcePanelPluginProvider *provider)
(*XFCE_PANEL_PLUGIN_PROVIDER_GET_IFACE (provider)->remove) (provider);
}
+
+
+
+#define __XFCE_PANEL_PLUGIN_PROVIDER_C__
+#include <libxfce4panel/libxfce4panel-aliasdef.c>
diff --git a/libxfce4panel/xfce-panel-plugin.c b/libxfce4panel/xfce-panel-plugin.c
index d521d9f..934affd 100644
--- a/libxfce4panel/xfce-panel-plugin.c
+++ b/libxfce4panel/xfce-panel-plugin.c
@@ -26,9 +26,11 @@
#include <libxfce4util/libxfce4util.h>
#include <common/panel-private.h>
-#include <libxfce4panel/libxfce4panel.h>
-#include <libxfce4panel/libxfce4panel-marshal.h>
+#include <libxfce4panel/xfce-panel-macros.h>
+#include <libxfce4panel/xfce-panel-plugin.h>
#include <libxfce4panel/xfce-panel-plugin-provider.h>
+#include <libxfce4panel/libxfce4panel-marshal.h>
+#include <libxfce4panel/libxfce4panel-alias.h>
#define XFCE_PANEL_PLUGIN_CONSTRUCTED(plugin) \
PANEL_HAS_FLAG (XFCE_PANEL_PLUGIN (plugin)->priv->flags, \
@@ -1928,3 +1930,8 @@ xfce_panel_plugin_save_location (XfcePanelPlugin *plugin,
return path;
}
+
+
+
+#define __XFCE_PANEL_PLUGIN_C__
+#include <libxfce4panel/libxfce4panel-aliasdef.c>
diff --git a/libxfce4panel/xfce-panel-plugin.h b/libxfce4panel/xfce-panel-plugin.h
index db6f26b..f797aa5 100644
--- a/libxfce4panel/xfce-panel-plugin.h
+++ b/libxfce4panel/xfce-panel-plugin.h
@@ -25,6 +25,7 @@
#define __XFCE_PANEL_PLUGIN_H__
#include <gtk/gtk.h>
+#include <libxfce4panel/xfce-panel-enums.h>
G_BEGIN_DECLS
More information about the Xfce4-commits
mailing list