glib/meson_options.txt
Eli Schwartz 24ec80cfb4
meson: simplify iconv lookups using Meson's builtin dependency lookup
iconv is complicated to look up. That complexity now resides in
Meson, since 0.60.0, via a `dependency('iconv')` lookup, so use that
instead.

No effort is made to support the old option for which type of iconv to
use. It was a false choice, because if only one was available, then
that's the only one you can use, and if both are available, the external
iconv shadows the builtin one and renders the builtin one unusable,
so there is still only one you can use.

This meant that when configuring glib with -Diconv=libc on systems that
had an external iconv, the configure check would detect a valid libc
iconv, try to use it, and then fail during the build because iconv.h
belongs to the external iconv and generates machine code using the
external iconv ABI, but fails to link to the iconv `find_library()`.
Meson handles this transparently.
2022-06-16 12:04:59 -04:00

120 lines
3.2 KiB
Meson

option('runtime_libdir',
type : 'string',
value : '',
description : 'install runtime libraries relative to libdir')
option('iconv',
type : 'combo',
choices : ['auto', 'libc', 'external'],
value : 'auto',
deprecated: true,)
option('charsetalias_dir',
type : 'string',
value : '',
description : 'directory for charset.alias dir (default to \'libdir\' if unset)')
option('gio_module_dir',
type : 'string',
value : '',
description : 'load gio modules from this directory (default to \'libdir/gio/modules\' if unset)')
option('selinux',
type : 'feature',
value : 'auto',
description : 'build with selinux support')
option('xattr',
type : 'boolean',
value : true,
description : 'build with xattr support')
option('libmount',
type : 'feature',
value : 'auto',
description : 'build with libmount support')
option('man',
type : 'boolean',
value : false,
description : 'generate man pages (requires xsltproc)')
option('dtrace',
type : 'boolean',
value : false,
description : 'include tracing support for dtrace')
option('systemtap',
type : 'boolean',
value : false,
description : 'include tracing support for systemtap')
option('tapset_install_dir',
type : 'string',
value : '',
description : 'path where systemtap tapsets are installed')
option('sysprof',
type : 'feature',
value : 'disabled',
description : 'include tracing support for sysprof')
option('gtk_doc',
type : 'boolean',
value : false,
description : 'use gtk-doc to build documentation')
option('bsymbolic_functions',
type : 'boolean',
value : true,
description : 'link with -Bsymbolic-functions if supported')
option('force_posix_threads',
type : 'boolean',
value : false,
description : 'Also use posix threads in case the platform defaults to another implementation (on Windows for example)')
option('tests',
type : 'boolean',
value : true,
description : 'build tests')
option('installed_tests',
type : 'boolean',
value : false,
description : 'enable installed tests')
option('nls',
type : 'feature',
value : 'auto',
yield: true,
description : 'Enable native language support (translations)')
option('oss_fuzz',
type : 'feature',
value : 'disabled',
description : 'Indicate oss-fuzz build environment')
option('glib_debug',
type : 'feature',
value : 'auto',
yield : true,
description : 'Enable GLib debug infrastructure (see docs/macros.txt)')
option('glib_assert',
type : 'boolean',
value : true,
yield : true,
description : 'Enable GLib assertion (see docs/macros.txt)')
option('glib_checks',
type : 'boolean',
value : true,
yield : true,
description : 'Enable GLib checks such as API guards (see docs/macros.txt)')
option('libelf',
type : 'feature',
value : 'auto',
description : 'Enable support for listing and extracting from ELF resource files with gresource tool')