X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=scripts%2Fbasic%2Ffixdep.c;h=8912c0f5460b502f4bb3568dea39f09af5b438d3;hb=f9d1c6ca2bb1bbfde4a95d9e55ab3b0126825295;hp=668a11a8b383ce4a35bd98daf5720ef0da9a2077;hpb=36ddf5bbdea7ba4582abc62f106f0f0e9f0b6b91;p=mv-sheeva.git diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c index 668a11a8b38..8912c0f5460 100644 --- a/scripts/basic/fixdep.c +++ b/scripts/basic/fixdep.c @@ -28,9 +28,11 @@ * the dependency on linux/autoconf.h by a dependency on every config * option which is mentioned in any of the listed prequisites. * - * To be exact, split-include populates a tree in include/config/, - * e.g. include/config/his/driver.h, which contains the #define/#undef - * for the CONFIG_HIS_DRIVER option. + * kconfig populates a tree in include/config/ with an empty file + * for each config symbol and when the configuration is updated + * the files representing changed config options are touched + * which then let make pick up the changes and the files that use + * the config symbols are rebuilt. * * So if the user changes his CONFIG_HIS_DRIVER option, only the objects * which depend on "include/linux/config/his/driver.h" will be rebuilt, @@ -245,6 +247,10 @@ void parse_config_file(char *map, size_t len) continue; found: + if (!memcmp(q - 7, "_MODULE", 7)) + q -= 7; + if( (q-p-7) < 0 ) + continue; use_config(p+7, q-p-7); } }