--- a/meson.build +++ b/meson.build @@ -448,7 +448,8 @@ # Android uses emutls for versions <= P/28. For USE_ELF_TLS we need ELF TLS. use_elf_tls = false -if not ['windows', 'freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29) +with_use_elf_tls = get_option('use-elf-tls') +if with_use_elf_tls and not ['windows', 'freebsd'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29) pre_args += '-DUSE_ELF_TLS' use_elf_tls = true endif --- a/meson_options.txt +++ b/meson_options.txt @@ -464,3 +464,9 @@ value : true, description : 'use msse2 flag for mingw x86. Default: true', ) +option( + 'use-elf-tls', + type : 'boolean', + value : false, + description : 'Build support for initial-exec TLS model' +)