mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-18 21:35:44 +00:00
meson: use include_directories() with external OMX headers path
It seems cleaner to use the proper meson tools to include this path rather than manually tweak the build flags. This also allows us to simplify the OMX extensions detection code. We are now always checking which files are present, even when using our internal copy of OMX, rather than hardcoding the ones present in it. https://bugzilla.gnome.org/show_bug.cgi?id=792043
This commit is contained in:
parent
6c57d06ee1
commit
9d37a92a61
3 changed files with 26 additions and 39 deletions
56
meson.build
56
meson.build
|
@ -169,7 +169,9 @@ gst_omx_args = ['-DHAVE_CONFIG_H']
|
|||
configinc = include_directories('.')
|
||||
omx_header_path = get_option('with_omx_header_path')
|
||||
if omx_header_path != ''
|
||||
gst_omx_args += ['-I' + omx_header_path]
|
||||
omx_inc = include_directories (omx_header_path)
|
||||
else
|
||||
omx_inc = include_directories (join_paths ('omx', 'openmax'))
|
||||
endif
|
||||
|
||||
default_omx_struct_packing = 0
|
||||
|
@ -204,6 +206,7 @@ elif omx_target == 'zynqultrascaleplus'
|
|||
have_allegro_header = cc.has_header (
|
||||
'OMX_Allegro.h',
|
||||
args : gst_omx_args,
|
||||
include_directories : [omx_inc],
|
||||
required : false)
|
||||
if not have_allegro_header
|
||||
error ('Need Allegro OMX headers to build for Zynq UltraScale+. Use with_omx_header_path option to specify the path of those headers.')
|
||||
|
@ -218,46 +221,32 @@ else
|
|||
error ('Unsupported omx target specified. Use the -Dwith_omx_target option')
|
||||
endif
|
||||
|
||||
have_external_omx = cc.has_header(
|
||||
'OMX_Core.h',
|
||||
args : gst_omx_args,
|
||||
required : false)
|
||||
extra_video_headers = ''
|
||||
# Our internal OpenMAX IL headers have OMX_VideoExt.h, OMX_IndexExt.h and OMX_ComponentExt.h
|
||||
have_video_ext = true
|
||||
have_index_ext = true
|
||||
have_component_ext = true
|
||||
# Check for optional OpenMAX extension headers
|
||||
|
||||
if have_external_omx
|
||||
have_video_ext = cc.has_header (
|
||||
'OMX_VideoExt.h',
|
||||
args : gst_omx_args,
|
||||
required : false)
|
||||
if have_video_ext
|
||||
extra_video_headers += '''
|
||||
if cc.has_header (
|
||||
'OMX_VideoExt.h',
|
||||
args : gst_omx_args,
|
||||
include_directories : [omx_inc],
|
||||
required : false)
|
||||
extra_video_headers += '''
|
||||
#include <OMX_VideoExt.h>'''
|
||||
endif
|
||||
|
||||
have_index_ext = cc.has_header (
|
||||
'OMX_IndexExt.h',
|
||||
args : gst_omx_args,
|
||||
required : false)
|
||||
|
||||
have_component_ext = cc.has_header (
|
||||
'OMX_ComponentExt.h',
|
||||
args : gst_omx_args,
|
||||
required : false)
|
||||
endif
|
||||
|
||||
if have_video_ext
|
||||
cdata.set ('HAVE_VIDEO_EXT', 1)
|
||||
endif
|
||||
|
||||
if have_index_ext
|
||||
if cc.has_header (
|
||||
'OMX_IndexExt.h',
|
||||
args : gst_omx_args,
|
||||
include_directories : [omx_inc],
|
||||
required : false)
|
||||
cdata.set ('HAVE_INDEX_EXT', 1)
|
||||
endif
|
||||
|
||||
if have_component_ext
|
||||
if cc.has_header (
|
||||
'OMX_ComponentExt.h',
|
||||
args : gst_omx_args,
|
||||
include_directories : [omx_inc],
|
||||
required : false)
|
||||
cdata.set ('HAVE_COMPONENT_EXT', 1)
|
||||
endif
|
||||
|
||||
|
@ -266,6 +255,7 @@ have_omx_vp8 = cc.has_header_symbol(
|
|||
'OMX_VIDEO_CodingVP8',
|
||||
prefix : extra_video_headers,
|
||||
args : gst_omx_args,
|
||||
include_directories : [omx_inc],
|
||||
required : false)
|
||||
if have_omx_vp8
|
||||
cdata.set('HAVE_VP8', 1)
|
||||
|
@ -276,6 +266,7 @@ have_omx_theora = cc.has_header_symbol(
|
|||
'OMX_VIDEO_CodingTheora',
|
||||
prefix : extra_video_headers,
|
||||
args : gst_omx_args,
|
||||
include_directories : [omx_inc],
|
||||
required : false)
|
||||
if have_omx_theora
|
||||
cdata.set('HAVE_THEORA', 1)
|
||||
|
@ -286,6 +277,7 @@ have_omx_hevc = cc.has_header_symbol(
|
|||
'OMX_VIDEO_CodingHEVC',
|
||||
prefix : extra_video_headers,
|
||||
args : gst_omx_args,
|
||||
include_directories : [omx_inc],
|
||||
required : false)
|
||||
if have_omx_hevc
|
||||
cdata.set('HAVE_HEVC', 1)
|
||||
|
|
|
@ -26,7 +26,6 @@ omx_sources = [
|
|||
'gstomxmp3enc.c',
|
||||
]
|
||||
|
||||
extra_inc = []
|
||||
extra_c_args = []
|
||||
|
||||
if have_omx_vp8
|
||||
|
@ -43,10 +42,6 @@ if have_omx_hevc
|
|||
omx_sources += 'gstomxh265dec.c'
|
||||
endif
|
||||
|
||||
if not have_external_omx
|
||||
extra_inc += include_directories ('openmax')
|
||||
endif
|
||||
|
||||
optional_deps = []
|
||||
if gstgl_dep.found()
|
||||
optional_deps += gstgl_dep
|
||||
|
@ -57,7 +52,7 @@ gstomx = library('gstomx',
|
|||
omx_sources,
|
||||
c_args : gst_omx_args + extra_c_args,
|
||||
# link_args : noseh_link_args,
|
||||
include_directories : [configinc] + extra_inc,
|
||||
include_directories : [configinc, omx_inc],
|
||||
dependencies : [gstvideo_dep, gstaudio_dep, gstbase_dep, gstcontroller_dep,
|
||||
libm, gmodule_dep, gstallocators_dep] + optional_deps,
|
||||
install : true,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
executable('listcomponents',
|
||||
'listcomponents.c',
|
||||
install: false,
|
||||
include_directories : [configinc] + extra_inc,
|
||||
include_directories : [configinc, omx_inc],
|
||||
dependencies : [glib_dep, gmodule_dep],
|
||||
link_with: [],
|
||||
c_args : gst_omx_args + extra_c_args,
|
||||
|
|
Loading…
Reference in a new issue