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

It was created by libnetfilter_cthelper configure 1.0.0, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $ ./configure 

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

hostname = xdsun2.mtv.corp.google.com
uname -m = x86_64
uname -r = 5.7.17-1rodete4-amd64
uname -s = Linux
uname -v = #1 SMP Debian 5.7.17-1rodete4 (2020-10-01)

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

/bin/arch              = unknown
/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/local/google/eurekasource/chromium/src/third_party/fuchsia-sdk/sdk/bin
PATH: /usr/local/google/eurekasource/chromium/src/third_party/fuchsia-sdk/sdk/tools
PATH: /usr/lib/google-golang/bin
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/xdsun/depot_tools
PATH: /usr/local/google/home/xdsun/.local/bin
PATH: /usr/local/google/home/xdsun/work/eureka_1210/out/host/linux-x86/bin
PATH: /usr/local/google/home/xdsun/work/eureka_1210/development/emulator/qtools


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

configure:2163: checking build system type
configure:2177: result: x86_64-unknown-linux-gnu
configure:2197: checking host system type
configure:2210: result: x86_64-unknown-linux-gnu
configure:2250: checking for a BSD-compatible install
configure:2318: result: /usr/bin/install -c
configure:2329: checking whether build environment is sane
configure:2379: result: yes
configure:2520: checking for a thread-safe mkdir -p
configure:2559: result: /bin/mkdir -p
configure:2572: checking for gawk
configure:2588: found /usr/bin/gawk
configure:2599: result: gawk
configure:2610: checking whether make sets $(MAKE)
configure:2632: result: yes
configure:2707: checking how to create a pax tar archive
configure:2720: tar --version
tar (GNU tar) 1.30
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
configure:2723: $? = 0
configure:2763: tardir=conftest.dir && eval tar --format=posix -chf - "$tardir" >conftest.tar
configure:2766: $? = 0
configure:2770: tar -xf - <conftest.tar
configure:2773: $? = 0
configure:2786: result: gnutar
configure:2805: checking whether make supports nested variables
configure:2822: result: yes
configure:2888: checking for pkg-config
configure:2906: found /usr/bin/pkg-config
configure:2918: result: /usr/bin/pkg-config
configure:2943: checking pkg-config is at least version 0.9.0
configure:2946: result: yes
configure:2956: checking for LIBMNL
configure:2963: $PKG_CONFIG --exists --print-errors "libmnl >= 1.0.0"
configure:2966: $? = 0
configure:2980: $PKG_CONFIG --exists --print-errors "libmnl >= 1.0.0"
configure:2983: $? = 0
configure:3041: result: yes
configure:3094: checking for gcc
configure:3110: found /usr/bin/gcc
configure:3121: result: gcc
configure:3350: checking for C compiler version
configure:3359: gcc --version >&5
gcc (Debian 10.2.0-16) 10.2.0
Copyright (C) 2020 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:3370: $? = 0
configure:3359: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/10/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 10.2.0-16' --with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-10 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-10-WKCF3O/gcc-10-10.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-10-WKCF3O/gcc-10-10.2.0/debian/tmp-gcn/usr,hsa --without-cuda-driver --enable-checking=yes,extra,rtl --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.2.0 (Debian 10.2.0-16) 
... rest of stderr output deleted ...
configure:3370: $? = 0
configure:3359: gcc -V >&5
gcc: error: unrecognized command-line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:3370: $? = 1
configure:3359: gcc -qversion >&5
gcc: error: unrecognized command-line option '-qversion'; did you mean '--version'?
gcc: fatal error: no input files
compilation terminated.
configure:3370: $? = 1
configure:3390: checking whether the C compiler works
configure:3412: gcc    conftest.c  >&5
configure:3416: $? = 0
configure:3464: result: yes
configure:3467: checking for C compiler default output file name
configure:3469: result: a.out
configure:3475: checking for suffix of executables
configure:3482: gcc -o conftest    conftest.c  >&5
configure:3486: $? = 0
configure:3508: result: 
configure:3530: checking whether we are cross compiling
configure:3538: gcc -o conftest    conftest.c  >&5
configure:3542: $? = 0
configure:3549: ./conftest
configure:3553: $? = 0
configure:3568: result: no
configure:3573: checking for suffix of object files
configure:3595: gcc -c   conftest.c >&5
configure:3599: $? = 0
configure:3620: result: o
configure:3624: checking whether we are using the GNU C compiler
configure:3643: gcc -c   conftest.c >&5
configure:3643: $? = 0
configure:3652: result: yes
configure:3661: checking whether gcc accepts -g
configure:3681: gcc -c -g  conftest.c >&5
configure:3681: $? = 0
configure:3722: result: yes
configure:3739: checking for gcc option to accept ISO C89
configure:3802: gcc  -c -g -O2  conftest.c >&5
configure:3802: $? = 0
configure:3815: result: none needed
configure:3846: checking for style of include used by make
configure:3874: result: GNU
configure:3900: checking dependency style of gcc
configure:4011: result: gcc3
configure:4027: checking whether gcc and cc understand -c and -o together
configure:4058: gcc -c conftest.c -o conftest2.o >&5
configure:4062: $? = 0
configure:4068: gcc -c conftest.c -o conftest2.o >&5
configure:4072: $? = 0
configure:4083: cc -c conftest.c >&5
configure:4087: $? = 0
configure:4095: cc -c conftest.c -o conftest2.o >&5
configure:4099: $? = 0
configure:4105: cc -c conftest.c -o conftest2.o >&5
configure:4109: $? = 0
configure:4127: result: yes
configure:4229: checking how to print strings
configure:4256: result: printf
configure:4277: checking for a sed that does not truncate output
configure:4341: result: /bin/sed
configure:4359: checking for grep that handles long lines and -e
configure:4417: result: /bin/grep
configure:4422: checking for egrep
configure:4484: result: /bin/grep -E
configure:4489: checking for fgrep
configure:4551: result: /bin/grep -F
configure:4586: checking for ld used by gcc
configure:4653: result: /usr/bin/ld
configure:4660: checking if the linker (/usr/bin/ld) is GNU ld
configure:4675: result: yes
configure:4687: checking for BSD- or MS-compatible name lister (nm)
configure:4736: result: /usr/bin/nm -B
configure:4866: checking the name lister (/usr/bin/nm -B) interface
configure:4873: gcc -c -g -O2  conftest.c >&5
configure:4876: /usr/bin/nm -B "conftest.o"
configure:4879: output
0000000000000000 B some_variable
configure:4886: result: BSD nm
configure:4889: checking whether ln -s works
configure:4893: result: yes
configure:4901: checking the maximum length of command line arguments
configure:5031: result: 1572864
configure:5048: checking whether the shell understands some XSI constructs
configure:5058: result: yes
configure:5062: checking whether the shell understands "+="
configure:5068: result: yes
configure:5103: checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format
configure:5143: result: func_convert_file_noop
configure:5150: checking how to convert x86_64-unknown-linux-gnu file names to toolchain format
configure:5170: result: func_convert_file_noop
configure:5177: checking for /usr/bin/ld option to reload object files
configure:5184: result: -r
configure:5258: checking for objdump
configure:5274: found /usr/bin/objdump
configure:5285: result: objdump
configure:5317: checking how to recognize dependent libraries
configure:5515: result: pass_all
configure:5600: checking for dlltool
configure:5630: result: no
configure:5660: checking how to associate runtime and link libraries
configure:5687: result: printf %s\n
configure:5748: checking for ar
configure:5764: found /usr/bin/ar
configure:5775: result: ar
configure:5812: checking for archiver @FILE support
configure:5829: gcc -c -g -O2  conftest.c >&5
configure:5829: $? = 0
configure:5832: ar cru libconftest.a @conftest.lst >&5
ar: `u' modifier ignored since `D' is the default (see `U')
configure:5835: $? = 0
configure:5840: ar cru libconftest.a @conftest.lst >&5
ar: `u' modifier ignored since `D' is the default (see `U')
ar: conftest.o: No such file or directory
configure:5843: $? = 1
configure:5855: result: @
configure:5913: checking for strip
configure:5929: found /usr/bin/strip
configure:5940: result: strip
configure:6012: checking for ranlib
configure:6028: found /usr/bin/ranlib
configure:6039: result: ranlib
configure:6141: checking command to parse /usr/bin/nm -B output from gcc object
configure:6261: gcc -c -g -O2  conftest.c >&5
configure:6264: $? = 0
configure:6268: /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:6271: $? = 0
configure:6337: gcc -o conftest -g -O2   conftest.c conftstm.o >&5
configure:6340: $? = 0
configure:6378: result: ok
configure:6415: checking for sysroot
configure:6445: result: no
configure:6522: gcc -c -g -O2  conftest.c >&5
configure:6525: $? = 0
configure:6701: checking for mt
configure:6717: found /bin/mt
configure:6728: result: mt
configure:6751: checking if mt is a manifest tool
configure:6757: mt '-?'
configure:6765: result: no
configure:7407: checking how to run the C preprocessor
configure:7438: gcc -E  conftest.c
configure:7438: $? = 0
configure:7452: gcc -E  conftest.c
conftest.c:11:10: fatal error: ac_nonexistent.h: No such file or directory
   11 | #include <ac_nonexistent.h>
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:7452: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libnetfilter_cthelper"
| #define PACKAGE_TARNAME "libnetfilter_cthelper"
| #define PACKAGE_VERSION "1.0.0"
| #define PACKAGE_STRING "libnetfilter_cthelper 1.0.0"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define PACKAGE "libnetfilter_cthelper"
| #define VERSION "1.0.0"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:7477: result: gcc -E
configure:7497: gcc -E  conftest.c
configure:7497: $? = 0
configure:7511: gcc -E  conftest.c
conftest.c:11:10: fatal error: ac_nonexistent.h: No such file or directory
   11 | #include <ac_nonexistent.h>
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:7511: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libnetfilter_cthelper"
| #define PACKAGE_TARNAME "libnetfilter_cthelper"
| #define PACKAGE_VERSION "1.0.0"
| #define PACKAGE_STRING "libnetfilter_cthelper 1.0.0"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define PACKAGE "libnetfilter_cthelper"
| #define VERSION "1.0.0"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:7540: checking for ANSI C header files
configure:7560: gcc -c -g -O2  conftest.c >&5
configure:7560: $? = 0
configure:7633: gcc -o conftest -g -O2   conftest.c  >&5
configure:7633: $? = 0
configure:7633: ./conftest
configure:7633: $? = 0
configure:7644: result: yes
configure:7657: checking for sys/types.h
configure:7657: gcc -c -g -O2  conftest.c >&5
configure:7657: $? = 0
configure:7657: result: yes
configure:7657: checking for sys/stat.h
configure:7657: gcc -c -g -O2  conftest.c >&5
configure:7657: $? = 0
configure:7657: result: yes
configure:7657: checking for stdlib.h
configure:7657: gcc -c -g -O2  conftest.c >&5
configure:7657: $? = 0
configure:7657: result: yes
configure:7657: checking for string.h
configure:7657: gcc -c -g -O2  conftest.c >&5
configure:7657: $? = 0
configure:7657: result: yes
configure:7657: checking for memory.h
configure:7657: gcc -c -g -O2  conftest.c >&5
configure:7657: $? = 0
configure:7657: result: yes
configure:7657: checking for strings.h
configure:7657: gcc -c -g -O2  conftest.c >&5
configure:7657: $? = 0
configure:7657: result: yes
configure:7657: checking for inttypes.h
configure:7657: gcc -c -g -O2  conftest.c >&5
configure:7657: $? = 0
configure:7657: result: yes
configure:7657: checking for stdint.h
configure:7657: gcc -c -g -O2  conftest.c >&5
configure:7657: $? = 0
configure:7657: result: yes
configure:7657: checking for unistd.h
configure:7657: gcc -c -g -O2  conftest.c >&5
configure:7657: $? = 0
configure:7657: result: yes
configure:7671: checking for dlfcn.h
configure:7671: gcc -c -g -O2  conftest.c >&5
configure:7671: $? = 0
configure:7671: result: yes
configure:7847: checking for objdir
configure:7862: result: .libs
configure:8133: checking if gcc supports -fno-rtti -fno-exceptions
configure:8151: gcc -c -g -O2  -fno-rtti -fno-exceptions conftest.c >&5
cc1: warning: command-line option '-fno-rtti' is valid for C++/D/ObjC++ but not for C
configure:8155: $? = 0
configure:8168: result: no
configure:8495: checking for gcc option to produce PIC
configure:8502: result: -fPIC -DPIC
configure:8510: checking if gcc PIC flag -fPIC -DPIC works
configure:8528: gcc -c -g -O2  -fPIC -DPIC -DPIC conftest.c >&5
configure:8532: $? = 0
configure:8545: result: yes
configure:8574: checking if gcc static flag -static works
configure:8602: result: yes
configure:8617: checking if gcc supports -c -o file.o
configure:8638: gcc -c -g -O2  -o out/conftest2.o conftest.c >&5
configure:8642: $? = 0
configure:8664: result: yes
configure:8672: checking if gcc supports -c -o file.o
configure:8719: result: yes
configure:8752: checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:9909: result: yes
configure:9946: checking whether -lc should be explicitly linked in
configure:9954: gcc -c -g -O2  conftest.c >&5
configure:9957: $? = 0
configure:9972: gcc -shared  -fPIC -DPIC conftest.o  -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /bin/grep  -lc  \>/dev/null 2\>\&1
configure:9975: $? = 0
configure:9989: result: no
configure:10149: checking dynamic linker characteristics
configure:10649: gcc -o conftest -g -O2   -Wl,-rpath -Wl,/foo conftest.c  >&5
configure:10649: $? = 0
configure:10883: result: GNU/Linux ld.so
configure:10990: checking how to hardcode library paths into programs
configure:11015: result: immediate
configure:11555: checking whether stripping libraries is possible
configure:11560: result: yes
configure:11595: checking if libtool supports shared libraries
configure:11597: result: yes
configure:11600: checking whether to build shared libraries
configure:11621: result: yes
configure:11624: checking whether to build static libraries
configure:11628: result: no
configure:11674: checking whether compiler accepts -fvisibility=hidden
configure:11683: gcc -c -g -O2 -fvisibility=hidden  conftest.c >&5
configure:11683: $? = 0
configure:11691: result: yes
configure:11843: creating ./config.status

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

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

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

on xdsun2.mtv.corp.google.com

config.status:1097: creating Makefile
config.status:1097: creating src/Makefile
config.status:1097: creating include/Makefile
config.status:1097: creating include/libnetfilter_cthelper/Makefile
config.status:1097: creating include/linux/Makefile
config.status:1097: creating include/linux/netfilter/Makefile
config.status:1097: creating examples/Makefile
config.status:1097: creating libnetfilter_cthelper.pc
config.status:1097: creating doxygen.cfg
config.status:1097: creating config.h
config.status:1326: executing depfiles commands
config.status:1326: executing libtool commands

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

ac_cv_build=x86_64-unknown-linux-gnu
ac_cv_c_compiler_gnu=yes
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_LIBMNL_CFLAGS_set=
ac_cv_env_LIBMNL_CFLAGS_value=
ac_cv_env_LIBMNL_LIBS_set=
ac_cv_env_LIBMNL_LIBS_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_fvisibility_hidden=yes
ac_cv_header_dlfcn_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_EGREP='/bin/grep -E'
ac_cv_path_FGREP='/bin/grep -F'
ac_cv_path_GREP=/bin/grep
ac_cv_path_SED=/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=/bin/mkdir
ac_cv_prog_AWK=gawk
ac_cv_prog_CPP='gcc -E'
ac_cv_prog_ac_ct_AR=ar
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_ac_ct_MANIFEST_TOOL=mt
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_cc_gcc_c_o=yes
ac_cv_prog_make_make_set=yes
am_cv_CC_dependencies_compiler_type=gcc3
am_cv_make_support_nested_variables=yes
am_cv_prog_tar_pax=gnutar
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_NM='/usr/bin/nm -B'
lt_cv_path_mainfest_tool=no
lt_cv_prog_compiler_c_o=yes
lt_cv_prog_compiler_pic='-fPIC -DPIC'
lt_cv_prog_compiler_pic_works=yes
lt_cv_prog_compiler_rtti_exceptions=no
lt_cv_prog_compiler_static_works=yes
lt_cv_prog_gnu_ld=yes
lt_cv_sharedlib_from_linklib_cmd='printf %s\n'
lt_cv_shlibpath_overrides_runpath=yes
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_LIBMNL_CFLAGS=
pkg_cv_LIBMNL_LIBS=-lmnl

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

ACLOCAL='${SHELL} /usr/local/google/home/xdsun/work/eureka_1210/external/libnetfilter_cthelper/build-aux/missing --run aclocal-1.11'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='$${TAR-tar}'
AM_BACKSLASH='\'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
AM_DEFAULT_VERBOSITY='0'
AM_V='$(V)'
AR='ar'
AUTOCONF='${SHELL} /usr/local/google/home/xdsun/work/eureka_1210/external/libnetfilter_cthelper/build-aux/missing --run autoconf'
AUTOHEADER='${SHELL} /usr/local/google/home/xdsun/work/eureka_1210/external/libnetfilter_cthelper/build-aux/missing --run autoheader'
AUTOMAKE='${SHELL} /usr/local/google/home/xdsun/work/eureka_1210/external/libnetfilter_cthelper/build-aux/missing --run automake-1.11'
AWK='gawk'
CC='gcc'
CCDEPMODE='depmode=gcc3'
CFLAGS='-g -O2'
CPP='gcc -E'
CPPFLAGS=''
CYGPATH_W='echo'
DEFS='-DHAVE_CONFIG_H'
DEPDIR='.deps'
DLLTOOL='false'
DSYMUTIL=''
DUMPBIN=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='/bin/grep -E'
EXEEXT=''
FGREP='/bin/grep -F'
GCC_FVISIBILITY_HIDDEN='-fvisibility=hidden'
GREP='/bin/grep'
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LD='/usr/bin/ld -m elf_x86_64'
LDFLAGS=''
LIBMNL_CFLAGS=''
LIBMNL_LIBS='-lmnl'
LIBOBJS=''
LIBS=''
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
LIPO=''
LN_S='ln -s'
LTLIBOBJS=''
MAKEINFO='${SHELL} /usr/local/google/home/xdsun/work/eureka_1210/external/libnetfilter_cthelper/build-aux/missing --run makeinfo'
MANIFEST_TOOL=':'
MKDIR_P='/bin/mkdir -p'
NM='/usr/bin/nm -B'
NMEDIT=''
OBJDUMP='objdump'
OBJEXT='o'
OTOOL64=''
OTOOL=''
PACKAGE='libnetfilter_cthelper'
PACKAGE_BUGREPORT=''
PACKAGE_NAME='libnetfilter_cthelper'
PACKAGE_STRING='libnetfilter_cthelper 1.0.0'
PACKAGE_TARNAME='libnetfilter_cthelper'
PACKAGE_URL=''
PACKAGE_VERSION='1.0.0'
PATH_SEPARATOR=':'
PKG_CONFIG='/usr/bin/pkg-config'
PKG_CONFIG_LIBDIR=''
PKG_CONFIG_PATH=''
RANLIB='ranlib'
SED='/bin/sed'
SET_MAKE=''
SHELL='/bin/sh'
STRIP='strip'
VERSION='1.0.0'
ac_ct_AR='ar'
ac_ct_CC='gcc'
ac_ct_DUMPBIN=''
am__EXEEXT_FALSE=''
am__EXEEXT_TRUE='#'
am__fastdepCC_FALSE='#'
am__fastdepCC_TRUE=''
am__include='include'
am__isrc=''
am__leading_dot='.'
am__nodep='_no'
am__quote=''
am__tar='tar --format=posix -chf - "$$tardir"'
am__untar='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} /usr/local/google/home/xdsun/work/eureka_1210/external/libnetfilter_cthelper/build-aux/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='/bin/mkdir -p'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/usr/local'
program_transform_name='s,x,x,'
psdir='${docdir}'
regular_CFLAGS='-Wall -Waggregate-return -Wmissing-declarations 	-Wmissing-prototypes -Wshadow -Wstrict-prototypes 	-Wformat=2 -pipe'
regular_CPPFLAGS='-D_FILE_OFFSET_BITS=64 -D_REENTRANT'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

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

/* confdefs.h */
#define PACKAGE_NAME "libnetfilter_cthelper"
#define PACKAGE_TARNAME "libnetfilter_cthelper"
#define PACKAGE_VERSION "1.0.0"
#define PACKAGE_STRING "libnetfilter_cthelper 1.0.0"
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL ""
#define PACKAGE "libnetfilter_cthelper"
#define VERSION "1.0.0"
#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 HAVE_VISIBILITY_HIDDEN 1

configure: exit 0
