Elsa is downloaded from
http://www.cs.berkeley.edu/~smcpeak/elkhound/sources/elsa/ .
Cygwin was installed before.
Flex 2.5.35 is installed via cygwin setup program.
I met a few problems while building the elsa package.
The first problem was a sort of preprocessor syntax error.
I found the following code snippet.
/* The contents of this function are C++ specific, so the () macro is not used.
The comment was not closed !!!
The problem occured for three subdirectories that utilizes flex. (ast, elkhound, elsa)
So I closed the comment.
However, I still do not know why the false code is generated by flex.
The second problem was also a flex related error.
astxml_lexer.yy.o: In function `_ZN11AstXmlLexerD0Ev':
/cygdrive/d/home/elsa/elsa/astxml_lexer.lex:(.text+0x0): multiple definition of
`yyFlexLexer::yywrap()'
lexer.yy.o:/usr/include/FlexLexer.h:63: first defined here
collect2: ld returned 1 exit status
The yywrap definition is found in '/usr/include/FlexLexer.h' and 'astxml_lexer.lex'.
Though all other lex files contains '%option noyywrap' option, just 'astxml_lexer.lex' make errors.
I don't know still why. :-(
To detour this problem, i replaced all yywrap() call into 1.
Then the compilation completed.