xref: /aosp_15_r20/external/skia/bin/activate-emsdk (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker#!/usr/bin/env python3
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Worker# Copyright 2022 Google LLC
4*c8dee2aaSAndroid Build Coastguard Worker#
5*c8dee2aaSAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
6*c8dee2aaSAndroid Build Coastguard Worker# found in the LICENSE file.
7*c8dee2aaSAndroid Build Coastguard Worker
8*c8dee2aaSAndroid Build Coastguard Workerimport os
9*c8dee2aaSAndroid Build Coastguard Workerimport subprocess
10*c8dee2aaSAndroid Build Coastguard Workerimport sys
11*c8dee2aaSAndroid Build Coastguard Workerimport sysconfig
12*c8dee2aaSAndroid Build Coastguard Worker
13*c8dee2aaSAndroid Build Coastguard WorkerEMSDK_ROOT = os.path.join('third_party', 'externals', 'emsdk')
14*c8dee2aaSAndroid Build Coastguard Worker
15*c8dee2aaSAndroid Build Coastguard WorkerEMSDK_PATH = os.path.join(EMSDK_ROOT, 'emsdk.py')
16*c8dee2aaSAndroid Build Coastguard Worker
17*c8dee2aaSAndroid Build Coastguard WorkerEMSDK_VERSION = '3.1.44'
18*c8dee2aaSAndroid Build Coastguard Worker
19*c8dee2aaSAndroid Build Coastguard Workerdef main():
20*c8dee2aaSAndroid Build Coastguard Worker    if sysconfig.get_platform() in ['linux-aarch64', 'linux-arm64']:
21*c8dee2aaSAndroid Build Coastguard Worker        # This platform cannot install emsdk at the provided version. See
22*c8dee2aaSAndroid Build Coastguard Worker        # https://github.com/emscripten-core/emsdk/blob/main/emscripten-releases-tags.json#L5
23*c8dee2aaSAndroid Build Coastguard Worker        # for the latest version
24*c8dee2aaSAndroid Build Coastguard Worker        return
25*c8dee2aaSAndroid Build Coastguard Worker    try:
26*c8dee2aaSAndroid Build Coastguard Worker        subprocess.check_call([sys.executable, EMSDK_PATH, 'install', "--permanent", EMSDK_VERSION])
27*c8dee2aaSAndroid Build Coastguard Worker    except subprocess.CalledProcessError:
28*c8dee2aaSAndroid Build Coastguard Worker        print ('Failed to install emsdk')
29*c8dee2aaSAndroid Build Coastguard Worker        return 1
30*c8dee2aaSAndroid Build Coastguard Worker    try:
31*c8dee2aaSAndroid Build Coastguard Worker        subprocess.check_call([sys.executable, EMSDK_PATH, 'activate', "--permanent", EMSDK_VERSION])
32*c8dee2aaSAndroid Build Coastguard Worker    except subprocess.CalledProcessError:
33*c8dee2aaSAndroid Build Coastguard Worker        print ('Failed to activate emsdk')
34*c8dee2aaSAndroid Build Coastguard Worker        return 1
35*c8dee2aaSAndroid Build Coastguard Worker
36*c8dee2aaSAndroid Build Coastguard Worker
37*c8dee2aaSAndroid Build Coastguard Workerif __name__ == '__main__':
38*c8dee2aaSAndroid Build Coastguard Worker  sys.exit(main())
39