summaryrefslogtreecommitdiff
path: root/databases/postgresql82/files/Makefile.libtool
diff options
context:
space:
mode:
authoradam <adam@pkgsrc.org>2006-12-09 15:34:13 +0000
committeradam <adam@pkgsrc.org>2006-12-09 15:34:13 +0000
commit1ec6cc0a848d76f90fa5c8dd6b12727116cb0021 (patch)
tree23d35fae2cbc526b75353b476806d5fe4a3ec1fb /databases/postgresql82/files/Makefile.libtool
parent5518f3fc23c405aa0542a64e4368e34be74d89d0 (diff)
downloadpkgsrc-1ec6cc0a848d76f90fa5c8dd6b12727116cb0021.tar.gz
Changes 8.2.0:
* Query language enhancements including "INSERT/UPDATE/DELETE RETURNING", multirow VALUES lists, and optional target-table alias in "UPDATE"/"DELETE" * Index creation without blocking concurrent "INSERT"/"UPDATE"/"DELETE" operations * Many query optimization improvements, including support for reordering outer joins * Improved sorting performance with lower memory usage * More efficient locking with better concurrency * More efficient vacuuming * Easier administration of warm standby servers * New FILLFACTOR support for tables and indexes * Monitoring, logging, and performance tuning additions * More control over creating and dropping objects * Table inheritance relationships can be defined for and removed from pre-existing tables * "COPY TO" can copy the output of an arbitrary "SELECT" statement * Array improvements, including nulls in arrays * Aggregate-function improvements, including multiple-input aggregates and SQL:2003 statistical functions * Many "contrib/" improvements
Diffstat (limited to 'databases/postgresql82/files/Makefile.libtool')
-rw-r--r--databases/postgresql82/files/Makefile.libtool120
1 files changed, 120 insertions, 0 deletions
diff --git a/databases/postgresql82/files/Makefile.libtool b/databases/postgresql82/files/Makefile.libtool
new file mode 100644
index 00000000000..32490195a5a
--- /dev/null
+++ b/databases/postgresql82/files/Makefile.libtool
@@ -0,0 +1,120 @@
+#-------------------------------------------------------------------------
+#
+# Makefile.libtool
+# Common rules for buildling libtool archives
+#
+# IDENTIFICATION
+# $NetBSD: Makefile.libtool,v 1.1.1.1 2006/12/09 15:34:13 adam Exp $
+#
+#-------------------------------------------------------------------------
+
+##
+## Hacks/workarounds for makefiles in certain directories
+##
+
+# The following directories are building loadable shared modules, not
+# shared libraries.
+#
+ifneq (,$(findstring src/backend/utils/mb/conversion_procs/,$(subdir)))
+shmodule = yes
+else
+ifneq (,$(findstring src/pl/,$(subdir)))
+shmodule = yes
+else
+shmodule = no
+endif
+endif
+
+# Fix dependencies in some makefiles that assume the target matches
+# %.o so that when built for libtool, the target matches the corresponding
+# %.lo.
+#
+ifeq ($(subdir), src/interfaces/ecpg/ecpglib)
+path.lo: path.c $(top_builddir)/src/port/pg_config_paths.h
+endif
+
+ifeq ($(subdir), src/interfaces/libpq)
+fe-connect.lo: fe-connect.c $(top_builddir)/src/port/pg_config_paths.h
+endif
+
+ifeq ($(subdir), src/pl/plpgsql/src)
+pl_gram.lo pl_handler.lo pl_comp.lo pl_exec.lo pl_funcs.lo: plpgsql.h $(srcdir)/pl.tab.h
+pl_gram.lo: $(srcdir)/pl_scan.c
+endif
+
+
+##
+## VARIABLE DEFINITIONS
+##
+
+# Loadable shared modules are named differently from shared libraries
+# and are installed into $(pkglibdir).
+#
+ifeq ($(shmodule),yes)
+ltlib = $(NAME)$(DLSUFFIX)
+ltmodule = -module
+rpathdir = $(pkglibdir)
+else
+ltlib = lib$(NAME)$(DLSUFFIX)
+ltmodule =
+endif
+
+DLSUFFIX = .la
+
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(CPPFLAGS)
+LTLINK = $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) $(ltmodule) -rpath $(rpathdir) -version-info $(SO_MAJOR_VERSION):$(SO_MINOR_VERSION)
+LTOBJS = $(OBJS:%.o=%.lo)
+
+# Define INSTALL_SHLIB and shlib for the benefit of Makefiles for
+# loadable modules that have their own target for installing the
+# module.
+#
+INSTALL_LTLIB = $(LIBTOOL) --mode=install $(INSTALL)
+INSTALL_STLIB = $(INSTALL_LTLIB)
+INSTALL_SHLIB = $(INSTALL_LTLIB)
+shlib = $(ltlib)
+
+%.lo : %.c
+ $(LTCOMPILE) -c $< -o $@
+
+
+##
+## BUILD
+##
+
+.PHONY: all-lib all-static-lib all-shared-lib all-la-lib
+all-lib all-static-lib all-shared-lib: all-la-lib
+
+all-la-lib: $(ltlib)
+
+$(ltlib): $(LTOBJS)
+ $(LTLINK) -o $@ $(LTOBJS) $(SHLIB_LINK)
+
+
+##
+## INSTALL
+##
+
+.PHONY: install-lib install-lib-static install-lib-shared install-lib-la
+install-lib install-static-lib install-shared-lib: install-lib-la
+
+install-lib-la: $(ltlib)
+ $(INSTALL_LTLIB) $< $(DESTDIR)$(libdir)/$(ltlib)
+
+
+##
+## UNINSTALL
+##
+
+.PHONY: uninstall-lib
+uninstall-lib:
+ $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(ltlib)
+
+
+##
+## CLEAN
+##
+
+.PHONY: clean-lib
+clean-lib:
+ $(LIBTOOL) --mode=clean rm -f $(ltlib) $(LTOBJS)