From 76aca0cdeb648421ebbbfc3c7e14c2d0d1878348 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Fri, 24 Oct 2014 19:49:08 -0700 Subject: GNU Flex's libfl library provides nothing. Let us not refer to it. It only causes build issues on some systems where it is not provided in the standard location, or is not cross-compiled properly. * Makefile (LEXLIB): Reference to variable removed. * configure (lexlib): Variable removed. (LEXLIB): config.make variable not generated. * parser.l (yywrap): Provide this trivial function as inline. --- ChangeLog | 13 +++++++++++++ Makefile | 2 +- configure | 6 ------ parser.l | 9 +++++++++ 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7a436101..e326e3de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2014-10-24 Kaz Kylheku + + GNU Flex's libfl library provides nothing. Let us not refer to it. It + only causes build issues on some systems where it is not provided + in the standard location, or is not cross-compiled properly. + + * Makefile (LEXLIB): Reference to variable removed. + + * configure (lexlib): Variable removed. + (LEXLIB): config.make variable not generated. + + * parser.l (yywrap): Provide this trivial function as inline. + 2014-10-24 Kaz Kylheku * Makefile: Removing trailing spaces. diff --git a/Makefile b/Makefile index a9d4331e..c3b1dd50 100644 --- a/Makefile +++ b/Makefile @@ -54,7 +54,7 @@ OBJS += $(MPI_OBJS) PROG := txr $(PROG): $(OBJS) $(OBJS-y) - $(CC) $(CFLAGS) -o $@ $^ -lm $(LEXLIB) + $(CC) $(CFLAGS) -o $@ $^ -lm VPATH := $(top_srcdir) diff --git a/configure b/configure index 64177c21..0c60f899 100755 --- a/configure +++ b/configure @@ -90,7 +90,6 @@ intptr= exe= tool_prefix= lex='$(cross)$(tool_prefix)flex' -lexlib=-lfl yaccname_given= yaccname= yacc='$(cross)$(tool_prefix)$(yaccname)' @@ -320,10 +319,6 @@ lex [$lex] Specifies the program to use for compiling lex scanners to C. This must be compatible with GNU flex, since flex extensions are used. -lexlib [$lexlib] - - Specifies the linker flag to use for linking the lex library. - yaccname [$yaccname] Specifies just the name of the yacc program without the path. @@ -624,7 +619,6 @@ EXE := $exe CC := $cc LEX := $lex -LEXLIB := $lexlib YACC := $yacc NM := $nm diff --git a/parser.l b/parser.l index 180f5fa4..e538b22c 100644 --- a/parser.l +++ b/parser.l @@ -79,6 +79,15 @@ int yylex_destroy(void) int yyget_column(yyscan_t); void yyset_column (int column_no, yyscan_t yyscanner); +/* The following function is all that libflex provides. + By providing it here, we eliminate the need to link libflex. */ +#define YY_SKIP_YYWRAP +INLINE int yywrap(yyscan_t scanner) +{ + (void) scanner; + return 1; +} + void yyerror(scanner_t *scanner, parser_t *parser, const char *s) { yyerrorf(scanner, lit("~a"), string_utf8(s), nao); -- cgit v1.2.3