summaryrefslogtreecommitdiff
path: root/databases/postgresql81/Makefile.common
diff options
context:
space:
mode:
Diffstat (limited to 'databases/postgresql81/Makefile.common')
-rw-r--r--databases/postgresql81/Makefile.common155
1 files changed, 155 insertions, 0 deletions
diff --git a/databases/postgresql81/Makefile.common b/databases/postgresql81/Makefile.common
new file mode 100644
index 00000000000..5841aef6b5a
--- /dev/null
+++ b/databases/postgresql81/Makefile.common
@@ -0,0 +1,155 @@
+# $NetBSD: Makefile.common,v 1.1.1.1 2006/03/20 14:45:49 uebayasi Exp $
+#
+# This Makefile fragment is included by all PostgreSQL packages built from
+# the main sources of the PostgreSQL distribution except jdbc-postgresql.
+#
+# The PostgreSQL package naming scheme, aside from the obvious piecewise
+# packages, is as follows:
+#
+# <lang>-postgresql client-side interface to PostgreSQL
+# postgresql-<lang> server-side module for PostgreSQL backend
+
+.include "../../wip/postgresql81/Makefile.mirrors"
+
+DISTNAME?= postgresql-${DIST_VERS}
+CATEGORIES+= databases
+MASTER_SITES?= ${PGSQL_MIRRORS:=source/v${DIST_VERS}/}
+EXTRACT_SUFX= .tar.bz2
+
+MAINTAINER?= jlam@NetBSD.org
+HOMEPAGE?= http://www.postgresql.org/
+
+CONFLICTS+= postgresql-[0-9]* postgresql73-* postgresql74-* postgresql80-*
+
+DISTINFO_FILE?= ${.CURDIR}/../postgresql81/distinfo
+COMMON_FILESDIR?= ${.CURDIR}/../postgresql81/files
+PATCHDIR?= ${.CURDIR}/../postgresql81/patches
+
+# Version numbering scheme:
+#
+# DIST_VERS version number on the postgresql distfile
+# BASE_VERS pkgsrc-mangled version number (convert pl -> .)
+#
+# Note: Do not forget jdbc-postgresql81 when updating version
+#
+DIST_VERS?= 8.1.3
+BASE_VERS?= ${DIST_VERS}
+
+BUILDLINK_DEPENDS.postgresql81-client+= postgresql81-client>=${BASE_VERS}
+
+GNU_CONFIGURE= yes
+BUILD_USES_MSGFMT= yes
+USE_TOOLS+= bison gmake lex
+PKG_SYSCONFSUBDIR= postgresql
+
+# in 7.4.x/8.0.x, this is done by autoconf stuff which has leading whitespace
+USE_PKGLOCALEDIR= yes
+SUBST_CLASSES+= pglocale
+SUBST_FILES.pglocale= configure config/programs.m4
+SUBST_STAGE.pglocale= pre-configure
+SUBST_SED.pglocale= -e 's|\( localedir[ :]*=\).*|\1${PG_LOCALE_DIR}|'
+
+.include "../../mk/bsd.prefs.mk"
+
+PGSQL_TEMPLATE.SunOS= solaris
+PGSQL_TEMPLATE.IRIX= irix5
+.if !defined(PGSQL_TEMPLATE.${OPSYS})
+PGSQL_TEMPLATE.${OPSYS}= ${LOWER_OPSYS}
+.endif
+
+PG_SUBPREFIX= # empty
+.if empty(PG_SUBPREFIX)
+PG_PREFIX= ${PREFIX}
+PLIST_SUBST+= PG_SUBPREFIX=
+.else
+PG_PREFIX= ${PREFIX}/${PG_SUBPREFIX}
+BUILD_DEFS+= PG_SUBPREFIX
+PLIST_SUBST+= PG_SUBPREFIX=${PG_SUBPREFIX}/
+BUILDLINK_PASSTHRU_DIRS+= ${PG_PREFIX}
+.endif
+PG_DATA_DIR= ${PG_PREFIX}/share/postgresql
+PG_DOC_DIR= ${PG_PREFIX}/share/doc/postgresql
+PG_LOCALE_DIR= ${PG_PREFIX}/${PKGLOCALEDIR}/locale
+PG_ETC_DIR= ${PKG_SYSCONFDIR:S/^${PREFIX}\//${PG_PREFIX}\//}
+
+GNU_CONFIGURE_PREFIX= ${PG_PREFIX}
+CONFIGURE_ARGS+= --sysconfdir=${PG_ETC_DIR}
+CONFIGURE_ARGS+= --datadir=${PG_DATA_DIR}
+CONFIGURE_ARGS+= --with-docdir=${PG_DOC_DIR}
+CONFIGURE_ARGS+= --with-template=${PGSQL_TEMPLATE.${OPSYS}}
+CONFIGURE_ARGS+= --without-readline
+CONFIGURE_ARGS+= --without-zlib
+CONFIGURE_ARGS+= --enable-nls
+
+CONFIGURE_ARGS+= --without-java
+CONFIGURE_ARGS+= --without-perl
+CONFIGURE_ARGS+= --without-python
+CONFIGURE_ARGS+= --without-tcl
+
+# Enable Rendezvous on Mac OS X
+.if ${OPSYS} == "Darwin"
+CONFIGURE_ARGS+= --with-rendezvous
+.endif
+
+# PostgreSQL explicitly forbids any use of -ffast-math
+BUILDLINK_TRANSFORM+= rm:-ffast-math
+
+# USE_LIBLTDL is "yes" or "no" depending on whether we're using libltdl
+# to provide "dlopen" functionality for the PostgreSQL backend.
+#
+.if ${OPSYS} == "Interix"
+USE_LIBLTDL?= yes
+.endif
+USE_LIBLTDL?= no
+
+FILES_SUBST+= PG_PREFIX=${PG_PREFIX:Q}
+
+.include "../../devel/gettext-lib/buildlink3.mk"
+
+post-extract:
+ if ${TEST} -d ${WRKSRC}/src; then \
+ ${RM} -f ${WRKSRC}/src/Makefile.custom; \
+ ${CP} -f ${COMMON_FILESDIR}/Makefile.custom \
+ ${WRKSRC}/src/Makefile.custom; \
+ ${RM} -f ${WRKSRC}/src/Makefile.shlib; \
+ ${CP} -f ${COMMON_FILESDIR}/Makefile.libtool \
+ ${WRKSRC}/src/Makefile.shlib; \
+ fi
+ if ${TEST} -d ${WRKSRC}/src/interfaces/libpq; then \
+ ${RM} -f ${WRKSRC}/src/interfaces/libpq/GNUmakefile; \
+ ${CP} -f ${COMMON_FILESDIR}/GNUmakefile.libpq \
+ ${WRKSRC}/src/interfaces/libpq/GNUmakefile; \
+ fi
+ if ${TEST} -d ${WRKSRC}/src/interfaces/libpgtcl; then \
+ ${RM} -f ${WRKSRC}/src/interfaces/libpgtcl/GNUmakefile; \
+ ${CP} -f ${COMMON_FILESDIR}/GNUmakefile.libpgtcl \
+ ${WRKSRC}/src/interfaces/libpgtcl/GNUmakefile; \
+ fi
+.if !empty(USE_LIBLTDL:M[yY][eE][sS])
+ if ${TEST} -d ${WRKSRC}/src/backend/port/dynloader; then \
+ template=${PGSQL_TEMPLATE.${OPSYS}:Q}; \
+ ${RM} -f ${WRKSRC}/src/backend/port/dynloader/$$template.[ch]; \
+ ${CP} -f ${COMMON_FILESDIR}/dynloader-ltdl.h \
+ ${WRKSRC}/src/backend/port/dynloader/$$template.h; \
+ ${ECHO} "static int dummy = 0;" \
+ >${WRKSRC}/src/backend/port/dynloader/$$template.c
+ fi
+.endif
+
+# PGSQL_BLCKSZ is the size in bytes of a PostgreSQL disk page or block.
+# This also limits the size of a tuple. The valid values are powers
+# of 2 up to 32768, and the default size is 8196 (hardcoded in the
+# PostgreSQL sources). Please don't change this value unless you know
+# what you are doing.
+#
+BUILD_DEFS+= PGSQL_BLCKSZ
+
+.if defined(PGSQL_BLCKSZ)
+.PHONY: pgsql-blcksz
+pre-configure: pgsql-blcksz
+pgsql-blcksz:
+ for file in ${WRKSRC}/src/include/pg_config_manual.h; do \
+ ${SED} -e "/^#define[ ]*BLCKSZ[ ]*/s/^\(#define[ ]*BLCKSZ\).*/\1 ${PGSQL_BLCKSZ}/" $$file > $$file.new; \
+ ${MV} -f $$file.new $$file; \
+ done
+.endif