comparison Makefile @ 43:95d5ae53d170

Flavorize the support for the major databases MySQL and PostgreSQL. SQLite and/or Redis are OPTIONs -- as before. They are built into by default. Also provide a FLAVOR "alldb" to include all the major databases.
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 17 Mar 2025 15:26:04 +0100
parents 986f63aa4bdd
children a4a312be008d
comparison
equal deleted inserted replaced
42:986f63aa4bdd 43:95d5ae53d170
13 LICENSE= BSD3CLAUSE 13 LICENSE= BSD3CLAUSE
14 LICENSE_FILE= ${WRKSRC}/LICENSE 14 LICENSE_FILE= ${WRKSRC}/LICENSE
15 15
16 LIB_DEPENDS= libevent.so:devel/libevent 16 LIB_DEPENDS= libevent.so:devel/libevent
17 17
18 FLAVORS= default mysql pgsql alldb
19 FLAVOR?= ${FLAVORS:[1]}
20
18 USES= perl5 pkgconfig shebangfix ssl 21 USES= perl5 pkgconfig shebangfix ssl
19 SHEBANG_FILES= examples/scripts/restapi/shared_secret_maintainer.pl examples/scripts/oauth.sh 22 SHEBANG_FILES= examples/scripts/restapi/shared_secret_maintainer.pl examples/scripts/oauth.sh
20 HAS_CONFIGURE= yes 23 HAS_CONFIGURE= yes
21 CONFIGURE_ENV+= PTHREAD_LIBS=-pthread TURN_DISABLE_RPATH=1 24 CONFIGURE_ENV+= PTHREAD_LIBS=-pthread TURN_DISABLE_RPATH=1
22 # MongoDB support is disabled until devel/mongo-c-driver is updated 25 # MongoDB support is disabled until devel/mongo-c-driver is updated
29 32
30 SUB_FILES= pkg-message 33 SUB_FILES= pkg-message
31 USE_RC_SUBR= turnserver 34 USE_RC_SUBR= turnserver
32 35
33 CONFLICTS_INSTALL= turnserver coturn 36 CONFLICTS_INSTALL= turnserver coturn
37
38 default_PKGNAMESUFFIX=
39 default_CONFLICTS_INSTALL= ${PKGNAMEPREFIX}${PORTNAME}-mysql ${PKGNAMEPREFIX}${PORTNAME}-pgsql ${PKGNAMEPREFIX}${PORTNAME}-alldb
40
41 alldb_PKGNAMESUFFIX= -alldb
42 alldb_CONFLICTS_INSTALL= ${PKGNAMEPREFIX}${PORTNAME} ${PKGNAMEPREFIX}${PORTNAME}-mysql ${PKGNAMEPREFIX}${PORTNAME}-pgsql
43
44 mysql_PKGNAMESUFFIX= -mysql
45 mysql_CONFLICTS_INSTALL= ${PKGNAMEPREFIX}${PORTNAME} ${PKGNAMEPREFIX}${PORTNAME}-pgsql ${PKGNAMEPREFIX}${PORTNAME}-alldb
46 .if ${FLAVOR} == mysql || ${FLAVOR} == alldb
47 USES+= mysql
48 .else
49 CONFIGURE_ENV+= TURN_NO_MYSQL=1
50 .endif
51
52 pgsql_PKGNAMESUFFIX= -pgsql
53 pgsql_CONFLICTS_INSTALL= ${PKGNAMEPREFIX}${PORTNAME} ${PKGNAMEPREFIX}${PORTNAME}-mysql ${PKGNAMEPREFIX}${PORTNAME}-alldb
54 .if ${FLAVOR} == pgsql || ${FLAVOR} == alldb
55 USES+= pgsql
56 .else
57 CONFIGURE_ENV+= TURN_NO_PQ=1
58 .endif
34 59
35 MANPAGES= turnserver.1 turnadmin.1 turnutils.1 turnutils_peer.1 \ 60 MANPAGES= turnserver.1 turnadmin.1 turnutils.1 turnutils_peer.1 \
36 turnutils_stunclient.1 turnutils_uclient.1 coturn.1 \ 61 turnutils_stunclient.1 turnutils_uclient.1 coturn.1 \
37 turnutils_oauth.1 turnutils_natdiscovery.1 62 turnutils_oauth.1 turnutils_natdiscovery.1
38 63
80 mobile/mobile_relay.sh \ 105 mobile/mobile_relay.sh \
81 mobile/mobile_tcp_client.sh \ 106 mobile/mobile_tcp_client.sh \
82 mobile/mobile_tls_client_c2c_tcp_relay.sh \ 107 mobile/mobile_tls_client_c2c_tcp_relay.sh \
83 mobile/mobile_udp_client.sh 108 mobile/mobile_udp_client.sh
84 109
85 OPTIONS_DEFINE= DOCS EXAMPLES MYSQL PGSQL REDIS SQLITE PROMETHEUS 110 OPTIONS_DEFINE= DOCS EXAMPLES REDIS SQLITE PROMETHEUS
86 OPTIONS_DEFAULT= REDIS SQLITE 111 OPTIONS_DEFAULT= REDIS SQLITE
87 OPTIONS_SUB= yes 112 OPTIONS_SUB= yes
88
89 MYSQL_USES= mysql
90 MYSQL_CONFIGURE_ENV_OFF= TURN_NO_MYSQL=1
91
92 PGSQL_USES= pgsql
93 PGSQL_CONFIGURE_ENV_OFF= TURN_NO_PQ=1
94 113
95 REDIS_DESC= Redis support for user database and for status and statistics reporting 114 REDIS_DESC= Redis support for user database and for status and statistics reporting
96 REDIS_LIB_DEPENDS= libhiredis.so:databases/hiredis 115 REDIS_LIB_DEPENDS= libhiredis.so:databases/hiredis
97 REDIS_CONFIGURE_ENV_OFF= TURN_NO_HIREDIS=1 116 REDIS_CONFIGURE_ENV_OFF= TURN_NO_HIREDIS=1
98 117