Added glut32 dll.

diff --git a/configure b/configure
index 310c609..e8dff63 100755
--- a/configure
+++ b/configure
@@ -308,7 +308,7 @@
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS WIN16_FILES WIN16_INSTALL build build_cpu build_vendor build_os host host_cpu host_vendor host_os SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP TOOLSDIR X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS YACC LEX LEXLIB LEX_OUTPUT_ROOT XYACC XLEX AS ac_ct_AS LD ac_ct_LD AR ac_ct_AR RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP WINDRES ac_ct_WINDRES LN_S LN LDCONFIG INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LINT LINTFLAGS DB2HTML DB2PDF DB2PS DB2TXT LIBPTHREAD JPEGLIB EGREP GIFLIB XLIB XFILES OPENGLFILES GLU32FILES OPENGL_LIBS NASLIBS CURSESLIBS sane_devel SANELIBS SANEINCL ICULIBS ft_devel ft_devel2 FREETYPEINCL ARTSCCONFIG ARTSLIBS ARTSINCL ALSALIBS AUDIOIOLIBS CAPI4LINUXLIBS EXTRACFLAGS DLLEXT DLLFLAGS DLLIBS LDSHARED LDDLL LIBEXT IMPLIBEXT DLLTOOL ac_ct_DLLTOOL DLLWRAP ac_ct_DLLWRAP LDEXECFLAGS CROSSTEST CROSSCC CROSSWINDRES LDPATH CRTLIBS WINE_BINARIES MAIN_BINARY LDD ALLOCA LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS WIN16_FILES WIN16_INSTALL build build_cpu build_vendor build_os host host_cpu host_vendor host_os SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP TOOLSDIR X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS YACC LEX LEXLIB LEX_OUTPUT_ROOT XYACC XLEX AS ac_ct_AS LD ac_ct_LD AR ac_ct_AR RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP WINDRES ac_ct_WINDRES LN_S LN LDCONFIG INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LINT LINTFLAGS DB2HTML DB2PDF DB2PS DB2TXT LIBPTHREAD JPEGLIB EGREP GIFLIB XLIB XFILES OPENGLFILES GLU32FILES OPENGL_LIBS GLUT_LIBS GLUT32FILES NASLIBS CURSESLIBS sane_devel SANELIBS SANEINCL ICULIBS ft_devel ft_devel2 FREETYPEINCL ARTSCCONFIG ARTSLIBS ARTSINCL ALSALIBS AUDIOIOLIBS CAPI4LINUXLIBS EXTRACFLAGS DLLEXT DLLFLAGS DLLIBS LDSHARED LDDLL LIBEXT IMPLIBEXT DLLTOOL ac_ct_DLLTOOL DLLWRAP ac_ct_DLLWRAP LDEXECFLAGS CROSSTEST CROSSCC CROSSWINDRES LDPATH CRTLIBS WINE_BINARIES MAIN_BINARY LDD ALLOCA LIBOBJS LTLIBOBJS'
 ac_subst_files='MAKE_RULES MAKE_DLL_RULES MAKE_TEST_RULES MAKE_LIB_RULES MAKE_PROG_RULES'
 
 # Initialize some variables set by options.
@@ -8000,6 +8000,68 @@
 fi
 
 	     fi
+
+                          echo "$as_me:$LINENO: checking for glutMainLoop in -lglut" >&5
+echo $ECHO_N "checking for glutMainLoop in -lglut... $ECHO_C" >&6
+if test "${ac_cv_lib_glut_glutMainLoop+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lglut $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char glutMainLoop ();
+int
+main ()
+{
+glutMainLoop ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_glut_glutMainLoop=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_glut_glutMainLoop=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_glut_glutMainLoop" >&5
+echo "${ECHO_T}$ac_cv_lib_glut_glutMainLoop" >&6
+if test $ac_cv_lib_glut_glutMainLoop = yes; then
+  GLUT_LIBS="-lglut"
+
+                        GLUT32FILES='$(GLUT32FILES)'
+
+fi
+
 	 fi
     fi
 
@@ -17215,7 +17277,7 @@
 MAKE_PROG_RULES=programs/Makeprog.rules
 
 
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ac_config_files="$ac_config_files Make.rules dlls/Makedll.rules dlls/Maketest.rules libs/Makelib.rules programs/Makeprog.rules Makefile dlls/Makefile dlls/advapi32/Makefile dlls/advapi32/tests/Makefile dlls/avicap32/Makefile dlls/avifil32/Makefile dlls/cabinet/Makefile dlls/capi2032/Makefile dlls/cfgmgr32/Makefile dlls/comcat/Makefile dlls/comctl32/Makefile dlls/comctl32/tests/Makefile dlls/commdlg/Makefile dlls/crtdll/Makefile dlls/crypt32/Makefile dlls/ctl3d/Makefile dlls/wined3d/Makefile dlls/d3d8/Makefile dlls/d3d9/Makefile dlls/d3dim/Makefile dlls/d3dx8/Makefile dlls/dciman32/Makefile dlls/ddraw/Makefile dlls/ddraw/tests/Makefile dlls/devenum/Makefile dlls/dinput/Makefile dlls/dinput8/Makefile dlls/dmband/Makefile dlls/dmcompos/Makefile dlls/dmime/Makefile dlls/dmloader/Makefile dlls/dmscript/Makefile dlls/dmstyle/Makefile dlls/dmsynth/Makefile dlls/dmusic/Makefile dlls/dmusic32/Makefile dlls/dplay/Makefile dlls/dplayx/Makefile dlls/dpnhpast/Makefile dlls/dsound/Makefile dlls/dsound/tests/Makefile dlls/gdi/Makefile dlls/gdi/tests/Makefile dlls/glu32/Makefile dlls/icmp/Makefile dlls/imagehlp/Makefile dlls/imm32/Makefile dlls/iphlpapi/Makefile dlls/kernel/Makefile dlls/kernel/tests/Makefile dlls/lzexpand/Makefile dlls/mapi32/Makefile dlls/mpr/Makefile dlls/msacm/Makefile dlls/msacm/imaadp32/Makefile dlls/msacm/msadp32/Makefile dlls/msacm/msg711/Makefile dlls/msacm/winemp3/Makefile dlls/msdmo/Makefile dlls/mshtml/Makefile dlls/msi/Makefile dlls/msimg32/Makefile dlls/msisys/Makefile dlls/msnet32/Makefile dlls/msvcrt/Makefile dlls/msvcrt/tests/Makefile dlls/msvcrt20/Makefile dlls/msvcrtd/Makefile dlls/msvideo/Makefile dlls/msvideo/msrle32/Makefile dlls/mswsock/Makefile dlls/netapi32/Makefile dlls/netapi32/tests/Makefile dlls/ntdll/Makefile dlls/ntdll/tests/Makefile dlls/odbc32/Makefile dlls/ole32/Makefile dlls/oleacc/Makefile dlls/oleaut32/Makefile dlls/oleaut32/tests/Makefile dlls/olecli/Makefile dlls/oledlg/Makefile dlls/olepro32/Makefile dlls/olesvr/Makefile dlls/opengl32/Makefile dlls/psapi/Makefile dlls/qcap/Makefile dlls/quartz/Makefile dlls/rasapi32/Makefile dlls/richedit/Makefile dlls/rpcrt4/Makefile dlls/rpcrt4/tests/Makefile dlls/serialui/Makefile dlls/setupapi/Makefile dlls/shdocvw/Makefile dlls/shell32/Makefile dlls/shell32/tests/Makefile dlls/shfolder/Makefile dlls/shlwapi/Makefile dlls/shlwapi/tests/Makefile dlls/snmpapi/Makefile dlls/sti/Makefile dlls/tapi32/Makefile dlls/ttydrv/Makefile dlls/twain/Makefile dlls/unicows/Makefile dlls/url/Makefile dlls/urlmon/Makefile dlls/urlmon/tests/Makefile dlls/user/Makefile dlls/user/tests/Makefile dlls/uxtheme/Makefile dlls/version/Makefile dlls/win32s/Makefile dlls/winaspi/Makefile dlls/winedos/Makefile dlls/wineps/Makefile dlls/wininet/Makefile dlls/wininet/tests/Makefile dlls/winmm/Makefile dlls/winmm/joystick/Makefile dlls/winmm/mcianim/Makefile dlls/winmm/mciavi/Makefile dlls/winmm/mcicda/Makefile dlls/winmm/mciseq/Makefile dlls/winmm/mciwave/Makefile dlls/winmm/midimap/Makefile dlls/winmm/tests/Makefile dlls/winmm/wavemap/Makefile dlls/winmm/winealsa/Makefile dlls/winmm/winearts/Makefile dlls/winmm/wineaudioio/Makefile dlls/winmm/winenas/Makefile dlls/winmm/winejack/Makefile dlls/winmm/wineoss/Makefile dlls/winnls/Makefile dlls/winsock/Makefile dlls/winsock/tests/Makefile dlls/winspool/Makefile dlls/winspool/tests/Makefile dlls/wintab32/Makefile dlls/wintrust/Makefile dlls/wow32/Makefile dlls/wsock32/Makefile dlls/x11drv/Makefile documentation/Makefile include/Makefile libs/Makefile libs/port/Makefile libs/unicode/Makefile libs/uuid/Makefile libs/wine/Makefile libs/wpp/Makefile loader/Makefile programs/Makefile programs/avitools/Makefile programs/clock/Makefile programs/cmdlgtst/Makefile programs/control/Makefile programs/expand/Makefile programs/notepad/Makefile programs/progman/Makefile programs/regedit/Makefile programs/regsvr32/Makefile programs/rpcss/Makefile programs/rundll32/Makefile programs/start/Makefile programs/uninstaller/Makefile programs/view/Makefile programs/wcmd/Makefile programs/wineboot/Makefile programs/winecfg/Makefile programs/wineconsole/Makefile programs/winedbg/Makefile programs/winefile/Makefile programs/winemenubuilder/Makefile programs/winemine/Makefile programs/winepath/Makefile programs/winevdm/Makefile programs/winhelp/Makefile programs/winver/Makefile server/Makefile tools/Makefile tools/widl/Makefile tools/winapi/Makefile tools/winebuild/Makefile tools/winedump/Makefile tools/winegcc/Makefile tools/wmc/Makefile tools/wrc/Makefile"
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ac_config_files="$ac_config_files Make.rules dlls/Makedll.rules dlls/Maketest.rules libs/Makelib.rules programs/Makeprog.rules Makefile dlls/Makefile dlls/advapi32/Makefile dlls/advapi32/tests/Makefile dlls/avicap32/Makefile dlls/avifil32/Makefile dlls/cabinet/Makefile dlls/capi2032/Makefile dlls/cfgmgr32/Makefile dlls/comcat/Makefile dlls/comctl32/Makefile dlls/comctl32/tests/Makefile dlls/commdlg/Makefile dlls/crtdll/Makefile dlls/crypt32/Makefile dlls/ctl3d/Makefile dlls/wined3d/Makefile dlls/d3d8/Makefile dlls/d3d9/Makefile dlls/d3dim/Makefile dlls/d3dx8/Makefile dlls/dciman32/Makefile dlls/ddraw/Makefile dlls/ddraw/tests/Makefile dlls/devenum/Makefile dlls/dinput/Makefile dlls/dinput8/Makefile dlls/dmband/Makefile dlls/dmcompos/Makefile dlls/dmime/Makefile dlls/dmloader/Makefile dlls/dmscript/Makefile dlls/dmstyle/Makefile dlls/dmsynth/Makefile dlls/dmusic/Makefile dlls/dmusic32/Makefile dlls/dplay/Makefile dlls/dplayx/Makefile dlls/dpnhpast/Makefile dlls/dsound/Makefile dlls/dsound/tests/Makefile dlls/gdi/Makefile dlls/gdi/tests/Makefile dlls/glu32/Makefile dlls/glut32/Makefile dlls/icmp/Makefile dlls/imagehlp/Makefile dlls/imm32/Makefile dlls/iphlpapi/Makefile dlls/kernel/Makefile dlls/kernel/tests/Makefile dlls/lzexpand/Makefile dlls/mapi32/Makefile dlls/mpr/Makefile dlls/msacm/Makefile dlls/msacm/imaadp32/Makefile dlls/msacm/msadp32/Makefile dlls/msacm/msg711/Makefile dlls/msacm/winemp3/Makefile dlls/msdmo/Makefile dlls/mshtml/Makefile dlls/msi/Makefile dlls/msimg32/Makefile dlls/msisys/Makefile dlls/msnet32/Makefile dlls/msvcrt/Makefile dlls/msvcrt/tests/Makefile dlls/msvcrt20/Makefile dlls/msvcrtd/Makefile dlls/msvideo/Makefile dlls/msvideo/msrle32/Makefile dlls/mswsock/Makefile dlls/netapi32/Makefile dlls/netapi32/tests/Makefile dlls/ntdll/Makefile dlls/ntdll/tests/Makefile dlls/odbc32/Makefile dlls/ole32/Makefile dlls/oleacc/Makefile dlls/oleaut32/Makefile dlls/oleaut32/tests/Makefile dlls/olecli/Makefile dlls/oledlg/Makefile dlls/olepro32/Makefile dlls/olesvr/Makefile dlls/opengl32/Makefile dlls/psapi/Makefile dlls/qcap/Makefile dlls/quartz/Makefile dlls/rasapi32/Makefile dlls/richedit/Makefile dlls/rpcrt4/Makefile dlls/rpcrt4/tests/Makefile dlls/serialui/Makefile dlls/setupapi/Makefile dlls/shdocvw/Makefile dlls/shell32/Makefile dlls/shell32/tests/Makefile dlls/shfolder/Makefile dlls/shlwapi/Makefile dlls/shlwapi/tests/Makefile dlls/snmpapi/Makefile dlls/sti/Makefile dlls/tapi32/Makefile dlls/ttydrv/Makefile dlls/twain/Makefile dlls/unicows/Makefile dlls/url/Makefile dlls/urlmon/Makefile dlls/urlmon/tests/Makefile dlls/user/Makefile dlls/user/tests/Makefile dlls/uxtheme/Makefile dlls/version/Makefile dlls/win32s/Makefile dlls/winaspi/Makefile dlls/winedos/Makefile dlls/wineps/Makefile dlls/wininet/Makefile dlls/wininet/tests/Makefile dlls/winmm/Makefile dlls/winmm/joystick/Makefile dlls/winmm/mcianim/Makefile dlls/winmm/mciavi/Makefile dlls/winmm/mcicda/Makefile dlls/winmm/mciseq/Makefile dlls/winmm/mciwave/Makefile dlls/winmm/midimap/Makefile dlls/winmm/tests/Makefile dlls/winmm/wavemap/Makefile dlls/winmm/winealsa/Makefile dlls/winmm/winearts/Makefile dlls/winmm/wineaudioio/Makefile dlls/winmm/winenas/Makefile dlls/winmm/winejack/Makefile dlls/winmm/wineoss/Makefile dlls/winnls/Makefile dlls/winsock/Makefile dlls/winsock/tests/Makefile dlls/winspool/Makefile dlls/winspool/tests/Makefile dlls/wintab32/Makefile dlls/wintrust/Makefile dlls/wow32/Makefile dlls/wsock32/Makefile dlls/x11drv/Makefile documentation/Makefile include/Makefile libs/Makefile libs/port/Makefile libs/unicode/Makefile libs/uuid/Makefile libs/wine/Makefile libs/wpp/Makefile loader/Makefile programs/Makefile programs/avitools/Makefile programs/clock/Makefile programs/cmdlgtst/Makefile programs/control/Makefile programs/expand/Makefile programs/notepad/Makefile programs/progman/Makefile programs/regedit/Makefile programs/regsvr32/Makefile programs/rpcss/Makefile programs/rundll32/Makefile programs/start/Makefile programs/uninstaller/Makefile programs/view/Makefile programs/wcmd/Makefile programs/wineboot/Makefile programs/winecfg/Makefile programs/wineconsole/Makefile programs/winedbg/Makefile programs/winefile/Makefile programs/winemenubuilder/Makefile programs/winemine/Makefile programs/winepath/Makefile programs/winevdm/Makefile programs/winhelp/Makefile programs/winver/Makefile server/Makefile tools/Makefile tools/widl/Makefile tools/winapi/Makefile tools/winebuild/Makefile tools/winedump/Makefile tools/winegcc/Makefile tools/wmc/Makefile tools/wrc/Makefile"
 
 
 cat >confcache <<\_ACEOF
@@ -17794,6 +17856,7 @@
   "dlls/gdi/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/gdi/Makefile" ;;
   "dlls/gdi/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/gdi/tests/Makefile" ;;
   "dlls/glu32/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/glu32/Makefile" ;;
+  "dlls/glut32/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/glut32/Makefile" ;;
   "dlls/icmp/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/icmp/Makefile" ;;
   "dlls/imagehlp/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/imagehlp/Makefile" ;;
   "dlls/imm32/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/imm32/Makefile" ;;
@@ -18113,6 +18176,8 @@
 s,@OPENGLFILES@,$OPENGLFILES,;t t
 s,@GLU32FILES@,$GLU32FILES,;t t
 s,@OPENGL_LIBS@,$OPENGL_LIBS,;t t
+s,@GLUT_LIBS@,$GLUT_LIBS,;t t
+s,@GLUT32FILES@,$GLUT32FILES,;t t
 s,@NASLIBS@,$NASLIBS,;t t
 s,@CURSESLIBS@,$CURSESLIBS,;t t
 s,@sane_devel@,$sane_devel,;t t
diff --git a/configure.ac b/configure.ac
index c1b553b..de019b2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -340,6 +340,12 @@
 			     $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
 		)
 	     fi
+
+             dnl Check for glut32 library.
+             AC_CHECK_LIB(glut,glutMainLoop,
+                       [AC_SUBST(GLUT_LIBS,"-lglut")
+                        AC_SUBST(GLUT32FILES,'$(GLUT32FILES)')],,
+                        $OPENGL_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS)
 	 fi
     fi
 
@@ -1516,6 +1522,7 @@
 dlls/gdi/Makefile
 dlls/gdi/tests/Makefile
 dlls/glu32/Makefile
+dlls/glut32/Makefile
 dlls/icmp/Makefile
 dlls/imagehlp/Makefile
 dlls/imm32/Makefile
diff --git a/dlls/Makefile.in b/dlls/Makefile.in
index bbd5e09..a56b0c9 100644
--- a/dlls/Makefile.in
+++ b/dlls/Makefile.in
@@ -8,9 +8,10 @@
 # special configure-dependent targets
 
 GLU32FILES = glu32
+GLUT32FILES = glut32
 OPENGLFILES = d3d8 d3d9 d3dx8 opengl32 wined3d
 XFILES = ddraw x11drv
-EXTRADIRS = @GLU32FILES@ @OPENGLFILES@ @XFILES@
+EXTRADIRS = @GLU32FILES@ @GLUT32FILES@ @OPENGLFILES@ @XFILES@
 
 # Subdir list
 
@@ -139,6 +140,7 @@
 	d3dx8 \
 	ddraw \
 	glu32 \
+	glut32 \
 	opengl32 \
 	wined3d \
 	x11drv
@@ -436,6 +438,9 @@
 glu32.dll$(DLLEXT): glu32/glu32.dll$(DLLEXT)
 	$(RM) $@ && $(LN_S) glu32/glu32.dll$(DLLEXT) $@
 
+glut32.dll$(DLLEXT): glut32/glut32.dll$(DLLEXT)
+	$(RM) $@ && $(LN_S) glut32/glut32.dll$(DLLEXT) $@
+
 icmp.dll$(DLLEXT): icmp/icmp.dll$(DLLEXT)
 	$(RM) $@ && $(LN_S) icmp/icmp.dll$(DLLEXT) $@
 
@@ -745,6 +750,7 @@
 	libdsound \
 	libgdi32 \
 	libglu32 \
+	libglut32 \
 	libicmp \
 	libimagehlp \
 	libimm32 \
@@ -995,6 +1001,11 @@
 libglu32.a: glu32/glu32.spec.def
 	$(DLLTOOL) -k -l $@ -d glu32/glu32.spec.def
 
+libglut32.def: glut32/glut32.spec.def
+	$(RM) $@ && $(LN_S) glut32/glut32.spec.def $@
+libglut32.a: glut32/glut32.spec.def
+	$(DLLTOOL) -k -l $@ -d glut32/glut32.spec.def
+
 libicmp.def: icmp/icmp.spec.def
 	$(RM) $@ && $(LN_S) icmp/icmp.spec.def $@
 libicmp.a: icmp/icmp.spec.def
@@ -1376,6 +1387,7 @@
 dsound/dsound.spec.def: $(WINEBUILD)
 gdi/gdi32.spec.def: $(WINEBUILD)
 glu32/glu32.spec.def: $(WINEBUILD)
+glut32/glut32.spec.def: $(WINEBUILD)
 icmp/icmp.spec.def: $(WINEBUILD)
 imagehlp/imagehlp.spec.def: $(WINEBUILD)
 imm32/imm32.spec.def: $(WINEBUILD)
@@ -1488,6 +1500,7 @@
 dsound/dsound.dll$(DLLEXT): dsound
 gdi/gdi32.dll$(DLLEXT): gdi
 glu32/glu32.dll$(DLLEXT): glu32
+glut32/glut32.dll$(DLLEXT): glut32
 icmp/icmp.dll$(DLLEXT): icmp
 msacm/imaadp32/imaadp32.acm$(DLLEXT): msacm/imaadp32
 imagehlp/imagehlp.dll$(DLLEXT): imagehlp
diff --git a/dlls/glut32/.cvsignore b/dlls/glut32/.cvsignore
new file mode 100644
index 0000000..15092ce
--- /dev/null
+++ b/dlls/glut32/.cvsignore
@@ -0,0 +1,4 @@
+Makefile
+glut32.dll.dbg.c
+glut32.spec.c
+glut32.spec.def
diff --git a/dlls/glut32/Makefile.in b/dlls/glut32/Makefile.in
new file mode 100644
index 0000000..cd3aef4
--- /dev/null
+++ b/dlls/glut32/Makefile.in
@@ -0,0 +1,14 @@
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = glut32.dll
+IMPORTS   = kernel32
+EXTRALIBS = @X_LIBS@ @X_PRE_LIBS@ @XLIB@ @X_EXTRA_LIBS@ @OPENGL_LIBS@ @GLUT_LIBS@
+
+C_SRCS = \
+	glut.c
+
+@MAKE_DLL_RULES@
+
+### Dependencies:
diff --git a/dlls/glut32/glut.c b/dlls/glut32/glut.c
new file mode 100644
index 0000000..39e2403
--- /dev/null
+++ b/dlls/glut32/glut.c
@@ -0,0 +1,1069 @@
+/*
+ * Copyright 2003 Jacek Caban
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include "windef.h"
+
+/****************************************************
+ *	glutGetColor (glut32.@)
+ */
+extern float glutGetColor(int arg1, int arg2);
+float WINAPI wine_glutGetColor(int arg1, int arg2)
+{
+   return glutGetColor(arg1, arg2);
+}
+
+/****************************************************
+ *	glutBitmapLength (glut32.@)
+ */
+extern int glutBitmapLength(void *arg1, void *arg2);
+int WINAPI wine_glutBitmapLength(void *arg1, void *arg2)
+{
+   return glutBitmapLength(arg1, arg2);
+}
+
+/****************************************************
+ *	glutBitmapWith (glut32.@)
+ */
+extern int glutBitmapWidth(void *arg1, int arg2);
+int WINAPI wine_glutBitmapWidth(void *arg1, int arg2)
+{
+   return glutBitmapWidth(arg1, arg2);
+}
+
+/****************************************************
+ *	glutCreateMenu (glut32.@)
+ */
+extern int glutCreateMenu(void *arg);
+int WINAPI wine_glutCreateMenu(void *arg)
+{
+   return glutCreateMenu(arg);
+}
+
+/****************************************************
+ *	__glutCreateMenuWithExit (glut32.@)
+ */
+int WINAPI wine___glutCreateMenuWithExit(void *arg1, void *arg2)
+{
+   return glutCreateMenu(arg1);
+}
+
+/*****************************************************
+ *	glutCreateSubWindow (glut32.@)
+ */
+extern int glutCreateSubWindow(int arg1, int arg2, int arg3, int arg4, int arg5);
+int WINAPI wine_glutCreateSubWindow(int arg1, int arg2, int arg3, int arg4, int arg5)
+{
+   return glutCreateSubWindow(arg1, arg2, arg3, arg4, arg5);
+}
+
+/*****************************************************
+ *	glutCreateWindow (glut32.@)
+ */
+extern int glutCreateWindow(void *arg);
+int WINAPI wine_glutCreateWindow(void *arg)
+{
+   return glutCreateWindow(arg);
+}
+
+/****************************************************
+ *	__glutCreateWindowWithExit (glut32.@)
+ */
+int WINAPI wine___glutCreateWindowWithExit(void *arg, void *arg2)
+{
+   return glutCreateWindow(arg);
+}
+
+/*****************************************************
+ *	glutDeviceGet (glut32.@)
+ */
+extern int glutDeviceGet(int arg);
+int WINAPI wine_glutDeviceGet(int arg)
+{
+   return glutDeviceGet(arg);
+}
+
+/****************************************************
+ *	glutEnterGameMode (glut32.@)
+ */
+extern int glutEnterGameMode(void);
+int WINAPI wine_glutEnterGameMode(void)
+{
+   return glutEnterGameMode();
+}
+
+/****************************************************
+ *	glutExtensionSupported (glut32.@)
+ */
+extern int glutExtensionSupported(void *arg);
+int WINAPI wine_glutExtensionSupported(void *arg)
+{
+   return glutExtensionSupported(arg);
+}
+
+/****************************************************
+ *	glutGameModeGet (glut32.@)
+ */
+extern int glutGameModeGet(int arg);
+int WINAPI wine_glutGameModeGet(int arg)
+{
+   return glutGameModeGet(arg);
+}
+
+/****************************************************
+ *	glutGetMenu (glut32.@)
+ */
+extern int glutGetMenu(void);
+int WINAPI wine_glutGetMenu(void)
+{
+   return wine_glutGetMenu();
+}
+
+/****************************************************
+ *	glutGetModifiers (glut32.@)
+ */
+extern int glutGetModifiers(void);
+int WINAPI wine_glutGetModifiers(void)
+{
+   return glutGetModifiers();
+}
+
+/****************************************************
+ *	glutGet (glut32.@)
+ */
+extern int glutGet(int arg);
+int WINAPI wine_glutGet(int arg)
+{
+   return glutGet(arg);
+}
+
+/****************************************************
+ *	glutGetWindow (glut32.@)
+ */
+extern int glutGetWindow(void);
+int WINAPI wine_glutGetWindow(void)
+{
+   return glutGetWindow();
+}
+
+/****************************************************
+ *	glutLayerGet (glut32.@)
+ */
+extern int glutLayerGet(int arg);
+int WINAPI wine_glutLayerGet(int arg)
+{
+   return glutLayerGet(arg);
+}
+
+/****************************************************
+ *	glutStrokeLength (glut32.@)
+ */
+extern int glutStrokeLength(void *arg1, void* arg2);
+int WINAPI wine_glutStrokeLength(void *arg1, void *arg2)
+{
+   return glutStrokeLength(arg1, arg2);
+}
+
+/****************************************************
+ *	glutStrokeWidth (glut32.@)
+ */
+extern int glutStrokeWidth(void *arg1, int arg2);
+int WINAPI wine_glutStrokeWidth(void *arg1, int arg2)
+{
+   return glutStrokeWidth(arg1, arg2);
+}
+
+/****************************************************
+ *	glutVideoResizeGet (glut32.@)
+ */
+extern int glutVideoResizeGet(int arg);
+int WINAPI wine_glutVideoResizeGet(int arg)
+{
+   return glutVideoResizeGet(arg);
+}
+
+/****************************************************
+ *	glutAddMenuEntry (glut32.@)
+ */
+extern void glutAddMenuEntry(void *arg1, int arg2);
+void WINAPI wine_glutAddMenuEntry(void *arg1, int arg2)
+{
+   glutAddMenuEntry(arg1, arg2);
+}
+
+/****************************************************
+ *	glutAddSubMenu (glut32.@)
+ */
+extern void glutAddSubMenu(void *arg1, int arg2);
+void WINAPI wine_glutAddSubMenu(void *arg1, int arg2)
+{
+   glutAddSubMenu(arg1, arg2);
+}
+
+/****************************************************
+ *	glutAttachMenu (glut32.@)
+ */
+extern void glutAttachMenu(int arg);
+void WINAPI wine_glutAttachMenu(int arg)
+{
+   glutAttachMenu(arg);
+}
+
+/****************************************************
+ *	glutBitmapCharacter (glut32.@)
+ */
+extern void glutBitmapCharacter(void *arg1, int arg2);
+void WINAPI wine_glutBitmapCharacter(void *arg1, int arg2)
+{
+   glutBitmapCharacter(arg1, arg2);
+}
+
+/****************************************************
+ *	glutButtonBoxFunc (glut32.@)
+ */
+extern void glutButtonBoxFunc(void *arg);
+void WINAPI wine_glutButtonBoxFunc(void *arg)
+{
+   glutButtonBoxFunc(arg);
+}
+
+/****************************************************
+ *	glutChangeToMenuEntry (glut32.@)
+ */
+extern void glutChangeToMenuEntry(int arg1, void *arg2, int arg3);
+void WINAPI wine_glutChangeToMenuEntry(int arg1, void *arg2, int arg3)
+{
+   glutChangeToMenuEntry(arg1, arg2, arg3);
+}
+
+/****************************************************
+ *	glutChangeToSubMenu (glut32.@)
+ */
+extern void glutChangeToSubMenu(int arg1, void *arg2, int arg3);
+void WINAPI wine_glutChangeToSubMenu(int arg1, void *arg2, int arg3)
+{
+   glutChangeToSubMenu(arg1, arg2, arg3);
+}
+
+/****************************************************
+ *	glutCopyColormap (glut32.@)
+ */
+extern void glutCopyColormap(int arg);
+void WINAPI wine_glutCopyColormap(int arg)
+{
+   glutCopyColormap(arg);
+}
+
+/****************************************************
+ *	glutDestroyMenu (glut32.@)
+ */
+extern void glutDestroyMenu(int arg);
+void WINAPI wine_glutDestroyMenu(int arg)
+{
+   glutDestroyMenu(arg);
+}
+
+/****************************************************
+ *	glutDestroyWindow (glut32.@)
+ */
+extern void glutDestroyWindow(int arg);
+void WINAPI wine_glutDestroyWindow(int arg)
+{
+   glutDestroyWindow(arg);
+}
+
+/****************************************************
+ *	glutDetachMenu (glut32.@)
+ */
+extern void glutDetachMenu(int arg);
+void WINAPI wine_glutDetachMenu(int arg)
+{
+   glutDetachMenu(arg);
+}
+
+/****************************************************
+ *	glutDialsFunc (glut32.@)
+ */
+extern void glutDialsFunc(void *arg);
+void WINAPI wine_glutDialsFunc(void *arg)
+{
+   glutDialsFunc(arg);
+}
+
+/*******************************************************
+ *	glutDisplayFunc (glut32.@)
+ */
+extern void glutDisplayFunc(void *arg);
+void WINAPI wine_glutDisplayFunc(void *arg)
+{
+   glutDisplayFunc(arg);
+}
+
+/*******************************************************
+ *	glutEntryFunc (glut32.@)
+ */
+extern void glutEntryFunc(void *arg);
+void WINAPI wine_glutEntryFunc(void *arg)
+{
+   glutEntryFunc(arg);
+}
+
+/*******************************************************
+ *	glutEstablishOverlay (glut32.@)
+ */
+extern void glutEstablishOverlay(void);
+void WINAPI wine_glutEstablishOverlay(void)
+{
+   glutEstablishOverlay();
+}
+
+/*******************************************************
+ *	glutForceJoystickFunc (glut32.@)
+ */
+extern void glutForceJoystickFunc(void);
+void WINAPI wine_glutForceJoystickFunc(void)
+{
+   glutForceJoystickFunc();
+}
+
+/*******************************************************
+ *	glutFullScreen (glut32.@)
+ */
+extern void glutFullScreen(void);
+void WINAPI wine_glutFullScreen(void)
+{
+   glutFullScreen();
+}
+
+/*******************************************************
+ *	glutGameModeString (glut32.@)
+ */
+extern void glutGameModeString(void *arg);
+void WINAPI wine_glutGameModeString(void *arg)
+{
+   glutGameModeString(arg);
+}
+
+/*******************************************************
+ *	glutHideOverlay (glut32.@)
+ */
+extern void glutHideOverlay(void);
+void WINAPI wine_glutHideOverlay(void)
+{
+   glutHideOverlay();
+}
+
+/*******************************************************
+ *	glutHideWindow (glut32.@)
+ */
+extern void glutHideWindow(void);
+void WINAPI wine_glutHideWindow(void)
+{
+   glutHideWindow();
+}
+
+/*******************************************************
+ *	glutIconifyWindow (glut32.@)
+ */
+extern void glutIconifyWindow(void);
+void WINAPI wine_glutIconifyWindow(void)
+{
+   glutIconifyWindow();
+}
+
+/*********************************************
+ *	glutIdleFunc (glut32.@)
+ */
+extern void glutIdleFunc(void *arg);
+void WINAPI wine_glutIdleFunc(void *arg)
+{
+   glutIdleFunc(arg);
+}
+
+/*********************************************
+ *	glutIgnoreKeyRepeat (glut32.@)
+ */
+extern void glutIgnoreKeyRepeat(int arg);
+void WINAPI wine_glutIgnoreKeyRepeat(int arg)
+{
+   glutIgnoreKeyRepeat(arg);
+}
+
+/**********************************************
+ *	glutInitDisplayMode (glut32.@)
+ */
+extern void glutInitDisplayMode(unsigned int arg);
+void WINAPI wine_glutInitDisplayMode(unsigned int arg)
+{
+   glutInitDisplayMode(arg);
+}
+
+/**********************************************
+ *	glutInitDisplayString (glut32.@)
+ */
+extern void glutInitDisplayString(void *arg);
+void WINAPI wine_glutInitDisplayString(void *arg)
+{
+   glutInitDisplayString(arg);
+}
+
+/**********************************************
+ *	glutInit (glut32.@)
+ */
+extern void glutInit(void *arg1, void *arg2);
+void WINAPI wine_glutInit(void *arg1, void **arg2)
+{
+   glutInit(arg1, arg2);
+}
+
+/**********************************************
+ *	__glutInitWithExit (glut32.@)
+ */
+void WINAPI wine___glutInitWithExit(void *arg1, void *arg2, void *arg3)
+{
+   glutInit(arg1, arg2);
+}
+
+/***********************************************
+ *	glutInitWindowPosition (glut32.@)
+ */
+extern void glutInitWindowPosition(int arg1, int arg2);
+void WINAPI wine_glutInitWindowPosition(int arg1, int arg2)
+{
+   glutInitWindowPosition(arg1, arg2);
+}
+
+/***********************************************
+ *	glutInitWindowSize (glut32.@)
+ */
+extern void glutInitWindowSize(int arg1, int arg2);
+void WINAPI wine_glutInitWindowSize(int arg1, int arg2)
+{
+   glutInitWindowSize(arg1, arg2);
+}
+
+/***********************************************
+ *	glutJoystickFunc (glut32.@)
+ */
+extern void glutJoystickFunc(void *arg1, int arg2);
+void WINAPI wine_glutJoystickFunc(void *arg1, int arg2)
+{
+   glutJoystickFunc(arg1, arg2);
+}
+
+/***********************************************
+ *	glutKeyboardFunc (glut32.@)
+ */
+extern void glutKeyboardFunc(void *arg);
+void WINAPI wine_glutKeyboardFunc(void *arg)
+{
+   glutKeyboardFunc(arg);
+}
+
+/***********************************************
+ *	glutKeyboardUpFunc (glut32.@)
+ */
+extern void glutKeyboardUpFunc(void *arg);
+void WINAPI wine_glutKeyboardUpFunc(void *arg)
+{
+   glutKeyboardUpFunc(arg);
+}
+
+/***********************************************
+ *	glutLeaveGameMode (glut32.@)
+ */
+extern void glutLeaveGameMode(void);
+void WINAPI wine_glutLeaveGameMode(void)
+{
+   glutLeaveGameMode();
+}
+
+/***********************************************
+ *	glutMainLoop (glut32.@)
+ */
+extern void glutMainLoop(void);
+void WINAPI wine_glutMainLoop(void)
+{
+   glutMainLoop();
+}
+
+/***********************************************
+ *	glutMenuStateFunc(glut32.@)
+ */
+extern void glutMenuStateFunc(void *arg);
+void WINAPI wine_glutMenuStateFunc(void *arg)
+{
+   glutMenuStateFunc(arg);
+}
+
+/***********************************************
+ *	glutMenuStatusFunc (glut32.@)
+ */
+extern void glutMenuStatusFunc(void *arg);
+void WINAPI wine_glutMenuStatusFunc(void *arg)
+{
+   glutMenuStatusFunc(arg);
+}
+
+/***********************************************
+ *	glutMotionFunc (glut32.@)
+ */
+extern void glutMotionFunc(void *arg);
+void WINAPI wine_glutMotionFunc(void *arg)
+{
+   glutMotionFunc(arg);
+}
+
+/********************************************
+ *	glutMouseFunc (glut32.@)
+ */
+extern void glutMouseFunc(void *arg);
+void WINAPI wine_glutMouseFunc(void *arg)
+{
+   glutMouseFunc(arg);
+}
+
+/********************************************
+ *	glutOverlayDisplayFunc (glut32.@)
+ */
+extern void glutOverlayDisplayFunc(void *arg);
+void WINAPI wine_glutOverlayDisplayFunc(void *arg)
+{
+   glutOverlayDisplayFunc(arg);
+}
+
+/********************************************
+ *      glutPassiveMotionFunc (glut32.@)
+ */
+extern void glutPassiveMotionFunc(void *arg);
+void WINAPI wine_glutPassiveMotionFunc(void *arg)
+{
+   glutPassiveMotionFunc(arg);
+}
+
+/********************************************
+ *      glutPopWindow (glut32.@)
+ */
+extern void glutPopWindow(void);
+void WINAPI wine_glutPopWindow(void)
+{
+   glutPopWindow();
+}
+
+/********************************************
+ *      glutPositionWindow (glut32.@)
+ */
+extern void glutPositionWindow(int arg1, int arg2);
+void WINAPI wine_glutPositionWindow(int arg1, int arg2)
+{
+   glutPositionWindow(arg1, arg2);
+}
+
+/********************************************
+ *      glutPostOverlayRedisplay (glut32.@)
+ */
+extern void glutPostOverlayRedisplay(void);
+void WINAPI wine_glutPostOverlayRedisplay(void)
+{
+   glutPostOverlayRedisplay();
+}
+
+/********************************************
+ *	glutPostRedisplay (glut32.@)
+ */
+extern void glutPostRedisplay(void);
+void WINAPI wine_glutPostRedisplay(void)
+{
+   glutPostRedisplay();
+}
+
+/********************************************
+ *	glutPostWindowOverlayRedisplay (glut32.@)
+ */
+extern void glutPostWindowOverlayRedisplay(int arg);
+void WINAPI wine_glutPostWindowOverlayRedisplay(int arg)
+{
+   glutPostWindowOverlayRedisplay(arg);
+}
+
+/********************************************
+ *      glutPostWindowRedisplay (glut32.@)
+ */
+extern void glutPostWindowRedisplay(int arg);
+void WINAPI wine_glutPostWindowRedisplay(int arg)
+{
+   glutPostWindowRedisplay(arg);
+}
+
+/********************************************
+ *      glutPushWindow (glut32.@)
+ */
+extern void glutPushWindow(void);
+void WINAPI wine_glutPushWindow(void)
+{
+   glutPushWindow();
+}
+
+/********************************************
+ *      glutRemoveMenuItem (glut32.@)
+ */
+extern void glutRemoveMenuItem(int arg);
+void WINAPI wine_glutRemoveMenuItem(int arg)
+{
+   glutRemoveMenuItem(arg);
+}
+
+/********************************************
+ *      glutRemoveOverlay (glut32.@)
+ */
+extern void glutRemoveOverlay(void);
+void WINAPI wine_glutRemoveOverlay(void)
+{
+   glutRemoveOverlay();
+}
+
+/********************************************
+ *      glutReportErrors (glut32.@)
+ */
+extern void glutReportErrors(void);
+void WINAPI wine_glutReportErrors(void)
+{
+   glutReportErrors();
+}
+
+/********************************************
+ *	glutReshapeFunc (glut32.@)
+ */
+extern void glutReshapeFunc(void *arg);
+void WINAPI wine_glutReshapeFunc(void *arg)
+{
+   glutReshapeFunc(arg);
+}
+
+/********************************************
+ *	glutReshapeWindow (glut32.@)
+ */
+extern void glutReshapeWindow(int arg1, int arg2);
+void WINAPI wine_glutReshapeWindow(int arg1, int arg2)
+{
+   glutReshapeWindow(arg1, arg2);
+}
+
+/********************************************
+ *	glutSetColor (glut32.@)
+ */
+extern void glutSetColor(float arg1, float arg2, float arg3);
+void WINAPI wine_glutSetColor(float arg1, float arg2, float arg3)
+{
+   glutSetColor(arg1, arg2, arg3);
+}
+
+/********************************************
+ *	glutSetCursor (glut32.@)
+ */
+extern void glutSetCursor(int arg);
+void WINAPI wine_glutSetCursor(int arg)
+{
+   glutSetCursor(arg);
+}
+
+/********************************************
+ *	glutSetIconTitle (glut32.@)
+ */
+extern void glutSetIconTitle(void *arg);
+void WINAPI wine_glutSetIconTitle(void *arg)
+{
+   glutSetIconTitle(arg);
+}
+
+/********************************************
+ *	glutSetKeyRepeat (glut32.@)
+ */
+extern void glutSetKeyRepeat(int arg);
+void WINAPI wine_glutSetKeyRepeat(int arg)
+{
+   glutSetKeyRepeat(arg);
+}
+
+/********************************************
+ *	glutSetMenu (glut32.@)
+ */
+extern void glutSetMenu(int arg);
+void WINAPI wine_glutSetMenu(int arg)
+{
+   glutSetMenu(arg);
+}
+
+/********************************************
+ *	glutSetupVideoResizing (glut32.@)
+ */
+extern void glutSetupVideoResizing(void);
+void WINAPI wine_glutSetupVideoResizing(void)
+{
+/*   glutSetupVideoResizing(); */
+}
+
+/********************************************
+ *	glutSetWindow (glut32.@)
+ */
+extern void glutSetWindow(int arg);
+void WINAPI wine_glutSetWindow(int arg)
+{
+   glutSetWindow(arg);
+}
+
+/********************************************
+ *	glutSetWindowTitle (glut32.@)
+ */
+extern void glutSetWindowTitle(void *arg);
+void WINAPI wine_glutSetWindowTitle(void *arg)
+{
+   glutSetWindowTitle(arg);
+}
+
+/********************************************
+ *	glutShowOverlay (glut32.@)
+ */
+extern void glutShowOverlay(void);
+void WINAPI wine_glutShowOverlay(void)
+{
+   glutShowOverlay();
+}
+
+/********************************************
+ *	glutShowWindow (glut32.@)
+ */
+extern void glutShowWindow(void);
+void WINAPI wine_glutShowWindow(void)
+{
+   glutShowWindow();
+}
+
+/*********************************************
+ * glutSolidCone (glut.dll)
+ */
+extern void glutSolidCone(double arg1, double arg2, int arg3, int arg4);
+void WINAPI wine_glutSolidCone(double arg1, double arg2, int arg3, int arg4)
+{
+   glutSolidCone(arg1, arg2, arg3, arg4);
+}
+
+/**********************************************
+ *	glutSolidCube (glut32.@)
+ */
+extern void glutSolidCube(double arg);
+void WINAPI wine_glutSolidCube(double arg)
+{
+   glutSolidCube(arg);
+}
+
+/**********************************************
+ *	glutSolidDodecahedron (glut32.@)
+ */
+extern void glutSolidDodecahedron(void);
+void WINAPI wine_glutSolidDodecahedron(void)
+{
+   glutSolidDodecahedron();
+}
+
+/**********************************************
+ *      glutSolidIcosahedron (glut32.@)
+ */
+extern void glutSolidIcosahedron(void);
+void WINAPI wine_glutSolidIcosahedron(void)
+{
+   glutSolidIcosahedron();
+}
+
+/**********************************************
+ *      glutSolidOctahedron (glut32.@)
+ */
+extern void glutSolidOctahedron(void);
+void WINAPI wine_glutSolidOctahedron(void)
+{
+   glutSolidOctahedron();
+}
+
+/**********************************************
+ *	glutSolidSphere (glut32.@)
+ */
+extern void glutSolidSphere(double arg1, int arg2, int arg3);
+void WINAPI wine_glutSolidSphere(double arg1, int arg2, int arg3)
+{
+   glutSolidSphere(arg1, arg2, arg3);
+}
+
+/**********************************************
+ *      glutSolidTeapot (glut32.@)
+ */
+extern void glutSolidTeapot(double arg);
+void WINAPI wine_glutSolidTeapot(double arg)
+{
+   glutSolidTeapot(arg);
+}
+
+/**********************************************
+ *      glutSolidTetrahedron (glut32.@)
+ */
+extern void glutSolidTetrahedron(void);
+void WINAPI wine_glutSolidTetrahedron(void)
+{
+   glutSolidTetrahedron();
+}
+
+/**********************************************
+ *      glutSolidTetrahedron (glut32.@)
+ */
+extern void glutSolidTorus(double arg1, double arg2,int arg3, int arg4);
+void WINAPI wine_glutSolidTorus(double arg1, double arg2,int arg3, int arg4)
+{
+   glutSolidTorus(arg1, arg2, arg3, arg4);
+}
+
+/**********************************************
+ *      glutSpaceballButtonFunc (glut32.@)
+ */
+extern void glutSpaceballButtonFunc(void *arg);
+void WINAPI wine_glutSpaceballButtonFunc(void *arg)
+{
+   glutSpaceballButtonFunc(arg);
+}
+
+/**********************************************
+ *      glutSpaceballMotionFunc (glut32.@)
+ */
+extern void glutSpaceballMotionFunc(void *arg);
+void WINAPI wine_glutSpaceballMotionFunc(void *arg)
+{
+   glutSpaceballMotionFunc(arg);
+}
+
+/**********************************************
+ *      glutSpaceballRotateFunc (glut32.@)
+ */
+extern void glutSpaceballRotateFunc(void *arg);
+void WINAPI wine_glutSpaceballRotateFunc(void *arg)
+{
+   glutSpaceballRotateFunc(arg);
+}
+
+/**********************************************
+ *	glutSpecialFunc (glut32.@)
+ */
+extern void glutSpecialFunc(void *arg);
+void WINAPI wine_glutSpecialFunc(void *arg)
+{
+   glutSpecialFunc(arg);
+}
+
+/**********************************************
+ *      glutSpecialUpFunc (glut32.@)
+ */
+extern void glutSpecialUpFunc(void *arg);
+void WINAPI wine_glutSpecialUpFunc(void *arg)
+{
+   glutSpecialUpFunc(arg);
+}
+
+/**********************************************
+ *      glutStopVideoResizing (glut32.@)
+ */
+extern void glutStopVideoResizing(void);
+void WINAPI wine_glutStopVideoResizing(void)
+{
+   glutStopVideoResizing();
+}
+
+/**********************************************
+ *      glutStrokeCharacter (glut32.@)
+ */
+extern void glutStrokeCharacter(void *arg1, int arg2);
+void WINAPI wine_glutStrokeCharacter(void *arg1, int arg2)
+{
+   glutStrokeCharacter(arg1, arg2);
+}
+
+/**************************************************
+ *	glutSwapBuffers (glut32.@)
+ */
+extern void glutSwapBuffers(void);
+void WINAPI wine_glutSwapBuffers(void)
+{
+   glutSwapBuffers();
+}
+
+/**********************************************
+ *      glutTabletButtonFunc (glut32.@)
+ */
+extern void glutTabletButtonFunc(void *arg);
+void WINAPI wine_glutTabletButtonFunc(void *arg)
+{
+   glutTabletButtonFunc(arg);
+}
+
+/**********************************************
+ *      glutTabletMotionFunc (glut32.@)
+ */
+extern void glutTabletMotionFunc(void *arg);
+void WINAPI wine_glutTabletMotionFunc(void *arg)
+{
+   glutTabletMotionFunc(arg);
+}
+
+/**********************************************
+ *      glutTimerFunc (glut32.@)
+ */
+extern void glutTimerFunc(int arg1, void *arg2, int arg3);
+void WINAPI wine_glutTimerFunc(int arg1, void *arg2, int arg3)
+{
+   glutTimerFunc(arg1, arg2, arg3);
+}
+
+/**********************************************
+ *      glutUseLayer (glut32.@)
+ */
+extern void glutUseLayer(int arg);
+void WINAPI wine_glutUseLayer(int arg)
+{
+   glutUseLayer(arg);
+}
+
+/**********************************************
+ *      glutVideoPan (glut32.@)
+ */
+extern void glutVideoPan(int arg1, int arg2, int arg3, int arg4);
+void WINAPI wine_glutVideoPan(int arg1, int arg2, int arg3, int arg4)
+{
+   glutVideoPan(arg1, arg2, arg3, arg4);
+}
+
+/**********************************************
+ *      glutVideoResize (glut32.@)
+ */
+extern void glutVideoResize(int arg1, int arg2, int arg3, int arg4);
+void WINAPI wine_glutVideoResize(int arg1, int arg2, int arg3, int arg4)
+{
+   glutVideoResize(arg1, arg2, arg3, arg4);
+}
+
+/**********************************************
+ *      glutVisibilityFunc (glut32.@)
+ */
+extern void glutVisibilityFunc(void *arg);
+void WINAPI wine_glutVisibilityFunc(void *arg)
+{
+   glutVisibilityFunc(arg);
+}
+
+/**********************************************
+ *      glutWarpPointer (glut32.@)
+ */
+extern void glutWarpPointer(int arg1, int arg2);
+void WINAPI wine_glutWarpPointer(int arg1, int arg2)
+{
+   glutWarpPointer(arg1, arg2);
+}
+
+/**********************************************
+ *      glutWindowStatusFunc (glut32.@)
+ */
+extern void glutWindowStatusFunc(void *arg);
+void WINAPI wine_glutWindowStatusFunc(void *arg)
+{
+   glutWindowStatusFunc(arg);
+}
+
+/**********************************************
+ *	glutWireCone (glut32.@)
+ */
+extern void glutWireCone(double arg1, double arg2, int arg3, int arg4);
+void WINAPI wine_glutWireCone(double arg1, double arg2, int arg3,int arg4)
+{
+   glutWireCone(arg1, arg2, arg3, arg4);
+}
+
+/**********************************************
+ *      glutWireCube (glut32.@)
+ */
+extern void glutWireCube(double arg);
+void WINAPI wine_glutWireCube(double arg)
+{
+   glutWireCube(arg);
+}
+
+/**********************************************
+ *      glutWireDodecahedron (glut32.@)
+ */
+extern void glutWireDodecahedron(void);
+void WINAPI wine_glutWireDodecahedron(void)
+{
+   glutWireDodecahedron();
+}
+
+/**********************************************
+ *      glutWireIcosahedron (glut32.@)
+ */
+extern void glutWireIcosahedron(void);
+void WINAPI wine_glutWireIcosahedron(void)
+{
+   glutWireIcosahedron();
+}
+
+/**********************************************
+ *      glutWireOctahedron (glut32.@)
+ */
+extern void glutWireOctahedron(void);
+void WINAPI wine_glutWireOctahedron(void)
+{
+   glutWireOctahedron();
+}
+
+/**********************************************
+ *      glutWireSphere (glut32.@)
+ */
+extern void glutWireSphere(double arg1, int arg2, int arg3);
+void WINAPI wine_glutWireSphere(double arg1, int arg2, int arg3)
+{
+   glutWireSphere(arg1, arg2, arg3);
+}
+
+/**********************************************
+ *      glutWireTeapot (glut32.@)
+ */
+extern void glutWireTeapot(double arg);
+void WINAPI wine_glutWireTeapot(double arg)
+{
+   glutWireTeapot(arg);
+}
+
+/**********************************************
+ *     glutWireTetrahedron (glut32.@)
+ */
+extern void glutWireTetrahedron(void);
+void WINAPI wine_glutWireTetrahedron(void)
+{
+   glutWireTetrahedron();
+}
+
+/***********************************************
+ *	glutWireTorus (glut32.@)
+ */
+extern void glutWireTorus(double arg1, double arg2, int arg3, int arg4);
+void WINAPI wine_glutWireTorus(double arg1, double arg2, int arg3, int arg4)
+{
+   glutWireTorus(arg1, arg2, arg3, arg4);
+}
diff --git a/dlls/glut32/glut32.spec b/dlls/glut32/glut32.spec
new file mode 100644
index 0000000..91b28eb
--- /dev/null
+++ b/dlls/glut32/glut32.spec
@@ -0,0 +1,117 @@
+@ stdcall glutAddMenuEntry(ptr long) wine_glutAddMenuEntry
+@ stdcall glutAddSubMenu(ptr long) wine_glutAddSubMenu
+@ stdcall glutAttachMenu(long) wine_glutAttachMenu
+@ stdcall glutBitmapCharacter(ptr long) wine_glutBitmapCharacter
+@ stdcall glutBitmapLength(ptr ptr) wine_glutBitmapLength
+@ stdcall glutBitmapWidth(ptr long) wine_glutBitmapWidth
+@ stdcall glutButtonBoxFunc(ptr) wine_glutButtonBoxFunc
+@ stdcall glutChangeToMenuEntry(long ptr long) wine_glutChangeToMenuEntry
+@ stdcall glutChangeToSubMenu(long ptr long) wine_glutChangeToSubMenu
+@ stdcall glutCopyColormap(long) wine_glutCopyColormap
+@ stdcall glutCreateMenu(ptr) wine_glutCreateMenu
+@ stdcall __glutCreateMenuWithExit(ptr ptr) wine___glutCreateMenuWithExit
+@ stdcall glutCreateSubWindow(long long long long long) wine_glutCreateSubWindow
+@ stdcall glutCreateWindow(ptr) wine_glutCreateWindow
+@ stdcall __glutCreateWindowWithExit(ptr ptr) wine___glutCreateWindowWithExit
+@ stdcall glutDestroyMenu(long) wine_glutDestroyMenu
+@ stdcall glutDestroyWindow(long) wine_glutDestroyWindow
+@ stdcall glutDetachMenu(long) wine_glutDetachMenu
+@ stdcall glutDeviceGet(long) wine_glutDeviceGet
+@ stdcall glutDialsFunc(ptr) wine_glutDialsFunc
+@ stdcall glutDisplayFunc(ptr) wine_glutDisplayFunc
+@ stdcall glutEnterGameMode() wine_glutEnterGameMode
+@ stdcall glutEntryFunc(ptr) wine_glutEntryFunc
+@ stdcall glutEstablishOverlay() wine_glutEstablishOverlay
+@ stdcall glutExtensionSupported(ptr) wine_glutExtensionSupported
+@ stdcall glutForceJoystickFunc() wine_glutForceJoystickFunc
+@ stdcall glutFullScreen() wine_glutFullScreen
+@ stdcall glutGameModeGet(long) wine_glutGameModeGet
+@ stdcall glutGameModeString(ptr) wine_glutGameModeString
+@ stdcall glutGetColor(long long) wine_glutGetColor
+@ stdcall glutGet(long) wine_glutGet
+@ stdcall glutGetMenu() wine_glutGetMenu
+@ stdcall glutGetModifiers() wine_glutGetModifiers
+@ stdcall glutGetWindow() wine_glutGetWindow
+@ stdcall glutHideOverlay() wine_glutHideOverlay
+@ stdcall glutHideWindow() wine_glutHideWindow
+@ stdcall glutIconifyWindow() wine_glutIconifyWindow
+@ stdcall glutIdleFunc(ptr) wine_glutIdleFunc
+@ stdcall glutIgnoreKeyRepeat(long) wine_glutIgnoreKeyRepeat
+@ stdcall glutInitDisplayMode(long) wine_glutInitDisplayMode
+@ stdcall glutInitDisplayString(ptr) wine_glutInitDisplayString
+@ stdcall glutInit(ptr ptr) wine_glutInit
+@ stdcall glutInitWindowPosition(long long) wine_glutInitWindowPosition
+@ stdcall glutInitWindowSize(long long) wine_glutInitWindowSize
+@ stdcall __glutInitWithExit(ptr ptr ptr) wine___glutInitWithExit
+@ stdcall glutJoystickFunc(ptr long) wine_glutJoystickFunc
+@ stdcall glutKeyboardFunc(ptr) wine_glutKeyboardFunc
+@ stdcall glutKeyboardUpFunc(ptr) wine_glutKeyboardUpFunc
+@ stdcall glutLayerGet(long) wine_glutLayerGet
+@ stdcall glutLeaveGameMode() wine_glutLeaveGameMode
+@ stdcall glutMainLoop() wine_glutMainLoop
+@ stdcall glutMenuStateFunc(ptr) wine_glutMenuStateFunc
+@ stdcall glutMenuStatusFunc(ptr) wine_glutMenuStatusFunc
+@ stdcall glutMotionFunc(ptr) wine_glutMotionFunc
+@ stdcall glutMouseFunc(ptr) wine_glutMouseFunc
+@ stdcall glutOverlayDisplayFunc(ptr) wine_glutOverlayDisplayFunc
+@ stdcall glutPassiveMotionFunc(ptr) wine_glutPassiveMotionFunc
+@ stdcall glutPopWindow() wine_glutPopWindow
+@ stdcall glutPositionWindow(long long) wine_glutPositionWindow
+@ stdcall glutPostOverlayRedisplay() wine_glutPostOverlayRedisplay
+@ stdcall glutPostRedisplay() wine_glutPostRedisplay
+@ stdcall glutPostWindowOverlayRedisplay(long) wine_glutPostWindowOverlayRedisplay
+@ stdcall glutPostWindowRedisplay(long) wine_glutPostWindowRedisplay
+@ stdcall glutPushWindow() wine_glutPushWindow
+@ stdcall glutRemoveMenuItem(long) wine_glutRemoveMenuItem
+@ stdcall glutRemoveOverlay() wine_glutRemoveOverlay
+@ stdcall glutReportErrors() wine_glutReportErrors
+@ stdcall glutReshapeFunc(ptr) wine_glutReshapeFunc
+@ stdcall glutReshapeWindow(long long) wine_glutReshapeWindow
+@ stdcall glutSetColor(long long long) wine_glutSetColor
+@ stdcall glutSetCursor(long) wine_glutSetCursor
+@ stdcall glutSetIconTitle(ptr) wine_glutSetIconTitle
+@ stdcall glutSetKeyRepeat(long) wine_glutSetKeyRepeat
+@ stdcall glutSetMenu(long) wine_glutSetMenu
+@ stdcall glutSetupVideoResizing() wine_glutSetupVideoResizing
+@ stdcall glutSetWindow(long) wine_glutSetWindow
+@ stdcall glutSetWindowTitle(ptr) wine_glutSetWindowTitle
+@ stdcall glutShowOverlay() wine_glutShowOverlay
+@ stdcall glutShowWindow() wine_glutShowWindow
+@ stdcall glutSolidCone(double double long long) wine_glutSolidCone
+@ stdcall glutSolidCube(double) wine_glutSolidCube
+@ stdcall glutSolidDodecahedron() wine_glutSolidDodecahedron
+@ stdcall glutSolidIcosahedron() wine_glutSolidIcosahedron
+@ stdcall glutSolidOctahedron() wine_glutSolidOctahedron
+@ stdcall glutSolidSphere(double long long) wine_glutSolidSphere
+@ stdcall glutSolidTeapot(double) wine_glutSolidTeapot
+@ stdcall glutSolidTetrahedron() wine_glutSolidTetrahedron
+@ stdcall glutSolidTorus(double double long long) wine_glutSolidTorus
+@ stdcall glutSpaceballButtonFunc(ptr) wine_glutSpaceballButtonFunc
+@ stdcall glutSpaceballMotionFunc(ptr) wine_glutSpaceballMotionFunc
+@ stdcall glutSpaceballRotateFunc(ptr) wine_glutSpaceballRotateFunc
+@ stdcall glutSpecialFunc(ptr) wine_glutSpecialFunc
+@ stdcall glutSpecialUpFunc(ptr) wine_glutSpecialUpFunc
+@ stdcall glutStopVideoResizing() wine_glutStopVideoResizing
+@ stdcall glutStrokeCharacter(ptr long) wine_glutStrokeCharacter
+@ stdcall glutStrokeLength(ptr ptr) wine_glutStrokeLength
+@ stdcall glutStrokeWidth(ptr long) wine_glutStrokeWidth
+@ stdcall glutSwapBuffers() wine_glutSwapBuffers
+@ stdcall glutTabletButtonFunc(ptr) wine_glutTabletButtonFunc
+@ stdcall glutTabletMotionFunc(ptr) wine_glutTabletMotionFunc
+@ stdcall glutTimerFunc(long ptr long) wine_glutTimerFunc
+@ stdcall glutUseLayer(long) wine_glutUseLayer
+@ stdcall glutVideoPan(long long long long) wine_glutVideoPan
+@ stdcall glutVideoResizeGet(long) wine_glutVideoResizeGet
+@ stdcall glutVideoResize(long long long long) wine_glutVideoResize
+@ stdcall glutVisibilityFunc(ptr) wine_glutVisibilityFunc
+@ stdcall glutWarpPointer(long long) wine_glutWarpPointer
+@ stdcall glutWindowStatusFunc(ptr) wine_glutWindowStatusFunc
+@ stdcall glutWireCone(double double long long) wine_glutWireCone
+@ stdcall glutWireCube(double) wine_glutWireCube
+@ stdcall glutWireDodecahedron() wine_glutWireDodecahedron
+@ stdcall glutWireIcosahedron() wine_glutWireIcosahedron
+@ stdcall glutWireOctahedron() wine_glutWireOctahedron
+@ stdcall glutWireSphere(double long long) wine_glutWireSphere
+@ stdcall glutWireTeapot(double) wine_glutWireTeapot
+@ stdcall glutWireTetrahedron() wine_glutWireTetrahedron
+@ stdcall glutWireTorus(double double long long) wine_glutWireTorus
diff --git a/dlls/make_dlls b/dlls/make_dlls
index 7a035f5..be6485f 100755
--- a/dlls/make_dlls
+++ b/dlls/make_dlls
@@ -33,6 +33,7 @@
 (
   "ddraw"    => "XFILES",
   "glu32"    => "GLU32FILES",
+  "glut32"   => "GLUT32FILES",
   "opengl32" => "OPENGLFILES",
   "d3d8"     => "OPENGLFILES",
   "d3d9"     => "OPENGLFILES",