This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [RFC] windres' -I option
On Thu, Mar 20, 2003 at 09:40:55AM -0500, Dimitrie O. Paun wrote:
>On March 20, 2003 03:51 am, Nick Clifton wrote:
>[Chris, I didn't receive your message, please Cc: me as I'm not
> on the binutil list...]
Um... Why? Asking people to cc is going to be error prone.
>ChangeLog
> Rename the -I option to -J. Introduce -I as synonym for --include-dir.
I meant to mention that this is not a valid ChangeLog. Take a look
at the entries in the binutils ChangeLog and you'll see that this isn't
even close to the correct format.
Nick, am I correct in assuming that this is now large enough and complex
enough to require an FSF assignment? Sigh.
cgf
>Index: binutils/windres.c
>===================================================================
>RCS file: /cvs/src/src/binutils/windres.c,v
>retrieving revision 1.13
>diff -u -r1.13 windres.c
>--- binutils/windres.c 5 May 2002 23:25:27 -0000 1.13
>+++ binutils/windres.c 17 Mar 2003 07:14:16 -0000
>@@ -110,8 +110,7 @@
>
> #define OPTION_DEFINE 150
> #define OPTION_HELP (OPTION_DEFINE + 1)
>-#define OPTION_INCLUDE_DIR (OPTION_HELP + 1)
>-#define OPTION_LANGUAGE (OPTION_INCLUDE_DIR + 1)
>+#define OPTION_LANGUAGE (OPTION_HELP + 1)
> #define OPTION_PREPROCESSOR (OPTION_LANGUAGE + 1)
> #define OPTION_USE_TEMP_FILE (OPTION_PREPROCESSOR + 1)
> #define OPTION_NO_USE_TEMP_FILE (OPTION_USE_TEMP_FILE + 1)
>@@ -122,8 +121,8 @@
> {
> {"define", required_argument, 0, OPTION_DEFINE},
> {"help", no_argument, 0, OPTION_HELP},
>- {"include-dir", required_argument, 0, OPTION_INCLUDE_DIR},
>- {"input-format", required_argument, 0, 'I'},
>+ {"include-dir", required_argument, 0, 'I'},
>+ {"input-format", required_argument, 0, 'J'},
> {"language", required_argument, 0, OPTION_LANGUAGE},
> {"output-format", required_argument, 0, 'O'},
> {"preprocessor", required_argument, 0, OPTION_PREPROCESSOR},
>@@ -140,7 +139,7 @@
>
> static void res_init PARAMS ((void));
> static int extended_menuitems PARAMS ((const struct menuitem *));
>-static enum res_format format_from_name PARAMS ((const char *));
>+static enum res_format format_from_name PARAMS ((const char *, int));
> static enum res_format format_from_filename PARAMS ((const char *, int));
> static void usage PARAMS ((FILE *, int));
> static int cmp_res_entry PARAMS ((const PTR, const PTR));
>@@ -588,7 +587,7 @@
> /* Convert a string to a format type, or exit if it can't be done. */
>
> static enum res_format
>-format_from_name (name)
>+format_from_name (name, int exit_on_error)
> const char *name;
> {
> const struct format_map *m;
>@@ -597,7 +596,7 @@
> if (strcasecmp (m->name, name) == 0)
> break;
>
>- if (m->name == NULL)
>+ if (m->name == NULL && exit_on_error)
> {
> non_fatal (_("unknown format type `%s'"), name);
> fprintf (stderr, _("%s: supported formats:"), program_name);
>@@ -779,6 +778,7 @@
> char *input_filename;
> char *output_filename;
> enum res_format input_format;
>+ enum res_format input_format_tmp;
> enum res_format output_format;
> char *target;
> char *preprocessor;
>@@ -828,12 +828,12 @@
> output_filename = optarg;
> break;
>
>- case 'I':
>- input_format = format_from_name (optarg);
>+ case 'J':
>+ input_format = format_from_name (optarg, 1);
> break;
>
> case 'O':
>- output_format = format_from_name (optarg);
>+ output_format = format_from_name (optarg, 1);
> break;
>
> case 'F':
>@@ -868,7 +868,16 @@
> verbose ++;
> break;
>
>- case OPTION_INCLUDE_DIR:
>+ case 'I':
>+ /* for backward compatibility, should be removed in the future */
>+ input_format_tmp = format_from_name (optarg, 0);
>+ if (input_format_tmp != RES_FORMAT_UNKNOWN)
>+ {
>+ fprintf (stderr, _("Option -I is deprecated for setting the input format, please use -J instead.\n"));
>+ input_format = input_format_tmp;
>+ break;
>+ }
>+
> if (preprocargs == NULL)
> {
> quotedarg = quot (optarg);
>Index: binutils/doc/binutils.texi
>===================================================================
>RCS file: /cvs/src/src/binutils/doc/binutils.texi,v
>retrieving revision 1.30
>diff -u -r1.30 binutils.texi
>--- binutils/doc/binutils.texi 24 Feb 2003 16:20:28 -0000 1.30
>+++ binutils/doc/binutils.texi 20 Mar 2003 15:10:43 -0000
>@@ -2569,7 +2569,7 @@
> non-option argument, then @command{windres} will write to standard output.
> @command{windres} can not write a COFF file to standard output.
>
>- at item -I @var{format}
>+ at item -J @var{format}
> @itemx --input-format @var{format}
> The input format to read. @var{format} may be @samp{res}, @samp{rc}, or
> @samp{coff}. If no input format is specified, @command{windres} will
>@@ -2597,11 +2597,17 @@
> to use, including any leading arguments. The default preprocessor
> argument is @code{gcc -E -xc-header -DRC_INVOKED}.
>
>+ at item -I @var{directory}
> @item --include-dir @var{directory}
> Specify an include directory to use when reading an @code{rc} file.
> @command{windres} will pass this to the preprocessor as an @option{-I}
> option. @command{windres} will also search this directory when looking for
>-files named in the @code{rc} file.
>+files named in the @code{rc} file. If the argument passed to this command
>+matches any of the supported @var{formats} (as descrived in the @option{-J}
>+option), it will issue a deprecation warning, and behave just like the
>+ at option{-J} option. New programs should not use this behaviour. If a
>+directory happens to match a @var{format}, simple prefix it with @samp{./}
>+to disable the backward compatibility.
>
> @item -D @var{target}
> @itemx --define @var{sym}[= at var{val}]
>
>
>--
>Dimi.