summaryrefslogtreecommitdiff
path: root/Build/source/libs/harfbuzz/harfbuzz-src/src/gen-ragel-artifacts.py
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/harfbuzz/harfbuzz-src/src/gen-ragel-artifacts.py')
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/src/gen-ragel-artifacts.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/gen-ragel-artifacts.py b/Build/source/libs/harfbuzz/harfbuzz-src/src/gen-ragel-artifacts.py
new file mode 100644
index 00000000000..b60ec3bff58
--- /dev/null
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/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 = shutil.which ('ragel')
+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[1]
+CURRENT_SOURCE_DIR = sys.argv[2]
+INPUT = sys.argv[3]
+
+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 ()
+
+# copy it also to src/
+shutil.copyfile (os.path.join (outdir, hh), os.path.join (CURRENT_SOURCE_DIR, hh))