Index: t3lib/class.t3lib_cache.php
===================================================================
--- t3lib/class.t3lib_cache.php	(Revision 4475)
+++ t3lib/class.t3lib_cache.php	(Arbeitskopie)
@@ -32,7 +32,34 @@
  * @subpackage t3lib
  */
 class t3lib_cache {
+	/**
+	 * Initializes the functionality of the caching framework.
+	 * The global objects typo3CacheManager and typo3CacheFactory are created.
+	 *
+	 * @return	void
+	 * @author	Oliver Hader <oliver@typo3.org>
+	 */
+	public static function initialize() {
+			// TODO implement autoloading so that we only require stuff we really need
+		require_once(PATH_t3lib . 'cache/class.t3lib_cache_abstractbackend.php');
+		require_once(PATH_t3lib . 'cache/class.t3lib_cache_abstractcache.php');
+		require_once(PATH_t3lib . 'cache/class.t3lib_cache_exception.php');
+		require_once(PATH_t3lib . 'cache/class.t3lib_cache_factory.php');
+		require_once(PATH_t3lib . 'cache/class.t3lib_cache_manager.php');
+		require_once(PATH_t3lib . 'cache/class.t3lib_cache_variablecache.php');
 
+		require_once(PATH_t3lib . 'cache/exception/class.t3lib_cache_exception_classalreadyloaded.php');
+		require_once(PATH_t3lib . 'cache/exception/class.t3lib_cache_exception_duplicateidentifier.php');
+		require_once(PATH_t3lib . 'cache/exception/class.t3lib_cache_exception_invalidbackend.php');
+		require_once(PATH_t3lib . 'cache/exception/class.t3lib_cache_exception_invalidcache.php');
+		require_once(PATH_t3lib . 'cache/exception/class.t3lib_cache_exception_invaliddata.php');
+		require_once(PATH_t3lib . 'cache/exception/class.t3lib_cache_exception_nosuchcache.php');
+
+		$GLOBALS['typo3CacheManager'] = t3lib_div::makeInstance('t3lib_cache_Manager');
+		$cacheFactoryClass = t3lib_div::makeInstanceClassName('t3lib_cache_Factory');
+		$GLOBALS['typo3CacheFactory'] = new $cacheFactoryClass($GLOBALS['typo3CacheManager']);
+	}
+
 	/**
 	 * initializes the cache_pages cache
 	 *
Index: typo3/sysext/cms/tslib/index_ts.php
===================================================================
--- typo3/sysext/cms/tslib/index_ts.php	(Revision 4475)
+++ typo3/sysext/cms/tslib/index_ts.php	(Arbeitskopie)
@@ -157,26 +157,7 @@
 $TT->push('Initializing the Caching System','');
 		// TODO implement autoloading so that we only require stuff we really need
 	require_once(PATH_t3lib . 'class.t3lib_cache.php');
-
-	require_once(PATH_t3lib . 'cache/class.t3lib_cache_abstractbackend.php');
-	require_once(PATH_t3lib . 'cache/class.t3lib_cache_abstractcache.php');
-	require_once(PATH_t3lib . 'cache/class.t3lib_cache_exception.php');
-	require_once(PATH_t3lib . 'cache/class.t3lib_cache_factory.php');
-	require_once(PATH_t3lib . 'cache/class.t3lib_cache_manager.php');
-	require_once(PATH_t3lib . 'cache/class.t3lib_cache_variablecache.php');
-
-	require_once(PATH_t3lib . 'cache/exception/class.t3lib_cache_exception_classalreadyloaded.php');
-	require_once(PATH_t3lib . 'cache/exception/class.t3lib_cache_exception_duplicateidentifier.php');
-	require_once(PATH_t3lib . 'cache/exception/class.t3lib_cache_exception_invalidbackend.php');
-	require_once(PATH_t3lib . 'cache/exception/class.t3lib_cache_exception_invalidcache.php');
-	require_once(PATH_t3lib . 'cache/exception/class.t3lib_cache_exception_invaliddata.php');
-	require_once(PATH_t3lib . 'cache/exception/class.t3lib_cache_exception_nosuchcache.php');
-
-	$typo3CacheManager = t3lib_div::makeInstance('t3lib_cache_Manager');
-	$cacheFactoryClass = t3lib_div::makeInstanceClassName('t3lib_cache_Factory');
-	$typo3CacheFactory = new $cacheFactoryClass($typo3CacheManager);
-
-	unset($cacheFactoryClass);
+	t3lib_cache::initialize();
 $TT->pull();
 
 // ***********************************
Index: typo3/sysext/cms/tslib/class.tslib_eidtools.php
===================================================================
--- typo3/sysext/cms/tslib/class.tslib_eidtools.php	(Revision 4475)
+++ typo3/sysext/cms/tslib/class.tslib_eidtools.php	(Arbeitskopie)
@@ -109,6 +109,19 @@
 	}
 
 	/**
+	 * Initializes the caching framework and the handlers for cache_pages, cache_pagesection and cache_hash.
+	 *
+	 * @return	void
+	 */
+	public static function initCaches() {
+			// TODO implement autoloading so that we only require stuff we really need
+		require_once(PATH_t3lib . 'class.t3lib_cache.php');
+		t3lib_cache::initialize();
+
+		self::getTSFE()->initCaches();
+	}
+
+	/**
 	 * Initializes $GLOBALS['LANG'] for use in eID scripts.
 	 *
 	 * @param	string		$language	TYPO3 language code
