From 17c48175927a5fa8eea52ef09090617b3e9b20f9 Mon Sep 17 00:00:00 2001 From: Albrecht Schlosser Date: Wed, 30 Dec 2015 12:10:15 +0000 Subject: Add configure and CMake checks for X11/Xregion.h. Configure and CMake now both check if X11/Xregion.h exists on the build system and set HAVE_X11_XREGION_H in config.h accordingly. src/Fl_Pixmap.cxx: modified to use the configure test as proposed by Manolo in fltk.coredev on Dec 13 2015 in thread "Using X11 backend on OS X". git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10983 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- CMake/resources.cmake | 3 ++- configh.cmake.in | 10 +++++++++- configh.in | 10 +++++++++- configure.in | 4 ++++ src/Fl_Pixmap.cxx | 10 +++++----- 5 files changed, 29 insertions(+), 8 deletions(-) diff --git a/CMake/resources.cmake b/CMake/resources.cmake index df70b5a28..c44e36a15 100644 --- a/CMake/resources.cmake +++ b/CMake/resources.cmake @@ -4,7 +4,7 @@ # Main CMakeLists.txt to build the FLTK project using CMake (www.cmake.org) # Written by Michael Surette # -# Copyright 1998-2010 by Bill Spitzak and others. +# Copyright 1998-2015 by Bill Spitzak and others. # # This library is free software. Distribution and use rights are outlined in # the file "COPYING" which should have been included with this file. If this @@ -39,6 +39,7 @@ find_file(HAVE_SYS_DIR_H sys/dir.h) find_file(HAVE_SYS_NDIR_H sys/ndir.h) find_file(HAVE_SYS_SELECT_H sys/select.h) find_file(HAVE_SYS_STDTYPES_H sys/stdtypes.h) +find_file(HAVE_X11_XREGION_H X11/Xregion.h) find_path(HAVE_XDBE_H Xdbe.h PATH_SUFFIXES X11/extensions extensions) mark_as_advanced(HAVE_ALSA_ASOUNDLIB_H HAVE_DIRENT_H HAVE_DLFCN_H) diff --git a/configh.cmake.in b/configh.cmake.in index 34e64733e..bf0aed077 100644 --- a/configh.cmake.in +++ b/configh.cmake.in @@ -4,7 +4,7 @@ * Configuration file for the Fast Light Tool Kit (FLTK). * @configure_input@ * - * Copyright 1998-2010 by Bill Spitzak and others. + * Copyright 1998-2015 by Bill Spitzak and others. * * This library is free software. Distribution and use rights are outlined in * the file "COPYING" which should have been included with this file. If this @@ -123,6 +123,14 @@ #cmakedefine01 HAVE_XCURSOR +/* + * HAVE_X11_XREGION_H: + * + * Do we have the X11 Xregion.h header file ? + */ + +#cmakedefine01 HAVE_X11_XREGION_H + /* * __APPLE_QUARTZ__: * diff --git a/configh.in b/configh.in index 39b3f2560..96e8d1fcf 100644 --- a/configh.in +++ b/configh.in @@ -4,7 +4,7 @@ * Configuration file for the Fast Light Tool Kit (FLTK). * @configure_input@ * - * Copyright 1998-2010 by Bill Spitzak and others. + * Copyright 1998-2015 by Bill Spitzak and others. * * This library is free software. Distribution and use rights are outlined in * the file "COPYING" which should have been included with this file. If this @@ -131,6 +131,14 @@ #define HAVE_XRENDER 0 +/* + * HAVE_X11_XREGION_H: + * + * Do we have the X11 Xregion.h header file ? + */ + +#define HAVE_X11_XREGION_H 0 + /* * __APPLE_QUARTZ__: * diff --git a/configure.in b/configure.in index 8b4442a14..0b1036287 100644 --- a/configure.in +++ b/configure.in @@ -1046,6 +1046,10 @@ case $host_os_gui in LIBS="-lXrender $LIBS") fi + dnl Check for the X11/Xregion.h header file... + AC_CHECK_HEADER(X11/Xregion.h, AC_DEFINE(HAVE_X11_XREGION_H),, + [#include ]) + dnl Check for overlay visuals... AC_PATH_PROG(XPROP, xprop) AC_CACHE_CHECK(for X overlay visuals, ac_cv_have_overlay, diff --git a/src/Fl_Pixmap.cxx b/src/Fl_Pixmap.cxx index a38565ff7..30d51d5a9 100644 --- a/src/Fl_Pixmap.cxx +++ b/src/Fl_Pixmap.cxx @@ -33,7 +33,9 @@ #include #if defined(USE_X11) -# ifdef __APPLE_CC__ // allows using on Darwin + X11 even if X11/Xregion.h is absent +# if HAVE_X11_XREGION_H +# include +# else // if the X11/Xregion.h header is not available, we assume this is the layout of an X11 Region: typedef struct { short x1, x2, y1, y2; } BOX; @@ -43,10 +45,8 @@ struct _XRegion { BOX *rects; BOX extents; }; -# else -# include -# endif -#endif +# endif // HAVE_X11_XREGION_H +#endif // USE_X11 #include #include "flstring.h" -- cgit v1.2.3