Fix linking issues with wxGLCanvasEGL for autoconf
1) Link with the wayland-egl library, but do so only if we determine that we have Wayland support in the GDK backend with a compile test. 2) Provide a way to force disable the EGL backend.
This commit is contained in:
167
configure
vendored
167
configure
vendored
@@ -953,6 +953,8 @@ CXXFLAGS_VISIBILITY
|
|||||||
CFLAGS_VISIBILITY
|
CFLAGS_VISIBILITY
|
||||||
MesaGL_LIBS
|
MesaGL_LIBS
|
||||||
MesaGL_CFLAGS
|
MesaGL_CFLAGS
|
||||||
|
WAYLAND_EGL_LIBS
|
||||||
|
WAYLAND_EGL_CFLAGS
|
||||||
EGL_LIBS
|
EGL_LIBS
|
||||||
EGL_CFLAGS
|
EGL_CFLAGS
|
||||||
GLU_LIBS
|
GLU_LIBS
|
||||||
@@ -1337,6 +1339,7 @@ enable_accessibility
|
|||||||
enable_uiactionsim
|
enable_uiactionsim
|
||||||
enable_dctransform
|
enable_dctransform
|
||||||
enable_webviewwebkit
|
enable_webviewwebkit
|
||||||
|
enable_glcanvasegl
|
||||||
enable_palette
|
enable_palette
|
||||||
enable_image
|
enable_image
|
||||||
enable_gif
|
enable_gif
|
||||||
@@ -1401,6 +1404,8 @@ GLU_CFLAGS
|
|||||||
GLU_LIBS
|
GLU_LIBS
|
||||||
EGL_CFLAGS
|
EGL_CFLAGS
|
||||||
EGL_LIBS
|
EGL_LIBS
|
||||||
|
WAYLAND_EGL_CFLAGS
|
||||||
|
WAYLAND_EGL_LIBS
|
||||||
MesaGL_CFLAGS
|
MesaGL_CFLAGS
|
||||||
MesaGL_LIBS
|
MesaGL_LIBS
|
||||||
LIBSECRET_CFLAGS
|
LIBSECRET_CFLAGS
|
||||||
@@ -2285,6 +2290,7 @@ Optional Features:
|
|||||||
--enable-uiactionsim use wxUIActionSimulator (experimental)
|
--enable-uiactionsim use wxUIActionSimulator (experimental)
|
||||||
--enable-dctransform use wxDC::SetTransformMatrix and related
|
--enable-dctransform use wxDC::SetTransformMatrix and related
|
||||||
--enable-webviewwebkit use wxWebView WebKit backend
|
--enable-webviewwebkit use wxWebView WebKit backend
|
||||||
|
--disable-glcanvasegl disable wxGLCanvas EGL backend
|
||||||
--enable-palette use wxPalette class
|
--enable-palette use wxPalette class
|
||||||
--enable-image use wxImage class
|
--enable-image use wxImage class
|
||||||
--enable-gif use gif images (GIF file format)
|
--enable-gif use gif images (GIF file format)
|
||||||
@@ -2407,6 +2413,10 @@ Some influential environment variables:
|
|||||||
GLU_LIBS linker flags for GLU, overriding pkg-config
|
GLU_LIBS linker flags for GLU, overriding pkg-config
|
||||||
EGL_CFLAGS C compiler flags for EGL, overriding pkg-config
|
EGL_CFLAGS C compiler flags for EGL, overriding pkg-config
|
||||||
EGL_LIBS linker flags for EGL, overriding pkg-config
|
EGL_LIBS linker flags for EGL, overriding pkg-config
|
||||||
|
WAYLAND_EGL_CFLAGS
|
||||||
|
C compiler flags for WAYLAND_EGL, overriding pkg-config
|
||||||
|
WAYLAND_EGL_LIBS
|
||||||
|
linker flags for WAYLAND_EGL, overriding pkg-config
|
||||||
MesaGL_CFLAGS
|
MesaGL_CFLAGS
|
||||||
C compiler flags for MesaGL, overriding pkg-config
|
C compiler flags for MesaGL, overriding pkg-config
|
||||||
MesaGL_LIBS linker flags for MesaGL, overriding pkg-config
|
MesaGL_LIBS linker flags for MesaGL, overriding pkg-config
|
||||||
@@ -12190,6 +12200,35 @@ fi
|
|||||||
eval "$wx_cv_use_webviewwebkit"
|
eval "$wx_cv_use_webviewwebkit"
|
||||||
|
|
||||||
|
|
||||||
|
enablestring=
|
||||||
|
defaultval=$wxUSE_ALL_FEATURES
|
||||||
|
if test -z "$defaultval"; then
|
||||||
|
if test x"$enablestring" = xdisable; then
|
||||||
|
defaultval=yes
|
||||||
|
else
|
||||||
|
defaultval=no
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check whether --enable-glcanvasegl was given.
|
||||||
|
if test "${enable_glcanvasegl+set}" = set; then :
|
||||||
|
enableval=$enable_glcanvasegl;
|
||||||
|
if test "$enableval" = yes; then
|
||||||
|
wx_cv_use_glcanvasegl='wxUSE_GLCANVAS_EGL=yes'
|
||||||
|
else
|
||||||
|
wx_cv_use_glcanvasegl='wxUSE_GLCANVAS_EGL=no'
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
wx_cv_use_glcanvasegl='wxUSE_GLCANVAS_EGL=${'DEFAULT_wxUSE_GLCANVAS_EGL":-$defaultval}"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
eval "$wx_cv_use_glcanvasegl"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
enablestring=
|
enablestring=
|
||||||
@@ -24667,6 +24706,44 @@ done
|
|||||||
TOOLKIT=GTK
|
TOOLKIT=GTK
|
||||||
GUIDIST=GTK_DIST
|
GUIDIST=GTK_DIST
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GDK Wayland backend" >&5
|
||||||
|
$as_echo_n "checking for GDK Wayland backend... " >&6; }
|
||||||
|
if ${wx_cv_gdk_wayland+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
|
||||||
|
save_CFLAGS=$CFLAGS
|
||||||
|
CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
||||||
|
#include <gdk/gdk.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
|
||||||
|
#ifndef GDK_WINDOWING_WAYLAND
|
||||||
|
Not GDK Windowing Wayland
|
||||||
|
#endif
|
||||||
|
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
wx_cv_gdk_wayland=yes
|
||||||
|
else
|
||||||
|
wx_cv_gdk_wayland=no
|
||||||
|
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
CFLAGS=$save_CFLAGS
|
||||||
|
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $wx_cv_gdk_wayland" >&5
|
||||||
|
$as_echo "$wx_cv_gdk_wayland" >&6; }
|
||||||
|
|
||||||
if test "$wxUSE_GPE" = "yes"; then
|
if test "$wxUSE_GPE" = "yes"; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gpewidget library" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gpewidget library" >&5
|
||||||
$as_echo_n "checking for gpewidget library... " >&6; }
|
$as_echo_n "checking for gpewidget library... " >&6; }
|
||||||
@@ -28265,6 +28342,7 @@ fi
|
|||||||
OPENGL_LIBS="-lGL -lGLU"
|
OPENGL_LIBS="-lGL -lGLU"
|
||||||
|
|
||||||
if test "$WXGTK3" = 1; then
|
if test "$WXGTK3" = 1; then
|
||||||
|
if test "$wxUSE_GLCANVAS_EGL" != "no"; then
|
||||||
|
|
||||||
pkg_failed=no
|
pkg_failed=no
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EGL" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EGL" >&5
|
||||||
@@ -28325,13 +28403,13 @@ fi
|
|||||||
echo "$EGL_PKG_ERRORS" >&5
|
echo "$EGL_PKG_ERRORS" >&5
|
||||||
|
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: EGL 1.5+ not available. Will use GLX." >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: EGL 1.5+ not available. Will use GLX." >&5
|
||||||
$as_echo "$as_me: EGL 1.5+ not available. Will use GLX." >&6;}
|
$as_echo "$as_me: EGL 1.5+ not available. Will use GLX." >&6;}
|
||||||
|
|
||||||
|
|
||||||
elif test $pkg_failed = untried; then
|
elif test $pkg_failed = untried; then
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: EGL 1.5+ not available. Will use GLX." >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: EGL 1.5+ not available. Will use GLX." >&5
|
||||||
$as_echo "$as_me: EGL 1.5+ not available. Will use GLX." >&6;}
|
$as_echo "$as_me: EGL 1.5+ not available. Will use GLX." >&6;}
|
||||||
|
|
||||||
|
|
||||||
@@ -28341,11 +28419,92 @@ else
|
|||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||||
$as_echo "yes" >&6; }
|
$as_echo "yes" >&6; }
|
||||||
|
|
||||||
OPENGL_LIBS="$OPENGL_LIBS $EGL_LIBS"
|
OPENGL_LIBS="$OPENGL_LIBS $EGL_LIBS"
|
||||||
$as_echo "#define wxUSE_GLCANVAS_EGL 1" >>confdefs.h
|
$as_echo "#define wxUSE_GLCANVAS_EGL 1" >>confdefs.h
|
||||||
|
|
||||||
|
|
||||||
|
pkg_failed=no
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for WAYLAND_EGL" >&5
|
||||||
|
$as_echo_n "checking for WAYLAND_EGL... " >&6; }
|
||||||
|
|
||||||
|
if test -n "$PKG_CONFIG"; then
|
||||||
|
if test -n "$WAYLAND_EGL_CFLAGS"; then
|
||||||
|
pkg_cv_WAYLAND_EGL_CFLAGS="$WAYLAND_EGL_CFLAGS"
|
||||||
|
else
|
||||||
|
if test -n "$PKG_CONFIG" && \
|
||||||
|
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-egl\""; } >&5
|
||||||
|
($PKG_CONFIG --exists --print-errors "wayland-egl") 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
|
test $ac_status = 0; }; then
|
||||||
|
pkg_cv_WAYLAND_EGL_CFLAGS=`$PKG_CONFIG --cflags "wayland-egl" 2>/dev/null`
|
||||||
|
else
|
||||||
|
pkg_failed=yes
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
pkg_failed=untried
|
||||||
|
fi
|
||||||
|
if test -n "$PKG_CONFIG"; then
|
||||||
|
if test -n "$WAYLAND_EGL_LIBS"; then
|
||||||
|
pkg_cv_WAYLAND_EGL_LIBS="$WAYLAND_EGL_LIBS"
|
||||||
|
else
|
||||||
|
if test -n "$PKG_CONFIG" && \
|
||||||
|
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-egl\""; } >&5
|
||||||
|
($PKG_CONFIG --exists --print-errors "wayland-egl") 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
|
test $ac_status = 0; }; then
|
||||||
|
pkg_cv_WAYLAND_EGL_LIBS=`$PKG_CONFIG --libs "wayland-egl" 2>/dev/null`
|
||||||
|
else
|
||||||
|
pkg_failed=yes
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
pkg_failed=untried
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if test $pkg_failed = yes; then
|
||||||
|
|
||||||
|
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
|
||||||
|
_pkg_short_errors_supported=yes
|
||||||
|
else
|
||||||
|
_pkg_short_errors_supported=no
|
||||||
|
fi
|
||||||
|
if test $_pkg_short_errors_supported = yes; then
|
||||||
|
WAYLAND_EGL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "wayland-egl"`
|
||||||
|
else
|
||||||
|
WAYLAND_EGL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "wayland-egl"`
|
||||||
|
fi
|
||||||
|
# Put the nasty error message in config.log where it belongs
|
||||||
|
echo "$WAYLAND_EGL_PKG_ERRORS" >&5
|
||||||
|
|
||||||
|
:
|
||||||
|
|
||||||
|
elif test $pkg_failed = untried; then
|
||||||
|
:
|
||||||
|
|
||||||
|
else
|
||||||
|
WAYLAND_EGL_CFLAGS=$pkg_cv_WAYLAND_EGL_CFLAGS
|
||||||
|
WAYLAND_EGL_LIBS=$pkg_cv_WAYLAND_EGL_LIBS
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||||
|
$as_echo "yes" >&6; }
|
||||||
|
|
||||||
|
if test $wx_cv_gdk_wayland = "yes"; then
|
||||||
|
OPENGL_LIBS="$OPENGL_LIBS $WAYLAND_EGL_LIBS"
|
||||||
|
have_wayland=1
|
||||||
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
if test "$have_wayland" != 1; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: wxGLCanvas will not have Wayland support" >&5
|
||||||
|
$as_echo "$as_me: wxGLCanvas will not have Wayland support" >&6;}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
50
configure.in
50
configure.in
@@ -1024,6 +1024,7 @@ WX_ARG_FEATURE(accessibility,[ --enable-accessibility enable accessibility sup
|
|||||||
WX_ARG_FEATURE(uiactionsim, [ --enable-uiactionsim use wxUIActionSimulator (experimental)], wxUSE_UIACTIONSIMULATOR)
|
WX_ARG_FEATURE(uiactionsim, [ --enable-uiactionsim use wxUIActionSimulator (experimental)], wxUSE_UIACTIONSIMULATOR)
|
||||||
WX_ARG_FEATURE(dctransform, [ --enable-dctransform use wxDC::SetTransformMatrix and related], wxUSE_DC_TRANSFORM_MATRIX)
|
WX_ARG_FEATURE(dctransform, [ --enable-dctransform use wxDC::SetTransformMatrix and related], wxUSE_DC_TRANSFORM_MATRIX)
|
||||||
WX_ARG_FEATURE(webviewwebkit,[ --enable-webviewwebkit use wxWebView WebKit backend], wxUSE_WEBVIEW_WEBKIT)
|
WX_ARG_FEATURE(webviewwebkit,[ --enable-webviewwebkit use wxWebView WebKit backend], wxUSE_WEBVIEW_WEBKIT)
|
||||||
|
WX_ARG_FEATURE(glcanvasegl, [ --disable-glcanvasegl disable wxGLCanvas EGL backend], wxUSE_GLCANVAS_EGL)
|
||||||
|
|
||||||
dnl ---------------------------------------------------------------------------
|
dnl ---------------------------------------------------------------------------
|
||||||
dnl support for image formats that do not rely on external library
|
dnl support for image formats that do not rely on external library
|
||||||
@@ -3215,6 +3216,23 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
|
|||||||
TOOLKIT=GTK
|
TOOLKIT=GTK
|
||||||
GUIDIST=GTK_DIST
|
GUIDIST=GTK_DIST
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([for GDK Wayland backend], wx_cv_gdk_wayland, [
|
||||||
|
save_CFLAGS=$CFLAGS
|
||||||
|
CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
|
||||||
|
AC_TRY_COMPILE([
|
||||||
|
#include <gdk/gdk.h>
|
||||||
|
],
|
||||||
|
[
|
||||||
|
#ifndef GDK_WINDOWING_WAYLAND
|
||||||
|
Not GDK Windowing Wayland
|
||||||
|
#endif
|
||||||
|
],
|
||||||
|
wx_cv_gdk_wayland=yes,
|
||||||
|
wx_cv_gdk_wayland=no
|
||||||
|
)
|
||||||
|
CFLAGS=$save_CFLAGS
|
||||||
|
])
|
||||||
|
|
||||||
dnl test for external libxpm if we're configured to use it
|
dnl test for external libxpm if we're configured to use it
|
||||||
if test "$wxUSE_GPE" = "yes"; then
|
if test "$wxUSE_GPE" = "yes"; then
|
||||||
AC_MSG_CHECKING(for gpewidget library)
|
AC_MSG_CHECKING(for gpewidget library)
|
||||||
@@ -3795,15 +3813,29 @@ if test "$wxUSE_OPENGL" = "yes" -o "$wxUSE_OPENGL" = "auto"; then
|
|||||||
OPENGL_LIBS="-lGL -lGLU"
|
OPENGL_LIBS="-lGL -lGLU"
|
||||||
|
|
||||||
if test "$WXGTK3" = 1; then
|
if test "$WXGTK3" = 1; then
|
||||||
PKG_CHECK_MODULES(EGL, [egl >= 1.5],
|
if test "$wxUSE_GLCANVAS_EGL" != "no"; then
|
||||||
[
|
PKG_CHECK_MODULES(EGL, [egl >= 1.5],
|
||||||
OPENGL_LIBS="$OPENGL_LIBS $EGL_LIBS"
|
[
|
||||||
AC_DEFINE(wxUSE_GLCANVAS_EGL)
|
OPENGL_LIBS="$OPENGL_LIBS $EGL_LIBS"
|
||||||
],
|
AC_DEFINE(wxUSE_GLCANVAS_EGL)
|
||||||
[
|
PKG_CHECK_MODULES(WAYLAND_EGL, [wayland-egl],
|
||||||
AC_MSG_NOTICE([EGL 1.5+ not available. Will use GLX.])
|
[
|
||||||
]
|
if test $wx_cv_gdk_wayland = "yes"; then
|
||||||
)
|
OPENGL_LIBS="$OPENGL_LIBS $WAYLAND_EGL_LIBS"
|
||||||
|
have_wayland=1
|
||||||
|
fi
|
||||||
|
],
|
||||||
|
[:]
|
||||||
|
)
|
||||||
|
],
|
||||||
|
[
|
||||||
|
AC_MSG_NOTICE([EGL 1.5+ not available. Will use GLX.])
|
||||||
|
]
|
||||||
|
)
|
||||||
|
if test "$have_wayland" != 1; then
|
||||||
|
AC_MSG_NOTICE([wxGLCanvas will not have Wayland support])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
Reference in New Issue
Block a user