Commit | Line | Data |
---|---|---|
02d1d628 AMH |
1 | ================================================================ |
2 | Copyright (c) 1999, 2000 Arnar M. Hrafnkelsson. All rights reserved. | |
3 | This program is free software; you can redistribute it and/or | |
4 | modify it under the same terms as Perl itself. | |
5 | ================================================================ | |
6 | ||
7 | >> THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY WHATSOEVER << | |
8 | ||
9 | ================================================================ | |
10 | ||
11 | ||
12 | ======================== | |
13 | 1. Patent infringements? | |
14 | ======================== | |
15 | ||
16 | Imager as such contains no patented algorithms. The external | |
17 | libraries (which are not written by me) may or may not contain | |
18 | patented algorithms. YOU ARE SOLELY RESPONSIBLE FOR OBTAINING | |
19 | LICENSE(S) TO USE SUCH LIBRARIES SHOULD YOU NEED ANY. | |
20 | ||
21 | ||
22 | ======================== | |
23 | 2. Compiling and testing | |
24 | ======================== | |
25 | ||
26 | Some care has been taken to make the installation as smooth as | |
27 | possible. This is rather hard due to the difference between operating | |
28 | systems and site setups. To get started just type | |
29 | ||
30 | $ perl Makefile.PL | |
31 | ||
32 | It should blurb out a list of which libraries were found and which | |
33 | not. If you add a library to the machine after installing Imager it | |
34 | does not automatically become available in Imager. It only uses the | |
35 | libraries that are found. If the list of found libraries is not what | |
36 | you expected, then the Makefile.PL is either not searching in the | |
37 | right directories or your box does not have the libraries you think it | |
38 | does. For a list of where to get the libraries have a look at | |
39 | 3. External dependencies. To widen the search path for libraries and | |
40 | include files set the IM_INCPATH and IM_LIBPATH variables. The | |
41 | environment variables that matter when Makefile.PL is run are | |
42 | ||
43 | IM_INCPATH colon separated list of paths to extra include files | |
44 | IM_LIBPATH colon separated list of paths to extra library files | |
45 | ||
46 | IM_VERBOSE turns on verbose mode for the library scanning and such | |
47 | IM_MANUAL to manually select which libraries are used and which not | |
48 | IM_NOLOG if true logging will not be compiled into the module | |
49 | IM_DEBUG_MALLOC if true malloc debugging will be compiled into the module | |
50 | do not use IM_DEBUG_MALLOC in production - this slows | |
51 | everything down | |
52 | ||
53 | IM_CFLAGS Extra flags to pass to the compiler | |
54 | IM_LFLAGS Extra flags to pass to the linker | |
55 | IM_DFLAGS Extra flags to pass to the preprocessor | |
56 | ||
57 | ||
58 | ||
59 | When finding the libraries has been sorted out it's time for | |
60 | ||
61 | $ make | |
62 | ||
63 | and if that works then do | |
64 | ||
65 | $ make test | |
66 | ||
67 | If either fails do take a peek at the file errep.perl. It's creates a | |
68 | file report.txt. This is some information which will help me discover | |
69 | where the problem is so I can try to fix it in future releases. If | |
70 | you find running it ok (just remember - no warranty!) please send the | |
71 | report.txt via email to addi@umich.edu . | |
72 | ||
73 | Troubleshooting tips: | |
74 | ||
75 | A common problem is that libgif/libungif are sometimes linked to the X | |
76 | libraries and then running the tests fails. In that case something | |
77 | like: | |
78 | ||
79 | $ IM_LFLAGS="-L/usr/X11R6/lib -lX11" perl Makefile.PL | |
80 | ||
81 | Which simply sets the environment variables for the extra libraries | |
82 | to include the X libraries (which we do not use at all, but must | |
83 | included since libgif has been linked with it). | |
84 | ||
85 | Also note that libgif has a few bugs: You can run something like | |
86 | ||
87 | $ perl -Iblib/lib -Iblib/arch t/t10formats.t | |
88 | ||
89 | This way you can see what comments the test script prints out. | |
90 | t/t10formats.t checks for an bug in libgiff and prints out a patch | |
91 | if that bug is present, note that this bug only affects the more | |
92 | "advanced" features of libgif. | |
93 | ||
94 | Imager needs to have a fairly recent libtiff installed (we know it | |
95 | it runs fine with 3.5.5). In the future we might consider supporting older | |
96 | libtiff versions. For now you can either configure Imager manually (by | |
97 | setting the IM_MANUAL environment variable to 1, in sh: | |
98 | ||
99 | $ IM_MANUAL=1 perl Makefile.PL | |
100 | ||
101 | and simply say no to tiff support when asked if you want it, the same thing | |
102 | can be used to circumvent problems in gifs to get Imager going. | |
103 | ||
104 | ||
105 | If it worked just continue with the installation as normally | |
106 | (with make install). | |
107 | ||
108 | ======================== | |
109 | 3. External dependencies | |
110 | ======================== | |
111 | ||
112 | Some hints about getting the Imager module to find the libraries it | |
113 | needs for specific features. The libraries it uses are: | |
114 | ||
115 | jpeg: ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz | |
116 | ||
117 | png: ftp://ftp.uu.net/graphics/png | |
118 | you also need zlib to use png: ftp://ftp.uu.net/pub/archiving/zip/zlib | |
119 | ||
120 | gif: http://www.arrakeen.demon.co.uk/giflib/ | |
121 | or at: http://prtr-13.ucsc.edu/~badger/software/libungif/index.shtml | |
122 | ||
123 | tiff: http://www.libtiff.org/ | |
124 | ||
125 | t1: ftp://ftp.neuroinformatik.ruhr-uni-bochum.de/pub/software/t1lib/ | |
126 | or at: ftp://sunsite.unc.edu/pub/Linux/libs/graphics/ | |
127 | ||
128 | tt: http://www.freetype.org/ | |
129 | ||
130 | ||
131 | Precompiled versions of some of the libraries might be found at: | |
132 | ||
133 | AIX: | |
134 | http://www.bull.de/ | |
135 | ftp://ftp.rge.com/pub/systems/aix/bull/ | |
136 | ||
137 | ||
138 | ||
139 | ======================== | |
140 | 4. Logging and debugging | |
141 | ======================== | |
142 | ||
143 | Logging is compiled in by default - if you should want to get of it | |
144 | from the binaries you can do so by setting the env IMAGER_NOLOG | |
145 | to something. If you want to enable malloc debugging to check for leaks | |
146 | then set IMAGER_DEBUG_MALLOC to something. Needless to say it is | |
147 | pretty pointless to have malloc debug enabled with no logging since you | |
148 | can never see the malloc information that way. | |
149 | ||
150 | ||
151 | ======================== | |
152 | 5. Truetype information | |
153 | ======================== | |
154 | ||
155 | If you enable the truetype part and want it to be TESTED you MUST set | |
156 | the environment variable TTFONTTEST to a complete path to a truetype | |
157 | font. | |
158 | ||
159 | ||
160 | ================= | |
161 | 6. Win32 Support | |
162 | ================= | |
163 | ||
164 | Imager can be installed on Win32 systems. This was ported and tested | |
165 | with Microsoft Visual C++ 6.0 with build 623 of ActivePerl. Currently | |
166 | I haven't tried to test any of the image formats except for ppm, since | |
167 | I don't have the required libraries on my NT machine. This may | |
168 | change. The same is true for font support, though it might be | |
169 | preferable to try to use Win32's native font support over the external | |
170 | librarie - why force the user to install yet another library. | |
171 | ||
172 | I haven't tried to target compilers other than VC++, since I don't | |
173 | have them installed. | |
174 | ||
175 | If you have any problems with the Win32 support, please email | |
176 | tony@develop-help.com (don't forget to use nmake instead of make). | |
177 | ||
178 | ======================= | |
179 | 7. General information | |
180 | ======================= | |
181 | ||
182 | The Imager module homepage is currently at: | |
183 | ||
184 | http://www.eecs.umich.edu/~addi/perl/Imager/ | |
185 | ||
186 | The current docs are rather bad as I've been busy adding features | |
187 | but hopefully they will be updated soon. Until then you'll just | |
188 | have to use the source. The test scripts might also be a good idea. | |
189 | By activating the the #init_log lines in the test script you can get | |
190 | rather verbose debugging output from the C code. | |
191 | ||
192 | ||
193 | ======================== | |
194 | 8. Thanks | |
195 | ======================== | |
196 | ||
197 | Thanks go to: | |
198 | Tony Cook ( TonyC ) | |
199 | Claes Jacobson ( Claes ) | |
200 | Philip Gwyn ( Leolo ) | |
201 | Brad Murray ( HalfJack ) | |
202 | Nicholas Dronen ( Veblen ) | |
203 | Michael G Schwern ( Schwern ) | |
204 | Rocco Caputo ( Dngor ) | |
205 | Graham barr ( Gbarr ) | |
206 | Mark-Jason Dominus ( Mjd ) | |
207 | Jerome | |
208 | Jason Alexander ( Jalex ) | |
209 | Randal R. Schwartz ( Merlyn ) | |
210 | Tkil ( ) | |
211 | Artur Bergman ( Sky ) | |
212 | Luc St-Louis ( Lucs ) | |
213 | PerlJam ( ) | |
214 | Roderick Schertler ( Roderick ) | |
215 | Nathan Torkington ( gnat ) | |
216 | ||
217 | (and just to play it safe) all those I forgot to mention. |