2020-04-21 09:49:16 +02:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
2020-07-04 09:34:41 +02:00
|
|
|
"This tool is intended to be used from meson"
|
|
|
|
|
2020-07-03 23:38:30 +02:00
|
|
|
import os, os.path, sys, subprocess, shutil, tempfile
|
2020-04-21 09:49:16 +02:00
|
|
|
|
|
|
|
ragel = shutil.which ('ragel')
|
|
|
|
if not ragel:
|
2020-07-04 12:15:15 +02:00
|
|
|
sys.exit ('You have to install ragel if you are going to develop HarfBuzz itself')
|
2020-05-23 19:43:32 +02:00
|
|
|
|
2020-07-03 23:38:30 +02:00
|
|
|
if len (sys.argv) < 4:
|
2020-07-04 12:15:15 +02:00
|
|
|
sys.exit (__doc__)
|
2020-05-23 19:43:32 +02:00
|
|
|
|
2020-07-03 23:38:30 +02:00
|
|
|
OUTPUT = sys.argv[1]
|
|
|
|
CURRENT_SOURCE_DIR = sys.argv[2]
|
|
|
|
INPUT = sys.argv[3]
|
2020-05-23 19:43:32 +02:00
|
|
|
|
2020-07-03 23:38:30 +02:00
|
|
|
outdir = os.path.dirname (OUTPUT)
|
|
|
|
shutil.copy (INPUT, outdir)
|
|
|
|
rl = os.path.basename (INPUT)
|
|
|
|
hh = rl.replace ('.rl', '.hh')
|
|
|
|
subprocess.Popen ([ragel, '-e', '-F1', '-o', hh, rl], cwd=outdir).wait ()
|
2020-05-23 19:43:32 +02:00
|
|
|
|
2020-07-03 23:38:30 +02:00
|
|
|
# copy it also to src/
|
|
|
|
shutil.copyfile (os.path.join (outdir, hh), os.path.join (CURRENT_SOURCE_DIR, hh))
|