summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2008-11-24 11:27:26 +0100
committerMarcel Holtmann <marcel@holtmann.org>2008-11-24 11:27:26 +0100
commitb6e6635dca3c929df0240fad174838e7cd17ccf3 (patch)
tree69e5af070df9ea0a7680f450166c3565758fb30e
parent501d003fce99e6a9c366d9bbac5c2a293dce9163 (diff)
downloadconnman-b6e6635dca3c929df0240fad174838e7cd17ccf3.tar.gz
connman-b6e6635dca3c929df0240fad174838e7cd17ccf3.tar.bz2
connman-b6e6635dca3c929df0240fad174838e7cd17ccf3.zip
Make threading support optional
-rw-r--r--configure.ac11
-rw-r--r--src/Makefile.am4
-rw-r--r--src/main.c4
3 files changed, 14 insertions, 5 deletions
diff --git a/configure.ac b/configure.ac
index c3e4f7f1..48074201 100644
--- a/configure.ac
+++ b/configure.ac
@@ -56,10 +56,15 @@ PKG_CHECK_MODULES(GLIB, glib-2.0, dummy=yes,
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
-PKG_CHECK_MODULES(GTHREAD, gthread-2.0, dummy=yes,
+AC_ARG_ENABLE(threads, AC_HELP_STRING([--enable-threads],
+ [enable threading support]), [
+ AC_DEFINE(NEED_THREADS, 1, [Define if threading support is required])
+
+ PKG_CHECK_MODULES(GTHREAD, gthread-2.0, dummy=yes,
AC_MSG_ERROR(gthread is required))
-AC_SUBST(GTHREAD_CFLAGS)
-AC_SUBST(GTHREAD_LIBS)
+ GLIB_CFLAGS="$GLIB_CFLAGS $GTHREAD_CFLAGS"
+ GLIB_LIBS="$GLIB_LIBS $GTHREAD_LIBS"
+])
PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0, dummy=yes,
AC_MSG_ERROR(libdbus is required))
diff --git a/src/Makefile.am b/src/Makefile.am
index 6c3d6039..f49e18e4 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -15,7 +15,7 @@ connmand_SOURCES = main.c connman.h log.c error.c plugin.c profile.c \
element.c device.c network.c security.c resolver.c \
storage.c manager.c agent.c rtnl.c dbus.c
-connmand_LDADD = @GDBUS_LIBS@ @GLIB_LIBS@ @GTHREAD_LIBS@ -ldl
+connmand_LDADD = @GDBUS_LIBS@ @GLIB_LIBS@ -ldl
connmand_LDFLAGS = -Wl,--export-dynamic -Wl,--version-script=connman.ver
@@ -33,7 +33,7 @@ else
plugindir = $(libdir)/connman/plugins
endif
-AM_CFLAGS = @GTHREAD_CFLAGS@ @GLIB_CFLAGS@ @GDBUS_CFLAGS@ \
+AM_CFLAGS = @GLIB_CFLAGS@ @GDBUS_CFLAGS@ \
-DSTATEDIR=\""$(statedir)"\" \
-DSTORAGEDIR=\""$(storagedir)\"" \
-DPLUGINDIR=\""$(plugindir)"\"
diff --git a/src/main.c b/src/main.c
index 104c5cc5..58108135 100644
--- a/src/main.c
+++ b/src/main.c
@@ -76,8 +76,10 @@ int main(int argc, char *argv[])
DBusError err;
struct sigaction sa;
+#ifdef NEED_THREADS
if (g_thread_supported() == FALSE)
g_thread_init(NULL);
+#endif
context = g_option_context_new(NULL);
g_option_context_add_main_entries(context, options, NULL);
@@ -108,10 +110,12 @@ int main(int argc, char *argv[])
main_loop = g_main_loop_new(NULL, FALSE);
+#ifdef NEED_THREADS
if (dbus_threads_init_default() == FALSE) {
fprintf(stderr, "Can't init usage of threads\n");
exit(1);
}
+#endif
dbus_error_init(&err);