1# Process this file with autoconf to produce a configure script.
2
3AC_INIT([beecrypt],[4.2.1],[bob.deblier@telenet.be])
4AC_CANONICAL_TARGET
5AC_CONFIG_SRCDIR(include/beecrypt/beecrypt.h)
6AC_CONFIG_HEADERS([config.h])
7AM_INIT_AUTOMAKE
8
9# Checks for AWK - used by expert mode
10AC_PROG_AWK
11
12# Checks for package options
13AC_ARG_ENABLE(expert-mode, [  --enable-expert-mode      follow user-defined CFLAGS settings [[default=no]]],[
14  ac_enable_expert_mode=yes
15  ],[
16  if test "X$CFLAGS" != "X"; then
17    echo "enabling expert mode"
18    ac_enable_expert_mode=yes
19  else
20    ac_enable_expert_mode=no
21  fi
22  ])
23
24AC_ARG_ENABLE(debug, [  --enable-debug          creates debugging code [[default=no]]],[
25  if test "$ac_enable_expert_mode" = yes; then
26    AC_MSG_ERROR([--enable-debug cannot be used in conjunction with --enable-expert-mode])
27  fi
28  ac_enable_debug=yes
29  ],[
30  ac_enable_debug=no
31  ])
32
33AC_ARG_WITH(cpu,[  --with-cpu              optimize for specific cpu],[A
34  if test "$ac_enable_expert_mode" = yes; then
35    AC_MSG_ERROR([--with-cpu cannot be used in conjunction with --enable-expert-mode])
36  fi
37  BEE_WITH_CPU
38  ],[
39  BEE_WITHOUT_CPU
40  ])
41
42AC_ARG_WITH(arch,[  --with-arch             optimize for specific architecture (may not run on other cpus of same family)],[
43  if test "$ac_enable_expert_mode" = yes; then
44    AC_MSG_ERROR([--with-arch cannot be used in conjunction with --enable-expert-mode])
45  fi
46  BEE_WITH_ARCH
47  ],[
48  BEE_WITHOUT_ARCH
49  ])
50
51AC_ARG_ENABLE(threads,[  --enable-threads        enables multithread support [[default=yes]]],[
52  if test "$enableval" = no; then
53    ac_enable_threads=no
54  else
55    ac_enable_threads=yes
56  fi
57  ],[ac_enable_threads=yes])
58
59AC_ARG_ENABLE(aio,[  --enable-aio            enables asynchronous i/o for entropy gathering [[default=yes]]],[
60  if test "$enableval" = no; then
61    ac_enable_aio=no
62  else
63    ac_enable_aio=yes
64  fi
65  ],[ac_enable_aio=yes])
66
67AH_TEMPLATE([ENABLE_AIO],[Define to 1 if you want to enable asynchronous I/O support])
68
69AC_ARG_WITH(mtmalloc,[  --with-mtmalloc         links against the mtmalloc library [[default=no]]],[
70  if test "$withval" = no; then
71    ac_with_mtmalloc=no
72  else
73    ac_with_mtmalloc=yes
74  fi
75  ],[ac_with_mtmalloc=no])
76
77AC_ARG_WITH(cplusplus,[  --with-cplusplus        creates the C++ API code [[default=yes]]],[
78  if test "$withval" = no; then
79    ac_with_cplusplus=no
80  else
81    ac_with_cplusplus=yes
82  fi
83  ],[ac_with_cplusplus=yes])
84
85AC_ARG_WITH(java,[  --with-java             creates the Java glue code [[default=yes]]],[
86  if test "$withval" = no; then
87    ac_with_java=no
88  else
89    ac_with_java=yes
90  fi
91  ],[ac_with_java=yes])
92
93AC_ARG_WITH(python,[  --with-python[[=ARG]]     creates the Python module [[default=yes]]; you can optionally specify the python executable],[
94  if test "$withval" = no; then
95    ac_with_python=no
96  else
97    ac_with_python=yes
98    ac_with_python_val=$withval
99  fi
100  ],[
101  ac_with_python_val=`which python`
102  if test "X$ac_with_python_val" = "X"; then
103    ac_with_python=no
104  else
105    ac_with_python=yes
106  fi
107  ])
108
109# Check for expert mode
110if test "$ac_enable_expert_mode" = yes; then
111  BEE_EXPERT_MODE
112fi
113
114# Check for aggressive optimization
115BEE_AGGRESSIVE_OPT
116
117# Check for Unix variants
118AC_AIX
119
120# Checks for C compiler and preprocessor
121AC_PROG_CC
122AC_PROG_CPP
123AC_PROG_CXX
124AC_PROG_CXXCPP
125AM_PROG_AS
126AC_PROG_LD
127AC_PROG_LN_S
128AC_PROG_EGREP
129AC_PROG_INSTALL
130AC_PROG_LIBTOOL
131
132# Checks for OpenMP support
133AC_LANG_PUSH(C)
134AC_OPENMP
135AC_LANG_POP(C)
136AC_LANG_PUSH(C++)
137AC_OPENMP
138AC_LANG_POP(C++)
139
140# Checks for compiler characteristics and flags
141if test "$ac_enable_expert_mode" = no; then
142  BEE_CC
143  BEE_CXX
144fi
145
146# Check for stack protection
147BEE_CC_NOEXECSTACK
148BEE_CXX_NOEXECSTACK
149
150# Checks for program flags needed by libtool
151BEE_LIBTOOL
152
153# Predefines for autoheader
154BEE_OS_DEFS
155
156AH_TEMPLATE([HAVE_ASSERT_H],[.])
157AH_TEMPLATE([HAVE_CTYPE_H],[.])
158AH_TEMPLATE([HAVE_ERRNO_H],[.])
159AH_TEMPLATE([HAVE_FCNTL_H],[.])
160AH_TEMPLATE([HAVE_STDIO_H],[.])
161AH_TEMPLATE([HAVE_TERMIO_H],[.])
162AH_TEMPLATE([HAVE_TERMIOS_H],[.])
163AH_TEMPLATE([HAVE_TIME_H],[.])
164AH_TEMPLATE([HAVE_DLFCN_H],[.])
165
166AH_TEMPLATE([HAVE_SYS_AUDIOIO_H],[.])
167AH_TEMPLATE([HAVE_SYS_IOCTL_H],[.])
168AH_TEMPLATE([HAVE_SYS_MMAN_H],[.])
169AH_TEMPLATE([HAVE_SYS_SOUNDCARD_H],[.])
170AH_TEMPLATE([HAVE_SYS_STAT_H],[.])
171AH_TEMPLATE([HAVE_SYS_TIME_H],[.])
172AH_TEMPLATE([HAVE_SYS_TYPES_H],[.])
173AH_TEMPLATE([HAVE_ENDIAN_H],[.])
174AH_TEMPLATE([HAVE_ASM_BYTEORDER_H],[.])
175
176AH_TEMPLATE([HAVE_AIO_H],[.])
177
178AH_TEMPLATE([HAVE_DEV_AUDIO],[Define to 1 if your system has device /dev/audio])
179AH_TEMPLATE([HAVE_DEV_DSP],[Define to 1 if your system has device /dev/dsp])
180AH_TEMPLATE([HAVE_DEV_RANDOM],[Define to 1 if your system has device /dev/random])
181AH_TEMPLATE([HAVE_DEV_URANDOM],[Define to 1 if your system has device /dev/urandom])
182AH_TEMPLATE([HAVE_DEV_TTY],[Define to 1 if your system has device /dev/tty])
183
184# Checks for header files.
185AC_HEADER_STDC
186AC_CHECK_HEADERS([time.h sys/time.h])
187AC_HEADER_TIME
188AC_CHECK_HEADERS([assert.h ctype.h errno.h fcntl.h malloc.h stdio.h termio.h termios.h])
189AC_CHECK_HEADERS([sys/ioctl.h sys/mman.h sys/audioio.h sys/soundcard.h])
190AC_CHECK_HEADERS([endian.h sys/endian.h asm/byteorder.h])
191
192bc_include_stdio_h=
193bc_include_stdlib_h=
194bc_include_malloc_h=
195bc_include_string_h=
196bc_include_unistd_h=
197bc_include_dlfcn_h=
198if test "$ac_cv_header_stdio_h" = yes; then
199  bc_include_stdio_h="#include <stdio.h>"
200fi
201if test "$ac_cv_header_stdlib_h" = yes; then
202  bc_include_stdlib_h="#include <stdlib.h>"
203elif test "$ac_cv_header_malloc_h" = yes; then
204  bc_include_malloc_h="#include <malloc.h>"
205fi
206if test "$ac_with_mtmalloc" = yes; then
207  AC_CHECK_HEADERS(mtmalloc.h)
208  if test "$ac_cv_header_mtmalloc_h" = yes; then
209    bc_include_stdlib_h=
210    bc_include_malloc_h="#include <mtmalloc.h>"
211  fi
212fi
213if test "$ac_cv_header_string_h" = yes; then
214  bc_include_string_h="#include <string.h>"
215fi
216if test "$ac_cv_header_unistd_h" = yes; then
217  bc_include_unistd_h="#include <unistd.h>"
218fi
219if test "$ac_cv_header_dlfcn_h" = yes; then
220  bc_include_dlfcn_h="#include <dlfcn.h>"
221fi
222AC_SUBST(INCLUDE_STDIO_H,$bc_include_stdio_h)
223AC_SUBST(INCLUDE_STDLIB_H,$bc_include_stdlib_h)
224AC_SUBST(INCLUDE_MALLOC_H,$bc_include_malloc_h)
225AC_SUBST(INCLUDE_STRING_H,$bc_include_string_h)
226AC_SUBST(INCLUDE_UNISTD_H,$bc_include_unistd_h)
227AC_SUBST(INCLUDE_DLFCN_H,$bc_include_dlfcn_h)
228
229BEE_DLFCN
230BEE_MULTITHREAD
231BEE_THREAD_LOCAL_STORAGE
232
233# Checks for libraries.
234if test "$ac_enable_aio" = yes; then
235  BEE_WORKING_AIO
236  if test "$bc_cv_aio_works" = yes; then
237    AC_DEFINE([ENABLE_AIO],1)
238  fi
239fi
240
241if test "$ac_with_mtmalloc" = yes; then
242  if test "$ac_cv_have_mtmalloc_h" = yes; then
243    AC_CHECK_LIB([mtmalloc],[main]) ac_cv_lib_mtmalloc=ac_cv_lib_mtmalloc_main
244
245  fi
246fi
247
248case $target_os in
249  cygwin* | mingw*)
250    AC_CHECK_LIB([winmm],[main]) ac_cv_lib_winmm=ac_cv_lib_winmm_main
251    ;;
252esac
253
254# Checks for typedefs, structures, and compiler characteristics.
255AC_C_BIGENDIAN
256AC_C_CONST
257AC_C_INLINE
258
259AH_TEMPLATE([HAVE_INLINE],[.])
260if test "$ac_cv_c_inline" != no; then
261  AC_DEFINE([HAVE_INLINE],1)
262fi
263
264# Checks for library functions.
265AC_PROG_GCC_TRADITIONAL
266AC_FUNC_MEMCMP
267AC_FUNC_STAT
268AC_CHECK_FUNCS([memset memcmp memmove strcspn strerror strspn])
269
270AH_TEMPLATE([HAVE_NANOSLEEP],[.])
271AH_TEMPLATE([HAVE_GETHRTIME],[.])
272AH_TEMPLATE([HAVE_GETTIMEOFDAY],[.])
273if test "$ac_cv_header_sys_time_h" = yes; then
274  AC_CHECK_FUNCS([nanosleep])
275  AC_CHECK_FUNCS([gethrtime])
276  # gettimeofday detection fails on HP/UX!
277  AC_MSG_CHECKING([for gettimeofday])
278  AC_TRY_LINK([#include <sys/time.h> ],[
279    struct timeval dummy;
280    gettimeofday(&dummy, (void*) 0);
281    ],[
282    AC_MSG_RESULT([yes])
283    AC_DEFINE([HAVE_GETTIMEOFDAY],1)
284    ac_cv_func_gettimeofday=yes
285    ],[
286    AC_MSG_RESULT([no])
287    AC_DEFINE([HAVE_GETTIMEOFDAY],0)
288    ac_cv_func_gettimeofday=no
289    ])
290fi
291
292# Predefines and checks for C++ API support
293AH_TEMPLATE([CPPGLUE],[Define to 1 if you want to include the C++ code])
294
295if test "$ac_with_cplusplus" = yes; then
296  AC_MSG_CHECKING([for IBM's ICU library version >= 2.8])
297  AC_LANG_PUSH(C)
298  AC_RUN_IFELSE([
299    AC_LANG_PROGRAM([[#include <unicode/uversion.h>]],[[
300      #if U_ICU_VERSION_MAJOR_NUM < 2
301      exit(1);
302      #elif U_ICU_VERSION_MAJOR_NUM == 2
303      # if U_ICU_VERSION_MINOR_NUM < 8
304      exit(1);
305      # else
306      exit(0);
307      # endif
308      #else
309      exit(0);
310      #endif
311    ]])],[
312    AC_MSG_RESULT([yes])
313    ],[
314    AC_MSG_RESULT([no])
315    AC_MSG_WARN([disabling cplusplus])
316    ac_with_cplusplus=no
317    ])
318  AC_LANG_POP(C)
319fi
320
321AM_CONDITIONAL([WITH_CPLUSPLUS],[test "$ac_with_cplusplus" = yes])
322
323if test "$ac_with_cplusplus" = yes ; then
324  AC_DEFINE([CPPGLUE],1)
325fi
326
327
328# Predefines and checks for Java API support
329AH_TEMPLATE([JAVAGLUE],[Define to 1 if you want to include the Java code])
330
331if test "$ac_with_java" = yes ; then
332  AC_CHECK_PROG(ac_cv_have_gcj, gcj, yes, no)
333  AC_CHECK_PROG(ac_cv_have_gcjh, gcjh, yes, no)
334  if test "$ac_cv_have_gcj" = yes; then
335    AC_SUBST(javac,gcj)
336    AC_CACHE_CHECK([for java native interface headers], ac_cv_java_include, [
337      cat > conftest.java << EOF
338public class conftest
339{
340  public static void main(String[[]] argv)
341  {
342     System.out.println(System.getProperty("java.home"));
343  }
344}
345EOF
346      java_home="`gcj --main=conftest -o conftest conftest.java; ./conftest`"
347      if test X"$java_home" = X; then
348        java_home=/usr
349      fi
350      if test -d "$java_home" -a -d "$java_home/include"; then
351        ac_cv_java_headers=yes
352        ac_cv_java_include="-I$java_home/include"
353        gcjpath="$java_home/lib/gcc-lib/`gcj -dumpmachine`/`gcj -dumpversion`"
354        if test -d "$gcjpath" -a -d "$gcjpath/include"; then
355          ac_cv_java_include="$ac_cv_java_include -I$gcjpath/include"
356        fi
357      else
358        # we have a non-working gcj
359        ac_cv_have_gcj=no
360      fi
361      rm -fr conftest*
362    ])
363  fi
364
365  # gcj may have failed; in this case we want to try for a real java
366  if test "$ac_cv_have_gcj" != yes; then
367    AC_CHECK_PROG(ac_cv_have_java, java, yes, no)
368    if test "$ac_cv_have_java" = yes; then
369      AC_CHECK_PROG(ac_cv_have_javac, javac, yes, no)
370      AC_CHECK_PROG(ac_cv_have_javah, javah, yes, no)
371      if test "$ac_cv_have_javac" = yes; then
372        AC_SUBST(javac,javac)
373        AC_CACHE_CHECK([for java native interface headers],ac_cv_java_include,[
374          cat > conftest.java << EOF
375public class conftest
376{
377  public static void main(String[[]] argv)
378  {
379     System.out.println(System.getProperty("java.home"));
380  }
381}
382EOF
383          java_home=`javac conftest.java; java -classpath . conftest`
384          case $target_os in
385          cygwin*)
386            java_home=`cygpath -u -p "$java_home"` ;;
387          esac
388          if test -d "$java_home"; then
389            case $target_os in
390            darwin*)
391              java_include="$java_home/../../../Headers" ;;
392            *)
393              java_include="$java_home"/../include ;;
394            esac
395            if test -d "$java_include"; then
396              ac_cv_java_headers=yes
397              ac_cv_java_include="-I$java_include"
398              case $target_os in
399              aix*)
400                ac_cv_java_include="-I$java_include -I$java_include/aix" ;;
401              cygwin*)
402                ac_cv_java_include="-I$java_include -I$java_include/win32" ;;
403              darwin*) ;;
404              hpux*)
405                ac_cv_java_include="-I$java_include -I$java_include/hpux" ;;
406              linux*)
407                ac_cv_java_include="-I$java_include -I$java_include/linux" ;;
408              osf*)
409                ac_cv_java_include="-I$java_include -I$java_include/osf" ;;
410              solaris*)
411                ac_cv_java_include="-I$java_include -I$java_include/solaris" ;;
412              *)
413                AC_MSG_WARN([please add appropriate -I$java_include/<operating system> flag])
414                ac_cv_java_include="-I$java_include" ;;
415              esac
416            else
417              AC_MSG_WARN([java headers not found, disabling java])
418              ac_cv_java_headers=no
419              ac_cv_java_include=
420              ac_with_java=no
421            fi
422          fi
423          rm -fr conftest*
424        ])
425      else
426        AC_MSG_WARN([javac not found, disabling java])
427        ac_cv_java_headers=no
428        ac_cv_java_include=
429        ac_with_java=no
430      fi
431    else
432      AC_MSG_WARN([java not found, disabling java])
433      ac_cv_java_headers=no
434      ac_with_java=no
435    fi
436  fi
437fi
438
439AM_CONDITIONAL([WITH_JAVA],[test "$ac_with_java" = yes])
440
441if test "$ac_with_java" = yes ; then
442  AC_DEFINE([JAVAGLUE],1)
443  CPPFLAGS="$CPPFLAGS $ac_cv_java_include"
444fi
445
446
447# Predefines and checks for Python API support
448AH_TEMPLATE([PYTHONGLUE],[Define to 1 if you want to include the Python code])
449
450if test "$ac_with_python" = yes ; then
451  AC_PATH_PROG([PYTHON], `basename $ac_with_python_val`, [no], `AS_DIRNAME(["$ac_with_python_val"])`)
452  if test "$PYTHON" = no; then
453    ac_with_python=no
454  else
455    AC_CACHE_CHECK([for python headers], ac_cv_python_include, [
456      ac_cv_python_include="-I`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_inc()'`"
457    ])
458    AC_CACHE_CHECK([where to install python libraries], ac_cv_python_libdir, [
459      ac_cv_python_libdir=`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib()'`
460    ])
461  fi
462fi
463
464AM_CONDITIONAL([WITH_PYTHON],[test "$ac_with_python" = yes])
465
466if test "$ac_with_python" = yes; then
467  AC_DEFINE([PYTHONGLUE],1)
468  AC_SUBST(PYTHONINC,$ac_cv_python_include)
469  AC_SUBST(PYTHONLIB,$ac_cv_python_libdir)
470fi
471
472
473# Checks for entropy sources.
474AC_MSG_CHECKING([for platform-specific entropy devices])
475AC_MSG_RESULT()
476case $target_os in
477cygwin* | mingw*)
478  AC_MSG_CHECKING([for wavein])
479  AC_MSG_RESULT(yes)
480  AC_MSG_CHECKING([for wincrypt])
481  AC_MSG_RESULT(yes)
482  AC_MSG_CHECKING([for console])
483  AC_MSG_RESULT(yes)
484  ;;
485linux*)
486  AC_CACHE_CHECK([for /dev/dsp],ac_cv_have_dev_dsp,[
487    if test -r /dev/dsp; then
488      ac_cv_have_dev_dsp=yes
489    else
490      ac_cv_have_dev_dsp=no
491    fi
492    ])
493  if test "$ac_cv_have_dev_dsp" = yes; then
494    AC_DEFINE([HAVE_DEV_DSP], 1)
495  fi
496  ;;
497solaris*)
498  AC_CACHE_CHECK([for /dev/audio],ac_cv_have_dev_audio,[
499    if test -r /dev/audio; then
500      ac_cv_have_dev_audio=yes
501    else
502      ac_cv_have_dev_audio=no
503    fi
504    ])
505  if test "$ac_cv_have_dev_audio" = yes; then
506    AC_DEFINE([HAVE_DEV_AUDIO], 1)
507  fi
508  ;;
509*)
510  AC_MSG_WARN(no specific entropy devices present)
511  ;;
512esac
513
514case $target_os in
515cygwin* | mingw*)
516  ;;
517*)
518  AC_MSG_CHECKING([for generic entropy devices])
519  AC_MSG_RESULT()
520  AC_CACHE_CHECK([for /dev/random],ac_cv_have_dev_random,[
521    if test -r /dev/random; then
522      ac_cv_have_dev_random=yes
523    else
524      ac_cv_have_dev_random=no
525    fi
526    ])
527  AC_CACHE_CHECK([for /dev/urandom],ac_cv_have_dev_urandom,[
528    if test -r /dev/urandom; then
529      ac_cv_have_dev_urandom=yes
530    else
531      ac_cv_have_dev_urandom=no
532    fi
533    ])
534  AC_CACHE_CHECK([for /dev/tty],ac_cv_have_dev_tty,[
535    if test -r /dev/tty; then
536      ac_cv_have_dev_tty=yes
537    else
538      ac_cv_have_dev_tty=no
539    fi
540    ])
541  ;;
542esac
543
544if test "$ac_cv_have_dev_random" = yes; then
545  AC_DEFINE([HAVE_DEV_RANDOM],1)
546fi
547if test "$ac_cv_have_dev_urandom" = yes; then
548  AC_DEFINE([HAVE_DEV_URANDOM],1)
549fi
550if test "$ac_cv_have_dev_tty" = yes; then
551  AC_DEFINE([HAVE_DEV_TTY],1)
552fi
553
554# Figure out extra flags
555if test "$ac_enable_debug" != yes; then
556  case $bc_target_arch in
557  alpha*)
558    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_ALPHA"
559    ;;
560  arm*)
561    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_ARM"
562    ;;
563  x86_64 | athlon64 | athlon-fx | k8 | opteron | em64t | nocona)
564    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_X86_64"
565    ;;
566  athlon*)
567    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_I686 -DOPTIMIZE_MMX"
568    ;;
569  i386)
570    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_I386"
571    ;;
572  i486)
573    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_I486"
574    ;;
575  i586)
576    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_I586"
577    ;;
578  i686)
579    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_I686"
580    ;;
581  ia64)
582    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_IA64"
583    ;;
584  m68k)
585    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_M68K"
586    ;;
587  pentium)
588    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_I586"
589    ;;
590  pentium-m)
591    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_I686 -DOPTIMIZE_MMX -DOPTIMIZE_SSE -DOPTIMIZE_SSE2"
592    ;;
593  pentium-mmx)
594    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_I586 -DOPTIMIZE_MMX"
595    ;;
596  pentiumpro)
597    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_I686"
598    ;;
599  pentium2)
600    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_I686 -DOPTIMIZE_MMX"
601    ;;
602  pentium3)
603    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_I686 -DOPTIMIZE_MMX -DOPTIMIZE_SSE"
604    ;;
605  pentium4)
606    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_I686 -DOPTIMIZE_MMX -DOPTIMIZE_SSE -DOPTIMIZE_SSE2"
607    ;;
608  powerpc)
609    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_POWERPC"
610    ;;
611  powerpc64)
612    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_POWERPC64"
613    ;;
614  s390x)
615    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_S390X"
616    ;;
617  sparcv8)
618    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_SPARCV8"
619    ;;
620  sparcv8plus*)
621    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_SPARCV8PLUS"
622    ;;
623  sparcv9*)
624    CPPFLAGS="$CPPFLAGS -DOPTIMIZE_SPARCV9"
625    ;;
626  esac
627fi
628
629if test "$ac_enable_debug" != yes; then
630  # find out how to use assembler
631  BEE_ASM_DEFS
632  BEE_ASM_TEXTSEG
633  BEE_ASM_GLOBL
634  BEE_ASM_GSYM_PREFIX
635  BEE_ASM_LSYM_PREFIX
636  BEE_ASM_ALIGN
637fi
638
639# generate assembler source files from m4 files
640BEE_ASM_SOURCES
641
642# Check for standard types and integers of specific sizes
643BEE_INT_TYPES
644BEE_CPU_BITS
645
646# Generate output files.
647AC_CONFIG_FILES([
648    Makefile
649    config.m4
650	include/Makefile
651	include/beecrypt/Doxyfile
652	include/beecrypt/c++/Doxyfile
653    c++/Makefile
654    c++/beeyond/Makefile
655    c++/crypto/Makefile
656    c++/crypto/spec/Makefile
657    c++/io/Makefile
658    c++/lang/Makefile
659    c++/math/Makefile
660    c++/nio/Makefile
661    c++/provider/Makefile
662    c++/security/Makefile
663	c++/security/auth/Makefile
664    c++/security/cert/Makefile
665    c++/security/spec/Makefile
666    c++/util/Makefile
667    c++/util/concurrent/Makefile
668    c++/util/concurrent/locks/Makefile
669    docs/Makefile
670    gas/Makefile
671    java/Makefile
672    java/build.xml
673    masm/Makefile
674    python/Makefile
675    python/test/Makefile
676    tests/Makefile
677  ])
678
679AC_CONFIG_FILES([gnu.h],[
680    cp gnu.h $ac_top_srcdir/include/beecrypt/gnu.h
681  ])
682AC_OUTPUT
683