meson: Compile libyaml as a subproject if not available on the system
AOSP doesn't ship libyaml, making it more difficult to compile libcamera for Android. Use a meson wrap to compile libyaml as a subproject if the dependency is not found. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: Eric Curtin <ecurtin@redhat.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
This commit is contained in:
parent
9f00e78bf5
commit
e0766fa205
3 changed files with 18 additions and 1 deletions
|
@ -67,7 +67,7 @@ subdir('proxy')
|
||||||
libdl = cc.find_library('dl')
|
libdl = cc.find_library('dl')
|
||||||
libgnutls = cc.find_library('gnutls', required : true)
|
libgnutls = cc.find_library('gnutls', required : true)
|
||||||
libudev = dependency('libudev', required : false)
|
libudev = dependency('libudev', required : false)
|
||||||
libyaml = dependency('yaml-0.1', required : true)
|
libyaml = dependency('yaml-0.1', required : false)
|
||||||
|
|
||||||
if libgnutls.found()
|
if libgnutls.found()
|
||||||
config_h.set('HAVE_GNUTLS', 1)
|
config_h.set('HAVE_GNUTLS', 1)
|
||||||
|
@ -88,6 +88,17 @@ if libudev.found()
|
||||||
])
|
])
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Fallback to a subproject if libyaml isn't found, as it's not packaged in AOSP.
|
||||||
|
if not libyaml.found()
|
||||||
|
cmake = import('cmake')
|
||||||
|
|
||||||
|
libyaml_vars = cmake.subproject_options()
|
||||||
|
libyaml_vars.add_cmake_defines({'CMAKE_POSITION_INDEPENDENT_CODE': 'ON'})
|
||||||
|
libyaml_vars.append_compile_args('c', '-Wno-unused-value')
|
||||||
|
libyaml_wrap = cmake.subproject('libyaml', options : libyaml_vars)
|
||||||
|
libyaml = libyaml_wrap.dependency('yaml')
|
||||||
|
endif
|
||||||
|
|
||||||
control_sources = []
|
control_sources = []
|
||||||
|
|
||||||
foreach source : control_source_files
|
foreach source : control_source_files
|
||||||
|
|
1
subprojects/.gitignore
vendored
1
subprojects/.gitignore
vendored
|
@ -1,4 +1,5 @@
|
||||||
/googletest-release*
|
/googletest-release*
|
||||||
|
/libyaml
|
||||||
/libyuv
|
/libyuv
|
||||||
/packagecache
|
/packagecache
|
||||||
/pybind11
|
/pybind11
|
||||||
|
|
5
subprojects/libyaml.wrap
Normal file
5
subprojects/libyaml.wrap
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
[wrap-git]
|
||||||
|
directory = libyaml
|
||||||
|
url = https://github.com/yaml/libyaml
|
||||||
|
# tags/0.2.5
|
||||||
|
revision = 2c891fc7a770e8ba2fec34fc6b545c672beb37e6
|
Loading…
Add table
Add a link
Reference in a new issue