[vlc-devel] [PATCH] XCB windowless: add x11-xcb pkgconfig check
Ludovic Fauvet
etix at videolan.org
Fri Jan 4 14:11:22 CET 2013
On Fri, Jan 4, 2013 at 1:50 PM, Cheng Sun <chengsun9 at gmail.com> wrote:
> ---
> configure.ac | 4 ++++
> npapi/Makefile.am | 8 ++++----
> npapi/vlcplugin.h | 11 +++++++----
> npapi/vlcshell.cpp | 2 ++
> 4 files changed, 17 insertions(+), 8 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index 8c5e7c5..1fefabe 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -249,6 +249,7 @@ AC_ARG_WITH([gtk], AS_HELP_STRING([--with-gtk], [Build the GTK+ toolbars in NPAP
> gtk_found=no
> AS_IF([ test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" ], [
> PKG_CHECK_MODULES(XCB, [xcb],[xcb_found=yes])
> + PKG_CHECK_MODULES(X11_XCB, [x11-xcb],[x11_xcb_found=yes])
> AS_IF([ test "x$with_gtk" != "xno" ],
> [
> PKG_CHECK_MODULES(GTK, [gtk+-2.0], [gtk_found=yes])
> @@ -264,8 +265,11 @@ AS_IF([ test "x$gtk_found" = "xyes" ],
> AC_DEFINE([USE_GTK], [1], [Define to 1 if using GTK+]))
> AS_IF([ test "x$xcb_found" = "xyes" ],
> AC_DEFINE([USE_XCB], [1], [Define to 1 if using XCB]))
> +AS_IF([ test "x$x11_xcb_found" = "xyes" ],
> + AC_DEFINE([USE_X11_XCB], [1], [Define to 1 if using X11-XCB]))
> AM_CONDITIONAL(WITH_GTK, [ test "x$gtk_found" = "xyes" ])
> AM_CONDITIONAL(HAVE_XCB, [ test "x$xcb_found" = "xyes" ])
> +AM_CONDITIONAL(HAVE_X11_XCB, [ test "x$x11_xcb_found" = "xyes" ])
>
> dnl
> dnl final flags for ActiveX
> diff --git a/npapi/Makefile.am b/npapi/Makefile.am
> index 147b4a1..21d33ab 100644
> --- a/npapi/Makefile.am
> +++ b/npapi/Makefile.am
> @@ -66,7 +66,7 @@ SOURCES_support = \
>
> if WITH_GTK
> AM_CPPFLAGS += $(GTK_CFLAGS)
> -libvlcplugin_la_LIBADD += $(GTK_LIBS) $(X_LIBS) $(X_PRE_LIBS) -lX11
> +libvlcplugin_la_LIBADD += $(GTK_LIBS)
> SOURCES_support += \
> vlcplugin_gtk.cpp \
> vlcplugin_gtk.h
> @@ -78,9 +78,9 @@ SOURCES_support += \
> vlcplugin_xcb.h
> endif # !USE_GTK
>
> -if HAVE_XCB
> -AM_CPPFLAGS += $(XCB_CFLAGS)
> -libvlcplugin_la_LIBADD += $(XCB_LIBS) -lX11-xcb
> +if HAVE_X11_XCB
> +AM_CPPFLAGS += $(XCB_CFLAGS) $(X11_XCB_CFLAGS)
> +libvlcplugin_la_LIBADD += $(XCB_LIBS) $(X11_XCB_LIBS)
> SOURCES_support += \
> vlcwindowless_xcb.cpp \
> vlcwindowless_xcb.h \
> diff --git a/npapi/vlcplugin.h b/npapi/vlcplugin.h
> index 82c4180..5accecd 100644
> --- a/npapi/vlcplugin.h
> +++ b/npapi/vlcplugin.h
> @@ -36,10 +36,6 @@
> #include "common.h"
>
> #if defined(XP_UNIX) && !defined(XP_MACOSX)
> -# if defined(USE_XCB)
> -# include "vlcwindowless_xcb.h"
> - typedef VlcWindowlessXCB VlcWindowless;
> -# endif
> # if defined(USE_GTK)
> # include "vlcplugin_gtk.h"
> typedef class VlcPluginGtk VlcPlugin;
> @@ -47,18 +43,25 @@
> # include "vlcplugin_xcb.h"
> typedef class VlcPluginXcb VlcPlugin;
> # endif
> +# if defined(USE_XCB) && defined(USE_X11_XCB)
> +# include "vlcwindowless_xcb.h"
> + typedef VlcWindowlessXCB VlcWindowless;
> +# define HAVE_WINDOWLESS
> +# endif
> #elif defined(XP_WIN)
> # include "vlcplugin_win.h"
> typedef class VlcPluginWin VlcPlugin;
>
> # include "vlcwindowless_win.h"
> typedef class VlcWindowlessWin VlcWindowless;
> +# define HAVE_WINDOWLESS
We got rid of the HAVE_WINDOWLESS define few days ago. Why re-adding it?
> #elif defined(XP_MACOSX)
> # include "vlcplugin_mac.h"
> typedef class VlcPluginMac VlcPlugin;
>
> # include "vlcwindowless_mac.h"
> typedef class VlcWindowlessMac VlcWindowless;
> +# define HAVE_WINDOWLESS
Same here.
> #endif
>
>
> diff --git a/npapi/vlcshell.cpp b/npapi/vlcshell.cpp
> index 74d9c2b..c19347b 100644
> --- a/npapi/vlcshell.cpp
> +++ b/npapi/vlcshell.cpp
> @@ -245,6 +245,7 @@ NPError NPP_New( NPMIMEType, NPP instance,
> return NPERR_INVALID_INSTANCE_ERROR;
> }
>
> +#ifdef HAVE_WINDOWLESS
And here.
> bool windowless = false;
> /* we need to tell whether the plugin will be windowless
> * before it is instantiated */
> @@ -277,6 +278,7 @@ NPError NPP_New( NPMIMEType, NPP instance,
> p_plugin = new VlcWindowless( instance, mode );
> }
> else
> +#endif
> {
> p_plugin = new VlcPlugin( instance, mode );
> }
> --
> 1.8.0.3
Else it looks good to me.
Also please rebase your two patches.
--
Ludovic Fauvet
More information about the vlc-devel
mailing list