r60313 - /trunk/libopengl-perl/Makefile.PL

chrisb at users.alioth.debian.org chrisb at users.alioth.debian.org
Wed Jul 14 19:08:50 UTC 2010


Author: chrisb
Date: Wed Jul 14 19:08:26 2010
New Revision: 60313

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=60313
Log:
revert patch accidentally applied in svn

Modified:
    trunk/libopengl-perl/Makefile.PL

Modified: trunk/libopengl-perl/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libopengl-perl/Makefile.PL?rev=60313&op=diff
==============================================================================
--- trunk/libopengl-perl/Makefile.PL (original)
+++ trunk/libopengl-perl/Makefile.PL Wed Jul 14 19:08:26 2010
@@ -766,6 +766,166 @@
 sub get_extensions
 {
   my($found,$no_excl) = @_;
+  print "Testing for OpenGL Extensions\n" if ($verbose);
+
+  # clean up previous output files
+  my $exc_file = 'gl_exclude.h';
+  unlink($exc_file) if (-e $exc_file);
+  my $glv_file = 'utils/glversion.txt';
+  unlink($glv_file) if (-e $glv_file);
+
+  # Only run the rest if GLUT is installed
+  print "Testing GLUT version\n" if ($verbose);
+  my($lib,$def);
+  if ($found->{FREEGLUT32} || $found->{FREEGLUT})
+  {
+    $lib = $found->{FREEGLUT32} || $found->{FREEGLUT};
+    $def = "HAVE_FREEGLUT";
+  }
+  elsif ($found->{GLUT32} || $found->{GLUT})
+  {
+    $lib = $found->{GLUT32} || $found->{GLUT};
+    $def = "HAVE_GLUT";
+  }
+  elsif ($verbose)
+  {
+    print "GLUT not found\n";
+  }
+
+  # Platform-specific makefiles for glversion
+  my $make_ver;
+  if ($IS_MINGW)
+  {
+    $make_ver = "&mingw.bat";
+#    $make_ver = '&dmake -f makefile.mingw GLUT_DEF='.$def;
+    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);
+
+
+  # Parse glversion.txt file
+  if ( !defined(open(GLDATA,$glv_file)) ) {
+     print "get_extensions: could not open $glv_file: $!\n" if $verbose;
+     return '';
+  }
+  my $gldata = {};
+  my @gldata = <GLDATA>;
+  close(GLDATA);
+
+  foreach my $line (@gldata)
+  {
+    $line =~ s|[\r\n]+||;
+    my($key,$val) = split('=',$line);
+    $gldata->{$key} = $val;
+  }
+  if (!scalar(keys %$gldata)) {
+     print "get_extensions: no extensions found in $glv_file\n" if $verbose;
+     return '';
+  }
+
+
+  # Parse glext_procs.h file
+  return '' if (!open(GLEXT,"glext_procs.h"));
+  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->{GLUT} > 0)
+  {
+    print 'Found FreeGLUT v'.$gldata->{GLUT}."\n";
+    print GLEXC 'FreeGLUT v'.$gldata->{GLUT}."\n";
+
+    if (!$found->{FREEGLUT} && !$found->{FREEGLUT32})
+    {
+      $found->{FREEGLUT} = $lib;
+    }
+  }
+  else
+  {
+    print "Found GLUT - unknown version\n";
+  }
+
+  # 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
+  {
+    print GLEXC "\n";
+    if ($gldata->{VERSION} =~ m|^(\d\.\d+)|)
+    {
+      my $ver = $1;
+      print GLEXC "#define NO_GL_VERSION_2_0\n" if ($ver < 2.0);
+      print GLEXC "#define NO_GL_VERSION_1_5\n" if ($ver < 1.5);
+      print GLEXC "#define NO_GL_VERSION_1_4\n" if ($ver < 1.4);
+      print GLEXC "#define NO_GL_VERSION_1_3\n" if ($ver < 1.3);
+      print GLEXC "#define NO_GL_VERSION_1_2\n" if ($ver < 1.2);
+      print GLEXC "#define NO_GL_VERSION_1_1\n" if ($ver < 1.1);
+    }
+
+    foreach my $ext (split(' ',$gldata->{EXTENSIONS}))
+    {
+      next if (!$no_ext->{$ext});
+      $no_ext->{$ext} = 0;
+    }
+
+    foreach my $ext (sort keys(%$no_ext))
+    {
+      next if (!$no_ext->{$ext});
+      print GLEXC "#define NO_$ext\n";
+    }
+  }
+
+  close(GLEXC);
+
 
   # return Distributable Defs
   print "Have Version Data\n" if ($verbose);




More information about the Pkg-perl-cvs-commits mailing list