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

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to