annotate src/capnproto-git-20161025/c++/configure.ac @ 157:570d27da3fb5

Update exclusion list
author Chris Cannam <cannam@all-day-breakfast.com>
date Fri, 25 Jan 2019 13:49:22 +0000
parents 1ac99bfc383d
children
rev   line source
cannam@133 1 ## Process this file with autoconf to produce configure.
cannam@133 2
cannam@133 3 AC_INIT([Capn Proto],[0.6-dev],[capnproto@googlegroups.com],[capnproto-c++])
cannam@133 4
cannam@133 5 AC_CONFIG_SRCDIR([src/capnp/layout.c++])
cannam@133 6 AC_CONFIG_AUX_DIR([build-aux])
cannam@133 7 AC_CONFIG_HEADERS([config.h])
cannam@133 8 AC_CONFIG_MACRO_DIR([m4])
cannam@133 9
cannam@133 10 # autoconf's default CXXFLAGS are usually "-g -O2". A far more reasonable
cannam@133 11 # default is -O2 -NDEBUG.
cannam@133 12 AS_IF([test "x${ac_cv_env_CFLAGS_set}" = "x"],
cannam@133 13 [CFLAGS="-O2 -DNDEBUG"])
cannam@133 14 AS_IF([test "x${ac_cv_env_CXXFLAGS_set}" = "x"],
cannam@133 15 [CXXFLAGS="-O2 -DNDEBUG"])
cannam@133 16
cannam@133 17 AM_INIT_AUTOMAKE([tar-ustar])
cannam@133 18
cannam@133 19 AC_ARG_WITH([external-capnp],
cannam@133 20 [AS_HELP_STRING([--with-external-capnp],
cannam@133 21 [use the system capnp binary (or the one specified with $CAPNP) instead of compiling a new
cannam@133 22 one (useful for cross-compiling)])],
cannam@133 23 [external_capnp=yes],[external_capnp=no])
cannam@133 24
cannam@133 25 AC_ARG_ENABLE([reflection], [
cannam@133 26 AS_HELP_STRING([--disable-reflection], [
cannam@133 27 compile Cap'n Proto in "lite mode", in which all reflection APIs (schema.h, dynamic.h, etc.)
cannam@133 28 are not included. Produces a smaller library at the cost of features. All programs built
cannam@133 29 against the library MUST be compiled with -DCAPNP_LITE=1. Note that because the compiler
cannam@133 30 itself uses reflection in its implementation, you must also use --with-external-capnp when
cannam@133 31 using this option.])
cannam@133 32 ], [
cannam@133 33 case "${enableval}" in
cannam@133 34 yes)
cannam@133 35 lite_mode=no
cannam@133 36 ;;
cannam@133 37 no)
cannam@133 38 lite_mode=yes
cannam@133 39 AS_IF([test "$external_capnp" != "yes"], [
cannam@133 40 AC_MSG_ERROR([you must specify --with-external-capnp when using --disable-reflection])
cannam@133 41 ])
cannam@133 42 ;;
cannam@133 43 *)
cannam@133 44 AC_MSG_ERROR([bad value ${enableval} for --enable-reflection])
cannam@133 45 ;;
cannam@133 46 esac
cannam@133 47 ], [lite_mode=no])
cannam@133 48
cannam@133 49 # Checks for programs.
cannam@133 50 AC_PROG_CC
cannam@133 51 AC_PROG_CXX
cannam@133 52 AC_LANG([C++])
cannam@133 53 AX_CXX_COMPILE_STDCXX_11
cannam@133 54
cannam@133 55 AS_CASE("${host_os}", *mingw*, [
cannam@133 56 # We don't use pthreads on MinGW.
cannam@133 57 PTHREAD_CFLAGS="-mthreads"
cannam@133 58 PTHREAD_LIBS=""
cannam@133 59 PTHREAD_CC=""
cannam@133 60 AC_SUBST(PTHREAD_LIBS)
cannam@133 61 AC_SUBST(PTHREAD_CFLAGS)
cannam@133 62 AC_SUBST(PTHREAD_CC)
cannam@133 63 ], *, [
cannam@133 64 ACX_PTHREAD
cannam@133 65 ])
cannam@133 66
cannam@133 67 LT_INIT
cannam@133 68
cannam@133 69 AS_IF([test "$external_capnp" != "no"], [
cannam@133 70 AS_IF([test "x$CAPNP" = "x"], [CAPNP="capnp"], [with_capnp=yes])
cannam@133 71 AS_IF([test "x$CAPNPC_CXX" = "x"], [
cannam@133 72 # CAPNPC_CXX was not specified. Choose a reasonable default.
cannam@133 73 AS_CASE([$CAPNP], [*/*], [
cannam@133 74 # $CAPNP contains a slash, so it's not on $PATH. Assume capnpc-c++ is not either, but is
cannam@133 75 # in the same directory.
cannam@133 76 CAPNPC_CXX=`dirname $CAPNP`/capnpc-c++
cannam@133 77 ], [
cannam@133 78 # $CAPNP is on $PATH, so tell it to find the plugin on $PATH as well.
cannam@133 79 CAPNPC_CXX="c++"
cannam@133 80 ])
cannam@133 81 ])
cannam@133 82 AC_SUBST([CAPNP])
cannam@133 83 AC_SUBST([CAPNPC_CXX])
cannam@133 84 ])
cannam@133 85 AM_CONDITIONAL([USE_EXTERNAL_CAPNP], [test "$external_capnp" != "no"])
cannam@133 86
cannam@133 87 AM_CONDITIONAL([LITE_MODE], [test "$lite_mode" = "yes"])
cannam@133 88
cannam@133 89 AS_IF([test "$lite_mode" = "yes"], [
cannam@133 90 CXXFLAGS="-DCAPNP_LITE $CXXFLAGS"
cannam@133 91 CAPNP_LITE_FLAG=-DCAPNP_LITE
cannam@133 92 ])
cannam@133 93 AC_SUBST([CAPNP_LITE_FLAG])
cannam@133 94
cannam@133 95 AC_SEARCH_LIBS(sched_yield, rt)
cannam@133 96
cannam@133 97 # Users will need to use the same -stdlib as us so we'd better let pkg-config know about it.
cannam@133 98 STDLIB_FLAG=`echo "$CXX $CXXFLAGS" | grep -o ' [[-]]stdlib=[[^ ]]*'`
cannam@133 99 AC_SUBST([STDLIB_FLAG])
cannam@133 100
cannam@133 101 LIBS="$PTHREAD_LIBS $LIBS"
cannam@133 102 CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
cannam@133 103
cannam@133 104 AC_CONFIG_FILES([Makefile capnp.pc capnp-rpc.pc capnp-json.pc kj.pc kj-async.pc])
cannam@133 105 AC_OUTPUT