AC_INIT(cairomm/cairomm.h) #release versioning GENERIC_MAJOR_VERSION=1 GENERIC_MINOR_VERSION=2 GENERIC_MICRO_VERSION=0 GENERIC_VERSION=$GENERIC_MAJOR_VERSION.$GENERIC_MINOR_VERSION.$GENERIC_MICRO_VERSION AC_SUBST(GENERIC_MAJOR_VERSION) AC_SUBST(GENERIC_MINOR_VERSION) AC_SUBST(GENERIC_MICRO_VERSION) AC_SUBST(GENERIC_VERSION) #shared library versioning GENERIC_LIBRARY_VERSION=1:0:0 # | | | # +------+ | +---+ # | | | # current:revision:age # | | | # | | +- increment if interfaces have been added # | | set to zero if interfaces have been removed # or changed # | +- increment if source code has changed # | set to zero if current is incremented # +- increment if interfaces have been added, removed or changed AC_SUBST(GENERIC_LIBRARY_VERSION) VERSION=$GENERIC_VERSION AM_INIT_AUTOMAKE(cairomm, $GENERIC_VERSION) AC_PROG_CXX AC_PROG_CXXCPP AC_LANG_CPLUSPLUS AC_PROG_INSTALL AC_LIBTOOL_WIN32_DLL AM_PROG_LIBTOOL dnl Used for enabling the "-no-undefined" and "-export-all-symbols" flags dnl while generating DLLs. Borrowed from the official gtk+-2 configure.in AC_MSG_CHECKING([for some Win32 platform]) case "$host" in *-*-mingw*|*-*-cygwin*) platform_win32=yes ;; *) platform_win32=no ;; esac AC_MSG_RESULT([$platform_win32]) AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes") # Ensure MSVC-compatible struct packing convention is used when # compiling for Win32 with gcc. # What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while # gcc2 uses "-fnative-struct". if test x"$platform_win32" = xyes; then if test x"$GCC" = xyes; then msnative_struct='' AC_MSG_CHECKING([how to get MSVC-compatible struct packing]) if test -z "$ac_cv_prog_CC"; then our_gcc="$CC" else our_gcc="$ac_cv_prog_CC" fi case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in 2.) if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then msnative_struct='-fnative-struct' fi ;; *) if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then msnative_struct='-mms-bitfields' fi ;; esac if test x"$msnative_struct" = x ; then AC_MSG_RESULT([no way]) AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code]) else CXXFLAGS="$CXXFLAGS $msnative_struct" AC_MSG_RESULT([${msnative_struct}]) fi fi fi AC_CHECK_HEADERS(string list map, , exit) PKG_CHECK_MODULES(CAIROMM, cairo >= 1.2.0) dnl Check whether to build the documentation directory DOCS_SUBDIR="" dnl set DOCS_SUBDIR initially blank AC_ARG_ENABLE(docs, [AC_HELP_STRING([--enable-docs], [build the included docs [default=yes]])],, [enable_docs=yes]) if test "x$enable_docs" = "xyes"; then dnl check if doxygen is installed AC_CHECK_PROGS(DOXYGEN, [doxygen], no) if test x$DOXYGEN = xno; then AC_MSG_WARN([Doxygen not found, documentation will not be rebuilt]) else dnl check if graphviz / dot is installed (used by doxygen) AC_CHECK_PROGS(DOT, [dot], no) if test x$DOT = xno; then AC_MSG_WARN([graphviz / dot not found, documentation graphs will not be rebuilt]) fi fi DOCS_SUBDIR="docs" AC_CONFIG_FILES( docs/Makefile docs/reference/Makefile docs/reference/Doxyfile ) fi AC_SUBST(DOCS_SUBDIR) AC_CONFIG_FILES( Makefile cairomm/Makefile examples/Makefile examples/png_file/Makefile examples/pdf-surface/Makefile examples/ps-surface/Makefile examples/svg-surface/Makefile examples/text-rotate/Makefile cairomm-1.0.pc ) AC_CONFIG_FILES([ MSVC/Makefile MSVC/gendef/Makefile MSVC/cairomm/Makefile MSVC/cairomm/cairomm.rc MSVC/examples/Makefile MSVC/examples/pdf-surface/Makefile MSVC/examples/png_file/Makefile MSVC/examples/ps-surface/Makefile MSVC/examples/svg-surface/Makefile MSVC/examples/text-rotate/Makefile ]) AC_OUTPUT()