diff --git a/Makefile.obexd b/Makefile.obexd
index eacf730..ebdb156 100644
--- a/Makefile.obexd
+++ b/Makefile.obexd
obexd_builtin_modules += ftp
obexd_builtin_sources += obexd/plugins/ftp.c obexd/plugins/ftp.h
+obexd_builtin_modules += irmc
+obexd_builtin_sources += obexd/plugins/irmc.c
+
+if OBEX
+obexd_builtin_modules += pbap
+obexd_builtin_sources += obexd/plugins/pbap.c \
+ obexd/plugins/vcard.h obexd/plugins/vcard.c \
+ obexd/plugins/phonebook.h \
+ obexd/plugins/phonebook-dummy.c
+endif
+
libexec_PROGRAMS += obexd/src/obexd
obexd/src/server.h obexd/src/server.c
obexd_src_obexd_LDADD = lib/libbluetooth-private.la \
- @DBUS_LIBS@ @GLIB_LIBS@ -ldl
+ @ICAL_LIBS@ @DBUS_LIBS@ @GLIB_LIBS@ -ldl
obexd_src_obexd_LDFLAGS = -Wl,--export-dynamic
-obexd_src_obexd_CFLAGS = @GLIB_CFLAGS@ @DBUS_CFLAGS@ \
+obexd_src_obexd_CFLAGS = @GLIB_CFLAGS@ @DBUS_CFLAGS@ @ICAL_CFLAGS@ \
-DOBEX_PLUGIN_BUILTIN \
-DPLUGINDIR=\""$(obex_plugindir)"\" \
-fPIC -D_FILE_OFFSET_BITS=64
diff --git a/configure.ac b/configure.ac
index 9811cb8..01bd249 100644
--- a/configure.ac
+++ b/configure.ac
test "${enable_usb}" != "no")
AM_CONDITIONAL(CUPS, test "${enable_tools}" = "yes")
+AC_ARG_ENABLE(obex, AC_HELP_STRING([--disable-obex],
+ [disable OBEX profile support]), [enable_obex=${enableval}])
+if (test "${enable_obex}" != "no"); then
+ PKG_CHECK_MODULES(ICAL, libical, dummy=yes,
+ AC_MSG_ERROR(libical is required))
+fi
+AC_SUBST(ICAL_CFLAGS)
+AC_SUBST(ICAL_LIBS)
+AM_CONDITIONAL(OBEX, test "${enable_obex}" != "no")
+
AC_ARG_ENABLE(datafiles, AC_HELP_STRING([--disable-datafiles],
[do not install configuration and data files]),
[enable_datafiles=${enableval}])