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

It was created by ccrtp configure 2.0.8, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $ ./configure 

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

hostname = pcal
uname -m = x86_64
uname -r = 3.13.5-202.fc20.x86_64
uname -s = Linux
uname -v = #1 SMP Mon Mar 3 19:08:00 UTC 2014

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

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

PATH: /usr/lib64/qt-3.3/bin
PATH: /usr/lib64/ccache
PATH: /usr/local/bin
PATH: /usr/bin
PATH: /bin
PATH: /usr/local/sbin
PATH: /usr/sbin
PATH: /home/lisional/.local/bin
PATH: /usr/local/bin
PATH: /home/lisional/bin
PATH: /home/lisional/Dev/ADT/sdk/tools
PATH: /home/lisional/Dev/ADT/sdk/platform-tools
PATH: /home/lisional/Dev/ADT/ndk
PATH: /home/lisional/.local/bin
PATH: /home/lisional/Dev/ant/bin/ant
PATH: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64
PATH: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/bin
PATH: /home/lisional/.local/bin
PATH: /usr/local/bin
PATH: /home/lisional/bin
PATH: /home/lisional/Dev/ADT/sdk/tools
PATH: /home/lisional/Dev/ADT/sdk/platform-tools
PATH: /home/lisional/Dev/ADT/ndk
PATH: /home/lisional/.local/bin
PATH: /home/lisional/Dev/ant/bin/ant
PATH: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64
PATH: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/bin


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

configure:2434: checking build system type
configure:2448: result: x86_64-unknown-linux-gnu
configure:2468: checking host system type
configure:2481: result: x86_64-unknown-linux-gnu
configure:2501: checking target system type
configure:2514: result: x86_64-unknown-linux-gnu
configure:2589: checking for gcc
configure:2605: found /usr/lib64/ccache/gcc
configure:2616: result: gcc
configure:2845: checking for C compiler version
configure:2854: gcc --version >&5
gcc (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7)
Copyright (C) 2013 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:2865: $? = 0
configure:2854: gcc -v >&5
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-isl=/builddir/build/BUILD/gcc-4.8.2-20131212/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.2-20131212/obj-x86_64-redhat-linux/cloog-install --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.2 20131212 (Red Hat 4.8.2-7) (GCC) 
configure:2865: $? = 0
configure:2854: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:2865: $? = 4
configure:2854: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'
gcc: fatal error: no input files
compilation terminated.
configure:2865: $? = 4
configure:2885: checking whether the C compiler works
configure:2907: gcc    conftest.c  >&5
configure:2911: $? = 0
configure:2959: result: yes
configure:2962: checking for C compiler default output file name
configure:2964: result: a.out
configure:2970: checking for suffix of executables
configure:2977: gcc -o conftest    conftest.c  >&5
configure:2981: $? = 0
configure:3003: result: 
configure:3025: checking whether we are cross compiling
configure:3033: gcc -o conftest    conftest.c  >&5
configure:3037: $? = 0
configure:3044: ./conftest
configure:3048: $? = 0
configure:3063: result: no
configure:3068: checking for suffix of object files
configure:3090: gcc -c   conftest.c >&5
configure:3094: $? = 0
configure:3115: result: o
configure:3119: checking whether we are using the GNU C compiler
configure:3138: gcc -c   conftest.c >&5
configure:3138: $? = 0
configure:3147: result: yes
configure:3156: checking whether gcc accepts -g
configure:3176: gcc -c -g  conftest.c >&5
configure:3176: $? = 0
configure:3217: result: yes
configure:3234: checking for gcc option to accept ISO C89
configure:3297: gcc  -c -g -O2  conftest.c >&5
configure:3297: $? = 0
configure:3310: result: none needed
configure:3335: checking how to run the C preprocessor
configure:3366: gcc -E  conftest.c
configure:3366: $? = 0
configure:3380: gcc -E  conftest.c
conftest.c:9:28: fatal error: ac_nonexistent.h: No such file or directory
 #include <ac_nonexistent.h>
                            ^
compilation terminated.
configure:3380: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "ccrtp"
| #define PACKAGE_TARNAME "ccrtp"
| #define PACKAGE_VERSION "2.0.8"
| #define PACKAGE_STRING "ccrtp 2.0.8"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:3405: result: gcc -E
configure:3425: gcc -E  conftest.c
configure:3425: $? = 0
configure:3439: gcc -E  conftest.c
conftest.c:9:28: fatal error: ac_nonexistent.h: No such file or directory
 #include <ac_nonexistent.h>
                            ^
compilation terminated.
configure:3439: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "ccrtp"
| #define PACKAGE_TARNAME "ccrtp"
| #define PACKAGE_VERSION "2.0.8"
| #define PACKAGE_STRING "ccrtp 2.0.8"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:3525: checking for g++
configure:3541: found /usr/lib64/ccache/g++
configure:3552: result: g++
configure:3579: checking for C++ compiler version
configure:3588: g++ --version >&5
g++ (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7)
Copyright (C) 2013 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:3599: $? = 0
configure:3588: g++ -v >&5
Using built-in specs.
COLLECT_GCC=/usr/bin/g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-isl=/builddir/build/BUILD/gcc-4.8.2-20131212/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.2-20131212/obj-x86_64-redhat-linux/cloog-install --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.2 20131212 (Red Hat 4.8.2-7) (GCC) 
configure:3599: $? = 0
configure:3588: g++ -V >&5
g++: error: unrecognized command line option '-V'
g++: fatal error: no input files
compilation terminated.
configure:3599: $? = 4
configure:3588: g++ -qversion >&5
g++: error: unrecognized command line option '-qversion'
g++: fatal error: no input files
compilation terminated.
configure:3599: $? = 4
configure:3603: checking whether we are using the GNU C++ compiler
configure:3622: g++ -c   conftest.cpp >&5
configure:3622: $? = 0
configure:3631: result: yes
configure:3640: checking whether g++ accepts -g
configure:3660: g++ -c -g  conftest.cpp >&5
configure:3660: $? = 0
configure:3701: result: yes
configure:3729: checking how to run the C++ preprocessor
configure:3756: g++ -E  conftest.cpp
configure:3756: $? = 0
configure:3770: g++ -E  conftest.cpp
conftest.cpp:9:28: fatal error: ac_nonexistent.h: No such file or directory
 #include <ac_nonexistent.h>
                            ^
compilation terminated.
configure:3770: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "ccrtp"
| #define PACKAGE_TARNAME "ccrtp"
| #define PACKAGE_VERSION "2.0.8"
| #define PACKAGE_STRING "ccrtp 2.0.8"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:3795: result: g++ -E
configure:3815: g++ -E  conftest.cpp
configure:3815: $? = 0
configure:3829: g++ -E  conftest.cpp
conftest.cpp:9:28: fatal error: ac_nonexistent.h: No such file or directory
 #include <ac_nonexistent.h>
                            ^
compilation terminated.
configure:3829: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "ccrtp"
| #define PACKAGE_TARNAME "ccrtp"
| #define PACKAGE_VERSION "2.0.8"
| #define PACKAGE_STRING "ccrtp 2.0.8"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:3969: checking for C++ compiler version
configure:3978: g++ --version >&5
g++ (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7)
Copyright (C) 2013 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:3989: $? = 0
configure:3978: g++ -v >&5
Using built-in specs.
COLLECT_GCC=/usr/bin/g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-isl=/builddir/build/BUILD/gcc-4.8.2-20131212/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.2-20131212/obj-x86_64-redhat-linux/cloog-install --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.2 20131212 (Red Hat 4.8.2-7) (GCC) 
configure:3989: $? = 0
configure:3978: g++ -V >&5
g++: error: unrecognized command line option '-V'
g++: fatal error: no input files
compilation terminated.
configure:3989: $? = 4
configure:3978: g++ -qversion >&5
g++: error: unrecognized command line option '-qversion'
g++: fatal error: no input files
compilation terminated.
configure:3989: $? = 4
configure:3993: checking whether we are using the GNU C++ compiler
configure:4021: result: yes
configure:4030: checking whether g++ accepts -g
configure:4091: result: yes
configure:4463: checking how to print strings
configure:4490: result: printf
configure:4511: checking for a sed that does not truncate output
configure:4575: result: /usr/bin/sed
configure:4593: checking for grep that handles long lines and -e
configure:4651: result: /usr/bin/grep
configure:4656: checking for egrep
configure:4718: result: /usr/bin/grep -E
configure:4723: checking for fgrep
configure:4785: result: /usr/bin/grep -F
configure:4820: checking for ld used by gcc
configure:4887: result: /usr/bin/ld
configure:4894: checking if the linker (/usr/bin/ld) is GNU ld
configure:4909: result: yes
configure:4921: checking for BSD- or MS-compatible name lister (nm)
configure:4970: result: /usr/bin/nm -B
configure:5100: checking the name lister (/usr/bin/nm -B) interface
configure:5107: gcc -c -g -O2  conftest.c >&5
configure:5110: /usr/bin/nm -B "conftest.o"
configure:5113: output
0000000000000000 B some_variable
configure:5120: result: BSD nm
configure:5123: checking whether ln -s works
configure:5127: result: yes
configure:5135: checking the maximum length of command line arguments
configure:5265: result: 1572864
configure:5282: checking whether the shell understands some XSI constructs
configure:5292: result: yes
configure:5296: checking whether the shell understands "+="
configure:5302: result: yes
configure:5337: checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format
configure:5377: result: func_convert_file_noop
configure:5384: checking how to convert x86_64-unknown-linux-gnu file names to toolchain format
configure:5404: result: func_convert_file_noop
configure:5411: checking for /usr/bin/ld option to reload object files
configure:5418: result: -r
configure:5492: checking for objdump
configure:5519: result: objdump
configure:5548: checking how to recognize dependent libraries
configure:5750: result: pass_all
configure:5835: checking for dlltool
configure:5862: result: dlltool
configure:5892: checking how to associate runtime and link libraries
configure:5919: result: printf %s\n
configure:5980: checking for ar
configure:5996: found /usr/bin/ar
configure:6007: result: ar
configure:6044: checking for archiver @FILE support
configure:6061: gcc -c -g -O2  conftest.c >&5
configure:6061: $? = 0
configure:6064: ar cru libconftest.a @conftest.lst >&5
configure:6067: $? = 0
configure:6072: ar cru libconftest.a @conftest.lst >&5
ar: conftest.o: No such file or directory
configure:6075: $? = 1
configure:6087: result: @
configure:6145: checking for strip
configure:6161: found /usr/bin/strip
configure:6172: result: strip
configure:6244: checking for ranlib
configure:6260: found /usr/bin/ranlib
configure:6271: result: ranlib
configure:6348: checking for gawk
configure:6364: found /usr/bin/gawk
configure:6375: result: gawk
configure:6415: checking command to parse /usr/bin/nm -B output from gcc object
configure:6535: gcc -c -g -O2  conftest.c >&5
configure:6538: $? = 0
configure:6542: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' \> conftest.nm
configure:6545: $? = 0
configure:6611: gcc -o conftest -g -O2   conftest.c conftstm.o >&5
configure:6614: $? = 0
configure:6652: result: ok
configure:6689: checking for sysroot
configure:6719: result: no
configure:6796: gcc -c -g -O2  conftest.c >&5
configure:6799: $? = 0
configure:6981: checking for mt
configure:7011: result: no
configure:7031: checking if : is a manifest tool
configure:7037: : '-?'
configure:7045: result: no
configure:7683: checking for ANSI C header files
configure:7703: gcc -c -g -O2  conftest.c >&5
configure:7703: $? = 0
configure:7776: gcc -o conftest -g -O2   conftest.c  >&5
configure:7776: $? = 0
configure:7776: ./conftest
configure:7776: $? = 0
configure:7787: result: yes
configure:7800: checking for sys/types.h
configure:7800: gcc -c -g -O2  conftest.c >&5
configure:7800: $? = 0
configure:7800: result: yes
configure:7800: checking for sys/stat.h
configure:7800: gcc -c -g -O2  conftest.c >&5
configure:7800: $? = 0
configure:7800: result: yes
configure:7800: checking for stdlib.h
configure:7800: gcc -c -g -O2  conftest.c >&5
configure:7800: $? = 0
configure:7800: result: yes
configure:7800: checking for string.h
configure:7800: gcc -c -g -O2  conftest.c >&5
configure:7800: $? = 0
configure:7800: result: yes
configure:7800: checking for memory.h
configure:7800: gcc -c -g -O2  conftest.c >&5
configure:7800: $? = 0
configure:7800: result: yes
configure:7800: checking for strings.h
configure:7800: gcc -c -g -O2  conftest.c >&5
configure:7800: $? = 0
configure:7800: result: yes
configure:7800: checking for inttypes.h
configure:7800: gcc -c -g -O2  conftest.c >&5
configure:7800: $? = 0
configure:7800: result: yes
configure:7800: checking for stdint.h
configure:7800: gcc -c -g -O2  conftest.c >&5
configure:7800: $? = 0
configure:7800: result: yes
configure:7800: checking for unistd.h
configure:7800: gcc -c -g -O2  conftest.c >&5
configure:7800: $? = 0
configure:7800: result: yes
configure:7814: checking for dlfcn.h
configure:7814: gcc -c -g -O2  conftest.c >&5
configure:7814: $? = 0
configure:7814: result: yes
configure:8029: checking for objdir
configure:8044: result: .libs
configure:8315: checking if gcc supports -fno-rtti -fno-exceptions
configure:8333: gcc -c -g -O2  -fno-rtti -fno-exceptions conftest.c >&5
cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C [enabled by default]
cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C [enabled by default]
configure:8337: $? = 0
configure:8350: result: no
configure:8677: checking for gcc option to produce PIC
configure:8684: result: -fPIC -DPIC
configure:8692: checking if gcc PIC flag -fPIC -DPIC works
configure:8710: gcc -c -g -O2  -fPIC -DPIC -DPIC conftest.c >&5
configure:8714: $? = 0
configure:8727: result: yes
configure:8756: checking if gcc static flag -static works
configure:8784: result: no
configure:8799: checking if gcc supports -c -o file.o
configure:8820: gcc -c -g -O2  -o out/conftest2.o conftest.c >&5
configure:8824: $? = 0
configure:8846: result: yes
configure:8854: checking if gcc supports -c -o file.o
configure:8901: result: yes
configure:8934: checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:10087: result: yes
configure:10124: checking whether -lc should be explicitly linked in
configure:10132: gcc -c -g -O2  conftest.c >&5
configure:10135: $? = 0
configure:10150: gcc -shared  -fPIC -DPIC conftest.o  -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /usr/bin/grep  -lc  \>/dev/null 2\>\&1
configure:10153: $? = 0
configure:10167: result: no
configure:10327: checking dynamic linker characteristics
configure:10838: gcc -o conftest -g -O2   -Wl,-rpath -Wl,/foo conftest.c  >&5
configure:10838: $? = 0
configure:11064: result: GNU/Linux ld.so
configure:11171: checking how to hardcode library paths into programs
configure:11196: result: immediate
configure:11736: checking whether stripping libraries is possible
configure:11741: result: yes
configure:11776: checking if libtool supports shared libraries
configure:11778: result: yes
configure:11781: checking whether to build shared libraries
configure:11802: result: yes
configure:11805: checking whether to build static libraries
configure:11809: result: yes
configure:11832: checking how to run the C++ preprocessor
configure:11898: result: g++ -E
configure:11918: g++ -E  conftest.cpp
configure:11918: $? = 0
configure:11932: g++ -E  conftest.cpp
conftest.cpp:21:28: fatal error: ac_nonexistent.h: No such file or directory
 #include <ac_nonexistent.h>
                            ^
compilation terminated.
configure:11932: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "ccrtp"
| #define PACKAGE_TARNAME "ccrtp"
| #define PACKAGE_VERSION "2.0.8"
| #define PACKAGE_STRING "ccrtp 2.0.8"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #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_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:12101: checking for ld used by g++
configure:12168: result: /usr/bin/ld -m elf_x86_64
configure:12175: checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld
configure:12190: result: yes
configure:12245: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:13250: result: yes
configure:13286: g++ -c -g -O2  conftest.cpp >&5
configure:13289: $? = 0
configure:13809: checking for g++ option to produce PIC
configure:13816: result: -fPIC -DPIC
configure:13824: checking if g++ PIC flag -fPIC -DPIC works
configure:13842: g++ -c -g -O2  -fPIC -DPIC -DPIC conftest.cpp >&5
configure:13846: $? = 0
configure:13859: result: yes
configure:13882: checking if g++ static flag -static works
configure:13910: result: no
configure:13922: checking if g++ supports -c -o file.o
configure:13943: g++ -c -g -O2  -o out/conftest2.o conftest.cpp >&5
configure:13947: $? = 0
configure:13969: result: yes
configure:13974: checking if g++ supports -c -o file.o
configure:14021: result: yes
configure:14051: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:14087: result: yes
configure:14228: checking dynamic linker characteristics
configure:14899: result: GNU/Linux ld.so
configure:14952: checking how to hardcode library paths into programs
configure:14977: result: immediate
configure:15054: checking for a BSD-compatible install
configure:15122: result: /usr/bin/install -c
configure:15133: checking whether build environment is sane
configure:15188: result: yes
configure:15339: checking for a thread-safe mkdir -p
configure:15378: result: /usr/bin/mkdir -p
configure:15381: checking whether make sets $(MAKE)
configure:15403: result: yes
configure:15433: checking for style of include used by make
configure:15461: result: GNU
configure:15495: checking whether make supports nested variables
configure:15512: result: yes
configure:15597: checking dependency style of gcc
configure:15708: result: none
configure:15725: checking dependency style of g++
configure:15836: result: none
configure:15855: checking for C/C++ restrict keyword
configure:15880: gcc -c -g -O2  conftest.c >&5
configure:15880: $? = 0
configure:15888: result: __restrict
configure:15901: checking for working volatile
configure:15920: gcc -c -g -O2  conftest.c >&5
configure:15920: $? = 0
configure:15927: result: yes
configure:15935: checking for inline
configure:15951: gcc -c -g -O2  conftest.c >&5
configure:15951: $? = 0
configure:15959: result: inline
configure:16012: checking for libgcrypt-config
configure:16030: found /usr/bin/libgcrypt-config
configure:16043: result: /usr/bin/libgcrypt-config
configure:16060: checking for LIBGCRYPT - version >= 1.2.3
configure:16094: result: yes (1.5.3)
configure:16106: checking LIBGCRYPT API version
configure:16109: result: okay
configure:16124: checking gcrypt.h usability
configure:16124: gcc -c -g -O2  conftest.c >&5
configure:16124: $? = 0
configure:16124: result: yes
configure:16124: checking gcrypt.h presence
configure:16124: gcc -E  conftest.c
configure:16124: $? = 0
configure:16124: result: yes
configure:16124: checking for gcrypt.h
configure:16124: result: yes
configure:16283: checking for ranlib
configure:16310: result: ranlib
configure:16341: checking for genorated automake files
configure:16353: result: found
configure:16359: checking whether to enable maintainer-specific portions of Makefiles
configure:16368: result: no
configure:16449: checking for pkg-config
configure:16467: found /usr/bin/pkg-config
configure:16479: result: /usr/bin/pkg-config
configure:16504: checking pkg-config is at least version 0.9.0
configure:16507: result: yes
configure:16517: checking for COMMONCPP
configure:16524: $PKG_CONFIG --exists --print-errors "commoncpp >= $REQUIRES"
configure:16527: $? = 0
configure:16541: $PKG_CONFIG --exists --print-errors "commoncpp >= $REQUIRES"
configure:16544: $? = 0
configure:16602: result: yes
configure:16619: checking for debugging
configure:16632: result: no
configure:16634: checking for profiling
configure:16646: result: no
configure:16723: checking for doxygen
configure:16741: found /usr/bin/doxygen
configure:16754: result: /usr/bin/doxygen
configure:16882: checking that generated files are newer than configure
configure:16888: result: done
configure:16931: creating ./config.status

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

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

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

on pcal

config.status:1193: creating Makefile
config.status:1193: creating m4/Makefile
config.status:1193: creating src/Makefile
config.status:1193: creating src/ccrtp/Makefile
config.status:1193: creating doc/Makefile
config.status:1193: creating demo/Makefile
config.status:1193: creating phone/Makefile
config.status:1193: creating w32/Makefile
config.status:1193: creating ccrtp.spec
config.status:1193: creating libccrtp.spec
config.status:1193: creating ccrtp.list
config.status:1301: WARNING:  'ccrtp.list.in' seems to ignore the --datarootdir setting
config.status:1193: creating libccrtp.pc
config.status:1193: creating src/ccrtp/crypto/Makefile
config.status:1193: creating directive
config.status:1193: creating ccrtp-config.h
config.status:1422: executing libtool commands
config.status:1422: executing depfiles commands

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

ac_cv_build=x86_64-unknown-linux-gnu
ac_cv_c_compiler_gnu=yes
ac_cv_c_inline=inline
ac_cv_c_restrict=__restrict
ac_cv_c_volatile=yes
ac_cv_cxx_compiler_gnu=yes
ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_COMMONCPP_CFLAGS_set=
ac_cv_env_COMMONCPP_CFLAGS_value=
ac_cv_env_COMMONCPP_LIBS_set=
ac_cv_env_COMMONCPP_LIBS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXCPP_set=
ac_cv_env_CXXCPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_PKG_CONFIG_LIBDIR_set=
ac_cv_env_PKG_CONFIG_LIBDIR_value=
ac_cv_env_PKG_CONFIG_PATH_set=
ac_cv_env_PKG_CONFIG_PATH_value=
ac_cv_env_PKG_CONFIG_set=
ac_cv_env_PKG_CONFIG_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_header_dlfcn_h=yes
ac_cv_header_gcrypt_h=yes
ac_cv_header_inttypes_h=yes
ac_cv_header_memory_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_stat_h=yes
ac_cv_header_sys_types_h=yes
ac_cv_header_unistd_h=yes
ac_cv_host=x86_64-unknown-linux-gnu
ac_cv_objext=o
ac_cv_path_DOXYGEN=/usr/bin/doxygen
ac_cv_path_EGREP='/usr/bin/grep -E'
ac_cv_path_FGREP='/usr/bin/grep -F'
ac_cv_path_GREP=/usr/bin/grep
ac_cv_path_LIBGCRYPT_CONFIG=/usr/bin/libgcrypt-config
ac_cv_path_SED=/usr/bin/sed
ac_cv_path_ac_pt_PKG_CONFIG=/usr/bin/pkg-config
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_mkdir=/usr/bin/mkdir
ac_cv_prog_AWK=gawk
ac_cv_prog_CPP='gcc -E'
ac_cv_prog_CXXCPP='g++ -E'
ac_cv_prog_ac_ct_AR=ar
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_ac_ct_CXX=g++
ac_cv_prog_ac_ct_DLLTOOL=dlltool
ac_cv_prog_ac_ct_OBJDUMP=objdump
ac_cv_prog_ac_ct_RANLIB=ranlib
ac_cv_prog_ac_ct_STRIP=strip
ac_cv_prog_cc_c89=
ac_cv_prog_cc_g=yes
ac_cv_prog_cxx_g=yes
ac_cv_prog_make_make_set=yes
ac_cv_target=x86_64-unknown-linux-gnu
am_cv_CC_dependencies_compiler_type=none
am_cv_CXX_dependencies_compiler_type=none
am_cv_make_support_nested_variables=yes
lt_cv_ar_at_file=@
lt_cv_archive_cmds_need_lc=no
lt_cv_deplibs_check_method=pass_all
lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
lt_cv_ld_reload_flag=-r
lt_cv_nm_interface='BSD nm'
lt_cv_objdir=.libs
lt_cv_path_LD=/usr/bin/ld
lt_cv_path_LDCXX='/usr/bin/ld -m elf_x86_64'
lt_cv_path_NM='/usr/bin/nm -B'
lt_cv_path_mainfest_tool=no
lt_cv_prog_compiler_c_o=yes
lt_cv_prog_compiler_c_o_CXX=yes
lt_cv_prog_compiler_pic='-fPIC -DPIC'
lt_cv_prog_compiler_pic_CXX='-fPIC -DPIC'
lt_cv_prog_compiler_pic_works=yes
lt_cv_prog_compiler_pic_works_CXX=yes
lt_cv_prog_compiler_rtti_exceptions=no
lt_cv_prog_compiler_static_works=no
lt_cv_prog_compiler_static_works_CXX=no
lt_cv_prog_gnu_ld=yes
lt_cv_prog_gnu_ldcxx=yes
lt_cv_sharedlib_from_linklib_cmd='printf %s\n'
lt_cv_shlibpath_overrides_runpath=no
lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[	 ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[	 ][	 ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | sed '\''/ __gnu_lto/d'\'''
lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\)[ ]*$/  {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/  {"\2", (void *) \&\2},/p'\'''
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \([^ ]*\)[ ]*$/  {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \(lib[^ ]*\)$/  {"\2", (void *) \&\2},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/  {"lib\2", (void *) \&\2},/p'\'''
lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\'''
lt_cv_sys_max_cmd_len=1572864
lt_cv_to_host_file_cmd=func_convert_file_noop
lt_cv_to_tool_file_cmd=func_convert_file_noop
pkg_cv_COMMONCPP_CFLAGS='-Wno-long-long -fexceptions -DNEW_STDCPP -pthread -fno-check-new -finline -fvisibility=hidden -DUCOMMON_VISIBILITY=1 '
pkg_cv_COMMONCPP_LIBS='-lcommoncpp -lucommon -lrt -ldl -lpthread '

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

ACLOCAL='${SHELL} /home/lisional/git/sflphone-android/jni/libccrtp/sources/autoconf/missing aclocal-1.13'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='$${TAR-tar}'
AM_BACKSLASH='\'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
AM_DEFAULT_VERBOSITY='1'
AM_V='$(V)'
AR='ar'
AS='as'
AUTOCONF='${SHELL} /home/lisional/git/sflphone-android/jni/libccrtp/sources/autoconf/missing autoconf'
AUTOHEADER='${SHELL} /home/lisional/git/sflphone-android/jni/libccrtp/sources/autoconf/missing autoheader'
AUTOMAKE='${SHELL} /home/lisional/git/sflphone-android/jni/libccrtp/sources/autoconf/missing automake-1.13'
AWK='gawk'
CC='gcc'
CCDEPMODE='depmode=none'
CFLAGS='-g -O2'
COMMONCPP_CFLAGS='-Wno-long-long -fexceptions -DNEW_STDCPP -pthread -fno-check-new -finline -fvisibility=hidden -DUCOMMON_VISIBILITY=1 '
COMMONCPP_LIBS='-lcommoncpp -lucommon -lrt -ldl -lpthread '
CPP='gcc -E'
CPPFLAGS=''
CXX='g++'
CXXCPP='g++ -E'
CXXDEPMODE='depmode=none'
CXXFLAGS='-g -O2 -Wno-long-long -fexceptions -DNEW_STDCPP -pthread -fno-check-new -finline -fvisibility=hidden -DUCOMMON_VISIBILITY=1 '
CYGPATH_W='echo'
DEFS='-DHAVE_CONFIG_H'
DEPDIR='.deps'
DLLTOOL='dlltool'
DOXYGEN='/usr/bin/doxygen'
DOXY_FALSE='#'
DOXY_TRUE=''
DSYMUTIL=''
DUMPBIN=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='/usr/bin/grep -E'
EXEEXT=''
FGREP='/usr/bin/grep -F'
FTPDIR=''
GNULIBS='-lcommoncpp -lucommon -lrt -ldl -lpthread  -lgcrypt -ldl -lgpg-error '
GREP='/usr/bin/grep'
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
KDOC_DIR='$(top_srcdir)/doc'
LD='/usr/bin/ld -m elf_x86_64'
LDFLAGS=''
LIBGCRYPT_CFLAGS=''
LIBGCRYPT_CONFIG='/usr/bin/libgcrypt-config'
LIBGCRYPT_LIBS='-lgcrypt -ldl -lgpg-error'
LIBOBJS=''
LIBS='-lgcrypt -ldl -lgpg-error '
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
LIPO=''
LN_S='ln -s'
LTLIBOBJS=''
LT_CCXX_VERSION='-version-info 2:5:0'
LT_MAJOR='2'
LT_MINOR='0'
LT_RELEASE=''
LT_SUBVER='2.0'
LT_VERSION='2:5:0'
MAINT='#'
MAINTAINER_MODE_FALSE=''
MAINTAINER_MODE_TRUE='#'
MAKEINFO='${SHELL} /home/lisional/git/sflphone-android/jni/libccrtp/sources/autoconf/missing makeinfo'
MANIFEST_TOOL=':'
MKDIR_P='/usr/bin/mkdir -p'
NM='/usr/bin/nm -B'
NMEDIT=''
OBJDUMP='objdump'
OBJEXT='o'
OTOOL64=''
OTOOL=''
PACKAGE='ccrtp'
PACKAGE_BUGREPORT=''
PACKAGE_NAME='ccrtp'
PACKAGE_STRING='ccrtp 2.0.8'
PACKAGE_TARNAME='ccrtp'
PACKAGE_URL=''
PACKAGE_VERSION='2.0.8'
PATH_SEPARATOR=':'
PKG_CONFIG='/usr/bin/pkg-config'
PKG_CONFIG_LIBDIR=''
PKG_CONFIG_PATH=''
RANLIB='ranlib'
SED='/usr/bin/sed'
SET_MAKE=''
SHELL='/bin/sh'
SRTP_GCRYPT_FALSE='#'
SRTP_GCRYPT_TRUE=''
SRTP_OPENSSL_FALSE=''
SRTP_OPENSSL_TRUE='#'
STRIP='strip'
VERSION='2.0.8'
WARN_FLAGS='-fno-strict-aliasing -Wall -ansi -pedantic'
ac_ct_AR='ar'
ac_ct_CC='gcc'
ac_ct_CXX='g++'
ac_ct_DUMPBIN=''
am__EXEEXT_FALSE=''
am__EXEEXT_TRUE='#'
am__fastdepCC_FALSE=''
am__fastdepCC_TRUE='#'
am__fastdepCXX_FALSE=''
am__fastdepCXX_TRUE='#'
am__include='include'
am__isrc=''
am__leading_dot='.'
am__nodep='_no'
am__quote=''
am__tar='$${TAR-tar} chof - "$$tardir"'
am__untar='$${TAR-tar} xf -'
bindir='${exec_prefix}/bin'
build='x86_64-unknown-linux-gnu'
build_alias=''
build_cpu='x86_64'
build_os='linux-gnu'
build_vendor='unknown'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='${prefix}'
host='x86_64-unknown-linux-gnu'
host_alias=''
host_cpu='x86_64'
host_os='linux-gnu'
host_vendor='unknown'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='${SHELL} /home/lisional/git/sflphone-android/jni/libccrtp/sources/autoconf/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='$(MKDIR_P)'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/usr/local'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target='x86_64-unknown-linux-gnu'
target_alias=''
target_cpu='x86_64'
target_os='linux-gnu'
target_vendor='unknown'

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

/* confdefs.h */
#define PACKAGE_NAME "ccrtp"
#define PACKAGE_TARNAME "ccrtp"
#define PACKAGE_VERSION "2.0.8"
#define PACKAGE_STRING "ccrtp 2.0.8"
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL ""
#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_DLFCN_H 1
#define LT_OBJDIR ".libs/"
#define PACKAGE "ccrtp"
#define VERSION "2.0.8"
#define restrict __restrict
#define SRTP_SUPPORT /**/
#define HAVE_GCRYPT_H 1

configure: exit 0
