summaryrefslogtreecommitdiffstats
path: root/wscript_build.py
diff options
context:
space:
mode:
authorxylosper <darklin20@gmail.com>2014-06-16 18:22:46 +0900
committerwm4 <wm4@nowhere>2014-06-16 18:02:50 +0200
commit858d6d93cb3faea7afb347e805f98d52ff5ac12c (patch)
tree4972e65bb91c9fb252ef8dba0c2108584b765fd3 /wscript_build.py
parentae1b1a68cb1a7bdfc2ce88d5133e1010a0c2d054 (diff)
downloadmpv-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.py40
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',