mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 16:03:29 +00:00
Linux: Relax interdependency between freetype, libpng, and zlib for unvendored builds
This restriction was added to fix #7373 back then, which was a symbol conflict between FreeType's bundled copy of gzip/zlib, and distro packages. But we also unbundled FreeType's zlib in #69395 so this is no longer an issue. On the other hand recent issues pointed out that using system-provided icu4c or harfbuzz can cause issues (#91401, #100301). We still allow it for now but raise a warning.
This commit is contained in:
parent
6f3cc27423
commit
7fe0609118
3 changed files with 7 additions and 19 deletions
|
@ -222,23 +222,6 @@ def configure(env: "SConsEnvironment"):
|
|||
|
||||
# FIXME: Check for existence of the libs before parsing their flags with pkg-config
|
||||
|
||||
# freetype depends on libpng and zlib, so bundling one of them while keeping others
|
||||
# as shared libraries leads to weird issues. And graphite and harfbuzz need freetype.
|
||||
ft_linked_deps = [
|
||||
env["builtin_freetype"],
|
||||
env["builtin_libpng"],
|
||||
env["builtin_zlib"],
|
||||
env["builtin_graphite"],
|
||||
env["builtin_harfbuzz"],
|
||||
]
|
||||
if (not all(ft_linked_deps)) and any(ft_linked_deps): # All or nothing.
|
||||
print_error(
|
||||
"These libraries should be either all builtin, or all system provided:\n"
|
||||
"freetype, libpng, zlib, graphite, harfbuzz.\n"
|
||||
"Please specify `builtin_<name>=no` for all of them, or none."
|
||||
)
|
||||
sys.exit(255)
|
||||
|
||||
if not env["builtin_freetype"]:
|
||||
env.ParseConfig("pkg-config freetype2 --cflags --libs")
|
||||
|
||||
|
@ -251,6 +234,11 @@ def configure(env: "SConsEnvironment"):
|
|||
if not env["builtin_harfbuzz"]:
|
||||
env.ParseConfig("pkg-config harfbuzz harfbuzz-icu --cflags --libs")
|
||||
|
||||
if not env["builtin_icu4c"] or not env["builtin_harfbuzz"]:
|
||||
print_warning(
|
||||
"System-provided icu4c or harfbuzz cause known issues for GDExtension (see GH-91401 and GH-100301)."
|
||||
)
|
||||
|
||||
if not env["builtin_libpng"]:
|
||||
env.ParseConfig("pkg-config libpng16 --cflags --libs")
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue