Remove -J, -P, and -V as they have long options equivalents.
Update documentation, small code cleanups.

diff --git a/Make.rules.in b/Make.rules.in
index 10e0f37..484f33a 100644
--- a/Make.rules.in
+++ b/Make.rules.in
@@ -67,7 +67,7 @@
 WRC          = $(TOOLSDIR)/tools/wrc/wrc
 WMC          = $(TOOLSDIR)/tools/wmc/wmc
 WIDL         = $(TOOLSDIR)/tools/widl/widl
-WRCFLAGS     = -J -m $(EXTRAWRCFLAGS)
+WRCFLAGS     = -m --nostdinc $(EXTRAWRCFLAGS)
 LDPATH       = @LDPATH@
 DLLDIR       = $(TOPOBJDIR)/dlls
 LIBPORT      = -L$(TOPOBJDIR)/libs/port -lwine_port
diff --git a/tools/wrc/wrc.c b/tools/wrc/wrc.c
index e4b1e2c..9db06d8 100644
--- a/tools/wrc/wrc.c
+++ b/tools/wrc/wrc.c
@@ -96,32 +96,27 @@
 	"   -h		Prints this summary.\n"
 	"   -i file	The name of the input file.\n"
 	"   -I path     Set include search dir to path (multiple -I allowed)\n"
-	"   -J		Do not search the standard include path\n"
 	"   -l lan      Set default language to lan (default is neutral {0, 0})\n"
 	"   -m          Do not remap numerical resource IDs\n"
 	"   -o file     Output to file (default is infile.res)\n"
 	"   -O format	The output format (must be `res').\n"
-	"   -P program	Specifies the preprocessor to use, including arguments.\n"
 	"   -v          Enable verbose mode.\n"
-	"   -V          Print version and exit\n"
 	"   -w 16|32    Select win16 or win32 output (default is win32)\n"
 	"   -W          Enable pedantic warnings\n"
-#ifdef HAVE_GETOPT_LONG
 	"The following long options are supported:\n"
 	"   --input		Synonym for -i.\n"
 	"   --output		Synonym for -o.\n"
+	"   --output-format	Synonym for -O.\n"
 	"   --target		Synonym for -F.\n"
-	"   --format		Synonym for -O.\n"
+	"   --preprocessor	Specifies the preprocessor to use, including arguments.\n"
 	"   --include-dir	Synonym for -I.\n"
-	"   --nostdinc		Synonym for -J.\n"
 	"   --define		Synonym for -D.\n"
 	"   --language		Synonym for -l.\n"
+	"   --nostdinc		Disables searching the standard include path.\n"
 	"   --use-temp-file	Ignored for compatibility with windres.\n"
 	"   --no-use-temp-file	Ignored for compatibility with windres.\n"
-	"   --preprocessor	Synonym for -P.\n"
 	"   --help		Synonym for -h.\n"
-	"   --version		Synonym for -V.\n"
-#endif
+	"   --version		Print version and exit.\n"
 	"Input is taken from stdin if no sourcefile specified.\n"
 	"Debug level 'n' is a bitmask with following meaning:\n"
 	"    * 0x01 Tell which resource is parsed (verbose mode)\n"
@@ -223,34 +218,30 @@
 static void segvhandler(int sig);
 
 static const char* short_options = 
-	"a:AB:cC:d:D:eEF:hH:i:I:Jl:LmnNo:O:P:rtTvVw:W";
-#ifdef HAVE_GETOPT_LONG
+	"a:AB:cC:d:D:eEF:hH:i:I:l:LmnNo:O:P:rtTvVw:W";
 static struct option long_options[] = {
 	{ "input", 1, 0, 'i' },
 	{ "output", 1, 0, 'o' },
+	{ "output-format", 1, 0, 'O' },
 	{ "target", 1, 0, 'F' },
-	{ "format", 1, 0, 'O' },
+	{ "preprocessor", 1, 0, 4 },
 	{ "include-dir", 1, 0, 'I' },
-	{ "nostdinc", 0, 0, 'J' },
 	{ "define", 1, 0, 'D' },
 	{ "language", 1, 0, 'l' },
-	{ "version", 0, 0, 'V' },
-	{ "help", 0, 0, 'h' },
-	{ "preprocessor", 1, 0, 'P' },
+	{ "nostdinc", 0, 0, 1 },
 	{ "use-temp-file", 0, 0, 2 },
 	{ "no-use-temp-file", 0, 0, 3 },
+	{ "help", 0, 0, 'h' },
+	{ "version", 0, 0, 5 },
 	{ 0, 0, 0, 0 }
 };
-#endif
 
 int main(int argc,char *argv[])
 {
 	extern char* optarg;
 	extern int   optind;
 	int optc;
-#ifdef HAVE_GETOPT_LONG
 	int opti = 0;
-#endif
 	int stdinc = 1;
 	int lose = 0;
 	int ret;
@@ -276,19 +267,26 @@
 			strcat(cmdline, " ");
 	}
 
-#ifdef HAVE_GETOPT_LONG
 	while((optc = getopt_long(argc, argv, short_options, long_options, &opti)) != EOF)
-#else
-	while((optc = getopt(argc, argv, short_options)) != EOF)
-#endif
 	{
 		switch(optc)
 		{
+		case 1:
+			stdinc = 0;
+			break;
 		case 2:
-			fprintf(stderr, "--use-temp-file option not yet supported, ignored.\n");
+			if (debuglevel) warning("--use-temp-file option not yet supported, ignored.\n");
 			break;
 		case 3:
-			fprintf(stderr, "--no-use-temp-file option not yet supported, ignored.\n");
+			if (debuglevel) warning("--no-use-temp-file option not yet supported, ignored.\n");
+			break;
+		case 4:
+			if (strcmp(optarg, "cat") == 0) no_preprocess = 1;
+			else fprintf(stderr, "-P option not yet supported, ignored.\n");
+			break;
+		case 5:
+			printf(version_string);
+			exit(0);
 			break;
 		case 'a':
 			alignment = atoi(optarg);
@@ -339,10 +337,8 @@
 			else error("Too many input files.\n");
 			break;
 		case 'I':
-			wpp_add_include_path(optarg);
-			break;
-		case 'J':
-			stdinc = 0;
+			if (strcmp(optarg, "-") == 0) stdinc = 0;
+			else wpp_add_include_path(optarg);
 			break;
 		case 'l':
 			{
@@ -362,19 +358,11 @@
 			break;
 		case 'O':
 			if (strcmp(optarg, "res")) 
-				error("Output format %s not supported.", optarg);
-			break;
-		case 'P':
-			if (strcmp(optarg, "cat") == 0) no_preprocess = 1;
-			else fprintf(stderr, "-P option not yet supported, ignored.\n");
+				warning("Output format %s not supported.", optarg);
 			break;
 		case 'v':
 			debuglevel = DEBUGLEVEL_CHAT;
 			break;
-		case 'V':
-			printf(version_string);
-			exit(0);
-			break;
 		case 'w':
 			if(!strcmp(optarg, "16"))
 				win32 = 0;
diff --git a/tools/wrc/wrc.man b/tools/wrc/wrc.man
index 84d4d18..265cb5e 100644
--- a/tools/wrc/wrc.man
+++ b/tools/wrc/wrc.man
@@ -68,10 +68,6 @@
 filenames are first tried to be opened in the current directory. Also
 resource statements with file references are located in the same way.
 .TP
-.I \-J
-Do not search the standard include path, look for include files only
-in the directories explicitly specified with the \fI\-I\fR option.
-.TP
 .I \-l lan
 Set default language to \fIlan\fR. Default is the neutral language 0
 (i.e. "LANGUAGE 0, 0").
@@ -87,6 +83,10 @@
 source\-files that contain overlapping type\-IDs, or when the format of the
 resource is not 100% compliant.
 .TP
+.I \--nostdinc
+Do not search the standard include path, look for include files only
+in the directories explicitly specified with the \fI\-I\fR option.
+.TP
 .I \-o file
 Write output to \fIfile\fR. Default is \fBinputfile.res\fR
 with \fB.rc\fR stripped or \fBwrc.tab.res\fR if input is read
@@ -97,7 +97,7 @@
 is also the default format if this option is not specified. The option
 exists mainly for compatibility with \fBwindres\fR.
 .TP
-.I \-P program
+.I \--preprocessor program
 This option may be used to specify the preprocessor to use, including any 
 leading arguments. If not specified, \fBwrc\fR uses its builtin processor.
 To disable preprocessing, use \fB-P cat\fR.
@@ -105,7 +105,7 @@
 .I \-v
 Turns on verbose mode (equivalent to -d 1).
 .TP
-.I \-V
+.I \--version
 Print version end exit.
 .TP
 .I \-w 16|32