diff --git a/CMakeLists.txt b/CMakeLists.txt index 2fb959c0b..fa46044ce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,18 +108,8 @@ # (this is compatible with the same CMake variables in zlib's CMake # support). -# To minimize the number of cmake_policy() workarounds, -# CMake >= 3 is requested. -cmake_minimum_required(VERSION 3.0...3.5) - -if (NOT CMAKE_VERSION VERSION_LESS 3.3) - # Allow symbol visibility settings also on static libraries. CMake < 3.3 - # only sets the property on a shared library build. - cmake_policy(SET CMP0063 NEW) - - # Support new IN_LIST if() operator. - cmake_policy(SET CMP0057 NEW) -endif () +# CMake 3.12 provides for IMPORTED targets for common libraries like zlib, libpng and bzip2 +cmake_minimum_required(VERSION 3.12) include(CheckIncludeFile) include(CMakeDependentOption) @@ -164,7 +154,7 @@ project(freetype C) set(VERSION_MAJOR "2") set(VERSION_MINOR "13") -set(VERSION_PATCH "2") +set(VERSION_PATCH "3") # Generate LIBRARY_VERSION and LIBRARY_SOVERSION. set(LIBTOOL_REGEX "version_info='([0-9]+):([0-9]+):([0-9]+)'") @@ -524,13 +514,11 @@ set(PKGCONFIG_LIBS "-L\${libdir} -lfreetype") set(PKGCONFIG_LIBS_PRIVATE "") if (ZLIB_FOUND) - target_link_libraries(freetype PRIVATE ${ZLIB_LIBRARIES}) - target_include_directories(freetype PRIVATE ${ZLIB_INCLUDE_DIRS}) + target_link_libraries(freetype PRIVATE ZLIB::ZLIB) list(APPEND PKGCONFIG_REQUIRES_PRIVATE "zlib") endif () if (BZIP2_FOUND) - target_link_libraries(freetype PRIVATE ${BZIP2_LIBRARIES}) - target_include_directories(freetype PRIVATE ${BZIP2_INCLUDE_DIR}) # not BZIP2_INCLUDE_DIRS + target_link_libraries(freetype PRIVATE BZip2::BZip2) if (PC_BZIP2_FOUND) list(APPEND PKGCONFIG_REQUIRES_PRIVATE "bzip2") else () @@ -538,14 +526,11 @@ if (BZIP2_FOUND) endif () endif () if (PNG_FOUND) - target_link_libraries(freetype PRIVATE ${PNG_LIBRARIES}) - target_compile_definitions(freetype PRIVATE ${PNG_DEFINITIONS}) - target_include_directories(freetype PRIVATE ${PNG_INCLUDE_DIRS}) + target_link_libraries(freetype PRIVATE PNG::PNG) list(APPEND PKGCONFIG_REQUIRES_PRIVATE "libpng") endif () if (HarfBuzz_FOUND) - target_link_libraries(freetype PRIVATE ${HarfBuzz_LIBRARY}) - target_include_directories(freetype PRIVATE ${HarfBuzz_INCLUDE_DIRS}) + target_link_libraries(freetype PRIVATE HarfBuzz::HarfBuzz) list(APPEND PKGCONFIG_REQUIRES_PRIVATE "harfbuzz >= ${HARFBUZZ_MIN_VERSION}") endif () if (BROTLIDEC_FOUND) diff --git a/MSBuild.rsp b/MSBuild.rsp index 3eba50762..8401e6030 100644 --- a/MSBuild.rsp +++ b/MSBuild.rsp @@ -1,2 +1,4 @@ +# MSBuild.rsp with default command-line switches +/clp:ForceConsoleColor +/p:Configuration=Release #/p:WindowsTargetPlatformVersion=10.0.16299.0 -/p:Configuration="Release" diff --git a/README b/README index 19c934256..0f5d3e0e0 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -FreeType 2.13.2 +FreeType 2.13.3 =============== Homepage: https://www.freetype.org @@ -32,9 +32,9 @@ sites. Go to and download one of the following files. - freetype-doc-2.13.2.tar.xz - freetype-doc-2.13.2.tar.gz - ftdoc2132.zip + freetype-doc-2.13.3.tar.xz + freetype-doc-2.13.3.tar.gz + ftdoc2133.zip To view the documentation online, go to diff --git a/autogen.sh b/autogen.sh index 7285a0155..a9f9575ff 100755 --- a/autogen.sh +++ b/autogen.sh @@ -99,7 +99,7 @@ check_tool_version () if test "$field"x = x; then field=3 # default to 3 for all GNU autotools, after filtering enclosed string fi - version=`$1 --version | head -1 | sed 's/([^)]*)/()/g' | cut -d ' ' -f $field` + version=`$1 --version | sed -n '1s/([^)]*)/()/gp' | cut -d ' ' -f $field` version_check=`compare_to_minimum_version $version $4` if test "$version_check"x = 0x; then echo "ERROR: Your version of the \`$2' tool is too old." @@ -182,7 +182,7 @@ copy_submodule_files () cp $DLG_SRC_DIR/* src/dlg } -if test -e ".git"; then +if test -d ".git" -o -h ".git"; then DLG_INC_DIR=subprojects/dlg/include/dlg DLG_SRC_DIR=subprojects/dlg/src/dlg diff --git a/builds/cmake/FindHarfBuzz.cmake b/builds/cmake/FindHarfBuzz.cmake index b481fa415..0f0e33a1a 100644 --- a/builds/cmake/FindHarfBuzz.cmake +++ b/builds/cmake/FindHarfBuzz.cmake @@ -28,8 +28,8 @@ # Try to find Harfbuzz include and library directories. # # After successful discovery, this will set for inclusion where needed: -# HarfBuzz_INCLUDE_DIRS - containg the HarfBuzz headers -# HarfBuzz_LIBRARIES - containg the HarfBuzz library +# HarfBuzz_INCLUDE_DIRS - containing the HarfBuzz headers +# HarfBuzz_LIBRARIES - containing the HarfBuzz library #[=======================================================================[.rst: FindHarfBuzz diff --git a/builds/compiler/gcc-dev.mk b/builds/compiler/gcc-dev.mk index e7121bec7..cdcd899f9 100644 --- a/builds/compiler/gcc-dev.mk +++ b/builds/compiler/gcc-dev.mk @@ -76,6 +76,7 @@ ifndef CFLAGS -Wpointer-arith \ -Wwrite-strings \ -Wredundant-decls \ + -Wno-format-extra-args \ -Wno-long-long \ $(nested_externs) \ $(strict_prototypes) diff --git a/builds/toplevel.mk b/builds/toplevel.mk index 4b7b148c5..0beda9441 100644 --- a/builds/toplevel.mk +++ b/builds/toplevel.mk @@ -274,12 +274,16 @@ dist: # GNU `config' git repository), relative to the `tmp' directory used during # `make dist'. # -CONFIG_GUESS = ~/git/config/config.guess -CONFIG_SUB = ~/git/config/config.sub +# GNU_CONFIG_GIT_URL = git://git.savannah.gnu.org/config.git +GNU_CONFIG_GIT_URL = https://git.savannah.gnu.org/git/config.git +GNU_CONFIG_DESTDIR = $(TOP_DIR)/subprojects/gnu-config + +CONFIG_GUESS = $(GNU_CONFIG_DESTDIR)/config.guess +CONFIG_SUB = $(GNU_CONFIG_DESTDIR)/config.sub # We also use this repository to access the gnulib script that converts git # commit messages to a ChangeLog file. -CHANGELOG_SCRIPT = ~/git/config/gitlog-to-changelog +CHANGELOG_SCRIPT = $(GNU_CONFIG_DESTDIR)/gitlog-to-changelog # Don't say `make do-dist'. Always use `make dist' instead. @@ -295,6 +299,8 @@ do-dist: distclean refdoc sh autogen.sh rm -rf $(TOP_DIR)/builds/unix/autom4te.cache + rm -rf $(GNU_CONFIG_DESTDIR) + git clone https://git.savannah.gnu.org/git/config.git $(GNU_CONFIG_DESTDIR) cp $(CONFIG_GUESS) $(TOP_DIR)/builds/unix cp $(CONFIG_SUB) $(TOP_DIR)/builds/unix @@ -312,5 +318,6 @@ do-dist: distclean refdoc @# Remove more stuff related to git. rm -rf $(TOP_DIR)/subprojects/dlg + rm -rf $(TOP_DIR)/subprojects/gnu-config # EOF diff --git a/builds/unix/configure.raw b/builds/unix/configure.raw index b3e056d55..46d957245 100644 --- a/builds/unix/configure.raw +++ b/builds/unix/configure.raw @@ -17,7 +17,7 @@ AC_CONFIG_SRCDIR([ftconfig.h.in]) # Don't forget to update `docs/VERSIONS.TXT'! -version_info='26:1:20' +version_info='26:2:20' AC_SUBST([version_info]) ft_version=`echo $version_info | tr : .` AC_SUBST([ft_version]) @@ -46,6 +46,7 @@ if test ${cross_compiling} = yes; then AC_CHECK_PROG(CC_BUILD, ${build}-gcc, ${build}-gcc) test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, gcc, gcc) test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, cc, cc, , , /usr/ucb/cc) + test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, clang, clang) test -z "${CC_BUILD}" && AC_MSG_ERROR([cannot find native C compiler]) AC_MSG_CHECKING([for suffix of native executables]) @@ -62,12 +63,18 @@ if test ${cross_compiling} = yes; then fi rm -f a.* b.* a_out.exe conftest.* AC_MSG_RESULT($EXEEXT_BUILD) + CFLAGS_BUILD= + LDFLAGS_BUILD= else CC_BUILD=${CC} + CFLAGS_BUILD=${CFLAGS} + LDFLAGS_BUILD=${LDFLAGS} EXEEXT_BUILD=${EXEEXT} fi AC_SUBST(CC_BUILD) +AC_SUBST(CFLAGS_BUILD) +AC_SUBST(LDFLAGS_BUILD) AC_SUBST(EXEEXT_BUILD) diff --git a/builds/unix/unix-cc.in b/builds/unix/unix-cc.in index aafad2f97..9e329d23f 100644 --- a/builds/unix/unix-cc.in +++ b/builds/unix/unix-cc.in @@ -113,7 +113,9 @@ LDFLAGS := @LDFLAGS@ CCraw_build := @CC_BUILD@ # native CC of building system E_BUILD := @EXEEXT_BUILD@ # extension for executable on building system EXPORTS_LIST := $(OBJ_DIR)/ftexport.sym -CCexe := $(CCraw_build) # used to compile `apinames' only +CCexe := $(CCraw_build) # used to compile `apinames' only, see exports.mk +CCexe_CFLAGS := @CFLAGS_BUILD@ # ditto. +CCexe_LDFLAGS := @LDFLAGS_BUILD@ # ditto. # Library linking. diff --git a/builds/vms/apinames_vms.bash b/builds/vms/apinames_vms.bash index e9b1b727b..1928d21ae 100644 --- a/builds/vms/apinames_vms.bash +++ b/builds/vms/apinames_vms.bash @@ -1,2 +1,2 @@ src/tools/apinames -wV include/freetype/*.h > freetype_vms0.opt -mv freetype_vms0.opt freetype_vms.opt +/gnu/bin/mv freetype_vms0.opt freetype_vms.opt diff --git a/builds/wince/vc2005-ce/freetype.sln b/builds/wince/vc2005-ce/freetype.sln index ff4546388..62c6a657b 100644 --- a/builds/wince/vc2005-ce/freetype.sln +++ b/builds/wince/vc2005-ce/freetype.sln @@ -146,7 +146,7 @@ Global {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Releaase|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) diff --git a/builds/wince/vc2005-ce/index.html b/builds/wince/vc2005-ce/index.html index 8ea6cfded..2505d7762 100644 --- a/builds/wince/vc2005-ce/index.html +++ b/builds/wince/vc2005-ce/index.html @@ -21,7 +21,7 @@ the following targets:
  • PPC/SP WM6 (Windows Mobile 6)
  • -It compiles the following libraries from the FreeType 2.13.2 sources:

    +It compiles the following libraries from the FreeType 2.13.3 sources:

    -It compiles the following libraries from the FreeType 2.13.2 sources:

    +It compiles the following libraries from the FreeType 2.13.3 sources: