mirror of
https://github.com/brl/mutter.git
synced 2024-11-24 09:00:42 -05:00
445 lines
14 KiB
Plaintext
445 lines
14 KiB
Plaintext
AC_PREREQ(2.50)
|
|
AC_INIT(src/display.c)
|
|
|
|
AM_CONFIG_HEADER(config.h)
|
|
|
|
# 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987
|
|
# we'll hold the 2.8.x versioning for GNOME 2.8, it was also used
|
|
# for GNOME 2.6, then after GNOME 2.8 we'll have the numbers synced
|
|
# with GNOME
|
|
AM_INIT_AUTOMAKE(metacity, 2.8.3)
|
|
|
|
# Honor aclocal flags
|
|
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
|
|
|
|
GETTEXT_PACKAGE=metacity
|
|
AC_SUBST(GETTEXT_PACKAGE)
|
|
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Name of default gettext domain])
|
|
|
|
AM_MAINTAINER_MODE
|
|
|
|
AC_PROG_INTLTOOL([0.21])
|
|
AC_PROG_CC
|
|
AC_ISC_POSIX
|
|
AC_HEADER_STDC
|
|
AC_LIBTOOL_WIN32_DLL
|
|
AM_PROG_LIBTOOL
|
|
|
|
#### Integer sizes
|
|
|
|
AC_CHECK_SIZEOF(char)
|
|
AC_CHECK_SIZEOF(short)
|
|
AC_CHECK_SIZEOF(long)
|
|
AC_CHECK_SIZEOF(int)
|
|
AC_CHECK_SIZEOF(void *)
|
|
AC_CHECK_SIZEOF(long long)
|
|
AC_CHECK_SIZEOF(__int64)
|
|
|
|
## byte order
|
|
AC_C_BIGENDIAN
|
|
|
|
#### Warnings
|
|
|
|
changequote(,)dnl
|
|
if test "x$GCC" = "xyes"; then
|
|
case " $CFLAGS " in
|
|
*[\ \ ]-Wall[\ \ ]*) ;;
|
|
*) CFLAGS="$CFLAGS -Wall" ;;
|
|
esac
|
|
|
|
# case " $CFLAGS " in
|
|
# *[\ \ ]-Wshadow[\ \ ]*) ;;
|
|
# *) CFLAGS="$CFLAGS -Wshadow" ;;
|
|
# esac
|
|
|
|
case " $CFLAGS " in
|
|
*[\ \ ]-Wchar-subscripts[\ \ ]*) ;;
|
|
*) CFLAGS="$CFLAGS -Wchar-subscripts" ;;
|
|
esac
|
|
|
|
case " $CFLAGS " in
|
|
*[\ \ ]-Wmissing-declarations[\ \ ]*) ;;
|
|
*) CFLAGS="$CFLAGS -Wmissing-declarations" ;;
|
|
esac
|
|
|
|
case " $CFLAGS " in
|
|
*[\ \ ]-Wmissing-prototypes[\ \ ]*) ;;
|
|
*) CFLAGS="$CFLAGS -Wmissing-prototypes" ;;
|
|
esac
|
|
|
|
case " $CFLAGS " in
|
|
*[\ \ ]-Wnested-externs[\ \ ]*) ;;
|
|
*) CFLAGS="$CFLAGS -Wnested-externs" ;;
|
|
esac
|
|
|
|
case " $CFLAGS " in
|
|
*[\ \ ]-Wpointer-arith[\ \ ]*) ;;
|
|
*) CFLAGS="$CFLAGS -Wpointer-arith" ;;
|
|
esac
|
|
|
|
case " $CFLAGS " in
|
|
*[\ \ ]-Wcast-align[\ \ ]*) ;;
|
|
*) CFLAGS="$CFLAGS -Wcast-align" ;;
|
|
esac
|
|
|
|
case " $CFLAGS " in
|
|
*[\ \ ]-Wsign-compare[\ \ ]*) ;;
|
|
*) CFLAGS="$CFLAGS -Wsign-compare" ;;
|
|
esac
|
|
|
|
if test "x$enable_ansi" = "xyes"; then
|
|
case " $CFLAGS " in
|
|
*[\ \ ]-ansi[\ \ ]*) ;;
|
|
*) CFLAGS="$CFLAGS -ansi" ;;
|
|
esac
|
|
|
|
case " $CFLAGS " in
|
|
*[\ \ ]-pedantic[\ \ ]*) ;;
|
|
*) CFLAGS="$CFLAGS -pedantic" ;;
|
|
esac
|
|
fi
|
|
fi
|
|
changequote([,])dnl
|
|
|
|
METACITY_PC_MODULES='gtk+-2.0 >= 2.2.0 pango >= 1.2.0'
|
|
|
|
AC_ARG_ENABLE(config-dialog, [ --enable-config-dialog enable the config dialog that you need with GNOME 2.0 (obsolete with GNOME 2.2)],,enable_config_dialog=no)
|
|
|
|
AM_CONDITIONAL(BUILD_CONFIG_DIALOG, test x$enable_config_dialog = xyes)
|
|
if test x$enable_config_dialog = xyes; then
|
|
AC_DEFINE(BUILD_CONFIG_DIALOG,1,[Build configuration dialog])
|
|
fi
|
|
|
|
AC_ARG_ENABLE(gconf, [ --disable-gconf disable gconf usage, for embedded/size-sensitive non-GNOME builds],,enable_gconf=yes)
|
|
|
|
if test x$enable_gconf = xyes; then
|
|
AC_DEFINE(HAVE_GCONF,1,[Build with gconf support])
|
|
METACITY_PC_MODULES="$METACITY_PC_MODULES gconf-2.0 >= 1.2.0"
|
|
fi
|
|
|
|
AC_ARG_ENABLE(verbose-mode, [ --disable-verbose disable metacity's ability to do verbose logging, for embedded/size-sensitive custom builds],,enable_verbose_mode=yes)
|
|
|
|
if test x$enable_verbose_mode = xyes; then
|
|
AC_DEFINE(WITH_VERBOSE_MODE,1,[Build with verbose mode support])
|
|
fi
|
|
|
|
AC_ARG_ENABLE(sm, [ --disable-sm disable metacity's session management support, for embedded/size-sensitive custom non-GNOME builds],,enable_sm=auto)
|
|
|
|
AC_ARG_ENABLE(startup-notification, [ --disable-startup-notification disable metacity's startup notification support, for embedded/size-sensitive custom non-GNOME builds],,enable_startup_notification=auto)
|
|
|
|
AC_ARG_ENABLE(compositor, [ --disable-compositor disable metacity's compositing manager],,enable_compositor=auto)
|
|
|
|
AC_ARG_ENABLE(xsync, [ --disable-xsync disable metacity's use of the XSync extension],,enable_xsync=auto)
|
|
|
|
AC_ARG_ENABLE(shape, [ --disable-shape disable metacity's use of the shaped window extension],,enable_shape=auto)
|
|
|
|
## try definining HAVE_BACKTRACE
|
|
AC_CHECK_HEADERS(execinfo.h, [AC_CHECK_FUNCS(backtrace)])
|
|
|
|
ALL_LINGUAS="am ar az be bg bn ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu id is it ja ko lt lv mk ml mn ms nl nn no pa pl pt pt_BR ro ru sl sk sq sr sr@Latn sv ta th tk tr uk vi wa zh_CN zh_TW"
|
|
AM_GLIB_GNU_GETTEXT
|
|
|
|
## here we get the flags we'll actually use
|
|
PKG_CHECK_MODULES(METACITY_MESSAGE, gtk+-2.0 >= 2.2.0)
|
|
PKG_CHECK_MODULES(METACITY_WINDOW_DEMO, gtk+-2.0 >= 2.2.0)
|
|
|
|
if test x$enable_config_dialog = xyes; then
|
|
PKG_CHECK_MODULES(METACITY_PROPS, gtk+-2.0 >= 2.2.0 gconf-2.0 >= 1.1.9 libglade-2.0)
|
|
fi
|
|
|
|
if $PKG_CONFIG --atleast-version 1.2.0 pangoxft; then
|
|
echo "pangoxft found"
|
|
else
|
|
AC_MSG_ERROR("Pango 1.2.0 or greater based on Xft2 is required")
|
|
fi
|
|
|
|
STARTUP_NOTIFICATION_VERSION=0.7
|
|
AC_MSG_CHECKING([Startup notification library >= $STARTUP_NOTIFICATION_VERSION])
|
|
if $PKG_CONFIG --atleast-version $STARTUP_NOTIFICATION_VERSION libstartup-notification-1.0; then
|
|
have_startup_notification=yes
|
|
else
|
|
have_startup_notification=no
|
|
fi
|
|
AC_MSG_RESULT($have_startup_notification)
|
|
|
|
if test x$enable_startup_notification = xyes; then
|
|
have_startup_notification=yes
|
|
echo "startup-notification support forced on"
|
|
elif test x$enable_startup_notification = xauto; then
|
|
true
|
|
else
|
|
have_startup_notification=no
|
|
fi
|
|
|
|
if test x$have_startup_notification = xyes; then
|
|
echo "Building with libstartup-notification"
|
|
METACITY_PC_MODULES="$METACITY_PC_MODULES libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_VERSION"
|
|
AC_DEFINE(HAVE_STARTUP_NOTIFICATION, , [Building with startup notification support])
|
|
else
|
|
echo "Building without libstartup-notification"
|
|
fi
|
|
|
|
XCOMPOSITE_VERSION=1.0
|
|
AC_MSG_CHECKING([Xcomposite >= $XCOMPOSITE_VERSION])
|
|
if $PKG_CONFIG --atleast-version $XCOMPOSITE_VERSION xcomposite; then
|
|
have_xcomposite=yes
|
|
else
|
|
have_xcomposite=no
|
|
fi
|
|
AC_MSG_RESULT($have_xcomposite)
|
|
|
|
if test x$enable_compositor = xyes; then
|
|
have_xcomposite=yes
|
|
echo "CompositeExt support forced on"
|
|
elif test x$enable_compositor = xauto; then
|
|
true
|
|
else
|
|
have_xcomposite=no
|
|
fi
|
|
|
|
if test x$have_xcomposite = xyes; then
|
|
echo "Building with CompositeExt"
|
|
METACITY_PC_MODULES="$METACITY_PC_MODULES xcomposite >= $XCOMPOSITE_VERSION xfixes xrender xdamage"
|
|
AC_DEFINE(HAVE_COMPOSITE_EXTENSIONS, , [Building with compositing manager support])
|
|
else
|
|
echo "Building without compositing manager"
|
|
fi
|
|
|
|
PKG_CHECK_MODULES(METACITY, $METACITY_PC_MODULES)
|
|
|
|
AC_PATH_XTRA
|
|
|
|
ALL_X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
|
|
|
|
# Check for Xinerama extension (Solaris impl or Xfree impl)
|
|
metacity_save_cppflags="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
|
|
|
AC_ARG_ENABLE(xinerama,[ --disable-xinerama disable metacity's use of the Xinerama extension],
|
|
try_xinerama=$enable_xinerama,try_xinerama=yes)
|
|
|
|
use_solaris_xinerama=no
|
|
use_xfree_xinerama=no
|
|
if test "${try_xinerama}" != no; then
|
|
case "$host" in
|
|
*-*-solaris*)
|
|
# Check for solaris
|
|
use_solaris_xinerama=yes
|
|
AC_CHECK_LIB(Xext, XineramaGetInfo,
|
|
use_solaris_xinerama=yes, use_solaris_xinerama=no,
|
|
$ALL_X_LIBS)
|
|
if test "x$use_solaris_xinerama" = "xyes"; then
|
|
AC_CHECK_HEADER(X11/extensions/xinerama.h,
|
|
if test -z "`echo $ALL_X_LIBS | grep "\-lXext" 2> /dev/null`"; then
|
|
X_EXTRA_LIBS="-lXext $X_EXTRA_LIBS"
|
|
fi
|
|
AC_DEFINE(HAVE_SOLARIS_XINERAMA, , [Have Solaris-style Xinerama])
|
|
AC_DEFINE(HAVE_XINERAMA, , [Have some version of Xinerama]),
|
|
use_solaris_xinerama=no,
|
|
[#include <X11/Xlib.h>])
|
|
fi
|
|
AC_MSG_CHECKING(for Xinerama support on Solaris)
|
|
AC_MSG_RESULT($use_solaris_xinerama);
|
|
;;
|
|
*)
|
|
# Check for XFree
|
|
use_xfree_xinerama=yes
|
|
AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
|
|
[AC_CHECK_HEADER(X11/extensions/Xinerama.h,
|
|
X_EXTRA_LIBS="-lXinerama $X_EXTRA_LIBS"
|
|
if test -z "`echo $ALL_X_LIBS | grep "\-lXext" 2> /dev/null`"; then
|
|
X_EXTRA_LIBS="-lXext $X_EXTRA_LIBS"
|
|
fi
|
|
AC_DEFINE(HAVE_XFREE_XINERAMA, , [Have XFree86-style Xinerama])
|
|
AC_DEFINE(HAVE_XINERAMA,, [Have some version of Xinerama]),
|
|
use_xfree_xinerama=no,
|
|
[#include <X11/Xlib.h>])],
|
|
use_xfree_xinerama=no, -lXext $ALL_X_LIBS)
|
|
AC_MSG_CHECKING(for Xinerama support on XFree86)
|
|
AC_MSG_RESULT($use_xfree_xinerama);
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
CPPFLAGS="$metacity_save_cppflags"
|
|
|
|
SHAPE_LIBS=
|
|
found_shape=no
|
|
AC_CHECK_LIB(Xext, XShapeQueryExtension,
|
|
[AC_CHECK_HEADER(X11/extensions/shape.h,
|
|
SHAPE_LIBS=-lXext found_shape=yes)],
|
|
, $ALL_X_LIBS)
|
|
|
|
if test x$enable_shape = xno; then
|
|
found_shape=no
|
|
fi
|
|
|
|
if test x$enable_shape = xyes; then
|
|
if test "$found_shape" = "no"; then
|
|
AC_MSG_ERROR([--enable-shape forced and Shape not found])
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
if test "x$found_shape" = "xyes"; then
|
|
AC_DEFINE(HAVE_SHAPE, , [Have the shape extension library])
|
|
fi
|
|
|
|
found_xkb=no
|
|
AC_CHECK_LIB(X11, XkbQueryExtension,
|
|
[AC_CHECK_HEADER(X11/XKBlib.h,
|
|
found_xkb=yes)],
|
|
, $ALL_X_LIBS)
|
|
|
|
if test "x$found_xkb" = "xyes"; then
|
|
AC_DEFINE(HAVE_XKB, , [Have keyboard extension library])
|
|
fi
|
|
|
|
|
|
RANDR_LIBS=
|
|
found_randr=no
|
|
AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
|
|
[AC_CHECK_HEADER(X11/extensions/Xrandr.h,
|
|
RANDR_LIBS=-lXrandr found_randr=yes,,
|
|
[#include <X11/Xlib.h>])],
|
|
, -lXrender -lXext $ALL_X_LIBS)
|
|
|
|
if test "x$found_randr" = "xyes"; then
|
|
AC_DEFINE(HAVE_RANDR, , [Have the Xrandr extension library])
|
|
fi
|
|
|
|
XSYNC_LIBS=
|
|
found_xsync=no
|
|
AC_CHECK_LIB(Xext, XSyncQueryExtension,
|
|
[AC_CHECK_HEADER(X11/extensions/sync.h,
|
|
found_xsync=yes,,
|
|
[#include <X11/Xlib.h>])],
|
|
, $ALL_X_LIBS)
|
|
|
|
if test x$enable_xsync = xno; then
|
|
found_xsync=no
|
|
fi
|
|
|
|
if test x$enable_xsync = xyes; then
|
|
if test "$found_xsync" = "no"; then
|
|
AC_MSG_ERROR([--enable-xsync forced and XSync not found])
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
if test "x$found_xsync" = "xyes"; then
|
|
XSYNC_LIBS=-lXext
|
|
AC_DEFINE(HAVE_XSYNC, , [Have the Xsync extension library])
|
|
fi
|
|
|
|
METACITY_LIBS="$XSYNC_LIBS $RANDR_LIBS $SHAPE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $METACITY_LIBS"
|
|
METACITY_MESSAGE_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $METACITY_MESSAGE_LIBS"
|
|
METACITY_WINDOW_DEMO_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $METACITY_WINDOW_DEMO_LIBS"
|
|
METACITY_PROPS_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $METACITY_PROPS_LIBS"
|
|
|
|
found_sm=no
|
|
case "$METACITY_LIBS" in
|
|
*-lSM*)
|
|
found_sm=yes
|
|
;;
|
|
*)
|
|
AC_CHECK_LIB(SM, SmcSaveYourselfDone,
|
|
[AC_CHECK_HEADERS(X11/SM/SMlib.h,
|
|
METACITY_LIBS="-lSM -lICE $METACITY_LIBS" found_sm=no)],
|
|
, $METACITY_LIBS)
|
|
;;
|
|
esac
|
|
|
|
if test x$enable_sm = xno; then
|
|
found_sm=no
|
|
fi
|
|
|
|
if test x$enable_sm = xyes; then
|
|
if test "$found_sm" = "no"; then
|
|
AC_MSG_ERROR([--enable-sm forced and -lSM not found])
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
if test "$found_sm" = "yes"; then
|
|
AC_DEFINE(HAVE_SM, , [Building with SM support])
|
|
fi
|
|
|
|
AM_CONDITIONAL(HAVE_SM, test "$found_sm" = "yes")
|
|
|
|
HOST_ALIAS=$host_alias
|
|
AC_SUBST(HOST_ALIAS)
|
|
|
|
AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
|
|
|
|
if test x"$GDK_PIXBUF_CSOURCE" = xno; then
|
|
AC_MSG_ERROR([gdk-pixbuf-csource executable not found in your path - should be installed with GTK])
|
|
fi
|
|
|
|
AC_SUBST(GDK_PIXBUF_CSOURCE)
|
|
|
|
## hack to work with old GTK versions for now
|
|
save_LDFLAGS=$LDFLAGS
|
|
LDFLAGS="$METACITY_LIBS $LDFLAGS"
|
|
AC_CHECK_FUNCS(gdk_pixbuf_new_from_stream)
|
|
LDFLAGS=$save_LDFLAGS
|
|
|
|
if test x$enable_gconf = xyes; then
|
|
AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
|
|
if test x"$GCONFTOOL" = xno; then
|
|
AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
|
|
fi
|
|
|
|
AM_GCONF_SOURCE_2
|
|
fi
|
|
|
|
AC_OUTPUT([
|
|
Makefile
|
|
doc/Makefile
|
|
src/Makefile
|
|
src/wm-tester/Makefile
|
|
src/libmetacity-private.pc
|
|
src/tools/Makefile
|
|
src/themes/Makefile
|
|
po/Makefile.in
|
|
])
|
|
|
|
if test x$enable_gconf = xno; then
|
|
echo "*** WARNING WARNING WARNING WARNING WARNING"
|
|
echo "*** Building without GConf"
|
|
echo "*** This means there's no way to change prefs except"
|
|
echo "*** hacking source code, at least for now."
|
|
echo "*** Also, some prefs may have broken defaults."
|
|
echo "*** Patches needed for a simple no-gconf config file."
|
|
echo "*** This is intended for embedded systems etc., not for normal use."
|
|
fi
|
|
|
|
if test x$enable_verbose_mode = xno; then
|
|
echo "*** WARNING WARNING WARNING WARNING WARNING"
|
|
echo "*** Building without verbose mode"
|
|
echo "*** This means there's no way to debug metacity problems."
|
|
echo "*** Please build normal desktop versions of metacity"
|
|
echo "*** with verbose mode enabled so users can use it when they report bugs."
|
|
fi
|
|
|
|
dnl ==========================================================================
|
|
echo "
|
|
metacity-$VERSION:
|
|
|
|
prefix: ${prefix}
|
|
source code location: ${srcdir}
|
|
compiler: ${CC}
|
|
|
|
GConf: ${enable_gconf}
|
|
XFree86 Xinerama: ${use_xfree_xinerama}
|
|
Solaris Xinerama: ${use_solaris_xinerama}
|
|
Startup notification: ${have_startup_notification}
|
|
Compositing manager: ${have_xcomposite}
|
|
Session management: ${found_sm}
|
|
Shape extension: ${found_shape}
|
|
Resize-and-rotate: ${found_randr}
|
|
Xsync: ${found_xsync}
|
|
Deprecated config dialog: ${enable_config_dialog}
|
|
"
|
|
echo "This is the UNSTABLE branch of metacity, use 2.8.1.x for stable (gnome-2-6 branch in CVS)"
|