1
m4_define([unity_control_center_version], 14.04.0)
2
AC_INIT([unity-control-center], [unity_control_center_version])
4
AC_CONFIG_SRCDIR([shell])
5
AC_CONFIG_HEADERS([config.h])
6
AC_CONFIG_MACRO_DIR([m4])
8
AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz tar-ustar check-news])
9
AM_MAINTAINER_MODE([enable])
10
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
21
# .so version for libunity-control-center
22
LIBUNITYCONTROLCENTER_CURRENT=1
23
LIBUNITYCONTROLCENTER_REVISION=0
24
LIBUNITYCONTROLCENTER_AGE=0
25
AC_SUBST(LIBUNITYCONTROLCENTER_CURRENT)
26
AC_SUBST(LIBUNITYCONTROLCENTER_REVISION)
27
AC_SUBST(LIBUNITYCONTROLCENTER_AGE)
29
# Internationalization support
31
IT_PROG_INTLTOOL([0.40.1])
33
GETTEXT_PACKAGE=unity-control-center
34
AC_SUBST(GETTEXT_PACKAGE)
35
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Gettext package])
38
GNOME_COMPILE_WARNINGS([maximum])
41
x_libs="$X_PRE_LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
43
AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums])
45
AC_ARG_ENABLE(documentation,
46
AC_HELP_STRING([--enable-documentation],
47
[build documentation]),,
48
enable_documentation=yes)
49
if test x$enable_documentation = xyes; then
50
AC_PATH_PROG([XSLTPROC], [xsltproc])
51
if test x$XSLTPROC = x; then
52
AC_MSG_ERROR([xsltproc is required to build documentation])
55
AM_CONDITIONAL(BUILD_DOCUMENTATION, test x$enable_documentation = xyes)
58
savecppflags=$CPPFLAGS
59
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
60
AC_CHECK_HEADERS([X11/Xlib.h])
61
AC_CHECK_LIB(Xxf86misc, XF86MiscQueryExtension, [
62
AC_CHECK_HEADERS([X11/extensions/xf86misc.h], [XF86MISC_LIBS="-lXxf86misc"],[],
67
AC_SUBST(XF86MISC_LIBS)
68
AC_CHECK_HEADERS(X11/extensions/XKB.h)
69
CPPFLAGS=$savecppflags
71
AC_CHECK_LIB(m, floor)
73
AC_ARG_ENABLE([systemd],
74
AS_HELP_STRING([--enable-systemd], [Use systemd]),
75
[with_systemd=$enableval],
77
if test "$with_systemd" = "yes" ; then
78
SYSTEMD=libsystemd-login
79
AC_DEFINE(HAVE_SYSTEMD, 1, [Define to 1 if systemd is available])
85
IBUS_REQUIRED_VERSION=1.4.99
88
AS_HELP_STRING([--disable-ibus],
89
[Disable IBus support]),
90
enable_ibus=$enableval,
93
if test "x$enable_ibus" = "xyes" ; then
94
IBUS_MODULE="ibus-1.0 >= $IBUS_REQUIRED_VERSION"
95
AC_DEFINE(HAVE_IBUS, 1, [Defined if IBus support is enabled])
100
dnl ==============================================
101
dnl Check that we meet the dependencies
102
dnl ==============================================
104
GLIB_REQUIRED_VERSION=2.31.2
105
GTK_REQUIRED_VERSION=3.5.13
106
PA_REQUIRED_VERSION=2.0
107
CANBERRA_REQUIRED_VERSION=0.13
108
GDKPIXBUF_REQUIRED_VERSION=2.23.0
109
POLKIT_REQUIRED_VERSION=0.103
110
GSD_REQUIRED_VERSION=3.6.0
111
NETWORK_MANAGER_REQUIRED_VERSION=0.8.992
112
LIBNOTIFY_REQUIRED_VERSION=0.7.3
113
GNOME_DESKTOP_REQUIRED_VERSION=3.5.91
114
SCHEMAS_REQUIRED_VERSION=3.7.2.2
115
LIBWACOM_REQUIRED_VERSION=0.6
116
CLUTTER_REQUIRED_VERSION=1.11.3
117
GOA_REQUIRED_VERSION=3.5.90
119
COMMON_MODULES="gtk+-3.0 >= $GTK_REQUIRED_VERSION
120
glib-2.0 >= $GLIB_REQUIRED_VERSION
124
gsettings-desktop-schemas >= $SCHEMAS_REQUIRED_VERSION
125
libnotify >= $LIBNOTIFY_REQUIRED_VERSION"
127
PKG_CHECK_MODULES(LIBUNITY_CONTROL_CENTER, $COMMON_MODULES)
128
PKG_CHECK_MODULES(LIBLANGUAGE, $COMMON_MODULES gnome-desktop-3.0 fontconfig)
129
PKG_CHECK_MODULES(LIBSHORTCUTS, $COMMON_MODULES x11)
130
PKG_CHECK_MODULES(SHELL, $COMMON_MODULES libgnome-menu-3.0 gio-unix-2.0 x11)
131
PKG_CHECK_MODULES(APPEARANCE_PANEL, $COMMON_MODULES libxml-2.0 gnome-desktop-3.0
132
gdk-pixbuf-2.0 >= $GDKPIXBUF_REQUIRED_VERSION)
133
PKG_CHECK_MODULES(DATETIME_PANEL, $COMMON_MODULES
134
gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION
135
polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION
136
gdk-pixbuf-2.0 >= $GDKPIXBUF_REQUIRED_VERSION)
137
PKG_CHECK_MODULES(DISPLAY_PANEL, $COMMON_MODULES gnome-desktop-3.0 >= 3.1.0 x11)
138
PKG_CHECK_MODULES(INFO_PANEL, $COMMON_MODULES libgtop-2.0 gl x11
139
polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION webkitgtk-3.0)
140
PKG_CHECK_MODULES(KEYBOARD_PANEL, $COMMON_MODULES
141
gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION
143
PKG_CHECK_MODULES(MEDIA_PANEL, $COMMON_MODULES)
144
PKG_CHECK_MODULES(MOUSE_PANEL, $COMMON_MODULES xi >= 1.2
145
gnome-settings-daemon >= $GSD_REQUIRED_VERSION x11)
146
PKG_CHECK_MODULES(NETWORK_PANEL, $COMMON_MODULES)
147
PKG_CHECK_MODULES(POWER_PANEL, $COMMON_MODULES upower-glib >= 0.9.1
148
gnome-settings-daemon >= $GSD_REQUIRED_VERSION)
149
PKG_CHECK_MODULES(COLOR_PANEL, $COMMON_MODULES colord >= 0.1.8)
150
PKG_CHECK_MODULES(PRINTERS_PANEL, $COMMON_MODULES
151
polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION)
152
PKG_CHECK_MODULES(REGION_PANEL, $COMMON_MODULES
153
polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION
154
gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION
157
PKG_CHECK_MODULES(SCREEN_PANEL, $COMMON_MODULES)
158
PKG_CHECK_MODULES(SOUND_PANEL, $COMMON_MODULES libxml-2.0
159
libcanberra-gtk3 >= $CANBERRA_REQUIRED_VERSION
160
libpulse >= $PA_REQUIRED_VERSION
161
libpulse-mainloop-glib >= $PA_REQUIRED_VERSION)
162
PKG_CHECK_MODULES(UNIVERSAL_ACCESS_PANEL, $COMMON_MODULES)
163
PKG_CHECK_MODULES(USER_ACCOUNTS_PANEL, $COMMON_MODULES
164
polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION
166
gdk-pixbuf-2.0 >= $GDKPIXBUF_REQUIRED_VERSION
170
GDESKTOP_PREFIX=`$PKG_CONFIG --variable prefix gsettings-desktop-schemas`
171
AC_SUBST(GDESKTOP_PREFIX)
173
# Check for NetworkManager ~0.9
174
PKG_CHECK_MODULES(NETWORK_MANAGER, NetworkManager >= $NETWORK_MANAGER_REQUIRED_VERSION
175
libnm-glib >= $NETWORK_MANAGER_REQUIRED_VERSION
176
libnm-util >= $NETWORK_MANAGER_REQUIRED_VERSION
177
libnm-gtk >= $NETWORK_MANAGER_REQUIRED_VERSION,
178
[have_networkmanager=yes], have_networkmanager=no)
179
if test "x$have_networkmanager" = xno ; then
180
AC_MSG_WARN(*** Network panel will not be built (NetworkManager ~0.9 or newer not found) ***)
182
AM_CONDITIONAL(BUILD_NETWORK, [test x$have_networkmanager = xyes])
184
# Check for gnome-bluetooth
185
PKG_CHECK_MODULES(BLUETOOTH, $COMMON_MODULES gnome-bluetooth-1.0 >= 3.5.5,
186
[have_bluetooth=yes], have_bluetooth=no)
187
AM_CONDITIONAL(BUILD_BLUETOOTH, [test x$have_bluetooth = xyes])
189
# Check for CUPS 1.4 or newer
190
AC_ARG_ENABLE([cups],
191
AS_HELP_STRING([--disable-cups], [disable CUPS support (default: enabled)]),,
194
if test x"$enable_cups" != x"no" ; then
197
AC_PATH_PROG(CUPS_CONFIG, cups-config)
199
if test x$CUPS_CONFIG = x; then
200
AC_MSG_ERROR([cups-config not found but CUPS support requested])
203
CUPS_API_VERSION=`$CUPS_CONFIG --api-version`
204
CUPS_API_MAJOR=`echo $ECHO_N $CUPS_API_VERSION | cut -d . -f 1`
205
CUPS_API_MINOR=`echo $ECHO_N $CUPS_API_VERSION | cut -d . -f 2`
207
AC_CHECK_HEADERS([cups/cups.h cups/http.h cups/ipp.h cups/ppd.h],,
208
AC_MSG_ERROR([CUPS headers not found but CUPS support requested]))
210
if ! test $CUPS_API_MAJOR -gt 1 -o \
211
$CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 4 ; then
212
AC_MSG_ERROR([CUPS 1.4 or newer not found, but CUPS support requested])
215
CUPS_CFLAGS=`$CUPS_CONFIG --cflags | $SED -e 's/-O\w*//g' -e 's/-m\w*//g'`
216
CUPS_LIBS=`$CUPS_CONFIG --libs`
217
AC_SUBST(CUPS_CFLAGS)
221
AM_CONDITIONAL(BUILD_PRINTERS, [test x"$enable_cups" = x"yes"])
223
# Optional dependency for the user accounts panel
224
AC_ARG_WITH([cheese],
225
AS_HELP_STRING([--with-cheese], [enable cheese webcam support]),,
228
if test x"$with_cheese" != x"no" ; then
229
PKG_CHECK_MODULES(CHEESE, gstreamer-1.0 cheese-gtk >= 3.5.91 cheese clutter-gtk-1.0, [have_cheese=yes], [have_cheese=no])
230
if test x${have_cheese} = xyes; then
231
AC_DEFINE(HAVE_CHEESE, 1, [Define to 1 to enable cheese webcam support])
233
if test x${with_cheese} = xyes && test x${have_cheese} = xno; then
234
AC_MSG_ERROR([Cheese configured but not found])
239
AM_CONDITIONAL(BUILD_CHEESE, test x${have_cheese} = xyes)
241
# wacom is disabled for s390/s390x and non Linux platforms (needs udev)
244
if test "$host_cpu" = s390 -o "$host_cpu" = s390x; then
247
PKG_CHECK_MODULES(WACOM_PANEL, $COMMON_MODULES
248
gnome-settings-daemon >= $GSD_REQUIRED_VERSION
249
xi >= 1.2 x11 libwacom >= $LIBWACOM_REQUIRED_VERSION
250
gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION)
258
AM_CONDITIONAL(BUILD_WACOM, [test x"$have_wacom" = x"yes"])
260
# This is a hard-dependency for the region and user-accounts panels
261
PKG_CHECK_MODULES(ISOCODES, iso-codes)
263
AC_DEFINE_UNQUOTED([ISO_CODES_PREFIX],["`$PKG_CONFIG --variable=prefix iso-codes`"],[ISO codes prefix])
266
# Kerberos kerberos support
267
AC_PATH_PROG(KRB5_CONFIG, krb5-config, no)
268
if test "$KRB5_CONFIG" = "no"; then
269
AC_MSG_ERROR([krb5-config executable not found in your path - should be installed with the kerberos libraries])
272
AC_MSG_CHECKING(for krb5 libraries and flags)
273
KRB5_CFLAGS="`$KRB5_CONFIG --cflags`"
274
KRB5_LIBS="`$KRB5_CONFIG --libs`"
275
AC_MSG_RESULT($KRB5_CFLAGS $KRB5_LIBS)
277
AC_SUBST(KRB5_CFLAGS)
280
USER_ACCOUNTS_PANEL_CFLAGS="$USER_ACCOUNTS_PANEL_CFLAGS $KRB5_CFLAGS"
281
USER_ACCOUNTS_PANEL_LIBS="$USER_ACCOUNTS_PANEL_LIBS $KRB5_LIBS"
283
dnl ==============================================
284
dnl End: Check that we meet the dependencies
285
dnl ==============================================
287
AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal, no)
289
if test x"$GLIB_GENMARSHAL" = xno; then
290
AC_MSG_ERROR([glib-genmarshal executable not found in your path - should be installed with glib])
293
AC_SUBST(GLIB_GENMARSHAL)
295
dnl =======================================
297
dnl =======================================
299
PANELS_DIR="${libdir}/unity-control-center-1/panels"
302
PANEL_CFLAGS="-I\$(top_srcdir)/ -DG_LOG_DOMAIN=\"\\\"\$(cappletname)-cc-panel\\\"\""
303
AC_SUBST(PANEL_CFLAGS)
305
PANEL_LIBS="\$(top_builddir)/shell/libunity-control-center.la"
308
PANEL_LDFLAGS="-export_dynamic -avoid-version -module -no-undefined -export-symbols-regex '^g_io_module_(load|unload)'"
309
AC_SUBST(PANEL_LDFLAGS)
311
dnl ==============================================
313
dnl ==============================================
315
AC_MSG_CHECKING([Enable libsocialweb support])
316
AC_ARG_WITH([libsocialweb],
317
AS_HELP_STRING([--with-libsocialweb],
318
[enable libsocialweb support]),,
319
[with_libsocialweb=no])
320
AC_MSG_RESULT([$with_libsocialweb])
322
if test "x$with_libsocialweb" == "xyes"; then
323
PKG_CHECK_MODULES(SOCIALWEB, libsocialweb-client)
324
AC_DEFINE(HAVE_LIBSOCIALWEB, 1, [Defined if libsocialweb is available])
326
AM_CONDITIONAL(WITH_LIBSOCIALWEB, test "x$with_libsocialweb" = "xyes")
329
dnl =======================================
330
dnl Update Mime Database
331
dnl =======================================
333
AC_PATH_PROG(UPDATE_MIME_DATABASE, update-mime-database, no)
335
AC_ARG_ENABLE(update-mimedb,
336
AS_HELP_STRING([--disable-update-mimedb],
337
[do not update mime database after installation]),,
338
enable_update_mimedb=yes)
339
AM_CONDITIONAL(ENABLE_UPDATE_MIMEDB, test x$enable_update_mimedb = xyes)
341
CONTROL_CENTER_VERSION=unity_control_center_version
342
AC_SUBST(CONTROL_CENTER_VERSION)
344
dnl =======================================
346
dnl =======================================
348
# Turn on the additional warnings last
350
AC_ARG_ENABLE(more-warnings,
351
AS_HELP_STRING([--enable-more-warnings],
352
[Maximum compiler warnings]),
353
set_more_warnings="$enableval",[
354
if test -d $srcdir/.git; then
355
set_more_warnings=yes
360
AC_MSG_CHECKING(for more warnings)
361
if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
364
-Wall -Wclobbered -Wempty-body -Wignored-qualifiers \
365
-Wmissing-field-initializers -Wmissing-parameter-type \
366
-Wold-style-declaration -Woverride-init -Wtype-limits \
368
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
369
-Wnested-externs -Wpointer-arith \
370
-Wcast-align -Wsign-compare \
373
# Only add this when optimizing is enabled (default)
374
AC_MSG_CHECKING([whether optimization is enabled])
375
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#if __OPTIMIZE__ == 0
376
#error No optimization
379
[has_optimization=yes],
380
[has_optimization=no])
381
if test $has_optimization = yes; then
382
CFLAGS="$CFLAGS -Wp,-D_FORTIFY_SOURCE=2"
384
AC_MSG_RESULT($has_optimization)
386
for option in -Wno-strict-aliasing -Wno-sign-compare; do
387
SAVE_CFLAGS="$CFLAGS"
388
CFLAGS="$CFLAGS $option"
389
AC_MSG_CHECKING([whether gcc understands $option])
390
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
393
if test $has_option = no; then
394
CFLAGS="$SAVE_CFLAGS"
396
AC_MSG_RESULT($has_option)
408
shell/libunity-control-center.pc
410
panels/common/Makefile
411
panels/appearance/Makefile
412
panels/appearance/unity-appearance-panel.desktop.in
413
panels/bluetooth/Makefile
414
panels/bluetooth/unity-bluetooth-panel.desktop.in
415
panels/display/Makefile
416
panels/display/unity-display-panel.desktop.in
417
panels/keyboard/Makefile
418
panels/keyboard/unity-keyboard-panel.desktop.in
419
panels/keyboard/unity-keybindings.pc
420
panels/region/Makefile
421
panels/region/unity-region-panel.desktop.in
422
panels/mouse/Makefile
423
panels/mouse/unity-mouse-panel.desktop.in
424
panels/sound/Makefile
425
panels/sound/data/Makefile
426
panels/sound/data/unity-sound-panel.desktop.in
427
panels/sound/data/symbolic-icons/Makefile
428
panels/sound/data/symbolic-icons/scalable/Makefile
429
panels/sound/data/symbolic-icons/scalable/status/Makefile
430
panels/sound/data/icons/Makefile
431
panels/sound/data/icons/16x16/Makefile
432
panels/sound/data/icons/16x16/apps/Makefile
433
panels/sound/data/icons/16x16/devices/Makefile
434
panels/sound/data/icons/16x16/status/Makefile
435
panels/sound/data/icons/22x22/Makefile
436
panels/sound/data/icons/22x22/apps/Makefile
437
panels/sound/data/icons/22x22/status/Makefile
438
panels/sound/data/icons/24x24/Makefile
439
panels/sound/data/icons/24x24/apps/Makefile
440
panels/sound/data/icons/24x24/devices/Makefile
441
panels/sound/data/icons/24x24/status/Makefile
442
panels/sound/data/icons/32x32/Makefile
443
panels/sound/data/icons/32x32/apps/Makefile
444
panels/sound/data/icons/32x32/devices/Makefile
445
panels/sound/data/icons/32x32/status/Makefile
446
panels/sound/data/icons/48x48/Makefile
447
panels/sound/data/icons/48x48/apps/Makefile
448
panels/sound/data/icons/48x48/devices/Makefile
449
panels/sound/data/icons/scalable/Makefile
450
panels/sound/data/icons/scalable/apps/Makefile
451
panels/sound/data/icons/scalable/devices/Makefile
452
panels/screen/Makefile
453
panels/screen/unity-screen-panel.desktop.in
455
panels/info/unity-info-panel.desktop.in
456
panels/power/Makefile
457
panels/power/unity-power-panel.desktop.in
458
panels/power/icons/Makefile
459
panels/power/icons/16x16/Makefile
460
panels/power/icons/22x22/Makefile
461
panels/power/icons/24x24/Makefile
462
panels/power/icons/32x32/Makefile
463
panels/power/icons/48x48/Makefile
464
panels/power/icons/256x256/Makefile
465
panels/color/Makefile
466
panels/color/unity-color-panel.desktop.in
467
panels/color/icons/Makefile
468
panels/color/icons/16x16/Makefile
469
panels/color/icons/22x22/Makefile
470
panels/color/icons/24x24/Makefile
471
panels/color/icons/32x32/Makefile
472
panels/color/icons/48x48/Makefile
473
panels/color/icons/64x64/Makefile
474
panels/color/icons/256x256/Makefile
475
panels/color/icons/scalable/Makefile
476
panels/printers/Makefile
477
panels/printers/unity-printers-panel.desktop.in
478
panels/network/Makefile
479
panels/network/unity-network-panel.desktop.in
480
panels/universal-access/Makefile
481
panels/universal-access/unity-universal-access-panel.desktop.in
482
panels/user-accounts/Makefile
483
panels/user-accounts/data/Makefile
484
panels/user-accounts/data/unity-user-accounts-panel.desktop.in
485
panels/user-accounts/data/icons/Makefile
486
panels/wacom/Makefile
487
panels/wacom/calibrator/Makefile
488
panels/wacom/unity-wacom-panel.desktop.in
491
shell/unity-control-center.desktop.in
495
AC_MSG_NOTICE([unity-control-center was configured with the following options:])
496
if test "x$have_networkmanager" = "xyes"; then
497
AC_MSG_NOTICE([** NetworkManager (Network panel)])
499
AC_MSG_NOTICE([ Network panel disabled])
501
if test "x$have_bluetooth" = "xyes"; then
502
AC_MSG_NOTICE([** gnome-bluetooth (Bluetooth panel)])
504
AC_MSG_NOTICE([ Bluetooth panel disabled])
506
if test "x$enable_cups" = "xyes"; then
507
AC_MSG_NOTICE([** CUPS (Printers panel)])
509
AC_MSG_NOTICE([ Printers panel disabled])
511
if test "x$have_cheese" = "xyes"; then
512
AC_MSG_NOTICE([** Cheese (Users panel webcam support)])
514
AC_MSG_NOTICE([ Users panel webcam support disabled])
516
if test "x$with_libsocialweb" = "xyes"; then
517
AC_MSG_NOTICE([** libsocialweb (Appearance panel Flickr support)])
519
AC_MSG_NOTICE([ Appearance panel Flickr support disabled])
521
if test "x$with_systemd" = "xyes"; then
522
AC_MSG_NOTICE([** systemd (Systemd session tracking)])
524
AC_MSG_NOTICE([ Using ConsoleKit for session tracking])
526
if test "x$have_wacom" = "xyes"; then
527
AC_MSG_NOTICE([** wacom (Wacom tablet panel)])
529
AC_MSG_NOTICE([ Wacom panel disabled])
531
if test "x$enable_ibus" == "xyes"; then
532
AC_MSG_NOTICE([** IBus (Region panel IBus support)])
534
AC_MSG_NOTICE([ Region panel IBus support disabled])
536
AC_MSG_NOTICE([End options])