# Autojunk script for libdbus-c++ AC_PREREQ(2.59) AC_INIT([libdbus-c++], 0.9.2pw) AC_CONFIG_SRCDIR([src/error.cpp]) AM_CONFIG_HEADER([config.h]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([subdir-objects]) AC_CANONICAL_HOST AC_SUBST(PACKAGE_VERSION) # Set configuration options AC_ARG_ENABLE(ecore, AS_HELP_STRING([--enable-ecore], [enable ecore integration]), [enable_ecore=$enableval], [enable_ecore=yes] ) AC_ARG_ENABLE(glib, AS_HELP_STRING([--enable-glib], [enable glib integration]), [enable_glib=$enableval], [enable_glib=yes] ) AC_ARG_ENABLE(doxygen-docs, AS_HELP_STRING([--enable-doxygen-docs], [build DOXYGEN documentation (requires Doxygen)]), [enable_doxygen_docs=$enableval], [enable_doxygen_docs=no] ) AC_ARG_ENABLE(tests, AS_HELP_STRING([--enable-tests], [build tests]), [enable_tests=$enableval], [enable_tests=yes] ) AC_ARG_ENABLE(examples, AS_HELP_STRING([--enable-examples], [build examples]), [enable_examples=$enableval], [enable_examples=yes] ) AC_CHECK_FUNCS(clock_gettime, [], [ AC_CHECK_LIB(rt, clock_gettime, [ AC_DEFINE(HAVE_CLOCK_GETTIME, 1) RT_LIBS="-lrt" ]) ]) AC_SUBST(RT_LIBS) # Check for programs AC_LANG_CPLUSPLUS AC_PROG_CC AC_PROG_CXX CXX_FOR_BUILD=${CXX_FOR_BUILD-${CXX}} AC_SUBST(CXX_FOR_BUILD) AM_PROG_LIBTOOL PKG_PROG_PKG_CONFIG AC_MSG_CHECKING([whether $CXX supports symbol visibility]) vtest=`$CXX --help --verbose 2>&1 | grep fvisibility` if test -n "$vtest"; then AC_MSG_RESULT(yes) AC_DEFINE(GCC_HASCLASSVISIBILITY, 1, [to enable hidden symbols]) CXXFLAGS="$CXXFLAGS -fvisibility=hidden" else AC_MSG_RESULT(no) fi # Check for dependencies DBUS_REQUIRED_VERSION=0.60 PKG_CHECK_MODULES(dbus, [dbus-1 >= $DBUS_REQUIRED_VERSION],, AC_MSG_ERROR([You need the DBus libraries (version 0.6 or better)] [http://www.freedesktop.org/wiki/Software_2fdbus]) ) AC_SUBST(dbus_CFLAGS) AC_SUBST(dbus_LIBS) DBUS_API_STABLE_VERSION=1.0.0 PKG_CHECK_EXISTS([dbus-1 < $DBUS_API_STABLE_VERSION], [AC_DEFINE(DBUS_API_SUBJECT_TO_CHANGE, , [unstable DBus])] ) DBUS_THREADS_INIT_DEFAULT_VERSION=0.93 PKG_CHECK_EXISTS([dbus-1 >= $DBUS_THREADS_INIT_DEFAULT_VERSION], [AC_DEFINE(DBUS_HAS_THREADS_INIT_DEFAULT, , [dbus_threads_init_default (needs DBus >= 0.93)])] ) DBUS_RECURSIVE_MUTEX_VERSION=0.95 PKG_CHECK_EXISTS([dbus-1 >= $DBUS_RECURSIVE_MUTEX_VERSION], [AC_DEFINE(DBUS_HAS_RECURSIVE_MUTEX, , [DBus supports recursive mutexes (needs DBus >= 0.95)])] ) if test "$enable_glib" = "yes" ; then PKG_CHECK_MODULES([glib], glib-2.0) AC_SUBST(glib_CFLAGS) AC_SUBST(glib_LIBS) AM_CONDITIONAL(ENABLE_GLIB, test 1 = 1) PKG_CHECK_MODULES([gtkmm], gtkmm-2.4, AM_CONDITIONAL(HAVE_GTKMM, test 1 = 1), AM_CONDITIONAL(HAVE_GTKMM, test 0 = 1) ) AC_SUBST(gtkmm_CFLAGS) AC_SUBST(gtkmm_LIBS) else AM_CONDITIONAL(ENABLE_GLIB, test 0 = 1) AM_CONDITIONAL(HAVE_GTKMM, test 0 = 1) fi if test "$enable_ecore" = "yes" ; then PKG_CHECK_MODULES([ecore], ecore) AC_SUBST(ecore_CFLAGS) AC_SUBST(ecore_LIBS) AM_CONDITIONAL(ENABLE_ECORE, test 1 = 1) else AM_CONDITIONAL(ENABLE_ECORE, test 0 = 1) fi if test "$enable_tests" = "yes" ; then AM_CONDITIONAL(ENABLE_TESTS, test 1 = 1) else AM_CONDITIONAL(ENABLE_TESTS, test 0 = 1) fi if test "$enable_examples" = "yes" ; then AM_CONDITIONAL(ENABLE_EXAMPLES, test 1 = 1) else AM_CONDITIONAL(ENABLE_EXAMPLES, test 0 = 1) fi AC_CHECK_LIB([expat], XML_ParserCreate_MM, [AC_CHECK_HEADERS(expat.h, have_expat=true, have_expat=false)], have_expat=false) if ! $have_expat; then AC_MSG_ERROR([You need the eXpat xml parser] [http://expat.sourceforge.net/]) fi xml_CFLAGS= xml_LIBS=-lexpat AC_SUBST(xml_CFLAGS) AC_SUBST(xml_LIBS) ACX_PTHREAD if test x"$acx_pthread_ok" = xyes; then AC_DEFINE(HAVE_PTHREAD_H, 1, [Define to enable pthread support]) AM_CONDITIONAL(HAVE_PTHREAD, test x"$acx_pthread_ok" = xyes) fi # Doxygen Documentation AC_PATH_PROG(DOXYGEN, doxygen, no) AC_MSG_CHECKING([whether to build Doxygen documentation]) if test "$DOXYGEN" = "no" ; then have_doxygen=no else have_doxygen=yes fi if test "$enable_doxygen_docs" = "auto" ; then enable_doxygen_docs=no AC_MSG_RESULT(no) fi if test "$enable_doxygen_docs" = "yes" ; then if test "$have_doxygen" = "no"; then AC_MSG_ERROR([Building Doxygen docs explicitly required, but Doxygen not found]) fi AC_MSG_RESULT(yes) fi AM_CONDITIONAL(DBUS_DOXYGEN_DOCS_ENABLED, test "$enable_doxygen_docs" = "yes") # For the tools/, we need libdbus-c++ for the "build" architecture as well AM_CONDITIONAL(CROSS_COMPILING, test "$cross_compiling" = "yes") AC_ARG_WITH(build-libdbus-cxx, AS_HELP_STRING([--with-build-libdbus-cxx], [For cross compilation: path to libdbus-cxx which was compiled for the 'build' system.]), [ BUILD_LIBDBUS_CXX_DIR=${withval} ], [ BUILD_LIBDBUS_CXX_DIR="\$(top_builddir)" ] ) AC_SUBST(BUILD_LIBDBUS_CXX_DIR) # Save processed files AC_OUTPUT( Makefile src/Makefile src/integration/Makefile src/integration/ecore/Makefile src/integration/glib/Makefile tools/Makefile test/Makefile test/generator/Makefile test/functional/Makefile test/functional/Test1/Makefile data/Makefile doc/Makefile doc/Doxyfile examples/Makefile examples/properties/Makefile examples/echo/Makefile examples/ecore/Makefile examples/hal/Makefile examples/glib/Makefile examples/echo_ecore/Makefile dbus-c++-1.pc dbus-c++-1-uninstalled.pc dbus-c++-ecore-1.pc dbus-c++-ecore-1-uninstalled.pc dbus-c++-glib-1.pc dbus-c++-glib-1-uninstalled.pc libdbus-c++.spec ) echo echo "Build configuration:" echo "--------------------" echo echo "Mainloop integration support:" echo "ecore ......................... $enable_ecore" echo "glib........................... $enable_glib" echo echo "Optional build items:" echo "build tests.................... $enable_tests" echo "build examples................. $enable_examples" echo "build doxygen documentation.... $enable_doxygen_docs" echo "Cross Compiling activated...... $cross_compiling" echo "PThread support found.......... $acx_pthread_ok" echo