On 2/10/23 12:17 PM, Michael Olbrich wrote:
On Wed, Feb 08, 2023 at 10:42:50AM +0100, Christian Melki wrote:
Very minor bugfix release.
https://github.com/libsdl-org/SDL_ttf/releases/tag/release-2.20.2
Also do some fixes. As the configuration was very non-complete.
This should help reduce footprint if needed.
Ptxdist had freetype dependencies, although sdl2-ttf was using
the internal library.
* License file copyright year changed.
* Move patchset forward, applies cleanly.
* Add option to control if the mandatory freetype library should
be external (otherwise it must use the internal one).
* Add option to enable optional harfbuzz.
* Add option to enable internal harfbuzz if support is enabled.
* Make the options default reflect the old behavior.
Ie, internal freetype and harfbuzz as default.
* Disable the freetypetest tool.
Signed-off-by: Christian Melki <[email protected]>
---
...igure-make-opengl-support-switchable.patch | 0
.../autogen.sh | 0
.../series | 0
rules/sdl2-ttf.in | 46 +++++++++++++++++--
rules/sdl2-ttf.make | 10 ++--
5 files changed, 50 insertions(+), 6 deletions(-)
rename patches/{SDL2_ttf-2.20.1 =>
SDL2_ttf-2.20.2}/0001-configure-make-opengl-support-switchable.patch (100%)
rename patches/{SDL2_ttf-2.20.1 => SDL2_ttf-2.20.2}/autogen.sh (100%)
rename patches/{SDL2_ttf-2.20.1 => SDL2_ttf-2.20.2}/series (100%)
diff --git
a/patches/SDL2_ttf-2.20.1/0001-configure-make-opengl-support-switchable.patch
b/patches/SDL2_ttf-2.20.2/0001-configure-make-opengl-support-switchable.patch
similarity index 100%
rename from
patches/SDL2_ttf-2.20.1/0001-configure-make-opengl-support-switchable.patch
rename to
patches/SDL2_ttf-2.20.2/0001-configure-make-opengl-support-switchable.patch
diff --git a/patches/SDL2_ttf-2.20.1/autogen.sh
b/patches/SDL2_ttf-2.20.2/autogen.sh
similarity index 100%
rename from patches/SDL2_ttf-2.20.1/autogen.sh
rename to patches/SDL2_ttf-2.20.2/autogen.sh
diff --git a/patches/SDL2_ttf-2.20.1/series b/patches/SDL2_ttf-2.20.2/series
similarity index 100%
rename from patches/SDL2_ttf-2.20.1/series
rename to patches/SDL2_ttf-2.20.2/series
diff --git a/rules/sdl2-ttf.in b/rules/sdl2-ttf.in
index a14676933..fb68fd5a0 100644
--- a/rules/sdl2-ttf.in
+++ b/rules/sdl2-ttf.in
@@ -1,12 +1,52 @@
## SECTION=multimedia_sdl
-config SDL2_TTF
+menuconfig SDL2_TTF
tristate
select SDL2
- select FREETYPE
- prompt "SDL2 ttf"
+ select FREETYPE if SDL2_TTF_EXTERNAL_FREETYPE
+ select HARFBUZZ if SDL2_TTF_EXTERNAL_HARFBUZZ
+ prompt "SDL2 ttf "
help
This is a sample library which allows you to use TrueType
fonts in your SDL applications. It comes with an example
program "showfont" which displays an example string for a
given TrueType font file.
+
+if SDL2_TTF
+
+config SDL2_TTF_EXTERNAL_FREETYPE
+ bool
+ prompt "enable external freetype support"
+ help
+ Freetype is mandatory for SDL2-ttf.
+ And it has a version of freetype built in.
+ To reduce code footprint, there is an option
+ to use an external freetype library.
+ Probably not as well tested against different
+ versions of freetype as the internal one.
+
+config SDL2_TTF_HARFBUZZ
+ bool
+ prompt "enable harfbuzz support"
+ default y
+ help
+ Harfbuzz is optional for SDL2-ttf.
+ However, it has a version of harfbuzz built in.
+ To reduce code footprint, there is an option
+ to disable harfbuzz altogheter.
+
+if SDL2_TTF_HARFBUZZ
+
+config SDL2_TTF_EXTERNAL_HARFBUZZ
+ bool
+ prompt "enable external harfbuzz support"
+ help
+ Use this option to build with an external
+ harfbuzz library.
+ Much like the external freetype option,
+ this can be used to reduce footprint by
+ deduplicating library use.
Hmmm, I would prefer to always us the system libraries or none at all, or
are there good reasons to use the built-in versions?
Michael
Guess none, beside compatibility? Relying on old broken behavior etc?
I've built it with the options set for external though. Seems ok.
Maybe the harfbuzz/freetype circular dependency made the project carry it's own
implementation?
And I agree, but refrained from changing the default behavior.
The duplication bugged be a bit when I stumbled upon it though.
Christian
+
+endif
+
+endif
diff --git a/rules/sdl2-ttf.make b/rules/sdl2-ttf.make
index beaad3992..724e26ed6 100644
--- a/rules/sdl2-ttf.make
+++ b/rules/sdl2-ttf.make
@@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_SDL2_TTF) += sdl2-ttf
#
# Paths and names
#
-SDL2_TTF_VERSION := 2.20.1
-SDL2_TTF_MD5 := 746be429bdfb5892066dcfaf593e1644
+SDL2_TTF_VERSION := 2.20.2
+SDL2_TTF_MD5 := 4815838c87410346226983f4e0a85fd4
SDL2_TTF := SDL2_ttf-$(SDL2_TTF_VERSION)
SDL2_TTF_SUFFIX := tar.gz
SDL2_TTF_URL :=
https://www.libsdl.org/projects/SDL_ttf/release/$(SDL2_TTF).$(SDL2_TTF_SUFFIX)
@@ -23,7 +23,7 @@ SDL2_TTF_SOURCE :=
$(SRCDIR)/$(SDL2_TTF).$(SDL2_TTF_SUFFIX)
SDL2_TTF_DIR := $(BUILDDIR)/$(SDL2_TTF)
SDL2_TTF_LICENSE := zlib
SDL2_TTF_LICENSE_FILES := \
- file://LICENSE.txt;md5=771dca8728b18d39b130e19b36514371
+ file://LICENSE.txt;md5=a41cbf59bdea749fe34c1af6d3615f68
# ----------------------------------------------------------------------------
# Prepare
@@ -33,6 +33,10 @@ SDL2_TTF_CONF_TOOL := autoconf
SDL2_TTF_CONF_OPT := \
$(CROSS_AUTOCONF_USR) \
$(GLOBAL_LARGE_FILE_OPTION) \
+ --$(call ptx/disen,PTXCONF_SDL2_TTF_EXTERNAL_FREETYPE)-freetype-builtin
\
+ --disable-freetypetest \
+ --$(call ptx/endis,PTXCONF_SDL2_TTF_HARFBUZZ)-harfbuzz \
+ --$(call ptx/disen,PTXCONF_SDL2_TTF_EXTERNAL_HARFBUZZ)-harfbuzz-builtin
\
--disable-sdltest
ifdef PTXCONF_SDL2_PULSEAUDIO
--
2.34.1