diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2018-01-30 10:31:03 +0100 |
---|---|---|
committer | Nicolas Dufresne <nicolas.dufresne@collabora.com> | 2018-01-30 11:10:38 +0000 |
commit | 9d37a92a615e54e8ee12f8c65bcfe386ec9de2d0 (patch) | |
tree | b112f731a289e0a85c76ed7ea919c8b2b018a4f1 | |
parent | 6c57d06ee1905cae936eabbfa0b32faf104f0c39 (diff) | |
download | gst-omx-9d37a92a615e54e8ee12f8c65bcfe386ec9de2d0.tar.gz |
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
-rw-r--r-- | meson.build | 56 | ||||
-rw-r--r-- | omx/meson.build | 7 | ||||
-rw-r--r-- | tools/meson.build | 2 |
3 files changed, 26 insertions, 39 deletions
diff --git a/meson.build b/meson.build index 8e71c46..4545d1f 100644 --- a/meson.build +++ b/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', +extra_video_headers = '' +# Check for optional OpenMAX extension headers + +if cc.has_header ( + 'OMX_VideoExt.h', args : gst_omx_args, + include_directories : [omx_inc], 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 - -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 += ''' + 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) diff --git a/omx/meson.build b/omx/meson.build index ca0dccd..b68cc55 100644 --- a/omx/meson.build +++ b/omx/meson.build @@ -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, diff --git a/tools/meson.build b/tools/meson.build index 9af0288..7f6a670 100644 --- a/tools/meson.build +++ b/tools/meson.build @@ -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, |