From patchwork Fri Jun 14 10:42:21 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [3,of,3] rust: switched to 'cargo rustc' in setup.py From: Georges Racinet X-Patchwork-Id: 40508 Message-Id: <1bd9227bf68db22ce48a.1560508941@ishtar> To: mercurial-devel@mercurial-scm.org Date: Fri, 14 Jun 2019 11:42:21 +0100 # HG changeset patch # User Georges Racinet # Date 1558045063 -7200 # Fri May 17 00:17:43 2019 +0200 # Node ID 1bd9227bf68db22ce48ab381c4d26d4c71edca42 # Parent 2cbfd089a1ce0ec46f9e124e0574e74491fa4788 # EXP-Topic rust-build-platforms rust: switched to 'cargo rustc' in setup.py This is more flexible in the passing of additional flags, also what setuptools_rust does, giving less uncertainty about non-Linux platforms. diff -r 2cbfd089a1ce -r 1bd9227bf68d setup.py --- a/setup.py Fri Jun 14 11:18:06 2019 +0100 +++ b/setup.py Fri May 17 00:17:43 2019 +0200 @@ -1195,13 +1195,14 @@ import pwd env['HOME'] = pwd.getpwuid(os.getuid()).pw_dir - cargocmd = ['cargo', 'build', '-vv', '--release'] + cargocmd = ['cargo', 'rustc', '-vv', '--release'] if sys.version_info[0] == 3 and self.py3_features is not None: cargocmd.extend(('--features', self.py3_features, '--no-default-features')) + cargocmd.append('--') if sys.platform == 'darwin': - env['RUSTFLAGS'] = ("-C link-arg=-undefined " - "-C link-arg=dynamic_lookup") + cargocmd.extend(("-C", "link-arg=-undefined", + "-C", "link-arg=dynamic_lookup")) try: subprocess.check_call(cargocmd, env=env, cwd=self.rustsrcdir) except OSError as exc: