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