This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.59.  Invocation command line was

  $ ./configure 

## --------- ##
## Platform. ##
## --------- ##

hostname = amb.mtv.corp.google.com
uname -m = x86_64
uname -r = 2.6.38.8-gg683
uname -s = Linux
uname -v = #2 SMP Tue Nov 15 03:25:12 PST 2011

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
hostinfo               = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /usr/local/gold/bin
PATH: /home/mallinath/bin
PATH: /usr/local/google/home/mallinath/tools/p4v-2010.2.317255/bin
PATH: /home/mallinath/depot_tools/
PATH: /home/mallinath/bin
PATH: /usr/local/symlinks
PATH: /usr/local/scripts
PATH: /usr/local/buildtools/java/jdk/bin
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
PATH: /usr/local/google/home/mallinath/gips/tools
PATH: /usr/local/google/home/mallinath/tools/argouml-0.32.1/
PATH: /usr/local/google/home/mallinath/tools/pulse-dev-2.4.6/bin/


## ----------- ##
## Core tests. ##
## ----------- ##

configure:1348: checking for ranlib
configure:1364: found /usr/local/gold/bin/ranlib
configure:1375: result: ranlib
configure:1433: checking for gcc
configure:1449: found /usr/bin/gcc
configure:1459: result: gcc
configure:1703: checking for C compiler version
configure:1706: gcc --version </dev/null >&5
gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:1709: $? = 0
configure:1711: gcc -v </dev/null >&5
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) 
configure:1714: $? = 0
configure:1716: gcc -V </dev/null >&5
gcc: '-V' option must have argument
configure:1719: $? = 1
configure:1742: checking for C compiler default output file name
configure:1745: gcc -Wall -O4 -fexpensive-optimizations -funroll-loops   conftest.c  >&5
configure:1748: $? = 0
configure:1794: result: a.out
configure:1799: checking whether the C compiler works
configure:1805: ./a.out
configure:1808: $? = 0
configure:1825: result: yes
configure:1832: checking whether we are cross compiling
configure:1834: result: no
configure:1837: checking for suffix of executables
configure:1839: gcc -o conftest -Wall -O4 -fexpensive-optimizations -funroll-loops   conftest.c  >&5
configure:1842: $? = 0
configure:1867: result: 
configure:1873: checking for suffix of object files
configure:1894: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:1897: $? = 0
configure:1919: result: o
configure:1923: checking whether we are using the GNU C compiler
configure:1947: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:1953: $? = 0
configure:1957: test -z 
			 || test ! -s conftest.err
configure:1960: $? = 0
configure:1963: test -s conftest.o
configure:1966: $? = 0
configure:1979: result: yes
configure:1985: checking whether gcc accepts -g
configure:2006: gcc -c -g  conftest.c >&5
configure:2012: $? = 0
configure:2016: test -z 
			 || test ! -s conftest.err
configure:2019: $? = 0
configure:2022: test -s conftest.o
configure:2025: $? = 0
configure:2036: result: yes
configure:2053: checking for gcc option to accept ANSI C
configure:2123: gcc  -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:2129: $? = 0
configure:2133: test -z 
			 || test ! -s conftest.err
configure:2136: $? = 0
configure:2139: test -s conftest.o
configure:2142: $? = 0
configure:2160: result: none needed
configure:2178: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
conftest.c:2: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'me'
configure:2184: $? = 1
configure: failed program was:
| #ifndef __cplusplus
|   choke me
| #endif
configure:2355: checking for a BSD-compatible install
configure:2410: result: /usr/bin/install -c
configure:2423: checking whether byte ordering is bigendian
configure:2450: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:2456: $? = 0
configure:2460: test -z 
			 || test ! -s conftest.err
configure:2463: $? = 0
configure:2466: test -s conftest.o
configure:2469: $? = 0
configure:2493: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
conftest.c: In function 'main':
conftest.c:16: error: 'not' undeclared (first use in this function)
conftest.c:16: error: (Each undeclared identifier is reported only once
conftest.c:16: error: for each function it appears in.)
conftest.c:16: error: expected ';' before 'big'
configure:2499: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h.  */
| #include <sys/types.h>
| #include <sys/param.h>
| 
| int
| main ()
| {
| #if BYTE_ORDER != BIG_ENDIAN
|  not big endian
| #endif
| 
|   ;
|   return 0;
| }
configure:2634: result: no
configure:2660: checking build system type
configure:2678: result: x86_64-unknown-linux-gnu
configure:2686: checking host system type
configure:2700: result: x86_64-unknown-linux-gnu
configure:2757: checking whether to build for Linux kernel context
configure:2771: result: no
configure:2775: checking for /dev/urandom
configure:2790: result: yes
configure:2820: checking which random device to use
configure:2834: result: /dev/urandom
configure:2849: checking how to run the C preprocessor
configure:2884: gcc -E  conftest.c
configure:2890: $? = 0
configure:2922: gcc -E  conftest.c
conftest.c:11:28: error: ac_nonexistent.h: No such file or directory
configure:2928: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define CPU_CISC 1
| #define DEV_URANDOM "/dev/urandom"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:2967: result: gcc -E
configure:2991: gcc -E  conftest.c
configure:2997: $? = 0
configure:3029: gcc -E  conftest.c
conftest.c:11:28: error: ac_nonexistent.h: No such file or directory
configure:3035: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define CPU_CISC 1
| #define DEV_URANDOM "/dev/urandom"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:3079: checking for egrep
configure:3089: result: grep -E
configure:3094: checking for ANSI C header files
configure:3119: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:3125: $? = 0
configure:3129: test -z 
			 || test ! -s conftest.err
configure:3132: $? = 0
configure:3135: test -s conftest.o
configure:3138: $? = 0
configure:3227: gcc -o conftest -Wall -O4 -fexpensive-optimizations -funroll-loops   conftest.c  >&5
conftest.c: In function 'main':
conftest.c:28: warning: implicit declaration of function 'exit'
conftest.c:28: warning: incompatible implicit declaration of built-in function 'exit'
configure:3230: $? = 0
configure:3232: ./conftest
configure:3235: $? = 0
configure:3250: result: yes
configure:3274: checking for sys/types.h
configure:3290: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:3296: $? = 0
configure:3300: test -z 
			 || test ! -s conftest.err
configure:3303: $? = 0
configure:3306: test -s conftest.o
configure:3309: $? = 0
configure:3320: result: yes
configure:3274: checking for sys/stat.h
configure:3290: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:3296: $? = 0
configure:3300: test -z 
			 || test ! -s conftest.err
configure:3303: $? = 0
configure:3306: test -s conftest.o
configure:3309: $? = 0
configure:3320: result: yes
configure:3274: checking for stdlib.h
configure:3290: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:3296: $? = 0
configure:3300: test -z 
			 || test ! -s conftest.err
configure:3303: $? = 0
configure:3306: test -s conftest.o
configure:3309: $? = 0
configure:3320: result: yes
configure:3274: checking for string.h
configure:3290: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:3296: $? = 0
configure:3300: test -z 
			 || test ! -s conftest.err
configure:3303: $? = 0
configure:3306: test -s conftest.o
configure:3309: $? = 0
configure:3320: result: yes
configure:3274: checking for memory.h
configure:3290: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:3296: $? = 0
configure:3300: test -z 
			 || test ! -s conftest.err
configure:3303: $? = 0
configure:3306: test -s conftest.o
configure:3309: $? = 0
configure:3320: result: yes
configure:3274: checking for strings.h
configure:3290: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:3296: $? = 0
configure:3300: test -z 
			 || test ! -s conftest.err
configure:3303: $? = 0
configure:3306: test -s conftest.o
configure:3309: $? = 0
configure:3320: result: yes
configure:3274: checking for inttypes.h
configure:3290: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:3296: $? = 0
configure:3300: test -z 
			 || test ! -s conftest.err
configure:3303: $? = 0
configure:3306: test -s conftest.o
configure:3309: $? = 0
configure:3320: result: yes
configure:3274: checking for stdint.h
configure:3290: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:3296: $? = 0
configure:3300: test -z 
			 || test ! -s conftest.err
configure:3303: $? = 0
configure:3306: test -s conftest.o
configure:3309: $? = 0
configure:3320: result: yes
configure:3274: checking for unistd.h
configure:3290: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:3296: $? = 0
configure:3300: test -z 
			 || test ! -s conftest.err
configure:3303: $? = 0
configure:3306: test -s conftest.o
configure:3309: $? = 0
configure:3320: result: yes
configure:3337: checking for stdlib.h
configure:3342: result: yes
configure:3487: checking for unistd.h
configure:3492: result: yes
configure:3646: checking byteswap.h usability
configure:3658: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:3664: $? = 0
configure:3668: test -z 
			 || test ! -s conftest.err
configure:3671: $? = 0
configure:3674: test -s conftest.o
configure:3677: $? = 0
configure:3687: result: yes
configure:3691: checking byteswap.h presence
configure:3701: gcc -E  conftest.c
configure:3707: $? = 0
configure:3727: result: yes
configure:3762: checking for byteswap.h
configure:3769: result: yes
configure:3787: checking for stdint.h
configure:3792: result: yes
configure:3946: checking sys/uio.h usability
configure:3958: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:3964: $? = 0
configure:3968: test -z 
			 || test ! -s conftest.err
configure:3971: $? = 0
configure:3974: test -s conftest.o
configure:3977: $? = 0
configure:3987: result: yes
configure:3991: checking sys/uio.h presence
configure:4001: gcc -E  conftest.c
configure:4007: $? = 0
configure:4027: result: yes
configure:4062: checking for sys/uio.h
configure:4069: result: yes
configure:4087: checking for inttypes.h
configure:4092: result: yes
configure:4237: checking for sys/types.h
configure:4242: result: yes
configure:4396: checking machine/types.h usability
configure:4408: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
conftest.c:62:27: error: machine/types.h: No such file or directory
configure:4414: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define CPU_CISC 1
| #define DEV_URANDOM "/dev/urandom"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_BYTESWAP_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_SYS_UIO_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_SYS_TYPES_H 1
| /* end confdefs.h.  */
| #include <stdio.h>
| #if HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #if HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #if STDC_HEADERS
| # include <stdlib.h>
| # include <stddef.h>
| #else
| # if HAVE_STDLIB_H
| #  include <stdlib.h>
| # endif
| #endif
| #if HAVE_STRING_H
| # if !STDC_HEADERS && HAVE_MEMORY_H
| #  include <memory.h>
| # endif
| # include <string.h>
| #endif
| #if HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #if HAVE_INTTYPES_H
| # include <inttypes.h>
| #else
| # if HAVE_STDINT_H
| #  include <stdint.h>
| # endif
| #endif
| #if HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <machine/types.h>
configure:4437: result: no
configure:4441: checking machine/types.h presence
configure:4451: gcc -E  conftest.c
conftest.c:28:27: error: machine/types.h: No such file or directory
configure:4457: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define CPU_CISC 1
| #define DEV_URANDOM "/dev/urandom"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_BYTESWAP_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_SYS_UIO_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_SYS_TYPES_H 1
| /* end confdefs.h.  */
| #include <machine/types.h>
configure:4477: result: no
configure:4512: checking for machine/types.h
configure:4519: result: no
configure:4546: checking sys/int_types.h usability
configure:4558: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
conftest.c:62:27: error: sys/int_types.h: No such file or directory
configure:4564: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define CPU_CISC 1
| #define DEV_URANDOM "/dev/urandom"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_BYTESWAP_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_SYS_UIO_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_SYS_TYPES_H 1
| /* end confdefs.h.  */
| #include <stdio.h>
| #if HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #if HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #if STDC_HEADERS
| # include <stdlib.h>
| # include <stddef.h>
| #else
| # if HAVE_STDLIB_H
| #  include <stdlib.h>
| # endif
| #endif
| #if HAVE_STRING_H
| # if !STDC_HEADERS && HAVE_MEMORY_H
| #  include <memory.h>
| # endif
| # include <string.h>
| #endif
| #if HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #if HAVE_INTTYPES_H
| # include <inttypes.h>
| #else
| # if HAVE_STDINT_H
| #  include <stdint.h>
| # endif
| #endif
| #if HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <sys/int_types.h>
configure:4587: result: no
configure:4591: checking sys/int_types.h presence
configure:4601: gcc -E  conftest.c
conftest.c:28:27: error: sys/int_types.h: No such file or directory
configure:4607: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define CPU_CISC 1
| #define DEV_URANDOM "/dev/urandom"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_BYTESWAP_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_SYS_UIO_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_SYS_TYPES_H 1
| /* end confdefs.h.  */
| #include <sys/int_types.h>
configure:4627: result: no
configure:4662: checking for sys/int_types.h
configure:4669: result: no
configure:4699: checking sys/socket.h usability
configure:4711: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:4717: $? = 0
configure:4721: test -z 
			 || test ! -s conftest.err
configure:4724: $? = 0
configure:4727: test -s conftest.o
configure:4730: $? = 0
configure:4740: result: yes
configure:4744: checking sys/socket.h presence
configure:4754: gcc -E  conftest.c
configure:4760: $? = 0
configure:4780: result: yes
configure:4815: checking for sys/socket.h
configure:4822: result: yes
configure:4699: checking netinet/in.h usability
configure:4711: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:4717: $? = 0
configure:4721: test -z 
			 || test ! -s conftest.err
configure:4724: $? = 0
configure:4727: test -s conftest.o
configure:4730: $? = 0
configure:4740: result: yes
configure:4744: checking netinet/in.h presence
configure:4754: gcc -E  conftest.c
configure:4760: $? = 0
configure:4780: result: yes
configure:4815: checking for netinet/in.h
configure:4822: result: yes
configure:4699: checking arpa/inet.h usability
configure:4711: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:4717: $? = 0
configure:4721: test -z 
			 || test ! -s conftest.err
configure:4724: $? = 0
configure:4727: test -s conftest.o
configure:4730: $? = 0
configure:4740: result: yes
configure:4744: checking arpa/inet.h presence
configure:4754: gcc -E  conftest.c
configure:4760: $? = 0
configure:4780: result: yes
configure:4815: checking for arpa/inet.h
configure:4822: result: yes
configure:4849: checking windows.h usability
configure:4861: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
conftest.c:65:21: error: windows.h: No such file or directory
configure:4867: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define CPU_CISC 1
| #define DEV_URANDOM "/dev/urandom"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_BYTESWAP_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_SYS_UIO_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_NETINET_IN_H 1
| #define HAVE_ARPA_INET_H 1
| /* end confdefs.h.  */
| #include <stdio.h>
| #if HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #if HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #if STDC_HEADERS
| # include <stdlib.h>
| # include <stddef.h>
| #else
| # if HAVE_STDLIB_H
| #  include <stdlib.h>
| # endif
| #endif
| #if HAVE_STRING_H
| # if !STDC_HEADERS && HAVE_MEMORY_H
| #  include <memory.h>
| # endif
| # include <string.h>
| #endif
| #if HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #if HAVE_INTTYPES_H
| # include <inttypes.h>
| #else
| # if HAVE_STDINT_H
| #  include <stdint.h>
| # endif
| #endif
| #if HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <windows.h>
configure:4890: result: no
configure:4894: checking windows.h presence
configure:4904: gcc -E  conftest.c
conftest.c:31:21: error: windows.h: No such file or directory
configure:4910: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define CPU_CISC 1
| #define DEV_URANDOM "/dev/urandom"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_BYTESWAP_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_SYS_UIO_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_NETINET_IN_H 1
| #define HAVE_ARPA_INET_H 1
| /* end confdefs.h.  */
| #include <windows.h>
configure:4930: result: no
configure:4965: checking for windows.h
configure:4972: result: no
configure:5149: checking syslog.h usability
configure:5161: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:5167: $? = 0
configure:5171: test -z 
			 || test ! -s conftest.err
configure:5174: $? = 0
configure:5177: test -s conftest.o
configure:5180: $? = 0
configure:5190: result: yes
configure:5194: checking syslog.h presence
configure:5204: gcc -E  conftest.c
configure:5210: $? = 0
configure:5230: result: yes
configure:5265: checking for syslog.h
configure:5272: result: yes
configure:5286: checking for int8_t
configure:5310: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:5316: $? = 0
configure:5320: test -z 
			 || test ! -s conftest.err
configure:5323: $? = 0
configure:5326: test -s conftest.o
configure:5329: $? = 0
configure:5340: result: yes
configure:5350: checking for uint8_t
configure:5374: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:5380: $? = 0
configure:5384: test -z 
			 || test ! -s conftest.err
configure:5387: $? = 0
configure:5390: test -s conftest.o
configure:5393: $? = 0
configure:5404: result: yes
configure:5414: checking for int16_t
configure:5438: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:5444: $? = 0
configure:5448: test -z 
			 || test ! -s conftest.err
configure:5451: $? = 0
configure:5454: test -s conftest.o
configure:5457: $? = 0
configure:5468: result: yes
configure:5478: checking for uint16_t
configure:5502: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:5508: $? = 0
configure:5512: test -z 
			 || test ! -s conftest.err
configure:5515: $? = 0
configure:5518: test -s conftest.o
configure:5521: $? = 0
configure:5532: result: yes
configure:5542: checking for int32_t
configure:5566: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:5572: $? = 0
configure:5576: test -z 
			 || test ! -s conftest.err
configure:5579: $? = 0
configure:5582: test -s conftest.o
configure:5585: $? = 0
configure:5596: result: yes
configure:5606: checking for uint32_t
configure:5630: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:5636: $? = 0
configure:5640: test -z 
			 || test ! -s conftest.err
configure:5643: $? = 0
configure:5646: test -s conftest.o
configure:5649: $? = 0
configure:5660: result: yes
configure:5670: checking for uint64_t
configure:5694: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:5700: $? = 0
configure:5704: test -z 
			 || test ! -s conftest.err
configure:5707: $? = 0
configure:5710: test -s conftest.o
configure:5713: $? = 0
configure:5724: result: yes
configure:5735: checking for unsigned long
configure:5759: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:5765: $? = 0
configure:5769: test -z 
			 || test ! -s conftest.err
configure:5772: $? = 0
configure:5775: test -s conftest.o
configure:5778: $? = 0
configure:5789: result: yes
configure:5792: checking size of unsigned long
configure:6111: gcc -o conftest -Wall -O4 -fexpensive-optimizations -funroll-loops   conftest.c  >&5
configure:6114: $? = 0
configure:6116: ./conftest
configure:6119: $? = 0
configure:6142: result: 8
configure:6149: checking for unsigned long long
configure:6173: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:6179: $? = 0
configure:6183: test -z 
			 || test ! -s conftest.err
configure:6186: $? = 0
configure:6189: test -s conftest.o
configure:6192: $? = 0
configure:6203: result: yes
configure:6206: checking size of unsigned long long
configure:6525: gcc -o conftest -Wall -O4 -fexpensive-optimizations -funroll-loops   conftest.c  >&5
configure:6528: $? = 0
configure:6530: ./conftest
configure:6533: $? = 0
configure:6556: result: 8
configure:6564: checking for an ANSI C-conforming const
configure:6631: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
conftest.c: In function 'main':
conftest.c:68: warning: unused variable 's'
conftest.c:88: warning: unused variable 'foo'
conftest.c:55: warning: unused variable 'zero'
conftest.c:49: warning: unused variable 'x'
conftest.c:70: warning: 't' is used uninitialized in this function
conftest.c:85: warning: 'b' is used uninitialized in this function
configure:6637: $? = 0
configure:6641: test -z 
			 || test ! -s conftest.err
configure:6644: $? = 0
configure:6647: test -s conftest.o
configure:6650: $? = 0
configure:6661: result: yes
configure:6671: checking for inline
configure:6692: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:6698: $? = 0
configure:6702: test -z 
			 || test ! -s conftest.err
configure:6705: $? = 0
configure:6708: test -s conftest.o
configure:6711: $? = 0
configure:6723: result: inline
configure:6742: checking for size_t
configure:6766: gcc -c -Wall -O4 -fexpensive-optimizations -funroll-loops  conftest.c >&5
configure:6772: $? = 0
configure:6776: test -z 
			 || test ! -s conftest.err
configure:6779: $? = 0
configure:6782: test -s conftest.o
configure:6785: $? = 0
configure:6796: result: yes
configure:6816: checking for socket
configure:6873: gcc -o conftest -Wall -O4 -fexpensive-optimizations -funroll-loops   conftest.c  >&5
configure:6879: $? = 0
configure:6883: test -z 
			 || test ! -s conftest.err
configure:6886: $? = 0
configure:6889: test -s conftest
configure:6892: $? = 0
configure:6904: result: yes
configure:6816: checking for inet_aton
configure:6873: gcc -o conftest -Wall -O4 -fexpensive-optimizations -funroll-loops   conftest.c  >&5
configure:6879: $? = 0
configure:6883: test -z 
			 || test ! -s conftest.err
configure:6886: $? = 0
configure:6889: test -s conftest
configure:6892: $? = 0
configure:6904: result: yes
configure:6816: checking for usleep
configure:6873: gcc -o conftest -Wall -O4 -fexpensive-optimizations -funroll-loops   conftest.c  >&5
configure:6879: $? = 0
configure:6883: test -z 
			 || test ! -s conftest.err
configure:6886: $? = 0
configure:6889: test -s conftest
configure:6892: $? = 0
configure:6904: result: yes
configure:6816: checking for sigaction
configure:6873: gcc -o conftest -Wall -O4 -fexpensive-optimizations -funroll-loops   conftest.c  >&5
configure:6879: $? = 0
configure:6883: test -z 
			 || test ! -s conftest.err
configure:6886: $? = 0
configure:6889: test -s conftest
configure:6892: $? = 0
configure:6904: result: yes
configure:7050: checking whether to compile in debugging
configure:7066: result: yes
configure:7069: checking whether to use ISMAcryp code
configure:7085: result: no
configure:7088: checking whether to use syslog for error reporting
configure:7104: result: no
configure:7107: checking whether to use stdout for error reporting
configure:7123: result: yes
configure:7126: checking whether to use /dev/console for error reporting
configure:7147: result: no
configure:7150: checking whether to use GDOI key management
configure:7168: result: no
configure:7270: creating ./config.status

## ---------------------- ##
## Running config.status. ##
## ---------------------- ##

This file was extended by config.status, which was
generated by GNU Autoconf 2.59.  Invocation command line was

  CONFIG_FILES    = 
  CONFIG_HEADERS  = 
  CONFIG_LINKS    = 
  CONFIG_COMMANDS = 
  $ ./config.status 

on amb.mtv.corp.google.com

config.status:664: creating Makefile
config.status:664: creating crypto/Makefile
config.status:664: creating doc/Makefile
config.status:768: creating crypto/include/config.h

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=x86_64-unknown-linux-gnu
ac_cv_build_alias=x86_64-unknown-linux-gnu
ac_cv_c_bigendian=no
ac_cv_c_compiler_gnu=yes
ac_cv_c_const=yes
ac_cv_c_inline=inline
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_exeext=
ac_cv_file__dev_urandom=yes
ac_cv_func_inet_aton=yes
ac_cv_func_sigaction=yes
ac_cv_func_socket=yes
ac_cv_func_usleep=yes
ac_cv_header_arpa_inet_h=yes
ac_cv_header_byteswap_h=yes
ac_cv_header_inttypes_h=yes
ac_cv_header_machine_types_h=no
ac_cv_header_memory_h=yes
ac_cv_header_netinet_in_h=yes
ac_cv_header_stdc=yes
ac_cv_header_stdint_h=yes
ac_cv_header_stdlib_h=yes
ac_cv_header_string_h=yes
ac_cv_header_strings_h=yes
ac_cv_header_sys_int_types_h=no
ac_cv_header_sys_socket_h=yes
ac_cv_header_sys_stat_h=yes
ac_cv_header_sys_types_h=yes
ac_cv_header_sys_uio_h=yes
ac_cv_header_syslog_h=yes
ac_cv_header_unistd_h=yes
ac_cv_header_windows_h=no
ac_cv_host=x86_64-unknown-linux-gnu
ac_cv_host_alias=x86_64-unknown-linux-gnu
ac_cv_objext=o
ac_cv_path_install='/usr/bin/install -c'
ac_cv_prog_CPP='gcc -E'
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_ac_ct_RANLIB=ranlib
ac_cv_prog_cc_g=yes
ac_cv_prog_cc_stdc=
ac_cv_prog_egrep='grep -E'
ac_cv_sizeof_unsigned_long=8
ac_cv_sizeof_unsigned_long_long=8
ac_cv_type_int16_t=yes
ac_cv_type_int32_t=yes
ac_cv_type_int8_t=yes
ac_cv_type_size_t=yes
ac_cv_type_uint16_t=yes
ac_cv_type_uint32_t=yes
ac_cv_type_uint64_t=yes
ac_cv_type_uint8_t=yes
ac_cv_type_unsigned_long=yes
ac_cv_type_unsigned_long_long=yes

## ----------------- ##
## Output variables. ##
## ----------------- ##

CC='gcc'
CFLAGS='-Wall -O4 -fexpensive-optimizations -funroll-loops'
CPP='gcc -E'
CPPFLAGS=''
DEFS='-DHAVE_CONFIG_H'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='grep -E'
EXE=''
EXEEXT=''
GDOI_OBJS=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
LDFLAGS=''
LIBOBJS=''
LIBS=''
LTLIBOBJS=''
OBJEXT='o'
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
RANLIB='ranlib'
RNG_OBJS='rand_source.o'
SHELL='/bin/sh'
ac_ct_CC='gcc'
ac_ct_RANLIB='ranlib'
bindir='${exec_prefix}/bin'
build='x86_64-unknown-linux-gnu'
build_alias=''
build_cpu='x86_64'
build_os='linux-gnu'
build_vendor='unknown'
datadir='${prefix}/share'
exec_prefix='${prefix}'
host='x86_64-unknown-linux-gnu'
host_alias=''
host_cpu='x86_64'
host_os='linux-gnu'
host_vendor='unknown'
includedir='${prefix}/include'
infodir='${prefix}/info'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localstatedir='${prefix}/var'
mandir='${prefix}/man'
oldincludedir='/usr/include'
prefix='/usr/local'
program_transform_name='s,x,x,'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

#define CPU_CISC 1
#define DEV_URANDOM "/dev/urandom"
#define ENABLE_DEBUGGING 1
#define ERR_REPORTING_STDOUT 1
#define HAVE_ARPA_INET_H 1
#define HAVE_BYTESWAP_H 1
#define HAVE_INET_ATON 1
#define HAVE_INT16_T 1
#define HAVE_INT32_T 1
#define HAVE_INT8_T 1
#define HAVE_INTTYPES_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_MEMORY_H 1
#define HAVE_NETINET_IN_H 1
#define HAVE_SIGACTION 1
#define HAVE_SOCKET 1
#define HAVE_STDINT_H 1
#define HAVE_STDINT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRINGS_H 1
#define HAVE_STRING_H 1
#define HAVE_SYSLOG_H 1
#define HAVE_SYS_SOCKET_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_UIO_H 1
#define HAVE_UINT16_T 1
#define HAVE_UINT32_T 1
#define HAVE_UINT64_T 1
#define HAVE_UINT8_T 1
#define HAVE_UNISTD_H 1
#define HAVE_UNISTD_H 1
#define HAVE_USLEEP 1
#define PACKAGE_BUGREPORT ""
#define PACKAGE_NAME ""
#define PACKAGE_STRING ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define SIZEOF_UNSIGNED_LONG 8
#define SIZEOF_UNSIGNED_LONG_LONG 8
#define STDC_HEADERS 1

configure: exit 0
