AC_PREREQ(2.59) AC_INIT(src/torrent.cpp) AM_INIT_AUTOMAKE(libtorrent, 0.12) AM_CONFIG_HEADER(config.h) AC_PROG_CC AC_PROG_CPP AC_PROG_CXX AC_PROG_INSTALL AC_PROG_MAKE_SET AC_PROG_LIBTOOL # AC_PROG_RANLIB is obsolete by AC_PROC_LIBTOOL dnl Check for pthreads and boost libraries. ACX_PTHREAD AX_BOOST_DATE_TIME dnl check that Boost.DateTime was found: if test -z "$BOOST_DATE_TIME_LIB"; then AC_MSG_ERROR([unable to find Boost.DateTime library, currently this is required.]) fi AX_BOOST_FILESYSTEM dnl check that Boost.Filesystem was found: if test -z "$BOOST_FILESYSTEM_LIB"; then AC_MSG_ERROR([unable to find Boost.Filesystem library, currently this is required.]) fi AX_BOOST_THREAD dnl check that Boost.Thread was found: if test -z "$BOOST_THREAD_LIB"; then AC_MSG_ERROR([unable to find Boost.Thread library, currently this is required.]) fi AX_BOOST_REGEX dnl check that Boost.Regex was found: if test -z "$BOOST_REGEX_LIB"; then AC_MSG_RESULT([unable to find Boost.Regex library, example test_client will not be build.]) BUILD_TESTCLIENT=no; fi AX_BOOST_PROGRAM_OPTIONS dnl check that Boost.Program_options was found: if test -z "$BOOST_PROGRAM_OPTIONS_LIB"; then AC_MSG_RESULT([unable to find Boost.Program_options library, example test_client will not be build.]) BUILD_TESTCLIENT=no; fi if [[ "x$BUILD_TESTCLIENT" != "xno" ]]; then CLIENT_TEST_BIN=client_test; AC_SUBST(CLIENT_TEST_BIN) fi dnl try different ways of resolving gethostbyname AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(resolv, gethostbyname, , AC_CHECK_LIB(nsl, gethostbyname, , AC_CHECK_LIB(ws2_32, main, , AC_CHECK_LIB(wsock32, main, , AC_MSG_ERROR([gethostbyname not found. Stopped.]))))) ) dnl the user can choose which zlib to use AC_ARG_WITH( [zlib], AS_HELP_STRING([--with-zlib=shipped|system],[Specify the zlib to use, shipped or system. Default is to autodetect system and fallback to shipped.]), [[zlib=$withval]], [[zlib=detect]] ) dnl Check the value for the --with-zlib switch AC_MSG_CHECKING([which zlib implementation to use]) case "$zlib" in "detect") AC_MSG_RESULT([autodetect]) AC_CHECK_LIB(z, main, [zlib="system"], [zlib="shipped"] ) ;; "shipped") AC_MSG_RESULT(shipped) ;; "system") AC_MSG_RESULT(system) AC_CHECK_LIB(z, main, , AC_MSG_ERROR([libtorrent depends on zlib but zlib was not found on your system]) ) ;; "no") AC_MSG_RESULT() AC_MSG_ERROR([libtorrent depends on zlib, you must specify either "system" or "shipped".]) ;; *) AC_MSG_RESULT() AC_MSG_ERROR([Unknown zlib option "$zlib". Use either "system" or "shipped".]) esac if [[ "$zlib" = "shipped" ]]; then ZLIB="\$(top_builddir)/zlib/libzlib.la" ZLIBDIR="zlib" ZLIBINCL="-I\$(top_srcdir)/zlib" AC_CONFIG_FILES(zlib/Makefile) elif [[ "$zlib" = "system" ]]; then ZLIB="-lz" ZLIBDIR="" ZLIBINCL="" fi dnl make ZLIB and ZLIBDIR visible to Makefiles AC_SUBST([ZLIB]) AC_SUBST([ZLIBDIR]) AC_SUBST([ZLIBINCL]) dnl Check whether the examples should be build AC_ARG_ENABLE( [examples], AS_HELP_STRING([--enable-examples],[Build the examples. Default is not to build them.]), [[examples=$enableval]], [[examples=no]] ) dnl Check the value of the --with-examples switch AC_MSG_CHECKING([if the examples should be build]) case "$examples" in "yes") AC_MSG_RESULT(yes) EXAMPLESDIR="examples" ;; "no") AC_MSG_RESULT(no) EXAMPLESDIR="" ;; "") AC_MSG_RESULT(yes (default)) EXAMPLESDIR="examples" ;; *) AC_MSG_RESULT() AC_MSG_ERROR([Unknown --enable-examples option "$examples". Use either "yes" or "no".]) esac dnl make $examples visible to Makefiles AC_SUBST([EXAMPLESDIR]) dnl want some debugging symbols with that? AC_ARG_ENABLE( [debug], AS_HELP_STRING([--enable-debug],[set compiler flags for debug symbols, default is "-g"]), [case "$enableval" in no) DEBUGFLAGS="-DNDEBUG" ;; yes) DEBUGFLAGS="-g" ;; *) DEBUGFLAGS="$enableval" ;; esac], [DEBUGFLAGS="-g"] ) AC_SUBST(DEBUGFLAGS) AC_CONFIG_FILES(Makefile src/Makefile include/Makefile test/Makefile libtorrent.pc) if [[ "x$examples" == "xyes" ]]; then AC_CONFIG_FILES(examples/Makefile) fi AC_OUTPUT