Thread: fmgroids.h not installed by "make install" in VPATH
Hi, It seems our makefiles fail to install fmgroids.h by "make install" in a VPATH build. The reason is that they do this (src/include/Makefile) for dir in $(SUBDIRS); do \ cp $(srcdir)/$$dir/*.h '$(DESTDIR)$(includedir_server)'/$$dir/ || exit; \ chmod $(INSTALL_DATA_MODE)'$(DESTDIR)$(includedir_server)'/$$dir/*.h || exit; \ done However, fmgroids.h is a symlink in the builddir, not present in the sourcedir. I think in a regular build it should install but I can't confirm it because I don't have one handy. There are a few other symlinks in src/include: ./dynloader.h ./pg_config_os.h ./utils/fmgroids.h ./parser/parse.h pg_config_os.h is installed manually. Not sure of the usefulness of installing dynloader.h and parse.h; fmgroids.h is needed to build the EDB pldebugger so I think it should be installed. (Right now I think the debugger forces you to build in-tree.) I think the solution is to treat fmgroids.h just like pg_config_os.h, i.e. add a line like this: $(INSTALL_DATA) utils/fmgroids.h '$(DESTDIR)/$(includedir_server)/utils' BTW: do we really need to install the win32 headers on non-win32 builds? -- Alvaro Herrera http://www.CommandPrompt.com/ PostgreSQL Replication, Consulting, Custom Development, 24x7 support
On Wednesday 08 July 2009 02:09:20 Alvaro Herrera wrote: > It seems our makefiles fail to install fmgroids.h by "make install" in a > VPATH build. > I think the solution is to treat fmgroids.h just like pg_config_os.h, > i.e. add a line like this: > > $(INSTALL_DATA) utils/fmgroids.h '$(DESTDIR)/$(includedir_server)/utils' The fix looks right. Has it been applied?
Peter Eisentraut wrote: > On Wednesday 08 July 2009 02:09:20 Alvaro Herrera wrote: > > It seems our makefiles fail to install fmgroids.h by "make install" in a > > VPATH build. > > > I think the solution is to treat fmgroids.h just like pg_config_os.h, > > i.e. add a line like this: > > > > $(INSTALL_DATA) utils/fmgroids.h '$(DESTDIR)/$(includedir_server)/utils' > > The fix looks right. Has it been applied? Nope, and I'm away right now so feel free. -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc.
Peter Eisentraut wrote: > On Wednesday 08 July 2009 02:09:20 Alvaro Herrera wrote: > > It seems our makefiles fail to install fmgroids.h by "make install" in a > > VPATH build. > > > I think the solution is to treat fmgroids.h just like pg_config_os.h, > > i.e. add a line like this: > > > > $(INSTALL_DATA) utils/fmgroids.h '$(DESTDIR)/$(includedir_server)/utils' > > The fix looks right. Has it been applied? FWIW I intend to apply it to HEAD and 8.4 only; if you think it should be backpatched further back please say so. -- Alvaro Herrera http://www.CommandPrompt.com/ PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Peter Eisentraut wrote: > On Wednesday 08 July 2009 02:09:20 Alvaro Herrera wrote: > > It seems our makefiles fail to install fmgroids.h by "make install" in a > > VPATH build. > > > I think the solution is to treat fmgroids.h just like pg_config_os.h, > > i.e. add a line like this: > > > > $(INSTALL_DATA) utils/fmgroids.h '$(DESTDIR)/$(includedir_server)/utils' > > The fix looks right. Has it been applied? Applied and backpatched up to 8.2. (It didn't apply cleanly to 8.1). -- Alvaro Herrera http://www.CommandPrompt.com/ PostgreSQL Replication, Consulting, Custom Development, 24x7 support