Makefile.openssl revision 1.18 1 # $NetBSD: Makefile.openssl,v 1.18 2023/05/25 19:12:42 riastradh Exp $
2
3 .ifndef _MAKEFILE_OPENSSL_INCLUDED
4 _MAKEFILE_OPENSSL_INCLUDED=1
5
6 .include <bsd.own.mk>
7 WARNS=3
8
9 # would require changing a lot of code
10 COPTS+= -Wno-error=cast-qual
11 COPTS+= -Wno-error=char-subscripts # XXX likely real ctype(3) missing cast bugs
12 COPTS+= -Wno-error=missing-field-initializers
13 COPTS+= -Wno-error=shadow
14
15 CWARNFLAGS.gcc+= -Wno-error=discarded-qualifiers
16 CWARNFLAGS.clang+= -Wno-error=ignored-qualifiers
17
18 # OpenSSL extensively uses string literals as char *, which clang
19 # (reasonably if not exactly rightly) objects to.
20 CWARNFLAGS.clang+= -Wno-error=incompatible-pointer-types-discards-qualifiers
21
22 # XXX: re-examine the below
23 CWARNFLAGS.clang+= -Wno-empty-body -Wno-unused-value -Wno-parentheses
24 CWARNFLAGS.clang+= -Wno-implicit-int-float-conversion
25 # XXX: This warning seems to trigger incorrectly
26 CWARNFLAGS.clang+= -Wno-atomic-alignment
27
28 LINTFLAGS+= -X 161 # constant in conditional context
29 LINTFLAGS+= -X 129 # expression has null effect
30 LINTFLAGS+= -X 117 # bitwise '>>' on signed value possibly nonportable
31 LINTFLAGS+= -X 231 # argument '%s' unused in function '%s'
32 LINTFLAGS+= -X 220 # fallthrough on case statement
33 LINTFLAGS+= -X 118 # semantics of '%s' change in ANSI C; use explicit cast
34
35
36 .if ${HAVE_OPENSSL} <= 11
37 OSSL_ENGINESDIR=/usr/lib/openssl
38 .else
39 . if defined(MLIBDIR)
40 OSSL_LIBDIR=/usr/lib/${MLIBDIR}/openssl
41 . else
42 OSSL_LIBDIR=/usr/lib/openssl
43 . endif
44 OSSL_ENGINESDIR=${OSSL_LIBDIR}/engines
45 OSSL_MODULESDIR=${OSSL_LIBDIR}/modules
46 .endif
47
48 OPENSSLSRC= ${CRYPTODIST}/external/bsd/${EXTERNAL_OPENSSL_SUBDIR}/dist
49 CPPFLAGS+= -DOPENSSLDIR=\"/etc/openssl\"
50 CPPFLAGS+= -DENGINESDIR=\"${OSSL_ENGINESDIR}\"
51 CPPFLAGS+= -DMODULESDIR=\"${OSSL_MODULESDIR}\"
52
53 .endif
54