1*517393d9SAndrew GeisslerFrom ddc2ea76058466b45a1acf37bed0d794cd3112a3 Mon Sep 17 00:00:00 2001
2*517393d9SAndrew GeisslerFrom: Vincent Davis Jr <vince@underview.tech>
3*517393d9SAndrew GeisslerDate: Fri, 9 Dec 2022 19:04:42 -0600
4*517393d9SAndrew GeisslerSubject: [PATCH] configure.ac: setup for OE usage
5*517393d9SAndrew Geissler
6*517393d9SAndrew GeisslerUpstream-Status: Inappropriate
7*517393d9SAndrew Geissler
8*517393d9SAndrew GeisslerRPI-Distro repo forks original vlc and applies patches to enable
9*517393d9SAndrew Geisslerraspiberry pi support.
10*517393d9SAndrew Geissler
11*517393d9SAndrew GeisslerNeed to use userland graphics libraries package files as it's best
12*517393d9SAndrew Geisslerto not assume /opt/vc is where all libs and headers are installed per
13*517393d9SAndrew Geisslerdistro. Also, needed to include $BCMHOST_MMAL_LIBS variable as
14*517393d9SAndrew GeisslerAC_CHECK_LIB(bcm_host) fails to find `vc_tv_unregister_callback_full`.
15*517393d9SAndrew GeisslerAdding $BCMHOST_MMAL_LIBS uses all libs inside
16*517393d9SAndrew Geisslerbcm_host.pc, mmal.pc, vcsm.pc, openmaxil.pc files when checking
17*517393d9SAndrew Geisslerfor `vc_tv_unregister_callback_full` function.
18*517393d9SAndrew Geissler
19*517393d9SAndrew GeisslerSupposed to change linked version to opengl to GLESv2
20*517393d9SAndrew Geissler
21*517393d9SAndrew GeisslerEnsure correct package config file is used for:
22*517393d9SAndrew Geissler* opencv
23*517393d9SAndrew Geissler* freerdp
24*517393d9SAndrew Geissler
25*517393d9SAndrew GeisslerAdds Workaround for modules/codec/omxil/omxil_core.h
26*517393d9SAndrew Geissler   multiple definition of `pf_enable_graphic_buffers'
27*517393d9SAndrew Geissler   multiple definition of `pf_get_graphic_buffer_usage'
28*517393d9SAndrew Geissler   multiple definition of `pf_get_hal_format'
29*517393d9SAndrew Geissler
30*517393d9SAndrew GeisslerSigned-off-by: Vincent Davis Jr <vince@underview.tech>
31*517393d9SAndrew Geissler---
32*517393d9SAndrew Geissler configure.ac | 34 ++++++++++++++++++++++------------
33*517393d9SAndrew Geissler 1 file changed, 22 insertions(+), 12 deletions(-)
34*517393d9SAndrew Geissler
35*517393d9SAndrew Geisslerdiff --git a/configure.ac b/configure.ac
36*517393d9SAndrew Geisslerindex a72dca0b6..5b8585a26 100644
37*517393d9SAndrew Geissler--- a/configure.ac
38*517393d9SAndrew Geissler+++ b/configure.ac
39*517393d9SAndrew Geissler@@ -95,6 +95,13 @@ AS_IF([test -n "${with_binary_version}"],[
40*517393d9SAndrew Geissler          [Binary specific version])
41*517393d9SAndrew Geissler ])
42*517393d9SAndrew Geissler
43*517393d9SAndrew Geissler+# Workaround for modules/codec/omxil/omxil_core.h
44*517393d9SAndrew Geissler+#   multiple definition of `pf_enable_graphic_buffers'
45*517393d9SAndrew Geissler+#   multiple definition of `pf_get_graphic_buffer_usage'
46*517393d9SAndrew Geissler+#   multiple definition of `pf_get_hal_format'
47*517393d9SAndrew Geissler+AC_SUBST([AM_CXXFLAGS], [-fcommon])
48*517393d9SAndrew Geissler+AC_SUBST([AM_CFLAGS], [-fcommon])
49*517393d9SAndrew Geissler+
50*517393d9SAndrew Geissler dnl Prevent clang from accepting unknown flags with a mere warning
51*517393d9SAndrew Geissler AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CFLAGS])
52*517393d9SAndrew Geissler AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CXXFLAGS])
53*517393d9SAndrew Geissler@@ -1900,7 +1907,7 @@ PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.6.2], (libbluray f
54*517393d9SAndrew Geissler dnl
55*517393d9SAndrew Geissler dnl  OpenCV wrapper and example filters
56*517393d9SAndrew Geissler dnl
57*517393d9SAndrew Geissler-PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0], (OpenCV (computer vision) filter), [auto])
58*517393d9SAndrew Geissler+PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv4 >= 2.0], (OpenCV (computer vision) filter), [auto])
59*517393d9SAndrew Geissler
60*517393d9SAndrew Geissler
61*517393d9SAndrew Geissler dnl
62*517393d9SAndrew Geissler@@ -2077,7 +2084,7 @@ PKG_ENABLE_MODULES_VLC([VNC], [vnc], [libvncclient >= 0.9.9], (VNC/rfb client su
63*517393d9SAndrew Geissler
64*517393d9SAndrew Geissler dnl  RDP/Remote Desktop access module
65*517393d9SAndrew Geissler dnl
66*517393d9SAndrew Geissler-PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) )
67*517393d9SAndrew Geissler+PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp2 >= 1.0.1], (RDP/Remote Desktop client support) )
68*517393d9SAndrew Geissler
69*517393d9SAndrew Geissler dnl
70*517393d9SAndrew Geissler dnl  Real RTSP plugin
71*517393d9SAndrew Geissler@@ -3089,14 +3096,14 @@ PKG_CHECK_MODULES([GL], [gl], [
72*517393d9SAndrew Geissler #ifdef _WIN32
73*517393d9SAndrew Geissler # include <GL/glew.h>
74*517393d9SAndrew Geissler #endif
75*517393d9SAndrew Geissler-#include <GL/gl.h>
76*517393d9SAndrew Geissler+#include <GLES2/gl2.h>
77*517393d9SAndrew Geissler ]], [
78*517393d9SAndrew Geissler     [int t0 = GL_TEXTURE0;]])
79*517393d9SAndrew Geissler   ], [
80*517393d9SAndrew Geissler     GL_CFLAGS=""
81*517393d9SAndrew Geissler     have_gl="yes"
82*517393d9SAndrew Geissler     AS_IF([test "${SYS}" != "mingw32"], [
83*517393d9SAndrew Geissler-      GL_LIBS="-lGL"
84*517393d9SAndrew Geissler+      GL_LIBS="-lGLESv2"
85*517393d9SAndrew Geissler     ], [
86*517393d9SAndrew Geissler       GL_LIBS="-lopengl32"
87*517393d9SAndrew Geissler     ])
88*517393d9SAndrew Geissler@@ -3483,15 +3490,14 @@ AC_ARG_ENABLE(mmal_avcodec,
89*517393d9SAndrew Geissler     [Use MMAL enabled avcodec libs (default disable)]))
90*517393d9SAndrew Geissler if test "${enable_mmal}" != "no"; then
91*517393d9SAndrew Geissler   VLC_SAVE_FLAGS
92*517393d9SAndrew Geissler-  LDFLAGS="${LDFLAGS} -L/opt/vc/lib -lvchostif"
93*517393d9SAndrew Geissler-  CPPFLAGS="${CPPFLAGS} -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux"
94*517393d9SAndrew Geissler-  AC_CHECK_HEADERS(interface/mmal/mmal.h,
95*517393d9SAndrew Geissler-    [ AC_CHECK_LIB(bcm_host, vc_tv_unregister_callback_full, [
96*517393d9SAndrew Geissler+  PKG_CHECK_MODULES(BCMHOST_MMAL, [bcm_host mmal vcsm openmaxil egl], [
97*517393d9SAndrew Geissler+    HAVE_MMAL=yes
98*517393d9SAndrew Geissler+    AC_CHECK_HEADERS(interface/mmal/mmal.h,
99*517393d9SAndrew Geissler+      [ AC_CHECK_LIB(bcm_host $BCMHOST_MMAL_LIBS, vc_tv_unregister_callback_full, [
100*517393d9SAndrew Geissler         have_mmal="yes"
101*517393d9SAndrew Geissler-        VLC_ADD_PLUGIN([mmal])
102*517393d9SAndrew Geissler-        VLC_ADD_LDFLAGS([mmal],[ -L/opt/vc/lib ])
103*517393d9SAndrew Geissler-        VLC_ADD_CFLAGS([mmal],[ -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux ])
104*517393d9SAndrew Geissler-        VLC_ADD_LIBS([mmal],[ -lbcm_host -lmmal -lmmal_core -lmmal_components -lmmal_util -lvchostif -lvchiq_arm -lvcsm ]) ], [
105*517393d9SAndrew Geissler+        VLC_ADD_PLUGIN([bcm_host mmal vcsm openmaxil egl])
106*517393d9SAndrew Geissler+        VLC_ADD_CFLAGS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_CFLAGS])
107*517393d9SAndrew Geissler+        VLC_ADD_LIBS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_LIBS -lmmal_components]) ], [
108*517393d9SAndrew Geissler           AS_IF([test "${enable_mmal}" = "yes"],
109*517393d9SAndrew Geissler             [ AC_MSG_ERROR([Cannot find bcm library...]) ],
110*517393d9SAndrew Geissler             [ AC_MSG_WARN([Cannot find bcm library...]) ])
111*517393d9SAndrew Geissler@@ -3500,6 +3506,10 @@ if test "${enable_mmal}" != "no"; then
112*517393d9SAndrew Geissler     ] , [ AS_IF([test "${enable_mmal}" = "yes"],
113*517393d9SAndrew Geissler       [ AC_MSG_ERROR([Cannot find development headers for mmal...]) ],
114*517393d9SAndrew Geissler       [ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ])
115*517393d9SAndrew Geissler+  ],:[
116*517393d9SAndrew Geissler+    AC_MSG_WARN([${BCMHOST_PKG_ERRORS}: userland graphics not available.])
117*517393d9SAndrew Geissler+    HAVE_MMAL=NO
118*517393d9SAndrew Geissler+  ])
119*517393d9SAndrew Geissler   VLC_RESTORE_FLAGS
120*517393d9SAndrew Geissler fi
121*517393d9SAndrew Geissler AM_CONDITIONAL([HAVE_MMAL], [test "${have_mmal}" = "yes"])
122*517393d9SAndrew Geissler--
123*517393d9SAndrew Geissler2.38.1
124*517393d9SAndrew Geissler
125