[gn build] Download prebuilt mac-arm64 binary now that it exists
authorNico Weber <thakis@chromium.org>
Wed, 25 Nov 2020 17:08:10 +0000 (12:08 -0500)
committerNico Weber <thakis@chromium.org>
Wed, 25 Nov 2020 17:08:48 +0000 (12:08 -0500)
Sadly requires an ugly workaround for an ugly bug, but still nicer than
building locally.

llvm/utils/gn/get.py

index f778ab931bba3e25a8ecb362c8b113f4e3d00662..bb185c187783bbc243e363b330f55f43bfe983d1 100755 (executable)
@@ -47,21 +47,15 @@ def main():
     if not platform:
         print('no prebuilt binary for', sys.platform)
         return 1
-    if platform == 'mac-arm64':
-        print('no prebuilt mac-arm64 binaries yet. build it yourself with:')
-        print('  rm -rf /tmp/gn &&')
-        print('  pushd /tmp && git clone https://gn.googlesource.com/gn &&')
-        print('  cd gn && build/gen.py && ninja -C out gn && popd &&')
-        print('  mkdir -p llvm/utils/gn/bin/mac-arm64 &&')
-        print('  cp /tmp/gn/out/gn llvm/utils/gn/bin/mac-arm64')
-        return 1
-
     dirname = os.path.join(os.path.dirname(__file__), 'bin', platform)
     if not os.path.exists(dirname):
         os.makedirs(dirname)
 
     url = 'https://chrome-infra-packages.appspot.com/dl/gn/gn/%s/+/latest'
     gn = 'gn' + ('.exe' if sys.platform == 'win32' else '')
+    if platform == 'mac-arm64': # For https://openradar.appspot.com/FB8914243
+        try: os.remove(os.path.join(dirname, gn))
+        except OSError: pass
     download_and_unpack(url % platform, dirname, gn)
     set_executable_bit(os.path.join(dirname, gn))