diff options
Diffstat (limited to 'Build/source/libs/freetype/howto/windows.txt')
-rw-r--r-- | Build/source/libs/freetype/howto/windows.txt | 349 |
1 files changed, 0 insertions, 349 deletions
diff --git a/Build/source/libs/freetype/howto/windows.txt b/Build/source/libs/freetype/howto/windows.txt deleted file mode 100644 index f777f816431..00000000000 --- a/Build/source/libs/freetype/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 --- |