Proposed cleanup of generated header files
It's bothered me for some time that backend files need to be compiled
with -I src/backend as well as -I src/include. AFAICT this is just
because the two header files that are generated on-the-fly (parse.h
and fmgroids.h, formerly known as fmgr.h) are included from src/backend
rather than being inserted into the include tree, which it seems to me
is where they should be. Any objections if I rearrange the makefiles
so that these files get placed under include/ when they are built,
and then -I src/backend goes away?
(In case anyone is wondering, there are no platform-dependencies in
either file. We could distribute them as part of the distribution
tarball --- in fact we already do so for parse.h. So I don't see
that installing them into src/include would create any problems for
multiplatform builds.)
regards, tom lane
It's bothered me for some time that backend files need to be compiled
with -I src/backend as well as -I src/include. AFAICT this is just
because the two header files that are generated on-the-fly (parse.h
and fmgroids.h, formerly known as fmgr.h) are included from src/backend
rather than being inserted into the include tree, which it seems to me
is where they should be. Any objections if I rearrange the makefiles
so that these files get placed under include/ when they are built,
and then -I src/backend goes away?(In case anyone is wondering, there are no platform-dependencies in
either file. We could distribute them as part of the distribution
tarball --- in fact we already do so for parse.h. So I don't see
that installing them into src/include would create any problems for
multiplatform builds.)
Agreed.
--
Bruce Momjian | http://www.op.net/~candle
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
On Sun, 28 May 2000, Tom Lane wrote:
It's bothered me for some time that backend files need to be compiled
with -I src/backend as well as -I src/include. AFAICT this is just
because the two header files that are generated on-the-fly (parse.h
and fmgroids.h, formerly known as fmgr.h) are included from src/backend
rather than being inserted into the include tree, which it seems to me
is where they should be. Any objections if I rearrange the makefiles
so that these files get placed under include/ when they are built,
and then -I src/backend goes away?(In case anyone is wondering, there are no platform-dependencies in
either file. We could distribute them as part of the distribution
tarball --- in fact we already do so for parse.h. So I don't see
that installing them into src/include would create any problems for
multiplatform builds.)
Sounds perfect to me ... just make changes to prep_release in tools so
that they are generated for the snapshots?
Any objections if I rearrange the makefiles
so that these files get placed under include/ when they are built,
and then -I src/backend goes away?
Done. Note you'd be well advised to do make distclean / configure
after pulling these updates --- lotta Makefile.in files changed...
The Hermit Hacker <scrappy@hub.org> writes:
Sounds perfect to me ... just make changes to prep_release in tools so
that they are generated for the snapshots?
No point in changing prep_release that I can see. fmgroids.h has to
have a dependency on Gen_fmgrtab.sh, which is built at configure time
from Gen_fmgrtab.sh.in. So it'd get rebuilt anyway, even though there's
no real platform dependency in it. parse.h is distributed in the
tarball in backend/parser where it's built, so we don't need another
copy distributed in include/parser.
regards, tom lane