Index: modules/system/system.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.module,v
retrieving revision 1.420
diff -u -p -r1.420 system.module
--- modules/system/system.module	10 Dec 2006 09:54:34 -0000	1.420
+++ modules/system/system.module	10 Dec 2006 20:33:56 -0000
@@ -683,9 +683,10 @@ function system_performance_settings() {
     '#title' => t('Bandwidth optimizations'),
     '#description' => t('These options can help reduce both the size and number of requests made to your website. This can reduce the server load, the bandwidth used, and the average page loading time for your visitors.')
   );

   $directory = file_directory_path();
-  $is_writable = is_dir($directory) && is_writable($directory) && (variable_get('file_downloads', FILE_DOWNLOADS_PUBLIC) == FILE_DOWNLOADS_PUBLIC);  
+  // Check system requirements for CSS preprocessor.
+  $is_writable = is_dir($directory) && is_writable($directory) && (variable_get('file_downloads', FILE_DOWNLOADS_PUBLIC) == FILE_DOWNLOADS_PUBLIC); 
   $form['bandwidth_optimizations']['preprocess_css'] = array(
     '#type' => 'radios',
     '#title' => t('Aggregate and compress CSS files'),
@@ -694,6 +695,10 @@ function system_performance_settings() {
     '#options' => array(t('Disabled'), t('Enabled')),
     '#description' => t("Some Drupal modules include their own CSS files. When these modules are enabled, each module's CSS file adds an additional HTTP request to the page, which can increase the load time of each page. These HTTP requests can also slightly increase server load. It is recommended to only turn this option on when your site is in production, as it can interfere with theme development. This option is disabled if you have not set up your files directory, or if your download method is set to private."),
   );
+  if (!$is_writable) {
+    // Explain why CSS preprocessing is disabled.
+    $form['bandwidth_optimizations']['#description'] .= '<p>' . t('<strong class="error">This feature requires write access to the files directory and public downloads. These settings may be changed on the !admin-file-system settings page.</strong>', array('!admin-file-system' => l(t('File system'), 'admin/settings/file-system'))) . '</p>';
+  }
 
   $form['#submit']['system_settings_form_submit'] = array();
   $form['#submit']['drupal_clear_css_cache'] = array();
