summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2024-11-13 21:46:10 -0500
committerAndrew Opalach <andrew@akon.city> 2024-11-13 21:46:10 -0500
commit58d38d767442c83e31ae6dbaea7b1fc8ccb00633 (patch)
treeb5b6e3bb845bc7b18ff2fc41fe60ad09ad30537d
parent8c996a5b597bd1cd9c188a0e61eae1ff718c8ca2 (diff)
downloadcamu-58d38d767442c83e31ae6dbaea7b1fc8ccb00633.tar.gz
camu-58d38d767442c83e31ae6dbaea7b1fc8ccb00633.tar.bz2
camu-58d38d767442c83e31ae6dbaea7b1fc8ccb00633.zip
Cleanup build
Signed-off-by: Andrew Opalach <andrew@akon.city>
-rw-r--r--flake.nix1
-rw-r--r--meson.build35
-rw-r--r--src/buffer/meson.build5
-rw-r--r--src/codec/meson.build6
-rw-r--r--src/fruits/cmc/meson.build2
-rw-r--r--src/fruits/cmsrv/meson.build6
-rw-r--r--src/fruits/cmv/meson.build2
-rw-r--r--src/fruits/ctv/meson.build2
-rw-r--r--src/fruits/droid/ctv/app/src/main/AndroidManifest.xml6
-rw-r--r--src/libclient/meson.build2
-rw-r--r--src/libsink/meson.build11
-rw-r--r--src/mixer/meson.build2
-rw-r--r--src/render/meson.build2
-rw-r--r--src/screen/meson.build3
-rw-r--r--src/screen/screen.h2
-rw-r--r--src/server/meson.build5
-rw-r--r--src/sink/meson.build2
17 files changed, 56 insertions, 38 deletions
diff --git a/flake.nix b/flake.nix
index ed1a4e3..2166ae8 100644
--- a/flake.nix
+++ b/flake.nix
@@ -104,7 +104,6 @@
python-pkgs.certifi
python-pkgs.requests
python-pkgs.beautifulsoup4
- python-pkgs.python-creole
]))
perl
asciidoctor
diff --git a/meson.build b/meson.build
index e4bcfd9..1b4a0f9 100644
--- a/meson.build
+++ b/meson.build
@@ -20,20 +20,23 @@ akiyo_has_curl = akiyo.get_variable('akiyo_has_curl')
akiyo_has_mmap = akiyo.get_variable('akiyo_has_mmap')
common_deps = [alabaster.get_variable('alabaster'), akiyo.get_variable('akiyo')]
-if is_linux
- window = 'window=wayland'
-elif is_android
- window = 'window=glfm'
-else
- window = 'window=glfw'
+no_video = meson.is_subproject()
+if not no_video
+ if is_linux
+ window = 'window=wayland'
+ elif is_android
+ window = 'window=glfm'
+ else
+ window = 'window=glfw'
+ endif
+ stela = subproject('stela', default_options: [
+ get_option('sink-use-vulkan') ? 'api=vulkan' : 'api=opengl',
+ window,
+ 'poll=inline',
+ 'event-buffer=false',
+ 'pause=true'
+ ]).get_variable('stela')
endif
-stela = subproject('stela', default_options: [
- get_option('sink-use-vulkan') ? 'api=vulkan' : 'api=opengl',
- window,
- 'poll=inline',
- 'event-buffer=false',
- 'pause=true'
-]).get_variable('stela')
subdir('src/util')
common_deps += [util]
@@ -63,8 +66,10 @@ endif
if get_option('sink').enabled()
subdir('src/buffer')
subdir('src/mixer')
- subdir('src/render')
- subdir('src/screen')
+ if not no_video
+ subdir('src/render')
+ subdir('src/screen')
+ endif
subdir('src/libsink')
subdir('src/sink')
if not meson.is_subproject()
diff --git a/src/buffer/meson.build b/src/buffer/meson.build
index a3538f1..debef54 100644
--- a/src/buffer/meson.build
+++ b/src/buffer/meson.build
@@ -1,11 +1,8 @@
buffer_src = ['audio.c', 'clock.c', 'peak_buffer.c']
-buffer_deps = [common_deps]
+buffer_deps = []
buffer_args = []
-no_video = meson.is_subproject()
if not no_video
buffer_src += ['video.c']
-else
- buffer_args += ['-DCAMU_SINK_NO_VIDEO']
endif
buffer = declare_dependency(sources: buffer_src,
dependencies: buffer_deps, compile_args: buffer_args)
diff --git a/src/codec/meson.build b/src/codec/meson.build
index fa5ff9a..2a72b55 100644
--- a/src/codec/meson.build
+++ b/src/codec/meson.build
@@ -77,4 +77,8 @@ if get_option('codecs').contains('wuffs')
codec_deps += [wuffs_codec]
endif
-codecs = declare_dependency(dependencies: [stela, codec_deps])
+if not no_video
+ codec_deps += [stela]
+endif
+
+codecs = declare_dependency(dependencies: codec_deps)
diff --git a/src/fruits/cmc/meson.build b/src/fruits/cmc/meson.build
index 4cbe553..6f79b78 100644
--- a/src/fruits/cmc/meson.build
+++ b/src/fruits/cmc/meson.build
@@ -1,5 +1,5 @@
cmc_src = ['cmc.c']
-cmc_deps = [libclient]
+cmc_deps = [common_deps, libclient]
cmc_args = []
if get_option('portal').enabled()
diff --git a/src/fruits/cmsrv/meson.build b/src/fruits/cmsrv/meson.build
index ee8eb91..1ace2c2 100644
--- a/src/fruits/cmsrv/meson.build
+++ b/src/fruits/cmsrv/meson.build
@@ -1,11 +1,7 @@
cmsrv_src = ['cmsrv.c']
-cmsrv_deps = [server]
+cmsrv_deps = [common_deps, server]
cmsrv_args = []
-if get_option('portal').enabled()
- cmsrv_deps += [portal]
-endif
-
use_tui = true
if use_tui
cmsrv_src += ['ui.c']
diff --git a/src/fruits/cmv/meson.build b/src/fruits/cmv/meson.build
index ba571c3..bdb7d85 100644
--- a/src/fruits/cmv/meson.build
+++ b/src/fruits/cmv/meson.build
@@ -1,5 +1,5 @@
cmv_src = ['cmv.c']
-cmv_deps = [desktop]
+cmv_deps = [common_deps, desktop]
cmv_args = []
if get_option('sink-only')
cmv_args += ['-DCAMU_SINK_ONLY']
diff --git a/src/fruits/ctv/meson.build b/src/fruits/ctv/meson.build
index c06cec3..dff208d 100644
--- a/src/fruits/ctv/meson.build
+++ b/src/fruits/ctv/meson.build
@@ -1,5 +1,5 @@
ctv_src = ['ctv.c']
-ctv_deps = [common_deps, buffer, render, screen, mixer, libsink]
+ctv_deps = [common_deps, libsink]
ctv_args = ['-DCAMU_MIXER_THREADED', '-DCAMU_SCREEN_THREADED']
# https://github.com/google/ExoPlayer/issues/9933#issuecomment-1029775358
diff --git a/src/fruits/droid/ctv/app/src/main/AndroidManifest.xml b/src/fruits/droid/ctv/app/src/main/AndroidManifest.xml
index 4393ee9..00f96c1 100644
--- a/src/fruits/droid/ctv/app/src/main/AndroidManifest.xml
+++ b/src/fruits/droid/ctv/app/src/main/AndroidManifest.xml
@@ -1,8 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
+ <uses-feature android:name="android.software.leanback"
+ android:required="false" />
+ <uses-feature android:name="android.hardware.touchscreen"
+ android:required="false" />
<application
android:allowBackup="true"
+ android:banner="@mipmap/ic_launcher"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:hasCode="false"
@@ -18,6 +23,7 @@
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
+ <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
</activity>
</application>
diff --git a/src/libclient/meson.build b/src/libclient/meson.build
index 197f0ff..cb0ae2b 100644
--- a/src/libclient/meson.build
+++ b/src/libclient/meson.build
@@ -1,3 +1,3 @@
libclient_src = ['client.c']
-libclient_deps = [common_deps]
+libclient_deps = []
libclient = declare_dependency(sources: libclient_src, dependencies: libclient_deps)
diff --git a/src/libsink/meson.build b/src/libsink/meson.build
index adc06d2..7f2d1d4 100644
--- a/src/libsink/meson.build
+++ b/src/libsink/meson.build
@@ -1,3 +1,10 @@
libsink_src = ['sink.c']
-libsink_deps = [liana_client]
-libsink = declare_dependency(sources: libsink_src, dependencies: libsink_deps)
+libsink_deps = [buffer, mixer, liana_client]
+libsink_args = []
+if not no_video
+ libsink_deps += [screen]
+else
+ libsink_args += ['-DCAMU_SINK_NO_VIDEO']
+endif
+libsink = declare_dependency(sources: libsink_src, dependencies: libsink_deps,
+ compile_args: libsink_args)
diff --git a/src/mixer/meson.build b/src/mixer/meson.build
index 7adc75c..c09f779 100644
--- a/src/mixer/meson.build
+++ b/src/mixer/meson.build
@@ -1,5 +1,5 @@
mixer_src = ['mixer.c', 'audio_null.c']
-mixer_deps = [common_deps]
+mixer_deps = []
mixer_args = []
use_miniaudio = true
diff --git a/src/render/meson.build b/src/render/meson.build
index 1b6fd71..74d323e 100644
--- a/src/render/meson.build
+++ b/src/render/meson.build
@@ -1,5 +1,5 @@
render_src = []
-render_deps = [common_deps]
+render_deps = []
render_args = []
if get_option('renderer') == 'tiger'
diff --git a/src/screen/meson.build b/src/screen/meson.build
index 9c01566..d1118c5 100644
--- a/src/screen/meson.build
+++ b/src/screen/meson.build
@@ -1,2 +1,3 @@
screen_src = ['screen.c', 'view.c']
-screen = declare_dependency(sources: screen_src, dependencies: [stela])
+screen_deps = [stela, render]
+screen = declare_dependency(sources: screen_src, dependencies: screen_deps)
diff --git a/src/screen/screen.h b/src/screen/screen.h
index bfb2dd3..b81b5e5 100644
--- a/src/screen/screen.h
+++ b/src/screen/screen.h
@@ -1,8 +1,8 @@
#pragma once
#include <al/array.h>
-#ifdef CAMU_SCREEN_THREADED
#include <al/atomic.h>
+#ifdef CAMU_SCREEN_THREADED
#include <aki/thread.h>
#endif
#include <stl/window.h>
diff --git a/src/server/meson.build b/src/server/meson.build
index 88f80c0..ab100e1 100644
--- a/src/server/meson.build
+++ b/src/server/meson.build
@@ -4,5 +4,8 @@ server_src = [
'user.c',
'db.c',
]
-server_deps = [common_deps, cache, liana_server]
+server_deps = [cache, liana_server]
+if get_option('portal').enabled()
+ server_deps += [portal]
+endif
server = declare_dependency(sources: server_src, dependencies: server_deps)
diff --git a/src/sink/meson.build b/src/sink/meson.build
index bd7b3f0..73a9276 100644
--- a/src/sink/meson.build
+++ b/src/sink/meson.build
@@ -1,5 +1,5 @@
desktop_src = ['desktop.c']
-desktop_deps = [common_deps, buffer, render, screen, mixer, libsink]
+desktop_deps = [libsink]
desktop_args = ['-DCAMU_MIXER_THREADED', '-DCAMU_SCREEN_THREADED']
desktop = declare_dependency(sources: desktop_src, dependencies: desktop_deps,
compile_args: desktop_args)