# # Makefile.PL for Glade-Perl based on a file donated by Robert Schwebel # with extras borrowed from libwww-perl thanks to # Gisle Aas. and Martijn Koster # require 5.000; use ExtUtils::MakeMaker; use strict; #--- Configuration section --- my @programs_to_install = qw(glade2perl); my $prereq_pm = { 'Gtk' => 0.7000, 'XML::Parser' => 2.19, 'Unicode::String' => 2.04, }; my @need_perl_modules = ( {'name' => 'XML::Parser', 'test' => 'XML::Parser', 'version' => '2.19', 'reason' => "reads the Glade files."}, # Check for Gtk::Types rather than the Gtk supermodule # this avoids dumping MakeMaker {'name' => 'Gtk-Perl', 'test' => 'Gtk::Types', 'version' => '0.7000', 'reason' => "implements the perl bindings to Gtk+.\n". "The module is called Gtk-Perl on CPAN\n". "or module gnome-perl in the Gnome CVS."}, # Check for Gnome::Types rather than the Gnome supermodule # this avoids dumping MakeMaker {'name' => 'Gnome-Perl', 'test' => 'Gnome::Types', 'version' => '0.7000', 'reason' => "implements the perl bindings to Gnome.\n". "It is a submodule of the Gtk-Perl package and it might\n". "be necessary to build it separately.\n". "Read the Gtk-Perl INSTALL file for details of how to do this.\n". "Glade-Perl will still work but you will not be able to \n". "use any Gnome widgets in your Glade projects."}, # Check for Unicode::String {'name' => 'Unicode::String', 'test' => 'Unicode::String', 'version' => '2.04', 'reason' => "implements Unicode for\n". "internationalisation (I18N) of all strings.\n". "Glade-Perl will still work but you will not be able to \n". "use any non-ascii characters in your Glade projects.\n". "The module is called Unicode::String on CPAN"}, ); #--- End Configuration - You should not have to change anything below this line # Allow us to suppress all program installation with the -n (library only) # option. This is for those that don't want to mess with the configuration # section of this file. use Getopt::Std; use vars qw($opt_n); unless (getopts("n")) { die "Usage: $0 [-n]\n"; } @programs_to_install = () if $opt_n; # Check for non-standard modules that are used by this library. $| = 1; # autoflush on my $missing_modules = 0; foreach my $mod (@need_perl_modules) { print "Checking for $mod->{'name'}.."; eval "require $mod->{'test'}"; if ($@) { $missing_modules++; print " failed\n"; print "-------------------------------------------------------". "\n". # "$@\n", "$mod->{'name'} is needed, it $mod->{'reason'}\n", "We need at least version $mod->{'version'}\n". "-------------------------------------------------------\n"; sleep(2); # Don't hurry too much } else { print " ok\n"; } } #-------------------------------------- if ($missing_modules) { print "------------------------------------------------------- The missing modules can be obtained from CPAN. Visit to find a CPAN site near you. -------------------------------------------------------\n\n"; } #-------------------------------------- # Last of all generate the Makefile WriteMakefile( 'DISTNAME' => 'Glade-Perl', 'NAME' => 'Glade', 'AUTHOR' => 'Dermot Musgrove ', 'VERSION_FROM' => 'Glade/PerlRun.pm', 'EXE_FILES' => [ map {"Example/$_"} @programs_to_install ], 'clean' => { FILES => '$(EXE_FILES)' }, 'dist' => { COMPRESS => 'gzip', SUFFIX => 'gz' }, 'PREREQ_PM' => $prereq_pm, ); package MY; # Pass Glade-Perl version number to pod2man sub manifypods { my $self = shift; my $ver = $self->{'VERSION'} || ""; local($_) = $self->SUPER::manifypods(@_); s/pod2man\s*$/pod2man --release Glade-Perl-$ver/m; $_; } # Make it return 0 for shell 0; # End of Makefile.PL