netwerk/srtp/src/configure.in

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 dnl Process this file with autoconf to produce a configure script.
     2 AC_INIT(srtp)
     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
    10 dnl Checks for programs.
    11 AC_PROG_RANLIB
    12 AC_PROG_CC
    13 AC_PROG_INSTALL
    15 dnl Check the byte order
    16 AC_C_BIGENDIAN
    18 AC_CANONICAL_HOST
    20 dnl check host_cpu type, set defines appropriately
    21 case $host_cpu in
    22      i*86 | x86_64 )
    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	
    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'
    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)
    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
    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)
    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)
    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)])
   102 AC_CHECK_HEADERS(syslog.h)
   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)
   108 dnl Checks for typedefs, structures, and compiler characteristics.
   109 AC_C_CONST
   110 AC_C_INLINE
   111 AC_TYPE_SIZE_T
   113 dnl Checks for library functions.
   114 AC_CHECK_FUNCS(socket inet_aton usleep sigaction)
   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
   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)
   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)
   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)
   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)
   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)
   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)
   193 AC_CONFIG_HEADER(crypto/include/config.h:config_in.h)
   195 AC_OUTPUT(Makefile crypto/Makefile doc/Makefile)
   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)

mercurial