Acme-MITHALDU-BleedingOpenGL
view release on metacpan or search on metacpan
Makefile.PL view on Meta::CPAN
print "GLUT not found\n";
}
# Platform-specific makefiles for glversion
my $make_ver;
if ($IS_STRAWBERRY)
{
$make_ver = "&strawberry.bat";
print "strawberry glversion: '$make_ver'\n" if $verbose>1;
}
elsif ($IS_MINGW)
{
$make_ver = "&mingw.bat";
print "mingw glversion: '$make_ver'\n" if $verbose>1;
}
elsif ($IS_W32API)
{
$make_ver = ";make -f Makefile.cygwin " . (length($lib) ? "GLUT_LIB=$lib " : "") . (length($def) ? "GLUT_DEF=$def " : "");
print "cygwin glversion: '$make_ver'\n" if $verbose>1;
}
elsif ($^O eq 'MSWin32')
{
$make_ver = '&nmake -f makefile.mak ' . (length($def) ? "GLUT_DEF=$def " : "");
print "MSWin32 glversion: '$make_ver'\n" if $verbose>1;
}
elsif ($^O eq 'darwin')
{
$make_ver = ";make -f Makefile.macosx " . (length($lib) ? "GLUT_LIB=$lib " : "") . (length($def) ? "GLUT_DEF=$def " : "");
print "MacOSX glversion: '$make_ver'\n" if $verbose>1;
}
else
{
if ($ENV{TERM} ne 'xterm')
{
print "\nIn order to test your GPU's capabilities, run this make under an X11 shell\n\n";
}
$make_ver = ";make -f Makefile " . (length($lib) ? "GLUT_LIB=$lib " : "") . (length($def) ? "GLUT_DEF=$def " : "");
print "glversion: '$make_ver'\n" if $verbose>1;
}
my $exec = 'cd utils'."$make_ver clean".$make_ver;
print "glversion: $exec\n" if ($verbose);
my $stat = `$exec`;
print "\n$stat\n\n" if ($verbose);
unlink "utils/freeglut.dll" or die "could not remove temporary freeglut: $!" if -f "utils/freeglut.dll";
# Parse glversion.txt file
open GLDATA, $glv_file or die "get_extensions: could not open $glv_file: $!\n";
my $gldata = {};
my @gldata = <GLDATA>;
close(GLDATA);
foreach my $line (@gldata)
{
$line =~ s|[\r\n]+||;
my($key,$val) = split('=',$line);
$gldata->{$key} = $val;
}
die "get_extensions: no extensions found in $glv_file\n" if !keys %$gldata;
print "This looks like OpenGL Version: $gldata->{VERSION}\n";
# Parse glext_procs.h file
open GLEXT, "glext_procs.h" or die "get_extensions: could not open glext_procs.h: $!\n";
my @lines = <GLEXT>;
close(GLEXT);
my $no_ext = {};
foreach my $line (@lines)
{
next if ($line !~ m|\#ifndef NO_([^\s]+)|);
my $ext = $1;
next if ($ext =~ m|^GL_VERSION_|);
$no_ext->{$ext}++;
}
# Create gl_exclude.h
die "Unable to write to $exc_file\n" if (!open(GLEXC,">$exc_file"));
print GLEXC "// OpenGL Extension Exclusions - may be modified before building.\n";
print GLEXC "//\n";
print GLEXC "// Generated for ".$gldata->{VENDOR}.", ".$gldata->{RENDERER}."\n";
print GLEXC "// OpenGL v".$gldata->{VERSION}.", using ";
# Fix GLUT flags based on results
if ($gldata->{FREEGLUT})
{
print 'Found FreeGLUT v'.$gldata->{FREEGLUT}."\n";
print GLEXC 'FreeGLUT v'.$gldata->{FREEGLUT}."\n";
if (!$found->{FREEGLUT} && !$found->{FREEGLUT32})
{
$found->{FREEGLUT} = $lib;
}
}
elsif ($gldata->{GLUT})
{
print "Found GLUT - Version: $gldata->{GLUT}\n";
}
else
{
print "Found no GLUT\n"
}
my $GL_VERSION;
my($GL_VERSION_MAJOR, $GL_VERSION_MINOR);
if ($gldata->{VERSION} =~ m|^(\d\.\d+)|)
{
$GL_VERSION = $1;
($GL_VERSION_MAJOR,$GL_VERSION_MINOR) = split('.', $GL_VERSION);
}
# Make an empty exclusion file if a Windows distribution build
if ($no_excl)
{
print "OpenGL Extension exclusions disabled\n";
print GLEXC "//\n";
print GLEXC "// Exclusions omitted for distribution build.\n";
}
else
{
( run in 0.627 second using v1.01-cache-2.11-cpan-39bf76dae61 )