summaryrefslogtreecommitdiff
path: root/src/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'src/meson.build')
-rw-r--r--src/meson.build66
1 files changed, 27 insertions, 39 deletions
diff --git a/src/meson.build b/src/meson.build
index 3d50edd54..f777fcd1c 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -130,6 +130,8 @@ cairo_feature_sources = {
],
'cairo-ft': [
'cairo-ft-font.c',
+ 'cairo-colr-glyph-render.c',
+ 'cairo-svg-glyph-render.c'
],
'cairo-xlib': [
@@ -177,25 +179,9 @@ cairo_feature_sources = {
'cairo-win32-font': [
'win32/cairo-win32-font.c',
],
- 'cairo-win32-dwrite-font': [
- 'win32/cairo-dwrite-font-public.c',
+ 'cairo-dwrite-font': [
'win32/cairo-dwrite-font.cpp',
],
- 'cairo-gl': [
- 'cairo-gl-composite.c',
- 'cairo-gl-device.c',
- 'cairo-gl-dispatch.c',
- 'cairo-gl-glyphs.c',
- 'cairo-gl-gradient.c',
- 'cairo-gl-info.c',
- 'cairo-gl-msaa-compositor.c',
- 'cairo-gl-operand.c',
- 'cairo-gl-shaders.c',
- 'cairo-gl-source.c',
- 'cairo-gl-spans-compositor.c',
- 'cairo-gl-surface.c',
- 'cairo-gl-traps-compositor.c',
- ],
'cairo-script': [
'cairo-script-surface.c',
],
@@ -209,18 +195,6 @@ cairo_feature_sources = {
'cairo-svg': [
'cairo-svg-surface.c',
],
- 'cairo-egl': [
- 'cairo-egl-context.c',
- ],
- 'cairo-glx': [
- 'cairo-glx-context.c',
- ],
- 'cairo-wgl': [
- 'cairo-wgl-context.c',
- ],
- 'cairo-xml': [
- 'cairo-xml-surface.c',
- ],
'cairo-tee': [
'cairo-tee-surface.c',
],
@@ -237,10 +211,10 @@ cairo_feature_headers = {
'cairo-quartz': ['cairo-quartz.h'],
'cairo-quartz-image': ['cairo-quartz-image.h'],
'cairo-win32': ['cairo-win32.h'],
+ 'cairo-dwrite-font': ['cairo-dwrite.h'],
'cairo-gl': ['cairo-gl.h'],
'cairo-script': ['cairo-script.h'],
'cairo-tee': ['cairo-tee.h'],
- 'cairo-xml': ['cairo-xml.h'],
'cairo-vg': ['cairo-vg.h'],
}
@@ -260,6 +234,12 @@ endforeach
incsrc = include_directories('.')
+cairo_static_args = []
+if get_option('default_library') == 'static' and host_machine.system() == 'windows'
+ cairo_static_args += ['-DCAIRO_WIN32_STATIC_BUILD']
+ add_project_arguments('-DCAIRO_WIN32_STATIC_BUILD', language: 'c')
+endif
+
libcairo = library('cairo', cairo_sources,
dependencies: deps,
c_args: cairo_no_warn_c_args + pthread_c_args,
@@ -271,12 +251,8 @@ libcairo = library('cairo', cairo_sources,
include_directories: incbase,
)
-cairo_headers += [configure_file(output: 'cairo-features.h', configuration: feature_conf)]
-
-cairo_static_args = []
-if get_option('default_library') == 'static' and host_machine.system() == 'windows'
- cairo_static_args += ['-DCAIRO_WIN32_STATIC_BUILD']
-endif
+cairo_features_file = configure_file(output: 'cairo-features.h', configuration: feature_conf)
+cairo_headers += [cairo_features_file]
libcairo_dep = declare_dependency(link_with: libcairo,
dependencies: deps,
@@ -296,9 +272,6 @@ install_headers(cairo_headers, subdir: 'cairo')
shell = find_program('sh', required: false)
if shell.found()
test_scripts = [
- # This script calls back into make to generate cairo.def
- # TODO: Make this work, somehow
- #'check-def.sh',
'check-doc-syntax.sh',
'check-headers.sh',
'check-preprocessor-syntax.sh',
@@ -314,6 +287,21 @@ if shell.found()
env = environment()
env.set('CAIRO_HAS_HIDDEN_SYMBOLS', '1')
+ cairo_def = custom_target('make-cairo-def',
+ input : cairo_headers,
+ output : 'cairo.def',
+ command : [ shell,
+ meson.current_source_dir()/'make-cairo-def.sh',
+ '@OUTPUT@',
+ cairo_features_file,
+ '@INPUT@'
+ ])
+
+ test('check-def', shell,
+ args: ['meson-check-def.sh', cairo_def, libcairo ],
+ env: env,
+ workdir: meson.current_source_dir())
+
test('check-plt.sh', shell,
args: ['check-plt.sh', libcairo ],
env: env,