[BACK]Return to Makefile.common CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / databases / postgresql80

File: [cvs.NetBSD.org] / pkgsrc / databases / postgresql80 / Attic / Makefile.common (download)

Revision 1.12, Sat Dec 17 05:20:21 2005 UTC (17 years, 1 month ago) by jlam
Branch: MAIN
CVS Tags: pkgsrc-2005Q4-base
Branch point for: pkgsrc-2005Q4
Changes since 1.11: +2 -2 lines

Change my MAINTAINER email address to the one I've been using for
pkgsrc work.

# $NetBSD: Makefile.common,v 1.12 2005/12/17 05:20:21 jlam 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 "../../databases/postgresql80/Makefile.mirrors"

DISTNAME?=	postgresql-${DIST_VERS}
CATEGORIES+=	databases
MASTER_SITES?=  ${PGSQL_MIRRORS:=source/v${DIST_VERS}/}
EXTRACT_SUFX=	.tar.bz2

MAINTAINER?=	jlam@pkgsrc.org
HOMEPAGE?=	http://www.postgresql.org/

CONFLICTS+=	postgresql-[0-9]* postgresql73-* postgresql74-*

DISTINFO_FILE?=		${.CURDIR}/../postgresql80/distinfo
COMMON_FILESDIR?=	${.CURDIR}/../postgresql80/files
PATCHDIR?=		${.CURDIR}/../postgresql80/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-postgresql when updating version
#
DIST_VERS?=		8.0.4
BASE_VERS?=		${DIST_VERS}

BUILDLINK_DEPENDS.postgresql80-client+=	postgresql80-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:Q}
CONFIGURE_ARGS+=	--datadir=${PG_DATA_DIR:Q}
CONFIGURE_ARGS+=	--with-docdir=${PG_DOC_DIR:Q}
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