summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2023-05-11 23:28:11 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2023-05-12 10:48:16 +0800
commitea7ed430a6c9bddc09c2562ca6a6568005e6395e (patch)
treeeba6eb86ad717a731b2935159049c3fed8ff96d6
parent9dcf9ddccdf6dce03cf76bcab535032c06d91271 (diff)
downloadlibrsvg-ea7ed430a6c9bddc09c2562ca6a6568005e6395e.tar.gz
rsvg/Cargo.toml: Make FreeType compulsory for all builds
...and update the NMake Makefiles to feed in via envvars the FreeType .lib. The reason why we are not using pkg-config files for Visual Studio builds is because FreeType's build system support for generating pkg-config files is not quite there yet, not unlike what is going on in libxml2. For other notes, Cairo and HarfBuzz have pretty decent Meson build systems that provide the pkg-config files we need, and at this point one should really not be using Cairo-1.16.x.
-rw-r--r--ci/test-msvc.bat2
-rw-r--r--rsvg/Cargo.toml3
-rw-r--r--win32/Makefile.vc2
-rw-r--r--win32/config-msvc.mak.in2
-rw-r--r--win32/rsvg-rust.mak6
5 files changed, 11 insertions, 4 deletions
diff --git a/ci/test-msvc.bat b/ci/test-msvc.bat
index 00cb4ec8..99ae1814 100644
--- a/ci/test-msvc.bat
+++ b/ci/test-msvc.bat
@@ -58,7 +58,7 @@ copy /b release\x64\pkg-config.exe %INST%\bin
nmake /f Makefile.vc CFG=release clean
cd ..
-:: build and install FreeType (needed at least until Cairo fixes its checks for FontConfig)
+:: build and install FreeType
md _build_ft
cd _build_ft
meson setup ../freetype-%FREETYPE2_VER% --buildtype=release --prefix=%INST_PSX% --pkg-config-path=%INST%\lib\pkgconfig --cmake-prefix-path=%INST%
diff --git a/rsvg/Cargo.toml b/rsvg/Cargo.toml
index b287b5b8..48c7a3a9 100644
--- a/rsvg/Cargo.toml
+++ b/rsvg/Cargo.toml
@@ -14,6 +14,7 @@ rust-version.workspace = true
cairo-pdf = { version = "1.16", optional = true }
cairo-ps = { version = "1.16", optional = true }
cairo-svg = { version = "1.16", optional = true }
+freetype2 = "20.0.14"
gdk-pixbuf = { name = "gdk-pixbuf-2.0", version = "2.20" }
gio = { name = "gio-2.0", version = "2.24" }
glib = { name = "glib-2.0", version = "2.50" }
@@ -24,7 +25,6 @@ pangocairo = "1.46"
fontconfig = { version = "1.7", optional = true }
pangoft2 = { version = "1.46", optional = true }
harfbuzz = { version = "2.0", optional = true }
-freetype2 = { version = "20.0.14", optional = true }
cairo = { version = "1.16", optional = true }
cairo-gobject = { version = "1.16", optional = true }
cairo-png = { version = "1.16", optional = true }
@@ -36,7 +36,6 @@ cairo = "1.16"
cairo-gobject = "1.16"
cairo-png = "1.16"
harfbuzz = "2.0"
-freetype2 = "20.0.14"
[features]
c-api = []
diff --git a/win32/Makefile.vc b/win32/Makefile.vc
index 6fd5bff8..72f1173d 100644
--- a/win32/Makefile.vc
+++ b/win32/Makefile.vc
@@ -47,6 +47,8 @@ tests: all $(rsvg_tests)
rsvg_rust_tests:
@set PATH=$(BINDIR);%PATH%;%HOMEPATH%\.cargo\bin
@set GTK_LIB_DIR=$(LIBDIR);$(LIB)
+ @set SYSTEM_DEPS_FREETYPE2_NO_PKG_CONFIG=1
+ @set SYSTEM_DEPS_FREETYPE2_LIB=$(FREETYPE_LIB:.lib=)
@set SYSTEM_DEPS_LIBXML2_NO_PKG_CONFIG=1
@set SYSTEM_DEPS_LIBXML2_LIB=$(LIBXML2_LIB:.lib=)
@if not "$(PKG_CONFIG_PATH)" == "" set PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)
diff --git a/win32/config-msvc.mak.in b/win32/config-msvc.mak.in
index 8529f3c9..92a2cb03 100644
--- a/win32/config-msvc.mak.in
+++ b/win32/config-msvc.mak.in
@@ -93,7 +93,7 @@ LIBRSVG_INCLUDES = \
/I$(INCLUDEDIR)\libxml2
TEST_CFLAGS = $(BASE_CFLAGS)
-TEST_DEP_LIBS = pango-1.0.lib harfbuzz.lib freetype.lib $(TOOLS_DEP_LIBS)
+TEST_DEP_LIBS = pango-1.0.lib harfbuzz.lib $(FREETYPE_LIB) $(TOOLS_DEP_LIBS)
# Use PangoFT2 (for tests only)
!ifdef USE_PANGOFT2
diff --git a/win32/rsvg-rust.mak b/win32/rsvg-rust.mak
index 240a60c5..d0714738 100644
--- a/win32/rsvg-rust.mak
+++ b/win32/rsvg-rust.mak
@@ -114,6 +114,8 @@ build-$(PLAT)-$(CFG).pre.bat:
@echo if not "$(__VSCMD_PREINIT_PATH)" == "" set PATH=$(__VSCMD_PREINIT_PATH);%HOMEPATH%\.cargo\bin>>$@
@echo if "$(__VSCMD_PREINIT_PATH)" == "" set PATH=c:\Windows\system;c:\Windows;c:\Windows\system32\wbem;%HOMEPATH%\.cargo\bin>>$@
@echo set GTK_LIB_DIR=$(LIBDIR)>>$@
+ @echo set SYSTEM_DEPS_FREETYPE2_NO_PKG_CONFIG=1 >>$@
+ @echo set SYSTEM_DEPS_FREETYPE2_LIB=$(FREETYPE_LIB:.lib=)>>$@
@echo set SYSTEM_DEPS_LIBXML2_NO_PKG_CONFIG=1 >>$@
@echo set SYSTEM_DEPS_LIBXML2_LIB=$(LIBXML2_LIB:.lib=)>>$@
@if not "$(PKG_CONFIG_PATH)" == "" echo set PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)>>$@
@@ -144,6 +146,8 @@ $(CARGO_TARGET_OUTPUT_DIR)\rsvg-convert.exe:
$(RSVG_INTERNAL_LIB):
@set PATH=%PATH%;%HOMEPATH%\.cargo\bin
@set GTK_LIB_DIR=$(LIBDIR);$(LIB)
+ @set SYSTEM_DEPS_FREETYPE2_NO_PKG_CONFIG=1
+ @set SYSTEM_DEPS_FREETYPE2_LIB=$(FREETYPE_LIB:.lib=)
@set SYSTEM_DEPS_LIBXML2_NO_PKG_CONFIG=1
@set SYSTEM_DEPS_LIBXML2_LIB=$(LIBXML2_LIB:.lib=)
@if not "$(PKG_CONFIG_PATH)" == "" set PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)
@@ -154,6 +158,8 @@ $(RSVG_INTERNAL_LIB):
$(CARGO_TARGET_OUTPUT_DIR)\rsvg-convert.exe:
@set PATH=%PATH%;%HOMEPATH%\.cargo\bin
@set GTK_LIB_DIR=$(LIBDIR);$(LIB)
+ @set SYSTEM_DEPS_FREETYPE2_NO_PKG_CONFIG=1
+ @set SYSTEM_DEPS_FREETYPE2_LIB=$(FREETYPE_LIB:.lib=)
@set SYSTEM_DEPS_LIBXML2_NO_PKG_CONFIG=1
@set SYSTEM_DEPS_LIBXML2_LIB=$(LIBXML2_LIB:.lib=)
@if not "$(PKG_CONFIG_PATH)" == "" set PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)