meson: add symbol-lookup option to allow disabling bfd/libiberty usage

Can be used to workaround build issues caused by changes
in the bfd API until those have been resolved.

https://gitlab.freedesktop.org/cairo/cairo/-/issues/460
https://gitlab.freedesktop.org/cairo/cairo/-/issues/391
This commit is contained in:
Tim-Philipp Müller 2021-02-23 10:33:23 +00:00
parent 9e84988f41
commit e0cf7b869f
2 changed files with 6 additions and 6 deletions

View file

@ -674,13 +674,11 @@ if zlib_dep.found() and png_dep.found()
endif
# Untested, libiberty.h is in a libiberty subfolder for me
# FIXME: automagic
bfd_dep = cc.find_library('bfd', required: false)
# Also, the bfd API seems to have changed at some point
bfd_dep = cc.find_library('bfd', has_headers: ['bfd.h', 'libiberty.h'], required: get_option('symbol-lookup'))
if bfd_dep.found() and cc.has_function('bfd_openr', dependencies: [bfd_dep])
if cc.has_header('libiberty.h')
conf.set('HAVE_BFD', 1)
deps += [bfd_dep]
endif
conf.set('HAVE_BFD', 1)
deps += [bfd_dep]
endif
# Untested, see above

View file

@ -30,6 +30,8 @@ option('gtk2-utils', type : 'feature', value : 'disabled')
# Misc deps
option('glib', type : 'feature', value : 'auto')
option('spectre', type : 'feature', value : 'auto')
option('symbol-lookup', type: 'feature', value : 'auto',
description: 'Symbol lookup in debug utils via binutils/bfd')
# FIXME: implement these to avoid automagic
#option('egl', type : 'feature', value : 'auto')