builds/unix/ftconfig.in


Log

Author Commit Date CI Message
Alexei Podtelezhnikov 98688596 2014-08-21T23:28:52 Fix Savannah bug #43033. * include/config/ftconfig.h, builds/unix/ftconfig.in, builds/vms/ftconfig.h [FT_LONG64]: Do not disable the macro when 64-bit type is `long'.
Alexei Podtelezhnikov 71330ceb 2014-07-15T23:30:45 [base] Move assembler code back in the source file. FT_MulFix assembler used to reside in ftcalc.c before f47d263f1b. * include/config/ftconfig.h, builds/unix/ftconfig.in, builds/vms/ftconfig.h [FT_MULFIX_ASSEMBLER]: Move code from here... * src/base/ftcalc.c [FT_MULFIX_ASSEMBLER]: ... to here.
Chongyu Zhu 94c66944 2014-01-08T08:52:59 [arm] Fix Savannah bug #41138, part 2. * builds/unix/ftconfig.in (FT_MulFix_arm), include/config/ftconfig.h (FT_MulFix_arm), src/truetype/ttinterp.c (TT_MulFix14_arm): Fix preprocessor conditionals for `add.w'.
Werner Lemberg fae38207 2013-11-13T08:55:46 Simplify header file hierarchy. This large patch changes the header file directory layout from `include/freetype/...' to `include/...', effectively removing one level. Since the file `ft2build.h' is also located in `include' (and it stays there even after installation), all FreeType header files are now in a single directory. Applications that use (a) `freetype-config' or FreeType's `pkg-config' file to get the include directory for the compiler, and (b) the documented way for header inclusion like #include <ft2build.h> #include FT_FREETYPE_H ... don't need any change to the source code. * include/freetype/*: Move up to... * include/*: ... this directory. * builds/amiga/include/freetype/*: Move up to... * builds/amiga/include/*: ... this directory. */*: Essentially do `s@/freetype/@/@' where appropriate. * CMakeList.txt: Simplify. * builds/unix/freetype-config.in, builds/unix/freetype2.in: For `--cflags', return a single directory. * builds/unix/install.mk (install): No longer try to remove `cache' and `internal' subdirectories; instead, remove the `freetype' subdirectory.
Werner Lemberg 35b08189 2013-11-02T08:28:41 Fix Savannah bug #40451. Simply apply the patch from the bug report. * builds/unix/ftconfig.in, builds/vms/ftconfig.h, include/freetype/config/ftconfig.h: The used #pragma directives only work with gcc versions 4.6 and higher.
Chongyu Zhu 41632b58 2013-10-15T11:40:34 [arm] Fix thumb2 inline assembly under LLVM. When using `ADD' with an immediate operand, the instruction is actually `ADD Rd, Rn, #<imm12>', that is, the maximum of the immediate operand cannot exceed 4095. It will fail to compile with LLVM. However, in GCC, due to some legacy compatibility considerations, `ADD.W' will be automatically emitted when the immediate operand is larger than 4095. * builds/unix/ftconfig.in, include/freetype/config/ftconfig.h (FT_MulFix_arm) [__GNUC__]: Support clang compiler. * src/truetype/ttinterp.c (TT_MulFix14_arm) [__GNUC__]: Ditto.
Werner Lemberg 9e6de36a 2013-08-05T16:37:21 Fix Savannah bug #39700. * builds/unix/ftconfig.h: Synchronize with `include/freetype/config/ftconfig.h'. * builds/vms/ftconfig.h: Ditto. Make the differences to the master `ftconfig.h' file as small as possible for easier maintainance.
David Turner b2890886 2013-07-16T12:52:18 Optimize FT_MulFix for x86_64 GCC builds. This patch provides an optimized `FT_MulFix' implementation for x86_64 machines when FreeType is built with GCC, or compatible compilers like Clang. Example: bin/ftbench -p -t 5 -s 14 -f 0008 Arial.ttf Before: Load 4.863 us/op Load_Advances (Normal) 4.816 us/op Load_Advances (Fast) 0.028 us/op Render 2.753 us/op Get_Glyph 0.463 us/op Get_CBox 0.077 us/op Get_Char_Index 0.023 us/op Iterate CMap 13.898 us/op New_Face 12.368 us/op Embolden 0.028 us/op Get_BBox 0.302 us/op After: Load 4.617 us/op Load_Advances (Normal) 4.645 us/op Load_Advances (Fast) 0.027 us/op Render 2.789 us/op Get_Glyph 0.460 us/op Get_CBox 0.077 us/op Get_Char_Index 0.024 us/op Iterate CMap 13.403 us/op New_Face 12.278 us/op Embolden 0.028 us/op Get_BBox 0.301 us/op * builds/unix/ftconfig.in, include/freetype/config/ftconfig.h (FT_MulFix_x86_64): New function.
David Turner a5f33eeb 2013-07-16T12:40:03 Speed up ARMv7 support. When building for ARMv7 with thumb2 instructions, the optimized `FT_MulFix_arm' assembly routine was not being used. The reason for this is in the `ftconfig.h' header, namely: - The assembly routine uses the `smull' instruction which is not available when generating Thumb-1 machine code. It is available in Thumb-2 mode, though. - The header was written a long time ago before Thumb-2 became widely popular (e.g. with Android). So it simply doesn't use the assembly routine if the `__thumb__' built-in macro is defined. - When compiling in Thumb-2 mode, the compiler will define both `__thumb__' and `__thumb2__'. By checking for `(__thumb2__ || !__thumb__)', we ensure that the assembly routine is only avoided when generating Thumb-1 code. Given that this is performance-sensitive function, this improves `ftbench' as follows on a Galaxy Nexus: Before (us/op) After (us/op) - loading Arial.ttf glyphs at 14 ppem [1] Load 34.285 33.098 - same operation with the light auto-hinter [2] Load 31.317 29.590 - same operation without hinting [3] Load 6.143 5.376 - loading Arial.ttf advances at 14 ppem [4] Load_Advances (normal) 34.216 33.016 Load_Advances (fast) 0.176 0.176 [1] ftbench -t 5 -p -s 14 -b a -f 0008 Arial.ttf [2] ftbench -t 5 -p -s 14 -b a -r 1 -f 0028 Arial.ttf [3] ftbench -t 5 -p -s 14 -b a -f 000a Arial.ttf [4] ftbench -t 5 -p -s 14 -b b -f 0008 Arial.ttf * builds/unix/ftconfig.in, include/freetype/config/ftconfig.h (FT_MULFIX_ASSEMBLER): Fix handling for ARMv7.
Werner Lemberg cbcf33d1 2013-05-12T07:27:48 Introduce unsigned 64bit type (if available). * include/freetype/config/ftconfig.h: Define FT_UINT64 if available. [FT_LONG64]: Provide FT_UInt64. * builds/unix/ftconfig.in: Synchronized.
Werner Lemberg 26568611 2013-05-05T17:50:22 Synchronize `ftconfig.h'. * builds/unix/ftconfig.in: Updated.
suzuki toshiya 714ee56a 2011-12-02T21:14:18 [mac] Unify DARWIN_NO_CARBON with FT_MACINTOSH. Originally FT_MACINTOSH was a pure auto macro and DARWIN_NO_CARBON was a configurable macro to disable Carbon-dependent code. Because now configure script sets DARWIN_NO_CARBON by default and disables Darwin & Carbon-dependent codes, these macros can be unified. FT_MACINTOSH (undefined by default) is kept and DARWIN_NO_CARBON (defined by default) is removed, because DARWIN_NO_CARBON violates FT_XXX naming convention of public macros, and a macro configured by default is not portable for the building without configure (e.g. make devel). * builds/unix/configure.raw: Define FT_MACINTOSH if Carbon-based old Mac font support is requested and Carbon is available. * builds/unix/ftconfig.in: Undefine FT_MACINTOSH when the support for Mac OS X without Carbon (e.g. Mac OS X 10.4 for ppc64) is requested. * include/freetype/config/ftconfig.in: Ditto. * builds/vms/ftconfig.h: Ditto. * src/base/ftbase.h: Remove DARWIN_NO_CARBON. * src/base/ftbase.c: Ditto. * src/base/ftobjs.c: Ditto. * src/base/ftrfork.c: Ditto. * src/base/ftmac.c: Compile the body if FT_MACINTOSH is defined (same with TT_USE_BYTECODE_INTERPRETER in ttinterp.c). * builds/mac/ftmac.c: Ditto. * builds/mac/FreeType.m68k_cfm.make.txt: Define FT_MACINTOSH. * builds/mac/FreeType.m68k_far.make.txt: Ditto. * builds/mac/FreeType.ppc_classic.make.txt: Ditto. * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
Werner Lemberg 34eca6ec 2011-09-17T09:46:46 Remove unused FT_ALIGNMENT macro. * builds/unix/ftconfig.in, builds/vms/ftconfig.h, include/freetype/config/ftconfig.h: Do it.
Werner Lemberg fe0f16d2 2011-06-01T10:36:04 Fix comments.
suzuki toshiya c32d54c9 2011-05-29T01:33:34 [mac] Conditionalize the inclusion of "AvailabilityMacros.h". The native SDK on earliest Mac OS X (10.0-10.1) did not have "AvailabilityMacros.h". To prevent the inclusion of missing header file, ECANCELED (introduced in 10.2) in POSIX header file <errno.h> is checked to detect the system version. * include/freetype/config/ftconfig.h: Conditionalize the inclusion of "AvailabilityMacros.h". * builds/unix/ftconfig.in: Ditto. * builds/vms/ftconfig.h: Ditto.
Werner Lemberg 149f5438 2011-04-18T15:09:38 Synchronize config files. * builds/unix/ftconfig.in: Copy missing assembler routines from include/freetype/config/ftconfig.h.
Werner Lemberg 948076cd 2010-08-06T01:39:26 Fix conditional usage of FT_MulFix_i386. With -ansi flag, gcc does not define `i386', only `__i386__'. * include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: s/i386/__i386__/.
Steve Langasek 2cd5dce8 2009-03-15T00:58:25 Use __asm__ for declaring assembly instead of asm. * builds/unix/ftconfig.in (FT_MulFix_arm): Use __asm__ instead of asm on arm, fixing a build failure on armel with -pedantic.
Werner Lemberg 1e859924 2009-02-15T07:54:35 Fix Savannah bug #25588. * builds/unix/ftconfig.in (FT_MulFix_arm): Use correct syntax for `orr' instruction.
Werner Lemberg 45489589 2008-10-04T11:39:03 * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Remove compiler warnings. Formatting.
Suzuki, Toshiya (鈴木俊哉) 9e2b9900 2008-10-03T11:52:22 * Remove duplicated functions from builds/mac/ftmac.c. Now MPW builds builds/mac/ftmac.c as a part of ftbase.c
Werner Lemberg b211651a 2008-09-12T16:27:48 * autogen.sh, builds/unix/configure.raw, include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor beautifying. * include/freetype/ftadvanc.h, include/freetype/ftgasp.h, include/freetype/ftlcdfil.h: Protect against FreeType 1. Some other minor fixes. * devel/ftoption.h: Synchronize with include/freetype/config/ftoption.h. Formatting, documentation improvements.
Suzuki, Toshiya (鈴木俊哉) 59188661 2008-09-11T08:02:23 * Fix Savannah bug #21250: builds/unix/configure installs bi-arch ftconfig.h if it works correctly
David Turner f47d263f 2008-09-02T02:21:58 * include/freetype/ftoption.h, include/freetype/ftconfig.h, builds/unix/ftconfig.in, include/freetype/freetype.h, src/base/ftcalc.c: Make FT_MulFix an inlined function. Also provide an assembler implementation for ARM architectures. this is done to speedup FreeType a little (on x86 3% when loading+hinting, 10% when rendering, ARM savings are more important though). Disable this by undefining FT_CONFIG_OPTION_INLINE_MULFIX in ftconfig.h
Werner Lemberg 644b1ad4 2007-03-28T21:17:11 * builds/win32/visualc/index.html, builds/win32/visualc/freetype.dsp, builds/win32/visualc/freetype.vcproc, README: s/2.3.2/2.3.3/, s/232/233/. * docs/CHANGES: Mention ftdiff.
Suzuki, Toshiya (鈴木俊哉) 86a3ee76 2007-03-26T05:40:55 Disable Carbon framework dependency on 64bit ABI of Mac OS X 10.4.x
Suzuki, Toshiya (鈴木俊哉) 4bcf9574 2007-03-22T04:53:45 Suppress SGI compiler warning against setjmp
Suzuki, Toshiya (鈴木俊哉) 7e3d6013 2006-12-15T15:23:21 * Simplify src/base/ftmac.c for Mac OS X
Werner Lemberg c4c35b77 2006-08-27T08:03:46 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h. Reported by Jens. Formatting.
Werner Lemberg ba80d61c 2004-04-16T09:56:30 * builds/unix/ftconfig.in, builds/vms/ftconfig.h: Define FT_CHAR_BIT. * src/base/ftobjs.c (FT_Load_Glyph): Don't apply autohinting if glyph is vertically distorted or mirrored. * src/cff/cffgload.c (cff_slot_load): Handle zero `size' properly for embedded bitmaps. * docs/CHANGES: Updated.
Werner Lemberg e42dbcec 2003-11-09T08:37:14 * Version 2.1.7 released. ========================= * builds/unix/ft2unix.h: Fix comments. * builds/unix/ftconfig.in: Synchronized with ANSI version. Use `#undef' in templates as recommended in the autoconf documentation. Since real `#undef' lines don't survive during configuration, use `/undef' instead; the postprocessing facility of the AC_CONFIG_HEADERS autoconf macro converts them to `#undef'. * builds/unix/install.mk (install): Install Unix version of `ftconfig.h'. * builds/unix/unix-cc.in (CFLAGS): Set FT_CONFIG_CONFIG_H macro to include the correct `ftconfig.h' file. * builds/unix/ft-munmap.m4 (FT_MUNMAP_DECL): Removed. (FT_MUNMAP_PARAM): Updated syntax to autoconf 2.59. * builds/unix/freetype2.m4: Updated syntax to autoconf 2.59. * builds/unix/configure.ac: Use AC_CONFIG_HEADERS instead of AC_CONFIG_HEADER to create ftconfig.h, and use second argument to replace `/undef' with `#undef'. Don't use FT_MUNMAP_DECL but AC_CHECK_DECLS to check for munmap. Use AS_HELP_STRING in AC_ARG_WITH. Update syntax to autoconf 2.59. * builds/unix/ltmain.sh: Regenerated with `libtoolize --force --copy' from libtool 1.5. * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from automake 1.7.8. * builds/unix/configure: Regenerated with autoconf 2.59. * builds/unix/config.guess, builds/unix/config.sub: Updated from `config' CVS module at subversions.gnu.org * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from `texinfo' CVS module at subversions.gnu.org. * builds/vms/ftconfig.h: Synchronized with ANSI version. * docs/CUSTOMIZE: Fix documentation error. * docs/CHANGES, docs/VERSION.DLL, docs/release: Updated. * builds/freetype.mk (refdoc): Updated --title.
David Turner 737fa9ac 2002-04-12T10:19:15 * builds/unix/ftconfig.in, builds/vms/ftconfig.h: Oops, forgot to update these files too
Werner Lemberg b1e6e597 2002-03-29T07:43:04 * builds/vms/ftconfig.h: Rename LOCAL_DEF and LOCAL_FUNC to FT_LOCAL and FT_LOCAL_DEF, respectively, as with other ftconfig.h files. * builds/unix/ftconfig.in: Add argument to FT_LOCAL and FT_LOCAL_DEF. * src/truetype/ttinterp.c: s/FT_Assert/FT_ASSERT/. * builds/unix/configure.ac: Temporarily deactivate creation of ../../Jamfile. * builds/unix/configure: Updated.
Werner Lemberg a7d2f5e1 2002-02-19T01:12:23 * src/autohint/ahglyph.c (ah_outline_link_segments): Remove unused variables. * src/autohint/ahhint.c (ah_align_serif_edge): Use FT_UNUSED instead of UNUSED. * src/autohint/ahmodule.c (ft_autohinter_reset): Ditto. * src/pshinter/pshrec.c (ps_mask_table_merge): Fix typo in variable swapping code. * src/pshinter/pshglob.h (PSH_Blue_Align): Add PSH_BLUE_ALIGN_NONE. * src/pshinter/pshglob.c (psh_blues_snap_stem): Use it. * src/pshinter/pshalgo1.c (psh1_hint_table_optimize): Ditto. * src/pshinter/pshalgo2.c (psh2_hint_align): Ditto. * include/freetype/internal/ftobjs.h (UNUSED): Removed.
Werner Lemberg f814d0fa 2001-06-27T16:18:10 First round in converting type foo ( ... ) to type foo ( ... ) Other minor formatting issues.
David Turner f77581f6 2001-06-27T10:54:13 changed the definition of FT_CALLBACK_DEF
David Turner 8c8af31f 2000-12-04T23:28:14 fixed Unix installation
Werner Lemberg 1e8b4ae5 2000-12-02T17:07:15 formatting
David Turner ac4cd951 2000-12-02T00:35:11 changes to allow compilation under Unix and Cygwin
Werner Lemberg dc72aff4 2000-11-04T08:33:38 Finishing David's latest changes (there were some errors in it).
Werner Lemberg bd547dc6 2000-09-22T21:23:29 Clean up, formatting etc. Fixing rules for installing cache headers on Unix. Updating builds/unix/ftconfig.in.
Werner Lemberg 29a90e26 2000-08-03T00:03:08 Updating unix/ftconfig.in to recent config/ftconfig.h changes. More C++ fixes: Introducing LOCAL_FUNC_X for local functions used in function pointers (there are no local anonymous functions in C++) and FT_CPLUSPLUS (instead of FT_EXPORT_VAR) to define linkage of structures which contain function pointers.
Werner Lemberg c713d924 2000-08-01T13:17:04 Added #ifdef's for C++ to all header files.
Werner Lemberg d060a75b 2000-07-20T06:57:41 Formatting. Rudimentary support for autoconf (still using GNU make) Say `make unix'.
David Turner b390a124 2000-07-10T00:13:39 removed some stupid #defines in <freetype/config/ftconfig.h>
David Turner 74043010 2000-07-08T00:22:20 renaming "freetype2/config" to "freetype2/builds"