another reason to run makesrna needlessly every build is that the makesrna binary is newer then the generated files.

This commit is contained in:
2010-12-19 08:48:15 +00:00
parent 4476e4c75c
commit de1bb51b0a

View File

@@ -53,12 +53,14 @@
static int file_older(const char *file1, const char *file2)
{
struct stat st1, st2;
// printf("compare: %s %s\n", file1, file2);
if(stat(file1, &st1)) return 0;
if(stat(file2, &st2)) return 0;
return (st1.st_mtime < st2.st_mtime);
}
const char *makesrna_path= NULL;
static int replace_if_different(char *tmpfile, const char *dep_files[])
{
@@ -102,6 +104,10 @@ static int replace_if_different(char *tmpfile, const char *dep_files[])
REN_IF_DIFF;
}
if(file_older(orgfile, makesrna_path)) {
REN_IF_DIFF;
}
/* now check if any files we depend on are newer then any generated files */
if(dep_files) {
int pass;
@@ -2783,6 +2789,7 @@ int main(int argc, char **argv)
}
else {
printf("Running makesrna, program versions %s\n", RNA_VERSION_DATE);
makesrna_path= argv[0];
return_status= rna_preprocess(argv[1]);
}