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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# Handle dependency on *ssl ports.
#
# Feature: SSL_DEFAULT
# Usage: USES=ssl
# Valid ARGS: none (build and run), build, run
#
# The user can choose which ssl library they want with:
#
# DEFAULT_VERSIONS+= ssl=<openssl variant>
#
# When updating this, please also update the same list in bsd.default-versions.mk
# and the checks for USES=ssl in qa.sh!
# Variants being base, openssl, openssl111, openssl31, openssl32,
# openssl33, libressl, and libressl-devel.
#
# The Makefile sets these variables:
# OPENSSLBASE - "/usr" or ${LOCALBASE}
# OPENSSLDIR - path to openssl
# OPENSSLLIB - path to the libs
# OPENSSLINC - path to the matching includes
# OPENSSLRPATH - rpath for dynamic linker
#
# MAKE_ENV - extended with the variables above
# BUILD_DEPENDS - are added if needed
# RUN_DEPENDS - are added if needed
#
# MAINTAINER: ports@FreeBSD.org
#
.if !defined(_INCLUDE_USES_SSL_MK)
_INCLUDE_USES_SSL_MK= yes
. if !empty(ssl_ARGS:Nbuild:Nrun)
IGNORE= "USES=ssl invalid arguments ${ssl_ARGS}."
. endif
. if empty(ssl_ARGS) || (!empty(ssl_ARGS:Mbuild) && !empty(ssl_ARGS:Mrun))
_SSL_BUILD_DEP= 1
_SSL_RUN_DEP= 1
. elif !empty(ssl_ARGS:Mbuild)
_SSL_BUILD_DEP= 1
. elif !empty(ssl_ARGS:Mrun)
_SSL_RUN_DEP= 1
. endif
. if defined(BROKEN_SSL) && ${BROKEN_SSL:M${SSL_DEFAULT}}
. if defined(BROKEN_SSL_REASON_${SSL_DEFAULT})
BROKEN= does not build with DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT}: ${BROKEN_SSL_REASON_${SSL_DEFAULT}}
. elif defined(BROKEN_SSL_REASON)
BROKEN= does not build with DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT}: ${BROKEN_SSL_REASON}
. else
BROKEN= does not build with DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT}
. endif
. endif
. if defined(IGNORE_SSL) && ${IGNORE_SSL:M${SSL_DEFAULT}}
. if defined(IGNORE_SSL_REASON_${SSL_DEFAULT})
IGNORE= not compatible DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT}: ${IGNORE_SSL_REASON_${SSL_DEFAULT}}
. elif defined(IGNORE_SSL_REASON)
IGNORE= not compatible DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT}: ${IGNORE_SSL_REASON}
. else
IGNORE= not compatible DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT}
. endif
. endif
. if ${SSL_DEFAULT} == base
OPENSSLBASE= /usr
OPENSSLDIR?= /etc/ssl
. if !exists(${DESTDIR}/usr/lib/libcrypto.so)
check-depends::
@${ECHO_CMD} "Dependency error: This port requires the OpenSSL library, which is part of"
@${ECHO_CMD} "the FreeBSD crypto distribution, but not installed on your"
@${ECHO_CMD} "machine. Please see the \"OpenSSL\" section in the handbook"
@${ECHO_CMD} "(at \"https://docs.FreeBSD.org/en/books/handbook/security/#openssl\", for instance)"
@${ECHO_CMD} "for instructions on how to obtain and install the FreeBSD"
@${ECHO_CMD} "OpenSSL distribution."
@${FALSE}
. endif
. if exists(${LOCALBASE}/lib/libcrypto.so)
check-depends::
@${ECHO_CMD} "Dependency error: This port wants the OpenSSL library from the FreeBSD"
@${ECHO_CMD} "base system. You can't build against it, while a newer"
@${ECHO_CMD} "version is installed by a port."
@${ECHO_CMD} "Please deinstall the port, remove DEFAULT_VERSIONS=ssl=base or undefine WITH_OPENSSL_BASE."
@${FALSE}
. endif
. else # ${SSL_DEFAULT} != base
OPENSSLBASE= ${LOCALBASE}
OPENSSL_PORT= security/${SSL_DEFAULT}
# Get OPENSSL_SHLIBVER from the port
.sinclude <${PORTSDIR}/${OPENSSL_PORT}/version.mk>
. if !defined(OPENSSL_SHLIBVER)
.error You are using an unsupported SSL provider ${SSL_DEFAULT}
. endif
OPENSSLDIR?= ${OPENSSLBASE}/openssl
. if defined(_SSL_BUILD_DEP)
BUILD_DEPENDS+= ${LOCALBASE}/lib/libcrypto.so.${OPENSSL_SHLIBVER}:${OPENSSL_PORT}
. endif
. if defined(_SSL_RUN_DEP)
RUN_DEPENDS+= ${LOCALBASE}/lib/libcrypto.so.${OPENSSL_SHLIBVER}:${OPENSSL_PORT}
. endif
OPENSSLRPATH= ${LOCALBASE}/lib
. endif
OPENSSLLIB= ${OPENSSLBASE}/lib
OPENSSLINC= ${OPENSSLBASE}/include
MAKE_ENV+= OPENSSLBASE=${OPENSSLBASE}
MAKE_ENV+= OPENSSLDIR=${OPENSSLDIR}
MAKE_ENV+= OPENSSLINC=${OPENSSLINC}
MAKE_ENV+= OPENSSLLIB=${OPENSSLLIB}
. if defined(OPENSSLRPATH)
. if defined(USE_OPENSSL_RPATH)
CFLAGS+= -Wl,-rpath,${OPENSSLRPATH}
. endif
MAKE_ENV+= OPENSSLRPATH=${OPENSSLRPATH}
OPENSSL_LDFLAGS+= -Wl,-rpath,${OPENSSLRPATH}
. endif
LDFLAGS+= ${OPENSSL_LDFLAGS}
.endif
|