AC_INIT(msgpack/unpack_template.h) AC_CONFIG_AUX_DIR(ac) AM_INIT_AUTOMAKE(msgpack, 0.4.1) AC_CONFIG_HEADER(config.h) AC_SUBST(CFLAGS) if test "" = "$CFLAGS"; then CFLAGS="-g -O4" fi AC_PROG_CC CFLAGS="-O4 -Wall $CFLAGS -I.." AC_MSG_CHECKING([if c++ api is enabled]) AC_ARG_ENABLE(cxx, AS_HELP_STRING([--disable-cxx], [don't build c++ api.]) ) AC_MSG_RESULT($enable_cxx) if test "$enable_cxx" != "no"; then AC_SUBST(CXXFLAGS) if test "" = "$CXXFLAGS"; then CXXFLAGS="-g -O4" fi fi # FIXME enable_cxx AC_PROG_CXX CXXFLAGS="-O4 -Wall $CXXFLAGS -I.. -I../c" # FIXME enable_cxx AC_LANG_PUSH([C++]) AC_CHECK_HEADERS(tr1/unordered_map) AC_CHECK_HEADERS(tr1/unordered_set) AC_LANG_POP([C++]) AC_CACHE_CHECK([for __sync_* atomic operations], msgpack_cv_atomic_ops, [ AC_TRY_LINK([ int atomic_sub(int i) { return __sync_sub_and_fetch(&i, 1); } int atomic_add(int i) { return __sync_add_and_fetch(&i, 1); } ], [], msgpack_cv_atomic_ops="yes") ]) if test "$msgpack_cv_atomic_ops" != "yes"; then AC_MSG_ERROR([__sync_* atomic operations are not supported. Note that gcc < 4.1 is not supported. If you are using gcc >= 4.1 and the default target CPU architecture is "i386", try to add CFLAGS="--march=i686" and CXXFLAGS="-march=i668" options to ./configure as follows: $ ./configure CFLAGS="-march=i686" CXXFLAGS="-march=i686" ]) fi AM_CONDITIONAL(ENABLE_CXX, test "$enable_cxx" != "no") AC_PROG_LIBTOOL AC_OUTPUT([Makefile c/Makefile cpp/Makefile])