annotate src/capnproto-0.6.0/c++/configure.ac @ 83:ae30d91d2ffe

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