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