ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/Makefile.PL
Revision: 1.69
Committed: Tue Dec 12 14:46:21 2006 UTC (17 years, 5 months ago) by root
Content type: text/plain
Branch: MAIN
CVS Tags: rel-0_97
Changes since 1.68: +5 -0 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 use ExtUtils::MakeMaker;
2
3 sub manifest_resources {
4 open my $manifest, "MANIFEST" or die "Couldn't open MANIFEST: $!";
5 map { chomp; $_ } grep /^resources\//, <$manifest>
6 }
7
8 print <<EOF;
9
10 *** opengl 1.1 is required to run this client
11 *** opengl 1.2 is recommended to run this client
12 *** opengl 2.0 helps some more....
13
14 *** other dependencies:
15 *** pango-1.12.3, glib-2.10
16 *** libsdl, libSDL_mixer, libSDL_image
17
18 *** Pod::POM, Compress::LZF, BerkeleyDB, Crossfire, Event, AnyEvent perl modules
19
20 *** HINT: BerkeleyDB must be linked against version 4.3 or higher of libdb
21
22 *** HINT: Debian/Ubuntu users might have luck with:
23 *** apt-get install perl libpango1.0-dev libglib2.0-dev libsdl1.2-dev
24 *** apt-get install libevent-perl libsdl-mixer1.2-dev libsdl-image1.2-dev
25 *** apt-get install libberkeleydb-perl anyevent-perl
26
27 EOF
28
29 if ($^O =~ /win32/i or $^O =~ /mswin/) {
30 print <<EOF;
31 *** microsoft compatibility forced us to only support manual configuration
32 *** by editing Makefile.PL. complain to microsoft.
33
34 EOF
35 $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";
36 $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 -lwininet",
37 } else {
38 $INC = join " ", qx<sdl-config --cflags>, qx<pkg-config pangoft2 --cflags>;
39 $LIBS = join " ", qx<sdl-config --libs>, "-lSDL_image -lSDL_mixer", qx<pkg-config pangoft2 --libs>, "-lGL";
40
41 $INC =~ s/\n/ /g for $INC, $LIBS;
42 }
43
44 WriteMakefile(
45 dist => {
46 PREOP => 'pod2text bin/cfplus | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;',
47 COMPRESS => 'gzip -9v',
48 SUFFIX => '.gz',
49 },
50 NAME => "CFPlus",
51 INC => $INC,
52 LIBS => [$LIBS],
53 EXE_FILES => [qw(bin/cfplus)],
54 VERSION_FROM => "CFPlus.pm",
55 PREREQ_PM => {
56 BerkeleyDB => 0.27,
57 Crossfire => 0.95,
58 Time::HiRes => 0,
59 Event => 1.07,
60 AnyEvent => 0,
61 Compress::LZF => 1.6,
62 Pod::POM => 0.15,
63 },
64 depend => {
65 "CFPlus.o" => 'glfunc.h pangoopengl.h pango-font.c pango-fontmap.c pango-render.c texcache.c',
66 },
67 clean => { FILES => 'docwiki.pst' },
68 PM => {
69 'CFPlus.pm' => '$(INST_LIBDIR)/CFPlus.pm',
70 'CFPlus/Protocol.pm' => '$(INST_LIBDIR)/CFPlus/Protocol.pm',
71 'CFPlus/OpenGL.pm' => '$(INST_LIBDIR)/CFPlus/OpenGL.pm',
72 'CFPlus/Texture.pm' => '$(INST_LIBDIR)/CFPlus/Texture.pm',
73 'CFPlus/UI.pm' => '$(INST_LIBDIR)/CFPlus/UI.pm',
74 'CFPlus/UI/Inventory.pm' => '$(INST_LIBDIR)/CFPlus/UI/Inventory.pm',
75 'CFPlus/UI/SpellList.pm' => '$(INST_LIBDIR)/CFPlus/UI/SpellList.pm',
76 'CFPlus/Item.pm' => '$(INST_LIBDIR)/CFPlus/Item.pm',
77 'CFPlus/Pod.pm' => '$(INST_LIBDIR)/CFPlus/Pod.pm',
78 'CFPlus/MapWidget.pm' => '$(INST_LIBDIR)/CFPlus/MapWidget.pm',
79 'CFPlus/Macro.pm' => '$(INST_LIBDIR)/CFPlus/Macro.pm',
80 'docwiki.pst' => '$(INST_LIBDIR)/CFPlus/resources/docwiki.pst',
81 (map +($_ => "\$(INST_LIBDIR)/CFPlus/$_"), manifest_resources),
82 }
83 );
84
85 sub MY::postamble {
86 my $self = shift;
87
88 # try to add MANIFEST to CONFIGDEP
89 s/^CONFIGDEP = /CONFIGDEP = MANIFEST /m
90 for @{ $self->{RESULT} };
91
92 my $pods = join " ", <pod/*.pod>;
93
94 <<EOF
95
96 all :: docwiki.pst
97
98 docwiki.pst: bin/pod2wiki $pods
99 \$(PERL) -Mlib=. bin/pod2wiki $pods
100
101 EOF
102 }
103