示例#1
0
文件: mkdep.c 项目: hugh712/Jollen
/*
 * Record the use of a CONFIG_* word.
 */
void use_config(const char * name, int len)
{
	char *pc;
	int i;

	pc = path_array[paths-1].buffer + path_array[paths-1].len;
	memcpy(pc, "config/", 7);
	pc += 7;

	for (i = 0; i < len; i++) {
	    char c = name[i];
	    if (isupper(c)) c = tolower(c);
	    if (c == '_')   c = '/';
	    pc[i] = c;
	}
	pc[len] = '\0';

	if (is_defined_config(pc, len))
	    return;

	define_config(pc, len);

	do_depname();
	printf(" \\\n   $(wildcard %s.h)", path_array[paths-1].buffer);
}
示例#2
0
文件: mkdep.cpp 项目: demoHui/CCOW
/*
 * Handle an #include line.
 */
void handle_include(int32_t start, const char * name, int32_t len)
{
  struct path_struct *path;
  int32_t i;

  if (len >= 7 && !memcmp(name, "config/", 7))
    define_config(name+7, len-7-2);

  for (i = start, path = path_array+start; i < paths; ++i, ++path) {
    memcpy(path->buffer+path->len, name, len);
    path->buffer[path->len+len] = '\0';
    if (access(path->buffer, F_OK) == 0) {
      do_depname();

      addFoundDeps(depname,path->buffer);

      if((len>2)&&(name[len-2]=='.')&&(name[len-1]=='h')){
	/* This is a .h fie */
	/*	fprintf(stderr,"addPending for .h %s\n",path->buffer);*/
	addPendingDeps(path->buffer);
      }else if((len>4)&&(name[len-4]=='.')&&(name[len-3]=='h')&&
	       (name[len-2]=='p')&&(name[len-1]=='p')){
	/* This is a .hpp file */
	/*	fprintf(stderr,"addPending for .hpp %s\n",path->buffer);*/
	addPendingDeps(path->buffer);
      }else if((len>4)&&(name[len-4]=='.')&&(name[len-3]=='c')&&
	       (name[len-2]=='p')&&(name[len-1]=='p')){
	/* This is a .hpp file */
	/*	fprintf(stderr,"addPending for .hpp %s\n",path->buffer);*/
	addPendingDeps(path->buffer);
      }
      return;
    }
  }
}
示例#3
0
/*
 * Record the use of a CONFIG_* word.
 */
void use_config(const char * name, int len)
{
	char *pc;
	int i;
	char config_path[MAX_PATH_LENGTH]="$(wildcard ";

	pc = path_array[paths-1].buffer + path_array[paths-1].len;
	memcpy(pc, "config/", 7);
	pc += 7;

	for (i = 0; i < len; i++) {
	    char c = name[i];
	    if (isupper((int)c)) c = tolower((int)c);
	    if (c == '_')   c = '/';
	    pc[i] = c;
	}
	pc[len] = '\0';

	if (is_defined_config(pc, len))
	    return;

	define_config(pc, len);

	memcpy(config_path+11, path_array[paths-1].buffer, path_array[paths-1].len+len+7);
	memcpy(config_path+path_array[paths-1].len+len+18, ".h)\0", 4);
	
	add_local_include(config_path);
}
示例#4
0
文件: fixdep.c 项目: 513855417/linux
/*
 * Record the use of a CONFIG_* word.
 */
static void use_config(const char *m, int slen)
{
	unsigned int hash = strhash(m, slen);

	if (is_defined_config(m, slen, hash))
	    return;

	define_config(m, slen, hash);
	print_config(m, slen);
}
示例#5
0
/*
 * Record the use of a CONFIG_* word.
 */
void use_config(char *m, int slen)
{
	char s[PATH_MAX];
	char *p;

	if (is_defined_config(m, slen))
	    return;

	define_config(m, slen);

	memcpy(s, m, slen); s[slen] = 0;

	for (p = s; p < s + slen; p++) {
		if (*p == '_')
			*p = '/';
		else
			*p = tolower((int)*p);
	}
	printf("    $(wildcard include/config/%s.h) \\\n", s);
}
示例#6
0
/*
 * Record the use of a CONFIG_* word.
 */
static void use_config(const char *m, int slen)
{
	unsigned int hash = strhash(m, slen);
	int c, i;

	if (is_defined_config(m, slen, hash))
	    return;

	define_config(m, slen, hash);

	printf("    $(wildcard include/config/");
	for (i = 0; i < slen; i++) {
		c = m[i];
		if (c == '_')
			c = '/';
		else
			c = tolower(c);
		putchar(c);
	}
	printf(".h) \\\n");
}
示例#7
0
/*
 * Handle an #include line.
 */
void handle_include(int start, const char * name, int len)
{
	struct path_struct *path;
	int i;

	if (len == 14 && !memcmp(name, "linux/config.h", len))
		return;

	if (len >= 7 && !memcmp(name, "config/", 7))
		define_config(name+7, len-7-2);

	for (i = start, path = path_array+start; i < paths; ++i, ++path) {
		memcpy(path->buffer+path->len, name, len);
		path->buffer[path->len+len] = '\0';
		if (access(path->buffer, F_OK) == 0) {
			add_local_include(path->buffer);
			return;
		}
	}

}
示例#8
0
/*
 * Clear the set of configuration strings.
 */
void clear_config(void)
{
	len_config = 0;
	define_config("", 0);
}