Commit b8cca06b authored by Peter Korsgaard's avatar Peter Korsgaard
Browse files

cleanup/simplify kconfig changes for O= builds



No functional change.

Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent 39ca6d50
Loading
Loading
Loading
Loading
+20 −44
Original line number Diff line number Diff line
@@ -404,6 +404,9 @@ int conf_write(const char *name)
	int use_timestamp = 1;
	char *env;

	if (!name)
		name = conf_get_configname();

	dirname[0] = 0;
	if (name && name[0]) {
		struct stat st;
@@ -423,17 +426,8 @@ int conf_write(const char *name)
				basename = conf_get_configname();
		} else
			basename = name;
	} else {
		char *slash;

	} else
		basename = conf_get_configname();
		if((slash = strrchr(basename, '/'))) {
			int size = slash - basename + 1;
			memcpy(dirname, basename, size);
			dirname[size] = 0;
			basename = slash + 1;
		}
	}

	sprintf(newname, "%s%s", dirname, basename);
	env = getenv("KCONFIG_OVERWRITECONFIG");
@@ -697,51 +691,31 @@ int conf_write_autoconf(void)
	FILE *out, *out_h;
	time_t now;
	int i, l;
	char buf[PATH_MAX+1];
	char buf2[PATH_MAX+1];
	char dir[PATH_MAX+1], buf[PATH_MAX+1];
	char *s;

	sym_clear_all_valid();
	strcpy(dir, conf_get_configname());
	s = strrchr(dir, '/');
	if (s)
		s[1] = 0;
	else
		dir[0] = 0;

	name = conf_get_configname();
	str = strrchr(name, '/');
	sym_clear_all_valid();

	memset(buf, 0, PATH_MAX+1);
	if(str)
	{
		strncpy(buf, name, str - name + 1);
	}
	strcat(buf, ".config.cmd");
	sprintf(buf, "%s.config.cmd", dir);
	file_write_dep(buf);

	memset(buf, 0, PATH_MAX+1);
	if(str)
	{
		strncpy(buf, name, str - name + 1);
	}
	strcat(buf, ".auto.deps");
	write_make_deps(buf);

	if (conf_split_config())
		return 1;

	memset(buf, 0, PATH_MAX+1);
	if(str)
	{
		strncpy(buf, name, str - name + 1);
	}
	strcat(buf, ".tmpconfig");
	memset(buf2, 0, PATH_MAX+1);
	if(str)
	{
		strncpy(buf2, name, str - name + 1);
	}
	strcat(buf2, ".tmpconfig.h");

	sprintf(buf, "%s.tmpconfig", dir);
	out = fopen(buf, "w");
	if (!out)
		return 1;

	out_h = fopen(buf2, "w");
	sprintf(buf, "%s.tmpconfig.h", dir);
	out_h = fopen(buf, "w");
	if (!out_h) {
		fclose(out);
		return 1;
@@ -823,13 +797,15 @@ int conf_write_autoconf(void)
	name = getenv("KCONFIG_AUTOHEADER");
	if (!name)
		name = "include/linux/autoconf.h";
	if (rename(buf2, name))
	sprintf(buf, "%s.tmpconfig.h", dir);
	if (rename(buf, name))
		return 1;
	name = conf_get_autoconfig_name();
	/*
	 * This must be the last step, kbuild has a dependency on auto.conf
	 * and this marks the successful completion of the previous steps.
	 */
	sprintf(buf, "%s.tmpconfig", dir);
	if (rename(buf, name))
		return 1;

+0 −1
Original line number Diff line number Diff line
@@ -102,7 +102,6 @@ void menu_set_type(int type);
/* util.c */
struct file *file_lookup(const char *name);
int file_write_dep(const char *name);
int write_make_deps(const char *name);

struct gstr {
	size_t len;
+26 −21
Original line number Diff line number Diff line
@@ -51,25 +51,27 @@ static char* br2_symbol_printer(const char * const in)
}

/* write dependencies of the infividual config-symbols */
int write_make_deps(const char *name)
static int write_make_deps(const char *name)
{
	const char *str;
	char buf[PATH_MAX+1];
	char *str;
	char dir[PATH_MAX+1], buf[PATH_MAX+1], buf2[PATH_MAX+1];
	struct menu *menu;
	struct symbol *sym;
	struct property *prop, *p;
	unsigned done;
	const char * const name_tmp = "..make.deps.tmp";
	FILE *out;
	if (!name)
		name = ".auto.deps";

	str = strrchr(name, '/');
	memset(buf, 0, PATH_MAX+1);
	strcpy(dir, conf_get_configname());
	str = strrchr(dir, '/');
	if (str)
	{
		strncpy(buf, name, str - name + 1);
	}
	strcat(buf, "..make.deps.tmp");
		str[1] = 0;
	else
		dir[0] = 0;

	sprintf(buf, "%s%s", dir, name_tmp);
	out = fopen(buf, "w");
	if (!out)
		return 1;
@@ -129,7 +131,8 @@ next:
		}
	}
	fclose(out);
	rename(buf, name);
	sprintf(buf2, "%s%s", dir, name);
	rename(buf, buf2);
	printf(_("#\n"
		 "# make dependencies written to %s\n"
		 "# ATTENTION buildroot devels!\n"
@@ -141,8 +144,8 @@ next:
/* write a dependency file as used by kbuild to track dependencies */
int file_write_dep(const char *name)
{
	const char *str;
	char buf[PATH_MAX+1];
	char *str;
	char buf[PATH_MAX+1], buf2[PATH_MAX+1], dir[PATH_MAX+1];
	struct symbol *sym, *env_sym;
	struct expr *e;
	struct file *file;
@@ -151,14 +154,14 @@ int file_write_dep(const char *name)
	if (!name)
		name = ".kconfig.d";

	str = strrchr(name, '/');
	memset(buf, 0, PATH_MAX+1);
	strcpy(dir, conf_get_configname());
	str = strrchr(dir, '/');
	if (str)
	{
		strncpy(buf, name, str - name + 1);
	}
	strcat(buf, "..config.tmp");
		str[1] = 0;
	else
		dir[0] = 0;

	sprintf(buf, "%s..config.tmp", dir);
	out = fopen(buf, "w");
	if (!out)
		return 1;
@@ -190,7 +193,9 @@ int file_write_dep(const char *name)

	fprintf(out, "\n$(deps_config): ;\n");
	fclose(out);
	rename(buf, name);
	sprintf(buf2, "%s%s", dir, name);
	rename(buf, buf2);
	return write_make_deps(NULL);
}