Return to BSD News archive
Received: by minnie.vk1xwt.ampr.org with NNTP
id AA7668 ; Mon, 25 Jan 93 12:19:41 EST
Newsgroups: comp.unix.bsd
Path: sserve!manuel.anu.edu.au!munnari.oz.au!spool.mu.edu!yale.edu!qt.cs.utexas.edu!cs.utexas.edu!sun-barr!sh.wide!wnoc-tyo-news!virgil!ccgwy!ccgwy!hideaki
From: hideaki@mahler.ee.uec.ac.jp (Hideaki Tsuchiya)
Subject: Re: [386bsd] still trying to compile rayshade
In-Reply-To: hideaki@berlioz.ee.uec.ac.jp's message of Fri, 22 Jan 1993 08:50:31 GMT
Message-ID: <HIDEAKI.93Jan23192147@mahler.ee.uec.ac.jp>
Sender: news@ccgwy.cc.uec.ac.jp (Internet news)
Nntp-Posting-Host: mahler.ee.uec.ac.jp
Organization: University of Electro-Communications, Chofu, Tokyo, JAPAN
References: <fYaZRtt@quack.sac.ca.us>
<HIDEAKI.93Jan22175031@berlioz.ee.uec.ac.jp>
Date: Sat, 23 Jan 1993 10:21:47 GMT
Lines: 214
Yesterday, I posted a unofficial patch to rayshade 4.0 patchlevel 6,
but it is incomplete. Here is a new unofficial patch.
In Garrett.Wollman@UVM.EDU's mail he writes:
>This is the way it's supposed to be. Read the lex manual page, and
>then read /usr/src/usr.bin/lex/flexdoc.1. Flex doesn't support
>yylineno *AT ALL*, so defining it won't do you any good.
>
>The proper thing to do is to fix RayShade's scanner. I did that, and
>sent the patch to the authors more than a year ago, but they said they
>didn't have time to deal with it.
>
>In particular, you will need to include the following code:
>
>#ifdef FLEX_SCANNER
>int yylineno = 1;
>#undef yywrap
>#define BUMPIT() yylineno++
>#else
>#define BUMPIT()
>#endif /* FLEX_SCANNER */
>
>Then, in every rule which can possibly match a newline (there aren't
>very many, as I recall), you need to add BUMPIT(); to the end of the
>action.
>
>You probably want to compile with `lex -Cfe -bpv -t scanner.l >
>scanner.c'.
>
>-GAWollman
My failure is that I don't know 386BSD's lex is GNU flex! New patch is
as follows. Extract rayshade source, patch this and make.
IMPORTANT!
The patch in <HIDEAKI.93Jan22175031@berlioz.ee.uec.ac.jp> is
incomplete. Don't use it!
Thanks Mr.Garrett for his report. I hope this patch is perfect.
*** ./raypaint/Makefile.SH.orig Fri Jan 22 14:42:52 1993
--- ./raypaint/Makefile.SH Fri Jan 22 15:53:23 1993
***************
*** 55,70 ****
#
# If using X11, use:
! #GRAPHICSLIB = -lX11
#
# If you are using GL, use:
! GRAPHICSLIB = -lgl_s
LIBRAY = $(LIBRAYDIR)/libray.a
LIBSHADE = $(LIBSHADEDIR)/libshade.a
! CFLAGS = $(CCFLAGS) $(URTINC) $(INCLUDE) $(OPTIMIZE) -DSHARED_EDGES
SHELL = /bin/sh
#
--- 55,70 ----
#
# If using X11, use:
! GRAPHICSLIB = -L/usr/X386/lib -lX11
#
# If you are using GL, use:
! #GRAPHICSLIB = -lgl_s
LIBRAY = $(LIBRAYDIR)/libray.a
LIBSHADE = $(LIBSHADEDIR)/libshade.a
! CFLAGS = $(CCFLAGS) $(URTINC) $(INCLUDE) $(OPTIMIZE) -DSHARED_EDGES -I/usr/X386/include
SHELL = /bin/sh
#
***************
*** 73,79 ****
#
LIBS = $(LIBSHADE) $(LIBRAY) $(URTLIB)
! DRIVE_C = main.c graphics.c render.c version.c
DRIVE_O = $(DRIVE_C:.c=.o)
--- 73,79 ----
#
LIBS = $(LIBSHADE) $(LIBRAY) $(URTLIB)
! DRIVE_C = main.c xgraphics.c render.c version.c
DRIVE_O = $(DRIVE_C:.c=.o)
*** ./libshade/lex.l.orig Fri Jan 22 14:46:37 1993
--- ./libshade/lex.l Sat Jan 23 15:05:28 1993
***************
*** 28,33 ****
--- 28,40 ----
#include "symtab.h"
#include "y.tab.h"
extern char *strsave();
+ #ifdef FLEX_SCANNER
+ int yylineno=1;
+ #undef yywrap
+ #define BUMPIT() yylineno++
+ #else
+ #define BUMPIT()
+ #endif /* FLEX_SCANNER */
%}
alpha [a-zA-Z]
special [\.\_-]
***************
*** 39,45 ****
%e 1500
%n 600
%%
! [ \t\n] ;
^# handlehash();
"/*" skipcomments();
ambient return tAMBIENT;
--- 46,53 ----
%e 1500
%n 600
%%
! [ \t] ;
! "\n" BUMPIT();
^# handlehash();
"/*" skipcomments();
ambient return tAMBIENT;
*** ./etc/rsconvert/lex.l.orig Fri Jan 22 14:46:37 1993
--- ./etc/rsconvert/lex.l Sat Jan 23 15:09:45 1993
***************
*** 21,26 ****
--- 21,33 ----
#endif
#include "libcommon/common.h"
#include "y.tab.h"
+ #ifdef FLEX_SCANNER
+ int yylineno=1;
+ #undef yywrap
+ #define BUMPIT() yylineno++
+ #else
+ #define BUMPIT()
+ #endif /* FLEX_SCANNER */
%}
alpha [a-zA-Z]
special [\.\_-]
***************
*** 30,36 ****
%p 3000
%%
[\t] {WriteVerbatim(yytext);};
! "\n" {};
" " {};
^# {return handlehash();}
"/*" {skipcomments();}
--- 37,43 ----
%p 3000
%%
[\t] {WriteVerbatim(yytext);};
! "\n" {BUMPIT();};
" " {};
^# {return handlehash();}
"/*" {skipcomments();}
*** ./Configure.orig Fri Jan 22 14:46:33 1993
--- ./Configure Fri Jan 22 16:08:19 1993
***************
*** 172,181 ****
fi
if ls blurfl >/dev/null 2>&1; then
! if awk '' blurfl >/dev/null 2>&1; then
check='cat'
else
! check='awk ""'
fi
else
check='ls'
--- 172,181 ----
fi
if ls blurfl >/dev/null 2>&1; then
! if awk '{}' blurfl >/dev/null 2>&1; then
check='cat'
else
! check='awk "{}"'
fi
else
check='ls'
***************
*** 1235,1241 ****
'');;
*) set X $cppflags
cppflags=''
! for flag do
case $flag in
-D*|-I*) cppflags="$cppflags $flag";;
esac
--- 1235,1241 ----
'');;
*) set X $cppflags
cppflags=''
! for flag; do
case $flag in
-D*|-I*) cppflags="$cppflags $flag";;
esac
--
University of Electro-Communications, Japan.
Hideaki Tsuchiya (hideaki@strauss.ee.uec.ac.jp)