* resrc.c: (read_rc_file): Add include path of user passed rc input file.
* windres.c: (windres_add_include_dir): New. (main): Use of windres_add_include_dir. * windres.h: (windres_add_include_dir): Add prototype.
This commit is contained in:
parent
9b201bb5e5
commit
c6998d15d5
@ -1,3 +1,11 @@
|
||||
2007-07-05 Kai Tietz <kai.tietz@onevision.com>
|
||||
|
||||
* resrc.c: (read_rc_file): Add include path of user passed rc
|
||||
input file.
|
||||
* windres.c: (windres_add_include_dir): New.
|
||||
(main): Use of windres_add_include_dir.
|
||||
* windres.h: (windres_add_include_dir): Add prototype.
|
||||
|
||||
2007-07-05 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* doc/binutils.texi (size): Document --common.
|
||||
|
@ -436,6 +436,35 @@ read_rc_file (const char *filename, const char *preprocessor,
|
||||
char *cmd;
|
||||
const char *fnquotes = (filename_need_quotes (filename) ? "\"" : "");
|
||||
|
||||
/* Setup the default resource import path taken from input file. */
|
||||
if (strchr (filename, '/') != NULL || strchr (filename, '\\') != NULL)
|
||||
{
|
||||
char *e, *c;
|
||||
|
||||
if (filename[0] == '/'
|
||||
|| filename[0] == '\\'
|
||||
|| filename[1] == ':')
|
||||
e = c = xstrdup (filename);
|
||||
else
|
||||
{
|
||||
e = c = xmalloc (strlen (filename) + 3);
|
||||
sprintf (c, "./%s", filename);
|
||||
}
|
||||
e += strlen (c);
|
||||
while (e > c && (e[-1] != '\\' && e[-1] != '/'))
|
||||
{
|
||||
--e;
|
||||
e[0] = 0;
|
||||
}
|
||||
/* Cut off trailing slash. */
|
||||
--e;
|
||||
e[0] = 0;
|
||||
while ((e = strchr (c, '\\')) != NULL)
|
||||
*e = '/';
|
||||
|
||||
windres_add_include_dir (e);
|
||||
}
|
||||
|
||||
istream_type = (use_temp_file) ? ISTREAM_FILE : ISTREAM_PIPE;
|
||||
|
||||
if (preprocargs == NULL)
|
||||
|
@ -760,6 +760,20 @@ static const struct option long_options[] =
|
||||
{0, no_argument, 0, 0}
|
||||
};
|
||||
|
||||
void
|
||||
windres_add_include_dir (const char *p)
|
||||
{
|
||||
struct include_dir *n, **pp;
|
||||
|
||||
n = xmalloc (sizeof *n);
|
||||
n->next = NULL;
|
||||
n->dir = (char * ) p;
|
||||
|
||||
for (pp = &include_dirs; *pp != NULL; pp = &(*pp)->next)
|
||||
;
|
||||
*pp = n;
|
||||
}
|
||||
|
||||
/* This keeps gcc happy when using -Wmissing-prototypes -Wstrict-prototypes. */
|
||||
int main (int, char **);
|
||||
|
||||
@ -926,17 +940,7 @@ main (int argc, char **argv)
|
||||
preprocargs = n;
|
||||
}
|
||||
|
||||
{
|
||||
struct include_dir *n, **pp;
|
||||
|
||||
n = (struct include_dir *) xmalloc (sizeof *n);
|
||||
n->next = NULL;
|
||||
n->dir = optarg;
|
||||
|
||||
for (pp = &include_dirs; *pp != NULL; pp = &(*pp)->next)
|
||||
;
|
||||
*pp = n;
|
||||
}
|
||||
windres_add_include_dir (optarg);
|
||||
|
||||
break;
|
||||
|
||||
|
@ -115,6 +115,7 @@ extern rc_ver_stringinfo *append_verval (rc_ver_stringinfo *, const unichar *, c
|
||||
extern rc_ver_varinfo *append_vertrans (rc_ver_varinfo *, rc_uint_type, rc_uint_type);
|
||||
|
||||
extern bfd *windres_open_as_binary (const char *, int);
|
||||
extern void windres_add_include_dir (const char *);
|
||||
|
||||
extern int wr_printcomment (FILE *, const char *, ...);
|
||||
extern int wr_print (FILE *, const char *, ...);
|
||||
|
Loading…
Reference in New Issue
Block a user