int deps_restore (struct deps *deps, FILE *fd, const char *self) { unsigned int i, count; size_t num_to_read; size_t buf_size = 512; char *buf = xmalloc (buf_size); /* Number of dependences. */ if (fread (&count, 1, sizeof (count), fd) != sizeof (count)) return -1; /* The length of each dependence string, followed by the string. */ for (i = 0; i < count; i++) { /* Read in # bytes in string. */ if (fread (&num_to_read, 1, sizeof (size_t), fd) != sizeof (size_t)) return -1; if (buf_size < num_to_read + 1) { buf_size = num_to_read + 1 + 127; buf = xrealloc (buf, buf_size); } if (fread (buf, 1, num_to_read, fd) != num_to_read) return -1; buf[num_to_read] = '\0'; /* Generate makefile dependencies from .pch if -nopch-deps. */ if (self != NULL && strcmp (buf, self) != 0) deps_add_dep (deps, buf); } free (buf); return 0; }
void jcf_dependency_add_file (const char *filename, int system_p) { if (! dependencies) return; /* Just omit system files. */ if (system_p && ! system_files) return; deps_add_dep (dependencies, filename); }
void gfc_cpp_add_dep (const char *name, bool system) { if (!gfc_cpp_option.deps_skip_system || !system) deps_add_dep (cpp_get_deps (cpp_in), name); }