setup.py
changeset 42459 85041e2b69c7
parent 42458 8ee0fdf3b087
child 42767 624d86262e14
equal deleted inserted replaced
42458:8ee0fdf3b087 42459:85041e2b69c7
  1193             # Unix only fix (os.path.expanduser not really reliable if
  1193             # Unix only fix (os.path.expanduser not really reliable if
  1194             # HOME is shadowed like this)
  1194             # HOME is shadowed like this)
  1195             import pwd
  1195             import pwd
  1196             env['HOME'] = pwd.getpwuid(os.getuid()).pw_dir
  1196             env['HOME'] = pwd.getpwuid(os.getuid()).pw_dir
  1197 
  1197 
  1198         cargocmd = ['cargo', 'build', '-vv', '--release']
  1198         cargocmd = ['cargo', 'rustc', '-vv', '--release']
  1199         if sys.version_info[0] == 3 and self.py3_features is not None:
  1199         if sys.version_info[0] == 3 and self.py3_features is not None:
  1200             cargocmd.extend(('--features', self.py3_features,
  1200             cargocmd.extend(('--features', self.py3_features,
  1201                              '--no-default-features'))
  1201                              '--no-default-features'))
       
  1202         cargocmd.append('--')
  1202         if sys.platform == 'darwin':
  1203         if sys.platform == 'darwin':
  1203             env['RUSTFLAGS'] = ("-C link-arg=-undefined "
  1204             cargocmd.extend(("-C", "link-arg=-undefined",
  1204                                 "-C link-arg=dynamic_lookup")
  1205                              "-C", "link-arg=dynamic_lookup"))
  1205         try:
  1206         try:
  1206             subprocess.check_call(cargocmd, env=env, cwd=self.rustsrcdir)
  1207             subprocess.check_call(cargocmd, env=env, cwd=self.rustsrcdir)
  1207         except OSError as exc:
  1208         except OSError as exc:
  1208             if exc.errno == errno.ENOENT:
  1209             if exc.errno == errno.ENOENT:
  1209                 raise RustCompilationError("Cargo not found")
  1210                 raise RustCompilationError("Cargo not found")