--- a/configure.ac +++ b/configure.ac @@ -83,8 +83,40 @@ gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_MIN_VERSION libcanberra polkit-agent-1 >= $POLKIT_MIN_VERSION xfixes - libnm-glib libnm-util gnome-keyring-1 gnome-desktop-3.0 >= GNOME_DESKTOP_MIN_VERSION) + +########################## +# Check for NetworkManager +########################## +NM_MIN_VERSION=0.9 +AC_ARG_ENABLE(networkmanager, + AS_HELP_STRING([--disable-networkmanager], + [disable NetworkManager support @<:@default=auto@:>@]),, + [enable_networkmanager=auto]) + +if test "x$enable_networkmanager" != "xno"; then + PKG_CHECK_MODULES(NETWORKMANAGER, + [libnm-glib libnm-util gnome-keyring-1], + [have_networkmanager=yes], + [have_networkmanager=no]) + + CINNAMON_CFLAGS="$CINNAMON_CFLAGS $NETWORKMANAGER_CFLAGS" + CINNAMON_LIBS="$CINNAMON_LIBS $NETWORKMANAGER_LIBS" +else + have_networkmanager="no (disabled)" +fi + +if test "x$have_networkmanager" = "xyes"; then + AC_DEFINE(HAVE_NETWORKMANAGER, [1], [Define if we have NetworkManager]) + AC_SUBST([HAVE_NETWORKMANAGER], [1]) +else + if test "x$enable_networkmanager" = "xyes"; then + AC_MSG_ERROR([Couldn't find NetworkManager.]) + fi + AC_SUBST([HAVE_NETWORKMANAGER], [0]) +fi + +AM_CONDITIONAL(HAVE_NETWORKMANAGER, test "$have_networkmanager" = "yes") PKG_CHECK_MODULES(CINNAMON_PERF_HELPER, gtk+-3.0 gio-2.0) @@ -242,3 +274,15 @@ files/Makefile ]) AC_OUTPUT + +echo " +Build configuration: + + Prefix: ${prefix} + Source code location: ${srcdir} + Compiler: ${CC} + Compiler Warnings: $enable_compile_warnings + + Support for NetworkManager: $have_networkmanager + Support for GStreamer recording: $build_recorder +" --- a/js/misc/config.js.in +++ b/js/misc/config.js.in @@ -8,5 +8,7 @@ const GJS_VERSION = '@GJS_VERSION@'; /* 1 if gnome-bluetooth is available, 0 otherwise */ const HAVE_BLUETOOTH = @HAVE_BLUETOOTH@; +/* 1 if networkmanager is available, 0 otherwise */ +const HAVE_NETWORKMANAGER = @HAVE_NETWORKMANAGER@; /* The system TLS CA list */ const CINNAMON_SYSTEM_CA_FILE = '@CINNAMON_SYSTEM_CA_FILE@'; --- a/js/ui/main.js +++ b/js/ui/main.js @@ -57,6 +57,7 @@ const AppletManager = imports.ui.appletManager; const AutomountManager = imports.ui.automountManager; const AutorunManager = imports.ui.autorunManager; +const Config = imports.misc.config; const DeskletManager = imports.ui.deskletManager; const EndSessionDialog = imports.ui.endSessionDialog; const PolkitAuthenticationAgent = imports.ui.polkitAuthenticationAgent; @@ -70,7 +71,7 @@ const RunDialog = imports.ui.runDialog; const Layout = imports.ui.layout; const LookingGlass = imports.ui.lookingGlass; -const NetworkAgent = imports.ui.networkAgent; +const NetworkAgent = Config.HAVE_NETWORKMANAGER ? imports.ui.networkAgent : null; const NotificationDaemon = imports.ui.notificationDaemon; const WindowAttentionHandler = imports.ui.windowAttentionHandler; const Scripting = imports.ui.scripting; --- a/src/Makefile.am +++ b/src/Makefile.am @@ -111,9 +111,7 @@ cinnamon-generic-container.h \ cinnamon-gtk-embed.h \ cinnamon-global.h \ - cinnamon-mobile-providers.h \ cinnamon-mount-operation.h \ - cinnamon-network-agent.h \ cinnamon-perf-log.h \ cinnamon-screenshot.h \ cinnamon-screen-grabber.h \ @@ -125,6 +123,10 @@ cinnamon-window-tracker.h \ cinnamon-wm.h \ cinnamon-xfixes-cursor.h + +if HAVE_NETWORKMANAGER +cinnamon_public_headers_h += cinnamon-mobile-providers.h cinnamon-network-agent.h +endif libcinnamon_la_SOURCES = \ $(cinnamon_built_sources) \ @@ -149,9 +151,7 @@ cinnamon-generic-container.c \ cinnamon-gtk-embed.c \ cinnamon-global.c \ - cinnamon-mobile-providers.c \ cinnamon-mount-operation.c \ - cinnamon-network-agent.c \ cinnamon-perf-log.c \ cinnamon-polkit-authentication-agent.h \ cinnamon-polkit-authentication-agent.c \ @@ -166,6 +166,10 @@ cinnamon-wm.c \ cinnamon-xfixes-cursor.c +if HAVE_NETWORKMANAGER +libcinnamon_la_SOURCES += cinnamon-mobile-providers.c cinnamon-network-agent.c +endif + libcinnamon_la_gir_sources = \ $(filter-out %-private.h $(cinnamon_recorder_non_gir_sources), $(cinnamon_public_headers_h) $(libcinnamon_la_SOURCES)) @@ -277,7 +281,10 @@ libcinnamon_la_CPPFLAGS = $(cinnamon_cflags) Cinnamon-0.1.gir: libcinnamon.la St-1.0.gir -Cinnamon_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-Muffin.0 Soup-2.4 GMenu-3.0 NetworkManager-1.0 NMClient-1.0 +Cinnamon_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-Muffin.0 Soup-2.4 GMenu-3.0 +if HAVE_NETWORKMANAGER +Cinnamon_0_1_gir_INCLUDES += NetworkManager-1.0 NMClient-1.0 +endif Cinnamon_0_1_gir_CFLAGS = $(libcinnamon_la_CPPFLAGS) -I $(srcdir) Cinnamon_0_1_gir_LIBS = libcinnamon.la Cinnamon_0_1_gir_FILES = $(libcinnamon_la_gir_sources)