diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2011-05-24 00:06:26 -0700 | 
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2011-05-24 00:06:26 -0700 | 
| commit | b73077eb03f510a84b102fb97640e595a958403c (patch) | |
| tree | 8b639000418e2756bf6baece4e00e07d2534bccc /scripts/mod/sumversion.c | |
| parent | 28350e330cfab46b60a1dbf763b678d859f9f3d9 (diff) | |
| parent | 9d2e173644bb5c42ff1b280fbdda3f195a7cf1f7 (diff) | |
Merge branch 'next' into for-linus
Diffstat (limited to 'scripts/mod/sumversion.c')
| -rw-r--r-- | scripts/mod/sumversion.c | 19 | 
1 files changed, 17 insertions, 2 deletions
| diff --git a/scripts/mod/sumversion.c b/scripts/mod/sumversion.c index ecf9c7dc182..9dfcd6d988d 100644 --- a/scripts/mod/sumversion.c +++ b/scripts/mod/sumversion.c @@ -300,8 +300,8 @@ static int is_static_library(const char *objfile)  		return 0;  } -/* We have dir/file.o.  Open dir/.file.o.cmd, look for deps_ line to - * figure out source file. */ +/* We have dir/file.o.  Open dir/.file.o.cmd, look for source_ and deps_ line + * to figure out source files. */  static int parse_source_files(const char *objfile, struct md4_ctx *md)  {  	char *cmd, *file, *line, *dir; @@ -340,6 +340,21 @@ static int parse_source_files(const char *objfile, struct md4_ctx *md)  	*/  	while ((line = get_next_line(&pos, file, flen)) != NULL) {  		char* p = line; + +		if (strncmp(line, "source_", sizeof("source_")-1) == 0) { +			p = strrchr(line, ' '); +			if (!p) { +				warn("malformed line: %s\n", line); +				goto out_file; +			} +			p++; +			if (!parse_file(p, md)) { +				warn("could not open %s: %s\n", +				     p, strerror(errno)); +				goto out_file; +			} +			continue; +		}  		if (strncmp(line, "deps_", sizeof("deps_")-1) == 0) {  			check_files = 1;  			continue; | 
