Commit b69ce347 authored by Alexandre Julliard's avatar Alexandre Julliard

wpp: Move the preprocessor code into wrc.

parent 176654fa
...@@ -1789,7 +1789,6 @@ enable_fonts ...@@ -1789,7 +1789,6 @@ enable_fonts
enable_include enable_include
enable_port enable_port
enable_wine enable_wine
enable_wpp
enable_loader enable_loader
enable_nls enable_nls
enable_po enable_po
...@@ -21101,7 +21100,6 @@ wine_fn_config_makefile fonts enable_fonts ...@@ -21101,7 +21100,6 @@ wine_fn_config_makefile fonts enable_fonts
wine_fn_config_makefile include enable_include wine_fn_config_makefile include enable_include
wine_fn_config_makefile libs/port enable_port wine_fn_config_makefile libs/port enable_port
wine_fn_config_makefile libs/wine enable_wine wine_fn_config_makefile libs/wine enable_wine
wine_fn_config_makefile libs/wpp enable_wpp
wine_fn_config_makefile loader enable_loader wine_fn_config_makefile loader enable_loader
wine_fn_config_makefile nls enable_nls wine_fn_config_makefile nls enable_nls
wine_fn_config_makefile po enable_po wine_fn_config_makefile po enable_po
......
...@@ -3871,7 +3871,6 @@ WINE_CONFIG_MAKEFILE(fonts) ...@@ -3871,7 +3871,6 @@ WINE_CONFIG_MAKEFILE(fonts)
WINE_CONFIG_MAKEFILE(include) WINE_CONFIG_MAKEFILE(include)
WINE_CONFIG_MAKEFILE(libs/port) WINE_CONFIG_MAKEFILE(libs/port)
WINE_CONFIG_MAKEFILE(libs/wine) WINE_CONFIG_MAKEFILE(libs/wine)
WINE_CONFIG_MAKEFILE(libs/wpp)
WINE_CONFIG_MAKEFILE(loader) WINE_CONFIG_MAKEFILE(loader)
WINE_CONFIG_MAKEFILE(nls) WINE_CONFIG_MAKEFILE(nls)
WINE_CONFIG_MAKEFILE(po) WINE_CONFIG_MAKEFILE(po)
......
/*
* Exported functions of the Wine preprocessor
*
* Copyright 2002 Alexandre Julliard
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_WPP_H
#define __WINE_WPP_H
#include <stdio.h>
#include <stdarg.h>
extern void wpp_del_define( const char *name );
extern void wpp_add_cmdline_define( const char *value );
extern void wpp_set_debug( int lex_debug, int parser_debug, int msg_debug );
extern void wpp_set_pedantic( int on );
extern void wpp_add_include_path( const char *path );
extern char *wpp_find_include( const char *name, const char *parent_name );
/* Return value == 0 means successful execution */
extern int wpp_parse( const char *input, FILE *output );
#endif /* __WINE_WPP_H */
STATICLIB = libwpp.a
C_SRCS = wpp.c
LEX_SRCS = ppl.l
BISON_SRCS = ppy.y
PROGRAMS = widl PROGRAMS = widl
MANPAGES = widl.man.in PARENTSRC = ../wrc
C_SRCS = \ C_SRCS = \
client.c \ client.c \
...@@ -14,15 +14,21 @@ C_SRCS = \ ...@@ -14,15 +14,21 @@ C_SRCS = \
typetree.c \ typetree.c \
utils.c \ utils.c \
widl.c \ widl.c \
wpp.c \
write_msft.c write_msft.c
LEX_SRCS = parser.l LEX_SRCS = \
BISON_SRCS = parser.y parser.l \
ppl.l
BISON_SRCS = \
parser.y \
ppy.y
MANPAGES = widl.man.in
widl_EXTRADEFS = \ widl_EXTRADEFS = \
-DINCLUDEDIR="\"${includedir}\"" \ -DINCLUDEDIR="\"${includedir}\"" \
-DBIN_TO_INCLUDEDIR=\"`${MAKEDEP} -R ${bindir} ${includedir}`\" -DBIN_TO_INCLUDEDIR=\"`${MAKEDEP} -R ${bindir} ${includedir}`\"
EXTRALIBS = -lwpp
INSTALL_DEV = $(PROGRAMS) INSTALL_DEV = $(PROGRAMS)
...@@ -62,7 +62,7 @@ double [0-9]+\.[0-9]+([eE][+-]?[0-9]+)* ...@@ -62,7 +62,7 @@ double [0-9]+\.[0-9]+([eE][+-]?[0-9]+)*
#include "widl.h" #include "widl.h"
#include "utils.h" #include "utils.h"
#include "parser.h" #include "parser.h"
#include "wine/wpp.h" #include "wpp_private.h"
#include "parser.tab.h" #include "parser.tab.h"
......
...@@ -21,7 +21,6 @@ ...@@ -21,7 +21,6 @@
#include "config.h" #include "config.h"
#include "wine/port.h" #include "wine/port.h"
#include "wine/wpp.h"
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
...@@ -37,6 +36,7 @@ ...@@ -37,6 +36,7 @@
#include "widl.h" #include "widl.h"
#include "utils.h" #include "utils.h"
#include "wpp_private.h"
#include "parser.h" #include "parser.h"
#include "header.h" #include "header.h"
#include "typelib.h" #include "typelib.h"
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
#include "widl.h" #include "widl.h"
#include "utils.h" #include "utils.h"
#include "parser.h" #include "parser.h"
#include "wine/wpp.h" #include "wpp_private.h"
#include "header.h" #include "header.h"
static const char usage[] = static const char usage[] =
......
PROGRAMS = wrc PROGRAMS = wrc
MANPAGES = wrc.man.in EXTRALIBS = $(GETTEXTPO_LIBS)
C_SRCS = \ C_SRCS = \
dumpres.c \ dumpres.c \
...@@ -8,11 +8,19 @@ C_SRCS = \ ...@@ -8,11 +8,19 @@ C_SRCS = \
po.c \ po.c \
translation.c \ translation.c \
utils.c \ utils.c \
wpp.c \
wrc.c \ wrc.c \
writeres.c writeres.c
LEX_SRCS = parser.l LEX_SRCS = \
BISON_SRCS = parser.y parser.l \
ppl.l
BISON_SRCS = \
parser.y \
ppy.y
MANPAGES = wrc.man.in
wrc_EXTRADEFS = \ wrc_EXTRADEFS = \
-DNLSDIR="\"${nlsdir}\"" \ -DNLSDIR="\"${nlsdir}\"" \
...@@ -20,6 +28,4 @@ wrc_EXTRADEFS = \ ...@@ -20,6 +28,4 @@ wrc_EXTRADEFS = \
-DBIN_TO_NLSDIR=\"`${MAKEDEP} -R ${bindir} ${nlsdir}`\" \ -DBIN_TO_NLSDIR=\"`${MAKEDEP} -R ${bindir} ${nlsdir}`\" \
-DBIN_TO_INCLUDEDIR=\"`${MAKEDEP} -R ${bindir} ${includedir}`\" -DBIN_TO_INCLUDEDIR=\"`${MAKEDEP} -R ${bindir} ${includedir}`\"
EXTRALIBS = $(GETTEXTPO_LIBS) -lwpp
INSTALL_DEV = $(PROGRAMS) INSTALL_DEV = $(PROGRAMS)
...@@ -134,7 +134,7 @@ ...@@ -134,7 +134,7 @@
#include "utils.h" #include "utils.h"
#include "newstruc.h" #include "newstruc.h"
#include "dumpres.h" #include "dumpres.h"
#include "wine/wpp.h" #include "wpp_private.h"
#include "parser.h" #include "parser.h"
#include "windef.h" #include "windef.h"
#include "winbase.h" #include "winbase.h"
......
...@@ -17,16 +17,6 @@ ...@@ -17,16 +17,6 @@
* License along with this library; if not, write to the Free Software * License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
* *
* History:
* 24-Apr-2000 BS - Started from scratch to restructure everything
* and reintegrate the source into the wine-tree.
* 04-Jan-2000 BS - Added comments about the lexicographical
* grammar to give some insight in the complexity.
* 28-Dec-1999 BS - Eliminated backing-up of the flexer by running
* `flex -b' on the source. This results in some
* weirdo extra rules, but a much faster scanner.
* 23-Dec-1999 BS - Started this file
*
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
* The preprocessor's lexographical grammar (approximately): * The preprocessor's lexographical grammar (approximately):
* *
...@@ -182,7 +172,6 @@ ul [uUlL]|[uUlL][lL]|[lL][uU]|[lL][lL][uU]|[uU][lL][lL]|[lL][uU][lL] ...@@ -182,7 +172,6 @@ ul [uUlL]|[uUlL][lL]|[lL][uU]|[lL][lL][uU]|[uU][lL][lL]|[lL][uU][lL]
#define YY_NO_UNISTD_H #define YY_NO_UNISTD_H
#endif #endif
#include "wine/wpp.h"
#include "wpp_private.h" #include "wpp_private.h"
#include "ppy.tab.h" #include "ppy.tab.h"
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
* *
* Copyright 1999-2000 Bertho A. Stultiens (BS) * Copyright 1999-2000 Bertho A. Stultiens (BS)
* *
*
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either * License as published by the Free Software Foundation; either
...@@ -18,13 +17,6 @@ ...@@ -18,13 +17,6 @@
* License along with this library; if not, write to the Free Software * License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
* *
* History:
* 24-Apr-2000 BS Restructured the lot to fit the new scanner
* and reintegrate into the wine-tree.
* 01-Jan-2000 BS FIXME: win16 preprocessor calculates with
* 16 bit ints and overflows...?
* 26-Dec-1999 BS Started this file
*
*/ */
%{ %{
......
...@@ -35,7 +35,6 @@ ...@@ -35,7 +35,6 @@
#endif #endif
#include "wpp_private.h" #include "wpp_private.h"
#include "wine/wpp.h"
struct pp_status pp_status; struct pp_status pp_status;
......
...@@ -24,6 +24,15 @@ ...@@ -24,6 +24,15 @@
#include <string.h> #include <string.h>
#include "wine/list.h" #include "wine/list.h"
extern void wpp_del_define( const char *name );
extern void wpp_add_cmdline_define( const char *value );
extern void wpp_set_debug( int lex_debug, int parser_debug, int msg_debug );
extern void wpp_set_pedantic( int on );
extern void wpp_add_include_path( const char *path );
extern char *wpp_find_include( const char *name, const char *parent_name );
/* Return value == 0 means successful execution */
extern int wpp_parse( const char *input, FILE *output );
struct pp_entry; /* forward */ struct pp_entry; /* forward */
/* /*
* Include logic * Include logic
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
#include "genres.h" #include "genres.h"
#include "newstruc.h" #include "newstruc.h"
#include "parser.h" #include "parser.h"
#include "wine/wpp.h" #include "wpp_private.h"
#ifdef WORDS_BIGENDIAN #ifdef WORDS_BIGENDIAN
#define ENDIAN "big" #define ENDIAN "big"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment