1*2d1272b8SAndroid Build Coastguard Worker#!/usr/bin/env python3 2*2d1272b8SAndroid Build Coastguard Worker 3*2d1272b8SAndroid Build Coastguard Worker"This tool is intended to be used from meson" 4*2d1272b8SAndroid Build Coastguard Worker 5*2d1272b8SAndroid Build Coastguard Workerimport os, os.path, sys, subprocess, shutil 6*2d1272b8SAndroid Build Coastguard Worker 7*2d1272b8SAndroid Build Coastguard Workerragel = sys.argv[1] 8*2d1272b8SAndroid Build Coastguard Workerif not ragel: 9*2d1272b8SAndroid Build Coastguard Worker sys.exit ('You have to install ragel if you are going to develop HarfBuzz itself') 10*2d1272b8SAndroid Build Coastguard Worker 11*2d1272b8SAndroid Build Coastguard Workerif len (sys.argv) < 4: 12*2d1272b8SAndroid Build Coastguard Worker sys.exit (__doc__) 13*2d1272b8SAndroid Build Coastguard Worker 14*2d1272b8SAndroid Build Coastguard WorkerOUTPUT = sys.argv[2] 15*2d1272b8SAndroid Build Coastguard WorkerCURRENT_SOURCE_DIR = sys.argv[3] 16*2d1272b8SAndroid Build Coastguard WorkerINPUT = sys.argv[4] 17*2d1272b8SAndroid Build Coastguard Worker 18*2d1272b8SAndroid Build Coastguard Workeroutdir = os.path.dirname (OUTPUT) 19*2d1272b8SAndroid Build Coastguard Workershutil.copy (INPUT, outdir) 20*2d1272b8SAndroid Build Coastguard Workerrl = os.path.basename (INPUT) 21*2d1272b8SAndroid Build Coastguard Workerhh = rl.replace ('.rl', '.hh') 22*2d1272b8SAndroid Build Coastguard Workersubprocess.Popen (ragel.split() + ['-e', '-F1', '-o', hh, rl], cwd=outdir).wait () 23*2d1272b8SAndroid Build Coastguard Worker 24*2d1272b8SAndroid Build Coastguard Worker# copy it also to src/ 25*2d1272b8SAndroid Build Coastguard Workershutil.copyfile (os.path.join (outdir, hh), os.path.join (CURRENT_SOURCE_DIR, hh)) 26