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() +)