skia2/gn/ar.py
Mike Klein 44b36a2104 GN: quiet alink spam on Mac
When building on Mac you see lots of spam about object files with no symbols when linking libskia.a.  This filters them out.

We have to do this in a Python script anyway, so I've consolidated into the existing gn/ar.py.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4447

Change-Id: I9b18051ba687ec1fcf464a87a8a5929d29c70f24
Reviewed-on: https://skia-review.googlesource.com/4447
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-11-07 14:19:32 +00:00

31 lines
803 B
Python

#!/usr/bin/env python
#
# Copyright 2016 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import os
import subprocess
import sys
# Equivalent to: rm -f $2 && $1 rcs $2 @$3
ar, output, rspfile = sys.argv[1:]
if os.path.exists(output):
os.remove(output)
if sys.platform != 'darwin':
sys.exit(subprocess.call([ar, "rcs", output, "@" + rspfile]))
# Mac ar doesn't support @rspfile syntax.
objects = open(rspfile).read().split()
# It also spams stderr with warnings about objects having no symbols.
pipe = subprocess.Popen([ar, "rcs", output] + objects, stderr=subprocess.PIPE)
_, err = pipe.communicate()
for line in err.splitlines():
if 'has no symbols' not in line:
sys.stderr.write(line + '\n')
sys.exit(pipe.returncode)