> > Is there any fundamental reason why we *cannot* just enter a generated > > imcparser.c and imcparser.h into CVS and save users the step of building > > them on these platforms? > > > Ack, so we should just delete the lines: > imclexer.c > imcparser.c > imcparser.h > > from .cvsignore
Yep, although one also needs to adjust the makefile to avoid performing such rules. Attached patch gets IMCC building on MSVC without cygwin (lex/bison/yacc/etc). It assumes you add the generated imclexer.c, imcparser.c, and imcparser.h to cvs as well. Current perl6 test gives: Failed Test Status Wstat Total Fail Failed List of Failed -------------------------------------------------------------- t/compiler/8.t 1 256 6 1 16.67% 6 t/rx/basic.t 2 512 5 2 40.00% 3-4 t/rx/call.t 1 256 2 1 50.00% 2 Any idea on how to go about fixing the rx ones? They're failing on imc->pasm, with msgs like "NO Op rx_pushmark_ic (rx_pushmark<1>)" Mike Lambert Index: config/gen/makefiles/imcc.in =================================================================== RCS file: /cvs/public/parrot/config/gen/makefiles/imcc.in,v retrieving revision 1.1 diff -u -r1.1 imcc.in --- config/gen/makefiles/imcc.in 27 Aug 2002 05:02:28 -0000 1.1 +++ config/gen/makefiles/imcc.in 2 Sep 2002 02:57:49 -0000 @@ -33,10 +33,12 @@ all : imcc cd ../.. && $(MAKE) shared && $(RM_F) parrot${exe} && $(MAKE) -imcparser.c imcparser.h : imcc.y +grammar : yacc_file lex_file + +yacc_file : imcc.y $(YACC) -d -o imcparser.c imcc.y -imclexer.c : imcc.l $(HEADERS) +lex_file : imcc.l $(HEADERS) $(LEX) imcc.l .c$(O): Index: languages/imcc/.cvsignore =================================================================== RCS file: /cvs/public/parrot/languages/imcc/.cvsignore,v retrieving revision 1.2 diff -u -r1.2 .cvsignore --- languages/imcc/.cvsignore 27 Aug 2002 08:07:45 -0000 1.2 +++ languages/imcc/.cvsignore 2 Sep 2002 02:58:00 -0000 @@ -1,6 +1,3 @@ imcc -imclexer.c -imcparser.c -imcparser.h imcparser.output Makefile