Skip to content

Commit

Permalink
Built flex with itself.
Browse files Browse the repository at this point in the history
Changes in scan.l need to be built into flex with the same version of
flex in some cases. Since this build requirement is minimal, we simply
bootstrap flex unconditionally.

We intentionally exclude from version control the bootstrap artifacts as
the extra copy of the lexer, the intermediate scanner and the bootstrap
executable are not of interest.
  • Loading branch information
westes committed Dec 7, 2015
1 parent e087788 commit 53e3088
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
2 changes: 2 additions & 0 deletions src/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ parse.c
parse.h
scan.c
skel.c
stage1scan.[cl]
stage1flex
18 changes: 17 additions & 1 deletion src/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,20 @@ LIBS = @LIBINTL@ @LIBS@
m4 = @M4@

bin_PROGRAMS = flex
noinst_PROGRAMS = stage1flex
lib_LTLIBRARIES = \
libfl.la \
libfl_pic.la

stage1flex_SOURCES = \
scan.l \
$(COMMON_SOURCES)

flex_SOURCES = \
stage1scan.l \
$(COMMON_SOURCES)

COMMON_SOURCES = \
buf.c \
ccl.c \
dfa.c \
Expand All @@ -23,7 +32,6 @@ flex_SOURCES = \
options.c \
parse.y \
regex.c \
scan.l \
scanflags.c \
scanopt.c \
skel.c \
Expand Down Expand Up @@ -64,6 +72,8 @@ EXTRA_DIST = \
mkskel.sh \
gettext.h

DISTCLEANFILES = stage1scan.c

MAINTAINERCLEANFILES = skel.c

$(srcdir)/skel.c: flex.skl mkskel.sh flexint.h tables_shared.h
Expand All @@ -76,6 +86,12 @@ $(srcdir)/skel.c: flex.skl mkskel.sh flexint.h tables_shared.h
$(SHELL) $(srcdir)/mkskel.sh >skel.c.tmp
mv skel.c.tmp $(srcdir)/skel.c

stage1scan.l: scan.l
cp $(srcdir)/scan.l $(srcdir)/stage1scan.l

stage1scan.c: stage1scan.l stage1flex$(EXEEXT)
$(top_builddir)/src/stage1flex$(EXEEXT) -o $@ $<

# Explicitly describe dependencies.
# You can recreate this with `gcc -I. -MM *.c'
buf.o: buf.c flexdef.h flexint.h
Expand Down

0 comments on commit 53e3088

Please sign in to comment.