diff --git a/configure.ac b/configure.ac index b3df2dd..6b10ce4 100644 --- a/configure.ac +++ b/configure.ac @@ -143,13 +143,57 @@ PKG_CHECK_MODULES(MOUSE_PANEL, $COMMON_MODULES xi >= 1.2 gnome-settings-daemon >= $GSD_REQUIRED_VERSION x11) PKG_CHECK_MODULES(NETWORK_PANEL, $COMMON_MODULES gmodule-2.0) PKG_CHECK_MODULES(NOTIFICATIONS_PANEL, $COMMON_MODULES libgnome-menu-3.0) -PKG_CHECK_MODULES(ONLINE_ACCOUNTS_PANEL, $COMMON_MODULES goa-1.0 goa-backend-1.0 >= $GOA_REQUIRED_VERSION) + +build_online_accounts=false +AC_ARG_ENABLE(goa, + AC_HELP_STRING([--disable-goa], + [disable online accounts management panel]), + [case "${enableval}" in + yes) WANT_ONLINE_ACCOUNTS=yes ;; + no) WANT_ONLINE_ACCOUNTS=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --disable-goa) ;; + esac], + [WANT_ONLINE_ACCOUNTS=yes]) dnl Default value + +if test x$WANT_ONLINE_ACCOUNTS = xyes; then + PKG_CHECK_MODULES(ONLINE_ACCOUNTS_PANEL, $COMMON_MODULES goa-1.0 goa-backend-1.0 >= $GOA_REQUIRED_VERSION) + build_online_accounts=true +fi +if test "x$build_online_accounts" = xtrue ; then + AC_DEFINE(BUILD_ONLINE_ACCOUNTS, 1, [Define to 1 to build the Online Accounts panel]) +fi +AM_CONDITIONAL(BUILD_ONLINE_ACCOUNTS, test "x$build_online_accounts" = "xtrue") +AC_SUBST(ONLINE_ACCOUNTS_PANEL_CFLAGS) +AC_SUBST(ONLINE_ACCOUNTS_PANEL_LIBS) + PKG_CHECK_MODULES(POWER_PANEL, $COMMON_MODULES upower-glib >= 0.9.1 gnome-settings-daemon >= $GSD_REQUIRED_VERSION) -PKG_CHECK_MODULES(COLOR_PANEL, $COMMON_MODULES - colord >= $COLORD_REQUIRED_VERSION - colord-gtk >= $COLORD_GTK_REQUIRED_VERSION - gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION) + +build_color=false +AC_ARG_ENABLE(color, + AC_HELP_STRING([--disable-color], + [disable color management panel]), + [case "${enableval}" in + yes) WANT_COLOR=yes ;; + no) WANT_COLOR=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --disable-color) ;; + esac], + [WANT_COLOR=yes]) dnl Default value + +if test x$WANT_COLOR = xyes; then + PKG_CHECK_MODULES(COLOR_PANEL, $COMMON_MODULES + colord >= $COLORD_REQUIRED_VERSION + colord-gtk >= $COLORD_GTK_REQUIRED_VERSION + gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION) + build_color=true +fi +if test "x$build_color" = xtrue ; then + AC_DEFINE(BUILD_COLOR, 1, [Define to 1 to build the Color panel]) +fi +AM_CONDITIONAL(BUILD_COLOR, test "x$build_color" = "xtrue") +AC_SUBST(COLOR_PANEL_CFLAGS) +AC_SUBST(COLOR_PANEL_LIBS) + PKG_CHECK_MODULES(PRINTERS_PANEL, $COMMON_MODULES polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION) PKG_CHECK_MODULES(PRIVACY_PANEL, $COMMON_MODULES) @@ -210,9 +254,22 @@ else fi AM_CONDITIONAL(HAVE_MM_GLIB, test "x$have_libmm_glib" = "xyes") -# Check for gnome-bluetooth -PKG_CHECK_MODULES(BLUETOOTH, $COMMON_MODULES gnome-bluetooth-1.0 >= 3.5.5, - [have_bluetooth=yes], have_bluetooth=no) +have_bluetooth=no +AC_ARG_ENABLE(bluetooth, + AC_HELP_STRING([--disable-bluetooth], + [disable bluetooth management panel]), + [case "${enableval}" in + yes) WANT_BLUETOOTH=yes ;; + no) WANT_BLUETOOTH=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluetooth) ;; + esac], + [WANT_BLUETOOTH=yes]) dnl Default value + +if test x$WANT_BLUETOOTH = xyes; then + # Check for gnome-bluetooth + PKG_CHECK_MODULES(BLUETOOTH, $COMMON_MODULES gnome-bluetooth-1.0 >= 3.5.5) + have_bluetooth=yes +fi if test "x$have_bluetooth" = xyes ; then AC_DEFINE(BUILD_BLUETOOTH, 1, [Define to 1 to build the Bluetooth panel]) fi @@ -289,12 +346,23 @@ case $host_os in if test "$host_cpu" = s390 -o "$host_cpu" = s390x; then have_wacom=no else - PKG_CHECK_MODULES(WACOM_PANEL, $COMMON_MODULES - gnome-settings-daemon >= $GSD_REQUIRED_VERSION - xi >= 1.2 x11 libwacom >= $LIBWACOM_REQUIRED_VERSION - gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION) - AC_DEFINE(BUILD_WACOM, 1, [Define to 1 to build the Wacom panel]) - have_wacom=yes + AC_ARG_ENABLE(wacom, + AC_HELP_STRING([--disable-wacom], + [disable wacom management panel]), + [case "${enableval}" in + yes) WANT_WACOM=yes ;; + no) WANT_WACOM=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --disable-wacom) ;; + esac], + [WANT_WACOM=yes]) dnl Default value + + if test x$WANT_WACOM = xyes; then + PKG_CHECK_MODULES(WACOM_PANEL, $COMMON_MODULES + gnome-settings-daemon >= $GSD_REQUIRED_VERSION + xi >= 1.2 x11 libwacom >= $LIBWACOM_REQUIRED_VERSION + gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION) + have_wacom=yes + fi fi ;; *) @@ -555,6 +623,11 @@ if test "x$have_bluetooth" = "xyes"; then else AC_MSG_NOTICE([ Bluetooth panel disabled]) fi +if test "x$build_color" = "xtrue"; then + AC_MSG_NOTICE([** colord (Color panel)]) +else + AC_MSG_NOTICE([ Color panel disabled]) +fi if test "x$enable_cups" = "xyes"; then AC_MSG_NOTICE([** CUPS (Printers panel)]) else @@ -565,11 +638,21 @@ if test "x$have_cheese" = "xyes"; then else AC_MSG_NOTICE([ Users panel webcam support disabled]) fi +if test "x$build_online_accounts" = "xtrue"; then + AC_MSG_NOTICE([** gnome-online-accounts (Online Accounts panel)]) +else + AC_MSG_NOTICE([ Online Accounts panel disabled]) +fi if test "x$with_libsocialweb" = "xyes"; then AC_MSG_NOTICE([** libsocialweb (Background panel Flickr support)]) else AC_MSG_NOTICE([ Background panel Flickr support disabled]) fi +if test "x$build_wacom" = "xtrue"; then + AC_MSG_NOTICE([** libwacom (Wacom Graphics Tablet panel)]) +else + AC_MSG_NOTICE([ Wacom Graphics Tablet panel disabled]) +fi if test "x$have_wacom" = "xyes"; then AC_MSG_NOTICE([** wacom (Wacom tablet panel)]) else diff --git a/panels/Makefile.am b/panels/Makefile.am index 9961c25..0c54622 100644 --- a/panels/Makefile.am +++ b/panels/Makefile.am @@ -2,11 +2,9 @@ SUBDIRS= \ common \ background \ power \ - color \ display \ mouse \ notifications \ - online-accounts \ region \ info \ sound \ @@ -18,6 +16,10 @@ SUBDIRS= \ privacy \ sharing +if BUILD_COLOR +SUBDIRS += color +endif + if BUILD_WACOM SUBDIRS += wacom endif @@ -34,4 +36,8 @@ if BUILD_BLUETOOTH SUBDIRS += bluetooth endif +if BUILD_ONLINE_ACCOUNTS +SUBDIRS += online-accounts +endif + -include $(top_srcdir)/git.mk diff --git a/shell/Makefile.am b/shell/Makefile.am index f9f9070..094aca1 100644 --- a/shell/Makefile.am +++ b/shell/Makefile.am @@ -51,14 +51,12 @@ gnome_control_center_LDADD = \ $(top_builddir)/libgd/libgd.la \ $(top_builddir)/panels/common/liblanguage.la \ $(top_builddir)/panels/background/libbackground.la \ - $(top_builddir)/panels/color/libcolor.la \ $(top_builddir)/panels/datetime/libdate_time.la \ $(top_builddir)/panels/display/libdisplay.la \ $(top_builddir)/panels/info/libinfo.la \ $(top_builddir)/panels/keyboard/libkeyboard.la \ $(top_builddir)/panels/mouse/libmouse-properties.la \ $(top_builddir)/panels/notifications/libnotifications.la \ - $(top_builddir)/panels/online-accounts/libonline-accounts.la \ $(top_builddir)/panels/power/libpower.la \ $(top_builddir)/panels/privacy/libprivacy.la \ $(top_builddir)/panels/region/libregion.la \ @@ -84,6 +82,14 @@ if BUILD_BLUETOOTH gnome_control_center_LDADD += $(top_builddir)/panels/bluetooth/libbluetooth.la endif +if BUILD_COLOR +gnome_control_center_LDADD += $(top_builddir)/panels/color/libcolor.la +endif + +if BUILD_ONLINE_ACCOUNTS +gnome_control_center_LDADD += $(top_builddir)/panels/online-accounts/libonline-accounts.la +endif + AM_CPPFLAGS = -DGNOMELOCALEDIR="\"$(datadir)/locale\"" sysdir = $(datadir)/applications diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c index 20a5262..1cef85d 100644 --- a/shell/cc-panel-loader.c +++ b/shell/cc-panel-loader.c @@ -33,7 +33,9 @@ extern GType cc_background_panel_get_type (void); #ifdef BUILD_BLUETOOTH extern GType cc_bluetooth_panel_get_type (void); #endif /* BUILD_BLUETOOTH */ +#ifdef BUILD_COLOR extern GType cc_color_panel_get_type (void); +#endif /* BUILD_COLOR */ extern GType cc_date_time_panel_get_type (void); extern GType cc_display_panel_get_type (void); extern GType cc_info_panel_get_type (void); @@ -43,7 +45,9 @@ extern GType cc_mouse_panel_get_type (void); extern GType cc_network_panel_get_type (void); #endif /* BUILD_NETWORK */ extern GType cc_notifications_panel_get_type (void); +#ifdef BUILD_ONLINE_ACCOUNTS extern GType cc_goa_panel_get_type (void); +#endif /* BUILD_ONLINE_ACCOUNTS */ extern GType cc_power_panel_get_type (void); #ifdef BUILD_PRINTERS extern GType cc_printers_panel_get_type (void); @@ -77,7 +81,9 @@ static struct { #ifdef BUILD_BLUETOOTH PANEL_TYPE("bluetooth", cc_bluetooth_panel_get_type ), #endif +#ifdef BUILD_COLOR PANEL_TYPE("color", cc_color_panel_get_type ), +#endif PANEL_TYPE("datetime", cc_date_time_panel_get_type ), PANEL_TYPE("display", cc_display_panel_get_type ), PANEL_TYPE("info", cc_info_panel_get_type ), @@ -87,7 +93,9 @@ static struct { PANEL_TYPE("network", cc_network_panel_get_type ), #endif PANEL_TYPE("notifications", cc_notifications_panel_get_type), +#ifdef BUILD_ONLINE_ACCOUNTS PANEL_TYPE("online-accounts", cc_goa_panel_get_type ), +#endif PANEL_TYPE("power", cc_power_panel_get_type ), #ifdef BUILD_PRINTERS PANEL_TYPE("printers", cc_printers_panel_get_type ),