Add -U for compatibility with wrc, rc, and cpp. Just pass the -U option down
to the preprocessor.
This commit is contained in:
parent
ff0c9faf3b
commit
29b058f1b4
@ -1,3 +1,9 @@
|
|||||||
|
2003-04-03 Dimitrie O. Paun <dpaun@rogers.com>
|
||||||
|
|
||||||
|
* windres.c: Add -U for compatibility with wrc, rc, and cpp.
|
||||||
|
(main): Just pass the -U option down to the preprocessor.
|
||||||
|
* doc/binutils.texi: Added -U to the list of options.
|
||||||
|
|
||||||
2003-04-01 Dimitrie O. Paun <dpaun@rogers.com>
|
2003-04-01 Dimitrie O. Paun <dpaun@rogers.com>
|
||||||
|
|
||||||
* windres.c (usage): Report -r option.
|
* windres.c (usage): Report -r option.
|
||||||
|
@ -2614,6 +2614,11 @@ files named in the @code{rc} file.
|
|||||||
Specify a @option{-D} option to pass to the preprocessor when reading an
|
Specify a @option{-D} option to pass to the preprocessor when reading an
|
||||||
@code{rc} file.
|
@code{rc} file.
|
||||||
|
|
||||||
|
@item -U @var{target}
|
||||||
|
@itemx --undefine @var{sym}
|
||||||
|
Specify a @option{-U} option to pass to the preprocessor when reading an
|
||||||
|
@code{rc} file.
|
||||||
|
|
||||||
@item -r
|
@item -r
|
||||||
Ignored for compatibility with rc.
|
Ignored for compatibility with rc.
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/* windres.c -- a program to manipulate Windows resources
|
/* windres.c -- a program to manipulate Windows resources
|
||||||
Copyright 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||||
|
Free Software Foundation, Inc.
|
||||||
Written by Ian Lance Taylor, Cygnus Support.
|
Written by Ian Lance Taylor, Cygnus Support.
|
||||||
|
|
||||||
This file is part of GNU Binutils.
|
This file is part of GNU Binutils.
|
||||||
@ -31,9 +32,7 @@
|
|||||||
* The rcl program, written by Gunther Ebert
|
* The rcl program, written by Gunther Ebert
|
||||||
<gunther.ebert@ixos-leipzig.de>.
|
<gunther.ebert@ixos-leipzig.de>.
|
||||||
|
|
||||||
* The res2coff program, written by Pedro A. Aranda <paag@tid.es>.
|
* The res2coff program, written by Pedro A. Aranda <paag@tid.es>. */
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "bfd.h"
|
#include "bfd.h"
|
||||||
#include "getopt.h"
|
#include "getopt.h"
|
||||||
@ -42,11 +41,10 @@
|
|||||||
#include "safe-ctype.h"
|
#include "safe-ctype.h"
|
||||||
#include "obstack.h"
|
#include "obstack.h"
|
||||||
#include "windres.h"
|
#include "windres.h"
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
/* used by resrc.c at least */
|
/* Used by resrc.c at least. */
|
||||||
|
|
||||||
int verbose = 0;
|
int verbose = 0;
|
||||||
|
|
||||||
@ -108,19 +106,18 @@ static struct include_dir *include_dirs;
|
|||||||
|
|
||||||
/* 150 isn't special; it's just an arbitrary non-ASCII char value. */
|
/* 150 isn't special; it's just an arbitrary non-ASCII char value. */
|
||||||
|
|
||||||
#define OPTION_DEFINE 150
|
#define OPTION_HELP 150
|
||||||
#define OPTION_HELP (OPTION_DEFINE + 1)
|
#define OPTION_INCLUDE_DIR (OPTION_HELP + 1)
|
||||||
#define OPTION_INCLUDE_DIR (OPTION_HELP + 1)
|
#define OPTION_LANGUAGE (OPTION_INCLUDE_DIR + 1)
|
||||||
#define OPTION_LANGUAGE (OPTION_INCLUDE_DIR + 1)
|
#define OPTION_PREPROCESSOR (OPTION_LANGUAGE + 1)
|
||||||
#define OPTION_PREPROCESSOR (OPTION_LANGUAGE + 1)
|
#define OPTION_USE_TEMP_FILE (OPTION_PREPROCESSOR + 1)
|
||||||
#define OPTION_USE_TEMP_FILE (OPTION_PREPROCESSOR + 1)
|
#define OPTION_NO_USE_TEMP_FILE (OPTION_USE_TEMP_FILE + 1)
|
||||||
#define OPTION_NO_USE_TEMP_FILE (OPTION_USE_TEMP_FILE + 1)
|
#define OPTION_VERSION (OPTION_NO_USE_TEMP_FILE + 1)
|
||||||
#define OPTION_VERSION (OPTION_NO_USE_TEMP_FILE + 1)
|
#define OPTION_YYDEBUG (OPTION_VERSION + 1)
|
||||||
#define OPTION_YYDEBUG (OPTION_VERSION + 1)
|
|
||||||
|
|
||||||
static const struct option long_options[] =
|
static const struct option long_options[] =
|
||||||
{
|
{
|
||||||
{"define", required_argument, 0, OPTION_DEFINE},
|
{"define", required_argument, 0, 'D'},
|
||||||
{"help", no_argument, 0, OPTION_HELP},
|
{"help", no_argument, 0, OPTION_HELP},
|
||||||
{"include-dir", required_argument, 0, OPTION_INCLUDE_DIR},
|
{"include-dir", required_argument, 0, OPTION_INCLUDE_DIR},
|
||||||
{"input-format", required_argument, 0, 'I'},
|
{"input-format", required_argument, 0, 'I'},
|
||||||
@ -128,6 +125,7 @@ static const struct option long_options[] =
|
|||||||
{"output-format", required_argument, 0, 'O'},
|
{"output-format", required_argument, 0, 'O'},
|
||||||
{"preprocessor", required_argument, 0, OPTION_PREPROCESSOR},
|
{"preprocessor", required_argument, 0, OPTION_PREPROCESSOR},
|
||||||
{"target", required_argument, 0, 'F'},
|
{"target", required_argument, 0, 'F'},
|
||||||
|
{"undefine", required_argument, 0, 'U'},
|
||||||
{"use-temp-file", no_argument, 0, OPTION_USE_TEMP_FILE},
|
{"use-temp-file", no_argument, 0, OPTION_USE_TEMP_FILE},
|
||||||
{"no-use-temp-file", no_argument, 0, OPTION_NO_USE_TEMP_FILE},
|
{"no-use-temp-file", no_argument, 0, OPTION_NO_USE_TEMP_FILE},
|
||||||
{"verbose", no_argument, 0, 'v'},
|
{"verbose", no_argument, 0, 'v'},
|
||||||
@ -710,6 +708,7 @@ usage (stream, status)
|
|||||||
--preprocessor=<program> Program to use to preprocess rc file\n\
|
--preprocessor=<program> Program to use to preprocess rc file\n\
|
||||||
--include-dir=<dir> Include directory when preprocessing rc file\n\
|
--include-dir=<dir> Include directory when preprocessing rc file\n\
|
||||||
-D --define <sym>[=<val>] Define SYM 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\
|
||||||
-v --verbose Verbose - tells you what it's doing\n\
|
-v --verbose Verbose - tells you what it's doing\n\
|
||||||
--language=<val> Set language when reading rc file\n\
|
--language=<val> Set language when reading rc file\n\
|
||||||
--use-temp-file Use a temporary file instead of popen to read\n\
|
--use-temp-file Use a temporary file instead of popen to read\n\
|
||||||
@ -816,7 +815,7 @@ main (argc, argv)
|
|||||||
language = 0x409; /* LANG_ENGLISH, SUBLANG_ENGLISH_US. */
|
language = 0x409; /* LANG_ENGLISH, SUBLANG_ENGLISH_US. */
|
||||||
use_temp_file = 0;
|
use_temp_file = 0;
|
||||||
|
|
||||||
while ((c = getopt_long (argc, argv, "i:o:I:O:F:D:rhHvV", long_options,
|
while ((c = getopt_long (argc, argv, "i:o:I:O:F:D:U:rhHvV", long_options,
|
||||||
(int *) 0)) != EOF)
|
(int *) 0)) != EOF)
|
||||||
{
|
{
|
||||||
switch (c)
|
switch (c)
|
||||||
@ -846,12 +845,12 @@ main (argc, argv)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'D':
|
case 'D':
|
||||||
case OPTION_DEFINE:
|
case 'U':
|
||||||
if (preprocargs == NULL)
|
if (preprocargs == NULL)
|
||||||
{
|
{
|
||||||
quotedarg = quot (optarg);
|
quotedarg = quot (optarg);
|
||||||
preprocargs = xmalloc (strlen (quotedarg) + 3);
|
preprocargs = xmalloc (strlen (quotedarg) + 3);
|
||||||
sprintf (preprocargs, "-D%s", quotedarg);
|
sprintf (preprocargs, "-%c%s", c, quotedarg);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -859,14 +858,14 @@ main (argc, argv)
|
|||||||
|
|
||||||
quotedarg = quot (optarg);
|
quotedarg = quot (optarg);
|
||||||
n = xmalloc (strlen (preprocargs) + strlen (quotedarg) + 4);
|
n = xmalloc (strlen (preprocargs) + strlen (quotedarg) + 4);
|
||||||
sprintf (n, "%s -D%s", preprocargs, quotedarg);
|
sprintf (n, "%s -%c%s", preprocargs, c, quotedarg);
|
||||||
free (preprocargs);
|
free (preprocargs);
|
||||||
preprocargs = n;
|
preprocargs = n;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'r':
|
case 'r':
|
||||||
/* Ignored for compatibility with rc */
|
/* Ignored for compatibility with rc. */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'v':
|
case 'v':
|
||||||
@ -972,7 +971,6 @@ main (argc, argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Read the input file. */
|
/* Read the input file. */
|
||||||
|
|
||||||
switch (input_format)
|
switch (input_format)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
@ -994,11 +992,9 @@ main (argc, argv)
|
|||||||
|
|
||||||
/* Sort the resources. This is required for COFF, convenient for
|
/* Sort the resources. This is required for COFF, convenient for
|
||||||
rc, and unimportant for res. */
|
rc, and unimportant for res. */
|
||||||
|
|
||||||
resources = sort_resources (resources);
|
resources = sort_resources (resources);
|
||||||
|
|
||||||
/* Write the output file. */
|
/* Write the output file. */
|
||||||
|
|
||||||
reswr_init ();
|
reswr_init ();
|
||||||
|
|
||||||
switch (output_format)
|
switch (output_format)
|
||||||
|
Loading…
Reference in New Issue
Block a user