twin/compton: make CONFIG_XSYNC autoconfigurable to fix FTBFS with older libXext versions which doesn't provide XSyncFence

pull/2/head
Slávek Banko 10 years ago
parent 7c55134dee
commit d7235b31b1

@ -136,6 +136,13 @@ if( WITH_XCOMPOSITE )
tde_message_fatal( "xext is required for xcomposite support, but was not found on your system" )
endif( )
# for (twin/compton)
# older libXext (e.g.in debian-6.0) doesn't provide XSyncFence
tde_save_and_set( CMAKE_REQUIRED_INCLUDES "${XEXT_INCLUDE_DIRS}" )
tde_save_and_set( CMAKE_REQUIRED_LIBRARIES "${XEXT_LIBRARIES}" )
check_symbol_exists( "XSyncCreateFence" "X11/Xlib.h;X11/extensions/sync.h" HAVE_XEXT_XSYNCFENCE )
tde_restore( CMAKE_REQUIRED_LIBRARIES )
tde_restore( CMAKE_REQUIRED_INCLUDES )
endif( )

@ -28,31 +28,35 @@ include_directories(
# TDE to compton config option map
# WITH_XINNERAMA -> CONFIG_XINERAMA
# WITH_XRANDR -> CONFIG_XANDR
# HAVE_XEXT_XSYNCFENCE -> CONFIG_XSYNC
# WITH_OPENGL -> CONFIG_VSYNC_OPENGL
# WITH_OPENGL -> CONFIG_VSYNC_OPENGL_GLSL
# WITH_OPENGL -> CONFIG_VSYNC_OPENGL_FBO
# WITH_OPENGL -> CONFIG_GLX_XSYNC
# WITH_PCRE -> CONFIG_REGEX_PCRE
# WITH_PCRE -> CONFIG_REGEX_PCRE_JIT
# WITH_LIBCONFIG -> CONFIG_LIBCONFIG
#
# HAVE_LIBCONFIG_OLD_API -> CONFIG_LIBCONFIG_LEGACY (set up in compton_config.h)
# CONFIG_XSYNC -> CONFIG_GLX_SYNC
#
# CONFIG_DBUS - always ON
# CONFIG_C2 - always ON
# CONFIG_XSYNC - always ON (utilieses Xext)
# TODO: think about some configuration option for CONFIG_VSYNC_DRM
# NOTE: HAVE__XEXT_XSYNCFENCE is an automatically detected feature that shows
# that libXext provides coresponding feature.
add_definitions("-std=c99")
set( compton_SRCS compton.c )
set( CONFIG_XSYNC ${HAVE_XEXT_XSYNCFENCE} )
if( WITH_OPENGL )
set( CONFIG_VSYNC_OPENGL ${WITH_OPENGL} )
set( CONFIG_VSYNC_OPENGL_GLSL ${WITH_OPENGL} )
set( CONFIG_VSYNC_OPENGL_FBO ${WITH_OPENGL} )
set( CONFIG_GLX_XSYNC ${WITH_OPENGL} )
set( CONFIG_GLX_SYNC ${CONFIG_XSYNC} )
list( APPEND compton_LIBRARIES ${GL_LIBRARIES})
list( APPEND compton_SRCS opengl.c )
endif( )

@ -61,7 +61,7 @@
// Whether to enable X Sync support.
// #define CONFIG_XSYNC 1
// Whether to enable GLX Sync support.
// #define CONFIG_GLX_XSYNC 1
// #define CONFIG_GLX_SYNC 1
// TDE specific options
// #define USE_ENV_HOME 1

@ -21,7 +21,7 @@
#define CONFIG_C2 1
// Whether to enable X Sync support.
#define CONFIG_XSYNC 1
#cmakedefine CONFIG_XSYNC 1
// Whether to enable OpenGL support
#cmakedefine CONFIG_VSYNC_OPENGL 1
@ -30,7 +30,7 @@
// Whether to enable GLX FBO support
#cmakedefine CONFIG_VSYNC_OPENGL_FBO 1
// Whether to enable GLX Sync support.
#cmakedefine CONFIG_GLX_XSYNC 1
#cmakedefine CONFIG_GLX_SYNC 1
// Whether to enable Xranr support
#cmakedefine CONFIG_XRANDR 1

Loading…
Cancel
Save