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