diff options
author | Caolán McNamara <caolanm@redhat.com> | 2011-11-12 22:43:15 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2011-11-14 07:35:58 +0000 |
commit | f163867ff49526f39bb329c698b74899c4b5c0e3 (patch) | |
tree | 01ca9589832cf16bb08f6fd42320c39b15739153 /configure.in | |
parent | 93c5ac9ff1033492bec1aefcda94c1507cafcccd (diff) |
Link with libXrender instead of dynamically open it
Let's not mess around dlopening it and leaving gaps
in the support whereby we currently require it to
exist either linked or "dlopenable+display supports it"
with dlopenable + display doesn't support it leaves
a crashing gap where there are no appropiate checks
for that case.
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 63 |
1 files changed, 30 insertions, 33 deletions
diff --git a/configure.in b/configure.in index 9292e140dd35..9a5fb6811fdb 100644 --- a/configure.in +++ b/configure.in @@ -64,6 +64,7 @@ dnl These values may be checked and reset later. dnl =================================================================== #defaults unless the os test overrides this: test_randr=yes +test_xrender=yes test_cups=yes test_fontconfig=yes @@ -109,6 +110,7 @@ linux-gnu*|k*bsd*-gnu*) gnu) test_randr=no + test_xrender=no _os=GNU ;; @@ -131,6 +133,7 @@ cygwin*|interix*|mingw32*) test_cups=no test_randr=no + test_xrender=no test_freetype=no test_fontconfig=no _os=WINNT @@ -157,6 +160,7 @@ cygwin*|interix*|mingw32*) darwin*) # Mac OS X or iOS test_gtk=yes test_randr=no + test_xrender=no test_freetype=no test_fontconfig=no if test "$host_cpu" = "arm"; then @@ -242,6 +246,7 @@ linux-androideabi*) test_kde=no test_kde4=no test_randr=no + test_xrender=no test_unix_quickstarter=no _os=Android @@ -680,11 +685,6 @@ AC_ARG_ENABLE(rpath, [Disable the use of relative paths in shared libraries.]), ,) -AC_ARG_ENABLE(xrender-link, - AS_HELP_STRING([--enable-xrender-link], - [Link with libXrender instead of dynamically open it.]), -,) - AC_ARG_ENABLE(randr, AS_HELP_STRING([--disable-randr], [Disable RandR support in the vcl project.]), @@ -911,7 +911,7 @@ AC_ARG_WITH(system-headers, AS_HELP_STRING([--with-system-headers], [Use headers already on system -- enables all --with-system-* flags for external packages whose headers are the only entities used i.e. - boost/vigra/odbc/sane/xrender-header(s).]), + boost/vigra/odbc/sane-header(s).]), ,) AC_ARG_WITH(system-jars, @@ -1233,10 +1233,12 @@ AC_ARG_WITH(system-sane, [Use sane.h already on system.]),, [with_system_sane="$with_system_headers"]) -AC_ARG_WITH(system-xrender-headers, - AS_HELP_STRING([--with-system-xrender-headers], - [Use XRender headers already on system.]), - [with_system_xrender_headers="$with_system_headers"]) +AC_ARG_WITH(system-xextensions-headers, + AS_HELP_STRING([--with-system-xextensions-headers], + [To build without system X11 extensions headers, use + --without-system-xextensions-headers. This is possibly + useful on legacy unix systems which ship with the libs + but without the headers.])) AC_ARG_WITH(system-mesa-headers, AS_HELP_STRING([--with-system-mesa-headers], @@ -6238,36 +6240,31 @@ if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$_os" != "Android" -a "$_os" [#include <X11/Intrinsic.h>]) fi +AC_MSG_CHECKING([whether to use internal X11 extensions headers]) +if test "$with_system_xextensions_headers" != "no"; then + AC_MSG_RESULT([no]) +else + AC_MSG_RESULT([yes]) + BUILD_TYPE="$BUILD_TYPE X11_EXTENSIONS" +fi dnl =================================================================== dnl Check for system Xrender dnl =================================================================== -AC_MSG_CHECKING([whether to link to Xrender]) -if test -n "$enable_xrender_link" -a "$enable_xrender_link" != "no"; then +AC_MSG_CHECKING([whether to use Xrender]) +if test "$test_xrender" = "yes"; then AC_MSG_RESULT([yes]) - XRENDER_LINK=YES - with_system_xrender_headers=yes -else - AC_MSG_RESULT([no, dynamically open it]) - XRENDER_LINK=NO -fi -AC_MSG_CHECKING([which Xrender headers to use]) -if test "$with_system_xrender_headers" = "yes"; then - AC_MSG_RESULT([external]) - SYSTEM_XRENDER_HEADERS=YES - AC_CHECK_HEADER(X11/extensions/Xrender.h, [], - [AC_MSG_ERROR(Xrender not found. install X)], []) -else - AC_MSG_RESULT([internal]) - SYSTEM_XRENDER_HEADERS=NO - BUILD_TYPE="$BUILD_TYPE X11_EXTENSIONS" -fi -if test "$XRENDER_LINK" = "YES"; then AC_CHECK_LIB(Xrender, XRenderQueryVersion, [], [AC_MSG_ERROR(libXrender not found or functional)], []) + AC_MSG_CHECKING([which Xrender headers to use]) + if test "$with_system_xextensions_headers" != "no"; then + AC_MSG_RESULT([external]) + AC_CHECK_HEADER(X11/extensions/Xrender.h, [], + [AC_MSG_ERROR(Xrender not found. install X)], []) + else + AC_MSG_RESULT([internal]) + fi fi -AC_SUBST(SYSTEM_XRENDER_HEADERS) -AC_SUBST(XRENDER_LINK) dnl =================================================================== dnl Check for XRandr @@ -8571,7 +8568,7 @@ if test "$with_system_cairo" = "yes"; then PKG_CHECK_MODULES( CAIRO, cairo >= 1.0.2 ) - if test "$with_system_xrender_headers" = "yes"; then + if test "$with_system_xextensions_headers" != "no"; then AC_MSG_CHECKING([whether Xrender.h defines PictStandardA8]) AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include <X11/extensions/Xrender.h> |