1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
|
AC_PREREQ(2.52)
dnl major.minor follows Clutter API version
m4_define([clutter_sharp_version_major], [1])
m4_define([clutter_sharp_version_minor], [0])
dnl micro is specific to clutter-sharp
m4_define([clutter_sharp_version_micro], [0])
dnl set to 0 when doing a stable/supported release
m4_define([clutter_sharp_version_pre_release], [alpha3])
m4_define([concat], $1$2$3$4)
dnl create base version string
m4_define([clutter_sharp_version], concat(
clutter_sharp_version_major.,
clutter_sharp_version_minor.,
clutter_sharp_version_micro))
dnl create the assembly version
m4_define([clutter_sharp_assembly_version], concat(
clutter_sharp_version, [.0]))
dnl create the release version
m4_define([clutter_sharp_version],
m4_if(clutter_sharp_version_pre_release, [0],
clutter_sharp_version,
concat(clutter_sharp_version, clutter_sharp_version_pre_release)))
AC_INIT([clutter-sharp], clutter_sharp_version)
AC_CONFIG_SRCDIR([README])
AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE([1.9 foreign dist-bzip2 tar-ustar])
AM_MAINTAINER_MODE
PKG_PROG_PKG_CONFIG
DISTCHECK_CONFIGURE_FLAGS="--disable-docs"
AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
ASSEMBLY_VERSION=clutter_sharp_assembly_version
AC_SUBST(ASSEMBLY_VERSION)
dnl check for Mono
dnl 2.4 is required for non-signal VMs that we
dnl get with the in-tree GAPI and GType extensions
PKG_CHECK_MODULES(MONO_RUNTIME, mono >= 2.4)
AC_PATH_PROG(MONO, mono, no)
if test "x$MONO" = "xno"; then
AC_MSG_ERROR([Cannot find the "mono" runtime in your PATH])
fi
AC_PATH_PROG(MCS, gmcs, no)
if test "x$MCS" = "xno"; then
AC_MSG_ERROR([Cannot find the "gmcs" compiler in your PATH])
fi
dnl check for GAPI
dnl GAPI from gtk-sharp trunk is now required,
dnl so we are bundling it. Necessary for generating
dnl VM support for non-signal methods
#PKG_CHECK_MODULES(GAPI, gapi-2.0 >= 2.12.9)
#AC_PATH_PROG(GAPI_PARSER, gapi2-parser, no)
#AC_PATH_PROG(GAPI_FIXUP, gapi2-fixup, no)
#AC_PATH_PROG(GAPI_CODEGEN, gapi2-codegen, no)
GAPI_FIXUP="mono \$(top_builddir)/gapi/parser/gapi-fixup.exe"
GAPI_PARSER="mono \$(top_builddir)/gapi/parser/gapi-parser.exe \$(top_srcdir)/gapi/parser/"
GAPI_CODEGEN="mono \$(top_builddir)/gapi/generator/gapi_codegen.exe"
AC_SUBST(GAPI_FIXUP)
AC_SUBST(GAPI_PARSER)
AC_SUBST(GAPI_CODEGEN)
dnl check for Gtk#
PKG_CHECK_MODULES(GTKSHARP, gtk-sharp-2.0 >= 2.12.1)
AC_SUBST(GTKSHARP_LIBS)
dnl check for clutter
PKG_CHECK_MODULES(CLUTTER, clutter-1.0 >= 1.0.1)
PKG_CHECK_MODULES(CLUTTER_GTK, clutter-gtk-0.10 >= 0.10.3, enable_gtk=yes, enable_gtk=no)
AM_CONDITIONAL(ENABLE_GTK, test "x$enable_gtk" = "xyes")
CLUTTER_API_VERSION=$($PKG_CONFIG --variable apiversion clutter-1.0)
CLUTTER_GTK_API_VERSION=$($PKG_CONFIG --variable apiversion clutter-gtk-0.10)
CLUTTER_BACKEND=$($PKG_CONFIG --libs clutter-1.0 | egrep -o -- '-lclutter-[[^ ]]+' | sed -re 's/^-lclutter-//; s/-?'"$CLUTTER_API_VERSION"'$//;')
if test -z "$CLUTTER_BACKEND"; then
CLUTTER_LIBRARY="libclutter-$CLUTTER_API_VERSION.so.0"
else
CLUTTER_LIBRARY="libclutter-$CLUTTER_BACKEND-$CLUTTER_API_VERSION.so.0"
fi
AC_SUBST(CLUTTER_API_VERSION)
AC_SUBST(CLUTTER_LIBRARY)
AC_SUBST(CLUTTER_GTK_API_VERSION)
dnl check for monodoc
AC_ARG_ENABLE(docs, AC_HELP_STRING([--disable-docs],
[Do not build documentation]), enable_docs=$enableval, enable_docs=yes)
if test "x$enable_docs" = "xyes"; then
AC_PATH_PROG(MONODOCER, monodocer, no)
if test "x$MONODOCER" = "xno"; then
AC_MSG_ERROR([You need to install monodoc, or pass --disable-docs to configure to skip documentation installation])
fi
AC_PATH_PROG(MDASSEMBLER, mdassembler, no)
if test "x$MDASSEMBLER" = "xno"; then
AC_MSG_ERROR([You need to install mdassembler, or pass --disable-docs to configure to skip documentation installation])
fi
DOCDIR=`$PKG_CONFIG monodoc --variable=sourcesdir`
AC_SUBST(DOCDIR)
AM_CONDITIONAL(BUILD_DOCS, true)
else
AC_MSG_NOTICE([not building ${PACKAGE} API documentation])
AM_CONDITIONAL(BUILD_DOCS, false)
fi
AC_OUTPUT([
Makefile
build/Makefile
docs/Makefile
docs/clutter-sharp/Makefile
docs/clutter-gtk-sharp/Makefile
gapi/Makefile
gapi/parser/Makefile
gapi/generator/Makefile
glib/Makefile
clutter/Makefile
clutter/AssemblyInfo.cs
clutter/clutter-sharp.pc
clutter/clutter-sharp.dll.config
clutter/Clutter/Makefile
clutter/Cogl/Makefile
clutter-gtk/Makefile
clutter-gtk/clutter-gtk-sharp.pc
clutter-gtk/clutter-gtk-sharp.dll.config
clutter-gtk/AssemblyInfo.cs
examples/Makefile
])
cat <<EOF
${PACKAGE}-${VERSION}
Build Environment
Install Prefix: ${prefix}
Mono C# Compiler: ${MCS} ${CSFLAGS}
Mono Runtime: ${MONO}
Clutter API Versions
Core: ${CLUTTER_API_VERSION}
GTK: ${CLUTTER_GTK_API_VERSION}
Build Features
GTK Support: ${enable_gtk}
API Documentation: ${enable_docs}
EOF
|