Dear patchers,

This patch addresses open item "make pgxs install by default" in Bruce's
list.

(1) "make intall" installs everything.

(2) "make light-install" does not install pgxs and server dev stuff.
     this is the previous version of "make install". This target maybe
     of interest of packagers. If you want any other name, just tell
     me what you want!

(3) the installation.sgml documentation reflects the new status...
    but only with my poor English.

(4) I noticed that some pgxs related files were incidently installed
    under "light-install", so I make sure that they are not.

(5) a minor stylistic fix in the pgxs makefile, so that it does not
    have a double slash (/some/directory//sub/directory) in some paths.



What might be consider for future improvements,
but ISTM not mandatory for 8.0?

- maybe rename "install-all-headers" target, as it also install
  scripts, makefiles and libraries useful for server developpement.
  I would suggest "install-server-dev".

- make the contrib regressions work with pgxs. I'm not sure about what
  is needed for that.

I'm available to fix any problem with this patch.

Have a nice day,

-- 
Fabien Coelho - [EMAIL PROTECTED]
*** ./GNUmakefile.in.orig       Tue Aug 10 08:29:01 2004
--- ./GNUmakefile.in    Thu Sep  2 09:30:22 2004
***************
*** 14,23 ****
        $(MAKE) -C config all
        @echo "All of PostgreSQL successfully made. Ready to install."
  
! install:
        $(MAKE) -C doc install
        $(MAKE) -C src install
-       $(MAKE) -C config install
        @echo "PostgreSQL installation complete."
  
  installdirs uninstall distprep:
--- 14,25 ----
        $(MAKE) -C config all
        @echo "All of PostgreSQL successfully made. Ready to install."
  
! # default installation includes dev stuff
! install: light-install install-all-headers
! 
! light-install:
        $(MAKE) -C doc install
        $(MAKE) -C src install
        @echo "PostgreSQL installation complete."
  
  installdirs uninstall distprep:
***************
*** 27,32 ****
--- 29,35 ----
  
  install-all-headers:
        $(MAKE) -C src $@
+       $(MAKE) -C config $@
  
  # clean, distclean, etc should apply to contrib too, even though
  # it's not built by default
*** ./config/Makefile.orig      Fri Jul 30 14:26:39 2004
--- ./config/Makefile   Thu Sep  2 09:29:32 2004
***************
*** 5,11 ****
  include $(top_builddir)/src/Makefile.global
  
  
! install: all installdirs
        $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(pgxsdir)/config/install-sh
        $(INSTALL_SCRIPT) $(srcdir)/mkinstalldirs 
$(DESTDIR)$(pgxsdir)/config/mkinstalldirs
  
--- 5,11 ----
  include $(top_builddir)/src/Makefile.global
  
  
! install-all-headers: all installdirs
        $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(pgxsdir)/config/install-sh
        $(INSTALL_SCRIPT) $(srcdir)/mkinstalldirs 
$(DESTDIR)$(pgxsdir)/config/mkinstalldirs
  
*** ./doc/src/sgml/installation.sgml.orig       Mon Jun 21 08:36:52 2004
--- ./doc/src/sgml/installation.sgml    Thu Sep  2 09:35:50 2004
***************
*** 1042,1059 ****
     </para>
  
     <para>
!     The standard installation provides only the header files needed for client
!     application development.  If you plan to do any server-side program
!     development (such as custom functions or data types written in C),
!     then you may want to install the entire <productname>PostgreSQL</>
!     include tree into your target include directory.  To do that, enter
  <screen>
! <userinput>gmake install-all-headers</userinput>
  </screen>
!     This adds a megabyte or two to the installation footprint, and is only
!     useful if you don't plan to keep the whole source tree around for
!     reference.  (If you do, you can just use the source's include
!     directory when building server-side software.)
     </para>
  
     <formalpara>
--- 1042,1063 ----
     </para>
  
     <para>
!     The standard installation provides all the header files needed for client
!     application development as well as for any server-side program
!     development (such as custom functions or data types written in C).
!     If you want a lighter installation of <productname>PostgreSQL</> enter
  <screen>
! <userinput>gmake light-install</userinput>
  </screen>
!     instead of the standard install.
!     This makes the installation footprint a megabyte or two ligther by
!     not installing server-side program developpement header files,
!     libraries, scripts and other support files.
!     It is only useful if you don't plan to add extension modules (such as 
!     contribs) later. 
!     If you do so and you change your mind later, you can still use the
!     source's include directory when building server-side software.
!     This target still installs client application header files.
     </para>
  
     <formalpara>
*** ./src/Makefile.orig Mon Aug 23 09:15:09 2004
--- ./src/Makefile      Thu Sep  2 09:46:42 2004
***************
*** 25,31 ****
        $(MAKE) -C makefiles $@
        $(MAKE) -C utils $@
  
! install: install-local
  
  install-local: installdirs-local
        $(INSTALL_DATA) Makefile.global $(DESTDIR)$(pgxsdir)/$(subdir)/Makefile.global
--- 25,31 ----
        $(MAKE) -C makefiles $@
        $(MAKE) -C utils $@
  
! install-all-headers: install-local
  
  install-local: installdirs-local
        $(INSTALL_DATA) Makefile.global $(DESTDIR)$(pgxsdir)/$(subdir)/Makefile.global
***************
*** 36,41 ****
--- 36,42 ----
  install-all-headers:
        $(MAKE) -C include $@
        $(MAKE) -C port $@
+       $(MAKE) -C makefiles $@
  
  installdirs: installdirs-local
  
*** ./src/makefiles/Makefile.orig       Fri Jul 30 14:26:40 2004
--- ./src/makefiles/Makefile    Thu Sep  2 09:39:47 2004
***************
*** 5,11 ****
  include $(top_builddir)/src/Makefile.global
  
  
! install: all installdirs
        $(INSTALL_DATA) $(srcdir)/pgxs.mk $(DESTDIR)$(pgxsdir)/$(subdir)/
  
  installdirs:
--- 5,11 ----
  include $(top_builddir)/src/Makefile.global
  
  
! install-all-headers: all installdirs
        $(INSTALL_DATA) $(srcdir)/pgxs.mk $(DESTDIR)$(pgxsdir)/$(subdir)/
  
  installdirs:
*** ./src/makefiles/pgxs.mk.orig        Fri Jul 30 14:26:40 2004
--- ./src/makefiles/pgxs.mk     Thu Sep  2 09:26:36 2004
***************
*** 50,56 ****
  
  ifdef PGXS
  # We assume that we are in src/makefiles/, so top is ...
! top_builddir := $(dir $(PGXS))/../..
  include $(top_builddir)/src/Makefile.global
  
  top_srcdir = $(top_builddir)
--- 50,56 ----
  
  ifdef PGXS
  # We assume that we are in src/makefiles/, so top is ...
! top_builddir := $(dir $(PGXS))../..
  include $(top_builddir)/src/Makefile.global
  
  top_srcdir = $(top_builddir)
---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to