xref: /aosp_15_r20/external/harfbuzz_ng/test/shape/data/aots/update.py (revision 2d1272b857b1f7575e6e246373e1cb218663db8a)
1#!/usr/bin/env python3
2
3import sys, os, subprocess, shutil
4
5os.chdir (os.getenv ('srcdir', os.path.dirname (__file__)))
6
7git = shutil.which ('git'); assert git
8make = shutil.which ('make'); assert make
9java = shutil.which ('java'); assert java
10cxx = shutil.which ('c++'); assert cxx
11
12pull = False
13if not os.path.exists ('aots'):
14	subprocess.run ([git, 'clone', 'https://github.com/adobe-type-tools/aots'], check=True)
15	pull = True
16
17if pull or 'pull' in sys.argv:
18	subprocess.run ([git, 'pull'], cwd='aots', check=True)
19	subprocess.run ([make, '-C', 'aots'], check=True)
20	subprocess.run ([make, '-C', 'aots/harfbuzz'], check=True)
21
22shutil.copy ('hb-aots-tester.cpp', 'aots/harfbuzz')
23# TODO: remove *nix assumptions
24subprocess.run ([cxx, '-std=c++11', '-Wno-narrowing', 'aots/harfbuzz/hb-aots-tester.cpp',
25	'../../../../src/harfbuzz.cc', '-DHB_NO_MT', '-fno-exceptions', '-lm',
26	'-I../../../../src', '-o', 'aots/harfbuzz/aots'], check=True)
27shutil.rmtree ('tests')
28os.mkdir ('tests')
29subprocess.run (['./aots'], cwd='aots/harfbuzz', check=True)
30