diff --git a/config_office/configure.in b/config_office/configure.in
index e681d34..fe9abdb 100644
--- config_office/configure.in
+++ config_office/configure.in
@@ -216,6 +216,9 @@ AC_ARG_ENABLE(cairo,
 [  --enable-cairo          Determines whether to use Cairo canvas backend on
                           platforms where Cairo is available.
 ],,enable_cairo=no)
+AC_ARG_ENABLE(opengl,
+[  --enable-opengl         Determines whether to use OpenGL (for 3D transitions)
+],,enable_opengl=no)
 AC_ARG_ENABLE(dbus,
 [  --enable-dbus           Determines whether to enable presentation mode 
                           screensaver control under GNOME via DBUS 
@@ -5125,6 +5128,23 @@ AC_SUBST(CAIRO_CFLAGS)
 AC_SUBST(CAIRO_LIBS)
 
 dnl ===================================================================
+dnl Check whether the OpenGL libraries are available
+dnl ===================================================================
+
+ENABLE_OPENGL=
+SYSTEM_OPENGL=
+
+if test "x$enable_opengl" != "xno" ; then
+   AC_CHECK_HEADER(GL/gl.h, [],
+                   [AC_MSG_ERROR([OpenGL headers not found])], [])
+   ENABLE_OPENGL=TRUE
+   SYSTEM_OPENGL=YES
+fi
+
+AC_SUBST(ENABLE_OPENGL)
+AC_SUBST(SYSTEM_OPENGL)
+
+dnl ===================================================================
 dnl Check whether the Qt and KDE libraries are available.
 dnl ===================================================================
 
diff --git a/config_office/set_soenv.in b/config_office/set_soenv.in
index 4c3958c..4a0cc1b 100644
--- config_office/set_soenv.in
+++ config_office/set_soenv.in
@@ -1551,6 +1551,7 @@ ToFile( "GTK_LIBS",          "@GTK_LIBS@",         "e" );
 ToFile( "ENABLE_SYSTRAY_GTK", "@ENABLE_SYSTRAY_GTK@", "e" );
 ToFile( "ENABLE_STATIC_GTK", "@ENABLE_STATIC_GTK@", "e" );
 ToFile( "ENABLE_CAIRO",      "@ENABLE_CAIRO@",     "e" );
+ToFile( "ENABLE_OPENGL",     "@ENABLE_OPENGL@",    "e" );
 ToFile( "ENABLE_DBUS",       "@ENABLE_DBUS@",      "e" );
 ToFile( "ENABLE_GSTREAMER",  "@ENABLE_GSTREAMER@", "e" );
 ToFile( "ENABLE_GNOMEVFS",   "@ENABLE_GNOMEVFS@",  "e" );
@@ -1834,6 +1835,7 @@ ToFile( "FREETYPE_LIBS",     "@FREETYPE_LIBS@",    "e" );
 ToFile( "SYSTEM_CAIRO",      "@SYSTEM_CAIRO@",     "e" );
 ToFile( "CAIRO_CFLAGS",      "@CAIRO_CFLAGS@",     "e" );
 ToFile( "CAIRO_LIBS",        "@CAIRO_LIBS@",       "e" );
+ToFile( "SYSTEM_OPENGL",     "@SYSTEM_OPENGL@",    "e" );
 ToFile( "SYSTEM_LIBWPD",     "@SYSTEM_LIBWPD@",    "e" );
 ToFile( "LIBWPD_CFLAGS",     "@LIBWPD_CFLAGS@",    "e" );
 ToFile( "LIBWPD_LIBS",       "@LIBWPD_LIBS@",      "e" );
diff --git a/scp2/source/impress/file_impress.scp b/scp2/source/impress/file_impress.scp
index 925fd5e..70d8564 100644
--- scp2/source/impress/file_impress.scp
+++ scp2/source/impress/file_impress.scp
@@ -59,6 +59,20 @@ File gid_File_Exe_Simpress
     Styles = (PACKED, PATCH);
 End
 
+#if defined ENABLE_OPENGL
+File gid_File_Lib_OpenGLTransitions
+    TXT_FILE_BODY;
+    Styles = (PACKED,UNO_COMPONENT);
+    RegistryID = gid_Starregistry_Services_Rdb;
+    Dir = gid_Dir_Program;
+  #ifdef UNX
+    Name = STRING(CONCAT2(OGLTrans.uno,UNXSUFFIX));
+  #else
+    Name = "OGLTrans.uno.dll";
+  #endif
+End
+#endif
+
 #if defined UNX && ! defined MACOSX
 
 File gid_File_Xdg_Impress
diff --git a/scp2/source/impress/makefile.mk b/scp2/source/impress/makefile.mk
index 358ce8e..fa9cdd6 100644
--- scp2/source/impress/makefile.mk
+++ scp2/source/impress/makefile.mk
@@ -47,6 +47,10 @@ TARGETTYPE=CUI
 
 SCP_PRODUCT_TYPE=osl
 
+.IF "$(ENABLE_OPENGL)" == "TRUE"
+SCPDEFS+=-DENABLE_OPENGL
+.ENDIF
+
 PARFILES= \
         module_impress.par              \
         help_impress.par                \
diff --git a/scp2/source/ooo/makefile.mk b/scp2/source/ooo/makefile.mk
index 9bebacd..95490b4 100644
--- scp2/source/ooo/makefile.mk
+++ scp2/source/ooo/makefile.mk
@@ -289,4 +289,4 @@ ULFFILES=                          \
 $(ICUVERSION_DEPENDENT_FILES) : $(SOLARINCDIR)$/icuversion.mk
 .ENDIF
 
-$(ISOLANGVERSION_DEPENDENT_FILES) : $(SOLARINCDIR)$/i18npool/version.mk
\ No newline at end of file
+$(ISOLANGVERSION_DEPENDENT_FILES) : $(SOLARINCDIR)$/i18npool/version.mk
diff --git a/slideshow/source/engine/OGLTrans/makefile.mk b/slideshow/source/engine/OGLTrans/makefile.mk
index 44de526..73f41cd 100644
--- slideshow/source/engine/OGLTrans/makefile.mk
+++ slideshow/source/engine/OGLTrans/makefile.mk
@@ -63,6 +63,7 @@ SLOFILES = \
         $(SLO)$/OGLTrans_TransitionImpl.obj \
         $(SLO)$/OGLTrans_TransitionerImpl.obj
         
+DLLPRE=
 SHL1TARGET=$(TARGET).uno
 
 SHL1STDLIBS= $(SALLIB) $(VCLLIB) $(CPPULIB) $(CPPUHELPERLIB) $(COMPHELPERLIB) $(CANVASTOOLSLIB) -lGL -lGLU -lX11
