Example #1
0
/*
 * 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);
}
Example #2
0
/*
 * 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;
    }
  }
}
Example #3
0
/*
 * Handle an #include line.
 */
void handle_include(int start, const char * name, int len)
{
    struct path_struct *path;
    int i;

    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();
            printf(" \\\n   %s", path->buffer);
            return;
        }
    }

}
Example #4
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) {
			do_depname();
			printf(" \\\n   %s", path->buffer);
			return;
		}
	}

}