summaryrefslogtreecommitdiff
path: root/Build/source/libs/freetype/freetype-1.5/howto/windows.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/freetype/freetype-1.5/howto/windows.txt')
-rw-r--r--Build/source/libs/freetype/freetype-1.5/howto/windows.txt349
1 files changed, 0 insertions, 349 deletions
diff --git a/Build/source/libs/freetype/freetype-1.5/howto/windows.txt b/Build/source/libs/freetype/freetype-1.5/howto/windows.txt
deleted file mode 100644
index f777f816431..00000000000
--- a/Build/source/libs/freetype/freetype-1.5/howto/windows.txt
+++ /dev/null
@@ -1,349 +0,0 @@
- The FreeType Windows Compilation HowTo
-
-Contents
-
-Introduction
-I. Building the library
- 1. Quick Compilation
- 2. Manual compilation
- 3. Building a DLL
- 4. Notes
-II. Building other parts of the package
- 1. Test programs
- 2. Other contributions
-III. Special issues of 16-bit Windows
-
-
-
-Introduction
-============
-
-This file describes the compilation of the FreeType package on a
-Windows system. It comes with Makefiles for the following
-compilers:
-
- - gcc/CygWin32 and gcc/MinGW32 with GNU make (32 bit)
-
- - cl with nmake (16-bit and 32-bit Microsoft C and Visual C++)
-
- - bcc with make (16-bit and 32-bit Borland C++ and also Borland
- C++ builder)
-
-Throughout this file, we use `winXX' if it applies indifferently to
-both 16-bit and 32-bit versions. You should replace it with win16
-resp. win32, as applicable.
-
-NOTE:
-
- You are advised to jump to section II.1 if you want to run the
- FreeType test/demo programs as quick as possible.
-
-
-
-I. Building the library
-=======================
-
-
-1. Quick Compilation
---------------------
-
- The easiest way to compile the library on Windows is to go to the
- directory `freetype/lib'. Then type, depending on your compiler:
-
- gcc: make -f arch/win32/Makefile.gcc
-
- cl: nmake /f arch\win16\Makefile.MS (for C/C++ 7)
- cl: nmake /f arch\win16\Makefile.VC (for VC++ 16bit)
- cl: nmake /f arch\win32\Makefile.CL (for VC++ 32bit)
-
- bcc: make -farch/win16/Makefile.BC
- bcc32: make -farch/win32/Makefile.BC
-
- This should build the `libttf.a' or `libttf.lib' library files.
- Of course, this assumes that your compiler is regularly installed.
-
- You can also use the following targets:
-
- depend - (for gcc only) Creates a file that lists the
- dependancies. Useful for the developper.
-
- clean - Cleans all intermediate object files created during
- compilation. Keeps all library and executables in
- place.
-
- distclean - Cleans everything, leaving the directories as they
- were before the compilation.
-
- debug - Makes a development version of the library. Only
- useful for FreeType developers and hackers.
-
- Note that you can also select to use the `debugging' flags for
- your compiler (instead of the `optimizing' ones), by defining
- the `DEBUG' symbol, like in
-
- nmake /f arch\win32\Makefile.CL DEBUG=1
- make -farch/winXX/Makefile.BC /DDEBUG
- etc.
-
- Doing so will automatically select the debug target instead of
- the normal mode.
-
- For 16-bit compilers, you can also try to define the `BIGFONTS'
- symbol, enabling the use of the `huge pointers' needed to handle
- some big fonts. More on this at the end of this file.
-
- Another way to compile the library is to use the IDE provided with
- the following compilers: Borland C++ 4.x/5.0, Visual C++ 4.0, and
- Visual Studio. The project/workspace files can be found in the
- `freetype/lib/arch/win32' directory:
-
- freetype.ide for Borland C++ 4.0, 4.5, and 5.0
-
- freetype.dsp project and workspace files for
- freetype.dsw Visual Studio
- ft_dll.dsp (a.k.a. Visual C++ 5, 6, and 7)
-
- freetype.mdp project and makefile files for
- freetype.mak Visual C++ 4.0
-
- They generate a static library, which contain the core engine as a
- single object file, as well as all standard extensions.
-
- Notes:
-
- - You may need to update the include paths in the Borland C++
- workspace settings. The current one looks in the directory
- "C:\Program Files\Borland\BC 5.0\Include" for include files.
-
- - Take care that some compilers may overwrite these files when
- generating the library (e.g. Borland C++ creates its own
- `freetype.dsw' file, which isn't a Visual C++ project during
- compilation).
-
- This is only important if you try to compile the lib with
- several compilers.
-
- We gladly accept project files for other compilers.
-
-
-2. Manual compilation
----------------------
-
- Here are explained the steps that are required to compile the
- FreeType _library_ (and only this one) by hand.
-
- Unlike previous versions, FreeType 1.1 and above can be compiled
- in two modes, called `debug mode' and `single object mode'.
-
- Debug mode is simply the normal way of compiling C programs, i.e.,
- each `*.c' file is compiled into an individual `*.obj' object
- file, and all of them are linked together into an archive (i.e.,
- `*.lib' library).
-
- Single object mode is slightly different: All C files are included
- in a single source during compilation, resulting in a single final
- object file for the core library. This has the advantage of
- letting optimizing compilers do more global work, as well as
- getting rid of all external which are used solely for the purpose
- of components interfacing.
-
- In both modes, you need to include the following paths to your
- makefile/command line:
-
- the location of all `tt*.[hc]' files
- the location of system-specific files
-
- For example, if you are compiling from the `freetype/lib'
- directory, you can type for debug mode something like
-
- gcc -c -I. -Iarch/win32 tt*.c
-
- to compile all required files into object ones. Then assemble
- them in a library with `ar', `lib', or `tlib'.
-
- In single object mode, you only need to compile the file named
- `freetype.c' which is located in `freetype/lib/arch/winXX'. From
- the same directory as before, one would type
-
- gcc -c -I. -Iarch/win32 arch/win32/freetype.c
-
- You can also compile the extensions located in
- `freetype/lib/extend' separately from the base engine. You will
- need to include the same paths as before, though; be sure to add
- the path to the `extend' directory, like in
-
- gcc -c -I. -Iarch/win32 -Iextend extend/*.c
-
-
-3. Building a DLL
------------------
-
- The easiest way to build the library as a DLL is also to use the
- Makefiles we provide! Go to the directory `freetype/lib', then
- type, depending on your compiler:
-
- gcc: (not yet supported)
-
- cl: nmake /f arch\win16\Makefile.VC DLL=1 dll (16bit)
- cl: nmake /f arch\win32\Makefile.CL DLL=1 dll (32bit)
-
- bcc: make -farch/win16/Makefile.BC -DDLL dll
- bcc32: make -farch/win32/Makefile.BC -DDLL dll
-
- This should build `ft15_XX.dll' (`15' for versions 1.5.*, `XX' is
- either 16 or 32), and the `libttf.lib' library file.
-
- You can also use the following target:
-
- install - Install the DLL `ft15_XX.dll' to your system directory
- (`C:\WINDOWS' by default). You can override the
- directory by specifying the name of the directory:
-
- make -farch/winXX/Makefile.BC /DINSTALL_DIR=C:\TESTDLL install
- nmake /f arch\win32\Makefile.CL INSTALL_DIR=D:\WINNT install
-
- Note that you can also select to use the `debugging' flags for
- your compiler (instead of the `optimizing' ones), by defining
- the `DEBUG' symbol, like in
-
- nmake /f arch\win16\Makefile.VC DEBUG=1 DLL=1 dll
- make -farch/winXX/Makefile.BC /DDEBUG /DDLL dll
- etc.
-
- Another way to build to DLL with Visual C++ is to use a special
- Makefile that does exactly that, without relying on any settings.
-
- With VC++ 6.0, just type while in the `freetype/lib/arch/win32'
- directory:
-
- nmake /f makefile.vc
-
- on the command line.
-
- For other versions, modify the $(TOOLS32) variable to point to the
- directory where the build tools are. No need to set any
- environment variables.
-
-
-4. Notes
---------
-
- `char' is always `signed char' in the sources!
-
- `ttconfig.h' relies heavily on a file called `ft_conf.h' that
- contains information related to the target platform, located in
- the `freetype/lib/arch/winXX/' directory. Depending on your
- compiler, you may need to slightly edit it.
-
- We use gcc as our reference compiler for warnings. This means
- that we use the `-ansi -pedantic -Wall' flags and try to get rid
- of warnings in this situation. If you are compiling with another
- compiler, you may encounter warnings, not errors. Note that the
- Borland compilers seem to produce lots of irrelevant warnings
- (like `potential loss of precision').
-
-
-
-II. Building other parts of the package
-=======================================
-
-
-1. Test programs
-----------------
-
- All test programs are located in `freetype/test'. Most of them
- use a tiny graphics sub-system which is simply used to display
- bitmaps and pixmaps on a variety of platforms. The Windows
- version is a very basic one that only displays a small graphic
- windows in addition to the console where the flow of messages
- still goes.
-
- To compile them, you must be in the `freetype/test' directory and
- invoke the makefile in arch/winXX. For example:
-
- nmake -f arch\os2\Makefile.VC
-
- NOTE 1:
-
- This will automatically invoke the library makefile for you!
-
- NOTE 2:
-
- For now, the graphical test programs only run on the following
- platforms: Unix, OS/2, Dos, Amiga, and Windows.
-
- The library, being pure ANSI-C, can be used on any system to
- generate bitmaps and pixmaps.
-
-
-2. Other contributions
-----------------------
-
- You may find some other contributions to the FreeType project in
- the `freetype/contrib' directory. Each of these programs should
- have its own Makefiles and documentations. Also check their
- licenses, as the programs are not necessarily distributed under
- the FreeType one.
-
- Most of these contributions are targeted to Unix. You are invited
- to port them to Windows, and then contribute your improvements.
-
-
-
-III. Special issues of 16-bit Windows
-=====================================
-
- As usual, 16-bit Windows have some limitations.
-
- First, and mainly, only the large model is usable. The small and
- medium models are not usable, because the library uses more than
- 64kByte of data; and the compact model is unusable as well, since
- the code of the library itself is slightly less than 64kByte, thus
- leaving very small place for the real work. The net effect of
- that limitation is that performances are not very impressive, to
- say the least (32-bit DOS extenders perform usually three-time
- faster).
-
- Even with the large model, the rasterizer is still limited in
- size, particularly with pixmaps (that is, with anti-aliasing gray
- levels).
-
- The test programs rely on a tiny graphical driver that mimics the
- ones available on other platforms. It has some peculiarities.
- First, as the test programs need a `console', the programs should
- linked with some emulation of that concept. We used successfully
- Borland EasyWin and Microsoft QuickWin for this purpose. Then,
- the graphics window that displays the bitmaps incur the usual
- 64kByte limit: The size of the window is quite tiny, particularly
- when displaying `gray-level' bitmaps (the size is then 320x200,
- but contrary to full-screen MS-DOS the pixels are not magnified).
- Ultimately, no efforts have been done to accomodate the colors of
- the screen: As a result, displaying gray bitmaps in 256-color mode
- uses only 4 levels of gray (instead of 5 rendered by the library).
-
- Another annoying limitation exists with some East Asian fonts that
- have 16,383 glyphs or more, since an internal table then
- overflows. We tried to overcome this using so-called `huge
- pointers', but then good support for these in the run-time library
- is needed. To enable huge pointers, try defining the `BIGFONTS'
- symbol with the makefile, like
-
- nmake /f arch\win16\makefile.VC BIGFONTS=1
- make -farch/win16/makefile.BC /DBIGFONTS
- etc.
-
- The makefiles for both Microsoft and Borland compilers depend on a
- special file, arch/winXX/depend.win, which is built by a Unix
- script named `makedep'. You may consider editing it if you
- heavily modify the source files; or better yet, re-run the script,
- using any clone of the Bourne shell, sed, and gcc, the GNU
- compiler, with
-
- arch/winXX/makedep
-
- in both the `lib' and the `test' directories.
-
-
-Good luck!
-
---- end of windows.txt ---