Gtk-Perl
view release on metacpan or search on metacpan
Gtk/Makefile.PL view on Meta::CPAN
} else {
push @defines, "-DNEED_DERIVED";
}
$Lazy = grep($_ eq "--lazy-load", @ARGV);
@ARGV = grep($_ ne "--lazy-load", @ARGV);
$Lazy = 1;
if ($Lazy) {
#print "\n\nLazy loading enabled -- if anything breaks, please try disabling this.\n";
push @defines, "-DLAZY_LOAD";
}
if (exists($Config{usethreads}) && $Config{usethreads} eq 'define') {
print "Current perl supports threads. Enabling thread support\n";
push(@defines, "-DPGTK_THREADS");
$threadl = " gthread ";
} else {
$threadl = "";
}
$libs = `gtk-config --libs $threadl`;
$inc = `gtk-config --cflags $threadl`;
$libs =~ s/\s+/ /g;
$inc =~ s/\s+/ /g;
$inc .= ' -I. -I./build';
$gtk_version = gtk_version();
if ($gtk_version =~ /^(\d+)\.(\d+)\.(\d+)/) {
$gtk_major = $1;
$gtk_minor = $2;
$gtk_micro = $3;
} else {
$gtk_major = $gtk_minor = $gtk_micro = 0;
}
$gtk_hverstr = sprintf("0x%02x%02x%02x", $gtk_major, $gtk_minor, $gtk_micro);
push @defines, "-DGTK_HVER=$gtk_hverstr";
if (not defined $gtk_version) {
die "Unable to find Gtk version...\n";
} else {
print "Located Gtk version $gtk_version...\n";
}
mkdir("build", 0777);
$gtk->set_inc($inc);
$gtk->set_libs($libs);
$gtk->add_typemaps(map {cwd().'/'.$_} "build/GtkTypemap", "gtk-0.99.typemap", "gtk-1.2.typemap");
$gtk->add_headers ('<gtk/gtk.h>', '<gtk/gtkinvisible.h>', '"GtkTypes.h"', '"GdkTypes.h"', '"MiscTypes.h"');
$gtk->install (qw(build/PerlGtkInt.h build/PerlGtkExt.h ppport.h build/GtkDefs.h));
$gtk->add_c(qw(build/GtkDefs.c build/PerlGtkExt.c
GdkTypes.c GtkTypes.c MiscTypes.c Derived.c));
$gtk->add_xs ('Gtk.xs', "Gtk-1.1.xs", "GtkAccelGroup.xs", "GtkProgressBar-1.1.xs",
"GtkToolbar-1.1.6.xs", "GtkAccelGroup.xs", "GtkProgressBar-1.1.xs", "GtkCList-1.2.xs",
"GtkTearoffMenuItem.xs", "GtkCalendar.xs", "Gtk-1.2.xs");
$gtk->add_defs (qw(gtk-0.99.defs gtk-1.0.defs gtk-1.1.defs gtk-1.1.1.defs gtk-1.1.3.defs gtk-1.1.4.defs gtk-1.1.6.defs gtk-1.2.defs ));
$gtk->add_xs ("GtkSelection.xs");
$gtk->add_boot ("Gtk::Selection", "Gtk11", "Gtk__AccelGroup", "Gtk::ProgressBar11",
"Gtk::Toolbar116", "Gtk__AccelGroup", "Gtk::ProgressBar11", "Gtk::CList12", "Gtk12");
$gtk->add_pm (
'Gdk.pm' => '$(INST_LIBDIR)/Gtk/Gdk.pm',
'Gtk.pm' => '$(INST_LIBDIR)/Gtk.pm',
'LWP.pm' => '$(INST_LIBDIR)/Gtk/LWP.pm',
'http.pm' => '$(INST_LIBDIR)/Gtk/LWP/http.pm',
'io.pm' => '$(INST_LIBDIR)/Gtk/io.pm',
'lazy.pm' => '$(INST_LIBDIR)/Gtk/lazy.pm',
'Atoms.pm' => '$(INST_LIBDIR)/Gtk/Atoms.pm',
'GtkCListModel.pm' => '$(INST_LIBDIR)/Gtk/CListModel.pm',
'GtkColorSelectButton.pm' => '$(INST_LIBDIR)/Gtk/ColorSelectButton.pm',
'LogHandler.pm' => '$(INST_LIBDIR)/Gtk/LogHandler.pm',
'build/GtkTypes.pm' => '$(INST_ARCHLIBDIR)/Gtk/Types.pm',
'build/GtkKeysyms.pm' => '$(INST_ARCHLIBDIR)/Gtk/Keysyms.pm'
);
$gtk->add_pm(
'build/GtkTypesLazy.pm' => '$(INST_ARCHLIBDIR)/Gtk/TypesLazy.pm'
) if $Lazy;
@clean = qw( build/* */*.o */*/*.o);
require "../tools/gendefs.pl";
print "Invoking gendefs.pl with [",join(", ",$gtk->get_defs), "].\n";
print "Please wait, this may take a moment...\n";
@a = ( '-f', 'Gtk',
'-p', 'Gtk=Gtk',
'-p', 'GdkGL=Gtk::Gdk::GL',
'-p', 'GdkRgb=Gtk::Gdk::Rgb',
'-p', 'Gdk=Gtk::Gdk',
'-p', 'Gnome=Gnome',
'-p', 'Panel=Gnome::Panel',
'-m', 'Gtk');
if ($Lazy) {
push @a, "-L";
}
foreach ($gtk->get_defs) {
push @a, '-d', $_;
}
foreach ($gtk->get_headers) {
push @a, '-i', $_;
}
$gtk->add_xs(gendefs::gendefs(@a));
# documentation
gendefs::gen_doc();
system($Config{perlpath}, "../tools/gendoc.pl", $gtk->get_xs);
system($Config{perlpath}, "../tools/gpdoc2pod");
use File::Basename;
foreach ( '../tools/gendefs.pl', '../tools/genext.pl', '../tools/gendoc.pl', '../tools/gpdoc2pod') {
( run in 0.899 second using v1.01-cache-2.11-cpan-39bf76dae61 )