diff -ur linuxmint-Cinnamon-ded6f27/configure.ac linuxmint-Cinnamon-ded6f27-new/configure.ac --- linuxmint-Cinnamon-ded6f27/configure.ac 2013-05-18 10:05:48.348071215 -0500 +++ linuxmint-Cinnamon-ded6f27-new/configure.ac 2013-05-18 10:11:18.163006742 -0500 @@ -81,8 +81,39 @@ libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_MIN_VERSION gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_MIN_VERSION libcanberra - polkit-agent-1 >= $POLKIT_MIN_VERSION xfixes - libnm-glib libnm-util gnome-keyring-1) + polkit-agent-1 >= $POLKIT_MIN_VERSION xfixes) +########################## +# 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) @@ -239,3 +270,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 +" diff -ur linuxmint-Cinnamon-ded6f27/js/misc/config.js.in linuxmint-Cinnamon-ded6f27-new/js/misc/config.js.in --- linuxmint-Cinnamon-ded6f27/js/misc/config.js.in 2013-05-18 10:05:48.367071096 -0500 +++ linuxmint-Cinnamon-ded6f27-new/js/misc/config.js.in 2013-05-18 10:12:00.806737802 -0500 @@ -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@'; diff -ur linuxmint-Cinnamon-ded6f27/js/ui/main.js linuxmint-Cinnamon-ded6f27-new/js/ui/main.js --- linuxmint-Cinnamon-ded6f27/js/ui/main.js 2013-05-18 10:05:48.369071084 -0500 +++ linuxmint-Cinnamon-ded6f27-new/js/ui/main.js 2013-05-18 10:13:07.492316409 -0500 @@ -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; diff -ur linuxmint-Cinnamon-ded6f27/src/Makefile.am linuxmint-Cinnamon-ded6f27-new/src/Makefile.am --- linuxmint-Cinnamon-ded6f27/src/Makefile.am 2013-05-18 10:05:48.365071109 -0500 +++ linuxmint-Cinnamon-ded6f27-new/src/Makefile.am 2013-05-18 10:15:43.092329070 -0500 @@ -110,9 +110,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-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) \ $(cinnamon_public_headers_h) \ @@ -147,9 +149,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 \ @@ -164,6 +164,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)) @@ -275,7 +279,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)