configure.in 12.3 KB
Newer Older
1
AC_PREREQ(2.50)
rhp's avatar
...  
rhp committed
2 3 4 5
AC_INIT(src/display.c)

AM_CONFIG_HEADER(config.h)

6
# 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987 
Havoc Pennington's avatar
Havoc Pennington committed
7
# releases on a branch add a 4th version like 2.4.21.1
Havoc Pennington's avatar
2.5.1  
Havoc Pennington committed
8
AM_INIT_AUTOMAKE(metacity, 2.5.1)
rhp's avatar
...  
rhp committed
9

10 11 12
# Honor aclocal flags
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"

rhp's avatar
...  
rhp committed
13 14
GETTEXT_PACKAGE=metacity
AC_SUBST(GETTEXT_PACKAGE)
15
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Name of default gettext domain])
rhp's avatar
...  
rhp committed
16 17 18

AM_MAINTAINER_MODE

19
AC_PROG_INTLTOOL([0.21])
rhp's avatar
...  
rhp committed
20 21 22
AC_PROG_CC
AC_ISC_POSIX
AC_HEADER_STDC
Masahiro Sakai's avatar
Masahiro Sakai committed
23
AC_LIBTOOL_WIN32_DLL
rhp's avatar
...  
rhp committed
24 25 26 27 28 29 30 31 32
AM_PROG_LIBTOOL

changequote(,)dnl
if test "x$GCC" = "xyes"; then
  case " $CFLAGS " in
  *[\ \	]-Wall[\ \	]*) ;;
  *) CFLAGS="$CFLAGS -Wall" ;;
  esac

33 34 35 36
#  case " $CFLAGS " in
#  *[\ \	]-Wshadow[\ \	]*) ;;
#  *) CFLAGS="$CFLAGS -Wshadow" ;;
#  esac
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72

  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

rhp's avatar
...  
rhp committed
73 74 75 76 77 78 79 80 81 82 83 84 85 86
  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

Havoc Pennington's avatar
Havoc Pennington committed
87
METACITY_PC_MODULES='gtk+-2.0 >= 2.2.0 pango >= 1.2.0'
88

89
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)
90 91 92 93 94

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
95

96
AC_ARG_ENABLE(gconf,              [  --disable-gconf             disable gconf usage, for embedded/size-sensitive non-GNOME builds],,enable_gconf=yes)
97 98 99 100 101 102

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

103
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)
104 105 106 107 108

if test x$enable_verbose_mode = xyes; then
    AC_DEFINE(WITH_VERBOSE_MODE,1,[Build with verbose mode support])
fi

109
AC_ARG_ENABLE(sm,       [  --disable-sm             disable metacity's session management support, for embedded/size-sensitive custom non-GNOME builds],,enable_sm=auto)
110

111
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)
112

113
AC_ARG_ENABLE(xsync,       [  --disable-xsync             disable metacity's use of the XSync extension],,enable_xsync=auto)
114

115 116
AC_ARG_ENABLE(shape,       [  --disable-shape             disable metacity's use of the shaped window extension],,enable_shape=auto)

117 118 119
## try definining HAVE_BACKTRACE
AC_CHECK_HEADERS(execinfo.h, [AC_CHECK_FUNCS(backtrace)])

120
ALL_LINGUAS="am az be bg ca cs cy da de el en_GB es fa fi fr ga gl he hu it ja ko lv mk ml mn ms nl no pl pt pt_BR ro ru sl sk sr sr@Latn sv tr uk vi zh_CN zh_TW"
121
AM_GLIB_GNU_GETTEXT
rhp's avatar
...  
rhp committed
122 123

## here we get the flags we'll actually use
Havoc Pennington's avatar
Havoc Pennington committed
124 125
PKG_CHECK_MODULES(METACITY_MESSAGE, gtk+-2.0 >= 2.2.0)
PKG_CHECK_MODULES(METACITY_WINDOW_DEMO, gtk+-2.0 >= 2.2.0)
126 127

if test x$enable_config_dialog = xyes; then
Havoc Pennington's avatar
Havoc Pennington committed
128 129 130 131 132 133 134
   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")
135
fi
rhp's avatar
...  
rhp committed
136

Havoc Pennington's avatar
Havoc Pennington committed
137
STARTUP_NOTIFICATION_VERSION=0.4
138
AC_MSG_CHECKING([Startup notification library >= $STARTUP_NOTIFICATION_VERSION])
139
if $PKG_CONFIG --atleast-version $STARTUP_NOTIFICATION_VERSION libstartup-notification-1.0; then
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
   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
156
  echo "Building with libstartup-notification"
157 158
  METACITY_PC_MODULES="$METACITY_PC_MODULES libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_VERSION"
  AC_DEFINE(HAVE_STARTUP_NOTIFICATION, , [Building with startup notification support])
159 160 161 162
else
  echo "Building without libstartup-notification"
fi

163 164
PKG_CHECK_MODULES(METACITY, $METACITY_PC_MODULES)

165 166
AC_PATH_XTRA

167 168 169 170
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"
171
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
172

173 174
use_solaris_xinerama=no
use_xfree_xinerama=no
175 176 177 178 179 180 181 182 183 184 185 186
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
187 188
                            AC_DEFINE(HAVE_SOLARIS_XINERAMA, , [Have Solaris-style Xinerama])
          	            AC_DEFINE(HAVE_XINERAMA, , [Have some version of Xinerama]),
189 190 191 192 193 194 195 196 197 198 199 200 201 202 203
                            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
204 205
        	             AC_DEFINE(HAVE_XFREE_XINERAMA, , [Have XFree86-style Xinerama])
      	                     AC_DEFINE(HAVE_XINERAMA,, [Have some version of Xinerama]), 
206 207 208 209 210 211 212 213 214
      	                     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

CPPFLAGS="$metacity_save_cppflags"
215

216
SHAPE_LIBS=
217
found_shape=no
218
AC_CHECK_LIB(Xext, XShapeQueryExtension,
219 220
               [AC_CHECK_HEADER(X11/extensions/shape.h,
                                SHAPE_LIBS=-lXext found_shape=yes)],
221
               , $ALL_X_LIBS)
222

223 224 225 226 227 228 229 230 231 232 233
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

234
if test "x$found_shape" = "xyes"; then
235
   AC_DEFINE(HAVE_SHAPE, , [Have the shape extension library])
236 237
fi

238 239 240 241 242 243 244 245 246 247 248
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


249
RANDR_LIBS=
250
found_randr=no
251
AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
252 253 254
               [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
                                RANDR_LIBS=-lXrandr found_randr=yes,,
				[#include <X11/Xlib.h>])],
255 256
               , -lXrender $ALL_X_LIBS)

257
if test "x$found_randr" = "xyes"; then
258
   AC_DEFINE(HAVE_RANDR, , [Have the Xrandr extension library])
259
fi
260

261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285
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"
286 287
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"
288
METACITY_PROPS_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $METACITY_PROPS_LIBS"
289

290
found_sm=no
rhp's avatar
...  
rhp committed
291 292
case "$METACITY_LIBS" in
 *-lSM*)
293
    found_sm=yes
rhp's avatar
...  
rhp committed
294 295 296
    ;;
 *)
  AC_CHECK_LIB(SM, SmcSaveYourselfDone, 
297
               [AC_CHECK_HEADERS(X11/SM/SMlib.h,
298
                                METACITY_LIBS="-lSM -lICE $METACITY_LIBS" found_sm=no)],
rhp's avatar
...  
rhp committed
299 300 301 302
               , $METACITY_LIBS)
    ;;
esac

303 304 305 306 307 308 309 310 311 312 313
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

314
if test "$found_sm" = "yes"; then
315
   AC_DEFINE(HAVE_SM, , [Building with SM support])
rhp's avatar
...  
rhp committed
316 317
fi

318
AM_CONDITIONAL(HAVE_SM, test "$found_sm" = "yes") 
319

rhp's avatar
...  
rhp committed
320 321 322
HOST_ALIAS=$host_alias
AC_SUBST(HOST_ALIAS)

323 324 325 326 327 328 329 330
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)

331 332 333 334 335 336
## 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

337 338 339 340 341
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
342

343
   AM_GCONF_SOURCE_2
344 345
fi

rhp's avatar
...  
rhp committed
346 347
AC_OUTPUT([
Makefile
348
doc/Makefile
rhp's avatar
...  
rhp committed
349
src/Makefile
350
src/wm-tester/Makefile
351
src/libmetacity-private.pc
352
src/tools/Makefile
353
src/themes/Makefile
354
po/Makefile.in
355
metacity.spec
rhp's avatar
...  
rhp committed
356
])
357

358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375
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

376 377 378 379
dnl ==========================================================================
echo "
metacity-$VERSION:

380 381 382 383
	prefix:                   ${prefix}
	source code location:	  ${srcdir}
	compiler:		  ${CC}

384
	GConf:                    ${enable_gconf}
385 386
	XFree86 Xinerama:         ${use_xfree_xinerama}
	Solaris Xinerama:         ${use_solaris_xinerama}
387
	Startup notification:     ${have_startup_notification}
388 389 390
	Session management:       ${found_sm}
	Shape extension:          ${found_shape}
	Resize-and-rotate:        ${found_randr}
391
	Xsync:                    ${found_xsync}
392
        Deprecated config dialog: ${enable_config_dialog}
393
"
394
echo "This is the UNSTABLE branch of metacity, use 2.4.x for stable (gnome-2-2 branch in CVS)"