summaryrefslogtreecommitdiffstats
path: root/gfx/harfbuzz/src/gen-ragel-artifacts.py
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/harfbuzz/src/gen-ragel-artifacts.py')
-rwxr-xr-xgfx/harfbuzz/src/gen-ragel-artifacts.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/gfx/harfbuzz/src/gen-ragel-artifacts.py b/gfx/harfbuzz/src/gen-ragel-artifacts.py
new file mode 100755
index 0000000000..8bbb375bfb
--- /dev/null
+++ b/gfx/harfbuzz/src/gen-ragel-artifacts.py
@@ -0,0 +1,25 @@
+#!/usr/bin/env python3
+
+"This tool is intended to be used from meson"
+
+import os, os.path, sys, subprocess, shutil
+
+ragel = sys.argv[1]
+if not ragel:
+ sys.exit ('You have to install ragel if you are going to develop HarfBuzz itself')
+
+if len (sys.argv) < 4:
+ sys.exit (__doc__)
+
+OUTPUT = sys.argv[2]
+CURRENT_SOURCE_DIR = sys.argv[3]
+INPUT = sys.argv[4]
+
+outdir = os.path.dirname (OUTPUT)
+shutil.copy (INPUT, outdir)
+rl = os.path.basename (INPUT)
+hh = rl.replace ('.rl', '.hh')
+subprocess.Popen (ragel.split() + ['-e', '-F1', '-o', hh, rl], cwd=outdir).wait ()
+
+# copy it also to src/
+shutil.copyfile (os.path.join (outdir, hh), os.path.join (CURRENT_SOURCE_DIR, hh))