606f1a2
diff -uNr angelscript-2.31.1.orig/sdk/angelscript/projects/meson/detect_ver.py angelscript-2.31.1/sdk/angelscript/projects/meson/detect_ver.py
606f1a2
--- angelscript-2.31.1.orig/sdk/angelscript/projects/meson/detect_ver.py	2015-05-21 23:01:38.000000000 +0200
606f1a2
+++ angelscript-2.31.1/sdk/angelscript/projects/meson/detect_ver.py	2016-06-27 10:39:52.288537225 +0200
606f1a2
@@ -1,5 +1,17 @@
606f1a2
+import argparse
606f1a2
+import os
606f1a2
 import re
606f1a2
-with open('../../include/angelscript.h') as f:
606f1a2
-    for l in f.readlines():
606f1a2
-        if l.startswith('#define ANGELSCRIPT_VERSION_STRING'):
606f1a2
-            print(re.search('[\d]+\.[\d]+\.[\d]+', l).group(0))
606f1a2
+
606f1a2
+if __name__ == "__main__":
606f1a2
+    parser = argparse.ArgumentParser()
606f1a2
+    parser.add_argument("--major", action="store_true")
606f1a2
+    args = parser.parse_args()
606f1a2
+    hdr = os.path.join(os.path.dirname(os.path.abspath(__file__)),
606f1a2
+                       "..", "..", "include", "angelscript.h")
606f1a2
+    count = 2 if args.major else 3
606f1a2
+    regex = re.compile(r"\.".join(count * [r"[\d]+"]))
606f1a2
+    with open(hdr, "r") as f:
606f1a2
+        for l in f.readlines():
606f1a2
+            if l.startswith('#define ANGELSCRIPT_VERSION_STRING'):
606f1a2
+                print(re.search(regex, l).group(0))
606f1a2
+                break
606f1a2
diff -uNr angelscript-2.31.1.orig/sdk/angelscript/projects/meson/meson.build angelscript-2.31.1/sdk/angelscript/projects/meson/meson.build
606f1a2
--- angelscript-2.31.1.orig/sdk/angelscript/projects/meson/meson.build	2015-05-21 23:02:54.000000000 +0200
606f1a2
+++ angelscript-2.31.1/sdk/angelscript/projects/meson/meson.build	2016-06-27 10:39:52.293537384 +0200
606f1a2
@@ -1,9 +1,13 @@
606f1a2
-project('angelscript', 'cpp', 'c')
606f1a2
+project('angelscript', 'cpp', 'c',
606f1a2
+        version : run_command(find_program('python3'), 'detect_ver.py').stdout().strip(),
606f1a2
+        meson_version : '>0.28.0',
606f1a2
+        license : 'zlib')
606f1a2
 
606f1a2
 arch = run_command('uname', '-p').stdout().strip()
606f1a2
-version = run_command(find_program('python3'), 'detect_ver.py').stdout().strip()
606f1a2
+major_version = run_command(find_program('python3'), 'detect_ver.py', '--major').stdout().strip()
606f1a2
+threads = dependency('threads')
606f1a2
 
606f1a2
-srcs = [
606f1a2
+angel_srcs = [
606f1a2
   '../../source/as_atomic.cpp',
606f1a2
   '../../source/as_builder.cpp',
606f1a2
   '../../source/as_bytecode.cpp',
606f1a2
@@ -42,18 +46,21 @@
606f1a2
   '../../source/as_variablescope.cpp',
606f1a2
 ]
606f1a2
 if arch == 'armv7l'
606f1a2
-  srcs = srcs + [
606f1a2
-    '../../source/as_callfunc_arm.cpp',
606f1a2
-    '../../source/as_callfunc_arm_gcc.S'
606f1a2
-  ]
606f1a2
+  angel_srcs += ['../../source/as_callfunc_arm_gcc.S']
606f1a2
 endif
606f1a2
+angelscript_inc = include_directories('../../include/')
606f1a2
 
606f1a2
-shared_library(
606f1a2
-  'angelscript',
606f1a2
-  sources : srcs,
606f1a2
+angelscript_lib = library('angelscript', angel_srcs,
606f1a2
+  dependencies : threads,
606f1a2
   install : true,
606f1a2
-  soversion : '0',
606f1a2
-  version : version,
606f1a2
+  soversion : major_version,
606f1a2
+  version : meson.project_version()
606f1a2
 )
606f1a2
 
606f1a2
 install_headers('../../include/angelscript.h')
606f1a2
+
606f1a2
+angelscript_dep = declare_dependency(
606f1a2
+  link_with : angelscript_lib,
606f1a2
+  include_directories : angelscript_inc,
606f1a2
+  version : meson.project_version()
606f1a2
+)