summaryrefslogtreecommitdiff
path: root/ccache.csh.in
diff options
context:
space:
mode:
Diffstat (limited to 'ccache.csh.in')
-rw-r--r--ccache.csh.in26
1 files changed, 26 insertions, 0 deletions
diff --git a/ccache.csh.in b/ccache.csh.in
new file mode 100644
index 0000000..4edbb51
--- /dev/null
+++ b/ccache.csh.in
@@ -0,0 +1,26 @@
+# Use ccache by default. Users who don't want that can setenv the
+# CCACHE_DISABLE environment variable in their personal profile.
+
+if ( "$path" !~ *@LIBDIR@/ccache* ) then
+ set path = ( @LIBDIR@/ccache $path )
+endif
+
+# If @CACHEDIR@ is writable, use a shared cache there, except for root.
+# Users who don't want that even if they have the write permission can setenv
+# the CCACHE_DIR environment variable to another location and possibly unsetenv
+# the CCACHE_UMASK environment variable in their personal profile.
+
+if ( $?CCACHE_DIR ) then
+ if ( ! -w "$CCACHE_DIR" ) then
+ # Reset broken settings maybe inherited when switching users (#651023).
+ unsetenv CCACHE_DIR
+ unsetenv CCACHE_UMASK
+ endif
+else if ( $uid != 0 ) then
+ if ( -w @CACHEDIR@ && -d @CACHEDIR@ ) then
+ # Set up the shared cache.
+ setenv CCACHE_DIR @CACHEDIR@
+ setenv CCACHE_UMASK 002
+ unsetenv CCACHE_HARDLINK
+ endif
+endif