]> granicus.if.org Git - postgresql/commit
Build backend/parser/scan.l and interfaces/ecpg/preproc/pgc.l standalone.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 11 Dec 2016 22:44:16 +0000 (17:44 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 11 Dec 2016 22:44:16 +0000 (17:44 -0500)
commit7192865bdc48ded15caaba63fef313ff9e84eb71
tree3c4dea945fb95e2b2bb871b0cff3475628331ba3
parent6f5cb982e7df8f277505fd2028be83211d586769
Build backend/parser/scan.l and interfaces/ecpg/preproc/pgc.l standalone.

Back-patch commit 72b1e3a21 into the pre-9.6 branches.

As noted in the original commit, this has some extra benefits: we can
narrow the scope of the -Wno-error flag that's forced on scan.c.  Also,
since these grammar and lexer files are so large, splitting them into
separate build targets should have some advantages in build speed,
particularly in parallel or ccache'd builds.

However, the real reason for doing this now is that it avoids symbol-
redefinition warnings (or worse) with the latest version of flex.
It's not unreasonable that people would want to compile our old branches
with recent tools.  Per report from Дилян Палаузов.

Discussion: https://postgr.es/m/d845c1af-e18d-6651-178f-9f08cdf37e10@aegee.org
src/backend/parser/Makefile
src/backend/parser/gram.y
src/backend/parser/scan.l
src/interfaces/ecpg/preproc/Makefile
src/interfaces/ecpg/preproc/ecpg.trailer
src/interfaces/ecpg/preproc/pgc.l