summaryrefslogtreecommitdiffstats
path: root/configure.in
blob: 188d9f2ac15dbde5d0195f4725abda67defe4ef7 (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
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
201
202
203
204
205
206
207
208
209
210
211
212
dnl -*- mode: m4 -*-
AC_PREREQ(2.52)

AC_INIT(dbus/dbus.h)

AM_INIT_AUTOMAKE(dbus, 0.2)

AM_CONFIG_HEADER(config.h)

# Honor aclocal flags
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"

GETTEXT_PACKAGE=dbus-1
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[The name of the gettext domain])

AM_MAINTAINER_MODE

AC_PROG_CC
AC_PROG_CXX
AC_ISC_POSIX
AC_HEADER_STDC
AM_PROG_LIBTOOL

AC_ARG_ENABLE(qt,      [  --enable-qt      enable Qt-friendly client library],enable_qt=$enableval,enable_qt=auto)
AC_ARG_ENABLE(glib,    [  --enable-glib    enable GLib-friendly client library],enable_glib=$enableval,enable_glib=auto)
AC_ARG_ENABLE(tests,   [  --enable-tests enable unit test code],enable_tests=$enableval,enable_tests=no)
AC_ARG_ENABLE(ansi,    [  --enable-ansi enable -ansi -pedantic gcc flags],enable_ansi=$enableval,enable_ansi=no)

dnl DBUS_BUILD_TESTS controls unit tests built in to .c files 
dnl and also some stuff in the test/ subdir
AM_CONDITIONAL(DBUS_BUILD_TESTS, test x$enable_tests = xyes)
if test x$enable_tests = xyes; then
    AC_DEFINE(DBUS_BUILD_TESTS,1,[Build test code])
fi

changequote(,)dnl
if test "x$GCC" = "xyes"; then
  case " $CFLAGS " in
  *[\ \	]-Wall[\ \	]*) ;;
  *) CFLAGS="$CFLAGS -Wall" ;;
  esac

  case " $CFLAGS " in
  *[\ \	]-Wchar-subscripts[\ \	]*) ;;
  *) CFLAGS="$CFLAGS -Wchar-subscripts" ;;
  esac

  case " $CFLAGS " in
  *[\ \	]-Wmissing-declarations[\ \	]*) ;;
  *) CFLAGS="$CFLAGS -Wmissing-declarations" ;;
  esac

  case " $CFLAGS " in
  *[\ \	]-Wmissing-prototypes[\ \	]*) ;;
  *) CFLAGS="$CFLAGS -Wmissing-prototypes" ;;
  esac

  case " $CFLAGS " in
  *[\ \	]-Wnested-externs[\ \	]*) ;;
  *) CFLAGS="$CFLAGS -Wnested-externs" ;;
  esac

  case " $CFLAGS " in
  *[\ \	]-Wpointer-arith[\ \	]*) ;;
  *) CFLAGS="$CFLAGS -Wpointer-arith" ;;
  esac

  case " $CFLAGS " in
  *[\ \	]-Wcast-align[\ \	]*) ;;
  *) CFLAGS="$CFLAGS -Wcast-align" ;;
  esac

  case " $CFLAGS " in
  *[\ \	]-Wsign-compare[\ \	]*) ;;
  *) CFLAGS="$CFLAGS -Wsign-compare" ;;
  esac

  if test "x$enable_ansi" = "xyes"; then
    case " $CFLAGS " in
    *[\ \	]-ansi[\ \	]*) ;;
    *) CFLAGS="$CFLAGS -ansi" ;;
    esac

    case " $CFLAGS " in
    *[\ \	]-pedantic[\ \	]*) ;;
    *) CFLAGS="$CFLAGS -pedantic" ;;
    esac
  fi
fi
changequote([,])dnl

AC_CHECK_SIZEOF(char)
AC_CHECK_SIZEOF(short)
AC_CHECK_SIZEOF(long)
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(void *)
AC_CHECK_SIZEOF(long long)
AC_CHECK_SIZEOF(__int64)

## byte order
AC_C_BIGENDIAN

AC_CHECK_FUNCS(vsnprintf vasprintf getpwnam_r nanosleep usleep poll)

dnl check for writev header and writev function so we're 
dnl good to go if HAVE_WRITEV gets defined.
AC_CHECK_HEADERS(sys/uio.h, [AC_CHECK_FUNCS(writev)])

DBUS_CLIENT_CFLAGS=
DBUS_CLIENT_LIBS=
AC_SUBST(DBUS_CLIENT_CFLAGS)
AC_SUBST(DBUS_CLIENT_LIBS)

DBUS_BUS_CFLAGS=
DBUS_BUS_LIBS=
AC_SUBST(DBUS_BUS_CFLAGS)
AC_SUBST(DBUS_BUS_LIBS)

DBUS_TEST_CFLAGS=
DBUS_TEST_LIBS=
AC_SUBST(DBUS_TEST_CFLAGS)
AC_SUBST(DBUS_TEST_LIBS)

# Glib detection
PKG_CHECK_MODULES(DBUS_GLIB, glib-2.0, have_glib=yes, have_glib=no)

if test x$have_glib = xno ; then
    AC_MSG_WARN([GLib development libraries not found])
fi

if test x$enable_glib = xyes; then
    if test x$have_glib = xno; then
	AC_MSG_ERROR([GLib explicitly required, and GLib development libraries not found])
    fi
fi

if test x$enable_glib = xno; then
   have_glib=no;
fi

AM_CONDITIONAL(HAVE_GLIB, test x$have_glib = xyes)

dnl GLib flags
AC_SUBST(DBUS_GLIB_CFLAGS)
AC_SUBST(DBUS_GLIB_LIBS)

# Qt detection
have_qt=no
if test -n "$QTDIR" -a -f $QTDIR/include/qglobal.h; then
    have_qt=yes
    DBUS_QT_CXXFLAGS=-I$QTDIR/include
fi

dnl linking to kdecore will give us a bit of help from libtool
kdelibs=`kde-config --install lib --expandvars 2>/dev/null`
if test -z $kdelibs -a -f $kdelibs/libkdecore.la; then
    have_qt=no
else
    DBUS_QT_LIBS=$kdelibs/libkdecore.la
fi

if test x$have_qt = xno ; then
    AC_MSG_WARN([Qt development libraries not found])
fi

if test x$enable_qt = xyes; then
    if test x$have_qt = xno; then
	AC_MSG_ERROR([Qt integration explicitly required, and Qt libraries not found])
    fi
fi

if test x$enable_qt = xno; then
   have_qt=no;
fi

AM_CONDITIONAL(HAVE_QT, test x$have_qt = xyes)

dnl Qt flags
AC_SUBST(DBUS_QT_CXXFLAGS)
AC_SUBST(DBUS_QT_LIBS)

AC_OUTPUT([
Makefile
Doxyfile
dbus/Makefile
glib/Makefile
qt/Makefile
bus/Makefile
test/Makefile
doc/Makefile
dbus-1.0.pc
dbus-glib-1.0.pc
])

dnl ==========================================================================
echo "
                    D-BUS $VERSION
                  ==============

	prefix:                 ${prefix}
	source code location:	${srcdir}
	compiler:		${CC}

        Building unit tests:    ${enable_tests}
        Building Qt bindings:   ${have_qt}
        Building GLib bindings: ${have_glib}
"

if test x$enable_tests = xyes; then
        echo "NOTE: building with unit tests increases the size of the installed library"
fi