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


Reply via email to