summaryrefslogtreecommitdiff
path: root/subprojects/macos-bison-binary/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/macos-bison-binary/meson.build')
-rw-r--r--subprojects/macos-bison-binary/meson.build28
1 files changed, 28 insertions, 0 deletions
diff --git a/subprojects/macos-bison-binary/meson.build b/subprojects/macos-bison-binary/meson.build
new file mode 100644
index 0000000..7a1680f
--- /dev/null
+++ b/subprojects/macos-bison-binary/meson.build
@@ -0,0 +1,28 @@
+project('win-flex-bison-binary', version : '3.7.6')
+
+py3 = import('python3').find_python()
+
+message('Downloading and extracting bison for macOS x64...')
+
+arch = host_machine.cpu_family()
+tar_hash = '932f91d7c7fa0121abc3e5f8e54a7234b03d3de468c254ab8063ff8e6eb92a09'
+if arch != 'x86_64'
+ warning('bison binary is untested on non-x86_64, please report whether this worked or not')
+ arch = 'x86_64'
+endif
+
+ret = run_command(py3, files('download-binary.py'), meson.project_version(), arch, tar_hash)
+if ret.returncode() != 0
+ message(ret.stdout())
+ error(ret.stderr())
+endif
+
+conf = configuration_data()
+conf.set('SRCDIR', meson.project_source_root())
+conf.set('EXTRACTDIR', ret.stdout())
+bison_py = configure_file(
+ input: 'bison.py.in',
+ output: 'bison.py',
+ configuration: conf)
+
+meson.override_find_program('bison', find_program(bison_py))