diff options
Diffstat (limited to 'security/openssl/buildlink2.mk')
-rw-r--r-- | security/openssl/buildlink2.mk | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/security/openssl/buildlink2.mk b/security/openssl/buildlink2.mk new file mode 100644 index 00000000000..03b0d6bfa55 --- /dev/null +++ b/security/openssl/buildlink2.mk @@ -0,0 +1,99 @@ +# $NetBSD: buildlink2.mk,v 1.2 2002/08/25 19:23:17 jlam Exp $ +# +# Optionally define USE_OPENSSL_VERSION to the mininum OpenSSL version +# number in <openssl/opensslv.h>, i.e. 0x0090600fL, etc. + +.if !defined(OPENSSL_BUILDLINK2_MK) +OPENSSL_BUILDLINK2_MK= # defined + +.include "../../mk/bsd.prefs.mk" + +# OpenSSL version numbers from <openssl/opensslv.h> +OPENSSL_VERSION_095A= 0x0090581fL +OPENSSL_VERSION_096= 0x0090600fL +OPENSSL_VERSION_096A= 0x0090601fL +OPENSSL_VERSION_096B= 0x0090602fL +OPENSSL_VERSION_096D= 0x0090604fL +OPENSSL_VERSION_096E= 0x0090605fL +OPENSSL_VERSION_096F= 0x0090606fL +OPENSSL_VERSION_096G= 0x0090607fL + +# Check for a usable installed version of OpenSSL. Version must be greater +# than 0.9.6f, or else contain a fix for the 2002-07-30 security advisory. +# If a usable version isn't present, then use the pkgsrc OpenSSL package. +# +_NEED_OPENSSL= YES + +_OPENSSLV_H= /usr/include/openssl/opensslv.h +_SSL_H= /usr/include/openssl/ssl.h + +.if exists(${_OPENSSLV_H}) && exists(${_SSL_H}) +_IN_TREE_OPENSSL_HAS_FIX!= \ + ${AWK} 'BEGIN { ans = "NO" } \ + /SSL_R_SSL2_CONNECTION_ID_TOO_LONG/ { ans = "YES" } \ + END { print ans; exit 0 }' ${_SSL_H} + +. if ${_IN_TREE_OPENSSL_HAS_FIX} == "YES" +USE_OPENSSL_VERSION?= ${OPENSSL_VERSION_096F} +. else +USE_OPENSSL_VERSION?= ${OPENSSL_VERSION_096G} +. endif + +_OPENSSL_VERSION!= ${AWK} '/.*OPENSSL_VERSION_NUMBER.*/ { print $$3 }' \ + ${_OPENSSLV_H} + +# There never was a package for this; only the in-tree openssl had it. +#_VALID_SSL_VERSIONS= ${OPENSSL_VERSION_096F} # OpenSSL 0.9.6f +#BUILDLINK_DEPENDS.openssl= openssl>=0.9.6f + +. if ${USE_OPENSSL_VERSION} == ${OPENSSL_VERSION_096G} # OpenSSL 0.9.6g +_VALID_SSL_VERSIONS= ${OPENSSL_VERSION_096G} +BUILDLINK_DEPENDS.openssl= openssl>=0.9.6g +. else +_VALID_SSL_VERSIONS+= ${OPENSSL_VERSION_096G} +. endif + +. for PATTERN in ${_VALID_SSL_VERSIONS} +. if ${_OPENSSL_VERSION:M${PATTERN}} != "" +_NEED_OPENSSL= NO +. endif +. endfor +.endif # exists(${_OPENSSLV_H}) && exists(${_SSL_H}) + +BUILDLINK_DEPENDS.openssl?= openssl>=0.9.6g +BUILDLINK_PKGSRCDIR.openssl?= ../../security/openssl + +.if ${_NEED_OPENSSL} == "YES" +BUILDLINK_PACKAGES+= openssl +EVAL_PREFIX+= BUILDLINK_PREFIX.openssl=openssl +BUILDLINK_PREFIX.openssl_DEFAULT= ${LOCALBASE} +SSLBASE= ${BUILDLINK_PREFIX.openssl} +.else +BUILDLINK_PREFIX.openssl= /usr +SSLBASE= /usr +.endif + +.if defined(PKG_SYSCONFDIR.openssl) +SSLCERTS= ${PKG_SYSCONFDIR.openssl}/certs +.elif ${OPSYS} == "NetBSD" +SSLCERTS= /etc/openssl/certs +.else +SSLCERTS= ${PKG_SYSCONFBASE}/openssl/certs +.endif +BUILD_DEFS+= SSLBASE SSLCERTS + +BUILDLINK_FILES.openssl= bin/openssl +BUILDLINK_FILES.openssl+= include/openssl/* +BUILDLINK_FILES.openssl+= lib/libRSAglue.* +BUILDLINK_FILES.openssl+= lib/libcrypto.* +BUILDLINK_FILES.openssl+= lib/libssl.* + +.if defined(USE_RSAREF2) && ${USE_RSAREF2} == YES +. include "../../security/rsaref/buildlink2.mk" +.endif + +BUILDLINK_TARGETS+= openssl-buildlink + +openssl-buildlink: _BUILDLINK_USE + +.endif # OPENSSL_BUILDLINK2_MK |