8446df726def3216fe317a3aa5d682b84b76af5d
[platform/upstream/harfbuzz.git] / test / shaping / data / aots / update.py
1 #!/usr/bin/env python3
2
3 import sys, os, subprocess, shutil
4
5 os.chdir (os.environ.get ('srcdir', os.path.dirname (__file__)))
6
7 git = shutil.which ('git'); assert git
8 make = shutil.which ('make'); assert make
9 java = shutil.which ('java'); assert java
10 gcc = shutil.which ('gcc'); assert gcc
11
12 pull = False
13 if not os.path.exists ('aots'):
14         subprocess.run ([git, 'clone', 'https://github.com/adobe-type-tools/aots'], check=True)
15         pull = True
16
17 if 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
22 shutil.copy ('hb-aots-tester.cpp', 'aots/harfbuzz')
23 # TODO: remove *nix assumptions
24 subprocess.run ([gcc, '-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)
27 shutil.rmtree ('tests')
28 os.mkdir ('tests')
29 subprocess.run (['./aots'], cwd='aots/harfbuzz', check=True)