Hello community, here is the log from the commit of package meson for openSUSE:Factory checked in at 2019-07-29 17:24:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/meson (Old) and /work/SRC/openSUSE:Factory/.meson.new.4126 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "meson" Mon Jul 29 17:24:40 2019 rev:45 rq:716280 version:0.51.1 Changes: -------- --- /work/SRC/openSUSE:Factory/meson/meson.changes 2019-07-08 15:01:40.670593782 +0200 +++ /work/SRC/openSUSE:Factory/.meson.new.4126/meson.changes 2019-07-29 17:24:42.518339586 +0200 @@ -1,0 +2,16 @@ +Tue Jul 16 14:11:28 UTC 2019 - Martin Liška <mli...@suse.cz> + +- Add fix-missing-return-statements-that-are-seen-with-Wer.patch which + is an upstream version of: https://github.com/mesonbuild/meson/pull/5654 + +------------------------------------------------------------------- +Wed Jul 10 09:55:26 UTC 2019 - Dominique Leuenberger <dims...@opensuse.org> + +- Update to version 0.51.1: + + Increase logging for Rust CI failures. + + tests/llvm: Test both cmake and llvm-config methods. + + Improve error message when Python is not usable. + + gnome.py: correctly pick the compiler for gtk-doc builds. + + Switch to using Pyinstaller. + +------------------------------------------------------------------- Old: ---- meson-0.51.0.tar.gz meson-0.51.0.tar.gz.asc New: ---- fix-missing-return-statements-that-are-seen-with-Wer.patch meson-0.51.1.tar.gz meson-0.51.1.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ meson.spec ++++++ --- /var/tmp/diff_new_pack.O1ZR2W/_old 2019-07-29 17:24:43.262339310 +0200 +++ /var/tmp/diff_new_pack.O1ZR2W/_new 2019-07-29 17:24:43.266339309 +0200 @@ -28,7 +28,7 @@ %{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim} %bcond_with setuptools Name: meson%{name_ext} -Version: 0.51.0 +Version: 0.51.1 Release: 0 Summary: Python-based build system License: Apache-2.0 @@ -50,6 +50,7 @@ # PATCH-FEATURE-OPENSUSE meson-distutils.patch tchva...@suse.com -- build and install using distutils instead of full setuptools Patch5: meson-distutils.patch Patch6: gcc9-sanitizer.patch +Patch7: fix-missing-return-statements-that-are-seen-with-Wer.patch BuildRequires: fdupes BuildRequires: python-rpm-macros BuildRequires: python3-base @@ -163,6 +164,7 @@ %patch5 -p1 %endif %patch6 -p1 +%patch7 -p1 # Remove static boost tests from "test cases/frameworks/1 boost/". sed -i "/static/d" test\ cases/frameworks/1\ boost/meson.build ++++++ fix-missing-return-statements-that-are-seen-with-Wer.patch ++++++ diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py index 3b58a07..9ef9207 100644 --- a/mesonbuild/compilers/c.py +++ b/mesonbuild/compilers/c.py @@ -70,6 +70,7 @@ class CCompiler(CLikeCompiler, Compiler): #ifndef {symbol} {symbol}; #endif + return 0; }}''' return self.compiles(t.format(**fargs), env, extra_args=extra_args, dependencies=dependencies) diff --git a/mesonbuild/compilers/clike.py b/mesonbuild/compilers/clike.py index e923ff2..7ba8bd3 100644 --- a/mesonbuild/compilers/clike.py +++ b/mesonbuild/compilers/clike.py @@ -375,6 +375,7 @@ class CLikeCompiler: #ifndef {symbol} {symbol}; #endif + return 0; }}''' return self.compiles(t.format(**fargs), env, extra_args=extra_args, dependencies=dependencies) @@ -583,6 +584,7 @@ class CLikeCompiler: {prefix} int main(int argc, char **argv) {{ {type} something; + return 0; }}''' if not self.compiles(t.format(**fargs), env, extra_args=extra_args, dependencies=dependencies)[0]: @@ -661,6 +663,7 @@ class CLikeCompiler: #include <stdio.h> int main(int argc, char *argv[]) {{ printf ("{fmt}", {cast} {f}()); + return 0; }}'''.format(**fargs) res = self.run(code, env, extra_args=extra_args, dependencies=dependencies) if not res.compiled: @@ -813,6 +816,7 @@ class CLikeCompiler: #error "No definition for __builtin_{func} found in the prefix" #endif #endif + return 0; }}''' return self.links(t.format(**fargs), env, extra_args=extra_args, dependencies=dependencies) ++++++ meson-0.51.0.tar.gz -> meson-0.51.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/PKG-INFO new/meson-0.51.1/PKG-INFO --- old/meson-0.51.0/PKG-INFO 2019-06-16 21:04:09.000000000 +0200 +++ new/meson-0.51.1/PKG-INFO 2019-07-09 18:40:31.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: meson -Version: 0.51.0 +Version: 0.51.1 Summary: A high performance build system Home-page: http://mesonbuild.com Author: Jussi Pakkanen diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/man/meson.1 new/meson-0.51.1/man/meson.1 --- old/meson-0.51.0/man/meson.1 2019-06-16 20:56:26.000000000 +0200 +++ new/meson-0.51.1/man/meson.1 2019-07-09 18:34:42.000000000 +0200 @@ -1,4 +1,4 @@ -.TH MESON "1" "June 2019" "meson 0.51.0" "User Commands" +.TH MESON "9" "July 2019" "meson 0.51.1" "User Commands" .SH NAME meson - a high productivity build system .SH DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/meson.egg-info/PKG-INFO new/meson-0.51.1/meson.egg-info/PKG-INFO --- old/meson-0.51.0/meson.egg-info/PKG-INFO 2019-06-16 21:04:01.000000000 +0200 +++ new/meson-0.51.1/meson.egg-info/PKG-INFO 2019-07-09 18:40:20.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: meson -Version: 0.51.0 +Version: 0.51.1 Summary: A high performance build system Home-page: http://mesonbuild.com Author: Jussi Pakkanen diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/meson.egg-info/SOURCES.txt new/meson-0.51.1/meson.egg-info/SOURCES.txt --- old/meson-0.51.0/meson.egg-info/SOURCES.txt 2019-06-16 21:04:02.000000000 +0200 +++ new/meson-0.51.1/meson.egg-info/SOURCES.txt 2019-07-09 18:40:20.000000000 +0200 @@ -1648,9 +1648,10 @@ test cases/fortran/15 include/inc2.f90 test cases/fortran/15 include/main.f90 test cases/fortran/15 include/meson.build +test cases/fortran/2 modules/comment_mod.f90 test cases/fortran/2 modules/meson.build +test cases/fortran/2 modules/mymod.f90 test cases/fortran/2 modules/prog.f90 -test cases/fortran/2 modules/stuff.f90 test cases/fortran/3 module procedure/meson.build test cases/fortran/3 module procedure/prog.f90 test cases/fortran/4 self dependency/meson.build @@ -2036,6 +2037,11 @@ test cases/osx/5 extra frameworks/stat.c test cases/osx/6 multiframework/main.m test cases/osx/6 multiframework/meson.build +test cases/osx/7 bitcode/libbar.mm +test cases/osx/7 bitcode/libfile.c +test cases/osx/7 bitcode/libfoo.m +test cases/osx/7 bitcode/meson.build +test cases/osx/7 bitcode/vis.h test cases/python/1 basic/meson.build test cases/python/1 basic/prog.py test cases/python/1 basic/gluon/__init__.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/mesonbuild/backend/backends.py new/meson-0.51.1/mesonbuild/backend/backends.py --- old/meson-0.51.0/mesonbuild/backend/backends.py 2019-06-16 20:54:18.000000000 +0200 +++ new/meson-0.51.1/mesonbuild/backend/backends.py 2019-07-09 18:34:42.000000000 +0200 @@ -70,7 +70,7 @@ class ExecutableSerialisation: def __init__(self, name, fname, cmd_args, env, is_cross, exe_wrapper, - workdir, extra_paths, capture): + workdir, extra_paths, capture, needs_exe_wrapper: bool): self.name = name self.fname = fname self.cmd_args = cmd_args @@ -79,6 +79,7 @@ if exe_wrapper is not None: assert(isinstance(exe_wrapper, dependencies.ExternalProgram)) self.exe_runner = exe_wrapper + self.needs_exe_wrapper = needs_exe_wrapper self.workdir = workdir self.extra_paths = extra_paths self.capture = capture @@ -371,7 +372,8 @@ exe_wrapper = None es = ExecutableSerialisation(basename, exe_cmd, cmd_args, env, is_cross_built, exe_wrapper, workdir, - extra_paths, capture) + extra_paths, capture, + self.environment.need_exe_wrapper()) pickle.dump(es, f) return exe_data @@ -809,11 +811,6 @@ true. You might want to set `native: true` instead to build it for the build machine.'''.format(exe.name)) raise MesonException(s) - else: - mlog.warning(''' - Target {} is used as a generator, but is built for the host - machine. This means most cross builds will fail. You might want to - set `native: true` instead to build it for the build machine.'''.format(exe.name)) exe_arr = [os.path.join(self.environment.get_build_dir(), self.get_target_filename(exe))] else: exe_arr = exe.get_command() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/mesonbuild/backend/ninjabackend.py new/meson-0.51.1/mesonbuild/backend/ninjabackend.py --- old/meson-0.51.0/mesonbuild/backend/ninjabackend.py 2019-06-16 20:54:18.000000000 +0200 +++ new/meson-0.51.1/mesonbuild/backend/ninjabackend.py 2019-07-09 18:34:42.000000000 +0200 @@ -38,7 +38,10 @@ from .backends import CleanTrees from ..build import InvalidArguments -FORTRAN_SUBMOD_PAT = r"\s*submodule\s*\((\w+:?\w+)\)\s*(\w+)\s*$" +FORTRAN_INCLUDE_PAT = r"#?include\s*['\"](\w+\.\w+)['\"]" +FORTRAN_MODULE_PAT = r"\s*\bmodule\b\s+(?!procedure)(\w+)" +FORTRAN_SUBMOD_PAT = r"\s*submodule\s*\((\w+:?\w+)\)\s*(\w+)" +FORTRAN_USE_PAT = r"\s*use,?\s*(?:non_intrinsic)?\s*(?:::)?\s*(\w+)" if mesonlib.is_windows(): quote_func = lambda s: '"{}"'.format(s) @@ -168,7 +171,7 @@ # ninja variables (or variables we use them in) is interpreted directly # by ninja (e.g. the value of the depfile variable is a pathname that # ninja will read from, etc.), so it must not be shell quoted. - raw_names = {'DEPFILE', 'DESC', 'pool', 'description'} + raw_names = {'DEPFILE', 'DESC', 'pool', 'description', 'targetdep'} for e in self.elems: (name, elems) = e @@ -1820,7 +1823,7 @@ self.fortran_deps[target.get_basename()] = {} return - modre = re.compile(r"\s*\bmodule\b\s+(\w+)\s*$", re.IGNORECASE) + modre = re.compile(FORTRAN_MODULE_PAT, re.IGNORECASE) submodre = re.compile(FORTRAN_SUBMOD_PAT, re.IGNORECASE) module_files = {} submodule_files = {} @@ -1860,7 +1863,7 @@ self.fortran_deps[target.get_basename()] = {**module_files, **submodule_files} - def get_fortran_deps(self, compiler: FortranCompiler, src: str, target) -> List[str]: + def get_fortran_deps(self, compiler: FortranCompiler, src: Path, target) -> List[str]: """ Find all module and submodule needed by a Fortran target """ @@ -2750,7 +2753,7 @@ return obj -def _scan_fortran_file_deps(src: str, srcdir: Path, dirname: Path, tdeps, compiler) -> List[str]: +def _scan_fortran_file_deps(src: Path, srcdir: Path, dirname: Path, tdeps, compiler) -> List[str]: """ scan a Fortran file for dependencies. Needs to be distinct from target to allow for recursion induced by `include` statements.er @@ -2767,8 +2770,8 @@ * `submodre` is for Fortran >= 2008 `submodule` """ - incre = re.compile(r"#?include\s*['\"](\w+\.\w+)['\"]\s*$", re.IGNORECASE) - usere = re.compile(r"\s*use,?\s*(?:non_intrinsic)?\s*(?:::)?\s*(\w+)", re.IGNORECASE) + incre = re.compile(FORTRAN_INCLUDE_PAT, re.IGNORECASE) + usere = re.compile(FORTRAN_USE_PAT, re.IGNORECASE) submodre = re.compile(FORTRAN_SUBMOD_PAT, re.IGNORECASE) mod_files = [] @@ -2816,7 +2819,7 @@ parents = submodmatch.group(1).lower().split(':') assert len(parents) in (1, 2), ( 'submodule ancestry must be specified as' - ' ancestor:parent but Meson found {}'.parents) + ' ancestor:parent but Meson found {}'.format(parents)) ancestor_child = '_'.join(parents) if ancestor_child not in tdeps: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/mesonbuild/backend/xcodebackend.py new/meson-0.51.1/mesonbuild/backend/xcodebackend.py --- old/meson-0.51.0/mesonbuild/backend/xcodebackend.py 2019-06-16 20:54:18.000000000 +0200 +++ new/meson-0.51.1/mesonbuild/backend/xcodebackend.py 2019-07-03 20:53:17.000000000 +0200 @@ -738,7 +738,7 @@ ldstr = ' '.join(ldargs) valid = self.buildconfmap[target_name][buildtype] langargs = {} - for lang in self.environment.coredata.compilers: + for lang in self.environment.coredata.compilers[target.for_machine]: if lang not in langnamemap: continue # Add compile args added using add_project_arguments() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/mesonbuild/build.py new/meson-0.51.1/mesonbuild/build.py --- old/meson-0.51.0/mesonbuild/build.py 2019-06-16 20:54:18.000000000 +0200 +++ new/meson-0.51.1/mesonbuild/build.py 2019-06-29 19:38:00.000000000 +0200 @@ -1062,7 +1062,7 @@ msg += "Use the 'pic' option to static_library to build with PIC." raise InvalidArguments(msg) if self.for_machine is not t.for_machine: - msg = 'Tried to mix libraries for machines {1} and {2} in target {!r}'.format(self.name, self.for_machine, t.for_machine) + msg = 'Tried to mix libraries for machines {} and {} in target {!r}'.format(self.for_machine, t.for_machine, self.name) if self.environment.is_cross_build(): raise InvalidArguments(msg + ' This is not possible in a cross build.') else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/mesonbuild/compilers/clike.py new/meson-0.51.1/mesonbuild/compilers/clike.py --- old/meson-0.51.0/mesonbuild/compilers/clike.py 2019-06-16 20:54:18.000000000 +0200 +++ new/meson-0.51.1/mesonbuild/compilers/clike.py 2019-07-09 18:34:42.000000000 +0200 @@ -384,18 +384,24 @@ # Select a CRT if needed since we're linking if mode == 'link': args += self.get_linker_debug_crt_args() - if mode in {'compile', 'preprocess'}: - # Add CFLAGS/CXXFLAGS/OBJCFLAGS/OBJCXXFLAGS and CPPFLAGS from the env - sys_args = env.coredata.get_external_args(self.for_machine, self.language) - # Apparently it is a thing to inject linker flags both - # via CFLAGS _and_ LDFLAGS, even though the former are - # also used during linking. These flags can break - # argument checks. Thanks, Autotools. - cleaned_sys_args = self.remove_linkerlike_args(sys_args) - args += cleaned_sys_args - elif mode == 'link': + + # Add CFLAGS/CXXFLAGS/OBJCFLAGS/OBJCXXFLAGS and CPPFLAGS from the env + sys_args = env.coredata.get_external_args(self.for_machine, self.language) + # Apparently it is a thing to inject linker flags both + # via CFLAGS _and_ LDFLAGS, even though the former are + # also used during linking. These flags can break + # argument checks. Thanks, Autotools. + cleaned_sys_args = self.remove_linkerlike_args(sys_args) + args += cleaned_sys_args + + if mode == 'link': # Add LDFLAGS from the env - args += env.coredata.get_external_link_args(self.for_machine, self.language) + sys_ld_args = env.coredata.get_external_link_args(self.for_machine, self.language) + # CFLAGS and CXXFLAGS go to both linking and compiling, but we want them + # to only appear on the command line once. Remove dupes. + args += [x for x in sys_ld_args if x not in sys_args] + + args += self.get_compiler_args_for_mode(mode) return args def _get_compiler_check_args(self, env, extra_args, dependencies, mode='compile'): @@ -858,7 +864,7 @@ ''' args = self.get_compiler_check_args() n = 'symbols_have_underscore_prefix' - with self.compile(code, extra_args=args, mode='compile', want_output=True) as p: + with self._build_wrapper(code, env, extra_args=args, mode='compile', want_output=True) as p: if p.returncode != 0: m = 'BUG: Unable to compile {!r} check: {}' raise RuntimeError(m.format(n, p.stdo)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/mesonbuild/compilers/compilers.py new/meson-0.51.1/mesonbuild/compilers/compilers.py --- old/meson-0.51.0/mesonbuild/compilers/compilers.py 2019-06-16 20:54:18.000000000 +0200 +++ new/meson-0.51.1/mesonbuild/compilers/compilers.py 2019-07-09 18:34:42.000000000 +0200 @@ -1139,6 +1139,15 @@ suffix = 'obj' return os.path.join(dirname, 'output.' + suffix) + def get_compiler_args_for_mode(self, mode): + args = [] + args += self.get_always_args() + if mode == 'compile': + args += self.get_compile_only_args() + if mode == 'preprocess': + args += self.get_preprocess_only_args() + return args + @contextlib.contextmanager def compile(self, code, extra_args=None, *, mode='link', want_output=False): if extra_args is None: @@ -1156,15 +1165,11 @@ # Construct the compiler command-line commands = CompilerArgs(self) commands.append(srcname) - commands += self.get_always_args() - if mode == 'compile': - commands += self.get_compile_only_args() # Preprocess mode outputs to stdout, so no output args - if mode == 'preprocess': - commands += self.get_preprocess_only_args() - else: + if mode != 'preprocess': output = self._get_compile_output(tmpdirname, mode) commands += self.get_output_args(output) + commands.extend(self.get_compiler_args_for_mode(mode)) # extra_args must be last because it could contain '/link' to # pass args to VisualStudio's linker. In that case everything # in the command line after '/link' is given to the linker. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/mesonbuild/compilers/objc.py new/meson-0.51.1/mesonbuild/compilers/objc.py --- old/meson-0.51.0/mesonbuild/compilers/objc.py 2019-06-16 20:54:18.000000000 +0200 +++ new/meson-0.51.1/mesonbuild/compilers/objc.py 2019-06-27 18:43:00.000000000 +0200 @@ -74,4 +74,3 @@ '1': default_warn_args, '2': default_warn_args + ['-Wextra'], '3': default_warn_args + ['-Wextra', '-Wpedantic']} - self.base_options = ['b_pch', 'b_lto', 'b_pgo', 'b_sanitize', 'b_coverage'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/mesonbuild/compilers/objcpp.py new/meson-0.51.1/mesonbuild/compilers/objcpp.py --- old/meson-0.51.0/mesonbuild/compilers/objcpp.py 2019-06-16 20:54:18.000000000 +0200 +++ new/meson-0.51.1/mesonbuild/compilers/objcpp.py 2019-06-27 18:43:00.000000000 +0200 @@ -75,4 +75,3 @@ '1': default_warn_args, '2': default_warn_args + ['-Wextra'], '3': default_warn_args + ['-Wextra', '-Wpedantic']} - self.base_options = ['b_pch', 'b_lto', 'b_pgo', 'b_sanitize', 'b_coverage'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/mesonbuild/compilers/rust.py new/meson-0.51.1/mesonbuild/compilers/rust.py --- old/meson-0.51.0/mesonbuild/compilers/rust.py 2019-06-16 20:54:18.000000000 +0200 +++ new/meson-0.51.1/mesonbuild/compilers/rust.py 2019-06-27 18:43:00.000000000 +0200 @@ -47,10 +47,18 @@ ofile.write('''fn main() { } ''') - pc = subprocess.Popen(self.exelist + ['-o', output_name, source_name], cwd=work_dir) - pc.wait() + pc = subprocess.Popen(self.exelist + ['-o', output_name, source_name], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + cwd=work_dir) + stdo, stde = pc.communicate() + stdo = stdo.decode('utf-8', errors='replace') + stde = stde.decode('utf-8', errors='replace') if pc.returncode != 0: - raise EnvironmentException('Rust compiler %s can not compile programs.' % self.name_string()) + raise EnvironmentException('Rust compiler %s can not compile programs.\n%s\n%s' % ( + self.name_string(), + stdo, + stde)) if self.is_cross: if self.exe_wrapper is None: # Can't check if the binaries run so we have to assume they do diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/mesonbuild/coredata.py new/meson-0.51.1/mesonbuild/coredata.py --- old/meson-0.51.0/mesonbuild/coredata.py 2019-06-16 20:56:18.000000000 +0200 +++ new/meson-0.51.1/mesonbuild/coredata.py 2019-07-09 18:34:42.000000000 +0200 @@ -35,7 +35,7 @@ if typing.TYPE_CHECKING: from . import dependencies -version = '0.51.0' +version = '0.51.1' backendlist = ['ninja', 'vs', 'vs2010', 'vs2015', 'vs2017', 'vs2019', 'xcode'] default_yielding = False diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/mesonbuild/dependencies/dev.py new/meson-0.51.1/mesonbuild/dependencies/dev.py --- old/meson-0.51.0/mesonbuild/dependencies/dev.py 2019-06-16 20:54:18.000000000 +0200 +++ new/meson-0.51.1/mesonbuild/dependencies/dev.py 2019-07-09 18:34:42.000000000 +0200 @@ -460,12 +460,12 @@ methods = cls._process_method_kw(kwargs) candidates = [] - if DependencyMethods.CMAKE in methods: - candidates.append(functools.partial(LLVMDependencyCMake, env, kwargs)) - if DependencyMethods.CONFIG_TOOL in methods: candidates.append(functools.partial(LLVMDependencyConfigTool, env, kwargs)) + if DependencyMethods.CMAKE in methods: + candidates.append(functools.partial(LLVMDependencyCMake, env, kwargs)) + return candidates @staticmethod diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/mesonbuild/dependencies/misc.py new/meson-0.51.1/mesonbuild/dependencies/misc.py --- old/meson-0.51.0/mesonbuild/dependencies/misc.py 2019-06-16 20:54:18.000000000 +0200 +++ new/meson-0.51.1/mesonbuild/dependencies/misc.py 2019-07-09 18:34:42.000000000 +0200 @@ -388,8 +388,14 @@ super().__init__('threads', environment, None, kwargs) self.name = 'threads' self.is_found = True - self.compile_args = self.clib_compiler.thread_flags(environment) - self.link_args = self.clib_compiler.thread_link_flags(environment) + # Happens if you are using a language with threads + # concept without C, such as plain Cuda. + if self.clib_compiler is None: + self.compile_args = [] + self.link_args = [] + else: + self.compile_args = self.clib_compiler.thread_flags(environment) + self.link_args = self.clib_compiler.thread_link_flags(environment) class Python3Dependency(ExternalDependency): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/mesonbuild/environment.py new/meson-0.51.1/mesonbuild/environment.py --- old/meson-0.51.0/mesonbuild/environment.py 2019-06-16 20:54:18.000000000 +0200 +++ new/meson-0.51.1/mesonbuild/environment.py 2019-07-09 18:34:42.000000000 +0200 @@ -776,7 +776,7 @@ else: m = 'Failed to detect MSVC compiler version: stderr was\n{!r}' raise EnvironmentException(m.format(err)) - match = re.search(' for (.*)$', lookat.split('\n')[0]) + match = re.search('.*(x86|x64|ARM|ARM64).*', lookat.split('\n')[0]) if match: target = match.group(1) else: @@ -909,7 +909,7 @@ return PathScaleFortranCompiler(compiler, version, for_machine, is_cross, exe_wrap, full_version=full_version) if 'PGI Compilers' in out: - if self.machine[for_machine].is_darwin(): + if self.machines[for_machine].is_darwin(): compiler_type = CompilerType.PGI_OSX elif self.machines[for_machine].is_windows(): compiler_type = CompilerType.PGI_WIN diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/mesonbuild/modules/gnome.py new/meson-0.51.1/mesonbuild/modules/gnome.py --- old/meson-0.51.0/mesonbuild/modules/gnome.py 2019-06-16 20:54:18.000000000 +0200 +++ new/meson-0.51.1/mesonbuild/modules/gnome.py 2019-06-27 18:43:00.000000000 +0200 @@ -1045,10 +1045,7 @@ cflags.extend(state.environment.coredata.get_external_args(MachineChoice.HOST, 'c')) ldflags.extend(state.environment.coredata.get_external_link_args(MachineChoice.HOST, 'c')) - if state.environment.is_cross_build(): - compiler = state.environment.coredata.cross_compilers.get('c') - else: - compiler = state.environment.coredata.compilers.host.get('c') + compiler = state.environment.coredata.compilers[MachineChoice.HOST]['c'] compiler_flags = self._get_langs_compilers_flags(state, [('c', compiler)]) cflags.extend(compiler_flags[0]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/mesonbuild/modules/python.py new/meson-0.51.1/mesonbuild/modules/python.py --- old/meson-0.51.0/mesonbuild/modules/python.py 2019-06-16 20:54:18.000000000 +0200 +++ new/meson-0.51.1/mesonbuild/modules/python.py 2019-06-29 19:38:00.000000000 +0200 @@ -577,7 +577,7 @@ else: res = ExternalProgramHolder(NonExistingExternalProgram()) if required: - raise mesonlib.MesonException('{} is not a valid python'.format(python)) + raise mesonlib.MesonException('{} is not a valid python or it is missing setuptools'.format(python)) return res diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/mesonbuild/mtest.py new/meson-0.51.1/mesonbuild/mtest.py --- old/meson-0.51.0/mesonbuild/mtest.py 2019-05-22 23:53:22.000000000 +0200 +++ new/meson-0.51.1/mesonbuild/mtest.py 2019-06-27 18:43:00.000000000 +0200 @@ -641,10 +641,21 @@ self.suites = list(ss) def __del__(self) -> None: + self.close_logfiles() + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_value, traceback) -> None: + self.close_logfiles() + + def close_logfiles(self) -> None: if self.logfile: self.logfile.close() + self.logfile = None if self.jsonlogfile: self.jsonlogfile.close() + self.jsonlogfile = None def merge_suite_options(self, options: argparse.Namespace, test: 'TestSerialisation') -> typing.Dict[str, str]: if ':' in options.setup: @@ -1012,20 +1023,20 @@ if not rebuild_all(options.wd): return 1 - try: - th = TestHarness(options) - if options.list: - return list_tests(th) - if not options.args: - return th.doit() - return th.run_special() - except TestException as e: - print('Meson test encountered an error:\n') - if os.environ.get('MESON_FORCE_BACKTRACE'): - raise e - else: - print(e) - return 1 + with TestHarness(options) as th: + try: + if options.list: + return list_tests(th) + if not options.args: + return th.doit() + return th.run_special() + except TestException as e: + print('Meson test encountered an error:\n') + if os.environ.get('MESON_FORCE_BACKTRACE'): + raise e + else: + print(e) + return 1 def run_with_args(args: typing.List[str]) -> int: parser = argparse.ArgumentParser(prog='meson test') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/mesonbuild/scripts/meson_exe.py new/meson-0.51.1/mesonbuild/scripts/meson_exe.py --- old/meson-0.51.0/mesonbuild/scripts/meson_exe.py 2019-05-02 20:59:50.000000000 +0200 +++ new/meson-0.51.1/mesonbuild/scripts/meson_exe.py 2019-06-29 19:38:00.000000000 +0200 @@ -47,12 +47,12 @@ elif not exe.is_cross and run_with_mono(exe.fname[0]): cmd = ['mono'] + exe.fname else: - if exe.is_cross: + if exe.is_cross and exe.needs_exe_wrapper: if exe.exe_runner is None: - raise AssertionError('BUG: Can\'t run cross-compiled exe {!r}' + raise AssertionError('BUG: Can\'t run cross-compiled exe {!r} ' 'with no wrapper'.format(exe.name)) elif not exe.exe_runner.found(): - raise AssertionError('BUG: Can\'t run cross-compiled exe {!r} with not-found' + raise AssertionError('BUG: Can\'t run cross-compiled exe {!r} with not-found ' 'wrapper {!r}'.format(exe.name, exe.exe_runner.get_path())) else: cmd = exe.exe_runner.get_command() + exe.fname diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/run_project_tests.py new/meson-0.51.1/run_project_tests.py --- old/meson-0.51.0/run_project_tests.py 2019-06-16 20:54:18.000000000 +0200 +++ new/meson-0.51.1/run_project_tests.py 2019-07-09 18:34:42.000000000 +0200 @@ -559,6 +559,34 @@ return not stdo.startswith(b'2.') return True +# In Azure some setups have a broken rustc that will error out +# on all compilation attempts. + +def has_broken_rustc() -> bool: + dirname = 'brokenrusttest' + if os.path.exists(dirname): + mesonlib.windows_proof_rmtree(dirname) + os.mkdir(dirname) + open(dirname + '/sanity.rs', 'w').write('''fn main() { +} +''') + pc = subprocess.run(['rustc', '-o', 'sanity.exe', 'sanity.rs'], + cwd=dirname, + stdout = subprocess.DEVNULL, + stderr = subprocess.DEVNULL) + mesonlib.windows_proof_rmtree(dirname) + return pc.returncode != 0 + +def should_skip_rust() -> bool: + if not shutil.which('rustc'): + return True + if backend is not Backend.ninja: + return True + if mesonlib.is_windows(): + if has_broken_rustc(): + return True + return False + def detect_tests_to_run(): # Name, subdirectory, skip condition. all_tests = [ @@ -577,7 +605,7 @@ ('java', 'java', backend is not Backend.ninja or mesonlib.is_osx() or not have_java()), ('C#', 'csharp', skip_csharp(backend)), ('vala', 'vala', backend is not Backend.ninja or not shutil.which('valac')), - ('rust', 'rust', backend is not Backend.ninja or not shutil.which('rustc')), + ('rust', 'rust', should_skip_rust()), ('d', 'd', backend is not Backend.ninja or not have_d_compiler()), ('objective c', 'objc', backend not in (Backend.ninja, Backend.xcode) or not have_objc_compiler()), ('objective c++', 'objcpp', backend not in (Backend.ninja, Backend.xcode) or not have_objcpp_compiler()), @@ -624,7 +652,8 @@ # # Remove this once the following issue has been resolved: # https://github.com/mesonbuild/meson/pull/2082 - num_workers *= 2 + if not mesonlib.is_windows(): # twice as fast on Windows by *not* multiplying by 2. + num_workers *= 2 executor = ProcessPoolExecutor(max_workers=num_workers) for name, test_cases, skipped in all_tests: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/meson-0.51.0/run_unittests.py new/meson-0.51.1/run_unittests.py --- old/meson-0.51.0/run_unittests.py 2019-06-16 20:54:18.000000000 +0200 +++ new/meson-0.51.1/run_unittests.py 2019-07-09 18:34:42.000000000 +0200 @@ -3022,9 +3022,10 @@ self.wipe() # c_args value should be parsed with shlex - self.init(testdir, extra_args=['-Dc_args=foo bar "one two"']) + self.init(testdir, extra_args=['-Dc_args=-Dfoo -Dbar "-Dthird=one two"']) obj = mesonbuild.coredata.load(self.builddir) - self.assertEqual(obj.compiler_options.host['c_args'].value, ['foo', 'bar', 'one two']) + self.assertEqual(obj.compiler_options.host['c_args'].value, ['-Dfoo', '-Dbar', '-Dthird=one two']) + self.setconf('-Dc_args="foo bar" one two') obj = mesonbuild.coredata.load(self.builddir) self.assertEqual(obj.compiler_options.host['c_args'].value, ['foo bar', 'one', 'two']) @@ -3035,21 +3036,21 @@ self.init(testdir, extra_args=['--bindir=foo', '--bindir=bar', '-Dbuildtype=plain', '-Dbuildtype=release', '-Db_sanitize=address', '-Db_sanitize=thread', - '-Dc_args=foo', '-Dc_args=bar']) + '-Dc_args=-Dfoo', '-Dc_args=-Dbar']) obj = mesonbuild.coredata.load(self.builddir) self.assertEqual(obj.builtins['bindir'].value, 'bar') self.assertEqual(obj.builtins['buildtype'].value, 'release') self.assertEqual(obj.base_options['b_sanitize'].value, 'thread') - self.assertEqual(obj.compiler_options.host['c_args'].value, ['bar']) + self.assertEqual(obj.compiler_options.host['c_args'].value, ['-Dbar']) self.setconf(['--bindir=bar', '--bindir=foo', '-Dbuildtype=release', '-Dbuildtype=plain', '-Db_sanitize=thread', '-Db_sanitize=address', - '-Dc_args=bar', '-Dc_args=foo']) + '-Dc_args=-Dbar', '-Dc_args=-Dfoo']) obj = mesonbuild.coredata.load(self.builddir) self.assertEqual(obj.builtins['bindir'].value, 'foo') self.assertEqual(obj.builtins['buildtype'].value, 'plain') self.assertEqual(obj.base_options['b_sanitize'].value, 'address') - self.assertEqual(obj.compiler_options.host['c_args'].value, ['foo']) + self.assertEqual(obj.compiler_options.host['c_args'].value, ['-Dfoo']) self.wipe() except KeyError: # Ignore KeyError, it happens on CI for compilers that does not @@ -3999,12 +4000,15 @@ # Finding a script with an extension inside a directory works prog = ExternalProgram(os.path.join(testdir, 'test-script-ext.py')) self.assertTrue(prog.found(), msg='test-script-ext.py not found') - # Finding a script in PATH w/o extension works and adds the interpreter + # Finding a script in PATH os.environ['PATH'] += os.pathsep + testdir - prog = ExternalProgram('test-script-ext') - self.assertTrue(prog.found(), msg='test-script-ext not found in PATH') - self.assertPathEqual(prog.get_command()[0], python_command[0]) - self.assertPathBasenameEqual(prog.get_path(), 'test-script-ext.py') + # Finding a script in PATH w/o extension works and adds the interpreter + # (check only if `.PY` is in PATHEXT) + if '.PY' in [ext.upper() for ext in os.environ['PATHEXT'].split(';')]: + prog = ExternalProgram('test-script-ext') + self.assertTrue(prog.found(), msg='test-script-ext not found in PATH') + self.assertPathEqual(prog.get_command()[0], python_command[0]) + self.assertPathBasenameEqual(prog.get_path(), 'test-script-ext.py') # Finding a script in PATH with extension works and adds the interpreter prog = ExternalProgram('test-script-ext.py') self.assertTrue(prog.found(), msg='test-script-ext.py not found in PATH') @@ -4093,18 +4097,21 @@ when it is false. This can't be an ordinary test case because we need to inspect the compiler database. ''' - testdir = os.path.join(self.common_test_dir, '4 shared') - # Try with bitcode enabled - out = self.init(testdir, extra_args='-Db_bitcode=true') + testdir = os.path.join(self.platform_test_dir, '7 bitcode') env = get_fake_env(testdir, self.builddir, self.prefix) cc = env.detect_c_compiler(MachineChoice.HOST) if cc.id != 'clang': raise unittest.SkipTest('Not using Clang on OSX') + # Try with bitcode enabled + out = self.init(testdir, extra_args='-Db_bitcode=true') # Warning was printed self.assertRegex(out, 'WARNING:.*b_bitcode') # Compiler options were added - compdb = self.get_compdb() - self.assertIn('-fembed-bitcode', compdb[0]['command']) + for compdb in self.get_compdb(): + if 'module' in compdb['file']: + self.assertNotIn('-fembed-bitcode', compdb['command']) + else: + self.assertIn('-fembed-bitcode', compdb['command']) build_ninja = os.path.join(self.builddir, 'build.ninja') # Linker options were added with open(build_ninja, 'r', encoding='utf-8') as f: @@ -4115,8 +4122,8 @@ self.setconf('-Db_bitcode=false') # Regenerate build self.build() - compdb = self.get_compdb() - self.assertNotIn('-fembed-bitcode', compdb[0]['command']) + for compdb in self.get_compdb(): + self.assertNotIn('-fembed-bitcode', compdb['command']) build_ninja = os.path.join(self.builddir, 'build.ninja') with open(build_ninja, 'r', encoding='utf-8') as f: contents = f.read() @@ -5790,7 +5797,7 @@ if mesonbuild.environment.detect_msys2_arch(): f.write(r'@python3 {} %*'.format(filename)) else: - f.write('@py -3 {} %*'.format(filename)) + f.write('@{} {} %*'.format(sys.executable, filename)) return batfile def helper_for_compiler(self, lang, cb, for_machine = MachineChoice.HOST): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/fortran/12 submodule/a3.f90" "new/meson-0.51.1/test cases/fortran/12 submodule/a3.f90" --- "old/meson-0.51.0/test cases/fortran/12 submodule/a3.f90" 2019-02-07 10:08:59.000000000 +0100 +++ "new/meson-0.51.1/test cases/fortran/12 submodule/a3.f90" 2019-07-09 18:34:42.000000000 +0200 @@ -1,4 +1,4 @@ -submodule (a1:a2) a3 +submodule (a1:a2) a3 ! testing inline comment contains diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/fortran/15 include/inc1.f90" "new/meson-0.51.1/test cases/fortran/15 include/inc1.f90" --- "old/meson-0.51.0/test cases/fortran/15 include/inc1.f90" 2019-04-17 10:08:43.000000000 +0200 +++ "new/meson-0.51.1/test cases/fortran/15 include/inc1.f90" 2019-06-27 18:43:00.000000000 +0200 @@ -2,4 +2,4 @@ real :: pi = 4.*atan(1.) real :: tau -include "inc2.f90" +include "inc2.f90" ! testing inline comment diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/fortran/2 modules/comment_mod.f90" "new/meson-0.51.1/test cases/fortran/2 modules/comment_mod.f90" --- "old/meson-0.51.0/test cases/fortran/2 modules/comment_mod.f90" 1970-01-01 01:00:00.000000000 +0100 +++ "new/meson-0.51.1/test cases/fortran/2 modules/comment_mod.f90" 2019-06-27 18:43:00.000000000 +0200 @@ -0,0 +1,6 @@ +module line ! inline comment +implicit none + +real :: length + +end module line diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/fortran/2 modules/meson.build" "new/meson-0.51.1/test cases/fortran/2 modules/meson.build" --- "old/meson-0.51.0/test cases/fortran/2 modules/meson.build" 2018-12-27 22:36:06.000000000 +0100 +++ "new/meson-0.51.1/test cases/fortran/2 modules/meson.build" 2019-06-27 18:43:00.000000000 +0200 @@ -1,4 +1,7 @@ project('modules', 'fortran') -e = executable('modprog', 'stuff.f90', 'prog.f90') +commented = library('commented', 'comment_mod.f90') + +e = executable('modprog', 'mymod.f90', 'prog.f90', + link_with: commented) test('moduletest', e) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/fortran/2 modules/mymod.f90" "new/meson-0.51.1/test cases/fortran/2 modules/mymod.f90" --- "old/meson-0.51.0/test cases/fortran/2 modules/mymod.f90" 1970-01-01 01:00:00.000000000 +0100 +++ "new/meson-0.51.1/test cases/fortran/2 modules/mymod.f90" 2019-07-09 18:34:42.000000000 +0200 @@ -0,0 +1,6 @@ +module circle +implicit none + +real, parameter :: pi = 4.*atan(1.) +real :: radius +end module circle diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/fortran/2 modules/prog.f90" "new/meson-0.51.1/test cases/fortran/2 modules/prog.f90" --- "old/meson-0.51.0/test cases/fortran/2 modules/prog.f90" 2017-01-04 22:36:19.000000000 +0100 +++ "new/meson-0.51.1/test cases/fortran/2 modules/prog.f90" 2019-06-27 18:43:00.000000000 +0200 @@ -1,7 +1,11 @@ -PROGRAM prog +use circle, only: pi +use line, only: length +implicit none -use Circle -IMPLICIT NONE +print *,'pi=',pi -END PROGRAM prog +length = pi +print *, length + +end program diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/fortran/2 modules/stuff.f90" "new/meson-0.51.1/test cases/fortran/2 modules/stuff.f90" --- "old/meson-0.51.0/test cases/fortran/2 modules/stuff.f90" 2017-01-04 22:36:19.000000000 +0100 +++ "new/meson-0.51.1/test cases/fortran/2 modules/stuff.f90" 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -MODULE Circle - REAL, PARAMETER :: Pi = 3.1415927 - REAL :: radius -END MODULE Circle - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/fortran/8 module names/test.f90" "new/meson-0.51.1/test cases/fortran/8 module names/test.f90" --- "old/meson-0.51.0/test cases/fortran/8 module names/test.f90" 2019-02-07 10:08:59.000000000 +0100 +++ "new/meson-0.51.1/test cases/fortran/8 module names/test.f90" 2019-06-27 18:43:00.000000000 +0200 @@ -1,5 +1,5 @@ use mymod1 -use MyMod2 +use MyMod2 ! test inline comment implicit none diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/frameworks/15 llvm/meson.build" "new/meson-0.51.1/test cases/frameworks/15 llvm/meson.build" --- "old/meson-0.51.0/test cases/frameworks/15 llvm/meson.build" 2019-05-05 21:11:16.000000000 +0200 +++ "new/meson-0.51.1/test cases/frameworks/15 llvm/meson.build" 2019-07-03 20:53:17.000000000 +0200 @@ -31,25 +31,29 @@ dep_tinfo = cpp.find_library('tinfo', required: false) endif -foreach static : [true, false] - llvm_dep = dependency( - 'llvm', - modules : ['bitwriter', 'asmprinter', 'executionengine', 'target', - 'mcjit', 'nativecodegen', 'amdgpu'], - required : false, - static : static, - ) - if llvm_dep.found() - name = static ? 'static' : 'dynamic' - executable( - 'sum-@0@'.format(name), - 'sum.c', - dependencies : [ - llvm_dep, dep_tinfo, - # zlib will be statically linked on windows - dependency('zlib', required : host_machine.system() != 'windows'), - meson.get_compiler('c').find_library('dl', required : false), - ] +foreach method : ['config-tool', 'cmake'] + foreach static : [true, false] + message('Trying method @0@ for @1@ link'.format(method, static ? 'static' : 'dynamic')) + llvm_dep = dependency( + 'llvm', + modules : ['bitwriter', 'asmprinter', 'executionengine', 'target', + 'mcjit', 'nativecodegen', 'amdgpu'], + required : false, + static : static, + method : method, ) - endif + if llvm_dep.found() + name = static ? 'static' : 'dynamic' + executable( + 'sum-@0@-@1@'.format(name, method), + 'sum.c', + dependencies : [ + llvm_dep, dep_tinfo, + # zlib will be statically linked on windows + dependency('zlib', required : host_machine.system() != 'windows'), + meson.get_compiler('c').find_library('dl', required : false), + ] + ) + endif + endforeach endforeach diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/frameworks/23 hotdoc/installed_files.txt" "new/meson-0.51.1/test cases/frameworks/23 hotdoc/installed_files.txt" --- "old/meson-0.51.0/test cases/frameworks/23 hotdoc/installed_files.txt" 2018-12-09 15:27:23.000000000 +0100 +++ "new/meson-0.51.1/test cases/frameworks/23 hotdoc/installed_files.txt" 2019-07-09 18:34:14.000000000 +0200 @@ -66,6 +66,15 @@ usr/share/doc/foobar/html/assets/js/search/hotdoc_fragments/index.html-hello-world.fragment usr/share/doc/foobar/html/assets/js/search/hotdoc_fragments/dumped.trie usr/share/doc/foobar/html/assets/js/search/hotdoc_fragments/foo.html-FooIndecision.fragment +usr/share/doc/foobar/html/assets/js/search/Subpages +usr/share/doc/foobar/html/assets/js/search/foo +usr/share/doc/foobar/html/assets/js/search/API +usr/share/doc/foobar/html/assets/js/search/Reference +usr/share/doc/foobar/html/assets/js/search/api +usr/share/doc/foobar/html/assets/js/search/reference +usr/share/doc/foobar/html/assets/js/search/subpages +usr/share/doc/foobar/html/assets/js/search/hotdoc_fragments/index.html-subpages.fragment +usr/share/doc/foobar/html/assets/js/search/hotdoc_fragments/c-index.html-subpages.fragment usr/share/doc/foobar/html/assets/prism_components/prism-inform7.min.js usr/share/doc/foobar/html/assets/prism_components/prism-pascal.min.js usr/share/doc/foobar/html/assets/prism_components/prism-bro.js diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/osx/7 bitcode/libbar.mm" "new/meson-0.51.1/test cases/osx/7 bitcode/libbar.mm" --- "old/meson-0.51.0/test cases/osx/7 bitcode/libbar.mm" 1970-01-01 01:00:00.000000000 +0100 +++ "new/meson-0.51.1/test cases/osx/7 bitcode/libbar.mm" 2019-06-27 18:43:00.000000000 +0200 @@ -0,0 +1,7 @@ +#import <stdio.h> +#import "vis.h" + +int EXPORT_PUBLIC libbar(int arg) { + return 0; +} + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/osx/7 bitcode/libfile.c" "new/meson-0.51.1/test cases/osx/7 bitcode/libfile.c" --- "old/meson-0.51.0/test cases/osx/7 bitcode/libfile.c" 1970-01-01 01:00:00.000000000 +0100 +++ "new/meson-0.51.1/test cases/osx/7 bitcode/libfile.c" 2019-06-27 18:43:00.000000000 +0200 @@ -0,0 +1,5 @@ +#include "vis.h" + +int EXPORT_PUBLIC libfunc() { + return 3; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/osx/7 bitcode/libfoo.m" "new/meson-0.51.1/test cases/osx/7 bitcode/libfoo.m" --- "old/meson-0.51.0/test cases/osx/7 bitcode/libfoo.m" 1970-01-01 01:00:00.000000000 +0100 +++ "new/meson-0.51.1/test cases/osx/7 bitcode/libfoo.m" 2019-06-27 18:43:00.000000000 +0200 @@ -0,0 +1,7 @@ +#import <stdio.h> +#import "vis.h" + +int EXPORT_PUBLIC libfoo(int arg) { + return 0; +} + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/osx/7 bitcode/meson.build" "new/meson-0.51.1/test cases/osx/7 bitcode/meson.build" --- "old/meson-0.51.0/test cases/osx/7 bitcode/meson.build" 1970-01-01 01:00:00.000000000 +0100 +++ "new/meson-0.51.1/test cases/osx/7 bitcode/meson.build" 2019-06-27 18:43:00.000000000 +0200 @@ -0,0 +1,10 @@ +project('bitcode test', 'c', 'objc', 'objcpp') + +both_libraries('alib', 'libfoo.m') +shared_module('amodule', 'libfoo.m') + +both_libraries('blib', 'libbar.mm') +shared_module('bmodule', 'libbar.mm') + +both_libraries('clib', 'libfile.c') +shared_module('cmodule', 'libfile.c') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/osx/7 bitcode/vis.h" "new/meson-0.51.1/test cases/osx/7 bitcode/vis.h" --- "old/meson-0.51.0/test cases/osx/7 bitcode/vis.h" 1970-01-01 01:00:00.000000000 +0100 +++ "new/meson-0.51.1/test cases/osx/7 bitcode/vis.h" 2019-06-27 18:43:00.000000000 +0200 @@ -0,0 +1,6 @@ +#if defined __GNUC__ + #define EXPORT_PUBLIC __attribute__ ((visibility("default"))) +#else + #pragma message ("Compiler does not support symbol visibility.") + #define EXPORT_PUBLIC +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/rust/1 basic/installed_files.txt" "new/meson-0.51.1/test cases/rust/1 basic/installed_files.txt" --- "old/meson-0.51.0/test cases/rust/1 basic/installed_files.txt" 2017-04-04 18:41:09.000000000 +0200 +++ "new/meson-0.51.1/test cases/rust/1 basic/installed_files.txt" 2019-06-27 18:43:00.000000000 +0200 @@ -1,2 +1,4 @@ usr/bin/program?exe +?msvc:usr/bin/program.pdb usr/bin/program2?exe +?msvc:usr/bin/program2.pdb diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/rust/2 sharedlib/installed_files.txt" "new/meson-0.51.1/test cases/rust/2 sharedlib/installed_files.txt" --- "old/meson-0.51.0/test cases/rust/2 sharedlib/installed_files.txt" 2017-07-21 22:07:34.000000000 +0200 +++ "new/meson-0.51.1/test cases/rust/2 sharedlib/installed_files.txt" 2019-06-27 18:43:00.000000000 +0200 @@ -1,2 +1,6 @@ usr/bin/prog?exe -usr/lib/libstuff.so +?msvc:usr/bin/prog.pdb +?gcc:usr/lib/libstuff.so +?msvc:usr/bin/stuff.dll +?msvc:usr/bin/stuff.pdb +?msvc:usr/lib/stuff.dll.lib diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/rust/2 sharedlib/meson.build" "new/meson-0.51.1/test cases/rust/2 sharedlib/meson.build" --- "old/meson-0.51.0/test cases/rust/2 sharedlib/meson.build" 2018-12-27 22:34:59.000000000 +0100 +++ "new/meson-0.51.1/test cases/rust/2 sharedlib/meson.build" 2019-06-27 18:43:00.000000000 +0200 @@ -2,4 +2,11 @@ l = shared_library('stuff', 'stuff.rs', install : true) e = executable('prog', 'prog.rs', link_with : l, install : true) -test('linktest', e) + +if build_machine.system() == 'windows' + rustup = find_program('rustup') + test('linktest', rustup, + args: ['run', 'stable', e]) +else + test('linktest', e) +endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/rust/3 staticlib/installed_files.txt" "new/meson-0.51.1/test cases/rust/3 staticlib/installed_files.txt" --- "old/meson-0.51.0/test cases/rust/3 staticlib/installed_files.txt" 2016-07-15 12:52:00.000000000 +0200 +++ "new/meson-0.51.1/test cases/rust/3 staticlib/installed_files.txt" 2019-06-27 18:43:00.000000000 +0200 @@ -1,2 +1,3 @@ usr/bin/prog?exe +?msvc:usr/bin/prog.pdb usr/lib/libstuff.rlib diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/rust/4 polyglot/installed_files.txt" "new/meson-0.51.1/test cases/rust/4 polyglot/installed_files.txt" --- "old/meson-0.51.0/test cases/rust/4 polyglot/installed_files.txt" 2017-07-21 22:07:34.000000000 +0200 +++ "new/meson-0.51.1/test cases/rust/4 polyglot/installed_files.txt" 2019-06-27 18:43:00.000000000 +0200 @@ -1,2 +1,7 @@ usr/bin/prog?exe -usr/lib/libstuff.so +?msvc:usr/bin/prog.pdb +?gcc:usr/lib/libstuff.so +?msvc:usr/bin/stuff.dll +?msvc:usr/lib/stuff.dll.lib +?msvc:usr/bin/stuff.pdb + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/rust/5 polyglot static/installed_files.txt" "new/meson-0.51.1/test cases/rust/5 polyglot static/installed_files.txt" --- "old/meson-0.51.0/test cases/rust/5 polyglot static/installed_files.txt" 2017-07-21 22:07:34.000000000 +0200 +++ "new/meson-0.51.1/test cases/rust/5 polyglot static/installed_files.txt" 2019-06-27 18:43:00.000000000 +0200 @@ -1,2 +1,3 @@ usr/bin/prog?exe +?msvc:usr/bin/prog.pdb usr/lib/libstuff.a diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/rust/6 named staticlib/installed_files.txt" "new/meson-0.51.1/test cases/rust/6 named staticlib/installed_files.txt" --- "old/meson-0.51.0/test cases/rust/6 named staticlib/installed_files.txt" 2017-07-22 18:05:44.000000000 +0200 +++ "new/meson-0.51.1/test cases/rust/6 named staticlib/installed_files.txt" 2019-06-27 18:43:00.000000000 +0200 @@ -1,2 +1,3 @@ usr/bin/prog?exe +?msvc:usr/bin/prog.pdb usr/lib/libnamed_stuff.rlib diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/meson-0.51.0/test cases/rust/7 private crate collision/installed_files.txt" "new/meson-0.51.1/test cases/rust/7 private crate collision/installed_files.txt" --- "old/meson-0.51.0/test cases/rust/7 private crate collision/installed_files.txt" 2018-08-25 10:05:43.000000000 +0200 +++ "new/meson-0.51.1/test cases/rust/7 private crate collision/installed_files.txt" 2019-06-27 18:43:00.000000000 +0200 @@ -1,2 +1,3 @@ usr/bin/prog?exe +?msvc:usr/bin/prog.pdb usr/lib/librand.rlib