Andrew Geissler | 87f5cff | 2022-09-30 13:13:31 -0500 | [diff] [blame^] | 1 | From: Vincent Davis Jr <vince@underview.tech> |
| 2 | Date: Fri, 07 Jan 2022 07:10:47 PM CST |
| 3 | Subject: [PATCH] Use packageconfig to acquire mmal flags |
| 4 | |
| 5 | Need to use userland graphics libraries package files as it's best to not assume /opt/vc is where |
| 6 | all libs and headers are installed per distro. Also, needed to include $BCMHOST_MMAL_LIBS variable as |
| 7 | AC_CHECK_LIB(bcm_host) fails to find `vc_tv_unregister_callback_full`. Adding $BCMHOST_MMAL_LIBS uses all |
| 8 | libs inside bcm_host,mmal,vcsm,openmaxil .pc files when checking for `vc_tv_unregister_callback_full` |
| 9 | function. |
| 10 | |
| 11 | Upstream-status: Pending |
| 12 | |
| 13 | Signed-off-by: Vincent Davis Jr <vince@underview.tech> |
| 14 | diff --git a/configure.ac b/configure.ac |
| 15 | index bff220510..4d487409d 100644 |
| 16 | --- a/configure.ac |
| 17 | +++ b/configure.ac |
| 18 | @@ -3483,23 +3483,25 @@ AC_ARG_ENABLE(mmal_avcodec, |
| 19 | [Use MMAL enabled avcodec libs (default disable)])) |
| 20 | if test "${enable_mmal}" != "no"; then |
| 21 | VLC_SAVE_FLAGS |
| 22 | - LDFLAGS="${LDFLAGS} -L/opt/vc/lib -lvchostif" |
| 23 | - CPPFLAGS="${CPPFLAGS} -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux" |
| 24 | - AC_CHECK_HEADERS(interface/mmal/mmal.h, |
| 25 | - [ AC_CHECK_LIB(bcm_host, vc_tv_unregister_callback_full, [ |
| 26 | + PKG_CHECK_MODULES(BCMHOST_MMAL, [bcm_host mmal vcsm openmaxil egl], [ |
| 27 | + HAVE_MMAL=yes |
| 28 | + AC_CHECK_HEADERS(interface/mmal/mmal.h, |
| 29 | + [ AC_CHECK_LIB(bcm_host $BCMHOST_MMAL_LIBS, vc_tv_unregister_callback_full, [ |
| 30 | have_mmal="yes" |
| 31 | - VLC_ADD_PLUGIN([mmal]) |
| 32 | - VLC_ADD_LDFLAGS([mmal],[ -L/opt/vc/lib ]) |
| 33 | - VLC_ADD_CFLAGS([mmal],[ -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux ]) |
| 34 | - VLC_ADD_LIBS([mmal],[ -lbcm_host -lmmal -lmmal_core -lmmal_components -lmmal_util -lvchostif -lvchiq_arm -lvcsm ]) ], [ |
| 35 | + VLC_ADD_PLUGIN([bcm_host mmal vcsm openmaxil egl]) |
| 36 | + VLC_ADD_CFLAGS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_CFLAGS]) |
| 37 | + VLC_ADD_LIBS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_LIBS]) ], [ |
| 38 | AS_IF([test "${enable_mmal}" = "yes"], |
| 39 | [ AC_MSG_ERROR([Cannot find bcm library...]) ], |
| 40 | [ AC_MSG_WARN([Cannot find bcm library...]) ]) |
| 41 | - ], |
| 42 | - []) |
| 43 | - ] , [ AS_IF([test "${enable_mmal}" = "yes"], |
| 44 | - [ AC_MSG_ERROR([Cannot find development headers for mmal...]) ], |
| 45 | - [ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ]) |
| 46 | + ],[]) |
| 47 | + ],[ AS_IF([test "${enable_mmal}" = "yes"], |
| 48 | + [ AC_MSG_ERROR([Cannot find development headers for mmal...]) ], |
| 49 | + [ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ]) |
| 50 | + ],:[ |
| 51 | + AC_MSG_WARN([${BCMHOST_PKG_ERRORS}: userland graphics not available.]) |
| 52 | + HAVE_MMAL=no |
| 53 | + ]) |
| 54 | VLC_RESTORE_FLAGS |
| 55 | fi |
| 56 | AM_CONDITIONAL([HAVE_MMAL], [test "${have_mmal}" = "yes"]) |