summaryrefslogtreecommitdiff
path: root/databases/postgresql83/Makefile.common
blob: d5a0d7c640052a4427417ae8c287e6ad44e52131 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# $NetBSD: Makefile.common,v 1.17 2011/02/15 09:06:31 adam Exp $
#
# used by databases/postgresql83-adminpack/Makefile
# used by databases/postgresql83-client/Makefile
# used by databases/postgresql83-plperl/Makefile
# used by databases/postgresql83-plpython/Makefile
# used by databases/postgresql83-pltcl/Makefile
# used by databases/postgresql83-server/Makefile
#
# 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/postgresql83/Makefile.mirrors"

DISTNAME=	postgresql-8.3.14
CATEGORIES=	databases
MASTER_SITES=	${PGSQL_MIRRORS:=source/v${PKGVERSION_NOREV}/}
EXTRACT_SUFX=	.tar.bz2

MAINTAINER?=	adam@NetBSD.org
HOMEPAGE=	http://www.postgresql.org/

CONFLICTS+=	postgresql-[0-9]*
CONFLICTS+=	postgresql7[0-9]-*
CONFLICTS+=	postgresql8[0-2]-*
CONFLICTS+=	postgresql8[4-9]-*

DISTINFO_FILE?=		${.CURDIR}/../postgresql83/distinfo
COMMON_FILESDIR?=	${.CURDIR}/../postgresql83/files
PATCHDIR?=		${.CURDIR}/../postgresql83/patches

USE_PKGLOCALEDIR=	yes
USE_TOOLS+=		bison gmake lex msgfmt
PKG_SYSCONFSUBDIR=	postgresql

.include "../../mk/bsd.prefs.mk"

PG_TEMPLATE.SunOS=	solaris
PG_TEMPLATE.IRIX=	irix5
.if !defined(PG_TEMPLATE.${OPSYS})
PG_TEMPLATE.${OPSYS}=	${LOWER_OPSYS}
.endif

GNU_CONFIGURE=		yes
CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR}
CONFIGURE_ARGS+=	--datadir=${PREFIX}/share/postgresql
CONFIGURE_ARGS+=	--with-docdir=${PREFIX}/share/doc/postgresql
CONFIGURE_ARGS+=	--with-template=${PG_TEMPLATE.${OPSYS}}

CONFIGURE_ARGS+=	--enable-nls
CONFIGURE_ARGS+=	--without-perl
CONFIGURE_ARGS+=	--without-python
CONFIGURE_ARGS+=	--without-readline
CONFIGURE_ARGS+=	--without-tcl
CONFIGURE_ARGS+=	--without-zlib

# 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

.include "../../devel/gettext-lib/buildlink3.mk"

.if !defined(META_PACKAGE)
post-extract:
.  if !empty(USE_LIBLTDL:M[yY][eE][sS])
	cp -f ${COMMON_FILESDIR}/dynloader-ltdl.h \
		${WRKSRC}/src/backend/port/dynloader/${PG_TEMPLATE.${OPSYS}:Q}.h
	${ECHO} "static int dummy = 0;" \
		> ${WRKSRC}/src/backend/port/dynloader/${PG_TEMPLATE.${OPSYS}:Q}.c
.  endif
	touch ${WRKSRC}/src/template/dragonfly
	cp ${WRKSRC}/src/backend/port/dynloader/freebsd.c \
		${WRKSRC}/src/backend/port/dynloader/dragonfly.c
	cp ${WRKSRC}/src/backend/port/dynloader/freebsd.h \
		${WRKSRC}/src/backend/port/dynloader/dragonfly.h
	cp ${WRKSRC}/src/include/port/freebsd.h \
		${WRKSRC}/src/include/port/dragonfly.h
	cp ${WRKSRC}/src/makefiles/Makefile.freebsd \
		${WRKSRC}/src/makefiles/Makefile.dragonfly
.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)
SUBST_CLASSES+=		blcksz
SUBST_STAGE.blcksz=	pre-configure
SUBST_MESSAGE.blcksz=	Adjusting BLCKSZ.
SUBST_FILES.blcksz=	src/include/pg_config_manual.h
SUBST_SED.blcksz=	-e 's,define BLCKSZ.*,define BLCKSZ ${PGSQL_BLCKSZ},'
.endif

.include "../../databases/postgresql83/options.mk"