/usr/local/CPAN/QtCore/Makefile.PL
use 5.008;
use ExtUtils::MakeMaker;
use File::Copy;
our $prefix;
our $pkgs = 'QtCore';
my $QtCore_path; # = '../QtCore';
my $vv = '4.003';
my %args = @ARGV;
if ( defined $args{-i} ) {
$prefix = $args{-i}
}
if ( $prefix and open FF, $prefix."/QtCore/qglobal.h" ) {
# ok
}
elsif ( open FF, "/usr/local/include/QtCore/qglobal.h" ) {
$prefix = '/usr/local/include';
}
elsif ( open FF, "/usr/include/QtCore/qglobal.h" ) {
$prefix = '/usr/include';
}
else {
die "Error: can not found Qt4 headers\n";
}
close FF;
if ( defined $args{-qc} ) {
print $args{-qc};
$QtCore_path = $arcs{-qc};
}
my @tpms = ('perlobject.map');
my $lb = ('-lQtCore -lpthread');
if ( $pkgs eq 'QtGui' ) {
push @tpms, 'typemap.core';
$lb = '-lQtGui '.$lb;
copy($QtCore_path.'/classes.core', 'classes.core') or die "Copy failed: $!";
copy($QtCore_path.'/classes_enum.core', 'classes_enum.core') or die "Copy failed: $!";
copy($QtCore_path.'/classes_fn_ptr.core', 'classes_fn_ptr.core') or die "Copy failed: $!";
copy($QtCore_path.'/classes_sin_enum.core', 'classes_sin_emun.core') or die "Copy failed: $!";
copy($QtCore_path.'/complex_type.core', 'complex_type.core') or die "Copy failed: $!";
copy($QtCore_path.'/defined.core', 'defined.core') or die "Copy failed: $!";
copy($QtCore_path.'/redefine.core', 'redefine.core') or die "Copy failed: $!";
copy($QtCore_path.'/replaces.core', 'replaces.core') or die "Copy failed: $!";
copy($QtCore_path.'/std_type.core', 'std_type.core') or die "Copy failed: $!";
copy($QtCore_path.'/subclasses.core', 'subclasses.core') or die "Copy failed: $!";
copy($QtCore_path.'/typemap', 'typemap.core') or die "Copy failed: $!";
}
my $retval = do 'create_xs';
die "Can not parce create_xs:\n $@" if $@;
die "Can not do create_xs:\n $!" unless defined $retval;
die "Can not run create_xs" unless $retval;
$CC = 'g++';
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
NAME => $pkgs,
VERSION_FROM => 'lib/'.$pkgs.'.pm', # finds $VERSION
PREREQ_PM => {}, # e.g., Module::Name => 1.1
($] >= 5.005 ? ## Add these new keywords supported since 5.005
(ABSTRACT_FROM => 'lib/'.$pkgs.'.pm', # retrieve abstract from module
AUTHOR => 'Vadim Likhota <vadim-lvv@yandex.ru>') : ()),
LIBS => [ "$lb" ], # e.g., '-lm'
DEFINE => '', # e.g., '-DHAVE_SOMETHING'
CC => $CC,
LD => '$(CC)',
# Insert -I. if you add *.h files later:
INC => '-I'.$prefix, # e.g., '-I/usr/include/other'
# Un-comment this if you add C files to link with later:
OBJECT => '$(O_FILES)', # link all the C files too
XSOPT => '-C++',
TYPEMAPS => \@tpms,
);