Sync with trunk (r47116), hopefully without breaking anything.
[reactos.git] / lib / 3rdparty / freetype / README.ROS
1 CREDITS
2
3 The code in this tree is based (it is actually an exact copy with some
4 ReactOS specific extra files) on the FreeType library, version 2.3.0
5 It was written and is being maintained by the FreeType team. The projects
6 website is http://www.freetype.org.
7
8
9 NOTES
10
11 Please note that there are two Makefiles in the freetype directory:
12 - Makefile.freetype which is the original Makefile from the FreeType
13 distribution
14 - Makefile which is the ReactOS specific Makefile. It will use the
15 original Makefile.freetype when needed.
16 Normally you will just use Makefile and not worry about Makefile.freetype.
17 There will also be 2 FreeType libraries, lib/freetype/objs/libfreetype.a
18 and dk/nkm/lib/freetype.a. The second one is the import library for
19 freetype.dll and is the one that is used in the rest of ReactOS.
20 lib/freetype/objs/libfreetype.a is a static library which is used to
21 create the DLL.
22
23
24 PORTING A NEW VERSION
25
26 Please note that the procedure below is a one-time only procedure, to be
27 performed by whoever imports a new FreeType version into the ReactOS
28 source tree. Once the new version has been committed to CVS all other
29 developers can just use the normal build procedure.
30
31 First, save the old version:
32
33 move lib\freetype lib\freetype.old
34
35 Unpack the FreeType distribution and copy the files to lib/freetype
36 (note: without the version number which is present in the pathnames in
37 the distribution archive).
38 Setup the FreeType build by copying the correct configuration file:
39
40 copy lib\freetype\builds\win32\w32-mingw32.mk lib\freetype\config.mk
41
42 Copy the ReactOS specific files from the old directory to the new:
43
44 move lib\freetype\Makefile lib\freetype\Makefile.freetype
45 mkdir lib\freetype\i386
46 copy lib\freetype.old\rosglue.c lib\freetype
47 copy lib\freetype.old\i386\setjmplongjmp.s lib\freetype\i386
48 copy lib\freetype.old\freetype.rc lib\freetype
49 copy lib\freetype.old\Makefile lib\freetype
50 copy lib\freetype.old\README.ROS lib\freetype
51 copy lib\freetype.old\Doxyfile lib\freetype
52 copy lib\freetype.old\.cvsignore lib\freetype
53 copy lib\freetype.old\objs\.cvsignore lib\freetype\objs
54 copy lib\freetype.old\i386\.cvsignore lib\freetype\i386
55
56 Next you need to create the freetype.def file. Since this depends on the
57 "gawk" command, you'll need to have MSYS installed, which is not one of
58 the normally required packages to build ReactOS. You can get MSYS from the
59 MinGW site at http://sourceforge.net/projects/mingw. Once you have MSYS
60 installed you can create the new freetype.def file:
61
62 make freetype_def
63
64 Well, that's all there is to it. You can delete the old version in
65 lib\freetype.old. Please adjust the version number in the heading of this
66 file, so it is obvious to everyone which FreeType version we're using.
67 After testing, you can commit the new/changed files to CVS. ALthough files
68 config.mk and freetype.def are generated, they should be included in CVS.
69
70 $Id$