diff options
author | xylosper <darklin20@gmail.com> | 2014-06-16 18:22:46 +0900 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-06-16 18:02:50 +0200 |
commit | 858d6d93cb3faea7afb347e805f98d52ff5ac12c (patch) | |
tree | 4972e65bb91c9fb252ef8dba0c2108584b765fd3 /wscript_build.py | |
parent | ae1b1a68cb1a7bdfc2ce88d5133e1010a0c2d054 (diff) | |
download | mpv-858d6d93cb3faea7afb347e805f98d52ff5ac12c.tar.bz2 mpv-858d6d93cb3faea7afb347e805f98d52ff5ac12c.tar.xz |
build: add '--enable-libmpv-static' option
Signed-off-by: wm4 <wm4@nowhere>
Diffstat (limited to 'wscript_build.py')
-rw-r--r-- | wscript_build.py | 40 |
1 files changed, 27 insertions, 13 deletions
diff --git a/wscript_build.py b/wscript_build.py index d2d514419b..e2d7c9e894 100644 --- a/wscript_build.py +++ b/wscript_build.py @@ -439,8 +439,11 @@ def build(ctx): **cprog_kwargs ) - if ctx.dependency_satisfied('libmpv-shared'): - ctx.load("syms") + build_shared = ctx.dependency_satisfied('libmpv-shared') + build_static = ctx.dependency_satisfied('libmpv-static') + if build_shared or build_static: + if build_shared: + ctx.load("syms") vnum = int(re.search('^#define MPV_CLIENT_API_VERSION 0x(.*)UL$', ctx.path.find_node("libmpv/client.h").read(), re.M) @@ -448,17 +451,28 @@ def build(ctx): libversion = (str(vnum >> 24) + '.' + str((vnum >> 16) & 0xff) + '.' + str(vnum & 0xffff)) - ctx( - target = "mpv", - source = ctx.filtered_sources(sources), - use = ctx.dependencies_use(), - includes = [ctx.bldnode.abspath(), ctx.srcnode.abspath()] + \ - ctx.dependencies_includes(), - features = "c cshlib syms", - export_symbols_regex = 'mpv_.*', - install_path = ctx.env.LIBDIR, - vnum = libversion, - ) + + def _build_libmpv(shared): + features = "c " + if shared: + features += "cshlib syms" + else: + features += "cstlib" + ctx( + target = "mpv", + source = ctx.filtered_sources(sources), + use = ctx.dependencies_use(), + includes = [ctx.bldnode.abspath(), ctx.srcnode.abspath()] + \ + ctx.dependencies_includes(), + features = features, + export_symbols_regex = 'mpv_.*', + install_path = ctx.env.LIBDIR, + vnum = libversion, + ) + if build_shared: + _build_libmpv(True) + if build_static: + _build_libmpv(False) ctx( target = 'libmpv/mpv.pc', |