1
by Marek Habersack
Import upstream version 1.10 |
1 |
dnl -*- mode: shell-script; sh-indentation: 2; -*- |
2 |
||
3 |
dnl Process this file with autoconf to produce a configure script. |
|
4 |
||
1.4.7
by Magnus Holmgren
Import upstream version 2.7.1 |
5 |
AC_INIT([nettle], [2.7.1], [nettle-bugs@lists.lysator.liu.se]) |
1.4.1
by Magnus Holmgren
Import upstream version 1.16~cvs20070603 |
6 |
AC_PREREQ(2.61) |
1
by Marek Habersack
Import upstream version 1.10 |
7 |
AC_CONFIG_SRCDIR([arcfour.c]) |
1.1.1
by Marek Habersack
Import upstream version 1.12 |
8 |
# Needed to stop autoconf from looking for files in parent directories. |
9 |
AC_CONFIG_AUX_DIR([.]) |
|
10 |
||
11 |
AC_CONFIG_HEADER([config.h]) |
|
1
by Marek Habersack
Import upstream version 1.10 |
12 |
|
1.4.2
by Magnus Holmgren
Import upstream version 2.1 |
13 |
LIBNETTLE_MAJOR=4 |
1.4.7
by Magnus Holmgren
Import upstream version 2.7.1 |
14 |
LIBNETTLE_MINOR=7 |
1.4.1
by Magnus Holmgren
Import upstream version 1.16~cvs20070603 |
15 |
|
1.4.2
by Magnus Holmgren
Import upstream version 2.1 |
16 |
LIBHOGWEED_MAJOR=2 |
1.4.7
by Magnus Holmgren
Import upstream version 2.7.1 |
17 |
LIBHOGWEED_MINOR=5 |
1
by Marek Habersack
Import upstream version 1.10 |
18 |
|
19 |
AC_CANONICAL_HOST
|
|
20 |
||
21 |
# Command line options |
|
22 |
AC_ARG_WITH(include-path, |
|
23 |
AC_HELP_STRING([--with-include-path], [A colon-separated list of directories to search for include files]),, |
|
24 |
[with_include_path='']) |
|
25 |
||
26 |
if test x$with_include_path != x ; then |
|
27 |
CPPFLAGS="$CPPFLAGS -I`echo $with_include_path | sed 's/:/ -I/g'`" |
|
28 |
fi
|
|
29 |
||
30 |
AC_ARG_WITH(lib-path, |
|
31 |
AC_HELP_STRING([--with-lib-path], [A colon-separated list of directories to search for libraries]),, |
|
32 |
[with_lib_path='']) |
|
33 |
||
34 |
if test x$with_lib_path != x ; then |
|
35 |
LDFLAGS="$LDFLAGS -L`echo $with_lib_path | sed 's/:/ -L/g'`" |
|
36 |
fi
|
|
37 |
||
38 |
AC_ARG_ENABLE(public-key, |
|
39 |
AC_HELP_STRING([--disable-public-key], [Disable public key algorithms]),, |
|
40 |
[enable_public_key=yes]) |
|
41 |
||
42 |
AC_ARG_ENABLE(assembler, |
|
43 |
AC_HELP_STRING([--disable-assembler],[Disable assembler code]),, |
|
44 |
[enable_assembler=yes]) |
|
45 |
||
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
46 |
AC_ARG_ENABLE(static, |
47 |
AC_HELP_STRING([--disable-static], [Do not build any static library]),, |
|
48 |
[enable_static=yes]) |
|
49 |
||
1
by Marek Habersack
Import upstream version 1.10 |
50 |
AC_ARG_ENABLE(shared, |
1.5.1
by Magnus Holmgren
Import upstream version 2.5 |
51 |
AC_HELP_STRING([--disable-shared], [Do not build any shared library]),, |
52 |
[enable_shared=yes]) |
|
1
by Marek Habersack
Import upstream version 1.10 |
53 |
|
1.1.1
by Marek Habersack
Import upstream version 1.12 |
54 |
AC_ARG_ENABLE(pic, |
55 |
AC_HELP_STRING([--disable-pic], |
|
56 |
[Do not try to compile library files as position independent code]),, |
|
57 |
[enable_pic=yes]) |
|
58 |
||
1.1.2
by Marek Habersack
Import upstream version 1.14 |
59 |
AC_ARG_ENABLE(openssl, |
60 |
AC_HELP_STRING([--disable-openssl], [Do not include openssl glue in the benchmark program]),, |
|
61 |
[enable_openssl=yes]) |
|
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
62 |
|
63 |
AC_ARG_ENABLE(gcov, |
|
64 |
AC_HELP_STRING([--enable-gcov], [Instrument for gcov (requires a modern gcc)]),, |
|
65 |
[enable_gcov=no]) |
|
66 |
||
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
67 |
AC_ARG_ENABLE(documentation, |
68 |
AC_HELP_STRING([--disable-documentation], [Omit building and installing the documentation. (default=auto)]),, |
|
69 |
[enable_documentation=auto]) |
|
70 |
||
1.4.6
by Magnus Holmgren
Import upstream version 2.7 |
71 |
AC_ARG_ENABLE(arm-neon, |
72 |
AC_HELP_STRING([--enable-arm-neon], [Enable ARM Neon assembly. (default=auto)]),, |
|
73 |
[enable_arm_neon=auto]) |
|
74 |
||
1
by Marek Habersack
Import upstream version 1.10 |
75 |
LSH_RPATH_INIT([`echo $with_lib_path | sed 's/:/ /g'` \ |
76 |
`echo $exec_prefix | sed "s@^NONE@$prefix/lib@g" | sed "s@^NONE@$ac_default_prefix/lib@g"` \
|
|
77 |
/usr/local/lib /sw/local/lib /sw/lib \
|
|
78 |
/usr/gnu/lib /opt/gnu/lib /sw/gnu/lib /usr/freeware/lib /usr/pkg/lib]) |
|
79 |
||
80 |
# Checks for programs. |
|
81 |
AC_PROG_CC
|
|
82 |
||
83 |
# When $CC foo.c -o foo creates both foo and foo.exe, autoconf picks |
|
84 |
# up the foo.exe and sets exeext to .exe. That is correct for cygwin, |
|
85 |
# which has some kind of magic link from foo to foo.exe, but not for |
|
86 |
# rntcl. A better check for the cygwin case would check if the |
|
87 |
# contents of foo and foo.exe are equal; in the rntcl case, foo is a |
|
88 |
# sh script, and foo.exe is a windows executable. |
|
89 |
||
90 |
if test "x$CC" = xrntcl ; then |
|
1.1.2
by Marek Habersack
Import upstream version 1.14 |
91 |
AC_MSG_NOTICE([Compiling with rntcl; clearing EXEEXT and disabling assembler]) |
1
by Marek Habersack
Import upstream version 1.10 |
92 |
ac_exeext='' |
93 |
ac_cv_exeext='' |
|
94 |
EXEEXT='' |
|
1.1.2
by Marek Habersack
Import upstream version 1.14 |
95 |
enable_assembler=no |
1
by Marek Habersack
Import upstream version 1.10 |
96 |
fi
|
97 |
||
1.1.4
by Magnus Holmgren
Import upstream version 1.15 |
98 |
# Used by the testsuite only |
99 |
AC_PROG_CXX
|
|
100 |
||
101 |
AC_LANG_PUSH(C++) |
|
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
102 |
AC_TRY_COMPILE([],[return 0;],[IF_CXX=''], [IF_CXX='#']) |
103 |
AC_SUBST([IF_CXX]) |
|
1.1.4
by Magnus Holmgren
Import upstream version 1.15 |
104 |
AC_LANG_POP
|
105 |
||
1
by Marek Habersack
Import upstream version 1.10 |
106 |
AC_PROG_MAKE_SET
|
107 |
AC_PROG_RANLIB
|
|
1.1.2
by Marek Habersack
Import upstream version 1.14 |
108 |
AC_CHECK_TOOL(NM, nm, strings) |
109 |
# Used only for the GNU-stack configure test. |
|
110 |
AC_CHECK_TOOL(OBJDUMP, objdump, false) |
|
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
111 |
AC_CHECK_TOOL(AR, ar, false) |
1
by Marek Habersack
Import upstream version 1.10 |
112 |
|
1.1.1
by Marek Habersack
Import upstream version 1.12 |
113 |
if test "x$ac_cv_prog_cc_stdc" = xno ; then |
1.4.2
by Magnus Holmgren
Import upstream version 2.1 |
114 |
AC_ERROR([the C compiler doesn't handle ANSI-C]) #' |
1
by Marek Habersack
Import upstream version 1.10 |
115 |
fi
|
116 |
||
1.1.1
by Marek Habersack
Import upstream version 1.12 |
117 |
AC_PROG_INSTALL
|
118 |
||
1.1.4
by Magnus Holmgren
Import upstream version 1.15 |
119 |
# According to the autoconf manual, needs install-sh from
|
120 |
# autoconf-2.60 or automake-1.10 to avoid races.
|
|
121 |
AC_PROG_MKDIR_P
|
|
122 |
||
1.5.1
by Magnus Holmgren
Import upstream version 2.5 |
123 |
AC_PROG_LN_S
|
124 |
||
1.4.6
by Magnus Holmgren
Import upstream version 2.7 |
125 |
# Compiler tests for the build system
|
126 |
GMP_PROG_CC_FOR_BUILD
|
|
127 |
GMP_PROG_EXEEXT_FOR_BUILD
|
|
128 |
||
1.1.1
by Marek Habersack
Import upstream version 1.12 |
129 |
LSH_DEPENDENCY_TRACKING
|
130 |
||
1.1.2
by Marek Habersack
Import upstream version 1.14 |
131 |
if test x$enable_dependency_tracking = xyes ; then
|
132 |
# Since the makefiles use include to get the dependency files, we must
|
|
133 |
# make sure that the files exist. We generate some more files than are
|
|
134 |
# actually needed.
|
|
135 |
||
136 |
AC_CONFIG_COMMANDS([dummy-dep-files],
|
|
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
137 |
[(cd "$srcdir" && find . '(' -name '*.c' -o -name '*.cxx' ')' -print) \ |
138 |
| sed 's/\.c\(xx\)\{0,1\}$//' | (while read f; do echo > "$f.o.d"; echo > "$f.po.d"; done) |
|
1.1.2
by Marek Habersack
Import upstream version 1.14 |
139 |
])
|
140 |
fi
|
|
141 |
||
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
142 |
# Figure out ABI. Currently, configurable only by setting CFLAGS.
|
1.4.2
by Magnus Holmgren
Import upstream version 2.1 |
143 |
ABI=standard
|
144 |
||
145 |
case "$host_cpu" in
|
|
146 |
[x86_64 | amd64])
|
|
147 |
AC_TRY_COMPILE([
|
|
148 |
#if defined(__x86_64__) || defined(__arch64__)
|
|
149 |
#error 64-bit x86
|
|
150 |
#endif
|
|
151 |
], [], [
|
|
152 |
ABI=32
|
|
153 |
], [
|
|
154 |
ABI=64
|
|
155 |
])
|
|
156 |
;;
|
|
157 |
*sparc*)
|
|
158 |
AC_TRY_COMPILE([
|
|
159 |
#if defined(__sparcv9) || defined(__arch64__)
|
|
160 |
#error 64-bit sparc
|
|
161 |
#endif
|
|
162 |
], [], [
|
|
163 |
ABI=32
|
|
164 |
], [
|
|
165 |
ABI=64
|
|
166 |
])
|
|
167 |
;;
|
|
168 |
esac
|
|
169 |
||
170 |
if test "x$ABI" != xstandard ; then
|
|
171 |
AC_MSG_NOTICE([Compiler uses $ABI-bit ABI. To change, set CC.])
|
|
172 |
if test "$libdir" = '${exec_prefix}/lib' ; then |
|
173 |
# Try setting a better default
|
|
174 |
case "$host_cpu:$host_os:$ABI" in
|
|
175 |
*:solaris*:32|*:sunos*:32)
|
|
176 |
libdir='${exec_prefix}/lib' |
|
177 |
;;
|
|
178 |
*:solaris*:64|*:sunos*:64)
|
|
179 |
libdir='${exec_prefix}/lib/64' |
|
180 |
;;
|
|
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
181 |
# Linux conventions are a mess... According to the Linux File
|
182 |
# Hierarchy Standard, all architectures except IA64 puts 32-bit
|
|
183 |
# libraries in lib, and 64-bit in lib64. Some distributions,
|
|
184 |
# e.g., Fedora and Gentoo, adhere to this standard, while at
|
|
185 |
# least Debian has decided to put 64-bit libraries in lib and
|
|
186 |
# 32-bit libraries in lib32.
|
|
187 |
|
|
188 |
# We try to figure out the convention, except if we're cross |
|
189 |
# compiling. We use lib${ABI} if /usr/lib${ABI} exists and |
|
190 |
# appears to not be a symlink to a different name. |
|
191 |
*:linux*:32|*:linux*:64) |
|
192 |
if test "$cross_compiling" = yes ; then |
|
193 |
AC_MSG_WARN([Cross compiling for linux. Can't guess if libraries go in lib${ABI} or lib.]); dnl ' |
|
194 |
else
|
|
195 |
# The dash builtin pwd tries to be "helpful" and remember
|
|
196 |
# symlink names. Use -P option, and hope it's portable enough. |
|
197 |
test -d /usr/lib${ABI} \ |
|
198 |
&& (cd /usr/lib${ABI} && pwd -P | grep >/dev/null "/lib${ABI}"'$') \ |
|
199 |
&& libdir='${exec_prefix}/'"lib${ABI}" |
|
200 |
fi |
|
1.4.2
by Magnus Holmgren
Import upstream version 2.1 |
201 |
;; |
202 |
# On freebsd, it seems 32-bit libraries are in lib32, |
|
203 |
# and 64-bit in lib. Don't know about "kfreebsd", does |
|
204 |
# it follow the Linux fhs conventions?
|
|
205 |
*:freebsd*:32)
|
|
206 |
libdir='${exec_prefix}/lib32' |
|
207 |
;;
|
|
208 |
*:freebsd*:64)
|
|
209 |
libdir='${exec_prefix}/lib' |
|
210 |
;;
|
|
211 |
*)
|
|
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
212 |
AC_MSG_WARN([Don't know where to install $ABI-bit libraries on this system.]); dnl ' |
1.4.2
by Magnus Holmgren
Import upstream version 2.1 |
213 |
|
214 |
esac
|
|
215 |
AC_MSG_NOTICE([Libraries to be installed in $libdir.])
|
|
216 |
fi
|
|
217 |
fi
|
|
218 |
||
1
by Marek Habersack
Import upstream version 1.10 |
219 |
# Select assembler code
|
220 |
asm_path=
|
|
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
221 |
if test "x$enable_assembler" = xyes ; then
|
222 |
case "$host_cpu" in
|
|
223 |
[i?86* | k[5-8]* | pentium* | athlon])
|
|
1.4.2
by Magnus Holmgren
Import upstream version 2.1 |
224 |
asm_path=x86
|
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
225 |
;;
|
226 |
[x86_64 | amd64])
|
|
227 |
if test "$ABI" = 64 ; then
|
|
228 |
asm_path=x86_64
|
|
229 |
else
|
|
230 |
asm_path=x86
|
|
231 |
fi
|
|
232 |
;;
|
|
233 |
*sparc*)
|
|
234 |
if test "$ABI" = 64 ; then
|
|
235 |
asm_path=sparc64
|
|
236 |
else
|
|
237 |
asm_path=sparc32
|
|
238 |
fi
|
|
239 |
;;
|
|
1.4.7
by Magnus Holmgren
Import upstream version 2.7.1 |
240 |
armv6* | armv7*)
|
1.4.6
by Magnus Holmgren
Import upstream version 2.7 |
241 |
NETTLE_CHECK_ARM_NEON
|
242 |
||
1.4.7
by Magnus Holmgren
Import upstream version 2.7.1 |
243 |
asm_path="arm/v6 arm"
|
244 |
|
|
1.4.6
by Magnus Holmgren
Import upstream version 2.7 |
245 |
if test "x$enable_arm_neon" = xyes ; then
|
246 |
asm_path="arm/neon $asm_path"
|
|
247 |
fi
|
|
248 |
;;
|
|
1.4.7
by Magnus Holmgren
Import upstream version 2.7.1 |
249 |
arm*)
|
250 |
asm_path=arm
|
|
251 |
;;
|
|
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
252 |
*)
|
253 |
enable_assembler=no
|
|
254 |
;;
|
|
255 |
esac
|
|
256 |
fi
|
|
1.4.6
by Magnus Holmgren
Import upstream version 2.7 |
257 |
|
258 |
# Files which replace a C source file (or otherwise don't correspond |
|
259 |
# to a new object file). |
|
260 |
asm_replace_list="aes-encrypt-internal.asm aes-decrypt-internal.asm \ |
|
261 |
arcfour-crypt.asm camellia-crypt-internal.asm \
|
|
262 |
md5-compress.asm memxor.asm \
|
|
263 |
salsa20-crypt.asm salsa20-core-internal.asm \
|
|
264 |
serpent-encrypt.asm serpent-decrypt.asm \
|
|
265 |
sha1-compress.asm sha256-compress.asm sha512-compress.asm \
|
|
266 |
sha3-permute.asm umac-nh.asm umac-nh-n.asm machine.m4"
|
|
267 |
||
268 |
# Assembler files which generate additional object files if they are used. |
|
269 |
asm_optional_list="" |
|
270 |
||
271 |
if test "x$enable_public_key" = "xyes" ; then |
|
272 |
asm_optional_list="ecc-192-modp.asm ecc-224-modp.asm ecc-256-redc.asm \ |
|
273 |
ecc-384-modp.asm ecc-521-modp.asm"
|
|
274 |
fi
|
|
275 |
||
276 |
OPT_ASM_SOURCES="" |
|
277 |
||
278 |
asm_file_list="" |
|
1
by Marek Habersack
Import upstream version 1.10 |
279 |
|
280 |
if test "x$enable_assembler" = xyes ; then |
|
281 |
if test -n "$asm_path"; then |
|
1.4.6
by Magnus Holmgren
Import upstream version 2.7 |
282 |
AC_MSG_NOTICE([Looking for assembler files in $asm_path.]) |
283 |
for tmp_f in $asm_replace_list ; do |
|
284 |
for asm_dir in $asm_path ; do |
|
285 |
if test -f "$srcdir/$asm_dir/$tmp_f"; then |
|
286 |
asm_file_list="$asm_file_list $tmp_f" |
|
287 |
AC_CONFIG_LINKS($tmp_f:$asm_dir/$tmp_f) |
|
288 |
break |
|
289 |
fi |
|
290 |
done |
|
1
by Marek Habersack
Import upstream version 1.10 |
291 |
done |
1.4.6
by Magnus Holmgren
Import upstream version 2.7 |
292 |
dnl Workaround for AC_CONFIG_LINKS, which complains if we use the |
293 |
dnl same destination argument $tmp_f multiple times. |
|
294 |
for tmp_o in $asm_optional_list ; do |
|
295 |
for asm_dir in $asm_path ; do |
|
296 |
if test -f "$srcdir/$asm_dir/$tmp_o"; then |
|
297 |
asm_file_list="$asm_file_list $tmp_o" |
|
298 |
AC_CONFIG_LINKS($tmp_o:$asm_dir/$tmp_o) |
|
299 |
while read tmp_func ; do |
|
300 |
AC_DEFINE_UNQUOTED(HAVE_NATIVE_$tmp_func) |
|
301 |
eval HAVE_NATIVE_$tmp_func=yes |
|
302 |
done <<EOF |
|
303 |
[`sed -n 's/[^ ]*PROLOGUE(_*\(nettle_\)*\([^)]*\)).*$/\2/p' < "$srcdir/$asm_dir/$tmp_o"`] |
|
304 |
EOF
|
|
305 |
OPT_ASM_SOURCES="$OPT_ASM_SOURCES $tmp_o"
|
|
306 |
break
|
|
307 |
fi
|
|
308 |
done
|
|
309 |
done
|
|
310 |
if test -z "$asm_file_list"; then
|
|
1
by Marek Habersack
Import upstream version 1.10 |
311 |
enable_assembler=no
|
312 |
AC_MSG_WARN([No assembler files found.])
|
|
313 |
fi
|
|
314 |
fi
|
|
315 |
fi
|
|
316 |
||
1.4.6
by Magnus Holmgren
Import upstream version 2.7 |
317 |
AC_SUBST([OPT_ASM_SOURCES])
|
318 |
||
319 |
AH_VERBATIM([HAVE_NATIVE],
|
|
320 |
[/* Define to 1 each of the following for which a native (ie. CPU specific)
|
|
321 |
implementation of the corresponding routine exists. */
|
|
322 |
#undef HAVE_NATIVE_ecc_192_modp
|
|
323 |
#undef HAVE_NATIVE_ecc_192_redc
|
|
324 |
#undef HAVE_NATIVE_ecc_224_modp
|
|
325 |
#undef HAVE_NATIVE_ecc_224_redc
|
|
326 |
#undef HAVE_NATIVE_ecc_256_modp
|
|
327 |
#undef HAVE_NATIVE_ecc_256_redc
|
|
328 |
#undef HAVE_NATIVE_ecc_384_modp
|
|
329 |
#undef HAVE_NATIVE_ecc_384_redc
|
|
330 |
#undef HAVE_NATIVE_ecc_521_modp
|
|
331 |
#undef HAVE_NATIVE_ecc_521_redc])
|
|
332 |
||
333 |
# Besides getting correct dependencies, the explicit rules also tell
|
|
334 |
# make that the .s files "ought to exist", so they are preferred over
|
|
335 |
# .c files.
|
|
336 |
AC_CONFIG_COMMANDS([asm.d],
|
|
337 |
[ for f in $asm_file_list
|
|
338 |
do
|
|
339 |
case $f in
|
|
340 |
*.asm)
|
|
341 |
echo "`basename $f .asm`.s : $f "'$(srcdir)/asm.m4 machine.m4 config.m4' |
|
342 |
;;
|
|
343 |
esac
|
|
344 |
done > asm.d
|
|
345 |
],
|
|
346 |
[ asm_file_list="$asm_file_list" ]
|
|
347 |
)
|
|
348 |
||
1.1.1
by Marek Habersack
Import upstream version 1.12 |
349 |
LSH_CCPIC
|
350 |
||
351 |
SHLIBCFLAGS="$CCPIC"
|
|
352 |
||
1.5.1
by Magnus Holmgren
Import upstream version 2.5 |
353 |
IF_DLL='#' |
354 |
LIBNETTLE_FILE_SRC='$(LIBNETTLE_FORLINK)' |
|
355 |
LIBHOGWEED_FILE_SRC='$(LIBHOGWEED_FORLINK)' |
|
356 |
EMULATOR=''
|
|
357 |
W64_ABI=no
|
|
358 |
||
1.1.2
by Marek Habersack
Import upstream version 1.14 |
359 |
case "$host_os" in
|
1.5.1
by Magnus Holmgren
Import upstream version 2.5 |
360 |
mingw32*|cygwin*)
|
361 |
# The actual DLLs, e.g. libnettle-$major-$minor.dll, are normally
|
|
362 |
# installed into the bin dir (or more exactly $libdir/../bin, for
|
|
363 |
# automake), while libnettle.dll.a, which is a stub file for
|
|
364 |
# linking to the DLL, is installed into the lib dir.
|
|
365 |
case "$host_os" in
|
|
366 |
mingw32*)
|
|
367 |
LIBNETTLE_FORLINK='libnettle-$(LIBNETTLE_MAJOR)-$(LIBNETTLE_MINOR).dll' |
|
368 |
LIBHOGWEED_FORLINK='libhogweed-$(LIBHOGWEED_MAJOR)-$(LIBHOGWEED_MINOR).dll' |
|
369 |
;;
|
|
370 |
cygwin*)
|
|
371 |
LIBNETTLE_FORLINK='cygnettle-$(LIBNETTLE_MAJOR)-$(LIBNETTLE_MINOR).dll' |
|
372 |
LIBHOGWEED_FORLINK='cyghogweed-$(LIBHOGWEED_MAJOR)-$(LIBHOGWEED_MINOR).dll' |
|
373 |
;;
|
|
374 |
esac
|
|
375 |
if test "x$cross_compiling" = xyes ; then
|
|
376 |
case "$ABI" in
|
|
377 |
64)
|
|
378 |
EMULATOR=wine64
|
|
379 |
;;
|
|
380 |
*)
|
|
381 |
EMULATOR=wine
|
|
382 |
;;
|
|
383 |
esac
|
|
384 |
fi
|
|
385 |
if test "x$ABI" = x64 ; then
|
|
386 |
W64_ABI=yes
|
|
387 |
fi
|
|
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
388 |
LIBNETTLE_SONAME=''
|
389 |
LIBNETTLE_FILE='libnettle.dll.a' |
|
1.5.1
by Magnus Holmgren
Import upstream version 2.5 |
390 |
LIBNETTLE_FILE_SRC='$(LIBNETTLE_FILE)' |
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
391 |
LIBNETTLE_LINK='$(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,--out-implib=$(LIBNETTLE_FILE) -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--whole-archive' |
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
392 |
LIBNETTLE_LIBS='-Wl,--no-whole-archive $(LIBS)' |
393 |
||
394 |
LIBHOGWEED_SONAME=''
|
|
395 |
LIBHOGWEED_FILE='libhogweed.dll.a' |
|
1.5.1
by Magnus Holmgren
Import upstream version 2.5 |
396 |
LIBHOGWEED_FILE_SRC='$(LIBHOGWEED_FILE)' |
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
397 |
LIBHOGWEED_LINK='$(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,--out-implib=$(LIBHOGWEED_FILE) -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--whole-archive' |
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
398 |
LIBHOGWEED_LIBS='-Wl,--no-whole-archive $(LIBS) libnettle.dll.a' |
1.5.1
by Magnus Holmgren
Import upstream version 2.5 |
399 |
IF_DLL=''
|
1.1.1
by Marek Habersack
Import upstream version 1.12 |
400 |
;;
|
1.1.4
by Magnus Holmgren
Import upstream version 1.15 |
401 |
darwin*)
|
1.4.1
by Magnus Holmgren
Import upstream version 1.16~cvs20070603 |
402 |
LIBNETTLE_FORLINK=libnettle.dylib
|
1.5.1
by Magnus Holmgren
Import upstream version 2.5 |
403 |
LIBNETTLE_SONAME='libnettle.$(LIBNETTLE_MAJOR).dylib' |
404 |
LIBNETTLE_FILE='libnettle.$(LIBNETTLE_MAJOR).$(LIBNETTLE_MINOR).dylib' |
|
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
405 |
LIBNETTLE_LINK='$(CC) $(CFLAGS) -dynamiclib $(LDFLAGS) -install_name ${libdir}/$(LIBNETTLE_SONAME) -compatibility_version $(LIBNETTLE_MAJOR) -current_version $(LIBNETTLE_MAJOR).$(LIBNETTLE_MINOR)' |
1.4.1
by Magnus Holmgren
Import upstream version 1.16~cvs20070603 |
406 |
LIBNETTLE_LIBS=''
|
407 |
||
408 |
LIBHOGWEED_FORLINK=libhogweed.dylib
|
|
1.5.1
by Magnus Holmgren
Import upstream version 2.5 |
409 |
LIBHOGWEED_SONAME='libhogweed.$(LIBHOGWEED_MAJOR).dylib' |
410 |
LIBHOGWEED_FILE='libhogweed.$(LIBHOGWEED_MAJOR).$(LIBHOGWEED_MINOR).dylib' |
|
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
411 |
LIBHOGWEED_LINK='$(CC) $(CFLAGS) -dynamiclib -L. $(LDFLAGS) -install_name ${libdir}/$(LIBHOGWEED_SONAME) -compatibility_version $(LIBHOGWEED_MAJOR) -current_version $(LIBHOGWEED_MAJOR).$(LIBHOGWEED_MINOR)' |
1.5.1
by Magnus Holmgren
Import upstream version 2.5 |
412 |
LIBHOGWEED_LIBS='-lnettle -lgmp' |
1.1.4
by Magnus Holmgren
Import upstream version 1.15 |
413 |
;;
|
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
414 |
solaris*)
|
415 |
# Sun's ld uses -h to set the soname, and this option is passed |
|
416 |
# through by both Sun's compiler and gcc. Might not work with GNU |
|
417 |
# ld, but it's unusual to use GNU ld on Solaris. |
|
418 |
LIBNETTLE_FORLINK=libnettle.so |
|
419 |
LIBNETTLE_SONAME='$(LIBNETTLE_FORLINK).$(LIBNETTLE_MAJOR)' |
|
420 |
LIBNETTLE_FILE='$(LIBNETTLE_SONAME).$(LIBNETTLE_MINOR)' |
|
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
421 |
LIBNETTLE_LINK='$(CC) $(CFLAGS) $(LDFLAGS) -G -h $(LIBNETTLE_SONAME)' |
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
422 |
LIBNETTLE_LIBS='' |
423 |
||
424 |
LIBHOGWEED_FORLINK=libhogweed.so |
|
425 |
LIBHOGWEED_SONAME='$(LIBHOGWEED_FORLINK).$(LIBHOGWEED_MAJOR)' |
|
426 |
LIBHOGWEED_FILE='$(LIBHOGWEED_SONAME).$(LIBHOGWEED_MINOR)' |
|
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
427 |
LIBHOGWEED_LINK='$(CC) $(CFLAGS) $(LDFLAGS) -L. -G -h $(LIBHOGWEED_SONAME)' |
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
428 |
LIBHOGWEED_LIBS='-lnettle -lgmp' |
429 |
;; |
|
1.1.1
by Marek Habersack
Import upstream version 1.12 |
430 |
*) |
1.4.1
by Magnus Holmgren
Import upstream version 1.16~cvs20070603 |
431 |
LIBNETTLE_FORLINK=libnettle.so |
432 |
LIBNETTLE_SONAME='$(LIBNETTLE_FORLINK).$(LIBNETTLE_MAJOR)' |
|
433 |
LIBNETTLE_FILE='$(LIBNETTLE_SONAME).$(LIBNETTLE_MINOR)' |
|
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
434 |
LIBNETTLE_LINK='$(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname=$(LIBNETTLE_SONAME)' |
1.4.1
by Magnus Holmgren
Import upstream version 1.16~cvs20070603 |
435 |
LIBNETTLE_LIBS='' |
436 |
||
437 |
LIBHOGWEED_FORLINK=libhogweed.so |
|
438 |
LIBHOGWEED_SONAME='$(LIBHOGWEED_FORLINK).$(LIBHOGWEED_MAJOR)' |
|
439 |
LIBHOGWEED_FILE='$(LIBHOGWEED_SONAME).$(LIBHOGWEED_MINOR)' |
|
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
440 |
LIBHOGWEED_LINK='$(CC) $(CFLAGS) $(LDFLAGS) -L. -shared -Wl,-soname=$(LIBHOGWEED_SONAME)' |
1.4.2
by Magnus Holmgren
Import upstream version 2.1 |
441 |
# Requested by debian, to make linking with only -lhogweed work |
442 |
# (does not work in general, e.g., with static linking all of |
|
443 |
# -lhogweed -lgmp -lnettle are still required). Also makes dlopen |
|
444 |
# of libhogweed.so work, without having to use RTLD_GLOBAL. |
|
445 |
# Depends on -L. above, to locate nettle.so. |
|
446 |
LIBHOGWEED_LIBS='-lnettle -lgmp' |
|
1.1.1
by Marek Habersack
Import upstream version 1.12 |
447 |
;; |
448 |
esac
|
|
449 |
||
450 |
if test "x$enable_pic" = xyes; then |
|
451 |
CCPIC_MAYBE="$CCPIC" |
|
452 |
else
|
|
453 |
CCPIC_MAYBE='' |
|
454 |
fi
|
|
455 |
AC_SUBST([CCPIC_MAYBE]) |
|
456 |
||
1.1.2
by Marek Habersack
Import upstream version 1.14 |
457 |
ASM_SYMBOL_PREFIX='' |
458 |
ASM_ELF_STYLE='no' |
|
1.4.6
by Magnus Holmgren
Import upstream version 2.7 |
459 |
# GNU as default is to use @ |
460 |
ASM_TYPE_FUNCTION='@function' |
|
461 |
ASM_TYPE_PROGBITS='@progbits' |
|
1.1.2
by Marek Habersack
Import upstream version 1.14 |
462 |
ASM_MARK_NOEXEC_STACK='' |
1.1.4
by Magnus Holmgren
Import upstream version 1.15 |
463 |
ASM_ALIGN_LOG='' |
1.1.2
by Marek Habersack
Import upstream version 1.14 |
464 |
|
465 |
if test x$enable_assembler = xyes ; then |
|
466 |
AC_CACHE_CHECK([if globals are prefixed by underscore], |
|
467 |
nettle_cv_asm_underscore, |
|
468 |
[ # Default is no underscore |
|
469 |
nettle_cv_asm_underscore=no
|
|
470 |
AC_COMPILE_IFELSE(
|
|
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
471 |
[AC_LANG_SOURCE([int a_global_symbol;])], |
1.1.2
by Marek Habersack
Import upstream version 1.14 |
472 |
[ $NM conftest.$OBJEXT >conftest.out |
473 |
if grep _a_global_symbol conftest.out >/dev/null ; then
|
|
474 |
nettle_cv_asm_underscore=yes
|
|
475 |
elif grep a_global_symbol conftest.out >/dev/null ; then
|
|
476 |
nettle_cv_asm_underscore=no
|
|
477 |
else
|
|
478 |
AC_MSG_WARN([nm doesn't list a_global_symbol at all]) |
|
479 |
fi], |
|
480 |
[AC_MSG_WARN([test program with a single global could not be compiled!?])])]) |
|
481 |
if test x$nettle_cv_asm_underscore = xyes ; then |
|
482 |
ASM_SYMBOL_PREFIX='_' |
|
483 |
fi |
|
484 |
||
485 |
AC_CACHE_CHECK([for ELF-style .type,%function pseudo-ops], |
|
486 |
[nettle_cv_asm_type_percent_function], |
|
487 |
[GMP_TRY_ASSEMBLE([ |
|
488 |
.text
|
|
489 |
.globl foo
|
|
490 |
.type foo,%function
|
|
491 |
foo:
|
|
492 |
.Lend:
|
|
493 |
||
494 |
.size foo, .Lend - foo
|
|
495 |
], |
|
496 |
[nettle_cv_asm_type_percent_function=yes], |
|
497 |
[nettle_cv_asm_type_percent_function=no])]) |
|
498 |
||
499 |
dnl Needs double quote for the # character |
|
500 |
AC_CACHE_CHECK([[for ELF-style .type,#function pseudo-ops]], |
|
501 |
[nettle_cv_asm_type_hash_function], |
|
502 |
[GMP_TRY_ASSEMBLE([ |
|
503 |
.text
|
|
504 |
.globl foo
|
|
505 |
.type foo,#function
|
|
506 |
foo:
|
|
507 |
.Lend:
|
|
508 |
||
509 |
.size foo, .Lend - foo
|
|
510 |
], |
|
511 |
[nettle_cv_asm_type_hash_function=yes], |
|
512 |
[nettle_cv_asm_type_hash_function=no])]) |
|
513 |
||
514 |
if test x$nettle_cv_asm_type_percent_function = xyes ; then |
|
515 |
ASM_ELF_STYLE='yes' |
|
516 |
ASM_TYPE_FUNCTION='%function' |
|
1.4.6
by Magnus Holmgren
Import upstream version 2.7 |
517 |
ASM_TYPE_PROGBITS='%progbits' |
1.1.2
by Marek Habersack
Import upstream version 1.14 |
518 |
else |
519 |
if test x$nettle_cv_asm_type_hash_function = xyes ; then |
|
520 |
ASM_ELF_STYLE='yes' |
|
521 |
ASM_TYPE_FUNCTION='#function' |
|
1.4.6
by Magnus Holmgren
Import upstream version 2.7 |
522 |
ASM_TYPE_PROGBITS='#progbits' |
523 |
fi |
|
524 |
fi |
|
525 |
||
526 |
AC_CACHE_CHECK([if we should use a .note.GNU-stack section], |
|
527 |
nettle_cv_asm_gnu_stack, |
|
528 |
[ # Default |
|
529 |
nettle_cv_asm_gnu_stack=no
|
|
530 |
||
531 |
cat >conftest.c <<EOF
|
|
532 |
int foo() { return 0; }
|
|
533 |
EOF
|
|
534 |
nettle_compile="$CC $CFLAGS $CPPFLAGS -c conftest.c >conftest.out 2>&1"
|
|
535 |
if AC_TRY_EVAL(nettle_compile); then
|
|
536 |
cat conftest.out >&AC_FD_CC
|
|
537 |
$OBJDUMP -x conftest.o | grep '\.note\.GNU-stack' > /dev/null \
|
|
538 |
&& nettle_cv_asm_gnu_stack=yes
|
|
539 |
else
|
|
540 |
cat conftest.out >&AC_FD_CC
|
|
541 |
echo "configure: failed program was:" >&AC_FD_CC
|
|
542 |
cat conftest.s >&AC_FD_CC
|
|
543 |
fi
|
|
544 |
rm -f conftest.*]) |
|
545 |
if test x$nettle_cv_asm_gnu_stack = xyes ; then |
|
546 |
ASM_MARK_NOEXEC_STACK='.section .note.GNU-stack,"",TYPE_PROGBITS' |
|
547 |
fi |
|
548 |
||
1.1.4
by Magnus Holmgren
Import upstream version 1.15 |
549 |
AC_CACHE_CHECK([if .align assembly directive is logarithmic], |
550 |
[nettle_cv_asm_align_log], |
|
551 |
[GMP_TRY_ASSEMBLE([ |
|
552 |
.align 3
|
|
553 |
], |
|
554 |
[nettle_cv_asm_align_log=yes], |
|
555 |
[nettle_cv_asm_align_log=no])]) |
|
1.4.6
by Magnus Holmgren
Import upstream version 2.7 |
556 |
ASM_ALIGN_LOG="$nettle_cv_asm_align_log" |
1.1.2
by Marek Habersack
Import upstream version 1.14 |
557 |
fi
|
558 |
||
559 |
AC_SUBST(ASM_SYMBOL_PREFIX) |
|
560 |
AC_SUBST(ASM_ELF_STYLE) |
|
561 |
AC_SUBST(ASM_TYPE_FUNCTION) |
|
1.4.6
by Magnus Holmgren
Import upstream version 2.7 |
562 |
AC_SUBST(ASM_TYPE_PROGBITS) |
1.1.2
by Marek Habersack
Import upstream version 1.14 |
563 |
AC_SUBST(ASM_MARK_NOEXEC_STACK) |
1.1.4
by Magnus Holmgren
Import upstream version 1.15 |
564 |
AC_SUBST(ASM_ALIGN_LOG) |
1.5.1
by Magnus Holmgren
Import upstream version 2.5 |
565 |
AC_SUBST(W64_ABI) |
566 |
AC_SUBST(EMULATOR) |
|
1
by Marek Habersack
Import upstream version 1.10 |
567 |
|
568 |
AC_SUBST(SHLIBCFLAGS) |
|
1.4.1
by Magnus Holmgren
Import upstream version 1.16~cvs20070603 |
569 |
|
570 |
AC_SUBST(LIBNETTLE_MAJOR) |
|
571 |
AC_SUBST(LIBNETTLE_MINOR) |
|
572 |
AC_SUBST(LIBNETTLE_FORLINK) |
|
573 |
AC_SUBST(LIBNETTLE_SONAME) |
|
574 |
AC_SUBST(LIBNETTLE_FILE) |
|
1.5.1
by Magnus Holmgren
Import upstream version 2.5 |
575 |
AC_SUBST(LIBNETTLE_FILE_SRC) |
1.4.1
by Magnus Holmgren
Import upstream version 1.16~cvs20070603 |
576 |
AC_SUBST(LIBNETTLE_LINK) |
577 |
AC_SUBST(LIBNETTLE_LIBS) |
|
578 |
||
579 |
AC_SUBST(LIBHOGWEED_MAJOR) |
|
580 |
AC_SUBST(LIBHOGWEED_MINOR) |
|
581 |
AC_SUBST(LIBHOGWEED_FORLINK) |
|
582 |
AC_SUBST(LIBHOGWEED_SONAME) |
|
583 |
AC_SUBST(LIBHOGWEED_FILE) |
|
1.5.1
by Magnus Holmgren
Import upstream version 2.5 |
584 |
AC_SUBST(LIBHOGWEED_FILE_SRC) |
1.4.1
by Magnus Holmgren
Import upstream version 1.16~cvs20070603 |
585 |
AC_SUBST(LIBHOGWEED_LINK) |
586 |
AC_SUBST(LIBHOGWEED_LIBS) |
|
1.1.1
by Marek Habersack
Import upstream version 1.12 |
587 |
|
1
by Marek Habersack
Import upstream version 1.10 |
588 |
AC_PATH_PROG(M4, m4, m4) |
589 |
||
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
590 |
if test "x$enable_gcov" = "xyes"; then |
591 |
CFLAGS="$CFLAGS -ftest-coverage -fprofile-arcs" |
|
592 |
fi
|
|
593 |
||
1
by Marek Habersack
Import upstream version 1.10 |
594 |
# Checks for typedefs, structures, and compiler characteristics. |
595 |
AC_C_CONST
|
|
596 |
AC_C_INLINE
|
|
597 |
AC_TYPE_UID_T
|
|
598 |
AC_TYPE_SIZE_T
|
|
599 |
AC_HEADER_TIME
|
|
1.1.5
by Magnus Holmgren
Import upstream version 2.0 |
600 |
AC_CHECK_SIZEOF(long) |
1.5.1
by Magnus Holmgren
Import upstream version 2.5 |
601 |
AC_CHECK_ALIGNOF(uint64_t) |
602 |
||
603 |
ALIGNOF_UINT64_T="$ac_cv_alignof_uint64_t" |
|
604 |
AC_SUBST(ALIGNOF_UINT64_T) |
|
1
by Marek Habersack
Import upstream version 1.10 |
605 |
|
1.1.2
by Marek Habersack
Import upstream version 1.14 |
606 |
AC_CHECK_HEADERS([openssl/blowfish.h openssl/des.h openssl/cast.h openssl/aes.h],, |
607 |
[enable_openssl=no |
|
608 |
break]) |
|
609 |
||
1
by Marek Habersack
Import upstream version 1.10 |
610 |
LSH_FUNC_ALLOCA
|
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
611 |
LSH_FUNC_STRERROR
|
1
by Marek Habersack
Import upstream version 1.10 |
612 |
|
613 |
# Needed by the supplied memcmp.c |
|
614 |
AC_C_BIGENDIAN
|
|
615 |
AC_REPLACE_FUNCS(memxor) |
|
616 |
||
617 |
LSH_GCC_ATTRIBUTES
|
|
618 |
||
619 |
# According to Simon Josefsson, looking for uint32_t and friends in |
|
620 |
# sys/types.h is needed on some systems, in particular cygwin. |
|
1.1.2
by Marek Habersack
Import upstream version 1.14 |
621 |
AX_CREATE_STDINT_H([nettle-stdint.h], [sys/types.h]) |
1
by Marek Habersack
Import upstream version 1.10 |
622 |
|
1.1.5
by Magnus Holmgren
Import upstream version 2.0 |
623 |
# Check for file locking. We (AC_PROG_CC?) have already checked for |
624 |
# sys/types.h and unistd.h. |
|
625 |
AC_CACHE_CHECK([for fcntl file locking], |
|
626 |
nettle_cv_fcntl_locking, |
|
627 |
[AC_TRY_COMPILE([ |
|
628 |
#if HAVE_SYS_TYPES_H
|
|
629 |
# include <sys/types.h>
|
|
630 |
#endif
|
|
631 |
#if HAVE_UNISTD_H
|
|
632 |
# include <unistd.h>
|
|
633 |
#endif
|
|
634 |
#include <fcntl.h>
|
|
635 |
],[ |
|
636 |
int op = F_SETLKW;
|
|
637 |
struct flock fl;
|
|
638 |
], |
|
639 |
nettle_cv_fcntl_locking=yes, |
|
640 |
nettle_cv_fcntl_locking=no)]) |
|
641 |
||
642 |
AH_TEMPLATE([HAVE_FCNTL_LOCKING], [Define if fcntl file locking is available]) |
|
643 |
if test "x$nettle_cv_fcntl_locking" = "xyes" ; then |
|
644 |
AC_DEFINE(HAVE_FCNTL_LOCKING) |
|
645 |
fi
|
|
646 |
||
1
by Marek Habersack
Import upstream version 1.10 |
647 |
# Checks for libraries |
648 |
AC_CHECK_LIB(gmp, __gmpz_getlimbn,, |
|
649 |
[AC_MSG_WARN( |
|
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
650 |
[GNU MP not found, or not 3.1 or up, see http://gmplib.org/.
|
1
by Marek Habersack
Import upstream version 1.10 |
651 |
Support for public key algorithms will be unavailable.])] |
652 |
enable_public_key=no) |
|
653 |
||
1.4.2
by Magnus Holmgren
Import upstream version 2.1 |
654 |
# Add -R flags needed to run programs linked with gmp |
655 |
LSH_RPATH_FIX
|
|
656 |
||
1.4.6
by Magnus Holmgren
Import upstream version 2.7 |
657 |
# Check for gmp limb size |
658 |
nettle_cv_gmp_numb_bits=0 |
|
659 |
if test "$enable_public_key" = yes; then |
|
660 |
AC_MSG_CHECKING([for GMP limb size]) |
|
661 |
AC_COMPUTE_INT(nettle_cv_gmp_numb_bits, [GMP_NUMB_BITS], |
|
662 |
[#include <gmp.h>], |
|
663 |
[AC_MSG_FAILURE([cannot find value of GMP_NUMB_BITS])]) |
|
664 |
||
665 |
AC_MSG_RESULT([$nettle_cv_gmp_numb_bits bits]) |
|
666 |
fi
|
|
667 |
||
668 |
GMP_NUMB_BITS="$nettle_cv_gmp_numb_bits" |
|
669 |
AC_SUBST([GMP_NUMB_BITS]) |
|
670 |
||
1.4.2
by Magnus Holmgren
Import upstream version 2.1 |
671 |
AH_TEMPLATE([HAVE_MPZ_POWM_SEC], [Define if mpz_powm_sec is available (appeared in GMP-5)]) |
672 |
AC_CHECK_FUNC(__gmpz_powm_sec, [AC_DEFINE(HAVE_MPZ_POWM_SEC)]) |
|
673 |
||
1.4.1
by Magnus Holmgren
Import upstream version 1.16~cvs20070603 |
674 |
AH_TEMPLATE([WITH_HOGWEED], [Defined if public key features are enabled]) |
675 |
||
1
by Marek Habersack
Import upstream version 1.10 |
676 |
if test "x$enable_public_key" = xyes ; then |
1.4.1
by Magnus Holmgren
Import upstream version 1.16~cvs20070603 |
677 |
AC_DEFINE(WITH_HOGWEED) |
678 |
IF_HOGWEED='' |
|
679 |
else
|
|
680 |
IF_HOGWEED='#' |
|
681 |
fi
|
|
682 |
||
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
683 |
if test "x$enable_static" = xyes ; then |
684 |
IF_STATIC='' |
|
685 |
else
|
|
686 |
IF_STATIC='#' |
|
687 |
fi
|
|
688 |
||
1.4.1
by Magnus Holmgren
Import upstream version 1.16~cvs20070603 |
689 |
if test "x$enable_shared" = xyes ; then |
690 |
IF_SHARED='' |
|
691 |
else
|
|
692 |
IF_SHARED='#' |
|
693 |
fi
|
|
694 |
||
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
695 |
# Documentation tools |
696 |
if test "x$enable_documentation" != "xno"; then |
|
697 |
AC_PATH_PROG(MAKEINFO, makeinfo, not-found) |
|
698 |
||
699 |
if test "x$MAKEINFO" != "xnot-found"; then |
|
700 |
enable_documentation=yes |
|
701 |
AC_SUBST(MAKEINFO) |
|
702 |
else |
|
703 |
if test "x$enable_documentation" == "xauto" ; then |
|
704 |
enable_documentation=no |
|
705 |
else |
|
706 |
AC_MSG_ERROR([Cannot find 'makeinfo', required for documentation.]) |
|
707 |
fi |
|
708 |
fi |
|
709 |
fi
|
|
710 |
||
711 |
if test "x$enable_documentation" = "xyes" ; then |
|
712 |
IF_DOCUMENTATION='' |
|
713 |
else
|
|
714 |
IF_DOCUMENTATION='#' |
|
715 |
fi
|
|
716 |
||
1.4.1
by Magnus Holmgren
Import upstream version 1.16~cvs20070603 |
717 |
AC_SUBST(IF_HOGWEED) |
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
718 |
AC_SUBST(IF_STATIC) |
1.4.1
by Magnus Holmgren
Import upstream version 1.16~cvs20070603 |
719 |
AC_SUBST(IF_SHARED) |
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
720 |
AC_SUBST(IF_DOCUMENTATION) |
1.5.1
by Magnus Holmgren
Import upstream version 2.5 |
721 |
AC_SUBST(IF_DLL) |
1
by Marek Habersack
Import upstream version 1.10 |
722 |
|
723 |
OPENSSL_LIBFLAGS='' |
|
724 |
||
725 |
# Check for openssl's libcrypto (used only for benchmarking) |
|
1.1.2
by Marek Habersack
Import upstream version 1.14 |
726 |
if test x$enable_openssl = xyes ; then
|
727 |
AC_CHECK_LIB(crypto, BF_ecb_encrypt,
|
|
728 |
[OPENSSL_LIBFLAGS='-lcrypto'], |
|
729 |
[enable_openssl=no])
|
|
730 |
fi
|
|
731 |
||
732 |
AH_TEMPLATE([WITH_OPENSSL],
|
|
1.5.1
by Magnus Holmgren
Import upstream version 2.5 |
733 |
[Define if you have openssl's libcrypto (used for benchmarking)]) dnl' |
1.1.2
by Marek Habersack
Import upstream version 1.14 |
734 |
|
735 |
if test x$enable_openssl = xyes ; then
|
|
736 |
AC_DEFINE(WITH_OPENSSL)
|
|
737 |
fi
|
|
1
by Marek Habersack
Import upstream version 1.10 |
738 |
|
739 |
AC_SUBST(OPENSSL_LIBFLAGS)
|
|
740 |
||
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
741 |
AH_BOTTOM(
|
1.5.1
by Magnus Holmgren
Import upstream version 2.5 |
742 |
[#if defined(__x86_64__) || defined(__arch64__)
|
743 |
# define HAVE_NATIVE_64_BIT 1
|
|
744 |
#else
|
|
745 |
/* Needs include of <limits.h> before use. */
|
|
746 |
# define HAVE_NATIVE_64_BIT (SIZEOF_LONG * CHAR_BIT >= 64)
|
|
747 |
#endif
|
|
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
748 |
])
|
749 |
||
750 |
# clock_gettime is in librt on *-*-osf5.1 and on glibc, so add -lrt to
|
|
751 |
# BENCH_LIBS if needed. On linux (tested on x86_32, 2.6.26),
|
|
752 |
# clock_getres reports ns accuracy, while in a quick test on osf
|
|
753 |
# clock_getres said only 1 millisecond.
|
|
754 |
||
755 |
old_LIBS="$LIBS"
|
|
756 |
AC_SEARCH_LIBS(clock_gettime, rt, [
|
|
1.5.1
by Magnus Holmgren
Import upstream version 2.5 |
757 |
AC_DEFINE([HAVE_CLOCK_GETTIME],1,[Define if clock_gettime is available])])
|
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
758 |
BENCH_LIBS="$LIBS"
|
759 |
LIBS="$old_LIBS"
|
|
760 |
||
761 |
AC_SUBST(BENCH_LIBS)
|
|
762 |
||
1
by Marek Habersack
Import upstream version 1.10 |
763 |
# Set these flags *last*, or else the test programs won't compile |
764 |
if test x$GCC = xyes ; then |
|
765 |
# Using -ggdb3 makes (some versions of) Redhat's gcc-2.96 dump core |
|
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
766 |
if $CC --version | grep '^2\.96$' 1>/dev/null 2>&1; then |
1
by Marek Habersack
Import upstream version 1.10 |
767 |
true
|
768 |
else
|
|
769 |
CFLAGS="$CFLAGS -ggdb3"
|
|
770 |
fi
|
|
1.1.2
by Marek Habersack
Import upstream version 1.14 |
771 |
# FIXME: It would be better to actually test if this option works and/or is needed.
|
1.1.4
by Magnus Holmgren
Import upstream version 1.15 |
772 |
# Or perhaps use -funsigned-char.
|
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
773 |
if $CC --version | grep 'gcc.* 4\.' 1>/dev/null 2>&1; then |
1.1.2
by Marek Habersack
Import upstream version 1.14 |
774 |
CFLAGS="$CFLAGS -Wno-pointer-sign"
|
775 |
fi
|
|
1
by Marek Habersack
Import upstream version 1.10 |
776 |
CFLAGS="$CFLAGS -Wall -W \
|
777 |
-Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes \
|
|
778 |
-Wpointer-arith -Wbad-function-cast -Wnested-externs"
|
|
779 |
||
780 |
# Don't enable -Wcast-align as it results in tons of warnings in the |
|
781 |
# DES code. And when using stdio. |
|
782 |
# Don't enable -Waggregate-return, as that causes warnings for glibc |
|
783 |
# inttypes.h. |
|
784 |
fi
|
|
785 |
||
1.1.1
by Marek Habersack
Import upstream version 1.12 |
786 |
AC_CONFIG_FILES([config.make config.m4 Makefile]) |
787 |
AC_CONFIG_FILES([tools/Makefile testsuite/Makefile examples/Makefile]) |
|
1.4.4
by Magnus Holmgren
Import upstream version 2.3 |
788 |
AC_CONFIG_FILES([nettle.pc hogweed.pc]) |
1.1.1
by Marek Habersack
Import upstream version 1.12 |
789 |
|
790 |
AC_OUTPUT
|
|
1
by Marek Habersack
Import upstream version 1.10 |
791 |
|
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
792 |
AC_MSG_NOTICE([summary of build options: |
793 |
||
794 |
Version: ${PACKAGE_STRING}
|
|
795 |
Host type: ${host}
|
|
796 |
ABI: ${ABI}
|
|
797 |
Assembly files: ${asm_path:-none}
|
|
798 |
Install prefix: ${prefix}
|
|
799 |
Library directory: ${libdir}
|
|
800 |
Compiler: ${CC}
|
|
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
801 |
Static libraries: ${enable_static}
|
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
802 |
Shared libraries: ${enable_shared}
|
803 |
Public key crypto: ${enable_public_key}
|
|
1.5.2
by Magnus Holmgren
Import upstream version 2.6 |
804 |
Documentation: ${enable_documentation}
|
1.4.3
by Magnus Holmgren
Import upstream version 2.2 |
805 |
]) |