From: Andreas Gruenbacher When building external modules, MODVERDIR is relative to the external module instead of in the kernel source tree. Use the MODVERDIR environment variable instead of the hard-coded path in modpost. Signed-off-by: Andrew Morton --- 25-akpm/scripts/mod/sumversion.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff -puN scripts/mod/sumversion.c~replace-hard-coded-modverdir-in-modpost scripts/mod/sumversion.c --- 25/scripts/mod/sumversion.c~replace-hard-coded-modverdir-in-modpost Thu Sep 16 14:54:40 2004 +++ 25-akpm/scripts/mod/sumversion.c Thu Sep 16 14:54:40 2004 @@ -416,7 +416,8 @@ static int get_version(const char *modna struct md4_ctx md; char *sources, *end, *fname; const char *basename; - char filelist[sizeof(".tmp_versions/%s.mod") + strlen(modname)]; + char filelist[strlen(getenv("MODVERDIR")) + strlen("/") + + strlen(modname) - strlen(".o") + strlen(".mod") + 1 ]; /* Source files for module are in .tmp_versions/modname.mod, after the first line. */ @@ -424,9 +425,8 @@ static int get_version(const char *modna basename = strrchr(modname, '/') + 1; else basename = modname; - sprintf(filelist, ".tmp_versions/%s", basename); - /* Truncate .o, add .mod */ - strcpy(filelist + strlen(filelist)-2, ".mod"); + sprintf(filelist, "%s/%.*s.mod", getenv("MODVERDIR"), + (int) strlen(basename) - 2, basename); file = grab_file(filelist, &len); if (!file) { _