522 lines
15 KiB
Plaintext
522 lines
15 KiB
Plaintext
AC_PREREQ(2.50)
|
|
|
|
# Fibonacci sequence for micro version numbering:
|
|
# 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987
|
|
AC_INIT([metacity], [2.11.5],
|
|
[http://bugzilla.gnome.org/enter_bug.cgi?product=metacity])
|
|
|
|
AC_CONFIG_SRCDIR(src/display.c)
|
|
AC_CONFIG_HEADERS(config.h)
|
|
|
|
AM_INIT_AUTOMAKE
|
|
AM_MAINTAINER_MODE
|
|
|
|
# Honor aclocal flags
|
|
AC_SUBST(ACLOCAL_AMFLAGS, "\${ACLOCAL_FLAGS}")
|
|
|
|
GETTEXT_PACKAGE=metacity
|
|
AC_SUBST(GETTEXT_PACKAGE)
|
|
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Name of default gettext domain])
|
|
|
|
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(gconf,
|
|
AC_HELP_STRING([--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,
|
|
AC_HELP_STRING([--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,
|
|
AC_HELP_STRING([--disable-sm],
|
|
[disable metacity's session management support, for embedded/size-sensitive custom non-GNOME builds]),,
|
|
enable_sm=auto)
|
|
|
|
AC_ARG_ENABLE(startup-notification,
|
|
AC_HELP_STRING([--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,
|
|
AC_HELP_STRING([--disable-compositor],
|
|
[disable metacity's compositing manager]),,
|
|
enable_compositor=auto)
|
|
|
|
AC_ARG_ENABLE(xsync,
|
|
AC_HELP_STRING([--disable-xsync],
|
|
[disable metacity's use of the XSync extension]),,
|
|
enable_xsync=auto)
|
|
|
|
AC_ARG_ENABLE(render,
|
|
AC_HELP_STRING([--disable-render],
|
|
[disable metacity's use of the RENDER extension]),,
|
|
enable_render=auto)
|
|
|
|
AC_ARG_ENABLE(shape,
|
|
AC_HELP_STRING([--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 bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu hy id is it ja ko lt lv mk ml mn ms nb ne nl nn no or pa pl pt pt_BR ro ru rw sl sk sq sr sr@Latn sv ta th tk tr uk vi wa xh zh_CN zh_TW"
|
|
AM_GLIB_GNU_GETTEXT
|
|
|
|
## here we get the flags we'll actually use
|
|
# GOptionEntry requires glib-2.6.0
|
|
PKG_CHECK_MODULES(ALL, glib-2.0 >= 2.6.0)
|
|
# gtk_window_set_icon_name requires gtk2+-2.60
|
|
PKG_CHECK_MODULES(METACITY_MESSAGE, gtk+-2.0 >= 2.6.0)
|
|
PKG_CHECK_MODULES(METACITY_WINDOW_DEMO, gtk+-2.0 >= 2.6.0)
|
|
|
|
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
|
|
|
|
## init this, it gets set either in the compositor check below
|
|
## or the render-specific check later
|
|
have_xrender=no
|
|
|
|
XCOMPOSITE_VERSION=0.2
|
|
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
|
|
echo "Not building compositing manager by default now, must enable explicitly to get it. And it doesn't work, so don't bother unless you want to hack on it..."
|
|
have_xcomposite=no
|
|
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])
|
|
|
|
## force on render also
|
|
have_xrender=yes
|
|
else
|
|
echo "Building without compositing manager"
|
|
fi
|
|
|
|
## if no compositor, still possibly enable render
|
|
if test x$have_xcomposite = xno; then
|
|
XRENDER_VERSION=0.0
|
|
AC_MSG_CHECKING([xrender >= $XRENDER_VERSION])
|
|
if $PKG_CONFIG --atleast-version $XRENDER_VERSION xrender; then
|
|
have_xrender=yes
|
|
else
|
|
have_xrender=no
|
|
fi
|
|
AC_MSG_RESULT($have_xrender)
|
|
|
|
if test x$enable_render = xyes; then
|
|
have_xrender=yes
|
|
echo "Render support forced on"
|
|
elif test x$enable_render = xauto; then
|
|
true
|
|
else
|
|
have_xrender=no
|
|
fi
|
|
|
|
if test x$have_xrender = xyes; then
|
|
echo "Building with Render"
|
|
METACITY_PC_MODULES="$METACITY_PC_MODULES xrender >= $XRENDER_VERSION"
|
|
fi
|
|
fi ## have_composite
|
|
|
|
if test x$have_xrender = xyes; then
|
|
AC_DEFINE(HAVE_RENDER, , [Building with Render extension support])
|
|
fi
|
|
|
|
AC_MSG_CHECKING([Xcursor])
|
|
if $PKG_CONFIG xcursor; then
|
|
have_xcursor=yes
|
|
else
|
|
have_xcursor=no
|
|
fi
|
|
AC_MSG_RESULT($have_xcursor)
|
|
|
|
if test x$have_xcursor = xyes; then
|
|
echo "Building with Xcursor"
|
|
METACITY_PC_MODULES="$METACITY_PC_MODULES xcursor"
|
|
AC_DEFINE(HAVE_XCURSOR, , [Building with Xcursor support])
|
|
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,
|
|
AC_HELP_STRING([--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_CONFIG_FILES([
|
|
Makefile
|
|
doc/Makefile
|
|
doc/man/Makefile
|
|
src/Makefile
|
|
src/wm-tester/Makefile
|
|
src/libmetacity-private.pc
|
|
src/tools/Makefile
|
|
src/themes/Makefile
|
|
po/Makefile.in
|
|
])
|
|
|
|
AC_OUTPUT
|
|
|
|
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}
|
|
Render: ${have_xrender}
|
|
Xcursor: ${have_xcursor}
|
|
"
|
|
echo "This is the UNSTABLE branch of metacity"
|
|
echo "Use 2.10.x for stable (gnome-2-10 branch in CVS)"
|