ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/Makefile.PL
Revision: 1.51
Committed: Tue Jul 4 23:23:31 2006 UTC (17 years, 10 months ago) by root
Content type: text/plain
Branch: MAIN
Changes since 1.50: +7 -4 lines
Log Message:
Get rid of cairo completely (yay!) and of ft2 factually (still need the
library as it included pangofc), by introducing a custom pango opengl
renderer.

Text rendering now no longer requires the distinction between rgba and
grayscale modes, requires much less texture space and memory, and is
faster on accelerated hardware (and possibly with software rendering, too).

All at the cost of only 1200 lines or so.

File Contents

# Content
1 use ExtUtils::MakeMaker;
2
3 print <<EOF;
4
5 *** microsoft compatibility forced us to only support manual configuration
6 *** by editing Makefile.PL. complain to microsoft.
7
8 *** opengl 1.1 is required to run this client
9 *** opengl 1.2 is recommended to run this client
10 *** opengl 2.0 helps some more....
11
12 *** HINT: BerkeleyDB must be linked against version 4.3 or higher of libdb
13
14 EOF
15
16 if ($^O =~ /win32/i or $^O =~ /mswin/) {
17 warn "\ndo manual configuration by editing Makefile.PL, please\n\n";
18 $INC = "-I/gtk/include -I/gtk/include/pango-1.0 -I/gtk/include/glib-2.0 -I/gtk/lib/glib-2.0/include/ -I/gtk/include/freetype2";
19 $LIBS = "-L/gtk/lib -lSDL -lSDL_image -lSDL_mixer -lpango-1.0 -lpangoft2-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lfreetype -lfontconfig -lopengl32",
20 } else {
21 $INC = join " ", qx<sdl-config --cflags>, qx<pkg-config pangoft2 --cflags>;
22 $LIBS = join " ", qx<sdl-config --libs>, "-lSDL_image -lSDL_mixer", qx<pkg-config pangoft2 --libs>, "-lGL";
23
24 $INC =~ s/\n/ /g for $INC, $LIBS;
25 }
26
27 WriteMakefile(
28 dist => {
29 PREOP => 'pod2text CFClient.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;',
30 COMPRESS => 'gzip -9v',
31 SUFFIX => '.gz',
32 },
33 NAME => "CFClient",
34 INC => $INC,
35 LIBS => [$LIBS],
36 EXE_FILES => [qw(bin/cfplus)],
37 VERSION_FROM => "CFClient.pm",
38 PREREQ_PM => {
39 BerkeleyDB => 0.27,
40 Crossfire => 0.1,
41 Time::HiRes => 0,
42 Event => 1.01,
43 AnyEvent => 0,
44 Compress::LZF => 1.6,
45 Pod::POM => 0.15,
46 },
47 depend => {
48 "CFClient.o" => 'glext.h glfunc.h pangoopengl.h pango-font.c pango-fontmap.c pango-render.c texcache.c',
49 },
50 PM => {
51 'CFClient.pm' => '$(INST_LIBDIR)/CFClient.pm',
52 'CFClient/Protocol.pm' => '$(INST_LIBDIR)/CFClient/Protocol.pm',
53 'CFClient/OpenGL.pm' => '$(INST_LIBDIR)/CFClient/OpenGL.pm',
54 'CFClient/Texture.pm' => '$(INST_LIBDIR)/CFClient/Texture.pm',
55 'CFClient/UI.pm' => '$(INST_LIBDIR)/CFClient/UI.pm',
56 'CFClient/MapWidget.pm' => '$(INST_LIBDIR)/CFClient/MapWidget.pm',
57 'CFClient/BindingEditor.pm' => '$(INST_LIBDIR)/CFClient/BindingEditor.pm',
58 (map +($_ => "\$(INST_LIBDIR)/CFClient/$_"),
59 <resources/*.png>,
60 <resources/fonts/*.ttf>,
61 <resources/sounds/*.wav>,
62 <resources/sounds/*.ogg>,
63 <resources/sounds/config>,
64 <resources/music/*.ogg>,
65 <resources/ui/*.png>,
66 <resources/ui/resist/*.png>,
67 <resources/pod/*.pod>,
68 ),
69 }
70 );