diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2021-08-29 03:23:39 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2021-08-29 03:23:39 +0000 |
commit | bbf1dbf0b3d1816a776bb343fe3d7053ded7edaa (patch) | |
tree | 2bec0223c338750826e348165a25ff886ff7af01 /Build/source/libs/freetype2/freetype-src/builds | |
parent | 5003f15f368f1ae0e925f78bf482c98fe06e68ba (diff) |
freetype 2.11.0
git-svn-id: svn://tug.org/texlive/trunk@60354 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/freetype2/freetype-src/builds')
100 files changed, 2910 insertions, 730 deletions
diff --git a/Build/source/libs/freetype2/freetype-src/builds/amiga/README b/Build/source/libs/freetype2/freetype-src/builds/amiga/README index c5525277688..4ec8770ba5d 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/amiga/README +++ b/Build/source/libs/freetype2/freetype-src/builds/amiga/README @@ -1,7 +1,7 @@ README for the builds/amiga subdirectory. -Copyright (C) 2005-2020 by +Copyright (C) 2005-2021 by Werner Lemberg and Detlef Würkner. This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/amiga/include/config/ftconfig.h b/Build/source/libs/freetype2/freetype-src/builds/amiga/include/config/ftconfig.h index 4976c75fa6d..6deea6b7e1b 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/amiga/include/config/ftconfig.h +++ b/Build/source/libs/freetype2/freetype-src/builds/amiga/include/config/ftconfig.h @@ -4,7 +4,7 @@ /* */ /* Amiga-specific configuration file (specification only). */ /* */ -/* Copyright (C) 2005-2020 by */ +/* Copyright (C) 2005-2021 by */ /* Werner Lemberg and Detlef Würkner. */ /* */ /* This file is part of the FreeType project, and may only be used, */ diff --git a/Build/source/libs/freetype2/freetype-src/builds/amiga/include/config/ftmodule.h b/Build/source/libs/freetype2/freetype-src/builds/amiga/include/config/ftmodule.h index 6035bf0163a..873537cab63 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/amiga/include/config/ftmodule.h +++ b/Build/source/libs/freetype2/freetype-src/builds/amiga/include/config/ftmodule.h @@ -4,7 +4,7 @@ /* */ /* Amiga-specific FreeType module selection. */ /* */ -/* Copyright (C) 2005-2020 by */ +/* Copyright (C) 2005-2021 by */ /* Werner Lemberg and Detlef Würkner. */ /* */ /* This file is part of the FreeType project, and may only be used, */ diff --git a/Build/source/libs/freetype2/freetype-src/builds/amiga/makefile b/Build/source/libs/freetype2/freetype-src/builds/amiga/makefile index 50315f38115..ed7c780b398 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/amiga/makefile +++ b/Build/source/libs/freetype2/freetype-src/builds/amiga/makefile @@ -5,7 +5,7 @@ # -# Copyright (C) 2005-2020 by +# Copyright (C) 2005-2021 by # Werner Lemberg and Detlef Würkner. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/amiga/makefile.os4 b/Build/source/libs/freetype2/freetype-src/builds/amiga/makefile.os4 index cd5151c6c5e..58c89208b6c 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/amiga/makefile.os4 +++ b/Build/source/libs/freetype2/freetype-src/builds/amiga/makefile.os4 @@ -4,7 +4,7 @@ # -# Copyright (C) 2005-2020 by +# Copyright (C) 2005-2021 by # Werner Lemberg and Detlef Würkner. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/amiga/smakefile b/Build/source/libs/freetype2/freetype-src/builds/amiga/smakefile index fa416765867..aaddd1995fe 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/amiga/smakefile +++ b/Build/source/libs/freetype2/freetype-src/builds/amiga/smakefile @@ -3,7 +3,7 @@ # -# Copyright (C) 2005-2020 by +# Copyright (C) 2005-2021 by # Werner Lemberg and Detlef Würkner. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/amiga/src/base/ftdebug.c b/Build/source/libs/freetype2/freetype-src/builds/amiga/src/base/ftdebug.c index 6510d206ae3..dc7e968db9e 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/amiga/src/base/ftdebug.c +++ b/Build/source/libs/freetype2/freetype-src/builds/amiga/src/base/ftdebug.c @@ -4,7 +4,7 @@ * * Debugging and logging component for amiga (body). * - * Copyright (C) 1996-2020 by + * Copyright (C) 1996-2021 by * David Turner, Robert Wilhelm, Werner Lemberg, and Detlef Wuerkner. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/builds/amiga/src/base/ftsystem.c b/Build/source/libs/freetype2/freetype-src/builds/amiga/src/base/ftsystem.c index 1dfbd661582..665f7402493 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/amiga/src/base/ftsystem.c +++ b/Build/source/libs/freetype2/freetype-src/builds/amiga/src/base/ftsystem.c @@ -4,7 +4,7 @@ /* */ /* Amiga-specific FreeType low-level system interface (body). */ /* */ -/* Copyright (C) 1996-2020 by */ +/* Copyright (C) 1996-2021 by */ /* David Turner, Robert Wilhelm, Werner Lemberg and Detlef Würkner. */ /* */ /* This file is part of the FreeType project, and may only be used, */ diff --git a/Build/source/libs/freetype2/freetype-src/builds/ansi/ansi-def.mk b/Build/source/libs/freetype2/freetype-src/builds/ansi/ansi-def.mk index 9642098da6e..218d5c0d151 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/ansi/ansi-def.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/ansi/ansi-def.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -13,11 +13,11 @@ # fully. -DELETE := rm -f -CAT := cat -SEP := / -BUILD_DIR := $(TOP_DIR)/builds/ansi -PLATFORM := ansi +DELETE := rm -f +CAT := cat +SEP := / +PLATFORM_DIR := $(TOP_DIR)/builds/ansi +PLATFORM := ansi # This is used for `make refdoc' and `make refdoc-venv' # @@ -64,14 +64,14 @@ T := -o$(space) # # These should concern: debug output, optimization & warnings. # -# Use the ANSIFLAGS variable to define the compiler flags used to enfore +# Use the ANSIFLAGS variable to define the compiler flags used to enforce # ANSI compliance. # CFLAGS ?= -c # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant. # -ANSIFLAGS := +ANSIFLAGS ?= # EOF diff --git a/Build/source/libs/freetype2/freetype-src/builds/ansi/ansi.mk b/Build/source/libs/freetype2/freetype-src/builds/ansi/ansi.mk index c24480303ed..b36c64e2f9e 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/ansi/ansi.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/ansi/ansi.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/atari/README.TXT b/Build/source/libs/freetype2/freetype-src/builds/atari/README.TXT index ffe65456d67..1300817b261 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/atari/README.TXT +++ b/Build/source/libs/freetype2/freetype-src/builds/atari/README.TXT @@ -15,7 +15,7 @@ To compile FreeType 2 as a library the following changes must be applied: INCLUDE;E:\freetype2\include -- The file `freetype2/include/Ft2build.h' must be patched as follows to +- The file `freetype/include/Ft2build.h' must be patched as follows to include ATARI.H: #ifndef FT2_BUILD_GENERIC_H_ @@ -40,7 +40,7 @@ ge„ndert werden: INCLUDE;E:\freetype2\include -- In der Datei freetype2/include/Ft2build.h muss zu Beginn +- In der Datei freetype/include/Ft2build.h muss zu Beginn ein #include "ATARI.H" wie folgt eingefgt werden: #ifndef FT2_BUILD_GENERIC_H_ diff --git a/Build/source/libs/freetype2/freetype-src/builds/beos/beos-def.mk b/Build/source/libs/freetype2/freetype-src/builds/beos/beos-def.mk index 5ae7ed8fd4e..d7d63b37c67 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/beos/beos-def.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/beos/beos-def.mk @@ -5,7 +5,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -15,11 +15,11 @@ # fully. -DELETE := rm -f -CAT := cat -SEP := / -BUILD_DIR := $(TOP_DIR)/builds/beos -PLATFORM := beos +DELETE := rm -f +CAT := cat +SEP := / +PLATFORM_DIR := $(TOP_DIR)/builds/beos +PLATFORM := beos # This is used for `make refdoc' and `make refdoc-venv' # @@ -66,14 +66,14 @@ T := -o$(space) # # These should concern: debug output, optimization & warnings. # -# Use the ANSIFLAGS variable to define the compiler flags used to enfore +# Use the ANSIFLAGS variable to define the compiler flags used to enforce # ANSI compliance. # CFLAGS ?= -c # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant. # -ANSIFLAGS := +ANSIFLAGS ?= # EOF diff --git a/Build/source/libs/freetype2/freetype-src/builds/beos/beos.mk b/Build/source/libs/freetype2/freetype-src/builds/beos/beos.mk index 1a082c1822b..f3e3fbbe917 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/beos/beos.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/beos/beos.mk @@ -2,7 +2,7 @@ # FreeType 2 configuration rules for a BeOS system # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/beos/detect.mk b/Build/source/libs/freetype2/freetype-src/builds/beos/detect.mk index 5b92512a44a..521ecae98f1 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/beos/detect.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/beos/detect.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -27,11 +27,11 @@ endif ifeq ($(PLATFORM),beos) - DELETE := rm -f - CAT := cat - SEP := / - BUILD_DIR := $(TOP_DIR)/builds/beos - CONFIG_FILE := beos.mk + DELETE := rm -f + CAT := cat + SEP := / + PLATFORM_DIR := $(TOP_DIR)/builds/beos + CONFIG_FILE := beos.mk setup: std_setup diff --git a/Build/source/libs/freetype2/freetype-src/builds/cmake/FindBrotliDec.cmake b/Build/source/libs/freetype2/freetype-src/builds/cmake/FindBrotliDec.cmake index 7c484c7dfe5..46356b1fd43 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/cmake/FindBrotliDec.cmake +++ b/Build/source/libs/freetype2/freetype-src/builds/cmake/FindBrotliDec.cmake @@ -1,6 +1,6 @@ # FindBrotliDec.cmake # -# Copyright (C) 2019-2020 by +# Copyright (C) 2019-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # Written by Werner Lemberg <wl@gnu.org> @@ -19,7 +19,8 @@ # BROTLIDEC_INCLUDE_DIRS # BROTLIDEC_LIBRARIES -include(FindPkgConfig) +find_package(PkgConfig QUIET) + pkg_check_modules(PC_BROTLIDEC QUIET libbrotlidec) if (PC_BROTLIDEC_VERSION) @@ -41,7 +42,7 @@ find_library(BROTLIDEC_LIBRARIES include(FindPackageHandleStandardArgs) find_package_handle_standard_args( - brotlidec + BrotliDec REQUIRED_VARS BROTLIDEC_INCLUDE_DIRS BROTLIDEC_LIBRARIES FOUND_VAR BROTLIDEC_FOUND VERSION_VAR BROTLIDEC_VERSION) diff --git a/Build/source/libs/freetype2/freetype-src/builds/cmake/FindHarfBuzz.cmake b/Build/source/libs/freetype2/freetype-src/builds/cmake/FindHarfBuzz.cmake index d489613fdaf..b481fa41519 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/cmake/FindHarfBuzz.cmake +++ b/Build/source/libs/freetype2/freetype-src/builds/cmake/FindHarfBuzz.cmake @@ -1,4 +1,5 @@ # Copyright (c) 2012, Intel Corporation +# Copyright (c) 2019 Sony Interactive Entertainment Inc. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -23,65 +24,180 @@ # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. - - -# Try to find HarfBuzz include and library directories. # -# After successful discovery, this will set for inclusion where needed: +# Try to find Harfbuzz include and library directories. # -# HARFBUZZ_INCLUDE_DIRS - containg the HarfBuzz headers -# HARFBUZZ_LIBRARIES - containg the HarfBuzz library +# After successful discovery, this will set for inclusion where needed: +# HarfBuzz_INCLUDE_DIRS - containg the HarfBuzz headers +# HarfBuzz_LIBRARIES - containg the HarfBuzz library + +#[=======================================================================[.rst: +FindHarfBuzz +-------------- + +Find HarfBuzz headers and libraries. + +Imported Targets +^^^^^^^^^^^^^^^^ + +``HarfBuzz::HarfBuzz`` + The HarfBuzz library, if found. + +``HarfBuzz::ICU`` + The HarfBuzz ICU library, if found. -include(FindPkgConfig) +Result Variables +^^^^^^^^^^^^^^^^ + +This will define the following variables in your project: + +``HarfBuzz_FOUND`` + true if (the requested version of) HarfBuzz is available. +``HarfBuzz_VERSION`` + the version of HarfBuzz. +``HarfBuzz_LIBRARIES`` + the libraries to link against to use HarfBuzz. +``HarfBuzz_INCLUDE_DIRS`` + where to find the HarfBuzz headers. +``HarfBuzz_COMPILE_OPTIONS`` + this should be passed to target_compile_options(), if the + target is not used for linking + +#]=======================================================================] + +find_package(PkgConfig QUIET) pkg_check_modules(PC_HARFBUZZ QUIET harfbuzz) +set(HarfBuzz_COMPILE_OPTIONS ${PC_HARFBUZZ_CFLAGS_OTHER}) +set(HarfBuzz_VERSION ${PC_HARFBUZZ_CFLAGS_VERSION}) + +find_path(HarfBuzz_INCLUDE_DIR + NAMES hb.h + HINTS ${PC_HARFBUZZ_INCLUDEDIR} ${PC_HARFBUZZ_INCLUDE_DIRS} + PATH_SUFFIXES harfbuzz +) + +find_library(HarfBuzz_LIBRARY + NAMES ${HarfBuzz_NAMES} harfbuzz + HINTS ${PC_HARFBUZZ_LIBDIR} ${PC_HARFBUZZ_LIBRARY_DIRS} +) + +if (HarfBuzz_INCLUDE_DIR AND NOT HarfBuzz_VERSION) + if (EXISTS "${HarfBuzz_INCLUDE_DIR}/hb-version.h") + file(READ "${HarfBuzz_INCLUDE_DIR}/hb-version.h" _harfbuzz_version_content) + + string(REGEX MATCH "#define +HB_VERSION_STRING +\"([0-9]+\\.[0-9]+\\.[0-9]+)\"" _dummy "${_harfbuzz_version_content}") + set(HarfBuzz_VERSION "${CMAKE_MATCH_1}") + endif () +endif () -find_path(HARFBUZZ_INCLUDE_DIRS - NAMES hb.h - HINTS ${PC_HARFBUZZ_INCLUDEDIR} - ${PC_HARFBUZZ_INCLUDE_DIRS} - PATH_SUFFIXES harfbuzz) - -find_library(HARFBUZZ_LIBRARIES - NAMES harfbuzz - HINTS ${PC_HARFBUZZ_LIBDIR} - ${PC_HARFBUZZ_LIBRARY_DIRS}) - -if (HARFBUZZ_INCLUDE_DIRS) - if (EXISTS "${HARFBUZZ_INCLUDE_DIRS}/hb-version.h") - file(READ "${HARFBUZZ_INCLUDE_DIRS}/hb-version.h" _harfbuzz_version_content) - - string(REGEX MATCH - "#define +HB_VERSION_STRING +\"([0-9]+\\.[0-9]+\\.[0-9]+)\"" - _dummy "${_harfbuzz_version_content}") - set(HARFBUZZ_VERSION "${CMAKE_MATCH_1}") +if ("${HarfBuzz_FIND_VERSION}" VERSION_GREATER "${HarfBuzz_VERSION}") + if (HarfBuzz_FIND_REQUIRED) + message(FATAL_ERROR + "Required version (" ${HarfBuzz_FIND_VERSION} ")" + " is higher than found version (" ${HarfBuzz_VERSION} ")") + else () + message(WARNING + "Required version (" ${HarfBuzz_FIND_VERSION} ")" + " is higher than found version (" ${HarfBuzz_VERSION} ")") + unset(HarfBuzz_VERSION) + unset(HarfBuzz_INCLUDE_DIRS) + unset(HarfBuzz_LIBRARIES) + return () endif () endif () -if ("${harfbuzz_FIND_VERSION}" VERSION_GREATER "${HARFBUZZ_VERSION}") - message(FATAL_ERROR - "Required version (" ${harfbuzz_FIND_VERSION} ")" - " is higher than found version (" ${HARFBUZZ_VERSION} ")") +# Find components +if (HarfBuzz_INCLUDE_DIR AND HarfBuzz_LIBRARY) + set(_HarfBuzz_REQUIRED_LIBS_FOUND ON) + set(HarfBuzz_LIBS_FOUND "HarfBuzz (required): ${HarfBuzz_LIBRARY}") +else () + set(_HarfBuzz_REQUIRED_LIBS_FOUND OFF) + set(HarfBuzz_LIBS_NOT_FOUND "HarfBuzz (required)") endif () -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args( - harfbuzz - REQUIRED_VARS HARFBUZZ_INCLUDE_DIRS HARFBUZZ_LIBRARIES - VERSION_VAR HARFBUZZ_VERSION) +if (NOT CMAKE_VERSION VERSION_LESS 3.3) + if ("ICU" IN_LIST HarfBuzz_FIND_COMPONENTS) + pkg_check_modules(PC_HARFBUZZ_ICU QUIET harfbuzz-icu) + set(HarfBuzz_ICU_COMPILE_OPTIONS ${PC_HARFBUZZ_ICU_CFLAGS_OTHER}) -mark_as_advanced( - HARFBUZZ_INCLUDE_DIRS - HARFBUZZ_LIBRARIES) + find_path(HarfBuzz_ICU_INCLUDE_DIR + NAMES hb-icu.h + HINTS ${PC_HARFBUZZ_ICU_INCLUDEDIR} ${PC_HARFBUZZ_ICU_INCLUDE_DIRS} + PATH_SUFFIXES harfbuzz + ) + + find_library(HarfBuzz_ICU_LIBRARY + NAMES ${HarfBuzz_ICU_NAMES} harfbuzz-icu + HINTS ${PC_HARFBUZZ_ICU_LIBDIR} ${PC_HARFBUZZ_ICU_LIBRARY_DIRS} + ) + + if (HarfBuzz_ICU_LIBRARY) + if (HarfBuzz_FIND_REQUIRED_ICU) + list(APPEND HarfBuzz_LIBS_FOUND "ICU (required): ${HarfBuzz_ICU_LIBRARY}") + else () + list(APPEND HarfBuzz_LIBS_FOUND "ICU (optional): ${HarfBuzz_ICU_LIBRARY}") + endif () + else () + if (HarfBuzz_FIND_REQUIRED_ICU) + set(_HarfBuzz_REQUIRED_LIBS_FOUND OFF) + list(APPEND HarfBuzz_LIBS_NOT_FOUND "ICU (required)") + else () + list(APPEND HarfBuzz_LIBS_NOT_FOUND "ICU (optional)") + endif () + endif () + endif () +endif () + +if (NOT HarfBuzz_FIND_QUIETLY) + if (HarfBuzz_LIBS_FOUND) + message(STATUS "Found the following HarfBuzz libraries:") + foreach (found ${HarfBuzz_LIBS_FOUND}) + message(STATUS " ${found}") + endforeach () + endif () + if (HarfBuzz_LIBS_NOT_FOUND) + message(STATUS "The following HarfBuzz libraries were not found:") + foreach (found ${HarfBuzz_LIBS_NOT_FOUND}) + message(STATUS " ${found}") + endforeach () + endif () +endif () + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(HarfBuzz + FOUND_VAR HarfBuzz_FOUND + REQUIRED_VARS HarfBuzz_INCLUDE_DIR HarfBuzz_LIBRARY _HarfBuzz_REQUIRED_LIBS_FOUND + VERSION_VAR HarfBuzz_VERSION +) -# Allow easy linking as in -# -# target_link_libraries(freetype PRIVATE Harfbuzz::Harfbuzz) -# if (NOT CMAKE_VERSION VERSION_LESS 3.1) - if (HARFBUZZ_FOUND AND NOT TARGET Harfbuzz::Harfbuzz) - add_library(Harfbuzz::Harfbuzz INTERFACE IMPORTED) - set_target_properties( - Harfbuzz::Harfbuzz PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${HARFBUZZ_INCLUDE_DIRS}") + if (HarfBuzz_LIBRARY AND NOT TARGET HarfBuzz::HarfBuzz) + add_library(HarfBuzz::HarfBuzz UNKNOWN IMPORTED GLOBAL) + set_target_properties(HarfBuzz::HarfBuzz PROPERTIES + IMPORTED_LOCATION "${HarfBuzz_LIBRARY}" + INTERFACE_COMPILE_OPTIONS "${HarfBuzz_COMPILE_OPTIONS}" + INTERFACE_INCLUDE_DIRECTORIES "${HarfBuzz_INCLUDE_DIR}" + ) + endif () + + if (HarfBuzz_ICU_LIBRARY AND NOT TARGET HarfBuzz::ICU) + add_library(HarfBuzz::ICU UNKNOWN IMPORTED GLOBAL) + set_target_properties(HarfBuzz::ICU PROPERTIES + IMPORTED_LOCATION "${HarfBuzz_ICU_LIBRARY}" + INTERFACE_COMPILE_OPTIONS "${HarfBuzz_ICU_COMPILE_OPTIONS}" + INTERFACE_INCLUDE_DIRECTORIES "${HarfBuzz_ICU_INCLUDE_DIR}" + ) endif () endif () + +mark_as_advanced( + HarfBuzz_INCLUDE_DIR + HarfBuzz_ICU_INCLUDE_DIR + HarfBuzz_LIBRARY + HarfBuzz_ICU_LIBRARY +) + +if (HarfBuzz_FOUND) + set(HarfBuzz_LIBRARIES ${HarfBuzz_LIBRARY} ${HarfBuzz_ICU_LIBRARY}) + set(HarfBuzz_INCLUDE_DIRS ${HarfBuzz_INCLUDE_DIR} ${HarfBuzz_ICU_INCLUDE_DIR}) +endif () diff --git a/Build/source/libs/freetype2/freetype-src/builds/cmake/iOS.cmake b/Build/source/libs/freetype2/freetype-src/builds/cmake/iOS.cmake index 6f46836adff..258654d4cb5 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/cmake/iOS.cmake +++ b/Build/source/libs/freetype2/freetype-src/builds/cmake/iOS.cmake @@ -1,6 +1,6 @@ # iOS.cmake # -# Copyright (C) 2014-2020 by +# Copyright (C) 2014-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # Written by David Wimsey <david@wimsey.us> diff --git a/Build/source/libs/freetype2/freetype-src/builds/cmake/testbuild.sh b/Build/source/libs/freetype2/freetype-src/builds/cmake/testbuild.sh index cc67abd461e..c6c637206a0 100755 --- a/Build/source/libs/freetype2/freetype-src/builds/cmake/testbuild.sh +++ b/Build/source/libs/freetype2/freetype-src/builds/cmake/testbuild.sh @@ -1,6 +1,6 @@ #!/bin/sh -e -# Copyright (C) 2015-2020 by +# Copyright (C) 2015-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/compiler/ansi-cc.mk b/Build/source/libs/freetype2/freetype-src/builds/compiler/ansi-cc.mk index 78b13a4905c..e73e6fca307 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/compiler/ansi-cc.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/compiler/ansi-cc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -59,7 +59,7 @@ T := -o$(space) # # These should concern: debug output, optimization & warnings. # -# Use the ANSIFLAGS variable to define the compiler flags used to enfore +# Use the ANSIFLAGS variable to define the compiler flags used to enforce # ANSI compliance. # CFLAGS ?= -c @@ -68,7 +68,7 @@ CFLAGS ?= -c # # we assume the compiler is already strictly ANSI # -ANSIFLAGS := +ANSIFLAGS ?= # Library linking diff --git a/Build/source/libs/freetype2/freetype-src/builds/compiler/bcc-dev.mk b/Build/source/libs/freetype2/freetype-src/builds/compiler/bcc-dev.mk index 5f6f161c7ad..71804529b3e 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/compiler/bcc-dev.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/compiler/bcc-dev.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -60,14 +60,14 @@ TE := -e # # These should concern: debug output, optimization & warnings. # -# Use the ANSIFLAGS variable to define the compiler flags used to enfore +# Use the ANSIFLAGS variable to define the compiler flags used to enforce # ANSI compliance. # CFLAGS ?= -q -c -y -d -v -Od -w-par -w-ccc -w-rch -w-pro -w-aus # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant. # -ANSIFLAGS := -A +ANSIFLAGS ?= -A # Library linking diff --git a/Build/source/libs/freetype2/freetype-src/builds/compiler/bcc.mk b/Build/source/libs/freetype2/freetype-src/builds/compiler/bcc.mk index f5e2e8a8d80..321db108972 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/compiler/bcc.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/compiler/bcc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -60,14 +60,14 @@ TE := -e # # These should concern: debug output, optimization & warnings. # -# Use the ANSIFLAGS variable to define the compiler flags used to enfore +# Use the ANSIFLAGS variable to define the compiler flags used to enforce # ANSI compliance. # CFLAGS ?= -c -q -y -d -v -Od -w-par -w-ccc -w-rch -w-pro -w-aus # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant. # -ANSIFLAGS := -A +ANSIFLAGS ?= -A # Library linking diff --git a/Build/source/libs/freetype2/freetype-src/builds/compiler/emx.mk b/Build/source/libs/freetype2/freetype-src/builds/compiler/emx.mk index bbb76049a74..b3b6047e5e5 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/compiler/emx.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/compiler/emx.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 2003-2020 by +# Copyright (C) 2003-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -58,14 +58,14 @@ T := -o$(space) # # These should concern: debug output, optimization & warnings. # -# Use the ANSIFLAGS variable to define the compiler flags used to enfore +# Use the ANSIFLAGS variable to define the compiler flags used to enforce # ANSI compliance. # CFLAGS ?= -c -g -O6 -Wall # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant. # -ANSIFLAGS := +ANSIFLAGS ?= # Library linking diff --git a/Build/source/libs/freetype2/freetype-src/builds/compiler/gcc-dev.mk b/Build/source/libs/freetype2/freetype-src/builds/compiler/gcc-dev.mk index 95b5f50de98..f01192f7ed8 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/compiler/gcc-dev.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/compiler/gcc-dev.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -59,7 +59,7 @@ T := -o$(space) # # These should concern: debug output, optimization & warnings. # -# Use the ANSIFLAGS variable to define the compiler flags used to enfore +# Use the ANSIFLAGS variable to define the compiler flags used to enforce # ANSI compliance. # ifndef CFLAGS @@ -82,8 +82,9 @@ ifndef CFLAGS endif # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant. +# You can override this on the command line. # -ANSIFLAGS := -ansi -pedantic +ANSIFLAGS ?= -std=c99 -pedantic # Library linking diff --git a/Build/source/libs/freetype2/freetype-src/builds/compiler/gcc.mk b/Build/source/libs/freetype2/freetype-src/builds/compiler/gcc.mk index 63cd93b26b3..ede20b2fc60 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/compiler/gcc.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/compiler/gcc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -58,14 +58,14 @@ T := -o$(space) # # These should concern: debug output, optimization & warnings. # -# Use the ANSIFLAGS variable to define the compiler flags used to enfore +# Use the ANSIFLAGS variable to define the compiler flags used to enforce # ANSI compliance. # CFLAGS ?= -c -g -O3 -Wall # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant. # -ANSIFLAGS := -ansi -pedantic +ANSIFLAGS ?= -std=c99 -pedantic # Library linking diff --git a/Build/source/libs/freetype2/freetype-src/builds/compiler/intelc.mk b/Build/source/libs/freetype2/freetype-src/builds/compiler/intelc.mk index b3c69b04194..e5dcf90b3ff 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/compiler/intelc.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/compiler/intelc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -61,7 +61,7 @@ TE := /Fe # # These should concern: debug output, optimization & warnings. # -# Use the ANSIFLAGS variable to define the compiler flags used to enfore +# Use the ANSIFLAGS variable to define the compiler flags used to enforce # ANSI compliance. # # Note that the Intel C/C++ compiler version 4.5 complains about @@ -74,7 +74,7 @@ CFLAGS ?= /nologo /c /Ox /G5 /W3 /Qwd32 # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant. # -ANSIFLAGS := /Qansi_alias /Za +ANSIFLAGS ?= /Qansi_alias /Za # Library linking # diff --git a/Build/source/libs/freetype2/freetype-src/builds/compiler/unix-lcc.mk b/Build/source/libs/freetype2/freetype-src/builds/compiler/unix-lcc.mk index 26f8e7b7baa..40322b4be3e 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/compiler/unix-lcc.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/compiler/unix-lcc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -60,7 +60,7 @@ T := -o$(space) # # These should concern: debug output, optimization & warnings. # -# Use the ANSIFLAGS variable to define the compiler flags used to enfore +# Use the ANSIFLAGS variable to define the compiler flags used to enforce # ANSI compliance. # CFLAGS ?= -c -g @@ -71,7 +71,7 @@ CFLAGS ?= -c -g # # the "-A" flag simply increments verbosity about non ANSI code # -ANSIFLAGS := -A +ANSIFLAGS ?= -A # library linking diff --git a/Build/source/libs/freetype2/freetype-src/builds/compiler/visualage.mk b/Build/source/libs/freetype2/freetype-src/builds/compiler/visualage.mk index 4a8c8ac1424..ebc3e48cf82 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/compiler/visualage.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/compiler/visualage.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/compiler/visualc.mk b/Build/source/libs/freetype2/freetype-src/builds/compiler/visualc.mk index a9cf71d8ef4..dc6998ad1db 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/compiler/visualc.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/compiler/visualc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -63,14 +63,14 @@ TE := /Fe # # These should concern: debug output, optimization & warnings. # -# Use the ANSIFLAGS variable to define the compiler flags used to enfore +# Use the ANSIFLAGS variable to define the compiler flags used to enforce # ANSI compliance. # CFLAGS ?= /nologo /c /Ox /W3 /WX # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant. # -ANSIFLAGS := /Za /D_CRT_SECURE_NO_DEPRECATE +ANSIFLAGS ?= /Za /D_CRT_SECURE_NO_DEPRECATE # Library linking diff --git a/Build/source/libs/freetype2/freetype-src/builds/compiler/watcom.mk b/Build/source/libs/freetype2/freetype-src/builds/compiler/watcom.mk index 43a9e0668a3..c1d1b66519e 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/compiler/watcom.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/compiler/watcom.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -60,14 +60,14 @@ T := -FO= # # These should concern: debug output, optimization & warnings. # -# Use the ANSIFLAGS variable to define the compiler flags used to enfore +# Use the ANSIFLAGS variable to define the compiler flags used to enforce # ANSI compliance. # CFLAGS ?= -zq # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant. # -ANSIFLAGS := -za +ANSIFLAGS ?= -za # Library linking diff --git a/Build/source/libs/freetype2/freetype-src/builds/compiler/win-lcc.mk b/Build/source/libs/freetype2/freetype-src/builds/compiler/win-lcc.mk index 00d9d31dae6..27fbc303430 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/compiler/win-lcc.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/compiler/win-lcc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -60,7 +60,7 @@ T := -Fo # # These should concern: debug output, optimization & warnings. # -# Use the ANSIFLAGS variable to define the compiler flags used to enfore +# Use the ANSIFLAGS variable to define the compiler flags used to enforce # ANSI compliance. # CFLAGS ?= -c -g2 -O @@ -69,7 +69,7 @@ CFLAGS ?= -c -g2 -O # # LCC is pure ANSI anyway! # -ANSIFLAGS := +ANSIFLAGS ?= # library linking diff --git a/Build/source/libs/freetype2/freetype-src/builds/detect.mk b/Build/source/libs/freetype2/freetype-src/builds/detect.mk index 94627fc0531..78e9e750ec4 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/detect.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/detect.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -16,7 +16,7 @@ # This sub-Makefile is in charge of detecting the current platform. It sets # the following variables: # -# BUILD_DIR The configuration and system-specific directory. Usually +# PLATFORM_DIR The configuration and system-specific directory. Usually # `builds/$(PLATFORM)' but can be different for custom builds # of the library. # @@ -49,8 +49,8 @@ SEP := / BUILD_CONFIG := $(TOP_DIR)/builds # These two assignments must be delayed. -BUILD_DIR = $(BUILD_CONFIG)/$(PLATFORM) -CONFIG_RULES = $(BUILD_DIR)/$(CONFIG_FILE) +PLATFORM_DIR = $(BUILD_CONFIG)/$(PLATFORM) +CONFIG_RULES = $(PLATFORM_DIR)/$(CONFIG_FILE) # We define the BACKSLASH variable to hold a single back-slash character. # This is needed because a line like @@ -113,7 +113,7 @@ std_setup: $(info ) $(info $(empty) platform $(PLATFORM)) $(info $(empty) compiler $(CC)) - $(info $(empty) configuration directory $(subst /,$(SEP),$(BUILD_DIR))) + $(info $(empty) configuration directory $(subst /,$(SEP),$(PLATFORM_DIR))) $(info $(empty) configuration rules $(subst /,$(SEP),$(CONFIG_RULES))) $(info ) $(info If this does not correspond to your system or settings please remove the file) diff --git a/Build/source/libs/freetype2/freetype-src/builds/dos/detect.mk b/Build/source/libs/freetype2/freetype-src/builds/dos/detect.mk index f5987947884..d95a2caa528 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/dos/detect.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/dos/detect.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/dos/dos-def.mk b/Build/source/libs/freetype2/freetype-src/builds/dos/dos-def.mk index 067d1d42b57..f7fbc4d6563 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/dos/dos-def.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/dos/dos-def.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -13,11 +13,11 @@ # fully. -DELETE := del -CAT := type -SEP := $(strip \ ) -BUILD_DIR := $(TOP_DIR)/builds/dos -PLATFORM := dos +DELETE := del +CAT := type +SEP := $(strip \ ) +PLATFORM_DIR := $(TOP_DIR)/builds/dos +PLATFORM := dos # This is used for `make refdoc' and `make refdoc-venv' # diff --git a/Build/source/libs/freetype2/freetype-src/builds/dos/dos-emx.mk b/Build/source/libs/freetype2/freetype-src/builds/dos/dos-emx.mk index 51732083780..dd9947962c7 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/dos/dos-emx.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/dos/dos-emx.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 2003-2020 by +# Copyright (C) 2003-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/dos/dos-gcc.mk b/Build/source/libs/freetype2/freetype-src/builds/dos/dos-gcc.mk index 638892dbfa2..9abdabea128 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/dos/dos-gcc.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/dos/dos-gcc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/dos/dos-wat.mk b/Build/source/libs/freetype2/freetype-src/builds/dos/dos-wat.mk index 4e39d21a599..7ab82afeb0d 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/dos/dos-wat.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/dos/dos-wat.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 2003-2020 by +# Copyright (C) 2003-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/exports.mk b/Build/source/libs/freetype2/freetype-src/builds/exports.mk index eba966875f8..67c7c993569 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/exports.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/exports.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 2005-2020 by +# Copyright (C) 2005-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/freetype.mk b/Build/source/libs/freetype2/freetype-src/builds/freetype.mk index 1d7eeb601b2..bae8145564a 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/freetype.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/freetype.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -20,8 +20,8 @@ # The following variables (set by other Makefile components, in the # environment, or on the command line) are used: # -# BUILD_DIR The architecture dependent directory, -# e.g. `$(TOP_DIR)/builds/unix'. Added to INCLUDES also. +# PLATFORM_DIR The architecture-dependent directory, +# e.g., `$(TOP_DIR)/builds/unix'. Added to INCLUDES also. # # OBJ_DIR The directory in which object files are created. # @@ -121,7 +121,7 @@ PROJECT_LIBRARY := $(LIB_DIR)/$(LIBRARY).$A # INCLUDES := $(subst /,$(COMPILER_SEP),$(OBJ_DIR) \ $(DEVEL_DIR) \ - $(BUILD_DIR) \ + $(PLATFORM_DIR) \ $(TOP_DIR)/include) INCLUDE_FLAGS := $(INCLUDES:%=$I%) @@ -150,9 +150,9 @@ endif # # `CPPFLAGS' might be specified by the user in the environment. # -FT_CFLAGS = $(CPPFLAGS) \ - $(CFLAGS) \ - $DFT2_BUILD_LIBRARY +FT_CFLAGS = $(CPPFLAGS) \ + $(CFLAGS) \ + $DFT2_BUILD_LIBRARY FT_COMPILE := $(CC) $(ANSIFLAGS) $(INCLUDE_FLAGS) $(FT_CFLAGS) @@ -175,16 +175,16 @@ OBJECTS_LIST := # changes, the whole library is recompiled. # ifneq ($(wildcard $(OBJ_DIR)/ftoption.h),) - FTOPTION_H := $(OBJ_DIR)/ftoption.h -else ifneq ($(wildcard $(BUILD_DIR)/ftoption.h),) - FTOPTION_H := $(BUILD_DIR)/ftoption.h + FTOPTION_H := $(OBJ_DIR)/ftoption.h +else ifneq ($(wildcard $(PLATFORM_DIR)/ftoption.h),) + FTOPTION_H := $(PLATFORM_DIR)/ftoption.h endif PUBLIC_H := $(wildcard $(PUBLIC_DIR)/*.h) INTERNAL_H := $(wildcard $(INTERNAL_DIR)/*.h) \ $(wildcard $(SERVICES_DIR)/*.h) CONFIG_H := $(wildcard $(CONFIG_DIR)/*.h) \ - $(wildcard $(BUILD_DIR)/config/*.h) \ + $(wildcard $(PLATFORM_DIR)/config/*.h) \ $(FTMODULE_H) \ $(FTOPTION_H) DEVEL_H := $(wildcard $(TOP_DIR)/devel/*.h) @@ -220,6 +220,7 @@ $(FTDEBUG_OBJ): $(FTDEBUG_SRC) $(FREETYPE_H) # include $(SRC_DIR)/base/rules.mk include $(patsubst %,$(SRC_DIR)/%/rules.mk,$(MODULES)) +include $(SRC_DIR)/dlg/rules.mk # ftinit component @@ -260,8 +261,8 @@ endif # All FreeType library objects. # -OBJ_M := $(BASE_OBJ_M) $(BASE_EXT_OBJ) $(DRV_OBJS_M) -OBJ_S := $(BASE_OBJ_S) $(BASE_EXT_OBJ) $(DRV_OBJS_S) +OBJ_M := $(BASE_OBJ_M) $(BASE_EXT_OBJ) $(DRV_OBJS_M) $(DLG_OBJS_M) +OBJ_S := $(BASE_OBJ_S) $(BASE_EXT_OBJ) $(DRV_OBJS_S) $(DLG_OBJS_S) # The target `multi' on the Make command line indicates that we want to diff --git a/Build/source/libs/freetype2/freetype-src/builds/link_dos.mk b/Build/source/libs/freetype2/freetype-src/builds/link_dos.mk index c1ed1507af5..8716be51be4 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/link_dos.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/link_dos.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/link_std.mk b/Build/source/libs/freetype2/freetype-src/builds/link_std.mk index 940e67484ed..03f77721ffb 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/link_std.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/link_std.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/mac/ftmac.c b/Build/source/libs/freetype2/freetype-src/builds/mac/ftmac.c index 2cb30468c09..dc3c318f465 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/mac/ftmac.c +++ b/Build/source/libs/freetype2/freetype-src/builds/mac/ftmac.c @@ -5,7 +5,7 @@ /* Mac FOND support. Written by just@letterror.com. */ /* Heavily Fixed by mpsuzuki, George Williams and Sean McBride */ /* */ -/* Copyright (C) 1996-2020 by */ +/* Copyright (C) 1996-2021 by */ /* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -1011,7 +1011,7 @@ typedef short ResourceIndex; old_total_size = total_size; } - if ( FT_ALLOC( buffer, (FT_Long)total_size ) ) + if ( FT_QALLOC( buffer, (FT_Long)total_size ) ) goto Error; /* Second pass: append all POST data to the buffer, add PFB fields. */ @@ -1127,7 +1127,7 @@ typedef short ResourceIndex; return FT_THROW( Invalid_Handle ); sfnt_size = (FT_ULong)GetHandleSize( sfnt ); - if ( FT_ALLOC( sfnt_data, (FT_Long)sfnt_size ) ) + if ( FT_QALLOC( sfnt_data, (FT_Long)sfnt_size ) ) { ReleaseResource( sfnt ); return error; diff --git a/Build/source/libs/freetype2/freetype-src/builds/meson/extract_freetype_version.py b/Build/source/libs/freetype2/freetype-src/builds/meson/extract_freetype_version.py index 15e87dbccd0..ab79fdb3b44 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/meson/extract_freetype_version.py +++ b/Build/source/libs/freetype2/freetype-src/builds/meson/extract_freetype_version.py @@ -1,4 +1,14 @@ #!/usr/bin/env python +# +# Copyright (C) 2020-2021 by +# David Turner, Robert Wilhelm, and Werner Lemberg. +# +# This file is part of the FreeType project, and may only be used, modified, +# and distributed under the terms of the FreeType project license, +# LICENSE.TXT. By continuing to use, modify, or distribute this file you +# indicate that you have read the license and understand and accept it +# fully. + """Extract the FreeType version numbers from `<freetype/freetype.h>`. This script parses the header to extract the version number defined there. diff --git a/Build/source/libs/freetype2/freetype-src/builds/meson/extract_libtool_version.py b/Build/source/libs/freetype2/freetype-src/builds/meson/extract_libtool_version.py index 0569481b345..4527f11b216 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/meson/extract_libtool_version.py +++ b/Build/source/libs/freetype2/freetype-src/builds/meson/extract_libtool_version.py @@ -1,4 +1,14 @@ #!/usr/bin/env python +# +# Copyright (C) 2020-2021 by +# David Turner, Robert Wilhelm, and Werner Lemberg. +# +# This file is part of the FreeType project, and may only be used, modified, +# and distributed under the terms of the FreeType project license, +# LICENSE.TXT. By continuing to use, modify, or distribute this file you +# indicate that you have read the license and understand and accept it +# fully. + """Extract the libtool version from `configure.raw`. This script parses the `configure.raw` file to extract the libtool version diff --git a/Build/source/libs/freetype2/freetype-src/builds/meson/generate_reference_docs.py b/Build/source/libs/freetype2/freetype-src/builds/meson/generate_reference_docs.py index 219017c9d9c..15d9b066005 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/meson/generate_reference_docs.py +++ b/Build/source/libs/freetype2/freetype-src/builds/meson/generate_reference_docs.py @@ -1,4 +1,14 @@ #!/usr/bin/env python +# +# Copyright (C) 2020-2021 by +# David Turner, Robert Wilhelm, and Werner Lemberg. +# +# This file is part of the FreeType project, and may only be used, modified, +# and distributed under the terms of the FreeType project license, +# LICENSE.TXT. By continuing to use, modify, or distribute this file you +# indicate that you have read the license and understand and accept it +# fully. + """Generate FreeType reference documentation.""" from __future__ import print_function diff --git a/Build/source/libs/freetype2/freetype-src/builds/meson/parse_modules_cfg.py b/Build/source/libs/freetype2/freetype-src/builds/meson/parse_modules_cfg.py index e0f76056165..aa6e9e1763a 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/meson/parse_modules_cfg.py +++ b/Build/source/libs/freetype2/freetype-src/builds/meson/parse_modules_cfg.py @@ -1,4 +1,14 @@ #!/usr/bin/env python +# +# Copyright (C) 2020-2021 by +# David Turner, Robert Wilhelm, and Werner Lemberg. +# +# This file is part of the FreeType project, and may only be used, modified, +# and distributed under the terms of the FreeType project license, +# LICENSE.TXT. By continuing to use, modify, or distribute this file you +# indicate that you have read the license and understand and accept it +# fully. + """Parse modules.cfg and dump its output either as ftmodule.h or a list of base extensions. """ diff --git a/Build/source/libs/freetype2/freetype-src/builds/meson/process_ftoption_h.py b/Build/source/libs/freetype2/freetype-src/builds/meson/process_ftoption_h.py index b5f80c3142c..fe608878587 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/meson/process_ftoption_h.py +++ b/Build/source/libs/freetype2/freetype-src/builds/meson/process_ftoption_h.py @@ -1,4 +1,14 @@ -#!/usr/bin/python +#!/usr/bin/env python +# +# Copyright (C) 2020-2021 by +# David Turner, Robert Wilhelm, and Werner Lemberg. +# +# This file is part of the FreeType project, and may only be used, modified, +# and distributed under the terms of the FreeType project license, +# LICENSE.TXT. By continuing to use, modify, or distribute this file you +# indicate that you have read the license and understand and accept it +# fully. + """Toggle settings in `ftoption.h` file based on command-line arguments. This script takes an `ftoption.h` file as input and rewrites @@ -82,7 +92,7 @@ def main(): line = "#define " + option_name new_lines.append(line) - result = "\n".join(new_lines) + result = "\n".join(new_lines) + "\n" # Sanity check that all command-line options were actually processed. cmdline_options = set(args.enable) | set(args.disable) diff --git a/Build/source/libs/freetype2/freetype-src/builds/modules.mk b/Build/source/libs/freetype2/freetype-src/builds/modules.mk index ae2e238f162..33fccdf96e1 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/modules.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/modules.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/os2/detect.mk b/Build/source/libs/freetype2/freetype-src/builds/os2/detect.mk index 659b6c4a5ab..7b8962b1979 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/os2/detect.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/os2/detect.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/os2/os2-def.mk b/Build/source/libs/freetype2/freetype-src/builds/os2/os2-def.mk index b0976540337..08aab9573c5 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/os2/os2-def.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/os2/os2-def.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -13,11 +13,11 @@ # fully. -DELETE := del -CAT := type -SEP := $(strip \ ) -BUILD_DIR := $(TOP_DIR)/builds/os2 -PLATFORM := os2 +DELETE := del +CAT := type +SEP := $(strip \ ) +PLATFORM_DIR := $(TOP_DIR)/builds/os2 +PLATFORM := os2 # This is used for `make refdoc' and `make refdoc-venv' # diff --git a/Build/source/libs/freetype2/freetype-src/builds/os2/os2-dev.mk b/Build/source/libs/freetype2/freetype-src/builds/os2/os2-dev.mk index 8e2a4eb6540..40591ffe380 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/os2/os2-dev.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/os2/os2-dev.mk @@ -5,7 +5,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/os2/os2-gcc.mk b/Build/source/libs/freetype2/freetype-src/builds/os2/os2-gcc.mk index 2bd39ae52fb..854c46df852 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/os2/os2-gcc.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/os2/os2-gcc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/symbian/bld.inf b/Build/source/libs/freetype2/freetype-src/builds/symbian/bld.inf index 9739da1c4e6..b9d000b1a22 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/symbian/bld.inf +++ b/Build/source/libs/freetype2/freetype-src/builds/symbian/bld.inf @@ -2,7 +2,7 @@ // FreeType 2 project for the symbian platform // -// Copyright (C) 2008-2020 by +// Copyright (C) 2008-2021 by // David Turner, Robert Wilhelm, and Werner Lemberg. // // This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/symbian/freetype.mmp b/Build/source/libs/freetype2/freetype-src/builds/symbian/freetype.mmp index 90fc6bb8898..fa49157abf2 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/symbian/freetype.mmp +++ b/Build/source/libs/freetype2/freetype-src/builds/symbian/freetype.mmp @@ -2,7 +2,7 @@ // FreeType 2 makefile for the symbian platform // -// Copyright (C) 2008-2020 by +// Copyright (C) 2008-2021 by // David Turner, Robert Wilhelm, and Werner Lemberg. // // This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/toplevel.mk b/Build/source/libs/freetype2/freetype-src/builds/toplevel.mk index 5de61c1137f..3b3fd64fea5 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/toplevel.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/toplevel.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -103,6 +103,7 @@ ifneq ($(findstring setup,$(MAKECMDGOALS)),) check_platform := 1 endif + # Include the automatic host platform detection rules when we need to # check the platform. # @@ -112,6 +113,17 @@ ifdef check_platform include $(TOP_DIR)/builds/detect.mk + # For builds directly from the git repository we need to copy files + # from `subprojects/dlg' to `src/dlg' and `include/dlg'. + # + ifeq ($(wildcard $(TOP_DIR)/src/dlg/dlg.*),) + ifeq ($(wildcard $(TOP_DIR)/subprojects/dlg/*),) + copy_submodule: check_out_submodule + endif + + setup: copy_submodule + endif + # This rule makes sense for Unix only to remove files created by a run of # the configure script which hasn't been successful (so that no # `config.mk' has been created). It uses the built-in $(RM) command of @@ -154,6 +166,23 @@ else endif # test check_platform +.PHONY: check_out_submodule copy_submodule + +check_out_submodule: + $(info Checking out submodule in `subprojects/dlg') + git submodule init + git submodule update + +copy_submodule: + $(info Copying files from `subprojects/dlg' to `src/dlg' and `include/dlg') + ifeq ($(wildcard include/dlg),) + mkdir $(subst /,$(SEP),include/dlg) + endif + $(COPY) $(subst /,$(SEP),subprojects/dlg/include/dlg/output.h include/dlg) + $(COPY) $(subst /,$(SEP),subprojects/dlg/include/dlg/dlg.h include/dlg) + $(COPY) $(subst /,$(SEP),subprojects/dlg/src/dlg/dlg.c src/dlg) + + # We always need the list of modules in ftmodule.h. # all setup: $(FTMODULE_H) @@ -219,7 +248,10 @@ dist: currdir=`pwd` ; \ for f in `find . -wholename '*/.git' -prune \ + -o -name .gitattributes \ -o -name .gitignore \ + -o -name .gitlab-ci.yml \ + -o -name .gitmodules \ -o -name .mailmap \ -o -type d \ -o -print` ; do \ @@ -271,4 +303,7 @@ do-dist: distclean refdoc rm -rf docs/markdown rm -f docs/mkdocs.yml + @# Remove more stuff related to git. + rm -rf subprojects + # EOF diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/aclocal.m4 b/Build/source/libs/freetype2/freetype-src/builds/unix/aclocal.m4 index adad988eb5f..0a3f827f8c2 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/aclocal.m4 +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.15.1 -*- Autoconf -*- +# generated automatically by aclocal 1.16.3 -*- Autoconf -*- -# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -736,6 +736,7 @@ _LT_CONFIG_SAVE_COMMANDS([ cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. @@ -9156,5 +9157,6 @@ m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) m4_include([ax_compare_version.m4]) m4_include([ax_prog_python_version.m4]) +m4_include([ax_pthread.m4]) m4_include([ft-munmap.m4]) m4_include([pkg.m4]) diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/ax_pthread.m4 b/Build/source/libs/freetype2/freetype-src/builds/unix/ax_pthread.m4 new file mode 100644 index 00000000000..e5858e50c3c --- /dev/null +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/ax_pthread.m4 @@ -0,0 +1,522 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_pthread.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# This macro figures out how to build C programs using POSIX threads. It +# sets the PTHREAD_LIBS output variable to the threads library and linker +# flags, and the PTHREAD_CFLAGS output variable to any special C compiler +# flags that are needed. (The user can also force certain compiler +# flags/libs to be tested by setting these environment variables.) +# +# Also sets PTHREAD_CC and PTHREAD_CXX to any special C compiler that is +# needed for multi-threaded programs (defaults to the value of CC +# respectively CXX otherwise). (This is necessary on e.g. AIX to use the +# special cc_r/CC_r compiler alias.) +# +# NOTE: You are assumed to not only compile your program with these flags, +# but also to link with them as well. For example, you might link with +# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS +# $PTHREAD_CXX $CXXFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS +# +# If you are only building threaded programs, you may wish to use these +# variables in your default LIBS, CFLAGS, and CC: +# +# LIBS="$PTHREAD_LIBS $LIBS" +# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +# CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" +# CC="$PTHREAD_CC" +# CXX="$PTHREAD_CXX" +# +# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant +# has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to +# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). +# +# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the +# PTHREAD_PRIO_INHERIT symbol is defined when compiling with +# PTHREAD_CFLAGS. +# +# ACTION-IF-FOUND is a list of shell commands to run if a threads library +# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it +# is not found. If ACTION-IF-FOUND is not specified, the default action +# will define HAVE_PTHREAD. +# +# Please let the authors know if this macro fails on any platform, or if +# you have any other suggestions or comments. This macro was based on work +# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help +# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by +# Alejandro Forero Cuervo to the autoconf macro repository. We are also +# grateful for the helpful feedback of numerous users. +# +# Updated for Autoconf 2.68 by Daniel Richard G. +# +# LICENSE +# +# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu> +# Copyright (c) 2011 Daniel Richard G. <skunk@iSKUNK.ORG> +# Copyright (c) 2019 Marc Stevens <marc.stevens@cwi.nl> +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see <https://www.gnu.org/licenses/>. +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 30 + +AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) +AC_DEFUN([AX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_TARGET]) +AC_REQUIRE([AC_PROG_CC]) +AC_REQUIRE([AC_PROG_SED]) +AC_LANG_PUSH([C]) +ax_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on Tru64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then + ax_pthread_save_CC="$CC" + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"]) + AS_IF([test "x$PTHREAD_CXX" != "x"], [CXX="$PTHREAD_CXX"]) + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS]) + AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes]) + AC_MSG_RESULT([$ax_pthread_ok]) + if test "x$ax_pthread_ok" = "xno"; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + CC="$ax_pthread_save_CC" + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items with a "," contain both +# C compiler flags (before ",") and linker flags (after ","). Other items +# starting with a "-" are C compiler flags, and remaining items are +# library names, except for "none" which indicates that we try without +# any flags at all, and "pthread-config" which is a program returning +# the flags for the Pth emulation library. + +ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64 +# (Note: HP C rejects this with "bad form for `-t' option") +# -pthreads: Solaris/gcc (Note: HP C also rejects) +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads and +# -D_REENTRANT too), HP C (must be checked before -lpthread, which +# is present but should not be used directly; and before -mthreads, +# because the compiler interprets this as "-mt" + "-hreads") +# -mthreads: Mingw32/gcc, Lynx/gcc +# pthread: Linux, etcetera +# --thread-safe: KAI C++ +# pthread-config: use pthread-config program (for GNU Pth library) + +case $target_os in + + freebsd*) + + # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) + # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) + + ax_pthread_flags="-kthread lthread $ax_pthread_flags" + ;; + + hpux*) + + # From the cc(1) man page: "[-mt] Sets various -D flags to enable + # multi-threading and also sets -lpthread." + + ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags" + ;; + + openedition*) + + # IBM z/OS requires a feature-test macro to be defined in order to + # enable POSIX threads at all, so give the user a hint if this is + # not set. (We don't define these ourselves, as they can affect + # other portions of the system API in unpredictable ways.) + + AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING], + [ +# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS) + AX_PTHREAD_ZOS_MISSING +# endif + ], + [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])]) + ;; + + solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (N.B.: The stubs are missing + # pthread_cleanup_push, or rather a function called by this macro, + # so we could check for that, but who knows whether they'll stub + # that too in a future libc.) So we'll check first for the + # standard Solaris way of linking pthreads (-mt -lpthread). + + ax_pthread_flags="-mt,-lpthread pthread $ax_pthread_flags" + ;; +esac + +# Are we compiling with Clang? + +AC_CACHE_CHECK([whether $CC is Clang], + [ax_cv_PTHREAD_CLANG], + [ax_cv_PTHREAD_CLANG=no + # Note that Autoconf sets GCC=yes for Clang as well as GCC + if test "x$GCC" = "xyes"; then + AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG], + [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */ +# if defined(__clang__) && defined(__llvm__) + AX_PTHREAD_CC_IS_CLANG +# endif + ], + [ax_cv_PTHREAD_CLANG=yes]) + fi + ]) +ax_pthread_clang="$ax_cv_PTHREAD_CLANG" + + +# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC) + +# Note that for GCC and Clang -pthread generally implies -lpthread, +# except when -nostdlib is passed. +# This is problematic using libtool to build C++ shared libraries with pthread: +# [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460 +# [2] https://bugzilla.redhat.com/show_bug.cgi?id=661333 +# [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468555 +# To solve this, first try -pthread together with -lpthread for GCC + +AS_IF([test "x$GCC" = "xyes"], + [ax_pthread_flags="-pthread,-lpthread -pthread -pthreads $ax_pthread_flags"]) + +# Clang takes -pthread (never supported any other flag), but we'll try with -lpthread first + +AS_IF([test "x$ax_pthread_clang" = "xyes"], + [ax_pthread_flags="-pthread,-lpthread -pthread"]) + + +# The presence of a feature test macro requesting re-entrant function +# definitions is, on some systems, a strong hint that pthreads support is +# correctly enabled + +case $target_os in + darwin* | hpux* | linux* | osf* | solaris*) + ax_pthread_check_macro="_REENTRANT" + ;; + + aix*) + ax_pthread_check_macro="_THREAD_SAFE" + ;; + + *) + ax_pthread_check_macro="--" + ;; +esac +AS_IF([test "x$ax_pthread_check_macro" = "x--"], + [ax_pthread_check_cond=0], + [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"]) + + +if test "x$ax_pthread_ok" = "xno"; then +for ax_pthread_try_flag in $ax_pthread_flags; do + + case $ax_pthread_try_flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + *,*) + PTHREAD_CFLAGS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\1/"` + PTHREAD_LIBS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\2/"` + AC_MSG_CHECKING([whether pthreads work with "$PTHREAD_CFLAGS" and "$PTHREAD_LIBS"]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag]) + PTHREAD_CFLAGS="$ax_pthread_try_flag" + ;; + + pthread-config) + AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no]) + AS_IF([test "x$ax_pthread_config" = "xno"], [continue]) + PTHREAD_CFLAGS="`pthread-config --cflags`" + PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag]) + PTHREAD_LIBS="-l$ax_pthread_try_flag" + ;; + esac + + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h> +# if $ax_pthread_check_cond +# error "$ax_pthread_check_macro must be defined" +# endif + static void *some_global = NULL; + static void routine(void *a) + { + /* To avoid any unused-parameter or + unused-but-set-parameter warning. */ + some_global = a; + } + static void *start_routine(void *a) { return a; }], + [pthread_t th; pthread_attr_t attr; + pthread_create(&th, 0, start_routine, 0); + pthread_join(th, 0); + pthread_attr_init(&attr); + pthread_cleanup_push(routine, 0); + pthread_cleanup_pop(0) /* ; */])], + [ax_pthread_ok=yes], + []) + + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" + + AC_MSG_RESULT([$ax_pthread_ok]) + AS_IF([test "x$ax_pthread_ok" = "xyes"], [break]) + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + + +# Clang needs special handling, because older versions handle the -pthread +# option in a rather... idiosyncratic way + +if test "x$ax_pthread_clang" = "xyes"; then + + # Clang takes -pthread; it has never supported any other flag + + # (Note 1: This will need to be revisited if a system that Clang + # supports has POSIX threads in a separate library. This tends not + # to be the way of modern systems, but it's conceivable.) + + # (Note 2: On some systems, notably Darwin, -pthread is not needed + # to get POSIX threads support; the API is always present and + # active. We could reasonably leave PTHREAD_CFLAGS empty. But + # -pthread does define _REENTRANT, and while the Darwin headers + # ignore this macro, third-party headers might not.) + + # However, older versions of Clang make a point of warning the user + # that, in an invocation where only linking and no compilation is + # taking place, the -pthread option has no effect ("argument unused + # during compilation"). They expect -pthread to be passed in only + # when source code is being compiled. + # + # Problem is, this is at odds with the way Automake and most other + # C build frameworks function, which is that the same flags used in + # compilation (CFLAGS) are also used in linking. Many systems + # supported by AX_PTHREAD require exactly this for POSIX threads + # support, and in fact it is often not straightforward to specify a + # flag that is used only in the compilation phase and not in + # linking. Such a scenario is extremely rare in practice. + # + # Even though use of the -pthread flag in linking would only print + # a warning, this can be a nuisance for well-run software projects + # that build with -Werror. So if the active version of Clang has + # this misfeature, we search for an option to squash it. + + AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread], + [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG], + [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown + # Create an alternate version of $ac_link that compiles and + # links in two steps (.c -> .o, .o -> exe) instead of one + # (.c -> exe), because the warning occurs only in the second + # step + ax_pthread_save_ac_link="$ac_link" + ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g' + ax_pthread_link_step=`AS_ECHO(["$ac_link"]) | sed "$ax_pthread_sed"` + ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)" + ax_pthread_save_CFLAGS="$CFLAGS" + for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do + AS_IF([test "x$ax_pthread_try" = "xunknown"], [break]) + CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS" + ac_link="$ax_pthread_save_ac_link" + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], + [ac_link="$ax_pthread_2step_ac_link" + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], + [break]) + ]) + done + ac_link="$ax_pthread_save_ac_link" + CFLAGS="$ax_pthread_save_CFLAGS" + AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no]) + ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try" + ]) + + case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in + no | unknown) ;; + *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;; + esac + +fi # $ax_pthread_clang = yes + + + +# Various other checks: +if test "x$ax_pthread_ok" = "xyes"; then + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + + # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. + AC_CACHE_CHECK([for joinable pthread attribute], + [ax_cv_PTHREAD_JOINABLE_ATTR], + [ax_cv_PTHREAD_JOINABLE_ATTR=unknown + for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>], + [int attr = $ax_pthread_attr; return attr /* ; */])], + [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break], + []) + done + ]) + AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \ + test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \ + test "x$ax_pthread_joinable_attr_defined" != "xyes"], + [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], + [$ax_cv_PTHREAD_JOINABLE_ATTR], + [Define to necessary symbol if this constant + uses a non-standard name on your system.]) + ax_pthread_joinable_attr_defined=yes + ]) + + AC_CACHE_CHECK([whether more special flags are required for pthreads], + [ax_cv_PTHREAD_SPECIAL_FLAGS], + [ax_cv_PTHREAD_SPECIAL_FLAGS=no + case $target_os in + solaris*) + ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS" + ;; + esac + ]) + AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \ + test "x$ax_pthread_special_flags_added" != "xyes"], + [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS" + ax_pthread_special_flags_added=yes]) + + AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], + [ax_cv_PTHREAD_PRIO_INHERIT], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]], + [[int i = PTHREAD_PRIO_INHERIT; + return i;]])], + [ax_cv_PTHREAD_PRIO_INHERIT=yes], + [ax_cv_PTHREAD_PRIO_INHERIT=no]) + ]) + AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \ + test "x$ax_pthread_prio_inherit_defined" != "xyes"], + [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.]) + ax_pthread_prio_inherit_defined=yes + ]) + + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" + + # More AIX lossage: compile with *_r variant + if test "x$GCC" != "xyes"; then + case $target_os in + aix*) + AS_CASE(["x/$CC"], + [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], + [#handle absolute path differently from PATH based program lookup + AS_CASE(["x$CC"], + [x/*], + [ + AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"]) + AS_IF([test "x${CXX}" != "x"], [AS_IF([AS_EXECUTABLE_P([${CXX}_r])],[PTHREAD_CXX="${CXX}_r"])]) + ], + [ + AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC]) + AS_IF([test "x${CXX}" != "x"], [AC_CHECK_PROGS([PTHREAD_CXX],[${CXX}_r],[$CXX])]) + ] + ) + ]) + ;; + esac + fi +fi + +test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" +test -n "$PTHREAD_CXX" || PTHREAD_CXX="$CXX" + +AC_SUBST([PTHREAD_LIBS]) +AC_SUBST([PTHREAD_CFLAGS]) +AC_SUBST([PTHREAD_CC]) +AC_SUBST([PTHREAD_CXX]) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test "x$ax_pthread_ok" = "xyes"; then + ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1]) + : +else + ax_pthread_ok=no + $2 +fi +AC_LANG_POP +])dnl AX_PTHREAD diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/config.sub b/Build/source/libs/freetype2/freetype-src/builds/unix/config.sub index d74fb6deac9..d80c5d759e4 100755 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/config.sub +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/config.sub @@ -4,7 +4,7 @@ # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2021-08-14' +timestamp='2021-07-03' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -121,11 +121,9 @@ esac # Split fields of configuration type # shellcheck disable=SC2162 -saved_IFS=$IFS IFS="-" read field1 field2 field3 field4 <<EOF $1 EOF -IFS=$saved_IFS # Separate into logical components for further validation case $1 in @@ -174,10 +172,6 @@ case $1 in basic_machine=$field1 basic_os=$field2 ;; - zephyr*) - basic_machine=$field1-unknown - basic_os=$field2 - ;; # Manufacturers dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ @@ -937,11 +931,9 @@ case $basic_machine in *-*) # shellcheck disable=SC2162 - saved_IFS=$IFS IFS="-" read cpu vendor <<EOF $basic_machine EOF - IFS=$saved_IFS ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and @@ -1321,11 +1313,9 @@ case $basic_os in ;; *-*) # shellcheck disable=SC2162 - saved_IFS=$IFS IFS="-" read kernel os <<EOF $basic_os EOF - IFS=$saved_IFS ;; # Default OS when just kernel was specified nto*) @@ -1707,7 +1697,7 @@ fi # Now, validate our (potentially fixed-up) OS. case $os in # Sometimes we do "kernel-libc", so those need to count as OSes. - musl* | newlib* | relibc* | uclibc*) + musl* | newlib* | uclibc*) ;; # Likewise for "kernel-abi" eabi* | gnueabi*) @@ -1748,7 +1738,7 @@ case $os in | skyos* | haiku* | rdos* | toppers* | drops* | es* \ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ - | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr*) + | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx*) ;; # This one is extra strict with allowed versions sco3.2v2 | sco3.2v[4-9]* | sco5v6*) @@ -1765,12 +1755,11 @@ esac # As a final step for OS-related things, validate the OS-kernel combination # (given a valid OS), if there is a kernel. case $kernel-$os in - linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ - | linux-musl* | linux-relibc* | linux-uclibc* ) + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* ) ;; uclinux-uclibc* ) ;; - -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + -dietlibc* | -newlib* | -musl* | -uclibc* ) # These are just libc implementations, not actual OSes, and thus # require a kernel. echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/configure b/Build/source/libs/freetype2/freetype-src/builds/unix/configure index d62efe8fafc..f9b9fb90475 100755 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/configure +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for FreeType 2.10.4. +# Generated by GNU Autoconf 2.69 for FreeType 2.11. # # Report bugs to <freetype@nongnu.org>. # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='FreeType' PACKAGE_TARNAME='freetype' -PACKAGE_VERSION='2.10.4' -PACKAGE_STRING='FreeType 2.10.4' +PACKAGE_VERSION='2.11' +PACKAGE_STRING='FreeType 2.11' PACKAGE_BUGREPORT='freetype@nongnu.org' PACKAGE_URL='' @@ -644,6 +644,15 @@ REQUIRES_PRIVATE ftmac_c PYTHON_VERSION PYTHON +PTHREAD_CFLAGS +PTHREAD_LIBS +PTHREAD_CXX +PTHREAD_CC +ax_pthread_config +target_os +target_vendor +target_cpu +target LIB_CLOCK_GETTIME BROTLI_LIBS BROTLI_CFLAGS @@ -1340,7 +1349,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures FreeType 2.10.4 to adapt to many kinds of systems. +\`configure' configures FreeType 2.11 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1400,12 +1409,13 @@ _ACEOF System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] + --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of FreeType 2.10.4:";; + short | recursive ) echo "Configuration of FreeType 2.11:";; esac cat <<\_ACEOF @@ -1560,7 +1570,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -FreeType configure 2.10.4 +FreeType configure 2.11 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2158,7 +2168,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by FreeType $as_me 2.10.4, which was +It was created by FreeType $as_me 2.11, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2514,7 +2524,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # Don't forget to update `docs/VERSIONS.TXT'! -version_info='23:4:17' +version_info='24:0:18' ft_version=`echo $version_info | tr : .` @@ -12359,118 +12369,6 @@ esac # checks for header files -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <float.h> - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <string.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdlib.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ctype.h> -#include <stdlib.h> -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - for ac_header in fcntl.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` @@ -13049,6 +12947,9 @@ fi # Here we check whether we can use our mmap file component. +# +# Note that `ftsystem.c` for Windows has its own mmap-like implementation +# not covered by `AC_FUNC_MMAP` and/or `FT_UNMAP_PARAM`. # Check whether --enable-mmap was given. if test "${enable_mmap+set}" = set; then : @@ -13058,6 +12959,15 @@ else fi if test "x${enable_mmap}" != "xno"; then + case "$host" in + *-*-mingw*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5 +$as_echo_n "checking for working mmap... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: using MapViewOfFile in Windows" >&5 +$as_echo "using MapViewOfFile in Windows" >&6; } + FTSYS_SRC='$(TOP_DIR)/builds/windows/ftsystem.c' + ;; + *) @@ -13259,14 +13169,10 @@ $as_echo "#define HAVE_MMAP 1" >>confdefs.h fi rm -f conftest.mmap conftest.txt -fi -if test "x${enable_mmap}" = "xno" \ - -o "$ac_cv_func_mmap_fixed_mapped" != "yes"; then - FTSYS_SRC='$(BASE_DIR)/ftsystem.c' -else - FTSYS_SRC='$(BUILD_DIR)/ftsystem.c' + if test "$ac_cv_func_mmap_fixed_mapped" = "yes"; then + FTSYS_SRC='$(PLATFORM_DIR)/ftsystem.c' - ac_fn_c_check_decl "$LINENO" "munmap" "ac_cv_have_decl_munmap" " + ac_fn_c_check_decl "$LINENO" "munmap" "ac_cv_have_decl_munmap" " #ifdef HAVE_UNISTD_H #include <unistd.h> @@ -13286,7 +13192,7 @@ cat >>confdefs.h <<_ACEOF _ACEOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for munmap's first parameter type" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for munmap's first parameter type" >&5 $as_echo_n "checking for munmap's first parameter type... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -13312,9 +13218,17 @@ $as_echo "char *" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + ;; + esac +fi + +if test -z "$FTSYS_SRC"; then + FTSYS_SRC='$(BASE_DIR)/ftsystem.c' fi + for ac_func in memcpy memmove do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` @@ -13331,18 +13245,10 @@ done # get compiler flags right # -# We try to make the compiler work for C89-strict source. Even if the -# C compiler is gcc and C89 flags are available, some system headers -# (e.g., Android Bionic libc) are broken in C89 mode. We have to check -# whether the compilation finishes successfully. -# -# Due to bugs in mingwrt 4.0.3 we don't use `-ansi' for MinGW. -# -# To avoid zillions of -# -# ISO C90 does not support 'long long' -# -# warnings, we disable `-pedantic' for gcc version < 4.6. +# We try to make the compiler work for C99-strict source. Even if the +# C compiler is gcc and C99 flags are available, some system headers +# might be broken in C99 mode. We have to check whether compilation +# finishes successfully. # if test "x$GCC" = xyes; then XX_CFLAGS="-Wall" @@ -13354,24 +13260,12 @@ if test "x$GCC" = xyes; then XX_ANSIFLAGS="-pedantic" ;; *) - GCC_VERSION=`$CC -dumpversion` - GCC_MAJOR=`echo "$GCC_VERSION" | sed 's/\([^.][^.]*\).*/\1/'` - GCC_MINOR=`echo "$GCC_VERSION" | sed 's/[^.][^.]*.\([^.][^.]*\).*/\1/'` - - XX_PEDANTIC=-pedantic - if test $GCC_MAJOR -lt 4; then - XX_PEDANTIC= - else - if test $GCC_MAJOR -eq 4 -a $GCC_MINOR -lt 6; then - XX_PEDANTIC= - fi - fi - XX_ANSIFLAGS="" - for a in $XX_PEDANTIC -ansi + + for a in "-pedantic" "-std=c99" do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking gcc compiler flag ${a} to assure ANSI C works correctly" >&5 -$as_echo_n "checking gcc compiler flag ${a} to assure ANSI C works correctly... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking $CC compiler flag ${a} to assure ANSI C99 works correctly" >&5 +$as_echo_n "checking $CC compiler flag ${a} to assure ANSI C99 works correctly... " >&6; } orig_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} ${XX_ANSIFLAGS} ${a}" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -13993,7 +13887,7 @@ fi have_harfbuzz=no if test x"$with_harfbuzz" = xyes -o x"$with_harfbuzz" = xauto; then - harfbuzz_pkg="harfbuzz >= 1.8.0" + harfbuzz_pkg="harfbuzz >= 2.0.0" have_harfbuzz_pkg=no if test x"$HARFBUZZ_CFLAGS" = x -a x"$HARFBUZZ_LIBS" = x; then @@ -14873,6 +14767,770 @@ $as_echo "$as_me: WARNING: ;; esac +# Check for pthreads + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +$as_echo_n "checking target system type... " >&6; } +if ${ac_cv_target+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +$as_echo "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ax_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on Tru64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then + ax_pthread_save_CC="$CC" + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + if test "x$PTHREAD_CC" != "x"; then : + CC="$PTHREAD_CC" +fi + if test "x$PTHREAD_CXX" != "x"; then : + CXX="$PTHREAD_CXX" +fi + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS" >&5 +$as_echo_n "checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_join (); +int +main () +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ax_pthread_ok=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5 +$as_echo "$ax_pthread_ok" >&6; } + if test "x$ax_pthread_ok" = "xno"; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + CC="$ax_pthread_save_CC" + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items with a "," contain both +# C compiler flags (before ",") and linker flags (after ","). Other items +# starting with a "-" are C compiler flags, and remaining items are +# library names, except for "none" which indicates that we try without +# any flags at all, and "pthread-config" which is a program returning +# the flags for the Pth emulation library. + +ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64 +# (Note: HP C rejects this with "bad form for `-t' option") +# -pthreads: Solaris/gcc (Note: HP C also rejects) +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads and +# -D_REENTRANT too), HP C (must be checked before -lpthread, which +# is present but should not be used directly; and before -mthreads, +# because the compiler interprets this as "-mt" + "-hreads") +# -mthreads: Mingw32/gcc, Lynx/gcc +# pthread: Linux, etcetera +# --thread-safe: KAI C++ +# pthread-config: use pthread-config program (for GNU Pth library) + +case $target_os in + + freebsd*) + + # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) + # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) + + ax_pthread_flags="-kthread lthread $ax_pthread_flags" + ;; + + hpux*) + + # From the cc(1) man page: "[-mt] Sets various -D flags to enable + # multi-threading and also sets -lpthread." + + ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags" + ;; + + openedition*) + + # IBM z/OS requires a feature-test macro to be defined in order to + # enable POSIX threads at all, so give the user a hint if this is + # not set. (We don't define these ourselves, as they can affect + # other portions of the system API in unpredictable ways.) + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS) + AX_PTHREAD_ZOS_MISSING +# endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "AX_PTHREAD_ZOS_MISSING" >/dev/null 2>&1; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&5 +$as_echo "$as_me: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&2;} +fi +rm -f conftest* + + ;; + + solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (N.B.: The stubs are missing + # pthread_cleanup_push, or rather a function called by this macro, + # so we could check for that, but who knows whether they'll stub + # that too in a future libc.) So we'll check first for the + # standard Solaris way of linking pthreads (-mt -lpthread). + + ax_pthread_flags="-mt,-lpthread pthread $ax_pthread_flags" + ;; +esac + +# Are we compiling with Clang? + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC is Clang" >&5 +$as_echo_n "checking whether $CC is Clang... " >&6; } +if ${ax_cv_PTHREAD_CLANG+:} false; then : + $as_echo_n "(cached) " >&6 +else + ax_cv_PTHREAD_CLANG=no + # Note that Autoconf sets GCC=yes for Clang as well as GCC + if test "x$GCC" = "xyes"; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Note: Clang 2.7 lacks __clang_[a-z]+__ */ +# if defined(__clang__) && defined(__llvm__) + AX_PTHREAD_CC_IS_CLANG +# endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "AX_PTHREAD_CC_IS_CLANG" >/dev/null 2>&1; then : + ax_cv_PTHREAD_CLANG=yes +fi +rm -f conftest* + + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG" >&5 +$as_echo "$ax_cv_PTHREAD_CLANG" >&6; } +ax_pthread_clang="$ax_cv_PTHREAD_CLANG" + + +# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC) + +# Note that for GCC and Clang -pthread generally implies -lpthread, +# except when -nostdlib is passed. +# This is problematic using libtool to build C++ shared libraries with pthread: +# [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460 +# [2] https://bugzilla.redhat.com/show_bug.cgi?id=661333 +# [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468555 +# To solve this, first try -pthread together with -lpthread for GCC + +if test "x$GCC" = "xyes"; then : + ax_pthread_flags="-pthread,-lpthread -pthread -pthreads $ax_pthread_flags" +fi + +# Clang takes -pthread (never supported any other flag), but we'll try with -lpthread first + +if test "x$ax_pthread_clang" = "xyes"; then : + ax_pthread_flags="-pthread,-lpthread -pthread" +fi + + +# The presence of a feature test macro requesting re-entrant function +# definitions is, on some systems, a strong hint that pthreads support is +# correctly enabled + +case $target_os in + darwin* | hpux* | linux* | osf* | solaris*) + ax_pthread_check_macro="_REENTRANT" + ;; + + aix*) + ax_pthread_check_macro="_THREAD_SAFE" + ;; + + *) + ax_pthread_check_macro="--" + ;; +esac +if test "x$ax_pthread_check_macro" = "x--"; then : + ax_pthread_check_cond=0 +else + ax_pthread_check_cond="!defined($ax_pthread_check_macro)" +fi + + +if test "x$ax_pthread_ok" = "xno"; then +for ax_pthread_try_flag in $ax_pthread_flags; do + + case $ax_pthread_try_flag in + none) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5 +$as_echo_n "checking whether pthreads work without any flags... " >&6; } + ;; + + *,*) + PTHREAD_CFLAGS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\1/"` + PTHREAD_LIBS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\2/"` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with \"$PTHREAD_CFLAGS\" and \"$PTHREAD_LIBS\"" >&5 +$as_echo_n "checking whether pthreads work with \"$PTHREAD_CFLAGS\" and \"$PTHREAD_LIBS\"... " >&6; } + ;; + + -*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $ax_pthread_try_flag" >&5 +$as_echo_n "checking whether pthreads work with $ax_pthread_try_flag... " >&6; } + PTHREAD_CFLAGS="$ax_pthread_try_flag" + ;; + + pthread-config) + # Extract the first word of "pthread-config", so it can be a program name with args. +set dummy pthread-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ax_pthread_config+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ax_pthread_config"; then + ac_cv_prog_ax_pthread_config="$ax_pthread_config" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ax_pthread_config="yes" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_ax_pthread_config" && ac_cv_prog_ax_pthread_config="no" +fi +fi +ax_pthread_config=$ac_cv_prog_ax_pthread_config +if test -n "$ax_pthread_config"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_config" >&5 +$as_echo "$ax_pthread_config" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "x$ax_pthread_config" = "xno"; then : + continue +fi + PTHREAD_CFLAGS="`pthread-config --cflags`" + PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" + ;; + + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$ax_pthread_try_flag" >&5 +$as_echo_n "checking for the pthreads library -l$ax_pthread_try_flag... " >&6; } + PTHREAD_LIBS="-l$ax_pthread_try_flag" + ;; + esac + + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <pthread.h> +# if $ax_pthread_check_cond +# error "$ax_pthread_check_macro must be defined" +# endif + static void *some_global = NULL; + static void routine(void *a) + { + /* To avoid any unused-parameter or + unused-but-set-parameter warning. */ + some_global = a; + } + static void *start_routine(void *a) { return a; } +int +main () +{ +pthread_t th; pthread_attr_t attr; + pthread_create(&th, 0, start_routine, 0); + pthread_join(th, 0); + pthread_attr_init(&attr); + pthread_cleanup_push(routine, 0); + pthread_cleanup_pop(0) /* ; */ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ax_pthread_ok=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5 +$as_echo "$ax_pthread_ok" >&6; } + if test "x$ax_pthread_ok" = "xyes"; then : + break +fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + + +# Clang needs special handling, because older versions handle the -pthread +# option in a rather... idiosyncratic way + +if test "x$ax_pthread_clang" = "xyes"; then + + # Clang takes -pthread; it has never supported any other flag + + # (Note 1: This will need to be revisited if a system that Clang + # supports has POSIX threads in a separate library. This tends not + # to be the way of modern systems, but it's conceivable.) + + # (Note 2: On some systems, notably Darwin, -pthread is not needed + # to get POSIX threads support; the API is always present and + # active. We could reasonably leave PTHREAD_CFLAGS empty. But + # -pthread does define _REENTRANT, and while the Darwin headers + # ignore this macro, third-party headers might not.) + + # However, older versions of Clang make a point of warning the user + # that, in an invocation where only linking and no compilation is + # taking place, the -pthread option has no effect ("argument unused + # during compilation"). They expect -pthread to be passed in only + # when source code is being compiled. + # + # Problem is, this is at odds with the way Automake and most other + # C build frameworks function, which is that the same flags used in + # compilation (CFLAGS) are also used in linking. Many systems + # supported by AX_PTHREAD require exactly this for POSIX threads + # support, and in fact it is often not straightforward to specify a + # flag that is used only in the compilation phase and not in + # linking. Such a scenario is extremely rare in practice. + # + # Even though use of the -pthread flag in linking would only print + # a warning, this can be a nuisance for well-run software projects + # that build with -Werror. So if the active version of Clang has + # this misfeature, we search for an option to squash it. + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread" >&5 +$as_echo_n "checking whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread... " >&6; } +if ${ax_cv_PTHREAD_CLANG_NO_WARN_FLAG+:} false; then : + $as_echo_n "(cached) " >&6 +else + ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown + # Create an alternate version of $ac_link that compiles and + # links in two steps (.c -> .o, .o -> exe) instead of one + # (.c -> exe), because the warning occurs only in the second + # step + ax_pthread_save_ac_link="$ac_link" + ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g' + ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"` + ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)" + ax_pthread_save_CFLAGS="$CFLAGS" + for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do + if test "x$ax_pthread_try" = "xunknown"; then : + break +fi + CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS" + ac_link="$ax_pthread_save_ac_link" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int main(void){return 0;} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_link="$ax_pthread_2step_ac_link" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int main(void){return 0;} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + break +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + done + ac_link="$ax_pthread_save_ac_link" + CFLAGS="$ax_pthread_save_CFLAGS" + if test "x$ax_pthread_try" = "x"; then : + ax_pthread_try=no +fi + ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&5 +$as_echo "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&6; } + + case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in + no | unknown) ;; + *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;; + esac + +fi # $ax_pthread_clang = yes + + + +# Various other checks: +if test "x$ax_pthread_ok" = "xyes"; then + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + + # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5 +$as_echo_n "checking for joinable pthread attribute... " >&6; } +if ${ax_cv_PTHREAD_JOINABLE_ATTR+:} false; then : + $as_echo_n "(cached) " >&6 +else + ax_cv_PTHREAD_JOINABLE_ATTR=unknown + for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <pthread.h> +int +main () +{ +int attr = $ax_pthread_attr; return attr /* ; */ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_JOINABLE_ATTR" >&5 +$as_echo "$ax_cv_PTHREAD_JOINABLE_ATTR" >&6; } + if test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \ + test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \ + test "x$ax_pthread_joinable_attr_defined" != "xyes"; then : + +cat >>confdefs.h <<_ACEOF +#define PTHREAD_CREATE_JOINABLE $ax_cv_PTHREAD_JOINABLE_ATTR +_ACEOF + + ax_pthread_joinable_attr_defined=yes + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether more special flags are required for pthreads" >&5 +$as_echo_n "checking whether more special flags are required for pthreads... " >&6; } +if ${ax_cv_PTHREAD_SPECIAL_FLAGS+:} false; then : + $as_echo_n "(cached) " >&6 +else + ax_cv_PTHREAD_SPECIAL_FLAGS=no + case $target_os in + solaris*) + ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS" + ;; + esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_SPECIAL_FLAGS" >&5 +$as_echo "$ax_cv_PTHREAD_SPECIAL_FLAGS" >&6; } + if test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \ + test "x$ax_pthread_special_flags_added" != "xyes"; then : + PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS" + ax_pthread_special_flags_added=yes +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_PRIO_INHERIT" >&5 +$as_echo_n "checking for PTHREAD_PRIO_INHERIT... " >&6; } +if ${ax_cv_PTHREAD_PRIO_INHERIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <pthread.h> +int +main () +{ +int i = PTHREAD_PRIO_INHERIT; + return i; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ax_cv_PTHREAD_PRIO_INHERIT=yes +else + ax_cv_PTHREAD_PRIO_INHERIT=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_PRIO_INHERIT" >&5 +$as_echo "$ax_cv_PTHREAD_PRIO_INHERIT" >&6; } + if test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \ + test "x$ax_pthread_prio_inherit_defined" != "xyes"; then : + +$as_echo "#define HAVE_PTHREAD_PRIO_INHERIT 1" >>confdefs.h + + ax_pthread_prio_inherit_defined=yes + +fi + + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" + + # More AIX lossage: compile with *_r variant + if test "x$GCC" != "xyes"; then + case $target_os in + aix*) + case "x/$CC" in #( + x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6) : + #handle absolute path differently from PATH based program lookup + case "x$CC" in #( + x/*) : + + if as_fn_executable_p ${CC}_r; then : + PTHREAD_CC="${CC}_r" +fi + if test "x${CXX}" != "x"; then : + if as_fn_executable_p ${CXX}_r; then : + PTHREAD_CXX="${CXX}_r" +fi +fi + ;; #( + *) : + + for ac_prog in ${CC}_r +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_PTHREAD_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_PTHREAD_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5 +$as_echo "$PTHREAD_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$PTHREAD_CC" && break +done +test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" + + if test "x${CXX}" != "x"; then : + for ac_prog in ${CXX}_r +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_PTHREAD_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$PTHREAD_CXX"; then + ac_cv_prog_PTHREAD_CXX="$PTHREAD_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_PTHREAD_CXX="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +PTHREAD_CXX=$ac_cv_prog_PTHREAD_CXX +if test -n "$PTHREAD_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CXX" >&5 +$as_echo "$PTHREAD_CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$PTHREAD_CXX" && break +done +test -n "$PTHREAD_CXX" || PTHREAD_CXX="$CXX" + +fi + + ;; +esac + ;; #( + *) : + ;; +esac + ;; + esac + fi +fi + +test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" +test -n "$PTHREAD_CXX" || PTHREAD_CXX="$CXX" + + + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test "x$ax_pthread_ok" = "xyes"; then + have_pthread=yes + : +else + ax_pthread_ok=no + have_pthread=no +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + # Check for Python and docwriter have_py3=no @@ -15117,6 +15775,11 @@ else ftoption_unset FT_CONFIG_OPTION_USE_BROTLI fi +if test "$have_pthread" != no; then + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LDFLAGS="$LDFLAGS $PTHREAD_CFLAGS $PTHREAD_LIBS" +fi + @@ -15645,7 +16308,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by FreeType $as_me 2.10.4, which was +This file was extended by FreeType $as_me 2.11, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15711,7 +16374,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -FreeType config.status 2.10.4 +FreeType config.status 2.11 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -16780,6 +17443,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. @@ -17499,6 +18163,7 @@ Library configuration: libpng: $have_libpng harfbuzz: $have_harfbuzz brotli: $have_brotli + pthread: $have_pthread " >&5 $as_echo "$as_me: @@ -17508,6 +18173,7 @@ Library configuration: libpng: $have_libpng harfbuzz: $have_harfbuzz brotli: $have_brotli + pthread: $have_pthread " >&6;} # Warn if docwriter is not installed @@ -17517,13 +18183,28 @@ if test $have_docwriter = no; then \`make refdoc' will fail since pip package \`docwriter' is not installed. To install, run \`$PIP install docwriter', or to use a Python virtual environment, run \`make refdoc-venv' (requires pip package - \`virtualenv'). These operations require Python >= 3.5. + \`virtualenv'). These operations require Python >= 3.5. " >&5 $as_echo "$as_me: WARNING: \`make refdoc' will fail since pip package \`docwriter' is not installed. To install, run \`$PIP install docwriter', or to use a Python virtual environment, run \`make refdoc-venv' (requires pip package - \`virtualenv'). These operations require Python >= 3.5. + \`virtualenv'). These operations require Python >= 3.5. + " >&2;} +fi + +# Warn if pthread is not available + +if test $have_pthread = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: + \`FT_DEBUG_LOGGING' will not work since the \`pthread' library is not + available. This warning can be safely ignored if you don't plan to use + this configuration macro. + " >&5 +$as_echo "$as_me: WARNING: + \`FT_DEBUG_LOGGING' will not work since the \`pthread' library is not + available. This warning can be safely ignored if you don't plan to use + this configuration macro. " >&2;} fi diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/configure.ac b/Build/source/libs/freetype2/freetype-src/builds/unix/configure.ac index f54b94631d2..ae07e7475a0 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/configure.ac +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/configure.ac @@ -2,7 +2,7 @@ # # Process this file with autoconf to produce a configure script. # -# Copyright (C) 2001-2020 by +# Copyright (C) 2001-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -11,13 +11,13 @@ # indicate that you have read the license and understand and accept it # fully. -AC_INIT([FreeType], [2.10.4], [freetype@nongnu.org], [freetype]) +AC_INIT([FreeType], [2.11], [freetype@nongnu.org], [freetype]) AC_CONFIG_SRCDIR([ftconfig.h.in]) # Don't forget to update `docs/VERSIONS.TXT'! -version_info='23:4:17' +version_info='24:0:18' AC_SUBST([version_info]) ft_version=`echo $version_info | tr : .` AC_SUBST([ft_version]) @@ -97,7 +97,6 @@ esac # checks for header files -AC_HEADER_STDC AC_CHECK_HEADERS([fcntl.h unistd.h]) @@ -192,53 +191,59 @@ AC_SUBST(INSTALL_FT2_CONFIG, [$enable_freetype_config]) AC_SYS_LARGEFILE # Here we check whether we can use our mmap file component. +# +# Note that `ftsystem.c` for Windows has its own mmap-like implementation +# not covered by `AC_FUNC_MMAP` and/or `FT_UNMAP_PARAM`. AC_ARG_ENABLE([mmap], AS_HELP_STRING([--disable-mmap], [do not check mmap() and do not use]), [enable_mmap="no"], [enable_mmap="yes"]) if test "x${enable_mmap}" != "xno"; then - AC_FUNC_MMAP -fi -if test "x${enable_mmap}" = "xno" \ - -o "$ac_cv_func_mmap_fixed_mapped" != "yes"; then - FTSYS_SRC='$(BASE_DIR)/ftsystem.c' -else - FTSYS_SRC='$(BUILD_DIR)/ftsystem.c' + case "$host" in + *-*-mingw*) + AC_MSG_CHECKING([for working mmap]) + AC_MSG_RESULT([using MapViewOfFile in Windows]) + FTSYS_SRC='$(TOP_DIR)/builds/windows/ftsystem.c' + ;; + *) + AC_FUNC_MMAP + if test "$ac_cv_func_mmap_fixed_mapped" = "yes"; then + FTSYS_SRC='$(PLATFORM_DIR)/ftsystem.c' - AC_CHECK_DECLS([munmap], - [], - [], - [ + AC_CHECK_DECLS([munmap], + [], + [], + [ #ifdef HAVE_UNISTD_H #include <unistd.h> #endif #include <sys/mman.h> - ]) + ]) - FT_MUNMAP_PARAM + FT_MUNMAP_PARAM + fi + ;; + esac +fi + +if test -z "$FTSYS_SRC"; then + FTSYS_SRC='$(BASE_DIR)/ftsystem.c' fi AC_SUBST([FTSYS_SRC]) + AC_CHECK_FUNCS([memcpy memmove]) # get compiler flags right # -# We try to make the compiler work for C89-strict source. Even if the -# C compiler is gcc and C89 flags are available, some system headers -# (e.g., Android Bionic libc) are broken in C89 mode. We have to check -# whether the compilation finishes successfully. -# -# Due to bugs in mingwrt 4.0.3 we don't use `-ansi' for MinGW. -# -# To avoid zillions of -# -# ISO C90 does not support 'long long' -# -# warnings, we disable `-pedantic' for gcc version < 4.6. +# We try to make the compiler work for C99-strict source. Even if the +# C compiler is gcc and C99 flags are available, some system headers +# might be broken in C99 mode. We have to check whether compilation +# finishes successfully. # if test "x$GCC" = xyes; then XX_CFLAGS="-Wall" @@ -250,23 +255,11 @@ if test "x$GCC" = xyes; then XX_ANSIFLAGS="-pedantic" ;; *) - GCC_VERSION=`$CC -dumpversion` - GCC_MAJOR=`echo "$GCC_VERSION" | sed 's/\([[^.]][[^.]]*\).*/\1/'` - GCC_MINOR=`echo "$GCC_VERSION" | sed 's/[[^.]][[^.]]*.\([[^.]][[^.]]*\).*/\1/'` - - XX_PEDANTIC=-pedantic - if test $GCC_MAJOR -lt 4; then - XX_PEDANTIC= - else - if test $GCC_MAJOR -eq 4 -a $GCC_MINOR -lt 6; then - XX_PEDANTIC= - fi - fi - XX_ANSIFLAGS="" - for a in $XX_PEDANTIC -ansi + + for a in "-pedantic" "-std=c99" do - AC_MSG_CHECKING([gcc compiler flag ${a} to assure ANSI C works correctly]) + AC_MSG_CHECKING([$CC compiler flag ${a} to assure ANSI C99 works correctly]) orig_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} ${XX_ANSIFLAGS} ${a}" AC_COMPILE_IFELSE([ @@ -508,7 +501,7 @@ AC_ARG_WITH([harfbuzz], have_harfbuzz=no if test x"$with_harfbuzz" = xyes -o x"$with_harfbuzz" = xauto; then - harfbuzz_pkg="harfbuzz >= 1.8.0" + harfbuzz_pkg="harfbuzz >= 2.0.0" have_harfbuzz_pkg=no if test x"$HARFBUZZ_CFLAGS" = x -a x"$HARFBUZZ_LIBS" = x; then @@ -1012,6 +1005,10 @@ case "$CFLAGS" in ;; esac +# Check for pthreads + +AX_PTHREAD([have_pthread=yes], [have_pthread=no]) + # Check for Python and docwriter have_py3=no @@ -1024,7 +1021,7 @@ if test "x$PYTHON" != "xmissing"; then if test "x$have_py3" = "xyes"; then PIP="$PYTHON -m $PIP" - AC_MSG_CHECKING([for \`docwriter' Python module]) + AC_MSG_CHECKING([for `docwriter' Python module]) $PYTHON -m docwriter -h > /dev/null 2>&1 if test "x$?" = "x0"; then have_docwriter=yes @@ -1142,6 +1139,11 @@ else ftoption_unset FT_CONFIG_OPTION_USE_BROTLI fi +if test "$have_pthread" != no; then + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LDFLAGS="$LDFLAGS $PTHREAD_CFLAGS $PTHREAD_LIBS" +fi + AC_SUBST([CFLAGS]) AC_SUBST([LDFLAGS]) @@ -1176,16 +1178,27 @@ Library configuration: libpng: $have_libpng harfbuzz: $have_harfbuzz brotli: $have_brotli + pthread: $have_pthread ]) # Warn if docwriter is not installed if test $have_docwriter = no; then AC_MSG_WARN([ - \`make refdoc' will fail since pip package \`docwriter' is not installed. - To install, run \`$PIP install docwriter', or to use a Python - virtual environment, run \`make refdoc-venv' (requires pip package - \`virtualenv'). These operations require Python >= 3.5. + `make refdoc' will fail since pip package `docwriter' is not installed. + To install, run `$PIP install docwriter', or to use a Python + virtual environment, run `make refdoc-venv' (requires pip package + `virtualenv'). These operations require Python >= 3.5. + ]) +fi + +# Warn if pthread is not available + +if test $have_pthread = no; then + AC_MSG_WARN([ + `FT_DEBUG_LOGGING' will not work since the `pthread' library is not + available. This warning can be safely ignored if you don't plan to use + this configuration macro. ]) fi diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/configure.raw b/Build/source/libs/freetype2/freetype-src/builds/unix/configure.raw index bc65e452af7..56e0a8e2c41 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/configure.raw +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/configure.raw @@ -2,7 +2,7 @@ # # Process this file with autoconf to produce a configure script. # -# Copyright (C) 2001-2020 by +# Copyright (C) 2001-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -17,7 +17,7 @@ AC_CONFIG_SRCDIR([ftconfig.h.in]) # Don't forget to update `docs/VERSIONS.TXT'! -version_info='23:4:17' +version_info='24:0:18' AC_SUBST([version_info]) ft_version=`echo $version_info | tr : .` AC_SUBST([ft_version]) @@ -97,7 +97,6 @@ esac # checks for header files -AC_HEADER_STDC AC_CHECK_HEADERS([fcntl.h unistd.h]) @@ -192,53 +191,59 @@ AC_SUBST(INSTALL_FT2_CONFIG, [$enable_freetype_config]) AC_SYS_LARGEFILE # Here we check whether we can use our mmap file component. +# +# Note that `ftsystem.c` for Windows has its own mmap-like implementation +# not covered by `AC_FUNC_MMAP` and/or `FT_UNMAP_PARAM`. AC_ARG_ENABLE([mmap], AS_HELP_STRING([--disable-mmap], [do not check mmap() and do not use]), [enable_mmap="no"], [enable_mmap="yes"]) if test "x${enable_mmap}" != "xno"; then - AC_FUNC_MMAP -fi -if test "x${enable_mmap}" = "xno" \ - -o "$ac_cv_func_mmap_fixed_mapped" != "yes"; then - FTSYS_SRC='$(BASE_DIR)/ftsystem.c' -else - FTSYS_SRC='$(BUILD_DIR)/ftsystem.c' + case "$host" in + *-*-mingw*) + AC_MSG_CHECKING([for working mmap]) + AC_MSG_RESULT([using MapViewOfFile in Windows]) + FTSYS_SRC='$(TOP_DIR)/builds/windows/ftsystem.c' + ;; + *) + AC_FUNC_MMAP + if test "$ac_cv_func_mmap_fixed_mapped" = "yes"; then + FTSYS_SRC='$(PLATFORM_DIR)/ftsystem.c' - AC_CHECK_DECLS([munmap], - [], - [], - [ + AC_CHECK_DECLS([munmap], + [], + [], + [ #ifdef HAVE_UNISTD_H #include <unistd.h> #endif #include <sys/mman.h> - ]) + ]) - FT_MUNMAP_PARAM + FT_MUNMAP_PARAM + fi + ;; + esac +fi + +if test -z "$FTSYS_SRC"; then + FTSYS_SRC='$(BASE_DIR)/ftsystem.c' fi AC_SUBST([FTSYS_SRC]) + AC_CHECK_FUNCS([memcpy memmove]) # get compiler flags right # -# We try to make the compiler work for C89-strict source. Even if the -# C compiler is gcc and C89 flags are available, some system headers -# (e.g., Android Bionic libc) are broken in C89 mode. We have to check -# whether the compilation finishes successfully. -# -# Due to bugs in mingwrt 4.0.3 we don't use `-ansi' for MinGW. -# -# To avoid zillions of -# -# ISO C90 does not support 'long long' -# -# warnings, we disable `-pedantic' for gcc version < 4.6. +# We try to make the compiler work for C99-strict source. Even if the +# C compiler is gcc and C99 flags are available, some system headers +# might be broken in C99 mode. We have to check whether compilation +# finishes successfully. # if test "x$GCC" = xyes; then XX_CFLAGS="-Wall" @@ -250,23 +255,11 @@ if test "x$GCC" = xyes; then XX_ANSIFLAGS="-pedantic" ;; *) - GCC_VERSION=`$CC -dumpversion` - GCC_MAJOR=`echo "$GCC_VERSION" | sed 's/\([[^.]][[^.]]*\).*/\1/'` - GCC_MINOR=`echo "$GCC_VERSION" | sed 's/[[^.]][[^.]]*.\([[^.]][[^.]]*\).*/\1/'` - - XX_PEDANTIC=-pedantic - if test $GCC_MAJOR -lt 4; then - XX_PEDANTIC= - else - if test $GCC_MAJOR -eq 4 -a $GCC_MINOR -lt 6; then - XX_PEDANTIC= - fi - fi - XX_ANSIFLAGS="" - for a in $XX_PEDANTIC -ansi + + for a in "-pedantic" "-std=c99" do - AC_MSG_CHECKING([gcc compiler flag ${a} to assure ANSI C works correctly]) + AC_MSG_CHECKING([$CC compiler flag ${a} to assure ANSI C99 works correctly]) orig_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} ${XX_ANSIFLAGS} ${a}" AC_COMPILE_IFELSE([ @@ -508,7 +501,7 @@ AC_ARG_WITH([harfbuzz], have_harfbuzz=no if test x"$with_harfbuzz" = xyes -o x"$with_harfbuzz" = xauto; then - harfbuzz_pkg="harfbuzz >= 1.8.0" + harfbuzz_pkg="harfbuzz >= 2.0.0" have_harfbuzz_pkg=no if test x"$HARFBUZZ_CFLAGS" = x -a x"$HARFBUZZ_LIBS" = x; then @@ -1012,6 +1005,10 @@ case "$CFLAGS" in ;; esac +# Check for pthreads + +AX_PTHREAD([have_pthread=yes], [have_pthread=no]) + # Check for Python and docwriter have_py3=no @@ -1024,7 +1021,7 @@ if test "x$PYTHON" != "xmissing"; then if test "x$have_py3" = "xyes"; then PIP="$PYTHON -m $PIP" - AC_MSG_CHECKING([for \`docwriter' Python module]) + AC_MSG_CHECKING([for `docwriter' Python module]) $PYTHON -m docwriter -h > /dev/null 2>&1 if test "x$?" = "x0"; then have_docwriter=yes @@ -1142,6 +1139,11 @@ else ftoption_unset FT_CONFIG_OPTION_USE_BROTLI fi +if test "$have_pthread" != no; then + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LDFLAGS="$LDFLAGS $PTHREAD_CFLAGS $PTHREAD_LIBS" +fi + AC_SUBST([CFLAGS]) AC_SUBST([LDFLAGS]) @@ -1176,16 +1178,27 @@ Library configuration: libpng: $have_libpng harfbuzz: $have_harfbuzz brotli: $have_brotli + pthread: $have_pthread ]) # Warn if docwriter is not installed if test $have_docwriter = no; then AC_MSG_WARN([ - \`make refdoc' will fail since pip package \`docwriter' is not installed. - To install, run \`$PIP install docwriter', or to use a Python - virtual environment, run \`make refdoc-venv' (requires pip package - \`virtualenv'). These operations require Python >= 3.5. + `make refdoc' will fail since pip package `docwriter' is not installed. + To install, run `$PIP install docwriter', or to use a Python + virtual environment, run `make refdoc-venv' (requires pip package + `virtualenv'). These operations require Python >= 3.5. + ]) +fi + +# Warn if pthread is not available + +if test $have_pthread = no; then + AC_MSG_WARN([ + `FT_DEBUG_LOGGING' will not work since the `pthread' library is not + available. This warning can be safely ignored if you don't plan to use + this configuration macro. ]) fi diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/detect.mk b/Build/source/libs/freetype2/freetype-src/builds/unix/detect.mk index c7e8408de39..862b43219c8 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/detect.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/detect.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/freetype-config.in b/Build/source/libs/freetype2/freetype-src/builds/unix/freetype-config.in index 3918ddb92f7..4edb092d09c 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/freetype-config.in +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/freetype-config.in @@ -1,6 +1,6 @@ #! /bin/sh # -# Copyright (C) 2000-2020 by +# Copyright (C) 2000-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/freetype2.m4 b/Build/source/libs/freetype2/freetype-src/builds/unix/freetype2.m4 index 207c263fbc5..478a422105f 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/freetype2.m4 +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/freetype2.m4 @@ -1,7 +1,7 @@ # Configure paths for FreeType2 -# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor +# Marcelo Magallon 2001-10-26, based on `gtk.m4` by Owen Taylor # -# Copyright (C) 2001-2020 by +# Copyright (C) 2001-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -15,32 +15,32 @@ # generated by Autoconf, under the same distribution terms as the rest of # that program. # -# serial 5 +# serial 6 # AC_CHECK_FT2([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) # Test for FreeType 2, and define FT2_CFLAGS and FT2_LIBS. -# MINIMUM-VERSION is what libtool reports; the default is `7.0.1' (this is +# MINIMUM-VERSION is what libtool reports; the default is '7.0.1' (this is # FreeType 2.0.4). # +# To make this code work with older autoconf versions, `AS_HELP_STRING` is +# not quoted. +# AC_DEFUN([AC_CHECK_FT2], [# Get the cflags and libraries from the freetype-config script # AC_ARG_WITH([ft-prefix], - dnl don't quote AS_HELP_STRING! AS_HELP_STRING([--with-ft-prefix=PREFIX], [Prefix where FreeType is installed (optional)]), [ft_config_prefix="$withval"], [ft_config_prefix=""]) AC_ARG_WITH([ft-exec-prefix], - dnl don't quote AS_HELP_STRING! AS_HELP_STRING([--with-ft-exec-prefix=PREFIX], [Exec prefix where FreeType is installed (optional)]), [ft_config_exec_prefix="$withval"], [ft_config_exec_prefix=""]) AC_ARG_ENABLE([freetypetest], - dnl don't quote AS_HELP_STRING! AS_HELP_STRING([--disable-freetypetest], [Do not try to compile and run a test FreeType program]), [], diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/ft-munmap.m4 b/Build/source/libs/freetype2/freetype-src/builds/unix/ft-munmap.m4 index a1aea2ba16c..275481ba113 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/ft-munmap.m4 +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/ft-munmap.m4 @@ -1,6 +1,6 @@ ## FreeType specific autoconf tests # -# Copyright (C) 2002-2020 by +# Copyright (C) 2002-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/ftconfig.h.in b/Build/source/libs/freetype2/freetype-src/builds/unix/ftconfig.h.in index 00b5a822682..9fbbc6c0e52 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/ftconfig.h.in +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/ftconfig.h.in @@ -4,7 +4,7 @@ * * UNIX-specific configuration file (specification only). * - * Copyright (C) 1996-2020 by + * Copyright (C) 1996-2021 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/ftsystem.c b/Build/source/libs/freetype2/freetype-src/builds/unix/ftsystem.c index b4d71d40e3e..0f08d046625 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/ftsystem.c +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/ftsystem.c @@ -1,19 +1,19 @@ -/***************************************************************************/ -/* */ -/* ftsystem.c */ -/* */ -/* Unix-specific FreeType low-level system interface (body). */ -/* */ -/* Copyright (C) 1996-2020 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* This file is part of the FreeType project, and may only be used, */ -/* modified, and distributed under the terms of the FreeType project */ -/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ -/* this file you indicate that you have read the license and */ -/* understand and accept it fully. */ -/* */ -/***************************************************************************/ +/**************************************************************************** + * + * ftsystem.c + * + * Unix-specific FreeType low-level system interface (body). + * + * Copyright (C) 1996-2021 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ #include <ft2build.h> @@ -70,29 +70,40 @@ #include <errno.h> - /*************************************************************************/ - /* */ - /* MEMORY MANAGEMENT INTERFACE */ - /* */ - /*************************************************************************/ - - - /*************************************************************************/ - /* */ - /* <Function> */ - /* ft_alloc */ - /* */ - /* <Description> */ - /* The memory allocation function. */ - /* */ - /* <Input> */ - /* memory :: A pointer to the memory object. */ - /* */ - /* size :: The requested size in bytes. */ - /* */ - /* <Return> */ - /* The address of newly allocated block. */ - /* */ + /************************************************************************** + * + * MEMORY MANAGEMENT INTERFACE + * + */ + + + /************************************************************************** + * + * It is not necessary to do any error checking for the + * allocation-related functions. This will be done by the higher level + * routines like ft_mem_alloc() or ft_mem_realloc(). + * + */ + + + /************************************************************************** + * + * @Function: + * ft_alloc + * + * @Description: + * The memory allocation function. + * + * @Input: + * memory :: + * A pointer to the memory object. + * + * size :: + * The requested size in bytes. + * + * @Return: + * The address of newly allocated block. + */ FT_CALLBACK_DEF( void* ) ft_alloc( FT_Memory memory, long size ) @@ -103,26 +114,30 @@ } - /*************************************************************************/ - /* */ - /* <Function> */ - /* ft_realloc */ - /* */ - /* <Description> */ - /* The memory reallocation function. */ - /* */ - /* <Input> */ - /* memory :: A pointer to the memory object. */ - /* */ - /* cur_size :: The current size of the allocated memory block. */ - /* */ - /* new_size :: The newly requested size in bytes. */ - /* */ - /* block :: The current address of the block in memory. */ - /* */ - /* <Return> */ - /* The address of the reallocated memory block. */ - /* */ + /************************************************************************** + * + * @Function: + * ft_realloc + * + * @Description: + * The memory reallocation function. + * + * @Input: + * memory :: + * A pointer to the memory object. + * + * cur_size :: + * The current size of the allocated memory block. + * + * new_size :: + * The newly requested size in bytes. + * + * block :: + * The current address of the block in memory. + * + * @Return: + * The address of the reallocated memory block. + */ FT_CALLBACK_DEF( void* ) ft_realloc( FT_Memory memory, long cur_size, @@ -136,19 +151,21 @@ } - /*************************************************************************/ - /* */ - /* <Function> */ - /* ft_free */ - /* */ - /* <Description> */ - /* The memory release function. */ - /* */ - /* <Input> */ - /* memory :: A pointer to the memory object. */ - /* */ - /* block :: The address of block in memory to be freed. */ - /* */ + /************************************************************************** + * + * @Function: + * ft_free + * + * @Description: + * The memory release function. + * + * @Input: + * memory :: + * A pointer to the memory object. + * + * block :: + * The address of block in memory to be freed. + */ FT_CALLBACK_DEF( void ) ft_free( FT_Memory memory, void* block ) @@ -159,19 +176,19 @@ } - /*************************************************************************/ - /* */ - /* RESOURCE MANAGEMENT INTERFACE */ - /* */ - /*************************************************************************/ + /************************************************************************** + * + * RESOURCE MANAGEMENT INTERFACE + * + */ - /*************************************************************************/ - /* */ - /* The macro FT_COMPONENT is used in trace mode. It is an implicit */ - /* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */ - /* messages during execution. */ - /* */ + /************************************************************************** + * + * The macro FT_COMPONENT is used in trace mode. It is an implicit + * parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log + * messages during execution. + */ #undef FT_COMPONENT #define FT_COMPONENT io @@ -180,17 +197,17 @@ #define STREAM_FILE( stream ) ( (FILE*)stream->descriptor.pointer ) - /*************************************************************************/ - /* */ - /* <Function> */ - /* ft_close_stream_by_munmap */ - /* */ - /* <Description> */ - /* The function to close a stream which is opened by mmap. */ - /* */ - /* <Input> */ - /* stream :: A pointer to the stream object. */ - /* */ + /************************************************************************** + * + * @Function: + * ft_close_stream_by_munmap + * + * @Description: + * The function to close a stream which is opened by mmap. + * + * @Input: + * stream :: A pointer to the stream object. + */ FT_CALLBACK_DEF( void ) ft_close_stream_by_munmap( FT_Stream stream ) { @@ -202,17 +219,17 @@ } - /*************************************************************************/ - /* */ - /* <Function> */ - /* ft_close_stream_by_free */ - /* */ - /* <Description> */ - /* The function to close a stream which is created by ft_alloc. */ - /* */ - /* <Input> */ - /* stream :: A pointer to the stream object. */ - /* */ + /************************************************************************** + * + * @Function: + * ft_close_stream_by_free + * + * @Description: + * The function to close a stream which is created by ft_alloc. + * + * @Input: + * stream :: A pointer to the stream object. + */ FT_CALLBACK_DEF( void ) ft_close_stream_by_free( FT_Stream stream ) { diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/install-sh b/Build/source/libs/freetype2/freetype-src/builds/unix/install-sh index ec298b53740..0b0fdcbba69 100755 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/install-sh +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2020-11-14.01; # UTC +scriptversion=2013-12-25.23; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -69,11 +69,6 @@ posix_mkdir= # Desired mode of installed file. mode=0755 -# Create dirs (including intermediate dirs) using mode 755. -# This is like GNU 'install' as of coreutils 8.32 (2020). -mkdir_umask=22 - -backupsuffix= chgrpcmd= chmodcmd=$chmodprog chowncmd= @@ -104,28 +99,18 @@ Options: --version display version info and exit. -c (ignored) - -C install only if different (preserve data modification time) + -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. - -p pass -p to $cpprog. -s $stripprog installed files. - -S SUFFIX attempt to back up existing files, with suffix SUFFIX. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG - -By default, rm is invoked with -f; when overridden with RMPROG, -it's up to you to specify -f if you want it. - -If -S is not specified, no backups are attempted. - -Email bug reports to bug-automake@gnu.org. -Automake home page: https://www.gnu.org/software/automake/ " while test $# -ne 0; do @@ -152,13 +137,8 @@ while test $# -ne 0; do -o) chowncmd="$chownprog $2" shift;; - -p) cpprog="$cpprog -p";; - -s) stripcmd=$stripprog;; - -S) backupsuffix="$2" - shift;; - -t) is_target_a_directory=always dst_arg=$2 @@ -275,10 +255,6 @@ do dstdir=$dst test -d "$dstdir" dstdir_status=$? - # Don't chown directories that already exist. - if test $dstdir_status = 0; then - chowncmd="" - fi else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command @@ -295,18 +271,15 @@ do fi dst=$dst_arg - # If destination is a directory, append the input filename. + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. if test -d "$dst"; then if test "$is_target_a_directory" = never; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst - dstbase=`basename "$src"` - case $dst in - */) dst=$dst$dstbase;; - *) dst=$dst/$dstbase;; - esac + dst=$dstdir/`basename "$src"` dstdir_status=0 else dstdir=`dirname "$dst"` @@ -315,16 +288,27 @@ do fi fi - case $dstdir in - */) dstdirslash=$dstdir;; - *) dstdirslash=$dstdir/;; - esac - obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then @@ -334,49 +318,43 @@ do fi posix_mkdir=false - # The $RANDOM variable is not portable (e.g., dash). Use it - # here however when possible just to lower collision chance. - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - - trap ' - ret=$? - rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null - exit $ret - ' 0 - - # Because "mkdir -p" follows existing symlinks and we likely work - # directly in world-writeable /tmp, make sure that the '$tmpdir' - # directory is successfully created first before we actually test - # 'mkdir -p'. - if (umask $mkdir_umask && - $mkdirprog $mkdir_mode "$tmpdir" && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - test_tmpdir="$tmpdir/a" - ls_ld_tmpdir=`ls -ld "$test_tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null - fi - trap '' 0;; + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + + if (umask $mkdir_umask && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + ls_ld_tmpdir=`ls -ld "$tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/d" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + fi + trap '' 0;; + esac;; esac if @@ -387,7 +365,7 @@ do then : else - # mkdir does not conform to POSIX, + # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. @@ -416,7 +394,7 @@ do prefixes= else if $posix_mkdir; then - (umask $mkdir_umask && + (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 @@ -449,25 +427,14 @@ do else # Make a couple of temp file names in the proper directory. - dsttmp=${dstdirslash}_inst.$$_ - rmtmp=${dstdirslash}_rm.$$_ + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. - (umask $cp_umask && - { test -z "$stripcmd" || { - # Create $dsttmp read-write so that cp doesn't create it read-only, - # which would cause strip to fail. - if test -z "$doit"; then - : >"$dsttmp" # No need to fork-exec 'touch'. - else - $doit touch "$dsttmp" - fi - } - } && - $doit_exec $cpprog "$src" "$dsttmp") && + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # @@ -493,13 +460,6 @@ do then rm -f "$dsttmp" else - # If $backupsuffix is set, and the file being installed - # already exists, attempt a backup. Don't worry if it fails, - # e.g., if mv doesn't support -f. - if test -n "$backupsuffix" && test -f "$dst"; then - $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null - fi - # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || @@ -514,9 +474,9 @@ do # file should still install successfully. { test ! -f "$dst" || - $doit $rmcmd "$dst" 2>/dev/null || + $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd "$rmtmp" 2>/dev/null; :; } + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 @@ -533,9 +493,9 @@ do done # Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" +# time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/install.mk b/Build/source/libs/freetype2/freetype-src/builds/unix/install.mk index aa25187690c..45b761d5358 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/install.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/install.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -62,7 +62,7 @@ endif $(DESTDIR)$(includedir)/freetype2/freetype/config/ftmodule.h $(INSTALL_DATA) $(OBJ_BUILD)/ftoption.h \ $(DESTDIR)$(includedir)/freetype2/freetype/config/ftoption.h - $(INSTALL_SCRIPT) -m 644 $(BUILD_DIR)/freetype2.m4 \ + $(INSTALL_SCRIPT) -m 644 $(PLATFORM_DIR)/freetype2.m4 \ $(DESTDIR)$(datadir)/aclocal/freetype2.m4 $(INSTALL_SCRIPT) -m 644 $(OBJ_BUILD)/freetype2.pc \ $(DESTDIR)$(libdir)/pkgconfig/freetype2.pc diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/unix-cc.in b/Build/source/libs/freetype2/freetype-src/builds/unix/unix-cc.in index 30d097b23af..89be450167a 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/unix-cc.in +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/unix-cc.in @@ -2,7 +2,7 @@ # FreeType 2 template for Unix-specific compiler definitions # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -14,7 +14,7 @@ CC := @CC@ COMPILER_SEP := $(SEP) -FT_LIBTOOL_DIR ?= $(BUILD_DIR) +FT_LIBTOOL_DIR ?= $(PLATFORM_DIR) LIBTOOL := $(FT_LIBTOOL_DIR)/libtool @@ -73,7 +73,7 @@ T := -o$(space) # # These should concern: debug output, optimization & warnings. # -# Use the ANSIFLAGS variable to define the compiler flags used to enfore +# Use the ANSIFLAGS variable to define the compiler flags used to enforce # ANSI compliance. # # We use our own FreeType configuration files overriding defaults. diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/unix-def.in b/Build/source/libs/freetype2/freetype-src/builds/unix/unix-def.in index 5e04f1c6a70..d0c758d03fb 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/unix-def.in +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/unix-def.in @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -27,7 +27,7 @@ PYTHON := @PYTHON@ BIN := bin # this is used for `make distclean' and `make install' -OBJ_BUILD ?= $(BUILD_DIR) +OBJ_BUILD ?= $(PLATFORM_DIR) # don't use `:=' here since the path stuff will be included after this file # diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/unix-dev.mk b/Build/source/libs/freetype2/freetype-src/builds/unix/unix-dev.mk index 1352575225a..0b572a034bb 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/unix-dev.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/unix-dev.mk @@ -6,7 +6,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/unix-lcc.mk b/Build/source/libs/freetype2/freetype-src/builds/unix/unix-lcc.mk index a6579db9e8b..db57835a0c1 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/unix-lcc.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/unix-lcc.mk @@ -6,7 +6,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/unix.mk b/Build/source/libs/freetype2/freetype-src/builds/unix/unix.mk index e08727d9491..262fafb7486 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/unix.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/unix.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -13,8 +13,8 @@ # fully. # We need these declarations here since unix-def.mk is a generated file. -BUILD_DIR := $(TOP_DIR)/builds/unix -PLATFORM := unix +PLATFORM_DIR := $(TOP_DIR)/builds/unix +PLATFORM := unix have_mk := $(wildcard $(OBJ_DIR)/unix-def.mk) ifneq ($(have_mk),) @@ -22,8 +22,8 @@ ifneq ($(have_mk),) include $(OBJ_DIR)/unix-def.mk include $(OBJ_DIR)/unix-cc.mk else - include $(BUILD_DIR)/unix-def.mk - include $(BUILD_DIR)/unix-cc.mk + include $(PLATFORM_DIR)/unix-def.mk + include $(PLATFORM_DIR)/unix-cc.mk endif ifdef BUILD_PROJECT diff --git a/Build/source/libs/freetype2/freetype-src/builds/unix/unixddef.mk b/Build/source/libs/freetype2/freetype-src/builds/unix/unixddef.mk index b8e32176213..77c2a0df5c8 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/unix/unixddef.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/unix/unixddef.mk @@ -4,7 +4,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -27,9 +27,6 @@ SEP := / # BIN := bin -# we use a special devel ftoption.h -DEVEL_DIR := $(TOP_DIR)/devel - # library file name # diff --git a/Build/source/libs/freetype2/freetype-src/builds/vms/ftconfig.h b/Build/source/libs/freetype2/freetype-src/builds/vms/ftconfig.h index 07e5f83d7fb..2445b7d792e 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/vms/ftconfig.h +++ b/Build/source/libs/freetype2/freetype-src/builds/vms/ftconfig.h @@ -4,7 +4,7 @@ * * VMS-specific configuration file (specification only). * - * Copyright (C) 1996-2020 by + * Copyright (C) 1996-2021 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/builds/vms/ftsystem.c b/Build/source/libs/freetype2/freetype-src/builds/vms/ftsystem.c index 177481ab27f..3f4c937f79e 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/vms/ftsystem.c +++ b/Build/source/libs/freetype2/freetype-src/builds/vms/ftsystem.c @@ -4,7 +4,7 @@ /* */ /* VMS-specific FreeType low-level system interface (body). */ /* */ -/* Copyright (C) 1996-2020 by */ +/* Copyright (C) 1996-2021 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ diff --git a/Build/source/libs/freetype2/freetype-src/builds/wince/ftdebug.c b/Build/source/libs/freetype2/freetype-src/builds/wince/ftdebug.c index 734c4f0a567..526c68ba754 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/wince/ftdebug.c +++ b/Build/source/libs/freetype2/freetype-src/builds/wince/ftdebug.c @@ -4,7 +4,7 @@ * * Debugging and logging component for WinCE (body). * - * Copyright (C) 1996-2020 by + * Copyright (C) 1996-2021 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/builds/wince/vc2005-ce/index.html b/Build/source/libs/freetype2/freetype-src/builds/wince/vc2005-ce/index.html index 6936a890959..0b6fc295f3b 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/wince/vc2005-ce/index.html +++ b/Build/source/libs/freetype2/freetype-src/builds/wince/vc2005-ce/index.html @@ -21,7 +21,7 @@ the following targets: <li>PPC/SP WM6 (Windows Mobile 6)</li> </ul> -It compiles the following libraries from the FreeType 2.10.4 sources:</p> +It compiles the following libraries from the FreeType 2.11.0 sources:</p> <ul> <pre> diff --git a/Build/source/libs/freetype2/freetype-src/builds/wince/vc2008-ce/index.html b/Build/source/libs/freetype2/freetype-src/builds/wince/vc2008-ce/index.html index ee385af86ac..0c7ffcc6d68 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/wince/vc2008-ce/index.html +++ b/Build/source/libs/freetype2/freetype-src/builds/wince/vc2008-ce/index.html @@ -21,7 +21,7 @@ the following targets: <li>PPC/SP WM6 (Windows Mobile 6)</li> </ul> -It compiles the following libraries from the FreeType 2.10.4 sources:</p> +It compiles the following libraries from the FreeType 2.11.0 sources:</p> <ul> <pre> diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/detect.mk b/Build/source/libs/freetype2/freetype-src/builds/windows/detect.mk index 303dc8b9897..3eef47aaa9e 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/detect.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/detect.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -81,9 +81,9 @@ ifeq ($(PLATFORM),windows) # (2004-11-11), and then in the devel mailing list (2004-11-20 to -23). # ifeq ($(OS),Windows_NT) - COPY := cmd.exe /c copy + COPY := >nul cmd.exe /c copy else - COPY := copy + COPY := >nul copy endif # test NT diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/ftdebug.c b/Build/source/libs/freetype2/freetype-src/builds/windows/ftdebug.c index d5894900382..a1aedb8e049 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/ftdebug.c +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/ftdebug.c @@ -4,7 +4,7 @@ * * Debugging and logging component for Win32 (body). * - * Copyright (C) 1996-2020 by + * Copyright (C) 1996-2021 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, @@ -42,7 +42,53 @@ #include <freetype/freetype.h> +#include <freetype/ftlogging.h> #include <freetype/internal/ftdebug.h> +#include <freetype/internal/ftobjs.h> + + +#ifdef FT_DEBUG_LOGGING + + /************************************************************************** + * + * Variables used to control logging. + * + * 1. `ft_default_trace_level` stores the value of trace levels, which are + * provided to FreeType using the `FT2_DEBUG` environment variable. + * + * 2. `ft_fileptr` stores the `FILE*` handle. + * + * 3. `ft_component` is a string that holds the name of `FT_COMPONENT`. + * + * 4. The flag `ft_component_flag` prints the name of `FT_COMPONENT` along + * with the actual log message if set to true. + * + * 5. The flag `ft_timestamp_flag` prints time along with the actual log + * message if set to ture. + * + * 6. `ft_have_newline_char` is used to differentiate between a log + * message with and without a trailing newline character. + * + * 7. `ft_custom_trace_level` stores the custom trace level value, which + * is provided by the user at run-time. + * + * We use `static` to avoid 'unused variable' warnings. + * + */ + static const char* ft_default_trace_level = NULL; + static FILE* ft_fileptr = NULL; + static const char* ft_component = NULL; + static FT_Bool ft_component_flag = FALSE; + static FT_Bool ft_timestamp_flag = FALSE; + static FT_Bool ft_have_newline_char = TRUE; + static const char* ft_custom_trace_level = NULL; + + /* declared in ftdebug.h */ + + dlg_handler ft_default_log_handler = NULL; + FT_Custom_Log_Handler custom_output_handler = NULL; + +#endif /* FT_DEBUG_LOGGING*/ #ifdef FT_DEBUG_LEVEL_ERROR @@ -207,8 +253,17 @@ FT_BASE_DEF( void ) ft_debug_init( void ) { - const char* ft2_debug = getenv( "FT2_DEBUG" ); + const char* ft2_debug = NULL; + +#ifdef FT_DEBUG_LOGGING + if ( ft_custom_trace_level != NULL ) + ft2_debug = ft_custom_trace_level; + else + ft2_debug = ft_default_trace_level; +#else + ft2_debug = ft_getenv( "FT2_DEBUG" ); +#endif if ( ft2_debug ) { @@ -222,6 +277,49 @@ if ( *p == ' ' || *p == '\t' || *p == ',' || *p == ';' || *p == '=' ) continue; +#ifdef FT_DEBUG_LOGGING + + /* check extra arguments for logging */ + if ( *p == '-' ) + { + const char* r = ++p; + + + if ( *r == 'v' ) + { + const char* s = ++r; + + + ft_component_flag = TRUE; + + if ( *s == 't' ) + { + ft_timestamp_flag = TRUE; + p++; + } + + p++; + } + + else if ( *r == 't' ) + { + const char* s = ++r; + + + ft_timestamp_flag = TRUE; + + if ( *s == 'v' ) + { + ft_component_flag = TRUE; + p++; + } + + p++; + } + } + +#endif /* FT_DEBUG_LOGGING */ + /* read toggle name, followed by ':' */ q = p; while ( *p && *p != ':' ) @@ -323,8 +421,237 @@ /* nothing */ } - #endif /* !FT_DEBUG_LEVEL_TRACE */ +#ifdef FT_DEBUG_LOGGING + + /************************************************************************** + * + * Initialize and de-initialize 'dlg' library. + * + */ + + FT_BASE_DEF( void ) + ft_logging_init( void ) + { + ft_default_log_handler = ft_log_handler; + ft_default_trace_level = ft_getenv( "FT2_DEBUG" ); + + if ( ft_getenv( "FT_LOGGING_FILE" ) ) + ft_fileptr = ft_fopen( ft_getenv( "FT_LOGGING_FILE" ), "w" ); + else + ft_fileptr = stderr; + + ft_debug_init(); + + /* Set the default output handler for 'dlg'. */ + dlg_set_handler( ft_default_log_handler, NULL ); + } + + + FT_BASE_DEF( void ) + ft_logging_deinit( void ) + { + if ( ft_fileptr != stderr ) + ft_fclose( ft_fileptr ); + } + + + /************************************************************************** + * + * An output log handler for FreeType. + * + */ + FT_BASE_DEF( void ) + ft_log_handler( const struct dlg_origin* origin, + const char* string, + void* data ) + { + char features_buf[128]; + char* bufp = features_buf; + + FT_UNUSED( data ); + + + if ( ft_have_newline_char ) + { + const char* features = NULL; + size_t features_length = 0; + + +#define FEATURES_TIMESTAMP "[%h:%m] " +#define FEATURES_COMPONENT "[%t] " +#define FEATURES_TIMESTAMP_COMPONENT "[%h:%m %t] " + + if ( ft_timestamp_flag && ft_component_flag ) + { + features = FEATURES_TIMESTAMP_COMPONENT; + features_length = sizeof ( FEATURES_TIMESTAMP_COMPONENT ); + } + else if ( ft_timestamp_flag ) + { + features = FEATURES_TIMESTAMP; + features_length = sizeof ( FEATURES_TIMESTAMP ); + } + else if ( ft_component_flag ) + { + features = FEATURES_COMPONENT; + features_length = sizeof ( FEATURES_COMPONENT ); + } + + if ( ft_component_flag || ft_timestamp_flag ) + { + ft_strncpy( features_buf, features, features_length ); + bufp += features_length - 1; + } + + if ( ft_component_flag ) + { + size_t tag_length = ft_strlen( *origin->tags ); + size_t i; + + + /* To vertically align tracing messages we compensate the */ + /* different FT_COMPONENT string lengths by inserting an */ + /* appropriate amount of space characters. */ + for ( i = 0; + i < FT_MAX_TRACE_LEVEL_LENGTH - tag_length; + i++ ) + *bufp++ = ' '; + } + } + + /* Finally add the format string for the tracing message. */ + *bufp++ = '%'; + *bufp++ = 'c'; + *bufp = '\0'; + + dlg_generic_outputf_stream( ft_fileptr, + (const char*)features_buf, + origin, + string, + dlg_default_output_styles, + true ); + + if ( ft_strrchr( string, '\n' ) ) + ft_have_newline_char = TRUE; + else + ft_have_newline_char = FALSE; + } + + + /* documentation is in ftdebug.h */ + FT_BASE_DEF( void ) + ft_add_tag( const char* tag ) + { + ft_component = tag; + + dlg_add_tag( tag, NULL ); + } + + + /* documentation is in ftdebug.h */ + FT_BASE_DEF( void ) + ft_remove_tag( const char* tag ) + { + dlg_remove_tag( tag, NULL ); + } + + + /* documentation is in ftlogging.h */ + + FT_EXPORT_DEF( void ) + FT_Trace_Set_Level( const char* level ) + { + ft_component_flag = FALSE; + ft_timestamp_flag = FALSE; + ft_custom_trace_level = level; + + ft_debug_init(); + } + + + /* documentation is in ftlogging.h */ + + FT_EXPORT_DEF( void ) + FT_Trace_Set_Default_Level( void ) + { + ft_component_flag = FALSE; + ft_timestamp_flag = FALSE; + ft_custom_trace_level = NULL; + + ft_debug_init(); + } + + + /************************************************************************** + * + * Functions to handle a custom log handler. + * + */ + + /* documentation is in ftlogging.h */ + + FT_EXPORT_DEF( void ) + FT_Set_Log_Handler( FT_Custom_Log_Handler handler ) + { + custom_output_handler = handler; + } + + + /* documentation is in ftlogging.h */ + + FT_EXPORT_DEF( void ) + FT_Set_Default_Log_Handler( void ) + { + custom_output_handler = NULL; + } + + + /* documentation is in ftdebug.h */ + FT_BASE_DEF( void ) + FT_Logging_Callback( const char* fmt, + ... ) + { + va_list ap; + + + va_start( ap, fmt ); + custom_output_handler( ft_component, fmt, ap ); + va_end( ap ); + } + +#else /* !FT_DEBUG_LOGGING */ + + FT_EXPORT_DEF( void ) + FT_Trace_Set_Level( const char* level ) + { + FT_UNUSED( level ); + } + + + FT_EXPORT_DEF( void ) + FT_Trace_Set_Default_Level( void ) + { + /* nothing */ + } + + + FT_EXPORT_DEF( void ) + FT_Set_Log_Handler( FT_Custom_Log_Handler handler ) + { + FT_UNUSED( handler ); + } + + + FT_EXPORT_DEF( void ) + FT_Set_Default_Log_Handler( void ) + { + /* nothing */ + } + +#endif /* !FT_DEBUG_LOGGING */ + + /* END */ diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/ftsystem.c b/Build/source/libs/freetype2/freetype-src/builds/windows/ftsystem.c new file mode 100644 index 00000000000..cb1c7340e9f --- /dev/null +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/ftsystem.c @@ -0,0 +1,386 @@ +/**************************************************************************** + * + * ftsystem.c + * + * Windows-specific FreeType low-level system interface (body). + * + * Copyright (C) 2021 by + * David Turner, Robert Wilhelm, and Werner Lemberg. + * + * This file is part of the FreeType project, and may only be used, + * modified, and distributed under the terms of the FreeType project + * license, LICENSE.TXT. By continuing to use, modify, or distribute + * this file you indicate that you have read the license and + * understand and accept it fully. + * + */ + + +#include <ft2build.h> + /* we use our special ftconfig.h file, not the standard one */ +#include FT_CONFIG_CONFIG_H +#include <freetype/internal/ftdebug.h> +#include <freetype/ftsystem.h> +#include <freetype/fterrors.h> +#include <freetype/fttypes.h> +#include <freetype/internal/ftstream.h> + + /* memory-mapping includes and definitions */ +#include <windows.h> + +#include <stdlib.h> + + + /************************************************************************** + * + * MEMORY MANAGEMENT INTERFACE + * + */ + + + /************************************************************************** + * + * It is not necessary to do any error checking for the + * allocation-related functions. This will be done by the higher level + * routines like ft_mem_alloc() or ft_mem_realloc(). + * + */ + + + /************************************************************************** + * + * @Function: + * ft_alloc + * + * @Description: + * The memory allocation function. + * + * @Input: + * memory :: + * A pointer to the memory object. + * + * size :: + * The requested size in bytes. + * + * @Return: + * The address of newly allocated block. + */ + FT_CALLBACK_DEF( void* ) + ft_alloc( FT_Memory memory, + long size ) + { + FT_UNUSED( memory ); + + return malloc( size ); + } + + + /************************************************************************** + * + * @Function: + * ft_realloc + * + * @Description: + * The memory reallocation function. + * + * @Input: + * memory :: + * A pointer to the memory object. + * + * cur_size :: + * The current size of the allocated memory block. + * + * new_size :: + * The newly requested size in bytes. + * + * block :: + * The current address of the block in memory. + * + * @Return: + * The address of the reallocated memory block. + */ + FT_CALLBACK_DEF( void* ) + ft_realloc( FT_Memory memory, + long cur_size, + long new_size, + void* block ) + { + FT_UNUSED( memory ); + FT_UNUSED( cur_size ); + + return realloc( block, new_size ); + } + + + /************************************************************************** + * + * @Function: + * ft_free + * + * @Description: + * The memory release function. + * + * @Input: + * memory :: + * A pointer to the memory object. + * + * block :: + * The address of block in memory to be freed. + */ + FT_CALLBACK_DEF( void ) + ft_free( FT_Memory memory, + void* block ) + { + FT_UNUSED( memory ); + + free( block ); + } + + + /************************************************************************** + * + * RESOURCE MANAGEMENT INTERFACE + * + */ + + + /************************************************************************** + * + * The macro FT_COMPONENT is used in trace mode. It is an implicit + * parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log + * messages during execution. + */ +#undef FT_COMPONENT +#define FT_COMPONENT io + + /* We use the macro STREAM_FILE for convenience to extract the */ + /* system-specific stream handle from a given FreeType stream object */ +#define STREAM_FILE( stream ) ( (FILE*)stream->descriptor.pointer ) + + + /************************************************************************** + * + * @Function: + * ft_close_stream_by_munmap + * + * @Description: + * The function to close a stream which is opened by mmap. + * + * @Input: + * stream :: A pointer to the stream object. + */ + FT_CALLBACK_DEF( void ) + ft_close_stream_by_munmap( FT_Stream stream ) + { + UnmapViewOfFile( (LPCVOID)stream->descriptor.pointer ); + + stream->descriptor.pointer = NULL; + stream->size = 0; + stream->base = 0; + } + + + /************************************************************************** + * + * @Function: + * ft_close_stream_by_free + * + * @Description: + * The function to close a stream which is created by ft_alloc. + * + * @Input: + * stream :: A pointer to the stream object. + */ + FT_CALLBACK_DEF( void ) + ft_close_stream_by_free( FT_Stream stream ) + { + ft_free( NULL, stream->descriptor.pointer ); + + stream->descriptor.pointer = NULL; + stream->size = 0; + stream->base = 0; + } + + + /* documentation is in ftobjs.h */ + + FT_BASE_DEF( FT_Error ) + FT_Stream_Open( FT_Stream stream, + const char* filepathname ) + { + HANDLE file; + HANDLE fm; + LARGE_INTEGER size; + + + if ( !stream ) + return FT_THROW( Invalid_Stream_Handle ); + + /* open the file */ + file = CreateFileA( filepathname, GENERIC_READ, FILE_SHARE_READ, NULL, + OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0 ); + if ( file == INVALID_HANDLE_VALUE ) + { + FT_ERROR(( "FT_Stream_Open:" )); + FT_ERROR(( " could not open `%s'\n", filepathname )); + return FT_THROW( Cannot_Open_Resource ); + } + + if ( GetFileSizeEx( file, &size ) == FALSE ) + { + FT_ERROR(( "FT_Stream_Open:" )); + FT_ERROR(( " could not retrieve size of file `%s'\n", filepathname )); + goto Fail_Open; + } + + /* `stream->size' is typedef'd to unsigned long (in `ftsystem.h'); */ + /* So avoid overflow caused by fonts in huge files larger than */ + /* 2GB, do a test. */ + if ( size.QuadPart > LONG_MAX ) + { + FT_ERROR(( "FT_Stream_Open: file is too big\n" )); + goto Fail_Open; + } + else if ( size.QuadPart == 0 ) + { + FT_ERROR(( "FT_Stream_Open: zero-length file\n" )); + goto Fail_Open; + } + + fm = CreateFileMapping( file, NULL, PAGE_READONLY, 0, 0, NULL ); + if ( fm == NULL ) + { + FT_ERROR(( "FT_Stream_Open: can not map file\n" )); + goto Fail_Open; + } + + /* Store only the low part of this 64 bits integer because long is */ + /* a 32 bits type. Anyway, a check has been done above to forbid */ + /* a size greater than LONG_MAX */ + stream->size = size.LowPart; + stream->pos = 0; + stream->base = (unsigned char *) + MapViewOfFile( fm, FILE_MAP_READ, 0, 0, 0 ); + + CloseHandle( fm ); + + if ( stream->base != NULL ) + stream->close = ft_close_stream_by_munmap; + else + { + DWORD total_read_count; + + + FT_ERROR(( "FT_Stream_Open:" )); + FT_ERROR(( " could not `mmap' file `%s'\n", filepathname )); + + stream->base = (unsigned char*)ft_alloc( NULL, stream->size ); + + if ( !stream->base ) + { + FT_ERROR(( "FT_Stream_Open:" )); + FT_ERROR(( " could not `alloc' memory\n" )); + goto Fail_Map; + } + + total_read_count = 0; + do + { + DWORD read_count; + + + if ( ReadFile( file, + stream->base + total_read_count, + stream->size - total_read_count, + &read_count, NULL ) == FALSE ) + { + FT_ERROR(( "FT_Stream_Open:" )); + FT_ERROR(( " error while `read'ing file `%s'\n", filepathname )); + goto Fail_Read; + } + + total_read_count += read_count; + + } while ( total_read_count != stream->size ); + + stream->close = ft_close_stream_by_free; + } + + CloseHandle( file ); + + stream->descriptor.pointer = stream->base; + stream->pathname.pointer = (char*)filepathname; + + stream->read = 0; + + FT_TRACE1(( "FT_Stream_Open:" )); + FT_TRACE1(( " opened `%s' (%ld bytes) successfully\n", + filepathname, stream->size )); + + return FT_Err_Ok; + + Fail_Read: + ft_free( NULL, stream->base ); + + Fail_Map: + CloseHandle( file ); + + Fail_Open: + CloseHandle( file ); + + stream->base = NULL; + stream->size = 0; + stream->pos = 0; + + return FT_THROW( Cannot_Open_Stream ); + } + + +#ifdef FT_DEBUG_MEMORY + + extern FT_Int + ft_mem_debug_init( FT_Memory memory ); + + extern void + ft_mem_debug_done( FT_Memory memory ); + +#endif + + + /* documentation is in ftobjs.h */ + + FT_BASE_DEF( FT_Memory ) + FT_New_Memory( void ) + { + FT_Memory memory; + + + memory = (FT_Memory)malloc( sizeof ( *memory ) ); + if ( memory ) + { + memory->user = 0; + memory->alloc = ft_alloc; + memory->realloc = ft_realloc; + memory->free = ft_free; +#ifdef FT_DEBUG_MEMORY + ft_mem_debug_init( memory ); +#endif + } + + return memory; + } + + + /* documentation is in ftobjs.h */ + + FT_BASE_DEF( void ) + FT_Done_Memory( FT_Memory memory ) + { +#ifdef FT_DEBUG_MEMORY + ft_mem_debug_done( memory ); +#endif + memory->free( memory, memory ); + } + + +/* END */ diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/freetype.vcxproj b/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/freetype.vcxproj index d61eeec5fe9..3b19fdb4c72 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/freetype.vcxproj +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/freetype.vcxproj @@ -90,10 +90,10 @@ <ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;DLL_EXPORT;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT_DEBUG_LOGGING;FT2_BUILD_LIBRARY;DLL_EXPORT;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <DisableLanguageExtensions>true</DisableLanguageExtensions>
+ <DisableLanguageExtensions>false</DisableLanguageExtensions>
<WarningLevel>Level4</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@@ -111,15 +111,18 @@ <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
</Lib>
+ <PreBuildEvent>
+ <Command>call $(SolutionDir)script.bat</Command>
+ </PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;DLL_EXPORT;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT_DEBUG_LOGGING;FT2_BUILD_LIBRARY;DLL_EXPORT;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <DisableLanguageExtensions>true</DisableLanguageExtensions>
+ <DisableLanguageExtensions>false</DisableLanguageExtensions>
<WarningLevel>Level4</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@@ -137,15 +140,18 @@ <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
</Lib>
+ <PreBuildEvent>
+ <Command>call $(SolutionDir)script.bat</Command>
+ </PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT_DEBUG_LOGGING;DLG_STATIC;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <DisableLanguageExtensions>true</DisableLanguageExtensions>
+ <DisableLanguageExtensions>false</DisableLanguageExtensions>
<WarningLevel>Level4</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@@ -163,15 +169,18 @@ <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
</Lib>
+ <PreBuildEvent>
+ <Command>call $(SolutionDir)script.bat</Command>
+ </PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT_DEBUG_LOGGING;DLG_STATIC;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <DisableLanguageExtensions>true</DisableLanguageExtensions>
+ <DisableLanguageExtensions>false</DisableLanguageExtensions>
<WarningLevel>Level4</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@@ -189,6 +198,9 @@ <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
</Lib>
+ <PreBuildEvent>
+ <Command>call $(SolutionDir)script.bat</Command>
+ </PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
@@ -316,13 +328,13 @@ <ClCompile Include="..\..\..\src\base\ftpfr.c" />
<ClCompile Include="..\..\..\src\base\ftstroke.c" />
<ClCompile Include="..\..\..\src\base\ftsynth.c" />
- <ClCompile Include="..\..\..\src\base\ftsystem.c" />
<ClCompile Include="..\..\..\src\base\fttype1.c" />
<ClCompile Include="..\..\..\src\base\ftwinfnt.c" />
<ClCompile Include="..\..\..\src\bdf\bdf.c" />
<ClCompile Include="..\..\..\src\cache\ftcache.c" />
<ClCompile Include="..\..\..\src\cff\cff.c" />
<ClCompile Include="..\..\..\src\cid\type1cid.c" />
+ <ClCompile Include="..\..\..\src\dlg\dlgwrap.c" />
<ClCompile Include="..\..\..\src\gzip\ftgzip.c" />
<ClCompile Include="..\..\..\src\lzw\ftlzw.c" />
<ClCompile Include="..\..\..\src\pcf\pcf.c" />
@@ -333,6 +345,7 @@ <ClCompile Include="..\..\..\src\raster\raster.c" />
<ClCompile Include="..\..\..\src\sfnt\sfnt.c" />
<ClCompile Include="..\..\..\src\smooth\smooth.c" />
+ <ClCompile Include="..\..\..\src\sdf\sdf.c" />
<ClCompile Include="..\..\..\src\truetype\truetype.c" />
<ClCompile Include="..\..\..\src\type1\type1.c" />
<ClCompile Include="..\..\..\src\type42\type42.c" />
@@ -340,12 +353,19 @@ <ClCompile Include="..\ftdebug.c">
<DisableLanguageExtensions>false</DisableLanguageExtensions>
</ClCompile>
+ <ClCompile Include="..\ftsystem.c">
+ <DisableLanguageExtensions>false</DisableLanguageExtensions>
+ </ClCompile>
<ResourceCompile Include="..\..\..\src\base\ftver.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="AfterBuild">
- <Copy SourceFiles="$(TargetPath)" DestinationFolder="..\..\..\objs" />
+ <ItemGroup>
+ <TargetFiles Include="$(TargetDir)$(TargetName).*" />
+ </ItemGroup>
+ <Copy SourceFiles="@(TargetFiles)" DestinationFolder="..\..\..\objs" />
+ <Copy SourceFiles="$(TargetDir)$(TargetFileName)" DestinationFolder="..\..\..\..\freetype-demos\bin" Condition="'$(TargetExt)'=='.dll'" />
</Target>
</Project>
diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/freetype.vcxproj.filters b/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/freetype.vcxproj.filters index 345e1f1a7d1..bc7ce3da699 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/freetype.vcxproj.filters +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/freetype.vcxproj.filters @@ -65,6 +65,9 @@ <ClCompile Include="..\..\..\src\sfnt\sfnt.c">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="..\..\..\src\sdf\sdf.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
<ClCompile Include="..\..\..\src\smooth\smooth.c">
<Filter>Source Files</Filter>
</ClCompile>
@@ -131,10 +134,13 @@ <ClCompile Include="..\..\..\src\base\ftwinfnt.c">
<Filter>Source Files\FT_MODULES</Filter>
</ClCompile>
+ <ClCompile Include="..\..\..\src\dlg\dlgwrap.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\src\base\ftver.rc">
<Filter>Source Files</Filter>
</ResourceCompile>
</ItemGroup>
-</Project>
\ No newline at end of file +</Project>
diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/index.html b/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/index.html index 3b60c5fe1bc..6332d41fd88 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/index.html +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/index.html @@ -12,7 +12,7 @@ <p>This directory contains solution and project files for Visual C++ 2010 or newer, named <tt>freetype.sln</tt>, and <tt>freetype.vcxproj</tt>. It compiles the following libraries -from the FreeType 2.10.4 sources:</p> +from the FreeType 2.11.0 sources:</p> <ul> <li>freetype.dll using 'Release' or 'Debug' configurations</li> diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/script.bat b/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/script.bat new file mode 100644 index 00000000000..8c900e62e98 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/vc2010/script.bat @@ -0,0 +1,11 @@ +@echo OFF
+
+:: Move to Top Dir
+cd ..\..\..\
+
+:: Copy dlg's files from `subprojects\dlg' to `src\dlg'
+IF NOT EXIST include\dlg (
+ mkdir include\dlg
+ COPY subprojects\dlg\include\dlg\dlg.h include\dlg
+ COPY subprojects\dlg\include\dlg\output.h include\dlg
+ COPY subprojects\dlg\src\dlg\dlg.c src\dlg\ )
diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/freetype.vcproj b/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/freetype.vcproj index ecb5b055c14..b55e53dec61 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/freetype.vcproj +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/freetype.vcproj @@ -395,8 +395,40 @@ >
</File>
<File
- RelativePath="..\..\..\src\base\ftsystem.c"
+ RelativePath="..\ftsystem.c"
>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ DisableLanguageExtensions="false"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Static|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ DisableLanguageExtensions="false"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ DisableLanguageExtensions="false"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug Static|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ DisableLanguageExtensions="false"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath="..\..\..\src\smooth\smooth.c"
diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/index.html b/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/index.html index cec26d27abf..dbc93ad8086 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/index.html +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/visualc/index.html @@ -12,7 +12,7 @@ <p>This directory contains project files <tt>freetype.dsp</tt> for Visual C++ 6.0, and <tt>freetype.vcproj</tt> for Visual C++ 2002 through 2008, which you might need to upgrade automatically. -It compiles the following libraries from the FreeType 2.10.4 sources:</p> +It compiles the following libraries from the FreeType 2.11.0 sources:</p> <ul> <li>freetype.dll using 'Release' or 'Debug' configurations</li> diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/index.html b/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/index.html index 474e85c378e..45aec7a98b6 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/index.html +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/visualce/index.html @@ -21,7 +21,7 @@ the following targets: <li>PPC/SP WM6 (Windows Mobile 6)</li> </ul> -It compiles the following libraries from the FreeType 2.10.4 sources:</p> +It compiles the following libraries from the FreeType 2.11.0 sources:</p> <ul> <pre> diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-bcc.mk b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-bcc.mk index c80710ea31c..d497dd15dc6 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-bcc.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-bcc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-bccd.mk b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-bccd.mk index 966bdb51f24..701b83d25c7 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-bccd.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-bccd.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-dev.mk b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-dev.mk index b2af6679022..a2f464479ef 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-dev.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-dev.mk @@ -5,7 +5,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-gcc.mk b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-gcc.mk index f27e6b12ab8..4117453ec33 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-gcc.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-gcc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-icc.mk b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-icc.mk index 2e696092d38..ebab45ef2c6 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-icc.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-icc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-intl.mk b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-intl.mk index 88e62697532..0fef8d72453 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-intl.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-intl.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-lcc.mk b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-lcc.mk index 6cf64606469..7aed5b5177a 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-lcc.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-lcc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-mingw32.mk b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-mingw32.mk index f2eb0216da9..6731778855a 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-mingw32.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-mingw32.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-vcc.mk b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-vcc.mk index e800d274450..278624f375d 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-vcc.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-vcc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-wat.mk b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-wat.mk index a0de4bbbbba..df2ece36569 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/w32-wat.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/w32-wat.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/Build/source/libs/freetype2/freetype-src/builds/windows/win32-def.mk b/Build/source/libs/freetype2/freetype-src/builds/windows/win32-def.mk index f7598539954..15bfd0cfd1a 100644 --- a/Build/source/libs/freetype2/freetype-src/builds/windows/win32-def.mk +++ b/Build/source/libs/freetype2/freetype-src/builds/windows/win32-def.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2020 by +# Copyright (C) 1996-2021 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -13,11 +13,11 @@ # fully. -DELETE := del -CAT := type -SEP := $(strip \ ) -BUILD_DIR := $(TOP_DIR)/builds/windows -PLATFORM := windows +DELETE := del +CAT := type +SEP := $(strip \ ) +PLATFORM_DIR := $(TOP_DIR)/builds/windows +PLATFORM := windows # This is used for `make refdoc' and `make refdoc-venv' # |