meson: Define HAVE_CONFIG_H as a project flag

Precisely what Autotools does, instead of adding it as per-target C
argument.

Once we remove HAVE_CONFIG_H checks in every source file, we'll be able
to drop it.
This commit is contained in:
Emmanuele Bassi 2021-05-01 16:55:38 +01:00
parent 8f6cfe4177
commit 8336309794
11 changed files with 8 additions and 19 deletions

View file

@ -35,8 +35,6 @@ cairo_boilerplate_constructors = custom_target('cairo-boilerplate-constructors.c
command: [python3, files('make-cairo-boilerplate-constructors.py')[0], '@OUTPUT@', '@INPUT@'])
libcairoboilerplate = static_library('cairoboilerplate', cairo_boilerplate_sources + [cairo_boilerplate_constructors],
c_args: ['-DHAVE_CONFIG_H'],
cpp_args: ['-DHAVE_CONFIG_H'],
include_directories: [incbase, incsrc],
dependencies: deps,
link_with: [libcairo],

View file

@ -45,6 +45,9 @@ endif
add_project_arguments('-D_GNU_SOURCE', language: 'c')
# Autotools compatibility
add_project_arguments('-DHAVE_CONFIG_H', language: 'c')
# Make sure source directory hasn't been configured with autotools
if meson.version().version_compare('>= 0.53')
fs = import('fs')

View file

@ -296,8 +296,8 @@ incsrc = include_directories('.')
libcairo = library('cairo', cairo_sources,
dependencies: deps,
c_args: cairo_no_warn_c_args + pthread_c_args + ['-DHAVE_CONFIG_H'],
cpp_args: cairo_no_warn_c_args + pthread_c_args + ['-DHAVE_CONFIG_H'],
c_args: cairo_no_warn_c_args + pthread_c_args,
cpp_args: cairo_no_warn_c_args + pthread_c_args,
link_args: extra_link_args,
soversion: cairo_version_sonum,
version: cairo_libversion,

View file

@ -597,7 +597,6 @@ endif
if build_any2ppm
any2ppm_exe = executable('any2ppm', 'any2ppm.c',
c_args: ['-DHAVE_CONFIG_H'],
include_directories: [incbase, incsrc, inccairoscript],
link_with: [libcairo, libcairoscript],
dependencies: deps + test_deps,
@ -608,7 +607,7 @@ endif
if have_shm
cairo_test_trace_exe = executable('cairo-test-trace', cairo_test_trace_sources,
include_directories: [incbase, incsrc, incboilerplate, incpdiff, inccairoscript, inccairomissing],
c_args: ['-DHAVE_CONFIG_H'] + pthread_c_args,
c_args: pthread_c_args,
link_with: [libcairo, libcairoboilerplate, libpdiff, libcairoscript, libcairomissing],
link_args: extra_link_args,
dependencies: deps + test_deps + [rt_dep])
@ -616,7 +615,6 @@ endif
exe = executable('cairo-test-suite', [cairo_test_suite_sources, test_sources, cairo_test_constructors],
include_directories: [incbase, incsrc, incboilerplate, incpdiff],
c_args: ['-DHAVE_CONFIG_H'],
link_with: [libcairo, libcairoboilerplate, libpdiff],
link_args: extra_link_args,
dependencies: deps + test_deps,

View file

@ -9,13 +9,11 @@ perceptualdiff_sources = [
]
libpdiff = static_library('pdiff', libpdiff_sources,
c_args: ['-DHAVE_CONFIG_H'],
include_directories: [incbase, incsrc],
dependencies: deps,
link_with: [libcairo],
)
perceptualdiff = executable('perceptualdiff', perceptualdiff_sources,
c_args: ['-DHAVE_CONFIG_H'],
include_directories: [incbase, incsrc],
link_with: [libpdiff])

View file

@ -4,7 +4,6 @@ cairo_fdr_sources = [
libcairofdr = library('cairo-fdr', cairo_fdr_sources,
include_directories: [incbase, incsrc],
c_args: ['-DHAVE_CONFIG_H'],
dependencies: deps,
install: true,
install_dir: join_paths(get_option('prefix'), get_option('libdir'), 'cairo'),

View file

@ -8,7 +8,6 @@ cairo_gobject_headers = [
]
libcairogobject = library('cairo-gobject', cairo_gobject_sources,
c_args: ['-DHAVE_CONFIG_H'],
include_directories: [incbase, incsrc],
dependencies: [glib_dep, gobject_dep],
link_with: [libcairo],

View file

@ -6,7 +6,6 @@ cairo_missing_sources = [
inccairomissing = include_directories('.')
libcairomissing = static_library('cairo-missing', cairo_missing_sources,
c_args: ['-DHAVE_CONFIG_H'],
include_directories: [incbase, incsrc],
install: false,
build_by_default: false,

View file

@ -26,7 +26,6 @@ csi_trace_sources = [
libcairoscript = library('cairo-script-interpreter',
cairoscript_interpreter_sources,
c_args: ['-DHAVE_CONFIG_H'],
include_directories: [incbase, incsrc],
dependencies: deps,
link_with: [libcairo],
@ -50,14 +49,12 @@ pkgmod.generate(libcairoscript,
meson.override_dependency('cairo-script-interpreter', libcairoscript_dep)
csi_replay_exe = executable('csi-replay', csi_replay_sources,
c_args: ['-DHAVE_CONFIG_H'],
include_directories: [incbase, incsrc],
link_with: [libcairo, libcairoscript],
dependencies: deps,
)
csi_exec_exe = executable('csi-exec', csi_exec_sources,
c_args: ['-DHAVE_CONFIG_H'],
include_directories: [incbase, incsrc],
link_with: [libcairo, libcairoscript],
dependencies: deps,
@ -65,7 +62,6 @@ csi_exec_exe = executable('csi-exec', csi_exec_sources,
if feature_conf.get('CAIRO_HAS_SCRIPT_SURFACE', 0) == 1 and conf.get('HAVE_LIBGEN_H', 0) == 1
csi_trace_exe = executable('csi-trace', csi_trace_sources,
c_args: ['-DHAVE_CONFIG_H'],
include_directories: [incbase, incsrc],
link_with: [libcairo, libcairoscript],
dependencies: deps,

View file

@ -8,7 +8,6 @@ cairo_sphinx_sources = [
libcairosphinx = library('cairo-sphinx', libcairo_sphinx_sources,
include_directories: [incbase, incsrc],
c_args: ['-DHAVE_CONFIG_H'],
dependencies: deps,
install: true,
install_dir: join_paths(get_option('prefix'), get_option('libdir'), 'cairo'),
@ -18,7 +17,7 @@ libdir = join_paths(get_option('prefix'), get_option('libdir'))
cairosphinx_exe = executable('cairo-sphinx', cairo_sphinx_sources,
include_directories: [incbase, incsrc, inccairoscript, incboilerplate],
c_args: ['-DHAVE_CONFIG_H', '-DLIBDIR="@0@"'.format(libdir)] + pthread_c_args,
c_args: ['-DLIBDIR="@0@"'.format(libdir)] + pthread_c_args,
dependencies: deps + [glib_dep, rt_dep],
link_with: [libcairo, libcairosphinx, libcairoscript, libcairoboilerplate],
link_args: extra_link_args,

View file

@ -12,7 +12,7 @@ libcairotrace = library('cairo-trace', cairo_trace_sources,
include_directories: [incbase, incsrc],
dependencies: deps,
link_args: extra_link_args,
c_args: ['-DSHARED_LIB_EXT="@0@"'.format(shared_lib_ext), '-DHAVE_CONFIG_H'] + pthread_c_args,
c_args: ['-DSHARED_LIB_EXT="@0@"'.format(shared_lib_ext),] + pthread_c_args,
install: true,
install_dir: join_paths(get_option('prefix'), get_option('libdir'), 'cairo'),
)