configure.ac 3.7 KB
Newer Older
Niels Möller's avatar
Niels Möller committed
1
2
3
dnl -*- mode: shell-script; sh-indentation: 2; -*-
dnl $Id$

4
5
dnl Process this file with autoconf to produce a configure script.

6
7
AC_INIT([nettle], [1.6])
AC_CONFIG_SRCDIR([arcfour.c])
8
AC_PREREQ(2.50)
9
AM_INIT_AUTOMAKE
10
AM_CONFIG_HEADER([config.h])
11

12
13
AC_CANONICAL_HOST

14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Command line options
AC_ARG_WITH(include-path,
  AC_HELP_STRING([--with-include-path], [A colon-separated list of directories to search for include files]),,
  [with_include_path=''])

if test x$with_include_path != x ; then
  CPPFLAGS="$CPPFLAGS -I `echo $with_include_path | sed 's/:/ -I /g'`"
fi

AC_ARG_WITH(lib-path,
  AC_HELP_STRING([--with-lib-path], [A colon-separated list of directories to search for libraries]),,
  [with_lib_path=''])

if test x$with_lib_path != x ; then
  LDFLAGS="-L `echo $with_lib_path | sed 's/:/ -L /g'`"
fi

31
32
33
34
AC_ARG_ENABLE(public-key,
  AC_HELP_STRING([--disable-public-key], [Disable public key algorithms]),,
  [enable_public_key=yes])

35
AC_ARG_ENABLE(assembler,
36
37
  AC_HELP_STRING([--disable-assembler],[Disable assembler code]),,
  [enable_assembler=yes])
38

39
40
41
42
43
LSH_RPATH_INIT([`echo $with_lib_path | sed 's/:/ /g'` \
    `echo $exec_prefix | sed "s@^NONE@$prefix/lib@g" | sed "s@^NONE@$ac_default_prefix/lib@g"` \
    /usr/local/lib /sw/local/lib /sw/lib \
    /usr/gnu/lib /opt/gnu/lib /sw/gnu/lib /usr/freeware/lib /usr/pkg/lib])

44
# Checks for programs.
Niels Möller's avatar
Niels Möller committed
45
AC_PROG_CC
Niels Möller's avatar
Niels Möller committed
46
AC_PROG_MAKE_SET
Niels Möller's avatar
Niels Möller committed
47
AC_PROG_RANLIB
Niels Möller's avatar
Niels Möller committed
48
AM_PROG_CC_STDC
Niels Möller's avatar
Niels Möller committed
49

Niels Möller's avatar
Niels Möller committed
50
51
52
if test "x$am_cv_prog_cc_stdc" = xno ; then
  AC_ERROR([the C compiler doesn't handle ANSI-C])
fi
53

54
# Select assembler code
55
asm_path=
56
57
case "$host" in
  [i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-*])
58
    asm_path=x86
59
60
    ;;
  *sparc*-*-*)
61
    asm_path=sparc
62
63
64
    ;;
esac

65
# echo "enable_assembler: $enable_assembler, asm_path: $asm_path"
66

67
if test "x$enable_assembler" = xyes ; then
68
  if test -n "$asm_path"; then
Niels Möller's avatar
Niels Möller committed
69
    AC_MSG_NOTICE([Looking for assembler files in $asm_path/.])
70
    found=no
Niels Möller's avatar
Niels Möller committed
71
    for tmp_f in aes.asm aes-encrypt.asm aes-decrypt.asm machine.m4; do
72
73
#       echo "Looking for $srcdir/$asm_path/$tmp_f"
      if test -f "$srcdir/$asm_path/$tmp_f"; then
74
#        echo found
75
        found=yes
76
        AC_CONFIG_LINKS($tmp_f:$asm_path/$tmp_f)
77
78
79
80
81
82
83
84
85
      fi
    done
    if test "$found" = no; then
      enable_assembler=no
      AC_MSG_WARN([No assembler files found.])
    fi
  fi
fi

Niels Möller's avatar
Niels Möller committed
86
AC_PATH_PROG(M4, m4, m4)
87

88
# Checks for typedefs, structures, and compiler characteristics.
Niels Möller's avatar
Niels Möller committed
89
AC_C_CONST
Niels Möller's avatar
Niels Möller committed
90
91
92
93
94
AC_C_INLINE
AC_TYPE_UID_T
AC_TYPE_SIZE_T
AC_HEADER_TIME

95
# Needed by the supplied memcmp.c
Niels Möller's avatar
Niels Möller committed
96
97
98
99
AC_C_BIGENDIAN

AC_REPLACE_FUNCS(memxor)

100
101
102
103
# Checks for libraries
AC_CHECK_LIB(gmp, __gmpz_getlimbn,,
    [AC_MSG_WARN(
[GNU MP not found, or not 3.1 or up, see http://www.swox.com/gmp.
104
105
106
107
108
109
110
111
Support for public key algorithms will be unavailable.])]
    enable_public_key=no)

if test "x$enable_public_key" = xyes ; then
  AC_DEFINE(WITH_PUBLIC_KEY)
fi

AH_TEMPLATE([WITH_PUBLIC_KEY], [Define to enable public key features])
112

113
114
# Add -R flags needed to run programs linked with gmp
LSH_RPATH_FIX
115

116
117
118
119
# Check for openssl's libcrypto (used only for benchmarking)
AC_CHECK_LIB(crypto, BF_ecb_encrypt)
LSH_RPATH_FIX

Niels Möller's avatar
Niels Möller committed
120
121
# Set these flags *last*, or else the test programs won't compile
if test x$GCC = xyes ; then
122
123
124
125
126
127
128
129
130
  # Using -ggdb3 makes (some versions of) Redhat's gcc-2.96 dump core
  if "$CC" --version | grep '^2\.96$' 1>/dev/null 2>&1; then
    true
  else
    CFLAGS="$CFLAGS -ggdb3"
  fi
  CFLAGS="$CFLAGS -Wall -W \
  -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes \
  -Wpointer-arith -Wbad-function-cast -Wnested-externs"
Niels Möller's avatar
Niels Möller committed
131
132
133

# Don't enable -Wcast-align as it results in tons of warnings in the
# DES code. And when using stdio.
134
135
# Don't enable -Waggregate-return, as that causes warnings for glibc
# inttypes.h.
Niels Möller's avatar
Niels Möller committed
136
fi
Niels Möller's avatar
Niels Möller committed
137

Niels Möller's avatar
Niels Möller committed
138
AC_OUTPUT(Makefile testsuite/Makefile examples/Makefile config.m4)
139