xref: /netbsd-src/crypto/external/bsd/netpgp/dist/configure.ac (revision 3fba244ae402394f46c5bc009243eb3244ff5585)
1*3fba244aSjhigh# $NetBSD: configure.ac,v 1.43 2020/04/18 19:27:49 jhigh Exp $
21c576705Slukem#
31c576705Slukem# Process this file with autoconf to produce a configure script.
41c576705Slukem
508dd6cefSagcAC_INIT([netpgp],[20140220],[Alistair Crooks <agc@netbsd.org> c0596823])
6da39824bSagcAC_PREREQ(2.69)
7*3fba244aSjhighAC_REVISION([$Revision: 1.43 $])
81c576705Slukem
91c576705SlukemAS_SHELL_SANITIZE
101c576705Slukem
1141335e2dSagcAC_CONFIG_SRCDIR([src/netpgp/netpgp.c])
121c576705SlukemAC_CONFIG_AUX_DIR([buildaux])
131c576705SlukemAC_CONFIG_HEADER([src/lib/config.h])
141c576705Slukem
151c576705SlukemAM_INIT_AUTOMAKE([-Wall -Werror foreign])
161c576705SlukemAM_MAINTAINER_MODE
1793bf6008Sagc
1893bf6008SagcAC_CANONICAL_HOST
1993bf6008SagcCANONICAL_HOST=$host
201c576705SlukemAC_SUBST([CANONICAL_HOST])
2193bf6008Sagc
2293bf6008Sagc# Checks for programs.
231c576705Slukem#
2493bf6008SagcAC_PROG_MAKE_SET
2593bf6008SagcAC_PROG_AWK
2693bf6008SagcAC_PROG_CC
2793bf6008SagcAC_PROG_INSTALL
281c576705SlukemAC_PROG_LIBTOOL
2993bf6008SagcAC_PROG_LN_S
3093bf6008Sagc
31da39824bSagcdnl based on AC_PROG_RANLIB from autoconf
32da39824bSagcm4_ifndef([AC_PROG_AR],[dnl
33da39824bSagcAN_MAKEVAR([AR], [AC_PROG_AR])
34da39824bSagcAN_PROGRAM([ar], [AC_PROG_AR])
35da39824bSagcAC_DEFUN([AC_PROG_AR],
36da39824bSagc[AC_CHECK_TOOL(AR, ar, :)])
37da39824bSagc])
38da39824bSagc
39da39824bSagcAC_PROG_AR
40da39824bSagc
411c576705Slukem# Compiler characteristics
421c576705Slukem#
431c576705SlukemAC_MSG_CHECKING([if using gcc])
441c576705SlukemAS_IF([test "$GCC" = "yes"],
451c576705Slukem      [WARNCFLAGS="-Werror -Wall -Wpointer-arith"
461c576705Slukem       AC_MSG_RESULT([yes; adding to CFLAGS: "$WARNCFLAGS"])],
471c576705Slukem      [WARNCFLAGS=""
481c576705Slukem       AC_MSG_RESULT([no])])
491c576705SlukemAC_SUBST([WARNCFLAGS])
5093bf6008Sagc
5161ac445fSagc# try to see if we need to link with -ldl
5261ac445fSagcAC_SEARCH_LIBS(dlopen, dl)
5361ac445fSagc
541c576705Slukem# Checks for header files.
551c576705Slukem#
5693bf6008SagcAC_HEADER_STDC
5793bf6008SagcAC_CHECK_HEADERS([CommonCrypto/CommonDigest.h])
58dd536fdcSlukemAC_CHECK_HEADERS([dmalloc.h direct.h errno.h fcntl.h \
59dd536fdcSlukem                 inttypes.h limits.h malloc.h zlib.h])
60da498fd5SagcAC_CHECK_HEADERS([openssl/aes.h openssl/bn.h openssl/camellia.h openssl/cast.h \
61da498fd5Sagc		  openssl/des.h openssl/dsa.h openssl/err.h openssl/idea.h \
62da498fd5Sagc		  openssl/md5.h openssl/rand.h openssl/rsa.h openssl/sha.h \
63*3fba244aSjhigh		  openssl/err.h openssl/sha.h openssl/blowfish.h])
641c576705SlukemAC_CHECK_HEADERS([sys/cdefs.h sys/file.h sys/mman.h sys/param.h \
651c576705Slukem                  sys/resource.h sys/uio.h])
6693bf6008Sagc
67dd536fdcSlukemAC_CHECK_HEADERS([bzlib.h],
68dd536fdcSlukem                 [],
69dd536fdcSlukem                 [AC_MSG_FAILURE([missing <bzlib.h>; is bzip2 installed?])])
70dd536fdcSlukem
711c576705Slukem# Checks for typedefs, structures, and compiler characteristics.
721c576705Slukem#
73dd536fdcSlukemAC_TYPE_LONG_LONG_INT
74dd536fdcSlukemAC_TYPE_SIZE_T
7593bf6008SagcAC_TYPE_UINT16_T
7693bf6008SagcAC_TYPE_UINT32_T
7793bf6008SagcAC_TYPE_UINT64_T
78dd536fdcSlukemAC_TYPE_UINT8_T
7993bf6008Sagc
8061ac445fSagc# check for openssl
8161ac445fSagcm4_include([ax_check_openssl.m4])
8261ac445fSagc
8361ac445fSagcAX_CHECK_OPENSSL([LIBS="$LIBS $OPENSSL_LIBS" INCLUDES="$INCLUDES $OPENSSL_INCLUDES"],
8461ac445fSagc	[AC_MSG_ERROR([Missing OpenSSL])])
8561ac445fSagc
861c576705SlukemAC_CHECK_TYPES([SHA256_CTX],
871c576705Slukem               [],
881c576705Slukem               [AC_MSG_FAILURE([missing SHA256_CTX; is openssl 0.9.8 or newer installed?])],
89dd536fdcSlukem              [[
90fa0f212aSlukem#if defined(HAVE_SYS_TYPES_H)
91dd536fdcSlukem#include <sys/types.h>
92fa0f212aSlukem#endif
93fa0f212aSlukem#if defined(HAVE_OPENSSL_SHA_H)
94dd536fdcSlukem#include <openssl/sha.h>
95fa0f212aSlukem#endif
96fa0f212aSlukem#if defined(HAVE_COMMONCRYPTO_COMMONDIGEST_H)
97fa0f212aSlukem#define COMMON_DIGEST_FOR_OPENSSL 1
98fa0f212aSlukem#include <CommonCrypto/CommonDigest.h>
99fa0f212aSlukem#endif
100dd536fdcSlukem]])
10193bf6008Sagc
10293bf6008Sagc# Checks for library functions.
1031c576705Slukem#
1041c576705SlukemAC_SEARCH_LIBS([gzopen], [z])
1051c576705SlukemAC_SEARCH_LIBS([BZ2_bzDecompress], [bz2])
1061c576705SlukemAC_SEARCH_LIBS([RSA_public_encrypt], [crypto])
10793bf6008Sagc
1081c576705Slukem# Initialize the testsuite
1091c576705Slukem#
1101c576705SlukemAC_CONFIG_TESTDIR([tests])
1111c576705SlukemAM_MISSING_PROG([AUTOM4TE], [autom4te])
1121c576705Slukem
1131c576705Slukem# Generate the Makefiles
1141c576705Slukem#
1151c576705SlukemAC_CONFIG_FILES([
1161c576705Slukem        Makefile
1171c576705Slukem        include/Makefile
1181c576705Slukem        src/Makefile
1192dd0a33dSagc        src/libmj/Makefile
1201c576705Slukem        src/lib/Makefile
12141335e2dSagc        src/netpgp/Makefile
1227e613096Sagc        src/netpgpkeys/Makefile
1231c576705Slukem        tests/Makefile
1241c576705Slukem        tests/atlocal
1251c576705Slukem])
12693bf6008SagcAC_OUTPUT
1271c576705Slukem
1281c576705Slukem# Display feature results
1291c576705Slukem#
1301c576705SlukemAC_MSG_NOTICE([ === Configuration results ===])
1311c576705SlukemAC_MSG_NOTICE([Version:             $PACKAGE_VERSION])
1321c576705SlukemAC_MSG_NOTICE([C compiler:          $CC])
1331c576705SlukemAC_MSG_NOTICE([Warning CFLAGS:      $WARNCFLAGS])
1341c576705SlukemAC_MSG_NOTICE([=============================])
135