mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-25 23:16:14 +01:00
meson: Allow fallback & static build of pcre subproject
Using `allow_fallback: false` on the first check for libpcre was unnecessary, as `required: false` already disables using fallbacks. `allow_fallback: false` meant that `--force-fallback-for` couldn’t work. This commit fixes that. Also allow the fallback libpcre to be built statically so it can be linked into GLib. Helps: #3025
This commit is contained in:
parent
b5d995e6b8
commit
dd5683ce64
@ -2050,7 +2050,9 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
pcre2_req = '>=10.32'
|
pcre2_req = '>=10.32'
|
||||||
pcre2 = dependency('libpcre2-8', version: pcre2_req, required: false, allow_fallback: false)
|
|
||||||
|
# Pick up pcre from the system, or if "--force-fallback-for libpcre2-8" was specified
|
||||||
|
pcre2 = dependency('libpcre2-8', version: pcre2_req, required: false, default_options: ['default_library=static'])
|
||||||
if not pcre2.found()
|
if not pcre2.found()
|
||||||
if cc.get_id() == 'msvc' or cc.get_id() == 'clang-cl'
|
if cc.get_id() == 'msvc' or cc.get_id() == 'clang-cl'
|
||||||
# MSVC: Search for the PCRE2 library by the configuration, which corresponds
|
# MSVC: Search for the PCRE2 library by the configuration, which corresponds
|
||||||
@ -2066,7 +2068,7 @@ endif
|
|||||||
|
|
||||||
# Try again with the fallback
|
# Try again with the fallback
|
||||||
if not pcre2.found()
|
if not pcre2.found()
|
||||||
pcre2 = dependency('libpcre2-8', version: pcre2_req, allow_fallback: true)
|
pcre2 = dependency('libpcre2-8', version: pcre2_req, allow_fallback: true, default_options: ['default_library=static'])
|
||||||
assert(pcre2.type_name() == 'internal')
|
assert(pcre2.type_name() == 'internal')
|
||||||
# static flags are automatically enabled by the subproject if it's built
|
# static flags are automatically enabled by the subproject if it's built
|
||||||
# with default_library=static
|
# with default_library=static
|
||||||
|
Loading…
Reference in New Issue
Block a user