~dobey/libubuntuone/system-oauth

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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
AC_INIT([libubuntuone], [0.9.1], [], [libubuntuone])

AC_PREREQ([2.59])

AC_CONFIG_SRCDIR([Makefile.am])

AM_CONFIG_HEADER([config.h])

AM_INIT_AUTOMAKE([1.6.3 foreign])

m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])

AC_GNU_SOURCE
AC_ENABLE_SHARED
AC_DISABLE_STATIC

AC_PROG_CC
AC_PROG_LIBTOOL

dnl i18n
IT_PROG_INTLTOOL([0.35.5])
AM_GLIB_GNU_GETTEXT

GETTEXT_PACKAGE=libubuntuone
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Ubuntu One Widget library])

localedir='$(prefix)/$(DATADIRNAME)/locale'
AC_SUBST(localedir)

dnl glib-genmarshal
AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)

dnl Look for needed modules
PKG_CHECK_MODULES(LIBUBUNTUONE, gdk-pixbuf-2.0 webkit-1.0 >= 1.1.15 libxml-2.0 libsoup-2.4 >= 2.33.1 libsoup-gnome-2.4 libsyncdaemon-1.0 >= 1.4.2 gstreamer-0.10 gstreamer-pbutils-0.10)
AC_SUBST(LIBUBUNTUONE_CFLAGS)
AC_SUBST(LIBUBUNTUONE_LIBS)

LIBUBUNTUONE_CURRENT=1
LIBUBUNTUONE_REVISION=0
LIBUBUNTUONE_AGE=0
AC_SUBST(LIBUBUNTUONE_CURRENT)
AC_SUBST(LIBUBUNTUONE_REVISION)
AC_SUBST(LIBUBUNTUONE_AGE)

AC_MSG_CHECKING([development series build])
DEVVERSION="`echo $PACKAGE_VERSION|cut -d. -f2`"
if expr $DEVVERSION % 2 > /dev/null != "0"; then
   debugging=yes
   AC_MSG_RESULT([yes])
else
   debugging=no
   AC_MSG_RESULT([no])
fi

AC_ARG_ENABLE([debug],
   AC_HELP_STRING([--enable-debug],
       [Enable debugging build [default=auto]]),
   enable_debug=$enableval,
   enable_debug=$debugging)
if test "x$enable_debug" != "xno"; then
   CFLAGS="${CFLAGS} -Wno-strict-prototypes -Wall -Werror"
   AC_SUBST(CFLAGS)
fi

dnl Check for OAuth dependencies
AC_CHECK_HEADERS(unistd.h time.h string.h alloca.h stdio.h stdarg.h math.h openssl/hmac.h, have_oauth_headers="yes", have_oauth_headers="no")
AC_CHECK_LIB(crypto, CRYPTO_free, have_oauth_libs="yes", have_oauth_libs="no")
if test "x$have_oauth_headers" = "xyes" -a "x$have_oauth_libs" = "xyes"; then
   AC_DEFINE(HAVE_OAUTH, 1, [Define to build OAUTH signing code])
   have_oauth="yes"
   OAUTH_LIBS="-lm -lcrypto"
   AC_SUBST(OAUTH_LIBS)
else
   AC_MSG_ERROR(You need openssl to build OAuth support)
fi

LIBUBUNTUONE_CURRENT=1
LIBUBUNTUONE_REVISION=0
LIBUBUNTUONE_AGE=0
AC_SUBST(LIBUBUNTUONE_CURRENT)
AC_SUBST(LIBUBUNTUONE_REVISION)
AC_SUBST(LIBUBUNTUONE_AGE)

##################################################
# Check for gtk-doc.
##################################################
GTK_DOC_CHECK(1.0)
DISTCHECK_CONFIGURE_FLAGS="--enable-gtk-doc --enable-debug"
AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)

dnl Checks for Mono bindings
AC_PATH_PROG(MONO_GAPI_PARSER, gapi2-parser, no)
if test "x$MONO_GAPI_PARSER" = "xno"; then
  AC_MSG_ERROR(could not find gapi2-parser)
fi

AC_PATH_PROG(MONO_GAPI_CODEGEN, gapi2-codegen, no)
if test "x$MONO_GAPI_CODEGEN" = "xno"; then
  AC_MSG_ERROR(could not find gapi2-codegen)
fi

AC_PATH_PROG(MONO_GAPI_FIXUP, gapi2-fixup, no)
if test "x$MONO_GAPI_FIXUP" = "xno"; then
  AC_MSG_ERROR(could not find gapi2-fixup)
fi

AC_PATH_PROG(MONO_CSC, gmcs, no)
if test "x$MONO_CSC" = "xno"; then
  AC_MSG_ERROR(could not find gmcs compiler)
fi

AC_PATH_PROG([MONO_SN], [sn], [no])
if test "x$MONO_SN" = "xno"; then
   AC_MSG_ERROR([could not find sn])
fi

dnl Checks for Python bindings
AM_PATH_PYTHON(2.5)
AC_PATH_PROG(PYTHON_CONFIG, python-config, no)
if test "x$PYTHON_CONFIG" = "xno"; then
  AC_MSG_ERROR(could not find python-config script)
else
  PYTHON_CFLAGS=`$PYTHON_CONFIG --cflags`
  PYTHON_LDFLAGS=`$PYTHON_CONFIG --ldflags`
  AC_SUBST(PYTHON_CFLAGS)
  AC_SUBST(PYTHON_LDFLAGS)
fi

PKG_CHECK_MODULES(PYGTK, pygtk-2.0)
PKG_CHECK_MODULES(GTKSHARP, gtk-sharp-2.0)
AC_SUBST(PYGTK_CFLAGS)
AC_SUBST(PYGTK_LIBS)
AC_SUBST(GTKSHARP_CFLAGS)
AC_SUBST(GTKSHARP_LIBS)

dnl Check for .defs pygtk dir
AC_MSG_CHECKING(for pygtk defs)
PYGTK_DEFSDIR=`$PKG_CONFIG --variable=defsdir pygtk-2.0`
AC_SUBST(PYGTK_DEFSDIR)
AC_MSG_RESULT($PYGTK_DEFSDIR)

dnl check for codegen script
AC_PATH_PROG(PYGOBJECT_CODEGEN, pygobject-codegen-2.0, no)
if test "x$PYGOBJECT_CODEGEN" = xno; then
  dnl This is for compat with older releases when codegen was shipped
  dnl in pygtk. It should be removed in future releases.
  AC_PATH_PROG(PYGTK_CODEGEN, pygtk-codegen-2.0, no)
  if test "x$PYGTK_CODEGEN" = xno; then
    AC_MSG_ERROR(could not find pygobject-codegen-2.0 script)
  else
    AC_SUBST(PYGNOME_CODEGEN, $PYGTK_CODEGEN)
  fi
else
  AC_SUBST(PYGNOME_CODEGEN, $PYGOBJECT_CODEGEN)
fi

dnl JavaScript scripts location
U1_JAVASCRIPT_DIR=$datadir/libubuntuone/$LIBUBUNTUONE_CURRENT/javascript
AC_SUBST(U1_JAVASCRIPT_DIR)

##################################################
# Check for introspection
##################################################
GOBJECT_INTROSPECTION_CHECK([0.6.4])
AC_MSG_CHECKING([if gobject-introspection requires new options])
$PKG_CONFIG --atleast-version=0.9.4 gobject-introspection-1.0
new_introspection=$?
if test "x$new_introspection" = "x0"; then
   AC_MSG_RESULT([yes])
else
   AC_MSG_RESULT([no])
fi
AM_CONDITIONAL([HAVE_NEW_INTROSPECTION], [test "x$new_introspection" = "x0"])

AC_CONFIG_FILES([
Makefile
data/Makefile
libubuntuone.pc
ubuntuone-sharp.pc
libubuntuone/Makefile
tests/Makefile
bindings/Makefile
bindings/python/Makefile
bindings/mono/Makefile
bindings/mono/ubuntuone-sharp.dll.config
po/Makefile.in
])

AC_OUTPUT

AC_MSG_NOTICE([

 libubuntuone configured:
 ------------------------

 version:       $VERSION
 introspection: ${found_introspection}

])