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>
diff --git a/gn/ar.py b/gn/ar.py
index dc3ae8d..c7ffb04 100644
--- a/gn/ar.py
+++ b/gn/ar.py
@@ -15,4 +15,16 @@
 
 if os.path.exists(output):
   os.remove(output)
-sys.exit(subprocess.call([ar, "rcs", output, "@" + rspfile]))
+
+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)