OLD | NEW |
(Empty) | |
| 1 dnl Process this file with autoconf to produce a configure script. |
| 2 AC_INIT(srtp) |
| 3 |
| 4 dnl Must come before AC_PROG_CC |
| 5 if test -z "$CFLAGS"; then |
| 6 dnl Default value for CFLAGS if not specified. |
| 7 CFLAGS="-Wall -O4 -fexpensive-optimizations -funroll-loops" |
| 8 fi |
| 9 |
| 10 dnl Checks for programs. |
| 11 AC_PROG_RANLIB |
| 12 AC_PROG_CC |
| 13 AC_PROG_INSTALL |
| 14 |
| 15 dnl Check the byte order |
| 16 AC_C_BIGENDIAN |
| 17 |
| 18 AC_CANONICAL_HOST |
| 19 |
| 20 dnl check host_cpu type, set defines appropriately |
| 21 case $host_cpu in |
| 22 i*86 ) |
| 23 AC_DEFINE(CPU_CISC, 1, |
| 24 [Define if building for a CISC machine (e.g. Intel).]) |
| 25 AC_DEFINE(HAVE_X86, 1, |
| 26 [Define to use X86 inlined assembly code]);; |
| 27 * ) |
| 28 # CPU_RISC is only supported for big endian machines. |
| 29 if test "$ac_cv_c_bigendian" = "yes"; then |
| 30 AC_DEFINE(CPU_RISC, 1, |
| 31 [Define if building for a RISC machine (assume slow byte access).]) |
| 32 else |
| 33 AC_DEFINE(CPU_CISC, 1) |
| 34 fi |
| 35 ;; |
| 36 esac |
| 37 |
| 38 dnl Check if we are on a Windows platform. |
| 39 case $host_os in |
| 40 *cygwin*|*mingw* ) |
| 41 EXE=.exe |
| 42 HOST_IS_WINDOWS=yes |
| 43 ;; |
| 44 * ) |
| 45 EXE="" |
| 46 ;; |
| 47 esac |
| 48 AC_SUBST(EXE) # define executable suffix; this is needed for `make clean' |
| 49 |
| 50 |
| 51 AC_ARG_ENABLE(kernel-linux, |
| 52 [AS_HELP_STRING([--enable-kernel-linux], |
| 53 [build library to run in Linux kernel context])], |
| 54 [], enable_kernel_linux=no) |
| 55 AC_MSG_CHECKING(whether to build for Linux kernel context) |
| 56 if test "$enable_kernel_linux" = "yes"; then |
| 57 AC_DEFINE(SRTP_KERNEL, 1, |
| 58 [Define to compile for kernel contexts.]) |
| 59 AC_DEFINE(SRTP_KERNEL_LINUX, 1, |
| 60 [Define to compile for Linux kernel context.]) |
| 61 fi |
| 62 AC_MSG_RESULT($enable_kernel_linux) |
| 63 |
| 64 if test "$cross_compiling" != yes -a "$HOST_IS_WINDOWS" != yes; then |
| 65 dnl Check for /dev/urandom |
| 66 AC_CHECK_FILE(/dev/urandom, DEV_URANDOM=/dev/urandom, |
| 67 [AC_CHECK_FILE(/dev/random, DEV_URANDOM=/dev/random)]) |
| 68 fi |
| 69 |
| 70 AC_MSG_CHECKING(which random device to use) |
| 71 if test "$enable_kernel_linux" = "yes"; then |
| 72 RNG_OBJS=rand_linux_kernel.o |
| 73 AC_MSG_RESULT([Linux kernel builtin]) |
| 74 else |
| 75 RNG_OBJS=rand_source.o |
| 76 if test -n "$DEV_URANDOM"; then |
| 77 AC_DEFINE_UNQUOTED(DEV_URANDOM, "$DEV_URANDOM",[Path to random device]) |
| 78 AC_MSG_RESULT([$DEV_URANDOM]) |
| 79 else |
| 80 AC_MSG_RESULT([standard rand() function...]) |
| 81 fi |
| 82 fi |
| 83 AC_SUBST(RNG_OBJS) |
| 84 |
| 85 |
| 86 dnl Checks for header files. |
| 87 AC_HEADER_STDC |
| 88 AC_CHECK_HEADERS(stdlib.h) |
| 89 AC_CHECK_HEADERS(unistd.h) |
| 90 AC_CHECK_HEADERS(byteswap.h) |
| 91 AC_CHECK_HEADERS(stdint.h) |
| 92 AC_CHECK_HEADERS(sys/uio.h) |
| 93 AC_CHECK_HEADERS(inttypes.h) |
| 94 AC_CHECK_HEADERS(sys/types.h) |
| 95 AC_CHECK_HEADERS(machine/types.h) |
| 96 AC_CHECK_HEADERS(sys/int_types.h) |
| 97 |
| 98 dnl socket() and friends |
| 99 AC_CHECK_HEADERS(sys/socket.h netinet/in.h arpa/inet.h) |
| 100 AC_CHECK_HEADERS(windows.h, [AC_CHECK_HEADERS(winsock2.h)]) |
| 101 |
| 102 AC_CHECK_HEADERS(syslog.h) |
| 103 |
| 104 AC_CHECK_TYPES([int8_t,uint8_t,int16_t,uint16_t,int32_t,uint32_t,uint64_t]) |
| 105 AC_CHECK_SIZEOF(unsigned long) |
| 106 AC_CHECK_SIZEOF(unsigned long long) |
| 107 |
| 108 dnl Checks for typedefs, structures, and compiler characteristics. |
| 109 AC_C_CONST |
| 110 AC_C_INLINE |
| 111 AC_TYPE_SIZE_T |
| 112 |
| 113 dnl Checks for library functions. |
| 114 AC_CHECK_FUNCS(socket inet_aton usleep sigaction) |
| 115 |
| 116 dnl Find socket function if not found yet. |
| 117 if test "x$ac_cv_func_socket" = "xno"; then |
| 118 AC_CHECK_LIB(socket, socket) |
| 119 AC_MSG_CHECKING([for socket in -lwsock32]) |
| 120 SAVELIBS="$LIBS" |
| 121 LIBS="$LIBS -lwsock32" |
| 122 AC_TRY_LINK([ |
| 123 #include <winsock2.h> |
| 124 ],[ |
| 125 socket(0, 0, 0); |
| 126 ], |
| 127 ac_cv_func_socket=yes |
| 128 AC_MSG_RESULT(yes), |
| 129 LIBS="$SAVELIBS" |
| 130 AC_MSG_RESULT(no)) |
| 131 fi |
| 132 |
| 133 AC_MSG_CHECKING(whether to compile in debugging) |
| 134 AC_ARG_ENABLE(debug, |
| 135 [AS_HELP_STRING([--disable-debug], |
| 136 [do not compile in dynamic debugging system])], |
| 137 [], enable_debug=yes) |
| 138 if test "$enable_debug" = "yes"; then |
| 139 AC_DEFINE(ENABLE_DEBUGGING, 1, |
| 140 [Define to compile in dynamic debugging system.]) |
| 141 fi |
| 142 AC_MSG_RESULT($enable_debug) |
| 143 |
| 144 AC_MSG_CHECKING(whether to use ISMAcryp code) |
| 145 AC_ARG_ENABLE(generic-aesicm, |
| 146 [AS_HELP_STRING([--enable-generic-aesicm], |
| 147 [compile in changes for ISMAcryp])], |
| 148 [], enable_generic_aesicm=no) |
| 149 if test "$enable_generic_aesicm" = "yes"; then |
| 150 AC_DEFINE(GENERIC_AESICM, 1, [Define this to use ISMAcryp code.]) |
| 151 fi |
| 152 AC_MSG_RESULT($enable_generic_aesicm) |
| 153 |
| 154 AC_MSG_CHECKING(whether to use syslog for error reporting) |
| 155 AC_ARG_ENABLE(syslog, |
| 156 [AS_HELP_STRING([--enable-syslog], [use syslog for error reporting])], |
| 157 [], enable_syslog=no) |
| 158 if test "$enable_syslog" = "yes"; then |
| 159 AC_DEFINE(USE_SYSLOG, 1, [Define to use syslog logging.]) |
| 160 fi |
| 161 AC_MSG_RESULT($enable_syslog) |
| 162 |
| 163 AC_MSG_CHECKING(whether to use stdout for error reporting) |
| 164 AC_ARG_ENABLE(stdout, |
| 165 [AS_HELP_STRING([--disable-stdout], [don't use stdout for error reporting])], |
| 166 [], enable_stdout=yes) |
| 167 if test "$enable_stdout" = "yes"; then |
| 168 AC_DEFINE(ERR_REPORTING_STDOUT, 1, [Define to use logging to stdout.]) |
| 169 fi |
| 170 AC_MSG_RESULT($enable_stdout) |
| 171 |
| 172 AC_MSG_CHECKING(whether to use /dev/console for error reporting) |
| 173 AC_ARG_ENABLE(console, |
| 174 [AS_HELP_STRING([--enable-console], [use /dev/console for error reporting])], |
| 175 [], enable_console=no) |
| 176 if test "$enable_console" = "yes"; then |
| 177 AC_DEFINE(USE_ERR_REPORTING_FILE, 1, [Write errors to this file]) |
| 178 AC_DEFINE(ERR_REPORTING_FILE, "/dev/console", [Report errors to this file.]) |
| 179 fi |
| 180 AC_MSG_RESULT($enable_console) |
| 181 |
| 182 AC_MSG_CHECKING(whether to use GDOI key management) |
| 183 AC_ARG_ENABLE(gdoi, |
| 184 [AS_HELP_STRING([--enable-gdoi], [enable GDOI key management])], |
| 185 [], enable_gdoi=no) |
| 186 if test "$enable_gdoi" = "yes"; then |
| 187 AC_DEFINE(SRTP_GDOI, 1, [Define to use GDOI.]) |
| 188 GDOI_OBJS=gdoi/srtp+gdoi.o |
| 189 AC_SUBST(GDOI_OBJS) |
| 190 fi |
| 191 AC_MSG_RESULT($enable_gdoi) |
| 192 |
| 193 AC_CONFIG_HEADER(crypto/include/config.h:config_in.h) |
| 194 |
| 195 AC_OUTPUT(Makefile crypto/Makefile doc/Makefile) |
| 196 |
| 197 # This is needed when building outside the source dir. |
| 198 AS_MKDIR_P(crypto/ae_xfm) |
| 199 AS_MKDIR_P(crypto/cipher) |
| 200 AS_MKDIR_P(crypto/hash) |
| 201 AS_MKDIR_P(crypto/kernel) |
| 202 AS_MKDIR_P(crypto/math) |
| 203 AS_MKDIR_P(crypto/replay) |
| 204 AS_MKDIR_P(crypto/rng) |
| 205 AS_MKDIR_P(crypto/test) |
| 206 AS_MKDIR_P(doc) |
| 207 AS_MKDIR_P(srtp) |
| 208 AS_MKDIR_P(tables) |
| 209 AS_MKDIR_P(test) |
OLD | NEW |