summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorMurray Cumming <murrayc@murrayc.com>2005-12-02 13:34:41 +0000
committerMurray Cumming <murrayc@murrayc.com>2005-12-02 13:34:41 +0000
commit579e53718d29e77486e076d2b3461d986911f050 (patch)
treec83c74226f7ca767e44b74322132a6941a551db1 /configure.in
Initial revision
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in104
1 files changed, 104 insertions, 0 deletions
diff --git a/configure.in b/configure.in
new file mode 100644
index 0000000..2041fb3
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,104 @@
+AC_INIT(cairomm/cairomm.h)
+
+#release versioning
+GENERIC_MAJOR_VERSION=0
+GENERIC_MINOR_VERSION=1
+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=0:1: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.0)
+
+GLIBMM_CHECK_PERL([5.6.0])
+
+AC_OUTPUT(
+ Makefile
+ cairomm/Makefile
+
+ examples/Makefile
+
+ cairomm-1.0.pc
+)