diff -ruN OpenGL-0.55.old/MANIFEST OpenGL-0.55.new/MANIFEST
--- OpenGL-0.55.old/MANIFEST	2007-04-02 02:18:19.000000000 -0400
+++ OpenGL-0.55.new/MANIFEST	2007-04-19 15:55:08.000000000 -0400
@@ -68,6 +68,7 @@
 utils/glversion.c

 utils/hdr_diff.pl

 utils/Makefile

+utils/Makefile.macosx

 utils/makefile.mak

 utils/opengl32.txt

 utils/wgl_ext.txt

diff -ruN OpenGL-0.55.old/Makefile.PL OpenGL-0.55.new/Makefile.PL
--- OpenGL-0.55.old/Makefile.PL	2007-04-05 19:35:09.000000000 -0400
+++ OpenGL-0.55.new/Makefile.PL	2007-04-19 15:46:12.000000000 -0400
@@ -39,7 +39,21 @@
 if ($found_libs->{GLUT})
 {
   my $glv_file = 'utils/glversion.txt';
-  my $make_ver = ($^O eq 'MSWin32') ? '&nmake -f makefile.mak' : ';make';
+
+  my $make_ver;
+  if ($^O eq 'MSWin32')
+  {
+    $make_ver = '&nmake -f makefile.mak'
+  }
+  elsif ($^O eq 'darwin' && -d '/System/Library/Frameworks/OpenGL.framework')
+  {
+    $make_ver = ';make -f Makefile.macosx';
+  }
+  else
+  {
+    $make_ver = ';make';
+  }
+
   my $stat = qx(cd utils $make_ver clean $make_ver);
   #print "$stat\n";
 
@@ -119,6 +133,26 @@
     'dist' 		=> { COMPRESS=>"gzip", SUFFIX=>"gz" }
   );
 }
+
+if ($^O eq 'darwin' && -d '/System/Library/Frameworks/OpenGL.framework')      # for Mac OS X
+{
+  $DEFS .= " -DHAVE_GL";   # Primary OpenGL system
+  $DEFS .= " -DHAVE_GLU";  # GL Utility library
+  $DEFS .= " -DHAVE_GLUT"; # Simple User interface Toolkit
+
+  WriteMakefile(
+    'NAME'		=> 'OpenGL',
+    'VERSION_FROM'	=> 'OpenGL.pm',
+    'DEFINE'		=> $DEFS,
+    'XSPROTOARG' 	=> '-noprototypes',
+    'OBJECT' 		=> '$(BASEEXT)$(OBJ_EXT) gl_util$(OBJ_EXT)',
+    'INC'		=> "",
+    'PM' 		=> {'OpenGL.pm' => '$(INST_LIBDIR)/OpenGL.pm'},
+    'dist' 		=> { COMPRESS=>"gzip", SUFFIX=>"gz" },
+    dynamic_lib => { OTHERLDFLAGS => " -framework OpenGL -framework GLUT" },
+  );
+}
+
 else # Everyone else
 {
   # Extra library paths to search on
@@ -246,6 +280,16 @@
     }
     return $found;
   }
+  
+  if ($^O eq 'darwin' && -d '/System/Library/Frameworks/OpenGL.framework') {
+    my $libs = {
+      GL => 'OpenGL.framework',
+      GLU => 'AGL.framework',
+      GLUT => 'GLUT.framework',
+    };
+    
+    return $libs;
+  }
 
   my @libs = findlib->ext($libs);
   $libs = "@libs ";
diff -ruN OpenGL-0.55.old/glu_util.h OpenGL-0.55.new/glu_util.h
--- OpenGL-0.55.old/glu_util.h	2007-03-14 19:55:26.000000000 -0400
+++ OpenGL-0.55.new/glu_util.h	2007-04-19 15:49:39.000000000 -0400
@@ -1,4 +1,9 @@
+#ifdef __APPLE__
+#include <OpenGL/glu.h>
+#else
 #include <GL/glu.h>
+#endif
+
 #ifndef GLU_VERSION_1_0
 #define GLU_VERSION_1_0 1
 #endif
diff -ruN OpenGL-0.55.old/include/GL/glut.h OpenGL-0.55.new/include/GL/glut.h
--- OpenGL-0.55.old/include/GL/glut.h	2007-03-14 19:55:26.000000000 -0400
+++ OpenGL-0.55.new/include/GL/glut.h	2007-04-19 15:36:55.000000000 -0400
@@ -55,9 +55,18 @@
 
 #endif
 
+#ifdef __APPLE__
+
+#include <OpenGL/gl.h>
+#include <AGL/glu.h>
+
+#else
+
 #include <GL/gl.h>
 #include <GL/glu.h>
 
+#endif
+
 /* define APIENTRY and CALLBACK to null string if we aren't on Win32 */
 #if !defined(_WIN32)
 #define APIENTRY
diff -ruN OpenGL-0.55.old/utils/Makefile.macosx OpenGL-0.55.new/utils/Makefile.macosx
--- OpenGL-0.55.old/utils/Makefile.macosx	1969-12-31 19:00:00.000000000 -0500
+++ OpenGL-0.55.new/utils/Makefile.macosx	2007-04-19 15:41:31.000000000 -0400
@@ -0,0 +1,24 @@
+#!make
+
+CC=cc
+CCFLAGS=
+LINK=cc
+LDFLAGS=-framework OpenGL -framework GLUT
+
+all: glversion.txt
+
+clean:
+	rm -f glversion.txt
+	rm -f glversion
+	rm -f glversion.o
+
+glversion.txt: glversion
+	./$< > $@
+
+glversion: glversion.o
+	${LINK} ${LDFLAGS} -o $@ $<
+	chmod u+x $@
+
+%.o: %.c Makefile
+	${CC} ${CCFLAGS} -c $<
+
