[pango: 1/2] Make dependencies to libthai, cairo and xft optional.




commit 8485a34055837fe2b8f58814c0bd3c25f97d610b
Author: Niklas Guertler <profclonk gmail com>
Date:   Wed Sep 9 11:02:21 2020 +0200

    Make dependencies to libthai, cairo and xft optional.
    
    Added meson features for disabling the dependencies libthai, cairo and xft such that they won't be used 
even if present on the system. Changed meson dependencies for some tests accordingly.

 meson.build       |  8 ++++----
 meson_options.txt | 12 ++++++++++++
 tests/meson.build | 10 +++++-----
 3 files changed, 21 insertions(+), 9 deletions(-)
---
diff --git a/meson.build b/meson.build
index 160a9152..20f73947 100644
--- a/meson.build
+++ b/meson.build
@@ -216,7 +216,7 @@ fribidi_dep = dependency('fribidi', version: fribidi_req_version,
                          default_options: ['docs=false'])
 pango_deps += fribidi_dep
 
-thai_dep = dependency('libthai', version: libthai_req_version, required: false)
+thai_dep = dependency('libthai', version: libthai_req_version, required: get_option('libthai'))
 if thai_dep.found()
   pango_conf.set('HAVE_LIBTHAI', 1)
   pango_deps += thai_dep
@@ -341,7 +341,7 @@ if build_pangoft2
   pango_deps += freetype_dep
 endif
 
-xft_dep = dependency('xft', version: xft_req_version, required: false)
+xft_dep = dependency('xft', version: xft_req_version, required: get_option('xft'))
 if xft_dep.found() and fontconfig_dep.found() and freetype_dep.found()
   pango_conf.set('HAVE_XFT', 1)
   pango_deps += dependency('xrender', required: false)
@@ -364,7 +364,7 @@ if host_system == 'darwin'
 endif
 
 cairo_found_type = ''
-cairo_dep = dependency('cairo', version: cairo_req_version, required: false)
+cairo_dep = dependency('cairo', version: cairo_req_version, required: get_option('cairo'))
 
 if cairo_dep.found()
   cairo_found_type = cairo_dep.type_name()
@@ -379,7 +379,7 @@ endif
 # in a declarative way
 if not cairo_dep.found()
   cairo_dep = dependency('cairo', version: cairo_req_version,
-                         fallback: ['cairo', 'libcairo_dep'])
+                         fallback: ['cairo', 'libcairo_dep'], required: get_option('cairo'))
   cairo_found_type = cairo_dep.type_name()
 endif
 
diff --git a/meson_options.txt b/meson_options.txt
index b0395b5e..437ba149 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -18,3 +18,15 @@ option('sysprof',
        type : 'feature',
        value : 'disabled',
        description : 'include tracing support for sysprof')
+option('libthai',
+       type : 'feature',
+       value : 'auto',
+       description : 'Build with libthai support')
+option('cairo',
+       type : 'feature',
+       value : 'auto',
+       description : 'Build with cairo support')
+option('xft',
+       type : 'feature',
+       value : 'auto',
+       description : 'Build with xft support')
diff --git a/tests/meson.build b/tests/meson.build
index 234fbf63..6e10e2b7 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -20,11 +20,7 @@ tests = [
   [ 'testboundaries' ],
   [ 'testboundaries_ucd' ],
   [ 'testcolor' ],
-  [ 'testmisc', [ 'testmisc.c' ], [ libpangocairo_dep ] ],
-  [ 'testscript' ],
-  [ 'test-harfbuzz', [ 'test-harfbuzz.c' ], [ libpangocairo_dep ] ],
-  [ 'cxx-test', [ 'cxx-test.cpp' ], [ libpangocairo_dep ] ],
-  [ 'test-break', [ 'test-break.c', 'test-common.c' ], [libpangocairo_dep ] ],
+  [ 'testscript' ]
 ]
 
 if build_pangoft2
@@ -45,6 +41,10 @@ if cairo_dep.found()
     [ 'test-shape', [ 'test-shape.c', 'test-common.c' ], [ libpangocairo_dep ] ],
     [ 'test-font', [ 'test-font.c' ], [ libpangocairo_dep ] ],
     [ 'testattributes', [ 'testattributes.c', 'test-common.c' ], [ libpangocairo_dep ] ],
+    [ 'testmisc', [ 'testmisc.c' ], [ libpangocairo_dep, glib_dep, harfbuzz_dep ] ],
+    [ 'cxx-test', [ 'cxx-test.cpp' ], [ libpangocairo_dep, gobject_dep, harfbuzz_dep ] ],
+    [ 'test-harfbuzz', [ 'test-harfbuzz.c' ], [ libpangocairo_dep, gobject_dep, harfbuzz_dep ] ],
+    [ 'test-break', [ 'test-break.c', 'test-common.c' ], [libpangocairo_dep, glib_dep, harfbuzz_dep ] ]
   ]
 
   if pango_cairo_backends.contains('png')


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]