re-added the "freetype.mk" that was mistakenly deleted
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429
diff --git a/config/freetype.mk b/config/freetype.mk
new file mode 100644
index 0000000..af79338
--- /dev/null
+++ b/config/freetype.mk
@@ -0,0 +1,231 @@
+#
+# FreeType 2 library sub-Makefile
+#
+
+
+# Copyright 1996-2000 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.
+
+
+# DO NOT INVOKE THIS MAKEFILE DIRECTLY! IT IS MEANT TO BE INCLUDED BY
+# OTHER MAKEFILES.
+
+
+# The targets `objects' and `library' are defined at the end of this
+# Makefile when all rules have been included.
+#
+.PHONY: build_freetype objects library
+
+# default target -- build objects and library
+#
+build_freetype: objects library
+
+# `multi' target -- build multiple objects and library
+#
+multi: objects library
+
+
+# The FreeType source directory.
+#
+SRC := $(TOP)$(SEP)src
+
+
+# The directory where the base layer components are placed. By default,
+# this is `freetype/src/base'.
+#
+BASE_DIR := $(SRC)$(SEP)base
+
+
+# A few short-cuts in order to avoid typing $(SEP) all the time for the
+# directory separator.
+#
+# For example: SRC_ equals to `./src/' where `.' is $(TOP).
+#
+#
+SRC_ := $(SRC)$(SEP)
+BASE_ := $(BASE_DIR)$(SEP)
+OBJ_ := $(OBJ_DIR)$(SEP)
+LIB_ := $(LIB_DIR)$(SEP)
+PUBLIC_ := $(TOP)$(SEP)include$(SEP)freetype$(SEP)
+INTERNAL_ := $(PUBLIC_)$(SEP)internal$(SEP)
+CONFIG_ := $(PUBLIC_)$(SEP)config$(SEP)
+
+
+# The name of the final library file.
+#
+FT_LIBRARY := $(LIB_)$(LIBRARY).$A
+
+
+# include paths
+#
+# IMPORTANT NOTE: The architecture-dependent directory must ALWAYS be placed
+# in front of the include list. Porters are then able to
+# put their own version of some of the FreeType components
+# in the `freetype/config/<system>' directory, as these
+# files will override the default sources.
+#
+INCLUDES := $(BUILD) $(TOP)$(SEP)include $(INCLUDES)
+
+INCLUDE_FLAGS = $(INCLUDES:%=$I%)
+
+
+# C flags used for the compilation of an object file. This must include at
+# least the paths for the `base' and `config/<system>' directories,
+# debug/optimization/warning flags + ansi compliance if needed.
+#
+FT_CFLAGS = $(CFLAGS) $(INCLUDE_FLAGS)
+FT_CC = $(CC) $(FT_CFLAGS)
+FT_COMPILE = $(CC) $(ANSIFLAGS) $(FT_CFLAGS)
+
+
+# include the `modules' rules file
+#
+include $(TOP)/config/modules.mk
+
+
+# Free the lists of driver objects.
+#
+COMPONENTS_LIST :=
+DRIVERS_LIST :=
+OBJECTS_LIST :=
+
+# Define $(PUBLIC_H) as the list of all public header files located in
+# `$(TOP)/include'.
+#
+PUBLIC_H := $(wildcard $(PUBLIC_)*.h)
+BASE_H := $(wildcard $(INTERNAL_)*.h)
+
+# System-specific component -- this must be defined in this Makefile for
+# easy updates. The default ANSI ftsystem.c is located in
+# `freetype/config/ftsystem.c'. However, some system-specific configuration
+# might define $(FTSYS_SRC) to fetch it in other places, like
+# `freetype/config/<system>/ftsystem.c'.
+#
+# $(BASE_H) is defined in `src/base/rules.mk' and contains the list of all
+# base layer header files.
+#
+ifndef FTSYS_SRC
+ FTSYS_SRC = $(BASE_)ftsystem.c
+endif
+FTSYS_OBJ = $(OBJ_)ftsystem.$O
+
+OBJECTS_LIST += $(FTSYS_OBJ)
+
+$(FTSYS_OBJ): $(FTSYS_SRC) $(BASE_H)
+ $(FT_COMPILE) $T$@ $<
+
+
+# ftdebug component
+#
+# FTDebug contains code used to print traces and errors. It is normally
+# empty for a release build (see ftoption.h).
+#
+FTDEBUG_SRC = $(BASE_)ftdebug.c
+FTDEBUG_OBJ = $(OBJ_)ftdebug.$O
+
+OBJECTS_LIST += $(FTDEBUG_OBJ)
+
+$(FTDEBUG_OBJ): $(FTDEBUG_SRC) $(BASE_H)
+ $(FT_COMPILE) $T$@ $<
+
+
+
+
+# Include all rule files from FreeType components.
+#
+include $(wildcard $(SRC)/*/rules.mk)
+
+
+# FTInit file
+#
+# The C source `ftinit.c' contains the FreeType initialization routines.
+# It is able to automatically register one or more drivers when the API
+# function FT_Init_FreeType() is called.
+#
+# The set of initial drivers is determined by the driver Makefiles
+# includes above. Each driver Makefile updates the FTINIT_xxxx lists
+# which contain additional include paths and macros used to compile the
+# single `ftinit.c' source.
+#
+FTINIT_SRC := $(BASE_)ftinit.c
+FTINIT_OBJ := $(OBJ_)ftinit.$O
+
+OBJECTS_LIST += $(FTINIT_OBJ)
+
+$(FTINIT_OBJ): $(FTINIT_SRC) $(PUBLIC_H) $(FT_MODULE_LIST)
+ $(FT_COMPILE) $T$@ $<
+
+
+# All FreeType library objects
+#
+# By default, we include the base layer extensions. These could be
+# omitted on builds which do not want them.
+#
+OBJ_M = $(BASE_OBJ_M) $(BASE_EXT_OBJ) $(DRV_OBJS_M)
+OBJ_S = $(BASE_OBJ_S) $(BASE_EXT_OBJ) $(DRV_OBJS_S)
+
+
+# The target `multi' on the Make command line indicates that we want to
+# compile each source file independently.
+#
+# Otherwise, each module/driver is compiled in a single object file through
+# source file inclusion (see `src/base/ftbase.c' or
+# `src/truetype/truetype.c' for examples).
+#
+BASE_OBJECTS := $(OBJECTS_LIST)
+
+ifneq ($(findstring multi,$(MAKECMDGOALS)),)
+ OBJECTS_LIST += $(OBJ_M)
+else
+ OBJECTS_LIST += $(OBJ_S)
+endif
+
+objects: $(OBJECTS_LIST)
+
+library: $(FT_LIBRARY)
+
+.c.$O:
+ $(FT_COMPILE) $T$@ $<
+
+
+# Standard cleaning and distclean rules. These are not accepted
+# on all systems though.
+#
+clean_freetype_std:
+ -$(DELETE) $(BASE_OBJECTS) $(OBJ_M) $(OBJ_S)
+
+distclean_freetype_std: clean_freetype_std
+ -$(DELETE) $(FT_LIBRARY)
+ -$(DELETE) *.orig *~ core *.core
+
+# The Dos command shell does not support very long list of arguments, so
+# we are stuck with wildcards.
+#
+clean_freetype_dos:
+ -$(DELETE) $(subst $(SEP),$(HOSTSEP),$(OBJ_))*.$O 2> nul
+
+distclean_freetype_dos: clean_freetype_dos
+ -$(DELETE) $(subst $(SEP),$(HOSTSEP),$(FT_LIBRARY)) 2> nul
+
+# Remove configuration file (used for distclean).
+#
+remove_config_mk:
+ -$(DELETE) $(subst $(SEP),$(HOSTSEP),$(CONFIG_MK))
+
+
+# The `config.mk' file must define `clean_freetype' and
+# `distclean_freetype'. Implementations may use to relay these to either
+# the `std' or `dos' versions, or simply provide their own implementation.
+#
+clean: clean_freetype
+distclean: distclean_freetype remove_config_mk
+
+# EOF
+
+
diff --git a/config/ftconfig.h b/config/ftconfig.h
deleted file mode 100644
index 47e2430..0000000
--- a/config/ftconfig.h
+++ /dev/null
@@ -1,186 +0,0 @@
-/***************************************************************************/
-/* */
-/* ftconfig.h */
-/* */
-/* ANSI-specific configuration file (specification only). */
-/* */
-/* Copyright 1996-2000 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. */
-/* */
-/***************************************************************************/
-
-
- /*************************************************************************/
- /* */
- /* This header file contains a number of macro definitions that are used */
- /* by the rest of the engine. Most of the macros here are automatically */
- /* determined at compile time, and you should not need to change it to */
- /* port FreeType, except to compile the library with a non ANSI compiler */
- /* */
- /* Note however that if some specific modifications are needed, we */
- /* advise you to place a modified copy in your build directory. */
- /* */
- /* The build directory is usually "freetype/config/<system>", and */
- /* contains system-specific files that are always included first when */
- /* building the library.. */
- /* */
- /* This ANSI version should stay in "freetype/config" */
- /* */
- /*************************************************************************/
-
-#ifndef FTCONFIG_H
-#define FTCONFIG_H
-
-/* Include the header file containing all developer build options */
-#include <ftoption.h>
-
- /*************************************************************************/
- /* */
- /* PLATFORM-SPECIFIC CONFIGURATION MACROS */
- /* */
- /* These macros can be toggled to suit a specific system. The current */
- /* ones are defaults used to compile FreeType in an ANSI C environment */
- /* (16bit compilers are also supported). Copy this file to your own */
- /* `freetype/arch/<system>' directory, and edit it to port the engine. */
- /* */
- /*************************************************************************/
-
-
-/* Define to empty if the keyword does not work. */
-/* #undef const */
-
-/* Define if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* We use <limits.h> values to know the sizes of the types. */
-#include <limits.h>
-
-/* The number of bytes in an `int' type. */
-#if UINT_MAX == 0xFFFFFFFF
-#define SIZEOF_INT 4
-#elif UINT_MAX == 0xFFFF
-#define SIZEOF_INT 2
-#elif UINT_MAX > 0xFFFFFFFF && UINT_MAX == 0xFFFFFFFFFFFFFFFF
-#define SIZEOF_INT 8
-#else
-#error "Unsupported number of bytes in `int' type!"
-#endif
-
-/* The number of bytes in a `long' type. */
-#if ULONG_MAX == 0xFFFFFFFF
-#define SIZEOF_LONG 4
-#elif ULONG_MAX > 0xFFFFFFFF && ULONG_MAX == 0xFFFFFFFFFFFFFFFF
-#define SIZEOF_LONG 8
-#else
-#error "Unsupported number of bytes in `long' type!"
-#endif
-
-/* Define if you have the memcpy function. */
-#define HAVE_MEMCPY 1
-
-/* Define if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H 0
-
-/* Define if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 0
-
-
-/* Preferred alignment of data */
-#define FT_ALIGNMENT 8
-
-
-
- /*************************************************************************/
- /* */
- /* AUTOMATIC CONFIGURATION MACROS */
- /* */
- /* These macros are computed from the ones defined above. Don't touch */
- /* their definition, unless you know precisely what you're doing. No */
- /* porter should need to mess with them. */
- /* */
- /*************************************************************************/
-
-
- /*************************************************************************/
- /* */
- /* IntN types */
- /* */
- /* Used to guarantee the size of some specific integers. */
- /* */
- typedef signed short FT_Int16;
- typedef unsigned short FT_Word16;
-
-#if SIZEOF_INT == 4
-
- typedef signed int FT_Int32;
- typedef unsigned int FT_Word32;
-
-#elif SIZEOF_LONG == 4
-
- typedef signed long FT_Int32;
- typedef unsigned long FT_Word32;
-
-#else
-#error "no 32bit type found - please check your configuration files"
-#endif
-
-#if SIZEOF_LONG == 8
-
- /* LONG64 must be defined when a 64-bit type is available */
-#define LONG64
-#define INT64 long
-
-#else
-
-
- /*************************************************************************/
- /* */
- /* many compilers provide the non-ANSI 'long long' 64-bit type. You can */
- /* activate it by defining the FTCALC_USE_LONG_LONG macro in `ftoption.h'*/
- /* Note that this will produce many -ansi warnings during library */
- /* compilation, and that in many cases, the generated code will not be */
- /* smaller or faster !! */
- /* */
-#ifdef FTCALC_USE_LONG_LONG
-
-#define LONG64
-#define INT64 long long
-
-#endif /* FTCALC_USE_LONG_LONG */
-#endif
-
-
-#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
-#define LOCAL_DEF static
-#define LOCAL_FUNC static
-#else
-#define LOCAL_DEF extern
-#define LOCAL_FUNC /* nothing */
-#endif
-
-#ifdef FT_MAKE_OPTION_SINGLE_LIBRARY_OBJECT
-#define BASE_DEF LOCAL_DEF
-#define BASE_FUNC LOCAL_FUNC
-#else
-#define BASE_DEF extern
-#define BASE_FUNC /* nothing */
-#endif
-
-#ifndef EXPORT_DEF
-#define EXPORT_DEF extern
-#endif
-
-#ifndef EXPORT_FUNC
-#define EXPORT_FUNC /* nothing */
-#endif
-
-#endif /* FTCONFIG_H */
-
-
-/* END */