2007-11-12 19:43:53 -05:00
|
|
|
AC_INIT(cairomm/cairomm.h)
|
|
|
|
|
|
|
|
#release versioning
|
|
|
|
GENERIC_MAJOR_VERSION=1
|
2007-12-18 01:05:55 -05:00
|
|
|
GENERIC_MINOR_VERSION=4
|
|
|
|
GENERIC_MICRO_VERSION=6
|
2007-11-12 19:43:53 -05:00
|
|
|
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
|
2007-12-18 01:05:55 -05:00
|
|
|
GENERIC_LIBRARY_VERSION=2:0:1
|
2007-11-12 19:43:53 -05:00
|
|
|
# | | |
|
|
|
|
# +------+ | +---+
|
|
|
|
# | | |
|
|
|
|
# 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)
|
|
|
|
|
2007-12-18 01:05:55 -05:00
|
|
|
AM_CONFIG_HEADER(cairomm/cairommconfig.h)
|
|
|
|
|
2007-11-12 19:43:53 -05:00
|
|
|
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")
|
|
|
|
|
2007-12-18 01:05:55 -05:00
|
|
|
AC_MSG_CHECKING([for native Win32])
|
|
|
|
case "$host" in
|
|
|
|
*-*-mingw*)
|
|
|
|
os_win32=yes
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
os_win32=no
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
AC_MSG_RESULT([$os_win32])
|
|
|
|
AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
|
|
|
|
|
2007-11-12 19:43:53 -05:00
|
|
|
# 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".
|
2007-12-18 01:05:55 -05:00
|
|
|
if test x"$os_win32" = xyes; then
|
2007-11-12 19:43:53 -05:00
|
|
|
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)
|
|
|
|
|
2007-12-18 01:05:55 -05:00
|
|
|
PKG_CHECK_MODULES(CAIROMM, cairo >= 1.4)
|
2007-11-12 19:43:53 -05:00
|
|
|
|
2007-12-18 01:05:55 -05:00
|
|
|
AC_ARG_ENABLE(tests,
|
|
|
|
AC_HELP_STRING([--enable-tests=yes|no],
|
|
|
|
[enable automated tests (default is no)]),
|
|
|
|
ENABLE_TESTS=$enableval,
|
|
|
|
ENABLE_TESTS=no)
|
|
|
|
if test x$CAIROMM_DEVEL = xon ; then
|
|
|
|
ENABLE_TESTS=yes
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test x$ENABLE_TESTS = xyes ; then
|
|
|
|
AX_BOOST_BASE([1.33.1])
|
|
|
|
AX_BOOST_UNIT_TEST_FRAMEWORK
|
|
|
|
AC_MSG_NOTICE(support of automated tests enabled)
|
|
|
|
else
|
|
|
|
AC_MSG_NOTICE(disabled support of automated tests)
|
|
|
|
fi
|
|
|
|
AM_CONDITIONAL(AUTOTESTS, test x$ENABLE_TESTS = xyes)
|
|
|
|
|
|
|
|
dnl enable compiler warnings when the CAIROMM_DEVEL environment variable is set to 'on'
|
|
|
|
if test "x$CAIROMM_DEVEL" = "xon" ; then
|
|
|
|
CXXFLAGS="$CXXFLAGS -Wall -g -Werror -Wextra"
|
|
|
|
fi
|
|
|
|
|
|
|
|
CAIROMM_ARG_ENABLE_API_EXCEPTIONS()
|
2007-11-12 19:43:53 -05:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2007-12-18 01:05:55 -05:00
|
|
|
tests/Makefile
|
|
|
|
|
2007-11-12 19:43:53 -05:00
|
|
|
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()
|