diff options
author | Chun-wei Fan <fanchunwei@src.gnome.org> | 2023-05-11 23:28:11 +0800 |
---|---|---|
committer | Chun-wei Fan <fanchunwei@src.gnome.org> | 2023-05-12 10:48:16 +0800 |
commit | ea7ed430a6c9bddc09c2562ca6a6568005e6395e (patch) | |
tree | eba6eb86ad717a731b2935159049c3fed8ff96d6 | |
parent | 9dcf9ddccdf6dce03cf76bcab535032c06d91271 (diff) | |
download | librsvg-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.bat | 2 | ||||
-rw-r--r-- | rsvg/Cargo.toml | 3 | ||||
-rw-r--r-- | win32/Makefile.vc | 2 | ||||
-rw-r--r-- | win32/config-msvc.mak.in | 2 | ||||
-rw-r--r-- | win32/rsvg-rust.mak | 6 |
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) |