]> Git Repo - secp256k1.git/blob - configure.ac
build: Use own variable SECP_CFLAGS instead of touching user CFLAGS
[secp256k1.git] / configure.ac
1 AC_PREREQ([2.60])
2 AC_INIT([libsecp256k1],[0.1])
3 AC_CONFIG_AUX_DIR([build-aux])
4 AC_CONFIG_MACRO_DIR([build-aux/m4])
5 AC_CANONICAL_HOST
6 AH_TOP([#ifndef LIBSECP256K1_CONFIG_H])
7 AH_TOP([#define LIBSECP256K1_CONFIG_H])
8 AH_BOTTOM([#endif /*LIBSECP256K1_CONFIG_H*/])
9 AM_INIT_AUTOMAKE([foreign subdir-objects])
10
11 # Set -g if CFLAGS are not already set, which matches the default autoconf
12 # behavior (see PROG_CC in the Autoconf manual) with the exception that we don't
13 # set -O2 here because we set it in any case (see further down).
14 : ${CFLAGS="-g"}
15 LT_INIT
16
17 # Make the compilation flags quiet unless V=1 is used.
18 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
19
20 PKG_PROG_PKG_CONFIG
21
22 AC_PATH_TOOL(AR, ar)
23 AC_PATH_TOOL(RANLIB, ranlib)
24 AC_PATH_TOOL(STRIP, strip)
25
26 # Save definition of AC_PROG_CC because AM_PROG_CC_C_O in automake<=1.13 will
27 # redefine AC_PROG_CC to exit with an error, which avoids the user calling it
28 # accidently and screwing up the effect of AM_PROG_CC_C_O. However, we'll need
29 # AC_PROG_CC later on in AX_PROG_CC_FOR_BUILD, where its usage is fine, and
30 # we'll carefully make sure not to call AC_PROG_CC anywhere else.
31 m4_copy([AC_PROG_CC], [saved_AC_PROG_CC])
32 AM_PROG_CC_C_O
33 # Restore AC_PROG_CC
34 m4_rename_force([saved_AC_PROG_CC], [AC_PROG_CC])
35
36 AC_PROG_CC_C89
37 if test x"$ac_cv_prog_cc_c89" = x"no"; then
38   AC_MSG_ERROR([c89 compiler support required])
39 fi
40 AM_PROG_AS
41
42 case $host_os in
43   *darwin*)
44      if  test x$cross_compiling != xyes; then
45        AC_PATH_PROG([BREW],brew,)
46        if test x$BREW != x; then
47          # These Homebrew packages may be keg-only, meaning that they won't be found
48          # in expected paths because they may conflict with system files. Ask
49          # Homebrew where each one is located, then adjust paths accordingly.
50          openssl_prefix=`$BREW --prefix openssl 2>/dev/null`
51          valgrind_prefix=`$BREW --prefix valgrind 2>/dev/null`
52          if test x$openssl_prefix != x; then
53            PKG_CONFIG_PATH="$openssl_prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
54            export PKG_CONFIG_PATH
55            CRYPTO_CPPFLAGS="-I$openssl_prefix/include"
56          fi
57          if test x$valgrind_prefix != x; then
58            VALGRIND_CPPFLAGS="-I$valgrind_prefix/include"
59          fi
60        else
61          AC_PATH_PROG([PORT],port,)
62          # If homebrew isn't installed and macports is, add the macports default paths
63          # as a last resort.
64          if test x$PORT != x; then
65            CPPFLAGS="$CPPFLAGS -isystem /opt/local/include"
66            LDFLAGS="$LDFLAGS -L/opt/local/lib"
67          fi
68        fi
69      fi
70    ;;
71 esac
72
73 # Try if some desirable compiler flags are supported and append them to SECP_CFLAGS.
74 #
75 # These are our own flags, so we append them to our own SECP_CFLAGS variable (instead of CFLAGS) as
76 # recommended in the automake manual (Section "Flag Variables Ordering"). CFLAGS belongs to the user
77 # and we are not supposed to touch it. In the Makefile, we will need to ensure that SECP_CFLAGS
78 # is prepended to CFLAGS when invoking the compiler so that the user always has the last word (flag).
79 #
80 # Another advantage of not touching CFLAGS is that the contents of CFLAGS will be picked up by
81 # libtool for compiling helper executables. For example, when compiling for Windows, libtool will
82 # generate entire wrapper executables (instead of simple wrapper scripts as on Unix) to ensure
83 # proper operation of uninstalled programs linked by libtool against the uninstalled shared library.
84 # These executables are compiled from C source file for which our flags may not be appropriate,
85 # e.g., -std=c89 flag has lead to undesirable warnings in the past.
86 #
87 # TODO We still touch the CFLAGS for --coverage and -O0/-O2.
88 # TODO We should analogously not touch CPPFLAGS and LDFLAGS but currently there are no issues.
89 AC_DEFUN([SECP_TRY_APPEND_DEFAULT_CFLAGS], [
90     # Try to append -Werror=unknown-warning-option to CFLAGS temporarily. Otherwise clang will
91     # not error out if it gets unknown warning flags and the checks here will always succeed
92     # no matter if clang knows the flag or not.
93     SECP_TRY_APPEND_DEFAULT_CFLAGS_saved_CFLAGS="$CFLAGS"
94     SECP_TRY_APPEND_CFLAGS([-Werror=unknown-warning-option], CFLAGS)
95
96     SECP_TRY_APPEND_CFLAGS([-std=c89 -pedantic -Wno-long-long -Wnested-externs -Wshadow -Wstrict-prototypes -Wundef], $1) # GCC >= 3.0, -Wlong-long is implied by -pedantic.
97     SECP_TRY_APPEND_CFLAGS([-Wno-overlength-strings], $1) # GCC >= 4.2, -Woverlength-strings is implied by -pedantic.
98     SECP_TRY_APPEND_CFLAGS([-Wall], $1) # GCC >= 2.95 and probably many other compilers
99     SECP_TRY_APPEND_CFLAGS([-Wno-unused-function], $1) # GCC >= 3.0, -Wunused-function is implied by -Wall.
100     SECP_TRY_APPEND_CFLAGS([-Wextra], $1) # GCC >= 3.4, this is the newer name of -W, which we don't use because older GCCs will warn about unused functions.
101     SECP_TRY_APPEND_CFLAGS([-Wcast-align], $1) # GCC >= 2.95
102     SECP_TRY_APPEND_CFLAGS([-Wconditional-uninitialized], $1) # Clang >= 3.0 only
103     SECP_TRY_APPEND_CFLAGS([-fvisibility=hidden], $1) # GCC >= 4.0
104
105     CFLAGS="$SECP_TRY_APPEND_DEFAULT_CFLAGS_saved_CFLAGS"
106 ])
107 SECP_TRY_APPEND_DEFAULT_CFLAGS(SECP_CFLAGS)
108
109 ###
110 ### Define config arguments
111 ###
112
113 AC_ARG_ENABLE(benchmark,
114     AS_HELP_STRING([--enable-benchmark],[compile benchmark [default=yes]]),
115     [use_benchmark=$enableval],
116     [use_benchmark=yes])
117
118 AC_ARG_ENABLE(coverage,
119     AS_HELP_STRING([--enable-coverage],[enable compiler flags to support kcov coverage analysis [default=no]]),
120     [enable_coverage=$enableval],
121     [enable_coverage=no])
122
123 AC_ARG_ENABLE(tests,
124     AS_HELP_STRING([--enable-tests],[compile tests [default=yes]]),
125     [use_tests=$enableval],
126     [use_tests=yes])
127
128 AC_ARG_ENABLE(openssl_tests,
129     AS_HELP_STRING([--enable-openssl-tests],[enable OpenSSL tests [default=auto]]),
130     [enable_openssl_tests=$enableval],
131     [enable_openssl_tests=auto])
132
133 AC_ARG_ENABLE(experimental,
134     AS_HELP_STRING([--enable-experimental],[allow experimental configure options [default=no]]),
135     [use_experimental=$enableval],
136     [use_experimental=no])
137
138 AC_ARG_ENABLE(exhaustive_tests,
139     AS_HELP_STRING([--enable-exhaustive-tests],[compile exhaustive tests [default=yes]]),
140     [use_exhaustive_tests=$enableval],
141     [use_exhaustive_tests=yes])
142
143 AC_ARG_ENABLE(ecmult_static_precomputation,
144     AS_HELP_STRING([--enable-ecmult-static-precomputation],[enable precomputed ecmult table for signing [default=auto]]),
145     [use_ecmult_static_precomputation=$enableval],
146     [use_ecmult_static_precomputation=auto])
147
148 AC_ARG_ENABLE(module_ecdh,
149     AS_HELP_STRING([--enable-module-ecdh],[enable ECDH shared secret computation]),
150     [enable_module_ecdh=$enableval],
151     [enable_module_ecdh=no])
152
153 AC_ARG_ENABLE(module_recovery,
154     AS_HELP_STRING([--enable-module-recovery],[enable ECDSA pubkey recovery module [default=no]]),
155     [enable_module_recovery=$enableval],
156     [enable_module_recovery=no])
157
158 AC_ARG_ENABLE(module_extrakeys,
159     AS_HELP_STRING([--enable-module-extrakeys],[enable extrakeys module (experimental)]),
160     [enable_module_extrakeys=$enableval],
161     [enable_module_extrakeys=no])
162
163 AC_ARG_ENABLE(module_schnorrsig,
164     AS_HELP_STRING([--enable-module-schnorrsig],[enable schnorrsig module (experimental)]),
165     [enable_module_schnorrsig=$enableval],
166     [enable_module_schnorrsig=no])
167
168 AC_ARG_ENABLE(external_default_callbacks,
169     AS_HELP_STRING([--enable-external-default-callbacks],[enable external default callback functions [default=no]]),
170     [use_external_default_callbacks=$enableval],
171     [use_external_default_callbacks=no])
172
173 # Test-only override of the (autodetected by the C code) "widemul" setting.
174 # Legal values are int64 (for [u]int64_t), int128 (for [unsigned] __int128), and auto (the default).
175 AC_ARG_WITH([test-override-wide-multiply], [] ,[set_widemul=$withval], [set_widemul=auto])
176
177 AC_ARG_WITH([asm], [AS_HELP_STRING([--with-asm=x86_64|arm|no|auto],
178 [assembly optimizations to useĀ (experimental: arm) [default=auto]])],[req_asm=$withval], [req_asm=auto])
179
180 AC_ARG_WITH([ecmult-window], [AS_HELP_STRING([--with-ecmult-window=SIZE|auto],
181 [window size for ecmult precomputation for verification, specified as integer in range [2..24].]
182 [Larger values result in possibly better performance at the cost of an exponentially larger precomputed table.]
183 [The table will store 2^(SIZE-1) * 64 bytes of data but can be larger in memory due to platform-specific padding and alignment.]
184 ["auto" is a reasonable setting for desktop machines (currently 15). [default=auto]]
185 )],
186 [req_ecmult_window=$withval], [req_ecmult_window=auto])
187
188 AC_ARG_WITH([ecmult-gen-precision], [AS_HELP_STRING([--with-ecmult-gen-precision=2|4|8|auto],
189 [Precision bits to tune the precomputed table size for signing.]
190 [The size of the table is 32kB for 2 bits, 64kB for 4 bits, 512kB for 8 bits of precision.]
191 [A larger table size usually results in possible faster signing.]
192 ["auto" is a reasonable setting for desktop machines (currently 4). [default=auto]]
193 )],
194 [req_ecmult_gen_precision=$withval], [req_ecmult_gen_precision=auto])
195
196 AC_ARG_WITH([valgrind], [AS_HELP_STRING([--with-valgrind=yes|no|auto],
197 [Build with extra checks for running inside Valgrind [default=auto]]
198 )],
199 [req_valgrind=$withval], [req_valgrind=auto])
200
201 ###
202 ### Handle config options (except for modules)
203 ###
204
205 if test x"$req_valgrind" = x"no"; then
206   enable_valgrind=no
207 else
208   SECP_VALGRIND_CHECK
209   if test x"$has_valgrind" != x"yes"; then
210     if test x"$req_valgrind" = x"yes"; then
211       AC_MSG_ERROR([Valgrind support explicitly requested but valgrind/memcheck.h header not available])
212     fi
213     enable_valgrind=no
214   else
215     enable_valgrind=yes
216   fi
217 fi
218 AM_CONDITIONAL([VALGRIND_ENABLED],[test "$enable_valgrind" = "yes"])
219
220 if test x"$enable_coverage" = x"yes"; then
221     AC_DEFINE(COVERAGE, 1, [Define this symbol to compile out all VERIFY code])
222     CFLAGS="-O0 --coverage $CFLAGS"
223     LDFLAGS="--coverage $LDFLAGS"
224 else
225     CFLAGS="-O2 $CFLAGS"
226 fi
227
228 if test x"$req_asm" = x"auto"; then
229   SECP_64BIT_ASM_CHECK
230   if test x"$has_64bit_asm" = x"yes"; then
231     set_asm=x86_64
232   fi
233   if test x"$set_asm" = x; then
234     set_asm=no
235   fi
236 else
237   set_asm=$req_asm
238   case $set_asm in
239   x86_64)
240     SECP_64BIT_ASM_CHECK
241     if test x"$has_64bit_asm" != x"yes"; then
242       AC_MSG_ERROR([x86_64 assembly optimization requested but not available])
243     fi
244     ;;
245   arm)
246     ;;
247   no)
248     ;;
249   *)
250     AC_MSG_ERROR([invalid assembly optimization selection])
251     ;;
252   esac
253 fi
254
255 # Select assembly optimization
256 use_external_asm=no
257
258 case $set_asm in
259 x86_64)
260   AC_DEFINE(USE_ASM_X86_64, 1, [Define this symbol to enable x86_64 assembly optimizations])
261   ;;
262 arm)
263   use_external_asm=yes
264   ;;
265 no)
266   ;;
267 *)
268   AC_MSG_ERROR([invalid assembly optimizations])
269   ;;
270 esac
271
272 if test x"$use_external_asm" = x"yes"; then
273   AC_DEFINE(USE_EXTERNAL_ASM, 1, [Define this symbol if an external (non-inline) assembly implementation is used])
274 fi
275
276
277 # Select wide multiplication implementation
278 case $set_widemul in
279 int128)
280   AC_DEFINE(USE_FORCE_WIDEMUL_INT128, 1, [Define this symbol to force the use of the (unsigned) __int128 based wide multiplication implementation])
281   ;;
282 int64)
283   AC_DEFINE(USE_FORCE_WIDEMUL_INT64, 1, [Define this symbol to force the use of the (u)int64_t based wide multiplication implementation])
284   ;;
285 auto)
286   ;;
287 *)
288   AC_MSG_ERROR([invalid wide multiplication implementation])
289   ;;
290 esac
291
292 # Set ecmult window size
293 if test x"$req_ecmult_window" = x"auto"; then
294   set_ecmult_window=15
295 else
296   set_ecmult_window=$req_ecmult_window
297 fi
298
299 error_window_size=['window size for ecmult precomputation not an integer in range [2..24] or "auto"']
300 case $set_ecmult_window in
301 ''|*[[!0-9]]*)
302   # no valid integer
303   AC_MSG_ERROR($error_window_size)
304   ;;
305 *)
306   if test "$set_ecmult_window" -lt 2 -o "$set_ecmult_window" -gt 24 ; then
307     # not in range
308     AC_MSG_ERROR($error_window_size)
309   fi
310   AC_DEFINE_UNQUOTED(ECMULT_WINDOW_SIZE, $set_ecmult_window, [Set window size for ecmult precomputation])
311   ;;
312 esac
313
314 # Set ecmult gen precision
315 if test x"$req_ecmult_gen_precision" = x"auto"; then
316   set_ecmult_gen_precision=4
317 else
318   set_ecmult_gen_precision=$req_ecmult_gen_precision
319 fi
320
321 case $set_ecmult_gen_precision in
322 2|4|8)
323   AC_DEFINE_UNQUOTED(ECMULT_GEN_PREC_BITS, $set_ecmult_gen_precision, [Set ecmult gen precision bits])
324   ;;
325 *)
326   AC_MSG_ERROR(['ecmult gen precision not 2, 4, 8 or "auto"'])
327   ;;
328 esac
329
330 if test x"$use_tests" = x"yes"; then
331   SECP_OPENSSL_CHECK
332   if test x"$enable_openssl_tests" != x"no" && test x"$has_openssl_ec" = x"yes"; then
333       enable_openssl_tests=yes
334       AC_DEFINE(ENABLE_OPENSSL_TESTS, 1, [Define this symbol if OpenSSL EC functions are available])
335       SECP_TEST_INCLUDES="$SSL_CFLAGS $CRYPTO_CFLAGS $CRYPTO_CPPFLAGS"
336       SECP_TEST_LIBS="$CRYPTO_LIBS"
337
338       case $host in
339       *mingw*)
340         SECP_TEST_LIBS="$SECP_TEST_LIBS -lgdi32"
341         ;;
342       esac
343   else
344     if test x"$enable_openssl_tests" = x"yes"; then
345       AC_MSG_ERROR([OpenSSL tests requested but OpenSSL with EC support is not available])
346     fi
347     enable_openssl_tests=no
348   fi
349 else
350   if test x"$enable_openssl_tests" = x"yes"; then
351     AC_MSG_ERROR([OpenSSL tests requested but tests are not enabled])
352   fi
353   enable_openssl_tests=no
354 fi
355
356 if test x"$enable_valgrind" = x"yes"; then
357   SECP_INCLUDES="$SECP_INCLUDES $VALGRIND_CPPFLAGS"
358 fi
359
360 # Handle static precomputation (after everything which modifies CFLAGS and friends)
361 if test x"$use_ecmult_static_precomputation" != x"no"; then
362   if test x"$cross_compiling" = x"no"; then
363     set_precomp=yes
364     if test x"${CC_FOR_BUILD+x}${CFLAGS_FOR_BUILD+x}${CPPFLAGS_FOR_BUILD+x}${LDFLAGS_FOR_BUILD+x}" != x; then
365       AC_MSG_WARN([CC_FOR_BUILD, CFLAGS_FOR_BUILD, CPPFLAGS_FOR_BUILD, and/or LDFLAGS_FOR_BUILD is set but ignored because we are not cross-compiling.])
366     fi
367     # If we're not cross-compiling, simply use the same compiler for building the static precompation code.
368     CC_FOR_BUILD="$CC"
369     SECP_CFLAGS_FOR_BUILD="$SECP_CFLAGS"
370     CPPFLAGS_FOR_BUILD="$CPPFLAGS"
371     CFLAGS_FOR_BUILD="$CFLAGS"
372     LDFLAGS_FOR_BUILD="$LDFLAGS"
373   else
374     AX_PROG_CC_FOR_BUILD
375
376     # Temporarily switch to an environment for the native compiler
377     save_cross_compiling=$cross_compiling
378     cross_compiling=no
379     SAVE_CC="$CC"
380     CC="$CC_FOR_BUILD"
381     SAVE_CFLAGS="$CFLAGS"
382     CFLAGS="$CFLAGS_FOR_BUILD"
383     SAVE_CPPFLAGS="$CPPFLAGS"
384     CPPFLAGS="$CPPFLAGS_FOR_BUILD"
385     SAVE_LDFLAGS="$LDFLAGS"
386     LDFLAGS="$LDFLAGS_FOR_BUILD"
387
388     SECP_TRY_APPEND_DEFAULT_CFLAGS(SECP_CFLAGS_FOR_BUILD)
389
390     AC_MSG_CHECKING([for working native compiler: ${CC_FOR_BUILD}])
391     AC_RUN_IFELSE(
392       [AC_LANG_PROGRAM([], [])],
393       [working_native_cc=yes],
394       [working_native_cc=no],[:])
395
396     # Restore the environment
397     cross_compiling=$save_cross_compiling
398     CC="$SAVE_CC"
399     CFLAGS="$SAVE_CFLAGS"
400     CPPFLAGS="$SAVE_CPPFLAGS"
401     LDFLAGS="$SAVE_LDFLAGS"
402
403     if test x"$working_native_cc" = x"no"; then
404       AC_MSG_RESULT([no])
405       set_precomp=no
406       m4_define([please_set_for_build], [Please set CC_FOR_BUILD, CFLAGS_FOR_BUILD, CPPFLAGS_FOR_BUILD, and/or LDFLAGS_FOR_BUILD.])
407       if test x"$use_ecmult_static_precomputation" = x"yes";  then
408         AC_MSG_ERROR([native compiler ${CC_FOR_BUILD} does not produce working binaries. please_set_for_build])
409       else
410         AC_MSG_WARN([Disabling statically generated ecmult table because the native compiler ${CC_FOR_BUILD} does not produce working binaries. please_set_for_build])
411       fi
412     else
413       AC_MSG_RESULT([yes])
414       set_precomp=yes
415     fi
416   fi
417
418   AC_SUBST(CC_FOR_BUILD)
419   AC_SUBST(SECP_CFLAGS_FOR_BUILD)
420   AC_SUBST(CFLAGS_FOR_BUILD)
421   AC_SUBST(CPPFLAGS_FOR_BUILD)
422   AC_SUBST(LDFLAGS_FOR_BUILD)
423 else
424   set_precomp=no
425 fi
426
427 if test x"$set_precomp" = x"yes"; then
428   AC_DEFINE(USE_ECMULT_STATIC_PRECOMPUTATION, 1, [Define this symbol to use a statically generated ecmult table])
429 fi
430
431 ###
432 ### Handle module options
433 ###
434
435 if test x"$enable_module_ecdh" = x"yes"; then
436   AC_DEFINE(ENABLE_MODULE_ECDH, 1, [Define this symbol to enable the ECDH module])
437 fi
438
439 if test x"$enable_module_recovery" = x"yes"; then
440   AC_DEFINE(ENABLE_MODULE_RECOVERY, 1, [Define this symbol to enable the ECDSA pubkey recovery module])
441 fi
442
443 if test x"$enable_module_schnorrsig" = x"yes"; then
444   AC_DEFINE(ENABLE_MODULE_SCHNORRSIG, 1, [Define this symbol to enable the schnorrsig module])
445   enable_module_extrakeys=yes
446 fi
447
448 # Test if extrakeys is set after the schnorrsig module to allow the schnorrsig
449 # module to set enable_module_extrakeys=yes
450 if test x"$enable_module_extrakeys" = x"yes"; then
451   AC_DEFINE(ENABLE_MODULE_EXTRAKEYS, 1, [Define this symbol to enable the extrakeys module])
452 fi
453
454 if test x"$use_external_default_callbacks" = x"yes"; then
455   AC_DEFINE(USE_EXTERNAL_DEFAULT_CALLBACKS, 1, [Define this symbol if an external implementation of the default callbacks is used])
456 fi
457
458 ###
459 ### Check for --enable-experimental if necessary
460 ###
461
462 if test x"$enable_experimental" = x"yes"; then
463   AC_MSG_NOTICE([******])
464   AC_MSG_NOTICE([WARNING: experimental build])
465   AC_MSG_NOTICE([Experimental features do not have stable APIs or properties, and may not be safe for production use.])
466   AC_MSG_NOTICE([Building extrakeys module: $enable_module_extrakeys])
467   AC_MSG_NOTICE([Building schnorrsig module: $enable_module_schnorrsig])
468   AC_MSG_NOTICE([******])
469 else
470   if test x"$enable_module_extrakeys" = x"yes"; then
471     AC_MSG_ERROR([extrakeys module is experimental. Use --enable-experimental to allow.])
472   fi
473   if test x"$enable_module_schnorrsig" = x"yes"; then
474     AC_MSG_ERROR([schnorrsig module is experimental. Use --enable-experimental to allow.])
475   fi
476   if test x"$set_asm" = x"arm"; then
477     AC_MSG_ERROR([ARM assembly optimization is experimental. Use --enable-experimental to allow.])
478   fi
479 fi
480
481 ###
482 ### Generate output
483 ###
484
485 AC_CONFIG_HEADERS([src/libsecp256k1-config.h])
486 AC_CONFIG_FILES([Makefile libsecp256k1.pc])
487 AC_SUBST(SECP_INCLUDES)
488 AC_SUBST(SECP_LIBS)
489 AC_SUBST(SECP_TEST_LIBS)
490 AC_SUBST(SECP_TEST_INCLUDES)
491 AC_SUBST(SECP_CFLAGS)
492 AM_CONDITIONAL([ENABLE_COVERAGE], [test x"$enable_coverage" = x"yes"])
493 AM_CONDITIONAL([USE_TESTS], [test x"$use_tests" != x"no"])
494 AM_CONDITIONAL([USE_EXHAUSTIVE_TESTS], [test x"$use_exhaustive_tests" != x"no"])
495 AM_CONDITIONAL([USE_BENCHMARK], [test x"$use_benchmark" = x"yes"])
496 AM_CONDITIONAL([USE_ECMULT_STATIC_PRECOMPUTATION], [test x"$set_precomp" = x"yes"])
497 AM_CONDITIONAL([ENABLE_MODULE_ECDH], [test x"$enable_module_ecdh" = x"yes"])
498 AM_CONDITIONAL([ENABLE_MODULE_RECOVERY], [test x"$enable_module_recovery" = x"yes"])
499 AM_CONDITIONAL([ENABLE_MODULE_EXTRAKEYS], [test x"$enable_module_extrakeys" = x"yes"])
500 AM_CONDITIONAL([ENABLE_MODULE_SCHNORRSIG], [test x"$enable_module_schnorrsig" = x"yes"])
501 AM_CONDITIONAL([USE_EXTERNAL_ASM], [test x"$use_external_asm" = x"yes"])
502 AM_CONDITIONAL([USE_ASM_ARM], [test x"$set_asm" = x"arm"])
503
504 # Make sure nothing new is exported so that we don't break the cache.
505 PKGCONFIG_PATH_TEMP="$PKG_CONFIG_PATH"
506 unset PKG_CONFIG_PATH
507 PKG_CONFIG_PATH="$PKGCONFIG_PATH_TEMP"
508
509 AC_OUTPUT
510
511 echo
512 echo "Build Options:"
513 echo "  with ecmult precomp     = $set_precomp"
514 echo "  with external callbacks = $use_external_default_callbacks"
515 echo "  with benchmarks         = $use_benchmark"
516 echo "  with tests              = $use_tests"
517 echo "  with openssl tests      = $enable_openssl_tests"
518 echo "  with coverage           = $enable_coverage"
519 echo "  module ecdh             = $enable_module_ecdh"
520 echo "  module recovery         = $enable_module_recovery"
521 echo "  module extrakeys        = $enable_module_extrakeys"
522 echo "  module schnorrsig       = $enable_module_schnorrsig"
523 echo
524 echo "  asm                     = $set_asm"
525 echo "  ecmult window size      = $set_ecmult_window"
526 echo "  ecmult gen prec. bits   = $set_ecmult_gen_precision"
527 # Hide test-only options unless they're used.
528 if test x"$set_widemul" != xauto; then
529 echo "  wide multiplication     = $set_widemul"
530 fi
531 echo
532 echo "  valgrind                = $enable_valgrind"
533 echo "  CC                      = $CC"
534 echo "  SECP_CFLAGS             = $SECP_CFLAGS"
535 echo "  CFLAGS                  = $CFLAGS"
536 echo "  CPPFLAGS                = $CPPFLAGS"
537 echo "  LDFLAGS                 = $LDFLAGS"
538 echo
539 if test x"$set_precomp" = x"yes"; then
540 echo "  CC_FOR_BUILD            = $CC_FOR_BUILD"
541 echo "  SECP_CFLAGS_FOR_BUILD   = $SECP_CFLAGS_FOR_BUILD"
542 echo "  CFLAGS_FOR_BUILD        = $CFLAGS_FOR_BUILD"
543 echo "  CPPFLAGS_FOR_BUILD      = $CPPFLAGS_FOR_BUILD"
544 echo "  LDFLAGS_FOR_BUILD       = $LDFLAGS_FOR_BUILD"
545 fi
This page took 0.057451 seconds and 4 git commands to generate.