Ping. It's fairly straightforward once you figure it out,
but I lost half-an-hour looking at cproto before I figured out
the cache problem.



On Thu, Jun 25, 2026 at 12:26:31PM +0200, Marc Espie wrote:
> I was trying to port cproto (port attached more or less)
> and couldn't figure out why it broke.
> 
> 
> Turns out the 3 tests for lex/flex are bogus ! specifically
> they generate a lex.yy.c and only clean it up if the value
> is not cached somewhere !
> 
> This is often not a problem, because normal builds rarely use
> the generic lex.yy.c
> 
> Enter cproto...
> 
> 
> I'd advise removing those cache entries like so:
> 
> Index: config.site
> ===================================================================
> RCS file: /build/data/openbsd/cvs/ports/infrastructure/db/config.site,v
> diff -u -p -r1.34 config.site
> --- config.site       30 Jul 2024 14:58:32 -0000      1.34
> +++ config.site       25 Jun 2026 10:23:15 -0000
> @@ -23,6 +23,10 @@
>  #ac_cv_func_tigetstr=${ac_cv_func_tigetstr=yes}      
>  # gnulib's stdbool.m4 disagrees for gcc2.95
>  #ac_cv_header_stdbool_h=${ac_cv_header_stdbool_h=yes}
> +# XXX all 3 lex tests are intertwined and don't clean up properly
> +#ac_cv_prog_LEX=${ac_cv_prog_LEX=flex}
> +#ac_cv_prog_lex_root=lex.yy
> +#ac_cv_prog_lex_yytext_pointer=${ac_cv_prog_lex_yytext_pointer=yes}
>  ac_cv_accept_arg=${ac_cv_accept_arg=socklen_t}       
>  ac_cv_argtype_accept3=${ac_cv_argtype_accept3=socklen_t *}   
>  ac_cv_argtype_poll2=${ac_cv_argtype_poll2=nfds_t}    
> @@ -871,7 +875,6 @@ ac_cv_path_fp_prog_sort=${ac_cv_path_fp_
>  ac_cv_path_passwd_program=${ac_cv_path_passwd_program=/usr/bin/passwd}
>  ac_cv_path_path_su=${ac_cv_path_path_su=/usr/bin/su}
>  ac_cv_prog_AWK=${ac_cv_prog_AWK=awk}
> -ac_cv_prog_LEX=${ac_cv_prog_LEX=flex}
>  ac_cv_prog_PERL=${ac_cv_prog_PERL=/usr/bin/perl}
>  ac_cv_prog_SED=${ac_cv_prog_SED=/usr/bin/sed}
>  ac_cv_prog_SORT=${ac_cv_prog_SORT=sort}
> @@ -885,7 +888,6 @@ ac_cv_prog_egrep=${ac_cv_prog_egrep='gre
>  ac_cv_prog_f77_g=${ac_cv_prog_f77_g=yes}
>  ac_cv_prog_gcc=${ac_cv_prog_gcc=yes}
>  ac_cv_prog_have_hp2ps=${ac_cv_prog_have_hp2ps=1}
> -ac_cv_prog_lex_yytext_pointer=${ac_cv_prog_lex_yytext_pointer=yes}
>  ac_cv_prog_make_make_set=${ac_cv_prog_make_make_set=yes}
>  ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
>  ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
> 
> 
> or else, if someone is brave enough to try to fix the autoconf macros
> upstream, maybe in ten years, we'll have fixed aclocal and fixed autoconfs.


Reply via email to