Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions SConstruct
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ opts.Add(BoolVariable("builtin_msdfgen", "Use the built-in MSDFgen library", Tru
opts.Add(BoolVariable("builtin_glslang", "Use the built-in glslang library", True))
opts.Add(BoolVariable("builtin_graphite", "Use the built-in Graphite library", True))
opts.Add(BoolVariable("builtin_harfbuzz", "Use the built-in HarfBuzz library", True))
opts.Add(BoolVariable("builtin_icu", "Use the built-in ICU library", True))
opts.Add(BoolVariable("builtin_icu4c", "Use the built-in ICU library", True))
opts.Add(BoolVariable("builtin_libogg", "Use the built-in libogg library", True))
opts.Add(BoolVariable("builtin_libpng", "Use the built-in libpng library", True))
opts.Add(BoolVariable("builtin_libtheora", "Use the built-in libtheora library", True))
Expand All @@ -228,7 +228,7 @@ opts.Add(BoolVariable("builtin_mbedtls", "Use the built-in mbedTLS library", Tru
opts.Add(BoolVariable("builtin_miniupnpc", "Use the built-in miniupnpc library", True))
opts.Add(BoolVariable("builtin_pcre2", "Use the built-in PCRE2 library", True))
opts.Add(BoolVariable("builtin_pcre2_with_jit", "Use JIT compiler for the built-in PCRE2 library", True))
opts.Add(BoolVariable("builtin_recast", "Use the built-in Recast library", True))
opts.Add(BoolVariable("builtin_recastnavigation", "Use the built-in Recast navigation library", True))
opts.Add(BoolVariable("builtin_rvo2", "Use the built-in RVO2 library", True))
opts.Add(BoolVariable("builtin_squish", "Use the built-in squish library", True))
opts.Add(BoolVariable("builtin_xatlas", "Use the built-in xatlas library", True))
Expand Down
3 changes: 3 additions & 0 deletions modules/basis_universal/SCsub
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ if not env.msvc:
else:
env_basisu.Prepend(CPPPATH=[thirdparty_dir])

if env["builtin_zstd"]:
env_basisu.Prepend(CPPPATH=["#thirdparty/zstd"])

if env.dev_build:
env_basisu.Append(CPPDEFINES=[("BASISU_DEVEL_MESSAGES", 1), ("BASISD_ENABLE_DEBUG_FLAGS", 1)])

Expand Down
2 changes: 1 addition & 1 deletion modules/navigation/SCsub
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ env_navigation = env_modules.Clone()
thirdparty_obj = []

# Recast Thirdparty source files
if env["builtin_recast"]:
if env["builtin_recastnavigation"]:
thirdparty_dir = "#thirdparty/recastnavigation/Recast/"
thirdparty_sources = [
"Source/Recast.cpp",
Expand Down
5 changes: 2 additions & 3 deletions modules/ogg/ogg_packet_sequence.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,10 @@
#define OGG_PACKET_SEQUENCE_H

#include "core/io/resource.h"
#include "core/object/gdvirtual.gen.inc"
#include "core/variant/native_ptr.h"
#include "core/variant/typed_array.h"
#include "core/variant/variant.h"
#include "thirdparty/libogg/ogg/ogg.h"

#include <ogg/ogg.h>

class OggPacketSequencePlayback;

Expand Down
5 changes: 2 additions & 3 deletions modules/text_server_adv/SCsub
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ env_text_server_adv = env_modules.Clone()


def make_icu_data(target, source, env):

dst = target[0].srcnode().abspath

g = open(dst, "w", encoding="utf-8")
Expand Down Expand Up @@ -126,7 +125,7 @@ if env["builtin_harfbuzz"]:
env_harfbuzz.Prepend(CPPPATH=["#thirdparty/harfbuzz/src"])

env_harfbuzz.Append(CCFLAGS=["-DHAVE_ICU"])
if env["builtin_icu"]:
if env["builtin_icu4c"]:
env_harfbuzz.Prepend(CPPPATH=["#thirdparty/icu4c/common/", "#thirdparty/icu4c/i18n/"])
env_harfbuzz.Append(CCFLAGS=["-DU_HAVE_LIB_SUFFIX=1", "-DU_LIB_SUFFIX_C_NAME=_godot", "-DHAVE_ICU_BUILTIN"])

Expand Down Expand Up @@ -240,7 +239,7 @@ if env["builtin_graphite"] and freetype_enabled and env["graphite"]:
env.Append(LIBS=[lib])


if env["builtin_icu"]:
if env["builtin_icu4c"]:
env_icu = env_modules.Clone()
env_icu.disable_warnings()

Expand Down
3 changes: 2 additions & 1 deletion modules/vorbis/audio_stream_ogg_vorbis.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@

#include "core/io/file_access.h"
#include "core/variant/typed_array.h"
#include "thirdparty/libogg/ogg/ogg.h"

#include <ogg/ogg.h>

int AudioStreamPlaybackOggVorbis::_mix_internal(AudioFrame *p_buffer, int p_frames) {
ERR_FAIL_COND_V(!ready, 0);
Expand Down
3 changes: 2 additions & 1 deletion modules/vorbis/audio_stream_ogg_vorbis.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@
#include "core/variant/variant.h"
#include "modules/ogg/ogg_packet_sequence.h"
#include "servers/audio/audio_stream.h"
#include "thirdparty/libvorbis/vorbis/codec.h"

#include <vorbis/codec.h>

class AudioStreamOggVorbis;

Expand Down
5 changes: 3 additions & 2 deletions modules/vorbis/resource_importer_ogg_vorbis.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,9 @@
#include "core/io/file_access.h"
#include "core/io/resource_saver.h"
#include "scene/resources/texture.h"
#include "thirdparty/libogg/ogg/ogg.h"
#include "thirdparty/libvorbis/vorbis/codec.h"

#include <ogg/ogg.h>
#include <vorbis/codec.h>

#ifdef TOOLS_ENABLED
#include "editor/import/audio_stream_import_settings.h"
Expand Down
37 changes: 22 additions & 15 deletions platform/linuxbsd/detect.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,28 +190,30 @@ def configure(env: "Environment"):
# 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
if (
env["builtin_freetype"]
or env["builtin_libpng"]
or env["builtin_zlib"]
or env["builtin_graphite"]
or env["builtin_harfbuzz"]
):
env["builtin_freetype"] = True
env["builtin_libpng"] = True
env["builtin_zlib"] = True
env["builtin_graphite"] = True
env["builtin_harfbuzz"] = True
# 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(
"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()
Comment on lines +201 to +207
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a bit brittle, and I think the list is actually longer but with some of the components optional?
Namely fontconfig and msdfgen.


if not env["builtin_freetype"]:
env.ParseConfig("pkg-config freetype2 --cflags --libs")

if not env["builtin_graphite"]:
env.ParseConfig("pkg-config graphite2 --cflags --libs")

if not env["builtin_icu"]:
env.ParseConfig("pkg-config icu-uc --cflags --libs")
if not env["builtin_icu4c"]:
env.ParseConfig("pkg-config icu-i18n icu-uc --cflags --libs")
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uspoof_* is in icu-i18n.


if not env["builtin_harfbuzz"]:
env.ParseConfig("pkg-config harfbuzz harfbuzz-icu --cflags --libs")
Expand Down Expand Up @@ -266,6 +268,11 @@ def configure(env: "Environment"):
if not env["builtin_pcre2"]:
env.ParseConfig("pkg-config libpcre2-32 --cflags --libs")

if not env["builtin_recastnavigation"]:
# No pkgconfig file so far, hardcode default paths.
env.Prepend(CPPPATH=["/usr/include/recastnavigation"])
env.Append(LIBS=["Recast"])

if not env["builtin_embree"]:
# No pkgconfig file so far, hardcode expected lib name.
env.Append(LIBS=["embree3"])
Expand Down
2 changes: 1 addition & 1 deletion thirdparty/basis_universal/encoder/basisu_comp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
#endif

#if BASISD_SUPPORT_KTX2_ZSTD
#include "../zstd/zstd.h"
#include <zstd.h>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll make a patch file for this once I confirm the changes work, and see what upstream thinks about it.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's already an upstream PR for it: BinomialLLC/basis_universal#228

#endif

// Set to 1 to disable the mipPadding alignment workaround (which only seems to be needed when no key-values are written at all)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@
// If BASISD_SUPPORT_KTX2_ZSTD is 0, UASTC files compressed with Zstd cannot be loaded.
#if BASISD_SUPPORT_KTX2_ZSTD
// We only use two Zstd API's: ZSTD_decompress() and ZSTD_isError()
#include "../zstd/zstd.h"
#include <zstd.h>
#endif
#endif

Expand Down