Use gmcs for compilation, we require C# 2.0 now
[platform/upstream/gstreamer.git] / configure.ac
1 AC_INIT(gstreamer-sharp, 0.9.0,
2     http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer&component=gst-sharp,
3     gstreamer-sharp)
4 AC_CANONICAL_SYSTEM
5 AC_CONFIG_SRCDIR([README])
6 AM_CONFIG_HEADER(config.h)
7 AM_INIT_AUTOMAKE([-Wno-portability])
8 AM_MAINTAINER_MODE
9
10 AC_PROG_CC
11 AC_PROG_INSTALL
12 AC_HEADER_STDC
13
14 PACKAGE_VERSION=gstreamer-sharp-0.10
15 AC_SUBST(PACKAGE_VERSION)
16
17 MONO_REQUIRED_VERSION=2.4
18 AC_SUBST(MONO_REQUIRED_VERSION)
19 PKG_CHECK_MODULES(MONO_DEPENDENCY, mono >= $MONO_REQUIRED_VERSION, has_mono=true, has_mono=false)
20
21 AM_PROG_LIBTOOL
22
23 if test "x$has_mono" = "xtrue"; then
24         GACUTIL_FLAGS='/package $(PACKAGE_VERSION) /gacdir $(libdir) /root $(DESTDIR)/$(libdir)'
25         GENERATED_SOURCES=generated/*.cs
26         AC_PATH_PROG(RUNTIME, mono, no)
27         AC_PATH_PROG(CSC, gmcs, no)
28         if test `uname -s` = "Darwin"; then
29                 LIB_PREFIX=
30                 LIB_SUFFIX=.dylib
31         else
32                 LIB_PREFIX=.so
33                 LIB_SUFFIX=
34         fi
35 else
36         AC_PATH_PROG(CSC, csc.exe, no)
37         GACUTIL_FLAGS=
38         GENERATED_SOURCES=generated\\\\*.cs
39
40         if test x$CSC = "xno"; then
41                 AC_MSG_ERROR([You need to install either mono or .Net])
42         else
43                 RUNTIME=
44                 LIB_PREFIX=
45                 LIB_SUFFIX=.dll
46         fi
47 fi
48 AM_CONDITIONAL(USE_MONO_COMPILER, test "x$has_mono" = "xtrue")
49
50 CS="C#"
51 if test "x$CSC" = "xno" ; then
52         AC_MSG_ERROR([No $CS compiler found])
53 fi
54
55 AC_PATH_PROG(GACUTIL, gacutil, no)
56 if test "x$GACUTIL" = "xno" ; then
57         AC_MSG_ERROR([No gacutil tool found])
58 fi
59
60 AC_SUBST(RUNTIME)
61 AC_SUBST(CSC)
62 AC_SUBST(GACUTIL)
63 AC_SUBST(GACUTIL_FLAGS)
64 AC_SUBST(LIB_PREFIX)
65 AC_SUBST(LIB_SUFFIX)
66 AC_SUBST(GENERATED_SOURCES)
67
68 MONODOC_REQUIRED_VERSION=1.1
69 AC_SUBST(MONODOC_REQUIRED_VERSION)
70 PKG_CHECK_MODULES(MONODOC_DEPENDENCY, monodoc >= $MONODOC_REQUIRED_VERSION, enable_monodoc=yes, enable_monodoc=no)
71
72 if test "x$enable_monodoc" = "xyes"; then
73         AC_PATH_PROG(MONODOCER, monodocer, no)
74         AC_PATH_PROG(MDASSEMBLER, mdassembler, no)
75         AC_PATH_PROG(MONODOCS2HTML, monodocs2html, no)
76         if test x$MONODOCER = xno -o x$MDASSEMBLER = xno -o x$MONODOCS2HTML = xno; then
77                 enable_monodoc=no
78         fi
79 else
80         MONODOCER=
81         MDASSEMBLER=
82         MONODOCS2HTML=
83 fi
84
85 AC_SUBST(MONODOCER)
86 AC_SUBST(MDASSEMBLER)
87 AC_SUBST(MONODOCS2HTML)
88
89 MONODOC_SOURCESDIR=`pkg-config --variable=sourcesdir monodoc`
90 AC_SUBST(MONODOC_SOURCESDIR)
91
92 ## Versions of dependencies
93 GLIBSHARP_REQUIRED_VERSION=2.12.9.90
94 PKG_CHECK_MODULES(GLIBSHARP, glib-sharp-2.0 >= $GLIBSHARP_REQUIRED_VERSION)
95 AC_SUBST(GLIBSHARP_LIBS)
96
97 GLIB_REQUIRED_VERSION=2.14.0
98 PKG_CHECK_MODULES(GLIB,
99         glib-2.0 >= $GLIB_REQUIRED_VERSION
100         gobject-2.0 >= $GLIB_REQUIRED_VERSION
101 )
102 AC_SUBST(GLIB_LIBS)
103 AC_SUBST(GLIB_CFLAGS)
104
105 GSTREAMER_REQUIRED_VERSION=0.10.23
106 GSTREAMER_PLUGINS_REQUIRED_VERSION=0.10.23
107 AC_SUBST(GSTREAMER_REQUIRED_VERSION)
108 AC_SUBST(GSTREAMER_PLUGINS_REQUIRED_VERSION)
109 PKG_CHECK_MODULES(GST,
110         gstreamer-0.10 >= $GSTREAMER_REQUIRED_VERSION
111         gstreamer-base-0.10 >= $GSTREAMER_REQUIRED_VERSION
112         gstreamer-controller-0.10 >= $GSTREAMER_REQUIRED_VERSION
113         gstreamer-app-0.10 >= $GSTREAMER_REQUIRED_VERSION
114         gstreamer-audio-0.10 >= $GSTREAMER_REQUIRED_VERSION
115         gstreamer-cdda-0.10 >= $GSTREAMER_REQUIRED_VERSION
116         gstreamer-interfaces-0.10 >= $GSTREAMER_REQUIRED_VERSION
117         gstreamer-pbutils-0.10 >= $GSTREAMER_REQUIRED_VERSION
118         gstreamer-tag-0.10 >= $GSTREAMER_REQUIRED_VERSION
119         gstreamer-video-0.10 >= $GSTREAMER_REQUIRED_VERSION
120 )
121 AC_SUBST(GST_LIBS)
122 AC_SUBST(GST_CFLAGS)
123
124 AM_CONDITIONAL(ENABLE_MONODOC, test "x$enable_monodoc" = "xyes")
125
126 ## Check for the gapi programs
127 PKG_CHECK_MODULES(GAPI, gapi-2.0 >= $GLIBSHARP_REQUIRED_VERSION)
128
129 ## NUnit tests
130 AC_PATH_PROG(NUNIT_TESTER, nunit-console, no)
131 if test "x$NUNIT_TESTER" = "xno" ; then
132         AC_MSG_WARN([Could not find nunit-console: unit tests cannot be executed])
133 fi
134 AC_SUBST(NUNIT_TESTER)
135
136 PKG_CHECK_MODULES(MONO_NUNIT, mono-nunit >= 2.4, do_tests="yes", do_tests="no")
137 AC_SUBST(MONO_NUNIT_LIBS)
138 AM_CONDITIONAL(ENABLE_TESTS, test "x$do_tests" = "xyes")
139 if test "x$do_tests" = "xno"; then
140         AC_MSG_WARN([Could not find mono-nunit: tests will not be available])
141 fi
142
143 AC_CHECK_SIZEOF(off_t)
144 OFF_T_FLAGS="-define:OFF_T_$ac_cv_sizeof_off_t"
145 AC_SUBST(OFF_T_FLAGS)
146
147 AC_OUTPUT([
148 source/Makefile
149 parser/Makefile
150 elementgen/Makefile
151 generator/Makefile
152 gstreamer-sharp/Makefile
153 gstreamer-sharp/AssemblyInfo.cs
154 gstreamer-sharp/gstreamer-sharp.dll.config
155 gstreamer-sharp/coreplugins/Makefile
156 gstreamer-sharp/baseplugins/Makefile
157 gstreamer-sharp/glue/Makefile
158 doc/Makefile
159 tests/Makefile
160 samples/Makefile
161 gstreamer-sharp-0.10.pc
162 Makefile
163 ])
164
165 echo "---"
166 echo "Configuration summary"
167 echo ""
168 echo "   * Installation prefix = $prefix"
169 echo "   * $CS compiler: $CSC"
170 echo "   * Documentation: $enable_monodoc ($MONODOC)"
171 echo ""
172 echo "---"
173