[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ylwrap - flex filename weirdness

From: Philip Herron
Subject: Re: ylwrap - flex filename weirdness
Date: Sun, 31 Oct 2010 15:42:18 +0000

On 31 October 2010 10:54, Jan Engelhardt <address@hidden> wrote:
> Hi,
> While trying to utilize Autotools in a preexisting project that
> previously just relied on Makefiles, I came across ylwrap failing for
> some absurd, unknown reason. I couldn't help but run sh -x and debug it
> piecewise.
> So what's ultimately done is running flex inside a temp directory,
>        flex /home/jengelh/code/iproute2/tc/emp_ematch_lex.l
> It turns out flex produces a file called lex.ematch_.c, which is
> something ylwrap so does not expect at all - it only checks for
> what's in pairlist="yy.lex.c emp_ematch_lex.c".
> I can use AM_LFLAGS = -o yy.lex.c to work around it, but that feels like
> an ugly hack. What's up with flex here?

Ylwrap renames your Lex and Yacc files to their respective <source
names.{c,h}> So if your lexer was foo.l it would output foo.c not
lex.yy.c which is what your expecting. Here is a snippet
of a basic compiler i write a while back:

noinst_LIBRARIES = libparser.a

AM_CPPFLAGS = -I$(top_srcdir)/include

cmod_SOURCES = \
        mm-cmod.c \
        dd-util.c \
        dd-vec.c \
        ii-toplev.c \
        ii-mod-dot.c \

cmod_LDADD  = libparser.a

libcparser_a_YFLAGS = -d
libparser_a_CFLAGS = -DMOD -DPARSER
libparser_a_SOURCES = ss-parser.y ss-lexer.l

Hope this helps.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]