From 63408a12996662d7af707c844a3d879d68c4ca7b Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Wed, 13 Dec 2000 23:44:37 +0000 Subject: [PATCH] include/freetype/internal/internal.h: Fixed header inclusion macros to use direct definitions. This is the only way to do these things in a portable way :-( The rest of the code should follow shortly though everything compiles now. * builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files. * builds/win32/detect.mk: Added support for the Intel C/C++ compiler, as well as _preliminary_ (read: doesn't work!) support for Watcom. Also added a new setup target. Type "make setup list" for a list of supported command-line compilers on Win32. * src/base/ftdebug.c: Added dummy symbol to avoid empty file if conditionals are off. --- ChangeLog | 22 ++++++++----- builds/compiler/intelc.mk | 6 ++-- builds/compiler/visualc.mk | 1 + builds/compiler/watcom.mk | 2 ++ builds/win32/detect.mk | 49 ++++++++++++++-------------- builds/win32/w32-intl.mk | 2 +- include/freetype/cache/ftcchunk.h | 2 +- include/freetype/cache/ftcimage.h | 22 ++++++------- include/freetype/config/ft2build.h | 6 ++-- include/freetype/ftcache.h | 12 +++---- include/freetype/internal/cfftypes.h | 6 ++-- include/freetype/internal/fnttypes.h | 4 +-- src/autohint/ahangles.c | 4 +-- src/autohint/ahmodule.h | 4 +-- src/base/ftdebug.c | 4 ++- src/cache/ftcsbits.c | 2 +- src/cff/cffparse.c | 2 +- src/cid/cidobjs.c | 4 +-- src/sfnt/sfnt.c | 14 ++++---- src/sfnt/ttpost.c | 2 +- src/smooth/ftgrays.c | 10 +++--- src/truetype/ttinterp.c | 4 +-- 22 files changed, 98 insertions(+), 86 deletions(-) diff --git a/ChangeLog b/ChangeLog index f8eb4b06c..f7afdb60b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,16 +1,20 @@ 2000-12-13 David Turner * include/freetype/config/ft2build.h, - include/freetype/internal/internal.h: fixed header inclusion macros - to use direct definitions. This is the only way to do these things - in a portable way :-( The rest of the code should follow shortly - though everything compiles now.. + include/freetype/internal/internal.h: Fixed header inclusion macros + to use direct definitions. This is the only way to do these things + in a portable way :-( The rest of the code should follow shortly + though everything compiles now. - * builds/compiler/intelc.mk, builds/compiler/watcom.mk, - builds/win32/detect.mk: added support for the Intel C/C++ compiler, - as well as _preliminary_ (read: doesn't work !!) support for Watcom. - Also added a new setup target. Type "make setup list" for a list - of supported command-line compilers on Win32.. + * builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files. + + * builds/win32/detect.mk: Added support for the Intel C/C++ + compiler, as well as _preliminary_ (read: doesn't work!) support for + Watcom. Also added a new setup target. Type "make setup list" for + a list of supported command-line compilers on Win32. + + * src/base/ftdebug.c: Added dummy symbol to avoid empty file if + conditionals are off. 2000-12-13 Werner Lemberg diff --git a/builds/compiler/intelc.mk b/builds/compiler/intelc.mk index 0b64f91f8..0c3088a73 100644 --- a/builds/compiler/intelc.mk +++ b/builds/compiler/intelc.mk @@ -63,10 +63,10 @@ T := /Fo # ANSI compliance. # # Note that the Intel C/C++ compiler version 4.5 complains about -# the use of FT_FIELD_OFFSET with "value must be arithmetic type !!" -# this really looks like a bug in the compiler because the macro +# the use of FT_FIELD_OFFSET with "value must be arithmetic type"! +# This really looks like a bug in the compiler because the macro # _does_ compute an arithmetic value, so we disable this warning -# with "/Qwd32" !! +# with "/Qwd32". # ifndef CFLAGS CFLAGS := /nologo /c /Ox /G5 /W3 /Qwd32 diff --git a/builds/compiler/visualc.mk b/builds/compiler/visualc.mk index 432f7af2a..235a4df06 100644 --- a/builds/compiler/visualc.mk +++ b/builds/compiler/visualc.mk @@ -70,6 +70,7 @@ endif # ANSIFLAGS := /Za + # Library linking # #CLEAN_LIBRARY = diff --git a/builds/compiler/watcom.mk b/builds/compiler/watcom.mk index aae26dd41..e1e2d1154 100644 --- a/builds/compiler/watcom.mk +++ b/builds/compiler/watcom.mk @@ -17,12 +17,14 @@ # CC := wcc386 + # The object file extension (for standard and static libraries). This can be # .o, .tco, .obj, etc., depending on the platform. # O := obj SO := obj + # The library file extension (for standard and static libraries). This can # be .a, .lib, etc., depending on the platform. # diff --git a/builds/win32/detect.mk b/builds/win32/detect.mk index 228ac2976..055de0243 100644 --- a/builds/win32/detect.mk +++ b/builds/win32/detect.mk @@ -27,11 +27,11 @@ ifeq ($(PLATFORM),ansi) is_windows := 1 endif - # We test for the COMSPEC environment variable, then run the `ver' - # command-line program to see if its output contains the word `Windows'. - # - # If this is true, we are running a win32 platform (or an emulation). - # + # We test for the COMSPEC environment variable, then run the `ver' + # command-line program to see if its output contains the word `Windows'. + # + # If this is true, we are running a win32 platform (or an emulation). + # else ifneq ($(OSTYPE),cygwin) ifdef COMSPEC @@ -42,29 +42,29 @@ ifeq ($(PLATFORM),ansi) ifdef is_windows - PLATFORM := win32 - DELETE := del - COPY := copy - CONFIG_FILE := none + PLATFORM := win32 + DELETE := del + COPY := copy + CONFIG_FILE := none ifneq ($(findstring list,$(MAKECMDGOALS)),) # test for the "list" target .PHONY: dump_target_list setup list dump_target_list: - @echo ˙ - @echo $(PROJECT_TITLE) build system -- supported compilers - @echo ˙ - @echo Several command-line compilers are supported on Win32: - @echo ˙ - @echo ˙˙make setup˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙gcc (with Mingw) - @echo ˙˙make setup visualc˙˙˙˙˙˙˙˙˙˙˙˙˙Microsoft Visual C++ - @echo ˙˙make setup bcc32˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙Borland C/C++ - @echo ˙˙make setup lcc˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙Win32-LCC - @echo ˙˙make setup intelc˙˙˙˙˙˙˙˙˙˙˙˙˙˙Intel C/C++ - @echo ˙ + @echo ˙ + @echo $(PROJECT_TITLE) build system -- supported compilers + @echo ˙ + @echo Several command-line compilers are supported on Win32: + @echo ˙ + @echo ˙˙make setup˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙gcc (with Mingw) + @echo ˙˙make setup visualc˙˙˙˙˙˙˙˙˙˙˙˙˙Microsoft Visual C++ + @echo ˙˙make setup bcc32˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙Borland C/C++ + @echo ˙˙make setup lcc˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙Win32-LCC + @echo ˙˙make setup intelc˙˙˙˙˙˙˙˙˙˙˙˙˙˙Intel C/C++ + @echo ˙ - setup: dump_target_list + setup: dump_target_list else # test "list" @@ -104,9 +104,10 @@ ifeq ($(PLATFORM),ansi) CC := icl intelc: setup endif -# -# The following build targets are not officialy supported for now -# + + # + # The following build targets are not officially supported for now + # ifneq ($(findstring visualage,$(MAKECMDGOALS)),) # Visual Age C++ CONFIG_FILE := w32-icc.mk diff --git a/builds/win32/w32-intl.mk b/builds/win32/w32-intl.mk index 1b2b4e924..6ae022fc6 100644 --- a/builds/win32/w32-intl.mk +++ b/builds/win32/w32-intl.mk @@ -1,5 +1,5 @@ # -# FreeType 2 Intel C/C++ on Win32 +# FreeType 2 configuration rules for Intel C/C++ on Win32 # diff --git a/include/freetype/cache/ftcchunk.h b/include/freetype/cache/ftcchunk.h index 145c8bc53..f5ed7eba3 100644 --- a/include/freetype/cache/ftcchunk.h +++ b/include/freetype/cache/ftcchunk.h @@ -55,7 +55,7 @@ FT_BEGIN_HEADER /* maximum number of chunk sets in a given chunk cache */ -#define FTC_MAX_CHUNK_SETS 16 +#define FTC_MAX_CHUNK_SETS 16 typedef struct FTC_ChunkNodeRec_* FTC_ChunkNode; diff --git a/include/freetype/cache/ftcimage.h b/include/freetype/cache/ftcimage.h index e8a25bbdb..58ed204b4 100644 --- a/include/freetype/cache/ftcimage.h +++ b/include/freetype/cache/ftcimage.h @@ -46,25 +46,25 @@ FT_BEGIN_HEADER /*************************************************************************/ -#define FTC_IMAGE_FORMAT( x ) ( (x) & 7 ) +#define FTC_IMAGE_FORMAT( x ) ( (x) & 7 ) -#define ftc_image_format_bitmap 0 -#define ftc_image_format_outline 1 +#define ftc_image_format_bitmap 0 +#define ftc_image_format_outline 1 -#define ftc_image_flag_monochrome 16 -#define ftc_image_flag_unhinted 32 -#define ftc_image_flag_autohinted 64 -#define ftc_image_flag_unscaled 128 -#define ftc_image_flag_no_sbits 256 +#define ftc_image_flag_monochrome 16 +#define ftc_image_flag_unhinted 32 +#define ftc_image_flag_autohinted 64 +#define ftc_image_flag_unscaled 128 +#define ftc_image_flag_no_sbits 256 /* monochrome bitmap */ -#define ftc_image_mono ftc_image_format_bitmap | \ +#define ftc_image_mono ftc_image_format_bitmap | \ ftc_image_flag_monochrome /* anti-aliased bitmap */ -#define ftc_image_grays ftc_image_format_bitmap +#define ftc_image_grays ftc_image_format_bitmap /* scaled outline */ -#define ftc_image_outline ftc_image_format_outline +#define ftc_image_outline ftc_image_format_outline /*************************************************************************/ diff --git a/include/freetype/config/ft2build.h b/include/freetype/config/ft2build.h index 093aa2e06..13603f0a9 100644 --- a/include/freetype/config/ft2build.h +++ b/include/freetype/config/ft2build.h @@ -47,13 +47,13 @@ /* this macro is used to enclose its argument in brackets */ -#define FT2_ENCLOSE(x) +#define FT2_ENCLOSE(x) /* this macro is used to join a path and a file name */ -#define FT2_JOINPATH(d,x) d/x +#define FT2_JOINPATH(d,x) d/x /* this macro is used to format a path in "" format easily */ -#define FT2_PUBLIC_PATH(d,x) FT2_ENCLOSE(d/x) +#define FT2_PUBLIC_PATH(d,x) FT2_ENCLOSE(d/x) diff --git a/include/freetype/ftcache.h b/include/freetype/ftcache.h index efac5eeab..0fcca41ec 100644 --- a/include/freetype/ftcache.h +++ b/include/freetype/ftcache.h @@ -42,13 +42,13 @@ FT_BEGIN_HEADER -#define FT_CACHE_MANAGER_H FT2_PUBLIC_FILE(cache/ftcmanag.h) -#define FT_CACHE_IMAGE_H FT2_PUBLIC_FILE(cache/ftcimage.h) -#define FT_CACHE_SMALL_BITMAPS_H FT2_PUBLIC_FILE(cache/ftcsbits.h) +#define FT_CACHE_MANAGER_H FT2_PUBLIC_FILE(cache/ftcmanag.h) +#define FT_CACHE_IMAGE_H FT2_PUBLIC_FILE(cache/ftcimage.h) +#define FT_CACHE_SMALL_BITMAPS_H FT2_PUBLIC_FILE(cache/ftcsbits.h) -#define FT_CACHE_INTERNAL_LRU_H FT2_PUBLIC_FILE(cache/ftlru.h) -#define FT_CACHE_INTERNAL_GLYPH_H FT2_PUBLIC_FILE(cache/ftcglyph.h) -#define FT_CACHE_INTERNAL_CHUNK_H FT2_PUBLIC_FILE(cache/ftcchunk.h) +#define FT_CACHE_INTERNAL_LRU_H FT2_PUBLIC_FILE(cache/ftlru.h) +#define FT_CACHE_INTERNAL_GLYPH_H FT2_PUBLIC_FILE(cache/ftcglyph.h) +#define FT_CACHE_INTERNAL_CHUNK_H FT2_PUBLIC_FILE(cache/ftcchunk.h) /*************************************************************************/ diff --git a/include/freetype/internal/cfftypes.h b/include/freetype/internal/cfftypes.h index c2a3d8518..ff8d37584 100644 --- a/include/freetype/internal/cfftypes.h +++ b/include/freetype/internal/cfftypes.h @@ -20,8 +20,10 @@ #ifndef __CFFTYPES_H__ #define __CFFTYPES_H__ -#include -#include FT_FREETYPE_H + +#include +#include FT_FREETYPE_H + FT_BEGIN_HEADER diff --git a/include/freetype/internal/fnttypes.h b/include/freetype/internal/fnttypes.h index 080770dbd..446b4b13c 100644 --- a/include/freetype/internal/fnttypes.h +++ b/include/freetype/internal/fnttypes.h @@ -67,8 +67,8 @@ FT_BEGIN_HEADER } WinResourceInfo; -#define WINFNT_MZ_MAGIC 0x5A4D -#define WINFNT_NE_MAGIC 0x454E +#define WINFNT_MZ_MAGIC 0x5A4D +#define WINFNT_NE_MAGIC 0x454E typedef struct WinFNT_Header_ diff --git a/src/autohint/ahangles.c b/src/autohint/ahangles.c index 718785232..812b02130 100644 --- a/src/autohint/ahangles.c +++ b/src/autohint/ahangles.c @@ -20,8 +20,8 @@ /***************************************************************************/ -#include -#include FT_SOURCE_FILE(autohint,ahangles.h) +#include +#include FT_SOURCE_FILE(autohint,ahangles.h) /* the following table has been automatically generated with */ diff --git a/src/autohint/ahmodule.h b/src/autohint/ahmodule.h index ce8daa167..f6643d2a3 100644 --- a/src/autohint/ahmodule.h +++ b/src/autohint/ahmodule.h @@ -23,8 +23,8 @@ #define __AHMODULE_H__ -#include -#include FT_MODULE_H +#include +#include FT_MODULE_H FT_BEGIN_HEADER diff --git a/src/base/ftdebug.c b/src/base/ftdebug.c index f954987a6..f2a223755 100644 --- a/src/base/ftdebug.c +++ b/src/base/ftdebug.c @@ -107,7 +107,9 @@ #endif /* FT_DEBUG_LEVEL_TRACE || FT_DEBUG_LEVEL_ERROR */ - /* needed by pedantic ANSI compilers */ + + /* ANSI C doesn't allow empty files, so we insert a dummy symbol */ extern const int ft_debug_dummy; + /* END */ diff --git a/src/cache/ftcsbits.c b/src/cache/ftcsbits.c index de73815df..adb295ba3 100644 --- a/src/cache/ftcsbits.c +++ b/src/cache/ftcsbits.c @@ -26,7 +26,7 @@ #include /* memcmp() */ -#define FTC_SBITSET_ELEMENT_COUNT 16 +#define FTC_SBITSET_ELEMENT_COUNT 16 typedef struct FTC_SBitSetRec_ diff --git a/src/cff/cffparse.c b/src/cff/cffparse.c index 06875c869..bbde59a23 100644 --- a/src/cff/cffparse.c +++ b/src/cff/cffparse.c @@ -442,7 +442,7 @@ static const CFF_Field_Handler cff_field_handlers[] = { -#include FT_SOURCE_FILE(cff,cfftoken.h) +#include FT_SOURCE_FILE(cff,cfftoken.h) { 0, 0, 0, 0, 0, 0, 0 } }; diff --git a/src/cid/cidobjs.c b/src/cid/cidobjs.c index 7dceb0e7d..a10532037 100644 --- a/src/cid/cidobjs.c +++ b/src/cid/cidobjs.c @@ -31,8 +31,8 @@ /* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */ /* messages during execution. */ /* */ -#undef FT_COMPONENT -#define FT_COMPONENT trace_cidobjs +#undef FT_COMPONENT +#define FT_COMPONENT trace_cidobjs /*************************************************************************/ diff --git a/src/sfnt/sfnt.c b/src/sfnt/sfnt.c index d605ac83f..91fce49bd 100644 --- a/src/sfnt/sfnt.c +++ b/src/sfnt/sfnt.c @@ -18,18 +18,18 @@ #define FT_MAKE_OPTION_SINGLE_OBJECT -#include -#include FT_SOURCE_FILE(sfnt,ttload.c) -#include FT_SOURCE_FILE(sfnt,ttcmap.c) -#include FT_SOURCE_FILE(sfnt,sfobjs.c) -#include FT_SOURCE_FILE(sfnt,sfdriver.c) +#include +#include FT_SOURCE_FILE(sfnt,ttload.c) +#include FT_SOURCE_FILE(sfnt,ttcmap.c) +#include FT_SOURCE_FILE(sfnt,sfobjs.c) +#include FT_SOURCE_FILE(sfnt,sfdriver.c) #ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS -#include FT_SOURCE_FILE(sfnt,ttsbit.c) +#include FT_SOURCE_FILE(sfnt,ttsbit.c) #endif #ifdef TT_CONFIG_OPTION_POSTSCRIPT_NAMES -#include FT_SOURCE_FILE(sfnt,ttpost.c) +#include FT_SOURCE_FILE(sfnt,ttpost.c) #endif diff --git a/src/sfnt/ttpost.c b/src/sfnt/ttpost.c index c2ee53eaa..5fcf0661f 100644 --- a/src/sfnt/ttpost.c +++ b/src/sfnt/ttpost.c @@ -61,7 +61,7 @@ /* table of Mac names. Thus, it is possible to build a version of */ /* FreeType without the Type 1 driver & PSNames module. */ -#define MAC_NAME( x ) TT_Post_Default_Names[x] +#define MAC_NAME( x ) TT_Post_Default_Names[x] /* the 258 default Mac PS glyph names */ diff --git a/src/smooth/ftgrays.c b/src/smooth/ftgrays.c index ca863b7ee..0a9c8497d 100644 --- a/src/smooth/ftgrays.c +++ b/src/smooth/ftgrays.c @@ -122,11 +122,11 @@ #else /* _STANDALONE_ */ -#include -#include FT_SOURCE_FILE(smooth,ftgrays.h) -#include FT_INTERNAL_OBJECTS_H -#include FT_INTERNAL_DEBUG_H -#include FT_OUTLINE_H +#include +#include FT_SOURCE_FILE(smooth,ftgrays.h) +#include FT_INTERNAL_OBJECTS_H +#include FT_INTERNAL_DEBUG_H +#include FT_OUTLINE_H #define ErrRaster_Invalid_Mode FT_Err_Cannot_Render_Glyph #define ErrRaster_Invalid_Outline FT_Err_Invalid_Outline diff --git a/src/truetype/ttinterp.c b/src/truetype/ttinterp.c index f60b55cce..d73cf9470 100644 --- a/src/truetype/ttinterp.c +++ b/src/truetype/ttinterp.c @@ -6841,8 +6841,8 @@ FT_Byte opcode = CUR.opcode; -#undef ARRAY_BOUND_ERROR -#define ARRAY_BOUND_ERROR goto Set_Invalid_Ref +#undef ARRAY_BOUND_ERROR +#define ARRAY_BOUND_ERROR goto Set_Invalid_Ref switch ( opcode )