mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-12-04 18:36:32 +00:00
* windres.c (usage): Add new --preprocessor-arg option.
(option_values): Add new OPTION_PREPROCESSOR_ARG enumerator. (option long_options): Add preprocessor-arg option. (main): Handle it. * doc/binutils.texi: Add documentation for --preprocessor-arg option. * NEWS: Add line about new --preprocessor-arg option for windres. * binutils-all/windres/windres.exp: Add '// cpparg <option>' command to rc file interpretation to specify addition pre-processor commands as script option. * binutils-all/windres/strtab3.rc: New. * binutils-all/windres/strtab3.rsd: New. * binutils-all/windres/README: Add note about cpparg script option. argument
This commit is contained in:
parent
dd948edaf7
commit
ec25acb399
@ -1,3 +1,13 @@
|
||||
2011-04-11 Kai Tietz
|
||||
|
||||
* windres.c (usage): Add new --preprocessor-arg option.
|
||||
(option_values): Add new OPTION_PREPROCESSOR_ARG enumerator.
|
||||
(option long_options): Add preprocessor-arg option.
|
||||
(main): Handle it.
|
||||
* doc/binutils.texi: Add documentation for --preprocessor-arg
|
||||
option.
|
||||
* NEWS: Add line about new --preprocessor-arg option for windres.
|
||||
|
||||
2011-04-08 John Marino <binutils@marino.st>
|
||||
|
||||
* arlex.l: Prevent redefinition of YY_NO_UNPUT.
|
||||
|
@ -1,7 +1,9 @@
|
||||
-*- text -*-
|
||||
|
||||
Changes in 2.21:
|
||||
* Add --preprocessor-arg option to windres to specify additional options
|
||||
passed to preprocessor.
|
||||
|
||||
Changes in 2.21:
|
||||
|
||||
* Add --interleave-width option to objcopy to allowing copying a range of
|
||||
bytes from the input to the output with the --interleave option.
|
||||
|
@ -11,7 +11,7 @@
|
||||
@copying
|
||||
@c man begin COPYRIGHT
|
||||
Copyright @copyright{} 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
|
||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
@ -3450,6 +3450,13 @@ preprocessor first. This option may be used to specify the preprocessor
|
||||
to use, including any leading arguments. The default preprocessor
|
||||
argument is @code{gcc -E -xc-header -DRC_INVOKED}.
|
||||
|
||||
@item --preprocessor-arg @var{option}
|
||||
When @command{windres} reads an @code{rc} file, it runs it through
|
||||
the C preprocessor first. This option may be used to specify additional
|
||||
text to be passed to preprocessor on its command line.
|
||||
This option can be used multiple times to add multiple options to the
|
||||
preprocessor command line.
|
||||
|
||||
@item -I @var{directory}
|
||||
@itemx --include-dir @var{directory}
|
||||
Specify an include directory to use when reading an @code{rc} file.
|
||||
|
@ -1,3 +1,13 @@
|
||||
011-04-11 Kai Tietz
|
||||
|
||||
* binutils-all/windres/windres.exp: Add '// cpparg <option>' command
|
||||
to rc file interpretation to specify addition pre-processor commands
|
||||
as script option.
|
||||
* binutils-all/windres/strtab3.rc: New.
|
||||
* binutils-all/windres/strtab3.rsd: New.
|
||||
* binutils-all/windres/README: Add note about cpparg script option.
|
||||
argument
|
||||
|
||||
2011-04-11 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* binutils-all/arm/simple.s: Fix assembly problems for COFF based
|
||||
|
@ -12,6 +12,7 @@ contains one command:
|
||||
|
||||
// parse-only
|
||||
// xfail *-*-*
|
||||
// cpparg <preprocessor options passed via --preprocessor-arg>
|
||||
|
||||
parse-only must preceed any xfail commands, and indicates that a
|
||||
comparison with the *.rsd file will not happen. xfail indicates when
|
||||
|
14
binutils/testsuite/binutils-all/windres/strtab3.rc
Normal file
14
binutils/testsuite/binutils-all/windres/strtab3.rc
Normal file
@ -0,0 +1,14 @@
|
||||
// cpparg -DTEST=1
|
||||
|
||||
#include "windows.h"
|
||||
|
||||
LANGUAGE 0, 0
|
||||
|
||||
STRINGTABLE MOVEABLE PURE DISCARDABLE
|
||||
BEGIN
|
||||
#ifdef TEST
|
||||
1 "hello, world"
|
||||
#else
|
||||
1 "fail"
|
||||
#endif
|
||||
END
|
8
binutils/testsuite/binutils-all/windres/strtab3.rsd
Normal file
8
binutils/testsuite/binutils-all/windres/strtab3.rsd
Normal file
@ -0,0 +1,8 @@
|
||||
0000 00000000 20000000 ffff0000 ffff0000 .... ...........
|
||||
0010 00000000 00000000 00000000 00000000 ................
|
||||
0020 38000000 20000000 ffff0600 ffff0100 8... ...........
|
||||
0030 00000000 30100000 00000000 00000000 ....0...........
|
||||
0040 00000c00 68006500 6c006c00 6f002c00 ....h.e.l.l.o.,.
|
||||
0050 20007700 6f007200 6c006400 00000000 .w.o.r.l.d.....
|
||||
0060 00000000 00000000 00000000 00000000 ................
|
||||
0070 00000000 00000000 ........
|
@ -56,6 +56,7 @@ foreach res $res_list {
|
||||
set sroot [file rootname $res]
|
||||
set broot [file tail $sroot]
|
||||
set done 0
|
||||
set cpp_opts ""
|
||||
|
||||
set rc [open $res]
|
||||
while { [gets $rc line] != -1 } {
|
||||
@ -66,10 +67,14 @@ foreach res $res_list {
|
||||
setup_xfail $sys
|
||||
continue
|
||||
}
|
||||
if [regexp "cpparg *(\[^ \]*)" $line junk cppopt] {
|
||||
set cpp_opts "--preprocessor-arg \"$cppopt\""
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
verbose "$wr -J rc -O res $res tmpdir/$broot.res" 1
|
||||
catch "exec $wr -J rc -O res $res tmpdir/$broot.res" err
|
||||
catch "exec $wr $cpp_opts -J rc -O res $res tmpdir/$broot.res" err
|
||||
|
||||
if ![string match "" $err] then {
|
||||
send_log "$err\n"
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* windres.c -- a program to manipulate Windows resources
|
||||
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008,
|
||||
2009 Free Software Foundation, Inc.
|
||||
2009, 2011 Free Software Foundation, Inc.
|
||||
Written by Ian Lance Taylor, Cygnus Support.
|
||||
Rewritten by Kai Tietz, Onevision.
|
||||
|
||||
@ -665,6 +665,7 @@ usage (FILE *stream, int status)
|
||||
-O --output-format=<format> Specify output format\n\
|
||||
-F --target=<target> Specify COFF target\n\
|
||||
--preprocessor=<program> Program to use to preprocess rc file\n\
|
||||
--preprocessor-arg=<arg> Additional preprocessor argument\n\
|
||||
-I --include-dir=<dir> Include directory when preprocessing rc file\n\
|
||||
-D --define <sym>[=<val>] Define SYM when preprocessing rc file\n\
|
||||
-U --undefine <sym> Undefine SYM when preprocessing rc file\n\
|
||||
@ -734,7 +735,8 @@ enum option_values
|
||||
OPTION_USE_TEMP_FILE,
|
||||
OPTION_NO_USE_TEMP_FILE,
|
||||
OPTION_YYDEBUG,
|
||||
OPTION_INCLUDE_DIR
|
||||
OPTION_INCLUDE_DIR,
|
||||
OPTION_PREPROCESSOR_ARG
|
||||
};
|
||||
|
||||
static const struct option long_options[] =
|
||||
@ -745,6 +747,7 @@ static const struct option long_options[] =
|
||||
{"output-format", required_argument, 0, 'O'},
|
||||
{"target", required_argument, 0, 'F'},
|
||||
{"preprocessor", required_argument, 0, OPTION_PREPROCESSOR},
|
||||
{"preprocessor-arg", required_argument, 0, OPTION_PREPROCESSOR_ARG},
|
||||
{"include-dir", required_argument, 0, OPTION_INCLUDE_DIR},
|
||||
{"define", required_argument, 0, 'D'},
|
||||
{"undefine", required_argument, 0, 'U'},
|
||||
@ -889,6 +892,24 @@ main (int argc, char **argv)
|
||||
preprocessor = optarg;
|
||||
break;
|
||||
|
||||
case OPTION_PREPROCESSOR_ARG:
|
||||
if (preprocargs == NULL)
|
||||
{
|
||||
quotedarg = quot (optarg);
|
||||
preprocargs = xstrdup (quotedarg);
|
||||
}
|
||||
else
|
||||
{
|
||||
char *n;
|
||||
|
||||
quotedarg = quot (optarg);
|
||||
n = xmalloc (strlen (preprocargs) + strlen (quotedarg) + 2);
|
||||
sprintf (n, "%s %s", preprocargs, quotedarg);
|
||||
free (preprocargs);
|
||||
preprocargs = n;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'D':
|
||||
case 'U':
|
||||
if (preprocargs == NULL)
|
||||
|
Loading…
Reference in New Issue
Block a user