diff lib/swig/swigwin-2.0.11/CCache/debian/patches/01_no_home.diff @ 1899:b3009adc0e2f

Adding swig, gitignore, hgignore
author Nomad
date Mon, 21 Oct 2013 10:42:27 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/swig/swigwin-2.0.11/CCache/debian/patches/01_no_home.diff	Mon Oct 21 10:42:27 2013 +0200
@@ -0,0 +1,100 @@
+--- ccache.c
++++ ccache.c
+@@ -836,6 +836,13 @@
+ {
+ 	/* find the real compiler */
+ 	find_compiler(argc, argv);
++
++	/* use the real compiler if HOME is not set */
++	if (!cache_dir) {
++		cc_log("Unable to determine home directory\n");
++		cc_log("ccache is disabled\n");
++		failed();
++	}
+ 	
+ 	/* we might be disabled */
+ 	if (getenv("CCACHE_DISABLE")) {
+@@ -895,6 +902,13 @@
+ 	printf("-V                      print version number\n");
+ }
+ 
++static void check_cache_dir(void)
++{
++	if (!cache_dir) {
++		fatal("Unable to determine home directory");
++	}
++}
++
+ /* the main program when not doing a compile */
+ static int ccache_main(int argc, char *argv[])
+ {
+@@ -914,31 +928,37 @@
+ 			exit(0);
+ 			
+ 		case 's':
++			check_cache_dir();
+ 			stats_summary();
+ 			break;
+ 
+ 		case 'c':
++			check_cache_dir();
+ 			cleanup_all(cache_dir);
+ 			printf("Cleaned cache\n");
+ 			break;
+ 
+ 		case 'C':
++			check_cache_dir();
+ 			wipe_all(cache_dir);
+ 			printf("Cleared cache\n");
+ 			break;
+ 
+ 		case 'z':
++			check_cache_dir();
+ 			stats_zero();
+ 			printf("Statistics cleared\n");
+ 			break;
+ 
+ 		case 'F':
++			check_cache_dir();
+ 			v = atoi(optarg);
+ 			stats_set_limits(v, -1);
+ 			printf("Set cache file limit to %u\n", (unsigned)v);
+ 			break;
+ 
+ 		case 'M':
++			check_cache_dir();
+ 			v = value_units(optarg);
+ 			stats_set_limits(-1, v);
+ 			printf("Set cache size limit to %uk\n", (unsigned)v);
+@@ -983,7 +1003,10 @@
+ 
+ 	cache_dir = getenv("CCACHE_DIR");
+ 	if (!cache_dir) {
+-		x_asprintf(&cache_dir, "%s/.ccache", get_home_directory());
++		const char *home_directory = get_home_directory();
++		if (home_directory) {
++			x_asprintf(&cache_dir, "%s/.ccache", home_directory);
++		}
+ 	}
+ 
+ 	temp_dir = getenv("CCACHE_TEMPDIR");
+@@ -1023,7 +1046,7 @@
+ 	}
+ 
+ 	/* make sure the cache dir exists */
+-	if (create_dir(cache_dir) != 0) {
++	if (cache_dir && (create_dir(cache_dir) != 0)) {
+ 		fprintf(stderr,"ccache: failed to create %s (%s)\n", 
+ 			cache_dir, strerror(errno));
+ 		exit(1);
+--- util.c
++++ util.c
+@@ -448,7 +448,7 @@
+ 		}
+ 	}
+ #endif
+-	fatal("Unable to determine home directory");
++	cc_log("Unable to determine home directory");
+ 	return NULL;
+ }
+