summaryrefslogtreecommitdiff
path: root/databases/postgresql13-client/Makefile
blob: 2ae3a200d8dc43f7f289dd79bb939051b1d0e678 (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
# $NetBSD: Makefile,v 1.20 2022/08/15 20:59:38 adam Exp $

PKGNAME=	${DISTNAME:S/-/13-client-/}
COMMENT=	PostgreSQL database client programs

.include "../../databases/postgresql13/Makefile.common"

USE_TOOLS+=		gzip msgfmt tar
TOOLS_BROKEN+=		perl
CONFIGURE_ARGS+=	--with-openssl
CONFIGURE_ARGS+=	--with-zlib

# Override INSTALL script to avoid unprivileged user/group
# leaking into the binary package
CONFIGURE_ARGS+=	INSTALL=${INSTALL:Q}\ -c

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

.if ${OPSYS} == "Cygwin"
INSTALLATION_DIRS+=	bin
.endif

# 1. The thread-safety test in ${WRSRC}/src/tools/thread does not pass on
# NetBSD earlier than 4.0 or DragonFly.
# 2. configure with --enable-thread-safety fails on OpenBSD.
.if (${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 040000) || \
    ${OPSYS} == "DragonFly" || ${OPSYS} == "OpenBSD" || ${OPSYS} == "MirBSD"
PGSQL_THREAD_SAFETY?=	no
.endif
PGSQL_THREAD_SAFETY?=	yes
BUILD_DEFS+=		PGSQL_THREAD_SAFETY

.if !empty(PGSQL_THREAD_SAFETY:M[yY][eE][sS])
.  include "../../mk/pthread.buildlink3.mk"
.  if (${PTHREAD_TYPE} == "native")
CONFIGURE_ARGS+=	--enable-thread-safety
.  endif
.else
CONFIGURE_ARGS+=	--disable-thread-safety
.endif

BUILD_DIRS+=	src/fe_utils
INSTALL_DIRS=	src/include
INSTALL_DIRS+=	src/common
INSTALL_DIRS+=	src/port
INSTALL_DIRS+=	src/interfaces
INSTALL_DIRS+=	src/bin
BUILD_DIRS+=	${INSTALL_DIRS}
# Without this, the Darwin build fails (related to -bundle_loader).
BUILD_DIRS+=	src/backend

.for f in pg_service.conf psqlrc
CONF_FILES+=	share/postgresql/${f}.sample ${PKG_SYSCONFDIR}/${f}
.endfor

.include "../../devel/zlib/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"

SUBST_CLASSES+=		pgxs
SUBST_STAGE.pgxs=	post-build
SUBST_MESSAGE.pgxs=	Fixing workdir tools references in pgxs Makefile
SUBST_FILES.pgxs=	src/Makefile.global
SUBST_SED.pgxs=		-e 's,${TOOLS_CMD.bison},${TOOLS_PATH.bison},'
SUBST_SED.pgxs+=	-e 's,${TOOLS_CMD.lex},${TOOLS_PATH.lex},'
SUBST_SED.pgxs+=	-e 's,${TOOLS_CMD.mkdir},${TOOLS_PATH.mkdir},'
SUBST_SED.pgxs+=	-e 's,${WRKDIR}/.wrapper/bin/ld,${LD},'
SUBST_SED.pgxs+=	-e 's,${WRKDIR}/.wrapper,${PREFIX},'
SUBST_SED.pgxs+=	-e 's,${WRKSRC},/dev/null,'

INSTALLATION_DIRS+=	lib/postgresql/pgxs
INSTALLATION_DIRS+=	lib/postgresql/pgxs/config
INSTALLATION_DIRS+=	lib/postgresql/pgxs/src
INSTALLATION_DIRS+=	lib/postgresql/pgxs/src/makefiles

DEST_PGXS=	${DESTDIR}${PREFIX}/lib/postgresql/pgxs
PGXS_FILES=	config/install-sh
PGXS_FILES+=	src/makefiles/pgxs.mk src/Makefile.global
PGXS_FILES+=	src/Makefile.port src/Makefile.shlib
PGXS_FILES+=	src/nls-global.mk

# On Solaris, avoid conflicts between "${SSLBASE}/include/openssl/des.h"
# and "/usr/include/crypt.h" -- we want the definitions in the former.
.if ${OPSYS} == "SunOS"
post-wrapper:
	touch ${BUILDLINK_DIR}/include/crypt.h
.endif

post-install:
.for file in ${PGXS_FILES}
	${INSTALL_DATA} ${WRKSRC}/${file} ${DEST_PGXS}/${file}
.endfor

.include "../../mk/bsd.pkg.mk"