@@ -1540,13 +1540,13 @@ ProcessOneIdeInc(char *def) {
1540
1540
#define MAX_IDE_FILES 256
1541
1541
1542
1542
static Module *
1543
- ParseIdeFile (Module * P , const char * name , int * is_dup_ptr )
1543
+ ParseIdeFile (Module * P , const char * fpidename , int * is_dup_ptr )
1544
1544
{
1545
1545
FILE * F = NULL ;
1546
1546
const char * ide_files [MAX_IDE_FILES ] = { 0 };
1547
1547
int num_ide_files = 0 ;
1548
1548
1549
- if ( 0 != (F = OpenIdeFile (name )) ) {
1549
+ if ( 0 != (F = OpenIdeFile (fpidename )) ) {
1550
1550
char fileBuf [256 ] = {0 };
1551
1551
num_ide_files = 0 ;
1552
1552
while (fgets (fileBuf , sizeof (fileBuf )- 1 , F )) {
@@ -1582,10 +1582,15 @@ ParseIdeFile(Module *P, const char *name, int *is_dup_ptr)
1582
1582
// ignore, simple IDE includes header files in the .side file
1583
1583
} else {
1584
1584
if (num_ide_files == MAX_IDE_FILES ) {
1585
- ERROR (NULL , "too many files in project file %s" , name );
1585
+ ERROR (NULL , "too many files in project file %s" , fpidename );
1586
1586
} else {
1587
1587
// printf("File: [%s]\n", ptr);
1588
- ide_files [num_ide_files ++ ] = strdup (ptr );
1588
+ char * fullname = find_file_on_path (& gl_pp , ptr , NULL , fpidename );
1589
+ if (fullname )
1590
+ ptr = fullname ;
1591
+ else
1592
+ ptr = strdup (ptr );
1593
+ ide_files [num_ide_files ++ ] = fullname ;
1589
1594
}
1590
1595
}
1591
1596
}
@@ -1599,7 +1604,7 @@ ParseIdeFile(Module *P, const char *name, int *is_dup_ptr)
1599
1604
}
1600
1605
}
1601
1606
} else {
1602
- ERROR (NULL , "Unable to open file %s" , name );
1607
+ ERROR (NULL , "Unable to open file %s" , fpidename );
1603
1608
}
1604
1609
return P ;
1605
1610
}
0 commit comments