ed25519-donna implementation
[mkp224o.git] / configure.ac
blob9f2cb3e43684e2221c4c05aae4f19fa7872ee479
1 AC_INIT(mkp224o)
2 # sanity check
3 AC_CONFIG_SRCDIR([main.c])
4 # C compiler
5 : ${CFLAGS="-O3 -march=native -fomit-frame-pointer"}
6 AC_PROG_CC
8 MYDEFS=""
10 ed25519impl=""
11 AC_ARG_ENABLE([ref10],
12         [AS_HELP_STRING([--enable-ref10],
13                 [use SUPERCOP ref10 ed25519 implementation @<:@default=yes@:>@])],
14         [
15                 AS_IF([test "x$ed25519impl" != "x" -a "$ed25519impl" != "ref10"],
16                         [AC_ERROR([only one ed25519 implementation can be defined])])
17                 ed25519impl="ref10"
18         ],
19         []
22 AC_ARG_ENABLE([amd64-51-30k],
23         [AS_HELP_STRING([--enable-amd64-51-30k],
24                 [use SUPERCOP amd64-51-30k ed25519 implementation @<:@default=no@:>@])],
25         [
26                 AS_IF([test "x$ed25519impl" != "x" -a "$ed25519impl" != "amd64_51_30k"],
27                         [AC_ERROR([only one ed25519 implementation can be defined])])
28                 ed25519impl="amd64_51_30k"
29         ],
30         []
33 AC_ARG_ENABLE([amd64-64-24k],
34         [AS_HELP_STRING([--enable-amd64-64-24k],
35                 [use SUPERCOP amd64-64-24k ed25519 implementation @<:@default=no@:>@])],
36         [
37                 AS_IF([test "x$ed25519impl" != "x" -a "$ed25519impl" != "amd64_64_24k"],
38                         [AC_ERROR([only one ed25519 implementation can be defined])])
39                 ed25519impl="amd64_64_24k"
40         ],
41         []
44 AC_ARG_ENABLE([donna],
45         [AS_HELP_STRING([--enable-donna],
46                 [use ed25519-donna implementation @<:@default=no@:>@])],
47         [
48                 AS_IF([test "x$ed25519impl" != "x" -a "$ed25519impl" != "donna"],
49                         [AC_ERROR([only one ed25519 implementation can be defined])])
50                 ed25519impl="donna"
51         ],
52         []
55 AC_ARG_ENABLE([donna-sse2],
56         [AS_HELP_STRING([--enable-donna-sse2],
57                 [use ed25519-donna SSE2 implementation @<:@default=no@:>@])],
58         [
59                 AS_IF([test "x$ed25519impl" != "x" -a "$ed25519impl" != "donna-sse2"],
60                         [AC_ERROR([only one ed25519 implementation can be defined])])
61                 ed25519impl="donna-sse2"
62         ],
63         []
66 AS_IF([test "x$ed25519impl" == "x"],[ed25519impl=ref10])
68 if test "$ed25519impl" = "donna-sse2"
69 then
70         ed25519impl="donna"
71         MYDEFS="$MYDEFS -DED25519_SSE2"
72         CFLAGS="$CFLAGS -msse2"
75 AC_ARG_ENABLE([intfilter],
76         [AS_HELP_STRING([--enable-intfilter],
77                 [use 64bit integers for filtering. faster but limits filter length @<:@default=no@:>@])],
78         [], [enable_intfilter=no]
80 if test "x$enable_intfilter" = "xyes"
81 then
82         MYDEFS="$MYDEFS -DINTFILTER"
85 AC_ARG_ENABLE([statistics],
86         [AS_HELP_STRING([--enable-statistics],
87                 [collect statistics @<:@default=yes@:>@])],
88         [], [enable_statistics=yes]
90 if test "x$enable_statistics" = "xyes"
91 then
92         MYDEFS="$MYDEFS -DSTATISTICS"
95 AC_SUBST(ED25519IMPL,["$ed25519impl"])
96 AC_SUBST(MYDEFS,["$MYDEFS"])
97 AC_OUTPUT(Makefile)