summaryrefslogtreecommitdiffstats
path: root/wscript_build.py
diff options
context:
space:
mode:
Diffstat (limited to 'wscript_build.py')
-rw-r--r--wscript_build.py62
1 files changed, 37 insertions, 25 deletions
diff --git a/wscript_build.py b/wscript_build.py
index 39c31fe697..e693161971 100644
--- a/wscript_build.py
+++ b/wscript_build.py
@@ -101,21 +101,35 @@ def build(ctx):
ctx(features = "ebml_header", target = "ebml_types.h")
ctx(features = "ebml_definitions", target = "ebml_defs.c")
- if ctx.env.DEST_OS == 'win32':
- main_fn_c = 'osdep/main-fn-win.c'
- elif ctx.dependency_satisfied('cocoa'):
- main_fn_c = 'osdep/main-fn-cocoa.c'
- else:
- main_fn_c = 'osdep/main-fn-unix.c'
-
- getch2_c = {
- 'win32': 'osdep/terminal-win.c',
- }.get(ctx.env.DEST_OS, "osdep/terminal-unix.c")
-
- timer_c = {
- 'win32': 'osdep/timer-win2.c',
- 'darwin': 'osdep/timer-darwin.c',
- }.get(ctx.env.DEST_OS, "osdep/timer-linux.c")
+ main_fn_c = ctx.pick_first_matching_dep([
+ ( "osdep/main-fn-win.c", "win32-desktop" ),
+ ( "osdep/main-fn-cocoa.c", "cocoa" ),
+ ( "osdep/main-fn-unix.c" ),
+ ])
+
+ getch2_c = ctx.pick_first_matching_dep([
+ ( "osdep/terminal-unix.c", "posix" ),
+ ( "osdep/terminal-win.c", "win32-desktop" ),
+ ( "osdep/terminal-dummy.c" ),
+ ])
+
+ timer_c = ctx.pick_first_matching_dep([
+ ( "osdep/timer-win2.c", "os-win32" ),
+ ( "osdep/timer-darwin.c", "os-darwin" ),
+ ( "osdep/timer-linux.c", "posix" ),
+ ])
+
+ ipc_c = ctx.pick_first_matching_dep([
+ ( "input/ipc-unix.c", "posix" ),
+ ( "input/ipc-win.c", "win32-desktop" ),
+ ( "input/ipc-dummy.c" ),
+ ])
+
+ subprocess_c = ctx.pick_first_matching_dep([
+ ( "osdep/subprocess-posix.c", "posix-spawn" ),
+ ( "osdep/subprocess-win.c", "win32-desktop" ),
+ ( "osdep/subprocess-dummy.c" ),
+ ])
sources = [
## Audio
@@ -208,10 +222,9 @@ def build(ctx):
( "input/event.c" ),
( "input/input.c" ),
( "input/ipc.c" ),
- ( "input/ipc-unix.c", "!mingw" ),
- ( "input/ipc-win.c", "mingw" ),
+ ( ipc_c ),
( "input/keycodes.c" ),
- ( "input/pipe-win32.c", "mingw" ),
+ ( "input/pipe-win32.c", "win32-pipes" ),
## Misc
( "misc/bstr.c" ),
@@ -312,7 +325,7 @@ def build(ctx):
( "video/vdpau.c", "vdpau" ),
( "video/vdpau_mixer.c", "vdpau" ),
( "video/vt.c", "videotoolbox-hwaccel" ),
- ( "video/decode/d3d.c", "win32" ),
+ ( "video/decode/d3d.c", "win32-desktop" ),
( "video/decode/dec_video.c"),
( "video/decode/hw_cuda.c", "cuda-hwaccel" ),
( "video/decode/hw_dxva2.c", "d3d-hwaccel" ),
@@ -402,9 +415,9 @@ def build(ctx):
( "video/out/vo_wayland.c", "wayland" ),
( "video/out/vo_x11.c" , "x11" ),
( "video/out/vo_xv.c", "xv" ),
- ( "video/out/w32_common.c", "win32" ),
- ( "video/out/win32/displayconfig.c", "win32" ),
- ( "video/out/win32/droptarget.c", "win32" ),
+ ( "video/out/w32_common.c", "win32-desktop" ),
+ ( "video/out/win32/displayconfig.c", "win32-desktop" ),
+ ( "video/out/win32/droptarget.c", "win32-desktop" ),
( "video/out/win32/exclusive_hack.c", "gl-win32" ),
( "video/out/wayland_common.c", "wayland" ),
( "video/out/wayland/buffer.c", "wayland" ),
@@ -426,8 +439,7 @@ def build(ctx):
( "osdep/macosx_touchbar.m", "macos-touchbar" ),
( "osdep/semaphore_osx.c" ),
( "osdep/subprocess.c" ),
- ( "osdep/subprocess-posix.c", "posix-spawn" ),
- ( "osdep/subprocess-win.c", "os-win32" ),
+ ( subprocess_c ),
( "osdep/path-macosx.m", "cocoa" ),
( "osdep/path-unix.c"),
( "osdep/path-win.c", "os-win32" ),
@@ -435,7 +447,7 @@ def build(ctx):
( "osdep/glob-win.c", "glob-win32" ),
( "osdep/w32_keyboard.c", "os-win32" ),
( "osdep/w32_keyboard.c", "os-cygwin" ),
- ( "osdep/windows_utils.c", "win32" ),
+ ( "osdep/windows_utils.c", "os-win32" ),
( "osdep/mpv.rc", "win32-executable" ),
( "osdep/win32/pthread.c", "win32-internal-pthreads"),
( "osdep/android/strnlen.c", "android"),