Sync to Wine-0_9:
Alexandre Julliard <julliard(a)winehq.org>
- Default search path for an include file should be based on the path of
the parent source file, not the current directory.
- Add current directory to default include path.
- Set the version we report in wmc and wrc from the global Wine
version.
- Put Wine version information in all the man pages.
Deleted: trunk/reactos/tools/wrc/Makefile.in
Modified: trunk/reactos/tools/wrc/wrc.c
Modified: trunk/reactos/tools/wrc/wrc.h
Deleted: trunk/reactos/tools/wrc/wrc.man
_____
Deleted: trunk/reactos/tools/wrc/Makefile.in
--- trunk/reactos/tools/wrc/Makefile.in 2005-10-27 18:32:01 UTC (rev
18791)
+++ trunk/reactos/tools/wrc/Makefile.in 2005-10-27 18:56:27 UTC (rev
18792)
@@ -1,52 +0,0 @@
-DEFS = -DINCLUDEDIR="\"$(includedir)\""
-TOPSRCDIR = @top_srcdir@
-TOPOBJDIR = ../..
-SRCDIR = @srcdir@
-VPATH = @srcdir@
-LEXOPT = -Cf #-w -b
-EXEEXT = @EXEEXT@
-
-PROGRAMS = wrc$(EXEEXT)
-MODULE = none
-
-C_SRCS = \
- dumpres.c \
- genres.c \
- newstruc.c \
- readres.c \
- translation.c \
- utils.c \
- wrc.c \
- writeres.c
-
-EXTRA_SRCS = parser.y parser.l
-EXTRA_OBJS = parser.tab.o @LEX_OUTPUT_ROOT@.o
-
-all: $(PROGRAMS)
-
-@MAKE_RULES@
-
-wrc$(EXEEXT): $(OBJS) $(LIBDIR)/wpp/libwpp.a
- $(CC) $(CFLAGS) -o $@ $(OBJS) -L$(LIBDIR) -lwpp -lwine_unicode
-lwine_port $(LEXLIB) $(LDFLAGS)
-
-parser.tab.c parser.tab.h: parser.y
- $(BISON) -d -t $(SRCDIR)/parser.y -o parser.tab.c
-
-# hack to allow parallel make
-parser.tab.h: parser.tab.c
-parser.tab.o: parser.tab.h
-
-@LEX_OUTPUT_ROOT@.c: parser.l
- $(LEX) $(LEXOPT) -d -8 $(SRCDIR)/parser.l
-
-@LEX_OUTPUT_ROOT@.o: parser.tab.h
-
-install:: $(PROGRAMS)
- $(MKINSTALLDIRS) $(bindir) $(mandir)/man$(prog_manext)
- $(INSTALL_DATA) $(SRCDIR)/wrc.man
$(mandir)/man$(prog_manext)/wrc.$(prog_manext)
- $(INSTALL_PROGRAM) wrc$(EXEEXT) $(bindir)/wrc$(EXEEXT)
-
-uninstall::
- $(RM) $(bindir)/wrc$(EXEEXT)
$(mandir)/man$(prog_manext)/wrc.$(prog_manext)
-
-### Dependencies:
_____
Modified: trunk/reactos/tools/wrc/wrc.c
--- trunk/reactos/tools/wrc/wrc.c 2005-10-27 18:32:01 UTC (rev
18791)
+++ trunk/reactos/tools/wrc/wrc.c 2005-10-27 18:56:27 UTC (rev
18792)
@@ -102,7 +102,7 @@
"with -o, then the output is written to \"wrc.tab.res\"\n"
;
-static const char version_string[] = "Wine Resource Compiler Version "
WRC_FULLVERSION "\n"
+static const char version_string[] = "Wine Resource Compiler version "
PACKAGE_VERSION "\n"
"Copyright 1998-2000 Bertho A. Stultiens\n"
" 1994 Martin von Loewis\n";
@@ -197,6 +197,32 @@
{ 0, 0, 0, 0 }
};
+static void set_version_defines(void)
+{
+ char *version = xstrdup( PACKAGE_VERSION );
+ char *major, *minor, *patchlevel;
+ char buffer[100];
+
+ if ((minor = strchr( version, '.' )))
+ {
+ major = version;
+ *minor++ = 0;
+ if ((patchlevel = strchr( minor, '.' ))) *patchlevel++ = 0;
+ }
+ else /* pre 0.9 version */
+ {
+ major = NULL;
+ patchlevel = version;
+ }
+ sprintf( buffer, "__WRC__=%s", major ? major : "0" );
+ wpp_add_cmdline_define(buffer);
+ sprintf( buffer, "__WRC_MINOR__=%s", minor ? minor : "0" );
+ wpp_add_cmdline_define(buffer);
+ sprintf( buffer, "__WRC_PATCHLEVEL__=%s", patchlevel ? patchlevel :
"0" );
+ wpp_add_cmdline_define(buffer);
+ free( version );
+}
+
int main(int argc,char *argv[])
{
extern char* optarg;
@@ -214,14 +240,12 @@
now = time(NULL);
/* Set the default defined stuff */
- wpp_add_cmdline_define("__WRC__="
WRC_EXP_STRINGIZE(WRC_MAJOR_VERSION));
- wpp_add_cmdline_define("__WRC_MINOR__="
WRC_EXP_STRINGIZE(WRC_MINOR_VERSION));
- wpp_add_cmdline_define("__WRC_MICRO__="
WRC_EXP_STRINGIZE(WRC_MICRO_VERSION));
- wpp_add_cmdline_define("__WRC_PATCH__="
WRC_EXP_STRINGIZE(WRC_MICRO_VERSION));
-
+ set_version_defines();
wpp_add_cmdline_define("RC_INVOKED=1");
wpp_add_cmdline_define("__WIN32__=1");
wpp_add_cmdline_define("__FLAT__=1");
+ /* Microsoft RC always searches current directory */
+ wpp_add_include_path(".");
/* First rebuild the commandline to put in destination */
/* Could be done through env[], but not all OS-es support it */
_____
Modified: trunk/reactos/tools/wrc/wrc.h
--- trunk/reactos/tools/wrc/wrc.h 2005-10-27 18:32:01 UTC (rev
18791)
+++ trunk/reactos/tools/wrc/wrc.h 2005-10-27 18:56:27 UTC (rev
18792)
@@ -25,17 +25,6 @@
#include "wrctypes.h"
-#define WRC_MAJOR_VERSION 1
-#define WRC_MINOR_VERSION 1
-#define WRC_MICRO_VERSION 9
-#define WRC_RELEASEDATE "(31-Dec-2000)"
-
-#define WRC_STRINGIZE(a) #a
-#define WRC_EXP_STRINGIZE(a) WRC_STRINGIZE(a)
-#define WRC_VERSIONIZE(a,b,c) WRC_STRINGIZE(a) "." WRC_STRINGIZE(b)
"." WRC_STRINGIZE(c)
-#define WRC_VERSION WRC_VERSIONIZE(WRC_MAJOR_VERSION,
WRC_MINOR_VERSION, WRC_MICRO_VERSION)
-#define WRC_FULLVERSION WRC_VERSION " " WRC_RELEASEDATE
-
/* From wrc.c */
extern int debuglevel;
#define DEBUGLEVEL_NONE 0x0000
_____
Deleted: trunk/reactos/tools/wrc/wrc.man
--- trunk/reactos/tools/wrc/wrc.man 2005-10-27 18:32:01 UTC (rev
18791)
+++ trunk/reactos/tools/wrc/wrc.man 2005-10-27 18:56:27 UTC (rev
18792)
@@ -1,199 +0,0 @@
-.TH WRC 1 "August 24, 2000" "Version 1.1.8" "Wine Resource
Compiler"
-.SH NAME
-wrc \- Wine Resource Compiler
-.SH SYNOPSIS
-.BI "wrc " "[options] " "[inputfile]"
-.SH DESCRIPTION
-.B wrc
-compiles resources from \fBinputfile\fR
-into win16 and win32 compatible binary format.
-.PP
-The source\-file is preprocessed with a builtin ANSI\-C compatible
-preprocessor before the resources are compiled. See \fBPREPROCESSOR\fR
-below.
-.PP
-.B wrc
-takes only one \fBinputfile\fR as argument. The resources are read from
-standard input if no inputfile is given. If the output file is not
-specified with \fI-o\fR, then \fBwrc\fR will write the output to
-\fBinputfile.res\fR with \fB.rc\fR stripped, or to \fBwrc.tab.res\fR if
-no inputfile was given.
-.SH OPTIONS
-.TP
-.I \fB\-\-debug\fR=\fInn\fR
-Set debug level to \fInn\fR. The value is a bitmask consisting of
-1=verbose, 2=dump internals, 4=resource parser trace, 8=preprocessor
-messages, 16=preprocessor scanner and 32=preprocessor parser trace.
-.TP
-.I \fB\-\-endianess\fR=\fIe\fR
-Win32 only; set output byte\-ordering, where \fIe\fR is one of
n[ative],
-l[ittle] or b[ig]. Only resources in source-form can be reorderd.
Native
-ordering depends on the system on which \fBwrc\fR was built. You can
see
-the native ordering by typing \fIwrc \-h\fR.
-.TP
-.I \fB\-D\fR, \fB\-\-define\fR=\fIid[=val]\fR
-Define preprocessor identifier \fIid\fR to (optionally) value
\fIval\fR.
-See also
-.B PREPROCESSOR
-below.
-.TP
-.I \fB\-E\fR
-Preprocess only. The output is written to standard output if no
-outputfile was selected. The output is compatible with what gcc would
-generate.
-.TP
-.I \fB\-F\fR, \fB\-\-target\fR
-Ignored for compatibility with \fIwindres\fR.
-.TP
-.I \fB\-h\fR, \fB\-\-help\fR
-Prints a summary message and exits.
-.TP
-.I \fB\-i\fR, \fB\-\-input\fR=\fIfile\fR
-The name of the input file. If this option is not used, then \fBwrc\fR
-will use the first non-option argument as the input file name. If there
-are no non-option arguments, then \fBwrc\fR will read from standard
input.
-.TP
-.I \fB\-I\fR, \fB\-\-include\-dir\fR=\fIfile\fR
-Add \fIpath\fR to include search directories. \fIPath\fR may contain
-multiple directories, separated with ':'. It is allowed to specify
-\fI\-I\fR multiple times. Include files are searched in the order in
-with the \fI\-I\fR options were specified.
-.br
-The search is compatible with gcc, in which '<>' quoted filenames are
-searched exclusively via the \fI\-I\fR set path, whereas the '""'
quoted
-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 \fB\-J\fR, \fB\-\-input\-format\fR=\fIformat\fR
-Sets the input format. Valid options are 'rc' or 'rc16'. Setting the
-input to 'rc16' disables the recognition of win32 keywords.
-.TP
-.I \fB\-l\fR, \fB\-\-language\fR=\fIlan\fR
-Set default language to \fIlan\fR. Default is the neutral language 0
-(i.e. "LANGUAGE 0, 0").
-.TP
-.I \fB\-\-nostdinc\fR
-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 \fB\-\-no\-use\-temp\-file\fR
-Ignored for compatibility with \fIwindres\fR.
-.TP
-.I \fB\-o\fR, \fB\-fo\fR, \fB\-\-output\fR=\fIfile\fR
-Write output to \fIfile\fR. Default is \fBinputfile.res\fR
-with \fB.rc\fR stripped or \fBwrc.tab.res\fR if input is read
-from standard input.
-.TP
-.I \fB\-O\fR, \fB\-\-output\-format\fR=\fIformat\fR
-Sets the output format. The supported formats are 'res' and 'res16'.
-If this option is not specified, format defaults to 'res'.
-.TP
-.I \fB\-\-pedantic\fR
-Enable pedantic warnings. Notably redefinition of #define statements
can
-be discovered with this option.
-.TP
-.I \fB\-r\fR
-Ignored for compatibility with \fIrc\fR.
-.TP
-.I \fB\-\-preprocessor\fR=\fIprogram\fR
-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--preprocessor=cat\fR.
-.TP
-.I \fB\-U\fR, \fB\-\-undefine\fR=\fIid\fR
-Undefine preprocessor identifier \fIid\fR. Please note that only
macros
-defined up to this point are undefined by this command. However, these
-include the special macros defined automatically by \fIwrc\fR.
-See also
-.B PREPROCESSOR
-below.
-.TP
-.I \fB\-\-use\-temp\-file\fR
-Ignored for compatibility with \fIwindres\fR.
-.TP
-.I \fB\-v\fR, \fB\-\-verbose\fR
-Turns on verbose mode (equivalent to -d 1).
-.TP
-.I \fB\-\-version\fR
-Print version end exit.
-.SH PREPROCESSOR
-The preprocessor is ANSI\-C compatible with some of the extensions of
-the gcc preprocessor.
-.PP
-The preprocessor recognizes these directives: #include, #define (both
-simple and macro), #undef, #if, #ifdef, #ifndef, #elif, #else, #endif,
-#error, #warning, #line, # (both null\- and line\-directive), #pragma
-(ignored), #ident (ignored).
-.PP
-The preprocessor sets by default several defines:
-.br
-RC_INVOKED set to 1
-.br
-__WRC__ Major version of wrc
-.br
-__WRC_MINOR__ Minor version of wrc
-.br
-__WRC_MICRO__ Patch level
-.br
-__WRC_PATCH__ Same as __WRC_MICRO__
-.PP
-Win32 compilation mode also sets __WIN32__ to 1 and __FLAT__ to 1.
-.PP
-Special macros __FILE__, __LINE__, __TIME__ and __DATE__ are also
-recognized and expand to their respective equivalent.
-.SH "LANGUAGE SUPPORT"
-Language, version and characteristics can be bound to all resource
types that
-have inline data, such as RCDATA. This is an extension to Microsoft's
resource
-compiler, which lacks this support completely. Only VERSIONINFO cannot
have
-version and characteristics attached, but languages are propagated
properly if
-you declare it correctly before the VERSIONINFO resource starts.
-.PP
-Example:
-.PP
-1 RCDATA DISCARDABLE
-.br
-LANGUAGE 1, 0
-.br
-VERSION 312
-.br
-CHARACTERISTICS 876
-.br
-{
-.br
- 1, 2, 3, 4, 5, "and whatever more data you want"
-.br
- '00 01 02 03 04 05 06 07 08'
-.br
-}
-.SH AUTHORS
-.B wrc
-was written by Bertho A. Stultiens and is a nearly complete rewrite of
-the first wine resource compiler (1994) by Martin von Loewis.
-Additional resource\-types were contributed Ulrich Czekalla and Albert
-den Haan. Many cleanups by Dimitrie O. Paun in 2002-2003.
-Bugfixes have been contributed by many Wine developers.
-.SH BUGS
-\- The preprocessor recognizes variable argument macros, but does not
-expanded them correctly.
-.br
-\- Error reporting should be more precise, as currently the column and
-line number reported are those of the next token.
-.br
-\- Default memory options should differ between win16 and win32.
-.PP
-There is no support for:
-.br
-\- RT_DLGINCLUDE, RT_VXD, RT_PLUGPLAY and RT_HTML (unknown format)
-.br
-\- PUSHBOX control is unsupported due to lack of original
functionality.
-.PP
-Fonts are parsed and generated, but there is no support for the
-generation of the FONTDIR yet. The user must supply the FONTDIR
-resource in the source to match the FONT resources.
-.SH AVAILABILITY
-.B wrc
-is part of the Wine distribution, which is available through
-WineHQ, the Wine development headquarters, at
-.I
http://www.winehq.org/.
-.SH "SEE ALSO"
-.BR wine (1)