#!/usr/bin/perl -w ################################################################################ # # Copyright (C) 1999-2000, Ashley Winters # # This program is free software; you can redistribute it and/or # modify it under the same terms as Perl itself. # # This is the Makefile.PL for Qt::OpenGL # # Usage: # perl Makefile.PL # make # make install # # This is a Unix-only Makefile.PL as far as I know... # $VERSION = '1.4'; $MAKE = "QGL-$VERSION"; $LINK = "Qt-$VERSION"; $ENV{QTDIR} = '/usr/lib/qt' unless $ENV{QTDIR}; ########## # Please modify these arguments as needed %Args = ( CC => 'g++', CCFLAGS => '', DEFINE => '', INC => '-I$(QTDIR)/include -I/usr/X11R6/include -I/usr/include/qt', LIBS => "-L$ENV{QTDIR}/lib -L/usr/X11R6/lib -lqgl -lqt " . "-lMesaGL -lMesaGLU -lXmu -lXext -lm -lX11 -lXext", OPTIMIZE => '-O' ); ########## use ExtUtils::MakeMaker; use Config; use File::Copy; use Pig; my $filelist; unless(@ARGV && $ARGV[0] =~ /^-f/) { GenerateSource( DIR => [ $MAKE ], LINK => [ $LINK ], TYPEMAPS => [ "$LINK/typemap", "$MAKE/typemap" ], INCLUDE => [ "pigmodule_Qt.h" ], VIRTUALHEADER => 'pigvirtual.h', SOURCEDIR => '.', Source => \$filelist ); } $debug = 0; if($Config{bincompat3} && $Config{bincompat3} =~ /y/) { $pl = 3; } else { $pl = $Config{PATCHLEVEL}; } $sv = $Config{SUBVERSION}; sub configurate { my $object = qq{ pigboot\$(OBJ_EXT) pigsymbol\$(OBJ_EXT) pigsymbol_QGL\$(OBJ_EXT) @$filelist }; my $define = "-DPIGDEBUG=$debug -DPIG_QT " . "-DPIGPERL_PL=$pl -DPIGPERL_SV=$sv $Args{DEFINE}"; my $libs = $Args{LIBS}; eval { open(SAVEERR, ">&STDERR") || die "Cannot redirect stderr"; # open(STDERR, ">&STDOUT") || die "Cannot >&"; # doesn't work open(STDERR, ">/dev/null") || die "Cannot redirect stderr"; my $filename = `$Args{CC} -print-libgcc-file-name`; $libs .= " -L$1 -lgcc" if $filename =~ /(.*)\/libgcc\.a/; open(STDERR, ">&SAVEERR") || die "Cannot restore stderr"; close(SAVEERR); }; return { OBJECT => $object, DEFINE => $define, LIBS => $libs }; } $Args{INC} .= ' -I. -I./include'; WriteMakefile( # These arguments should remain unchanged. %Args, NAME => 'Qt::OpenGL', VERSION_FROM => 'OpenGL.pm', PREREQ_PM => { 'Qt' => '2.104' }, PM => { 'OpenGL.pm', '$(INST_LIBDIR)/OpenGL.pm' }, CONFIGURE => \&configurate, realclean => { FILES => 'pig_*' } );