From 678f1d60e98cb76d2e59b3a6e31f26e353453a63 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 5 Sep 2017 14:36:19 +0200 Subject: meson: Use static libs to handle IGT_LOG_DOMAIN. It means that compiler errors in the .c files take you to the source place in your editor, not a preprocessed temporary. v2: Add the library deps, fails linking otherwise. Signed-off-by: Eric Anholt (v1) Acked-by: Jani Nikula Acked-by: Arkadiusz Hiler Acked-by: Petri Latvala Acked-by: Daniel Stone Acked-by: Radoslaw Szwichtenberg Signed-off-by: Daniel Vetter --- lib/meson.build | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) (limited to 'lib/meson.build') diff --git a/lib/meson.build b/lib/meson.build index 51d3f9e2..f0672edf 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -144,19 +144,33 @@ vcs_tag(input : 'version.h.in', output : 'version.h', fallback : 'NO-GIT', command : [ 'git', 'log', '-n1', '--pretty=format:g%h' ] ) -# FIXME we don't regenerate when the script changes -prepend_log_domain = generator(find_program('prepend_log_domain.sh'), - arguments : [ '@INPUT@', '@OUTPUT@' ], - output : '@PLAINNAME@' + '.pre.c') - -processed_src_dep = prepend_log_domain.process(lib_sources) +lib_intermediates = [] +foreach f: lib_sources + # No / in the target name + if f.contains('uwildmat') + name = 'uwildmat' + else + name = f + endif + + lib = static_library('igt-' + name, + f, + include_directories: inc, + dependencies : lib_deps, + c_args : [ + '-DIGT_DATADIR="@0@"'.format(pkgdatadir), + '-DIGT_SRCDIR="@0@"'.format(srcdir), + '-DIGT_LOG_DOMAIN="@0@"'.format(f.split('.')[0]), + ]) + + lib_intermediates += lib +endforeach lib_igt_build = shared_library('igt', - processed_src_dep, - include_directories : inc, - dependencies : lib_deps, - c_args : [ '-DIGT_DATADIR="@0@"'.format(pkgdatadir), - '-DIGT_SRCDIR="@0@"'.format(srcdir), ]) + ['dummy.c'], + link_whole: lib_intermediates, + dependencies: lib_deps, +) lib_igt = declare_dependency(link_with : lib_igt_build, include_directories : inc) -- cgit v1.2.3