Commit Graph

769 Commits

Author SHA1 Message Date
Gabor Kertesz
80bd4cba7e [builds/windows] Add ARM64 platform.
* builds/windows/vc2010/freetype.sln: Updated
* builds/windows/vc2010/freetype.vcxproj: Updated.
* builds/windows/vc2010/freetype.vcxproj.filters: Minor fix.
2021-10-22 10:56:42 -04:00
Alexei Podtelezhnikov
a156040600 [builds/unix, builds/vms] Standardize mmap failure.
* builds/unix/ftsystem.c (FT_Stream_Open): Check for MAP_FAILED.
* builds/vms/ftsystem.c (FT_Stream_Open): Ditto.

This should cover https://savannah.nongnu.org/patch/?5909 as well.
2021-10-05 14:19:06 -04:00
Alexei Podtelezhnikov
12ef831fc3 [builds/unix] Do not use autoconf SIZEOF.
* builds/unix/ftconfig.h.in [FT_USE_AUTOCONF_SIZEOF_TYPES]: Removed.
* builds/unix/configure.raw: Remove AC_CHECK_SIZEOF and update.

After this commit, autoconf builds will fully rely on <limits.h>
rather than falling back on it if AC_CHECK_SIZEOF failed for some
reason.  There is a risk that misconfigured cross-compilation might
have wrong headers.  Note that Meson and CMake builds always relied on
<limits.h> for sizes and availability of integer types.
2021-09-24 22:27:27 -04:00
Alexei Podtelezhnikov
b4dddd8244 [base] Initialize stream memory earlier.
With Windows memory management tracking heap, it is important to use
it during the stream opening fallback. In Unix, the argument is
unused, but it is better to set it correctly.

* src/base/ftobjs.c (FT_Stream_New): Set memory before calling
`FT_Stream_Open`.
* builds/windows/ftsystem.c, builds/unix/ftsystem.c (FT_Stream_Open,
ft_close_stream_by_free): Call `ft_alloc` and `ft_free` with proper
memory argumment.
2021-09-22 00:30:03 -04:00
Alexei Podtelezhnikov
93866bec77 [builds/windows] Revert back to CreateFileA only.
Calling `CreateFileW` without making sure that the patname is really
`wchar_t` is a bad idea and can lead to unpredictable overreads. For
Windows CE, we impelemnt the missing API.

Fixes #1098 and !76 again.

* builds/windows/ftsystem.c (FT_Stream_Open): Call `CreateFileA`.
[_WIN32_WCE] (CreateFileA, FileSizeEx): Implement missing interfaces.
2021-09-21 23:14:42 -04:00
Alexei Podtelezhnikov
6190360967 Minor. 2021-09-20 22:18:29 -04:00
Alexei Podtelezhnikov
0b429b609c [builds/windows] Try both wide and narrow CreateFile
Windows handles wchar_t* UTF-16 and char* ANSI (presently UTF-8)
filenames using alternative -A and -W API. We'll try them both
when opening a file. This means that you should not worry about
about conversions.

Fixes #1098 and !76.

* builds/windows/ftsystem.c (FT_Stream_Open): Call alternative
`CreateFile` in the case of failure.
2021-09-17 08:31:27 -04:00
Alexei Podtelezhnikov
7e26c7a6da [builds/windows] Use native memory allocation API.
* builds/windows/ftsystem.c (ft_alloc, ft_realloc, ft_free):
Wrap HeapAlloc, HeapReAlloc, and HeapFree.
(FT_New_Memory): Set the heap handle.
2021-09-07 17:06:27 -04:00
Alexei Podtelezhnikov
612925ff22 s/0/NULL/ where appropriate. 2021-09-01 21:37:21 -04:00
Alexei Podtelezhnikov
efa1a35907 * builds/windows/ftsystem.c (FT_Stream_Open): Fix double-close. 2021-08-30 09:38:25 -04:00
Alexei Podtelezhnikov
6804ce2986 [builds/windows] Revise SSE2 settings.
* builds/windows/vc2010/freetype.vcxproj [x64]: Remove explicit SSE2.
* builds/windows/visualc/freetype.vcproj [Win32]: Add explicit SSE2.
2021-08-27 09:46:40 -04:00
Alexei Podtelezhnikov
78f2bd0bd3 Whitespace formatting. 2021-08-22 22:32:07 -04:00
Carlo Bramini
f0f00f7c16 * builds/windows/ftsystem.c (FT_Stream_Open): Support legacy Windows. 2021-08-19 22:14:42 -04:00
Alexei Podtelezhnikov
e2cceed857 [builds/windows] Do not set CharacterSet for VC++.
* builds/windows/vc2010/freetype.vcxproj: s/Unicode/NotSet/.
* builds/windows/visualc/freetype.vcproj: s/"1"/"0"/.
2021-08-18 11:36:33 -04:00
Alexei Podtelezhnikov
536a10aca8 * builds/windows/ftsystem.c (FT_Stream_Open): Cast to remove warning. 2021-08-17 22:24:46 -04:00
Alexei Podtelezhnikov
5116f12963 * builds/windows/ftsystem.c (FT_Stream_Open): Support UNICODE compilation. 2021-08-17 22:08:45 -04:00
Werner Lemberg
801cd842e2 * Version 2.11.0 released.
==========================

Tag sources with `VER-2-11-0'.

* docs/VERSION.TXT: Add entry for version 2.11.0.
* docs/CHANGES: Updated.

* README, src/base/ftver.rc, builds/windows/vc2010/index.html,
builds/windows/visualc/index.html,
builds/windows/visualce/index.html,
builds/wince/vc2005-ce/index.html,
builds/wince/vc2008-ce/index.html, docs/freetype-config.1:
s/2.10.4/2.11.0/, s/2104/2110/.

* include/freetype/freetype.h (FREETYPE_MINOR): Set to 11.
(FREETYPE_PATCH): Set to 0.

* builds/unix/configure.raw (version_info): Set to 24:0:18.
* CMakeLists.txt (VERSION_MINOR): Set to 11.
(VERSION_PATCH): Set to 0.

* builds/toplevel.mk (dist): Ignore more git-related files.
2021-07-19 18:07:51 +02:00
Werner Lemberg
2bfdc161fb [build] Allow overriding of ANSIFLAGS for GNU make build.
* builds/*: Implement it.
2021-05-29 00:27:40 +02:00
Nikolaus Waxweiler
ebf9e5ac71 [CMake] Update dependency finders.
1. Fixes CMake using any found HarfBuzz version lower than the minimum
required. This is based on HALX99's merge request at
https://gitlab.freedesktop.org/freetype/freetype/-/merge_requests/31
2. Update FindHarfBuzz.cmake from
https://github.com/WebKit/WebKit/blob/1ce32454/Source/cmake/FindHarfBuzz.cmake
and guard post-CMake-3.1 features to keep the minimum version unchanged
3. Update FindBrotliDec.cmake to stop the warnings, based on what
https://github.com/google/woff2/blob/a0d0ed7d/cmake/FindBrotliDec.cmake
is doing

* CMakeLists.txt, builds/cmake/FindHarfBuzz.cmake: Implement 1 and 2.
* builds/cmake/FindBrotliDec.cmake: Implement 3.
2021-05-19 21:53:21 +01:00
Issam E. Maghni
f998eaf972 * builds/meson/process_ftoption_h.py: Add LF at EOF.
This fixes

  .../ftoption.h:1030:10: error:
    no newline at end of file [-Werror,-Wnewline-eof]

for the generated `ftoption.h` file.
2021-04-25 20:30:43 +02:00
Alexei Podtelezhnikov
0bd5d95d66 * src/base/ftobjs.c (Mac_Read_POST_Resource): s/FT_ALLOC/FT_QALLOC/.
* builds/mac/ftmac.c (FT_New_Face_From_SFNT, read_lwfn): Ditto.
2021-04-23 22:04:05 -04:00
Werner Lemberg
6f6ad87638 * builds/unix/freetype2.m4: Fix help string formatting.
The indented `dnl` macros inserted unwanted horizontal space.

Problem reported by Ozkan Sezer <sezeroz@gmail.com>.
2021-04-16 20:50:27 +02:00
Werner Lemberg
111f2f27b5 * builds/unix/ax_pthread.m4: Update from 'autoconf-archive'.
A bunch of fixes were added recently to its git repository.
2021-02-19 20:33:50 +01:00
Werner Lemberg
eca35e04fc [unix] Updates for autoconf 2.71.
This fixes warnings reported by autoupdate.

* builds/unix/ax_pthread.m4: Replace `as_echo` with `AS_ECHO`.

* builds/unix/configure.raw: Remove obsolete `AC_HEADER_STDC`.
Don't escape back quotes in messages for `AC_MSG_WARN`.
2021-02-17 21:10:34 +01:00
Werner Lemberg
635d394fe3 * builds/toplevel.mk: Fix previous commit.
<top_level>: Use `TOP_DIR` in `wildcard` function.
(check_out_submodule, copy_submodule): Move down to come after
definition of `all` rule.
Call `mkdir` conditionally.
2021-02-16 19:24:15 +01:00
Werner Lemberg
c3a0b43ec6 * builds/toplevel.mk: Use rules for handling 'dlg'.
Suggested by Alexei.

(check_out_submodule, copy_submodule): New targets.
<top-level>: Replace calls to `shell` with rules.
2021-02-16 17:04:51 +01:00
Werner Lemberg
dfa7cca5f3 * builds/toplevel.mk: Avoid side effects of shell.
We use a dummy variable to catch its output.  Otherwise the `make`
program is going to interpret the return value of `shell`; this can
cause obscure warning or error messages or even be harmful.
2021-02-16 14:29:45 +01:00
Werner Lemberg
92bd99bd25 Move 'dlg' submodule to subprojects directory.
This is for future changes with Meson, which doesn't allow a
different name for its `subprojects` directory.  Having both a
`submodules` and a `subprojects` directory is confusing.

* .gitmodules, autogen.sh (copy_submodule_files, DLG_INC_DIR,
DLG_SRC_DIR): Updated.

* builds/toplevel.mk (<top-level>, do-dist),
builds/windows/vc2010/script.bat: Updated.

* src/tools/no-copyright: Updated.
2021-02-16 14:07:18 +01:00
Alexei Podtelezhnikov
fd7f92b6f0 * builds/unix/configure.raw [mmap]: Restore default path.
Fixes #1023.
2021-02-03 14:44:14 -05:00
Alexei Podtelezhnikov
d3befe1c72 * builds/unix/configure.raw [mmap support]: Explicitly handle Windows.
Fixes #1024.
2021-02-02 23:02:54 -05:00
Werner Lemberg
5635d5edc4 * builds/unix/configure.raw [mmap support]: Correctly handle Windows.
Fixes #1024.
2021-02-02 10:33:53 +01:00
Werner Lemberg
689402418f builds/{unix,windows}/ftsystem.c: Sync comments with src/base/ftsystem.c.
Also some minor code formatting.
2021-02-02 09:44:42 +01:00
Werner Lemberg
4554c6da42 * builds/windows/ftdebug.c: Synchronize with src/base/ftdebug.c. 2021-01-31 17:17:40 +01:00
Werner Lemberg
939e844468 * builds/unix/configure.raw: Fix typo.
Bug introduced in Vincent's last commit bb33f03.

Fixes issue #1021.
2021-01-30 06:32:38 +01:00
Vincent Torri
bb33f03a71 * builds/windows/ftsystem.c: Add shared memory support on Windows. 2021-01-27 06:43:41 -05:00
Werner Lemberg
209e9841f2 Require HarfBuzz 2.0.0.
This is needed to make commit f1f9705f9 work.

* CMakeLists.txt (HARFBUZZ_MIN_VERSION), builds/unix/configure.raw
(harfbuzz_pkg), meson.build (harfbuzz_dep): Updated.
2021-01-23 14:15:29 +01:00
Werner Lemberg
b6e8a71266 Update all copyright notices. 2021-01-17 07:18:48 +01:00
Alexei Podtelezhnikov
4e7a01840d * builds/unix/unixddef.mk: Remove the second DEVEL_DIR definition. 2021-01-16 12:04:35 -05:00
Werner Lemberg
5e4ed8ba2b Documentation update for repository move to 'freedesktop.org'. 2021-01-16 15:45:13 +01:00
Werner Lemberg
03ceda9701 * builds/*: s/BUILD_DIR/PLATFORM_DIR/.
The old variable name caused confusion.
2021-01-10 15:34:46 +01:00
Alexei Podtelezhnikov
3431553836 [builds] Revert `FTMODULE_H' changes.
* builds/toplevel.mk, builds/freetype.mk: Revert changes.
2021-01-08 13:22:34 -05:00
Alexei Podtelezhnikov
6f24bab68c [builds/windows] Fix up DLG build with VC++.
* builds/windows/vc2010/script.bat: Copy headers to include/.
* builds/windows/vc2010/freetype.vcxproj: Remove DLG paths.
2021-01-07 16:57:13 -05:00
Alexei Podtelezhnikov
576403f22b [builds] Relocate `FTMODULE_H'.
* builds/toplevel.mk: Place `FTMODULE_H' in include/.
* builds/freetype.mk: Simplify included path.
2021-01-07 16:02:32 -05:00
Alexei Podtelezhnikov
6369058eee [dlg] Move the headers to include/dlg to simplify their use.
* autogen.sh, builds/toplevel.mk: Copy headers to incluide/dlg.
* builds/freetype.mk, builds/windows/vc2010/freetype.vcxproj:
Simplify included path.
* include/freetype/internal/ftdebug.h: Simplify #include.
* src/dlg/rules.mk, .gitignore: Updated.
2021-01-07 00:13:23 -05:00
Alexei Podtelezhnikov
74f1b6be4a [builds/windows] Add SDF to VC2010 project.
* builds/windows/vc2010/freetype.vcxproj: Updated;
AfterBuild conveniences.
2021-01-04 23:35:01 -05:00
Werner Lemberg
2373074a2c * builds/windows/detect.mk (COPY): Make it work with shell.
Without this patch, we get the error

  builds/toplevel.mk:127: *** missing separator.  Stop.

Reported by Anuj, with a solution from Alexei.
2020-12-23 22:02:48 +01:00
Werner Lemberg
505943a6a4 * builds/unix/configure.raw: Don't set FT_DEBUG_LOGGING.
All debug options are handled exclusively in `ftoption.h`.
2020-12-07 17:08:37 +01:00
Werner Lemberg
015a9b8d8f */*: s/FT_LOGGING/FT_DEBUG_LOGGING/. 2020-12-07 10:27:42 +01:00
Werner Lemberg
7d3ab6a7db * builds/toplevel.mk (do-dist): Remove submodules directory. 2020-12-05 09:43:45 +01:00
Werner Lemberg
74822f64b0 [base] Don't close 'stderr' after logging.
* src/base/ftdebug.c, builds/windows/ftdebug.c (ft_logging_deinit):
Fix it.
2020-12-05 09:43:45 +01:00