[vlc-commits] [Git][videolan/vlc][master] 5 commits: bin: meson: exclude android from bin generation

Steve Lhomme (@robUx4) gitlab at videolan.org
Fri Feb 21 15:07:53 UTC 2025



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
a94ae4b5 by Alexandre Janniaux at 2025-02-21T14:21:48+00:00
bin: meson: exclude android from bin generation

- - - - -
81b108b5 by Alexandre Janniaux at 2025-02-21T14:21:48+00:00
meson: exclude android for sys/shm.h detection

sys/shm.h is notoriously broken on android <= 26, cf android
documentation. Remove it until we have the android API level targeted
in the buildsystem.

Bionic says:

        /**
        * @file sys/shm.h
        * @brief System V shared memory. Not useful on Android because it's disallowed by SELinux.
        */

and defines the functions with the following guard:

        #if __BIONIC_AVAILABILITY_GUARD(26)

- - - - -
f6522f97 by Alexandre Janniaux at 2025-02-21T14:21:48+00:00
src: meson: add files for android

- - - - -
ce4be86d by Alexandre Janniaux at 2025-02-21T14:21:48+00:00
svg: fix include path to cairo.h

pkg-config --cflags cairo returns the path to the folder containing
cairo.h.

- - - - -
a7c5f2e0 by Alexandre Janniaux at 2025-02-21T14:21:48+00:00
codec: meson: fix missing ogg dependency for speex

- - - - -


6 changed files:

- bin/meson.build
- meson.build
- modules/codec/meson.build
- modules/codec/svg.c
- modules/text_renderer/svg.c
- src/meson.build


Changes:

=====================================
bin/meson.build
=====================================
@@ -1,7 +1,7 @@
 # Do we build the main VLC binary?
 build_vlc = get_option('vlc')
 
-if build_vlc and (host_system != 'darwin' or have_osx) and not have_win_store
+if build_vlc and (host_system != 'darwin' or have_osx) and not have_win_store and host_system != 'android'
     vlc_sources = []
 
     vlc_deps = [m_lib, dl_lib, threads_dep]


=====================================
meson.build
=====================================
@@ -260,7 +260,9 @@ check_c_headers = [
     ['sys/auxv.h'],
     ['sys/eventfd.h'],
     ['sys/mount.h', { 'prefix' : ['#include <sys/types.h>'] }],
-    ['sys/shm.h'],
+    # Android API < 26 doesn't have a correct sys/shm.h implementation
+    # Bionic >= 26 source code also says it's not useful because of SELinux.
+    ['sys/shm.h', { 'exclude_host': ['android'] }],
     ['sys/soundcard.h'],
     ['valgrind/valgrind.h'],
     ['X11/Xlib.h'],
@@ -277,6 +279,11 @@ check_cpp_headers = []
 
 foreach header : check_c_headers
     header_kwargs = header.get(1, {})
+
+    if host_system in header_kwargs.get('exclude_host', [])
+        continue
+    endif
+
     # TODO: Once we require meson 1.0, drop the array join here
     # See: https://github.com/mesonbuild/meson/pull/11099
     if cc.check_header(header[0],


=====================================
modules/codec/meson.build
=====================================
@@ -499,8 +499,8 @@ speex_dep = dependency('speex', version: '>= 1.0.5', required: get_option('speex
 vlc_modules += {
     'name' : 'speex',
     'sources' : files('speex.c'),
-    'dependencies' : [speex_dep],
-    'enabled' : speex_dep.found(),
+    'dependencies' : [speex_dep, ogg_dep],
+    'enabled' : speex_dep.found() and ogg_dep.found(),
 }
 
 # Vorbis codec


=====================================
modules/codec/svg.c
=====================================
@@ -37,7 +37,7 @@
 #include <glib-object.h>                                  /* g_object_unref( ) */
 
 #include <librsvg/rsvg.h>
-#include <cairo/cairo.h>
+#include <cairo.h>
 
 /*****************************************************************************
  * Local prototypes


=====================================
modules/text_renderer/svg.c
=====================================
@@ -42,7 +42,7 @@
 #include <glib/gstdio.h>
 #include <glib-object.h>                                  /* g_object_unref( ) */
 #include <librsvg/rsvg.h>
-#include <cairo/cairo.h>
+#include <cairo.h>
 
 /*****************************************************************************
  * Local prototypes


=====================================
src/meson.build
=====================================
@@ -375,6 +375,23 @@ elif host_system == 'linux'
     endif
 endif
 
+if host_system == 'android'
+    libvlccore_sources += [
+        'linux/cpu.c',
+        'linux/dirs.c',
+        'linux/thread.c',
+        'posix/filesystem.c',
+        'posix/plugin.c',
+        'posix/rand.c',
+        'posix/timer.c',
+
+
+        'android/error.c',
+        'android/specific.c',
+        'android/thread.c',
+    ]
+endif
+
 if get_option('update-check').allowed()
     if not gcrypt_dep.found()
         error('libgcrypt is required for update checking system')



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/a09e62aaddd0eb9fb331856b8099f3e94194fc50...a7c5f2e01b6c29845fc901bb1ee231be43ca09e2

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/a09e62aaddd0eb9fb331856b8099f3e94194fc50...a7c5f2e01b6c29845fc901bb1ee231be43ca09e2
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list