--- systemd-236.orig/meson.build 2017-12-14 23:09:57.000000000 +0100 +++ systemd-236/meson.build 2018-01-01 21:03:50.570757021 +0100 @@ -260,10 +260,12 @@ cc = meson.get_compiler('c') pkgconfig = import('pkgconfig') check_compilation_sh = find_program('tools/meson-check-compilation.sh') -cxx = find_program('c++', required : false) -if cxx.found() - # Used only for tests - add_languages('cpp') +if get_option('tests') != 'false' + cxx = find_program('c++', required : false) + if cxx.found() + # Used only for tests + add_languages('cpp') + endif endif foreach arg : ['-Wextra', @@ -2388,48 +2390,51 @@ executable('systemd-sulogin-shell', install_dir : rootlibexecdir) ############################################################ +if want_tests == 'false' + message('Not compiling because tests is set to false') +else + foreach tuple : tests + sources = tuple[0] + link_with = tuple[1].length() > 0 ? tuple[1] : [libshared] + dependencies = tuple[2] + condition = tuple.length() >= 4 ? tuple[3] : '' + type = tuple.length() >= 5 ? tuple[4] : '' + defs = tuple.length() >= 6 ? tuple[5] : [] + incs = tuple.length() >= 7 ? tuple[6] : includes + timeout = 30 -foreach tuple : tests - sources = tuple[0] - link_with = tuple[1].length() > 0 ? tuple[1] : [libshared] - dependencies = tuple[2] - condition = tuple.length() >= 4 ? tuple[3] : '' - type = tuple.length() >= 5 ? tuple[4] : '' - defs = tuple.length() >= 6 ? tuple[5] : [] - incs = tuple.length() >= 7 ? tuple[6] : includes - timeout = 30 - - name = sources[0].split('/')[-1].split('.')[0] - if type.startswith('timeout=') - timeout = type.split('=')[1].to_int() - type = '' - endif + name = sources[0].split('/')[-1].split('.')[0] + if type.startswith('timeout=') + timeout = type.split('=')[1].to_int() + type = '' + endif - if condition == '' or conf.get(condition) == 1 - exe = executable( - name, - sources, - include_directories : incs, - link_with : link_with, - dependencies : dependencies, - c_args : defs, - install_rpath : rootlibexecdir, - install : install_tests, - install_dir : join_paths(testsdir, type)) + if condition == '' or conf.get(condition) == 1 + exe = executable( + name, + sources, + include_directories : incs, + link_with : link_with, + dependencies : dependencies, + c_args : defs, + install_rpath : rootlibexecdir, + install : install_tests, + install_dir : join_paths(testsdir, type)) - if type == 'manual' - message('@0@ is a manual test'.format(name)) - elif type == 'unsafe' and want_tests != 'unsafe' - message('@0@ is an unsafe test'.format(name)) + if type == 'manual' + message('@0@ is a manual test'.format(name)) + elif type == 'unsafe' and want_tests != 'unsafe' + message('@0@ is an unsafe test'.format(name)) + else + test(name, exe, + env : test_env, + timeout : timeout) + endif else - test(name, exe, - env : test_env, - timeout : timeout) + message('Not compiling @0@ because @1@ is not true'.format(name, condition)) endif - else - message('Not compiling @0@ because @1@ is not true'.format(name, condition)) - endif -endforeach + endforeach +endif test_libsystemd_sym = executable( 'test-libsystemd-sym',