Subject: Re: kdevelop-current
To: Berndt Josef Wulf <wulf@ping.net.au>
From: Simon Burge <simonb@NetBSD.ORG>
List: tech-pkg
Date: 03/15/2000 16:02:33
Berndt Josef Wulf wrote:

> Simon Burge wrote
> > > 
> > > That would be nice... who is the right person to talk about this
> > > problem. I've avoided to raise a PR on this as I am not familiar with
> > > the circumstances why we are still using flex-2.5.4 and not
> > > flex-2.5.4a, there surely must be a reason for it.
> > 
> > The _only_ difference between 2.5.4 and 2.5.4a is the addition of the
> > words "with or without modification" added to some copyright notices.
> > However, the NetBSD version has been modified, and it would appear that
> > somehow we have broken it in the process.  I've just done a quick diff
> > between 2.5.4a and what's in our tree and can't see anything obviously
> > wrong.  What exactly is the problem that you're seeing that doesn't
> > occur with a stock flex 2.5.4a?
> 
> The main difference between the resulting file generated by NetBSD's
> flex and the pkgsrc flex utility are the missing declarations around
> line 207 as shown below:

Ok, it seems that the declaration of those routines moved to part of
flex.skl where flex ignores them if used in "C++" mode.  Can you try
the following patch to see if it fixes the problem?

Also, are you (or anyone else listening) in a position to do a "make
build" to see if this breaks anything during a complete NetBSD build?

Simon.
--
Index: flex.skl
===================================================================
RCS file: /cvsroot/basesrc/usr.bin/lex/flex.skl,v
retrieving revision 1.12
diff -p -u -r1.12 flex.skl
--- flex.skl	1999/01/18 22:18:17	1.12
+++ flex.skl	2000/03/15 04:57:07
@@ -254,6 +254,12 @@ YY_BUFFER_STATE yy_scan_string YY_PROTO(
 YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, yy_size_t len ));
 %*
 
+static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
+#ifndef YY_USES_REJECT
+static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
+#endif
+static void yy_flex_free YY_PROTO(( void * ));
+
 #define yy_new_buffer yy_create_buffer
 
 #define yy_set_interactive(is_interactive) \
@@ -275,11 +281,6 @@ YY_BUFFER_STATE yy_scan_bytes YY_PROTO((
 %% yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here
 
 %- Standard (non-C++) definition
-static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
-#ifndef YY_USES_REJECT
-static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
-#endif
-static void yy_flex_free YY_PROTO(( void * ));
 static yy_state_type yy_get_previous_state YY_PROTO(( void ));
 static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
 static int yy_get_next_buffer YY_PROTO(( void ));