summaryrefslogtreecommitdiff
path: root/meta-raspberrypi/dynamic-layers/multimedia-layer/recipes-multimedia/rpidistro-vlc/files/0006-Use-packageconfig-to-detect-mmal-support.patch
blob: 3a2ac236c0312bd751c543fbaa780711b44c28c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
From: Vincent Davis Jr <vince@underview.tech>
Date: Fri, 07 Jan 2022 07:10:47 PM CST
Subject: [PATCH] Use packageconfig to acquire mmal flags

Need to use userland graphics libraries package files as it's best to not assume /opt/vc is where
all libs and headers are installed per distro. Also, needed to include $BCMHOST_MMAL_LIBS variable as
AC_CHECK_LIB(bcm_host) fails to find `vc_tv_unregister_callback_full`. Adding $BCMHOST_MMAL_LIBS uses all
libs inside bcm_host,mmal,vcsm,openmaxil .pc files when checking for `vc_tv_unregister_callback_full`
function.

Upstream-status: Pending

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
diff --git a/configure.ac b/configure.ac
index bff220510..4d487409d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3483,23 +3483,25 @@ AC_ARG_ENABLE(mmal_avcodec,
     [Use MMAL enabled avcodec libs (default disable)]))
 if test "${enable_mmal}" != "no"; then
   VLC_SAVE_FLAGS
-  LDFLAGS="${LDFLAGS} -L/opt/vc/lib -lvchostif"
-  CPPFLAGS="${CPPFLAGS} -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux"
-  AC_CHECK_HEADERS(interface/mmal/mmal.h,
-    [ AC_CHECK_LIB(bcm_host, vc_tv_unregister_callback_full, [
+  PKG_CHECK_MODULES(BCMHOST_MMAL, [bcm_host mmal vcsm openmaxil egl], [
+    HAVE_MMAL=yes
+    AC_CHECK_HEADERS(interface/mmal/mmal.h,
+      [ AC_CHECK_LIB(bcm_host $BCMHOST_MMAL_LIBS, vc_tv_unregister_callback_full, [
         have_mmal="yes"
-        VLC_ADD_PLUGIN([mmal])
-        VLC_ADD_LDFLAGS([mmal],[ -L/opt/vc/lib ])
-        VLC_ADD_CFLAGS([mmal],[ -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux ])
-        VLC_ADD_LIBS([mmal],[ -lbcm_host -lmmal -lmmal_core -lmmal_components -lmmal_util -lvchostif -lvchiq_arm -lvcsm ]) ], [
+        VLC_ADD_PLUGIN([bcm_host mmal vcsm openmaxil egl])
+        VLC_ADD_CFLAGS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_CFLAGS])
+        VLC_ADD_LIBS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_LIBS]) ], [
           AS_IF([test "${enable_mmal}" = "yes"],
             [ AC_MSG_ERROR([Cannot find bcm library...]) ],
             [ AC_MSG_WARN([Cannot find bcm library...]) ])
-          ],
-        [])
-    ] , [ AS_IF([test "${enable_mmal}" = "yes"],
-      [ AC_MSG_ERROR([Cannot find development headers for mmal...]) ],
-      [ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ])
+        ],[])
+      ],[ AS_IF([test "${enable_mmal}" = "yes"],
+        [ AC_MSG_ERROR([Cannot find development headers for mmal...]) ],
+        [ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ])
+  ],:[
+    AC_MSG_WARN([${BCMHOST_PKG_ERRORS}: userland graphics not available.])
+    HAVE_MMAL=no
+  ])
   VLC_RESTORE_FLAGS
 fi
 AM_CONDITIONAL([HAVE_MMAL], [test "${have_mmal}" = "yes"])