summaryrefslogtreecommitdiff
path: root/configure.ac
blob: 21d89d17d9c196f53fd5e01e429bf28b0d048025 (plain)
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
#                                               -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.69])
AC_INIT([disfluid], m4_esyscmd([sh build-aux/git-version-gen .tarball-version]), [vivien@planete-kraus.eu])

AC_CONFIG_SRCDIR([include/disfluid.h])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([m4])

AC_SUBST([LTV_CURRENT], [0])
AC_SUBST([LTV_REVISION], [0])
AC_SUBST([LTV_AGE], [0])
AC_SUBST([DLL_VERSION], [$(expr $LTV_CURRENT - $LTV_AGE)])

# Checks for programs.
AC_PROG_CC
gl_EARLY
AM_INIT_AUTOMAKE([gnu -Wall -Werror subdir-objects])
AM_PROG_AR
LT_INIT([win32-dll])
gl_INIT
AM_MISSING_PROG([CONVERT], [convert])
AM_MISSING_PROG([G_IR_SCANNER], [g-ir-scanner])
AM_MISSING_PROG([VAPIGEN], [vapigen])
GLIB_GSETTINGS

# Checks for libraries.
AC_ARG_WITH([gobject],
  [AS_HELP_STRING([--with-gobject],
    [register types for the glib runtime @<:@default=check@:>@])],
  [],
  [: m4_divert_text([DEFAULTS], [with_gobject=check])])

AM_GNU_GETTEXT([external])
AM_GNU_GETTEXT_VERSION([0.19])
PKG_CHECK_MODULES([LIBCHECK], [check], [
  CPPFLAGS="$CPPFLAGS $LIBCHECK_CFLAGS"
  CFLAGS="$CFLAGS $LIBCHECK_CFLAGS"
  LIBS="$LIBS $LIBCHECK_LIBS"
], [AC_MSG_WARN([pkg-config does not know the "check" module])])
PKG_CHECK_MODULES([GNUTLS], [gnutls], [
  CPPFLAGS="$CPPFLAGS $GNUTLS_CFLAGS"
  CFLAGS="$CFLAGS $GNUTLS_CFLAGS"
  LIBS="$LIBS $GNUTLS_LIBS"
], [AC_MSG_WARN([pkg-config does not know the "gnutls" module])])
AS_IF([test "x$with_gobject" != xno],
  [PKG_CHECK_MODULES([GOBJECT], [gobject-2.0], [AC_MSG_WARN([pkg-config does not know the "gobject-2.0" module])])])

# Checks for header files.
AC_CHECK_HEADERS([check.h gnutls/gnutls.h gnutls/crypto.h],,
  [AC_MSG_ERROR([Required library headers not found.])])

SAVE_CPPFLAGS="$CPPFLAGS"
SAVE_CFLAGS="$CFLAGS"
CPPFLAGS="$CPPFLAGS $GOBJECT_CFLAGS"
CFLAGS="$CFLAGS $GOBJECT_CFLAGS"
AS_IF([test "x$with_gobject" != xno],
  [AC_CHECK_HEADERS([glib-object.h],,
    [AS_IF([test "x$with_gobject" = xcheck],
      [with_gobject=no],
      [AC_MSG_FAILURE([--with-gobject was given, but glib-object.h is not found.])])])])
CPPFLAGS="$SAVE_CPPFLAGS"
CFLAGS="$SAVE_CFLAGS"

# Checks for typedefs, structures, and compiler characteristics.
AC_C_INLINE
AC_C_RESTRICT
AC_TYPE_SIZE_T
AC_TYPE_UINT32_T
gl_VISIBILITY

# Checks for library functions.
AC_SEARCH_LIBS([srunner_create], [check])
AC_SEARCH_LIBS([gnutls_hmac_init], [gnutls])

AC_CHECK_FUNCS([srunner_create gnutls_hmac_init],,
  [AC_MSG_ERROR([Required library functions not found.])])

SAVE_LIBS="$LIBS"
LIBS="$LIBS $GOBJECT_LIBS"
AS_IF([test "x$with_gobject" != xno],
  [AC_CHECK_FUNCS([g_boxed_copy],,
    [AS_IF([test "x$with_gobject" = xcheck],
      [with_gobject=no],
      [AC_MSG_FAILURE([--with-gobject was given, but g_boxed_copy is not found.])])])])
LIBS="$SAVE_LIBS"

i_am_windows=no
case "$host_os" in
  mingw* | cygwin*)
    i_am_windows=yes;;
esac

AM_CONDITIONAL([SHLIBS_IN_BINDIR], [test "x$i_am_windows" = "xyes"])
AM_CONDITIONAL([BUILD_GOBJECT], [test "x$with_gobject" != "xno"])

case "$VERSION" in
     *-*)
     AC_SUBST([DISFLUID_IS_NIGHTLY], [yes])
     AC_SUBST([DISFLUID_NIGHTLY_SUFFIX], [.Devel])
     AC_SUBST([DISFLUID_NIGHTLY_SUFFIX_SLASH], [/Devel])
     AC_DEFINE([DISFLUID_IS_NIGHTLY], [1], [Whether disfluid is built from a snapshot, as opposed to an official release.])
     ;;
     *)
     AC_SUBST([DISFLUID_IS_NIGHTLY], [no])
     AC_SUBST([DISFLUID_NIGHTLY_SUFFIX], [])
     AC_SUBST([DISFLUID_NIGHTLY_SUFFIX_SLASH], [])
     AC_DEFINE([DISFLUID_IS_NIGHTLY], [0], [Whether disfluid is built from a snapshot, as opposed to an official release.])
     ;;
esac

AM_CONDITIONAL([DISFLUID_IS_NIGHTLY], [test "x$DISFLUID_IS_NIGHTLY" = "xyes"])

AM_CONDITIONAL([RELOCATABLE_VIA_LD], [test "x$RELOCATABLE_LDFLAGS" != ''])

AC_CONFIG_FILES([
  Makefile
  lib/Makefile
  introspection/Makefile
  po/Makefile.in
  tests/libgnu/Makefile
  settings/eu.planete_kraus.Disfluid.gschema.xml])
AC_OUTPUT